@kando-env/kando-ui 1.2.55-alpha.8 → 1.2.55
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/Router.js +3 -3
- package/lib/Widgets/Map/edges/Edge.js +1 -1
- package/lib/i18n/en.json +1 -2
- package/lib/i18n/he.json +0 -2
- package/lib/macros/getVersion.js +2 -2
- package/lib/pages/SamplingsPage/NewSamplingAction.js +2 -2
- package/lib/pages/SamplingsPage/SamplingActionDropdown.js +24 -19
- package/lib/pages/SamplingsPage/SamplingMobileModal.js +51 -79
- package/lib/pages/SamplingsPage/SamplingProperties/ImageUpload.js +2 -2
- package/lib/pages/SamplingsPage/SamplingProperties/SamplingMobileProperties.js +200 -0
- package/lib/pages/SamplingsPage/SamplingProperties/SamplingPropertiesForm.js +250 -114
- package/lib/pages/SamplingsPage/SamplingProperties/bootstrap.overrides.scss +7 -0
- package/lib/pages/SamplingsPage/SamplingProperties/samplingPropertiesUtils.js +10 -14
- package/lib/pages/SamplingsPage/SamplingsMobileItem.js +17 -10
- package/lib/pages/SamplingsPage/SamplingsPage.js +2 -18
- package/lib/pages/SamplingsPage/samplingsPageUtils.js +4 -18
- package/lib/pages/SamplingsPage/style.module.scss +2 -37
- package/lib/pages/SamplingsPage/table.styles.scss +0 -1
- package/lib/pages/UtilityDashboardPage/UtilityDashboardMapContainer/UtilityDashboardMapContainer.js +3 -4
- package/lib/ui-kit/DropDown/DropDown.js +4 -2
- package/lib/ui-kit/ImageUploadButton/ImageUploadButton.js +1 -1
- package/lib/ui-kit/KandoTable/KandoTable.js +6 -10
- package/lib/ui-kit/MobileInput/MobileInput.js +4 -4
- package/lib/ui-kit/SamplingStatus/SamplingStatus.js +5 -11
- package/package.json +1 -1
- package/lib/hooks/useUserTimeZone.js +0 -36
- package/lib/pages/SamplingsPage/SamplingProperties/SamplingProperties.js +0 -317
- package/lib/pages/SamplingsPage/SamplingProperties/SamplingPropertiesHead.js +0 -198
- package/lib/pages/SamplingsPage/SamplingProperties/SamplingPropertiesHeadMobile.js +0 -198
- package/lib/pages/SamplingsPage/SamplingProperties/style.module.scss +0 -82
- package/lib/ui-kit/KandoTable/style.module.scss +0 -5
|
@@ -0,0 +1,200 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
6
|
+
|
|
7
|
+
Object.defineProperty(exports, "__esModule", {
|
|
8
|
+
value: true
|
|
9
|
+
});
|
|
10
|
+
exports.SamplingMobileProperties = void 0;
|
|
11
|
+
|
|
12
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/slicedToArray"));
|
|
13
|
+
|
|
14
|
+
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
15
|
+
|
|
16
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
17
|
+
|
|
18
|
+
var _axios = _interopRequireDefault(require("axios"));
|
|
19
|
+
|
|
20
|
+
var _moment = _interopRequireDefault(require("moment"));
|
|
21
|
+
|
|
22
|
+
var _reactBootstrap = require("react-bootstrap");
|
|
23
|
+
|
|
24
|
+
var _reactDeviceDetect = require("react-device-detect");
|
|
25
|
+
|
|
26
|
+
var _reactRouterDom = require("react-router-dom");
|
|
27
|
+
|
|
28
|
+
var _Layout = _interopRequireDefault(require("ui-kit/Layout/Layout"));
|
|
29
|
+
|
|
30
|
+
var _samplingPropertiesPhone = _interopRequireDefault(require("assets/icons/sampling-properties-phone.svg"));
|
|
31
|
+
|
|
32
|
+
var _i18n = _interopRequireDefault(require("utilities/i18n"));
|
|
33
|
+
|
|
34
|
+
var _useQueryURL = _interopRequireDefault(require("hooks/useQueryURL"));
|
|
35
|
+
|
|
36
|
+
var _imageMissing = require("@svgr/webpack?-svgo!assets/image-missing.svg");
|
|
37
|
+
|
|
38
|
+
var _Spinner = require("components/Spinner/Spinner");
|
|
39
|
+
|
|
40
|
+
var _urls = require("utilities/urls");
|
|
41
|
+
|
|
42
|
+
var _styleModule = _interopRequireDefault(require("../style.module.scss"));
|
|
43
|
+
|
|
44
|
+
var _SamplingPropertiesForm = require("./SamplingPropertiesForm");
|
|
45
|
+
|
|
46
|
+
var _SamplingsMobileItem = require("../SamplingsMobileItem");
|
|
47
|
+
|
|
48
|
+
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); }
|
|
49
|
+
|
|
50
|
+
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; }
|
|
51
|
+
|
|
52
|
+
/*
|
|
53
|
+
* Properties and Cancelling forms.
|
|
54
|
+
**/
|
|
55
|
+
function ImageMissingComponent(props) {
|
|
56
|
+
var image;
|
|
57
|
+
|
|
58
|
+
if (props.samplingProperties.point_photo !== null) {
|
|
59
|
+
image = /*#__PURE__*/_react.default.createElement("div", {
|
|
60
|
+
className: _styleModule.default.imageWrapper,
|
|
61
|
+
style: {
|
|
62
|
+
height: '100%',
|
|
63
|
+
backgroundSize: 'cover',
|
|
64
|
+
backgroundPosition: 'center',
|
|
65
|
+
backgroundImage: "url(".concat(props.samplingProperties.point_photo, ")")
|
|
66
|
+
}
|
|
67
|
+
});
|
|
68
|
+
} else {
|
|
69
|
+
image = /*#__PURE__*/_react.default.createElement("div", {
|
|
70
|
+
className: _styleModule.default.imageWrapper
|
|
71
|
+
}, /*#__PURE__*/_react.default.createElement(_imageMissing.ReactComponent, null));
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
return image;
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
var SamplingMobileProperties = function SamplingMobileProperties() {
|
|
78
|
+
var currDate = Date.now();
|
|
79
|
+
|
|
80
|
+
var _useState = (0, _react.useState)(currDate),
|
|
81
|
+
_useState2 = (0, _slicedToArray2.default)(_useState, 1),
|
|
82
|
+
collectionDate = _useState2[0];
|
|
83
|
+
|
|
84
|
+
var _useState3 = (0, _react.useState)(false),
|
|
85
|
+
_useState4 = (0, _slicedToArray2.default)(_useState3, 2),
|
|
86
|
+
samplingUpdated = _useState4[0],
|
|
87
|
+
setSamplingUpdated = _useState4[1];
|
|
88
|
+
|
|
89
|
+
var _useState5 = (0, _react.useState)(undefined),
|
|
90
|
+
_useState6 = (0, _slicedToArray2.default)(_useState5, 2),
|
|
91
|
+
sampling = _useState6[0],
|
|
92
|
+
setSampling = _useState6[1];
|
|
93
|
+
|
|
94
|
+
var _useState7 = (0, _react.useState)('properties'),
|
|
95
|
+
_useState8 = (0, _slicedToArray2.default)(_useState7, 2),
|
|
96
|
+
pageType = _useState8[0],
|
|
97
|
+
setPageType = _useState8[1];
|
|
98
|
+
|
|
99
|
+
var _useState9 = (0, _react.useState)(),
|
|
100
|
+
_useState10 = (0, _slicedToArray2.default)(_useState9, 2),
|
|
101
|
+
samplingProperties = _useState10[0],
|
|
102
|
+
setSamplingProperties = _useState10[1];
|
|
103
|
+
|
|
104
|
+
var _useParams = (0, _reactRouterDom.useParams)(),
|
|
105
|
+
sampleId = _useParams.sampleId;
|
|
106
|
+
|
|
107
|
+
var fetchSamplingProperties = function fetchSamplingProperties() {
|
|
108
|
+
var samplingId = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : sampleId;
|
|
109
|
+
|
|
110
|
+
_axios.default.get((0, _urls.urls)({
|
|
111
|
+
samplingId: samplingId
|
|
112
|
+
}).samplingProperties.fetchSampling.url).then(function (res) {
|
|
113
|
+
var samplingRes = res.data;
|
|
114
|
+
setSamplingProperties(samplingRes.sampling_properties);
|
|
115
|
+
setSampling(samplingRes.sampling_plan);
|
|
116
|
+
});
|
|
117
|
+
};
|
|
118
|
+
|
|
119
|
+
var getCurrentDate = function getCurrentDate(epoch) {
|
|
120
|
+
return (0, _moment.default)(epoch).format('DD/MM/YYYY hh:mm');
|
|
121
|
+
};
|
|
122
|
+
|
|
123
|
+
var query = (0, _useQueryURL.default)();
|
|
124
|
+
(0, _react.useEffect)(function () {
|
|
125
|
+
fetchSamplingProperties(sampleId);
|
|
126
|
+
var op = query.get('op') === 'cancel' ? 'cancel' : 'collect';
|
|
127
|
+
setPageType(op);
|
|
128
|
+
}, [samplingUpdated]);
|
|
129
|
+
if (sampling === undefined) return /*#__PURE__*/_react.default.createElement(_Spinner.Spinner, null);
|
|
130
|
+
return /*#__PURE__*/_react.default.createElement(_Layout.default, null, /*#__PURE__*/_react.default.createElement(SamplingPropertiesStyle, null, /*#__PURE__*/_react.default.createElement(Top, null, !_reactDeviceDetect.isMobile && samplingProperties !== undefined && /*#__PURE__*/_react.default.createElement(Start, null, /*#__PURE__*/_react.default.createElement(ImageMissingComponent, {
|
|
131
|
+
samplingProperties: samplingProperties
|
|
132
|
+
})), /*#__PURE__*/_react.default.createElement(End, null, /*#__PURE__*/_react.default.createElement(_SamplingsMobileItem.SamplingsMobileItem, {
|
|
133
|
+
isMobileProperties: true,
|
|
134
|
+
data: sampling
|
|
135
|
+
}), /*#__PURE__*/_react.default.createElement(PropertyItemLayout, null, /*#__PURE__*/_react.default.createElement(LeftSideLayout, null, sampling.contact), sampling.contact_number && /*#__PURE__*/_react.default.createElement(ContactNumberStyle, null, /*#__PURE__*/_react.default.createElement(PhoneIconStyle, {
|
|
136
|
+
src: _samplingPropertiesPhone.default
|
|
137
|
+
}), /*#__PURE__*/_react.default.createElement(UnderlineTextStyle, {
|
|
138
|
+
href: "tel:".concat(sampling.contact_number)
|
|
139
|
+
}, sampling.contact_number))), /*#__PURE__*/_react.default.createElement(PropertyItemLayout, null, /*#__PURE__*/_react.default.createElement(LeftSideLayout, null, _i18n.default.t('sampling.sampling_type')), sampling.type), /*#__PURE__*/_react.default.createElement(PropertyItemLayout, null, /*#__PURE__*/_react.default.createElement(LeftSideLayout, null, _i18n.default.t('samplings_page.samplings_properties.collection_time')), /*#__PURE__*/_react.default.createElement(UnderlineTextStyle, null, getCurrentDate(collectionDate))))), samplingProperties !== undefined && pageType !== undefined && /*#__PURE__*/_react.default.createElement(_SamplingPropertiesForm.SamplingPropertiesForm, {
|
|
140
|
+
samplingProperties: samplingProperties,
|
|
141
|
+
sampling: sampling,
|
|
142
|
+
pageType: pageType,
|
|
143
|
+
currentDate: getCurrentDate(collectionDate),
|
|
144
|
+
setSamplingUpdated: setSamplingUpdated
|
|
145
|
+
})));
|
|
146
|
+
};
|
|
147
|
+
|
|
148
|
+
exports.SamplingMobileProperties = SamplingMobileProperties;
|
|
149
|
+
|
|
150
|
+
var SamplingPropertiesStyle = _styledComponents.default.div.withConfig({
|
|
151
|
+
displayName: "SamplingMobileProperties__SamplingPropertiesStyle",
|
|
152
|
+
componentId: "sc-1qot0ip-0"
|
|
153
|
+
})(["", " ", ""], !_reactDeviceDetect.isMobile ? 'width: 830px;' : '', !_reactDeviceDetect.isMobile ? 'margin: 100px;' : '');
|
|
154
|
+
|
|
155
|
+
var PropertyItemLayout = (0, _styledComponents.default)(_reactBootstrap.ListGroup.Item).withConfig({
|
|
156
|
+
displayName: "SamplingMobileProperties__PropertyItemLayout",
|
|
157
|
+
componentId: "sc-1qot0ip-1"
|
|
158
|
+
})(["display:flex;justify-content:space-between;border:none;height:42px;align-items:center;padding:0 0 6px;"]);
|
|
159
|
+
|
|
160
|
+
var LeftSideLayout = _styledComponents.default.span.withConfig({
|
|
161
|
+
displayName: "SamplingMobileProperties__LeftSideLayout",
|
|
162
|
+
componentId: "sc-1qot0ip-2"
|
|
163
|
+
})(["font-weight:bold;font-family:Nunito;font-weight:700;color:", ";"], function (_ref) {
|
|
164
|
+
var theme = _ref.theme;
|
|
165
|
+
return theme.colorScheme.natural.n100;
|
|
166
|
+
});
|
|
167
|
+
|
|
168
|
+
var ContactNumberStyle = _styledComponents.default.div.withConfig({
|
|
169
|
+
displayName: "SamplingMobileProperties__ContactNumberStyle",
|
|
170
|
+
componentId: "sc-1qot0ip-3"
|
|
171
|
+
})(["display:flex;align-items:center;gap:5px;"]);
|
|
172
|
+
|
|
173
|
+
var UnderlineTextStyle = _styledComponents.default.a.withConfig({
|
|
174
|
+
displayName: "SamplingMobileProperties__UnderlineTextStyle",
|
|
175
|
+
componentId: "sc-1qot0ip-4"
|
|
176
|
+
})(["text-decoration:underline;color:", ";"], function (_ref2) {
|
|
177
|
+
var theme = _ref2.theme;
|
|
178
|
+
return theme.samplingsPage.mobile.propertiesClickItems;
|
|
179
|
+
});
|
|
180
|
+
|
|
181
|
+
var PhoneIconStyle = _styledComponents.default.img.withConfig({
|
|
182
|
+
displayName: "SamplingMobileProperties__PhoneIconStyle",
|
|
183
|
+
componentId: "sc-1qot0ip-5"
|
|
184
|
+
})(["width:14px;height:14px;"]);
|
|
185
|
+
|
|
186
|
+
var Top = _styledComponents.default.div.withConfig({
|
|
187
|
+
displayName: "SamplingMobileProperties__Top",
|
|
188
|
+
componentId: "sc-1qot0ip-6"
|
|
189
|
+
})(["display:flex;"]);
|
|
190
|
+
|
|
191
|
+
var Start = _styledComponents.default.div.withConfig({
|
|
192
|
+
displayName: "SamplingMobileProperties__Start",
|
|
193
|
+
componentId: "sc-1qot0ip-7"
|
|
194
|
+
})(["width:", ";overflow:hidden;margin-inline-end:25px;img{border:1px solid #858a94;border-radius:16px;height:100%;width:100%;}svg{width:100%;height:100%;opacity:0.1;}"], _reactDeviceDetect.isMobile ? '0%' : '40%');
|
|
195
|
+
|
|
196
|
+
var End = _styledComponents.default.div.withConfig({
|
|
197
|
+
displayName: "SamplingMobileProperties__End",
|
|
198
|
+
componentId: "sc-1qot0ip-8"
|
|
199
|
+
})(["width:100%;border:1px solid #a6acb9;border-radius:16px;overflow:hidden;padding:0 20px;box-sizing:content-box;"]);
|
|
200
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9wYWdlcy9TYW1wbGluZ3NQYWdlL1NhbXBsaW5nUHJvcGVydGllcy9TYW1wbGluZ01vYmlsZVByb3BlcnRpZXMudHN4Il0sIm5hbWVzIjpbIkltYWdlTWlzc2luZ0NvbXBvbmVudCIsInByb3BzIiwiaW1hZ2UiLCJzYW1wbGluZ1Byb3BlcnRpZXMiLCJwb2ludF9waG90byIsIlN0eWxlIiwiaW1hZ2VXcmFwcGVyIiwiaGVpZ2h0IiwiYmFja2dyb3VuZFNpemUiLCJiYWNrZ3JvdW5kUG9zaXRpb24iLCJiYWNrZ3JvdW5kSW1hZ2UiLCJTYW1wbGluZ01vYmlsZVByb3BlcnRpZXMiLCJjdXJyRGF0ZSIsIkRhdGUiLCJub3ciLCJjb2xsZWN0aW9uRGF0ZSIsInNhbXBsaW5nVXBkYXRlZCIsInNldFNhbXBsaW5nVXBkYXRlZCIsInVuZGVmaW5lZCIsInNhbXBsaW5nIiwic2V0U2FtcGxpbmciLCJwYWdlVHlwZSIsInNldFBhZ2VUeXBlIiwic2V0U2FtcGxpbmdQcm9wZXJ0aWVzIiwic2FtcGxlSWQiLCJmZXRjaFNhbXBsaW5nUHJvcGVydGllcyIsInNhbXBsaW5nSWQiLCJheGlvcyIsImdldCIsImZldGNoU2FtcGxpbmciLCJ1cmwiLCJ0aGVuIiwicmVzIiwic2FtcGxpbmdSZXMiLCJkYXRhIiwic2FtcGxpbmdfcHJvcGVydGllcyIsInNhbXBsaW5nX3BsYW4iLCJnZXRDdXJyZW50RGF0ZSIsImVwb2NoIiwiZm9ybWF0IiwicXVlcnkiLCJvcCIsImlzTW9iaWxlIiwiY29udGFjdCIsImNvbnRhY3RfbnVtYmVyIiwiUGhvbmUiLCJpMThuIiwidCIsInR5cGUiLCJTYW1wbGluZ1Byb3BlcnRpZXNTdHlsZSIsInN0eWxlZCIsImRpdiIsIlByb3BlcnR5SXRlbUxheW91dCIsIkxpc3RHcm91cCIsIkl0ZW0iLCJMZWZ0U2lkZUxheW91dCIsInNwYW4iLCJ0aGVtZSIsImNvbG9yU2NoZW1lIiwibmF0dXJhbCIsIm4xMDAiLCJDb250YWN0TnVtYmVyU3R5bGUiLCJVbmRlcmxpbmVUZXh0U3R5bGUiLCJhIiwic2FtcGxpbmdzUGFnZSIsIm1vYmlsZSIsInByb3BlcnRpZXNDbGlja0l0ZW1zIiwiUGhvbmVJY29uU3R5bGUiLCJpbWciLCJUb3AiLCJTdGFydCIsIkVuZCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7O0FBR0E7O0FBQ0E7O0FBQ0E7O0FBRUE7O0FBQ0E7O0FBQ0E7O0FBRUE7Ozs7QUFFQTs7QUFDQTs7OztBQUVBOztBQUNBOztBQUVBOztBQUVBOztBQUNBOzs7Ozs7QUF0QkE7QUFDQTtBQUNBO0FBd0NBLFNBQVNBLHFCQUFULENBQStCQyxLQUEvQixFQUVHO0FBQ0QsTUFBSUMsS0FBSjs7QUFDQSxNQUFJRCxLQUFLLENBQUNFLGtCQUFOLENBQXlCQyxXQUF6QixLQUF5QyxJQUE3QyxFQUFtRDtBQUNqREYsSUFBQUEsS0FBSyxnQkFDSDtBQUNFLE1BQUEsU0FBUyxFQUFFRyxxQkFBTUMsWUFEbkI7QUFFRSxNQUFBLEtBQUssRUFBRTtBQUNMQyxRQUFBQSxNQUFNLEVBQUUsTUFESDtBQUVMQyxRQUFBQSxjQUFjLEVBQUUsT0FGWDtBQUdMQyxRQUFBQSxrQkFBa0IsRUFBRSxRQUhmO0FBSUxDLFFBQUFBLGVBQWUsZ0JBQVNULEtBQUssQ0FBQ0Usa0JBQU4sQ0FBeUJDLFdBQWxDO0FBSlY7QUFGVCxNQURGO0FBV0QsR0FaRCxNQVlPO0FBQ0xGLElBQUFBLEtBQUssZ0JBQ0g7QUFBSyxNQUFBLFNBQVMsRUFBRUcscUJBQU1DO0FBQXRCLG9CQUNFLDZCQUFDLDRCQUFELE9BREYsQ0FERjtBQUtEOztBQUNELFNBQU9KLEtBQVA7QUFDRDs7QUFFTSxJQUFNUyx3QkFBNEIsR0FBRyxTQUEvQkEsd0JBQStCLEdBQU07QUFDaEQsTUFBTUMsUUFBUSxHQUFHQyxJQUFJLENBQUNDLEdBQUwsRUFBakI7O0FBQ0Esa0JBQXlCLHFCQUFTRixRQUFULENBQXpCO0FBQUE7QUFBQSxNQUFPRyxjQUFQOztBQUNBLG1CQUE4QyxxQkFBUyxLQUFULENBQTlD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QTtBQUFBO0FBQUEsK0JBQXBCOztBQUtBLElBQU1DLEdBQUcsR0FBR25CLDBCQUFPQyxHQUFWO0FBQUE7QUFBQTtBQUFBLHFCQUFUOztBQUdBLElBQU1tQixLQUFLLEdBQUdwQiwwQkFBT0MsR0FBVjtBQUFBO0FBQUE7QUFBQSwyS0FDQVQsOEJBQVcsSUFBWCxHQUFrQixLQURsQixDQUFYOztBQWtCQSxJQUFNNkIsR0FBRyxHQUFHckIsMEJBQU9DLEdBQVY7QUFBQTtBQUFBO0FBQUEscUhBQVQiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogUHJvcGVydGllcyBhbmQgQ2FuY2VsbGluZyBmb3Jtcy5cbiAqKi9cbmltcG9ydCBSZWFjdCwgeyBGQywgdXNlRWZmZWN0LCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBheGlvcyBmcm9tICdheGlvcyc7XG5pbXBvcnQgbW9tZW50IGZyb20gJ21vbWVudCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ3N0eWxlZC1jb21wb25lbnRzL21hY3JvJztcbmltcG9ydCB7IExpc3RHcm91cCB9IGZyb20gJ3JlYWN0LWJvb3RzdHJhcCc7XG5pbXBvcnQgeyBpc01vYmlsZSB9IGZyb20gJ3JlYWN0LWRldmljZS1kZXRlY3QnO1xuaW1wb3J0IHsgdXNlUGFyYW1zIH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSc7XG5cbmltcG9ydCBMYXlvdXQgZnJvbSAnc3JjL3VpLWtpdC9MYXlvdXQvTGF5b3V0JztcbmltcG9ydCBQaG9uZSBmcm9tICdzcmMvYXNzZXRzL2ljb25zL3NhbXBsaW5nLXByb3BlcnRpZXMtcGhvbmUuc3ZnJztcbmltcG9ydCBpMThuIGZyb20gJ3NyYy91dGlsaXRpZXMvaTE4bic7XG5pbXBvcnQgdXNlUXVlcnlVUkwgZnJvbSAnc3JjL2hvb2tzL3VzZVF1ZXJ5VVJMJztcbmltcG9ydCB7IFJlYWN0Q29tcG9uZW50IGFzIEltYWdlTWlzc2luZyB9IGZyb20gJ3NyYy9hc3NldHMvaW1hZ2UtbWlzc2luZy5zdmcnO1xuaW1wb3J0IHsgU3Bpbm5lciB9IGZyb20gJ3NyYy9jb21wb25lbnRzL1NwaW5uZXIvU3Bpbm5lcic7XG5pbXBvcnQgeyB1cmxzIH0gZnJvbSAnc3JjL3V0aWxpdGllcy91cmxzJztcblxuaW1wb3J0IFN0eWxlIGZyb20gJy4uL3N0eWxlLm1vZHVsZS5zY3NzJztcbmltcG9ydCB7IFNhbXBsaW5nRmV0Y2hEYXRhIH0gZnJvbSAnLi4vc2FtcGxpbmdzUGFnZVV0aWxzJztcbmltcG9ydCB7IFNhbXBsaW5nUHJvcGVydGllc0Zvcm0gfSBmcm9tICcuL1NhbXBsaW5nUHJvcGVydGllc0Zvcm0nO1xuaW1wb3J0IHsgU2FtcGxpbmdzTW9iaWxlSXRlbSBhcyBTYW1wbGluZ0l0ZW1JbmZvIH0gZnJvbSAnLi4vU2FtcGxpbmdzTW9iaWxlSXRlbSc7XG5cbmV4cG9ydCB0eXBlIFRTYW1wbGluZ1Byb3BlcnRpZXMgPSB7XG4gIHBvaW50X3Bob3RvOiBzdHJpbmc7XG4gIHBob3RvczogW3sgdXJsOiBzdHJpbmc7IGlkOiBudW1iZXIgfV07XG4gIGxhYnM6IFtdO1xuICBzYW1wbGluZzoge1xuICAgIGlkOiBudW1iZXI7XG4gICAgbGFiX2lkOiBudW1iZXI7XG4gICAgY29sbGVjdGlvbl90aW1lOiBzdHJpbmc7XG4gICAgcHVtcF9zYW1wbGluZ192b2x1bWU6IG51bWJlcjtcbiAgICBwdW1wX2JhdHRlcnlfbGV2ZWw6IG51bWJlcjtcbiAgICBkZXNjcmlwdGlvbjogc3RyaW5nO1xuICAgIGthbmRvX3JlcDogc3RyaW5nO1xuICAgIHNhbXBsaW5nX3BsYW5faWQ6IG51bWJlcjtcbiAgICBjYW5jZWxsYXRpb25fcmVhc29uOiBzdHJpbmc7XG4gICAgaXNfY2FuY2VsZWQ6IGJvb2xlYW47XG4gIH07XG59O1xuXG5mdW5jdGlvbiBJbWFnZU1pc3NpbmdDb21wb25lbnQocHJvcHM6IHtcbiAgc2FtcGxpbmdQcm9wZXJ0aWVzOiBUU2FtcGxpbmdQcm9wZXJ0aWVzO1xufSkge1xuICBsZXQgaW1hZ2U7XG4gIGlmIChwcm9wcy5zYW1wbGluZ1Byb3BlcnRpZXMucG9pbnRfcGhvdG8gIT09IG51bGwpIHtcbiAgICBpbWFnZSA9IChcbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3NOYW1lPXtTdHlsZS5pbWFnZVdyYXBwZXJ9XG4gICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgaGVpZ2h0OiAnMTAwJScsXG4gICAgICAgICAgYmFja2dyb3VuZFNpemU6ICdjb3ZlcicsXG4gICAgICAgICAgYmFja2dyb3VuZFBvc2l0aW9uOiAnY2VudGVyJyxcbiAgICAgICAgICBiYWNrZ3JvdW5kSW1hZ2U6IGB1cmwoJHtwcm9wcy5zYW1wbGluZ1Byb3BlcnRpZXMucG9pbnRfcGhvdG99KWAsXG4gICAgICAgIH19XG4gICAgICAvPlxuICAgICk7XG4gIH0gZWxzZSB7XG4gICAgaW1hZ2UgPSAoXG4gICAgICA8ZGl2IGNsYXNzTmFtZT17U3R5bGUuaW1hZ2VXcmFwcGVyfT5cbiAgICAgICAgPEltYWdlTWlzc2luZyAvPlxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfVxuICByZXR1cm4gaW1hZ2U7XG59XG5cbmV4cG9ydCBjb25zdCBTYW1wbGluZ01vYmlsZVByb3BlcnRpZXM6IEZDID0gKCkgPT4ge1xuICBjb25zdCBjdXJyRGF0ZSA9IERhdGUubm93KCk7XG4gIGNvbnN0IFtjb2xsZWN0aW9uRGF0ZV0gPSB1c2VTdGF0ZShjdXJyRGF0ZSk7XG4gIGNvbnN0IFtzYW1wbGluZ1VwZGF0ZWQsIHNldFNhbXBsaW5nVXBkYXRlZF0gPSB1c2VTdGF0ZShmYWxzZSk7XG4gIGNvbnN0IFtzYW1wbGluZywgc2V0U2FtcGxpbmddID0gdXNlU3RhdGU8U2FtcGxpbmdGZXRjaERhdGEgfCB1bmRlZmluZWQ+KFxuICAgIHVuZGVmaW5lZCxcbiAgKTtcbiAgY29uc3QgW3BhZ2VUeXBlLCBzZXRQYWdlVHlwZV0gPSB1c2VTdGF0ZTxzdHJpbmcgfCB1bmRlZmluZWQ+KCdwcm9wZXJ0aWVzJyk7XG4gIGNvbnN0IFtzYW1wbGluZ1Byb3BlcnRpZXMsIHNldFNhbXBsaW5nUHJvcGVydGllc10gPVxuICAgIHVzZVN0YXRlPFRTYW1wbGluZ1Byb3BlcnRpZXM+KCk7XG5cbiAgY29uc3QgeyBzYW1wbGVJZCB9ID0gdXNlUGFyYW1zKCk7XG5cbiAgY29uc3QgZmV0Y2hTYW1wbGluZ1Byb3BlcnRpZXMgPSAoc2FtcGxpbmdJZCA9IHNhbXBsZUlkKSA9PiB7XG4gICAgYXhpb3NcbiAgICAgIC5nZXQoXG4gICAgICAgIHVybHMoeyBzYW1wbGluZ0lkOiBzYW1wbGluZ0lkIH0pLnNhbXBsaW5nUHJvcGVydGllcy5mZXRjaFNhbXBsaW5nLnVybCxcbiAgICAgIClcbiAgICAgIC50aGVuKChyZXMpID0+IHtcbiAgICAgICAgbGV0IHNhbXBsaW5nUmVzID0gcmVzLmRhdGE7XG4gICAgICAgIHNldFNhbXBsaW5nUHJvcGVydGllcyhzYW1wbGluZ1Jlcy5zYW1wbGluZ19wcm9wZXJ0aWVzKTtcbiAgICAgICAgc2V0U2FtcGxpbmcoc2FtcGxpbmdSZXMuc2FtcGxpbmdfcGxhbik7XG4gICAgICB9KTtcbiAgfTtcblxuICBjb25zdCBnZXRDdXJyZW50RGF0ZSA9IChlcG9jaDogbnVtYmVyKSA9PlxuICAgIG1vbWVudChlcG9jaCkuZm9ybWF0KCdERC9NTS9ZWVlZIGhoOm1tJyk7XG5cbiAgY29uc3QgcXVlcnkgPSB1c2VRdWVyeVVSTCgpO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgZmV0Y2hTYW1wbGluZ1Byb3BlcnRpZXMoc2FtcGxlSWQpO1xuICAgIGNvbnN0IG9wID0gcXVlcnkuZ2V0KCdvcCcpID09PSAnY2FuY2VsJyA/ICdjYW5jZWwnIDogJ2NvbGxlY3QnO1xuICAgIHNldFBhZ2VUeXBlKG9wKTtcbiAgfSwgW3NhbXBsaW5nVXBkYXRlZF0pO1xuXG4gIGlmIChzYW1wbGluZyA9PT0gdW5kZWZpbmVkKSByZXR1cm4gPFNwaW5uZXIgLz47XG4gIHJldHVybiAoXG4gICAgPExheW91dD5cbiAgICAgIDxTYW1wbGluZ1Byb3BlcnRpZXNTdHlsZT5cbiAgICAgICAgPFRvcD5cbiAgICAgICAgICB7IWlzTW9iaWxlICYmIHNhbXBsaW5nUHJvcGVydGllcyAhPT0gdW5kZWZpbmVkICYmIChcbiAgICAgICAgICAgIDxTdGFydD5cbiAgICAgICAgICAgICAgPEltYWdlTWlzc2luZ0NvbXBvbmVudCBzYW1wbGluZ1Byb3BlcnRpZXM9e3NhbXBsaW5nUHJvcGVydGllc30gLz5cbiAgICAgICAgICAgIDwvU3RhcnQ+XG4gICAgICAgICAgKX1cbiAgICAgICAgICA8RW5kPlxuICAgICAgICAgICAgPFNhbXBsaW5nSXRlbUluZm8gaXNNb2JpbGVQcm9wZXJ0aWVzPXt0cnVlfSBkYXRhPXtzYW1wbGluZ30gLz5cbiAgICAgICAgICAgIDxQcm9wZXJ0eUl0ZW1MYXlvdXQ+XG4gICAgICAgICAgICAgIDxMZWZ0U2lkZUxheW91dD57c2FtcGxpbmcuY29udGFjdH08L0xlZnRTaWRlTGF5b3V0PlxuICAgICAgICAgICAgICB7c2FtcGxpbmcuY29udGFjdF9udW1iZXIgJiYgKFxuICAgICAgICAgICAgICAgIDxDb250YWN0TnVtYmVyU3R5bGU+XG4gICAgICAgICAgICAgICAgICA8UGhvbmVJY29uU3R5bGUgc3JjPXtQaG9uZX0gLz5cbiAgICAgICAgICAgICAgICAgIDxVbmRlcmxpbmVUZXh0U3R5bGUgaHJlZj17YHRlbDoke3NhbXBsaW5nLmNvbnRhY3RfbnVtYmVyfWB9PlxuICAgICAgICAgICAgICAgICAgICB7c2FtcGxpbmcuY29udGFjdF9udW1iZXJ9XG4gICAgICAgICAgICAgICAgICA8L1VuZGVybGluZVRleHRTdHlsZT5cbiAgICAgICAgICAgICAgICA8L0NvbnRhY3ROdW1iZXJTdHlsZT5cbiAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIDwvUHJvcGVydHlJdGVtTGF5b3V0PlxuICAgICAgICAgICAgPFByb3BlcnR5SXRlbUxheW91dD5cbiAgICAgICAgICAgICAgPExlZnRTaWRlTGF5b3V0PlxuICAgICAgICAgICAgICAgIHtpMThuLnQoJ3NhbXBsaW5nLnNhbXBsaW5nX3R5cGUnKX1cbiAgICAgICAgICAgICAgPC9MZWZ0U2lkZUxheW91dD5cbiAgICAgICAgICAgICAge3NhbXBsaW5nLnR5cGV9XG4gICAgICAgICAgICA8L1Byb3BlcnR5SXRlbUxheW91dD5cbiAgICAgICAgICAgIDxQcm9wZXJ0eUl0ZW1MYXlvdXQ+XG4gICAgICAgICAgICAgIDxMZWZ0U2lkZUxheW91dD5cbiAgICAgICAgICAgICAgICB7aTE4bi50KCdzYW1wbGluZ3NfcGFnZS5zYW1wbGluZ3NfcHJvcGVydGllcy5jb2xsZWN0aW9uX3RpbWUnKX1cbiAgICAgICAgICAgICAgPC9MZWZ0U2lkZUxheW91dD5cbiAgICAgICAgICAgICAgPFVuZGVybGluZVRleHRTdHlsZT5cbiAgICAgICAgICAgICAgICB7Z2V0Q3VycmVudERhdGUoY29sbGVjdGlvbkRhdGUpfVxuICAgICAgICAgICAgICA8L1VuZGVybGluZVRleHRTdHlsZT5cbiAgICAgICAgICAgIDwvUHJvcGVydHlJdGVtTGF5b3V0PlxuICAgICAgICAgIDwvRW5kPlxuICAgICAgICA8L1RvcD5cbiAgICAgICAge3NhbXBsaW5nUHJvcGVydGllcyAhPT0gdW5kZWZpbmVkICYmIHBhZ2VUeXBlICE9PSB1bmRlZmluZWQgJiYgKFxuICAgICAgICAgIDxTYW1wbGluZ1Byb3BlcnRpZXNGb3JtXG4gICAgICAgICAgICBzYW1wbGluZ1Byb3BlcnRpZXM9e3NhbXBsaW5nUHJvcGVydGllc31cbiAgICAgICAgICAgIHNhbXBsaW5nPXtzYW1wbGluZ31cbiAgICAgICAgICAgIHBhZ2VUeXBlPXtwYWdlVHlwZX1cbiAgICAgICAgICAgIGN1cnJlbnREYXRlPXtnZXRDdXJyZW50RGF0ZShjb2xsZWN0aW9uRGF0ZSl9XG4gICAgICAgICAgICBzZXRTYW1wbGluZ1VwZGF0ZWQ9e3NldFNhbXBsaW5nVXBkYXRlZH1cbiAgICAgICAgICAvPlxuICAgICAgICApfVxuICAgICAgPC9TYW1wbGluZ1Byb3BlcnRpZXNTdHlsZT5cbiAgICA8L0xheW91dD5cbiAgKTtcbn07XG5cbmNvbnN0IFNhbXBsaW5nUHJvcGVydGllc1N0eWxlID0gc3R5bGVkLmRpdmBcbiAgJHshaXNNb2JpbGUgPyAnd2lkdGg6IDgzMHB4OycgOiAnJ31cbiAgJHshaXNNb2JpbGUgPyAnbWFyZ2luOiAxMDBweDsnIDogJyd9XG5gO1xuXG5jb25zdCBQcm9wZXJ0eUl0ZW1MYXlvdXQgPSBzdHlsZWQoTGlzdEdyb3VwLkl0ZW0pYFxuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGJvcmRlcjogbm9uZTtcbiAgaGVpZ2h0OiA0MnB4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nOiAwIDAgNnB4O1xuYDtcbmNvbnN0IExlZnRTaWRlTGF5b3V0ID0gc3R5bGVkLnNwYW5gXG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBmb250LWZhbWlseTogTnVuaXRvO1xuICBmb250LXdlaWdodDogNzAwO1xuICBjb2xvcjogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvclNjaGVtZS5uYXR1cmFsLm4xMDB9O1xuYDtcbmNvbnN0IENvbnRhY3ROdW1iZXJTdHlsZSA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogNXB4O1xuYDtcbmNvbnN0IFVuZGVybGluZVRleHRTdHlsZSA9IHN0eWxlZC5hYFxuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgY29sb3I6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuc2FtcGxpbmdzUGFnZS5tb2JpbGUucHJvcGVydGllc0NsaWNrSXRlbXN9O1xuYDtcbmNvbnN0IFBob25lSWNvblN0eWxlID0gc3R5bGVkLmltZ2BcbiAgd2lkdGg6IDE0cHg7XG4gIGhlaWdodDogMTRweDtcbmA7XG5cbmNvbnN0IFRvcCA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG5gO1xuY29uc3QgU3RhcnQgPSBzdHlsZWQuZGl2YFxuICB3aWR0aDogJHtpc01vYmlsZSA/ICcwJScgOiAnNDAlJ307XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIG1hcmdpbi1pbmxpbmUtZW5kOiAyNXB4O1xuXG4gIGltZyB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzg1OGE5NDtcbiAgICBib3JkZXItcmFkaXVzOiAxNnB4O1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gIHN2ZyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG9wYWNpdHk6IDAuMTtcbiAgfVxuYDtcbmNvbnN0IEVuZCA9IHN0eWxlZC5kaXZgXG4gIHdpZHRoOiAxMDAlO1xuICBib3JkZXI6IDFweCBzb2xpZCAjYTZhY2I5O1xuICBib3JkZXItcmFkaXVzOiAxNnB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nOiAwIDIwcHg7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuYDtcbiJdfQ==
|