@kando-env/kando-ui 1.2.370 → 1.2.371-alpha.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.
- package/lib/Widgets/Map/Map.js +62 -43
- package/lib/Widgets/Map/MapUtils.js +40 -8
- package/lib/Widgets/Map/points/PointUtils.js +2 -1
- package/lib/components/Header/InfoBar/Breadcrumbs/Breadcrumbs.js +82 -179
- package/lib/i18n/en.json +7 -1
- package/lib/i18n/he.json +5 -1
- package/lib/macros/getVersion.js +2 -2
- package/lib/pages/DashboardMap/List.js +13 -3
- package/lib/pages/DashboardMap/WWTPMap.js +27 -32
- package/lib/pages/EventsPage/EventsMapContainer/EventsMapContainer.js +3 -3
- package/lib/pages/NotificationsPageV2/NotificationsPage.js +20 -11
- package/lib/pages/NotificationsPageV2/components/NotificationsForm/EventType.js +42 -0
- package/lib/pages/NotificationsPageV2/components/NotificationsForm/NotificationSendVia.js +64 -0
- package/lib/pages/NotificationsPageV2/components/NotificationsForm/NotificationSensors.js +58 -0
- package/lib/pages/NotificationsPageV2/components/NotificationsForm/NotificationSources.js +58 -0
- package/lib/pages/NotificationsPageV2/components/NotificationsForm/NotificationTags.js +59 -0
- package/lib/pages/NotificationsPageV2/components/NotificationsForm/NotificationsFormContent.js +105 -240
- package/lib/pages/NotificationsPageV2/components/NotificationsForm/WaterAuthoritySelection.js +59 -0
- package/lib/pages/NotificationsPageV2/components/NotificationsSidebar.js +5 -3
- package/lib/pages/NotificationsPageV2/components/NotificationsUtils.js +12 -2
- package/lib/pages/NotificationsPageV2/notificationUtils.js +3 -2
- package/lib/pages/ProfilePage/ProfilePage.js +71 -42
- package/lib/pages/UtilityDashboardPage/UtilityDashboardMapContainer/UtilityDashboardMapContainer.js +2 -2
- package/lib/styles/theme/theme.js +2 -2
- package/lib/utilities/scoreToData.js +2 -2
- package/package.json +1 -1
package/lib/pages/NotificationsPageV2/components/NotificationsForm/NotificationsFormContent.js
CHANGED
|
@@ -5,19 +5,21 @@ var _typeof = require("@babel/runtime/helpers/typeof");
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", {
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
|
-
exports.default = void 0;
|
|
8
|
+
exports.default = exports.NotificationsCheckboxesStyle = void 0;
|
|
9
9
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/slicedToArray"));
|
|
10
10
|
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
11
11
|
var _react = _interopRequireWildcard(require("react"));
|
|
12
12
|
var _reactBootstrap = require("react-bootstrap");
|
|
13
13
|
var _i18n = _interopRequireDefault(require("utilities/i18n"));
|
|
14
14
|
var _notificationUtils = require("pages/NotificationsPageV2/notificationUtils");
|
|
15
|
-
var _Checkbox = _interopRequireDefault(require("ui-kit/Checkbox/Checkbox"));
|
|
16
15
|
var _RadioButtonGroup = _interopRequireDefault(require("ui-kit/RadioButtons/RadioButtonGroup"));
|
|
17
|
-
var _reactSelect = _interopRequireDefault(require("react-select"));
|
|
18
16
|
var _NotificationsUtils = require("../NotificationsUtils");
|
|
19
|
-
var
|
|
20
|
-
var
|
|
17
|
+
var _EventType = require("./EventType");
|
|
18
|
+
var _NotificationSendVia = require("./NotificationSendVia");
|
|
19
|
+
var _WaterAuthoritySelection = require("./WaterAuthoritySelection");
|
|
20
|
+
var _NotificationSources = require("./NotificationSources");
|
|
21
|
+
var _NotificationTags = require("./NotificationTags");
|
|
22
|
+
var _NotificationSensors = require("./NotificationSensors");
|
|
21
23
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
22
24
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
23
25
|
var NotificationsFormContent = function NotificationsFormContent(_ref) {
|
|
@@ -29,7 +31,8 @@ var NotificationsFormContent = function NotificationsFormContent(_ref) {
|
|
|
29
31
|
allowedNotifications = _ref.allowedNotifications,
|
|
30
32
|
setNewNotification = _ref.setNewNotification,
|
|
31
33
|
hasPhone = _ref.hasPhone,
|
|
32
|
-
hasTelegram = _ref.hasTelegram
|
|
34
|
+
hasTelegram = _ref.hasTelegram,
|
|
35
|
+
initialAdvancedConfig = _ref.initialAdvancedConfig;
|
|
33
36
|
var _useState = (0, _react.useState)({
|
|
34
37
|
open: false,
|
|
35
38
|
instance: ''
|
|
@@ -37,6 +40,19 @@ var NotificationsFormContent = function NotificationsFormContent(_ref) {
|
|
|
37
40
|
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
|
38
41
|
modalDetails = _useState2[0],
|
|
39
42
|
setModalDetails = _useState2[1];
|
|
43
|
+
var isDirectImpact = function isDirectImpact(notification) {
|
|
44
|
+
return notification.direct_impact_only === '1' || notification.direct_impact_only === undefined;
|
|
45
|
+
};
|
|
46
|
+
var _useState3 = (0, _react.useState)(isDirectImpact(notification) ? false : true),
|
|
47
|
+
_useState4 = (0, _slicedToArray2.default)(_useState3, 2),
|
|
48
|
+
showAdvancedConfig = _useState4[0],
|
|
49
|
+
setShowAdvancedConfig = _useState4[1];
|
|
50
|
+
var showAdvancedConfigLogic = function showAdvancedConfigLogic() {
|
|
51
|
+
return (notification.type !== 'RollingEventAlertConfig' || initialAdvancedConfig) && showAdvancedConfig || notification.id === '' && notification.type !== 'RollingEventAlertConfig';
|
|
52
|
+
};
|
|
53
|
+
var showAdvancedConfigCheckbox = function showAdvancedConfigCheckbox() {
|
|
54
|
+
return notification.type === 'RollingEventAlertConfig' && initialAdvancedConfig;
|
|
55
|
+
};
|
|
40
56
|
var defaultWaterAuthorityIfSingle = function defaultWaterAuthorityIfSingle() {
|
|
41
57
|
if (waterAuthorities.length === 1) {
|
|
42
58
|
(0, _NotificationsUtils.handleNotificationType)({
|
|
@@ -61,272 +77,121 @@ var NotificationsFormContent = function NotificationsFormContent(_ref) {
|
|
|
61
77
|
}, notification, setNewNotification);
|
|
62
78
|
}
|
|
63
79
|
}, []);
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
},
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
name: 'water_authority',
|
|
112
|
-
onChange: function onChange(option) {
|
|
113
|
-
(0, _NotificationsUtils.handleWaterAuthorities)(undefined, {
|
|
114
|
-
selection_type: notification.water_authorities.selection_type,
|
|
115
|
-
set: option
|
|
116
|
-
}, notification, setNewNotification);
|
|
117
|
-
},
|
|
118
|
-
isSearchable: true,
|
|
119
|
-
isMulti: true,
|
|
120
|
-
classNamePrefix: 'water_authority',
|
|
121
|
-
options: waterAuthorities === null || waterAuthorities === void 0 ? void 0 : waterAuthorities.map(function (wa) {
|
|
122
|
-
return {
|
|
123
|
-
value: wa.water_authority.id,
|
|
124
|
-
label: wa.water_authority.label
|
|
125
|
-
};
|
|
126
|
-
}),
|
|
127
|
-
defaultValue: notification.water_authorities.set !== null ? notification.water_authorities.set.map(function (wa) {
|
|
128
|
-
return {
|
|
129
|
-
value: wa.id,
|
|
130
|
-
label: wa.text
|
|
131
|
-
};
|
|
132
|
-
}) : []
|
|
133
|
-
})), notification.type !== 'WbeWeeklyDigestAlertConfig' && notification.type !== 'DataloggerThresholdAlertConfig' && allowedNotifications.includes(notification.type) && /*#__PURE__*/_react.default.createElement(_reactBootstrap.Form.Group, {
|
|
134
|
-
controlId: "notification-sources"
|
|
135
|
-
}, /*#__PURE__*/_react.default.createElement(_reactBootstrap.Form.Label, null, _i18n.default.t('notifications_page.sources')), /*#__PURE__*/_react.default.createElement(NotificationsCheckboxesStyle, {
|
|
136
|
-
gap: "0"
|
|
137
|
-
}, /*#__PURE__*/_react.default.createElement(_RadioButtonGroup.default, {
|
|
138
|
-
options: _notificationUtils.sourcesRadioButtons,
|
|
139
|
-
handleChange: function handleChange(event) {
|
|
140
|
-
return (0, _NotificationsUtils.handleSources)(event, '', notification, setNewNotification);
|
|
141
|
-
},
|
|
142
|
-
className: notification.points.selection_type,
|
|
143
|
-
checked: notification.points.selection_type,
|
|
144
|
-
type: "radio"
|
|
145
|
-
})), notification.points.selection_type !== 'all' && /*#__PURE__*/_react.default.createElement(_reactSelect.default, {
|
|
146
|
-
name: 'point',
|
|
147
|
-
onChange: function onChange(option) {
|
|
148
|
-
(0, _NotificationsUtils.handleSources)(undefined, {
|
|
149
|
-
selection_type: notification.points.selection_type,
|
|
150
|
-
set: option
|
|
151
|
-
}, notification, setNewNotification);
|
|
152
|
-
},
|
|
153
|
-
isSearchable: true,
|
|
154
|
-
isMulti: true,
|
|
155
|
-
classNamePrefix: 'point',
|
|
156
|
-
options: points === null || points === void 0 ? void 0 : points.map(function (p) {
|
|
157
|
-
return {
|
|
158
|
-
value: p.point.id,
|
|
159
|
-
label: p.point.label
|
|
160
|
-
};
|
|
161
|
-
}),
|
|
162
|
-
defaultValue: notification.points.set !== null ? notification.points.set.map(function (p) {
|
|
163
|
-
return {
|
|
164
|
-
value: p.id,
|
|
165
|
-
label: p.text
|
|
166
|
-
};
|
|
167
|
-
}) : []
|
|
168
|
-
})), notification.type === 'WbeWeeklyDigestAlertConfig' && notification.tags !== undefined && allowedNotifications.includes(notification.type) && /*#__PURE__*/_react.default.createElement(_reactBootstrap.Form.Group, {
|
|
169
|
-
controlId: "notification-tags"
|
|
170
|
-
}, /*#__PURE__*/_react.default.createElement(_reactBootstrap.Form.Label, null, _i18n.default.t('notifications_page.tags')), /*#__PURE__*/_react.default.createElement(NotificationsCheckboxesStyle, {
|
|
171
|
-
gap: "0"
|
|
172
|
-
}, /*#__PURE__*/_react.default.createElement(_RadioButtonGroup.default, {
|
|
173
|
-
options: _notificationUtils.sourcesRadioButtons,
|
|
174
|
-
handleChange: function handleChange(event) {
|
|
175
|
-
return (0, _NotificationsUtils.handleTags)(event, '', notification, setNewNotification);
|
|
176
|
-
},
|
|
177
|
-
className: notification.tags.selection_type,
|
|
178
|
-
checked: notification.tags.selection_type,
|
|
179
|
-
type: "radio"
|
|
180
|
-
})), notification.tags.selection_type !== 'all' && allowedNotifications.includes(notification.type) && /*#__PURE__*/_react.default.createElement(_reactSelect.default, {
|
|
181
|
-
name: 'point',
|
|
182
|
-
onChange: function onChange(option) {
|
|
183
|
-
(0, _NotificationsUtils.handleTags)(undefined, {
|
|
184
|
-
selection_type: notification.tags !== undefined ? notification.tags.selection_type : [],
|
|
185
|
-
set: option
|
|
186
|
-
}, notification, setNewNotification);
|
|
187
|
-
},
|
|
188
|
-
isSearchable: true,
|
|
189
|
-
isMulti: true,
|
|
190
|
-
classNamePrefix: 'point',
|
|
191
|
-
options: tags === null || tags === void 0 ? void 0 : tags.map(function (p) {
|
|
192
|
-
return {
|
|
193
|
-
value: p.tag.id,
|
|
194
|
-
label: p.tag.label
|
|
195
|
-
};
|
|
196
|
-
}),
|
|
197
|
-
defaultValue: notification.tags.set !== null ? notification.tags.set.map(function (p) {
|
|
198
|
-
return {
|
|
199
|
-
value: p.id,
|
|
200
|
-
label: p.text
|
|
201
|
-
};
|
|
202
|
-
}) : []
|
|
203
|
-
})), notification.type === 'DataloggerThresholdAlertConfig' && allowedNotifications.includes(notification.type) && notification.sensors !== undefined && /*#__PURE__*/_react.default.createElement(_reactBootstrap.Form.Group, {
|
|
204
|
-
controlId: "notification-sensors"
|
|
205
|
-
}, /*#__PURE__*/_react.default.createElement(_reactBootstrap.Form.Label, null, _i18n.default.t('notifications_page.sensors')), /*#__PURE__*/_react.default.createElement(NotificationsCheckboxesStyle, {
|
|
206
|
-
gap: "0"
|
|
207
|
-
}, /*#__PURE__*/_react.default.createElement(_RadioButtonGroup.default, {
|
|
208
|
-
options: _notificationUtils.sourcesRadioButtons,
|
|
209
|
-
handleChange: function handleChange(event) {
|
|
210
|
-
return (0, _NotificationsUtils.handleSensors)(event, '', notification, setNewNotification);
|
|
211
|
-
},
|
|
212
|
-
className: notification.sensors.selection_type,
|
|
213
|
-
checked: notification.sensors.selection_type,
|
|
214
|
-
type: "radio"
|
|
215
|
-
})), notification.sensors.selection_type !== 'all' && /*#__PURE__*/_react.default.createElement(_reactSelect.default, {
|
|
216
|
-
name: 'point',
|
|
217
|
-
onChange: function onChange(option) {
|
|
218
|
-
(0, _NotificationsUtils.handleSensors)(undefined, {
|
|
219
|
-
selection_type: notification.sensors !== undefined ? notification.sensors.selection_type : [],
|
|
220
|
-
set: option
|
|
221
|
-
}, notification, setNewNotification);
|
|
222
|
-
},
|
|
223
|
-
isSearchable: true,
|
|
224
|
-
isMulti: true,
|
|
225
|
-
classNamePrefix: 'point',
|
|
226
|
-
options: sensors === null || sensors === void 0 ? void 0 : sensors.map(function (p) {
|
|
227
|
-
return {
|
|
228
|
-
value: p.sensor.id,
|
|
229
|
-
label: p.sensor.label
|
|
230
|
-
};
|
|
231
|
-
}),
|
|
232
|
-
defaultValue: notification.sensors.set !== null ? notification.sensors.set.map(function (p) {
|
|
233
|
-
return {
|
|
234
|
-
value: p.id,
|
|
235
|
-
label: p.text
|
|
236
|
-
};
|
|
237
|
-
}) : []
|
|
238
|
-
})), /*#__PURE__*/_react.default.createElement(_reactBootstrap.Form.Group, {
|
|
239
|
-
controlId: "notification-send"
|
|
240
|
-
}, /*#__PURE__*/_react.default.createElement(_reactBootstrap.Form.Label, null, _i18n.default.t('notifications_page.edit_send_via')), /*#__PURE__*/_react.default.createElement(NotificationsCheckboxesStyle, {
|
|
241
|
-
gap: "10"
|
|
242
|
-
}, _notificationUtils.sendViaCheckBoxes.map(function (value) {
|
|
243
|
-
return /*#__PURE__*/_react.default.createElement(_Checkbox.default, {
|
|
244
|
-
key: value.label,
|
|
245
|
-
option: value,
|
|
80
|
+
var basicConfiguration = function basicConfiguration(advancedComponents) {
|
|
81
|
+
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_EventType.EventType, {
|
|
82
|
+
notification: notification,
|
|
83
|
+
setNewNotification: setNewNotification,
|
|
84
|
+
allowedNotifications: allowedNotifications
|
|
85
|
+
}), showAdvancedConfigCheckbox() && /*#__PURE__*/_react.default.createElement(_reactBootstrap.Form.Group, null, /*#__PURE__*/_react.default.createElement(_reactBootstrap.Form.Check, {
|
|
86
|
+
inline: true,
|
|
87
|
+
label: _i18n.default.t('notifications_page.advanced_configuration'),
|
|
88
|
+
name: "advanced_configuration",
|
|
89
|
+
type: "checkbox",
|
|
90
|
+
id: "advanced_configuration",
|
|
91
|
+
onChange: function onChange(e) {
|
|
92
|
+
setShowAdvancedConfig(!showAdvancedConfig);
|
|
93
|
+
(0, _NotificationsUtils.handleDirectImpact)(e, setNewNotification, notification);
|
|
94
|
+
},
|
|
95
|
+
checked: showAdvancedConfig
|
|
96
|
+
})), waterAuthorities.length > 1 && /*#__PURE__*/_react.default.createElement(_WaterAuthoritySelection.WaterAuthoritySelection, {
|
|
97
|
+
waterAuthorities: waterAuthorities,
|
|
98
|
+
allowedNotifications: allowedNotifications,
|
|
99
|
+
notification: notification,
|
|
100
|
+
setNewNotification: setNewNotification
|
|
101
|
+
}), showAdvancedConfigLogic() && advancedComponents(), /*#__PURE__*/_react.default.createElement(_NotificationSendVia.NotificationSendVia, {
|
|
102
|
+
notification: notification,
|
|
103
|
+
setNewNotification: setNewNotification,
|
|
104
|
+
modalDetails: modalDetails,
|
|
105
|
+
setModalDetails: setModalDetails,
|
|
106
|
+
hasTelegram: hasTelegram,
|
|
107
|
+
hasPhone: hasPhone
|
|
108
|
+
}), showAdvancedConfigLogic() && notification.type === 'RollingEventAlertConfig' && allowedNotifications.includes(notification.type) && /*#__PURE__*/_react.default.createElement(_reactBootstrap.Form.Group, null, /*#__PURE__*/_react.default.createElement(_reactBootstrap.Form.Check, {
|
|
109
|
+
inline: true,
|
|
110
|
+
label: _i18n.default.t('notifications_page.edit_sampler_active'),
|
|
111
|
+
name: "pump_only",
|
|
112
|
+
type: "checkbox",
|
|
113
|
+
id: "pump_only",
|
|
114
|
+
onChange: function onChange(e) {
|
|
115
|
+
return (0, _NotificationsUtils.handleNotificationSample)(e, setNewNotification);
|
|
116
|
+
},
|
|
117
|
+
checked: notification.pump_only === '1'
|
|
118
|
+
})));
|
|
119
|
+
};
|
|
120
|
+
var advancedConfiguration = function advancedConfiguration() {
|
|
121
|
+
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, notification.type === 'RollingEventAlertConfig' && allowedNotifications.includes(notification.type) && /*#__PURE__*/_react.default.createElement(_reactBootstrap.Form.Group, {
|
|
122
|
+
controlId: "notification-severity"
|
|
123
|
+
}, /*#__PURE__*/_react.default.createElement(_reactBootstrap.Form.Label, null, _i18n.default.t('notifications_page.edit_severity')), /*#__PURE__*/_react.default.createElement(NotificationsCheckboxesStyle, {
|
|
124
|
+
gap: "10"
|
|
125
|
+
}, /*#__PURE__*/_react.default.createElement(_RadioButtonGroup.default, {
|
|
126
|
+
options: _notificationUtils.severitiesRadioButtons,
|
|
246
127
|
handleChange: function handleChange(event) {
|
|
247
|
-
return (0, _NotificationsUtils.
|
|
128
|
+
return (0, _NotificationsUtils.handleSeverities)(event, setNewNotification);
|
|
248
129
|
},
|
|
249
|
-
className: notification.
|
|
250
|
-
checked: notification.
|
|
251
|
-
type: "
|
|
252
|
-
})
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
id: "pump_only",
|
|
269
|
-
onChange: function onChange(e) {
|
|
270
|
-
return (0, _NotificationsUtils.handleNotificationSample)(e, setNewNotification);
|
|
271
|
-
},
|
|
272
|
-
checked: notification.pump_only === '1'
|
|
273
|
-
})));
|
|
130
|
+
className: notification.severity,
|
|
131
|
+
checked: notification.severity,
|
|
132
|
+
type: "radio"
|
|
133
|
+
}))), notification.type !== 'WbeWeeklyDigestAlertConfig' && notification.type !== 'DataloggerThresholdAlertConfig' && allowedNotifications.includes(notification.type) && /*#__PURE__*/_react.default.createElement(_NotificationSources.NotificationSources, {
|
|
134
|
+
notification: notification,
|
|
135
|
+
setNewNotification: setNewNotification,
|
|
136
|
+
points: points
|
|
137
|
+
}), notification.type === 'WbeWeeklyDigestAlertConfig' && notification.tags !== undefined && allowedNotifications.includes(notification.type) && /*#__PURE__*/_react.default.createElement(_NotificationTags.NotificationTags, {
|
|
138
|
+
notification: notification,
|
|
139
|
+
setNewNotification: setNewNotification,
|
|
140
|
+
allowedNotifications: allowedNotifications,
|
|
141
|
+
tags: tags
|
|
142
|
+
}), notification.type === 'DataloggerThresholdAlertConfig' && allowedNotifications.includes(notification.type) && notification.sensors !== undefined && /*#__PURE__*/_react.default.createElement(_NotificationSensors.NotificationSensors, {
|
|
143
|
+
notification: notification,
|
|
144
|
+
setNewNotification: setNewNotification,
|
|
145
|
+
sensors: sensors
|
|
146
|
+
}));
|
|
147
|
+
};
|
|
148
|
+
return /*#__PURE__*/_react.default.createElement(NotificationSidebarFormAreaStyle, null, basicConfiguration(advancedConfiguration));
|
|
274
149
|
};
|
|
275
150
|
var _default = NotificationsFormContent;
|
|
276
151
|
exports.default = _default;
|
|
277
|
-
var AlertContent = _styledComponents.default.div.withConfig({
|
|
278
|
-
displayName: "NotificationsFormContent__AlertContent",
|
|
279
|
-
componentId: "sc-1u0oj29-0"
|
|
280
|
-
})(["p{padding:30px 30px 0 30px;}display:flex;text-align:center;flex-direction:column;justify-content:space-between;align-content:center;height:100%;"]);
|
|
281
|
-
var ModalActionsButton = _styledComponents.default.div.withConfig({
|
|
282
|
-
displayName: "NotificationsFormContent__ModalActionsButton",
|
|
283
|
-
componentId: "sc-1u0oj29-1"
|
|
284
|
-
})(["border-top:1px solid #a8a8aa;text-align:center;height:45px;display:flex;justify-content:center;align-items:center;cursor:pointer;color:", ";"], function (_ref2) {
|
|
285
|
-
var color = _ref2.color;
|
|
286
|
-
return color;
|
|
287
|
-
});
|
|
288
152
|
var NotificationSidebarFormAreaStyle = _styledComponents.default.div.withConfig({
|
|
289
153
|
displayName: "NotificationsFormContent__NotificationSidebarFormAreaStyle",
|
|
290
|
-
componentId: "sc-1u0oj29-
|
|
291
|
-
})(["@media (max-width:500px){max-height:60vh !important;}width:100%;max-height:72vh;box-shadow:0px 0px 3px 1px ", ";padding:10px 30px;overflow:auto;label{display:block;font-size:", ";font-weight:", ";margin:0;}.form-group{display:flex;flex-direction:column;gap:8px;}.all,.include,.exclude,.telegram,.email,.sms{border:1px solid ", ";color:", ";}.extreme{border:1px solid ", ";color:", ";}.high{border:1px solid ", ";color:", ";}.medium{border:1px solid ", ";color:", ";}.form-check-inline{align-items:self-start !important;input{margin-top:7px !important;}}"], function (
|
|
292
|
-
var theme =
|
|
154
|
+
componentId: "sc-1u0oj29-0"
|
|
155
|
+
})(["@media (max-width:500px){max-height:60vh !important;}width:100%;max-height:72vh;box-shadow:0px 0px 3px 1px ", ";padding:10px 30px;overflow:auto;label{display:block;font-size:", ";font-weight:", ";margin:0;}.form-group{display:flex;flex-direction:column;gap:8px;}.all,.include,.exclude,.telegram,.email,.sms{border:1px solid ", ";color:", ";}.extreme{border:1px solid ", ";color:", ";}.high{border:1px solid ", ";color:", ";}.medium{border:1px solid ", ";color:", ";}.form-check-inline{align-items:self-start !important;input{margin-top:7px !important;}}"], function (_ref2) {
|
|
156
|
+
var theme = _ref2.theme;
|
|
293
157
|
return theme.colorScheme.natural.n30;
|
|
158
|
+
}, function (_ref3) {
|
|
159
|
+
var theme = _ref3.theme;
|
|
160
|
+
return theme.fontSize.md;
|
|
294
161
|
}, function (_ref4) {
|
|
295
162
|
var theme = _ref4.theme;
|
|
296
|
-
return theme.
|
|
163
|
+
return theme.fontWeight.w600;
|
|
297
164
|
}, function (_ref5) {
|
|
298
165
|
var theme = _ref5.theme;
|
|
299
|
-
return theme.
|
|
166
|
+
return theme.colorScheme.natural.n80;
|
|
300
167
|
}, function (_ref6) {
|
|
301
168
|
var theme = _ref6.theme;
|
|
302
169
|
return theme.colorScheme.natural.n80;
|
|
303
170
|
}, function (_ref7) {
|
|
304
171
|
var theme = _ref7.theme;
|
|
305
|
-
return theme.colorScheme.
|
|
172
|
+
return theme.colorScheme.primary.p1;
|
|
306
173
|
}, function (_ref8) {
|
|
307
174
|
var theme = _ref8.theme;
|
|
308
175
|
return theme.colorScheme.primary.p1;
|
|
309
176
|
}, function (_ref9) {
|
|
310
177
|
var theme = _ref9.theme;
|
|
311
|
-
return theme.colorScheme.
|
|
178
|
+
return theme.colorScheme.data.O100;
|
|
312
179
|
}, function (_ref10) {
|
|
313
180
|
var theme = _ref10.theme;
|
|
314
181
|
return theme.colorScheme.data.O100;
|
|
315
182
|
}, function (_ref11) {
|
|
316
183
|
var theme = _ref11.theme;
|
|
317
|
-
return theme.colorScheme.data.
|
|
184
|
+
return theme.colorScheme.data.W100;
|
|
318
185
|
}, function (_ref12) {
|
|
319
186
|
var theme = _ref12.theme;
|
|
320
187
|
return theme.colorScheme.data.W100;
|
|
321
|
-
}, function (_ref13) {
|
|
322
|
-
var theme = _ref13.theme;
|
|
323
|
-
return theme.colorScheme.data.W100;
|
|
324
188
|
});
|
|
325
189
|
var NotificationsCheckboxesStyle = _styledComponents.default.div.withConfig({
|
|
326
190
|
displayName: "NotificationsFormContent__NotificationsCheckboxesStyle",
|
|
327
|
-
componentId: "sc-1u0oj29-
|
|
328
|
-
})(["display:flex;gap:", ";margin-bottom:8px;"], function (
|
|
329
|
-
var gap =
|
|
191
|
+
componentId: "sc-1u0oj29-1"
|
|
192
|
+
})(["display:flex;gap:", ";margin-bottom:8px;"], function (_ref13) {
|
|
193
|
+
var gap = _ref13.gap;
|
|
330
194
|
return gap + 'px';
|
|
331
195
|
});
|
|
332
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfcmVhY3RCb290c3RyYXAiLCJfaTE4biIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfbm90aWZpY2F0aW9uVXRpbHMiLCJfQ2hlY2tib3giLCJfUmFkaW9CdXR0b25Hcm91cCIsIl9yZWFjdFNlbGVjdCIsIl9Ob3RpZmljYXRpb25zVXRpbHMiLCJfQWxlcnQiLCJfdGhlbWUiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJub2RlSW50ZXJvcCIsIldlYWtNYXAiLCJjYWNoZUJhYmVsSW50ZXJvcCIsImNhY2hlTm9kZUludGVyb3AiLCJvYmoiLCJfX2VzTW9kdWxlIiwiX3R5cGVvZiIsImRlZmF1bHQiLCJjYWNoZSIsImhhcyIsImdldCIsIm5ld09iaiIsImhhc1Byb3BlcnR5RGVzY3JpcHRvciIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwia2V5IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiZGVzYyIsInNldCIsIk5vdGlmaWNhdGlvbnNGb3JtQ29udGVudCIsIl9yZWYiLCJub3RpZmljYXRpb24iLCJwb2ludHMiLCJ0YWdzIiwic2Vuc29ycyIsIndhdGVyQXV0aG9yaXRpZXMiLCJhbGxvd2VkTm90aWZpY2F0aW9ucyIsInNldE5ld05vdGlmaWNhdGlvbiIsImhhc1Bob25lIiwiaGFzVGVsZWdyYW0iLCJfdXNlU3RhdGUiLCJ1c2VTdGF0ZSIsIm9wZW4iLCJpbnN0YW5jZSIsIl91c2VTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheTIiLCJtb2RhbERldGFpbHMiLCJzZXRNb2RhbERldGFpbHMiLCJkZWZhdWx0V2F0ZXJBdXRob3JpdHlJZlNpbmdsZSIsImxlbmd0aCIsImhhbmRsZU5vdGlmaWNhdGlvblR5cGUiLCJ2YWx1ZSIsImxhYmVsIiwiaTE4biIsInQiLCJoYW5kbGVXYXRlckF1dGhvcml0aWVzIiwidW5kZWZpbmVkIiwic2VsZWN0aW9uX3R5cGUiLCJ3YXRlcl9hdXRob3JpdHkiLCJpZCIsInVzZUVmZmVjdCIsInR5cGUiLCJjcmVhdGVFbGVtZW50IiwiTm90aWZpY2F0aW9uU2lkZWJhckZvcm1BcmVhU3R5bGUiLCJGb3JtIiwiR3JvdXAiLCJjb250cm9sSWQiLCJMYWJlbCIsIm9uQ2hhbmdlIiwib3B0aW9uIiwibmFtZSIsIm9wdGlvbnMiLCJtYXAiLCJjb25jYXQiLCJkZWZhdWx0VmFsdWUiLCJpc0Rpc2FibGVkIiwiaXNTZWFyY2hhYmxlIiwiaW5jbHVkZXMiLCJOb3RpZmljYXRpb25zQ2hlY2tib3hlc1N0eWxlIiwiZ2FwIiwic2V2ZXJpdGllc1JhZGlvQnV0dG9ucyIsImhhbmRsZUNoYW5nZSIsImV2ZW50IiwiaGFuZGxlU2V2ZXJpdGllcyIsImNsYXNzTmFtZSIsInNldmVyaXR5IiwiY2hlY2tlZCIsIndhdGVyQXV0aG9yaXRpZXNSYWRpb0J1dHRvbnMiLCJ3YXRlcl9hdXRob3JpdGllcyIsImlzTXVsdGkiLCJjbGFzc05hbWVQcmVmaXgiLCJ3YSIsInRleHQiLCJzb3VyY2VzUmFkaW9CdXR0b25zIiwiaGFuZGxlU291cmNlcyIsInAiLCJwb2ludCIsImhhbmRsZVRhZ3MiLCJ0YWciLCJoYW5kbGVTZW5zb3JzIiwic2Vuc29yIiwic2VuZFZpYUNoZWNrQm94ZXMiLCJoYW5kbGVTZW5kVmlhIiwiYWN0aW9ucyIsInRlbGVncmFtIiwiY2hpbGRyZW4iLCJBbGVydENvbnRlbnQiLCJNb2RhbEFjdGlvbnNCdXR0b24iLCJjb2xvciIsInRoZW1lIiwiY29sb3JTY2hlbWUiLCJuYXR1cmFsIiwibjYwIiwic21zIiwiQ2hlY2siLCJpbmxpbmUiLCJlIiwiaGFuZGxlTm90aWZpY2F0aW9uU2FtcGxlIiwicHVtcF9vbmx5IiwiX2RlZmF1bHQiLCJleHBvcnRzIiwic3R5bGVkIiwiZGl2Iiwid2l0aENvbmZpZyIsImRpc3BsYXlOYW1lIiwiY29tcG9uZW50SWQiLCJfcmVmMiIsIl9yZWYzIiwibjMwIiwiX3JlZjQiLCJmb250U2l6ZSIsIm1kIiwiX3JlZjUiLCJmb250V2VpZ2h0IiwidzYwMCIsIl9yZWY2IiwibjgwIiwiX3JlZjciLCJfcmVmOCIsInByaW1hcnkiLCJwMSIsIl9yZWY5IiwiX3JlZjEwIiwiZGF0YSIsIk8xMDAiLCJfcmVmMTEiLCJfcmVmMTIiLCJXMTAwIiwiX3JlZjEzIiwiX3JlZjE0Il0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL3BhZ2VzL05vdGlmaWNhdGlvbnNQYWdlVjIvY29tcG9uZW50cy9Ob3RpZmljYXRpb25zRm9ybS9Ob3RpZmljYXRpb25zRm9ybUNvbnRlbnQudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyB1c2VFZmZlY3QsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdzdHlsZWQtY29tcG9uZW50cy9tYWNybyc7XG5pbXBvcnQgeyBGb3JtIH0gZnJvbSAncmVhY3QtYm9vdHN0cmFwJztcbmltcG9ydCBpMThuIGZyb20gJ3NyYy91dGlsaXRpZXMvaTE4bic7XG5pbXBvcnQge1xuICBOb3RpZmljYXRpb24sXG4gIHNldmVyaXRpZXNSYWRpb0J1dHRvbnMsXG4gIHdhdGVyQXV0aG9yaXRpZXNSYWRpb0J1dHRvbnMsXG4gIHNvdXJjZXNSYWRpb0J1dHRvbnMsXG4gIHNlbmRWaWFDaGVja0JveGVzLFxuICBBZHZhbmNlZFNlbGVjdGlvbixcbn0gZnJvbSAnc3JjL3BhZ2VzL05vdGlmaWNhdGlvbnNQYWdlVjIvbm90aWZpY2F0aW9uVXRpbHMnO1xuaW1wb3J0IENoZWNrYm94IGZyb20gJ3NyYy91aS1raXQvQ2hlY2tib3gvQ2hlY2tib3gnO1xuaW1wb3J0IFJhZGlvQnV0dG9uR3JvdXAgZnJvbSAnc3JjL3VpLWtpdC9SYWRpb0J1dHRvbnMvUmFkaW9CdXR0b25Hcm91cCc7XG5pbXBvcnQgU2VsZWN0IGZyb20gJ3JlYWN0LXNlbGVjdCc7XG5pbXBvcnQge1xuICBoYW5kbGVOb3RpZmljYXRpb25TYW1wbGUsXG4gIGhhbmRsZU5vdGlmaWNhdGlvblR5cGUsXG4gIGhhbmRsZVNlbmRWaWEsXG4gIGhhbmRsZVNlbnNvcnMsXG4gIGhhbmRsZVNldmVyaXRpZXMsXG4gIGhhbmRsZVNvdXJjZXMsXG4gIGhhbmRsZVRhZ3MsXG4gIGhhbmRsZVdhdGVyQXV0aG9yaXRpZXMsXG59IGZyb20gJy4uL05vdGlmaWNhdGlvbnNVdGlscyc7XG5pbXBvcnQgQWxlcnQgZnJvbSAnLi4vLi4vLi4vLi4vdXRpbGl0aWVzL0FsZXJ0JztcbmltcG9ydCB7IEFsZXJ0RGV0YWlscyB9IGZyb20gJy4uLy4uLy4uL1NhbXBsaW5nc1BhZ2UvU2FtcGxpbmdQcm9wZXJ0aWVzL3NhbXBsaW5nUHJvcGVydGllc1V0aWxzJztcbmltcG9ydCB7IHRoZW1lIH0gZnJvbSAnLi4vLi4vLi4vLi4vc3R5bGVzL3RoZW1lL3RoZW1lJztcblxuaW50ZXJmYWNlIG5vdGlmaWNhdGlvbkZvcm1Db250ZW50UHJvcHMge1xuICBub3RpZmljYXRpb246IE5vdGlmaWNhdGlvbjtcbiAgcG9pbnRzOiBBZHZhbmNlZFNlbGVjdGlvbltdO1xuICB0YWdzOiBBZHZhbmNlZFNlbGVjdGlvbltdO1xuICBzZW5zb3JzOiBBZHZhbmNlZFNlbGVjdGlvbltdO1xuICB3YXRlckF1dGhvcml0aWVzOiBBZHZhbmNlZFNlbGVjdGlvbltdO1xuICBhbGxvd2VkTm90aWZpY2F0aW9uczogc3RyaW5nW107XG4gIHNldE5ld05vdGlmaWNhdGlvbjogYW55O1xuICBoYXNQaG9uZTogYm9vbGVhbjtcbiAgaGFzVGVsZWdyYW06IGJvb2xlYW47XG59XG5cbmNvbnN0IE5vdGlmaWNhdGlvbnNGb3JtQ29udGVudDogUmVhY3QuRkM8bm90aWZpY2F0aW9uRm9ybUNvbnRlbnRQcm9wcz4gPSAoe1xuICBub3RpZmljYXRpb24sXG4gIHBvaW50cyxcbiAgdGFncyxcbiAgc2Vuc29ycyxcbiAgd2F0ZXJBdXRob3JpdGllcyxcbiAgYWxsb3dlZE5vdGlmaWNhdGlvbnMsXG4gIHNldE5ld05vdGlmaWNhdGlvbixcbiAgaGFzUGhvbmUsXG4gIGhhc1RlbGVncmFtLFxufSkgPT4ge1xuICBjb25zdCBbbW9kYWxEZXRhaWxzLCBzZXRNb2RhbERldGFpbHNdID0gdXNlU3RhdGU8QWxlcnREZXRhaWxzPih7XG4gICAgb3BlbjogZmFsc2UsXG4gICAgaW5zdGFuY2U6ICcnLFxuICB9KTtcblxuICBjb25zdCBkZWZhdWx0V2F0ZXJBdXRob3JpdHlJZlNpbmdsZSA9ICgpID0+IHtcbiAgICBpZiAod2F0ZXJBdXRob3JpdGllcy5sZW5ndGggPT09IDEpIHtcbiAgICAgIGhhbmRsZU5vdGlmaWNhdGlvblR5cGUoXG4gICAgICAgIHtcbiAgICAgICAgICB2YWx1ZTogJ1JvbGxpbmdFdmVudEFsZXJ0Q29uZmlnJyxcbiAgICAgICAgICBsYWJlbDogaTE4bi50KGBub3RpZmljYXRpb25zX3BhZ2UuUm9sbGluZ0V2ZW50QWxlcnRDb25maWdgKSxcbiAgICAgICAgfSxcbiAgICAgICAgbm90aWZpY2F0aW9uLFxuICAgICAgICBzZXROZXdOb3RpZmljYXRpb24sXG4gICAgICApO1xuICAgICAgaGFuZGxlV2F0ZXJBdXRob3JpdGllcyhcbiAgICAgICAgdW5kZWZpbmVkLFxuICAgICAgICB7XG4gICAgICAgICAgc2VsZWN0aW9uX3R5cGU6ICdpbmNsdWRlJyxcbiAgICAgICAgICBzZXQ6IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgdmFsdWU6IHdhdGVyQXV0aG9yaXRpZXNbMF0ud2F0ZXJfYXV0aG9yaXR5LmlkLFxuICAgICAgICAgICAgICBsYWJlbDogd2F0ZXJBdXRob3JpdGllc1swXS53YXRlcl9hdXRob3JpdHkubGFiZWwsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIF0sXG4gICAgICAgIH0sXG4gICAgICAgIG5vdGlmaWNhdGlvbixcbiAgICAgICAgc2V0TmV3Tm90aWZpY2F0aW9uLFxuICAgICAgKTtcbiAgICB9XG4gIH07XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBkZWZhdWx0V2F0ZXJBdXRob3JpdHlJZlNpbmdsZSgpO1xuICAgIGlmIChub3RpZmljYXRpb24udHlwZSA9PT0gJycpIHtcbiAgICAgIGhhbmRsZU5vdGlmaWNhdGlvblR5cGUoXG4gICAgICAgIHtcbiAgICAgICAgICB2YWx1ZTogJ1JvbGxpbmdFdmVudEFsZXJ0Q29uZmlnJyxcbiAgICAgICAgICBsYWJlbDogaTE4bi50KGBub3RpZmljYXRpb25zX3BhZ2UuUm9sbGluZ0V2ZW50QWxlcnRDb25maWdgKSxcbiAgICAgICAgfSxcbiAgICAgICAgbm90aWZpY2F0aW9uLFxuICAgICAgICBzZXROZXdOb3RpZmljYXRpb24sXG4gICAgICApO1xuICAgIH1cbiAgfSwgW10pO1xuXG4gIHJldHVybiAoXG4gICAgPE5vdGlmaWNhdGlvblNpZGViYXJGb3JtQXJlYVN0eWxlPlxuICAgICAgPEZvcm0uR3JvdXAgY29udHJvbElkPVwibm90aWZpY2F0aW9uLXR5cGVcIj5cbiAgICAgICAgPEZvcm0uTGFiZWw+e2kxOG4udCgnbm90aWZpY2F0aW9uc19wYWdlLmVkaXRfdHlwZScpfTwvRm9ybS5MYWJlbD5cbiAgICAgICAgPFNlbGVjdFxuICAgICAgICAgIG9uQ2hhbmdlPXsob3B0aW9uKSA9PlxuICAgICAgICAgICAgaGFuZGxlTm90aWZpY2F0aW9uVHlwZShvcHRpb24sIG5vdGlmaWNhdGlvbiwgc2V0TmV3Tm90aWZpY2F0aW9uKVxuICAgICAgICAgIH1cbiAgICAgICAgICBuYW1lPXsndHlwZSd9XG4gICAgICAgICAgb3B0aW9ucz17YWxsb3dlZE5vdGlmaWNhdGlvbnMhLm1hcCgodHlwZTogYW55KSA9PiAoe1xuICAgICAgICAgICAgdmFsdWU6IHR5cGUsXG4gICAgICAgICAgICBsYWJlbDogaTE4bi50KGBub3RpZmljYXRpb25zX3BhZ2UuJHt0eXBlfWApLFxuICAgICAgICAgIH0pKX1cbiAgICAgICAgICBkZWZhdWx0VmFsdWU9e1xuICAgICAgICAgICAgbm90aWZpY2F0aW9uLnR5cGUgIT09ICcnXG4gICAgICAgICAgICAgID8ge1xuICAgICAgICAgICAgICAgICAgdmFsdWU6IG5vdGlmaWNhdGlvbi50eXBlLFxuICAgICAgICAgICAgICAgICAgbGFiZWw6IGkxOG4udChgbm90aWZpY2F0aW9uc19wYWdlLiR7bm90aWZpY2F0aW9uLnR5cGV9YCksXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICA6IHtcbiAgICAgICAgICAgICAgICAgIHZhbHVlOiAnUm9sbGluZ0V2ZW50QWxlcnRDb25maWcnLFxuICAgICAgICAgICAgICAgICAgbGFiZWw6IGkxOG4udChgbm90aWZpY2F0aW9uc19wYWdlLlJvbGxpbmdFdmVudEFsZXJ0Q29uZmlnYCksXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICBpc0Rpc2FibGVkPXtub3RpZmljYXRpb24uaWQgPyB0cnVlIDogZmFsc2V9XG4gICAgICAgICAgaXNTZWFyY2hhYmxlPXtmYWxzZX1cbiAgICAgICAgLz5cbiAgICAgIDwvRm9ybS5Hcm91cD5cbiAgICAgIHtub3RpZmljYXRpb24udHlwZSA9PT0gJ1JvbGxpbmdFdmVudEFsZXJ0Q29uZmlnJyAmJlxuICAgICAgICBhbGxvd2VkTm90aWZpY2F0aW9ucy5pbmNsdWRlcyhub3RpZmljYXRpb24udHlwZSkgJiYgKFxuICAgICAgICAgIDxGb3JtLkdyb3VwIGNvbnRyb2xJZD1cIm5vdGlmaWNhdGlvbi1zZXZlcml0eVwiPlxuICAgICAgICAgICAgPEZvcm0uTGFiZWw+XG4gICAgICAgICAgICAgIHtpMThuLnQoJ25vdGlmaWNhdGlvbnNfcGFnZS5lZGl0X3NldmVyaXR5Jyl9XG4gICAgICAgICAgICA8L0Zvcm0uTGFiZWw+XG4gICAgICAgICAgICA8Tm90aWZpY2F0aW9uc0NoZWNrYm94ZXNTdHlsZSBnYXA9XCIxMFwiPlxuICAgICAgICAgICAgICA8UmFkaW9CdXR0b25Hcm91cFxuICAgICAgICAgICAgICAgIG9wdGlvbnM9e3NldmVyaXRpZXNSYWRpb0J1dHRvbnN9XG4gICAgICAgICAgICAgICAgaGFuZGxlQ2hhbmdlPXsoZXZlbnQpID0+XG4gICAgICAgICAgICAgICAgICBoYW5kbGVTZXZlcml0aWVzKGV2ZW50LCBzZXROZXdOb3RpZmljYXRpb24pXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17bm90aWZpY2F0aW9uLnNldmVyaXR5fVxuICAgICAgICAgICAgICAgIGNoZWNrZWQ9e25vdGlmaWNhdGlvbi5zZXZlcml0eX1cbiAgICAgICAgICAgICAgICB0eXBlPVwicmFkaW9cIlxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC9Ob3RpZmljYXRpb25zQ2hlY2tib3hlc1N0eWxlPlxuICAgICAgICAgIDwvRm9ybS5Hcm91cD5cbiAgICAgICAgKX1cbiAgICAgIHt3YXRlckF1dGhvcml0aWVzLmxlbmd0aCA+IDEgJiYgKFxuICAgICAgICA8Rm9ybS5Hcm91cCBjb250cm9sSWQ9XCJub3RpZmljYXRpb24td2F0ZXItYXV0aG9yaXRpZXNcIj5cbiAgICAgICAgICA8Rm9ybS5MYWJlbD5cbiAgICAgICAgICAgIHtpMThuLnQoJ25vdGlmaWNhdGlvbnNfcGFnZS53YXRlcl9hdXRob3JpdGllcycpfVxuICAgICAgICAgIDwvRm9ybS5MYWJlbD5cbiAgICAgICAgICA8Tm90aWZpY2F0aW9uc0NoZWNrYm94ZXNTdHlsZSBnYXA9XCIwXCI+XG4gICAgICAgICAgICA8UmFkaW9CdXR0b25Hcm91cFxuICAgICAgICAgICAgICBvcHRpb25zPXt3YXRlckF1dGhvcml0aWVzUmFkaW9CdXR0b25zfVxuICAgICAgICAgICAgICBoYW5kbGVDaGFuZ2U9eyhldmVudCkgPT5cbiAgICAgICAgICAgICAgICBoYW5kbGVXYXRlckF1dGhvcml0aWVzKFxuICAgICAgICAgICAgICAgICAgZXZlbnQsXG4gICAgICAgICAgICAgICAgICAnJyxcbiAgICAgICAgICAgICAgICAgIG5vdGlmaWNhdGlvbixcbiAgICAgICAgICAgICAgICAgIHNldE5ld05vdGlmaWNhdGlvbixcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgY2xhc3NOYW1lPXtub3RpZmljYXRpb24ud2F0ZXJfYXV0aG9yaXRpZXMuc2VsZWN0aW9uX3R5cGV9XG4gICAgICAgICAgICAgIGNoZWNrZWQ9e25vdGlmaWNhdGlvbi53YXRlcl9hdXRob3JpdGllcy5zZWxlY3Rpb25fdHlwZX1cbiAgICAgICAgICAgICAgdHlwZT1cInJhZGlvXCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9Ob3RpZmljYXRpb25zQ2hlY2tib3hlc1N0eWxlPlxuICAgICAgICAgIHtub3RpZmljYXRpb24ud2F0ZXJfYXV0aG9yaXRpZXMuc2VsZWN0aW9uX3R5cGUgIT09ICdhbGwnICYmXG4gICAgICAgICAgICBhbGxvd2VkTm90aWZpY2F0aW9ucy5pbmNsdWRlcyhub3RpZmljYXRpb24udHlwZSkgJiYgKFxuICAgICAgICAgICAgICA8U2VsZWN0XG4gICAgICAgICAgICAgICAgbmFtZT17J3dhdGVyX2F1dGhvcml0eSd9XG4gICAgICAgICAgICAgICAgb25DaGFuZ2U9eyhvcHRpb246IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgICAgaGFuZGxlV2F0ZXJBdXRob3JpdGllcyhcbiAgICAgICAgICAgICAgICAgICAgdW5kZWZpbmVkLFxuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgc2VsZWN0aW9uX3R5cGU6XG4gICAgICAgICAgICAgICAgICAgICAgICBub3RpZmljYXRpb24ud2F0ZXJfYXV0aG9yaXRpZXMuc2VsZWN0aW9uX3R5cGUsXG4gICAgICAgICAgICAgICAgICAgICAgc2V0OiBvcHRpb24sXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIG5vdGlmaWNhdGlvbixcbiAgICAgICAgICAgICAgICAgICAgc2V0TmV3Tm90aWZpY2F0aW9uLFxuICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgIGlzU2VhcmNoYWJsZT17dHJ1ZX1cbiAgICAgICAgICAgICAgICBpc011bHRpPXt0cnVlfVxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZVByZWZpeD17J3dhdGVyX2F1dGhvcml0eSd9XG4gICAgICAgICAgICAgICAgb3B0aW9ucz17d2F0ZXJBdXRob3JpdGllcz8ubWFwKCh3YTogYW55KSA9PiAoe1xuICAgICAgICAgICAgICAgICAgdmFsdWU6IHdhLndhdGVyX2F1dGhvcml0eS5pZCxcbiAgICAgICAgICAgICAgICAgIGxhYmVsOiB3YS53YXRlcl9hdXRob3JpdHkubGFiZWwsXG4gICAgICAgICAgICAgICAgfSkpfVxuICAgICAgICAgICAgICAgIGRlZmF1bHRWYWx1ZT17XG4gICAgICAgICAgICAgICAgICBub3RpZmljYXRpb24ud2F0ZXJfYXV0aG9yaXRpZXMuc2V0ICE9PSBudWxsXG4gICAgICAgICAgICAgICAgICAgID8gbm90aWZpY2F0aW9uLndhdGVyX2F1dGhvcml0aWVzLnNldC5tYXAoKHdhOiBhbnkpID0+ICh7XG4gICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogd2EuaWQsXG4gICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogd2EudGV4dCxcbiAgICAgICAgICAgICAgICAgICAgICB9KSlcbiAgICAgICAgICAgICAgICAgICAgOiBbXVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICl9XG4gICAgICAgIDwvRm9ybS5Hcm91cD5cbiAgICAgICl9XG4gICAgICB7bm90aWZpY2F0aW9uLnR5cGUgIT09ICdXYmVXZWVrbHlEaWdlc3RBbGVydENvbmZpZycgJiZcbiAgICAgICAgbm90aWZpY2F0aW9uLnR5cGUgIT09ICdEYXRhbG9nZ2VyVGhyZXNob2xkQWxlcnRDb25maWcnICYmXG4gICAgICAgIGFsbG93ZWROb3RpZmljYXRpb25zLmluY2x1ZGVzKG5vdGlmaWNhdGlvbi50eXBlKSAmJiAoXG4gICAgICAgICAgPEZvcm0uR3JvdXAgY29udHJvbElkPVwibm90aWZpY2F0aW9uLXNvdXJjZXNcIj5cbiAgICAgICAgICAgIDxGb3JtLkxhYmVsPntpMThuLnQoJ25vdGlmaWNhdGlvbnNfcGFnZS5zb3VyY2VzJyl9PC9Gb3JtLkxhYmVsPlxuICAgICAgICAgICAgPE5vdGlmaWNhdGlvbnNDaGVja2JveGVzU3R5bGUgZ2FwPVwiMFwiPlxuICAgICAgICAgICAgICA8UmFkaW9CdXR0b25Hcm91cFxuICAgICAgICAgICAgICAgIG9wdGlvbnM9e3NvdXJjZXNSYWRpb0J1dHRvbnN9XG4gICAgICAgICAgICAgICAgaGFuZGxlQ2hhbmdlPXsoZXZlbnQpID0+XG4gICAgICAgICAgICAgICAgICBoYW5kbGVTb3VyY2VzKGV2ZW50LCAnJywgbm90aWZpY2F0aW9uLCBzZXROZXdOb3RpZmljYXRpb24pXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17bm90aWZpY2F0aW9uLnBvaW50cy5zZWxlY3Rpb25fdHlwZX1cbiAgICAgICAgICAgICAgICBjaGVja2VkPXtub3RpZmljYXRpb24ucG9pbnRzLnNlbGVjdGlvbl90eXBlfVxuICAgICAgICAgICAgICAgIHR5cGU9XCJyYWRpb1wiXG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8L05vdGlmaWNhdGlvbnNDaGVja2JveGVzU3R5bGU+XG4gICAgICAgICAgICB7bm90aWZpY2F0aW9uLnBvaW50cy5zZWxlY3Rpb25fdHlwZSAhPT0gJ2FsbCcgJiYgKFxuICAgICAgICAgICAgICA8U2VsZWN0XG4gICAgICAgICAgICAgICAgbmFtZT17J3BvaW50J31cbiAgICAgICAgICAgICAgICBvbkNoYW5nZT17KG9wdGlvbjogYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgICBoYW5kbGVTb3VyY2VzKFxuICAgICAgICAgICAgICAgICAgICB1bmRlZmluZWQsXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICBzZWxlY3Rpb25fdHlwZTogbm90aWZpY2F0aW9uLnBvaW50cy5zZWxlY3Rpb25fdHlwZSxcbiAgICAgICAgICAgICAgICAgICAgICBzZXQ6IG9wdGlvbixcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgbm90aWZpY2F0aW9uLFxuICAgICAgICAgICAgICAgICAgICBzZXROZXdOb3RpZmljYXRpb24sXG4gICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgaXNTZWFyY2hhYmxlPXt0cnVlfVxuICAgICAgICAgICAgICAgIGlzTXVsdGk9e3RydWV9XG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lUHJlZml4PXsncG9pbnQnfVxuICAgICAgICAgICAgICAgIG9wdGlvbnM9e3BvaW50cz8ubWFwKChwOiBhbnkpID0+ICh7XG4gICAgICAgICAgICAgICAgICB2YWx1ZTogcC5wb2ludC5pZCxcbiAgICAgICAgICAgICAgICAgIGxhYmVsOiBwLnBvaW50LmxhYmVsLFxuICAgICAgICAgICAgICAgIH0pKX1cbiAgICAgICAgICAgICAgICBkZWZhdWx0VmFsdWU9e1xuICAgICAgICAgICAgICAgICAgbm90aWZpY2F0aW9uLnBvaW50cy5zZXQgIT09IG51bGxcbiAgICAgICAgICAgICAgICAgICAgPyBub3RpZmljYXRpb24ucG9pbnRzLnNldC5tYXAoKHA6IGFueSkgPT4gKHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiBwLmlkLFxuICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6IHAudGV4dCxcbiAgICAgICAgICAgICAgICAgICAgICB9KSlcbiAgICAgICAgICAgICAgICAgICAgOiBbXVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICl9XG4gICAgICAgICAgPC9Gb3JtLkdyb3VwPlxuICAgICAgICApfVxuXG4gICAgICB7bm90aWZpY2F0aW9uLnR5cGUgPT09ICdXYmVXZWVrbHlEaWdlc3RBbGVydENvbmZpZycgJiZcbiAgICAgICAgbm90aWZpY2F0aW9uLnRhZ3MgIT09IHVuZGVmaW5lZCAmJlxuICAgICAgICBhbGxvd2VkTm90aWZpY2F0aW9ucy5pbmNsdWRlcyhub3RpZmljYXRpb24udHlwZSkgJiYgKFxuICAgICAgICAgIDxGb3JtLkdyb3VwIGNvbnRyb2xJZD1cIm5vdGlmaWNhdGlvbi10YWdzXCI+XG4gICAgICAgICAgICA8Rm9ybS5MYWJlbD57aTE4bi50KCdub3RpZmljYXRpb25zX3BhZ2UudGFncycpfTwvRm9ybS5MYWJlbD5cbiAgICAgICAgICAgIDxOb3RpZmljYXRpb25zQ2hlY2tib3hlc1N0eWxlIGdhcD1cIjBcIj5cbiAgICAgICAgICAgICAgPFJhZGlvQnV0dG9uR3JvdXBcbiAgICAgICAgICAgICAgICBvcHRpb25zPXtzb3VyY2VzUmFkaW9CdXR0b25zfVxuICAgICAgICAgICAgICAgIGhhbmRsZUNoYW5nZT17KGV2ZW50KSA9PlxuICAgICAgICAgICAgICAgICAgaGFuZGxlVGFncyhldmVudCwgJycsIG5vdGlmaWNhdGlvbiwgc2V0TmV3Tm90aWZpY2F0aW9uKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9e25vdGlmaWNhdGlvbi50YWdzLnNlbGVjdGlvbl90eXBlfVxuICAgICAgICAgICAgICAgIGNoZWNrZWQ9e25vdGlmaWNhdGlvbi50YWdzLnNlbGVjdGlvbl90eXBlfVxuICAgICAgICAgICAgICAgIHR5cGU9XCJyYWRpb1wiXG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8L05vdGlmaWNhdGlvbnNDaGVja2JveGVzU3R5bGU+XG4gICAgICAgICAgICB7bm90aWZpY2F0aW9uLnRhZ3Muc2VsZWN0aW9uX3R5cGUgIT09ICdhbGwnICYmXG4gICAgICAgICAgICAgIGFsbG93ZWROb3RpZmljYXRpb25zLmluY2x1ZGVzKG5vdGlmaWNhdGlvbi50eXBlKSAmJiAoXG4gICAgICAgICAgICAgICAgPFNlbGVjdFxuICAgICAgICAgICAgICAgICAgbmFtZT17J3BvaW50J31cbiAgICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXsob3B0aW9uOiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaGFuZGxlVGFncyhcbiAgICAgICAgICAgICAgICAgICAgICB1bmRlZmluZWQsXG4gICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0aW9uX3R5cGU6XG4gICAgICAgICAgICAgICAgICAgICAgICAgIG5vdGlmaWNhdGlvbi50YWdzICE9PSB1bmRlZmluZWRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IG5vdGlmaWNhdGlvbi50YWdzLnNlbGVjdGlvbl90eXBlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBbXSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHNldDogb3B0aW9uLFxuICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgbm90aWZpY2F0aW9uLFxuICAgICAgICAgICAgICAgICAgICAgIHNldE5ld05vdGlmaWNhdGlvbixcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICBpc1NlYXJjaGFibGU9e3RydWV9XG4gICAgICAgICAgICAgICAgICBpc011bHRpPXt0cnVlfVxuICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lUHJlZml4PXsncG9pbnQnfVxuICAgICAgICAgICAgICAgICAgb3B0aW9ucz17dGFncz8ubWFwKChwOiBhbnkpID0+ICh7XG4gICAgICAgICAgICAgICAgICAgIHZhbHVlOiBwLnRhZy5pZCxcbiAgICAgICAgICAgICAgICAgICAgbGFiZWw6IHAudGFnLmxhYmVsLFxuICAgICAgICAgICAgICAgICAgfSkpfVxuICAgICAgICAgICAgICAgICAgZGVmYXVsdFZhbHVlPXtcbiAgICAgICAgICAgICAgICAgICAgbm90aWZpY2F0aW9uLnRhZ3Muc2V0ICE9PSBudWxsXG4gICAgICAgICAgICAgICAgICAgICAgPyBub3RpZmljYXRpb24udGFncy5zZXQubWFwKChwOiBhbnkpID0+ICh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiBwLmlkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogcC50ZXh0LFxuICAgICAgICAgICAgICAgICAgICAgICAgfSkpXG4gICAgICAgICAgICAgICAgICAgICAgOiBbXVxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICl9XG4gICAgICAgICAgPC9Gb3JtLkdyb3VwPlxuICAgICAgICApfVxuXG4gICAgICB7bm90aWZpY2F0aW9uLnR5cGUgPT09ICdEYXRhbG9nZ2VyVGhyZXNob2xkQWxlcnRDb25maWcnICYmXG4gICAgICAgIGFsbG93ZWROb3RpZmljYXRpb25zLmluY2x1ZGVzKG5vdGlmaWNhdGlvbi50eXBlKSAmJlxuICAgICAgICBub3RpZmljYXRpb24uc2Vuc29ycyAhPT0gdW5kZWZpbmVkICYmIChcbiAgICAgICAgICA8Rm9ybS5Hcm91cCBjb250cm9sSWQ9XCJub3RpZmljYXRpb24tc2Vuc29yc1wiPlxuICAgICAgICAgICAgPEZvcm0uTGFiZWw+e2kxOG4udCgnbm90aWZpY2F0aW9uc19wYWdlLnNlbnNvcnMnKX08L0Zvcm0uTGFiZWw+XG4gICAgICAgICAgICA8Tm90aWZpY2F0aW9uc0NoZWNrYm94ZXNTdHlsZSBnYXA9XCIwXCI+XG4gICAgICAgICAgICAgIDxSYWRpb0J1dHRvbkdyb3VwXG4gICAgICAgICAgICAgICAgb3B0aW9ucz17c291cmNlc1JhZGlvQnV0dG9uc31cbiAgICAgICAgICAgICAgICBoYW5kbGVDaGFuZ2U9eyhldmVudCkgPT5cbiAgICAgICAgICAgICAgICAgIGhhbmRsZVNlbnNvcnMoZXZlbnQsICcnLCBub3RpZmljYXRpb24sIHNldE5ld05vdGlmaWNhdGlvbilcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtub3RpZmljYXRpb24uc2Vuc29ycy5zZWxlY3Rpb25fdHlwZX1cbiAgICAgICAgICAgICAgICBjaGVja2VkPXtub3RpZmljYXRpb24uc2Vuc29ycy5zZWxlY3Rpb25fdHlwZX1cbiAgICAgICAgICAgICAgICB0eXBlPVwicmFkaW9cIlxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC9Ob3RpZmljYXRpb25zQ2hlY2tib3hlc1N0eWxlPlxuICAgICAgICAgICAge25vdGlmaWNhdGlvbi5zZW5zb3JzLnNlbGVjdGlvbl90eXBlICE9PSAnYWxsJyAmJiAoXG4gICAgICAgICAgICAgIDxTZWxlY3RcbiAgICAgICAgICAgICAgICBuYW1lPXsncG9pbnQnfVxuICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXsob3B0aW9uOiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICAgIGhhbmRsZVNlbnNvcnMoXG4gICAgICAgICAgICAgICAgICAgIHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgIHNlbGVjdGlvbl90eXBlOlxuICAgICAgICAgICAgICAgICAgICAgICAgbm90aWZpY2F0aW9uLnNlbnNvcnMgIT09IHVuZGVmaW5lZFxuICAgICAgICAgICAgICAgICAgICAgICAgICA/IG5vdGlmaWNhdGlvbi5zZW5zb3JzLnNlbGVjdGlvbl90eXBlXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDogW10sXG4gICAgICAgICAgICAgICAgICAgICAgc2V0OiBvcHRpb24sXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIG5vdGlmaWNhdGlvbixcbiAgICAgICAgICAgICAgICAgICAgc2V0TmV3Tm90aWZpY2F0aW9uLFxuICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgIGlzU2VhcmNoYWJsZT17dHJ1ZX1cbiAgICAgICAgICAgICAgICBpc011bHRpPXt0cnVlfVxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZVByZWZpeD17J3BvaW50J31cbiAgICAgICAgICAgICAgICBvcHRpb25zPXtzZW5zb3JzPy5tYXAoKHA6IGFueSkgPT4gKHtcbiAgICAgICAgICAgICAgICAgIHZhbHVlOiBwLnNlbnNvci5pZCxcbiAgICAgICAgICAgICAgICAgIGxhYmVsOiBwLnNlbnNvci5sYWJlbCxcbiAgICAgICAgICAgICAgICB9KSl9XG4gICAgICAgICAgICAgICAgZGVmYXVsdFZhbHVlPXtcbiAgICAgICAgICAgICAgICAgIG5vdGlmaWNhdGlvbi5zZW5zb3JzLnNldCAhPT0gbnVsbFxuICAgICAgICAgICAgICAgICAgICA/IG5vdGlmaWNhdGlvbi5zZW5zb3JzLnNldC5tYXAoKHA6IGFueSkgPT4gKHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiBwLmlkLFxuICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6IHAudGV4dCxcbiAgICAgICAgICAgICAgICAgICAgICB9KSlcbiAgICAgICAgICAgICAgICAgICAgOiBbXVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICl9XG4gICAgICAgICAgPC9Gb3JtLkdyb3VwPlxuICAgICAgICApfVxuXG4gICAgICA8Rm9ybS5Hcm91cCBjb250cm9sSWQ9XCJub3RpZmljYXRpb24tc2VuZFwiPlxuICAgICAgICA8Rm9ybS5MYWJlbD57aTE4bi50KCdub3RpZmljYXRpb25zX3BhZ2UuZWRpdF9zZW5kX3ZpYScpfTwvRm9ybS5MYWJlbD5cbiAgICAgICAgPE5vdGlmaWNhdGlvbnNDaGVja2JveGVzU3R5bGUgZ2FwPVwiMTBcIj5cbiAgICAgICAgICB7c2VuZFZpYUNoZWNrQm94ZXMubWFwKCh2YWx1ZSkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgPENoZWNrYm94XG4gICAgICAgICAgICAgICAga2V5PXt2YWx1ZS5sYWJlbH1cbiAgICAgICAgICAgICAgICBvcHRpb249e3ZhbHVlfVxuICAgICAgICAgICAgICAgIGhhbmRsZUNoYW5nZT17KGV2ZW50KSA9PlxuICAgICAgICAgICAgICAgICAgaGFuZGxlU2VuZFZpYShcbiAgICAgICAgICAgICAgICAgICAgZXZlbnQsXG4gICAgICAgICAgICAgICAgICAgIG5vdGlmaWNhdGlvbixcbiAgICAgICAgICAgICAgICAgICAgc2V0TmV3Tm90aWZpY2F0aW9uLFxuICAgICAgICAgICAgICAgICAgICBzZXRNb2RhbERldGFpbHMsXG4gICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17bm90aWZpY2F0aW9uLmFjdGlvbnN9XG4gICAgICAgICAgICAgICAgY2hlY2tlZD17bm90aWZpY2F0aW9uLmFjdGlvbnN9XG4gICAgICAgICAgICAgICAgdHlwZT1cImNoZWNrYm94XCJcbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfSl9XG4gICAgICAgICAge25vdGlmaWNhdGlvbi5hY3Rpb25zLnRlbGVncmFtICYmXG4gICAgICAgICAgICAhaGFzVGVsZWdyYW0gJiZcbiAgICAgICAgICAgIG1vZGFsRGV0YWlscy5vcGVuICYmXG4gICAgICAgICAgICBtb2RhbERldGFpbHMuaW5zdGFuY2UgPT09ICd0ZWxlZ3JhbScgJiYgKFxuICAgICAgICAgICAgICA8QWxlcnRcbiAgICAgICAgICAgICAgICBzZXRNb2RhbERldGFpbHM9e3NldE1vZGFsRGV0YWlsc31cbiAgICAgICAgICAgICAgICBjaGlsZHJlbj17XG4gICAgICAgICAgICAgICAgICA8QWxlcnRDb250ZW50PlxuICAgICAgICAgICAgICAgICAgICA8cD5cbiAgICAgICAgICAgICAgICAgICAgICB7aTE4bi50KCdub3RpZmljYXRpb25zX3BhZ2UuZWRpdF9zZW5kX3ZpYV9ub190ZWxlZ3JhbScpfVxuICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgIDxNb2RhbEFjdGlvbnNCdXR0b24gY29sb3I9e3RoZW1lLmNvbG9yU2NoZW1lLm5hdHVyYWwubjYwfT5cbiAgICAgICAgICAgICAgICAgICAgICB7aTE4bi50KCdub3RpZmljYXRpb25zX3BhZ2Uub2snKX1cbiAgICAgICAgICAgICAgICAgICAgPC9Nb2RhbEFjdGlvbnNCdXR0b24+XG4gICAgICAgICAgICAgICAgICA8L0FsZXJ0Q29udGVudD5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICApfVxuXG4gICAgICAgICAge25vdGlmaWNhdGlvbi5hY3Rpb25zLnNtcyAmJlxuICAgICAgICAgICAgIWhhc1Bob25lICYmXG4gICAgICAgICAgICBtb2RhbERldGFpbHMub3BlbiAmJlxuICAgICAgICAgICAgbW9kYWxEZXRhaWxzLmluc3RhbmNlID09PSAnc21zJyAmJiAoXG4gICAgICAgICAgICAgIDxBbGVydFxuICAgICAgICAgICAgICAgIHNldE1vZGFsRGV0YWlscz17c2V0TW9kYWxEZXRhaWxzfVxuICAgICAgICAgICAgICAgIGNoaWxkcmVuPXtcbiAgICAgICAgICAgICAgICAgIDxBbGVydENvbnRlbnQ+XG4gICAgICAgICAgICAgICAgICAgIDxwPntpMThuLnQoJ25vdGlmaWNhdGlvbnNfcGFnZS5lZGl0X3NlbmRfdmlhX25vX3Bob25lJyl9PC9wPlxuICAgICAgICAgICAgICAgICAgICA8TW9kYWxBY3Rpb25zQnV0dG9uIGNvbG9yPXt0aGVtZS5jb2xvclNjaGVtZS5uYXR1cmFsLm42MH0+XG4gICAgICAgICAgICAgICAgICAgICAge2kxOG4udCgnbm90aWZpY2F0aW9uc19wYWdlLm9rJyl9XG4gICAgICAgICAgICAgICAgICAgIDwvTW9kYWxBY3Rpb25zQnV0dG9uPlxuICAgICAgICAgICAgICAgICAgPC9BbGVydENvbnRlbnQ+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgPC9Ob3RpZmljYXRpb25zQ2hlY2tib3hlc1N0eWxlPlxuICAgICAgPC9Gb3JtLkdyb3VwPlxuICAgICAge25vdGlmaWNhdGlvbi50eXBlID09PSAnUm9sbGluZ0V2ZW50QWxlcnRDb25maWcnICYmXG4gICAgICAgIGFsbG93ZWROb3RpZmljYXRpb25zLmluY2x1ZGVzKG5vdGlmaWNhdGlvbi50eXBlKSAmJiAoXG4gICAgICAgICAgPEZvcm0uR3JvdXA+XG4gICAgICAgICAgICA8Rm9ybS5DaGVja1xuICAgICAgICAgICAgICBpbmxpbmVcbiAgICAgICAgICAgICAgbGFiZWw9e2kxOG4udCgnbm90aWZpY2F0aW9uc19wYWdlLmVkaXRfc2FtcGxlcl9hY3RpdmUnKX1cbiAgICAgICAgICAgICAgbmFtZT1cInB1bXBfb25seVwiXG4gICAgICAgICAgICAgIHR5cGU9XCJjaGVja2JveFwiXG4gICAgICAgICAgICAgIGlkPVwicHVtcF9vbmx5XCJcbiAgICAgICAgICAgICAgb25DaGFuZ2U9eyhlKSA9PiBoYW5kbGVOb3RpZmljYXRpb25TYW1wbGUoZSwgc2V0TmV3Tm90aWZpY2F0aW9uKX1cbiAgICAgICAgICAgICAgY2hlY2tlZD17bm90aWZpY2F0aW9uLnB1bXBfb25seSA9PT0gJzEnfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L0Zvcm0uR3JvdXA+XG4gICAgICAgICl9XG4gICAgPC9Ob3RpZmljYXRpb25TaWRlYmFyRm9ybUFyZWFTdHlsZT5cbiAgKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IE5vdGlmaWNhdGlvbnNGb3JtQ29udGVudDtcblxuY29uc3QgQWxlcnRDb250ZW50ID0gc3R5bGVkLmRpdmBcbiAgcCB7XG4gICAgcGFkZGluZzogMzBweCAzMHB4IDAgMzBweDtcbiAgfVxuXG4gIGRpc3BsYXk6IGZsZXg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG4gIGhlaWdodDogMTAwJTtcbmA7XG5cbmNvbnN0IE1vZGFsQWN0aW9uc0J1dHRvbiA9IHN0eWxlZC5kaXZgXG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjYThhOGFhO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGhlaWdodDogNDVweDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgY29sb3I6ICR7KHsgY29sb3IgfSkgPT4gY29sb3J9O1xuYDtcblxuY29uc3QgTm90aWZpY2F0aW9uU2lkZWJhckZvcm1BcmVhU3R5bGUgPSBzdHlsZWQuZGl2YFxuICBAbWVkaWEgKG1heC13aWR0aDogNTAwcHgpIHtcbiAgICBtYXgtaGVpZ2h0OiA2MHZoICFpbXBvcnRhbnQ7XG4gIH1cblxuICB3aWR0aDogMTAwJTtcbiAgbWF4LWhlaWdodDogNzJ2aDtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAzcHggMXB4ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JTY2hlbWUubmF0dXJhbC5uMzB9O1xuICBwYWRkaW5nOiAxMHB4IDMwcHg7XG4gIG92ZXJmbG93OiBhdXRvO1xuXG4gIGxhYmVsIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuZm9udFNpemUubWR9O1xuICAgIGZvbnQtd2VpZ2h0OiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmZvbnRXZWlnaHQudzYwMH07XG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgLmZvcm0tZ3JvdXAge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IDhweDtcbiAgfVxuXG4gIC5hbGwsXG4gIC5pbmNsdWRlLFxuICAuZXhjbHVkZSxcbiAgLnRlbGVncmFtLFxuICAuZW1haWwsXG4gIC5zbXMge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JTY2hlbWUubmF0dXJhbC5uODB9O1xuICAgIGNvbG9yOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9yU2NoZW1lLm5hdHVyYWwubjgwfTtcbiAgfVxuICAuZXh0cmVtZSB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvclNjaGVtZS5wcmltYXJ5LnAxfTtcbiAgICBjb2xvcjogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvclNjaGVtZS5wcmltYXJ5LnAxfTtcbiAgfVxuICAuaGlnaCB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvclNjaGVtZS5kYXRhLk8xMDB9O1xuICAgIGNvbG9yOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9yU2NoZW1lLmRhdGEuTzEwMH07XG4gIH1cbiAgLm1lZGl1bSB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvclNjaGVtZS5kYXRhLlcxMDB9O1xuICAgIGNvbG9yOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9yU2NoZW1lLmRhdGEuVzEwMH07XG4gIH1cblxuICAuZm9ybS1jaGVjay1pbmxpbmUge1xuICAgIGFsaWduLWl0ZW1zOiBzZWxmLXN0YXJ0ICFpbXBvcnRhbnQ7XG5cbiAgICBpbnB1dCB7XG4gICAgICBtYXJnaW4tdG9wOiA3cHggIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbmA7XG5cbmNvbnN0IE5vdGlmaWNhdGlvbnNDaGVja2JveGVzU3R5bGUgPSBzdHlsZWQuZGl2PHsgZ2FwOiBzdHJpbmcgfT5gXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGdhcDogJHsoeyBnYXAgfSkgPT4gZ2FwICsgJ3B4J307XG4gIG1hcmdpbi1ib3R0b206IDhweDtc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
|
|
196
|
+
exports.NotificationsCheckboxesStyle = NotificationsCheckboxesStyle;
|
|
197
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfcmVhY3RCb290c3RyYXAiLCJfaTE4biIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfbm90aWZpY2F0aW9uVXRpbHMiLCJfUmFkaW9CdXR0b25Hcm91cCIsIl9Ob3RpZmljYXRpb25zVXRpbHMiLCJfRXZlbnRUeXBlIiwiX05vdGlmaWNhdGlvblNlbmRWaWEiLCJfV2F0ZXJBdXRob3JpdHlTZWxlY3Rpb24iLCJfTm90aWZpY2F0aW9uU291cmNlcyIsIl9Ob3RpZmljYXRpb25UYWdzIiwiX05vdGlmaWNhdGlvblNlbnNvcnMiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJub2RlSW50ZXJvcCIsIldlYWtNYXAiLCJjYWNoZUJhYmVsSW50ZXJvcCIsImNhY2hlTm9kZUludGVyb3AiLCJvYmoiLCJfX2VzTW9kdWxlIiwiX3R5cGVvZiIsImRlZmF1bHQiLCJjYWNoZSIsImhhcyIsImdldCIsIm5ld09iaiIsImhhc1Byb3BlcnR5RGVzY3JpcHRvciIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwia2V5IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiZGVzYyIsInNldCIsIk5vdGlmaWNhdGlvbnNGb3JtQ29udGVudCIsIl9yZWYiLCJub3RpZmljYXRpb24iLCJwb2ludHMiLCJ0YWdzIiwic2Vuc29ycyIsIndhdGVyQXV0aG9yaXRpZXMiLCJhbGxvd2VkTm90aWZpY2F0aW9ucyIsInNldE5ld05vdGlmaWNhdGlvbiIsImhhc1Bob25lIiwiaGFzVGVsZWdyYW0iLCJpbml0aWFsQWR2YW5jZWRDb25maWciLCJfdXNlU3RhdGUiLCJ1c2VTdGF0ZSIsIm9wZW4iLCJpbnN0YW5jZSIsIl91c2VTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheTIiLCJtb2RhbERldGFpbHMiLCJzZXRNb2RhbERldGFpbHMiLCJpc0RpcmVjdEltcGFjdCIsImRpcmVjdF9pbXBhY3Rfb25seSIsInVuZGVmaW5lZCIsIl91c2VTdGF0ZTMiLCJfdXNlU3RhdGU0Iiwic2hvd0FkdmFuY2VkQ29uZmlnIiwic2V0U2hvd0FkdmFuY2VkQ29uZmlnIiwic2hvd0FkdmFuY2VkQ29uZmlnTG9naWMiLCJ0eXBlIiwiaWQiLCJzaG93QWR2YW5jZWRDb25maWdDaGVja2JveCIsImRlZmF1bHRXYXRlckF1dGhvcml0eUlmU2luZ2xlIiwibGVuZ3RoIiwiaGFuZGxlTm90aWZpY2F0aW9uVHlwZSIsInZhbHVlIiwibGFiZWwiLCJpMThuIiwidCIsImhhbmRsZVdhdGVyQXV0aG9yaXRpZXMiLCJzZWxlY3Rpb25fdHlwZSIsIndhdGVyX2F1dGhvcml0eSIsInVzZUVmZmVjdCIsImJhc2ljQ29uZmlndXJhdGlvbiIsImFkdmFuY2VkQ29tcG9uZW50cyIsImNyZWF0ZUVsZW1lbnQiLCJGcmFnbWVudCIsIkV2ZW50VHlwZSIsIkZvcm0iLCJHcm91cCIsIkNoZWNrIiwiaW5saW5lIiwibmFtZSIsIm9uQ2hhbmdlIiwiZSIsImhhbmRsZURpcmVjdEltcGFjdCIsImNoZWNrZWQiLCJXYXRlckF1dGhvcml0eVNlbGVjdGlvbiIsIk5vdGlmaWNhdGlvblNlbmRWaWEiLCJpbmNsdWRlcyIsImhhbmRsZU5vdGlmaWNhdGlvblNhbXBsZSIsInB1bXBfb25seSIsImFkdmFuY2VkQ29uZmlndXJhdGlvbiIsImNvbnRyb2xJZCIsIkxhYmVsIiwiTm90aWZpY2F0aW9uc0NoZWNrYm94ZXNTdHlsZSIsImdhcCIsIm9wdGlvbnMiLCJzZXZlcml0aWVzUmFkaW9CdXR0b25zIiwiaGFuZGxlQ2hhbmdlIiwiZXZlbnQiLCJoYW5kbGVTZXZlcml0aWVzIiwiY2xhc3NOYW1lIiwic2V2ZXJpdHkiLCJOb3RpZmljYXRpb25Tb3VyY2VzIiwiTm90aWZpY2F0aW9uVGFncyIsIk5vdGlmaWNhdGlvblNlbnNvcnMiLCJOb3RpZmljYXRpb25TaWRlYmFyRm9ybUFyZWFTdHlsZSIsIl9kZWZhdWx0IiwiZXhwb3J0cyIsInN0eWxlZCIsImRpdiIsIndpdGhDb25maWciLCJkaXNwbGF5TmFtZSIsImNvbXBvbmVudElkIiwiX3JlZjIiLCJ0aGVtZSIsImNvbG9yU2NoZW1lIiwibmF0dXJhbCIsIm4zMCIsIl9yZWYzIiwiZm9udFNpemUiLCJtZCIsIl9yZWY0IiwiZm9udFdlaWdodCIsInc2MDAiLCJfcmVmNSIsIm44MCIsIl9yZWY2IiwiX3JlZjciLCJwcmltYXJ5IiwicDEiLCJfcmVmOCIsIl9yZWY5IiwiZGF0YSIsIk8xMDAiLCJfcmVmMTAiLCJfcmVmMTEiLCJXMTAwIiwiX3JlZjEyIiwiX3JlZjEzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL3BhZ2VzL05vdGlmaWNhdGlvbnNQYWdlVjIvY29tcG9uZW50cy9Ob3RpZmljYXRpb25zRm9ybS9Ob3RpZmljYXRpb25zRm9ybUNvbnRlbnQudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyB1c2VFZmZlY3QsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdzdHlsZWQtY29tcG9uZW50cy9tYWNybyc7XG5pbXBvcnQgeyBGb3JtIH0gZnJvbSAncmVhY3QtYm9vdHN0cmFwJztcbmltcG9ydCBpMThuIGZyb20gJ3NyYy91dGlsaXRpZXMvaTE4bic7XG5pbXBvcnQge1xuICBOb3RpZmljYXRpb24sXG4gIHNldmVyaXRpZXNSYWRpb0J1dHRvbnMsXG4gIEFkdmFuY2VkU2VsZWN0aW9uLFxufSBmcm9tICdzcmMvcGFnZXMvTm90aWZpY2F0aW9uc1BhZ2VWMi9ub3RpZmljYXRpb25VdGlscyc7XG5pbXBvcnQgUmFkaW9CdXR0b25Hcm91cCBmcm9tICdzcmMvdWkta2l0L1JhZGlvQnV0dG9ucy9SYWRpb0J1dHRvbkdyb3VwJztcbmltcG9ydCB7XG4gIGhhbmRsZURpcmVjdEltcGFjdCxcbiAgaGFuZGxlTm90aWZpY2F0aW9uU2FtcGxlLFxuICBoYW5kbGVOb3RpZmljYXRpb25UeXBlLFxuICBoYW5kbGVTZXZlcml0aWVzLFxuICBoYW5kbGVXYXRlckF1dGhvcml0aWVzLFxufSBmcm9tICcuLi9Ob3RpZmljYXRpb25zVXRpbHMnO1xuaW1wb3J0IHsgQWxlcnREZXRhaWxzIH0gZnJvbSAnLi4vLi4vLi4vU2FtcGxpbmdzUGFnZS9TYW1wbGluZ1Byb3BlcnRpZXMvc2FtcGxpbmdQcm9wZXJ0aWVzVXRpbHMnO1xuaW1wb3J0IHsgRXZlbnRUeXBlIH0gZnJvbSAnLi9FdmVudFR5cGUnO1xuaW1wb3J0IHsgTm90aWZpY2F0aW9uU2VuZFZpYSB9IGZyb20gJy4vTm90aWZpY2F0aW9uU2VuZFZpYSc7XG5pbXBvcnQgeyBXYXRlckF1dGhvcml0eVNlbGVjdGlvbiB9IGZyb20gJy4vV2F0ZXJBdXRob3JpdHlTZWxlY3Rpb24nO1xuaW1wb3J0IHsgTm90aWZpY2F0aW9uU291cmNlcyB9IGZyb20gJy4vTm90aWZpY2F0aW9uU291cmNlcyc7XG5pbXBvcnQgeyBOb3RpZmljYXRpb25UYWdzIH0gZnJvbSAnLi9Ob3RpZmljYXRpb25UYWdzJztcbmltcG9ydCB7IE5vdGlmaWNhdGlvblNlbnNvcnMgfSBmcm9tICcuL05vdGlmaWNhdGlvblNlbnNvcnMnO1xuXG5pbnRlcmZhY2Ugbm90aWZpY2F0aW9uRm9ybUNvbnRlbnRQcm9wcyB7XG4gIG5vdGlmaWNhdGlvbjogTm90aWZpY2F0aW9uO1xuICBwb2ludHM6IEFkdmFuY2VkU2VsZWN0aW9uW107XG4gIHRhZ3M6IEFkdmFuY2VkU2VsZWN0aW9uW107XG4gIHNlbnNvcnM6IEFkdmFuY2VkU2VsZWN0aW9uW107XG4gIHdhdGVyQXV0aG9yaXRpZXM6IEFkdmFuY2VkU2VsZWN0aW9uW107XG4gIGFsbG93ZWROb3RpZmljYXRpb25zOiBzdHJpbmdbXTtcbiAgc2V0TmV3Tm90aWZpY2F0aW9uOiBhbnk7XG4gIGhhc1Bob25lOiBib29sZWFuO1xuICBoYXNUZWxlZ3JhbTogYm9vbGVhbjtcbiAgaW5pdGlhbEFkdmFuY2VkQ29uZmlnOiBib29sZWFuO1xuICBkaXJlY3RfaW1wYWN0X29ubHk6IGJvb2xlYW47XG59XG5cbmNvbnN0IE5vdGlmaWNhdGlvbnNGb3JtQ29udGVudDogUmVhY3QuRkM8bm90aWZpY2F0aW9uRm9ybUNvbnRlbnRQcm9wcz4gPSAoe1xuICBub3RpZmljYXRpb24sXG4gIHBvaW50cyxcbiAgdGFncyxcbiAgc2Vuc29ycyxcbiAgd2F0ZXJBdXRob3JpdGllcyxcbiAgYWxsb3dlZE5vdGlmaWNhdGlvbnMsXG4gIHNldE5ld05vdGlmaWNhdGlvbixcbiAgaGFzUGhvbmUsXG4gIGhhc1RlbGVncmFtLFxuICBpbml0aWFsQWR2YW5jZWRDb25maWcsXG59KSA9PiB7XG4gIGNvbnN0IFttb2RhbERldGFpbHMsIHNldE1vZGFsRGV0YWlsc10gPSB1c2VTdGF0ZTxBbGVydERldGFpbHM+KHtcbiAgICBvcGVuOiBmYWxzZSxcbiAgICBpbnN0YW5jZTogJycsXG4gIH0pO1xuICBjb25zdCBpc0RpcmVjdEltcGFjdCA9IChub3RpZmljYXRpb24pID0+IHtcbiAgICByZXR1cm4gKFxuICAgICAgbm90aWZpY2F0aW9uLmRpcmVjdF9pbXBhY3Rfb25seSA9PT0gJzEnIHx8XG4gICAgICBub3RpZmljYXRpb24uZGlyZWN0X2ltcGFjdF9vbmx5ID09PSB1bmRlZmluZWRcbiAgICApO1xuICB9O1xuICBjb25zdCBbc2hvd0FkdmFuY2VkQ29uZmlnLCBzZXRTaG93QWR2YW5jZWRDb25maWddID0gdXNlU3RhdGUoXG4gICAgaXNEaXJlY3RJbXBhY3Qobm90aWZpY2F0aW9uKSA/IGZhbHNlIDogdHJ1ZSxcbiAgKTtcbiAgY29uc3Qgc2hvd0FkdmFuY2VkQ29uZmlnTG9naWMgPSAoKSA9PiB7XG4gICAgcmV0dXJuIChcbiAgICAgICgobm90aWZpY2F0aW9uLnR5cGUgIT09ICdSb2xsaW5nRXZlbnRBbGVydENvbmZpZycgfHxcbiAgICAgICAgaW5pdGlhbEFkdmFuY2VkQ29uZmlnKSAmJlxuICAgICAgICBzaG93QWR2YW5jZWRDb25maWcpIHx8XG4gICAgICAobm90aWZpY2F0aW9uLmlkID09PSAnJyAmJlxuICAgICAgICBub3RpZmljYXRpb24udHlwZSAhPT0gJ1JvbGxpbmdFdmVudEFsZXJ0Q29uZmlnJylcbiAgICApO1xuICB9O1xuXG4gIGNvbnN0IHNob3dBZHZhbmNlZENvbmZpZ0NoZWNrYm94ID0gKCkgPT4ge1xuICAgIHJldHVybiAoXG4gICAgICBub3RpZmljYXRpb24udHlwZSA9PT0gJ1JvbGxpbmdFdmVudEFsZXJ0Q29uZmlnJyAmJiBpbml0aWFsQWR2YW5jZWRDb25maWdcbiAgICApO1xuICB9O1xuXG4gIGNvbnN0IGRlZmF1bHRXYXRlckF1dGhvcml0eUlmU2luZ2xlID0gKCkgPT4ge1xuICAgIGlmICh3YXRlckF1dGhvcml0aWVzLmxlbmd0aCA9PT0gMSkge1xuICAgICAgaGFuZGxlTm90aWZpY2F0aW9uVHlwZShcbiAgICAgICAge1xuICAgICAgICAgIHZhbHVlOiAnUm9sbGluZ0V2ZW50QWxlcnRDb25maWcnLFxuICAgICAgICAgIGxhYmVsOiBpMThuLnQoYG5vdGlmaWNhdGlvbnNfcGFnZS5Sb2xsaW5nRXZlbnRBbGVydENvbmZpZ2ApLFxuICAgICAgICB9LFxuICAgICAgICBub3RpZmljYXRpb24sXG4gICAgICAgIHNldE5ld05vdGlmaWNhdGlvbixcbiAgICAgICk7XG4gICAgICBoYW5kbGVXYXRlckF1dGhvcml0aWVzKFxuICAgICAgICB1bmRlZmluZWQsXG4gICAgICAgIHtcbiAgICAgICAgICBzZWxlY3Rpb25fdHlwZTogJ2luY2x1ZGUnLFxuICAgICAgICAgIHNldDogW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICB2YWx1ZTogd2F0ZXJBdXRob3JpdGllc1swXS53YXRlcl9hdXRob3JpdHkuaWQsXG4gICAgICAgICAgICAgIGxhYmVsOiB3YXRlckF1dGhvcml0aWVzWzBdLndhdGVyX2F1dGhvcml0eS5sYWJlbCxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgXSxcbiAgICAgICAgfSxcbiAgICAgICAgbm90aWZpY2F0aW9uLFxuICAgICAgICBzZXROZXdOb3RpZmljYXRpb24sXG4gICAgICApO1xuICAgIH1cbiAgfTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGRlZmF1bHRXYXRlckF1dGhvcml0eUlmU2luZ2xlKCk7XG4gICAgaWYgKG5vdGlmaWNhdGlvbi50eXBlID09PSAnJykge1xuICAgICAgaGFuZGxlTm90aWZpY2F0aW9uVHlwZShcbiAgICAgICAge1xuICAgICAgICAgIHZhbHVlOiAnUm9sbGluZ0V2ZW50QWxlcnRDb25maWcnLFxuICAgICAgICAgIGxhYmVsOiBpMThuLnQoYG5vdGlmaWNhdGlvbnNfcGFnZS5Sb2xsaW5nRXZlbnRBbGVydENvbmZpZ2ApLFxuICAgICAgICB9LFxuICAgICAgICBub3RpZmljYXRpb24sXG4gICAgICAgIHNldE5ld05vdGlmaWNhdGlvbixcbiAgICAgICk7XG4gICAgfVxuICB9LCBbXSk7XG5cbiAgY29uc3QgYmFzaWNDb25maWd1cmF0aW9uID0gKGFkdmFuY2VkQ29tcG9uZW50cykgPT4ge1xuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICA8RXZlbnRUeXBlXG4gICAgICAgICAgbm90aWZpY2F0aW9uPXtub3RpZmljYXRpb259XG4gICAgICAgICAgc2V0TmV3Tm90aWZpY2F0aW9uPXtzZXROZXdOb3RpZmljYXRpb259XG4gICAgICAgICAgYWxsb3dlZE5vdGlmaWNhdGlvbnM9e2FsbG93ZWROb3RpZmljYXRpb25zfVxuICAgICAgICAvPlxuXG4gICAgICAgIHtzaG93QWR2YW5jZWRDb25maWdDaGVja2JveCgpICYmIChcbiAgICAgICAgICA8Rm9ybS5Hcm91cD5cbiAgICAgICAgICAgIDxGb3JtLkNoZWNrXG4gICAgICAgICAgICAgIGlubGluZVxuICAgICAgICAgICAgICBsYWJlbD17aTE4bi50KCdub3RpZmljYXRpb25zX3BhZ2UuYWR2YW5jZWRfY29uZmlndXJhdGlvbicpfVxuICAgICAgICAgICAgICBuYW1lPVwiYWR2YW5jZWRfY29uZmlndXJhdGlvblwiXG4gICAgICAgICAgICAgIHR5cGU9XCJjaGVja2JveFwiXG4gICAgICAgICAgICAgIGlkPVwiYWR2YW5jZWRfY29uZmlndXJhdGlvblwiXG4gICAgICAgICAgICAgIG9uQ2hhbmdlPXsoZSkgPT4ge1xuICAgICAgICAgICAgICAgIHNldFNob3dBZHZhbmNlZENvbmZpZyghc2hvd0FkdmFuY2VkQ29uZmlnKTtcbiAgICAgICAgICAgICAgICBoYW5kbGVEaXJlY3RJbXBhY3QoZSwgc2V0TmV3Tm90aWZpY2F0aW9uLCBub3RpZmljYXRpb24pO1xuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICBjaGVja2VkPXtzaG93QWR2YW5jZWRDb25maWd9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvRm9ybS5Hcm91cD5cbiAgICAgICAgKX1cblxuICAgICAgICB7d2F0ZXJBdXRob3JpdGllcy5sZW5ndGggPiAxICYmIChcbiAgICAgICAgICA8V2F0ZXJBdXRob3JpdHlTZWxlY3Rpb25cbiAgICAgICAgICAgIHdhdGVyQXV0aG9yaXRpZXM9e3dhdGVyQXV0aG9yaXRpZXN9XG4gICAgICAgICAgICBhbGxvd2VkTm90aWZpY2F0aW9ucz17YWxsb3dlZE5vdGlmaWNhdGlvbnN9XG4gICAgICAgICAgICBub3RpZmljYXRpb249e25vdGlmaWNhdGlvbn1cbiAgICAgICAgICAgIHNldE5ld05vdGlmaWNhdGlvbj17c2V0TmV3Tm90aWZpY2F0aW9ufVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG5cbiAgICAgICAge3Nob3dBZHZhbmNlZENvbmZpZ0xvZ2ljKCkgJiYgYWR2YW5jZWRDb21wb25lbnRzKCl9XG5cbiAgICAgICAgPE5vdGlmaWNhdGlvblNlbmRWaWFcbiAgICAgICAgICBub3RpZmljYXRpb249e25vdGlmaWNhdGlvbn1cbiAgICAgICAgICBzZXROZXdOb3RpZmljYXRpb249e3NldE5ld05vdGlmaWNhdGlvbn1cbiAgICAgICAgICBtb2RhbERldGFpbHM9e21vZGFsRGV0YWlsc31cbiAgICAgICAgICBzZXRNb2RhbERldGFpbHM9e3NldE1vZGFsRGV0YWlsc31cbiAgICAgICAgICBoYXNUZWxlZ3JhbT17aGFzVGVsZWdyYW19XG4gICAgICAgICAgaGFzUGhvbmU9e2hhc1Bob25lfVxuICAgICAgICAvPlxuXG4gICAgICAgIHtzaG93QWR2YW5jZWRDb25maWdMb2dpYygpICYmXG4gICAgICAgICAgbm90aWZpY2F0aW9uLnR5cGUgPT09ICdSb2xsaW5nRXZlbnRBbGVydENvbmZpZycgJiZcbiAgICAgICAgICBhbGxvd2VkTm90aWZpY2F0aW9ucy5pbmNsdWRlcyhub3RpZmljYXRpb24udHlwZSkgJiYgKFxuICAgICAgICAgICAgPEZvcm0uR3JvdXA+XG4gICAgICAgICAgICAgIDxGb3JtLkNoZWNrXG4gICAgICAgICAgICAgICAgaW5saW5lXG4gICAgICAgICAgICAgICAgbGFiZWw9e2kxOG4udCgnbm90aWZpY2F0aW9uc19wYWdlLmVkaXRfc2FtcGxlcl9hY3RpdmUnKX1cbiAgICAgICAgICAgICAgICBuYW1lPVwicHVtcF9vbmx5XCJcbiAgICAgICAgICAgICAgICB0eXBlPVwiY2hlY2tib3hcIlxuICAgICAgICAgICAgICAgIGlkPVwicHVtcF9vbmx5XCJcbiAgICAgICAgICAgICAgICBvbkNoYW5nZT17KGUpID0+XG4gICAgICAgICAgICAgICAgICBoYW5kbGVOb3RpZmljYXRpb25TYW1wbGUoZSwgc2V0TmV3Tm90aWZpY2F0aW9uKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBjaGVja2VkPXtub3RpZmljYXRpb24ucHVtcF9vbmx5ID09PSAnMSd9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8L0Zvcm0uR3JvdXA+XG4gICAgICAgICAgKX1cbiAgICAgIDwvPlxuICAgICk7XG4gIH07XG5cbiAgY29uc3QgYWR2YW5jZWRDb25maWd1cmF0aW9uID0gKCkgPT4ge1xuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICB7bm90aWZpY2F0aW9uLnR5cGUgPT09ICdSb2xsaW5nRXZlbnRBbGVydENvbmZpZycgJiZcbiAgICAgICAgICBhbGxvd2VkTm90aWZpY2F0aW9ucy5pbmNsdWRlcyhub3RpZmljYXRpb24udHlwZSkgJiYgKFxuICAgICAgICAgICAgPEZvcm0uR3JvdXAgY29udHJvbElkPVwibm90aWZpY2F0aW9uLXNldmVyaXR5XCI+XG4gICAgICAgICAgICAgIDxGb3JtLkxhYmVsPlxuICAgICAgICAgICAgICAgIHtpMThuLnQoJ25vdGlmaWNhdGlvbnNfcGFnZS5lZGl0X3NldmVyaXR5Jyl9XG4gICAgICAgICAgICAgIDwvRm9ybS5MYWJlbD5cbiAgICAgICAgICAgICAgPE5vdGlmaWNhdGlvbnNDaGVja2JveGVzU3R5bGUgZ2FwPVwiMTBcIj5cbiAgICAgICAgICAgICAgICA8UmFkaW9CdXR0b25Hcm91cFxuICAgICAgICAgICAgICAgICAgb3B0aW9ucz17c2V2ZXJpdGllc1JhZGlvQnV0dG9uc31cbiAgICAgICAgICAgICAgICAgIGhhbmRsZUNoYW5nZT17KGV2ZW50KSA9PlxuICAgICAgICAgICAgICAgICAgICBoYW5kbGVTZXZlcml0aWVzKGV2ZW50LCBzZXROZXdOb3RpZmljYXRpb24pXG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICBjbGFzc05hbWU9e25vdGlmaWNhdGlvbi5zZXZlcml0eX1cbiAgICAgICAgICAgICAgICAgIGNoZWNrZWQ9e25vdGlmaWNhdGlvbi5zZXZlcml0eX1cbiAgICAgICAgICAgICAgICAgIHR5cGU9XCJyYWRpb1wiXG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPC9Ob3RpZmljYXRpb25zQ2hlY2tib3hlc1N0eWxlPlxuICAgICAgICAgICAgPC9Gb3JtLkdyb3VwPlxuICAgICAgICAgICl9XG5cbiAgICAgICAge25vdGlmaWNhdGlvbi50eXBlICE9PSAnV2JlV2Vla2x5RGlnZXN0QWxlcnRDb25maWcnICYmXG4gICAgICAgICAgbm90aWZpY2F0aW9uLnR5cGUgIT09ICdEYXRhbG9nZ2VyVGhyZXNob2xkQWxlcnRDb25maWcnICYmXG4gICAgICAgICAgYWxsb3dlZE5vdGlmaWNhdGlvbnMuaW5jbHVkZXMobm90aWZpY2F0aW9uLnR5cGUpICYmIChcbiAgICAgICAgICAgIDxOb3RpZmljYXRpb25Tb3VyY2VzXG4gICAgICAgICAgICAgIG5vdGlmaWNhdGlvbj17bm90aWZpY2F0aW9ufVxuICAgICAgICAgICAgICBzZXROZXdOb3RpZmljYXRpb249e3NldE5ld05vdGlmaWNhdGlvbn1cbiAgICAgICAgICAgICAgcG9pbnRzPXtwb2ludHN9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICl9XG5cbiAgICAgICAge25vdGlmaWNhdGlvbi50eXBlID09PSAnV2JlV2Vla2x5RGlnZXN0QWxlcnRDb25maWcnICYmXG4gICAgICAgICAgbm90aWZpY2F0aW9uLnRhZ3MgIT09IHVuZGVmaW5lZCAmJlxuICAgICAgICAgIGFsbG93ZWROb3RpZmljYXRpb25zLmluY2x1ZGVzKG5vdGlmaWNhdGlvbi50eXBlKSAmJiAoXG4gICAgICAgICAgICA8Tm90aWZpY2F0aW9uVGFnc1xuICAgICAgICAgICAgICBub3RpZmljYXRpb249e25vdGlmaWNhdGlvbn1cbiAgICAgICAgICAgICAgc2V0TmV3Tm90aWZpY2F0aW9uPXtzZXROZXdOb3RpZmljYXRpb259XG4gICAgICAgICAgICAgIGFsbG93ZWROb3RpZmljYXRpb25zPXthbGxvd2VkTm90aWZpY2F0aW9uc31cbiAgICAgICAgICAgICAgdGFncz17dGFnc31cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKX1cblxuICAgICAgICB7bm90aWZpY2F0aW9uLnR5cGUgPT09ICdEYXRhbG9nZ2VyVGhyZXNob2xkQWxlcnRDb25maWcnICYmXG4gICAgICAgICAgYWxsb3dlZE5vdGlmaWNhdGlvbnMuaW5jbHVkZXMobm90aWZpY2F0aW9uLnR5cGUpICYmXG4gICAgICAgICAgbm90aWZpY2F0aW9uLnNlbnNvcnMgIT09IHVuZGVmaW5lZCAmJiAoXG4gICAgICAgICAgICA8Tm90aWZpY2F0aW9uU2Vuc29yc1xuICAgICAgICAgICAgICBub3RpZmljYXRpb249e25vdGlmaWNhdGlvbn1cbiAgICAgICAgICAgICAgc2V0TmV3Tm90aWZpY2F0aW9uPXtzZXROZXdOb3RpZmljYXRpb259XG4gICAgICAgICAgICAgIHNlbnNvcnM9e3NlbnNvcnN9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICl9XG4gICAgICA8Lz5cbiAgICApO1xuICB9O1xuXG4gIHJldHVybiAoXG4gICAgPE5vdGlmaWNhdGlvblNpZGViYXJGb3JtQXJlYVN0eWxlPlxuICAgICAge2Jhc2ljQ29uZmlndXJhdGlvbihhZHZhbmNlZENvbmZpZ3VyYXRpb24pfVxuICAgIDwvTm90aWZpY2F0aW9uU2lkZWJhckZvcm1BcmVhU3R5bGU+XG4gICk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBOb3RpZmljYXRpb25zRm9ybUNvbnRlbnQ7XG5cbmNvbnN0IE5vdGlmaWNhdGlvblNpZGViYXJGb3JtQXJlYVN0eWxlID0gc3R5bGVkLmRpdmBcbiAgQG1lZGlhIChtYXgtd2lkdGg6IDUwMHB4KSB7XG4gICAgbWF4LWhlaWdodDogNjB2aCAhaW1wb3J0YW50O1xuICB9XG5cbiAgd2lkdGg6IDEwMCU7XG4gIG1heC1oZWlnaHQ6IDcydmg7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggM3B4IDFweCAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9yU2NoZW1lLm5hdHVyYWwubjMwfTtcbiAgcGFkZGluZzogMTBweCAzMHB4O1xuICBvdmVyZmxvdzogYXV0bztcblxuICBsYWJlbCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmZvbnRTaXplLm1kfTtcbiAgICBmb250LXdlaWdodDogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5mb250V2VpZ2h0Lnc2MDB9O1xuICAgIG1hcmdpbjogMDtcbiAgfVxuXG4gIC5mb3JtLWdyb3VwIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiA4cHg7XG4gIH1cblxuICAuYWxsLFxuICAuaW5jbHVkZSxcbiAgLmV4Y2x1ZGUsXG4gIC50ZWxlZ3JhbSxcbiAgLmVtYWlsLFxuICAuc21zIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9yU2NoZW1lLm5hdHVyYWwubjgwfTtcbiAgICBjb2xvcjogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvclNjaGVtZS5uYXR1cmFsLm44MH07XG4gIH1cbiAgLmV4dHJlbWUge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JTY2hlbWUucHJpbWFyeS5wMX07XG4gICAgY29sb3I6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JTY2hlbWUucHJpbWFyeS5wMX07XG4gIH1cbiAgLmhpZ2gge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JTY2hlbWUuZGF0YS5PMTAwfTtcbiAgICBjb2xvcjogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvclNjaGVtZS5kYXRhLk8xMDB9O1xuICB9XG4gIC5tZWRpdW0ge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JTY2hlbWUuZGF0YS5XMTAwfTtcbiAgICBjb2xvcjogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvclNjaGVtZS5kYXRhLlcxMDB9O1xuICB9XG5cbiAgLmZvcm0tY2hlY2staW5saW5lIHtcbiAgICBhbGlnbi1pdGVtczogc2VsZi1zdGFydCAhaW1wb3J0YW50O1xuXG4gICAgaW5wdXQge1xuICAgICAgbWFyZ2luLXRvcDogN3B4ICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5gO1xuXG5leHBvcnQgY29uc3QgTm90aWZpY2F0aW9uc0NoZWNrYm94ZXNTdHlsZSA9IHN0eWxlZC5kaXY8eyBnYXA6IHN0cmluZyB9PmBcbiAgZGlzcGxheTogZmxleDtcbiAgZ2FwOiAkeyh7IGdhcCB9KSA9PiBnYXAgKyAncHgnfTtcbiAgbWFyZ2luLWJvdHRvbTogOHB4O1xuYDtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQUFBLElBQUFBLE1BQUEsR0FBQUMsdUJBQUEsQ0FBQUMsT0FBQTtBQUVBLElBQUFDLGVBQUEsR0FBQUQsT0FBQTtBQUNBLElBQUFFLEtBQUEsR0FBQUMsc0JBQUEsQ0FBQUgsT0FBQTtBQUNBLElBQUFJLGtCQUFBLEdBQUFKLE9BQUE7QUFLQSxJQUFBSyxpQkFBQSxHQUFBRixzQkFBQSxDQUFBSCxPQUFBO0FBQ0EsSUFBQU0sbUJBQUEsR0FBQU4sT0FBQTtBQVFBLElBQUFPLFVBQUEsR0FBQVAsT0FBQTtBQUNBLElBQUFRLG9CQUFBLEdBQUFSLE9BQUE7QUFDQSxJQUFBUyx3QkFBQSxHQUFBVCxPQUFBO0FBQ0EsSUFBQVUsb0JBQUEsR0FBQVYsT0FBQTtBQUNBLElBQUFXLGlCQUFBLEdBQUFYLE9BQUE7QUFDQSxJQUFBWSxvQkFBQSxHQUFBWixPQUFBO0FBQTRELFNBQUFhLHlCQUFBQyxXQUFBLGVBQUFDLE9BQUEsa0NBQUFDLGlCQUFBLE9BQUFELE9BQUEsUUFBQUUsZ0JBQUEsT0FBQUYsT0FBQSxZQUFBRix3QkFBQSxZQUFBQSx5QkFBQUMsV0FBQSxXQUFBQSxXQUFBLEdBQUFHLGdCQUFBLEdBQUFELGlCQUFBLEtBQUFGLFdBQUE7QUFBQSxTQUFBZix3QkFBQW1CLEdBQUEsRUFBQUosV0FBQSxTQUFBQSxXQUFBLElBQUFJLEdBQUEsSUFBQUEsR0FBQSxDQUFBQyxVQUFBLFdBQUFELEdBQUEsUUFBQUEsR0FBQSxhQUFBRSxPQUFBLENBQUFGLEdBQUEseUJBQUFBLEdBQUEsNEJBQUFHLE9BQUEsRUFBQUgsR0FBQSxVQUFBSSxLQUFBLEdBQUFULHdCQUFBLENBQUFDLFdBQUEsT0FBQVEsS0FBQSxJQUFBQSxLQUFBLENBQUFDLEdBQUEsQ0FBQUwsR0FBQSxZQUFBSSxLQUFBLENBQUFFLEdBQUEs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
|