@1money/component-ui 0.0.93-alpha.1 → 0.0.93-alpha.3

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.
@@ -12,6 +12,7 @@ var _FormLayout = require("../../../components/FormLayout");
12
12
  var _Typography = require("../../../components/Typography");
13
13
  var _classnames = _interopRequireWildcard(require("../../../utils/classnames"));
14
14
  var _BaseProForm = require("../../shared/formCore/BaseProForm");
15
+ var _useFormDomId = require("../../shared/formCore/useFormDomId");
15
16
  var _useRelayedFormRef = require("../../shared/formCore/useRelayedFormRef");
16
17
  var _useSubmitAction2 = require("../../shared/formCore/useSubmitAction");
17
18
  require("./style");
@@ -52,6 +53,7 @@ var FormDialogInner = function FormDialogInner(_ref) {
52
53
  var _useSubmitAction = (0, _useSubmitAction2.useSubmitAction)(onSubmit, onClose),
53
54
  submitting = _useSubmitAction.submitting,
54
55
  handleFinish = _useSubmitAction.handleFinish;
56
+ var formId = (0, _useFormDomId.useFormDomId)(formProps === null || formProps === void 0 ? void 0 : formProps.id);
55
57
  var resolvedSecondary = secondary === false ? undefined : secondary !== null && secondary !== void 0 ? secondary : onClose ? {
56
58
  onClick: onClose
57
59
  } : undefined;
@@ -100,21 +102,24 @@ var FormDialogInner = function FormDialogInner(_ref) {
100
102
  primary: submitSlot ? undefined : {
101
103
  label: submitText,
102
104
  loading: submitting,
103
- onClick: function onClick() {
104
- var _a;
105
- return (_a = innerRef.current) === null || _a === void 0 ? void 0 : _a.submitForm();
106
- }
105
+ // A REAL submit button associated with the form: it becomes the
106
+ // form's default button, so Enter activates it (and its disabled
107
+ // state) instead of submitting the form directly.
108
+ type: 'submit',
109
+ form: formId
107
110
  },
108
111
  primarySlot: submitSlot === null || submitSlot === void 0 ? void 0 : submitSlot({
109
112
  submit: function submit() {
110
113
  var _a;
111
114
  return (_a = innerRef.current) === null || _a === void 0 ? void 0 : _a.submitForm();
112
115
  },
113
- submitting: submitting
116
+ submitting: submitting,
117
+ formId: formId
114
118
  }),
115
119
  footnote: footnote
116
120
  }),
117
121
  children: (0, _jsxRuntime.jsx)(_BaseProForm.BaseProForm, Object.assign({}, formProps, {
122
+ id: formId,
118
123
  variant: 'modal',
119
124
  formRef: innerRef,
120
125
  initialValues: initialValues,
@@ -127,4 +132,4 @@ var FormDialogInner = function FormDialogInner(_ref) {
127
132
  var FormDialog = exports.FormDialog = Object.assign(FormDialogInner, {
128
133
  Field: _BaseProForm.FormField
129
134
  });
130
- //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImJ1c2luZXNzL0RpYWxvZy9Gb3JtRGlhbG9nL0Zvcm1EaWFsb2cuanMiLCJidXNpbmVzcy9EaWFsb2cvc3JjL2J1c2luZXNzL0RpYWxvZy9Gb3JtRGlhbG9nL0Zvcm1EaWFsb2cudHN4Il0sIm5hbWVzIjpbIl9qc3hSdW50aW1lIiwicmVxdWlyZSIsIl9BY3Rpb25CYXIiLCJfRGlhbG9nIiwiX0Zvcm1MYXlvdXQiLCJfVHlwb2dyYXBoeSIsIl9jbGFzc25hbWVzIiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJfQmFzZVByb0Zvcm0iLCJfdXNlUmVsYXllZEZvcm1SZWYiLCJfdXNlU3VibWl0QWN0aW9uMiIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsImUiLCJXZWFrTWFwIiwiciIsInQiLCJfX2VzTW9kdWxlIiwiX3R5cGVvZiIsImhhcyIsImdldCIsIm4iLCJfX3Byb3RvX18iLCJhIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJ1IiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiaSIsInNldCIsIkZvcm1EaWFsb2dJbm5lciIsIl9yZWYiLCJvcGVuIiwibWFza0Nsb3NhYmxlIiwiY2xhc3NOYW1lIiwicm9vdENsYXNzTmFtZSIsInRpdGxlIiwiZXh0cmEiLCJkZXNjcmlwdGlvbiIsIndpZHRoIiwiY2hpbGRyZW4iLCJpbml0aWFsVmFsdWVzIiwib25TdWJtaXQiLCJzdWJtaXRUZXh0Iiwic3VibWl0U2xvdCIsInNlY29uZGFyeSIsImZvb3Rub3RlIiwib25DbG9zZSIsImZvcm1SZWYiLCJmb3JtUHJvcHMiLCJfcmVmJHNob3dDbG9zZUljb24iLCJzaG93Q2xvc2VJY29uIiwiaW5uZXJSZWYiLCJ1c2VSZWxheWVkRm9ybVJlZiIsIl91c2VTdWJtaXRBY3Rpb24iLCJ1c2VTdWJtaXRBY3Rpb24iLCJzdWJtaXR0aW5nIiwiaGFuZGxlRmluaXNoIiwicmVzb2x2ZWRTZWNvbmRhcnkiLCJ1bmRlZmluZWQiLCJvbkNsaWNrIiwiY2xhc3NlcyIsImNsYXNzbmFtZXMiLCJyZXNvbHZlZFRpdGxlIiwiX2pzeHMiLCJfanN4IiwiVHlwb2dyYXBoeSIsIkhlYWRsaW5lIiwic2l6ZSIsImFzIiwiY29sb3IiLCJCb2R5Iiwic3Ryb25nIiwicGFuZWxXaWR0aCIsIkZPUk1fTEFZT1VUX0NPTkZJRyIsIm1vZGFsIiwiRGlhbG9nIiwiYmFyZSIsIm9uQ2FuY2VsIiwiRm9ybUxheW91dCIsInZhcmlhbnQiLCJqb2luQ2xzIiwiZm9vdGVyIiwiQWN0aW9uQmFyIiwibGF5b3V0IiwicHJpbWFyeSIsImxhYmVsIiwibG9hZGluZyIsIl9hIiwiY3VycmVudCIsInN1Ym1pdEZvcm0iLCJwcmltYXJ5U2xvdCIsInN1Ym1pdCIsIkJhc2VQcm9Gb3JtIiwiYXNzaWduIiwib25GaW5pc2giLCJGb3JtRGlhbG9nIiwiZXhwb3J0cyIsIkZpZWxkIiwiRm9ybUZpZWxkIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUEsSUFBQUEsV0FBQSxHQUFBQyxPQUFBO0FDQUEsSUFBQUMsVUFBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsT0FBQSxHQUFBRixPQUFBO0FBQ0EsSUFBQUcsV0FBQSxHQUFBSCxPQUFBO0FBQ0EsSUFBQUksV0FBQSxHQUFBSixPQUFBO0FBQ0EsSUFBQUssV0FBQSxHQUFBQyx1QkFBQSxDQUFBTixPQUFBO0FBQ0EsSUFBQU8sWUFBQSxHQUFBUCxPQUFBO0FBQ0EsSUFBQVEsa0JBQUEsR0FBQVIsT0FBQTtBQUNBLElBQUFTLGlCQUFBLEdBQUFULE9BQUE7QUFFQUEsT0FBQTtBQUFpQixTQUFBVSx5QkFBQUMsQ0FBQSw2QkFBQUMsT0FBQSxtQkFBQUMsQ0FBQSxPQUFBRCxPQUFBLElBQUFFLENBQUEsT0FBQUYsT0FBQSxZQUFBRix3QkFBQSxZQUFBQSx5QkFBQUMsQ0FBQSxXQUFBQSxDQUFBLEdBQUFHLENBQUEsR0FBQUQsQ0FBQSxLQUFBRixDQUFBO0FBQUEsU0FBQUwsd0JBQUFLLENBQUEsRUFBQUUsQ0FBQSxTQUFBQSxD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QUFBRCxFQUFBLEtBQUEsS0FBQSxDQUFBLEdBQUEsS0FBQSxDQUFBLEdBQUFBLEVBQUEsQ0FBRUUsVUFBVSxDQUFBLENBQUU7VUFBQSxDQUFBO1VBQzVDbEMsVUFBVSxFQUFWQTtRRGhFRSxDQ2lFSCxDQUFDO1FBQ0ZWLFFBQVEsRUFBRUE7TUFBUSxDQUFBLENBQ2xCO01BQUFOLFFBQUEsRUFHSixJQUFBeUIsZUFBQSxFQUFDNEIsd0JBQVcsRUFBQXZFLE1BQUEsQ0FBQXdFLE1BQUEsQ0FBQSxDQUFBLENBQUEsRUFDTjdDLFNBQVMsRUFBQTtRQUNiK0IsT0FBTyxFQUFDLE9BQU87UUFDZmhDLE9BQU8sRUFBRUksUUFBUTtRQUNqQlgsYUFBYSxFQUFFQSxhQUFhO1FBQzVCc0QsUUFBUSxFQUFFdEMsWUFBWTtRQUFBakIsUUFBQSxFQUVyQkE7TUFBUSxDQUFBLENBQUE7SUFDRyxDQUFBO0VBQ0gsQ0FBQSxDQUNOO0FBRWIsQ0FBQztBQUVNLElBQU13RCxVQUFVLEdBQUFDLE9BQUEsQ0FBQUQsVUFBQSxHQUFHMUUsTUFBTSxDQUFDd0UsTUFBTSxDQUFDaEUsZUFBZSxFQUFFO0VBQUVvRSxLQUFLLEVBQUVDO0FBQVMsQ0FBRSxDQUFDIiwiZmlsZSI6ImJ1c2luZXNzL0RpYWxvZy9Gb3JtRGlhbG9nL0Zvcm1EaWFsb2cuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBqc3ggYXMgX2pzeCwganN4cyBhcyBfanN4cyB9IGZyb20gXCJyZWFjdC9qc3gtcnVudGltZVwiO1xuaW1wb3J0IHsgQWN0aW9uQmFyIH0gZnJvbSAnLi4vLi4vLi4vY29tcG9uZW50cy9BY3Rpb25CYXInO1xuaW1wb3J0IHsgRGlhbG9nIH0gZnJvbSAnLi4vLi4vLi4vY29tcG9uZW50cy9EaWFsb2cnO1xuaW1wb3J0IHsgRk9STV9MQVlPVVRfQ09ORklHLCBGb3JtTGF5b3V0IH0gZnJvbSAnLi4vLi4vLi4vY29tcG9uZW50cy9Gb3JtTGF5b3V0JztcbmltcG9ydCB7IFR5cG9ncmFwaHkgfSBmcm9tICcuLi8uLi8uLi9jb21wb25lbnRzL1R5cG9ncmFwaHknO1xuaW1wb3J0IHsgZGVmYXVsdCBhcyBjbGFzc25hbWVzLCBqb2luQ2xzIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvY2xhc3NuYW1lcyc7XG5pbXBvcnQgeyBCYXNlUHJvRm9ybSwgRm9ybUZpZWxkIH0gZnJvbSAnLi4vLi4vc2hhcmVkL2Zvcm1Db3JlL0Jhc2VQcm9Gb3JtJztcbmltcG9ydCB7IHVzZVJlbGF5ZWRGb3JtUmVmIH0gZnJvbSAnLi4vLi4vc2hhcmVkL2Zvcm1Db3JlL3VzZVJlbGF5ZWRGb3JtUmVmJztcbmltcG9ydCB7IHVzZVN1Ym1pdEFjdGlvbiB9IGZyb20gJy4uLy4uL3NoYXJlZC9mb3JtQ29yZS91c2VTdWJtaXRBY3Rpb24nO1xuaW1wb3J0ICcuL3N0eWxlJztcbi8qKlxuICogRm9ybSBkaWFsb2cgc2NlbmFyaW8gc2hlbGwg4oCUIHRoZSBmdWxsIGFzc2VtYmx5OlxuICpcbiAqICAgRGlhbG9nKGJhcmUpICAgICAgICAgICAgb3ZlcmxheSBtYWNoaW5lcnkgb25seSAobWFzaywgRXNjLCBjbG9zZSwgbWF4LWhlaWdodClcbiAqICAg4pSU4pSAIEZvcm1MYXlvdXQobW9kYWwpICAgIHBhbmVsIGNocm9tZSArIGRlbnNpdHkgY29uZmlnICsgcGlubmVkIGhlYWRlci9mb290ZXJcbiAqICAgICAg4pSc4pSAIEJhc2VQcm9Gb3JtICAgICAgIHNpbmdsZSBQcm9Gb3JtIGNvbmZpZyBwb2ludCAoc3BhY2luZyBmcm9tIHRoZSBzYW1lIHRhYmxlKVxuICogICAgICDilJTilIAgQWN0aW9uQmFyKGNvbXBhY3QpIGZvb3RlciBlbmdpbmU7IHN1Ym1pdCBkcml2ZXMgYHN1Ym1pdEZvcm0oKWBcbiAqXG4gKiBCdXNpbmVzcyBjb2RlIHN1cHBsaWVzIGNvcHksIGZpZWxkcywgYW5kIGNhbGxiYWNrcyDigJQgbm90aGluZyBlbHNlLlxuICovXG5jb25zdCBGb3JtRGlhbG9nSW5uZXIgPSAoeyBvcGVuLCBtYXNrQ2xvc2FibGUsIGNsYXNzTmFtZSwgcm9vdENsYXNzTmFtZSwgdGl0bGUsIGV4dHJhLCBkZXNjcmlwdGlvbiwgd2lkdGgsIGNoaWxkcmVuLCBpbml0aWFsVmFsdWVzLCBvblN1Ym1pdCwgc3VibWl0VGV4dCwgc3VibWl0U2xvdCwgc2Vjb25kYXJ5LCBmb290bm90ZSwgb25DbG9zZSwgZm9ybVJlZiwgZm9ybVByb3BzLCBzaG93Q2xvc2VJY29uID0gdHJ1ZSwgfSkgPT4ge1xuICAgIGNvbnN0IGlubmVyUmVmID0gdXNlUmVsYXllZEZvcm1SZWYoZm9ybVJlZik7XG4gICAgY29uc3QgeyBzdWJtaXR0aW5nLCBoYW5kbGVGaW5pc2ggfSA9IHVzZVN1Ym1pdEFjdGlvbihvblN1Ym1pdCwgb25DbG9zZSk7XG4gICAgY29uc3QgcmVzb2x2ZWRTZWNvbmRhcnkgPSBzZWNvbmRhcnkgPT09IGZhbHNlID8gdW5kZWZpbmVkIDogKHNlY29uZGFyeSAhPT0gbnVsbCAmJiBzZWNvbmRhcnkgIT09IHZvaWQgMCA/IHNlY29uZGFyeSA6IChvbkNsb3NlID8geyBvbkNsaWNrOiBvbkNsb3NlIH0gOiB1bmRlZmluZWQpKTtcbiAgICBjb25zdCBjbGFzc2VzID0gY2xhc3NuYW1lcygnZm9ybS1kaWFsb2cnKTtcbiAgICAvLyBGYW1pbHkgc3BlYzogdGl0bGUg4oaUIGRlc2NyaXB0aW9uID0gOC4gVGhlIGRlc2NyaXB0aW9uIGlzIGhlYWRlciBjb3B5LCBzb1xuICAgIC8vIGl0IGxpdmVzIElOU0lERSB0aGUgaGVhZGVyIHJlZ2lvbiAocGlubmVkLCBuZXZlciBzY3JvbGwtY2xpcHBlZCkgaW5zdGVhZFxuICAgIC8vIG9mIGxlYWRpbmcgdGhlIGZpZWxkcyByZWdpb24sIHdoZXJlIHRoZSByZWdpb24gZ2FwIHdvdWxkIGxlYXZlIDE2LlxuICAgIGNvbnN0IHJlc29sdmVkVGl0bGUgPSBkZXNjcmlwdGlvbiA/IChfanN4cyhcImRpdlwiLCB7IGNsYXNzTmFtZTogY2xhc3NlcygnaGVhZGVyLWNvcHknKSwgY2hpbGRyZW46IFt0eXBlb2YgdGl0bGUgPT09ICdzdHJpbmcnIHx8IHR5cGVvZiB0aXRsZSA9PT0gJ251bWJlcicgPyAoX2pzeChUeXBvZ3JhcGh5LkhlYWRsaW5lLCB7IHNpemU6ICdzbScsIGFzOiAnaDInLCBjb2xvcjogJ2RlZmF1bHQnLCBjaGlsZHJlbjogdGl0bGUgfSkpIDogKHRpdGxlKSwgX2pzeChUeXBvZ3JhcGh5LkJvZHksIHsgYXM6ICdwJywgc2l6ZTogJ21kJywgc3Ryb25nOiB0cnVlLCBjb2xvcjogJ2RlZmF1bHQtc2Vjb25kYXJ5JywgY2hpbGRyZW46IGRlc2NyaXB0aW9uIH0pXSB9KSkgOiB0aXRsZTtcbiAgICAvLyBUaGUgUEFORUwgY2FycmllcyB0aGUgd2lkdGggKGV4cGxpY2l0IHByb3Agb3IgdGhlIG1vZGFsIGNvbmZpZyBkZWZhdWx0KTtcbiAgICAvLyB0aGUgRm9ybUxheW91dCBmaWxscyBpdC4gU2l6aW5nIHRoZSBiYXJlIHBhbmVsIGJ5IGl0cyBjaGlsZCB3b3VsZCBoaXRcbiAgICAvLyB0aGUgc2hyaW5rLXRvLWZpdCBwZXJjZW50YWdlIGNpcmN1bGFyaXR5IGluc3RlYWQuXG4gICAgY29uc3QgcGFuZWxXaWR0aCA9IHdpZHRoICE9PSBudWxsICYmIHdpZHRoICE9PSB2b2lkIDAgPyB3aWR0aCA6IEZPUk1fTEFZT1VUX0NPTkZJRy5tb2RhbC53aWR0aDtcbiAgICByZXR1cm4gKF9qc3goRGlhbG9nLCB7IGJhcmU6IHRydWUsIG9wZW46IG9wZW4sIHdpZHRoOiBwYW5lbFdpZHRoLCBtYXNrQ2xvc2FibGU6IG1hc2tDbG9zYWJsZSwgc2hvd0Nsb3NlSWNvbjogc2hvd0Nsb3NlSWNvbiwgY2xhc3NOYW1lOiBjbGFzc05hbWUsIHJvb3RDbGFzc05hbWU6IHJvb3RDbGFzc05hbWUsIG9uQ2FuY2VsOiBvbkNsb3NlLCBcImFyaWEtbGFiZWxcIjogdHlwZW9mIHRpdGxlID09PSAnc3RyaW5nJyA/IHRpdGxlIDogdW5kZWZpbmVkLCBjaGlsZHJlbjogX2pzeChGb3JtTGF5b3V0LCB7IHZhcmlhbnQ6ICdtb2RhbCcsIHdpZHRoOiAnMTAwJScsIGNsYXNzTmFtZTogam9pbkNscyhjbGFzc2VzKCkpLCB0aXRsZTogcmVzb2x2ZWRUaXRsZSwgZXh0cmE6IGV4dHJhLCBmb290ZXI6IF9qc3goQWN0aW9uQmFyLCB7IGxheW91dDogJ2NvbXBhY3QnLCBzZWNvbmRhcnk6IHJlc29sdmVkU2Vjb25kYXJ5LCBwcmltYXJ5OiBzdWJtaXRTbG90ID8gdW5kZWZpbmVkIDoge1xuICAgICAgICAgICAgICAgICAgICBsYWJlbDogc3VibWl0VGV4dCxcbiAgICAgICAgICAgICAgICAgICAgbG9hZGluZzogc3VibWl0dGluZyxcbiAgICAgICAgICAgICAgICAgICAgb25DbGljazogKCkgPT4geyB2YXIgX2E7IHJldHVybiAoX2EgPSBpbm5lclJlZi5jdXJyZW50KSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2Euc3VibWl0Rm9ybSgpOyB9LFxuICAgICAgICAgICAgICAgIH0sIHByaW1hcnlTbG90OiBzdWJtaXRTbG90ID09PSBudWxsIHx8IHN1Ym1pdFNsb3QgPT09IHZvaWQgMCA/IHZvaWQgMCA6IHN1Ym1pdFNsb3Qoe1xuICAgICAgICAgICAgICAgICAgICBzdWJtaXQ6ICgpID0+IHsgdmFyIF9hOyByZXR1cm4gKF9hID0gaW5uZXJSZWYuY3VycmVudCkgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLnN1Ym1pdEZvcm0oKTsgfSxcbiAgICAgICAgICAgICAgICAgICAgc3VibWl0dGluZyxcbiAgICAgICAgICAgICAgICB9KSwgZm9vdG5vdGU6IGZvb3Rub3RlIH0pLCBjaGlsZHJlbjogX2pzeChCYXNlUHJvRm9ybSwgT2JqZWN0LmFzc2lnbih7fSwgZm9ybVByb3BzLCB7IHZhcmlhbnQ6ICdtb2RhbCcsIGZvcm1SZWY6IGlubmVyUmVmLCBpbml0aWFsVmFsdWVzOiBpbml0aWFsVmFsdWVzLCBvbkZpbmlzaDogaGFuZGxlRmluaXNoLCBjaGlsZHJlbjogY2hpbGRyZW4gfSkpIH0pIH0pKTtcbn07XG5leHBvcnQgY29uc3QgRm9ybURpYWxvZyA9IE9iamVjdC5hc3NpZ24oRm9ybURpYWxvZ0lubmVyLCB7IEZpZWxkOiBGb3JtRmllbGQgfSk7IixudWxsXSwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYyJ9
135
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImJ1c2luZXNzL0RpYWxvZy9Gb3JtRGlhbG9nL0Zvcm1EaWFsb2cuanMiLCJidXNpbmVzcy9EaWFsb2cvc3JjL2J1c2luZXNzL0RpYWxvZy9Gb3JtRGlhbG9nL0Zvcm1EaWFsb2cudHN4Il0sIm5hbWVzIjpbIl9qc3hSdW50aW1lIiwicmVxdWlyZSIsIl9BY3Rpb25CYXIiLCJfRGlhbG9nIiwiX0Zvcm1MYXlvdXQiLCJfVHlwb2dyYXBoeSIsIl9jbGFzc25hbWVzIiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJfQmFzZVByb0Zvcm0iLCJfdXNlRm9ybURvbUlkIiwiX3VzZVJlbGF5ZWRGb3JtUmVmIiwiX3VzZVN1Ym1pdEFjdGlvbjIiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJlIiwiV2Vha01hcCIsInIiLCJ0IiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJoYXMiLCJnZXQiLCJuIiwiX19wcm90b19fIiwiYSIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwidSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImkiLCJzZXQiLCJGb3JtRGlhbG9nSW5uZXIiLCJfcmVmIiwib3BlbiIsIm1hc2tDbG9zYWJsZSIsImNsYXNzTmFtZSIsInJvb3RDbGFzc05hbWUiLCJ0aXRsZSIsImV4dHJhIiwiZGVzY3JpcHRpb24iLCJ3aWR0aCIsImNoaWxkcmVuIiwiaW5pdGlhbFZhbHVlcyIsIm9uU3VibWl0Iiwic3VibWl0VGV4dCIsInN1Ym1pdFNsb3QiLCJzZWNvbmRhcnkiLCJmb290bm90ZSIsIm9uQ2xvc2UiLCJmb3JtUmVmIiwiZm9ybVByb3BzIiwiX3JlZiRzaG93Q2xvc2VJY29uIiwic2hvd0Nsb3NlSWNvbiIsImlubmVyUmVmIiwidXNlUmVsYXllZEZvcm1SZWYiLCJfdXNlU3VibWl0QWN0aW9uIiwidXNlU3VibWl0QWN0aW9uIiwic3VibWl0dGluZyIsImhhbmRsZUZpbmlzaCIsImZvcm1JZCIsInVzZUZvcm1Eb21JZCIsImlkIiwicmVzb2x2ZWRTZWNvbmRhcnkiLCJ1bmRlZmluZWQiLCJvbkNsaWNrIiwiY2xhc3NlcyIsImNsYXNzbmFtZXMiLCJyZXNvbHZlZFRpdGxlIiwiX2pzeHMiLCJfanN4IiwiVHlwb2dyYXBoeSIsIkhlYWRsaW5lIiwic2l6ZSIsImFzIiwiY29sb3IiLCJCb2R5Iiwic3Ryb25nIiwicGFuZWxXaWR0aCIsIkZPUk1fTEFZT1VUX0NPTkZJRyIsIm1vZGFsIiwiRGlhbG9nIiwiYmFyZSIsIm9uQ2FuY2VsIiwiRm9ybUxheW91dCIsInZhcmlhbnQiLCJqb2luQ2xzIiwiZm9vdGVyIiwiQWN0aW9uQmFyIiwibGF5b3V0IiwicHJpbWFyeSIsImxhYmVsIiwibG9hZGluZyIsInR5cGUiLCJmb3JtIiwicHJpbWFyeVNsb3QiLCJzdWJtaXQiLCJfYSIsImN1cnJlbnQiLCJzdWJtaXRGb3JtIiwiQmFzZVByb0Zvcm0iLCJhc3NpZ24iLCJvbkZpbmlzaCIsIkZvcm1EaWFsb2ciLCJleHBvcnRzIiwiRmllbGQiLCJGb3JtRmllbGQiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQSxJQUFBQSxXQUFBLEdBQUFDLE9BQUE7QUNBQSxJQUFBQyxVQUFBLEdBQUFELE9BQUE7QUFDQSxJQUFBRSxPQUFBLEdBQUFGLE9BQUE7QUFDQSxJQUFBRyxXQUFBLEdBQUFILE9BQUE7QUFDQSxJQUFBSSxXQUFBLEdBQUFKLE9BQUE7QUFDQSxJQUFBSyxXQUFBLEdBQUFDLHVCQUFBLENBQUFOLE9BQUE7QUFDQSxJQUFBTyxZQUFBLEdBQUFQLE9BQUE7QUFDQSxJQUFBUSxhQUFBLEdBQUFSLE9BQUE7QUFDQSxJQUFBUyxrQkFBQSxHQUFBVCxPQUFBO0FBQ0EsSUFBQVUsaUJBQUEsR0FBQVYsT0FBQTtBQUVBQSxPQUFBO0FBQWlCLFNBQUFXLHlCQUFBQyxDQUFBLDZCQUFBQyxPQUFBLG1CQUFBQyxDQUFBLE9BQUFELE9BQUEsSUFBQUUsQ0FBQSxPQUFBRixPQUFBLFlBQUFGLHdCQUFBLFlBQUFBLHlCQUFBQyxDQUFBLFdBQUFBLENBQUEsR0FBQUcsQ0FBQSxHQUFBRCxDQUFBLEtBQUFGLENBQUE7QUFBQSxTQUFBTix3QkFBQU0sQ0FBQSxFQUFBRSxDQUFBLFNBQUFBLENBQUEsSUFBQUYsQ0FBQSxJQUFBQSxDQUFBLENBQUFJLFVBQUEsU0FBQUosQ0FBQSxlQUFBQSxDQUFBLGdCQUFBSyxPQUFBLENBQUFMLENBQUEsMEJBQUFBLENBQUEsc0JBQUFBLENBQUEsUUFBQUcsQ0FBQSxHQUFBSix3QkFBQSxDQUFBRyxDQUFBLE9BQUFDLENBQUEsSUFBQUEsQ0FBQSxDQUFBRyxHQUFBLENBQUFOLENBQUEsVUFBQUcsQ0FBQSxDQUFBSSxHQUFBLENBQUFQLENBQUEsT0FBQVEsQ0FBQSxLQUFBQyxTQUFBLFVBQUFDLENBQUEsR0FBQUMsTUFBQSxDQUFBQyxjQUFBLElBQUFELE1BQUEsQ0FBQUUsd0JBQUEsV0FBQUMsQ0FBQSxJQUFBZCxDQUFBLG9CQUFBYyxDQUFBLE9BQUFDLGNBQUEsQ0FBQUMsSUFBQSxDQUFBaEIsQ0FBQSxFQUFBYyxDQUFBLFNBQUFHLENBQUEsR0FBQVAsQ0FBQSxHQUFBQyxNQUFBLENBQUFFLHdCQUFBLENBQUFiLENBQUEsRUFBQWMsQ0FBQSxVQUFBRyxDQUFBLEtBQUFBLENBQUEsQ0FBQVYsR0FBQSxJQUFBVSxDQUFBLENBQUFDLEdBQUEsSUFBQVAsTUFBQSxDQUFBQyxjQUFBLENBQUFKLENBQUEsRUFBQU0sQ0FBQSxFQUFBRyxDQUFBLElBQUFULENBQUEsQ0FBQU0sQ0FBQSxJQUFBZCxDQUFBLENBQUFjLENBQUEsWUFBQU4sQ0FBQSxjQUFBUixDQUFBLEVBQUFHLENBQUEsSUFBQUEsQ0FBQSxDQUFBZSxHQUFBLENBQUFsQixDQUFBLEVBQUFRLENBQUEsR0FBQUEsQ0FBQTtBQUVqQjtBREFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQ0VBLElBQU1XLGVBQWUsR0FBRyxTQUFsQkEsZUFBZUEsQ0FBQUMsSUFBQSxFQW9CUztFQUFBLElBbkI1QkMsSUFBSSxHQUFBRCxJQUFBLENBQUpDLElBQUk7SUFDSkMsWUFBWSxHQUFBRixJQUFBLENBQVpFLFlBQVk7SUFDWkMsU0FBUyxHQUFBSCxJQUFBLENBQVRHLFNBQVM7SUFDVEMsYUFBYSxHQUFBSixJQUFBLENBQWJJLGFBQWE7SUFDYkMsS0FBSyxHQUFBTCxJQUFBLENBQUxLLEtBQUs7SUFDTEMsS0FBSyxHQUFBTixJQUFBLENBQUxNLEtBQUs7SUFDTEMsV0FBVyxHQUFBUCxJQUFBLENBQVhPLFdBQVc7SUFDWEMsS0FBSyxHQUFBUixJQUFBLENBQUxRLEtBQUs7SUFDTEMsUUFBUSxHQUFBVCxJQUFBLENBQVJTLFFBQVE7SUFDUkMsYUFBYSxHQUFBVixJQUFBLENBQWJVLGFBQWE7SUFDYkMsUUFBUSxHQUFBWCxJQUFBLENBQVJXLFFBQVE7SUFDUkMsVUFBVSxHQUFBWixJQUFBLENBQVZZLFVBQVU7SUFDVkMsVUFBVSxHQUFBYixJQUFBLENBQVZhLFVBQVU7SUFDVkMsU0FBUyxHQUFBZCxJQUFBLENBQVRjLFNBQVM7SUFDVEMsUUFBUSxHQUFBZixJQUFBLENBQVJlLFFBQVE7SUFDUkMsT0FBTyxHQUFBaEIsSUFBQSxDQUFQZ0IsT0FBTztJQUNQQyxPQUFPLEdBQUFqQixJQUFBLENBQVBpQixPQUFPO0lBQ1BDLFNBQVMsR0FBQWxCLElBQUEsQ0FBVGtCLFNBQVM7SUFBQUMsa0JBQUEsR0FBQW5CLElBQUEsQ0FDVG9CLGFBQWE7SUFBYkEsYUFBYSxHQUFBRCxrQkFBQSxjQUFHLElBQUksR0FBQUEsa0JBQUE7RUFFcEIsSUFBTUUsUUFBUSxHQUFHLElBQUFDLG9DQUFpQixFQUFTTCxPQUFPLENBQUM7RUFDbkQsSUFBQU0sZ0JBQUEsR0FBcUMsSUFBQUMsaUNBQWUsRUFBU2IsUUFBUSxFQUFFSyxPQUFPLENBQUM7SUFBdkVTLFVBQVUsR0FBQUYsZ0JBQUEsQ0FBVkUsVUFBVTtJQUFFQyxZQUFZLEdBQUFILGdCQUFBLENBQVpHLFlBQVk7RUFDaEMsSUFBTUMsTUFBTSxHQUFHLElBQUFDLDBCQUFZLEVBQUNWLFNBQVMsS0FBQSxJQUFBLElBQVRBLFNBQVMsS0FBQSxLQUFBLENBQUEsR0FBQSxLQUFBLENBQUEsR0FBVEEsU0FBUyxDQUFFVyxFQUFFLENBQUM7RUFFMUMsSUFBTUMsaUJBQWlCLEdBQ3JCaEIsU0FBUyxLQUFLLEtBQUssR0FBR2lCLFNBQVMsR0FBSWpCLFNBQVMsS0FBQSxJQUFBLElBQVRBLFNBQVMsS0FBQSxLQUFBLENBQUEsR0FBVEEsU0FBUyxHQUFLRSxPQUFPLEdBQUc7SUFBRWdCLE9BQU8sRUFBRWhCO0VBQU8sQ0FBRSxHQUFHZSxTQUFXO0VBRS9GLElBQU1FLE9BQU8sR0FBRyxJQUFBQyxzQkFBVSxFQUFDLGFBQWEsQ0FBQztFQUV6QztFQUNBO0VBQ0E7RUFDQSxJQUFNQyxhQUFhLEdBQUc1QixXQUFXLEdBQy9CLElBQUE2QixnQkFBQSxFQUFBLEtBQUEsRUFBQTtJQUFLakMsU0FBUyxFQUFFOEIsT0FBTyxDQUFDLGFBQWEsQ0FBQztJQUFBeEIsUUFBQSxFQUFBLENBQ25DLE9BQU9KLEtBQUssS0FBSyxRQUFRLElBQUksT0FBT0EsS0FBSyxLQUFLLFFBQVEsR0FDckQsSUFBQWdDLGVBQUEsRUFBQ0Msc0JBQVUsQ0FBQ0MsUUFBUSxFQUFBO01BQUNDLElBQUksRUFBQyxJQUFJO01BQUNDLEVBQUUsRUFBQyxJQUFJO01BQUNDLEtBQUssRUFBQyxTQUFTO01BQUFqQyxRQUFBLEVBQ25ESjtJQUFLLENBQUEsQ0FDYyxHQUV0QkEsS0FDRCxFQUNELElBQUFnQyxlQUFBLEVBQUNDLHNCQUFVLENBQUNLLElBQUksRUFBQTtNQUFDRixFQUFFLEVBQUMsR0FBRztNQUFDRCxJQUFJLEVBQUMsSUFBSTtNQUFDSSxNQUFNLEVBQUEsSUFBQTtNQUFDRixLQUFLLEVBQUMsbUJBQW1CO01BQUFqQyxRQUFBLEVBQy9ERjtJQUFXLENBQUEsQ0FDSTtFQUFBLENBQUEsQ0FDZCxHQUNKRixLQUFLO0VBRVQ7RUFDQTtFQUNBO0VBQ0EsSUFBTXdDLFVBQVUsR0FBR3JDLEtBQUssS0FBQSxJQUFBLElBQUxBLEtBQUssS0FBQSxLQUFBLENBQUEsR0FBTEEsS0FBSyxHQUFJc0MsOEJBQWtCLENBQUNDLEtBQUssQ0FBQ3ZDLEtBQUs7RUFFMUQsT0FDRSxJQUFBNkIsZUFBQSxFQUFDVyxjQUFNLEVBQUE7SUFDTEMsSUFBSSxFQUFBLElBQUE7SUFDSmhELElBQUksRUFBRUEsSUFBSTtJQUNWTyxLQUFLLEVBQUVxQyxVQUFVO0lBQ2pCM0MsWUFBWSxFQUFFQSxZQUFZO0lBQzFCa0IsYUFBYSxFQUFFQSxhQUFhO0lBQzVCakIsU0FBUyxFQUFFQSxTQUFTO0lBQ3BCQyxhQUFhLEVBQUVBLGFBQWE7SUFDNUI4QyxRQUFRLEVBQUVsQyxPQUFPO0lBQUEsWUFBQSxFQUdMLE9BQU9YLEtBQUssS0FBSyxRQUFRLEdBQUdBLEtBQUssR0FBRzBCLFNBQVM7SUFBQXRCLFFBQUEsRUFFekQsSUFBQTRCLGVBQUEsRUFBQ2Msc0JBQVUsRUFBQTtNQUNUQyxPQUFPLEVBQUMsT0FBTztNQUNmNUMsS0FBSyxFQUFDLE1BQU07TUFDWkwsU0FBUyxFQUFFLElBQUFrRCxtQkFBTyxFQUFDcEIsT0FBTyxDQUFBLENBQUUsQ0FBQztNQUM3QjVCLEtBQUssRUFBRThCLGFBQWE7TUFDcEI3QixLQUFLLEVBQUVBLEtBQUs7TUFDWmdELE1BQU0sRUFDSixJQUFBakIsZUFBQSxFQUFDa0Isb0JBQVMsRUFBQTtRQUNSQyxNQUFNLEVBQUMsU0FBUztRQUNoQjFDLFNBQVMsRUFBRWdCLGlCQUFpQjtRQUM1QjJCLE9BQU8sRUFBRTVDLFVBQVUsR0FBR2tCLFNBQVMsR0FBRztVQUNoQzJCLEtBQUssRUFBRTlDLFVBQVU7VUFDakIrQyxPQUFPLEVBQUVsQyxVQUFVO1VBQ25CO1VBQ0E7VUFDQTtVQUNBbUMsSUFBSSxFQUFFLFFBQVE7VUFDZEMsSUFBSSxFQUFFbEM7UUQvREosQ0NnRUg7UUFDRG1DLFdBQVcsRUFBRWpELFVBQVUsS0FBQSxJQUFBLElBQVZBLFVBQVUsS0FBQSxLQUFBLENBQUEsR0FBQSxLQUFBLENBQUEsR0FBVkEsVUFBVSxDQUFHO1VBQ3hCa0QsTUFBTSxFQUFFLFNBQVJBLE1BQU1BLENBQUEsRUFBTztZQUFBLElBQUFDLEVBQUE7WUFBQyxPQUFBLENBQUFBLEVBQUEsR0FBQTNDLFFBQVEsQ0FBQzRDLE9BQU8sTUFBQSxJQUFBLElBQUFELEVBQUEsS0FBQSxLQUFBLENBQUEsR0FBQSxLQUFBLENBQUEsR0FBQUEsRUFBQSxDQUFFRSxVQUFVLENBQUEsQ0FBRTtVQUFBLENBQUE7VUFDNUN6QyxVQUFVLEVBQVZBLFVBQVU7VUFDVkUsTUFBTSxFQUFOQTtRRGhFRSxDQ2lFSCxDQUFDO1FBQ0ZaLFFBQVEsRUFBRUE7TUFBUSxDQUFBLENBQ2xCO01BQUFOLFFBQUEsRUFHSixJQUFBNEIsZUFBQSxFQUFDOEIsd0JBQVcsRUFBQTVFLE1BQUEsQ0FBQTZFLE1BQUEsQ0FBQSxDQUFBLENBQUEsRUFDTmxELFNBQVMsRUFBQTtRQUNiVyxFQUFFLEVBQUVGLE1BQU07UUFDVnlCLE9BQU8sRUFBQyxPQUFPO1FBQ2ZuQyxPQUFPLEVBQUVJLFFBQVE7UUFDakJYLGFBQWEsRUFBRUEsYUFBYTtRQUM1QjJELFFBQVEsRUFBRTNDLFlBQVk7UUFBQWpCLFFBQUEsRUFFckJBO01BQVEsQ0FBQSxDQUFBO0lBQ0csQ0FBQTtFQUNILENBQUEsQ0FDTjtBQUViLENBQUM7QUFFTSxJQUFNNkQsVUFBVSxHQUFBQyxPQUFBLENBQUFELFVBQUEsR0FBRy9FLE1BQU0sQ0FBQzZFLE1BQU0sQ0FBQ3JFLGVBQWUsRUFBRTtFQUFFeUUsS0FBSyxFQUFFQztBQUFTLENBQUUsQ0FBQyIsImZpbGUiOiJidXNpbmVzcy9EaWFsb2cvRm9ybURpYWxvZy9Gb3JtRGlhbG9nLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsganN4IGFzIF9qc3gsIGpzeHMgYXMgX2pzeHMgfSBmcm9tIFwicmVhY3QvanN4LXJ1bnRpbWVcIjtcbmltcG9ydCB7IEFjdGlvbkJhciB9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudHMvQWN0aW9uQmFyJztcbmltcG9ydCB7IERpYWxvZyB9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudHMvRGlhbG9nJztcbmltcG9ydCB7IEZPUk1fTEFZT1VUX0NPTkZJRywgRm9ybUxheW91dCB9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudHMvRm9ybUxheW91dCc7XG5pbXBvcnQgeyBUeXBvZ3JhcGh5IH0gZnJvbSAnLi4vLi4vLi4vY29tcG9uZW50cy9UeXBvZ3JhcGh5JztcbmltcG9ydCB7IGRlZmF1bHQgYXMgY2xhc3NuYW1lcywgam9pbkNscyB9IGZyb20gJy4uLy4uLy4uL3V0aWxzL2NsYXNzbmFtZXMnO1xuaW1wb3J0IHsgQmFzZVByb0Zvcm0sIEZvcm1GaWVsZCB9IGZyb20gJy4uLy4uL3NoYXJlZC9mb3JtQ29yZS9CYXNlUHJvRm9ybSc7XG5pbXBvcnQgeyB1c2VGb3JtRG9tSWQgfSBmcm9tICcuLi8uLi9zaGFyZWQvZm9ybUNvcmUvdXNlRm9ybURvbUlkJztcbmltcG9ydCB7IHVzZVJlbGF5ZWRGb3JtUmVmIH0gZnJvbSAnLi4vLi4vc2hhcmVkL2Zvcm1Db3JlL3VzZVJlbGF5ZWRGb3JtUmVmJztcbmltcG9ydCB7IHVzZVN1Ym1pdEFjdGlvbiB9IGZyb20gJy4uLy4uL3NoYXJlZC9mb3JtQ29yZS91c2VTdWJtaXRBY3Rpb24nO1xuaW1wb3J0ICcuL3N0eWxlJztcbi8qKlxuICogRm9ybSBkaWFsb2cgc2NlbmFyaW8gc2hlbGwg4oCUIHRoZSBmdWxsIGFzc2VtYmx5OlxuICpcbiAqICAgRGlhbG9nKGJhcmUpICAgICAgICAgICAgb3ZlcmxheSBtYWNoaW5lcnkgb25seSAobWFzaywgRXNjLCBjbG9zZSwgbWF4LWhlaWdodClcbiAqICAg4pSU4pSAIEZvcm1MYXlvdXQobW9kYWwpICAgIHBhbmVsIGNocm9tZSArIGRlbnNpdHkgY29uZmlnICsgcGlubmVkIGhlYWRlci9mb290ZXJcbiAqICAgICAg4pSc4pSAIEJhc2VQcm9Gb3JtICAgICAgIHNpbmdsZSBQcm9Gb3JtIGNvbmZpZyBwb2ludCAoc3BhY2luZyBmcm9tIHRoZSBzYW1lIHRhYmxlKVxuICogICAgICDilJTilIAgQWN0aW9uQmFyKGNvbXBhY3QpIGZvb3RlciBlbmdpbmU7IHN1Ym1pdCBkcml2ZXMgYHN1Ym1pdEZvcm0oKWBcbiAqXG4gKiBCdXNpbmVzcyBjb2RlIHN1cHBsaWVzIGNvcHksIGZpZWxkcywgYW5kIGNhbGxiYWNrcyDigJQgbm90aGluZyBlbHNlLlxuICovXG5jb25zdCBGb3JtRGlhbG9nSW5uZXIgPSAoeyBvcGVuLCBtYXNrQ2xvc2FibGUsIGNsYXNzTmFtZSwgcm9vdENsYXNzTmFtZSwgdGl0bGUsIGV4dHJhLCBkZXNjcmlwdGlvbiwgd2lkdGgsIGNoaWxkcmVuLCBpbml0aWFsVmFsdWVzLCBvblN1Ym1pdCwgc3VibWl0VGV4dCwgc3VibWl0U2xvdCwgc2Vjb25kYXJ5LCBmb290bm90ZSwgb25DbG9zZSwgZm9ybVJlZiwgZm9ybVByb3BzLCBzaG93Q2xvc2VJY29uID0gdHJ1ZSwgfSkgPT4ge1xuICAgIGNvbnN0IGlubmVyUmVmID0gdXNlUmVsYXllZEZvcm1SZWYoZm9ybVJlZik7XG4gICAgY29uc3QgeyBzdWJtaXR0aW5nLCBoYW5kbGVGaW5pc2ggfSA9IHVzZVN1Ym1pdEFjdGlvbihvblN1Ym1pdCwgb25DbG9zZSk7XG4gICAgY29uc3QgZm9ybUlkID0gdXNlRm9ybURvbUlkKGZvcm1Qcm9wcyA9PT0gbnVsbCB8fCBmb3JtUHJvcHMgPT09IHZvaWQgMCA/IHZvaWQgMCA6IGZvcm1Qcm9wcy5pZCk7XG4gICAgY29uc3QgcmVzb2x2ZWRTZWNvbmRhcnkgPSBzZWNvbmRhcnkgPT09IGZhbHNlID8gdW5kZWZpbmVkIDogKHNlY29uZGFyeSAhPT0gbnVsbCAmJiBzZWNvbmRhcnkgIT09IHZvaWQgMCA/IHNlY29uZGFyeSA6IChvbkNsb3NlID8geyBvbkNsaWNrOiBvbkNsb3NlIH0gOiB1bmRlZmluZWQpKTtcbiAgICBjb25zdCBjbGFzc2VzID0gY2xhc3NuYW1lcygnZm9ybS1kaWFsb2cnKTtcbiAgICAvLyBGYW1pbHkgc3BlYzogdGl0bGUg4oaUIGRlc2NyaXB0aW9uID0gOC4gVGhlIGRlc2NyaXB0aW9uIGlzIGhlYWRlciBjb3B5LCBzb1xuICAgIC8vIGl0IGxpdmVzIElOU0lERSB0aGUgaGVhZGVyIHJlZ2lvbiAocGlubmVkLCBuZXZlciBzY3JvbGwtY2xpcHBlZCkgaW5zdGVhZFxuICAgIC8vIG9mIGxlYWRpbmcgdGhlIGZpZWxkcyByZWdpb24sIHdoZXJlIHRoZSByZWdpb24gZ2FwIHdvdWxkIGxlYXZlIDE2LlxuICAgIGNvbnN0IHJlc29sdmVkVGl0bGUgPSBkZXNjcmlwdGlvbiA/IChfanN4cyhcImRpdlwiLCB7IGNsYXNzTmFtZTogY2xhc3NlcygnaGVhZGVyLWNvcHknKSwgY2hpbGRyZW46IFt0eXBlb2YgdGl0bGUgPT09ICdzdHJpbmcnIHx8IHR5cGVvZiB0aXRsZSA9PT0gJ251bWJlcicgPyAoX2pzeChUeXBvZ3JhcGh5LkhlYWRsaW5lLCB7IHNpemU6ICdzbScsIGFzOiAnaDInLCBjb2xvcjogJ2RlZmF1bHQnLCBjaGlsZHJlbjogdGl0bGUgfSkpIDogKHRpdGxlKSwgX2pzeChUeXBvZ3JhcGh5LkJvZHksIHsgYXM6ICdwJywgc2l6ZTogJ21kJywgc3Ryb25nOiB0cnVlLCBjb2xvcjogJ2RlZmF1bHQtc2Vjb25kYXJ5JywgY2hpbGRyZW46IGRlc2NyaXB0aW9uIH0pXSB9KSkgOiB0aXRsZTtcbiAgICAvLyBUaGUgUEFORUwgY2FycmllcyB0aGUgd2lkdGggKGV4cGxpY2l0IHByb3Agb3IgdGhlIG1vZGFsIGNvbmZpZyBkZWZhdWx0KTtcbiAgICAvLyB0aGUgRm9ybUxheW91dCBmaWxscyBpdC4gU2l6aW5nIHRoZSBiYXJlIHBhbmVsIGJ5IGl0cyBjaGlsZCB3b3VsZCBoaXRcbiAgICAvLyB0aGUgc2hyaW5rLXRvLWZpdCBwZXJjZW50YWdlIGNpcmN1bGFyaXR5IGluc3RlYWQuXG4gICAgY29uc3QgcGFuZWxXaWR0aCA9IHdpZHRoICE9PSBudWxsICYmIHdpZHRoICE9PSB2b2lkIDAgPyB3aWR0aCA6IEZPUk1fTEFZT1VUX0NPTkZJRy5tb2RhbC53aWR0aDtcbiAgICByZXR1cm4gKF9qc3goRGlhbG9nLCB7IGJhcmU6IHRydWUsIG9wZW46IG9wZW4sIHdpZHRoOiBwYW5lbFdpZHRoLCBtYXNrQ2xvc2FibGU6IG1hc2tDbG9zYWJsZSwgc2hvd0Nsb3NlSWNvbjogc2hvd0Nsb3NlSWNvbiwgY2xhc3NOYW1lOiBjbGFzc05hbWUsIHJvb3RDbGFzc05hbWU6IHJvb3RDbGFzc05hbWUsIG9uQ2FuY2VsOiBvbkNsb3NlLCBcImFyaWEtbGFiZWxcIjogdHlwZW9mIHRpdGxlID09PSAnc3RyaW5nJyA/IHRpdGxlIDogdW5kZWZpbmVkLCBjaGlsZHJlbjogX2pzeChGb3JtTGF5b3V0LCB7IHZhcmlhbnQ6ICdtb2RhbCcsIHdpZHRoOiAnMTAwJScsIGNsYXNzTmFtZTogam9pbkNscyhjbGFzc2VzKCkpLCB0aXRsZTogcmVzb2x2ZWRUaXRsZSwgZXh0cmE6IGV4dHJhLCBmb290ZXI6IF9qc3goQWN0aW9uQmFyLCB7IGxheW91dDogJ2NvbXBhY3QnLCBzZWNvbmRhcnk6IHJlc29sdmVkU2Vjb25kYXJ5LCBwcmltYXJ5OiBzdWJtaXRTbG90ID8gdW5kZWZpbmVkIDoge1xuICAgICAgICAgICAgICAgICAgICBsYWJlbDogc3VibWl0VGV4dCxcbiAgICAgICAgICAgICAgICAgICAgbG9hZGluZzogc3VibWl0dGluZyxcbiAgICAgICAgICAgICAgICAgICAgLy8gQSBSRUFMIHN1Ym1pdCBidXR0b24gYXNzb2NpYXRlZCB3aXRoIHRoZSBmb3JtOiBpdCBiZWNvbWVzIHRoZVxuICAgICAgICAgICAgICAgICAgICAvLyBmb3JtJ3MgZGVmYXVsdCBidXR0b24sIHNvIEVudGVyIGFjdGl2YXRlcyBpdCAoYW5kIGl0cyBkaXNhYmxlZFxuICAgICAgICAgICAgICAgICAgICAvLyBzdGF0ZSkgaW5zdGVhZCBvZiBzdWJtaXR0aW5nIHRoZSBmb3JtIGRpcmVjdGx5LlxuICAgICAgICAgICAgICAgICAgICB0eXBlOiAnc3VibWl0JyxcbiAgICAgICAgICAgICAgICAgICAgZm9ybTogZm9ybUlkLFxuICAgICAgICAgICAgICAgIH0sIHByaW1hcnlTbG90OiBzdWJtaXRTbG90ID09PSBudWxsIHx8IHN1Ym1pdFNsb3QgPT09IHZvaWQgMCA/IHZvaWQgMCA6IHN1Ym1pdFNsb3Qoe1xuICAgICAgICAgICAgICAgICAgICBzdWJtaXQ6ICgpID0+IHsgdmFyIF9hOyByZXR1cm4gKF9hID0gaW5uZXJSZWYuY3VycmVudCkgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLnN1Ym1pdEZvcm0oKTsgfSxcbiAgICAgICAgICAgICAgICAgICAgc3VibWl0dGluZyxcbiAgICAgICAgICAgICAgICAgICAgZm9ybUlkLFxuICAgICAgICAgICAgICAgIH0pLCBmb290bm90ZTogZm9vdG5vdGUgfSksIGNoaWxkcmVuOiBfanN4KEJhc2VQcm9Gb3JtLCBPYmplY3QuYXNzaWduKHt9LCBmb3JtUHJvcHMsIHsgaWQ6IGZvcm1JZCwgdmFyaWFudDogJ21vZGFsJywgZm9ybVJlZjogaW5uZXJSZWYsIGluaXRpYWxWYWx1ZXM6IGluaXRpYWxWYWx1ZXMsIG9uRmluaXNoOiBoYW5kbGVGaW5pc2gsIGNoaWxkcmVuOiBjaGlsZHJlbiB9KSkgfSkgfSkpO1xufTtcbmV4cG9ydCBjb25zdCBGb3JtRGlhbG9nID0gT2JqZWN0LmFzc2lnbihGb3JtRGlhbG9nSW5uZXIsIHsgRmllbGQ6IEZvcm1GaWVsZCB9KTsiLG51bGxdLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjIn0=
@@ -29,13 +29,24 @@ export interface FormDialogProps<Values extends Record<string, any> = Record<str
29
29
  /**
30
30
  * Replace the built-in submit button with a custom node — for submits the
31
31
  * action model cannot express (Button2FA challenges, permission-gated
32
- * wrappers). Receives the internal validated-submit trigger and the
33
- * in-flight flag; the node takes the primary position in the ActionBar
34
- * (same width/track rules).
32
+ * wrappers); the node takes the primary position in the ActionBar (same
33
+ * width/track rules).
34
+ *
35
+ * A slot button that triggers the form's own submit MUST render as
36
+ * `type='submit' form={formId}` (no `onClick={submit}`): the association
37
+ * makes it the form's DEFAULT button, so Enter-to-submit activates it and
38
+ * respects its `disabled` state. A `type='button'` + `onClick` wiring
39
+ * leaves the native Enter path open past whatever gate disables the button.
40
+ * `submit` remains for flows that submit imperatively at another moment
41
+ * (e.g. after a Button2FA challenge).
35
42
  */
36
43
  submitSlot?: (ctx: {
44
+ /** Imperative validated-submit trigger (post-challenge flows). */
37
45
  submit: () => void;
46
+ /** True while the shell-owned `onSubmit` is in flight. */
38
47
  submitting: boolean;
48
+ /** DOM id of the underlying `<form>` — pair with `type='submit'`. */
49
+ formId: string;
39
50
  }) => ReactNode;
40
51
  /**
41
52
  * Secondary (left) action. Defaults to a Cancel button wired to `onClose`;
@@ -9,6 +9,7 @@ var _ActionBar = require("../../components/ActionBar");
9
9
  var _FormLayout = require("../../components/FormLayout");
10
10
  var _Typography = require("../../components/Typography");
11
11
  var _BaseProForm = require("../shared/formCore/BaseProForm");
12
+ var _useFormDomId = require("../shared/formCore/useFormDomId");
12
13
  var _useRelayedFormRef = require("../shared/formCore/useRelayedFormRef");
13
14
  var _useSubmitAction2 = require("../shared/formCore/useSubmitAction");
14
15
  /**
@@ -49,6 +50,7 @@ var PageFormInner = function PageFormInner(_ref) {
49
50
  var _useSubmitAction = (0, _useSubmitAction2.useSubmitAction)(onSubmit, onSuccess),
50
51
  submitting = _useSubmitAction.submitting,
51
52
  handleFinish = _useSubmitAction.handleFinish;
53
+ var formId = (0, _useFormDomId.useFormDomId)(formProps === null || formProps === void 0 ? void 0 : formProps.id);
52
54
  return (0, _jsxRuntime.jsxs)(_FormLayout.FormLayout, {
53
55
  variant: 'page',
54
56
  size: size,
@@ -62,17 +64,19 @@ var PageFormInner = function PageFormInner(_ref) {
62
64
  primary: submitSlot ? undefined : {
63
65
  label: submitText,
64
66
  loading: submitting,
65
- onClick: function onClick() {
66
- var _a;
67
- return (_a = innerRef.current) === null || _a === void 0 ? void 0 : _a.submitForm();
68
- }
67
+ // A REAL submit button associated with the form: it becomes the
68
+ // form's default button, so Enter activates it (and its disabled
69
+ // state) instead of submitting the form directly.
70
+ type: 'submit',
71
+ form: formId
69
72
  },
70
73
  primarySlot: submitSlot === null || submitSlot === void 0 ? void 0 : submitSlot({
71
74
  submit: function submit() {
72
75
  var _a;
73
76
  return (_a = innerRef.current) === null || _a === void 0 ? void 0 : _a.submitForm();
74
77
  },
75
- submitting: submitting
78
+ submitting: submitting,
79
+ formId: formId
76
80
  }),
77
81
  footnote: footnote
78
82
  }),
@@ -83,6 +87,7 @@ var PageFormInner = function PageFormInner(_ref) {
83
87
  color: 'default-secondary',
84
88
  children: description
85
89
  }), (0, _jsxRuntime.jsx)(_BaseProForm.BaseProForm, Object.assign({}, formProps, {
90
+ id: formId,
86
91
  variant: 'page',
87
92
  size: size,
88
93
  formRef: innerRef,
@@ -95,4 +100,4 @@ var PageFormInner = function PageFormInner(_ref) {
95
100
  var PageForm = exports.PageForm = Object.assign(PageFormInner, {
96
101
  Field: _BaseProForm.FormField
97
102
  });
98
- //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImJ1c2luZXNzL1BhZ2VGb3JtL1BhZ2VGb3JtLmpzIiwiYnVzaW5lc3Mvc3JjL2J1c2luZXNzL1BhZ2VGb3JtL1BhZ2VGb3JtLnRzeCJdLCJuYW1lcyI6WyJfanN4UnVudGltZSIsInJlcXVpcmUiLCJfQWN0aW9uQmFyIiwiX0Zvcm1MYXlvdXQiLCJfVHlwb2dyYXBoeSIsIl9CYXNlUHJvRm9ybSIsIl91c2VSZWxheWVkRm9ybVJlZiIsIl91c2VTdWJtaXRBY3Rpb24yIiwiUGFnZUZvcm1Jbm5lciIsIl9yZWYiLCJfcmVmJHNpemUiLCJzaXplIiwid2lkdGgiLCJjbGFzc05hbWUiLCJ0aXRsZSIsImV4dHJhIiwiZGVzY3JpcHRpb24iLCJjaGlsZHJlbiIsImluaXRpYWxWYWx1ZXMiLCJvblN1Ym1pdCIsIm9uU3VjY2VzcyIsInN1Ym1pdFRleHQiLCJzdWJtaXRTbG90Iiwic2Vjb25kYXJ5IiwiZm9vdG5vdGUiLCJmb3JtUmVmIiwiZm9ybVByb3BzIiwiaW5uZXJSZWYiLCJ1c2VSZWxheWVkRm9ybVJlZiIsIl91c2VTdWJtaXRBY3Rpb24iLCJ1c2VTdWJtaXRBY3Rpb24iLCJzdWJtaXR0aW5nIiwiaGFuZGxlRmluaXNoIiwiX2pzeHMiLCJGb3JtTGF5b3V0IiwidmFyaWFudCIsImZvb3RlciIsIl9qc3giLCJBY3Rpb25CYXIiLCJsYXlvdXQiLCJwcmltYXJ5IiwidW5kZWZpbmVkIiwibGFiZWwiLCJsb2FkaW5nIiwib25DbGljayIsIl9hIiwiY3VycmVudCIsInN1Ym1pdEZvcm0iLCJwcmltYXJ5U2xvdCIsInN1Ym1pdCIsIlR5cG9ncmFwaHkiLCJCb2R5IiwiYXMiLCJzdHJvbmciLCJjb2xvciIsIkJhc2VQcm9Gb3JtIiwiT2JqZWN0IiwiYXNzaWduIiwib25GaW5pc2giLCJQYWdlRm9ybSIsImV4cG9ydHMiLCJGaWVsZCIsIkZvcm1GaWVsZCJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsSUFBQUEsV0FBQSxHQUFBQyxPQUFBO0FDQUEsSUFBQUMsVUFBQSxH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RCxFQUFBLEtBQUEsS0FBQSxDQUFBLEdBQUEsS0FBQSxDQUFBLEdBQUFBLEVBQUEsQ0FBRUUsVUFBVSxDQUFBLENBQUU7UUFBQSxDQUFBO1FBQzVDaEIsVUFBVSxFQUFWQTtNRC9CQSxDQ2dDRCxDQUFDO01BQ0ZQLFFBQVEsRUFBRUE7SUFBUSxDQUFBLENBQ2xCO0lBQUFQLFFBQUEsRUFBQSxDQUdIRCxXQUFXLElBQ1YsSUFBQXFCLGVBQUEsRUFBQ2Esc0JBQVUsQ0FBQ0MsSUFBSSxFQUFBO01BQUNDLEVBQUUsRUFBQyxHQUFHO01BQUN6QyxJQUFJLEVBQUMsSUFBSTtNQUFDMEMsTUFBTSxFQUFBLElBQUE7TUFBQ0MsS0FBSyxFQUFDLG1CQUFtQjtNQUFBckMsUUFBQSxFQUMvREQ7SUFBVyxDQUFBLENBRWYsRUFDRCxJQUFBcUIsZUFBQSxFQUFDa0Isd0JBQVcsRUFBQUMsTUFBQSxDQUFBQyxNQUFBLENBQUEsQ0FBQSxDQUFBLEVBQ04vQixTQUFTLEVBQUE7TUFDYlMsT0FBTyxFQUFDLE1BQU07TUFDZHhCLElBQUksRUFBRUEsSUFBSTtNQUNWYyxPQUFPLEVBQUVFLFFBQVE7TUFDakJULGFBQWEsRUFBRUEsYUFBYTtNQUM1QndDLFFBQVEsRUFBRTFCLFlBQVk7TUFBQWYsUUFBQSxFQUVyQkE7SUFBUSxDQUFBLENBQUEsQ0FDRztFQUFBLENBQUEsQ0FDSDtBQUVqQixDQUFDO0FBRU0sSUFBTTBDLFFBQVEsR0FBQUMsT0FBQSxDQUFBRCxRQUFBLEdBQUdILE1BQU0sQ0FBQ0MsTUFBTSxDQUFDakQsYUFBYSxFQUFFO0VBQUVxRCxLQUFLLEVBQUVDO0FBQVMsQ0FBRSxDQUFDIiwiZmlsZSI6ImJ1c2luZXNzL1BhZ2VGb3JtL1BhZ2VGb3JtLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsganN4IGFzIF9qc3gsIGpzeHMgYXMgX2pzeHMgfSBmcm9tIFwicmVhY3QvanN4LXJ1bnRpbWVcIjtcbmltcG9ydCB7IEFjdGlvbkJhciB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvQWN0aW9uQmFyJztcbmltcG9ydCB7IEZvcm1MYXlvdXQgfSBmcm9tICcuLi8uLi9jb21wb25lbnRzL0Zvcm1MYXlvdXQnO1xuaW1wb3J0IHsgVHlwb2dyYXBoeSB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvVHlwb2dyYXBoeSc7XG5pbXBvcnQgeyBCYXNlUHJvRm9ybSwgRm9ybUZpZWxkIH0gZnJvbSAnLi4vc2hhcmVkL2Zvcm1Db3JlL0Jhc2VQcm9Gb3JtJztcbmltcG9ydCB7IHVzZVJlbGF5ZWRGb3JtUmVmIH0gZnJvbSAnLi4vc2hhcmVkL2Zvcm1Db3JlL3VzZVJlbGF5ZWRGb3JtUmVmJztcbmltcG9ydCB7IHVzZVN1Ym1pdEFjdGlvbiB9IGZyb20gJy4uL3NoYXJlZC9mb3JtQ29yZS91c2VTdWJtaXRBY3Rpb24nO1xuLyoqXG4gKiBGb3JtIHNjZW5hcmlvIHNoZWxsIGZvciB0aGUgUEFHRSBob3N0IOKAlCB0aGUgaW4tZG9jdW1lbnQgY291bnRlcnBhcnQgb2ZcbiAqIGBGb3JtRGlhbG9nYDpcbiAqXG4gKiAgIEZvcm1MYXlvdXQocGFnZSkgICBjYXJkIGNocm9tZSArIHBhZ2UgZGVuc2l0eSwgbm8gb3ZlcmxheSwgbmV2ZXIgc2Nyb2xsc1xuICogICAgICAgICAgICAgICAgICAgICAgaW50ZXJuYWxseS4gYHNpemVgIHNlbGVjdHMgdGhlIGRlbnNpdHk6IGBsYXJnZWAgKDczOCAvXG4gKiAgICAgICAgICAgICAgICAgICAgICAzMiAvIDI0LCBkZWZhdWx0KSBvciBgc21hbGxgICg0NDggLyAyNCAvIDE2IOKAlCB0aGVcbiAqICAgICAgICAgICAgICAgICAgICAgIGNvbXBhY3QgYXV0aCBjYXJkKS4gQm90aCByZXNvbHZlIGluc2lkZSBGb3JtTGF5b3V0O1xuICogICAgICAgICAgICAgICAgICAgICAgdGhpcyBzaGVsbCBvbmx5IGZvcndhcmRzIGBzaXplYC5cbiAqICAg4pSc4pSAIEJhc2VQcm9Gb3JtICAgICBzYW1lIHNpbmdsZSBQcm9Gb3JtIGNvbmZpZyBwb2ludCAodmFyaWFudD0ncGFnZScgKyB0aGVcbiAqICAg4pSCICAgICAgICAgICAgICAgICAgc2FtZSBgc2l6ZWAsIHNvIGNvbnRyb2wgc2l6ZSAvIGd1dHRlciAvIHJvdyBnYXAgbWF0Y2gpXG4gKiAgIOKUlOKUgCBBY3Rpb25CYXIoZmlsbCkgZnVsbC13aWR0aCBzdWJtaXQgKHBhZ2UgZm9ybXMgcGVyIHRoZSBEUylcbiAqXG4gKiBUaGUgU0FNRSBmaWVsZHMgcmVuZGVyIGlkZW50aWNhbGx5IGhlcmUgYW5kIGluIEZvcm1EaWFsb2cg4oCUIG9ubHkgdGhlXG4gKiBjb250YWluZXIgZGlmZmVycy5cbiAqL1xuY29uc3QgUGFnZUZvcm1Jbm5lciA9ICh7IHNpemUgPSAnbGFyZ2UnLCB3aWR0aCwgY2xhc3NOYW1lLCB0aXRsZSwgZXh0cmEsIGRlc2NyaXB0aW9uLCBjaGlsZHJlbiwgaW5pdGlhbFZhbHVlcywgb25TdWJtaXQsIG9uU3VjY2Vzcywgc3VibWl0VGV4dCwgc3VibWl0U2xvdCwgc2Vjb25kYXJ5LCBmb290bm90ZSwgZm9ybVJlZiwgZm9ybVByb3BzLCB9KSA9PiB7XG4gICAgY29uc3QgaW5uZXJSZWYgPSB1c2VSZWxheWVkRm9ybVJlZihmb3JtUmVmKTtcbiAgICBjb25zdCB7IHN1Ym1pdHRpbmcsIGhhbmRsZUZpbmlzaCB9ID0gdXNlU3VibWl0QWN0aW9uKG9uU3VibWl0LCBvblN1Y2Nlc3MpO1xuICAgIHJldHVybiAoX2pzeHMoRm9ybUxheW91dCwgeyB2YXJpYW50OiAncGFnZScsIHNpemU6IHNpemUsIHdpZHRoOiB3aWR0aCwgY2xhc3NOYW1lOiBjbGFzc05hbWUsIHRpdGxlOiB0aXRsZSwgZXh0cmE6IGV4dHJhLCBmb290ZXI6IF9qc3goQWN0aW9uQmFyLCB7IGxheW91dDogJ2ZpbGwnLCBzZWNvbmRhcnk6IHNlY29uZGFyeSwgcHJpbWFyeTogc3VibWl0U2xvdCA/IHVuZGVmaW5lZCA6IHtcbiAgICAgICAgICAgICAgICBsYWJlbDogc3VibWl0VGV4dCxcbiAgICAgICAgICAgICAgICBsb2FkaW5nOiBzdWJtaXR0aW5nLFxuICAgICAgICAgICAgICAgIG9uQ2xpY2s6ICgpID0+IHsgdmFyIF9hOyByZXR1cm4gKF9hID0gaW5uZXJSZWYuY3VycmVudCkgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLnN1Ym1pdEZvcm0oKTsgfSxcbiAgICAgICAgICAgIH0sIHByaW1hcnlTbG90OiBzdWJtaXRTbG90ID09PSBudWxsIHx8IHN1Ym1pdFNsb3QgPT09IHZvaWQgMCA/IHZvaWQgMCA6IHN1Ym1pdFNsb3Qoe1xuICAgICAgICAgICAgICAgIHN1Ym1pdDogKCkgPT4geyB2YXIgX2E7IHJldHVybiAoX2EgPSBpbm5lclJlZi5jdXJyZW50KSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2Euc3VibWl0Rm9ybSgpOyB9LFxuICAgICAgICAgICAgICAgIHN1Ym1pdHRpbmcsXG4gICAgICAgICAgICB9KSwgZm9vdG5vdGU6IGZvb3Rub3RlIH0pLCBjaGlsZHJlbjogW2Rlc2NyaXB0aW9uICYmIChfanN4KFR5cG9ncmFwaHkuQm9keSwgeyBhczogJ3AnLCBzaXplOiAnbWQnLCBzdHJvbmc6IHRydWUsIGNvbG9yOiAnZGVmYXVsdC1zZWNvbmRhcnknLCBjaGlsZHJlbjogZGVzY3JpcHRpb24gfSkpLCBfanN4KEJhc2VQcm9Gb3JtLCBPYmplY3QuYXNzaWduKHt9LCBmb3JtUHJvcHMsIHsgdmFyaWFudDogJ3BhZ2UnLCBzaXplOiBzaXplLCBmb3JtUmVmOiBpbm5lclJlZiwgaW5pdGlhbFZhbHVlczogaW5pdGlhbFZhbHVlcywgb25GaW5pc2g6IGhhbmRsZUZpbmlzaCwgY2hpbGRyZW46IGNoaWxkcmVuIH0pKV0gfSkpO1xufTtcbmV4cG9ydCBjb25zdCBQYWdlRm9ybSA9IE9iamVjdC5hc3NpZ24oUGFnZUZvcm1Jbm5lciwgeyBGaWVsZDogRm9ybUZpZWxkIH0pOyIsbnVsbF0sInNvdXJjZVJvb3QiOiIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMifQ==
103
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImJ1c2luZXNzL1BhZ2VGb3JtL1BhZ2VGb3JtLmpzIiwiYnVzaW5lc3Mvc3JjL2J1c2luZXNzL1BhZ2VGb3JtL1BhZ2VGb3JtLnRzeCJdLCJuYW1lcyI6WyJfanN4UnVudGltZSIsInJlcXVpcmUiLCJfQWN0aW9uQmFyIiwiX0Zvcm1MYXlvdXQiLCJfVHlwb2dyYXBoeSIsIl9CYXNlUHJvRm9ybSIsIl91c2VGb3JtRG9tSWQiLCJfdXNlUmVsYXllZEZvcm1SZWYiLCJfdXNlU3VibWl0QWN0aW9uMiIsIlBhZ2VGb3JtSW5uZXIiLCJfcmVmIiwiX3JlZiRzaXplIiwic2l6ZSIsIndpZHRoIiwiY2xhc3NOYW1lIiwidGl0bGUiLCJleHRyYSIsImRlc2NyaXB0aW9uIiwiY2hpbGRyZW4iLCJpbml0aWFsVmFsdWVzIiwib25TdWJtaXQiLCJvblN1Y2Nlc3MiLCJzdWJtaXRUZXh0Iiwic3VibWl0U2xvdCIsInNlY29uZGFyeSIsImZvb3Rub3RlIiwiZm9ybVJlZiIsImZvcm1Qcm9wcyIsImlubmVyUmVmIiwidXNlUmVsYXllZEZvcm1SZWYiLCJfdXNlU3VibWl0QWN0aW9uIiwidXNlU3VibWl0QWN0aW9uIiwic3VibWl0dGluZyIsImhhbmRsZUZpbmlzaCIsImZvcm1JZCIsInVzZUZvcm1Eb21JZCIsImlkIiwiX2pzeHMiLCJGb3JtTGF5b3V0IiwidmFyaWFudCIsImZvb3RlciIsIl9qc3giLCJBY3Rpb25CYXIiLCJsYXlvdXQiLCJwcmltYXJ5IiwidW5kZWZpbmVkIiwibGFiZWwiLCJsb2FkaW5nIiwidHlwZSIsImZvcm0iLCJwcmltYXJ5U2xvdCIsInN1Ym1pdCIsIl9hIiwiY3VycmVudCIsInN1Ym1pdEZvcm0iLCJUeXBvZ3JhcGh5IiwiQm9keSIsImFzIiwic3Ryb25nIiwiY29sb3IiLCJCYXNlUHJvRm9ybSIsIk9iamVjdCIsImFzc2lnbiIsIm9uRmluaXNoIiwiUGFnZUZvcm0iLCJleHBvcnRzIiwiRmllbGQiLCJGb3JtRmllbGQiXSwibWFwcGluZ3MiOiI7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QyxFQUFBO1VBQUMsT0FBQSxDQUFBQSxFQUFBLEdBQUF4QixRQUFRLENBQUN5QixPQUFPLE1BQUEsSUFBQSxJQUFBRCxFQUFBLEtBQUEsS0FBQSxDQUFBLEdBQUEsS0FBQSxDQUFBLEdBQUFBLEVBQUEsQ0FBRUUsVUFBVSxDQUFBLENBQUU7UUFBQSxDQUFBO1FBQzVDdEIsVUFBVSxFQUFWQSxVQUFVO1FBQ1ZFLE1BQU0sRUFBTkE7TUQvQkEsQ0NnQ0QsQ0FBQztNQUNGVCxRQUFRLEVBQUVBO0lBQVEsQ0FBQSxDQUNsQjtJQUFBUCxRQUFBLEVBQUEsQ0FHSEQsV0FBVyxJQUNWLElBQUF3QixlQUFBLEVBQUNjLHNCQUFVLENBQUNDLElBQUksRUFBQTtNQUFDQyxFQUFFLEVBQUMsR0FBRztNQUFDN0MsSUFBSSxFQUFDLElBQUk7TUFBQzhDLE1BQU0sRUFBQSxJQUFBO01BQUNDLEtBQUssRUFBQyxtQkFBbUI7TUFBQXpDLFFBQUEsRUFDL0REO0lBQVcsQ0FBQSxDQUVmLEVBQ0QsSUFBQXdCLGVBQUEsRUFBQ21CLHdCQUFXLEVBQUFDLE1BQUEsQ0FBQUMsTUFBQSxDQUFBLENBQUEsQ0FBQSxFQUNObkMsU0FBUyxFQUFBO01BQ2JTLEVBQUUsRUFBRUYsTUFBTTtNQUNWSyxPQUFPLEVBQUMsTUFBTTtNQUNkM0IsSUFBSSxFQUFFQSxJQUFJO01BQ1ZjLE9BQU8sRUFBRUUsUUFBUTtNQUNqQlQsYUFBYSxFQUFFQSxhQUFhO01BQzVCNEMsUUFBUSxFQUFFOUIsWUFBWTtNQUFBZixRQUFBLEVBRXJCQTtJQUFRLENBQUEsQ0FBQSxDQUNHO0VBQUEsQ0FBQSxDQUNIO0FBRWpCLENBQUM7QUFFTSxJQUFNOEMsUUFBUSxHQUFBQyxPQUFBLENBQUFELFFBQUEsR0FBR0gsTUFBTSxDQUFDQyxNQUFNLENBQUNyRCxhQUFhLEVBQUU7RUFBRXlELEtBQUssRUFBRUM7QUFBUyxDQUFFLENBQUMiLCJmaWxlIjoiYnVzaW5lc3MvUGFnZUZvcm0vUGFnZUZvcm0uanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBqc3ggYXMgX2pzeCwganN4cyBhcyBfanN4cyB9IGZyb20gXCJyZWFjdC9qc3gtcnVudGltZVwiO1xuaW1wb3J0IHsgQWN0aW9uQmFyIH0gZnJvbSAnLi4vLi4vY29tcG9uZW50cy9BY3Rpb25CYXInO1xuaW1wb3J0IHsgRm9ybUxheW91dCB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvRm9ybUxheW91dCc7XG5pbXBvcnQgeyBUeXBvZ3JhcGh5IH0gZnJvbSAnLi4vLi4vY29tcG9uZW50cy9UeXBvZ3JhcGh5JztcbmltcG9ydCB7IEJhc2VQcm9Gb3JtLCBGb3JtRmllbGQgfSBmcm9tICcuLi9zaGFyZWQvZm9ybUNvcmUvQmFzZVByb0Zvcm0nO1xuaW1wb3J0IHsgdXNlRm9ybURvbUlkIH0gZnJvbSAnLi4vc2hhcmVkL2Zvcm1Db3JlL3VzZUZvcm1Eb21JZCc7XG5pbXBvcnQgeyB1c2VSZWxheWVkRm9ybVJlZiB9IGZyb20gJy4uL3NoYXJlZC9mb3JtQ29yZS91c2VSZWxheWVkRm9ybVJlZic7XG5pbXBvcnQgeyB1c2VTdWJtaXRBY3Rpb24gfSBmcm9tICcuLi9zaGFyZWQvZm9ybUNvcmUvdXNlU3VibWl0QWN0aW9uJztcbi8qKlxuICogRm9ybSBzY2VuYXJpbyBzaGVsbCBmb3IgdGhlIFBBR0UgaG9zdCDigJQgdGhlIGluLWRvY3VtZW50IGNvdW50ZXJwYXJ0IG9mXG4gKiBgRm9ybURpYWxvZ2A6XG4gKlxuICogICBGb3JtTGF5b3V0KHBhZ2UpICAgY2FyZCBjaHJvbWUgKyBwYWdlIGRlbnNpdHksIG5vIG92ZXJsYXksIG5ldmVyIHNjcm9sbHNcbiAqICAgICAgICAgICAgICAgICAgICAgIGludGVybmFsbHkuIGBzaXplYCBzZWxlY3RzIHRoZSBkZW5zaXR5OiBgbGFyZ2VgICg3MzggL1xuICogICAgICAgICAgICAgICAgICAgICAgMzIgLyAyNCwgZGVmYXVsdCkgb3IgYHNtYWxsYCAoNDQ4IC8gMjQgLyAxNiDigJQgdGhlXG4gKiAgICAgICAgICAgICAgICAgICAgICBjb21wYWN0IGF1dGggY2FyZCkuIEJvdGggcmVzb2x2ZSBpbnNpZGUgRm9ybUxheW91dDtcbiAqICAgICAgICAgICAgICAgICAgICAgIHRoaXMgc2hlbGwgb25seSBmb3J3YXJkcyBgc2l6ZWAuXG4gKiAgIOKUnOKUgCBCYXNlUHJvRm9ybSAgICAgc2FtZSBzaW5nbGUgUHJvRm9ybSBjb25maWcgcG9pbnQgKHZhcmlhbnQ9J3BhZ2UnICsgdGhlXG4gKiAgIOKUgiAgICAgICAgICAgICAgICAgIHNhbWUgYHNpemVgLCBzbyBjb250cm9sIHNpemUgLyBndXR0ZXIgLyByb3cgZ2FwIG1hdGNoKVxuICogICDilJTilIAgQWN0aW9uQmFyKGZpbGwpIGZ1bGwtd2lkdGggc3VibWl0IChwYWdlIGZvcm1zIHBlciB0aGUgRFMpXG4gKlxuICogVGhlIFNBTUUgZmllbGRzIHJlbmRlciBpZGVudGljYWxseSBoZXJlIGFuZCBpbiBGb3JtRGlhbG9nIOKAlCBvbmx5IHRoZVxuICogY29udGFpbmVyIGRpZmZlcnMuXG4gKi9cbmNvbnN0IFBhZ2VGb3JtSW5uZXIgPSAoeyBzaXplID0gJ2xhcmdlJywgd2lkdGgsIGNsYXNzTmFtZSwgdGl0bGUsIGV4dHJhLCBkZXNjcmlwdGlvbiwgY2hpbGRyZW4sIGluaXRpYWxWYWx1ZXMsIG9uU3VibWl0LCBvblN1Y2Nlc3MsIHN1Ym1pdFRleHQsIHN1Ym1pdFNsb3QsIHNlY29uZGFyeSwgZm9vdG5vdGUsIGZvcm1SZWYsIGZvcm1Qcm9wcywgfSkgPT4ge1xuICAgIGNvbnN0IGlubmVyUmVmID0gdXNlUmVsYXllZEZvcm1SZWYoZm9ybVJlZik7XG4gICAgY29uc3QgeyBzdWJtaXR0aW5nLCBoYW5kbGVGaW5pc2ggfSA9IHVzZVN1Ym1pdEFjdGlvbihvblN1Ym1pdCwgb25TdWNjZXNzKTtcbiAgICBjb25zdCBmb3JtSWQgPSB1c2VGb3JtRG9tSWQoZm9ybVByb3BzID09PSBudWxsIHx8IGZvcm1Qcm9wcyA9PT0gdm9pZCAwID8gdm9pZCAwIDogZm9ybVByb3BzLmlkKTtcbiAgICByZXR1cm4gKF9qc3hzKEZvcm1MYXlvdXQsIHsgdmFyaWFudDogJ3BhZ2UnLCBzaXplOiBzaXplLCB3aWR0aDogd2lkdGgsIGNsYXNzTmFtZTogY2xhc3NOYW1lLCB0aXRsZTogdGl0bGUsIGV4dHJhOiBleHRyYSwgZm9vdGVyOiBfanN4KEFjdGlvbkJhciwgeyBsYXlvdXQ6ICdmaWxsJywgc2Vjb25kYXJ5OiBzZWNvbmRhcnksIHByaW1hcnk6IHN1Ym1pdFNsb3QgPyB1bmRlZmluZWQgOiB7XG4gICAgICAgICAgICAgICAgbGFiZWw6IHN1Ym1pdFRleHQsXG4gICAgICAgICAgICAgICAgbG9hZGluZzogc3VibWl0dGluZyxcbiAgICAgICAgICAgICAgICAvLyBBIFJFQUwgc3VibWl0IGJ1dHRvbiBhc3NvY2lhdGVkIHdpdGggdGhlIGZvcm06IGl0IGJlY29tZXMgdGhlXG4gICAgICAgICAgICAgICAgLy8gZm9ybSdzIGRlZmF1bHQgYnV0dG9uLCBzbyBFbnRlciBhY3RpdmF0ZXMgaXQgKGFuZCBpdHMgZGlzYWJsZWRcbiAgICAgICAgICAgICAgICAvLyBzdGF0ZSkgaW5zdGVhZCBvZiBzdWJtaXR0aW5nIHRoZSBmb3JtIGRpcmVjdGx5LlxuICAgICAgICAgICAgICAgIHR5cGU6ICdzdWJtaXQnLFxuICAgICAgICAgICAgICAgIGZvcm06IGZvcm1JZCxcbiAgICAgICAgICAgIH0sIHByaW1hcnlTbG90OiBzdWJtaXRTbG90ID09PSBudWxsIHx8IHN1Ym1pdFNsb3QgPT09IHZvaWQgMCA/IHZvaWQgMCA6IHN1Ym1pdFNsb3Qoe1xuICAgICAgICAgICAgICAgIHN1Ym1pdDogKCkgPT4geyB2YXIgX2E7IHJldHVybiAoX2EgPSBpbm5lclJlZi5jdXJyZW50KSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2Euc3VibWl0Rm9ybSgpOyB9LFxuICAgICAgICAgICAgICAgIHN1Ym1pdHRpbmcsXG4gICAgICAgICAgICAgICAgZm9ybUlkLFxuICAgICAgICAgICAgfSksIGZvb3Rub3RlOiBmb290bm90ZSB9KSwgY2hpbGRyZW46IFtkZXNjcmlwdGlvbiAmJiAoX2pzeChUeXBvZ3JhcGh5LkJvZHksIHsgYXM6ICdwJywgc2l6ZTogJ21kJywgc3Ryb25nOiB0cnVlLCBjb2xvcjogJ2RlZmF1bHQtc2Vjb25kYXJ5JywgY2hpbGRyZW46IGRlc2NyaXB0aW9uIH0pKSwgX2pzeChCYXNlUHJvRm9ybSwgT2JqZWN0LmFzc2lnbih7fSwgZm9ybVByb3BzLCB7IGlkOiBmb3JtSWQsIHZhcmlhbnQ6ICdwYWdlJywgc2l6ZTogc2l6ZSwgZm9ybVJlZjogaW5uZXJSZWYsIGluaXRpYWxWYWx1ZXM6IGluaXRpYWxWYWx1ZXMsIG9uRmluaXNoOiBoYW5kbGVGaW5pc2gsIGNoaWxkcmVuOiBjaGlsZHJlbiB9KSldIH0pKTtcbn07XG5leHBvcnQgY29uc3QgUGFnZUZvcm0gPSBPYmplY3QuYXNzaWduKFBhZ2VGb3JtSW5uZXIsIHsgRmllbGQ6IEZvcm1GaWVsZCB9KTsiLG51bGxdLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjIn0=
@@ -34,13 +34,24 @@ export interface PageFormProps<Values extends Record<string, any> = Record<strin
34
34
  /**
35
35
  * Replace the built-in submit button with a custom node — for submits the
36
36
  * action model cannot express (Button2FA challenges, permission-gated
37
- * wrappers). Receives the internal validated-submit trigger and the
38
- * in-flight flag; the node takes the primary position in the ActionBar
39
- * (same width/track rules).
37
+ * wrappers); the node takes the primary position in the ActionBar (same
38
+ * width/track rules).
39
+ *
40
+ * A slot button that triggers the form's own submit MUST render as
41
+ * `type='submit' form={formId}` (no `onClick={submit}`): the association
42
+ * makes it the form's DEFAULT button, so Enter-to-submit activates it and
43
+ * respects its `disabled` state. A `type='button'` + `onClick` wiring
44
+ * leaves the native Enter path open past whatever gate disables the button.
45
+ * `submit` remains for flows that submit imperatively at another moment
46
+ * (e.g. after a Button2FA challenge).
40
47
  */
41
48
  submitSlot?: (ctx: {
49
+ /** Imperative validated-submit trigger (post-challenge flows). */
42
50
  submit: () => void;
51
+ /** True while the shell-owned `onSubmit` is in flight. */
43
52
  submitting: boolean;
53
+ /** DOM id of the underlying `<form>` — pair with `type='submit'`. */
54
+ formId: string;
44
55
  }) => ReactNode;
45
56
  /** Optional secondary (left) action. */
46
57
  secondary?: ActionBarAction;
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Stable DOM id for the shell's `<form>` element.
3
+ *
4
+ * The ActionBar footer lives OUTSIDE the `<form>` (it is FormLayout footer
5
+ * content), so its submit button associates with the form via the native
6
+ * `form` attribute. That association makes the button the form's DEFAULT
7
+ * button: Enter-to-submit then activates the button — and respects its
8
+ * `disabled` state — instead of submitting the form directly. Without a
9
+ * default button, a form with exactly one blocking field submits itself on
10
+ * Enter, bypassing whatever gate wraps the button.
11
+ *
12
+ * Respects a consumer-provided id (`formProps.id`) so external labels or
13
+ * tests can pin their own.
14
+ */
15
+ export declare const useFormDomId: (explicitId?: string) => string;
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.useFormDomId = void 0;
7
+ var _react = require("react");
8
+ /**
9
+ * Stable DOM id for the shell's `<form>` element.
10
+ *
11
+ * The ActionBar footer lives OUTSIDE the `<form>` (it is FormLayout footer
12
+ * content), so its submit button associates with the form via the native
13
+ * `form` attribute. That association makes the button the form's DEFAULT
14
+ * button: Enter-to-submit then activates the button — and respects its
15
+ * `disabled` state — instead of submitting the form directly. Without a
16
+ * default button, a form with exactly one blocking field submits itself on
17
+ * Enter, bypassing whatever gate wraps the button.
18
+ *
19
+ * Respects a consumer-provided id (`formProps.id`) so external labels or
20
+ * tests can pin their own.
21
+ */
22
+ var useFormDomId = exports.useFormDomId = function useFormDomId(explicitId) {
23
+ var reactId = (0, _react.useId)();
24
+ // useId returns `:r0:` — sanitize for getElementById / CSS selectors
25
+ return explicitId !== null && explicitId !== void 0 ? explicitId : "om-form-".concat(reactId.replace(/[^a-zA-Z0-9_-]/g, ''));
26
+ };
27
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImJ1c2luZXNzL3NoYXJlZC9zcmMvYnVzaW5lc3Mvc2hhcmVkL2Zvcm1Db3JlL3VzZUZvcm1Eb21JZC50cyIsImJ1c2luZXNzL3NoYXJlZC9mb3JtQ29yZS91c2VGb3JtRG9tSWQuanMiXSwibmFtZXMiOlsiX3JlYWN0IiwicmVxdWlyZSIsInVzZUZvcm1Eb21JZCIsImV4cG9ydHMiLCJleHBsaWNpdElkIiwicmVhY3RJZCIsInVzZUlkIiwiY29uY2F0IiwicmVwbGFjZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsSUFBQUEsTUFBQSxHQUFBQyxPQUFBO0FBRUE7QUNBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBREVPLElBQU1DLFlBQVksR0FBQUMsT0FBQSxDQUFBRCxZQUFBLEdBQUcsU0FBZkEsWUFBWUEsQ0FBSUUsVUFBbUIsRUFBWTtFQUMxRCxJQUFNQyxPQUFPLEdBQUcsSUFBQUMsWUFBSyxFQUFBLENBQUU7RUFDdkI7RUFDQSxPQUFPRixVQUFVLEtBQUEsSUFBQSxJQUFWQSxVQUFVLEtBQUEsS0FBQSxDQUFBLEdBQVZBLFVBQVUsY0FBQUcsTUFBQSxDQUFlRixPQUFPLENBQUNHLE9BQU8sQ0FBQyxpQkFBaUIsRUFBRSxFQUFFLENBQUMsQ0FBRTtBQUMxRSxDQUFDIiwiZmlsZSI6ImJ1c2luZXNzL3NoYXJlZC9mb3JtQ29yZS91c2VGb3JtRG9tSWQuanMiLCJzb3VyY2VzQ29udGVudCI6W251bGwsImltcG9ydCB7IHVzZUlkIH0gZnJvbSAncmVhY3QnO1xuLyoqXG4gKiBTdGFibGUgRE9NIGlkIGZvciB0aGUgc2hlbGwncyBgPGZvcm0+YCBlbGVtZW50LlxuICpcbiAqIFRoZSBBY3Rpb25CYXIgZm9vdGVyIGxpdmVzIE9VVFNJREUgdGhlIGA8Zm9ybT5gIChpdCBpcyBGb3JtTGF5b3V0IGZvb3RlclxuICogY29udGVudCksIHNvIGl0cyBzdWJtaXQgYnV0dG9uIGFzc29jaWF0ZXMgd2l0aCB0aGUgZm9ybSB2aWEgdGhlIG5hdGl2ZVxuICogYGZvcm1gIGF0dHJpYnV0ZS4gVGhhdCBhc3NvY2lhdGlvbiBtYWtlcyB0aGUgYnV0dG9uIHRoZSBmb3JtJ3MgREVGQVVMVFxuICogYnV0dG9uOiBFbnRlci10by1zdWJtaXQgdGhlbiBhY3RpdmF0ZXMgdGhlIGJ1dHRvbiDigJQgYW5kIHJlc3BlY3RzIGl0c1xuICogYGRpc2FibGVkYCBzdGF0ZSDigJQgaW5zdGVhZCBvZiBzdWJtaXR0aW5nIHRoZSBmb3JtIGRpcmVjdGx5LiBXaXRob3V0IGFcbiAqIGRlZmF1bHQgYnV0dG9uLCBhIGZvcm0gd2l0aCBleGFjdGx5IG9uZSBibG9ja2luZyBmaWVsZCBzdWJtaXRzIGl0c2VsZiBvblxuICogRW50ZXIsIGJ5cGFzc2luZyB3aGF0ZXZlciBnYXRlIHdyYXBzIHRoZSBidXR0b24uXG4gKlxuICogUmVzcGVjdHMgYSBjb25zdW1lci1wcm92aWRlZCBpZCAoYGZvcm1Qcm9wcy5pZGApIHNvIGV4dGVybmFsIGxhYmVscyBvclxuICogdGVzdHMgY2FuIHBpbiB0aGVpciBvd24uXG4gKi9cbmV4cG9ydCBjb25zdCB1c2VGb3JtRG9tSWQgPSAoZXhwbGljaXRJZCkgPT4ge1xuICAgIGNvbnN0IHJlYWN0SWQgPSB1c2VJZCgpO1xuICAgIC8vIHVzZUlkIHJldHVybnMgYDpyMDpgIOKAlCBzYW5pdGl6ZSBmb3IgZ2V0RWxlbWVudEJ5SWQgLyBDU1Mgc2VsZWN0b3JzXG4gICAgcmV0dXJuIGV4cGxpY2l0SWQgIT09IG51bGwgJiYgZXhwbGljaXRJZCAhPT0gdm9pZCAwID8gZXhwbGljaXRJZCA6IGBvbS1mb3JtLSR7cmVhY3RJZC5yZXBsYWNlKC9bXmEtekEtWjAtOV8tXS9nLCAnJyl9YDtcbn07Il0sInNvdXJjZVJvb3QiOiIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMifQ==
@@ -27,6 +27,8 @@ var renderAction = function renderAction(action, fallbackLabel, defaultColor, si
27
27
  loading: action.loading,
28
28
  disabled: action.disabled,
29
29
  onClick: action.onClick,
30
+ type: action.type,
31
+ form: action.form,
30
32
  children: (_b = action.label) !== null && _b !== void 0 ? _b : fallbackLabel
31
33
  });
32
34
  };
@@ -121,4 +123,4 @@ var ActionBarBase = function ActionBarBase(_ref2) {
121
123
  });
122
124
  };
123
125
  var ActionBar = exports.ActionBar = /*#__PURE__*/(0, _react.memo)(ActionBarBase);
124
- //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvQWN0aW9uQmFyL0FjdGlvbkJhci5qcyIsImNvbXBvbmVudHMvc3JjL2NvbXBvbmVudHMvQWN0aW9uQmFyL0FjdGlvbkJhci50c3giXSwibmFtZXMiOlsiX2pzeFJ1bnRpbWUiLCJyZXF1aXJlIiwiX3JlYWN0IiwiX0J1dHRvbiIsIl9EaXZpZGVyIiwiX0ZsZXgiLCJfVHlwb2dyYXBoeSIsIl9jbGFzc25hbWVzIiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJfY29uc3RhbnRzIiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwiZSIsIldlYWtNYXAiLCJyIiwidCIsIl9fZXNNb2R1bGUiLCJfdHlwZW9mIiwiaGFzIiwiZ2V0IiwibiIsIl9fcHJvdG9fXyIsImEiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsInUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJpIiwic2V0IiwiQUNUSVZBVElPTl9LRVlTIiwicmVuZGVyQWN0aW9uIiwiYWN0aW9uIiwiZmFsbGJhY2tMYWJlbCIsImRlZmF1bHRDb2xvciIsInNpemUiLCJfYSIsIl9iIiwiX2pzeCIsIkJ1dHRvbiIsInZhcmlhbnQiLCJjb2xvciIsImljb25TdGFydCIsImljb24iLCJsb2FkaW5nIiwiZGlzYWJsZWQiLCJvbkNsaWNrIiwiY2hpbGRyZW4iLCJsYWJlbCIsIkZvb3Rub3RlIiwiX3JlZiIsInByb21wdCIsImRpdmlkZWQiLCJjbGFzc2VzIiwiaGFuZGxlS2V5RG93biIsImV2ZW50IiwiaW5jbHVkZXMiLCJrZXkiLCJwcmV2ZW50RGVmYXVsdCIsIl9qc3hzIiwiY2xhc3NOYW1lIiwiQUNUSU9OX0JBUl9TTE9UIiwiZm9vdG5vdGUiLCJEaXZpZGVyIiwiRmxleCIsImFsaWduIiwianVzdGlmeSIsImdhcCIsIlR5cG9ncmFwaHkiLCJCb2R5Iiwic3Ryb25nIiwiTGluayIsInJvbGUiLCJ0YWJJbmRleCIsIm9uS2V5RG93biIsIkFjdGlvbkJhckJhc2UiLCJfcmVmMiIsIl9yZWYyJGxheW91dCIsImxheW91dCIsIl9yZWYyJGRpcmVjdGlvbiIsImRpcmVjdGlvbiIsInByaW1hcnkiLCJwcmltYXJ5U2xvdCIsInNlY29uZGFyeSIsIl9yZWYyJHByZWZpeENscyIsInByZWZpeENscyIsIkFDVElPTl9CQVJfUFJFRklYIiwiX2MiLCJfZCIsImNsYXNzbmFtZXMiLCJ2ZXJ0aWNhbCIsImJ1dHRvblNpemUiLCJBQ1RJT05fQkFSX0JVVFRPTl9TSVpFIiwiaXRlbXMiLCJvcmRlciIsIm5vZGUiLCJBQ1RJT05fQkFSX0RFRkFVTFRTIiwic2Vjb25kYXJ5TGFiZWwiLCJzZWNvbmRhcnlDb2xvciIsInByaW1hcnlMYWJlbCIsInByaW1hcnlDb2xvciIsInVuZGVmaW5lZCIsImZpbHRlciIsIml0ZW0iLCJCb29sZWFuIiwic29ydCIsImIiLCJsZW5ndGgiLCJqb2luQ2xzIiwiYWN0aW9ucyIsIm1hcCIsIkZyYWdtZW50IiwiYXNzaWduIiwiQWN0aW9uQmFyIiwiZXhwb3J0cyIsIm1lbW8iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQSxJQUFBQSxXQUFBLEdBQUFDLE9BQUE7QUNBQSxJQUFBQyxNQUFBLEdBQUFELE9BQUE7QUFDQSxJQUFBRSxPQUFBLEdBQUFGLE9BQUE7QUFDQSxJQUFBRyxRQUFBLEdBQUFILE9BQUE7QUFDQSxJQUFBSSxLQUFBLEdBQUFKLE9BQUE7QUFDQSxJQUFBSyxXQUFBLEdBQUFMLE9BQUE7QUFDQSxJQUFBTSxXQUFBLEdBQUFDLHVCQUFBLENBQUFQLE9BQUE7QUFDQSxJQUFBUSxVQUFBLEdBQUFSLE9BQUE7QUFVQUEsT0FBQTtBQUFpQixTQUFBUyx5QkFBQUMsQ0FBQSw2QkFBQUMsT0FBQSxtQkFBQUMsQ0FBQSxPQUFBRCxPQUFBLElBQUFFLENBQUEsT0FBQUYsT0FBQSxZQUFBRix3QkFBQSxZQUFBQSx5QkFBQUMsQ0FBQSxXQUFBQSxDQUFBLEdBQUFHLENBQUEsR0FBQUQsQ0FBQSxLQUFBRixDQUFBO0FBQUEsU0FB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RSxFQUFFQSxPQUFPLENBQUN5QixNQUFNLENBQUMsRUFBRXpCLE9BQU8sQ0FBQzJCLFNBQVMsQ0FBQyxFQUFFcEIsU0FBUyxDQUFDO0lBQUFiLFFBQUEsRUFBQSxDQUU1RThDLEtBQUssQ0FBQ2MsTUFBTSxHQUFHLENBQUMsSUFDZixJQUFBckUsZUFBQSxFQUFDMEIsVUFBSSxFQUFBO01BQUMwQixRQUFRLEVBQUVBLFFBQVE7TUFBRTlCLFNBQVMsRUFBRVAsT0FBTyxDQUFDUSwwQkFBZSxDQUFDZ0QsT0FBTyxDQUFDO01BQUE5RCxRQUFBLEVBQ2xFOEMsS0FBSyxDQUFDaUIsR0FBRyxDQUFDLFVBQUNQLElBQUk7UUFBQSxPQUNkLElBQUFqRSxlQUFBLEVBQUN5RSxlQUFRLEVBQUE7VUFBQWhFLFFBQUEsRUFBaUJ3RCxJQUFJLENBQUNSO1FBQUksQ0FBQSxFQUFwQlEsSUFBSSxDQUFDOUMsR0FBRyxDQUF3QjtNQUFBLENBQ2hEO0lBQUMsQ0FBQSxDQUVMLEVBQ0FLLFFBQVEsSUFBSSxJQUFBeEIsZUFBQSxFQUFDVyxRQUFRLEVBQUEzQixNQUFBLENBQUEwRixNQUFBLENBQUEsQ0FBQSxDQUFBLEVBQUtsRCxRQUFRLEVBQUE7TUFBRVQsT0FBTyxFQUFFQTtJQUFPLENBQUEsQ0FBQSxDQUFJO0VBQUEsQ0FBQSxDQUNwRDtBQUVYLENBQUM7QUFFTSxJQUFNNEQsU0FBUyxHQUFBQyxPQUFBLENBQUFELFNBQUEsZ0JBQUcsSUFBQUUsV0FBSSxFQUFDeEMsYUFBYSxDQUFDIiwiZmlsZSI6ImNvbXBvbmVudHMvQWN0aW9uQmFyL0FjdGlvbkJhci5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGpzeCBhcyBfanN4LCBqc3hzIGFzIF9qc3hzIH0gZnJvbSBcInJlYWN0L2pzeC1ydW50aW1lXCI7XG5pbXBvcnQgeyBGcmFnbWVudCwgbWVtbyB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IEJ1dHRvbiB9IGZyb20gJy4uL0J1dHRvbic7XG5pbXBvcnQgeyBEaXZpZGVyIH0gZnJvbSAnLi4vRGl2aWRlcic7XG5pbXBvcnQgeyBGbGV4IH0gZnJvbSAnLi4vRmxleCc7XG5pbXBvcnQgeyBUeXBvZ3JhcGh5IH0gZnJvbSAnLi4vVHlwb2dyYXBoeSc7XG5pbXBvcnQgeyBkZWZhdWx0IGFzIGNsYXNzbmFtZXMsIGpvaW5DbHMgfSBmcm9tICcuLi8uLi91dGlscy9jbGFzc25hbWVzJztcbmltcG9ydCB7IEFDVElPTl9CQVJfQlVUVE9OX1NJWkUsIEFDVElPTl9CQVJfREVGQVVMVFMsIEFDVElPTl9CQVJfUFJFRklYLCBBQ1RJT05fQkFSX1NMT1QsIH0gZnJvbSAnLi9jb25zdGFudHMnO1xuaW1wb3J0ICcuL3N0eWxlJztcbmNvbnN0IEFDVElWQVRJT05fS0VZUyA9IFsnRW50ZXInLCAnICddO1xuY29uc3QgcmVuZGVyQWN0aW9uID0gKGFjdGlvbiwgZmFsbGJhY2tMYWJlbCwgZGVmYXVsdENvbG9yLCBzaXplKSA9PiB7XG4gICAgdmFyIF9hLCBfYjtcbiAgICByZXR1cm4gKF9qc3goQnV0dG9uLCB7IHNpemU6IHNpemUsIHZhcmlhbnQ6IGFjdGlvbi52YXJpYW50LCBjb2xvcjogKF9hID0gYWN0aW9uLmNvbG9yKSAhPT0gbnVsbCAmJiBfYSAhPT0gdm9pZCAwID8gX2EgOiBkZWZhdWx0Q29sb3IsIGljb25TdGFydDogYWN0aW9uLmljb24sIGxvYWRpbmc6IGFjdGlvbi5sb2FkaW5nLCBkaXNhYmxlZDogYWN0aW9uLmRpc2FibGVkLCBvbkNsaWNrOiBhY3Rpb24ub25DbGljaywgY2hpbGRyZW46IChfYiA9IGFjdGlvbi5sYWJlbCkgIT09IG51bGwgJiYgX2IgIT09IHZvaWQgMCA/IF9iIDogZmFsbGJhY2tMYWJlbCB9KSk7XG59O1xuY29uc3QgRm9vdG5vdGUgPSAoeyBwcm9tcHQsIGFjdGlvbiwgb25DbGljaywgZGl2aWRlZCwgY2xhc3NlcywgfSkgPT4ge1xuICAgIGNvbnN0IGhhbmRsZUtleURvd24gPSAoZXZlbnQpID0+IHtcbiAgICAgICAgaWYgKCFBQ1RJVkFUSU9OX0tFWVMuaW5jbHVkZXMoZXZlbnQua2V5KSlcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgb25DbGljayA9PT0gbnVsbCB8fCBvbkNsaWNrID09PSB2b2lkIDAgPyB2b2lkIDAgOiBvbkNsaWNrKCk7XG4gICAgfTtcbiAgICByZXR1cm4gKF9qc3hzKFwiZGl2XCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKEFDVElPTl9CQVJfU0xPVC5mb290bm90ZSksIGNoaWxkcmVuOiBbZGl2aWRlZCAmJiBfanN4KERpdmlkZXIsIHt9KSwgX2pzeHMoRmxleCwgeyBhbGlnbjogJ2NlbnRlcicsIGp1c3RpZnk6ICdjZW50ZXInLCBnYXA6IDQsIGNoaWxkcmVuOiBbcHJvbXB0ICYmIChfanN4KFR5cG9ncmFwaHkuQm9keSwgeyBzaXplOiAnbWQnLCBzdHJvbmc6IHRydWUsIGNvbG9yOiAnZGVmYXVsdC10ZXJ0aWFyeScsIGNoaWxkcmVuOiBwcm9tcHQgfSkpLCBhY3Rpb24gJiYgKF9qc3goVHlwb2dyYXBoeS5MaW5rLCB7IHNpemU6ICdtZCcsIGNvbG9yOiAnYnJhbmQnLCByb2xlOiAnYnV0dG9uJywgdGFiSW5kZXg6IDAsIG9uQ2xpY2s6IG9uQ2xpY2ssIG9uS2V5RG93bjogaGFuZGxlS2V5RG93biwgY2hpbGRyZW46IGFjdGlvbiB9KSldIH0pXSB9KSk7XG59O1xuLyoqXG4gKiBGb290ZXIgYWN0aW9uIGVuZ2luZSBzaGFyZWQgYnkgZXZlcnkgZm9ybS9kaWFsb2cgc3VyZmFjZS4gT3JkZXIgYW5kIHRvbmVzXG4gKiBhcmUgbG9ja2VkIChzZWNvbmRhcnkgbGVmdCwgcHJpbWFyeSByaWdodCk7IHRoZSBgbGF5b3V0YCDigJQgY2hvc2VuIGJ5IHRoZVxuICogc2NlbmFyaW8gc2hlbGwsIG5ldmVyIGJ5IGJ1c2luZXNzIGNvZGUg4oCUIGRlY2lkZXMgdGhlIHR3byBEUyBmb290ZXIgc2hhcGVzOlxuICogYGZpbGxgIChyb3ctc2hhcmluZyBsYXJnZSBidXR0b25zKSBvciBgY29tcGFjdGAgKGF1dG8td2lkdGggbWVkaXVtIGJ1dHRvbnMsXG4gKiBsZWZ0LWFsaWduZWQpLlxuICovXG5jb25zdCBBY3Rpb25CYXJCYXNlID0gKHsgbGF5b3V0ID0gJ2ZpbGwnLCBkaXJlY3Rpb24gPSAnaG9yaXpvbnRhbCcsIHByaW1hcnksIHByaW1hcnlTbG90LCBzZWNvbmRhcnksIGZvb3Rub3RlLCBwcmVmaXhDbHMgPSBBQ1RJT05fQkFSX1BSRUZJWCwgY2xhc3NOYW1lLCB9KSA9PiB7XG4gICAgdmFyIF9hLCBfYiwgX2MsIF9kO1xuICAgIGNvbnN0IGNsYXNzZXMgPSBjbGFzc25hbWVzKHByZWZpeENscyk7XG4gICAgY29uc3QgdmVydGljYWwgPSBkaXJlY3Rpb24gPT09ICd2ZXJ0aWNhbCc7XG4gICAgY29uc3QgYnV0dG9uU2l6ZSA9IEFDVElPTl9CQVJfQlVUVE9OX1NJWkVbbGF5b3V0XTtcbiAgICAvLyBEZWZhdWx0IG9yZGVyOiBob3Jpem9udGFsIOKGkiBzZWNvbmRhcnkgbGVmdCBvZiBwcmltYXJ5OyB2ZXJ0aWNhbCDihpJcbiAgICAvLyBwcmltYXJ5IG9uIHRvcC4gQW4gZXhwbGljaXQgYGFjdGlvbi5vcmRlcmAgb3ZlcnJpZGVzIGVpdGhlci5cbiAgICBjb25zdCBpdGVtcyA9IFtcbiAgICAgICAgc2Vjb25kYXJ5ICYmIHtcbiAgICAgICAgICAgIGtleTogJ3NlY29uZGFyeScsXG4gICAgICAgICAgICBvcmRlcjogKF9hID0gc2Vjb25kYXJ5Lm9yZGVyKSAhPT0gbnVsbCAmJiBfYSAhPT0gdm9pZCAwID8gX2EgOiAodmVydGljYWwgPyAxIDogMCksXG4gICAgICAgICAgICBub2RlOiByZW5kZXJBY3Rpb24oc2Vjb25kYXJ5LCBBQ1RJT05fQkFSX0RFRkFVTFRTLnNlY29uZGFyeUxhYmVsLCBBQ1RJT05fQkFSX0RFRkFVTFRTLnNlY29uZGFyeUNvbG9yLCAoX2IgPSBzZWNvbmRhcnkuc2l6ZSkgIT09IG51bGwgJiYgX2IgIT09IHZvaWQgMCA/IF9iIDogYnV0dG9uU2l6ZSksXG4gICAgICAgIH0sXG4gICAgICAgIChwcmltYXJ5IHx8IHByaW1hcnlTbG90ICE9IG51bGwpID8ge1xuICAgICAgICAgICAga2V5OiAncHJpbWFyeScsXG4gICAgICAgICAgICBvcmRlcjogKF9jID0gcHJpbWFyeSA9PT0gbnVsbCB8fCBwcmltYXJ5ID09PSB2b2lkIDAgPyB2b2lkIDAgOiBwcmltYXJ5Lm9yZGVyKSAhPT0gbnVsbCAmJiBfYyAhPT0gdm9pZCAwID8gX2MgOiAodmVydGljYWwgPyAwIDogMSksXG4gICAgICAgICAgICBub2RlOiBwcmltYXJ5U2xvdCAhPT0gbnVsbCAmJiBwcmltYXJ5U2xvdCAhPT0gdm9pZCAwID8gcHJpbWFyeVNsb3QgOiByZW5kZXJBY3Rpb24ocHJpbWFyeSwgQUNUSU9OX0JBUl9ERUZBVUxUUy5wcmltYXJ5TGFiZWwsIEFDVElPTl9CQVJfREVGQVVMVFMucHJpbWFyeUNvbG9yLCAoX2QgPSBwcmltYXJ5LnNpemUpICE9PSBudWxsICYmIF9kICE9PSB2b2lkIDAgPyBfZCA6IGJ1dHRvblNpemUpLFxuICAgICAgICB9IDogdW5kZWZpbmVkLFxuICAgIF1cbiAgICAgICAgLmZpbHRlcigoaXRlbSkgPT4gQm9vbGVhbihpdGVtKSlcbiAgICAgICAgLnNvcnQoKGEsIGIpID0+IGEub3JkZXIgLSBiLm9yZGVyKTtcbiAgICBpZiAoIWl0ZW1zLmxlbmd0aCAmJiAhZm9vdG5vdGUpXG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIHJldHVybiAoX2pzeHMoRmxleCwgeyB2ZXJ0aWNhbDogdHJ1ZSwgZ2FwOiAxNiwgY2xhc3NOYW1lOiBqb2luQ2xzKGNsYXNzZXMoKSwgY2xhc3NlcyhsYXlvdXQpLCBjbGFzc2VzKGRpcmVjdGlvbiksIGNsYXNzTmFtZSksIGNoaWxkcmVuOiBbaXRlbXMubGVuZ3RoID4gMCAmJiAoX2pzeChGbGV4LCB7IHZlcnRpY2FsOiB2ZXJ0aWNhbCwgY2xhc3NOYW1lOiBjbGFzc2VzKEFDVElPTl9CQVJfU0xPVC5hY3Rpb25zKSwgY2hpbGRyZW46IGl0ZW1zLm1hcCgoaXRlbSkgPT4gKF9qc3goRnJhZ21lbnQsIHsgY2hpbGRyZW46IGl0ZW0ubm9kZSB9LCBpdGVtLmtleSkpKSB9KSksIGZvb3Rub3RlICYmIF9qc3goRm9vdG5vdGUsIE9iamVjdC5hc3NpZ24oe30sIGZvb3Rub3RlLCB7IGNsYXNzZXM6IGNsYXNzZXMgfSkpXSB9KSk7XG59O1xuZXhwb3J0IGNvbnN0IEFjdGlvbkJhciA9IG1lbW8oQWN0aW9uQmFyQmFzZSk7IixudWxsXSwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYyJ9
126
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvQWN0aW9uQmFyL0FjdGlvbkJhci5qcyIsImNvbXBvbmVudHMvc3JjL2NvbXBvbmVudHMvQWN0aW9uQmFyL0FjdGlvbkJhci50c3giXSwibmFtZXMiOlsiX2pzeFJ1bnRpbWUiLCJyZXF1aXJlIiwiX3JlYWN0IiwiX0J1dHRvbiIsIl9EaXZpZGVyIiwiX0ZsZXgiLCJfVHlwb2dyYXBoeSIsIl9jbGFzc25hbWVzIiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJfY29uc3RhbnRzIiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwiZSIsIldlYWtNYXAiLCJyIiwidCIsIl9fZXNNb2R1bGUiLCJfdHlwZW9mIiwiaGFzIiwiZ2V0IiwibiIsIl9fcHJvdG9fXyIsImEiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsInUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJpIiwic2V0IiwiQUNUSVZBVElPTl9LRVlTIiwicmVuZGVyQWN0aW9uIiwiYWN0aW9uIiwiZmFsbGJhY2tMYWJlbCIsImRlZmF1bHRDb2xvciIsInNpemUiLCJfYSIsIl9iIiwiX2pzeCIsIkJ1dHRvbiIsInZhcmlhbnQiLCJjb2xvciIsImljb25TdGFydCIsImljb24iLCJsb2FkaW5nIiwiZGlzYWJsZWQiLCJvbkNsaWNrIiwidHlwZSIsImZvcm0iLCJjaGlsZHJlbiIsImxhYmVsIiwiRm9vdG5vdGUiLCJfcmVmIiwicHJvbXB0IiwiZGl2aWRlZCIsImNsYXNzZXMiLCJoYW5kbGVLZXlEb3duIiwiZXZlbnQiLCJpbmNsdWRlcyIsImtleSIsInByZXZlbnREZWZhdWx0IiwiX2pzeHMiLCJjbGFzc05hbWUiLCJBQ1RJT05fQkFSX1NMT1QiLCJmb290bm90ZSIsIkRpdmlkZXIiLCJGbGV4IiwiYWxpZ24iLCJqdXN0aWZ5IiwiZ2FwIiwiVHlwb2dyYXBoeSIsIkJvZHkiLCJzdHJvbmciLCJMaW5rIiwicm9sZSIsInRhYkluZGV4Iiwib25LZXlEb3duIiwiQWN0aW9uQmFyQmFzZSIsIl9yZWYyIiwiX3JlZjIkbGF5b3V0IiwibGF5b3V0IiwiX3JlZjIkZGlyZWN0aW9uIiwiZGlyZWN0aW9uIiwicHJpbWFyeSIsInByaW1hcnlTbG90Iiwic2Vjb25kYXJ5IiwiX3JlZjIkcHJlZml4Q2xzIiwicHJlZml4Q2xzIiwiQUNUSU9OX0JBUl9QUkVGSVgiLCJfYyIsIl9kIiwiY2xhc3NuYW1lcyIsInZlcnRpY2FsIiwiYnV0dG9uU2l6ZSIsIkFDVElPTl9CQVJfQlVUVE9OX1NJWkUiLCJpdGVtcyIsIm9yZGVyIiwibm9kZSIsIkFDVElPTl9CQVJfREVGQVVMVFMiLCJzZWNvbmRhcnlMYWJlbCIsInNlY29uZGFyeUNvbG9yIiwicHJpbWFyeUxhYmVsIiwicHJpbWFyeUNvbG9yIiwidW5kZWZpbmVkIiwiZmlsdGVyIiwiaXRlbSIsIkJvb2xlYW4iLCJzb3J0IiwiYiIsImxlbmd0aCIsImpvaW5DbHMiLCJhY3Rpb25zIiwibWFwIiwiRnJhZ21lbnQiLCJhc3NpZ24iLCJBY3Rpb25CYXIiLCJleHBvcnRzIiwibWVtbyJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBLElBQUFBLFdBQUEsR0FBQUMsT0FBQTtBQ0FBLElBQUFDLE1BQUEsR0FBQUQsT0FBQTtBQUNBLElBQUFFLE9BQUEsR0FBQUYsT0FBQTtBQUNBLElBQUFHLFFBQUEsR0FBQUgsT0FBQTtBQUNBLElBQUFJLEtBQUEsR0FBQUosT0FBQTtBQUNBLElBQUFLLFdBQUEsR0FBQUwsT0FBQTtBQUNBLElBQUFNLFdBQUEsR0FBQUMsdUJBQUEsQ0FBQVAsT0FBQTtBQUNBLElBQUFRLFVBQUEsR0FBQVIsT0FBQTtBQVVBQSxPQUFBO0FBQWlCLFNBQUFTLHlCQUFBQyxDQUFBLDZCQUFBQyxPQUFBLG1CQUFBQyxDQUFBLE9BQUFELE9BQUEsSUFBQUUsQ0FBQSxPQUFBRixPQUFBLFlBQUFGLHdCQUFBLFlBQUFBLHlCQUFBQyxDQUFBLFdBQUFBLENBQUEsR0FBQUcsQ0FBQSxHQUFBRCxDQUFBLEtBQUFG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UUFBUSxFQUFBLElBQUE7SUFDUnZCLEdBQUcsRUFBRSxFQUFFO0lBQ1BQLFNBQVMsRUFBRSxJQUFBZ0QsbUJBQU8sRUFBQ3ZELE9BQU8sQ0FBQSxDQUFFLEVBQUVBLE9BQU8sQ0FBQ3lCLE1BQU0sQ0FBQyxFQUFFekIsT0FBTyxDQUFDMkIsU0FBUyxDQUFDLEVBQUVwQixTQUFTLENBQUM7SUFBQWIsUUFBQSxFQUFBLENBRTVFOEMsS0FBSyxDQUFDYyxNQUFNLEdBQUcsQ0FBQyxJQUNmLElBQUF2RSxlQUFBLEVBQUM0QixVQUFJLEVBQUE7TUFBQzBCLFFBQVEsRUFBRUEsUUFBUTtNQUFFOUIsU0FBUyxFQUFFUCxPQUFPLENBQUNRLDBCQUFlLENBQUNnRCxPQUFPLENBQUM7TUFBQTlELFFBQUEsRUFDbEU4QyxLQUFLLENBQUNpQixHQUFHLENBQUMsVUFBQ1AsSUFBSTtRQUFBLE9BQ2QsSUFBQW5FLGVBQUEsRUFBQzJFLGVBQVEsRUFBQTtVQUFBaEUsUUFBQSxFQUFpQndELElBQUksQ0FBQ1I7UUFBSSxDQUFBLEVBQXBCUSxJQUFJLENBQUM5QyxHQUFHLENBQXdCO01BQUEsQ0FDaEQ7SUFBQyxDQUFBLENBRUwsRUFDQUssUUFBUSxJQUFJLElBQUExQixlQUFBLEVBQUNhLFFBQVEsRUFBQTdCLE1BQUEsQ0FBQTRGLE1BQUEsQ0FBQSxDQUFBLENBQUEsRUFBS2xELFFBQVEsRUFBQTtNQUFFVCxPQUFPLEVBQUVBO0lBQU8sQ0FBQSxDQUFBLENBQUk7RUFBQSxDQUFBLENBQ3BEO0FBRVgsQ0FBQztBQUVNLElBQU00RCxTQUFTLEdBQUFDLE9BQUEsQ0FBQUQsU0FBQSxnQkFBRyxJQUFBRSxXQUFJLEVBQUN4QyxhQUFhLENBQUMiLCJmaWxlIjoiY29tcG9uZW50cy9BY3Rpb25CYXIvQWN0aW9uQmFyLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsganN4IGFzIF9qc3gsIGpzeHMgYXMgX2pzeHMgfSBmcm9tIFwicmVhY3QvanN4LXJ1bnRpbWVcIjtcbmltcG9ydCB7IEZyYWdtZW50LCBtZW1vIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgQnV0dG9uIH0gZnJvbSAnLi4vQnV0dG9uJztcbmltcG9ydCB7IERpdmlkZXIgfSBmcm9tICcuLi9EaXZpZGVyJztcbmltcG9ydCB7IEZsZXggfSBmcm9tICcuLi9GbGV4JztcbmltcG9ydCB7IFR5cG9ncmFwaHkgfSBmcm9tICcuLi9UeXBvZ3JhcGh5JztcbmltcG9ydCB7IGRlZmF1bHQgYXMgY2xhc3NuYW1lcywgam9pbkNscyB9IGZyb20gJy4uLy4uL3V0aWxzL2NsYXNzbmFtZXMnO1xuaW1wb3J0IHsgQUNUSU9OX0JBUl9CVVRUT05fU0laRSwgQUNUSU9OX0JBUl9ERUZBVUxUUywgQUNUSU9OX0JBUl9QUkVGSVgsIEFDVElPTl9CQVJfU0xPVCwgfSBmcm9tICcuL2NvbnN0YW50cyc7XG5pbXBvcnQgJy4vc3R5bGUnO1xuY29uc3QgQUNUSVZBVElPTl9LRVlTID0gWydFbnRlcicsICcgJ107XG5jb25zdCByZW5kZXJBY3Rpb24gPSAoYWN0aW9uLCBmYWxsYmFja0xhYmVsLCBkZWZhdWx0Q29sb3IsIHNpemUpID0+IHtcbiAgICB2YXIgX2EsIF9iO1xuICAgIHJldHVybiAoX2pzeChCdXR0b24sIHsgc2l6ZTogc2l6ZSwgdmFyaWFudDogYWN0aW9uLnZhcmlhbnQsIGNvbG9yOiAoX2EgPSBhY3Rpb24uY29sb3IpICE9PSBudWxsICYmIF9hICE9PSB2b2lkIDAgPyBfYSA6IGRlZmF1bHRDb2xvciwgaWNvblN0YXJ0OiBhY3Rpb24uaWNvbiwgbG9hZGluZzogYWN0aW9uLmxvYWRpbmcsIGRpc2FibGVkOiBhY3Rpb24uZGlzYWJsZWQsIG9uQ2xpY2s6IGFjdGlvbi5vbkNsaWNrLCB0eXBlOiBhY3Rpb24udHlwZSwgZm9ybTogYWN0aW9uLmZvcm0sIGNoaWxkcmVuOiAoX2IgPSBhY3Rpb24ubGFiZWwpICE9PSBudWxsICYmIF9iICE9PSB2b2lkIDAgPyBfYiA6IGZhbGxiYWNrTGFiZWwgfSkpO1xufTtcbmNvbnN0IEZvb3Rub3RlID0gKHsgcHJvbXB0LCBhY3Rpb24sIG9uQ2xpY2ssIGRpdmlkZWQsIGNsYXNzZXMsIH0pID0+IHtcbiAgICBjb25zdCBoYW5kbGVLZXlEb3duID0gKGV2ZW50KSA9PiB7XG4gICAgICAgIGlmICghQUNUSVZBVElPTl9LRVlTLmluY2x1ZGVzKGV2ZW50LmtleSkpXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIG9uQ2xpY2sgPT09IG51bGwgfHwgb25DbGljayA9PT0gdm9pZCAwID8gdm9pZCAwIDogb25DbGljaygpO1xuICAgIH07XG4gICAgcmV0dXJuIChfanN4cyhcImRpdlwiLCB7IGNsYXNzTmFtZTogY2xhc3NlcyhBQ1RJT05fQkFSX1NMT1QuZm9vdG5vdGUpLCBjaGlsZHJlbjogW2RpdmlkZWQgJiYgX2pzeChEaXZpZGVyLCB7fSksIF9qc3hzKEZsZXgsIHsgYWxpZ246ICdjZW50ZXInLCBqdXN0aWZ5OiAnY2VudGVyJywgZ2FwOiA0LCBjaGlsZHJlbjogW3Byb21wdCAmJiAoX2pzeChUeXBvZ3JhcGh5LkJvZHksIHsgc2l6ZTogJ21kJywgc3Ryb25nOiB0cnVlLCBjb2xvcjogJ2RlZmF1bHQtdGVydGlhcnknLCBjaGlsZHJlbjogcHJvbXB0IH0pKSwgYWN0aW9uICYmIChfanN4KFR5cG9ncmFwaHkuTGluaywgeyBzaXplOiAnbWQnLCBjb2xvcjogJ2JyYW5kJywgcm9sZTogJ2J1dHRvbicsIHRhYkluZGV4OiAwLCBvbkNsaWNrOiBvbkNsaWNrLCBvbktleURvd246IGhhbmRsZUtleURvd24sIGNoaWxkcmVuOiBhY3Rpb24gfSkpXSB9KV0gfSkpO1xufTtcbi8qKlxuICogRm9vdGVyIGFjdGlvbiBlbmdpbmUgc2hhcmVkIGJ5IGV2ZXJ5IGZvcm0vZGlhbG9nIHN1cmZhY2UuIE9yZGVyIGFuZCB0b25lc1xuICogYXJlIGxvY2tlZCAoc2Vjb25kYXJ5IGxlZnQsIHByaW1hcnkgcmlnaHQpOyB0aGUgYGxheW91dGAg4oCUIGNob3NlbiBieSB0aGVcbiAqIHNjZW5hcmlvIHNoZWxsLCBuZXZlciBieSBidXNpbmVzcyBjb2RlIOKAlCBkZWNpZGVzIHRoZSB0d28gRFMgZm9vdGVyIHNoYXBlczpcbiAqIGBmaWxsYCAocm93LXNoYXJpbmcgbGFyZ2UgYnV0dG9ucykgb3IgYGNvbXBhY3RgIChhdXRvLXdpZHRoIG1lZGl1bSBidXR0b25zLFxuICogbGVmdC1hbGlnbmVkKS5cbiAqL1xuY29uc3QgQWN0aW9uQmFyQmFzZSA9ICh7IGxheW91dCA9ICdmaWxsJywgZGlyZWN0aW9uID0gJ2hvcml6b250YWwnLCBwcmltYXJ5LCBwcmltYXJ5U2xvdCwgc2Vjb25kYXJ5LCBmb290bm90ZSwgcHJlZml4Q2xzID0gQUNUSU9OX0JBUl9QUkVGSVgsIGNsYXNzTmFtZSwgfSkgPT4ge1xuICAgIHZhciBfYSwgX2IsIF9jLCBfZDtcbiAgICBjb25zdCBjbGFzc2VzID0gY2xhc3NuYW1lcyhwcmVmaXhDbHMpO1xuICAgIGNvbnN0IHZlcnRpY2FsID0gZGlyZWN0aW9uID09PSAndmVydGljYWwnO1xuICAgIGNvbnN0IGJ1dHRvblNpemUgPSBBQ1RJT05fQkFSX0JVVFRPTl9TSVpFW2xheW91dF07XG4gICAgLy8gRGVmYXVsdCBvcmRlcjogaG9yaXpvbnRhbCDihpIgc2Vjb25kYXJ5IGxlZnQgb2YgcHJpbWFyeTsgdmVydGljYWwg4oaSXG4gICAgLy8gcHJpbWFyeSBvbiB0b3AuIEFuIGV4cGxpY2l0IGBhY3Rpb24ub3JkZXJgIG92ZXJyaWRlcyBlaXRoZXIuXG4gICAgY29uc3QgaXRlbXMgPSBbXG4gICAgICAgIHNlY29uZGFyeSAmJiB7XG4gICAgICAgICAgICBrZXk6ICdzZWNvbmRhcnknLFxuICAgICAgICAgICAgb3JkZXI6IChfYSA9IHNlY29uZGFyeS5vcmRlcikgIT09IG51bGwgJiYgX2EgIT09IHZvaWQgMCA/IF9hIDogKHZlcnRpY2FsID8gMSA6IDApLFxuICAgICAgICAgICAgbm9kZTogcmVuZGVyQWN0aW9uKHNlY29uZGFyeSwgQUNUSU9OX0JBUl9ERUZBVUxUUy5zZWNvbmRhcnlMYWJlbCwgQUNUSU9OX0JBUl9ERUZBVUxUUy5zZWNvbmRhcnlDb2xvciwgKF9iID0gc2Vjb25kYXJ5LnNpemUpICE9PSBudWxsICYmIF9iICE9PSB2b2lkIDAgPyBfYiA6IGJ1dHRvblNpemUpLFxuICAgICAgICB9LFxuICAgICAgICAocHJpbWFyeSB8fCBwcmltYXJ5U2xvdCAhPSBudWxsKSA/IHtcbiAgICAgICAgICAgIGtleTogJ3ByaW1hcnknLFxuICAgICAgICAgICAgb3JkZXI6IChfYyA9IHByaW1hcnkgPT09IG51bGwgfHwgcHJpbWFyeSA9PT0gdm9pZCAwID8gdm9pZCAwIDogcHJpbWFyeS5vcmRlcikgIT09IG51bGwgJiYgX2MgIT09IHZvaWQgMCA/IF9jIDogKHZlcnRpY2FsID8gMCA6IDEpLFxuICAgICAgICAgICAgbm9kZTogcHJpbWFyeVNsb3QgIT09IG51bGwgJiYgcHJpbWFyeVNsb3QgIT09IHZvaWQgMCA/IHByaW1hcnlTbG90IDogcmVuZGVyQWN0aW9uKHByaW1hcnksIEFDVElPTl9CQVJfREVGQVVMVFMucHJpbWFyeUxhYmVsLCBBQ1RJT05fQkFSX0RFRkFVTFRTLnByaW1hcnlDb2xvciwgKF9kID0gcHJpbWFyeS5zaXplKSAhPT0gbnVsbCAmJiBfZCAhPT0gdm9pZCAwID8gX2QgOiBidXR0b25TaXplKSxcbiAgICAgICAgfSA6IHVuZGVmaW5lZCxcbiAgICBdXG4gICAgICAgIC5maWx0ZXIoKGl0ZW0pID0+IEJvb2xlYW4oaXRlbSkpXG4gICAgICAgIC5zb3J0KChhLCBiKSA9PiBhLm9yZGVyIC0gYi5vcmRlcik7XG4gICAgaWYgKCFpdGVtcy5sZW5ndGggJiYgIWZvb3Rub3RlKVxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICByZXR1cm4gKF9qc3hzKEZsZXgsIHsgdmVydGljYWw6IHRydWUsIGdhcDogMTYsIGNsYXNzTmFtZTogam9pbkNscyhjbGFzc2VzKCksIGNsYXNzZXMobGF5b3V0KSwgY2xhc3NlcyhkaXJlY3Rpb24pLCBjbGFzc05hbWUpLCBjaGlsZHJlbjogW2l0ZW1zLmxlbmd0aCA+IDAgJiYgKF9qc3goRmxleCwgeyB2ZXJ0aWNhbDogdmVydGljYWwsIGNsYXNzTmFtZTogY2xhc3NlcyhBQ1RJT05fQkFSX1NMT1QuYWN0aW9ucyksIGNoaWxkcmVuOiBpdGVtcy5tYXAoKGl0ZW0pID0+IChfanN4KEZyYWdtZW50LCB7IGNoaWxkcmVuOiBpdGVtLm5vZGUgfSwgaXRlbS5rZXkpKSkgfSkpLCBmb290bm90ZSAmJiBfanN4KEZvb3Rub3RlLCBPYmplY3QuYXNzaWduKHt9LCBmb290bm90ZSwgeyBjbGFzc2VzOiBjbGFzc2VzIH0pKV0gfSkpO1xufTtcbmV4cG9ydCBjb25zdCBBY3Rpb25CYXIgPSBtZW1vKEFjdGlvbkJhckJhc2UpOyIsbnVsbF0sInNvdXJjZVJvb3QiOiIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMifQ==
@@ -31,6 +31,14 @@ export interface ActionBarAction {
31
31
  variant?: ButtonProps['variant'];
32
32
  /** Leading icon node, forwarded to the Button's `iconStart`. */
33
33
  icon?: ReactNode;
34
+ /**
35
+ * Native button `type` pass-through. The bar sits outside the `<form>`, so
36
+ * `'submit'` only means something together with `form` — the pair makes
37
+ * this the form's default button (Enter activates it, `disabled` blocks it).
38
+ */
39
+ type?: ButtonProps['type'];
40
+ /** Native `form` attribute — associates the button with a `<form>` by id. */
41
+ form?: string;
34
42
  }
35
43
  /**
36
44
  * Custom node for the primary position — takes the primary Button's place in
@@ -11,6 +11,7 @@ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/sli
11
11
  var _jsxRuntime = require("react/jsx-runtime");
12
12
  var _react = _interopRequireWildcard(require("react"));
13
13
  var _Grid = require("../Grid");
14
+ var _Icons = require("../Icons");
14
15
  var _Typography = require("../Typography");
15
16
  var _classnames = _interopRequireWildcard(require("../../utils/classnames"));
16
17
  var _useFormItem2 = require("./core/useFormItem");
@@ -279,12 +280,18 @@ var ProFormItemBase = function ProFormItemBase(props) {
279
280
  })]
280
281
  }), (0, _jsxRuntime.jsxs)("div", {
281
282
  className: classes('control'),
282
- children: [controlChild, fieldError && (0, _jsxRuntime.jsx)(_Typography.TypographyBody, {
283
- as: "div",
283
+ children: [controlChild, fieldError && (0, _jsxRuntime.jsxs)("div", {
284
284
  className: classes('error'),
285
- size: _constants.FORM_ERROR_SIZE,
286
- color: _constants.FORM_ERROR_COLOR,
287
- children: fieldError
285
+ children: [(0, _jsxRuntime.jsx)(_Icons.Icons, {
286
+ className: classes('message-icon'),
287
+ name: "error",
288
+ size: _constants.FORM_MESSAGE_ICON_SIZE
289
+ }), (0, _jsxRuntime.jsx)(_Typography.TypographyBody, {
290
+ as: "span",
291
+ size: _constants.FORM_ERROR_SIZE,
292
+ color: _constants.FORM_ERROR_COLOR,
293
+ children: fieldError
294
+ })]
288
295
  }), !fieldError && fieldWarning && (0, _jsxRuntime.jsx)(_Typography.TypographyBody, {
289
296
  as: "div",
290
297
  className: classes('warning'),
@@ -320,4 +327,4 @@ var ProFormItemBase = function ProFormItemBase(props) {
320
327
  ProFormItemBase.displayName = 'ProFormItem';
321
328
  var ProFormItem = exports.ProFormItem = /*#__PURE__*/(0, _react.memo)(ProFormItemBase);
322
329
  var _default = exports["default"] = ProFormItem;
323
- //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvUHJvRm9ybS9Qcm9Gb3JtSXRlbS5qcyIsImNvbXBvbmVudHMvc3JjL2NvbXBvbmVudHMvUHJvRm9ybS9Qcm9Gb3JtSXRlbS50c3giXSwibmFtZXMiOlsiX2pzeFJ1bnRpbWUiLCJyZXF1aXJlIiwiX3JlYWN0IiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJfR3JpZCIsIl9UeXBvZ3JhcGh5IiwiX2NsYXNzbmFtZXMiLCJfdXNlRm9ybUl0ZW0yIiwiX2NvbnN0YW50cyIsIl9jb250ZXh0IiwiX2Zvcm1TdG9yZSIsIl9wYXRoVXRpbHMiLCJfY29uc3RhbnRzMiIsIl91dGlscyIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsImUiLCJXZWFrTWFwIiwiciIsInQiLCJfX2VzTW9kdWxlIiwiX3R5cGVvZiIsImhhcyIsImdldCIsIm4iLCJfX3Byb3RvX18iLCJhIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJ1IiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiaSIsInNldCIsIkVNUFRZX1RFWFRfREVGQVVMVCIsInJlbmRlckJ5VmFsdWVUeXBlIiwidmFsdWVUeXBlIiwidmFsdWUiLCJwcm9wcyIsInVuZGVmaW5lZCIsInJlcGVhdCIsIlN0cmluZyIsImxlbmd0aCIsIm51bSIsIk51bWJlciIsImlzTmFOIiwidG9Mb2NhbGVTdHJpbmciLCJ2YWx1ZUVudW0iLCJvcHRpb25zIiwidmFsdWVFbnVtVG9PcHRpb25zIiwibWF0Y2giLCJmaW5kIiwibyIsImxhYmVsIiwiRGF0ZSIsImZvcm1hdERhdGVCeVBhdHRlcm4iLCJEQVRFX0ZPUk1BVCIsIkRBVEVfVElNRV9GT1JNQVQiLCJSZWFkb25seUNoaWxkQmFzZSIsIl9yZWYiLCJuYW1lIiwiY29udmVydFZhbHVlIiwicmVhZG9ubHlSZW5kZXIiLCJlbXB0eVRleHQiLCJzdG9yZSIsInVzZVByb0Zvcm1TdG9yZSIsIl91c2VTdG9yZVNlbGVjdG9yIiwidXNlU3RvcmVTZWxlY3RvciIsInN0YXRlIiwicmVzb2x2ZVZhbHVlIiwidmFsdWVzIiwic2hhbGxvd0VxdWFsQXJyYXlzIiwiX3VzZVN0b3JlU2VsZWN0b3IyIiwiX3NsaWNlZFRvQXJyYXkyIiwicmF3IiwiYWxsVmFsdWVzIiwibm9kZSIsImdldFN0YXRlIiwiX2pzeCIsImNoaWxkcmVuIiwicmVuZGVyZWQiLCJkaXNwbGF5TmFtZSIsIlJlYWRvbmx5Q2hpbGQiLCJtZW1vIiwiQ29udmVydFZhbHVlQ2hpbGRCYXNlIiwiX3JlZjIiLCJfcmVmMiR2YWx1ZVByb3BOYW1lIiwidmFsdWVQcm9wTmFtZSIsImNvbnZlcnRlZCIsIlJlYWN0IiwiY2xvbmVFbGVtZW50IiwiX2RlZmluZVByb3BlcnR5MiIsIkNvbnZlcnRWYWx1ZUNoaWxkIiwiUHJvRm9ybUl0ZW1CYXNlIiwiX2EiLCJjdHgiLCJ1c2VQcm9Gb3JtU3RhYmxlIiwibWVyZ2VkUHJvcHMiLCJmb3JtSXRlbVByb3BzIiwibWVyZ2VkIiwiYXNzaWduIiwiX2kiLCJfT2JqZWN0JGtleXMiLCJrZXlzIiwia2V5IiwiX21lcmdlZFByb3BzIiwiZGVzY3JpcHRpb24iLCJydWxlcyIsImZlZWRiYWNrIiwidmFsaWRhdGVTdGF0dXMiLCJfbWVyZ2VkUHJvcHMkY2xhc3NOYW0iLCJjbGFzc05hbWUiLCJfbWVyZ2VkUHJvcHMkcHJlZml4Q2wiLCJwcmVmaXhDbHMiLCJoaWRkZW4iLCJ0cmFuc2Zvcm0iLCJjb2xQcm9wcyIsIm1vZGVQcm9wIiwibW9kZSIsIl9tZXJnZWRQcm9wcyRlbXB0eVRleCIsInZhbGlkYXRlRGVib3VuY2UiLCJ2YWxpZGF0ZVRyaWdnZXIiLCJtZXJnZWRNb2RlIiwiaXNSZWFkb25seSIsIl91c2VGb3JtSXRlbSIsInVzZUZvcm1JdGVtIiwiZmllbGRFcnJvciIsImZpZWxkV2FybmluZyIsInNpemUiLCJsYWJlbEFsaWduIiwiaW5qZWN0RmllbGQiLCJvd25UcmFuc2Zvcm1SZWYiLCJ1c2VSZWYiLCJvd25WYWx1ZVR5cGVSZWYiLCJwcmV2VHJhbnNmb3JtIiwiY3VycmVudCIsInVucmVnaXN0ZXJUcmFuc2Zvcm0iLCJmbiIsInJlZ2lzdGVyVHJhbnNmb3JtIiwicHJldlZhbHVlVHlwZSIsInVucmVnaXN0ZXJWYWx1ZVR5cGUiLCJyZWdpc3RlclZhbHVlVHlwZSIsInVzZUVmZmVjdCIsInRyYW5zZm9ybVJlZyIsInZhbHVlVHlwZVJlZyIsInYiLCJjb250cm9sQ2hpbGQiLCJpbmplY3RlZCIsImlzVmFsaWRFbGVtZW50IiwiY2xhc3NlcyIsImNsYXNzbmFtZXMiLCJpdGVtR2FwIiwibGF5b3V0IiwiZ2FwU3R5bGUiLCJtYXJnaW5Cb3R0b20iLCJjb25jYXQiLCJzaGVsbCIsIl9qc3hzIiwiam9pbkNscyIsInN0eWxlIiwiVHlwb2dyYXBoeUxhYmVsIiwiYXMiLCJzdHJvbmciLCJGT1JNX0xBQkVMX1NJWkVTIiwiY29sb3IiLCJGT1JNX0xBQkVMX0NPTE9SIiwiVHlwb2dyYXBoeUJvZHkiLCJGT1JNX0RFU0NSSVBUSU9OX1NJWkUiLCJGT1JNX0RFU0NSSVBUSU9OX0NPTE9SIiwiRk9STV9FUlJPUl9TSVpFIiwiRk9STV9FUlJPUl9DT0xPUiIsIkZPUk1fV0FSTklOR19TSVpFIiwiRk9STV9XQVJOSU5HX0NPTE9SIiwiRk9STV9GRUVEQkFDS19TSVpFIiwiRk9STV9GRUVEQkFDS19DT0xPUiIsImdyaWQiLCJfbWVyZ2VkJHNwYW4iLCJzcGFuIiwiREVGQVVMVF9DT0xfU1BBTiIsInNtIiwibWQiLCJsZyIsIkNvbCIsIlByb0Zvcm1JdGVtIiwiZXhwb3J0cyIsIl9kZWZhdWx0Il0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O0FBQUEsSUFBQUEsV0FBQSxHQUFBQyxPQUFBO0FDQUEsSUFBQUMsTUFBQSxHQUFBQyx1QkFBQSxDQUFBRixPQUFBO0FBRUEsSUFBQUcsS0FBQSxHQUFBSCxPQUFBO0FBQ0EsSUFBQUksV0FBQSxHQUFBSixPQUFBO0FBQ0EsSUFBQUssV0FBQSxHQUFBSCx1QkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQU0sYUFBQSxH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QUFBMEUsTUFBQSxDQUFBMUUsTUFBQSxDQUFBMEUsTUFBQSxDQUFBLENBQUEsQ0FBQSxFQUFRTCxHQUFHLENBQUNxQixRQUFRLENBQUEsRUFBS0EsUUFBUSxDQUFFO0lBQy9DLElBQUE0RCxZQUFBLEdBQWdEN0UsT0FBTSxDQUE5QzhFLElBQUk7TUFBSkEsSUFBSSxHQUFBRCxZQUFBLGNBQUdFLDRCQUFnQixHQUFBRixZQUFBO01BQUVHLEVBQUUsR0FBYWhGLE9BQU0sQ0FBckJnRixFQUFFO01BQUVDLEVBQUUsR0FBU2pGLE9BQU0sQ0FBakJpRixFQUFFO01BQUVDLEVBQUUsR0FBS2xGLE9BQU0sQ0FBYmtGLEVBQUU7SUFDM0MsT0FBTyxJQUFBdkcsZUFBQSxFQUFDd0csU0FBRyxFQUFBO01BQUNMLElBQUksRUFBRUEsSUFBSTtNQUFFRSxFQUFFLEVBQUVBLEVBQUU7TUFBRUMsRUFBRSxFQUFFQSxFQUFFO01BQUVDLEVBQUUsRUFBRUEsRUFBRTtNQUFBdEcsUUFBQSxFQUFHNkU7SUFBSyxDQUFBLENBQU87RUFDL0Q7RUFFQSxPQUFPQSxLQUFLO0FBQ2QsQ0FBQztBQUVEL0QsZUFBZSxDQUFDWixXQUFXLEdBQUcsYUFBYTtBQVlwQyxJQUFNc0csV0FBVyxHQUFBQyxPQUFBLENBQUFELFdBQUEsZ0JBQUcsSUFBQXBHLFdBQUksRUFBQ1UsZUFBZSxDQUFnQztBQUFDLElBQUE0RixRQUFBLEdBQUFELE9BQUEsY0FFakVELFdBQVciLCJmaWxlIjoiY29tcG9uZW50cy9Qcm9Gb3JtL1Byb0Zvcm1JdGVtLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsganN4IGFzIF9qc3gsIGpzeHMgYXMgX2pzeHMgfSBmcm9tIFwicmVhY3QvanN4LXJ1bnRpbWVcIjtcbmltcG9ydCBSZWFjdCwgeyBtZW1vLCB1c2VFZmZlY3QsIHVzZVJlZiB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IENvbCB9IGZyb20gJy4uL0dyaWQnO1xuaW1wb3J0IHsgVHlwb2dyYXBoeUJvZHksIFR5cG9ncmFwaHlMYWJlbCB9IGZyb20gJy4uL1R5cG9ncmFwaHknO1xuaW1wb3J0IHsgZGVmYXVsdCBhcyBjbGFzc25hbWVzLCBqb2luQ2xzIH0gZnJvbSAnLi4vLi4vdXRpbHMvY2xhc3NuYW1lcyc7XG5pbXBvcnQgeyB1c2VGb3JtSXRlbSB9IGZyb20gJy4vY29yZS91c2VGb3JtSXRlbSc7XG5pbXBvcnQgeyBGT1JNX0VSUk9SX0NPTE9SLCBGT1JNX0VSUk9SX1NJWkUsIEZPUk1fV0FSTklOR19DT0xPUiwgRk9STV9XQVJOSU5HX1NJWkUsIEZPUk1fREVTQ1JJUFRJT05fQ09MT1IsIEZPUk1fREVTQ1JJUFRJT05fU0laRSwgRk9STV9GRUVEQkFDS19DT0xPUiwgRk9STV9GRUVEQkFDS19TSVpFLCBGT1JNX0xBQkVMX0NPTE9SLCBGT1JNX0xBQkVMX1NJWkVTLCB9IGZyb20gJy4vY29yZS9jb25zdGFudHMnO1xuaW1wb3J0IHsgdXNlUHJvRm9ybVN0YWJsZSwgdXNlUHJvRm9ybVN0b3JlIH0gZnJvbSAnLi9jb250ZXh0JztcbmltcG9ydCB7IHVzZVN0b3JlU2VsZWN0b3IsIHNoYWxsb3dFcXVhbEFycmF5cyB9IGZyb20gJy4vY29yZS9mb3JtU3RvcmUnO1xuaW1wb3J0IHsgcmVzb2x2ZVZhbHVlIH0gZnJvbSAnLi9jb3JlL3BhdGhVdGlscyc7XG5pbXBvcnQgeyBERUZBVUxUX0NPTF9TUEFOIH0gZnJvbSAnLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgdmFsdWVFbnVtVG9PcHRpb25zLCBmb3JtYXREYXRlQnlQYXR0ZXJuLCBEQVRFX0ZPUk1BVCwgREFURV9USU1FX0ZPUk1BVCB9IGZyb20gJy4vdXRpbHMnO1xuY29uc3QgRU1QVFlfVEVYVF9ERUZBVUxUID0gJy0nO1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBSZWFkLW1vZGUgcmVuZGVyaW5nIGZvciBlYWNoIHN1cHBvcnRlZCB2YWx1ZVR5cGVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuZnVuY3Rpb24gcmVuZGVyQnlWYWx1ZVR5cGUodmFsdWVUeXBlLCB2YWx1ZSwgcHJvcHMpIHtcbiAgICBpZiAodmFsdWUgPT09IG51bGwgfHwgdmFsdWUgPT09IHVuZGVmaW5lZCB8fCB2YWx1ZSA9PT0gJycpXG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIHN3aXRjaCAodmFsdWVUeXBlKSB7XG4gICAgICAgIGNhc2UgJ3Bhc3N3b3JkJzpcbiAgICAgICAgICAgIHJldHVybiAnKicucmVwZWF0KFN0cmluZyh2YWx1ZSkubGVuZ3RoKTtcbiAgICAgICAgY2FzZSAnc3dpdGNoJzpcbiAgICAgICAgICAgIHJldHVybiB2YWx1ZSA/ICdPbicgOiAnT2ZmJztcbiAgICAgICAgY2FzZSAnZGlnaXQnOiB7XG4gICAgICAgICAgICBjb25zdCBudW0gPSBOdW1iZXIodmFsdWUpO1xuICAgICAgICAgICAgaWYgKE51bWJlci5pc05hTihudW0pKVxuICAgICAgICAgICAgICAgIHJldHVybiBTdHJpbmcodmFsdWUpO1xuICAgICAgICAgICAgcmV0dXJuIG51bS50b0xvY2FsZVN0cmluZygpO1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgJ3NlbGVjdCc6XG4gICAgICAgIGNhc2UgJ3JhZGlvJzpcbiAgICAgICAgY2FzZSAndGFnJzoge1xuICAgICAgICAgICAgaWYgKCFwcm9wcy52YWx1ZUVudW0pXG4gICAgICAgICAgICAgICAgcmV0dXJuIFN0cmluZyh2YWx1ZSk7XG4gICAgICAgICAgICBjb25zdCBvcHRpb25zID0gdmFsdWVFbnVtVG9PcHRpb25zKHByb3BzLnZhbHVlRW51bSk7XG4gICAgICAgICAgICBjb25zdCBtYXRjaCA9IG9wdGlvbnMuZmluZCgobykgPT4gU3RyaW5nKG8udmFsdWUpID09PSBTdHJpbmcodmFsdWUpKTtcbiAgICAgICAgICAgIHJldHVybiBtYXRjaCA/IG1hdGNoLmxhYmVsIDogU3RyaW5nKHZhbHVlKTtcbiAgICAgICAgfVxuICAgICAgICBjYXNlICdkYXRlJzpcbiAgICAgICAgICAgIHJldHVybiB2YWx1ZSBpbnN0YW5jZW9mIERhdGUgPyBmb3JtYXREYXRlQnlQYXR0ZXJuKHZhbHVlLCBEQVRFX0ZPUk1BVCkgOiBTdHJpbmcodmFsdWUpO1xuICAgICAgICBjYXNlICdkYXRlVGltZSc6XG4gICAgICAgICAgICByZXR1cm4gdmFsdWUgaW5zdGFuY2VvZiBEYXRlID8gZm9ybWF0RGF0ZUJ5UGF0dGVybih2YWx1ZSwgREFURV9USU1FX0ZPUk1BVCkgOiBTdHJpbmcodmFsdWUpO1xuICAgICAgICBjYXNlICd0ZXh0JzpcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIHJldHVybiBTdHJpbmcodmFsdWUpO1xuICAgIH1cbn1cbmNvbnN0IFJlYWRvbmx5Q2hpbGRCYXNlID0gKHsgbmFtZSwgdmFsdWVUeXBlLCB2YWx1ZUVudW0sIGNvbnZlcnRWYWx1ZSwgcmVhZG9ubHlSZW5kZXIsIGVtcHR5VGV4dCwgfSkgPT4ge1xuICAgIGNvbnN0IHN0b3JlID0gdXNlUHJvRm9ybVN0b3JlKCk7XG4gICAgLy8gU3Vic2NyaWJlIHBlci1maWVsZDsgb25seSBhIGN1c3RvbSByZWFkb25seVJlbmRlciAod2hpY2ggcmVjZWl2ZXMgQUxMXG4gICAgLy8gdmFsdWVzKSBuZWVkcyB0byB0cmFjayB0aGUgd2hvbGUgdmFsdWVzIG9iamVjdC5cbiAgICBjb25zdCBbcmF3LCBhbGxWYWx1ZXNdID0gdXNlU3RvcmVTZWxlY3RvcihzdG9yZSwgKHN0YXRlKSA9PiBbXG4gICAgICAgIG5hbWUgPyByZXNvbHZlVmFsdWUoc3RhdGUudmFsdWVzLCBuYW1lKSA6IHVuZGVmaW5lZCxcbiAgICAgICAgcmVhZG9ubHlSZW5kZXIgPyBzdGF0ZS52YWx1ZXMgOiB1bmRlZmluZWQsXG4gICAgXSwgc2hhbGxvd0VxdWFsQXJyYXlzKTtcbiAgICBjb25zdCB2YWx1ZSA9IGNvbnZlcnRWYWx1ZSAmJiBuYW1lID8gY29udmVydFZhbHVlKHJhdywgbmFtZSkgOiByYXc7XG4gICAgaWYgKHJlYWRvbmx5UmVuZGVyKSB7XG4gICAgICAgIGNvbnN0IG5vZGUgPSByZWFkb25seVJlbmRlcih2YWx1ZSwgYWxsVmFsdWVzICE9PSBudWxsICYmIGFsbFZhbHVlcyAhPT0gdm9pZCAwID8gYWxsVmFsdWVzIDogc3RvcmUuZ2V0U3RhdGUoKS52YWx1ZXMpO1xuICAgICAgICByZXR1cm4gX2pzeChcInNwYW5cIiwgeyBjaGlsZHJlbjogbm9kZSAhPT0gbnVsbCAmJiBub2RlICE9PSB2b2lkIDAgPyBub2RlIDogZW1wdHlUZXh0IH0pO1xuICAgIH1cbiAgICBpZiAodmFsdWUgPT09IG51bGwgfHwgdmFsdWUgPT09IHVuZGVmaW5lZCB8fCB2YWx1ZSA9PT0gJycpIHtcbiAgICAgICAgcmV0dXJuIF9qc3goXCJzcGFuXCIsIHsgY2hpbGRyZW46IGVtcHR5VGV4dCB9KTtcbiAgICB9XG4gICAgY29uc3QgcmVuZGVyZWQgPSByZW5kZXJCeVZhbHVlVHlwZSh2YWx1ZVR5cGUsIHZhbHVlLCB7IHZhbHVlRW51bSB9KTtcbiAgICByZXR1cm4gX2pzeChcInNwYW5cIiwgeyBjaGlsZHJlbjogcmVuZGVyZWQgIT09IG51bGwgJiYgcmVuZGVyZWQgIT09IHZvaWQgMCA/IHJlbmRlcmVkIDogZW1wdHlUZXh0IH0pO1xufTtcblJlYWRvbmx5Q2hpbGRCYXNlLmRpc3BsYXlOYW1lID0gJ1Byb0Zvcm1JdGVtUmVhZG9ubHknO1xuY29uc3QgUmVhZG9ubHlDaGlsZCA9IG1lbW8oUmVhZG9ubHlDaGlsZEJhc2UpO1xuY29uc3QgQ29udmVydFZhbHVlQ2hpbGRCYXNlID0gKHsgbmFtZSwgY29udmVydFZhbHVlLCB2YWx1ZVByb3BOYW1lID0gJ3ZhbHVlJywgY2hpbGRyZW4sIH0pID0+IHtcbiAgICBjb25zdCBzdG9yZSA9IHVzZVByb0Zvcm1TdG9yZSgpO1xuICAgIGNvbnN0IHJhdyA9IHVzZVN0b3JlU2VsZWN0b3Ioc3RvcmUsIChzdGF0ZSkgPT4gcmVzb2x2ZVZhbHVlKHN0YXRlLnZhbHVlcywgbmFtZSkpO1xuICAgIGNvbnN0IGNvbnZlcnRlZCA9IGNvbnZlcnRWYWx1ZSA/IGNvbnZlcnRWYWx1ZShyYXcsIG5hbWUpIDogcmF3O1xuICAgIHJldHVybiBSZWFjdC5jbG9uZUVsZW1lbnQoY2hpbGRyZW4sIHsgW3ZhbHVlUHJvcE5hbWVdOiBjb252ZXJ0ZWQgfSk7XG59O1xuQ29udmVydFZhbHVlQ2hpbGRCYXNlLmRpc3BsYXlOYW1lID0gJ1Byb0Zvcm1JdGVtQ29udmVydFZhbHVlJztcbmNvbnN0IENvbnZlcnRWYWx1ZUNoaWxkID0gbWVtbyhDb252ZXJ0VmFsdWVDaGlsZEJhc2UpO1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBQcm9Gb3JtSXRlbVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5jb25zdCBQcm9Gb3JtSXRlbUJhc2UgPSAocHJvcHMpID0+IHtcbiAgICB2YXIgX2E7XG4gICAgLy8gU3RhYmxlIHNsaWNlIG9ubHkg4oCUIHZhbHVlL2Vycm9yIHJlYWN0aXZpdHkgbGl2ZXMgaW4gdXNlRm9ybUl0ZW0nc1xuICAgIC8vIHBlci1maWVsZCBzdWJzY3JpcHRpb24sIHNvIHRoaXMgc2hlbGwgbmV2ZXIgcmUtcmVuZGVycyBmb3Igc2libGluZ3MuXG4gICAgY29uc3QgY3R4ID0gdXNlUHJvRm9ybVN0YWJsZSgpO1xuICAgIC8vIEZvcm0tbGV2ZWwgYGZvcm1JdGVtUHJvcHNgIGFjdCBhcyBERUZBVUxUUzsgcHJvcHMgZXhwbGljaXRseSBzZXQgb24gdGhlXG4gICAgLy8gaXRlbSB3aW4uIEpTWCBmcmVxdWVudGx5IHBhc3NlcyBgdW5kZWZpbmVkYCBmb3IgdW5zZXQgcHJvcHMgKGUuZy4gdGhlXG4gICAgLy8gY3JlYXRlUHJvRm9ybUZpZWxkIHBhc3MtdGhyb3VnaCksIHNvIG9ubHkgZGVmaW5lZCB2YWx1ZXMgbWF5IG92ZXJyaWRlLlxuICAgIGxldCBtZXJnZWRQcm9wcyA9IHByb3BzO1xuICAgIGlmIChjdHguZm9ybUl0ZW1Qcm9wcykge1xuICAgICAgICBjb25zdCBtZXJnZWQgPSBPYmplY3QuYXNzaWduKHt9LCBjdHguZm9ybUl0ZW1Qcm9wcyk7XG4gICAgICAgIGZvciAoY29uc3Qga2V5IG9mIE9iamVjdC5rZXlzKHByb3BzKSkge1xuICAgICAgICAgICAgY29uc3QgdmFsdWUgPSBwcm9wc1trZXldO1xuICAgICAgICAgICAgaWYgKHZhbHVlICE9PSB1bmRlZmluZWQpXG4gICAgICAgICAgICAgICAgbWVyZ2VkW2tleV0gPSB2YWx1ZTtcbiAgICAgICAgfVxuICAgICAgICBtZXJnZWRQcm9wcyA9IG1lcmdlZDtcbiAgICB9XG4gICAgY29uc3QgeyBjaGlsZHJlbiwgbmFtZSwgbGFiZWwsIGRlc2NyaXB0aW9uLCBydWxlcywgZmVlZGJhY2ssIHZhbGlkYXRlU3RhdHVzLCBjbGFzc05hbWUgPSAnJywgcHJlZml4Q2xzID0gJ2Zvcm0taXRlbScsIGhpZGRlbiwgdHJhbnNmb3JtLCBjb252ZXJ0VmFsdWUsIHZhbHVlVHlwZSwgcmVhZG9ubHlSZW5kZXIsIGNvbFByb3BzLCBtb2RlOiBtb2RlUHJvcCwgZW1wdHlUZXh0ID0gRU1QVFlfVEVYVF9ERUZBVUxULCB2YWx1ZUVudW0sIHZhbHVlUHJvcE5hbWUsIHZhbGlkYXRlRGVib3VuY2UsIHZhbGlkYXRlVHJpZ2dlciwgfSA9IG1lcmdlZFByb3BzO1xuICAgIGNvbnN0IG1lcmdlZE1vZGUgPSBtb2RlUHJvcCAhPT0gbnVsbCAmJiBtb2RlUHJvcCAhPT0gdm9pZCAwID8gbW9kZVByb3AgOiBjdHgubW9kZTtcbiAgICBjb25zdCBpc1JlYWRvbmx5ID0gbWVyZ2VkTW9kZSA9PT0gJ3JlYWQnO1xuICAgIGNvbnN0IHsgZmllbGRFcnJvciwgZmllbGRXYXJuaW5nLCBzaXplLCBsYWJlbEFsaWduLCBpbmplY3RGaWVsZCwgfSA9IHVzZUZvcm1JdGVtKHtcbiAgICAgICAgbmFtZSxcbiAgICAgICAgcnVsZXMsXG4gICAgICAgIHZhbGlkYXRlU3RhdHVzLFxuICAgICAgICB2YWx1ZVByb3BOYW1lLFxuICAgICAgICB2YWxpZGF0ZURlYm91bmNlLFxuICAgICAgICB2YWxpZGF0ZVRyaWdnZXIsXG4gICAgfSk7XG4gICAgLy8gUmVnaXN0ZXIgdHJhbnNmb3JtIC8gdmFsdWVUeXBlIERVUklORyByZW5kZXIgKGlkZW1wb3RlbnQgcmVmIHdyaXRlcywgbGlrZVxuICAgIC8vIHJlZ2lzdGVyRmllbGQpOiBjb25zdW1lcnMgcmVuZGVyZWQgbGF0ZXIgaW4gdGhlIHNhbWUgcGFzcyDigJQgZS5nLiBhXG4gICAgLy8gRGVwZW5kZW5jeSByZWFkaW5nIGZvcm1hdHRlZCB2YWx1ZXMg4oCUIG11c3QgYWxyZWFkeSBzZWUgdGhlbS4gRWZmZWN0c1xuICAgIC8vIHdvdWxkIHJlZ2lzdGVyIHRvbyBsYXRlIChhZnRlciB0aGUgd2hvbGUgdHJlZSByZW5kZXJlZCkuXG4gICAgLy9cbiAgICAvLyBFYWNoIGluc3RhbmNlIHRyYWNrcyB0aGUge25hbWUsIHZhbHVlfSBQQUlSIGl0IHJlZ2lzdGVyZWQuIFJlbW92YWwgaXNcbiAgICAvLyBhbHdheXMgcGVyZm9ybWVkIHdpdGggdGhlIHBhaXIncyBvd24gbmFtZSBBTkQgdmFsdWU6IGFuIGl0ZW0gd2l0aG91dCBhXG4gICAgLy8gdHJhbnNmb3JtIG5ldmVyIHRvdWNoZXMgYSBzYW1lLW5hbWUgc2libGluZydzIHJlZ2lzdHJhdGlvbiwgYW4gdW5tb3VudFxuICAgIC8vIGNsZWFudXAgY2FuJ3Qgd2lwZSBhIHN1Y2Nlc3NvcidzICh2YWx1ZS1ndWFyZGVkKSwgYW5kIGEgTkFNRSBjaGFuZ2VcbiAgICAvLyByZW1vdmVzIHRoZSBvbGQgbmFtZSdzIGVudHJ5IHdpdGggdGhlIE9MRCB2YWx1ZSBiZWZvcmUgdGhlIHJlZiBpc1xuICAgIC8vIG92ZXJ3cml0dGVuIChhIGxpdmUgc2luZ2xlLXZhbHVlIHJlZiB3b3VsZCBsZWFrIGl0KS5cbiAgICBjb25zdCBvd25UcmFuc2Zvcm1SZWYgPSB1c2VSZWYobnVsbCk7XG4gICAgY29uc3Qgb3duVmFsdWVUeXBlUmVmID0gdXNlUmVmKG51bGwpO1xuICAgIGNvbnN0IHByZXZUcmFuc2Zvcm0gPSBvd25UcmFuc2Zvcm1SZWYuY3VycmVudDtcbiAgICBpZiAocHJldlRyYW5zZm9ybSAmJiAocHJldlRyYW5zZm9ybS5uYW1lICE9PSBuYW1lIHx8ICF0cmFuc2Zvcm0pKSB7XG4gICAgICAgIGN0eC51bnJlZ2lzdGVyVHJhbnNmb3JtKHByZXZUcmFuc2Zvcm0ubmFtZSwgcHJldlRyYW5zZm9ybS5mbik7XG4gICAgICAgIG93blRyYW5zZm9ybVJlZi5jdXJyZW50ID0gbnVsbDtcbiAgICB9XG4gICAgaWYgKG5hbWUgJiYgdHJhbnNmb3JtKSB7XG4gICAgICAgIGN0eC5yZWdpc3RlclRyYW5zZm9ybShuYW1lLCB0cmFuc2Zvcm0pO1xuICAgICAgICBvd25UcmFuc2Zvcm1SZWYuY3VycmVudCA9IHsgbmFtZSwgZm46IHRyYW5zZm9ybSB9O1xuICAgIH1cbiAgICBjb25zdCBwcmV2VmFsdWVUeXBlID0gb3duVmFsdWVUeXBlUmVmLmN1cnJlbnQ7XG4gICAgaWYgKHByZXZWYWx1ZVR5cGUgJiYgKHByZXZWYWx1ZVR5cGUubmFtZSAhPT0gbmFtZSB8fCAhdmFsdWVUeXBlKSkge1xuICAgICAgICBjdHgudW5yZWdpc3RlclZhbHVlVHlwZShwcmV2VmFsdWVUeXBlLm5hbWUsIHByZXZWYWx1ZVR5cGUudmFsdWVUeXBlKTtcbiAgICAgICAgb3duVmFsdWVUeXBlUmVmLmN1cnJlbnQgPSBudWxsO1xuICAgIH1cbiAgICBpZiAobmFtZSAmJiB2YWx1ZVR5cGUpIHtcbiAgICAgICAgY3R4LnJlZ2lzdGVyVmFsdWVUeXBlKG5hbWUsIHZhbHVlVHlwZSk7XG4gICAgICAgIG93blZhbHVlVHlwZVJlZi5jdXJyZW50ID0geyBuYW1lLCB2YWx1ZVR5cGUgfTtcbiAgICB9XG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgICAgLy8gUkUtUkVHSVNURVIgaW4gdGhlIGJvZHk6IFN0cmljdE1vZGUncyBtb3VudOKGkmNsZWFudXDihpJyZS1ydW4gY3ljbGUgYW5kXG4gICAgICAgIC8vIGtleWVkIHJlbW91bnRzIChvbGQgaW5zdGFuY2UncyBjbGVhbnVwIHJ1bnMgQUZURVIgdGhlIG5ldyByZW5kZXJcbiAgICAgICAgLy8gcmVnaXN0ZXJlZCkgYm90aCBlbmQgd2l0aCBhIGNsZWFudXAgaGF2aW5nIGRlbGV0ZWQgdGhlIGVudHJ5IOKAlCB0aGVcbiAgICAgICAgLy8gZWZmZWN0IGJvZHkgbXVzdCByZXN0b3JlIHRoZSBsYXRlc3QgcmVnaXN0cmF0aW9uLlxuICAgICAgICBjb25zdCB0cmFuc2Zvcm1SZWcgPSBvd25UcmFuc2Zvcm1SZWYuY3VycmVudDtcbiAgICAgICAgaWYgKHRyYW5zZm9ybVJlZylcbiAgICAgICAgICAgIGN0eC5yZWdpc3RlclRyYW5zZm9ybSh0cmFuc2Zvcm1SZWcubmFtZSwgdHJhbnNmb3JtUmVnLmZuKTtcbiAgICAgICAgY29uc3QgdmFsdWVUeXBlUmVnID0gb3duVmFsdWVUeXBlUmVmLmN1cnJlbnQ7XG4gICAgICAgIGlmICh2YWx1ZVR5cGVSZWcpXG4gICAgICAgICAgICBjdHgucmVnaXN0ZXJWYWx1ZVR5cGUodmFsdWVUeXBlUmVnLm5hbWUsIHZhbHVlVHlwZVJlZy52YWx1ZVR5cGUpO1xuICAgICAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgdCA9IG93blRyYW5zZm9ybVJlZi5jdXJyZW50O1xuICAgICAgICAgICAgaWYgKHQpXG4gICAgICAgICAgICAgICAgY3R4LnVucmVnaXN0ZXJUcmFuc2Zvcm0odC5uYW1lLCB0LmZuKTtcbiAgICAgICAgICAgIGNvbnN0IHYgPSBvd25WYWx1ZVR5cGVSZWYuY3VycmVudDtcbiAgICAgICAgICAgIGlmICh2KVxuICAgICAgICAgICAgICAgIGN0eC51bnJlZ2lzdGVyVmFsdWVUeXBlKHYubmFtZSwgdi52YWx1ZVR5cGUpO1xuICAgICAgICB9O1xuICAgIH0sIFtuYW1lLCBjdHgucmVnaXN0ZXJUcmFuc2Zvcm0sIGN0eC51bnJlZ2lzdGVyVHJhbnNmb3JtLCBjdHgucmVnaXN0ZXJWYWx1ZVR5cGUsIGN0eC51bnJlZ2lzdGVyVmFsdWVUeXBlXSk7XG4gICAgaWYgKGhpZGRlbilcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgbGV0IGNvbnRyb2xDaGlsZDtcbiAgICBpZiAoaXNSZWFkb25seSkge1xuICAgICAgICBjb250cm9sQ2hpbGQgPSAoX2pzeChSZWFkb25seUNoaWxkLCB7IG5hbWU6IG5hbWUsIHZhbHVlVHlwZTogdmFsdWVUeXBlLCB2YWx1ZUVudW06IHZhbHVlRW51bSwgY29udmVydFZhbHVlOiBjb252ZXJ0VmFsdWUsIHJlYWRvbmx5UmVuZGVyOiByZWFkb25seVJlbmRlciwgZW1wdHlUZXh0OiBlbXB0eVRleHQgfSkpO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgLy8gSW5qZWN0IGZpcnN0IHNvIHRoZSByZWFsIGZpZWxkIHJlY2VpdmVzIHZhbHVlL29uQ2hhbmdlL29uQmx1cixcbiAgICAgICAgLy8gdGhlbiBvcHRpb25hbGx5IHdyYXAgaW4gQ29udmVydFZhbHVlQ2hpbGQgdG8gb3ZlcnJpZGUgdGhlIGRpc3BsYXllZCB2YWx1ZS5cbiAgICAgICAgY29uc3QgaW5qZWN0ZWQgPSBpbmplY3RGaWVsZChjaGlsZHJlbik7XG4gICAgICAgIGlmIChjb252ZXJ0VmFsdWUgJiYgbmFtZSAmJiBSZWFjdC5pc1ZhbGlkRWxlbWVudChpbmplY3RlZCkpIHtcbiAgICAgICAgICAgIGNvbnRyb2xDaGlsZCA9IChfanN4KENvbnZlcnRWYWx1ZUNoaWxkLCB7IG5hbWU6IG5hbWUsIGNvbnZlcnRWYWx1ZTogY29udmVydFZhbHVlLCB2YWx1ZVByb3BOYW1lOiB2YWx1ZVByb3BOYW1lLCBjaGlsZHJlbjogaW5qZWN0ZWQgfSkpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgY29udHJvbENoaWxkID0gaW5qZWN0ZWQ7XG4gICAgICAgIH1cbiAgICB9XG4gICAgY29uc3QgY2xhc3NlcyA9IGNsYXNzbmFtZXMocHJlZml4Q2xzKTtcbiAgICAvLyBGb3JtLWxldmVsIGxheW91dC5pdGVtR2FwIG92ZXJyaWRlcyB0aGUgc2l6ZS1jbGFzcyBtYXJnaW4gKGlubGluZSBzdHlsZVxuICAgIC8vIHdpbnMpOyBpdGVtR2FwPTAgaXMgbWVhbmluZ2Z1bC5cbiAgICBjb25zdCBpdGVtR2FwID0gKF9hID0gY3R4LmxheW91dCkgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLml0ZW1HYXA7XG4gICAgY29uc3QgZ2FwU3R5bGUgPSBpdGVtR2FwICE9PSB1bmRlZmluZWRcbiAgICAgICAgPyB7IG1hcmdpbkJvdHRvbTogdHlwZW9mIGl0ZW1HYXAgPT09ICdudW1iZXInID8gYCR7aXRlbUdhcH1weGAgOiBpdGVtR2FwIH1cbiAgICAgICAgOiB1bmRlZmluZWQ7XG4gICAgY29uc3Qgc2hlbGwgPSAoX2pzeHMoXCJkaXZcIiwgeyBjbGFzc05hbWU6IGNsYXNzZXModW5kZWZpbmVkLCBqb2luQ2xzKGNsYXNzZXMoc2l6ZSksIGNsYXNzTmFtZSkpLCBzdHlsZTogZ2FwU3R5bGUsIGNoaWxkcmVuOiBbbGFiZWwgJiYgKF9qc3hzKFwiZGl2XCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKCdsYWJlbC13cmFwcGVyJywgam9pbkNscyhjbGFzc2VzKCdsYWJlbC13cmFwcGVyLXZlcnRpY2FsJyksIGxhYmVsQWxpZ24gJiYgY2xhc3NlcyhgbGFiZWwtd3JhcHBlci0ke2xhYmVsQWxpZ259YCkpKSwgY2hpbGRyZW46IFtfanN4KFR5cG9ncmFwaHlMYWJlbCwgeyBhczogXCJsYWJlbFwiLCBzdHJvbmc6IHRydWUsIHNpemU6IEZPUk1fTEFCRUxfU0laRVNbc2l6ZV0sIGNvbG9yOiBGT1JNX0xBQkVMX0NPTE9SLCBjbGFzc05hbWU6IGNsYXNzZXMoJ2xhYmVsJyksIGNoaWxkcmVuOiBsYWJlbCB9KSwgZGVzY3JpcHRpb24gJiYgKF9qc3goVHlwb2dyYXBoeUJvZHksIHsgYXM6IFwiZGl2XCIsIGNsYXNzTmFtZTogY2xhc3NlcygnZGVzY3JpcHRpb24nKSwgc2l6ZTogRk9STV9ERVNDUklQVElPTl9TSVpFLCBjb2xvcjogRk9STV9ERVNDUklQVElPTl9DT0xPUiwgY2hpbGRyZW46IGRlc2NyaXB0aW9uIH0pKV0gfSkpLCBfanN4cyhcImRpdlwiLCB7IGNsYXNzTmFtZTogY2xhc3NlcygnY29udHJvbCcpLCBjaGlsZHJlbjogW2NvbnRyb2xDaGlsZCwgZmllbGRFcnJvciAmJiAoX2pzeChUeXBvZ3JhcGh5Qm9keSwgeyBhczogXCJkaXZcIiwgY2xhc3NOYW1lOiBjbGFzc2VzKCdlcnJvcicpLCBzaXplOiBGT1JNX0VSUk9SX1NJWkUsIGNvbG9yOiBGT1JNX0VSUk9SX0NPTE9SLCBjaGlsZHJlbjogZmllbGRFcnJvciB9KSksICFmaWVsZEVycm9yICYmIGZpZWxkV2FybmluZyAmJiAoX2pzeChUeXBvZ3JhcGh5Qm9keSwgeyBhczogXCJkaXZcIiwgY2xhc3NOYW1lOiBjbGFzc2VzKCd3YXJuaW5nJyksIHNpemU6IEZPUk1fV0FSTklOR19TSVpFLCBjb2xvcjogRk9STV9XQVJOSU5HX0NPTE9SLCBjaGlsZHJlbjogZmllbGRXYXJuaW5nIH0pKSwgIWZpZWxkRXJyb3IgJiYgIWZpZWxkV2FybmluZyAmJiBmZWVkYmFjayAmJiAoX2pzeChUeXBvZ3JhcGh5Qm9keSwgeyBhczogXCJkaXZcIiwgY2xhc3NOYW1lOiBjbGFzc2VzKCdmZWVkYmFjaycpLCBzaXplOiBGT1JNX0ZFRURCQUNLX1NJWkUsIGNvbG9yOiBGT1JNX0ZFRURCQUNLX0NPTE9SLCBjaGlsZHJlbjogZmVlZGJhY2sgfSkpXSB9KV0gfSkpO1xuICAgIGlmIChjdHguZ3JpZCkge1xuICAgICAgICBjb25zdCBtZXJnZWQgPSBPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sIGN0eC5jb2xQcm9wcyksIGNvbFByb3BzKTtcbiAgICAgICAgY29uc3QgeyBzcGFuID0gREVGQVVMVF9DT0xfU1BBTiwgc20sIG1kLCBsZyB9ID0gbWVyZ2VkO1xuICAgICAgICByZXR1cm4gX2pzeChDb2wsIHsgc3Bhbjogc3Bhbiwgc206IHNtLCBtZDogbWQsIGxnOiBsZywgY2hpbGRyZW46IHNoZWxsIH0pO1xuICAgIH1cbiAgICByZXR1cm4gc2hlbGw7XG59O1xuUHJvRm9ybUl0ZW1CYXNlLmRpc3BsYXlOYW1lID0gJ1Byb0Zvcm1JdGVtJztcbmV4cG9ydCBjb25zdCBQcm9Gb3JtSXRlbSA9IG1lbW8oUHJvRm9ybUl0ZW1CYXNlKTtcbmV4cG9ydCBkZWZhdWx0IFByb0Zvcm1JdGVtOyIsbnVsbF0sInNvdXJjZVJvb3QiOiIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMifQ==
330
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvUHJvRm9ybS9Qcm9Gb3JtSXRlbS5qcyIsImNvbXBvbmVudHMvc3JjL2NvbXBvbmVudHMvUHJvRm9ybS9Qcm9Gb3JtSXRlbS50c3giXSwibmFtZXMiOlsiX2pzeFJ1bnRpbWUiLCJyZXF1aXJlIiwiX3JlYWN0IiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJfR3JpZCIsIl9JY29ucyIsIl9UeXBvZ3JhcGh5IiwiX2NsYXNzbmFtZXMiLCJfdXNlRm9ybUl0ZW0yIiwiX2NvbnN0YW50cyIsIl9jb250ZXh0IiwiX2Zvcm1TdG9yZSIsIl9wYXRoVXRpbHMiLCJfY29uc3RhbnRzMiIsIl91dGlscyIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsImUiLCJXZWFrTWFwIiwiciIsInQiLCJfX2VzTW9kdWxlIiwiX3R5cGVvZiIsImhhcyIsImdldCIsIm4iLCJfX3Byb3RvX18iLCJhIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJ1IiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiaSIsInNldCIsIkVNUFRZX1RFWFRfREVGQVVMVCIsInJlbmRlckJ5VmFsdWVUeXBlIiwidmFsdWVUeXBlIiwidmFsdWUiLCJwcm9wcyIsInVuZGVmaW5lZCIsInJlcGVhdCIsIlN0cmluZyIsImxlbmd0aCIsIm51bSIsIk51bWJlciIsImlzTmFOIiwidG9Mb2NhbGVTdHJpbmciLCJ2YWx1ZUVudW0iLCJvcHRpb25zIiwidmFsdWVFbnVtVG9PcHRpb25zIiwibWF0Y2giLCJmaW5kIiwibyIsImxhYmVsIiwiRGF0ZSIsImZvcm1hdERhdGVCeVBhdHRlcm4iLCJEQVRFX0ZPUk1BVCIsIkRBVEVfVElNRV9GT1JNQVQiLCJSZWFkb25seUNoaWxkQmFzZSIsIl9yZWYiLCJuYW1lIiwiY29udmVydFZhbHVlIiwicmVhZG9ubHlSZW5kZXIiLCJlbXB0eVRleHQiLCJzdG9yZSIsInVzZVByb0Zvcm1TdG9yZSIsIl91c2VTdG9yZVNlbGVjdG9yIiwidXNlU3RvcmVTZWxlY3RvciIsInN0YXRlIiwicmVzb2x2ZVZhbHVlIiwidmFsdWVzIiwic2hhbGxvd0VxdWFsQXJyYXlzIiwiX3VzZVN0b3JlU2VsZWN0b3IyIiwiX3NsaWNlZFRvQXJyYXkyIiwicmF3IiwiYWxsVmFsdWVzIiwibm9kZSIsImdldFN0YXRlIiwiX2pzeCIsImNoaWxkcmVuIiwicmVuZGVyZWQiLCJkaXNwbGF5TmFtZSIsIlJlYWRvbmx5Q2hpbGQiLCJtZW1vIiwiQ29udmVydFZhbHVlQ2hpbGRCYXNlIiwiX3JlZjIiLCJfcmVmMiR2YWx1ZVByb3BOYW1lIiwidmFsdWVQcm9wTmFtZSIsImNvbnZlcnRlZCIsIlJlYWN0IiwiY2xvbmVFbGVtZW50IiwiX2RlZmluZVByb3BlcnR5MiIsIkNvbnZlcnRWYWx1ZUNoaWxkIiwiUHJvRm9ybUl0ZW1CYXNlIiwiX2EiLCJjdHgiLCJ1c2VQcm9Gb3JtU3RhYmxlIiwibWVyZ2VkUHJvcHMiLCJmb3JtSXRlbVByb3BzIiwibWVyZ2VkIiwiYXNzaWduIiwiX2kiLCJfT2JqZWN0JGtleXMiLCJrZXlzIiwia2V5IiwiX21lcmdlZFByb3BzIiwiZGVzY3JpcHRpb24iLCJydWxlcyIsImZlZWRiYWNrIiwidmFsaWRhdGVTdGF0dXMiLCJfbWVyZ2VkUHJvcHMkY2xhc3NOYW0iLCJjbGFzc05hbWUiLCJfbWVyZ2VkUHJvcHMkcHJlZml4Q2wiLCJwcmVmaXhDbHMiLCJoaWRkZW4iLCJ0cmFuc2Zvcm0iLCJjb2xQcm9wcyIsIm1vZGVQcm9wIiwibW9kZSIsIl9tZXJnZWRQcm9wcyRlbXB0eVRleCIsInZhbGlkYXRlRGVib3VuY2UiLCJ2YWxpZGF0ZVRyaWdnZXIiLCJtZXJnZWRNb2RlIiwiaXNSZWFkb25seSIsIl91c2VGb3JtSXRlbSIsInVzZUZvcm1JdGVtIiwiZmllbGRFcnJvciIsImZpZWxkV2FybmluZyIsInNpemUiLCJsYWJlbEFsaWduIiwiaW5qZWN0RmllbGQiLCJvd25UcmFuc2Zvcm1SZWYiLCJ1c2VSZWYiLCJvd25WYWx1ZVR5cGVSZWYiLCJwcmV2VHJhbnNmb3JtIiwiY3VycmVudCIsInVucmVnaXN0ZXJUcmFuc2Zvcm0iLCJmbiIsInJlZ2lzdGVyVHJhbnNmb3JtIiwicHJldlZhbHVlVHlwZSIsInVucmVnaXN0ZXJWYWx1ZVR5cGUiLCJyZWdpc3RlclZhbHVlVHlwZSIsInVzZUVmZmVjdCIsInRyYW5zZm9ybVJlZyIsInZhbHVlVHlwZVJlZyIsInYiLCJjb250cm9sQ2hpbGQiLCJpbmplY3RlZCIsImlzVmFsaWRFbGVtZW50IiwiY2xhc3NlcyIsImNsYXNzbmFtZXMiLCJpdGVtR2FwIiwibGF5b3V0IiwiZ2FwU3R5bGUiLCJtYXJnaW5Cb3R0b20iLCJjb25jYXQiLCJzaGVsbCIsIl9qc3hzIiwiam9pbkNscyIsInN0eWxlIiwiVHlwb2dyYXBoeUxhYmVsIiwiYXMiLCJzdHJvbmciLCJGT1JNX0xBQkVMX1NJWkVTIiwiY29sb3IiLCJGT1JNX0xBQkVMX0NPTE9SIiwiVHlwb2dyYXBoeUJvZHkiLCJGT1JNX0RFU0NSSVBUSU9OX1NJWkUiLCJGT1JNX0RFU0NSSVBUSU9OX0NPTE9SIiwiSWNvbnMiLCJGT1JNX01FU1NBR0VfSUNPTl9TSVpFIiwiRk9STV9FUlJPUl9TSVpFIiwiRk9STV9FUlJPUl9DT0xPUiIsIkZPUk1fV0FSTklOR19TSVpFIiwiRk9STV9XQVJOSU5HX0NPTE9SIiwiRk9STV9GRUVEQkFDS19TSVpFIiwiRk9STV9GRUVEQkFDS19DT0xPUiIsImdyaWQiLCJfbWVyZ2VkJHNwYW4iLCJzcGFuIiwiREVGQVVMVF9DT0xfU1BBTiIsInNtIiwibWQiLCJsZyIsIkNvbCIsIlByb0Zvcm1JdGVtIiwiZXhwb3J0cyIsIl9kZWZhdWx0Il0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O0FBQUEsSUFBQUEsV0FBQSxHQUFBQyxPQUFBO0FDQUEsSUFBQUMsTUFBQSxHQUFBQyx1QkFBQSxDQUFBRixPQUFBO0FBRUEsSUFBQUcsS0FBQSxHQUFBSCxPQUFBO0FBQ0EsSUFBQUksTUFBQSxHQUFBSixPQUFBO0FBQ0EsSUFBQUssV0FB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aWxlIjoiY29tcG9uZW50cy9Qcm9Gb3JtL1Byb0Zvcm1JdGVtLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsganN4IGFzIF9qc3gsIGpzeHMgYXMgX2pzeHMgfSBmcm9tIFwicmVhY3QvanN4LXJ1bnRpbWVcIjtcbmltcG9ydCBSZWFjdCwgeyBtZW1vLCB1c2VFZmZlY3QsIHVzZVJlZiB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IENvbCB9IGZyb20gJy4uL0dyaWQnO1xuaW1wb3J0IHsgSWNvbnMgfSBmcm9tICcuLi9JY29ucyc7XG5pbXBvcnQgeyBUeXBvZ3JhcGh5Qm9keSwgVHlwb2dyYXBoeUxhYmVsIH0gZnJvbSAnLi4vVHlwb2dyYXBoeSc7XG5pbXBvcnQgeyBkZWZhdWx0IGFzIGNsYXNzbmFtZXMsIGpvaW5DbHMgfSBmcm9tICcuLi8uLi91dGlscy9jbGFzc25hbWVzJztcbmltcG9ydCB7IHVzZUZvcm1JdGVtIH0gZnJvbSAnLi9jb3JlL3VzZUZvcm1JdGVtJztcbmltcG9ydCB7IEZPUk1fRVJST1JfQ09MT1IsIEZPUk1fRVJST1JfU0laRSwgRk9STV9NRVNTQUdFX0lDT05fU0laRSwgRk9STV9XQVJOSU5HX0NPTE9SLCBGT1JNX1dBUk5JTkdfU0laRSwgRk9STV9ERVNDUklQVElPTl9DT0xPUiwgRk9STV9ERVNDUklQVElPTl9TSVpFLCBGT1JNX0ZFRURCQUNLX0NPTE9SLCBGT1JNX0ZFRURCQUNLX1NJWkUsIEZPUk1fTEFCRUxfQ09MT1IsIEZPUk1fTEFCRUxfU0laRVMsIH0gZnJvbSAnLi9jb3JlL2NvbnN0YW50cyc7XG5pbXBvcnQgeyB1c2VQcm9Gb3JtU3RhYmxlLCB1c2VQcm9Gb3JtU3RvcmUgfSBmcm9tICcuL2NvbnRleHQnO1xuaW1wb3J0IHsgdXNlU3RvcmVTZWxlY3Rvciwgc2hhbGxvd0VxdWFsQXJyYXlzIH0gZnJvbSAnLi9jb3JlL2Zvcm1TdG9yZSc7XG5pbXBvcnQgeyByZXNvbHZlVmFsdWUgfSBmcm9tICcuL2NvcmUvcGF0aFV0aWxzJztcbmltcG9ydCB7IERFRkFVTFRfQ09MX1NQQU4gfSBmcm9tICcuL2NvbnN0YW50cyc7XG5pbXBvcnQgeyB2YWx1ZUVudW1Ub09wdGlvbnMsIGZvcm1hdERhdGVCeVBhdHRlcm4sIERBVEVfRk9STUFULCBEQVRFX1RJTUVfRk9STUFUIH0gZnJvbSAnLi91dGlscyc7XG5jb25zdCBFTVBUWV9URVhUX0RFRkFVTFQgPSAnLSc7XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFJlYWQtbW9kZSByZW5kZXJpbmcgZm9yIGVhY2ggc3VwcG9ydGVkIHZhbHVlVHlwZVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5mdW5jdGlvbiByZW5kZXJCeVZhbHVlVHlwZSh2YWx1ZVR5cGUsIHZhbHVlLCBwcm9wcykge1xuICAgIGlmICh2YWx1ZSA9PT0gbnVsbCB8fCB2YWx1ZSA9PT0gdW5kZWZpbmVkIHx8IHZhbHVlID09PSAnJylcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgc3dpdGNoICh2YWx1ZVR5cGUpIHtcbiAgICAgICAgY2FzZSAncGFzc3dvcmQnOlxuICAgICAgICAgICAgcmV0dXJuICcqJy5yZXBlYXQoU3RyaW5nKHZhbHVlKS5sZW5ndGgpO1xuICAgICAgICBjYXNlICdzd2l0Y2gnOlxuICAgICAgICAgICAgcmV0dXJuIHZhbHVlID8gJ09uJyA6ICdPZmYnO1xuICAgICAgICBjYXNlICdkaWdpdCc6IHtcbiAgICAgICAgICAgIGNvbnN0IG51bSA9IE51bWJlcih2YWx1ZSk7XG4gICAgICAgICAgICBpZiAoTnVtYmVyLmlzTmFOKG51bSkpXG4gICAgICAgICAgICAgICAgcmV0dXJuIFN0cmluZyh2YWx1ZSk7XG4gICAgICAgICAgICByZXR1cm4gbnVtLnRvTG9jYWxlU3RyaW5nKCk7XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSAnc2VsZWN0JzpcbiAgICAgICAgY2FzZSAncmFkaW8nOlxuICAgICAgICBjYXNlICd0YWcnOiB7XG4gICAgICAgICAgICBpZiAoIXByb3BzLnZhbHVlRW51bSlcbiAgICAgICAgICAgICAgICByZXR1cm4gU3RyaW5nKHZhbHVlKTtcbiAgICAgICAgICAgIGNvbnN0IG9wdGlvbnMgPSB2YWx1ZUVudW1Ub09wdGlvbnMocHJvcHMudmFsdWVFbnVtKTtcbiAgICAgICAgICAgIGNvbnN0IG1hdGNoID0gb3B0aW9ucy5maW5kKChvKSA9PiBTdHJpbmcoby52YWx1ZSkgPT09IFN0cmluZyh2YWx1ZSkpO1xuICAgICAgICAgICAgcmV0dXJuIG1hdGNoID8gbWF0Y2gubGFiZWwgOiBTdHJpbmcodmFsdWUpO1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgJ2RhdGUnOlxuICAgICAgICAgICAgcmV0dXJuIHZhbHVlIGluc3RhbmNlb2YgRGF0ZSA/IGZvcm1hdERhdGVCeVBhdHRlcm4odmFsdWUsIERBVEVfRk9STUFUKSA6IFN0cmluZyh2YWx1ZSk7XG4gICAgICAgIGNhc2UgJ2RhdGVUaW1lJzpcbiAgICAgICAgICAgIHJldHVybiB2YWx1ZSBpbnN0YW5jZW9mIERhdGUgPyBmb3JtYXREYXRlQnlQYXR0ZXJuKHZhbHVlLCBEQVRFX1RJTUVfRk9STUFUKSA6IFN0cmluZyh2YWx1ZSk7XG4gICAgICAgIGNhc2UgJ3RleHQnOlxuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgcmV0dXJuIFN0cmluZyh2YWx1ZSk7XG4gICAgfVxufVxuY29uc3QgUmVhZG9ubHlDaGlsZEJhc2UgPSAoeyBuYW1lLCB2YWx1ZVR5cGUsIHZhbHVlRW51bSwgY29udmVydFZhbHVlLCByZWFkb25seVJlbmRlciwgZW1wdHlUZXh0LCB9KSA9PiB7XG4gICAgY29uc3Qgc3RvcmUgPSB1c2VQcm9Gb3JtU3RvcmUoKTtcbiAgICAvLyBTdWJzY3JpYmUgcGVyLWZpZWxkOyBvbmx5IGEgY3VzdG9tIHJlYWRvbmx5UmVuZGVyICh3aGljaCByZWNlaXZlcyBBTExcbiAgICAvLyB2YWx1ZXMpIG5lZWRzIHRvIHRyYWNrIHRoZSB3aG9sZSB2YWx1ZXMgb2JqZWN0LlxuICAgIGNvbnN0IFtyYXcsIGFsbFZhbHVlc10gPSB1c2VTdG9yZVNlbGVjdG9yKHN0b3JlLCAoc3RhdGUpID0+IFtcbiAgICAgICAgbmFtZSA/IHJlc29sdmVWYWx1ZShzdGF0ZS52YWx1ZXMsIG5hbWUpIDogdW5kZWZpbmVkLFxuICAgICAgICByZWFkb25seVJlbmRlciA/IHN0YXRlLnZhbHVlcyA6IHVuZGVmaW5lZCxcbiAgICBdLCBzaGFsbG93RXF1YWxBcnJheXMpO1xuICAgIGNvbnN0IHZhbHVlID0gY29udmVydFZhbHVlICYmIG5hbWUgPyBjb252ZXJ0VmFsdWUocmF3LCBuYW1lKSA6IHJhdztcbiAgICBpZiAocmVhZG9ubHlSZW5kZXIpIHtcbiAgICAgICAgY29uc3Qgbm9kZSA9IHJlYWRvbmx5UmVuZGVyKHZhbHVlLCBhbGxWYWx1ZXMgIT09IG51bGwgJiYgYWxsVmFsdWVzICE9PSB2b2lkIDAgPyBhbGxWYWx1ZXMgOiBzdG9yZS5nZXRTdGF0ZSgpLnZhbHVlcyk7XG4gICAgICAgIHJldHVybiBfanN4KFwic3BhblwiLCB7IGNoaWxkcmVuOiBub2RlICE9PSBudWxsICYmIG5vZGUgIT09IHZvaWQgMCA/IG5vZGUgOiBlbXB0eVRleHQgfSk7XG4gICAgfVxuICAgIGlmICh2YWx1ZSA9PT0gbnVsbCB8fCB2YWx1ZSA9PT0gdW5kZWZpbmVkIHx8IHZhbHVlID09PSAnJykge1xuICAgICAgICByZXR1cm4gX2pzeChcInNwYW5cIiwgeyBjaGlsZHJlbjogZW1wdHlUZXh0IH0pO1xuICAgIH1cbiAgICBjb25zdCByZW5kZXJlZCA9IHJlbmRlckJ5VmFsdWVUeXBlKHZhbHVlVHlwZSwgdmFsdWUsIHsgdmFsdWVFbnVtIH0pO1xuICAgIHJldHVybiBfanN4KFwic3BhblwiLCB7IGNoaWxkcmVuOiByZW5kZXJlZCAhPT0gbnVsbCAmJiByZW5kZXJlZCAhPT0gdm9pZCAwID8gcmVuZGVyZWQgOiBlbXB0eVRleHQgfSk7XG59O1xuUmVhZG9ubHlDaGlsZEJhc2UuZGlzcGxheU5hbWUgPSAnUHJvRm9ybUl0ZW1SZWFkb25seSc7XG5jb25zdCBSZWFkb25seUNoaWxkID0gbWVtbyhSZWFkb25seUNoaWxkQmFzZSk7XG5jb25zdCBDb252ZXJ0VmFsdWVDaGlsZEJhc2UgPSAoeyBuYW1lLCBjb252ZXJ0VmFsdWUsIHZhbHVlUHJvcE5hbWUgPSAndmFsdWUnLCBjaGlsZHJlbiwgfSkgPT4ge1xuICAgIGNvbnN0IHN0b3JlID0gdXNlUHJvRm9ybVN0b3JlKCk7XG4gICAgY29uc3QgcmF3ID0gdXNlU3RvcmVTZWxlY3RvcihzdG9yZSwgKHN0YXRlKSA9PiByZXNvbHZlVmFsdWUoc3RhdGUudmFsdWVzLCBuYW1lKSk7XG4gICAgY29uc3QgY29udmVydGVkID0gY29udmVydFZhbHVlID8gY29udmVydFZhbHVlKHJhdywgbmFtZSkgOiByYXc7XG4gICAgcmV0dXJuIFJlYWN0LmNsb25lRWxlbWVudChjaGlsZHJlbiwgeyBbdmFsdWVQcm9wTmFtZV06IGNvbnZlcnRlZCB9KTtcbn07XG5Db252ZXJ0VmFsdWVDaGlsZEJhc2UuZGlzcGxheU5hbWUgPSAnUHJvRm9ybUl0ZW1Db252ZXJ0VmFsdWUnO1xuY29uc3QgQ29udmVydFZhbHVlQ2hpbGQgPSBtZW1vKENvbnZlcnRWYWx1ZUNoaWxkQmFzZSk7XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFByb0Zvcm1JdGVtXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbmNvbnN0IFByb0Zvcm1JdGVtQmFzZSA9IChwcm9wcykgPT4ge1xuICAgIHZhciBfYTtcbiAgICAvLyBTdGFibGUgc2xpY2Ugb25seSDigJQgdmFsdWUvZXJyb3IgcmVhY3Rpdml0eSBsaXZlcyBpbiB1c2VGb3JtSXRlbSdzXG4gICAgLy8gcGVyLWZpZWxkIHN1YnNjcmlwdGlvbiwgc28gdGhpcyBzaGVsbCBuZXZlciByZS1yZW5kZXJzIGZvciBzaWJsaW5ncy5cbiAgICBjb25zdCBjdHggPSB1c2VQcm9Gb3JtU3RhYmxlKCk7XG4gICAgLy8gRm9ybS1sZXZlbCBgZm9ybUl0ZW1Qcm9wc2AgYWN0IGFzIERFRkFVTFRTOyBwcm9wcyBleHBsaWNpdGx5IHNldCBvbiB0aGVcbiAgICAvLyBpdGVtIHdpbi4gSlNYIGZyZXF1ZW50bHkgcGFzc2VzIGB1bmRlZmluZWRgIGZvciB1bnNldCBwcm9wcyAoZS5nLiB0aGVcbiAgICAvLyBjcmVhdGVQcm9Gb3JtRmllbGQgcGFzcy10aHJvdWdoKSwgc28gb25seSBkZWZpbmVkIHZhbHVlcyBtYXkgb3ZlcnJpZGUuXG4gICAgbGV0IG1lcmdlZFByb3BzID0gcHJvcHM7XG4gICAgaWYgKGN0eC5mb3JtSXRlbVByb3BzKSB7XG4gICAgICAgIGNvbnN0IG1lcmdlZCA9IE9iamVjdC5hc3NpZ24oe30sIGN0eC5mb3JtSXRlbVByb3BzKTtcbiAgICAgICAgZm9yIChjb25zdCBrZXkgb2YgT2JqZWN0LmtleXMocHJvcHMpKSB7XG4gICAgICAgICAgICBjb25zdCB2YWx1ZSA9IHByb3BzW2tleV07XG4gICAgICAgICAgICBpZiAodmFsdWUgIT09IHVuZGVmaW5lZClcbiAgICAgICAgICAgICAgICBtZXJnZWRba2V5XSA9IHZhbHVlO1xuICAgICAgICB9XG4gICAgICAgIG1lcmdlZFByb3BzID0gbWVyZ2VkO1xuICAgIH1cbiAgICBjb25zdCB7IGNoaWxkcmVuLCBuYW1lLCBsYWJlbCwgZGVzY3JpcHRpb24sIHJ1bGVzLCBmZWVkYmFjaywgdmFsaWRhdGVTdGF0dXMsIGNsYXNzTmFtZSA9ICcnLCBwcmVmaXhDbHMgPSAnZm9ybS1pdGVtJywgaGlkZGVuLCB0cmFuc2Zvcm0sIGNvbnZlcnRWYWx1ZSwgdmFsdWVUeXBlLCByZWFkb25seVJlbmRlciwgY29sUHJvcHMsIG1vZGU6IG1vZGVQcm9wLCBlbXB0eVRleHQgPSBFTVBUWV9URVhUX0RFRkFVTFQsIHZhbHVlRW51bSwgdmFsdWVQcm9wTmFtZSwgdmFsaWRhdGVEZWJvdW5jZSwgdmFsaWRhdGVUcmlnZ2VyLCB9ID0gbWVyZ2VkUHJvcHM7XG4gICAgY29uc3QgbWVyZ2VkTW9kZSA9IG1vZGVQcm9wICE9PSBudWxsICYmIG1vZGVQcm9wICE9PSB2b2lkIDAgPyBtb2RlUHJvcCA6IGN0eC5tb2RlO1xuICAgIGNvbnN0IGlzUmVhZG9ubHkgPSBtZXJnZWRNb2RlID09PSAncmVhZCc7XG4gICAgY29uc3QgeyBmaWVsZEVycm9yLCBmaWVsZFdhcm5pbmcsIHNpemUsIGxhYmVsQWxpZ24sIGluamVjdEZpZWxkLCB9ID0gdXNlRm9ybUl0ZW0oe1xuICAgICAgICBuYW1lLFxuICAgICAgICBydWxlcyxcbiAgICAgICAgdmFsaWRhdGVTdGF0dXMsXG4gICAgICAgIHZhbHVlUHJvcE5hbWUsXG4gICAgICAgIHZhbGlkYXRlRGVib3VuY2UsXG4gICAgICAgIHZhbGlkYXRlVHJpZ2dlcixcbiAgICB9KTtcbiAgICAvLyBSZWdpc3RlciB0cmFuc2Zvcm0gLyB2YWx1ZVR5cGUgRFVSSU5HIHJlbmRlciAoaWRlbXBvdGVudCByZWYgd3JpdGVzLCBsaWtlXG4gICAgLy8gcmVnaXN0ZXJGaWVsZCk6IGNvbnN1bWVycyByZW5kZXJlZCBsYXRlciBpbiB0aGUgc2FtZSBwYXNzIOKAlCBlLmcuIGFcbiAgICAvLyBEZXBlbmRlbmN5IHJlYWRpbmcgZm9ybWF0dGVkIHZhbHVlcyDigJQgbXVzdCBhbHJlYWR5IHNlZSB0aGVtLiBFZmZlY3RzXG4gICAgLy8gd291bGQgcmVnaXN0ZXIgdG9vIGxhdGUgKGFmdGVyIHRoZSB3aG9sZSB0cmVlIHJlbmRlcmVkKS5cbiAgICAvL1xuICAgIC8vIEVhY2ggaW5zdGFuY2UgdHJhY2tzIHRoZSB7bmFtZSwgdmFsdWV9IFBBSVIgaXQgcmVnaXN0ZXJlZC4gUmVtb3ZhbCBpc1xuICAgIC8vIGFsd2F5cyBwZXJmb3JtZWQgd2l0aCB0aGUgcGFpcidzIG93biBuYW1lIEFORCB2YWx1ZTogYW4gaXRlbSB3aXRob3V0IGFcbiAgICAvLyB0cmFuc2Zvcm0gbmV2ZXIgdG91Y2hlcyBhIHNhbWUtbmFtZSBzaWJsaW5nJ3MgcmVnaXN0cmF0aW9uLCBhbiB1bm1vdW50XG4gICAgLy8gY2xlYW51cCBjYW4ndCB3aXBlIGEgc3VjY2Vzc29yJ3MgKHZhbHVlLWd1YXJkZWQpLCBhbmQgYSBOQU1FIGNoYW5nZVxuICAgIC8vIHJlbW92ZXMgdGhlIG9sZCBuYW1lJ3MgZW50cnkgd2l0aCB0aGUgT0xEIHZhbHVlIGJlZm9yZSB0aGUgcmVmIGlzXG4gICAgLy8gb3ZlcndyaXR0ZW4gKGEgbGl2ZSBzaW5nbGUtdmFsdWUgcmVmIHdvdWxkIGxlYWsgaXQpLlxuICAgIGNvbnN0IG93blRyYW5zZm9ybVJlZiA9IHVzZVJlZihudWxsKTtcbiAgICBjb25zdCBvd25WYWx1ZVR5cGVSZWYgPSB1c2VSZWYobnVsbCk7XG4gICAgY29uc3QgcHJldlRyYW5zZm9ybSA9IG93blRyYW5zZm9ybVJlZi5jdXJyZW50O1xuICAgIGlmIChwcmV2VHJhbnNmb3JtICYmIChwcmV2VHJhbnNmb3JtLm5hbWUgIT09IG5hbWUgfHwgIXRyYW5zZm9ybSkpIHtcbiAgICAgICAgY3R4LnVucmVnaXN0ZXJUcmFuc2Zvcm0ocHJldlRyYW5zZm9ybS5uYW1lLCBwcmV2VHJhbnNmb3JtLmZuKTtcbiAgICAgICAgb3duVHJhbnNmb3JtUmVmLmN1cnJlbnQgPSBudWxsO1xuICAgIH1cbiAgICBpZiAobmFtZSAmJiB0cmFuc2Zvcm0pIHtcbiAgICAgICAgY3R4LnJlZ2lzdGVyVHJhbnNmb3JtKG5hbWUsIHRyYW5zZm9ybSk7XG4gICAgICAgIG93blRyYW5zZm9ybVJlZi5jdXJyZW50ID0geyBuYW1lLCBmbjogdHJhbnNmb3JtIH07XG4gICAgfVxuICAgIGNvbnN0IHByZXZWYWx1ZVR5cGUgPSBvd25WYWx1ZVR5cGVSZWYuY3VycmVudDtcbiAgICBpZiAocHJldlZhbHVlVHlwZSAmJiAocHJldlZhbHVlVHlwZS5uYW1lICE9PSBuYW1lIHx8ICF2YWx1ZVR5cGUpKSB7XG4gICAgICAgIGN0eC51bnJlZ2lzdGVyVmFsdWVUeXBlKHByZXZWYWx1ZVR5cGUubmFtZSwgcHJldlZhbHVlVHlwZS52YWx1ZVR5cGUpO1xuICAgICAgICBvd25WYWx1ZVR5cGVSZWYuY3VycmVudCA9IG51bGw7XG4gICAgfVxuICAgIGlmIChuYW1lICYmIHZhbHVlVHlwZSkge1xuICAgICAgICBjdHgucmVnaXN0ZXJWYWx1ZVR5cGUobmFtZSwgdmFsdWVUeXBlKTtcbiAgICAgICAgb3duVmFsdWVUeXBlUmVmLmN1cnJlbnQgPSB7IG5hbWUsIHZhbHVlVHlwZSB9O1xuICAgIH1cbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgICAvLyBSRS1SRUdJU1RFUiBpbiB0aGUgYm9keTogU3RyaWN0TW9kZSdzIG1vdW504oaSY2xlYW51cOKGknJlLXJ1biBjeWNsZSBhbmRcbiAgICAgICAgLy8ga2V5ZWQgcmVtb3VudHMgKG9sZCBpbnN0YW5jZSdzIGNsZWFudXAgcnVucyBBRlRFUiB0aGUgbmV3IHJlbmRlclxuICAgICAgICAvLyByZWdpc3RlcmVkKSBib3RoIGVuZCB3aXRoIGEgY2xlYW51cCBoYXZpbmcgZGVsZXRlZCB0aGUgZW50cnkg4oCUIHRoZVxuICAgICAgICAvLyBlZmZlY3QgYm9keSBtdXN0IHJlc3RvcmUgdGhlIGxhdGVzdCByZWdpc3RyYXRpb24uXG4gICAgICAgIGNvbnN0IHRyYW5zZm9ybVJlZyA9IG93blRyYW5zZm9ybVJlZi5jdXJyZW50O1xuICAgICAgICBpZiAodHJhbnNmb3JtUmVnKVxuICAgICAgICAgICAgY3R4LnJlZ2lzdGVyVHJhbnNmb3JtKHRyYW5zZm9ybVJlZy5uYW1lLCB0cmFuc2Zvcm1SZWcuZm4pO1xuICAgICAgICBjb25zdCB2YWx1ZVR5cGVSZWcgPSBvd25WYWx1ZVR5cGVSZWYuY3VycmVudDtcbiAgICAgICAgaWYgKHZhbHVlVHlwZVJlZylcbiAgICAgICAgICAgIGN0eC5yZWdpc3RlclZhbHVlVHlwZSh2YWx1ZVR5cGVSZWcubmFtZSwgdmFsdWVUeXBlUmVnLnZhbHVlVHlwZSk7XG4gICAgICAgIHJldHVybiAoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCB0ID0gb3duVHJhbnNmb3JtUmVmLmN1cnJlbnQ7XG4gICAgICAgICAgICBpZiAodClcbiAgICAgICAgICAgICAgICBjdHgudW5yZWdpc3RlclRyYW5zZm9ybSh0Lm5hbWUsIHQuZm4pO1xuICAgICAgICAgICAgY29uc3QgdiA9IG93blZhbHVlVHlwZVJlZi5jdXJyZW50O1xuICAgICAgICAgICAgaWYgKHYpXG4gICAgICAgICAgICAgICAgY3R4LnVucmVnaXN0ZXJWYWx1ZVR5cGUodi5uYW1lLCB2LnZhbHVlVHlwZSk7XG4gICAgICAgIH07XG4gICAgfSwgW25hbWUsIGN0eC5yZWdpc3RlclRyYW5zZm9ybSwgY3R4LnVucmVnaXN0ZXJUcmFuc2Zvcm0sIGN0eC5yZWdpc3RlclZhbHVlVHlwZSwgY3R4LnVucmVnaXN0ZXJWYWx1ZVR5cGVdKTtcbiAgICBpZiAoaGlkZGVuKVxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICBsZXQgY29udHJvbENoaWxkO1xuICAgIGlmIChpc1JlYWRvbmx5KSB7XG4gICAgICAgIGNvbnRyb2xDaGlsZCA9IChfanN4KFJlYWRvbmx5Q2hpbGQsIHsgbmFtZTogbmFtZSwgdmFsdWVUeXBlOiB2YWx1ZVR5cGUsIHZhbHVlRW51bTogdmFsdWVFbnVtLCBjb252ZXJ0VmFsdWU6IGNvbnZlcnRWYWx1ZSwgcmVhZG9ubHlSZW5kZXI6IHJlYWRvbmx5UmVuZGVyLCBlbXB0eVRleHQ6IGVtcHR5VGV4dCB9KSk7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgICAvLyBJbmplY3QgZmlyc3Qgc28gdGhlIHJlYWwgZmllbGQgcmVjZWl2ZXMgdmFsdWUvb25DaGFuZ2Uvb25CbHVyLFxuICAgICAgICAvLyB0aGVuIG9wdGlvbmFsbHkgd3JhcCBpbiBDb252ZXJ0VmFsdWVDaGlsZCB0byBvdmVycmlkZSB0aGUgZGlzcGxheWVkIHZhbHVlLlxuICAgICAgICBjb25zdCBpbmplY3RlZCA9IGluamVjdEZpZWxkKGNoaWxkcmVuKTtcbiAgICAgICAgaWYgKGNvbnZlcnRWYWx1ZSAmJiBuYW1lICYmIFJlYWN0LmlzVmFsaWRFbGVtZW50KGluamVjdGVkKSkge1xuICAgICAgICAgICAgY29udHJvbENoaWxkID0gKF9qc3goQ29udmVydFZhbHVlQ2hpbGQsIHsgbmFtZTogbmFtZSwgY29udmVydFZhbHVlOiBjb252ZXJ0VmFsdWUsIHZhbHVlUHJvcE5hbWU6IHZhbHVlUHJvcE5hbWUsIGNoaWxkcmVuOiBpbmplY3RlZCB9KSk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICBjb250cm9sQ2hpbGQgPSBpbmplY3RlZDtcbiAgICAgICAgfVxuICAgIH1cbiAgICBjb25zdCBjbGFzc2VzID0gY2xhc3NuYW1lcyhwcmVmaXhDbHMpO1xuICAgIC8vIEZvcm0tbGV2ZWwgbGF5b3V0Lml0ZW1HYXAgb3ZlcnJpZGVzIHRoZSBzaXplLWNsYXNzIG1hcmdpbiAoaW5saW5lIHN0eWxlXG4gICAgLy8gd2lucyk7IGl0ZW1HYXA9MCBpcyBtZWFuaW5nZnVsLlxuICAgIGNvbnN0IGl0ZW1HYXAgPSAoX2EgPSBjdHgubGF5b3V0KSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EuaXRlbUdhcDtcbiAgICBjb25zdCBnYXBTdHlsZSA9IGl0ZW1HYXAgIT09IHVuZGVmaW5lZFxuICAgICAgICA/IHsgbWFyZ2luQm90dG9tOiB0eXBlb2YgaXRlbUdhcCA9PT0gJ251bWJlcicgPyBgJHtpdGVtR2FwfXB4YCA6IGl0ZW1HYXAgfVxuICAgICAgICA6IHVuZGVmaW5lZDtcbiAgICBjb25zdCBzaGVsbCA9IChfanN4cyhcImRpdlwiLCB7IGNsYXNzTmFtZTogY2xhc3Nlcyh1bmRlZmluZWQsIGpvaW5DbHMoY2xhc3NlcyhzaXplKSwgY2xhc3NOYW1lKSksIHN0eWxlOiBnYXBTdHlsZSwgY2hpbGRyZW46IFtsYWJlbCAmJiAoX2pzeHMoXCJkaXZcIiwgeyBjbGFzc05hbWU6IGNsYXNzZXMoJ2xhYmVsLXdyYXBwZXInLCBqb2luQ2xzKGNsYXNzZXMoJ2xhYmVsLXdyYXBwZXItdmVydGljYWwnKSwgbGFiZWxBbGlnbiAmJiBjbGFzc2VzKGBsYWJlbC13cmFwcGVyLSR7bGFiZWxBbGlnbn1gKSkpLCBjaGlsZHJlbjogW19qc3goVHlwb2dyYXBoeUxhYmVsLCB7IGFzOiBcImxhYmVsXCIsIHN0cm9uZzogdHJ1ZSwgc2l6ZTogRk9STV9MQUJFTF9TSVpFU1tzaXplXSwgY29sb3I6IEZPUk1fTEFCRUxfQ09MT1IsIGNsYXNzTmFtZTogY2xhc3NlcygnbGFiZWwnKSwgY2hpbGRyZW46IGxhYmVsIH0pLCBkZXNjcmlwdGlvbiAmJiAoX2pzeChUeXBvZ3JhcGh5Qm9keSwgeyBhczogXCJkaXZcIiwgY2xhc3NOYW1lOiBjbGFzc2VzKCdkZXNjcmlwdGlvbicpLCBzaXplOiBGT1JNX0RFU0NSSVBUSU9OX1NJWkUsIGNvbG9yOiBGT1JNX0RFU0NSSVBUSU9OX0NPTE9SLCBjaGlsZHJlbjogZGVzY3JpcHRpb24gfSkpXSB9KSksIF9qc3hzKFwiZGl2XCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKCdjb250cm9sJyksIGNoaWxkcmVuOiBbY29udHJvbENoaWxkLCBmaWVsZEVycm9yICYmIChfanN4cyhcImRpdlwiLCB7IGNsYXNzTmFtZTogY2xhc3NlcygnZXJyb3InKSwgY2hpbGRyZW46IFtfanN4KEljb25zLCB7IGNsYXNzTmFtZTogY2xhc3NlcygnbWVzc2FnZS1pY29uJyksIG5hbWU6IFwiZXJyb3JcIiwgc2l6ZTogRk9STV9NRVNTQUdFX0lDT05fU0laRSB9KSwgX2pzeChUeXBvZ3JhcGh5Qm9keSwgeyBhczogXCJzcGFuXCIsIHNpemU6IEZPUk1fRVJST1JfU0laRSwgY29sb3I6IEZPUk1fRVJST1JfQ09MT1IsIGNoaWxkcmVuOiBmaWVsZEVycm9yIH0pXSB9KSksICFmaWVsZEVycm9yICYmIGZpZWxkV2FybmluZyAmJiAoX2pzeChUeXBvZ3JhcGh5Qm9keSwgeyBhczogXCJkaXZcIiwgY2xhc3NOYW1lOiBjbGFzc2VzKCd3YXJuaW5nJyksIHNpemU6IEZPUk1fV0FSTklOR19TSVpFLCBjb2xvcjogRk9STV9XQVJOSU5HX0NPTE9SLCBjaGlsZHJlbjogZmllbGRXYXJuaW5nIH0pKSwgIWZpZWxkRXJyb3IgJiYgIWZpZWxkV2FybmluZyAmJiBmZWVkYmFjayAmJiAoX2pzeChUeXBvZ3JhcGh5Qm9keSwgeyBhczogXCJkaXZcIiwgY2xhc3NOYW1lOiBjbGFzc2VzKCdmZWVkYmFjaycpLCBzaXplOiBGT1JNX0ZFRURCQUNLX1NJWkUsIGNvbG9yOiBGT1JNX0ZFRURCQUNLX0NPTE9SLCBjaGlsZHJlbjogZmVlZGJhY2sgfSkpXSB9KV0gfSkpO1xuICAgIGlmIChjdHguZ3JpZCkge1xuICAgICAgICBjb25zdCBtZXJnZWQgPSBPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sIGN0eC5jb2xQcm9wcyksIGNvbFByb3BzKTtcbiAgICAgICAgY29uc3QgeyBzcGFuID0gREVGQVVMVF9DT0xfU1BBTiwgc20sIG1kLCBsZyB9ID0gbWVyZ2VkO1xuICAgICAgICByZXR1cm4gX2pzeChDb2wsIHsgc3Bhbjogc3Bhbiwgc206IHNtLCBtZDogbWQsIGxnOiBsZywgY2hpbGRyZW46IHNoZWxsIH0pO1xuICAgIH1cbiAgICByZXR1cm4gc2hlbGw7XG59O1xuUHJvRm9ybUl0ZW1CYXNlLmRpc3BsYXlOYW1lID0gJ1Byb0Zvcm1JdGVtJztcbmV4cG9ydCBjb25zdCBQcm9Gb3JtSXRlbSA9IG1lbW8oUHJvRm9ybUl0ZW1CYXNlKTtcbmV4cG9ydCBkZWZhdWx0IFByb0Zvcm1JdGVtOyIsbnVsbF0sInNvdXJjZVJvb3QiOiIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMifQ==