@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
@@ -2,7 +2,7 @@
2
2
  * SAP UI development toolkit for HTML5 (SAPUI5)
3
3
  * (c) Copyright 2009-2025 SAP SE. All rights reserved
4
4
  */
5
- sap.ui.define(["sap/base/Log", "sap/fe/core/CommonUtils", "sap/fe/core/converters/MetaModelConverter", "sap/ui/core/Component", "sap/ui/core/Element", "sap/ui/mdc/field/FieldBaseDelegate", "sap/ui/mdc/odata/v4/TypeMap", "sap/ui/mdc/p13n/StateUtil", "sap/ui/model/Filter", "../CommonHelper"], function (Log, CommonUtils, MetaModelConverter, Component, Element, FieldBaseDelegate, TypeMap, StateUtil, Filter, CommonHelper) {
5
+ sap.ui.define(["sap/base/Log", "sap/fe/core/CommonUtils", "sap/fe/core/converters/MetaModelConverter", "sap/ui/core/Component", "sap/ui/core/Element", "sap/ui/mdc/field/FieldBaseDelegate", "sap/ui/mdc/odata/v4/TypeMap", "sap/ui/mdc/p13n/StateUtil", "sap/ui/model/Filter", "../CommonHelper", "../valuehelp/ValueHelpDelegate"], function (Log, CommonUtils, MetaModelConverter, Component, Element, FieldBaseDelegate, TypeMap, StateUtil, Filter, CommonHelper, ValueHelpDelegate) {
6
6
  "use strict";
7
7
 
8
8
  var getInvolvedDataModelObjects = MetaModelConverter.getInvolvedDataModelObjects;
@@ -198,17 +198,23 @@ sap.ui.define(["sap/base/Log", "sap/fe/core/CommonUtils", "sap/fe/core/converter
198
198
  * @param config Configuration Object
199
199
  * @returns Object containing description, key, and payload. If it is not available right now (must be requested), a <code>Promise</code> is returned
200
200
  */
201
- getItemForValue: function (field, valueHelp, config) {
201
+ getItemForValue: async function (field, valueHelp, config) {
202
202
  //BCP: 2270162887 . The MDC field should not try to get the item when the field is emptied
203
203
  // JIRA: FIORITECHP1-25361 - Improve the type-ahead behavior for missinng text annotation or constraints violations of the existing text annotation
204
204
  if (config.value === "") {
205
205
  return;
206
206
  }
207
207
  if (config.checkDescription) {
208
- const valuehelpPayload = valueHelp.getPayload();
209
- const descriptionPath = valuehelpPayload.valueHelpDescriptionPath;
210
- const maxLength = valuehelpPayload?.maxLength;
211
- const valueLength = config.value !== null && config.value !== undefined ? config.value.toString().length : 0;
208
+ const container = valueHelp.getTypeahead();
209
+ const payload = valueHelp.getPayload();
210
+ const selectedContent = container.getSelectedContent();
211
+ const contentId = selectedContent && selectedContent.getId();
212
+ // In cases where getItemForValue is called before showValueList, the description may not be available.
213
+ // Therefore, this retrieveContent method is used to update the description.
214
+ await ValueHelpDelegate.retrieveContent(valueHelp, container, contentId);
215
+ const maxLength = payload.maxLength;
216
+ const valueLength = config.value?.toString().length || 0;
217
+ const descriptionPath = payload.valueHelpDescriptionPath;
212
218
  if (descriptionPath === "") {
213
219
  // In case the property value help collection has no text annotation (descriptionPath is empty) the description check shouldn´t occur.
214
220
  // In such a case the method getDescription will be called by MDC and within this method a SideEffect is requested to retrieve the text from the text property of the main entity
@@ -356,4 +362,4 @@ sap.ui.define(["sap/base/Log", "sap/fe/core/CommonUtils", "sap/fe/core/converter
356
362
  }
357
363
  });
358
364
  }, false);
359
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJPYmplY3QiLCJhc3NpZ24iLCJGaWVsZEJhc2VEZWxlZ2F0ZSIsImFwaVZlcnNpb24iLCJpbml0aWFsaXplVHlwZUZyb21CaW5kaW5nIiwiZmllbGQiLCJ0eXBlIiwidmFsdWUiLCJyZXN1bHQiLCJpc0EiLCJBcnJheSIsImlzQXJyYXkiLCJsZW5ndGgiLCJ1bmRlZmluZWQiLCJmb3JtYXRWYWx1ZSIsImJUeXBlSW5pdGlhbGl6ZWQiLCJtQ3VzdG9tVW5pdHMiLCJpbml0aWFsaXplSW50ZXJuYWxVbml0VHlwZSIsInR5cGVJbml0aWFsaXphdGlvbiIsImVuaGFuY2VWYWx1ZUZvclVuaXQiLCJ2YWx1ZXMiLCJwdXNoIiwiZ2V0RGVmYXVsdFZhbHVlSGVscERlbGVnYXRlIiwiX2ZpZWxkIiwibmFtZSIsInBheWxvYWQiLCJnZXRUeXBlTWFwIiwiVHlwZU1hcCIsIl9nZXRWYWx1ZUxpc3RQYXJhbWV0ZXIiLCJ2YWx1ZUxpc3RJbmZvIiwicHJvcGVydHlOYW1lIiwiUGFyYW1ldGVycyIsImZpbHRlciIsImVudHJ5IiwiTG9jYWxEYXRhUHJvcGVydHkiLCIkUHJvcGVydHlQYXRoIiwiX2dldEZpbHRlciIsInZhbHVlTGlzdCIsInZhbHVlSGVscFByb3BlcnR5Iiwia2V5VmFsdWUiLCJ2YWx1ZWhlbHBQYXlsb2FkIiwidmFsdWVoZWxwQ29uZGl0aW9uUGF5bG9hZCIsImJpbmRpbmdDb250ZXh0IiwiZmlsdGVyQmFyQ29uZGl0aW9ucyIsImZpbHRlcnMiLCJwYXJhbWV0ZXJzIiwicGFyYW1ldGVyIiwiJFR5cGUiLCJWYWx1ZUxpc3RQcm9wZXJ0eSIsImZpbHRlclZhbHVlIiwiaXNBY3Rpb25QYXJhbWV0ZXJEaWFsb2ciLCJhcGRGaWVsZFBhdGgiLCJhcGRGaWVsZCIsIkVsZW1lbnQiLCJnZXRFbGVtZW50QnlJZCIsImdldFZhbHVlIiwic291cmNlUGF0aCIsImNvbmRpdGlvblBheWxvYWQiLCJnZXRPYmplY3QiLCJjb25kaXRpb24iLCJvcGVyYXRvciIsIkZpbHRlciIsInBhdGgiLCJ2YWx1ZTEiLCJjb25jYXQiLCJfZ2V0UmVtYWluaW5nS2V5VmFsdWVGaWx0ZXJzIiwiJG1vZGVsIiwidmFsdWVMaXN0TW9kZWwiLCJDb2xsZWN0aW9uUGF0aCIsImNvbGxlY3Rpb25QYXRoIiwibWV0YUNvbnRleHQiLCJnZXRNZXRhTW9kZWwiLCJnZXRNZXRhQ29udGV4dCIsImVudGl0eVR5cGUiLCJnZXRJbnZvbHZlZERhdGFNb2RlbE9iamVjdHMiLCJ0YXJnZXRFbnRpdHlUeXBlIiwiYWxsTG9jYWxEYXRhUHJvcGVydGllcyIsInJlZHVjZSIsImFyciIsImFsbFJlbWFpbmluZ0tleXMiLCJrZXlzIiwiX3JlZiIsImtleU5hbWUiLCJpbmNsdWRlcyIsImhhc093blByb3BlcnR5Iiwia2V5Iiwia2V5Q29udGV4dCIsIkNvbW1vbkhlbHBlciIsImlzUHJvcGVydHlGaWx0ZXJhYmxlIiwiZ2V0SXRlbUZvclZhbHVlIiwidmFsdWVIZWxwIiwiY29uZmlnIiwiY2hlY2tEZXNjcmlwdGlvbiIsImdldFBheWxvYWQiLCJkZXNjcmlwdGlvblBhdGgiLCJ2YWx1ZUhlbHBEZXNjcmlwdGlvblBhdGgiLCJtYXhMZW5ndGgiLCJ2YWx1ZUxlbmd0aCIsInRvU3RyaW5nIiwiX2dldEZpbHRlckJhciIsImZpbHRlckJhckFQSSIsImdldFBhcmVudCIsImdldENvbnRlbnQiLCJnZXREZXNjcmlwdGlvbiIsIl9jb25kaXRpb25JbiIsIl9jb25kaXRpb25PdXQiLCJfQ29uZGl0aW9uTW9kZWwiLCJfY29uZGl0aW9uTW9kZWxOYW1lIiwiY29udHJvbCIsIl90eXBlIiwiZW1wdHlBbGxvd2VkIiwiZ2V0RGlzcGxheSIsInJldHJpZXZlVGV4dEZyb21WYWx1ZUxpc3QiLCJpc0ZpbHRlckZpZWxkIiwiZGF0YU1vZGVsIiwiZ2V0TW9kZWwiLCJvd25lciIsIkNvbXBvbmVudCIsImdldE93bmVyQ29tcG9uZW50Rm9yIiwibWV0YU1vZGVsIiwiQ29tbW9uVXRpbHMiLCJnZXRBcHBDb21wb25lbnQiLCJ2YWx1ZUhlbHBRdWFsaWZpZXIiLCJwcm9wZXJ0eVBhdGgiLCJwcm9wZXJ0eURlc2NyaXB0aW9uUGF0aCIsInRleHRQcm9wZXJ0eSIsInJlcXVlc3RWYWx1ZUxpc3RJbmZvIiwiZmlsdGVyQmFyIiwiZmlsdGVyQ29uZGl0aW9ucyIsImZpbHRlclN0YXRlIiwiU3RhdGVVdGlsIiwicmV0cmlldmVFeHRlcm5hbFN0YXRlIiwidmFsdWVIZWxwUGFyYW1ldGVycyIsIkVycm9yIiwidGV4dEFubm90YXRpb24iLCIkUGF0aCIsImxpc3RCaW5kaW5nIiwiYmluZExpc3QiLCIkc2VsZWN0IiwiY29udGV4dHMiLCJyZXF1ZXN0Q29udGV4dHMiLCJsYXN0SW5kZXgiLCJsYXN0SW5kZXhPZiIsInNpZGVFZmZlY3RQYXRoIiwic3Vic3RyaW5nIiwic2lkZUVmZmVjdHNTZXJ2aWNlIiwiZ2V0U2lkZUVmZmVjdHNTZXJ2aWNlIiwicmVxdWVzdFNpZGVFZmZlY3RzIiwiTG9nIiwid2FybmluZyIsImV4dGVybmFsSWRQYXRoIiwiZXh0ZXJuYWxJZEZ1bGxQYXRoIiwicmVwbGFjZSIsImV4dGVybmFsSWROYW1lIiwiZXh0ZXJuYWxJZERlc2NyaXB0aW9uUGF0aCIsImVycm9yIiwic3RhdHVzIiwibWVzc2FnZSIsIlN0cmluZyIsIm1zZyJdLCJzb3VyY2VSb290IjoiLiIsInNvdXJjZXMiOlsiRmllbGRCYXNlRGVsZWdhdGUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uQW5ub3RhdGlvblR5cGVzIH0gZnJvbSBcIkBzYXAtdXgvdm9jYWJ1bGFyaWVzLXR5cGVzL3ZvY2FidWxhcmllcy9Db21tb25cIjtcbmltcG9ydCBMb2cgZnJvbSBcInNhcC9iYXNlL0xvZ1wiO1xuaW1wb3J0IENvbW1vblV0aWxzIGZyb20gXCJzYXAvZmUvY29yZS9Db21tb25VdGlsc1wiO1xuaW1wb3J0IHsgZ2V0SW52b2x2ZWREYXRhTW9kZWxPYmplY3RzIH0gZnJvbSBcInNhcC9mZS9jb3JlL2NvbnZlcnRlcnMvTWV0YU1vZGVsQ29udmVydGVyXCI7XG5pbXBvcnQgdHlwZSB7IEFubm90YXRpb25WYWx1ZUxpc3RUeXBlLCBWYWx1ZUhlbHBQYXlsb2FkIH0gZnJvbSBcInNhcC9mZS9tYWNyb3MvaW50ZXJuYWwvdmFsdWVoZWxwL1ZhbHVlTGlzdEhlbHBlclwiO1xuaW1wb3J0IENvbXBvbmVudCBmcm9tIFwic2FwL3VpL2NvcmUvQ29tcG9uZW50XCI7XG5pbXBvcnQgdHlwZSBDb250cm9sIGZyb20gXCJzYXAvdWkvY29yZS9Db250cm9sXCI7XG5pbXBvcnQgRWxlbWVudCBmcm9tIFwic2FwL3VpL2NvcmUvRWxlbWVudFwiO1xuaW1wb3J0IHR5cGUgRmllbGQgZnJvbSBcInNhcC91aS9tZGMvRmllbGRcIjtcbmltcG9ydCB0eXBlIFZhbHVlSGVscCBmcm9tIFwic2FwL3VpL21kYy9WYWx1ZUhlbHBcIjtcbmltcG9ydCB0eXBlIHsgSXRlbUZvclZhbHVlQ29uZmlndXJhdGlvbiB9IGZyb20gXCJzYXAvdWkvbWRjL1ZhbHVlSGVscFwiO1xuaW1wb3J0IHsgdHlwZSBDb25kaXRpb25PYmplY3QgfSBmcm9tIFwic2FwL3VpL21kYy9jb25kaXRpb24vQ29uZGl0aW9uXCI7XG5pbXBvcnQgdHlwZSBDb25kaXRpb25Nb2RlbCBmcm9tIFwic2FwL3VpL21kYy9jb25kaXRpb24vQ29uZGl0aW9uTW9kZWxcIjtcbmltcG9ydCB0eXBlIEZpZWxkQmFzZSBmcm9tIFwic2FwL3VpL21kYy9maWVsZC9GaWVsZEJhc2VcIjtcbmltcG9ydCBGaWVsZEJhc2VEZWxlZ2F0ZSBmcm9tIFwic2FwL3VpL21kYy9maWVsZC9GaWVsZEJhc2VEZWxlZ2F0ZVwiO1xuaW1wb3J0IFR5cGVNYXAgZnJvbSBcInNhcC91aS9tZGMvb2RhdGEvdjQvVHlwZU1hcFwiO1xuaW1wb3J0IFN0YXRlVXRpbCBmcm9tIFwic2FwL3VpL21kYy9wMTNuL1N0YXRlVXRpbFwiO1xuaW1wb3J0IEZpbHRlciBmcm9tIFwic2FwL3VpL21vZGVsL0ZpbHRlclwiO1xuaW1wb3J0IHR5cGUgU2ltcGxlVHlwZSBmcm9tIFwic2FwL3VpL21vZGVsL1NpbXBsZVR5cGVcIjtcbmltcG9ydCB0eXBlIENvbnRleHQgZnJvbSBcInNhcC91aS9tb2RlbC9vZGF0YS92NC9Db250ZXh0XCI7XG5pbXBvcnQgdHlwZSBPRGF0YU1vZGVsIGZyb20gXCJzYXAvdWkvbW9kZWwvb2RhdGEvdjQvT0RhdGFNb2RlbFwiO1xuaW1wb3J0IENvbW1vbkhlbHBlciBmcm9tIFwiLi4vQ29tbW9uSGVscGVyXCI7XG5pbXBvcnQgdHlwZSBGaWx0ZXJCYXIgZnJvbSBcIi4uL2NvbnRyb2xzL0ZpbHRlckJhclwiO1xuaW1wb3J0IHR5cGUgRmlsdGVyQmFyQVBJIGZyb20gXCIuLi9maWx0ZXJCYXIvRmlsdGVyQmFyQVBJXCI7XG5pbXBvcnQgdHlwZSB7IENvbmRpdGlvblBheWxvYWRNYXAsIENvbmRpdGlvblBheWxvYWRUeXBlLCBFeHRlcm5hbFN0YXRlVHlwZSB9IGZyb20gXCIuLi92YWx1ZWhlbHAvVmFsdWVIZWxwRGVsZWdhdGVcIjtcblxuZXhwb3J0IHR5cGUgRmllbGRQYXlsb2FkID0ge1xuXHRyZXRyaWV2ZVRleHRGcm9tVmFsdWVMaXN0PzogYm9vbGVhbjtcblx0aXNGaWx0ZXJGaWVsZD86IGJvb2xlYW47XG59O1xuXG5leHBvcnQgdHlwZSBWYWx1ZSA9IHN0cmluZyB8IERhdGUgfCBudW1iZXIgfCBib29sZWFuIHwgdW5kZWZpbmVkIHwgbnVsbDtcblxuZXhwb3J0IHR5cGUgVHlwZUluaXRpYWxpemF0aW9uID0ge1xuXHRiVHlwZUluaXRpYWxpemVkPzogYm9vbGVhbjtcblx0bUN1c3RvbVVuaXRzPzogc3RyaW5nO1xufTtcblxuZXhwb3J0IHR5cGUgQ29uZmlnID0ge1xuXHR2YWx1ZTogVmFsdWU7XG5cdHBhcnNlZFZhbHVlOiBWYWx1ZTtcblx0YmluZGluZ0NvbnRleHQ6IENvbnRleHQ7XG5cdGNoZWNrS2V5OiBib29sZWFuO1xuXHRjaGVja0Rlc2NyaXB0aW9uOiBib29sZWFuO1xuXHRjb25kaXRpb25Nb2RlbD86IENvbmRpdGlvbk1vZGVsO1xuXHRjb25kaXRpb25Nb2RlbE5hbWU/OiBzdHJpbmc7XG5cdGNvbnRyb2w/OiBvYmplY3Q7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBPYmplY3QuYXNzaWduKHt9LCBGaWVsZEJhc2VEZWxlZ2F0ZSwge1xuXHRhcGlWZXJzaW9uOiAyLFxuXG5cdC8qKlxuXHQgKiBJZiB0aGUgPGNvZGU+RmllbGQ8L2NvZGU+IGNvbnRyb2wgaXMgdXNlZCwgdGhlIHVzZWQgZGF0YSB0eXBlIG1pZ2h0IGNvbWUgZnJvbSB0aGUgYmluZGluZy5cblx0ICogSW4gVjQtdW5pdCBvciBjdXJyZW5jeSBjYXNlIGl0IG1pZ2h0IG5lZWQgdG8gYmUgZm9ybWF0dGVkIG9uY2UuXG5cdCAqIFRvIGluaXRpYWxpemUgdGhlIGludGVybmFsIHR5cGUgbGF0ZXIgb24sIHRoZSBjdXJyZW5jaWVzIG11c3QgYmUgcmV0dXJuZWQuXG5cdCAqIEBwYXJhbSBmaWVsZCBUaGUgPGNvZGU+RmllbGQ8L2NvZGU+IGluc3RhbmNlXG5cdCAqIEBwYXJhbSB0eXBlIFR5cGUgZnJvbSBiaW5kaW5nXG5cdCAqIEBwYXJhbSB2YWx1ZSBHaXZlbiB2YWx1ZVxuXHQgKiBAcmV0dXJucyBJbmZvcm1hdGlvbiBuZWVkZWQgdG8gaW5pdGlhbGl6ZSBpbnRlcm5hbCB0eXBlIChuZWVkcyB0byBzZXQgYlR5cGVJbml0aWFsaXplZCB0byB0cnVlIGlmIGluaXRpYWxpemVkKVxuXHQgKi9cblx0aW5pdGlhbGl6ZVR5cGVGcm9tQmluZGluZzogZnVuY3Rpb24gKGZpZWxkOiBGaWVsZCwgdHlwZTogU2ltcGxlVHlwZSB8IHVuZGVmaW5lZCwgdmFsdWU6IFZhbHVlIHwgVmFsdWVbXSkge1xuXHRcdC8vIFY0IFVuaXQgYW5kIEN1cnJlbmN5IHR5cGVzIGhhdmUgYSBtYXAgd2l0aCB2YWxpZCB1bml0cyBhbmQgY3JlYXRlIGFuIGludGVybmFsIGN1c3RvbWl6aW5nIGZvciBpdC5cblx0XHQvLyBUaGUgRmllbGQgbmVlZHMgdG8ga2VlcCB0aGlzIGN1c3RvbWl6aW5nIGxvZ2ljIHdoZW4gY3JlYXRpbmcgdGhlIGludGVybmFsIHR5cGUuXG5cdFx0Ly8gKEFzIGV4dGVybmFsIFJBVyBiaW5kaW5nIGlzIHVzZWQgdGhlcmUgaXMgbm8gZm9ybWF0dGluZyBvbiBwYXJzaW5nLilcblxuXHRcdGNvbnN0IHJlc3VsdDogVHlwZUluaXRpYWxpemF0aW9uID0ge307XG5cdFx0aWYgKFxuXHRcdFx0dHlwZSAmJlxuXHRcdFx0dHlwZS5pc0EoW1wic2FwLnVpLm1vZGVsLm9kYXRhLnR5cGUuVW5pdFwiLCBcInNhcC51aS5tb2RlbC5vZGF0YS50eXBlLkN1cnJlbmN5XCJdKSAmJlxuXHRcdFx0QXJyYXkuaXNBcnJheSh2YWx1ZSkgJiZcblx0XHRcdHZhbHVlLmxlbmd0aCA+IDIgJiZcblx0XHRcdHZhbHVlWzJdICE9PSB1bmRlZmluZWRcblx0XHQpIHtcblx0XHRcdC8vIGZvcm1hdCBvbmNlIHRvIHNldCBpbnRlcm5hbCBjdXN0b21pemluZy4gQWxsb3cgbnVsbCBhcyB2YWxpZCB2YWx1ZXMgZm9yIGN1c3RvbSB1bml0c1xuXHRcdFx0dHlwZS5mb3JtYXRWYWx1ZSh2YWx1ZSwgXCJzdHJpbmdcIik7XG5cdFx0XHRyZXN1bHQuYlR5cGVJbml0aWFsaXplZCA9IHRydWU7XG5cdFx0XHRyZXN1bHQubUN1c3RvbVVuaXRzID0gdmFsdWVbMl0gYXMgc3RyaW5nOyAvLyBUT0RPOiBmaW5kIGEgYmV0dGVyIHdheSB0byBwcm92aWRlIGN1c3RvbSB1bml0cyB0byBpbnRlcm5hbCB0eXBlXG5cdFx0fVxuXG5cdFx0cmV0dXJuIHJlc3VsdDtcblx0fSxcblxuXHQvKipcblx0ICogVGhpcyBmdW5jdGlvbiBpbml0aWFsaXplcyB0aGUgdW5pdCB0eXBlLlxuXHQgKiBJZiB0aGUgPGNvZGU+RmllbGQ8L2NvZGU+IGNvbnRyb2wgaXMgdXNlZCwgdGhlIHVzZWQgZGF0YSB0eXBlIG1pZ2h0IGNvbWUgZnJvbSB0aGUgYmluZGluZy5cblx0ICogSWYgdGhlIHR5cGUgaXMgYSBWNCB1bml0IG9yIGN1cnJlbmN5LCBpdCBtaWdodCBuZWVkIHRvIGJlIGZvcm1hdHRlZCBvbmNlLlxuXHQgKiBAcGFyYW0gZmllbGQgVGhlIDxjb2RlPkZpZWxkPC9jb2RlPiBpbnN0YW5jZVxuXHQgKiBAcGFyYW0gdHlwZSBUeXBlIGZyb20gYmluZGluZ1xuXHQgKiBAcGFyYW0gdHlwZUluaXRpYWxpemF0aW9uIEluZm9ybWF0aW9uIG5lZWRlZCB0byBpbml0aWFsaXplIGludGVybmFsIHR5cGVcblx0ICovXG5cdGluaXRpYWxpemVJbnRlcm5hbFVuaXRUeXBlOiBmdW5jdGlvbiAoZmllbGQ6IEZpZWxkLCB0eXBlOiBTaW1wbGVUeXBlLCB0eXBlSW5pdGlhbGl6YXRpb24/OiBUeXBlSW5pdGlhbGl6YXRpb24pIHtcblx0XHRpZiAodHlwZUluaXRpYWxpemF0aW9uPy5tQ3VzdG9tVW5pdHMgIT09IHVuZGVmaW5lZCkge1xuXHRcdFx0Ly8gaWYgYWxyZWFkeSBpbml0aWFsaXplZCBpbml0aWFsaXplIG5ldyB0eXBlIHRvby5cblx0XHRcdHR5cGUuZm9ybWF0VmFsdWUoW251bGwsIG51bGwsIHR5cGVJbml0aWFsaXphdGlvbi5tQ3VzdG9tVW5pdHNdLCBcInN0cmluZ1wiKTtcblx0XHR9XG5cdH0sXG5cblx0LyoqXG5cdCAqIFRoaXMgZnVuY3Rpb24gZW5oYW5jZXMgdGhlIHZhbHVlIHdpdGggdW5pdCBvciBjdXJyZW5jeSBpbmZvcm1hdGlvbiBpZiBuZWVkZWQgYnkgdGhlIGRhdGEgdHlwZS5cblx0ICogQHBhcmFtIGZpZWxkIFRoZSA8Y29kZT5GaWVsZDwvY29kZT4gaW5zdGFuY2Vcblx0ICogQHBhcmFtICB2YWx1ZXMgVmFsdWVzXG5cdCAqIEBwYXJhbSAgdHlwZUluaXRpYWxpemF0aW9uIEluZm9ybWF0aW9uIG5lZWRlZCB0byBpbml0aWFsaXplIGludGVybmFsIHR5cGVcblx0ICogQHJldHVybnMgVmFsdWVzXG5cdCAqL1xuXHRlbmhhbmNlVmFsdWVGb3JVbml0OiBmdW5jdGlvbiAoZmllbGQ6IEZpZWxkLCB2YWx1ZXM6IFZhbHVlW10sIHR5cGVJbml0aWFsaXphdGlvbj86IFR5cGVJbml0aWFsaXphdGlvbikge1xuXHRcdGlmICh0eXBlSW5pdGlhbGl6YXRpb24/LmJUeXBlSW5pdGlhbGl6ZWQgPT09IHRydWUgJiYgdmFsdWVzLmxlbmd0aCA9PT0gMikge1xuXHRcdFx0dmFsdWVzLnB1c2godHlwZUluaXRpYWxpemF0aW9uLm1DdXN0b21Vbml0cyk7XG5cdFx0XHRyZXR1cm4gdmFsdWVzO1xuXHRcdH1cblxuXHRcdHJldHVybiB1bmRlZmluZWQ7XG5cdH0sXG5cblx0LyoqXG5cdCAqIFRoaXMgZnVuY3Rpb24gcmV0dXJucyB3aGljaCA8Y29kZT5WYWx1ZUhlbHBEZWxlZ2F0ZTwvY29kZT4gaXMgdXNlZFxuXHQgKiBpZiBhIGRlZmF1bHQgZmllbGQgaGVscCAoZm9yIGV4YW1wbGUsIGZvciBkZWZpbmluZyBjb25kaXRpb25zIGluIDwvY29kZT5GaWx0ZXJGaWVsZDwvY29kZT4pXG5cdCAqIGlzIGNyZWF0ZWQuXG5cdCAqIEBwYXJhbSBfZmllbGQgVGhlIDxjb2RlPkZpZWxkPC9jb2RlPiBpbnN0YW5jZVxuXHQgKiBAcmV0dXJucyBEZWxlZ2F0ZSBvYmplY3Qgd2l0aCBuYW1lIGFuZCBwYXlsb2FkXG5cdCAqL1xuXHRnZXREZWZhdWx0VmFsdWVIZWxwRGVsZWdhdGU6IGZ1bmN0aW9uIChfZmllbGQ6IEZpZWxkKSB7XG5cdFx0cmV0dXJuIHsgbmFtZTogXCJzYXAvdWkvbWRjL29kYXRhL3Y0L1ZhbHVlSGVscERlbGVnYXRlXCIsIHBheWxvYWQ6IHt9IH07XG5cdH0sXG5cblx0Z2V0VHlwZU1hcDogZnVuY3Rpb24gKF9maWVsZDogRmllbGQpIHtcblx0XHRyZXR1cm4gVHlwZU1hcDtcblx0fSxcblxuXHQvKipcblx0ICogRGV0ZXJtaW5lIGFsbCBwYXJhbWV0ZXJzIGluIGEgdmFsdWUgaGVscCB0aGF0IHVzZSBhIHNwZWNpZmljIHByb3BlcnR5LlxuXHQgKiBAcGFyYW0gdmFsdWVMaXN0SW5mbyBWYWx1ZSBsaXN0IGluZm9cblx0ICogQHBhcmFtIHByb3BlcnR5TmFtZSBOYW1lIG9mIHRoZSBwcm9wZXJ0eVxuXHQgKiBAcmV0dXJucyBMaXN0IG9mIGFsbCBmb3VuZCBwYXJhbWV0ZXJzXG5cdCAqL1xuXHRfZ2V0VmFsdWVMaXN0UGFyYW1ldGVyOiBmdW5jdGlvbiAodmFsdWVMaXN0SW5mbzogQW5ub3RhdGlvblZhbHVlTGlzdFR5cGUsIHByb3BlcnR5TmFtZTogc3RyaW5nKSB7XG5cdFx0Ly9kZXRlcm1pbmUgcGF0aCB0byB2YWx1ZSBsaXN0IHByb3BlcnR5XG5cdFx0cmV0dXJuIHZhbHVlTGlzdEluZm8uUGFyYW1ldGVycy5maWx0ZXIoZnVuY3Rpb24gKGVudHJ5KSB7XG5cdFx0XHRpZiAoZW50cnkuTG9jYWxEYXRhUHJvcGVydHkpIHtcblx0XHRcdFx0cmV0dXJuIGVudHJ5LkxvY2FsRGF0YVByb3BlcnR5LiRQcm9wZXJ0eVBhdGggPT09IHByb3BlcnR5TmFtZTtcblx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdHJldHVybiBmYWxzZTtcblx0XHRcdH1cblx0XHR9KTtcblx0fSxcblx0LyoqXG5cdCAqIEJ1aWxkIGZpbHRlcnMgZm9yIGVhY2ggcmVsZXZhbnQgcGFyYW1ldGVyLlxuXHQgKiBAcGFyYW0gdmFsdWVMaXN0IFZhbHVlIGxpc3QgaW5mb1xuXHQgKiBAcGFyYW0gcHJvcGVydHlOYW1lIE5hbWUgb2YgdGhlIHByb3BlcnR5XG5cdCAqIEBwYXJhbSB2YWx1ZUhlbHBQcm9wZXJ0eSBOYW1lIG9mIHRoZSB2YWx1ZSBoZWxwIHByb3BlcnR5XG5cdCAqIEBwYXJhbSBrZXlWYWx1ZSBWYWx1ZSBvZiB0aGUgcHJvcGVydHlcblx0ICogQHBhcmFtIHZhbHVlaGVscFBheWxvYWQgUGF5bG9hZCBvZiB0aGUgdmFsdWUgaGVscFxuXHQgKiBAcGFyYW0gdmFsdWVoZWxwQ29uZGl0aW9uUGF5bG9hZCBBZGRpdGlvbmFsIGNvbmRpdGlvbiBpbmZvcm1hdGlvbiBmb3IgdGhpcyBrZXlcblx0ICogQHBhcmFtIGJpbmRpbmdDb250ZXh0IEJpbmRpbmdDb250ZXh0IG9mIHRoZSBmaWVsZFxuXHQgKiBAcmV0dXJucyBMaXN0IG9mIGZpbHRlcnNcblx0ICovXG5cdF9nZXRGaWx0ZXI6IGZ1bmN0aW9uIChcblx0XHR2YWx1ZUxpc3Q6IEFubm90YXRpb25WYWx1ZUxpc3RUeXBlLFxuXHRcdHByb3BlcnR5TmFtZTogc3RyaW5nLFxuXHRcdHZhbHVlSGVscFByb3BlcnR5OiBzdHJpbmcsXG5cdFx0a2V5VmFsdWU6IHN0cmluZyxcblx0XHR2YWx1ZWhlbHBQYXlsb2FkOiBWYWx1ZUhlbHBQYXlsb2FkLFxuXHRcdHZhbHVlaGVscENvbmRpdGlvblBheWxvYWQ6IENvbmRpdGlvblBheWxvYWRUeXBlW10gfCB1bmRlZmluZWQsXG5cdFx0YmluZGluZ0NvbnRleHQ/OiBDb250ZXh0LFxuXHRcdGZpbHRlckJhckNvbmRpdGlvbnM/OiBSZWNvcmQ8c3RyaW5nLCBDb25kaXRpb25PYmplY3RbXT5cblx0KSB7XG5cdFx0bGV0IGZpbHRlcnM6IEZpbHRlcltdID0gW107XG5cdFx0Y29uc3QgcGFyYW1ldGVycyA9IHZhbHVlTGlzdC5QYXJhbWV0ZXJzLmZpbHRlcihmdW5jdGlvbiAocGFyYW1ldGVyKSB7XG5cdFx0XHRyZXR1cm4gKFxuXHRcdFx0XHRwYXJhbWV0ZXIuJFR5cGUgPT09IENvbW1vbkFubm90YXRpb25UeXBlcy5WYWx1ZUxpc3RQYXJhbWV0ZXJJbiB8fFxuXHRcdFx0XHRwYXJhbWV0ZXIuJFR5cGUgPT09IENvbW1vbkFubm90YXRpb25UeXBlcy5WYWx1ZUxpc3RQYXJhbWV0ZXJJbk91dCB8fFxuXHRcdFx0XHQocGFyYW1ldGVyLkxvY2FsRGF0YVByb3BlcnR5Py4kUHJvcGVydHlQYXRoID09PSBwcm9wZXJ0eU5hbWUgJiYgcGFyYW1ldGVyLlZhbHVlTGlzdFByb3BlcnR5ID09PSB2YWx1ZUhlbHBQcm9wZXJ0eSlcblx0XHRcdCk7XG5cdFx0fSk7XG5cdFx0Zm9yIChjb25zdCBwYXJhbWV0ZXIgb2YgcGFyYW1ldGVycykge1xuXHRcdFx0bGV0IGZpbHRlclZhbHVlO1xuXHRcdFx0aWYgKHBhcmFtZXRlci5Mb2NhbERhdGFQcm9wZXJ0eT8uJFByb3BlcnR5UGF0aCA9PT0gcHJvcGVydHlOYW1lKSB7XG5cdFx0XHRcdGZpbHRlclZhbHVlID0ga2V5VmFsdWU7XG5cdFx0XHR9IGVsc2UgaWYgKHZhbHVlaGVscFBheWxvYWQ/LmlzQWN0aW9uUGFyYW1ldGVyRGlhbG9nID09PSB0cnVlKSB7XG5cdFx0XHRcdGNvbnN0IGFwZEZpZWxkUGF0aCA9IGBBUERfOjoke3BhcmFtZXRlci5Mb2NhbERhdGFQcm9wZXJ0eT8uJFByb3BlcnR5UGF0aH1gO1xuXHRcdFx0XHRjb25zdCBhcGRGaWVsZCA9IEVsZW1lbnQuZ2V0RWxlbWVudEJ5SWQoYXBkRmllbGRQYXRoKSBhcyBGaWVsZDtcblx0XHRcdFx0ZmlsdGVyVmFsdWUgPSBhcGRGaWVsZD8uZ2V0VmFsdWUoKTtcblx0XHRcdH0gZWxzZSBpZiAodmFsdWVoZWxwQ29uZGl0aW9uUGF5bG9hZCAhPT0gdW5kZWZpbmVkKSB7XG5cdFx0XHRcdGNvbnN0IHNvdXJjZVBhdGggPSBwYXJhbWV0ZXIuVmFsdWVMaXN0UHJvcGVydHk7XG5cdFx0XHRcdGNvbnN0IGNvbmRpdGlvblBheWxvYWQgPSB2YWx1ZWhlbHBDb25kaXRpb25QYXlsb2FkPy5bMF07XG5cdFx0XHRcdGZpbHRlclZhbHVlID0gc291cmNlUGF0aCAmJiBjb25kaXRpb25QYXlsb2FkPy5bc291cmNlUGF0aF07XG5cdFx0XHR9IGVsc2UgaWYgKGJpbmRpbmdDb250ZXh0KSB7XG5cdFx0XHRcdC8vIGlmIHRoZSB2YWx1ZSBoZWxwIGlzIG5vdCB1c2VkIHRyeSBnZXR0aW5nIHRoZSBmaWx0ZXIgdmFsdWUgZnJvbSB0aGUgYmluZGluZyBjb250ZXh0XG5cdFx0XHRcdGNvbnN0IHNvdXJjZVBhdGggPSBwYXJhbWV0ZXIuTG9jYWxEYXRhUHJvcGVydHk/LiRQcm9wZXJ0eVBhdGg7XG5cdFx0XHRcdGZpbHRlclZhbHVlID0gYmluZGluZ0NvbnRleHQuZ2V0T2JqZWN0KHNvdXJjZVBhdGgpO1xuXHRcdFx0fVxuXG5cdFx0XHRpZiAoIWZpbHRlclZhbHVlICYmIGZpbHRlckJhckNvbmRpdGlvbnMpIHtcblx0XHRcdFx0Y29uc3QgY29uZGl0aW9uID0gZmlsdGVyQmFyQ29uZGl0aW9ucz8uW3BhcmFtZXRlci5WYWx1ZUxpc3RQcm9wZXJ0eV07XG5cdFx0XHRcdGlmIChjb25kaXRpb24/Lmxlbmd0aCA9PT0gMSAmJiBjb25kaXRpb25bMF0/Lm9wZXJhdG9yID09PSBcIkVRXCIpIHtcblx0XHRcdFx0XHRmaWx0ZXJWYWx1ZSA9IGNvbmRpdGlvblswXT8udmFsdWVzWzBdO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHQvKiBBZGQgdmFsdWUgdG8gdGhlIGZpbHRlciBmb3IgdGhlIHRleHQgZGV0ZXJtaW5hdGlvbiAqL1xuXHRcdFx0aWYgKGZpbHRlclZhbHVlICE9PSBudWxsICYmIGZpbHRlclZhbHVlICE9PSB1bmRlZmluZWQpIHtcblx0XHRcdFx0ZmlsdGVycy5wdXNoKG5ldyBGaWx0ZXIoeyBwYXRoOiBwYXJhbWV0ZXIuVmFsdWVMaXN0UHJvcGVydHksIG9wZXJhdG9yOiBcIkVRXCIsIHZhbHVlMTogZmlsdGVyVmFsdWUgfSkpO1xuXHRcdFx0fVxuXHRcdH1cblx0XHRpZiAodmFsdWVoZWxwQ29uZGl0aW9uUGF5bG9hZD8uWzBdKSB7XG5cdFx0XHQvLyBJbiBjYXNlIG9mIG11bHRpcGxlIGtleXMgZm9yIHRoZSB2YWx1ZWxpc3QgY29sbGVjdGlvbiwgdGhlIG1haW4gVmFsdWVMaXN0UHJvcGVydHkgbWlnaHQgbm90IGJlIHVuaXF1ZSB0byBnZXQgZXhhY3QgdmFsdWUgbGlzdCBzZWxlY3Rpb24uXG5cdFx0XHQvLyBTbywgd2UgYWRkIGZpbHRlcnMgZm9yIGtleSBwcm9wZXJ0aWVzIGlmIHRoZXkgYXJlIHByZXNlbnQgaW4gdGhlIHZhbHVlaGVscENvbmRpdGlvblBheWxvYWQuXG5cdFx0XHRmaWx0ZXJzID0gZmlsdGVycy5jb25jYXQodGhpcy5fZ2V0UmVtYWluaW5nS2V5VmFsdWVGaWx0ZXJzKHZhbHVlaGVscENvbmRpdGlvblBheWxvYWRbMF0sIHZhbHVlTGlzdCkpO1xuXHRcdH1cblx0XHRyZXR1cm4gZmlsdGVycztcblx0fSxcblxuXHQvKipcblx0ICogR2V0IG1vZGVsIGZpbHRlcnMgdG8gZW5zdXJlIGEgcHJlY2lzZSBzZWxlY3Rpb24gZnJvbSB0aGUgY29uZGl0aW9uIHBheWxvYWQuXG5cdCAqIEBwYXJhbSBjb25kaXRpb25QYXlsb2FkIEFkZGl0aW9uYWwgY29uZGl0aW9uIGluZm9ybWF0aW9uIGZvciB0aGlzIGtleVxuXHQgKiBAcGFyYW0gdmFsdWVMaXN0IFZhbHVlIGxpc3QgaW5mb3JtYXRpb25cblx0ICogQHJldHVybnMgTGlzdCBvZiBmaWx0ZXJzXG5cdCAqL1xuXHRfZ2V0UmVtYWluaW5nS2V5VmFsdWVGaWx0ZXJzKGNvbmRpdGlvblBheWxvYWQ6IENvbmRpdGlvblBheWxvYWRUeXBlLCB2YWx1ZUxpc3Q6IEFubm90YXRpb25WYWx1ZUxpc3RUeXBlKTogRmlsdGVyW10ge1xuXHRcdGNvbnN0IHsgJG1vZGVsOiB2YWx1ZUxpc3RNb2RlbCwgQ29sbGVjdGlvblBhdGg6IGNvbGxlY3Rpb25QYXRoLCBQYXJhbWV0ZXJzOiBwYXJhbWV0ZXJzIH0gPSB2YWx1ZUxpc3Q7XG5cdFx0Y29uc3QgbWV0YUNvbnRleHQgPSB2YWx1ZUxpc3RNb2RlbC5nZXRNZXRhTW9kZWwoKS5nZXRNZXRhQ29udGV4dChgLyR7Y29sbGVjdGlvblBhdGh9YCk7XG5cdFx0Y29uc3QgZW50aXR5VHlwZSA9IGdldEludm9sdmVkRGF0YU1vZGVsT2JqZWN0cyhtZXRhQ29udGV4dCkudGFyZ2V0RW50aXR5VHlwZTtcblx0XHRjb25zdCBhbGxMb2NhbERhdGFQcm9wZXJ0aWVzID0gcGFyYW1ldGVycy5yZWR1Y2UoKGFyciwgcGFyYW1ldGVyKSA9PiB7XG5cdFx0XHRpZiAocGFyYW1ldGVyLkxvY2FsRGF0YVByb3BlcnR5Py4kUHJvcGVydHlQYXRoKSB7XG5cdFx0XHRcdGFyci5wdXNoKHBhcmFtZXRlci5Mb2NhbERhdGFQcm9wZXJ0eS4kUHJvcGVydHlQYXRoKTtcblx0XHRcdH1cblx0XHRcdHJldHVybiBhcnI7XG5cdFx0fSwgW10gYXMgc3RyaW5nW10pO1xuXHRcdGNvbnN0IGFsbFJlbWFpbmluZ0tleXMgPSBlbnRpdHlUeXBlLmtleXMucmVkdWNlKChhcnIsIHsgbmFtZToga2V5TmFtZSB9KSA9PiB7XG5cdFx0XHRpZiAoIWFsbExvY2FsRGF0YVByb3BlcnRpZXMuaW5jbHVkZXMoa2V5TmFtZSkgJiYgY29uZGl0aW9uUGF5bG9hZC5oYXNPd25Qcm9wZXJ0eShrZXlOYW1lKSkge1xuXHRcdFx0XHRhcnIucHVzaChrZXlOYW1lKTtcblx0XHRcdH1cblx0XHRcdHJldHVybiBhcnI7XG5cdFx0fSwgW10gYXMgc3RyaW5nW10pO1xuXHRcdGlmIChhbGxSZW1haW5pbmdLZXlzLmxlbmd0aCA+IDApIHtcblx0XHRcdHJldHVybiBhbGxSZW1haW5pbmdLZXlzLnJlZHVjZSgoZmlsdGVyczogRmlsdGVyW10sIGtleTogc3RyaW5nKTogRmlsdGVyW10gPT4ge1xuXHRcdFx0XHQvLyBUaGlzIGlzIGEgbWV0YW1vZGVsIG9wZXJhdGlvbi4gVGhlIG9yaWdpbmFsIGlzUHJvcGVydHlGaWx0ZXJhYmxlIG5lZWRzIHRvIGJlIGNvbnZlcnRlZCBsYXRlci5cblx0XHRcdFx0Y29uc3Qga2V5Q29udGV4dCA9IHZhbHVlTGlzdE1vZGVsLmdldE1ldGFNb2RlbCgpLmdldE1ldGFDb250ZXh0KGAvJHtjb2xsZWN0aW9uUGF0aH0vJHtrZXl9YCk7XG5cdFx0XHRcdGlmIChDb21tb25IZWxwZXIuaXNQcm9wZXJ0eUZpbHRlcmFibGUoa2V5Q29udGV4dCwgdW5kZWZpbmVkLCB0cnVlKSkge1xuXHRcdFx0XHRcdGZpbHRlcnMucHVzaChuZXcgRmlsdGVyKHsgcGF0aDoga2V5LCBvcGVyYXRvcjogXCJFUVwiLCB2YWx1ZTE6IGNvbmRpdGlvblBheWxvYWRba2V5XSB9KSk7XG5cdFx0XHRcdH1cblx0XHRcdFx0cmV0dXJuIGZpbHRlcnM7XG5cdFx0XHR9LCBbXSk7XG5cdFx0fVxuXHRcdHJldHVybiBbXTtcblx0fSxcblxuXHQvKipcblx0ICogRGV0ZXJtaW5lcyB0aGUga2V5LCBkZXNjcmlwdGlvbiwgYW5kIHBheWxvYWQgb2YgYSB1c2VyIGlucHV0LlxuXHQgKiBAcGFyYW0gZmllbGQgVGhlIDxjb2RlPkZpZWxkPC9jb2RlPiBpbnN0YW5jZVxuXHQgKiBAcGFyYW0gdmFsdWVIZWxwIFZhbHVlIGhlbHAgaW5zdGFuY2Vcblx0ICogQHBhcmFtIGNvbmZpZyBDb25maWd1cmF0aW9uIE9iamVjdFxuXHQgKiBAcmV0dXJucyBPYmplY3QgY29udGFpbmluZyBkZXNjcmlwdGlvbiwga2V5LCBhbmQgcGF5bG9hZC4gSWYgaXQgaXMgbm90IGF2YWlsYWJsZSByaWdodCBub3cgKG11c3QgYmUgcmVxdWVzdGVkKSwgYSA8Y29kZT5Qcm9taXNlPC9jb2RlPiBpcyByZXR1cm5lZFxuXHQgKi9cblx0Z2V0SXRlbUZvclZhbHVlOiBmdW5jdGlvbiAoZmllbGQ6IEZpZWxkLCB2YWx1ZUhlbHA6IFZhbHVlSGVscCwgY29uZmlnOiBJdGVtRm9yVmFsdWVDb25maWd1cmF0aW9uKSB7XG5cdFx0Ly9CQ1A6IDIyNzAxNjI4ODcgLiBUaGUgTURDIGZpZWxkIHNob3VsZCBub3QgdHJ5IHRvIGdldCB0aGUgaXRlbSB3aGVuIHRoZSBmaWVsZCBpcyBlbXB0aWVkXG5cdFx0Ly8gSklSQTogRklPUklURUNIUDEtMjUzNjEgLSBJbXByb3ZlIHRoZSB0eXBlLWFoZWFkIGJlaGF2aW9yIGZvciBtaXNzaW5uZyB0ZXh0IGFubm90YXRpb24gb3IgY29uc3RyYWludHMgdmlvbGF0aW9ucyBvZiB0aGUgZXhpc3RpbmcgdGV4dCBhbm5vdGF0aW9uXG5cdFx0aWYgKGNvbmZpZy52YWx1ZSA9PT0gXCJcIikge1xuXHRcdFx0cmV0dXJuO1xuXHRcdH1cblxuXHRcdGlmIChjb25maWcuY2hlY2tEZXNjcmlwdGlvbikge1xuXHRcdFx0Y29uc3QgdmFsdWVoZWxwUGF5bG9hZCA9IHZhbHVlSGVscC5nZXRQYXlsb2FkKCkgYXMgVmFsdWVIZWxwUGF5bG9hZDtcblx0XHRcdGNvbnN0IGRlc2NyaXB0aW9uUGF0aCA9IHZhbHVlaGVscFBheWxvYWQudmFsdWVIZWxwRGVzY3JpcHRpb25QYXRoO1xuXHRcdFx0Y29uc3QgbWF4TGVuZ3RoID0gdmFsdWVoZWxwUGF5bG9hZD8ubWF4TGVuZ3RoO1xuXHRcdFx0Y29uc3QgdmFsdWVMZW5ndGggPSBjb25maWcudmFsdWUgIT09IG51bGwgJiYgY29uZmlnLnZhbHVlICE9PSB1bmRlZmluZWQgPyBjb25maWcudmFsdWUudG9TdHJpbmcoKS5sZW5ndGggOiAwO1xuXHRcdFx0aWYgKGRlc2NyaXB0aW9uUGF0aCA9PT0gXCJcIikge1xuXHRcdFx0XHQvLyBJbiBjYXNlIHRoZSBwcm9wZXJ0eSB2YWx1ZSBoZWxwIGNvbGxlY3Rpb24gaGFzIG5vIHRleHQgYW5ub3RhdGlvbiAoZGVzY3JpcHRpb25QYXRoIGlzIGVtcHR5KSB0aGUgZGVzY3JpcHRpb24gY2hlY2sgc2hvdWxkbsK0dCBvY2N1ci5cblx0XHRcdFx0Ly8gSW4gc3VjaCBhIGNhc2UgdGhlIG1ldGhvZCBnZXREZXNjcmlwdGlvbiB3aWxsIGJlIGNhbGxlZCBieSBNREMgYW5kIHdpdGhpbiB0aGlzIG1ldGhvZCBhIFNpZGVFZmZlY3QgaXMgcmVxdWVzdGVkIHRvIHJldHJpZXZlIHRoZSB0ZXh0IGZyb20gdGhlIHRleHQgcHJvcGVydHkgb2YgdGhlIG1haW4gZW50aXR5XG5cdFx0XHRcdGNvbmZpZy5jaGVja0Rlc2NyaXB0aW9uID0gZmFsc2U7XG5cdFx0XHR9IGVsc2UgaWYgKG1heExlbmd0aCAhPT0gdW5kZWZpbmVkICYmIHZhbHVlTGVuZ3RoID4gbWF4TGVuZ3RoKSB7XG5cdFx0XHRcdC8vdmFsdWUgbGVuZ3RoIGlzID4gdGV4dCBwcm9lcGVydHkgbGVuZ3RoIGNvbnN0cmFpbnRcblx0XHRcdFx0cmV0dXJuO1xuXHRcdFx0fVxuXHRcdH1cblx0XHRyZXR1cm4gRmllbGRCYXNlRGVsZWdhdGUuZ2V0SXRlbUZvclZhbHVlKGZpZWxkLCB2YWx1ZUhlbHAsIGNvbmZpZyk7XG5cdH0sXG5cblx0LyoqXG5cdCAqIFJldHJpZXZlcyB0aGUgZmlsdGVyIGJhciBpbnN0YW5jZSBhc3NvY2lhdGVkIHdpdGggdGhlIGN1cnJlbnQgZmllbGQuXG5cdCAqIEBwYXJhbSBmaWVsZCBGaWVsZCBDb250cm9sXG5cdCAqIEByZXR1cm5zIFRoZSBmaWx0ZXIgYmFyIGluc3RhbmNlXG5cdCAqL1xuXHRfZ2V0RmlsdGVyQmFyOiBmdW5jdGlvbiAoZmllbGQ6IEZpZWxkIHwgbnVsbCk6IEZpbHRlckJhciB8IHVuZGVmaW5lZCB7XG5cdFx0bGV0IGZpbHRlckJhckFQSTtcblx0XHRpZiAoZmllbGQ/LmlzQShcInNhcC51aS5tZGMuRmlsdGVyRmllbGRcIikpIHtcblx0XHRcdHdoaWxlIChmaWVsZCkge1xuXHRcdFx0XHRpZiAoZmllbGQ/LmlzQTxGaWx0ZXJCYXJBUEk+KFwic2FwLmZlLm1hY3Jvcy5maWx0ZXJCYXIuRmlsdGVyQmFyQVBJXCIpKSB7XG5cdFx0XHRcdFx0ZmlsdGVyQmFyQVBJID0gZmllbGQ7XG5cdFx0XHRcdFx0YnJlYWs7XG5cdFx0XHRcdH1cblx0XHRcdFx0ZmllbGQgPSBmaWVsZD8uZ2V0UGFyZW50KCkgYXMgdW5rbm93biBhcyBGaWVsZDtcblx0XHRcdH1cblx0XHRcdGlmIChmaWx0ZXJCYXJBUEk/LmdldENvbnRlbnQoKT8uaXNBKFwic2FwLmZlLm1hY3Jvcy5jb250cm9scy5GaWx0ZXJCYXJcIikpIHtcblx0XHRcdFx0cmV0dXJuIGZpbHRlckJhckFQSS5nZXRDb250ZW50KCkgYXMgRmlsdGVyQmFyO1xuXHRcdFx0fVxuXHRcdH1cblx0XHRyZXR1cm4gdW5kZWZpbmVkO1xuXHR9LFxuXG5cdC8qKlxuXHQgKiBEZXRlcm1pbmVzIHRoZSBkZXNjcmlwdGlvbiBmb3IgYSBnaXZlbiBrZXkuXG5cdCAqIEBwYXJhbSBmaWVsZCBUaGUgPGNvZGU+RmllbGQ8L2NvZGU+IGluc3RhbmNlXG5cdCAqIEBwYXJhbSB2YWx1ZUhlbHAgRmllbGQgaGVscCBhc3NpZ25lZCB0byB0aGUgPGNvZGU+RmllbGQ8L2NvZGU+IG9yIDxjb2RlPkZpbHRlckZpZWxkPC9jb2RlPiBjb250cm9sXG5cdCAqIEBwYXJhbSBrZXkgS2V5IHZhbHVlIG9mIHRoZSBkZXNjcmlwdGlvblxuXHQgKiBAcGFyYW0gX2NvbmRpdGlvbkluIEluIHBhcmFtZXRlcnMgZm9yIHRoZSBrZXkgKG5vIGxvbmdlciBzdXBwb3J0ZWQpXG5cdCAqIEBwYXJhbSBfY29uZGl0aW9uT3V0IE91dCBwYXJhbWV0ZXJzIGZvciB0aGUga2V5IChubyBsb25nZXIgc3VwcG9ydGVkKVxuXHQgKiBAcGFyYW0gYmluZGluZ0NvbnRleHQgQmluZGluZ0NvbnRleHQgPGNvZGU+QmluZGluZ0NvbnRleHQ8L2NvZGU+IG9mIHRoZSBjaGVja2VkIGZpZWxkLiBJbnNpZGUgYSB0YWJsZSwgdGhlIDxjb2RlPlZhbHVlSGVscDwvY29kZT4gZWxlbWVudCBjYW4gYmUgY29ubmVjdGVkIHRvIGEgZGlmZmVyZW50IHJvd1xuXHQgKiBAcGFyYW0gX0NvbmRpdGlvbk1vZGVsIENvbmRpdGlvbk1vZGVsPC9jb2RlPiwgaWYgYm91bmQgdG8gb25lXG5cdCAqIEBwYXJhbSBfY29uZGl0aW9uTW9kZWxOYW1lIE5hbWUgb2YgdGhlIDxjb2RlPkNvbmRpdGlvbk1vZGVsPC9jb2RlPiwgaWYgYm91bmQgdG8gb25lXG5cdCAqIEBwYXJhbSBjb25kaXRpb25QYXlsb2FkIEFkZGl0aW9uYWwgY29udGV4dCBpbmZvcm1hdGlvbiBmb3IgdGhpcyBrZXlcblx0ICogQHBhcmFtIGNvbnRyb2wgSW5zdGFuY2Ugb2YgdGhlIGNhbGxpbmcgY29udHJvbFxuXHQgKiBAcGFyYW0gX3R5cGUgVHlwZSBvZiB0aGUgdmFsdWVcblx0ICogQHJldHVybnMgRGVzY3JpcHRpb24gZm9yIHRoZSBrZXkgb3Igb2JqZWN0IGNvbnRhaW5pbmcgYSBkZXNjcmlwdGlvbiwga2V5IGFuZCBwYXlsb2FkLiBJZiB0aGUgZGVzY3JpcHRpb24gaXMgbm90IGF2YWlsYWJsZSByaWdodCBhd2F5IChpdCBtdXN0IGJlIHJlcXVlc3RlZCksIGEgPGNvZGU+UHJvbWlzZTwvY29kZT4gaXMgcmV0dXJuZWRcblx0ICovXG5cdGdldERlc2NyaXB0aW9uOiBhc3luYyBmdW5jdGlvbiAoXG5cdFx0ZmllbGQ6IEZpZWxkIHwgbnVsbCxcblx0XHR2YWx1ZUhlbHA6IFZhbHVlSGVscCxcblx0XHRrZXk6IHN0cmluZyxcblx0XHRfY29uZGl0aW9uSW46IG9iamVjdCxcblx0XHRfY29uZGl0aW9uT3V0OiBvYmplY3QsXG5cdFx0YmluZGluZ0NvbnRleHQ6IENvbnRleHQgfCB1bmRlZmluZWQsXG5cdFx0X0NvbmRpdGlvbk1vZGVsOiBDb25kaXRpb25Nb2RlbCxcblx0XHRfY29uZGl0aW9uTW9kZWxOYW1lOiBzdHJpbmcsXG5cdFx0Y29uZGl0aW9uUGF5bG9hZDogQ29uZGl0aW9uUGF5bG9hZE1hcCxcblx0XHRjb250cm9sOiBDb250cm9sLFxuXHRcdF90eXBlOiB1bmtub3duLFxuXHRcdGVtcHR5QWxsb3dlZDogYm9vbGVhblxuXHQpIHtcblx0XHQvL0pJUkE6IEZJT1JJVEVDSFAxLTIyMDIyIC4gVGhlIE1EQyBmaWVsZCBzaG91bGQgbm90ICB0cmllcyB0byBkZXRlcm1pbmUgZGVzY3JpcHRpb24gd2l0aCB0aGUgaW5pdGlhbCBHRVQgb2YgdGhlIGRhdGEuXG5cdFx0Ly8gaXQgc2hvdWxkIHJlbHkgb24gdGhlIGRhdGEgd2UgYWxyZWFkeSByZWNlaXZlZCBmcm9tIHRoZSBiYWNrZW5kXG5cdFx0Ly8gQnV0IFRoZSBnZXREZXNjcmlwdGlvbiBmdW5jdGlvbiBpcyBhbHNvIGNhbGxlZCBpbiB0aGUgRmlsdGVyRmllbGQgY2FzZSBpZiBhIHZhcmlhbnQgaXMgbG9hZGVkLlxuXHRcdC8vIEFzIHRoZSBkZXNjcmlwdGlvbiB0ZXh0IGNvdWxkIGJlIGxhbmd1YWdlIGRlcGVuZGVudCBpdCBpcyBub3Qgc3RvcmVkIGluIHRoZSB2YXJpYW50LCBzbyBpdCBuZWVkcyB0byBiZSByZWFkIG9uIHJlbmRlcmluZy5cblxuXHRcdGxldCBwYXlsb2FkID0gZmllbGQ/LmdldFBheWxvYWQoKSBhcyBGaWVsZFBheWxvYWQ7XG5cblx0XHQvKiBSZXRyaWV2ZSB0ZXh0IGZyb20gdmFsdWUgaGVscCwgaWYgdmFsdWUgd2FzIHNldCBieSBvdXQtcGFyYW1ldGVyIChCQ1AgMjI3MDE2MDYzMykgKi9cblx0XHRpZiAoIXBheWxvYWQgJiYgKGNvbnRyb2wgYXMgRmllbGRCYXNlKT8uZ2V0RGlzcGxheSgpLmluY2x1ZGVzKFwiRGVzY3JpcHRpb25cIikpIHtcblx0XHRcdHBheWxvYWQgPSB7XG5cdFx0XHRcdHJldHJpZXZlVGV4dEZyb21WYWx1ZUxpc3Q6IHRydWVcblx0XHRcdH07XG5cdFx0fVxuXG5cdFx0aWYgKHBheWxvYWQ/LnJldHJpZXZlVGV4dEZyb21WYWx1ZUxpc3QgPT09IHRydWUgfHwgcGF5bG9hZD8uaXNGaWx0ZXJGaWVsZCA9PT0gdHJ1ZSkge1xuXHRcdFx0Y29uc3QgZGF0YU1vZGVsID0gdmFsdWVIZWxwLmdldE1vZGVsKCkgYXMgT0RhdGFNb2RlbCB8IHVuZGVmaW5lZDtcblx0XHRcdGNvbnN0IG93bmVyID0gQ29tcG9uZW50LmdldE93bmVyQ29tcG9uZW50Rm9yKHZhbHVlSGVscCBhcyB1bmtub3duIGFzIENvbnRyb2wpO1xuXHRcdFx0Ly8gSWYgbmVpdGhlciBkYXRhTW9kZWwgbm9yIG93bmVyIGlzIGRlZmluZWQsIHRoZSB2YWx1ZUhlbHAgY2Fubm90IGJlIGFuIEZFIGNvbnRyb2wuXG5cdFx0XHQvLyBUaGlzIG9jY3VycyBpbiBjYXNlcyBvZiBhIHN0YW5kYXJkIE1EQyBjb250cm9scyAoZS5nLiwgZGVmYXVsdCBWYWx1ZUhlbHAgZm9yIGJvb2xlYW4gdmFsdWVzKS5cblx0XHRcdGlmICghZGF0YU1vZGVsICYmICFvd25lcikge1xuXHRcdFx0XHRyZXR1cm4gRmllbGRCYXNlRGVsZWdhdGUuZ2V0RGVzY3JpcHRpb24oXG5cdFx0XHRcdFx0ZmllbGQgYXMgRmllbGRCYXNlLFxuXHRcdFx0XHRcdHZhbHVlSGVscCxcblx0XHRcdFx0XHRrZXksXG5cdFx0XHRcdFx0X2NvbmRpdGlvbkluLFxuXHRcdFx0XHRcdF9jb25kaXRpb25PdXQsXG5cdFx0XHRcdFx0YmluZGluZ0NvbnRleHQgYXMgQ29udGV4dCxcblx0XHRcdFx0XHR1bmRlZmluZWQsXG5cdFx0XHRcdFx0dW5kZWZpbmVkLFxuXHRcdFx0XHRcdGNvbmRpdGlvblBheWxvYWQsXG5cdFx0XHRcdFx0Y29udHJvbCxcblx0XHRcdFx0XHRfdHlwZSxcblx0XHRcdFx0XHRlbXB0eUFsbG93ZWRcblx0XHRcdFx0KTtcblx0XHRcdH1cblx0XHRcdGNvbnN0IG1ldGFNb2RlbCA9IGRhdGFNb2RlbFxuXHRcdFx0XHQ/IGRhdGFNb2RlbC5nZXRNZXRhTW9kZWwoKVxuXHRcdFx0XHQ6IENvbW1vblV0aWxzLmdldEFwcENvbXBvbmVudCh2YWx1ZUhlbHAgYXMgdW5rbm93biBhcyBDb250cm9sKVxuXHRcdFx0XHRcdFx0LmdldE1vZGVsKClcblx0XHRcdFx0XHRcdC5nZXRNZXRhTW9kZWwoKTtcblx0XHRcdGNvbnN0IHZhbHVlaGVscFBheWxvYWQgPSB2YWx1ZUhlbHAuZ2V0UGF5bG9hZCgpIGFzIFZhbHVlSGVscFBheWxvYWQ7XG5cdFx0XHRjb25zdCB2YWx1ZWhlbHBDb25kaXRpb25QYXlsb2FkID0gY29uZGl0aW9uUGF5bG9hZD8uW3ZhbHVlaGVscFBheWxvYWQudmFsdWVIZWxwUXVhbGlmaWVyXTtcblx0XHRcdGNvbnN0IHByb3BlcnR5UGF0aCA9IHZhbHVlaGVscFBheWxvYWQucHJvcGVydHlQYXRoO1xuXHRcdFx0Y29uc3QgcHJvcGVydHlEZXNjcmlwdGlvblBhdGggPSB2YWx1ZWhlbHBQYXlsb2FkPy5wcm9wZXJ0eURlc2NyaXB0aW9uUGF0aDtcblx0XHRcdGxldCB0ZXh0UHJvcGVydHk6IHN0cmluZztcblxuXHRcdFx0dHJ5IHtcblx0XHRcdFx0LyogUmVxdWVzdCB2YWx1ZSBoZWxwIG1ldGFkYXRhICovXG5cdFx0XHRcdGNvbnN0IHZhbHVlTGlzdEluZm8gPSBhd2FpdCBtZXRhTW9kZWwucmVxdWVzdFZhbHVlTGlzdEluZm8ocHJvcGVydHlQYXRoLCB0cnVlLCBiaW5kaW5nQ29udGV4dCk7XG5cblx0XHRcdFx0Y29uc3QgZmlsdGVyQmFyID0gdGhpcy5fZ2V0RmlsdGVyQmFyKGZpZWxkKTtcblx0XHRcdFx0bGV0IGZpbHRlckNvbmRpdGlvbnM6IFJlY29yZDxzdHJpbmcsIENvbmRpdGlvbk9iamVjdFtdPiB8IHVuZGVmaW5lZDtcblx0XHRcdFx0aWYgKGZpbHRlckJhcikge1xuXHRcdFx0XHRcdGNvbnN0IGZpbHRlclN0YXRlOiBFeHRlcm5hbFN0YXRlVHlwZSA9IGF3YWl0IFN0YXRlVXRpbC5yZXRyaWV2ZUV4dGVybmFsU3RhdGUoZmlsdGVyQmFyKTtcblx0XHRcdFx0XHRmaWx0ZXJDb25kaXRpb25zID0gZmlsdGVyU3RhdGUuZmlsdGVyO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0Y29uc3QgcHJvcGVydHlOYW1lID0gbWV0YU1vZGVsLmdldE9iamVjdChgJHtwcm9wZXJ0eVBhdGh9QHNhcHVpLm5hbWVgKSBhcyBzdHJpbmc7XG5cdFx0XHRcdC8vIHRha2UgdGhlIGZpcnN0IHZhbHVlIGxpc3QgYW5ub3RhdGlvbiAtIGFsdGVybmF0aXZlbHkgdGFrZSB0aGUgb25lIHdpdGhvdXQgcXVhbGlmaWVyIG9yIHRoZSBmaXJzdCBvbmVcblx0XHRcdFx0Y29uc3QgdmFsdWVMaXN0ID0gdmFsdWVMaXN0SW5mb1tPYmplY3Qua2V5cyh2YWx1ZUxpc3RJbmZvKVswXV07XG5cdFx0XHRcdGNvbnN0IHZhbHVlSGVscFBhcmFtZXRlcnMgPSB0aGlzLl9nZXRWYWx1ZUxpc3RQYXJhbWV0ZXIodmFsdWVMaXN0LCBwcm9wZXJ0eU5hbWUpO1xuXHRcdFx0XHRjb25zdCB2YWx1ZUhlbHBQcm9wZXJ0eSA9IHZhbHVlSGVscFBhcmFtZXRlcnM/LlswXT8uVmFsdWVMaXN0UHJvcGVydHk7XG5cdFx0XHRcdGlmICghdmFsdWVIZWxwUHJvcGVydHkpIHtcblx0XHRcdFx0XHR0aHJvdyBFcnJvcihgSW5jb25zaXN0ZW50IHZhbHVlIGhlbHAgYW5ub3RhdGlvbiBmb3IgJHtwcm9wZXJ0eU5hbWV9YCk7XG5cdFx0XHRcdH1cblx0XHRcdFx0Ly8gZ2V0IHRleHQgYW5ub3RhdGlvbiBmb3IgdGhpcyB2YWx1ZSBsaXN0IHByb3BlcnR5XG5cdFx0XHRcdGNvbnN0IHZhbHVlTGlzdE1vZGVsID0gdmFsdWVMaXN0LiRtb2RlbDtcblx0XHRcdFx0Y29uc3QgdGV4dEFubm90YXRpb24gPSB2YWx1ZUxpc3RNb2RlbFxuXHRcdFx0XHRcdC5nZXRNZXRhTW9kZWwoKVxuXHRcdFx0XHRcdC5nZXRPYmplY3QoYC8ke3ZhbHVlTGlzdC5Db2xsZWN0aW9uUGF0aH0vJHt2YWx1ZUhlbHBQcm9wZXJ0eX1AY29tLnNhcC52b2NhYnVsYXJpZXMuQ29tbW9uLnYxLlRleHRgKTtcblx0XHRcdFx0aWYgKHRleHRBbm5vdGF0aW9uICYmIHRleHRBbm5vdGF0aW9uLiRQYXRoKSB7XG5cdFx0XHRcdFx0dGV4dFByb3BlcnR5ID0gdGV4dEFubm90YXRpb24uJFBhdGg7XG5cdFx0XHRcdFx0LyogQnVpbGQgdGhlIGZpbHRlciBmb3IgdGhlIHJlbGV2YW50IHBhcmFtZXRlcnMgKi9cblx0XHRcdFx0XHRjb25zdCBmaWx0ZXJzID0gdGhpcy5fZ2V0RmlsdGVyKFxuXHRcdFx0XHRcdFx0dmFsdWVMaXN0LFxuXHRcdFx0XHRcdFx0cHJvcGVydHlOYW1lLFxuXHRcdFx0XHRcdFx0dmFsdWVIZWxwUHJvcGVydHksXG5cdFx0XHRcdFx0XHRrZXksXG5cdFx0XHRcdFx0XHR2YWx1ZWhlbHBQYXlsb2FkLFxuXHRcdFx0XHRcdFx0dmFsdWVoZWxwQ29uZGl0aW9uUGF5bG9hZCxcblx0XHRcdFx0XHRcdGJpbmRpbmdDb250ZXh0LFxuXHRcdFx0XHRcdFx0ZmlsdGVyQ29uZGl0aW9uc1xuXHRcdFx0XHRcdCk7XG5cdFx0XHRcdFx0Y29uc3QgbGlzdEJpbmRpbmcgPSB2YWx1ZUxpc3RNb2RlbC5iaW5kTGlzdChgLyR7dmFsdWVMaXN0LkNvbGxlY3Rpb25QYXRofWAsIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCBmaWx0ZXJzLCB7XG5cdFx0XHRcdFx0XHQkc2VsZWN0OiB0ZXh0UHJvcGVydHlcblx0XHRcdFx0XHR9KTtcblx0XHRcdFx0XHQvKiBSZXF1ZXN0IGRlc2NyaXB0aW9uIGZvciBnaXZlbiBrZXkgZnJvbSB2YWx1ZSBsaXN0IGVudGl0eSAqL1xuXHRcdFx0XHRcdGNvbnN0IGNvbnRleHRzID0gYXdhaXQgbGlzdEJpbmRpbmcucmVxdWVzdENvbnRleHRzKDAsIDIpO1xuXHRcdFx0XHRcdHJldHVybiBjb250ZXh0cy5sZW5ndGggPyBjb250ZXh0c1swXS5nZXRPYmplY3QodGV4dFByb3BlcnR5KSA6IHVuZGVmaW5lZDtcblx0XHRcdFx0fSBlbHNlIGlmIChiaW5kaW5nQ29udGV4dCAhPT0gdW5kZWZpbmVkICYmIHByb3BlcnR5RGVzY3JpcHRpb25QYXRoKSB7XG5cdFx0XHRcdFx0Y29uc3QgbGFzdEluZGV4ID0gcHJvcGVydHlEZXNjcmlwdGlvblBhdGgubGFzdEluZGV4T2YoXCIvXCIpO1xuXHRcdFx0XHRcdGNvbnN0IHNpZGVFZmZlY3RQYXRoID0gbGFzdEluZGV4ID4gMCA/IHByb3BlcnR5RGVzY3JpcHRpb25QYXRoLnN1YnN0cmluZygwLCBsYXN0SW5kZXgpIDogcHJvcGVydHlEZXNjcmlwdGlvblBhdGg7XG5cdFx0XHRcdFx0Y29uc3Qgc2lkZUVmZmVjdHNTZXJ2aWNlID0gQ29tbW9uVXRpbHMuZ2V0QXBwQ29tcG9uZW50KHZhbHVlSGVscCBhcyB1bmtub3duIGFzIENvbnRyb2wpLmdldFNpZGVFZmZlY3RzU2VydmljZSgpO1xuXHRcdFx0XHRcdGF3YWl0IHNpZGVFZmZlY3RzU2VydmljZS5yZXF1ZXN0U2lkZUVmZmVjdHMoW3NpZGVFZmZlY3RQYXRoXSwgYmluZGluZ0NvbnRleHQpO1xuXHRcdFx0XHRcdExvZy53YXJuaW5nKFxuXHRcdFx0XHRcdFx0YFJlcXVlc3RTaWRlRWZmZWN0cyBpcyB0cmlnZ2VyZWQgYmVjYXVzZSB0aGUgdGV4dCBhbm5vdGF0aW9uIGZvciAke3ZhbHVlSGVscFByb3BlcnR5fSBpcyBub3QgZGVmaW5lZCBhdCB0aGUgQ29sbGVjdGlvblBhdGggb2YgdGhlIHZhbHVlIGhlbHBgXG5cdFx0XHRcdFx0KTtcblx0XHRcdFx0XHRyZXR1cm4gdW5kZWZpbmVkO1xuXHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdC8qIEVYVEVSTkFsSUQgKi9cblx0XHRcdFx0XHRjb25zdCBleHRlcm5hbElkUGF0aCA9IG1ldGFNb2RlbD8uZ2V0T2JqZWN0KFxuXHRcdFx0XHRcdFx0YCR7dmFsdWVoZWxwUGF5bG9hZC5wcm9wZXJ0eVBhdGh9QGNvbS5zYXAudm9jYWJ1bGFyaWVzLkNvbW1vbi52MS5FeHRlcm5hbElEYFxuXHRcdFx0XHRcdCk/LiRQYXRoO1xuXHRcdFx0XHRcdGlmIChleHRlcm5hbElkUGF0aCkge1xuXHRcdFx0XHRcdFx0Y29uc3QgZXh0ZXJuYWxJZEZ1bGxQYXRoID0gdmFsdWVoZWxwUGF5bG9hZC5wcm9wZXJ0eVBhdGgucmVwbGFjZShwcm9wZXJ0eU5hbWUsIGV4dGVybmFsSWRQYXRoKTtcblx0XHRcdFx0XHRcdGNvbnN0IGV4dGVybmFsSWROYW1lID0gbWV0YU1vZGVsLmdldE9iamVjdChgJHtleHRlcm5hbElkRnVsbFBhdGh9QHNhcHVpLm5hbWVgKTtcblx0XHRcdFx0XHRcdGNvbnN0IGV4dGVybmFsSWREZXNjcmlwdGlvblBhdGggPSBtZXRhTW9kZWw/LmdldE9iamVjdChgJHtleHRlcm5hbElkRnVsbFBhdGh9QGNvbS5zYXAudm9jYWJ1bGFyaWVzLkNvbW1vbi52MS5UZXh0YClcblx0XHRcdFx0XHRcdFx0Py4kUGF0aDtcblx0XHRcdFx0XHRcdGNvbnN0IGZpbHRlcnMgPSBbXTtcblx0XHRcdFx0XHRcdGZpbHRlcnMucHVzaChuZXcgRmlsdGVyKHsgcGF0aDogZXh0ZXJuYWxJZE5hbWUsIG9wZXJhdG9yOiBcIkVRXCIsIHZhbHVlMToga2V5IH0pKTtcblx0XHRcdFx0XHRcdGNvbnN0IGxpc3RCaW5kaW5nID0gdmFsdWVMaXN0TW9kZWwuYmluZExpc3QoYC8ke3ZhbHVlTGlzdC5Db2xsZWN0aW9uUGF0aH1gLCB1bmRlZmluZWQsIHVuZGVmaW5lZCwgZmlsdGVycywge1xuXHRcdFx0XHRcdFx0XHQkc2VsZWN0OiBgJHtleHRlcm5hbElkTmFtZX0sJHtleHRlcm5hbElkRGVzY3JpcHRpb25QYXRofWBcblx0XHRcdFx0XHRcdH0pO1xuXHRcdFx0XHRcdFx0Y29uc3QgY29udGV4dHMgPSBhd2FpdCBsaXN0QmluZGluZy5yZXF1ZXN0Q29udGV4dHMoMCwgMik7XG5cdFx0XHRcdFx0XHRpZiAoY29udGV4dHMubGVuZ3RoKSB7XG5cdFx0XHRcdFx0XHRcdHJldHVybiBjb250ZXh0c1swXS5nZXRPYmplY3QoZXh0ZXJuYWxJZERlc2NyaXB0aW9uUGF0aCk7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdExvZy5lcnJvcihgVGV4dCBBbm5vdGF0aW9uIGZvciAke3ZhbHVlSGVscFByb3BlcnR5fSBpcyBub3QgZGVmaW5lZGApO1xuXHRcdFx0XHRcdHJldHVybiB1bmRlZmluZWQ7XG5cdFx0XHRcdH1cblx0XHRcdH0gY2F0Y2ggKGVycm9yKSB7XG5cdFx0XHRcdGNvbnN0IHN0YXR1cyA9IGVycm9yID8gKGVycm9yIGFzIFhNTEh0dHBSZXF1ZXN0KS5zdGF0dXMgOiB1bmRlZmluZWQ7XG5cdFx0XHRcdGNvbnN0IG1lc3NhZ2UgPSBlcnJvciBpbnN0YW5jZW9mIEVycm9yID8gZXJyb3IubWVzc2FnZSA6IFN0cmluZyhlcnJvcik7XG5cdFx0XHRcdGNvbnN0IG1zZyA9IHN0YXR1cyA9PT0gNDA0ID8gYE1ldGFkYXRhIG5vdCBmb3VuZCAoJHtzdGF0dXN9KSBmb3IgdmFsdWUgaGVscCBvZiBwcm9wZXJ0eSAke3Byb3BlcnR5UGF0aH1gIDogbWVzc2FnZTtcblx0XHRcdFx0TG9nLmVycm9yKG1zZyk7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdHJldHVybiB1bmRlZmluZWQ7XG5cdH1cbn0pO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7OztTQWlEZUEsTUFBTSxDQUFDQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUVDLGlCQUFpQixFQUFFO0lBQ25EQyxVQUFVLEVBQUUsQ0FBQztJQUViO0FBQ0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtJQUNDQyx5QkFBeUIsRUFBRSxTQUFBQSxDQUFVQyxLQUFZLEVBQUVDLElBQTRCLEVBQUVDLEtBQXNCLEVBQUU7TUFDeEc7TUFDQTtNQUNBOztNQUVBLE1BQU1DLE1BQTBCLEdBQUcsQ0FBQyxDQUFDO01BQ3JDLElBQ0NGLElBQUksSUFDSkEsSUFBSSxDQUFDRyxHQUFHLENBQUMsQ0FBQyw4QkFBOEIsRUFBRSxrQ0FBa0MsQ0FBQyxDQUFDLElBQzlFQyxLQUFLLENBQUNDLE9BQU8sQ0FBQ0osS0FBSyxDQUFDLElBQ3BCQSxLQUFLLENBQUNLLE1BQU0sR0FBRyxDQUFDLElBQ2hCTCxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUtNLFNBQVMsRUFDckI7UUFDRDtRQUNBUCxJQUFJLENBQUNRLFdBQVcsQ0FBQ1AsS0FBSyxFQUFFLFFBQVEsQ0FBQztRQUNqQ0MsTUFBTSxDQUFDTyxnQkFBZ0IsR0FBRyxJQUFJO1FBQzlCUCxNQUFNLENBQUNRLFlBQVksR0FBR1QsS0FBSyxDQUFDLENBQUMsQ0FBVyxDQUFDLENBQUM7TUFDM0M7TUFFQSxPQUFPQyxNQUFNO0lBQ2QsQ0FBQztJQUVEO0FBQ0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7SUFDQ1MsMEJBQTBCLEVBQUUsU0FBQUEsQ0FBVVosS0FBWSxFQUFFQyxJQUFnQixFQUFFWSxrQkFBdUMsRUFBRTtNQUM5RyxJQUFJQSxrQkFBa0IsRUFBRUYsWUFBWSxLQUFLSCxTQUFTLEVBQUU7UUFDbkQ7UUFDQVAsSUFBSSxDQUFDUSxXQUFXLENBQUMsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFSSxrQkFBa0IsQ0FBQ0YsWUFBWSxDQUFDLEVBQUUsUUFBUSxDQUFDO01BQzFFO0lBQ0QsQ0FBQztJQUVEO0FBQ0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0lBQ0NHLG1CQUFtQixFQUFFLFNBQUFBLENBQVVkLEtBQVksRUFBRWUsTUFBZSxFQUFFRixrQkFBdUMsRUFBRTtNQUN0RyxJQUFJQSxrQkFBa0IsRUFBRUgsZ0JBQWdCLEtBQUssSUFBSSxJQUFJSyxNQUFNLENBQUNSLE1BQU0sS0FBSyxDQUFDLEVBQUU7UUFDekVRLE1BQU0sQ0FBQ0MsSUFBSSxDQUFDSCxrQkFBa0IsQ0FBQ0YsWUFBWSxDQUFDO1FBQzVDLE9BQU9JLE1BQU07TUFDZDtNQUVBLE9BQU9QLFNBQVM7SUFDakIsQ0FBQztJQUVEO0FBQ0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0lBQ0NTLDJCQUEyQixFQUFFLFNBQUFBLENBQVVDLE1BQWEsRUFBRTtNQUNyRCxPQUFPO1FBQUVDLElBQUksRUFBRSx1Q0FBdUM7UUFBRUMsT0FBTyxFQUFFLENBQUM7TUFBRSxDQUFDO0lBQ3RFLENBQUM7SUFFREMsVUFBVSxFQUFFLFNBQUFBLENBQVVILE1BQWEsRUFBRTtNQUNwQyxPQUFPSSxPQUFPO0lBQ2YsQ0FBQztJQUVEO0FBQ0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtJQUNDQyxzQkFBc0IsRUFBRSxTQUFBQSxDQUFVQyxhQUFzQyxFQUFFQyxZQUFvQixFQUFFO01BQy9GO01BQ0EsT0FBT0QsYUFBYSxDQUFDRSxVQUFVLENBQUNDLE1BQU0sQ0FBQyxVQUFVQyxLQUFLLEVBQUU7UUFDdkQsSUFBSUEsS0FBSyxDQUFDQyxpQkFBaUIsRUFBRTtVQUM1QixPQUFPRCxLQUFLLENBQUNDLGlCQUFpQixDQUFDQyxhQUFhLEtBQUtMLFlBQVk7UUFDOUQsQ0FBQyxNQUFNO1VBQ04sT0FBTyxLQUFLO1FBQ2I7TUFDRCxDQUFDLENBQUM7SUFDSCxDQUFDO0lBQ0Q7QUFDRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtJQUNDTSxVQUFVLEVBQUUsU0FBQUEsQ0FDWEMsU0FBa0MsRUFDbENQLFlBQW9CLEVBQ3BCUSxpQkFBeUIsRUFDekJDLFFBQWdCLEVBQ2hCQyxnQkFBa0MsRUFDbENDLHlCQUE2RCxFQUM3REMsY0FBd0IsRUFDeEJDLG1CQUF1RCxFQUN0RDtNQUNELElBQUlDLE9BQWlCLEdBQUcsRUFBRTtNQUMxQixNQUFNQyxVQUFVLEdBQUdSLFNBQVMsQ0FBQ04sVUFBVSxDQUFDQyxNQUFNLENBQUMsVUFBVWMsU0FBUyxFQUFFO1FBQ25FLE9BQ0NBLFNBQVMsQ0FBQ0MsS0FBSywwREFBK0MsSUFDOURELFNBQVMsQ0FBQ0MsS0FBSyw2REFBa0QsSUFDaEVELFNBQVMsQ0FBQ1osaUJBQWlCLEVBQUVDLGFBQWEsS0FBS0wsWUFBWSxJQUFJZ0IsU0FBUyxDQUFDRSxpQkFBaUIsS0FBS1YsaUJBQWtCO01BRXBILENBQUMsQ0FBQztNQUNGLEtBQUssTUFBTVEsU0FBUyxJQUFJRCxVQUFVLEVBQUU7UUFDbkMsSUFBSUksV0FBVztRQUNmLElBQUlILFNBQVMsQ0FBQ1osaUJBQWlCLEVBQUVDLGFBQWEsS0FBS0wsWUFBWSxFQUFFO1VBQ2hFbUIsV0FBVyxHQUFHVixRQUFRO1FBQ3ZCLENBQUMsTUFBTSxJQUFJQyxnQkFBZ0IsRUFBRVUsdUJBQXVCLEtBQUssSUFBSSxFQUFFO1VBQzlELE1BQU1DLFlBQVksR0FBRyxTQUFTTCxTQUFTLENBQUNaLGlCQUFpQixFQUFFQyxhQUFhLEVBQUU7VUFDMUUsTUFBTWlCLFFBQVEsR0FBR0MsT0FBTyxDQUFDQyxjQUFjLENBQUNILFlBQVksQ0FBVTtVQUM5REYsV0FBVyxHQUFHRyxRQUFRLEVBQUVHLFFBQVEsQ0FBQyxDQUFDO1FBQ25DLENBQUMsTUFBTSxJQUFJZCx5QkFBeUIsS0FBSzVCLFNBQVMsRUFBRTtVQUNuRCxNQUFNMkMsVUFBVSxHQUFHVixTQUFTLENBQUNFLGlCQUFpQjtVQUM5QyxNQUFNUyxnQkFBZ0IsR0FBR2hCLHlCQUF5QixHQUFHLENBQUMsQ0FBQztVQUN2RFEsV0FBVyxHQUFHTyxVQUFVLElBQUlDLGdCQUFnQixHQUFHRCxVQUFVLENBQUM7UUFDM0QsQ0FBQyxNQUFNLElBQUlkLGNBQWMsRUFBRTtVQUMxQjtVQUNBLE1BQU1jLFVBQVUsR0FBR1YsU0FBUyxDQUFDWixpQkFBaUIsRUFBRUMsYUFBYTtVQUM3RGMsV0FBVyxHQUFHUCxjQUFjLENBQUNnQixTQUFTLENBQUNGLFVBQVUsQ0FBQztRQUNuRDtRQUVBLElBQUksQ0FBQ1AsV0FBVyxJQUFJTixtQkFBbUIsRUFBRTtVQUN4QyxNQUFNZ0IsU0FBUyxHQUFHaEIsbUJBQW1CLEdBQUdHLFNBQVMsQ0FBQ0UsaUJBQWlCLENBQUM7VUFDcEUsSUFBSVcsU0FBUyxFQUFFL0MsTUFBTSxLQUFLLENBQUMsSUFBSStDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRUMsUUFBUSxLQUFLLElBQUksRUFBRTtZQUMvRFgsV0FBVyxHQUFHVSxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUV2QyxNQUFNLENBQUMsQ0FBQyxDQUFDO1VBQ3RDO1FBQ0Q7UUFDQTtRQUNBLElBQUk2QixXQUFXLEtBQUssSUFBSSxJQUFJQSxXQUFXLEtBQUtwQyxTQUFTLEVBQUU7VUFDdEQrQixPQUFPLENBQUN2QixJQUFJLENBQUMsSUFBSXdDLE1BQU0sQ0FBQztZQUFFQyxJQUFJLEVBQUVoQixTQUFTLENBQUNFLGlCQUFpQjtZQUFFWSxRQUFRLEVBQUUsSUFBSTtZQUFFRyxNQUFNLEVBQUVkO1VBQVksQ0FBQyxDQUFDLENBQUM7UUFDckc7TUFDRDtNQUNBLElBQUlSLHlCQUF5QixHQUFHLENBQUMsQ0FBQyxFQUFFO1FBQ25DO1FBQ0E7UUFDQUcsT0FBTyxHQUFHQSxPQUFPLENBQUNvQixNQUFNLENBQUMsSUFBSSxDQUFDQyw0QkFBNEIsQ0FBQ3hCLHlCQUF5QixDQUFDLENBQUMsQ0FBQyxFQUFFSixTQUFTLENBQUMsQ0FBQztNQUNyRztNQUNBLE9BQU9PLE9BQU87SUFDZixDQUFDO0lBRUQ7QUFDRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0lBQ0NxQiw0QkFBNEJBLENBQUNSLGdCQUFzQyxFQUFFcEIsU0FBa0MsRUFBWTtNQUNsSCxNQUFNO1FBQUU2QixNQUFNLEVBQUVDLGNBQWM7UUFBRUMsY0FBYyxFQUFFQyxjQUFjO1FBQUV0QyxVQUFVLEVBQUVjO01BQVcsQ0FBQyxHQUFHUixTQUFTO01BQ3BHLE1BQU1pQyxXQUFXLEdBQUdILGNBQWMsQ0FBQ0ksWUFBWSxDQUFDLENBQUMsQ0FBQ0MsY0FBYyxDQUFDLElBQUlILGNBQWMsRUFBRSxDQUFDO01BQ3RGLE1BQU1JLFVBQVUsR0FBR0MsMkJBQTJCLENBQUNKLFdBQVcsQ0FBQyxDQUFDSyxnQkFBZ0I7TUFDNUUsTUFBTUMsc0JBQXNCLEdBQUcvQixVQUFVLENBQUNnQyxNQUFNLENBQUMsQ0FBQ0MsR0FBRyxFQUFFaEMsU0FBUyxLQUFLO1FBQ3BFLElBQUlBLFNBQVMsQ0FBQ1osaUJBQWlCLEVBQUVDLGFBQWEsRUFBRTtVQUMvQzJDLEdBQUcsQ0FBQ3pELElBQUksQ0FBQ3lCLFNBQVMsQ0FBQ1osaUJBQWlCLENBQUNDLGFBQWEsQ0FBQztRQUNwRDtRQUNBLE9BQU8yQyxHQUFHO01BQ1gsQ0FBQyxFQUFFLEVBQWMsQ0FBQztNQUNsQixNQUFNQyxnQkFBZ0IsR0FBR04sVUFBVSxDQUFDTyxJQUFJLENBQUNILE1BQU0sQ0FBQyxDQUFDQyxHQUFHLEVBQUFHLElBQUEsS0FBd0I7UUFBQSxJQUF0QjtVQUFFekQsSUFBSSxFQUFFMEQ7UUFBUSxDQUFDLEdBQUFELElBQUE7UUFDdEUsSUFBSSxDQUFDTCxzQkFBc0IsQ0FBQ08sUUFBUSxDQUFDRCxPQUFPLENBQUMsSUFBSXpCLGdCQUFnQixDQUFDMkIsY0FBYyxDQUFDRixPQUFPLENBQUMsRUFBRTtVQUMxRkosR0FBRyxDQUFDekQsSUFBSSxDQUFDNkQsT0FBTyxDQUFDO1FBQ2xCO1FBQ0EsT0FBT0osR0FBRztNQUNYLENBQUMsRUFBRSxFQUFjLENBQUM7TUFDbEIsSUFBSUMsZ0JBQWdCLENBQUNuRSxNQUFNLEdBQUcsQ0FBQyxFQUFFO1FBQ2hDLE9BQU9tRSxnQkFBZ0IsQ0FBQ0YsTUFBTSxDQUFDLENBQUNqQyxPQUFpQixFQUFFeUMsR0FBVyxLQUFlO1VBQzVFO1VBQ0EsTUFBTUMsVUFBVSxHQUFHbkIsY0FBYyxDQUFDSSxZQUFZLENBQUMsQ0FBQyxDQUFDQyxjQUFjLENBQUMsSUFBSUgsY0FBYyxJQUFJZ0IsR0FBRyxFQUFFLENBQUM7VUFDNUYsSUFBSUUsWUFBWSxDQUFDQyxvQkFBb0IsQ0FBQ0YsVUFBVSxFQUFFekUsU0FBUyxFQUFFLElBQUksQ0FBQyxFQUFFO1lBQ25FK0IsT0FBTyxDQUFDdkIsSUFBSSxDQUFDLElBQUl3QyxNQUFNLENBQUM7Y0FBRUMsSUFBSSxFQUFFdUIsR0FBRztjQUFFekIsUUFBUSxFQUFFLElBQUk7Y0FBRUcsTUFBTSxFQUFFTixnQkFBZ0IsQ0FBQzRCLEdBQUc7WUFBRSxDQUFDLENBQUMsQ0FBQztVQUN2RjtVQUNBLE9BQU96QyxPQUFPO1FBQ2YsQ0FBQyxFQUFFLEVBQUUsQ0FBQztNQUNQO01BQ0EsT0FBTyxFQUFFO0lBQ1YsQ0FBQztJQUVEO0FBQ0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0lBQ0M2QyxlQUFlLEVBQUUsU0FBQUEsQ0FBVXBGLEtBQVksRUFBRXFGLFNBQW9CLEVBQUVDLE1BQWlDLEVBQUU7TUFDakc7TUFDQTtNQUNBLElBQUlBLE1BQU0sQ0FBQ3BGLEtBQUssS0FBSyxFQUFFLEVBQUU7UUFDeEI7TUFDRDtNQUVBLElBQUlvRixNQUFNLENBQUNDLGdCQUFnQixFQUFFO1FBQzVCLE1BQU1wRCxnQkFBZ0IsR0FBR2tELFNBQVMsQ0FBQ0csVUFBVSxDQUFDLENBQXFCO1FBQ25FLE1BQU1DLGVBQWUsR0FBR3RELGdCQUFnQixDQUFDdUQsd0JBQXdCO1FBQ2pFLE1BQU1DLFNBQVMsR0FBR3hELGdCQUFnQixFQUFFd0QsU0FBUztRQUM3QyxNQUFNQyxXQUFXLEdBQUdOLE1BQU0sQ0FBQ3BGLEtBQUssS0FBSyxJQUFJLElBQUlvRixNQUFNLENBQUNwRixLQUFLLEtBQUtNLFNBQVMsR0FBRzhFLE1BQU0sQ0FBQ3BGLEtBQUssQ0FBQzJGLFFBQVEsQ0FBQyxDQUFDLENBQUN0RixNQUFNLEdBQUcsQ0FBQztRQUM1RyxJQUFJa0YsZUFBZSxLQUFLLEVBQUUsRUFBRTtVQUMzQjtVQUNBO1VBQ0FILE1BQU0sQ0FBQ0MsZ0JBQWdCLEdBQUcsS0FBSztRQUNoQyxDQUFDLE1BQU0sSUFBSUksU0FBUyxLQUFLbkYsU0FBUyxJQUFJb0YsV0FBVyxHQUFHRCxTQUFTLEVBQUU7VUFDOUQ7VUFDQTtRQUNEO01BQ0Q7TUFDQSxPQUFPOUYsaUJBQWlCLENBQUN1RixlQUFlLENBQUNwRixLQUFLLEVBQUVxRixTQUFTLEVBQUVDLE1BQU0sQ0FBQztJQUNuRSxDQUFDO0lBRUQ7QUFDRDtBQUNBO0FBQ0E7QUFDQTtJQUNDUSxhQUFhLEVBQUUsU0FBQUEsQ0FBVTlGLEtBQW1CLEVBQXlCO01BQ3BFLElBQUkrRixZQUFZO01BQ2hCLElBQUkvRixLQUFLLEVBQUVJLEdBQUcsQ0FBQyx3QkFBd0IsQ0FBQyxFQUFFO1FBQ3pDLE9BQU9KLEtBQUssRUFBRTtVQUNiLElBQUlBLEtBQUssRUFBRUksR0FBRyxDQUFlLHNDQUFzQyxDQUFDLEVBQUU7WUFDckUyRixZQUFZLEdBQUcvRixLQUFLO1lBQ3BCO1VBQ0Q7VUFDQUEsS0FBSyxHQUFHQSxLQUFLLEVBQUVnRyxTQUFTLENBQUMsQ0FBcUI7UUFDL0M7UUFDQSxJQUFJRCxZQUFZLEVBQUVFLFVBQVUsQ0FBQyxDQUFDLEVBQUU3RixHQUFHLENBQUMsa0NBQWtDLENBQUMsRUFBRTtVQUN4RSxPQUFPMkYsWUFBWSxDQUFDRSxVQUFVLENBQUMsQ0FBQztRQUNqQztNQUNEO01BQ0EsT0FBT3pGLFNBQVM7SUFDakIsQ0FBQztJQUVEO0FBQ0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtJQUNDMEYsY0FBYyxFQUFFLGVBQUFBLENBQ2ZsRyxLQUFtQixFQUNuQnFGLFNBQW9CLEVBQ3BCTCxHQUFXLEVBQ1htQixZQUFvQixFQUNwQkMsYUFBcUIsRUFDckIvRCxjQUFtQyxFQUNuQ2dFLGVBQStCLEVBQy9CQyxtQkFBMkIsRUFDM0JsRCxnQkFBcUMsRUFDckNtRCxPQUFnQixFQUNoQkMsS0FBYyxFQUNkQyxZQUFxQixFQUNwQjtNQUNEO01BQ0E7TUFDQTtNQUNBOztNQUVBLElBQUlyRixPQUFPLEdBQUdwQixLQUFLLEVBQUV3RixVQUFVLENBQUMsQ0FBaUI7O01BRWpEO01BQ0EsSUFBSSxDQUFDcEUsT0FBTyxJQUFLbUYsT0FBTyxFQUFnQkcsVUFBVSxDQUFDLENBQUMsQ0FBQzVCLFFBQVEsQ0FBQyxhQUFhLENBQUMsRUFBRTtRQUM3RTFELE9BQU8sR0FBRztVQUNUdUYseUJBQXlCLEVBQUU7UUFDNUIsQ0FBQztNQUNGO01BRUEsSUFBSXZGLE9BQU8sRUFBRXVGLHlCQUF5QixLQUFLLElBQUksSUFBSXZGLE9BQU8sRUFBRXdGLGFBQWEsS0FBSyxJQUFJLEVBQUU7UUFDbkYsTUFBTUMsU0FBUyxHQUFHeEIsU0FBUyxDQUFDeUIsUUFBUSxDQUFDLENBQTJCO1FBQ2hFLE1BQU1DLEtBQUssR0FBR0MsU0FBUyxDQUFDQyxvQkFBb0IsQ0FBQzVCLFNBQStCLENBQUM7UUFDN0U7UUFDQTtRQUNBLElBQUksQ0FBQ3dCLFNBQVMsSUFBSSxDQUFDRSxLQUFLLEVBQUU7VUFDekIsT0FBT2xILGlCQUFpQixDQUFDcUcsY0FBYyxDQUN0Q2xHLEtBQUssRUFDTHFGLFNBQVMsRUFDVEwsR0FBRyxFQUNIbUIsWUFBWSxFQUNaQyxhQUFhLEVBQ2IvRCxjQUFjLEVBQ2Q3QixTQUFTLEVBQ1RBLFNBQVMsRUFDVDRDLGdCQUFnQixFQUNoQm1ELE9BQU8sRUFDUEMsS0FBSyxFQUNMQyxZQUNELENBQUM7UUFDRjtRQUNBLE1BQU1TLFNBQVMsR0FBR0wsU0FBUyxHQUN4QkEsU0FBUyxDQUFDM0MsWUFBWSxDQUFDLENBQUMsR0FDeEJpRCxXQUFXLENBQUNDLGVBQWUsQ0FBQy9CLFNBQStCLENBQUMsQ0FDM0R5QixRQUFRLENBQUMsQ0FBQyxDQUNWNUMsWUFBWSxDQUFDLENBQUM7UUFDbEIsTUFBTS9CLGdCQUFnQixHQUFHa0QsU0FBUyxDQUFDRyxVQUFVLENBQUMsQ0FBcUI7UUFDbkUsTUFBTXBELHlCQUF5QixHQUFHZ0IsZ0JBQWdCLEdBQUdqQixnQkFBZ0IsQ0FBQ2tGLGtCQUFrQixDQUFDO1FBQ3pGLE1BQU1DLFlBQVksR0FBR25GLGdCQUFnQixDQUFDbUYsWUFBWTtRQUNsRCxNQUFNQyx1QkFBdUIsR0FBR3BGLGdCQUFnQixFQUFFb0YsdUJBQXVCO1FBQ3pFLElBQUlDLFlBQW9CO1FBRXhCLElBQUk7VUFDSDtVQUNBLE1BQU1oRyxhQUFhLEdBQUcsTUFBTTBGLFNBQVMsQ0FBQ08sb0JBQW9CLENBQUNILFlBQVksRUFBRSxJQUFJLEVBQUVqRixjQUFjLENBQUM7VUFFOUYsTUFBTXFGLFNBQVMsR0FBRyxJQUFJLENBQUM1QixhQUFhLENBQUM5RixLQUFLLENBQUM7VUFDM0MsSUFBSTJILGdCQUErRDtVQUNuRSxJQUFJRCxTQUFTLEVBQUU7WUFDZCxNQUFNRSxXQUE4QixHQUFHLE1BQU1DLFNBQVMsQ0FBQ0MscUJBQXFCLENBQUNKLFNBQVMsQ0FBQztZQUN2RkMsZ0JBQWdCLEdBQUdDLFdBQVcsQ0FBQ2pHLE1BQU07VUFDdEM7VUFFQSxNQUFNRixZQUFZLEdBQUd5RixTQUFTLENBQUM3RCxTQUFTLENBQUMsR0FBR2lFLFlBQVksYUFBYSxDQUFXO1VBQ2hGO1VBQ0EsTUFBTXRGLFNBQVMsR0FBR1IsYUFBYSxDQUFDN0IsTUFBTSxDQUFDZ0YsSUFBSSxDQUFDbkQsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7VUFDOUQsTUFBTXVHLG1CQUFtQixHQUFHLElBQUksQ0FBQ3hHLHNCQUFzQixDQUFDUyxTQUFTLEVBQUVQLFlBQVksQ0FBQztVQUNoRixNQUFNUSxpQkFBaUIsR0FBRzhGLG1CQUFtQixHQUFHLENBQUMsQ0FBQyxFQUFFcEYsaUJBQWlCO1VBQ3JFLElBQUksQ0FBQ1YsaUJBQWlCLEVBQUU7WUFDdkIsTUFBTStGLEtBQUssQ0FBQywwQ0FBMEN2RyxZQUFZLEVBQUUsQ0FBQztVQUN0RTtVQUNBO1VBQ0EsTUFBTXFDLGNBQWMsR0FBRzlCLFNBQVMsQ0FBQzZCLE1BQU07VUFDdkMsTUFBTW9FLGNBQWMsR0FBR25FLGNBQWMsQ0FDbkNJLFlBQVksQ0FBQyxDQUFDLENBQ2RiLFNBQVMsQ0FBQyxJQUFJckIsU0FBUyxDQUFDK0IsY0FBYyxJQUFJOUIsaUJBQWlCLHNDQUFzQyxDQUFDO1VBQ3BHLElBQUlnRyxjQUFjLElBQUlBLGNBQWMsQ0FBQ0MsS0FBSyxFQUFFO1lBQzNDVixZQUFZLEdBQUdTLGNBQWMsQ0FBQ0MsS0FBSztZQUNuQztZQUNBLE1BQU0zRixPQUFPLEdBQUcsSUFBSSxDQUFDUixVQUFVLENBQzlCQyxTQUFTLEVBQ1RQLFlBQVksRUFDWlEsaUJBQWlCLEVBQ2pCK0MsR0FBRyxFQUNIN0MsZ0JBQWdCLEVBQ2hCQyx5QkFBeUIsRUFDekJDLGNBQWMsRUFDZHNGLGdCQUNELENBQUM7WUFDRCxNQUFNUSxXQUFXLEdBQUdyRSxjQUFjLENBQUNzRSxRQUFRLENBQUMsSUFBSXBHLFNBQVMsQ0FBQytCLGNBQWMsRUFBRSxFQUFFdkQsU0FBUyxFQUFFQSxTQUFTLEVBQUUrQixPQUFPLEVBQUU7Y0FDMUc4RixPQUFPLEVBQUViO1lBQ1YsQ0FBQyxDQUFDO1lBQ0Y7WUFDQSxNQUFNYyxRQUFRLEdBQUcsTUFBTUgsV0FBVyxDQUFDSSxlQUFlLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUN4RCxPQUFPRCxRQUFRLENBQUMvSCxNQUFNLEdBQUcrSCxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUNqRixTQUFTLENBQUNtRSxZQUFZLENBQUMsR0FBR2hILFNBQVM7VUFDekUsQ0FBQyxNQUFNLElBQUk2QixjQUFjLEtBQUs3QixTQUFTLElBQUkrRyx1QkFBdUIsRUFBRTtZQUNuRSxNQUFNaUIsU0FBUyxHQUFHakIsdUJBQXVCLENBQUNrQixXQUFXLENBQUMsR0FBRyxDQUFDO1lBQzFELE1BQU1DLGNBQWMsR0FBR0YsU0FBUyxHQUFHLENBQUMsR0FBR2pCLHVCQUF1QixDQUFDb0IsU0FBUyxDQUFDLENBQUMsRUFBRUgsU0FBUyxDQUFDLEdBQUdqQix1QkFBdUI7WUFDaEgsTUFBTXFCLGtCQUFrQixHQUFHekIsV0FBVyxDQUFDQyxlQUFlLENBQUMvQixTQUErQixDQUFDLENBQUN3RCxxQkFBcUIsQ0FBQyxDQUFDO1lBQy9HLE1BQU1ELGtCQUFrQixDQUFDRSxrQkFBa0IsQ0FBQyxDQUFDSixjQUFjLENBQUMsRUFBRXJHLGNBQWMsQ0FBQztZQUM3RTBHLEdBQUcsQ0FBQ0MsT0FBTyxDQUNWLG1FQUFtRS9HLGlCQUFpQix5REFDckYsQ0FBQztZQUNELE9BQU96QixTQUFTO1VBQ2pCLENBQUMsTUFBTTtZQUNOO1lBQ0EsTUFBTXlJLGNBQWMsR0FBRy9CLFNBQVMsRUFBRTdELFNBQVMsQ0FDMUMsR0FBR2xCLGdCQUFnQixDQUFDbUYsWUFBWSw0Q0FDakMsQ0FBQyxFQUFFWSxLQUFLO1lBQ1IsSUFBSWUsY0FBYyxFQUFFO2NBQ25CLE1BQU1DLGtCQUFrQixHQUFHL0csZ0JBQWdCLENBQUNtRixZQUFZLENBQUM2QixPQUFPLENBQUMxSCxZQUFZLEVBQUV3SCxjQUFjLENBQUM7Y0FDOUYsTUFBTUcsY0FBYyxHQUFHbEMsU0FBUyxDQUFDN0QsU0FBUyxDQUFDLEdBQUc2RixrQkFBa0IsYUFBYSxDQUFDO2NBQzlFLE1BQU1HLHlCQUF5QixHQUFHbkMsU0FBUyxFQUFFN0QsU0FBUyxDQUFDLEdBQUc2RixrQkFBa0Isc0NBQXNDLENBQUMsRUFDaEhoQixLQUFLO2NBQ1IsTUFBTTNGLE9BQU8sR0FBRyxFQUFFO2NBQ2xCQSxPQUFPLENBQUN2QixJQUFJLENBQUMsSUFBSXdDLE1BQU0sQ0FBQztnQkFBRUMsSUFBSSxFQUFFMkYsY0FBYztnQkFBRTdGLFFBQVEsRUFBRSxJQUFJO2dCQUFFRyxNQUFNLEVBQUVzQjtjQUFJLENBQUMsQ0FBQyxDQUFDO2NBQy9FLE1BQU1tRCxXQUFXLEdBQUdyRSxjQUFjLENBQUNzRSxRQUFRLENBQUMsSUFBSXBHLFNBQVMsQ0FBQytCLGNBQWMsRUFBRSxFQUFFdkQsU0FBUyxFQUFFQSxTQUFTLEVBQUUrQixPQUFPLEVBQUU7Z0JBQzFHOEYsT0FBTyxFQUFFLEdBQUdlLGNBQWMsSUFBSUMseUJBQXlCO2NBQ3hELENBQUMsQ0FBQztjQUNGLE1BQU1mLFFBQVEsR0FBRyxNQUFNSCxXQUFXLENBQUNJLGVBQWUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO2NBQ3hELElBQUlELFFBQVEsQ0FBQy9ILE1BQU0sRUFBRTtnQkFDcEIsT0FBTytILFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQ2pGLFNBQVMsQ0FBQ2dHLHlCQUF5QixDQUFDO2NBQ3hEO1lBQ0Q7WUFDQU4sR0FBRyxDQUFDTyxLQUFLLENBQUMsdUJBQXVCckgsaUJBQWlCLGlCQUFpQixDQUFDO1lBQ3BFLE9BQU96QixTQUFTO1VBQ2pCO1FBQ0QsQ0FBQyxDQUFDLE9BQU84SSxLQUFLLEVBQUU7VUFDZixNQUFNQyxNQUFNLEdBQUdELEtBQUssR0FBSUEsS0FBSyxDQUFvQkMsTUFBTSxHQUFHL0ksU0FBUztVQUNuRSxNQUFNZ0osT0FBTyxHQUFHRixLQUFLLFlBQVl0QixLQUFLLEdBQUdzQixLQUFLLENBQUNFLE9BQU8sR0FBR0MsTUFBTSxDQUFDSCxLQUFLLENBQUM7VUFDdEUsTUFBTUksR0FBRyxHQUFHSCxNQUFNLEtBQUssR0FBRyxHQUFHLHVCQUF1QkEsTUFBTSxnQ0FBZ0NqQyxZQUFZLEVBQUUsR0FBR2tDLE9BQU87VUFDbEhULEdBQUcsQ0FBQ08sS0FBSyxDQUFDSSxHQUFHLENBQUM7UUFDZjtNQUNEO01BQ0EsT0FBT2xKLFNBQVM7SUFDakI7RUFDRCxDQUFDLENBQUM7QUFBQSIsImlnbm9yZUxpc3QiOltdfQ==
365
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJPYmplY3QiLCJhc3NpZ24iLCJGaWVsZEJhc2VEZWxlZ2F0ZSIsImFwaVZlcnNpb24iLCJpbml0aWFsaXplVHlwZUZyb21CaW5kaW5nIiwiZmllbGQiLCJ0eXBlIiwidmFsdWUiLCJyZXN1bHQiLCJpc0EiLCJBcnJheSIsImlzQXJyYXkiLCJsZW5ndGgiLCJ1bmRlZmluZWQiLCJmb3JtYXRWYWx1ZSIsImJUeXBlSW5pdGlhbGl6ZWQiLCJtQ3VzdG9tVW5pdHMiLCJpbml0aWFsaXplSW50ZXJuYWxVbml0VHlwZSIsInR5cGVJbml0aWFsaXphdGlvbiIsImVuaGFuY2VWYWx1ZUZvclVuaXQiLCJ2YWx1ZXMiLCJwdXNoIiwiZ2V0RGVmYXVsdFZhbHVlSGVscERlbGVnYXRlIiwiX2ZpZWxkIiwibmFtZSIsInBheWxvYWQiLCJnZXRUeXBlTWFwIiwiVHlwZU1hcCIsIl9nZXRWYWx1ZUxpc3RQYXJhbWV0ZXIiLCJ2YWx1ZUxpc3RJbmZvIiwicHJvcGVydHlOYW1lIiwiUGFyYW1ldGVycyIsImZpbHRlciIsImVudHJ5IiwiTG9jYWxEYXRhUHJvcGVydHkiLCIkUHJvcGVydHlQYXRoIiwiX2dldEZpbHRlciIsInZhbHVlTGlzdCIsInZhbHVlSGVscFByb3BlcnR5Iiwia2V5VmFsdWUiLCJ2YWx1ZWhlbHBQYXlsb2FkIiwidmFsdWVoZWxwQ29uZGl0aW9uUGF5bG9hZCIsImJpbmRpbmdDb250ZXh0IiwiZmlsdGVyQmFyQ29uZGl0aW9ucyIsImZpbHRlcnMiLCJwYXJhbWV0ZXJzIiwicGFyYW1ldGVyIiwiJFR5cGUiLCJWYWx1ZUxpc3RQcm9wZXJ0eSIsImZpbHRlclZhbHVlIiwiaXNBY3Rpb25QYXJhbWV0ZXJEaWFsb2ciLCJhcGRGaWVsZFBhdGgiLCJhcGRGaWVsZCIsIkVsZW1lbnQiLCJnZXRFbGVtZW50QnlJZCIsImdldFZhbHVlIiwic291cmNlUGF0aCIsImNvbmRpdGlvblBheWxvYWQiLCJnZXRPYmplY3QiLCJjb25kaXRpb24iLCJvcGVyYXRvciIsIkZpbHRlciIsInBhdGgiLCJ2YWx1ZTEiLCJjb25jYXQiLCJfZ2V0UmVtYWluaW5nS2V5VmFsdWVGaWx0ZXJzIiwiJG1vZGVsIiwidmFsdWVMaXN0TW9kZWwiLCJDb2xsZWN0aW9uUGF0aCIsImNvbGxlY3Rpb25QYXRoIiwibWV0YUNvbnRleHQiLCJnZXRNZXRhTW9kZWwiLCJnZXRNZXRhQ29udGV4dCIsImVudGl0eVR5cGUiLCJnZXRJbnZvbHZlZERhdGFNb2RlbE9iamVjdHMiLCJ0YXJnZXRFbnRpdHlUeXBlIiwiYWxsTG9jYWxEYXRhUHJvcGVydGllcyIsInJlZHVjZSIsImFyciIsImFsbFJlbWFpbmluZ0tleXMiLCJrZXlzIiwiX3JlZiIsImtleU5hbWUiLCJpbmNsdWRlcyIsImhhc093blByb3BlcnR5Iiwia2V5Iiwia2V5Q29udGV4dCIsIkNvbW1vbkhlbHBlciIsImlzUHJvcGVydHlGaWx0ZXJhYmxlIiwiZ2V0SXRlbUZvclZhbHVlIiwidmFsdWVIZWxwIiwiY29uZmlnIiwiY2hlY2tEZXNjcmlwdGlvbiIsImNvbnRhaW5lciIsImdldFR5cGVhaGVhZCIsImdldFBheWxvYWQiLCJzZWxlY3RlZENvbnRlbnQiLCJnZXRTZWxlY3RlZENvbnRlbnQiLCJjb250ZW50SWQiLCJnZXRJZCIsIlZhbHVlSGVscERlbGVnYXRlIiwicmV0cmlldmVDb250ZW50IiwibWF4TGVuZ3RoIiwidmFsdWVMZW5ndGgiLCJ0b1N0cmluZyIsImRlc2NyaXB0aW9uUGF0aCIsInZhbHVlSGVscERlc2NyaXB0aW9uUGF0aCIsIl9nZXRGaWx0ZXJCYXIiLCJmaWx0ZXJCYXJBUEkiLCJnZXRQYXJlbnQiLCJnZXRDb250ZW50IiwiZ2V0RGVzY3JpcHRpb24iLCJfY29uZGl0aW9uSW4iLCJfY29uZGl0aW9uT3V0IiwiX0NvbmRpdGlvbk1vZGVsIiwiX2NvbmRpdGlvbk1vZGVsTmFtZSIsImNvbnRyb2wiLCJfdHlwZSIsImVtcHR5QWxsb3dlZCIsImdldERpc3BsYXkiLCJyZXRyaWV2ZVRleHRGcm9tVmFsdWVMaXN0IiwiaXNGaWx0ZXJGaWVsZCIsImRhdGFNb2RlbCIsImdldE1vZGVsIiwib3duZXIiLCJDb21wb25lbnQiLCJnZXRPd25lckNvbXBvbmVudEZvciIsIm1ldGFNb2RlbCIsIkNvbW1vblV0aWxzIiwiZ2V0QXBwQ29tcG9uZW50IiwidmFsdWVIZWxwUXVhbGlmaWVyIiwicHJvcGVydHlQYXRoIiwicHJvcGVydHlEZXNjcmlwdGlvblBhdGgiLCJ0ZXh0UHJvcGVydHkiLCJyZXF1ZXN0VmFsdWVMaXN0SW5mbyIsImZpbHRlckJhciIsImZpbHRlckNvbmRpdGlvbnMiLCJmaWx0ZXJTdGF0ZSIsIlN0YXRlVXRpbCIsInJldHJpZXZlRXh0ZXJuYWxTdGF0ZSIsInZhbHVlSGVscFBhcmFtZXRlcnMiLCJFcnJvciIsInRleHRBbm5vdGF0aW9uIiwiJFBhdGgiLCJsaXN0QmluZGluZyIsImJpbmRMaXN0IiwiJHNlbGVjdCIsImNvbnRleHRzIiwicmVxdWVzdENvbnRleHRzIiwibGFzdEluZGV4IiwibGFzdEluZGV4T2YiLCJzaWRlRWZmZWN0UGF0aCIsInN1YnN0cmluZyIsInNpZGVFZmZlY3RzU2VydmljZSIsImdldFNpZGVFZmZlY3RzU2VydmljZSIsInJlcXVlc3RTaWRlRWZmZWN0cyIsIkxvZyIsIndhcm5pbmciLCJleHRlcm5hbElkUGF0aCIsImV4dGVybmFsSWRGdWxsUGF0aCIsInJlcGxhY2UiLCJleHRlcm5hbElkTmFtZSIsImV4dGVybmFsSWREZXNjcmlwdGlvblBhdGgiLCJlcnJvciIsInN0YXR1cyIsIm1lc3NhZ2UiLCJTdHJpbmciLCJtc2ciXSwic291cmNlUm9vdCI6Ii4iLCJzb3VyY2VzIjpbIkZpZWxkQmFzZURlbGVnYXRlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbkFubm90YXRpb25UeXBlcyB9IGZyb20gXCJAc2FwLXV4L3ZvY2FidWxhcmllcy10eXBlcy92b2NhYnVsYXJpZXMvQ29tbW9uXCI7XG5pbXBvcnQgTG9nIGZyb20gXCJzYXAvYmFzZS9Mb2dcIjtcbmltcG9ydCBDb21tb25VdGlscyBmcm9tIFwic2FwL2ZlL2NvcmUvQ29tbW9uVXRpbHNcIjtcbmltcG9ydCB7IGdldEludm9sdmVkRGF0YU1vZGVsT2JqZWN0cyB9IGZyb20gXCJzYXAvZmUvY29yZS9jb252ZXJ0ZXJzL01ldGFNb2RlbENvbnZlcnRlclwiO1xuaW1wb3J0IHR5cGUgeyBBbm5vdGF0aW9uVmFsdWVMaXN0VHlwZSwgVmFsdWVIZWxwUGF5bG9hZCB9IGZyb20gXCJzYXAvZmUvbWFjcm9zL2ludGVybmFsL3ZhbHVlaGVscC9WYWx1ZUxpc3RIZWxwZXJcIjtcbmltcG9ydCBDb21wb25lbnQgZnJvbSBcInNhcC91aS9jb3JlL0NvbXBvbmVudFwiO1xuaW1wb3J0IHR5cGUgQ29udHJvbCBmcm9tIFwic2FwL3VpL2NvcmUvQ29udHJvbFwiO1xuaW1wb3J0IEVsZW1lbnQgZnJvbSBcInNhcC91aS9jb3JlL0VsZW1lbnRcIjtcbmltcG9ydCB0eXBlIEZpZWxkIGZyb20gXCJzYXAvdWkvbWRjL0ZpZWxkXCI7XG5pbXBvcnQgdHlwZSBWYWx1ZUhlbHAgZnJvbSBcInNhcC91aS9tZGMvVmFsdWVIZWxwXCI7XG5pbXBvcnQgdHlwZSB7IEl0ZW1Gb3JWYWx1ZUNvbmZpZ3VyYXRpb24gfSBmcm9tIFwic2FwL3VpL21kYy9WYWx1ZUhlbHBcIjtcbmltcG9ydCB7IHR5cGUgQ29uZGl0aW9uT2JqZWN0IH0gZnJvbSBcInNhcC91aS9tZGMvY29uZGl0aW9uL0NvbmRpdGlvblwiO1xuaW1wb3J0IHR5cGUgQ29uZGl0aW9uTW9kZWwgZnJvbSBcInNhcC91aS9tZGMvY29uZGl0aW9uL0NvbmRpdGlvbk1vZGVsXCI7XG5pbXBvcnQgdHlwZSBGaWVsZEJhc2UgZnJvbSBcInNhcC91aS9tZGMvZmllbGQvRmllbGRCYXNlXCI7XG5pbXBvcnQgRmllbGRCYXNlRGVsZWdhdGUgZnJvbSBcInNhcC91aS9tZGMvZmllbGQvRmllbGRCYXNlRGVsZWdhdGVcIjtcbmltcG9ydCBUeXBlTWFwIGZyb20gXCJzYXAvdWkvbWRjL29kYXRhL3Y0L1R5cGVNYXBcIjtcbmltcG9ydCBTdGF0ZVV0aWwgZnJvbSBcInNhcC91aS9tZGMvcDEzbi9TdGF0ZVV0aWxcIjtcbmltcG9ydCBGaWx0ZXIgZnJvbSBcInNhcC91aS9tb2RlbC9GaWx0ZXJcIjtcbmltcG9ydCB0eXBlIFNpbXBsZVR5cGUgZnJvbSBcInNhcC91aS9tb2RlbC9TaW1wbGVUeXBlXCI7XG5pbXBvcnQgdHlwZSBDb250ZXh0IGZyb20gXCJzYXAvdWkvbW9kZWwvb2RhdGEvdjQvQ29udGV4dFwiO1xuaW1wb3J0IHR5cGUgT0RhdGFNb2RlbCBmcm9tIFwic2FwL3VpL21vZGVsL29kYXRhL3Y0L09EYXRhTW9kZWxcIjtcbmltcG9ydCBDb21tb25IZWxwZXIgZnJvbSBcIi4uL0NvbW1vbkhlbHBlclwiO1xuaW1wb3J0IHR5cGUgRmlsdGVyQmFyIGZyb20gXCIuLi9jb250cm9scy9GaWx0ZXJCYXJcIjtcbmltcG9ydCB0eXBlIEZpbHRlckJhckFQSSBmcm9tIFwiLi4vZmlsdGVyQmFyL0ZpbHRlckJhckFQSVwiO1xuaW1wb3J0IHR5cGUgeyBDb25kaXRpb25QYXlsb2FkTWFwLCBDb25kaXRpb25QYXlsb2FkVHlwZSwgRXh0ZXJuYWxTdGF0ZVR5cGUgfSBmcm9tIFwiLi4vdmFsdWVoZWxwL1ZhbHVlSGVscERlbGVnYXRlXCI7XG5pbXBvcnQgVmFsdWVIZWxwRGVsZWdhdGUgZnJvbSBcIi4uL3ZhbHVlaGVscC9WYWx1ZUhlbHBEZWxlZ2F0ZVwiO1xuXG5leHBvcnQgdHlwZSBGaWVsZFBheWxvYWQgPSB7XG5cdHJldHJpZXZlVGV4dEZyb21WYWx1ZUxpc3Q/OiBib29sZWFuO1xuXHRpc0ZpbHRlckZpZWxkPzogYm9vbGVhbjtcbn07XG5cbmV4cG9ydCB0eXBlIFZhbHVlID0gc3RyaW5nIHwgRGF0ZSB8IG51bWJlciB8IGJvb2xlYW4gfCB1bmRlZmluZWQgfCBudWxsO1xuXG5leHBvcnQgdHlwZSBUeXBlSW5pdGlhbGl6YXRpb24gPSB7XG5cdGJUeXBlSW5pdGlhbGl6ZWQ/OiBib29sZWFuO1xuXHRtQ3VzdG9tVW5pdHM/OiBzdHJpbmc7XG59O1xuXG5leHBvcnQgdHlwZSBDb25maWcgPSB7XG5cdHZhbHVlOiBWYWx1ZTtcblx0cGFyc2VkVmFsdWU6IFZhbHVlO1xuXHRiaW5kaW5nQ29udGV4dDogQ29udGV4dDtcblx0Y2hlY2tLZXk6IGJvb2xlYW47XG5cdGNoZWNrRGVzY3JpcHRpb246IGJvb2xlYW47XG5cdGNvbmRpdGlvbk1vZGVsPzogQ29uZGl0aW9uTW9kZWw7XG5cdGNvbmRpdGlvbk1vZGVsTmFtZT86IHN0cmluZztcblx0Y29udHJvbD86IG9iamVjdDtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IE9iamVjdC5hc3NpZ24oe30sIEZpZWxkQmFzZURlbGVnYXRlLCB7XG5cdGFwaVZlcnNpb246IDIsXG5cblx0LyoqXG5cdCAqIElmIHRoZSA8Y29kZT5GaWVsZDwvY29kZT4gY29udHJvbCBpcyB1c2VkLCB0aGUgdXNlZCBkYXRhIHR5cGUgbWlnaHQgY29tZSBmcm9tIHRoZSBiaW5kaW5nLlxuXHQgKiBJbiBWNC11bml0IG9yIGN1cnJlbmN5IGNhc2UgaXQgbWlnaHQgbmVlZCB0byBiZSBmb3JtYXR0ZWQgb25jZS5cblx0ICogVG8gaW5pdGlhbGl6ZSB0aGUgaW50ZXJuYWwgdHlwZSBsYXRlciBvbiwgdGhlIGN1cnJlbmNpZXMgbXVzdCBiZSByZXR1cm5lZC5cblx0ICogQHBhcmFtIGZpZWxkIFRoZSA8Y29kZT5GaWVsZDwvY29kZT4gaW5zdGFuY2Vcblx0ICogQHBhcmFtIHR5cGUgVHlwZSBmcm9tIGJpbmRpbmdcblx0ICogQHBhcmFtIHZhbHVlIEdpdmVuIHZhbHVlXG5cdCAqIEByZXR1cm5zIEluZm9ybWF0aW9uIG5lZWRlZCB0byBpbml0aWFsaXplIGludGVybmFsIHR5cGUgKG5lZWRzIHRvIHNldCBiVHlwZUluaXRpYWxpemVkIHRvIHRydWUgaWYgaW5pdGlhbGl6ZWQpXG5cdCAqL1xuXHRpbml0aWFsaXplVHlwZUZyb21CaW5kaW5nOiBmdW5jdGlvbiAoZmllbGQ6IEZpZWxkLCB0eXBlOiBTaW1wbGVUeXBlIHwgdW5kZWZpbmVkLCB2YWx1ZTogVmFsdWUgfCBWYWx1ZVtdKSB7XG5cdFx0Ly8gVjQgVW5pdCBhbmQgQ3VycmVuY3kgdHlwZXMgaGF2ZSBhIG1hcCB3aXRoIHZhbGlkIHVuaXRzIGFuZCBjcmVhdGUgYW4gaW50ZXJuYWwgY3VzdG9taXppbmcgZm9yIGl0LlxuXHRcdC8vIFRoZSBGaWVsZCBuZWVkcyB0byBrZWVwIHRoaXMgY3VzdG9taXppbmcgbG9naWMgd2hlbiBjcmVhdGluZyB0aGUgaW50ZXJuYWwgdHlwZS5cblx0XHQvLyAoQXMgZXh0ZXJuYWwgUkFXIGJpbmRpbmcgaXMgdXNlZCB0aGVyZSBpcyBubyBmb3JtYXR0aW5nIG9uIHBhcnNpbmcuKVxuXG5cdFx0Y29uc3QgcmVzdWx0OiBUeXBlSW5pdGlhbGl6YXRpb24gPSB7fTtcblx0XHRpZiAoXG5cdFx0XHR0eXBlICYmXG5cdFx0XHR0eXBlLmlzQShbXCJzYXAudWkubW9kZWwub2RhdGEudHlwZS5Vbml0XCIsIFwic2FwLnVpLm1vZGVsLm9kYXRhLnR5cGUuQ3VycmVuY3lcIl0pICYmXG5cdFx0XHRBcnJheS5pc0FycmF5KHZhbHVlKSAmJlxuXHRcdFx0dmFsdWUubGVuZ3RoID4gMiAmJlxuXHRcdFx0dmFsdWVbMl0gIT09IHVuZGVmaW5lZFxuXHRcdCkge1xuXHRcdFx0Ly8gZm9ybWF0IG9uY2UgdG8gc2V0IGludGVybmFsIGN1c3RvbWl6aW5nLiBBbGxvdyBudWxsIGFzIHZhbGlkIHZhbHVlcyBmb3IgY3VzdG9tIHVuaXRzXG5cdFx0XHR0eXBlLmZvcm1hdFZhbHVlKHZhbHVlLCBcInN0cmluZ1wiKTtcblx0XHRcdHJlc3VsdC5iVHlwZUluaXRpYWxpemVkID0gdHJ1ZTtcblx0XHRcdHJlc3VsdC5tQ3VzdG9tVW5pdHMgPSB2YWx1ZVsyXSBhcyBzdHJpbmc7IC8vIFRPRE86IGZpbmQgYSBiZXR0ZXIgd2F5IHRvIHByb3ZpZGUgY3VzdG9tIHVuaXRzIHRvIGludGVybmFsIHR5cGVcblx0XHR9XG5cblx0XHRyZXR1cm4gcmVzdWx0O1xuXHR9LFxuXG5cdC8qKlxuXHQgKiBUaGlzIGZ1bmN0aW9uIGluaXRpYWxpemVzIHRoZSB1bml0IHR5cGUuXG5cdCAqIElmIHRoZSA8Y29kZT5GaWVsZDwvY29kZT4gY29udHJvbCBpcyB1c2VkLCB0aGUgdXNlZCBkYXRhIHR5cGUgbWlnaHQgY29tZSBmcm9tIHRoZSBiaW5kaW5nLlxuXHQgKiBJZiB0aGUgdHlwZSBpcyBhIFY0IHVuaXQgb3IgY3VycmVuY3ksIGl0IG1pZ2h0IG5lZWQgdG8gYmUgZm9ybWF0dGVkIG9uY2UuXG5cdCAqIEBwYXJhbSBmaWVsZCBUaGUgPGNvZGU+RmllbGQ8L2NvZGU+IGluc3RhbmNlXG5cdCAqIEBwYXJhbSB0eXBlIFR5cGUgZnJvbSBiaW5kaW5nXG5cdCAqIEBwYXJhbSB0eXBlSW5pdGlhbGl6YXRpb24gSW5mb3JtYXRpb24gbmVlZGVkIHRvIGluaXRpYWxpemUgaW50ZXJuYWwgdHlwZVxuXHQgKi9cblx0aW5pdGlhbGl6ZUludGVybmFsVW5pdFR5cGU6IGZ1bmN0aW9uIChmaWVsZDogRmllbGQsIHR5cGU6IFNpbXBsZVR5cGUsIHR5cGVJbml0aWFsaXphdGlvbj86IFR5cGVJbml0aWFsaXphdGlvbikge1xuXHRcdGlmICh0eXBlSW5pdGlhbGl6YXRpb24/Lm1DdXN0b21Vbml0cyAhPT0gdW5kZWZpbmVkKSB7XG5cdFx0XHQvLyBpZiBhbHJlYWR5IGluaXRpYWxpemVkIGluaXRpYWxpemUgbmV3IHR5cGUgdG9vLlxuXHRcdFx0dHlwZS5mb3JtYXRWYWx1ZShbbnVsbCwgbnVsbCwgdHlwZUluaXRpYWxpemF0aW9uLm1DdXN0b21Vbml0c10sIFwic3RyaW5nXCIpO1xuXHRcdH1cblx0fSxcblxuXHQvKipcblx0ICogVGhpcyBmdW5jdGlvbiBlbmhhbmNlcyB0aGUgdmFsdWUgd2l0aCB1bml0IG9yIGN1cnJlbmN5IGluZm9ybWF0aW9uIGlmIG5lZWRlZCBieSB0aGUgZGF0YSB0eXBlLlxuXHQgKiBAcGFyYW0gZmllbGQgVGhlIDxjb2RlPkZpZWxkPC9jb2RlPiBpbnN0YW5jZVxuXHQgKiBAcGFyYW0gIHZhbHVlcyBWYWx1ZXNcblx0ICogQHBhcmFtICB0eXBlSW5pdGlhbGl6YXRpb24gSW5mb3JtYXRpb24gbmVlZGVkIHRvIGluaXRpYWxpemUgaW50ZXJuYWwgdHlwZVxuXHQgKiBAcmV0dXJucyBWYWx1ZXNcblx0ICovXG5cdGVuaGFuY2VWYWx1ZUZvclVuaXQ6IGZ1bmN0aW9uIChmaWVsZDogRmllbGQsIHZhbHVlczogVmFsdWVbXSwgdHlwZUluaXRpYWxpemF0aW9uPzogVHlwZUluaXRpYWxpemF0aW9uKSB7XG5cdFx0aWYgKHR5cGVJbml0aWFsaXphdGlvbj8uYlR5cGVJbml0aWFsaXplZCA9PT0gdHJ1ZSAmJiB2YWx1ZXMubGVuZ3RoID09PSAyKSB7XG5cdFx0XHR2YWx1ZXMucHVzaCh0eXBlSW5pdGlhbGl6YXRpb24ubUN1c3RvbVVuaXRzKTtcblx0XHRcdHJldHVybiB2YWx1ZXM7XG5cdFx0fVxuXG5cdFx0cmV0dXJuIHVuZGVmaW5lZDtcblx0fSxcblxuXHQvKipcblx0ICogVGhpcyBmdW5jdGlvbiByZXR1cm5zIHdoaWNoIDxjb2RlPlZhbHVlSGVscERlbGVnYXRlPC9jb2RlPiBpcyB1c2VkXG5cdCAqIGlmIGEgZGVmYXVsdCBmaWVsZCBoZWxwIChmb3IgZXhhbXBsZSwgZm9yIGRlZmluaW5nIGNvbmRpdGlvbnMgaW4gPC9jb2RlPkZpbHRlckZpZWxkPC9jb2RlPilcblx0ICogaXMgY3JlYXRlZC5cblx0ICogQHBhcmFtIF9maWVsZCBUaGUgPGNvZGU+RmllbGQ8L2NvZGU+IGluc3RhbmNlXG5cdCAqIEByZXR1cm5zIERlbGVnYXRlIG9iamVjdCB3aXRoIG5hbWUgYW5kIHBheWxvYWRcblx0ICovXG5cdGdldERlZmF1bHRWYWx1ZUhlbHBEZWxlZ2F0ZTogZnVuY3Rpb24gKF9maWVsZDogRmllbGQpIHtcblx0XHRyZXR1cm4geyBuYW1lOiBcInNhcC91aS9tZGMvb2RhdGEvdjQvVmFsdWVIZWxwRGVsZWdhdGVcIiwgcGF5bG9hZDoge30gfTtcblx0fSxcblxuXHRnZXRUeXBlTWFwOiBmdW5jdGlvbiAoX2ZpZWxkOiBGaWVsZCkge1xuXHRcdHJldHVybiBUeXBlTWFwO1xuXHR9LFxuXG5cdC8qKlxuXHQgKiBEZXRlcm1pbmUgYWxsIHBhcmFtZXRlcnMgaW4gYSB2YWx1ZSBoZWxwIHRoYXQgdXNlIGEgc3BlY2lmaWMgcHJvcGVydHkuXG5cdCAqIEBwYXJhbSB2YWx1ZUxpc3RJbmZvIFZhbHVlIGxpc3QgaW5mb1xuXHQgKiBAcGFyYW0gcHJvcGVydHlOYW1lIE5hbWUgb2YgdGhlIHByb3BlcnR5XG5cdCAqIEByZXR1cm5zIExpc3Qgb2YgYWxsIGZvdW5kIHBhcmFtZXRlcnNcblx0ICovXG5cdF9nZXRWYWx1ZUxpc3RQYXJhbWV0ZXI6IGZ1bmN0aW9uICh2YWx1ZUxpc3RJbmZvOiBBbm5vdGF0aW9uVmFsdWVMaXN0VHlwZSwgcHJvcGVydHlOYW1lOiBzdHJpbmcpIHtcblx0XHQvL2RldGVybWluZSBwYXRoIHRvIHZhbHVlIGxpc3QgcHJvcGVydHlcblx0XHRyZXR1cm4gdmFsdWVMaXN0SW5mby5QYXJhbWV0ZXJzLmZpbHRlcihmdW5jdGlvbiAoZW50cnkpIHtcblx0XHRcdGlmIChlbnRyeS5Mb2NhbERhdGFQcm9wZXJ0eSkge1xuXHRcdFx0XHRyZXR1cm4gZW50cnkuTG9jYWxEYXRhUHJvcGVydHkuJFByb3BlcnR5UGF0aCA9PT0gcHJvcGVydHlOYW1lO1xuXHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0cmV0dXJuIGZhbHNlO1xuXHRcdFx0fVxuXHRcdH0pO1xuXHR9LFxuXHQvKipcblx0ICogQnVpbGQgZmlsdGVycyBmb3IgZWFjaCByZWxldmFudCBwYXJhbWV0ZXIuXG5cdCAqIEBwYXJhbSB2YWx1ZUxpc3QgVmFsdWUgbGlzdCBpbmZvXG5cdCAqIEBwYXJhbSBwcm9wZXJ0eU5hbWUgTmFtZSBvZiB0aGUgcHJvcGVydHlcblx0ICogQHBhcmFtIHZhbHVlSGVscFByb3BlcnR5IE5hbWUgb2YgdGhlIHZhbHVlIGhlbHAgcHJvcGVydHlcblx0ICogQHBhcmFtIGtleVZhbHVlIFZhbHVlIG9mIHRoZSBwcm9wZXJ0eVxuXHQgKiBAcGFyYW0gdmFsdWVoZWxwUGF5bG9hZCBQYXlsb2FkIG9mIHRoZSB2YWx1ZSBoZWxwXG5cdCAqIEBwYXJhbSB2YWx1ZWhlbHBDb25kaXRpb25QYXlsb2FkIEFkZGl0aW9uYWwgY29uZGl0aW9uIGluZm9ybWF0aW9uIGZvciB0aGlzIGtleVxuXHQgKiBAcGFyYW0gYmluZGluZ0NvbnRleHQgQmluZGluZ0NvbnRleHQgb2YgdGhlIGZpZWxkXG5cdCAqIEByZXR1cm5zIExpc3Qgb2YgZmlsdGVyc1xuXHQgKi9cblx0X2dldEZpbHRlcjogZnVuY3Rpb24gKFxuXHRcdHZhbHVlTGlzdDogQW5ub3RhdGlvblZhbHVlTGlzdFR5cGUsXG5cdFx0cHJvcGVydHlOYW1lOiBzdHJpbmcsXG5cdFx0dmFsdWVIZWxwUHJvcGVydHk6IHN0cmluZyxcblx0XHRrZXlWYWx1ZTogc3RyaW5nLFxuXHRcdHZhbHVlaGVscFBheWxvYWQ6IFZhbHVlSGVscFBheWxvYWQsXG5cdFx0dmFsdWVoZWxwQ29uZGl0aW9uUGF5bG9hZDogQ29uZGl0aW9uUGF5bG9hZFR5cGVbXSB8IHVuZGVmaW5lZCxcblx0XHRiaW5kaW5nQ29udGV4dD86IENvbnRleHQsXG5cdFx0ZmlsdGVyQmFyQ29uZGl0aW9ucz86IFJlY29yZDxzdHJpbmcsIENvbmRpdGlvbk9iamVjdFtdPlxuXHQpIHtcblx0XHRsZXQgZmlsdGVyczogRmlsdGVyW10gPSBbXTtcblx0XHRjb25zdCBwYXJhbWV0ZXJzID0gdmFsdWVMaXN0LlBhcmFtZXRlcnMuZmlsdGVyKGZ1bmN0aW9uIChwYXJhbWV0ZXIpIHtcblx0XHRcdHJldHVybiAoXG5cdFx0XHRcdHBhcmFtZXRlci4kVHlwZSA9PT0gQ29tbW9uQW5ub3RhdGlvblR5cGVzLlZhbHVlTGlzdFBhcmFtZXRlckluIHx8XG5cdFx0XHRcdHBhcmFtZXRlci4kVHlwZSA9PT0gQ29tbW9uQW5ub3RhdGlvblR5cGVzLlZhbHVlTGlzdFBhcmFtZXRlckluT3V0IHx8XG5cdFx0XHRcdChwYXJhbWV0ZXIuTG9jYWxEYXRhUHJvcGVydHk/LiRQcm9wZXJ0eVBhdGggPT09IHByb3BlcnR5TmFtZSAmJiBwYXJhbWV0ZXIuVmFsdWVMaXN0UHJvcGVydHkgPT09IHZhbHVlSGVscFByb3BlcnR5KVxuXHRcdFx0KTtcblx0XHR9KTtcblx0XHRmb3IgKGNvbnN0IHBhcmFtZXRlciBvZiBwYXJhbWV0ZXJzKSB7XG5cdFx0XHRsZXQgZmlsdGVyVmFsdWU7XG5cdFx0XHRpZiAocGFyYW1ldGVyLkxvY2FsRGF0YVByb3BlcnR5Py4kUHJvcGVydHlQYXRoID09PSBwcm9wZXJ0eU5hbWUpIHtcblx0XHRcdFx0ZmlsdGVyVmFsdWUgPSBrZXlWYWx1ZTtcblx0XHRcdH0gZWxzZSBpZiAodmFsdWVoZWxwUGF5bG9hZD8uaXNBY3Rpb25QYXJhbWV0ZXJEaWFsb2cgPT09IHRydWUpIHtcblx0XHRcdFx0Y29uc3QgYXBkRmllbGRQYXRoID0gYEFQRF86OiR7cGFyYW1ldGVyLkxvY2FsRGF0YVByb3BlcnR5Py4kUHJvcGVydHlQYXRofWA7XG5cdFx0XHRcdGNvbnN0IGFwZEZpZWxkID0gRWxlbWVudC5nZXRFbGVtZW50QnlJZChhcGRGaWVsZFBhdGgpIGFzIEZpZWxkO1xuXHRcdFx0XHRmaWx0ZXJWYWx1ZSA9IGFwZEZpZWxkPy5nZXRWYWx1ZSgpO1xuXHRcdFx0fSBlbHNlIGlmICh2YWx1ZWhlbHBDb25kaXRpb25QYXlsb2FkICE9PSB1bmRlZmluZWQpIHtcblx0XHRcdFx0Y29uc3Qgc291cmNlUGF0aCA9IHBhcmFtZXRlci5WYWx1ZUxpc3RQcm9wZXJ0eTtcblx0XHRcdFx0Y29uc3QgY29uZGl0aW9uUGF5bG9hZCA9IHZhbHVlaGVscENvbmRpdGlvblBheWxvYWQ/LlswXTtcblx0XHRcdFx0ZmlsdGVyVmFsdWUgPSBzb3VyY2VQYXRoICYmIGNvbmRpdGlvblBheWxvYWQ/Lltzb3VyY2VQYXRoXTtcblx0XHRcdH0gZWxzZSBpZiAoYmluZGluZ0NvbnRleHQpIHtcblx0XHRcdFx0Ly8gaWYgdGhlIHZhbHVlIGhlbHAgaXMgbm90IHVzZWQgdHJ5IGdldHRpbmcgdGhlIGZpbHRlciB2YWx1ZSBmcm9tIHRoZSBiaW5kaW5nIGNvbnRleHRcblx0XHRcdFx0Y29uc3Qgc291cmNlUGF0aCA9IHBhcmFtZXRlci5Mb2NhbERhdGFQcm9wZXJ0eT8uJFByb3BlcnR5UGF0aDtcblx0XHRcdFx0ZmlsdGVyVmFsdWUgPSBiaW5kaW5nQ29udGV4dC5nZXRPYmplY3Qoc291cmNlUGF0aCk7XG5cdFx0XHR9XG5cdFx0XHRpZiAoIWZpbHRlclZhbHVlICYmIGZpbHRlckJhckNvbmRpdGlvbnMpIHtcblx0XHRcdFx0Y29uc3QgY29uZGl0aW9uID0gZmlsdGVyQmFyQ29uZGl0aW9ucz8uW3BhcmFtZXRlci5WYWx1ZUxpc3RQcm9wZXJ0eV07XG5cdFx0XHRcdGlmIChjb25kaXRpb24/Lmxlbmd0aCA9PT0gMSAmJiBjb25kaXRpb25bMF0/Lm9wZXJhdG9yID09PSBcIkVRXCIpIHtcblx0XHRcdFx0XHRmaWx0ZXJWYWx1ZSA9IGNvbmRpdGlvblswXT8udmFsdWVzWzBdO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHQvKiBBZGQgdmFsdWUgdG8gdGhlIGZpbHRlciBmb3IgdGhlIHRleHQgZGV0ZXJtaW5hdGlvbiAqL1xuXHRcdFx0aWYgKGZpbHRlclZhbHVlICE9PSBudWxsICYmIGZpbHRlclZhbHVlICE9PSB1bmRlZmluZWQpIHtcblx0XHRcdFx0ZmlsdGVycy5wdXNoKG5ldyBGaWx0ZXIoeyBwYXRoOiBwYXJhbWV0ZXIuVmFsdWVMaXN0UHJvcGVydHksIG9wZXJhdG9yOiBcIkVRXCIsIHZhbHVlMTogZmlsdGVyVmFsdWUgfSkpO1xuXHRcdFx0fVxuXHRcdH1cblx0XHRpZiAodmFsdWVoZWxwQ29uZGl0aW9uUGF5bG9hZD8uWzBdKSB7XG5cdFx0XHQvLyBJbiBjYXNlIG9mIG11bHRpcGxlIGtleXMgZm9yIHRoZSB2YWx1ZWxpc3QgY29sbGVjdGlvbiwgdGhlIG1haW4gVmFsdWVMaXN0UHJvcGVydHkgbWlnaHQgbm90IGJlIHVuaXF1ZSB0byBnZXQgZXhhY3QgdmFsdWUgbGlzdCBzZWxlY3Rpb24uXG5cdFx0XHQvLyBTbywgd2UgYWRkIGZpbHRlcnMgZm9yIGtleSBwcm9wZXJ0aWVzIGlmIHRoZXkgYXJlIHByZXNlbnQgaW4gdGhlIHZhbHVlaGVscENvbmRpdGlvblBheWxvYWQuXG5cdFx0XHRmaWx0ZXJzID0gZmlsdGVycy5jb25jYXQodGhpcy5fZ2V0UmVtYWluaW5nS2V5VmFsdWVGaWx0ZXJzKHZhbHVlaGVscENvbmRpdGlvblBheWxvYWRbMF0sIHZhbHVlTGlzdCkpO1xuXHRcdH1cblx0XHRyZXR1cm4gZmlsdGVycztcblx0fSxcblxuXHQvKipcblx0ICogR2V0IG1vZGVsIGZpbHRlcnMgdG8gZW5zdXJlIGEgcHJlY2lzZSBzZWxlY3Rpb24gZnJvbSB0aGUgY29uZGl0aW9uIHBheWxvYWQuXG5cdCAqIEBwYXJhbSBjb25kaXRpb25QYXlsb2FkIEFkZGl0aW9uYWwgY29uZGl0aW9uIGluZm9ybWF0aW9uIGZvciB0aGlzIGtleVxuXHQgKiBAcGFyYW0gdmFsdWVMaXN0IFZhbHVlIGxpc3QgaW5mb3JtYXRpb25cblx0ICogQHJldHVybnMgTGlzdCBvZiBmaWx0ZXJzXG5cdCAqL1xuXHRfZ2V0UmVtYWluaW5nS2V5VmFsdWVGaWx0ZXJzKGNvbmRpdGlvblBheWxvYWQ6IENvbmRpdGlvblBheWxvYWRUeXBlLCB2YWx1ZUxpc3Q6IEFubm90YXRpb25WYWx1ZUxpc3RUeXBlKTogRmlsdGVyW10ge1xuXHRcdGNvbnN0IHsgJG1vZGVsOiB2YWx1ZUxpc3RNb2RlbCwgQ29sbGVjdGlvblBhdGg6IGNvbGxlY3Rpb25QYXRoLCBQYXJhbWV0ZXJzOiBwYXJhbWV0ZXJzIH0gPSB2YWx1ZUxpc3Q7XG5cdFx0Y29uc3QgbWV0YUNvbnRleHQgPSB2YWx1ZUxpc3RNb2RlbC5nZXRNZXRhTW9kZWwoKS5nZXRNZXRhQ29udGV4dChgLyR7Y29sbGVjdGlvblBhdGh9YCk7XG5cdFx0Y29uc3QgZW50aXR5VHlwZSA9IGdldEludm9sdmVkRGF0YU1vZGVsT2JqZWN0cyhtZXRhQ29udGV4dCkudGFyZ2V0RW50aXR5VHlwZTtcblx0XHRjb25zdCBhbGxMb2NhbERhdGFQcm9wZXJ0aWVzID0gcGFyYW1ldGVycy5yZWR1Y2UoKGFyciwgcGFyYW1ldGVyKSA9PiB7XG5cdFx0XHRpZiAocGFyYW1ldGVyLkxvY2FsRGF0YVByb3BlcnR5Py4kUHJvcGVydHlQYXRoKSB7XG5cdFx0XHRcdGFyci5wdXNoKHBhcmFtZXRlci5Mb2NhbERhdGFQcm9wZXJ0eS4kUHJvcGVydHlQYXRoKTtcblx0XHRcdH1cblx0XHRcdHJldHVybiBhcnI7XG5cdFx0fSwgW10gYXMgc3RyaW5nW10pO1xuXHRcdGNvbnN0IGFsbFJlbWFpbmluZ0tleXMgPSBlbnRpdHlUeXBlLmtleXMucmVkdWNlKChhcnIsIHsgbmFtZToga2V5TmFtZSB9KSA9PiB7XG5cdFx0XHRpZiAoIWFsbExvY2FsRGF0YVByb3BlcnRpZXMuaW5jbHVkZXMoa2V5TmFtZSkgJiYgY29uZGl0aW9uUGF5bG9hZC5oYXNPd25Qcm9wZXJ0eShrZXlOYW1lKSkge1xuXHRcdFx0XHRhcnIucHVzaChrZXlOYW1lKTtcblx0XHRcdH1cblx0XHRcdHJldHVybiBhcnI7XG5cdFx0fSwgW10gYXMgc3RyaW5nW10pO1xuXHRcdGlmIChhbGxSZW1haW5pbmdLZXlzLmxlbmd0aCA+IDApIHtcblx0XHRcdHJldHVybiBhbGxSZW1haW5pbmdLZXlzLnJlZHVjZSgoZmlsdGVyczogRmlsdGVyW10sIGtleTogc3RyaW5nKTogRmlsdGVyW10gPT4ge1xuXHRcdFx0XHQvLyBUaGlzIGlzIGEgbWV0YW1vZGVsIG9wZXJhdGlvbi4gVGhlIG9yaWdpbmFsIGlzUHJvcGVydHlGaWx0ZXJhYmxlIG5lZWRzIHRvIGJlIGNvbnZlcnRlZCBsYXRlci5cblx0XHRcdFx0Y29uc3Qga2V5Q29udGV4dCA9IHZhbHVlTGlzdE1vZGVsLmdldE1ldGFNb2RlbCgpLmdldE1ldGFDb250ZXh0KGAvJHtjb2xsZWN0aW9uUGF0aH0vJHtrZXl9YCk7XG5cdFx0XHRcdGlmIChDb21tb25IZWxwZXIuaXNQcm9wZXJ0eUZpbHRlcmFibGUoa2V5Q29udGV4dCwgdW5kZWZpbmVkLCB0cnVlKSkge1xuXHRcdFx0XHRcdGZpbHRlcnMucHVzaChuZXcgRmlsdGVyKHsgcGF0aDoga2V5LCBvcGVyYXRvcjogXCJFUVwiLCB2YWx1ZTE6IGNvbmRpdGlvblBheWxvYWRba2V5XSB9KSk7XG5cdFx0XHRcdH1cblx0XHRcdFx0cmV0dXJuIGZpbHRlcnM7XG5cdFx0XHR9LCBbXSk7XG5cdFx0fVxuXHRcdHJldHVybiBbXTtcblx0fSxcblxuXHQvKipcblx0ICogRGV0ZXJtaW5lcyB0aGUga2V5LCBkZXNjcmlwdGlvbiwgYW5kIHBheWxvYWQgb2YgYSB1c2VyIGlucHV0LlxuXHQgKiBAcGFyYW0gZmllbGQgVGhlIDxjb2RlPkZpZWxkPC9jb2RlPiBpbnN0YW5jZVxuXHQgKiBAcGFyYW0gdmFsdWVIZWxwIFZhbHVlIGhlbHAgaW5zdGFuY2Vcblx0ICogQHBhcmFtIGNvbmZpZyBDb25maWd1cmF0aW9uIE9iamVjdFxuXHQgKiBAcmV0dXJucyBPYmplY3QgY29udGFpbmluZyBkZXNjcmlwdGlvbiwga2V5LCBhbmQgcGF5bG9hZC4gSWYgaXQgaXMgbm90IGF2YWlsYWJsZSByaWdodCBub3cgKG11c3QgYmUgcmVxdWVzdGVkKSwgYSA8Y29kZT5Qcm9taXNlPC9jb2RlPiBpcyByZXR1cm5lZFxuXHQgKi9cblx0Z2V0SXRlbUZvclZhbHVlOiBhc3luYyBmdW5jdGlvbiAoZmllbGQ6IEZpZWxkLCB2YWx1ZUhlbHA6IFZhbHVlSGVscCwgY29uZmlnOiBJdGVtRm9yVmFsdWVDb25maWd1cmF0aW9uKSB7XG5cdFx0Ly9CQ1A6IDIyNzAxNjI4ODcgLiBUaGUgTURDIGZpZWxkIHNob3VsZCBub3QgdHJ5IHRvIGdldCB0aGUgaXRlbSB3aGVuIHRoZSBmaWVsZCBpcyBlbXB0aWVkXG5cdFx0Ly8gSklSQTogRklPUklURUNIUDEtMjUzNjEgLSBJbXByb3ZlIHRoZSB0eXBlLWFoZWFkIGJlaGF2aW9yIGZvciBtaXNzaW5uZyB0ZXh0IGFubm90YXRpb24gb3IgY29uc3RyYWludHMgdmlvbGF0aW9ucyBvZiB0aGUgZXhpc3RpbmcgdGV4dCBhbm5vdGF0aW9uXG5cdFx0aWYgKGNvbmZpZy52YWx1ZSA9PT0gXCJcIikge1xuXHRcdFx0cmV0dXJuO1xuXHRcdH1cblxuXHRcdGlmIChjb25maWcuY2hlY2tEZXNjcmlwdGlvbikge1xuXHRcdFx0Y29uc3QgY29udGFpbmVyID0gdmFsdWVIZWxwLmdldFR5cGVhaGVhZCgpO1xuXHRcdFx0Y29uc3QgcGF5bG9hZCA9IHZhbHVlSGVscC5nZXRQYXlsb2FkKCkgYXMgVmFsdWVIZWxwUGF5bG9hZDtcblx0XHRcdGNvbnN0IHNlbGVjdGVkQ29udGVudCA9IGNvbnRhaW5lci5nZXRTZWxlY3RlZENvbnRlbnQoKTtcblx0XHRcdGNvbnN0IGNvbnRlbnRJZCA9IHNlbGVjdGVkQ29udGVudCAmJiBzZWxlY3RlZENvbnRlbnQuZ2V0SWQoKTtcblx0XHRcdC8vIEluIGNhc2VzIHdoZXJlIGdldEl0ZW1Gb3JWYWx1ZSBpcyBjYWxsZWQgYmVmb3JlIHNob3dWYWx1ZUxpc3QsIHRoZSBkZXNjcmlwdGlvbiBtYXkgbm90IGJlIGF2YWlsYWJsZS5cblx0XHRcdC8vIFRoZXJlZm9yZSwgdGhpcyByZXRyaWV2ZUNvbnRlbnQgbWV0aG9kIGlzIHVzZWQgdG8gdXBkYXRlIHRoZSBkZXNjcmlwdGlvbi5cblx0XHRcdGF3YWl0IFZhbHVlSGVscERlbGVnYXRlLnJldHJpZXZlQ29udGVudCh2YWx1ZUhlbHAsIGNvbnRhaW5lciwgY29udGVudElkKTtcblx0XHRcdGNvbnN0IG1heExlbmd0aCA9IHBheWxvYWQubWF4TGVuZ3RoO1xuXHRcdFx0Y29uc3QgdmFsdWVMZW5ndGggPSBjb25maWcudmFsdWU/LnRvU3RyaW5nKCkubGVuZ3RoIHx8IDA7XG5cdFx0XHRjb25zdCBkZXNjcmlwdGlvblBhdGggPSBwYXlsb2FkLnZhbHVlSGVscERlc2NyaXB0aW9uUGF0aDtcblx0XHRcdGlmIChkZXNjcmlwdGlvblBhdGggPT09IFwiXCIpIHtcblx0XHRcdFx0Ly8gSW4gY2FzZSB0aGUgcHJvcGVydHkgdmFsdWUgaGVscCBjb2xsZWN0aW9uIGhhcyBubyB0ZXh0IGFubm90YXRpb24gKGRlc2NyaXB0aW9uUGF0aCBpcyBlbXB0eSkgdGhlIGRlc2NyaXB0aW9uIGNoZWNrIHNob3VsZG7CtHQgb2NjdXIuXG5cdFx0XHRcdC8vIEluIHN1Y2ggYSBjYXNlIHRoZSBtZXRob2QgZ2V0RGVzY3JpcHRpb24gd2lsbCBiZSBjYWxsZWQgYnkgTURDIGFuZCB3aXRoaW4gdGhpcyBtZXRob2QgYSBTaWRlRWZmZWN0IGlzIHJlcXVlc3RlZCB0byByZXRyaWV2ZSB0aGUgdGV4dCBmcm9tIHRoZSB0ZXh0IHByb3BlcnR5IG9mIHRoZSBtYWluIGVudGl0eVxuXHRcdFx0XHRjb25maWcuY2hlY2tEZXNjcmlwdGlvbiA9IGZhbHNlO1xuXHRcdFx0fSBlbHNlIGlmIChtYXhMZW5ndGggIT09IHVuZGVmaW5lZCAmJiB2YWx1ZUxlbmd0aCA+IG1heExlbmd0aCkge1xuXHRcdFx0XHQvL3ZhbHVlIGxlbmd0aCBpcyA+IHRleHQgcHJvZXBlcnR5IGxlbmd0aCBjb25zdHJhaW50XG5cdFx0XHRcdHJldHVybjtcblx0XHRcdH1cblx0XHR9XG5cdFx0cmV0dXJuIEZpZWxkQmFzZURlbGVnYXRlLmdldEl0ZW1Gb3JWYWx1ZShmaWVsZCwgdmFsdWVIZWxwLCBjb25maWcpO1xuXHR9LFxuXG5cdC8qKlxuXHQgKiBSZXRyaWV2ZXMgdGhlIGZpbHRlciBiYXIgaW5zdGFuY2UgYXNzb2NpYXRlZCB3aXRoIHRoZSBjdXJyZW50IGZpZWxkLlxuXHQgKiBAcGFyYW0gZmllbGQgRmllbGQgQ29udHJvbFxuXHQgKiBAcmV0dXJucyBUaGUgZmlsdGVyIGJhciBpbnN0YW5jZVxuXHQgKi9cblx0X2dldEZpbHRlckJhcjogZnVuY3Rpb24gKGZpZWxkOiBGaWVsZCB8IG51bGwpOiBGaWx0ZXJCYXIgfCB1bmRlZmluZWQge1xuXHRcdGxldCBmaWx0ZXJCYXJBUEk7XG5cdFx0aWYgKGZpZWxkPy5pc0EoXCJzYXAudWkubWRjLkZpbHRlckZpZWxkXCIpKSB7XG5cdFx0XHR3aGlsZSAoZmllbGQpIHtcblx0XHRcdFx0aWYgKGZpZWxkPy5pc0E8RmlsdGVyQmFyQVBJPihcInNhcC5mZS5tYWNyb3MuZmlsdGVyQmFyLkZpbHRlckJhckFQSVwiKSkge1xuXHRcdFx0XHRcdGZpbHRlckJhckFQSSA9IGZpZWxkO1xuXHRcdFx0XHRcdGJyZWFrO1xuXHRcdFx0XHR9XG5cdFx0XHRcdGZpZWxkID0gZmllbGQ/LmdldFBhcmVudCgpIGFzIHVua25vd24gYXMgRmllbGQ7XG5cdFx0XHR9XG5cdFx0XHRpZiAoZmlsdGVyQmFyQVBJPy5nZXRDb250ZW50KCk/LmlzQShcInNhcC5mZS5tYWNyb3MuY29udHJvbHMuRmlsdGVyQmFyXCIpKSB7XG5cdFx0XHRcdHJldHVybiBmaWx0ZXJCYXJBUEkuZ2V0Q29udGVudCgpIGFzIEZpbHRlckJhcjtcblx0XHRcdH1cblx0XHR9XG5cdFx0cmV0dXJuIHVuZGVmaW5lZDtcblx0fSxcblxuXHQvKipcblx0ICogRGV0ZXJtaW5lcyB0aGUgZGVzY3JpcHRpb24gZm9yIGEgZ2l2ZW4ga2V5LlxuXHQgKiBAcGFyYW0gZmllbGQgVGhlIDxjb2RlPkZpZWxkPC9jb2RlPiBpbnN0YW5jZVxuXHQgKiBAcGFyYW0gdmFsdWVIZWxwIEZpZWxkIGhlbHAgYXNzaWduZWQgdG8gdGhlIDxjb2RlPkZpZWxkPC9jb2RlPiBvciA8Y29kZT5GaWx0ZXJGaWVsZDwvY29kZT4gY29udHJvbFxuXHQgKiBAcGFyYW0ga2V5IEtleSB2YWx1ZSBvZiB0aGUgZGVzY3JpcHRpb25cblx0ICogQHBhcmFtIF9jb25kaXRpb25JbiBJbiBwYXJhbWV0ZXJzIGZvciB0aGUga2V5IChubyBsb25nZXIgc3VwcG9ydGVkKVxuXHQgKiBAcGFyYW0gX2NvbmRpdGlvbk91dCBPdXQgcGFyYW1ldGVycyBmb3IgdGhlIGtleSAobm8gbG9uZ2VyIHN1cHBvcnRlZClcblx0ICogQHBhcmFtIGJpbmRpbmdDb250ZXh0IEJpbmRpbmdDb250ZXh0IDxjb2RlPkJpbmRpbmdDb250ZXh0PC9jb2RlPiBvZiB0aGUgY2hlY2tlZCBmaWVsZC4gSW5zaWRlIGEgdGFibGUsIHRoZSA8Y29kZT5WYWx1ZUhlbHA8L2NvZGU+IGVsZW1lbnQgY2FuIGJlIGNvbm5lY3RlZCB0byBhIGRpZmZlcmVudCByb3dcblx0ICogQHBhcmFtIF9Db25kaXRpb25Nb2RlbCBDb25kaXRpb25Nb2RlbDwvY29kZT4sIGlmIGJvdW5kIHRvIG9uZVxuXHQgKiBAcGFyYW0gX2NvbmRpdGlvbk1vZGVsTmFtZSBOYW1lIG9mIHRoZSA8Y29kZT5Db25kaXRpb25Nb2RlbDwvY29kZT4sIGlmIGJvdW5kIHRvIG9uZVxuXHQgKiBAcGFyYW0gY29uZGl0aW9uUGF5bG9hZCBBZGRpdGlvbmFsIGNvbnRleHQgaW5mb3JtYXRpb24gZm9yIHRoaXMga2V5XG5cdCAqIEBwYXJhbSBjb250cm9sIEluc3RhbmNlIG9mIHRoZSBjYWxsaW5nIGNvbnRyb2xcblx0ICogQHBhcmFtIF90eXBlIFR5cGUgb2YgdGhlIHZhbHVlXG5cdCAqIEByZXR1cm5zIERlc2NyaXB0aW9uIGZvciB0aGUga2V5IG9yIG9iamVjdCBjb250YWluaW5nIGEgZGVzY3JpcHRpb24sIGtleSBhbmQgcGF5bG9hZC4gSWYgdGhlIGRlc2NyaXB0aW9uIGlzIG5vdCBhdmFpbGFibGUgcmlnaHQgYXdheSAoaXQgbXVzdCBiZSByZXF1ZXN0ZWQpLCBhIDxjb2RlPlByb21pc2U8L2NvZGU+IGlzIHJldHVybmVkXG5cdCAqL1xuXHRnZXREZXNjcmlwdGlvbjogYXN5bmMgZnVuY3Rpb24gKFxuXHRcdGZpZWxkOiBGaWVsZCB8IG51bGwsXG5cdFx0dmFsdWVIZWxwOiBWYWx1ZUhlbHAsXG5cdFx0a2V5OiBzdHJpbmcsXG5cdFx0X2NvbmRpdGlvbkluOiBvYmplY3QsXG5cdFx0X2NvbmRpdGlvbk91dDogb2JqZWN0LFxuXHRcdGJpbmRpbmdDb250ZXh0OiBDb250ZXh0IHwgdW5kZWZpbmVkLFxuXHRcdF9Db25kaXRpb25Nb2RlbDogQ29uZGl0aW9uTW9kZWwsXG5cdFx0X2NvbmRpdGlvbk1vZGVsTmFtZTogc3RyaW5nLFxuXHRcdGNvbmRpdGlvblBheWxvYWQ6IENvbmRpdGlvblBheWxvYWRNYXAsXG5cdFx0Y29udHJvbDogQ29udHJvbCxcblx0XHRfdHlwZTogdW5rbm93bixcblx0XHRlbXB0eUFsbG93ZWQ6IGJvb2xlYW5cblx0KSB7XG5cdFx0Ly9KSVJBOiBGSU9SSVRFQ0hQMS0yMjAyMiAuIFRoZSBNREMgZmllbGQgc2hvdWxkIG5vdCAgdHJpZXMgdG8gZGV0ZXJtaW5lIGRlc2NyaXB0aW9uIHdpdGggdGhlIGluaXRpYWwgR0VUIG9mIHRoZSBkYXRhLlxuXHRcdC8vIGl0IHNob3VsZCByZWx5IG9uIHRoZSBkYXRhIHdlIGFscmVhZHkgcmVjZWl2ZWQgZnJvbSB0aGUgYmFja2VuZFxuXHRcdC8vIEJ1dCBUaGUgZ2V0RGVzY3JpcHRpb24gZnVuY3Rpb24gaXMgYWxzbyBjYWxsZWQgaW4gdGhlIEZpbHRlckZpZWxkIGNhc2UgaWYgYSB2YXJpYW50IGlzIGxvYWRlZC5cblx0XHQvLyBBcyB0aGUgZGVzY3JpcHRpb24gdGV4dCBjb3VsZCBiZSBsYW5ndWFnZSBkZXBlbmRlbnQgaXQgaXMgbm90IHN0b3JlZCBpbiB0aGUgdmFyaWFudCwgc28gaXQgbmVlZHMgdG8gYmUgcmVhZCBvbiByZW5kZXJpbmcuXG5cblx0XHRsZXQgcGF5bG9hZCA9IGZpZWxkPy5nZXRQYXlsb2FkKCkgYXMgRmllbGRQYXlsb2FkO1xuXG5cdFx0LyogUmV0cmlldmUgdGV4dCBmcm9tIHZhbHVlIGhlbHAsIGlmIHZhbHVlIHdhcyBzZXQgYnkgb3V0LXBhcmFtZXRlciAoQkNQIDIyNzAxNjA2MzMpICovXG5cdFx0aWYgKCFwYXlsb2FkICYmIChjb250cm9sIGFzIEZpZWxkQmFzZSk/LmdldERpc3BsYXkoKS5pbmNsdWRlcyhcIkRlc2NyaXB0aW9uXCIpKSB7XG5cdFx0XHRwYXlsb2FkID0ge1xuXHRcdFx0XHRyZXRyaWV2ZVRleHRGcm9tVmFsdWVMaXN0OiB0cnVlXG5cdFx0XHR9O1xuXHRcdH1cblxuXHRcdGlmIChwYXlsb2FkPy5yZXRyaWV2ZVRleHRGcm9tVmFsdWVMaXN0ID09PSB0cnVlIHx8IHBheWxvYWQ/LmlzRmlsdGVyRmllbGQgPT09IHRydWUpIHtcblx0XHRcdGNvbnN0IGRhdGFNb2RlbCA9IHZhbHVlSGVscC5nZXRNb2RlbCgpIGFzIE9EYXRhTW9kZWwgfCB1bmRlZmluZWQ7XG5cdFx0XHRjb25zdCBvd25lciA9IENvbXBvbmVudC5nZXRPd25lckNvbXBvbmVudEZvcih2YWx1ZUhlbHAgYXMgdW5rbm93biBhcyBDb250cm9sKTtcblx0XHRcdC8vIElmIG5laXRoZXIgZGF0YU1vZGVsIG5vciBvd25lciBpcyBkZWZpbmVkLCB0aGUgdmFsdWVIZWxwIGNhbm5vdCBiZSBhbiBGRSBjb250cm9sLlxuXHRcdFx0Ly8gVGhpcyBvY2N1cnMgaW4gY2FzZXMgb2YgYSBzdGFuZGFyZCBNREMgY29udHJvbHMgKGUuZy4sIGRlZmF1bHQgVmFsdWVIZWxwIGZvciBib29sZWFuIHZhbHVlcykuXG5cdFx0XHRpZiAoIWRhdGFNb2RlbCAmJiAhb3duZXIpIHtcblx0XHRcdFx0cmV0dXJuIEZpZWxkQmFzZURlbGVnYXRlLmdldERlc2NyaXB0aW9uKFxuXHRcdFx0XHRcdGZpZWxkIGFzIEZpZWxkQmFzZSxcblx0XHRcdFx0XHR2YWx1ZUhlbHAsXG5cdFx0XHRcdFx0a2V5LFxuXHRcdFx0XHRcdF9jb25kaXRpb25Jbixcblx0XHRcdFx0XHRfY29uZGl0aW9uT3V0LFxuXHRcdFx0XHRcdGJpbmRpbmdDb250ZXh0IGFzIENvbnRleHQsXG5cdFx0XHRcdFx0dW5kZWZpbmVkLFxuXHRcdFx0XHRcdHVuZGVmaW5lZCxcblx0XHRcdFx0XHRjb25kaXRpb25QYXlsb2FkLFxuXHRcdFx0XHRcdGNvbnRyb2wsXG5cdFx0XHRcdFx0X3R5cGUsXG5cdFx0XHRcdFx0ZW1wdHlBbGxvd2VkXG5cdFx0XHRcdCk7XG5cdFx0XHR9XG5cdFx0XHRjb25zdCBtZXRhTW9kZWwgPSBkYXRhTW9kZWxcblx0XHRcdFx0PyBkYXRhTW9kZWwuZ2V0TWV0YU1vZGVsKClcblx0XHRcdFx0OiBDb21tb25VdGlscy5nZXRBcHBDb21wb25lbnQodmFsdWVIZWxwIGFzIHVua25vd24gYXMgQ29udHJvbClcblx0XHRcdFx0XHRcdC5nZXRNb2RlbCgpXG5cdFx0XHRcdFx0XHQuZ2V0TWV0YU1vZGVsKCk7XG5cdFx0XHRjb25zdCB2YWx1ZWhlbHBQYXlsb2FkID0gdmFsdWVIZWxwLmdldFBheWxvYWQoKSBhcyBWYWx1ZUhlbHBQYXlsb2FkO1xuXHRcdFx0Y29uc3QgdmFsdWVoZWxwQ29uZGl0aW9uUGF5bG9hZCA9IGNvbmRpdGlvblBheWxvYWQ/Llt2YWx1ZWhlbHBQYXlsb2FkLnZhbHVlSGVscFF1YWxpZmllcl07XG5cdFx0XHRjb25zdCBwcm9wZXJ0eVBhdGggPSB2YWx1ZWhlbHBQYXlsb2FkLnByb3BlcnR5UGF0aDtcblx0XHRcdGNvbnN0IHByb3BlcnR5RGVzY3JpcHRpb25QYXRoID0gdmFsdWVoZWxwUGF5bG9hZD8ucHJvcGVydHlEZXNjcmlwdGlvblBhdGg7XG5cdFx0XHRsZXQgdGV4dFByb3BlcnR5OiBzdHJpbmc7XG5cblx0XHRcdHRyeSB7XG5cdFx0XHRcdC8qIFJlcXVlc3QgdmFsdWUgaGVscCBtZXRhZGF0YSAqL1xuXHRcdFx0XHRjb25zdCB2YWx1ZUxpc3RJbmZvID0gYXdhaXQgbWV0YU1vZGVsLnJlcXVlc3RWYWx1ZUxpc3RJbmZvKHByb3BlcnR5UGF0aCwgdHJ1ZSwgYmluZGluZ0NvbnRleHQpO1xuXHRcdFx0XHRjb25zdCBmaWx0ZXJCYXIgPSB0aGlzLl9nZXRGaWx0ZXJCYXIoZmllbGQpO1xuXHRcdFx0XHRsZXQgZmlsdGVyQ29uZGl0aW9uczogUmVjb3JkPHN0cmluZywgQ29uZGl0aW9uT2JqZWN0W10+IHwgdW5kZWZpbmVkO1xuXHRcdFx0XHRpZiAoZmlsdGVyQmFyKSB7XG5cdFx0XHRcdFx0Y29uc3QgZmlsdGVyU3RhdGU6IEV4dGVybmFsU3RhdGVUeXBlID0gYXdhaXQgU3RhdGVVdGlsLnJldHJpZXZlRXh0ZXJuYWxTdGF0ZShmaWx0ZXJCYXIpO1xuXHRcdFx0XHRcdGZpbHRlckNvbmRpdGlvbnMgPSBmaWx0ZXJTdGF0ZS5maWx0ZXI7XG5cdFx0XHRcdH1cblx0XHRcdFx0Y29uc3QgcHJvcGVydHlOYW1lID0gbWV0YU1vZGVsLmdldE9iamVjdChgJHtwcm9wZXJ0eVBhdGh9QHNhcHVpLm5hbWVgKSBhcyBzdHJpbmc7XG5cdFx0XHRcdC8vIHRha2UgdGhlIGZpcnN0IHZhbHVlIGxpc3QgYW5ub3RhdGlvbiAtIGFsdGVybmF0aXZlbHkgdGFrZSB0aGUgb25lIHdpdGhvdXQgcXVhbGlmaWVyIG9yIHRoZSBmaXJzdCBvbmVcblx0XHRcdFx0Y29uc3QgdmFsdWVMaXN0ID0gdmFsdWVMaXN0SW5mb1tPYmplY3Qua2V5cyh2YWx1ZUxpc3RJbmZvKVswXV07XG5cdFx0XHRcdGNvbnN0IHZhbHVlSGVscFBhcmFtZXRlcnMgPSB0aGlzLl9nZXRWYWx1ZUxpc3RQYXJhbWV0ZXIodmFsdWVMaXN0LCBwcm9wZXJ0eU5hbWUpO1xuXHRcdFx0XHRjb25zdCB2YWx1ZUhlbHBQcm9wZXJ0eSA9IHZhbHVlSGVscFBhcmFtZXRlcnM/LlswXT8uVmFsdWVMaXN0UHJvcGVydHk7XG5cdFx0XHRcdGlmICghdmFsdWVIZWxwUHJvcGVydHkpIHtcblx0XHRcdFx0XHR0aHJvdyBFcnJvcihgSW5jb25zaXN0ZW50IHZhbHVlIGhlbHAgYW5ub3RhdGlvbiBmb3IgJHtwcm9wZXJ0eU5hbWV9YCk7XG5cdFx0XHRcdH1cblx0XHRcdFx0Ly8gZ2V0IHRleHQgYW5ub3RhdGlvbiBmb3IgdGhpcyB2YWx1ZSBsaXN0IHByb3BlcnR5XG5cdFx0XHRcdGNvbnN0IHZhbHVlTGlzdE1vZGVsID0gdmFsdWVMaXN0LiRtb2RlbDtcblx0XHRcdFx0Y29uc3QgdGV4dEFubm90YXRpb24gPSB2YWx1ZUxpc3RNb2RlbFxuXHRcdFx0XHRcdC5nZXRNZXRhTW9kZWwoKVxuXHRcdFx0XHRcdC5nZXRPYmplY3QoYC8ke3ZhbHVlTGlzdC5Db2xsZWN0aW9uUGF0aH0vJHt2YWx1ZUhlbHBQcm9wZXJ0eX1AY29tLnNhcC52b2NhYnVsYXJpZXMuQ29tbW9uLnYxLlRleHRgKTtcblx0XHRcdFx0aWYgKHRleHRBbm5vdGF0aW9uICYmIHRleHRBbm5vdGF0aW9uLiRQYXRoKSB7XG5cdFx0XHRcdFx0dGV4dFByb3BlcnR5ID0gdGV4dEFubm90YXRpb24uJFBhdGg7XG5cdFx0XHRcdFx0LyogQnVpbGQgdGhlIGZpbHRlciBmb3IgdGhlIHJlbGV2YW50IHBhcmFtZXRlcnMgKi9cblx0XHRcdFx0XHRjb25zdCBmaWx0ZXJzID0gdGhpcy5fZ2V0RmlsdGVyKFxuXHRcdFx0XHRcdFx0dmFsdWVMaXN0LFxuXHRcdFx0XHRcdFx0cHJvcGVydHlOYW1lLFxuXHRcdFx0XHRcdFx0dmFsdWVIZWxwUHJvcGVydHksXG5cdFx0XHRcdFx0XHRrZXksXG5cdFx0XHRcdFx0XHR2YWx1ZWhlbHBQYXlsb2FkLFxuXHRcdFx0XHRcdFx0dmFsdWVoZWxwQ29uZGl0aW9uUGF5bG9hZCxcblx0XHRcdFx0XHRcdGJpbmRpbmdDb250ZXh0LFxuXHRcdFx0XHRcdFx0ZmlsdGVyQ29uZGl0aW9uc1xuXHRcdFx0XHRcdCk7XG5cdFx0XHRcdFx0Y29uc3QgbGlzdEJpbmRpbmcgPSB2YWx1ZUxpc3RNb2RlbC5iaW5kTGlzdChgLyR7dmFsdWVMaXN0LkNvbGxlY3Rpb25QYXRofWAsIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCBmaWx0ZXJzLCB7XG5cdFx0XHRcdFx0XHQkc2VsZWN0OiB0ZXh0UHJvcGVydHlcblx0XHRcdFx0XHR9KTtcblx0XHRcdFx0XHQvKiBSZXF1ZXN0IGRlc2NyaXB0aW9uIGZvciBnaXZlbiBrZXkgZnJvbSB2YWx1ZSBsaXN0IGVudGl0eSAqL1xuXHRcdFx0XHRcdGNvbnN0IGNvbnRleHRzID0gYXdhaXQgbGlzdEJpbmRpbmcucmVxdWVzdENvbnRleHRzKDAsIDIpO1xuXHRcdFx0XHRcdHJldHVybiBjb250ZXh0cy5sZW5ndGggPyBjb250ZXh0c1swXS5nZXRPYmplY3QodGV4dFByb3BlcnR5KSA6IHVuZGVmaW5lZDtcblx0XHRcdFx0fSBlbHNlIGlmIChiaW5kaW5nQ29udGV4dCAhPT0gdW5kZWZpbmVkICYmIHByb3BlcnR5RGVzY3JpcHRpb25QYXRoKSB7XG5cdFx0XHRcdFx0Y29uc3QgbGFzdEluZGV4ID0gcHJvcGVydHlEZXNjcmlwdGlvblBhdGgubGFzdEluZGV4T2YoXCIvXCIpO1xuXHRcdFx0XHRcdGNvbnN0IHNpZGVFZmZlY3RQYXRoID0gbGFzdEluZGV4ID4gMCA/IHByb3BlcnR5RGVzY3JpcHRpb25QYXRoLnN1YnN0cmluZygwLCBsYXN0SW5kZXgpIDogcHJvcGVydHlEZXNjcmlwdGlvblBhdGg7XG5cdFx0XHRcdFx0Y29uc3Qgc2lkZUVmZmVjdHNTZXJ2aWNlID0gQ29tbW9uVXRpbHMuZ2V0QXBwQ29tcG9uZW50KHZhbHVlSGVscCBhcyB1bmtub3duIGFzIENvbnRyb2wpLmdldFNpZGVFZmZlY3RzU2VydmljZSgpO1xuXHRcdFx0XHRcdGF3YWl0IHNpZGVFZmZlY3RzU2VydmljZS5yZXF1ZXN0U2lkZUVmZmVjdHMoW3NpZGVFZmZlY3RQYXRoXSwgYmluZGluZ0NvbnRleHQpO1xuXHRcdFx0XHRcdExvZy53YXJuaW5nKFxuXHRcdFx0XHRcdFx0YFJlcXVlc3RTaWRlRWZmZWN0cyBpcyB0cmlnZ2VyZWQgYmVjYXVzZSB0aGUgdGV4dCBhbm5vdGF0aW9uIGZvciAke3ZhbHVlSGVscFByb3BlcnR5fSBpcyBub3QgZGVmaW5lZCBhdCB0aGUgQ29sbGVjdGlvblBhdGggb2YgdGhlIHZhbHVlIGhlbHBgXG5cdFx0XHRcdFx0KTtcblx0XHRcdFx0XHRyZXR1cm4gdW5kZWZpbmVkO1xuXHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdC8qIEVYVEVSTkFsSUQgKi9cblx0XHRcdFx0XHRjb25zdCBleHRlcm5hbElkUGF0aCA9IG1ldGFNb2RlbD8uZ2V0T2JqZWN0KFxuXHRcdFx0XHRcdFx0YCR7dmFsdWVoZWxwUGF5bG9hZC5wcm9wZXJ0eVBhdGh9QGNvbS5zYXAudm9jYWJ1bGFyaWVzLkNvbW1vbi52MS5FeHRlcm5hbElEYFxuXHRcdFx0XHRcdCk/LiRQYXRoO1xuXHRcdFx0XHRcdGlmIChleHRlcm5hbElkUGF0aCkge1xuXHRcdFx0XHRcdFx0Y29uc3QgZXh0ZXJuYWxJZEZ1bGxQYXRoID0gdmFsdWVoZWxwUGF5bG9hZC5wcm9wZXJ0eVBhdGgucmVwbGFjZShwcm9wZXJ0eU5hbWUsIGV4dGVybmFsSWRQYXRoKTtcblx0XHRcdFx0XHRcdGNvbnN0IGV4dGVybmFsSWROYW1lID0gbWV0YU1vZGVsLmdldE9iamVjdChgJHtleHRlcm5hbElkRnVsbFBhdGh9QHNhcHVpLm5hbWVgKTtcblx0XHRcdFx0XHRcdGNvbnN0IGV4dGVybmFsSWREZXNjcmlwdGlvblBhdGggPSBtZXRhTW9kZWw/LmdldE9iamVjdChgJHtleHRlcm5hbElkRnVsbFBhdGh9QGNvbS5zYXAudm9jYWJ1bGFyaWVzLkNvbW1vbi52MS5UZXh0YClcblx0XHRcdFx0XHRcdFx0Py4kUGF0aDtcblx0XHRcdFx0XHRcdGNvbnN0IGZpbHRlcnMgPSBbXTtcblx0XHRcdFx0XHRcdGZpbHRlcnMucHVzaChuZXcgRmlsdGVyKHsgcGF0aDogZXh0ZXJuYWxJZE5hbWUsIG9wZXJhdG9yOiBcIkVRXCIsIHZhbHVlMToga2V5IH0pKTtcblx0XHRcdFx0XHRcdGNvbnN0IGxpc3RCaW5kaW5nID0gdmFsdWVMaXN0TW9kZWwuYmluZExpc3QoYC8ke3ZhbHVlTGlzdC5Db2xsZWN0aW9uUGF0aH1gLCB1bmRlZmluZWQsIHVuZGVmaW5lZCwgZmlsdGVycywge1xuXHRcdFx0XHRcdFx0XHQkc2VsZWN0OiBgJHtleHRlcm5hbElkTmFtZX0sJHtleHRlcm5hbElkRGVzY3JpcHRpb25QYXRofWBcblx0XHRcdFx0XHRcdH0pO1xuXHRcdFx0XHRcdFx0Y29uc3QgY29udGV4dHMgPSBhd2FpdCBsaXN0QmluZGluZy5yZXF1ZXN0Q29udGV4dHMoMCwgMik7XG5cdFx0XHRcdFx0XHRpZiAoY29udGV4dHMubGVuZ3RoKSB7XG5cdFx0XHRcdFx0XHRcdHJldHVybiBjb250ZXh0c1swXS5nZXRPYmplY3QoZXh0ZXJuYWxJZERlc2NyaXB0aW9uUGF0aCk7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdExvZy5lcnJvcihgVGV4dCBBbm5vdGF0aW9uIGZvciAke3ZhbHVlSGVscFByb3BlcnR5fSBpcyBub3QgZGVmaW5lZGApO1xuXHRcdFx0XHRcdHJldHVybiB1bmRlZmluZWQ7XG5cdFx0XHRcdH1cblx0XHRcdH0gY2F0Y2ggKGVycm9yKSB7XG5cdFx0XHRcdGNvbnN0IHN0YXR1cyA9IGVycm9yID8gKGVycm9yIGFzIFhNTEh0dHBSZXF1ZXN0KS5zdGF0dXMgOiB1bmRlZmluZWQ7XG5cdFx0XHRcdGNvbnN0IG1lc3NhZ2UgPSBlcnJvciBpbnN0YW5jZW9mIEVycm9yID8gZXJyb3IubWVzc2FnZSA6IFN0cmluZyhlcnJvcik7XG5cdFx0XHRcdGNvbnN0IG1zZyA9IHN0YXR1cyA9PT0gNDA0ID8gYE1ldGFkYXRhIG5vdCBmb3VuZCAoJHtzdGF0dXN9KSBmb3IgdmFsdWUgaGVscCBvZiBwcm9wZXJ0eSAke3Byb3BlcnR5UGF0aH1gIDogbWVzc2FnZTtcblx0XHRcdFx0TG9nLmVycm9yKG1zZyk7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdHJldHVybiB1bmRlZmluZWQ7XG5cdH1cbn0pO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7OztTQWtEZUEsTUFBTSxDQUFDQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUVDLGlCQUFpQixFQUFFO0lBQ25EQyxVQUFVLEVBQUUsQ0FBQztJQUViO0FBQ0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtJQUNDQyx5QkFBeUIsRUFBRSxTQUFBQSxDQUFVQyxLQUFZLEVBQUVDLElBQTRCLEVBQUVDLEtBQXNCLEVBQUU7TUFDeEc7TUFDQTtNQUNBOztNQUVBLE1BQU1DLE1BQTBCLEdBQUcsQ0FBQyxDQUFDO01BQ3JDLElBQ0NGLElBQUksSUFDSkEsSUFBSSxDQUFDRyxHQUFHLENBQUMsQ0FBQyw4QkFBOEIsRUFBRSxrQ0FB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
@@ -23,6 +23,7 @@ import CommonHelper from "../CommonHelper";
23
23
  import type FilterBar from "../controls/FilterBar";
24
24
  import type FilterBarAPI from "../filterBar/FilterBarAPI";
25
25
  import type { ConditionPayloadMap, ConditionPayloadType, ExternalStateType } from "../valuehelp/ValueHelpDelegate";
26
+ import ValueHelpDelegate from "../valuehelp/ValueHelpDelegate";
26
27
 
27
28
  export type FieldPayload = {
28
29
  retrieveTextFromValueList?: boolean;
@@ -189,7 +190,6 @@ export default Object.assign({}, FieldBaseDelegate, {
189
190
  const sourcePath = parameter.LocalDataProperty?.$PropertyPath;
190
191
  filterValue = bindingContext.getObject(sourcePath);
191
192
  }
192
-
193
193
  if (!filterValue && filterBarConditions) {
194
194
  const condition = filterBarConditions?.[parameter.ValueListProperty];
195
195
  if (condition?.length === 1 && condition[0]?.operator === "EQ") {
@@ -251,7 +251,7 @@ export default Object.assign({}, FieldBaseDelegate, {
251
251
  * @param config Configuration Object
252
252
  * @returns Object containing description, key, and payload. If it is not available right now (must be requested), a <code>Promise</code> is returned
253
253
  */
254
- getItemForValue: function (field: Field, valueHelp: ValueHelp, config: ItemForValueConfiguration) {
254
+ getItemForValue: async function (field: Field, valueHelp: ValueHelp, config: ItemForValueConfiguration) {
255
255
  //BCP: 2270162887 . The MDC field should not try to get the item when the field is emptied
256
256
  // JIRA: FIORITECHP1-25361 - Improve the type-ahead behavior for missinng text annotation or constraints violations of the existing text annotation
257
257
  if (config.value === "") {
@@ -259,10 +259,16 @@ export default Object.assign({}, FieldBaseDelegate, {
259
259
  }
260
260
 
261
261
  if (config.checkDescription) {
262
- const valuehelpPayload = valueHelp.getPayload() as ValueHelpPayload;
263
- const descriptionPath = valuehelpPayload.valueHelpDescriptionPath;
264
- const maxLength = valuehelpPayload?.maxLength;
265
- const valueLength = config.value !== null && config.value !== undefined ? config.value.toString().length : 0;
262
+ const container = valueHelp.getTypeahead();
263
+ const payload = valueHelp.getPayload() as ValueHelpPayload;
264
+ const selectedContent = container.getSelectedContent();
265
+ const contentId = selectedContent && selectedContent.getId();
266
+ // In cases where getItemForValue is called before showValueList, the description may not be available.
267
+ // Therefore, this retrieveContent method is used to update the description.
268
+ await ValueHelpDelegate.retrieveContent(valueHelp, container, contentId);
269
+ const maxLength = payload.maxLength;
270
+ const valueLength = config.value?.toString().length || 0;
271
+ const descriptionPath = payload.valueHelpDescriptionPath;
266
272
  if (descriptionPath === "") {
267
273
  // In case the property value help collection has no text annotation (descriptionPath is empty) the description check shouldn´t occur.
268
274
  // In such a case the method getDescription will be called by MDC and within this method a SideEffect is requested to retrieve the text from the text property of the main entity
@@ -375,14 +381,12 @@ export default Object.assign({}, FieldBaseDelegate, {
375
381
  try {
376
382
  /* Request value help metadata */
377
383
  const valueListInfo = await metaModel.requestValueListInfo(propertyPath, true, bindingContext);
378
-
379
384
  const filterBar = this._getFilterBar(field);
380
385
  let filterConditions: Record<string, ConditionObject[]> | undefined;
381
386
  if (filterBar) {
382
387
  const filterState: ExternalStateType = await StateUtil.retrieveExternalState(filterBar);
383
388
  filterConditions = filterState.filter;
384
389
  }
385
-
386
390
  const propertyName = metaModel.getObject(`${propertyPath}@sapui.name`) as string;
387
391
  // take the first value list annotation - alternatively take the one without qualifier or the first one
388
392
  const valueList = valueListInfo[Object.keys(valueListInfo)[0]];
@@ -5,7 +5,7 @@
5
5
  sap.ui.define(["sap/fe/base/ClassSupport", "sap/fe/macros/controls/BuildingBlockObjectProperty"], function (ClassSupport, BuildingBlockObjectProperty) {
6
6
  "use strict";
7
7
 
8
- var _dec, _dec2, _dec3, _dec4, _dec5, _dec6, _dec7, _dec8, _dec9, _dec10, _dec11, _dec12, _dec13, _dec14, _dec15, _dec16, _dec17, _dec18, _dec19, _dec20, _dec21, _dec22, _dec23, _dec24, _dec25, _dec26, _dec27, _dec28, _dec29, _dec30, _dec31, _dec32, _dec33, _dec34, _class, _class2, _descriptor, _descriptor2, _descriptor3, _descriptor4, _descriptor5, _descriptor6, _descriptor7, _descriptor8, _descriptor9, _descriptor10, _descriptor11, _descriptor12, _descriptor13, _descriptor14, _descriptor15, _descriptor16, _descriptor17, _descriptor18, _descriptor19, _descriptor20, _descriptor21, _descriptor22, _descriptor23, _descriptor24, _descriptor25, _descriptor26, _descriptor27, _descriptor28, _descriptor29, _descriptor30, _descriptor31, _descriptor32, _descriptor33;
8
+ var _dec, _dec2, _dec3, _dec4, _dec5, _dec6, _dec7, _dec8, _dec9, _dec10, _dec11, _dec12, _dec13, _dec14, _dec15, _dec16, _dec17, _dec18, _dec19, _dec20, _dec21, _dec22, _dec23, _dec24, _dec25, _dec26, _dec27, _dec28, _dec29, _dec30, _dec31, _dec32, _dec33, _dec34, _dec35, _dec36, _class, _class2, _descriptor, _descriptor2, _descriptor3, _descriptor4, _descriptor5, _descriptor6, _descriptor7, _descriptor8, _descriptor9, _descriptor10, _descriptor11, _descriptor12, _descriptor13, _descriptor14, _descriptor15, _descriptor16, _descriptor17, _descriptor18, _descriptor19, _descriptor20, _descriptor21, _descriptor22, _descriptor23, _descriptor24, _descriptor25, _descriptor26, _descriptor27, _descriptor28, _descriptor29, _descriptor30, _descriptor31, _descriptor32, _descriptor33, _descriptor34, _descriptor35;
9
9
  var _exports = {};
10
10
  var property = ClassSupport.property;
11
11
  var defineUI5Class = ClassSupport.defineUI5Class;
@@ -88,6 +88,10 @@ sap.ui.define(["sap/fe/base/ClassSupport", "sap/fe/macros/controls/BuildingBlock
88
88
  type: "boolean"
89
89
  }), _dec34 = property({
90
90
  type: "boolean"
91
+ }), _dec35 = property({
92
+ type: "boolean"
93
+ }), _dec36 = property({
94
+ type: "boolean"
91
95
  }), _dec(_class = (_class2 = /*#__PURE__*/function (_BuildingBlockObjectP) {
92
96
  function FieldFormatOptions(props, others) {
93
97
  var _this;
@@ -281,6 +285,15 @@ sap.ui.define(["sap/fe/base/ClassSupport", "sap/fe/macros/controls/BuildingBlock
281
285
  */
282
286
  _initializerDefineProperty(_this, "isAnalyticalAggregatedRow", _descriptor32, _this);
283
287
  _initializerDefineProperty(_this, "showOnlyUnitDecimals", _descriptor33, _this);
288
+ _initializerDefineProperty(_this, "preserveDecimalsForCurrency", _descriptor34, _this);
289
+ /**
290
+ * If true, boolean fields are displayed as radio buttons.
291
+ * @private
292
+ * @experimental
293
+ * @ui5-experimental-since 1.141.0
294
+ * @since 1.141.0
295
+ */
296
+ _initializerDefineProperty(_this, "useRadioButtonsForBoolean", _descriptor35, _this);
284
297
  return _this;
285
298
  }
286
299
  _exports = FieldFormatOptions;
@@ -451,8 +464,18 @@ sap.ui.define(["sap/fe/base/ClassSupport", "sap/fe/macros/controls/BuildingBlock
451
464
  enumerable: true,
452
465
  writable: true,
453
466
  initializer: null
467
+ }), _descriptor34 = _applyDecoratedDescriptor(_class2.prototype, "preserveDecimalsForCurrency", [_dec35], {
468
+ configurable: true,
469
+ enumerable: true,
470
+ writable: true,
471
+ initializer: null
472
+ }), _descriptor35 = _applyDecoratedDescriptor(_class2.prototype, "useRadioButtonsForBoolean", [_dec36], {
473
+ configurable: true,
474
+ enumerable: true,
475
+ writable: true,
476
+ initializer: null
454
477
  }), _class2)) || _class);
455
478
  _exports = FieldFormatOptions;
456
479
  return _exports;
457
480
  }, false);
458
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJGaWVsZEZvcm1hdE9wdGlvbnMiLCJfZGVjIiwiZGVmaW5lVUk1Q2xhc3MiLCJfZGVjMiIsInByb3BlcnR5IiwidHlwZSIsIl9kZWMzIiwiX2RlYzQiLCJfZGVjNSIsIl9kZWM2IiwiX2RlYzciLCJfZGVjOCIsIl9kZWM5IiwiX2RlYzEwIiwiX2RlYzExIiwiX2RlYzEyIiwiYWxsb3dlZFZhbHVlcyIsIl9kZWMxMyIsIl9kZWMxNCIsIl9kZWMxNSIsIl9kZWMxNiIsIl9kZWMxNyIsIl9kZWMxOCIsIl9kZWMxOSIsIl9kZWMyMCIsIl9kZWMyMSIsIl9kZWMyMiIsIl9kZWMyMyIsIl9kZWMyNCIsIl9kZWMyNSIsIl9kZWMyNiIsIl9kZWMyNyIsIl9kZWMyOCIsIl9kZWMyOSIsIl9kZWMzMCIsIl9kZWMzMSIsIl9kZWMzMiIsIl9kZWMzMyIsIl9kZWMzNCIsIl9jbGFzcyIsIl9jbGFzczIiLCJfQnVpbGRpbmdCbG9ja09iamVjdFAiLCJwcm9wcyIsIm90aGVycyIsIl90aGlzIiwiY2FsbCIsIl9pbml0aWFsaXplckRlZmluZVByb3BlcnR5IiwiX2Rlc2NyaXB0b3IiLCJfZGVzY3JpcHRvcjIiLCJfZGVzY3JpcHRvcjMiLCJfZGVzY3JpcHRvcjQiLCJfZGVzY3JpcHRvcjUiLCJfZGVzY3JpcHRvcjYiLCJfZGVzY3JpcHRvcjciLCJfZGVzY3JpcHRvcjgiLCJfZGVzY3JpcHRvcjkiLCJfZGVzY3JpcHRvcjEwIiwiX2Rlc2NyaXB0b3IxMSIsIl9kZXNjcmlwdG9yMTIiLCJfZGVzY3JpcHRvcjEzIiwiX2Rlc2NyaXB0b3IxNCIsIl9kZXNjcmlwdG9yMTUiLCJfZGVzY3JpcHRvcjE2IiwiX2Rlc2NyaXB0b3IxNyIsIl9kZXNjcmlwdG9yMTgiLCJfZGVzY3JpcHRvcjE5IiwiX2Rlc2NyaXB0b3IyMCIsIl9kZXNjcmlwdG9yMjEiLCJfZGVzY3JpcHRvcjIyIiwiX2Rlc2NyaXB0b3IyMyIsIl9kZXNjcmlwdG9yMjQiLCJfZGVzY3JpcHRvcjI1IiwiX2Rlc2NyaXB0b3IyNiIsIl9kZXNjcmlwdG9yMjciLCJfZGVzY3JpcHRvcjI4IiwiX2Rlc2NyaXB0b3IyOSIsIl9kZXNjcmlwdG9yMzAiLCJfZGVzY3JpcHRvcjMxIiwiX2Rlc2NyaXB0b3IzMiIsIl9kZXNjcmlwdG9yMzMiLCJfZXhwb3J0cyIsIl9pbmhlcml0c0xvb3NlIiwiQnVpbGRpbmdCbG9ja09iamVjdFByb3BlcnR5IiwiX2FwcGx5RGVjb3JhdGVkRGVzY3JpcHRvciIsInByb3RvdHlwZSIsImNvbmZpZ3VyYWJsZSIsImVudW1lcmFibGUiLCJ3cml0YWJsZSIsImluaXRpYWxpemVyIl0sInNvdXJjZVJvb3QiOiIuIiwic291cmNlcyI6WyJGaWVsZEZvcm1hdE9wdGlvbnMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBQcm9wZXJ0aWVzT2YgfSBmcm9tIFwic2FwL2ZlL2Jhc2UvQ2xhc3NTdXBwb3J0XCI7XG5pbXBvcnQgeyBkZWZpbmVVSTVDbGFzcywgcHJvcGVydHkgfSBmcm9tIFwic2FwL2ZlL2Jhc2UvQ2xhc3NTdXBwb3J0XCI7XG5pbXBvcnQgdHlwZSB7IERhdGVUaW1lU3R5bGUgfSBmcm9tIFwic2FwL2ZlL2NvcmUvdGVtcGxhdGluZy9VSUZvcm1hdHRlcnNcIjtcbmltcG9ydCBCdWlsZGluZ0Jsb2NrT2JqZWN0UHJvcGVydHkgZnJvbSBcInNhcC9mZS9tYWNyb3MvY29udHJvbHMvQnVpbGRpbmdCbG9ja09iamVjdFByb3BlcnR5XCI7XG5cbmV4cG9ydCB0eXBlIEZpZWxkRWRpdFN0eWxlID0gXCJSYWRpb0J1dHRvbnNcIjtcbi8qKlxuICogQWRkaXRpb25hbCBmb3JtYXQgb3B0aW9ucyBmb3IgdGhlIGZpZWxkLlxuICogQGFsaWFzIHNhcC5mZS5tYWNyb3MuZmllbGQuRmllbGRGb3JtYXRPcHRpb25zXG4gKiBAcHVibGljXG4gKi9cbkBkZWZpbmVVSTVDbGFzcyhcInNhcC5mZS5tYWNyb3MuZmllbGQuRmllbGRGb3JtYXRPcHRpb25zXCIpXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBGaWVsZEZvcm1hdE9wdGlvbnMgZXh0ZW5kcyBCdWlsZGluZ0Jsb2NrT2JqZWN0UHJvcGVydHkge1xuXHRjb25zdHJ1Y3Rvcihwcm9wcz86IHN0cmluZyB8IFByb3BlcnRpZXNPZjxGaWVsZEZvcm1hdE9wdGlvbnM+LCBvdGhlcnM/OiBQcm9wZXJ0aWVzT2Y8RmllbGRGb3JtYXRPcHRpb25zPikge1xuXHRcdHN1cGVyKHByb3BzIGFzIHN0cmluZywgb3RoZXJzKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBEZWZpbmVzIGhvdyB0aGUgZmllbGQgdmFsdWUgYW5kIGFzc29jaWF0ZWQgdGV4dCB3aWxsIGJlIGRpc3BsYXllZCB0b2dldGhlci48YnIvPlxuXHQgKlxuXHQgKiBBbGxvd2VkIHZhbHVlcyBhcmUgXCJWYWx1ZVwiLCBcIkRlc2NyaXB0aW9uXCIsIFwiRGVzY3JpcHRpb25WYWx1ZVwiIGFuZCBcIlZhbHVlRGVzY3JpcHRpb25cIlxuXHQgKiAgQHB1YmxpY1xuXHQgKi9cblx0QHByb3BlcnR5KHsgdHlwZTogXCJzdHJpbmdcIiB9KVxuXHRkaXNwbGF5TW9kZT86IFwiVmFsdWVcIiB8IFwiRGVzY3JpcHRpb25cIiB8IFwiRGVzY3JpcHRpb25WYWx1ZVwiIHwgXCJWYWx1ZURlc2NyaXB0aW9uXCI7XG5cblx0LyoqXG5cdCAqIERlZmluZXMgaWYgYW5kIGhvdyB0aGUgZmllbGQgbWVhc3VyZSB3aWxsIGJlIGRpc3BsYXllZC48YnIvPlxuXHQgKlxuXHQgKiBBbGxvd2VkIHZhbHVlcyBhcmUgXCJIaWRkZW5cIiBhbmQgXCJSZWFkT25seVwiXG5cdCAqICBAcHVibGljXG5cdCAqL1xuXHRAcHJvcGVydHkoeyB0eXBlOiBcInN0cmluZ1wiIH0pXG5cdG1lYXN1cmVEaXNwbGF5TW9kZT86IFwiSGlkZGVuXCIgfCBcIlJlYWRPbmx5XCI7XG5cblx0LyoqXG5cdCAqIE1heGltdW0gbnVtYmVyIG9mIGxpbmVzIGZvciBtdWx0aWxpbmUgdGV4dHMgaW4gZWRpdCBtb2RlLjxici8+XG5cdCAqICBAcHVibGljXG5cdCAqL1xuXHRAcHJvcGVydHkoeyB0eXBlOiBcImludFwiIH0pXG5cdHRleHRMaW5lc0VkaXQ/OiBudW1iZXI7XG5cblx0LyoqXG5cdCAqIE1heGltdW0gbnVtYmVyIG9mIGxpbmVzIHRoYXQgbXVsdGlsaW5lIHRleHRzIGluIGVkaXQgbW9kZSBjYW4gZ3JvdyB0by48YnIvPlxuXHQgKiAgQHB1YmxpY1xuXHQgKi9cblx0QHByb3BlcnR5KHsgdHlwZTogXCJpbnRcIiB9KVxuXHR0ZXh0TWF4TGluZXM/OiBudW1iZXI7XG5cblx0LyoqXG5cdCAqIE1heGltdW0gbnVtYmVyIG9mIGNoYXJhY3RlcnMgZnJvbSB0aGUgYmVnaW5uaW5nIG9mIHRoZSB0ZXh0IGZpZWxkIHRoYXQgYXJlIHNob3duIGluaXRpYWxseS48YnIvPlxuXHQgKiAgQHB1YmxpY1xuXHQgKi9cblx0QHByb3BlcnR5KHsgdHlwZTogXCJpbnRcIiB9KVxuXHR0ZXh0TWF4Q2hhcmFjdGVyc0Rpc3BsYXk/OiBudW1iZXI7XG5cblx0LyoqXG5cdCAqIERlZmluZXMgaG93IHRoZSBmdWxsIHRleHQgd2lsbCBiZSBkaXNwbGF5ZWQuPGJyLz5cblx0ICpcblx0ICogQWxsb3dlZCB2YWx1ZXMgYXJlIFwiSW5QbGFjZVwiIGFuZCBcIlBvcG92ZXJcIlxuXHQgKiAgQHB1YmxpY1xuXHQgKi9cblx0QHByb3BlcnR5KHsgdHlwZTogXCJzdHJpbmdcIiB9KVxuXHR0ZXh0RXhwYW5kQmVoYXZpb3JEaXNwbGF5PzogXCJJblBsYWNlXCIgfCBcIlBvcG92ZXJcIjtcblxuXHQvKipcblx0ICogRGVmaW5lcyB0aGUgbWF4aW11bSBudW1iZXIgb2YgY2hhcmFjdGVycyBmb3IgdGhlIG11bHRpbGluZSB0ZXh0IHZhbHVlLjxici8+XG5cdCAqXG5cdCAqIElmIGEgbXVsdGlsaW5lIHRleHQgZXhjZWVkcyB0aGUgbWF4aW11bSBudW1iZXIgb2YgYWxsb3dlZCBjaGFyYWN0ZXJzLCB0aGUgY291bnRlciBiZWxvdyB0aGUgaW5wdXQgZmllbGQgZGlzcGxheXMgdGhlIGV4YWN0IG51bWJlci5cblx0ICogIEBwdWJsaWNcblx0ICovXG5cdEBwcm9wZXJ0eSh7IHR5cGU6IFwiaW50XCIgfSlcblx0dGV4dE1heExlbmd0aD86IG51bWJlcjtcblxuXHQvKipcblx0ICogRGVmaW5lcyBpZiB0aGUgZGF0ZSBwYXJ0IG9mIGEgZGF0ZSB0aW1lIHdpdGggdGltZXpvbmUgZmllbGQgc2hvdWxkIGJlIHNob3duLiA8YnIvPlxuXHQgKlxuXHQgKiBUaGUgZGF0ZVRpbWVPZmZzZXQgZmllbGQgbXVzdCBoYXZlIGEgdGltZXpvbmUgYW5ub3RhdGlvbi5cblx0ICpcblx0ICogVGhlIGRlZmF1bHQgdmFsdWUgaXMgdHJ1ZS5cblx0ICogIEBwdWJsaWNcblx0ICovXG5cdEBwcm9wZXJ0eSh7IHR5cGU6IFwiYm9vbGVhblwiIH0pXG5cdHNob3dEYXRlPzogYm9vbGVhbjtcblxuXHQvKipcblx0ICogRGVmaW5lcyBpZiB0aGUgdGltZSBwYXJ0IG9mIGEgZGF0ZSB0aW1lIHdpdGggdGltZXpvbmUgZmllbGQgc2hvdWxkIGJlIHNob3duLiA8YnIvPlxuXHQgKlxuXHQgKiBUaGUgZGF0ZVRpbWVPZmZzZXQgZmllbGQgbXVzdCBoYXZlIGEgdGltZXpvbmUgYW5ub3RhdGlvbi5cblx0ICpcblx0ICogVGhlIGRlZmF1bHQgdmFsdWUgaXMgdHJ1ZS5cblx0ICogIEBwdWJsaWNcblx0ICovXG5cdEBwcm9wZXJ0eSh7IHR5cGU6IFwiYm9vbGVhblwiIH0pXG5cdHNob3dUaW1lPzogYm9vbGVhbjtcblxuXHQvKipcblx0ICogRGVmaW5lcyBpZiB0aGUgdGltZXpvbmUgcGFydCBvZiBhIGRhdGUgdGltZSB3aXRoIHRpbWV6b25lIGZpZWxkIHNob3VsZCBiZSBzaG93bi4gPGJyLz5cblx0ICpcblx0ICogVGhlIGRhdGVUaW1lT2Zmc2V0IGZpZWxkIG11c3QgaGF2ZSBhIHRpbWV6b25lIGFubm90YXRpb24uXG5cdCAqXG5cdCAqIFRoZSBkZWZhdWx0IHZhbHVlIGlzIHRydWUuXG5cdCAqICBAcHVibGljXG5cdCAqL1xuXHRAcHJvcGVydHkoeyB0eXBlOiBcImJvb2xlYW5cIiB9KVxuXHRzaG93VGltZXpvbmU/OiBib29sZWFuO1xuXG5cdC8qKlxuXHQgKiBEZXRlcm1pbmVzIGhvdyB0aGUgZmllbGQgc2hvdWxkIGJlIHJlbmRlcmVkLCBlLmcuIGFzIHJhZGlvIGJ1dHRvbnMuIDxici8+XG5cdCAqIElmIG5vdCBhbGwgcHJlcmVxdWlzaXRlcyBhcmUgbWV0LCB0aGUgZmllbGQgd2lsbCBkZWZhdWx0IGJhY2sgdG8gdGhlIHN0YW5kYXJkIHJlbmRlcmluZy5cblx0ICogIEBwdWJsaWNcblx0ICovXG5cdEBwcm9wZXJ0eSh7IHR5cGU6IFwic3RyaW5nXCIsIGFsbG93ZWRWYWx1ZXM6IFtcIlJhZGlvQnV0dG9uc1wiXSB9KVxuXHRmaWVsZEVkaXRTdHlsZT86IEZpZWxkRWRpdFN0eWxlO1xuXG5cdC8qKlxuXHQgKiBTcGVjaWZpZXMgaWYgcmFkaW8gYnV0dG9ucyBzaG91bGQgYmUgcmVuZGVyZWQgaW4gYSBob3Jpem9udGFsIGxheW91dC4gPGJyLz5cblx0ICogIEBwdWJsaWNcblx0ICovXG5cdEBwcm9wZXJ0eSh7IHR5cGU6IFwiYm9vbGVhblwiIH0pXG5cdHJhZGlvQnV0dG9uc0hvcml6b250YWxMYXlvdXQ/OiBib29sZWFuO1xuXHQvKipcblx0ICogUHJvcGVydHkgZm9yIGRlZmluaW5nIHRoZSBkaXNwbGF5IHN0eWxlIGZvciB0aGUgZGF0ZSwgdGltZSwgb3IgZGF0ZVRpbWUgZm9ybWF0LiA8YnIvPlxuXHQgKiBJZiB0aGVyZSBpcyBhIGRhdGVUaW1lUGF0dGVybiBkZWZpbmVkLCBkYXRlVGltZVN0eWxlIGlzIGlnbm9yZWQuXG5cdCAqIEBwdWJsaWNcblx0ICovXG5cblx0QHByb3BlcnR5KHsgdHlwZTogXCJzdHJpbmdcIiwgYWxsb3dlZFZhbHVlczogW1wic2hvcnRcIiwgXCJtZWRpdW1cIiwgXCJsb25nXCIsIFwiZnVsbFwiXSB9KVxuXHRkYXRlVGltZVN0eWxlPzogRGF0ZVRpbWVTdHlsZTtcblxuXHQvKipcblx0ICogUHJvcGVydHkgZm9yIGRlZmluaW5nIGEgY3VzdG9tIHBhdHRlcm4gZm9yIHRoZSBkYXRlLCB0aW1lLCBvciBkYXRlVGltZSBmb3JtYXQuIDxici8+XG5cdCAqIElmIGEgZGF0ZVRpbWVQYXR0ZXJuIGlzIGRlZmluZWQsIHRoZSBkYXRlVGltZVN0eWxlIGlzIGlnbm9yZWQuXG5cdCAqIEBwdWJsaWNcblx0ICovXG5cdEBwcm9wZXJ0eSh7IHR5cGU6IFwic3RyaW5nXCIgfSlcblx0ZGF0ZVRpbWVQYXR0ZXJuPzogc3RyaW5nO1xuXG5cdC8qKlxuXHQgKiAgV2hlbiB0aGUgRmllbGQgaXMgZGlzcGxheWVkIGFzIGEgY2xpY2thYmxlIGVsZW1lbnQsIGl0IGRlZmluZXMgdGhlIHNpemUgb2YgdGhlIHJlYWN0aXZlIGFyZWEgb2YgdGhlIGNsaWNrYWJsZSBlbGVtZW50OlxuXHQgKlxuXHQgKiAtIFJlYWN0aXZlQXJlYU1vZGUuSW5saW5lIC0gVGhlIGxpbmsgaXMgZGlzcGxheWVkIGFzIHBhcnQgb2YgYSBzZW50ZW5jZS5cblx0ICogLSBSZWFjdGl2ZUFyZWFNb2RlLk92ZXJsYXkgLSBUaGUgbGluayBpcyBkaXNwbGF5ZWQgYXMgYW4gb3ZlcmxheSBvbiB0b3Agb2Ygb3RoZXIgaW50ZXJhY3RpdmUgcGFydHMgb2YgdGhlIHBhZ2UuXG5cdCAqIE5vdGU6IEl0IGlzIGRlc2lnbmVkIHRvIG1ha2UgdGhlIGNsaWNrYWJsZSBlbGVtZW50IGVhc2llciB0byBhY3RpdmF0ZSBhbmQgaGVscHMgbWVldCB0aGUgV0NBRyAyLjIgVGFyZ2V0IFNpemUgcmVxdWlyZW1lbnQuIEl0IGlzIGFwcGxpY2FibGUgb25seSBmb3IgdGhlIFNBUCBIb3Jpem9uIHRoZW1lcy4gTm90ZTogVGhlIHNpemUgb2YgdGhlIHJlYWN0aXZlIGFyZWEgaXMgc3VmZmljaWVudGx5IGxhcmdlIHRvIGhlbHAgdXNlcnMgYXZvaWQgYWNjaWRlbnRhbGx5IHNlbGVjdGluZyAoY2xpY2tpbmcgb3IgdGFwcGluZykgdW5pbnRlbmRlZCBVSSBlbGVtZW50cy4gVUkgZWxlbWVudHMgcG9zaXRpb25lZCBvdmVyIG90aGVyIHBhcnRzIG9mIHRoZSBwYWdlIG1heSBuZWVkIGFuIGludmlzaWJsZSBhY3RpdmUgdG91Y2ggYXJlYS4gVGhpcyBlbnN1cmVzIHRoYXQgbm8gZWxlbWVudHMgYmVuZWF0aCBhcmUgYWN0aXZhdGVkIGFjY2lkZW50YWxseSB3aGVuIHRoZSB1c2VyIHRyaWVzIHRvIGludGVyYWN0IHdpdGggdGhlIG92ZXJsYXkgZWxlbWVudC5cblx0ICogQHB1YmxpY1xuXHQgKi9cblx0QHByb3BlcnR5KHsgdHlwZTogXCJzdHJpbmdcIiwgYWxsb3dlZFZhbHVlczogW1wiSW5saW5lXCIsIFwiT3ZlcmxheVwiXSB9KVxuXHRyZWFjdGl2ZUFyZWFNb2RlPzogXCJJbmxpbmVcIiB8IFwiT3ZlcmxheVwiO1xuXG5cdC8vIGludGVybmFsIHByb3BlcnRpZXNcblx0LyoqXG5cdCAqXG5cdCAqIEBwcml2YXRlXG5cdCAqL1xuXHRAcHJvcGVydHkoeyB0eXBlOiBcInN0cmluZ1wiIH0pXG5cdGZpZWxkTW9kZT86IHN0cmluZztcblxuXHQvKipcblx0ICpcblx0ICogQHByaXZhdGVcblx0ICovXG5cdEBwcm9wZXJ0eSh7IHR5cGU6IFwiYm9vbGVhblwiIH0pXG5cdGhhc0RyYWZ0SW5kaWNhdG9yPzogYm9vbGVhbjtcblxuXHQvKipcblx0ICpcblx0ICogQHByaXZhdGVcblx0ICovXG5cdEBwcm9wZXJ0eSh7IHR5cGU6IFwiYm9vbGVhblwiIH0pXG5cdGlzQW5hbHl0aWNzPzogYm9vbGVhbjtcblxuXHQvKipcblx0ICogSWYgdHJ1ZSBhbmQgaWYgdGhlIGZpZWxkIGlzIHBhcnQgb2YgYW4gaW5hY3RpdmUgcm93LCB0aGVuIGEgY2hlY2sgd2lsbCBiZSBkb25lIHRvIGRldGVybWluZSBpZiB0aGUgdW5kZXJseWluZyBwcm9wZXJ0eSBoYXMgYSBub24taW5zZXJ0YWJsZSByZXN0cmljdGlvblxuXHQgKiBAcHJpdmF0ZVxuXHQgKi9cblx0QHByb3BlcnR5KHsgdHlwZTogXCJib29sZWFuXCIgfSlcblx0Zm9ySW5saW5lQ3JlYXRpb25Sb3dzPzogYm9vbGVhbjtcblxuXHQvKipcblx0ICogSWYgdHJ1ZSB0aGVuIHRoZSBuYXZpZ2F0aW9uYXZhaWxhYmxlIHByb3BlcnR5IHdpbGwgbm90IGJlIHVzZWQgZm9yIHRoZSBlbmFibGVtZW50IG9mIHRoZSBJQk4gYnV0dG9uXG5cdCAqIEBwcml2YXRlXG5cdCAqL1xuXHRAcHJvcGVydHkoeyB0eXBlOiBcImJvb2xlYW5cIiB9KVxuXHRpZ25vcmVOYXZpZ2F0aW9uQXZhaWxhYmxlPzogYm9vbGVhbjtcblxuXHQvKipcblx0ICpcblx0ICogQHByaXZhdGVcblx0ICovXG5cdEBwcm9wZXJ0eSh7IHR5cGU6IFwiYm9vbGVhblwiIH0pXG5cdGlzQ3VycmVuY3lPclVuaXRBbGlnbmVkPzogYm9vbGVhbjtcblxuXHQvKipcblx0ICogRW5hYmxlcyB0aGUgZmFsbGJhY2sgZmVhdHVyZSBmb3IgdGhlIHVzYWdlIG9mIHRoZSB0ZXh0IGFubm90YXRpb24gZnJvbSB0aGUgdmFsdWUgbGlzdHNcblx0ICogQHByaXZhdGVcblx0ICovXG5cdEBwcm9wZXJ0eSh7IHR5cGU6IFwiYm9vbGVhblwiIH0pXG5cdHJldHJpZXZlVGV4dEZyb21WYWx1ZUxpc3Q/OiBib29sZWFuO1xuXG5cdC8qKlxuXHQgKlxuXHQgKiBAcHJpdmF0ZVxuXHQgKi9cblx0QHByb3BlcnR5KHsgdHlwZTogXCJzdHJpbmdcIiB9KVxuXHRzZW1hbnRpY2tleXM/OiBzdHJpbmdbXTtcblxuXHQvKipcblx0ICogUHJlZmVycmVkIGNvbnRyb2wgdG8gdmlzdWFsaXplIHNlbWFudGljIGtleSBwcm9wZXJ0aWVzXG5cdCAqIEBwcml2YXRlXG5cdCAqL1xuXHRAcHJvcGVydHkoeyB0eXBlOiBcInN0cmluZ1wiIH0pXG5cdHNlbWFudGljS2V5U3R5bGU/OiBzdHJpbmc7XG5cblx0LyoqXG5cdCAqIElmIHNldCB0byAndHJ1ZScsIFNBUCBGaW9yaSBlbGVtZW50cyBzaG93cyBhbiBlbXB0eSBpbmRpY2F0b3IgaW4gZGlzcGxheSBtb2RlIGZvciB0aGUgdGV4dCBhbmQgbGlua3Ncblx0ICogQHByaXZhdGVcblx0ICovXG5cdEBwcm9wZXJ0eSh7IHR5cGU6IFwiYm9vbGVhblwiIH0pXG5cdHNob3dFbXB0eUluZGljYXRvcj86IGJvb2xlYW47XG5cblx0LyoqXG5cdCAqIElmIHRydWUgdGhlbiBzZXRzIHRoZSBnaXZlbiBpY29uIGluc3RlYWQgb2YgdGV4dCBpbiBBY3Rpb24vSUJOIEJ1dHRvblxuXHQgKiBAcHJpdmF0ZVxuXHQgKi9cblx0QHByb3BlcnR5KHsgdHlwZTogXCJib29sZWFuXCIgfSlcblx0c2hvd0ljb25Vcmw/OiBib29sZWFuO1xuXG5cdC8qKlxuXHQgKiBEZXNjcmliZXMgaG93IHRoZSBhbGlnbm1lbnQgd29ya3MgYmV0d2VlbiBUYWJsZSBtb2RlIChEYXRlIGFuZCBOdW1lcmljIEVuZCBhbGlnbm1lbnQpIGFuZCBGb3JtIG1vZGUgKG51bWVyaWMgYWxpZ25lZCBFbmQgaW4gZWRpdCBhbmQgQmVnaW4gaW4gZGlzcGxheSlcblx0ICogQHByaXZhdGVcblx0ICovXG5cdEBwcm9wZXJ0eSh7IHR5cGU6IFwic3RyaW5nXCIgfSlcblx0dGV4dEFsaWduTW9kZT86IHN0cmluZztcblxuXHQvKipcblx0ICpcblx0ICogQHByaXZhdGVcblx0ICovXG5cdEBwcm9wZXJ0eSh7IHR5cGU6IFwic3RyaW5nXCIgfSlcblx0Y29tcGFjdFNlbWFudGljS2V5Pzogc3RyaW5nO1xuXG5cdC8qKlxuXHQgKlxuXHQgKiBAcHJpdmF0ZVxuXHQgKi9cblx0QHByb3BlcnR5KHsgdHlwZTogXCJzdHJpbmdcIiB9KVxuXHRmaWVsZEdyb3VwRHJhZnRJbmRpY2F0b3JQcm9wZXJ0eVBhdGg/OiBzdHJpbmc7XG5cblx0LyoqXG5cdCAqXG5cdCAqIEBwcml2YXRlXG5cdCAqL1xuXHRAcHJvcGVydHkoeyB0eXBlOiBcInN0cmluZ1wiIH0pXG5cdGZpZWxkR3JvdXBOYW1lPzogc3RyaW5nO1xuXG5cdC8qKlxuXHQgKiBJbmRpY2F0ZXMgaWYgdGhpcyBmaWVsZCBpcyBwYXJ0IG9mIGEgZmllbGQgZ3JvdXBcblx0ICogQHByaXZhdGVcblx0ICovXG5cdEBwcm9wZXJ0eSh7IHR5cGU6IFwiYm9vbGVhblwiIH0pXG5cdGlzRmllbGRHcm91cEl0ZW0/OiBib29sZWFuO1xuXG5cdC8qKlxuXHQgKiBEZXNjcmliZXMgaWYgdGhpcyBmaWVsZCBpcyBwYXJ0IG9mIGFuIGFuYWx5dGljYWwgdGFibGUgYWdncmVnYXRlZCByb3dcblx0ICogQHByaXZhdGVcblx0ICovXG5cdEBwcm9wZXJ0eSh7IHR5cGU6IFwiYm9vbGVhblwiIH0pXG5cdGlzQW5hbHl0aWNhbEFnZ3JlZ2F0ZWRSb3c/OiBib29sZWFuO1xuXG5cdEBwcm9wZXJ0eSh7IHR5cGU6IFwiYm9vbGVhblwiIH0pXG5cdHNob3dPbmx5VW5pdERlY2ltYWxzPzogYm9vbGVhbjtcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztFQU1BO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7RUFKQSxJQU1xQkEsa0JBQWtCLElBQUFDLElBQUEsR0FEdENDLGNBQWMsQ0FBQyx3Q0FBd0MsQ0FBQyxFQUFBQyxLQUFBLEdBWXZEQyxRQUFRLENBQUM7SUFBRUMsSUFBSSxFQUFFO0VBQVMsQ0FBQyxDQUFDLEVBQUFDLEtBQUEsR0FTNUJGLFFBQVEsQ0FBQztJQUFFQyxJQUFJLEVBQUU7RUFBUyxDQUFDLENBQUMsRUFBQUUsS0FBQSxHQU81QkgsUUFBUSxDQUFDO0lBQUVDLElBQUksRUFBRTtFQUFNLENBQUMsQ0FBQyxFQUFBRyxLQUFBLEdBT3pCSixRQUFRLENBQUM7SUFBRUMsSUFBSSxFQUFFO0VBQU0sQ0FBQyxDQUFDLEVBQUFJLEtBQUEsR0FPekJMLFFBQVEsQ0FBQztJQUFFQyxJQUFJLEVBQUU7RUFBTSxDQUFDLENBQUMsRUFBQUssS0FBQSxHQVN6Qk4sUUFBUSxDQUFDO0lBQUVDLElBQUksRUFBRTtFQUFTLENBQUMsQ0FBQyxFQUFBTSxLQUFBLEdBUzVCUCxRQUFRLENBQUM7SUFBRUMs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
481
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJGaWVsZEZvcm1hdE9wdGlvbnMiLCJfZGVjIiwiZGVmaW5lVUk1Q2xhc3MiLCJfZGVjMiIsInByb3BlcnR5IiwidHlwZSIsIl9kZWMzIiwiX2RlYzQiLCJfZGVjNSIsIl9kZWM2IiwiX2RlYzciLCJfZGVjOCIsIl9kZWM5IiwiX2RlYzEwIiwiX2RlYzExIiwiX2RlYzEyIiwiYWxsb3dlZFZhbHVlcyIsIl9kZWMxMyIsIl9kZWMxNCIsIl9kZWMxNSIsIl9kZWMxNiIsIl9kZWMxNyIsIl9kZWMxOCIsIl9kZWMxOSIsIl9kZWMyMCIsIl9kZWMyMSIsIl9kZWMyMiIsIl9kZWMyMyIsIl9kZWMyNCIsIl9kZWMyNSIsIl9kZWMyNiIsIl9kZWMyNyIsIl9kZWMyOCIsIl9kZWMyOSIsIl9kZWMzMCIsIl9kZWMzMSIsIl9kZWMzMiIsIl9kZWMzMyIsIl9kZWMzNCIsIl9kZWMzNSIsIl9kZWMzNiIsIl9jbGFzcyIsIl9jbGFzczIiLCJfQnVpbGRpbmdCbG9ja09iamVjdFAiLCJwcm9wcyIsIm90aGVycyIsIl90aGlzIiwiY2FsbCIsIl9pbml0aWFsaXplckRlZmluZVByb3BlcnR5IiwiX2Rlc2NyaXB0b3IiLCJfZGVzY3JpcHRvcjIiLCJfZGVzY3JpcHRvcjMiLCJfZGVzY3JpcHRvcjQiLCJfZGVzY3JpcHRvcjUiLCJfZGVzY3JpcHRvcjYiLCJfZGVzY3JpcHRvcjciLCJfZGVzY3JpcHRvcjgiLCJfZGVzY3JpcHRvcjkiLCJfZGVzY3JpcHRvcjEwIiwiX2Rlc2NyaXB0b3IxMSIsIl9kZXNjcmlwdG9yMTIiLCJfZGVzY3JpcHRvcjEzIiwiX2Rlc2NyaXB0b3IxNCIsIl9kZXNjcmlwdG9yMTUiLCJfZGVzY3JpcHRvcjE2IiwiX2Rlc2NyaXB0b3IxNyIsIl9kZXNjcmlwdG9yMTgiLCJfZGVzY3JpcHRvcjE5IiwiX2Rlc2NyaXB0b3IyMCIsIl9kZXNjcmlwdG9yMjEiLCJfZGVzY3JpcHRvcjIyIiwiX2Rlc2NyaXB0b3IyMyIsIl9kZXNjcmlwdG9yMjQiLCJfZGVzY3JpcHRvcjI1IiwiX2Rlc2NyaXB0b3IyNiIsIl9kZXNjcmlwdG9yMjciLCJfZGVzY3JpcHRvcjI4IiwiX2Rlc2NyaXB0b3IyOSIsIl9kZXNjcmlwdG9yMzAiLCJfZGVzY3JpcHRvcjMxIiwiX2Rlc2NyaXB0b3IzMiIsIl9kZXNjcmlwdG9yMzMiLCJfZGVzY3JpcHRvcjM0IiwiX2Rlc2NyaXB0b3IzNSIsIl9leHBvcnRzIiwiX2luaGVyaXRzTG9vc2UiLCJCdWlsZGluZ0Jsb2NrT2JqZWN0UHJvcGVydHkiLCJfYXBwbHlEZWNvcmF0ZWREZXNjcmlwdG9yIiwicHJvdG90eXBlIiwiY29uZmlndXJhYmxlIiwiZW51bWVyYWJsZSIsIndyaXRhYmxlIiwiaW5pdGlhbGl6ZXIiXSwic291cmNlUm9vdCI6Ii4iLCJzb3VyY2VzIjpbIkZpZWxkRm9ybWF0T3B0aW9ucy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFByb3BlcnRpZXNPZiB9IGZyb20gXCJzYXAvZmUvYmFzZS9DbGFzc1N1cHBvcnRcIjtcbmltcG9ydCB7IGRlZmluZVVJNUNsYXNzLCBwcm9wZXJ0eSB9IGZyb20gXCJzYXAvZmUvYmFzZS9DbGFzc1N1cHBvcnRcIjtcbmltcG9ydCB0eXBlIHsgRGF0ZVRpbWVTdHlsZSB9IGZyb20gXCJzYXAvZmUvY29yZS90ZW1wbGF0aW5nL1VJRm9ybWF0dGVyc1wiO1xuaW1wb3J0IEJ1aWxkaW5nQmxvY2tPYmplY3RQcm9wZXJ0eSBmcm9tIFwic2FwL2ZlL21hY3Jvcy9jb250cm9scy9CdWlsZGluZ0Jsb2NrT2JqZWN0UHJvcGVydHlcIjtcblxuZXhwb3J0IHR5cGUgRmllbGRFZGl0U3R5bGUgPSBcIlJhZGlvQnV0dG9uc1wiO1xuLyoqXG4gKiBBZGRpdGlvbmFsIGZvcm1hdCBvcHRpb25zIGZvciB0aGUgZmllbGQuXG4gKiBAYWxpYXMgc2FwLmZlLm1hY3Jvcy5maWVsZC5GaWVsZEZvcm1hdE9wdGlvbnNcbiAqIEBwdWJsaWNcbiAqL1xuQGRlZmluZVVJNUNsYXNzKFwic2FwLmZlLm1hY3Jvcy5maWVsZC5GaWVsZEZvcm1hdE9wdGlvbnNcIilcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEZpZWxkRm9ybWF0T3B0aW9ucyBleHRlbmRzIEJ1aWxkaW5nQmxvY2tPYmplY3RQcm9wZXJ0eSB7XG5cdGNvbnN0cnVjdG9yKHByb3BzPzogc3RyaW5nIHwgUHJvcGVydGllc09mPEZpZWxkRm9ybWF0T3B0aW9ucz4sIG90aGVycz86IFByb3BlcnRpZXNPZjxGaWVsZEZvcm1hdE9wdGlvbnM+KSB7XG5cdFx0c3VwZXIocHJvcHMgYXMgc3RyaW5nLCBvdGhlcnMpO1xuXHR9XG5cblx0LyoqXG5cdCAqIERlZmluZXMgaG93IHRoZSBmaWVsZCB2YWx1ZSBhbmQgYXNzb2NpYXRlZCB0ZXh0IHdpbGwgYmUgZGlzcGxheWVkIHRvZ2V0aGVyLjxici8+XG5cdCAqXG5cdCAqIEFsbG93ZWQgdmFsdWVzIGFyZSBcIlZhbHVlXCIsIFwiRGVzY3JpcHRpb25cIiwgXCJEZXNjcmlwdGlvblZhbHVlXCIgYW5kIFwiVmFsdWVEZXNjcmlwdGlvblwiXG5cdCAqICBAcHVibGljXG5cdCAqL1xuXHRAcHJvcGVydHkoeyB0eXBlOiBcInN0cmluZ1wiIH0pXG5cdGRpc3BsYXlNb2RlPzogXCJWYWx1ZVwiIHwgXCJEZXNjcmlwdGlvblwiIHwgXCJEZXNjcmlwdGlvblZhbHVlXCIgfCBcIlZhbHVlRGVzY3JpcHRpb25cIjtcblxuXHQvKipcblx0ICogRGVmaW5lcyBpZiBhbmQgaG93IHRoZSBmaWVsZCBtZWFzdXJlIHdpbGwgYmUgZGlzcGxheWVkLjxici8+XG5cdCAqXG5cdCAqIEFsbG93ZWQgdmFsdWVzIGFyZSBcIkhpZGRlblwiIGFuZCBcIlJlYWRPbmx5XCJcblx0ICogIEBwdWJsaWNcblx0ICovXG5cdEBwcm9wZXJ0eSh7IHR5cGU6IFwic3RyaW5nXCIgfSlcblx0bWVhc3VyZURpc3BsYXlNb2RlPzogXCJIaWRkZW5cIiB8IFwiUmVhZE9ubHlcIjtcblxuXHQvKipcblx0ICogTWF4aW11bSBudW1iZXIgb2YgbGluZXMgZm9yIG11bHRpbGluZSB0ZXh0cyBpbiBlZGl0IG1vZGUuPGJyLz5cblx0ICogIEBwdWJsaWNcblx0ICovXG5cdEBwcm9wZXJ0eSh7IHR5cGU6IFwiaW50XCIgfSlcblx0dGV4dExpbmVzRWRpdD86IG51bWJlcjtcblxuXHQvKipcblx0ICogTWF4aW11bSBudW1iZXIgb2YgbGluZXMgdGhhdCBtdWx0aWxpbmUgdGV4dHMgaW4gZWRpdCBtb2RlIGNhbiBncm93IHRvLjxici8+XG5cdCAqICBAcHVibGljXG5cdCAqL1xuXHRAcHJvcGVydHkoeyB0eXBlOiBcImludFwiIH0pXG5cdHRleHRNYXhMaW5lcz86IG51bWJlcjtcblxuXHQvKipcblx0ICogTWF4aW11bSBudW1iZXIgb2YgY2hhcmFjdGVycyBmcm9tIHRoZSBiZWdpbm5pbmcgb2YgdGhlIHRleHQgZmllbGQgdGhhdCBhcmUgc2hvd24gaW5pdGlhbGx5Ljxici8+XG5cdCAqICBAcHVibGljXG5cdCAqL1xuXHRAcHJvcGVydHkoeyB0eXBlOiBcImludFwiIH0pXG5cdHRleHRNYXhDaGFyYWN0ZXJzRGlzcGxheT86IG51bWJlcjtcblxuXHQvKipcblx0ICogRGVmaW5lcyBob3cgdGhlIGZ1bGwgdGV4dCB3aWxsIGJlIGRpc3BsYXllZC48YnIvPlxuXHQgKlxuXHQgKiBBbGxvd2VkIHZhbHVlcyBhcmUgXCJJblBsYWNlXCIgYW5kIFwiUG9wb3ZlclwiXG5cdCAqICBAcHVibGljXG5cdCAqL1xuXHRAcHJvcGVydHkoeyB0eXBlOiBcInN0cmluZ1wiIH0pXG5cdHRleHRFeHBhbmRCZWhhdmlvckRpc3BsYXk/OiBcIkluUGxhY2VcIiB8IFwiUG9wb3ZlclwiO1xuXG5cdC8qKlxuXHQgKiBEZWZpbmVzIHRoZSBtYXhpbXVtIG51bWJlciBvZiBjaGFyYWN0ZXJzIGZvciB0aGUgbXVsdGlsaW5lIHRleHQgdmFsdWUuPGJyLz5cblx0ICpcblx0ICogSWYgYSBtdWx0aWxpbmUgdGV4dCBleGNlZWRzIHRoZSBtYXhpbXVtIG51bWJlciBvZiBhbGxvd2VkIGNoYXJhY3RlcnMsIHRoZSBjb3VudGVyIGJlbG93IHRoZSBpbnB1dCBmaWVsZCBkaXNwbGF5cyB0aGUgZXhhY3QgbnVtYmVyLlxuXHQgKiAgQHB1YmxpY1xuXHQgKi9cblx0QHByb3BlcnR5KHsgdHlwZTogXCJpbnRcIiB9KVxuXHR0ZXh0TWF4TGVuZ3RoPzogbnVtYmVyO1xuXG5cdC8qKlxuXHQgKiBEZWZpbmVzIGlmIHRoZSBkYXRlIHBhcnQgb2YgYSBkYXRlIHRpbWUgd2l0aCB0aW1lem9uZSBmaWVsZCBzaG91bGQgYmUgc2hvd24uIDxici8+XG5cdCAqXG5cdCAqIFRoZSBkYXRlVGltZU9mZnNldCBmaWVsZCBtdXN0IGhhdmUgYSB0aW1lem9uZSBhbm5vdGF0aW9uLlxuXHQgKlxuXHQgKiBUaGUgZGVmYXVsdCB2YWx1ZSBpcyB0cnVlLlxuXHQgKiAgQHB1YmxpY1xuXHQgKi9cblx0QHByb3BlcnR5KHsgdHlwZTogXCJib29sZWFuXCIgfSlcblx0c2hvd0RhdGU/OiBib29sZWFuO1xuXG5cdC8qKlxuXHQgKiBEZWZpbmVzIGlmIHRoZSB0aW1lIHBhcnQgb2YgYSBkYXRlIHRpbWUgd2l0aCB0aW1lem9uZSBmaWVsZCBzaG91bGQgYmUgc2hvd24uIDxici8+XG5cdCAqXG5cdCAqIFRoZSBkYXRlVGltZU9mZnNldCBmaWVsZCBtdXN0IGhhdmUgYSB0aW1lem9uZSBhbm5vdGF0aW9uLlxuXHQgKlxuXHQgKiBUaGUgZGVmYXVsdCB2YWx1ZSBpcyB0cnVlLlxuXHQgKiAgQHB1YmxpY1xuXHQgKi9cblx0QHByb3BlcnR5KHsgdHlwZTogXCJib29sZWFuXCIgfSlcblx0c2hvd1RpbWU/OiBib29sZWFuO1xuXG5cdC8qKlxuXHQgKiBEZWZpbmVzIGlmIHRoZSB0aW1lem9uZSBwYXJ0IG9mIGEgZGF0ZSB0aW1lIHdpdGggdGltZXpvbmUgZmllbGQgc2hvdWxkIGJlIHNob3duLiA8YnIvPlxuXHQgKlxuXHQgKiBUaGUgZGF0ZVRpbWVPZmZzZXQgZmllbGQgbXVzdCBoYXZlIGEgdGltZXpvbmUgYW5ub3RhdGlvbi5cblx0ICpcblx0ICogVGhlIGRlZmF1bHQgdmFsdWUgaXMgdHJ1ZS5cblx0ICogIEBwdWJsaWNcblx0ICovXG5cdEBwcm9wZXJ0eSh7IHR5cGU6IFwiYm9vbGVhblwiIH0pXG5cdHNob3dUaW1lem9uZT86IGJvb2xlYW47XG5cblx0LyoqXG5cdCAqIERldGVybWluZXMgaG93IHRoZSBmaWVsZCBzaG91bGQgYmUgcmVuZGVyZWQsIGUuZy4gYXMgcmFkaW8gYnV0dG9ucy4gPGJyLz5cblx0ICogSWYgbm90IGFsbCBwcmVyZXF1aXNpdGVzIGFyZSBtZXQsIHRoZSBmaWVsZCB3aWxsIGRlZmF1bHQgYmFjayB0byB0aGUgc3RhbmRhcmQgcmVuZGVyaW5nLlxuXHQgKiAgQHB1YmxpY1xuXHQgKi9cblx0QHByb3BlcnR5KHsgdHlwZTogXCJzdHJpbmdcIiwgYWxsb3dlZFZhbHVlczogW1wiUmFkaW9CdXR0b25zXCJdIH0pXG5cdGZpZWxkRWRpdFN0eWxlPzogRmllbGRFZGl0U3R5bGU7XG5cblx0LyoqXG5cdCAqIFNwZWNpZmllcyBpZiByYWRpbyBidXR0b25zIHNob3VsZCBiZSByZW5kZXJlZCBpbiBhIGhvcml6b250YWwgbGF5b3V0LiA8YnIvPlxuXHQgKiAgQHB1YmxpY1xuXHQgKi9cblx0QHByb3BlcnR5KHsgdHlwZTogXCJib29sZWFuXCIgfSlcblx0cmFkaW9CdXR0b25zSG9yaXpvbnRhbExheW91dD86IGJvb2xlYW47XG5cdC8qKlxuXHQgKiBQcm9wZXJ0eSBmb3IgZGVmaW5pbmcgdGhlIGRpc3BsYXkgc3R5bGUgZm9yIHRoZSBkYXRlLCB0aW1lLCBvciBkYXRlVGltZSBmb3JtYXQuIDxici8+XG5cdCAqIElmIHRoZXJlIGlzIGEgZGF0ZVRpbWVQYXR0ZXJuIGRlZmluZWQsIGRhdGVUaW1lU3R5bGUgaXMgaWdub3JlZC5cblx0ICogQHB1YmxpY1xuXHQgKi9cblxuXHRAcHJvcGVydHkoeyB0eXBlOiBcInN0cmluZ1wiLCBhbGxvd2VkVmFsdWVzOiBbXCJzaG9ydFwiLCBcIm1lZGl1bVwiLCBcImxvbmdcIiwgXCJmdWxsXCJdIH0pXG5cdGRhdGVUaW1lU3R5bGU/OiBEYXRlVGltZVN0eWxlO1xuXG5cdC8qKlxuXHQgKiBQcm9wZXJ0eSBmb3IgZGVmaW5pbmcgYSBjdXN0b20gcGF0dGVybiBmb3IgdGhlIGRhdGUsIHRpbWUsIG9yIGRhdGVUaW1lIGZvcm1hdC4gPGJyLz5cblx0ICogSWYgYSBkYXRlVGltZVBhdHRlcm4gaXMgZGVmaW5lZCwgdGhlIGRhdGVUaW1lU3R5bGUgaXMgaWdub3JlZC5cblx0ICogQHB1YmxpY1xuXHQgKi9cblx0QHByb3BlcnR5KHsgdHlwZTogXCJzdHJpbmdcIiB9KVxuXHRkYXRlVGltZVBhdHRlcm4/OiBzdHJpbmc7XG5cblx0LyoqXG5cdCAqICBXaGVuIHRoZSBGaWVsZCBpcyBkaXNwbGF5ZWQgYXMgYSBjbGlja2FibGUgZWxlbWVudCwgaXQgZGVmaW5lcyB0aGUgc2l6ZSBvZiB0aGUgcmVhY3RpdmUgYXJlYSBvZiB0aGUgY2xpY2thYmxlIGVsZW1lbnQ6XG5cdCAqXG5cdCAqIC0gUmVhY3RpdmVBcmVhTW9kZS5JbmxpbmUgLSBUaGUgbGluayBpcyBkaXNwbGF5ZWQgYXMgcGFydCBvZiBhIHNlbnRlbmNlLlxuXHQgKiAtIFJlYWN0aXZlQXJlYU1vZGUuT3ZlcmxheSAtIFRoZSBsaW5rIGlzIGRpc3BsYXllZCBhcyBhbiBvdmVybGF5IG9uIHRvcCBvZiBvdGhlciBpbnRlcmFjdGl2ZSBwYXJ0cyBvZiB0aGUgcGFnZS5cblx0ICogTm90ZTogSXQgaXMgZGVzaWduZWQgdG8gbWFrZSB0aGUgY2xpY2thYmxlIGVsZW1lbnQgZWFzaWVyIHRvIGFjdGl2YXRlIGFuZCBoZWxwcyBtZWV0IHRoZSBXQ0FHIDIuMiBUYXJnZXQgU2l6ZSByZXF1aXJlbWVudC4gSXQgaXMgYXBwbGljYWJsZSBvbmx5IGZvciB0aGUgU0FQIEhvcml6b24gdGhlbWVzLiBOb3RlOiBUaGUgc2l6ZSBvZiB0aGUgcmVhY3RpdmUgYXJlYSBpcyBzdWZmaWNpZW50bHkgbGFyZ2UgdG8gaGVscCB1c2VycyBhdm9pZCBhY2NpZGVudGFsbHkgc2VsZWN0aW5nIChjbGlja2luZyBvciB0YXBwaW5nKSB1bmludGVuZGVkIFVJIGVsZW1lbnRzLiBVSSBlbGVtZW50cyBwb3NpdGlvbmVkIG92ZXIgb3RoZXIgcGFydHMgb2YgdGhlIHBhZ2UgbWF5IG5lZWQgYW4gaW52aXNpYmxlIGFjdGl2ZSB0b3VjaCBhcmVhLiBUaGlzIGVuc3VyZXMgdGhhdCBubyBlbGVtZW50cyBiZW5lYXRoIGFyZSBhY3RpdmF0ZWQgYWNjaWRlbnRhbGx5IHdoZW4gdGhlIHVzZXIgdHJpZXMgdG8gaW50ZXJhY3Qgd2l0aCB0aGUgb3ZlcmxheSBlbGVtZW50LlxuXHQgKiBAcHVibGljXG5cdCAqL1xuXHRAcHJvcGVydHkoeyB0eXBlOiBcInN0cmluZ1wiLCBhbGxvd2VkVmFsdWVzOiBbXCJJbmxpbmVcIiwgXCJPdmVybGF5XCJdIH0pXG5cdHJlYWN0aXZlQXJlYU1vZGU/OiBcIklubGluZVwiIHwgXCJPdmVybGF5XCI7XG5cblx0Ly8gaW50ZXJuYWwgcHJvcGVydGllc1xuXHQvKipcblx0ICpcblx0ICogQHByaXZhdGVcblx0ICovXG5cdEBwcm9wZXJ0eSh7IHR5cGU6IFwic3RyaW5nXCIgfSlcblx0ZmllbGRNb2RlPzogc3RyaW5nO1xuXG5cdC8qKlxuXHQgKlxuXHQgKiBAcHJpdmF0ZVxuXHQgKi9cblx0QHByb3BlcnR5KHsgdHlwZTogXCJib29sZWFuXCIgfSlcblx0aGFzRHJhZnRJbmRpY2F0b3I/OiBib29sZWFuO1xuXG5cdC8qKlxuXHQgKlxuXHQgKiBAcHJpdmF0ZVxuXHQgKi9cblx0QHByb3BlcnR5KHsgdHlwZTogXCJib29sZWFuXCIgfSlcblx0aXNBbmFseXRpY3M/OiBib29sZWFuO1xuXG5cdC8qKlxuXHQgKiBJZiB0cnVlIGFuZCBpZiB0aGUgZmllbGQgaXMgcGFydCBvZiBhbiBpbmFjdGl2ZSByb3csIHRoZW4gYSBjaGVjayB3aWxsIGJlIGRvbmUgdG8gZGV0ZXJtaW5lIGlmIHRoZSB1bmRlcmx5aW5nIHByb3BlcnR5IGhhcyBhIG5vbi1pbnNlcnRhYmxlIHJlc3RyaWN0aW9uXG5cdCAqIEBwcml2YXRlXG5cdCAqL1xuXHRAcHJvcGVydHkoeyB0eXBlOiBcImJvb2xlYW5cIiB9KVxuXHRmb3JJbmxpbmVDcmVhdGlvblJvd3M/OiBib29sZWFuO1xuXG5cdC8qKlxuXHQgKiBJZiB0cnVlIHRoZW4gdGhlIG5hdmlnYXRpb25hdmFpbGFibGUgcHJvcGVydHkgd2lsbCBub3QgYmUgdXNlZCBmb3IgdGhlIGVuYWJsZW1lbnQgb2YgdGhlIElCTiBidXR0b25cblx0ICogQHByaXZhdGVcblx0ICovXG5cdEBwcm9wZXJ0eSh7IHR5cGU6IFwiYm9vbGVhblwiIH0pXG5cdGlnbm9yZU5hdmlnYXRpb25BdmFpbGFibGU/OiBib29sZWFuO1xuXG5cdC8qKlxuXHQgKlxuXHQgKiBAcHJpdmF0ZVxuXHQgKi9cblx0QHByb3BlcnR5KHsgdHlwZTogXCJib29sZWFuXCIgfSlcblx0aXNDdXJyZW5jeU9yVW5pdEFsaWduZWQ/OiBib29sZWFuO1xuXG5cdC8qKlxuXHQgKiBFbmFibGVzIHRoZSBmYWxsYmFjayBmZWF0dXJlIGZvciB0aGUgdXNhZ2Ugb2YgdGhlIHRleHQgYW5ub3RhdGlvbiBmcm9tIHRoZSB2YWx1ZSBsaXN0c1xuXHQgKiBAcHJpdmF0ZVxuXHQgKi9cblx0QHByb3BlcnR5KHsgdHlwZTogXCJib29sZWFuXCIgfSlcblx0cmV0cmlldmVUZXh0RnJvbVZhbHVlTGlzdD86IGJvb2xlYW47XG5cblx0LyoqXG5cdCAqXG5cdCAqIEBwcml2YXRlXG5cdCAqL1xuXHRAcHJvcGVydHkoeyB0eXBlOiBcInN0cmluZ1wiIH0pXG5cdHNlbWFudGlja2V5cz86IHN0cmluZ1tdO1xuXG5cdC8qKlxuXHQgKiBQcmVmZXJyZWQgY29udHJvbCB0byB2aXN1YWxpemUgc2VtYW50aWMga2V5IHByb3BlcnRpZXNcblx0ICogQHByaXZhdGVcblx0ICovXG5cdEBwcm9wZXJ0eSh7IHR5cGU6IFwic3RyaW5nXCIgfSlcblx0c2VtYW50aWNLZXlTdHlsZT86IHN0cmluZztcblxuXHQvKipcblx0ICogSWYgc2V0IHRvICd0cnVlJywgU0FQIEZpb3JpIGVsZW1lbnRzIHNob3dzIGFuIGVtcHR5IGluZGljYXRvciBpbiBkaXNwbGF5IG1vZGUgZm9yIHRoZSB0ZXh0IGFuZCBsaW5rc1xuXHQgKiBAcHJpdmF0ZVxuXHQgKi9cblx0QHByb3BlcnR5KHsgdHlwZTogXCJib29sZWFuXCIgfSlcblx0c2hvd0VtcHR5SW5kaWNhdG9yPzogYm9vbGVhbjtcblxuXHQvKipcblx0ICogSWYgdHJ1ZSB0aGVuIHNldHMgdGhlIGdpdmVuIGljb24gaW5zdGVhZCBvZiB0ZXh0IGluIEFjdGlvbi9JQk4gQnV0dG9uXG5cdCAqIEBwcml2YXRlXG5cdCAqL1xuXHRAcHJvcGVydHkoeyB0eXBlOiBcImJvb2xlYW5cIiB9KVxuXHRzaG93SWNvblVybD86IGJvb2xlYW47XG5cblx0LyoqXG5cdCAqIERlc2NyaWJlcyBob3cgdGhlIGFsaWdubWVudCB3b3JrcyBiZXR3ZWVuIFRhYmxlIG1vZGUgKERhdGUgYW5kIE51bWVyaWMgRW5kIGFsaWdubWVudCkgYW5kIEZvcm0gbW9kZSAobnVtZXJpYyBhbGlnbmVkIEVuZCBpbiBlZGl0IGFuZCBCZWdpbiBpbiBkaXNwbGF5KVxuXHQgKiBAcHJpdmF0ZVxuXHQgKi9cblx0QHByb3BlcnR5KHsgdHlwZTogXCJzdHJpbmdcIiB9KVxuXHR0ZXh0QWxpZ25Nb2RlPzogc3RyaW5nO1xuXG5cdC8qKlxuXHQgKlxuXHQgKiBAcHJpdmF0ZVxuXHQgKi9cblx0QHByb3BlcnR5KHsgdHlwZTogXCJzdHJpbmdcIiB9KVxuXHRjb21wYWN0U2VtYW50aWNLZXk/OiBzdHJpbmc7XG5cblx0LyoqXG5cdCAqXG5cdCAqIEBwcml2YXRlXG5cdCAqL1xuXHRAcHJvcGVydHkoeyB0eXBlOiBcInN0cmluZ1wiIH0pXG5cdGZpZWxkR3JvdXBEcmFmdEluZGljYXRvclByb3BlcnR5UGF0aD86IHN0cmluZztcblxuXHQvKipcblx0ICpcblx0ICogQHByaXZhdGVcblx0ICovXG5cdEBwcm9wZXJ0eSh7IHR5cGU6IFwic3RyaW5nXCIgfSlcblx0ZmllbGRHcm91cE5hbWU/OiBzdHJpbmc7XG5cblx0LyoqXG5cdCAqIEluZGljYXRlcyBpZiB0aGlzIGZpZWxkIGlzIHBhcnQgb2YgYSBmaWVsZCBncm91cFxuXHQgKiBAcHJpdmF0ZVxuXHQgKi9cblx0QHByb3BlcnR5KHsgdHlwZTogXCJib29sZWFuXCIgfSlcblx0aXNGaWVsZEdyb3VwSXRlbT86IGJvb2xlYW47XG5cblx0LyoqXG5cdCAqIERlc2NyaWJlcyBpZiB0aGlzIGZpZWxkIGlzIHBhcnQgb2YgYW4gYW5hbHl0aWNhbCB0YWJsZSBhZ2dyZWdhdGVkIHJvd1xuXHQgKiBAcHJpdmF0ZVxuXHQgKi9cblx0QHByb3BlcnR5KHsgdHlwZTogXCJib29sZWFuXCIgfSlcblx0aXNBbmFseXRpY2FsQWdncmVnYXRlZFJvdz86IGJvb2xlYW47XG5cblx0QHByb3BlcnR5KHsgdHlwZTogXCJib29sZWFuXCIgfSlcblx0c2hvd09ubHlVbml0RGVjaW1hbHM/OiBib29sZWFuO1xuXG5cdEBwcm9wZXJ0eSh7IHR5cGU6IFwiYm9vbGVhblwiIH0pXG5cdHByZXNlcnZlRGVjaW1hbHNGb3JDdXJyZW5jeT86IGJvb2xlYW47XG5cblx0LyoqXG5cdCAqIElmIHRydWUsIGJvb2xlYW4gZmllbGRzIGFyZSBkaXNwbGF5ZWQgYXMgcmFkaW8gYnV0dG9ucy5cblx0ICogQHByaXZhdGVcblx0ICogQGV4cGVyaW1lbnRhbFxuXHQgKiBAdWk1LWV4cGVyaW1lbnRhbC1zaW5jZSAxLjE0MS4wXG5cdCAqIEBzaW5jZSAxLjE0MS4wXG5cdCAqL1xuXHRAcHJvcGVydHkoeyB0eXBlOiBcImJvb2xlYW5cIiB9KVxuXHR1c2VSYWRpb0J1dHRvbnNGb3JCb29sZWFuPzogYm9vbGVhbjtcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztFQU1BO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7RUFKQSxJQU1xQkEsa0JBQWtCLElBQUFDLElBQUEsR0FEdENDLGNBQWMsQ0FBQyx3Q0FBd0MsQ0FBQyxFQUFBQyxLQUFB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
@@ -269,4 +269,17 @@ export default class FieldFormatOptions extends BuildingBlockObjectProperty {
269
269
 
270
270
  @property({ type: "boolean" })
271
271
  showOnlyUnitDecimals?: boolean;
272
+
273
+ @property({ type: "boolean" })
274
+ preserveDecimalsForCurrency?: boolean;
275
+
276
+ /**
277
+ * If true, boolean fields are displayed as radio buttons.
278
+ * @private
279
+ * @experimental
280
+ * @ui5-experimental-since 1.141.0
281
+ * @since 1.141.0
282
+ */
283
+ @property({ type: "boolean" })
284
+ useRadioButtonsForBoolean?: boolean;
272
285
  }