@merchi/product-form 1.19.30 → 1.19.31

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.
@@ -1,9 +1,10 @@
1
1
  import * as React from 'react';
2
2
  interface Props {
3
3
  containerClass?: string;
4
+ columns?: number;
4
5
  disabled?: boolean;
5
6
  name?: string;
6
7
  keyName?: string;
7
8
  }
8
- declare function Variations({ containerClass, disabled, name, keyName, }: Props): React.JSX.Element;
9
+ declare function Variations({ containerClass, columns, disabled, name, keyName, }: Props): React.JSX.Element;
9
10
  export default Variations;
@@ -18,7 +18,8 @@ import DynamicVariationInput from './DynamicVariationInput';
18
18
  import { useFieldArray } from 'react-hook-form';
19
19
  import { useMerchiFormContext } from '../context/MerchiProductFormProvider';
20
20
  import { shouldHideSingleOptionSelection } from '../utils/singleOptionVariation';
21
- import { jsx as _jsx, Fragment as _Fragment } from "react/jsx-runtime";
21
+ import { clampVariationColumns, variationLayoutSpan } from '../utils/variationLayout';
22
+ import { jsx as _jsx } from "react/jsx-runtime";
22
23
  function getSelectedOptionIds(variations) {
23
24
  var ids = new Set();
24
25
  var _iterator = _createForOfIteratorHelper(variations),
@@ -40,9 +41,26 @@ function getSelectedOptionIds(variations) {
40
41
  }
41
42
  return ids;
42
43
  }
44
+ function asLayoutSpan(value) {
45
+ if (value == null || value === '') return undefined;
46
+ var parsed = typeof value === 'number' ? value : Number(value);
47
+ return Number.isFinite(parsed) ? parsed : undefined;
48
+ }
49
+ function layoutSpanForVariation(variation, product) {
50
+ var _variation$variationF, _variation$variationF2;
51
+ var direct = asLayoutSpan(variation === null || variation === void 0 || (_variation$variationF = variation.variationField) === null || _variation$variationF === void 0 ? void 0 : _variation$variationF.layoutSpan);
52
+ if (direct != null) return direct;
53
+ var id = Number(variation === null || variation === void 0 || (_variation$variationF2 = variation.variationField) === null || _variation$variationF2 === void 0 ? void 0 : _variation$variationF2.id);
54
+ if (!Number.isFinite(id)) return direct;
55
+ var fields = [].concat(_toConsumableArray((product === null || product === void 0 ? void 0 : product.independentVariationFields) || []), _toConsumableArray((product === null || product === void 0 ? void 0 : product.groupVariationFields) || []));
56
+ var field = fields.find(function (item) {
57
+ return Number(item === null || item === void 0 ? void 0 : item.id) === id;
58
+ });
59
+ return asLayoutSpan(field === null || field === void 0 ? void 0 : field.layoutSpan);
60
+ }
43
61
  function isDynamicVariationVisible(variation, selectedOptionIds) {
44
- var _variation$variationF;
45
- var selectedBy = variation === null || variation === void 0 || (_variation$variationF = variation.variationField) === null || _variation$variationF === void 0 ? void 0 : _variation$variationF.selectedBy;
62
+ var _variation$variationF3;
63
+ var selectedBy = variation === null || variation === void 0 || (_variation$variationF3 = variation.variationField) === null || _variation$variationF3 === void 0 ? void 0 : _variation$variationF3.selectedBy;
46
64
  if (!selectedBy || selectedBy.length === 0) return true;
47
65
  return selectedBy.some(function (opt) {
48
66
  return opt.id && selectedOptionIds.has(opt.id);
@@ -50,6 +68,7 @@ function isDynamicVariationVisible(variation, selectedOptionIds) {
50
68
  }
51
69
  function Variations(_ref) {
52
70
  var containerClass = _ref.containerClass,
71
+ columns = _ref.columns,
53
72
  disabled = _ref.disabled,
54
73
  _ref$name = _ref.name,
55
74
  name = _ref$name === void 0 ? 'variations' : _ref$name,
@@ -57,7 +76,8 @@ function Variations(_ref) {
57
76
  keyName = _ref$keyName === void 0 ? 'variationArrayFieldId' : _ref$keyName;
58
77
  var _useMerchiFormContext = useMerchiFormContext(),
59
78
  control = _useMerchiFormContext.control,
60
- hookForm = _useMerchiFormContext.hookForm;
79
+ hookForm = _useMerchiFormContext.hookForm,
80
+ product = _useMerchiFormContext.product;
61
81
  var watch = hookForm.watch;
62
82
  var _useFieldArray = useFieldArray({
63
83
  control: control,
@@ -70,7 +90,16 @@ function Variations(_ref) {
70
90
  // Mirror the server: group selected_options = group.variations + job.variations.
71
91
  var independentVariations = name === 'variations' ? [] : watch('variations') || [];
72
92
  var selectedOptionIds = getSelectedOptionIds([].concat(_toConsumableArray(independentVariations), _toConsumableArray(currentVariations)));
73
- return /*#__PURE__*/_jsx(_Fragment, {
93
+ var columnCount = clampVariationColumns(columns !== null && columns !== void 0 ? columns : name === 'variations' ? product === null || product === void 0 ? void 0 : product.independentVariationColumns : product === null || product === void 0 ? void 0 : product.groupVariationColumns);
94
+ if (!fields.length) return null;
95
+ // One column keeps the fields in the parent stack. A grid wrapper would
96
+ // still take a flex slot when every field is hidden.
97
+ var gridStyle = columnCount > 1 ? _defineProperty({}, '--merchi-variation-columns', String(columnCount)) : {
98
+ display: 'contents'
99
+ };
100
+ return /*#__PURE__*/_jsx("div", {
101
+ className: "merchi-embed-form_variation-grid",
102
+ style: gridStyle,
74
103
  children: fields.map(function (fieldItem, index) {
75
104
  var _current$value, _current$variationFil, _current$onceOffCost, _current$unitCost, _current$cost, _current$selectableOp, _fieldItem$variationF;
76
105
  var current = currentVariations[index];
@@ -91,10 +120,14 @@ function Variations(_ref) {
91
120
  return null;
92
121
  }
93
122
  var hideSelection = shouldHideSingleOptionSelection(variation);
123
+ var span = variationLayoutSpan(layoutSpanForVariation(variation, product), columnCount);
94
124
  return /*#__PURE__*/_jsx("fieldset", {
95
125
  className: hideSelection ? undefined : containerClass,
96
126
  name: "".concat(name, "[").concat(index, "]"),
97
127
  hidden: hideSelection,
128
+ style: hideSelection ? undefined : {
129
+ gridColumn: "span ".concat(span)
130
+ },
98
131
  children: /*#__PURE__*/_jsx(DynamicVariationInput, {
99
132
  disabled: disabled,
100
133
  index: index,
@@ -106,4 +139,4 @@ function Variations(_ref) {
106
139
  });
107
140
  }
108
141
  export default Variations;
109
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfdHlwZW9mIiwibyIsIlN5bWJvbCIsIml0ZXJhdG9yIiwiY29uc3RydWN0b3IiLCJwcm90b3R5cGUiLCJvd25LZXlzIiwiZSIsInIiLCJ0IiwiT2JqZWN0Iiwia2V5cyIsImdldE93blByb3BlcnR5U3ltYm9scyIsImZpbHRlciIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImVudW1lcmFibGUiLCJwdXNoIiwiYXBwbHkiLCJfb2JqZWN0U3ByZWFkIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwiZm9yRWFjaCIsIl9kZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvcnMiLCJkZWZpbmVQcm9wZXJ0aWVzIiwiZGVmaW5lUHJvcGVydHkiLCJfdG9Qcm9wZXJ0eUtleSIsInZhbHVlIiwiY29uZmlndXJhYmxlIiwid3JpdGFibGUiLCJpIiwiX3RvUHJpbWl0aXZlIiwidG9QcmltaXRpdmUiLCJjYWxsIiwiVHlwZUVycm9yIiwiU3RyaW5nIiwiTnVtYmVyIiwiX3RvQ29uc3VtYWJsZUFycmF5IiwiX2FycmF5V2l0aG91dEhvbGVzIiwiX2l0ZXJhYmxlVG9BcnJheSIsIl91bnN1cHBvcnRlZEl0ZXJhYmxlVG9BcnJheSIsIl9ub25JdGVyYWJsZVNwcmVhZCIsIkFycmF5IiwiZnJvbSIsImlzQXJyYXkiLCJfYXJyYXlMaWtlVG9BcnJheSIsIl9jcmVhdGVGb3JPZkl0ZXJhdG9ySGVscGVyIiwiX24iLCJGIiwicyIsIm4iLCJkb25lIiwiZiIsImEiLCJ1IiwibmV4dCIsInRvU3RyaW5nIiwic2xpY2UiLCJuYW1lIiwidGVzdCIsIlJlYWN0IiwiRHluYW1pY1ZhcmlhdGlvbklucHV0IiwidXNlRmllbGRBcnJheSIsInVzZU1lcmNoaUZvcm1Db250ZXh0Iiwic2hvdWxkSGlkZVNpbmdsZU9wdGlvblNlbGVjdGlvbiIsImpzeCIsIl9qc3giLCJGcmFnbWVudCIsIl9GcmFnbWVudCIsImdldFNlbGVjdGVkT3B0aW9uSWRzIiwidmFyaWF0aW9ucyIsImlkcyIsIlNldCIsIl9pdGVyYXRvciIsIl9zdGVwIiwidmFyaWF0aW9uIiwic3BsaXQiLCJpZCIsInBhcnNlZCIsInBhcnNlSW50IiwidHJpbSIsImlzTmFOIiwiYWRkIiwiZXJyIiwiaXNEeW5hbWljVmFyaWF0aW9uVmlzaWJsZSIsInNlbGVjdGVkT3B0aW9uSWRzIiwiX3ZhcmlhdGlvbiR2YXJpYXRpb25GIiwic2VsZWN0ZWRCeSIsInZhcmlhdGlvbkZpZWxkIiwic29tZSIsIm9wdCIsImhhcyIsIlZhcmlhdGlvbnMiLCJfcmVmIiwiY29udGFpbmVyQ2xhc3MiLCJkaXNhYmxlZCIsIl9yZWYkbmFtZSIsIl9yZWYka2V5TmFtZSIsImtleU5hbWUiLCJfdXNlTWVyY2hpRm9ybUNvbnRleHQiLCJjb250cm9sIiwiaG9va0Zvcm0iLCJ3YXRjaCIsIl91c2VGaWVsZEFycmF5IiwiZmllbGRzIiwiY3VycmVudFZhcmlhdGlvbnMiLCJpbmRlcGVuZGVudFZhcmlhdGlvbnMiLCJjb25jYXQiLCJjaGlsZHJlbiIsIm1hcCIsImZpZWxkSXRlbSIsImluZGV4IiwiX2N1cnJlbnQkdmFsdWUiLCJfY3VycmVudCR2YXJpYXRpb25GaWwiLCJfY3VycmVudCRvbmNlT2ZmQ29zdCIsIl9jdXJyZW50JHVuaXRDb3N0IiwiX2N1cnJlbnQkY29zdCIsIl9jdXJyZW50JHNlbGVjdGFibGVPcCIsIl9maWVsZEl0ZW0kdmFyaWF0aW9uRiIsImN1cnJlbnQiLCJ2YXJpYXRpb25GaWxlcyIsIm9uY2VPZmZDb3N0IiwidW5pdENvc3QiLCJjb3N0Iiwic2VsZWN0YWJsZU9wdGlvbnMiLCJoaWRlU2VsZWN0aW9uIiwiY2xhc3NOYW1lIiwidW5kZWZpbmVkIiwiaGlkZGVuIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbXBvbmVudHMvVmFyaWF0aW9ucy50c3giXSwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBjbGllbnQnO1xuaW1wb3J0ICogYXMgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IER5bmFtaWNWYXJpYXRpb25JbnB1dCBmcm9tICcuL0R5bmFtaWNWYXJpYXRpb25JbnB1dCc7XG5pbXBvcnQgeyB1c2VGaWVsZEFycmF5IH0gZnJvbSAncmVhY3QtaG9vay1mb3JtJztcbmltcG9ydCB7IHVzZU1lcmNoaUZvcm1Db250ZXh0IH0gZnJvbSAnLi4vY29udGV4dC9NZXJjaGlQcm9kdWN0Rm9ybVByb3ZpZGVyJztcbmltcG9ydCB7IHNob3VsZEhpZGVTaW5nbGVPcHRpb25TZWxlY3Rpb24gfSBmcm9tICcuLi91dGlscy9zaW5nbGVPcHRpb25WYXJpYXRpb24nO1xuXG5pbnRlcmZhY2UgUHJvcHMge1xuICBjb250YWluZXJDbGFzcz86IHN0cmluZztcbiAgZGlzYWJsZWQ/OiBib29sZWFuO1xuICBuYW1lPzogc3RyaW5nO1xuICBrZXlOYW1lPzogc3RyaW5nO1xufVxuXG5mdW5jdGlvbiBnZXRTZWxlY3RlZE9wdGlvbklkcyh2YXJpYXRpb25zOiBhbnlbXSk6IFNldDxudW1iZXI+IHtcbiAgY29uc3QgaWRzID0gbmV3IFNldDxudW1iZXI+KCk7XG4gIGZvciAoY29uc3QgdmFyaWF0aW9uIG9mIHZhcmlhdGlvbnMpIHtcbiAgICBjb25zdCB7IHZhbHVlIH0gPSB2YXJpYXRpb247XG4gICAgaWYgKCF2YWx1ZSkgY29udGludWU7XG4gICAgU3RyaW5nKHZhbHVlKS5zcGxpdCgnLCcpLmZvckVhY2goKGlkOiBzdHJpbmcpID0+IHtcbiAgICAgIGNvbnN0IHBhcnNlZCA9IHBhcnNlSW50KGlkLnRyaW0oKSwgMTApO1xuICAgICAgaWYgKCFpc05hTihwYXJzZWQpKSBpZHMuYWRkKHBhcnNlZCk7XG4gICAgfSk7XG4gIH1cbiAgcmV0dXJuIGlkcztcbn1cblxuZnVuY3Rpb24gaXNEeW5hbWljVmFyaWF0aW9uVmlzaWJsZShcbiAgdmFyaWF0aW9uOiBhbnksXG4gIHNlbGVjdGVkT3B0aW9uSWRzOiBTZXQ8bnVtYmVyPixcbik6IGJvb2xlYW4ge1xuICBjb25zdCBzZWxlY3RlZEJ5OiBhbnlbXSA9IHZhcmlhdGlvbj8udmFyaWF0aW9uRmllbGQ/LnNlbGVjdGVkQnk7XG4gIGlmICghc2VsZWN0ZWRCeSB8fCBzZWxlY3RlZEJ5Lmxlbmd0aCA9PT0gMCkgcmV0dXJuIHRydWU7XG4gIHJldHVybiBzZWxlY3RlZEJ5LnNvbWUoKG9wdDogYW55KSA9PiBvcHQuaWQgJiYgc2VsZWN0ZWRPcHRpb25JZHMuaGFzKG9wdC5pZCkpO1xufVxuXG5mdW5jdGlvbiBWYXJpYXRpb25zKHtcbiAgY29udGFpbmVyQ2xhc3MsXG4gIGRpc2FibGVkLFxuICBuYW1lID0gJ3ZhcmlhdGlvbnMnLFxuICBrZXlOYW1lID0gJ3ZhcmlhdGlvbkFycmF5RmllbGRJZCcsXG59OiBQcm9wcykge1xuICBjb25zdCB7IGNvbnRyb2wsIGhvb2tGb3JtIH0gPSB1c2VNZXJjaGlGb3JtQ29udGV4dCgpO1xuICBjb25zdCB7IHdhdGNoIH0gPSBob29rRm9ybTtcbiAgY29uc3QgeyBmaWVsZHMgfSA9IHVzZUZpZWxkQXJyYXkoeyBjb250cm9sLCBrZXlOYW1lLCBuYW1lIH0pO1xuICBjb25zdCBjdXJyZW50VmFyaWF0aW9uczogYW55W10gPSB3YXRjaChuYW1lKSB8fCBbXTtcbiAgLy8gR3JvdXAgZmllbGRzIGNhbiBiZSBnYXRlZCBieSBpbmRlcGVuZGVudCBvcHRpb25zIChhbmQgdmljZSB2ZXJzYSBpcyByYXJlKS5cbiAgLy8gTWlycm9yIHRoZSBzZXJ2ZXI6IGdyb3VwIHNlbGVjdGVkX29wdGlvbnMgPSBncm91cC52YXJpYXRpb25zICsgam9iLnZhcmlhdGlvbnMuXG4gIGNvbnN0IGluZGVwZW5kZW50VmFyaWF0aW9uczogYW55W10gPVxuICAgIG5hbWUgPT09ICd2YXJpYXRpb25zJyA/IFtdIDogd2F0Y2goJ3ZhcmlhdGlvbnMnKSB8fCBbXTtcbiAgY29uc3Qgc2VsZWN0ZWRPcHRpb25JZHMgPSBnZXRTZWxlY3RlZE9wdGlvbklkcyhbXG4gICAgLi4uaW5kZXBlbmRlbnRWYXJpYXRpb25zLFxuICAgIC4uLmN1cnJlbnRWYXJpYXRpb25zLFxuICBdKTtcbiAgcmV0dXJuIChcbiAgICA8PlxuICAgICAge2ZpZWxkcy5tYXAoKGZpZWxkSXRlbTogYW55LCBpbmRleDogbnVtYmVyKSA9PiB7XG4gICAgICAgIGNvbnN0IGN1cnJlbnQgPSBjdXJyZW50VmFyaWF0aW9uc1tpbmRleF07XG4gICAgICAgIC8vIEZpZWxkLWFycmF5IGl0ZW1zIGFyZSB0aGUgc291cmNlIG9mIHRydXRoIGZvciB2YXJpYXRpb25GaWVsZCAvXG4gICAgICAgIC8vIHNlbGVjdGFibGVPcHRpb25zLiBXYXRjaGVkIHZhbHVlcyBjYW4gb21pdCB0aG9zZSBhZnRlciBhIHZhbHVlLW9ubHlcbiAgICAgICAgLy8gdXBkYXRlOyBuZXZlciBsZXQgdGhhdCBzdHJpcCBtZXRhZGF0YSBvciB0aGUgaW5wdXQgdHJlZSBjcmFzaGVzIGFuZFxuICAgICAgICAvLyB0aGUgZm9ybSBjb2xsYXBzZXMuXG4gICAgICAgIGNvbnN0IHZhcmlhdGlvbiA9IHtcbiAgICAgICAgICAuLi5maWVsZEl0ZW0sXG4gICAgICAgICAgdmFsdWU6IGN1cnJlbnQ/LnZhbHVlID8/IGZpZWxkSXRlbS52YWx1ZSxcbiAgICAgICAgICB2YXJpYXRpb25GaWxlczogY3VycmVudD8udmFyaWF0aW9uRmlsZXMgPz8gZmllbGRJdGVtLnZhcmlhdGlvbkZpbGVzLFxuICAgICAgICAgIG9uY2VPZmZDb3N0OiBjdXJyZW50Py5vbmNlT2ZmQ29zdCA/PyBmaWVsZEl0ZW0ub25jZU9mZkNvc3QsXG4gICAgICAgICAgdW5pdENvc3Q6IGN1cnJlbnQ/LnVuaXRDb3N0ID8/IGZpZWxkSXRlbS51bml0Q29zdCxcbiAgICAgICAgICBjb3N0OiBjdXJyZW50Py5jb3N0ID8/IGZpZWxkSXRlbS5jb3N0LFxuICAgICAgICAgIHNlbGVjdGFibGVPcHRpb25zOlxuICAgICAgICAgICAgY3VycmVudD8uc2VsZWN0YWJsZU9wdGlvbnMgPz8gZmllbGRJdGVtLnNlbGVjdGFibGVPcHRpb25zLFxuICAgICAgICAgIHZhcmlhdGlvbkZpZWxkOiBmaWVsZEl0ZW0udmFyaWF0aW9uRmllbGQgPz8gY3VycmVudD8udmFyaWF0aW9uRmllbGQsXG4gICAgICAgIH07XG4gICAgICAgIGlmICghaXNEeW5hbWljVmFyaWF0aW9uVmlzaWJsZSh2YXJpYXRpb24sIHNlbGVjdGVkT3B0aW9uSWRzKSkge1xuICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGhpZGVTZWxlY3Rpb24gPSBzaG91bGRIaWRlU2luZ2xlT3B0aW9uU2VsZWN0aW9uKHZhcmlhdGlvbik7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgPGZpZWxkc2V0XG4gICAgICAgICAgICBjbGFzc05hbWU9e2hpZGVTZWxlY3Rpb24gPyB1bmRlZmluZWQgOiBjb250YWluZXJDbGFzc31cbiAgICAgICAgICAgIGtleT17ZmllbGRJdGVtW2tleU5hbWVdfVxuICAgICAgICAgICAgbmFtZT17YCR7bmFtZX1bJHtpbmRleH1dYH1cbiAgICAgICAgICAgIGhpZGRlbj17aGlkZVNlbGVjdGlvbn1cbiAgICAgICAgICA+XG4gICAgICAgICAgICA8RHluYW1pY1ZhcmlhdGlvbklucHV0XG4gICAgICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgICAgICAgaW5kZXg9e2luZGV4fVxuICAgICAgICAgICAgICBuYW1lPXtuYW1lfVxuICAgICAgICAgICAgICB2YXJpYXRpb249e3ZhcmlhdGlvbn1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9maWVsZHNldD5cbiAgICAgICAgKTtcbiAgICAgIH0pfVxuICAgIDwvPlxuICApO1xufVxuXG5leHBvcnQgZGVmYXVsdCBWYXJpYXRpb25zO1xuIl0sIm1hcHBpbmdzIjoiQUFBQSxZQUFZOztBQUFDLFNBQUFBLFFBQUFDLENBQUEsc0NBQUFELE9BQUEsd0JBQUFFLE1BQUEsdUJBQUFBLE1BQUEsQ0FBQUMsUUFBQSxhQUFBRixDQUFBLGtCQUFBQSxDQUFBLGdCQUFBQSxDQUFBLFdBQUFBLENBQUEseUJBQUFDLE1BQUEsSUFBQUQsQ0FBQSxDQUFB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
142
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfdHlwZW9mIiwibyIsIlN5bWJvbCIsIml0ZXJhdG9yIiwiY29uc3RydWN0b3IiLCJwcm90b3R5cGUiLCJvd25LZXlzIiwiZSIsInIiLCJ0IiwiT2JqZWN0Iiwia2V5cyIsImdldE93blByb3BlcnR5U3ltYm9scyIsImZpbHRlciIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImVudW1lcmFibGUiLCJwdXNoIiwiYXBwbHkiLCJfb2JqZWN0U3ByZWFkIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwiZm9yRWFjaCIsIl9kZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvcnMiLCJkZWZpbmVQcm9wZXJ0aWVzIiwiZGVmaW5lUHJvcGVydHkiLCJfdG9Qcm9wZXJ0eUtleSIsInZhbHVlIiwiY29uZmlndXJhYmxlIiwid3JpdGFibGUiLCJpIiwiX3RvUHJpbWl0aXZlIiwidG9QcmltaXRpdmUiLCJjYWxsIiwiVHlwZUVycm9yIiwiU3RyaW5nIiwiTnVtYmVyIiwiX3RvQ29uc3VtYWJsZUFycmF5IiwiX2FycmF5V2l0aG91dEhvbGVzIiwiX2l0ZXJhYmxlVG9BcnJheSIsIl91bnN1cHBvcnRlZEl0ZXJhYmxlVG9BcnJheSIsIl9ub25JdGVyYWJsZVNwcmVhZCIsIkFycmF5IiwiZnJvbSIsImlzQXJyYXkiLCJfYXJyYXlMaWtlVG9BcnJheSIsIl9jcmVhdGVGb3JPZkl0ZXJhdG9ySGVscGVyIiwiX24iLCJGIiwicyIsIm4iLCJkb25lIiwiZiIsImEiLCJ1IiwibmV4dCIsInRvU3RyaW5nIiwic2xpY2UiLCJuYW1lIiwidGVzdCIsIlJlYWN0IiwiRHluYW1pY1ZhcmlhdGlvbklucHV0IiwidXNlRmllbGRBcnJheSIsInVzZU1lcmNoaUZvcm1Db250ZXh0Iiwic2hvdWxkSGlkZVNpbmdsZU9wdGlvblNlbGVjdGlvbiIsImNsYW1wVmFyaWF0aW9uQ29sdW1ucyIsInZhcmlhdGlvbkxheW91dFNwYW4iLCJqc3giLCJfanN4IiwiZ2V0U2VsZWN0ZWRPcHRpb25JZHMiLCJ2YXJpYXRpb25zIiwiaWRzIiwiU2V0IiwiX2l0ZXJhdG9yIiwiX3N0ZXAiLCJ2YXJpYXRpb24iLCJzcGxpdCIsImlkIiwicGFyc2VkIiwicGFyc2VJbnQiLCJ0cmltIiwiaXNOYU4iLCJhZGQiLCJlcnIiLCJhc0xheW91dFNwYW4iLCJ1bmRlZmluZWQiLCJpc0Zpbml0ZSIsImxheW91dFNwYW5Gb3JWYXJpYXRpb24iLCJwcm9kdWN0IiwiX3ZhcmlhdGlvbiR2YXJpYXRpb25GIiwiX3ZhcmlhdGlvbiR2YXJpYXRpb25GMiIsImRpcmVjdCIsInZhcmlhdGlvbkZpZWxkIiwibGF5b3V0U3BhbiIsImZpZWxkcyIsImNvbmNhdCIsImluZGVwZW5kZW50VmFyaWF0aW9uRmllbGRzIiwiZ3JvdXBWYXJpYXRpb25GaWVsZHMiLCJmaWVsZCIsImZpbmQiLCJpdGVtIiwiaXNEeW5hbWljVmFyaWF0aW9uVmlzaWJsZSIsInNlbGVjdGVkT3B0aW9uSWRzIiwiX3ZhcmlhdGlvbiR2YXJpYXRpb25GMyIsInNlbGVjdGVkQnkiLCJzb21lIiwib3B0IiwiaGFzIiwiVmFyaWF0aW9ucyIsIl9yZWYiLCJjb250YWluZXJDbGFzcyIsImNvbHVtbnMiLCJkaXNhYmxlZCIsIl9yZWYkbmFtZSIsIl9yZWYka2V5TmFtZSIsImtleU5hbWUiLCJfdXNlTWVyY2hpRm9ybUNvbnRleHQiLCJjb250cm9sIiwiaG9va0Zvcm0iLCJ3YXRjaCIsIl91c2VGaWVsZEFycmF5IiwiY3VycmVudFZhcmlhdGlvbnMiLCJpbmRlcGVuZGVudFZhcmlhdGlvbnMiLCJjb2x1bW5Db3VudCIsImluZGVwZW5kZW50VmFyaWF0aW9uQ29sdW1ucyIsImdyb3VwVmFyaWF0aW9uQ29sdW1ucyIsImdyaWRTdHlsZSIsImRpc3BsYXkiLCJjbGFzc05hbWUiLCJzdHlsZSIsImNoaWxkcmVuIiwibWFwIiwiZmllbGRJdGVtIiwiaW5kZXgiLCJfY3VycmVudCR2YWx1ZSIsIl9jdXJyZW50JHZhcmlhdGlvbkZpbCIsIl9jdXJyZW50JG9uY2VPZmZDb3N0IiwiX2N1cnJlbnQkdW5pdENvc3QiLCJfY3VycmVudCRjb3N0IiwiX2N1cnJlbnQkc2VsZWN0YWJsZU9wIiwiX2ZpZWxkSXRlbSR2YXJpYXRpb25GIiwiY3VycmVudCIsInZhcmlhdGlvbkZpbGVzIiwib25jZU9mZkNvc3QiLCJ1bml0Q29zdCIsImNvc3QiLCJzZWxlY3RhYmxlT3B0aW9ucyIsImhpZGVTZWxlY3Rpb24iLCJzcGFuIiwiaGlkZGVuIiwiZ3JpZENvbHVtbiJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21wb25lbnRzL1ZhcmlhdGlvbnMudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIid1c2UgY2xpZW50JztcbmltcG9ydCAqIGFzIFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBEeW5hbWljVmFyaWF0aW9uSW5wdXQgZnJvbSAnLi9EeW5hbWljVmFyaWF0aW9uSW5wdXQnO1xuaW1wb3J0IHsgdXNlRmllbGRBcnJheSB9IGZyb20gJ3JlYWN0LWhvb2stZm9ybSc7XG5pbXBvcnQgeyB1c2VNZXJjaGlGb3JtQ29udGV4dCB9IGZyb20gJy4uL2NvbnRleHQvTWVyY2hpUHJvZHVjdEZvcm1Qcm92aWRlcic7XG5pbXBvcnQgeyBzaG91bGRIaWRlU2luZ2xlT3B0aW9uU2VsZWN0aW9uIH0gZnJvbSAnLi4vdXRpbHMvc2luZ2xlT3B0aW9uVmFyaWF0aW9uJztcbmltcG9ydCB7XG4gIGNsYW1wVmFyaWF0aW9uQ29sdW1ucyxcbiAgdmFyaWF0aW9uTGF5b3V0U3Bhbixcbn0gZnJvbSAnLi4vdXRpbHMvdmFyaWF0aW9uTGF5b3V0JztcblxuaW50ZXJmYWNlIFByb3BzIHtcbiAgY29udGFpbmVyQ2xhc3M/OiBzdHJpbmc7XG4gIGNvbHVtbnM/OiBudW1iZXI7XG4gIGRpc2FibGVkPzogYm9vbGVhbjtcbiAgbmFtZT86IHN0cmluZztcbiAga2V5TmFtZT86IHN0cmluZztcbn1cblxuZnVuY3Rpb24gZ2V0U2VsZWN0ZWRPcHRpb25JZHModmFyaWF0aW9uczogYW55W10pOiBTZXQ8bnVtYmVyPiB7XG4gIGNvbnN0IGlkcyA9IG5ldyBTZXQ8bnVtYmVyPigpO1xuICBmb3IgKGNvbnN0IHZhcmlhdGlvbiBvZiB2YXJpYXRpb25zKSB7XG4gICAgY29uc3QgeyB2YWx1ZSB9ID0gdmFyaWF0aW9uO1xuICAgIGlmICghdmFsdWUpIGNvbnRpbnVlO1xuICAgIFN0cmluZyh2YWx1ZSkuc3BsaXQoJywnKS5mb3JFYWNoKChpZDogc3RyaW5nKSA9PiB7XG4gICAgICBjb25zdCBwYXJzZWQgPSBwYXJzZUludChpZC50cmltKCksIDEwKTtcbiAgICAgIGlmICghaXNOYU4ocGFyc2VkKSkgaWRzLmFkZChwYXJzZWQpO1xuICAgIH0pO1xuICB9XG4gIHJldHVybiBpZHM7XG59XG5cbmZ1bmN0aW9uIGFzTGF5b3V0U3Bhbih2YWx1ZTogdW5rbm93bik6IG51bWJlciB8IG51bGwgfCB1bmRlZmluZWQge1xuICBpZiAodmFsdWUgPT0gbnVsbCB8fCB2YWx1ZSA9PT0gJycpIHJldHVybiB1bmRlZmluZWQ7XG4gIGNvbnN0IHBhcnNlZCA9IHR5cGVvZiB2YWx1ZSA9PT0gJ251bWJlcicgPyB2YWx1ZSA6IE51bWJlcih2YWx1ZSk7XG4gIHJldHVybiBOdW1iZXIuaXNGaW5pdGUocGFyc2VkKSA/IHBhcnNlZCA6IHVuZGVmaW5lZDtcbn1cblxuZnVuY3Rpb24gbGF5b3V0U3BhbkZvclZhcmlhdGlvbihcbiAgdmFyaWF0aW9uOiBhbnksXG4gIHByb2R1Y3Q6IGFueSxcbik6IG51bWJlciB8IG51bGwgfCB1bmRlZmluZWQge1xuICBjb25zdCBkaXJlY3QgPSBhc0xheW91dFNwYW4odmFyaWF0aW9uPy52YXJpYXRpb25GaWVsZD8ubGF5b3V0U3Bhbik7XG4gIGlmIChkaXJlY3QgIT0gbnVsbCkgcmV0dXJuIGRpcmVjdDtcbiAgY29uc3QgaWQgPSBOdW1iZXIodmFyaWF0aW9uPy52YXJpYXRpb25GaWVsZD8uaWQpO1xuICBpZiAoIU51bWJlci5pc0Zpbml0ZShpZCkpIHJldHVybiBkaXJlY3Q7XG4gIGNvbnN0IGZpZWxkcyA9IFtcbiAgICAuLi4ocHJvZHVjdD8uaW5kZXBlbmRlbnRWYXJpYXRpb25GaWVsZHMgfHwgW10pLFxuICAgIC4uLihwcm9kdWN0Py5ncm91cFZhcmlhdGlvbkZpZWxkcyB8fCBbXSksXG4gIF07XG4gIGNvbnN0IGZpZWxkID0gZmllbGRzLmZpbmQoKGl0ZW06IGFueSkgPT4gTnVtYmVyKGl0ZW0/LmlkKSA9PT0gaWQpO1xuICByZXR1cm4gYXNMYXlvdXRTcGFuKGZpZWxkPy5sYXlvdXRTcGFuKTtcbn1cblxuZnVuY3Rpb24gaXNEeW5hbWljVmFyaWF0aW9uVmlzaWJsZShcbiAgdmFyaWF0aW9uOiBhbnksXG4gIHNlbGVjdGVkT3B0aW9uSWRzOiBTZXQ8bnVtYmVyPixcbik6IGJvb2xlYW4ge1xuICBjb25zdCBzZWxlY3RlZEJ5OiBhbnlbXSA9IHZhcmlhdGlvbj8udmFyaWF0aW9uRmllbGQ/LnNlbGVjdGVkQnk7XG4gIGlmICghc2VsZWN0ZWRCeSB8fCBzZWxlY3RlZEJ5Lmxlbmd0aCA9PT0gMCkgcmV0dXJuIHRydWU7XG4gIHJldHVybiBzZWxlY3RlZEJ5LnNvbWUoKG9wdDogYW55KSA9PiBvcHQuaWQgJiYgc2VsZWN0ZWRPcHRpb25JZHMuaGFzKG9wdC5pZCkpO1xufVxuXG5mdW5jdGlvbiBWYXJpYXRpb25zKHtcbiAgY29udGFpbmVyQ2xhc3MsXG4gIGNvbHVtbnMsXG4gIGRpc2FibGVkLFxuICBuYW1lID0gJ3ZhcmlhdGlvbnMnLFxuICBrZXlOYW1lID0gJ3ZhcmlhdGlvbkFycmF5RmllbGRJZCcsXG59OiBQcm9wcykge1xuICBjb25zdCB7IGNvbnRyb2wsIGhvb2tGb3JtLCBwcm9kdWN0IH0gPSB1c2VNZXJjaGlGb3JtQ29udGV4dCgpO1xuICBjb25zdCB7IHdhdGNoIH0gPSBob29rRm9ybTtcbiAgY29uc3QgeyBmaWVsZHMgfSA9IHVzZUZpZWxkQXJyYXkoeyBjb250cm9sLCBrZXlOYW1lLCBuYW1lIH0pO1xuICBjb25zdCBjdXJyZW50VmFyaWF0aW9uczogYW55W10gPSB3YXRjaChuYW1lKSB8fCBbXTtcbiAgLy8gR3JvdXAgZmllbGRzIGNhbiBiZSBnYXRlZCBieSBpbmRlcGVuZGVudCBvcHRpb25zIChhbmQgdmljZSB2ZXJzYSBpcyByYXJlKS5cbiAgLy8gTWlycm9yIHRoZSBzZXJ2ZXI6IGdyb3VwIHNlbGVjdGVkX29wdGlvbnMgPSBncm91cC52YXJpYXRpb25zICsgam9iLnZhcmlhdGlvbnMuXG4gIGNvbnN0IGluZGVwZW5kZW50VmFyaWF0aW9uczogYW55W10gPVxuICAgIG5hbWUgPT09ICd2YXJpYXRpb25zJyA/IFtdIDogd2F0Y2goJ3ZhcmlhdGlvbnMnKSB8fCBbXTtcbiAgY29uc3Qgc2VsZWN0ZWRPcHRpb25JZHMgPSBnZXRTZWxlY3RlZE9wdGlvbklkcyhbXG4gICAgLi4uaW5kZXBlbmRlbnRWYXJpYXRpb25zLFxuICAgIC4uLmN1cnJlbnRWYXJpYXRpb25zLFxuICBdKTtcbiAgY29uc3QgY29sdW1uQ291bnQgPSBjbGFtcFZhcmlhdGlvbkNvbHVtbnMoXG4gICAgY29sdW1ucyA/P1xuICAgICAgKG5hbWUgPT09ICd2YXJpYXRpb25zJ1xuICAgICAgICA/IHByb2R1Y3Q/LmluZGVwZW5kZW50VmFyaWF0aW9uQ29sdW1uc1xuICAgICAgICA6IHByb2R1Y3Q/Lmdyb3VwVmFyaWF0aW9uQ29sdW1ucyksXG4gICk7XG4gIGlmICghZmllbGRzLmxlbmd0aCkgcmV0dXJuIG51bGw7XG4gIC8vIE9uZSBjb2x1bW4ga2VlcHMgdGhlIGZpZWxkcyBpbiB0aGUgcGFyZW50IHN0YWNrLiBBIGdyaWQgd3JhcHBlciB3b3VsZFxuICAvLyBzdGlsbCB0YWtlIGEgZmxleCBzbG90IHdoZW4gZXZlcnkgZmllbGQgaXMgaGlkZGVuLlxuICBjb25zdCBncmlkU3R5bGU6IFJlYWN0LkNTU1Byb3BlcnRpZXMgPSBjb2x1bW5Db3VudCA+IDFcbiAgICA/IHsgWyctLW1lcmNoaS12YXJpYXRpb24tY29sdW1ucycgYXMgc3RyaW5nXTogU3RyaW5nKGNvbHVtbkNvdW50KSB9XG4gICAgOiB7IGRpc3BsYXk6ICdjb250ZW50cycgfTtcbiAgcmV0dXJuIChcbiAgICA8ZGl2XG4gICAgICBjbGFzc05hbWU9XCJtZXJjaGktZW1iZWQtZm9ybV92YXJpYXRpb24tZ3JpZFwiXG4gICAgICBzdHlsZT17Z3JpZFN0eWxlfVxuICAgID5cbiAgICAgIHtmaWVsZHMubWFwKChmaWVsZEl0ZW06IGFueSwgaW5kZXg6IG51bWJlcikgPT4ge1xuICAgICAgICBjb25zdCBjdXJyZW50ID0gY3VycmVudFZhcmlhdGlvbnNbaW5kZXhdO1xuICAgICAgICAvLyBGaWVsZC1hcnJheSBpdGVtcyBhcmUgdGhlIHNvdXJjZSBvZiB0cnV0aCBmb3IgdmFyaWF0aW9uRmllbGQgL1xuICAgICAgICAvLyBzZWxlY3RhYmxlT3B0aW9ucy4gV2F0Y2hlZCB2YWx1ZXMgY2FuIG9taXQgdGhvc2UgYWZ0ZXIgYSB2YWx1ZS1vbmx5XG4gICAgICAgIC8vIHVwZGF0ZTsgbmV2ZXIgbGV0IHRoYXQgc3RyaXAgbWV0YWRhdGEgb3IgdGhlIGlucHV0IHRyZWUgY3Jhc2hlcyBhbmRcbiAgICAgICAgLy8gdGhlIGZvcm0gY29sbGFwc2VzLlxuICAgICAgICBjb25zdCB2YXJpYXRpb24gPSB7XG4gICAgICAgICAgLi4uZmllbGRJdGVtLFxuICAgICAgICAgIHZhbHVlOiBjdXJyZW50Py52YWx1ZSA/PyBmaWVsZEl0ZW0udmFsdWUsXG4gICAgICAgICAgdmFyaWF0aW9uRmlsZXM6IGN1cnJlbnQ/LnZhcmlhdGlvbkZpbGVzID8/IGZpZWxkSXRlbS52YXJpYXRpb25GaWxlcyxcbiAgICAgICAgICBvbmNlT2ZmQ29zdDogY3VycmVudD8ub25jZU9mZkNvc3QgPz8gZmllbGRJdGVtLm9uY2VPZmZDb3N0LFxuICAgICAgICAgIHVuaXRDb3N0OiBjdXJyZW50Py51bml0Q29zdCA/PyBmaWVsZEl0ZW0udW5pdENvc3QsXG4gICAgICAgICAgY29zdDogY3VycmVudD8uY29zdCA/PyBmaWVsZEl0ZW0uY29zdCxcbiAgICAgICAgICBzZWxlY3RhYmxlT3B0aW9uczpcbiAgICAgICAgICAgIGN1cnJlbnQ/LnNlbGVjdGFibGVPcHRpb25zID8/IGZpZWxkSXRlbS5zZWxlY3RhYmxlT3B0aW9ucyxcbiAgICAgICAgICB2YXJpYXRpb25GaWVsZDogZmllbGRJdGVtLnZhcmlhdGlvbkZpZWxkID8/IGN1cnJlbnQ/LnZhcmlhdGlvbkZpZWxkLFxuICAgICAgICB9O1xuICAgICAgICBpZiAoIWlzRHluYW1pY1ZhcmlhdGlvblZpc2libGUodmFyaWF0aW9uLCBzZWxlY3RlZE9wdGlvbklkcykpIHtcbiAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBoaWRlU2VsZWN0aW9uID0gc2hvdWxkSGlkZVNpbmdsZU9wdGlvblNlbGVjdGlvbih2YXJpYXRpb24pO1xuICAgICAgICBjb25zdCBzcGFuID0gdmFyaWF0aW9uTGF5b3V0U3BhbihcbiAgICAgICAgICBsYXlvdXRTcGFuRm9yVmFyaWF0aW9uKHZhcmlhdGlvbiwgcHJvZHVjdCksXG4gICAgICAgICAgY29sdW1uQ291bnQsXG4gICAgICAgICk7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgPGZpZWxkc2V0XG4gICAgICAgICAgICBjbGFzc05hbWU9e2hpZGVTZWxlY3Rpb24gPyB1bmRlZmluZWQgOiBjb250YWluZXJDbGFzc31cbiAgICAgICAgICAgIGtleT17ZmllbGRJdGVtW2tleU5hbWVdfVxuICAgICAgICAgICAgbmFtZT17YCR7bmFtZX1bJHtpbmRleH1dYH1cbiAgICAgICAgICAgIGhpZGRlbj17aGlkZVNlbGVjdGlvbn1cbiAgICAgICAgICAgIHN0eWxlPXtoaWRlU2VsZWN0aW9uID8gdW5kZWZpbmVkIDogeyBncmlkQ29sdW1uOiBgc3BhbiAke3NwYW59YCB9fVxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxEeW5hbWljVmFyaWF0aW9uSW5wdXRcbiAgICAgICAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICAgICAgICBpbmRleD17aW5kZXh9XG4gICAgICAgICAgICAgIG5hbWU9e25hbWV9XG4gICAgICAgICAgICAgIHZhcmlhdGlvbj17dmFyaWF0aW9ufVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L2ZpZWxkc2V0PlxuICAgICAgICApO1xuICAgICAgfSl9XG4gICAgPC9kaXY+XG4gICk7XG59XG5cbmV4cG9ydCBkZWZhdWx0IFZhcmlhdGlvbnM7XG4iXSwibWFwcGluZ3MiOiJBQUFBLFlBQVk7O0FBQUMsU0FBQUEsUUFBQUMsQ0FBQSxzQ0FBQUQsT0FBQSx3QkFBQUUsTUFBQSx1QkFBQUEsTUFBQSxDQUFBQyxRQUFBLGFBQUFGLENBQUEsa0JBQUFBLENBQUEsZ0JBQUFBLENBQUEsV0FBQUEsQ0FBQSx5QkFBQUMsTUFBQSxJQUFBRCxDQUFBLENBQUFHLFdBQUEsS0FBQUYsTUFBQSxJQUFBRCxDQUFBLEtBQUFDLE1BQUEsQ0FBQUcsU0FBQSxxQkFBQUosQ0FBQSxLQUFBRCxPQUFBLENBQUFDLENBQUE7QUFBQSxTQUFBSyxRQUFBQyxDQUFBLEVBQUFDLENBQUEsUUFBQUMsQ0FBQSxHQUFBQyxNQUFBLENBQUFDLElBQUEsQ0FBQUosQ0FBQSxPQUFBRyxNQUFBLENBQUFFLHFCQUFBLFFBQUFYLENBQUEsR0FBQVMsTUFBQSxDQUFBRSxxQkFBQSxDQUFBTCxDQUFBLEdBQUFDLENBQUEsS0FBQVAsQ0FBQSxHQUFBQSxDQUFBLENBQUFZLE1BQUEsV0FBQUwsQ0FBQSxXQUFBRSxNQUFBLENBQUFJLHdCQUFBLENBQUFQLENBQUEsRUFBQUMsQ0FBQSxFQUFBTyxVQUFBLE9BQUFOLENBQUEsQ0FBQU8sSUFBQSxDQUFBQyxLQUFBLENBQUFSLENBQUEsRUFBQVIsQ0FBQSxZQUFBUSxDQUFBO0FBQUEsU0FBQVMsY0FBQVgsQ0FBQSxhQUFBQyxDQUFBLE1BQUFBLENBQUEsR0FBQVcsU0FBQSxDQUFBQyxNQUFBLEVBQUFaLENBQUEsVUFBQUMsQ0FBQSxXQUFBVSxTQUFBLENBQUFYLENBQUEsSUFBQVcsU0FBQSxDQUFBWCxDQUFBLFFBQUFBLENBQUEsT0FBQUYsT0FBQSxDQUFBSSxNQUFB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
@@ -47,6 +47,7 @@ function VariationsGroups(_ref) {
47
47
  disabled: disabled,
48
48
  name: "".concat(name, "[").concat(index, "].quantity")
49
49
  }), /*#__PURE__*/_jsx(Variations, {
50
+ columns: product === null || product === void 0 ? void 0 : product.groupVariationColumns,
50
51
  containerClass: "merchi-embed-form_product-group-variation-container",
51
52
  disabled: disabled,
52
53
  name: "".concat(name, "[").concat(index, "].variations")
@@ -76,4 +77,4 @@ function VariationsGroups(_ref) {
76
77
  });
77
78
  }
78
79
  export default VariationsGroups;
79
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsImlzUHJvZHVjdFN1cHBsaWVyTU9EIiwiQnV0dG9uQWRkR3JvdXAiLCJCdXR0b25SZW1vdmVHcm91cCIsIkxhYmVsR3JvdXBDb3N0IiwiR3JvdXBJbnZlbnRvcnkiLCJJbnB1dEdyb3VwUXVhbnRpdHkiLCJJbnB1dEhpZGRlblN0YXRpYyIsIlZhcmlhdGlvbnMiLCJ1c2VGaWVsZEFycmF5IiwidXNlTWVyY2hpRm9ybUNvbnRleHQiLCJqc3giLCJfanN4IiwianN4cyIsIl9qc3hzIiwiRnJhZ21lbnQiLCJfRnJhZ21lbnQiLCJWYXJpYXRpb25zR3JvdXBzIiwiX3JlZiIsImRpc2FibGVkIiwiX3JlZiRuYW1lIiwibmFtZSIsInJlbmRlckJldHdlZW5Hcm91cHMiLCJfdXNlTWVyY2hpRm9ybUNvbnRleHQiLCJjbGFzc05hbWVHcm91cHNDb250YWluZXIiLCJjb250cm9sIiwiaGlkZVF1YW50aXR5RmllbGQiLCJoaWRlQ2FsY3VsYXRlZFByaWNlIiwiam9iIiwicHJvZHVjdCIsIl91c2VGaWVsZEFycmF5Iiwia2V5TmFtZSIsImFwcGVuZCIsImZpZWxkcyIsInJlbW92ZSIsImlzUmVzZWxsTU9EIiwiZ3JvdXBDb3VudCIsImxlbmd0aCIsImNoaWxkcmVuIiwibWFwIiwiZ3JvdXAiLCJpbmRleCIsImNvdW50IiwidmFyaWF0aW9uR3JvdXAiLCJ2YXJpYXRpb25zR3JvdXBzIiwiY2xhc3NOYW1lIiwiY29uY2F0IiwidmFsdWUiLCJjb250YWluZXJDbGFzcyIsIm5lZWRzSW52ZW50b3J5IiwiYWRkR3JvdXAiLCJncm91cElkIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbXBvbmVudHMvVmFyaWF0aW9uc0dyb3Vwcy50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgaXNQcm9kdWN0U3VwcGxpZXJNT0QgfSBmcm9tICcuL3V0aWxzJztcbmltcG9ydCB7IEJ1dHRvbkFkZEdyb3VwLCBCdXR0b25SZW1vdmVHcm91cCB9IGZyb20gJy4vYnV0dG9ucyc7XG5pbXBvcnQgeyBMYWJlbEdyb3VwQ29zdCB9IGZyb20gJy4vY29zdCc7XG5pbXBvcnQgR3JvdXBJbnZlbnRvcnkgZnJvbSAnLi9Hcm91cEludmVudG9yeSc7XG5pbXBvcnQgSW5wdXRHcm91cFF1YW50aXR5IGZyb20gJy4vSW5wdXRHcm91cFF1YW50aXR5JztcbmltcG9ydCBJbnB1dEhpZGRlblN0YXRpYyBmcm9tICcuL0lucHV0SGlkZGVuU3RhdGljJztcbmltcG9ydCBWYXJpYXRpb25zIGZyb20gJy4vVmFyaWF0aW9ucyc7XG5pbXBvcnQgeyB1c2VGaWVsZEFycmF5IH0gZnJvbSAncmVhY3QtaG9vay1mb3JtJztcbmltcG9ydCB7IHVzZU1lcmNoaUZvcm1Db250ZXh0IH0gZnJvbSAnLi4vY29udGV4dC9NZXJjaGlQcm9kdWN0Rm9ybVByb3ZpZGVyJztcblxuaW50ZXJmYWNlIFByb3BzIHtcbiAgZGlzYWJsZWQ/OiBib29sZWFuO1xuICBuYW1lPzogc3RyaW5nO1xuICByZW5kZXJCZXR3ZWVuR3JvdXBzPzogKGluZGV4OiBudW1iZXIpID0+IFJlYWN0LlJlYWN0Tm9kZTtcbn1cblxuZnVuY3Rpb24gVmFyaWF0aW9uc0dyb3Vwcyh7IGRpc2FibGVkLCBuYW1lID0gJ3ZhcmlhdGlvbnNHcm91cHMnLCByZW5kZXJCZXR3ZWVuR3JvdXBzIH06IFByb3BzKSB7XG4gIGNvbnN0IHtcbiAgICBjbGFzc05hbWVHcm91cHNDb250YWluZXIsXG4gICAgY29udHJvbCxcbiAgICBoaWRlUXVhbnRpdHlGaWVsZCxcbiAgICBoaWRlQ2FsY3VsYXRlZFByaWNlLFxuICAgIGpvYixcbiAgICBwcm9kdWN0LFxuICB9ID0gdXNlTWVyY2hpRm9ybUNvbnRleHQoKTtcbiAgY29uc3QgeyBhcHBlbmQsIGZpZWxkcywgcmVtb3ZlIH0gPSB1c2VGaWVsZEFycmF5KHtcbiAgICBjb250cm9sLFxuICAgIGtleU5hbWU6ICdncm91cElkJyxcbiAgICBuYW1lLFxuICB9KTtcbiAgY29uc3QgaXNSZXNlbGxNT0QgPSBpc1Byb2R1Y3RTdXBwbGllck1PRChwcm9kdWN0KTtcbiAgY29uc3QgZ3JvdXBDb3VudCA9IGZpZWxkcy5sZW5ndGg7XG4gIHJldHVybiAoXG4gICAgPD5cbiAgICAgIHtmaWVsZHMubWFwKChncm91cDogYW55LCBpbmRleDogbnVtYmVyKSA9PiB7XG4gICAgICAgIGNvbnN0IGNvdW50ID0gaW5kZXggKyAxO1xuICAgICAgICBjb25zdCB2YXJpYXRpb25Hcm91cCA9IGpvYi52YXJpYXRpb25zR3JvdXBzW2luZGV4XTtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICA8UmVhY3QuRnJhZ21lbnQga2V5PXtncm91cC5ncm91cElkfT5cbiAgICAgICAgICAgIDxmaWVsZHNldFxuICAgICAgICAgICAgICBjbGFzc05hbWU9e2NsYXNzTmFtZUdyb3Vwc0NvbnRhaW5lcn1cbiAgICAgICAgICAgICAgbmFtZT17YCR7bmFtZX1bJHtpbmRleH1dYH1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAge2lzUmVzZWxsTU9EIHx8IGhpZGVRdWFudGl0eUZpZWxkID8gKFxuICAgICAgICAgICAgICAgIDxJbnB1dEhpZGRlblN0YXRpY1xuICAgICAgICAgICAgICAgICAgbmFtZT17YCR7bmFtZX1bJHtpbmRleH1dLnF1YW50aXR5YH1cbiAgICAgICAgICAgICAgICAgIHZhbHVlPXsxfVxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgICAgPElucHV0R3JvdXBRdWFudGl0eVxuICAgICAgICAgICAgICAgICAgY291bnQ9e2NvdW50fVxuICAgICAgICAgICAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICAgICAgICAgICAgbmFtZT17YCR7bmFtZX1bJHtpbmRleH1dLnF1YW50aXR5YH1cbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICA8VmFyaWF0aW9uc1xuICAgICAgICAgICAgICAgIGNvbnRhaW5lckNsYXNzPSdtZXJjaGktZW1iZWQtZm9ybV9wcm9kdWN0LWdyb3VwLXZhcmlhdGlvbi1jb250YWluZXInXG4gICAgICAgICAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICAgICAgICAgIG5hbWU9e2Ake25hbWV9WyR7aW5kZXh9XS52YXJpYXRpb25zYH1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAge3Byb2R1Y3QubmVlZHNJbnZlbnRvcnkgJiYgdmFyaWF0aW9uR3JvdXAgJiYgKFxuICAgICAgICAgICAgICAgIDxHcm91cEludmVudG9yeSBncm91cD17am9iLnZhcmlhdGlvbnNHcm91cHNbaW5kZXhdfSAvPlxuICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT0nbWVyY2hpLWVtYmVkLWZvcm1fcHJvZHVjdC1ncm91cC1hY3Rpb25zLWNvc3QtY29udGFpbmVyJz5cbiAgICAgICAgICAgICAgICB7IWhpZGVDYWxjdWxhdGVkUHJpY2UgJiYgdmFyaWF0aW9uR3JvdXAgJiYgKFxuICAgICAgICAgICAgICAgICAgPExhYmVsR3JvdXBDb3N0IGdyb3VwPXt2YXJpYXRpb25Hcm91cH0gLz5cbiAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPSdtZXJjaGktZW1iZWQtZm9ybV9wcm9kdWN0LWdyb3VwLWFjdGlvbnMtY29udGFpbmVyJz5cbiAgICAgICAgICAgICAgICAgIHtncm91cENvdW50ID4gMSAmJiAoXG4gICAgICAgICAgICAgICAgICAgIDxCdXR0b25SZW1vdmVHcm91cFxuICAgICAgICAgICAgICAgICAgICAgIGNvdW50PXtjb3VudH1cbiAgICAgICAgICAgICAgICAgICAgICBkaXNhYmxlZD17ZGlzYWJsZWR9XG4gICAgICAgICAgICAgICAgICAgICAgcmVtb3ZlPXsoKSA9PiByZW1vdmUoaW5kZXgpfVxuICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIHtncm91cENvdW50ID09PSBjb3VudCAmJiAoXG4gICAgICAgICAgICAgICAgPEJ1dHRvbkFkZEdyb3VwIGFkZEdyb3VwPXthcHBlbmR9IGRpc2FibGVkPXtkaXNhYmxlZH0gLz5cbiAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIDwvZmllbGRzZXQ+XG4gICAgICAgICAgICB7cmVuZGVyQmV0d2Vlbkdyb3VwcyAmJiByZW5kZXJCZXR3ZWVuR3JvdXBzKGluZGV4KX1cbiAgICAgICAgICA8L1JlYWN0LkZyYWdtZW50PlxuICAgICAgICApO1xuICAgICAgfSl9XG4gICAgPC8+XG4gICk7XG59XG5cbmV4cG9ydCBkZWZhdWx0IFZhcmlhdGlvbnNHcm91cHM7XG4iXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBS0EsS0FBSyxNQUFNLE9BQU87QUFDOUIsU0FBU0Msb0JBQW9CLFFBQVEsU0FBUztBQUM5QyxTQUFTQyxjQUFjLEVBQUVDLGlCQUFpQixRQUFRLFdBQVc7QUFDN0QsU0FBU0MsY0FBYyxRQUFRLFFBQVE7QUFDdkMsT0FBT0MsY0FBYyxNQUFNLGtCQUFrQjtBQUM3QyxPQUFPQyxrQkFBa0IsTUFBTSxzQkFBc0I7QUFDckQsT0FBT0MsaUJBQWlCLE1BQU0scUJBQXFCO0FBQ25ELE9BQU9DLFVBQVUsTUFBTSxjQUFjO0FBQ3JDLFNBQVNDLGFBQWEsUUFBUSxpQkFBaUI7QUFDL0MsU0FBU0Msb0JBQW9CLFFBQVEsc0NBQXNDO0FBQUMsU0FBQUMsR0FBQSxJQUFBQyxJQUFBLEVBQUFDLElBQUEsSUFBQUMsS0FBQSxFQUFBQyxRQUFBLElBQUFDLFNBQUE7QUFRNUUsU0FBU0MsZ0JBQWdCQSxDQUFBQyxJQUFBLEVBQXNFO0VBQUEsSUFBbkVDLFFBQVEsR0FBQUQsSUFBQSxDQUFSQyxRQUFRO0lBQUFDLFNBQUEsR0FBQUYsSUFBQSxDQUFFRyxJQUFJ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
80
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsImlzUHJvZHVjdFN1cHBsaWVyTU9EIiwiQnV0dG9uQWRkR3JvdXAiLCJCdXR0b25SZW1vdmVHcm91cCIsIkxhYmVsR3JvdXBDb3N0IiwiR3JvdXBJbnZlbnRvcnkiLCJJbnB1dEdyb3VwUXVhbnRpdHkiLCJJbnB1dEhpZGRlblN0YXRpYyIsIlZhcmlhdGlvbnMiLCJ1c2VGaWVsZEFycmF5IiwidXNlTWVyY2hpRm9ybUNvbnRleHQiLCJqc3giLCJfanN4IiwianN4cyIsIl9qc3hzIiwiRnJhZ21lbnQiLCJfRnJhZ21lbnQiLCJWYXJpYXRpb25zR3JvdXBzIiwiX3JlZiIsImRpc2FibGVkIiwiX3JlZiRuYW1lIiwibmFtZSIsInJlbmRlckJldHdlZW5Hcm91cHMiLCJfdXNlTWVyY2hpRm9ybUNvbnRleHQiLCJjbGFzc05hbWVHcm91cHNDb250YWluZXIiLCJjb250cm9sIiwiaGlkZVF1YW50aXR5RmllbGQiLCJoaWRlQ2FsY3VsYXRlZFByaWNlIiwiam9iIiwicHJvZHVjdCIsIl91c2VGaWVsZEFycmF5Iiwia2V5TmFtZSIsImFwcGVuZCIsImZpZWxkcyIsInJlbW92ZSIsImlzUmVzZWxsTU9EIiwiZ3JvdXBDb3VudCIsImxlbmd0aCIsImNoaWxkcmVuIiwibWFwIiwiZ3JvdXAiLCJpbmRleCIsImNvdW50IiwidmFyaWF0aW9uR3JvdXAiLCJ2YXJpYXRpb25zR3JvdXBzIiwiY2xhc3NOYW1lIiwiY29uY2F0IiwidmFsdWUiLCJjb2x1bW5zIiwiZ3JvdXBWYXJpYXRpb25Db2x1bW5zIiwiY29udGFpbmVyQ2xhc3MiLCJuZWVkc0ludmVudG9yeSIsImFkZEdyb3VwIiwiZ3JvdXBJZCJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21wb25lbnRzL1ZhcmlhdGlvbnNHcm91cHMudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IGlzUHJvZHVjdFN1cHBsaWVyTU9EIH0gZnJvbSAnLi91dGlscyc7XG5pbXBvcnQgeyBCdXR0b25BZGRHcm91cCwgQnV0dG9uUmVtb3ZlR3JvdXAgfSBmcm9tICcuL2J1dHRvbnMnO1xuaW1wb3J0IHsgTGFiZWxHcm91cENvc3QgfSBmcm9tICcuL2Nvc3QnO1xuaW1wb3J0IEdyb3VwSW52ZW50b3J5IGZyb20gJy4vR3JvdXBJbnZlbnRvcnknO1xuaW1wb3J0IElucHV0R3JvdXBRdWFudGl0eSBmcm9tICcuL0lucHV0R3JvdXBRdWFudGl0eSc7XG5pbXBvcnQgSW5wdXRIaWRkZW5TdGF0aWMgZnJvbSAnLi9JbnB1dEhpZGRlblN0YXRpYyc7XG5pbXBvcnQgVmFyaWF0aW9ucyBmcm9tICcuL1ZhcmlhdGlvbnMnO1xuaW1wb3J0IHsgdXNlRmllbGRBcnJheSB9IGZyb20gJ3JlYWN0LWhvb2stZm9ybSc7XG5pbXBvcnQgeyB1c2VNZXJjaGlGb3JtQ29udGV4dCB9IGZyb20gJy4uL2NvbnRleHQvTWVyY2hpUHJvZHVjdEZvcm1Qcm92aWRlcic7XG5cbmludGVyZmFjZSBQcm9wcyB7XG4gIGRpc2FibGVkPzogYm9vbGVhbjtcbiAgbmFtZT86IHN0cmluZztcbiAgcmVuZGVyQmV0d2Vlbkdyb3Vwcz86IChpbmRleDogbnVtYmVyKSA9PiBSZWFjdC5SZWFjdE5vZGU7XG59XG5cbmZ1bmN0aW9uIFZhcmlhdGlvbnNHcm91cHMoeyBkaXNhYmxlZCwgbmFtZSA9ICd2YXJpYXRpb25zR3JvdXBzJywgcmVuZGVyQmV0d2Vlbkdyb3VwcyB9OiBQcm9wcykge1xuICBjb25zdCB7XG4gICAgY2xhc3NOYW1lR3JvdXBzQ29udGFpbmVyLFxuICAgIGNvbnRyb2wsXG4gICAgaGlkZVF1YW50aXR5RmllbGQsXG4gICAgaGlkZUNhbGN1bGF0ZWRQcmljZSxcbiAgICBqb2IsXG4gICAgcHJvZHVjdCxcbiAgfSA9IHVzZU1lcmNoaUZvcm1Db250ZXh0KCk7XG4gIGNvbnN0IHsgYXBwZW5kLCBmaWVsZHMsIHJlbW92ZSB9ID0gdXNlRmllbGRBcnJheSh7XG4gICAgY29udHJvbCxcbiAgICBrZXlOYW1lOiAnZ3JvdXBJZCcsXG4gICAgbmFtZSxcbiAgfSk7XG4gIGNvbnN0IGlzUmVzZWxsTU9EID0gaXNQcm9kdWN0U3VwcGxpZXJNT0QocHJvZHVjdCk7XG4gIGNvbnN0IGdyb3VwQ291bnQgPSBmaWVsZHMubGVuZ3RoO1xuICByZXR1cm4gKFxuICAgIDw+XG4gICAgICB7ZmllbGRzLm1hcCgoZ3JvdXA6IGFueSwgaW5kZXg6IG51bWJlcikgPT4ge1xuICAgICAgICBjb25zdCBjb3VudCA9IGluZGV4ICsgMTtcbiAgICAgICAgY29uc3QgdmFyaWF0aW9uR3JvdXAgPSBqb2IudmFyaWF0aW9uc0dyb3Vwc1tpbmRleF07XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgPFJlYWN0LkZyYWdtZW50IGtleT17Z3JvdXAuZ3JvdXBJZH0+XG4gICAgICAgICAgICA8ZmllbGRzZXRcbiAgICAgICAgICAgICAgY2xhc3NOYW1lPXtjbGFzc05hbWVHcm91cHNDb250YWluZXJ9XG4gICAgICAgICAgICAgIG5hbWU9e2Ake25hbWV9WyR7aW5kZXh9XWB9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIHtpc1Jlc2VsbE1PRCB8fCBoaWRlUXVhbnRpdHlGaWVsZCA/IChcbiAgICAgICAgICAgICAgICA8SW5wdXRIaWRkZW5TdGF0aWNcbiAgICAgICAgICAgICAgICAgIG5hbWU9e2Ake25hbWV9WyR7aW5kZXh9XS5xdWFudGl0eWB9XG4gICAgICAgICAgICAgICAgICB2YWx1ZT17MX1cbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICAgIDxJbnB1dEdyb3VwUXVhbnRpdHlcbiAgICAgICAgICAgICAgICAgIGNvdW50PXtjb3VudH1cbiAgICAgICAgICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgICAgICAgICAgIG5hbWU9e2Ake25hbWV9WyR7aW5kZXh9XS5xdWFudGl0eWB9XG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgPFZhcmlhdGlvbnNcbiAgICAgICAgICAgICAgICBjb2x1bW5zPXtwcm9kdWN0Py5ncm91cFZhcmlhdGlvbkNvbHVtbnN9XG4gICAgICAgICAgICAgICAgY29udGFpbmVyQ2xhc3M9J21lcmNoaS1lbWJlZC1mb3JtX3Byb2R1Y3QtZ3JvdXAtdmFyaWF0aW9uLWNvbnRhaW5lcidcbiAgICAgICAgICAgICAgICBkaXNhYmxlZD17ZGlzYWJsZWR9XG4gICAgICAgICAgICAgICAgbmFtZT17YCR7bmFtZX1bJHtpbmRleH1dLnZhcmlhdGlvbnNgfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICB7cHJvZHVjdC5uZWVkc0ludmVudG9yeSAmJiB2YXJpYXRpb25Hcm91cCAmJiAoXG4gICAgICAgICAgICAgICAgPEdyb3VwSW52ZW50b3J5IGdyb3VwPXtqb2IudmFyaWF0aW9uc0dyb3Vwc1tpbmRleF19IC8+XG4gICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPSdtZXJjaGktZW1iZWQtZm9ybV9wcm9kdWN0LWdyb3VwLWFjdGlvbnMtY29zdC1jb250YWluZXInPlxuICAgICAgICAgICAgICAgIHshaGlkZUNhbGN1bGF0ZWRQcmljZSAmJiB2YXJpYXRpb25Hcm91cCAmJiAoXG4gICAgICAgICAgICAgICAgICA8TGFiZWxHcm91cENvc3QgZ3JvdXA9e3ZhcmlhdGlvbkdyb3VwfSAvPlxuICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9J21lcmNoaS1lbWJlZC1mb3JtX3Byb2R1Y3QtZ3JvdXAtYWN0aW9ucy1jb250YWluZXInPlxuICAgICAgICAgICAgICAgICAge2dyb3VwQ291bnQgPiAxICYmIChcbiAgICAgICAgICAgICAgICAgICAgPEJ1dHRvblJlbW92ZUdyb3VwXG4gICAgICAgICAgICAgICAgICAgICAgY291bnQ9e2NvdW50fVxuICAgICAgICAgICAgICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgICAgICAgICAgICAgICByZW1vdmU9eygpID0+IHJlbW92ZShpbmRleCl9XG4gICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAge2dyb3VwQ291bnQgPT09IGNvdW50ICYmIChcbiAgICAgICAgICAgICAgICA8QnV0dG9uQWRkR3JvdXAgYWRkR3JvdXA9e2FwcGVuZH0gZGlzYWJsZWQ9e2Rpc2FibGVkfSAvPlxuICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgPC9maWVsZHNldD5cbiAgICAgICAgICAgIHtyZW5kZXJCZXR3ZWVuR3JvdXBzICYmIHJlbmRlckJldHdlZW5Hcm91cHMoaW5kZXgpfVxuICAgICAgICAgIDwvUmVhY3QuRnJhZ21lbnQ+XG4gICAgICAgICk7XG4gICAgICB9KX1cbiAgICA8Lz5cbiAgKTtcbn1cblxuZXhwb3J0IGRlZmF1bHQgVmFyaWF0aW9uc0dyb3VwcztcbiJdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLQSxLQUFLLE1BQU0sT0FBTztBQUM5QixTQUFTQyxvQkFBb0IsUUFBUSxTQUFTO0FBQzlDLFNBQVNDLGNBQWMsRUFBRUMsaUJBQWlCLFFBQVEsV0FBVztBQUM3RCxTQUFTQyxjQUFjLFFBQVEsUUFBUTtBQUN2QyxPQUFPQyxjQUFjLE1BQU0sa0JBQWtCO0FBQzdDLE9BQU9DLGtCQUFrQixNQUFNLHNCQUFzQjtBQUNyRCxPQUFPQyxpQkFBaUIsTUFBTSxxQkFBcUI7QUFDbkQsT0FBT0MsVUFBVSxNQUFNLGNBQWM7QUFDckMsU0FBU0MsYUFBYSxRQUFRLGlCQUFpQjtBQUMvQyxTQUFTQyxvQkFBb0IsUUFBUSxzQ0FBc0M7QUFBQyxTQUFBQyxHQUFBLElBQUFDLElBQUEsRUFBQUMsSUFBQSxJQUFBQyxLQUFBLEVBQUFDLFFBQUEsSUFBQUMsU0FBQTtBQVE1RSxTQUFTQyxnQkFB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
@@ -121,13 +121,15 @@ export function allowedFileTypes(variationField) {
121
121
  return allowedTypes.join(',');
122
122
  }
123
123
 
124
- // Published @merchi/sdk drops unknown keys. Register the flag on the class
125
- // this package actually constructs, or an allow-all Pantone field is saved
126
- // as a limited field with no options and the preview hides it.
124
+ // Published @merchi/sdk drops unknown keys. Register flags on the class
125
+ // this package actually constructs, or a rebuilt variation loses them.
127
126
  var VariationFieldClass = VariationField;
128
127
  VariationFieldClass.property({
129
128
  type: Boolean
130
129
  })(VariationFieldClass.prototype, 'allowAllPantones');
130
+ VariationFieldClass.property({
131
+ type: Number
132
+ })(VariationFieldClass.prototype, 'layoutSpan');
131
133
  var merchi = new Merchi();
132
134
  function ensureVariationOptionFlags(variation) {
133
135
  if (variation.isVisible === undefined) variation.isVisible = true;
@@ -147,6 +149,9 @@ export function buildEmptyVariationFromField(field) {
147
149
  if (variationJson !== null && variationJson !== void 0 && variationJson.variationField && (field === null || field === void 0 ? void 0 : field.allowAllPantones) != null && variationJson.variationField.allowAllPantones == null) {
148
150
  variationJson.variationField.allowAllPantones = Boolean(field.allowAllPantones);
149
151
  }
152
+ if (variationJson !== null && variationJson !== void 0 && variationJson.variationField && (field === null || field === void 0 ? void 0 : field.layoutSpan) != null && variationJson.variationField.layoutSpan == null) {
153
+ variationJson.variationField.layoutSpan = field.layoutSpan;
154
+ }
150
155
  ensureVariationOptionFlags(variationJson);
151
156
  return variationJson;
152
157
  }
@@ -508,4 +513,4 @@ export function cleanJobVariationsAndGroups(jobJson) {
508
513
  }
509
514
  return jobJson;
510
515
  }
511
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJNZXJjaGkiLCJWYXJpYXRpb25GaWVsZCIsImZvcm1hdEN1cnJlbmN5IiwiUHJvZHVjdFR5cGUiLCJGaWVsZFR5cGUiLCJjbGVhbkZvcm1WYXJpYXRpb25Kc29uIiwiZGVmYXVsdEdyb3VwUXVhbnRpdHkiLCJlbmZvcmNlTW9xUGVyR3JvdXAiLCJwcm9kdWN0TWluaW11bVF1YW50aXR5IiwicHJvZHVjdE1vcUZsb29yIiwicG5nT3B0aW9uTm90Rm91bmQiLCJyZXF1aXJlIiwicmVuZGVyU2luZ2xlQ29zdEluZGljYXRpb24iLCJjb3N0IiwiY3VycmVuY3lDb2RlIiwiY29zdFR5cGVTdHJpbmciLCJjdXJyZW5jeU9wdGlvbnMiLCJjdXJyZW5jeSIsInNob3dDb2RlSWZOb1N5bWJvbCIsImNvc3RTdHJpbmciLCJhbW91bnQiLCJwYXJzZUZsb2F0IiwiTnVtYmVyIiwiaXNGaW5pdGUiLCJjb3N0RGV0YWlsIiwib25jZU9mZkNvc3QiLCJ1bml0Q29zdCIsIm9uY2VPZmZDb3N0RGVzY3JpcHRpb24iLCJ1bml0Q29zdERlc2NyaXB0aW9uIiwidmFyaWF0aW9uRmllbGRDb3N0RGV0YWlsIiwidmFyaWF0aW9uRmllbGQiLCJ2YXJpYXRpb25Db3N0IiwidmFyaWF0aW9uVW5pdENvc3QiLCJ2YXJpYXRpb25Db3N0RGV0YWlsIiwidmFyaWF0aW9uIiwidmFyaWF0aW9uRmllbGRPcHRpb25Db3N0RGV0YWlsIiwib3B0aW9uIiwiX29wdGlvbiRvbmNlT2ZmQ29zdCIsIl9vcHRpb24kdW5pdENvc3QiLCJwcm9kdWN0U2V0dXBDb3N0RGV0YWlsIiwicHJvZHVjdCIsInNldHVwUHJpY2UiLCJsYWJlbCIsInNldHVwUGVyR3JvdXAiLCJzcGxpdFNlbGVjdGVkT3B0aW9ucyIsInZhbHVlIiwiQXJyYXkiLCJpc0FycmF5Iiwic3BsaXQiLCJzeW5jU2VsZWN0ZWRPcHRpb25zRnJvbVZhbHVlIiwiX3ZhcmlhdGlvbiR2YXJpYXRpb25GIiwiX3R5cGVvZiIsImZpZWxkVHlwZSIsIkNPTE9VUl9FWFRSQUNUIiwic2VsZWN0YWJsZSIsInNlbGVjdGFibGVPcHRpb25zIiwibGVuZ3RoIiwic2VsZWN0ZWRJZHMiLCJtYXAiLCJTdHJpbmciLCJmaWx0ZXIiLCJCb29sZWFuIiwicmVzb2x2ZWQiLCJpbmNsdWRlcyIsIm9wdGlvbklkIiwiX29iamVjdFNwcmVhZCIsInNlbGVjdGVkT3B0aW9ucyIsInN5bmNKb2JTZWxlY3RlZE9wdGlvbnNGcm9tVmFsdWVzIiwiam9iIiwibmV4dCIsInZhcmlhdGlvbnMiLCJ2YXJpYXRpb25zR3JvdXBzIiwiZ3JvdXAiLCJzdXBwbGllclNlbGxlckVkaXRhYmxlUHJvZHVjdFR5cGVzIiwiU1VQUExJRVJfTU9EIiwiQ0xPTkVEX1NVUFBMSUVSX01PRCIsIm9wdGlvbkltYWdlVXJsIiwiaW1hZ2UiLCJpbWFnZU5vdEZvdW5kIiwic3JjIiwibGlua2VkRmlsZSIsInZpZXdVcmwiLCJhbGxvd2VkRmlsZVR5cGVzIiwiZmlsZVR5cGVNYXBwaW5nIiwiYWxsb3dGaWxlSnBlZyIsImFsbG93RmlsZUdpZiIsImFsbG93RmlsZVBkZiIsImFsbG93RmlsZVBuZyIsImFsbG93RmlsZUFpIiwiYWxsb3dlZFR5cGVzIiwiT2JqZWN0Iiwia2V5cyIsImF0dHJpYnV0ZU5hbWUiLCJqb2luIiwiVmFyaWF0aW9uRmllbGRDbGFzcyIsInByb3BlcnR5IiwidHlwZSIsInByb3RvdHlwZSIsIm1lcmNoaSIsImVuc3VyZVZhcmlhdGlvbk9wdGlvbkZsYWdzIiwiaXNWaXNpYmxlIiwidW5kZWZpbmVkIiwiZm9yRWFjaCIsImF2YWlsYWJsZSIsImJ1aWxkRW1wdHlWYXJpYXRpb25Gcm9tRmllbGQiLCJmaWVsZCIsImZpZWxkRW50IiwiZnJvbUpzb24iLCJtYWtlRGlydHkiLCJ2YXJpYXRpb25Kc29uIiwiYnVpbGRFbXB0eVZhcmlhdGlvbiIsInRvSnNvbiIsImFsbG93QWxsUGFudG9uZXMiLCJidWlsZEVtcHR5VmFyaWF0aW9uR3JvdXAiLCJwcm9kdWN0RW50IiwiUHJvZHVjdCIsIm5ld0dyb3VwIiwiZ3JvdXBDb3N0IiwicXVhbnRpdHkiLCJncm91cEpzb24iLCJpc1Byb2R1Y3RTdXBwbGllck1PRCIsInByb2R1Y3RUeXBlIiwiU1VQUExJRVJfUkVTRUxMX01PRCIsImlzUHJvZHVjdFR5cGVGaWxlRG93bmxvYWQiLCJwYXJzZUludCIsIlNFTExFUl9GSUxFX0RPV05MT0FEIiwiaXNQcm9kdWN0RmlsZURvd25sb2FkIiwiaXNQcm9kdWN0TGVhZEZvcm0iLCJMRUFEX0ZPUk0iLCJpc29Db3VudHJpZXMiLCJBRiIsIkFYIiwiQUwiLCJEWiIsIkFTIiwiQUQiLCJBTyIsIkFJIiwiQVEiLCJBRyIsIkFSIiwiQU0iLCJBVyIsIkFVIiwiQVQiLCJBWiIsIkJTIiwiQkgiLCJCRCIsIkJCIiwiQlkiLCJCRSIsIkJaIiwiQkoiLCJCTSIsIkJUIiwiQk8iLCJCQSIsIkJXIiwiQlYiLCJCUiIsIklPIiwiQk4iLCJCRyIsIkJGIiwiQkkiLCJLSCIsIkNNIiwiQ0EiLCJDViIsIktZIiwiQ0YiLCJURCIsIkNMIiwiQ04iLCJDWCIsIkNDIiwiQ08iLCJLTSIsIkNHIiwiQ0QiLCJDSyIsIkNSIiwiQ0kiLCJIUiIsIkNVIiwiQ1kiLCJDWiIsIkRLIiwiREoiLCJETSIsIkRPIiwiRUMiLCJFRyIsIlNWIiwiR1EiLCJFUiIsIkVFIiwiRVQiLCJGSyIsIkZPIiwiRkoiLCJGSSIsIkZSIiwiR0YiLCJQRiIsIlRGIiwiR0EiLCJHTSIsIkdFIiwiREUiLCJHSCIsIkdJIiwiR1IiLCJHTCIsIkdEIiwiR1AiLCJHVSIsIkdUIiwiR0ciLCJHTiIsIkdXIiwiR1kiLCJIVCIsIkhNIiwiVkEiLCJITiIsIkhLIiwiSFUiLCJJUyIsIklOIiwiSUQiLCJJUiIsIklRIiwiSUUiLCJJTSIsIklMIiwiSVQiLCJKTSIsIkpQIiwiSkUiLCJKTyIsIktaIiwiS0UiLCJLSSIsIktSIiwiS1ciLCJLRyIsIkxBIiwiTFYiLCJMQiIsIkxTIiwiTFIiLCJMWSIsIkxJIiwiTFQiLCJMVSIsIk1PIiwiTUsiLCJNRyIsIk1XIiwiTVkiLCJNViIsIk1MIiwiTVQiLCJNSCIsIk1RIiwiTVIiLCJNVSIsIllUIiwiTVgiLCJGTSIsIk1EIiwiTUMiLCJNTiIsIk1FIiwiTVMiLCJNQSIsIk1aIiwiTU0iLCJOQSIsIk5SIiwiTlAiLCJOTCIsIkFOIiwiTkMiLCJOWiIsIk5JIiwiTkUiLCJORyIsIk5VIiwiTkYiLCJNUCIsIk5PIiwiT00iLCJQSyIsIlBXIiwiUFMiLCJQQSIsIlBHIiwiUFkiLCJQRSIsIlBIIiwiUE4iLCJQTCIsIlBUIiwiUFIiLCJRQSIsIlJFIiwiUk8iLCJSVSIsIlJXIiwiQkwiLCJTSCIsIktOIiwiTEMiLCJNRiIsIlBNIiwiVkMiLCJXUyIsIlNNIiwiU1QiLCJTQSIsIlNOIiwiUlMiLCJTQyIsIlNMIiwiU0ciLCJTSyIsIlNJIiwiU0IiLCJTTyIsIlpBIiwiR1MiLCJFUyIsIkxLIiwiU0QiLCJTUiIsIlNKIiwiU1oiLCJTRSIsIkNIIiwiU1kiLCJUVyIsIlRKIiwiVFoiLCJUSCIsIlRMIiwiVEciLCJUSyIsIlRPIiwiVFQiLCJUTiIsIlRSIiwiVE0iLCJUQyIsIlRWIiwiVUciLCJVQSIsIkFFIiwiR0IiLCJVUyIsIlVNIiwiVVkiLCJVWiIsIlZVIiwiVkUiLCJWTiIsIlZHIiwiVkkiLCJXRiIsIkVIIiwiWUUiLCJaTSIsIlpXIiwiZ2V0Q291bnRyeU5hbWUiLCJjb3VudHJ5Q29kZSIsImhhc093blByb3BlcnR5IiwiY2xlYW5UYWdJZHMiLCJyYXciLCJpZCIsInRyaW0iLCJ0ZXN0IiwiZ2V0TWVyY2hpU291cmNlSm9iVGFncyIsImxvY2FsU3RvcmFnZSIsIm1lcmNoaVNvdXJjZSIsImdldEl0ZW0iLCJpZHMiLCJzb3J0QnlQb3NpdGlvbiIsIm9wdGlvbnMiLCJvYmoiLCJwb3NpdGlvbiIsInNvcnQiLCJhIiwiYiIsImFQb3NpdGlvbiIsImJQb3NpdGlvbiIsImNsZWFuSm9iVmFyaWF0aW9uc0FuZEdyb3VwcyIsImpvYkpzb24iLCJoYXNHcm91cHMiLCJoYXNWYXJpYXRpb25zIiwiaSIsImoiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvY29tcG9uZW50cy91dGlscy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNZXJjaGksIFZhcmlhdGlvbkZpZWxkIH0gZnJvbSAnQG1lcmNoaS9zZGsnO1xuaW1wb3J0IHsgZm9ybWF0Q3VycmVuY3kgfSBmcm9tICcuLi91dGlscy9jdXJyZW5jeSc7XG5pbXBvcnQgeyBQcm9kdWN0VHlwZSwgRmllbGRUeXBlIH0gZnJvbSAnLi4vdXRpbHMvdHlwZXMnO1xuZXhwb3J0IHsgY2xlYW5Gb3JtVmFyaWF0aW9uSnNvbiB9IGZyb20gJy4uL3V0aWxzL2NsZWFuRm9ybVZhcmlhdGlvbkpzb24nO1xuaW1wb3J0IHsgY2xlYW5Gb3JtVmFyaWF0aW9uSnNvbiB9IGZyb20gJy4uL3V0aWxzL2NsZWFuRm9ybVZhcmlhdGlvbkpzb24nO1xuaW1wb3J0IHsgZGVmYXVsdEdyb3VwUXVhbnRpdHkgfSBmcm9tICcuLi91dGlscy9xdWFudGl0eSc7XG5leHBvcnQge1xuICBkZWZhdWx0R3JvdXBRdWFudGl0eSxcbiAgZW5mb3JjZU1vcVBlckdyb3VwLFxuICBwcm9kdWN0TWluaW11bVF1YW50aXR5LFxuICBwcm9kdWN0TW9xRmxvb3IsXG59IGZyb20gJy4uL3V0aWxzL3F1YW50aXR5JztcbmNvbnN0IHBuZ09wdGlvbk5vdEZvdW5kID0gcmVxdWlyZSgnLi4vaW1hZ2VzL3Byb2R1Y3Qtbm90LWZvdW5kLnBuZycpO1xuXG5mdW5jdGlvbiByZW5kZXJTaW5nbGVDb3N0SW5kaWNhdGlvbihcbiAgY29zdDogYW55LFxuICBjdXJyZW5jeUNvZGU6IGFueSxcbiAgY29zdFR5cGVTdHJpbmc6IHN0cmluZ1xuKSB7XG4gIGxldCBjdXJyZW5jeU9wdGlvbnMgPSB7IGN1cnJlbmN5OiBjdXJyZW5jeUNvZGUsIHNob3dDb2RlSWZOb1N5bWJvbDogZmFsc2UgfTtcbiAgbGV0IGNvc3RTdHJpbmcgPSAnJztcbiAgY29uc3QgYW1vdW50ID0gcGFyc2VGbG9hdChjb3N0KTtcblxuICBpZiAoTnVtYmVyLmlzRmluaXRlKGFtb3VudCkgJiYgYW1vdW50ID4gMCkge1xuICAgIGNvc3RTdHJpbmcgPSBmb3JtYXRDdXJyZW5jeShhbW91bnQsIGN1cnJlbmN5T3B0aW9ucyk7XG4gICAgY29zdFN0cmluZyA9ICcgKyAnICsgY29zdFN0cmluZyArICcgJyArIGNvc3RUeXBlU3RyaW5nO1xuICB9XG4gIHJldHVybiBjb3N0U3RyaW5nO1xufVxuXG5jb25zdCBjb3N0RGV0YWlsID0gKG9uY2VPZmZDb3N0OiBhbnksIHVuaXRDb3N0OiBhbnksIGN1cnJlbmN5Q29kZTogc3RyaW5nKSA9PiB7XG4gIGNvbnN0IG9uY2VPZmZDb3N0RGVzY3JpcHRpb24gPSByZW5kZXJTaW5nbGVDb3N0SW5kaWNhdGlvbihcbiAgICBwYXJzZUZsb2F0KG9uY2VPZmZDb3N0KSxcbiAgICBjdXJyZW5jeUNvZGUsXG4gICAgJ29uY2Ugb2ZmJ1xuICApO1xuICBjb25zdCB1bml0Q29zdERlc2NyaXB0aW9uID0gcmVuZGVyU2luZ2xlQ29zdEluZGljYXRpb24oXG4gICAgcGFyc2VGbG9hdCh1bml0Q29zdCksXG4gICAgY3VycmVuY3lDb2RlLFxuICAgICdwZXIgdW5pdCdcbiAgKTtcbiAgcmV0dXJuIG9uY2VPZmZDb3N0RGVzY3JpcHRpb24gKyB1bml0Q29zdERlc2NyaXB0aW9uO1xufTtcblxuZXhwb3J0IGZ1bmN0aW9uIHZhcmlhdGlvbkZpZWxkQ29zdERldGFpbCh2YXJpYXRpb25GaWVsZDogYW55KSB7XG4gIGNvbnN0IHsgdmFyaWF0aW9uQ29zdCwgdmFyaWF0aW9uVW5pdENvc3QsIGN1cnJlbmN5IH0gPSB2YXJpYXRpb25GaWVsZDtcbiAgcmV0dXJuIGNvc3REZXRhaWwodmFyaWF0aW9uQ29zdCEsIHZhcmlhdGlvblVuaXRDb3N0ISwgY3VycmVuY3khKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHZhcmlhdGlvbkNvc3REZXRhaWwodmFyaWF0aW9uOiBhbnkpIHtcbiAgY29uc3QgeyBvbmNlT2ZmQ29zdCwgdW5pdENvc3QsIGN1cnJlbmN5IH0gPSB2YXJpYXRpb247XG4gIHJldHVybiBjb3N0RGV0YWlsKG9uY2VPZmZDb3N0ISwgdW5pdENvc3QhLCBjdXJyZW5jeSEpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdmFyaWF0aW9uRmllbGRPcHRpb25Db3N0RGV0YWlsKG9wdGlvbjogYW55KSB7XG4gIGNvbnN0IHsgY3VycmVuY3kgfSA9IG9wdGlvbjtcbiAgLy8gRmllbGQgb3B0aW9ucyB1c2UgdmFyaWF0aW9uQ29zdDsgc2VsZWN0YWJsZSBWYXJpYXRpb25PcHRpb25zIHVzZSBvbmNlT2ZmQ29zdC5cbiAgY29uc3Qgb25jZU9mZkNvc3QgPSBvcHRpb24ub25jZU9mZkNvc3QgPz8gb3B0aW9uLnZhcmlhdGlvbkNvc3Q7XG4gIGNvbnN0IHVuaXRDb3N0ID0gb3B0aW9uLnVuaXRDb3N0ID8/IG9wdGlvbi52YXJpYXRpb25Vbml0Q29zdDtcbiAgcmV0dXJuIGNvc3REZXRhaWwob25jZU9mZkNvc3QhLCB1bml0Q29zdCEsIGN1cnJlbmN5ISk7XG59XG5cbi8qKiBQcm9kdWN0LWxldmVsIHNldHVwIGZlZSwgc2FtZSBcIisgJFgg4oCmXCIgc3R5bGUgYXMgdmFyaWF0aW9uIG9uY2Utb2ZmIGNvc3RzLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHByb2R1Y3RTZXR1cENvc3REZXRhaWwocHJvZHVjdDogYW55KSB7XG4gIGNvbnN0IHNldHVwUHJpY2UgPSBwYXJzZUZsb2F0KHByb2R1Y3Q/LnNldHVwUHJpY2UpO1xuICBpZiAoIXNldHVwUHJpY2UpIHJldHVybiAnJztcbiAgY29uc3QgbGFiZWwgPSBwcm9kdWN0LnNldHVwUGVyR3JvdXAgPyAnc2V0dXAgcGVyIGdyb3VwJyA6ICdzZXR1cCc7XG4gIHJldHVybiByZW5kZXJTaW5nbGVDb3N0SW5kaWNhdGlvbihzZXR1cFByaWNlLCBwcm9kdWN0LmN1cnJlbmN5LCBsYWJlbCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzcGxpdFNlbGVjdGVkT3B0aW9ucyh2YWx1ZTogYW55KSB7XG4gIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkge1xuICAgIHJldHVybiB2YWx1ZTtcbiAgfVxuICBpZiAodHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJyAmJiB2YWx1ZSkge1xuICAgIHJldHVybiB2YWx1ZS5zcGxpdCgnLCcpO1xuICB9XG4gIHJldHVybiBbXTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHN5bmNTZWxlY3RlZE9wdGlvbnNGcm9tVmFsdWUodmFyaWF0aW9uOiBhbnkpOiBhbnkge1xuICBpZiAoIXZhcmlhdGlvbiB8fCB0eXBlb2YgdmFyaWF0aW9uICE9PSAnb2JqZWN0JykgcmV0dXJuIHZhcmlhdGlvbjtcbiAgY29uc3QgZmllbGRUeXBlID0gTnVtYmVyKHZhcmlhdGlvbj8udmFyaWF0aW9uRmllbGQ/LmZpZWxkVHlwZSk7XG4gIGlmIChmaWVsZFR5cGUgPT09IEZpZWxkVHlwZS5DT0xPVVJfRVhUUkFDVCkgcmV0dXJuIHZhcmlhdGlvbjtcblxuICBjb25zdCBzZWxlY3RhYmxlID0gdmFyaWF0aW9uPy5zZWxlY3RhYmxlT3B0aW9ucyB8fCBbXTtcbiAgaWYgKCFzZWxlY3RhYmxlLmxlbmd0aCkgcmV0dXJuIHZhcmlhdGlvbjtcblxuICBjb25zdCBzZWxlY3RlZElkcyA9IHNwbGl0U2VsZWN0ZWRPcHRpb25zKHZhcmlhdGlvbj8udmFsdWUpXG4gICAgLm1hcChTdHJpbmcpXG4gICAgLmZpbHRlcihCb29sZWFuKTtcbiAgaWYgKCFzZWxlY3RlZElkcy5sZW5ndGgpIHJldHVybiB2YXJpYXRpb247XG5cbiAgY29uc3QgcmVzb2x2ZWQgPSBzZWxlY3RhYmxlLmZpbHRlcigob3B0aW9uOiBhbnkpID0+XG4gICAgc2VsZWN0ZWRJZHMuaW5jbHVkZXMoU3RyaW5nKG9wdGlvbi5vcHRpb25JZCkpXG4gICk7XG4gIGlmICghcmVzb2x2ZWQubGVuZ3RoKSByZXR1cm4gdmFyaWF0aW9uO1xuXG4gIHJldHVybiB7IC4uLnZhcmlhdGlvbiwgc2VsZWN0ZWRPcHRpb25zOiByZXNvbHZlZCB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gc3luY0pvYlNlbGVjdGVkT3B0aW9uc0Zyb21WYWx1ZXMoam9iOiBhbnkpOiBhbnkge1xuICBpZiAoIWpvYiB8fCB0eXBlb2Ygam9iICE9PSAnb2JqZWN0JykgcmV0dXJuIGpvYjtcbiAgY29uc3QgbmV4dCA9IHsgLi4uam9iIH07XG4gIGlmIChBcnJheS5pc0FycmF5KG5leHQudmFyaWF0aW9ucykpIHtcbiAgICBuZXh0LnZhcmlhdGlvbnMgPSBuZXh0LnZhcmlhdGlvbnMubWFwKHN5bmNTZWxlY3RlZE9wdGlvbnNGcm9tVmFsdWUpO1xuICB9XG4gIGlmIChBcnJheS5pc0FycmF5KG5leHQudmFyaWF0aW9uc0dyb3VwcykpIHtcbiAgICBuZXh0LnZhcmlhdGlvbnNHcm91cHMgPSBuZXh0LnZhcmlhdGlvbnNHcm91cHMubWFwKChncm91cDogYW55KSA9PiAoe1xuICAgICAgLi4uZ3JvdXAsXG4gICAgICB2YXJpYXRpb25zOiBBcnJheS5pc0FycmF5KGdyb3VwPy52YXJpYXRpb25zKVxuICAgICAgICA/IGdyb3VwLnZhcmlhdGlvbnMubWFwKHN5bmNTZWxlY3RlZE9wdGlvbnNGcm9tVmFsdWUpXG4gICAgICAgIDogZ3JvdXA/LnZhcmlhdGlvbnMsXG4gICAgfSkpO1xuICB9XG4gIHJldHVybiBuZXh0O1xufVxuXG5leHBvcnQgY29uc3Qgc3VwcGxpZXJTZWxsZXJFZGl0YWJsZVByb2R1Y3RUeXBlczogQXJyYXk8bnVtYmVyPiA9IFtcbiAgUHJvZHVjdFR5cGUuU1VQUExJRVJfTU9ELFxuICBQcm9kdWN0VHlwZS5DTE9ORURfU1VQUExJRVJfTU9ELFxuXTtcblxuZXhwb3J0IGZ1bmN0aW9uIG9wdGlvbkltYWdlVXJsKG9wdGlvbjogYW55KSB7XG4gIGNvbnN0IGltYWdlID0gcG5nT3B0aW9uTm90Rm91bmQgPyAocG5nT3B0aW9uTm90Rm91bmQuZGVmYXVsdCB8fCBwbmdPcHRpb25Ob3RGb3VuZCkgOiAnJztcbiAgY29uc3QgaW1hZ2VOb3RGb3VuZCA9IGltYWdlID8gKGltYWdlLnNyYyB8fCBpbWFnZSkgOiAnJztcbiAgcmV0dXJuIG9wdGlvbi5saW5rZWRGaWxlXG4gICAgPyBvcHRpb24ubGlua2VkRmlsZVxuICAgICAgPyBvcHRpb24ubGlua2VkRmlsZS52aWV3VXJsXG4gICAgICA6IGltYWdlTm90Rm91bmRcbiAgICA6IGltYWdlTm90Rm91bmQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBhbGxvd2VkRmlsZVR5cGVzKHZhcmlhdGlvbkZpZWxkOiBhbnkpOiBzdHJpbmcge1xuICBjb25zdCBmaWxlVHlwZU1hcHBpbmc6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0gPSB7XG4gICAgYWxsb3dGaWxlSnBlZzogJy5qcGVnJyxcbiAgICBhbGxvd0ZpbGVHaWY6ICcuZ2lmJyxcbiAgICBhbGxvd0ZpbGVQZGY6ICcucGRmJyxcbiAgICBhbGxvd0ZpbGVQbmc6ICcucG5nJyxcbiAgICBhbGxvd0ZpbGVBaTogJy5haScsXG4gIH07XG5cbiAgY29uc3QgYWxsb3dlZFR5cGVzOiBzdHJpbmdbXSA9IE9iamVjdC5rZXlzKGZpbGVUeXBlTWFwcGluZylcbiAgICAuZmlsdGVyKChhdHRyaWJ1dGVOYW1lKSA9PiB2YXJpYXRpb25GaWVsZFthdHRyaWJ1dGVOYW1lXSlcbiAgICAubWFwKChhdHRyaWJ1dGVOYW1lKSA9PiBmaWxlVHlwZU1hcHBpbmdbYXR0cmlidXRlTmFtZV0pO1xuXG4gIHJldHVybiBhbGxvd2VkVHlwZXMuam9pbignLCcpO1xufVxuXG4vLyBQdWJsaXNoZWQgQG1lcmNoaS9zZGsgZHJvcHMgdW5rbm93biBrZXlzLiBSZWdpc3RlciB0aGUgZmxhZyBvbiB0aGUgY2xhc3Ncbi8vIHRoaXMgcGFja2FnZSBhY3R1YWxseSBjb25zdHJ1Y3RzLCBvciBhbiBhbGxvdy1hbGwgUGFudG9uZSBmaWVsZCBpcyBzYXZlZFxuLy8gYXMgYSBsaW1pdGVkIGZpZWxkIHdpdGggbm8gb3B0aW9ucyBhbmQgdGhlIHByZXZpZXcgaGlkZXMgaXQuXG5jb25zdCBWYXJpYXRpb25GaWVsZENsYXNzID0gVmFyaWF0aW9uRmllbGQgYXMgdW5rbm93biBhcyB7XG4gIHByb3BlcnR5OiAob3B0aW9ucz86IHsgdHlwZT86IHVua25vd24gfSkgPT4gKHRhcmdldDogb2JqZWN0LCBrZXk6IHN0cmluZykgPT4gdm9pZDtcbiAgcHJvdG90eXBlOiBvYmplY3Q7XG59O1xuVmFyaWF0aW9uRmllbGRDbGFzcy5wcm9wZXJ0eSh7IHR5cGU6IEJvb2xlYW4gfSkoXG4gIFZhcmlhdGlvbkZpZWxkQ2xhc3MucHJvdG90eXBlLFxuICAnYWxsb3dBbGxQYW50b25lcycsXG4pO1xuXG5jb25zdCBtZXJjaGkgPSBuZXcgTWVyY2hpKCk7XG5cbmZ1bmN0aW9uIGVuc3VyZVZhcmlhdGlvbk9wdGlvbkZsYWdzKHZhcmlhdGlvbjogYW55KSB7XG4gIGlmICh2YXJpYXRpb24uaXNWaXNpYmxlID09PSB1bmRlZmluZWQpIHZhcmlhdGlvbi5pc1Zpc2libGUgPSB0cnVlO1xuICAodmFyaWF0aW9uLnNlbGVjdGFibGVPcHRpb25zIHx8IFtdKS5mb3JFYWNoKChvcHRpb246IGFueSkgPT4ge1xuICAgIGlmIChvcHRpb24uaXNWaXNpYmxlID09PSB1bmRlZmluZWQpIG9wdGlvbi5pc1Zpc2libGUgPSB0cnVlO1xuICAgIGlmIChvcHRpb24uYXZhaWxhYmxlID09PSB1bmRlZmluZWQpIG9wdGlvbi5hdmFpbGFibGUgPSB0cnVlO1xuICB9KTtcbn1cblxuLyoqIEJ1aWxkIGEgZGVmYXVsdCB2YXJpYXRpb24gSlNPTiBmb3IgYSBwcm9kdWN0IHZhcmlhdGlvbiBmaWVsZCAoZ2F0ZWQgZmllbGRzKS4gKi9cbmV4cG9ydCBmdW5jdGlvbiBidWlsZEVtcHR5VmFyaWF0aW9uRnJvbUZpZWxkKGZpZWxkOiBhbnkpIHtcbiAgY29uc3QgZmllbGRFbnQgPSBuZXcgbWVyY2hpLlZhcmlhdGlvbkZpZWxkKCk7XG4gIGZpZWxkRW50LmZyb21Kc29uKHsgLi4uZmllbGQgfSwgeyBtYWtlRGlydHk6IGZhbHNlIH0pO1xuICBjb25zdCB2YXJpYXRpb25Kc29uID0gZmllbGRFbnQuYnVpbGRFbXB0eVZhcmlhdGlvbigpLnRvSnNvbigpO1xuICBpZiAoXG4gICAgdmFyaWF0aW9uSnNvbj8udmFyaWF0aW9uRmllbGQgJiZcbiAgICBmaWVsZD8uYWxsb3dBbGxQYW50b25lcyAhPSBudWxsICYmXG4gICAgdmFyaWF0aW9uSnNvbi52YXJpYXRpb25GaWVsZC5hbGxvd0FsbFBhbnRvbmVzID09IG51bGxcbiAgKSB7XG4gICAgdmFyaWF0aW9uSnNvbi52YXJpYXRpb25GaWVsZC5hbGxvd0FsbFBhbnRvbmVzID0gQm9vbGVhbihmaWVsZC5hbGxvd0FsbFBhbnRvbmVzKTtcbiAgfVxuICBlbnN1cmVWYXJpYXRpb25PcHRpb25GbGFncyh2YXJpYXRpb25Kc29uKTtcbiAgcmV0dXJuIHZhcmlhdGlvbkpzb247XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBidWlsZEVtcHR5VmFyaWF0aW9uR3JvdXAocHJvZHVjdDogYW55KSB7XG4gIGNvbnN0IHByb2R1Y3RFbnQgPSBuZXcgbWVyY2hpLlByb2R1Y3QoKTtcbiAgcHJvZHVjdEVudC5mcm9tSnNvbih7Li4ucHJvZHVjdH0sIHsgbWFrZURpcnR5OiBmYWxzZX0pO1xuICBjb25zdCBuZXdHcm91cCA9IG5ldyBwcm9kdWN0RW50LmJ1aWxkRW1wdHlWYXJpYXRpb25Hcm91cCgpO1xuICBuZXdHcm91cC5ncm91cENvc3QgPSAwO1xuICBuZXdHcm91cC5xdWFudGl0eSA9IGRlZmF1bHRHcm91cFF1YW50aXR5KHByb2R1Y3QpO1xuICBjb25zdCBncm91cEpzb24gPSBuZXdHcm91cC50b0pzb24oKTtcbiAgLy8gVGhlIFNESydzIGJ1aWxkVmFyaWF0aW9uT3B0aW9uIGRvZXMgbm90IHNldCBgaXNWaXNpYmxlYC9gYXZhaWxhYmxlYCBvbiB0aGVcbiAgLy8gYnVpbHQgc2VsZWN0YWJsZSBvcHRpb25zLiBJbiBzZXJ2ZXIgbW9kZSB0aGVzZSBhcmUgcmVwb3B1bGF0ZWQgYnkgdGhlXG4gIC8vIGVzdGltYXRlIHJvdW5kLXRyaXAgKyBmb3JtIHJlc2V0LCBidXQgaW4gY2xpZW50IG1vZGUgKG5vIHJvdW5kLXRyaXApIHRoZVxuICAvLyBvcHRpb25zIHdvdWxkIHJlbmRlciBkaXNhYmxlZCAoXCItIGRpc2FibGVkXCIpLiBEZWZhdWx0IHRoZW0gaGVyZSBzbyBhIGZyZXNobHlcbiAgLy8gYWRkZWQgZ3JvdXAgaXMgdXNhYmxlOyBvcHRpb24tbGV2ZWwgY29uZGl0aW9uYWwgdmlzaWJpbGl0eSAoc2VsZWN0ZWRCeSkgaXNcbiAgLy8gcmVzb2x2ZWQgb24gc3Vic2VxdWVudCBpbnRlcmFjdGlvbnMgaW4gc2VydmVyIG1vZGUuXG4gIChncm91cEpzb24udmFyaWF0aW9ucyB8fCBbXSkuZm9yRWFjaChlbnN1cmVWYXJpYXRpb25PcHRpb25GbGFncyk7XG4gIHJldHVybiBncm91cEpzb247XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1Byb2R1Y3RTdXBwbGllck1PRChwcm9kdWN0OiBhbnkpIHtcbiAgY29uc3QgcHJvZHVjdFR5cGUgPSBwcm9kdWN0ICYmIHByb2R1Y3QucHJvZHVjdFR5cGU7XG4gIHJldHVybiAoXG4gICAgcHJvZHVjdCAmJlxuICAgIFtcbiAgICAgIFN0cmluZyhQcm9kdWN0VHlwZS5TVVBQTElFUl9NT0QpLFxuICAgICAgU3RyaW5nKFByb2R1Y3RUeXBlLlNVUFBMSUVSX1JFU0VMTF9NT0QpLFxuICAgIF0uaW5jbHVkZXMoU3RyaW5nKHByb2R1Y3RUeXBlKSlcbiAgKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzUHJvZHVjdFR5cGVGaWxlRG93bmxvYWQocHJvZHVjdFR5cGU6IGFueSkge1xuICByZXR1cm4gcGFyc2VJbnQocHJvZHVjdFR5cGUsIDEwKSA9PT0gUHJvZHVjdFR5cGUuU0VMTEVSX0ZJTEVfRE9XTkxPQUQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1Byb2R1Y3RGaWxlRG93bmxvYWQocHJvZHVjdDogYW55KSB7XG4gIGNvbnN0IHsgcHJvZHVjdFR5cGUgfSA9IHByb2R1Y3Q7XG4gIHJldHVybiBpc1Byb2R1Y3RUeXBlRmlsZURvd25sb2FkKHByb2R1Y3RUeXBlKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzUHJvZHVjdExlYWRGb3JtKHByb2R1Y3Q6IGFueSkge1xuICBjb25zdCBwcm9kdWN0VHlwZSA9IHByb2R1Y3QgJiYgcHJvZHVjdC5wcm9kdWN0VHlwZTtcbiAgcmV0dXJuIHBhcnNlSW50KHByb2R1Y3RUeXBlLCAxMCkgPT09IFByb2R1Y3RUeXBlLkxFQURfRk9STTtcbn1cblxuZXhwb3J0IGNvbnN0IGlzb0NvdW50cmllczogYW55ID0ge1xuICBBRjogJ0FmZ2hhbmlzdGFuJyxcbiAgQVg6ICdBbGFuZCBJc2xhbmRzJyxcbiAgQUw6ICdBbGJhbmlhJyxcbiAgRFo6ICdBbGdlcmlhJyxcbiAgQVM6ICdBbWVyaWNhbiBTYW1vYScsXG4gIEFEOiAnQW5kb3JyYScsXG4gIEFPOiAnQW5nb2xhJyxcbiAgQUk6ICdBbmd1aWxsYScsXG4gIEFROiAnQW50YXJjdGljYScsXG4gIEFHOiAnQW50aWd1YSBBbmQgQmFyYnVkYScsXG4gIEFSOiAnQXJnZW50aW5hJyxcbiAgQU06ICdBcm1lbmlhJyxcbiAgQVc6ICdBcnViYScsXG4gIEFVOiAnQXVzdHJhbGlhJyxcbiAgQVQ6ICdBdXN0cmlhJyxcbiAgQVo6ICdBemVyYmFpamFuJyxcbiAgQlM6ICdCYWhhbWFzJyxcbiAgQkg6ICdCYWhyYWluJyxcbiAgQkQ6ICdCYW5nbGFkZXNoJyxcbiAgQkI6ICdCYXJiYWRvcycsXG4gIEJZOiAnQmVsYXJ1cycsXG4gIEJFOiAnQmVsZ2l1bScsXG4gIEJaOiAnQmVsaXplJyxcbiAgQko6ICdCZW5pbicsXG4gIEJNOiAnQmVybXVkYScsXG4gIEJUOiAnQmh1dGFuJyxcbiAgQk86ICdCb2xpdmlhJyxcbiAgQkE6ICdCb3NuaWEgQW5kIEhlcnplZ292aW5hJyxcbiAgQlc6ICdCb3Rzd2FuYScsXG4gIEJWOiAnQm91dmV0IElzbGFuZCcsXG4gIEJSOiAnQnJhemlsJyxcbiAgSU86ICdCcml0aXNoIEluZGlhbiBPY2VhbiBUZXJyaXRvcnknLFxuICBCTjogJ0JydW5laSBEYXJ1c3NhbGFtJyxcbiAgQkc6ICdCdWxnYXJpYScsXG4gIEJGOiAnQnVya2luYSBGYXNvJyxcbiAgQkk6ICdCdXJ1bmRpJyxcbiAgS0g6ICdDYW1ib2RpYScsXG4gIENNOiAnQ2FtZXJvb24nLFxuICBDQTogJ0NhbmFkYScsXG4gIENWOiAnQ2FwZSBWZXJkZScsXG4gIEtZOiAnQ2F5bWFuIElzbGFuZHMnLFxuICBDRjogJ0NlbnRyYWwgQWZyaWNhbiBSZXB1YmxpYycsXG4gIFREOiAnQ2hhZCcsXG4gIENMOiAnQ2hpbGUnLFxuICBDTjogJ0NoaW5hJyxcbiAgQ1g6ICdDaHJpc3RtYXMgSXNsYW5kJyxcbiAgQ0M6ICdDb2NvcyAoS2VlbGluZykgSXNsYW5kcycsXG4gIENPOiAnQ29sb21iaWEnLFxuICBLTTogJ0NvbW9yb3MnLFxuICBDRzogJ0NvbmdvJyxcbiAgQ0Q6ICdDb25nbywgRGVtb2NyYXRpYyBSZXB1YmxpYycsXG4gIENLOiAnQ29vayBJc2xhbmRzJyxcbiAgQ1I6ICdDb3N0YSBSaWNhJyxcbiAgQ0k6IFwiQ290ZSBEJ0l2b2lyZVwiLFxuICBIUjogJ0Nyb2F0aWEnLFxuICBDVTogJ0N1YmEnLFxuICBDWTogJ0N5cHJ1cycsXG4gIENaOiAnQ3plY2ggUmVwdWJsaWMnLFxuICBESzogJ0Rlbm1hcmsnLFxuICBESjogJ0RqaWJvdXRpJyxcbiAgRE06ICdEb21pbmljYScsXG4gIERPOiAnRG9taW5pY2FuIFJlcHVibGljJyxcbiAgRUM6ICdFY3VhZG9yJyxcbiAgRUc6ICdFZ3lwdCcsXG4gIFNWOiAnRWwgU2FsdmFkb3InLFxuICBHUTogJ0VxdWF0b3JpYWwgR3VpbmVhJyxcbiAgRVI6ICdFcml0cmVhJyxcbiAgRUU6ICdFc3RvbmlhJyxcbiAgRVQ6ICdFdGhpb3BpYScsXG4gIEZLOiAnRmFsa2xhbmQgSXNsYW5kcyAoTWFsdmluYXMpJyxcbiAgRk86ICdGYXJvZSBJc2xhbmRzJyxcbiAgRko6ICdGaWppJyxcbiAgRkk6ICdGaW5sYW5kJyxcbiAgRlI6ICdGcmFuY2UnLFxuICBHRjogJ0ZyZW5jaCBHdWlhbmEnLFxuICBQRjogJ0ZyZW5jaCBQb2x5bmVzaWEnLFxuICBURjogJ0ZyZW5jaCBTb3V0aGVybiBUZXJyaXRvcmllcycsXG4gIEdBOiAnR2Fib24nLFxuICBHTTogJ0dhbWJpYScsXG4gIEdFOiAnR2VvcmdpYScsXG4gIERFOiAnR2VybWFueScsXG4gIEdIOiAnR2hhbmEnLFxuICBHSTogJ0dpYnJhbHRhcicsXG4gIEdSOiAnR3JlZWNlJyxcbiAgR0w6ICdHcmVlbmxhbmQnLFxuICBHRDogJ0dyZW5hZGEnLFxuICBHUDogJ0d1YWRlbG91cGUnLFxuICBHVTogJ0d1YW0nLFxuICBHVDogJ0d1YXRlbWFsYScsXG4gIEdHOiAnR3Vlcm5zZXknLFxuICBHTjogJ0d1aW5lYScsXG4gIEdXOiAnR3VpbmVhLUJpc3NhdScsXG4gIEdZOiAnR3V5YW5hJyxcbiAgSFQ6ICdIYWl0aScsXG4gIEhNOiAnSGVhcmQgSXNsYW5kICYgTWNkb25hbGQgSXNsYW5kcycsXG4gIFZBOiAnSG9seSBTZWUgKFZhdGljYW4gQ2l0eSBTdGF0ZSknLFxuICBITjogJ0hvbmR1cmFzJyxcbiAgSEs6ICdIb25nIEtvbmcnLFxuICBIVTogJ0h1bmdhcnknLFxuICBJUzogJ0ljZWxhbmQnLFxuICBJTjogJ0luZGlhJyxcbiAgSUQ6ICdJbmRvbmVzaWEnLFxuICBJUjogJ0lyYW4sIElzbGFtaWMgUmVwdWJsaWMgT2YnLFxuICBJUTogJ0lyYXEnLFxuICBJRTogJ0lyZWxhbmQnLFxuICBJTTogJ0lzbGUgT2YgTWFuJyxcbiAgSUw6ICdJc3JhZWwnLFxuICBJVDogJ0l0YWx5JyxcbiAgSk06ICdKYW1haWNhJyxcbiAgSlA6ICdKYXBhbicsXG4gIEpFOiAnSmVyc2V5JyxcbiAgSk86ICdKb3JkYW4nLFxuICBLWjogJ0themFraHN0YW4nLFxuICBLRTogJ0tlbnlhJyxcbiAgS0k6ICdLaXJpYmF0aScsXG4gIEtSOiAnS29yZWEnLFxuICBLVzogJ0t1d2FpdCcsXG4gIEtHOiAnS3lyZ3l6c3RhbicsXG4gIExBOiBcIkxhbyBQZW9wbGUncyBEZW1vY3JhdGljIFJlcHVibGljXCIsXG4gIExWOiAnTGF0dmlhJyxcbiAgTEI6ICdMZWJhbm9uJyxcbiAgTFM6ICdMZXNvdGhvJyxcbiAgTFI6ICdMaWJlcmlhJyxcbiAgTFk6ICdMaWJ5YW4gQXJhYiBKYW1haGlyaXlhJyxcbiAgTEk6ICdMaWVjaHRlbnN0ZWluJyxcbiAgTFQ6ICdMaXRodWFuaWEnLFxuICBMVTogJ0x1eGVtYm91cmcnLFxuICBNTzogJ01hY2FvJyxcbiAgTUs6ICdNYWNlZG9uaWEnLFxuICBNRzogJ01hZGFnYXNjYXInLFxuICBNVzogJ01hbGF3aScsXG4gIE1ZOiAnTWFsYXlzaWEnLFxuICBNVjogJ01hbGRpdmVzJyxcbiAgTUw6ICdNYWxpJyxcbiAgTVQ6ICdNYWx0YScsXG4gIE1IOiAnTWFyc2hhbGwgSXNsYW5kcycsXG4gIE1ROiAnTWFydGluaXF1ZScsXG4gIE1SOiAnTWF1cml0YW5pYScsXG4gIE1VOiAnTWF1cml0aXVzJyxcbiAgWVQ6ICdNYXlvdHRlJyxcbiAgTVg6ICdNZXhpY28nLFxuICBGTTogJ01pY3JvbmVzaWEsIEZlZGVyYXRlZCBTdGF0ZXMgT2YnLFxuICBNRDogJ01vbGRvdmEnLFxuICBNQzogJ01vbmFjbycsXG4gIE1OOiAnTW9uZ29saWEnLFxuICBNRTogJ01vbnRlbmVncm8nLFxuICBNUzogJ01vbnRzZXJyYXQnLFxuICBNQTogJ01vcm9jY28nLFxuICBNWjogJ01vemFtYmlxdWUnLFxuICBNTTogJ015YW5tYXInLFxuICBOQTogJ05hbWliaWEnLFxuICBOUjogJ05hdXJ1JyxcbiAgTlA6ICdOZXBhbCcsXG4gIE5MOiAnTmV0aGVybGFuZHMnLFxuICBBTjogJ05ldGhlcmxhbmRzIEFudGlsbGVzJyxcbiAgTkM6ICdOZXcgQ2FsZWRvbmlhJyxcbiAgTlo6ICdOZXcgWmVhbGFuZCcsXG4gIE5JOiAnTmljYXJhZ3VhJyxcbiAgTkU6ICdOaWdlcicsXG4gIE5HOiAnTmlnZXJpYScsXG4gIE5VOiAnTml1ZScsXG4gIE5GOiAnTm9yZm9sayBJc2xhbmQnLFxuICBNUDogJ05vcnRoZXJuIE1hcmlhbmEgSXNsYW5kcycsXG4gIE5POiAnTm9yd2F5JyxcbiAgT006ICdPbWFuJyxcbiAgUEs6ICdQYWtpc3RhbicsXG4gIFBXOiAnUGFsYXUnLFxuICBQUzogJ1BhbGVzdGluaWFuIFRlcnJpdG9yeSwgT2NjdXBpZWQnLFxuICBQQTogJ1BhbmFtYScsXG4gIFBHOiAnUGFwdWEgTmV3IEd1aW5lYScsXG4gIFBZOiAnUGFyYWd1YXknLFxuICBQRTogJ1BlcnUnLFxuICBQSDogJ1BoaWxpcHBpbmVzJyxcbiAgUE46ICdQaXRjYWlybicsXG4gIFBMOiAnUG9sYW5kJyxcbiAgUFQ6ICdQb3J0dWdhbCcsXG4gIFBSOiAnUHVlcnRvIFJpY28nLFxuICBRQTogJ1FhdGFyJyxcbiAgUkU6ICdSZXVuaW9uJyxcbiAgUk86ICdSb21hbmlhJyxcbiAgUlU6ICdSdXNzaWFuIEZlZGVyYXRpb24nLFxuICBSVzogJ1J3YW5kYScsXG4gIEJMOiAnU2FpbnQgQmFydGhlbGVteScsXG4gIFNIOiAnU2FpbnQgSGVsZW5hJyxcbiAgS046ICdTYWludCBLaXR0cyBBbmQgTmV2aXMnLFxuICBMQzogJ1NhaW50IEx1Y2lhJyxcbiAgTUY6ICdTYWludCBNYXJ0aW4nLFxuICBQTTogJ1NhaW50IFBpZXJyZSBBbmQgTWlxdWVsb24nLFxuICBWQzogJ1NhaW50IFZpbmNlbnQgQW5kIEdyZW5hZGluZXMnLFxuICBXUzogJ1NhbW9hJyxcbiAgU006ICdTYW4gTWFyaW5vJyxcbiAgU1Q6ICdTYW8gVG9tZSBBbmQgUHJpbmNpcGUnLFxuICBTQTogJ1NhdWRpIEFyYWJpYScsXG4gIFNOOiAnU2VuZWdhbCcsXG4gIFJTOiAnU2VyYmlhJyxcbiAgU0M6ICdTZXljaGVsbGVzJyxcbiAgU0w6ICdTaWVycmEgTGVvbmUnLFxuICBTRzogJ1NpbmdhcG9yZScsXG4gIFNLOiAnU2xvdmFraWEnLFxuICBTSTogJ1Nsb3ZlbmlhJyxcbiAgU0I6ICdTb2xvbW9uIElzbGFuZHMnLFxuICBTTzogJ1NvbWFsaWEnLFxuICBaQTogJ1NvdXRoIEFmcmljYScsXG4gIEdTOiAnU291dGggR2VvcmdpYSBBbmQgU2FuZHdpY2ggSXNsLicsXG4gIEVTOiAnU3BhaW4nLFxuICBMSzogJ1NyaSBMYW5rYScsXG4gIFNEOiAnU3VkYW4nLFxuICBTUjogJ1N1cmluYW1lJyxcbiAgU0o6ICdTdmFsYmFyZCBBbmQgSmFuIE1heWVuJyxcbiAgU1o6ICdTd2F6aWxhbmQnLFxuICBTRTogJ1N3ZWRlbicsXG4gIENIOiAnU3dpdHplcmxhbmQnLFxuICBTWTogJ1N5cmlhbiBBcmFiIFJlcHVibGljJyxcbiAgVFc6ICdUYWl3YW4nLFxuICBUSjogJ1RhamlraXN0YW4nLFxuICBUWjogJ1RhbnphbmlhJyxcbiAgVEg6ICdUaGFpbGFuZCcsXG4gIFRMOiAnVGltb3ItTGVzdGUnLFxuICBURzogJ1RvZ28nLFxuICBUSzogJ1Rva2VsYXUnLFxuICBUTzogJ1RvbmdhJyxcbiAgVFQ6ICdUcmluaWRhZCBBbmQgVG9iYWdvJyxcbiAgVE46ICdUdW5pc2lhJyxcbiAgVFI6ICdUdXJrZXknLFxuICBUTTogJ1R1cmttZW5pc3RhbicsXG4gIFRDOiAnVHVya3MgQW5kIENhaWNvcyBJc2xhbmRzJyxcbiAgVFY6ICdUdXZhbHUnLFxuICBVRzogJ1VnYW5kYScsXG4gIFVBOiAnVWtyYWluZScsXG4gIEFFOiAnVW5pdGVkIEFyYWIgRW1pcmF0ZXMnLFxuICBHQjogJ1VuaXRlZCBLaW5nZG9tJyxcbiAgVVM6ICdVbml0ZWQgU3RhdGVzJyxcbiAgVU06ICdVbml0ZWQgU3RhdGVzIE91dGx5aW5nIElzbGFuZHMnLFxuICBVWTogJ1VydWd1YXknLFxuICBVWjogJ1V6YmVraXN0YW4nLFxuICBWVTogJ1ZhbnVhdHUnLFxuICBWRTogJ1ZlbmV6dWVsYScsXG4gIFZOOiAnVmlldCBOYW0nLFxuICBWRzogJ1ZpcmdpbiBJc2xhbmRzLCBCcml0aXNoJyxcbiAgVkk6ICdWaXJnaW4gSXNsYW5kcywgVS5TLicsXG4gIFdGOiAnV2FsbGlzIEFuZCBGdXR1bmEnLFxuICBFSDogJ1dlc3Rlcm4gU2FoYXJhJyxcbiAgWUU6ICdZZW1lbicsXG4gIFpNOiAnWmFtYmlhJyxcbiAgWlc6ICdaaW1iYWJ3ZScsXG59O1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0Q291bnRyeU5hbWUoY291bnRyeUNvZGU6IGFueSkge1xuICBpZiAoaXNvQ291bnRyaWVzLmhhc093blByb3BlcnR5KGNvdW50cnlDb2RlKSkge1xuICAgIHJldHVybiBpc29Db3VudHJpZXNbY291bnRyeUNvZGVdO1xuICB9IGVsc2Uge1xuICAgIHJldHVybiBjb3VudHJ5Q29kZTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gY2xlYW5UYWdJZHMocmF3OiBhbnlbXSkge1xuICByZXR1cm4gcmF3Lm1hcChpZCA9PiBpZC50cmltKCkpICAgICAgICAgICAgLy8gVHJpbSBlYWNoIElEIGVudHJ5IHRvIHJlbW92ZSB3aGl0ZXNwYWNlXG4gICAgLmZpbHRlcihpZCA9PiAvXlxcZCskLy50ZXN0KGlkKSkgIC8vIFVzZSBhIHJlZ3VsYXIgZXhwcmVzc2lvbiB0byBlbnN1cmUgdGhlIElEIGlzIGVudGlyZWx5IG51bWVyaWMuXG4gICAgLm1hcChpZCA9PiBOdW1iZXIoaWQpKTsgICAgICAgICAgLy8gQ29udmVydCB0aGUgcmVtYWluaW5nLCB2YWxpZCBJRCBlbnRyaWVzIGludG8gbnVtYmVyc1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0TWVyY2hpU291cmNlSm9iVGFncygpOiBhbnlbXSB7XG4gIGlmICh0eXBlb2YgbG9jYWxTdG9yYWdlICE9PSAndW5kZWZpbmVkJyAmJiBsb2NhbFN0b3JhZ2UgIT09IG51bGwpIHtcbiAgICBjb25zdCBtZXJjaGlTb3VyY2UgPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgnbWVyY2hpX3NvdXJjZScpO1xuXG4gICAgaWYgKG1lcmNoaVNvdXJjZSkge1xuICAgICAgY29uc3QgaWRzID0gY2xlYW5UYWdJZHMobWVyY2hpU291cmNlLnNwbGl0KCcsJykpO1xuICAgICAgcmV0dXJuIGlkcy5tYXAoKGlkOiBudW1iZXIpID0+ICh7IGlkIH0pKTtcbiAgICB9XG4gICAgLy8gSWYgXCJtZXJjaGlfc291cmNlXCIgaXMgbm90IGZvdW5kIGluIGxvY2FsU3RvcmFnZSwgcmV0dXJuIGFuIGVtcHR5IGFycmF5LlxuICAgIHJldHVybiBbXTtcbiAgfVxuICByZXR1cm4gW107XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzb3J0QnlQb3NpdGlvbihvcHRpb25zOiBhbnlbXSk6IGFueVtdIHtcbiAgcmV0dXJuIG9wdGlvbnMubWFwKChvYmo6IGFueSkgPT4ge1xuICAgIGNvbnN0IHBvc2l0aW9uID0gdHlwZW9mIG9iai5wb3NpdGlvbiA9PT0gJ3N0cmluZydcbiAgICAgID8gcGFyc2VJbnQob2JqLnBvc2l0aW9uLCAxMClcbiAgICAgIDogb2JqLnBvc2l0aW9uO1xuICAgIHJldHVybiB7XG4gICAgICAuLi5vYmosXG4gICAgICBwb3NpdGlvbjogdHlwZW9mIHBvc2l0aW9uID09PSAnbnVtYmVyJyA/IHBvc2l0aW9uIDogMCxcbiAgICB9O1xuICB9KS5zb3J0KChhLCBiKSA9PiB7XG4gICAgY29uc3QgYVBvc2l0aW9uID0gdHlwZW9mIGEucG9zaXRpb24gPT09ICdudW1iZXInID8gYS5wb3NpdGlvbiA6IDA7XG4gICAgY29uc3QgYlBvc2l0aW9uID0gdHlwZW9mIGIucG9zaXRpb24gPT09ICdudW1iZXInID8gYi5wb3NpdGlvbiA6IDA7XG4gICAgcmV0dXJuIGFQb3NpdGlvbiAtIGJQb3NpdGlvbjtcbiAgfSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjbGVhbkpvYlZhcmlhdGlvbnNBbmRHcm91cHMoam9iSnNvbjogYW55KSB7XG4gIGNvbnN0IHsgdmFyaWF0aW9ucywgdmFyaWF0aW9uc0dyb3VwcyB9ID0gam9iSnNvbjtcbiAgY29uc3QgaGFzR3JvdXBzID0gQm9vbGVhbih2YXJpYXRpb25zR3JvdXBzICYmIHZhcmlhdGlvbnNHcm91cHMubGVuZ3RoKTtcbiAgY29uc3QgaGFzVmFyaWF0aW9ucyA9IEJvb2xlYW4odmFyaWF0aW9ucyAmJiB2YXJpYXRpb25zLmxlbmd0aCk7XG4gIFxuICAvLyBMb29wIG92ZXIgaW5kaXZpZHVhbCB2YXJpYXRpb25zIGFuZCBjaGVjayBpZiB0aGUgdmFyaWF0aW9uIGlzIGEganNvbiBzdHJpbmcsIGlmIGl0IGlzIGNvbnZlcnQgaXQgdG8gYW4gb2JqZWN0XG4gIGlmIChoYXNWYXJpYXRpb25zKSB7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCB2YXJpYXRpb25zLmxlbmd0aDsgaSsrKSB7XG4gICAgICB2YXJpYXRpb25zW2ldID0gY2xlYW5Gb3JtVmFyaWF0aW9uSnNvbih2YXJpYXRpb25zW2ldKTtcbiAgICB9XG4gICAgam9iSnNvbi52YXJpYXRpb25zID0gdmFyaWF0aW9ucztcbiAgfVxuICBcbiAgaWYgKGhhc0dyb3Vwcykge1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdmFyaWF0aW9uc0dyb3Vwcy5sZW5ndGg7IGkrKykge1xuICAgICAgLy8gU2V0IGRlZmF1bHQgcXVhbnRpdHkgaWYgbm90IHByZXNlbnRcbiAgICAgIGNvbnN0IGdyb3VwID0gdmFyaWF0aW9uc0dyb3Vwc1tpXTtcbiAgICAgIGlmICghZ3JvdXAucXVhbnRpdHkpIHtcbiAgICAgICAgZ3JvdXAucXVhbnRpdHkgPSAwO1xuICAgICAgfVxuICAgICAgXG4gICAgICAvLyBIYW5kbGUgdmFyaWF0aW9ucyB3aXRoaW4gdGhlIGdyb3VwIC0gY29udmVydCBKU09OIHN0cmluZ3MgdG8gb2JqZWN0c1xuICAgICAgaWYgKGdyb3VwLnZhcmlhdGlvbnMgJiYgQXJyYXkuaXNBcnJheShncm91cC52YXJpYXRpb25zKSkge1xuICAgICAgICBmb3IgKGxldCBqID0gMDsgaiA8IGdyb3VwLnZhcmlhdGlvbnMubGVuZ3RoOyBqKyspIHtcbiAgICAgICAgICBncm91cC52YXJpYXRpb25zW2pdID0gY2xlYW5Gb3JtVmFyaWF0aW9uSnNvbihncm91cC52YXJpYXRpb25zW2pdKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBqb2JKc29uLnZhcmlhdGlvbnNHcm91cHMgPSB2YXJpYXRpb25zR3Jv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
516
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJNZXJjaGkiLCJWYXJpYXRpb25GaWVsZCIsImZvcm1hdEN1cnJlbmN5IiwiUHJvZHVjdFR5cGUiLCJGaWVsZFR5cGUiLCJjbGVhbkZvcm1WYXJpYXRpb25Kc29uIiwiZGVmYXVsdEdyb3VwUXVhbnRpdHkiLCJlbmZvcmNlTW9xUGVyR3JvdXAiLCJwcm9kdWN0TWluaW11bVF1YW50aXR5IiwicHJvZHVjdE1vcUZsb29yIiwicG5nT3B0aW9uTm90Rm91bmQiLCJyZXF1aXJlIiwicmVuZGVyU2luZ2xlQ29zdEluZGljYXRpb24iLCJjb3N0IiwiY3VycmVuY3lDb2RlIiwiY29zdFR5cGVTdHJpbmciLCJjdXJyZW5jeU9wdGlvbnMiLCJjdXJyZW5jeSIsInNob3dDb2RlSWZOb1N5bWJvbCIsImNvc3RTdHJpbmciLCJhbW91bnQiLCJwYXJzZUZsb2F0IiwiTnVtYmVyIiwiaXNGaW5pdGUiLCJjb3N0RGV0YWlsIiwib25jZU9mZkNvc3QiLCJ1bml0Q29zdCIsIm9uY2VPZmZDb3N0RGVzY3JpcHRpb24iLCJ1bml0Q29zdERlc2NyaXB0aW9uIiwidmFyaWF0aW9uRmllbGRDb3N0RGV0YWlsIiwidmFyaWF0aW9uRmllbGQiLCJ2YXJpYXRpb25Db3N0IiwidmFyaWF0aW9uVW5pdENvc3QiLCJ2YXJpYXRpb25Db3N0RGV0YWlsIiwidmFyaWF0aW9uIiwidmFyaWF0aW9uRmllbGRPcHRpb25Db3N0RGV0YWlsIiwib3B0aW9uIiwiX29wdGlvbiRvbmNlT2ZmQ29zdCIsIl9vcHRpb24kdW5pdENvc3QiLCJwcm9kdWN0U2V0dXBDb3N0RGV0YWlsIiwicHJvZHVjdCIsInNldHVwUHJpY2UiLCJsYWJlbCIsInNldHVwUGVyR3JvdXAiLCJzcGxpdFNlbGVjdGVkT3B0aW9ucyIsInZhbHVlIiwiQXJyYXkiLCJpc0FycmF5Iiwic3BsaXQiLCJzeW5jU2VsZWN0ZWRPcHRpb25zRnJvbVZhbHVlIiwiX3ZhcmlhdGlvbiR2YXJpYXRpb25GIiwiX3R5cGVvZiIsImZpZWxkVHlwZSIsIkNPTE9VUl9FWFRSQUNUIiwic2VsZWN0YWJsZSIsInNlbGVjdGFibGVPcHRpb25zIiwibGVuZ3RoIiwic2VsZWN0ZWRJZHMiLCJtYXAiLCJTdHJpbmciLCJmaWx0ZXIiLCJCb29sZWFuIiwicmVzb2x2ZWQiLCJpbmNsdWRlcyIsIm9wdGlvbklkIiwiX29iamVjdFNwcmVhZCIsInNlbGVjdGVkT3B0aW9ucyIsInN5bmNKb2JTZWxlY3RlZE9wdGlvbnNGcm9tVmFsdWVzIiwiam9iIiwibmV4dCIsInZhcmlhdGlvbnMiLCJ2YXJpYXRpb25zR3JvdXBzIiwiZ3JvdXAiLCJzdXBwbGllclNlbGxlckVkaXRhYmxlUHJvZHVjdFR5cGVzIiwiU1VQUExJRVJfTU9EIiwiQ0xPTkVEX1NVUFBMSUVSX01PRCIsIm9wdGlvbkltYWdlVXJsIiwiaW1hZ2UiLCJpbWFnZU5vdEZvdW5kIiwic3JjIiwibGlua2VkRmlsZSIsInZpZXdVcmwiLCJhbGxvd2VkRmlsZVR5cGVzIiwiZmlsZVR5cGVNYXBwaW5nIiwiYWxsb3dGaWxlSnBlZyIsImFsbG93RmlsZUdpZiIsImFsbG93RmlsZVBkZiIsImFsbG93RmlsZVBuZyIsImFsbG93RmlsZUFpIiwiYWxsb3dlZFR5cGVzIiwiT2JqZWN0Iiwia2V5cyIsImF0dHJpYnV0ZU5hbWUiLCJqb2luIiwiVmFyaWF0aW9uRmllbGRDbGFzcyIsInByb3BlcnR5IiwidHlwZSIsInByb3RvdHlwZSIsIm1lcmNoaSIsImVuc3VyZVZhcmlhdGlvbk9wdGlvbkZsYWdzIiwiaXNWaXNpYmxlIiwidW5kZWZpbmVkIiwiZm9yRWFjaCIsImF2YWlsYWJsZSIsImJ1aWxkRW1wdHlWYXJpYXRpb25Gcm9tRmllbGQiLCJmaWVsZCIsImZpZWxkRW50IiwiZnJvbUpzb24iLCJtYWtlRGlydHkiLCJ2YXJpYXRpb25Kc29uIiwiYnVpbGRFbXB0eVZhcmlhdGlvbiIsInRvSnNvbiIsImFsbG93QWxsUGFudG9uZXMiLCJsYXlvdXRTcGFuIiwiYnVpbGRFbXB0eVZhcmlhdGlvbkdyb3VwIiwicHJvZHVjdEVudCIsIlByb2R1Y3QiLCJuZXdHcm91cCIsImdyb3VwQ29zdCIsInF1YW50aXR5IiwiZ3JvdXBKc29uIiwiaXNQcm9kdWN0U3VwcGxpZXJNT0QiLCJwcm9kdWN0VHlwZSIsIlNVUFBMSUVSX1JFU0VMTF9NT0QiLCJpc1Byb2R1Y3RUeXBlRmlsZURvd25sb2FkIiwicGFyc2VJbnQiLCJTRUxMRVJfRklMRV9ET1dOTE9BRCIsImlzUHJvZHVjdEZpbGVEb3dubG9hZCIsImlzUHJvZHVjdExlYWRGb3JtIiwiTEVBRF9GT1JNIiwiaXNvQ291bnRyaWVzIiwiQUYiLCJBWCIsIkFMIiwiRFoiLCJBUyIsIkFEIiwiQU8iLCJBSSIsIkFRIiwiQUciLCJBUiIsIkFNIiwiQVciLCJBVSIsIkFUIiwiQVoiLCJCUyIsIkJIIiwiQkQiLCJCQiIsIkJZIiwiQkUiLCJCWiIsIkJKIiwiQk0iLCJCVCIsIkJPIiwiQkEiLCJCVyIsIkJWIiwiQlIiLCJJTyIsIkJOIiwiQkciLCJCRiIsIkJJIiwiS0giLCJDTSIsIkNBIiwiQ1YiLCJLWSIsIkNGIiwiVEQiLCJDTCIsIkNOIiwiQ1giLCJDQyIsIkNPIiwiS00iLCJDRyIsIkNEIiwiQ0siLCJDUiIsIkNJIiwiSFIiLCJDVSIsIkNZIiwiQ1oiLCJESyIsIkRKIiwiRE0iLCJETyIsIkVDIiwiRUciLCJTViIsIkdRIiwiRVIiLCJFRSIsIkVUIiwiRksiLCJGTyIsIkZKIiwiRkkiLCJGUiIsIkdGIiwiUEYiLCJURiIsIkdBIiwiR00iLCJHRSIsIkRFIiwiR0giLCJHSSIsIkdSIiwiR0wiLCJHRCIsIkdQIiwiR1UiLCJHVCIsIkdHIiwiR04iLCJHVyIsIkdZIiwiSFQiLCJITSIsIlZBIiwiSE4iLCJISyIsIkhVIiwiSVMiLCJJTiIsIklEIiwiSVIiLCJJUSIsIklFIiwiSU0iLCJJTCIsIklUIiwiSk0iLCJKUCIsIkpFIiwiSk8iLCJLWiIsIktFIiwiS0kiLCJLUiIsIktXIiwiS0ciLCJMQSIsIkxWIiwiTEIiLCJMUyIsIkxSIiwiTFkiLCJMSSIsIkxUIiwiTFUiLCJNTyIsIk1LIiwiTUciLCJNVyIsIk1ZIiwiTVYiLCJNTCIsIk1UIiwiTUgiLCJNUSIsIk1SIiwiTVUiLCJZVCIsIk1YIiwiRk0iLCJNRCIsIk1DIiwiTU4iLCJNRSIsIk1TIiwiTUEiLCJNWiIsIk1NIiwiTkEiLCJOUiIsIk5QIiwiTkwiLCJBTiIsIk5DIiwiTloiLCJOSSIsIk5FIiwiTkciLCJOVSIsIk5GIiwiTVAiLCJOTyIsIk9NIiwiUEsiLCJQVyIsIlBTIiwiUEEiLCJQRyIsIlBZIiwiUEUiLCJQSCIsIlBOIiwiUEwiLCJQVCIsIlBSIiwiUUEiLCJSRSIsIlJPIiwiUlUiLCJSVyIsIkJMIiwiU0giLCJLTiIsIkxDIiwiTUYiLCJQTSIsIlZDIiwiV1MiLCJTTSIsIlNUIiwiU0EiLCJTTiIsIlJTIiwiU0MiLCJTTCIsIlNHIiwiU0siLCJTSSIsIlNCIiwiU08iLCJaQSIsIkdTIiwiRVMiLCJMSyIsIlNEIiwiU1IiLCJTSiIsIlNaIiwiU0UiLCJDSCIsIlNZIiwiVFciLCJUSiIsIlRaIiwiVEgiLCJUTCIsIlRHIiwiVEsiLCJUTyIsIlRUIiwiVE4iLCJUUiIsIlRNIiwiVEMiLCJUViIsIlVHIiwiVUEiLCJBRSIsIkdCIiwiVVMiLCJVTSIsIlVZIiwiVVoiLCJWVSIsIlZFIiwiVk4iLCJWRyIsIlZJIiwiV0YiLCJFSCIsIllFIiwiWk0iLCJaVyIsImdldENvdW50cnlOYW1lIiwiY291bnRyeUNvZGUiLCJoYXNPd25Qcm9wZXJ0eSIsImNsZWFuVGFnSWRzIiwicmF3IiwiaWQiLCJ0cmltIiwidGVzdCIsImdldE1lcmNoaVNvdXJjZUpvYlRhZ3MiLCJsb2NhbFN0b3JhZ2UiLCJtZXJjaGlTb3VyY2UiLCJnZXRJdGVtIiwiaWRzIiwic29ydEJ5UG9zaXRpb24iLCJvcHRpb25zIiwib2JqIiwicG9zaXRpb24iLCJzb3J0IiwiYSIsImIiLCJhUG9zaXRpb24iLCJiUG9zaXRpb24iLCJjbGVhbkpvYlZhcmlhdGlvbnNBbmRHcm91cHMiLCJqb2JKc29uIiwiaGFzR3JvdXBzIiwiaGFzVmFyaWF0aW9ucyIsImkiLCJqIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbXBvbmVudHMvdXRpbHMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTWVyY2hpLCBWYXJpYXRpb25GaWVsZCB9IGZyb20gJ0BtZXJjaGkvc2RrJztcbmltcG9ydCB7IGZvcm1hdEN1cnJlbmN5IH0gZnJvbSAnLi4vdXRpbHMvY3VycmVuY3knO1xuaW1wb3J0IHsgUHJvZHVjdFR5cGUsIEZpZWxkVHlwZSB9IGZyb20gJy4uL3V0aWxzL3R5cGVzJztcbmV4cG9ydCB7IGNsZWFuRm9ybVZhcmlhdGlvbkpzb24gfSBmcm9tICcuLi91dGlscy9jbGVhbkZvcm1WYXJpYXRpb25Kc29uJztcbmltcG9ydCB7IGNsZWFuRm9ybVZhcmlhdGlvbkpzb24gfSBmcm9tICcuLi91dGlscy9jbGVhbkZvcm1WYXJpYXRpb25Kc29uJztcbmltcG9ydCB7IGRlZmF1bHRHcm91cFF1YW50aXR5IH0gZnJvbSAnLi4vdXRpbHMvcXVhbnRpdHknO1xuZXhwb3J0IHtcbiAgZGVmYXVsdEdyb3VwUXVhbnRpdHksXG4gIGVuZm9yY2VNb3FQZXJHcm91cCxcbiAgcHJvZHVjdE1pbmltdW1RdWFudGl0eSxcbiAgcHJvZHVjdE1vcUZsb29yLFxufSBmcm9tICcuLi91dGlscy9xdWFudGl0eSc7XG5jb25zdCBwbmdPcHRpb25Ob3RGb3VuZCA9IHJlcXVpcmUoJy4uL2ltYWdlcy9wcm9kdWN0LW5vdC1mb3VuZC5wbmcnKTtcblxuZnVuY3Rpb24gcmVuZGVyU2luZ2xlQ29zdEluZGljYXRpb24oXG4gIGNvc3Q6IGFueSxcbiAgY3VycmVuY3lDb2RlOiBhbnksXG4gIGNvc3RUeXBlU3RyaW5nOiBzdHJpbmdcbikge1xuICBsZXQgY3VycmVuY3lPcHRpb25zID0geyBjdXJyZW5jeTogY3VycmVuY3lDb2RlLCBzaG93Q29kZUlmTm9TeW1ib2w6IGZhbHNlIH07XG4gIGxldCBjb3N0U3RyaW5nID0gJyc7XG4gIGNvbnN0IGFtb3VudCA9IHBhcnNlRmxvYXQoY29zdCk7XG5cbiAgaWYgKE51bWJlci5pc0Zpbml0ZShhbW91bnQpICYmIGFtb3VudCA+IDApIHtcbiAgICBjb3N0U3RyaW5nID0gZm9ybWF0Q3VycmVuY3koYW1vdW50LCBjdXJyZW5jeU9wdGlvbnMpO1xuICAgIGNvc3RTdHJpbmcgPSAnICsgJyArIGNvc3RTdHJpbmcgKyAnICcgKyBjb3N0VHlwZVN0cmluZztcbiAgfVxuICByZXR1cm4gY29zdFN0cmluZztcbn1cblxuY29uc3QgY29zdERldGFpbCA9IChvbmNlT2ZmQ29zdDogYW55LCB1bml0Q29zdDogYW55LCBjdXJyZW5jeUNvZGU6IHN0cmluZykgPT4ge1xuICBjb25zdCBvbmNlT2ZmQ29zdERlc2NyaXB0aW9uID0gcmVuZGVyU2luZ2xlQ29zdEluZGljYXRpb24oXG4gICAgcGFyc2VGbG9hdChvbmNlT2ZmQ29zdCksXG4gICAgY3VycmVuY3lDb2RlLFxuICAgICdvbmNlIG9mZidcbiAgKTtcbiAgY29uc3QgdW5pdENvc3REZXNjcmlwdGlvbiA9IHJlbmRlclNpbmdsZUNvc3RJbmRpY2F0aW9uKFxuICAgIHBhcnNlRmxvYXQodW5pdENvc3QpLFxuICAgIGN1cnJlbmN5Q29kZSxcbiAgICAncGVyIHVuaXQnXG4gICk7XG4gIHJldHVybiBvbmNlT2ZmQ29zdERlc2NyaXB0aW9uICsgdW5pdENvc3REZXNjcmlwdGlvbjtcbn07XG5cbmV4cG9ydCBmdW5jdGlvbiB2YXJpYXRpb25GaWVsZENvc3REZXRhaWwodmFyaWF0aW9uRmllbGQ6IGFueSkge1xuICBjb25zdCB7IHZhcmlhdGlvbkNvc3QsIHZhcmlhdGlvblVuaXRDb3N0LCBjdXJyZW5jeSB9ID0gdmFyaWF0aW9uRmllbGQ7XG4gIHJldHVybiBjb3N0RGV0YWlsKHZhcmlhdGlvbkNvc3QhLCB2YXJpYXRpb25Vbml0Q29zdCEsIGN1cnJlbmN5ISk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB2YXJpYXRpb25Db3N0RGV0YWlsKHZhcmlhdGlvbjogYW55KSB7XG4gIGNvbnN0IHsgb25jZU9mZkNvc3QsIHVuaXRDb3N0LCBjdXJyZW5jeSB9ID0gdmFyaWF0aW9uO1xuICByZXR1cm4gY29zdERldGFpbChvbmNlT2ZmQ29zdCEsIHVuaXRDb3N0ISwgY3VycmVuY3khKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHZhcmlhdGlvbkZpZWxkT3B0aW9uQ29zdERldGFpbChvcHRpb246IGFueSkge1xuICBjb25zdCB7IGN1cnJlbmN5IH0gPSBvcHRpb247XG4gIC8vIEZpZWxkIG9wdGlvbnMgdXNlIHZhcmlhdGlvbkNvc3Q7IHNlbGVjdGFibGUgVmFyaWF0aW9uT3B0aW9ucyB1c2Ugb25jZU9mZkNvc3QuXG4gIGNvbnN0IG9uY2VPZmZDb3N0ID0gb3B0aW9uLm9uY2VPZmZDb3N0ID8/IG9wdGlvbi52YXJpYXRpb25Db3N0O1xuICBjb25zdCB1bml0Q29zdCA9IG9wdGlvbi51bml0Q29zdCA/PyBvcHRpb24udmFyaWF0aW9uVW5pdENvc3Q7XG4gIHJldHVybiBjb3N0RGV0YWlsKG9uY2VPZmZDb3N0ISwgdW5pdENvc3QhLCBjdXJyZW5jeSEpO1xufVxuXG4vKiogUHJvZHVjdC1sZXZlbCBzZXR1cCBmZWUsIHNhbWUgXCIrICRYIOKAplwiIHN0eWxlIGFzIHZhcmlhdGlvbiBvbmNlLW9mZiBjb3N0cy4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwcm9kdWN0U2V0dXBDb3N0RGV0YWlsKHByb2R1Y3Q6IGFueSkge1xuICBjb25zdCBzZXR1cFByaWNlID0gcGFyc2VGbG9hdChwcm9kdWN0Py5zZXR1cFByaWNlKTtcbiAgaWYgKCFzZXR1cFByaWNlKSByZXR1cm4gJyc7XG4gIGNvbnN0IGxhYmVsID0gcHJvZHVjdC5zZXR1cFBlckdyb3VwID8gJ3NldHVwIHBlciBncm91cCcgOiAnc2V0dXAnO1xuICByZXR1cm4gcmVuZGVyU2luZ2xlQ29zdEluZGljYXRpb24oc2V0dXBQcmljZSwgcHJvZHVjdC5jdXJyZW5jeSwgbGFiZWwpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gc3BsaXRTZWxlY3RlZE9wdGlvbnModmFsdWU6IGFueSkge1xuICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcbiAgICByZXR1cm4gdmFsdWU7XG4gIH1cbiAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycgJiYgdmFsdWUpIHtcbiAgICByZXR1cm4gdmFsdWUuc3BsaXQoJywnKTtcbiAgfVxuICByZXR1cm4gW107XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzeW5jU2VsZWN0ZWRPcHRpb25zRnJvbVZhbHVlKHZhcmlhdGlvbjogYW55KTogYW55IHtcbiAgaWYgKCF2YXJpYXRpb24gfHwgdHlwZW9mIHZhcmlhdGlvbiAhPT0gJ29iamVjdCcpIHJldHVybiB2YXJpYXRpb247XG4gIGNvbnN0IGZpZWxkVHlwZSA9IE51bWJlcih2YXJpYXRpb24/LnZhcmlhdGlvbkZpZWxkPy5maWVsZFR5cGUpO1xuICBpZiAoZmllbGRUeXBlID09PSBGaWVsZFR5cGUuQ09MT1VSX0VYVFJBQ1QpIHJldHVybiB2YXJpYXRpb247XG5cbiAgY29uc3Qgc2VsZWN0YWJsZSA9IHZhcmlhdGlvbj8uc2VsZWN0YWJsZU9wdGlvbnMgfHwgW107XG4gIGlmICghc2VsZWN0YWJsZS5sZW5ndGgpIHJldHVybiB2YXJpYXRpb247XG5cbiAgY29uc3Qgc2VsZWN0ZWRJZHMgPSBzcGxpdFNlbGVjdGVkT3B0aW9ucyh2YXJpYXRpb24/LnZhbHVlKVxuICAgIC5tYXAoU3RyaW5nKVxuICAgIC5maWx0ZXIoQm9vbGVhbik7XG4gIGlmICghc2VsZWN0ZWRJZHMubGVuZ3RoKSByZXR1cm4gdmFyaWF0aW9uO1xuXG4gIGNvbnN0IHJlc29sdmVkID0gc2VsZWN0YWJsZS5maWx0ZXIoKG9wdGlvbjogYW55KSA9PlxuICAgIHNlbGVjdGVkSWRzLmluY2x1ZGVzKFN0cmluZyhvcHRpb24ub3B0aW9uSWQpKVxuICApO1xuICBpZiAoIXJlc29sdmVkLmxlbmd0aCkgcmV0dXJuIHZhcmlhdGlvbjtcblxuICByZXR1cm4geyAuLi52YXJpYXRpb24sIHNlbGVjdGVkT3B0aW9uczogcmVzb2x2ZWQgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHN5bmNKb2JTZWxlY3RlZE9wdGlvbnNGcm9tVmFsdWVzKGpvYjogYW55KTogYW55IHtcbiAgaWYgKCFqb2IgfHwgdHlwZW9mIGpvYiAhPT0gJ29iamVjdCcpIHJldHVybiBqb2I7XG4gIGNvbnN0IG5leHQgPSB7IC4uLmpvYiB9O1xuICBpZiAoQXJyYXkuaXNBcnJheShuZXh0LnZhcmlhdGlvbnMpKSB7XG4gICAgbmV4dC52YXJpYXRpb25zID0gbmV4dC52YXJpYXRpb25zLm1hcChzeW5jU2VsZWN0ZWRPcHRpb25zRnJvbVZhbHVlKTtcbiAgfVxuICBpZiAoQXJyYXkuaXNBcnJheShuZXh0LnZhcmlhdGlvbnNHcm91cHMpKSB7XG4gICAgbmV4dC52YXJpYXRpb25zR3JvdXBzID0gbmV4dC52YXJpYXRpb25zR3JvdXBzLm1hcCgoZ3JvdXA6IGFueSkgPT4gKHtcbiAgICAgIC4uLmdyb3VwLFxuICAgICAgdmFyaWF0aW9uczogQXJyYXkuaXNBcnJheShncm91cD8udmFyaWF0aW9ucylcbiAgICAgICAgPyBncm91cC52YXJpYXRpb25zLm1hcChzeW5jU2VsZWN0ZWRPcHRpb25zRnJvbVZhbHVlKVxuICAgICAgICA6IGdyb3VwPy52YXJpYXRpb25zLFxuICAgIH0pKTtcbiAgfVxuICByZXR1cm4gbmV4dDtcbn1cblxuZXhwb3J0IGNvbnN0IHN1cHBsaWVyU2VsbGVyRWRpdGFibGVQcm9kdWN0VHlwZXM6IEFycmF5PG51bWJlcj4gPSBbXG4gIFByb2R1Y3RUeXBlLlNVUFBMSUVSX01PRCxcbiAgUHJvZHVjdFR5cGUuQ0xPTkVEX1NVUFBMSUVSX01PRCxcbl07XG5cbmV4cG9ydCBmdW5jdGlvbiBvcHRpb25JbWFnZVVybChvcHRpb246IGFueSkge1xuICBjb25zdCBpbWFnZSA9IHBuZ09wdGlvbk5vdEZvdW5kID8gKHBuZ09wdGlvbk5vdEZvdW5kLmRlZmF1bHQgfHwgcG5nT3B0aW9uTm90Rm91bmQpIDogJyc7XG4gIGNvbnN0IGltYWdlTm90Rm91bmQgPSBpbWFnZSA/IChpbWFnZS5zcmMgfHwgaW1hZ2UpIDogJyc7XG4gIHJldHVybiBvcHRpb24ubGlua2VkRmlsZVxuICAgID8gb3B0aW9uLmxpbmtlZEZpbGVcbiAgICAgID8gb3B0aW9uLmxpbmtlZEZpbGUudmlld1VybFxuICAgICAgOiBpbWFnZU5vdEZvdW5kXG4gICAgOiBpbWFnZU5vdEZvdW5kO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gYWxsb3dlZEZpbGVUeXBlcyh2YXJpYXRpb25GaWVsZDogYW55KTogc3RyaW5nIHtcbiAgY29uc3QgZmlsZVR5cGVNYXBwaW5nOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9ID0ge1xuICAgIGFsbG93RmlsZUpwZWc6ICcuanBlZycsXG4gICAgYWxsb3dGaWxlR2lmOiAnLmdpZicsXG4gICAgYWxsb3dGaWxlUGRmOiAnLnBkZicsXG4gICAgYWxsb3dGaWxlUG5nOiAnLnBuZycsXG4gICAgYWxsb3dGaWxlQWk6ICcuYWknLFxuICB9O1xuXG4gIGNvbnN0IGFsbG93ZWRUeXBlczogc3RyaW5nW10gPSBPYmplY3Qua2V5cyhmaWxlVHlwZU1hcHBpbmcpXG4gICAgLmZpbHRlcigoYXR0cmlidXRlTmFtZSkgPT4gdmFyaWF0aW9uRmllbGRbYXR0cmlidXRlTmFtZV0pXG4gICAgLm1hcCgoYXR0cmlidXRlTmFtZSkgPT4gZmlsZVR5cGVNYXBwaW5nW2F0dHJpYnV0ZU5hbWVdKTtcblxuICByZXR1cm4gYWxsb3dlZFR5cGVzLmpvaW4oJywnKTtcbn1cblxuLy8gUHVibGlzaGVkIEBtZXJjaGkvc2RrIGRyb3BzIHVua25vd24ga2V5cy4gUmVnaXN0ZXIgZmxhZ3Mgb24gdGhlIGNsYXNzXG4vLyB0aGlzIHBhY2thZ2UgYWN0dWFsbHkgY29uc3RydWN0cywgb3IgYSByZWJ1aWx0IHZhcmlhdGlvbiBsb3NlcyB0aGVtLlxuY29uc3QgVmFyaWF0aW9uRmllbGRDbGFzcyA9IFZhcmlhdGlvbkZpZWxkIGFzIHVua25vd24gYXMge1xuICBwcm9wZXJ0eTogKG9wdGlvbnM/OiB7IHR5cGU/OiB1bmtub3duIH0pID0+ICh0YXJnZXQ6IG9iamVjdCwga2V5OiBzdHJpbmcpID0+IHZvaWQ7XG4gIHByb3RvdHlwZTogb2JqZWN0O1xufTtcblZhcmlhdGlvbkZpZWxkQ2xhc3MucHJvcGVydHkoeyB0eXBlOiBCb29sZWFuIH0pKFxuICBWYXJpYXRpb25GaWVsZENsYXNzLnByb3RvdHlwZSxcbiAgJ2FsbG93QWxsUGFudG9uZXMnLFxuKTtcblZhcmlhdGlvbkZpZWxkQ2xhc3MucHJvcGVydHkoeyB0eXBlOiBOdW1iZXIgfSkoXG4gIFZhcmlhdGlvbkZpZWxkQ2xhc3MucHJvdG90eXBlLFxuICAnbGF5b3V0U3BhbicsXG4pO1xuXG5jb25zdCBtZXJjaGkgPSBuZXcgTWVyY2hpKCk7XG5cbmZ1bmN0aW9uIGVuc3VyZVZhcmlhdGlvbk9wdGlvbkZsYWdzKHZhcmlhdGlvbjogYW55KSB7XG4gIGlmICh2YXJpYXRpb24uaXNWaXNpYmxlID09PSB1bmRlZmluZWQpIHZhcmlhdGlvbi5pc1Zpc2libGUgPSB0cnVlO1xuICAodmFyaWF0aW9uLnNlbGVjdGFibGVPcHRpb25zIHx8IFtdKS5mb3JFYWNoKChvcHRpb246IGFueSkgPT4ge1xuICAgIGlmIChvcHRpb24uaXNWaXNpYmxlID09PSB1bmRlZmluZWQpIG9wdGlvbi5pc1Zpc2libGUgPSB0cnVlO1xuICAgIGlmIChvcHRpb24uYXZhaWxhYmxlID09PSB1bmRlZmluZWQpIG9wdGlvbi5hdmFpbGFibGUgPSB0cnVlO1xuICB9KTtcbn1cblxuLyoqIEJ1aWxkIGEgZGVmYXVsdCB2YXJpYXRpb24gSlNPTiBmb3IgYSBwcm9kdWN0IHZhcmlhdGlvbiBmaWVsZCAoZ2F0ZWQgZmllbGRzKS4gKi9cbmV4cG9ydCBmdW5jdGlvbiBidWlsZEVtcHR5VmFyaWF0aW9uRnJvbUZpZWxkKGZpZWxkOiBhbnkpIHtcbiAgY29uc3QgZmllbGRFbnQgPSBuZXcgbWVyY2hpLlZhcmlhdGlvbkZpZWxkKCk7XG4gIGZpZWxkRW50LmZyb21Kc29uKHsgLi4uZmllbGQgfSwgeyBtYWtlRGlydHk6IGZhbHNlIH0pO1xuICBjb25zdCB2YXJpYXRpb25Kc29uID0gZmllbGRFbnQuYnVpbGRFbXB0eVZhcmlhdGlvbigpLnRvSnNvbigpO1xuICBpZiAoXG4gICAgdmFyaWF0aW9uSnNvbj8udmFyaWF0aW9uRmllbGQgJiZcbiAgICBmaWVsZD8uYWxsb3dBbGxQYW50b25lcyAhPSBudWxsICYmXG4gICAgdmFyaWF0aW9uSnNvbi52YXJpYXRpb25GaWVsZC5hbGxvd0FsbFBhbnRvbmVzID09IG51bGxcbiAgKSB7XG4gICAgdmFyaWF0aW9uSnNvbi52YXJpYXRpb25GaWVsZC5hbGxvd0FsbFBhbnRvbmVzID0gQm9vbGVhbihmaWVsZC5hbGxvd0FsbFBhbnRvbmVzKTtcbiAgfVxuICBpZiAoXG4gICAgdmFyaWF0aW9uSnNvbj8udmFyaWF0aW9uRmllbGQgJiZcbiAgICBmaWVsZD8ubGF5b3V0U3BhbiAhPSBudWxsICYmXG4gICAgdmFyaWF0aW9uSnNvbi52YXJpYXRpb25GaWVsZC5sYXlvdXRTcGFuID09IG51bGxcbiAgKSB7XG4gICAgdmFyaWF0aW9uSnNvbi52YXJpYXRpb25GaWVsZC5sYXlvdXRTcGFuID0gZmllbGQubGF5b3V0U3BhbjtcbiAgfVxuICBlbnN1cmVWYXJpYXRpb25PcHRpb25GbGFncyh2YXJpYXRpb25Kc29uKTtcbiAgcmV0dXJuIHZhcmlhdGlvbkpzb247XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBidWlsZEVtcHR5VmFyaWF0aW9uR3JvdXAocHJvZHVjdDogYW55KSB7XG4gIGNvbnN0IHByb2R1Y3RFbnQgPSBuZXcgbWVyY2hpLlByb2R1Y3QoKTtcbiAgcHJvZHVjdEVudC5mcm9tSnNvbih7Li4ucHJvZHVjdH0sIHsgbWFrZURpcnR5OiBmYWxzZX0pO1xuICBjb25zdCBuZXdHcm91cCA9IG5ldyBwcm9kdWN0RW50LmJ1aWxkRW1wdHlWYXJpYXRpb25Hcm91cCgpO1xuICBuZXdHcm91cC5ncm91cENvc3QgPSAwO1xuICBuZXdHcm91cC5xdWFudGl0eSA9IGRlZmF1bHRHcm91cFF1YW50aXR5KHByb2R1Y3QpO1xuICBjb25zdCBncm91cEpzb24gPSBuZXdHcm91cC50b0pzb24oKTtcbiAgLy8gVGhlIFNESydzIGJ1aWxkVmFyaWF0aW9uT3B0aW9uIGRvZXMgbm90IHNldCBgaXNWaXNpYmxlYC9gYXZhaWxhYmxlYCBvbiB0aGVcbiAgLy8gYnVpbHQgc2VsZWN0YWJsZSBvcHRpb25zLiBJbiBzZXJ2ZXIgbW9kZSB0aGVzZSBhcmUgcmVwb3B1bGF0ZWQgYnkgdGhlXG4gIC8vIGVzdGltYXRlIHJvdW5kLXRyaXAgKyBmb3JtIHJlc2V0LCBidXQgaW4gY2xpZW50IG1vZGUgKG5vIHJvdW5kLXRyaXApIHRoZVxuICAvLyBvcHRpb25zIHdvdWxkIHJlbmRlciBkaXNhYmxlZCAoXCItIGRpc2FibGVkXCIpLiBEZWZhdWx0IHRoZW0gaGVyZSBzbyBhIGZyZXNobHlcbiAgLy8gYWRkZWQgZ3JvdXAgaXMgdXNhYmxlOyBvcHRpb24tbGV2ZWwgY29uZGl0aW9uYWwgdmlzaWJpbGl0eSAoc2VsZWN0ZWRCeSkgaXNcbiAgLy8gcmVzb2x2ZWQgb24gc3Vic2VxdWVudCBpbnRlcmFjdGlvbnMgaW4gc2VydmVyIG1vZGUuXG4gIChncm91cEpzb24udmFyaWF0aW9ucyB8fCBbXSkuZm9yRWFjaChlbnN1cmVWYXJpYXRpb25PcHRpb25GbGFncyk7XG4gIHJldHVybiBncm91cEpzb247XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1Byb2R1Y3RTdXBwbGllck1PRChwcm9kdWN0OiBhbnkpIHtcbiAgY29uc3QgcHJvZHVjdFR5cGUgPSBwcm9kdWN0ICYmIHByb2R1Y3QucHJvZHVjdFR5cGU7XG4gIHJldHVybiAoXG4gICAgcHJvZHVjdCAmJlxuICAgIFtcbiAgICAgIFN0cmluZyhQcm9kdWN0VHlwZS5TVVBQTElFUl9NT0QpLFxuICAgICAgU3RyaW5nKFByb2R1Y3RUeXBlLlNVUFBMSUVSX1JFU0VMTF9NT0QpLFxuICAgIF0uaW5jbHVkZXMoU3RyaW5nKHByb2R1Y3RUeXBlKSlcbiAgKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzUHJvZHVjdFR5cGVGaWxlRG93bmxvYWQocHJvZHVjdFR5cGU6IGFueSkge1xuICByZXR1cm4gcGFyc2VJbnQocHJvZHVjdFR5cGUsIDEwKSA9PT0gUHJvZHVjdFR5cGUuU0VMTEVSX0ZJTEVfRE9XTkxPQUQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1Byb2R1Y3RGaWxlRG93bmxvYWQocHJvZHVjdDogYW55KSB7XG4gIGNvbnN0IHsgcHJvZHVjdFR5cGUgfSA9IHByb2R1Y3Q7XG4gIHJldHVybiBpc1Byb2R1Y3RUeXBlRmlsZURvd25sb2FkKHByb2R1Y3RUeXBlKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzUHJvZHVjdExlYWRGb3JtKHByb2R1Y3Q6IGFueSkge1xuICBjb25zdCBwcm9kdWN0VHlwZSA9IHByb2R1Y3QgJiYgcHJvZHVjdC5wcm9kdWN0VHlwZTtcbiAgcmV0dXJuIHBhcnNlSW50KHByb2R1Y3RUeXBlLCAxMCkgPT09IFByb2R1Y3RUeXBlLkxFQURfRk9STTtcbn1cblxuZXhwb3J0IGNvbnN0IGlzb0NvdW50cmllczogYW55ID0ge1xuICBBRjogJ0FmZ2hhbmlzdGFuJyxcbiAgQVg6ICdBbGFuZCBJc2xhbmRzJyxcbiAgQUw6ICdBbGJhbmlhJyxcbiAgRFo6ICdBbGdlcmlhJyxcbiAgQVM6ICdBbWVyaWNhbiBTYW1vYScsXG4gIEFEOiAnQW5kb3JyYScsXG4gIEFPOiAnQW5nb2xhJyxcbiAgQUk6ICdBbmd1aWxsYScsXG4gIEFROiAnQW50YXJjdGljYScsXG4gIEFHOiAnQW50aWd1YSBBbmQgQmFyYnVkYScsXG4gIEFSOiAnQXJnZW50aW5hJyxcbiAgQU06ICdBcm1lbmlhJyxcbiAgQVc6ICdBcnViYScsXG4gIEFVOiAnQXVzdHJhbGlhJyxcbiAgQVQ6ICdBdXN0cmlhJyxcbiAgQVo6ICdBemVyYmFpamFuJyxcbiAgQlM6ICdCYWhhbWFzJyxcbiAgQkg6ICdCYWhyYWluJyxcbiAgQkQ6ICdCYW5nbGFkZXNoJyxcbiAgQkI6ICdCYXJiYWRvcycsXG4gIEJZOiAnQmVsYXJ1cycsXG4gIEJFOiAnQmVsZ2l1bScsXG4gIEJaOiAnQmVsaXplJyxcbiAgQko6ICdCZW5pbicsXG4gIEJNOiAnQmVybXVkYScsXG4gIEJUOiAnQmh1dGFuJyxcbiAgQk86ICdCb2xpdmlhJyxcbiAgQkE6ICdCb3NuaWEgQW5kIEhlcnplZ292aW5hJyxcbiAgQlc6ICdCb3Rzd2FuYScsXG4gIEJWOiAnQm91dmV0IElzbGFuZCcsXG4gIEJSOiAnQnJhemlsJyxcbiAgSU86ICdCcml0aXNoIEluZGlhbiBPY2VhbiBUZXJyaXRvcnknLFxuICBCTjogJ0JydW5laSBEYXJ1c3NhbGFtJyxcbiAgQkc6ICdCdWxnYXJpYScsXG4gIEJGOiAnQnVya2luYSBGYXNvJyxcbiAgQkk6ICdCdXJ1bmRpJyxcbiAgS0g6ICdDYW1ib2RpYScsXG4gIENNOiAnQ2FtZXJvb24nLFxuICBDQTogJ0NhbmFkYScsXG4gIENWOiAnQ2FwZSBWZXJkZScsXG4gIEtZOiAnQ2F5bWFuIElzbGFuZHMnLFxuICBDRjogJ0NlbnRyYWwgQWZyaWNhbiBSZXB1YmxpYycsXG4gIFREOiAnQ2hhZCcsXG4gIENMOiAnQ2hpbGUnLFxuICBDTjogJ0NoaW5hJyxcbiAgQ1g6ICdDaHJpc3RtYXMgSXNsYW5kJyxcbiAgQ0M6ICdDb2NvcyAoS2VlbGluZykgSXNsYW5kcycsXG4gIENPOiAnQ29sb21iaWEnLFxuICBLTTogJ0NvbW9yb3MnLFxuICBDRzogJ0NvbmdvJyxcbiAgQ0Q6ICdDb25nbywgRGVtb2NyYXRpYyBSZXB1YmxpYycsXG4gIENLOiAnQ29vayBJc2xhbmRzJyxcbiAgQ1I6ICdDb3N0YSBSaWNhJyxcbiAgQ0k6IFwiQ290ZSBEJ0l2b2lyZVwiLFxuICBIUjogJ0Nyb2F0aWEnLFxuICBDVTogJ0N1YmEnLFxuICBDWTogJ0N5cHJ1cycsXG4gIENaOiAnQ3plY2ggUmVwdWJsaWMnLFxuICBESzogJ0Rlbm1hcmsnLFxuICBESjogJ0RqaWJvdXRpJyxcbiAgRE06ICdEb21pbmljYScsXG4gIERPOiAnRG9taW5pY2FuIFJlcHVibGljJyxcbiAgRUM6ICdFY3VhZG9yJyxcbiAgRUc6ICdFZ3lwdCcsXG4gIFNWOiAnRWwgU2FsdmFkb3InLFxuICBHUTogJ0VxdWF0b3JpYWwgR3VpbmVhJyxcbiAgRVI6ICdFcml0cmVhJyxcbiAgRUU6ICdFc3RvbmlhJyxcbiAgRVQ6ICdFdGhpb3BpYScsXG4gIEZLOiAnRmFsa2xhbmQgSXNsYW5kcyAoTWFsdmluYXMpJyxcbiAgRk86ICdGYXJvZSBJc2xhbmRzJyxcbiAgRko6ICdGaWppJyxcbiAgRkk6ICdGaW5sYW5kJyxcbiAgRlI6ICdGcmFuY2UnLFxuICBHRjogJ0ZyZW5jaCBHdWlhbmEnLFxuICBQRjogJ0ZyZW5jaCBQb2x5bmVzaWEnLFxuICBURjogJ0ZyZW5jaCBTb3V0aGVybiBUZXJyaXRvcmllcycsXG4gIEdBOiAnR2Fib24nLFxuICBHTTogJ0dhbWJpYScsXG4gIEdFOiAnR2VvcmdpYScsXG4gIERFOiAnR2VybWFueScsXG4gIEdIOiAnR2hhbmEnLFxuICBHSTogJ0dpYnJhbHRhcicsXG4gIEdSOiAnR3JlZWNlJyxcbiAgR0w6ICdHcmVlbmxhbmQnLFxuICBHRDogJ0dyZW5hZGEnLFxuICBHUDogJ0d1YWRlbG91cGUnLFxuICBHVTogJ0d1YW0nLFxuICBHVDogJ0d1YXRlbWFsYScsXG4gIEdHOiAnR3Vlcm5zZXknLFxuICBHTjogJ0d1aW5lYScsXG4gIEdXOiAnR3VpbmVhLUJpc3NhdScsXG4gIEdZOiAnR3V5YW5hJyxcbiAgSFQ6ICdIYWl0aScsXG4gIEhNOiAnSGVhcmQgSXNsYW5kICYgTWNkb25hbGQgSXNsYW5kcycsXG4gIFZBOiAnSG9seSBTZWUgKFZhdGljYW4gQ2l0eSBTdGF0ZSknLFxuICBITjogJ0hvbmR1cmFzJyxcbiAgSEs6ICdIb25nIEtvbmcnLFxuICBIVTogJ0h1bmdhcnknLFxuICBJUzogJ0ljZWxhbmQnLFxuICBJTjogJ0luZGlhJyxcbiAgSUQ6ICdJbmRvbmVzaWEnLFxuICBJUjogJ0lyYW4sIElzbGFtaWMgUmVwdWJsaWMgT2YnLFxuICBJUTogJ0lyYXEnLFxuICBJRTogJ0lyZWxhbmQnLFxuICBJTTogJ0lzbGUgT2YgTWFuJyxcbiAgSUw6ICdJc3JhZWwnLFxuICBJVDogJ0l0YWx5JyxcbiAgSk06ICdKYW1haWNhJyxcbiAgSlA6ICdKYXBhbicsXG4gIEpFOiAnSmVyc2V5JyxcbiAgSk86ICdKb3JkYW4nLFxuICBLWjogJ0themFraHN0YW4nLFxuICBLRTogJ0tlbnlhJyxcbiAgS0k6ICdLaXJpYmF0aScsXG4gIEtSOiAnS29yZWEnLFxuICBLVzogJ0t1d2FpdCcsXG4gIEtHOiAnS3lyZ3l6c3RhbicsXG4gIExBOiBcIkxhbyBQZW9wbGUncyBEZW1vY3JhdGljIFJlcHVibGljXCIsXG4gIExWOiAnTGF0dmlhJyxcbiAgTEI6ICdMZWJhbm9uJyxcbiAgTFM6ICdMZXNvdGhvJyxcbiAgTFI6ICdMaWJlcmlhJyxcbiAgTFk6ICdMaWJ5YW4gQXJhYiBKYW1haGlyaXlhJyxcbiAgTEk6ICdMaWVjaHRlbnN0ZWluJyxcbiAgTFQ6ICdMaXRodWFuaWEnLFxuICBMVTogJ0x1eGVtYm91cmcnLFxuICBNTzogJ01hY2FvJyxcbiAgTUs6ICdNYWNlZG9uaWEnLFxuICBNRzogJ01hZGFnYXNjYXInLFxuICBNVzogJ01hbGF3aScsXG4gIE1ZOiAnTWFsYXlzaWEnLFxuICBNVjogJ01hbGRpdmVzJyxcbiAgTUw6ICdNYWxpJyxcbiAgTVQ6ICdNYWx0YScsXG4gIE1IOiAnTWFyc2hhbGwgSXNsYW5kcycsXG4gIE1ROiAnTWFydGluaXF1ZScsXG4gIE1SOiAnTWF1cml0YW5pYScsXG4gIE1VOiAnTWF1cml0aXVzJyxcbiAgWVQ6ICdNYXlvdHRlJyxcbiAgTVg6ICdNZXhpY28nLFxuICBGTTogJ01pY3JvbmVzaWEsIEZlZGVyYXRlZCBTdGF0ZXMgT2YnLFxuICBNRDogJ01vbGRvdmEnLFxuICBNQzogJ01vbmFjbycsXG4gIE1OOiAnTW9uZ29saWEnLFxuICBNRTogJ01vbnRlbmVncm8nLFxuICBNUzogJ01vbnRzZXJyYXQnLFxuICBNQTogJ01vcm9jY28nLFxuICBNWjogJ01vemFtYmlxdWUnLFxuICBNTTogJ015YW5tYXInLFxuICBOQTogJ05hbWliaWEnLFxuICBOUjogJ05hdXJ1JyxcbiAgTlA6ICdOZXBhbCcsXG4gIE5MOiAnTmV0aGVybGFuZHMnLFxuICBBTjogJ05ldGhlcmxhbmRzIEFudGlsbGVzJyxcbiAgTkM6ICdOZXcgQ2FsZWRvbmlhJyxcbiAgTlo6ICdOZXcgWmVhbGFuZCcsXG4gIE5JOiAnTmljYXJhZ3VhJyxcbiAgTkU6ICdOaWdlcicsXG4gIE5HOiAnTmlnZXJpYScsXG4gIE5VOiAnTml1ZScsXG4gIE5GOiAnTm9yZm9sayBJc2xhbmQnLFxuICBNUDogJ05vcnRoZXJuIE1hcmlhbmEgSXNsYW5kcycsXG4gIE5POiAnTm9yd2F5JyxcbiAgT006ICdPbWFuJyxcbiAgUEs6ICdQYWtpc3RhbicsXG4gIFBXOiAnUGFsYXUnLFxuICBQUzogJ1BhbGVzdGluaWFuIFRlcnJpdG9yeSwgT2NjdXBpZWQnLFxuICBQQTogJ1BhbmFtYScsXG4gIFBHOiAnUGFwdWEgTmV3IEd1aW5lYScsXG4gIFBZOiAnUGFyYWd1YXknLFxuICBQRTogJ1BlcnUnLFxuICBQSDogJ1BoaWxpcHBpbmVzJyxcbiAgUE46ICdQaXRjYWlybicsXG4gIFBMOiAnUG9sYW5kJyxcbiAgUFQ6ICdQb3J0dWdhbCcsXG4gIFBSOiAnUHVlcnRvIFJpY28nLFxuICBRQTogJ1FhdGFyJyxcbiAgUkU6ICdSZXVuaW9uJyxcbiAgUk86ICdSb21hbmlhJyxcbiAgUlU6ICdSdXNzaWFuIEZlZGVyYXRpb24nLFxuICBSVzogJ1J3YW5kYScsXG4gIEJMOiAnU2FpbnQgQmFydGhlbGVteScsXG4gIFNIOiAnU2FpbnQgSGVsZW5hJyxcbiAgS046ICdTYWludCBLaXR0cyBBbmQgTmV2aXMnLFxuICBMQzogJ1NhaW50IEx1Y2lhJyxcbiAgTUY6ICdTYWludCBNYXJ0aW4nLFxuICBQTTogJ1NhaW50IFBpZXJyZSBBbmQgTWlxdWVsb24nLFxuICBWQzogJ1NhaW50IFZpbmNlbnQgQW5kIEdyZW5hZGluZXMnLFxuICBXUzogJ1NhbW9hJyxcbiAgU006ICdTYW4gTWFyaW5vJyxcbiAgU1Q6ICdTYW8gVG9tZSBBbmQgUHJpbmNpcGUnLFxuICBTQTogJ1NhdWRpIEFyYWJpYScsXG4gIFNOOiAnU2VuZWdhbCcsXG4gIFJTOiAnU2VyYmlhJyxcbiAgU0M6ICdTZXljaGVsbGVzJyxcbiAgU0w6ICdTaWVycmEgTGVvbmUnLFxuICBTRzogJ1NpbmdhcG9yZScsXG4gIFNLOiAnU2xvdmFraWEnLFxuICBTSTogJ1Nsb3ZlbmlhJyxcbiAgU0I6ICdTb2xvbW9uIElzbGFuZHMnLFxuICBTTzogJ1NvbWFsaWEnLFxuICBaQTogJ1NvdXRoIEFmcmljYScsXG4gIEdTOiAnU291dGggR2VvcmdpYSBBbmQgU2FuZHdpY2ggSXNsLicsXG4gIEVTOiAnU3BhaW4nLFxuICBMSzogJ1NyaSBMYW5rYScsXG4gIFNEOiAnU3VkYW4nLFxuICBTUjogJ1N1cmluYW1lJyxcbiAgU0o6ICdTdmFsYmFyZCBBbmQgSmFuIE1heWVuJyxcbiAgU1o6ICdTd2F6aWxhbmQnLFxuICBTRTogJ1N3ZWRlbicsXG4gIENIOiAnU3dpdHplcmxhbmQnLFxuICBTWTogJ1N5cmlhbiBBcmFiIFJlcHVibGljJyxcbiAgVFc6ICdUYWl3YW4nLFxuICBUSjogJ1RhamlraXN0YW4nLFxuICBUWjogJ1RhbnphbmlhJyxcbiAgVEg6ICdUaGFpbGFuZCcsXG4gIFRMOiAnVGltb3ItTGVzdGUnLFxuICBURzogJ1RvZ28nLFxuICBUSzogJ1Rva2VsYXUnLFxuICBUTzogJ1RvbmdhJyxcbiAgVFQ6ICdUcmluaWRhZCBBbmQgVG9iYWdvJyxcbiAgVE46ICdUdW5pc2lhJyxcbiAgVFI6ICdUdXJrZXknLFxuICBUTTogJ1R1cmttZW5pc3RhbicsXG4gIFRDOiAnVHVya3MgQW5kIENhaWNvcyBJc2xhbmRzJyxcbiAgVFY6ICdUdXZhbHUnLFxuICBVRzogJ1VnYW5kYScsXG4gIFVBOiAnVWtyYWluZScsXG4gIEFFOiAnVW5pdGVkIEFyYWIgRW1pcmF0ZXMnLFxuICBHQjogJ1VuaXRlZCBLaW5nZG9tJyxcbiAgVVM6ICdVbml0ZWQgU3RhdGVzJyxcbiAgVU06ICdVbml0ZWQgU3RhdGVzIE91dGx5aW5nIElzbGFuZHMnLFxuICBVWTogJ1VydWd1YXknLFxuICBVWjogJ1V6YmVraXN0YW4nLFxuICBWVTogJ1ZhbnVhdHUnLFxuICBWRTogJ1ZlbmV6dWVsYScsXG4gIFZOOiAnVmlldCBOYW0nLFxuICBWRzogJ1ZpcmdpbiBJc2xhbmRzLCBCcml0aXNoJyxcbiAgVkk6ICdWaXJnaW4gSXNsYW5kcywgVS5TLicsXG4gIFdGOiAnV2FsbGlzIEFuZCBGdXR1bmEnLFxuICBFSDogJ1dlc3Rlcm4gU2FoYXJhJyxcbiAgWUU6ICdZZW1lbicsXG4gIFpNOiAnWmFtYmlhJyxcbiAgWlc6ICdaaW1iYWJ3ZScsXG59O1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0Q291bnRyeU5hbWUoY291bnRyeUNvZGU6IGFueSkge1xuICBpZiAoaXNvQ291bnRyaWVzLmhhc093blByb3BlcnR5KGNvdW50cnlDb2RlKSkge1xuICAgIHJldHVybiBpc29Db3VudHJpZXNbY291bnRyeUNvZGVdO1xuICB9IGVsc2Uge1xuICAgIHJldHVybiBjb3VudHJ5Q29kZTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gY2xlYW5UYWdJZHMocmF3OiBhbnlbXSkge1xuICByZXR1cm4gcmF3Lm1hcChpZCA9PiBpZC50cmltKCkpICAgICAgICAgICAgLy8gVHJpbSBlYWNoIElEIGVudHJ5IHRvIHJlbW92ZSB3aGl0ZXNwYWNlXG4gICAgLmZpbHRlcihpZCA9PiAvXlxcZCskLy50ZXN0KGlkKSkgIC8vIFVzZSBhIHJlZ3VsYXIgZXhwcmVzc2lvbiB0byBlbnN1cmUgdGhlIElEIGlzIGVudGlyZWx5IG51bWVyaWMuXG4gICAgLm1hcChpZCA9PiBOdW1iZXIoaWQpKTsgICAgICAgICAgLy8gQ29udmVydCB0aGUgcmVtYWluaW5nLCB2YWxpZCBJRCBlbnRyaWVzIGludG8gbnVtYmVyc1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0TWVyY2hpU291cmNlSm9iVGFncygpOiBhbnlbXSB7XG4gIGlmICh0eXBlb2YgbG9jYWxTdG9yYWdlICE9PSAndW5kZWZpbmVkJyAmJiBsb2NhbFN0b3JhZ2UgIT09IG51bGwpIHtcbiAgICBjb25zdCBtZXJjaGlTb3VyY2UgPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgnbWVyY2hpX3NvdXJjZScpO1xuXG4gICAgaWYgKG1lcmNoaVNvdXJjZSkge1xuICAgICAgY29uc3QgaWRzID0gY2xlYW5UYWdJZHMobWVyY2hpU291cmNlLnNwbGl0KCcsJykpO1xuICAgICAgcmV0dXJuIGlkcy5tYXAoKGlkOiBudW1iZXIpID0+ICh7IGlkIH0pKTtcbiAgICB9XG4gICAgLy8gSWYgXCJtZXJjaGlfc291cmNlXCIgaXMgbm90IGZvdW5kIGluIGxvY2FsU3RvcmFnZSwgcmV0dXJuIGFuIGVtcHR5IGFycmF5LlxuICAgIHJldHVybiBbXTtcbiAgfVxuICByZXR1cm4gW107XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzb3J0QnlQb3NpdGlvbihvcHRpb25zOiBhbnlbXSk6IGFueVtdIHtcbiAgcmV0dXJuIG9wdGlvbnMubWFwKChvYmo6IGFueSkgPT4ge1xuICAgIGNvbnN0IHBvc2l0aW9uID0gdHlwZW9mIG9iai5wb3NpdGlvbiA9PT0gJ3N0cmluZydcbiAgICAgID8gcGFyc2VJbnQob2JqLnBvc2l0aW9uLCAxMClcbiAgICAgIDogb2JqLnBvc2l0aW9uO1xuICAgIHJldHVybiB7XG4gICAgICAuLi5vYmosXG4gICAgICBwb3NpdGlvbjogdHlwZW9mIHBvc2l0aW9uID09PSAnbnVtYmVyJyA/IHBvc2l0aW9uIDogMCxcbiAgICB9O1xuICB9KS5zb3J0KChhLCBiKSA9PiB7XG4gICAgY29uc3QgYVBvc2l0aW9uID0gdHlwZW9mIGEucG9zaXRpb24gPT09ICdudW1iZXInID8gYS5wb3NpdGlvbiA6IDA7XG4gICAgY29uc3QgYlBvc2l0aW9uID0gdHlwZW9mIGIucG9zaXRpb24gPT09ICdudW1iZXInID8gYi5wb3NpdGlvbiA6IDA7XG4gICAgcmV0dXJuIGFQb3NpdGlvbiAtIGJQb3NpdGlvbjtcbiAgfSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjbGVhbkpvYlZhcmlhdGlvbnNBbmRHcm91cHMoam9iSnNvbjogYW55KSB7XG4gIGNvbnN0IHsgdmFyaWF0aW9ucywgdmFyaWF0aW9uc0dyb3VwcyB9ID0gam9iSnNvbjtcbiAgY29uc3QgaGFzR3JvdXBzID0gQm9vbGVhbih2YXJpYXRpb25zR3JvdXBzICYmIHZhcmlhdGlvbnNHcm91cHMubGVuZ3RoKTtcbiAgY29uc3QgaGFzVmFyaWF0aW9ucyA9IEJvb2xlYW4odmFyaWF0aW9ucyAmJiB2YXJpYXRpb25zLmxlbmd0aCk7XG4gIFxuICAvLyBMb29wIG92ZXIgaW5kaXZpZHVhbCB2YXJpYXRpb25zIGFuZCBjaGVjayBpZiB0aGUgdmFyaWF0aW9uIGlzIGEganNvbiBzdHJpbmcsIGlmIGl0IGlzIGNvbnZlcnQgaXQgdG8gYW4gb2JqZWN0XG4gIGlmIChoYXNWYXJpYXRpb25zKSB7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCB2YXJpYXRpb25zLmxlbmd0aDsgaSsrKSB7XG4gICAgICB2YXJpYXRpb25zW2ldID0gY2xlYW5Gb3JtVmFyaWF0aW9uSnNvbih2YXJpYXRpb25zW2ldKTtcbiAgICB9XG4gICAgam9iSnNvbi52YXJpYXRpb25zID0gdmFyaWF0aW9ucztcbiAgfVxuICBcbiAgaWYgKGhhc0dyb3Vwcykge1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdmFyaWF0aW9uc0dyb3Vwcy5sZW5ndGg7IGkrKykge1xuICAgICAgLy8gU2V0IGRlZmF1bHQgcXVhbnRpdHkgaWYgbm90IHByZXNlbnRcbiAgICAgIGNvbnN0IGdyb3VwID0gdmFyaWF0aW9uc0dyb3Vwc1tpXTtcbiAgICAgIGlmICghZ3JvdXAucXVhbnRpdHkpIHtcbiAgICAgICAgZ3JvdXAucXVhbnRpdHkgPSAwO1xuICAgICAgfVxuICAgICAgXG4gICAgICAvLyBIYW5kbGUgdmFyaWF0aW9ucyB3aXRoaW4gdGhlIGdyb3VwIC0gY29udmVydCBKU09OIHN0cmluZ3MgdG8gb2JqZWN0c1xuICAgICAgaWYgKGdyb3VwLnZhcmlhdGlvbnMgJiYgQXJyYXkuaXNBcnJheShncm91cC52YXJpYXRpb25zKSkge1xuICAgICAgICBmb3IgKGxldCBqID0gMDsgaiA8IGdyb3VwLnZhcmlhdGlvbnMubGVuZ3RoOyBqKyspIHtcbiAgICAgICAgICBncm91cC52YXJpYXRpb25zW2pdID0gY2xlYW5Gb3JtVmFyaWF0aW9uSnNvbihncm91cC52YXJpYXRpb25zW2pdKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBqb2JKc29uLnZhcmlhdGlvbnNHcm91cHMgPSB2YXJpYXRpb25zR3JvdXBzO1xuICB9XG4gIFxuICByZXR1cm4gam9iSnNvbjtcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsU0FBU0EsTUFBTSxFQUFFQyxjQUFjLFFBQVEsYUFBYTtBQUNwRCxTQUFTQyxjQUFjLFFBQVEsbUJBQW1CO0FBQ2xELFNBQVNDLFdBQVcsRUFBRUMsU0FBUyxRQUFRLGdCQUFnQjtBQUN2RCxTQUFTQyxzQkFBc0IsUUFBUSxpQ0FBaUM7QUFDeEUsU0FBU0Esc0JBQXNCLFFBQVEsaUNBQWlDO0FBQ3hFLFNBQVNDLG9CQUFvQixRQUFRLG1CQUFtQjtBQUN4RCxTQUNFQSxvQkFBb0IsRUFDcEJDLGtCQUFrQixFQUNsQkMsc0JBQXNCLEVBQ3RCQyxlQUFlLFFBQ1YsbUJBQW1CO0FBQzFCLElBQU1DLGlCQUFpQixHQUFHQyxPQUFPLENBQUMsaUNBQWlDLENBQUM7QUFFcEUsU0FBU0MsMEJBQTBCQSxDQUNqQ0MsSUFBUyxFQUNUQyxZQUFpQixFQUNqQkMsY0FBc0IsRUFDdEI7RUFDQSxJQUFJQyxlQUFlLEdBQUc7SUFBRUMsUUFBUSxFQUFFSCxZQUFZO0lBQUVJLGtCQUFrQixFQUFFO0VBQU0sQ0FBQztFQUMzRSxJQUFJQyxVQUFVLEdBQUcsRUFBRTtFQUNuQixJQUFNQyxNQUFNLEdBQUdDLFVBQVUsQ0FBQ1IsSUFBSSxDQUFDO0VBRS9CLElBQUlTLE1BQU0sQ0FBQ0MsUUFBUSxDQUFDSCxNQUFNLENBQUMsSUFBSUEsTUFBTSxHQUFHLENBQUMs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
@@ -25,6 +25,25 @@
25
25
  flex-direction: column;
26
26
  padding: 0;
27
27
  }
28
+ .merchi-embed-form_variation-grid {
29
+ display: grid;
30
+ grid-template-columns: repeat(var(--merchi-variation-columns, 1), minmax(0, 1fr));
31
+ gap: 1.25rem;
32
+ }
33
+ .merchi-embed-form_variation-grid > fieldset {
34
+ border: none;
35
+ margin: 0;
36
+ padding: 0;
37
+ min-width: 0;
38
+ }
39
+ @media (max-width: 640px) {
40
+ .merchi-embed-form_variation-grid {
41
+ grid-template-columns: minmax(0, 1fr);
42
+ }
43
+ .merchi-embed-form_variation-grid > * {
44
+ grid-column: 1/-1 !important;
45
+ }
46
+ }
28
47
  .merchi-embed-form fieldset.merchi-embed-form_product-group-container,
29
48
  .merchi-embed-form fieldset.merchi-embed-form_product-group-variation-container, .merchi-embed-form_variantion-container > fieldset {
30
49
  border: none;
@@ -1 +1 @@
1
- {"version":3,"sourceRoot":"","sources":["../../src/styles/globals.scss"],"names":[],"mappings":";AAAA;AAAA;AAAA;AAGC;AAEC;;AAEE;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAbL;AAiBC;;AACA;EACE;EACA;EACA;EACA;;AAGF;AAAA;EAGE;EACA;EACA;EACA;;AA/BH;AAkCC;;AACA;EACE;;AAEA;EAHF;IAII;;;AAGF;EACE;;AAGF;EACE;;AAGF;EACE;EACA;;AApDL;AAwDC;;AAKI;EACE;EACA;;AAIJ;EACE;;AAGF;EACE;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;;AAlFL;AAsFC;;AAEE;EACE;EACA;;AA1FL;AA8FC;;AAEE;EACE;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;;AAGF;EACE;;AAjHL;AAqHC;;AACA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAGF;EACE;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAjLP;AAsLC;;AAEE;EACE;EACA;EACA;;AAGF;EACE;EACA;;AAEA;EAJF;IAKI;;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AA9OP;AAmPC;;AAEE;EACE;EACA;EACA;;AAEA;EALF;IAMI;;;AAIJ;EACE;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAGF;AAAA;EAEE;EACA;EACA;EACA;EACA;EACA;;AAhTP;AAqTC;;AAEE;EACE;EACA;;AAGF;EACE;EACA;EACA;EACA;;AAMF;EACE;EACA;EACA;EACA;EACA;EACA;;AAGA;EACE;EACA;EACA;EACA;EACA;;AAGA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAIF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAKF;EACE;EACA;EACA;EACA;EACA;;AAGF;EACE;;AAIJ;EACE;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;;AAIF;EACE;;AAIF;EACE;;AAKJ;EACE;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAjbL;AAqbC;;AAEE;EACE;EACA;EACA;;AAGF;EACE;EACA;EACA;;AAIF;EACE;EACA;EACA;;AAIF;EACE;EACA;EACA;;AAIF;EACE;EACA;EACA;;AArdL;AA0dC;;AACA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAlfH;AAqfC;;AAEE;EACE;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;;AAEA;EANF;IAOI;;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;;AAGF;EACE;;AAEA;EAHF;IAII;;;AAIJ;EACE;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;;AAGF;EACE;EACA;;AAIJ;EACE;;AA/jBH;AAkkBC;;AAIE;EACE;EACA;EACA;;;AAKN;AAAA;AAAA;AAIA;AACA;EACE;;AAEA;EACE;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAGF;EACE;EACA;;AAGF;EACE;EACA;;;AAKN;AAEA;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;AAAA;EAEE;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;AAAA;EAEE;EACA;EACA;EACA;EACA;EACA;EACA;AAEA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;;;AAGF;AACA;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAGF;EACE;;AAGF;AAAA;EAEE;EACA;EACA;EACA;EACA;EACA;;;AAIJ;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAGF;EACE;;AAGF;EACE;EACA;;AAGF;EACE;;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAGF;EACE;;AAGF;EACE;EACA;;AAGF;EACE;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAKF;EAEE;;AAGF;EAEE;;;AAIJ;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;AAAA;EAEE;EACA;EACA;EACA;;;AAGF;AAAA;EAEE;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;AAAA;EAEE;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;AAAA;EAEE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;AAAA;EAEE;EACA;EACA;EACA;EACA;EACA;;;AAGF;AAAA;EAEE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;AAAA;EAEE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;AAAA;AAAA;EAGE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;AAAA;EAEE;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;AAAA;EAEE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;AAAA;EAEE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;AAAA;EAEE;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;IACE;;EAGF;IACE;IACA;IACA;IACA;;EAGF;AAAA;IAEE;IACA;IACA;IACA;;EAGF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;IACA;;;AAIJ;EACE;IACE","file":"globals.css"}
1
+ {"version":3,"sourceRoot":"","sources":["../../src/styles/globals.scss"],"names":[],"mappings":";AAAA;AAAA;AAAA;AAGC;AAEC;;AAEE;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAbL;AAiBC;;AACA;EACE;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;;AAGF;EAZF;IAaI;;EAEA;IACE;;;AAKN;AAAA;EAGE;EACA;EACA;EACA;;AApDH;AAuDC;;AACA;EACE;;AAEA;EAHF;IAII;;;AAGF;EACE;;AAGF;EACE;;AAGF;EACE;EACA;;AAzEL;AA6EC;;AAKI;EACE;EACA;;AAIJ;EACE;;AAGF;EACE;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;;AAvGL;AA2GC;;AAEE;EACE;EACA;;AA/GL;AAmHC;;AAEE;EACE;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;;AAGF;EACE;;AAtIL;AA0IC;;AACA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAGF;EACE;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAtMP;AA2MC;;AAEE;EACE;EACA;EACA;;AAGF;EACE;EACA;;AAEA;EAJF;IAKI;;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAnQP;AAwQC;;AAEE;EACE;EACA;EACA;;AAEA;EALF;IAMI;;;AAIJ;EACE;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAGF;AAAA;EAEE;EACA;EACA;EACA;EACA;EACA;;AArUP;AA0UC;;AAEE;EACE;EACA;;AAGF;EACE;EACA;EACA;EACA;;AAMF;EACE;EACA;EACA;EACA;EACA;EACA;;AAGA;EACE;EACA;EACA;EACA;EACA;;AAGA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAIF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAKF;EACE;EACA;EACA;EACA;EACA;;AAGF;EACE;;AAIJ;EACE;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;;AAIF;EACE;;AAIF;EACE;;AAKJ;EACE;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAtcL;AA0cC;;AAEE;EACE;EACA;EACA;;AAGF;EACE;EACA;EACA;;AAIF;EACE;EACA;EACA;;AAIF;EACE;EACA;EACA;;AAIF;EACE;EACA;EACA;;AA1eL;AA+eC;;AACA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAvgBH;AA0gBC;;AAEE;EACE;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;;AAEA;EANF;IAOI;;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;;AAGF;EACE;;AAEA;EAHF;IAII;;;AAIJ;EACE;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;;AAGF;EACE;EACA;;AAIJ;EACE;;AAplBH;AAulBC;;AAIE;EACE;EACA;EACA;;;AAKN;AAAA;AAAA;AAIA;AACA;EACE;;AAEA;EACE;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAGF;EACE;EACA;;AAGF;EACE;EACA;;;AAKN;AAEA;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;AAAA;EAEE;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;AAAA;EAEE;EACA;EACA;EACA;EACA;EACA;EACA;AAEA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;;;AAGF;AACA;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAGF;EACE;;AAGF;AAAA;EAEE;EACA;EACA;EACA;EACA;EACA;;;AAIJ;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAGF;EACE;;AAGF;EACE;EACA;;AAGF;EACE;;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAGF;EACE;;AAGF;EACE;EACA;;AAGF;EACE;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAKF;EAEE;;AAGF;EAEE;;;AAIJ;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;AAAA;EAEE;EACA;EACA;EACA;;;AAGF;AAAA;EAEE;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;AAAA;EAEE;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;AAAA;EAEE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;AAAA;EAEE;EACA;EACA;EACA;EACA;EACA;;;AAGF;AAAA;EAEE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;AAAA;EAEE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;AAAA;AAAA;EAGE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;AAAA;EAEE;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;AAAA;EAEE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;AAAA;EAEE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;AAAA;EAEE;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;IACE;;EAGF;IACE;IACA;IACA;IACA;;EAGF;AAAA;IAEE;IACA;IACA;IACA;;EAGF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;IACA;;;AAIJ;EACE;IACE","file":"globals.css"}
@@ -26,6 +26,27 @@
26
26
  padding: 0;
27
27
  }
28
28
 
29
+ &_variation-grid {
30
+ display: grid;
31
+ grid-template-columns: repeat(var(--merchi-variation-columns, 1), minmax(0, 1fr));
32
+ gap: 1.25rem;
33
+
34
+ > fieldset {
35
+ border: none;
36
+ margin: 0;
37
+ padding: 0;
38
+ min-width: 0;
39
+ }
40
+
41
+ @media (max-width: 640px) {
42
+ grid-template-columns: minmax(0, 1fr);
43
+
44
+ > * {
45
+ grid-column: 1 / -1 !important;
46
+ }
47
+ }
48
+ }
49
+
29
50
  fieldset.merchi-embed-form_product-group-container,
30
51
  fieldset.merchi-embed-form_product-group-variation-container,
31
52
  &_variantion-container > fieldset {
@@ -0,0 +1,3 @@
1
+ export declare function clampVariationColumns(value: unknown): number;
2
+ /** Null or 0 means the field takes the full width of the list. */
3
+ export declare function variationLayoutSpan(layoutSpan: number | null | undefined, columns: number): number;
@@ -0,0 +1,13 @@
1
+ export function clampVariationColumns(value) {
2
+ var parsed = typeof value === 'number' ? value : Number(value);
3
+ if (!Number.isFinite(parsed)) return 1;
4
+ return Math.min(4, Math.max(1, Math.round(parsed)));
5
+ }
6
+
7
+ /** Null or 0 means the field takes the full width of the list. */
8
+ export function variationLayoutSpan(layoutSpan, columns) {
9
+ var count = clampVariationColumns(columns);
10
+ if (layoutSpan == null || layoutSpan <= 0) return count;
11
+ return Math.min(Math.round(layoutSpan), count);
12
+ }
13
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjbGFtcFZhcmlhdGlvbkNvbHVtbnMiLCJ2YWx1ZSIsInBhcnNlZCIsIk51bWJlciIsImlzRmluaXRlIiwiTWF0aCIsIm1pbiIsIm1heCIsInJvdW5kIiwidmFyaWF0aW9uTGF5b3V0U3BhbiIsImxheW91dFNwYW4iLCJjb2x1bW5zIiwiY291bnQiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbHMvdmFyaWF0aW9uTGF5b3V0LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBmdW5jdGlvbiBjbGFtcFZhcmlhdGlvbkNvbHVtbnModmFsdWU6IHVua25vd24pOiBudW1iZXIge1xuICBjb25zdCBwYXJzZWQgPSB0eXBlb2YgdmFsdWUgPT09ICdudW1iZXInID8gdmFsdWUgOiBOdW1iZXIodmFsdWUpO1xuICBpZiAoIU51bWJlci5pc0Zpbml0ZShwYXJzZWQpKSByZXR1cm4gMTtcbiAgcmV0dXJuIE1hdGgubWluKDQsIE1hdGgubWF4KDEsIE1hdGgucm91bmQocGFyc2VkKSkpO1xufVxuXG4vKiogTnVsbCBvciAwIG1lYW5zIHRoZSBmaWVsZCB0YWtlcyB0aGUgZnVsbCB3aWR0aCBvZiB0aGUgbGlzdC4gKi9cbmV4cG9ydCBmdW5jdGlvbiB2YXJpYXRpb25MYXlvdXRTcGFuKFxuICBsYXlvdXRTcGFuOiBudW1iZXIgfCBudWxsIHwgdW5kZWZpbmVkLFxuICBjb2x1bW5zOiBudW1iZXIsXG4pOiBudW1iZXIge1xuICBjb25zdCBjb3VudCA9IGNsYW1wVmFyaWF0aW9uQ29sdW1ucyhjb2x1bW5zKTtcbiAgaWYgKGxheW91dFNwYW4gPT0gbnVsbCB8fCBsYXlvdXRTcGFuIDw9IDApIHJldHVybiBjb3VudDtcbiAgcmV0dXJuIE1hdGgubWluKE1hdGgucm91bmQobGF5b3V0U3BhbiksIGNvdW50KTtcbn1cbiJdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxTQUFTQSxxQkFBcUJBLENBQUNDLEtBQWMsRUFBVTtFQUM1RCxJQUFNQyxNQUFNLEdBQUcsT0FBT0QsS0FBSyxLQUFLLFFBQVEsR0FBR0EsS0FBSyxHQUFHRSxNQUFNLENBQUNGLEtBQUssQ0FBQztFQUNoRSxJQUFJLENBQUNFLE1BQU0sQ0FBQ0MsUUFBUSxDQUFDRixNQUFNLENBQUMsRUFBRSxPQUFPLENBQUM7RUFDdEMsT0FBT0csSUFBSSxDQUFDQyxHQUFHLENBQUMsQ0FBQyxFQUFFRCxJQUFJLENBQUNFLEdBQUcsQ0FBQyxDQUFDLEVBQUVGLElBQUksQ0FBQ0csS0FBSyxDQUFDTixNQUFNLENBQUMsQ0FBQyxDQUFDO0FBQ3JEOztBQUVBO0FBQ0EsT0FBTyxTQUFTTyxtQkFBbUJBLENBQ2pDQyxVQUFxQyxFQUNyQ0MsT0FBZSxFQUNQO0VBQ1IsSUFBTUMsS0FBSyxHQUFHWixxQkFBcUIsQ0FBQ1csT0FBTyxDQUFDO0VBQzVDLElBQUlELFVBQVUsSUFBSSxJQUFJLElBQUlBLFVBQVUsSUFBSSxDQUFDLEVBQUUsT0FBT0UsS0FBSztFQUN2RCxPQUFPUCxJQUFJLENBQUNDLEdBQUcsQ0FBQ0QsSUFBSSxDQUFDRyxLQUFLLENBQUNFLFVBQVUsQ0FBQyxFQUFFRSxLQUFLLENBQUM7QUFDaEQiLCJpZ25vcmVMaXN0IjpbXX0=
@@ -0,0 +1,13 @@
1
+ import { clampVariationColumns, variationLayoutSpan } from './variationLayout';
2
+ test('column count stays between 1 and 4', function () {
3
+ expect(clampVariationColumns(undefined)).toBe(1);
4
+ expect(clampVariationColumns(2)).toBe(2);
5
+ expect(clampVariationColumns(8)).toBe(4);
6
+ });
7
+ test('an empty span is the full width and a wider span is clamped', function () {
8
+ expect(variationLayoutSpan(null, 2)).toBe(2);
9
+ expect(variationLayoutSpan(undefined, 3)).toBe(3);
10
+ expect(variationLayoutSpan(1, 2)).toBe(1);
11
+ expect(variationLayoutSpan(4, 2)).toBe(2);
12
+ });
13
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjbGFtcFZhcmlhdGlvbkNvbHVtbnMiLCJ2YXJpYXRpb25MYXlvdXRTcGFuIiwidGVzdCIsImV4cGVjdCIsInVuZGVmaW5lZCIsInRvQmUiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbHMvdmFyaWF0aW9uTGF5b3V0LnRlc3QudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY2xhbXBWYXJpYXRpb25Db2x1bW5zLCB2YXJpYXRpb25MYXlvdXRTcGFuIH0gZnJvbSAnLi92YXJpYXRpb25MYXlvdXQnO1xuXG50ZXN0KCdjb2x1bW4gY291bnQgc3RheXMgYmV0d2VlbiAxIGFuZCA0JywgKCkgPT4ge1xuICBleHBlY3QoY2xhbXBWYXJpYXRpb25Db2x1bW5zKHVuZGVmaW5lZCkpLnRvQmUoMSk7XG4gIGV4cGVjdChjbGFtcFZhcmlhdGlvbkNvbHVtbnMoMikpLnRvQmUoMik7XG4gIGV4cGVjdChjbGFtcFZhcmlhdGlvbkNvbHVtbnMoOCkpLnRvQmUoNCk7XG59KTtcblxudGVzdCgnYW4gZW1wdHkgc3BhbiBpcyB0aGUgZnVsbCB3aWR0aCBhbmQgYSB3aWRlciBzcGFuIGlzIGNsYW1wZWQnLCAoKSA9PiB7XG4gIGV4cGVjdCh2YXJpYXRpb25MYXlvdXRTcGFuKG51bGwsIDIpKS50b0JlKDIpO1xuICBleHBlY3QodmFyaWF0aW9uTGF5b3V0U3Bhbih1bmRlZmluZWQsIDMpKS50b0JlKDMpO1xuICBleHBlY3QodmFyaWF0aW9uTGF5b3V0U3BhbigxLCAyKSkudG9CZSgxKTtcbiAgZXhwZWN0KHZhcmlhdGlvbkxheW91dFNwYW4oNCwgMikpLnRvQmUoMik7XG59KTtcbiJdLCJtYXBwaW5ncyI6IkFBQUEsU0FBU0EscUJBQXFCLEVBQUVDLG1CQUFtQixRQUFRLG1CQUFtQjtBQUU5RUMsSUFBSSxDQUFDLG9DQUFvQyxFQUFFLFlBQU07RUFDL0NDLE1BQU0sQ0FBQ0gscUJBQXFCLENBQUNJLFNBQVMsQ0FBQyxDQUFDLENBQUNDLElBQUksQ0FBQyxDQUFDLENBQUM7RUFDaERGLE1BQU0sQ0FBQ0gscUJBQXFCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQ0ssSUFBSSxDQUFDLENBQUMsQ0FBQztFQUN4Q0YsTUFBTSxDQUFDSCxxQkFBcUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDSyxJQUFJLENBQUMsQ0FBQyxDQUFDO0FBQzFDLENBQUMsQ0FBQztBQUVGSCxJQUFJLENBQUMsNkRBQTZELEVBQUUsWUFBTTtFQUN4RUMsTUFBTSxDQUFDRixtQkFBbUIsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQ0ksSUFBSSxDQUFDLENBQUMsQ0FBQztFQUM1Q0YsTUFBTSxDQUFDRixtQkFBbUIsQ0FBQ0csU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUNDLElBQUksQ0FBQyxDQUFDLENBQUM7RUFDakRGLE1BQU0sQ0FBQ0YsbUJBQW1CLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUNJLElBQUksQ0FBQyxDQUFDLENBQUM7RUFDekNGLE1BQU0sQ0FBQ0YsbUJBQW1CLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUNJLElBQUksQ0FBQyxDQUFDLENBQUM7QUFDM0MsQ0FBQyxDQUFDIiwiaWdub3JlTGlzdCI6W119
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@merchi/product-form",
3
- "version": "1.19.30",
3
+ "version": "1.19.31",
4
4
  "description": "A React component for Merchi product forms",
5
5
  "main": "lib/index.js",
6
6
  "module": "lib/index.js",
@@ -81,7 +81,7 @@
81
81
  "draft-js": "^0.11.7",
82
82
  "konva": "^10.3.2",
83
83
  "lodash": "^4.17.21",
84
- "@merchi/sdk": "^1.42.12",
84
+ "@merchi/sdk": "^1.42.13",
85
85
  "moment-timezone": "^0.5.45",
86
86
  "react-dropzone": "^14.2.3",
87
87
  "react-hook-form": "^7.45.4",