@kando-env/kando-ui 1.2.456 → 1.2.458-alpha.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.
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
8
  exports.default = void 0;
9
+ exports.getAllNodeNames = getAllNodeNames;
9
10
  var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/objectSpread2"));
10
11
  var _createForOfIteratorHelper2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/createForOfIteratorHelper"));
11
12
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/slicedToArray"));
@@ -16,53 +17,51 @@ var _reactRedux = require("react-redux");
16
17
  var _AutoFitTree = _interopRequireDefault(require("./AutoFitTree"));
17
18
  var _reactBootstrap = require("react-bootstrap");
18
19
  var _Loader = require("../../pages/DashboardMap/Loader");
19
- var _Button = _interopRequireDefault(require("../Button/Button"));
20
20
  var _RightPanel = _interopRequireDefault(require("../../pages/OperationsPage/RightPanel"));
21
21
  var _urls = require("../../utilities/urls");
22
22
  var _useApiWithDashboardQuery = require("../../hooks/useApiWithDashboardQuery");
23
- var _Select = require("../../components/CustomInputs/Select/Select");
23
+ var _reactSelect = _interopRequireDefault(require("react-select"));
24
+ var _d3Hierarchy = require("d3-hierarchy");
25
+ var _i18n = _interopRequireDefault(require("../../utilities/i18n"));
26
+ var _reactRouterDom = require("react-router-dom");
24
27
  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); }
25
28
  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; }
29
+ function getAllNodeNames(tree) {
30
+ var root = (0, _d3Hierarchy.hierarchy)(tree);
31
+ return root.descendants().map(function (n) {
32
+ var _n$data$attributes;
33
+ return {
34
+ value: (_n$data$attributes = n.data.attributes) === null || _n$data$attributes === void 0 ? void 0 : _n$data$attributes.point_id,
35
+ label: n.data.name
36
+ };
37
+ });
38
+ }
26
39
  var HierarchyGraph = function HierarchyGraph() {
27
40
  var searchQuery = (0, _useQueryURL.default)();
41
+ var _useParams = (0, _reactRouterDom.useParams)(),
42
+ siteID = _useParams.siteID;
28
43
  var ReduxState = (0, _reactRedux.useSelector)(function (state) {
29
44
  return state;
30
45
  });
31
- var _useState = (0, _react.useState)(12),
46
+ // const [depth, setDepth] = useState<number>(12);
47
+ // const [treeKey, setTreeKey] = useState<number>(0);
48
+ // const [nodeType, setNodeType] = useState<NodeType>('pie');
49
+ var _useState = (0, _react.useState)(null),
32
50
  _useState2 = (0, _slicedToArray2.default)(_useState, 2),
33
- depth = _useState2[0],
34
- setDepth = _useState2[1];
35
- var _useState3 = (0, _react.useState)(0),
51
+ selectedPoint = _useState2[0],
52
+ setSelectedPoint = _useState2[1];
53
+ var _useState3 = (0, _react.useState)(false),
36
54
  _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
37
- treeKey = _useState4[0],
38
- setTreeKey = _useState4[1];
39
- var _useState5 = (0, _react.useState)('pie'),
55
+ showRightPanel = _useState4[0],
56
+ setShowRightPanel = _useState4[1];
57
+ var _useState5 = (0, _react.useState)(false),
40
58
  _useState6 = (0, _slicedToArray2.default)(_useState5, 2),
41
- nodeType = _useState6[0],
42
- setNodeType = _useState6[1];
43
- var _useState7 = (0, _react.useState)(null),
44
- _useState8 = (0, _slicedToArray2.default)(_useState7, 2),
45
- selectedPoint = _useState8[0],
46
- setSelectedPoint = _useState8[1];
47
- var _useState9 = (0, _react.useState)(false),
48
- _useState10 = (0, _slicedToArray2.default)(_useState9, 2),
49
- showRightPanel = _useState10[0],
50
- setShowRightPanel = _useState10[1];
51
- var _useState11 = (0, _react.useState)(false),
52
- _useState12 = (0, _slicedToArray2.default)(_useState11, 2),
53
- showOnlyMonitored = _useState12[0],
54
- setShowOnlyMonitored = _useState12[1];
55
- var _useState13 = (0, _react.useState)(''),
56
- _useState14 = (0, _slicedToArray2.default)(_useState13, 2),
57
- searchTerm = _useState14[0],
58
- setSearchTerm = _useState14[1];
59
- var updateTreeView = function updateTreeView(depth) {
60
- setDepth(depth);
61
- setTreeKey(function (prev) {
62
- return prev + 1;
63
- }); // force re-mount to reset tree state
64
- };
65
-
59
+ showOnlyMonitored = _useState6[0],
60
+ setShowOnlyMonitored = _useState6[1];
61
+ // const updateTreeView = (depth) => {
62
+ // setDepth(depth);
63
+ // setTreeKey((prev) => prev + 1); // force re-mount to reset tree state
64
+ // };
66
65
  var isHierarchyTab = searchQuery.get('view') === 'hierarchy';
67
66
  var points_data = ReduxState.points_data,
68
67
  edges_data = ReduxState.edges_data,
@@ -145,16 +144,37 @@ var HierarchyGraph = function HierarchyGraph() {
145
144
  if (isLoadingSites || errorSites) return null;
146
145
  return (0, _utils.buildTree)(edgesWithDevice, decoratedPointsById, waterAuthorityName);
147
146
  }, [edgesWithDevice, decoratedPointsById, waterAuthorityName, isLoadingSites, errorSites]);
147
+
148
+ // const nodeTypeOptions = [
149
+ // { label: 'Pie Chart', value: 'pie' },
150
+ // { label: 'Bar', value: 'bar' },
151
+ // ];
152
+
153
+ var _useState7 = (0, _react.useState)(''),
154
+ _useState8 = (0, _slicedToArray2.default)(_useState7, 2),
155
+ searchTerm = _useState8[0],
156
+ setSearchTerm = _useState8[1];
157
+ var searchOptions = (0, _react.useMemo)(function () {
158
+ return treeData ? getAllNodeNames(treeData) : [];
159
+ }, [treeData]);
160
+ var _useState9 = (0, _react.useState)(false),
161
+ _useState10 = (0, _slicedToArray2.default)(_useState9, 2),
162
+ showSamplers = _useState10[0],
163
+ setShowSamplers = _useState10[1];
164
+ (0, _react.useEffect)(function () {
165
+ if (siteID) {
166
+ var matchedOption = searchOptions.find(function (option) {
167
+ var _option$value;
168
+ return (option === null || option === void 0 ? void 0 : (_option$value = option.value) === null || _option$value === void 0 ? void 0 : _option$value.toString()) === siteID;
169
+ });
170
+ if (matchedOption) {
171
+ setSearchTerm(matchedOption.label);
172
+ }
173
+ }
174
+ }, [searchOptions]);
148
175
  if (!isHierarchyTab) {
149
176
  return null;
150
177
  }
151
- var nodeTypeOptions = [{
152
- label: 'Pie Chart',
153
- value: 'pie'
154
- }, {
155
- label: 'Bar',
156
- value: 'bar'
157
- }];
158
178
  return /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement("div", {
159
179
  style: {
160
180
  marginTop: '10px',
@@ -163,24 +183,7 @@ var HierarchyGraph = function HierarchyGraph() {
163
183
  gap: 8,
164
184
  zIndex: 10
165
185
  }
166
- }, /*#__PURE__*/_react.default.createElement(_Button.default, {
167
- onClick: function onClick() {
168
- return updateTreeView(1);
169
- }
170
- }, 'Collapse All'), /*#__PURE__*/_react.default.createElement(_Button.default, {
171
- onClick: function onClick() {
172
- return updateTreeView(12);
173
- }
174
- }, 'Expand All'), /*#__PURE__*/_react.default.createElement(_Select.Select, {
175
- options: nodeTypeOptions,
176
- value: nodeTypeOptions.find(function (option) {
177
- return option.value === nodeType;
178
- }),
179
- setValue: function setValue(selected) {
180
- return setNodeType(selected.value);
181
- },
182
- menuWidth: 120
183
- }), /*#__PURE__*/_react.default.createElement(_reactBootstrap.Form.Group, {
186
+ }, /*#__PURE__*/_react.default.createElement(_reactBootstrap.Form.Group, {
184
187
  className: 'mt-2'
185
188
  }, /*#__PURE__*/_react.default.createElement(_reactBootstrap.Form.Check, {
186
189
  inline: true,
@@ -192,19 +195,39 @@ var HierarchyGraph = function HierarchyGraph() {
192
195
  setShowOnlyMonitored(!showOnlyMonitored);
193
196
  },
194
197
  checked: showOnlyMonitored
195
- })), /*#__PURE__*/_react.default.createElement("input", {
196
- type: "text",
197
- style: {
198
- height: '30px',
199
- marginTop: 6,
200
- paddingInlineStart: 5
201
- },
202
- value: searchTerm,
198
+ })), /*#__PURE__*/_react.default.createElement(_reactBootstrap.Form.Group, {
199
+ className: 'mt-2'
200
+ }, /*#__PURE__*/_react.default.createElement(_reactBootstrap.Form.Check, {
201
+ inline: true,
202
+ label: 'Show samplers',
203
+ name: "show_samplers",
204
+ type: "checkbox",
205
+ id: "show_samplers",
203
206
  onChange: function onChange(e) {
204
- return setSearchTerm(e.target.value);
207
+ setShowSamplers(!showSamplers);
205
208
  },
206
- placeholder: "Search by name..."
207
- })), /*#__PURE__*/_react.default.createElement(_reactBootstrap.Container, {
209
+ checked: showSamplers
210
+ })), /*#__PURE__*/_react.default.createElement("div", {
211
+ style: {
212
+ width: '240px'
213
+ }
214
+ }, /*#__PURE__*/_react.default.createElement(_reactSelect.default, {
215
+ placeholder: _i18n.default.t('dashboard_v2.utility_dashboard.hierarchy.search'),
216
+ value: searchOptions.find(function (option) {
217
+ return option.label === searchTerm;
218
+ }) || null,
219
+ isLoading: !searchOptions.length,
220
+ isClearable: true,
221
+ isSearchable: true,
222
+ name: "color",
223
+ onChange: function onChange(value) {
224
+ return setSearchTerm((value === null || value === void 0 ? void 0 : value.label) || '');
225
+ },
226
+ options: searchOptions,
227
+ onInputChangeCallback: function onInputChangeCallback(input) {
228
+ return setSearchTerm(input);
229
+ }
230
+ }))), /*#__PURE__*/_react.default.createElement(_reactBootstrap.Container, {
208
231
  fluid: true,
209
232
  className: "p-0",
210
233
  style: {
@@ -218,12 +241,13 @@ var HierarchyGraph = function HierarchyGraph() {
218
241
  height: '85vh'
219
242
  }
220
243
  }, edges_data.isFetching || points_data.isFetching || !treeData || isLoadingSites ? /*#__PURE__*/_react.default.createElement(_Loader.Loader, null) : /*#__PURE__*/_react.default.createElement(_AutoFitTree.default, {
221
- treeKey: treeKey,
222
- initialDepth: depth,
244
+ treeKey: 0,
245
+ initialDepth: 12,
223
246
  data: treeData,
224
- nodeType: nodeType,
247
+ nodeType: 'nodeType',
225
248
  searchTerm: searchTerm,
226
249
  showOnlyMonitored: showOnlyMonitored,
250
+ showSamplers: showSamplers,
227
251
  onNodeClick: onNodeClick
228
252
  }), /*#__PURE__*/_react.default.createElement(_RightPanel.default, {
229
253
  className: "right-panel ".concat(showRightPanel ? 'open' : ''),
@@ -236,4 +260,4 @@ var HierarchyGraph = function HierarchyGraph() {
236
260
  };
237
261
  var _default = HierarchyGraph;
238
262
  exports.default = _default;
239
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfdXNlUXVlcnlVUkwiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX3V0aWxzIiwiX3JlYWN0UmVkdXgiLCJfQXV0b0ZpdFRyZWUiLCJfcmVhY3RCb290c3RyYXAiLCJfTG9hZGVyIiwiX0J1dHRvbiIsIl9SaWdodFBhbmVsIiwiX3VybHMiLCJfdXNlQXBpV2l0aERhc2hib2FyZFF1ZXJ5IiwiX1NlbGVjdCIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsIm5vZGVJbnRlcm9wIiwiV2Vha01hcCIsImNhY2hlQmFiZWxJbnRlcm9wIiwiY2FjaGVOb2RlSW50ZXJvcCIsIm9iaiIsIl9fZXNNb2R1bGUiLCJfdHlwZW9mIiwiZGVmYXVsdCIsImNhY2hlIiwiaGFzIiwiZ2V0IiwibmV3T2JqIiwiaGFzUHJvcGVydHlEZXNjcmlwdG9yIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJrZXkiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJkZXNjIiwic2V0IiwiSGllcmFyY2h5R3JhcGgiLCJzZWFyY2hRdWVyeSIsInVzZVF1ZXJ5VVJMIiwiUmVkdXhTdGF0ZSIsInVzZVNlbGVjdG9yIiwic3RhdGUiLCJfdXNlU3RhdGUiLCJ1c2VTdGF0ZSIsIl91c2VTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheTIiLCJkZXB0aCIsInNldERlcHRoIiwiX3VzZVN0YXRlMyIsIl91c2VTdGF0ZTQiLCJ0cmVlS2V5Iiwic2V0VHJlZUtleSIsIl91c2VTdGF0ZTUiLCJfdXNlU3RhdGU2Iiwibm9kZVR5cGUiLCJzZXROb2RlVHlwZSIsIl91c2VTdGF0ZTciLCJfdXNlU3RhdGU4Iiwic2VsZWN0ZWRQb2ludCIsInNldFNlbGVjdGVkUG9pbnQiLCJfdXNlU3RhdGU5IiwiX3VzZVN0YXRlMTAiLCJzaG93UmlnaHRQYW5lbCIsInNldFNob3dSaWdodFBhbmVsIiwiX3VzZVN0YXRlMTEiLCJfdXNlU3RhdGUxMiIsInNob3dPbmx5TW9uaXRvcmVkIiwic2V0U2hvd09ubHlNb25pdG9yZWQiLCJfdXNlU3RhdGUxMyIsIl91c2VTdGF0ZTE0Iiwic2VhcmNoVGVybSIsInNldFNlYXJjaFRlcm0iLCJ1cGRhdGVUcmVlVmlldyIsInByZXYiLCJpc0hpZXJhcmNoeVRhYiIsInBvaW50c19kYXRhIiwiZWRnZXNfZGF0YSIsIndhdGVyQXV0aG9yaXR5TmFtZSIsImdsb2JhbF9kYXRhIiwib25Ob2RlQ2xpY2siLCJub2RlRGF0YSIsIml0ZW1zIiwiZmluZCIsInAiLCJpZCIsImF0dHJpYnV0ZXMiLCJwb2ludF9pZCIsImZhY3Rvcmllc0VuZFBvaW50IiwidXNlTWVtbyIsInVybHMiLCJkYXNoYm9hcmQiLCJVdGlsaXR5IiwiZmFjdG9yaWVzIiwicGFyYW1zQWxsIiwidHlwZSIsIl91c2VBcGlXaXRoRGFzaGJvYXJkUSIsInVzZUFwaVdpdGhEYXNoYm9hcmRRdWVyeSIsIl91c2VBcGlXaXRoRGFzaGJvYXJkUTIiLCJyZXNwb25zZVNpdGVzIiwiaXNMb2FkaW5nU2l0ZXMiLCJlcnJvclNpdGVzIiwicG9sbHV0aW9uQnlTaXRlSWQiLCJtIiwiTWFwIiwiZGF0YSIsIl9pdGVyYXRvciIsIl9jcmVhdGVGb3JPZkl0ZXJhdG9ySGVscGVyMiIsIl9zdGVwIiwicyIsIm4iLCJkb25lIiwiX3N0ZXAkdmFsdWUiLCJ2YWx1ZSIsInNpdGVfaWQiLCJwb2xsdXRpb24iLCJ0eXBlX2Rpc3RyaWJ1dGlvbiIsImVyciIsImUiLCJmIiwiZGVjb3JhdGVkUG9pbnRzQnlJZCIsImJhc2UiLCJtYXBCeUlkIiwiY29weSIsIl9pIiwiX09iamVjdCRrZXlzIiwia2V5cyIsImxlbmd0aCIsIm51bUlkIiwiTnVtYmVyIiwiX29iamVjdFNwcmVhZDIiLCJlZGdlc1dpdGhEZXZpY2UiLCJwb2ludHNXaXRoRGV2aWNlIiwiZmlsdGVyIiwiaGFzX2RldmljZSIsImVkZ2UiLCJzb3VyY2VfcG9pbnRfaWQiLCJkZXNjZW5kYW50c19oYXNfZGV2aWNlIiwidHJlZURhdGEiLCJidWlsZFRyZWUiLCJub2RlVHlwZU9wdGlvbnMiLCJsYWJlbCIsImNyZWF0ZUVsZW1lbnQiLCJzdHlsZSIsIm1hcmdpblRvcCIsIm1hcmdpbklubGluZVN0YXJ0IiwiZGlzcGxheSIsImdhcCIsInpJbmRleCIsIm9uQ2xpY2siLCJTZWxlY3QiLCJvcHRpb25zIiwib3B0aW9uIiwic2V0VmFsdWUiLCJzZWxlY3RlZCIsIm1lbnVXaWR0aCIsIkZvcm0iLCJHcm91cCIsImNsYXNzTmFtZSIsIkNoZWNrIiwiaW5saW5lIiwibmFtZSIsIm9uQ2hhbmdlIiwiY2hlY2tlZCIsImhlaWdodCIsInBhZGRpbmdJbmxpbmVTdGFydCIsInRhcmdldCIsInBsYWNlaG9sZGVyIiwiQ29udGFpbmVyIiwiZmx1aWQiLCJvdmVyZmxvdyIsIlJvdyIsInNtIiwiQ29sIiwiaXNGZXRjaGluZyIsIkxvYWRlciIsImluaXRpYWxEZXB0aCIsImNvbmNhdCIsInBvaW50Iiwib25DbG9zZSIsIl9kZWZhdWx0IiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy91aS1raXQvSGllcmFyY2h5R3JhcGgvSGllcmFyY2h5R3JhcGgudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyB1c2VNZW1vIH0gZnJvbSAncmVhY3QnO1xuXG5pbXBvcnQgdXNlUXVlcnlVUkwgZnJvbSAnLi4vLi4vaG9va3MvdXNlUXVlcnlVUkwnO1xuaW1wb3J0IHsgYnVpbGRUcmVlLCBtYXBCeUlkLCBOb2RlVHlwZSB9IGZyb20gJy4vdXRpbHMnO1xuaW1wb3J0IHsgdXNlU2VsZWN0b3IgfSBmcm9tICdyZWFjdC1yZWR1eCc7XG5pbXBvcnQgeyB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBBdXRvRml0VHJlZSBmcm9tICcuL0F1dG9GaXRUcmVlJztcbmltcG9ydCB7IENvbnRhaW5lciwgUm93LCBDb2wsIEZvcm0gfSBmcm9tICdyZWFjdC1ib290c3RyYXAnO1xuaW1wb3J0IHsgTG9hZGVyIH0gZnJvbSAnLi4vLi4vcGFnZXMvRGFzaGJvYXJkTWFwL0xvYWRlcic7XG5pbXBvcnQgQnV0dG9uIGZyb20gJy4uL0J1dHRvbi9CdXR0b24nO1xuaW1wb3J0IFJpZ2h0UGFuZWwgZnJvbSAnLi4vLi4vcGFnZXMvT3BlcmF0aW9uc1BhZ2UvUmlnaHRQYW5lbCc7XG5pbXBvcnQgeyB1cmxzIH0gZnJvbSAnLi4vLi4vdXRpbGl0aWVzL3VybHMnO1xuaW1wb3J0IHsgdXNlQXBpV2l0aERhc2hib2FyZFF1ZXJ5IH0gZnJvbSAnLi4vLi4vaG9va3MvdXNlQXBpV2l0aERhc2hib2FyZFF1ZXJ5JztcbmltcG9ydCB7IEZhY3Rvcmllc1Jlc3BvbnNlIH0gZnJvbSAnLi4vLi4vV2lkZ2V0cy9Nb3N0UG9sbHV0aW5nL0ZhY3Rvcmllcy9mYWN0b3JpZXNSZXNwb25zZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgU2VsZWN0IH0gZnJvbSAnLi4vLi4vY29tcG9uZW50cy9DdXN0b21JbnB1dHMvU2VsZWN0L1NlbGVjdCc7XG5cbmNvbnN0IEhpZXJhcmNoeUdyYXBoID0gKCkgPT4ge1xuICBjb25zdCBzZWFyY2hRdWVyeSA9IHVzZVF1ZXJ5VVJMKCk7XG4gIGNvbnN0IFJlZHV4U3RhdGUgPSB1c2VTZWxlY3Rvcigoc3RhdGUpID0+IHN0YXRlKTtcbiAgY29uc3QgW2RlcHRoLCBzZXREZXB0aF0gPSB1c2VTdGF0ZTxudW1iZXI+KDEyKTtcbiAgY29uc3QgW3RyZWVLZXksIHNldFRyZWVLZXldID0gdXNlU3RhdGU8bnVtYmVyPigwKTtcbiAgY29uc3QgW25vZGVUeXBlLCBzZXROb2RlVHlwZV0gPSB1c2VTdGF0ZTxOb2RlVHlwZT4oJ3BpZScpO1xuICBjb25zdCBbc2VsZWN0ZWRQb2ludCwgc2V0U2VsZWN0ZWRQb2ludF0gPSB1c2VTdGF0ZShudWxsKTtcbiAgY29uc3QgW3Nob3dSaWdodFBhbmVsLCBzZXRTaG93UmlnaHRQYW5lbF0gPSB1c2VTdGF0ZShmYWxzZSk7XG4gIGNvbnN0IFtzaG93T25seU1vbml0b3JlZCwgc2V0U2hvd09ubHlNb25pdG9yZWRdID0gdXNlU3RhdGUoZmFsc2UpO1xuICBjb25zdCBbc2VhcmNoVGVybSwgc2V0U2VhcmNoVGVybV0gPSB1c2VTdGF0ZSgnJyk7XG4gIGNvbnN0IHVwZGF0ZVRyZWVWaWV3ID0gKGRlcHRoKSA9PiB7XG4gICAgc2V0RGVwdGgoZGVwdGgpO1xuICAgIHNldFRyZWVLZXkoKHByZXYpID0+IHByZXYgKyAxKTsgLy8gZm9yY2UgcmUtbW91bnQgdG8gcmVzZXQgdHJlZSBzdGF0ZVxuICB9O1xuICBjb25zdCBpc0hpZXJhcmNoeVRhYiA9IHNlYXJjaFF1ZXJ5LmdldCgndmlldycpID09PSAnaGllcmFyY2h5JztcbiAgY29uc3Qge1xuICAgIHBvaW50c19kYXRhLFxuICAgIGVkZ2VzX2RhdGEsXG4gICAgZ2xvYmFsX2RhdGE6IHsgd2F0ZXJBdXRob3JpdHlOYW1lIH0sXG4gIH0gPSBSZWR1eFN0YXRlO1xuXG4gIGNvbnN0IG9uTm9kZUNsaWNrID0gKG5vZGVEYXRhKSA9PiB7XG4gICAgc2V0U2VsZWN0ZWRQb2ludChcbiAgICAgIHBvaW50c19kYXRhLml0ZW1zLmZpbmQoKHApID0+IHAuaWQgPT09IG5vZGVEYXRhLmF0dHJpYnV0ZXMucG9pbnRfaWQpLFxuICAgICk7XG4gICAgc2V0U2hvd1JpZ2h0UGFuZWwoIXNob3dSaWdodFBhbmVsKTtcbiAgfTtcblxuICAvLyBzdGFibGUgZW5kcG9pbnRzL3BhcmFtcyDinIVcbiAgY29uc3QgZmFjdG9yaWVzRW5kUG9pbnQgPSB1c2VNZW1vKFxuICAgICgpID0+IHVybHMoKS5kYXNoYm9hcmQuVXRpbGl0eS5mYWN0b3JpZXMsXG4gICAgW10sXG4gICk7XG5cbiAgY29uc3QgcGFyYW1zQWxsID0gdXNlTWVtbygoKSA9PiAoeyB0eXBlOiAnQWxsJyB9KSwgW10pO1xuXG4gIC8vIGZldGNoZXNcbiAgY29uc3QgW3Jlc3BvbnNlU2l0ZXMsIGlzTG9hZGluZ1NpdGVzLCBlcnJvclNpdGVzXSA9XG4gICAgdXNlQXBpV2l0aERhc2hib2FyZFF1ZXJ5PEZhY3Rvcmllc1Jlc3BvbnNlPihmYWN0b3JpZXNFbmRQb2ludCwgcGFyYW1zQWxsKTtcblxuICAvLyAxKSBCdWlsZCBhIHBvbGx1dGlvbiBtYXAgZnJvbSBib3RoIHJlc3BvbnNlcyAobm8gc3RhdGU7IHB1cmUgbWVtbylcbiAgY29uc3QgcG9sbHV0aW9uQnlTaXRlSWQgPSB1c2VNZW1vKCgpID0+IHtcbiAgICBjb25zdCBtID0gbmV3IE1hcDxudW1iZXIsIGFueT4oKTtcbiAgICBpZiAocmVzcG9uc2VTaXRlcz8uZGF0YSkge1xuICAgICAgZm9yIChjb25zdCB7IHNpdGVfaWQsIHBvbGx1dGlvbiB9IG9mIHJlc3BvbnNlU2l0ZXMuZGF0YSkge1xuICAgICAgICBpZiAocG9sbHV0aW9uPy50eXBlX2Rpc3RyaWJ1dGlvbilcbiAgICAgICAgICBtLnNldChzaXRlX2lkLCBwb2xsdXRpb24udHlwZV9kaXN0cmlidXRpb24pO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gbTtcbiAgfSwgW3Jlc3BvbnNlU2l0ZXM/LmRhdGFdKTtcblxuICAvLyAyKSBDcmVhdGUgYSBTQUZFIGNvcHkgb2YgcG9pbnRfbWFwX2RhdGEgd2l0aCBwb2xsdXRpb24gbWVyZ2VkIGluIChubyBtdXRhdGlvbnMpXG4gIGNvbnN0IGRlY29yYXRlZFBvaW50c0J5SWQgPSB1c2VNZW1vKCgpID0+IHtcbiAgICAvLyBtYXBCeUlkKHBvaW50c19kYXRhLml0ZW1zKSByZXR1cm5zIGEgcGxhaW4gb2JqZWN0IGtleWVkIGJ5IGlkOyBjbG9uZSBpdFxuICAgIGNvbnN0IGJhc2UgPSBtYXBCeUlkKHBvaW50c19kYXRhLml0ZW1zKTtcbiAgICBjb25zdCBjb3B5OiBSZWNvcmQ8bnVtYmVyLCBhbnk+ID0ge307XG4gICAgZm9yIChjb25zdCBpZCBvZiBPYmplY3Qua2V5cyhiYXNlKSkge1xuICAgICAgY29uc3QgbnVtSWQgPSBOdW1iZXIoaWQpO1xuICAgICAgY29uc3QgcG9sbHV0aW9uID0gcG9sbHV0aW9uQnlTaXRlSWQuZ2V0KG51bUlkKTtcbiAgICAgIC8vIHNoYWxsb3cgY2xvbmUgZWFjaCBwb2ludDsgYWRkIHBvbGx1dGlvbiBpZiBleGlzdHNcbiAgICAgIGNvcHlbbnVtSWRdID0gcG9sbHV0aW9uXG4gICAgICAgID8geyAuLi5iYXNlW251bUlkXSwgcG9sbHV0aW9uIH1cbiAgICAgICAgOiB7IC4uLmJhc2VbbnVtSWRdIH07XG4gICAgfVxuICAgIHJldHVybiBjb3B5O1xuICB9LCBbcG9pbnRzX2RhdGEuaXRlbXMsIHBvbGx1dGlvbkJ5U2l0ZUlkXSk7XG5cbiAgLy8gMykgQ29tcHV0ZSBlZGdlc1dpdGhEZXZpY2Ugc2FmZWx5L21lbW9pemVkIChubyBleHRyYSByZW5kZXJzKVxuICBjb25zdCBlZGdlc1dpdGhEZXZpY2UgPSB1c2VNZW1vKCgpID0+IHtcbiAgICBjb25zdCBwb2ludHNXaXRoRGV2aWNlID0gbWFwQnlJZChcbiAgICAgIHBvaW50c19kYXRhLml0ZW1zLmZpbHRlcigocCkgPT4gcC5oYXNfZGV2aWNlKSxcbiAgICApO1xuICAgIHJldHVybiBlZGdlc19kYXRhLml0ZW1zLmZpbHRlcihcbiAgICAgIChlZGdlKSA9PlxuICAgICAgICBwb2ludHNXaXRoRGV2aWNlW2VkZ2Uuc291cmNlX3BvaW50X2lkXSB8fCBlZGdlLmRlc2NlbmRhbnRzX2hhc19kZXZpY2UsXG4gICAgKTtcbiAgfSwgW3BvaW50c19kYXRhLml0ZW1zLCBlZGdlc19kYXRhLml0ZW1zXSk7XG5cbiAgLy8gNCkgQnVpbGQgdGhlIHRyZWUgT05MWSB3aGVuIGRhdGEgaXMgcmVhZHk7IGtlZXAgcmVmZXJlbnRpYWwgc3RhYmlsaXR5XG4gIGNvbnN0IHRyZWVEYXRhID0gdXNlTWVtbygoKSA9PiB7XG4gICAgaWYgKGlzTG9hZGluZ1NpdGVzIHx8IGVycm9yU2l0ZXMpIHJldHVybiBudWxsO1xuXG4gICAgcmV0dXJuIGJ1aWxkVHJlZShlZGdlc1dpdGhEZXZpY2UsIGRlY29yYXRlZFBvaW50c0J5SWQsIHdhdGVyQXV0aG9yaXR5TmFtZSk7XG4gIH0sIFtcbiAgICBlZGdlc1dpdGhEZXZpY2UsXG4gICAgZGVjb3JhdGVkUG9pbnRzQnlJZCxcbiAgICB3YXRlckF1dGhvcml0eU5hbWUsXG4gICAgaXNMb2FkaW5nU2l0ZXMsXG4gICAgZXJyb3JTaXRlcyxcbiAgXSk7XG5cbiAgaWYgKCFpc0hpZXJhcmNoeVRhYikge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgY29uc3Qgbm9kZVR5cGVPcHRpb25zID0gW1xuICAgIHsgbGFiZWw6ICdQaWUgQ2hhcnQnLCB2YWx1ZTogJ3BpZScgfSxcbiAgICB7IGxhYmVsOiAnQmFyJywgdmFsdWU6ICdiYXInIH0sXG4gIF07XG4gIHJldHVybiAoXG4gICAgPGRpdj5cbiAgICAgIDxkaXZcbiAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICBtYXJnaW5Ub3A6ICcxMHB4JyxcbiAgICAgICAgICBtYXJnaW5JbmxpbmVTdGFydDogJzEwcHgnLFxuICAgICAgICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICAgICAgICBnYXA6IDgsXG4gICAgICAgICAgekluZGV4OiAxMCxcbiAgICAgICAgfX1cbiAgICAgID5cbiAgICAgICAgPEJ1dHRvbiBvbkNsaWNrPXsoKSA9PiB1cGRhdGVUcmVlVmlldygxKX0+eydDb2xsYXBzZSBBbGwnfTwvQnV0dG9uPlxuICAgICAgICA8QnV0dG9uIG9uQ2xpY2s9eygpID0+IHVwZGF0ZVRyZWVWaWV3KDEyKX0+eydFeHBhbmQgQWxsJ308L0J1dHRvbj5cblxuICAgICAgICA8U2VsZWN0XG4gICAgICAgICAgb3B0aW9ucz17bm9kZVR5cGVPcHRpb25zfVxuICAgICAgICAgIHZhbHVlPXtub2RlVHlwZU9wdGlvbnMuZmluZCgob3B0aW9uKSA9PiBvcHRpb24udmFsdWUgPT09IG5vZGVUeXBlKX1cbiAgICAgICAgICBzZXRWYWx1ZT17KHNlbGVjdGVkKSA9PiBzZXROb2RlVHlwZShzZWxlY3RlZC52YWx1ZSl9XG4gICAgICAgICAgbWVudVdpZHRoPXsxMjB9XG4gICAgICAgIC8+XG4gICAgICAgIDxGb3JtLkdyb3VwIGNsYXNzTmFtZT17J210LTInfT5cbiAgICAgICAgICA8Rm9ybS5DaGVja1xuICAgICAgICAgICAgaW5saW5lXG4gICAgICAgICAgICBsYWJlbD17J1Nob3cgb25seSBtb25pdG9yZWQnfVxuICAgICAgICAgICAgbmFtZT1cInNob3dfb25seV9tb25pdG9yZWRcIlxuICAgICAgICAgICAgdHlwZT1cImNoZWNrYm94XCJcbiAgICAgICAgICAgIGlkPVwic2hvd19vbmx5X21vbml0b3JlZFwiXG4gICAgICAgICAgICBvbkNoYW5nZT17KGUpID0+IHtcbiAgICAgICAgICAgICAgc2V0U2hvd09ubHlNb25pdG9yZWQoIXNob3dPbmx5TW9uaXRvcmVkKTtcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgICBjaGVja2VkPXtzaG93T25seU1vbml0b3JlZH1cbiAgICAgICAgICAvPlxuICAgICAgICA8L0Zvcm0uR3JvdXA+XG4gICAgICAgIDxpbnB1dFxuICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICBzdHlsZT17eyBoZWlnaHQ6ICczMHB4JywgbWFyZ2luVG9wOiA2LCBwYWRkaW5nSW5saW5lU3RhcnQ6IDUgfX1cbiAgICAgICAgICB2YWx1ZT17c2VhcmNoVGVybX1cbiAgICAgICAgICBvbkNoYW5nZT17KGUpID0+IHNldFNlYXJjaFRlcm0oZS50YXJnZXQudmFsdWUpfVxuICAgICAgICAgIHBsYWNlaG9sZGVyPVwiU2VhcmNoIGJ5IG5hbWUuLi5cIlxuICAgICAgICAvPlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxDb250YWluZXIgZmx1aWQgY2xhc3NOYW1lPVwicC0wXCIgc3R5bGU9e3sgb3ZlcmZsb3c6ICdoaWRkZW4nIH19PlxuICAgICAgICA8Um93IGNsYXNzTmFtZT1cIm1hcC1jb2x1bW5cIiBzbT17MTJ9PlxuICAgICAgICAgIDxDb2wgc3R5bGU9e3sgaGVpZ2h0OiAnODV2aCcgfX0+XG4gICAgICAgICAgICB7ZWRnZXNfZGF0YS5pc0ZldGNoaW5nIHx8XG4gICAgICAgICAgICBwb2ludHNfZGF0YS5pc0ZldGNoaW5nIHx8XG4gICAgICAgICAgICAhdHJlZURhdGEgfHxcbiAgICAgICAgICAgIGlzTG9hZGluZ1NpdGVzID8gKFxuICAgICAgICAgICAgICA8TG9hZGVyIC8+XG4gICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICA8QXV0b0ZpdFRyZWVcbiAgICAgICAgICAgICAgICB0cmVlS2V5PXt0cmVlS2V5fVxuICAgICAgICAgICAgICAgIGluaXRpYWxEZXB0aD17ZGVwdGh9XG4gICAgICAgICAgICAgICAgZGF0YT17dHJlZURhdGF9XG4gICAgICAgICAgICAgICAgbm9kZVR5cGU9e25vZGVUeXBlfVxuICAgICAgICAgICAgICAgIHNlYXJjaFRlcm09e3NlYXJjaFRlcm19XG4gICAgICAgICAgICAgICAgc2hvd09ubHlNb25pdG9yZWQ9e3Nob3dPbmx5TW9uaXRvcmVkfVxuICAgICAgICAgICAgICAgIG9uTm9kZUNsaWNrPXtvbk5vZGVDbGlja31cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICl9XG4gICAgICAgICAgICA8UmlnaHRQYW5lbFxuICAgICAgICAgICAgICBjbGFzc05hbWU9e2ByaWdodC1wYW5lbCAke3Nob3dSaWdodFBhbmVsID8gJ29wZW4nIDogJyd9YH1cbiAgICAgICAgICAgICAgcG9pbnQ9e3NlbGVjdGVkUG9pbnR9XG4gICAgICAgICAgICAgIG9uQ2xvc2U9eygpID0+IHtcbiAgICAgICAgICAgICAgICBzZXRTZWxlY3RlZFBvaW50KG51bGwpO1xuICAgICAgICAgICAgICAgIHNldFNob3dSaWdodFBhbmVsKGZhbHNlKTtcbiAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9Db2w+XG4gICAgICAgIDwvUm93PlxuICAgICAgPC9Db250YWluZXI+XG4gICAgPC9kaXY+XG4gICk7XG59O1xuZXhwb3J0IGRlZmF1bHQgSGllcmFyY2h5R3JhcGg7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
263
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfdXNlUXVlcnlVUkwiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX3V0aWxzIiwiX3JlYWN0UmVkdXgiLCJfQXV0b0ZpdFRyZWUiLCJfcmVhY3RCb290c3RyYXAiLCJfTG9hZGVyIiwiX1JpZ2h0UGFuZWwiLCJfdXJscyIsIl91c2VBcGlXaXRoRGFzaGJvYXJkUXVlcnkiLCJfcmVhY3RTZWxlY3QiLCJfZDNIaWVyYXJjaHkiLCJfaTE4biIsIl9yZWFjdFJvdXRlckRvbSIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsIm5vZGVJbnRlcm9wIiwiV2Vha01hcCIsImNhY2hlQmFiZWxJbnRlcm9wIiwiY2FjaGVOb2RlSW50ZXJvcCIsIm9iaiIsIl9fZXNNb2R1bGUiLCJfdHlwZW9mIiwiZGVmYXVsdCIsImNhY2hlIiwiaGFzIiwiZ2V0IiwibmV3T2JqIiwiaGFzUHJvcGVydHlEZXNjcmlwdG9yIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJrZXkiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJkZXNjIiwic2V0IiwiZ2V0QWxsTm9kZU5hbWVzIiwidHJlZSIsInJvb3QiLCJoaWVyYXJjaHkiLCJkZXNjZW5kYW50cyIsIm1hcCIsIm4iLCJfbiRkYXRhJGF0dHJpYnV0ZXMiLCJ2YWx1ZSIsImRhdGEiLCJhdHRyaWJ1dGVzIiwicG9pbnRfaWQiLCJsYWJlbCIsIm5hbWUiLCJIaWVyYXJjaHlHcmFwaCIsInNlYXJjaFF1ZXJ5IiwidXNlUXVlcnlVUkwiLCJfdXNlUGFyYW1zIiwidXNlUGFyYW1zIiwic2l0ZUlEIiwiUmVkdXhTdGF0ZSIsInVzZVNlbGVjdG9yIiwic3RhdGUiLCJfdXNlU3RhdGUiLCJ1c2VTdGF0ZSIsIl91c2VTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheTIiLCJzZWxlY3RlZFBvaW50Iiwic2V0U2VsZWN0ZWRQb2ludCIsIl91c2VTdGF0ZTMiLCJfdXNlU3RhdGU0Iiwic2hvd1JpZ2h0UGFuZWwiLCJzZXRTaG93UmlnaHRQYW5lbCIsIl91c2VTdGF0ZTUiLCJfdXNlU3RhdGU2Iiwic2hvd09ubHlNb25pdG9yZWQiLCJzZXRTaG93T25seU1vbml0b3JlZCIsImlzSGllcmFyY2h5VGFiIiwicG9pbnRzX2RhdGEiLCJlZGdlc19kYXRhIiwid2F0ZXJBdXRob3JpdHlOYW1lIiwiZ2xvYmFsX2RhdGEiLCJvbk5vZGVDbGljayIsIm5vZGVEYXRhIiwiaXRlbXMiLCJmaW5kIiwicCIsImlkIiwiZmFjdG9yaWVzRW5kUG9pbnQiLCJ1c2VNZW1vIiwidXJscyIsImRhc2hib2FyZCIsIlV0aWxpdHkiLCJmYWN0b3JpZXMiLCJwYXJhbXNBbGwiLCJ0eXBlIiwiX3VzZUFwaVdpdGhEYXNoYm9hcmRRIiwidXNlQXBpV2l0aERhc2hib2FyZFF1ZXJ5IiwiX3VzZUFwaVdpdGhEYXNoYm9hcmRRMiIsInJlc3BvbnNlU2l0ZXMiLCJpc0xvYWRpbmdTaXRlcyIsImVycm9yU2l0ZXMiLCJwb2xsdXRpb25CeVNpdGVJZCIsIm0iLCJNYXAiLCJfaXRlcmF0b3IiLCJfY3JlYXRlRm9yT2ZJdGVyYXRvckhlbHBlcjIiLCJfc3RlcCIsInMiLCJkb25lIiwiX3N0ZXAkdmFsdWUiLCJzaXRlX2lkIiwicG9sbHV0aW9uIiwidHlwZV9kaXN0cmlidXRpb24iLCJlcnIiLCJlIiwiZiIsImRlY29yYXRlZFBvaW50c0J5SWQiLCJiYXNlIiwibWFwQnlJZCIsImNvcHkiLCJfaSIsIl9PYmplY3Qka2V5cyIsImtleXMiLCJsZW5ndGgiLCJudW1JZCIsIk51bWJlciIsIl9vYmplY3RTcHJlYWQyIiwiZWRnZXNXaXRoRGV2aWNlIiwicG9pbnRzV2l0aERldmljZSIsImZpbHRlciIsImhhc19kZXZpY2UiLCJlZGdlIiwic291cmNlX3BvaW50X2lkIiwiZGVzY2VuZGFudHNfaGFzX2RldmljZSIsInRyZWVEYXRhIiwiYnVpbGRUcmVlIiwiX3VzZVN0YXRlNyIsIl91c2VTdGF0ZTgiLCJzZWFyY2hUZXJtIiwic2V0U2VhcmNoVGVybSIsInNlYXJjaE9wdGlvbnMiLCJfdXNlU3RhdGU5IiwiX3VzZVN0YXRlMTAiLCJzaG93U2FtcGxlcnMiLCJzZXRTaG93U2FtcGxlcnMiLCJ1c2VFZmZlY3QiLCJtYXRjaGVkT3B0aW9uIiwib3B0aW9uIiwiX29wdGlvbiR2YWx1ZSIsInRvU3RyaW5nIiwiY3JlYXRlRWxlbWVudCIsInN0eWxlIiwibWFyZ2luVG9wIiwibWFyZ2luSW5saW5lU3RhcnQiLCJkaXNwbGF5IiwiZ2FwIiwiekluZGV4IiwiRm9ybSIsIkdyb3VwIiwiY2xhc3NOYW1lIiwiQ2hlY2siLCJpbmxpbmUiLCJvbkNoYW5nZSIsImNoZWNrZWQiLCJ3aWR0aCIsInBsYWNlaG9sZGVyIiwiSTE4biIsInQiLCJpc0xvYWRpbmciLCJpc0NsZWFyYWJsZSIsImlzU2VhcmNoYWJsZSIsIm9wdGlvbnMiLCJvbklucHV0Q2hhbmdlQ2FsbGJhY2siLCJpbnB1dCIsIkNvbnRhaW5lciIsImZsdWlkIiwib3ZlcmZsb3ciLCJSb3ciLCJzbSIsIkNvbCIsImhlaWdodCIsImlzRmV0Y2hpbmciLCJMb2FkZXIiLCJ0cmVlS2V5IiwiaW5pdGlhbERlcHRoIiwibm9kZVR5cGUiLCJjb25jYXQiLCJwb2ludCIsIm9uQ2xvc2UiLCJfZGVmYXVsdCIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdWkta2l0L0hpZXJhcmNoeUdyYXBoL0hpZXJhcmNoeUdyYXBoLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdXNlRWZmZWN0LCB1c2VNZW1vIH0gZnJvbSAncmVhY3QnO1xuXG5pbXBvcnQgdXNlUXVlcnlVUkwgZnJvbSAnLi4vLi4vaG9va3MvdXNlUXVlcnlVUkwnO1xuaW1wb3J0IHsgYnVpbGRUcmVlLCBtYXBCeUlkLCBUcmVlRGF0YSB9IGZyb20gJy4vdXRpbHMnO1xuaW1wb3J0IHsgdXNlU2VsZWN0b3IgfSBmcm9tICdyZWFjdC1yZWR1eCc7XG5pbXBvcnQgeyB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBBdXRvRml0VHJlZSBmcm9tICcuL0F1dG9GaXRUcmVlJztcbmltcG9ydCB7IENvbnRhaW5lciwgUm93LCBDb2wsIEZvcm0gfSBmcm9tICdyZWFjdC1ib290c3RyYXAnO1xuaW1wb3J0IHsgTG9hZGVyIH0gZnJvbSAnLi4vLi4vcGFnZXMvRGFzaGJvYXJkTWFwL0xvYWRlcic7XG5pbXBvcnQgUmlnaHRQYW5lbCBmcm9tICcuLi8uLi9wYWdlcy9PcGVyYXRpb25zUGFnZS9SaWdodFBhbmVsJztcbmltcG9ydCB7IHVybHMgfSBmcm9tICcuLi8uLi91dGlsaXRpZXMvdXJscyc7XG5pbXBvcnQgeyB1c2VBcGlXaXRoRGFzaGJvYXJkUXVlcnkgfSBmcm9tICcuLi8uLi9ob29rcy91c2VBcGlXaXRoRGFzaGJvYXJkUXVlcnknO1xuaW1wb3J0IHsgRmFjdG9yaWVzUmVzcG9uc2UgfSBmcm9tICcuLi8uLi9XaWRnZXRzL01vc3RQb2xsdXRpbmcvRmFjdG9yaWVzL2ZhY3Rvcmllc1Jlc3BvbnNlLmludGVyZmFjZSc7XG5pbXBvcnQgUmVhY3RTZWxlY3QgZnJvbSAncmVhY3Qtc2VsZWN0JztcbmltcG9ydCB7IGhpZXJhcmNoeSB9IGZyb20gJ2QzLWhpZXJhcmNoeSc7XG5pbXBvcnQgSTE4biBmcm9tICcuLi8uLi91dGlsaXRpZXMvaTE4bic7XG5pbXBvcnQgeyB1c2VQYXJhbXMgfSBmcm9tICdyZWFjdC1yb3V0ZXItZG9tJztcblxuZXhwb3J0IGZ1bmN0aW9uIGdldEFsbE5vZGVOYW1lcyh0cmVlOiBUcmVlRGF0YSk6IHN0cmluZ1tdIHtcbiAgY29uc3Qgcm9vdCA9IGhpZXJhcmNoeSh0cmVlIGFzIGFueSk7XG4gIHJldHVybiByb290LmRlc2NlbmRhbnRzKCkubWFwKChuKSA9PiB7XG4gICAgcmV0dXJuIHsgdmFsdWU6IG4uZGF0YS5hdHRyaWJ1dGVzPy5wb2ludF9pZCwgbGFiZWw6IG4uZGF0YS5uYW1lIH07XG4gIH0pO1xufVxuXG5jb25zdCBIaWVyYXJjaHlHcmFwaCA9ICgpID0+IHtcbiAgY29uc3Qgc2VhcmNoUXVlcnkgPSB1c2VRdWVyeVVSTCgpO1xuICBjb25zdCB7IHNpdGVJRCB9ID0gdXNlUGFyYW1zKCk7XG4gIGNvbnN0IFJlZHV4U3RhdGUgPSB1c2VTZWxlY3Rvcigoc3RhdGUpID0+IHN0YXRlKTtcbiAgLy8gY29uc3QgW2RlcHRoLCBzZXREZXB0aF0gPSB1c2VTdGF0ZTxudW1iZXI+KDEyKTtcbiAgLy8gY29uc3QgW3RyZWVLZXksIHNldFRyZWVLZXldID0gdXNlU3RhdGU8bnVtYmVyPigwKTtcbiAgLy8gY29uc3QgW25vZGVUeXBlLCBzZXROb2RlVHlwZV0gPSB1c2VTdGF0ZTxOb2RlVHlwZT4oJ3BpZScpO1xuICBjb25zdCBbc2VsZWN0ZWRQb2ludCwgc2V0U2VsZWN0ZWRQb2ludF0gPSB1c2VTdGF0ZShudWxsKTtcbiAgY29uc3QgW3Nob3dSaWdodFBhbmVsLCBzZXRTaG93UmlnaHRQYW5lbF0gPSB1c2VTdGF0ZShmYWxzZSk7XG4gIGNvbnN0IFtzaG93T25seU1vbml0b3JlZCwgc2V0U2hvd09ubHlNb25pdG9yZWRdID0gdXNlU3RhdGUoZmFsc2UpO1xuICAvLyBjb25zdCB1cGRhdGVUcmVlVmlldyA9IChkZXB0aCkgPT4ge1xuICAvLyAgIHNldERlcHRoKGRlcHRoKTtcbiAgLy8gICBzZXRUcmVlS2V5KChwcmV2KSA9PiBwcmV2ICsgMSk7IC8vIGZvcmNlIHJlLW1vdW50IHRvIHJlc2V0IHRyZWUgc3RhdGVcbiAgLy8gfTtcbiAgY29uc3QgaXNIaWVyYXJjaHlUYWIgPSBzZWFyY2hRdWVyeS5nZXQoJ3ZpZXcnKSA9PT0gJ2hpZXJhcmNoeSc7XG4gIGNvbnN0IHtcbiAgICBwb2ludHNfZGF0YSxcbiAgICBlZGdlc19kYXRhLFxuICAgIGdsb2JhbF9kYXRhOiB7IHdhdGVyQXV0aG9yaXR5TmFtZSB9LFxuICB9ID0gUmVkdXhTdGF0ZTtcblxuICBjb25zdCBvbk5vZGVDbGljayA9IChub2RlRGF0YSkgPT4ge1xuICAgIHNldFNlbGVjdGVkUG9pbnQoXG4gICAgICBwb2ludHNfZGF0YS5pdGVtcy5maW5kKChwKSA9PiBwLmlkID09PSBub2RlRGF0YS5hdHRyaWJ1dGVzLnBvaW50X2lkKSxcbiAgICApO1xuICAgIHNldFNob3dSaWdodFBhbmVsKCFzaG93UmlnaHRQYW5lbCk7XG4gIH07XG5cbiAgLy8gc3RhYmxlIGVuZHBvaW50cy9wYXJhbXMg4pyFXG4gIGNvbnN0IGZhY3Rvcmllc0VuZFBvaW50ID0gdXNlTWVtbyhcbiAgICAoKSA9PiB1cmxzKCkuZGFzaGJvYXJkLlV0aWxpdHkuZmFjdG9yaWVzLFxuICAgIFtdLFxuICApO1xuXG4gIGNvbnN0IHBhcmFtc0FsbCA9IHVzZU1lbW8oKCkgPT4gKHsgdHlwZTogJ0FsbCcgfSksIFtdKTtcblxuICAvLyBmZXRjaGVzXG4gIGNvbnN0IFtyZXNwb25zZVNpdGVzLCBpc0xvYWRpbmdTaXRlcywgZXJyb3JTaXRlc10gPVxuICAgIHVzZUFwaVdpdGhEYXNoYm9hcmRRdWVyeTxGYWN0b3JpZXNSZXNwb25zZT4oZmFjdG9yaWVzRW5kUG9pbnQsIHBhcmFtc0FsbCk7XG5cbiAgLy8gMSkgQnVpbGQgYSBwb2xsdXRpb24gbWFwIGZyb20gYm90aCByZXNwb25zZXMgKG5vIHN0YXRlOyBwdXJlIG1lbW8pXG4gIGNvbnN0IHBvbGx1dGlvbkJ5U2l0ZUlkID0gdXNlTWVtbygoKSA9PiB7XG4gICAgY29uc3QgbSA9IG5ldyBNYXA8bnVtYmVyLCBhbnk+KCk7XG4gICAgaWYgKHJlc3BvbnNlU2l0ZXM/LmRhdGEpIHtcbiAgICAgIGZvciAoY29uc3QgeyBzaXRlX2lkLCBwb2xsdXRpb24gfSBvZiByZXNwb25zZVNpdGVzLmRhdGEpIHtcbiAgICAgICAgaWYgKHBvbGx1dGlvbj8udHlwZV9kaXN0cmlidXRpb24pXG4gICAgICAgICAgbS5zZXQoc2l0ZV9pZCwgcG9sbHV0aW9uLnR5cGVfZGlzdHJpYnV0aW9uKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIG07XG4gIH0sIFtyZXNwb25zZVNpdGVzPy5kYXRhXSk7XG5cbiAgLy8gMikgQ3JlYXRlIGEgU0FGRSBjb3B5IG9mIHBvaW50X21hcF9kYXRhIHdpdGggcG9sbHV0aW9uIG1lcmdlZCBpbiAobm8gbXV0YXRpb25zKVxuICBjb25zdCBkZWNvcmF0ZWRQb2ludHNCeUlkID0gdXNlTWVtbygoKSA9PiB7XG4gICAgLy8gbWFwQnlJZChwb2ludHNfZGF0YS5pdGVtcykgcmV0dXJucyBhIHBsYWluIG9iamVjdCBrZXllZCBieSBpZDsgY2xvbmUgaXRcbiAgICBjb25zdCBiYXNlID0gbWFwQnlJZChwb2ludHNfZGF0YS5pdGVtcyk7XG4gICAgY29uc3QgY29weTogUmVjb3JkPG51bWJlciwgYW55PiA9IHt9O1xuICAgIGZvciAoY29uc3QgaWQgb2YgT2JqZWN0LmtleXMoYmFzZSkpIHtcbiAgICAgIGNvbnN0IG51bUlkID0gTnVtYmVyKGlkKTtcbiAgICAgIGNvbnN0IHBvbGx1dGlvbiA9IHBvbGx1dGlvbkJ5U2l0ZUlkLmdldChudW1JZCk7XG4gICAgICAvLyBzaGFsbG93IGNsb25lIGVhY2ggcG9pbnQ7IGFkZCBwb2xsdXRpb24gaWYgZXhpc3RzXG4gICAgICBjb3B5W251bUlkXSA9IHBvbGx1dGlvblxuICAgICAgICA/IHsgLi4uYmFzZVtudW1JZF0sIHBvbGx1dGlvbiB9XG4gICAgICAgIDogeyAuLi5iYXNlW251bUlkXSB9O1xuICAgIH1cbiAgICByZXR1cm4gY29weTtcbiAgfSwgW3BvaW50c19kYXRhLml0ZW1zLCBwb2xsdXRpb25CeVNpdGVJZF0pO1xuXG4gIC8vIDMpIENvbXB1dGUgZWRnZXNXaXRoRGV2aWNlIHNhZmVseS9tZW1vaXplZCAobm8gZXh0cmEgcmVuZGVycylcbiAgY29uc3QgZWRnZXNXaXRoRGV2aWNlID0gdXNlTWVtbygoKSA9PiB7XG4gICAgY29uc3QgcG9pbnRzV2l0aERldmljZSA9IG1hcEJ5SWQoXG4gICAgICBwb2ludHNfZGF0YS5pdGVtcy5maWx0ZXIoKHApID0+IHAuaGFzX2RldmljZSksXG4gICAgKTtcbiAgICByZXR1cm4gZWRnZXNfZGF0YS5pdGVtcy5maWx0ZXIoXG4gICAgICAoZWRnZSkgPT5cbiAgICAgICAgcG9pbnRzV2l0aERldmljZVtlZGdlLnNvdXJjZV9wb2ludF9pZF0gfHwgZWRnZS5kZXNjZW5kYW50c19oYXNfZGV2aWNlLFxuICAgICk7XG4gIH0sIFtwb2ludHNfZGF0YS5pdGVtcywgZWRnZXNfZGF0YS5pdGVtc10pO1xuXG4gIC8vIDQpIEJ1aWxkIHRoZSB0cmVlIE9OTFkgd2hlbiBkYXRhIGlzIHJlYWR5OyBrZWVwIHJlZmVyZW50aWFsIHN0YWJpbGl0eVxuICBjb25zdCB0cmVlRGF0YSA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIGlmIChpc0xvYWRpbmdTaXRlcyB8fCBlcnJvclNpdGVzKSByZXR1cm4gbnVsbDtcblxuICAgIHJldHVybiBidWlsZFRyZWUoZWRnZXNXaXRoRGV2aWNlLCBkZWNvcmF0ZWRQb2ludHNCeUlkLCB3YXRlckF1dGhvcml0eU5hbWUpO1xuICB9LCBbXG4gICAgZWRnZXNXaXRoRGV2aWNlLFxuICAgIGRlY29yYXRlZFBvaW50c0J5SWQsXG4gICAgd2F0ZXJBdXRob3JpdHlOYW1lLFxuICAgIGlzTG9hZGluZ1NpdGVzLFxuICAgIGVycm9yU2l0ZXMsXG4gIF0pO1xuXG4gIC8vIGNvbnN0IG5vZGVUeXBlT3B0aW9ucyA9IFtcbiAgLy8gICB7IGxhYmVsOiAnUGllIENoYXJ0JywgdmFsdWU6ICdwaWUnIH0sXG4gIC8vICAgeyBsYWJlbDogJ0JhcicsIHZhbHVlOiAnYmFyJyB9LFxuICAvLyBdO1xuXG4gIGNvbnN0IFtzZWFyY2hUZXJtLCBzZXRTZWFyY2hUZXJtXSA9IHVzZVN0YXRlKCcnKTtcbiAgY29uc3Qgc2VhcmNoT3B0aW9ucyA9IHVzZU1lbW8oXG4gICAgKCkgPT4gKHRyZWVEYXRhID8gZ2V0QWxsTm9kZU5hbWVzKHRyZWVEYXRhKSA6IFtdKSxcbiAgICBbdHJlZURhdGFdLFxuICApO1xuICBjb25zdCBbc2hvd1NhbXBsZXJzLCBzZXRTaG93U2FtcGxlcnNdID0gdXNlU3RhdGUoZmFsc2UpO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKHNpdGVJRCkge1xuICAgICAgY29uc3QgbWF0Y2hlZE9wdGlvbiA9IHNlYXJjaE9wdGlvbnMuZmluZChcbiAgICAgICAgKG9wdGlvbikgPT4gb3B0aW9uPy52YWx1ZT8udG9TdHJpbmcoKSA9PT0gc2l0ZUlELFxuICAgICAgKTtcbiAgICAgIGlmIChtYXRjaGVkT3B0aW9uKSB7XG4gICAgICAgIHNldFNlYXJjaFRlcm0obWF0Y2hlZE9wdGlvbi5sYWJlbCk7XG4gICAgICB9XG4gICAgfVxuICB9LCBbc2VhcmNoT3B0aW9uc10pO1xuXG4gIGlmICghaXNIaWVyYXJjaHlUYWIpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHJldHVybiAoXG4gICAgPGRpdj5cbiAgICAgIDxkaXZcbiAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICBtYXJnaW5Ub3A6ICcxMHB4JyxcbiAgICAgICAgICBtYXJnaW5JbmxpbmVTdGFydDogJzEwcHgnLFxuICAgICAgICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICAgICAgICBnYXA6IDgsXG4gICAgICAgICAgekluZGV4OiAxMCxcbiAgICAgICAgfX1cbiAgICAgID5cbiAgICAgICAgey8qPEJ1dHRvbiBvbkNsaWNrPXsoKSA9PiB1cGRhdGVUcmVlVmlldygxKX0+eydDb2xsYXBzZSBBbGwnfTwvQnV0dG9uPiovfVxuICAgICAgICB7Lyo8QnV0dG9uIG9uQ2xpY2s9eygpID0+IHVwZGF0ZVRyZWVWaWV3KDEyKX0+eydFeHBhbmQgQWxsJ308L0J1dHRvbj4qL31cblxuICAgICAgICB7Lyo8U2VsZWN0Ki99XG4gICAgICAgIHsvKiAgb3B0aW9ucz17bm9kZVR5cGVPcHRpb25zfSovfVxuICAgICAgICB7LyogIHZhbHVlPXtub2RlVHlwZU9wdGlvbnMuZmluZCgob3B0aW9uKSA9PiBvcHRpb24udmFsdWUgPT09IG5vZGVUeXBlKX0qL31cbiAgICAgICAgey8qICBzZXRWYWx1ZT17KHNlbGVjdGVkKSA9PiBzZXROb2RlVHlwZShzZWxlY3RlZC52YWx1ZSl9Ki99XG4gICAgICAgIHsvKiAgbWVudVdpZHRoPXsxMjB9Ki99XG4gICAgICAgIHsvKi8+Ki99XG4gICAgICAgIDxGb3JtLkdyb3VwIGNsYXNzTmFtZT17J210LTInfT5cbiAgICAgICAgICA8Rm9ybS5DaGVja1xuICAgICAgICAgICAgaW5saW5lXG4gICAgICAgICAgICBsYWJlbD17J1Nob3cgb25seSBtb25pdG9yZWQnfVxuICAgICAgICAgICAgbmFtZT1cInNob3dfb25seV9tb25pdG9yZWRcIlxuICAgICAgICAgICAgdHlwZT1cImNoZWNrYm94XCJcbiAgICAgICAgICAgIGlkPVwic2hvd19vbmx5X21vbml0b3JlZFwiXG4gICAgICAgICAgICBvbkNoYW5nZT17KGUpID0+IHtcbiAgICAgICAgICAgICAgc2V0U2hvd09ubHlNb25pdG9yZWQoIXNob3dPbmx5TW9uaXRvcmVkKTtcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgICBjaGVja2VkPXtzaG93T25seU1vbml0b3JlZH1cbiAgICAgICAgICAvPlxuICAgICAgICA8L0Zvcm0uR3JvdXA+XG4gICAgICAgIDxGb3JtLkdyb3VwIGNsYXNzTmFtZT17J210LTInfT5cbiAgICAgICAgICA8Rm9ybS5DaGVja1xuICAgICAgICAgICAgaW5saW5lXG4gICAgICAgICAgICBsYWJlbD17J1Nob3cgc2FtcGxlcnMnfVxuICAgICAgICAgICAgbmFtZT1cInNob3dfc2FtcGxlcnNcIlxuICAgICAgICAgICAgdHlwZT1cImNoZWNrYm94XCJcbiAgICAgICAgICAgIGlkPVwic2hvd19zYW1wbGVyc1wiXG4gICAgICAgICAgICBvbkNoYW5nZT17KGUpID0+IHtcbiAgICAgICAgICAgICAgc2V0U2hvd1NhbXBsZXJzKCFzaG93U2FtcGxlcnMpO1xuICAgICAgICAgICAgfX1cbiAgICAgICAgICAgIGNoZWNrZWQ9e3Nob3dTYW1wbGVyc31cbiAgICAgICAgICAvPlxuICAgICAgICA8L0Zvcm0uR3JvdXA+XG4gICAgICAgIDxkaXYgc3R5bGU9e3sgd2lkdGg6ICcyNDBweCcgfX0+XG4gICAgICAgICAgPFJlYWN0U2VsZWN0XG4gICAgICAgICAgICBwbGFjZWhvbGRlcj17STE4bi50KFxuICAgICAgICAgICAgICAnZGFzaGJvYXJkX3YyLnV0aWxpdHlfZGFzaGJvYXJkLmhpZXJhcmNoeS5zZWFyY2gnLFxuICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIHZhbHVlPXtcbiAgICAgICAgICAgICAgc2VhcmNoT3B0aW9ucy5maW5kKChvcHRpb24pID0+IG9wdGlvbi5sYWJlbCA9PT0gc2VhcmNoVGVybSkgfHxcbiAgICAgICAgICAgICAgbnVsbFxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaXNMb2FkaW5nPXshc2VhcmNoT3B0aW9ucy5sZW5ndGh9XG4gICAgICAgICAgICBpc0NsZWFyYWJsZT17dHJ1ZX1cbiAgICAgICAgICAgIGlzU2VhcmNoYWJsZT17dHJ1ZX1cbiAgICAgICAgICAgIG5hbWU9XCJjb2xvclwiXG4gICAgICAgICAgICBvbkNoYW5nZT17KHZhbHVlKSA9PiBzZXRTZWFyY2hUZXJtKHZhbHVlPy5sYWJlbCB8fCAnJyl9XG4gICAgICAgICAgICBvcHRpb25zPXtzZWFyY2hPcHRpb25zfVxuICAgICAgICAgICAgb25JbnB1dENoYW5nZUNhbGxiYWNrPXsoaW5wdXQpID0+IHNldFNlYXJjaFRlcm0oaW5wdXQpfVxuICAgICAgICAgIC8+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICB7Lyo8aW5wdXQqL31cbiAgICAgICAgey8qICB0eXBlPVwidGV4dFwiKi99XG4gICAgICAgIHsvKiAgc3R5bGU9e3sgaGVpZ2h0OiAnMzBweCcsIG1hcmdpblRvcDogNiwgcGFkZGluZ0lubGluZVN0YXJ0OiA1IH19Ki99XG4gICAgICAgIHsvKiAgdmFsdWU9e3NlYXJjaFRlcm19Ki99XG4gICAgICAgIHsvKiAgb25DaGFuZ2U9eyhlKSA9PiBzZXRTZWFyY2hUZXJtKGUudGFyZ2V0LnZhbHVlKX0qL31cbiAgICAgICAgey8qICBwbGFjZWhvbGRlcj1cIlNlYXJjaCBieSBuYW1lLi4uXCIqL31cbiAgICAgICAgey8qLz4qL31cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8Q29udGFpbmVyIGZsdWlkIGNsYXNzTmFtZT1cInAtMFwiIHN0eWxlPXt7IG92ZXJmbG93OiAnaGlkZGVuJyB9fT5cbiAgICAgICAgPFJvdyBjbGFzc05hbWU9XCJtYXAtY29sdW1uXCIgc209ezEyfT5cbiAgICAgICAgICA8Q29sIHN0eWxlPXt7IGhlaWdodDogJzg1dmgnIH19PlxuICAgICAgICAgICAge2VkZ2VzX2RhdGEuaXNGZXRjaGluZyB8fFxuICAgICAgICAgICAgcG9pbnRzX2RhdGEuaXNGZXRjaGluZyB8fFxuICAgICAgICAgICAgIXRyZWVEYXRhIHx8XG4gICAgICAgICAgICBpc0xvYWRpbmdTaXRlcyA/IChcbiAgICAgICAgICAgICAgPExvYWRlciAvPlxuICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgPEF1dG9GaXRUcmVlXG4gICAgICAgICAgICAgICAgdHJlZUtleT17MH1cbiAgICAgICAgICAgICAgICBpbml0aWFsRGVwdGg9ezEyfVxuICAgICAgICAgICAgICAgIGRhdGE9e3RyZWVEYXRhfVxuICAgICAgICAgICAgICAgIG5vZGVUeXBlPXsnbm9kZVR5cGUnfVxuICAgICAgICAgICAgICAgIHNlYXJjaFRlcm09e3NlYXJjaFRlcm19XG4gICAgICAgICAgICAgICAgc2hvd09ubHlNb25pdG9yZWQ9e3Nob3dPbmx5TW9uaXRvcmVkfVxuICAgICAgICAgICAgICAgIHNob3dTYW1wbGVycz17c2hvd1NhbXBsZXJzfVxuICAgICAgICAgICAgICAgIG9uTm9kZUNsaWNrPXtvbk5vZGVDbGlja31cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICl9XG4gICAgICAgICAgICA8UmlnaHRQYW5lbFxuICAgICAgICAgICAgICBjbGFzc05hbWU9e2ByaWdodC1wYW5lbCAke3Nob3dSaWdodFBhbmVsID8gJ29wZW4nIDogJyd9YH1cbiAgICAgICAgICAgICAgcG9pbnQ9e3NlbGVjdGVkUG9pbnR9XG4gICAgICAgICAgICAgIG9uQ2xvc2U9eygpID0+IHtcbiAgICAgICAgICAgICAgICBzZXRTZWxlY3RlZFBvaW50KG51bGwpO1xuICAgICAgICAgICAgICAgIHNldFNob3dSaWdodFBhbmVsKGZhbHNlKTtcbiAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9Db2w+XG4gICAgICAgIDwvUm93PlxuICAgICAgPC9Db250YWluZXI+XG4gICAgPC9kaXY+XG4gICk7XG59O1xuZXhwb3J0IGRlZmF1bHQgSGllcmFyY2h5R3JhcGg7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQUFBLElBQUFBLE1BQUEsR0FBQUMsdUJBQUEsQ0FBQUMsT0FBQTtBQUVBLElBQUFDLFlBQUEsR0FBQUMsc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFHLE1BQUEsR0FBQUgsT0FBQTtBQUNBLElBQUFJLFdBQUEsR0FBQUosT0FBQTtBQUVBLElBQUFLLFlBQUEsR0FBQUgsc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFNLGVBQUEsR0FBQU4sT0FBQTtBQUNBLElBQUFPLE9BQUEsR0FBQVAsT0FBQTtBQUNBLElBQUFRLFdBQUEsR0FBQU4sc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFTLEtBQUEsR0FBQVQsT0FBQTtBQUNBLElBQUFVLHlCQUFBLEdBQUFWLE9BQUE7QUFFQSxJQUFBVyxZQUFBLEdBQUFULHNCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBWSxZQUFBLEdBQUFaLE9BQUE7QUFDQSxJQUFBYSxLQUFBLEdBQUFYLHNCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBYyxlQUFBLEdBQUFkLE9BQUE7QUFBNkMsU0FBQWUseUJBQUFDLFdBQUEsZUFBQUMsT0FBQSxrQ0FBQUMsaUJBQUEsT0FBQUQsT0FBQSxRQUFBRSxnQkFBQSxPQUFBRixPQUFBLFlBQUFGLHdCQUFBLFlBQUFB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
@@ -6,7 +6,6 @@ Object.defineProperty(exports, "__esModule", {
6
6
  });
7
7
  exports.default = void 0;
8
8
  var _react = _interopRequireDefault(require("react"));
9
- var _scoreToData = require("../../utilities/scoreToData");
10
9
  var _CardLayout = _interopRequireDefault(require("../../Widgets/MostPolluting/Factories/FactoryBox/CardLayout"));
11
10
  var _NodeIcon = _interopRequireDefault(require("./NodeIcon"));
12
11
  var _TopNavbar = require("../../assets/icons/TopNavbar");
@@ -16,36 +15,40 @@ var _LeafSign = _interopRequireDefault(require("./LeafSign"));
16
15
  var _reactI18next = require("react-i18next");
17
16
  var _reactBootstrap = require("react-bootstrap");
18
17
  var _theme = require("../../styles/theme/theme");
18
+ var _icons = require("utilities/map/icons");
19
+ require("./style.scss");
20
+ var _SeverityBadge = require("../../pages/DashboardMap/SeverityBadge");
19
21
  var NodeLayout = function NodeLayout(_ref) {
20
- var _nodeDatum$attributes, _nodeDatum$attributes2, _nodeDatum$attributes3, _nodeDatum$attributes4, _nodeDatum$name, _nodeDatum$name$toLow, _nodeDatum$attributes5, _nodeDatum$attributes6;
22
+ var _nodeDatum$attributes, _nodeDatum$attributes2, _nodeDatum$attributes3, _nodeDatum$attributes4, _nodeDatum$name, _nodeDatum$name$toLow, _nodeDatum$attributes5, _nodeDatum$attributes6, _nodeDatum$attributes7, _nodeDatum$attributes8, _nodeDatum$attributes9, _nodeDatum$attributes10;
21
23
  var nodeDatum = _ref.nodeDatum,
22
24
  toggleNode = _ref.toggleNode,
23
25
  searchTerm = _ref.searchTerm,
26
+ showSamplers = _ref.showSamplers,
24
27
  children = _ref.children,
25
28
  contentStyle = _ref.contentStyle;
26
29
  var factoryType = ((_nodeDatum$attributes = nodeDatum.attributes) === null || _nodeDatum$attributes === void 0 ? void 0 : _nodeDatum$attributes.type) || '';
27
30
  var isLeafNode = !nodeDatum.children || nodeDatum.children.length === 0;
28
31
  var isMonitored = (_nodeDatum$attributes2 = nodeDatum.attributes) === null || _nodeDatum$attributes2 === void 0 ? void 0 : _nodeDatum$attributes2.monitored;
29
32
  var score = (_nodeDatum$attributes3 = (_nodeDatum$attributes4 = nodeDatum.attributes) === null || _nodeDatum$attributes4 === void 0 ? void 0 : _nodeDatum$attributes4.score) !== null && _nodeDatum$attributes3 !== void 0 ? _nodeDatum$attributes3 : -1;
30
- var borderColor = (0, _scoreToData.scoreToColor)(isMonitored ? score : -1);
31
- var isHighlighted = !!searchTerm && ((_nodeDatum$name = nodeDatum.name) === null || _nodeDatum$name === void 0 ? void 0 : (_nodeDatum$name$toLow = _nodeDatum$name.toLowerCase()) === null || _nodeDatum$name$toLow === void 0 ? void 0 : _nodeDatum$name$toLow.includes(searchTerm.toLowerCase()));
33
+ var borderColor = _theme.theme.natural.n30;
34
+ var isHighlighted = !!searchTerm && (((_nodeDatum$name = nodeDatum.name) === null || _nodeDatum$name === void 0 ? void 0 : (_nodeDatum$name$toLow = _nodeDatum$name.toLowerCase()) === null || _nodeDatum$name$toLow === void 0 ? void 0 : _nodeDatum$name$toLow.includes(searchTerm.toLowerCase())) || (nodeDatum === null || nodeDatum === void 0 ? void 0 : (_nodeDatum$attributes5 = nodeDatum.attributes) === null || _nodeDatum$attributes5 === void 0 ? void 0 : (_nodeDatum$attributes6 = _nodeDatum$attributes5.area_name) === null || _nodeDatum$attributes6 === void 0 ? void 0 : (_nodeDatum$attributes7 = _nodeDatum$attributes6.toLowerCase()) === null || _nodeDatum$attributes7 === void 0 ? void 0 : _nodeDatum$attributes7.includes(searchTerm.toLowerCase())));
32
35
  // const isFocused = siteID === nodeDatum.attributes?.point_id?.toString();
33
36
 
34
37
  var cardStyle = {
35
38
  borderRadius: '4px',
36
39
  borderColor: isHighlighted ? _theme.theme.colorScheme.secondary.s1 : borderColor,
37
40
  borderStyle: isMonitored ? 'solid' : 'dashed',
38
- borderWidth: '5px',
41
+ borderWidth: '3px',
39
42
  backgroundColor: '#FFFFFF',
40
43
  stroke: 'none',
41
44
  height: '170px'
42
45
  };
43
- var title = factoryType === 'area' ? ((_nodeDatum$attributes5 = nodeDatum.attributes) === null || _nodeDatum$attributes5 === void 0 ? void 0 : _nodeDatum$attributes5.area_name) || nodeDatum.name : nodeDatum.name;
46
+ var title = factoryType === 'area' ? ((_nodeDatum$attributes8 = nodeDatum.attributes) === null || _nodeDatum$attributes8 === void 0 ? void 0 : _nodeDatum$attributes8.area_name) || nodeDatum.name : nodeDatum.name;
44
47
  // const onShowDetails = (event) => {
45
48
  // event.stopPropagation();
46
49
  // onNodeClick(nodeDatum);
47
50
  // };
48
-
51
+ var isShowSampler = showSamplers && ((_nodeDatum$attributes9 = nodeDatum.attributes) === null || _nodeDatum$attributes9 === void 0 ? void 0 : _nodeDatum$attributes9.has_sampler);
49
52
  if (!nodeDatum.name) {
50
53
  return null;
51
54
  }
@@ -56,14 +59,15 @@ var NodeLayout = function NodeLayout(_ref) {
56
59
  }
57
60
  }, /*#__PURE__*/_react.default.createElement("foreignObject", {
58
61
  x: "-100",
59
- y: "-120",
62
+ y: "-137",
60
63
  width: "200",
61
64
  height: "250"
62
- }, ((_nodeDatum$attributes6 = nodeDatum.attributes) === null || _nodeDatum$attributes6 === void 0 ? void 0 : _nodeDatum$attributes6.point_id) && /*#__PURE__*/_react.default.createElement(_utils.ActionsContainer, null, /*#__PURE__*/_react.default.createElement(_StyledLink.StyledLink, {
65
+ }, ((_nodeDatum$attributes10 = nodeDatum.attributes) === null || _nodeDatum$attributes10 === void 0 ? void 0 : _nodeDatum$attributes10.point_id) && /*#__PURE__*/_react.default.createElement(_utils.ActionsContainer, null, /*#__PURE__*/_react.default.createElement(_StyledLink.StyledLink, {
63
66
  style: {
64
67
  stroke: borderColor,
65
68
  strokeWidth: 1,
66
- background: 'white'
69
+ background: 'white',
70
+ marginInlineStart: 64
67
71
  },
68
72
  target: "_blank",
69
73
  updateParams: {
@@ -80,7 +84,25 @@ var NodeLayout = function NodeLayout(_ref) {
80
84
  }, /*#__PURE__*/_react.default.createElement(_reactI18next.Trans, {
81
85
  i18nKey: 'header.map'
82
86
  }))
83
- }, /*#__PURE__*/_react.default.createElement(_TopNavbar.MapSvg, null)))), /*#__PURE__*/_react.default.createElement(_CardLayout.default, {
87
+ }, /*#__PURE__*/_react.default.createElement(_TopNavbar.MapSvg, {
88
+ style: {
89
+ width: 55,
90
+ height: 55
91
+ }
92
+ }))), isShowSampler && /*#__PURE__*/_react.default.createElement(_reactBootstrap.OverlayTrigger, {
93
+ overlay: /*#__PURE__*/_react.default.createElement(_reactBootstrap.Tooltip, {
94
+ id: "sampler",
95
+ placement: "auto"
96
+ }, /*#__PURE__*/_react.default.createElement(_reactI18next.Trans, {
97
+ i18nKey: 'dashboard_v2.utility_dashboard.hierarchy.sampler'
98
+ }))
99
+ }, /*#__PURE__*/_react.default.createElement("span", {
100
+ className: 'sampler-icon-holder'
101
+ }, /*#__PURE__*/_react.default.createElement("img", {
102
+ src: (0, _icons.samplerIcon)(),
103
+ className: "sampler-icon",
104
+ alt: 'sampler'
105
+ })))), /*#__PURE__*/_react.default.createElement(_CardLayout.default, {
84
106
  title: title,
85
107
  style: cardStyle,
86
108
  headerRight: /*#__PURE__*/_react.default.createElement(_NodeIcon.default, {
@@ -89,10 +111,18 @@ var NodeLayout = function NodeLayout(_ref) {
89
111
  }, /*#__PURE__*/_react.default.createElement("div", {
90
112
  className: 'node-content',
91
113
  style: contentStyle
92
- }, nodeDatum.attributes && children))), isLeafNode && /*#__PURE__*/_react.default.createElement(_LeafSign.default, {
114
+ }, nodeDatum.attributes && /*#__PURE__*/_react.default.createElement(_SeverityBadge.SeverityBadge, {
115
+ className: 'score',
116
+ props: {
117
+ props: {
118
+ score: score,
119
+ has_device: isMonitored
120
+ }
121
+ }
122
+ })))), isLeafNode && /*#__PURE__*/_react.default.createElement(_LeafSign.default, {
93
123
  color: borderColor
94
124
  }));
95
125
  };
96
126
  var _default = NodeLayout;
97
127
  exports.default = _default;
98
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9zY29yZVRvRGF0YSIsIl9DYXJkTGF5b3V0IiwiX05vZGVJY29uIiwiX1RvcE5hdmJhciIsIl9TdHlsZWRMaW5rIiwiX3V0aWxzIiwiX0xlYWZTaWduIiwiX3JlYWN0STE4bmV4dCIsIl9yZWFjdEJvb3RzdHJhcCIsIl90aGVtZSIsIk5vZGVMYXlvdXQiLCJfcmVmIiwiX25vZGVEYXR1bSRhdHRyaWJ1dGVzIiwiX25vZGVEYXR1bSRhdHRyaWJ1dGVzMiIsIl9ub2RlRGF0dW0kYXR0cmlidXRlczMiLCJfbm9kZURhdHVtJGF0dHJpYnV0ZXM0IiwiX25vZGVEYXR1bSRuYW1lIiwiX25vZGVEYXR1bSRuYW1lJHRvTG93IiwiX25vZGVEYXR1bSRhdHRyaWJ1dGVzNSIsIl9ub2RlRGF0dW0kYXR0cmlidXRlczYiLCJub2RlRGF0dW0iLCJ0b2dnbGVOb2RlIiwic2VhcmNoVGVybSIsImNoaWxkcmVuIiwiY29udGVudFN0eWxlIiwiZmFjdG9yeVR5cGUiLCJhdHRyaWJ1dGVzIiwidHlwZSIsImlzTGVhZk5vZGUiLCJsZW5ndGgiLCJpc01vbml0b3JlZCIsIm1vbml0b3JlZCIsInNjb3JlIiwiYm9yZGVyQ29sb3IiLCJzY29yZVRvQ29sb3IiLCJpc0hpZ2hsaWdodGVkIiwibmFtZSIsInRvTG93ZXJDYXNlIiwiaW5jbHVkZXMiLCJjYXJkU3R5bGUiLCJib3JkZXJSYWRpdXMiLCJ0aGVtZSIsImNvbG9yU2NoZW1lIiwic2Vjb25kYXJ5IiwiczEiLCJib3JkZXJTdHlsZSIsImJvcmRlcldpZHRoIiwiYmFja2dyb3VuZENvbG9yIiwic3Ryb2tlIiwiaGVpZ2h0IiwidGl0bGUiLCJhcmVhX25hbWUiLCJkZWZhdWx0IiwiY3JlYXRlRWxlbWVudCIsIm9uQ2xpY2siLCJzdHlsZSIsImN1cnNvciIsIngiLCJ5Iiwid2lkdGgiLCJwb2ludF9pZCIsIkFjdGlvbnNDb250YWluZXIiLCJTdHlsZWRMaW5rIiwic3Ryb2tlV2lkdGgiLCJiYWNrZ3JvdW5kIiwidGFyZ2V0IiwidXBkYXRlUGFyYW1zIiwidmlldyIsInRvIiwiY29uY2F0IiwiZSIsInN0b3BQcm9wYWdhdGlvbiIsIk92ZXJsYXlUcmlnZ2VyIiwib3ZlcmxheSIsIlRvb2x0aXAiLCJpZCIsInBsYWNlbWVudCIsIlRyYW5zIiwiaTE4bktleSIsIk1hcFN2ZyIsImhlYWRlclJpZ2h0IiwiY2xhc3NOYW1lIiwiY29sb3IiLCJfZGVmYXVsdCIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdWkta2l0L0hpZXJhcmNoeUdyYXBoL05vZGVMYXlvdXQudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBzY29yZVRvQ29sb3IgfSBmcm9tICcuLi8uLi91dGlsaXRpZXMvc2NvcmVUb0RhdGEnO1xuaW1wb3J0IENhcmRMYXlvdXQgZnJvbSAnLi4vLi4vV2lkZ2V0cy9Nb3N0UG9sbHV0aW5nL0ZhY3Rvcmllcy9GYWN0b3J5Qm94L0NhcmRMYXlvdXQnO1xuaW1wb3J0IE5vZGVJY29uIGZyb20gJy4vTm9kZUljb24nO1xuaW1wb3J0IHsgTWFwU3ZnIH0gZnJvbSAnLi4vLi4vYXNzZXRzL2ljb25zL1RvcE5hdmJhcic7XG5pbXBvcnQgeyBTdHlsZWRMaW5rIH0gZnJvbSAnc3JjL2NvbXBvbmVudHMvTGlua3MvU3R5bGVkTGluay9TdHlsZWRMaW5rJztcbmltcG9ydCB7IEFjdGlvbnNDb250YWluZXIsIE5vZGVQcm9wcyB9IGZyb20gJy4vdXRpbHMnO1xuaW1wb3J0IExlYWZTaWduIGZyb20gJy4vTGVhZlNpZ24nO1xuaW1wb3J0IHsgVHJhbnMgfSBmcm9tICdyZWFjdC1pMThuZXh0JztcbmltcG9ydCB7IE92ZXJsYXlUcmlnZ2VyLCBUb29sdGlwIH0gZnJvbSAncmVhY3QtYm9vdHN0cmFwJztcbmltcG9ydCB7IHRoZW1lIH0gZnJvbSAnLi4vLi4vc3R5bGVzL3RoZW1lL3RoZW1lJztcblxuY29uc3QgTm9kZUxheW91dCA9ICh7XG4gIG5vZGVEYXR1bSxcbiAgdG9nZ2xlTm9kZSxcbiAgc2VhcmNoVGVybSxcbiAgY2hpbGRyZW4sXG4gIGNvbnRlbnRTdHlsZSxcbn06IE5vZGVQcm9wcykgPT4ge1xuICBjb25zdCBmYWN0b3J5VHlwZSA9IG5vZGVEYXR1bS5hdHRyaWJ1dGVzPy50eXBlIHx8ICcnO1xuICBjb25zdCBpc0xlYWZOb2RlID0gIW5vZGVEYXR1bS5jaGlsZHJlbiB8fCBub2RlRGF0dW0uY2hpbGRyZW4ubGVuZ3RoID09PSAwO1xuICBjb25zdCBpc01vbml0b3JlZCA9IG5vZGVEYXR1bS5hdHRyaWJ1dGVzPy5tb25pdG9yZWQ7XG4gIGNvbnN0IHNjb3JlID0gbm9kZURhdHVtLmF0dHJpYnV0ZXM/LnNjb3JlID8/IC0xO1xuICBjb25zdCBib3JkZXJDb2xvciA9IHNjb3JlVG9Db2xvcihpc01vbml0b3JlZCA/IHNjb3JlIDogLTEpO1xuICBjb25zdCBpc0hpZ2hsaWdodGVkID1cbiAgICAhIXNlYXJjaFRlcm0gJiZcbiAgICBub2RlRGF0dW0ubmFtZT8udG9Mb3dlckNhc2UoKT8uaW5jbHVkZXMoc2VhcmNoVGVybS50b0xvd2VyQ2FzZSgpKTtcbiAgLy8gY29uc3QgaXNGb2N1c2VkID0gc2l0ZUlEID09PSBub2RlRGF0dW0uYXR0cmlidXRlcz8ucG9pbnRfaWQ/LnRvU3RyaW5nKCk7XG5cbiAgY29uc3QgY2FyZFN0eWxlOiBSZWFjdC5DU1NQcm9wZXJ0aWVzID0ge1xuICAgIGJvcmRlclJhZGl1czogJzRweCcsXG4gICAgYm9yZGVyQ29sb3I6IGlzSGlnaGxpZ2h0ZWQgPyB0aGVtZS5jb2xvclNjaGVtZS5zZWNvbmRhcnkuczEgOiBib3JkZXJDb2xvcixcbiAgICBib3JkZXJTdHlsZTogaXNNb25pdG9yZWQgPyAnc29saWQnIDogJ2Rhc2hlZCcsXG4gICAgYm9yZGVyV2lkdGg6ICc1cHgnLFxuICAgIGJhY2tncm91bmRDb2xvcjogJyNGRkZGRkYnLFxuICAgIHN0cm9rZTogJ25vbmUnLFxuICAgIGhlaWdodDogJzE3MHB4JyxcbiAgfTtcbiAgY29uc3QgdGl0bGUgPVxuICAgIGZhY3RvcnlUeXBlID09PSAnYXJlYSdcbiAgICAgID8gbm9kZURhdHVtLmF0dHJpYnV0ZXM/LmFyZWFfbmFtZSB8fCBub2RlRGF0dW0ubmFtZVxuICAgICAgOiBub2RlRGF0dW0ubmFtZTtcbiAgLy8gY29uc3Qgb25TaG93RGV0YWlscyA9IChldmVudCkgPT4ge1xuICAvLyAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAvLyAgIG9uTm9kZUNsaWNrKG5vZGVEYXR1bSk7XG4gIC8vIH07XG5cbiAgaWYgKCFub2RlRGF0dW0ubmFtZSkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG4gIHJldHVybiAoXG4gICAgPGcgb25DbGljaz17dG9nZ2xlTm9kZX0gc3R5bGU9e3sgY3Vyc29yOiAncG9pbnRlcicgfX0+XG4gICAgICA8Zm9yZWlnbk9iamVjdCB4PVwiLTEwMFwiIHk9XCItMTIwXCIgd2lkdGg9XCIyMDBcIiBoZWlnaHQ9XCIyNTBcIj5cbiAgICAgICAge25vZGVEYXR1bS5hdHRyaWJ1dGVzPy5wb2ludF9pZCAmJiAoXG4gICAgICAgICAgPEFjdGlvbnNDb250YWluZXI+XG4gICAgICAgICAgICB7Lyp7ZWFybHlBZG9wdGVyICYmICgqL31cbiAgICAgICAgICAgIHsvKiAgPHNwYW4gc3R5bGU9e3sgbWFyZ2luSW5saW5lRW5kOiAnOHB4JyB9fT4qL31cbiAgICAgICAgICAgIHsvKiAgICA8T3ZlcmxheVRyaWdnZXIqL31cbiAgICAgICAgICAgIHsvKiAgICAgIG92ZXJsYXk9eyovfVxuICAgICAgICAgICAgey8qICAgICAgICA8VG9vbHRpcCBpZD17J2RldGFpbHMnfSBwbGFjZW1lbnQ9XCJhdXRvXCI+Ki99XG4gICAgICAgICAgICB7LyogICAgICAgICAgPFRyYW5zKi99XG4gICAgICAgICAgICB7LyogICAgICAgICAgICBpMThuS2V5PXsnZ3JvdXBfc2NyZWVuLmdlbmVyYWxfdGFiLmdyb3VwX2RldGFpbHMnfSovfVxuICAgICAgICAgICAgey8qICAgICAgICAgIC8+Ki99XG4gICAgICAgICAgICB7LyogICAgICAgIDwvVG9vbHRpcD4qL31cbiAgICAgICAgICAgIHsvKiAgICAgIH0qL31cbiAgICAgICAgICAgIHsvKiAgICA+Ki99XG4gICAgICAgICAgICB7LyogICAgICA8RGV0YWlsc1N2ZyBvbkNsaWNrPXtvblNob3dEZXRhaWxzfSAvPiovfVxuICAgICAgICAgICAgey8qICAgIDwvT3ZlcmxheVRyaWdnZXI+Ki99XG4gICAgICAgICAgICB7LyogIDwvc3Bhbj4qL31cbiAgICAgICAgICAgIHsvKil9Ki99XG4gICAgICAgICAgICA8U3R5bGVkTGlua1xuICAgICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICAgIHN0cm9rZTogYm9yZGVyQ29sb3IsXG4gICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg6IDEsXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJ3doaXRlJyxcbiAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgdGFyZ2V0PVwiX2JsYW5rXCJcbiAgICAgICAgICAgICAgdXBkYXRlUGFyYW1zPXt7IHZpZXc6ICdtYXAnIH19XG4gICAgICAgICAgICAgIHRvPXtgL2Rhc2hib2FyZF92Mi9zaXRlLyR7bm9kZURhdHVtLmF0dHJpYnV0ZXMucG9pbnRfaWR9YH1cbiAgICAgICAgICAgICAgb25DbGljaz17KGUpID0+IGUuc3RvcFByb3BhZ2F0aW9uKCl9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxPdmVybGF5VHJpZ2dlclxuICAgICAgICAgICAgICAgIG92ZXJsYXk9e1xuICAgICAgICAgICAgICAgICAgPFRvb2x0aXAgaWQ9XCJtYXBcIiBwbGFjZW1lbnQ9XCJhdXRvXCI+XG4gICAgICAgICAgICAgICAgICAgIDxUcmFucyBpMThuS2V5PXsnaGVhZGVyLm1hcCd9IC8+XG4gICAgICAgICAgICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPE1hcFN2ZyAvPlxuICAgICAgICAgICAgICA8L092ZXJsYXlUcmlnZ2VyPlxuICAgICAgICAgICAgPC9TdHlsZWRMaW5rPlxuICAgICAgICAgIDwvQWN0aW9uc0NvbnRhaW5lcj5cbiAgICAgICAgKX1cbiAgICAgICAgPENhcmRMYXlvdXRcbiAgICAgICAgICB0aXRsZT17dGl0bGV9XG4gICAgICAgICAgc3R5bGU9e2NhcmRTdHlsZX1cbiAgICAgICAgICBoZWFkZXJSaWdodD17PE5vZGVJY29uIHR5cGU9e2ZhY3RvcnlUeXBlfSAvPn1cbiAgICAgICAgPlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXsnbm9kZS1jb250ZW50J30gc3R5bGU9e2NvbnRlbnRTdHlsZX0+XG4gICAgICAgICAgICB7bm9kZURhdHVtLmF0dHJpYnV0ZXMgJiYgY2hpbGRyZW59XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvQ2FyZExheW91dD5cbiAgICAgIDwvZm9yZWlnbk9iamVjdD5cbiAgICAgIHtpc0xlYWZOb2RlICYmIDxMZWFmU2lnbiBjb2xvcj17Ym9yZGVyQ29sb3J9IC8+fVxuICAgIDwvZz5cbiAgKTtcbn07XG5leHBvcnQgZGVmYXVsdCBOb2RlTGF5b3V0O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUEsSUFBQUEsTUFBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsWUFBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsV0FBQSxHQUFBSCxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUcsU0FBQSxHQUFBSixzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUksVUFBQSxHQUFBSixPQUFBO0FBQ0EsSUFBQUssV0FBQSxHQUFBTCxPQUFBO0FBQ0EsSUFBQU0sTUFBQSxHQUFBTixPQUFBO0FBQ0EsSUFBQU8sU0FBQSxHQUFBUixzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQVEsYUFBQSxHQUFBUixPQUFBO0FBQ0Es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
128
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9DYXJkTGF5b3V0IiwiX05vZGVJY29uIiwiX1RvcE5hdmJhciIsIl9TdHlsZWRMaW5rIiwiX3V0aWxzIiwiX0xlYWZTaWduIiwiX3JlYWN0STE4bmV4dCIsIl9yZWFjdEJvb3RzdHJhcCIsIl90aGVtZSIsIl9pY29ucyIsIl9TZXZlcml0eUJhZGdlIiwiTm9kZUxheW91dCIsIl9yZWYiLCJfbm9kZURhdHVtJGF0dHJpYnV0ZXMiLCJfbm9kZURhdHVtJGF0dHJpYnV0ZXMyIiwiX25vZGVEYXR1bSRhdHRyaWJ1dGVzMyIsIl9ub2RlRGF0dW0kYXR0cmlidXRlczQiLCJfbm9kZURhdHVtJG5hbWUiLCJfbm9kZURhdHVtJG5hbWUkdG9Mb3ciLCJfbm9kZURhdHVtJGF0dHJpYnV0ZXM1IiwiX25vZGVEYXR1bSRhdHRyaWJ1dGVzNiIsIl9ub2RlRGF0dW0kYXR0cmlidXRlczciLCJfbm9kZURhdHVtJGF0dHJpYnV0ZXM4IiwiX25vZGVEYXR1bSRhdHRyaWJ1dGVzOSIsIl9ub2RlRGF0dW0kYXR0cmlidXRlczEwIiwibm9kZURhdHVtIiwidG9nZ2xlTm9kZSIsInNlYXJjaFRlcm0iLCJzaG93U2FtcGxlcnMiLCJjaGlsZHJlbiIsImNvbnRlbnRTdHlsZSIsImZhY3RvcnlUeXBlIiwiYXR0cmlidXRlcyIsInR5cGUiLCJpc0xlYWZOb2RlIiwibGVuZ3RoIiwiaXNNb25pdG9yZWQiLCJtb25pdG9yZWQiLCJzY29yZSIsImJvcmRlckNvbG9yIiwidGhlbWUiLCJuYXR1cmFsIiwibjMwIiwiaXNIaWdobGlnaHRlZCIsIm5hbWUiLCJ0b0xvd2VyQ2FzZSIsImluY2x1ZGVzIiwiYXJlYV9uYW1lIiwiY2FyZFN0eWxlIiwiYm9yZGVyUmFkaXVzIiwiY29sb3JTY2hlbWUiLCJzZWNvbmRhcnkiLCJzMSIsImJvcmRlclN0eWxlIiwiYm9yZGVyV2lkdGgiLCJiYWNrZ3JvdW5kQ29sb3IiLCJzdHJva2UiLCJoZWlnaHQiLCJ0aXRsZSIsImlzU2hvd1NhbXBsZXIiLCJoYXNfc2FtcGxlciIsImRlZmF1bHQiLCJjcmVhdGVFbGVtZW50Iiwib25DbGljayIsInN0eWxlIiwiY3Vyc29yIiwieCIsInkiLCJ3aWR0aCIsInBvaW50X2lkIiwiQWN0aW9uc0NvbnRhaW5lciIsIlN0eWxlZExpbmsiLCJzdHJva2VXaWR0aCIsImJhY2tncm91bmQiLCJtYXJnaW5JbmxpbmVTdGFydCIsInRhcmdldCIsInVwZGF0ZVBhcmFtcyIsInZpZXciLCJ0byIsImNvbmNhdCIsImUiLCJzdG9wUHJvcGFnYXRpb24iLCJPdmVybGF5VHJpZ2dlciIsIm92ZXJsYXkiLCJUb29sdGlwIiwiaWQiLCJwbGFjZW1lbnQiLCJUcmFucyIsImkxOG5LZXkiLCJNYXBTdmciLCJjbGFzc05hbWUiLCJzcmMiLCJzYW1wbGVySWNvbiIsImFsdCIsImhlYWRlclJpZ2h0IiwiU2V2ZXJpdHlCYWRnZSIsInByb3BzIiwiaGFzX2RldmljZSIsImNvbG9yIiwiX2RlZmF1bHQiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3VpLWtpdC9IaWVyYXJjaHlHcmFwaC9Ob2RlTGF5b3V0LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IENhcmRMYXlvdXQgZnJvbSAnLi4vLi4vV2lkZ2V0cy9Nb3N0UG9sbHV0aW5nL0ZhY3Rvcmllcy9GYWN0b3J5Qm94L0NhcmRMYXlvdXQnO1xuaW1wb3J0IE5vZGVJY29uIGZyb20gJy4vTm9kZUljb24nO1xuaW1wb3J0IHsgTWFwU3ZnIH0gZnJvbSAnLi4vLi4vYXNzZXRzL2ljb25zL1RvcE5hdmJhcic7XG5pbXBvcnQgeyBTdHlsZWRMaW5rIH0gZnJvbSAnc3JjL2NvbXBvbmVudHMvTGlua3MvU3R5bGVkTGluay9TdHlsZWRMaW5rJztcbmltcG9ydCB7IEFjdGlvbnNDb250YWluZXIsIE5vZGVQcm9wcyB9IGZyb20gJy4vdXRpbHMnO1xuaW1wb3J0IExlYWZTaWduIGZyb20gJy4vTGVhZlNpZ24nO1xuaW1wb3J0IHsgVHJhbnMgfSBmcm9tICdyZWFjdC1pMThuZXh0JztcbmltcG9ydCB7IE92ZXJsYXlUcmlnZ2VyLCBUb29sdGlwIH0gZnJvbSAncmVhY3QtYm9vdHN0cmFwJztcbmltcG9ydCB7IHRoZW1lIH0gZnJvbSAnLi4vLi4vc3R5bGVzL3RoZW1lL3RoZW1lJztcbmltcG9ydCB7IHNhbXBsZXJJY29uIH0gZnJvbSAnc3JjL3V0aWxpdGllcy9tYXAvaWNvbnMnO1xuaW1wb3J0ICcuL3N0eWxlLnNjc3MnO1xuaW1wb3J0IHsgU2V2ZXJpdHlCYWRnZSB9IGZyb20gJy4uLy4uL3BhZ2VzL0Rhc2hib2FyZE1hcC9TZXZlcml0eUJhZGdlJztcblxuY29uc3QgTm9kZUxheW91dCA9ICh7XG4gIG5vZGVEYXR1bSxcbiAgdG9nZ2xlTm9kZSxcbiAgc2VhcmNoVGVybSxcbiAgc2hvd1NhbXBsZXJzLFxuICBjaGlsZHJlbixcbiAgY29udGVudFN0eWxlLFxufTogTm9kZVByb3BzKSA9PiB7XG4gIGNvbnN0IGZhY3RvcnlUeXBlID0gbm9kZURhdHVtLmF0dHJpYnV0ZXM/LnR5cGUgfHwgJyc7XG4gIGNvbnN0IGlzTGVhZk5vZGUgPSAhbm9kZURhdHVtLmNoaWxkcmVuIHx8IG5vZGVEYXR1bS5jaGlsZHJlbi5sZW5ndGggPT09IDA7XG4gIGNvbnN0IGlzTW9uaXRvcmVkID0gbm9kZURhdHVtLmF0dHJpYnV0ZXM/Lm1vbml0b3JlZDtcbiAgY29uc3Qgc2NvcmUgPSBub2RlRGF0dW0uYXR0cmlidXRlcz8uc2NvcmUgPz8gLTE7XG4gIGNvbnN0IGJvcmRlckNvbG9yID0gdGhlbWUubmF0dXJhbC5uMzA7XG4gIGNvbnN0IGlzSGlnaGxpZ2h0ZWQgPVxuICAgICEhc2VhcmNoVGVybSAmJlxuICAgIChub2RlRGF0dW0ubmFtZT8udG9Mb3dlckNhc2UoKT8uaW5jbHVkZXMoc2VhcmNoVGVybS50b0xvd2VyQ2FzZSgpKSB8fFxuICAgICAgbm9kZURhdHVtPy5hdHRyaWJ1dGVzPy5hcmVhX25hbWVcbiAgICAgICAgPy50b0xvd2VyQ2FzZSgpXG4gICAgICAgID8uaW5jbHVkZXMoc2VhcmNoVGVybS50b0xvd2VyQ2FzZSgpKSk7XG4gIC8vIGNvbnN0IGlzRm9jdXNlZCA9IHNpdGVJRCA9PT0gbm9kZURhdHVtLmF0dHJpYnV0ZXM/LnBvaW50X2lkPy50b1N0cmluZygpO1xuXG4gIGNvbnN0IGNhcmRTdHlsZTogUmVhY3QuQ1NTUHJvcGVydGllcyA9IHtcbiAgICBib3JkZXJSYWRpdXM6ICc0cHgnLFxuICAgIGJvcmRlckNvbG9yOiBpc0hpZ2hsaWdodGVkID8gdGhlbWUuY29sb3JTY2hlbWUuc2Vjb25kYXJ5LnMxIDogYm9yZGVyQ29sb3IsXG4gICAgYm9yZGVyU3R5bGU6IGlzTW9uaXRvcmVkID8gJ3NvbGlkJyA6ICdkYXNoZWQnLFxuICAgIGJvcmRlcldpZHRoOiAnM3B4JyxcbiAgICBiYWNrZ3JvdW5kQ29sb3I6ICcjRkZGRkZGJyxcbiAgICBzdHJva2U6ICdub25lJyxcbiAgICBoZWlnaHQ6ICcxNzBweCcsXG4gIH07XG4gIGNvbnN0IHRpdGxlID1cbiAgICBmYWN0b3J5VHlwZSA9PT0gJ2FyZWEnXG4gICAgICA/IG5vZGVEYXR1bS5hdHRyaWJ1dGVzPy5hcmVhX25hbWUgfHwgbm9kZURhdHVtLm5hbWVcbiAgICAgIDogbm9kZURhdHVtLm5hbWU7XG4gIC8vIGNvbnN0IG9uU2hvd0RldGFpbHMgPSAoZXZlbnQpID0+IHtcbiAgLy8gICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgLy8gICBvbk5vZGVDbGljayhub2RlRGF0dW0pO1xuICAvLyB9O1xuICBjb25zdCBpc1Nob3dTYW1wbGVyID0gc2hvd1NhbXBsZXJzICYmIG5vZGVEYXR1bS5hdHRyaWJ1dGVzPy5oYXNfc2FtcGxlcjtcblxuICBpZiAoIW5vZGVEYXR1bS5uYW1lKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cbiAgcmV0dXJuIChcbiAgICA8ZyBvbkNsaWNrPXt0b2dnbGVOb2RlfSBzdHlsZT17eyBjdXJzb3I6ICdwb2ludGVyJyB9fT5cbiAgICAgIDxmb3JlaWduT2JqZWN0IHg9XCItMTAwXCIgeT1cIi0xMzdcIiB3aWR0aD1cIjIwMFwiIGhlaWdodD1cIjI1MFwiPlxuICAgICAgICB7bm9kZURhdHVtLmF0dHJpYnV0ZXM/LnBvaW50X2lkICYmIChcbiAgICAgICAgICA8QWN0aW9uc0NvbnRhaW5lcj5cbiAgICAgICAgICAgIHsvKntlYXJseUFkb3B0ZXIgJiYgKCovfVxuICAgICAgICAgICAgey8qICA8c3BhbiBzdHlsZT17eyBtYXJnaW5JbmxpbmVFbmQ6ICc4cHgnIH19PiovfVxuICAgICAgICAgICAgey8qICAgIDxPdmVybGF5VHJpZ2dlciovfVxuICAgICAgICAgICAgey8qICAgICAgb3ZlcmxheT17Ki99XG4gICAgICAgICAgICB7LyogICAgICAgIDxUb29sdGlwIGlkPXsnZGV0YWlscyd9IHBsYWNlbWVudD1cImF1dG9cIj4qL31cbiAgICAgICAgICAgIHsvKiAgICAgICAgICA8VHJhbnMqL31cbiAgICAgICAgICAgIHsvKiAgICAgICAgICAgIGkxOG5LZXk9eydncm91cF9zY3JlZW4uZ2VuZXJhbF90YWIuZ3JvdXBfZGV0YWlscyd9Ki99XG4gICAgICAgICAgICB7LyogICAgICAgICAgLz4qL31cbiAgICAgICAgICAgIHsvKiAgICAgICAgPC9Ub29sdGlwPiovfVxuICAgICAgICAgICAgey8qICAgICAgfSovfVxuICAgICAgICAgICAgey8qICAgID4qL31cbiAgICAgICAgICAgIHsvKiAgICAgIDxEZXRhaWxzU3ZnIG9uQ2xpY2s9e29uU2hvd0RldGFpbHN9IC8+Ki99XG4gICAgICAgICAgICB7LyogICAgPC9PdmVybGF5VHJpZ2dlcj4qL31cbiAgICAgICAgICAgIHsvKiAgPC9zcGFuPiovfVxuICAgICAgICAgICAgey8qKX0qL31cbiAgICAgICAgICAgIDxTdHlsZWRMaW5rXG4gICAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgc3Ryb2tlOiBib3JkZXJDb2xvcixcbiAgICAgICAgICAgICAgICBzdHJva2VXaWR0aDogMSxcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAnd2hpdGUnLFxuICAgICAgICAgICAgICAgIG1hcmdpbklubGluZVN0YXJ0OiA2NCxcbiAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgdGFyZ2V0PVwiX2JsYW5rXCJcbiAgICAgICAgICAgICAgdXBkYXRlUGFyYW1zPXt7IHZpZXc6ICdtYXAnIH19XG4gICAgICAgICAgICAgIHRvPXtgL2Rhc2hib2FyZF92Mi9zaXRlLyR7bm9kZURhdHVtLmF0dHJpYnV0ZXMucG9pbnRfaWR9YH1cbiAgICAgICAgICAgICAgb25DbGljaz17KGUpID0+IGUuc3RvcFByb3BhZ2F0aW9uKCl9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxPdmVybGF5VHJpZ2dlclxuICAgICAgICAgICAgICAgIG92ZXJsYXk9e1xuICAgICAgICAgICAgICAgICAgPFRvb2x0aXAgaWQ9XCJtYXBcIiBwbGFjZW1lbnQ9XCJhdXRvXCI+XG4gICAgICAgICAgICAgICAgICAgIDxUcmFucyBpMThuS2V5PXsnaGVhZGVyLm1hcCd9IC8+XG4gICAgICAgICAgICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPE1hcFN2ZyBzdHlsZT17eyB3aWR0aDogNTUsIGhlaWdodDogNTUgfX0gLz5cbiAgICAgICAgICAgICAgPC9PdmVybGF5VHJpZ2dlcj5cbiAgICAgICAgICAgIDwvU3R5bGVkTGluaz5cbiAgICAgICAgICAgIHtpc1Nob3dTYW1wbGVyICYmIChcbiAgICAgICAgICAgICAgPE92ZXJsYXlUcmlnZ2VyXG4gICAgICAgICAgICAgICAgb3ZlcmxheT17XG4gICAgICAgICAgICAgICAgICA8VG9vbHRpcCBpZD1cInNhbXBsZXJcIiBwbGFjZW1lbnQ9XCJhdXRvXCI+XG4gICAgICAgICAgICAgICAgICAgIDxUcmFuc1xuICAgICAgICAgICAgICAgICAgICAgIGkxOG5LZXk9e1xuICAgICAgICAgICAgICAgICAgICAgICAgJ2Rhc2hib2FyZF92Mi51dGlsaXR5X2Rhc2hib2FyZC5oaWVyYXJjaHkuc2FtcGxlcidcbiAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPXsnc2FtcGxlci1pY29uLWhvbGRlcid9PlxuICAgICAgICAgICAgICAgICAgPGltZ1xuICAgICAgICAgICAgICAgICAgICBzcmM9e3NhbXBsZXJJY29uKCl9XG4gICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cInNhbXBsZXItaWNvblwiXG4gICAgICAgICAgICAgICAgICAgIGFsdD17J3NhbXBsZXInfVxuICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgIDwvT3ZlcmxheVRyaWdnZXI+XG4gICAgICAgICAgICApfVxuICAgICAgICAgIDwvQWN0aW9uc0NvbnRhaW5lcj5cbiAgICAgICAgKX1cbiAgICAgICAgPENhcmRMYXlvdXRcbiAgICAgICAgICB0aXRsZT17dGl0bGV9XG4gICAgICAgICAgc3R5bGU9e2NhcmRTdHlsZX1cbiAgICAgICAgICBoZWFkZXJSaWdodD17PE5vZGVJY29uIHR5cGU9e2ZhY3RvcnlUeXBlfSAvPn1cbiAgICAgICAgPlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXsnbm9kZS1jb250ZW50J30gc3R5bGU9e2NvbnRlbnRTdHlsZX0+XG4gICAgICAgICAgICB7bm9kZURhdHVtLmF0dHJpYnV0ZXMgJiYgKFxuICAgICAgICAgICAgICA8U2V2ZXJpdHlCYWRnZVxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17J3Njb3JlJ31cbiAgICAgICAgICAgICAgICBwcm9wcz17eyBwcm9wczogeyBzY29yZSwgaGFzX2RldmljZTogaXNNb25pdG9yZWQgfSB9fVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9DYXJkTGF5b3V0PlxuICAgICAgPC9mb3JlaWduT2JqZWN0PlxuICAgICAge2lzTGVhZk5vZGUgJiYgPExlYWZTaWduIGNvbG9yPXtib3JkZXJDb2xvcn0gLz59XG4gICAgPC9nPlxuICApO1xufTtcbmV4cG9ydCBkZWZhdWx0IE5vZGVMYXlvdXQ7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQSxJQUFBQSxNQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxXQUFBLEdBQUFGLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBRSxTQUFBLEdBQUFILHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBRyxVQUFBLEdBQUFILE9BQUE7QUFDQSxJQUFBSSxXQUFBLEdBQUFKLE9BQUE7QUFDQSxJQUFBSyxNQUFBLEdBQUFMLE9BQUE7QUFDQSxJQUFBTSxTQUFBLEdBQUFQLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBTyxhQUFBLEdBQUFQLE9BQUE7QUFDQSxJQUFBUSxlQUFBLEdBQUFSLE9BQUE7QUFDQSxJQUFBUyxNQUFBLEdBQUFULE9BQUE7QUFDQSxJQUFBVSxNQUFBLEdBQUFWLE9BQUE7QUFDQUEsT0FBQTtBQUNBLElBQUFXLGNBQUEsR0FBQVgsT0FBQTtBQUVBLElBQU1ZLFVBQVUsR0FBRyxTQUFiQSxVQUFVQSxDQUFBQyxJQUFBLEVBT0M7RUFBQSxJQUFBQyxxQkFBQSxFQUFBQyxzQkFBQSxFQUFBQyxzQkFBQSxFQUFBQyxzQkFBQSxFQUFBQyxlQUFBLEVBQUFDLHFCQUFBLEVBQUFDLHNCQUFBLEVBQUFDLHNCQUFBLEVBQUFDLHNCQUFBLEVBQUFDLHNCQUFBLEVBQUFDLHNCQUFBLEVBQUFDLHVCQUFBO0VBQUEsSUFOZkMsU0FBUyxHQUFBYixJQUFBLENBQVRhLFNBQVM7SUFDVEMsVUFB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
@@ -0,0 +1,12 @@
1
+ .sampler-icon-holder {
2
+ margin-inline-start: 33px;
3
+ .sampler-icon {
4
+ width: 45px;
5
+ position: static;
6
+ margin-bottom: -30px;
7
+ }
8
+ }
9
+ .score {
10
+ height: auto !important;
11
+ margin-top: 25px;
12
+ }
@@ -96,6 +96,6 @@ function mapById(items) {
96
96
  var ActionsContainer = _styledComponents.default.div.withConfig({
97
97
  displayName: "utils__ActionsContainer",
98
98
  componentId: "sc-21qmj9-0"
99
- })(["{text-align:center;}"]);
99
+ })(["{}"]);
100
100
  exports.ActionsContainer = ActionsContainer;
101
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJidWlsZFRyZWUiLCJjb25uZWN0aW9ucyIsInBvaW50X2RhdGEiLCJ1dGlsaXR5X25hbWUiLCJub2RlcyIsImNoaWxkcmVuIiwiU2V0IiwiX2l0ZXJhdG9yIiwiX2NyZWF0ZUZvck9mSXRlcmF0b3JIZWxwZXIyIiwiZGVmYXVsdCIsIl9zdGVwIiwicyIsIm4iLCJkb25lIiwiX3N0ZXAkdmFsdWUiLCJ2YWx1ZSIsInNvdXJjZV9wb2ludF9pZCIsInRhcmdldF9wb2ludF9pZCIsImRpc3RhbmNlIiwiX3JlZiIsIm5hbWUiLCJzb3VyY2VEYXRhIiwiX29iamVjdFdpdGhvdXRQcm9wZXJ0aWVzMiIsIl9leGNsdWRlZCIsInRhcmdldF9kYXRhIiwiYXR0cmlidXRlcyIsIl9vYmplY3RTcHJlYWQyIiwicG9pbnRfaWQiLCJwdXNoIiwiYWRkIiwiZXJyIiwiZSIsImYiLCJyb290cyIsIk9iamVjdCIsImtleXMiLCJmaWx0ZXIiLCJpZCIsImhhcyIsIk51bWJlciIsIm1hcCIsImxlbmd0aCIsIm1hcEJ5SWQiLCJpdGVtcyIsInJlZHVjZSIsImFjYyIsIl9yZWYyIiwiaGFzX2RldmljZSIsImdyb3VwIiwiYXJlYV9uYW1lIiwicHJvcHMiLCJfZXhjbHVkZWQyIiwibW9uaXRvcmVkIiwidHlwZSIsIkFjdGlvbnNDb250YWluZXIiLCJzdHlsZWQiLCJkaXYiLCJ3aXRoQ29uZmlnIiwiZGlzcGxheU5hbWUiLCJjb21wb25lbnRJZCIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdWkta2l0L0hpZXJhcmNoeUdyYXBoL3V0aWxzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElQb2ludCB9IGZyb20gJy4uLy4uL3N0b3JlL3BvaW50cy9tb2RlbHMvSVBvaW50JztcbmltcG9ydCBzdHlsZWQgZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMvbWFjcm8nO1xuaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcblxuLyoqXG4gKiBDb252ZXJ0IGVkZ2VzIHRvIHJvd3Mgc3VpdGFibGUgZm9yIGQzLnN0cmF0aWZ5KClcbiAqIFJldHVybnMgYW4gYXJyYXkgb2YgeyBpZCwgcGFyZW50SWQsIGRpc3RhbmNlPywgc2hhcGVfZGF0YT8gfVxuICogSWYgbXVsdGlwbGUgcm9vdHMgZXhpc3QsIHlvdSBjYW4gb3B0aW9uYWxseSBhZGQgYSBzdXBlciByb290IHJvdy5cbiAqL1xudHlwZSBFZGdlID0ge1xuICBzb3VyY2VfcG9pbnRfaWQ6IG51bWJlciB8IHN0cmluZztcbiAgdGFyZ2V0X3BvaW50X2lkOiBudW1iZXIgfCBzdHJpbmc7XG4gIGRpc3RhbmNlPzogbnVtYmVyO1xufTtcbnR5cGUgVHJlZU5vZGUgPSB7XG4gIG5hbWU6IHN0cmluZztcbiAgY2hpbGRyZW4/OiBUcmVlTm9kZVtdO1xuICBhdHRyaWJ1dGVzPzogeyBkaXN0YW5jZTogbnVtYmVyOyB0eXBlOiBzdHJpbmc7IG1vbml0b3JlZDogYm9vbGVhbiB9O1xufTtcbnR5cGUgVHJlZURhdGEgPSBUcmVlTm9kZSB8IHsgbmFtZTogc3RyaW5nOyBjaGlsZHJlbjogVHJlZU5vZGVbXSB9O1xuXG5leHBvcnQgZnVuY3Rpb24gYnVpbGRUcmVlKFxuICBjb25uZWN0aW9uczogRWRnZVtdLFxuICBwb2ludF9kYXRhLFxuICB1dGlsaXR5X25hbWUsXG4pOiBUcmVlRGF0YSB7XG4gIGNvbnN0IG5vZGVzID0ge307XG4gIGNvbnN0IGNoaWxkcmVuID0gbmV3IFNldCgpO1xuXG4gIC8vIEJ1aWxkIG1hcCBvZiBub2RlcyBhbmQgdHJhY2sgY2hpbGRyZW5cbiAgZm9yIChjb25zdCB7IHNvdXJjZV9wb2ludF9pZCwgdGFyZ2V0X3BvaW50X2lkLCBkaXN0YW5jZSB9IG9mIGNvbm5lY3Rpb25zKSB7XG4gICAgY29uc3QgeyBuYW1lLCAuLi5zb3VyY2VEYXRhIH0gPSBwb2ludF9kYXRhW3NvdXJjZV9wb2ludF9pZF0gfHwge307XG4gICAgaWYgKCFub2Rlc1tzb3VyY2VfcG9pbnRfaWRdKVxuICAgICAgbm9kZXNbc291cmNlX3BvaW50X2lkXSA9IHtcbiAgICAgICAgbmFtZSxcbiAgICAgICAgY2hpbGRyZW46IFtdLFxuICAgICAgfTtcbiAgICBpZiAoIW5vZGVzW3RhcmdldF9wb2ludF9pZF0pIHtcbiAgICAgIGNvbnN0IHRhcmdldF9kYXRhID0gcG9pbnRfZGF0YVt0YXJnZXRfcG9pbnRfaWRdIHx8IHt9O1xuICAgICAgbm9kZXNbdGFyZ2V0X3BvaW50X2lkXSA9IHtcbiAgICAgICAgbmFtZTogdGFyZ2V0X2RhdGEubmFtZSxcbiAgICAgICAgYXR0cmlidXRlczoge1xuICAgICAgICAgIC4uLnRhcmdldF9kYXRhLFxuICAgICAgICAgIHBvaW50X2lkOiB0YXJnZXRfcG9pbnRfaWQsXG4gICAgICAgIH0sXG4gICAgICAgIGNoaWxkcmVuOiBbXSxcbiAgICAgIH07XG4gICAgfVxuICAgIG5vZGVzW3RhcmdldF9wb2ludF9pZF0uY2hpbGRyZW4ucHVzaChub2Rlc1tzb3VyY2VfcG9pbnRfaWRdKTtcbiAgICBjaGlsZHJlbi5hZGQoc291cmNlX3BvaW50X2lkKTtcbiAgICBub2Rlc1tzb3VyY2VfcG9pbnRfaWRdLmF0dHJpYnV0ZXMgPSB7XG4gICAgICBkaXN0YW5jZSxcbiAgICAgIC4uLnNvdXJjZURhdGEsXG4gICAgICBwb2ludF9pZDogc291cmNlX3BvaW50X2lkLFxuICAgIH07XG4gIH1cblxuICAvLyBGaW5kIHJvb3QocylcbiAgY29uc3Qgcm9vdHMgPSBPYmplY3Qua2V5cyhub2RlcylcbiAgICAuZmlsdGVyKChpZCkgPT4gIWNoaWxkcmVuLmhhcyhOdW1iZXIoaWQpKSlcbiAgICAubWFwKChpZCkgPT4gbm9kZXNbaWRdKTtcblxuICAvLyBJZiBtdWx0aXBsZSByb290cyBleGlzdCwgd3JhcCBpbiBhIHN1cGVyIHJvb3RcbiAgcmV0dXJuIHJvb3RzLmxlbmd0aCA9PT0gMVxuICAgID8gcm9vdHNbMF1cbiAgICA6IHsgbmFtZTogdXRpbGl0eV9uYW1lLCBjaGlsZHJlbjogcm9vdHMgfTtcbn1cbnR5cGUgUG9pbnREYXRhID0ge1xuICBuYW1lOiBzdHJpbmc7XG4gIG1vbml0b3JlZDogYm9vbGVhbjtcbiAgdHlwZTogc3RyaW5nO1xuICBhcmVhX25hbWU/OiBzdHJpbmc7XG4gIHNjb3JlPzogbnVtYmVyO1xuICBwb2xsdXRpb24/OiBhbnk7XG59O1xuZXhwb3J0IGZ1bmN0aW9uIG1hcEJ5SWQoaXRlbXM6IElQb2ludFtdKTogUmVjb3JkPHN0cmluZyB8IG51bWJlciwgUG9pbnREYXRhPiB7XG4gIHJldHVybiBpdGVtcy5yZWR1Y2UoXG4gICAgKGFjYywgeyBpZCwgbmFtZSwgaGFzX2RldmljZSwgZ3JvdXAsIGFyZWFfbmFtZSwgLi4ucHJvcHMgfSkgPT4ge1xuICAgICAgYWNjW2lkXSA9IHtcbiAgICAgICAgLi4ucHJvcHMsXG4gICAgICAgIG5hbWUsXG4gICAgICAgIG1vbml0b3JlZDogaGFzX2RldmljZSxcbiAgICAgICAgdHlwZTogYXJlYV9uYW1lID8gJ2FyZWEnIDogZ3JvdXAudHlwZSxcbiAgICAgICAgYXJlYV9uYW1lLFxuICAgICAgfTtcbiAgICAgIHJldHVybiBhY2M7XG4gICAgfSxcbiAgICB7fSBhcyBSZWNvcmQ8c3RyaW5nIHwgbnVtYmVyLCBQb2ludERhdGE+LFxuICApO1xufVxuXG5leHBvcnQgdHlwZSBOb2RlUHJvcHMgPSB7XG4gIG5vZGVEYXR1bToge1xuICAgIG5hbWU6IHN0cmluZztcbiAgICBhdHRyaWJ1dGVzPzoge1xuICAgICAgc2NvcmU/OiBudW1iZXI7XG4gICAgICB0eXBlPzogc3RyaW5nO1xuICAgICAgcG9pbnRfaWQ/OiBudW1iZXIgfCBzdHJpbmc7XG4gICAgICBhcmVhX25hbWU/OiBzdHJpbmc7XG4gICAgICBtb25pdG9yZWQ/OiBib29sZWFuO1xuICAgICAgcG9sbHV0aW9uPzogYW55O1xuICAgIH07XG4gICAgY2hpbGRyZW4/OiBhbnlbXTtcbiAgfTtcbiAgY2hpbGRyZW4/OiBSZWFjdC5SZWFjdE5vZGU7XG4gIHNlYXJjaFRlcm0/OiBzdHJpbmc7XG4gIHRvZ2dsZU5vZGU6ICgpID0+IHZvaWQ7XG4gIG9uTm9kZUNsaWNrOiAobm9kZURhdGE6IGFueSkgPT4gdm9pZDtcbiAgY29udGVudFN0eWxlPzogUmVhY3QuQ1NTUHJvcGVydGllcztcbiAgZWFybHlBZG9wdGVyPzogYm9vbGVhbjtcbn07XG5leHBvcnQgdHlwZSBOb2RlVHlwZSA9ICdwaWUnIHwgJ2JhcicgfCAnbWl4ZWQnIHwgJ211bHRpX2Jhcic7XG5leHBvcnQgY29uc3QgQWN0aW9uc0NvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gICB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG5gO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7QUFJQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQWFPLFNBQVNBLFNBQVNBLENBQ3ZCQyxXQUFtQixFQUNuQkMsVUFBVSxFQUNWQyxZQUFZLEVBQ0Y7RUFDVixJQUFNQyxLQUFLLEdBQUcsQ0FBQyxDQUFDO0VBQ2hCLElBQU1DLFFBQVEsR0FBRyxJQUFJQyxHQUFHLENBQUMsQ0FBQzs7RUFFMUI7RUFBQSxJQUFBQyxTQUFBLE9BQUFDLDJCQUFBLENBQUFDLE9BQUEsRUFDNkRSLFdBQVc7SUFBQVMsS0FBQTtFQUFBO0lBQXhFLEtBQUFILFNBQUEsQ0FBQUksQ0FBQSxNQUFBRCxLQUFBLEdBQUFILFNBQUEsQ0FBQUssQ0FBQSxJQUFBQyxJQUFBLEdBQTBFO01BQUEsSUFBQUMsV0FBQSxHQUFBSixLQUFBLENBQUFLLEtBQUE7UUFBN0RDLGVBQWUsR0FBQUYsV0FBQSxDQUFmRSxlQUFlO1FBQUVDLGVBQWUsR0FBQUgsV0FBQSxDQUFmRyxlQUFlO1FBQUVDLFFBQVEsR0FBQUosV0FBQSxDQUFSSSxRQUFRO01BQ3JELElBQUFDLElBQUEsR0FBZ0NqQixVQUFVLENBQUNjLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUF6REksSUFBSSxHQUFBRCxJQUFBLENBQUpDLElBQUk7UUFBS0MsVUFBVSxPQUFBQyx5QkFBQSxDQUFBYixPQUFBLEVBQUFVLElBQUEsRUFBQUksU0FBQTtNQUMz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
101
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJidWlsZFRyZWUiLCJjb25uZWN0aW9ucyIsInBvaW50X2RhdGEiLCJ1dGlsaXR5X25hbWUiLCJub2RlcyIsImNoaWxkcmVuIiwiU2V0IiwiX2l0ZXJhdG9yIiwiX2NyZWF0ZUZvck9mSXRlcmF0b3JIZWxwZXIyIiwiZGVmYXVsdCIsIl9zdGVwIiwicyIsIm4iLCJkb25lIiwiX3N0ZXAkdmFsdWUiLCJ2YWx1ZSIsInNvdXJjZV9wb2ludF9pZCIsInRhcmdldF9wb2ludF9pZCIsImRpc3RhbmNlIiwiX3JlZiIsIm5hbWUiLCJzb3VyY2VEYXRhIiwiX29iamVjdFdpdGhvdXRQcm9wZXJ0aWVzMiIsIl9leGNsdWRlZCIsInRhcmdldF9kYXRhIiwiYXR0cmlidXRlcyIsIl9vYmplY3RTcHJlYWQyIiwicG9pbnRfaWQiLCJwdXNoIiwiYWRkIiwiZXJyIiwiZSIsImYiLCJyb290cyIsIk9iamVjdCIsImtleXMiLCJmaWx0ZXIiLCJpZCIsImhhcyIsIk51bWJlciIsIm1hcCIsImxlbmd0aCIsIm1hcEJ5SWQiLCJpdGVtcyIsInJlZHVjZSIsImFjYyIsIl9yZWYyIiwiaGFzX2RldmljZSIsImdyb3VwIiwiYXJlYV9uYW1lIiwicHJvcHMiLCJfZXhjbHVkZWQyIiwibW9uaXRvcmVkIiwidHlwZSIsIkFjdGlvbnNDb250YWluZXIiLCJzdHlsZWQiLCJkaXYiLCJ3aXRoQ29uZmlnIiwiZGlzcGxheU5hbWUiLCJjb21wb25lbnRJZCIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdWkta2l0L0hpZXJhcmNoeUdyYXBoL3V0aWxzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElQb2ludCB9IGZyb20gJy4uLy4uL3N0b3JlL3BvaW50cy9tb2RlbHMvSVBvaW50JztcbmltcG9ydCBzdHlsZWQgZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMvbWFjcm8nO1xuaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcblxuLyoqXG4gKiBDb252ZXJ0IGVkZ2VzIHRvIHJvd3Mgc3VpdGFibGUgZm9yIGQzLnN0cmF0aWZ5KClcbiAqIFJldHVybnMgYW4gYXJyYXkgb2YgeyBpZCwgcGFyZW50SWQsIGRpc3RhbmNlPywgc2hhcGVfZGF0YT8gfVxuICogSWYgbXVsdGlwbGUgcm9vdHMgZXhpc3QsIHlvdSBjYW4gb3B0aW9uYWxseSBhZGQgYSBzdXBlciByb290IHJvdy5cbiAqL1xudHlwZSBFZGdlID0ge1xuICBzb3VyY2VfcG9pbnRfaWQ6IG51bWJlciB8IHN0cmluZztcbiAgdGFyZ2V0X3BvaW50X2lkOiBudW1iZXIgfCBzdHJpbmc7XG4gIGRpc3RhbmNlPzogbnVtYmVyO1xufTtcbnR5cGUgVHJlZU5vZGUgPSB7XG4gIG5hbWU6IHN0cmluZztcbiAgY2hpbGRyZW4/OiBUcmVlTm9kZVtdO1xuICBhdHRyaWJ1dGVzPzogeyBkaXN0YW5jZTogbnVtYmVyOyB0eXBlOiBzdHJpbmc7IG1vbml0b3JlZDogYm9vbGVhbiB9O1xufTtcbmV4cG9ydCB0eXBlIFRyZWVEYXRhID0gVHJlZU5vZGUgfCB7IG5hbWU6IHN0cmluZzsgY2hpbGRyZW46IFRyZWVOb2RlW10gfTtcblxuZXhwb3J0IGZ1bmN0aW9uIGJ1aWxkVHJlZShcbiAgY29ubmVjdGlvbnM6IEVkZ2VbXSxcbiAgcG9pbnRfZGF0YSxcbiAgdXRpbGl0eV9uYW1lLFxuKTogVHJlZURhdGEge1xuICBjb25zdCBub2RlcyA9IHt9O1xuICBjb25zdCBjaGlsZHJlbiA9IG5ldyBTZXQoKTtcblxuICAvLyBCdWlsZCBtYXAgb2Ygbm9kZXMgYW5kIHRyYWNrIGNoaWxkcmVuXG4gIGZvciAoY29uc3QgeyBzb3VyY2VfcG9pbnRfaWQsIHRhcmdldF9wb2ludF9pZCwgZGlzdGFuY2UgfSBvZiBjb25uZWN0aW9ucykge1xuICAgIGNvbnN0IHsgbmFtZSwgLi4uc291cmNlRGF0YSB9ID0gcG9pbnRfZGF0YVtzb3VyY2VfcG9pbnRfaWRdIHx8IHt9O1xuICAgIGlmICghbm9kZXNbc291cmNlX3BvaW50X2lkXSlcbiAgICAgIG5vZGVzW3NvdXJjZV9wb2ludF9pZF0gPSB7XG4gICAgICAgIG5hbWUsXG4gICAgICAgIGNoaWxkcmVuOiBbXSxcbiAgICAgIH07XG4gICAgaWYgKCFub2Rlc1t0YXJnZXRfcG9pbnRfaWRdKSB7XG4gICAgICBjb25zdCB0YXJnZXRfZGF0YSA9IHBvaW50X2RhdGFbdGFyZ2V0X3BvaW50X2lkXSB8fCB7fTtcbiAgICAgIG5vZGVzW3RhcmdldF9wb2ludF9pZF0gPSB7XG4gICAgICAgIG5hbWU6IHRhcmdldF9kYXRhLm5hbWUsXG4gICAgICAgIGF0dHJpYnV0ZXM6IHtcbiAgICAgICAgICAuLi50YXJnZXRfZGF0YSxcbiAgICAgICAgICBwb2ludF9pZDogdGFyZ2V0X3BvaW50X2lkLFxuICAgICAgICB9LFxuICAgICAgICBjaGlsZHJlbjogW10sXG4gICAgICB9O1xuICAgIH1cbiAgICBub2Rlc1t0YXJnZXRfcG9pbnRfaWRdLmNoaWxkcmVuLnB1c2gobm9kZXNbc291cmNlX3BvaW50X2lkXSk7XG4gICAgY2hpbGRyZW4uYWRkKHNvdXJjZV9wb2ludF9pZCk7XG4gICAgbm9kZXNbc291cmNlX3BvaW50X2lkXS5hdHRyaWJ1dGVzID0ge1xuICAgICAgZGlzdGFuY2UsXG4gICAgICAuLi5zb3VyY2VEYXRhLFxuICAgICAgcG9pbnRfaWQ6IHNvdXJjZV9wb2ludF9pZCxcbiAgICB9O1xuICB9XG5cbiAgLy8gRmluZCByb290KHMpXG4gIGNvbnN0IHJvb3RzID0gT2JqZWN0LmtleXMobm9kZXMpXG4gICAgLmZpbHRlcigoaWQpID0+ICFjaGlsZHJlbi5oYXMoTnVtYmVyKGlkKSkpXG4gICAgLm1hcCgoaWQpID0+IG5vZGVzW2lkXSk7XG5cbiAgLy8gSWYgbXVsdGlwbGUgcm9vdHMgZXhpc3QsIHdyYXAgaW4gYSBzdXBlciByb290XG4gIHJldHVybiByb290cy5sZW5ndGggPT09IDFcbiAgICA/IHJvb3RzWzBdXG4gICAgOiB7IG5hbWU6IHV0aWxpdHlfbmFtZSwgY2hpbGRyZW46IHJvb3RzIH07XG59XG50eXBlIFBvaW50RGF0YSA9IHtcbiAgbmFtZTogc3RyaW5nO1xuICBtb25pdG9yZWQ6IGJvb2xlYW47XG4gIHR5cGU6IHN0cmluZztcbiAgYXJlYV9uYW1lPzogc3RyaW5nO1xuICBzY29yZT86IG51bWJlcjtcbiAgcG9sbHV0aW9uPzogYW55O1xufTtcbmV4cG9ydCBmdW5jdGlvbiBtYXBCeUlkKGl0ZW1zOiBJUG9pbnRbXSk6IFJlY29yZDxzdHJpbmcgfCBudW1iZXIsIFBvaW50RGF0YT4ge1xuICByZXR1cm4gaXRlbXMucmVkdWNlKFxuICAgIChhY2MsIHsgaWQsIG5hbWUsIGhhc19kZXZpY2UsIGdyb3VwLCBhcmVhX25hbWUsIC4uLnByb3BzIH0pID0+IHtcbiAgICAgIGFjY1tpZF0gPSB7XG4gICAgICAgIC4uLnByb3BzLFxuICAgICAgICBuYW1lLFxuICAgICAgICBtb25pdG9yZWQ6IGhhc19kZXZpY2UsXG4gICAgICAgIHR5cGU6IGFyZWFfbmFtZSA/ICdhcmVhJyA6IGdyb3VwLnR5cGUsXG4gICAgICAgIGFyZWFfbmFtZSxcbiAgICAgIH07XG4gICAgICByZXR1cm4gYWNjO1xuICAgIH0sXG4gICAge30gYXMgUmVjb3JkPHN0cmluZyB8IG51bWJlciwgUG9pbnREYXRhPixcbiAgKTtcbn1cblxuZXhwb3J0IHR5cGUgTm9kZVByb3BzID0ge1xuICBub2RlRGF0dW06IHtcbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgYXR0cmlidXRlcz86IHtcbiAgICAgIHNjb3JlPzogbnVtYmVyO1xuICAgICAgdHlwZT86IHN0cmluZztcbiAgICAgIHBvaW50X2lkPzogbnVtYmVyIHwgc3RyaW5nO1xuICAgICAgYXJlYV9uYW1lPzogc3RyaW5nO1xuICAgICAgbW9uaXRvcmVkPzogYm9vbGVhbjtcbiAgICAgIHBvbGx1dGlvbj86IGFueTtcbiAgICB9O1xuICAgIGNoaWxkcmVuPzogYW55W107XG4gIH07XG4gIGNoaWxkcmVuPzogUmVhY3QuUmVhY3ROb2RlO1xuICBzZWFyY2hUZXJtPzogc3RyaW5nO1xuICB0b2dnbGVOb2RlOiAoKSA9PiB2b2lkO1xuICBvbk5vZGVDbGljazogKG5vZGVEYXRhOiBhbnkpID0+IHZvaWQ7XG4gIGNvbnRlbnRTdHlsZT86IFJlYWN0LkNTU1Byb3BlcnRpZXM7XG4gIGVhcmx5QWRvcHRlcj86IGJvb2xlYW47XG4gIHNob3dTYW1wbGVycz86IGJvb2xlYW47XG59O1xuZXhwb3J0IHR5cGUgTm9kZVR5cGUgPSAncGllJyB8ICdiYXInIHwgJ21peGVkJyB8ICdtdWx0aV9iYXInO1xuZXhwb3J0IGNvbnN0IEFjdGlvbnNDb250YWluZXIgPSBzdHlsZWQuZGl2YFxuICAge1xuICAgIC8vdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG5gO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7QUFJQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQWFPLFNBQVNBLFNBQVNBLENBQ3ZCQyxXQUFtQixFQUNuQkMsVUFBVSxFQUNWQyxZQUFZLEVBQ0Y7RUFDVixJQUFNQyxLQUFLLEdBQUcsQ0FBQyxDQUFDO0VBQ2hCLElBQU1DLFFBQVEsR0FBRyxJQUFJQyxHQUFHLENBQUMsQ0FBQzs7RUFFMUI7RUFBQSxJQUFBQyxTQUFBLE9BQUFDLDJCQUFBLENBQUFDLE9BQUEsRUFDNkRSLFdBQVc7SUFBQVMsS0FBQTtFQUFBO0lBQXhFLEtBQUFILFNBQUEsQ0FBQUksQ0FBQSxNQUFBRCxLQUFBLEdBQUFILFNBQUEsQ0FBQUssQ0FBQSxJQUFBQyxJQUFBLEdBQTBFO01BQUEsSUFBQUMsV0FBQSxHQUFBSixLQUFBLENBQUFLLEtBQUE7UUFBN0RDLGVBQWUsR0FBQUYsV0FBQSxDQUFmRSxlQUFlO1FBQUVDLGVBQWUsR0FBQUgsV0FBQSxDQUFmRyxlQUFlO1FBQUVDLFFBQVEsR0FBQUosV0FBQSxDQUFSSSxRQUFRO01BQ3JELElBQUFDLElBQUEsR0FBZ0NqQixVQUFVLENBQUNjLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUF6REksSUFBSSxHQUFBRCxJQUFBLENBQUpDLElBQUk7UUFBS0MsVUFBVSxPQUFBQyx5QkFBQSxD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