@sapui5/sap.fe.macros 1.139.0 → 1.140.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 (152) hide show
  1. package/package.json +1 -1
  2. package/src/sap/fe/macros/.library +1 -1
  3. package/src/sap/fe/macros/Field.js +65 -55
  4. package/src/sap/fe/macros/Field.ts +83 -57
  5. package/src/sap/fe/macros/FooterContent.js +5 -2
  6. package/src/sap/fe/macros/FooterContent.tsx +4 -1
  7. package/src/sap/fe/macros/MessageButton.js +1 -2
  8. package/src/sap/fe/macros/MessageButton.tsx +0 -1
  9. package/src/sap/fe/macros/MultiValueField.js +1 -3
  10. package/src/sap/fe/macros/MultiValueField.tsx +0 -2
  11. package/src/sap/fe/macros/Share.js +14 -2
  12. package/src/sap/fe/macros/Share.tsx +13 -0
  13. package/src/sap/fe/macros/Status.js +226 -0
  14. package/src/sap/fe/macros/Status.tsx +192 -0
  15. package/src/sap/fe/macros/ValueHelp.js +4 -28
  16. package/src/sap/fe/macros/ValueHelp.tsx +2 -42
  17. package/src/sap/fe/macros/ai/EasyFilterBar.js +105 -96
  18. package/src/sap/fe/macros/ai/EasyFilterBar.tsx +122 -103
  19. package/src/sap/fe/macros/ai/SummarizationButton.js +2 -2
  20. package/src/sap/fe/macros/ai/SummarizationButton.tsx +1 -1
  21. package/src/sap/fe/macros/chart/ChartHelper.js +1 -2
  22. package/src/sap/fe/macros/chart/ChartHelper.ts +0 -1
  23. package/src/sap/fe/macros/chart/ChartRuntime.js +1 -2
  24. package/src/sap/fe/macros/chart/ChartRuntime.ts +0 -1
  25. package/src/sap/fe/macros/chart/MdcChartTemplate.js +2 -4
  26. package/src/sap/fe/macros/chart/MdcChartTemplate.tsx +1 -4
  27. package/src/sap/fe/macros/controls/BuildingBlockWithTemplating.js +3 -1
  28. package/src/sap/fe/macros/controls/BuildingBlockWithTemplating.ts +2 -0
  29. package/src/sap/fe/macros/controls/NumberWithUnitOrCurrency.js +2 -2
  30. package/src/sap/fe/macros/controls/NumberWithUnitOrCurrency.tsx +2 -2
  31. package/src/sap/fe/macros/coreUI/OperationParameterDialog.js +43 -4
  32. package/src/sap/fe/macros/coreUI/OperationParameterDialog.tsx +48 -1
  33. package/src/sap/fe/macros/designtime/Designtime.helper.js +28 -1
  34. package/src/sap/fe/macros/designtime/Designtime.helper.ts +27 -0
  35. package/src/sap/fe/macros/field/FieldBaseDelegate.js +13 -7
  36. package/src/sap/fe/macros/field/FieldBaseDelegate.ts +12 -8
  37. package/src/sap/fe/macros/field/FieldRuntime.js +1 -2
  38. package/src/sap/fe/macros/field/FieldRuntime.ts +0 -1
  39. package/src/sap/fe/macros/filter/FilterUtils.js +3 -5
  40. package/src/sap/fe/macros/filter/FilterUtils.ts +2 -4
  41. package/src/sap/fe/macros/form/Form.js +1 -4
  42. package/src/sap/fe/macros/form/Form.tsx +0 -3
  43. package/src/sap/fe/macros/form/FormContainer.block.js +1 -2
  44. package/src/sap/fe/macros/form/FormContainer.block.ts +0 -1
  45. package/src/sap/fe/macros/form/FormDelegate.js +20 -1
  46. package/src/sap/fe/macros/form/FormDelegate.ts +25 -0
  47. package/src/sap/fe/macros/form/FormHelper.js +1 -2
  48. package/src/sap/fe/macros/form/FormHelper.ts +0 -1
  49. package/src/sap/fe/macros/fpm/CustomFragment.block.js +1 -2
  50. package/src/sap/fe/macros/fpm/CustomFragment.block.ts +0 -1
  51. package/src/sap/fe/macros/internal/ActionCommand.block.js +1 -2
  52. package/src/sap/fe/macros/internal/ActionCommand.block.ts +0 -1
  53. package/src/sap/fe/macros/internal/FilterField.block.js +7 -1
  54. package/src/sap/fe/macros/internal/FilterField.block.ts +8 -0
  55. package/src/sap/fe/macros/internal/field/DisplayStyle.js +3 -3
  56. package/src/sap/fe/macros/internal/field/DisplayStyle.tsx +2 -2
  57. package/src/sap/fe/macros/internal/field/FieldStructureHelper.js +1 -1
  58. package/src/sap/fe/macros/internal/field/FieldStructureHelper.ts +1 -0
  59. package/src/sap/fe/macros/internal/valuehelp/AdditionalValueHelper.js +46 -8
  60. package/src/sap/fe/macros/internal/valuehelp/AdditionalValueHelper.ts +60 -6
  61. package/src/sap/fe/macros/internal/valuehelp/TableDelegate.js +38 -2
  62. package/src/sap/fe/macros/internal/valuehelp/TableDelegate.ts +37 -2
  63. package/src/sap/fe/macros/internal/valuehelp/ValueListDialogTable.fragment.xml +1 -1
  64. package/src/sap/fe/macros/internal/valuehelp/ValueListHelper.js +10 -3
  65. package/src/sap/fe/macros/internal/valuehelp/ValueListHelper.ts +13 -2
  66. package/src/sap/fe/macros/library.js +1 -1
  67. package/src/sap/fe/macros/messagebundle.properties +5 -3
  68. package/src/sap/fe/macros/messagebundle_ar.properties +7 -1
  69. package/src/sap/fe/macros/messagebundle_bg.properties +7 -1
  70. package/src/sap/fe/macros/messagebundle_ca.properties +10 -4
  71. package/src/sap/fe/macros/messagebundle_cnr.properties +7 -1
  72. package/src/sap/fe/macros/messagebundle_cs.properties +6 -0
  73. package/src/sap/fe/macros/messagebundle_cy.properties +8 -2
  74. package/src/sap/fe/macros/messagebundle_da.properties +7 -1
  75. package/src/sap/fe/macros/messagebundle_de.properties +13 -7
  76. package/src/sap/fe/macros/messagebundle_el.properties +6 -0
  77. package/src/sap/fe/macros/messagebundle_en.properties +10 -4
  78. package/src/sap/fe/macros/messagebundle_en_GB.properties +8 -2
  79. package/src/sap/fe/macros/messagebundle_en_US_saprigi.properties +10 -4
  80. package/src/sap/fe/macros/messagebundle_es.properties +8 -2
  81. package/src/sap/fe/macros/messagebundle_es_MX.properties +10 -4
  82. package/src/sap/fe/macros/messagebundle_et.properties +8 -2
  83. package/src/sap/fe/macros/messagebundle_fi.properties +6 -0
  84. package/src/sap/fe/macros/messagebundle_fr.properties +8 -2
  85. package/src/sap/fe/macros/messagebundle_fr_CA.properties +7 -1
  86. package/src/sap/fe/macros/messagebundle_hi.properties +7 -1
  87. package/src/sap/fe/macros/messagebundle_hr.properties +7 -1
  88. package/src/sap/fe/macros/messagebundle_hu.properties +6 -0
  89. package/src/sap/fe/macros/messagebundle_id.properties +10 -4
  90. package/src/sap/fe/macros/messagebundle_it.properties +6 -0
  91. package/src/sap/fe/macros/messagebundle_iw.properties +7 -1
  92. package/src/sap/fe/macros/messagebundle_ja.properties +8 -2
  93. package/src/sap/fe/macros/messagebundle_kk.properties +10 -4
  94. package/src/sap/fe/macros/messagebundle_ko.properties +6 -0
  95. package/src/sap/fe/macros/messagebundle_lt.properties +7 -1
  96. package/src/sap/fe/macros/messagebundle_lv.properties +7 -1
  97. package/src/sap/fe/macros/messagebundle_mk.properties +7 -1
  98. package/src/sap/fe/macros/messagebundle_ms.properties +6 -0
  99. package/src/sap/fe/macros/messagebundle_nl.properties +6 -0
  100. package/src/sap/fe/macros/messagebundle_no.properties +6 -0
  101. package/src/sap/fe/macros/messagebundle_pl.properties +7 -1
  102. package/src/sap/fe/macros/messagebundle_pt.properties +6 -0
  103. package/src/sap/fe/macros/messagebundle_pt_PT.properties +6 -0
  104. package/src/sap/fe/macros/messagebundle_ro.properties +7 -1
  105. package/src/sap/fe/macros/messagebundle_ru.properties +9 -3
  106. package/src/sap/fe/macros/messagebundle_sh.properties +7 -1
  107. package/src/sap/fe/macros/messagebundle_sk.properties +6 -0
  108. package/src/sap/fe/macros/messagebundle_sl.properties +6 -0
  109. package/src/sap/fe/macros/messagebundle_sr.properties +7 -1
  110. package/src/sap/fe/macros/messagebundle_sv.properties +6 -0
  111. package/src/sap/fe/macros/messagebundle_th.properties +7 -1
  112. package/src/sap/fe/macros/messagebundle_tr.properties +6 -0
  113. package/src/sap/fe/macros/messagebundle_uk.properties +9 -3
  114. package/src/sap/fe/macros/messagebundle_vi.properties +8 -2
  115. package/src/sap/fe/macros/messagebundle_zh_CN.properties +6 -0
  116. package/src/sap/fe/macros/messagebundle_zh_TW.properties +7 -1
  117. package/src/sap/fe/macros/messages/MessageButton.js +39 -18
  118. package/src/sap/fe/macros/messages/MessageButton.ts +40 -17
  119. package/src/sap/fe/macros/messages/MessagePopover.js +2 -2
  120. package/src/sap/fe/macros/messages/MessagePopover.ts +4 -4
  121. package/src/sap/fe/macros/microchart/MicroChartContainer.js +1 -2
  122. package/src/sap/fe/macros/microchart/MicroChartContainer.ts +1 -2
  123. package/src/sap/fe/macros/microchart/MicroChartHelper.js +1 -2
  124. package/src/sap/fe/macros/microchart/MicroChartHelper.tsx +0 -1
  125. package/src/sap/fe/macros/share/ShareAPI.js +4 -29
  126. package/src/sap/fe/macros/share/ShareAPI.ts +1 -32
  127. package/src/sap/fe/macros/situations/SituationsPopover.js +3 -1
  128. package/src/sap/fe/macros/situations/SituationsPopover.ts +2 -0
  129. package/src/sap/fe/macros/table/MdcTableTemplate.js +3 -1
  130. package/src/sap/fe/macros/table/MdcTableTemplate.tsx +6 -2
  131. package/src/sap/fe/macros/table/TableHelper.js +1 -2
  132. package/src/sap/fe/macros/table/TableHelper.ts +0 -1
  133. package/src/sap/fe/macros/table/TableRuntime.js +24 -5
  134. package/src/sap/fe/macros/table/TableRuntime.ts +31 -3
  135. package/src/sap/fe/macros/table/Utils.js +6 -2
  136. package/src/sap/fe/macros/table/Utils.ts +5 -1
  137. package/src/sap/fe/macros/table/delegates/ALPTableDelegate.js +1 -2
  138. package/src/sap/fe/macros/table/delegates/ALPTableDelegate.ts +0 -1
  139. package/src/sap/fe/macros/table/delegates/TableDelegate.js +1 -2
  140. package/src/sap/fe/macros/table/delegates/TableDelegate.ts +0 -1
  141. package/src/sap/fe/macros/table/delegates/TreeTableDelegate.js +1 -2
  142. package/src/sap/fe/macros/table/delegates/TreeTableDelegate.ts +0 -1
  143. package/src/sap/fe/macros/table/mixin/TableHierarchy.js +5 -1
  144. package/src/sap/fe/macros/table/mixin/TableHierarchy.ts +7 -0
  145. package/src/sap/fe/macros/table/mixin/TableSharing.js +3 -2
  146. package/src/sap/fe/macros/table/mixin/TableSharing.ts +9 -1
  147. package/src/sap/fe/macros/valuehelp/ValueHelpDelegate.js +10 -1
  148. package/src/sap/fe/macros/valuehelp/ValueHelpDelegate.ts +17 -0
  149. package/src/sap/fe/macros/visualfilters/VisualFilter.js +1 -2
  150. package/src/sap/fe/macros/visualfilters/VisualFilter.tsx +0 -1
  151. package/src/sap/fe/macros/visualfilters/VisualFilterRuntime.js +2 -3
  152. package/src/sap/fe/macros/visualfilters/VisualFilterRuntime.ts +1 -2
@@ -0,0 +1,226 @@
1
+ /*!
2
+ * SAP UI development toolkit for HTML5 (SAPUI5)
3
+ * (c) Copyright 2009-2025 SAP SE. All rights reserved
4
+ */
5
+ sap.ui.define(["sap/fe/base/ClassSupport", "sap/fe/core/buildingBlocks/BuildingBlock", "sap/fe/core/helpers/StableIdHelper", "sap/fe/core/helpers/TypeGuards", "sap/fe/core/templating/CriticalityFormatters", "sap/fe/core/templating/DataModelPathHelper", "sap/fe/macros/field/FieldTemplating", "sap/m/ObjectStatus", "sap/fe/base/jsx-runtime/jsx"], function (ClassSupport, BuildingBlock, StableIdHelper, TypeGuards, CriticalityFormatters, DataModelPathHelper, FieldTemplating, MObjectStatus, _jsx) {
6
+ "use strict";
7
+
8
+ var _dec, _dec2, _dec3, _dec4, _dec5, _dec6, _dec7, _dec8, _class, _class2, _descriptor, _descriptor2, _descriptor3, _descriptor4, _descriptor5, _descriptor6, _descriptor7;
9
+ var _exports = {};
10
+ var getVisibleExpression = FieldTemplating.getVisibleExpression;
11
+ var getTextBinding = FieldTemplating.getTextBinding;
12
+ var enhanceDataModelPath = DataModelPathHelper.enhanceDataModelPath;
13
+ var buildExpressionForCriticalityIcon = CriticalityFormatters.buildExpressionForCriticalityIcon;
14
+ var buildExpressionForCriticalityColor = CriticalityFormatters.buildExpressionForCriticalityColor;
15
+ var isProperty = TypeGuards.isProperty;
16
+ var generate = StableIdHelper.generate;
17
+ var property = ClassSupport.property;
18
+ var implementInterface = ClassSupport.implementInterface;
19
+ var event = ClassSupport.event;
20
+ var defineUI5Class = ClassSupport.defineUI5Class;
21
+ function _initializerDefineProperty(e, i, r, l) { r && Object.defineProperty(e, i, { enumerable: r.enumerable, configurable: r.configurable, writable: r.writable, value: r.initializer ? r.initializer.call(l) : void 0 }); }
22
+ function _inheritsLoose(t, o) { t.prototype = Object.create(o.prototype), t.prototype.constructor = t, _setPrototypeOf(t, o); }
23
+ function _setPrototypeOf(t, e) { return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) { return t.__proto__ = e, t; }, _setPrototypeOf(t, e); }
24
+ function _applyDecoratedDescriptor(i, e, r, n, l) { var a = {}; return Object.keys(n).forEach(function (i) { a[i] = n[i]; }), a.enumerable = !!a.enumerable, a.configurable = !!a.configurable, ("value" in a || a.initializer) && (a.writable = !0), a = r.slice().reverse().reduce(function (r, n) { return n(i, e, r) || r; }, a), l && void 0 !== a.initializer && (a.value = a.initializer ? a.initializer.call(l) : void 0, a.initializer = void 0), void 0 === a.initializer ? (Object.defineProperty(i, e, a), null) : a; }
25
+ function _initializerWarningHelper(r, e) { throw Error("Decorating class property failed. Please ensure that transform-class-properties is enabled and runs after the decorators transform."); }
26
+ /**
27
+ * Building block for displaying object status with criticality in inverted mode.
28
+ */
29
+ let Status = (_dec = defineUI5Class("sap.fe.macros.Status"), _dec2 = implementInterface("sap.ui.core.IFormContent"), _dec3 = property({
30
+ type: "string",
31
+ required: true
32
+ }), _dec4 = property({
33
+ type: "string"
34
+ }), _dec5 = property({
35
+ type: "string",
36
+ allowedValues: ["Inline", "Overlay"]
37
+ }), _dec6 = property({
38
+ type: "boolean"
39
+ }), _dec7 = property({
40
+ type: "boolean"
41
+ }), _dec8 = event(), _dec(_class = (_class2 = /*#__PURE__*/function (_BuildingBlock) {
42
+ /**
43
+ * Internal property to store the data model path
44
+ */
45
+
46
+ /**
47
+ * Constructor for the Status building block.
48
+ * @param properties The properties object containing Status-specific settings and base control settings
49
+ * @param [others] Additional control settings that may be applied to the building block
50
+ */
51
+ function Status(properties, others) {
52
+ var _this;
53
+ _this = _BuildingBlock.call(this, properties, others) || this;
54
+ _initializerDefineProperty(_this, "__implements__sap_ui_core_IFormContent", _descriptor, _this);
55
+ /**
56
+ * Metadata path to the DataField annotation or property.
57
+ * @public
58
+ */
59
+ _initializerDefineProperty(_this, "metaPath", _descriptor2, _this);
60
+ /**
61
+ * Context path for the binding context.
62
+ * @public
63
+ */
64
+ _initializerDefineProperty(_this, "contextPath", _descriptor3, _this);
65
+ /**
66
+ * When the Status is clickable, it defines the size of the reactive area of the clickable element:
67
+ *
68
+ * - ReactiveAreaMode.Inline - The Status is displayed as part of a sentence.
69
+ * - ReactiveAreaMode.Overlay - The Status is displayed as an overlay on top of other interactive parts of the page.
70
+ * Note: It is designed to make the clickable element easier to activate and helps meet the WCAG 2.2 Target Size requirement. It is applicable only for the SAP Horizon themes. Note: The size of the reactive area is sufficiently large to help users avoid accidentally selecting (clicking or tapping) unintended UI elements. UI elements positioned over other parts of the page may need an invisible active touch area. This ensures that no elements beneath are activated accidentally when the user tries to interact with the overlay element.
71
+ * @public
72
+ */
73
+ _initializerDefineProperty(_this, "reactiveAreaMode", _descriptor4, _this);
74
+ /**
75
+ * Indicates whether the ObjectStatus should be displayed in large design mode.
76
+ * @public
77
+ */
78
+ _initializerDefineProperty(_this, "largeDesign", _descriptor5, _this);
79
+ _initializerDefineProperty(_this, "hideIcon", _descriptor6, _this);
80
+ /**
81
+ * Press event fired when the ObjectStatus is clicked.
82
+ * @param event The press event
83
+ * @public
84
+ */
85
+ _initializerDefineProperty(_this, "press", _descriptor7, _this);
86
+ return _this;
87
+ }
88
+
89
+ /**
90
+ * Handler for the onMetadataAvailable event.
91
+ */
92
+ _exports = Status;
93
+ _inheritsLoose(Status, _BuildingBlock);
94
+ var _proto = Status.prototype;
95
+ _proto.onMetadataAvailable = function onMetadataAvailable() {
96
+ this.getTemplatingObjects();
97
+ if (!this.dataModelPath && !this.valueDataModelPath) {
98
+ // there cannot be a static value and no datafield or datapoint
99
+ return;
100
+ }
101
+ if (!this.content) {
102
+ this.content = this.createContent();
103
+ }
104
+ }
105
+
106
+ /**
107
+ * Function to get the templating objects and prepare data model paths.
108
+ */;
109
+ _proto.getTemplatingObjects = function getTemplatingObjects() {
110
+ // Try to get as DataField first, then as DataPoint, then as Property
111
+ const internalDataModelPath = this.getDataModelObjectForMetaPath(this.metaPath, this.contextPath);
112
+ const targetObject = internalDataModelPath?.targetObject;
113
+ if (!internalDataModelPath) {
114
+ return;
115
+ }
116
+ if (isProperty(targetObject)) {
117
+ if (targetObject?.annotations?.UI?.DataFieldDefault !== undefined) {
118
+ this.dataModelPath = this.getDataModelObjectForMetaPath(`${this.metaPath}@${"com.sap.vocabularies.UI.v1.DataFieldDefault"}`, this.contextPath);
119
+ }
120
+ this.valueDataModelPath = internalDataModelPath;
121
+ } else {
122
+ this.dataModelPath = internalDataModelPath;
123
+ if (this.dataModelPath?.targetObject?.Value?.path) {
124
+ this.valueDataModelPath = enhanceDataModelPath(internalDataModelPath, this.dataModelPath.targetObject.Value.path);
125
+ }
126
+ }
127
+ }
128
+
129
+ /**
130
+ * Gets the criticality expression for the ObjectStatus.
131
+ * @returns The compiled binding expression for criticality color, or undefined if no criticality is available
132
+ */;
133
+ _proto.getCriticalityExpression = function getCriticalityExpression() {
134
+ return this.dataModelPath === undefined ? undefined : buildExpressionForCriticalityColor(this.dataModelPath, this.dataModelPath);
135
+ }
136
+
137
+ /**
138
+ * Gets the criticality icon expression for the ObjectStatus.
139
+ * @returns The compiled binding expression for criticality icon, or undefined if no criticality is available
140
+ */;
141
+ _proto.getCriticalityIconExpression = function getCriticalityIconExpression() {
142
+ return this.dataModelPath === undefined ? undefined : buildExpressionForCriticalityIcon(this.dataModelPath, this.dataModelPath);
143
+ }
144
+
145
+ /**
146
+ * Gets the text binding expression for the ObjectStatus.
147
+ * @returns The compiled binding expression for the ObjectStatus text content
148
+ */;
149
+ _proto.getObjectStatusTextBinding = function getObjectStatusTextBinding() {
150
+ const propertyOrDataFieldDataModelObjectPath = this.valueDataModelPath ?? this.dataModelPath;
151
+ return getTextBinding(propertyOrDataFieldDataModelObjectPath, {});
152
+ }
153
+
154
+ /**
155
+ * Creates the ObjectStatus control content.
156
+ * @returns The configured ObjectStatus control ready for rendering
157
+ */;
158
+ _proto.createContent = function createContent() {
159
+ const dataFieldOrPropertyDataModelObjectPath = this.dataModelPath ?? this.valueDataModelPath;
160
+ const visible = getVisibleExpression(dataFieldOrPropertyDataModelObjectPath);
161
+ const criticalityExpression = this.getCriticalityExpression();
162
+ const criticalityIconExpression = this.getCriticalityIconExpression();
163
+ const textBinding = this.getObjectStatusTextBinding();
164
+ const isActive = !!this.press;
165
+ return _jsx(MObjectStatus, {
166
+ id: generate([this.getId(), "ObjectStatus"]),
167
+ inverted: true,
168
+ class: this.largeDesign ? "sapMObjectStatusLarge sapMObjectStatusLongText" : undefined,
169
+ state: criticalityExpression,
170
+ icon: this.hideIcon ? undefined : criticalityIconExpression,
171
+ text: textBinding,
172
+ visible: visible,
173
+ active: isActive,
174
+ reactiveAreaMode: this.reactiveAreaMode,
175
+ press: pressEvent => {
176
+ this.fireEvent("press", pressEvent);
177
+ }
178
+ });
179
+ };
180
+ return Status;
181
+ }(BuildingBlock), _descriptor = _applyDecoratedDescriptor(_class2.prototype, "__implements__sap_ui_core_IFormContent", [_dec2], {
182
+ configurable: true,
183
+ enumerable: true,
184
+ writable: true,
185
+ initializer: function () {
186
+ return true;
187
+ }
188
+ }), _descriptor2 = _applyDecoratedDescriptor(_class2.prototype, "metaPath", [_dec3], {
189
+ configurable: true,
190
+ enumerable: true,
191
+ writable: true,
192
+ initializer: null
193
+ }), _descriptor3 = _applyDecoratedDescriptor(_class2.prototype, "contextPath", [_dec4], {
194
+ configurable: true,
195
+ enumerable: true,
196
+ writable: true,
197
+ initializer: null
198
+ }), _descriptor4 = _applyDecoratedDescriptor(_class2.prototype, "reactiveAreaMode", [_dec5], {
199
+ configurable: true,
200
+ enumerable: true,
201
+ writable: true,
202
+ initializer: null
203
+ }), _descriptor5 = _applyDecoratedDescriptor(_class2.prototype, "largeDesign", [_dec6], {
204
+ configurable: true,
205
+ enumerable: true,
206
+ writable: true,
207
+ initializer: function () {
208
+ return false;
209
+ }
210
+ }), _descriptor6 = _applyDecoratedDescriptor(_class2.prototype, "hideIcon", [_dec7], {
211
+ configurable: true,
212
+ enumerable: true,
213
+ writable: true,
214
+ initializer: function () {
215
+ return false;
216
+ }
217
+ }), _descriptor7 = _applyDecoratedDescriptor(_class2.prototype, "press", [_dec8], {
218
+ configurable: true,
219
+ enumerable: true,
220
+ writable: true,
221
+ initializer: null
222
+ }), _class2)) || _class);
223
+ _exports = Status;
224
+ return _exports;
225
+ }, false);
226
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJTdGF0dXMiLCJfZGVjIiwiZGVmaW5lVUk1Q2xhc3MiLCJfZGVjMiIsImltcGxlbWVudEludGVyZmFjZSIsIl9kZWMzIiwicHJvcGVydHkiLCJ0eXBlIiwicmVxdWlyZWQiLCJfZGVjNCIsIl9kZWM1IiwiYWxsb3dlZFZhbHVlcyIsIl9kZWM2IiwiX2RlYzciLCJfZGVjOCIsImV2ZW50IiwiX2NsYXNzIiwiX2NsYXNzMiIsIl9CdWlsZGluZ0Jsb2NrIiwicHJvcGVydGllcyIsIm90aGVycyIsIl90aGlzIiwiY2FsbCIsIl9pbml0aWFsaXplckRlZmluZVByb3BlcnR5IiwiX2Rlc2NyaXB0b3IiLCJfZGVzY3JpcHRvcjIiLCJfZGVzY3JpcHRvcjMiLCJfZGVzY3JpcHRvcjQiLCJfZGVzY3JpcHRvcjUiLCJfZGVzY3JpcHRvcjYiLCJfZGVzY3JpcHRvcjciLCJfZXhwb3J0cyIsIl9pbmhlcml0c0xvb3NlIiwiX3Byb3RvIiwicHJvdG90eXBlIiwib25NZXRhZGF0YUF2YWlsYWJsZSIsImdldFRlbXBsYXRpbmdPYmplY3RzIiwiZGF0YU1vZGVsUGF0aCIsInZhbHVlRGF0YU1vZGVsUGF0aCIsImNvbnRlbnQiLCJjcmVhdGVDb250ZW50IiwiaW50ZXJuYWxEYXRhTW9kZWxQYXRoIiwiZ2V0RGF0YU1vZGVsT2JqZWN0Rm9yTWV0YVBhdGgiLCJtZXRhUGF0aCIsImNvbnRleHRQYXRoIiwidGFyZ2V0T2JqZWN0IiwiaXNQcm9wZXJ0eSIsImFubm90YXRpb25zIiwiVUkiLCJEYXRhRmllbGREZWZhdWx0IiwidW5kZWZpbmVkIiwiVmFsdWUiLCJwYXRoIiwiZW5oYW5jZURhdGFNb2RlbFBhdGgiLCJnZXRDcml0aWNhbGl0eUV4cHJlc3Npb24iLCJidWlsZEV4cHJlc3Npb25Gb3JDcml0aWNhbGl0eUNvbG9yIiwiZ2V0Q3JpdGljYWxpdHlJY29uRXhwcmVzc2lvbiIsImJ1aWxkRXhwcmVzc2lvbkZvckNyaXRpY2FsaXR5SWNvbiIsImdldE9iamVjdFN0YXR1c1RleHRCaW5kaW5nIiwicHJvcGVydHlPckRhdGFGaWVsZERhdGFNb2RlbE9iamVjdFBhdGgiLCJnZXRUZXh0QmluZGluZyIsImRhdGFGaWVsZE9yUHJvcGVydHlEYXRhTW9kZWxPYmplY3RQYXRoIiwidmlzaWJsZSIsImdldFZpc2libGVFeHByZXNzaW9uIiwiY3JpdGljYWxpdHlFeHByZXNzaW9uIiwiY3JpdGljYWxpdHlJY29uRXhwcmVzc2lvbiIsInRleHRCaW5kaW5nIiwiaXNBY3RpdmUiLCJwcmVzcyIsIl9qc3giLCJNT2JqZWN0U3RhdHVzIiwiaWQiLCJnZW5lcmF0ZSIsImdldElkIiwiaW52ZXJ0ZWQiLCJjbGFzcyIsImxhcmdlRGVzaWduIiwic3RhdGUiLCJpY29uIiwiaGlkZUljb24iLCJ0ZXh0IiwiYWN0aXZlIiwicmVhY3RpdmVBcmVhTW9kZSIsInByZXNzRXZlbnQiLCJmaXJlRXZlbnQiLCJCdWlsZGluZ0Jsb2NrIiwiX2FwcGx5RGVjb3JhdGVkRGVzY3JpcHRvciIsImNvbmZpZ3VyYWJsZSIsImVudW1lcmFibGUiLCJ3cml0YWJsZSIsImluaXRpYWxpemVyIl0sInNvdXJjZVJvb3QiOiIuIiwic291cmNlcyI6WyJTdGF0dXMudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgUHJvcGVydHkgfSBmcm9tIFwiQHNhcC11eC92b2NhYnVsYXJpZXMtdHlwZXNcIjtcbmltcG9ydCB0eXBlIHsgRGF0YUZpZWxkLCBEYXRhUG9pbnRUeXBlIH0gZnJvbSBcIkBzYXAtdXgvdm9jYWJ1bGFyaWVzLXR5cGVzL3ZvY2FidWxhcmllcy9VSVwiO1xuaW1wb3J0IHsgVUlBbm5vdGF0aW9uVGVybXMgfSBmcm9tIFwiQHNhcC11eC92b2NhYnVsYXJpZXMtdHlwZXMvdm9jYWJ1bGFyaWVzL1VJXCI7XG5pbXBvcnQgdHlwZSB7IENvbXBpbGVkQmluZGluZ1Rvb2xraXRFeHByZXNzaW9uIH0gZnJvbSBcInNhcC9mZS9iYXNlL0JpbmRpbmdUb29sa2l0XCI7XG5pbXBvcnQgeyBkZWZpbmVVSTVDbGFzcywgZXZlbnQsIGltcGxlbWVudEludGVyZmFjZSwgcHJvcGVydHksIHR5cGUgUHJvcGVydGllc09mIH0gZnJvbSBcInNhcC9mZS9iYXNlL0NsYXNzU3VwcG9ydFwiO1xuaW1wb3J0IEJ1aWxkaW5nQmxvY2sgZnJvbSBcInNhcC9mZS9jb3JlL2J1aWxkaW5nQmxvY2tzL0J1aWxkaW5nQmxvY2tcIjtcbmltcG9ydCB7IGdlbmVyYXRlIH0gZnJvbSBcInNhcC9mZS9jb3JlL2hlbHBlcnMvU3RhYmxlSWRIZWxwZXJcIjtcbmltcG9ydCB7IGlzUHJvcGVydHkgfSBmcm9tIFwic2FwL2ZlL2NvcmUvaGVscGVycy9UeXBlR3VhcmRzXCI7XG5pbXBvcnQgeyBidWlsZEV4cHJlc3Npb25Gb3JDcml0aWNhbGl0eUNvbG9yLCBidWlsZEV4cHJlc3Npb25Gb3JDcml0aWNhbGl0eUljb24gfSBmcm9tIFwic2FwL2ZlL2NvcmUvdGVtcGxhdGluZy9Dcml0aWNhbGl0eUZvcm1hdHRlcnNcIjtcbmltcG9ydCB0eXBlIHsgRGF0YU1vZGVsT2JqZWN0UGF0aCB9IGZyb20gXCJzYXAvZmUvY29yZS90ZW1wbGF0aW5nL0RhdGFNb2RlbFBhdGhIZWxwZXJcIjtcbmltcG9ydCB7IGVuaGFuY2VEYXRhTW9kZWxQYXRoIH0gZnJvbSBcInNhcC9mZS9jb3JlL3RlbXBsYXRpbmcvRGF0YU1vZGVsUGF0aEhlbHBlclwiO1xuaW1wb3J0IHsgZ2V0VGV4dEJpbmRpbmcsIGdldFZpc2libGVFeHByZXNzaW9uIH0gZnJvbSBcInNhcC9mZS9tYWNyb3MvZmllbGQvRmllbGRUZW1wbGF0aW5nXCI7XG5pbXBvcnQgdHlwZSB7IE9iamVjdFN0YXR1cyRQcmVzc0V2ZW50IH0gZnJvbSBcInNhcC9tL09iamVjdFN0YXR1c1wiO1xuaW1wb3J0IE1PYmplY3RTdGF0dXMgZnJvbSBcInNhcC9tL09iamVjdFN0YXR1c1wiO1xuaW1wb3J0IHR5cGUgeyAkQ29udHJvbFNldHRpbmdzIH0gZnJvbSBcInNhcC91aS9jb3JlL0NvbnRyb2xcIjtcbmltcG9ydCB0eXBlIHsgSUZvcm1Db250ZW50IH0gZnJvbSBcInNhcC91aS9jb3JlL2xpYnJhcnlcIjtcblxuLyoqXG4gKiBCdWlsZGluZyBibG9jayBmb3IgZGlzcGxheWluZyBvYmplY3Qgc3RhdHVzIHdpdGggY3JpdGljYWxpdHkgaW4gaW52ZXJ0ZWQgbW9kZS5cbiAqL1xuQGRlZmluZVVJNUNsYXNzKFwic2FwLmZlLm1hY3Jvcy5TdGF0dXNcIilcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFN0YXR1cyBleHRlbmRzIEJ1aWxkaW5nQmxvY2s8TU9iamVjdFN0YXR1cz4gaW1wbGVtZW50cyBJRm9ybUNvbnRlbnQge1xuXHRAaW1wbGVtZW50SW50ZXJmYWNlKFwic2FwLnVpLmNvcmUuSUZvcm1Db250ZW50XCIpXG5cdF9faW1wbGVtZW50c19fc2FwX3VpX2NvcmVfSUZvcm1Db250ZW50ID0gdHJ1ZTtcblxuXHQvKipcblx0ICogTWV0YWRhdGEgcGF0aCB0byB0aGUgRGF0YUZpZWxkIGFubm90YXRpb24gb3IgcHJvcGVydHkuXG5cdCAqIEBwdWJsaWNcblx0ICovXG5cdEBwcm9wZXJ0eSh7XG5cdFx0dHlwZTogXCJzdHJpbmdcIixcblx0XHRyZXF1aXJlZDogdHJ1ZVxuXHR9KVxuXHRwdWJsaWMgbWV0YVBhdGghOiBzdHJpbmc7XG5cblx0LyoqXG5cdCAqIENvbnRleHQgcGF0aCBmb3IgdGhlIGJpbmRpbmcgY29udGV4dC5cblx0ICogQHB1YmxpY1xuXHQgKi9cblx0QHByb3BlcnR5KHtcblx0XHR0eXBlOiBcInN0cmluZ1wiXG5cdH0pXG5cdHB1YmxpYyBjb250ZXh0UGF0aD86IHN0cmluZztcblxuXHQvKipcblx0ICogIFdoZW4gdGhlIFN0YXR1cyBpcyBjbGlja2FibGUsIGl0IGRlZmluZXMgdGhlIHNpemUgb2YgdGhlIHJlYWN0aXZlIGFyZWEgb2YgdGhlIGNsaWNrYWJsZSBlbGVtZW50OlxuXHQgKlxuXHQgKiAtIFJlYWN0aXZlQXJlYU1vZGUuSW5saW5lIC0gVGhlIFN0YXR1cyBpcyBkaXNwbGF5ZWQgYXMgcGFydCBvZiBhIHNlbnRlbmNlLlxuXHQgKiAtIFJlYWN0aXZlQXJlYU1vZGUuT3ZlcmxheSAtIFRoZSBTdGF0dXMgaXMgZGlzcGxheWVkIGFzIGFuIG92ZXJsYXkgb24gdG9wIG9mIG90aGVyIGludGVyYWN0aXZlIHBhcnRzIG9mIHRoZSBwYWdlLlxuXHQgKiBOb3RlOiBJdCBpcyBkZXNpZ25lZCB0byBtYWtlIHRoZSBjbGlja2FibGUgZWxlbWVudCBlYXNpZXIgdG8gYWN0aXZhdGUgYW5kIGhlbHBzIG1lZXQgdGhlIFdDQUcgMi4yIFRhcmdldCBTaXplIHJlcXVpcmVtZW50LiBJdCBpcyBhcHBsaWNhYmxlIG9ubHkgZm9yIHRoZSBTQVAgSG9yaXpvbiB0aGVtZXMuIE5vdGU6IFRoZSBzaXplIG9mIHRoZSByZWFjdGl2ZSBhcmVhIGlzIHN1ZmZpY2llbnRseSBsYXJnZSB0byBoZWxwIHVzZXJzIGF2b2lkIGFjY2lkZW50YWxseSBzZWxlY3RpbmcgKGNsaWNraW5nIG9yIHRhcHBpbmcpIHVuaW50ZW5kZWQgVUkgZWxlbWVudHMuIFVJIGVsZW1lbnRzIHBvc2l0aW9uZWQgb3ZlciBvdGhlciBwYXJ0cyBvZiB0aGUgcGFnZSBtYXkgbmVlZCBhbiBpbnZpc2libGUgYWN0aXZlIHRvdWNoIGFyZWEuIFRoaXMgZW5zdXJlcyB0aGF0IG5vIGVsZW1lbnRzIGJlbmVhdGggYXJlIGFjdGl2YXRlZCBhY2NpZGVudGFsbHkgd2hlbiB0aGUgdXNlciB0cmllcyB0byBpbnRlcmFjdCB3aXRoIHRoZSBvdmVybGF5IGVsZW1lbnQuXG5cdCAqIEBwdWJsaWNcblx0ICovXG5cdEBwcm9wZXJ0eSh7IHR5cGU6IFwic3RyaW5nXCIsIGFsbG93ZWRWYWx1ZXM6IFtcIklubGluZVwiLCBcIk92ZXJsYXlcIl0gfSlcblx0cHVibGljIHJlYWN0aXZlQXJlYU1vZGU/OiBcIklubGluZVwiIHwgXCJPdmVybGF5XCI7XG5cblx0LyoqXG5cdCAqIEluZGljYXRlcyB3aGV0aGVyIHRoZSBPYmplY3RTdGF0dXMgc2hvdWxkIGJlIGRpc3BsYXllZCBpbiBsYXJnZSBkZXNpZ24gbW9kZS5cblx0ICogQHB1YmxpY1xuXHQgKi9cblx0QHByb3BlcnR5KHsgdHlwZTogXCJib29sZWFuXCIgfSlcblx0cHVibGljIGxhcmdlRGVzaWduID0gZmFsc2U7XG5cblx0QHByb3BlcnR5KHsgdHlwZTogXCJib29sZWFuXCIgfSlcblx0cHVibGljIGhpZGVJY29uID0gZmFsc2U7XG5cblx0LyoqXG5cdCAqIFByZXNzIGV2ZW50IGZpcmVkIHdoZW4gdGhlIE9iamVjdFN0YXR1cyBpcyBjbGlja2VkLlxuXHQgKiBAcGFyYW0gZXZlbnQgVGhlIHByZXNzIGV2ZW50XG5cdCAqIEBwdWJsaWNcblx0ICovXG5cdEBldmVudCgpXG5cdHB1YmxpYyBwcmVzcz86IChldmVudDogT2JqZWN0U3RhdHVzJFByZXNzRXZlbnQpID0+IHZvaWQ7XG5cblx0LyoqXG5cdCAqIEludGVybmFsIHByb3BlcnR5IHRvIHN0b3JlIHRoZSBkYXRhIG1vZGVsIHBhdGhcblx0ICovXG5cdHByaXZhdGUgZGF0YU1vZGVsUGF0aD86IERhdGFNb2RlbE9iamVjdFBhdGg8RGF0YUZpZWxkIHwgRGF0YVBvaW50VHlwZT47XG5cblx0cHJpdmF0ZSB2YWx1ZURhdGFNb2RlbFBhdGg/OiBEYXRhTW9kZWxPYmplY3RQYXRoPFByb3BlcnR5PjtcblxuXHQvKipcblx0ICogQ29uc3RydWN0b3IgZm9yIHRoZSBTdGF0dXMgYnVpbGRpbmcgYmxvY2suXG5cdCAqIEBwYXJhbSBwcm9wZXJ0aWVzIFRoZSBwcm9wZXJ0aWVzIG9iamVjdCBjb250YWluaW5nIFN0YXR1cy1zcGVjaWZpYyBzZXR0aW5ncyBhbmQgYmFzZSBjb250cm9sIHNldHRpbmdzXG5cdCAqIEBwYXJhbSBbb3RoZXJzXSBBZGRpdGlvbmFsIGNvbnRyb2wgc2V0dGluZ3MgdGhhdCBtYXkgYmUgYXBwbGllZCB0byB0aGUgYnVpbGRpbmcgYmxvY2tcblx0ICovXG5cdGNvbnN0cnVjdG9yKHByb3BlcnRpZXM6ICRDb250cm9sU2V0dGluZ3MgJiBQcm9wZXJ0aWVzT2Y8U3RhdHVzPiwgb3RoZXJzPzogJENvbnRyb2xTZXR0aW5ncykge1xuXHRcdHN1cGVyKHByb3BlcnRpZXMsIG90aGVycyk7XG5cdH1cblxuXHQvKipcblx0ICogSGFuZGxlciBmb3IgdGhlIG9uTWV0YWRhdGFBdmFpbGFibGUgZXZlbnQuXG5cdCAqL1xuXHRvbk1ldGFkYXRhQXZhaWxhYmxlKCk6IHZvaWQge1xuXHRcdHRoaXMuZ2V0VGVtcGxhdGluZ09iamVjdHMoKTtcblx0XHRpZiAoIXRoaXMuZGF0YU1vZGVsUGF0aCAmJiAhdGhpcy52YWx1ZURhdGFNb2RlbFBhdGgpIHtcblx0XHRcdC8vIHRoZXJlIGNhbm5vdCBiZSBhIHN0YXRpYyB2YWx1ZSBhbmQgbm8gZGF0YWZpZWxkIG9yIGRhdGFwb2ludFxuXHRcdFx0cmV0dXJuO1xuXHRcdH1cblx0XHRpZiAoIXRoaXMuY29udGVudCkge1xuXHRcdFx0dGhpcy5jb250ZW50ID0gdGhpcy5jcmVhdGVDb250ZW50KCk7XG5cdFx0fVxuXHR9XG5cblx0LyoqXG5cdCAqIEZ1bmN0aW9uIHRvIGdldCB0aGUgdGVtcGxhdGluZyBvYmplY3RzIGFuZCBwcmVwYXJlIGRhdGEgbW9kZWwgcGF0aHMuXG5cdCAqL1xuXHRwcml2YXRlIGdldFRlbXBsYXRpbmdPYmplY3RzKCk6IHZvaWQge1xuXHRcdC8vIFRyeSB0byBnZXQgYXMgRGF0YUZpZWxkIGZpcnN0LCB0aGVuIGFzIERhdGFQb2ludCwgdGhlbiBhcyBQcm9wZXJ0eVxuXHRcdGNvbnN0IGludGVybmFsRGF0YU1vZGVsUGF0aCA9IHRoaXMuZ2V0RGF0YU1vZGVsT2JqZWN0Rm9yTWV0YVBhdGg8RGF0YUZpZWxkIHwgRGF0YVBvaW50VHlwZSB8IFByb3BlcnR5Pihcblx0XHRcdHRoaXMubWV0YVBhdGgsXG5cdFx0XHR0aGlzLmNvbnRleHRQYXRoXG5cdFx0KTtcblx0XHRjb25zdCB0YXJnZXRPYmplY3QgPSBpbnRlcm5hbERhdGFNb2RlbFBhdGg/LnRhcmdldE9iamVjdDtcblxuXHRcdGlmICghaW50ZXJuYWxEYXRhTW9kZWxQYXRoKSB7XG5cdFx0XHRyZXR1cm47XG5cdFx0fVxuXHRcdGlmIChpc1Byb3BlcnR5KHRhcmdldE9iamVjdCkpIHtcblx0XHRcdGlmICh0YXJnZXRPYmplY3Q/LmFubm90YXRpb25zPy5VST8uRGF0YUZpZWxkRGVmYXVsdCAhPT0gdW5kZWZpbmVkKSB7XG5cdFx0XHRcdHRoaXMuZGF0YU1vZGVsUGF0aCA9IHRoaXMuZ2V0RGF0YU1vZGVsT2JqZWN0Rm9yTWV0YVBhdGg8RGF0YUZpZWxkPihcblx0XHRcdFx0XHRgJHt0aGlzLm1ldGFQYXRofUAke1VJQW5ub3RhdGlvblRlcm1zLkRhdGFGaWVsZERlZmF1bHR9YCxcblx0XHRcdFx0XHR0aGlzLmNvbnRleHRQYXRoXG5cdFx0XHRcdCk7XG5cdFx0XHR9XG5cdFx0XHR0aGlzLnZhbHVlRGF0YU1vZGVsUGF0aCA9IGludGVybmFsRGF0YU1vZGVsUGF0aCBhcyBEYXRhTW9kZWxPYmplY3RQYXRoPFByb3BlcnR5Pjtcblx0XHR9IGVsc2Uge1xuXHRcdFx0dGhpcy5kYXRhTW9kZWxQYXRoID0gaW50ZXJuYWxEYXRhTW9kZWxQYXRoIGFzIERhdGFNb2RlbE9iamVjdFBhdGg8RGF0YUZpZWxkIHwgRGF0YVBvaW50VHlwZT47XG5cdFx0XHRpZiAodGhpcy5kYXRhTW9kZWxQYXRoPy50YXJnZXRPYmplY3Q/LlZhbHVlPy5wYXRoKSB7XG5cdFx0XHRcdHRoaXMudmFsdWVEYXRhTW9kZWxQYXRoID0gZW5oYW5jZURhdGFNb2RlbFBhdGg8UHJvcGVydHk+KGludGVybmFsRGF0YU1vZGVsUGF0aCwgdGhpcy5kYXRhTW9kZWxQYXRoLnRhcmdldE9iamVjdC5WYWx1ZS5wYXRoKTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQvKipcblx0ICogR2V0cyB0aGUgY3JpdGljYWxpdHkgZXhwcmVzc2lvbiBmb3IgdGhlIE9iamVjdFN0YXR1cy5cblx0ICogQHJldHVybnMgVGhlIGNvbXBpbGVkIGJpbmRpbmcgZXhwcmVzc2lvbiBmb3IgY3JpdGljYWxpdHkgY29sb3IsIG9yIHVuZGVmaW5lZCBpZiBubyBjcml0aWNhbGl0eSBpcyBhdmFpbGFibGVcblx0ICovXG5cdHByaXZhdGUgZ2V0Q3JpdGljYWxpdHlFeHByZXNzaW9uKCk6IENvbXBpbGVkQmluZGluZ1Rvb2xraXRFeHByZXNzaW9uIHwgdW5kZWZpbmVkIHtcblx0XHRyZXR1cm4gdGhpcy5kYXRhTW9kZWxQYXRoID09PSB1bmRlZmluZWQgPyB1bmRlZmluZWQgOiBidWlsZEV4cHJlc3Npb25Gb3JDcml0aWNhbGl0eUNvbG9yKHRoaXMuZGF0YU1vZGVsUGF0aCwgdGhpcy5kYXRhTW9kZWxQYXRoKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZXRzIHRoZSBjcml0aWNhbGl0eSBpY29uIGV4cHJlc3Npb24gZm9yIHRoZSBPYmplY3RTdGF0dXMuXG5cdCAqIEByZXR1cm5zIFRoZSBjb21waWxlZCBiaW5kaW5nIGV4cHJlc3Npb24gZm9yIGNyaXRpY2FsaXR5IGljb24sIG9yIHVuZGVmaW5lZCBpZiBubyBjcml0aWNhbGl0eSBpcyBhdmFpbGFibGVcblx0ICovXG5cdHByaXZhdGUgZ2V0Q3JpdGljYWxpdHlJY29uRXhwcmVzc2lvbigpOiBDb21waWxlZEJpbmRpbmdUb29sa2l0RXhwcmVzc2lvbiB8IHVuZGVmaW5lZCB7XG5cdFx0cmV0dXJuIHRoaXMuZGF0YU1vZGVsUGF0aCA9PT0gdW5kZWZpbmVkID8gdW5kZWZpbmVkIDogYnVpbGRFeHByZXNzaW9uRm9yQ3JpdGljYWxpdHlJY29uKHRoaXMuZGF0YU1vZGVsUGF0aCwgdGhpcy5kYXRhTW9kZWxQYXRoKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZXRzIHRoZSB0ZXh0IGJpbmRpbmcgZXhwcmVzc2lvbiBmb3IgdGhlIE9iamVjdFN0YXR1cy5cblx0ICogQHJldHVybnMgVGhlIGNvbXBpbGVkIGJpbmRpbmcgZXhwcmVzc2lvbiBmb3IgdGhlIE9iamVjdFN0YXR1cyB0ZXh0IGNvbnRlbnRcblx0ICovXG5cdHByaXZhdGUgZ2V0T2JqZWN0U3RhdHVzVGV4dEJpbmRpbmcoKTogQ29tcGlsZWRCaW5kaW5nVG9vbGtpdEV4cHJlc3Npb24ge1xuXHRcdGNvbnN0IHByb3BlcnR5T3JEYXRhRmllbGREYXRhTW9kZWxPYmplY3RQYXRoID0gKHRoaXMudmFsdWVEYXRhTW9kZWxQYXRoID8/IHRoaXMuZGF0YU1vZGVsUGF0aCkgYXMgRGF0YU1vZGVsT2JqZWN0UGF0aDxcblx0XHRcdFByb3BlcnR5IHwgRGF0YUZpZWxkIHwgRGF0YVBvaW50VHlwZVxuXHRcdD47XG5cdFx0cmV0dXJuIGdldFRleHRCaW5kaW5nKHByb3BlcnR5T3JEYXRhRmllbGREYXRhTW9kZWxPYmplY3RQYXRoLCB7fSkgYXMgQ29tcGlsZWRCaW5kaW5nVG9vbGtpdEV4cHJlc3Npb247XG5cdH1cblxuXHQvKipcblx0ICogQ3JlYXRlcyB0aGUgT2JqZWN0U3RhdHVzIGNvbnRyb2wgY29udGVudC5cblx0ICogQHJldHVybnMgVGhlIGNvbmZpZ3VyZWQgT2JqZWN0U3RhdHVzIGNvbnRyb2wgcmVhZHkgZm9yIHJlbmRlcmluZ1xuXHQgKi9cblx0Y3JlYXRlQ29udGVudCgpOiBNT2JqZWN0U3RhdHVzIHtcblx0XHRjb25zdCBkYXRhRmllbGRPclByb3BlcnR5RGF0YU1vZGVsT2JqZWN0UGF0aCA9ICh0aGlzLmRhdGFNb2RlbFBhdGggPz8gdGhpcy52YWx1ZURhdGFNb2RlbFBhdGgpIGFzIERhdGFNb2RlbE9iamVjdFBhdGg8XG5cdFx0XHRQcm9wZXJ0eSB8IERhdGFGaWVsZCB8IERhdGFQb2ludFR5cGVcblx0XHQ+O1xuXHRcdGNvbnN0IHZpc2libGUgPSBnZXRWaXNpYmxlRXhwcmVzc2lvbihkYXRhRmllbGRPclByb3BlcnR5RGF0YU1vZGVsT2JqZWN0UGF0aCk7XG5cdFx0Y29uc3QgY3JpdGljYWxpdHlFeHByZXNzaW9uID0gdGhpcy5nZXRDcml0aWNhbGl0eUV4cHJlc3Npb24oKTtcblx0XHRjb25zdCBjcml0aWNhbGl0eUljb25FeHByZXNzaW9uID0gdGhpcy5nZXRDcml0aWNhbGl0eUljb25FeHByZXNzaW9uKCk7XG5cdFx0Y29uc3QgdGV4dEJpbmRpbmcgPSB0aGlzLmdldE9iamVjdFN0YXR1c1RleHRCaW5kaW5nKCk7XG5cdFx0Y29uc3QgaXNBY3RpdmUgPSAhIXRoaXMucHJlc3M7XG5cblx0XHRyZXR1cm4gKFxuXHRcdFx0PE1PYmplY3RTdGF0dXNcblx0XHRcdFx0aWQ9e2dlbmVyYXRlKFt0aGlzLmdldElkKCksIFwiT2JqZWN0U3RhdHVzXCJdKX1cblx0XHRcdFx0aW52ZXJ0ZWQ9e3RydWV9XG5cdFx0XHRcdGNsYXNzPXt0aGlzLmxhcmdlRGVzaWduID8gXCJzYXBNT2JqZWN0U3RhdHVzTGFyZ2Ugc2FwTU9iamVjdFN0YXR1c0xvbmdUZXh0XCIgOiB1bmRlZmluZWR9XG5cdFx0XHRcdHN0YXRlPXtjcml0aWNhbGl0eUV4cHJlc3Npb259XG5cdFx0XHRcdGljb249e3RoaXMuaGlkZUljb24gPyB1bmRlZmluZWQgOiBjcml0aWNhbGl0eUljb25FeHByZXNzaW9ufVxuXHRcdFx0XHR0ZXh0PXt0ZXh0QmluZGluZ31cblx0XHRcdFx0dmlzaWJsZT17dmlzaWJsZX1cblx0XHRcdFx0YWN0aXZlPXtpc0FjdGl2ZX1cblx0XHRcdFx0cmVhY3RpdmVBcmVhTW9kZT17dGhpcy5yZWFjdGl2ZUFyZWFNb2RlfVxuXHRcdFx0XHRwcmVzcz17KHByZXNzRXZlbnQ6IE9iamVjdFN0YXR1cyRQcmVzc0V2ZW50KTogdm9pZCA9PiB7XG5cdFx0XHRcdFx0dGhpcy5maXJlRXZlbnQoXCJwcmVzc1wiLCBwcmVzc0V2ZW50KTtcblx0XHRcdFx0fX1cblx0XHRcdC8+XG5cdFx0KTtcblx0fVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBaUJBO0FBQ0E7QUFDQTtFQUZBLElBSXFCQSxNQUFNLElBQUFDLElBQUEsR0FEMUJDLGNBQWMsQ0FBQyxzQkFBc0IsQ0FBQyxFQUFBQyxLQUFBLEdBRXJDQyxrQkFBa0IsQ0FBQywwQkFBMEIsQ0FBQyxFQUFBQyxLQUFBLEdBTzlDQyxRQUFRLENBQUM7SUFDVEMs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
@@ -0,0 +1,192 @@
1
+ import type { Property } from "@sap-ux/vocabularies-types";
2
+ import type { DataField, DataPointType } from "@sap-ux/vocabularies-types/vocabularies/UI";
3
+ import { UIAnnotationTerms } from "@sap-ux/vocabularies-types/vocabularies/UI";
4
+ import type { CompiledBindingToolkitExpression } from "sap/fe/base/BindingToolkit";
5
+ import { defineUI5Class, event, implementInterface, property, type PropertiesOf } from "sap/fe/base/ClassSupport";
6
+ import BuildingBlock from "sap/fe/core/buildingBlocks/BuildingBlock";
7
+ import { generate } from "sap/fe/core/helpers/StableIdHelper";
8
+ import { isProperty } from "sap/fe/core/helpers/TypeGuards";
9
+ import { buildExpressionForCriticalityColor, buildExpressionForCriticalityIcon } from "sap/fe/core/templating/CriticalityFormatters";
10
+ import type { DataModelObjectPath } from "sap/fe/core/templating/DataModelPathHelper";
11
+ import { enhanceDataModelPath } from "sap/fe/core/templating/DataModelPathHelper";
12
+ import { getTextBinding, getVisibleExpression } from "sap/fe/macros/field/FieldTemplating";
13
+ import type { ObjectStatus$PressEvent } from "sap/m/ObjectStatus";
14
+ import MObjectStatus from "sap/m/ObjectStatus";
15
+ import type { $ControlSettings } from "sap/ui/core/Control";
16
+ import type { IFormContent } from "sap/ui/core/library";
17
+
18
+ /**
19
+ * Building block for displaying object status with criticality in inverted mode.
20
+ */
21
+ @defineUI5Class("sap.fe.macros.Status")
22
+ export default class Status extends BuildingBlock<MObjectStatus> implements IFormContent {
23
+ @implementInterface("sap.ui.core.IFormContent")
24
+ __implements__sap_ui_core_IFormContent = true;
25
+
26
+ /**
27
+ * Metadata path to the DataField annotation or property.
28
+ * @public
29
+ */
30
+ @property({
31
+ type: "string",
32
+ required: true
33
+ })
34
+ public metaPath!: string;
35
+
36
+ /**
37
+ * Context path for the binding context.
38
+ * @public
39
+ */
40
+ @property({
41
+ type: "string"
42
+ })
43
+ public contextPath?: string;
44
+
45
+ /**
46
+ * When the Status is clickable, it defines the size of the reactive area of the clickable element:
47
+ *
48
+ * - ReactiveAreaMode.Inline - The Status is displayed as part of a sentence.
49
+ * - ReactiveAreaMode.Overlay - The Status is displayed as an overlay on top of other interactive parts of the page.
50
+ * Note: It is designed to make the clickable element easier to activate and helps meet the WCAG 2.2 Target Size requirement. It is applicable only for the SAP Horizon themes. Note: The size of the reactive area is sufficiently large to help users avoid accidentally selecting (clicking or tapping) unintended UI elements. UI elements positioned over other parts of the page may need an invisible active touch area. This ensures that no elements beneath are activated accidentally when the user tries to interact with the overlay element.
51
+ * @public
52
+ */
53
+ @property({ type: "string", allowedValues: ["Inline", "Overlay"] })
54
+ public reactiveAreaMode?: "Inline" | "Overlay";
55
+
56
+ /**
57
+ * Indicates whether the ObjectStatus should be displayed in large design mode.
58
+ * @public
59
+ */
60
+ @property({ type: "boolean" })
61
+ public largeDesign = false;
62
+
63
+ @property({ type: "boolean" })
64
+ public hideIcon = false;
65
+
66
+ /**
67
+ * Press event fired when the ObjectStatus is clicked.
68
+ * @param event The press event
69
+ * @public
70
+ */
71
+ @event()
72
+ public press?: (event: ObjectStatus$PressEvent) => void;
73
+
74
+ /**
75
+ * Internal property to store the data model path
76
+ */
77
+ private dataModelPath?: DataModelObjectPath<DataField | DataPointType>;
78
+
79
+ private valueDataModelPath?: DataModelObjectPath<Property>;
80
+
81
+ /**
82
+ * Constructor for the Status building block.
83
+ * @param properties The properties object containing Status-specific settings and base control settings
84
+ * @param [others] Additional control settings that may be applied to the building block
85
+ */
86
+ constructor(properties: $ControlSettings & PropertiesOf<Status>, others?: $ControlSettings) {
87
+ super(properties, others);
88
+ }
89
+
90
+ /**
91
+ * Handler for the onMetadataAvailable event.
92
+ */
93
+ onMetadataAvailable(): void {
94
+ this.getTemplatingObjects();
95
+ if (!this.dataModelPath && !this.valueDataModelPath) {
96
+ // there cannot be a static value and no datafield or datapoint
97
+ return;
98
+ }
99
+ if (!this.content) {
100
+ this.content = this.createContent();
101
+ }
102
+ }
103
+
104
+ /**
105
+ * Function to get the templating objects and prepare data model paths.
106
+ */
107
+ private getTemplatingObjects(): void {
108
+ // Try to get as DataField first, then as DataPoint, then as Property
109
+ const internalDataModelPath = this.getDataModelObjectForMetaPath<DataField | DataPointType | Property>(
110
+ this.metaPath,
111
+ this.contextPath
112
+ );
113
+ const targetObject = internalDataModelPath?.targetObject;
114
+
115
+ if (!internalDataModelPath) {
116
+ return;
117
+ }
118
+ if (isProperty(targetObject)) {
119
+ if (targetObject?.annotations?.UI?.DataFieldDefault !== undefined) {
120
+ this.dataModelPath = this.getDataModelObjectForMetaPath<DataField>(
121
+ `${this.metaPath}@${UIAnnotationTerms.DataFieldDefault}`,
122
+ this.contextPath
123
+ );
124
+ }
125
+ this.valueDataModelPath = internalDataModelPath as DataModelObjectPath<Property>;
126
+ } else {
127
+ this.dataModelPath = internalDataModelPath as DataModelObjectPath<DataField | DataPointType>;
128
+ if (this.dataModelPath?.targetObject?.Value?.path) {
129
+ this.valueDataModelPath = enhanceDataModelPath<Property>(internalDataModelPath, this.dataModelPath.targetObject.Value.path);
130
+ }
131
+ }
132
+ }
133
+
134
+ /**
135
+ * Gets the criticality expression for the ObjectStatus.
136
+ * @returns The compiled binding expression for criticality color, or undefined if no criticality is available
137
+ */
138
+ private getCriticalityExpression(): CompiledBindingToolkitExpression | undefined {
139
+ return this.dataModelPath === undefined ? undefined : buildExpressionForCriticalityColor(this.dataModelPath, this.dataModelPath);
140
+ }
141
+
142
+ /**
143
+ * Gets the criticality icon expression for the ObjectStatus.
144
+ * @returns The compiled binding expression for criticality icon, or undefined if no criticality is available
145
+ */
146
+ private getCriticalityIconExpression(): CompiledBindingToolkitExpression | undefined {
147
+ return this.dataModelPath === undefined ? undefined : buildExpressionForCriticalityIcon(this.dataModelPath, this.dataModelPath);
148
+ }
149
+
150
+ /**
151
+ * Gets the text binding expression for the ObjectStatus.
152
+ * @returns The compiled binding expression for the ObjectStatus text content
153
+ */
154
+ private getObjectStatusTextBinding(): CompiledBindingToolkitExpression {
155
+ const propertyOrDataFieldDataModelObjectPath = (this.valueDataModelPath ?? this.dataModelPath) as DataModelObjectPath<
156
+ Property | DataField | DataPointType
157
+ >;
158
+ return getTextBinding(propertyOrDataFieldDataModelObjectPath, {}) as CompiledBindingToolkitExpression;
159
+ }
160
+
161
+ /**
162
+ * Creates the ObjectStatus control content.
163
+ * @returns The configured ObjectStatus control ready for rendering
164
+ */
165
+ createContent(): MObjectStatus {
166
+ const dataFieldOrPropertyDataModelObjectPath = (this.dataModelPath ?? this.valueDataModelPath) as DataModelObjectPath<
167
+ Property | DataField | DataPointType
168
+ >;
169
+ const visible = getVisibleExpression(dataFieldOrPropertyDataModelObjectPath);
170
+ const criticalityExpression = this.getCriticalityExpression();
171
+ const criticalityIconExpression = this.getCriticalityIconExpression();
172
+ const textBinding = this.getObjectStatusTextBinding();
173
+ const isActive = !!this.press;
174
+
175
+ return (
176
+ <MObjectStatus
177
+ id={generate([this.getId(), "ObjectStatus"])}
178
+ inverted={true}
179
+ class={this.largeDesign ? "sapMObjectStatusLarge sapMObjectStatusLongText" : undefined}
180
+ state={criticalityExpression}
181
+ icon={this.hideIcon ? undefined : criticalityIconExpression}
182
+ text={textBinding}
183
+ visible={visible}
184
+ active={isActive}
185
+ reactiveAreaMode={this.reactiveAreaMode}
186
+ press={(pressEvent: ObjectStatus$PressEvent): void => {
187
+ this.fireEvent("press", pressEvent);
188
+ }}
189
+ />
190
+ );
191
+ }
192
+ }
@@ -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/fe/base/ClassSupport", "sap/fe/core/buildingBlocks/BuildingBlock", "sap/fe/core/helpers/ModelHelper", "sap/fe/core/helpers/TypeGuards", "sap/fe/macros/field/FieldHelper", "sap/fe/macros/internal/valuehelp/ValueHelpTemplating", "sap/base/Log", "sap/ui/core/Element", "./internal/valuehelp/ValueListHelper"], function (ClassSupport, BuildingBlock, ModelHelper, TypeGuards, FieldHelper, ValueHelpTemplating, Log, UI5Element, ValueListHelper) {
5
+ sap.ui.define(["sap/fe/base/ClassSupport", "sap/fe/core/buildingBlocks/BuildingBlock", "sap/fe/core/helpers/ModelHelper", "sap/fe/core/helpers/TypeGuards", "sap/fe/macros/field/FieldHelper", "sap/fe/macros/internal/valuehelp/ValueHelpTemplating", "sap/ui/core/Element"], function (ClassSupport, BuildingBlock, ModelHelper, TypeGuards, FieldHelper, ValueHelpTemplating, UI5Element) {
6
6
  "use strict";
7
7
 
8
8
  var _dec, _dec2, _dec3, _dec4, _dec5, _dec6, _dec7, _dec8, _dec9, _dec10, _dec11, _class, _class2, _descriptor, _descriptor2, _descriptor3, _descriptor4, _descriptor5, _descriptor6, _descriptor7, _descriptor8, _descriptor9, _descriptor10;
@@ -118,35 +118,11 @@ sap.ui.define(["sap/fe/base/ClassSupport", "sap/fe/core/buildingBlocks/BuildingB
118
118
  var _proto = ValueHelp.prototype;
119
119
  _proto.onMetadataAvailable = function onMetadataAvailable() {
120
120
  if (!this.content) {
121
- this._getOwner()?.runAsOwner(async () => {
122
- try {
123
- this.content = this.createContent();
124
- const content = this.content;
125
- const vhPayload = content?.getPayload?.();
126
- const metaModel = this._getOwner()?.getMetaModel();
127
- if (vhPayload && metaModel) {
128
- const metaContextPath = this.getMetaPathObject(this.metaPath, this.contextPath);
129
- const propertyPath = metaContextPath?.getPath();
130
- await this._resolveValueHelpDescriptionPath(vhPayload, metaModel, propertyPath, content);
131
- }
132
- } catch (err) {
133
- const errorMessage = err instanceof Error ? err : new Error(String(err));
134
- Log.warning("Failed to create content or resolve description path", errorMessage, "sap.fe.macros.ValueHelp");
135
- }
121
+ this._getOwner()?.runAsOwner(() => {
122
+ this.content = this.createContent();
136
123
  });
137
124
  }
138
125
  };
139
- _proto._resolveValueHelpDescriptionPath = async function _resolveValueHelpDescriptionPath(payload, metaModel, propertyPath, content) {
140
- const valueListInfos = await ValueListHelper.getValueListInfo(undefined, propertyPath, payload, metaModel);
141
- let qualifierForTypeahead = typeof content?.data === "function" ? content.data("valuelistForValidation") || "" : "";
142
- if (qualifierForTypeahead === " ") {
143
- qualifierForTypeahead = "";
144
- }
145
- const valueListInfo = qualifierForTypeahead ? valueListInfos.find(sub => sub.valueHelpQualifier === qualifierForTypeahead) || valueListInfos[0] : valueListInfos[0];
146
- if (valueListInfo) {
147
- ValueListHelper._addDescriptionInfosToPayload(payload, valueListInfo, metaModel);
148
- }
149
- };
150
126
  _proto.createContent = function createContent() {
151
127
  const metaContextPath = this.getMetaPathObject(this.metaPath, this.contextPath);
152
128
  const metaModel = this._getOwner()?.getMetaModel(this.metaModel);
@@ -251,4 +227,4 @@ sap.ui.define(["sap/fe/base/ClassSupport", "sap/fe/core/buildingBlocks/BuildingB
251
227
  _exports = ValueHelp;
252
228
  return _exports;
253
229
  }, false);
254
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJWYWx1ZUhlbHAiLCJfZGVjIiwiZGVmaW5lVUk1Q2xhc3MiLCJfZGVjMiIsImFzc29jaWF0aW9uIiwidHlwZSIsIl9kZWMzIiwicHJvcGVydHkiLCJfZGVjNCIsIl9kZWM1IiwiX2RlYzYiLCJfZGVjNyIsIl9kZWM4IiwiX2RlYzkiLCJfZGVjMTAiLCJfZGVjMTEiLCJfY2xhc3MiLCJfY2xhc3MyIiwiX0J1aWxkaW5nQmxvY2siLCJwcm9wcyIsIm90aGVycyIsIl90aGlzIiwiX2ZsZXhJZCIsImlkIiwiY2FsbCIsIl9pbml0aWFsaXplckRlZmluZVByb3BlcnR5IiwiX2Rlc2NyaXB0b3IiLCJfZGVzY3JpcHRvcjIiLCJfZGVzY3JpcHRvcjMiLCJfZGVzY3JpcHRvcjQiLCJfZGVzY3JpcHRvcjUiLCJfZGVzY3JpcHRvcjYiLCJfZGVzY3JpcHRvcjciLCJfZGVzY3JpcHRvcjgiLCJfZGVzY3JpcHRvcjkiLCJfZGVzY3JpcHRvcjEwIiwicmVxdWVzdEdyb3VwSWQiLCJjb2xsYWJvcmF0aW9uRW5hYmxlZCIsIl9leHBvcnRzIiwiX2luaGVyaXRzTG9vc2UiLCJnZXRWYWx1ZUhlbHBGb3JNZXRhUGF0aCIsInBhZ2VDb250cm9sbGVyIiwibWV0YVBhdGgiLCJjb250ZXh0UGF0aCIsIm1ldGFNb2RlbCIsInJlcXVpcmVzVmFsaWRhdGlvbiIsImFyZ3VtZW50cyIsImxlbmd0aCIsInVuZGVmaW5lZCIsImRlcGVuZGVudHMiLCJnZXRWaWV3IiwiZ2V0RGVwZW5kZW50cyIsInRhcmdldE1ldGFQYXRoIiwic3RhcnRzV2l0aCIsImZvdW5kRGVwIiwiZmluZCIsImNoaWxkIiwiaXNBIiwiY2hpbGRNZXRhUGF0aCIsImdldE1ldGFQYXRoIiwiY2hpbGRDb250ZXh0UGF0aCIsImdldENvbnRleHRQYXRoIiwiY2hpbGRUYXJnZXRQYXRoIiwidmFsdWVIZWxwIiwiZ2V0SWQiLCJpZFByZWZpeCIsImNyZWF0ZUlkIiwiYWRkRGVwZW5kZW50IiwiZ2V0Q29udGVudCIsInRhcmdldElkIiwiaW5uZXJWYWx1ZUhlbHAiLCJVSTVFbGVtZW50IiwiZ2V0RWxlbWVudEJ5SWQiLCJkZXN0cm95IiwiZ2V0UGFyZW50IiwiX3Byb3RvIiwicHJvdG90eXBlIiwib25NZXRhZGF0YUF2YWlsYWJsZSIsImNvbnRlbnQiLCJfZ2V0T3duZXIiLCJydW5Bc093bmVyIiwiY3JlYXRlQ29udGVudCIsInZoUGF5bG9hZCIsImdldFBheWxvYWQiLCJnZXRNZXRhTW9kZWwiLCJtZXRhQ29udGV4dFBhdGgiLCJnZXRNZXRhUGF0aE9iamVjdCIsInByb3BlcnR5UGF0aCIsImdldFBhdGgiLCJfcmVzb2x2ZVZhbHVlSGVscERlc2NyaXB0aW9uUGF0aCIsImVyciIsImVycm9yTWVzc2FnZSIsIkVycm9yIiwiU3RyaW5nIiwiTG9nIiwid2FybmluZyIsInBheWxvYWQiLCJ2YWx1ZUxpc3RJbmZvcyIsIlZhbHVlTGlzdEhlbHBlciIsImdldFZhbHVlTGlzdEluZm8iLCJxdWFsaWZpZXJGb3JUeXBlYWhlYWQiLCJkYXRhIiwidmFsdWVMaXN0SW5mbyIsInN1YiIsInZhbHVlSGVscFF1YWxpZmllciIsIl9hZGREZXNjcmlwdGlvbkluZm9zVG9QYXlsb2FkIiwiZW50aXR5U2V0T3JTaW5nbGV0b24iLCJnZXRDbG9zZXN0RW50aXR5U2V0IiwiaXNFbnRpdHlTZXQiLCJNb2RlbEhlbHBlciIsImlzQ29sbGFib3JhdGlvbkRyYWZ0U3VwcG9ydGVkIiwiY3JlYXRlQmluZGluZ0NvbnRleHQiLCJmaWx0ZXJGaWVsZFZhbHVlSGVscCIsIkZpZWxkSGVscGVyIiwidmFsdWVIZWxwUHJvcGVydHlGb3JGaWx0ZXJGaWVsZCIsInZhbHVlSGVscFByb3BlcnR5IiwidGVtcGxhdGVSZXN1bHQiLCJnZXRWYWx1ZUhlbHBUZW1wbGF0ZSIsInVzZVNlbWFudGljRGF0ZVJhbmdlIiwidXNlTXVsdGlWYWx1ZUZpZWxkIiwibmF2aWdhdGlvblByZWZpeCIsImNvbmRpdGlvbk1vZGVsIiwiQnVpbGRpbmdCbG9jayIsIl9hcHBseURlY29yYXRlZERlc2NyaXB0b3IiLCJjb25maWd1cmFibGUiLCJlbnVtZXJhYmxlIiwid3JpdGFibGUiLCJpbml0aWFsaXplciJdLCJzb3VyY2VSb290IjoiLiIsInNvdXJjZXMiOlsiVmFsdWVIZWxwLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEVuaGFuY2VXaXRoVUk1LCBQcm9wZXJ0aWVzT2YgfSBmcm9tIFwic2FwL2ZlL2Jhc2UvQ2xhc3NTdXBwb3J0XCI7XG5pbXBvcnQgeyBhc3NvY2lhdGlvbiwgZGVmaW5lVUk1Q2xhc3MsIHByb3BlcnR5IH0gZnJvbSBcInNhcC9mZS9iYXNlL0NsYXNzU3VwcG9ydFwiO1xuaW1wb3J0IEJ1aWxkaW5nQmxvY2sgZnJvbSBcInNhcC9mZS9jb3JlL2J1aWxkaW5nQmxvY2tzL0J1aWxkaW5nQmxvY2tcIjtcbmltcG9ydCBNb2RlbEhlbHBlciBmcm9tIFwic2FwL2ZlL2NvcmUvaGVscGVycy9Nb2RlbEhlbHBlclwiO1xuaW1wb3J0IHsgaXNFbnRpdHlTZXQgfSBmcm9tIFwic2FwL2ZlL2NvcmUvaGVscGVycy9UeXBlR3VhcmRzXCI7XG5pbXBvcnQgRmllbGRIZWxwZXIgZnJvbSBcInNhcC9mZS9tYWNyb3MvZmllbGQvRmllbGRIZWxwZXJcIjtcbmltcG9ydCB7IGdldFZhbHVlSGVscFRlbXBsYXRlIH0gZnJvbSBcInNhcC9mZS9tYWNyb3MvaW50ZXJuYWwvdmFsdWVoZWxwL1ZhbHVlSGVscFRlbXBsYXRpbmdcIjtcblxuaW1wb3J0IExvZyBmcm9tIFwic2FwL2Jhc2UvTG9nXCI7XG5pbXBvcnQgdHlwZSBQYWdlQ29udHJvbGxlciBmcm9tIFwic2FwL2ZlL2NvcmUvUGFnZUNvbnRyb2xsZXJcIjtcbmltcG9ydCB0eXBlIENvbnRyb2wgZnJvbSBcInNhcC91aS9jb3JlL0NvbnRyb2xcIjtcbmltcG9ydCBVSTVFbGVtZW50IGZyb20gXCJzYXAvdWkvY29yZS9FbGVtZW50XCI7XG5pbXBvcnQgdHlwZSBNRENWYWx1ZUhlbHAgZnJvbSBcInNhcC91aS9tZGMvVmFsdWVIZWxwXCI7XG5pbXBvcnQgdHlwZSBPRGF0YU1ldGFNb2RlbCBmcm9tIFwic2FwL3VpL21vZGVsL29kYXRhL3Y0L09EYXRhTWV0YU1vZGVsXCI7XG5pbXBvcnQgdHlwZSB7IFZhbHVlSGVscFBheWxvYWQgfSBmcm9tIFwiLi9pbnRlcm5hbC92YWx1ZWhlbHAvVmFsdWVMaXN0SGVscGVyXCI7XG5pbXBvcnQgVmFsdWVMaXN0SGVscGVyIGZyb20gXCIuL2ludGVybmFsL3ZhbHVlaGVscC9WYWx1ZUxpc3RIZWxwZXJcIjtcblxuLyoqXG4gKiBCdWlsZGluZyBibG9jayBmb3IgY3JlYXRpbmcgYSBWYWx1ZUhlbHAgYmFzZWQgb24gdGhlIHByb3ZpZGVkIE9EYXRhIFY0IG1ldGFkYXRhLlxuICogQHByaXZhdGVcbiAqL1xuQGRlZmluZVVJNUNsYXNzKFwic2FwLmZlLm1hY3Jvcy5WYWx1ZUhlbHBcIilcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFZhbHVlSGVscCBleHRlbmRzIEJ1aWxkaW5nQmxvY2s8TURDVmFsdWVIZWxwIHwgQ29udHJvbD4ge1xuXHQvKipcblx0ICogQSBwcmVmaXggdGhhdCBpcyBhZGRlZCB0byB0aGUgZ2VuZXJhdGVkIElEIG9mIHRoZSB2YWx1ZSBoZWxwLlxuXHQgKi9cblx0QGFzc29jaWF0aW9uKHsgdHlwZTogXCJzdHJpbmdcIiB9KVxuXHRpZFByZWZpeD86IHN0cmluZztcblxuXHQvKipcblx0ICogRGVmaW5lcyB0aGUgbWV0YWRhdGEgcGF0aCB0byB0aGUgcHJvcGVydHkuXG5cdCAqL1xuXHRAcHJvcGVydHkoeyB0eXBlOiBcInN0cmluZ1wiIH0pXG5cdG1ldGFQYXRoITogc3RyaW5nO1xuXG5cdEBwcm9wZXJ0eSh7IHR5cGU6IFwic3RyaW5nXCIgfSlcblx0Y29udGV4dFBhdGghOiBzdHJpbmc7XG5cblx0LyoqXG5cdCAqIEluZGljYXRvciB3aGV0aGVyIHRoZSB2YWx1ZSBoZWxwIGlzIGZvciBhIGZpbHRlciBmaWVsZC5cblx0ICovXG5cdEBwcm9wZXJ0eSh7IHR5cGU6IFwic3RyaW5nXCIgfSlcblx0Y29uZGl0aW9uTW9kZWwgPSBcIlwiO1xuXG5cdC8qKlxuXHQgKiBJbmRpY2F0ZXMgdGhhdCB0aGlzIGlzIGEgdmFsdWUgaGVscCBvZiBhIGZpbHRlciBmaWVsZC4gTmVjZXNzYXJ5IHRvIGRlY2lkZSBpZiBhXG5cdCAqIHZhbGlkYXRpb24gc2hvdWxkIG9jY3VyIG9uIHRoZSBiYWNrIGVuZCBvciBhbHJlYWR5IG9uIHRoZSBjbGllbnQuXG5cdCAqL1xuXHRAcHJvcGVydHkoeyB0eXBlOiBcImJvb2xlYW5cIiB9KVxuXHRmaWx0ZXJGaWVsZFZhbHVlSGVscCA9IGZhbHNlO1xuXG5cdC8qKlxuXHQgKiBTcGVjaWZpZXMgdGhlIFNlbWF0aWMgRGF0ZSBSYW5nZSBvcHRpb24gZm9yIHRoZSBmaWx0ZXIgZmllbGQuXG5cdCAqL1xuXHRAcHJvcGVydHkoeyB0eXBlOiBcImJvb2xlYW5cIiB9KVxuXHR1c2VTZW1hbnRpY0RhdGVSYW5nZSA9IHRydWU7XG5cblx0LyoqXG5cdCAqIFNwZWNpZmllcyB3aGV0aGVyIHRoZSBWYWx1ZUhlbHAgY2FuIGJlIHVzZWQgd2l0aCBhIE11bHRpVmFsdWVGaWVsZFxuXHQgKi9cblx0QHByb3BlcnR5KHsgdHlwZTogXCJib29sZWFuXCIgfSlcblx0dXNlTXVsdGlWYWx1ZUZpZWxkID0gZmFsc2U7XG5cblx0QHByb3BlcnR5KHsgdHlwZTogXCJzdHJpbmdcIiB9KVxuXHRuYXZpZ2F0aW9uUHJlZml4Pzogc3RyaW5nO1xuXG5cdEBwcm9wZXJ0eSh7IHR5cGU6IFwiYm9vbGVhblwiIH0pXG5cdHJlcXVpcmVzVmFsaWRhdGlvbiA9IGZhbHNlO1xuXG5cdEBhc3NvY2lhdGlvbih7IHR5cGU6IFwic3RyaW5nXCIgfSlcblx0Ly8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuXHRfZmxleElkPzogc3RyaW5nO1xuXG5cdHJlcXVlc3RHcm91cElkOiBzdHJpbmcgfCB1bmRlZmluZWQgPSBcIiRhdXRvLldvcmtlcnNcIjtcblxuXHRjb2xsYWJvcmF0aW9uRW5hYmxlZCA9IGZhbHNlO1xuXG5cdHRhcmdldElkPzogc3RyaW5nO1xuXG5cdGNvbnN0cnVjdG9yKHByb3BzOiBQcm9wZXJ0aWVzT2Y8VmFsdWVIZWxwPiwgb3RoZXJzPzogUHJvcGVydGllc09mPFZhbHVlSGVscD4pIHtcblx0XHRpZiAocHJvcHMuX2ZsZXhJZCkge1xuXHRcdFx0cHJvcHMuaWQgPSBwcm9wcy5fZmxleElkICsgXCI6OkJsb2NrXCI7XG5cdFx0fVxuXHRcdHN1cGVyKHByb3BzLCBvdGhlcnMpO1xuXHR9XG5cblx0c3RhdGljIGdldFZhbHVlSGVscEZvck1ldGFQYXRoKFxuXHRcdHBhZ2VDb250cm9sbGVyOiBQYWdlQ29udHJvbGxlcixcblx0XHRtZXRhUGF0aDogc3RyaW5nLFxuXHRcdGNvbnRleHRQYXRoOiBzdHJpbmcgfCB1bmRlZmluZWQsXG5cdFx0bWV0YU1vZGVsOiBPRGF0YU1ldGFNb2RlbCB8IHVuZGVmaW5lZCxcblx0XHRyZXF1aXJlc1ZhbGlkYXRpb24gPSBmYWxzZVxuXHQpOiBWYWx1ZUhlbHAgfCB1bmRlZmluZWQge1xuXHRcdGNvbnN0IGRlcGVuZGVudHMgPSBwYWdlQ29udHJvbGxlci5nZXRWaWV3KCk/LmdldERlcGVuZGVudHMoKTtcblx0XHRjb25zdCB0YXJnZXRNZXRhUGF0aCA9IG1ldGFQYXRoLnN0YXJ0c1dpdGgoXCIvXCIpID8gbWV0YVBhdGggOiBjb250ZXh0UGF0aCArIFwiL1wiICsgbWV0YVBhdGg7XG5cdFx0Y29uc3QgZm91bmREZXAgPSBkZXBlbmRlbnRzPy5maW5kKChjaGlsZCkgPT4ge1xuXHRcdFx0aWYgKGNoaWxkLmlzQTxFbmhhbmNlV2l0aFVJNTxWYWx1ZUhlbHA+PihcInNhcC5mZS5tYWNyb3MuVmFsdWVIZWxwXCIpICYmICFyZXF1aXJlc1ZhbGlkYXRpb24pIHtcblx0XHRcdFx0Y29uc3QgY2hpbGRNZXRhUGF0aCA9IGNoaWxkLmdldE1ldGFQYXRoKCk7XG5cdFx0XHRcdGNvbnN0IGNoaWxkQ29udGV4dFBhdGggPSBjaGlsZC5nZXRDb250ZXh0UGF0aCgpO1xuXHRcdFx0XHRjb25zdCBjaGlsZFRhcmdldFBhdGggPSBjaGlsZE1ldGFQYXRoLnN0YXJ0c1dpdGgoXCIvXCIpID8gY2hpbGRNZXRhUGF0aCA6IGNoaWxkQ29udGV4dFBhdGggKyBcIi9cIiArIGNoaWxkTWV0YVBhdGg7XG5cdFx0XHRcdHJldHVybiBjaGlsZFRhcmdldFBhdGggPT09IHRhcmdldE1ldGFQYXRoO1xuXHRcdFx0fVxuXHRcdFx0cmV0dXJuIGZhbHNlO1xuXHRcdH0pO1xuXHRcdGlmICghZm91bmREZXApIHtcblx0XHRcdGNvbnN0IHZhbHVlSGVscCA9IG5ldyBWYWx1ZUhlbHAoe1xuXHRcdFx0XHRtZXRhUGF0aDogbWV0YVBhdGgsXG5cdFx0XHRcdGNvbnRleHRQYXRoOiBjb250ZXh0UGF0aCxcblx0XHRcdFx0bWV0YU1vZGVsOiBtZXRhTW9kZWw/LmdldElkKCksXG5cdFx0XHRcdGlkUHJlZml4OiBwYWdlQ29udHJvbGxlci5nZXRWaWV3KCk/LmNyZWF0ZUlkKFwiRmllbGRWYWx1ZUhlbHBcIiksXG5cdFx0XHRcdHJlcXVpcmVzVmFsaWRhdGlvbjogcmVxdWlyZXNWYWxpZGF0aW9uXG5cdFx0XHR9KTtcblx0XHRcdHBhZ2VDb250cm9sbGVyLmdldFZpZXcoKS5hZGREZXBlbmRlbnQodmFsdWVIZWxwKTtcblx0XHRcdGlmICghdmFsdWVIZWxwLmdldENvbnRlbnQoKSAmJiB2YWx1ZUhlbHAudGFyZ2V0SWQpIHtcblx0XHRcdFx0Y29uc3QgaW5uZXJWYWx1ZUhlbHAgPSBVSTVFbGVtZW50LmdldEVsZW1lbnRCeUlkKHZhbHVlSGVscC50YXJnZXRJZCk7XG5cdFx0XHRcdHZhbHVlSGVscC5kZXN0cm95KCk7XG5cdFx0XHRcdHJldHVybiBpbm5lclZhbHVlSGVscD8uZ2V0UGFyZW50KCkgYXMgVmFsdWVIZWxwIHwgdW5kZWZpbmVkO1xuXHRcdFx0fVxuXG5cdFx0XHRyZXR1cm4gdmFsdWVIZWxwO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHRyZXR1cm4gZm91bmREZXAgYXMgVmFsdWVIZWxwIHwgdW5kZWZpbmVkO1xuXHRcdH1cblx0fVxuXG5cdG9uTWV0YWRhdGFBdmFpbGFibGUoKTogdm9pZCB7XG5cdFx0aWYgKCF0aGlzLmNvbnRlbnQpIHtcblx0XHRcdHRoaXMuX2dldE93bmVyKCk/LnJ1bkFzT3duZXIoYXN5bmMgKCkgPT4ge1xuXHRcdFx0XHR0cnkge1xuXHRcdFx0XHRcdHRoaXMuY29udGVudCA9IHRoaXMuY3JlYXRlQ29udGVudCgpO1xuXHRcdFx0XHRcdGNvbnN0IGNvbnRlbnQgPSB0aGlzLmNvbnRlbnQgYXMgTURDVmFsdWVIZWxwO1xuXHRcdFx0XHRcdGNvbnN0IHZoUGF5bG9hZCA9IGNvbnRlbnQ/LmdldFBheWxvYWQ/LigpIGFzIFZhbHVlSGVscFBheWxvYWQ7XG5cdFx0XHRcdFx0Y29uc3QgbWV0YU1vZGVsID0gdGhpcy5fZ2V0T3duZXIoKT8uZ2V0TWV0YU1vZGVsKCk7XG5cblx0XHRcdFx0XHRpZiAodmhQYXlsb2FkICYmIG1ldGFNb2RlbCkge1xuXHRcdFx0XHRcdFx0Y29uc3QgbWV0YUNvbnRleHRQYXRoID0gdGhpcy5nZXRNZXRhUGF0aE9iamVjdCh0aGlzLm1ldGFQYXRoLCB0aGlzLmNvbnRleHRQYXRoKTtcblx0XHRcdFx0XHRcdGNvbnN0IHByb3BlcnR5UGF0aCA9IG1ldGFDb250ZXh0UGF0aD8uZ2V0UGF0aCgpIGFzIHN0cmluZztcblx0XHRcdFx0XHRcdGF3YWl0IHRoaXMuX3Jlc29sdmVWYWx1ZUhlbHBEZXNjcmlwdGlvblBhdGgodmhQYXlsb2FkLCBtZXRhTW9kZWwsIHByb3BlcnR5UGF0aCwgY29udGVudCk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9IGNhdGNoIChlcnIpIHtcblx0XHRcdFx0XHRjb25zdCBlcnJvck1lc3NhZ2UgPSBlcnIgaW5zdGFuY2VvZiBFcnJvciA/IGVyciA6IG5ldyBFcnJvcihTdHJpbmcoZXJyKSk7XG5cdFx0XHRcdFx0TG9nLndhcm5pbmcoXCJGYWlsZWQgdG8gY3JlYXRlIGNvbnRlbnQgb3IgcmVzb2x2ZSBkZXNjcmlwdGlvbiBwYXRoXCIsIGVycm9yTWVzc2FnZSwgXCJzYXAuZmUubWFjcm9zLlZhbHVlSGVscFwiKTtcblx0XHRcdFx0fVxuXHRcdFx0fSk7XG5cdFx0fVxuXHR9XG5cblx0cHJpdmF0ZSBhc3luYyBfcmVzb2x2ZVZhbHVlSGVscERlc2NyaXB0aW9uUGF0aChcblx0XHRwYXlsb2FkOiBWYWx1ZUhlbHBQYXlsb2FkLFxuXHRcdG1ldGFNb2RlbDogT0RhdGFNZXRhTW9kZWwsXG5cdFx0cHJvcGVydHlQYXRoOiBzdHJpbmcsXG5cdFx0Y29udGVudD86IENvbnRyb2wgfCBNRENWYWx1ZUhlbHBcblx0KTogUHJvbWlzZTx2b2lkPiB7XG5cdFx0Y29uc3QgdmFsdWVMaXN0SW5mb3MgPSBhd2FpdCBWYWx1ZUxpc3RIZWxwZXIuZ2V0VmFsdWVMaXN0SW5mbyh1bmRlZmluZWQsIHByb3BlcnR5UGF0aCwgcGF5bG9hZCwgbWV0YU1vZGVsKTtcblxuXHRcdGxldCBxdWFsaWZpZXJGb3JUeXBlYWhlYWQgPSB0eXBlb2YgY29udGVudD8uZGF0YSA9PT0gXCJmdW5jdGlvblwiID8gY29udGVudC5kYXRhKFwidmFsdWVsaXN0Rm9yVmFsaWRhdGlvblwiKSB8fCBcIlwiIDogXCJcIjtcblxuXHRcdGlmIChxdWFsaWZpZXJGb3JUeXBlYWhlYWQgPT09IFwiIFwiKSB7XG5cdFx0XHRxdWFsaWZpZXJGb3JUeXBlYWhlYWQgPSBcIlwiO1xuXHRcdH1cblxuXHRcdGNvbnN0IHZhbHVlTGlzdEluZm8gPSBxdWFsaWZpZXJGb3JUeXBlYWhlYWRcblx0XHRcdD8gdmFsdWVMaXN0SW5mb3MuZmluZCgoc3ViKSA9PiBzdWIudmFsdWVIZWxwUXVhbGlmaWVyID09PSBxdWFsaWZpZXJGb3JUeXBlYWhlYWQpIHx8IHZhbHVlTGlzdEluZm9zWzBdXG5cdFx0XHQ6IHZhbHVlTGlzdEluZm9zWzBdO1xuXG5cdFx0aWYgKHZhbHVlTGlzdEluZm8pIHtcblx0XHRcdFZhbHVlTGlzdEhlbHBlci5fYWRkRGVzY3JpcHRpb25JbmZvc1RvUGF5bG9hZChwYXlsb2FkLCB2YWx1ZUxpc3RJbmZvLCBtZXRhTW9kZWwpO1xuXHRcdH1cblx0fVxuXG5cdGNyZWF0ZUNvbnRlbnQoKTogQ29udHJvbCB8IE1EQ1ZhbHVlSGVscCB8IHVuZGVmaW5lZCB7XG5cdFx0Y29uc3QgbWV0YUNvbnRleHRQYXRoID0gdGhpcy5nZXRNZXRhUGF0aE9iamVjdCh0aGlzLm1ldGFQYXRoLCB0aGlzLmNvbnRleHRQYXRoKTtcblx0XHRjb25zdCBtZXRhTW9kZWwgPSB0aGlzLl9nZXRPd25lcigpPy5nZXRNZXRhTW9kZWwodGhpcy5tZXRhTW9kZWwpO1xuXHRcdGlmIChtZXRhQ29udGV4dFBhdGggJiYgbWV0YU1vZGVsKSB7XG5cdFx0XHRjb25zdCBlbnRpdHlTZXRPclNpbmdsZXRvbiA9IG1ldGFDb250ZXh0UGF0aC5nZXRDbG9zZXN0RW50aXR5U2V0KCk7XG5cdFx0XHRpZiAoaXNFbnRpdHlTZXQoZW50aXR5U2V0T3JTaW5nbGV0b24pKSB7XG5cdFx0XHRcdHRoaXMuY29sbGFib3JhdGlvbkVuYWJsZWQgPSBNb2RlbEhlbHBlci5pc0NvbGxhYm9yYXRpb25EcmFmdFN1cHBvcnRlZChtZXRhTW9kZWwpO1xuXHRcdFx0fVxuXG5cdFx0XHRsZXQgbWV0YVBhdGggPSBtZXRhTW9kZWwuY3JlYXRlQmluZGluZ0NvbnRleHQobWV0YUNvbnRleHRQYXRoLmdldFBhdGgoKSk7XG5cdFx0XHRpZiAobWV0YVBhdGgpIHtcblx0XHRcdFx0aWYgKHRoaXMuZmlsdGVyRmllbGRWYWx1ZUhlbHApIHtcblx0XHRcdFx0XHRtZXRhUGF0aCA9IG1ldGFNb2RlbC5jcmVhdGVCaW5kaW5nQ29udGV4dChGaWVsZEhlbHBlci52YWx1ZUhlbHBQcm9wZXJ0eUZvckZpbHRlckZpZWxkKG1ldGFQYXRoKSkhO1xuXHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdG1ldGFQYXRoID0gbWV0YU1vZGVsLmNyZWF0ZUJpbmRpbmdDb250ZXh0KEZpZWxkSGVscGVyLnZhbHVlSGVscFByb3BlcnR5KG1ldGFQYXRoKSkhO1xuXHRcdFx0XHR9XG5cdFx0XHRcdGNvbnN0IGlkUHJlZml4ID0gdGhpcy5pZFByZWZpeCA/PyBcIlZhbHVlSGVscFwiO1xuXHRcdFx0XHRjb25zdCB0ZW1wbGF0ZVJlc3VsdCA9IGdldFZhbHVlSGVscFRlbXBsYXRlKG1ldGFQYXRoLCB7XG5cdFx0XHRcdFx0bWV0YVBhdGg6IG1ldGFNb2RlbC5jcmVhdGVCaW5kaW5nQ29udGV4dChtZXRhQ29udGV4dFBhdGguZ2V0UGF0aCgpKSEsXG5cdFx0XHRcdFx0Y29udGV4dFBhdGg6IG1ldGFNb2RlbC5jcmVhdGVCaW5kaW5nQ29udGV4dChtZXRhQ29udGV4dFBhdGguZ2V0Q29udGV4dFBhdGgoKSkhLFxuXHRcdFx0XHRcdGZpbHRlckZpZWxkVmFsdWVIZWxwOiB0aGlzLmZpbHRlckZpZWxkVmFsdWVIZWxwLFxuXHRcdFx0XHRcdHVzZVNlbWFudGljRGF0ZVJhbmdlOiB0aGlzLnVzZVNlbWFudGljRGF0ZVJhbmdlLFxuXHRcdFx0XHRcdHVzZU11bHRpVmFsdWVGaWVsZDogdGhpcy51c2VNdWx0aVZhbHVlRmllbGQsXG5cdFx0XHRcdFx0bmF2aWdhdGlvblByZWZpeDogdGhpcy5uYXZpZ2F0aW9uUHJlZml4LFxuXHRcdFx0XHRcdHJlcXVpcmVzVmFsaWRhdGlvbjogdGhpcy5yZXF1aXJlc1ZhbGlkYXRpb24sXG5cdFx0XHRcdFx0X2ZsZXhJZDogdGhpcy5fZmxleElkLFxuXHRcdFx0XHRcdGlkUHJlZml4OiBpZFByZWZpeCxcblx0XHRcdFx0XHRjb25kaXRpb25Nb2RlbDogdGhpcy5jb25kaXRpb25Nb2RlbCxcblx0XHRcdFx0XHRyZXF1ZXN0R3JvdXBJZDogdGhpcy5yZXF1ZXN0R3JvdXBJZCxcblx0XHRcdFx0XHRjb2xsYWJvcmF0aW9uRW5hYmxlZDogdGhpcy5jb2xsYWJvcmF0aW9uRW5hYmxlZFxuXHRcdFx0XHR9KTtcblx0XHRcdFx0aWYgKHR5cGVvZiB0ZW1wbGF0ZVJlc3VsdCA9PT0gXCJzdHJpbmdcIikge1xuXHRcdFx0XHRcdHRoaXMudGFyZ2V0SWQgPSB0ZW1wbGF0ZVJlc3VsdDtcblx0XHRcdFx0XHRyZXR1cm4gdW5kZWZpbmVkO1xuXHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdHJldHVybiB0ZW1wbGF0ZVJlc3VsdDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBaUJBO0FBQ0E7QUFDQTtBQUNBO0VBSEEsSUFLcUJBLFNBQVMsSUFBQUMsSUFBQSxHQUQ3QkMsY0FBYyxDQUFDLHlCQUF5QixDQUFDLEVBQUFDLEtBQUEsR0FLeENDLFdBQVcsQ0FBQztJQUFFQyxJQUFJLEVBQUU7RUFBUyxDQUFDLENBQUMsRUFBQUMsS0FBQSxHQU0vQkMsUUFBUSxDQUFDO0lBQUVGLElBQUksRUFBRTtFQUFTLENBQUMsQ0FBQyxFQUFBRyxLQUFBLEdBRzVCRCxRQUFRLENBQUM7SUFBRUYsSUFBSSxFQUFFO0VBQVMsQ0FBQyxDQUFDLEVBQUFJLEtBQUEsR0FNNUJGLFFBQVEsQ0FBQztJQUFFRixJQUFJLEVBQUU7RUFBUyxDQUFDLENBQUMsRUFBQUssS0FBQSxHQU81QkgsUUFBUSxDQUFDO0lBQUVGLElBQUksRUFBRTtFQUFVLENBQUMsQ0FBQyxFQUFBTSxLQUFBLEdBTTdCSixRQUFRLENBQUM7SUFBRUYsSUFBSSxFQUFFO0VBQVUsQ0FBQyxDQUFDLEVBQUFPLEtBQUEsR0FNN0JMLFFBQVEsQ0FBQztJQUFFRixJQUFJLEVBQUU7RUFBVSxDQUFDLENBQUMsRUFBQVEsS0FBQSxHQUc3Qk4sUUFBUSxDQUFDO0lBQUVGLElBQUksRUFBRTtFQUFTLENBQUMsQ0FBQyxFQUFBUyxNQUFBLEdBRzVCUCxRQUFRLENBQUM7SUFBRUYsSUFBSSxFQUFFO0VBQVUsQ0FBQyxDQUFDLEVBQUFVLE1BQUEsR0FHN0JYLFdBQVcsQ0FBQztJQUFFQyxJQUFJLEVBQUU7RUFBUyxDQUFDLENBQUMsRUFBQUosSUFBQSxDQUFBZSxNQUFBLElB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
230
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJWYWx1ZUhlbHAiLCJfZGVjIiwiZGVmaW5lVUk1Q2xhc3MiLCJfZGVjMiIsImFzc29jaWF0aW9uIiwidHlwZSIsIl9kZWMzIiwicHJvcGVydHkiLCJfZGVjNCIsIl9kZWM1IiwiX2RlYzYiLCJfZGVjNyIsIl9kZWM4IiwiX2RlYzkiLCJfZGVjMTAiLCJfZGVjMTEiLCJfY2xhc3MiLCJfY2xhc3MyIiwiX0J1aWxkaW5nQmxvY2siLCJwcm9wcyIsIm90aGVycyIsIl90aGlzIiwiX2ZsZXhJZCIsImlkIiwiY2FsbCIsIl9pbml0aWFsaXplckRlZmluZVByb3BlcnR5IiwiX2Rlc2NyaXB0b3IiLCJfZGVzY3JpcHRvcjIiLCJfZGVzY3JpcHRvcjMiLCJfZGVzY3JpcHRvcjQiLCJfZGVzY3JpcHRvcjUiLCJfZGVzY3JpcHRvcjYiLCJfZGVzY3JpcHRvcjciLCJfZGVzY3JpcHRvcjgiLCJfZGVzY3JpcHRvcjkiLCJfZGVzY3JpcHRvcjEwIiwicmVxdWVzdEdyb3VwSWQiLCJjb2xsYWJvcmF0aW9uRW5hYmxlZCIsIl9leHBvcnRzIiwiX2luaGVyaXRzTG9vc2UiLCJnZXRWYWx1ZUhlbHBGb3JNZXRhUGF0aCIsInBhZ2VDb250cm9sbGVyIiwibWV0YVBhdGgiLCJjb250ZXh0UGF0aCIsIm1ldGFNb2RlbCIsInJlcXVpcmVzVmFsaWRhdGlvbiIsImFyZ3VtZW50cyIsImxlbmd0aCIsInVuZGVmaW5lZCIsImRlcGVuZGVudHMiLCJnZXRWaWV3IiwiZ2V0RGVwZW5kZW50cyIsInRhcmdldE1ldGFQYXRoIiwic3RhcnRzV2l0aCIsImZvdW5kRGVwIiwiZmluZCIsImNoaWxkIiwiaXNBIiwiY2hpbGRNZXRhUGF0aCIsImdldE1ldGFQYXRoIiwiY2hpbGRDb250ZXh0UGF0aCIsImdldENvbnRleHRQYXRoIiwiY2hpbGRUYXJnZXRQYXRoIiwidmFsdWVIZWxwIiwiZ2V0SWQiLCJpZFByZWZpeCIsImNyZWF0ZUlkIiwiYWRkRGVwZW5kZW50IiwiZ2V0Q29udGVudCIsInRhcmdldElkIiwiaW5uZXJWYWx1ZUhlbHAiLCJVSTVFbGVtZW50IiwiZ2V0RWxlbWVudEJ5SWQiLCJkZXN0cm95IiwiZ2V0UGFyZW50IiwiX3Byb3RvIiwicHJvdG90eXBlIiwib25NZXRhZGF0YUF2YWlsYWJsZSIsImNvbnRlbnQiLCJfZ2V0T3duZXIiLCJydW5Bc093bmVyIiwiY3JlYXRlQ29udGVudCIsIm1ldGFDb250ZXh0UGF0aCIsImdldE1ldGFQYXRoT2JqZWN0IiwiZ2V0TWV0YU1vZGVsIiwiZW50aXR5U2V0T3JTaW5nbGV0b24iLCJnZXRDbG9zZXN0RW50aXR5U2V0IiwiaXNFbnRpdHlTZXQiLCJNb2RlbEhlbHBlciIsImlzQ29sbGFib3JhdGlvbkRyYWZ0U3VwcG9ydGVkIiwiY3JlYXRlQmluZGluZ0NvbnRleHQiLCJnZXRQYXRoIiwiZmlsdGVyRmllbGRWYWx1ZUhlbHAiLCJGaWVsZEhlbHBlciIsInZhbHVlSGVscFByb3BlcnR5Rm9yRmlsdGVyRmllbGQiLCJ2YWx1ZUhlbHBQcm9wZXJ0eSIsInRlbXBsYXRlUmVzdWx0IiwiZ2V0VmFsdWVIZWxwVGVtcGxhdGUiLCJ1c2VTZW1hbnRpY0RhdGVSYW5nZSIsInVzZU11bHRpVmFsdWVGaWVsZCIsIm5hdmlnYXRpb25QcmVmaXgiLCJjb25kaXRpb25Nb2RlbCIsIkJ1aWxkaW5nQmxvY2siLCJfYXBwbHlEZWNvcmF0ZWREZXNjcmlwdG9yIiwiY29uZmlndXJhYmxlIiwiZW51bWVyYWJsZSIsIndyaXRhYmxlIiwiaW5pdGlhbGl6ZXIiXSwic291cmNlUm9vdCI6Ii4iLCJzb3VyY2VzIjpbIlZhbHVlSGVscC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBFbmhhbmNlV2l0aFVJNSwgUHJvcGVydGllc09mIH0gZnJvbSBcInNhcC9mZS9iYXNlL0NsYXNzU3VwcG9ydFwiO1xuaW1wb3J0IHsgYXNzb2NpYXRpb24sIGRlZmluZVVJNUNsYXNzLCBwcm9wZXJ0eSB9IGZyb20gXCJzYXAvZmUvYmFzZS9DbGFzc1N1cHBvcnRcIjtcbmltcG9ydCBCdWlsZGluZ0Jsb2NrIGZyb20gXCJzYXAvZmUvY29yZS9idWlsZGluZ0Jsb2Nrcy9CdWlsZGluZ0Jsb2NrXCI7XG5pbXBvcnQgTW9kZWxIZWxwZXIgZnJvbSBcInNhcC9mZS9jb3JlL2hlbHBlcnMvTW9kZWxIZWxwZXJcIjtcbmltcG9ydCB7IGlzRW50aXR5U2V0IH0gZnJvbSBcInNhcC9mZS9jb3JlL2hlbHBlcnMvVHlwZUd1YXJkc1wiO1xuaW1wb3J0IEZpZWxkSGVscGVyIGZyb20gXCJzYXAvZmUvbWFjcm9zL2ZpZWxkL0ZpZWxkSGVscGVyXCI7XG5pbXBvcnQgeyBnZXRWYWx1ZUhlbHBUZW1wbGF0ZSB9IGZyb20gXCJzYXAvZmUvbWFjcm9zL2ludGVybmFsL3ZhbHVlaGVscC9WYWx1ZUhlbHBUZW1wbGF0aW5nXCI7XG5cbmltcG9ydCB0eXBlIFBhZ2VDb250cm9sbGVyIGZyb20gXCJzYXAvZmUvY29yZS9QYWdlQ29udHJvbGxlclwiO1xuaW1wb3J0IHR5cGUgQ29udHJvbCBmcm9tIFwic2FwL3VpL2NvcmUvQ29udHJvbFwiO1xuaW1wb3J0IFVJNUVsZW1lbnQgZnJvbSBcInNhcC91aS9jb3JlL0VsZW1lbnRcIjtcbmltcG9ydCB0eXBlIE1EQ1ZhbHVlSGVscCBmcm9tIFwic2FwL3VpL21kYy9WYWx1ZUhlbHBcIjtcbmltcG9ydCB0eXBlIE9EYXRhTWV0YU1vZGVsIGZyb20gXCJzYXAvdWkvbW9kZWwvb2RhdGEvdjQvT0RhdGFNZXRhTW9kZWxcIjtcblxuLyoqXG4gKiBCdWlsZGluZyBibG9jayBmb3IgY3JlYXRpbmcgYSBWYWx1ZUhlbHAgYmFzZWQgb24gdGhlIHByb3ZpZGVkIE9EYXRhIFY0IG1ldGFkYXRhLlxuICogQHByaXZhdGVcbiAqL1xuQGRlZmluZVVJNUNsYXNzKFwic2FwLmZlLm1hY3Jvcy5WYWx1ZUhlbHBcIilcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFZhbHVlSGVscCBleHRlbmRzIEJ1aWxkaW5nQmxvY2s8TURDVmFsdWVIZWxwIHwgQ29udHJvbD4ge1xuXHQvKipcblx0ICogQSBwcmVmaXggdGhhdCBpcyBhZGRlZCB0byB0aGUgZ2VuZXJhdGVkIElEIG9mIHRoZSB2YWx1ZSBoZWxwLlxuXHQgKi9cblx0QGFzc29jaWF0aW9uKHsgdHlwZTogXCJzdHJpbmdcIiB9KVxuXHRpZFByZWZpeD86IHN0cmluZztcblxuXHQvKipcblx0ICogRGVmaW5lcyB0aGUgbWV0YWRhdGEgcGF0aCB0byB0aGUgcHJvcGVydHkuXG5cdCAqL1xuXHRAcHJvcGVydHkoeyB0eXBlOiBcInN0cmluZ1wiIH0pXG5cdG1ldGFQYXRoITogc3RyaW5nO1xuXG5cdEBwcm9wZXJ0eSh7IHR5cGU6IFwic3RyaW5nXCIgfSlcblx0Y29udGV4dFBhdGghOiBzdHJpbmc7XG5cblx0LyoqXG5cdCAqIEluZGljYXRvciB3aGV0aGVyIHRoZSB2YWx1ZSBoZWxwIGlzIGZvciBhIGZpbHRlciBmaWVsZC5cblx0ICovXG5cdEBwcm9wZXJ0eSh7IHR5cGU6IFwic3RyaW5nXCIgfSlcblx0Y29uZGl0aW9uTW9kZWwgPSBcIlwiO1xuXG5cdC8qKlxuXHQgKiBJbmRpY2F0ZXMgdGhhdCB0aGlzIGlzIGEgdmFsdWUgaGVscCBvZiBhIGZpbHRlciBmaWVsZC4gTmVjZXNzYXJ5IHRvIGRlY2lkZSBpZiBhXG5cdCAqIHZhbGlkYXRpb24gc2hvdWxkIG9jY3VyIG9uIHRoZSBiYWNrIGVuZCBvciBhbHJlYWR5IG9uIHRoZSBjbGllbnQuXG5cdCAqL1xuXHRAcHJvcGVydHkoeyB0eXBlOiBcImJvb2xlYW5cIiB9KVxuXHRmaWx0ZXJGaWVsZFZhbHVlSGVscCA9IGZhbHNlO1xuXG5cdC8qKlxuXHQgKiBTcGVjaWZpZXMgdGhlIFNlbWF0aWMgRGF0ZSBSYW5nZSBvcHRpb24gZm9yIHRoZSBmaWx0ZXIgZmllbGQuXG5cdCAqL1xuXHRAcHJvcGVydHkoeyB0eXBlOiBcImJvb2xlYW5cIiB9KVxuXHR1c2VTZW1hbnRpY0RhdGVSYW5nZSA9IHRydWU7XG5cblx0LyoqXG5cdCAqIFNwZWNpZmllcyB3aGV0aGVyIHRoZSBWYWx1ZUhlbHAgY2FuIGJlIHVzZWQgd2l0aCBhIE11bHRpVmFsdWVGaWVsZFxuXHQgKi9cblx0QHByb3BlcnR5KHsgdHlwZTogXCJib29sZWFuXCIgfSlcblx0dXNlTXVsdGlWYWx1ZUZpZWxkID0gZmFsc2U7XG5cblx0QHByb3BlcnR5KHsgdHlwZTogXCJzdHJpbmdcIiB9KVxuXHRuYXZpZ2F0aW9uUHJlZml4Pzogc3RyaW5nO1xuXG5cdEBwcm9wZXJ0eSh7IHR5cGU6IFwiYm9vbGVhblwiIH0pXG5cdHJlcXVpcmVzVmFsaWRhdGlvbiA9IGZhbHNlO1xuXG5cdEBhc3NvY2lhdGlvbih7IHR5cGU6IFwic3RyaW5nXCIgfSlcblx0Ly8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuXHRfZmxleElkPzogc3RyaW5nO1xuXG5cdHJlcXVlc3RHcm91cElkOiBzdHJpbmcgfCB1bmRlZmluZWQgPSBcIiRhdXRvLldvcmtlcnNcIjtcblxuXHRjb2xsYWJvcmF0aW9uRW5hYmxlZCA9IGZhbHNlO1xuXG5cdHRhcmdldElkPzogc3RyaW5nO1xuXG5cdGNvbnN0cnVjdG9yKHByb3BzOiBQcm9wZXJ0aWVzT2Y8VmFsdWVIZWxwPiwgb3RoZXJzPzogUHJvcGVydGllc09mPFZhbHVlSGVscD4pIHtcblx0XHRpZiAocHJvcHMuX2ZsZXhJZCkge1xuXHRcdFx0cHJvcHMuaWQgPSBwcm9wcy5fZmxleElkICsgXCI6OkJsb2NrXCI7XG5cdFx0fVxuXHRcdHN1cGVyKHByb3BzLCBvdGhlcnMpO1xuXHR9XG5cblx0c3RhdGljIGdldFZhbHVlSGVscEZvck1ldGFQYXRoKFxuXHRcdHBhZ2VDb250cm9sbGVyOiBQYWdlQ29udHJvbGxlcixcblx0XHRtZXRhUGF0aDogc3RyaW5nLFxuXHRcdGNvbnRleHRQYXRoOiBzdHJpbmcgfCB1bmRlZmluZWQsXG5cdFx0bWV0YU1vZGVsOiBPRGF0YU1ldGFNb2RlbCB8IHVuZGVmaW5lZCxcblx0XHRyZXF1aXJlc1ZhbGlkYXRpb24gPSBmYWxzZVxuXHQpOiBWYWx1ZUhlbHAgfCB1bmRlZmluZWQge1xuXHRcdGNvbnN0IGRlcGVuZGVudHMgPSBwYWdlQ29udHJvbGxlci5nZXRWaWV3KCk/LmdldERlcGVuZGVudHMoKTtcblx0XHRjb25zdCB0YXJnZXRNZXRhUGF0aCA9IG1ldGFQYXRoLnN0YXJ0c1dpdGgoXCIvXCIpID8gbWV0YVBhdGggOiBjb250ZXh0UGF0aCArIFwiL1wiICsgbWV0YVBhdGg7XG5cdFx0Y29uc3QgZm91bmREZXAgPSBkZXBlbmRlbnRzPy5maW5kKChjaGlsZCkgPT4ge1xuXHRcdFx0aWYgKGNoaWxkLmlzQTxFbmhhbmNlV2l0aFVJNTxWYWx1ZUhlbHA+PihcInNhcC5mZS5tYWNyb3MuVmFsdWVIZWxwXCIpICYmICFyZXF1aXJlc1ZhbGlkYXRpb24pIHtcblx0XHRcdFx0Y29uc3QgY2hpbGRNZXRhUGF0aCA9IGNoaWxkLmdldE1ldGFQYXRoKCk7XG5cdFx0XHRcdGNvbnN0IGNoaWxkQ29udGV4dFBhdGggPSBjaGlsZC5nZXRDb250ZXh0UGF0aCgpO1xuXHRcdFx0XHRjb25zdCBjaGlsZFRhcmdldFBhdGggPSBjaGlsZE1ldGFQYXRoLnN0YXJ0c1dpdGgoXCIvXCIpID8gY2hpbGRNZXRhUGF0aCA6IGNoaWxkQ29udGV4dFBhdGggKyBcIi9cIiArIGNoaWxkTWV0YVBhdGg7XG5cdFx0XHRcdHJldHVybiBjaGlsZFRhcmdldFBhdGggPT09IHRhcmdldE1ldGFQYXRoO1xuXHRcdFx0fVxuXHRcdFx0cmV0dXJuIGZhbHNlO1xuXHRcdH0pO1xuXHRcdGlmICghZm91bmREZXApIHtcblx0XHRcdGNvbnN0IHZhbHVlSGVscCA9IG5ldyBWYWx1ZUhlbHAoe1xuXHRcdFx0XHRtZXRhUGF0aDogbWV0YVBhdGgsXG5cdFx0XHRcdGNvbnRleHRQYXRoOiBjb250ZXh0UGF0aCxcblx0XHRcdFx0bWV0YU1vZGVsOiBtZXRhTW9kZWw/LmdldElkKCksXG5cdFx0XHRcdGlkUHJlZml4OiBwYWdlQ29udHJvbGxlci5nZXRWaWV3KCk/LmNyZWF0ZUlkKFwiRmllbGRWYWx1ZUhlbHBcIiksXG5cdFx0XHRcdHJlcXVpcmVzVmFsaWRhdGlvbjogcmVxdWlyZXNWYWxpZGF0aW9uXG5cdFx0XHR9KTtcblx0XHRcdHBhZ2VDb250cm9sbGVyLmdldFZpZXcoKS5hZGREZXBlbmRlbnQodmFsdWVIZWxwKTtcblx0XHRcdGlmICghdmFsdWVIZWxwLmdldENvbnRlbnQoKSAmJiB2YWx1ZUhlbHAudGFyZ2V0SWQpIHtcblx0XHRcdFx0Y29uc3QgaW5uZXJWYWx1ZUhlbHAgPSBVSTVFbGVtZW50LmdldEVsZW1lbnRCeUlkKHZhbHVlSGVscC50YXJnZXRJZCk7XG5cdFx0XHRcdHZhbHVlSGVscC5kZXN0cm95KCk7XG5cdFx0XHRcdHJldHVybiBpbm5lclZhbHVlSGVscD8uZ2V0UGFyZW50KCkgYXMgVmFsdWVIZWxwIHwgdW5kZWZpbmVkO1xuXHRcdFx0fVxuXG5cdFx0XHRyZXR1cm4gdmFsdWVIZWxwO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHRyZXR1cm4gZm91bmREZXAgYXMgVmFsdWVIZWxwIHwgdW5kZWZpbmVkO1xuXHRcdH1cblx0fVxuXG5cdG9uTWV0YWRhdGFBdmFpbGFibGUoKTogdm9pZCB7XG5cdFx0aWYgKCF0aGlzLmNvbnRlbnQpIHtcblx0XHRcdHRoaXMuX2dldE93bmVyKCk/LnJ1bkFzT3duZXIoKCkgPT4ge1xuXHRcdFx0XHR0aGlzLmNvbnRlbnQgPSB0aGlzLmNyZWF0ZUNvbnRlbnQoKTtcblx0XHRcdH0pO1xuXHRcdH1cblx0fVxuXG5cdGNyZWF0ZUNvbnRlbnQoKTogQ29udHJvbCB8IE1EQ1ZhbHVlSGVscCB8IHVuZGVmaW5lZCB7XG5cdFx0Y29uc3QgbWV0YUNvbnRleHRQYXRoID0gdGhpcy5nZXRNZXRhUGF0aE9iamVjdCh0aGlzLm1ldGFQYXRoLCB0aGlzLmNvbnRleHRQYXRoKTtcblx0XHRjb25zdCBtZXRhTW9kZWwgPSB0aGlzLl9nZXRPd25lcigpPy5nZXRNZXRhTW9kZWwodGhpcy5tZXRhTW9kZWwpO1xuXHRcdGlmIChtZXRhQ29udGV4dFBhdGggJiYgbWV0YU1vZGVsKSB7XG5cdFx0XHRjb25zdCBlbnRpdHlTZXRPclNpbmdsZXRvbiA9IG1ldGFDb250ZXh0UGF0aC5nZXRDbG9zZXN0RW50aXR5U2V0KCk7XG5cdFx0XHRpZiAoaXNFbnRpdHlTZXQoZW50aXR5U2V0T3JTaW5nbGV0b24pKSB7XG5cdFx0XHRcdHRoaXMuY29sbGFib3JhdGlvbkVuYWJsZWQgPSBNb2RlbEhlbHBlci5pc0NvbGxhYm9yYXRpb25EcmFmdFN1cHBvcnRlZChtZXRhTW9kZWwpO1xuXHRcdFx0fVxuXG5cdFx0XHRsZXQgbWV0YVBhdGggPSBtZXRhTW9kZWwuY3JlYXRlQmluZGluZ0NvbnRleHQobWV0YUNvbnRleHRQYXRoLmdldFBhdGgoKSk7XG5cdFx0XHRpZiAobWV0YVBhdGgpIHtcblx0XHRcdFx0aWYgKHRoaXMuZmlsdGVyRmllbGRWYWx1ZUhlbHApIHtcblx0XHRcdFx0XHRtZXRhUGF0aCA9IG1ldGFNb2RlbC5jcmVhdGVCaW5kaW5nQ29udGV4dChGaWVsZEhlbHBlci52YWx1ZUhlbHBQcm9wZXJ0eUZvckZpbHRlckZpZWxkKG1ldGFQYXRoKSkhO1xuXHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdG1ldGFQYXRoID0gbWV0YU1vZGVsLmNyZWF0ZUJpbmRpbmdDb250ZXh0KEZpZWxkSGVscGVyLnZhbHVlSGVscFByb3BlcnR5KG1ldGFQYXRoKSkhO1xuXHRcdFx0XHR9XG5cdFx0XHRcdGNvbnN0IGlkUHJlZml4ID0gdGhpcy5pZFByZWZpeCA/PyBcIlZhbHVlSGVscFwiO1xuXHRcdFx0XHRjb25zdCB0ZW1wbGF0ZVJlc3VsdCA9IGdldFZhbHVlSGVscFRlbXBsYXRlKG1ldGFQYXRoLCB7XG5cdFx0XHRcdFx0bWV0YVBhdGg6IG1ldGFNb2RlbC5jcmVhdGVCaW5kaW5nQ29udGV4dChtZXRhQ29udGV4dFBhdGguZ2V0UGF0aCgpKSEsXG5cdFx0XHRcdFx0Y29udGV4dFBhdGg6IG1ldGFNb2RlbC5jcmVhdGVCaW5kaW5nQ29udGV4dChtZXRhQ29udGV4dFBhdGguZ2V0Q29udGV4dFBhdGgoKSkhLFxuXHRcdFx0XHRcdGZpbHRlckZpZWxkVmFsdWVIZWxwOiB0aGlzLmZpbHRlckZpZWxkVmFsdWVIZWxwLFxuXHRcdFx0XHRcdHVzZVNlbWFudGljRGF0ZVJhbmdlOiB0aGlzLnVzZVNlbWFudGljRGF0ZVJhbmdlLFxuXHRcdFx0XHRcdHVzZU11bHRpVmFsdWVGaWVsZDogdGhpcy51c2VNdWx0aVZhbHVlRmllbGQsXG5cdFx0XHRcdFx0bmF2aWdhdGlvblByZWZpeDogdGhpcy5uYXZpZ2F0aW9uUHJlZml4LFxuXHRcdFx0XHRcdHJlcXVpcmVzVmFsaWRhdGlvbjogdGhpcy5yZXF1aXJlc1ZhbGlkYXRpb24sXG5cdFx0XHRcdFx0X2ZsZXhJZDogdGhpcy5fZmxleElkLFxuXHRcdFx0XHRcdGlkUHJlZml4OiBpZFByZWZpeCxcblx0XHRcdFx0XHRjb25kaXRpb25Nb2RlbDogdGhpcy5jb25kaXRpb25Nb2RlbCxcblx0XHRcdFx0XHRyZXF1ZXN0R3JvdXBJZDogdGhpcy5yZXF1ZXN0R3JvdXBJZCxcblx0XHRcdFx0XHRjb2xsYWJvcmF0aW9uRW5hYmxlZDogdGhpcy5jb2xsYWJvcmF0aW9uRW5hYmxlZFxuXHRcdFx0XHR9KTtcblx0XHRcdFx0aWYgKHR5cGVvZiB0ZW1wbGF0ZVJlc3VsdCA9PT0gXCJzdHJpbmdcIikge1xuXHRcdFx0XHRcdHRoaXMudGFyZ2V0SWQgPSB0ZW1wbGF0ZVJlc3VsdDtcblx0XHRcdFx0XHRyZXR1cm4gdW5kZWZpbmVkO1xuXHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdHJldHVybiB0ZW1wbGF0ZVJlc3VsdDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBY0E7QUFDQTtBQUNBO0FBQ0E7RUFIQSxJQUtxQkEsU0FBUyxJQUFBQyxJQUFBLEdBRDdCQyxjQUFjLENBQUMseUJBQXlCLENBQUMsRUFBQUMsS0FBQSxHQUt4Q0MsV0FBVyxDQUFDO0lBQUVDLElBQUksRUFBRTtF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