@merchi/product-form 1.19.28 → 1.19.30

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.
@@ -4,7 +4,7 @@ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object
4
4
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
5
5
  function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
6
6
  function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
7
- import { Merchi } from '@merchi/sdk';
7
+ import { Merchi, VariationField } from '@merchi/sdk';
8
8
  import { formatCurrency } from '../utils/currency';
9
9
  import { ProductType, FieldType } from '../utils/types';
10
10
  export { cleanFormVariationJson } from '../utils/cleanFormVariationJson';
@@ -120,6 +120,14 @@ export function allowedFileTypes(variationField) {
120
120
  });
121
121
  return allowedTypes.join(',');
122
122
  }
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.
127
+ var VariationFieldClass = VariationField;
128
+ VariationFieldClass.property({
129
+ type: Boolean
130
+ })(VariationFieldClass.prototype, 'allowAllPantones');
123
131
  var merchi = new Merchi();
124
132
  function ensureVariationOptionFlags(variation) {
125
133
  if (variation.isVisible === undefined) variation.isVisible = true;
@@ -136,6 +144,9 @@ export function buildEmptyVariationFromField(field) {
136
144
  makeDirty: false
137
145
  });
138
146
  var variationJson = fieldEnt.buildEmptyVariation().toJson();
147
+ if (variationJson !== null && variationJson !== void 0 && variationJson.variationField && (field === null || field === void 0 ? void 0 : field.allowAllPantones) != null && variationJson.variationField.allowAllPantones == null) {
148
+ variationJson.variationField.allowAllPantones = Boolean(field.allowAllPantones);
149
+ }
139
150
  ensureVariationOptionFlags(variationJson);
140
151
  return variationJson;
141
152
  }
@@ -497,4 +508,4 @@ export function cleanJobVariationsAndGroups(jobJson) {
497
508
  }
498
509
  return jobJson;
499
510
  }
500
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJNZXJjaGkiLCJmb3JtYXRDdXJyZW5jeSIsIlByb2R1Y3RUeXBlIiwiRmllbGRUeXBlIiwiY2xlYW5Gb3JtVmFyaWF0aW9uSnNvbiIsImRlZmF1bHRHcm91cFF1YW50aXR5IiwiZW5mb3JjZU1vcVBlckdyb3VwIiwicHJvZHVjdE1pbmltdW1RdWFudGl0eSIsInByb2R1Y3RNb3FGbG9vciIsInBuZ09wdGlvbk5vdEZvdW5kIiwicmVxdWlyZSIsInJlbmRlclNpbmdsZUNvc3RJbmRpY2F0aW9uIiwiY29zdCIsImN1cnJlbmN5Q29kZSIsImNvc3RUeXBlU3RyaW5nIiwiY3VycmVuY3lPcHRpb25zIiwiY3VycmVuY3kiLCJzaG93Q29kZUlmTm9TeW1ib2wiLCJjb3N0U3RyaW5nIiwiYW1vdW50IiwicGFyc2VGbG9hdCIsIk51bWJlciIsImlzRmluaXRlIiwiY29zdERldGFpbCIsIm9uY2VPZmZDb3N0IiwidW5pdENvc3QiLCJvbmNlT2ZmQ29zdERlc2NyaXB0aW9uIiwidW5pdENvc3REZXNjcmlwdGlvbiIsInZhcmlhdGlvbkZpZWxkQ29zdERldGFpbCIsInZhcmlhdGlvbkZpZWxkIiwidmFyaWF0aW9uQ29zdCIsInZhcmlhdGlvblVuaXRDb3N0IiwidmFyaWF0aW9uQ29zdERldGFpbCIsInZhcmlhdGlvbiIsInZhcmlhdGlvbkZpZWxkT3B0aW9uQ29zdERldGFpbCIsIm9wdGlvbiIsIl9vcHRpb24kb25jZU9mZkNvc3QiLCJfb3B0aW9uJHVuaXRDb3N0IiwicHJvZHVjdFNldHVwQ29zdERldGFpbCIsInByb2R1Y3QiLCJzZXR1cFByaWNlIiwibGFiZWwiLCJzZXR1cFBlckdyb3VwIiwic3BsaXRTZWxlY3RlZE9wdGlvbnMiLCJ2YWx1ZSIsIkFycmF5IiwiaXNBcnJheSIsInNwbGl0Iiwic3luY1NlbGVjdGVkT3B0aW9uc0Zyb21WYWx1ZSIsIl92YXJpYXRpb24kdmFyaWF0aW9uRiIsIl90eXBlb2YiLCJmaWVsZFR5cGUiLCJDT0xPVVJfRVhUUkFDVCIsInNlbGVjdGFibGUiLCJzZWxlY3RhYmxlT3B0aW9ucyIsImxlbmd0aCIsInNlbGVjdGVkSWRzIiwibWFwIiwiU3RyaW5nIiwiZmlsdGVyIiwiQm9vbGVhbiIsInJlc29sdmVkIiwiaW5jbHVkZXMiLCJvcHRpb25JZCIsIl9vYmplY3RTcHJlYWQiLCJzZWxlY3RlZE9wdGlvbnMiLCJzeW5jSm9iU2VsZWN0ZWRPcHRpb25zRnJvbVZhbHVlcyIsImpvYiIsIm5leHQiLCJ2YXJpYXRpb25zIiwidmFyaWF0aW9uc0dyb3VwcyIsImdyb3VwIiwic3VwcGxpZXJTZWxsZXJFZGl0YWJsZVByb2R1Y3RUeXBlcyIsIlNVUFBMSUVSX01PRCIsIkNMT05FRF9TVVBQTElFUl9NT0QiLCJvcHRpb25JbWFnZVVybCIsImltYWdlIiwiaW1hZ2VOb3RGb3VuZCIsInNyYyIsImxpbmtlZEZpbGUiLCJ2aWV3VXJsIiwiYWxsb3dlZEZpbGVUeXBlcyIsImZpbGVUeXBlTWFwcGluZyIsImFsbG93RmlsZUpwZWciLCJhbGxvd0ZpbGVHaWYiLCJhbGxvd0ZpbGVQZGYiLCJhbGxvd0ZpbGVQbmciLCJhbGxvd0ZpbGVBaSIsImFsbG93ZWRUeXBlcyIsIk9iamVjdCIsImtleXMiLCJhdHRyaWJ1dGVOYW1lIiwiam9pbiIsIm1lcmNoaSIsImVuc3VyZVZhcmlhdGlvbk9wdGlvbkZsYWdzIiwiaXNWaXNpYmxlIiwidW5kZWZpbmVkIiwiZm9yRWFjaCIsImF2YWlsYWJsZSIsImJ1aWxkRW1wdHlWYXJpYXRpb25Gcm9tRmllbGQiLCJmaWVsZCIsImZpZWxkRW50IiwiVmFyaWF0aW9uRmllbGQiLCJmcm9tSnNvbiIsIm1ha2VEaXJ0eSIsInZhcmlhdGlvbkpzb24iLCJidWlsZEVtcHR5VmFyaWF0aW9uIiwidG9Kc29uIiwiYnVpbGRFbXB0eVZhcmlhdGlvbkdyb3VwIiwicHJvZHVjdEVudCIsIlByb2R1Y3QiLCJuZXdHcm91cCIsImdyb3VwQ29zdCIsInF1YW50aXR5IiwiZ3JvdXBKc29uIiwiaXNQcm9kdWN0U3VwcGxpZXJNT0QiLCJwcm9kdWN0VHlwZSIsIlNVUFBMSUVSX1JFU0VMTF9NT0QiLCJpc1Byb2R1Y3RUeXBlRmlsZURvd25sb2FkIiwicGFyc2VJbnQiLCJTRUxMRVJfRklMRV9ET1dOTE9BRCIsImlzUHJvZHVjdEZpbGVEb3dubG9hZCIsImlzUHJvZHVjdExlYWRGb3JtIiwiTEVBRF9GT1JNIiwiaXNvQ291bnRyaWVzIiwiQUYiLCJBWCIsIkFMIiwiRFoiLCJBUyIsIkFEIiwiQU8iLCJBSSIsIkFRIiwiQUciLCJBUiIsIkFNIiwiQVciLCJBVSIsIkFUIiwiQVoiLCJCUyIsIkJIIiwiQkQiLCJCQiIsIkJZIiwiQkUiLCJCWiIsIkJKIiwiQk0iLCJCVCIsIkJPIiwiQkEiLCJCVyIsIkJWIiwiQlIiLCJJTyIsIkJOIiwiQkciLCJCRiIsIkJJIiwiS0giLCJDTSIsIkNBIiwiQ1YiLCJLWSIsIkNGIiwiVEQiLCJDTCIsIkNOIiwiQ1giLCJDQyIsIkNPIiwiS00iLCJDRyIsIkNEIiwiQ0siLCJDUiIsIkNJIiwiSFIiLCJDVSIsIkNZIiwiQ1oiLCJESyIsIkRKIiwiRE0iLCJETyIsIkVDIiwiRUciLCJTViIsIkdRIiwiRVIiLCJFRSIsIkVUIiwiRksiLCJGTyIsIkZKIiwiRkkiLCJGUiIsIkdGIiwiUEYiLCJURiIsIkdBIiwiR00iLCJHRSIsIkRFIiwiR0giLCJHSSIsIkdSIiwiR0wiLCJHRCIsIkdQIiwiR1UiLCJHVCIsIkdHIiwiR04iLCJHVyIsIkdZIiwiSFQiLCJITSIsIlZBIiwiSE4iLCJISyIsIkhVIiwiSVMiLCJJTiIsIklEIiwiSVIiLCJJUSIsIklFIiwiSU0iLCJJTCIsIklUIiwiSk0iLCJKUCIsIkpFIiwiSk8iLCJLWiIsIktFIiwiS0kiLCJLUiIsIktXIiwiS0ciLCJMQSIsIkxWIiwiTEIiLCJMUyIsIkxSIiwiTFkiLCJMSSIsIkxUIiwiTFUiLCJNTyIsIk1LIiwiTUciLCJNVyIsIk1ZIiwiTVYiLCJNTCIsIk1UIiwiTUgiLCJNUSIsIk1SIiwiTVUiLCJZVCIsIk1YIiwiRk0iLCJNRCIsIk1DIiwiTU4iLCJNRSIsIk1TIiwiTUEiLCJNWiIsIk1NIiwiTkEiLCJOUiIsIk5QIiwiTkwiLCJBTiIsIk5DIiwiTloiLCJOSSIsIk5FIiwiTkciLCJOVSIsIk5GIiwiTVAiLCJOTyIsIk9NIiwiUEsiLCJQVyIsIlBTIiwiUEEiLCJQRyIsIlBZIiwiUEUiLCJQSCIsIlBOIiwiUEwiLCJQVCIsIlBSIiwiUUEiLCJSRSIsIlJPIiwiUlUiLCJSVyIsIkJMIiwiU0giLCJLTiIsIkxDIiwiTUYiLCJQTSIsIlZDIiwiV1MiLCJTTSIsIlNUIiwiU0EiLCJTTiIsIlJTIiwiU0MiLCJTTCIsIlNHIiwiU0siLCJTSSIsIlNCIiwiU08iLCJaQSIsIkdTIiwiRVMiLCJMSyIsIlNEIiwiU1IiLCJTSiIsIlNaIiwiU0UiLCJDSCIsIlNZIiwiVFciLCJUSiIsIlRaIiwiVEgiLCJUTCIsIlRHIiwiVEsiLCJUTyIsIlRUIiwiVE4iLCJUUiIsIlRNIiwiVEMiLCJUViIsIlVHIiwiVUEiLCJBRSIsIkdCIiwiVVMiLCJVTSIsIlVZIiwiVVoiLCJWVSIsIlZFIiwiVk4iLCJWRyIsIlZJIiwiV0YiLCJFSCIsIllFIiwiWk0iLCJaVyIsImdldENvdW50cnlOYW1lIiwiY291bnRyeUNvZGUiLCJoYXNPd25Qcm9wZXJ0eSIsImNsZWFuVGFnSWRzIiwicmF3IiwiaWQiLCJ0cmltIiwidGVzdCIsImdldE1lcmNoaVNvdXJjZUpvYlRhZ3MiLCJsb2NhbFN0b3JhZ2UiLCJtZXJjaGlTb3VyY2UiLCJnZXRJdGVtIiwiaWRzIiwic29ydEJ5UG9zaXRpb24iLCJvcHRpb25zIiwib2JqIiwicG9zaXRpb24iLCJzb3J0IiwiYSIsImIiLCJhUG9zaXRpb24iLCJiUG9zaXRpb24iLCJjbGVhbkpvYlZhcmlhdGlvbnNBbmRHcm91cHMiLCJqb2JKc29uIiwiaGFzR3JvdXBzIiwiaGFzVmFyaWF0aW9ucyIsImkiLCJqIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbXBvbmVudHMvdXRpbHMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTWVyY2hpIH0gZnJvbSAnQG1lcmNoaS9zZGsnO1xuaW1wb3J0IHsgZm9ybWF0Q3VycmVuY3kgfSBmcm9tICcuLi91dGlscy9jdXJyZW5jeSc7XG5pbXBvcnQgeyBQcm9kdWN0VHlwZSwgRmllbGRUeXBlIH0gZnJvbSAnLi4vdXRpbHMvdHlwZXMnO1xuZXhwb3J0IHsgY2xlYW5Gb3JtVmFyaWF0aW9uSnNvbiB9IGZyb20gJy4uL3V0aWxzL2NsZWFuRm9ybVZhcmlhdGlvbkpzb24nO1xuaW1wb3J0IHsgY2xlYW5Gb3JtVmFyaWF0aW9uSnNvbiB9IGZyb20gJy4uL3V0aWxzL2NsZWFuRm9ybVZhcmlhdGlvbkpzb24nO1xuaW1wb3J0IHsgZGVmYXVsdEdyb3VwUXVhbnRpdHkgfSBmcm9tICcuLi91dGlscy9xdWFudGl0eSc7XG5leHBvcnQge1xuICBkZWZhdWx0R3JvdXBRdWFudGl0eSxcbiAgZW5mb3JjZU1vcVBlckdyb3VwLFxuICBwcm9kdWN0TWluaW11bVF1YW50aXR5LFxuICBwcm9kdWN0TW9xRmxvb3IsXG59IGZyb20gJy4uL3V0aWxzL3F1YW50aXR5JztcbmNvbnN0IHBuZ09wdGlvbk5vdEZvdW5kID0gcmVxdWlyZSgnLi4vaW1hZ2VzL3Byb2R1Y3Qtbm90LWZvdW5kLnBuZycpO1xuXG5mdW5jdGlvbiByZW5kZXJTaW5nbGVDb3N0SW5kaWNhdGlvbihcbiAgY29zdDogYW55LFxuICBjdXJyZW5jeUNvZGU6IGFueSxcbiAgY29zdFR5cGVTdHJpbmc6IHN0cmluZ1xuKSB7XG4gIGxldCBjdXJyZW5jeU9wdGlvbnMgPSB7IGN1cnJlbmN5OiBjdXJyZW5jeUNvZGUsIHNob3dDb2RlSWZOb1N5bWJvbDogZmFsc2UgfTtcbiAgbGV0IGNvc3RTdHJpbmcgPSAnJztcbiAgY29uc3QgYW1vdW50ID0gcGFyc2VGbG9hdChjb3N0KTtcblxuICBpZiAoTnVtYmVyLmlzRmluaXRlKGFtb3VudCkgJiYgYW1vdW50ID4gMCkge1xuICAgIGNvc3RTdHJpbmcgPSBmb3JtYXRDdXJyZW5jeShhbW91bnQsIGN1cnJlbmN5T3B0aW9ucyk7XG4gICAgY29zdFN0cmluZyA9ICcgKyAnICsgY29zdFN0cmluZyArICcgJyArIGNvc3RUeXBlU3RyaW5nO1xuICB9XG4gIHJldHVybiBjb3N0U3RyaW5nO1xufVxuXG5jb25zdCBjb3N0RGV0YWlsID0gKG9uY2VPZmZDb3N0OiBhbnksIHVuaXRDb3N0OiBhbnksIGN1cnJlbmN5Q29kZTogc3RyaW5nKSA9PiB7XG4gIGNvbnN0IG9uY2VPZmZDb3N0RGVzY3JpcHRpb24gPSByZW5kZXJTaW5nbGVDb3N0SW5kaWNhdGlvbihcbiAgICBwYXJzZUZsb2F0KG9uY2VPZmZDb3N0KSxcbiAgICBjdXJyZW5jeUNvZGUsXG4gICAgJ29uY2Ugb2ZmJ1xuICApO1xuICBjb25zdCB1bml0Q29zdERlc2NyaXB0aW9uID0gcmVuZGVyU2luZ2xlQ29zdEluZGljYXRpb24oXG4gICAgcGFyc2VGbG9hdCh1bml0Q29zdCksXG4gICAgY3VycmVuY3lDb2RlLFxuICAgICdwZXIgdW5pdCdcbiAgKTtcbiAgcmV0dXJuIG9uY2VPZmZDb3N0RGVzY3JpcHRpb24gKyB1bml0Q29zdERlc2NyaXB0aW9uO1xufTtcblxuZXhwb3J0IGZ1bmN0aW9uIHZhcmlhdGlvbkZpZWxkQ29zdERldGFpbCh2YXJpYXRpb25GaWVsZDogYW55KSB7XG4gIGNvbnN0IHsgdmFyaWF0aW9uQ29zdCwgdmFyaWF0aW9uVW5pdENvc3QsIGN1cnJlbmN5IH0gPSB2YXJpYXRpb25GaWVsZDtcbiAgcmV0dXJuIGNvc3REZXRhaWwodmFyaWF0aW9uQ29zdCEsIHZhcmlhdGlvblVuaXRDb3N0ISwgY3VycmVuY3khKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHZhcmlhdGlvbkNvc3REZXRhaWwodmFyaWF0aW9uOiBhbnkpIHtcbiAgY29uc3QgeyBvbmNlT2ZmQ29zdCwgdW5pdENvc3QsIGN1cnJlbmN5IH0gPSB2YXJpYXRpb247XG4gIHJldHVybiBjb3N0RGV0YWlsKG9uY2VPZmZDb3N0ISwgdW5pdENvc3QhLCBjdXJyZW5jeSEpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdmFyaWF0aW9uRmllbGRPcHRpb25Db3N0RGV0YWlsKG9wdGlvbjogYW55KSB7XG4gIGNvbnN0IHsgY3VycmVuY3kgfSA9IG9wdGlvbjtcbiAgLy8gRmllbGQgb3B0aW9ucyB1c2UgdmFyaWF0aW9uQ29zdDsgc2VsZWN0YWJsZSBWYXJpYXRpb25PcHRpb25zIHVzZSBvbmNlT2ZmQ29zdC5cbiAgY29uc3Qgb25jZU9mZkNvc3QgPSBvcHRpb24ub25jZU9mZkNvc3QgPz8gb3B0aW9uLnZhcmlhdGlvbkNvc3Q7XG4gIGNvbnN0IHVuaXRDb3N0ID0gb3B0aW9uLnVuaXRDb3N0ID8/IG9wdGlvbi52YXJpYXRpb25Vbml0Q29zdDtcbiAgcmV0dXJuIGNvc3REZXRhaWwob25jZU9mZkNvc3QhLCB1bml0Q29zdCEsIGN1cnJlbmN5ISk7XG59XG5cbi8qKiBQcm9kdWN0LWxldmVsIHNldHVwIGZlZSwgc2FtZSBcIisgJFgg4oCmXCIgc3R5bGUgYXMgdmFyaWF0aW9uIG9uY2Utb2ZmIGNvc3RzLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHByb2R1Y3RTZXR1cENvc3REZXRhaWwocHJvZHVjdDogYW55KSB7XG4gIGNvbnN0IHNldHVwUHJpY2UgPSBwYXJzZUZsb2F0KHByb2R1Y3Q/LnNldHVwUHJpY2UpO1xuICBpZiAoIXNldHVwUHJpY2UpIHJldHVybiAnJztcbiAgY29uc3QgbGFiZWwgPSBwcm9kdWN0LnNldHVwUGVyR3JvdXAgPyAnc2V0dXAgcGVyIGdyb3VwJyA6ICdzZXR1cCc7XG4gIHJldHVybiByZW5kZXJTaW5nbGVDb3N0SW5kaWNhdGlvbihzZXR1cFByaWNlLCBwcm9kdWN0LmN1cnJlbmN5LCBsYWJlbCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzcGxpdFNlbGVjdGVkT3B0aW9ucyh2YWx1ZTogYW55KSB7XG4gIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkge1xuICAgIHJldHVybiB2YWx1ZTtcbiAgfVxuICBpZiAodHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJyAmJiB2YWx1ZSkge1xuICAgIHJldHVybiB2YWx1ZS5zcGxpdCgnLCcpO1xuICB9XG4gIHJldHVybiBbXTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHN5bmNTZWxlY3RlZE9wdGlvbnNGcm9tVmFsdWUodmFyaWF0aW9uOiBhbnkpOiBhbnkge1xuICBpZiAoIXZhcmlhdGlvbiB8fCB0eXBlb2YgdmFyaWF0aW9uICE9PSAnb2JqZWN0JykgcmV0dXJuIHZhcmlhdGlvbjtcbiAgY29uc3QgZmllbGRUeXBlID0gTnVtYmVyKHZhcmlhdGlvbj8udmFyaWF0aW9uRmllbGQ/LmZpZWxkVHlwZSk7XG4gIGlmIChmaWVsZFR5cGUgPT09IEZpZWxkVHlwZS5DT0xPVVJfRVhUUkFDVCkgcmV0dXJuIHZhcmlhdGlvbjtcblxuICBjb25zdCBzZWxlY3RhYmxlID0gdmFyaWF0aW9uPy5zZWxlY3RhYmxlT3B0aW9ucyB8fCBbXTtcbiAgaWYgKCFzZWxlY3RhYmxlLmxlbmd0aCkgcmV0dXJuIHZhcmlhdGlvbjtcblxuICBjb25zdCBzZWxlY3RlZElkcyA9IHNwbGl0U2VsZWN0ZWRPcHRpb25zKHZhcmlhdGlvbj8udmFsdWUpXG4gICAgLm1hcChTdHJpbmcpXG4gICAgLmZpbHRlcihCb29sZWFuKTtcbiAgaWYgKCFzZWxlY3RlZElkcy5sZW5ndGgpIHJldHVybiB2YXJpYXRpb247XG5cbiAgY29uc3QgcmVzb2x2ZWQgPSBzZWxlY3RhYmxlLmZpbHRlcigob3B0aW9uOiBhbnkpID0+XG4gICAgc2VsZWN0ZWRJZHMuaW5jbHVkZXMoU3RyaW5nKG9wdGlvbi5vcHRpb25JZCkpXG4gICk7XG4gIGlmICghcmVzb2x2ZWQubGVuZ3RoKSByZXR1cm4gdmFyaWF0aW9uO1xuXG4gIHJldHVybiB7IC4uLnZhcmlhdGlvbiwgc2VsZWN0ZWRPcHRpb25zOiByZXNvbHZlZCB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gc3luY0pvYlNlbGVjdGVkT3B0aW9uc0Zyb21WYWx1ZXMoam9iOiBhbnkpOiBhbnkge1xuICBpZiAoIWpvYiB8fCB0eXBlb2Ygam9iICE9PSAnb2JqZWN0JykgcmV0dXJuIGpvYjtcbiAgY29uc3QgbmV4dCA9IHsgLi4uam9iIH07XG4gIGlmIChBcnJheS5pc0FycmF5KG5leHQudmFyaWF0aW9ucykpIHtcbiAgICBuZXh0LnZhcmlhdGlvbnMgPSBuZXh0LnZhcmlhdGlvbnMubWFwKHN5bmNTZWxlY3RlZE9wdGlvbnNGcm9tVmFsdWUpO1xuICB9XG4gIGlmIChBcnJheS5pc0FycmF5KG5leHQudmFyaWF0aW9uc0dyb3VwcykpIHtcbiAgICBuZXh0LnZhcmlhdGlvbnNHcm91cHMgPSBuZXh0LnZhcmlhdGlvbnNHcm91cHMubWFwKChncm91cDogYW55KSA9PiAoe1xuICAgICAgLi4uZ3JvdXAsXG4gICAgICB2YXJpYXRpb25zOiBBcnJheS5pc0FycmF5KGdyb3VwPy52YXJpYXRpb25zKVxuICAgICAgICA/IGdyb3VwLnZhcmlhdGlvbnMubWFwKHN5bmNTZWxlY3RlZE9wdGlvbnNGcm9tVmFsdWUpXG4gICAgICAgIDogZ3JvdXA/LnZhcmlhdGlvbnMsXG4gICAgfSkpO1xuICB9XG4gIHJldHVybiBuZXh0O1xufVxuXG5leHBvcnQgY29uc3Qgc3VwcGxpZXJTZWxsZXJFZGl0YWJsZVByb2R1Y3RUeXBlczogQXJyYXk8bnVtYmVyPiA9IFtcbiAgUHJvZHVjdFR5cGUuU1VQUExJRVJfTU9ELFxuICBQcm9kdWN0VHlwZS5DTE9ORURfU1VQUExJRVJfTU9ELFxuXTtcblxuZXhwb3J0IGZ1bmN0aW9uIG9wdGlvbkltYWdlVXJsKG9wdGlvbjogYW55KSB7XG4gIGNvbnN0IGltYWdlID0gcG5nT3B0aW9uTm90Rm91bmQgPyAocG5nT3B0aW9uTm90Rm91bmQuZGVmYXVsdCB8fCBwbmdPcHRpb25Ob3RGb3VuZCkgOiAnJztcbiAgY29uc3QgaW1hZ2VOb3RGb3VuZCA9IGltYWdlID8gKGltYWdlLnNyYyB8fCBpbWFnZSkgOiAnJztcbiAgcmV0dXJuIG9wdGlvbi5saW5rZWRGaWxlXG4gICAgPyBvcHRpb24ubGlua2VkRmlsZVxuICAgICAgPyBvcHRpb24ubGlua2VkRmlsZS52aWV3VXJsXG4gICAgICA6IGltYWdlTm90Rm91bmRcbiAgICA6IGltYWdlTm90Rm91bmQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBhbGxvd2VkRmlsZVR5cGVzKHZhcmlhdGlvbkZpZWxkOiBhbnkpOiBzdHJpbmcge1xuICBjb25zdCBmaWxlVHlwZU1hcHBpbmc6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0gPSB7XG4gICAgYWxsb3dGaWxlSnBlZzogJy5qcGVnJyxcbiAgICBhbGxvd0ZpbGVHaWY6ICcuZ2lmJyxcbiAgICBhbGxvd0ZpbGVQZGY6ICcucGRmJyxcbiAgICBhbGxvd0ZpbGVQbmc6ICcucG5nJyxcbiAgICBhbGxvd0ZpbGVBaTogJy5haScsXG4gIH07XG5cbiAgY29uc3QgYWxsb3dlZFR5cGVzOiBzdHJpbmdbXSA9IE9iamVjdC5rZXlzKGZpbGVUeXBlTWFwcGluZylcbiAgICAuZmlsdGVyKChhdHRyaWJ1dGVOYW1lKSA9PiB2YXJpYXRpb25GaWVsZFthdHRyaWJ1dGVOYW1lXSlcbiAgICAubWFwKChhdHRyaWJ1dGVOYW1lKSA9PiBmaWxlVHlwZU1hcHBpbmdbYXR0cmlidXRlTmFtZV0pO1xuXG4gIHJldHVybiBhbGxvd2VkVHlwZXMuam9pbignLCcpO1xufVxuXG5jb25zdCBtZXJjaGkgPSBuZXcgTWVyY2hpKCk7XG5cbmZ1bmN0aW9uIGVuc3VyZVZhcmlhdGlvbk9wdGlvbkZsYWdzKHZhcmlhdGlvbjogYW55KSB7XG4gIGlmICh2YXJpYXRpb24uaXNWaXNpYmxlID09PSB1bmRlZmluZWQpIHZhcmlhdGlvbi5pc1Zpc2libGUgPSB0cnVlO1xuICAodmFyaWF0aW9uLnNlbGVjdGFibGVPcHRpb25zIHx8IFtdKS5mb3JFYWNoKChvcHRpb246IGFueSkgPT4ge1xuICAgIGlmIChvcHRpb24uaXNWaXNpYmxlID09PSB1bmRlZmluZWQpIG9wdGlvbi5pc1Zpc2libGUgPSB0cnVlO1xuICAgIGlmIChvcHRpb24uYXZhaWxhYmxlID09PSB1bmRlZmluZWQpIG9wdGlvbi5hdmFpbGFibGUgPSB0cnVlO1xuICB9KTtcbn1cblxuLyoqIEJ1aWxkIGEgZGVmYXVsdCB2YXJpYXRpb24gSlNPTiBmb3IgYSBwcm9kdWN0IHZhcmlhdGlvbiBmaWVsZCAoZ2F0ZWQgZmllbGRzKS4gKi9cbmV4cG9ydCBmdW5jdGlvbiBidWlsZEVtcHR5VmFyaWF0aW9uRnJvbUZpZWxkKGZpZWxkOiBhbnkpIHtcbiAgY29uc3QgZmllbGRFbnQgPSBuZXcgbWVyY2hpLlZhcmlhdGlvbkZpZWxkKCk7XG4gIGZpZWxkRW50LmZyb21Kc29uKHsgLi4uZmllbGQgfSwgeyBtYWtlRGlydHk6IGZhbHNlIH0pO1xuICBjb25zdCB2YXJpYXRpb25Kc29uID0gZmllbGRFbnQuYnVpbGRFbXB0eVZhcmlhdGlvbigpLnRvSnNvbigpO1xuICBlbnN1cmVWYXJpYXRpb25PcHRpb25GbGFncyh2YXJpYXRpb25Kc29uKTtcbiAgcmV0dXJuIHZhcmlhdGlvbkpzb247XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBidWlsZEVtcHR5VmFyaWF0aW9uR3JvdXAocHJvZHVjdDogYW55KSB7XG4gIGNvbnN0IHByb2R1Y3RFbnQgPSBuZXcgbWVyY2hpLlByb2R1Y3QoKTtcbiAgcHJvZHVjdEVudC5mcm9tSnNvbih7Li4ucHJvZHVjdH0sIHsgbWFrZURpcnR5OiBmYWxzZX0pO1xuICBjb25zdCBuZXdHcm91cCA9IG5ldyBwcm9kdWN0RW50LmJ1aWxkRW1wdHlWYXJpYXRpb25Hcm91cCgpO1xuICBuZXdHcm91cC5ncm91cENvc3QgPSAwO1xuICBuZXdHcm91cC5xdWFudGl0eSA9IGRlZmF1bHRHcm91cFF1YW50aXR5KHByb2R1Y3QpO1xuICBjb25zdCBncm91cEpzb24gPSBuZXdHcm91cC50b0pzb24oKTtcbiAgLy8gVGhlIFNESydzIGJ1aWxkVmFyaWF0aW9uT3B0aW9uIGRvZXMgbm90IHNldCBgaXNWaXNpYmxlYC9gYXZhaWxhYmxlYCBvbiB0aGVcbiAgLy8gYnVpbHQgc2VsZWN0YWJsZSBvcHRpb25zLiBJbiBzZXJ2ZXIgbW9kZSB0aGVzZSBhcmUgcmVwb3B1bGF0ZWQgYnkgdGhlXG4gIC8vIGVzdGltYXRlIHJvdW5kLXRyaXAgKyBmb3JtIHJlc2V0LCBidXQgaW4gY2xpZW50IG1vZGUgKG5vIHJvdW5kLXRyaXApIHRoZVxuICAvLyBvcHRpb25zIHdvdWxkIHJlbmRlciBkaXNhYmxlZCAoXCItIGRpc2FibGVkXCIpLiBEZWZhdWx0IHRoZW0gaGVyZSBzbyBhIGZyZXNobHlcbiAgLy8gYWRkZWQgZ3JvdXAgaXMgdXNhYmxlOyBvcHRpb24tbGV2ZWwgY29uZGl0aW9uYWwgdmlzaWJpbGl0eSAoc2VsZWN0ZWRCeSkgaXNcbiAgLy8gcmVzb2x2ZWQgb24gc3Vic2VxdWVudCBpbnRlcmFjdGlvbnMgaW4gc2VydmVyIG1vZGUuXG4gIChncm91cEpzb24udmFyaWF0aW9ucyB8fCBbXSkuZm9yRWFjaChlbnN1cmVWYXJpYXRpb25PcHRpb25GbGFncyk7XG4gIHJldHVybiBncm91cEpzb247XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1Byb2R1Y3RTdXBwbGllck1PRChwcm9kdWN0OiBhbnkpIHtcbiAgY29uc3QgcHJvZHVjdFR5cGUgPSBwcm9kdWN0ICYmIHByb2R1Y3QucHJvZHVjdFR5cGU7XG4gIHJldHVybiAoXG4gICAgcHJvZHVjdCAmJlxuICAgIFtcbiAgICAgIFN0cmluZyhQcm9kdWN0VHlwZS5TVVBQTElFUl9NT0QpLFxuICAgICAgU3RyaW5nKFByb2R1Y3RUeXBlLlNVUFBMSUVSX1JFU0VMTF9NT0QpLFxuICAgIF0uaW5jbHVkZXMoU3RyaW5nKHByb2R1Y3RUeXBlKSlcbiAgKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzUHJvZHVjdFR5cGVGaWxlRG93bmxvYWQocHJvZHVjdFR5cGU6IGFueSkge1xuICByZXR1cm4gcGFyc2VJbnQocHJvZHVjdFR5cGUsIDEwKSA9PT0gUHJvZHVjdFR5cGUuU0VMTEVSX0ZJTEVfRE9XTkxPQUQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1Byb2R1Y3RGaWxlRG93bmxvYWQocHJvZHVjdDogYW55KSB7XG4gIGNvbnN0IHsgcHJvZHVjdFR5cGUgfSA9IHByb2R1Y3Q7XG4gIHJldHVybiBpc1Byb2R1Y3RUeXBlRmlsZURvd25sb2FkKHByb2R1Y3RUeXBlKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzUHJvZHVjdExlYWRGb3JtKHByb2R1Y3Q6IGFueSkge1xuICBjb25zdCBwcm9kdWN0VHlwZSA9IHByb2R1Y3QgJiYgcHJvZHVjdC5wcm9kdWN0VHlwZTtcbiAgcmV0dXJuIHBhcnNlSW50KHByb2R1Y3RUeXBlLCAxMCkgPT09IFByb2R1Y3RUeXBlLkxFQURfRk9STTtcbn1cblxuZXhwb3J0IGNvbnN0IGlzb0NvdW50cmllczogYW55ID0ge1xuICBBRjogJ0FmZ2hhbmlzdGFuJyxcbiAgQVg6ICdBbGFuZCBJc2xhbmRzJyxcbiAgQUw6ICdBbGJhbmlhJyxcbiAgRFo6ICdBbGdlcmlhJyxcbiAgQVM6ICdBbWVyaWNhbiBTYW1vYScsXG4gIEFEOiAnQW5kb3JyYScsXG4gIEFPOiAnQW5nb2xhJyxcbiAgQUk6ICdBbmd1aWxsYScsXG4gIEFROiAnQW50YXJjdGljYScsXG4gIEFHOiAnQW50aWd1YSBBbmQgQmFyYnVkYScsXG4gIEFSOiAnQXJnZW50aW5hJyxcbiAgQU06ICdBcm1lbmlhJyxcbiAgQVc6ICdBcnViYScsXG4gIEFVOiAnQXVzdHJhbGlhJyxcbiAgQVQ6ICdBdXN0cmlhJyxcbiAgQVo6ICdBemVyYmFpamFuJyxcbiAgQlM6ICdCYWhhbWFzJyxcbiAgQkg6ICdCYWhyYWluJyxcbiAgQkQ6ICdCYW5nbGFkZXNoJyxcbiAgQkI6ICdCYXJiYWRvcycsXG4gIEJZOiAnQmVsYXJ1cycsXG4gIEJFOiAnQmVsZ2l1bScsXG4gIEJaOiAnQmVsaXplJyxcbiAgQko6ICdCZW5pbicsXG4gIEJNOiAnQmVybXVkYScsXG4gIEJUOiAnQmh1dGFuJyxcbiAgQk86ICdCb2xpdmlhJyxcbiAgQkE6ICdCb3NuaWEgQW5kIEhlcnplZ292aW5hJyxcbiAgQlc6ICdCb3Rzd2FuYScsXG4gIEJWOiAnQm91dmV0IElzbGFuZCcsXG4gIEJSOiAnQnJhemlsJyxcbiAgSU86ICdCcml0aXNoIEluZGlhbiBPY2VhbiBUZXJyaXRvcnknLFxuICBCTjogJ0JydW5laSBEYXJ1c3NhbGFtJyxcbiAgQkc6ICdCdWxnYXJpYScsXG4gIEJGOiAnQnVya2luYSBGYXNvJyxcbiAgQkk6ICdCdXJ1bmRpJyxcbiAgS0g6ICdDYW1ib2RpYScsXG4gIENNOiAnQ2FtZXJvb24nLFxuICBDQTogJ0NhbmFkYScsXG4gIENWOiAnQ2FwZSBWZXJkZScsXG4gIEtZOiAnQ2F5bWFuIElzbGFuZHMnLFxuICBDRjogJ0NlbnRyYWwgQWZyaWNhbiBSZXB1YmxpYycsXG4gIFREOiAnQ2hhZCcsXG4gIENMOiAnQ2hpbGUnLFxuICBDTjogJ0NoaW5hJyxcbiAgQ1g6ICdDaHJpc3RtYXMgSXNsYW5kJyxcbiAgQ0M6ICdDb2NvcyAoS2VlbGluZykgSXNsYW5kcycsXG4gIENPOiAnQ29sb21iaWEnLFxuICBLTTogJ0NvbW9yb3MnLFxuICBDRzogJ0NvbmdvJyxcbiAgQ0Q6ICdDb25nbywgRGVtb2NyYXRpYyBSZXB1YmxpYycsXG4gIENLOiAnQ29vayBJc2xhbmRzJyxcbiAgQ1I6ICdDb3N0YSBSaWNhJyxcbiAgQ0k6IFwiQ290ZSBEJ0l2b2lyZVwiLFxuICBIUjogJ0Nyb2F0aWEnLFxuICBDVTogJ0N1YmEnLFxuICBDWTogJ0N5cHJ1cycsXG4gIENaOiAnQ3plY2ggUmVwdWJsaWMnLFxuICBESzogJ0Rlbm1hcmsnLFxuICBESjogJ0RqaWJvdXRpJyxcbiAgRE06ICdEb21pbmljYScsXG4gIERPOiAnRG9taW5pY2FuIFJlcHVibGljJyxcbiAgRUM6ICdFY3VhZG9yJyxcbiAgRUc6ICdFZ3lwdCcsXG4gIFNWOiAnRWwgU2FsdmFkb3InLFxuICBHUTogJ0VxdWF0b3JpYWwgR3VpbmVhJyxcbiAgRVI6ICdFcml0cmVhJyxcbiAgRUU6ICdFc3RvbmlhJyxcbiAgRVQ6ICdFdGhpb3BpYScsXG4gIEZLOiAnRmFsa2xhbmQgSXNsYW5kcyAoTWFsdmluYXMpJyxcbiAgRk86ICdGYXJvZSBJc2xhbmRzJyxcbiAgRko6ICdGaWppJyxcbiAgRkk6ICdGaW5sYW5kJyxcbiAgRlI6ICdGcmFuY2UnLFxuICBHRjogJ0ZyZW5jaCBHdWlhbmEnLFxuICBQRjogJ0ZyZW5jaCBQb2x5bmVzaWEnLFxuICBURjogJ0ZyZW5jaCBTb3V0aGVybiBUZXJyaXRvcmllcycsXG4gIEdBOiAnR2Fib24nLFxuICBHTTogJ0dhbWJpYScsXG4gIEdFOiAnR2VvcmdpYScsXG4gIERFOiAnR2VybWFueScsXG4gIEdIOiAnR2hhbmEnLFxuICBHSTogJ0dpYnJhbHRhcicsXG4gIEdSOiAnR3JlZWNlJyxcbiAgR0w6ICdHcmVlbmxhbmQnLFxuICBHRDogJ0dyZW5hZGEnLFxuICBHUDogJ0d1YWRlbG91cGUnLFxuICBHVTogJ0d1YW0nLFxuICBHVDogJ0d1YXRlbWFsYScsXG4gIEdHOiAnR3Vlcm5zZXknLFxuICBHTjogJ0d1aW5lYScsXG4gIEdXOiAnR3VpbmVhLUJpc3NhdScsXG4gIEdZOiAnR3V5YW5hJyxcbiAgSFQ6ICdIYWl0aScsXG4gIEhNOiAnSGVhcmQgSXNsYW5kICYgTWNkb25hbGQgSXNsYW5kcycsXG4gIFZBOiAnSG9seSBTZWUgKFZhdGljYW4gQ2l0eSBTdGF0ZSknLFxuICBITjogJ0hvbmR1cmFzJyxcbiAgSEs6ICdIb25nIEtvbmcnLFxuICBIVTogJ0h1bmdhcnknLFxuICBJUzogJ0ljZWxhbmQnLFxuICBJTjogJ0luZGlhJyxcbiAgSUQ6ICdJbmRvbmVzaWEnLFxuICBJUjogJ0lyYW4sIElzbGFtaWMgUmVwdWJsaWMgT2YnLFxuICBJUTogJ0lyYXEnLFxuICBJRTogJ0lyZWxhbmQnLFxuICBJTTogJ0lzbGUgT2YgTWFuJyxcbiAgSUw6ICdJc3JhZWwnLFxuICBJVDogJ0l0YWx5JyxcbiAgSk06ICdKYW1haWNhJyxcbiAgSlA6ICdKYXBhbicsXG4gIEpFOiAnSmVyc2V5JyxcbiAgSk86ICdKb3JkYW4nLFxuICBLWjogJ0themFraHN0YW4nLFxuICBLRTogJ0tlbnlhJyxcbiAgS0k6ICdLaXJpYmF0aScsXG4gIEtSOiAnS29yZWEnLFxuICBLVzogJ0t1d2FpdCcsXG4gIEtHOiAnS3lyZ3l6c3RhbicsXG4gIExBOiBcIkxhbyBQZW9wbGUncyBEZW1vY3JhdGljIFJlcHVibGljXCIsXG4gIExWOiAnTGF0dmlhJyxcbiAgTEI6ICdMZWJhbm9uJyxcbiAgTFM6ICdMZXNvdGhvJyxcbiAgTFI6ICdMaWJlcmlhJyxcbiAgTFk6ICdMaWJ5YW4gQXJhYiBKYW1haGlyaXlhJyxcbiAgTEk6ICdMaWVjaHRlbnN0ZWluJyxcbiAgTFQ6ICdMaXRodWFuaWEnLFxuICBMVTogJ0x1eGVtYm91cmcnLFxuICBNTzogJ01hY2FvJyxcbiAgTUs6ICdNYWNlZG9uaWEnLFxuICBNRzogJ01hZGFnYXNjYXInLFxuICBNVzogJ01hbGF3aScsXG4gIE1ZOiAnTWFsYXlzaWEnLFxuICBNVjogJ01hbGRpdmVzJyxcbiAgTUw6ICdNYWxpJyxcbiAgTVQ6ICdNYWx0YScsXG4gIE1IOiAnTWFyc2hhbGwgSXNsYW5kcycsXG4gIE1ROiAnTWFydGluaXF1ZScsXG4gIE1SOiAnTWF1cml0YW5pYScsXG4gIE1VOiAnTWF1cml0aXVzJyxcbiAgWVQ6ICdNYXlvdHRlJyxcbiAgTVg6ICdNZXhpY28nLFxuICBGTTogJ01pY3JvbmVzaWEsIEZlZGVyYXRlZCBTdGF0ZXMgT2YnLFxuICBNRDogJ01vbGRvdmEnLFxuICBNQzogJ01vbmFjbycsXG4gIE1OOiAnTW9uZ29saWEnLFxuICBNRTogJ01vbnRlbmVncm8nLFxuICBNUzogJ01vbnRzZXJyYXQnLFxuICBNQTogJ01vcm9jY28nLFxuICBNWjogJ01vemFtYmlxdWUnLFxuICBNTTogJ015YW5tYXInLFxuICBOQTogJ05hbWliaWEnLFxuICBOUjogJ05hdXJ1JyxcbiAgTlA6ICdOZXBhbCcsXG4gIE5MOiAnTmV0aGVybGFuZHMnLFxuICBBTjogJ05ldGhlcmxhbmRzIEFudGlsbGVzJyxcbiAgTkM6ICdOZXcgQ2FsZWRvbmlhJyxcbiAgTlo6ICdOZXcgWmVhbGFuZCcsXG4gIE5JOiAnTmljYXJhZ3VhJyxcbiAgTkU6ICdOaWdlcicsXG4gIE5HOiAnTmlnZXJpYScsXG4gIE5VOiAnTml1ZScsXG4gIE5GOiAnTm9yZm9sayBJc2xhbmQnLFxuICBNUDogJ05vcnRoZXJuIE1hcmlhbmEgSXNsYW5kcycsXG4gIE5POiAnTm9yd2F5JyxcbiAgT006ICdPbWFuJyxcbiAgUEs6ICdQYWtpc3RhbicsXG4gIFBXOiAnUGFsYXUnLFxuICBQUzogJ1BhbGVzdGluaWFuIFRlcnJpdG9yeSwgT2NjdXBpZWQnLFxuICBQQTogJ1BhbmFtYScsXG4gIFBHOiAnUGFwdWEgTmV3IEd1aW5lYScsXG4gIFBZOiAnUGFyYWd1YXknLFxuICBQRTogJ1BlcnUnLFxuICBQSDogJ1BoaWxpcHBpbmVzJyxcbiAgUE46ICdQaXRjYWlybicsXG4gIFBMOiAnUG9sYW5kJyxcbiAgUFQ6ICdQb3J0dWdhbCcsXG4gIFBSOiAnUHVlcnRvIFJpY28nLFxuICBRQTogJ1FhdGFyJyxcbiAgUkU6ICdSZXVuaW9uJyxcbiAgUk86ICdSb21hbmlhJyxcbiAgUlU6ICdSdXNzaWFuIEZlZGVyYXRpb24nLFxuICBSVzogJ1J3YW5kYScsXG4gIEJMOiAnU2FpbnQgQmFydGhlbGVteScsXG4gIFNIOiAnU2FpbnQgSGVsZW5hJyxcbiAgS046ICdTYWludCBLaXR0cyBBbmQgTmV2aXMnLFxuICBMQzogJ1NhaW50IEx1Y2lhJyxcbiAgTUY6ICdTYWludCBNYXJ0aW4nLFxuICBQTTogJ1NhaW50IFBpZXJyZSBBbmQgTWlxdWVsb24nLFxuICBWQzogJ1NhaW50IFZpbmNlbnQgQW5kIEdyZW5hZGluZXMnLFxuICBXUzogJ1NhbW9hJyxcbiAgU006ICdTYW4gTWFyaW5vJyxcbiAgU1Q6ICdTYW8gVG9tZSBBbmQgUHJpbmNpcGUnLFxuICBTQTogJ1NhdWRpIEFyYWJpYScsXG4gIFNOOiAnU2VuZWdhbCcsXG4gIFJTOiAnU2VyYmlhJyxcbiAgU0M6ICdTZXljaGVsbGVzJyxcbiAgU0w6ICdTaWVycmEgTGVvbmUnLFxuICBTRzogJ1NpbmdhcG9yZScsXG4gIFNLOiAnU2xvdmFraWEnLFxuICBTSTogJ1Nsb3ZlbmlhJyxcbiAgU0I6ICdTb2xvbW9uIElzbGFuZHMnLFxuICBTTzogJ1NvbWFsaWEnLFxuICBaQTogJ1NvdXRoIEFmcmljYScsXG4gIEdTOiAnU291dGggR2VvcmdpYSBBbmQgU2FuZHdpY2ggSXNsLicsXG4gIEVTOiAnU3BhaW4nLFxuICBMSzogJ1NyaSBMYW5rYScsXG4gIFNEOiAnU3VkYW4nLFxuICBTUjogJ1N1cmluYW1lJyxcbiAgU0o6ICdTdmFsYmFyZCBBbmQgSmFuIE1heWVuJyxcbiAgU1o6ICdTd2F6aWxhbmQnLFxuICBTRTogJ1N3ZWRlbicsXG4gIENIOiAnU3dpdHplcmxhbmQnLFxuICBTWTogJ1N5cmlhbiBBcmFiIFJlcHVibGljJyxcbiAgVFc6ICdUYWl3YW4nLFxuICBUSjogJ1RhamlraXN0YW4nLFxuICBUWjogJ1RhbnphbmlhJyxcbiAgVEg6ICdUaGFpbGFuZCcsXG4gIFRMOiAnVGltb3ItTGVzdGUnLFxuICBURzogJ1RvZ28nLFxuICBUSzogJ1Rva2VsYXUnLFxuICBUTzogJ1RvbmdhJyxcbiAgVFQ6ICdUcmluaWRhZCBBbmQgVG9iYWdvJyxcbiAgVE46ICdUdW5pc2lhJyxcbiAgVFI6ICdUdXJrZXknLFxuICBUTTogJ1R1cmttZW5pc3RhbicsXG4gIFRDOiAnVHVya3MgQW5kIENhaWNvcyBJc2xhbmRzJyxcbiAgVFY6ICdUdXZhbHUnLFxuICBVRzogJ1VnYW5kYScsXG4gIFVBOiAnVWtyYWluZScsXG4gIEFFOiAnVW5pdGVkIEFyYWIgRW1pcmF0ZXMnLFxuICBHQjogJ1VuaXRlZCBLaW5nZG9tJyxcbiAgVVM6ICdVbml0ZWQgU3RhdGVzJyxcbiAgVU06ICdVbml0ZWQgU3RhdGVzIE91dGx5aW5nIElzbGFuZHMnLFxuICBVWTogJ1VydWd1YXknLFxuICBVWjogJ1V6YmVraXN0YW4nLFxuICBWVTogJ1ZhbnVhdHUnLFxuICBWRTogJ1ZlbmV6dWVsYScsXG4gIFZOOiAnVmlldCBOYW0nLFxuICBWRzogJ1ZpcmdpbiBJc2xhbmRzLCBCcml0aXNoJyxcbiAgVkk6ICdWaXJnaW4gSXNsYW5kcywgVS5TLicsXG4gIFdGOiAnV2FsbGlzIEFuZCBGdXR1bmEnLFxuICBFSDogJ1dlc3Rlcm4gU2FoYXJhJyxcbiAgWUU6ICdZZW1lbicsXG4gIFpNOiAnWmFtYmlhJyxcbiAgWlc6ICdaaW1iYWJ3ZScsXG59O1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0Q291bnRyeU5hbWUoY291bnRyeUNvZGU6IGFueSkge1xuICBpZiAoaXNvQ291bnRyaWVzLmhhc093blByb3BlcnR5KGNvdW50cnlDb2RlKSkge1xuICAgIHJldHVybiBpc29Db3VudHJpZXNbY291bnRyeUNvZGVdO1xuICB9IGVsc2Uge1xuICAgIHJldHVybiBjb3VudHJ5Q29kZTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gY2xlYW5UYWdJZHMocmF3OiBhbnlbXSkge1xuICByZXR1cm4gcmF3Lm1hcChpZCA9PiBpZC50cmltKCkpICAgICAgICAgICAgLy8gVHJpbSBlYWNoIElEIGVudHJ5IHRvIHJlbW92ZSB3aGl0ZXNwYWNlXG4gICAgLmZpbHRlcihpZCA9PiAvXlxcZCskLy50ZXN0KGlkKSkgIC8vIFVzZSBhIHJlZ3VsYXIgZXhwcmVzc2lvbiB0byBlbnN1cmUgdGhlIElEIGlzIGVudGlyZWx5IG51bWVyaWMuXG4gICAgLm1hcChpZCA9PiBOdW1iZXIoaWQpKTsgICAgICAgICAgLy8gQ29udmVydCB0aGUgcmVtYWluaW5nLCB2YWxpZCBJRCBlbnRyaWVzIGludG8gbnVtYmVyc1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0TWVyY2hpU291cmNlSm9iVGFncygpOiBhbnlbXSB7XG4gIGlmICh0eXBlb2YgbG9jYWxTdG9yYWdlICE9PSAndW5kZWZpbmVkJyAmJiBsb2NhbFN0b3JhZ2UgIT09IG51bGwpIHtcbiAgICBjb25zdCBtZXJjaGlTb3VyY2UgPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgnbWVyY2hpX3NvdXJjZScpO1xuXG4gICAgaWYgKG1lcmNoaVNvdXJjZSkge1xuICAgICAgY29uc3QgaWRzID0gY2xlYW5UYWdJZHMobWVyY2hpU291cmNlLnNwbGl0KCcsJykpO1xuICAgICAgcmV0dXJuIGlkcy5tYXAoKGlkOiBudW1iZXIpID0+ICh7IGlkIH0pKTtcbiAgICB9XG4gICAgLy8gSWYgXCJtZXJjaGlfc291cmNlXCIgaXMgbm90IGZvdW5kIGluIGxvY2FsU3RvcmFnZSwgcmV0dXJuIGFuIGVtcHR5IGFycmF5LlxuICAgIHJldHVybiBbXTtcbiAgfVxuICByZXR1cm4gW107XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzb3J0QnlQb3NpdGlvbihvcHRpb25zOiBhbnlbXSk6IGFueVtdIHtcbiAgcmV0dXJuIG9wdGlvbnMubWFwKChvYmo6IGFueSkgPT4ge1xuICAgIGNvbnN0IHBvc2l0aW9uID0gdHlwZW9mIG9iai5wb3NpdGlvbiA9PT0gJ3N0cmluZydcbiAgICAgID8gcGFyc2VJbnQob2JqLnBvc2l0aW9uLCAxMClcbiAgICAgIDogb2JqLnBvc2l0aW9uO1xuICAgIHJldHVybiB7XG4gICAgICAuLi5vYmosXG4gICAgICBwb3NpdGlvbjogdHlwZW9mIHBvc2l0aW9uID09PSAnbnVtYmVyJyA/IHBvc2l0aW9uIDogMCxcbiAgICB9O1xuICB9KS5zb3J0KChhLCBiKSA9PiB7XG4gICAgY29uc3QgYVBvc2l0aW9uID0gdHlwZW9mIGEucG9zaXRpb24gPT09ICdudW1iZXInID8gYS5wb3NpdGlvbiA6IDA7XG4gICAgY29uc3QgYlBvc2l0aW9uID0gdHlwZW9mIGIucG9zaXRpb24gPT09ICdudW1iZXInID8gYi5wb3NpdGlvbiA6IDA7XG4gICAgcmV0dXJuIGFQb3NpdGlvbiAtIGJQb3NpdGlvbjtcbiAgfSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjbGVhbkpvYlZhcmlhdGlvbnNBbmRHcm91cHMoam9iSnNvbjogYW55KSB7XG4gIGNvbnN0IHsgdmFyaWF0aW9ucywgdmFyaWF0aW9uc0dyb3VwcyB9ID0gam9iSnNvbjtcbiAgY29uc3QgaGFzR3JvdXBzID0gQm9vbGVhbih2YXJpYXRpb25zR3JvdXBzICYmIHZhcmlhdGlvbnNHcm91cHMubGVuZ3RoKTtcbiAgY29uc3QgaGFzVmFyaWF0aW9ucyA9IEJvb2xlYW4odmFyaWF0aW9ucyAmJiB2YXJpYXRpb25zLmxlbmd0aCk7XG4gIFxuICAvLyBMb29wIG92ZXIgaW5kaXZpZHVhbCB2YXJpYXRpb25zIGFuZCBjaGVjayBpZiB0aGUgdmFyaWF0aW9uIGlzIGEganNvbiBzdHJpbmcsIGlmIGl0IGlzIGNvbnZlcnQgaXQgdG8gYW4gb2JqZWN0XG4gIGlmIChoYXNWYXJpYXRpb25zKSB7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCB2YXJpYXRpb25zLmxlbmd0aDsgaSsrKSB7XG4gICAgICB2YXJpYXRpb25zW2ldID0gY2xlYW5Gb3JtVmFyaWF0aW9uSnNvbih2YXJpYXRpb25zW2ldKTtcbiAgICB9XG4gICAgam9iSnNvbi52YXJpYXRpb25zID0gdmFyaWF0aW9ucztcbiAgfVxuICBcbiAgaWYgKGhhc0dyb3Vwcykge1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdmFyaWF0aW9uc0dyb3Vwcy5sZW5ndGg7IGkrKykge1xuICAgICAgLy8gU2V0IGRlZmF1bHQgcXVhbnRpdHkgaWYgbm90IHByZXNlbnRcbiAgICAgIGNvbnN0IGdyb3VwID0gdmFyaWF0aW9uc0dyb3Vwc1tpXTtcbiAgICAgIGlmICghZ3JvdXAucXVhbnRpdHkpIHtcbiAgICAgICAgZ3JvdXAucXVhbnRpdHkgPSAwO1xuICAgICAgfVxuICAgICAgXG4gICAgICAvLyBIYW5kbGUgdmFyaWF0aW9ucyB3aXRoaW4gdGhlIGdyb3VwIC0gY29udmVydCBKU09OIHN0cmluZ3MgdG8gb2JqZWN0c1xuICAgICAgaWYgKGdyb3VwLnZhcmlhdGlvbnMgJiYgQXJyYXkuaXNBcnJheShncm91cC52YXJpYXRpb25zKSkge1xuICAgICAgICBmb3IgKGxldCBqID0gMDsgaiA8IGdyb3VwLnZhcmlhdGlvbnMubGVuZ3RoOyBqKyspIHtcbiAgICAgICAgICBncm91cC52YXJpYXRpb25zW2pdID0gY2xlYW5Gb3JtVmFyaWF0aW9uSnNvbihncm91cC52YXJpYXRpb25zW2pdKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBqb2JKc29uLnZhcmlhdGlvbnNHcm91cHMgPSB2YXJpYXRpb25zR3JvdXBzO1xuICB9XG4gIFxuICByZXR1cm4gam9iSnNvbjtcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsU0FBU0EsTUFBTSxRQUFRLGFBQWE7QUFDcEMsU0FBU0MsY0FBYyxRQUFRLG1CQUFtQjtBQUNsRCxTQUFTQyxXQUFXLEVBQUVDLFNBQVMsUUFBUSxnQkFBZ0I7QUFDdkQsU0FBU0Msc0JBQXNCLFFBQVEsaUNBQWlDO0FBQ3hFLFNBQVNBLHNCQUFzQixRQUFRLGlDQUFpQztBQUN4RSxTQUFTQyxvQkFBb0IsUUFBUSxtQkFBbUI7QUFDeEQsU0FDRUEsb0JBQW9CLEVBQ3BCQyxrQkFBa0IsRUFDbEJDLHNCQUFzQixFQUN0QkMsZUFBZSxRQUNWLG1CQUFtQjtBQUMxQixJQUFNQyxpQkFBaUIsR0FBR0MsT0FBTyxDQUFDLGlDQUFpQyxDQUFDO0FBRXBFLFNBQVNDLDBCQUEwQkEsQ0FDakNDLElBQVMsRUFDVEMsWUFBaUIsRUFDakJDLGNBQXNCLEVBQ3RCO0VBQ0EsSUFBSUMsZUFBZSxHQUFHO0lBQUVDLFFBQVEsRUFBRUgsWUFBWTtJQUFFSSxrQkFBa0IsRUFBRTtFQUFNLENBQUM7RUFDM0UsSUFBSUMsVUFBVSxHQUFHLEVBQUU7RUFDbkIsSUFBTUMsTUFBTSxHQUFHQyxVQUFVLENBQUNSLElBQUksQ0FBQztFQUUvQixJQUFJUyxNQUFNLENBQUNDLFFBQVEsQ0FBQ0gsTUFBTSxDQUFDLElBQUlBLE1BQU0sR0FBRyxDQUFDLEVBQUU7SUFDekNELFVBQVUsR0FBR2pCLGNBQWMsQ0FBQ2tCLE1BQU0sRUFBRUosZUFBZSxDQUFDO0lBQ3BERyxVQUFVLEdBQUcsS0FBSyxHQUFHQSxVQUFVLEdBQUcsR0FBRyxHQUFHSixjQUFjO0VBQ3hEO0VBQ0EsT0FBT0ksVUFBVTtBQUNuQjtBQUVBLElBQU1LLFVBQVUsR0FBRyxTQUFiQSxVQUFVQSxDQUFJQyxXQUFnQixFQUFFQyxRQUFhLEVBQUVaLFlBQW9CLEVBQUs7RUFDNUUsSUFBTWEsc0JBQXNCLEdBQUdmLDBCQUEwQixDQUN2RFMsVUFBVSxDQUFDSSxXQUFXLENBQUMsRUFDdkJYLFlBQVksRUFDWixVQUNGLENBQUM7RUFDRCxJQUFNYyxtQkFBbUIsR0FBR2hCLDBCQUEwQixDQUNwRFMsVUFBVSxDQUFDSyxRQUFRLENBQUMsRUFDcEJaLFlBQVksRUFDWixVQUNGLENBQUM7RUFDRCxPQUFPYSxzQkFBc0IsR0FBR0MsbUJBQW1CO0FBQ3JELENBQUM7QUFFRCxPQUFPLFNBQVNDLHdCQUF3QkEsQ0FBQ0MsY0FBbUIsRUFBRTtFQUM1RCxJQUFRQyxhQUFhLEdBQWtDRCxjQUFjLENBQTdEQyxhQUFhO0lBQUVDLGlCQUFpQixHQUFlRixjQUFjLENBQTlDRSxpQkFBaUI7SUFBRWYsUUFBUSxHQUFLYSxjQUFjLENBQTNCYixRQUFRO0VBQ2xELE9BQU9PLFVBQVUsQ0FBQ08sYUFBYSxFQUFHQyxpQkFBaUIsRUFBR2YsUUFBUyxDQUFDO0FBQ2xFO0FBRUEsT0FBTyxTQUFTZ0IsbUJBQW1CQSxDQUFDQyxTQUFjLEVBQUU7RUFDbEQsSUFBUVQsV0FBVyxHQUF5QlMsU0FBUyxDQUE3Q1QsV0FBVztJQUFFQyxRQUFRLEdBQWVRLFNBQVMsQ0FBaENSLFFBQVE7SUFBRVQsUUFBUSxHQUFLaUIsU0FBUyxDQUF0QmpCLFFBQVE7RUFDdkMsT0FBT08sVUFBVSxDQUFDQyxXQUFXLEVBQUdDLFFBQVEsRUFBR1QsUUFBUyxDQUFDO0FBQ3ZEO0FBRUEsT0FBTyxTQUFTa0IsOEJBQThCQSxDQUFDQyxNQUFXLEVBQUU7RUFBQSxJQUFBQyxtQkFBQSxFQUFBQyxnQkFBQTtFQUMxRCxJQUFRckIsUUFBUSxHQUFLbUIsTUFBTSxDQUFuQm5CLFFBQVE7RUFDaEI7RUFDQSxJQUFNUSxXQUFXLElBQUFZLG1CQUFBLEdBQUdELE1BQU0sQ0FBQ1gsV0FBVyxjQUFBWSxtQkFBQSxjQUFBQSxtQkFBQSxHQUFJRCxNQUFNLENBQUNMLGFBQWE7RUFDOUQsSUFBTUwsUUFBUSxJQUFBWSxnQkFBQSxHQUFHRixNQUFNLENBQUNWLFFBQVEsY0FBQVksZ0JBQUEsY0FBQUEsZ0JBQUEsR0FBSUYsTUFBTSxDQUFDSixpQkFBaUI7RUFDNUQsT0FBT1IsVUFBVSxDQUFDQyxXQUFXLEVBQUdDLFFBQVEsRUFBR1QsUUFBUyxDQUFDO0FBQ3ZEOztBQUVBO0FBQ0EsT0FBTyxTQUFTc0Isc0JBQXNCQSxDQUFDQyxPQUFZLEVBQUU7RUFDbkQsSUFBTUMsVUFBVSxHQUFHcEIsVUFBVSxDQUFDbUIsT0FBTyxhQUFQQSxPQUFPLHVCQUFQQSxPQUFPLENBQUVDLFVBQVUsQ0FBQztFQUNsRCxJQUFJLENBQUNBLFVBQVUsRUFBRSxPQUFPLEVBQUU7RUFDMUIsSUFBTUMsS0FBSyxHQUFHRixPQUFPLENBQUNHLGFBQWEsR0FBRyxpQkFBaUIsR0FBRyxPQUFPO0VBQ2pFLE9BQU8vQiwwQkFBMEIsQ0FBQzZCLFVBQVUsRUFBRUQsT0FBTyxDQUFDdkIsUUFBUSxFQUFFeUIsS0FBSyxDQUFDO0FBQ3hFO0FBRUEsT0FBTyxTQUFTRSxvQkFBb0JBLENBQUNDLEtBQVUsRUFBRTtFQUMvQyxJQUFJQyxLQUFLLENBQUNDLE9BQU8sQ0FBQ0YsS0FBSyxDQUFDLEVBQUU7SUFDeEIsT0FBT0EsS0FBSztFQUNkO0VBQ0EsSUFBSSxPQUFPQSxLQUFLLEtBQUssUUFBUSxJQUFJQSxLQUFLLEVBQUU7SUFDdEMsT0FBT0EsS0FBSyxDQUFDRyxLQUFLLENBQUMsR0FBRyxDQUFDO0VBQ3pCO0VBQ0EsT0FBTyxFQUFFO0FBQ1g7QUFFQSxPQUFPLFNBQVNDLDRCQUE0QkEsQ0FBQ2YsU0FBYyxFQUFPO0VBQUEsSUFBQWdCLHFCQUFBO0VBQ2hFLElBQUksQ0FBQ2hCLFNBQVMsSUFBSWlCLE9BQUEsQ0FBT2pCLFNBQVMsTUFBSyxRQUFRLEVBQUUsT0FBT0EsU0FBUztFQUNqRSxJQUFNa0IsU0FBUyxHQUFHOUIsTUFBTSxDQUFDWSxTQUFTLGFBQVRBLFNBQVMsZ0JBQUFnQixxQkFBQSxHQUFUaEIsU0FBUyxDQUFFSixjQUFjLGNBQUFvQixxQkFBQSx1QkFBekJBLHFCQUFBLENBQTJCRSxTQUFTLENBQUM7RUFDOUQsSUFBSUEsU0FBUyxLQUFLaEQsU0FBUyxDQUFDaUQsY0FBYyxFQUFFLE9BQU9uQixTQUFTO0VBRTVELElBQU1vQixVQUFVLEdBQUcsQ0FBQXBCLFNBQVMsYUFBVEEsU0FBUyx1QkFBVEEsU0FBUyxDQUFFcUIsaUJBQWlCLEtBQUksRUFBRTtFQUNyRCxJQUFJLENBQUNELFVBQVUsQ0FBQ0UsTUFBTSxFQUFFLE9BQU90QixTQUFTO0VBRXhDLElBQU11QixXQUFXLEdBQUdiLG9CQUFvQixDQUFDVixTQUFTLGFBQVRBLFNBQVMsdUJBQVRBLFNBQVMsQ0FBRVcsS0FBSyxDQUFDLENBQ3ZEYSxHQUFHLENBQUNDLE1BQU0sQ0FBQyxDQUNYQyxNQUFNLENBQUNDLE9BQU8sQ0FBQztFQUNsQixJQUFJLENBQUNKLFdBQVcsQ0FBQ0QsTUFBTSxFQUFFLE9BQU90QixTQUFTO0VBRXpDLElBQU00QixRQUFRLEdBQUdSLFVBQVUsQ0FBQ00sTUFBTSxDQUFDLFVBQUN4QixNQUFXO0lBQUEsT0FDN0NxQixXQUFXLENBQUNNLFFBQVEsQ0FBQ0osTUFBTSxDQUFDdkIsTUFBTSxDQUFDNEIsUUFBUSxDQUFDLENBQUM7RUFBQSxDQUMvQyxDQUFDO0VBQ0QsSUFBSSxDQUFDRixRQUFRLENBQUNOLE1BQU0sRUFBRSxPQUFPdEIsU0FBUztFQUV0QyxPQUFBK0IsYUFBQSxDQUFBQSxhQUFBLEtBQVkvQixTQUFTO0lBQUVnQyxlQUFlLEVBQUVKO0VBQVE7QUFDbEQ7QUFFQSxPQUFPLFNBQVNLLGdDQUFnQ0EsQ0FBQ0MsR0FBUSxFQUFPO0VBQzlELElBQUksQ0FBQ0EsR0FBRyxJQUFJakIsT0FBQSxDQUFPaUIsR0FBRyxNQUFLLFFBQVEsRUFBRSxPQUFPQSxHQUFHO0VBQy9DLElBQU1DLElBQUksR0FBQUosYUFBQSxLQUFRRyxHQUFHLENBQUU7RUFDdkIsSUFBSXRCLEtBQUssQ0FBQ0MsT0FBTyxDQUFDc0IsSUFBSSxDQUFDQyxVQUFVLENBQUMsRUFBRTtJQUNsQ0QsSUFBSSxDQUFDQyxVQUFVLEdBQUdELElBQUksQ0FBQ0MsVUFBVSxDQUFDWixHQUFHLENBQUNULDRCQUE0QixDQUFDO0VBQ3JFO0VBQ0EsSUFBSUgsS0FBSyxDQUFDQyxPQUFPLENBQUNzQixJQUFJLENBQUNFLGdCQUFnQixDQUFDLEVBQUU7SUFDeENGLElBQUksQ0FBQ0UsZ0JBQWdCLEdBQUdGLElBQUksQ0FBQ0UsZ0JBQWdCLENBQUNiLEdBQUcsQ0FBQyxVQUFDYyxLQUFVO01BQUEsT0FBQVAsYUFBQSxDQUFBQSxhQUFBLEtBQ3hETyxLQUFLO1FBQ1JGLFVBQVUsRUFBRXhCLEtBQUssQ0FBQ0MsT0FBTyxDQUFDeUIsS0FBSyxhQUFMQSxLQUFLLHVCQUFMQSxLQUFLLENBQUVGLFVBQVUsQ0FBQyxHQUN4Q0UsS0FBSyxDQUFDRixVQUFVLENBQUNaLEdBQUcsQ0FBQ1QsNEJBQTRCLENBQUMsR0FDbER1QixLQUFLLGFBQUxBLEtBQUssdUJBQUxBLEtBQUssQ0FBRUY7TUFBVTtJQUFBLENBQ3JCLENBQUM7RUFDTDtFQUNBLE9BQU9ELElBQUk7QUFDYjtBQUVBLE9BQU8sSUFBTUksa0NBQWlELEdBQUcsQ0FDL0R0RSxXQUFXLENBQUN1RSxZQUFZLEVBQ3hCdkUsV0FBVyxDQUFDd0UsbUJBQW1CLENBQ2hDO0FBRUQsT0FBTyxTQUFTQyxjQUFjQSxDQUFDeEMsTUFBVyxFQUFFO0VBQzFDLElBQU15QyxLQUFLLEdBQUduRSxpQkFBaUIsR0FBSUEsaUJBQWlCLFdBQVEsSUFBSUEsaUJBQWlCLEdBQUksRUFBRTtFQUN2RixJQUFNb0UsYUFBYSxHQUFHRCxLQUFLLEdBQUlBLEtBQUssQ0FBQ0UsR0FBRyxJQUFJRixLQUFLLEdBQUksRUFBRTtFQUN2RCxPQUFPekMsTUFBTSxDQUFDNEMsVUFBVSxHQUNwQjVDLE1BQU0sQ0FBQzRDLFVBQVUsR0FDZjVDLE1BQU0sQ0FBQzRDLFVBQVUsQ0FBQ0MsT0FBTyxHQUN6QkgsYUFBYSxHQUNmQSxhQUFhO0FBQ25CO0FBRUEsT0FBTyxTQUFTSSxnQkFBZ0JBLENBQUNwRCxjQUFtQixFQUFVO0VBQzVELElBQU1xRCxlQUEwQyxHQUFHO0lBQ2pEQyxhQUFhLEVBQUUsT0FBTztJQUN0QkMsWUFBWSxFQUFFLE1BQU07SUFDcEJDLFlBQVksRUFBRSxNQUFNO0lBQ3BCQyxZQUFZLEVBQUUsTUFBTTtJQUNwQkMsV0FBVyxFQUFFO0VBQ2YsQ0FBQztFQUVELElBQU1DLFlBQXNCLEdBQUdDLE1BQU0sQ0FBQ0MsSUFBSSxDQUFDUixlQUFlLENBQUMsQ0FDeER2QixNQUFNLENBQUMsVUFBQ2dDLGFBQWE7SUFBQSxPQUFLOUQsY0FBYyxDQUFDOEQsYUFBYSxDQUFDO0VBQUEsRUFBQyxDQUN4RGxDLEdBQUcsQ0FBQyxVQUFDa0MsYUFBYTtJQUFBLE9BQUtULGVBQWUsQ0FBQ1MsYUFBYSxDQUFDO0VBQUEsRUFBQztFQUV6RCxPQUFPSCxZQUFZLENBQUNJLElBQUksQ0FBQyxHQUFHLENBQUM7QUFDL0I7QUFFQSxJQUFNQyxNQUFNLEdBQUcsSUFBSTdGLE1BQU0sQ0FBQyxDQUFDO0FBRTNCLFNBQVM4RiwwQkFBMEJBLENBQUM3RCxTQUFjLEVBQUU7RUFDbEQsSUFBSUEsU0FBUyxDQUFDOEQsU0FBUyxLQUFLQyxTQUFTLEVBQUUvRCxTQUFTLENBQUM4RCxTQUFTLEdBQUcsSUFBSTtFQUNqRSxDQUFDOUQsU0FBUyxDQUFDcUIsaUJBQWlCLElBQUksRUFBRSxFQUFFMkMsT0FBTyxDQUFDLFVBQUM5RCxNQUFXLEVBQUs7SUFDM0QsSUFBSUEsTUFBTSxDQUFDNEQsU0FBUyxLQUFLQyxTQUFTLEVBQUU3RCxNQUFNLENBQUM0RCxTQUFTLEdBQUcsSUFBSTtJQUMzRCxJQUFJNUQsTUFBTSxDQUFDK0QsU0FBUyxLQUFLRixTQUFTLEVBQUU3RCxNQUFNLENBQUMrRCxTQUFTLEdBQUcsSUFBSTtFQUM3RCxDQUFDLENBQUM7QUFDSjs7QUFFQTtBQUNBLE9BQU8sU0FBU0MsNEJBQTRCQSxDQUFDQyxLQUFVLEVBQUU7RUFDdkQsSUFBTUMsUUFBUSxHQUFHLElBQUlSLE1BQU0sQ0FBQ1MsY0FBYyxDQUFDLENBQUM7RUFDNUNELFFBQVEsQ0FBQ0UsUUFBUSxDQUFBdkMsYUFBQSxLQUFNb0MsS0FBSyxHQUFJO0lBQUVJLFNBQVMsRUFBRTtFQUFNLENBQUMsQ0FBQztFQUNyRCxJQUFNQyxhQUFhLEdBQUdKLFFBQVEsQ0FBQ0ssbUJBQW1CLENBQUMsQ0FBQyxDQUFDQyxNQUFNLENBQUMsQ0FBQztFQUM3RGIsMEJBQTBCLENBQUNXLGFBQWEsQ0FBQztFQUN6QyxPQUFPQSxhQUFhO0FBQ3RCO0FBRUEsT0FBTyxTQUFTRyx3QkFBd0JBLENBQUNyRSxPQUFZLEVBQUU7RUFDckQsSUFBTXNFLFVBQVUsR0FBRyxJQUFJaEIsTUFBTSxDQUFDaUIsT0FBTyxDQUFDLENBQUM7RUFDdkNELFVBQVUsQ0FBQ04sUUFBUSxDQUFBdkMsYUFBQSxLQUFLekIsT0FBTyxHQUFHO0lBQUVpRSxTQUFTLEVBQUU7RUFBSyxDQUFDLENBQUM7RUFDdEQsSUFBTU8sUUFBUSxHQUFHLElBQUlGLFVBQVUsQ0FBQ0Qsd0JBQXdCLENBQUMsQ0FBQztFQUMxREcsUUFBUSxDQUFDQyxTQUFTLEdBQUcsQ0FBQztFQUN0QkQsUUFBUSxDQUFDRSxRQUFRLEdBQUc1RyxvQkFBb0IsQ0FBQ2tDLE9BQU8sQ0FBQztFQUNqRCxJQUFNMkUsU0FBUyxHQUFHSCxRQUFRLENBQUNKLE1BQU0sQ0FBQyxDQUFDO0VBQ25DO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLENBQUNPLFNBQVMsQ0FBQzdDLFVBQVUsSUFBSSxFQUFFLEVBQUU0QixPQUFPLENBQUNILDBCQUEwQixDQUFDO0VBQ2hFLE9BQU9vQixTQUFTO0FBQ2xCO0FBRUEsT0FBTyxTQUFTQyxvQkFBb0JBLENBQUM1RSxPQUFZLEVBQUU7RUFDakQsSUFBTTZFLFdBQVcsR0FBRzdFLE9BQU8sSUFBSUEsT0FBTyxDQUFDNkUsV0FBVztFQUNsRCxPQUNFN0UsT0FBTyxJQUNQLENBQ0VtQixNQUFNLENBQUN4RCxXQUFXLENBQUN1RSxZQUFZLENBQUMsRUFDaENmLE1BQU0sQ0FBQ3hELFdBQVcsQ0FBQ21ILG1CQUFtQixDQUFDLENBQ3hDLENBQUN2RCxRQUFRLENBQUNKLE1BQU0sQ0FBQzBELFdBQVcsQ0FBQyxDQUFDO0FBRW5DO0FBRUEsT0FBTyxTQUFTRSx5QkFBeUJBLENBQUNGLFdBQWdCLEVBQUU7RUFDMUQsT0FBT0csUUFBUSxDQUFDSCxXQUFXLEVBQUUsRUFBRSxDQUFDLEtBQUtsSCxXQUFXLENBQUNzSCxvQkFBb0I7QUFDdkU7QUFFQSxPQUFPLFNBQVNDLHFCQUFxQkEsQ0FBQ2xGLE9BQVksRUFBRTtFQUNsRCxJQUFRNkUsV0FBVyxHQUFLN0UsT0FBTyxDQUF2QjZFLFdBQVc7RUFDbkIsT0FBT0UseUJBQXlCLENBQUNGLFdBQVcsQ0FBQztBQUMvQztBQUVBLE9BQU8sU0FBU00saUJBQWlCQSxDQUFDbkYsT0FBWSxFQUFFO0VBQzlDLElBQU02RSxXQUFXLEdBQUc3RSxPQUFPLElBQUlBLE9BQU8sQ0FBQzZFLFdBQVc7RUFDbEQsT0FBT0csUUFBUSxDQUFDSCxXQUFXLEVBQUUsRUFBRSxDQUFDLEtBQUtsSCxXQUFXLENBQUN5SCxTQUFTO0FBQzVEO0FBRUEsT0FBTyxJQUFNQyxZQUFpQixHQUFHO0VBQy9CQyxFQUFFLEVBQUUsYUFBYTtFQUNqQkMsRUFBRSxFQUFFLGVBQWU7RUFDbkJDLEVBQUUsRUFBRSxTQUFTO0VBQ2JDLEVBQUUsRUFBRSxTQUFTO0VBQ2JDLEVBQUUsRUFBRSxnQkFBZ0I7RUFDcEJDLEVBQUUsRUFBRSxTQUFTO0VBQ2JDLEVBQUUsRUFBRSxRQUFRO0VBQ1pDLEVBQUUsRUFBRSxVQUFVO0VBQ2RDLEVBQUUsRUFBRSxZQUFZO0VBQ2hCQyxFQUFFLEVBQUUscUJBQXFCO0VBQ3pCQyxFQUFFLEVBQUUsV0FBVztFQUNmQyxFQUFFLEVBQUUsU0FBUztFQUNiQyxFQUFFLEVBQUUsT0FBTztFQUNYQyxFQUFFLEVBQUUsV0FBVztFQUNmQyxFQUFFLEVBQUUsU0FBUztFQUNiQyxFQUFFLEVBQUUsWUFBWTtFQUNoQkMsRUFBRSxFQUFFLFNBQVM7RUFDYkMsRUFBRSxFQUFFLFNBQVM7RUFDYkMsRUFBRSxFQUFFLFlBQVk7RUFDaEJDLEVBQUUsRUFBRSxVQUFVO0VBQ2RDLEVBQUUsRUFBRSxTQUFTO0VBQ2JDLEVBQUUsRUFBRSxTQUFTO0VBQ2JDLEVBQUUsRUFBRSxRQUFRO0VBQ1pDLEVBQUUsRUFBRSxPQUFPO0VBQ1hDLEVBQUUsRUFBRSxTQUFTO0VBQ2JDLEVBQUUsRUFBRSxRQUFRO0VBQ1pDLEVBQUUsRUFBRSxTQUFTO0VBQ2JDLEVBQUUsRUFBRSx3QkFBd0I7RUFDNUJDLEVBQUUsRUFBRSxVQUFVO0VBQ2RDLEVBQUUsRUFBRSxlQUFlO0VBQ25CQyxFQUFFLEVBQUUsUUFBUTtFQUNaQyxFQUFFLEVBQUUsZ0NBQWdDO0VBQ3BDQyxFQUFFLEVBQUUsbUJBQW1CO0VBQ3ZCQyxFQUFFLEVBQUUsVUFBVTtFQUNkQyxFQUFFLEVBQUUsY0FBYztFQUNsQkMsRUFBRSxFQUFFLFNBQVM7RUFDYkMsRUFBRSxFQUFFLFVBQVU7RUFDZEMsRUFBRSxFQUFFLFVBQVU7RUFDZEMsRUFBRSxFQUFFLFFBQVE7RUFDWkMsRUFBRSxFQUFFLFlBQVk7RUFDaEJDLEVBQUUsRUFBRSxnQkFBZ0I7RUFDcEJDLEVBQUUsRUFBRSwwQkFBMEI7RUFDOUJDLEVBQUUsRUFBRSxNQUFNO0VBQ1ZDLEVBQUUsRUFBRSxPQUFPO0VBQ1hDLEVBQUUsRUFBRSxPQUFPO0VBQ1hDLEVBQUUsRUFBRSxrQkFBa0I7RUFDdEJDLEVBQUUsRUFBRSx5QkFBeUI7RUFDN0JDLEVBQUUsRUFBRSxVQUFVO0VBQ2RDLEVBQUUsRUFBRSxTQUFTO0VBQ2JDLEVBQUUsRUFBRSxPQUFPO0VBQ1hDLEVBQUUsRUFBRSw0QkFBNEI7RUFDaENDLEVBQUUsRUFBRSxjQUFjO0VBQ2xCQyxFQUFFLEVBQUUsWUFBWTtFQUNoQkMsRUFBRSxFQUFFLGVBQWU7RUFDbkJDLEVBQUUsRUFBRSxTQUFTO0VBQ2JDLEVBQUUsRUFBRSxNQUFNO0VBQ1ZDLEVBQUUsRUFBRSxRQUFRO0VBQ1pDLEVBQUUsRUFBRSxnQkFBZ0I7RUFDcEJDLEVBQUUsRUFBRSxTQUFTO0VBQ2JDLEVBQUUsRUFBRSxVQUFVO0VBQ2RDLEVBQUUsRUFBRSxVQUFVO0VBQ2RDLEVBQUUsRUFBRSxvQkFBb0I7RUFDeEJDLEVBQUUsRUFBRSxTQUFTO0VBQ2JDLEVBQUUsRUFBRSxPQUFPO0VBQ1hDLEVBQUUsRUFBRSxhQUFhO0VBQ2pCQyxFQUFFLEVBQUUsbUJBQW1CO0VBQ3ZCQyxFQUFFLEVBQUUsU0FBUztFQUNiQyxFQUFFLEVBQUUsU0FBUztFQUNiQyxFQUFFLEVBQUUsVUFBVTtFQUNkQyxFQUFFLEVBQUUsNkJBQTZCO0VBQ2pDQyxFQUFFLEVBQUUsZUFBZTtFQUNuQkMsRUFBRSxFQUFFLE1BQU07RUFDVkMsRUFBRSxFQUFFLFNBQVM7RUFDYkMsRUFBRSxFQUFFLFFBQVE7RUFDWkMsRUFBRSxFQUFFLGVBQWU7RUFDbkJDLEVBQUUsRUFBRSxrQkFBa0I7RUFDdEJDLEVBQUUsRUFBRSw2QkFBNkI7RUFDakNDLEVBQUUsRUFBRSxPQUFPO0VBQ1hDLEVBQUUsRUFBRSxRQUFRO0VBQ1pDLEVBQUUsRUFBRSxTQUFTO0VBQ2JDLEVBQUUsRUFBRSxTQUFTO0VBQ2JDLEVBQUUsRUFBRSxPQUFPO0VBQ1hDLEVBQUUsRUFBRSxXQUFXO0VBQ2ZDLEVBQUUsRUFBRSxRQUFRO0VBQ1pDLEVBQUUsRUFBRSxXQUFXO0VBQ2ZDLEVBQUUsRUFBRSxTQUFTO0VBQ2JDLEVBQUUsRUFBRSxZQUFZO0VBQ2hCQyxFQUFFLEVBQUUsTUFBTTtFQUNWQyxFQUFFLEVBQUUsV0FBVztFQUNmQyxFQUFFLEVBQUUsVUFBVTtFQUNkQyxFQUFFLEVBQUUsUUFBUTtFQUNaQyxFQUFFLEVBQUUsZUFBZTtFQUNuQkMsRUFBRSxFQUFFLFFBQVE7RUFDWkMsRUFBRSxFQUFFLE9BQU87RUFDWEMsRUFBRSxFQUFFLGlDQUFpQztFQUNyQ0MsRUFBRSxFQUFFLCtCQUErQjtFQUNuQ0MsRUFBRSxFQUFFLFVBQVU7RUFDZEMsRUFBRSxFQUFFLFdBQVc7RUFDZkMsRUFBRSxFQUFFLFNBQVM7RUFDYkMsRUFBRSxFQUFFLFNBQVM7RUFDYkMsRUFBRSxFQUFFLE9BQU87RUFDWEMsRUFBRSxFQUFFLFdBQVc7RUFDZkMsRUFBRSxFQUFFLDJCQUEyQjtFQUMvQkMsRUFBRSxFQUFFLE1BQU07RUFDVkMsRUFBRSxFQUFFLFNBQVM7RUFDYkMsRUFBRSxFQUFFLGFBQWE7RUFDakJDLEVBQUUsRUFBRSxRQUFRO0VBQ1pDLEVBQUUsRUFBRSxPQUFPO0VBQ1hDLEVBQUUsRUFBRSxTQUFTO0VBQ2JDLEVBQUUsRUFBRSxPQUFPO0VBQ1hDLEVBQUUsRUFBRSxRQUFRO0VBQ1pDLEVBQUUsRUFBRSxRQUFRO0VBQ1pDLEVBQUUsRUFBRSxZQUFZO0VBQ2hCQyxFQUFFLEVBQUUsT0FBTztFQUNYQyxFQUFFLEVBQUUsVUFBVTtFQUNkQyxFQUFFLEVBQUUsT0FBTztFQUNYQyxFQUFFLEVBQUUsUUFBUTtFQUNaQyxFQUFFLEVBQUUsWUFBWTtFQUNoQkMsRUFBRSxFQUFFLGtDQUFrQztFQUN0Q0MsRUFBRSxFQUFFLFFBQVE7RUFDWkMsRUFBRSxFQUFFLFNBQVM7RUFDYkMsRUFBRSxFQUFFLFNBQVM7RUFDYkMsRUFBRSxFQUFFLFNBQVM7RUFDYkMsRUFBRSxFQUFFLHdCQUF3QjtFQUM1QkMsRUFBRSxFQUFFLGVBQWU7RUFDbkJDLEVBQUUsRUFBRSxXQUFXO0VBQ2ZDLEVBQUUsRUFBRSxZQUFZO0VBQ2hCQyxFQUFFLEVBQUUsT0FBTztFQUNYQyxFQUFFLEVBQUUsV0FBVztFQUNmQyxFQUFFLEVBQUUsWUFBWTtFQUNoQkMsRUFBRSxFQUFFLFFBQVE7RUFDWkMsRUFBRSxFQUFFLFVBQVU7RUFDZEMsRUFBRSxFQUFFLFVBQVU7RUFDZEMsRUFBRSxFQUFFLE1BQU07RUFDVkMsRUFBRSxFQUFFLE9BQU87RUFDWEMsRUFBRSxFQUFFLGtCQUFrQjtFQUN0QkMsRUFBRSxFQUFFLFlBQVk7RUFDaEJDLEVBQUUsRUFBRSxZQUFZO0VBQ2hCQyxFQUFFLEVBQUUsV0FBVztFQUNmQyxFQUFFLEVBQUUsU0FBUztFQUNiQyxFQUFFLEVBQUUsUUFBUTtFQUNaQyxFQUFFLEVBQUUsaUNBQWlDO0VBQ3JDQyxFQUFFLEVBQUUsU0FBUztFQUNiQyxFQUFFLEVBQUUsUUFBUTtFQUNaQyxFQUFFLEVBQUUsVUFBVTtFQUNkQyxFQUFFLEVBQUUsWUFBWTtFQUNoQkMsRUFBRSxFQUFFLFlBQVk7RUFDaEJDLEVBQUUsRUFBRSxTQUFTO0VBQ2JDLEVBQUUsRUFBRSxZQUFZO0VBQ2hCQyxFQUFFLEVBQUUsU0FBUztFQUNiQyxFQUFFLEVBQUUsU0FBUztFQUNiQyxFQUFFLEVBQUUsT0FBTztFQUNYQyxFQUFFLEVBQUUsT0FBTztFQUNYQyxFQUFFLEVBQUUsYUFBYTtFQUNqQkMsRUFBRSxFQUFFLHNCQUFzQjtFQUMxQkMsRUFBRSxFQUFFLGVBQWU7RUFDbkJDLEVBQUUsRUFBRSxhQUFhO0VBQ2pCQyxFQUFFLEVBQUUsV0FBVztFQUNmQyxFQUFFLEVBQUUsT0FBTztFQUNYQyxFQUFFLEVBQUUsU0FBUztFQUNiQyxFQUFFLEVBQUUsTUFBTTtFQUNWQyxFQUFFLEVBQUUsZ0JBQWdCO0VBQ3BCQyxFQUFFLEVBQUUsMEJBQTBCO0VBQzlCQyxFQUFFLEVBQUUsUUFBUTtFQUNaQyxFQUFFLEVBQUUsTUFBTTtFQUNWQyxFQUFFLEVBQUUsVUFBVTtFQUNkQyxFQUFFLEVBQUUsT0FBTztFQUNYQyxFQUFFLEVBQUUsaUNBQWlDO0VBQ3JDQyxFQUFFLEVBQUUsUUFBUTtFQUNaQyxFQUFFLEVBQUUsa0JBQWtCO0VBQ3RCQyxFQUFFLEVBQUUsVUFBVTtFQUNkQyxFQUFFLEVBQUUsTUFBTTtFQUNWQyxFQUFFLEVBQUUsYUFBYTtFQUNqQkMsRUFBRSxFQUFFLFVBQVU7RUFDZEMsRUFBRSxFQUFFLFFBQVE7RUFDWkMsRUFBRSxFQUFFLFVBQVU7RUFDZEMsRUFBRSxFQUFFLGFBQWE7RUFDakJDLEVBQUUsRUFBRSxPQUFPO0VBQ1hDLEVBQUUsRUFBRSxTQUFTO0VBQ2JDLEVBQUUsRUFBRSxTQUFTO0VBQ2JDLEVBQUUsRUFBRSxvQkFBb0I7RUFDeEJDLEVBQUUsRUFBRSxRQUFRO0VBQ1pDLEVBQUUsRUFBRSxrQkFBa0I7RUFDdEJDLEVBQUUsRUFBRSxjQUFjO0VBQ2xCQyxFQUFFLEVBQUUsdUJBQXVCO0VBQzNCQyxFQUFFLEVBQUUsYUFBYTtFQUNqQkMsRUFBRSxFQUFFLGNBQWM7RUFDbEJDLEVBQUUsRUFBRSwyQkFBMkI7RUFDL0JDLEVBQUUsRUFBRSw4QkFBOEI7RUFDbENDLEVBQUUsRUFBRSxPQUFPO0VBQ1hDLEVBQUUsRUFBRSxZQUFZO0VBQ2hCQyxFQUFFLEVBQUUsdUJBQXVCO0VBQzNCQyxFQUFFLEVBQUUsY0FBYztFQUNsQkMsRUFBRSxFQUFFLFNBQVM7RUFDYkMsRUFBRSxFQUFFLFFBQVE7RUFDWkMsRUFBRSxFQUFFLFlBQVk7RUFDaEJDLEVBQUUsRUFBRSxjQUFjO0VBQ2xCQyxFQUFFLEVBQUUsV0FBVztFQUNmQyxFQUFFLEVBQUUsVUFBVTtFQUNkQyxFQUFFLEVBQUUsVUFBVTtFQUNkQyxFQUFFLEVBQUUsaUJBQWlCO0VBQ3JCQyxFQUFFLEVBQUUsU0FBUztFQUNiQyxFQUFFLEVBQUUsY0FBYztFQUNsQkMsRUFBRSxFQUFFLGlDQUFpQztFQUNyQ0MsRUFBRSxFQUFFLE9BQU87RUFDWEMsRUFBRSxFQUFFLFdBQVc7RUFDZkMsRUFBRSxFQUFFLE9BQU87RUFDWEMsRUFBRSxFQUFFLFVBQVU7RUFDZEMsRUFBRSxFQUFFLHdCQUF3QjtFQUM1QkMsRUFBRSxFQUFFLFdBQVc7RUFDZkMsRUFBRSxFQUFFLFFBQVE7RUFDWkMsRUFBRSxFQUFFLGFBQWE7RUFDakJDLEVBQUUsRUFBRSxzQkFBc0I7RUFDMUJDLEVBQUUsRUFBRSxRQUFRO0VBQ1pDLEVBQUUsRUFBRSxZQUFZO0VBQ2hCQyxFQUFFLEVBQUUsVUFBVTtFQUNkQyxFQUFFLEVBQUUsVUFBVTtFQUNkQyxFQUFFLEVBQUUsYUFBYTtFQUNqQkMsRUFBRSxFQUFFLE1BQU07RUFDVkMsRUFBRSxFQUFFLFNBQVM7RUFDYkMsRUFBRSxFQUFFLE9BQU87RUFDWEMsRUFBRSxFQUFFLHFCQUFxQjtFQUN6QkMsRUFBRSxFQUFFLFNBQVM7RUFDYkMsRUFBRSxFQUFFLFFBQVE7RUFDWkMsRUFBRSxFQUFFLGNBQWM7RUFDbEJDLEVBQUUsRUFBRSwwQkFBMEI7RUFDOUJDLEVBQUUsRUFBRSxRQUFRO0VBQ1pDLEVBQUUsRUFBRSxRQUFRO0VBQ1pDLEVBQUUsRUFBRSxTQUFTO0VBQ2JDLEVBQUUsRUFBRSxzQkFBc0I7RUFDMUJDLEVBQUUsRUFBRSxnQkFBZ0I7RUFDcEJDLEVBQUUsRUFBRSxlQUFlO0VBQ25CQyxFQUFFLEVBQUUsZ0NBQWdDO0VBQ3BDQyxFQUFFLEVBQUUsU0FBUztFQUNiQyxFQUFFLEVBQUUsWUFBWTtFQUNoQkMsRUFBRSxFQUFFLFNBQVM7RUFDYkMsRUFBRSxFQUFFLFdBQVc7RUFDZkMsRUFBRSxFQUFFLFVBQVU7RUFDZEMsRUFBRSxFQUFFLHlCQUF5QjtFQUM3QkMsRUFBRSxFQUFFLHNCQUFzQjtFQUMxQkMsRUFBRSxFQUFFLG1CQUFtQjtFQUN2QkMsRUFBRSxFQUFFLGdCQUFnQjtFQUNwQkMsRUFBRSxFQUFFLE9BQU87RUFDWEMsRUFBRSxFQUFFLFFBQVE7RUFDWkMsRUFBRSxFQUFFO0FBQ04sQ0FBQztBQUVELE9BQU8sU0FBU0MsY0FBY0EsQ0FBQ0MsV0FBZ0IsRUFBRTtFQUMvQyxJQUFJdlAsWUFBWSxDQUFDd1AsY0FBYyxDQUFDRCxXQUFXLENBQUMsRUFBRTtJQUM1QyxPQUFPdlAsWUFBWSxDQUFDdVAsV0FBVyxDQUFDO0VBQ2xDLENBQUMsTUFBTTtJQUNMLE9BQU9BLFdBQVc7RUFDcEI7QUFDRjtBQUVBLE9BQU8sU0FBU0UsV0FBV0EsQ0FBQ0MsR0FBVSxFQUFFO0VBQ3RDLE9BQU9BLEdBQUcsQ0FBQzdULEdBQUcsQ0FBQyxVQUFBOFQsRUFBRTtJQUFBLE9BQUlBLEVBQUUsQ0FBQ0MsSUFBSSxDQUFDLENBQUM7RUFBQSxFQUFDLENBQVk7RUFBQSxDQUN4QzdULE1BQU0sQ0FBQyxVQUFBNFQsRUFBRTtJQUFBLE9BQUksT0FBTyxDQUFDRSxJQUFJLENBQUNGLEVBQUUsQ0FBQztFQUFBLEVBQUMsQ0FBRTtFQUFBLENBQ2hDOVQsR0FBRyxDQUFDLFVBQUE4VCxFQUFFO0lBQUEsT0FBSWxXLE1BQU0sQ0FBQ2tXLEVBQUUsQ0FBQztFQUFBLEVBQUMsQ0FBQyxDQUFVO0FBQ3JDO0FBRUEsT0FBTyxTQUFTRyxzQkFBc0JBLENBQUEsRUFBVTtFQUM5QyxJQUFJLE9BQU9DLFlBQVksS0FBSyxXQUFXLElBQUlBLFlBQVksS0FBSyxJQUFJLEVBQUU7SUFDaEUsSUFBTUMsWUFBWSxHQUFHRCxZQUFZLENBQUNFLE9BQU8sQ0FBQyxlQUFlLENBQUM7SUFFMUQsSUFBSUQsWUFBWSxFQUFFO01BQ2hCLElBQU1FLEdBQUcsR0FBR1QsV0FBVyxDQUFDTyxZQUFZLENBQUM3VSxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7TUFDaEQsT0FBTytVLEdBQUcsQ0FBQ3JVLEdBQUcsQ0FBQyxVQUFDOFQsRUFBVTtRQUFBLE9BQU07VUFBRUEsRUFBRSxFQUFGQTtRQUFHLENBQUM7TUFBQSxDQUFDLENBQUM7SUFDMUM7SUFDQTtJQUNBLE9BQU8sRUFBRTtFQUNYO0VBQ0EsT0FBTyxFQUFFO0FBQ1g7QUFFQSxPQUFPLFNBQVNRLGNBQWNBLENBQUNDLE9BQWMsRUFBUztFQUNwRCxPQUFPQSxPQUFPLENBQUN2VSxHQUFHLENBQUMsVUFBQ3dVLEdBQVEsRUFBSztJQUMvQixJQUFNQyxRQUFRLEdBQUcsT0FBT0QsR0FBRyxDQUFDQyxRQUFRLEtBQUssUUFBUSxHQUM3QzNRLFFBQVEsQ0FBQzBRLEdBQUcsQ0FBQ0MsUUFBUSxFQUFFLEVBQUUsQ0FBQyxHQUMxQkQsR0FBRyxDQUFDQyxRQUFRO0lBQ2hCLE9BQUFsVSxhQUFBLENBQUFBLGFBQUEsS0FDS2lVLEdBQUc7TUFDTkMsUUFBUSxFQUFFLE9BQU9BLFFBQVEsS0FBSyxRQUFRLEdBQUdBLFFBQVEsR0FBRztJQUFDO0VBRXpELENBQUMsQ0FBQyxDQUFDQyxJQUFJLENBQUMsVUFBQ0MsQ0FBQyxFQUFFQyxDQUFDLEVBQUs7SUFDaEIsSUFBTUMsU0FBUyxHQUFHLE9BQU9GLENBQUMsQ0FBQ0YsUUFBUSxLQUFLLFFBQVEsR0FBR0UsQ0FBQyxDQUFDRixRQUFRLEdBQUcsQ0FBQztJQUNqRSxJQUFNSyxTQUFTLEdBQUcsT0FBT0YsQ0FBQyxDQUFDSCxRQUFRLEtBQUssUUFBUSxHQUFHRyxDQUFDLENBQUNILFFBQVEsR0FBRyxDQUFDO0lBQ2pFLE9BQU9JLFNBQVMsR0FBR0MsU0FBUztFQUM5QixDQUFDLENBQUM7QUFDSjtBQUVBLE9BQU8sU0FBU0MsMkJBQTJCQSxDQUFDQyxPQUFZLEVBQUU7RUFDeEQsSUFBUXBVLFVBQVUsR0FBdUJvVSxPQUFPLENBQXhDcFUsVUFBVTtJQUFFQyxnQkFBZ0IsR0FBS21VLE9BQU8sQ0FBNUJuVSxnQkFBZ0I7RUFDcEMsSUFBTW9VLFNBQVMsR0FBRzlVLE9BQU8sQ0FBQ1UsZ0JBQWdCLElBQUlBLGdCQUFnQixDQUFDZixNQUFNLENBQUM7RUFDdEUsSUFBTW9WLGFBQWEsR0FBRy9VLE9BQU8sQ0FBQ1MsVUFBVSxJQUFJQSxVQUFVLENBQUNkLE1BQU0sQ0FBQzs7RUFFOUQ7RUFDQSxJQUFJb1YsYUFBYSxFQUFFO0lBQ2pCLEtBQUssSUFBSUMsQ0FBQyxHQUFHLENBQUMsRUFBRUEsQ0FBQyxHQUFHdlUsVUFBVSxDQUFDZCxNQUFNLEVBQUVxVixDQUFDLEVBQUUsRUFBRTtNQUMxQ3ZVLFVBQVUsQ0FBQ3VVLENBQUMsQ0FBQyxHQUFHeFksc0JBQXNCLENBQUNpRSxVQUFVLENBQUN1VSxDQUFDLENBQUMsQ0FBQztJQUN2RDtJQUNBSCxPQUFPLENBQUNwVSxVQUFVLEdBQUdBLFVBQVU7RUFDakM7RUFFQSxJQUFJcVUsU0FBUyxFQUFFO0lBQ2IsS0FBSyxJQUFJRSxFQUFDLEdBQUcsQ0FBQyxFQUFFQSxFQUFDLEdBQUd0VSxnQkFBZ0IsQ0FBQ2YsTUFBTSxFQUFFcVYsRUFBQyxFQUFFLEVBQUU7TUFDaEQ7TUFDQSxJQUFNclUsS0FBSyxHQUFHRCxnQkFBZ0IsQ0FBQ3NVLEVBQUMsQ0FBQztNQUNqQyxJQUFJLENBQUNyVSxLQUFLLENBQUMwQyxRQUFRLEVBQUU7UUFDbkIxQyxLQUFLLENBQUMwQyxRQUFRLEdBQUcsQ0FBQztNQUNwQjs7TUFFQTtNQUNBLElBQUkxQyxLQUFLLENBQUNGLFVBQVUsSUFBSXhCLEtBQUssQ0FBQ0MsT0FBTyxDQUFDeUIsS0FBSyxDQUFDRixVQUFVLENBQUMsRUFBRTtRQUN2RCxLQUFLLElBQUl3VSxDQUFDLEdBQUcsQ0FBQyxFQUFFQSxDQUFDLEdBQUd0VSxLQUFLLENBQUNGLFVBQVUsQ0FBQ2QsTUFBTSxFQUFFc1YsQ0FBQyxFQUFFLEVBQUU7VUFDaER0VSxLQUFLLENBQUNGLFVBQVUsQ0FBQ3dVLENBQUMsQ0FBQyxHQUFHelksc0JBQXNCLENBQUNtRSxLQUFLLENBQUNGLFVBQVUsQ0FBQ3dVLENBQUMsQ0FBQyxDQUFDO1FBQ25FO01BQ0Y7SUFDRjtJQUNBSixPQUFPLENBQUNuVSxnQkFBZ0IsR0FBR0EsZ0JBQWdCO0VBQzdDO0VBRUEsT0FBT21VLE9BQU87QUFDaEIiLCJpZ25vcmVMaXN0IjpbXX0=
511
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJNZXJjaGkiLCJWYXJpYXRpb25GaWVsZCIsImZvcm1hdEN1cnJlbmN5IiwiUHJvZHVjdFR5cGUiLCJGaWVsZFR5cGUiLCJjbGVhbkZvcm1WYXJpYXRpb25Kc29uIiwiZGVmYXVsdEdyb3VwUXVhbnRpdHkiLCJlbmZvcmNlTW9xUGVyR3JvdXAiLCJwcm9kdWN0TWluaW11bVF1YW50aXR5IiwicHJvZHVjdE1vcUZsb29yIiwicG5nT3B0aW9uTm90Rm91bmQiLCJyZXF1aXJlIiwicmVuZGVyU2luZ2xlQ29zdEluZGljYXRpb24iLCJjb3N0IiwiY3VycmVuY3lDb2RlIiwiY29zdFR5cGVTdHJpbmciLCJjdXJyZW5jeU9wdGlvbnMiLCJjdXJyZW5jeSIsInNob3dDb2RlSWZOb1N5bWJvbCIsImNvc3RTdHJpbmciLCJhbW91bnQiLCJwYXJzZUZsb2F0IiwiTnVtYmVyIiwiaXNGaW5pdGUiLCJjb3N0RGV0YWlsIiwib25jZU9mZkNvc3QiLCJ1bml0Q29zdCIsIm9uY2VPZmZDb3N0RGVzY3JpcHRpb24iLCJ1bml0Q29zdERlc2NyaXB0aW9uIiwidmFyaWF0aW9uRmllbGRDb3N0RGV0YWlsIiwidmFyaWF0aW9uRmllbGQiLCJ2YXJpYXRpb25Db3N0IiwidmFyaWF0aW9uVW5pdENvc3QiLCJ2YXJpYXRpb25Db3N0RGV0YWlsIiwidmFyaWF0aW9uIiwidmFyaWF0aW9uRmllbGRPcHRpb25Db3N0RGV0YWlsIiwib3B0aW9uIiwiX29wdGlvbiRvbmNlT2ZmQ29zdCIsIl9vcHRpb24kdW5pdENvc3QiLCJwcm9kdWN0U2V0dXBDb3N0RGV0YWlsIiwicHJvZHVjdCIsInNldHVwUHJpY2UiLCJsYWJlbCIsInNldHVwUGVyR3JvdXAiLCJzcGxpdFNlbGVjdGVkT3B0aW9ucyIsInZhbHVlIiwiQXJyYXkiLCJpc0FycmF5Iiwic3BsaXQiLCJzeW5jU2VsZWN0ZWRPcHRpb25zRnJvbVZhbHVlIiwiX3ZhcmlhdGlvbiR2YXJpYXRpb25GIiwiX3R5cGVvZiIsImZpZWxkVHlwZSIsIkNPTE9VUl9FWFRSQUNUIiwic2VsZWN0YWJsZSIsInNlbGVjdGFibGVPcHRpb25zIiwibGVuZ3RoIiwic2VsZWN0ZWRJZHMiLCJtYXAiLCJTdHJpbmciLCJmaWx0ZXIiLCJCb29sZWFuIiwicmVzb2x2ZWQiLCJpbmNsdWRlcyIsIm9wdGlvbklkIiwiX29iamVjdFNwcmVhZCIsInNlbGVjdGVkT3B0aW9ucyIsInN5bmNKb2JTZWxlY3RlZE9wdGlvbnNGcm9tVmFsdWVzIiwiam9iIiwibmV4dCIsInZhcmlhdGlvbnMiLCJ2YXJpYXRpb25zR3JvdXBzIiwiZ3JvdXAiLCJzdXBwbGllclNlbGxlckVkaXRhYmxlUHJvZHVjdFR5cGVzIiwiU1VQUExJRVJfTU9EIiwiQ0xPTkVEX1NVUFBMSUVSX01PRCIsIm9wdGlvbkltYWdlVXJsIiwiaW1hZ2UiLCJpbWFnZU5vdEZvdW5kIiwic3JjIiwibGlua2VkRmlsZSIsInZpZXdVcmwiLCJhbGxvd2VkRmlsZVR5cGVzIiwiZmlsZVR5cGVNYXBwaW5nIiwiYWxsb3dGaWxlSnBlZyIsImFsbG93RmlsZUdpZiIsImFsbG93RmlsZVBkZiIsImFsbG93RmlsZVBuZyIsImFsbG93RmlsZUFpIiwiYWxsb3dlZFR5cGVzIiwiT2JqZWN0Iiwia2V5cyIsImF0dHJpYnV0ZU5hbWUiLCJqb2luIiwiVmFyaWF0aW9uRmllbGRDbGFzcyIsInByb3BlcnR5IiwidHlwZSIsInByb3RvdHlwZSIsIm1lcmNoaSIsImVuc3VyZVZhcmlhdGlvbk9wdGlvbkZsYWdzIiwiaXNWaXNpYmxlIiwidW5kZWZpbmVkIiwiZm9yRWFjaCIsImF2YWlsYWJsZSIsImJ1aWxkRW1wdHlWYXJpYXRpb25Gcm9tRmllbGQiLCJmaWVsZCIsImZpZWxkRW50IiwiZnJvbUpzb24iLCJtYWtlRGlydHkiLCJ2YXJpYXRpb25Kc29uIiwiYnVpbGRFbXB0eVZhcmlhdGlvbiIsInRvSnNvbiIsImFsbG93QWxsUGFudG9uZXMiLCJidWlsZEVtcHR5VmFyaWF0aW9uR3JvdXAiLCJwcm9kdWN0RW50IiwiUHJvZHVjdCIsIm5ld0dyb3VwIiwiZ3JvdXBDb3N0IiwicXVhbnRpdHkiLCJncm91cEpzb24iLCJpc1Byb2R1Y3RTdXBwbGllck1PRCIsInByb2R1Y3RUeXBlIiwiU1VQUExJRVJfUkVTRUxMX01PRCIsImlzUHJvZHVjdFR5cGVGaWxlRG93bmxvYWQiLCJwYXJzZUludCIsIlNFTExFUl9GSUxFX0RPV05MT0FEIiwiaXNQcm9kdWN0RmlsZURvd25sb2FkIiwiaXNQcm9kdWN0TGVhZEZvcm0iLCJMRUFEX0ZPUk0iLCJpc29Db3VudHJpZXMiLCJBRiIsIkFYIiwiQUwiLCJEWiIsIkFTIiwiQUQiLCJBTyIsIkFJIiwiQVEiLCJBRyIsIkFSIiwiQU0iLCJBVyIsIkFVIiwiQVQiLCJBWiIsIkJTIiwiQkgiLCJCRCIsIkJCIiwiQlkiLCJCRSIsIkJaIiwiQkoiLCJCTSIsIkJUIiwiQk8iLCJCQSIsIkJXIiwiQlYiLCJCUiIsIklPIiwiQk4iLCJCRyIsIkJGIiwiQkkiLCJLSCIsIkNNIiwiQ0EiLCJDViIsIktZIiwiQ0YiLCJURCIsIkNMIiwiQ04iLCJDWCIsIkNDIiwiQ08iLCJLTSIsIkNHIiwiQ0QiLCJDSyIsIkNSIiwiQ0kiLCJIUiIsIkNVIiwiQ1kiLCJDWiIsIkRLIiwiREoiLCJETSIsIkRPIiwiRUMiLCJFRyIsIlNWIiwiR1EiLCJFUiIsIkVFIiwiRVQiLCJGSyIsIkZPIiwiRkoiLCJGSSIsIkZSIiwiR0YiLCJQRiIsIlRGIiwiR0EiLCJHTSIsIkdFIiwiREUiLCJHSCIsIkdJIiwiR1IiLCJHTCIsIkdEIiwiR1AiLCJHVSIsIkdUIiwiR0ciLCJHTiIsIkdXIiwiR1kiLCJIVCIsIkhNIiwiVkEiLCJITiIsIkhLIiwiSFUiLCJJUyIsIklOIiwiSUQiLCJJUiIsIklRIiwiSUUiLCJJTSIsIklMIiwiSVQiLCJKTSIsIkpQIiwiSkUiLCJKTyIsIktaIiwiS0UiLCJLSSIsIktSIiwiS1ciLCJLRyIsIkxBIiwiTFYiLCJMQiIsIkxTIiwiTFIiLCJMWSIsIkxJIiwiTFQiLCJMVSIsIk1PIiwiTUsiLCJNRyIsIk1XIiwiTVkiLCJNViIsIk1MIiwiTVQiLCJNSCIsIk1RIiwiTVIiLCJNVSIsIllUIiwiTVgiLCJGTSIsIk1EIiwiTUMiLCJNTiIsIk1FIiwiTVMiLCJNQSIsIk1aIiwiTU0iLCJOQSIsIk5SIiwiTlAiLCJOTCIsIkFOIiwiTkMiLCJOWiIsIk5JIiwiTkUiLCJORyIsIk5VIiwiTkYiLCJNUCIsIk5PIiwiT00iLCJQSyIsIlBXIiwiUFMiLCJQQSIsIlBHIiwiUFkiLCJQRSIsIlBIIiwiUE4iLCJQTCIsIlBUIiwiUFIiLCJRQSIsIlJFIiwiUk8iLCJSVSIsIlJXIiwiQkwiLCJTSCIsIktOIiwiTEMiLCJNRiIsIlBNIiwiVkMiLCJXUyIsIlNNIiwiU1QiLCJTQSIsIlNOIiwiUlMiLCJTQyIsIlNMIiwiU0ciLCJTSyIsIlNJIiwiU0IiLCJTTyIsIlpBIiwiR1MiLCJFUyIsIkxLIiwiU0QiLCJTUiIsIlNKIiwiU1oiLCJTRSIsIkNIIiwiU1kiLCJUVyIsIlRKIiwiVFoiLCJUSCIsIlRMIiwiVEciLCJUSyIsIlRPIiwiVFQiLCJUTiIsIlRSIiwiVE0iLCJUQyIsIlRWIiwiVUciLCJVQSIsIkFFIiwiR0IiLCJVUyIsIlVNIiwiVVkiLCJVWiIsIlZVIiwiVkUiLCJWTiIsIlZHIiwiVkkiLCJXRiIsIkVIIiwiWUUiLCJaTSIsIlpXIiwiZ2V0Q291bnRyeU5hbWUiLCJjb3VudHJ5Q29kZSIsImhhc093blByb3BlcnR5IiwiY2xlYW5UYWdJZHMiLCJyYXciLCJpZCIsInRyaW0iLCJ0ZXN0IiwiZ2V0TWVyY2hpU291cmNlSm9iVGFncyIsImxvY2FsU3RvcmFnZSIsIm1lcmNoaVNvdXJjZSIsImdldEl0ZW0iLCJpZHMiLCJzb3J0QnlQb3NpdGlvbiIsIm9wdGlvbnMiLCJvYmoiLCJwb3NpdGlvbiIsInNvcnQiLCJhIiwiYiIsImFQb3NpdGlvbiIsImJQb3NpdGlvbiIsImNsZWFuSm9iVmFyaWF0aW9uc0FuZEdyb3VwcyIsImpvYkpzb24iLCJoYXNHcm91cHMiLCJoYXNWYXJpYXRpb25zIiwiaSIsImoiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvY29tcG9uZW50cy91dGlscy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNZXJjaGksIFZhcmlhdGlvbkZpZWxkIH0gZnJvbSAnQG1lcmNoaS9zZGsnO1xuaW1wb3J0IHsgZm9ybWF0Q3VycmVuY3kgfSBmcm9tICcuLi91dGlscy9jdXJyZW5jeSc7XG5pbXBvcnQgeyBQcm9kdWN0VHlwZSwgRmllbGRUeXBlIH0gZnJvbSAnLi4vdXRpbHMvdHlwZXMnO1xuZXhwb3J0IHsgY2xlYW5Gb3JtVmFyaWF0aW9uSnNvbiB9IGZyb20gJy4uL3V0aWxzL2NsZWFuRm9ybVZhcmlhdGlvbkpzb24nO1xuaW1wb3J0IHsgY2xlYW5Gb3JtVmFyaWF0aW9uSnNvbiB9IGZyb20gJy4uL3V0aWxzL2NsZWFuRm9ybVZhcmlhdGlvbkpzb24nO1xuaW1wb3J0IHsgZGVmYXVsdEdyb3VwUXVhbnRpdHkgfSBmcm9tICcuLi91dGlscy9xdWFudGl0eSc7XG5leHBvcnQge1xuICBkZWZhdWx0R3JvdXBRdWFudGl0eSxcbiAgZW5mb3JjZU1vcVBlckdyb3VwLFxuICBwcm9kdWN0TWluaW11bVF1YW50aXR5LFxuICBwcm9kdWN0TW9xRmxvb3IsXG59IGZyb20gJy4uL3V0aWxzL3F1YW50aXR5JztcbmNvbnN0IHBuZ09wdGlvbk5vdEZvdW5kID0gcmVxdWlyZSgnLi4vaW1hZ2VzL3Byb2R1Y3Qtbm90LWZvdW5kLnBuZycpO1xuXG5mdW5jdGlvbiByZW5kZXJTaW5nbGVDb3N0SW5kaWNhdGlvbihcbiAgY29zdDogYW55LFxuICBjdXJyZW5jeUNvZGU6IGFueSxcbiAgY29zdFR5cGVTdHJpbmc6IHN0cmluZ1xuKSB7XG4gIGxldCBjdXJyZW5jeU9wdGlvbnMgPSB7IGN1cnJlbmN5OiBjdXJyZW5jeUNvZGUsIHNob3dDb2RlSWZOb1N5bWJvbDogZmFsc2UgfTtcbiAgbGV0IGNvc3RTdHJpbmcgPSAnJztcbiAgY29uc3QgYW1vdW50ID0gcGFyc2VGbG9hdChjb3N0KTtcblxuICBpZiAoTnVtYmVyLmlzRmluaXRlKGFtb3VudCkgJiYgYW1vdW50ID4gMCkge1xuICAgIGNvc3RTdHJpbmcgPSBmb3JtYXRDdXJyZW5jeShhbW91bnQsIGN1cnJlbmN5T3B0aW9ucyk7XG4gICAgY29zdFN0cmluZyA9ICcgKyAnICsgY29zdFN0cmluZyArICcgJyArIGNvc3RUeXBlU3RyaW5nO1xuICB9XG4gIHJldHVybiBjb3N0U3RyaW5nO1xufVxuXG5jb25zdCBjb3N0RGV0YWlsID0gKG9uY2VPZmZDb3N0OiBhbnksIHVuaXRDb3N0OiBhbnksIGN1cnJlbmN5Q29kZTogc3RyaW5nKSA9PiB7XG4gIGNvbnN0IG9uY2VPZmZDb3N0RGVzY3JpcHRpb24gPSByZW5kZXJTaW5nbGVDb3N0SW5kaWNhdGlvbihcbiAgICBwYXJzZUZsb2F0KG9uY2VPZmZDb3N0KSxcbiAgICBjdXJyZW5jeUNvZGUsXG4gICAgJ29uY2Ugb2ZmJ1xuICApO1xuICBjb25zdCB1bml0Q29zdERlc2NyaXB0aW9uID0gcmVuZGVyU2luZ2xlQ29zdEluZGljYXRpb24oXG4gICAgcGFyc2VGbG9hdCh1bml0Q29zdCksXG4gICAgY3VycmVuY3lDb2RlLFxuICAgICdwZXIgdW5pdCdcbiAgKTtcbiAgcmV0dXJuIG9uY2VPZmZDb3N0RGVzY3JpcHRpb24gKyB1bml0Q29zdERlc2NyaXB0aW9uO1xufTtcblxuZXhwb3J0IGZ1bmN0aW9uIHZhcmlhdGlvbkZpZWxkQ29zdERldGFpbCh2YXJpYXRpb25GaWVsZDogYW55KSB7XG4gIGNvbnN0IHsgdmFyaWF0aW9uQ29zdCwgdmFyaWF0aW9uVW5pdENvc3QsIGN1cnJlbmN5IH0gPSB2YXJpYXRpb25GaWVsZDtcbiAgcmV0dXJuIGNvc3REZXRhaWwodmFyaWF0aW9uQ29zdCEsIHZhcmlhdGlvblVuaXRDb3N0ISwgY3VycmVuY3khKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHZhcmlhdGlvbkNvc3REZXRhaWwodmFyaWF0aW9uOiBhbnkpIHtcbiAgY29uc3QgeyBvbmNlT2ZmQ29zdCwgdW5pdENvc3QsIGN1cnJlbmN5IH0gPSB2YXJpYXRpb247XG4gIHJldHVybiBjb3N0RGV0YWlsKG9uY2VPZmZDb3N0ISwgdW5pdENvc3QhLCBjdXJyZW5jeSEpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdmFyaWF0aW9uRmllbGRPcHRpb25Db3N0RGV0YWlsKG9wdGlvbjogYW55KSB7XG4gIGNvbnN0IHsgY3VycmVuY3kgfSA9IG9wdGlvbjtcbiAgLy8gRmllbGQgb3B0aW9ucyB1c2UgdmFyaWF0aW9uQ29zdDsgc2VsZWN0YWJsZSBWYXJpYXRpb25PcHRpb25zIHVzZSBvbmNlT2ZmQ29zdC5cbiAgY29uc3Qgb25jZU9mZkNvc3QgPSBvcHRpb24ub25jZU9mZkNvc3QgPz8gb3B0aW9uLnZhcmlhdGlvbkNvc3Q7XG4gIGNvbnN0IHVuaXRDb3N0ID0gb3B0aW9uLnVuaXRDb3N0ID8/IG9wdGlvbi52YXJpYXRpb25Vbml0Q29zdDtcbiAgcmV0dXJuIGNvc3REZXRhaWwob25jZU9mZkNvc3QhLCB1bml0Q29zdCEsIGN1cnJlbmN5ISk7XG59XG5cbi8qKiBQcm9kdWN0LWxldmVsIHNldHVwIGZlZSwgc2FtZSBcIisgJFgg4oCmXCIgc3R5bGUgYXMgdmFyaWF0aW9uIG9uY2Utb2ZmIGNvc3RzLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHByb2R1Y3RTZXR1cENvc3REZXRhaWwocHJvZHVjdDogYW55KSB7XG4gIGNvbnN0IHNldHVwUHJpY2UgPSBwYXJzZUZsb2F0KHByb2R1Y3Q/LnNldHVwUHJpY2UpO1xuICBpZiAoIXNldHVwUHJpY2UpIHJldHVybiAnJztcbiAgY29uc3QgbGFiZWwgPSBwcm9kdWN0LnNldHVwUGVyR3JvdXAgPyAnc2V0dXAgcGVyIGdyb3VwJyA6ICdzZXR1cCc7XG4gIHJldHVybiByZW5kZXJTaW5nbGVDb3N0SW5kaWNhdGlvbihzZXR1cFByaWNlLCBwcm9kdWN0LmN1cnJlbmN5LCBsYWJlbCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzcGxpdFNlbGVjdGVkT3B0aW9ucyh2YWx1ZTogYW55KSB7XG4gIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkge1xuICAgIHJldHVybiB2YWx1ZTtcbiAgfVxuICBpZiAodHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJyAmJiB2YWx1ZSkge1xuICAgIHJldHVybiB2YWx1ZS5zcGxpdCgnLCcpO1xuICB9XG4gIHJldHVybiBbXTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHN5bmNTZWxlY3RlZE9wdGlvbnNGcm9tVmFsdWUodmFyaWF0aW9uOiBhbnkpOiBhbnkge1xuICBpZiAoIXZhcmlhdGlvbiB8fCB0eXBlb2YgdmFyaWF0aW9uICE9PSAnb2JqZWN0JykgcmV0dXJuIHZhcmlhdGlvbjtcbiAgY29uc3QgZmllbGRUeXBlID0gTnVtYmVyKHZhcmlhdGlvbj8udmFyaWF0aW9uRmllbGQ/LmZpZWxkVHlwZSk7XG4gIGlmIChmaWVsZFR5cGUgPT09IEZpZWxkVHlwZS5DT0xPVVJfRVhUUkFDVCkgcmV0dXJuIHZhcmlhdGlvbjtcblxuICBjb25zdCBzZWxlY3RhYmxlID0gdmFyaWF0aW9uPy5zZWxlY3RhYmxlT3B0aW9ucyB8fCBbXTtcbiAgaWYgKCFzZWxlY3RhYmxlLmxlbmd0aCkgcmV0dXJuIHZhcmlhdGlvbjtcblxuICBjb25zdCBzZWxlY3RlZElkcyA9IHNwbGl0U2VsZWN0ZWRPcHRpb25zKHZhcmlhdGlvbj8udmFsdWUpXG4gICAgLm1hcChTdHJpbmcpXG4gICAgLmZpbHRlcihCb29sZWFuKTtcbiAgaWYgKCFzZWxlY3RlZElkcy5sZW5ndGgpIHJldHVybiB2YXJpYXRpb247XG5cbiAgY29uc3QgcmVzb2x2ZWQgPSBzZWxlY3RhYmxlLmZpbHRlcigob3B0aW9uOiBhbnkpID0+XG4gICAgc2VsZWN0ZWRJZHMuaW5jbHVkZXMoU3RyaW5nKG9wdGlvbi5vcHRpb25JZCkpXG4gICk7XG4gIGlmICghcmVzb2x2ZWQubGVuZ3RoKSByZXR1cm4gdmFyaWF0aW9uO1xuXG4gIHJldHVybiB7IC4uLnZhcmlhdGlvbiwgc2VsZWN0ZWRPcHRpb25zOiByZXNvbHZlZCB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gc3luY0pvYlNlbGVjdGVkT3B0aW9uc0Zyb21WYWx1ZXMoam9iOiBhbnkpOiBhbnkge1xuICBpZiAoIWpvYiB8fCB0eXBlb2Ygam9iICE9PSAnb2JqZWN0JykgcmV0dXJuIGpvYjtcbiAgY29uc3QgbmV4dCA9IHsgLi4uam9iIH07XG4gIGlmIChBcnJheS5pc0FycmF5KG5leHQudmFyaWF0aW9ucykpIHtcbiAgICBuZXh0LnZhcmlhdGlvbnMgPSBuZXh0LnZhcmlhdGlvbnMubWFwKHN5bmNTZWxlY3RlZE9wdGlvbnNGcm9tVmFsdWUpO1xuICB9XG4gIGlmIChBcnJheS5pc0FycmF5KG5leHQudmFyaWF0aW9uc0dyb3VwcykpIHtcbiAgICBuZXh0LnZhcmlhdGlvbnNHcm91cHMgPSBuZXh0LnZhcmlhdGlvbnNHcm91cHMubWFwKChncm91cDogYW55KSA9PiAoe1xuICAgICAgLi4uZ3JvdXAsXG4gICAgICB2YXJpYXRpb25zOiBBcnJheS5pc0FycmF5KGdyb3VwPy52YXJpYXRpb25zKVxuICAgICAgICA/IGdyb3VwLnZhcmlhdGlvbnMubWFwKHN5bmNTZWxlY3RlZE9wdGlvbnNGcm9tVmFsdWUpXG4gICAgICAgIDogZ3JvdXA/LnZhcmlhdGlvbnMsXG4gICAgfSkpO1xuICB9XG4gIHJldHVybiBuZXh0O1xufVxuXG5leHBvcnQgY29uc3Qgc3VwcGxpZXJTZWxsZXJFZGl0YWJsZVByb2R1Y3RUeXBlczogQXJyYXk8bnVtYmVyPiA9IFtcbiAgUHJvZHVjdFR5cGUuU1VQUExJRVJfTU9ELFxuICBQcm9kdWN0VHlwZS5DTE9ORURfU1VQUExJRVJfTU9ELFxuXTtcblxuZXhwb3J0IGZ1bmN0aW9uIG9wdGlvbkltYWdlVXJsKG9wdGlvbjogYW55KSB7XG4gIGNvbnN0IGltYWdlID0gcG5nT3B0aW9uTm90Rm91bmQgPyAocG5nT3B0aW9uTm90Rm91bmQuZGVmYXVsdCB8fCBwbmdPcHRpb25Ob3RGb3VuZCkgOiAnJztcbiAgY29uc3QgaW1hZ2VOb3RGb3VuZCA9IGltYWdlID8gKGltYWdlLnNyYyB8fCBpbWFnZSkgOiAnJztcbiAgcmV0dXJuIG9wdGlvbi5saW5rZWRGaWxlXG4gICAgPyBvcHRpb24ubGlua2VkRmlsZVxuICAgICAgPyBvcHRpb24ubGlua2VkRmlsZS52aWV3VXJsXG4gICAgICA6IGltYWdlTm90Rm91bmRcbiAgICA6IGltYWdlTm90Rm91bmQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBhbGxvd2VkRmlsZVR5cGVzKHZhcmlhdGlvbkZpZWxkOiBhbnkpOiBzdHJpbmcge1xuICBjb25zdCBmaWxlVHlwZU1hcHBpbmc6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0gPSB7XG4gICAgYWxsb3dGaWxlSnBlZzogJy5qcGVnJyxcbiAgICBhbGxvd0ZpbGVHaWY6ICcuZ2lmJyxcbiAgICBhbGxvd0ZpbGVQZGY6ICcucGRmJyxcbiAgICBhbGxvd0ZpbGVQbmc6ICcucG5nJyxcbiAgICBhbGxvd0ZpbGVBaTogJy5haScsXG4gIH07XG5cbiAgY29uc3QgYWxsb3dlZFR5cGVzOiBzdHJpbmdbXSA9IE9iamVjdC5rZXlzKGZpbGVUeXBlTWFwcGluZylcbiAgICAuZmlsdGVyKChhdHRyaWJ1dGVOYW1lKSA9PiB2YXJpYXRpb25GaWVsZFthdHRyaWJ1dGVOYW1lXSlcbiAgICAubWFwKChhdHRyaWJ1dGVOYW1lKSA9PiBmaWxlVHlwZU1hcHBpbmdbYXR0cmlidXRlTmFtZV0pO1xuXG4gIHJldHVybiBhbGxvd2VkVHlwZXMuam9pbignLCcpO1xufVxuXG4vLyBQdWJsaXNoZWQgQG1lcmNoaS9zZGsgZHJvcHMgdW5rbm93biBrZXlzLiBSZWdpc3RlciB0aGUgZmxhZyBvbiB0aGUgY2xhc3Ncbi8vIHRoaXMgcGFja2FnZSBhY3R1YWxseSBjb25zdHJ1Y3RzLCBvciBhbiBhbGxvdy1hbGwgUGFudG9uZSBmaWVsZCBpcyBzYXZlZFxuLy8gYXMgYSBsaW1pdGVkIGZpZWxkIHdpdGggbm8gb3B0aW9ucyBhbmQgdGhlIHByZXZpZXcgaGlkZXMgaXQuXG5jb25zdCBWYXJpYXRpb25GaWVsZENsYXNzID0gVmFyaWF0aW9uRmllbGQgYXMgdW5rbm93biBhcyB7XG4gIHByb3BlcnR5OiAob3B0aW9ucz86IHsgdHlwZT86IHVua25vd24gfSkgPT4gKHRhcmdldDogb2JqZWN0LCBrZXk6IHN0cmluZykgPT4gdm9pZDtcbiAgcHJvdG90eXBlOiBvYmplY3Q7XG59O1xuVmFyaWF0aW9uRmllbGRDbGFzcy5wcm9wZXJ0eSh7IHR5cGU6IEJvb2xlYW4gfSkoXG4gIFZhcmlhdGlvbkZpZWxkQ2xhc3MucHJvdG90eXBlLFxuICAnYWxsb3dBbGxQYW50b25lcycsXG4pO1xuXG5jb25zdCBtZXJjaGkgPSBuZXcgTWVyY2hpKCk7XG5cbmZ1bmN0aW9uIGVuc3VyZVZhcmlhdGlvbk9wdGlvbkZsYWdzKHZhcmlhdGlvbjogYW55KSB7XG4gIGlmICh2YXJpYXRpb24uaXNWaXNpYmxlID09PSB1bmRlZmluZWQpIHZhcmlhdGlvbi5pc1Zpc2libGUgPSB0cnVlO1xuICAodmFyaWF0aW9uLnNlbGVjdGFibGVPcHRpb25zIHx8IFtdKS5mb3JFYWNoKChvcHRpb246IGFueSkgPT4ge1xuICAgIGlmIChvcHRpb24uaXNWaXNpYmxlID09PSB1bmRlZmluZWQpIG9wdGlvbi5pc1Zpc2libGUgPSB0cnVlO1xuICAgIGlmIChvcHRpb24uYXZhaWxhYmxlID09PSB1bmRlZmluZWQpIG9wdGlvbi5hdmFpbGFibGUgPSB0cnVlO1xuICB9KTtcbn1cblxuLyoqIEJ1aWxkIGEgZGVmYXVsdCB2YXJpYXRpb24gSlNPTiBmb3IgYSBwcm9kdWN0IHZhcmlhdGlvbiBmaWVsZCAoZ2F0ZWQgZmllbGRzKS4gKi9cbmV4cG9ydCBmdW5jdGlvbiBidWlsZEVtcHR5VmFyaWF0aW9uRnJvbUZpZWxkKGZpZWxkOiBhbnkpIHtcbiAgY29uc3QgZmllbGRFbnQgPSBuZXcgbWVyY2hpLlZhcmlhdGlvbkZpZWxkKCk7XG4gIGZpZWxkRW50LmZyb21Kc29uKHsgLi4uZmllbGQgfSwgeyBtYWtlRGlydHk6IGZhbHNlIH0pO1xuICBjb25zdCB2YXJpYXRpb25Kc29uID0gZmllbGRFbnQuYnVpbGRFbXB0eVZhcmlhdGlvbigpLnRvSnNvbigpO1xuICBpZiAoXG4gICAgdmFyaWF0aW9uSnNvbj8udmFyaWF0aW9uRmllbGQgJiZcbiAgICBmaWVsZD8uYWxsb3dBbGxQYW50b25lcyAhPSBudWxsICYmXG4gICAgdmFyaWF0aW9uSnNvbi52YXJpYXRpb25GaWVsZC5hbGxvd0FsbFBhbnRvbmVzID09IG51bGxcbiAgKSB7XG4gICAgdmFyaWF0aW9uSnNvbi52YXJpYXRpb25GaWVsZC5hbGxvd0FsbFBhbnRvbmVzID0gQm9vbGVhbihmaWVsZC5hbGxvd0FsbFBhbnRvbmVzKTtcbiAgfVxuICBlbnN1cmVWYXJpYXRpb25PcHRpb25GbGFncyh2YXJpYXRpb25Kc29uKTtcbiAgcmV0dXJuIHZhcmlhdGlvbkpzb247XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBidWlsZEVtcHR5VmFyaWF0aW9uR3JvdXAocHJvZHVjdDogYW55KSB7XG4gIGNvbnN0IHByb2R1Y3RFbnQgPSBuZXcgbWVyY2hpLlByb2R1Y3QoKTtcbiAgcHJvZHVjdEVudC5mcm9tSnNvbih7Li4ucHJvZHVjdH0sIHsgbWFrZURpcnR5OiBmYWxzZX0pO1xuICBjb25zdCBuZXdHcm91cCA9IG5ldyBwcm9kdWN0RW50LmJ1aWxkRW1wdHlWYXJpYXRpb25Hcm91cCgpO1xuICBuZXdHcm91cC5ncm91cENvc3QgPSAwO1xuICBuZXdHcm91cC5xdWFudGl0eSA9IGRlZmF1bHRHcm91cFF1YW50aXR5KHByb2R1Y3QpO1xuICBjb25zdCBncm91cEpzb24gPSBuZXdHcm91cC50b0pzb24oKTtcbiAgLy8gVGhlIFNESydzIGJ1aWxkVmFyaWF0aW9uT3B0aW9uIGRvZXMgbm90IHNldCBgaXNWaXNpYmxlYC9gYXZhaWxhYmxlYCBvbiB0aGVcbiAgLy8gYnVpbHQgc2VsZWN0YWJsZSBvcHRpb25zLiBJbiBzZXJ2ZXIgbW9kZSB0aGVzZSBhcmUgcmVwb3B1bGF0ZWQgYnkgdGhlXG4gIC8vIGVzdGltYXRlIHJvdW5kLXRyaXAgKyBmb3JtIHJlc2V0LCBidXQgaW4gY2xpZW50IG1vZGUgKG5vIHJvdW5kLXRyaXApIHRoZVxuICAvLyBvcHRpb25zIHdvdWxkIHJlbmRlciBkaXNhYmxlZCAoXCItIGRpc2FibGVkXCIpLiBEZWZhdWx0IHRoZW0gaGVyZSBzbyBhIGZyZXNobHlcbiAgLy8gYWRkZWQgZ3JvdXAgaXMgdXNhYmxlOyBvcHRpb24tbGV2ZWwgY29uZGl0aW9uYWwgdmlzaWJpbGl0eSAoc2VsZWN0ZWRCeSkgaXNcbiAgLy8gcmVzb2x2ZWQgb24gc3Vic2VxdWVudCBpbnRlcmFjdGlvbnMgaW4gc2VydmVyIG1vZGUuXG4gIChncm91cEpzb24udmFyaWF0aW9ucyB8fCBbXSkuZm9yRWFjaChlbnN1cmVWYXJpYXRpb25PcHRpb25GbGFncyk7XG4gIHJldHVybiBncm91cEpzb247XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1Byb2R1Y3RTdXBwbGllck1PRChwcm9kdWN0OiBhbnkpIHtcbiAgY29uc3QgcHJvZHVjdFR5cGUgPSBwcm9kdWN0ICYmIHByb2R1Y3QucHJvZHVjdFR5cGU7XG4gIHJldHVybiAoXG4gICAgcHJvZHVjdCAmJlxuICAgIFtcbiAgICAgIFN0cmluZyhQcm9kdWN0VHlwZS5TVVBQTElFUl9NT0QpLFxuICAgICAgU3RyaW5nKFByb2R1Y3RUeXBlLlNVUFBMSUVSX1JFU0VMTF9NT0QpLFxuICAgIF0uaW5jbHVkZXMoU3RyaW5nKHByb2R1Y3RUeXBlKSlcbiAgKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzUHJvZHVjdFR5cGVGaWxlRG93bmxvYWQocHJvZHVjdFR5cGU6IGFueSkge1xuICByZXR1cm4gcGFyc2VJbnQocHJvZHVjdFR5cGUsIDEwKSA9PT0gUHJvZHVjdFR5cGUuU0VMTEVSX0ZJTEVfRE9XTkxPQUQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1Byb2R1Y3RGaWxlRG93bmxvYWQocHJvZHVjdDogYW55KSB7XG4gIGNvbnN0IHsgcHJvZHVjdFR5cGUgfSA9IHByb2R1Y3Q7XG4gIHJldHVybiBpc1Byb2R1Y3RUeXBlRmlsZURvd25sb2FkKHByb2R1Y3RUeXBlKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzUHJvZHVjdExlYWRGb3JtKHByb2R1Y3Q6IGFueSkge1xuICBjb25zdCBwcm9kdWN0VHlwZSA9IHByb2R1Y3QgJiYgcHJvZHVjdC5wcm9kdWN0VHlwZTtcbiAgcmV0dXJuIHBhcnNlSW50KHByb2R1Y3RUeXBlLCAxMCkgPT09IFByb2R1Y3RUeXBlLkxFQURfRk9STTtcbn1cblxuZXhwb3J0IGNvbnN0IGlzb0NvdW50cmllczogYW55ID0ge1xuICBBRjogJ0FmZ2hhbmlzdGFuJyxcbiAgQVg6ICdBbGFuZCBJc2xhbmRzJyxcbiAgQUw6ICdBbGJhbmlhJyxcbiAgRFo6ICdBbGdlcmlhJyxcbiAgQVM6ICdBbWVyaWNhbiBTYW1vYScsXG4gIEFEOiAnQW5kb3JyYScsXG4gIEFPOiAnQW5nb2xhJyxcbiAgQUk6ICdBbmd1aWxsYScsXG4gIEFROiAnQW50YXJjdGljYScsXG4gIEFHOiAnQW50aWd1YSBBbmQgQmFyYnVkYScsXG4gIEFSOiAnQXJnZW50aW5hJyxcbiAgQU06ICdBcm1lbmlhJyxcbiAgQVc6ICdBcnViYScsXG4gIEFVOiAnQXVzdHJhbGlhJyxcbiAgQVQ6ICdBdXN0cmlhJyxcbiAgQVo6ICdBemVyYmFpamFuJyxcbiAgQlM6ICdCYWhhbWFzJyxcbiAgQkg6ICdCYWhyYWluJyxcbiAgQkQ6ICdCYW5nbGFkZXNoJyxcbiAgQkI6ICdCYXJiYWRvcycsXG4gIEJZOiAnQmVsYXJ1cycsXG4gIEJFOiAnQmVsZ2l1bScsXG4gIEJaOiAnQmVsaXplJyxcbiAgQko6ICdCZW5pbicsXG4gIEJNOiAnQmVybXVkYScsXG4gIEJUOiAnQmh1dGFuJyxcbiAgQk86ICdCb2xpdmlhJyxcbiAgQkE6ICdCb3NuaWEgQW5kIEhlcnplZ292aW5hJyxcbiAgQlc6ICdCb3Rzd2FuYScsXG4gIEJWOiAnQm91dmV0IElzbGFuZCcsXG4gIEJSOiAnQnJhemlsJyxcbiAgSU86ICdCcml0aXNoIEluZGlhbiBPY2VhbiBUZXJyaXRvcnknLFxuICBCTjogJ0JydW5laSBEYXJ1c3NhbGFtJyxcbiAgQkc6ICdCdWxnYXJpYScsXG4gIEJGOiAnQnVya2luYSBGYXNvJyxcbiAgQkk6ICdCdXJ1bmRpJyxcbiAgS0g6ICdDYW1ib2RpYScsXG4gIENNOiAnQ2FtZXJvb24nLFxuICBDQTogJ0NhbmFkYScsXG4gIENWOiAnQ2FwZSBWZXJkZScsXG4gIEtZOiAnQ2F5bWFuIElzbGFuZHMnLFxuICBDRjogJ0NlbnRyYWwgQWZyaWNhbiBSZXB1YmxpYycsXG4gIFREOiAnQ2hhZCcsXG4gIENMOiAnQ2hpbGUnLFxuICBDTjogJ0NoaW5hJyxcbiAgQ1g6ICdDaHJpc3RtYXMgSXNsYW5kJyxcbiAgQ0M6ICdDb2NvcyAoS2VlbGluZykgSXNsYW5kcycsXG4gIENPOiAnQ29sb21iaWEnLFxuICBLTTogJ0NvbW9yb3MnLFxuICBDRzogJ0NvbmdvJyxcbiAgQ0Q6ICdDb25nbywgRGVtb2NyYXRpYyBSZXB1YmxpYycsXG4gIENLOiAnQ29vayBJc2xhbmRzJyxcbiAgQ1I6ICdDb3N0YSBSaWNhJyxcbiAgQ0k6IFwiQ290ZSBEJ0l2b2lyZVwiLFxuICBIUjogJ0Nyb2F0aWEnLFxuICBDVTogJ0N1YmEnLFxuICBDWTogJ0N5cHJ1cycsXG4gIENaOiAnQ3plY2ggUmVwdWJsaWMnLFxuICBESzogJ0Rlbm1hcmsnLFxuICBESjogJ0RqaWJvdXRpJyxcbiAgRE06ICdEb21pbmljYScsXG4gIERPOiAnRG9taW5pY2FuIFJlcHVibGljJyxcbiAgRUM6ICdFY3VhZG9yJyxcbiAgRUc6ICdFZ3lwdCcsXG4gIFNWOiAnRWwgU2FsdmFkb3InLFxuICBHUTogJ0VxdWF0b3JpYWwgR3VpbmVhJyxcbiAgRVI6ICdFcml0cmVhJyxcbiAgRUU6ICdFc3RvbmlhJyxcbiAgRVQ6ICdFdGhpb3BpYScsXG4gIEZLOiAnRmFsa2xhbmQgSXNsYW5kcyAoTWFsdmluYXMpJyxcbiAgRk86ICdGYXJvZSBJc2xhbmRzJyxcbiAgRko6ICdGaWppJyxcbiAgRkk6ICdGaW5sYW5kJyxcbiAgRlI6ICdGcmFuY2UnLFxuICBHRjogJ0ZyZW5jaCBHdWlhbmEnLFxuICBQRjogJ0ZyZW5jaCBQb2x5bmVzaWEnLFxuICBURjogJ0ZyZW5jaCBTb3V0aGVybiBUZXJyaXRvcmllcycsXG4gIEdBOiAnR2Fib24nLFxuICBHTTogJ0dhbWJpYScsXG4gIEdFOiAnR2VvcmdpYScsXG4gIERFOiAnR2VybWFueScsXG4gIEdIOiAnR2hhbmEnLFxuICBHSTogJ0dpYnJhbHRhcicsXG4gIEdSOiAnR3JlZWNlJyxcbiAgR0w6ICdHcmVlbmxhbmQnLFxuICBHRDogJ0dyZW5hZGEnLFxuICBHUDogJ0d1YWRlbG91cGUnLFxuICBHVTogJ0d1YW0nLFxuICBHVDogJ0d1YXRlbWFsYScsXG4gIEdHOiAnR3Vlcm5zZXknLFxuICBHTjogJ0d1aW5lYScsXG4gIEdXOiAnR3VpbmVhLUJpc3NhdScsXG4gIEdZOiAnR3V5YW5hJyxcbiAgSFQ6ICdIYWl0aScsXG4gIEhNOiAnSGVhcmQgSXNsYW5kICYgTWNkb25hbGQgSXNsYW5kcycsXG4gIFZBOiAnSG9seSBTZWUgKFZhdGljYW4gQ2l0eSBTdGF0ZSknLFxuICBITjogJ0hvbmR1cmFzJyxcbiAgSEs6ICdIb25nIEtvbmcnLFxuICBIVTogJ0h1bmdhcnknLFxuICBJUzogJ0ljZWxhbmQnLFxuICBJTjogJ0luZGlhJyxcbiAgSUQ6ICdJbmRvbmVzaWEnLFxuICBJUjogJ0lyYW4sIElzbGFtaWMgUmVwdWJsaWMgT2YnLFxuICBJUTogJ0lyYXEnLFxuICBJRTogJ0lyZWxhbmQnLFxuICBJTTogJ0lzbGUgT2YgTWFuJyxcbiAgSUw6ICdJc3JhZWwnLFxuICBJVDogJ0l0YWx5JyxcbiAgSk06ICdKYW1haWNhJyxcbiAgSlA6ICdKYXBhbicsXG4gIEpFOiAnSmVyc2V5JyxcbiAgSk86ICdKb3JkYW4nLFxuICBLWjogJ0themFraHN0YW4nLFxuICBLRTogJ0tlbnlhJyxcbiAgS0k6ICdLaXJpYmF0aScsXG4gIEtSOiAnS29yZWEnLFxuICBLVzogJ0t1d2FpdCcsXG4gIEtHOiAnS3lyZ3l6c3RhbicsXG4gIExBOiBcIkxhbyBQZW9wbGUncyBEZW1vY3JhdGljIFJlcHVibGljXCIsXG4gIExWOiAnTGF0dmlhJyxcbiAgTEI6ICdMZWJhbm9uJyxcbiAgTFM6ICdMZXNvdGhvJyxcbiAgTFI6ICdMaWJlcmlhJyxcbiAgTFk6ICdMaWJ5YW4gQXJhYiBKYW1haGlyaXlhJyxcbiAgTEk6ICdMaWVjaHRlbnN0ZWluJyxcbiAgTFQ6ICdMaXRodWFuaWEnLFxuICBMVTogJ0x1eGVtYm91cmcnLFxuICBNTzogJ01hY2FvJyxcbiAgTUs6ICdNYWNlZG9uaWEnLFxuICBNRzogJ01hZGFnYXNjYXInLFxuICBNVzogJ01hbGF3aScsXG4gIE1ZOiAnTWFsYXlzaWEnLFxuICBNVjogJ01hbGRpdmVzJyxcbiAgTUw6ICdNYWxpJyxcbiAgTVQ6ICdNYWx0YScsXG4gIE1IOiAnTWFyc2hhbGwgSXNsYW5kcycsXG4gIE1ROiAnTWFydGluaXF1ZScsXG4gIE1SOiAnTWF1cml0YW5pYScsXG4gIE1VOiAnTWF1cml0aXVzJyxcbiAgWVQ6ICdNYXlvdHRlJyxcbiAgTVg6ICdNZXhpY28nLFxuICBGTTogJ01pY3JvbmVzaWEsIEZlZGVyYXRlZCBTdGF0ZXMgT2YnLFxuICBNRDogJ01vbGRvdmEnLFxuICBNQzogJ01vbmFjbycsXG4gIE1OOiAnTW9uZ29saWEnLFxuICBNRTogJ01vbnRlbmVncm8nLFxuICBNUzogJ01vbnRzZXJyYXQnLFxuICBNQTogJ01vcm9jY28nLFxuICBNWjogJ01vemFtYmlxdWUnLFxuICBNTTogJ015YW5tYXInLFxuICBOQTogJ05hbWliaWEnLFxuICBOUjogJ05hdXJ1JyxcbiAgTlA6ICdOZXBhbCcsXG4gIE5MOiAnTmV0aGVybGFuZHMnLFxuICBBTjogJ05ldGhlcmxhbmRzIEFudGlsbGVzJyxcbiAgTkM6ICdOZXcgQ2FsZWRvbmlhJyxcbiAgTlo6ICdOZXcgWmVhbGFuZCcsXG4gIE5JOiAnTmljYXJhZ3VhJyxcbiAgTkU6ICdOaWdlcicsXG4gIE5HOiAnTmlnZXJpYScsXG4gIE5VOiAnTml1ZScsXG4gIE5GOiAnTm9yZm9sayBJc2xhbmQnLFxuICBNUDogJ05vcnRoZXJuIE1hcmlhbmEgSXNsYW5kcycsXG4gIE5POiAnTm9yd2F5JyxcbiAgT006ICdPbWFuJyxcbiAgUEs6ICdQYWtpc3RhbicsXG4gIFBXOiAnUGFsYXUnLFxuICBQUzogJ1BhbGVzdGluaWFuIFRlcnJpdG9yeSwgT2NjdXBpZWQnLFxuICBQQTogJ1BhbmFtYScsXG4gIFBHOiAnUGFwdWEgTmV3IEd1aW5lYScsXG4gIFBZOiAnUGFyYWd1YXknLFxuICBQRTogJ1BlcnUnLFxuICBQSDogJ1BoaWxpcHBpbmVzJyxcbiAgUE46ICdQaXRjYWlybicsXG4gIFBMOiAnUG9sYW5kJyxcbiAgUFQ6ICdQb3J0dWdhbCcsXG4gIFBSOiAnUHVlcnRvIFJpY28nLFxuICBRQTogJ1FhdGFyJyxcbiAgUkU6ICdSZXVuaW9uJyxcbiAgUk86ICdSb21hbmlhJyxcbiAgUlU6ICdSdXNzaWFuIEZlZGVyYXRpb24nLFxuICBSVzogJ1J3YW5kYScsXG4gIEJMOiAnU2FpbnQgQmFydGhlbGVteScsXG4gIFNIOiAnU2FpbnQgSGVsZW5hJyxcbiAgS046ICdTYWludCBLaXR0cyBBbmQgTmV2aXMnLFxuICBMQzogJ1NhaW50IEx1Y2lhJyxcbiAgTUY6ICdTYWludCBNYXJ0aW4nLFxuICBQTTogJ1NhaW50IFBpZXJyZSBBbmQgTWlxdWVsb24nLFxuICBWQzogJ1NhaW50IFZpbmNlbnQgQW5kIEdyZW5hZGluZXMnLFxuICBXUzogJ1NhbW9hJyxcbiAgU006ICdTYW4gTWFyaW5vJyxcbiAgU1Q6ICdTYW8gVG9tZSBBbmQgUHJpbmNpcGUnLFxuICBTQTogJ1NhdWRpIEFyYWJpYScsXG4gIFNOOiAnU2VuZWdhbCcsXG4gIFJTOiAnU2VyYmlhJyxcbiAgU0M6ICdTZXljaGVsbGVzJyxcbiAgU0w6ICdTaWVycmEgTGVvbmUnLFxuICBTRzogJ1NpbmdhcG9yZScsXG4gIFNLOiAnU2xvdmFraWEnLFxuICBTSTogJ1Nsb3ZlbmlhJyxcbiAgU0I6ICdTb2xvbW9uIElzbGFuZHMnLFxuICBTTzogJ1NvbWFsaWEnLFxuICBaQTogJ1NvdXRoIEFmcmljYScsXG4gIEdTOiAnU291dGggR2VvcmdpYSBBbmQgU2FuZHdpY2ggSXNsLicsXG4gIEVTOiAnU3BhaW4nLFxuICBMSzogJ1NyaSBMYW5rYScsXG4gIFNEOiAnU3VkYW4nLFxuICBTUjogJ1N1cmluYW1lJyxcbiAgU0o6ICdTdmFsYmFyZCBBbmQgSmFuIE1heWVuJyxcbiAgU1o6ICdTd2F6aWxhbmQnLFxuICBTRTogJ1N3ZWRlbicsXG4gIENIOiAnU3dpdHplcmxhbmQnLFxuICBTWTogJ1N5cmlhbiBBcmFiIFJlcHVibGljJyxcbiAgVFc6ICdUYWl3YW4nLFxuICBUSjogJ1RhamlraXN0YW4nLFxuICBUWjogJ1RhbnphbmlhJyxcbiAgVEg6ICdUaGFpbGFuZCcsXG4gIFRMOiAnVGltb3ItTGVzdGUnLFxuICBURzogJ1RvZ28nLFxuICBUSzogJ1Rva2VsYXUnLFxuICBUTzogJ1RvbmdhJyxcbiAgVFQ6ICdUcmluaWRhZCBBbmQgVG9iYWdvJyxcbiAgVE46ICdUdW5pc2lhJyxcbiAgVFI6ICdUdXJrZXknLFxuICBUTTogJ1R1cmttZW5pc3RhbicsXG4gIFRDOiAnVHVya3MgQW5kIENhaWNvcyBJc2xhbmRzJyxcbiAgVFY6ICdUdXZhbHUnLFxuICBVRzogJ1VnYW5kYScsXG4gIFVBOiAnVWtyYWluZScsXG4gIEFFOiAnVW5pdGVkIEFyYWIgRW1pcmF0ZXMnLFxuICBHQjogJ1VuaXRlZCBLaW5nZG9tJyxcbiAgVVM6ICdVbml0ZWQgU3RhdGVzJyxcbiAgVU06ICdVbml0ZWQgU3RhdGVzIE91dGx5aW5nIElzbGFuZHMnLFxuICBVWTogJ1VydWd1YXknLFxuICBVWjogJ1V6YmVraXN0YW4nLFxuICBWVTogJ1ZhbnVhdHUnLFxuICBWRTogJ1ZlbmV6dWVsYScsXG4gIFZOOiAnVmlldCBOYW0nLFxuICBWRzogJ1ZpcmdpbiBJc2xhbmRzLCBCcml0aXNoJyxcbiAgVkk6ICdWaXJnaW4gSXNsYW5kcywgVS5TLicsXG4gIFdGOiAnV2FsbGlzIEFuZCBGdXR1bmEnLFxuICBFSDogJ1dlc3Rlcm4gU2FoYXJhJyxcbiAgWUU6ICdZZW1lbicsXG4gIFpNOiAnWmFtYmlhJyxcbiAgWlc6ICdaaW1iYWJ3ZScsXG59O1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0Q291bnRyeU5hbWUoY291bnRyeUNvZGU6IGFueSkge1xuICBpZiAoaXNvQ291bnRyaWVzLmhhc093blByb3BlcnR5KGNvdW50cnlDb2RlKSkge1xuICAgIHJldHVybiBpc29Db3VudHJpZXNbY291bnRyeUNvZGVdO1xuICB9IGVsc2Uge1xuICAgIHJldHVybiBjb3VudHJ5Q29kZTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gY2xlYW5UYWdJZHMocmF3OiBhbnlbXSkge1xuICByZXR1cm4gcmF3Lm1hcChpZCA9PiBpZC50cmltKCkpICAgICAgICAgICAgLy8gVHJpbSBlYWNoIElEIGVudHJ5IHRvIHJlbW92ZSB3aGl0ZXNwYWNlXG4gICAgLmZpbHRlcihpZCA9PiAvXlxcZCskLy50ZXN0KGlkKSkgIC8vIFVzZSBhIHJlZ3VsYXIgZXhwcmVzc2lvbiB0byBlbnN1cmUgdGhlIElEIGlzIGVudGlyZWx5IG51bWVyaWMuXG4gICAgLm1hcChpZCA9PiBOdW1iZXIoaWQpKTsgICAgICAgICAgLy8gQ29udmVydCB0aGUgcmVtYWluaW5nLCB2YWxpZCBJRCBlbnRyaWVzIGludG8gbnVtYmVyc1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0TWVyY2hpU291cmNlSm9iVGFncygpOiBhbnlbXSB7XG4gIGlmICh0eXBlb2YgbG9jYWxTdG9yYWdlICE9PSAndW5kZWZpbmVkJyAmJiBsb2NhbFN0b3JhZ2UgIT09IG51bGwpIHtcbiAgICBjb25zdCBtZXJjaGlTb3VyY2UgPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgnbWVyY2hpX3NvdXJjZScpO1xuXG4gICAgaWYgKG1lcmNoaVNvdXJjZSkge1xuICAgICAgY29uc3QgaWRzID0gY2xlYW5UYWdJZHMobWVyY2hpU291cmNlLnNwbGl0KCcsJykpO1xuICAgICAgcmV0dXJuIGlkcy5tYXAoKGlkOiBudW1iZXIpID0+ICh7IGlkIH0pKTtcbiAgICB9XG4gICAgLy8gSWYgXCJtZXJjaGlfc291cmNlXCIgaXMgbm90IGZvdW5kIGluIGxvY2FsU3RvcmFnZSwgcmV0dXJuIGFuIGVtcHR5IGFycmF5LlxuICAgIHJldHVybiBbXTtcbiAgfVxuICByZXR1cm4gW107XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzb3J0QnlQb3NpdGlvbihvcHRpb25zOiBhbnlbXSk6IGFueVtdIHtcbiAgcmV0dXJuIG9wdGlvbnMubWFwKChvYmo6IGFueSkgPT4ge1xuICAgIGNvbnN0IHBvc2l0aW9uID0gdHlwZW9mIG9iai5wb3NpdGlvbiA9PT0gJ3N0cmluZydcbiAgICAgID8gcGFyc2VJbnQob2JqLnBvc2l0aW9uLCAxMClcbiAgICAgIDogb2JqLnBvc2l0aW9uO1xuICAgIHJldHVybiB7XG4gICAgICAuLi5vYmosXG4gICAgICBwb3NpdGlvbjogdHlwZW9mIHBvc2l0aW9uID09PSAnbnVtYmVyJyA/IHBvc2l0aW9uIDogMCxcbiAgICB9O1xuICB9KS5zb3J0KChhLCBiKSA9PiB7XG4gICAgY29uc3QgYVBvc2l0aW9uID0gdHlwZW9mIGEucG9zaXRpb24gPT09ICdudW1iZXInID8gYS5wb3NpdGlvbiA6IDA7XG4gICAgY29uc3QgYlBvc2l0aW9uID0gdHlwZW9mIGIucG9zaXRpb24gPT09ICdudW1iZXInID8gYi5wb3NpdGlvbiA6IDA7XG4gICAgcmV0dXJuIGFQb3NpdGlvbiAtIGJQb3NpdGlvbjtcbiAgfSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjbGVhbkpvYlZhcmlhdGlvbnNBbmRHcm91cHMoam9iSnNvbjogYW55KSB7XG4gIGNvbnN0IHsgdmFyaWF0aW9ucywgdmFyaWF0aW9uc0dyb3VwcyB9ID0gam9iSnNvbjtcbiAgY29uc3QgaGFzR3JvdXBzID0gQm9vbGVhbih2YXJpYXRpb25zR3JvdXBzICYmIHZhcmlhdGlvbnNHcm91cHMubGVuZ3RoKTtcbiAgY29uc3QgaGFzVmFyaWF0aW9ucyA9IEJvb2xlYW4odmFyaWF0aW9ucyAmJiB2YXJpYXRpb25zLmxlbmd0aCk7XG4gIFxuICAvLyBMb29wIG92ZXIgaW5kaXZpZHVhbCB2YXJpYXRpb25zIGFuZCBjaGVjayBpZiB0aGUgdmFyaWF0aW9uIGlzIGEganNvbiBzdHJpbmcsIGlmIGl0IGlzIGNvbnZlcnQgaXQgdG8gYW4gb2JqZWN0XG4gIGlmIChoYXNWYXJpYXRpb25zKSB7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCB2YXJpYXRpb25zLmxlbmd0aDsgaSsrKSB7XG4gICAgICB2YXJpYXRpb25zW2ldID0gY2xlYW5Gb3JtVmFyaWF0aW9uSnNvbih2YXJpYXRpb25zW2ldKTtcbiAgICB9XG4gICAgam9iSnNvbi52YXJpYXRpb25zID0gdmFyaWF0aW9ucztcbiAgfVxuICBcbiAgaWYgKGhhc0dyb3Vwcykge1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdmFyaWF0aW9uc0dyb3Vwcy5sZW5ndGg7IGkrKykge1xuICAgICAgLy8gU2V0IGRlZmF1bHQgcXVhbnRpdHkgaWYgbm90IHByZXNlbnRcbiAgICAgIGNvbnN0IGdyb3VwID0gdmFyaWF0aW9uc0dyb3Vwc1tpXTtcbiAgICAgIGlmICghZ3JvdXAucXVhbnRpdHkpIHtcbiAgICAgICAgZ3JvdXAucXVhbnRpdHkgPSAwO1xuICAgICAgfVxuICAgICAgXG4gICAgICAvLyBIYW5kbGUgdmFyaWF0aW9ucyB3aXRoaW4gdGhlIGdyb3VwIC0gY29udmVydCBKU09OIHN0cmluZ3MgdG8gb2JqZWN0c1xuICAgICAgaWYgKGdyb3VwLnZhcmlhdGlvbnMgJiYgQXJyYXkuaXNBcnJheShncm91cC52YXJpYXRpb25zKSkge1xuICAgICAgICBmb3IgKGxldCBqID0gMDsgaiA8IGdyb3VwLnZhcmlhdGlvbnMubGVuZ3RoOyBqKyspIHtcbiAgICAgICAgICBncm91cC52YXJpYXRpb25zW2pdID0gY2xlYW5Gb3JtVmFyaWF0aW9uSnNvbihncm91cC52YXJpYXRpb25zW2pdKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBqb2JKc29uLnZhcmlhdGlvbnNHcm91cHMgPSB2YXJpYXRpb25zR3Jv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
package/lib/index.d.ts CHANGED
@@ -35,7 +35,8 @@ import ButtonProductSubmit from './components/buttons/ButtonProductSubmit';
35
35
  import { isProductLeadForm, isProductSupplierMOD } from './components/utils';
36
36
  import { needsProductLevelQuantity, productHasGroupRows, productHasGroups } from './utils/products';
37
37
  import { sanitizeProductVariationFields } from './utils/variationFields';
38
- export { AlertVariationSellerEditable, DynamicVariationInput, DraftApprovePanel, ProductDraftsCta, ProductDraftsHost, FormLead, InputHiddenStatic, InputProductQuantity, MerchiProductFormProvider, ProductButtonsSubmit, ProductFeatureDeadline, productFeatureImageUrl, PriceMatrix, ProductGroupBuyStatus, ProductPriceMatrix, ProductTitle, ProductTotalCost, VariationCheckBoxOrRadioOption, useMerchiFormContext, VariationCheckbox, VariationError, VariationFieldInstructions, VariationFieldNameAndCostInputs, VariationFieldOptionDefaultInputs, VariationFileInput, VariationLabel, VariationFieldStaticValues, VariationInputCoulourPicker, VariationInputText, VariationInputNumber, VariationInputTextarea, VariationRadio, VariationSelect, VariationSelectColour, VariationSelectImage, Variations, VariationsGroups, TooltipElement, ButtonProductSubmit, isProductLeadForm, isProductSupplierMOD, needsProductLevelQuantity, productAllowsClientDesign, productHasDraftTemplates, productHasGroupRows, productHasGroups, sanitizeProductVariationFields, };
38
+ import { useLinkedProductImage } from './useLinkedProductImage';
39
+ export { AlertVariationSellerEditable, DynamicVariationInput, DraftApprovePanel, ProductDraftsCta, ProductDraftsHost, FormLead, InputHiddenStatic, InputProductQuantity, MerchiProductFormProvider, ProductButtonsSubmit, ProductFeatureDeadline, productFeatureImageUrl, PriceMatrix, ProductGroupBuyStatus, ProductPriceMatrix, ProductTitle, ProductTotalCost, VariationCheckBoxOrRadioOption, useMerchiFormContext, useLinkedProductImage, VariationCheckbox, VariationError, VariationFieldInstructions, VariationFieldNameAndCostInputs, VariationFieldOptionDefaultInputs, VariationFileInput, VariationLabel, VariationFieldStaticValues, VariationInputCoulourPicker, VariationInputText, VariationInputNumber, VariationInputTextarea, VariationRadio, VariationSelect, VariationSelectColour, VariationSelectImage, Variations, VariationsGroups, TooltipElement, ButtonProductSubmit, isProductLeadForm, isProductSupplierMOD, needsProductLevelQuantity, productAllowsClientDesign, productHasDraftTemplates, productHasGroupRows, productHasGroups, sanitizeProductVariationFields, };
39
40
  export type { PriceMatrixProps } from './components/PriceMatrix';
40
41
  export type { PriceMatrixBand, PriceMatrixCell, PriceMatrixData, } from './utils/priceMatrix';
41
42
  export { activeBandIndex, pricingRulesFromProduct, resolvePriceMatrix, } from './utils/priceMatrix';
package/lib/index.js CHANGED
@@ -35,7 +35,8 @@ import ButtonProductSubmit from './components/buttons/ButtonProductSubmit';
35
35
  import { isProductLeadForm, isProductSupplierMOD } from './components/utils';
36
36
  import { needsProductLevelQuantity, productHasGroupRows, productHasGroups } from './utils/products';
37
37
  import { sanitizeProductVariationFields } from './utils/variationFields';
38
- export { AlertVariationSellerEditable, DynamicVariationInput, DraftApprovePanel, ProductDraftsCta, ProductDraftsHost, FormLead, InputHiddenStatic, InputProductQuantity, MerchiProductFormProvider, ProductButtonsSubmit, ProductFeatureDeadline, productFeatureImageUrl, PriceMatrix, ProductGroupBuyStatus, ProductPriceMatrix, ProductTitle, ProductTotalCost, VariationCheckBoxOrRadioOption, useMerchiFormContext, VariationCheckbox, VariationError, VariationFieldInstructions, VariationFieldNameAndCostInputs, VariationFieldOptionDefaultInputs, VariationFileInput, VariationLabel, VariationFieldStaticValues, VariationInputCoulourPicker, VariationInputText, VariationInputNumber, VariationInputTextarea, VariationRadio, VariationSelect, VariationSelectColour, VariationSelectImage, Variations, VariationsGroups, TooltipElement, ButtonProductSubmit, isProductLeadForm, isProductSupplierMOD, needsProductLevelQuantity, productAllowsClientDesign, productHasDraftTemplates, productHasGroupRows, productHasGroups, sanitizeProductVariationFields };
38
+ import { useLinkedProductImage } from './useLinkedProductImage';
39
+ export { AlertVariationSellerEditable, DynamicVariationInput, DraftApprovePanel, ProductDraftsCta, ProductDraftsHost, FormLead, InputHiddenStatic, InputProductQuantity, MerchiProductFormProvider, ProductButtonsSubmit, ProductFeatureDeadline, productFeatureImageUrl, PriceMatrix, ProductGroupBuyStatus, ProductPriceMatrix, ProductTitle, ProductTotalCost, VariationCheckBoxOrRadioOption, useMerchiFormContext, useLinkedProductImage, VariationCheckbox, VariationError, VariationFieldInstructions, VariationFieldNameAndCostInputs, VariationFieldOptionDefaultInputs, VariationFileInput, VariationLabel, VariationFieldStaticValues, VariationInputCoulourPicker, VariationInputText, VariationInputNumber, VariationInputTextarea, VariationRadio, VariationSelect, VariationSelectColour, VariationSelectImage, Variations, VariationsGroups, TooltipElement, ButtonProductSubmit, isProductLeadForm, isProductSupplierMOD, needsProductLevelQuantity, productAllowsClientDesign, productHasDraftTemplates, productHasGroupRows, productHasGroups, sanitizeProductVariationFields };
39
40
  export { activeBandIndex, pricingRulesFromProduct, resolvePriceMatrix } from './utils/priceMatrix';
40
41
  export default MerchiProductForm;
41
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJBbGVydFZhcmlhdGlvblNlbGxlckVkaXRhYmxlIiwiRHluYW1pY1ZhcmlhdGlvbklucHV0IiwiRm9ybUxlYWQiLCJJbnB1dEhpZGRlblN0YXRpYyIsIklucHV0UHJvZHVjdFF1YW50aXR5IiwiTWVyY2hpUHJvZHVjdEZvcm0iLCJQcm9kdWN0QnV0dG9uc1N1Ym1pdCIsIlByb2R1Y3RGZWF0dXJlRGVhZGxpbmUiLCJQcm9kdWN0R3JvdXBCdXlTdGF0dXMiLCJQcmljZU1hdHJpeCIsIlByb2R1Y3RQcmljZU1hdHJpeCIsIlByb2R1Y3RUb3RhbENvc3QiLCJQcm9kdWN0VGl0bGUiLCJwcm9kdWN0RmVhdHVyZUltYWdlVXJsIiwiVmFyaWF0aW9uQ2hlY2tCb3hPclJhZGlvT3B0aW9uIiwiTWVyY2hpUHJvZHVjdEZvcm1Qcm92aWRlciIsInVzZU1lcmNoaUZvcm1Db250ZXh0IiwiVmFyaWF0aW9uQ2hlY2tib3giLCJWYXJpYXRpb25SYWRpbyIsIlZhcmlhdGlvbkVycm9yIiwiVmFyaWF0aW9uRmllbGRJbnN0cnVjdGlvbnMiLCJWYXJpYXRpb25GaWVsZE5hbWVBbmRDb3N0SW5wdXRzIiwiVmFyaWF0aW9uRmllbGRPcHRpb25EZWZhdWx0SW5wdXRzIiwiVmFyaWF0aW9uRmlsZUlucHV0IiwiVmFyaWF0aW9uTGFiZWwiLCJWYXJpYXRpb25GaWVsZFN0YXRpY1ZhbHVlcyIsIlZhcmlhdGlvbklucHV0Q291bG91clBpY2tlciIsIlZhcmlhdGlvbklucHV0VGV4dCIsIlZhcmlhdGlvbklucHV0TnVtYmVyIiwiVmFyaWF0aW9uSW5wdXRUZXh0YXJlYSIsIlZhcmlhdGlvblNlbGVjdCIsIlRvb2x0aXBFbGVtZW50IiwiVmFyaWF0aW9uU2VsZWN0Q29sb3VyIiwiVmFyaWF0aW9uU2VsZWN0SW1hZ2UiLCJWYXJpYXRpb25zIiwiVmFyaWF0aW9uc0dyb3VwcyIsIkRyYWZ0QXBwcm92ZVBhbmVsIiwiUHJvZHVjdERyYWZ0c0hvc3QiLCJQcm9kdWN0RHJhZnRzQ3RhIiwicHJvZHVjdEFsbG93c0NsaWVudERlc2lnbiIsInByb2R1Y3RIYXNEcmFmdFRlbXBsYXRlcyIsIkJ1dHRvblByb2R1Y3RTdWJtaXQiLCJpc1Byb2R1Y3RMZWFkRm9ybSIsImlzUHJvZHVjdFN1cHBsaWVyTU9EIiwibmVlZHNQcm9kdWN0TGV2ZWxRdWFudGl0eSIsInByb2R1Y3RIYXNHcm91cFJvd3MiLCJwcm9kdWN0SGFzR3JvdXBzIiwic2FuaXRpemVQcm9kdWN0VmFyaWF0aW9uRmllbGRzIiwiYWN0aXZlQmFuZEluZGV4IiwicHJpY2luZ1J1bGVzRnJvbVByb2R1Y3QiLCJyZXNvbHZlUHJpY2VNYXRyaXgiXSwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBBbGVydFZhcmlhdGlvblNlbGxlckVkaXRhYmxlIGZyb20gJy4vY29tcG9uZW50cy9BbGVydFZhcmlhdGlvblNlbGxlckVkaXRhYmxlJztcbmltcG9ydCBEeW5hbWljVmFyaWF0aW9uSW5wdXQgZnJvbSAnLi9jb21wb25lbnRzL0R5bmFtaWNWYXJpYXRpb25JbnB1dCc7XG5pbXBvcnQgRm9ybUxlYWQgZnJvbSAnLi9jb21wb25lbnRzL0Zvcm1MZWFkJztcbmltcG9ydCBJbnB1dEhpZGRlblN0YXRpYyBmcm9tICcuL2NvbXBvbmVudHMvSW5wdXRIaWRkZW5TdGF0aWMnO1xuaW1wb3J0IElucHV0UHJvZHVjdFF1YW50aXR5IGZyb20gJy4vY29tcG9uZW50cy9JbnB1dFByb2R1Y3RRdWFudGl0eSc7XG5pbXBvcnQgTWVyY2hpUHJvZHVjdEZvcm0gZnJvbSAnLi9jb21wb25lbnRzL01lcmNoaVByb2R1Y3RGb3JtJztcbmltcG9ydCBQcm9kdWN0QnV0dG9uc1N1Ym1pdCBmcm9tICcuL2NvbXBvbmVudHMvUHJvZHVjdEJ1dHRvbnNTdWJtaXQnO1xuaW1wb3J0IFByb2R1Y3RGZWF0dXJlRGVhZGxpbmUgZnJvbSAnLi9jb21wb25lbnRzL1Byb2R1Y3RGZWF0dXJlRGVhZGxpbmUnO1xuaW1wb3J0IFByb2R1Y3RHcm91cEJ1eVN0YXR1cyBmcm9tICcuL2NvbXBvbmVudHMvUHJvZHVjdEdyb3VwQnV5U3RhdHVzJztcbmltcG9ydCBQcmljZU1hdHJpeCBmcm9tICcuL2NvbXBvbmVudHMvUHJpY2VNYXRyaXgnO1xuaW1wb3J0IFByb2R1Y3RQcmljZU1hdHJpeCBmcm9tICcuL2NvbXBvbmVudHMvUHJvZHVjdFByaWNlTWF0cml4JztcbmltcG9ydCBQcm9kdWN0VG90YWxDb3N0IGZyb20gJy4vY29tcG9uZW50cy9Qcm9kdWN0VG90YWxDb3N0JztcbmltcG9ydCBQcm9kdWN0VGl0bGUgZnJvbSAnLi9jb21wb25lbnRzL1Byb2R1Y3RUaXRsZSc7XG5pbXBvcnQgeyBwcm9kdWN0RmVhdHVyZUltYWdlVXJsIH0gZnJvbSAnLi91dGlscy9wcm9kdWN0cyc7XG5pbXBvcnQgVmFyaWF0aW9uQ2hlY2tCb3hPclJhZGlvT3B0aW9uIGZyb20gJy4vY29tcG9uZW50cy9WYXJpYXRpb25DaGVja0JveE9yUmFkaW9PcHRpb24nO1xuaW1wb3J0IHtcbiAgTWVyY2hpUHJvZHVjdEZvcm1Qcm92aWRlcixcbiAgdXNlTWVyY2hpRm9ybUNvbnRleHQsXG59IGZyb20gXCIuL2NvbnRleHQvTWVyY2hpUHJvZHVjdEZvcm1Qcm92aWRlclwiO1xuaW1wb3J0IHtcbiAgVmFyaWF0aW9uQ2hlY2tib3gsXG4gIFZhcmlhdGlvblJhZGlvLFxufSBmcm9tICcuL2NvbXBvbmVudHMvVmFyaWF0aW9uQ2hlY2tib3hSYWRpbyc7XG5pbXBvcnQgVmFyaWF0aW9uRXJyb3IgZnJvbSAnLi9jb21wb25lbnRzL1ZhcmlhdGlvbkVycm9yJztcbmltcG9ydCBWYXJpYXRpb25GaWVsZEluc3RydWN0aW9ucyBmcm9tICcuL2NvbXBvbmVudHMvVmFyaWF0aW9uRmllbGRJbnN0cnVjdGlvbnMnO1xuaW1wb3J0IFZhcmlhdGlvbkZpZWxkTmFtZUFuZENvc3RJbnB1dHMgZnJvbSAnLi9jb21wb25lbnRzL1ZhcmlhdGlvbkZpZWxkTmFtZUFuZENvc3RJbnB1dHMnO1xuaW1wb3J0IFZhcmlhdGlvbkZpZWxkT3B0aW9uRGVmYXVsdElucHV0cyBmcm9tICcuL2NvbXBvbmVudHMvVmFyaWF0aW9uRmllbGRPcHRpb25EZWZhdWx0SW5wdXRzJztcbmltcG9ydCBWYXJpYXRpb25GaWxlSW5wdXQgZnJvbSAnLi9jb21wb25lbnRzL1ZhcmlhdGlvbkZpbGVJbnB1dCc7XG5pbXBvcnQgVmFyaWF0aW9uTGFiZWwgZnJvbSAnLi9jb21wb25lbnRzL1ZhcmlhdGlvbkxhYmVsJztcbmltcG9ydCBWYXJpYXRpb25GaWVsZFN0YXRpY1ZhbHVlcyBmcm9tICcuL2NvbXBvbmVudHMvVmFyaWF0aW9uRmllbGRTdGF0aWNWYWx1ZXMnO1xuaW1wb3J0IHtcbiAgVmFyaWF0aW9uSW5wdXRDb3Vsb3VyUGlja2VyLFxuICBWYXJpYXRpb25JbnB1dFRleHQsXG4gIFZhcmlhdGlvbklucHV0TnVtYmVyLFxuICBWYXJpYXRpb25JbnB1dFRleHRhcmVhXG59IGZyb20gJy4vY29tcG9uZW50cy9WYXJpYXRpb25JbnB1dCc7XG5pbXBvcnQgVmFyaWF0aW9uU2VsZWN0IGZyb20gJy4vY29tcG9uZW50cy9WYXJpYXRpb25TZWxlY3QnO1xuaW1wb3J0IFRvb2x0aXBFbGVtZW50IGZyb20gJy4vY29tcG9uZW50cy9Ub29sdGlwRWxlbWVudCc7XG5pbXBvcnQge1xuICBWYXJpYXRpb25TZWxlY3RDb2xvdXIsXG4gIFZhcmlhdGlvblNlbGVjdEltYWdlLFxufSBmcm9tICcuL2NvbXBvbmVudHMvVmFyaWF0aW9uU2VsZWN0RWxlbWVudHMnO1xuaW1wb3J0IFZhcmlhdGlvbnMgZnJvbSAnLi9jb21wb25lbnRzL1ZhcmlhdGlvbnMnO1xuaW1wb3J0IFZhcmlhdGlvbnNHcm91cHMgZnJvbSAnLi9jb21wb25lbnRzL1ZhcmlhdGlvbnNHcm91cHMnO1xuXG5pbXBvcnQgRHJhZnRBcHByb3ZlUGFuZWwgZnJvbSAnLi9jb21wb25lbnRzL2RyYWZ0cy9EcmFmdEFwcHJvdmVQYW5lbCc7XG5pbXBvcnQgUHJvZHVjdERyYWZ0c0hvc3QsIHtcbiAgUHJvZHVjdERyYWZ0c0N0YSxcbn0gZnJvbSAnLi9jb21wb25lbnRzL2RyYWZ0cy9Qcm9kdWN0RHJhZnRzSG9zdCc7XG5pbXBvcnQge1xuICBwcm9kdWN0QWxsb3dzQ2xpZW50RGVzaWduLFxuICBwcm9kdWN0SGFzRHJhZnRUZW1wbGF0ZXMsXG59IGZyb20gJy4vdXRpbHMvZHJhZnRUZW1wbGF0ZXMnO1xuaW1wb3J0IEJ1dHRvblByb2R1Y3RTdWJtaXQgZnJvbSAnLi9jb21wb25lbnRzL2J1dHRvbnMvQnV0dG9uUHJvZHVjdFN1Ym1pdCc7XG5pbXBvcnQgeyBpc1Byb2R1Y3RMZWFkRm9ybSwgaXNQcm9kdWN0U3VwcGxpZXJNT0QgfSBmcm9tICcuL2NvbXBvbmVudHMvdXRpbHMnO1xuaW1wb3J0IHtcbiAgbmVlZHNQcm9kdWN0TGV2ZWxRdWFudGl0eSxcbiAgcHJvZHVjdEhhc0dyb3VwUm93cyxcbiAgcHJvZHVjdEhhc0dyb3Vwcyxcbn0gZnJvbSAnLi91dGlscy9wcm9kdWN0cyc7XG5pbXBvcnQgeyBzYW5pdGl6ZVByb2R1Y3RWYXJpYXRpb25GaWVsZHMgfSBmcm9tICcuL3V0aWxzL3ZhcmlhdGlvbkZpZWxkcyc7XG5cblxuZXhwb3J0IHtcbiAgQWxlcnRWYXJpYXRpb25TZWxsZXJFZGl0YWJsZSxcbiAgRHluYW1pY1ZhcmlhdGlvbklucHV0LFxuICBEcmFmdEFwcHJvdmVQYW5lbCxcbiAgUHJvZHVjdERyYWZ0c0N0YSxcbiAgUHJvZHVjdERyYWZ0c0hvc3QsXG4gIEZvcm1MZWFkLFxuICBJbnB1dEhpZGRlblN0YXRpYyxcbiAgSW5wdXRQcm9kdWN0UXVhbnRpdHksXG4gIE1lcmNoaVByb2R1Y3RGb3JtUHJvdmlkZXIsXG4gIFByb2R1Y3RCdXR0b25zU3VibWl0LFxuICBQcm9kdWN0RmVhdHVyZURlYWRsaW5lLFxuICBwcm9kdWN0RmVhdHVyZUltYWdlVXJsLFxuICBQcmljZU1hdHJpeCxcbiAgUHJvZHVjdEdyb3VwQnV5U3RhdHVzLFxuICBQcm9kdWN0UHJpY2VNYXRyaXgsXG4gIFByb2R1Y3RUaXRsZSxcbiAgUHJvZHVjdFRvdGFsQ29zdCxcbiAgVmFyaWF0aW9uQ2hlY2tCb3hPclJhZGlvT3B0aW9uLFxuICB1c2VNZXJjaGlGb3JtQ29udGV4dCxcbiAgVmFyaWF0aW9uQ2hlY2tib3gsXG4gIFZhcmlhdGlvbkVycm9yLFxuICBWYXJpYXRpb25GaWVsZEluc3RydWN0aW9ucyxcbiAgVmFyaWF0aW9uRmllbGROYW1lQW5kQ29zdElucHV0cyxcbiAgVmFyaWF0aW9uRmllbGRPcHRpb25EZWZhdWx0SW5wdXRzLFxuICBWYXJpYXRpb25GaWxlSW5wdXQsXG4gIFZhcmlhdGlvbkxhYmVsLFxuICBWYXJpYXRpb25GaWVsZFN0YXRpY1ZhbHVlcyxcbiAgVmFyaWF0aW9uSW5wdXRDb3Vsb3VyUGlja2VyLFxuICBWYXJpYXRpb25JbnB1dFRleHQsXG4gIFZhcmlhdGlvbklucHV0TnVtYmVyLFxuICBWYXJpYXRpb25JbnB1dFRleHRhcmVhLFxuICBWYXJpYXRpb25SYWRpbyxcbiAgVmFyaWF0aW9uU2VsZWN0LFxuICBWYXJpYXRpb25TZWxlY3RDb2xvdXIsXG4gIFZhcmlhdGlvblNlbGVjdEltYWdlLFxuICBWYXJpYXRpb25zLFxuICBWYXJpYXRpb25zR3JvdXBzLFxuICBUb29sdGlwRWxlbWVudCxcbiAgQnV0dG9uUHJvZHVjdFN1Ym1pdCxcbiAgaXNQcm9kdWN0TGVhZEZvcm0sXG4gIGlzUHJvZHVjdFN1cHBsaWVyTU9ELFxuICBuZWVkc1Byb2R1Y3RMZXZlbFF1YW50aXR5LFxuICBwcm9kdWN0QWxsb3dzQ2xpZW50RGVzaWduLFxuICBwcm9kdWN0SGFzRHJhZnRUZW1wbGF0ZXMsXG4gIHByb2R1Y3RIYXNHcm91cFJvd3MsXG4gIHByb2R1Y3RIYXNHcm91cHMsXG4gIHNhbml0aXplUHJvZHVjdFZhcmlhdGlvbkZpZWxkcyxcbn07XG5cbmV4cG9ydCB0eXBlIHsgUHJpY2VNYXRyaXhQcm9wcyB9IGZyb20gJy4vY29tcG9uZW50cy9QcmljZU1hdHJpeCc7XG5leHBvcnQgdHlwZSB7XG4gIFByaWNlTWF0cml4QmFuZCxcbiAgUHJpY2VNYXRyaXhDZWxsLFxuICBQcmljZU1hdHJpeERhdGEsXG59IGZyb20gJy4vdXRpbHMvcHJpY2VNYXRyaXgnO1xuZXhwb3J0IHtcbiAgYWN0aXZlQmFuZEluZGV4LFxuICBwcmljaW5nUnVsZXNGcm9tUHJvZHVjdCxcbiAgcmVzb2x2ZVByaWNlTWF0cml4LFxufSBmcm9tICcuL3V0aWxzL3ByaWNlTWF0cml4JztcblxuZXhwb3J0IGRlZmF1bHQgTWVyY2hpUHJvZHVjdEZvcm07XG4iXSwibWFwcGluZ3MiOiJBQUFBLE9BQU9BLDRCQUE0QixNQUFNLDJDQUEyQztBQUNwRixPQUFPQyxxQkFBcUIsTUFBTSxvQ0FBb0M7QUFDdEUsT0FBT0MsUUFBUSxNQUFNLHVCQUF1QjtBQUM1QyxPQUFPQyxpQkFBaUIsTUFBTSxnQ0FBZ0M7QUFDOUQsT0FBT0Msb0JBQW9CLE1BQU0sbUNBQW1DO0FBQ3BFLE9BQU9DLGlCQUFpQixNQUFNLGdDQUFnQztBQUM5RCxPQUFPQyxvQkFBb0IsTUFBTSxtQ0FBbUM7QUFDcEUsT0FBT0Msc0JBQXNCLE1BQU0scUNBQXFDO0FBQ3hFLE9BQU9DLHFCQUFxQixNQUFNLG9DQUFvQztBQUN0RSxPQUFPQyxXQUFXLE1BQU0sMEJBQTBCO0FBQ2xELE9BQU9DLGtCQUFrQixNQUFNLGlDQUFpQztBQUNoRSxPQUFPQyxnQkFBZ0IsTUFBTSwrQkFBK0I7QUFDNUQsT0FBT0MsWUFBWSxNQUFNLDJCQUEyQjtBQUNwRCxTQUFTQyxzQkFBc0IsUUFBUSxrQkFBa0I7QUFDekQsT0FBT0MsOEJBQThCLE1BQU0sNkNBQTZDO0FBQ3hGLFNBQ0VDLHlCQUF5QixFQUN6QkMsb0JBQW9CLFFBQ2YscUNBQXFDO0FBQzVDLFNBQ0VDLGlCQUFpQixFQUNqQkMsY0FBYyxRQUNULHFDQUFxQztBQUM1QyxPQUFPQyxjQUFjLE1BQU0sNkJBQTZCO0FBQ3hELE9BQU9DLDBCQUEwQixNQUFNLHlDQUF5QztBQUNoRixPQUFPQywrQkFBK0IsTUFBTSw4Q0FBOEM7QUFDMUYsT0FBT0MsaUNBQWlDLE1BQU0sZ0RBQWdEO0FBQzlGLE9BQU9DLGtCQUFrQixNQUFNLGlDQUFpQztBQUNoRSxPQUFPQyxjQUFjLE1BQU0sNkJBQTZCO0FBQ3hELE9BQU9DLDBCQUEwQixNQUFNLHlDQUF5QztBQUNoRixTQUNFQywyQkFBMkIsRUFDM0JDLGtCQUFrQixFQUNsQkMsb0JBQW9CLEVBQ3BCQyxzQkFBc0IsUUFDakIsNkJBQTZCO0FBQ3BDLE9BQU9DLGVBQWUsTUFBTSw4QkFBOEI7QUFDMUQsT0FBT0MsY0FBYyxNQUFNLDZCQUE2QjtBQUN4RCxTQUNFQyxxQkFBcUIsRUFDckJDLG9CQUFvQixRQUNmLHNDQUFzQztBQUM3QyxPQUFPQyxVQUFVLE1BQU0seUJBQXlCO0FBQ2hELE9BQU9DLGdCQUFnQixNQUFNLCtCQUErQjtBQUU1RCxPQUFPQyxpQkFBaUIsTUFBTSx1Q0FBdUM7QUFDckUsT0FBT0MsaUJBQWlCLElBQ3RCQyxnQkFBZ0IsUUFDWCx1Q0FBdUM7QUFDOUMsU0FDRUMseUJBQXlCLEVBQ3pCQyx3QkFBd0IsUUFDbkIsd0JBQXdCO0FBQy9CLE9BQU9DLG1CQUFtQixNQUFNLDBDQUEwQztBQUMxRSxTQUFTQyxpQkFBaUIsRUFBRUMsb0JBQW9CLFFBQVEsb0JBQW9CO0FBQzVFLFNBQ0VDLHlCQUF5QixFQUN6QkMsbUJBQW1CLEVBQ25CQyxnQkFBZ0IsUUFDWCxrQkFBa0I7QUFDekIsU0FBU0MsOEJBQThCLFFBQVEseUJBQXlCO0FBR3hFLFNBQ0UvQyw0QkFBNEIsRUFDNUJDLHFCQUFxQixFQUNyQm1DLGlCQUFpQixFQUNqQkUsZ0JBQWdCLEVBQ2hCRCxpQkFBaUIsRUFDakJuQyxRQUFRLEVBQ1JDLGlCQUFpQixFQUNqQkMsb0JBQW9CLEVBQ3BCVyx5QkFBeUIsRUFDekJULG9CQUFvQixFQUNwQkMsc0JBQXNCLEVBQ3RCTSxzQkFBc0IsRUFDdEJKLFdBQVcsRUFDWEQscUJBQXFCLEVBQ3JCRSxrQkFBa0IsRUFDbEJFLFlBQVksRUFDWkQsZ0JBQWdCLEVBQ2hCRyw4QkFBOEIsRUFDOUJFLG9CQUFvQixFQUNwQkMsaUJBQWlCLEVBQ2pCRSxjQUFjLEVBQ2RDLDBCQUEwQixFQUMxQkMsK0JBQStCLEVBQy9CQyxpQ0FBaUMsRUFDakNDLGtCQUFrQixFQUNsQkMsY0FBYyxFQUNkQywwQkFBMEIsRUFDMUJDLDJCQUEyQixFQUMzQkMsa0JBQWtCLEVBQ2xCQyxvQkFBb0IsRUFDcEJDLHNCQUFzQixFQUN0QlgsY0FBYyxFQUNkWSxlQUFlLEVBQ2ZFLHFCQUFxQixFQUNyQkMsb0JBQW9CLEVBQ3BCQyxVQUFVLEVBQ1ZDLGdCQUFnQixFQUNoQkosY0FBYyxFQUNkVSxtQkFBbUIsRUFDbkJDLGlCQUFpQixFQUNqQkMsb0JBQW9CLEVBQ3BCQyx5QkFBeUIsRUFDekJMLHlCQUF5QixFQUN6QkMsd0JBQXdCLEVBQ3hCSyxtQkFBbUIsRUFDbkJDLGdCQUFnQixFQUNoQkMsOEJBQThCO0FBU2hDLFNBQ0VDLGVBQWUsRUFDZkMsdUJBQXVCLEVBQ3ZCQyxrQkFBa0IsUUFDYixxQkFBcUI7QUFFNUIsZUFBZTdDLGlCQUFpQiIsImlnbm9yZUxpc3QiOltdfQ==
42
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJBbGVydFZhcmlhdGlvblNlbGxlckVkaXRhYmxlIiwiRHluYW1pY1ZhcmlhdGlvbklucHV0IiwiRm9ybUxlYWQiLCJJbnB1dEhpZGRlblN0YXRpYyIsIklucHV0UHJvZHVjdFF1YW50aXR5IiwiTWVyY2hpUHJvZHVjdEZvcm0iLCJQcm9kdWN0QnV0dG9uc1N1Ym1pdCIsIlByb2R1Y3RGZWF0dXJlRGVhZGxpbmUiLCJQcm9kdWN0R3JvdXBCdXlTdGF0dXMiLCJQcmljZU1hdHJpeCIsIlByb2R1Y3RQcmljZU1hdHJpeCIsIlByb2R1Y3RUb3RhbENvc3QiLCJQcm9kdWN0VGl0bGUiLCJwcm9kdWN0RmVhdHVyZUltYWdlVXJsIiwiVmFyaWF0aW9uQ2hlY2tCb3hPclJhZGlvT3B0aW9uIiwiTWVyY2hpUHJvZHVjdEZvcm1Qcm92aWRlciIsInVzZU1lcmNoaUZvcm1Db250ZXh0IiwiVmFyaWF0aW9uQ2hlY2tib3giLCJWYXJpYXRpb25SYWRpbyIsIlZhcmlhdGlvbkVycm9yIiwiVmFyaWF0aW9uRmllbGRJbnN0cnVjdGlvbnMiLCJWYXJpYXRpb25GaWVsZE5hbWVBbmRDb3N0SW5wdXRzIiwiVmFyaWF0aW9uRmllbGRPcHRpb25EZWZhdWx0SW5wdXRzIiwiVmFyaWF0aW9uRmlsZUlucHV0IiwiVmFyaWF0aW9uTGFiZWwiLCJWYXJpYXRpb25GaWVsZFN0YXRpY1ZhbHVlcyIsIlZhcmlhdGlvbklucHV0Q291bG91clBpY2tlciIsIlZhcmlhdGlvbklucHV0VGV4dCIsIlZhcmlhdGlvbklucHV0TnVtYmVyIiwiVmFyaWF0aW9uSW5wdXRUZXh0YXJlYSIsIlZhcmlhdGlvblNlbGVjdCIsIlRvb2x0aXBFbGVtZW50IiwiVmFyaWF0aW9uU2VsZWN0Q29sb3VyIiwiVmFyaWF0aW9uU2VsZWN0SW1hZ2UiLCJWYXJpYXRpb25zIiwiVmFyaWF0aW9uc0dyb3VwcyIsIkRyYWZ0QXBwcm92ZVBhbmVsIiwiUHJvZHVjdERyYWZ0c0hvc3QiLCJQcm9kdWN0RHJhZnRzQ3RhIiwicHJvZHVjdEFsbG93c0NsaWVudERlc2lnbiIsInByb2R1Y3RIYXNEcmFmdFRlbXBsYXRlcyIsIkJ1dHRvblByb2R1Y3RTdWJtaXQiLCJpc1Byb2R1Y3RMZWFkRm9ybSIsImlzUHJvZHVjdFN1cHBsaWVyTU9EIiwibmVlZHNQcm9kdWN0TGV2ZWxRdWFudGl0eSIsInByb2R1Y3RIYXNHcm91cFJvd3MiLCJwcm9kdWN0SGFzR3JvdXBzIiwic2FuaXRpemVQcm9kdWN0VmFyaWF0aW9uRmllbGRzIiwidXNlTGlua2VkUHJvZHVjdEltYWdlIiwiYWN0aXZlQmFuZEluZGV4IiwicHJpY2luZ1J1bGVzRnJvbVByb2R1Y3QiLCJyZXNvbHZlUHJpY2VNYXRyaXgiXSwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBBbGVydFZhcmlhdGlvblNlbGxlckVkaXRhYmxlIGZyb20gJy4vY29tcG9uZW50cy9BbGVydFZhcmlhdGlvblNlbGxlckVkaXRhYmxlJztcbmltcG9ydCBEeW5hbWljVmFyaWF0aW9uSW5wdXQgZnJvbSAnLi9jb21wb25lbnRzL0R5bmFtaWNWYXJpYXRpb25JbnB1dCc7XG5pbXBvcnQgRm9ybUxlYWQgZnJvbSAnLi9jb21wb25lbnRzL0Zvcm1MZWFkJztcbmltcG9ydCBJbnB1dEhpZGRlblN0YXRpYyBmcm9tICcuL2NvbXBvbmVudHMvSW5wdXRIaWRkZW5TdGF0aWMnO1xuaW1wb3J0IElucHV0UHJvZHVjdFF1YW50aXR5IGZyb20gJy4vY29tcG9uZW50cy9JbnB1dFByb2R1Y3RRdWFudGl0eSc7XG5pbXBvcnQgTWVyY2hpUHJvZHVjdEZvcm0gZnJvbSAnLi9jb21wb25lbnRzL01lcmNoaVByb2R1Y3RGb3JtJztcbmltcG9ydCBQcm9kdWN0QnV0dG9uc1N1Ym1pdCBmcm9tICcuL2NvbXBvbmVudHMvUHJvZHVjdEJ1dHRvbnNTdWJtaXQnO1xuaW1wb3J0IFByb2R1Y3RGZWF0dXJlRGVhZGxpbmUgZnJvbSAnLi9jb21wb25lbnRzL1Byb2R1Y3RGZWF0dXJlRGVhZGxpbmUnO1xuaW1wb3J0IFByb2R1Y3RHcm91cEJ1eVN0YXR1cyBmcm9tICcuL2NvbXBvbmVudHMvUHJvZHVjdEdyb3VwQnV5U3RhdHVzJztcbmltcG9ydCBQcmljZU1hdHJpeCBmcm9tICcuL2NvbXBvbmVudHMvUHJpY2VNYXRyaXgnO1xuaW1wb3J0IFByb2R1Y3RQcmljZU1hdHJpeCBmcm9tICcuL2NvbXBvbmVudHMvUHJvZHVjdFByaWNlTWF0cml4JztcbmltcG9ydCBQcm9kdWN0VG90YWxDb3N0IGZyb20gJy4vY29tcG9uZW50cy9Qcm9kdWN0VG90YWxDb3N0JztcbmltcG9ydCBQcm9kdWN0VGl0bGUgZnJvbSAnLi9jb21wb25lbnRzL1Byb2R1Y3RUaXRsZSc7XG5pbXBvcnQgeyBwcm9kdWN0RmVhdHVyZUltYWdlVXJsIH0gZnJvbSAnLi91dGlscy9wcm9kdWN0cyc7XG5pbXBvcnQgVmFyaWF0aW9uQ2hlY2tCb3hPclJhZGlvT3B0aW9uIGZyb20gJy4vY29tcG9uZW50cy9WYXJpYXRpb25DaGVja0JveE9yUmFkaW9PcHRpb24nO1xuaW1wb3J0IHtcbiAgTWVyY2hpUHJvZHVjdEZvcm1Qcm92aWRlcixcbiAgdXNlTWVyY2hpRm9ybUNvbnRleHQsXG59IGZyb20gXCIuL2NvbnRleHQvTWVyY2hpUHJvZHVjdEZvcm1Qcm92aWRlclwiO1xuaW1wb3J0IHtcbiAgVmFyaWF0aW9uQ2hlY2tib3gsXG4gIFZhcmlhdGlvblJhZGlvLFxufSBmcm9tICcuL2NvbXBvbmVudHMvVmFyaWF0aW9uQ2hlY2tib3hSYWRpbyc7XG5pbXBvcnQgVmFyaWF0aW9uRXJyb3IgZnJvbSAnLi9jb21wb25lbnRzL1ZhcmlhdGlvbkVycm9yJztcbmltcG9ydCBWYXJpYXRpb25GaWVsZEluc3RydWN0aW9ucyBmcm9tICcuL2NvbXBvbmVudHMvVmFyaWF0aW9uRmllbGRJbnN0cnVjdGlvbnMnO1xuaW1wb3J0IFZhcmlhdGlvbkZpZWxkTmFtZUFuZENvc3RJbnB1dHMgZnJvbSAnLi9jb21wb25lbnRzL1ZhcmlhdGlvbkZpZWxkTmFtZUFuZENvc3RJbnB1dHMnO1xuaW1wb3J0IFZhcmlhdGlvbkZpZWxkT3B0aW9uRGVmYXVsdElucHV0cyBmcm9tICcuL2NvbXBvbmVudHMvVmFyaWF0aW9uRmllbGRPcHRpb25EZWZhdWx0SW5wdXRzJztcbmltcG9ydCBWYXJpYXRpb25GaWxlSW5wdXQgZnJvbSAnLi9jb21wb25lbnRzL1ZhcmlhdGlvbkZpbGVJbnB1dCc7XG5pbXBvcnQgVmFyaWF0aW9uTGFiZWwgZnJvbSAnLi9jb21wb25lbnRzL1ZhcmlhdGlvbkxhYmVsJztcbmltcG9ydCBWYXJpYXRpb25GaWVsZFN0YXRpY1ZhbHVlcyBmcm9tICcuL2NvbXBvbmVudHMvVmFyaWF0aW9uRmllbGRTdGF0aWNWYWx1ZXMnO1xuaW1wb3J0IHtcbiAgVmFyaWF0aW9uSW5wdXRDb3Vsb3VyUGlja2VyLFxuICBWYXJpYXRpb25JbnB1dFRleHQsXG4gIFZhcmlhdGlvbklucHV0TnVtYmVyLFxuICBWYXJpYXRpb25JbnB1dFRleHRhcmVhXG59IGZyb20gJy4vY29tcG9uZW50cy9WYXJpYXRpb25JbnB1dCc7XG5pbXBvcnQgVmFyaWF0aW9uU2VsZWN0IGZyb20gJy4vY29tcG9uZW50cy9WYXJpYXRpb25TZWxlY3QnO1xuaW1wb3J0IFRvb2x0aXBFbGVtZW50IGZyb20gJy4vY29tcG9uZW50cy9Ub29sdGlwRWxlbWVudCc7XG5pbXBvcnQge1xuICBWYXJpYXRpb25TZWxlY3RDb2xvdXIsXG4gIFZhcmlhdGlvblNlbGVjdEltYWdlLFxufSBmcm9tICcuL2NvbXBvbmVudHMvVmFyaWF0aW9uU2VsZWN0RWxlbWVudHMnO1xuaW1wb3J0IFZhcmlhdGlvbnMgZnJvbSAnLi9jb21wb25lbnRzL1ZhcmlhdGlvbnMnO1xuaW1wb3J0IFZhcmlhdGlvbnNHcm91cHMgZnJvbSAnLi9jb21wb25lbnRzL1ZhcmlhdGlvbnNHcm91cHMnO1xuXG5pbXBvcnQgRHJhZnRBcHByb3ZlUGFuZWwgZnJvbSAnLi9jb21wb25lbnRzL2RyYWZ0cy9EcmFmdEFwcHJvdmVQYW5lbCc7XG5pbXBvcnQgUHJvZHVjdERyYWZ0c0hvc3QsIHtcbiAgUHJvZHVjdERyYWZ0c0N0YSxcbn0gZnJvbSAnLi9jb21wb25lbnRzL2RyYWZ0cy9Qcm9kdWN0RHJhZnRzSG9zdCc7XG5pbXBvcnQge1xuICBwcm9kdWN0QWxsb3dzQ2xpZW50RGVzaWduLFxuICBwcm9kdWN0SGFzRHJhZnRUZW1wbGF0ZXMsXG59IGZyb20gJy4vdXRpbHMvZHJhZnRUZW1wbGF0ZXMnO1xuaW1wb3J0IEJ1dHRvblByb2R1Y3RTdWJtaXQgZnJvbSAnLi9jb21wb25lbnRzL2J1dHRvbnMvQnV0dG9uUHJvZHVjdFN1Ym1pdCc7XG5pbXBvcnQgeyBpc1Byb2R1Y3RMZWFkRm9ybSwgaXNQcm9kdWN0U3VwcGxpZXJNT0QgfSBmcm9tICcuL2NvbXBvbmVudHMvdXRpbHMnO1xuaW1wb3J0IHtcbiAgbmVlZHNQcm9kdWN0TGV2ZWxRdWFudGl0eSxcbiAgcHJvZHVjdEhhc0dyb3VwUm93cyxcbiAgcHJvZHVjdEhhc0dyb3Vwcyxcbn0gZnJvbSAnLi91dGlscy9wcm9kdWN0cyc7XG5pbXBvcnQgeyBzYW5pdGl6ZVByb2R1Y3RWYXJpYXRpb25GaWVsZHMgfSBmcm9tICcuL3V0aWxzL3ZhcmlhdGlvbkZpZWxkcyc7XG5pbXBvcnQgeyB1c2VMaW5rZWRQcm9kdWN0SW1hZ2UgfSBmcm9tICcuL3VzZUxpbmtlZFByb2R1Y3RJbWFnZSc7XG5cblxuZXhwb3J0IHtcbiAgQWxlcnRWYXJpYXRpb25TZWxsZXJFZGl0YWJsZSxcbiAgRHluYW1pY1ZhcmlhdGlvbklucHV0LFxuICBEcmFmdEFwcHJvdmVQYW5lbCxcbiAgUHJvZHVjdERyYWZ0c0N0YSxcbiAgUHJvZHVjdERyYWZ0c0hvc3QsXG4gIEZvcm1MZWFkLFxuICBJbnB1dEhpZGRlblN0YXRpYyxcbiAgSW5wdXRQcm9kdWN0UXVhbnRpdHksXG4gIE1lcmNoaVByb2R1Y3RGb3JtUHJvdmlkZXIsXG4gIFByb2R1Y3RCdXR0b25zU3VibWl0LFxuICBQcm9kdWN0RmVhdHVyZURlYWRsaW5lLFxuICBwcm9kdWN0RmVhdHVyZUltYWdlVXJsLFxuICBQcmljZU1hdHJpeCxcbiAgUHJvZHVjdEdyb3VwQnV5U3RhdHVzLFxuICBQcm9kdWN0UHJpY2VNYXRyaXgsXG4gIFByb2R1Y3RUaXRsZSxcbiAgUHJvZHVjdFRvdGFsQ29zdCxcbiAgVmFyaWF0aW9uQ2hlY2tCb3hPclJhZGlvT3B0aW9uLFxuICB1c2VNZXJjaGlGb3JtQ29udGV4dCxcbiAgdXNlTGlua2VkUHJvZHVjdEltYWdlLFxuICBWYXJpYXRpb25DaGVja2JveCxcbiAgVmFyaWF0aW9uRXJyb3IsXG4gIFZhcmlhdGlvbkZpZWxkSW5zdHJ1Y3Rpb25zLFxuICBWYXJpYXRpb25GaWVsZE5hbWVBbmRDb3N0SW5wdXRzLFxuICBWYXJpYXRpb25GaWVsZE9wdGlvbkRlZmF1bHRJbnB1dHMsXG4gIFZhcmlhdGlvbkZpbGVJbnB1dCxcbiAgVmFyaWF0aW9uTGFiZWwsXG4gIFZhcmlhdGlvbkZpZWxkU3RhdGljVmFsdWVzLFxuICBWYXJpYXRpb25JbnB1dENvdWxvdXJQaWNrZXIsXG4gIFZhcmlhdGlvbklucHV0VGV4dCxcbiAgVmFyaWF0aW9uSW5wdXROdW1iZXIsXG4gIFZhcmlhdGlvbklucHV0VGV4dGFyZWEsXG4gIFZhcmlhdGlvblJhZGlvLFxuICBWYXJpYXRpb25TZWxlY3QsXG4gIFZhcmlhdGlvblNlbGVjdENvbG91cixcbiAgVmFyaWF0aW9uU2VsZWN0SW1hZ2UsXG4gIFZhcmlhdGlvbnMsXG4gIFZhcmlhdGlvbnNHcm91cHMsXG4gIFRvb2x0aXBFbGVtZW50LFxuICBCdXR0b25Qcm9kdWN0U3VibWl0LFxuICBpc1Byb2R1Y3RMZWFkRm9ybSxcbiAgaXNQcm9kdWN0U3VwcGxpZXJNT0QsXG4gIG5lZWRzUHJvZHVjdExldmVsUXVhbnRpdHksXG4gIHByb2R1Y3RBbGxvd3NDbGllbnREZXNpZ24sXG4gIHByb2R1Y3RIYXNEcmFmdFRlbXBsYXRlcyxcbiAgcHJvZHVjdEhhc0dyb3VwUm93cyxcbiAgcHJvZHVjdEhhc0dyb3VwcyxcbiAgc2FuaXRpemVQcm9kdWN0VmFyaWF0aW9uRmllbGRzLFxufTtcblxuZXhwb3J0IHR5cGUgeyBQcmljZU1hdHJpeFByb3BzIH0gZnJvbSAnLi9jb21wb25lbnRzL1ByaWNlTWF0cml4JztcbmV4cG9ydCB0eXBlIHtcbiAgUHJpY2VNYXRyaXhCYW5kLFxuICBQcmljZU1hdHJpeENlbGwsXG4gIFByaWNlTWF0cml4RGF0YSxcbn0gZnJvbSAnLi91dGlscy9wcmljZU1hdHJpeCc7XG5leHBvcnQge1xuICBhY3RpdmVCYW5kSW5kZXgsXG4gIHByaWNpbmdSdWxlc0Zyb21Qcm9kdWN0LFxuICByZXNvbHZlUHJpY2VNYXRyaXgsXG59IGZyb20gJy4vdXRpbHMvcHJpY2VNYXRyaXgnO1xuXG5leHBvcnQgZGVmYXVsdCBNZXJjaGlQcm9kdWN0Rm9ybTtcbiJdLCJtYXBwaW5ncyI6IkFBQUEsT0FBT0EsNEJBQTRCLE1BQU0sMkNBQTJDO0FBQ3BGLE9BQU9DLHFCQUFxQixNQUFNLG9DQUFvQztBQUN0RSxPQUFPQyxRQUFRLE1BQU0sdUJBQXVCO0FBQzVDLE9BQU9DLGlCQUFpQixNQUFNLGdDQUFnQztBQUM5RCxPQUFPQyxvQkFBb0IsTUFBTSxtQ0FBbUM7QUFDcEUsT0FBT0MsaUJBQWlCLE1BQU0sZ0NBQWdDO0FBQzlELE9BQU9DLG9CQUFvQixNQUFNLG1DQUFtQztBQUNwRSxPQUFPQyxzQkFBc0IsTUFBTSxxQ0FBcUM7QUFDeEUsT0FBT0MscUJBQXFCLE1BQU0sb0NBQW9DO0FBQ3RFLE9BQU9DLFdBQVcsTUFBTSwwQkFBMEI7QUFDbEQsT0FBT0Msa0JBQWtCLE1BQU0saUNBQWlDO0FBQ2hFLE9BQU9DLGdCQUFnQixNQUFNLCtCQUErQjtBQUM1RCxPQUFPQyxZQUFZLE1BQU0sMkJBQTJCO0FBQ3BELFNBQVNDLHNCQUFzQixRQUFRLGtCQUFrQjtBQUN6RCxPQUFPQyw4QkFBOEIsTUFBTSw2Q0FBNkM7QUFDeEYsU0FDRUMseUJBQXlCLEVBQ3pCQyxvQkFBb0IsUUFDZixxQ0FBcUM7QUFDNUMsU0FDRUMsaUJBQWlCLEVBQ2pCQyxjQUFjLFFBQ1QscUNBQXFDO0FBQzVDLE9BQU9DLGNBQWMsTUFBTSw2QkFBNkI7QUFDeEQsT0FBT0MsMEJBQTBCLE1BQU0seUNBQXlDO0FBQ2hGLE9BQU9DLCtCQUErQixNQUFNLDhDQUE4QztBQUMxRixPQUFPQyxpQ0FBaUMsTUFBTSxnREFBZ0Q7QUFDOUYsT0FBT0Msa0JBQWtCLE1BQU0saUNBQWlDO0FBQ2hFLE9BQU9DLGNBQWMsTUFBTSw2QkFBNkI7QUFDeEQsT0FBT0MsMEJBQTBCLE1BQU0seUNBQXlDO0FBQ2hGLFNBQ0VDLDJCQUEyQixFQUMzQkMsa0JBQWtCLEVBQ2xCQyxvQkFBb0IsRUFDcEJDLHNCQUFzQixRQUNqQiw2QkFBNkI7QUFDcEMsT0FBT0MsZUFBZSxNQUFNLDhCQUE4QjtBQUMxRCxPQUFPQyxjQUFjLE1BQU0sNkJBQTZCO0FBQ3hELFNBQ0VDLHFCQUFxQixFQUNyQkMsb0JBQW9CLFFBQ2Ysc0NBQXNDO0FBQzdDLE9BQU9DLFVBQVUsTUFBTSx5QkFBeUI7QUFDaEQsT0FBT0MsZ0JBQWdCLE1BQU0sK0JBQStCO0FBRTVELE9BQU9DLGlCQUFpQixNQUFNLHVDQUF1QztBQUNyRSxPQUFPQyxpQkFBaUIsSUFDdEJDLGdCQUFnQixRQUNYLHVDQUF1QztBQUM5QyxTQUNFQyx5QkFBeUIsRUFDekJDLHdCQUF3QixRQUNuQix3QkFBd0I7QUFDL0IsT0FBT0MsbUJBQW1CLE1BQU0sMENBQTBDO0FBQzFFLFNBQVNDLGlCQUFpQixFQUFFQyxvQkFBb0IsUUFBUSxvQkFBb0I7QUFDNUUsU0FDRUMseUJBQXlCLEVBQ3pCQyxtQkFBbUIsRUFDbkJDLGdCQUFnQixRQUNYLGtCQUFrQjtBQUN6QixTQUFTQyw4QkFBOEIsUUFBUSx5QkFBeUI7QUFDeEUsU0FBU0MscUJBQXFCLFFBQVEseUJBQXlCO0FBRy9ELFNBQ0VoRCw0QkFBNEIsRUFDNUJDLHFCQUFxQixFQUNyQm1DLGlCQUFpQixFQUNqQkUsZ0JBQWdCLEVBQ2hCRCxpQkFBaUIsRUFDakJuQyxRQUFRLEVBQ1JDLGlCQUFpQixFQUNqQkMsb0JBQW9CLEVBQ3BCVyx5QkFBeUIsRUFDekJULG9CQUFvQixFQUNwQkMsc0JBQXNCLEVBQ3RCTSxzQkFBc0IsRUFDdEJKLFdBQVcsRUFDWEQscUJBQXFCLEVBQ3JCRSxrQkFBa0IsRUFDbEJFLFlBQVksRUFDWkQsZ0JBQWdCLEVBQ2hCRyw4QkFBOEIsRUFDOUJFLG9CQUFvQixFQUNwQmdDLHFCQUFxQixFQUNyQi9CLGlCQUFpQixFQUNqQkUsY0FBYyxFQUNkQywwQkFBMEIsRUFDMUJDLCtCQUErQixFQUMvQkMsaUNBQWlDLEVBQ2pDQyxrQkFBa0IsRUFDbEJDLGNBQWMsRUFDZEMsMEJBQTBCLEVBQzFCQywyQkFBMkIsRUFDM0JDLGtCQUFrQixFQUNsQkMsb0JBQW9CLEVBQ3BCQyxzQkFBc0IsRUFDdEJYLGNBQWMsRUFDZFksZUFBZSxFQUNmRSxxQkFBcUIsRUFDckJDLG9CQUFvQixFQUNwQkMsVUFBVSxFQUNWQyxnQkFBZ0IsRUFDaEJKLGNBQWMsRUFDZFUsbUJBQW1CLEVBQ25CQyxpQkFBaUIsRUFDakJDLG9CQUFvQixFQUNwQkMseUJBQXlCLEVBQ3pCTCx5QkFBeUIsRUFDekJDLHdCQUF3QixFQUN4QkssbUJBQW1CLEVBQ25CQyxnQkFBZ0IsRUFDaEJDLDhCQUE4QjtBQVNoQyxTQUNFRSxlQUFlLEVBQ2ZDLHVCQUF1QixFQUN2QkMsa0JBQWtCLFFBQ2IscUJBQXFCO0FBRTVCLGVBQWU5QyxpQkFBaUIiLCJpZ25vcmVMaXN0IjpbXX0=
@@ -0,0 +1,2 @@
1
+ import { LinkedProductImage } from './utils/linkedProductImage';
2
+ export declare function useLinkedProductImage(): LinkedProductImage | null;
@@ -0,0 +1,27 @@
1
+ import { useRef } from 'react';
2
+ import { useMerchiFormContext } from './context/MerchiProductFormProvider';
3
+ import { resolveLinkedProductImage } from './utils/linkedProductImage';
4
+ export function useLinkedProductImage() {
5
+ var _hookForm$watch, _hookForm$watch2;
6
+ var _useMerchiFormContext = useMerchiFormContext(),
7
+ product = _useMerchiFormContext.product,
8
+ hookForm = _useMerchiFormContext.hookForm;
9
+ var variations = (_hookForm$watch = hookForm.watch) === null || _hookForm$watch === void 0 ? void 0 : _hookForm$watch.call(hookForm, 'variations');
10
+ var variationsGroups = (_hookForm$watch2 = hookForm.watch) === null || _hookForm$watch2 === void 0 ? void 0 : _hookForm$watch2.call(hookForm, 'variationsGroups');
11
+ var previous = useRef({
12
+ ids: [],
13
+ winnerId: null,
14
+ ready: false
15
+ });
16
+ var resolved = resolveLinkedProductImage(product, {
17
+ variations: variations,
18
+ variationsGroups: variationsGroups
19
+ }, previous.current);
20
+ previous.current = {
21
+ ids: resolved.ids,
22
+ winnerId: resolved.winnerId,
23
+ ready: true
24
+ };
25
+ return resolved.image;
26
+ }
27
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VSZWYiLCJ1c2VNZXJjaGlGb3JtQ29udGV4dCIsInJlc29sdmVMaW5rZWRQcm9kdWN0SW1hZ2UiLCJ1c2VMaW5rZWRQcm9kdWN0SW1hZ2UiLCJfaG9va0Zvcm0kd2F0Y2giLCJfaG9va0Zvcm0kd2F0Y2gyIiwiX3VzZU1lcmNoaUZvcm1Db250ZXh0IiwicHJvZHVjdCIsImhvb2tGb3JtIiwidmFyaWF0aW9ucyIsIndhdGNoIiwiY2FsbCIsInZhcmlhdGlvbnNHcm91cHMiLCJwcmV2aW91cyIsImlkcyIsIndpbm5lcklkIiwicmVhZHkiLCJyZXNvbHZlZCIsImN1cnJlbnQiLCJpbWFnZSJdLCJzb3VyY2VzIjpbIi4uL3NyYy91c2VMaW5rZWRQcm9kdWN0SW1hZ2UudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdXNlUmVmIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgdXNlTWVyY2hpRm9ybUNvbnRleHQgfSBmcm9tICcuL2NvbnRleHQvTWVyY2hpUHJvZHVjdEZvcm1Qcm92aWRlcic7XG5pbXBvcnQge1xuICBMaW5rZWRQcm9kdWN0SW1hZ2UsXG4gIExpbmtlZFByb2R1Y3RJbWFnZVN0YXRlLFxuICByZXNvbHZlTGlua2VkUHJvZHVjdEltYWdlLFxufSBmcm9tICcuL3V0aWxzL2xpbmtlZFByb2R1Y3RJbWFnZSc7XG5cbmV4cG9ydCBmdW5jdGlvbiB1c2VMaW5rZWRQcm9kdWN0SW1hZ2UoKTogTGlua2VkUHJvZHVjdEltYWdlIHwgbnVsbCB7XG4gIGNvbnN0IHsgcHJvZHVjdCwgaG9va0Zvcm0gfSA9IHVzZU1lcmNoaUZvcm1Db250ZXh0KCk7XG4gIGNvbnN0IHZhcmlhdGlvbnMgPSBob29rRm9ybS53YXRjaD8uKCd2YXJpYXRpb25zJyk7XG4gIGNvbnN0IHZhcmlhdGlvbnNHcm91cHMgPSBob29rRm9ybS53YXRjaD8uKCd2YXJpYXRpb25zR3JvdXBzJyk7XG4gIGNvbnN0IHByZXZpb3VzID0gdXNlUmVmPExpbmtlZFByb2R1Y3RJbWFnZVN0YXRlPih7XG4gICAgaWRzOiBbXSxcbiAgICB3aW5uZXJJZDogbnVsbCxcbiAgICByZWFkeTogZmFsc2UsXG4gIH0pO1xuICBjb25zdCByZXNvbHZlZCA9IHJlc29sdmVMaW5rZWRQcm9kdWN0SW1hZ2UoXG4gICAgcHJvZHVjdCxcbiAgICB7IHZhcmlhdGlvbnMsIHZhcmlhdGlvbnNHcm91cHMgfSxcbiAgICBwcmV2aW91cy5jdXJyZW50LFxuICApO1xuICBwcmV2aW91cy5jdXJyZW50ID0ge1xuICAgIGlkczogcmVzb2x2ZWQuaWRzLFxuICAgIHdpbm5lcklkOiByZXNvbHZlZC53aW5uZXJJZCxcbiAgICByZWFkeTogdHJ1ZSxcbiAgfTtcbiAgcmV0dXJuIHJlc29sdmVkLmltYWdlO1xufVxuIl0sIm1hcHBpbmdzIjoiQUFBQSxTQUFTQSxNQUFNLFFBQVEsT0FBTztBQUM5QixTQUFTQyxvQkFBb0IsUUFBUSxxQ0FBcUM7QUFDMUUsU0FHRUMseUJBQXlCLFFBQ3BCLDRCQUE0QjtBQUVuQyxPQUFPLFNBQVNDLHFCQUFxQkEsQ0FBQSxFQUE4QjtFQUFBLElBQUFDLGVBQUEsRUFBQUMsZ0JBQUE7RUFDakUsSUFBQUMscUJBQUEsR0FBOEJMLG9CQUFvQixDQUFDLENBQUM7SUFBNUNNLE9BQU8sR0FBQUQscUJBQUEsQ0FBUEMsT0FBTztJQUFFQyxRQUFRLEdBQUFGLHFCQUFBLENBQVJFLFFBQVE7RUFDekIsSUFBTUMsVUFBVSxJQUFBTCxlQUFBLEdBQUdJLFFBQVEsQ0FBQ0UsS0FBSyxjQUFBTixlQUFBLHVCQUFkQSxlQUFBLENBQUFPLElBQUEsQ0FBQUgsUUFBUSxFQUFTLFlBQVksQ0FBQztFQUNqRCxJQUFNSSxnQkFBZ0IsSUFBQVAsZ0JBQUEsR0FBR0csUUFBUSxDQUFDRSxLQUFLLGNBQUFMLGdCQUFBLHVCQUFkQSxnQkFBQSxDQUFBTSxJQUFBLENBQUFILFFBQVEsRUFBUyxrQkFBa0IsQ0FBQztFQUM3RCxJQUFNSyxRQUFRLEdBQUdiLE1BQU0sQ0FBMEI7SUFDL0NjLEdBQUcsRUFBRSxFQUFFO0lBQ1BDLFFBQVEsRUFBRSxJQUFJO0lBQ2RDLEtBQUssRUFBRTtFQUNULENBQUMsQ0FBQztFQUNGLElBQU1DLFFBQVEsR0FBR2YseUJBQXlCLENBQ3hDSyxPQUFPLEVBQ1A7SUFBRUUsVUFBVSxFQUFWQSxVQUFVO0lBQUVHLGdCQUFnQixFQUFoQkE7RUFBaUIsQ0FBQyxFQUNoQ0MsUUFBUSxDQUFDSyxPQUNYLENBQUM7RUFDREwsUUFBUSxDQUFDSyxPQUFPLEdBQUc7SUFDakJKLEdBQUcsRUFBRUcsUUFBUSxDQUFDSCxHQUFHO0lBQ2pCQyxRQUFRLEVBQUVFLFFBQVEsQ0FBQ0YsUUFBUTtJQUMzQkMsS0FBSyxFQUFFO0VBQ1QsQ0FBQztFQUNELE9BQU9DLFFBQVEsQ0FBQ0UsS0FBSztBQUN2QiIsImlnbm9yZUxpc3QiOltdfQ==