@sapui5/sap.fe.macros 1.138.0 → 1.139.1

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 (210) hide show
  1. package/package.json +1 -1
  2. package/src/sap/fe/macros/.library +1 -1
  3. package/src/sap/fe/macros/Breadcrumbs.js +269 -0
  4. package/src/sap/fe/macros/Breadcrumbs.tsx +243 -0
  5. package/src/sap/fe/macros/Chart.js +1 -1
  6. package/src/sap/fe/macros/Chart.tsx +1 -1
  7. package/src/sap/fe/macros/CommonHelper.js +2 -2
  8. package/src/sap/fe/macros/CommonHelper.ts +1 -1
  9. package/src/sap/fe/macros/Field.js +21 -4
  10. package/src/sap/fe/macros/Field.ts +21 -3
  11. package/src/sap/fe/macros/FooterContent.js +40 -10
  12. package/src/sap/fe/macros/FooterContent.tsx +44 -8
  13. package/src/sap/fe/macros/FormElement.js +2 -2
  14. package/src/sap/fe/macros/FormElement.ts +1 -2
  15. package/src/sap/fe/macros/MultiValueField.js +17 -4
  16. package/src/sap/fe/macros/MultiValueField.tsx +7 -2
  17. package/src/sap/fe/macros/RichTextEditor.js +30 -6
  18. package/src/sap/fe/macros/RichTextEditor.tsx +34 -7
  19. package/src/sap/fe/macros/Share.js +73 -40
  20. package/src/sap/fe/macros/Share.tsx +29 -1
  21. package/src/sap/fe/macros/ValueHelp.js +4 -29
  22. package/src/sap/fe/macros/ValueHelp.tsx +2 -43
  23. package/src/sap/fe/macros/ai/EasyFillButton.js +10 -4
  24. package/src/sap/fe/macros/ai/EasyFillButton.tsx +8 -1
  25. package/src/sap/fe/macros/ai/EasyFillDialog.js +25 -10
  26. package/src/sap/fe/macros/ai/EasyFillDialog.tsx +32 -23
  27. package/src/sap/fe/macros/ai/EasyFilterBar.js +30 -30
  28. package/src/sap/fe/macros/ai/EasyFilterBar.tsx +40 -43
  29. package/src/sap/fe/macros/ai/EasyFilterDataFetcher.js +11 -5
  30. package/src/sap/fe/macros/ai/EasyFilterDataFetcher.ts +14 -5
  31. package/src/sap/fe/macros/chart/ChartDelegate.js +4 -4
  32. package/src/sap/fe/macros/chart/ChartDelegate.ts +3 -3
  33. package/src/sap/fe/macros/chart/MdcChartTemplate.js +20 -6
  34. package/src/sap/fe/macros/chart/MdcChartTemplate.tsx +16 -8
  35. package/src/sap/fe/macros/controls/BuildingBlockObjectProperty.js +5 -1
  36. package/src/sap/fe/macros/controls/BuildingBlockObjectProperty.ts +4 -0
  37. package/src/sap/fe/macros/controls/FieldWrapper.js +9 -3
  38. package/src/sap/fe/macros/controls/FieldWrapper.ts +11 -2
  39. package/src/sap/fe/macros/controls/FilterBar.js +86 -3
  40. package/src/sap/fe/macros/controls/FilterBar.ts +97 -2
  41. package/src/sap/fe/macros/controls/RequiredFlexBox.js +62 -0
  42. package/src/sap/fe/macros/controls/RequiredFlexBox.tsx +20 -0
  43. package/src/sap/fe/macros/controls/Section.js +3 -2
  44. package/src/sap/fe/macros/controls/Section.ts +2 -1
  45. package/src/sap/fe/macros/controls/filterbar/VisualFilter.js +21 -11
  46. package/src/sap/fe/macros/controls/filterbar/VisualFilter.ts +25 -11
  47. package/src/sap/fe/macros/controls/filterbar/VisualFilterContainer.js +11 -2
  48. package/src/sap/fe/macros/controls/filterbar/VisualFilterContainer.ts +12 -1
  49. package/src/sap/fe/macros/controls/filterbar/utils/VisualFilterUtils.js +18 -1
  50. package/src/sap/fe/macros/controls/filterbar/utils/VisualFilterUtils.ts +20 -0
  51. package/src/sap/fe/macros/coreUI/CreateDialog.js +2 -2
  52. package/src/sap/fe/macros/coreUI/CreateDialog.tsx +1 -1
  53. package/src/sap/fe/macros/designtime/Designtime.helper.js +12 -2
  54. package/src/sap/fe/macros/designtime/Designtime.helper.ts +12 -0
  55. package/src/sap/fe/macros/draftIndicator/DraftIndicator.js +16 -5
  56. package/src/sap/fe/macros/draftIndicator/DraftIndicator.tsx +6 -1
  57. package/src/sap/fe/macros/field/FieldBaseDelegate.js +20 -8
  58. package/src/sap/fe/macros/field/FieldBaseDelegate.ts +34 -9
  59. package/src/sap/fe/macros/field/FieldFormatOptions.js +73 -44
  60. package/src/sap/fe/macros/field/FieldFormatOptions.ts +20 -2
  61. package/src/sap/fe/macros/field/FieldRuntime.js +38 -8
  62. package/src/sap/fe/macros/field/FieldRuntime.ts +65 -7
  63. package/src/sap/fe/macros/filter/FilterUtils.js +7 -1
  64. package/src/sap/fe/macros/filter/FilterUtils.ts +7 -0
  65. package/src/sap/fe/macros/filterBar/FilterBar.block.js +8 -2
  66. package/src/sap/fe/macros/filterBar/FilterBar.block.tsx +2 -5
  67. package/src/sap/fe/macros/filterBar/FilterBarAPI.js +8 -8
  68. package/src/sap/fe/macros/filterBar/FilterBarAPI.ts +8 -8
  69. package/src/sap/fe/macros/filterBar/designtime/FilterBar.designtime.js +3 -1
  70. package/src/sap/fe/macros/filterBar/designtime/FilterBar.designtime.ts +2 -0
  71. package/src/sap/fe/macros/filterBar/mixin/FilterBarAPIStateHandler.js +1 -1
  72. package/src/sap/fe/macros/filterBar/mixin/FilterBarAPIStateHandler.ts +1 -1
  73. package/src/sap/fe/macros/form/Form.block.js +6 -2
  74. package/src/sap/fe/macros/form/Form.block.ts +4 -1
  75. package/src/sap/fe/macros/form/FormActionButtons.fragment.xml +13 -2
  76. package/src/sap/fe/macros/form/FormContainer.fragment.xml +40 -0
  77. package/src/sap/fe/macros/form/FormContainerAPI.js +14 -16
  78. package/src/sap/fe/macros/form/FormContainerAPI.ts +13 -15
  79. package/src/sap/fe/macros/form/FormDelegate.js +20 -1
  80. package/src/sap/fe/macros/form/FormDelegate.ts +25 -0
  81. package/src/sap/fe/macros/formatters/TableFormatter.js +10 -1
  82. package/src/sap/fe/macros/formatters/TableFormatter.ts +14 -5
  83. package/src/sap/fe/macros/inlineEdit/InlineEdit.js +15 -3
  84. package/src/sap/fe/macros/inlineEdit/InlineEdit.ts +14 -2
  85. package/src/sap/fe/macros/internal/DataPoint.js +2 -1
  86. package/src/sap/fe/macros/internal/DataPoint.tsx +1 -0
  87. package/src/sap/fe/macros/internal/DataPointFormatOptions.js +11 -2
  88. package/src/sap/fe/macros/internal/DataPointFormatOptions.ts +3 -0
  89. package/src/sap/fe/macros/internal/FilterField.block.js +4 -2
  90. package/src/sap/fe/macros/internal/FilterField.block.ts +3 -1
  91. package/src/sap/fe/macros/internal/field/CheckBoxGroup.fragment.xml +25 -0
  92. package/src/sap/fe/macros/internal/field/DisplayStyle.js +52 -12
  93. package/src/sap/fe/macros/internal/field/DisplayStyle.tsx +54 -5
  94. package/src/sap/fe/macros/internal/field/EditStyle.js +5 -1
  95. package/src/sap/fe/macros/internal/field/EditStyle.tsx +4 -0
  96. package/src/sap/fe/macros/internal/field/FieldStructureHelper.js +9 -2
  97. package/src/sap/fe/macros/internal/field/FieldStructureHelper.ts +10 -0
  98. package/src/sap/fe/macros/internal/field/FieldStyles.js +1 -1
  99. package/src/sap/fe/macros/internal/field/FieldStyles.tsx +2 -1
  100. package/src/sap/fe/macros/internal/valuehelp/TableDelegate.js +4 -4
  101. package/src/sap/fe/macros/internal/valuehelp/TableDelegate.ts +3 -3
  102. package/src/sap/fe/macros/internal/valuehelp/ValueListDialogTable.fragment.xml +1 -0
  103. package/src/sap/fe/macros/internal/valuehelp/ValueListHelper.js +11 -3
  104. package/src/sap/fe/macros/internal/valuehelp/ValueListHelper.ts +12 -7
  105. package/src/sap/fe/macros/internal/valuehelp/ValueListTable.fragment.xml +1 -0
  106. package/src/sap/fe/macros/library.js +1 -1
  107. package/src/sap/fe/macros/mdc/adapter/StateHelper.js +11 -6
  108. package/src/sap/fe/macros/mdc/adapter/StateHelper.ts +12 -7
  109. package/src/sap/fe/macros/messagebundle.properties +37 -29
  110. package/src/sap/fe/macros/messagebundle_ar.properties +5 -3
  111. package/src/sap/fe/macros/messagebundle_bg.properties +6 -4
  112. package/src/sap/fe/macros/messagebundle_ca.properties +8 -6
  113. package/src/sap/fe/macros/messagebundle_cnr.properties +5 -3
  114. package/src/sap/fe/macros/messagebundle_cs.properties +4 -2
  115. package/src/sap/fe/macros/messagebundle_cy.properties +7 -5
  116. package/src/sap/fe/macros/messagebundle_da.properties +6 -4
  117. package/src/sap/fe/macros/messagebundle_de.properties +11 -9
  118. package/src/sap/fe/macros/messagebundle_el.properties +7 -5
  119. package/src/sap/fe/macros/messagebundle_en.properties +8 -6
  120. package/src/sap/fe/macros/messagebundle_en_GB.properties +8 -6
  121. package/src/sap/fe/macros/messagebundle_en_US_saprigi.properties +8 -6
  122. package/src/sap/fe/macros/messagebundle_es.properties +6 -4
  123. package/src/sap/fe/macros/messagebundle_es_MX.properties +6 -4
  124. package/src/sap/fe/macros/messagebundle_et.properties +5 -3
  125. package/src/sap/fe/macros/messagebundle_fi.properties +8 -6
  126. package/src/sap/fe/macros/messagebundle_fr.properties +6 -4
  127. package/src/sap/fe/macros/messagebundle_fr_CA.properties +8 -6
  128. package/src/sap/fe/macros/messagebundle_hi.properties +6 -4
  129. package/src/sap/fe/macros/messagebundle_hr.properties +6 -4
  130. package/src/sap/fe/macros/messagebundle_hu.properties +4 -2
  131. package/src/sap/fe/macros/messagebundle_id.properties +8 -6
  132. package/src/sap/fe/macros/messagebundle_it.properties +4 -2
  133. package/src/sap/fe/macros/messagebundle_iw.properties +5 -3
  134. package/src/sap/fe/macros/messagebundle_ja.properties +5 -3
  135. package/src/sap/fe/macros/messagebundle_kk.properties +5 -3
  136. package/src/sap/fe/macros/messagebundle_ko.properties +4 -2
  137. package/src/sap/fe/macros/messagebundle_lt.properties +6 -4
  138. package/src/sap/fe/macros/messagebundle_lv.properties +5 -3
  139. package/src/sap/fe/macros/messagebundle_mk.properties +5 -3
  140. package/src/sap/fe/macros/messagebundle_ms.properties +8 -6
  141. package/src/sap/fe/macros/messagebundle_nl.properties +7 -5
  142. package/src/sap/fe/macros/messagebundle_no.properties +6 -4
  143. package/src/sap/fe/macros/messagebundle_pl.properties +6 -4
  144. package/src/sap/fe/macros/messagebundle_pt.properties +7 -5
  145. package/src/sap/fe/macros/messagebundle_pt_PT.properties +6 -4
  146. package/src/sap/fe/macros/messagebundle_ro.properties +7 -5
  147. package/src/sap/fe/macros/messagebundle_ru.properties +4 -2
  148. package/src/sap/fe/macros/messagebundle_sh.properties +5 -3
  149. package/src/sap/fe/macros/messagebundle_sk.properties +5 -3
  150. package/src/sap/fe/macros/messagebundle_sl.properties +6 -4
  151. package/src/sap/fe/macros/messagebundle_sr.properties +5 -3
  152. package/src/sap/fe/macros/messagebundle_sv.properties +5 -3
  153. package/src/sap/fe/macros/messagebundle_th.properties +4 -2
  154. package/src/sap/fe/macros/messagebundle_tr.properties +4 -2
  155. package/src/sap/fe/macros/messagebundle_uk.properties +10 -8
  156. package/src/sap/fe/macros/messagebundle_vi.properties +6 -4
  157. package/src/sap/fe/macros/messagebundle_zh_CN.properties +5 -3
  158. package/src/sap/fe/macros/messagebundle_zh_TW.properties +5 -3
  159. package/src/sap/fe/macros/messages/MessageButton.js +17 -19
  160. package/src/sap/fe/macros/messages/MessageButton.ts +24 -22
  161. package/src/sap/fe/macros/table/Action.js +24 -2
  162. package/src/sap/fe/macros/table/Action.ts +13 -0
  163. package/src/sap/fe/macros/table/ActionGroup.js +24 -2
  164. package/src/sap/fe/macros/table/ActionGroup.ts +13 -0
  165. package/src/sap/fe/macros/table/ActionGroupOverride.js +24 -2
  166. package/src/sap/fe/macros/table/ActionGroupOverride.ts +13 -0
  167. package/src/sap/fe/macros/table/ActionOverride.js +24 -2
  168. package/src/sap/fe/macros/table/ActionOverride.ts +13 -0
  169. package/src/sap/fe/macros/table/ActionsTemplating.js +73 -12
  170. package/src/sap/fe/macros/table/ActionsTemplating.tsx +69 -13
  171. package/src/sap/fe/macros/table/Column.js +3 -3
  172. package/src/sap/fe/macros/table/Column.ts +2 -2
  173. package/src/sap/fe/macros/table/MdcTableTemplate.js +20 -8
  174. package/src/sap/fe/macros/table/MdcTableTemplate.tsx +32 -6
  175. package/src/sap/fe/macros/table/QuickFilterSelector.js +35 -14
  176. package/src/sap/fe/macros/table/QuickFilterSelector.tsx +22 -3
  177. package/src/sap/fe/macros/table/Table.block.js +137 -108
  178. package/src/sap/fe/macros/table/Table.block.tsx +29 -2
  179. package/src/sap/fe/macros/table/Table.js +7 -1
  180. package/src/sap/fe/macros/table/Table.tsx +7 -1
  181. package/src/sap/fe/macros/table/TableAPI.js +150 -133
  182. package/src/sap/fe/macros/table/TableAPI.ts +20 -3
  183. package/src/sap/fe/macros/table/TableDefinition.js +4 -2
  184. package/src/sap/fe/macros/table/TableDefinition.ts +3 -1
  185. package/src/sap/fe/macros/table/TableRuntime.js +3 -3
  186. package/src/sap/fe/macros/table/TableRuntime.ts +2 -2
  187. package/src/sap/fe/macros/table/TableSizeHelper.js +3 -3
  188. package/src/sap/fe/macros/table/TableSizeHelper.ts +5 -2
  189. package/src/sap/fe/macros/table/TreeTable.js +7 -1
  190. package/src/sap/fe/macros/table/TreeTable.tsx +7 -1
  191. package/src/sap/fe/macros/table/delegates/TableDelegate.js +27 -20
  192. package/src/sap/fe/macros/table/delegates/TableDelegate.ts +35 -26
  193. package/src/sap/fe/macros/table/designtime/Table.designtime.js +3 -1
  194. package/src/sap/fe/macros/table/designtime/Table.designtime.ts +2 -0
  195. package/src/sap/fe/macros/table/massEdit/MassEditDialog.js +10 -10
  196. package/src/sap/fe/macros/table/massEdit/MassEditDialog.tsx +11 -9
  197. package/src/sap/fe/macros/table/massEdit/MassEditDialogHelper.js +8 -8
  198. package/src/sap/fe/macros/table/massEdit/MassEditDialogHelper.tsx +7 -6
  199. package/src/sap/fe/macros/table/massEdit/designtime/MassEdit.designtime.js +3 -1
  200. package/src/sap/fe/macros/table/massEdit/designtime/MassEdit.designtime.ts +2 -1
  201. package/src/sap/fe/macros/table/mixin/ContextMenuHandler.js +2 -1
  202. package/src/sap/fe/macros/table/mixin/ContextMenuHandler.ts +1 -0
  203. package/src/sap/fe/macros/table/mixin/TableHierarchy.js +4 -1
  204. package/src/sap/fe/macros/table/mixin/TableHierarchy.ts +3 -0
  205. package/src/sap/fe/macros/valuehelp/ValueHelpDelegate.js +37 -8
  206. package/src/sap/fe/macros/valuehelp/ValueHelpDelegate.ts +47 -16
  207. package/src/sap/fe/macros/visualfilters/VisualFilter.js +95 -6
  208. package/src/sap/fe/macros/visualfilters/VisualFilter.tsx +93 -2
  209. package/src/sap/fe/macros/visualfilters/VisualFilterRuntime.js +15 -3
  210. package/src/sap/fe/macros/visualfilters/VisualFilterRuntime.ts +17 -2
@@ -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, _class, _class2, _descriptor, _descriptor2, _descriptor3, _descriptor4, _descriptor5, _descriptor6;
8
+ var _dec, _dec2, _dec3, _dec4, _dec5, _dec6, _dec7, _dec8, _class, _class2, _descriptor, _descriptor2, _descriptor3, _descriptor4, _descriptor5, _descriptor6, _descriptor7;
9
9
  var _exports = {};
10
10
  var property = ClassSupport.property;
11
11
  var defineUI5Class = ClassSupport.defineUI5Class;
@@ -30,6 +30,9 @@ sap.ui.define(["sap/fe/base/ClassSupport", "sap/fe/macros/controls/BuildingBlock
30
30
  type: "boolean"
31
31
  }), _dec7 = property({
32
32
  type: "boolean"
33
+ }), _dec8 = property({
34
+ type: "string",
35
+ allowedValues: ["Inline", "Overlay"]
33
36
  }), _dec(_class = (_class2 = /*#__PURE__*/function (_BuildingBlockObjectP) {
34
37
  function DataPointFormatOptions(props, others) {
35
38
  var _this;
@@ -40,6 +43,7 @@ sap.ui.define(["sap/fe/base/ClassSupport", "sap/fe/macros/controls/BuildingBlock
40
43
  _initializerDefineProperty(_this, "measureDisplayMode", _descriptor4, _this);
41
44
  _initializerDefineProperty(_this, "showEmptyIndicator", _descriptor5, _this);
42
45
  _initializerDefineProperty(_this, "showLabels", _descriptor6, _this);
46
+ _initializerDefineProperty(_this, "reactiveAreaMode", _descriptor7, _this);
43
47
  return _this;
44
48
  }
45
49
  _exports = DataPointFormatOptions;
@@ -79,8 +83,13 @@ sap.ui.define(["sap/fe/base/ClassSupport", "sap/fe/macros/controls/BuildingBlock
79
83
  initializer: function () {
80
84
  return false;
81
85
  }
86
+ }), _descriptor7 = _applyDecoratedDescriptor(_class2.prototype, "reactiveAreaMode", [_dec8], {
87
+ configurable: true,
88
+ enumerable: true,
89
+ writable: true,
90
+ initializer: null
82
91
  }), _class2)) || _class);
83
92
  _exports = DataPointFormatOptions;
84
93
  return _exports;
85
94
  }, false);
86
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJEYXRhUG9pbnRGb3JtYXRPcHRpb25zIiwiX2RlYyIsImRlZmluZVVJNUNsYXNzIiwiX2RlYzIiLCJwcm9wZXJ0eSIsInR5cGUiLCJfZGVjMyIsIl9kZWM0IiwiX2RlYzUiLCJfZGVjNiIsIl9kZWM3IiwiX2NsYXNzIiwiX2NsYXNzMiIsIl9CdWlsZGluZ0Jsb2NrT2JqZWN0UCIsInByb3BzIiwib3RoZXJzIiwiX3RoaXMiLCJjYWxsIiwiX2luaXRpYWxpemVyRGVmaW5lUHJvcGVydHkiLCJfZGVzY3JpcHRvciIsIl9kZXNjcmlwdG9yMiIsIl9kZXNjcmlwdG9yMyIsIl9kZXNjcmlwdG9yNCIsIl9kZXNjcmlwdG9yNSIsIl9kZXNjcmlwdG9yNiIsIl9leHBvcnRzIiwiX2luaGVyaXRzTG9vc2UiLCJCdWlsZGluZ0Jsb2NrT2JqZWN0UHJvcGVydHkiLCJfYXBwbHlEZWNvcmF0ZWREZXNjcmlwdG9yIiwicHJvdG90eXBlIiwiY29uZmlndXJhYmxlIiwiZW51bWVyYWJsZSIsIndyaXRhYmxlIiwiaW5pdGlhbGl6ZXIiXSwic291cmNlUm9vdCI6Ii4iLCJzb3VyY2VzIjpbIkRhdGFQb2ludEZvcm1hdE9wdGlvbnMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBQcm9wZXJ0aWVzT2YgfSBmcm9tIFwic2FwL2ZlL2Jhc2UvQ2xhc3NTdXBwb3J0XCI7XG5pbXBvcnQgeyBkZWZpbmVVSTVDbGFzcywgcHJvcGVydHkgfSBmcm9tIFwic2FwL2ZlL2Jhc2UvQ2xhc3NTdXBwb3J0XCI7XG5pbXBvcnQgdHlwZSB7IERpc3BsYXlNb2RlIH0gZnJvbSBcInNhcC9mZS9jb3JlL3RlbXBsYXRpbmcvVUlGb3JtYXR0ZXJzXCI7XG5pbXBvcnQgQnVpbGRpbmdCbG9ja09iamVjdFByb3BlcnR5IGZyb20gXCJzYXAvZmUvbWFjcm9zL2NvbnRyb2xzL0J1aWxkaW5nQmxvY2tPYmplY3RQcm9wZXJ0eVwiO1xuXG4vKipcbiAqIERlZmluaXRpb24gb2YgZGF0YXBvaW50IGZvcm1hdE9wdGlvbnNcbiAqIEBwcml2YXRlXG4gKi9cbkBkZWZpbmVVSTVDbGFzcyhcInNhcC5mZS5tYWNyb3MuaW50ZXJuYWwuRGF0YVBvaW50Rm9ybWF0T3B0aW9uc1wiKVxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgRGF0YVBvaW50Rm9ybWF0T3B0aW9ucyBleHRlbmRzIEJ1aWxkaW5nQmxvY2tPYmplY3RQcm9wZXJ0eSB7XG5cdGNvbnN0cnVjdG9yKHByb3BzPzogc3RyaW5nIHwgUHJvcGVydGllc09mPERhdGFQb2ludEZvcm1hdE9wdGlvbnM+LCBvdGhlcnM/OiBQcm9wZXJ0aWVzT2Y8RGF0YVBvaW50Rm9ybWF0T3B0aW9ucz4pIHtcblx0XHRzdXBlcihwcm9wcyBhcyBzdHJpbmcsIG90aGVycyk7XG5cdH1cblxuXHRAcHJvcGVydHkoeyB0eXBlOiBcInN0cmluZ1wiIH0pXG5cdGRhdGFQb2ludFN0eWxlPzogXCJcIiB8IFwibGFyZ2VcIjtcblxuXHRAcHJvcGVydHkoeyB0eXBlOiBcInN0cmluZ1wiIH0pXG5cdGRpc3BsYXlNb2RlPzogRGlzcGxheU1vZGU7XG5cblx0QHByb3BlcnR5KHsgdHlwZTogXCJzdHJpbmdcIiB9KVxuXHRpY29uU2l6ZT86IFwiMXJlbVwiIHwgXCIxLjM3NXJlbVwiIHwgXCIycmVtXCI7XG5cblx0QHByb3BlcnR5KHsgdHlwZTogXCJzdHJpbmdcIiB9KVxuXHRtZWFzdXJlRGlzcGxheU1vZGU/OiBzdHJpbmc7XG5cblx0QHByb3BlcnR5KHsgdHlwZTogXCJib29sZWFuXCIgfSlcblx0c2hvd0VtcHR5SW5kaWNhdG9yID0gZmFsc2U7XG5cblx0QHByb3BlcnR5KHsgdHlwZTogXCJib29sZWFuXCIgfSlcblx0c2hvd0xhYmVscyA9IGZhbHNlO1xufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0VBS0E7QUFDQTtBQUNBO0FBQ0E7RUFIQSxJQUtxQkEsc0JBQXNCLElBQUFDLElBQUEsR0FEMUNDLGNBQWMsQ0FBQywrQ0FBK0MsQ0FBQyxFQUFBQyxLQUFBLEdB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
95
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJEYXRhUG9pbnRGb3JtYXRPcHRpb25zIiwiX2RlYyIsImRlZmluZVVJNUNsYXNzIiwiX2RlYzIiLCJwcm9wZXJ0eSIsInR5cGUiLCJfZGVjMyIsIl9kZWM0IiwiX2RlYzUiLCJfZGVjNiIsIl9kZWM3IiwiX2RlYzgiLCJhbGxvd2VkVmFsdWVzIiwiX2NsYXNzIiwiX2NsYXNzMiIsIl9CdWlsZGluZ0Jsb2NrT2JqZWN0UCIsInByb3BzIiwib3RoZXJzIiwiX3RoaXMiLCJjYWxsIiwiX2luaXRpYWxpemVyRGVmaW5lUHJvcGVydHkiLCJfZGVzY3JpcHRvciIsIl9kZXNjcmlwdG9yMiIsIl9kZXNjcmlwdG9yMyIsIl9kZXNjcmlwdG9yNCIsIl9kZXNjcmlwdG9yNSIsIl9kZXNjcmlwdG9yNiIsIl9kZXNjcmlwdG9yNyIsIl9leHBvcnRzIiwiX2luaGVyaXRzTG9vc2UiLCJCdWlsZGluZ0Jsb2NrT2JqZWN0UHJvcGVydHkiLCJfYXBwbHlEZWNvcmF0ZWREZXNjcmlwdG9yIiwicHJvdG90eXBlIiwiY29uZmlndXJhYmxlIiwiZW51bWVyYWJsZSIsIndyaXRhYmxlIiwiaW5pdGlhbGl6ZXIiXSwic291cmNlUm9vdCI6Ii4iLCJzb3VyY2VzIjpbIkRhdGFQb2ludEZvcm1hdE9wdGlvbnMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBQcm9wZXJ0aWVzT2YgfSBmcm9tIFwic2FwL2ZlL2Jhc2UvQ2xhc3NTdXBwb3J0XCI7XG5pbXBvcnQgeyBkZWZpbmVVSTVDbGFzcywgcHJvcGVydHkgfSBmcm9tIFwic2FwL2ZlL2Jhc2UvQ2xhc3NTdXBwb3J0XCI7XG5pbXBvcnQgdHlwZSB7IERpc3BsYXlNb2RlIH0gZnJvbSBcInNhcC9mZS9jb3JlL3RlbXBsYXRpbmcvVUlGb3JtYXR0ZXJzXCI7XG5pbXBvcnQgQnVpbGRpbmdCbG9ja09iamVjdFByb3BlcnR5IGZyb20gXCJzYXAvZmUvbWFjcm9zL2NvbnRyb2xzL0J1aWxkaW5nQmxvY2tPYmplY3RQcm9wZXJ0eVwiO1xuXG4vKipcbiAqIERlZmluaXRpb24gb2YgZGF0YXBvaW50IGZvcm1hdE9wdGlvbnNcbiAqIEBwcml2YXRlXG4gKi9cbkBkZWZpbmVVSTVDbGFzcyhcInNhcC5mZS5tYWNyb3MuaW50ZXJuYWwuRGF0YVBvaW50Rm9ybWF0T3B0aW9uc1wiKVxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgRGF0YVBvaW50Rm9ybWF0T3B0aW9ucyBleHRlbmRzIEJ1aWxkaW5nQmxvY2tPYmplY3RQcm9wZXJ0eSB7XG5cdGNvbnN0cnVjdG9yKHByb3BzPzogc3RyaW5nIHwgUHJvcGVydGllc09mPERhdGFQb2ludEZvcm1hdE9wdGlvbnM+LCBvdGhlcnM/OiBQcm9wZXJ0aWVzT2Y8RGF0YVBvaW50Rm9ybWF0T3B0aW9ucz4pIHtcblx0XHRzdXBlcihwcm9wcyBhcyBzdHJpbmcsIG90aGVycyk7XG5cdH1cblxuXHRAcHJvcGVydHkoeyB0eXBlOiBcInN0cmluZ1wiIH0pXG5cdGRhdGFQb2ludFN0eWxlPzogXCJcIiB8IFwibGFyZ2VcIjtcblxuXHRAcHJvcGVydHkoeyB0eXBlOiBcInN0cmluZ1wiIH0pXG5cdGRpc3BsYXlNb2RlPzogRGlzcGxheU1vZGU7XG5cblx0QHByb3BlcnR5KHsgdHlwZTogXCJzdHJpbmdcIiB9KVxuXHRpY29uU2l6ZT86IFwiMXJlbVwiIHwgXCIxLjM3NXJlbVwiIHwgXCIycmVtXCI7XG5cblx0QHByb3BlcnR5KHsgdHlwZTogXCJzdHJpbmdcIiB9KVxuXHRtZWFzdXJlRGlzcGxheU1vZGU/OiBzdHJpbmc7XG5cblx0QHByb3BlcnR5KHsgdHlwZTogXCJib29sZWFuXCIgfSlcblx0c2hvd0VtcHR5SW5kaWNhdG9yID0gZmFsc2U7XG5cblx0QHByb3BlcnR5KHsgdHlwZTogXCJib29sZWFuXCIgfSlcblx0c2hvd0xhYmVscyA9IGZhbHNlO1xuXG5cdEBwcm9wZXJ0eSh7IHR5cGU6IFwic3RyaW5nXCIsIGFsbG93ZWRWYWx1ZXM6IFtcIklubGluZVwiLCBcIk92ZXJsYXlcIl0gfSlcblx0cmVhY3Rp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
@@ -30,4 +30,7 @@ export default class DataPointFormatOptions extends BuildingBlockObjectProperty
30
30
 
31
31
  @property({ type: "boolean" })
32
32
  showLabels = false;
33
+
34
+ @property({ type: "string", allowedValues: ["Inline", "Overlay"] })
35
+ reactiveAreaMode?: "Inline" | "Overlay";
33
36
  }
@@ -279,7 +279,8 @@ sap.ui.define(["sap/base/Log", "sap/fe/base/BindingToolkit", "sap/fe/core/buildi
279
279
  requiredProperties = [],
280
280
  showOverlayInitially,
281
281
  renderLineChart,
282
- isValueListWithFixedValues
282
+ isValueListWithFixedValues,
283
+ initialChartBindingEnabled
283
284
  } = visualFilterObject;
284
285
  vfXML = xml`
285
286
  <visualFilter:VisualFilter
@@ -299,6 +300,7 @@ sap.ui.define(["sap/base/Log", "sap/fe/base/BindingToolkit", "sap/fe/core/buildi
299
300
  renderLineChart="${renderLineChart}"
300
301
  isValueListWithFixedValues="${isValueListWithFixedValues}"
301
302
  filterBarEntityType="${contextPath}"
303
+ enableChartBinding="${initialChartBindingEnabled}"
302
304
  />
303
305
  `;
304
306
  return vfXML;
@@ -405,4 +407,4 @@ sap.ui.define(["sap/base/Log", "sap/fe/base/BindingToolkit", "sap/fe/core/buildi
405
407
  _exports = FilterFieldBlock;
406
408
  return _exports;
407
409
  }, false);
408
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJGaWx0ZXJGaWVsZEJsb2NrIiwiX2RlYyIsImRlZmluZUJ1aWxkaW5nQmxvY2siLCJuYW1lIiwibmFtZXNwYWNlIiwiX2RlYzIiLCJibG9ja0F0dHJpYnV0ZSIsInR5cGUiLCJyZXF1aXJlZCIsImlzUHVibGljIiwiX2RlYzMiLCJfZGVjNCIsIl9kZWM1IiwiX2RlYzYiLCJfZGVjNyIsIl9kZWM4IiwiX2RlYzkiLCJfY2xhc3MiLCJfY2xhc3MyIiwiX0J1aWxkaW5nQmxvY2tUZW1wbGF0IiwicHJvcHMiLCJjb25maWd1cmF0aW9uIiwic2V0dGluZ3MiLCJfdGhpcyIsImNhbGwiLCJfaW5pdGlhbGl6ZXJEZWZpbmVQcm9wZXJ0eSIsIl9kZXNjcmlwdG9yIiwiX2Rlc2NyaXB0b3IyIiwiX2Rlc2NyaXB0b3IzIiwiX2Rlc2NyaXB0b3I0IiwiX2Rlc2NyaXB0b3I1IiwiX2Rlc2NyaXB0b3I2IiwiX2Rlc2NyaXB0b3I3IiwiX2Rlc2NyaXB0b3I4IiwicHJvcGVydHlDb252ZXJ0ZWQiLCJNZXRhTW9kZWxDb252ZXJ0ZXIiLCJjb252ZXJ0TWV0YU1vZGVsQ29udGV4dCIsInByb3BlcnR5IiwiZXh0ZXJuYWxJZFByb3BlcnR5UGF0aCIsImdldEFzc29jaWF0ZWRFeHRlcm5hbElkUHJvcGVydHlQYXRoIiwicHJvcGVydHlFeHRlcm5hbElkIiwiZ2V0TW9kZWwiLCJjcmVhdGVCaW5kaW5nQ29udGV4dCIsImdldFBhdGgiLCJyZXBsYWNlIiwicHJvcGVydHlDb252ZXJ0ZWRFeHRlcm5hbElkIiwidW5kZWZpbmVkIiwiZGF0YU1vZGVsUGF0aCIsImdldEludm9sdmVkRGF0YU1vZGVsT2JqZWN0cyIsImNvbnRleHRQYXRoIiwicHJvcGVydHlOYW1lIiwib3JpZ2luYWxQcm9wZXJ0eU5hbWUiLCJmaXhlZFZhbHVlcyIsImFubm90YXRpb25zIiwiQ29tbW9uIiwiVmFsdWVMaXN0V2l0aEZpeGVkVmFsdWVzIiwiY29udHJvbElkIiwiaWRQcmVmaXgiLCJnZW5lcmF0ZSIsInNvdXJjZVBhdGgiLCJnZXRUYXJnZXRPYmplY3RQYXRoIiwiZG9jdW1lbnRSZWZUZXh0IiwidGFyZ2V0T2JqZWN0IiwiRG9jdW1lbnRhdGlvblJlZiIsInRvU3RyaW5nIiwiZGF0YVR5cGUiLCJnZXREYXRhVHlwZSIsImxhYmVsVGVybSIsIkxhYmVsIiwibGFiZWxFeHByZXNzaW9uIiwiY29uc3RhbnQiLCJsYWJlbCIsImNvbXBpbGVFeHByZXNzaW9uIiwiY29uZGl0aW9uc0JpbmRpbmciLCJnZXRDb25kaXRpb25zQmluZGluZyIsInBsYWNlaG9sZGVyIiwiZ2V0UGxhY2Vob2xkZXIiLCJwcm9wZXJ0eUtleSIsImdldENvbnRleHRSZWxhdGl2ZVRhcmdldE9iamVjdFBhdGgiLCJ2ZkVuYWJsZWQiLCJ2aXN1YWxGaWx0ZXIiLCJpbmNsdWRlcyIsInZmSWQiLCJ2ZlJ1bnRpbWVJZCIsInByb3BlcnR5Q29udGV4dCIsIm1vZGVsIiwidmhQcm9wZXJ0eVBhdGgiLCJGaWVsZEhlbHBlciIsInZhbHVlSGVscFByb3BlcnR5Rm9yRmlsdGVyRmllbGQiLCJmaWx0ZXJhYmxlIiwiQ29tbW9uSGVscGVyIiwiaXNQcm9wZXJ0eUZpbHRlcmFibGUiLCJwcm9wZXJ0eU9iamVjdCIsImdldE9iamVjdCIsInByb3BlcnR5SW50ZXJmYWNlIiwiY29udGV4dCIsImRpc3BsYXkiLCJnZXRGaWx0ZXJGaWVsZERpc3BsYXlGb3JtYXQiLCJpc0ZpbHRlcmFibGUiLCJtYXhDb25kaXRpb25zIiwiZ2V0TWF4Q29uZGl0aW9ucyIsImRhdGFUeXBlQ29uc3RyYWludHMiLCJjb25zdHJhaW50cyIsImRhdGFUeXBlRm9ybWF0T3B0aW9ucyIsImZvcm1hdE9wdGlvbnMiLCJpc1JlcXVpcmVkSW5GaWx0ZXIiLCJvcGVyYXRvcnMiLCJ1c2VTZW1hbnRpY0RhdGVSYW5nZSIsIkV4dGVuZGVkU2VtYW50aWNEYXRlT3BlcmF0b3JzIiwiYWRkRXh0ZW5kZWRGaWx0ZXJPcGVyYXRvcnMiLCJzcGxpdCIsInZoUHJvcGVydHkiLCJ2aFByb3BlcnR5T2JqZWN0IiwidmhQcm9wZXJ0eUludGVyZmFjZSIsInJlbGF0aXZlVmhQcm9wZXJ0eVBhdGgiLCJnZXRSZWxhdGl2ZVByb3BlcnR5UGF0aCIsInJlbGF0aXZlUHJvcGVydHlQYXRoIiwidmFsdWVIZWxwUHJvcGVydHkiLCJnZXRWYWx1ZUhlbHBQcm9wZXJ0eUZvckZpbHRlckZpZWxkIiwiJFR5cGUiLCJ2aElkUHJlZml4IiwidGFyZ2V0RW50aXR5VHlwZSIsIl9leHBvcnRzIiwiX2luaGVyaXRzTG9vc2UiLCJfcHJvdG8iLCJwcm90b3R5cGUiLCJnZXRWaXN1YWxGaWx0ZXJDb250ZW50IiwidmlzdWFsRmlsdGVyT2JqZWN0IiwidmZYTUwiLCJpc0EiLCJTQVBfVUlfTU9ERUxfQ09OVEVYVCIsInByZXNlbnRhdGlvbkFubm90YXRpb24iLCJvdXRQYXJhbWV0ZXIiLCJpblBhcmFtZXRlcnMiLCJ2YWx1ZWxpc3RQcm9wZXJ0eSIsInNlbGVjdGlvblZhcmlhbnRBbm5vdGF0aW9uIiwibXVsdGlwbGVTZWxlY3Rpb25BbGxvd2VkIiwicmVxdWlyZWRQcm9wZXJ0aWVzIiwic2hvd092ZXJsYXlJbml0aWFsbHkiLCJyZW5kZXJMaW5lQ2hhcnQiLCJpc1ZhbHVlTGlzdFdpdGhGaXhlZFZhbHVlcyIsInhtbCIsInN0cmluZ2lmeUN1c3RvbURhdGEiLCJnZXRUZW1wbGF0ZSIsInhtbFJldCIsImNvbXBhbmlvblRleHRBdmFpbGFibGUiLCJmb3JtYXR0ZWRSZXN1bHQiLCJmb3JtYXRSZXN1bHQiLCJkYXRhTW9kZWxQYXRoRXh0ZXJuYWxJZCIsImdldERpc3BsYXlNb2RlIiwiZXJyIiwiTG9nIiwiZXJyb3IiLCJhdHRyIiwiZWRpdE1vZGUiLCJCdWlsZGluZ0Jsb2NrVGVtcGxhdGluZ0Jhc2UiLCJfYXBwbHlEZWNvcmF0ZWREZXNjcmlwdG9yIiwiY29uZmlndXJhYmxlIiwiZW51bWVyYWJsZSIsIndyaXRhYmxlIiwiaW5pdGlhbGl6ZXIiXSwic291cmNlUm9vdCI6Ii4iLCJzb3VyY2VzIjpbIkZpbHRlckZpZWxkLmJsb2NrLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgUHJvcGVydHkgfSBmcm9tIFwiQHNhcC11eC92b2NhYnVsYXJpZXMtdHlwZXNcIjtcbmltcG9ydCB0eXBlIHsgUHJvcGVydHlBbm5vdGF0aW9uc19Db21tb24gfSBmcm9tIFwiQHNhcC11eC92b2NhYnVsYXJpZXMtdHlwZXMvdm9jYWJ1bGFyaWVzL0NvbW1vbl9FZG1cIjtcbmltcG9ydCBMb2cgZnJvbSBcInNhcC9iYXNlL0xvZ1wiO1xuaW1wb3J0IHR5cGUgeyBDb21waWxlZEJpbmRpbmdUb29sa2l0RXhwcmVzc2lvbiB9IGZyb20gXCJzYXAvZmUvYmFzZS9CaW5kaW5nVG9vbGtpdFwiO1xuaW1wb3J0IHsgY29tcGlsZUV4cHJlc3Npb24sIGNvbnN0YW50LCBmb3JtYXRSZXN1bHQgfSBmcm9tIFwic2FwL2ZlL2Jhc2UvQmluZGluZ1Rvb2xraXRcIjtcbmltcG9ydCB0eXBlIHsgUHJvcGVydGllc09mIH0gZnJvbSBcInNhcC9mZS9iYXNlL0NsYXNzU3VwcG9ydFwiO1xuaW1wb3J0IHsgYmxvY2tBdHRyaWJ1dGUsIGRlZmluZUJ1aWxkaW5nQmxvY2sgfSBmcm9tIFwic2FwL2ZlL2NvcmUvYnVpbGRpbmdCbG9ja3MvdGVtcGxhdGluZy9CdWlsZGluZ0Jsb2NrU3VwcG9ydFwiO1xuaW1wb3J0IHR5cGUgeyBUZW1wbGF0ZVByb2Nlc3NvclNldHRpbmdzIH0gZnJvbSBcInNhcC9mZS9jb3JlL2J1aWxkaW5nQmxvY2tzL3RlbXBsYXRpbmcvQnVpbGRpbmdCbG9ja1RlbXBsYXRlUHJvY2Vzc29yXCI7XG5pbXBvcnQgeyBTQVBfVUlfTU9ERUxfQ09OVEVYVCwgeG1sIH0gZnJvbSBcInNhcC9mZS9jb3JlL2J1aWxkaW5nQmxvY2tzL3RlbXBsYXRpbmcvQnVpbGRpbmdCbG9ja1RlbXBsYXRlUHJvY2Vzc29yXCI7XG5pbXBvcnQgQnVpbGRpbmdCbG9ja1RlbXBsYXRpbmdCYXNlIGZyb20gXCJzYXAvZmUvY29yZS9idWlsZGluZ0Jsb2Nrcy90ZW1wbGF0aW5nL0J1aWxkaW5nQmxvY2tUZW1wbGF0aW5nQmFzZVwiO1xuaW1wb3J0ICogYXMgTWV0YU1vZGVsQ29udmVydGVyIGZyb20gXCJzYXAvZmUvY29yZS9jb252ZXJ0ZXJzL01ldGFNb2RlbENvbnZlcnRlclwiO1xuaW1wb3J0IHsgZ2V0TWF4Q29uZGl0aW9ucyB9IGZyb20gXCJzYXAvZmUvY29yZS9jb252ZXJ0ZXJzL2NvbnRyb2xzL0xpc3RSZXBvcnQvRmlsdGVyRmllbGRcIjtcbmltcG9ydCB0eXBlIHsgVmlzdWFsRmlsdGVycyB9IGZyb20gXCJzYXAvZmUvY29yZS9jb252ZXJ0ZXJzL2NvbnRyb2xzL0xpc3RSZXBvcnQvVmlzdWFsRmlsdGVyc1wiO1xuaW1wb3J0IHsgZ2VuZXJhdGUgfSBmcm9tIFwic2FwL2ZlL2NvcmUvaGVscGVycy9TdGFibGVJZEhlbHBlclwiO1xuaW1wb3J0IHtcblx0Z2V0Q29udGV4dFJlbGF0aXZlVGFyZ2V0T2JqZWN0UGF0aCxcblx0Z2V0VGFyZ2V0T2JqZWN0UGF0aCxcblx0dHlwZSBEYXRhTW9kZWxPYmplY3RQYXRoXG59IGZyb20gXCJzYXAvZmUvY29yZS90ZW1wbGF0aW5nL0RhdGFNb2RlbFBhdGhIZWxwZXJcIjtcbmltcG9ydCB7IGdldFJlbGF0aXZlUHJvcGVydHlQYXRoIH0gZnJvbSBcInNhcC9mZS9jb3JlL3RlbXBsYXRpbmcvUHJvcGVydHlGb3JtYXR0ZXJzXCI7XG5pbXBvcnQgeyBnZXRBc3NvY2lhdGVkRXh0ZXJuYWxJZFByb3BlcnR5UGF0aCB9IGZyb20gXCJzYXAvZmUvY29yZS90ZW1wbGF0aW5nL1Byb3BlcnR5SGVscGVyXCI7XG5pbXBvcnQgeyBnZXREaXNwbGF5TW9kZSwgdHlwZSBDb21wdXRlZEFubm90YXRpb25JbnRlcmZhY2UsIHR5cGUgTWV0YU1vZGVsQ29udGV4dCB9IGZyb20gXCJzYXAvZmUvY29yZS90ZW1wbGF0aW5nL1VJRm9ybWF0dGVyc1wiO1xuaW1wb3J0IENvbW1vbkhlbHBlciBmcm9tIFwic2FwL2ZlL21hY3Jvcy9Db21tb25IZWxwZXJcIjtcbmltcG9ydCBGaWVsZEhlbHBlciBmcm9tIFwic2FwL2ZlL21hY3Jvcy9maWVsZC9GaWVsZEhlbHBlclwiO1xuaW1wb3J0IHtcblx0Y29uc3RyYWludHMsXG5cdGZvcm1hdE9wdGlvbnMsXG5cdGdldENvbmRpdGlvbnNCaW5kaW5nLFxuXHRnZXREYXRhVHlwZSxcblx0Z2V0UGxhY2Vob2xkZXIsXG5cdGlzUmVxdWlyZWRJbkZpbHRlclxufSBmcm9tIFwic2FwL2ZlL21hY3Jvcy9maWx0ZXIvRmlsdGVyRmllbGRIZWxwZXJcIjtcbmltcG9ydCB7IGdldEZpbHRlckZpZWxkRGlzcGxheUZvcm1hdCB9IGZyb20gXCJzYXAvZmUvbWFjcm9zL2ZpbHRlci9GaWx0ZXJGaWVsZFRlbXBsYXRpbmdcIjtcbmltcG9ydCBFeHRlbmRlZFNlbWFudGljRGF0ZU9wZXJhdG9ycyBmcm9tIFwic2FwL2ZlL21hY3Jvcy9maWx0ZXJCYXIvRXh0ZW5kZWRTZW1hbnRpY0RhdGVPcGVyYXRvcnNcIjtcbmltcG9ydCB0eXBlIENvbnRleHQgZnJvbSBcInNhcC91aS9tb2RlbC9Db250ZXh0XCI7XG5pbXBvcnQgdHlwZSBNZXRhTW9kZWwgZnJvbSBcInNhcC91aS9tb2RlbC9NZXRhTW9kZWxcIjtcblxuLyoqXG4gKiBCdWlsZGluZyBibG9jayBmb3IgY3JlYXRpbmcgYSBGaWx0ZXIgRmllbGQgYmFzZWQgb24gdGhlIG1ldGFkYXRhIHByb3ZpZGVkIGJ5IE9EYXRhIFY0LlxuICogPGJyPlxuICogSXQgaXMgZGVzaWduZWQgdG8gd29yayBiYXNlZCBvbiBhIHByb3BlcnR5IGNvbnRleHQocHJvcGVydHkpIHBvaW50aW5nIHRvIGFuIGVudGl0eSB0eXBlIHByb3BlcnR5XG4gKiBuZWVkZWQgdG8gYmUgdXNlZCBhcyBmaWx0ZXJmaWVsZCBhbmQgZW50aXR5VHlwZSBjb250ZXh0KGNvbnRleHRQYXRoKSB0byBjb25zaWRlciB0aGUgcmVsYXRpdml0eSBvZlxuICogdGhlIHByb3BlcnR5UGF0aCBvZiB0aGUgcHJvcGVydHkgd3J0IGVudGl0eVR5cGUuXG4gKlxuICogVXNhZ2UgZXhhbXBsZTpcbiAqIDxwcmU+XG4gKiAmbHQ7bWFjcm9zOkZpbHRlckZpZWxkIGlkPVwiTXlGaWx0ZXJGaWVsZFwiIHByb3BlcnR5PVwiQ29tcGFueU5hbWVcIiAvJmd0O1xuICogPC9wcmU+XG4gKiBAcHJpdmF0ZVxuICovXG5AZGVmaW5lQnVpbGRpbmdCbG9jayh7XG5cdG5hbWU6IFwiRmlsdGVyRmllbGRcIixcblx0bmFtZXNwYWNlOiBcInNhcC5mZS5tYWNyb3MuaW50ZXJuYWxcIlxufSlcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEZpbHRlckZpZWxkQmxvY2sgZXh0ZW5kcyBCdWlsZGluZ0Jsb2NrVGVtcGxhdGluZ0Jhc2Uge1xuXHQvKipcblx0ICogRGVmaW5lcyB0aGUgbWV0YWRhdGEgcGF0aCB0byB0aGUgcHJvcGVydHkuXG5cdCAqL1xuXHRAYmxvY2tBdHRyaWJ1dGUoe1xuXHRcdHR5cGU6IFwic2FwLnVpLm1vZGVsLkNvbnRleHRcIixcblx0XHRyZXF1aXJlZDogdHJ1ZSxcblx0XHRpc1B1YmxpYzogdHJ1ZVxuXHR9KVxuXHRwcm9wZXJ0eSE6IENvbnRleHQ7XG5cblx0LyoqXG5cdCAqIE1ldGFkYXRhIHBhdGggdG8gdGhlIGVudGl0eVNldCBvciBuYXZpZ2F0aW9uUHJvcGVydHlcblx0ICovXG5cdEBibG9ja0F0dHJpYnV0ZSh7XG5cdFx0dHlwZTogXCJzYXAudWkubW9kZWwuQ29udGV4dFwiLFxuXHRcdHJlcXVpcmVkOiB0cnVlLFxuXHRcdGlzUHVibGljOiB0cnVlXG5cdH0pXG5cdGNvbnRleHRQYXRoITogQ29udGV4dDtcblxuXHQvKipcblx0ICogVmlzdWFsIGZpbHRlciBzZXR0aW5ncyBmb3IgZmlsdGVyIGZpZWxkLlxuXHQgKi9cblx0QGJsb2NrQXR0cmlidXRlKHtcblx0XHR0eXBlOiBcInNhcC51aS5tb2RlbC5Db250ZXh0XCIsXG5cdFx0aXNQdWJsaWM6IHRydWVcblx0fSlcblx0dmlzdWFsRmlsdGVyPzogQ29udGV4dCB8IFZpc3VhbEZpbHRlcnM7XG5cblx0LyoqXG5cdCAqIEEgcHJlZml4IHRoYXQgaXMgYWRkZWQgdG8gdGhlIGdlbmVyYXRlZCBJRCBvZiB0aGUgZmlsdGVyIGZpZWxkLlxuXHQgKi9cblx0QGJsb2NrQXR0cmlidXRlKHtcblx0XHR0eXBlOiBcInN0cmluZ1wiLFxuXHRcdGlzUHVibGljOiB0cnVlXG5cdH0pXG5cdGlkUHJlZml4ID0gXCJGaWx0ZXJGaWVsZFwiO1xuXG5cdC8qKlxuXHQgKiBBIHByZWZpeCB0aGF0IGlzIGFkZGVkIHRvIHRoZSBnZW5lcmF0ZWQgSUQgb2YgdGhlIHZhbHVlIGhlbHAgdXNlZCBmb3IgdGhlIGZpbHRlciBmaWVsZC5cblx0ICovXG5cdEBibG9ja0F0dHJpYnV0ZSh7XG5cdFx0dHlwZTogXCJzdHJpbmdcIixcblx0XHRpc1B1YmxpYzogdHJ1ZVxuXHR9KVxuXHR2aElkUHJlZml4ID0gXCJGaWx0ZXJGaWVsZFZhbHVlSGVscFwiO1xuXG5cdC8qKlxuXHQgKiBTcGVjaWZpZXMgdGhlIFNlbWF0aWMgRGF0ZSBSYW5nZSBvcHRpb24gZm9yIHRoZSBmaWx0ZXIgZmllbGQuXG5cdCAqL1xuXHRAYmxvY2tBdHRyaWJ1dGUoe1xuXHRcdHR5cGU6IFwiYm9vbGVhblwiLFxuXHRcdGlzUHVibGljOiB0cnVlXG5cdH0pXG5cdHVzZVNlbWFudGljRGF0ZVJhbmdlID0gdHJ1ZTtcblxuXHQvKipcblx0ICogU2V0dGluZ3MgZnJvbSB0aGUgbWFuaWZlc3QuXG5cdCAqL1xuXHRAYmxvY2tBdHRyaWJ1dGUoe1xuXHRcdHR5cGU6IFwic3RyaW5nXCIsXG5cdFx0aXNQdWJsaWM6IHRydWVcblx0fSlcblx0c2V0dGluZ3MgPSBcIlwiO1xuXG5cdC8qKlxuXHQgKiBTcGVmaWNpZXMgdGhlIGVuYWJsZW1lbnQgb2YgdGhlIGZpbHRlciBmaWVsZC5cblx0ICovXG5cdEBibG9ja0F0dHJpYnV0ZSh7XG5cdFx0dHlwZTogXCJzdHJpbmdcIixcblx0XHRpc1B1YmxpYzogZmFsc2Vcblx0fSlcblx0ZWRpdE1vZGU/OiBzdHJpbmc7XG5cblx0LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG5cdCAqICAgICAgICAgICAgSU5URVJOQUwgQVRUUklCVVRFUyAgICAgICAgICAgICAgKlxuXHQgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuXHQvKipcblx0ICogQ29udHJvbCBJZCBmb3IgTURDIGZpbHRlciBmaWVsZCB1c2VkIGluc2lkZS5cblx0ICovXG5cdGNvbnRyb2xJZCE6IHN0cmluZztcblxuXHQvKipcblx0ICogUHJvcGVydHkga2V5IGZvciBmaWx0ZXIgZmllbGQuXG5cdCAqL1xuXHRwcm9wZXJ0eUtleSE6IHN0cmluZztcblxuXHQvKipcblx0ICogU291cmNlIGFubm90YXRpb24gcGF0aCBvZiB0aGUgcHJvcGVydHkuXG5cdCAqL1xuXHRzb3VyY2VQYXRoITogc3RyaW5nO1xuXG5cdC8qKlxuXHQgKiBTb3VyY2UgYW5ub3RhdGlvbiBwYXRoIG9mIHRoZSBwcm9wZXJ0eS5cblx0ICovXG5cdGRvY3VtZW50UmVmVGV4dD86IHN0cmluZztcblxuXHQvKipcblx0ICogTGFiZWwgZm9yIGZpbHRlcmZpZWxkLlxuXHQgKi9cblx0bGFiZWwhOiBzdHJpbmc7XG5cblx0LyoqXG5cdCAqIERhdGEgVHlwZSBvZiB0aGUgZmlsdGVyIGZpZWxkLlxuXHQgKi9cblx0ZGF0YVR5cGUhOiBzdHJpbmc7XG5cblx0LyoqXG5cdCAqIE1heGltdW0gY29uZGl0aW9ucyB0aGF0IGNhbiBiZSBhZGRlZCB0byB0aGUgZmlsdGVyIGZpZWxkLlxuXHQgKi9cblx0bWF4Q29uZGl0aW9ucyE6IG51bWJlcjtcblxuXHQvKipcblx0ICogVmFsdWUgSGVscCBpZCBhcyBhc3NvY2lhdGlvbiBmb3IgdGhlIGZpbHRlciBmaWVsZC5cblx0ICovXG5cdHZhbHVlSGVscFByb3BlcnR5Pzogc3RyaW5nO1xuXG5cdC8qKlxuXHQgKiBCaW5kaW5nIHBhdGggZm9yIGNvbmRpdGlvbnMgYWRkZWQgdG8gZmlsdGVyIGZpZWxkLlxuXHQgKi9cblx0Y29uZGl0aW9uc0JpbmRpbmchOiBzdHJpbmc7XG5cblx0LyoqXG5cdCAqIERhdGF0eXBlIGNvbnN0cmFpbnRzIG9mIHRoZSBmaWx0ZXIgZmllbGQuXG5cdCAqL1xuXHRkYXRhVHlwZUNvbnN0cmFpbnRzPzogc3RyaW5nO1xuXG5cdC8qKlxuXHQgKiBEYXRhdHlwZSBmb3JtYXQgb3B0aW9ucyBvZiB0aGUgZmlsdGVyIGZpZWxkLlxuXHQgKi9cblx0ZGF0YVR5cGVGb3JtYXRPcHRpb25zPzogc3RyaW5nO1xuXG5cdC8qKlxuXHQgKiBUbyBzcGVjaWZ5IGZpbHRlciBmaWVsZCBpcyBtYW5kYXRvcnkgZm9yIGZpbHRlcmluZy5cblx0ICovXG5cdHJlcXVpcmVkITogYm9vbGVhbjtcblxuXHQvKipcblx0ICogVmFsaWQgb3BlcmF0b3JzIGZvciB0aGUgZmlsdGVyIGZpZWxkLlxuXHQgKi9cblx0b3BlcmF0b3JzPzogc3RyaW5nO1xuXG5cdC8qKlxuXHQgKiBWaXN1YWwgRmlsdGVyIGlkIHRvIGJlIHVzZWQuXG5cdCAqL1xuXHR2ZklkPzogc3RyaW5nO1xuXG5cdC8qKlxuXHQgKiBWaXN1YWwgRmlsdGVyIGJ1aWxkaW5nIGJsb2NrIGlkIHRvIGJlIHVzZWQuXG5cdCAqL1xuXHR2ZlJ1bnRpbWVJZD86IHN0cmluZztcblxuXHQvKipcblx0ICogVmlzdWFsIEZpbHRlciBpcyBleHBlY3RlZC5cblx0ICovXG5cdHZmRW5hYmxlZCE6IGJvb2xlYW47XG5cblx0LyoqXG5cdCAqIFByb3BlcnR5IHVzZWQgaXMgZmlsdGVyYWJsZVxuXHQgKi9cblx0aXNGaWx0ZXJhYmxlITogYm9vbGVhbjtcblxuXHQvKipcblx0ICogUHJvcGVydHkgZm9yIHBsYWNlaG9sZGVyXG5cdCAqL1xuXHRwbGFjZWhvbGRlcj86IHN0cmluZztcblxuXHQvKipcblx0ICogUHJvcGVydHkgdG8gaG9sZCBwcm9taXNlIGZvciBkaXNwbGF5XG5cdCAqL1xuXHRkaXNwbGF5PzogUHJvbWlzZTxzdHJpbmcgfCB1bmRlZmluZWQ+O1xuXG5cdHByb3BlcnR5RXh0ZXJuYWxJZD86IENvbnRleHQ7XG5cblx0Y29uc3RydWN0b3IocHJvcHM6IFByb3BlcnRpZXNPZjxGaWx0ZXJGaWVsZEJsb2NrPiwgY29uZmlndXJhdGlvbjogdW5rbm93biwgc2V0dGluZ3M6IFRlbXBsYXRlUHJvY2Vzc29yU2V0dGluZ3MpIHtcblx0XHRzdXBlcihwcm9wcywgY29uZmlndXJhdGlvbiwgc2V0dGluZ3MpO1xuXG5cdFx0Y29uc3QgcHJvcGVydHlDb252ZXJ0ZWQgPSBNZXRhTW9kZWxDb252ZXJ0ZXIuY29udmVydE1ldGFNb2RlbENvbnRleHQodGhpcy5wcm9wZXJ0eSkgYXMgUHJvcGVydHk7XG5cblx0XHRjb25zdCBleHRlcm5hbElkUHJvcGVydHlQYXRoID0gZ2V0QXNzb2NpYXRlZEV4dGVybmFsSWRQcm9wZXJ0eVBhdGgocHJvcGVydHlDb252ZXJ0ZWQpIGFzIHN0cmluZztcblx0XHRpZiAoZXh0ZXJuYWxJZFByb3BlcnR5UGF0aCkge1xuXHRcdFx0dGhpcy5wcm9wZXJ0eUV4dGVybmFsSWQgPSB0aGlzLnByb3BlcnR5XG5cdFx0XHRcdC5nZXRNb2RlbCgpXG5cdFx0XHRcdC5jcmVhdGVCaW5kaW5nQ29udGV4dCh0aGlzLnByb3BlcnR5LmdldFBhdGgoKS5yZXBsYWNlKHByb3BlcnR5Q29udmVydGVkLm5hbWUsIGV4dGVybmFsSWRQcm9wZXJ0eVBhdGgpLCB0aGlzLnByb3BlcnR5KTtcblx0XHR9XG5cblx0XHRjb25zdCBwcm9wZXJ0eUNvbnZlcnRlZEV4dGVybmFsSWQgPSB0aGlzLnByb3BlcnR5RXh0ZXJuYWxJZFxuXHRcdFx0PyAoTWV0YU1vZGVsQ29udmVydGVyLmNvbnZlcnRNZXRhTW9kZWxDb250ZXh0KHRoaXMucHJvcGVydHlFeHRlcm5hbElkKSBhcyBQcm9wZXJ0eSlcblx0XHRcdDogdW5kZWZpbmVkO1xuXG5cdFx0Y29uc3QgZGF0YU1vZGVsUGF0aCA9IE1ldGFNb2RlbENvbnZlcnRlci5nZXRJbnZvbHZlZERhdGFNb2RlbE9iamVjdHM8UHJvcGVydHk+KHRoaXMucHJvcGVydHksIHRoaXMuY29udGV4dFBhdGgpO1xuXG5cdFx0Ly8gUHJvcGVydHkgc2V0dGluZ3Ncblx0XHRjb25zdCBwcm9wZXJ0eU5hbWUgPSBwcm9wZXJ0eUNvbnZlcnRlZC5uYW1lLFxuXHRcdFx0b3JpZ2luYWxQcm9wZXJ0eU5hbWUgPSBwcm9wZXJ0eUNvbnZlcnRlZC5uYW1lLFxuXHRcdFx0Zml4ZWRWYWx1ZXMgPVxuXHRcdFx0XHQhIXByb3BlcnR5Q29udmVydGVkRXh0ZXJuYWxJZD8uYW5ub3RhdGlvbnM/LkNvbW1vbj8uVmFsdWVMaXN0V2l0aEZpeGVkVmFsdWVzIHx8XG5cdFx0XHRcdCEhcHJvcGVydHlDb252ZXJ0ZWQuYW5ub3RhdGlvbnM/LkNvbW1vbj8uVmFsdWVMaXN0V2l0aEZpeGVkVmFsdWVzO1xuXG5cdFx0dGhpcy5jb250cm9sSWQgPSB0aGlzLmlkUHJlZml4ICYmIGdlbmVyYXRlKFt0aGlzLmlkUHJlZml4LCBvcmlnaW5hbFByb3BlcnR5TmFtZV0pO1xuXHRcdHRoaXMuc291cmNlUGF0aCA9IGdldFRhcmdldE9iamVjdFBhdGgoZGF0YU1vZGVsUGF0aCk7XG5cblx0XHR0eXBlIFByb3BlcnR5QW5ub3RhdGlvbnNfQ29tbW9uX2V4dGVuZGVkID0gUHJvcGVydHlBbm5vdGF0aW9uc19Db21tb24gJiB7IERvY3VtZW50YXRpb25SZWY/OiBzdHJpbmcgfTtcblx0XHR0aGlzLmRvY3VtZW50UmVmVGV4dCA9IChcblx0XHRcdGRhdGFNb2RlbFBhdGgudGFyZ2V0T2JqZWN0Py5hbm5vdGF0aW9ucy5Db21tb24gYXMgUHJvcGVydHlBbm5vdGF0aW9uc19Db21tb25fZXh0ZW5kZWRcblx0XHQpPy5Eb2N1bWVudGF0aW9uUmVmPy50b1N0cmluZygpO1xuXG5cdFx0dGhpcy5kYXRhVHlwZSA9IGdldERhdGFUeXBlKHByb3BlcnR5Q29udmVydGVkRXh0ZXJuYWxJZCB8fCBwcm9wZXJ0eUNvbnZlcnRlZCk7IC8vIGRhdGEgdHlwZSBmb3IgTFItRmlsdGVyQmFyIGNvbmRpdGlvbiBvZiB0aGUgdmFsdWUgaGVscFxuXHRcdGNvbnN0IGxhYmVsVGVybSA9IHByb3BlcnR5Q29udmVydGVkPy5hbm5vdGF0aW9ucz8uQ29tbW9uPy5MYWJlbDtcblx0XHRjb25zdCBsYWJlbEV4cHJlc3Npb24gPSBsYWJlbFRlcm0/LnRvU3RyaW5nKCkgPz8gY29uc3RhbnQocHJvcGVydHlOYW1lKTtcblx0XHR0aGlzLmxhYmVsID0gY29tcGlsZUV4cHJlc3Npb24obGFiZWxFeHByZXNzaW9uKSB8fCBwcm9wZXJ0eU5hbWU7XG5cdFx0dGhpcy5jb25kaXRpb25zQmluZGluZyA9IGdldENvbmRpdGlvbnNCaW5kaW5nKGRhdGFNb2RlbFBhdGgpIHx8IFwiXCI7XG5cdFx0dGhpcy5wbGFjZWhvbGRlciA9IGdldFBsYWNlaG9sZGVyKHByb3BlcnR5Q29udmVydGVkKTtcblx0XHR0aGlzLnByb3BlcnR5S2V5ID0gZ2V0Q29udGV4dFJlbGF0aXZlVGFyZ2V0T2JqZWN0UGF0aChkYXRhTW9kZWxQYXRoLCBmYWxzZSwgdHJ1ZSkgfHwgcHJvcGVydHlOYW1lO1xuXHRcdC8vIFZpc3VhbCBGaWx0ZXIgc2V0dGluZ3Ncblx0XHR0aGlzLnZmRW5hYmxlZCA9ICEhdGhpcy52aXN1YWxGaWx0ZXIgJiYgISh0aGlzLmlkUHJlZml4ICYmIHRoaXMuaWRQcmVmaXguaW5jbHVkZXMoXCJBZGFwdGF0aW9uXCIpKTtcblx0XHR0aGlzLnZmSWQgPSB0aGlzLnZmRW5hYmxlZCA/IGdlbmVyYXRlKFt0aGlzLmlkUHJlZml4LCBwcm9wZXJ0eU5hbWUsIFwiVmlzdWFsRmlsdGVyXCJdKSA6IHVuZGVmaW5lZDtcblx0XHR0aGlzLnZmUnVudGltZUlkID0gdGhpcy52ZkVuYWJsZWQgPyBnZW5lcmF0ZShbdGhpcy5pZFByZWZpeCwgcHJvcGVydHlOYW1lLCBcIlZpc3VhbEZpbHRlckNvbnRhaW5lclwiXSkgOiB1bmRlZmluZWQ7XG5cblx0XHQvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLy9cblx0XHQvLyBUT0RPOiBuZWVkIHRvIGNoYW5nZSBvcGVyYXRpb25zIGZyb20gTWV0YU1vZGVsIHRvIENvbnZlcnRlcnMuXG5cdFx0Ly8gVGhpcyBtYWlubHkgaW5jbHVkZWQgY2hhbmdpbmcgY2hhbmdpbmcgZ2V0RmlsdGVyUmVzdHJpY3Rpb25zIG9wZXJhdGlvbnMgZnJvbSBtZXRhTW9kZWwgdG8gY29udmVydGVyc1xuXHRcdGNvbnN0IHByb3BlcnR5Q29udGV4dCA9IHRoaXMucHJvcGVydHksXG5cdFx0XHRtb2RlbDogTWV0YU1vZGVsID0gcHJvcGVydHlDb250ZXh0LmdldE1vZGVsKCksXG5cdFx0XHR2aFByb3BlcnR5UGF0aDogc3RyaW5nID0gRmllbGRIZWxwZXIudmFsdWVIZWxwUHJvcGVydHlGb3JGaWx0ZXJGaWVsZChwcm9wZXJ0eUNvbnRleHQpLFxuXHRcdFx0ZmlsdGVyYWJsZSA9IENvbW1vbkhlbHBlci5pc1Byb3BlcnR5RmlsdGVyYWJsZShwcm9wZXJ0eUNvbnRleHQpLFxuXHRcdFx0cHJvcGVydHlPYmplY3QgPSBwcm9wZXJ0eUNvbnRleHQuZ2V0T2JqZWN0KCksXG5cdFx0XHRwcm9wZXJ0eUludGVyZmFjZSA9IHsgY29udGV4dDogcHJvcGVydHlDb250ZXh0IH0gYXMgQ29tcHV0ZWRBbm5vdGF0aW9uSW50ZXJmYWNlO1xuXG5cdFx0dGhpcy5kaXNwbGF5ID0gZ2V0RmlsdGVyRmllbGREaXNwbGF5Rm9ybWF0KGRhdGFNb2RlbFBhdGgsIHByb3BlcnR5Q29udmVydGVkLCBwcm9wZXJ0eUludGVyZmFjZSk7XG5cdFx0dGhpcy5pc0ZpbHRlcmFibGUgPSAhKGZpbHRlcmFibGUgPT09IGZhbHNlIHx8IGZpbHRlcmFibGUgPT09IFwiZmFsc2VcIik7XG5cdFx0dGhpcy5tYXhDb25kaXRpb25zID0gZ2V0TWF4Q29uZGl0aW9ucyhkYXRhTW9kZWxQYXRoKTtcblx0XHR0aGlzLmRhdGFUeXBlQ29uc3RyYWludHMgPSBjb25zdHJhaW50cyhwcm9wZXJ0eU9iamVjdCwgcHJvcGVydHlJbnRlcmZhY2UpO1xuXHRcdHRoaXMuZGF0YVR5cGVGb3JtYXRPcHRpb25zID0gZm9ybWF0T3B0aW9ucyhwcm9wZXJ0eU9iamVjdCwgcHJvcGVydHlJbnRlcmZhY2UpO1xuXHRcdHRoaXMucmVxdWlyZWQgPSBpc1JlcXVpcmVkSW5GaWx0ZXIocHJvcGVydHlPYmplY3QsIHByb3BlcnR5SW50ZXJmYWNlKTtcblx0XHR0aGlzLm9wZXJhdG9ycyA9IEZpZWxkSGVscGVyLm9wZXJhdG9ycyhcblx0XHRcdHByb3BlcnR5Q29udGV4dCxcblx0XHRcdHByb3BlcnR5T2JqZWN0LFxuXHRcdFx0dGhpcy51c2VTZW1hbnRpY0RhdGVSYW5nZSxcblx0XHRcdHRoaXMuc2V0dGluZ3MgfHwgXCJcIixcblx0XHRcdHRoaXMuY29udGV4dFBhdGguZ2V0UGF0aCgpXG5cdFx0KTtcblx0XHRpZiAodGhpcy5vcGVyYXRvcnMpIHtcblx0XHRcdC8vIEV4dGVuZGVkIG9wZXJhdG9ycyBhcmUgbm90IGFkZGVkIGJ5IGRlZmF1bHQuXG5cdFx0XHQvLyBXZSBhZGQgdGhlbSB0byBNREMgZmlsdGVyIGVudmlyb25tZW50LlxuXHRcdFx0RXh0ZW5kZWRTZW1hbnRpY0RhdGVPcGVyYXRvcnMuYWRkRXh0ZW5kZWRGaWx0ZXJPcGVyYXRvcnModGhpcy5vcGVyYXRvcnMuc3BsaXQoXCIsXCIpKTtcblx0XHR9XG5cdFx0Ly8gVmFsdWUgSGVscCBzZXR0aW5nc1xuXHRcdC8vIFRPRE86IFRoaXMgbmVlZHMgdG8gYmUgdXBkYXRlZCB3aGVuIFZIIG1hY3JvIGlzIGNvbnZlcnRlZCB0byAyLjBcblx0XHRjb25zdCB2aFByb3BlcnR5ID0gbW9kZWwuY3JlYXRlQmluZGluZ0NvbnRleHQodmhQcm9wZXJ0eVBhdGgpIGFzIENvbnRleHQ7XG5cdFx0Y29uc3QgdmhQcm9wZXJ0eU9iamVjdCA9IHZoUHJvcGVydHkuZ2V0T2JqZWN0KCkgYXMgTWV0YU1vZGVsQ29udGV4dCxcblx0XHRcdHZoUHJvcGVydHlJbnRlcmZhY2UgPSB7IGNvbnRleHQ6IHZoUHJvcGVydHkgfSxcblx0XHRcdHJlbGF0aXZlVmhQcm9wZXJ0eVBhdGggPSBnZXRSZWxhdGl2ZVByb3BlcnR5UGF0aCh2aFByb3BlcnR5T2JqZWN0LCB2aFByb3BlcnR5SW50ZXJmYWNlKSxcblx0XHRcdHJlbGF0aXZlUHJvcGVydHlQYXRoID0gZ2V0UmVsYXRpdmVQcm9wZXJ0eVBhdGgocHJvcGVydHlPYmplY3QsIHByb3BlcnR5SW50ZXJmYWNlKTtcblx0XHR0aGlzLnZhbHVlSGVscFByb3BlcnR5ID0gRmllbGRIZWxwZXIuZ2V0VmFsdWVIZWxwUHJvcGVydHlGb3JGaWx0ZXJGaWVsZChcblx0XHRcdHByb3BlcnR5Q29udGV4dCxcblx0XHRcdHByb3BlcnR5T2JqZWN0LFxuXHRcdFx0cHJvcGVydHlPYmplY3QuJFR5cGUsXG5cdFx0XHR0aGlzLnZoSWRQcmVmaXgsXG5cdFx0XHRkYXRhTW9kZWxQYXRoLnRhcmdldEVudGl0eVR5cGUubmFtZSxcblx0XHRcdHJlbGF0aXZlUHJvcGVydHlQYXRoLFxuXHRcdFx0cmVsYXRpdmVWaFByb3BlcnR5UGF0aCxcblx0XHRcdGZpeGVkVmFsdWVzLFxuXHRcdFx0dGhpcy51c2VTZW1hbnRpY0RhdGVSYW5nZVxuXHRcdCk7XG5cblx0XHQvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLy9cblx0fVxuXG5cdGdldFZpc3VhbEZpbHRlckNvbnRlbnQoKTogc3RyaW5nIHtcblx0XHRsZXQgdmlzdWFsRmlsdGVyT2JqZWN0ID0gdGhpcy52aXN1YWxGaWx0ZXIsXG5cdFx0XHR2ZlhNTCA9IFwiXCI7XG5cdFx0aWYgKCF0aGlzLnZmRW5hYmxlZCB8fCAhdmlzdWFsRmlsdGVyT2JqZWN0KSB7XG5cdFx0XHRyZXR1cm4gdmZYTUw7XG5cdFx0fVxuXHRcdGlmICgodmlzdWFsRmlsdGVyT2JqZWN0IGFzIENvbnRleHQpPy5pc0E/LihTQVBfVUlfTU9ERUxfQ09OVEVYVCkpIHtcblx0XHRcdHZpc3VhbEZpbHRlck9iamVjdCA9ICh2aXN1YWxGaWx0ZXJPYmplY3QgYXMgQ29udGV4dCkuZ2V0T2JqZWN0KCkgYXMgVmlzdWFsRmlsdGVycztcblx0XHR9XG5cblx0XHRjb25zdCB7XG5cdFx0XHRjb250ZXh0UGF0aCxcblx0XHRcdHByZXNlbnRhdGlvbkFubm90YXRpb24sXG5cdFx0XHRvdXRQYXJhbWV0ZXIsXG5cdFx0XHRpblBhcmFtZXRlcnMsXG5cdFx0XHR2YWx1ZWxpc3RQcm9wZXJ0eSxcblx0XHRcdHNlbGVjdGlvblZhcmlhbnRBbm5vdGF0aW9uLFxuXHRcdFx0bXVsdGlwbGVTZWxlY3Rpb25BbGxvd2VkLFxuXHRcdFx0cmVxdWlyZWQsXG5cdFx0XHRyZXF1aXJlZFByb3BlcnRpZXMgPSBbXSxcblx0XHRcdHNob3dPdmVybGF5SW5pdGlhbGx5LFxuXHRcdFx0cmVuZGVyTGluZUNoYXJ0LFxuXHRcdFx0aXNWYWx1ZUxpc3RXaXRoRml4ZWRWYWx1ZXNcblx0XHR9ID0gdmlzdWFsRmlsdGVyT2JqZWN0IGFzIFZpc3VhbEZpbHRlcnM7XG5cdFx0dmZYTUwgPSB4bWxgXG5cdFx0XHRcdDx2aXN1YWxGaWx0ZXI6VmlzdWFsRmlsdGVyXG5cdFx0XHRcdCAgICB4bWxuczp2aXN1YWxGaWx0ZXI9IFwic2FwLmZlLm1hY3Jvcy52aXN1YWxmaWx0ZXJzXCJcblx0XHRcdFx0XHRpZD1cIiR7dGhpcy52ZlJ1bnRpbWVJZH1cIlxuXHRcdFx0XHRcdF9jb250ZW50SWQ9XCIke3RoaXMudmZJZH1cIlxuXHRcdFx0XHRcdGNvbnRleHRQYXRoPVwiJHtjb250ZXh0UGF0aH1cIlxuXHRcdFx0XHRcdG1ldGFQYXRoPVwiJHtwcmVzZW50YXRpb25Bbm5vdGF0aW9ufVwiXG5cdFx0XHRcdFx0b3V0UGFyYW1ldGVyPVwiJHtvdXRQYXJhbWV0ZXJ9XCJcblx0XHRcdFx0XHRpblBhcmFtZXRlcnM9XCIke0NvbW1vbkhlbHBlci5zdHJpbmdpZnlDdXN0b21EYXRhKGluUGFyYW1ldGVycyl9XCJcblx0XHRcdFx0XHR2YWx1ZWxpc3RQcm9wZXJ0eT1cIiR7dmFsdWVsaXN0UHJvcGVydHl9XCJcblx0XHRcdFx0XHRzZWxlY3Rpb25WYXJpYW50QW5ub3RhdGlvbj1cIiR7c2VsZWN0aW9uVmFyaWFudEFubm90YXRpb259XCJcblx0XHRcdFx0XHRtdWx0aXBsZVNlbGVjdGlvbkFsbG93ZWQ9XCIke211bHRpcGxlU2VsZWN0aW9uQWxsb3dlZH1cIlxuXHRcdFx0XHRcdHJlcXVpcmVkPVwiJHtyZXF1aXJlZH1cIlxuXHRcdFx0XHRcdHJlcXVpcmVkUHJvcGVydGllcz1cIiR7Q29tbW9uSGVscGVyLnN0cmluZ2lmeUN1c3RvbURhdGEocmVxdWlyZWRQcm9wZXJ0aWVzKX1cIlxuXHRcdFx0XHRcdHNob3dPdmVybGF5SW5pdGlhbGx5PVwiJHtzaG93T3ZlcmxheUluaXRpYWxseX1cIlxuXHRcdFx0XHRcdHJlbmRlckxpbmVDaGFydD1cIiR7cmVuZGVyTGluZUNoYXJ0fVwiXG5cdFx0XHRcdFx0aXNWYWx1ZUxpc3RXaXRoRml4ZWRWYWx1ZXM9XCIke2lzVmFsdWVMaXN0V2l0aEZpeGVkVmFsdWVzfVwiXG5cdFx0XHRcdFx0ZmlsdGVyQmFyRW50aXR5VHlwZT1cIiR7Y29udGV4dFBhdGh9XCJcblx0XHRcdFx0Lz5cblx0XHRcdGA7XG5cblx0XHRyZXR1cm4gdmZYTUw7XG5cdH1cblxuXHRhc3luYyBnZXRUZW1wbGF0ZSgpOiBQcm9taXNlPHN0cmluZz4ge1xuXHRcdGxldCB4bWxSZXQgPSBgYDtcblx0XHRpZiAodGhpcy5pc0ZpbHRlcmFibGUpIHtcblx0XHRcdGxldCBkaXNwbGF5O1xuXHRcdFx0Y29uc3QgY29tcGFuaW9uVGV4dEF2YWlsYWJsZSA9IHRoaXMuZG9jdW1lbnRSZWZUZXh0ID09PSB1bmRlZmluZWQgfHwgbnVsbCA/IGZhbHNlIDogdHJ1ZTtcblx0XHRcdGNvbnN0IGZvcm1hdHRlZFJlc3VsdDogQ29tcGlsZWRCaW5kaW5nVG9vbGtpdEV4cHJlc3Npb24gPSBjb21waWxlRXhwcmVzc2lvbihcblx0XHRcdFx0Zm9ybWF0UmVzdWx0KFt0aGlzLmRvY3VtZW50UmVmVGV4dF0sIFwic2FwLmZlLmNvcmUuZm9ybWF0dGVycy5TdGFuZGFyZEZvcm1hdHRlciNhc0FycmF5XCIpXG5cdFx0XHQpO1xuXHRcdFx0dHJ5IHtcblx0XHRcdFx0Y29uc3QgZGF0YU1vZGVsUGF0aEV4dGVybmFsSWQgPVxuXHRcdFx0XHRcdHRoaXMucHJvcGVydHlFeHRlcm5hbElkICYmIE1ldGFNb2RlbENvbnZlcnRlci5nZXRJbnZvbHZlZERhdGFNb2RlbE9iamVjdHModGhpcy5wcm9wZXJ0eUV4dGVybmFsSWQsIHRoaXMuY29udGV4dFBhdGgpO1xuXHRcdFx0XHRkaXNwbGF5ID0gZGF0YU1vZGVsUGF0aEV4dGVybmFsSWRcblx0XHRcdFx0XHQ/IGdldERpc3BsYXlNb2RlKGRhdGFNb2RlbFBhdGhFeHRlcm5hbElkIGFzIERhdGFNb2RlbE9iamVjdFBhdGg8UHJvcGVydHk+KVxuXHRcdFx0XHRcdDogYXdhaXQgdGhpcy5kaXNwbGF5O1xuXHRcdFx0fSBjYXRjaCAoZXJyOiB1bmtub3duKSB7XG5cdFx0XHRcdExvZy5lcnJvcihgRkUgOiBGaWx0ZXJGaWVsZCBCdWlsZGluZ0Jsb2NrIDogRXJyb3IgZmV0Y2hpbmcgZGlzcGxheSBwcm9wZXJ0eSBmb3IgJHt0aGlzLnNvdXJjZVBhdGh9IDogJHtlcnJ9YCk7XG5cdFx0XHR9XG5cdFx0XHR4bWxSZXQgPSB4bWxgXG5cdFx0XHRcdDxtZGM6RmlsdGVyRmllbGRcblx0XHRcdFx0XHR4bWxuczptZGM9XCJzYXAudWkubWRjXCJcblx0XHRcdFx0XHR4bWxuczp0ZW1wbGF0ZT1cImh0dHA6Ly9zY2hlbWFzLnNhcC5jb20vc2FwdWk1L2V4dGVuc2lvbi9zYXAudWkuY29yZS50ZW1wbGF0ZS8xXCJcblx0XHRcdFx0XHR4bWxuczptYWNybz1cInNhcC5mZS5tYWNyb3NcIlxuXHRcdFx0XHRcdHhtbG5zOmN1c3RvbURhdGE9XCJodHRwOi8vc2NoZW1hcy5zYXAuY29tL3NhcHVpNS9leHRlbnNpb24vc2FwLnVpLmNvcmUuQ3VzdG9tRGF0YS8xXCJcblx0XHRcdFx0XHR4bWxuczpmaWVsZGhlbHA9XCJzYXAudWkuY29yZS5maWVsZGhlbHBcIlxuXHRcdFx0XHRcdGN1c3RvbURhdGE6c291cmNlUGF0aD1cIiR7dGhpcy5zb3VyY2VQYXRofVwiXG5cdFx0XHRcdFx0aWQ9XCIke3RoaXMuY29udHJvbElkfVwiXG5cdFx0XHRcdFx0ZGVsZWdhdGU9XCJ7bmFtZTogJ3NhcC9mZS9tYWNyb3MvZmllbGQvRmllbGRCYXNlRGVsZWdhdGUnLCBwYXlsb2FkOntpc0ZpbHRlckZpZWxkOnRydWV9fVwiXG5cdFx0XHRcdFx0cHJvcGVydHlLZXk9XCIke3RoaXMucHJvcGVydHlLZXl9XCJcblx0XHRcdFx0XHRsYWJlbD1cIiR7dGhpcy5sYWJlbH1cIlxuXHRcdFx0XHRcdGRhdGFUeXBlPVwiJHt0aGlzLmRhdGFUeXBlfVwiXG5cdFx0XHRcdFx0ZGlzcGxheT1cIiR7ZGlzcGxheX1cIlxuXHRcdFx0XHRcdG1heENvbmRpdGlvbnM9XCIke3RoaXMubWF4Q29uZGl0aW9uc31cIlxuXHRcdFx0XHRcdHZhbHVlSGVscD1cIiR7dGhpcy52YWx1ZUhlbHBQcm9wZXJ0eX1cIlxuXHRcdFx0XHRcdGNvbmRpdGlvbnM9XCIke3RoaXMuY29uZGl0aW9uc0JpbmRpbmd9XCJcblx0XHRcdFx0XHRkYXRhVHlwZUNvbnN0cmFpbnRzPVwiJHt0aGlzLmRhdGFUeXBlQ29uc3RyYWludHN9XCJcblx0XHRcdFx0XHRkYXRhVHlwZUZvcm1hdE9wdGlvbnM9XCIke3RoaXMuZGF0YVR5cGVGb3JtYXRPcHRpb25zfVwiXG5cdFx0XHRcdFx0cmVxdWlyZWQ9XCIke3RoaXMucmVxdWlyZWR9XCJcblx0XHRcdFx0XHRvcGVyYXRvcnM9XCIke3RoaXMub3BlcmF0b3JzfVwiXG5cdFx0XHRcdFx0cGxhY2Vob2xkZXI9XCIke3RoaXMucGxhY2Vob2xkZXJ9XCJcblx0XHRcdFx0XHQke3RoaXMuYXR0cihcImVkaXRNb2RlXCIsIHRoaXMuZWRpdE1vZGUpfVxuXHRcdFx0XHQ+XG5cdFx0XHRcdFx0JHtcblx0XHRcdFx0XHRcdGNvbXBhbmlvblRleHRBdmFpbGFibGVcblx0XHRcdFx0XHRcdFx0PyB4bWxgXG5cdFx0XHRcdFx0XHQ8bWRjOmN1c3RvbURhdGE+XG5cdFx0XHRcdFx0XHRcdDxmaWVsZGhlbHA6RmllbGRIZWxwQ3VzdG9tRGF0YVxuXHRcdFx0XHRcdFx0XHRcdCR7dGhpcy5hdHRyKFwidmFsdWVcIiwgZm9ybWF0dGVkUmVzdWx0KX1cblx0XHRcdFx0XHRcdFx0Lz5cblx0XHRcdFx0XHRcdDwvbWRjOmN1c3RvbURhdGE+XG5cdFx0XHRcdFx0YFxuXHRcdFx0XHRcdFx0XHQ6IFwiXCJcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0JHt0aGlzLnZmRW5hYmxlZCA/IHRoaXMuZ2V0VmlzdWFsRmlsdGVyQ29udGVudCgpIDogXCJcIn1cblx0XHRcdFx0PC9tZGM6RmlsdGVyRmllbGQ+XG5cdFx0XHRgO1xuXHRcdH1cblxuXHRcdHJldHVybiB4bWxSZXQ7XG5cdH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RUFxQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7RUFaQSxJQWlCcUJBLGdCQUFnQixJQUFBQyxJQUFBLEdBSnBDQyxtQkFBbUIsQ0FBQztJQUNwQkMsSUFBSSxFQUFFLGFBQWE7SUFDbkJDLFNBQVMsRUFBRTtFQUNaLENBQUMsQ0FBQyxFQUFBQyxLQUFBLEdBS0FDLGNBQWMsQ0FBQztJQUNmQyxJQUFJLEVBQUUsc0JBQXNCO0lBQzVCQyxRQUFRLEVBQUUsSUFBSTtJQUNkQyxRQUFRLEVBQUU7RUFDWCxDQUFDLENBQUMsRUFBQUMsS0FBQSxHQU1ESixjQUFjLENBQUM7SUFDZkMs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
410
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJGaWx0ZXJGaWVsZEJsb2NrIiwiX2RlYyIsImRlZmluZUJ1aWxkaW5nQmxvY2siLCJuYW1lIiwibmFtZXNwYWNlIiwiX2RlYzIiLCJibG9ja0F0dHJpYnV0ZSIsInR5cGUiLCJyZXF1aXJlZCIsImlzUHVibGljIiwiX2RlYzMiLCJfZGVjNCIsIl9kZWM1IiwiX2RlYzYiLCJfZGVjNyIsIl9kZWM4IiwiX2RlYzkiLCJfY2xhc3MiLCJfY2xhc3MyIiwiX0J1aWxkaW5nQmxvY2tUZW1wbGF0IiwicHJvcHMiLCJjb25maWd1cmF0aW9uIiwic2V0dGluZ3MiLCJfdGhpcyIsImNhbGwiLCJfaW5pdGlhbGl6ZXJEZWZpbmVQcm9wZXJ0eSIsIl9kZXNjcmlwdG9yIiwiX2Rlc2NyaXB0b3IyIiwiX2Rlc2NyaXB0b3IzIiwiX2Rlc2NyaXB0b3I0IiwiX2Rlc2NyaXB0b3I1IiwiX2Rlc2NyaXB0b3I2IiwiX2Rlc2NyaXB0b3I3IiwiX2Rlc2NyaXB0b3I4IiwicHJvcGVydHlDb252ZXJ0ZWQiLCJNZXRhTW9kZWxDb252ZXJ0ZXIiLCJjb252ZXJ0TWV0YU1vZGVsQ29udGV4dCIsInByb3BlcnR5IiwiZXh0ZXJuYWxJZFByb3BlcnR5UGF0aCIsImdldEFzc29jaWF0ZWRFeHRlcm5hbElkUHJvcGVydHlQYXRoIiwicHJvcGVydHlFeHRlcm5hbElkIiwiZ2V0TW9kZWwiLCJjcmVhdGVCaW5kaW5nQ29udGV4dCIsImdldFBhdGgiLCJyZXBsYWNlIiwicHJvcGVydHlDb252ZXJ0ZWRFeHRlcm5hbElkIiwidW5kZWZpbmVkIiwiZGF0YU1vZGVsUGF0aCIsImdldEludm9sdmVkRGF0YU1vZGVsT2JqZWN0cyIsImNvbnRleHRQYXRoIiwicHJvcGVydHlOYW1lIiwib3JpZ2luYWxQcm9wZXJ0eU5hbWUiLCJmaXhlZFZhbHVlcyIsImFubm90YXRpb25zIiwiQ29tbW9uIiwiVmFsdWVMaXN0V2l0aEZpeGVkVmFsdWVzIiwiY29udHJvbElkIiwiaWRQcmVmaXgiLCJnZW5lcmF0ZSIsInNvdXJjZVBhdGgiLCJnZXRUYXJnZXRPYmplY3RQYXRoIiwiZG9jdW1lbnRSZWZUZXh0IiwidGFyZ2V0T2JqZWN0IiwiRG9jdW1lbnRhdGlvblJlZiIsInRvU3RyaW5nIiwiZGF0YVR5cGUiLCJnZXREYXRhVHlwZSIsImxhYmVsVGVybSIsIkxhYmVsIiwibGFiZWxFeHByZXNzaW9uIiwiY29uc3RhbnQiLCJsYWJlbCIsImNvbXBpbGVFeHByZXNzaW9uIiwiY29uZGl0aW9uc0JpbmRpbmciLCJnZXRDb25kaXRpb25zQmluZGluZyIsInBsYWNlaG9sZGVyIiwiZ2V0UGxhY2Vob2xkZXIiLCJwcm9wZXJ0eUtleSIsImdldENvbnRleHRSZWxhdGl2ZVRhcmdldE9iamVjdFBhdGgiLCJ2ZkVuYWJsZWQiLCJ2aXN1YWxGaWx0ZXIiLCJpbmNsdWRlcyIsInZmSWQiLCJ2ZlJ1bnRpbWVJZCIsInByb3BlcnR5Q29udGV4dCIsIm1vZGVsIiwidmhQcm9wZXJ0eVBhdGgiLCJGaWVsZEhlbHBlciIsInZhbHVlSGVscFByb3BlcnR5Rm9yRmlsdGVyRmllbGQiLCJmaWx0ZXJhYmxlIiwiQ29tbW9uSGVscGVyIiwiaXNQcm9wZXJ0eUZpbHRlcmFibGUiLCJwcm9wZXJ0eU9iamVjdCIsImdldE9iamVjdCIsInByb3BlcnR5SW50ZXJmYWNlIiwiY29udGV4dCIsImRpc3BsYXkiLCJnZXRGaWx0ZXJGaWVsZERpc3BsYXlGb3JtYXQiLCJpc0ZpbHRlcmFibGUiLCJtYXhDb25kaXRpb25zIiwiZ2V0TWF4Q29uZGl0aW9ucyIsImRhdGFUeXBlQ29uc3RyYWludHMiLCJjb25zdHJhaW50cyIsImRhdGFUeXBlRm9ybWF0T3B0aW9ucyIsImZvcm1hdE9wdGlvbnMiLCJpc1JlcXVpcmVkSW5GaWx0ZXIiLCJvcGVyYXRvcnMiLCJ1c2VTZW1hbnRpY0RhdGVSYW5nZSIsIkV4dGVuZGVkU2VtYW50aWNEYXRlT3BlcmF0b3JzIiwiYWRkRXh0ZW5kZWRGaWx0ZXJPcGVyYXRvcnMiLCJzcGxpdCIsInZoUHJvcGVydHkiLCJ2aFByb3BlcnR5T2JqZWN0IiwidmhQcm9wZXJ0eUludGVyZmFjZSIsInJlbGF0aXZlVmhQcm9wZXJ0eVBhdGgiLCJnZXRSZWxhdGl2ZVByb3BlcnR5UGF0aCIsInJlbGF0aXZlUHJvcGVydHlQYXRoIiwidmFsdWVIZWxwUHJvcGVydHkiLCJnZXRWYWx1ZUhlbHBQcm9wZXJ0eUZvckZpbHRlckZpZWxkIiwiJFR5cGUiLCJ2aElkUHJlZml4IiwidGFyZ2V0RW50aXR5VHlwZSIsIl9leHBvcnRzIiwiX2luaGVyaXRzTG9vc2UiLCJfcHJvdG8iLCJwcm90b3R5cGUiLCJnZXRWaXN1YWxGaWx0ZXJDb250ZW50IiwidmlzdWFsRmlsdGVyT2JqZWN0IiwidmZYTUwiLCJpc0EiLCJTQVBfVUlfTU9ERUxfQ09OVEVYVCIsInByZXNlbnRhdGlvbkFubm90YXRpb24iLCJvdXRQYXJhbWV0ZXIiLCJpblBhcmFtZXRlcnMiLCJ2YWx1ZWxpc3RQcm9wZXJ0eSIsInNlbGVjdGlvblZhcmlhbnRBbm5vdGF0aW9uIiwibXVsdGlwbGVTZWxlY3Rpb25BbGxvd2VkIiwicmVxdWlyZWRQcm9wZXJ0aWVzIiwic2hvd092ZXJsYXlJbml0aWFsbHkiLCJyZW5kZXJMaW5lQ2hhcnQiLCJpc1ZhbHVlTGlzdFdpdGhGaXhlZFZhbHVlcyIsImluaXRpYWxDaGFydEJpbmRpbmdFbmFibGVkIiwieG1sIiwic3RyaW5naWZ5Q3VzdG9tRGF0YSIsImdldFRlbXBsYXRlIiwieG1sUmV0IiwiY29tcGFuaW9uVGV4dEF2YWlsYWJsZSIsImZvcm1hdHRlZFJlc3VsdCIsImZvcm1hdFJlc3VsdCIsImRhdGFNb2RlbFBhdGhFeHRlcm5hbElkIiwiZ2V0RGlzcGxheU1vZGUiLCJlcnIiLCJMb2ciLCJlcnJvciIsImF0dHIiLCJlZGl0TW9kZSIsIkJ1aWxkaW5nQmxvY2tUZW1wbGF0aW5nQmFzZSIsIl9hcHBseURlY29yYXRlZERlc2NyaXB0b3IiLCJjb25maWd1cmFibGUiLCJlbnVtZXJhYmxlIiwid3JpdGFibGUiLCJpbml0aWFsaXplciJdLCJzb3VyY2VSb290IjoiLiIsInNvdXJjZXMiOlsiRmlsdGVyRmllbGQuYmxvY2sudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBQcm9wZXJ0eSB9IGZyb20gXCJAc2FwLXV4L3ZvY2FidWxhcmllcy10eXBlc1wiO1xuaW1wb3J0IHR5cGUgeyBQcm9wZXJ0eUFubm90YXRpb25zX0NvbW1vbiB9IGZyb20gXCJAc2FwLXV4L3ZvY2FidWxhcmllcy10eXBlcy92b2NhYnVsYXJpZXMvQ29tbW9uX0VkbVwiO1xuaW1wb3J0IExvZyBmcm9tIFwic2FwL2Jhc2UvTG9nXCI7XG5pbXBvcnQgdHlwZSB7IENvbXBpbGVkQmluZGluZ1Rvb2xraXRFeHByZXNzaW9uIH0gZnJvbSBcInNhcC9mZS9iYXNlL0JpbmRpbmdUb29sa2l0XCI7XG5pbXBvcnQgeyBjb21waWxlRXhwcmVzc2lvbiwgY29uc3RhbnQsIGZvcm1hdFJlc3VsdCB9IGZyb20gXCJzYXAvZmUvYmFzZS9CaW5kaW5nVG9vbGtpdFwiO1xuaW1wb3J0IHR5cGUgeyBQcm9wZXJ0aWVzT2YgfSBmcm9tIFwic2FwL2ZlL2Jhc2UvQ2xhc3NTdXBwb3J0XCI7XG5pbXBvcnQgeyBibG9ja0F0dHJpYnV0ZSwgZGVmaW5lQnVpbGRpbmdCbG9jayB9IGZyb20gXCJzYXAvZmUvY29yZS9idWlsZGluZ0Jsb2Nrcy90ZW1wbGF0aW5nL0J1aWxkaW5nQmxvY2tTdXBwb3J0XCI7XG5pbXBvcnQgdHlwZSB7IFRlbXBsYXRlUHJvY2Vzc29yU2V0dGluZ3MgfSBmcm9tIFwic2FwL2ZlL2NvcmUvYnVpbGRpbmdCbG9ja3MvdGVtcGxhdGluZy9CdWlsZGluZ0Jsb2NrVGVtcGxhdGVQcm9jZXNzb3JcIjtcbmltcG9ydCB7IFNBUF9VSV9NT0RFTF9DT05URVhULCB4bWwgfSBmcm9tIFwic2FwL2ZlL2NvcmUvYnVpbGRpbmdCbG9ja3MvdGVtcGxhdGluZy9CdWlsZGluZ0Jsb2NrVGVtcGxhdGVQcm9jZXNzb3JcIjtcbmltcG9ydCBCdWlsZGluZ0Jsb2NrVGVtcGxhdGluZ0Jhc2UgZnJvbSBcInNhcC9mZS9jb3JlL2J1aWxkaW5nQmxvY2tzL3RlbXBsYXRpbmcvQnVpbGRpbmdCbG9ja1RlbXBsYXRpbmdCYXNlXCI7XG5pbXBvcnQgKiBhcyBNZXRhTW9kZWxDb252ZXJ0ZXIgZnJvbSBcInNhcC9mZS9jb3JlL2NvbnZlcnRlcnMvTWV0YU1vZGVsQ29udmVydGVyXCI7XG5pbXBvcnQgeyBnZXRNYXhDb25kaXRpb25zIH0gZnJvbSBcInNhcC9mZS9jb3JlL2NvbnZlcnRlcnMvY29udHJvbHMvTGlzdFJlcG9ydC9GaWx0ZXJGaWVsZFwiO1xuaW1wb3J0IHR5cGUgeyBWaXN1YWxGaWx0ZXJzIH0gZnJvbSBcInNhcC9mZS9jb3JlL2NvbnZlcnRlcnMvY29udHJvbHMvTGlzdFJlcG9ydC9WaXN1YWxGaWx0ZXJzXCI7XG5pbXBvcnQgeyBnZW5lcmF0ZSB9IGZyb20gXCJzYXAvZmUvY29yZS9oZWxwZXJzL1N0YWJsZUlkSGVscGVyXCI7XG5pbXBvcnQge1xuXHRnZXRDb250ZXh0UmVsYXRpdmVUYXJnZXRPYmplY3RQYXRoLFxuXHRnZXRUYXJnZXRPYmplY3RQYXRoLFxuXHR0eXBlIERhdGFNb2RlbE9iamVjdFBhdGhcbn0gZnJvbSBcInNhcC9mZS9jb3JlL3RlbXBsYXRpbmcvRGF0YU1vZGVsUGF0aEhlbHBlclwiO1xuaW1wb3J0IHsgZ2V0UmVsYXRpdmVQcm9wZXJ0eVBhdGggfSBmcm9tIFwic2FwL2ZlL2NvcmUvdGVtcGxhdGluZy9Qcm9wZXJ0eUZvcm1hdHRlcnNcIjtcbmltcG9ydCB7IGdldEFzc29jaWF0ZWRFeHRlcm5hbElkUHJvcGVydHlQYXRoIH0gZnJvbSBcInNhcC9mZS9jb3JlL3RlbXBsYXRpbmcvUHJvcGVydHlIZWxwZXJcIjtcbmltcG9ydCB7IGdldERpc3BsYXlNb2RlLCB0eXBlIENvbXB1dGVkQW5ub3RhdGlvbkludGVyZmFjZSwgdHlwZSBNZXRhTW9kZWxDb250ZXh0IH0gZnJvbSBcInNhcC9mZS9jb3JlL3RlbXBsYXRpbmcvVUlGb3JtYXR0ZXJzXCI7XG5pbXBvcnQgQ29tbW9uSGVscGVyIGZyb20gXCJzYXAvZmUvbWFjcm9zL0NvbW1vbkhlbHBlclwiO1xuaW1wb3J0IEZpZWxkSGVscGVyIGZyb20gXCJzYXAvZmUvbWFjcm9zL2ZpZWxkL0ZpZWxkSGVscGVyXCI7XG5pbXBvcnQge1xuXHRjb25zdHJhaW50cyxcblx0Zm9ybWF0T3B0aW9ucyxcblx0Z2V0Q29uZGl0aW9uc0JpbmRpbmcsXG5cdGdldERhdGFUeXBlLFxuXHRnZXRQbGFjZWhvbGRlcixcblx0aXNSZXF1aXJlZEluRmlsdGVyXG59IGZyb20gXCJzYXAvZmUvbWFjcm9zL2ZpbHRlci9GaWx0ZXJGaWVsZEhlbHBlclwiO1xuaW1wb3J0IHsgZ2V0RmlsdGVyRmllbGREaXNwbGF5Rm9ybWF0IH0gZnJvbSBcInNhcC9mZS9tYWNyb3MvZmlsdGVyL0ZpbHRlckZpZWxkVGVtcGxhdGluZ1wiO1xuaW1wb3J0IEV4dGVuZGVkU2VtYW50aWNEYXRlT3BlcmF0b3JzIGZyb20gXCJzYXAvZmUvbWFjcm9zL2ZpbHRlckJhci9FeHRlbmRlZFNlbWFudGljRGF0ZU9wZXJhdG9yc1wiO1xuaW1wb3J0IHR5cGUgQ29udGV4dCBmcm9tIFwic2FwL3VpL21vZGVsL0NvbnRleHRcIjtcbmltcG9ydCB0eXBlIE1ldGFNb2RlbCBmcm9tIFwic2FwL3VpL21vZGVsL01ldGFNb2RlbFwiO1xuXG4vKipcbiAqIEJ1aWxkaW5nIGJsb2NrIGZvciBjcmVhdGluZyBhIEZpbHRlciBGaWVsZCBiYXNlZCBvbiB0aGUgbWV0YWRhdGEgcHJvdmlkZWQgYnkgT0RhdGEgVjQuXG4gKiA8YnI+XG4gKiBJdCBpcyBkZXNpZ25lZCB0byB3b3JrIGJhc2VkIG9uIGEgcHJvcGVydHkgY29udGV4dChwcm9wZXJ0eSkgcG9pbnRpbmcgdG8gYW4gZW50aXR5IHR5cGUgcHJvcGVydHlcbiAqIG5lZWRlZCB0byBiZSB1c2VkIGFzIGZpbHRlcmZpZWxkIGFuZCBlbnRpdHlUeXBlIGNvbnRleHQoY29udGV4dFBhdGgpIHRvIGNvbnNpZGVyIHRoZSByZWxhdGl2aXR5IG9mXG4gKiB0aGUgcHJvcGVydHlQYXRoIG9mIHRoZSBwcm9wZXJ0eSB3cnQgZW50aXR5VHlwZS5cbiAqXG4gKiBVc2FnZSBleGFtcGxlOlxuICogPHByZT5cbiAqICZsdDttYWNyb3M6RmlsdGVyRmllbGQgaWQ9XCJNeUZpbHRlckZpZWxkXCIgcHJvcGVydHk9XCJDb21wYW55TmFtZVwiIC8mZ3Q7XG4gKiA8L3ByZT5cbiAqIEBwcml2YXRlXG4gKi9cbkBkZWZpbmVCdWlsZGluZ0Jsb2NrKHtcblx0bmFtZTogXCJGaWx0ZXJGaWVsZFwiLFxuXHRuYW1lc3BhY2U6IFwic2FwLmZlLm1hY3Jvcy5pbnRlcm5hbFwiXG59KVxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgRmlsdGVyRmllbGRCbG9jayBleHRlbmRzIEJ1aWxkaW5nQmxvY2tUZW1wbGF0aW5nQmFzZSB7XG5cdC8qKlxuXHQgKiBEZWZpbmVzIHRoZSBtZXRhZGF0YSBwYXRoIHRvIHRoZSBwcm9wZXJ0eS5cblx0ICovXG5cdEBibG9ja0F0dHJpYnV0ZSh7XG5cdFx0dHlwZTogXCJzYXAudWkubW9kZWwuQ29udGV4dFwiLFxuXHRcdHJlcXVpcmVkOiB0cnVlLFxuXHRcdGlzUHVibGljOiB0cnVlXG5cdH0pXG5cdHByb3BlcnR5ITogQ29udGV4dDtcblxuXHQvKipcblx0ICogTWV0YWRhdGEgcGF0aCB0byB0aGUgZW50aXR5U2V0IG9yIG5hdmlnYXRpb25Qcm9wZXJ0eVxuXHQgKi9cblx0QGJsb2NrQXR0cmlidXRlKHtcblx0XHR0eXBlOiBcInNhcC51aS5tb2RlbC5Db250ZXh0XCIsXG5cdFx0cmVxdWlyZWQ6IHRydWUsXG5cdFx0aXNQdWJsaWM6IHRydWVcblx0fSlcblx0Y29udGV4dFBhdGghOiBDb250ZXh0O1xuXG5cdC8qKlxuXHQgKiBWaXN1YWwgZmlsdGVyIHNldHRpbmdzIGZvciBmaWx0ZXIgZmllbGQuXG5cdCAqL1xuXHRAYmxvY2tBdHRyaWJ1dGUoe1xuXHRcdHR5cGU6IFwic2FwLnVpLm1vZGVsLkNvbnRleHRcIixcblx0XHRpc1B1YmxpYzogdHJ1ZVxuXHR9KVxuXHR2aXN1YWxGaWx0ZXI/OiBDb250ZXh0IHwgVmlzdWFsRmlsdGVycztcblxuXHQvKipcblx0ICogQSBwcmVmaXggdGhhdCBpcyBhZGRlZCB0byB0aGUgZ2VuZXJhdGVkIElEIG9mIHRoZSBmaWx0ZXIgZmllbGQuXG5cdCAqL1xuXHRAYmxvY2tBdHRyaWJ1dGUoe1xuXHRcdHR5cGU6IFwic3RyaW5nXCIsXG5cdFx0aXNQdWJsaWM6IHRydWVcblx0fSlcblx0aWRQcmVmaXggPSBcIkZpbHRlckZpZWxkXCI7XG5cblx0LyoqXG5cdCAqIEEgcHJlZml4IHRoYXQgaXMgYWRkZWQgdG8gdGhlIGdlbmVyYXRlZCBJRCBvZiB0aGUgdmFsdWUgaGVscCB1c2VkIGZvciB0aGUgZmlsdGVyIGZpZWxkLlxuXHQgKi9cblx0QGJsb2NrQXR0cmlidXRlKHtcblx0XHR0eXBlOiBcInN0cmluZ1wiLFxuXHRcdGlzUHVibGljOiB0cnVlXG5cdH0pXG5cdHZoSWRQcmVmaXggPSBcIkZpbHRlckZpZWxkVmFsdWVIZWxwXCI7XG5cblx0LyoqXG5cdCAqIFNwZWNpZmllcyB0aGUgU2VtYXRpYyBEYXRlIFJhbmdlIG9wdGlvbiBmb3IgdGhlIGZpbHRlciBmaWVsZC5cblx0ICovXG5cdEBibG9ja0F0dHJpYnV0ZSh7XG5cdFx0dHlwZTogXCJib29sZWFuXCIsXG5cdFx0aXNQdWJsaWM6IHRydWVcblx0fSlcblx0dXNlU2VtYW50aWNEYXRlUmFuZ2UgPSB0cnVlO1xuXG5cdC8qKlxuXHQgKiBTZXR0aW5ncyBmcm9tIHRoZSBtYW5pZmVzdC5cblx0ICovXG5cdEBibG9ja0F0dHJpYnV0ZSh7XG5cdFx0dHlwZTogXCJzdHJpbmdcIixcblx0XHRpc1B1YmxpYzogdHJ1ZVxuXHR9KVxuXHRzZXR0aW5ncyA9IFwiXCI7XG5cblx0LyoqXG5cdCAqIFNwZWZpY2llcyB0aGUgZW5hYmxlbWVudCBvZiB0aGUgZmlsdGVyIGZpZWxkLlxuXHQgKi9cblx0QGJsb2NrQXR0cmlidXRlKHtcblx0XHR0eXBlOiBcInN0cmluZ1wiLFxuXHRcdGlzUHVibGljOiBmYWxzZVxuXHR9KVxuXHRlZGl0TW9kZT86IHN0cmluZztcblxuXHQvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcblx0ICogICAgICAgICAgICBJTlRFUk5BTCBBVFRSSUJVVEVTICAgICAgICAgICAgICAqXG5cdCAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG5cdC8qKlxuXHQgKiBDb250cm9sIElkIGZvciBNREMgZmlsdGVyIGZpZWxkIHVzZWQgaW5zaWRlLlxuXHQgKi9cblx0Y29udHJvbElkITogc3RyaW5nO1xuXG5cdC8qKlxuXHQgKiBQcm9wZXJ0eSBrZXkgZm9yIGZpbHRlciBmaWVsZC5cblx0ICovXG5cdHByb3BlcnR5S2V5ITogc3RyaW5nO1xuXG5cdC8qKlxuXHQgKiBTb3VyY2UgYW5ub3RhdGlvbiBwYXRoIG9mIHRoZSBwcm9wZXJ0eS5cblx0ICovXG5cdHNvdXJjZVBhdGghOiBzdHJpbmc7XG5cblx0LyoqXG5cdCAqIFNvdXJjZSBhbm5vdGF0aW9uIHBhdGggb2YgdGhlIHByb3BlcnR5LlxuXHQgKi9cblx0ZG9jdW1lbnRSZWZUZXh0Pzogc3RyaW5nO1xuXG5cdC8qKlxuXHQgKiBMYWJlbCBmb3IgZmlsdGVyZmllbGQuXG5cdCAqL1xuXHRsYWJlbCE6IHN0cmluZztcblxuXHQvKipcblx0ICogRGF0YSBUeXBlIG9mIHRoZSBmaWx0ZXIgZmllbGQuXG5cdCAqL1xuXHRkYXRhVHlwZSE6IHN0cmluZztcblxuXHQvKipcblx0ICogTWF4aW11bSBjb25kaXRpb25zIHRoYXQgY2FuIGJlIGFkZGVkIHRvIHRoZSBmaWx0ZXIgZmllbGQuXG5cdCAqL1xuXHRtYXhDb25kaXRpb25zITogbnVtYmVyO1xuXG5cdC8qKlxuXHQgKiBWYWx1ZSBIZWxwIGlkIGFzIGFzc29jaWF0aW9uIGZvciB0aGUgZmlsdGVyIGZpZWxkLlxuXHQgKi9cblx0dmFsdWVIZWxwUHJvcGVydHk/OiBzdHJpbmc7XG5cblx0LyoqXG5cdCAqIEJpbmRpbmcgcGF0aCBmb3IgY29uZGl0aW9ucyBhZGRlZCB0byBmaWx0ZXIgZmllbGQuXG5cdCAqL1xuXHRjb25kaXRpb25zQmluZGluZyE6IHN0cmluZztcblxuXHQvKipcblx0ICogRGF0YXR5cGUgY29uc3RyYWludHMgb2YgdGhlIGZpbHRlciBmaWVsZC5cblx0ICovXG5cdGRhdGFUeXBlQ29uc3RyYWludHM/OiBzdHJpbmc7XG5cblx0LyoqXG5cdCAqIERhdGF0eXBlIGZvcm1hdCBvcHRpb25zIG9mIHRoZSBmaWx0ZXIgZmllbGQuXG5cdCAqL1xuXHRkYXRhVHlwZUZvcm1hdE9wdGlvbnM/OiBzdHJpbmc7XG5cblx0LyoqXG5cdCAqIFRvIHNwZWNpZnkgZmlsdGVyIGZpZWxkIGlzIG1hbmRhdG9yeSBmb3IgZmlsdGVyaW5nLlxuXHQgKi9cblx0cmVxdWlyZWQhOiBib29sZWFuO1xuXG5cdC8qKlxuXHQgKiBWYWxpZCBvcGVyYXRvcnMgZm9yIHRoZSBmaWx0ZXIgZmllbGQuXG5cdCAqL1xuXHRvcGVyYXRvcnM/OiBzdHJpbmc7XG5cblx0LyoqXG5cdCAqIFZpc3VhbCBGaWx0ZXIgaWQgdG8gYmUgdXNlZC5cblx0ICovXG5cdHZmSWQ/OiBzdHJpbmc7XG5cblx0LyoqXG5cdCAqIFZpc3VhbCBGaWx0ZXIgYnVpbGRpbmcgYmxvY2sgaWQgdG8gYmUgdXNlZC5cblx0ICovXG5cdHZmUnVudGltZUlkPzogc3RyaW5nO1xuXG5cdC8qKlxuXHQgKiBWaXN1YWwgRmlsdGVyIGlzIGV4cGVjdGVkLlxuXHQgKi9cblx0dmZFbmFibGVkITogYm9vbGVhbjtcblxuXHQvKipcblx0ICogUHJvcGVydHkgdXNlZCBpcyBmaWx0ZXJhYmxlXG5cdCAqL1xuXHRpc0ZpbHRlcmFibGUhOiBib29sZWFuO1xuXG5cdC8qKlxuXHQgKiBQcm9wZXJ0eSBmb3IgcGxhY2Vob2xkZXJcblx0ICovXG5cdHBsYWNlaG9sZGVyPzogc3RyaW5nO1xuXG5cdC8qKlxuXHQgKiBQcm9wZXJ0eSB0byBob2xkIHByb21pc2UgZm9yIGRpc3BsYXlcblx0ICovXG5cdGRpc3BsYXk/OiBQcm9taXNlPHN0cmluZyB8IHVuZGVmaW5lZD47XG5cblx0cHJvcGVydHlFeHRlcm5hbElkPzogQ29udGV4dDtcblxuXHRjb25zdHJ1Y3Rvcihwcm9wczogUHJvcGVydGllc09mPEZpbHRlckZpZWxkQmxvY2s+LCBjb25maWd1cmF0aW9uOiB1bmtub3duLCBzZXR0aW5nczogVGVtcGxhdGVQcm9jZXNzb3JTZXR0aW5ncykge1xuXHRcdHN1cGVyKHByb3BzLCBjb25maWd1cmF0aW9uLCBzZXR0aW5ncyk7XG5cblx0XHRjb25zdCBwcm9wZXJ0eUNvbnZlcnRlZCA9IE1ldGFNb2RlbENvbnZlcnRlci5jb252ZXJ0TWV0YU1vZGVsQ29udGV4dCh0aGlzLnByb3BlcnR5KSBhcyBQcm9wZXJ0eTtcblxuXHRcdGNvbnN0IGV4dGVybmFsSWRQcm9wZXJ0eVBhdGggPSBnZXRBc3NvY2lhdGVkRXh0ZXJuYWxJZFByb3BlcnR5UGF0aChwcm9wZXJ0eUNvbnZlcnRlZCkgYXMgc3RyaW5nO1xuXHRcdGlmIChleHRlcm5hbElkUHJvcGVydHlQYXRoKSB7XG5cdFx0XHR0aGlzLnByb3BlcnR5RXh0ZXJuYWxJZCA9IHRoaXMucHJvcGVydHlcblx0XHRcdFx0LmdldE1vZGVsKClcblx0XHRcdFx0LmNyZWF0ZUJpbmRpbmdDb250ZXh0KHRoaXMucHJvcGVydHkuZ2V0UGF0aCgpLnJlcGxhY2UocHJvcGVydHlDb252ZXJ0ZWQubmFtZSwgZXh0ZXJuYWxJZFByb3BlcnR5UGF0aCksIHRoaXMucHJvcGVydHkpO1xuXHRcdH1cblxuXHRcdGNvbnN0IHByb3BlcnR5Q29udmVydGVkRXh0ZXJuYWxJZCA9IHRoaXMucHJvcGVydHlFeHRlcm5hbElkXG5cdFx0XHQ/IChNZXRhTW9kZWxDb252ZXJ0ZXIuY29udmVydE1ldGFNb2RlbENvbnRleHQodGhpcy5wcm9wZXJ0eUV4dGVybmFsSWQpIGFzIFByb3BlcnR5KVxuXHRcdFx0OiB1bmRlZmluZWQ7XG5cblx0XHRjb25zdCBkYXRhTW9kZWxQYXRoID0gTWV0YU1vZGVsQ29udmVydGVyLmdldEludm9sdmVkRGF0YU1vZGVsT2JqZWN0czxQcm9wZXJ0eT4odGhpcy5wcm9wZXJ0eSwgdGhpcy5jb250ZXh0UGF0aCk7XG5cblx0XHQvLyBQcm9wZXJ0eSBzZXR0aW5nc1xuXHRcdGNvbnN0IHByb3BlcnR5TmFtZSA9IHByb3BlcnR5Q29udmVydGVkLm5hbWUsXG5cdFx0XHRvcmlnaW5hbFByb3BlcnR5TmFtZSA9IHByb3BlcnR5Q29udmVydGVkLm5hbWUsXG5cdFx0XHRmaXhlZFZhbHVlcyA9XG5cdFx0XHRcdCEhcHJvcGVydHlDb252ZXJ0ZWRFeHRlcm5hbElkPy5hbm5vdGF0aW9ucz8uQ29tbW9uPy5WYWx1ZUxpc3RXaXRoRml4ZWRWYWx1ZXMgfHxcblx0XHRcdFx0ISFwcm9wZXJ0eUNvbnZlcnRlZC5hbm5vdGF0aW9ucz8uQ29tbW9uPy5WYWx1ZUxpc3RXaXRoRml4ZWRWYWx1ZXM7XG5cblx0XHR0aGlzLmNvbnRyb2xJZCA9IHRoaXMuaWRQcmVmaXggJiYgZ2VuZXJhdGUoW3RoaXMuaWRQcmVmaXgsIG9yaWdpbmFsUHJvcGVydHlOYW1lXSk7XG5cdFx0dGhpcy5zb3VyY2VQYXRoID0gZ2V0VGFyZ2V0T2JqZWN0UGF0aChkYXRhTW9kZWxQYXRoKTtcblxuXHRcdHR5cGUgUHJvcGVydHlBbm5vdGF0aW9uc19Db21tb25fZXh0ZW5kZWQgPSBQcm9wZXJ0eUFubm90YXRpb25zX0NvbW1vbiAmIHsgRG9jdW1lbnRhdGlvblJlZj86IHN0cmluZyB9O1xuXHRcdHRoaXMuZG9jdW1lbnRSZWZUZXh0ID0gKFxuXHRcdFx0ZGF0YU1vZGVsUGF0aC50YXJnZXRPYmplY3Q/LmFubm90YXRpb25zLkNvbW1vbiBhcyBQcm9wZXJ0eUFubm90YXRpb25zX0NvbW1vbl9leHRlbmRlZFxuXHRcdCk/LkRvY3VtZW50YXRpb25SZWY/LnRvU3RyaW5nKCk7XG5cblx0XHR0aGlzLmRhdGFUeXBlID0gZ2V0RGF0YVR5cGUocHJvcGVydHlDb252ZXJ0ZWRFeHRlcm5hbElkIHx8IHByb3BlcnR5Q29udmVydGVkKTsgLy8gZGF0YSB0eXBlIGZvciBMUi1GaWx0ZXJCYXIgY29uZGl0aW9uIG9mIHRoZSB2YWx1ZSBoZWxwXG5cdFx0Y29uc3QgbGFiZWxUZXJtID0gcHJvcGVydHlDb252ZXJ0ZWQ/LmFubm90YXRpb25zPy5Db21tb24/LkxhYmVsO1xuXHRcdGNvbnN0IGxhYmVsRXhwcmVzc2lvbiA9IGxhYmVsVGVybT8udG9TdHJpbmcoKSA/PyBjb25zdGFudChwcm9wZXJ0eU5hbWUpO1xuXHRcdHRoaXMubGFiZWwgPSBjb21waWxlRXhwcmVzc2lvbihsYWJlbEV4cHJlc3Npb24pIHx8IHByb3BlcnR5TmFtZTtcblx0XHR0aGlzLmNvbmRpdGlvbnNCaW5kaW5nID0gZ2V0Q29uZGl0aW9uc0JpbmRpbmcoZGF0YU1vZGVsUGF0aCkgfHwgXCJcIjtcblx0XHR0aGlzLnBsYWNlaG9sZGVyID0gZ2V0UGxhY2Vob2xkZXIocHJvcGVydHlDb252ZXJ0ZWQpO1xuXHRcdHRoaXMucHJvcGVydHlLZXkgPSBnZXRDb250ZXh0UmVsYXRpdmVUYXJnZXRPYmplY3RQYXRoKGRhdGFNb2RlbFBhdGgsIGZhbHNlLCB0cnVlKSB8fCBwcm9wZXJ0eU5hbWU7XG5cdFx0Ly8gVmlzdWFsIEZpbHRlciBzZXR0aW5nc1xuXHRcdHRoaXMudmZFbmFibGVkID0gISF0aGlzLnZpc3VhbEZpbHRlciAmJiAhKHRoaXMuaWRQcmVmaXggJiYgdGhpcy5pZFByZWZpeC5pbmNsdWRlcyhcIkFkYXB0YXRpb25cIikpO1xuXHRcdHRoaXMudmZJZCA9IHRoaXMudmZFbmFibGVkID8gZ2VuZXJhdGUoW3RoaXMuaWRQcmVmaXgsIHByb3BlcnR5TmFtZSwgXCJWaXN1YWxGaWx0ZXJcIl0pIDogdW5kZWZpbmVkO1xuXHRcdHRoaXMudmZSdW50aW1lSWQgPSB0aGlzLnZmRW5hYmxlZCA/IGdlbmVyYXRlKFt0aGlzLmlkUHJlZml4LCBwcm9wZXJ0eU5hbWUsIFwiVmlzdWFsRmlsdGVyQ29udGFpbmVyXCJdKSA6IHVuZGVmaW5lZDtcblxuXHRcdC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0vL1xuXHRcdC8vIFRPRE86IG5lZWQgdG8gY2hhbmdlIG9wZXJhdGlvbnMgZnJvbSBNZXRhTW9kZWwgdG8gQ29udmVydGVycy5cblx0XHQvLyBUaGlzIG1haW5seSBpbmNsdWRlZCBjaGFuZ2luZyBjaGFuZ2luZyBnZXRGaWx0ZXJSZXN0cmljdGlvbnMgb3BlcmF0aW9ucyBmcm9tIG1ldGFNb2RlbCB0byBjb252ZXJ0ZXJzXG5cdFx0Y29uc3QgcHJvcGVydHlDb250ZXh0ID0gdGhpcy5wcm9wZXJ0eSxcblx0XHRcdG1vZGVsOiBNZXRhTW9kZWwgPSBwcm9wZXJ0eUNvbnRleHQuZ2V0TW9kZWwoKSxcblx0XHRcdHZoUHJvcGVydHlQYXRoOiBzdHJpbmcgPSBGaWVsZEhlbHBlci52YWx1ZUhlbHBQcm9wZXJ0eUZvckZpbHRlckZpZWxkKHByb3BlcnR5Q29udGV4dCksXG5cdFx0XHRmaWx0ZXJhYmxlID0gQ29tbW9uSGVscGVyLmlzUHJvcGVydHlGaWx0ZXJhYmxlKHByb3BlcnR5Q29udGV4dCksXG5cdFx0XHRwcm9wZXJ0eU9iamVjdCA9IHByb3BlcnR5Q29udGV4dC5nZXRPYmplY3QoKSxcblx0XHRcdHByb3BlcnR5SW50ZXJmYWNlID0geyBjb250ZXh0OiBwcm9wZXJ0eUNvbnRleHQgfSBhcyBDb21wdXRlZEFubm90YXRpb25JbnRlcmZhY2U7XG5cblx0XHR0aGlzLmRpc3BsYXkgPSBnZXRGaWx0ZXJGaWVsZERpc3BsYXlGb3JtYXQoZGF0YU1vZGVsUGF0aCwgcHJvcGVydHlDb252ZXJ0ZWQsIHByb3BlcnR5SW50ZXJmYWNlKTtcblx0XHR0aGlzLmlzRmlsdGVyYWJsZSA9ICEoZmlsdGVyYWJsZSA9PT0gZmFsc2UgfHwgZmlsdGVyYWJsZSA9PT0gXCJmYWxzZVwiKTtcblx0XHR0aGlzLm1heENvbmRpdGlvbnMgPSBnZXRNYXhDb25kaXRpb25zKGRhdGFNb2RlbFBhdGgpO1xuXHRcdHRoaXMuZGF0YVR5cGVDb25zdHJhaW50cyA9IGNvbnN0cmFpbnRzKHByb3BlcnR5T2JqZWN0LCBwcm9wZXJ0eUludGVyZmFjZSk7XG5cdFx0dGhpcy5kYXRhVHlwZUZvcm1hdE9wdGlvbnMgPSBmb3JtYXRPcHRpb25zKHByb3BlcnR5T2JqZWN0LCBwcm9wZXJ0eUludGVyZmFjZSk7XG5cdFx0dGhpcy5yZXF1aXJlZCA9IGlzUmVxdWlyZWRJbkZpbHRlcihwcm9wZXJ0eU9iamVjdCwgcHJvcGVydHlJbnRlcmZhY2UpO1xuXHRcdHRoaXMub3BlcmF0b3JzID0gRmllbGRIZWxwZXIub3BlcmF0b3JzKFxuXHRcdFx0cHJvcGVydHlDb250ZXh0LFxuXHRcdFx0cHJvcGVydHlPYmplY3QsXG5cdFx0XHR0aGlzLnVzZVNlbWFudGljRGF0ZVJhbmdlLFxuXHRcdFx0dGhpcy5zZXR0aW5ncyB8fCBcIlwiLFxuXHRcdFx0dGhpcy5jb250ZXh0UGF0aC5nZXRQYXRoKClcblx0XHQpO1xuXHRcdGlmICh0aGlzLm9wZXJhdG9ycykge1xuXHRcdFx0Ly8gRXh0ZW5kZWQgb3BlcmF0b3JzIGFyZSBub3QgYWRkZWQgYnkgZGVmYXVsdC5cblx0XHRcdC8vIFdlIGFkZCB0aGVtIHRvIE1EQyBmaWx0ZXIgZW52aXJvbm1lbnQuXG5cdFx0XHRFeHRlbmRlZFNlbWFudGljRGF0ZU9wZXJhdG9ycy5hZGRFeHRlbmRlZEZpbHRlck9wZXJhdG9ycyh0aGlzLm9wZXJhdG9ycy5zcGxpdChcIixcIikpO1xuXHRcdH1cblx0XHQvLyBWYWx1ZSBIZWxwIHNldHRpbmdzXG5cdFx0Ly8gVE9ETzogVGhpcyBuZWVkcyB0byBiZSB1cGRhdGVkIHdoZW4gVkggbWFjcm8gaXMgY29udmVydGVkIHRvIDIuMFxuXHRcdGNvbnN0IHZoUHJvcGVydHkgPSBtb2RlbC5jcmVhdGVCaW5kaW5nQ29udGV4dCh2aFByb3BlcnR5UGF0aCkgYXMgQ29udGV4dDtcblx0XHRjb25zdCB2aFByb3BlcnR5T2JqZWN0ID0gdmhQcm9wZXJ0eS5nZXRPYmplY3QoKSBhcyBNZXRhTW9kZWxDb250ZXh0LFxuXHRcdFx0dmhQcm9wZXJ0eUludGVyZmFjZSA9IHsgY29udGV4dDogdmhQcm9wZXJ0eSB9LFxuXHRcdFx0cmVsYXRpdmVWaFByb3BlcnR5UGF0aCA9IGdldFJlbGF0aXZlUHJvcGVydHlQYXRoKHZoUHJvcGVydHlPYmplY3QsIHZoUHJvcGVydHlJbnRlcmZhY2UpLFxuXHRcdFx0cmVsYXRpdmVQcm9wZXJ0eVBhdGggPSBnZXRSZWxhdGl2ZVByb3BlcnR5UGF0aChwcm9wZXJ0eU9iamVjdCwgcHJvcGVydHlJbnRlcmZhY2UpO1xuXHRcdHRoaXMudmFsdWVIZWxwUHJvcGVydHkgPSBGaWVsZEhlbHBlci5nZXRWYWx1ZUhlbHBQcm9wZXJ0eUZvckZpbHRlckZpZWxkKFxuXHRcdFx0cHJvcGVydHlDb250ZXh0LFxuXHRcdFx0cHJvcGVydHlPYmplY3QsXG5cdFx0XHRwcm9wZXJ0eU9iamVjdC4kVHlwZSxcblx0XHRcdHRoaXMudmhJZFByZWZpeCxcblx0XHRcdGRhdGFNb2RlbFBhdGgudGFyZ2V0RW50aXR5VHlwZS5uYW1lLFxuXHRcdFx0cmVsYXRpdmVQcm9wZXJ0eVBhdGgsXG5cdFx0XHRyZWxhdGl2ZVZoUHJvcGVydHlQYXRoLFxuXHRcdFx0Zml4ZWRWYWx1ZXMsXG5cdFx0XHR0aGlzLnVzZVNlbWFudGljRGF0ZVJhbmdlXG5cdFx0KTtcblxuXHRcdC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0vL1xuXHR9XG5cblx0Z2V0VmlzdWFsRmlsdGVyQ29udGVudCgpOiBzdHJpbmcge1xuXHRcdGxldCB2aXN1YWxGaWx0ZXJPYmplY3QgPSB0aGlzLnZpc3VhbEZpbHRlcixcblx0XHRcdHZmWE1MID0gXCJcIjtcblx0XHRpZiAoIXRoaXMudmZFbmFibGVkIHx8ICF2aXN1YWxGaWx0ZXJPYmplY3QpIHtcblx0XHRcdHJldHVybiB2ZlhNTDtcblx0XHR9XG5cdFx0aWYgKCh2aXN1YWxGaWx0ZXJPYmplY3QgYXMgQ29udGV4dCk/LmlzQT8uKFNBUF9VSV9NT0RFTF9DT05URVhUKSkge1xuXHRcdFx0dmlzdWFsRmlsdGVyT2JqZWN0ID0gKHZpc3VhbEZpbHRlck9iamVjdCBhcyBDb250ZXh0KS5nZXRPYmplY3QoKSBhcyBWaXN1YWxGaWx0ZXJzO1xuXHRcdH1cblxuXHRcdGNvbnN0IHtcblx0XHRcdGNvbnRleHRQYXRoLFxuXHRcdFx0cHJlc2VudGF0aW9uQW5ub3RhdGlvbixcblx0XHRcdG91dFBhcmFtZXRlcixcblx0XHRcdGluUGFyYW1ldGVycyxcblx0XHRcdHZhbHVlbGlzdFByb3BlcnR5LFxuXHRcdFx0c2VsZWN0aW9uVmFyaWFudEFubm90YXRpb24sXG5cdFx0XHRtdWx0aXBsZVNlbGVjdGlvbkFsbG93ZWQsXG5cdFx0XHRyZXF1aXJlZCxcblx0XHRcdHJlcXVpcmVkUHJvcGVydGllcyA9IFtdLFxuXHRcdFx0c2hvd092ZXJsYXlJbml0aWFsbHksXG5cdFx0XHRyZW5kZXJMaW5lQ2hhcnQsXG5cdFx0XHRpc1ZhbHVlTGlzdFdpdGhGaXhlZFZhbHVlcyxcblx0XHRcdGluaXRpYWxDaGFydEJpbmRpbmdFbmFibGVkXG5cdFx0fSA9IHZpc3VhbEZpbHRlck9iamVjdCBhcyBWaXN1YWxGaWx0ZXJzO1xuXHRcdHZmWE1MID0geG1sYFxuXHRcdFx0XHQ8dmlzdWFsRmlsdGVyOlZpc3VhbEZpbHRlclxuXHRcdFx0XHQgICAgeG1sbnM6dmlzdWFsRmlsdGVyPSBcInNhcC5mZS5tYWNyb3MudmlzdWFsZmlsdGVyc1wiXG5cdFx0XHRcdFx0aWQ9XCIke3RoaXMudmZSdW50aW1lSWR9XCJcblx0XHRcdFx0XHRfY29udGVudElkPVwiJHt0aGlzLnZmSWR9XCJcblx0XHRcdFx0XHRjb250ZXh0UGF0aD1cIiR7Y29udGV4dFBhdGh9XCJcblx0XHRcdFx0XHRtZXRhUGF0aD1cIiR7cHJlc2VudGF0aW9uQW5ub3RhdGlvbn1cIlxuXHRcdFx0XHRcdG91dFBhcmFtZXRlcj1cIiR7b3V0UGFyYW1ldGVyfVwiXG5cdFx0XHRcdFx0aW5QYXJhbWV0ZXJzPVwiJHtDb21tb25IZWxwZXIuc3RyaW5naWZ5Q3VzdG9tRGF0YShpblBhcmFtZXRlcnMpfVwiXG5cdFx0XHRcdFx0dmFsdWVsaXN0UHJvcGVydHk9XCIke3ZhbHVlbGlzdFByb3BlcnR5fVwiXG5cdFx0XHRcdFx0c2VsZWN0aW9uVmFyaWFudEFubm90YXRpb249XCIke3NlbGVjdGlvblZhcmlhbnRBbm5vdGF0aW9ufVwiXG5cdFx0XHRcdFx0bXVsdGlwbGVTZWxlY3Rpb25BbGxvd2VkPVwiJHttdWx0aXBsZVNlbGVjdGlvbkFsbG93ZWR9XCJcblx0XHRcdFx0XHRyZXF1aXJlZD1cIiR7cmVxdWlyZWR9XCJcblx0XHRcdFx0XHRyZXF1aXJlZFByb3BlcnRpZXM9XCIke0NvbW1vbkhlbHBlci5zdHJpbmdpZnlDdXN0b21EYXRhKHJlcXVpcmVkUHJvcGVydGllcyl9XCJcblx0XHRcdFx0XHRzaG93T3ZlcmxheUluaXRpYWxseT1cIiR7c2hvd092ZXJsYXlJbml0aWFsbHl9XCJcblx0XHRcdFx0XHRyZW5kZXJMaW5lQ2hhcnQ9XCIke3JlbmRlckxpbmVDaGFydH1cIlxuXHRcdFx0XHRcdGlzVmFsdWVMaXN0V2l0aEZpeGVkVmFsdWVzPVwiJHtpc1ZhbHVlTGlzdFdpdGhGaXhlZFZhbHVlc31cIlxuXHRcdFx0XHRcdGZpbHRlckJhckVudGl0eVR5cGU9XCIke2NvbnRleHRQYXRofVwiXG5cdFx0XHRcdFx0ZW5hYmxlQ2hhcnRCaW5kaW5nPVwiJHtpbml0aWFsQ2hhcnRCaW5kaW5nRW5hYmxlZH1cIlxuXHRcdFx0XHQvPlxuXHRcdFx0YDtcblxuXHRcdHJldHVybiB2ZlhNTDtcblx0fVxuXG5cdGFzeW5jIGdldFRlbXBsYXRlKCk6IFByb21pc2U8c3RyaW5nPiB7XG5cdFx0bGV0IHhtbFJldCA9IGBgO1xuXHRcdGlmICh0aGlzLmlzRmlsdGVyYWJsZSkge1xuXHRcdFx0bGV0IGRpc3BsYXk7XG5cdFx0XHRjb25zdCBjb21wYW5pb25UZXh0QXZhaWxhYmxlID0gdGhpcy5kb2N1bWVudFJlZlRleHQgPT09IHVuZGVmaW5lZCB8fCBudWxsID8gZmFsc2UgOiB0cnVlO1xuXHRcdFx0Y29uc3QgZm9ybWF0dGVkUmVzdWx0OiBDb21waWxlZEJpbmRpbmdUb29sa2l0RXhwcmVzc2lvbiA9IGNvbXBpbGVFeHByZXNzaW9uKFxuXHRcdFx0XHRmb3JtYXRSZXN1bHQoW3RoaXMuZG9jdW1lbnRSZWZUZXh0XSwgXCJzYXAuZmUuY29yZS5mb3JtYXR0ZXJzLlN0YW5kYXJkRm9ybWF0dGVyI2FzQXJyYXlcIilcblx0XHRcdCk7XG5cdFx0XHR0cnkge1xuXHRcdFx0XHRjb25zdCBkYXRhTW9kZWxQYXRoRXh0ZXJuYWxJZCA9XG5cdFx0XHRcdFx0dGhpcy5wcm9wZXJ0eUV4dGVybmFsSWQgJiYgTWV0YU1vZGVsQ29udmVydGVyLmdldEludm9sdmVkRGF0YU1vZGVsT2JqZWN0cyh0aGlzLnByb3BlcnR5RXh0ZXJuYWxJZCwgdGhpcy5jb250ZXh0UGF0aCk7XG5cdFx0XHRcdGRpc3BsYXkgPSBkYXRhTW9kZWxQYXRoRXh0ZXJuYWxJZFxuXHRcdFx0XHRcdD8gZ2V0RGlzcGxheU1vZGUoZGF0YU1vZGVsUGF0aEV4dGVybmFsSWQgYXMgRGF0YU1vZGVsT2JqZWN0UGF0aDxQcm9wZXJ0eT4pXG5cdFx0XHRcdFx0OiBhd2FpdCB0aGlzLmRpc3BsYXk7XG5cdFx0XHR9IGNhdGNoIChlcnI6IHVua25vd24pIHtcblx0XHRcdFx0TG9nLmVycm9yKGBGRSA6IEZpbHRlckZpZWxkIEJ1aWxkaW5nQmxvY2sgOiBFcnJvciBmZXRjaGluZyBkaXNwbGF5IHByb3BlcnR5IGZvciAke3RoaXMuc291cmNlUGF0aH0gOiAke2Vycn1gKTtcblx0XHRcdH1cblx0XHRcdHhtbFJldCA9IHhtbGBcblx0XHRcdFx0PG1kYzpGaWx0ZXJGaWVsZFxuXHRcdFx0XHRcdHhtbG5zOm1kYz1cInNhcC51aS5tZGNcIlxuXHRcdFx0XHRcdHhtbG5zOnRlbXBsYXRlPVwiaHR0cDovL3NjaGVtYXMuc2FwLmNvbS9zYXB1aTUvZXh0ZW5zaW9uL3NhcC51aS5jb3JlLnRlbXBsYXRlLzFcIlxuXHRcdFx0XHRcdHhtbG5zOm1hY3JvPVwic2FwLmZlLm1hY3Jvc1wiXG5cdFx0XHRcdFx0eG1sbnM6Y3VzdG9tRGF0YT1cImh0dHA6Ly9zY2hlbWFzLnNhcC5jb20vc2FwdWk1L2V4dGVuc2lvbi9zYXAudWkuY29yZS5DdXN0b21EYXRhLzFcIlxuXHRcdFx0XHRcdHhtbG5zOmZpZWxkaGVscD1cInNhcC51aS5jb3JlLmZpZWxkaGVscFwiXG5cdFx0XHRcdFx0Y3VzdG9tRGF0YTpzb3VyY2VQYXRoPVwiJHt0aGlzLnNvdXJjZVBhdGh9XCJcblx0XHRcdFx0XHRpZD1cIiR7dGhpcy5jb250cm9sSWR9XCJcblx0XHRcdFx0XHRkZWxlZ2F0ZT1cIntuYW1lOiAnc2FwL2ZlL21hY3Jvcy9maWVsZC9GaWVsZEJhc2VEZWxlZ2F0ZScsIHBheWxvYWQ6e2lzRmlsdGVyRmllbGQ6dHJ1ZX19XCJcblx0XHRcdFx0XHRwcm9wZXJ0eUtleT1cIiR7dGhpcy5wcm9wZXJ0eUtleX1cIlxuXHRcdFx0XHRcdGxhYmVsPVwiJHt0aGlzLmxhYmVsfVwiXG5cdFx0XHRcdFx0ZGF0YVR5cGU9XCIke3RoaXMuZGF0YVR5cGV9XCJcblx0XHRcdFx0XHRkaXNwbGF5PVwiJHtkaXNwbGF5fVwiXG5cdFx0XHRcdFx0bWF4Q29uZGl0aW9ucz1cIiR7dGhpcy5tYXhDb25kaXRpb25zfVwiXG5cdFx0XHRcdFx0dmFsdWVIZWxwPVwiJHt0aGlzLnZhbHVlSGVscFByb3BlcnR5fVwiXG5cdFx0XHRcdFx0Y29uZGl0aW9ucz1cIiR7dGhpcy5jb25kaXRpb25zQmluZGluZ31cIlxuXHRcdFx0XHRcdGRhdGFUeXBlQ29uc3RyYWludHM9XCIke3RoaXMuZGF0YVR5cGVDb25zdHJhaW50c31cIlxuXHRcdFx0XHRcdGRhdGFUeXBlRm9ybWF0T3B0aW9ucz1cIiR7dGhpcy5kYXRhVHlwZUZvcm1hdE9wdGlvbnN9XCJcblx0XHRcdFx0XHRyZXF1aXJlZD1cIiR7dGhpcy5yZXF1aXJlZH1cIlxuXHRcdFx0XHRcdG9wZXJhdG9ycz1cIiR7dGhpcy5vcGVyYXRvcnN9XCJcblx0XHRcdFx0XHRwbGFjZWhvbGRlcj1cIiR7dGhpcy5wbGFjZWhvbGRlcn1cIlxuXHRcdFx0XHRcdCR7dGhpcy5hdHRyKFwiZWRpdE1vZGVcIiwgdGhpcy5lZGl0TW9kZSl9XG5cdFx0XHRcdD5cblx0XHRcdFx0XHQke1xuXHRcdFx0XHRcdFx0Y29tcGFuaW9uVGV4dEF2YWlsYWJsZVxuXHRcdFx0XHRcdFx0XHQ/IHhtbGBcblx0XHRcdFx0XHRcdDxtZGM6Y3VzdG9tRGF0YT5cblx0XHRcdFx0XHRcdFx0PGZpZWxkaGVscDpGaWVsZEhlbHBDdXN0b21EYXRhXG5cdFx0XHRcdFx0XHRcdFx0JHt0aGlzLmF0dHIoXCJ2YWx1ZVwiLCBmb3JtYXR0ZWRSZXN1bHQpfVxuXHRcdFx0XHRcdFx0XHQvPlxuXHRcdFx0XHRcdFx0PC9tZGM6Y3VzdG9tRGF0YT5cblx0XHRcdFx0XHRgXG5cdFx0XHRcdFx0XHRcdDogXCJcIlxuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHQke3RoaXMudmZFbmFibGVkID8gdGhpcy5nZXRWaXN1YWxGaWx0ZXJDb250ZW50KCkgOiBcIlwifVxuXHRcdFx0XHQ8L21kYzpGaWx0ZXJGaWVsZD5cblx0XHRcdGA7XG5cdFx0fVxuXG5cdFx0cmV0dXJuIHhtbFJldDtcblx0fVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFQXFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtFQVpBLElBaUJxQkEsZ0JBQWdCLElBQUFDLElBQUEsR0FKcENDLG1CQUFtQixDQUFDO0lBQ3BCQyxJQUFJLEVBQUUsYUFBYTtJQUNuQkMsU0FBUyxFQUFFO0VBQ1osQ0FBQyxDQUFDLEVBQUFDLEtB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
@@ -345,7 +345,8 @@ export default class FilterFieldBlock extends BuildingBlockTemplatingBase {
345
345
  requiredProperties = [],
346
346
  showOverlayInitially,
347
347
  renderLineChart,
348
- isValueListWithFixedValues
348
+ isValueListWithFixedValues,
349
+ initialChartBindingEnabled
349
350
  } = visualFilterObject as VisualFilters;
350
351
  vfXML = xml`
351
352
  <visualFilter:VisualFilter
@@ -365,6 +366,7 @@ export default class FilterFieldBlock extends BuildingBlockTemplatingBase {
365
366
  renderLineChart="${renderLineChart}"
366
367
  isValueListWithFixedValues="${isValueListWithFixedValues}"
367
368
  filterBarEntityType="${contextPath}"
369
+ enableChartBinding="${initialChartBindingEnabled}"
368
370
  />
369
371
  `;
370
372
 
@@ -0,0 +1,25 @@
1
+ <core:FragmentDefinition
2
+ xmlns:template="http://schemas.sap.com/sapui5/extension/sap.ui.core.template/1"
3
+ xmlns="sap.m"
4
+ xmlns:core="sap.ui.core"
5
+ xmlns:macro="sap.fe.macros"
6
+ xmlns:macroField="sap.fe.macros.field"
7
+ xmlns:internalMacro="sap.fe.macros.internal"
8
+ template:require="{
9
+ ID: 'sap/fe/core/helpers/StableIdHelper',
10
+ COMMON: 'sap/fe/macros/CommonHelper',
11
+ UI: 'sap/fe/core/templating/UIFormatters'
12
+ }"
13
+ >
14
+ <macro:Field
15
+ idPrefix="{= ${this>id} ? ID.generate([${this>id}, 'CheckBoxGroup', ${annotationDataField>@@UI.getDataModelObjectPath},${element>Value/$Path}]) : '' }"
16
+ contextPath="{entitySet>@@COMMON.getMetaPath}"
17
+ metaPath="{element>@@COMMON.getMetaPath}"
18
+ onChange="{this>onChange}"
19
+ ariaLabelledBy="{= ${this>id} ? ID.generate([${this>id}, 'FieldGroupFormElementLabel', ${annotationDataField>@@UI.getDataModelObjectPath}]) : '' }"
20
+ >
21
+ <macro:formatOptions>
22
+ <macroField:FieldFormatOptions isFieldGroupItem="true" textAlignMode="Form" />
23
+ </macro:formatOptions>
24
+ </macro:Field>
25
+ </core:FragmentDefinition>