merchi_checkout 1.2.2 → 1.2.4
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/JobInfoContent.js +40 -14
- package/package.json +5 -5
|
@@ -16,6 +16,17 @@ function formatCost(product, cost) {
|
|
|
16
16
|
showCodeIfNoSymbol: false
|
|
17
17
|
});
|
|
18
18
|
}
|
|
19
|
+
|
|
20
|
+
/** Product setup fee shown next to unit price, matching product-form wording. */
|
|
21
|
+
function productSetupSuffix(product) {
|
|
22
|
+
var setupPrice = Number(product === null || product === void 0 ? void 0 : product.setupPrice);
|
|
23
|
+
if (!setupPrice) return '';
|
|
24
|
+
var label = product.setupPerGroup ? 'setup per group' : 'setup';
|
|
25
|
+
return " + ".concat(formatCost(product, setupPrice), " ").concat(label);
|
|
26
|
+
}
|
|
27
|
+
function formatUnitPriceWithSetup(product) {
|
|
28
|
+
return "".concat(formatCost(product, Number(product === null || product === void 0 ? void 0 : product.unitPrice) || 0)).concat(productSetupSuffix(product));
|
|
29
|
+
}
|
|
19
30
|
function isPdf(file) {
|
|
20
31
|
var mimetype = (file === null || file === void 0 ? void 0 : file.mimetype) || '';
|
|
21
32
|
return mimetype === 'application/pdf' || mimetype === 'application/x-pdf';
|
|
@@ -385,7 +396,8 @@ function VariationsInfo(_ref8) {
|
|
|
385
396
|
function VariationGroupInfo(_ref9) {
|
|
386
397
|
var group = _ref9.group,
|
|
387
398
|
index = _ref9.index,
|
|
388
|
-
product = _ref9.product
|
|
399
|
+
product = _ref9.product,
|
|
400
|
+
showSetupOnUnitPrice = _ref9.showSetupOnUnitPrice;
|
|
389
401
|
var isResell = isProductSupplierMOD(product);
|
|
390
402
|
var quantity = group.quantity,
|
|
391
403
|
variations = group.variations;
|
|
@@ -394,6 +406,7 @@ function VariationGroupInfo(_ref9) {
|
|
|
394
406
|
return !isInstructionsType(v === null || v === void 0 || (_v$variationField = v.variationField) === null || _v$variationField === void 0 ? void 0 : _v$variationField.fieldType);
|
|
395
407
|
});
|
|
396
408
|
var costLabel = isResell ? 'Unit Cost' : 'Group Cost';
|
|
409
|
+
var unitPriceValue = showSetupOnUnitPrice ? formatUnitPriceWithSetup(product) : formatCost(product, Number(product === null || product === void 0 ? void 0 : product.unitPrice) || 0);
|
|
397
410
|
return /*#__PURE__*/_jsxs("section", {
|
|
398
411
|
className: "merchi-checkout-summary-group",
|
|
399
412
|
children: [/*#__PURE__*/_jsxs("strong", {
|
|
@@ -402,6 +415,9 @@ function VariationGroupInfo(_ref9) {
|
|
|
402
415
|
}), !isResell && quantity > 0 && /*#__PURE__*/_jsx(SummaryFieldRow, {
|
|
403
416
|
label: "Quantity",
|
|
404
417
|
value: quantity
|
|
418
|
+
}), /*#__PURE__*/_jsx(SummaryFieldRow, {
|
|
419
|
+
label: "Unit Price",
|
|
420
|
+
value: unitPriceValue
|
|
405
421
|
}), visibleVariations.length > 0 && /*#__PURE__*/_jsx(VariationsInfo, {
|
|
406
422
|
quantity: quantity,
|
|
407
423
|
variations: variations,
|
|
@@ -433,6 +449,8 @@ export default function JobInfoContent() {
|
|
|
433
449
|
var totalQuantity = hasGroups ? variationsGroups.reduce(function (sum, g) {
|
|
434
450
|
return sum + (Number(g.quantity) || 0);
|
|
435
451
|
}, 0) : Number(quantity) || 0;
|
|
452
|
+
var setupPerGroup = Boolean(product === null || product === void 0 ? void 0 : product.setupPerGroup);
|
|
453
|
+
var hasSetupPrice = Number(product === null || product === void 0 ? void 0 : product.setupPrice) > 0;
|
|
436
454
|
return /*#__PURE__*/_jsxs("div", {
|
|
437
455
|
className: "modal-merchi-checkout-job-info-content merchi-checkout-summary",
|
|
438
456
|
children: [/*#__PURE__*/_jsx("div", {
|
|
@@ -444,21 +462,26 @@ export default function JobInfoContent() {
|
|
|
444
462
|
return g.quantity ? /*#__PURE__*/_jsx(VariationGroupInfo, {
|
|
445
463
|
group: g,
|
|
446
464
|
index: i,
|
|
447
|
-
product: product
|
|
465
|
+
product: product,
|
|
466
|
+
showSetupOnUnitPrice: setupPerGroup
|
|
448
467
|
}, "".concat(i, "-job-info-content")) : null;
|
|
449
468
|
})
|
|
450
|
-
}), !hasGroups && /*#__PURE__*/
|
|
469
|
+
}), !hasGroups && /*#__PURE__*/_jsxs("div", {
|
|
451
470
|
className: "merchi-checkout-summary-standalone",
|
|
452
|
-
children:
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
})
|
|
471
|
+
children: [/*#__PURE__*/_jsx("strong", {
|
|
472
|
+
className: "merchi-checkout-summary-order-detail-title",
|
|
473
|
+
children: "Order Information"
|
|
474
|
+
}), quantity > 0 && /*#__PURE__*/_jsx(SummaryFieldRow, {
|
|
475
|
+
label: "Quantity",
|
|
476
|
+
value: quantity
|
|
477
|
+
}), /*#__PURE__*/_jsx(SummaryFieldRow, {
|
|
478
|
+
label: "Unit Price",
|
|
479
|
+
value: formatUnitPriceWithSetup(product)
|
|
480
|
+
}), jobLevelVariations.length > 0 && /*#__PURE__*/_jsx(VariationsInfo, {
|
|
481
|
+
quantity: quantity,
|
|
482
|
+
variations: variations,
|
|
483
|
+
product: product
|
|
484
|
+
})]
|
|
462
485
|
}), hasGroups && jobLevelVariations.length > 0 && /*#__PURE__*/_jsxs("div", {
|
|
463
486
|
className: "merchi-checkout-summary-standalone",
|
|
464
487
|
children: [/*#__PURE__*/_jsx("strong", {
|
|
@@ -475,6 +498,9 @@ export default function JobInfoContent() {
|
|
|
475
498
|
className: "merchi-checkout-summary-total-quantity",
|
|
476
499
|
label: "Total Quantity",
|
|
477
500
|
amount: totalQuantity
|
|
501
|
+
}), hasGroups && hasSetupPrice && !setupPerGroup && /*#__PURE__*/_jsx(SummaryAmountRow, {
|
|
502
|
+
label: "Setup",
|
|
503
|
+
amount: formatCost(product, Number(product.setupPrice))
|
|
478
504
|
}), /*#__PURE__*/_jsx(SummaryAmountRow, {
|
|
479
505
|
label: "Total Order Cost",
|
|
480
506
|
labelExtra: needsShipping ? /*#__PURE__*/_jsx("small", {
|
|
@@ -494,4 +520,4 @@ export default function JobInfoContent() {
|
|
|
494
520
|
})]
|
|
495
521
|
});
|
|
496
522
|
}
|
|
497
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsIkZhRmlsZVBkZiIsImZvcm1hdEN1cnJlbmN5IiwiY3VycmVuY3lUb3RhbENvc3RTaG93SW5jVGF4IiwiaXNJbnN0cnVjdGlvbnNUeXBlIiwiaXNQcm9kdWN0U3VwcGxpZXJNT0QiLCJpc1NlbGVjdGFibGUiLCJGaWVsZFR5cGUiLCJ1c2VNZXJjaGlDaGVja2JvdXRDb250ZXh0IiwiU3VtbWFyeUFtb3VudFJvdyIsIlN1bW1hcnlGaWVsZFJvdyIsImpzeCIsIl9qc3giLCJqc3hzIiwiX2pzeHMiLCJGcmFnbWVudCIsIl9GcmFnbWVudCIsImZvcm1hdENvc3QiLCJwcm9kdWN0IiwiY29zdCIsImN1cnJlbmN5Iiwic2hvd0NvZGVJZk5vU3ltYm9sIiwiaXNQZGYiLCJmaWxlIiwibWltZXR5cGUiLCJpc0ltYWdlRmlsZSIsInN0YXJ0c1dpdGgiLCJuYW1lIiwidG9Mb3dlckNhc2UiLCJ0ZXN0Iiwib3B0aW9uSW1hZ2VVcmwiLCJvcHRpb24iLCJfb3B0aW9uJGxpbmtlZEZpbGUiLCJsaW5rZWRGaWxlIiwidmlld1VybCIsImZpbmRNYXRjaGluZ09wdGlvbiIsIm9wdGlvbnMiLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJ1bmRlZmluZWQiLCJmaW5kIiwibyIsIlN0cmluZyIsIm9wdGlvbklkIiwicmVzb2x2ZU9wdGlvbkNvbG91ciIsIl9vcHRpb24kY29sb3VyIiwiX2ZpbmRNYXRjaGluZ09wdGlvbiIsIl9maW5kTWF0Y2hpbmdPcHRpb24yIiwic2VsZWN0YWJsZU9wdGlvbnMiLCJmaWVsZE9wdGlvbnMiLCJkaXJlY3QiLCJjb2xvdXIiLCJ0cmltIiwiZnJvbVNlbGVjdGFibGUiLCJyZXNvbHZlT3B0aW9uSW1hZ2VVcmwiLCJmb3JtYXRPcHRpb25Db3N0Iiwic2VsbGVyUHJvZHVjdEVkaXRhYmxlIiwidG90YWxDb3N0IiwiY29uY2F0IiwiVmFyaWF0aW9uRmlsZVByZXZpZXciLCJfcmVmIiwiZmlsZVVybCIsImRvd25sb2FkVXJsIiwiZmlsZU5hbWUiLCJjbGFzc05hbWUiLCJocmVmIiwidGFyZ2V0IiwicmVsIiwidGl0bGUiLCJjaGlsZHJlbiIsInNyYyIsImFsdCIsIlZhcmlhdGlvbkluZm9Cb2R5IiwiX3JlZjIiLCJ2YWx1ZSIsImZpbGVzIiwidHlwZSIsImlzQ29sb3VyUGlja2VyIiwiQ09MT1VSX1BJQ0tFUiIsImlzRmlsZVVwbG9hZCIsIkZJTEVfVVBMT0FEIiwiaGFzRmlsZXMiLCJCb29sZWFuIiwiZGlzcGxheVZhbHVlIiwibWFwIiwiaW5kZXgiLCJpZCIsInN0eWxlIiwiYmFja2dyb3VuZENvbG9yIiwiVmFyaWF0aW9uSW5mbyIsIl9yZWYzIiwidmFyaWF0aW9uIiwic2VsZWN0ZWRPcHRpb25zIiwidmFyaWF0aW9uRmllbGQiLCJ2YXJpYXRpb25GaWxlcyIsImZpZWxkVHlwZSIsIl92YXJpYXRpb25GaWVsZCRvcHRpbyIsImlzVmFyaWF0aW9uU2VsZWN0YWJsZSIsImlzVHVybmFyb3VuZFRpbWUiLCJUVVJOQVJPVU5EX1RJTUUiLCJ1c2VTZWxlY3RhYmxlRGlzcGxheSIsIlZhcmlhdGlvbk9wdGlvbnNJbmZvQm9keSIsIkNvbG91clNlbGVjdE9wdGlvbiIsIl9yZWY0IiwiX29wdGlvbiR2YWx1ZSIsImxhYmVsIiwiaGV4IiwiSW1hZ2VTZWxlY3RPcHRpb24iLCJfcmVmNSIsIl9vcHRpb24kdmFsdWUyIiwiaW1hZ2VVcmwiLCJnZXRPcHRpb25JZCIsIl9vcHRpb24kb3B0aW9uSWQiLCJyZXNvbHZlVHVybmFyb3VuZFNlbGVjdGVkT3B0aW9uIiwiX3ZhcmlhdGlvbiRzZWxlY3RlZE9wIiwidmFsdWVTdHIiLCJwb29scyIsIl9pIiwiX3Bvb2xzIiwicG9vbCIsImJ5SWQiLCJieVZhbHVlIiwiX28kdmFsdWUiLCJmb3JtYXRUdXJuYXJvdW5kRGVhZGxpbmUiLCJ1c2VyRGVhZGxpbmUiLCJzZWNvbmRzIiwiTnVtYmVyIiwiaXNGaW5pdGUiLCJEYXRlIiwidG9Mb2NhbGVEYXRlU3RyaW5nIiwid2Vla2RheSIsInllYXIiLCJtb250aCIsImRheSIsIlR1cm5hcm91bmRPcHRpb25MYWJlbCIsIl9yZWY2IiwiX29wdGlvbiR2YWx1ZTMiLCJfb3B0aW9uJHZhbHVlNCIsImRheXMiLCJwYXJzZUludCIsImRlYWRsaW5lIiwic2hpcHBpbmdUaW1lSW5jbHVkZWQiLCJkZWFkbGluZUxhYmVsIiwiX3JlZjciLCJfdmFyaWF0aW9uJHZhcmlhdGlvbkYiLCJfcmVmNyRzZWxlY3RhYmxlT3B0aW8iLCJfcmVmNyRmaWVsZE9wdGlvbnMiLCJmaXJzdE9wdGlvbiIsImlzQ29sb3VyU2VsZWN0IiwiQ09MT1VSX1NFTEVDVCIsImlzSW1hZ2VTZWxlY3QiLCJJTUFHRV9TRUxFQ1QiLCJyZW5kZXJPcHRpb25MYWJlbCIsIl9vJHZhbHVlMiIsImkiLCJfbyRvcHRpb25JZCIsIlZhcmlhdGlvbnNJbmZvIiwiX3JlZjgiLCJxdWFudGl0eSIsIl9yZWY4JHZhcmlhdGlvbnMiLCJ2YXJpYXRpb25zIiwidiIsIlZhcmlhdGlvbkdyb3VwSW5mbyIsIl9yZWY5IiwiZ3JvdXAiLCJpc1Jlc2VsbCIsInZpc2libGVWYXJpYXRpb25zIiwiZmlsdGVyIiwiX3YkdmFyaWF0aW9uRmllbGQiLCJjb3N0TGFiZWwiLCJncm91cENvc3QiLCJKb2JJbmZvQ29udGVudCIsIl91c2VNZXJjaGlDaGVja2JvdXRDbyIsImpvYiIsIl9qb2IkcXVhbnRpdHkiLCJfam9iJHZhcmlhdGlvbnMiLCJfam9iJHZhcmlhdGlvbnNHcm91cHMiLCJ2YXJpYXRpb25zR3JvdXBzIiwibmVlZHNTaGlwcGluZyIsImhhc0dyb3VwcyIsImpvYkxldmVsVmFyaWF0aW9ucyIsIl92JHZhcmlhdGlvbkZpZWxkMiIsInRvdGFsUXVhbnRpdHkiLCJyZWR1Y2UiLCJzdW0iLCJnIiwiYW1vdW50IiwibGFiZWxFeHRyYSJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21wb25lbnRzL0pvYkluZm9Db250ZW50LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIGNsaWVudCc7XG5pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgRmFGaWxlUGRmIH0gZnJvbSAncmVhY3QtaWNvbnMvZmEnO1xuaW1wb3J0IHsgZm9ybWF0Q3VycmVuY3ksIGN1cnJlbmN5VG90YWxDb3N0U2hvd0luY1RheCB9IGZyb20gJy4vY3VycmVuY3knO1xuaW1wb3J0IHtcbiAgaXNJbnN0cnVjdGlvbnNUeXBlLFxuICBpc1Byb2R1Y3RTdXBwbGllck1PRCxcbiAgaXNTZWxlY3RhYmxlLFxuICBGaWVsZFR5cGUsXG59IGZyb20gJy4uL3V0aWxzJztcbmltcG9ydCB7IHVzZU1lcmNoaUNoZWNrYm91dENvbnRleHQgfSBmcm9tICcuL01lcmNoaUNoZWNrb3V0UHJvdmlkZXInO1xuaW1wb3J0IHtcbiAgU3VtbWFyeUFtb3VudFJvdyxcbiAgU3VtbWFyeUZpZWxkUm93LFxufSBmcm9tICcuL0NoZWNrb3V0U3VtbWFyeUZpZWxkcyc7XG5cbmZ1bmN0aW9uIGZvcm1hdENvc3QocHJvZHVjdDogYW55LCBjb3N0OiBudW1iZXIpIHtcbiAgY29uc3QgY3VycmVuY3kgPSBwcm9kdWN0LmN1cnJlbmN5ID8gcHJvZHVjdC5jdXJyZW5jeSA6ICdBVUQnO1xuICByZXR1cm4gZm9ybWF0Q3VycmVuY3koY29zdCwge1xuICAgIGN1cnJlbmN5LFxuICAgIHNob3dDb2RlSWZOb1N5bWJvbDogZmFsc2UsXG4gIH0pO1xufVxuXG5mdW5jdGlvbiBpc1BkZihmaWxlOiBhbnkpIHtcbiAgY29uc3QgbWltZXR5cGUgPSBmaWxlPy5taW1ldHlwZSB8fCAnJztcbiAgcmV0dXJuIG1pbWV0eXBlID09PSAnYXBwbGljYXRpb24vcGRmJyB8fCBtaW1ldHlwZSA9PT0gJ2FwcGxpY2F0aW9uL3gtcGRmJztcbn1cblxuZnVuY3Rpb24gaXNJbWFnZUZpbGUoZmlsZTogYW55KSB7XG4gIGNvbnN0IG1pbWV0eXBlID0gZmlsZT8ubWltZXR5cGUgfHwgJyc7XG4gIGlmIChtaW1ldHlwZS5zdGFydHNXaXRoKCdpbWFnZS8nKSkgcmV0dXJuIHRydWU7XG4gIGNvbnN0IG5hbWUgPSAoZmlsZT8ubmFtZSB8fCAnJykudG9Mb3dlckNhc2UoKTtcbiAgcmV0dXJuIC9cXC4oanBlP2d8cG5nfGdpZnx3ZWJwfHN2Z3xibXApJC8udGVzdChuYW1lKTtcbn1cblxuZnVuY3Rpb24gb3B0aW9uSW1hZ2VVcmwob3B0aW9uOiBhbnkpIHtcbiAgcmV0dXJuIG9wdGlvbj8ubGlua2VkRmlsZT8udmlld1VybCB8fCAnJztcbn1cblxuZnVuY3Rpb24gZmluZE1hdGNoaW5nT3B0aW9uKG9wdGlvbjogYW55LCBvcHRpb25zOiBhbnlbXSA9IFtdKSB7XG4gIHJldHVybiBvcHRpb25zLmZpbmQoKG8pID0+IFN0cmluZyhvLm9wdGlvbklkKSA9PT0gU3RyaW5nKG9wdGlvbj8ub3B0aW9uSWQpKTtcbn1cblxuZnVuY3Rpb24gcmVzb2x2ZU9wdGlvbkNvbG91cihcbiAgb3B0aW9uOiBhbnksXG4gIHNlbGVjdGFibGVPcHRpb25zOiBhbnlbXSA9IFtdLFxuICBmaWVsZE9wdGlvbnM6IGFueVtdID0gW11cbikge1xuICBjb25zdCBkaXJlY3QgPSBvcHRpb24/LmNvbG91cj8udHJpbSgpO1xuICBpZiAoZGlyZWN0KSByZXR1cm4gZGlyZWN0O1xuICBjb25zdCBmcm9tU2VsZWN0YWJsZSA9IGZpbmRNYXRjaGluZ09wdGlvbihvcHRpb24sIHNlbGVjdGFibGVPcHRpb25zKT8uY29sb3VyPy50cmltKCk7XG4gIGlmIChmcm9tU2VsZWN0YWJsZSkgcmV0dXJuIGZyb21TZWxlY3RhYmxlO1xuICByZXR1cm4gZmluZE1hdGNoaW5nT3B0aW9uKG9wdGlvbiwgZmllbGRPcHRpb25zKT8uY29sb3VyPy50cmltKCkgfHwgJyc7XG59XG5cbmZ1bmN0aW9uIHJlc29sdmVPcHRpb25JbWFnZVVybChcbiAgb3B0aW9uOiBhbnksXG4gIHNlbGVjdGFibGVPcHRpb25zOiBhbnlbXSA9IFtdLFxuICBmaWVsZE9wdGlvbnM6IGFueVtdID0gW11cbikge1xuICBjb25zdCBkaXJlY3QgPSBvcHRpb25JbWFnZVVybChvcHRpb24pO1xuICBpZiAoZGlyZWN0KSByZXR1cm4gZGlyZWN0O1xuICBjb25zdCBmcm9tU2VsZWN0YWJsZSA9IG9wdGlvbkltYWdlVXJsKFxuICAgIGZpbmRNYXRjaGluZ09wdGlvbihvcHRpb24sIHNlbGVjdGFibGVPcHRpb25zKVxuICApO1xuICBpZiAoZnJvbVNlbGVjdGFibGUpIHJldHVybiBmcm9tU2VsZWN0YWJsZTtcbiAgcmV0dXJuIG9wdGlvbkltYWdlVXJsKGZpbmRNYXRjaGluZ09wdGlvbihvcHRpb24sIGZpZWxkT3B0aW9ucykpO1xufVxuXG5mdW5jdGlvbiBmb3JtYXRPcHRpb25Db3N0KFxuICBwcm9kdWN0OiBhbnksXG4gIG9wdGlvbjogYW55LFxuICBzZWxsZXJQcm9kdWN0RWRpdGFibGU6IGJvb2xlYW5cbikge1xuICBpZiAoIW9wdGlvbj8udG90YWxDb3N0IHx8IHNlbGxlclByb2R1Y3RFZGl0YWJsZSkgcmV0dXJuIG51bGw7XG4gIHJldHVybiBgICsgJHtmb3JtYXRDb3N0KHByb2R1Y3QsIG9wdGlvbi50b3RhbENvc3QpfWA7XG59XG5cbmZ1bmN0aW9uIFZhcmlhdGlvbkZpbGVQcmV2aWV3KHsgZmlsZSB9OiB7IGZpbGU6IGFueSB9KSB7XG4gIGNvbnN0IGZpbGVVcmwgPSBmaWxlPy52aWV3VXJsIHx8IGZpbGU/LmRvd25sb2FkVXJsIHx8ICcnO1xuICBjb25zdCBmaWxlTmFtZSA9IGZpbGU/Lm5hbWUgfHwgJ0ZpbGUnO1xuXG4gIGlmIChpc1BkZihmaWxlKSkge1xuICAgIHJldHVybiAoXG4gICAgICA8YVxuICAgICAgICBjbGFzc05hbWU9J21lcmNoaS1jaGVja291dC1zdW1tYXJ5LWZpbGUtbGluaydcbiAgICAgICAgaHJlZj17ZmlsZVVybH1cbiAgICAgICAgdGFyZ2V0PSdfYmxhbmsnXG4gICAgICAgIHJlbD0nbm9vcGVuZXIgbm9yZWZlcnJlcidcbiAgICAgICAgdGl0bGU9e2ZpbGVOYW1lfVxuICAgICAgPlxuICAgICAgICA8RmFGaWxlUGRmIGFyaWEtaGlkZGVuIC8+XG4gICAgICAgIDxzcGFuPntmaWxlTmFtZX08L3NwYW4+XG4gICAgICA8L2E+XG4gICAgKTtcbiAgfVxuXG4gIGlmIChpc0ltYWdlRmlsZShmaWxlKSAmJiBmaWxlVXJsKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxpbWdcbiAgICAgICAgY2xhc3NOYW1lPSdtb2RhbC1tZXJjaGktY2hlY2tvdXQtam9iLWluZm8tY29udGVudC1pbWcnXG4gICAgICAgIHNyYz17ZmlsZVVybH1cbiAgICAgICAgYWx0PXtmaWxlTmFtZX1cbiAgICAgICAgdGl0bGU9e2ZpbGVOYW1lfVxuICAgICAgLz5cbiAgICApO1xuICB9XG5cbiAgaWYgKGZpbGVVcmwpIHtcbiAgICByZXR1cm4gKFxuICAgICAgPGFcbiAgICAgICAgY2xhc3NOYW1lPSdtZXJjaGktY2hlY2tvdXQtc3VtbWFyeS1maWxlLWxpbmsnXG4gICAgICAgIGhyZWY9e2ZpbGVVcmx9XG4gICAgICAgIHRhcmdldD0nX2JsYW5rJ1xuICAgICAgICByZWw9J25vb3BlbmVyIG5vcmVmZXJyZXInXG4gICAgICAgIHRpdGxlPXtmaWxlTmFtZX1cbiAgICAgID5cbiAgICAgICAge2ZpbGVOYW1lfVxuICAgICAgPC9hPlxuICAgICk7XG4gIH1cblxuICByZXR1cm4gPHNwYW4+e2ZpbGVOYW1lfTwvc3Bhbj47XG59XG5cbmZ1bmN0aW9uIFZhcmlhdGlvbkluZm9Cb2R5KHsgY29zdCwgbmFtZSwgcHJvZHVjdCwgdmFsdWUsIGZpbGVzLCB0eXBlIH06IGFueSkge1xuICBjb25zdCBpc0NvbG91clBpY2tlciA9IHR5cGUgPT09IEZpZWxkVHlwZS5DT0xPVVJfUElDS0VSO1xuICBjb25zdCBpc0ZpbGVVcGxvYWQgPSB0eXBlID09PSBGaWVsZFR5cGUuRklMRV9VUExPQUQ7XG4gIGNvbnN0IGhhc0ZpbGVzID0gQm9vbGVhbihmaWxlcz8ubGVuZ3RoKTtcbiAgY29uc3QgZGlzcGxheVZhbHVlID0gaXNDb2xvdXJQaWNrZXIgfHwgKGlzRmlsZVVwbG9hZCAmJiBoYXNGaWxlcykgPyBudWxsIDogdmFsdWU7XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT0nbWVyY2hpLWNoZWNrb3V0LXN1bW1hcnktdmFyaWF0aW9uLXJvdyc+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT0nbWVyY2hpLWNoZWNrb3V0LXN1bW1hcnktdmFyaWF0aW9uLWxhYmVsJz57bmFtZX08L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPSdtZXJjaGktY2hlY2tvdXQtc3VtbWFyeS12YXJpYXRpb24tdmFsdWUnPlxuICAgICAgICB7aGFzRmlsZXMgJiYgKFxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPSdtZXJjaGktY2hlY2tvdXQtc3VtbWFyeS1maWxlLXByZXZpZXdzJz5cbiAgICAgICAgICAgIHtmaWxlcy5tYXAoKGZpbGU6IGFueSwgaW5kZXg6IG51bWJlcikgPT4gKFxuICAgICAgICAgICAgICA8VmFyaWF0aW9uRmlsZVByZXZpZXdcbiAgICAgICAgICAgICAgICBrZXk9e2ZpbGUudmlld1VybCB8fCBmaWxlLmlkIHx8IGAke25hbWV9LWZpbGUtJHtpbmRleH1gfVxuICAgICAgICAgICAgICAgIGZpbGU9e2ZpbGV9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICApKX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgKX1cbiAgICAgICAge2lzQ29sb3VyUGlja2VyICYmIHZhbHVlICYmIChcbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT0nbWVyY2hpLWNoZWNrb3V0LXN1bW1hcnktY29sb3VyLXZhbHVlJz5cbiAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgIHN0eWxlPXt7IGJhY2tncm91bmRDb2xvcjogdmFsdWUgfX1cbiAgICAgICAgICAgICAgY2xhc3NOYW1lPSdjb2xvci1pbmRpY2F0b3InXG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPHNwYW4+e3ZhbHVlfTwvc3Bhbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgKX1cbiAgICAgICAge2Rpc3BsYXlWYWx1ZSAmJiBkaXNwbGF5VmFsdWV9XG4gICAgICAgIHtjb3N0ID8gYCArICR7Zm9ybWF0Q29zdChwcm9kdWN0LCBjb3N0KX1gIDogJyd9XG4gICAgICAgIHshaGFzRmlsZXMgJiYgIXZhbHVlICYmICctJ31cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICApO1xufVxuXG5mdW5jdGlvbiBWYXJpYXRpb25JbmZvKHsgcHJvZHVjdCwgdmFyaWF0aW9uIH06IGFueSkge1xuICBjb25zdCB7IHNlbGVjdGVkT3B0aW9ucywgdmFyaWF0aW9uRmllbGQsIHZhcmlhdGlvbkZpbGVzLCBzZWxlY3RhYmxlT3B0aW9ucyB9ID1cbiAgICB2YXJpYXRpb247XG4gIGNvbnN0IHsgZmllbGRUeXBlLCBzZWxsZXJQcm9kdWN0RWRpdGFibGUsIG9wdGlvbnM6IGZpZWxkT3B0aW9ucyA9IFtdIH0gPVxuICAgIHZhcmlhdGlvbkZpZWxkO1xuICBjb25zdCBpc1ZhcmlhdGlvblNlbGVjdGFibGUgPSBpc1NlbGVjdGFibGUoZmllbGRUeXBlKTtcbiAgY29uc3QgaXNUdXJuYXJvdW5kVGltZSA9IGZpZWxkVHlwZSA9PT0gRmllbGRUeXBlLlRVUk5BUk9VTkRfVElNRTtcbiAgY29uc3Qgb3B0aW9ucyA9IHNlbGVjdGVkT3B0aW9ucztcbiAgY29uc3QgdXNlU2VsZWN0YWJsZURpc3BsYXkgPVxuICAgIGlzVmFyaWF0aW9uU2VsZWN0YWJsZSAmJlxuICAgIChCb29sZWFuKG9wdGlvbnM/Lmxlbmd0aCkgfHwgKGlzVHVybmFyb3VuZFRpbWUgJiYgdmFyaWF0aW9uLnZhbHVlKSk7XG4gIHJldHVybiAoXG4gICAgPGRpdiBjbGFzc05hbWU9J21lcmNoaS1jaGVja291dC1zdW1tYXJ5LXZhcmlhdGlvbic+XG4gICAgICB7dXNlU2VsZWN0YWJsZURpc3BsYXkgPyAoXG4gICAgICAgIDxWYXJpYXRpb25PcHRpb25zSW5mb0JvZHlcbiAgICAgICAgICBuYW1lPXt2YXJpYXRpb25GaWVsZC5uYW1lfVxuICAgICAgICAgIGZpZWxkVHlwZT17ZmllbGRUeXBlfVxuICAgICAgICAgIHZhbHVlPXt2YXJpYXRpb24udmFsdWV9XG4gICAgICAgICAgcHJvZHVjdD17cHJvZHVjdH1cbiAgICAgICAgICBmaWxlcz17dmFyaWF0aW9uRmlsZXN9XG4gICAgICAgICAgc2VsZWN0ZWRPcHRpb25zPXtvcHRpb25zfVxuICAgICAgICAgIHZhcmlhdGlvbj17dmFyaWF0aW9ufVxuICAgICAgICAgIHNlbGVjdGFibGVPcHRpb25zPXtzZWxlY3RhYmxlT3B0aW9uc31cbiAgICAgICAgICBmaWVsZE9wdGlvbnM9e2ZpZWxkT3B0aW9uc31cbiAgICAgICAgICBzZWxsZXJQcm9kdWN0RWRpdGFibGU9e3NlbGxlclByb2R1Y3RFZGl0YWJsZX1cbiAgICAgICAgLz5cbiAgICAgICkgOiAoXG4gICAgICAgIDxWYXJpYXRpb25JbmZvQm9keVxuICAgICAgICAgIG5hbWU9e3ZhcmlhdGlvbkZpZWxkLm5hbWV9XG4gICAgICAgICAgdHlwZT17dmFyaWF0aW9uRmllbGQuZmllbGRUeXBlfVxuICAgICAgICAgIHZhbHVlPXt2YXJpYXRpb24udmFsdWV9XG4gICAgICAgICAgZmlsZXM9e3ZhcmlhdGlvbkZpbGVzfVxuICAgICAgICAgIHByb2R1Y3Q9e3Byb2R1Y3R9XG4gICAgICAgICAgY29zdD17c2VsbGVyUHJvZHVjdEVkaXRhYmxlID8gMCA6IHZhcmlhdGlvbi5jb3N0fVxuICAgICAgICAvPlxuICAgICAgKX1cbiAgICA8L2Rpdj5cbiAgKTtcbn1cblxuZnVuY3Rpb24gQ29sb3VyU2VsZWN0T3B0aW9uKHtcbiAgb3B0aW9uLFxuICBzZWxlY3RhYmxlT3B0aW9ucyxcbiAgZmllbGRPcHRpb25zLFxufToge1xuICBvcHRpb246IGFueTtcbiAgc2VsZWN0YWJsZU9wdGlvbnM/OiBhbnlbXTtcbiAgZmllbGRPcHRpb25zPzogYW55W107XG59KSB7XG4gIGNvbnN0IGxhYmVsID0gb3B0aW9uPy52YWx1ZT8udHJpbSgpIHx8ICcnO1xuICBjb25zdCBoZXggPSByZXNvbHZlT3B0aW9uQ29sb3VyKG9wdGlvbiwgc2VsZWN0YWJsZU9wdGlvbnMsIGZpZWxkT3B0aW9ucyk7XG4gIHJldHVybiAoXG4gICAgPHNwYW4gY2xhc3NOYW1lPSdtZXJjaGktY2hlY2tvdXQtc3VtbWFyeS1jb2xvdXItb3B0aW9uJz5cbiAgICAgIHtoZXggJiYgKFxuICAgICAgICA8c3BhblxuICAgICAgICAgIHN0eWxlPXt7IGJhY2tncm91bmRDb2xvcjogaGV4IH19XG4gICAgICAgICAgY2xhc3NOYW1lPSdjb2xvci1pbmRpY2F0b3InXG4gICAgICAgIC8+XG4gICAgICApfVxuICAgICAgPHNwYW4+e2xhYmVsIHx8IGhleCB8fCAn4oCTJ308L3NwYW4+XG4gICAgPC9zcGFuPlxuICApO1xufVxuXG5mdW5jdGlvbiBJbWFnZVNlbGVjdE9wdGlvbih7XG4gIG9wdGlvbixcbiAgc2VsZWN0YWJsZU9wdGlvbnMsXG4gIGZpZWxkT3B0aW9ucyxcbiAgcHJvZHVjdCxcbiAgc2VsbGVyUHJvZHVjdEVkaXRhYmxlLFxufToge1xuICBvcHRpb246IGFueTtcbiAgc2VsZWN0YWJsZU9wdGlvbnM/OiBhbnlbXTtcbiAgZmllbGRPcHRpb25zPzogYW55W107XG4gIHByb2R1Y3Q6IGFueTtcbiAgc2VsbGVyUHJvZHVjdEVkaXRhYmxlOiBib29sZWFuO1xufSkge1xuICBjb25zdCBpbWFnZVVybCA9IHJlc29sdmVPcHRpb25JbWFnZVVybChvcHRpb24sIHNlbGVjdGFibGVPcHRpb25zLCBmaWVsZE9wdGlvbnMpO1xuICBjb25zdCBsYWJlbCA9IG9wdGlvbj8udmFsdWU/LnRyaW0oKSB8fCAnJztcbiAgY29uc3QgY29zdCA9IGZvcm1hdE9wdGlvbkNvc3QocHJvZHVjdCwgb3B0aW9uLCBzZWxsZXJQcm9kdWN0RWRpdGFibGUpO1xuXG4gIHJldHVybiAoXG4gICAgPHNwYW4gY2xhc3NOYW1lPSdtZXJjaGktY2hlY2tvdXQtc3VtbWFyeS1pbWFnZS1zZWxlY3Qtb3B0aW9uJz5cbiAgICAgIHtpbWFnZVVybCA/IChcbiAgICAgICAgPGltZ1xuICAgICAgICAgIGNsYXNzTmFtZT0nbW9kYWwtbWVyY2hpLWNoZWNrb3V0LWpvYi1pbmZvLWNvbnRlbnQtaW1nJ1xuICAgICAgICAgIHNyYz17aW1hZ2VVcmx9XG4gICAgICAgICAgYWx0PXtsYWJlbCB8fCAnU2VsZWN0ZWQgb3B0aW9uJ31cbiAgICAgICAgICB0aXRsZT17bGFiZWwgfHwgdW5kZWZpbmVkfVxuICAgICAgICAvPlxuICAgICAgKSA6IG51bGx9XG4gICAgICA8c3Bhbj57bGFiZWwgfHwgJ+KAkyd9e2Nvc3QgfHwgJyd9PC9zcGFuPlxuICAgIDwvc3Bhbj5cbiAgKTtcbn1cblxuZnVuY3Rpb24gZ2V0T3B0aW9uSWQob3B0aW9uOiBhbnkpIHtcbiAgcmV0dXJuIG9wdGlvbj8ub3B0aW9uSWQgPz8gb3B0aW9uPy5pZDtcbn1cblxuZnVuY3Rpb24gcmVzb2x2ZVR1cm5hcm91bmRTZWxlY3RlZE9wdGlvbihcbiAgdmFyaWF0aW9uOiBhbnksXG4gIHNlbGVjdGFibGVPcHRpb25zOiBhbnlbXSA9IFtdLFxuICBmaWVsZE9wdGlvbnM6IGFueVtdID0gW11cbikge1xuICBjb25zdCB7IHNlbGVjdGVkT3B0aW9ucyA9IFtdLCB2YWx1ZSB9ID0gdmFyaWF0aW9uO1xuICBpZiAoc2VsZWN0ZWRPcHRpb25zLmxlbmd0aCA+IDApIHtcbiAgICByZXR1cm4gc2VsZWN0ZWRPcHRpb25zWzBdO1xuICB9XG4gIGNvbnN0IHZhbHVlU3RyID0gdmFsdWUgIT0gbnVsbCAmJiB2YWx1ZSAhPT0gJycgPyBTdHJpbmcodmFsdWUpLnRyaW0oKSA6ICcnO1xuICBpZiAoIXZhbHVlU3RyKSByZXR1cm4gbnVsbDtcblxuICBjb25zdCBwb29scyA9IFtzZWxlY3RhYmxlT3B0aW9ucywgZmllbGRPcHRpb25zXTtcbiAgZm9yIChjb25zdCBwb29sIG9mIHBvb2xzKSB7XG4gICAgY29uc3QgYnlJZCA9IHBvb2wuZmluZChcbiAgICAgIChvOiBhbnkpID0+IFN0cmluZyhnZXRPcHRpb25JZChvKSkgPT09IHZhbHVlU3RyXG4gICAgKTtcbiAgICBpZiAoYnlJZCkgcmV0dXJuIGJ5SWQ7XG4gICAgY29uc3QgYnlWYWx1ZSA9IHBvb2wuZmluZChcbiAgICAgIChvOiBhbnkpID0+IFN0cmluZyhvLnZhbHVlID8/ICcnKSA9PT0gdmFsdWVTdHJcbiAgICApO1xuICAgIGlmIChieVZhbHVlKSByZXR1cm4gYnlWYWx1ZTtcbiAgfVxuICByZXR1cm4gbnVsbDtcbn1cblxuZnVuY3Rpb24gZm9ybWF0VHVybmFyb3VuZERlYWRsaW5lKHVzZXJEZWFkbGluZTogYW55KSB7XG4gIGlmICghdXNlckRlYWRsaW5lKSByZXR1cm4gbnVsbDtcbiAgY29uc3Qgc2Vjb25kcyA9IE51bWJlcih1c2VyRGVhZGxpbmUpO1xuICBpZiAoIU51bWJlci5pc0Zpbml0ZShzZWNvbmRzKSB8fCBzZWNvbmRzIDw9IDApIHJldHVybiBudWxsO1xuICByZXR1cm4gbmV3IERhdGUoc2Vjb25kcyAqIDEwMDApLnRvTG9jYWxlRGF0ZVN0cmluZygnZW4tQVUnLCB7XG4gICAgd2Vla2RheTogJ2xvbmcnLFxuICAgIHllYXI6ICdudW1lcmljJyxcbiAgICBtb250aDogJ2xvbmcnLFxuICAgIGRheTogJ251bWVyaWMnLFxuICB9KTtcbn1cblxuZnVuY3Rpb24gVHVybmFyb3VuZE9wdGlvbkxhYmVsKHtcbiAgb3B0aW9uLFxuICB2YXJpYXRpb25GaWVsZCxcbiAgcHJvZHVjdCxcbiAgc2VsbGVyUHJvZHVjdEVkaXRhYmxlLFxufToge1xuICBvcHRpb246IGFueTtcbiAgdmFyaWF0aW9uRmllbGQ6IGFueTtcbiAgcHJvZHVjdDogYW55O1xuICBzZWxsZXJQcm9kdWN0RWRpdGFibGU6IGJvb2xlYW47XG59KSB7XG4gIGNvbnN0IGRheXMgPSBwYXJzZUludChTdHJpbmcob3B0aW9uPy52YWx1ZSA/PyAnJyksIDEwKSB8fCAwO1xuICBjb25zdCBkZWFkbGluZSA9IGZvcm1hdFR1cm5hcm91bmREZWFkbGluZShvcHRpb24/LnVzZXJEZWFkbGluZSk7XG4gIGNvbnN0IHNoaXBwaW5nVGltZUluY2x1ZGVkID0gQm9vbGVhbih2YXJpYXRpb25GaWVsZD8uc2hpcHBpbmdUaW1lSW5jbHVkZWQpO1xuICBjb25zdCBkZWFkbGluZUxhYmVsID0gc2hpcHBpbmdUaW1lSW5jbHVkZWQgPyAnRGVsaXZlcnkgYnknIDogJ1Byb2R1Y2VkIGJ5JztcbiAgY29uc3QgY29zdCA9IGZvcm1hdE9wdGlvbkNvc3QocHJvZHVjdCwgb3B0aW9uLCBzZWxsZXJQcm9kdWN0RWRpdGFibGUpO1xuXG4gIHJldHVybiAoXG4gICAgPHNwYW4gY2xhc3NOYW1lPSdtZXJjaGktY2hlY2tvdXQtc3VtbWFyeS10dXJuYXJvdW5kLXZhbHVlJz5cbiAgICAgIDxzcGFuIGNsYXNzTmFtZT0nbWVyY2hpLWNoZWNrb3V0LXN1bW1hcnktdHVybmFyb3VuZC1kYXlzJz5cbiAgICAgICAge2RheXMgPiAwXG4gICAgICAgICAgPyBgJHtkYXlzfSBidXNpbmVzcyBkYXkke2RheXMgIT09IDEgPyAncycgOiAnJ31gXG4gICAgICAgICAgOiAob3B0aW9uPy52YWx1ZT8udHJpbSgpIHx8ICfigJMnKX1cbiAgICAgIDwvc3Bhbj5cbiAgICAgIHtkZWFkbGluZSAmJiAoXG4gICAgICAgIDxzcGFuIGNsYXNzTmFtZT0nbWVyY2hpLWNoZWNrb3V0LXN1bW1hcnktdHVybmFyb3VuZC1kZWFkbGluZSc+XG4gICAgICAgICAge2RlYWRsaW5lTGFiZWx9IHtkZWFkbGluZX1cbiAgICAgICAgPC9zcGFuPlxuICAgICAgKX1cbiAgICAgIHtjb3N0IHx8ICcnfVxuICAgIDwvc3Bhbj5cbiAgKTtcbn1cblxuZnVuY3Rpb24gVmFyaWF0aW9uT3B0aW9uc0luZm9Cb2R5KHtcbiAgbmFtZSxcbiAgc2VsZWN0ZWRPcHRpb25zLFxuICBzZWxsZXJQcm9kdWN0RWRpdGFibGUsXG4gIHByb2R1Y3QsXG4gIGZpZWxkVHlwZSxcbiAgdmFyaWF0aW9uLFxuICBzZWxlY3RhYmxlT3B0aW9ucyA9IFtdLFxuICBmaWVsZE9wdGlvbnMgPSBbXSxcbn06IGFueSkge1xuICBjb25zdCBpc1R1cm5hcm91bmRUaW1lID0gZmllbGRUeXBlID09PSBGaWVsZFR5cGUuVFVSTkFST1VORF9USU1FO1xuICBjb25zdCBmaXJzdE9wdGlvbiA9IGlzVHVybmFyb3VuZFRpbWVcbiAgICA/IHJlc29sdmVUdXJuYXJvdW5kU2VsZWN0ZWRPcHRpb24oXG4gICAgICAgIHsgc2VsZWN0ZWRPcHRpb25zLCB2YWx1ZTogdmFyaWF0aW9uPy52YWx1ZSB9LFxuICAgICAgICBzZWxlY3RhYmxlT3B0aW9ucyxcbiAgICAgICAgZmllbGRPcHRpb25zXG4gICAgICApXG4gICAgOiBzZWxlY3RlZE9wdGlvbnNbMF07XG4gIGNvbnN0IGlzQ29sb3VyU2VsZWN0ID0gZmllbGRUeXBlID09PSBGaWVsZFR5cGUuQ09MT1VSX1NFTEVDVDtcbiAgY29uc3QgaXNJbWFnZVNlbGVjdCA9IGZpZWxkVHlwZSA9PT0gRmllbGRUeXBlLklNQUdFX1NFTEVDVDtcbiAgY29uc3QgdmFyaWF0aW9uRmllbGQgPSB2YXJpYXRpb24/LnZhcmlhdGlvbkZpZWxkID8/IHt9O1xuXG4gIGZ1bmN0aW9uIHJlbmRlck9wdGlvbkxhYmVsKG86IGFueSkge1xuICAgIGlmIChpc1R1cm5hcm91bmRUaW1lKSB7XG4gICAgICByZXR1cm4gKFxuICAgICAgICA8VHVybmFyb3VuZE9wdGlvbkxhYmVsXG4gICAgICAgICAgb3B0aW9uPXtvfVxuICAgICAgICAgIHZhcmlhdGlvbkZpZWxkPXt2YXJpYXRpb25GaWVsZH1cbiAgICAgICAgICBwcm9kdWN0PXtwcm9kdWN0fVxuICAgICAgICAgIHNlbGxlclByb2R1Y3RFZGl0YWJsZT17c2VsbGVyUHJvZHVjdEVkaXRhYmxlfVxuICAgICAgICAvPlxuICAgICAgKTtcbiAgICB9XG4gICAgaWYgKGlzQ29sb3VyU2VsZWN0KSB7XG4gICAgICByZXR1cm4gKFxuICAgICAgICA8Q29sb3VyU2VsZWN0T3B0aW9uXG4gICAgICAgICAgb3B0aW9uPXtvfVxuICAgICAgICAgIHNlbGVjdGFibGVPcHRpb25zPXtzZWxlY3RhYmxlT3B0aW9uc31cbiAgICAgICAgICBmaWVsZE9wdGlvbnM9e2ZpZWxkT3B0aW9uc31cbiAgICAgICAgLz5cbiAgICAgICk7XG4gICAgfVxuICAgIGlmIChpc0ltYWdlU2VsZWN0KSB7XG4gICAgICByZXR1cm4gKFxuICAgICAgICA8SW1hZ2VTZWxlY3RPcHRpb25cbiAgICAgICAgICBvcHRpb249e299XG4gICAgICAgICAgc2VsZWN0YWJsZU9wdGlvbnM9e3NlbGVjdGFibGVPcHRpb25zfVxuICAgICAgICAgIGZpZWxkT3B0aW9ucz17ZmllbGRPcHRpb25zfVxuICAgICAgICAgIHByb2R1Y3Q9e3Byb2R1Y3R9XG4gICAgICAgICAgc2VsbGVyUHJvZHVjdEVkaXRhYmxlPXtzZWxsZXJQcm9kdWN0RWRpdGFibGV9XG4gICAgICAgIC8+XG4gICAgICApO1xuICAgIH1cbiAgICByZXR1cm4gKFxuICAgICAgPD5cbiAgICAgICAge28udmFsdWU/LnRyaW0oKSB8fCAn4oCTJ31cbiAgICAgICAge2Zvcm1hdE9wdGlvbkNvc3QocHJvZHVjdCwgbywgc2VsbGVyUHJvZHVjdEVkaXRhYmxlKSB8fCAnJ31cbiAgICAgIDwvPlxuICAgICk7XG4gIH1cblxuICByZXR1cm4gKFxuICAgIDw+XG4gICAgICB7c2VsZWN0ZWRPcHRpb25zLmxlbmd0aCA+IDEgJiYgIWlzVHVybmFyb3VuZFRpbWUgPyAoXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPSdtZXJjaGktY2hlY2tvdXQtc3VtbWFyeS12YXJpYXRpb24tcm93Jz5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT0nbWVyY2hpLWNoZWNrb3V0LXN1bW1hcnktdmFyaWF0aW9uLWxhYmVsJz57bmFtZX08L2Rpdj5cbiAgICAgICAgICA8dWwgY2xhc3NOYW1lPSdtZXJjaGktY2hlY2tvdXQtc3VtbWFyeS12YXJpYXRpb24tdmFsdWUgbGlzdC11bnN0eWxlZCBtLTAnPlxuICAgICAgICAgICAge3NlbGVjdGVkT3B0aW9ucy5tYXAoKG86IGFueSwgaTogbnVtYmVyKSA9PiAoXG4gICAgICAgICAgICAgIDxsaSBrZXk9e2Ake2l9LW9wdGlvbi1rZXktJHtvLm9wdGlvbklkID8/IGl9YH0+XG4gICAgICAgICAgICAgICAge3JlbmRlck9wdGlvbkxhYmVsKG8pfVxuICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgKSl9XG4gICAgICAgICAgPC91bD5cbiAgICAgICAgPC9kaXY+XG4gICAgICApIDogZmlyc3RPcHRpb24gPyAoXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPSdtZXJjaGktY2hlY2tvdXQtc3VtbWFyeS12YXJpYXRpb24tcm93Jz5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT0nbWVyY2hpLWNoZWNrb3V0LXN1bW1hcnktdmFyaWF0aW9uLWxhYmVsJz57bmFtZX08L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT0nbWVyY2hpLWNoZWNrb3V0LXN1bW1hcnktdmFyaWF0aW9uLXZhbHVlJz5cbiAgICAgICAgICAgIHtyZW5kZXJPcHRpb25MYWJlbChmaXJzdE9wdGlvbil9XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgKSA6IChcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9J21lcmNoaS1jaGVja291dC1zdW1tYXJ5LXZhcmlhdGlvbi1yb3cnPlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPSdtZXJjaGktY2hlY2tvdXQtc3VtbWFyeS12YXJpYXRpb24tbGFiZWwnPntuYW1lfTwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPSdtZXJjaGktY2hlY2tvdXQtc3VtbWFyeS12YXJpYXRpb24tdmFsdWUnPi08L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICApfVxuICAgIDwvPlxuICApO1xufVxuXG5mdW5jdGlvbiBWYXJpYXRpb25zSW5mbyh7IHByb2R1Y3QsIHF1YW50aXR5LCB2YXJpYXRpb25zID0gW10gfTogYW55KSB7XG4gIHJldHVybiAoXG4gICAgPGRpdiBjbGFzc05hbWU9J21lcmNoaS1jaGVja291dC1zdW1tYXJ5LXZhcmlhdGlvbnMnPlxuICAgICAge3ZhcmlhdGlvbnMubWFwKCh2OiBhbnksIGk6IG51bWJlcikgPT5cbiAgICAgICAgIWlzSW5zdHJ1Y3Rpb25zVHlwZSh2LnZhcmlhdGlvbkZpZWxkLmZpZWxkVHlwZSkgPyAoXG4gICAgICAgICAgPFZhcmlhdGlvbkluZm9cbiAgICAgICAgICAgIHF1YW50aXR5PXtxdWFudGl0eX1cbiAgICAgICAgICAgIHZhcmlhdGlvbj17dn1cbiAgICAgICAgICAgIHByb2R1Y3Q9e3Byb2R1Y3R9XG4gICAgICAgICAgICBrZXk9e2l9XG4gICAgICAgICAgLz5cbiAgICAgICAgKSA6IG51bGxcbiAgICAgICl9XG4gICAgPC9kaXY+XG4gICk7XG59XG5cbmZ1bmN0aW9uIFZhcmlhdGlvbkdyb3VwSW5mbyh7IGdyb3VwLCBpbmRleCwgcHJvZHVjdCB9OiBhbnkpIHtcbiAgY29uc3QgaXNSZXNlbGwgPSBpc1Byb2R1Y3RTdXBwbGllck1PRChwcm9kdWN0KTtcbiAgY29uc3QgeyBxdWFudGl0eSwgdmFyaWF0aW9ucyB9ID0gZ3JvdXA7XG4gIGNvbnN0IHZpc2libGVWYXJpYXRpb25zID0gKHZhcmlhdGlvbnMgPz8gW10pLmZpbHRlcihcbiAgICAodjogYW55KSA9PiAhaXNJbnN0cnVjdGlvbnNUeXBlKHY/LnZhcmlhdGlvbkZpZWxkPy5maWVsZFR5cGUpXG4gICk7XG4gIGNvbnN0IGNvc3RMYWJlbCA9IGlzUmVzZWxsID8gJ1VuaXQgQ29zdCcgOiAnR3JvdXAgQ29zdCc7XG5cbiAgcmV0dXJuIChcbiAgICA8c2VjdGlvbiBjbGFzc05hbWU9J21lcmNoaS1jaGVja291dC1zdW1tYXJ5LWdyb3VwJz5cbiAgICAgIDxzdHJvbmcgY2xhc3NOYW1lPSdtZXJjaGktY2hlY2tvdXQtc3VtbWFyeS1vcmRlci1kZXRhaWwtdGl0bGUnPlxuICAgICAgICBHcm91cCB7aW5kZXggKyAxfSBJbmZvcm1hdGlvblxuICAgICAgPC9zdHJvbmc+XG4gICAgICB7IWlzUmVzZWxsICYmIHF1YW50aXR5ID4gMCAmJiAoXG4gICAgICAgIDxTdW1tYXJ5RmllbGRSb3cgbGFiZWw9J1F1YW50aXR5JyB2YWx1ZT17cXVhbnRpdHl9IC8+XG4gICAgICApfVxuICAgICAge3Zpc2libGVWYXJpYXRpb25zLmxlbmd0aCA+IDAgJiYgKFxuICAgICAgICA8VmFyaWF0aW9uc0luZm9cbiAgICAgICAgICBxdWFudGl0eT17cXVhbnRpdHl9XG4gICAgICAgICAgdmFyaWF0aW9ucz17dmFyaWF0aW9uc31cbiAgICAgICAgICBwcm9kdWN0PXtwcm9kdWN0fVxuICAgICAgICAvPlxuICAgICAgKX1cbiAgICAgIDxzdHJvbmcgY2xhc3NOYW1lPSdtZXJjaGktY2hlY2tvdXQtc3VtbWFyeS1ncm91cC1jb3N0Jz5cbiAgICAgICAge2Nvc3RMYWJlbH06IHtmb3JtYXRDb3N0KHByb2R1Y3QsIGdyb3VwLmdyb3VwQ29zdCl9XG4gICAgICA8L3N0cm9uZz5cbiAgICA8L3NlY3Rpb24+XG4gICk7XG59XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIEpvYkluZm9Db250ZW50KCkge1xuICBjb25zdCB7IGpvYiB9ID0gdXNlTWVyY2hpQ2hlY2tib3V0Q29udGV4dCgpO1xuICBjb25zdCB7IHByb2R1Y3QsIHF1YW50aXR5ID0gMCwgdmFyaWF0aW9ucyA9IFtdLCB2YXJpYXRpb25zR3JvdXBzID0gW10gfSA9IGpvYjtcbiAgY29uc3QgeyBuZWVkc1NoaXBwaW5nIH0gPSBwcm9kdWN0O1xuICBjb25zdCB0b3RhbENvc3QgPSBjdXJyZW5jeVRvdGFsQ29zdFNob3dJbmNUYXgoam9iKTtcbiAgY29uc3QgaXNSZXNlbGwgPSBpc1Byb2R1Y3RTdXBwbGllck1PRChwcm9kdWN0KTtcbiAgY29uc3QgaGFzR3JvdXBzID0gdmFyaWF0aW9uc0dyb3Vwcy5sZW5ndGggPiAwO1xuICBjb25zdCBqb2JMZXZlbFZhcmlhdGlvbnMgPSAodmFyaWF0aW9ucyA/PyBbXSkuZmlsdGVyKFxuICAgICh2OiBhbnkpID0+ICFpc0luc3RydWN0aW9uc1R5cGUodj8udmFyaWF0aW9uRmllbGQ/LmZpZWxkVHlwZSlcbiAgKTtcbiAgY29uc3QgdG90YWxRdWFudGl0eSA9IGhhc0dyb3Vwc1xuICAgID8gdmFyaWF0aW9uc0dyb3Vwcy5yZWR1Y2UoXG4gICAgICAgIChzdW06IG51bWJlciwgZzogYW55KSA9PiBzdW0gKyAoTnVtYmVyKGcucXVhbnRpdHkpIHx8IDApLFxuICAgICAgICAwXG4gICAgICApXG4gICAgOiBOdW1iZXIocXVhbnRpdHkpIHx8IDA7XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT0nbW9kYWwtbWVyY2hpLWNoZWNrb3V0LWpvYi1pbmZvLWNvbnRlbnQgbWVyY2hpLWNoZWNrb3V0LXN1bW1hcnknPlxuICAgICAgPGRpdiBjbGFzc05hbWU9J21lcmNoaS1jaGVja291dC1zdW1tYXJ5LXNlY3Rpb24tdGl0bGUnPntwcm9kdWN0Lm5hbWV9PC9kaXY+XG4gICAgICB7aGFzR3JvdXBzICYmIChcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9J21lcmNoaS1jaGVja291dC1zdW1tYXJ5LWdyb3Vwcyc+XG4gICAgICAgICAge3ZhcmlhdGlvbnNHcm91cHMubWFwKChnOiBhbnksIGk6IG51bWJlcikgPT5cbiAgICAgICAgICAgIGcucXVhbnRpdHkgPyAoXG4gICAgICAgICAgICAgIDxWYXJpYXRpb25Hcm91cEluZm9cbiAgICAgICAgICAgICAgICBncm91cD17Z31cbiAgICAgICAgICAgICAgICBrZXk9e2Ake2l9LWpvYi1pbmZvLWNvbnRlbnRgfVxuICAgICAgICAgICAgICAgIGluZGV4PXtpfVxuICAgICAgICAgICAgICAgIHByb2R1Y3Q9e3Byb2R1Y3R9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICApIDogbnVsbFxuICAgICAgICAgICl9XG4gICAgICAgIDwvZGl2PlxuICAgICAgKX1cbiAgICAgIHshaGFzR3JvdXBzICYmIChcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9J21lcmNoaS1jaGVja291dC1zdW1tYXJ5LXN0YW5kYWxvbmUnPlxuICAgICAgICAgIHtqb2JMZXZlbFZhcmlhdGlvbnMubGVuZ3RoID4gMCAmJiAoXG4gICAgICAgICAgICA8PlxuICAgICAgICAgICAgICA8c3Ryb25nIGNsYXNzTmFtZT0nbWVyY2hpLWNoZWNrb3V0LXN1bW1hcnktb3JkZXItZGV0YWlsLXRpdGxlJz5cbiAgICAgICAgICAgICAgICBPcmRlciBJbmZvcm1hdGlvblxuICAgICAgICAgICAgICA8L3N0cm9uZz5cbiAgICAgICAgICAgICAgPFZhcmlhdGlvbnNJbmZvXG4gICAgICAgICAgICAgICAgcXVhbnRpdHk9e3F1YW50aXR5fVxuICAgICAgICAgICAgICAgIHZhcmlhdGlvbnM9e3ZhcmlhdGlvbnN9XG4gICAgICAgICAgICAgICAgcHJvZHVjdD17cHJvZHVjdH1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDwvPlxuICAgICAgICAgICl9XG4gICAgICAgIDwvZGl2PlxuICAgICAgKX1cbiAgICAgIHtoYXNHcm91cHMgJiYgam9iTGV2ZWxWYXJpYXRpb25zLmxlbmd0aCA+IDAgJiYgKFxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT0nbWVyY2hpLWNoZWNrb3V0LXN1bW1hcnktc3RhbmRhbG9uZSc+XG4gICAgICAgICAgPHN0cm9uZyBjbGFzc05hbWU9J21lcmNoaS1jaGVja291dC1zdW1tYXJ5LW9yZGVyLWRldGFpbC10aXRsZSc+XG4gICAgICAgICAgICBPcmRlciBJbmZvcm1hdGlvblxuICAgICAgICAgIDwvc3Ryb25nPlxuICAgICAgICAgIDxWYXJpYXRpb25zSW5mb1xuICAgICAgICAgICAgcXVhbnRpdHk9e3F1YW50aXR5fVxuICAgICAgICAgICAgdmFyaWF0aW9ucz17dmFyaWF0aW9uc31cbiAgICAgICAgICAgIHByb2R1Y3Q9e3Byb2R1Y3R9XG4gICAgICAgICAgLz5cbiAgICAgICAgPC9kaXY+XG4gICAgICApfVxuICAgICAgeyFpc1Jlc2VsbCAmJiAoXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPSdtZXJjaGktY2hlY2tvdXQtc3VtbWFyeS10b3RhbCc+XG4gICAgICAgICAge3RvdGFsUXVhbnRpdHkgPiAwICYmIChcbiAgICAgICAgICAgIDxTdW1tYXJ5QW1vdW50Um93XG4gICAgICAgICAgICAgIGNsYXNzTmFtZT0nbWVyY2hpLWNoZWNrb3V0LXN1bW1hcnktdG90YWwtcXVhbnRpdHknXG4gICAgICAgICAgICAgIGxhYmVsPSdUb3RhbCBRdWFudGl0eSdcbiAgICAgICAgICAgICAgYW1vdW50PXt0b3RhbFF1YW50aXR5fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICApfVxuICAgICAgICAgIDxTdW1tYXJ5QW1vdW50Um93XG4gICAgICAgICAgICBsYWJlbD0nVG90YWwgT3JkZXIgQ29zdCdcbiAgICAgICAgICAgIGxhYmVsRXh0cmE9e1xuICAgICAgICAgICAgICBuZWVkc1NoaXBwaW5nID8gKFxuICAgICAgICAgICAgICAgIDxzbWFsbCBjbGFzc05hbWU9J21lcmNoaS1jaGVja291dC1zdW1tYXJ5LXRvdGFsLW5vdGUnPiBleCBTaGlwbWVudDwvc21hbGw+XG4gICAgICAgICAgICAgICkgOiB1bmRlZmluZWRcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGFtb3VudD17dG90YWxDb3N0fVxuICAgICAgICAgIC8+XG4gICAgICAgIDwvZGl2PlxuICAgICAgKX1cbiAgICAgIHshIShpc1Jlc2VsbCAmJiAhaGFzR3JvdXBzKSAmJiAoXG4gICAgICAgIDxkaXY+XG4gICAgICAgICAgPHN0cm9uZyBjbGFzc05hbWU9J21iLTAnPlxuICAgICAgICAgICAge2lzUmVzZWxsID8gJ0FwcHJveGltYXRlIFVuaXQnIDogJ1RvdGFsJ30gQ29zdFxuICAgICAgICAgIDwvc3Ryb25nPnsnICd9XG4gICAgICAgICAgPHN0cm9uZyBjbGFzc05hbWU9J21iLTAgZC1ibG9jayc+e3RvdGFsQ29zdH08L3N0cm9uZz5cbiAgICAgICAgPC9kaXY+XG4gICAgICApfVxuICAgIDwvZGl2PlxuICApO1xufVxuIl0sIm1hcHBpbmdzIjoiQUFBQSxZQUFZOztBQUNaLE9BQU9BLEtB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
|
|
523
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsIkZhRmlsZVBkZiIsImZvcm1hdEN1cnJlbmN5IiwiY3VycmVuY3lUb3RhbENvc3RTaG93SW5jVGF4IiwiaXNJbnN0cnVjdGlvbnNUeXBlIiwiaXNQcm9kdWN0U3VwcGxpZXJNT0QiLCJpc1NlbGVjdGFibGUiLCJGaWVsZFR5cGUiLCJ1c2VNZXJjaGlDaGVja2JvdXRDb250ZXh0IiwiU3VtbWFyeUFtb3VudFJvdyIsIlN1bW1hcnlGaWVsZFJvdyIsImpzeCIsIl9qc3giLCJqc3hzIiwiX2pzeHMiLCJGcmFnbWVudCIsIl9GcmFnbWVudCIsImZvcm1hdENvc3QiLCJwcm9kdWN0IiwiY29zdCIsImN1cnJlbmN5Iiwic2hvd0NvZGVJZk5vU3ltYm9sIiwicHJvZHVjdFNldHVwU3VmZml4Iiwic2V0dXBQcmljZSIsIk51bWJlciIsImxhYmVsIiwic2V0dXBQZXJHcm91cCIsImNvbmNhdCIsImZvcm1hdFVuaXRQcmljZVdpdGhTZXR1cCIsInVuaXRQcmljZSIsImlzUGRmIiwiZmlsZSIsIm1pbWV0eXBlIiwiaXNJbWFnZUZpbGUiLCJzdGFydHNXaXRoIiwibmFtZSIsInRvTG93ZXJDYXNlIiwidGVzdCIsIm9wdGlvbkltYWdlVXJsIiwib3B0aW9uIiwiX29wdGlvbiRsaW5rZWRGaWxlIiwibGlua2VkRmlsZSIsInZpZXdVcmwiLCJmaW5kTWF0Y2hpbmdPcHRpb24iLCJvcHRpb25zIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwidW5kZWZpbmVkIiwiZmluZCIsIm8iLCJTdHJpbmciLCJvcHRpb25JZCIsInJlc29sdmVPcHRpb25Db2xvdXIiLCJfb3B0aW9uJGNvbG91ciIsIl9maW5kTWF0Y2hpbmdPcHRpb24iLCJfZmluZE1hdGNoaW5nT3B0aW9uMiIsInNlbGVjdGFibGVPcHRpb25zIiwiZmllbGRPcHRpb25zIiwiZGlyZWN0IiwiY29sb3VyIiwidHJpbSIsImZyb21TZWxlY3RhYmxlIiwicmVzb2x2ZU9wdGlvbkltYWdlVXJsIiwiZm9ybWF0T3B0aW9uQ29zdCIsInNlbGxlclByb2R1Y3RFZGl0YWJsZSIsInRvdGFsQ29zdCIsIlZhcmlhdGlvbkZpbGVQcmV2aWV3IiwiX3JlZiIsImZpbGVVcmwiLCJkb3dubG9hZFVybCIsImZpbGVOYW1lIiwiY2xhc3NOYW1lIiwiaHJlZiIsInRhcmdldCIsInJlbCIsInRpdGxlIiwiY2hpbGRyZW4iLCJzcmMiLCJhbHQiLCJWYXJpYXRpb25JbmZvQm9keSIsIl9yZWYyIiwidmFsdWUiLCJmaWxlcyIsInR5cGUiLCJpc0NvbG91clBpY2tlciIsIkNPTE9VUl9QSUNLRVIiLCJpc0ZpbGVVcGxvYWQiLCJGSUxFX1VQTE9BRCIsImhhc0ZpbGVzIiwiQm9vbGVhbiIsImRpc3BsYXlWYWx1ZSIsIm1hcCIsImluZGV4IiwiaWQiLCJzdHlsZSIsImJhY2tncm91bmRDb2xvciIsIlZhcmlhdGlvbkluZm8iLCJfcmVmMyIsInZhcmlhdGlvbiIsInNlbGVjdGVkT3B0aW9ucyIsInZhcmlhdGlvbkZpZWxkIiwidmFyaWF0aW9uRmlsZXMiLCJmaWVsZFR5cGUiLCJfdmFyaWF0aW9uRmllbGQkb3B0aW8iLCJpc1ZhcmlhdGlvblNlbGVjdGFibGUiLCJpc1R1cm5hcm91bmRUaW1lIiwiVFVSTkFST1VORF9USU1FIiwidXNlU2VsZWN0YWJsZURpc3BsYXkiLCJWYXJpYXRpb25PcHRpb25zSW5mb0JvZHkiLCJDb2xvdXJTZWxlY3RPcHRpb24iLCJfcmVmNCIsIl9vcHRpb24kdmFsdWUiLCJoZXgiLCJJbWFnZVNlbGVjdE9wdGlvbiIsIl9yZWY1IiwiX29wdGlvbiR2YWx1ZTIiLCJpbWFnZVVybCIsImdldE9wdGlvbklkIiwiX29wdGlvbiRvcHRpb25JZCIsInJlc29sdmVUdXJuYXJvdW5kU2VsZWN0ZWRPcHRpb24iLCJfdmFyaWF0aW9uJHNlbGVjdGVkT3AiLCJ2YWx1ZVN0ciIsInBvb2xzIiwiX2kiLCJfcG9vbHMiLCJwb29sIiwiYnlJZCIsImJ5VmFsdWUiLCJfbyR2YWx1ZSIsImZvcm1hdFR1cm5hcm91bmREZWFkbGluZSIsInVzZXJEZWFkbGluZSIsInNlY29uZHMiLCJpc0Zpbml0ZSIsIkRhdGUiLCJ0b0xvY2FsZURhdGVTdHJpbmciLCJ3ZWVrZGF5IiwieWVhciIsIm1vbnRoIiwiZGF5IiwiVHVybmFyb3VuZE9wdGlvbkxhYmVsIiwiX3JlZjYiLCJfb3B0aW9uJHZhbHVlMyIsIl9vcHRpb24kdmFsdWU0IiwiZGF5cyIsInBhcnNlSW50IiwiZGVhZGxpbmUiLCJzaGlwcGluZ1RpbWVJbmNsdWRlZCIsImRlYWRsaW5lTGFiZWwiLCJfcmVmNyIsIl92YXJpYXRpb24kdmFyaWF0aW9uRiIsIl9yZWY3JHNlbGVjdGFibGVPcHRpbyIsIl9yZWY3JGZpZWxkT3B0aW9ucyIsImZpcnN0T3B0aW9uIiwiaXNDb2xvdXJTZWxlY3QiLCJDT0xPVVJfU0VMRUNUIiwiaXNJbWFnZVNlbGVjdCIsIklNQUdFX1NFTEVDVCIsInJlbmRlck9wdGlvbkxhYmVsIiwiX28kdmFsdWUyIiwiaSIsIl9vJG9wdGlvbklkIiwiVmFyaWF0aW9uc0luZm8iLCJfcmVmOCIsInF1YW50aXR5IiwiX3JlZjgkdmFyaWF0aW9ucyIsInZhcmlhdGlvbnMiLCJ2IiwiVmFyaWF0aW9uR3JvdXBJbmZvIiwiX3JlZjkiLCJncm91cCIsInNob3dTZXR1cE9uVW5pdFByaWNlIiwiaXNSZXNlbGwiLCJ2aXNpYmxlVmFyaWF0aW9ucyIsImZpbHRlciIsIl92JHZhcmlhdGlvbkZpZWxkIiwiY29zdExhYmVsIiwidW5pdFByaWNlVmFsdWUiLCJncm91cENvc3QiLCJKb2JJbmZvQ29udGVudCIsIl91c2VNZXJjaGlDaGVja2JvdXRDbyIsImpvYiIsIl9qb2IkcXVhbnRpdHkiLCJfam9iJHZhcmlhdGlvbnMiLCJfam9iJHZhcmlhdGlvbnNHcm91cHMiLCJ2YXJpYXRpb25zR3JvdXBzIiwibmVlZHNTaGlwcGluZyIsImhhc0dyb3VwcyIsImpvYkxldmVsVmFyaWF0aW9ucyIsIl92JHZhcmlhdGlvbkZpZWxkMiIsInRvdGFsUXVhbnRpdHkiLCJyZWR1Y2UiLCJzdW0iLCJnIiwiaGFzU2V0dXBQcmljZSIsImFtb3VudCIsImxhYmVsRXh0cmEiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvY29tcG9uZW50cy9Kb2JJbmZvQ29udGVudC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBjbGllbnQnO1xuaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IEZhRmlsZVBkZiB9IGZyb20gJ3JlYWN0LWljb25zL2ZhJztcbmltcG9ydCB7IGZvcm1hdEN1cnJlbmN5LCBjdXJyZW5jeVRvdGFsQ29zdFNob3dJbmNUYXggfSBmcm9tICcuL2N1cnJlbmN5JztcbmltcG9ydCB7XG4gIGlzSW5zdHJ1Y3Rpb25zVHlwZSxcbiAgaXNQcm9kdWN0U3VwcGxpZXJNT0QsXG4gIGlzU2VsZWN0YWJsZSxcbiAgRmllbGRUeXBlLFxufSBmcm9tICcuLi91dGlscyc7XG5pbXBvcnQgeyB1c2VNZXJjaGlDaGVja2JvdXRDb250ZXh0IH0gZnJvbSAnLi9NZXJjaGlDaGVja291dFByb3ZpZGVyJztcbmltcG9ydCB7XG4gIFN1bW1hcnlBbW91bnRSb3csXG4gIFN1bW1hcnlGaWVsZFJvdyxcbn0gZnJvbSAnLi9DaGVja291dFN1bW1hcnlGaWVsZHMnO1xuXG5mdW5jdGlvbiBmb3JtYXRDb3N0KHByb2R1Y3Q6IGFueSwgY29zdDogbnVtYmVyKSB7XG4gIGNvbnN0IGN1cnJlbmN5ID0gcHJvZHVjdC5jdXJyZW5jeSA/IHByb2R1Y3QuY3VycmVuY3kgOiAnQVVEJztcbiAgcmV0dXJuIGZvcm1hdEN1cnJlbmN5KGNvc3QsIHtcbiAgICBjdXJyZW5jeSxcbiAgICBzaG93Q29kZUlmTm9TeW1ib2w6IGZhbHNlLFxuICB9KTtcbn1cblxuLyoqIFByb2R1Y3Qgc2V0dXAgZmVlIHNob3duIG5leHQgdG8gdW5pdCBwcmljZSwgbWF0Y2hpbmcgcHJvZHVjdC1mb3JtIHdvcmRpbmcuICovXG5mdW5jdGlvbiBwcm9kdWN0U2V0dXBTdWZmaXgocHJvZHVjdDogYW55KSB7XG4gIGNvbnN0IHNldHVwUHJpY2UgPSBOdW1iZXIocHJvZHVjdD8uc2V0dXBQcmljZSk7XG4gIGlmICghc2V0dXBQcmljZSkgcmV0dXJuICcnO1xuICBjb25zdCBsYWJlbCA9IHByb2R1Y3Quc2V0dXBQZXJHcm91cCA/ICdzZXR1cCBwZXIgZ3JvdXAnIDogJ3NldHVwJztcbiAgcmV0dXJuIGAgKyAke2Zvcm1hdENvc3QocHJvZHVjdCwgc2V0dXBQcmljZSl9ICR7bGFiZWx9YDtcbn1cblxuZnVuY3Rpb24gZm9ybWF0VW5pdFByaWNlV2l0aFNldHVwKHByb2R1Y3Q6IGFueSkge1xuICByZXR1cm4gYCR7Zm9ybWF0Q29zdChwcm9kdWN0LCBOdW1iZXIocHJvZHVjdD8udW5pdFByaWNlKSB8fCAwKX0ke3Byb2R1Y3RTZXR1cFN1ZmZpeChwcm9kdWN0KX1gO1xufVxuXG5mdW5jdGlvbiBpc1BkZihmaWxlOiBhbnkpIHtcbiAgY29uc3QgbWltZXR5cGUgPSBmaWxlPy5taW1ldHlwZSB8fCAnJztcbiAgcmV0dXJuIG1pbWV0eXBlID09PSAnYXBwbGljYXRpb24vcGRmJyB8fCBtaW1ldHlwZSA9PT0gJ2FwcGxpY2F0aW9uL3gtcGRmJztcbn1cblxuZnVuY3Rpb24gaXNJbWFnZUZpbGUoZmlsZTogYW55KSB7XG4gIGNvbnN0IG1pbWV0eXBlID0gZmlsZT8ubWltZXR5cGUgfHwgJyc7XG4gIGlmIChtaW1ldHlwZS5zdGFydHNXaXRoKCdpbWFnZS8nKSkgcmV0dXJuIHRydWU7XG4gIGNvbnN0IG5hbWUgPSAoZmlsZT8ubmFtZSB8fCAnJykudG9Mb3dlckNhc2UoKTtcbiAgcmV0dXJuIC9cXC4oanBlP2d8cG5nfGdpZnx3ZWJwfHN2Z3xibXApJC8udGVzdChuYW1lKTtcbn1cblxuZnVuY3Rpb24gb3B0aW9uSW1hZ2VVcmwob3B0aW9uOiBhbnkpIHtcbiAgcmV0dXJuIG9wdGlvbj8ubGlua2VkRmlsZT8udmlld1VybCB8fCAnJztcbn1cblxuZnVuY3Rpb24gZmluZE1hdGNoaW5nT3B0aW9uKG9wdGlvbjogYW55LCBvcHRpb25zOiBhbnlbXSA9IFtdKSB7XG4gIHJldHVybiBvcHRpb25zLmZpbmQoKG8pID0+IFN0cmluZyhvLm9wdGlvbklkKSA9PT0gU3RyaW5nKG9wdGlvbj8ub3B0aW9uSWQpKTtcbn1cblxuZnVuY3Rpb24gcmVzb2x2ZU9wdGlvbkNvbG91cihcbiAgb3B0aW9uOiBhbnksXG4gIHNlbGVjdGFibGVPcHRpb25zOiBhbnlbXSA9IFtdLFxuICBmaWVsZE9wdGlvbnM6IGFueVtdID0gW11cbikge1xuICBjb25zdCBkaXJlY3QgPSBvcHRpb24/LmNvbG91cj8udHJpbSgpO1xuICBpZiAoZGlyZWN0KSByZXR1cm4gZGlyZWN0O1xuICBjb25zdCBmcm9tU2VsZWN0YWJsZSA9IGZpbmRNYXRjaGluZ09wdGlvbihvcHRpb24sIHNlbGVjdGFibGVPcHRpb25zKT8uY29sb3VyPy50cmltKCk7XG4gIGlmIChmcm9tU2VsZWN0YWJsZSkgcmV0dXJuIGZyb21TZWxlY3RhYmxlO1xuICByZXR1cm4gZmluZE1hdGNoaW5nT3B0aW9uKG9wdGlvbiwgZmllbGRPcHRpb25zKT8uY29sb3VyPy50cmltKCkgfHwgJyc7XG59XG5cbmZ1bmN0aW9uIHJlc29sdmVPcHRpb25JbWFnZVVybChcbiAgb3B0aW9uOiBhbnksXG4gIHNlbGVjdGFibGVPcHRpb25zOiBhbnlbXSA9IFtdLFxuICBmaWVsZE9wdGlvbnM6IGFueVtdID0gW11cbikge1xuICBjb25zdCBkaXJlY3QgPSBvcHRpb25JbWFnZVVybChvcHRpb24pO1xuICBpZiAoZGlyZWN0KSByZXR1cm4gZGlyZWN0O1xuICBjb25zdCBmcm9tU2VsZWN0YWJsZSA9IG9wdGlvbkltYWdlVXJsKFxuICAgIGZpbmRNYXRjaGluZ09wdGlvbihvcHRpb24sIHNlbGVjdGFibGVPcHRpb25zKVxuICApO1xuICBpZiAoZnJvbVNlbGVjdGFibGUpIHJldHVybiBmcm9tU2VsZWN0YWJsZTtcbiAgcmV0dXJuIG9wdGlvbkltYWdlVXJsKGZpbmRNYXRjaGluZ09wdGlvbihvcHRpb24sIGZpZWxkT3B0aW9ucykpO1xufVxuXG5mdW5jdGlvbiBmb3JtYXRPcHRpb25Db3N0KFxuICBwcm9kdWN0OiBhbnksXG4gIG9wdGlvbjogYW55LFxuICBzZWxsZXJQcm9kdWN0RWRpdGFibGU6IGJvb2xlYW5cbikge1xuICBpZiAoIW9wdGlvbj8udG90YWxDb3N0IHx8IHNlbGxlclByb2R1Y3RFZGl0YWJsZSkgcmV0dXJuIG51bGw7XG4gIHJldHVybiBgICsgJHtmb3JtYXRDb3N0KHByb2R1Y3QsIG9wdGlvbi50b3RhbENvc3QpfWA7XG59XG5cbmZ1bmN0aW9uIFZhcmlhdGlvbkZpbGVQcmV2aWV3KHsgZmlsZSB9OiB7IGZpbGU6IGFueSB9KSB7XG4gIGNvbnN0IGZpbGVVcmwgPSBmaWxlPy52aWV3VXJsIHx8IGZpbGU/LmRvd25sb2FkVXJsIHx8ICcnO1xuICBjb25zdCBmaWxlTmFtZSA9IGZpbGU/Lm5hbWUgfHwgJ0ZpbGUnO1xuXG4gIGlmIChpc1BkZihmaWxlKSkge1xuICAgIHJldHVybiAoXG4gICAgICA8YVxuICAgICAgICBjbGFzc05hbWU9J21lcmNoaS1jaGVja291dC1zdW1tYXJ5LWZpbGUtbGluaydcbiAgICAgICAgaHJlZj17ZmlsZVVybH1cbiAgICAgICAgdGFyZ2V0PSdfYmxhbmsnXG4gICAgICAgIHJlbD0nbm9vcGVuZXIgbm9yZWZlcnJlcidcbiAgICAgICAgdGl0bGU9e2ZpbGVOYW1lfVxuICAgICAgPlxuICAgICAgICA8RmFGaWxlUGRmIGFyaWEtaGlkZGVuIC8+XG4gICAgICAgIDxzcGFuPntmaWxlTmFtZX08L3NwYW4+XG4gICAgICA8L2E+XG4gICAgKTtcbiAgfVxuXG4gIGlmIChpc0ltYWdlRmlsZShmaWxlKSAmJiBmaWxlVXJsKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxpbWdcbiAgICAgICAgY2xhc3NOYW1lPSdtb2RhbC1tZXJjaGktY2hlY2tvdXQtam9iLWluZm8tY29udGVudC1pbWcnXG4gICAgICAgIHNyYz17ZmlsZVVybH1cbiAgICAgICAgYWx0PXtmaWxlTmFtZX1cbiAgICAgICAgdGl0bGU9e2ZpbGVOYW1lfVxuICAgICAgLz5cbiAgICApO1xuICB9XG5cbiAgaWYgKGZpbGVVcmwpIHtcbiAgICByZXR1cm4gKFxuICAgICAgPGFcbiAgICAgICAgY2xhc3NOYW1lPSdtZXJjaGktY2hlY2tvdXQtc3VtbWFyeS1maWxlLWxpbmsnXG4gICAgICAgIGhyZWY9e2ZpbGVVcmx9XG4gICAgICAgIHRhcmdldD0nX2JsYW5rJ1xuICAgICAgICByZWw9J25vb3BlbmVyIG5vcmVmZXJyZXInXG4gICAgICAgIHRpdGxlPXtmaWxlTmFtZX1cbiAgICAgID5cbiAgICAgICAge2ZpbGVOYW1lfVxuICAgICAgPC9hPlxuICAgICk7XG4gIH1cblxuICByZXR1cm4gPHNwYW4+e2ZpbGVOYW1lfTwvc3Bhbj47XG59XG5cbmZ1bmN0aW9uIFZhcmlhdGlvbkluZm9Cb2R5KHsgY29zdCwgbmFtZSwgcHJvZHVjdCwgdmFsdWUsIGZpbGVzLCB0eXBlIH06IGFueSkge1xuICBjb25zdCBpc0NvbG91clBpY2tlciA9IHR5cGUgPT09IEZpZWxkVHlwZS5DT0xPVVJfUElDS0VSO1xuICBjb25zdCBpc0ZpbGVVcGxvYWQgPSB0eXBlID09PSBGaWVsZFR5cGUuRklMRV9VUExPQUQ7XG4gIGNvbnN0IGhhc0ZpbGVzID0gQm9vbGVhbihmaWxlcz8ubGVuZ3RoKTtcbiAgY29uc3QgZGlzcGxheVZhbHVlID0gaXNDb2xvdXJQaWNrZXIgfHwgKGlzRmlsZVVwbG9hZCAmJiBoYXNGaWxlcykgPyBudWxsIDogdmFsdWU7XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT0nbWVyY2hpLWNoZWNrb3V0LXN1bW1hcnktdmFyaWF0aW9uLXJvdyc+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT0nbWVyY2hpLWNoZWNrb3V0LXN1bW1hcnktdmFyaWF0aW9uLWxhYmVsJz57bmFtZX08L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPSdtZXJjaGktY2hlY2tvdXQtc3VtbWFyeS12YXJpYXRpb24tdmFsdWUnPlxuICAgICAgICB7aGFzRmlsZXMgJiYgKFxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPSdtZXJjaGktY2hlY2tvdXQtc3VtbWFyeS1maWxlLXByZXZpZXdzJz5cbiAgICAgICAgICAgIHtmaWxlcy5tYXAoKGZpbGU6IGFueSwgaW5kZXg6IG51bWJlcikgPT4gKFxuICAgICAgICAgICAgICA8VmFyaWF0aW9uRmlsZVByZXZpZXdcbiAgICAgICAgICAgICAgICBrZXk9e2ZpbGUudmlld1VybCB8fCBmaWxlLmlkIHx8IGAke25hbWV9LWZpbGUtJHtpbmRleH1gfVxuICAgICAgICAgICAgICAgIGZpbGU9e2ZpbGV9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICApKX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgKX1cbiAgICAgICAge2lzQ29sb3VyUGlja2VyICYmIHZhbHVlICYmIChcbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT0nbWVyY2hpLWNoZWNrb3V0LXN1bW1hcnktY29sb3VyLXZhbHVlJz5cbiAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgIHN0eWxlPXt7IGJhY2tncm91bmRDb2xvcjogdmFsdWUgfX1cbiAgICAgICAgICAgICAgY2xhc3NOYW1lPSdjb2xvci1pbmRpY2F0b3InXG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPHNwYW4+e3ZhbHVlfTwvc3Bhbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgKX1cbiAgICAgICAge2Rpc3BsYXlWYWx1ZSAmJiBkaXNwbGF5VmFsdWV9XG4gICAgICAgIHtjb3N0ID8gYCArICR7Zm9ybWF0Q29zdChwcm9kdWN0LCBjb3N0KX1gIDogJyd9XG4gICAgICAgIHshaGFzRmlsZXMgJiYgIXZhbHVlICYmICctJ31cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICApO1xufVxuXG5mdW5jdGlvbiBWYXJpYXRpb25JbmZvKHsgcHJvZHVjdCwgdmFyaWF0aW9uIH06IGFueSkge1xuICBjb25zdCB7IHNlbGVjdGVkT3B0aW9ucywgdmFyaWF0aW9uRmllbGQsIHZhcmlhdGlvbkZpbGVzLCBzZWxlY3RhYmxlT3B0aW9ucyB9ID1cbiAgICB2YXJpYXRpb247XG4gIGNvbnN0IHsgZmllbGRUeXBlLCBzZWxsZXJQcm9kdWN0RWRpdGFibGUsIG9wdGlvbnM6IGZpZWxkT3B0aW9ucyA9IFtdIH0gPVxuICAgIHZhcmlhdGlvbkZpZWxkO1xuICBjb25zdCBpc1ZhcmlhdGlvblNlbGVjdGFibGUgPSBpc1NlbGVjdGFibGUoZmllbGRUeXBlKTtcbiAgY29uc3QgaXNUdXJuYXJvdW5kVGltZSA9IGZpZWxkVHlwZSA9PT0gRmllbGRUeXBlLlRVUk5BUk9VTkRfVElNRTtcbiAgY29uc3Qgb3B0aW9ucyA9IHNlbGVjdGVkT3B0aW9ucztcbiAgY29uc3QgdXNlU2VsZWN0YWJsZURpc3BsYXkgPVxuICAgIGlzVmFyaWF0aW9uU2VsZWN0YWJsZSAmJlxuICAgIChCb29sZWFuKG9wdGlvbnM/Lmxlbmd0aCkgfHwgKGlzVHVybmFyb3VuZFRpbWUgJiYgdmFyaWF0aW9uLnZhbHVlKSk7XG4gIHJldHVybiAoXG4gICAgPGRpdiBjbGFzc05hbWU9J21lcmNoaS1jaGVja291dC1zdW1tYXJ5LXZhcmlhdGlvbic+XG4gICAgICB7dXNlU2VsZWN0YWJsZURpc3BsYXkgPyAoXG4gICAgICAgIDxWYXJpYXRpb25PcHRpb25zSW5mb0JvZHlcbiAgICAgICAgICBuYW1lPXt2YXJpYXRpb25GaWVsZC5uYW1lfVxuICAgICAgICAgIGZpZWxkVHlwZT17ZmllbGRUeXBlfVxuICAgICAgICAgIHZhbHVlPXt2YXJpYXRpb24udmFsdWV9XG4gICAgICAgICAgcHJvZHVjdD17cHJvZHVjdH1cbiAgICAgICAgICBmaWxlcz17dmFyaWF0aW9uRmlsZXN9XG4gICAgICAgICAgc2VsZWN0ZWRPcHRpb25zPXtvcHRpb25zfVxuICAgICAgICAgIHZhcmlhdGlvbj17dmFyaWF0aW9ufVxuICAgICAgICAgIHNlbGVjdGFibGVPcHRpb25zPXtzZWxlY3RhYmxlT3B0aW9uc31cbiAgICAgICAgICBmaWVsZE9wdGlvbnM9e2ZpZWxkT3B0aW9uc31cbiAgICAgICAgICBzZWxsZXJQcm9kdWN0RWRpdGFibGU9e3NlbGxlclByb2R1Y3RFZGl0YWJsZX1cbiAgICAgICAgLz5cbiAgICAgICkgOiAoXG4gICAgICAgIDxWYXJpYXRpb25JbmZvQm9keVxuICAgICAgICAgIG5hbWU9e3ZhcmlhdGlvbkZpZWxkLm5hbWV9XG4gICAgICAgICAgdHlwZT17dmFyaWF0aW9uRmllbGQuZmllbGRUeXBlfVxuICAgICAgICAgIHZhbHVlPXt2YXJpYXRpb24udmFsdWV9XG4gICAgICAgICAgZmlsZXM9e3ZhcmlhdGlvbkZpbGVzfVxuICAgICAgICAgIHByb2R1Y3Q9e3Byb2R1Y3R9XG4gICAgICAgICAgY29zdD17c2VsbGVyUHJvZHVjdEVkaXRhYmxlID8gMCA6IHZhcmlhdGlvbi5jb3N0fVxuICAgICAgICAvPlxuICAgICAgKX1cbiAgICA8L2Rpdj5cbiAgKTtcbn1cblxuZnVuY3Rpb24gQ29sb3VyU2VsZWN0T3B0aW9uKHtcbiAgb3B0aW9uLFxuICBzZWxlY3RhYmxlT3B0aW9ucyxcbiAgZmllbGRPcHRpb25zLFxufToge1xuICBvcHRpb246IGFueTtcbiAgc2VsZWN0YWJsZU9wdGlvbnM/OiBhbnlbXTtcbiAgZmllbGRPcHRpb25zPzogYW55W107XG59KSB7XG4gIGNvbnN0IGxhYmVsID0gb3B0aW9uPy52YWx1ZT8udHJpbSgpIHx8ICcnO1xuICBjb25zdCBoZXggPSByZXNvbHZlT3B0aW9uQ29sb3VyKG9wdGlvbiwgc2VsZWN0YWJsZU9wdGlvbnMsIGZpZWxkT3B0aW9ucyk7XG4gIHJldHVybiAoXG4gICAgPHNwYW4gY2xhc3NOYW1lPSdtZXJjaGktY2hlY2tvdXQtc3VtbWFyeS1jb2xvdXItb3B0aW9uJz5cbiAgICAgIHtoZXggJiYgKFxuICAgICAgICA8c3BhblxuICAgICAgICAgIHN0eWxlPXt7IGJhY2tncm91bmRDb2xvcjogaGV4IH19XG4gICAgICAgICAgY2xhc3NOYW1lPSdjb2xvci1pbmRpY2F0b3InXG4gICAgICAgIC8+XG4gICAgICApfVxuICAgICAgPHNwYW4+e2xhYmVsIHx8IGhleCB8fCAn4oCTJ308L3NwYW4+XG4gICAgPC9zcGFuPlxuICApO1xufVxuXG5mdW5jdGlvbiBJbWFnZVNlbGVjdE9wdGlvbih7XG4gIG9wdGlvbixcbiAgc2VsZWN0YWJsZU9wdGlvbnMsXG4gIGZpZWxkT3B0aW9ucyxcbiAgcHJvZHVjdCxcbiAgc2VsbGVyUHJvZHVjdEVkaXRhYmxlLFxufToge1xuICBvcHRpb246IGFueTtcbiAgc2VsZWN0YWJsZU9wdGlvbnM/OiBhbnlbXTtcbiAgZmllbGRPcHRpb25zPzogYW55W107XG4gIHByb2R1Y3Q6IGFueTtcbiAgc2VsbGVyUHJvZHVjdEVkaXRhYmxlOiBib29sZWFuO1xufSkge1xuICBjb25zdCBpbWFnZVVybCA9IHJlc29sdmVPcHRpb25JbWFnZVVybChvcHRpb24sIHNlbGVjdGFibGVPcHRpb25zLCBmaWVsZE9wdGlvbnMpO1xuICBjb25zdCBsYWJlbCA9IG9wdGlvbj8udmFsdWU/LnRyaW0oKSB8fCAnJztcbiAgY29uc3QgY29zdCA9IGZvcm1hdE9wdGlvbkNvc3QocHJvZHVjdCwgb3B0aW9uLCBzZWxsZXJQcm9kdWN0RWRpdGFibGUpO1xuXG4gIHJldHVybiAoXG4gICAgPHNwYW4gY2xhc3NOYW1lPSdtZXJjaGktY2hlY2tvdXQtc3VtbWFyeS1pbWFnZS1zZWxlY3Qtb3B0aW9uJz5cbiAgICAgIHtpbWFnZVVybCA/IChcbiAgICAgICAgPGltZ1xuICAgICAgICAgIGNsYXNzTmFtZT0nbW9kYWwtbWVyY2hpLWNoZWNrb3V0LWpvYi1pbmZvLWNvbnRlbnQtaW1nJ1xuICAgICAgICAgIHNyYz17aW1hZ2VVcmx9XG4gICAgICAgICAgYWx0PXtsYWJlbCB8fCAnU2VsZWN0ZWQgb3B0aW9uJ31cbiAgICAgICAgICB0aXRsZT17bGFiZWwgfHwgdW5kZWZpbmVkfVxuICAgICAgICAvPlxuICAgICAgKSA6IG51bGx9XG4gICAgICA8c3Bhbj57bGFiZWwgfHwgJ+KAkyd9e2Nvc3QgfHwgJyd9PC9zcGFuPlxuICAgIDwvc3Bhbj5cbiAgKTtcbn1cblxuZnVuY3Rpb24gZ2V0T3B0aW9uSWQob3B0aW9uOiBhbnkpIHtcbiAgcmV0dXJuIG9wdGlvbj8ub3B0aW9uSWQgPz8gb3B0aW9uPy5pZDtcbn1cblxuZnVuY3Rpb24gcmVzb2x2ZVR1cm5hcm91bmRTZWxlY3RlZE9wdGlvbihcbiAgdmFyaWF0aW9uOiBhbnksXG4gIHNlbGVjdGFibGVPcHRpb25zOiBhbnlbXSA9IFtdLFxuICBmaWVsZE9wdGlvbnM6IGFueVtdID0gW11cbikge1xuICBjb25zdCB7IHNlbGVjdGVkT3B0aW9ucyA9IFtdLCB2YWx1ZSB9ID0gdmFyaWF0aW9uO1xuICBpZiAoc2VsZWN0ZWRPcHRpb25zLmxlbmd0aCA+IDApIHtcbiAgICByZXR1cm4gc2VsZWN0ZWRPcHRpb25zWzBdO1xuICB9XG4gIGNvbnN0IHZhbHVlU3RyID0gdmFsdWUgIT0gbnVsbCAmJiB2YWx1ZSAhPT0gJycgPyBTdHJpbmcodmFsdWUpLnRyaW0oKSA6ICcnO1xuICBpZiAoIXZhbHVlU3RyKSByZXR1cm4gbnVsbDtcblxuICBjb25zdCBwb29scyA9IFtzZWxlY3RhYmxlT3B0aW9ucywgZmllbGRPcHRpb25zXTtcbiAgZm9yIChjb25zdCBwb29sIG9mIHBvb2xzKSB7XG4gICAgY29uc3QgYnlJZCA9IHBvb2wuZmluZChcbiAgICAgIChvOiBhbnkpID0+IFN0cmluZyhnZXRPcHRpb25JZChvKSkgPT09IHZhbHVlU3RyXG4gICAgKTtcbiAgICBpZiAoYnlJZCkgcmV0dXJuIGJ5SWQ7XG4gICAgY29uc3QgYnlWYWx1ZSA9IHBvb2wuZmluZChcbiAgICAgIChvOiBhbnkpID0+IFN0cmluZyhvLnZhbHVlID8/ICcnKSA9PT0gdmFsdWVTdHJcbiAgICApO1xuICAgIGlmIChieVZhbHVlKSByZXR1cm4gYnlWYWx1ZTtcbiAgfVxuICByZXR1cm4gbnVsbDtcbn1cblxuZnVuY3Rpb24gZm9ybWF0VHVybmFyb3VuZERlYWRsaW5lKHVzZXJEZWFkbGluZTogYW55KSB7XG4gIGlmICghdXNlckRlYWRsaW5lKSByZXR1cm4gbnVsbDtcbiAgY29uc3Qgc2Vjb25kcyA9IE51bWJlcih1c2VyRGVhZGxpbmUpO1xuICBpZiAoIU51bWJlci5pc0Zpbml0ZShzZWNvbmRzKSB8fCBzZWNvbmRzIDw9IDApIHJldHVybiBudWxsO1xuICByZXR1cm4gbmV3IERhdGUoc2Vjb25kcyAqIDEwMDApLnRvTG9jYWxlRGF0ZVN0cmluZygnZW4tQVUnLCB7XG4gICAgd2Vla2RheTogJ2xvbmcnLFxuICAgIHllYXI6ICdudW1lcmljJyxcbiAgICBtb250aDogJ2xvbmcnLFxuICAgIGRheTogJ251bWVyaWMnLFxuICB9KTtcbn1cblxuZnVuY3Rpb24gVHVybmFyb3VuZE9wdGlvbkxhYmVsKHtcbiAgb3B0aW9uLFxuICB2YXJpYXRpb25GaWVsZCxcbiAgcHJvZHVjdCxcbiAgc2VsbGVyUHJvZHVjdEVkaXRhYmxlLFxufToge1xuICBvcHRpb246IGFueTtcbiAgdmFyaWF0aW9uRmllbGQ6IGFueTtcbiAgcHJvZHVjdDogYW55O1xuICBzZWxsZXJQcm9kdWN0RWRpdGFibGU6IGJvb2xlYW47XG59KSB7XG4gIGNvbnN0IGRheXMgPSBwYXJzZUludChTdHJpbmcob3B0aW9uPy52YWx1ZSA/PyAnJyksIDEwKSB8fCAwO1xuICBjb25zdCBkZWFkbGluZSA9IGZvcm1hdFR1cm5hcm91bmREZWFkbGluZShvcHRpb24/LnVzZXJEZWFkbGluZSk7XG4gIGNvbnN0IHNoaXBwaW5nVGltZUluY2x1ZGVkID0gQm9vbGVhbih2YXJpYXRpb25GaWVsZD8uc2hpcHBpbmdUaW1lSW5jbHVkZWQpO1xuICBjb25zdCBkZWFkbGluZUxhYmVsID0gc2hpcHBpbmdUaW1lSW5jbHVkZWQgPyAnRGVsaXZlcnkgYnknIDogJ1Byb2R1Y2VkIGJ5JztcbiAgY29uc3QgY29zdCA9IGZvcm1hdE9wdGlvbkNvc3QocHJvZHVjdCwgb3B0aW9uLCBzZWxsZXJQcm9kdWN0RWRpdGFibGUpO1xuXG4gIHJldHVybiAoXG4gICAgPHNwYW4gY2xhc3NOYW1lPSdtZXJjaGktY2hlY2tvdXQtc3VtbWFyeS10dXJuYXJvdW5kLXZhbHVlJz5cbiAgICAgIDxzcGFuIGNsYXNzTmFtZT0nbWVyY2hpLWNoZWNrb3V0LXN1bW1hcnktdHVybmFyb3VuZC1kYXlzJz5cbiAgICAgICAge2RheXMgPiAwXG4gICAgICAgICAgPyBgJHtkYXlzfSBidXNpbmVzcyBkYXkke2RheXMgIT09IDEgPyAncycgOiAnJ31gXG4gICAgICAgICAgOiAob3B0aW9uPy52YWx1ZT8udHJpbSgpIHx8ICfigJMnKX1cbiAgICAgIDwvc3Bhbj5cbiAgICAgIHtkZWFkbGluZSAmJiAoXG4gICAgICAgIDxzcGFuIGNsYXNzTmFtZT0nbWVyY2hpLWNoZWNrb3V0LXN1bW1hcnktdHVybmFyb3VuZC1kZWFkbGluZSc+XG4gICAgICAgICAge2RlYWRsaW5lTGFiZWx9IHtkZWFkbGluZX1cbiAgICAgICAgPC9zcGFuPlxuICAgICAgKX1cbiAgICAgIHtjb3N0IHx8ICcnfVxuICAgIDwvc3Bhbj5cbiAgKTtcbn1cblxuZnVuY3Rpb24gVmFyaWF0aW9uT3B0aW9uc0luZm9Cb2R5KHtcbiAgbmFtZSxcbiAgc2VsZWN0ZWRPcHRpb25zLFxuICBzZWxsZXJQcm9kdWN0RWRpdGFibGUsXG4gIHByb2R1Y3QsXG4gIGZpZWxkVHlwZSxcbiAgdmFyaWF0aW9uLFxuICBzZWxlY3RhYmxlT3B0aW9ucyA9IFtdLFxuICBmaWVsZE9wdGlvbnMgPSBbXSxcbn06IGFueSkge1xuICBjb25zdCBpc1R1cm5hcm91bmRUaW1lID0gZmllbGRUeXBlID09PSBGaWVsZFR5cGUuVFVSTkFST1VORF9USU1FO1xuICBjb25zdCBmaXJzdE9wdGlvbiA9IGlzVHVybmFyb3VuZFRpbWVcbiAgICA/IHJlc29sdmVUdXJuYXJvdW5kU2VsZWN0ZWRPcHRpb24oXG4gICAgICAgIHsgc2VsZWN0ZWRPcHRpb25zLCB2YWx1ZTogdmFyaWF0aW9uPy52YWx1ZSB9LFxuICAgICAgICBzZWxlY3RhYmxlT3B0aW9ucyxcbiAgICAgICAgZmllbGRPcHRpb25zXG4gICAgICApXG4gICAgOiBzZWxlY3RlZE9wdGlvbnNbMF07XG4gIGNvbnN0IGlzQ29sb3VyU2VsZWN0ID0gZmllbGRUeXBlID09PSBGaWVsZFR5cGUuQ09MT1VSX1NFTEVDVDtcbiAgY29uc3QgaXNJbWFnZVNlbGVjdCA9IGZpZWxkVHlwZSA9PT0gRmllbGRUeXBlLklNQUdFX1NFTEVDVDtcbiAgY29uc3QgdmFyaWF0aW9uRmllbGQgPSB2YXJpYXRpb24/LnZhcmlhdGlvbkZpZWxkID8/IHt9O1xuXG4gIGZ1bmN0aW9uIHJlbmRlck9wdGlvbkxhYmVsKG86IGFueSkge1xuICAgIGlmIChpc1R1cm5hcm91bmRUaW1lKSB7XG4gICAgICByZXR1cm4gKFxuICAgICAgICA8VHVybmFyb3VuZE9wdGlvbkxhYmVsXG4gICAgICAgICAgb3B0aW9uPXtvfVxuICAgICAgICAgIHZhcmlhdGlvbkZpZWxkPXt2YXJpYXRpb25GaWVsZH1cbiAgICAgICAgICBwcm9kdWN0PXtwcm9kdWN0fVxuICAgICAgICAgIHNlbGxlclByb2R1Y3RFZGl0YWJsZT17c2VsbGVyUHJvZHVjdEVkaXRhYmxlfVxuICAgICAgICAvPlxuICAgICAgKTtcbiAgICB9XG4gICAgaWYgKGlzQ29sb3VyU2VsZWN0KSB7XG4gICAgICByZXR1cm4gKFxuICAgICAgICA8Q29sb3VyU2VsZWN0T3B0aW9uXG4gICAgICAgICAgb3B0aW9uPXtvfVxuICAgICAgICAgIHNlbGVjdGFibGVPcHRpb25zPXtzZWxlY3RhYmxlT3B0aW9uc31cbiAgICAgICAgICBmaWVsZE9wdGlvbnM9e2ZpZWxkT3B0aW9uc31cbiAgICAgICAgLz5cbiAgICAgICk7XG4gICAgfVxuICAgIGlmIChpc0ltYWdlU2VsZWN0KSB7XG4gICAgICByZXR1cm4gKFxuICAgICAgICA8SW1hZ2VTZWxlY3RPcHRpb25cbiAgICAgICAgICBvcHRpb249e299XG4gICAgICAgICAgc2VsZWN0YWJsZU9wdGlvbnM9e3NlbGVjdGFibGVPcHRpb25zfVxuICAgICAgICAgIGZpZWxkT3B0aW9ucz17ZmllbGRPcHRpb25zfVxuICAgICAgICAgIHByb2R1Y3Q9e3Byb2R1Y3R9XG4gICAgICAgICAgc2VsbGVyUHJvZHVjdEVkaXRhYmxlPXtzZWxsZXJQcm9kdWN0RWRpdGFibGV9XG4gICAgICAgIC8+XG4gICAgICApO1xuICAgIH1cbiAgICByZXR1cm4gKFxuICAgICAgPD5cbiAgICAgICAge28udmFsdWU/LnRyaW0oKSB8fCAn4oCTJ31cbiAgICAgICAge2Zvcm1hdE9wdGlvbkNvc3QocHJvZHVjdCwgbywgc2VsbGVyUHJvZHVjdEVkaXRhYmxlKSB8fCAnJ31cbiAgICAgIDwvPlxuICAgICk7XG4gIH1cblxuICByZXR1cm4gKFxuICAgIDw+XG4gICAgICB7c2VsZWN0ZWRPcHRpb25zLmxlbmd0aCA+IDEgJiYgIWlzVHVybmFyb3VuZFRpbWUgPyAoXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPSdtZXJjaGktY2hlY2tvdXQtc3VtbWFyeS12YXJpYXRpb24tcm93Jz5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT0nbWVyY2hpLWNoZWNrb3V0LXN1bW1hcnktdmFyaWF0aW9uLWxhYmVsJz57bmFtZX08L2Rpdj5cbiAgICAgICAgICA8dWwgY2xhc3NOYW1lPSdtZXJjaGktY2hlY2tvdXQtc3VtbWFyeS12YXJpYXRpb24tdmFsdWUgbGlzdC11bnN0eWxlZCBtLTAnPlxuICAgICAgICAgICAge3NlbGVjdGVkT3B0aW9ucy5tYXAoKG86IGFueSwgaTogbnVtYmVyKSA9PiAoXG4gICAgICAgICAgICAgIDxsaSBrZXk9e2Ake2l9LW9wdGlvbi1rZXktJHtvLm9wdGlvbklkID8/IGl9YH0+XG4gICAgICAgICAgICAgICAge3JlbmRlck9wdGlvbkxhYmVsKG8pfVxuICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgKSl9XG4gICAgICAgICAgPC91bD5cbiAgICAgICAgPC9kaXY+XG4gICAgICApIDogZmlyc3RPcHRpb24gPyAoXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPSdtZXJjaGktY2hlY2tvdXQtc3VtbWFyeS12YXJpYXRpb24tcm93Jz5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT0nbWVyY2hpLWNoZWNrb3V0LXN1bW1hcnktdmFyaWF0aW9uLWxhYmVsJz57bmFtZX08L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT0nbWVyY2hpLWNoZWNrb3V0LXN1bW1hcnktdmFyaWF0aW9uLXZhbHVlJz5cbiAgICAgICAgICAgIHtyZW5kZXJPcHRpb25MYWJlbChmaXJzdE9wdGlvbil9XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgKSA6IChcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9J21lcmNoaS1jaGVja291dC1zdW1tYXJ5LXZhcmlhdGlvbi1yb3cnPlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPSdtZXJjaGktY2hlY2tvdXQtc3VtbWFyeS12YXJpYXRpb24tbGFiZWwnPntuYW1lfTwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPSdtZXJjaGktY2hlY2tvdXQtc3VtbWFyeS12YXJpYXRpb24tdmFsdWUnPi08L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICApfVxuICAgIDwvPlxuICApO1xufVxuXG5mdW5jdGlvbiBWYXJpYXRpb25zSW5mbyh7IHByb2R1Y3QsIHF1YW50aXR5LCB2YXJpYXRpb25zID0gW10gfTogYW55KSB7XG4gIHJldHVybiAoXG4gICAgPGRpdiBjbGFzc05hbWU9J21lcmNoaS1jaGVja291dC1zdW1tYXJ5LXZhcmlhdGlvbnMnPlxuICAgICAge3ZhcmlhdGlvbnMubWFwKCh2OiBhbnksIGk6IG51bWJlcikgPT5cbiAgICAgICAgIWlzSW5zdHJ1Y3Rpb25zVHlwZSh2LnZhcmlhdGlvbkZpZWxkLmZpZWxkVHlwZSkgPyAoXG4gICAgICAgICAgPFZhcmlhdGlvbkluZm9cbiAgICAgICAgICAgIHF1YW50aXR5PXtxdWFudGl0eX1cbiAgICAgICAgICAgIHZhcmlhdGlvbj17dn1cbiAgICAgICAgICAgIHByb2R1Y3Q9e3Byb2R1Y3R9XG4gICAgICAgICAgICBrZXk9e2l9XG4gICAgICAgICAgLz5cbiAgICAgICAgKSA6IG51bGxcbiAgICAgICl9XG4gICAgPC9kaXY+XG4gICk7XG59XG5cbmZ1bmN0aW9uIFZhcmlhdGlvbkdyb3VwSW5mbyh7XG4gIGdyb3VwLFxuICBpbmRleCxcbiAgcHJvZHVjdCxcbiAgc2hvd1NldHVwT25Vbml0UHJpY2UsXG59OiBhbnkpIHtcbiAgY29uc3QgaXNSZXNlbGwgPSBpc1Byb2R1Y3RTdXBwbGllck1PRChwcm9kdWN0KTtcbiAgY29uc3QgeyBxdWFudGl0eSwgdmFyaWF0aW9ucyB9ID0gZ3JvdXA7XG4gIGNvbnN0IHZpc2libGVWYXJpYXRpb25zID0gKHZhcmlhdGlvbnMgPz8gW10pLmZpbHRlcihcbiAgICAodjogYW55KSA9PiAhaXNJbnN0cnVjdGlvbnNUeXBlKHY/LnZhcmlhdGlvbkZpZWxkPy5maWVsZFR5cGUpXG4gICk7XG4gIGNvbnN0IGNvc3RMYWJlbCA9IGlzUmVzZWxsID8gJ1VuaXQgQ29zdCcgOiAnR3JvdXAgQ29zdCc7XG4gIGNvbnN0IHVuaXRQcmljZVZhbHVlID0gc2hvd1NldHVwT25Vbml0UHJpY2VcbiAgICA/IGZvcm1hdFVuaXRQcmljZVdpdGhTZXR1cChwcm9kdWN0KVxuICAgIDogZm9ybWF0Q29zdChwcm9kdWN0LCBOdW1iZXIocHJvZHVjdD8udW5pdFByaWNlKSB8fCAwKTtcblxuICByZXR1cm4gKFxuICAgIDxzZWN0aW9uIGNsYXNzTmFtZT0nbWVyY2hpLWNoZWNrb3V0LXN1bW1hcnktZ3JvdXAnPlxuICAgICAgPHN0cm9uZyBjbGFzc05hbWU9J21lcmNoaS1jaGVja291dC1zdW1tYXJ5LW9yZGVyLWRldGFpbC10aXRsZSc+XG4gICAgICAgIEdyb3VwIHtpbmRleCArIDF9IEluZm9ybWF0aW9uXG4gICAgICA8L3N0cm9uZz5cbiAgICAgIHshaXNSZXNlbGwgJiYgcXVhbnRpdHkgPiAwICYmIChcbiAgICAgICAgPFN1bW1hcnlGaWVsZFJvdyBsYWJlbD0nUXVhbnRpdHknIHZhbHVlPXtxdWFudGl0eX0gLz5cbiAgICAgICl9XG4gICAgICA8U3VtbWFyeUZpZWxkUm93IGxhYmVsPSdVbml0IFByaWNlJyB2YWx1ZT17dW5pdFByaWNlVmFsdWV9IC8+XG4gICAgICB7dmlzaWJsZVZhcmlhdGlvbnMubGVuZ3RoID4gMCAmJiAoXG4gICAgICAgIDxWYXJpYXRpb25zSW5mb1xuICAgICAgICAgIHF1YW50aXR5PXtxdWFudGl0eX1cbiAgICAgICAgICB2YXJpYXRpb25zPXt2YXJpYXRpb25zfVxuICAgICAgICAgIHByb2R1Y3Q9e3Byb2R1Y3R9XG4gICAgICAgIC8+XG4gICAgICApfVxuICAgICAgPHN0cm9uZyBjbGFzc05hbWU9J21lcmNoaS1jaGVja291dC1zdW1tYXJ5LWdyb3VwLWNvc3QnPlxuICAgICAgICB7Y29zdExhYmVsfToge2Zvcm1hdENvc3QocHJvZHVjdCwgZ3JvdXAuZ3JvdXBDb3N0KX1cbiAgICAgIDwvc3Ryb25nPlxuICAgIDwvc2VjdGlvbj5cbiAgKTtcbn1cblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gSm9iSW5mb0NvbnRlbnQoKSB7XG4gIGNvbnN0IHsgam9iIH0gPSB1c2VNZXJjaGlDaGVja2JvdXRDb250ZXh0KCk7XG4gIGNvbnN0IHsgcHJvZHVjdCwgcXVhbnRpdHkgPSAwLCB2YXJpYXRpb25zID0gW10sIHZhcmlhdGlvbnNHcm91cHMgPSBbXSB9ID0gam9iO1xuICBjb25zdCB7IG5lZWRzU2hpcHBpbmcgfSA9IHByb2R1Y3Q7XG4gIGNvbnN0IHRvdGFsQ29zdCA9IGN1cnJlbmN5VG90YWxDb3N0U2hvd0luY1RheChqb2IpO1xuICBjb25zdCBpc1Jlc2VsbCA9IGlzUHJvZHVjdFN1cHBsaWVyTU9EKHByb2R1Y3QpO1xuICBjb25zdCBoYXNHcm91cHMgPSB2YXJpYXRpb25zR3JvdXBzLmxlbmd0aCA+IDA7XG4gIGNvbnN0IGpvYkxldmVsVmFyaWF0aW9ucyA9ICh2YXJpYXRpb25zID8/IFtdKS5maWx0ZXIoXG4gICAgKHY6IGFueSkgPT4gIWlzSW5zdHJ1Y3Rpb25zVHlwZSh2Py52YXJpYXRpb25GaWVsZD8uZmllbGRUeXBlKVxuICApO1xuICBjb25zdCB0b3RhbFF1YW50aXR5ID0gaGFzR3JvdXBzXG4gICAgPyB2YXJpYXRpb25zR3JvdXBzLnJlZHVjZShcbiAgICAgICAgKHN1bTogbnVtYmVyLCBnOiBhbnkpID0+IHN1bSArIChOdW1iZXIoZy5xdWFudGl0eSkgfHwgMCksXG4gICAgICAgIDBcbiAgICAgIClcbiAgICA6IE51bWJlcihxdWFudGl0eSkgfHwgMDtcbiAgY29uc3Qgc2V0dXBQZXJHcm91cCA9IEJvb2xlYW4ocHJvZHVjdD8uc2V0dXBQZXJHcm91cCk7XG4gIGNvbnN0IGhhc1NldHVwUHJpY2UgPSBOdW1iZXIocHJvZHVjdD8uc2V0dXBQcmljZSkgPiAwO1xuXG4gIHJldHVybiAoXG4gICAgPGRpdiBjbGFzc05hbWU9J21vZGFsLW1lcmNoaS1jaGVja291dC1qb2ItaW5mby1jb250ZW50IG1lcmNoaS1jaGVja291dC1zdW1tYXJ5Jz5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPSdtZXJjaGktY2hlY2tvdXQtc3VtbWFyeS1zZWN0aW9uLXRpdGxlJz57cHJvZHVjdC5uYW1lfTwvZGl2PlxuICAgICAge2hhc0dyb3VwcyAmJiAoXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPSdtZXJjaGktY2hlY2tvdXQtc3VtbWFyeS1ncm91cHMnPlxuICAgICAgICAgIHt2YXJpYXRpb25zR3JvdXBzLm1hcCgoZzogYW55LCBpOiBudW1iZXIpID0+XG4gICAgICAgICAgICBnLnF1YW50aXR5ID8gKFxuICAgICAgICAgICAgICA8VmFyaWF0aW9uR3JvdXBJbmZvXG4gICAgICAgICAgICAgICAgZ3JvdXA9e2d9XG4gICAgICAgICAgICAgICAga2V5PXtgJHtpfS1qb2ItaW5mby1jb250ZW50YH1cbiAgICAgICAgICAgICAgICBpbmRleD17aX1cbiAgICAgICAgICAgICAgICBwcm9kdWN0PXtwcm9kdWN0fVxuICAgICAgICAgICAgICAgIHNob3dTZXR1cE9uVW5pdFByaWNlPXtzZXR1cFBlckdyb3VwfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKSA6IG51bGxcbiAgICAgICAgICApfVxuICAgICAgICA8L2Rpdj5cbiAgICAgICl9XG4gICAgICB7IWhhc0dyb3VwcyAmJiAoXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPSdtZXJjaGktY2hlY2tvdXQtc3VtbWFyeS1zdGFuZGFsb25lJz5cbiAgICAgICAgICA8c3Ryb25nIGNsYXNzTmFtZT0nbWVyY2hpLWNoZWNrb3V0LXN1bW1hcnktb3JkZXItZGV0YWlsLXRpdGxlJz5cbiAgICAgICAgICAgIE9yZGVyIEluZm9ybWF0aW9uXG4gICAgICAgICAgPC9zdHJvbmc+XG4gICAgICAgICAge3F1YW50aXR5ID4gMCAmJiAoXG4gICAgICAgICAgICA8U3VtbWFyeUZpZWxkUm93IGxhYmVsPSdRdWFudGl0eScgdmFsdWU9e3F1YW50aXR5fSAvPlxuICAgICAgICAgICl9XG4gICAgICAgICAgPFN1bW1hcnlGaWVsZFJvd1xuICAgICAgICAgICAgbGFiZWw9J1VuaXQgUHJpY2UnXG4gICAgICAgICAgICB2YWx1ZT17Zm9ybWF0VW5pdFByaWNlV2l0aFNldHVwKHByb2R1Y3QpfVxuICAgICAgICAgIC8+XG4gICAgICAgICAge2pvYkxldmVsVmFyaWF0aW9ucy5sZW5ndGggPiAwICYmIChcbiAgICAgICAgICAgIDxWYXJpYXRpb25zSW5mb1xuICAgICAgICAgICAgICBxdWFudGl0eT17cXVhbnRpdHl9XG4gICAgICAgICAgICAgIHZhcmlhdGlvbnM9e3ZhcmlhdGlvbnN9XG4gICAgICAgICAgICAgIHByb2R1Y3Q9e3Byb2R1Y3R9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICl9XG4gICAgICAgIDwvZGl2PlxuICAgICAgKX1cbiAgICAgIHtoYXNHcm91cHMgJiYgam9iTGV2ZWxWYXJpYXRpb25zLmxlbmd0aCA+IDAgJiYgKFxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT0nbWVyY2hpLWNoZWNrb3V0LXN1bW1hcnktc3RhbmRhbG9uZSc+XG4gICAgICAgICAgPHN0cm9uZyBjbGFzc05hbWU9J21lcmNoaS1jaGVja291dC1zdW1tYXJ5LW9yZGVyLWRldGFpbC10aXRsZSc+XG4gICAgICAgICAgICBPcmRlciBJbmZvcm1hdGlvblxuICAgICAgICAgIDwvc3Ryb25nPlxuICAgICAgICAgIDxWYXJpYXRpb25zSW5mb1xuICAgICAgICAgICAgcXVhbnRpdHk9e3F1YW50aXR5fVxuICAgICAgICAgICAgdmFyaWF0aW9ucz17dmFyaWF0aW9uc31cbiAgICAgICAgICAgIHByb2R1Y3Q9e3Byb2R1Y3R9XG4gICAgICAgICAgLz5cbiAgICAgICAgPC9kaXY+XG4gICAgICApfVxuICAgICAgeyFpc1Jlc2VsbCAmJiAoXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPSdtZXJjaGktY2hlY2tvdXQtc3VtbWFyeS10b3RhbCc+XG4gICAgICAgICAge3RvdGFsUXVhbnRpdHkgPiAwICYmIChcbiAgICAgICAgICAgIDxTdW1tYXJ5QW1vdW50Um93XG4gICAgICAgICAgICAgIGNsYXNzTmFtZT0nbWVyY2hpLWNoZWNrb3V0LXN1bW1hcnktdG90YWwtcXVhbnRpdHknXG4gICAgICAgICAgICAgIGxhYmVsPSdUb3RhbCBRdWFudGl0eSdcbiAgICAgICAgICAgICAgYW1vdW50PXt0b3RhbFF1YW50aXR5fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICApfVxuICAgICAgICAgIHtoYXNHcm91cHMgJiYgaGFzU2V0dXBQcmljZSAmJiAhc2V0dXBQZXJHcm91cCAmJiAoXG4gICAgICAgICAgICA8U3VtbWFyeUFtb3VudFJvd1xuICAgICAgICAgICAgICBsYWJlbD0nU2V0dXAnXG4gICAgICAgICAgICAgIGFtb3VudD17Zm9ybWF0Q29zdChwcm9kdWN0LCBOdW1iZXIocHJvZHVjdC5zZXR1cFByaWNlKSl9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICl9XG4gICAgICAgICAgPFN1bW1hcnlBbW91bnRSb3dcbiAgICAgICAgICAgIGxhYmVsPSdUb3RhbCBPcmRlciBDb3N0J1xuICAgICAgICAgICAgbGFiZWxFeHRyYT17XG4gICAgICAgICAgICAgIG5lZWRzU2hpcHBpbmcgPyAoXG4gICAgICAgICAgICAgICAgPHNtYWxsIGNsYXNzTmFtZT0nbWVyY2hpLWNoZWNrb3V0LXN1bW1hcnktdG90YWwtbm90ZSc+IGV4IFNoaXBtZW50PC9zbWFsbD5cbiAgICAgICAgICAgICAgKSA6IHVuZGVmaW5lZFxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYW1vdW50PXt0b3RhbENvc3R9XG4gICAgICAgICAgLz5cbiAgICAgICAgPC9kaXY+XG4gICAgICApfVxuICAgICAgeyEhKGlzUmVzZWxsICYmICFoYXNHcm91cHMpICYmIChcbiAgICAgICAgPGRpdj5cbiAgICAgICAgICA8c3Ryb25nIGNsYXNzTmFtZT0nbWItMCc+XG4gICAgICAgICAgICB7aXNSZXNlbGwgPyAnQXBwcm94aW1hdGUgVW5pdCcgOiAnVG90YWwnfSBDb3N0XG4gICAgICAgICAgPC9zdHJvbmc+eycgJ31cbiAgICAgICAgICA8c3Ryb25nIGNsYXNzTmFtZT0nbWItMCBkLWJsb2NrJz57dG90YWxDb3N0fTwvc3Ryb25nPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICl9XG4gICAgPC9kaXY+XG4gICk7XG59XG4iXSwibWFwcGluZ3MiOiJBQUFBLFlBQVk7O0FBQ1osT0FBT0EsS0FBSyxNQUFNLE9BQU87QUFDekIsU0FBU0MsU0FBUyxRQUFRLGdCQUFnQjtBQUMxQyxTQUFTQyxjQUFjLEVBQUVDLDJCQUEyQixRQUFRLFlBQVk7QUFDeEUsU0FDRUMsa0JBQWtCLEVBQ2xCQyxvQkFBb0IsRUFDcEJDLFlBQVksRUFDWkMsU0FBUyxRQUNKLFVBQVU7QUFDakIsU0FBU0MseUJBQXlCLFFBQVEsMEJBQTBCO0FBQ3BFLFNBQ0VDLGdCQUFnQixFQUNoQkMsZUFBZSxRQUNWLHlCQUF5QjtBQUFDLFNBQUFDLEdBQUEsSUFBQUMsSUFBQTtBQUFBLFNBQUFDLElBQUEsSUFBQUMsS0FBQTtBQUFBLFNBQUFDLFFBQUEsSUFBQUMsU0FBQTtBQUVqQyxTQUFTQyxVQUFVQSxD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
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "merchi_checkout",
|
|
3
|
-
"version": "1.2.
|
|
3
|
+
"version": "1.2.4",
|
|
4
4
|
"description": "Merchi's custom checkout step form",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"module": "src/index.tsx",
|
|
@@ -36,8 +36,8 @@
|
|
|
36
36
|
"lib"
|
|
37
37
|
],
|
|
38
38
|
"peerDependencies": {
|
|
39
|
-
"react": "^18.0.0",
|
|
40
|
-
"react-dom": "^18.0.0"
|
|
39
|
+
"react": "^18.0.0 || ^19.0.0",
|
|
40
|
+
"react-dom": "^18.0.0 || ^19.0.0"
|
|
41
41
|
},
|
|
42
42
|
"devDependencies": {
|
|
43
43
|
"@babel/cli": "^7.23.0",
|
|
@@ -73,8 +73,8 @@
|
|
|
73
73
|
"eslint-config-next": "13.4.16",
|
|
74
74
|
"js-cookie": "^3.0.5",
|
|
75
75
|
"lodash": "^4.17.21",
|
|
76
|
-
"merchi_invoice": "^1.2.
|
|
77
|
-
"merchi_sdk_ts": "^1.
|
|
76
|
+
"merchi_invoice": "^1.2.1",
|
|
77
|
+
"merchi_sdk_ts": "^1.23.0",
|
|
78
78
|
"react": "^18.0.0",
|
|
79
79
|
"react-addons-css-transition-group": "^15.6.2",
|
|
80
80
|
"react-country-region-selector": "^3.6.1",
|