@merchi/product-form 1.19.31 → 1.19.33
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/components/drafts/DraftApprovePanel.js +99 -26
- package/lib/components/drafts/ProductDraftsHost.js +7 -4
- package/lib/utils/designerInputs.d.ts +34 -0
- package/lib/utils/designerInputs.js +141 -0
- package/lib/utils/designerInputs.test.js +154 -0
- package/lib/utils/draftStorage.d.ts +4 -0
- package/lib/utils/draftStorage.js +36 -3
- package/lib/utils/draftStorage.test.js +48 -2
- package/lib/utils/pantoneColours.data.js +2 -12694
- package/package.json +1 -1
|
@@ -17,6 +17,8 @@ function asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.
|
|
|
17
17
|
function _asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { asyncGeneratorStep(a, r, o, _next, _throw, "next", n); } function _throw(n) { asyncGeneratorStep(a, r, o, _next, _throw, "throw", n); } _next(void 0); }); }; }
|
|
18
18
|
import React, { useState } from 'react';
|
|
19
19
|
import { useMerchiFormContext } from '../../context/MerchiProductFormProvider';
|
|
20
|
+
import { collectDesignerInputs, packDesignInputNotes } from '../../utils/designerInputs';
|
|
21
|
+
import { clearDraftWork } from '../../utils/draftStorage';
|
|
20
22
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
21
23
|
function DraftPreview(_ref) {
|
|
22
24
|
var templateData = _ref.templateData;
|
|
@@ -39,7 +41,10 @@ function _uploadBase64Image() {
|
|
|
39
41
|
binaryString,
|
|
40
42
|
bytes,
|
|
41
43
|
i,
|
|
44
|
+
mimeMatch,
|
|
42
45
|
blob,
|
|
46
|
+
mime,
|
|
47
|
+
extension,
|
|
43
48
|
file,
|
|
44
49
|
formData,
|
|
45
50
|
response,
|
|
@@ -59,11 +64,14 @@ function _uploadBase64Image() {
|
|
|
59
64
|
}
|
|
60
65
|
|
|
61
66
|
// Create a Blob from the binary data
|
|
67
|
+
mimeMatch = typeof base64 === 'string' ? /^data:([^;,]+)/.exec(base64) : null;
|
|
62
68
|
blob = new Blob([bytes], {
|
|
63
|
-
type: 'image/png'
|
|
69
|
+
type: (mimeMatch === null || mimeMatch === void 0 ? void 0 : mimeMatch[1]) || 'image/png'
|
|
64
70
|
}); // Create a File from the Blob
|
|
65
|
-
|
|
66
|
-
|
|
71
|
+
mime = blob.type || 'image/png';
|
|
72
|
+
extension = mime.split('/')[1] || 'png';
|
|
73
|
+
file = new File([blob], "group-".concat(groupId, "-template-").concat(templateId, "-draft-").concat(suffix, "-").concat(Date.now(), ".").concat(extension), {
|
|
74
|
+
type: mime
|
|
67
75
|
});
|
|
68
76
|
formData = new FormData();
|
|
69
77
|
formData.append('0', file);
|
|
@@ -154,7 +162,7 @@ export default function DraftApprovePanel(_ref2) {
|
|
|
154
162
|
}
|
|
155
163
|
function _approveDrats() {
|
|
156
164
|
_approveDrats = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2() {
|
|
157
|
-
var draftFiles, clientFiles, _iterator, _step, group,
|
|
165
|
+
var draftFiles, clientFiles, _iterator, _step, group, _iterator3, _step3, template, clientFile, draftFile, designInputs, _iterator2, _step2, _input$src, input, uploaded, designInputNotes, jobData, message, _t, _t2, _t3, _t4;
|
|
158
166
|
return _regenerator().w(function (_context2) {
|
|
159
167
|
while (1) switch (_context2.p = _context2.n) {
|
|
160
168
|
case 0:
|
|
@@ -180,15 +188,15 @@ export default function DraftApprovePanel(_ref2) {
|
|
|
180
188
|
break;
|
|
181
189
|
}
|
|
182
190
|
group = _step.value;
|
|
183
|
-
|
|
191
|
+
_iterator3 = _createForOfIteratorHelper(group.templateData);
|
|
184
192
|
_context2.p = 5;
|
|
185
|
-
|
|
193
|
+
_iterator3.s();
|
|
186
194
|
case 6:
|
|
187
|
-
if ((
|
|
195
|
+
if ((_step3 = _iterator3.n()).done) {
|
|
188
196
|
_context2.n = 10;
|
|
189
197
|
break;
|
|
190
198
|
}
|
|
191
|
-
template =
|
|
199
|
+
template = _step3.value;
|
|
192
200
|
_context2.n = 7;
|
|
193
201
|
return doUpload(group.groupIndex, template.templateId, template.draft, "client");
|
|
194
202
|
case 7:
|
|
@@ -208,10 +216,10 @@ export default function DraftApprovePanel(_ref2) {
|
|
|
208
216
|
case 11:
|
|
209
217
|
_context2.p = 11;
|
|
210
218
|
_t = _context2.v;
|
|
211
|
-
|
|
219
|
+
_iterator3.e(_t);
|
|
212
220
|
case 12:
|
|
213
221
|
_context2.p = 12;
|
|
214
|
-
|
|
222
|
+
_iterator3.f();
|
|
215
223
|
return _context2.f(12);
|
|
216
224
|
case 13:
|
|
217
225
|
_context2.n = 4;
|
|
@@ -228,8 +236,72 @@ export default function DraftApprovePanel(_ref2) {
|
|
|
228
236
|
_iterator.f();
|
|
229
237
|
return _context2.f(16);
|
|
230
238
|
case 17:
|
|
231
|
-
|
|
232
|
-
|
|
239
|
+
designInputs = [];
|
|
240
|
+
_iterator2 = _createForOfIteratorHelper(collectDesignerInputs(product, draftData));
|
|
241
|
+
_context2.p = 18;
|
|
242
|
+
_iterator2.s();
|
|
243
|
+
case 19:
|
|
244
|
+
if ((_step2 = _iterator2.n()).done) {
|
|
245
|
+
_context2.n = 24;
|
|
246
|
+
break;
|
|
247
|
+
}
|
|
248
|
+
input = _step2.value;
|
|
249
|
+
if (!(input.kind === 'text')) {
|
|
250
|
+
_context2.n = 20;
|
|
251
|
+
break;
|
|
252
|
+
}
|
|
253
|
+
designInputs.push(_objectSpread(_objectSpread({
|
|
254
|
+
kind: 'text',
|
|
255
|
+
name: input.name,
|
|
256
|
+
value: input.value
|
|
257
|
+
}, input.textStyle ? {
|
|
258
|
+
textStyle: input.textStyle
|
|
259
|
+
} : {}), input.groupIndex != null ? {
|
|
260
|
+
groupIndex: input.groupIndex
|
|
261
|
+
} : {}));
|
|
262
|
+
return _context2.a(3, 23);
|
|
263
|
+
case 20:
|
|
264
|
+
if ((_input$src = input.src) !== null && _input$src !== void 0 && _input$src.startsWith('data:')) {
|
|
265
|
+
_context2.n = 21;
|
|
266
|
+
break;
|
|
267
|
+
}
|
|
268
|
+
return _context2.a(3, 23);
|
|
269
|
+
case 21:
|
|
270
|
+
_context2.n = 22;
|
|
271
|
+
return doUpload(input.groupIndex || 0, 0, input.src, 'input');
|
|
272
|
+
case 22:
|
|
273
|
+
uploaded = _context2.v;
|
|
274
|
+
designInputs.push(_objectSpread({
|
|
275
|
+
kind: 'file',
|
|
276
|
+
name: input.name,
|
|
277
|
+
file: {
|
|
278
|
+
id: uploaded.id
|
|
279
|
+
}
|
|
280
|
+
}, input.groupIndex != null ? {
|
|
281
|
+
groupIndex: input.groupIndex
|
|
282
|
+
} : {}));
|
|
283
|
+
case 23:
|
|
284
|
+
_context2.n = 19;
|
|
285
|
+
break;
|
|
286
|
+
case 24:
|
|
287
|
+
_context2.n = 26;
|
|
288
|
+
break;
|
|
289
|
+
case 25:
|
|
290
|
+
_context2.p = 25;
|
|
291
|
+
_t3 = _context2.v;
|
|
292
|
+
_iterator2.e(_t3);
|
|
293
|
+
case 26:
|
|
294
|
+
_context2.p = 26;
|
|
295
|
+
_iterator2.f();
|
|
296
|
+
return _context2.f(26);
|
|
297
|
+
case 27:
|
|
298
|
+
designInputNotes = packDesignInputNotes(designInputs);
|
|
299
|
+
jobData = _objectSpread(_objectSpread(_objectSpread({}, job), {}, {
|
|
300
|
+
clientFiles: clientFiles.map(asCheckoutClientFile)
|
|
301
|
+
}, designInputs.length ? {
|
|
302
|
+
designInputs: designInputs,
|
|
303
|
+
designInputNotes: designInputNotes
|
|
304
|
+
} : {}), {}, {
|
|
233
305
|
ownDrafts: [{
|
|
234
306
|
accepted: Math.floor(Date.now() / 1000),
|
|
235
307
|
images: draftFiles.map(function (f) {
|
|
@@ -240,28 +312,29 @@ export default function DraftApprovePanel(_ref2) {
|
|
|
240
312
|
}]
|
|
241
313
|
});
|
|
242
314
|
setJob(jobData);
|
|
243
|
-
_context2.n =
|
|
315
|
+
_context2.n = 28;
|
|
244
316
|
return draftApproveCallback(jobData);
|
|
245
|
-
case
|
|
317
|
+
case 28:
|
|
318
|
+
clearDraftWork(product.id);
|
|
246
319
|
setIsDraftModalOpen(false);
|
|
247
|
-
_context2.n =
|
|
320
|
+
_context2.n = 30;
|
|
248
321
|
break;
|
|
249
|
-
case
|
|
250
|
-
_context2.p =
|
|
251
|
-
|
|
252
|
-
message =
|
|
322
|
+
case 29:
|
|
323
|
+
_context2.p = 29;
|
|
324
|
+
_t4 = _context2.v;
|
|
325
|
+
message = _t4.errorMessage || _t4.message || "Upload error";
|
|
253
326
|
showAlert({
|
|
254
327
|
message: message
|
|
255
328
|
});
|
|
256
|
-
console.error(
|
|
257
|
-
case
|
|
258
|
-
_context2.p =
|
|
329
|
+
console.error(_t4);
|
|
330
|
+
case 30:
|
|
331
|
+
_context2.p = 30;
|
|
259
332
|
setIsLoading(false);
|
|
260
|
-
return _context2.f(
|
|
261
|
-
case
|
|
333
|
+
return _context2.f(30);
|
|
334
|
+
case 31:
|
|
262
335
|
return _context2.a(2);
|
|
263
336
|
}
|
|
264
|
-
}, _callee2, null, [[5, 11, 12, 13], [3, 15, 16, 17], [2,
|
|
337
|
+
}, _callee2, null, [[18, 25, 26, 27], [5, 11, 12, 13], [3, 15, 16, 17], [2, 29, 30, 31]]);
|
|
265
338
|
}));
|
|
266
339
|
return _approveDrats.apply(this, arguments);
|
|
267
340
|
}
|
|
@@ -312,4 +385,4 @@ export default function DraftApprovePanel(_ref2) {
|
|
|
312
385
|
})]
|
|
313
386
|
});
|
|
314
387
|
}
|
|
315
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJlIiwidCIsInIiLCJTeW1ib2wiLCJuIiwiaXRlcmF0b3IiLCJvIiwidG9TdHJpbmdUYWciLCJpIiwiYyIsInByb3RvdHlwZSIsIkdlbmVyYXRvciIsInUiLCJPYmplY3QiLCJjcmVhdGUiLCJfcmVnZW5lcmF0b3JEZWZpbmUyIiwiZiIsInAiLCJ5IiwiRyIsInYiLCJhIiwiZCIsImJpbmQiLCJsZW5ndGgiLCJsIiwiVHlwZUVycm9yIiwiY2FsbCIsImRvbmUiLCJ2YWx1ZSIsIkdlbmVyYXRvckZ1bmN0aW9uIiwiR2VuZXJhdG9yRnVuY3Rpb25Qcm90b3R5cGUiLCJnZXRQcm90b3R5cGVPZiIsInNldFByb3RvdHlwZU9mIiwiX19wcm90b19fIiwiZGlzcGxheU5hbWUiLCJfcmVnZW5lcmF0b3IiLCJ3IiwibSIsImRlZmluZVByb3BlcnR5IiwiX3JlZ2VuZXJhdG9yRGVmaW5lIiwiX2ludm9rZSIsImVudW1lcmFibGUiLCJjb25maWd1cmFibGUiLCJ3cml0YWJsZSIsIl9zbGljZWRUb0FycmF5IiwiX2FycmF5V2l0aEhvbGVzIiwiX2l0ZXJhYmxlVG9BcnJheUxpbWl0IiwiX3Vuc3VwcG9ydGVkSXRlcmFibGVUb0FycmF5IiwiX25vbkl0ZXJhYmxlUmVzdCIsIl9hcnJheUxpa2VUb0FycmF5IiwidG9TdHJpbmciLCJzbGljZSIsImNvbnN0cnVjdG9yIiwibmFtZSIsIkFycmF5IiwiZnJvbSIsInRlc3QiLCJuZXh0IiwicHVzaCIsImlzQXJyYXkiLCJhc3luY0dlbmVyYXRvclN0ZXAiLCJQcm9taXNlIiwicmVzb2x2ZSIsInRoZW4iLCJfYXN5bmNUb0dlbmVyYXRvciIsImFyZ3VtZW50cyIsImFwcGx5IiwiX25leHQiLCJfdGhyb3ciLCJSZWFjdCIsInVzZVN0YXRlIiwidXNlTWVyY2hpRm9ybUNvbnRleHQiLCJqc3giLCJfanN4IiwianN4cyIsIl9qc3hzIiwiRHJhZnRQcmV2aWV3IiwiX3JlZiIsInRlbXBsYXRlRGF0YSIsImNhbnZhc1ByZXZpZXciLCJjaGlsZHJlbiIsInNyYyIsImFsdCIsInVwbG9hZEJhc2U2NEltYWdlIiwiX3giLCJfeDIiLCJfeDMiLCJfeDQiLCJfdXBsb2FkQmFzZTY0SW1hZ2UiLCJfY2FsbGVlMyIsImFwaVVybCIsImdyb3VwSWQiLCJ0ZW1wbGF0ZUlkIiwiYmFzZTY0Iiwic3VmZml4IiwiYmFzZTY0RGF0YSIsImJpbmFyeVN0cmluZyIsImJ5dGVzIiwiYmxvYiIsImZpbGUiLCJmb3JtRGF0YSIsInJlc3BvbnNlIiwiZGF0YSIsInVwbG9hZGVkIiwiX2FyZ3MzIiwiX2NvbnRleHQzIiwidW5kZWZpbmVkIiwiaW5jbHVkZXMiLCJzcGxpdCIsImF0b2IiLCJVaW50OEFycmF5IiwiY2hhckNvZGVBdCIsIkJsb2IiLCJ0eXBlIiwiRmlsZSIsImNvbmNhdCIsIkRhdGUiLCJub3ciLCJGb3JtRGF0YSIsImFwcGVuZCIsImZldGNoIiwibWV0aG9kIiwiYm9keSIsIm9rIiwiRXJyb3IiLCJzdGF0dXMiLCJzdGF0dXNUZXh0IiwianNvbiIsImlkIiwiYXNDaGVja291dENsaWVudEZpbGUiLCJvYmplY3RJZCIsIlN0cmluZyIsIkRyYWZ0QXBwcm92ZVBhbmVsIiwiX3JlZjIiLCJjdXN0b21Gb290ZXJDb250ZW50IiwiX3VzZU1lcmNoaUZvcm1Db250ZXh0IiwiY2xhc3NOYW1lRHJhZnRHcm91cENvbnRhaW5lciIsImNsYXNzTmFtZURyYWZ0R3JvdXBUaXRsZSIsImRyYWZ0QXBwcm92ZUNhbGxiYWNrIiwiam9iIiwicHJvZHVjdCIsInNldElzRHJhZnRNb2RhbE9wZW4iLCJzZXRKb2IiLCJzaG93QWxlcnQiLCJob29rRm9ybSIsIl91c2VTdGF0ZSIsIl91c2VTdGF0ZTIiLCJpc0xvYWRpbmciLCJzZXRJc0xvYWRpbmciLCJrZXkiLCJyYXciLCJsb2NhbFN0b3JhZ2UiLCJnZXRJdGVtIiwiYWxsRHJhZnRzIiwiSlNPTiIsInBhcnNlIiwiZ3JvdXBWYXJpYXRpb25GaWVsZHMiLCJnZXRWYWx1ZXMiLCJjdXJyZW50Q291bnQiLCJkcmFmdERhdGEiLCJmaWx0ZXIiLCJncm91cEluZGV4Iiwic2V0SXRlbSIsInN0cmluZ2lmeSIsImRvVXBsb2FkIiwiX3JlZjMiLCJfY2FsbGVlIiwiX2NvbnRleHQiLCJfeDUiLCJfeDYiLCJfeDciLCJfeDgiLCJhcHByb3ZlRHJhdHMiLCJfYXBwcm92ZURyYXRzIiwiX2NhbGxlZTIiLCJkcmFmdEZpbGVzIiwiY2xpZW50RmlsZXMiLCJfaXRlcmF0b3IiLCJfc3RlcCIsImdyb3VwIiwiX2l0ZXJhdG9yMiIsIl9zdGVwMiIsInRlbXBsYXRlIiwiY2xpZW50RmlsZSIsImRyYWZ0RmlsZSIsImpvYkRhdGEiLCJtZXNzYWdlIiwiX3QiLCJfdDIiLCJfdDMiLCJfY29udGV4dDIiLCJfY3JlYXRlRm9yT2ZJdGVyYXRvckhlbHBlciIsInMiLCJkcmFmdCIsIl9vYmplY3RTcHJlYWQiLCJtYXAiLCJvd25EcmFmdHMiLCJhY2NlcHRlZCIsIk1hdGgiLCJmbG9vciIsImltYWdlcyIsImVycm9yTWVzc2FnZSIsImNvbnNvbGUiLCJlcnJvciIsImRyYWZ0Q291bnQiLCJhcHByb3ZlTGFiZWwiLCJjbGFzc05hbWUiLCJpbmRleCIsInREIiwidERJbmRleCIsIm9uQ2xpY2siLCJkaXNhYmxlZCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2RyYWZ0cy9EcmFmdEFwcHJvdmVQYW5lbC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgdXNlTWVyY2hpRm9ybUNvbnRleHQgfSBmcm9tICcuLi8uLi9jb250ZXh0L01lcmNoaVByb2R1Y3RGb3JtUHJvdmlkZXInO1xuaW1wb3J0IHsgRHJhZnRUZW1wbGF0ZURhdGEsIFJlbmRlcmVkRHJhZnRQcmV2aWV3LCBNZXJjaGlGaWxlIH0gZnJvbSAnLi4vLi4vdXRpbHMvdHlwZXMnO1xuXG5mdW5jdGlvbiBEcmFmdFByZXZpZXcoeyB0ZW1wbGF0ZURhdGEgfTogeyB0ZW1wbGF0ZURhdGE6IFJlbmRlcmVkRHJhZnRQcmV2aWV3IH0pIHtcbiAgY29uc3Qge1xuICAgIGNhbnZhc1ByZXZpZXcsXG4gIH0gPSB0ZW1wbGF0ZURhdGE7XG4gIHJldHVybiAoXG4gICAgPGRpdj5cbiAgICAgIDxpbWcgc3JjPXtjYW52YXNQcmV2aWV3fSBhbHQ9XCJEcmFmdCBQcmV2aWV3XCIgLz5cbiAgICA8L2Rpdj5cbiAgKTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gdXBsb2FkQmFzZTY0SW1hZ2UoXG4gIGFwaVVybDogc3RyaW5nLFxuICBncm91cElkOiBudW1iZXIsXG4gIHRlbXBsYXRlSWQ6IG51bWJlcixcbiAgYmFzZTY0OiBzdHJpbmcsXG4gIHN1ZmZpeDogc3RyaW5nID0gJ3ByZXZpZXcnXG4pOiBQcm9taXNlPE1lcmNoaUZpbGU+IHtcbiAgLy8gUmVtb3ZlIFwiZGF0YTppbWFnZS8uLi5cIiBwcmVmaXggaWYgcHJlc2VudFxuICBjb25zdCBiYXNlNjREYXRhID0gdHlwZW9mIGJhc2U2NCA9PT0gJ3N0cmluZycgJiYgYmFzZTY0LmluY2x1ZGVzKCcsJykgPyBiYXNlNjQuc3BsaXQoJywnKVsxXSA6IGJhc2U2NDtcblxuICAvLyBDb252ZXJ0IGJhc2U2NCB0byBiaW5hcnkgZGF0YVxuICBjb25zdCBiaW5hcnlTdHJpbmcgPSBhdG9iKGJhc2U2NERhdGEpO1xuICBjb25zdCBieXRlcyA9IG5ldyBVaW50OEFycmF5KGJpbmFyeVN0cmluZy5sZW5ndGgpO1xuXG4gIGZvciAobGV0IGkgPSAwOyBpIDwgYmluYXJ5U3RyaW5nLmxlbmd0aDsgaSsrKSB7XG4gICAgYnl0ZXNbaV0gPSBiaW5hcnlTdHJpbmcuY2hhckNvZGVBdChpKTtcbiAgfVxuXG4gIC8vIENyZWF0ZSBhIEJsb2IgZnJvbSB0aGUgYmluYXJ5IGRhdGFcbiAgY29uc3QgYmxvYiA9IG5ldyBCbG9iKFtieXRlc10sIHsgdHlwZTogJ2ltYWdlL3BuZycgfSk7XG5cbiAgLy8gQ3JlYXRlIGEgRmlsZSBmcm9tIHRoZSBCbG9iXG4gIGNvbnN0IGZpbGUgPSBuZXcgRmlsZShcbiAgICBbYmxvYl0sXG4gICAgYGdyb3VwLSR7Z3JvdXBJZH0tdGVtcGxhdGUtJHt0ZW1wbGF0ZUlkfS1kcmFmdC0ke3N1ZmZpeH0tJHtEYXRlLm5vdygpfS5wbmdgLFxuICAgIHsgdHlwZTogJ2ltYWdlL3BuZycgfVxuICApO1xuXG4gIGNvbnN0IGZvcm1EYXRhID0gbmV3IEZvcm1EYXRhKCk7XG4gIGZvcm1EYXRhLmFwcGVuZCgnMCcsIGZpbGUpO1xuXG4gIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZmV0Y2goYCR7YXBpVXJsfXB1YmxpYy11cGxvYWQtam9iLWZpbGVzL2AsIHtcbiAgICBtZXRob2Q6ICdQT1NUJyxcbiAgICBib2R5OiBmb3JtRGF0YVxuICB9KTtcblxuICBsZXQgZGF0YTtcbiAgaWYgKCFyZXNwb25zZS5vaykge1xuICAgIHRocm93IG5ldyBFcnJvcihgU2VydmVyIHJlc3BvbmRlZCB3aXRoICR7cmVzcG9uc2Uuc3RhdHVzfTogJHtyZXNwb25zZS5zdGF0dXNUZXh0fWApO1xuICB9IGVsc2Uge1xuICAgIGRhdGEgPSBhd2FpdCByZXNwb25zZS5qc29uKCk7XG4gICAgY29uc3QgdXBsb2FkZWQgPSBkYXRhLmZpbGU7XG4gICAgaWYgKHVwbG9hZGVkPy5pZCA9PSBudWxsKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0RyYWZ0IHVwbG9hZCBkaWQgbm90IHJldHVybiBhIGZpbGUgaWQnKTtcbiAgICB9XG4gICAgcmV0dXJuIHVwbG9hZGVkO1xuICB9XG59XG5cbi8qKiBAbWVyY2hpL2NoZWNrb3V0IGNsZWFuQ2xpZW50RmlsZXMgcmVhZHMgYC5maWxlYCwgbm90IGEgYmFyZSBgeyBpZCB9YC4gKi9cbmZ1bmN0aW9uIGFzQ2hlY2tvdXRDbGllbnRGaWxlKGZpbGU6IE1lcmNoaUZpbGUpIHtcbiAgcmV0dXJuIHtcbiAgICBmaWxlOiB7IGlkOiBmaWxlLmlkIH0sXG4gICAgb2JqZWN0SWQ6IFN0cmluZyhmaWxlLmlkKSxcbiAgfTtcbn1cblxuaW50ZXJmYWNlIERyYWZ0QXBwcm92ZVBhbmVsUHJvcHMge1xuICBjdXN0b21Gb290ZXJDb250ZW50PzogUmVhY3QuUmVhY3ROb2RlO1xufVxuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBEcmFmdEFwcHJvdmVQYW5lbCh7XG4gIGN1c3RvbUZvb3RlckNvbnRlbnQsXG59OiBEcmFmdEFwcHJvdmVQYW5lbFByb3BzKSB7XG5cbiAgY29uc3Qge1xuICAgIGFwaVVybCxcbiAgICBjbGFzc05hbWVEcmFmdEdyb3VwQ29udGFpbmVyLFxuICAgIGNsYXNzTmFtZURyYWZ0R3JvdXBUaXRsZSxcbiAgICBkcmFmdEFwcHJvdmVDYWxsYmFjayxcbiAgICBqb2IsXG4gICAgcHJvZHVjdCxcbiAgICBzZXRJc0RyYWZ0TW9kYWxPcGVuLFxuICAgIHNldEpvYixcbiAgICBzaG93QWxlcnQsXG4gICAgaG9va0Zvcm0sXG4gIH0gPSB1c2VNZXJjaGlGb3JtQ29udGV4dCgpO1xuXG4gIGNvbnN0IFtpc0xvYWRpbmcsIHNldElzTG9hZGluZ10gPSB1c2VTdGF0ZShmYWxzZSk7XG5cbiAgY29uc3Qga2V5ID0gYHByb2R1Y3REcmFmdFRlbXBsYXRlLSR7cHJvZHVjdC5pZH1gO1xuICBjb25zdCByYXcgPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShrZXkpO1xuICBpZiAoIXJhdykgcmV0dXJuIG51bGw7XG5cbiAgY29uc3QgYWxsRHJhZnRzOiBEcmFmdFRlbXBsYXRlRGF0YVtdID0gSlNPTi5wYXJzZShyYXcpO1xuICBjb25zdCBncm91cFZhcmlhdGlvbkZpZWxkczogYW55W10gPSBob29rRm9ybS5nZXRWYWx1ZXMoJ3ZhcmlhdGlvbnNHcm91cHMnKSB8fCBbXTtcbiAgY29uc3QgY3VycmVudENvdW50ID0gZ3JvdXBWYXJpYXRpb25GaWVsZHMubGVuZ3RoO1xuXG4gIGNvbnN0IGRyYWZ0RGF0YSA9IGFsbERyYWZ0cy5maWx0ZXIoZCA9PiBkLmdyb3VwSW5kZXggPCBjdXJyZW50Q291bnQpO1xuICBpZiAoZHJhZnREYXRhLmxlbmd0aCAhPT0gYWxsRHJhZnRzLmxlbmd0aCkge1xuICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKGtleSwgSlNPTi5zdHJpbmdpZnkoZHJhZnREYXRhKSk7XG4gIH1cblxuICBjb25zdCBkb1VwbG9hZCA9IGFzeW5jIChcbiAgICBncm91cEluZGV4OiBudW1iZXIsXG4gICAgdGVtcGxhdGVJZDogbnVtYmVyLFxuICAgIGJhc2U2NDogc3RyaW5nLFxuICAgIHN1ZmZpeDogc3RyaW5nLFxuICApID0+IHVwbG9hZEJhc2U2NEltYWdlKFxuICAgIChhcGlVcmwgYXMgc3RyaW5nKSxcbiAgICBncm91cEluZGV4LFxuICAgIHRlbXBsYXRlSWQsXG4gICAgYmFzZTY0LFxuICAgIHN1ZmZpeCxcbiAgKTtcblxuICBhc3luYyBmdW5jdGlvbiBhcHByb3ZlRHJhdHMoKSB7XG4gICAgaWYgKCFkcmFmdEFwcHJvdmVDYWxsYmFjaykge1xuICAgICAgc2hvd0FsZXJ0KHsgbWVzc2FnZTogXCJObyBkcmFmdEFwcHJvdmVDYWxsYmFjaywgYWJvcnRpbmcuXCIgfSk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgc2V0SXNMb2FkaW5nKHRydWUpO1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBkcmFmdEZpbGVzOiBNZXJjaGlGaWxlW10gPSBbXTtcbiAgICAgIGNvbnN0IGNsaWVudEZpbGVzOiBNZXJjaGlGaWxlW10gPSBbXTtcbiAgICAgIGZvciAoY29uc3QgZ3JvdXAgb2YgZHJhZnREYXRhKSB7XG4gICAgICAgIGZvciAoY29uc3QgdGVtcGxhdGUgb2YgZ3JvdXAudGVtcGxhdGVEYXRhKSB7XG4gICAgICAgICAgY29uc3QgY2xpZW50RmlsZSA9IGF3YWl0IGRvVXBsb2FkKGdyb3VwLmdyb3VwSW5kZXgsIHRlbXBsYXRlLnRlbXBsYXRlSWQsIHRlbXBsYXRlLmRyYWZ0LCBcImNsaWVudFwiKTtcbiAgICAgICAgICBjb25zdCBkcmFmdEZpbGUgPSBhd2FpdCBkb1VwbG9hZChncm91cC5ncm91cEluZGV4LCB0ZW1wbGF0ZS50ZW1wbGF0ZUlkLCB0ZW1wbGF0ZS5jYW52YXNQcmV2aWV3LCBcImRyYWZ0XCIpO1xuICAgICAgICAgIGNsaWVudEZpbGVzLnB1c2goY2xpZW50RmlsZSk7XG4gICAgICAgICAgZHJhZnRGaWxlcy5wdXNoKGRyYWZ0RmlsZSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgY29uc3Qgam9iRGF0YSA9IHtcbiAgICAgICAgLi4uam9iLFxuICAgICAgICBjbGllbnRGaWxlczogY2xpZW50RmlsZXMubWFwKGFzQ2hlY2tvdXRDbGllbnRGaWxlKSxcbiAgICAgICAgb3duRHJhZnRzOiBbe1xuICAgICAgICAgIGFjY2VwdGVkOiBNYXRoLmZsb29yKERhdGUubm93KCkgLyAxMDAwKSxcbiAgICAgICAgICBpbWFnZXM6IGRyYWZ0RmlsZXMubWFwKGYgPT4gKHsgaWQ6IGYuaWQgfSkpLFxuICAgICAgICB9XVxuICAgICAgfTtcbiAgICAgIHNldEpvYihqb2JEYXRhKTtcblxuICAgICAgYXdhaXQgZHJhZnRBcHByb3ZlQ2FsbGJhY2soam9iRGF0YSk7XG4gICAgICBzZXRJc0RyYWZ0TW9kYWxPcGVuKGZhbHNlKTtcblxuICAgIH0gY2F0Y2ggKGU6IGFueSkge1xuICAgICAgY29uc3QgbWVzc2FnZSA9IGUuZXJyb3JNZXNzYWdlIHx8IGUubWVzc2FnZSB8fCBcIlVwbG9hZCBlcnJvclwiO1xuICAgICAgc2hvd0FsZXJ0KHsgbWVzc2FnZSB9KTtcbiAgICAgIGNvbnNvbGUuZXJyb3IoZSk7XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIHNldElzTG9hZGluZyhmYWxzZSk7XG4gICAgfVxuICB9XG4gIGNvbnN0IGRyYWZ0Q291bnQgPSBkcmFmdERhdGEubGVuZ3RoO1xuICBjb25zdCBhcHByb3ZlTGFiZWwgPSBkcmFmdENvdW50ID09PSAxID8gJ0FwcHJvdmUgZHJhZnQnIDogJ0FwcHJvdmUgZHJhZnRzJztcblxuICByZXR1cm4gKFxuICAgIDxkaXYgY2xhc3NOYW1lPSdtZXJjaGktcHJvZHVjdC1kcmFmdC1hcHByb3ZlLWxheW91dCc+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT0nbWVyY2hpLXByb2R1Y3QtZHJhZnQtYXBwcm92ZS1pbnRybyc+XG4gICAgICAgIDxoMiBpZD0nbWVyY2hpLXByb2R1Y3QtZHJhZnQtYXBwcm92ZS10aXRsZSc+XG4gICAgICAgICAge2FwcHJvdmVMYWJlbH1cbiAgICAgICAgPC9oMj5cbiAgICAgICAgPHA+XG4gICAgICAgICAge2RyYWZ0Q291bnQgPT09IDFcbiAgICAgICAgICAgID8gJ1BsZWFzZSBhcHByb3ZlIHlvdXIgZHJhZnQgYmVmb3JlIHlvdSBwcm9jZWVkLidcbiAgICAgICAgICAgIDogJ1BsZWFzZSBhcHByb3ZlIHlvdXIgZHJhZnRzIGJlZm9yZSB5b3UgcHJvY2VlZC4nfVxuICAgICAgICA8L3A+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPSdtZXJjaGktcHJvZHVjdC1kcmFmdC1hcHByb3ZlLWJvZHknPlxuICAgICAgICB7ZHJhZnREYXRhLm1hcCgoZHJhZnQsIGluZGV4KSA9PiAoXG4gICAgICAgICAgPGRpdiBrZXk9e2luZGV4fSBjbGFzc05hbWU9e2NsYXNzTmFtZURyYWZ0R3JvdXBDb250YWluZXJ9PlxuICAgICAgICAgICAgPGgzIGNsYXNzTmFtZT17Y2xhc3NOYW1lRHJhZnRHcm91cFRpdGxlfT5Hcm91cCB7aW5kZXggKyAxfTwvaDM+XG4gICAgICAgICAgICB7ZHJhZnQudGVtcGxhdGVEYXRhLm1hcCgodEQ6IFJlbmRlcmVkRHJhZnRQcmV2aWV3LCB0REluZGV4OiBudW1iZXIpID0+IChcbiAgICAgICAgICAgICAgPERyYWZ0UHJldmlldyBrZXk9e3RESW5kZXh9IHRlbXBsYXRlRGF0YT17dER9IC8+XG4gICAgICAgICAgICApKX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgKSl9XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPSdtZXJjaGktcHJvZHVjdC1kcmFmdC1hcHByb3ZlLWZvb3Rlcic+XG4gICAgICAgIHtjdXN0b21Gb290ZXJDb250ZW50fVxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgY2xhc3NOYW1lPSdtZXJjaGktcHJvZHVjdC1kcmFmdC1idG4gbWVyY2hpLXByb2R1Y3QtZHJhZnQtYnRuLXNlY29uZGFyeSdcbiAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XG4gICAgICAgICAgICBzZXRJc0RyYWZ0TW9kYWxPcGVuKGZhbHNlKTtcbiAgICAgICAgICB9fVxuICAgICAgICAgIGRpc2FibGVkPXtpc0xvYWRpbmd9XG4gICAgICAgID5cbiAgICAgICAgICBDbG9zZVxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgIGNsYXNzTmFtZT0nbWVyY2hpLXByb2R1Y3QtZHJhZnQtYnRuIG1lcmNoaS1wcm9kdWN0LWRyYWZ0LWJ0bi1wcmltYXJ5J1xuICAgICAgICAgIGRpc2FibGVkPXtpc0xvYWRpbmd9XG4gICAgICAgICAgb25DbGljaz17YXBwcm92ZURyYXRzfVxuICAgICAgICA+XG4gICAgICAgICAge2lzTG9hZGluZyA/ICdBcHByb3ZpbmfigKYnIDogYXBwcm92ZUxhYmVsfVxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICApO1xufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7OzBCQUNBLHVLQUFBQSxDQUFBLEVBQUFDLENBQUEsRUFBQUMsQ0FBQSx3QkFBQUMsTUFBQSxHQUFBQSxNQUFBLE9BQUFDLENBQUEsR0FBQUYsQ0FBQSxDQUFBRyxRQUFBLGtCQUFBQyxDQUFBLEdBQUFKLENBQUEsQ0FBQUssV0FBQSw4QkFBQUMsRUFBQU4sQ0FBQSxFQUFBRSxDQUFBLEVBQUFFLENBQUEsRUFBQUUsQ0FBQSxRQUFBQyxDQUFBLEdBQUFMLENBQUEsSUFBQUEsQ0FBQSxDQUFBTSxTQUFBLFlBQUFDLFNBQUEsR0FBQVAsQ0FBQSxHQUFBTyxTQUFBLEVBQUFDLENBQUEsR0FBQUMsTUFB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
|
|
388
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJlIiwidCIsInIiLCJTeW1ib2wiLCJuIiwiaXRlcmF0b3IiLCJvIiwidG9TdHJpbmdUYWciLCJpIiwiYyIsInByb3RvdHlwZSIsIkdlbmVyYXRvciIsInUiLCJPYmplY3QiLCJjcmVhdGUiLCJfcmVnZW5lcmF0b3JEZWZpbmUyIiwiZiIsInAiLCJ5IiwiRyIsInYiLCJhIiwiZCIsImJpbmQiLCJsZW5ndGgiLCJsIiwiVHlwZUVycm9yIiwiY2FsbCIsImRvbmUiLCJ2YWx1ZSIsIkdlbmVyYXRvckZ1bmN0aW9uIiwiR2VuZXJhdG9yRnVuY3Rpb25Qcm90b3R5cGUiLCJnZXRQcm90b3R5cGVPZiIsInNldFByb3RvdHlwZU9mIiwiX19wcm90b19fIiwiZGlzcGxheU5hbWUiLCJfcmVnZW5lcmF0b3IiLCJ3IiwibSIsImRlZmluZVByb3BlcnR5IiwiX3JlZ2VuZXJhdG9yRGVmaW5lIiwiX2ludm9rZSIsImVudW1lcmFibGUiLCJjb25maWd1cmFibGUiLCJ3cml0YWJsZSIsIl9zbGljZWRUb0FycmF5IiwiX2FycmF5V2l0aEhvbGVzIiwiX2l0ZXJhYmxlVG9BcnJheUxpbWl0IiwiX3Vuc3VwcG9ydGVkSXRlcmFibGVUb0FycmF5IiwiX25vbkl0ZXJhYmxlUmVzdCIsIl9hcnJheUxpa2VUb0FycmF5IiwidG9TdHJpbmciLCJzbGljZSIsImNvbnN0cnVjdG9yIiwibmFtZSIsIkFycmF5IiwiZnJvbSIsInRlc3QiLCJuZXh0IiwicHVzaCIsImlzQXJyYXkiLCJhc3luY0dlbmVyYXRvclN0ZXAiLCJQcm9taXNlIiwicmVzb2x2ZSIsInRoZW4iLCJfYXN5bmNUb0dlbmVyYXRvciIsImFyZ3VtZW50cyIsImFwcGx5IiwiX25leHQiLCJfdGhyb3ciLCJSZWFjdCIsInVzZVN0YXRlIiwidXNlTWVyY2hpRm9ybUNvbnRleHQiLCJjb2xsZWN0RGVzaWduZXJJbnB1dHMiLCJwYWNrRGVzaWduSW5wdXROb3RlcyIsImNsZWFyRHJhZnRXb3JrIiwianN4IiwiX2pzeCIsImpzeHMiLCJfanN4cyIsIkRyYWZ0UHJldmlldyIsIl9yZWYiLCJ0ZW1wbGF0ZURhdGEiLCJjYW52YXNQcmV2aWV3IiwiY2hpbGRyZW4iLCJzcmMiLCJhbHQiLCJ1cGxvYWRCYXNlNjRJbWFnZSIsIl94IiwiX3gyIiwiX3gzIiwiX3g0IiwiX3VwbG9hZEJhc2U2NEltYWdlIiwiX2NhbGxlZTMiLCJhcGlVcmwiLCJncm91cElkIiwidGVtcGxhdGVJZCIsImJhc2U2NCIsInN1ZmZpeCIsImJhc2U2NERhdGEiLCJiaW5hcnlTdHJpbmciLCJieXRlcyIsIm1pbWVNYXRjaCIsImJsb2IiLCJtaW1lIiwiZXh0ZW5zaW9uIiwiZmlsZSIsImZvcm1EYXRhIiwicmVzcG9uc2UiLCJkYXRhIiwidXBsb2FkZWQiLCJfYXJnczMiLCJfY29udGV4dDMiLCJ1bmRlZmluZWQiLCJpbmNsdWRlcyIsInNwbGl0IiwiYXRvYiIsIlVpbnQ4QXJyYXkiLCJjaGFyQ29kZUF0IiwiZXhlYyIsIkJsb2IiLCJ0eXBlIiwiRmlsZSIsImNvbmNhdCIsIkRhdGUiLCJub3ciLCJGb3JtRGF0YSIsImFwcGVuZCIsImZldGNoIiwibWV0aG9kIiwiYm9keSIsIm9rIiwiRXJyb3IiLCJzdGF0dXMiLCJzdGF0dXNUZXh0IiwianNvbiIsImlkIiwiYXNDaGVja291dENsaWVudEZpbGUiLCJvYmplY3RJZCIsIlN0cmluZyIsIkRyYWZ0QXBwcm92ZVBhbmVsIiwiX3JlZjIiLCJjdXN0b21Gb290ZXJDb250ZW50IiwiX3VzZU1lcmNoaUZvcm1Db250ZXh0IiwiY2xhc3NOYW1lRHJhZnRHcm91cENvbnRhaW5lciIsImNsYXNzTmFtZURyYWZ0R3JvdXBUaXRsZSIsImRyYWZ0QXBwcm92ZUNhbGxiYWNrIiwiam9iIiwicHJvZHVjdCIsInNldElzRHJhZnRNb2RhbE9wZW4iLCJzZXRKb2IiLCJzaG93QWxlcnQiLCJob29rRm9ybSIsIl91c2VTdGF0ZSIsIl91c2VTdGF0ZTIiLCJpc0xvYWRpbmciLCJzZXRJc0xvYWRpbmciLCJrZXkiLCJyYXciLCJsb2NhbFN0b3JhZ2UiLCJnZXRJdGVtIiwiYWxsRHJhZnRzIiwiSlNPTiIsInBhcnNlIiwiZ3JvdXBWYXJpYXRpb25GaWVsZHMiLCJnZXRWYWx1ZXMiLCJjdXJyZW50Q291bnQiLCJkcmFmdERhdGEiLCJmaWx0ZXIiLCJncm91cEluZGV4Iiwic2V0SXRlbSIsInN0cmluZ2lmeSIsImRvVXBsb2FkIiwiX3JlZjMiLCJfY2FsbGVlIiwiX2NvbnRleHQiLCJfeDUiLCJfeDYiLCJfeDciLCJfeDgiLCJhcHByb3ZlRHJhdHMiLCJfYXBwcm92ZURyYXRzIiwiX2NhbGxlZTIiLCJkcmFmdEZpbGVzIiwiY2xpZW50RmlsZXMiLCJfaXRlcmF0b3IiLCJfc3RlcCIsImdyb3VwIiwiX2l0ZXJhdG9yMyIsIl9zdGVwMyIsInRlbXBsYXRlIiwiY2xpZW50RmlsZSIsImRyYWZ0RmlsZSIsImRlc2lnbklucHV0cyIsIl9pdGVyYXRvcjIiLCJfc3RlcDIiLCJfaW5wdXQkc3JjIiwiaW5wdXQiLCJkZXNpZ25JbnB1dE5vdGVzIiwiam9iRGF0YSIsIm1lc3NhZ2UiLCJfdCIsIl90MiIsIl90MyIsIl90NCIsIl9jb250ZXh0MiIsIl9jcmVhdGVGb3JPZkl0ZXJhdG9ySGVscGVyIiwicyIsImRyYWZ0Iiwia2luZCIsIl9vYmplY3RTcHJlYWQiLCJ0ZXh0U3R5bGUiLCJzdGFydHNXaXRoIiwibWFwIiwib3duRHJhZnRzIiwiYWNjZXB0ZWQiLCJNYXRoIiwiZmxvb3IiLCJpbWFnZXMiLCJlcnJvck1lc3NhZ2UiLCJjb25zb2xlIiwiZXJyb3IiLCJkcmFmdENvdW50IiwiYXBwcm92ZUxhYmVsIiwiY2xhc3NOYW1lIiwiaW5kZXgiLCJ0RCIsInRESW5kZXgiLCJvbkNsaWNrIiwiZGlzYWJsZWQiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tcG9uZW50cy9kcmFmdHMvRHJhZnRBcHByb3ZlUGFuZWwudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IHVzZU1lcmNoaUZvcm1Db250ZXh0IH0gZnJvbSAnLi4vLi4vY29udGV4dC9NZXJjaGlQcm9kdWN0Rm9ybVByb3ZpZGVyJztcbmltcG9ydCB7XG4gIENoZWNrb3V0RGVzaWduSW5wdXQsXG4gIGNvbGxlY3REZXNpZ25lcklucHV0cyxcbiAgcGFja0Rlc2lnbklucHV0Tm90ZXMsXG59IGZyb20gJy4uLy4uL3V0aWxzL2Rlc2lnbmVySW5wdXRzJztcbmltcG9ydCB7IGNsZWFyRHJhZnRXb3JrIH0gZnJvbSAnLi4vLi4vdXRpbHMvZHJhZnRTdG9yYWdlJztcbmltcG9ydCB7IERyYWZ0VGVtcGxhdGVEYXRhLCBSZW5kZXJlZERyYWZ0UHJldmlldywgTWVyY2hpRmlsZSB9IGZyb20gJy4uLy4uL3V0aWxzL3R5cGVzJztcblxuZnVuY3Rpb24gRHJhZnRQcmV2aWV3KHsgdGVtcGxhdGVEYXRhIH06IHsgdGVtcGxhdGVEYXRhOiBSZW5kZXJlZERyYWZ0UHJldmlldyB9KSB7XG4gIGNvbnN0IHtcbiAgICBjYW52YXNQcmV2aWV3LFxuICB9ID0gdGVtcGxhdGVEYXRhO1xuICByZXR1cm4gKFxuICAgIDxkaXY+XG4gICAgICA8aW1nIHNyYz17Y2FudmFzUHJldmlld30gYWx0PVwiRHJhZnQgUHJldmlld1wiIC8+XG4gICAgPC9kaXY+XG4gICk7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIHVwbG9hZEJhc2U2NEltYWdlKFxuICBhcGlVcmw6IHN0cmluZyxcbiAgZ3JvdXBJZDogbnVtYmVyLFxuICB0ZW1wbGF0ZUlkOiBudW1iZXIsXG4gIGJhc2U2NDogc3RyaW5nLFxuICBzdWZmaXg6IHN0cmluZyA9ICdwcmV2aWV3J1xuKTogUHJvbWlzZTxNZXJjaGlGaWxlPiB7XG4gIC8vIFJlbW92ZSBcImRhdGE6aW1hZ2UvLi4uXCIgcHJlZml4IGlmIHByZXNlbnRcbiAgY29uc3QgYmFzZTY0RGF0YSA9IHR5cGVvZiBiYXNlNjQgPT09ICdzdHJpbmcnICYmIGJhc2U2NC5pbmNsdWRlcygnLCcpID8gYmFzZTY0LnNwbGl0KCcsJylbMV0gOiBiYXNlNjQ7XG5cbiAgLy8gQ29udmVydCBiYXNlNjQgdG8gYmluYXJ5IGRhdGFcbiAgY29uc3QgYmluYXJ5U3RyaW5nID0gYXRvYihiYXNlNjREYXRhKTtcbiAgY29uc3QgYnl0ZXMgPSBuZXcgVWludDhBcnJheShiaW5hcnlTdHJpbmcubGVuZ3RoKTtcblxuICBmb3IgKGxldCBpID0gMDsgaSA8IGJpbmFyeVN0cmluZy5sZW5ndGg7IGkrKykge1xuICAgIGJ5dGVzW2ldID0gYmluYXJ5U3RyaW5nLmNoYXJDb2RlQXQoaSk7XG4gIH1cblxuICAvLyBDcmVhdGUgYSBCbG9iIGZyb20gdGhlIGJpbmFyeSBkYXRhXG4gIGNvbnN0IG1pbWVNYXRjaCA9IHR5cGVvZiBiYXNlNjQgPT09ICdzdHJpbmcnXG4gICAgPyAvXmRhdGE6KFteOyxdKykvLmV4ZWMoYmFzZTY0KVxuICAgIDogbnVsbDtcbiAgY29uc3QgYmxvYiA9IG5ldyBCbG9iKFtieXRlc10sIHsgdHlwZTogbWltZU1hdGNoPy5bMV0gfHwgJ2ltYWdlL3BuZycgfSk7XG5cbiAgLy8gQ3JlYXRlIGEgRmlsZSBmcm9tIHRoZSBCbG9iXG4gIGNvbnN0IG1pbWUgPSBibG9iLnR5cGUgfHwgJ2ltYWdlL3BuZyc7XG4gIGNvbnN0IGV4dGVuc2lvbiA9IG1pbWUuc3BsaXQoJy8nKVsxXSB8fCAncG5nJztcbiAgY29uc3QgZmlsZSA9IG5ldyBGaWxlKFxuICAgIFtibG9iXSxcbiAgICBgZ3JvdXAtJHtncm91cElkfS10ZW1wbGF0ZS0ke3RlbXBsYXRlSWR9LWRyYWZ0LSR7c3VmZml4fS0ke0RhdGUubm93KCl9LiR7ZXh0ZW5zaW9ufWAsXG4gICAgeyB0eXBlOiBtaW1lIH1cbiAgKTtcblxuICBjb25zdCBmb3JtRGF0YSA9IG5ldyBGb3JtRGF0YSgpO1xuICBmb3JtRGF0YS5hcHBlbmQoJzAnLCBmaWxlKTtcblxuICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGZldGNoKGAke2FwaVVybH1wdWJsaWMtdXBsb2FkLWpvYi1maWxlcy9gLCB7XG4gICAgbWV0aG9kOiAnUE9TVCcsXG4gICAgYm9keTogZm9ybURhdGFcbiAgfSk7XG5cbiAgbGV0IGRhdGE7XG4gIGlmICghcmVzcG9uc2Uub2spIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYFNlcnZlciByZXNwb25kZWQgd2l0aCAke3Jlc3BvbnNlLnN0YXR1c306ICR7cmVzcG9uc2Uuc3RhdHVzVGV4dH1gKTtcbiAgfSBlbHNlIHtcbiAgICBkYXRhID0gYXdhaXQgcmVzcG9uc2UuanNvbigpO1xuICAgIGNvbnN0IHVwbG9hZGVkID0gZGF0YS5maWxlO1xuICAgIGlmICh1cGxvYWRlZD8uaWQgPT0gbnVsbCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdEcmFmdCB1cGxvYWQgZGlkIG5vdCByZXR1cm4gYSBmaWxlIGlkJyk7XG4gICAgfVxuICAgIHJldHVybiB1cGxvYWRlZDtcbiAgfVxufVxuXG4vKiogQG1lcmNoaS9jaGVja291dCBjbGVhbkNsaWVudEZpbGVzIHJlYWRzIGAuZmlsZWAsIG5vdCBhIGJhcmUgYHsgaWQgfWAuICovXG5mdW5jdGlvbiBhc0NoZWNrb3V0Q2xpZW50RmlsZShmaWxlOiBNZXJjaGlGaWxlKSB7XG4gIHJldHVybiB7XG4gICAgZmlsZTogeyBpZDogZmlsZS5pZCB9LFxuICAgIG9iamVjdElkOiBTdHJpbmcoZmlsZS5pZCksXG4gIH07XG59XG5cbmludGVyZmFjZSBEcmFmdEFwcHJvdmVQYW5lbFByb3BzIHtcbiAgY3VzdG9tRm9vdGVyQ29udGVudD86IFJlYWN0LlJlYWN0Tm9kZTtcbn1cblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gRHJhZnRBcHByb3ZlUGFuZWwoe1xuICBjdXN0b21Gb290ZXJDb250ZW50LFxufTogRHJhZnRBcHByb3ZlUGFuZWxQcm9wcykge1xuXG4gIGNvbnN0IHtcbiAgICBhcGlVcmwsXG4gICAgY2xhc3NOYW1lRHJhZnRHcm91cENvbnRhaW5lcixcbiAgICBjbGFzc05hbWVEcmFmdEdyb3VwVGl0bGUsXG4gICAgZHJhZnRBcHByb3ZlQ2FsbGJhY2ssXG4gICAgam9iLFxuICAgIHByb2R1Y3QsXG4gICAgc2V0SXNEcmFmdE1vZGFsT3BlbixcbiAgICBzZXRKb2IsXG4gICAgc2hvd0FsZXJ0LFxuICAgIGhvb2tGb3JtLFxuICB9ID0gdXNlTWVyY2hpRm9ybUNvbnRleHQoKTtcblxuICBjb25zdCBbaXNMb2FkaW5nLCBzZXRJc0xvYWRpbmddID0gdXNlU3RhdGUoZmFsc2UpO1xuXG4gIGNvbnN0IGtleSA9IGBwcm9kdWN0RHJhZnRUZW1wbGF0ZS0ke3Byb2R1Y3QuaWR9YDtcbiAgY29uc3QgcmF3ID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oa2V5KTtcbiAgaWYgKCFyYXcpIHJldHVybiBudWxsO1xuXG4gIGNvbnN0IGFsbERyYWZ0czogRHJhZnRUZW1wbGF0ZURhdGFbXSA9IEpTT04ucGFyc2UocmF3KTtcbiAgY29uc3QgZ3JvdXBWYXJpYXRpb25GaWVsZHM6IGFueVtdID0gaG9va0Zvcm0uZ2V0VmFsdWVzKCd2YXJpYXRpb25zR3JvdXBzJykgfHwgW107XG4gIGNvbnN0IGN1cnJlbnRDb3VudCA9IGdyb3VwVmFyaWF0aW9uRmllbGRzLmxlbmd0aDtcblxuICBjb25zdCBkcmFmdERhdGEgPSBhbGxEcmFmdHMuZmlsdGVyKGQgPT4gZC5ncm91cEluZGV4IDwgY3VycmVudENvdW50KTtcbiAgaWYgKGRyYWZ0RGF0YS5sZW5ndGggIT09IGFsbERyYWZ0cy5sZW5ndGgpIHtcbiAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbShrZXksIEpTT04uc3RyaW5naWZ5KGRyYWZ0RGF0YSkpO1xuICB9XG5cbiAgY29uc3QgZG9VcGxvYWQgPSBhc3luYyAoXG4gICAgZ3JvdXBJbmRleDogbnVtYmVyLFxuICAgIHRlbXBsYXRlSWQ6IG51bWJlcixcbiAgICBiYXNlNjQ6IHN0cmluZyxcbiAgICBzdWZmaXg6IHN0cmluZyxcbiAgKSA9PiB1cGxvYWRCYXNlNjRJbWFnZShcbiAgICAoYXBpVXJsIGFzIHN0cmluZyksXG4gICAgZ3JvdXBJbmRleCxcbiAgICB0ZW1wbGF0ZUlkLFxuICAgIGJhc2U2NCxcbiAgICBzdWZmaXgsXG4gICk7XG5cbiAgYXN5bmMgZnVuY3Rpb24gYXBwcm92ZURyYXRzKCkge1xuICAgIGlmICghZHJhZnRBcHByb3ZlQ2FsbGJhY2spIHtcbiAgICAgIHNob3dBbGVydCh7IG1lc3NhZ2U6IFwiTm8gZHJhZnRBcHByb3ZlQ2FsbGJhY2ssIGFib3J0aW5nLlwiIH0pO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHNldElzTG9hZGluZyh0cnVlKTtcbiAgICB0cnkge1xuICAgICAgY29uc3QgZHJhZnRGaWxlczogTWVyY2hpRmlsZVtdID0gW107XG4gICAgICBjb25zdCBjbGllbnRGaWxlczogTWVyY2hpRmlsZVtdID0gW107XG4gICAgICBmb3IgKGNvbnN0IGdyb3VwIG9mIGRyYWZ0RGF0YSkge1xuICAgICAgICBmb3IgKGNvbnN0IHRlbXBsYXRlIG9mIGdyb3VwLnRlbXBsYXRlRGF0YSkge1xuICAgICAgICAgIGNvbnN0IGNsaWVudEZpbGUgPSBhd2FpdCBkb1VwbG9hZChncm91cC5ncm91cEluZGV4LCB0ZW1wbGF0ZS50ZW1wbGF0ZUlkLCB0ZW1wbGF0ZS5kcmFmdCwgXCJjbGllbnRcIik7XG4gICAgICAgICAgY29uc3QgZHJhZnRGaWxlID0gYXdhaXQgZG9VcGxvYWQoZ3JvdXAuZ3JvdXBJbmRleCwgdGVtcGxhdGUudGVtcGxhdGVJZCwgdGVtcGxhdGUuY2FudmFzUHJldmlldywgXCJkcmFmdFwiKTtcbiAgICAgICAgICBjbGllbnRGaWxlcy5wdXNoKGNsaWVudEZpbGUpO1xuICAgICAgICAgIGRyYWZ0RmlsZXMucHVzaChkcmFmdEZpbGUpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGRlc2lnbklucHV0czogQ2hlY2tvdXREZXNpZ25JbnB1dFtdID0gW107XG4gICAgICBmb3IgKGNvbnN0IGlucHV0IG9mIGNvbGxlY3REZXNpZ25lcklucHV0cyhwcm9kdWN0LCBkcmFmdERhdGEpKSB7XG4gICAgICAgIGlmIChpbnB1dC5raW5kID09PSAndGV4dCcpIHtcbiAgICAgICAgICBkZXNpZ25JbnB1dHMucHVzaCh7XG4gICAgICAgICAgICBraW5kOiAndGV4dCcsXG4gICAgICAgICAgICBuYW1lOiBpbnB1dC5uYW1lLFxuICAgICAgICAgICAgdmFsdWU6IGlucHV0LnZhbHVlLFxuICAgICAgICAgICAgLi4uKGlucHV0LnRleHRTdHlsZSA/IHsgdGV4dFN0eWxlOiBpbnB1dC50ZXh0U3R5bGUgfSA6IHt9KSxcbiAgICAgICAgICAgIC4uLihpbnB1dC5ncm91cEluZGV4ICE9IG51bGwgPyB7IGdyb3VwSW5kZXg6IGlucHV0Lmdyb3VwSW5kZXggfSA6IHt9KSxcbiAgICAgICAgICB9KTtcbiAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIWlucHV0LnNyYz8uc3RhcnRzV2l0aCgnZGF0YTonKSkgY29udGludWU7XG4gICAgICAgIGNvbnN0IHVwbG9hZGVkID0gYXdhaXQgZG9VcGxvYWQoaW5wdXQuZ3JvdXBJbmRleCB8fCAwLCAwLCBpbnB1dC5zcmMsICdpbnB1dCcpO1xuICAgICAgICBkZXNpZ25JbnB1dHMucHVzaCh7XG4gICAgICAgICAga2luZDogJ2ZpbGUnLFxuICAgICAgICAgIG5hbWU6IGlucHV0Lm5hbWUsXG4gICAgICAgICAgZmlsZTogeyBpZDogdXBsb2FkZWQuaWQgYXMgbnVtYmVyIH0sXG4gICAgICAgICAgLi4uKGlucHV0Lmdyb3VwSW5kZXggIT0gbnVsbCA/IHsgZ3JvdXBJbmRleDogaW5wdXQuZ3JvdXBJbmRleCB9IDoge30pLFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICAgIGNvbnN0IGRlc2lnbklucHV0Tm90ZXMgPSBwYWNrRGVzaWduSW5wdXROb3RlcyhkZXNpZ25JbnB1dHMpO1xuXG4gICAgICBjb25zdCBqb2JEYXRhID0ge1xuICAgICAgICAuLi5qb2IsXG4gICAgICAgIGNsaWVudEZpbGVzOiBjbGllbnRGaWxlcy5tYXAoYXNDaGVja291dENsaWVudEZpbGUpLFxuICAgICAgICAuLi4oZGVzaWduSW5wdXRzLmxlbmd0aCA/IHsgZGVzaWduSW5wdXRzLCBkZXNpZ25JbnB1dE5vdGVzIH0gOiB7fSksXG4gICAgICAgIG93bkRyYWZ0czogW3tcbiAgICAgICAgICBhY2NlcHRlZDogTWF0aC5mbG9vcihEYXRlLm5vdygpIC8gMTAwMCksXG4gICAgICAgICAgaW1hZ2VzOiBkcmFmdEZpbGVzLm1hcChmID0+ICh7IGlkOiBmLmlkIH0pKSxcbiAgICAgICAgfV1cbiAgICAgIH07XG4gICAgICBzZXRKb2Ioam9iRGF0YSk7XG5cbiAgICAgIGF3YWl0IGRyYWZ0QXBwcm92ZUNhbGxiYWNrKGpvYkRhdGEpO1xuICAgICAgY2xlYXJEcmFmdFdvcmsocHJvZHVjdC5pZCk7XG4gICAgICBzZXRJc0RyYWZ0TW9kYWxPcGVuKGZhbHNlKTtcblxuICAgIH0gY2F0Y2ggKGU6IGFueSkge1xuICAgICAgY29uc3QgbWVzc2FnZSA9IGUuZXJyb3JNZXNzYWdlIHx8IGUubWVzc2FnZSB8fCBcIlVwbG9hZCBlcnJvclwiO1xuICAgICAgc2hvd0FsZXJ0KHsgbWVzc2FnZSB9KTtcbiAgICAgIGNvbnNvbGUuZXJyb3IoZSk7XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIHNldElzTG9hZGluZyhmYWxzZSk7XG4gICAgfVxuICB9XG4gIGNvbnN0IGRyYWZ0Q291bnQgPSBkcmFmdERhdGEubGVuZ3RoO1xuICBjb25zdCBhcHByb3ZlTGFiZWwgPSBkcmFmdENvdW50ID09PSAxID8gJ0FwcHJvdmUgZHJhZnQnIDogJ0FwcHJvdmUgZHJhZnRzJztcblxuICByZXR1cm4gKFxuICAgIDxkaXYgY2xhc3NOYW1lPSdtZXJjaGktcHJvZHVjdC1kcmFmdC1hcHByb3ZlLWxheW91dCc+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT0nbWVyY2hpLXByb2R1Y3QtZHJhZnQtYXBwcm92ZS1pbnRybyc+XG4gICAgICAgIDxoMiBpZD0nbWVyY2hpLXByb2R1Y3QtZHJhZnQtYXBwcm92ZS10aXRsZSc+XG4gICAgICAgICAge2FwcHJvdmVMYWJlbH1cbiAgICAgICAgPC9oMj5cbiAgICAgICAgPHA+XG4gICAgICAgICAge2RyYWZ0Q291bnQgPT09IDFcbiAgICAgICAgICAgID8gJ1BsZWFzZSBhcHByb3ZlIHlvdXIgZHJhZnQgYmVmb3JlIHlvdSBwcm9jZWVkLidcbiAgICAgICAgICAgIDogJ1BsZWFzZSBhcHByb3ZlIHlvdXIgZHJhZnRzIGJlZm9yZSB5b3UgcHJvY2VlZC4nfVxuICAgICAgICA8L3A+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPSdtZXJjaGktcHJvZHVjdC1kcmFmdC1hcHByb3ZlLWJvZHknPlxuICAgICAgICB7ZHJhZnREYXRhLm1hcCgoZHJhZnQsIGluZGV4KSA9PiAoXG4gICAgICAgICAgPGRpdiBrZXk9e2luZGV4fSBjbGFzc05hbWU9e2NsYXNzTmFtZURyYWZ0R3JvdXBDb250YWluZXJ9PlxuICAgICAgICAgICAgPGgzIGNsYXNzTmFtZT17Y2xhc3NOYW1lRHJhZnRHcm91cFRpdGxlfT5Hcm91cCB7aW5kZXggKyAxfTwvaDM+XG4gICAgICAgICAgICB7ZHJhZnQudGVtcGxhdGVEYXRhLm1hcCgodEQ6IFJlbmRlcmVkRHJhZnRQcmV2aWV3LCB0REluZGV4OiBudW1iZXIpID0+IChcbiAgICAgICAgICAgICAgPERyYWZ0UHJldmlldyBrZXk9e3RESW5kZXh9IHRlbXBsYXRlRGF0YT17dER9IC8+XG4gICAgICAgICAgICApKX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgKSl9XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPSdtZXJjaGktcHJvZHVjdC1kcmFmdC1hcHByb3ZlLWZvb3Rlcic+XG4gICAgICAgIHtjdXN0b21Gb290ZXJDb250ZW50fVxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgY2xhc3NOYW1lPSdtZXJjaGktcHJvZHVjdC1kcmFmdC1idG4gbWVyY2hpLXByb2R1Y3QtZHJhZnQtYnRuLXNlY29uZGFyeSdcbiAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XG4gICAgICAgICAgICBzZXRJc0RyYWZ0TW9kYWxPcGVuKGZhbHNlKTtcbiAgICAgICAgICB9fVxuICAgICAgICAgIGRpc2FibGVkPXtpc0xvYWRpbmd9XG4gICAgICAgID5cbiAgICAgICAgICBDbG9zZVxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgIGNsYXNzTmFtZT0nbWVyY2hpLXByb2R1Y3QtZHJhZnQtYnRuIG1lcmNoaS1wcm9kdWN0LWRyYWZ0LWJ0bi1wcmltYXJ5J1xuICAgICAgICAgIGRpc2FibGVkPXtpc0xvYWRpbmd9XG4gICAgICAgICAgb25DbGljaz17YXBwcm92ZURyYXRzfVxuICAgICAgICA+XG4gICAgICAgICAge2lzTG9hZGluZyA/ICdBcHByb3ZpbmfigKYnIDogYXBwcm92ZUxhYmVsfVxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICApO1xufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7OzBCQUNBLHVLQUFBQSxDQUFBLEVBQUFDLENBQUEsRUFBQUMsQ0FBQSx3QkFBQUMsTUFBQSxHQUFBQSxNQUFBLE9BQUFDLENBQUEsR0FBQUYsQ0FBQSxDQUFBRyxRQUFBLGtCQUFBQyxDQUFBLEdBQUFKLENBQUEsQ0FBQUssV0FBQSw4QkFBQUMsRUFBQU4sQ0FBQSxFQUFBRSxDQUFBLEVBQUFFLENBQUEsRUFBQUUsQ0FBQSxRQUFBQyxDQUFBLEdBQUFMLENBQUEsSUFBQUEsQ0FBQSxDQUFBTSxTQUFBLFlBQUFDLFNBQUEsR0FBQVAsQ0FBQSxHQUFBTyxTQUFBLEVBQUFDLENBQUEsR0FBQUMsTUFBQSxDQUFBQyxNQUFBLENBQUFMLENBQUEsQ0FBQUMsU0FBQSxVQUFBSyxtQkFBQSxDQUFBSCxDQUFBLHVCQUFBVixDQUFBLEVBQUFFLENBQUEsRUFBQUUsQ0FBQSxRQUFBRSxDQUFBLEVBQUFDLENBQUEsRUFBQUcsQ0FBQSxFQUFBSSxDQUFBLE1B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
|
|
@@ -25,7 +25,7 @@ import DropzoneInput from '../DropzoneInput';
|
|
|
25
25
|
import { templateDownloadHref, templateImageSources } from '../../utils/draftExport';
|
|
26
26
|
import { downloadableDraftTemplates, productAllowsClientDesign } from '../../utils/draftTemplates';
|
|
27
27
|
import { isProductLeadForm } from '../utils';
|
|
28
|
-
import {
|
|
28
|
+
import { clearDraftWork, clearOtherProductDrafts, completeGroupCount, loadArtworkPath, loadDrafts, loadTemplateUploads, missingDesignSlots, saveArtworkPath, saveDesignMethod, saveTemplateUploads } from '../../utils/draftStorage';
|
|
29
29
|
import DraftApprovePanel from './DraftApprovePanel';
|
|
30
30
|
import DraftDesignerSheet from './DraftDesignerSheet';
|
|
31
31
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
@@ -111,8 +111,12 @@ export function ProductDraftsCta() {
|
|
|
111
111
|
}, [apiUrl, formValues, product]);
|
|
112
112
|
React.useEffect(function () {
|
|
113
113
|
if (!(product !== null && product !== void 0 && product.id)) return;
|
|
114
|
+
clearOtherProductDrafts(product.id);
|
|
114
115
|
setArtworkPath(loadArtworkPath(product.id));
|
|
115
116
|
setUploads(loadTemplateUploads(product.id));
|
|
117
|
+
setDraftRevision(function (value) {
|
|
118
|
+
return value + 1;
|
|
119
|
+
});
|
|
116
120
|
}, [product === null || product === void 0 ? void 0 : product.id]);
|
|
117
121
|
if (!allowed || isProductLeadForm(product)) return null;
|
|
118
122
|
function choosePath(path) {
|
|
@@ -123,8 +127,7 @@ export function ProductDraftsCta() {
|
|
|
123
127
|
if (!(product !== null && product !== void 0 && product.id)) return;
|
|
124
128
|
var confirmed = window.confirm('This will clear your saved artwork. Start again from scratch?');
|
|
125
129
|
if (!confirmed) return;
|
|
126
|
-
|
|
127
|
-
saveTemplateUploads(product.id, []);
|
|
130
|
+
clearDraftWork(product.id);
|
|
128
131
|
setUploads([]);
|
|
129
132
|
setJob(_objectSpread(_objectSpread({}, job), {}, {
|
|
130
133
|
ownDrafts: [],
|
|
@@ -361,4 +364,4 @@ export default function ProductDraftsHost() {
|
|
|
361
364
|
}), document.body) : null]
|
|
362
365
|
});
|
|
363
366
|
}
|
|
364
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfdHlwZW9mIiwibyIsIlN5bWJvbCIsIml0ZXJhdG9yIiwiY29uc3RydWN0b3IiLCJwcm90b3R5cGUiLCJfdG9Db25zdW1hYmxlQXJyYXkiLCJyIiwiX2FycmF5V2l0aG91dEhvbGVzIiwiX2l0ZXJhYmxlVG9BcnJheSIsIl91bnN1cHBvcnRlZEl0ZXJhYmxlVG9BcnJheSIsIl9ub25JdGVyYWJsZVNwcmVhZCIsIlR5cGVFcnJvciIsIkFycmF5IiwiZnJvbSIsImlzQXJyYXkiLCJfYXJyYXlMaWtlVG9BcnJheSIsIm93bktleXMiLCJlIiwidCIsIk9iamVjdCIsImtleXMiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJmaWx0ZXIiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJlbnVtZXJhYmxlIiwicHVzaCIsImFwcGx5IiwiX29iamVjdFNwcmVhZCIsImFyZ3VtZW50cyIsImxlbmd0aCIsImZvckVhY2giLCJfZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzIiwiZGVmaW5lUHJvcGVydGllcyIsImRlZmluZVByb3BlcnR5IiwiX3RvUHJvcGVydHlLZXkiLCJ2YWx1ZSIsImNvbmZpZ3VyYWJsZSIsIndyaXRhYmxlIiwiaSIsIl90b1ByaW1pdGl2ZSIsInRvUHJpbWl0aXZlIiwiY2FsbCIsIlN0cmluZyIsIk51bWJlciIsIl9zbGljZWRUb0FycmF5IiwiX2FycmF5V2l0aEhvbGVzIiwiX2l0ZXJhYmxlVG9BcnJheUxpbWl0IiwiX25vbkl0ZXJhYmxlUmVzdCIsImEiLCJ0b1N0cmluZyIsInNsaWNlIiwibmFtZSIsInRlc3QiLCJuIiwibCIsInUiLCJmIiwibmV4dCIsImRvbmUiLCJSZWFjdCIsInVzZUxheW91dEVmZmVjdCIsInVzZU1lbW8iLCJ1c2VTdGF0ZSIsImNyZWF0ZVBvcnRhbCIsIkZhQ2hldnJvbkRvd24iLCJGYURvd25sb2FkIiwiRmFQYWludEJydXNoIiwiRmFUaW1lcyIsInVzZU1lcmNoaUZvcm1Db250ZXh0IiwiRHJvcHpvbmVJbnB1dCIsInRlbXBsYXRlRG93bmxvYWRIcmVmIiwidGVtcGxhdGVJbWFnZVNvdXJjZXMiLCJkb3dubG9hZGFibGVEcmFmdFRlbXBsYXRlcyIsInByb2R1Y3RBbGxvd3NDbGllbnREZXNpZ24iLCJpc1Byb2R1Y3RMZWFkRm9ybSIsImNsZWFyRHJhZnRzIiwiY29tcGxldGVHcm91cENvdW50IiwibG9hZEFydHdvcmtQYXRoIiwibG9hZERyYWZ0cyIsImxvYWRUZW1wbGF0ZVVwbG9hZHMiLCJtaXNzaW5nRGVzaWduU2xvdHMiLCJzYXZlQXJ0d29ya1BhdGgiLCJzYXZlRGVzaWduTWV0aG9kIiwic2F2ZVRlbXBsYXRlVXBsb2FkcyIsIkRyYWZ0QXBwcm92ZVBhbmVsIiwiRHJhZnREZXNpZ25lclNoZWV0IiwianN4IiwiX2pzeCIsImpzeHMiLCJfanN4cyIsIkZyYWdtZW50IiwiX0ZyYWdtZW50IiwiVGVtcGxhdGVBdmF0YXIiLCJfcmVmIiwic3JjIiwiX3VzZVN0YXRlIiwiX3VzZVN0YXRlMiIsImZhaWxlZCIsInNldEZhaWxlZCIsImNsYXNzTmFtZSIsImNoaWxkcmVuIiwidG9VcHBlckNhc2UiLCJhbHQiLCJvbkVycm9yIiwiZmluZENoZWNrb3V0QnV0dG9uc0VsIiwibWFya2VkIiwiZG9jdW1lbnQiLCJxdWVyeVNlbGVjdG9yIiwiSFRNTEVsZW1lbnQiLCJuYW1lZCIsInN1Ym1pdCIsInBhcmVudEVsZW1lbnQiLCJQcm9kdWN0RHJhZnRzQ3RhIiwiX2hvb2tGb3JtJGdldFZhbHVlcyIsIl91c2VNZXJjaGlGb3JtQ29udGV4dCIsImFwaVVybCIsImNsYXNzTmFtZURyYWZ0Q3RhIiwiaG9va0Zvcm0iLCJqb2IiLCJwcm9kdWN0Iiwic2V0SXNEcmFmdERlc2lnbmVyT3BlbiIsInNldEpvYiIsIl91c2VTdGF0ZTMiLCJfdXNlU3RhdGU0IiwiZHJhZnRSZXZpc2lvbiIsInNldERyYWZ0UmV2aXNpb24iLCJfdXNlU3RhdGU1IiwiX3VzZVN0YXRlNiIsImFydHdvcmtQYXRoIiwic2V0QXJ0d29ya1BhdGgiLCJfdXNlU3RhdGU3IiwiX3VzZVN0YXRlOCIsInRlbXBsYXRlc09wZW4iLCJzZXRUZW1wbGF0ZXNPcGVuIiwiX3VzZVN0YXRlOSIsIl91c2VTdGF0ZTAiLCJ1cGxvYWRzIiwic2V0VXBsb2FkcyIsImFsbG93ZWQiLCJmb3JtVmFsdWVzIiwid2F0Y2giLCJnZXRWYWx1ZXMiLCJkcmFmdHMiLCJ3aW5kb3ciLCJpZCIsInN0YXR1cyIsImhhc1NhdmVkIiwiY29tcGxldGUiLCJkb3dubG9hZHMiLCJ0ZW1wbGF0ZXMiLCJtYXAiLCJ0ZW1wbGF0ZSIsImluZGV4IiwiX3RlbXBsYXRlJGZpbGUiLCJfdGVtcGxhdGUkaWQiLCJfdGVtcGxhdGUkZmlsZTIiLCJmaWxlIiwidHJpbSIsImNvbmNhdCIsImtleSIsImhyZWYiLCJwcmV2aWV3IiwiZmlsZU5hbWUiLCJpdGVtIiwidXNlRWZmZWN0IiwiY2hvb3NlUGF0aCIsInBhdGgiLCJzdGFydEFnYWluIiwiY29uZmlybWVkIiwiY29uZmlybSIsIm93bkRyYWZ0cyIsImNsaWVudEZpbGVzIiwib3BlbkRlc2lnbmVyIiwidG9nZ2xlVGVtcGxhdGVzIiwib3BlbiIsInJlbWVtYmVyVXBsb2FkcyIsImFkZFVwbG9hZCIsInByb2R1Y3RJZCIsImN1cnJlbnQiLCJ2aWV3VXJsIiwiY2FjaGVkVmlld1VybCIsImRvd25sb2FkVXJsIiwicmVtb3ZlVXBsb2FkIiwicm9sZSIsInR5cGUiLCJvbkNsaWNrIiwidG90YWwiLCJkb3dubG9hZCIsInRhcmdldCIsInJlbCIsIm11bHRpcGxlIiwiYWNjZXB0IiwicGxhY2Vob2xkZXIiLCJvblVwbG9hZFN1Y2Nlc3MiLCJQcm9kdWN0RHJhZnRzSG9zdCIsIl9ob29rRm9ybSRnZXRWYWx1ZXMyIiwiX21pc3NpbmckIiwiX3VzZU1lcmNoaUZvcm1Db250ZXh0MiIsImlzRHJhZnREZXNpZ25lck9wZW4iLCJpc0RyYWZ0TW9kYWxPcGVuIiwiY29uc3VtZVBlbmRpbmdDaGVja291dCIsIm1pc3NpbmciLCJfdXNlU3RhdGUxIiwiX3VzZVN0YXRlMTAiLCJjdGFBbmNob3IiLCJzZXRDdGFBbmNob3IiLCJidXR0b25zIiwic2xvdCIsImNyZWF0ZUVsZW1lbnQiLCJzZXRBdHRyaWJ1dGUiLCJpbnNlcnRCZWZvcmUiLCJyZW1vdmUiLCJoYW5kbGVTYXZlZCIsInBlbmRpbmciLCJCb29sZWFuIiwiaW5pdGlhbEdyb3VwSW5kZXgiLCJncm91cEluZGV4Iiwib25DbG9zZSIsIm9uU2F2ZWQiLCJib2R5Il0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvZHJhZnRzL1Byb2R1Y3REcmFmdHNIb3N0LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIGNsaWVudCc7XG5pbXBvcnQgKiBhcyBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyB1c2VMYXlvdXRFZmZlY3QsIHVzZU1lbW8sIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgY3JlYXRlUG9ydGFsIH0gZnJvbSAncmVhY3QtZG9tJztcbmltcG9ydCB7IEZhQ2hldnJvbkRvd24sIEZhRG93bmxvYWQsIEZhUGFpbnRCcnVzaCwgRmFUaW1lcyB9IGZyb20gJ3JlYWN0LWljb25zL2ZhJztcbmltcG9ydCB7IHVzZU1lcmNoaUZvcm1Db250ZXh0IH0gZnJvbSAnLi4vLi4vY29udGV4dC9NZXJjaGlQcm9kdWN0Rm9ybVByb3ZpZGVyJztcbmltcG9ydCBEcm9wem9uZUlucHV0IGZyb20gJy4uL0Ryb3B6b25lSW5wdXQnO1xuaW1wb3J0IHsgdGVtcGxhdGVEb3dubG9hZEhyZWYsIHRlbXBsYXRlSW1hZ2VTb3VyY2VzIH0gZnJvbSAnLi4vLi4vdXRpbHMvZHJhZnRFeHBvcnQnO1xuaW1wb3J0IHtcbiAgZG93bmxvYWRhYmxlRHJhZnRUZW1wbGF0ZXMsXG4gIHByb2R1Y3RBbGxvd3NDbGllbnREZXNpZ24sXG59IGZyb20gJy4uLy4uL3V0aWxzL2RyYWZ0VGVtcGxhdGVzJztcbmltcG9ydCB7IGlzUHJvZHVjdExlYWRGb3JtIH0gZnJvbSAnLi4vdXRpbHMnO1xuaW1wb3J0IHtcbiAgQXJ0d29ya1BhdGgsXG4gIFRlbXBsYXRlVXBsb2FkLFxuICBjbGVhckRyYWZ0cyxcbiAgY29tcGxldGVHcm91cENvdW50LFxuICBsb2FkQXJ0d29ya1BhdGgsXG4gIGxvYWREcmFmdHMsXG4gIGxvYWRUZW1wbGF0ZVVwbG9hZHMsXG4gIG1pc3NpbmdEZXNpZ25TbG90cyxcbiAgc2F2ZUFydHdvcmtQYXRoLFxuICBzYXZlRGVzaWduTWV0aG9kLFxuICBzYXZlVGVtcGxhdGVVcGxvYWRzLFxufSBmcm9tICcuLi8uLi91dGlscy9kcmFmdFN0b3JhZ2UnO1xuaW1wb3J0IERyYWZ0QXBwcm92ZVBhbmVsIGZyb20gJy4vRHJhZnRBcHByb3ZlUGFuZWwnO1xuaW1wb3J0IERyYWZ0RGVzaWduZXJTaGVldCBmcm9tICcuL0RyYWZ0RGVzaWduZXJTaGVldCc7XG5cbmZ1bmN0aW9uIFRlbXBsYXRlQXZhdGFyKHsgc3JjLCBuYW1lIH06IHsgc3JjOiBzdHJpbmc7IG5hbWU6IHN0cmluZyB9KSB7XG4gIGNvbnN0IFtmYWlsZWQsIHNldEZhaWxlZF0gPSB1c2VTdGF0ZShmYWxzZSk7XG4gIGlmICghc3JjIHx8IGZhaWxlZCkge1xuICAgIHJldHVybiAoXG4gICAgICA8c3BhbiBjbGFzc05hbWU9J21lcmNoaS1wcm9kdWN0LWRyYWZ0LXRlbXBsYXRlLWF2YXRhciBpcy1lbXB0eScgYXJpYS1oaWRkZW49J3RydWUnPlxuICAgICAgICB7bmFtZS5zbGljZSgwLCAxKS50b1VwcGVyQ2FzZSgpfVxuICAgICAgPC9zcGFuPlxuICAgICk7XG4gIH1cbiAgcmV0dXJuIChcbiAgICA8aW1nXG4gICAgICBjbGFzc05hbWU9J21lcmNoaS1wcm9kdWN0LWRyYWZ0LXRlbXBsYXRlLWF2YXRhcidcbiAgICAgIHNyYz17c3JjfVxuICAgICAgYWx0PScnXG4gICAgICBvbkVycm9yPXsoKSA9PiBzZXRGYWlsZWQodHJ1ZSl9XG4gICAgLz5cbiAgKTtcbn1cblxuZnVuY3Rpb24gZmluZENoZWNrb3V0QnV0dG9uc0VsKCk6IEhUTUxFbGVtZW50IHwgbnVsbCB7XG4gIGNvbnN0IG1hcmtlZCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ1tkYXRhLW1lcmNoaS1jaGVja291dC1idXR0b25zXScpO1xuICBpZiAobWFya2VkIGluc3RhbmNlb2YgSFRNTEVsZW1lbnQpIHJldHVybiBtYXJrZWQ7XG4gIGNvbnN0IG5hbWVkID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcihcbiAgICAnLm1lcmNoaS1wcm9kdWN0LWJ1dHRvbnMtc3VibWl0LWNvbnRhaW5lciwgLm1lcmNoaS1hY3Rpb24tYnV0dG9ucy1jb250YWluZXInLFxuICApO1xuICBpZiAobmFtZWQgaW5zdGFuY2VvZiBIVE1MRWxlbWVudCkgcmV0dXJuIG5hbWVkO1xuICBjb25zdCBzdWJtaXQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcubWVyY2hpLWVtYmVkLWZvcm1fYnV0dG9uLXN1Ym1pdCcpO1xuICByZXR1cm4gc3VibWl0IGluc3RhbmNlb2YgSFRNTEVsZW1lbnQgPyBzdWJtaXQucGFyZW50RWxlbWVudCA6IG51bGw7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBQcm9kdWN0RHJhZnRzQ3RhKCkge1xuICBjb25zdCB7XG4gICAgYXBpVXJsLFxuICAgIGNsYXNzTmFtZURyYWZ0Q3RhLFxuICAgIGhvb2tGb3JtLFxuICAgIGpvYixcbiAgICBwcm9kdWN0LFxuICAgIHNldElzRHJhZnREZXNpZ25lck9wZW4sXG4gICAgc2V0Sm9iLFxuICB9ID0gdXNlTWVyY2hpRm9ybUNvbnRleHQoKTtcbiAgY29uc3QgW2RyYWZ0UmV2aXNpb24sIHNldERyYWZ0UmV2aXNpb25dID0gdXNlU3RhdGUoMCk7XG4gIGNvbnN0IFthcnR3b3JrUGF0aCwgc2V0QXJ0d29ya1BhdGhdID0gdXNlU3RhdGU8QXJ0d29ya1BhdGg+KCdzZWxmJyk7XG4gIGNvbnN0IFt0ZW1wbGF0ZXNPcGVuLCBzZXRUZW1wbGF0ZXNPcGVuXSA9IHVzZVN0YXRlKGZhbHNlKTtcbiAgY29uc3QgW3VwbG9hZHMsIHNldFVwbG9hZHNdID0gdXNlU3RhdGU8VGVtcGxhdGVVcGxvYWRbXT4oW10pO1xuXG4gIGNvbnN0IGFsbG93ZWQgPSBwcm9kdWN0QWxsb3dzQ2xpZW50RGVzaWduKHByb2R1Y3QpO1xuICBjb25zdCBmb3JtVmFsdWVzID0gaG9va0Zvcm0ud2F0Y2ggPyBob29rRm9ybS53YXRjaCgpIDogaG9va0Zvcm0uZ2V0VmFsdWVzPy4oKSB8fCB7fTtcbiAgY29uc3QgZHJhZnRzID0gdHlwZW9mIHdpbmRvdyAhPT0gJ3VuZGVmaW5lZCcgJiYgcHJvZHVjdD8uaWRcbiAgICA/IGxvYWREcmFmdHMocHJvZHVjdC5pZClcbiAgICA6IFtdO1xuICBjb25zdCBzdGF0dXMgPSB1c2VNZW1vKFxuICAgICgpID0+IGNvbXBsZXRlR3JvdXBDb3VudChwcm9kdWN0LCBmb3JtVmFsdWVzLCBkcmFmdHMpLFxuICAgIFtwcm9kdWN0LCBmb3JtVmFsdWVzLCBkcmFmdHMsIGRyYWZ0UmV2aXNpb25dLFxuICApO1xuICBjb25zdCBoYXNTYXZlZCA9IHN0YXR1cy5jb21wbGV0ZSA+IDA7XG4gIGNvbnN0IGRvd25sb2FkcyA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIGNvbnN0IHRlbXBsYXRlcyA9IGRvd25sb2FkYWJsZURyYWZ0VGVtcGxhdGVzKHByb2R1Y3QsIGZvcm1WYWx1ZXMpO1xuICAgIHJldHVybiB0ZW1wbGF0ZXNcbiAgICAgIC5tYXAoKHRlbXBsYXRlLCBpbmRleCkgPT4ge1xuICAgICAgICBjb25zdCBuYW1lID0gU3RyaW5nKHRlbXBsYXRlPy5uYW1lIHx8IHRlbXBsYXRlPy5maWxlPy5uYW1lIHx8ICcnKS50cmltKClcbiAgICAgICAgICB8fCBgVGVtcGxhdGUgJHtpbmRleCArIDF9YDtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBrZXk6IHRlbXBsYXRlPy5pZCA/PyBpbmRleCxcbiAgICAgICAgICBocmVmOiB0ZW1wbGF0ZURvd25sb2FkSHJlZih0ZW1wbGF0ZSwgYXBpVXJsKSxcbiAgICAgICAgICBwcmV2aWV3OiB0ZW1wbGF0ZUltYWdlU291cmNlcyh0ZW1wbGF0ZSwgYXBpVXJsKVswXSB8fCAnJyxcbiAgICAgICAgICBuYW1lLFxuICAgICAgICAgIGZpbGVOYW1lOiBTdHJpbmcodGVtcGxhdGU/LmZpbGU/Lm5hbWUgfHwgJycpLnRyaW0oKSB8fCBuYW1lLFxuICAgICAgICB9O1xuICAgICAgfSlcbiAgICAgIC5maWx0ZXIoKGl0ZW0pID0+IGl0ZW0uaHJlZik7XG4gIH0sIFthcGlVcmwsIGZvcm1WYWx1ZXMsIHByb2R1Y3RdKTtcblxuICBSZWFjdC51c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmICghcHJvZHVjdD8uaWQpIHJldHVybjtcbiAgICBzZXRBcnR3b3JrUGF0aChsb2FkQXJ0d29ya1BhdGgocHJvZHVjdC5pZCkpO1xuICAgIHNldFVwbG9hZHMobG9hZFRlbXBsYXRlVXBsb2Fkcyhwcm9kdWN0LmlkKSk7XG4gIH0sIFtwcm9kdWN0Py5pZF0pO1xuXG4gIGlmICghYWxsb3dlZCB8fCBpc1Byb2R1Y3RMZWFkRm9ybShwcm9kdWN0KSkgcmV0dXJuIG51bGw7XG5cbiAgZnVuY3Rpb24gY2hvb3NlUGF0aChwYXRoOiBBcnR3b3JrUGF0aCkge1xuICAgIHNldEFydHdvcmtQYXRoKHBhdGgpO1xuICAgIGlmIChwcm9kdWN0Py5pZCkgc2F2ZUFydHdvcmtQYXRoKHByb2R1Y3QuaWQsIHBhdGgpO1xuICB9XG5cbiAgZnVuY3Rpb24gc3RhcnRBZ2FpbigpIHtcbiAgICBpZiAoIXByb2R1Y3Q/LmlkKSByZXR1cm47XG4gICAgY29uc3QgY29uZmlybWVkID0gd2luZG93LmNvbmZpcm0oXG4gICAgICAnVGhpcyB3aWxsIGNsZWFyIHlvdXIgc2F2ZWQgYXJ0d29yay4gU3RhcnQgYWdhaW4gZnJvbSBzY3JhdGNoPycsXG4gICAgKTtcbiAgICBpZiAoIWNvbmZpcm1lZCkgcmV0dXJuO1xuICAgIGNsZWFyRHJhZnRzKHByb2R1Y3QuaWQpO1xuICAgIHNhdmVUZW1wbGF0ZVVwbG9hZHMocHJvZHVjdC5pZCwgW10pO1xuICAgIHNldFVwbG9hZHMoW10pO1xuICAgIHNldEpvYih7XG4gICAgICAuLi5qb2IsXG4gICAgICBvd25EcmFmdHM6IFtdLFxuICAgICAgY2xpZW50RmlsZXM6IFtdLFxuICAgIH0pO1xuICAgIHNldERyYWZ0UmV2aXNpb24oKHZhbHVlKSA9PiB2YWx1ZSArIDEpO1xuICAgIGNob29zZVBhdGgoJ3NlbGYnKTtcbiAgICBzYXZlRGVzaWduTWV0aG9kKHByb2R1Y3QuaWQsICdkZXNpZ25lcicpO1xuICAgIHNldFRlbXBsYXRlc09wZW4oZmFsc2UpO1xuICAgIHNldElzRHJhZnREZXNpZ25lck9wZW4odHJ1ZSk7XG4gIH1cblxuICBmdW5jdGlvbiBvcGVuRGVzaWduZXIoKSB7XG4gICAgaWYgKHByb2R1Y3Q/LmlkKSBzYXZlRGVzaWduTWV0aG9kKHByb2R1Y3QuaWQsICdkZXNpZ25lcicpO1xuICAgIHNldFRlbXBsYXRlc09wZW4oZmFsc2UpO1xuICAgIHNldElzRHJhZnREZXNpZ25lck9wZW4odHJ1ZSk7XG4gIH1cblxuICBmdW5jdGlvbiB0b2dnbGVUZW1wbGF0ZXMoKSB7XG4gICAgc2V0VGVtcGxhdGVzT3Blbigob3BlbikgPT4ge1xuICAgICAgY29uc3QgbmV4dCA9ICFvcGVuO1xuICAgICAgaWYgKG5leHQgJiYgcHJvZHVjdD8uaWQpIHNhdmVEZXNpZ25NZXRob2QocHJvZHVjdC5pZCwgJ3RlbXBsYXRlcycpO1xuICAgICAgcmV0dXJuIG5leHQ7XG4gICAgfSk7XG4gIH1cblxuICBmdW5jdGlvbiByZW1lbWJlclVwbG9hZHMobmV4dDogVGVtcGxhdGVVcGxvYWRbXSkge1xuICAgIHNldFVwbG9hZHMobmV4dCk7XG4gICAgaWYgKHByb2R1Y3Q/LmlkKSB7XG4gICAgICBzYXZlVGVtcGxhdGVVcGxvYWRzKHByb2R1Y3QuaWQsIG5leHQpO1xuICAgICAgc2F2ZURlc2lnbk1ldGhvZChwcm9kdWN0LmlkLCAndGVtcGxhdGVzJyk7XG4gICAgfVxuICB9XG5cbiAgZnVuY3Rpb24gYWRkVXBsb2FkKGZpbGU6IGFueSkge1xuICAgIGlmIChmaWxlPy5pZCA9PSBudWxsIHx8ICFwcm9kdWN0Py5pZCkgcmV0dXJuO1xuICAgIGNvbnN0IHByb2R1Y3RJZCA9IHByb2R1Y3QuaWQ7XG4gICAgc2V0VXBsb2FkcygoY3VycmVudCkgPT4ge1xuICAgICAgY29uc3QgbmV4dCA9IFtcbiAgICAgICAgLi4uY3VycmVudC5maWx0ZXIoKGl0ZW0pID0+IFN0cmluZyhpdGVtLmlkKSAhPT0gU3RyaW5nKGZpbGUuaWQpKSxcbiAgICAgICAge1xuICAgICAgICAgIGlkOiBmaWxlLmlkLFxuICAgICAgICAgIG5hbWU6IFN0cmluZyhmaWxlLm5hbWUgfHwgJ1VwbG9hZCcpLFxuICAgICAgICAgIHZpZXdVcmw6IGZpbGUudmlld1VybCB8fCBmaWxlLmNhY2hlZFZpZXdVcmwgfHwgJycsXG4gICAgICAgICAgZG93bmxvYWRVcmw6IGZpbGUuZG93bmxvYWRVcmwgfHwgJycsXG4gICAgICAgIH0sXG4gICAgICBdO1xuICAgICAgc2F2ZVRlbXBsYXRlVXBsb2Fkcyhwcm9kdWN0SWQsIG5leHQpO1xuICAgICAgc2F2ZURlc2lnbk1ldGhvZChwcm9kdWN0SWQsICd0ZW1wbGF0ZXMnKTtcbiAgICAgIHJldHVybiBuZXh0O1xuICAgIH0pO1xuICB9XG5cbiAgZnVuY3Rpb24gcmVtb3ZlVXBsb2FkKGlkOiBudW1iZXIgfCBzdHJpbmcpIHtcbiAgICByZW1lbWJlclVwbG9hZHModXBsb2Fkcy5maWx0ZXIoKGl0ZW0pID0+IFN0cmluZyhpdGVtLmlkKSAhPT0gU3RyaW5nKGlkKSkpO1xuICB9XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT17YCR7Y2xhc3NOYW1lRHJhZnRDdGEgfHwgJyd9IG1lcmNoaS1wcm9kdWN0LWRyYWZ0LWN0YWB9PlxuICAgICAgPHN0cm9uZyBjbGFzc05hbWU9J21lcmNoaS1wcm9kdWN0LWRyYWZ0LWN0YS1oZWFkaW5nJz5BcnR3b3JrPC9zdHJvbmc+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT0nbWVyY2hpLXByb2R1Y3QtZHJhZnQtY3RhLXRhYnMnIHJvbGU9J3RhYmxpc3QnIGFyaWEtbGFiZWw9J0FydHdvcmsgb3B0aW9ucyc+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICB0eXBlPSdidXR0b24nXG4gICAgICAgICAgcm9sZT0ndGFiJ1xuICAgICAgICAgIGFyaWEtc2VsZWN0ZWQ9e2FydHdvcmtQYXRoID09PSAnc2VsZid9XG4gICAgICAgICAgY2xhc3NOYW1lPXtgbWVyY2hpLXByb2R1Y3QtZHJhZnQtY3RhLXRhYiR7YXJ0d29ya1BhdGggPT09ICdzZWxmJyA/ICcgaXMtYWN0aXZlJyA6ICcnfWB9XG4gICAgICAgICAgb25DbGljaz17KCkgPT4gY2hvb3NlUGF0aCgnc2VsZicpfVxuICAgICAgICA+XG4gICAgICAgICAgRGVzaWduIG15c2VsZlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgIHR5cGU9J2J1dHRvbidcbiAgICAgICAgICByb2xlPSd0YWInXG4gICAgICAgICAgYXJpYS1zZWxlY3RlZD17YXJ0d29ya1BhdGggPT09ICdzZXJ2aWNlJ31cbiAgICAgICAgICBjbGFzc05hbWU9e2BtZXJjaGktcHJvZHVjdC1kcmFmdC1jdGEtdGFiJHthcnR3b3JrUGF0aCA9PT0gJ3NlcnZpY2UnID8gJyBpcy1hY3RpdmUnIDogJyd9YH1cbiAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBjaG9vc2VQYXRoKCdzZXJ2aWNlJyl9XG4gICAgICAgID5cbiAgICAgICAgICBGcmVlIGRlc2lnbiBzZXJ2aWNlXG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgICB7YXJ0d29ya1BhdGggPT09ICdzZWxmJyA/IChcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9J21lcmNoaS1wcm9kdWN0LWRyYWZ0LWN0YS1wYW5lbCcgcm9sZT0ndGFicGFuZWwnPlxuICAgICAgICAgIHtoYXNTYXZlZCA/IChcbiAgICAgICAgICAgIDxzcGFuPlxuICAgICAgICAgICAgICB7c3RhdHVzLnRvdGFsID09PSAxXG4gICAgICAgICAgICAgICAgPyAnRHJhZnQgc2F2ZWQnXG4gICAgICAgICAgICAgICAgOiBgJHtzdGF0dXMuY29tcGxldGV9IG9mICR7c3RhdHVzLnRvdGFsfSBncm91cHMgc2F2ZWRgfVxuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPSdtZXJjaGktcHJvZHVjdC1kcmFmdC1jdGEtY2hvaWNlcyc+XG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgIHR5cGU9J2J1dHRvbidcbiAgICAgICAgICAgICAgY2xhc3NOYW1lPSdtZXJjaGktcHJvZHVjdC1kcmFmdC1jdGEtYnRuJ1xuICAgICAgICAgICAgICBvbkNsaWNrPXtvcGVuRGVzaWduZXJ9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxGYVBhaW50QnJ1c2ggLz5cbiAgICAgICAgICAgICAgT3BlbiBEZXNpZ25lclxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgIHR5cGU9J2J1dHRvbidcbiAgICAgICAgICAgICAgY2xhc3NOYW1lPXtgbWVyY2hpLXByb2R1Y3QtZHJhZnQtY3RhLWRvd25sb2FkJHt0ZW1wbGF0ZXNPcGVuID8gJyBpcy1vcGVuJyA6ICcnfWB9XG4gICAgICAgICAgICAgIGFyaWEtZXhwYW5kZWQ9e3RlbXBsYXRlc09wZW59XG4gICAgICAgICAgICAgIGFyaWEtY29udHJvbHM9J21lcmNoaS10ZW1wbGF0ZS1kb3dubG9hZHMnXG4gICAgICAgICAgICAgIG9uQ2xpY2s9e3RvZ2dsZVRlbXBsYXRlc31cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPEZhRG93bmxvYWQgLz5cbiAgICAgICAgICAgICAgRG93bmxvYWQgdGVtcGxhdGVzXG4gICAgICAgICAgICAgIDxGYUNoZXZyb25Eb3duIC8+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICB7dGVtcGxhdGVzT3BlbiA/IChcbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgaWQ9J21lcmNoaS10ZW1wbGF0ZS1kb3dubG9hZHMnXG4gICAgICAgICAgICAgIGNsYXNzTmFtZT0nbWVyY2hpLXByb2R1Y3QtZHJhZnQtdGVtcGxhdGUtbWVudSdcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPHA+RG93bmxvYWQgdGhlIHRlbXBsYXRlcywgZWRpdCB0aGVtIGFuZCB0aGVuIHJldXBsb2FkIHRoZW08L3A+XG4gICAgICAgICAgICAgIHtkb3dubG9hZHMubGVuZ3RoID8gKFxuICAgICAgICAgICAgICAgIDx1bCBjbGFzc05hbWU9J21lcmNoaS1wcm9kdWN0LWRyYWZ0LXRlbXBsYXRlLWxpc3QnPlxuICAgICAgICAgICAgICAgICAge2Rvd25sb2Fkcy5tYXAoKGl0ZW0pID0+IChcbiAgICAgICAgICAgICAgICAgICAgPGxpIGtleT17aXRlbS5rZXl9PlxuICAgICAgICAgICAgICAgICAgICAgIDxUZW1wbGF0ZUF2YXRhciBzcmM9e2l0ZW0ucHJldmlld30gbmFtZT17aXRlbS5uYW1lfSAvPlxuICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT0nbWVyY2hpLXByb2R1Y3QtZHJhZnQtdGVtcGxhdGUtbmFtZSc+e2l0ZW0ubmFtZX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT0nbWVyY2hpLXByb2R1Y3QtZHJhZnQtdGVtcGxhdGUtZG93bmxvYWQnXG4gICAgICAgICAgICAgICAgICAgICAgICBocmVmPXtpdGVtLmhyZWZ9XG4gICAgICAgICAgICAgICAgICAgICAgICBkb3dubG9hZD17aXRlbS5maWxlTmFtZSB8fCB0cnVlfVxuICAgICAgICAgICAgICAgICAgICAgICAgdGFyZ2V0PSdfYmxhbmsnXG4gICAgICAgICAgICAgICAgICAgICAgICByZWw9J25vb3BlbmVyIG5vcmVmZXJyZXInXG4gICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgPEZhRG93bmxvYWQgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIERvd25sb2FkXG4gICAgICAgICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgICAgKSl9XG4gICAgICAgICAgICAgICAgPC91bD5cbiAgICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgICA8c3Bhbj5ObyB0ZW1wbGF0ZXMgYXJlIGF2YWlsYWJsZSB0byBkb3dubG9hZC48L3NwYW4+XG4gICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPSdtZXJjaGktcHJvZHVjdC1kcmFmdC10ZW1wbGF0ZS1kcm9wJz5cbiAgICAgICAgICAgICAgICA8RHJvcHpvbmVJbnB1dFxuICAgICAgICAgICAgICAgICAgbXVsdGlwbGVcbiAgICAgICAgICAgICAgICAgIGFjY2VwdD0nLmpwZywuanBlZywucG5nLC5naWYsLnBkZiwuc3ZnLC5haSwuZXBzJ1xuICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9J1VwbG9hZCBlZGl0ZWQgdGVtcGxhdGVzJ1xuICAgICAgICAgICAgICAgICAgb25VcGxvYWRTdWNjZXNzPXthZGRVcGxvYWR9XG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIHt1cGxvYWRzLmxlbmd0aCA/IChcbiAgICAgICAgICAgICAgICA8dWwgY2xhc3NOYW1lPSdtZXJjaGktcHJvZHVjdC1kcmFmdC11cGxvYWQtbGlzdCc+XG4gICAgICAgICAgICAgICAgICB7dXBsb2Fkcy5tYXAoKGZpbGUpID0+IChcbiAgICAgICAgICAgICAgICAgICAgPGxpIGtleT17ZmlsZS5pZH0+XG4gICAgICAgICAgICAgICAgICAgICAgPFRlbXBsYXRlQXZhdGFyIHNyYz17ZmlsZS52aWV3VXJsIHx8ICcnfSBuYW1lPXtmaWxlLm5hbWV9IC8+XG4gICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPSdtZXJjaGktcHJvZHVjdC1kcmFmdC10ZW1wbGF0ZS1uYW1lJz57ZmlsZS5uYW1lfTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSdidXR0b24nXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9J21lcmNoaS1wcm9kdWN0LWRyYWZ0LXVwbG9hZC1yZW1vdmUnXG4gICAgICAgICAgICAgICAgICAgICAgICBhcmlhLWxhYmVsPXtgUmVtb3ZlICR7ZmlsZS5uYW1lfWB9XG4gICAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiByZW1vdmVVcGxvYWQoZmlsZS5pZCl9XG4gICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgPEZhVGltZXMgLz5cbiAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgICAgICkpfVxuICAgICAgICAgICAgICAgIDwvdWw+XG4gICAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAge2hhc1NhdmVkID8gKFxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICB0eXBlPSdidXR0b24nXG4gICAgICAgICAgICAgIGNsYXNzTmFtZT0nbWVyY2hpLXByb2R1Y3QtZHJhZnQtY3RhLXJlc2V0J1xuICAgICAgICAgICAgICBvbkNsaWNrPXtzdGFydEFnYWlufVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICBTdGFydCBhZ2FpblxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgIDwvZGl2PlxuICAgICAgKSA6IChcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9J21lcmNoaS1wcm9kdWN0LWRyYWZ0LWN0YS1wYW5lbCcgcm9sZT0ndGFicGFuZWwnPlxuICAgICAgICAgIDxzcGFuPlxuICAgICAgICAgICAgU2tpcCB0aGUgZGVzaWduZXIgYW5kIGFkZCB0byBjYXJ0LCBidXkgbm93LCBvciBnZXQgYSBxdW90ZS4gV2UmYXBvcztsbCBjcmVhdGUgYSBmcmVlXG4gICAgICAgICAgICBkcmFmdCBmb3IgeW91IGFmdGVyIHRoZSBvcmRlci5cbiAgICAgICAgICA8L3NwYW4+XG4gICAgICAgIDwvZGl2PlxuICAgICAgKX1cbiAgICA8L2Rpdj5cbiAgKTtcbn1cblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gUHJvZHVjdERyYWZ0c0hvc3QoKSB7XG4gIGNvbnN0IHtcbiAgICBob29rRm9ybSxcbiAgICBpc0RyYWZ0RGVzaWduZXJPcGVuLFxuICAgIGlzRHJhZnRNb2RhbE9wZW4sXG4gICAgcHJvZHVjdCxcbiAgICBzZXRJc0RyYWZ0RGVzaWduZXJPcGVuLFxuICAgIGNvbnN1bWVQZW5kaW5nQ2hlY2tvdXQsXG4gIH0gPSB1c2VNZXJjaGlGb3JtQ29udGV4dCgpO1xuXG4gIGNvbnN0IGFsbG93ZWQgPSBwcm9kdWN0QWxsb3dzQ2xpZW50RGVzaWduKHByb2R1Y3QpO1xuICBjb25zdCBmb3JtVmFsdWVzID0gaG9va0Zvcm0ud2F0Y2ggPyBob29rRm9ybS53YXRjaCgpIDogaG9va0Zvcm0uZ2V0VmFsdWVzPy4oKSB8fCB7fTtcbiAgY29uc3QgZHJhZnRzID0gdHlwZW9mIHdpbmRvdyAhPT0gJ3VuZGVmaW5lZCcgJiYgcHJvZHVjdD8uaWRcbiAgICA/IGxvYWREcmFmdHMocHJvZHVjdC5pZClcbiAgICA6IFtdO1xuICBjb25zdCBtaXNzaW5nID0gdXNlTWVtbyhcbiAgICAoKSA9PiBtaXNzaW5nRGVzaWduU2xvdHMocHJvZHVjdCwgZm9ybVZhbHVlcywgZHJhZnRzKSxcbiAgICBbcHJvZHVjdCwgZm9ybVZhbHVlcywgZHJhZnRzXSxcbiAgKTtcbiAgY29uc3QgW2N0YUFuY2hvciwgc2V0Q3RhQW5jaG9yXSA9IHVzZVN0YXRlPEhUTUxFbGVtZW50IHwgbnVsbD4obnVsbCk7XG5cbiAgdXNlTGF5b3V0RWZmZWN0KCgpID0+IHtcbiAgICBpZiAoIWFsbG93ZWQgfHwgaXNQcm9kdWN0TGVhZEZvcm0ocHJvZHVjdCkpIHJldHVybjtcbiAgICBpZiAoZG9jdW1lbnQucXVlcnlTZWxlY3RvcignLm1lcmNoaS1wcm9kdWN0LWRyYWZ0LWN0YScpKSByZXR1cm47XG5cbiAgICBjb25zdCBidXR0b25zID0gZmluZENoZWNrb3V0QnV0dG9uc0VsKCk7XG4gICAgaWYgKCFidXR0b25zPy5wYXJlbnRFbGVtZW50KSByZXR1cm47XG5cbiAgICBjb25zdCBzbG90ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgc2xvdC5zZXRBdHRyaWJ1dGUoJ2RhdGEtbWVyY2hpLWRyYWZ0LWN0YS1zbG90JywgJ3RydWUnKTtcbiAgICBidXR0b25zLnBhcmVudEVsZW1lbnQuaW5zZXJ0QmVmb3JlKHNsb3QsIGJ1dHRvbnMpO1xuICAgIHNldEN0YUFuY2hvcihzbG90KTtcbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgc2xvdC5yZW1vdmUoKTtcbiAgICAgIHNldEN0YUFuY2hvcihudWxsKTtcbiAgICB9O1xuICB9LCBbYWxsb3dlZCwgcHJvZHVjdF0pO1xuXG4gIGlmICghYWxsb3dlZCB8fCBpc1Byb2R1Y3RMZWFkRm9ybShwcm9kdWN0KSkgcmV0dXJuIG51bGw7XG5cbiAgZnVuY3Rpb24gaGFuZGxlU2F2ZWQoKSB7XG4gICAgc2V0SXNEcmFmdERlc2lnbmVyT3BlbihmYWxzZSk7XG4gICAgY29uc3QgcGVuZGluZyA9IGNvbnN1bWVQZW5kaW5nQ2hlY2tvdXQ/LigpO1xuICAgIGlmIChwZW5kaW5nKSB7XG4gICAgICBwZW5kaW5nKCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIChcbiAgICA8PlxuICAgICAge2N0YUFuY2hvciA/IGNyZWF0ZVBvcnRhbCg8UHJvZHVjdERyYWZ0c0N0YSAvPiwgY3RhQW5jaG9yKSA6IG51bGx9XG5cbiAgICAgIDxEcmFmdERlc2lnbmVyU2hlZXRcbiAgICAgICAgb3Blbj17Qm9vbGVhbihpc0RyYWZ0RGVzaWduZXJPcGVuKX1cbiAgICAgICAgaW5pdGlhbEdyb3VwSW5kZXg9e21pc3NpbmdbMF0/Lmdyb3VwSW5kZXggfHwgMH1cbiAgICAgICAgb25DbG9zZT17KCkgPT4gc2V0SXNEcmFmdERlc2lnbmVyT3BlbihmYWxzZSl9XG4gICAgICAgIG9uU2F2ZWQ9e2hhbmRsZVNhdmVkfVxuICAgICAgLz5cblxuICAgICAge2lzRHJhZnRNb2RhbE9wZW4gJiYgdHlwZW9mIGRvY3VtZW50ICE9PSAndW5kZWZpbmVkJ1xuICAgICAgICA/IGNyZWF0ZVBvcnRhbChcbiAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICBjbGFzc05hbWU9J21lcmNoaS1wcm9kdWN0LWRyYWZ0LWFwcHJvdmUnXG4gICAgICAgICAgICByb2xlPSdkaWFsb2cnXG4gICAgICAgICAgICBhcmlhLW1vZGFsPSd0cnVlJ1xuICAgICAgICAgICAgYXJpYS1sYWJlbGxlZGJ5PSdtZXJjaGktcHJvZHVjdC1kcmFmdC1hcHByb3ZlLXRpdGxlJ1xuICAgICAgICAgID5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPSdtZXJjaGktcHJvZHVjdC1kcmFmdC1hcHByb3ZlLXBhbmVsJz5cbiAgICAgICAgICAgICAgPERyYWZ0QXBwcm92ZVBhbmVsIC8+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj4sXG4gICAgICAgICAgZG9jdW1lbnQuYm9keSxcbiAgICAgICAgKVxuICAgICAgICA6IG51bGx9XG4gICAgPC8+XG4gICk7XG59XG4iXSwibWFwcGluZ3MiOiJBQUFBLFlBQVk7O0FBQUMsU0FBQUEsUUFBQUMsQ0FBQSxzQ0FBQUQsT0FBQSx3QkFBQUUsTUFBQSx1QkFBQUEsTUFBQSxDQUFBQyxRQUFBLGFB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QUFZLENBQUMsSUFBSSxDQUFDO0lBQ3BCLENBQUM7RUFDSCxDQUFDLEVBQUUsQ0FBQ25FLE9BQU8sRUFBRW5CLE9BQU8sQ0FBQyxDQUFDO0VBRXRCLElBQUksQ0FBQ21CLE9BQU8sSUFBSWhFLGlCQUFpQixDQUFDNkMsT0FBTyxDQUFDLEVBQUUsT0FBTyxJQUFJO0VBRXZELFNBQVM2RixXQUFXQSxDQUFBLEVBQUc7SUFDckI1RixzQkFBc0IsQ0FBQyxLQUFLLENBQUM7SUFDN0IsSUFBTTZGLE9BQU8sR0FBR2Isc0JBQXNCLGFBQXRCQSxzQkFBc0IsdUJBQXRCQSxzQkFBc0IsQ0FBRyxDQUFDO0lBQzFDLElBQUlhLE9BQU8sRUFBRTtNQUNYQSxPQUFPLENBQUMsQ0FBQztNQUNUO0lBQ0Y7RUFDRjtFQUVBLG9CQUNFNUgsS0FBQSxDQUFBRSxTQUFBO0lBQUFTLFFBQUEsR0FDR3dHLFNBQVMsZ0JBQUc3SSxZQUFZLGNBQUN3QixJQUFBLENBQUN5QixnQkFBZ0IsSUFBRSxDQUFDLEVBQUU0RixTQUFTLENBQUMsR0FBRyxJQUFJLGVBRWpFckgsSUFBQSxDQUFDRixrQkFBa0I7TUFDakJ5RixJQUFJLEVBQUV3QyxPQUFPLENBQUNoQixtQkFBbUIsQ0FBRTtNQUNuQ2lCLGlCQUFpQixFQUFFLEVBQUFuQixTQUFBLEdBQUFLLE9BQU8sQ0FBQyxDQUFDLENBQUMsY0FBQUwsU0FBQSx1QkFBVkEsU0FBQSxDQUFZb0IsVUFBVSxLQUFJLENBQUU7TUFDL0NDLE9BQU8sRUFBRSxTQUFUQSxPQUFPQSxDQUFBO1FBQUEsT0FBUWpHLHNCQUFzQixDQUFDLEtBQUssQ0FBQztNQUFBLENBQUM7TUFDN0NrRyxPQUFPLEVBQUVOO0lBQVksQ0FDdEIsQ0FBQyxFQUVEYixnQkFBZ0IsSUFBSSxPQUFPN0YsUUFBUSxLQUFLLFdBQVcsZ0JBQ2hEM0MsWUFBWSxjQUNad0IsSUFBQTtNQUNFWSxTQUFTLEVBQUMsOEJBQThCO01BQ3hDb0YsSUFBSSxFQUFDLFFBQVE7TUFDYixjQUFXLE1BQU07TUFDakIsbUJBQWdCLG9DQUFvQztNQUFBbkYsUUFBQSxlQUVwRGIsSUFBQTtRQUFLWSxTQUFTLEVBQUMsb0NBQW9DO1FBQUFDLFFBQUEsZUFDakRiLElBQUEsQ0FBQ0gsaUJBQWlCLElBQUU7TUFBQyxDQUNsQjtJQUFDLENBQ0gsQ0FBQyxFQUNOc0IsUUFBUSxDQUFDaUgsSUFDWCxDQUFDLEdBQ0MsSUFBSTtFQUFBLENBQ1IsQ0FBQztBQUVQIiwiaWdub3JlTGlzdCI6W119
|
|
367
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfdHlwZW9mIiwibyIsIlN5bWJvbCIsIml0ZXJhdG9yIiwiY29uc3RydWN0b3IiLCJwcm90b3R5cGUiLCJfdG9Db25zdW1hYmxlQXJyYXkiLCJyIiwiX2FycmF5V2l0aG91dEhvbGVzIiwiX2l0ZXJhYmxlVG9BcnJheSIsIl91bnN1cHBvcnRlZEl0ZXJhYmxlVG9BcnJheSIsIl9ub25JdGVyYWJsZVNwcmVhZCIsIlR5cGVFcnJvciIsIkFycmF5IiwiZnJvbSIsImlzQXJyYXkiLCJfYXJyYXlMaWtlVG9BcnJheSIsIm93bktleXMiLCJlIiwidCIsIk9iamVjdCIsImtleXMiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJmaWx0ZXIiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJlbnVtZXJhYmxlIiwicHVzaCIsImFwcGx5IiwiX29iamVjdFNwcmVhZCIsImFyZ3VtZW50cyIsImxlbmd0aCIsImZvckVhY2giLCJfZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzIiwiZGVmaW5lUHJvcGVydGllcyIsImRlZmluZVByb3BlcnR5IiwiX3RvUHJvcGVydHlLZXkiLCJ2YWx1ZSIsImNvbmZpZ3VyYWJsZSIsIndyaXRhYmxlIiwiaSIsIl90b1ByaW1pdGl2ZSIsInRvUHJpbWl0aXZlIiwiY2FsbCIsIlN0cmluZyIsIk51bWJlciIsIl9zbGljZWRUb0FycmF5IiwiX2FycmF5V2l0aEhvbGVzIiwiX2l0ZXJhYmxlVG9BcnJheUxpbWl0IiwiX25vbkl0ZXJhYmxlUmVzdCIsImEiLCJ0b1N0cmluZyIsInNsaWNlIiwibmFtZSIsInRlc3QiLCJuIiwibCIsInUiLCJmIiwibmV4dCIsImRvbmUiLCJSZWFjdCIsInVzZUxheW91dEVmZmVjdCIsInVzZU1lbW8iLCJ1c2VTdGF0ZSIsImNyZWF0ZVBvcnRhbCIsIkZhQ2hldnJvbkRvd24iLCJGYURvd25sb2FkIiwiRmFQYWludEJydXNoIiwiRmFUaW1lcyIsInVzZU1lcmNoaUZvcm1Db250ZXh0IiwiRHJvcHpvbmVJbnB1dCIsInRlbXBsYXRlRG93bmxvYWRIcmVmIiwidGVtcGxhdGVJbWFnZVNvdXJjZXMiLCJkb3dubG9hZGFibGVEcmFmdFRlbXBsYXRlcyIsInByb2R1Y3RBbGxvd3NDbGllbnREZXNpZ24iLCJpc1Byb2R1Y3RMZWFkRm9ybSIsImNsZWFyRHJhZnRXb3JrIiwiY2xlYXJPdGhlclByb2R1Y3REcmFmdHMiLCJjb21wbGV0ZUdyb3VwQ291bnQiLCJsb2FkQXJ0d29ya1BhdGgiLCJsb2FkRHJhZnRzIiwibG9hZFRlbXBsYXRlVXBsb2FkcyIsIm1pc3NpbmdEZXNpZ25TbG90cyIsInNhdmVBcnR3b3JrUGF0aCIsInNhdmVEZXNpZ25NZXRob2QiLCJzYXZlVGVtcGxhdGVVcGxvYWRzIiwiRHJhZnRBcHByb3ZlUGFuZWwiLCJEcmFmdERlc2lnbmVyU2hlZXQiLCJqc3giLCJfanN4IiwianN4cyIsIl9qc3hzIiwiRnJhZ21lbnQiLCJfRnJhZ21lbnQiLCJUZW1wbGF0ZUF2YXRhciIsIl9yZWYiLCJzcmMiLCJfdXNlU3RhdGUiLCJfdXNlU3RhdGUyIiwiZmFpbGVkIiwic2V0RmFpbGVkIiwiY2xhc3NOYW1lIiwiY2hpbGRyZW4iLCJ0b1VwcGVyQ2FzZSIsImFsdCIsIm9uRXJyb3IiLCJmaW5kQ2hlY2tvdXRCdXR0b25zRWwiLCJtYXJrZWQiLCJkb2N1bWVudCIsInF1ZXJ5U2VsZWN0b3IiLCJIVE1MRWxlbWVudCIsIm5hbWVkIiwic3VibWl0IiwicGFyZW50RWxlbWVudCIsIlByb2R1Y3REcmFmdHNDdGEiLCJfaG9va0Zvcm0kZ2V0VmFsdWVzIiwiX3VzZU1lcmNoaUZvcm1Db250ZXh0IiwiYXBpVXJsIiwiY2xhc3NOYW1lRHJhZnRDdGEiLCJob29rRm9ybSIsImpvYiIsInByb2R1Y3QiLCJzZXRJc0RyYWZ0RGVzaWduZXJPcGVuIiwic2V0Sm9iIiwiX3VzZVN0YXRlMyIsIl91c2VTdGF0ZTQiLCJkcmFmdFJldmlzaW9uIiwic2V0RHJhZnRSZXZpc2lvbiIsIl91c2VTdGF0ZTUiLCJfdXNlU3RhdGU2IiwiYXJ0d29ya1BhdGgiLCJzZXRBcnR3b3JrUGF0aCIsIl91c2VTdGF0ZTciLCJfdXNlU3RhdGU4IiwidGVtcGxhdGVzT3BlbiIsInNldFRlbXBsYXRlc09wZW4iLCJfdXNlU3RhdGU5IiwiX3VzZVN0YXRlMCIsInVwbG9hZHMiLCJzZXRVcGxvYWRzIiwiYWxsb3dlZCIsImZvcm1WYWx1ZXMiLCJ3YXRjaCIsImdldFZhbHVlcyIsImRyYWZ0cyIsIndpbmRvdyIsImlkIiwic3RhdHVzIiwiaGFzU2F2ZWQiLCJjb21wbGV0ZSIsImRvd25sb2FkcyIsInRlbXBsYXRlcyIsIm1hcCIsInRlbXBsYXRlIiwiaW5kZXgiLCJfdGVtcGxhdGUkZmlsZSIsIl90ZW1wbGF0ZSRpZCIsIl90ZW1wbGF0ZSRmaWxlMiIsImZpbGUiLCJ0cmltIiwiY29uY2F0Iiwia2V5IiwiaHJlZiIsInByZXZpZXciLCJmaWxlTmFtZSIsIml0ZW0iLCJ1c2VFZmZlY3QiLCJjaG9vc2VQYXRoIiwicGF0aCIsInN0YXJ0QWdhaW4iLCJjb25maXJtZWQiLCJjb25maXJtIiwib3duRHJhZnRzIiwiY2xpZW50RmlsZXMiLCJvcGVuRGVzaWduZXIiLCJ0b2dnbGVUZW1wbGF0ZXMiLCJvcGVuIiwicmVtZW1iZXJVcGxvYWRzIiwiYWRkVXBsb2FkIiwicHJvZHVjdElkIiwiY3VycmVudCIsInZpZXdVcmwiLCJjYWNoZWRWaWV3VXJsIiwiZG93bmxvYWRVcmwiLCJyZW1vdmVVcGxvYWQiLCJyb2xlIiwidHlwZSIsIm9uQ2xpY2siLCJ0b3RhbCIsImRvd25sb2FkIiwidGFyZ2V0IiwicmVsIiwibXVsdGlwbGUiLCJhY2NlcHQiLCJwbGFjZWhvbGRlciIsIm9uVXBsb2FkU3VjY2VzcyIsIlByb2R1Y3REcmFmdHNIb3N0IiwiX2hvb2tGb3JtJGdldFZhbHVlczIiLCJfbWlzc2luZyQiLCJfdXNlTWVyY2hpRm9ybUNvbnRleHQyIiwiaXNEcmFmdERlc2lnbmVyT3BlbiIsImlzRHJhZnRNb2RhbE9wZW4iLCJjb25zdW1lUGVuZGluZ0NoZWNrb3V0IiwibWlzc2luZyIsIl91c2VTdGF0ZTEiLCJfdXNlU3RhdGUxMCIsImN0YUFuY2hvciIsInNldEN0YUFuY2hvciIsImJ1dHRvbnMiLCJzbG90IiwiY3JlYXRlRWxlbWVudCIsInNldEF0dHJpYnV0ZSIsImluc2VydEJlZm9yZSIsInJlbW92ZSIsImhhbmRsZVNhdmVkIiwicGVuZGluZyIsIkJvb2xlYW4iLCJpbml0aWFsR3JvdXBJbmRleCIsImdyb3VwSW5kZXgiLCJvbkNsb3NlIiwib25TYXZlZCIsImJvZHkiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tcG9uZW50cy9kcmFmdHMvUHJvZHVjdERyYWZ0c0hvc3QudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIid1c2UgY2xpZW50JztcbmltcG9ydCAqIGFzIFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IHVzZUxheW91dEVmZmVjdCwgdXNlTWVtbywgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBjcmVhdGVQb3J0YWwgfSBmcm9tICdyZWFjdC1kb20nO1xuaW1wb3J0IHsgRmFDaGV2cm9uRG93biwgRmFEb3dubG9hZCwgRmFQYWludEJydXNoLCBGYVRpbWVzIH0gZnJvbSAncmVhY3QtaWNvbnMvZmEnO1xuaW1wb3J0IHsgdXNlTWVyY2hpRm9ybUNvbnRleHQgfSBmcm9tICcuLi8uLi9jb250ZXh0L01lcmNoaVByb2R1Y3RGb3JtUHJvdmlkZXInO1xuaW1wb3J0IERyb3B6b25lSW5wdXQgZnJvbSAnLi4vRHJvcHpvbmVJbnB1dCc7XG5pbXBvcnQgeyB0ZW1wbGF0ZURvd25sb2FkSHJlZiwgdGVtcGxhdGVJbWFnZVNvdXJjZXMgfSBmcm9tICcuLi8uLi91dGlscy9kcmFmdEV4cG9ydCc7XG5pbXBvcnQge1xuICBkb3dubG9hZGFibGVEcmFmdFRlbXBsYXRlcyxcbiAgcHJvZHVjdEFsbG93c0NsaWVudERlc2lnbixcbn0gZnJvbSAnLi4vLi4vdXRpbHMvZHJhZnRUZW1wbGF0ZXMnO1xuaW1wb3J0IHsgaXNQcm9kdWN0TGVhZEZvcm0gfSBmcm9tICcuLi91dGlscyc7XG5pbXBvcnQge1xuICBBcnR3b3JrUGF0aCxcbiAgVGVtcGxhdGVVcGxvYWQsXG4gIGNsZWFyRHJhZnRXb3JrLFxuICBjbGVhck90aGVyUHJvZHVjdERyYWZ0cyxcbiAgY29tcGxldGVHcm91cENvdW50LFxuICBsb2FkQXJ0d29ya1BhdGgsXG4gIGxvYWREcmFmdHMsXG4gIGxvYWRUZW1wbGF0ZVVwbG9hZHMsXG4gIG1pc3NpbmdEZXNpZ25TbG90cyxcbiAgc2F2ZUFydHdvcmtQYXRoLFxuICBzYXZlRGVzaWduTWV0aG9kLFxuICBzYXZlVGVtcGxhdGVVcGxvYWRzLFxufSBmcm9tICcuLi8uLi91dGlscy9kcmFmdFN0b3JhZ2UnO1xuaW1wb3J0IERyYWZ0QXBwcm92ZVBhbmVsIGZyb20gJy4vRHJhZnRBcHByb3ZlUGFuZWwnO1xuaW1wb3J0IERyYWZ0RGVzaWduZXJTaGVldCBmcm9tICcuL0RyYWZ0RGVzaWduZXJTaGVldCc7XG5cbmZ1bmN0aW9uIFRlbXBsYXRlQXZhdGFyKHsgc3JjLCBuYW1lIH06IHsgc3JjOiBzdHJpbmc7IG5hbWU6IHN0cmluZyB9KSB7XG4gIGNvbnN0IFtmYWlsZWQsIHNldEZhaWxlZF0gPSB1c2VTdGF0ZShmYWxzZSk7XG4gIGlmICghc3JjIHx8IGZhaWxlZCkge1xuICAgIHJldHVybiAoXG4gICAgICA8c3BhbiBjbGFzc05hbWU9J21lcmNoaS1wcm9kdWN0LWRyYWZ0LXRlbXBsYXRlLWF2YXRhciBpcy1lbXB0eScgYXJpYS1oaWRkZW49J3RydWUnPlxuICAgICAgICB7bmFtZS5zbGljZSgwLCAxKS50b1VwcGVyQ2FzZSgpfVxuICAgICAgPC9zcGFuPlxuICAgICk7XG4gIH1cbiAgcmV0dXJuIChcbiAgICA8aW1nXG4gICAgICBjbGFzc05hbWU9J21lcmNoaS1wcm9kdWN0LWRyYWZ0LXRlbXBsYXRlLWF2YXRhcidcbiAgICAgIHNyYz17c3JjfVxuICAgICAgYWx0PScnXG4gICAgICBvbkVycm9yPXsoKSA9PiBzZXRGYWlsZWQodHJ1ZSl9XG4gICAgLz5cbiAgKTtcbn1cblxuZnVuY3Rpb24gZmluZENoZWNrb3V0QnV0dG9uc0VsKCk6IEhUTUxFbGVtZW50IHwgbnVsbCB7XG4gIGNvbnN0IG1hcmtlZCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ1tkYXRhLW1lcmNoaS1jaGVja291dC1idXR0b25zXScpO1xuICBpZiAobWFya2VkIGluc3RhbmNlb2YgSFRNTEVsZW1lbnQpIHJldHVybiBtYXJrZWQ7XG4gIGNvbnN0IG5hbWVkID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcihcbiAgICAnLm1lcmNoaS1wcm9kdWN0LWJ1dHRvbnMtc3VibWl0LWNvbnRhaW5lciwgLm1lcmNoaS1hY3Rpb24tYnV0dG9ucy1jb250YWluZXInLFxuICApO1xuICBpZiAobmFtZWQgaW5zdGFuY2VvZiBIVE1MRWxlbWVudCkgcmV0dXJuIG5hbWVkO1xuICBjb25zdCBzdWJtaXQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcubWVyY2hpLWVtYmVkLWZvcm1fYnV0dG9uLXN1Ym1pdCcpO1xuICByZXR1cm4gc3VibWl0IGluc3RhbmNlb2YgSFRNTEVsZW1lbnQgPyBzdWJtaXQucGFyZW50RWxlbWVudCA6IG51bGw7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBQcm9kdWN0RHJhZnRzQ3RhKCkge1xuICBjb25zdCB7XG4gICAgYXBpVXJsLFxuICAgIGNsYXNzTmFtZURyYWZ0Q3RhLFxuICAgIGhvb2tGb3JtLFxuICAgIGpvYixcbiAgICBwcm9kdWN0LFxuICAgIHNldElzRHJhZnREZXNpZ25lck9wZW4sXG4gICAgc2V0Sm9iLFxuICB9ID0gdXNlTWVyY2hpRm9ybUNvbnRleHQoKTtcbiAgY29uc3QgW2RyYWZ0UmV2aXNpb24sIHNldERyYWZ0UmV2aXNpb25dID0gdXNlU3RhdGUoMCk7XG4gIGNvbnN0IFthcnR3b3JrUGF0aCwgc2V0QXJ0d29ya1BhdGhdID0gdXNlU3RhdGU8QXJ0d29ya1BhdGg+KCdzZWxmJyk7XG4gIGNvbnN0IFt0ZW1wbGF0ZXNPcGVuLCBzZXRUZW1wbGF0ZXNPcGVuXSA9IHVzZVN0YXRlKGZhbHNlKTtcbiAgY29uc3QgW3VwbG9hZHMsIHNldFVwbG9hZHNdID0gdXNlU3RhdGU8VGVtcGxhdGVVcGxvYWRbXT4oW10pO1xuXG4gIGNvbnN0IGFsbG93ZWQgPSBwcm9kdWN0QWxsb3dzQ2xpZW50RGVzaWduKHByb2R1Y3QpO1xuICBjb25zdCBmb3JtVmFsdWVzID0gaG9va0Zvcm0ud2F0Y2ggPyBob29rRm9ybS53YXRjaCgpIDogaG9va0Zvcm0uZ2V0VmFsdWVzPy4oKSB8fCB7fTtcbiAgY29uc3QgZHJhZnRzID0gdHlwZW9mIHdpbmRvdyAhPT0gJ3VuZGVmaW5lZCcgJiYgcHJvZHVjdD8uaWRcbiAgICA/IGxvYWREcmFmdHMocHJvZHVjdC5pZClcbiAgICA6IFtdO1xuICBjb25zdCBzdGF0dXMgPSB1c2VNZW1vKFxuICAgICgpID0+IGNvbXBsZXRlR3JvdXBDb3VudChwcm9kdWN0LCBmb3JtVmFsdWVzLCBkcmFmdHMpLFxuICAgIFtwcm9kdWN0LCBmb3JtVmFsdWVzLCBkcmFmdHMsIGRyYWZ0UmV2aXNpb25dLFxuICApO1xuICBjb25zdCBoYXNTYXZlZCA9IHN0YXR1cy5jb21wbGV0ZSA+IDA7XG4gIGNvbnN0IGRvd25sb2FkcyA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIGNvbnN0IHRlbXBsYXRlcyA9IGRvd25sb2FkYWJsZURyYWZ0VGVtcGxhdGVzKHByb2R1Y3QsIGZvcm1WYWx1ZXMpO1xuICAgIHJldHVybiB0ZW1wbGF0ZXNcbiAgICAgIC5tYXAoKHRlbXBsYXRlLCBpbmRleCkgPT4ge1xuICAgICAgICBjb25zdCBuYW1lID0gU3RyaW5nKHRlbXBsYXRlPy5uYW1lIHx8IHRlbXBsYXRlPy5maWxlPy5uYW1lIHx8ICcnKS50cmltKClcbiAgICAgICAgICB8fCBgVGVtcGxhdGUgJHtpbmRleCArIDF9YDtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBrZXk6IHRlbXBsYXRlPy5pZCA/PyBpbmRleCxcbiAgICAgICAgICBocmVmOiB0ZW1wbGF0ZURvd25sb2FkSHJlZih0ZW1wbGF0ZSwgYXBpVXJsKSxcbiAgICAgICAgICBwcmV2aWV3OiB0ZW1wbGF0ZUltYWdlU291cmNlcyh0ZW1wbGF0ZSwgYXBpVXJsKVswXSB8fCAnJyxcbiAgICAgICAgICBuYW1lLFxuICAgICAgICAgIGZpbGVOYW1lOiBTdHJpbmcodGVtcGxhdGU/LmZpbGU/Lm5hbWUgfHwgJycpLnRyaW0oKSB8fCBuYW1lLFxuICAgICAgICB9O1xuICAgICAgfSlcbiAgICAgIC5maWx0ZXIoKGl0ZW0pID0+IGl0ZW0uaHJlZik7XG4gIH0sIFthcGlVcmwsIGZvcm1WYWx1ZXMsIHByb2R1Y3RdKTtcblxuICBSZWFjdC51c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmICghcHJvZHVjdD8uaWQpIHJldHVybjtcbiAgICBjbGVhck90aGVyUHJvZHVjdERyYWZ0cyhwcm9kdWN0LmlkKTtcbiAgICBzZXRBcnR3b3JrUGF0aChsb2FkQXJ0d29ya1BhdGgocHJvZHVjdC5pZCkpO1xuICAgIHNldFVwbG9hZHMobG9hZFRlbXBsYXRlVXBsb2Fkcyhwcm9kdWN0LmlkKSk7XG4gICAgc2V0RHJhZnRSZXZpc2lvbigodmFsdWUpID0+IHZhbHVlICsgMSk7XG4gIH0sIFtwcm9kdWN0Py5pZF0pO1xuXG4gIGlmICghYWxsb3dlZCB8fCBpc1Byb2R1Y3RMZWFkRm9ybShwcm9kdWN0KSkgcmV0dXJuIG51bGw7XG5cbiAgZnVuY3Rpb24gY2hvb3NlUGF0aChwYXRoOiBBcnR3b3JrUGF0aCkge1xuICAgIHNldEFydHdvcmtQYXRoKHBhdGgpO1xuICAgIGlmIChwcm9kdWN0Py5pZCkgc2F2ZUFydHdvcmtQYXRoKHByb2R1Y3QuaWQsIHBhdGgpO1xuICB9XG5cbiAgZnVuY3Rpb24gc3RhcnRBZ2FpbigpIHtcbiAgICBpZiAoIXByb2R1Y3Q/LmlkKSByZXR1cm47XG4gICAgY29uc3QgY29uZmlybWVkID0gd2luZG93LmNvbmZpcm0oXG4gICAgICAnVGhpcyB3aWxsIGNsZWFyIHlvdXIgc2F2ZWQgYXJ0d29yay4gU3RhcnQgYWdhaW4gZnJvbSBzY3JhdGNoPycsXG4gICAgKTtcbiAgICBpZiAoIWNvbmZpcm1lZCkgcmV0dXJuO1xuICAgIGNsZWFyRHJhZnRXb3JrKHByb2R1Y3QuaWQpO1xuICAgIHNldFVwbG9hZHMoW10pO1xuICAgIHNldEpvYih7XG4gICAgICAuLi5qb2IsXG4gICAgICBvd25EcmFmdHM6IFtdLFxuICAgICAgY2xpZW50RmlsZXM6IFtdLFxuICAgIH0pO1xuICAgIHNldERyYWZ0UmV2aXNpb24oKHZhbHVlKSA9PiB2YWx1ZSArIDEpO1xuICAgIGNob29zZVBhdGgoJ3NlbGYnKTtcbiAgICBzYXZlRGVzaWduTWV0aG9kKHByb2R1Y3QuaWQsICdkZXNpZ25lcicpO1xuICAgIHNldFRlbXBsYXRlc09wZW4oZmFsc2UpO1xuICAgIHNldElzRHJhZnREZXNpZ25lck9wZW4odHJ1ZSk7XG4gIH1cblxuICBmdW5jdGlvbiBvcGVuRGVzaWduZXIoKSB7XG4gICAgaWYgKHByb2R1Y3Q/LmlkKSBzYXZlRGVzaWduTWV0aG9kKHByb2R1Y3QuaWQsICdkZXNpZ25lcicpO1xuICAgIHNldFRlbXBsYXRlc09wZW4oZmFsc2UpO1xuICAgIHNldElzRHJhZnREZXNpZ25lck9wZW4odHJ1ZSk7XG4gIH1cblxuICBmdW5jdGlvbiB0b2dnbGVUZW1wbGF0ZXMoKSB7XG4gICAgc2V0VGVtcGxhdGVzT3Blbigob3BlbikgPT4ge1xuICAgICAgY29uc3QgbmV4dCA9ICFvcGVuO1xuICAgICAgaWYgKG5leHQgJiYgcHJvZHVjdD8uaWQpIHNhdmVEZXNpZ25NZXRob2QocHJvZHVjdC5pZCwgJ3RlbXBsYXRlcycpO1xuICAgICAgcmV0dXJuIG5leHQ7XG4gICAgfSk7XG4gIH1cblxuICBmdW5jdGlvbiByZW1lbWJlclVwbG9hZHMobmV4dDogVGVtcGxhdGVVcGxvYWRbXSkge1xuICAgIHNldFVwbG9hZHMobmV4dCk7XG4gICAgaWYgKHByb2R1Y3Q/LmlkKSB7XG4gICAgICBzYXZlVGVtcGxhdGVVcGxvYWRzKHByb2R1Y3QuaWQsIG5leHQpO1xuICAgICAgc2F2ZURlc2lnbk1ldGhvZChwcm9kdWN0LmlkLCAndGVtcGxhdGVzJyk7XG4gICAgfVxuICB9XG5cbiAgZnVuY3Rpb24gYWRkVXBsb2FkKGZpbGU6IGFueSkge1xuICAgIGlmIChmaWxlPy5pZCA9PSBudWxsIHx8ICFwcm9kdWN0Py5pZCkgcmV0dXJuO1xuICAgIGNvbnN0IHByb2R1Y3RJZCA9IHByb2R1Y3QuaWQ7XG4gICAgc2V0VXBsb2FkcygoY3VycmVudCkgPT4ge1xuICAgICAgY29uc3QgbmV4dCA9IFtcbiAgICAgICAgLi4uY3VycmVudC5maWx0ZXIoKGl0ZW0pID0+IFN0cmluZyhpdGVtLmlkKSAhPT0gU3RyaW5nKGZpbGUuaWQpKSxcbiAgICAgICAge1xuICAgICAgICAgIGlkOiBmaWxlLmlkLFxuICAgICAgICAgIG5hbWU6IFN0cmluZyhmaWxlLm5hbWUgfHwgJ1VwbG9hZCcpLFxuICAgICAgICAgIHZpZXdVcmw6IGZpbGUudmlld1VybCB8fCBmaWxlLmNhY2hlZFZpZXdVcmwgfHwgJycsXG4gICAgICAgICAgZG93bmxvYWRVcmw6IGZpbGUuZG93bmxvYWRVcmwgfHwgJycsXG4gICAgICAgIH0sXG4gICAgICBdO1xuICAgICAgc2F2ZVRlbXBsYXRlVXBsb2Fkcyhwcm9kdWN0SWQsIG5leHQpO1xuICAgICAgc2F2ZURlc2lnbk1ldGhvZChwcm9kdWN0SWQsICd0ZW1wbGF0ZXMnKTtcbiAgICAgIHJldHVybiBuZXh0O1xuICAgIH0pO1xuICB9XG5cbiAgZnVuY3Rpb24gcmVtb3ZlVXBsb2FkKGlkOiBudW1iZXIgfCBzdHJpbmcpIHtcbiAgICByZW1lbWJlclVwbG9hZHModXBsb2Fkcy5maWx0ZXIoKGl0ZW0pID0+IFN0cmluZyhpdGVtLmlkKSAhPT0gU3RyaW5nKGlkKSkpO1xuICB9XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT17YCR7Y2xhc3NOYW1lRHJhZnRDdGEgfHwgJyd9IG1lcmNoaS1wcm9kdWN0LWRyYWZ0LWN0YWB9PlxuICAgICAgPHN0cm9uZyBjbGFzc05hbWU9J21lcmNoaS1wcm9kdWN0LWRyYWZ0LWN0YS1oZWFkaW5nJz5BcnR3b3JrPC9zdHJvbmc+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT0nbWVyY2hpLXByb2R1Y3QtZHJhZnQtY3RhLXRhYnMnIHJvbGU9J3RhYmxpc3QnIGFyaWEtbGFiZWw9J0FydHdvcmsgb3B0aW9ucyc+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICB0eXBlPSdidXR0b24nXG4gICAgICAgICAgcm9sZT0ndGFiJ1xuICAgICAgICAgIGFyaWEtc2VsZWN0ZWQ9e2FydHdvcmtQYXRoID09PSAnc2VsZid9XG4gICAgICAgICAgY2xhc3NOYW1lPXtgbWVyY2hpLXByb2R1Y3QtZHJhZnQtY3RhLXRhYiR7YXJ0d29ya1BhdGggPT09ICdzZWxmJyA/ICcgaXMtYWN0aXZlJyA6ICcnfWB9XG4gICAgICAgICAgb25DbGljaz17KCkgPT4gY2hvb3NlUGF0aCgnc2VsZicpfVxuICAgICAgICA+XG4gICAgICAgICAgRGVzaWduIG15c2VsZlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgIHR5cGU9J2J1dHRvbidcbiAgICAgICAgICByb2xlPSd0YWInXG4gICAgICAgICAgYXJpYS1zZWxlY3RlZD17YXJ0d29ya1BhdGggPT09ICdzZXJ2aWNlJ31cbiAgICAgICAgICBjbGFzc05hbWU9e2BtZXJjaGktcHJvZHVjdC1kcmFmdC1jdGEtdGFiJHthcnR3b3JrUGF0aCA9PT0gJ3NlcnZpY2UnID8gJyBpcy1hY3RpdmUnIDogJyd9YH1cbiAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBjaG9vc2VQYXRoKCdzZXJ2aWNlJyl9XG4gICAgICAgID5cbiAgICAgICAgICBGcmVlIGRlc2lnbiBzZXJ2aWNlXG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgICB7YXJ0d29ya1BhdGggPT09ICdzZWxmJyA/IChcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9J21lcmNoaS1wcm9kdWN0LWRyYWZ0LWN0YS1wYW5lbCcgcm9sZT0ndGFicGFuZWwnPlxuICAgICAgICAgIHtoYXNTYXZlZCA/IChcbiAgICAgICAgICAgIDxzcGFuPlxuICAgICAgICAgICAgICB7c3RhdHVzLnRvdGFsID09PSAxXG4gICAgICAgICAgICAgICAgPyAnRHJhZnQgc2F2ZWQnXG4gICAgICAgICAgICAgICAgOiBgJHtzdGF0dXMuY29tcGxldGV9IG9mICR7c3RhdHVzLnRvdGFsfSBncm91cHMgc2F2ZWRgfVxuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPSdtZXJjaGktcHJvZHVjdC1kcmFmdC1jdGEtY2hvaWNlcyc+XG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgIHR5cGU9J2J1dHRvbidcbiAgICAgICAgICAgICAgY2xhc3NOYW1lPSdtZXJjaGktcHJvZHVjdC1kcmFmdC1jdGEtYnRuJ1xuICAgICAgICAgICAgICBvbkNsaWNrPXtvcGVuRGVzaWduZXJ9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxGYVBhaW50QnJ1c2ggLz5cbiAgICAgICAgICAgICAgT3BlbiBEZXNpZ25lclxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgIHR5cGU9J2J1dHRvbidcbiAgICAgICAgICAgICAgY2xhc3NOYW1lPXtgbWVyY2hpLXByb2R1Y3QtZHJhZnQtY3RhLWRvd25sb2FkJHt0ZW1wbGF0ZXNPcGVuID8gJyBpcy1vcGVuJyA6ICcnfWB9XG4gICAgICAgICAgICAgIGFyaWEtZXhwYW5kZWQ9e3RlbXBsYXRlc09wZW59XG4gICAgICAgICAgICAgIGFyaWEtY29udHJvbHM9J21lcmNoaS10ZW1wbGF0ZS1kb3dubG9hZHMnXG4gICAgICAgICAgICAgIG9uQ2xpY2s9e3RvZ2dsZVRlbXBsYXRlc31cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPEZhRG93bmxvYWQgLz5cbiAgICAgICAgICAgICAgRG93bmxvYWQgdGVtcGxhdGVzXG4gICAgICAgICAgICAgIDxGYUNoZXZyb25Eb3duIC8+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICB7dGVtcGxhdGVzT3BlbiA/IChcbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgaWQ9J21lcmNoaS10ZW1wbGF0ZS1kb3dubG9hZHMnXG4gICAgICAgICAgICAgIGNsYXNzTmFtZT0nbWVyY2hpLXByb2R1Y3QtZHJhZnQtdGVtcGxhdGUtbWVudSdcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPHA+RG93bmxvYWQgdGhlIHRlbXBsYXRlcywgZWRpdCB0aGVtIGFuZCB0aGVuIHJldXBsb2FkIHRoZW08L3A+XG4gICAgICAgICAgICAgIHtkb3dubG9hZHMubGVuZ3RoID8gKFxuICAgICAgICAgICAgICAgIDx1bCBjbGFzc05hbWU9J21lcmNoaS1wcm9kdWN0LWRyYWZ0LXRlbXBsYXRlLWxpc3QnPlxuICAgICAgICAgICAgICAgICAge2Rvd25sb2Fkcy5tYXAoKGl0ZW0pID0+IChcbiAgICAgICAgICAgICAgICAgICAgPGxpIGtleT17aXRlbS5rZXl9PlxuICAgICAgICAgICAgICAgICAgICAgIDxUZW1wbGF0ZUF2YXRhciBzcmM9e2l0ZW0ucHJldmlld30gbmFtZT17aXRlbS5uYW1lfSAvPlxuICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT0nbWVyY2hpLXByb2R1Y3QtZHJhZnQtdGVtcGxhdGUtbmFtZSc+e2l0ZW0ubmFtZX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT0nbWVyY2hpLXByb2R1Y3QtZHJhZnQtdGVtcGxhdGUtZG93bmxvYWQnXG4gICAgICAgICAgICAgICAgICAgICAgICBocmVmPXtpdGVtLmhyZWZ9XG4gICAgICAgICAgICAgICAgICAgICAgICBkb3dubG9hZD17aXRlbS5maWxlTmFtZSB8fCB0cnVlfVxuICAgICAgICAgICAgICAgICAgICAgICAgdGFyZ2V0PSdfYmxhbmsnXG4gICAgICAgICAgICAgICAgICAgICAgICByZWw9J25vb3BlbmVyIG5vcmVmZXJyZXInXG4gICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgPEZhRG93bmxvYWQgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIERvd25sb2FkXG4gICAgICAgICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgICAgKSl9XG4gICAgICAgICAgICAgICAgPC91bD5cbiAgICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgICA8c3Bhbj5ObyB0ZW1wbGF0ZXMgYXJlIGF2YWlsYWJsZSB0byBkb3dubG9hZC48L3NwYW4+XG4gICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPSdtZXJjaGktcHJvZHVjdC1kcmFmdC10ZW1wbGF0ZS1kcm9wJz5cbiAgICAgICAgICAgICAgICA8RHJvcHpvbmVJbnB1dFxuICAgICAgICAgICAgICAgICAgbXVsdGlwbGVcbiAgICAgICAgICAgICAgICAgIGFjY2VwdD0nLmpwZywuanBlZywucG5nLC5naWYsLnBkZiwuc3ZnLC5haSwuZXBzJ1xuICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9J1VwbG9hZCBlZGl0ZWQgdGVtcGxhdGVzJ1xuICAgICAgICAgICAgICAgICAgb25VcGxvYWRTdWNjZXNzPXthZGRVcGxvYWR9XG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIHt1cGxvYWRzLmxlbmd0aCA/IChcbiAgICAgICAgICAgICAgICA8dWwgY2xhc3NOYW1lPSdtZXJjaGktcHJvZHVjdC1kcmFmdC11cGxvYWQtbGlzdCc+XG4gICAgICAgICAgICAgICAgICB7dXBsb2Fkcy5tYXAoKGZpbGUpID0+IChcbiAgICAgICAgICAgICAgICAgICAgPGxpIGtleT17ZmlsZS5pZH0+XG4gICAgICAgICAgICAgICAgICAgICAgPFRlbXBsYXRlQXZhdGFyIHNyYz17ZmlsZS52aWV3VXJsIHx8ICcnfSBuYW1lPXtmaWxlLm5hbWV9IC8+XG4gICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPSdtZXJjaGktcHJvZHVjdC1kcmFmdC10ZW1wbGF0ZS1uYW1lJz57ZmlsZS5uYW1lfTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSdidXR0b24nXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9J21lcmNoaS1wcm9kdWN0LWRyYWZ0LXVwbG9hZC1yZW1vdmUnXG4gICAgICAgICAgICAgICAgICAgICAgICBhcmlhLWxhYmVsPXtgUmVtb3ZlICR7ZmlsZS5uYW1lfWB9XG4gICAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiByZW1vdmVVcGxvYWQoZmlsZS5pZCl9XG4gICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgPEZhVGltZXMgLz5cbiAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgICAgICkpfVxuICAgICAgICAgICAgICAgIDwvdWw+XG4gICAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAge2hhc1NhdmVkID8gKFxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICB0eXBlPSdidXR0b24nXG4gICAgICAgICAgICAgIGNsYXNzTmFtZT0nbWVyY2hpLXByb2R1Y3QtZHJhZnQtY3RhLXJlc2V0J1xuICAgICAgICAgICAgICBvbkNsaWNrPXtzdGFydEFnYWlufVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICBTdGFydCBhZ2FpblxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgIDwvZGl2PlxuICAgICAgKSA6IChcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9J21lcmNoaS1wcm9kdWN0LWRyYWZ0LWN0YS1wYW5lbCcgcm9sZT0ndGFicGFuZWwnPlxuICAgICAgICAgIDxzcGFuPlxuICAgICAgICAgICAgU2tpcCB0aGUgZGVzaWduZXIgYW5kIGFkZCB0byBjYXJ0LCBidXkgbm93LCBvciBnZXQgYSBxdW90ZS4gV2UmYXBvcztsbCBjcmVhdGUgYSBmcmVlXG4gICAgICAgICAgICBkcmFmdCBmb3IgeW91IGFmdGVyIHRoZSBvcmRlci5cbiAgICAgICAgICA8L3NwYW4+XG4gICAgICAgIDwvZGl2PlxuICAgICAgKX1cbiAgICA8L2Rpdj5cbiAgKTtcbn1cblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gUHJvZHVjdERyYWZ0c0hvc3QoKSB7XG4gIGNvbnN0IHtcbiAgICBob29rRm9ybSxcbiAgICBpc0RyYWZ0RGVzaWduZXJPcGVuLFxuICAgIGlzRHJhZnRNb2RhbE9wZW4sXG4gICAgcHJvZHVjdCxcbiAgICBzZXRJc0RyYWZ0RGVzaWduZXJPcGVuLFxuICAgIGNvbnN1bWVQZW5kaW5nQ2hlY2tvdXQsXG4gIH0gPSB1c2VNZXJjaGlGb3JtQ29udGV4dCgpO1xuXG4gIGNvbnN0IGFsbG93ZWQgPSBwcm9kdWN0QWxsb3dzQ2xpZW50RGVzaWduKHByb2R1Y3QpO1xuICBjb25zdCBmb3JtVmFsdWVzID0gaG9va0Zvcm0ud2F0Y2ggPyBob29rRm9ybS53YXRjaCgpIDogaG9va0Zvcm0uZ2V0VmFsdWVzPy4oKSB8fCB7fTtcbiAgY29uc3QgZHJhZnRzID0gdHlwZW9mIHdpbmRvdyAhPT0gJ3VuZGVmaW5lZCcgJiYgcHJvZHVjdD8uaWRcbiAgICA/IGxvYWREcmFmdHMocHJvZHVjdC5pZClcbiAgICA6IFtdO1xuICBjb25zdCBtaXNzaW5nID0gdXNlTWVtbyhcbiAgICAoKSA9PiBtaXNzaW5nRGVzaWduU2xvdHMocHJvZHVjdCwgZm9ybVZhbHVlcywgZHJhZnRzKSxcbiAgICBbcHJvZHVjdCwgZm9ybVZhbHVlcywgZHJhZnRzXSxcbiAgKTtcbiAgY29uc3QgW2N0YUFuY2hvciwgc2V0Q3RhQW5jaG9yXSA9IHVzZVN0YXRlPEhUTUxFbGVtZW50IHwgbnVsbD4obnVsbCk7XG5cbiAgdXNlTGF5b3V0RWZmZWN0KCgpID0+IHtcbiAgICBpZiAoIWFsbG93ZWQgfHwgaXNQcm9kdWN0TGVhZEZvcm0ocHJvZHVjdCkpIHJldHVybjtcbiAgICBpZiAoZG9jdW1lbnQucXVlcnlTZWxlY3RvcignLm1lcmNoaS1wcm9kdWN0LWRyYWZ0LWN0YScpKSByZXR1cm47XG5cbiAgICBjb25zdCBidXR0b25zID0gZmluZENoZWNrb3V0QnV0dG9uc0VsKCk7XG4gICAgaWYgKCFidXR0b25zPy5wYXJlbnRFbGVtZW50KSByZXR1cm47XG5cbiAgICBjb25zdCBzbG90ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgc2xvdC5zZXRBdHRyaWJ1dGUoJ2RhdGEtbWVyY2hpLWRyYWZ0LWN0YS1zbG90JywgJ3RydWUnKTtcbiAgICBidXR0b25zLnBhcmVudEVsZW1lbnQuaW5zZXJ0QmVmb3JlKHNsb3QsIGJ1dHRvbnMpO1xuICAgIHNldEN0YUFuY2hvcihzbG90KTtcbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgc2xvdC5yZW1vdmUoKTtcbiAgICAgIHNldEN0YUFuY2hvcihudWxsKTtcbiAgICB9O1xuICB9LCBbYWxsb3dlZCwgcHJvZHVjdF0pO1xuXG4gIGlmICghYWxsb3dlZCB8fCBpc1Byb2R1Y3RMZWFkRm9ybShwcm9kdWN0KSkgcmV0dXJuIG51bGw7XG5cbiAgZnVuY3Rpb24gaGFuZGxlU2F2ZWQoKSB7XG4gICAgc2V0SXNEcmFmdERlc2lnbmVyT3BlbihmYWxzZSk7XG4gICAgY29uc3QgcGVuZGluZyA9IGNvbnN1bWVQZW5kaW5nQ2hlY2tvdXQ/LigpO1xuICAgIGlmIChwZW5kaW5nKSB7XG4gICAgICBwZW5kaW5nKCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIChcbiAgICA8PlxuICAgICAge2N0YUFuY2hvciA/IGNyZWF0ZVBvcnRhbCg8UHJvZHVjdERyYWZ0c0N0YSAvPiwgY3RhQW5jaG9yKSA6IG51bGx9XG5cbiAgICAgIDxEcmFmdERlc2lnbmVyU2hlZXRcbiAgICAgICAgb3Blbj17Qm9vbGVhbihpc0RyYWZ0RGVzaWduZXJPcGVuKX1cbiAgICAgICAgaW5pdGlhbEdyb3VwSW5kZXg9e21pc3NpbmdbMF0/Lmdyb3VwSW5kZXggfHwgMH1cbiAgICAgICAgb25DbG9zZT17KCkgPT4gc2V0SXNEcmFmdERlc2lnbmVyT3BlbihmYWxzZSl9XG4gICAgICAgIG9uU2F2ZWQ9e2hhbmRsZVNhdmVkfVxuICAgICAgLz5cblxuICAgICAge2lzRHJhZnRNb2RhbE9wZW4gJiYgdHlwZW9mIGRvY3VtZW50ICE9PSAndW5kZWZpbmVkJ1xuICAgICAgICA/IGNyZWF0ZVBvcnRhbChcbiAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICBjbGFzc05hbWU9J21lcmNoaS1wcm9kdWN0LWRyYWZ0LWFwcHJvdmUnXG4gICAgICAgICAgICByb2xlPSdkaWFsb2cnXG4gICAgICAgICAgICBhcmlhLW1vZGFsPSd0cnVlJ1xuICAgICAgICAgICAgYXJpYS1sYWJlbGxlZGJ5PSdtZXJjaGktcHJvZHVjdC1kcmFmdC1hcHByb3ZlLXRpdGxlJ1xuICAgICAgICAgID5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPSdtZXJjaGktcHJvZHVjdC1kcmFmdC1hcHByb3ZlLXBhbmVsJz5cbiAgICAgICAgICAgICAgPERyYWZ0QXBwcm92ZVBhbmVsIC8+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj4sXG4gICAgICAgICAgZG9jdW1lbnQuYm9keSxcbiAgICAgICAgKVxuICAgICAgICA6IG51bGx9XG4gICAgPC8+XG4gICk7XG59XG4iXSwibWFwcGluZ3MiOiJBQUFBLFlBQVk7O0FBQUMsU0FBQUEsUUFBQUMsQ0FBQSxzQ0FBQUQsT0FBQSx3QkFBQUUsTUFBQSx1QkFBQUEsTUFBQSxDQUFBQyxRQUFBLGFBQUFGLENBQUEsa0JBQUFBLENBQUEsZ0JBQUFBLENBQUEsV0FBQUEsQ0FBQSx5QkFBQUMsTUFBQSxJQUFBRCxDQUFBLENBQUFHLFdBQUEsS0FBQUYsTUFBQSxJQUFBRCxDQUFBLEtBQUFDLE1BQUEsQ0FBQUcsU0FBQSxxQkFBQUosQ0FBQSxLQUFBRCxPQUFBLENBQUFDLENBQUE7QUFBQSxTQUFBSyxtQkFBQUMsQ0FBQSxXQUFBQyxrQkFBQSxDQUFBRCxDQUFBLEtBQUFFLGdCQUFBLENBQUFGLENBQUEsS0FBQUcsMkJBQUEsQ0FBQUgsQ0FBQSxLQUFBSSxrQkFBQTtBQUFBLFNBQUFBLG1CQUFBLGNBQUFDLFNBQUE7QUFBQSxTQUFBSCxpQkFBQUYsQ0FBQSw4QkFBQUwsTUFBQSxZQUFBSyxDQUFBLENBQUFMLE1BQUEsQ0FBQUMsUUFBQSxhQUFBSSxDQUFBLHVCQUFBTSxLQUFBLENBQUFDLElBQUEsQ0FBQVAsQ0FBQTtBQUFBLFNBQUFDLG1CQUFBRCxDQUFBLFFBQUFNLEtBQUEsQ0FBQUUsT0FBQSxDQUFBUixDQUFBLFVBQUFTLGlCQUFBLENBQUFULENBQUE7QUFBQSxTQUFBVSxRQUFBQyxDQUFBLEVBQUFYLENBQUEsUUFBQVksQ0FBQSxHQUFBQyxNQUFBLENBQUFDLElBQUEsQ0FBQUgsQ0FBQSxPQUFBRSxNQUFBLENBQUFFLHFCQUFBLFFBQUFyQixDQUFBLEdBQUFtQixNQUFBLENBQUFFLHFCQUFBLENBQUFKLENBQUEsR0FBQVgsQ0FBQSxLQUFBTixDQUFBLEdBQUFBLENBQUEsQ0FBQXNCLE1BQUEsV0FBQWhCLENBQUEsV0FBQWEsTUFBQSxDQUFBSSx3QkFBQSxDQUFBTixDQUFBLEVBQUFYLENBQUEsRUFBQWtCLFVBQUEsT0FBQU4sQ0FBQSxDQUFBTyxJQUFBLENBQUFDLEtBQUEsQ0FBQVIsQ0FBQSxFQUFBbEIsQ0FBQSxZQUFBa0IsQ0FBQTtBQUFBLFNBQUFTLGNBQUFWLENBQUEsYUFBQVgsQ0FBQSxNQUFBQSxDQUFBLEdBQUFzQixTQUFBLENBQUFDLE1BQUEsRUFBQXZCLENBQUEsVUFBQVksQ0FBQSxXQUFBVSxTQUFBLENBQUF0QixDQUFBLElBQUFzQixTQUFBLENBQUF0QixDQUFBLFFBQUFBLENBQUEsT0FBQVUsT0FBQSxDQUFBRyxNQUFBLENBQUFELENBQUEsT0FBQVksT0FBQSxXQUFBeEIsQ0FBQSxJQUFBeUIsZUFBQSxDQUFBZCxDQUFBLEVBQUFYLENBQUEsRUFBQVksQ0FBQSxDQUFBWixDQUFBLFNBQUFhLE1BQUEsQ0FBQWEseUJBQUEsR0FBQWIsTUFBQSxDQUFBYyxnQkFBQSxDQUFBaEIsQ0FBQSxFQUFBRSxNQUFBLENBQUFhLHlCQUFBLENBQUFkLENBQUEsS0FBQUYsT0FBQSxDQUFBRyxNQUFBLENBQUFELENBQUEsR0FBQVksT0FBQSxXQUFBeEIsQ0FBQSxJQUFBYSxNQUFBLENBQUFlLGNBQUEsQ0FBQWpCLENBQUEsRUFBQVgsQ0FBQSxFQUFBYSxNQUFBLENBQUFJLHdCQUFBLENBQUFMLENBQUEsRUFBQVosQ0FBQSxpQkFBQVcsQ0FBQTtBQUFBLFNBQUFjLGdCQUFBZCxDQUFBLEVBQUFYLENBQUEsRUFBQVksQ0FBQSxZQUFBWixDQUFBLEdBQUE2QixjQUFBLENBQUE3QixDQUFBLE1BQUFXLENBQUEsR0FBQUUsTUFBQSxDQUFBZSxjQUFBLENBQUFqQixDQUFBLEVBQUFYLENBQUEsSUFBQThCLEtBQUEsRUFBQWxCLENBQUEsRUFBQU0sVUFBQSxNQUFBYSxZQUFBLE1BQUFDLFFBQUEsVUFBQXJCLENBQUEsQ0FBQVgsQ0FBQSxJQUFBWSxDQUFBLEVBQUFELENBQUE7QUFBQSxTQUFBa0IsZUFBQWpCLENBQUEsUUFBQXFCLENBQUEsR0FBQUMsWUFBQSxDQUFBdEIsQ0FBQSxnQ0FBQW5CLE9BQUEsQ0FBQXdDLENBQUEsSUFBQUEsQ0FBQSxHQUFBQSxDQUFBO0FBQUEsU0FBQUMsYUFBQXRCLENBQUEsRUFBQVosQ0FBQSxvQkFBQVAsT0FBQSxDQUFBbUIsQ0FBQSxNQUFBQSxDQUFBLFNBQUFBLENBQUEsTUFBQUQsQ0FBQSxHQUFBQyxDQUFBLENBQUFqQixNQUFBLENBQUF3QyxXQUFBLGtCQUFBeEIsQ0FBQSxRQUFBc0IsQ0FBQSxHQUFBdEIsQ0FBQSxDQUFBeUIsSUFBQSxDQUFBeEIsQ0FBQSxFQUFBWixDQUFBLGdDQUFBUCxPQUFBLENBQUF3QyxDQUFBLFVBQUFBLENBQUEsWUFBQTVCLFNBQUEseUVBQUFMLENBQUEsR0FBQXFDLE1BQUEsR0FBQUMsTUFBQSxFQUFBMUIsQ0FBQTtBQUFBLFNBQUEyQixlQUFBdkMsQ0FBQSxFQUFBVyxDQUFBLFdBQUE2QixlQUFBLENBQUF4QyxDQUFBLEtBQUF5QyxxQkFBQSxDQUFBekMsQ0FBQSxFQUFBVyxDQUFBLEtBQUFSLDJCQUFBLENBQUFILENBQUEsRUFBQVcsQ0FBQSxLQUFBK0IsZ0JBQUE7QUFBQSxTQUFBQSxpQkFBQSxjQUFBckMsU0FBQTtBQUFBLFNBQUFGLDRCQUFBSCxDQUFBLEVBQUEyQyxDQUFBLFFBQUEzQyxDQUFBLDJCQUFBQSxDQUFBLFNBQUFTLGlCQUFBLENBQUFULENBQUEsRUFBQTJDLENBQUEsT0FBQS9CLENBQUEsTUFBQWdDLFFBQUEsQ0FBQVIsSUFBQSxDQUFBcEMsQ0FBQSxFQUFBNkMsS0FBQSw2QkFBQWpDLENBQUEsSUFBQVosQ0FBQSxDQUFBSCxXQUFBLEtBQUFlLENBQUEsR0FBQVosQ0FBQSxDQUFBSCxXQUFBLENBQUFpRCxJQUFBLGFBQUFsQyxDQUFBLGNBQUFBLENBQUEsR0FBQU4sS0FBQSxDQUFBQyxJQUFBLENBQUFQLENBQUEsb0JBQUFZLENBQUEsK0NBQUFtQyxJQUFBLENBQUFuQyxDQUFBLElBQUFILGlCQUFBLENBQUFULENBQUEsRUFBQTJDLENBQUE7QUFBQSxTQUFBbEMsa0JBQUFULENBQUEsRUFBQTJDLENBQUEsYUFBQUEsQ0FBQSxJQUFBQSxDQUFBLEdBQUEzQyxDQUFBLENBQUF1QixNQUFBLE1BQUFvQixDQUFBLEdBQUEzQyxDQUFBLENBQUF1QixNQUFBLFlBQUFaLENBQUEsTUFBQXFDLENBQUEsR0FBQTFDLEtBQUEsQ0FBQXFDLENBQUEsR0FBQWhDLENBQUEsR0FBQWdDLENBQUEsRUFBQWhDLENBQUEsSUFBQXFDLENBQUEsQ0FBQXJDLENBQUEsSUFBQVgsQ0FBQSxDQUFBVyxDQUFBLFVBQUFxQyxDQUFBO0FBQUEsU0FBQVAsc0JBQUF6QyxDQUFBLEVBQUFpRCxDQUFBLFFBQUFyQyxDQUFBLFdBQUFaLENBQUEsZ0NBQUFMLE1BQUEsSUFBQUssQ0FBQSxDQUFBTCxNQUFBLENBQUFDLFFBQUEsS0FBQUksQ0FBQSw0QkFBQVksQ0FBQSxRQUFBRCxDQUFBLEVBQUFxQyxDQUFBLEVBQUFmLENBQUEsRUFBQWlCLENBQUEsRUFBQVAsQ0FBQSxPQUFBUSxDQUFBLE9BQUF6RCxDQUFBLGlCQUFBdUMsQ0FBQSxJQUFBckIsQ0FBQSxHQUFBQSxDQUFBLENBQUF3QixJQUFBLENBQUFwQyxDQUFBLEdBQUFvRCxJQUFBLFFBQUFILENBQUEsUUFBQXBDLE1BQUEsQ0FBQUQsQ0FBQSxNQUFBQSxDQUFBLFVBQUF1QyxDQUFBLHVCQUFBQSxDQUFBLElBQUF4QyxDQUFBLEdBQUFzQixDQUFBLENBQUFHLElBQUEsQ0FBQXhCLENBQUEsR0FBQXlDLElBQUEsTUFBQVYsQ0FBQSxDQUFBeEIsSUFBQSxDQUFBUixDQUFBLENBQUFtQixLQUFBLEdBQUFhLENBQUEsQ0FBQXBCLE1BQUEsS0FBQTBCLENBQUEsR0FBQUUsQ0FBQSxpQkFBQW5ELENBQUEsSUFBQU4sQ0FBQSxPQUFBc0QsQ0FBQSxHQUFBaEQsQ0FBQSx5QkFBQW1ELENBQUEsWUFBQXZDLENBQUEsZUFBQXNDLENBQUEsR0FBQXRDLENBQUEsY0FBQUMsTUFBQSxDQUFBcUMsQ0FBQSxNQUFBQSxDQUFBLDJCQUFBeEQsQ0FBQSxRQUFBc0QsQ0FBQSxhQUFBTCxDQUFBO0FBQUEsU0FBQUgsZ0JBQUF4QyxDQUFBLFFBQUFNLEtBQUEsQ0FBQUUsT0FBQSxDQUFBUixDQUFBLFVBQUFBLENBQUE7QUFDYixPQUFPLEtBQUtzRCxLQUFLLE1BQU0sT0FBTztBQUM5QixTQUFTQyxlQUFlLEVBQUVDLE9BQU8sRUFBRUMsUUFBUSxRQUFRLE9BQU87QUFDMUQsU0FBU0MsWUFBWSxRQUFRLFdBQVc7QUFDeEMsU0FBU0MsYUFBYSxFQUFFQyxVQUFVLEVBQUVDLFlBQVksRUFBRUMsT0FBTyxRQUFRLGdCQUFnQjtBQUNqRixTQUFTQyxvQkFBb0IsUUFBUSx5Q0FBeUM7QUFDOUUsT0FBT0MsYUFBYSxNQUFNLGtCQUFrQjtBQUM1QyxTQUFTQyxvQkFBb0IsRUFBRUMsb0JBQW9CLFFBQVEseUJBQXlCO0FBQ3BGLFNBQ0VDLDBCQUEwQixFQUMxQkMseUJBQXlCLFFBQ3BCLDRCQUE0QjtBQUNuQyxTQUFTQyxpQkFBaUIsUUFBUSxVQUFVO0FBQzVDLFNBR0VDLGNBQWMsRUFDZEMsdUJBQXVCLEVBQ3ZCQyxrQkFBa0IsRUFDbEJDLGVBQWUsRUFDZkMsVUFBVSxFQUNWQyxtQkFBbUIsRUFDbkJDLGtCQUFrQixFQUNsQkMsZUFBZSxFQUNmQyxnQkFBZ0IsRUFDaEJDLG1CQUFtQixRQUNkLDBCQUEwQjtBQUNqQyxPQUFPQyxpQkFBaUIsTUFBTSxxQkFBcUI7QUFDbkQsT0FBT0Msa0JBQWtCLE1BQU0sc0JBQXNCO0FBQUMsU0FBQUMsR0FBQSxJQUFBQyxJQUFBLEVBQUFDLElBQUEsSUFBQUMsS0FBQSxFQUFBQyxRQUFBLElBQUFDLFNBQUE7QUFFdEQsU0FBU0MsY0FBY0EsQ0FBQUMsSUFBQSxFQUErQztFQUFBLElBQTVDQyxHQUFHLEdBQUFELElBQUEsQ0FBSEMsR0FBRztJQUFFNUMsSUFBSSxHQUFBMkMsSUFBQSxDQUFKM0MsSUFBSTtFQUNqQyxJQUFBNkMsU0FBQSxHQUE0QmxDLFFBQVEsQ0FBQyxLQUFLLENBQUM7SUFBQW1DLFVBQUEsR0FBQXJELGNBQUEsQ0FBQW9ELFNBQUE7SUFBcENFLE1BQU0sR0FBQUQsVUFBQTtJQUFFRSxTQUFTLEdBQUFGLFVBQUE7RUFDeEIsSUFBSSxDQUFDRixHQUFHLElBQUlHLE1BQU0sRUFBRTtJQUNsQixvQkFDRVYsSUFBQTtNQUFNWSxTQUFTLEVBQUMsK0NBQStDO01BQUMsZUFBWSxNQUFNO01BQUFDLFFBQUEsRUFDL0VsRCxJQUFJLENBQUNELEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUNvRCxXQUFXLENBQUM7SUFBQyxDQUMzQixDQUFDO0VBRVg7RUFDQSxvQkFDRWQsSUFBQTtJQUNFWSxTQUFTLEVBQUMsc0NBQXNDO0lBQ2hETCxHQUFHLEVBQUVBLEdBQUk7SUFDVFEsR0FBRyxFQUFDLEVBQUU7SUFDTkMsT0FBTyxFQUFFLFNBQVRBLE9BQU9BLENBQUE7TUFBQSxPQUFRTCxTQUFTLENBQUMsSUFBSSxDQUFDO0lBQUE7RUFBQyxDQUNoQyxDQUFDO0FBRU47QUFFQSxTQUFTTSxxQkFBcUJBLENBQUEsRUFBdUI7RUFDbkQsSUFBTUMsTUFBTSxHQUFHQyxRQUFRLENBQUNDLGFBQWEsQ0FBQyxnQ0FBZ0MsQ0FBQztFQUN2RSxJQUFJRixNQUFNLFlBQVlHLFdBQVcsRUFBRSxPQUFPSCxNQUFNO0VBQ2hELElBQU1JLEtBQUssR0FBR0gsUUFBUSxDQUFDQyxhQUFhLENBQ2xDLDRFQUNGLENBQUM7RUFDRCxJQUFJRSxLQUFLLFlBQVlELFdBQVcsRUFBRSxPQUFPQyxLQUFLO0VBQzlDLElBQU1DLE1BQU0sR0FBR0osUUFBUSxDQUFDQyxhQUFhLENBQUMsa0NBQWtDLENBQUM7RUFDekUsT0FBT0csTUFBTSxZQUFZRixXQUFXLEdBQUdFLE1BQU0sQ0FBQ0MsYUFBYSxHQUFHLElBQUk7QUFDcEU7QUFFQSxPQUFPLFNBQVNDLGdCQUFnQkEsQ0FBQSxFQUFHO0VBQUEsSUFBQUMsbUJBQUE7RUFDakMsSUFBQUMscUJBQUEsR0FRSS9DLG9CQUFvQixDQUFDLENBQUM7SUFQeEJnRCxNQUFNLEdBQUFELHFCQUFBLENBQU5DLE1BQU07SUFDTkMsaUJBQWlCLEdBQUFGLHFCQUFBLENBQWpCRSxpQkFBaUI7SUFDakJDLFFBQVEsR0FBQUgscUJBQUEsQ0FBUkcsUUFBUTtJQUNSQyxHQUFHLEdBQUFKLHFCQUFBLENBQUhJLEdBQUc7SUFDSEMsT0FBTyxHQUFBTCxxQkFBQSxDQUFQSyxPQUFPO0lBQ1BDLHNCQUFzQixHQUFBTixxQkFBQSxDQUF0Qk0sc0JBQXNCO0lBQ3RCQyxNQUFNLEdBQUFQLHFCQUFBLENBQU5PLE1BQU07RUFFUixJQUFBQyxVQUFBLEdBQTBDN0QsUUFBUSxDQUFDLENBQUMsQ0FBQztJQUFBOEQsVUFBQSxHQUFBaEYsY0FBQSxDQUFBK0UsVUFBQTtJQUE5Q0UsYUFBYSxHQUFBRCxVQUFBO0lBQUVFLGdCQUFnQixHQUFBRixVQUFBO0VBQ3RDLElBQUFHLFVBQUEsR0FBc0NqRSxRQUFRLENBQWMsTUFBTSxDQUFDO0lBQUFrRSxVQUFBLEdBQUFwRixjQUFBLENBQUFtRixVQUFBO0lBQTVERSxXQUFXLEdBQUFELFVBQUE7SUFBRUUsY0FBYyxHQUFBRixVQUFBO0VBQ2xDLElBQUFHLFVBQUEsR0FBMENyRSxRQUFRLENBQUMsS0FBSyxDQUFDO0lBQUFzRSxVQUFBLEdBQUF4RixjQUFBLENBQUF1RixVQUFBO0lBQWxERSxhQUFhLEdBQUFELFVBQUE7SUFBRUUsZ0JBQWdCLEdBQUFGLFVBQUE7RUFDdEMsSUFBQUcsVUFBQSxHQUE4QnpFLFFBQVEsQ0FBbUIsRUFBRSxDQUFDO0lBQUEwRSxVQUFBLEdBQUE1RixjQUFBLENBQUEyRixVQUFBO0lBQXJERSxPQUFPLEdBQUFELFVBQUE7SUFBRUUsVUFBVSxHQUFBRixVQUFBO0VBRTFCLElBQU1HLE9BQU8sR0FBR2xFLHlCQUF5QixDQUFDK0MsT0FBTyxDQUFDO0VBQ2xELElBQU1vQixVQUFVLEdBQUd0QixRQUFRLENBQUN1QixLQUFLLEdBQUd2QixRQUFRLENBQUN1QixLQUFLLENBQUMsQ0FBQyxHQUFHLEVBQUEzQixtQkFBQSxHQUFBSSxRQUFRLENBQUN3QixTQUFTLGNBQUE1QixtQkFBQSx1QkFBbEJBLG1CQUFBLENBQUF6RSxJQUFBLENBQUE2RSxRQUFxQixDQUFDLEtBQUksQ0FBQyxDQUFDO0VBQ25GLElBQU15QixNQUFNLEdBQUcsT0FBT0MsTUFBTSxLQUFLLFdBQVcsSUFBSXhCLE9BQU8sYUFBUEEsT0FBTyxlQUFQQSxPQUFPLENBQUV5QixFQUFFLEdBQ3ZEbEUsVUFBVSxDQUFDeUMsT0FBTyxDQUFDeUIsRUFBRSxDQUFDLEdBQ3RCLEVBQUU7RUFDTixJQUFNQyxNQUFNLEdBQUdyRixPQUFPLENBQ3BCO0lBQUEsT0FBTWdCLGtCQUFrQixDQUFDMkMsT0FBTyxFQUFFb0IsVUFBVSxFQUFFRyxNQUFNLENBQUM7RUFBQSxHQUNyRCxDQUFDdkIsT0FBTyxFQUFFb0IsVUFBVSxFQUFFRyxNQUFNLEVBQUVsQixhQUFhLENBQzdDLENBQUM7RUFDRCxJQUFNc0IsUUFBUSxHQUFHRCxNQUFNLENBQUNFLFFBQVEsR0FBRyxDQUFDO0VBQ3BDLElBQU1DLFNBQVMsR0FBR3hGLE9BQU8sQ0FBQyxZQUFNO0lBQzlCLElBQU15RixTQUFTLEdBQUc5RSwwQkFBMEIsQ0FBQ2dELE9BQU8sRUFBRW9CLFVBQVUsQ0FBQztJQUNqRSxPQUFPVSxTQUFTLENBQ2JDLEdBQUcsQ0FBQyxVQUFDQyxRQUFRLEVBQUVDLEtBQUssRUFBSztNQUFBLElBQUFDLGNBQUEsRUFBQUMsWUFBQSxFQUFBQyxlQUFBO01BQ3hCLElBQU16RyxJQUFJLEdBQUdULE1BQU0sQ0FBQyxDQUFBOEcsUUFBUSxhQUFSQSxRQUFRLHVCQUFSQSxRQUFRLENBQUVyRyxJQUFJLE1BQUlxRyxRQUFRLGFBQVJBLFFBQVEsZ0JBQUFFLGNBQUEsR0FBUkYsUUFBUSxDQUFFSyxJQUFJLGNBQUFILGNBQUEsdUJBQWRBLGNBQUEsQ0FBZ0J2RyxJQUFJLEtBQUksRUFBRSxDQUFDLENBQUMyRyxJQUFJLENBQUMsQ0FBQyxnQkFBQUMsTUFBQSxDQUN2RE4sS0FBSyxHQUFHLENBQUMsQ0FBRTtNQUM1QixPQUFPO1FBQ0xPLEdBQUcsR0FBQUwsWUFBQSxHQUFFSCxRQUFRLGFBQVJBLFFBQVEsdUJBQVJBLFFBQVEsQ0FBRVAsRUFBRSxjQUFBVSxZQUFBLGNBQUFBLFlBQUEsR0FBSUYsS0FBSztRQUMxQlEsSUFBSSxFQUFFM0Ysb0JBQW9CLENBQUNrRixRQUFRLEVBQUVwQyxNQUFNLENBQUM7UUFDNUM4QyxPQUFPLEVBQUUzRixvQkFBb0IsQ0FBQ2lGLFFBQVEsRUFBRXBDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUU7UUFDeERqRSxJQUFJLEVBQUpBLElBQUk7UUFDSmdILFFBQVEsRUFBRXpILE1BQU0sQ0FBQyxDQUFBOEcsUUFBUSxhQUFSQSxRQUFRLGdCQUFBSSxlQUFBLEdBQVJKLFFBQVEsQ0FBRUssSUFBSSxjQUFBRCxlQUFBLHVCQUFkQSxlQUFBLENBQWdCekcsSUFBSSxLQUFJLEVBQUUsQ0FBQyxDQUFDMkcsSUFBSSxDQUFDLENBQUMsSUFBSTNHO01BQ3pELENBQUM7SUFDSCxDQUFDLENBQUMsQ0FDRDlCLE1BQU0sQ0FBQyxVQUFDK0ksSUFBSTtNQUFBLE9BQUtBLElBQUksQ0FBQ0gsSUFBSTtJQUFBLEVBQUM7RUFDaEMsQ0FBQyxFQUFFLENBQUM3QyxNQUFNLEVBQUV3QixVQUFVLEVBQUVwQixPQUFPLENBQUMsQ0FBQztFQUVqQzdELEtBQUssQ0FBQzBHLFNBQVMsQ0FBQyxZQUFNO0lBQ3BCLElBQUksRUFBQzdDLE9BQU8sYUFBUEEsT0FBTyxlQUFQQSxPQUFPLENBQUV5QixFQUFFLEdBQUU7SUFDbEJyRSx1QkFBdUIsQ0FBQzRDLE9BQU8sQ0FBQ3lCLEVBQUUsQ0FBQztJQUNuQ2YsY0FBYyxDQUFDcEQsZUFBZSxDQUFDMEMsT0FBTyxDQUFDeUIsRUFBRSxDQUFDLENBQUM7SUFDM0NQLFVBQVUsQ0FBQzFELG1CQUFtQixDQUFDd0MsT0FBTyxDQUFDeUIsRUFBRSxDQUFDLENBQUM7SUFDM0NuQixnQkFBZ0IsQ0FBQyxVQUFDM0YsS0FBSztNQUFBLE9BQUtBLEtBQUssR0FBRyxDQUFDO0lBQUEsRUFBQztFQUN4QyxDQUFDLEVBQUUsQ0FBQ3FGLE9BQU8sYUFBUEEsT0FBTyx1QkFBUEEsT0FBTyxDQUFFeUIsRUFBRSxDQUFDLENBQUM7RUFFakIsSUFBSSxDQUFDTixPQUFPLElBQUlqRSxpQkFBaUIsQ0FBQzhDLE9BQU8sQ0FBQyxFQUFFLE9BQU8sSUFBSTtFQUV2RCxTQUFTOEMsVUFBVUEsQ0FBQ0MsSUFBaUIsRUFBRTtJQUNyQ3JDLGNBQWMsQ0FBQ3FDLElBQUksQ0FBQztJQUNwQixJQUFJL0MsT0FBTyxhQUFQQSxPQUFPLGVBQVBBLE9BQU8sQ0FBRXlCLEVBQUUsRUFBRS9ELGVBQWUsQ0FBQ3NDLE9BQU8sQ0FBQ3lCLEVBQUUsRUFBRXNCLElBQUksQ0FBQztFQUNwRDtFQUVBLFNBQVNDLFVBQVVBLENBQUEsRUFBRztJQUNwQixJQUFJLEVBQUNoRCxPQUFPLGFBQVBBLE9BQU8sZUFBUEEsT0FBTyxDQUFFeUIsRUFBRSxHQUFFO0lBQ2xCLElBQU13QixTQUFTLEdBQUd6QixNQUFNLENBQUMwQixPQUFPLENBQzlCLCtEQUNGLENBQUM7SUFDRCxJQUFJLENBQUNELFNBQVMsRUFBRTtJQUNoQjlGLGNBQWMsQ0FBQzZDLE9BQU8sQ0FBQ3lCLEVBQUUsQ0FBQztJQUMxQlAsVUFBVSxDQUFDLEVBQUUsQ0FBQztJQUNkaEIsTUFBTSxDQUFBaEcsYUFBQSxDQUFBQSxhQUFBLEtBQ0Q2RixHQUFHO01BQ05vRCxTQUFTLEVBQUUsRUFBRTtNQUNiQyxXQUFXLEVBQUU7SUFBRSxFQUNoQixDQUFDO0lBQ0Y5QyxnQkFBZ0IsQ0FBQyxVQUFDM0YsS0FBSztNQUFBLE9BQUtBLEtBQUssR0FBRyxDQUFDO0lBQUEsRUFBQztJQUN0Q21JLFVBQVUsQ0FBQyxNQUFNLENBQUM7SUFDbEJuRixnQkFBZ0IsQ0FBQ3FDLE9BQU8sQ0FBQ3lCLEVBQUUsRUFBRSxVQUFVLENBQUM7SUFDeENYLGdCQUFnQixDQUFDLEtBQUssQ0FBQztJQUN2QmIsc0JBQXNCLENBQUMsSUFBSSxDQUFDO0VBQzlCO0VBRUEsU0FBU29ELFlBQVlBLENBQUEsRUFBRztJQUN0QixJQUFJckQsT0FBTyxhQUFQQSxPQUFPLGVBQVBBLE9BQU8sQ0FBRXlCLEVBQUUsRUFBRTlELGdCQUFnQixDQUFDcUMsT0FBTyxDQUFDeUIsRUFBRSxFQUFFLFVBQVUsQ0FBQztJQUN6RFgsZ0JBQWdCLENBQUMsS0FBSyxDQUFDO0lBQ3ZCYixzQkFBc0IsQ0FBQyxJQUFJLENBQUM7RUFDOUI7RUFFQSxTQUFTcUQsZUFBZUEsQ0FBQSxFQUFHO0lBQ3pCeEMsZ0JBQWdCLENBQUMsVUFBQ3lDLElBQUksRUFBSztNQUN6QixJQUFNdEgsSUFBSSxHQUFHLENBQUNzSCxJQUFJO01BQ2xCLElBQUl0SCxJQUFJLElBQUkrRCxPQUFPLGFBQVBBLE9BQU8sZUFBUEEsT0FBTyxDQUFFeUIsRUFBRSxFQUFFOUQsZ0JBQWdCLENBQUNxQyxPQUFPLENBQUN5QixFQUFFLEVBQUUsV0FBVyxDQUFDO01BQ2xFLE9BQU94RixJQUFJO0lBQ2IsQ0FBQyxDQUFDO0VBQ0o7RUFFQSxTQUFTdUgsZUFBZUEsQ0FBQ3ZILElBQXNCLEVBQUU7SUFDL0NpRixVQUFVLENBQUNqRixJQUFJLENBQUM7SUFDaEIsSUFBSStELE9BQU8sYUFBUEEsT0FBTyxlQUFQQSxPQUFPLENBQUV5QixFQUFFLEVBQUU7TUFDZjdELG1CQUFtQixDQUFDb0MsT0FBTyxDQUFDeUIsRUFBRSxFQUFFeEYsSUFBSSxDQUFDO01BQ3JDMEIsZ0JBQWdCLENBQUNxQyxPQUFPLENBQUN5QixFQUFFLEVBQUUsV0FBVyxDQUFDO0lBQzNDO0VBQ0Y7RUFFQSxTQUFTZ0MsU0FBU0EsQ0FBQ3BCLElBQVMsRUFBRTtJQUM1QixJQUFJLENBQUFBLElBQUksYUFBSkEsSUFBSSx1QkFBSkEsSUFBSSxDQUFFWixFQUFFLEtBQUksSUFBSSxJQUFJLEVBQUN6QixPQUFPLGFBQVBBLE9BQU8sZUFBUEEsT0FBTyxDQUFFeUIsRUFBRSxHQUFFO0lBQ3RDLElBQU1pQyxTQUFTLEdBQUcxRCxPQUFPLENBQUN5QixFQUFFO0lBQzVCUCxVQUFVLENBQUMsVUFBQ3lDLE9BQU8sRUFBSztNQUN0QixJQUFNMUgsSUFBSSxNQUFBc0csTUFBQSxDQUFBM0osa0JBQUEsQ0FDTCtLLE9BQU8sQ0FBQzlKLE1BQU0sQ0FBQyxVQUFDK0ksSUFBSTtRQUFBLE9BQUsxSCxNQUFNLENBQUMwSCxJQUFJLENBQUNuQixFQUFFLENBQUMsS0FBS3ZHLE1BQU0sQ0FBQ21ILElBQUksQ0FBQ1osRUFBRSxDQUFDO01BQUEsRUFBQyxJQUNoRTtRQUNFQSxFQUFFLEVBQUVZLElBQUksQ0FBQ1osRUFBRTtRQUNYOUYsSUFBSSxFQUFFVCxNQUFNLENBQUNtSCxJQUFJLENBQUMxRyxJQUFJLElBQUksUUFBUSxDQUFDO1FBQ25DaUksT0FBTyxFQUFFdkIsSUFBSSxDQUFDdUIsT0FBTyxJQUFJdkIsSUFBSSxDQUFDd0IsYUFBYSxJQUFJLEVBQUU7UUFDakRDLFdBQVcsRUFBRXpCLElBQUksQ0FBQ3lCLFdBQVcsSUFBSTtNQUNuQyxDQUFDLEVBQ0Y7TUFDRGxHLG1CQUFtQixDQUFDOEYsU0FBUyxFQUFFekgsSUFBSSxDQUFDO01BQ3BDMEIsZ0JBQWdCLENBQUMrRixTQUFTLEVBQUUsV0FBVyxDQUFDO01BQ3hDLE9BQU96SCxJQUFJO0lBQ2IsQ0FBQyxDQUFDO0VBQ0o7RUFFQSxTQUFTOEgsWUFBWUEsQ0FBQ3RDLEVBQW1CLEVBQUU7SUFDekMrQixlQUFlLENBQUN2QyxPQUFPLENBQUNwSCxNQUFNLENBQUMsVUFBQytJLElBQUk7TUFBQSxPQUFLMUgsTUFBTSxDQUFDMEgsSUFBSSxDQUFDbkIsRUFBRSxDQUFDLEtBQUt2RyxNQUFNLENBQUN1RyxFQUFFLENBQUM7SUFBQSxFQUFDLENBQUM7RUFDM0U7RUFFQSxvQkFDRXZELEtBQUE7SUFBS1UsU0FBUyxLQUFBMkQsTUFBQSxDQUFLMUMsaUJBQWlCLElBQUksRUFBRSw4QkFBNEI7SUFBQWhCLFFBQUEsZ0JBQ3BFYixJQUFBO01BQVFZLFNBQVMsRUFBQyxrQ0FBa0M7TUFBQUMsUUFBQSxFQUFDO0lBQU8sQ0FBUSxDQUFDLGVBQ3JFWCxLQUFBO01BQUtVLFNBQVMsRUFBQywrQkFBK0I7TUFBQ29GLElBQUksRUFBQyxTQUFTO01BQUMsY0FBVyxpQkFBaUI7TUFBQW5GLFFBQUEsZ0JBQ3hGYixJQUFBO1FBQ0VpRyxJQUFJLEVBQUMsUUFBUTtRQUNiRCxJQUFJLEVBQUMsS0FBSztRQUNWLGlCQUFldkQsV0FBVyxLQUFLLE1BQU87UUFDdEM3QixTQUFTLGlDQUFBMkQsTUFBQSxDQUFpQzlCLFdBQVcsS0FBSyxNQUFNLEdBQUcsWUFBWSxHQUFHLEVBQUUsQ0FBRztRQUN2RnlELE9BQU8sRUFBRSxTQUFUQSxPQUFPQSxDQUFBO1VBQUEsT0FBUXBCLFVBQVUsQ0FBQyxNQUFNLENBQUM7UUFBQSxDQUFDO1FBQUFqRSxRQUFBLEVBQ25DO01BRUQsQ0FBUSxDQUFDLGVBQ1RiLElBQUE7UUFDRWlHLElBQUksRUFBQyxRQUFRO1FBQ2JELElBQUksRUFBQyxLQUFLO1FBQ1YsaUJBQWV2RCxXQUFXLEtBQUssU0FBVTtRQUN6QzdCLFNBQVMsaUNBQUEyRCxNQUFBLENBQWlDOUIsV0FBVyxLQUFLLFNBQVMsR0FBRyxZQUFZLEdBQUcsRUFBRSxDQUFHO1FBQzFGeUQsT0FBTyxFQUFFLFNBQVRBLE9BQU9BLENBQUE7VUFBQSxPQUFRcEIsVUFBVSxDQUFDLFNBQVMsQ0FBQztRQUFBLENBQUM7UUFBQWpFLFFBQUEsRUFDdEM7TUFFRCxDQUFRLENBQUM7SUFBQSxDQUNOLENBQUMsRUFDTDRCLFdBQVcsS0FBSyxNQUFNLGdCQUNyQnZDLEtBQUE7TUFBS1UsU0FBUyxFQUFDLGdDQUFnQztNQUFDb0YsSUFBSSxFQUFDLFVBQVU7TUFBQW5GLFFBQUEsR0FDNUQ4QyxRQUFRLGdCQUNQM0QsSUFBQTtRQUFBYSxRQUFBLEVBQ0c2QyxNQUFNLENBQUN5QyxLQUFLLEtBQUssQ0FBQyxHQUNmLGFBQWEsTUFBQTVCLE1BQUEsQ0FDVmIsTUFBTSxDQUFDRSxRQUFRLFVBQUFXLE1BQUEsQ0FBT2IsTUFBTSxDQUFDeUMsS0FBSztNQUFlLENBQ3BELENBQUMsR0FDTCxJQUFJLGVBQ1JqRyxLQUFBO1FBQUtVLFNBQVMsRUFBQyxrQ0FBa0M7UUFBQUMsUUFBQSxnQkFDL0NYLEtBQUE7VUFDRStGLElBQUksRUFBQyxRQUFRO1VBQ2JyRixTQUFTLEVBQUMsOEJBQThCO1VBQ3hDc0YsT0FBTyxFQUFFYixZQUFhO1VBQUF4RSxRQUFBLGdCQUV0QmIsSUFBQSxDQUFDdEIsWUFBWSxJQUFFLENBQUMsaUJBRWxCO1FBQUEsQ0FBUSxDQUFDLGVBQ1R3QixLQUFBO1VBQ0UrRixJQUFJLEVBQUMsUUFBUTtVQUNickYsU0FBUyxzQ0FBQTJELE1BQUEsQ0FBc0MxQixhQUFhLEdBQUcsVUFBVSxHQUFHLEVBQUUsQ0FBRztVQUNqRixpQkFBZUEsYUFBYztVQUM3QixpQkFBYywyQkFBMkI7VUFDekNxRCxPQUFPLEVBQUVaLGVBQWdCO1VBQUF6RSxRQUFBLGdCQUV6QmIsSUFBQSxDQUFDdkIsVUFBVSxJQUFFLENBQUMsc0JBRWQsZUFBQXVCLElBQUEsQ0FBQ3hCLGFBQWEsSUFBRSxDQUFDO1FBQUEsQ0FDWCxDQUFDO01BQUEsQ0FDTixDQUFDLEVBQ0xxRSxhQUFhLGdCQUNaM0MsS0FBQTtRQUNFdUQsRUFBRSxFQUFDLDJCQUEyQjtRQUM5QjdDLFNBQVMsRUFBQyxvQ0FBb0M7UUFBQUMsUUFBQSxnQkFFOUNiLElBQUE7VUFBQWEsUUFBQSxFQUFHO1FBQXdELENBQUcsQ0FBQyxFQUM5RGdELFNBQVMsQ0FBQ3pILE1BQU0sZ0JBQ2Y0RCxJQUFBO1VBQUlZLFNBQVMsRUFBQyxvQ0FBb0M7VUFBQUMsUUFBQSxFQUMvQ2dELFNBQVMsQ0FBQ0UsR0FBRyxDQUFDLFVBQUNhLElBQUk7WUFBQSxvQkFDbEIxRSxLQUFBO2NBQUFXLFFBQUEsZ0JBQ0ViLElBQUEsQ0FBQ0ssY0FBYztnQkFBQ0UsR0FBRyxFQUFFcUUsSUFBSSxDQUFDRixPQUFRO2dCQUFDL0csSUFBSSxFQUFFaUgsSUFBSSxDQUFDakg7Y0FBSyxDQUFFLENBQUMsZUFDdERxQyxJQUFBO2dCQUFNWSxTQUFTLEVBQUMsb0NBQW9DO2dCQUFBQyxRQUFBLEVBQUUrRCxJQUFJLENBQUNqSDtjQUFJLENBQU8sQ0FBQyxlQUN2RXVDLEtBQUE7Z0JBQ0VVLFNBQVMsRUFBQyx3Q0FBd0M7Z0JBQ2xENkQsSUFBSSxFQUFFRyxJQUFJLENBQUNILElBQUs7Z0JBQ2hCMkIsUUFBUSxFQUFFeEIsSUFBSSxDQUFDRCxRQUFRLElBQUksSUFBSztnQkFDaEMwQixNQUFNLEVBQUMsUUFBUTtnQkFDZkMsR0FBRyxFQUFDLHFCQUFxQjtnQkFBQXpGLFFBQUEsZ0JBRXpCYixJQUFBLENBQUN2QixVQUFVLElBQUUsQ0FBQyxZQUVoQjtjQUFBLENBQUcsQ0FBQztZQUFBLEdBWkdtRyxJQUFJLENBQUNKLEdBYVYsQ0FBQztVQUFBLENBQ047UUFBQyxDQUNBLENBQUMsZ0JBRUx4RSxJQUFBO1VBQUFhLFFBQUEsRUFBTTtRQUF1QyxDQUFNLENBQ3BELGVBQ0RiLElBQUE7VUFBS1ksU0FBUyxFQUFDLG9DQUFvQztVQUFBQyxRQUFBLGVBQ2pEYixJQUFBLENBQUNuQixhQUFhO1lBQ1owSCxRQUFRO1lBQ1JDLE1BQU0sRUFBQyx5Q0FBeUM7WUFDaERDLFdBQVcsRUFBQyx5QkFBeUI7WUFDckNDLGVBQWUsRUFBRWpCO1VBQVUsQ0FDNUI7UUFBQyxDQUNDLENBQUMsRUFDTHhDLE9BQU8sQ0FBQzdHLE1BQU0sZ0JBQ2I0RCxJQUFBO1VBQUlZLFNBQVMsRUFBQyxrQ0FBa0M7VUFBQUMsUUFBQSxFQUM3Q29DLE9BQU8sQ0FBQ2MsR0FBRyxDQUFDLFVBQUNNLElBQUk7WUFBQSxvQkFDaEJuRSxLQUFBO2NBQUFXLFFBQUEsZ0JBQ0ViLElBQUEsQ0FBQ0ssY0FBYztnQkFBQ0UsR0FBRyxFQUFFOEQsSUFBSSxDQUFDdUIsT0FBTyxJQUFJLEVBQUc7Z0JBQUNqSSxJQUFJLEVBQUUwRyxJQUFJLENBQUMxRztjQUFLLENBQUUsQ0FBQyxlQUM1RHFDLElBQUE7Z0JBQU1ZLFNBQVMsRUFBQyxvQ0FBb0M7Z0JBQUFDLFFBQUEsRUFBRXdELElBQUksQ0FBQzFHO2NBQUksQ0FBTyxDQUFDLGVBQ3ZFcUMsSUFBQTtnQkFDRWlHLElBQUksRUFBQyxRQUFRO2dCQUNickYsU0FBUyxFQUFDLG9DQUFvQztnQkFDOUMsd0JBQUEyRCxNQUFBLENBQXNCRixJQUFJLENBQUMxRyxJQUFJLENBQUc7Z0JBQ2xDdUksT0FBTyxFQUFFLFNBQVRBLE9BQU9BLENBQUE7a0JBQUEsT0FBUUgsWUFBWSxDQUFDMUIsSUFBSSxDQUFDWixFQUFFLENBQUM7Z0JBQUEsQ0FBQztnQkFBQTVDLFFBQUEsZUFFckNiLElBQUEsQ0FBQ3JCLE9BQU8sSUFBRTtjQUFDLENBQ0wsQ0FBQztZQUFBLEdBVkYwRixJQUFJLENBQUNaLEVBV1YsQ0FBQztVQUFBLENBQ047UUFBQyxDQUNBLENBQUMsR0FDSCxJQUFJO01BQUEsQ0FDTCxDQUFDLEdBQ0osSUFBSSxFQUNQRSxRQUFRLGdCQUNQM0QsSUFBQTtRQUNFaUcsSUFBSSxFQUFDLFFBQVE7UUFDYnJGLFNBQVMsRUFBQyxnQ0FBZ0M7UUFDMUNzRixPQUFPLEVBQUVsQixVQUFXO1FBQUFuRSxRQUFBLEVBQ3JCO01BRUQsQ0FBUSxDQUFDLEdBQ1AsSUFBSTtJQUFBLENBQ0wsQ0FBQyxnQkFFTmIsSUFBQTtNQUFLWSxTQUFTLEVBQUMsZ0NBQWdDO01BQUNvRixJQUFJLEVBQUMsVUFBVTtNQUFBbkYsUUFBQSxlQUM3RGIsSUFBQTtRQUFBYSxRQUFBLEVBQU07TUFHTixDQUFNO0lBQUMsQ0FDSixDQUNOO0VBQUEsQ0FDRSxDQUFDO0FBRVY7QUFFQSxlQUFlLFNBQVM4RixpQkFBaUJBLENBQUEsRUFBRztFQUFBLElBQUFDLG9CQUFBLEVBQUFDLFNBQUE7RUFDMUMsSUFBQUMsc0JBQUEsR0FPSWxJLG9CQUFvQixDQUFDLENBQUM7SUFOeEJrRCxRQUFRLEdBQUFnRixzQkFBQSxDQUFSaEYsUUFBUTtJQUNSaUYsbUJBQW1CLEdBQUFELHNCQUFBLENBQW5CQyxtQkFBbUI7SUFDbkJDLGdCQUFnQixHQUFBRixzQkFBQSxDQUFoQkUsZ0JBQWdCO0lBQ2hCaEYsT0FBTyxHQUFBOEUsc0JBQUEsQ0FBUDlFLE9BQU87SUFDUEMsc0JBQXNCLEdBQUE2RSxzQkFBQSxDQUF0QjdFLHNCQUFzQjtJQUN0QmdGLHNCQUFzQixHQUFBSCxzQkFBQSxDQUF0Qkcsc0JBQXNCO0VBR3hCLElBQU05RCxPQUFPLEdBQUdsRSx5QkFBeUIsQ0FBQytDLE9BQU8sQ0FBQztFQUNsRCxJQUFNb0IsVUFBVSxHQUFHdEIsUUFBUSxDQUFDdUIsS0FBSyxHQUFHdkIsUUFBUSxDQUFDdUIsS0FBSyxDQUFDLENBQUMsR0FBRyxFQUFBdUQsb0JBQUEsR0FBQTlFLFFBQVEsQ0FBQ3dCLFNBQVMsY0FBQXNELG9CQUFBLHVCQUFsQkEsb0JBQUEsQ0FBQTNKLElBQUEsQ0FBQTZFLFFBQXFCLENBQUMsS0FBSSxDQUFDLENBQUM7RUFDbkYsSUFBTXlCLE1BQU0sR0FBRyxPQUFPQyxNQUFNLEtBQUssV0FBVyxJQUFJeEIsT0FBTyxhQUFQQSxPQUFPLGVBQVBBLE9BQU8sQ0FBRXlCLEVBQUUsR0FDdkRsRSxVQUFVLENBQUN5QyxPQUFPLENBQUN5QixFQUFFLENBQUMsR0FDdEIsRUFBRTtFQUNOLElBQU15RCxPQUFPLEdBQUc3SSxPQUFPLENBQ3JCO0lBQUEsT0FBTW9CLGtCQUFrQixDQUFDdUMsT0FBTyxFQUFFb0IsVUFBVSxFQUFFRyxNQUFNLENBQUM7RUFBQSxHQUNyRCxDQUFDdkIsT0FBTyxFQUFFb0IsVUFBVSxFQUFFRyxNQUFNLENBQzlCLENBQUM7RUFDRCxJQUFBNEQsVUFBQSxHQUFrQzdJLFFBQVEsQ0FBcUIsSUFBSSxDQUFDO0lBQUE4SSxXQUFBLEdBQUFoSyxjQUFBLENBQUErSixVQUFBO0lBQTdERSxTQUFTLEdBQUFELFdBQUE7SUFBRUUsWUFBWSxHQUFBRixXQUFBO0VBRTlCaEosZUFBZSxDQUFDLFlBQU07SUFDcEIsSUFBSSxDQUFDK0UsT0FBTyxJQUFJakUsaUJBQWlCLENBQUM4QyxPQUFPLENBQUMsRUFBRTtJQUM1QyxJQUFJYixRQUFRLENBQUNDLGFBQWEsQ0FBQywyQkFBMkIsQ0FBQyxFQUFFO0lBRXpELElBQU1tRyxPQUFPLEdBQUd0RyxxQkFBcUIsQ0FBQyxDQUFDO0lBQ3ZDLElBQUksRUFBQ3NHLE9BQU8sYUFBUEEsT0FBTyxlQUFQQSxPQUFPLENBQUUvRixhQUFhLEdBQUU7SUFFN0IsSUFBTWdHLElBQUksR0FBR3JHLFFBQVEsQ0FBQ3NHLGFBQWEsQ0FBQyxLQUFLLENBQUM7SUFDMUNELElBQUksQ0FBQ0UsWUFBWSxDQUFDLDRCQUE0QixFQUFFLE1BQU0sQ0FBQztJQUN2REgsT0FBTyxDQUFDL0YsYUFBYSxDQUFDbUcsWUFBWSxDQUFDSCxJQUFJLEVBQUVELE9BQU8sQ0FBQztJQUNqREQsWUFBWSxDQUFDRSxJQUFJLENBQUM7SUFDbEIsT0FBTyxZQUFNO01BQ1hBLElBQUksQ0FBQ0ksTUFBTSxDQUFDLENBQUM7TUFDYk4sWUFBWSxDQUFDLElBQUksQ0FBQztJQUNwQixDQUFDO0VBQ0gsQ0FBQyxFQUFFLENBQUNuRSxPQUFPLEVBQUVuQixPQUFPLENBQUMsQ0FBQztFQUV0QixJQUFJLENBQUNtQixPQUFPLElBQUlqRSxpQkFBaUIsQ0FBQzhDLE9BQU8sQ0FBQyxFQUFFLE9BQU8sSUFBSTtFQUV2RCxTQUFTNkYsV0FBV0EsQ0FBQSxFQUFHO0lBQ3JCNUYsc0JBQXNCLENBQUMsS0FBSyxDQUFDO0lBQzdCLElBQU02RixPQUFPLEdBQUdiLHNCQUFzQixhQUF0QkEsc0JBQXNCLHVCQUF0QkEsc0JBQXNCLENBQUcsQ0FBQztJQUMxQyxJQUFJYSxPQUFPLEVBQUU7TUFDWEEsT0FBTyxDQUFDLENBQUM7TUFDVDtJQUNGO0VBQ0Y7RUFFQSxvQkFDRTVILEtBQUEsQ0FBQUUsU0FBQTtJQUFBUyxRQUFBLEdBQ0d3RyxTQUFTLGdCQUFHOUksWUFBWSxjQUFDeUIsSUFBQSxDQUFDeUIsZ0JBQWdCLElBQUUsQ0FBQyxFQUFFNEYsU0FBUyxDQUFDLEdBQUcsSUFBSSxlQUVqRXJILElBQUEsQ0FBQ0Ysa0JBQWtCO01BQ2pCeUYsSUFBSSxFQUFFd0MsT0FBTyxDQUFDaEIsbUJBQW1CLENBQUU7TUFDbkNpQixpQkFBaUIsRUFBRSxFQUFBbkIsU0FBQSxHQUFBSyxPQUFPLENBQUMsQ0FBQyxDQUFDLGNBQUFMLFNBQUEsdUJBQVZBLFNBQUEsQ0FBWW9CLFVBQVUsS0FBSSxDQUFFO01BQy9DQyxPQUFPLEVBQUUsU0FBVEEsT0FBT0EsQ0FBQTtRQUFBLE9BQVFqRyxzQkFBc0IsQ0FBQyxLQUFLLENBQUM7TUFBQSxDQUFDO01BQzdDa0csT0FBTyxFQUFFTjtJQUFZLENBQ3RCLENBQUMsRUFFRGIsZ0JBQWdCLElBQUksT0FBTzdGLFFBQVEsS0FBSyxXQUFXLGdCQUNoRDVDLFlBQVksY0FDWnlCLElBQUE7TUFDRVksU0FBUyxFQUFDLDhCQUE4QjtNQUN4Q29GLElBQUksRUFBQyxRQUFRO01BQ2IsY0FBVyxNQUFNO01BQ2pCLG1CQUFnQixvQ0FBb0M7TUFBQW5GLFFBQUEsZUFFcERiLElBQUE7UUFBS1ksU0FBUyxFQUFDLG9DQUFvQztRQUFBQyxRQUFBLGVBQ2pEYixJQUFBLENBQUNILGlCQUFpQixJQUFFO01BQUMsQ0FDbEI7SUFBQyxDQUNILENBQUMsRUFDTnNCLFFBQVEsQ0FBQ2lILElBQ1gsQ0FBQyxHQUNDLElBQUk7RUFBQSxDQUNSLENBQUM7QUFFUCIsImlnbm9yZUxpc3QiOltdfQ==
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { DraftTemplateData } from './types';
|
|
2
|
+
export interface DesignerTextStyle {
|
|
3
|
+
colour?: string;
|
|
4
|
+
textSize?: number;
|
|
5
|
+
font?: string;
|
|
6
|
+
align?: string;
|
|
7
|
+
x?: number;
|
|
8
|
+
y?: number;
|
|
9
|
+
width?: number;
|
|
10
|
+
height?: number;
|
|
11
|
+
rotation?: number;
|
|
12
|
+
scaleX?: number;
|
|
13
|
+
scaleY?: number;
|
|
14
|
+
}
|
|
15
|
+
export interface DesignerInput {
|
|
16
|
+
kind: 'text' | 'file';
|
|
17
|
+
name: string;
|
|
18
|
+
value?: string;
|
|
19
|
+
src?: string;
|
|
20
|
+
textStyle?: DesignerTextStyle;
|
|
21
|
+
groupIndex?: number;
|
|
22
|
+
}
|
|
23
|
+
export interface CheckoutDesignInput {
|
|
24
|
+
kind: 'text' | 'file';
|
|
25
|
+
name: string;
|
|
26
|
+
value?: string;
|
|
27
|
+
file?: {
|
|
28
|
+
id: number | string;
|
|
29
|
+
};
|
|
30
|
+
textStyle?: DesignerTextStyle;
|
|
31
|
+
groupIndex?: number;
|
|
32
|
+
}
|
|
33
|
+
export declare function collectDesignerInputs(product: any, drafts: DraftTemplateData[]): DesignerInput[];
|
|
34
|
+
export declare function packDesignInputNotes(inputs: CheckoutDesignInput[]): string | undefined;
|