@1money/component-ui 0.0.75 → 0.0.77

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.
Files changed (153) hide show
  1. package/es/components/ProForm/ProForm.d.ts +1 -1
  2. package/es/components/ProForm/ProForm.js +46 -34
  3. package/es/components/ProForm/ProFormDependency.d.ts +2 -1
  4. package/es/components/ProForm/ProFormDependency.js +6 -16
  5. package/es/components/ProForm/ProFormItem.d.ts +7 -2
  6. package/es/components/ProForm/ProFormItem.js +5 -7
  7. package/es/components/ProForm/ProFormList.d.ts +6 -1
  8. package/es/components/ProForm/ProFormList.js +122 -42
  9. package/es/components/ProForm/SchemaForm.d.ts +1 -1
  10. package/es/components/ProForm/SchemaForm.js +8 -5
  11. package/es/components/ProForm/context.d.ts +8 -7
  12. package/es/components/ProForm/context.js +1 -1
  13. package/es/components/ProForm/core/constants.d.ts +3 -1
  14. package/es/components/ProForm/core/constants.js +8 -2
  15. package/es/components/ProForm/core/devWarning.d.ts +3 -0
  16. package/es/components/ProForm/core/devWarning.js +22 -0
  17. package/es/components/ProForm/core/formStore.d.ts +14 -6
  18. package/es/components/ProForm/core/formStore.js +21 -2
  19. package/es/components/ProForm/core/hooks/useForm.d.ts +1 -1
  20. package/es/components/ProForm/core/hooks/useForm.js +275 -107
  21. package/es/components/ProForm/core/hooks/useFormCore.d.ts +2 -2
  22. package/es/components/ProForm/core/hooks/useFormCore.js +121 -121
  23. package/es/components/ProForm/core/interface.d.ts +157 -103
  24. package/es/components/ProForm/core/namePathType.d.ts +25 -0
  25. package/es/components/ProForm/core/namePathType.js +2 -0
  26. package/es/components/ProForm/core/pathUtils.d.ts +5 -3
  27. package/es/components/ProForm/core/pathUtils.js +19 -1
  28. package/es/components/ProForm/core/runRules.d.ts +40 -17
  29. package/es/components/ProForm/core/runRules.js +480 -136
  30. package/es/components/ProForm/core/useFormItem.d.ts +7 -8
  31. package/es/components/ProForm/core/useFormItem.js +52 -82
  32. package/es/components/ProForm/core/validationError.d.ts +13 -0
  33. package/es/components/ProForm/core/validationError.js +29 -0
  34. package/es/components/ProForm/fields/ProFormCheckbox.d.ts +1 -1
  35. package/es/components/ProForm/fields/ProFormCheckboxGroup.d.ts +1 -1
  36. package/es/components/ProForm/fields/ProFormCheckboxGroup.js +19 -5
  37. package/es/components/ProForm/fields/ProFormDatePicker.d.ts +1 -1
  38. package/es/components/ProForm/fields/ProFormDatePicker.js +1 -1
  39. package/es/components/ProForm/fields/ProFormFieldSet.d.ts +7 -2
  40. package/es/components/ProForm/fields/ProFormFieldSet.js +49 -12
  41. package/es/components/ProForm/fields/ProFormPassword.d.ts +1 -1
  42. package/es/components/ProForm/fields/ProFormRadioGroup.d.ts +1 -1
  43. package/es/components/ProForm/fields/ProFormRadioGroup.js +8 -3
  44. package/es/components/ProForm/fields/ProFormSelect.d.ts +1 -1
  45. package/es/components/ProForm/fields/ProFormSelect.js +13 -7
  46. package/es/components/ProForm/fields/ProFormSlider.d.ts +1 -1
  47. package/es/components/ProForm/fields/ProFormSwitch.d.ts +1 -1
  48. package/es/components/ProForm/fields/ProFormText.d.ts +1 -1
  49. package/es/components/ProForm/fields/ProFormTextArea.d.ts +1 -1
  50. package/es/components/ProForm/fields/ProFormUpload.d.ts +1 -1
  51. package/es/components/ProForm/fields/ProFormUpload.js +1 -1
  52. package/es/components/ProForm/fields/createProFormField.d.ts +8 -2
  53. package/es/components/ProForm/fields/createProFormField.js +20 -27
  54. package/es/components/ProForm/hooks/useFieldRequest.d.ts +1 -1
  55. package/es/components/ProForm/hooks/useFieldRequest.js +10 -8
  56. package/es/components/ProForm/hooks/useUrlSync.d.ts +8 -7
  57. package/es/components/ProForm/hooks/useUrlSync.js +1 -1
  58. package/es/components/ProForm/index.d.ts +37 -27
  59. package/es/components/ProForm/index.js +4 -1
  60. package/es/components/ProForm/interface.d.ts +115 -119
  61. package/es/components/ProForm/layouts/DialogForm.d.ts +1 -1
  62. package/es/components/ProForm/layouts/DialogForm.js +1 -1
  63. package/es/components/ProForm/layouts/DrawerForm.d.ts +1 -1
  64. package/es/components/ProForm/layouts/DrawerForm.js +1 -1
  65. package/es/components/ProForm/layouts/QueryFilter.d.ts +1 -1
  66. package/es/components/ProForm/layouts/QueryFilter.js +24 -16
  67. package/es/components/ProForm/layouts/useOverlayForm.d.ts +2 -2
  68. package/es/components/ProForm/layouts/useOverlayForm.js +1 -1
  69. package/es/components/ProForm/utils.d.ts +15 -7
  70. package/es/components/ProForm/utils.js +51 -3
  71. package/es/components/Table/core/useTableSetup.js +2 -2
  72. package/es/components/Table/interface.d.ts +1 -1
  73. package/es/index.css +1 -1
  74. package/es/index.d.ts +1 -1
  75. package/es/index.js +1 -1
  76. package/lib/components/ProForm/ProForm.d.ts +1 -1
  77. package/lib/components/ProForm/ProForm.js +45 -33
  78. package/lib/components/ProForm/ProFormDependency.d.ts +2 -1
  79. package/lib/components/ProForm/ProFormDependency.js +5 -15
  80. package/lib/components/ProForm/ProFormItem.d.ts +7 -2
  81. package/lib/components/ProForm/ProFormItem.js +5 -7
  82. package/lib/components/ProForm/ProFormList.d.ts +6 -1
  83. package/lib/components/ProForm/ProFormList.js +120 -40
  84. package/lib/components/ProForm/SchemaForm.d.ts +1 -1
  85. package/lib/components/ProForm/SchemaForm.js +8 -5
  86. package/lib/components/ProForm/context.d.ts +8 -7
  87. package/lib/components/ProForm/context.js +1 -1
  88. package/lib/components/ProForm/core/constants.d.ts +3 -1
  89. package/lib/components/ProForm/core/constants.js +9 -3
  90. package/lib/components/ProForm/core/devWarning.d.ts +3 -0
  91. package/lib/components/ProForm/core/devWarning.js +29 -0
  92. package/lib/components/ProForm/core/formStore.d.ts +14 -6
  93. package/lib/components/ProForm/core/formStore.js +23 -2
  94. package/lib/components/ProForm/core/hooks/useForm.d.ts +1 -1
  95. package/lib/components/ProForm/core/hooks/useForm.js +271 -103
  96. package/lib/components/ProForm/core/hooks/useFormCore.d.ts +2 -2
  97. package/lib/components/ProForm/core/hooks/useFormCore.js +119 -119
  98. package/lib/components/ProForm/core/interface.d.ts +157 -103
  99. package/lib/components/ProForm/core/namePathType.d.ts +25 -0
  100. package/lib/components/ProForm/core/namePathType.js +6 -0
  101. package/lib/components/ProForm/core/pathUtils.d.ts +5 -3
  102. package/lib/components/ProForm/core/pathUtils.js +20 -1
  103. package/lib/components/ProForm/core/runRules.d.ts +40 -17
  104. package/lib/components/ProForm/core/runRules.js +483 -137
  105. package/lib/components/ProForm/core/useFormItem.d.ts +7 -8
  106. package/lib/components/ProForm/core/useFormItem.js +54 -84
  107. package/lib/components/ProForm/core/validationError.d.ts +13 -0
  108. package/lib/components/ProForm/core/validationError.js +36 -0
  109. package/lib/components/ProForm/fields/ProFormCheckbox.d.ts +1 -1
  110. package/lib/components/ProForm/fields/ProFormCheckboxGroup.d.ts +1 -1
  111. package/lib/components/ProForm/fields/ProFormCheckboxGroup.js +18 -4
  112. package/lib/components/ProForm/fields/ProFormDatePicker.d.ts +1 -1
  113. package/lib/components/ProForm/fields/ProFormDatePicker.js +1 -1
  114. package/lib/components/ProForm/fields/ProFormFieldSet.d.ts +7 -2
  115. package/lib/components/ProForm/fields/ProFormFieldSet.js +49 -12
  116. package/lib/components/ProForm/fields/ProFormPassword.d.ts +1 -1
  117. package/lib/components/ProForm/fields/ProFormRadioGroup.d.ts +1 -1
  118. package/lib/components/ProForm/fields/ProFormRadioGroup.js +7 -2
  119. package/lib/components/ProForm/fields/ProFormSelect.d.ts +1 -1
  120. package/lib/components/ProForm/fields/ProFormSelect.js +13 -7
  121. package/lib/components/ProForm/fields/ProFormSlider.d.ts +1 -1
  122. package/lib/components/ProForm/fields/ProFormSwitch.d.ts +1 -1
  123. package/lib/components/ProForm/fields/ProFormText.d.ts +1 -1
  124. package/lib/components/ProForm/fields/ProFormTextArea.d.ts +1 -1
  125. package/lib/components/ProForm/fields/ProFormUpload.d.ts +1 -1
  126. package/lib/components/ProForm/fields/ProFormUpload.js +1 -1
  127. package/lib/components/ProForm/fields/createProFormField.d.ts +8 -2
  128. package/lib/components/ProForm/fields/createProFormField.js +20 -27
  129. package/lib/components/ProForm/hooks/useFieldRequest.d.ts +1 -1
  130. package/lib/components/ProForm/hooks/useFieldRequest.js +10 -8
  131. package/lib/components/ProForm/hooks/useUrlSync.d.ts +8 -7
  132. package/lib/components/ProForm/hooks/useUrlSync.js +1 -1
  133. package/lib/components/ProForm/index.d.ts +37 -27
  134. package/lib/components/ProForm/index.js +10 -1
  135. package/lib/components/ProForm/interface.d.ts +115 -119
  136. package/lib/components/ProForm/layouts/DialogForm.d.ts +1 -1
  137. package/lib/components/ProForm/layouts/DialogForm.js +1 -1
  138. package/lib/components/ProForm/layouts/DrawerForm.d.ts +1 -1
  139. package/lib/components/ProForm/layouts/DrawerForm.js +1 -1
  140. package/lib/components/ProForm/layouts/QueryFilter.d.ts +1 -1
  141. package/lib/components/ProForm/layouts/QueryFilter.js +24 -16
  142. package/lib/components/ProForm/layouts/useOverlayForm.d.ts +2 -2
  143. package/lib/components/ProForm/layouts/useOverlayForm.js +1 -1
  144. package/lib/components/ProForm/utils.d.ts +15 -7
  145. package/lib/components/ProForm/utils.js +52 -3
  146. package/lib/components/Table/core/useTableSetup.js +2 -2
  147. package/lib/components/Table/interface.d.ts +1 -1
  148. package/lib/index.css +1 -1
  149. package/lib/index.d.ts +1 -1
  150. package/lib/index.js +1 -1
  151. package/package.json +1 -1
  152. package/scripts/mcp-server/examples.generated.json +95 -53
  153. package/scripts/mcp-server/index.generated.json +1715 -185
@@ -1,25 +1,24 @@
1
1
  import type { ReactNode } from 'react';
2
- import type { FormSize, LabelAlign, Rule, ValidateStatus } from './interface';
2
+ import type { FormRule, FormSize, LabelAlign, ValidateStatus, ValidateTriggerProp } from './interface';
3
3
  export interface UseFormItemOptions {
4
4
  name?: string;
5
- rules?: Rule[];
6
- required?: boolean;
5
+ rules?: FormRule[];
7
6
  validateStatus?: ValidateStatus;
8
7
  /** Prop name the controlled value is injected under (e.g. `checked` for Switch/Checkbox). */
9
8
  valuePropName?: string;
10
9
  /** Debounce (ms) applied to onChange-triggered validation. */
11
10
  validateDebounce?: number;
11
+ /** Item-level validateTrigger — overrides the form-level setting. */
12
+ validateTrigger?: ValidateTriggerProp;
12
13
  }
13
14
  export interface UseFormItemReturn {
14
- fieldValue: unknown;
15
- fieldError: string | undefined;
16
- fieldWarning: string | undefined;
15
+ fieldValue: any;
16
+ fieldError: ReactNode | undefined;
17
+ fieldWarning: ReactNode | undefined;
17
18
  fieldValidating: boolean;
18
19
  validateStatus: ValidateStatus | undefined;
19
- isRequired: boolean;
20
20
  size: FormSize;
21
21
  labelAlign: LabelAlign;
22
- requiredMark: boolean;
23
22
  /**
24
23
  * Clone a form-component child injecting value/onChange/onBlur/status.
25
24
  * Form `size` cascades into size-aware controls as a default — an explicit
@@ -6,47 +6,19 @@ Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
8
  exports.useFormItem = useFormItem;
9
- var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
10
9
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
10
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
12
11
  var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
13
12
  var _react = _interopRequireWildcard(require("react"));
14
13
  var _useEventCallback = _interopRequireDefault(require("@1money/hooks/useEventCallback"));
15
14
  var _useDebouncedCallback2 = _interopRequireDefault(require("@1money/hooks/useDebouncedCallback"));
16
- var _context2 = require("../context");
15
+ var _context = require("../context");
17
16
  var _formStore = require("./formStore");
18
17
  var _pathUtils = require("./pathUtils");
19
18
  var _runRules = require("./runRules");
20
19
  var _constants = require("./constants");
21
20
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
22
21
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof3(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
23
- var __awaiter = void 0 && (void 0).__awaiter || function (thisArg, _arguments, P, generator) {
24
- function adopt(value) {
25
- return value instanceof P ? value : new P(function (resolve) {
26
- resolve(value);
27
- });
28
- }
29
- return new (P || (P = Promise))(function (resolve, reject) {
30
- function fulfilled(value) {
31
- try {
32
- step(generator.next(value));
33
- } catch (e) {
34
- reject(e);
35
- }
36
- }
37
- function rejected(value) {
38
- try {
39
- step(generator["throw"](value));
40
- } catch (e) {
41
- reject(e);
42
- }
43
- }
44
- function step(result) {
45
- result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
46
- }
47
- step((generator = generator.apply(thisArg, _arguments || [])).next());
48
- });
49
- };
50
22
  /**
51
23
  * Normalise a change-handler argument: unwrap `e.target[valuePropName]` /
52
24
  * `e[valuePropName]` (e.g. Checkbox emits `{ checked }`), else `e.target.value`,
@@ -67,30 +39,31 @@ function extractEventValue(e) {
67
39
  return e;
68
40
  }
69
41
  function useFormItem(options) {
70
- var _this = this;
71
42
  var name = options.name,
72
43
  _options$rules = options.rules,
73
44
  rules = _options$rules === void 0 ? [] : _options$rules,
74
- required = options.required,
75
45
  validateStatus = options.validateStatus,
76
46
  _options$valuePropNam = options.valuePropName,
77
47
  valuePropName = _options$valuePropNam === void 0 ? 'value' : _options$valuePropNam,
78
- validateDebounce = options.validateDebounce;
79
- var _useProFormStable = (0, _context2.useProFormStable)(),
48
+ validateDebounce = options.validateDebounce,
49
+ itemValidateTrigger = options.validateTrigger;
50
+ var _useProFormStable = (0, _context.useProFormStable)(),
51
+ formInstance = _useProFormStable.formInstance,
80
52
  setFieldValue = _useProFormStable.setFieldValue,
81
- validateField = _useProFormStable.validateField,
53
+ setFieldError = _useProFormStable.setFieldError,
54
+ setFieldWarning = _useProFormStable.setFieldWarning,
82
55
  validateFieldAsync = _useProFormStable.validateFieldAsync,
83
56
  registerField = _useProFormStable.registerField,
84
- unregisterField = _useProFormStable.unregisterField,
57
+ retainField = _useProFormStable.retainField,
58
+ releaseField = _useProFormStable.releaseField,
85
59
  size = _useProFormStable.size,
86
60
  labelAlign = _useProFormStable.labelAlign,
87
- requiredMark = _useProFormStable.requiredMark,
88
- validateTrigger = _useProFormStable.validateTrigger,
61
+ formValidateTrigger = _useProFormStable.validateTrigger,
89
62
  formDisabled = _useProFormStable.disabled;
90
- var store = (0, _context2.useProFormStore)();
91
- var isRequired = Boolean(required || rules.some(function (rule) {
92
- return rule.required;
93
- }));
63
+ var store = (0, _context.useProFormStore)();
64
+ // The item-level validateTrigger overrides the form-level one;
65
+ // the result is the set of interactive events that validate this field.
66
+ var activeTriggers = (0, _runRules.normalizeTriggers)(itemValidateTrigger, formValidateTrigger);
94
67
  // Per-field store subscription: this item re-renders ONLY when its own
95
68
  // value/error/warning/validating slice changes — typing in a sibling field
96
69
  // produces an equal tuple and the selector short-circuits.
@@ -105,41 +78,21 @@ function useFormItem(options) {
105
78
  fieldWarning = _useStoreSelector2[2],
106
79
  fieldValidating = _useStoreSelector2[3];
107
80
  var finalStatus = validateStatus || (fieldError ? 'error' : fieldWarning ? 'warning' : undefined);
108
- // Run only the rules applicable to the given interactive trigger; rules
109
- // without an explicit validateTrigger follow the form-level setting.
81
+ // Unified async validation dispatch. EVERY interactive trigger (onChange,
82
+ // onBlur) validates through the SAME async path, so a rule behaves identically
83
+ // on each of its effective triggers — whether it is a builtin check, a
84
+ // sync-throwing validator, or a Promise-returning one (matching the upstream
85
+ // field-form / pro-components model: a validator runs on each of its
86
+ // triggers, awaited). Trigger filtering needs resolved rules — a function-form
87
+ // rule's validateTrigger is only known after resolving it against the live
88
+ // values. The per-field epoch + `validating` flag are owned by
89
+ // validateFieldAsync, so a slow async check can never stamp a stale error.
110
90
  var runValidate = (0, _useEventCallback["default"])(function (value, trigger) {
111
- if (!name || rules.length === 0) return true;
112
- var applicable = (0, _runRules.filterRulesByTrigger)(rules, trigger, validateTrigger);
113
- if (applicable.length === 0) return true;
114
- return validateField(name, applicable, value);
115
- });
116
- var runValidateAsync = (0, _useEventCallback["default"])(function (value, trigger) {
117
- return __awaiter(_this, void 0, void 0, /*#__PURE__*/_regenerator["default"].mark(function _callee() {
118
- var applicable;
119
- return _regenerator["default"].wrap(function (_context) {
120
- while (1) switch (_context.prev = _context.next) {
121
- case 0:
122
- if (!(!name || rules.length === 0)) {
123
- _context.next = 1;
124
- break;
125
- }
126
- return _context.abrupt("return");
127
- case 1:
128
- applicable = (0, _runRules.filterRulesByTrigger)(rules, trigger, validateTrigger);
129
- if (!(applicable.length === 0)) {
130
- _context.next = 2;
131
- break;
132
- }
133
- return _context.abrupt("return");
134
- case 2:
135
- _context.next = 3;
136
- return validateFieldAsync(name, value, applicable);
137
- case 3:
138
- case "end":
139
- return _context.stop();
140
- }
141
- }, _callee);
142
- }));
91
+ if (!name || rules.length === 0) return;
92
+ var resolved = (0, _runRules.resolveRules)(rules, store.getState().values, formInstance);
93
+ var applicable = (0, _runRules.filterRulesByTrigger)(resolved, trigger, activeTriggers, name);
94
+ if (applicable.length === 0) return;
95
+ validateFieldAsync(name, value, applicable);
143
96
  });
144
97
  var _useDebouncedCallback = (0, _useDebouncedCallback2["default"])(function (value) {
145
98
  runValidate(value, 'onChange');
@@ -168,7 +121,7 @@ function useFormItem(options) {
168
121
  // tick (change → immediate blur) must be validated, not the render-time
169
122
  // snapshot.
170
123
  var currentValue = name ? name.includes('.') ? (0, _pathUtils.getNestedValue)(store.getState().values, name) : store.getState().values[name] : undefined;
171
- runValidateAsync(currentValue, 'onBlur');
124
+ runValidate(currentValue, 'onBlur');
172
125
  });
173
126
  // Latest child-provided callbacks, captured at injectField time. The STABLE
174
127
  // injected handlers below delegate through this ref instead of being
@@ -193,17 +146,36 @@ function useFormItem(options) {
193
146
  }
194
147
  (_b = (_a = childCallbacksRef.current).onBlur) === null || _b === void 0 ? void 0 : (_b3 = _b).call.apply(_b3, [_a].concat(args));
195
148
  });
149
+ // A FRESH field instance must not inherit error/warning meta stamped on the
150
+ // same name by a previous, since-unmounted instance (errors outlive
151
+ // unregisterField by design — list remapping depends on that). MOUNT only:
152
+ // a NAME change must not clear, or ProFormList's meta remapping (which
153
+ // renames rows positionally) would lose the very meta it just moved.
154
+ (0, _react.useEffect)(function () {
155
+ if (name) {
156
+ setFieldError(name, null);
157
+ setFieldWarning(name, null);
158
+ }
159
+ // Mount-only by design (see above).
160
+ }, []);
161
+ // Mount-counted lifetime: releaseField removes the rules only when the LAST
162
+ // same-name instance unmounts — a memo-bailed survivor (which won't
163
+ // re-render to re-register) keeps its registration intact. Declared BEFORE
164
+ // the register effect: retain must run first so the registration below is
165
+ // classified as instance-owned.
166
+ (0, _react.useEffect)(function () {
167
+ if (!name) return;
168
+ retainField(name);
169
+ return function () {
170
+ releaseField(name);
171
+ };
172
+ }, [name]);
196
173
  // Keep the registry in sync with the LATEST rules every render (registration
197
174
  // is a cheap ref mutation): dynamic rules (e.g. required toggled by another
198
175
  // field) must be visible to submit-time validation, not just onChange.
199
176
  (0, _react.useEffect)(function () {
200
177
  if (name && registerField) registerField(name, rules);
201
178
  });
202
- (0, _react.useEffect)(function () {
203
- return function () {
204
- if (name && unregisterField) unregisterField(name);
205
- };
206
- }, [name]);
207
179
  var injectField = function injectField(child) {
208
180
  var _a;
209
181
  if (!name || ! /*#__PURE__*/_react["default"].isValidElement(child)) return child;
@@ -240,11 +212,9 @@ function useFormItem(options) {
240
212
  fieldWarning: fieldWarning,
241
213
  fieldValidating: fieldValidating,
242
214
  validateStatus: finalStatus,
243
- isRequired: isRequired,
244
215
  size: size,
245
216
  labelAlign: labelAlign,
246
- requiredMark: requiredMark,
247
217
  injectField: injectField
248
218
  };
249
219
  }
250
- //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvUHJvRm9ybS9zcmMvY29tcG9uZW50cy9Qcm9Gb3JtL2NvcmUvdXNlRm9ybUl0ZW0udHMiLCJjb21wb25lbnRzL1Byb0Zvcm0vY29yZS91c2VGb3JtSXRlbS5qcyJdLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfdXNlRXZlbnRDYWxsYmFjayIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfdXNlRGVib3VuY2VkQ2FsbGJhY2syIiwiX2NvbnRleHQyIiwiX2Zvcm1TdG9yZSIsIl9wYXRoVXRpbHMiLCJfcnVuUnVsZXMiLCJfY29uc3RhbnRzIiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwiZSIsIldlYWtNYXAiLCJyIiwidCIsIl9fZXNNb2R1bGUiLCJfdHlwZW9mMyIsImhhcyIsImdldCIsIm4iLCJfX3Byb3RvX18iLCJhIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJ1IiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiaSIsInNldCIsIl9fYXdhaXRlciIsInRoaXNBcmciLCJfYXJndW1lbnRzIiwiUCIsImdlbmVyYXRvciIsImFkb3B0IiwidmFsdWUiLCJyZXNvbHZlIiwiUHJvbWlzZSIsInJlamVjdCIsImZ1bGZpbGxlZCIsInN0ZXAiLCJuZXh0IiwicmVqZWN0ZWQiLCJyZXN1bHQiLCJkb25lIiwidGhlbiIsImFwcGx5IiwiZXh0cmFjdEV2ZW50VmFsdWUiLCJ2YWx1ZVByb3BOYW1lIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwidW5kZWZpbmVkIiwiX3R5cGVvZjIiLCJldmVudCIsInRhcmdldCIsInVzZUZvcm1JdGVtIiwib3B0aW9ucyIsIl90aGlzIiwibmFtZSIsIl9vcHRpb25zJHJ1bGVzIiwicnVsZXMiLCJyZXF1aXJlZCIsInZhbGlkYXRlU3RhdHVzIiwiX29wdGlvbnMkdmFsdWVQcm9wTmFtIiwidmFsaWRhdGVEZWJvdW5jZSIsIl91c2VQcm9Gb3JtU3RhYmxlIiwidXNlUHJvRm9ybVN0YWJsZSIsInNldEZpZWxkVmFsdWUiLCJ2YWxpZGF0ZUZpZWxkIiwidmFsaWRhdGVGaWVsZEFzeW5jIiwicmVnaXN0ZXJGaWVsZCIsInVucmVnaXN0ZXJGaWVsZCIsInNpemUiLCJsYWJlbEFsaWduIiwicmVxdWlyZWRNYXJrIiwidmFsaWRhdGVUcmlnZ2VyIiwiZm9ybURpc2FibGVkIiwiZGlzYWJsZWQiLCJzdG9yZSIsInVzZVByb0Zvcm1TdG9yZSIsImlzUmVxdWlyZWQiLCJCb29sZWFuIiwic29tZSIsInJ1bGUiLCJfdXNlU3RvcmVTZWxlY3RvciIsInVzZVN0b3JlU2VsZWN0b3IiLCJzdGF0ZSIsImluY2x1ZGVzIiwiZ2V0TmVzdGVkVmFsdWUiLCJ2YWx1ZXMiLCJlcnJvcnMiLCJ3YXJuaW5ncyIsInZhbGlkYXRpbmciLCJzaGFsbG93RXF1YWxBcnJheXMiLCJfdXNlU3RvcmVTZWxlY3RvcjIiLCJfc2xpY2VkVG9BcnJheTIiLCJmaWVsZFZhbHVlIiwiZmllbGRFcnJvciIsImZpZWxkV2FybmluZyIsImZpZWxkVmFsaWRhdGluZyIsImZpbmFsU3RhdHVzIiwicnVuVmFsaWRhdGUiLCJ1c2VFdmVudENhbGxiYWNrIiwidHJpZ2dlciIsImFwcGxpY2FibGUiLCJmaWx0ZXJSdWxlc0J5VHJpZ2dlciIsInJ1blZhbGlkYXRlQXN5bmMiLCJfcmVnZW5lcmF0b3IiLCJtYXJrIiwiX2NhbGxlZSIsIndyYXAiLCJfY29udGV4dCIsInByZXYiLCJhYnJ1cHQiLCJzdG9wIiwiX3VzZURlYm91bmNlZENhbGxiYWNrIiwidXNlRGVib3VuY2VkQ2FsbGJhY2siLCJkZWJvdW5jZWRWYWxpZGF0ZSIsInJ1biIsImhhbmRsZUNoYW5nZSIsInRvdWNoZWQiLCJnZXRTdGF0ZSIsInNldFN0YXRlIiwiYXNzaWduIiwiX2RlZmluZVByb3BlcnR5MiIsImhhbmRsZUJsdXIiLCJjdXJyZW50VmFsdWUiLCJjaGlsZENhbGxiYWNrc1JlZiIsInVzZVJlZiIsImluamVjdGVkT25DaGFuZ2UiLCJfYjIiLCJfYSIsIl9iIiwiX2xlbiIsImFyZ3MiLCJBcnJheSIsIl9rZXkiLCJjdXJyZW50Iiwib25DaGFuZ2UiLCJjb25jYXQiLCJpbmplY3RlZE9uQmx1ciIsIl9iMyIsIl9sZW4yIiwiX2tleTIiLCJvbkJsdXIiLCJ1c2VFZmZlY3QiLCJpbmplY3RGaWVsZCIsImNoaWxkIiwiUmVhY3QiLCJpc1ZhbGlkRWxlbWVudCIsImNoaWxkUHJvcHMiLCJwcm9wcyIsImRpc3BsYXlOYW1lIiwidHlwZSIsImlzRm9ybUNvbXBvbmVudCIsIkZPUk1fQ09NUE9ORU5UX05BTUVTIiwicGxhY2Vob2xkZXIiLCJzYWZlVmFsdWUiLCJURVhUX0xJS0VfQ09NUE9ORU5UX05BTUVTIiwiaW5qZWN0ZWRQcm9wcyIsInN0YXR1cyIsIlNJWkVfQVdBUkVfQ09NUE9ORU5UX05BTUVTIiwiY2xvbmVFbGVtZW50Il0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUFBQSxJQUFBQSxNQUFBLEdBQUFDLHVCQUFBLENBQUFDLE9BQUE7QUFFQSxJQUFBQyxpQkFBQSxHQUFBQyxzQkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQUcsc0JBQUEsR0FBQUQsc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFJLFNBQUEsR0FBQUosT0FBQTtBQUNBLElBQUFLLFVBQUEsR0FBQUwsT0FBQTtBQUNBLElBQUFNLFVBQUEsR0FBQU4sT0FBQTtBQUNBLElBQUFPLFNBQUEsR0FBQVAsT0FBQTtBQUNBLElBQUFRLFVBQUEsR0FBQVIsT0FBQTtBQUlxQixTQUFBUyx5QkFBQUMsQ0FBQSw2QkFBQUMsT0FBQSxtQkFBQUMsQ0FBQSxPQUFBRCxPQUFBLElBQUFFLENBQUEsT0FBQUYsT0FBQSxZQUFBRix3QkFBQSxZQUFBQSx5QkFBQUMsQ0FBQSxXQUFBQSxDQUFBLEdBQUFHLENBQUEsR0FBQUQsQ0FBQSxLQUFBRixDQUFBO0FBQUEsU0FBQVgsd0JBQUFXLENBQUEsRUFBQUUsQ0FBQSxTQUFBQSxDQUFBLElBQUFGLENBQUEs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TyxJQUFJO01BQUU0RCxNQUFNLEVBQUU7SUFBTyxDQUFHLENBQUEsRUFHL0NwRixZQUFZLElBQUkwRSxVQUFVLENBQUN6RSxRQUFRLEtBQUsxQixTQUFTLElBQUk7TUFBRTBCLFFBQVEsRUFBRTtJQUFJLENBQUcsQ0FBQSxFQUd4RW9GLHFDQUEwQixDQUFDMUUsUUFBUSxDQUFDaUUsV0FBVyxJQUFJLEVBQUUsQ0FBQyxJQUN4REYsVUFBVSxDQUFDOUUsSUFBSSxLQUFLckIsU0FBUyxJQUFJO01BQUVxQixJQUFJLEVBQUpBO0lBQUksQ0FBRyxDQUM3QztJQUVELG9CQUFPNEUsaUJBQUssQ0FBQ2MsWUFBWSxDQUFDZixLQUFLLEVBQUVZLGFBQWEsQ0FBQztFQUNqRCxDQUFDO0VBRUQsT0FBTztJQUNML0QsVUFBVSxFQUFWQSxVQUFVO0lBQ1ZDLFVBQVUsRUFBVkEsVUFBVTtJQUNWQyxZQUFZLEVBQVpBLFlBQVk7SUFDWkMsZUFBZSxFQUFmQSxlQUFlO0lBQ2ZyQyxjQUFjLEVBQUVzQyxXQUFXO0lBQzNCcEIsVUFBVSxFQUFWQSxVQUFVO0lBQ1ZSLElBQUksRUFBSkEsSUFBSTtJQUNKQyxVQUFVLEVBQVZBLFVBQVU7SUFDVkMsWUFBWSxFQUFaQSxZQUFZO0lBQ1p3RSxXQUFXLEVBQVhBO0VDM0VBLENENEVEO0FBQ0giLCJmaWxlIjoiY29tcG9uZW50cy9Qcm9Gb3JtL2NvcmUvdXNlRm9ybUl0ZW0uanMiLCJzb3VyY2VzQ29udGVudCI6W251bGwsInZhciBfX2F3YWl0ZXIgPSAodGhpcyAmJiB0aGlzLl9fYXdhaXRlcikgfHwgZnVuY3Rpb24gKHRoaXNBcmcsIF9hcmd1bWVudHMsIFAsIGdlbmVyYXRvcikge1xuICAgIGZ1bmN0aW9uIGFkb3B0KHZhbHVlKSB7IHJldHVybiB2YWx1ZSBpbnN0YW5jZW9mIFAgPyB2YWx1ZSA6IG5ldyBQKGZ1bmN0aW9uIChyZXNvbHZlKSB7IHJlc29sdmUodmFsdWUpOyB9KTsgfVxuICAgIHJldHVybiBuZXcgKFAgfHwgKFAgPSBQcm9taXNlKSkoZnVuY3Rpb24gKHJlc29sdmUsIHJlamVjdCkge1xuICAgICAgICBmdW5jdGlvbiBmdWxmaWxsZWQodmFsdWUpIHsgdHJ5IHsgc3RlcChnZW5lcmF0b3IubmV4dCh2YWx1ZSkpOyB9IGNhdGNoIChlKSB7IHJlamVjdChlKTsgfSB9XG4gICAgICAgIGZ1bmN0aW9uIHJlamVjdGVkKHZhbHVlKSB7IHRyeSB7IHN0ZXAoZ2VuZXJhdG9yW1widGhyb3dcIl0odmFsdWUpKTsgfSBjYXRjaCAoZSkgeyByZWplY3QoZSk7IH0gfVxuICAgICAgICBmdW5jdGlvbiBzdGVwKHJlc3VsdCkgeyByZXN1bHQuZG9uZSA/IHJlc29sdmUocmVzdWx0LnZhbHVlKSA6IGFkb3B0KHJlc3VsdC52YWx1ZSkudGhlbihmdWxmaWxsZWQsIHJlamVjdGVkKTsgfVxuICAgICAgICBzdGVwKChnZW5lcmF0b3IgPSBnZW5lcmF0b3IuYXBwbHkodGhpc0FyZywgX2FyZ3VtZW50cyB8fCBbXSkpLm5leHQoKSk7XG4gICAgfSk7XG59O1xuaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCwgdXNlUmVmIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHVzZUV2ZW50Q2FsbGJhY2sgZnJvbSAnQDFtb25leS9ob29rcy91c2VFdmVudENhbGxiYWNrJztcbmltcG9ydCB1c2VEZWJvdW5jZWRDYWxsYmFjayBmcm9tICdAMW1vbmV5L2hvb2tzL3VzZURlYm91bmNlZENhbGxiYWNrJztcbmltcG9ydCB7IHVzZVByb0Zvcm1TdGFibGUsIHVzZVByb0Zvcm1TdG9yZSB9IGZyb20gJy4uL2NvbnRleHQnO1xuaW1wb3J0IHsgdXNlU3RvcmVTZWxlY3Rvciwgc2hhbGxvd0VxdWFsQXJyYXlzIH0gZnJvbSAnLi9mb3JtU3RvcmUnO1xuaW1wb3J0IHsgZ2V0TmVzdGVkVmFsdWUgfSBmcm9tICcuL3BhdGhVdGlscyc7XG5pbXBvcnQgeyBmaWx0ZXJSdWxlc0J5VHJpZ2dlciB9IGZyb20gJy4vcnVuUnVsZXMnO1xuaW1wb3J0IHsgRk9STV9DT01QT05FTlRfTkFNRVMsIFNJWkVfQVdBUkVfQ09NUE9ORU5UX05BTUVTLCBURVhUX0xJS0VfQ09NUE9ORU5UX05BTUVTLCB9IGZyb20gJy4vY29uc3RhbnRzJztcbi8qKlxuICogTm9ybWFsaXNlIGEgY2hhbmdlLWhhbmRsZXIgYXJndW1lbnQ6IHVud3JhcCBgZS50YXJnZXRbdmFsdWVQcm9wTmFtZV1gIC9cbiAqIGBlW3ZhbHVlUHJvcE5hbWVdYCAoZS5nLiBDaGVja2JveCBlbWl0cyBgeyBjaGVja2VkIH1gKSwgZWxzZSBgZS50YXJnZXQudmFsdWVgLFxuICogZWxzZSBwYXNzIHRoZSB2YWx1ZSB0aHJvdWdoIChlLmcuIFN3aXRjaCBlbWl0cyB0aGUgYm9vbGVhbiBkaXJlY3RseSkuXG4gKi9cbmZ1bmN0aW9uIGV4dHJhY3RFdmVudFZhbHVlKGUsIHZhbHVlUHJvcE5hbWUgPSAndmFsdWUnKSB7XG4gICAgaWYgKGUgPT09IG51bGwgfHwgdHlwZW9mIGUgIT09ICdvYmplY3QnKVxuICAgICAgICByZXR1cm4gZTtcbiAgICBjb25zdCBldmVudCA9IGU7XG4gICAgaWYgKHZhbHVlUHJvcE5hbWUgIT09ICd2YWx1ZScgJiYgdmFsdWVQcm9wTmFtZSBpbiBldmVudCkge1xuICAgICAgICByZXR1cm4gZXZlbnRbdmFsdWVQcm9wTmFtZV07XG4gICAgfVxuICAgIGlmICgndGFyZ2V0JyBpbiBldmVudCAmJiBldmVudC50YXJnZXQgJiYgdHlwZW9mIGV2ZW50LnRhcmdldCA9PT0gJ29iamVjdCcpIHtcbiAgICAgICAgY29uc3QgdGFyZ2V0ID0gZXZlbnQudGFyZ2V0O1xuICAgICAgICBpZiAodmFsdWVQcm9wTmFtZSBpbiB0YXJnZXQpXG4gICAgICAgICAgICByZXR1cm4gdGFyZ2V0W3ZhbHVlUHJvcE5hbWVdO1xuICAgICAgICBpZiAoJ3ZhbHVlJyBpbiB0YXJnZXQpXG4gICAgICAgICAgICByZXR1cm4gdGFyZ2V0LnZhbHVlO1xuICAgIH1cbiAgICByZXR1cm4gZTtcbn1cbmV4cG9ydCBmdW5jdGlvbiB1c2VGb3JtSXRlbShvcHRpb25zKSB7XG4gICAgY29uc3QgeyBuYW1lLCBydWxlcyA9IFtdLCByZXF1aXJlZCwgdmFsaWRhdGVTdGF0dXMsIHZhbHVlUHJvcE5hbWUgPSAndmFsdWUnLCB2YWxpZGF0ZURlYm91bmNlLCB9ID0gb3B0aW9ucztcbiAgICBjb25zdCB7IHNldEZpZWxkVmFsdWUsIHZhbGlkYXRlRmllbGQsIHZhbGlkYXRlRmllbGRBc3luYywgcmVnaXN0ZXJGaWVsZCwgdW5yZWdpc3RlckZpZWxkLCBzaXplLCBsYWJlbEFsaWduLCByZXF1aXJlZE1hcmssIHZhbGlkYXRlVHJpZ2dlciwgZGlzYWJsZWQ6IGZvcm1EaXNhYmxlZCwgfSA9IHVzZVByb0Zvcm1TdGFibGUoKTtcbiAgICBjb25zdCBzdG9yZSA9IHVzZVByb0Zvcm1TdG9yZSgpO1xuICAgIGNvbnN0IGlzUmVxdWlyZWQgPSBCb29sZWFuKHJlcXVpcmVkIHx8IHJ1bGVzLnNvbWUoKHJ1bGUpID0+IHJ1bGUucmVxdWlyZWQpKTtcbiAgICAvLyBQZXItZmllbGQgc3RvcmUgc3Vic2NyaXB0aW9uOiB0aGlzIGl0ZW0gcmUtcmVuZGVycyBPTkxZIHdoZW4gaXRzIG93blxuICAgIC8vIHZhbHVlL2Vycm9yL3dhcm5pbmcvdmFsaWRhdGluZyBzbGljZSBjaGFuZ2VzIOKAlCB0eXBpbmcgaW4gYSBzaWJsaW5nIGZpZWxkXG4gICAgLy8gcHJvZHVjZXMgYW4gZXF1YWwgdHVwbGUgYW5kIHRoZSBzZWxlY3RvciBzaG9ydC1jaXJjdWl0cy5cbiAgICAvLyBFcnJvcnMvd2FybmluZ3MgYXJlIHN0b3JlZCBGTEFULCBrZXllZCBieSB0aGUgZnVsbCAocG9zc2libHkgZG90dGVkKSBmaWVsZFxuICAgIC8vIG5hbWUg4oCUIG5ldmVyIHJlc29sdmUgdGhlbSBhcyBuZXN0ZWQgcGF0aHMgb3IgZG90dGVkIG5hbWVzIHdvdWxkIG1pc3MuXG4gICAgY29uc3QgW2ZpZWxkVmFsdWUsIGZpZWxkRXJyb3IsIGZpZWxkV2FybmluZywgZmllbGRWYWxpZGF0aW5nXSA9IHVzZVN0b3JlU2VsZWN0b3Ioc3RvcmUsIChzdGF0ZSkgPT4gW1xuICAgICAgICBuYW1lXG4gICAgICAgICAgICA/IChuYW1lLmluY2x1ZGVzKCcuJykgPyBnZXROZXN0ZWRWYWx1ZShzdGF0ZS52YWx1ZXMsIG5hbWUpIDogc3RhdGUudmFsdWVzW25hbWVdKVxuICAgICAgICAgICAgOiB1bmRlZmluZWQsXG4gICAgICAgIG5hbWUgPyBzdGF0ZS5lcnJvcnNbbmFtZV0gOiB1bmRlZmluZWQsXG4gICAgICAgIG5hbWUgPyBzdGF0ZS53YXJuaW5nc1tuYW1lXSA6IHVuZGVmaW5lZCxcbiAgICAgICAgbmFtZSA/IChzdGF0ZS52YWxpZGF0aW5nW25hbWVdIHx8IGZhbHNlKSA6IGZhbHNlLFxuICAgIF0sIHNoYWxsb3dFcXVhbEFycmF5cyk7XG4gICAgY29uc3QgZmluYWxTdGF0dXMgPSB2YWxpZGF0ZVN0YXR1cyB8fCAoZmllbGRFcnJvciA/ICdlcnJvcicgOiBmaWVsZFdhcm5pbmcgPyAnd2FybmluZycgOiB1bmRlZmluZWQpO1xuICAgIC8vIFJ1biBvbmx5IHRoZSBydWxlcyBhcHBsaWNhYmxlIHRvIHRoZSBnaXZlbiBpbnRlcmFjdGl2ZSB0cmlnZ2VyOyBydWxlc1xuICAgIC8vIHdpdGhvdXQgYW4gZXhwbGljaXQgdmFsaWRhdGVUcmlnZ2VyIGZvbGxvdyB0aGUgZm9ybS1sZXZlbCBzZXR0aW5nLlxuICAgIGNvbnN0IHJ1blZhbGlkYXRlID0gdXNlRXZlbnRDYWxsYmFjaygodmFsdWUsIHRyaWdnZXIpID0+IHtcbiAgICAgICAgaWYgKCFuYW1lIHx8IHJ1bGVzLmxlbmd0aCA9PT0gMClcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICBjb25zdCBhcHBsaWNhYmxlID0gZmlsdGVyUnVsZXNCeVRyaWdnZXIocnVsZXMsIHRyaWdnZXIsIHZhbGlkYXRlVHJpZ2dlcik7XG4gICAgICAgIGlmIChhcHBsaWNhYmxlLmxlbmd0aCA9PT0gMClcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICByZXR1cm4gdmFsaWRhdGVGaWVsZChuYW1lLCBhcHBsaWNhYmxlLCB2YWx1ZSk7XG4gICAgfSk7XG4gICAgY29uc3QgcnVuVmFsaWRhdGVBc3luYyA9IHVzZUV2ZW50Q2FsbGJhY2soKHZhbHVlLCB0cmlnZ2VyKSA9PiBfX2F3YWl0ZXIodGhpcywgdm9pZCAwLCB2b2lkIDAsIGZ1bmN0aW9uKiAoKSB7XG4gICAgICAgIGlmICghbmFtZSB8fCBydWxlcy5sZW5ndGggPT09IDApXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIGNvbnN0IGFwcGxpY2FibGUgPSBmaWx0ZXJSdWxlc0J5VHJpZ2dlcihydWxlcywgdHJpZ2dlciwgdmFsaWRhdGVUcmlnZ2VyKTtcbiAgICAgICAgaWYgKGFwcGxpY2FibGUubGVuZ3RoID09PSAwKVxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB5aWVsZCB2YWxpZGF0ZUZpZWxkQXN5bmMobmFtZSwgdmFsdWUsIGFwcGxpY2FibGUpO1xuICAgIH0pKTtcbiAgICBjb25zdCB7IHJ1bjogZGVib3VuY2VkVmFsaWRhdGUgfSA9IHVzZURlYm91bmNlZENhbGxiYWNrKCh2YWx1ZSkgPT4ge1xuICAgICAgICBydW5WYWxpZGF0ZSh2YWx1ZSwgJ29uQ2hhbmdlJyk7XG4gICAgfSwgdmFsaWRhdGVEZWJvdW5jZSk7XG4gICAgY29uc3QgaGFuZGxlQ2hhbmdlID0gdXNlRXZlbnRDYWxsYmFjaygodmFsdWUpID0+IHtcbiAgICAgICAgaWYgKG5hbWUpIHtcbiAgICAgICAgICAgIHNldEZpZWxkVmFsdWUobmFtZSwgdmFsdWUpO1xuICAgICAgICAgICAgLy8gdG91Y2hlZCBpcyBzZXQgYnkgdGhlIHVzZXIgY2hhbmdlIHRyaWdnZXIg4oCUXG4gICAgICAgICAgICAvLyBwcm9ncmFtbWF0aWMgc2V0RmllbGRzVmFsdWUgZG9lcyBub3QgbWFyayBmaWVsZHMgdG91Y2hlZC5cbiAgICAgICAgICAgIGNvbnN0IHRvdWNoZWQgPSBzdG9yZS5nZXRTdGF0ZSgpLnRvdWNoZWQ7XG4gICAgICAgICAgICBpZiAoIXRvdWNoZWRbbmFtZV0pIHtcbiAgICAgICAgICAgICAgICBzdG9yZS5zZXRTdGF0ZSh7IHRvdWNoZWQ6IE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSwgdG91Y2hlZCksIHsgW25hbWVdOiB0cnVlIH0pIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHZhbGlkYXRlRGVib3VuY2UgJiYgdmFsaWRhdGVEZWJvdW5jZSA+IDApIHtcbiAgICAgICAgICAgICAgICBkZWJvdW5jZWRWYWxpZGF0ZSh2YWx1ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICBydW5WYWxpZGF0ZSh2YWx1ZSwgJ29uQ2hhbmdlJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9KTtcbiAgICBjb25zdCBoYW5kbGVCbHVyID0gdXNlRXZlbnRDYWxsYmFjaygoKSA9PiB7XG4gICAgICAgIC8vIFJlYWQgdGhlIExJVkUgdmFsdWUgZnJvbSB0aGUgc3RvcmUg4oCUIGEgY2hhbmdlIGNvbW1pdHRlZCBpbiB0aGUgc2FtZVxuICAgICAgICAvLyB0aWNrIChjaGFuZ2Ug4oaSIGltbWVkaWF0ZSBibHVyKSBtdXN0IGJlIHZhbGlkYXRlZCwgbm90IHRoZSByZW5kZXItdGltZVxuICAgICAgICAvLyBzbmFwc2hvdC5cbiAgICAgICAgY29uc3QgY3VycmVudFZhbHVlID0gbmFtZVxuICAgICAgICAgICAgPyAobmFtZS5pbmNsdWRlcygnLicpXG4gICAgICAgICAgICAgICAgPyBnZXROZXN0ZWRWYWx1ZShzdG9yZS5nZXRTdGF0ZSgpLnZhbHVlcywgbmFtZSlcbiAgICAgICAgICAgICAgICA6IHN0b3JlLmdldFN0YXRlKCkudmFsdWVzW25hbWVdKVxuICAgICAgICAgICAgOiB1bmRlZmluZWQ7XG4gICAgICAgIHJ1blZhbGlkYXRlQXN5bmMoY3VycmVudFZhbHVlLCAnb25CbHVyJyk7XG4gICAgfSk7XG4gICAgLy8gTGF0ZXN0IGNoaWxkLXByb3ZpZGVkIGNhbGxiYWNrcywgY2FwdHVyZWQgYXQgaW5qZWN0RmllbGQgdGltZS4gVGhlIFNUQUJMRVxuICAgIC8vIGluamVjdGVkIGhhbmRsZXJzIGJlbG93IGRlbGVnYXRlIHRocm91Z2ggdGhpcyByZWYgaW5zdGVhZCBvZiBiZWluZ1xuICAgIC8vIHJlY3JlYXRlZCBwZXIgcmVuZGVyIOKAlCBzbyBhIG1lbW9pemVkIGZpZWxkIGNvbXBvbmVudCBzZWVzIHNoYWxsb3ctZXF1YWxcbiAgICAvLyBwcm9wcyBhY3Jvc3MgcmVuZGVycyBhbmQgY2FuIGJhaWwgb3V0IHdoaWxlIGFub3RoZXIgZmllbGQgaXMgdHlwaW5nLlxuICAgIGNvbnN0IGNoaWxkQ2FsbGJhY2tzUmVmID0gdXNlUmVmKHt9KTtcbiAgICBjb25zdCBpbmplY3RlZE9uQ2hhbmdlID0gdXNlRXZlbnRDYWxsYmFjaygoZSwgLi4uYXJncykgPT4ge1xuICAgICAgICB2YXIgX2EsIF9iO1xuICAgICAgICBoYW5kbGVDaGFuZ2UoZXh0cmFjdEV2ZW50VmFsdWUoZSwgdmFsdWVQcm9wTmFtZSkpO1xuICAgICAgICAoX2IgPSAoX2EgPSBjaGlsZENhbGxiYWNrc1JlZi5jdXJyZW50KS5vbkNoYW5nZSkgPT09IG51bGwgfHwgX2IgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9iLmNhbGwoX2EsIGUsIC4uLmFyZ3MpO1xuICAgIH0pO1xuICAgIGNvbnN0IGluamVjdGVkT25CbHVyID0gdXNlRXZlbnRDYWxsYmFjaygoLi4uYXJncykgPT4ge1xuICAgICAgICB2YXIgX2EsIF9iO1xuICAgICAgICBoYW5kbGVCbHVyKCk7XG4gICAgICAgIChfYiA9IChfYSA9IGNoaWxkQ2FsbGJhY2tzUmVmLmN1cnJlbnQpLm9uQmx1cikgPT09IG51bGwgfHwgX2IgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9iLmNhbGwoX2EsIC4uLmFyZ3MpO1xuICAgIH0pO1xuICAgIC8vIEtlZXAgdGhlIHJlZ2lzdHJ5IGluIHN5bmMgd2l0aCB0aGUgTEFURVNUIHJ1bGVzIGV2ZXJ5IHJlbmRlciAocmVnaXN0cmF0aW9uXG4gICAgLy8gaXMgYSBjaGVhcCByZWYgbXV0YXRpb24pOiBkeW5hbWljIHJ1bGVzIChlLmcuIHJlcXVpcmVkIHRvZ2dsZWQgYnkgYW5vdGhlclxuICAgIC8vIGZpZWxkKSBtdXN0IGJlIHZpc2libGUgdG8gc3VibWl0LXRpbWUgdmFsaWRhdGlvbiwgbm90IGp1c3Qgb25DaGFuZ2UuXG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgICAgaWYgKG5hbWUgJiYgcmVnaXN0ZXJGaWVsZClcbiAgICAgICAgICAgIHJlZ2lzdGVyRmllbGQobmFtZSwgcnVsZXMpO1xuICAgIH0pO1xuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICAgIHJldHVybiAoKSA9PiB7XG4gICAgICAgICAgICBpZiAobmFtZSAmJiB1bnJlZ2lzdGVyRmllbGQpXG4gICAgICAgICAgICAgICAgdW5yZWdpc3RlckZpZWxkKG5hbWUpO1xuICAgICAgICB9O1xuICAgIH0sIFtuYW1lXSk7XG4gICAgY29uc3QgaW5qZWN0RmllbGQgPSAoY2hpbGQpID0+IHtcbiAgICAgICAgdmFyIF9hO1xuICAgICAgICBpZiAoIW5hbWUgfHwgIVJlYWN0LmlzVmFsaWRFbGVtZW50KGNoaWxkKSlcbiAgICAgICAgICAgIHJldHVybiBjaGlsZDtcbiAgICAgICAgY29uc3QgY2hpbGRQcm9wcyA9IGNoaWxkLnByb3BzO1xuICAgICAgICBjb25zdCBkaXNwbGF5TmFtZSA9IChfYSA9IGNoaWxkLnR5cGUpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5kaXNwbGF5TmFtZTtcbiAgICAgICAgY29uc3QgaXNGb3JtQ29tcG9uZW50ID0gRk9STV9DT01QT05FTlRfTkFNRVMuaW5jbHVkZXMoZGlzcGxheU5hbWUpIHx8XG4gICAgICAgICAgICBjaGlsZFByb3BzLnBsYWNlaG9sZGVyICE9PSB1bmRlZmluZWQgfHxcbiAgICAgICAgICAgIGNoaWxkUHJvcHMudmFsdWUgIT09IHVuZGVmaW5lZCB8fFxuICAgICAgICAgICAgY2hpbGRQcm9wc1t2YWx1ZVByb3BOYW1lXSAhPT0gdW5kZWZpbmVkO1xuICAgICAgICBpZiAoIWlzRm9ybUNvbXBvbmVudClcbiAgICAgICAgICAgIHJldHVybiBjaGlsZDtcbiAgICAgICAgbGV0IHNhZmVWYWx1ZSA9IGZpZWxkVmFsdWU7XG4gICAgICAgIGlmIChzYWZlVmFsdWUgPT09IG51bGwgfHwgc2FmZVZhbHVlID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIGlmICh2YWx1ZVByb3BOYW1lID09PSAnY2hlY2tlZCcgfHwgWydDaGVja2JveCcsICdTd2l0Y2gnXS5pbmNsdWRlcyhkaXNwbGF5TmFtZSB8fCAnJykpIHtcbiAgICAgICAgICAgICAgICBzYWZlVmFsdWUgPSBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2UgaWYgKFRFWFRfTElLRV9DT01QT05FTlRfTkFNRVMuaW5jbHVkZXMoZGlzcGxheU5hbWUgfHwgJycpIHx8XG4gICAgICAgICAgICAgICAgY2hpbGRQcm9wcy5wbGFjZWhvbGRlciAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgc2FmZVZhbHVlID0gJyc7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAoVEVYVF9MSUtFX0NPTVBPTkVOVF9OQU1FUy5pbmNsdWRlcyhkaXNwbGF5TmFtZSB8fCAnJykgJiZcbiAgICAgICAgICAgIHR5cGVvZiBzYWZlVmFsdWUgIT09ICdzdHJpbmcnICYmXG4gICAgICAgICAgICB0eXBlb2Ygc2FmZVZhbHVlICE9PSAnbnVtYmVyJykge1xuICAgICAgICAgICAgc2FmZVZhbHVlID0gJyc7XG4gICAgICAgIH1cbiAgICAgICAgY2hpbGRDYWxsYmFja3NSZWYuY3VycmVudCA9IHtcbiAgICAgICAgICAgIG9uQ2hhbmdlOiB0eXBlb2YgY2hpbGRQcm9wcy5vbkNoYW5nZSA9PT0gJ2Z1bmN0aW9uJ1xuICAgICAgICAgICAgICAgID8gY2hpbGRQcm9wcy5vbkNoYW5nZVxuICAgICAgICAgICAgICAgIDogdW5kZWZpbmVkLFxuICAgICAgICAgICAgb25CbHVyOiB0eXBlb2YgY2hpbGRQcm9wcy5vbkJsdXIgPT09ICdmdW5jdGlvbidcbiAgICAgICAgICAgICAgICA/IGNoaWxkUHJvcHMub25CbHVyXG4gICAgICAgICAgICAgICAgOiB1bmRlZmluZWQsXG4gICAgICAgIH07XG4gICAgICAgIGNvbnN0IGluamVjdGVkUHJvcHMgPSBPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7IFt2YWx1ZVByb3BOYW1lXTogc2FmZVZhbHVlLCBvbkNoYW5nZTogaW5qZWN0ZWRPbkNoYW5nZSwgb25CbHVyOiBpbmplY3RlZE9uQmx1ciB9LCAoZmluYWxTdGF0dXMgPT09ICdlcnJvcicgJiYgeyBzdGF0dXM6ICdlcnJvcicgfSkpLCAoZm9ybURpc2FibGVkICYmIGNoaWxkUHJvcHMuZGlzYWJsZWQgPT09IHVuZGVmaW5lZCAmJiB7IGRpc2FibGVkOiB0cnVlIH0pKSwgKFNJWkVfQVdBUkVfQ09NUE9ORU5UX05BTUVTLmluY2x1ZGVzKGRpc3BsYXlOYW1lIHx8ICcnKSAmJlxuICAgICAgICAgICAgY2hpbGRQcm9wcy5zaXplID09PSB1bmRlZmluZWQgJiYgeyBzaXplIH0pKTtcbiAgICAgICAgcmV0dXJuIFJlYWN0LmNsb25lRWxlbWVudChjaGlsZCwgaW5qZWN0ZWRQcm9wcyk7XG4gICAgfTtcbiAgICByZXR1cm4ge1xuICAgICAgICBmaWVsZFZhbHVlLFxuICAgICAgICBmaWVsZEVycm9yLFxuICAgICAgICBmaWVsZFdhcm5pbmcsXG4gICAgICAgIGZpZWxkVmFsaWRhdGluZyxcbiAgICAgICAgdmFsaWRhdGVTdGF0dXM6IGZpbmFsU3RhdHVzLFxuICAgICAgICBpc1JlcXVpcmVkLFxuICAgICAgICBzaXplLFxuICAgICAgICBsYWJlbEFsaWduLFxuICAgICAgICByZXF1aXJlZE1hcmssXG4gICAgICAgIGluamVjdEZpZWxkLFxuICAgIH07XG59Il0sInNvdXJjZVJvb3QiOiIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMifQ==
220
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvUHJvRm9ybS9zcmMvY29tcG9uZW50cy9Qcm9Gb3JtL2NvcmUvdXNlRm9ybUl0ZW0udHMiLCJjb21wb25lbnRzL1Byb0Zvcm0vY29yZS91c2VGb3JtSXRlbS5qcyJdLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfdXNlRXZlbnRDYWxsYmFjayIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfdXNlRGVib3VuY2VkQ2FsbGJhY2syIiwiX2NvbnRleHQiLCJfZm9ybVN0b3JlIiwiX3BhdGhVdGlscyIsIl9ydW5SdWxlcyIsIl9jb25zdGFudHMiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJlIiwiV2Vha01hcCIsInIiLCJ0IiwiX19lc01vZHVsZSIsIl90eXBlb2YzIiwiaGFzIiwiZ2V0IiwibiIsIl9fcHJvdG9fXyIsImEiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsInUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJpIiwic2V0IiwiZXh0cmFjdEV2ZW50VmFsdWUiLCJ2YWx1ZVByb3BOYW1lIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwidW5kZWZpbmVkIiwiX3R5cGVvZjIiLCJldmVudCIsInRhcmdldCIsInZhbHVlIiwidXNlRm9ybUl0ZW0iLCJvcHRpb25zIiwibmFtZSIsIl9vcHRpb25zJHJ1bGVzIiwicnVsZXMiLCJ2YWxpZGF0ZVN0YXR1cyIsIl9vcHRpb25zJHZhbHVlUHJvcE5hbSIsInZhbGlkYXRlRGVib3VuY2UiLCJpdGVtVmFsaWRhdGVUcmlnZ2VyIiwidmFsaWRhdGVUcmlnZ2VyIiwiX3VzZVByb0Zvcm1TdGFibGUiLCJ1c2VQcm9Gb3JtU3RhYmxlIiwiZm9ybUluc3RhbmNlIiwic2V0RmllbGRWYWx1ZSIsInNldEZpZWxkRXJyb3IiLCJzZXRGaWVsZFdhcm5pbmciLCJ2YWxpZGF0ZUZpZWxkQXN5bmMiLCJyZWdpc3RlckZpZWxkIiwicmV0YWluRmllbGQiLCJyZWxlYXNlRmllbGQiLCJzaXplIiwibGFiZWxBbGlnbiIsImZvcm1WYWxpZGF0ZVRyaWdnZXIiLCJmb3JtRGlzYWJsZWQiLCJkaXNhYmxlZCIsInN0b3JlIiwidXNlUHJvRm9ybVN0b3JlIiwiYWN0aXZlVHJpZ2dlcnMiLCJub3JtYWxpemVUcmlnZ2VycyIsIl91c2VTdG9yZVNlbGVjdG9yIiwidXNlU3RvcmVTZWxlY3RvciIsInN0YXRlIiwiaW5jbHVkZXMiLCJnZXROZXN0ZWRWYWx1ZSIsInZhbHVlcyIsImVycm9ycyIsIndhcm5pbmdzIiwidmFsaWRhdGluZyIsInNoYWxsb3dFcXVhbEFycmF5cyIsIl91c2VTdG9yZVNlbGVjdG9yMiIsIl9zbGljZWRUb0FycmF5MiIsImZpZWxkVmFsdWUiLCJmaWVsZEVycm9yIiwiZmllbGRXYXJuaW5nIiwiZmllbGRWYWxpZGF0aW5nIiwiZmluYWxTdGF0dXMiLCJydW5WYWxpZGF0ZSIsInVzZUV2ZW50Q2FsbGJhY2siLCJ0cmlnZ2VyIiwicmVzb2x2ZWQiLCJyZXNvbHZlUnVsZXMiLCJnZXRTdGF0ZSIsImFwcGxpY2FibGUiLCJmaWx0ZXJSdWxlc0J5VHJpZ2dlciIsIl91c2VEZWJvdW5jZWRDYWxsYmFjayIsInVzZURlYm91bmNlZENhbGxiYWNrIiwiZGVib3VuY2VkVmFsaWRhdGUiLCJydW4iLCJoYW5kbGVDaGFuZ2UiLCJ0b3VjaGVkIiwic2V0U3RhdGUiLCJhc3NpZ24iLCJfZGVmaW5lUHJvcGVydHkyIiwiaGFuZGxlQmx1ciIsImN1cnJlbnRWYWx1ZSIsImNoaWxkQ2FsbGJhY2tzUmVmIiwidXNlUmVmIiwiaW5qZWN0ZWRPbkNoYW5nZSIsIl9iMiIsIl9hIiwiX2IiLCJfbGVuIiwiYXJncyIsIkFycmF5IiwiX2tleSIsImN1cnJlbnQiLCJvbkNoYW5nZSIsImFwcGx5IiwiY29uY2F0IiwiaW5qZWN0ZWRPbkJsdXIiLCJfYjMiLCJfbGVuMiIsIl9rZXkyIiwib25CbHVyIiwidXNlRWZmZWN0IiwiaW5qZWN0RmllbGQiLCJjaGlsZCIsIlJlYWN0IiwiaXNWYWxpZEVsZW1lbnQiLCJjaGlsZFByb3BzIiwicHJvcHMiLCJkaXNwbGF5TmFtZSIsInR5cGUiLCJpc0Zvcm1Db21wb25lbnQiLCJGT1JNX0NPTVBPTkVOVF9OQU1FUyIsInBsYWNlaG9sZGVyIiwic2FmZVZhbHVlIiwiVEVYVF9MSUtFX0NPTVBPTkVOVF9OQU1FUyIsImluamVjdGVkUHJvcHMiLCJzdGF0dXMiLCJTSVpFX0FXQVJFX0NPTVBPTkVOVF9OQU1FUyIsImNsb25lRWxlbWVudCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFBQSxJQUFBQSxNQUFBLEdBQUFDLHVCQUFBLENBQUFDLE9BQUE7QUFFQSxJQUFBQyxpQkFBQSxHQUFBQyxzQkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQUcsc0JBQUEsR0FBQUQsc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFJLFFBQUEsR0FBQUosT0FBQTtBQUNBLElBQUFLLFVBQUEsR0FBQUwsT0FBQTtBQUNBLElBQUFNLFVBQUEsR0FBQU4sT0FBQTtBQUNBLElBQUFPLFNBQUEsR0FBQVAsT0FBQTtBQUNBLElBQUFRLFVBQUEsR0FBQVIsT0FBQTtBQUlxQixTQUFBUyx5QkFBQUMsQ0FBQSw2QkFBQUMsT0FBQSxtQkFBQUMsQ0FBQSxPQUFBRCxPQUFBLElBQUFFLENBQUEsT0FBQUYsT0FBQSxZQUFBRix3QkFBQSxZQUFBQSx5QkFBQUMsQ0FBQSxXQUFBQSxDQUFBLEdBQUFHLENBQUEsR0FBQUQsQ0FBQSxLQUFBRixDQUFBO0FBQUEsU0FBQVgsd0JBQUFXLENBQUEsRUFBQUUsQ0FBQSxTQUFBQSxDQUFBLElBQUFGLENBQUEsSUFBQUEsQ0FBQSxDQUFBSSxVQUFBLFNBQUFKLENBQUEsZUFBQUEsQ0FBQSxnQkFBQUssUUFBQSxDQUFBTCxDQUFBLDBCQUFBQSxDQUFBLHNCQUFBQSxDQUFBLFFBQUFHLENBQUEsR0FBQUosd0JBQUEsQ0FBQUcsQ0FBQSxPQUFBQyxDQUFBLElBQUFBLENBQUEsQ0FBQUcsR0FBQSxDQUFB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TSxFQUNKLE9BQU9NLFVBQVUsQ0FBQ04sTUFBTSxLQUFLLFVBQVUsR0FDbENNLFVBQVUsQ0FBQ04sTUFBZ0MsR0FDNUN4RjtJQ2pGSixDRGtGSDtJQUVELElBQU11RyxhQUFhLEdBQUFuSCxNQUFBLENBQUE4RSxNQUFBLENBQUE5RSxNQUFBLENBQUE4RSxNQUFBLENBQUE5RSxNQUFBLENBQUE4RSxNQUFBLEtBQUFDLGdCQUFBLGlCQUFBQSxnQkFBQSxpQkFBQUEsZ0JBQUEsaUJBQ2hCdEUsYUFBYSxFQUFHd0csU0FBUyxlQUNoQjdCLGdCQUFnQixhQUNsQlksY0FBYyxHQUNsQmxDLFdBQVcsS0FBSyxPQUFPLElBQUk7TUFBRXNELE1BQU0sRUFBRTtJQUFPLENBQUcsQ0FBQSxFQUcvQzVFLFlBQVksSUFBSWtFLFVBQVUsQ0FBQ2pFLFFBQVEsS0FBSzdCLFNBQVMsSUFBSTtNQUFFNkIsUUFBUSxFQUFFO0lBQUksQ0FBRyxDQUFBLEVBR3hFNEUscUNBQTBCLENBQUNwRSxRQUFRLENBQUMyRCxXQUFXLElBQUksRUFBRSxDQUFDLElBQ3hERixVQUFVLENBQUNyRSxJQUFJLEtBQUt6QixTQUFTLElBQUk7TUFBRXlCLElBQUksRUFBSkE7SUFBSSxDQUFHLENBQzdDO0lBRUQsb0JBQU9tRSxpQkFBSyxDQUFDYyxZQUFZLENBQUNmLEtBQUssRUFBRVksYUFBYSxDQUFDO0VBQ2pELENBQUM7RUFFRCxPQUFPO0lBQ0x6RCxVQUFVLEVBQVZBLFVBQVU7SUFDVkMsVUFBVSxFQUFWQSxVQUFVO0lBQ1ZDLFlBQVksRUFBWkEsWUFBWTtJQUNaQyxlQUFlLEVBQWZBLGVBQWU7SUFDZnZDLGNBQWMsRUFBRXdDLFdBQVc7SUFDM0J6QixJQUFJLEVBQUpBLElBQUk7SUFDSkMsVUFBVSxFQUFWQSxVQUFVO0lBQ1ZnRSxXQUFXLEVBQVhBO0VDL0ZBLENEZ0dEO0FBQ0giLCJmaWxlIjoiY29tcG9uZW50cy9Qcm9Gb3JtL2NvcmUvdXNlRm9ybUl0ZW0uanMiLCJzb3VyY2VzQ29udGVudCI6W251bGwsImltcG9ydCBSZWFjdCwgeyB1c2VFZmZlY3QsIHVzZVJlZiB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB1c2VFdmVudENhbGxiYWNrIGZyb20gJ0AxbW9uZXkvaG9va3MvdXNlRXZlbnRDYWxsYmFjayc7XG5pbXBvcnQgdXNlRGVib3VuY2VkQ2FsbGJhY2sgZnJvbSAnQDFtb25leS9ob29rcy91c2VEZWJvdW5jZWRDYWxsYmFjayc7XG5pbXBvcnQgeyB1c2VQcm9Gb3JtU3RhYmxlLCB1c2VQcm9Gb3JtU3RvcmUgfSBmcm9tICcuLi9jb250ZXh0JztcbmltcG9ydCB7IHVzZVN0b3JlU2VsZWN0b3IsIHNoYWxsb3dFcXVhbEFycmF5cyB9IGZyb20gJy4vZm9ybVN0b3JlJztcbmltcG9ydCB7IGdldE5lc3RlZFZhbHVlIH0gZnJvbSAnLi9wYXRoVXRpbHMnO1xuaW1wb3J0IHsgZmlsdGVyUnVsZXNCeVRyaWdnZXIsIG5vcm1hbGl6ZVRyaWdnZXJzLCByZXNvbHZlUnVsZXMgfSBmcm9tICcuL3J1blJ1bGVzJztcbmltcG9ydCB7IEZPUk1fQ09NUE9ORU5UX05BTUVTLCBTSVpFX0FXQVJFX0NPTVBPTkVOVF9OQU1FUywgVEVYVF9MSUtFX0NPTVBPTkVOVF9OQU1FUywgfSBmcm9tICcuL2NvbnN0YW50cyc7XG4vKipcbiAqIE5vcm1hbGlzZSBhIGNoYW5nZS1oYW5kbGVyIGFyZ3VtZW50OiB1bndyYXAgYGUudGFyZ2V0W3ZhbHVlUHJvcE5hbWVdYCAvXG4gKiBgZVt2YWx1ZVByb3BOYW1lXWAgKGUuZy4gQ2hlY2tib3ggZW1pdHMgYHsgY2hlY2tlZCB9YCksIGVsc2UgYGUudGFyZ2V0LnZhbHVlYCxcbiAqIGVsc2UgcGFzcyB0aGUgdmFsdWUgdGhyb3VnaCAoZS5nLiBTd2l0Y2ggZW1pdHMgdGhlIGJvb2xlYW4gZGlyZWN0bHkpLlxuICovXG5mdW5jdGlvbiBleHRyYWN0RXZlbnRWYWx1ZShlLCB2YWx1ZVByb3BOYW1lID0gJ3ZhbHVlJykge1xuICAgIGlmIChlID09PSBudWxsIHx8IHR5cGVvZiBlICE9PSAnb2JqZWN0JylcbiAgICAgICAgcmV0dXJuIGU7XG4gICAgY29uc3QgZXZlbnQgPSBlO1xuICAgIGlmICh2YWx1ZVByb3BOYW1lICE9PSAndmFsdWUnICYmIHZhbHVlUHJvcE5hbWUgaW4gZXZlbnQpIHtcbiAgICAgICAgcmV0dXJuIGV2ZW50W3ZhbHVlUHJvcE5hbWVdO1xuICAgIH1cbiAgICBpZiAoJ3RhcmdldCcgaW4gZXZlbnQgJiYgZXZlbnQudGFyZ2V0ICYmIHR5cGVvZiBldmVudC50YXJnZXQgPT09ICdvYmplY3QnKSB7XG4gICAgICAgIGNvbnN0IHRhcmdldCA9IGV2ZW50LnRhcmdldDtcbiAgICAgICAgaWYgKHZhbHVlUHJvcE5hbWUgaW4gdGFyZ2V0KVxuICAgICAgICAgICAgcmV0dXJuIHRhcmdldFt2YWx1ZVByb3BOYW1lXTtcbiAgICAgICAgaWYgKCd2YWx1ZScgaW4gdGFyZ2V0KVxuICAgICAgICAgICAgcmV0dXJuIHRhcmdldC52YWx1ZTtcbiAgICB9XG4gICAgcmV0dXJuIGU7XG59XG5leHBvcnQgZnVuY3Rpb24gdXNlRm9ybUl0ZW0ob3B0aW9ucykge1xuICAgIGNvbnN0IHsgbmFtZSwgcnVsZXMgPSBbXSwgdmFsaWRhdGVTdGF0dXMsIHZhbHVlUHJvcE5hbWUgPSAndmFsdWUnLCB2YWxpZGF0ZURlYm91bmNlLCB2YWxpZGF0ZVRyaWdnZXI6IGl0ZW1WYWxpZGF0ZVRyaWdnZXIsIH0gPSBvcHRpb25zO1xuICAgIGNvbnN0IHsgZm9ybUluc3RhbmNlLCBzZXRGaWVsZFZhbHVlLCBzZXRGaWVsZEVycm9yLCBzZXRGaWVsZFdhcm5pbmcsIHZhbGlkYXRlRmllbGRBc3luYywgcmVnaXN0ZXJGaWVsZCwgcmV0YWluRmllbGQsIHJlbGVhc2VGaWVsZCwgc2l6ZSwgbGFiZWxBbGlnbiwgdmFsaWRhdGVUcmlnZ2VyOiBmb3JtVmFsaWRhdGVUcmlnZ2VyLCBkaXNhYmxlZDogZm9ybURpc2FibGVkLCB9ID0gdXNlUHJvRm9ybVN0YWJsZSgpO1xuICAgIGNvbnN0IHN0b3JlID0gdXNlUHJvRm9ybVN0b3JlKCk7XG4gICAgLy8gVGhlIGl0ZW0tbGV2ZWwgdmFsaWRhdGVUcmlnZ2VyIG92ZXJyaWRlcyB0aGUgZm9ybS1sZXZlbCBvbmU7XG4gICAgLy8gdGhlIHJlc3VsdCBpcyB0aGUgc2V0IG9mIGludGVyYWN0aXZlIGV2ZW50cyB0aGF0IHZhbGlkYXRlIHRoaXMgZmllbGQuXG4gICAgY29uc3QgYWN0aXZlVHJpZ2dlcnMgPSBub3JtYWxpemVUcmlnZ2VycyhpdGVtVmFsaWRhdGVUcmlnZ2VyLCBmb3JtVmFsaWRhdGVUcmlnZ2VyKTtcbiAgICAvLyBQZXItZmllbGQgc3RvcmUgc3Vic2NyaXB0aW9uOiB0aGlzIGl0ZW0gcmUtcmVuZGVycyBPTkxZIHdoZW4gaXRzIG93blxuICAgIC8vIHZhbHVlL2Vycm9yL3dhcm5pbmcvdmFsaWRhdGluZyBzbGljZSBjaGFuZ2VzIOKAlCB0eXBpbmcgaW4gYSBzaWJsaW5nIGZpZWxkXG4gICAgLy8gcHJvZHVjZXMgYW4gZXF1YWwgdHVwbGUgYW5kIHRoZSBzZWxlY3RvciBzaG9ydC1jaXJjdWl0cy5cbiAgICAvLyBFcnJvcnMvd2FybmluZ3MgYXJlIHN0b3JlZCBGTEFULCBrZXllZCBieSB0aGUgZnVsbCAocG9zc2libHkgZG90dGVkKSBmaWVsZFxuICAgIC8vIG5hbWUg4oCUIG5ldmVyIHJlc29sdmUgdGhlbSBhcyBuZXN0ZWQgcGF0aHMgb3IgZG90dGVkIG5hbWVzIHdvdWxkIG1pc3MuXG4gICAgY29uc3QgW2ZpZWxkVmFsdWUsIGZpZWxkRXJyb3IsIGZpZWxkV2FybmluZywgZmllbGRWYWxpZGF0aW5nXSA9IHVzZVN0b3JlU2VsZWN0b3Ioc3RvcmUsIChzdGF0ZSkgPT4gW1xuICAgICAgICBuYW1lXG4gICAgICAgICAgICA/IChuYW1lLmluY2x1ZGVzKCcuJykgPyBnZXROZXN0ZWRWYWx1ZShzdGF0ZS52YWx1ZXMsIG5hbWUpIDogc3RhdGUudmFsdWVzW25hbWVdKVxuICAgICAgICAgICAgOiB1bmRlZmluZWQsXG4gICAgICAgIG5hbWUgPyBzdGF0ZS5lcnJvcnNbbmFtZV0gOiB1bmRlZmluZWQsXG4gICAgICAgIG5hbWUgPyBzdGF0ZS53YXJuaW5nc1tuYW1lXSA6IHVuZGVmaW5lZCxcbiAgICAgICAgbmFtZSA/IChzdGF0ZS52YWxpZGF0aW5nW25hbWVdIHx8IGZhbHNlKSA6IGZhbHNlLFxuICAgIF0sIHNoYWxsb3dFcXVhbEFycmF5cyk7XG4gICAgY29uc3QgZmluYWxTdGF0dXMgPSB2YWxpZGF0ZVN0YXR1cyB8fCAoZmllbGRFcnJvciA/ICdlcnJvcicgOiBmaWVsZFdhcm5pbmcgPyAnd2FybmluZycgOiB1bmRlZmluZWQpO1xuICAgIC8vIFVuaWZpZWQgYXN5bmMgdmFsaWRhdGlvbiBkaXNwYXRjaC4gRVZFUlkgaW50ZXJhY3RpdmUgdHJpZ2dlciAob25DaGFuZ2UsXG4gICAgLy8gb25CbHVyKSB2YWxpZGF0ZXMgdGhyb3VnaCB0aGUgU0FNRSBhc3luYyBwYXRoLCBzbyBhIHJ1bGUgYmVoYXZlcyBpZGVudGljYWxseVxuICAgIC8vIG9uIGVhY2ggb2YgaXRzIGVmZmVjdGl2ZSB0cmlnZ2VycyDigJQgd2hldGhlciBpdCBpcyBhIGJ1aWx0aW4gY2hlY2ssIGFcbiAgICAvLyBzeW5jLXRocm93aW5nIHZhbGlkYXRvciwgb3IgYSBQcm9taXNlLXJldHVybmluZyBvbmUgKG1hdGNoaW5nIHRoZSB1cHN0cmVhbVxuICAgIC8vIGZpZWxkLWZvcm0gLyBwcm8tY29tcG9uZW50cyBtb2RlbDogYSB2YWxpZGF0b3IgcnVucyBvbiBlYWNoIG9mIGl0c1xuICAgIC8vIHRyaWdnZXJzLCBhd2FpdGVkKS4gVHJpZ2dlciBmaWx0ZXJpbmcgbmVlZHMgcmVzb2x2ZWQgcnVsZXMg4oCUIGEgZnVuY3Rpb24tZm9ybVxuICAgIC8vIHJ1bGUncyB2YWxpZGF0ZVRyaWdnZXIgaXMgb25seSBrbm93biBhZnRlciByZXNvbHZpbmcgaXQgYWdhaW5zdCB0aGUgbGl2ZVxuICAgIC8vIHZhbHVlcy4gVGhlIHBlci1maWVsZCBlcG9jaCArIGB2YWxpZGF0aW5nYCBmbGFnIGFyZSBvd25lZCBieVxuICAgIC8vIHZhbGlkYXRlRmllbGRBc3luYywgc28gYSBzbG93IGFzeW5jIGNoZWNrIGNhbiBuZXZlciBzdGFtcCBhIHN0YWxlIGVycm9yLlxuICAgIGNvbnN0IHJ1blZhbGlkYXRlID0gdXNlRXZlbnRDYWxsYmFjaygodmFsdWUsIHRyaWdnZXIpID0+IHtcbiAgICAgICAgaWYgKCFuYW1lIHx8IHJ1bGVzLmxlbmd0aCA9PT0gMClcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgY29uc3QgcmVzb2x2ZWQgPSByZXNvbHZlUnVsZXMocnVsZXMsIHN0b3JlLmdldFN0YXRlKCkudmFsdWVzLCBmb3JtSW5zdGFuY2UpO1xuICAgICAgICBjb25zdCBhcHBsaWNhYmxlID0gZmlsdGVyUnVsZXNCeVRyaWdnZXIocmVzb2x2ZWQsIHRyaWdnZXIsIGFjdGl2ZVRyaWdnZXJzLCBuYW1lKTtcbiAgICAgICAgaWYgKGFwcGxpY2FibGUubGVuZ3RoID09PSAwKVxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB2YWxpZGF0ZUZpZWxkQXN5bmMobmFtZSwgdmFsdWUsIGFwcGxpY2FibGUpO1xuICAgIH0pO1xuICAgIGNvbnN0IHsgcnVuOiBkZWJvdW5jZWRWYWxpZGF0ZSB9ID0gdXNlRGVib3VuY2VkQ2FsbGJhY2soKHZhbHVlKSA9PiB7XG4gICAgICAgIHJ1blZhbGlkYXRlKHZhbHVlLCAnb25DaGFuZ2UnKTtcbiAgICB9LCB2YWxpZGF0ZURlYm91bmNlKTtcbiAgICBjb25zdCBoYW5kbGVDaGFuZ2UgPSB1c2VFdmVudENhbGxiYWNrKCh2YWx1ZSkgPT4ge1xuICAgICAgICBpZiAobmFtZSkge1xuICAgICAgICAgICAgc2V0RmllbGRWYWx1ZShuYW1lLCB2YWx1ZSk7XG4gICAgICAgICAgICAvLyB0b3VjaGVkIGlzIHNldCBieSB0aGUgdXNlciBjaGFuZ2UgdHJpZ2dlciDigJRcbiAgICAgICAgICAgIC8vIHByb2dyYW1tYXRpYyBzZXRGaWVsZHNWYWx1ZSBkb2VzIG5vdCBtYXJrIGZpZWxkcyB0b3VjaGVkLlxuICAgICAgICAgICAgY29uc3QgdG91Y2hlZCA9IHN0b3JlLmdldFN0YXRlKCkudG91Y2hlZDtcbiAgICAgICAgICAgIGlmICghdG91Y2hlZFtuYW1lXSkge1xuICAgICAgICAgICAgICAgIHN0b3JlLnNldFN0YXRlKHsgdG91Y2hlZDogT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LCB0b3VjaGVkKSwgeyBbbmFtZV06IHRydWUgfSkgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAodmFsaWRhdGVEZWJvdW5jZSAmJiB2YWxpZGF0ZURlYm91bmNlID4gMCkge1xuICAgICAgICAgICAgICAgIGRlYm91bmNlZFZhbGlkYXRlKHZhbHVlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIHJ1blZhbGlkYXRlKHZhbHVlLCAnb25DaGFuZ2UnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH0pO1xuICAgIGNvbnN0IGhhbmRsZUJsdXIgPSB1c2VFdmVudENhbGxiYWNrKCgpID0+IHtcbiAgICAgICAgLy8gUmVhZCB0aGUgTElWRSB2YWx1ZSBmcm9tIHRoZSBzdG9yZSDigJQgYSBjaGFuZ2UgY29tbWl0dGVkIGluIHRoZSBzYW1lXG4gICAgICAgIC8vIHRpY2sgKGNoYW5nZSDihpIgaW1tZWRpYXRlIGJsdXIpIG11c3QgYmUgdmFsaWRhdGVkLCBub3QgdGhlIHJlbmRlci10aW1lXG4gICAgICAgIC8vIHNuYXBzaG90LlxuICAgICAgICBjb25zdCBjdXJyZW50VmFsdWUgPSBuYW1lXG4gICAgICAgICAgICA/IChuYW1lLmluY2x1ZGVzKCcuJylcbiAgICAgICAgICAgICAgICA/IGdldE5lc3RlZFZhbHVlKHN0b3JlLmdldFN0YXRlKCkudmFsdWVzLCBuYW1lKVxuICAgICAgICAgICAgICAgIDogc3RvcmUuZ2V0U3RhdGUoKS52YWx1ZXNbbmFtZV0pXG4gICAgICAgICAgICA6IHVuZGVmaW5lZDtcbiAgICAgICAgcnVuVmFsaWRhdGUoY3VycmVudFZhbHVlLCAnb25CbHVyJyk7XG4gICAgfSk7XG4gICAgLy8gTGF0ZXN0IGNoaWxkLXByb3ZpZGVkIGNhbGxiYWNrcywgY2FwdHVyZWQgYXQgaW5qZWN0RmllbGQgdGltZS4gVGhlIFNUQUJMRVxuICAgIC8vIGluamVjdGVkIGhhbmRsZXJzIGJlbG93IGRlbGVnYXRlIHRocm91Z2ggdGhpcyByZWYgaW5zdGVhZCBvZiBiZWluZ1xuICAgIC8vIHJlY3JlYXRlZCBwZXIgcmVuZGVyIOKAlCBzbyBhIG1lbW9pemVkIGZpZWxkIGNvbXBvbmVudCBzZWVzIHNoYWxsb3ctZXF1YWxcbiAgICAvLyBwcm9wcyBhY3Jvc3MgcmVuZGVycyBhbmQgY2FuIGJhaWwgb3V0IHdoaWxlIGFub3RoZXIgZmllbGQgaXMgdHlwaW5nLlxuICAgIGNvbnN0IGNoaWxkQ2FsbGJhY2tzUmVmID0gdXNlUmVmKHt9KTtcbiAgICBjb25zdCBpbmplY3RlZE9uQ2hhbmdlID0gdXNlRXZlbnRDYWxsYmFjaygoZSwgLi4uYXJncykgPT4ge1xuICAgICAgICB2YXIgX2EsIF9iO1xuICAgICAgICBoYW5kbGVDaGFuZ2UoZXh0cmFjdEV2ZW50VmFsdWUoZSwgdmFsdWVQcm9wTmFtZSkpO1xuICAgICAgICAoX2IgPSAoX2EgPSBjaGlsZENhbGxiYWNrc1JlZi5jdXJyZW50KS5vbkNoYW5nZSkgPT09IG51bGwgfHwgX2IgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9iLmNhbGwoX2EsIGUsIC4uLmFyZ3MpO1xuICAgIH0pO1xuICAgIGNvbnN0IGluamVjdGVkT25CbHVyID0gdXNlRXZlbnRDYWxsYmFjaygoLi4uYXJncykgPT4ge1xuICAgICAgICB2YXIgX2EsIF9iO1xuICAgICAgICBoYW5kbGVCbHVyKCk7XG4gICAgICAgIChfYiA9IChfYSA9IGNoaWxkQ2FsbGJhY2tzUmVmLmN1cnJlbnQpLm9uQmx1cikgPT09IG51bGwgfHwgX2IgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9iLmNhbGwoX2EsIC4uLmFyZ3MpO1xuICAgIH0pO1xuICAgIC8vIEEgRlJFU0ggZmllbGQgaW5zdGFuY2UgbXVzdCBub3QgaW5oZXJpdCBlcnJvci93YXJuaW5nIG1ldGEgc3RhbXBlZCBvbiB0aGVcbiAgICAvLyBzYW1lIG5hbWUgYnkgYSBwcmV2aW91cywgc2luY2UtdW5tb3VudGVkIGluc3RhbmNlIChlcnJvcnMgb3V0bGl2ZVxuICAgIC8vIHVucmVnaXN0ZXJGaWVsZCBieSBkZXNpZ24g4oCUIGxpc3QgcmVtYXBwaW5nIGRlcGVuZHMgb24gdGhhdCkuIE1PVU5UIG9ubHk6XG4gICAgLy8gYSBOQU1FIGNoYW5nZSBtdXN0IG5vdCBjbGVhciwgb3IgUHJvRm9ybUxpc3QncyBtZXRhIHJlbWFwcGluZyAod2hpY2hcbiAgICAvLyByZW5hbWVzIHJvd3MgcG9zaXRpb25hbGx5KSB3b3VsZCBsb3NlIHRoZSB2ZXJ5IG1ldGEgaXQganVzdCBtb3ZlZC5cbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgICBpZiAobmFtZSkge1xuICAgICAgICAgICAgc2V0RmllbGRFcnJvcihuYW1lLCBudWxsKTtcbiAgICAgICAgICAgIHNldEZpZWxkV2FybmluZyhuYW1lLCBudWxsKTtcbiAgICAgICAgfVxuICAgICAgICAvLyBNb3VudC1vbmx5IGJ5IGRlc2lnbiAoc2VlIGFib3ZlKS5cbiAgICB9LCBbXSk7XG4gICAgLy8gTW91bnQtY291bnRlZCBsaWZldGltZTogcmVsZWFzZUZpZWxkIHJlbW92ZXMgdGhlIHJ1bGVzIG9ubHkgd2hlbiB0aGUgTEFTVFxuICAgIC8vIHNhbWUtbmFtZSBpbnN0YW5jZSB1bm1vdW50cyDigJQgYSBtZW1vLWJhaWxlZCBzdXJ2aXZvciAod2hpY2ggd29uJ3RcbiAgICAvLyByZS1yZW5kZXIgdG8gcmUtcmVnaXN0ZXIpIGtlZXBzIGl0cyByZWdpc3RyYXRpb24gaW50YWN0LiBEZWNsYXJlZCBCRUZPUkVcbiAgICAvLyB0aGUgcmVnaXN0ZXIgZWZmZWN0OiByZXRhaW4gbXVzdCBydW4gZmlyc3Qgc28gdGhlIHJlZ2lzdHJhdGlvbiBiZWxvdyBpc1xuICAgIC8vIGNsYXNzaWZpZWQgYXMgaW5zdGFuY2Utb3duZWQuXG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgICAgaWYgKCFuYW1lKVxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICByZXRhaW5GaWVsZChuYW1lKTtcbiAgICAgICAgcmV0dXJuICgpID0+IHtcbiAgICAgICAgICAgIHJlbGVhc2VGaWVsZChuYW1lKTtcbiAgICAgICAgfTtcbiAgICB9LCBbbmFtZV0pO1xuICAgIC8vIEtlZXAgdGhlIHJlZ2lzdHJ5IGluIHN5bmMgd2l0aCB0aGUgTEFURVNUIHJ1bGVzIGV2ZXJ5IHJlbmRlciAocmVnaXN0cmF0aW9uXG4gICAgLy8gaXMgYSBjaGVhcCByZWYgbXV0YXRpb24pOiBkeW5hbWljIHJ1bGVzIChlLmcuIHJlcXVpcmVkIHRvZ2dsZWQgYnkgYW5vdGhlclxuICAgIC8vIGZpZWxkKSBtdXN0IGJlIHZpc2libGUgdG8gc3VibWl0LXRpbWUgdmFsaWRhdGlvbiwgbm90IGp1c3Qgb25DaGFuZ2UuXG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgICAgaWYgKG5hbWUgJiYgcmVnaXN0ZXJGaWVsZClcbiAgICAgICAgICAgIHJlZ2lzdGVyRmllbGQobmFtZSwgcnVsZXMpO1xuICAgIH0pO1xuICAgIGNvbnN0IGluamVjdEZpZWxkID0gKGNoaWxkKSA9PiB7XG4gICAgICAgIHZhciBfYTtcbiAgICAgICAgaWYgKCFuYW1lIHx8ICFSZWFjdC5pc1ZhbGlkRWxlbWVudChjaGlsZCkpXG4gICAgICAgICAgICByZXR1cm4gY2hpbGQ7XG4gICAgICAgIGNvbnN0IGNoaWxkUHJvcHMgPSBjaGlsZC5wcm9wcztcbiAgICAgICAgY29uc3QgZGlzcGxheU5hbWUgPSAoX2EgPSBjaGlsZC50eXBlKSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EuZGlzcGxheU5hbWU7XG4gICAgICAgIGNvbnN0IGlzRm9ybUNvbXBvbmVudCA9IEZPUk1fQ09NUE9ORU5UX05BTUVTLmluY2x1ZGVzKGRpc3BsYXlOYW1lKSB8fFxuICAgICAgICAgICAgY2hpbGRQcm9wcy5wbGFjZWhvbGRlciAhPT0gdW5kZWZpbmVkIHx8XG4gICAgICAgICAgICBjaGlsZFByb3BzLnZhbHVlICE9PSB1bmRlZmluZWQgfHxcbiAgICAgICAgICAgIGNoaWxkUHJvcHNbdmFsdWVQcm9wTmFtZV0gIT09IHVuZGVmaW5lZDtcbiAgICAgICAgaWYgKCFpc0Zvcm1Db21wb25lbnQpXG4gICAgICAgICAgICByZXR1cm4gY2hpbGQ7XG4gICAgICAgIGxldCBzYWZlVmFsdWUgPSBmaWVsZFZhbHVlO1xuICAgICAgICBpZiAoc2FmZVZhbHVlID09PSBudWxsIHx8IHNhZmVWYWx1ZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICBpZiAodmFsdWVQcm9wTmFtZSA9PT0gJ2NoZWNrZWQnIHx8IFsnQ2hlY2tib3gnLCAnU3dpdGNoJ10uaW5jbHVkZXMoZGlzcGxheU5hbWUgfHwgJycpKSB7XG4gICAgICAgICAgICAgICAgc2FmZVZhbHVlID0gZmFsc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIGlmIChURVhUX0xJS0VfQ09NUE9ORU5UX05BTUVTLmluY2x1ZGVzKGRpc3BsYXlOYW1lIHx8ICcnKSB8fFxuICAgICAgICAgICAgICAgIGNoaWxkUHJvcHMucGxhY2Vob2xkZXIgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgIHNhZmVWYWx1ZSA9ICcnO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKFRFWFRfTElLRV9DT01QT05FTlRfTkFNRVMuaW5jbHVkZXMoZGlzcGxheU5hbWUgfHwgJycpICYmXG4gICAgICAgICAgICB0eXBlb2Ygc2FmZVZhbHVlICE9PSAnc3RyaW5nJyAmJlxuICAgICAgICAgICAgdHlwZW9mIHNhZmVWYWx1ZSAhPT0gJ251bWJlcicpIHtcbiAgICAgICAgICAgIHNhZmVWYWx1ZSA9ICcnO1xuICAgICAgICB9XG4gICAgICAgIGNoaWxkQ2FsbGJhY2tzUmVmLmN1cnJlbnQgPSB7XG4gICAgICAgICAgICBvbkNoYW5nZTogdHlwZW9mIGNoaWxkUHJvcHMub25DaGFuZ2UgPT09ICdmdW5jdGlvbidcbiAgICAgICAgICAgICAgICA/IGNoaWxkUHJvcHMub25DaGFuZ2VcbiAgICAgICAgICAgICAgICA6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgIG9uQmx1cjogdHlwZW9mIGNoaWxkUHJvcHMub25CbHVyID09PSAnZnVuY3Rpb24nXG4gICAgICAgICAgICAgICAgPyBjaGlsZFByb3BzLm9uQmx1clxuICAgICAgICAgICAgICAgIDogdW5kZWZpbmVkLFxuICAgICAgICB9O1xuICAgICAgICBjb25zdCBpbmplY3RlZFByb3BzID0gT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oeyBbdmFsdWVQcm9wTmFtZV06IHNhZmVWYWx1ZSwgb25DaGFuZ2U6IGluamVjdGVkT25DaGFuZ2UsIG9uQmx1cjogaW5qZWN0ZWRPbkJsdXIgfSwgKGZpbmFsU3RhdHVzID09PSAnZXJyb3InICYmIHsgc3RhdHVzOiAnZXJyb3InIH0pKSwgKGZvcm1EaXNhYmxlZCAmJiBjaGlsZFByb3BzLmRpc2FibGVkID09PSB1bmRlZmluZWQgJiYgeyBkaXNhYmxlZDogdHJ1ZSB9KSksIChTSVpFX0FXQVJFX0NPTVBPTkVOVF9OQU1FUy5pbmNsdWRlcyhkaXNwbGF5TmFtZSB8fCAnJykgJiZcbiAgICAgICAgICAgIGNoaWxkUHJvcHMuc2l6ZSA9PT0gdW5kZWZpbmVkICYmIHsgc2l6ZSB9KSk7XG4gICAgICAgIHJldHVybiBSZWFjdC5jbG9uZUVsZW1lbnQoY2hpbGQsIGluamVjdGVkUHJvcHMpO1xuICAgIH07XG4gICAgcmV0dXJuIHtcbiAgICAgICAgZmllbGRWYWx1ZSxcbiAgICAgICAgZmllbGRFcnJvcixcbiAgICAgICAgZmllbGRXYXJuaW5nLFxuICAgICAgICBmaWVsZFZhbGlkYXRpbmcsXG4gICAgICAgIHZhbGlkYXRlU3RhdHVzOiBmaW5hbFN0YXR1cyxcbiAgICAgICAgc2l6ZSxcbiAgICAgICAgbGFiZWxBbGlnbixcbiAgICAgICAgaW5qZWN0RmllbGQsXG4gICAgfTtcbn0iXSwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYyJ9
@@ -0,0 +1,13 @@
1
+ import type { ReactNode } from 'react';
2
+ /**
3
+ * Rejection type of `validateFields`. Submit handlers use the `instanceof`
4
+ * check to tell a VALIDATION failure (route to `onFinishFailed` with the
5
+ * field errors) apart from a consumer `onFinish` rejection (which must NOT
6
+ * be reported as a validation failure).
7
+ */
8
+ export declare class FormValidationError extends Error {
9
+ values: Record<string, any>;
10
+ errors: Record<string, ReactNode>;
11
+ constructor(values: Record<string, any>, errors: Record<string, ReactNode>);
12
+ }
13
+ export default FormValidationError;
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports["default"] = exports.FormValidationError = void 0;
8
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
9
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
10
+ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
11
+ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
12
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
13
+ var _wrapNativeSuper2 = _interopRequireDefault(require("@babel/runtime/helpers/wrapNativeSuper"));
14
+ function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2["default"])(o), (0, _possibleConstructorReturn2["default"])(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2["default"])(t).constructor) : o.apply(t, e)); }
15
+ function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
16
+ /**
17
+ * Rejection type of `validateFields`. Submit handlers use the `instanceof`
18
+ * check to tell a VALIDATION failure (route to `onFinishFailed` with the
19
+ * field errors) apart from a consumer `onFinish` rejection (which must NOT
20
+ * be reported as a validation failure).
21
+ */
22
+ var FormValidationError = exports.FormValidationError = /*#__PURE__*/function (_Error) {
23
+ function FormValidationError(values, errors) {
24
+ var _this;
25
+ (0, _classCallCheck2["default"])(this, FormValidationError);
26
+ _this = _callSuper(this, FormValidationError, ['Validation failed']);
27
+ _this.name = 'FormValidationError';
28
+ _this.values = values;
29
+ _this.errors = errors;
30
+ return _this;
31
+ }
32
+ (0, _inherits2["default"])(FormValidationError, _Error);
33
+ return (0, _createClass2["default"])(FormValidationError);
34
+ }(/*#__PURE__*/(0, _wrapNativeSuper2["default"])(Error));
35
+ var _default = exports["default"] = FormValidationError;
36
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvUHJvRm9ybS9zcmMvY29tcG9uZW50cy9Qcm9Gb3JtL2NvcmUvdmFsaWRhdGlvbkVycm9yLnRzIiwiY29tcG9uZW50cy9Qcm9Gb3JtL2NvcmUvdmFsaWRhdGlvbkVycm9yLmpzIl0sIm5hbWVzIjpbIkZvcm1WYWxpZGF0aW9uRXJyb3IiLCJleHBvcnRzIiwiX0Vycm9yIiwidmFsdWVzIiwiZXJyb3JzIiwiX3RoaXMiLCJfY2xhc3NDYWxsQ2hlY2syIiwiX2NhbGxTdXBlciIsIm5hbWUiLCJfaW5oZXJpdHMyIiwiX2NyZWF0ZUNsYXNzMiIsIl93cmFwTmF0aXZlU3VwZXIyIiwiRXJyb3IiLCJfZGVmYXVsdCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7O0FBRUE7QUNEQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FESEEsSUFNYUEsbUJBQW9CLEdBQUFDLE9BQUEsQ0FBQUQsbUJBQUEsMEJBQUFFLE1BQUE7RUFJL0IsU0FBQUYsb0JBQVlHLE1BQTJCLEVBQUVDLE1BQWlDLEVBQUE7SUFBQSxJQUFBQyxLQUFBO0lBQUEsSUFBQUMsZ0JBQUEsbUJBQUFOLG1CQUFBO0lBQ3hFSyxLQUFBLEdBQUFFLFVBQUEsT0FBQVAsbUJBQUEsR0FBTSxtQkFBbUI7SUFDekJLLEtBQUEsQ0FBS0csSUFBSSxHQUFHLHFCQUFxQjtJQUNqQ0gsS0FBQSxDQUFLRixNQUFNLEdBQUdBLE1BQU07SUFDcEJFLEtBQUEsQ0FBS0QsTUFBTSxHQUFHQSxNQUFNO0lBQUMsT0FBQUMsS0FBQTtFQUN2QjtFQUFDLElBQUFJLFVBQUEsYUFBQVQsbUJBQUEsRUFBQUUsTUFBQTtFQUFBLFdBQUFRLGFBQUEsYUFBQVYsbUJBQUE7QUFBQSxtQkFBQVcsaUJBQUEsYUFUc0NDLEtBQUs7QUFBQSxJQUFBQyxRQUFBLEdBQUFaLE9BQUEsY0FZL0JELG1CQUFtQiIsImZpbGUiOiJjb21wb25lbnRzL1Byb0Zvcm0vY29yZS92YWxpZGF0aW9uRXJyb3IuanMiLCJzb3VyY2VzQ29udGVudCI6W251bGwsIi8qKlxuICogUmVqZWN0aW9uIHR5cGUgb2YgYHZhbGlkYXRlRmllbGRzYC4gU3VibWl0IGhhbmRsZXJzIHVzZSB0aGUgYGluc3RhbmNlb2ZgXG4gKiBjaGVjayB0byB0ZWxsIGEgVkFMSURBVElPTiBmYWlsdXJlIChyb3V0ZSB0byBgb25GaW5pc2hGYWlsZWRgIHdpdGggdGhlXG4gKiBmaWVsZCBlcnJvcnMpIGFwYXJ0IGZyb20gYSBjb25zdW1lciBgb25GaW5pc2hgIHJlamVjdGlvbiAod2hpY2ggbXVzdCBOT1RcbiAqIGJlIHJlcG9ydGVkIGFzIGEgdmFsaWRhdGlvbiBmYWlsdXJlKS5cbiAqL1xuZXhwb3J0IGNsYXNzIEZvcm1WYWxpZGF0aW9uRXJyb3IgZXh0ZW5kcyBFcnJvciB7XG4gICAgY29uc3RydWN0b3IodmFsdWVzLCBlcnJvcnMpIHtcbiAgICAgICAgc3VwZXIoJ1ZhbGlkYXRpb24gZmFpbGVkJyk7XG4gICAgICAgIHRoaXMubmFtZSA9ICdGb3JtVmFsaWRhdGlvbkVycm9yJztcbiAgICAgICAgdGhpcy52YWx1ZXMgPSB2YWx1ZXM7XG4gICAgICAgIHRoaXMuZXJyb3JzID0gZXJyb3JzO1xuICAgIH1cbn1cbmV4cG9ydCBkZWZhdWx0IEZvcm1WYWxpZGF0aW9uRXJyb3I7Il0sInNvdXJjZVJvb3QiOiIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMifQ==
@@ -1,3 +1,3 @@
1
1
  import type { CheckboxProps } from "../../Checkbox";
2
- export declare const ProFormCheckbox: import("react").FC<import("..").ProFormFieldProps<CheckboxProps>>;
2
+ export declare const ProFormCheckbox: import("./createProFormField").ProFormFieldComponent<CheckboxProps>;
3
3
  export default ProFormCheckbox;
@@ -1,3 +1,3 @@
1
1
  import type { CheckboxGroupProps } from "../../Checkbox";
2
- export declare const ProFormCheckboxGroup: import("react").FC<import("..").ProFormFieldProps<CheckboxGroupProps>>;
2
+ export declare const ProFormCheckboxGroup: import("./createProFormField").ProFormFieldComponent<CheckboxGroupProps>;
3
3
  export default ProFormCheckboxGroup;
@@ -4,15 +4,29 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports["default"] = exports.ProFormCheckboxGroup = void 0;
7
+ var _jsxRuntime = require("react/jsx-runtime");
8
+ var _react = require("react");
7
9
  var _Checkbox = require("../../Checkbox");
8
10
  var _createProFormField = require("./createProFormField");
9
11
  var _utils = require("../utils");
12
+ function renderCheckboxGroupReadonly(value, props) {
13
+ if (!Array.isArray(value)) return (0, _utils.renderTextReadonly)(value);
14
+ if (value.length === 0) return '-';
15
+ // Labels are ReactNode — join with ', ' as element children rather than
16
+ // string-concatenating (which would collapse element labels to '').
17
+ return (0, _jsxRuntime.jsx)(_jsxRuntime.Fragment, {
18
+ children: value.map(function (item, index) {
19
+ var _a;
20
+ return (0, _jsxRuntime.jsxs)(_react.Fragment, {
21
+ children: [index > 0 && ', ', (_a = (0, _utils.findOptionLabel)(props === null || props === void 0 ? void 0 : props.options, item)) !== null && _a !== void 0 ? _a : String(item)]
22
+ }, index);
23
+ })
24
+ });
25
+ }
10
26
  var ProFormCheckboxGroup = exports.ProFormCheckboxGroup = (0, _createProFormField.createProFormField)({
11
27
  component: _Checkbox.CheckboxGroup,
12
- renderReadonly: function renderReadonly(value) {
13
- return (0, _utils.renderTextReadonly)(Array.isArray(value) ? value.join(', ') : value);
14
- }
28
+ renderReadonly: renderCheckboxGroupReadonly
15
29
  });
16
30
  ProFormCheckboxGroup.displayName = 'ProFormCheckboxGroup';
17
31
  var _default = exports["default"] = ProFormCheckboxGroup;
18
- //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvUHJvRm9ybS9zcmMvY29tcG9uZW50cy9Qcm9Gb3JtL2ZpZWxkcy9Qcm9Gb3JtQ2hlY2tib3hHcm91cC50c3giLCJjb21wb25lbnRzL1Byb0Zvcm0vZmllbGRzL1Byb0Zvcm1DaGVja2JveEdyb3VwLmpzIl0sIm5hbWVzIjpbIl9DaGVja2JveCIsInJlcXVpcmUiLCJfY3JlYXRlUHJvRm9ybUZpZWxkIiwiX3V0aWxzIiwiUHJvRm9ybUNoZWNrYm94R3JvdXAiLCJleHBvcnRzIiwiY3JlYXRlUHJvRm9ybUZpZWxkIiwiY29tcG9uZW50IiwiQ2hlY2tib3hHcm91cCIsInJlbmRlclJlYWRvbmx5IiwidmFsdWUiLCJyZW5kZXJUZXh0UmVhZG9ubHkiLCJBcnJheSIsImlzQXJyYXkiLCJqb2luIiwiZGlzcGxheU5hbWUiLCJfZGVmYXVsdCJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsSUFBQUEsU0FBQSxHQUFBQyxPQUFBO0FBRUEsSUFBQUMsbUJBQUEsR0FBQUQsT0FBQTtBQUNBLElBQUFFLE1BQUEsR0FBQUYsT0FBQTtBQUVPLElBQU1HLG9CQUFvQixHQUFBQyxPQUFBLENBQUFELG9CQUFBLEdBQUcsSUFBQUUsc0NBQWtCLEVBQXFCO0VBQ3pFQyxTQUFTLEVBQUVDLHVCQUFhO0VBQ3hCQyxjQUFjLEVBQUUsU0FBaEJBLGNBQWNBLENBQUdDLEtBQUs7SUFBQSxPQUNwQixJQUFBQyx5QkFBa0IsRUFBQ0MsS0FBSyxDQUFDQyxPQUFPLENBQUNILEtBQUssQ0FBQyxHQUFHQSxLQUFLLENBQUNJLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBR0osS0FBSyxDQUFDO0VBQUE7QUNGdkUsQ0RHQyxDQUFDO0FBRUZOLG9CQUFvQixDQUFDVyxXQUFXLEdBQUcsc0JBQXNCO0FBQUMsSUFBQUMsUUFBQSxHQUFBWCxPQUFBLGNBRTNDRCxvQkFBb0IiLCJmaWxlIjoiY29tcG9uZW50cy9Qcm9Gb3JtL2ZpZWxkcy9Qcm9Gb3JtQ2hlY2tib3hHcm91cC5qcyIsInNvdXJjZXNDb250ZW50IjpbbnVsbCwiaW1wb3J0IHsgQ2hlY2tib3hHcm91cCB9IGZyb20gJy4uLy4uL0NoZWNrYm94JztcbmltcG9ydCB7IGNyZWF0ZVByb0Zvcm1GaWVsZCB9IGZyb20gJy4vY3JlYXRlUHJvRm9ybUZpZWxkJztcbmltcG9ydCB7IHJlbmRlclRleHRSZWFkb25seSB9IGZyb20gJy4uL3V0aWxzJztcbmV4cG9ydCBjb25zdCBQcm9Gb3JtQ2hlY2tib3hHcm91cCA9IGNyZWF0ZVByb0Zvcm1GaWVsZCh7XG4gICAgY29tcG9uZW50OiBDaGVja2JveEdyb3VwLFxuICAgIHJlbmRlclJlYWRvbmx5OiAodmFsdWUpID0+IHJlbmRlclRleHRSZWFkb25seShBcnJheS5pc0FycmF5KHZhbHVlKSA/IHZhbHVlLmpvaW4oJywgJykgOiB2YWx1ZSksXG59KTtcblByb0Zvcm1DaGVja2JveEdyb3VwLmRpc3BsYXlOYW1lID0gJ1Byb0Zvcm1DaGVja2JveEdyb3VwJztcbmV4cG9ydCBkZWZhdWx0IFByb0Zvcm1DaGVja2JveEdyb3VwOyJdLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjIn0=
32
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvUHJvRm9ybS9maWVsZHMvUHJvRm9ybUNoZWNrYm94R3JvdXAuanMiLCJjb21wb25lbnRzL1Byb0Zvcm0vc3JjL2NvbXBvbmVudHMvUHJvRm9ybS9maWVsZHMvUHJvRm9ybUNoZWNrYm94R3JvdXAudHN4Il0sIm5hbWVzIjpbIl9qc3hSdW50aW1lIiwicmVxdWlyZSIsIl9yZWFjdCIsIl9DaGVja2JveCIsIl9jcmVhdGVQcm9Gb3JtRmllbGQiLCJfdXRpbHMiLCJyZW5kZXJDaGVja2JveEdyb3VwUmVhZG9ubHkiLCJ2YWx1ZSIsInByb3BzIiwiQXJyYXkiLCJpc0FycmF5IiwicmVuZGVyVGV4dFJlYWRvbmx5IiwibGVuZ3RoIiwiX2pzeCIsIl9GcmFnbWVudCIsImNoaWxkcmVuIiwibWFwIiwiaXRlbSIsImluZGV4IiwiX2EiLCJfanN4cyIsIkZyYWdtZW50IiwiZmluZE9wdGlvbkxhYmVsIiwib3B0aW9ucyIsIlN0cmluZyIsIlByb0Zvcm1DaGVja2JveEdyb3VwIiwiZXhwb3J0cyIsImNyZWF0ZVByb0Zvcm1GaWVsZCIsImNvbXBvbmVudCIsIkNoZWNrYm94R3JvdXAiLCJyZW5kZXJSZWFkb25seSIsImRpc3BsYXlOYW1lIiwiX2RlZmF1bHQiXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLElBQUFBLFdBQUEsR0FBQUMsT0FBQTtBQ0FBLElBQUFDLE1BQUEsR0FBQUQsT0FBQTtBQUVBLElBQUFFLFNBQUEsR0FBQUYsT0FBQTtBQUVBLElBQUFHLG1CQUFBLEdBQUFILE9BQUE7QUFDQSxJQUFBSSxNQUFBLEdBQUFKLE9BQUE7QUFFQSxTQUFTSywyQkFBMkJBLENBQ2xDQyxLQUFVLEVBQ1ZDLEtBQW1DLEVBQUE7RUFFbkMsSUFBSSxDQUFDQyxLQUFLLENBQUNDLE9BQU8sQ0FBQ0gsS0FBSyxDQUFDLEVBQUUsT0FBTyxJQUFBSSx5QkFBa0IsRUFBQ0osS0FBSyxDQUFDO0VBQzNELElBQUlBLEtBQUssQ0FBQ0ssTUFBTSxLQUFLLENBQUMsRUFBRSxPQUFPLEdBQUc7RUFDbEM7RUFDQTtFQUNBLE9BQ0UsSUFBQUMsZUFBQSxFQUFBQyxvQkFBQSxFQUFBO0lBQUFDLFFBQUEsRUFDR1IsS0FBSyxDQUFDUyxHQUFHLENBQUMsVUFBQ0MsSUFBSSxFQUFFQyxLQUFLLEVBQUk7TURKckIsSUFBSUMsRUFBRTtNQ0lnQixPQUMxQixJQUFBQyxnQkFBQSxFQUFDQyxlQUFRLEVBQUE7UUFBQU4sUUFBQSxFQUFBLENBQ05HLEtBQUssR0FBRyxDQUFDLElBQUksSUFBSSxFQUNqQixDQUFBQyxFQUFBLEdBQUEsSUFBQUcsc0JBQWUsRUFBQ2QsS0FBSyxLQUFBLElBQUEsSUFBTEEsS0FBSyxLQUFBLEtBQUEsQ0FBQSxHQUFBLEtBQUEsQ0FBQSxHQUFMQSxLQUFLLENBQUVlLE9BQU8sRUFBRU4sSUFBSSxDQUFDLE1BQUEsSUFBQSxJQUFBRSxFQUFBLEtBQUEsS0FBQSxDQUFBLEdBQUFBLEVBQUEsR0FBSUssTUFBTSxDQUFDUCxJQUFJLENBQUM7TUFBQSxDQUFBLEVBRnpDQyxLQUFLLENBR1Q7SUROWCxDQ09EO0VBQUMsQ0FBQSxDQUNEO0FBRVA7QUFFTyxJQUFNTyxvQkFBb0IsR0FBQUMsT0FBQSxDQUFBRCxvQkFBQSxHQUFHLElBQUFFLHNDQUFrQixFQUFxQjtFQUN6RUMsU0FBUyxFQUFFQyx1QkFBYTtFQUN4QkMsY0FBYyxFQUFFeEI7QURUbEIsQ0NVQyxDQUFDO0FBRUZtQixvQkFBb0IsQ0FBQ00sV0FBVyxHQUFHLHNCQUFzQjtBQUFDLElBQUFDLFFBQUEsR0FBQU4sT0FBQSxjQUUzQ0Qsb0JBQW9CIiwiZmlsZSI6ImNvbXBvbmVudHMvUHJvRm9ybS9maWVsZHMvUHJvRm9ybUNoZWNrYm94R3JvdXAuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBqc3hzIGFzIF9qc3hzLCBGcmFnbWVudCBhcyBfRnJhZ21lbnQsIGpzeCBhcyBfanN4IH0gZnJvbSBcInJlYWN0L2pzeC1ydW50aW1lXCI7XG5pbXBvcnQgeyBGcmFnbWVudCB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IENoZWNrYm94R3JvdXAgfSBmcm9tICcuLi8uLi9DaGVja2JveCc7XG5pbXBvcnQgeyBjcmVhdGVQcm9Gb3JtRmllbGQgfSBmcm9tICcuL2NyZWF0ZVByb0Zvcm1GaWVsZCc7XG5pbXBvcnQgeyBmaW5kT3B0aW9uTGFiZWwsIHJlbmRlclRleHRSZWFkb25seSB9IGZyb20gJy4uL3V0aWxzJztcbmZ1bmN0aW9uIHJlbmRlckNoZWNrYm94R3JvdXBSZWFkb25seSh2YWx1ZSwgcHJvcHMpIHtcbiAgICBpZiAoIUFycmF5LmlzQXJyYXkodmFsdWUpKVxuICAgICAgICByZXR1cm4gcmVuZGVyVGV4dFJlYWRvbmx5KHZhbHVlKTtcbiAgICBpZiAodmFsdWUubGVuZ3RoID09PSAwKVxuICAgICAgICByZXR1cm4gJy0nO1xuICAgIC8vIExhYmVscyBhcmUgUmVhY3ROb2RlIOKAlCBqb2luIHdpdGggJywgJyBhcyBlbGVtZW50IGNoaWxkcmVuIHJhdGhlciB0aGFuXG4gICAgLy8gc3RyaW5nLWNvbmNhdGVuYXRpbmcgKHdoaWNoIHdvdWxkIGNvbGxhcHNlIGVsZW1lbnQgbGFiZWxzIHRvICcnKS5cbiAgICByZXR1cm4gKF9qc3goX0ZyYWdtZW50LCB7IGNoaWxkcmVuOiB2YWx1ZS5tYXAoKGl0ZW0sIGluZGV4KSA9PiB7XG4gICAgICAgICAgICB2YXIgX2E7XG4gICAgICAgICAgICByZXR1cm4gKF9qc3hzKEZyYWdtZW50LCB7IGNoaWxkcmVuOiBbaW5kZXggPiAwICYmICcsICcsIChfYSA9IGZpbmRPcHRpb25MYWJlbChwcm9wcyA9PT0gbnVsbCB8fCBwcm9wcyA9PT0gdm9pZCAwID8gdm9pZCAwIDogcHJvcHMub3B0aW9ucywgaXRlbSkpICE9PSBudWxsICYmIF9hICE9PSB2b2lkIDAgPyBfYSA6IFN0cmluZyhpdGVtKV0gfSwgaW5kZXgpKTtcbiAgICAgICAgfSkgfSkpO1xufVxuZXhwb3J0IGNvbnN0IFByb0Zvcm1DaGVja2JveEdyb3VwID0gY3JlYXRlUHJvRm9ybUZpZWxkKHtcbiAgICBjb21wb25lbnQ6IENoZWNrYm94R3JvdXAsXG4gICAgcmVuZGVyUmVhZG9ubHk6IHJlbmRlckNoZWNrYm94R3JvdXBSZWFkb25seSxcbn0pO1xuUHJvRm9ybUNoZWNrYm94R3JvdXAuZGlzcGxheU5hbWUgPSAnUHJvRm9ybUNoZWNrYm94R3JvdXAnO1xuZXhwb3J0IGRlZmF1bHQgUHJvRm9ybUNoZWNrYm94R3JvdXA7IixudWxsXSwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYyJ9
@@ -1,3 +1,3 @@
1
1
  import type { CalendarProps } from "../../Calendar";
2
- export declare const ProFormDatePicker: import("react").FC<import("..").ProFormFieldProps<CalendarProps>>;
2
+ export declare const ProFormDatePicker: import("./createProFormField").ProFormFieldComponent<CalendarProps>;
3
3
  export default ProFormDatePicker;
@@ -29,4 +29,4 @@ var ProFormDatePicker = exports.ProFormDatePicker = (0, _createProFormField.crea
29
29
  });
30
30
  ProFormDatePicker.displayName = 'ProFormDatePicker';
31
31
  var _default = exports["default"] = ProFormDatePicker;
32
- //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvUHJvRm9ybS9zcmMvY29tcG9uZW50cy9Qcm9Gb3JtL2ZpZWxkcy9Qcm9Gb3JtRGF0ZVBpY2tlci50c3giLCJjb21wb25lbnRzL1Byb0Zvcm0vZmllbGRzL1Byb0Zvcm1EYXRlUGlja2VyLmpzIl0sIm5hbWVzIjpbIl9DYWxlbmRhciIsInJlcXVpcmUiLCJfY3JlYXRlUHJvRm9ybUZpZWxkIiwicmVuZGVyRGF0ZVJlYWRvbmx5IiwidmFsdWUiLCJ1bmRlZmluZWQiLCJEYXRlIiwidG9Mb2NhbGVEYXRlU3RyaW5nIiwiQXJyYXkiLCJpc0FycmF5IiwiZmlsdGVyIiwidiIsIm1hcCIsImQiLCJqb2luIiwiU3RyaW5nIiwiUHJvRm9ybURhdGVQaWNrZXIiLCJleHBvcnRzIiwiY3JlYXRlUHJvRm9ybUZpZWxkIiwiY29tcG9uZW50IiwiQ2FsZW5kYXIiLCJ2YWx1ZVR5cGUiLCJyZW5kZXJSZWFkb25seSIsImRpc3BsYXlOYW1lIiwiX2RlZmF1bHQiXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLElBQUFBLFNBQUEsR0FBQUMsT0FBQTtBQUVBLElBQUFDLG1CQUFBLEdBQUFELE9BQUE7QUFFQSxTQUFTRSxrQkFBa0JBLENBQUNDLEtBQWMsRUFBQTtFQUN4QyxJQUFJQSxLQUFLLEtBQUssSUFBSSxJQUFJQSxLQUFLLEtBQUtDLFNBQVMsRUFBRSxPQUFPLEdBQUc7RUFFckQsSUFBSUQsS0FBSyxZQUFZRSxJQUFJLEVBQUU7SUFDekIsT0FBT0YsS0FBSyxDQUFDRyxrQkFBa0IsQ0FBQSxDQUFFO0VBQ25DO0VBRUEsSUFBSUMsS0FBSyxDQUFDQyxPQUFPLENBQUNMLEtBQUssQ0FBQyxFQUFFO0lBQ3hCLE9BQU9BLEtBQUssQ0FDVE0sTUFBTSxDQUFDLFVBQUNDLENBQUM7TUFBQSxPQUFnQkEsQ0FBQyxZQUFZTCxJQUFJO0lBQUEsRUFBQyxDQUMzQ00sR0FBRyxDQUFDLFVBQUNDLENBQUM7TUFBQSxPQUFLQSxDQUFDLENBQUNOLGtCQUFrQixDQUFBLENBQUU7SUFBQSxFQUFDLENBQ2xDTyxJQUFJLENBQUMsS0FBSyxDQUFDO0VBQ2hCO0VBRUEsT0FBT0MsTUFBTSxDQUFDWCxLQUFLLENBQUM7QUFDdEI7QUFFTyxJQUFNWSxpQkFBaUIsR0FBQUMsT0FBQSxDQUFBRCxpQkFBQSxHQUFHLElBQUFFLHNDQUFrQixFQUFnQjtFQUNqRUMsU0FBUyxFQUFFQyxrQkFBUTtFQUNuQjtFQUNBO0VBQ0FDLFNBQVMsRUFBRSxNQUFNO0VBQ2pCQyxjQUFjLEVBQUVuQjtBQ0psQixDREtDLENBQUM7QUFFRmEsaUJBQWlCLENBQUNPLFdBQVcsR0FBRyxtQkFBbUI7QUFBQyxJQUFBQyxRQUFBLEdBQUFQLE9BQUEsY0FFckNELGlCQUFpQiIsImZpbGUiOiJjb21wb25lbnRzL1Byb0Zvcm0vZmllbGRzL1Byb0Zvcm1EYXRlUGlja2VyLmpzIiwic291cmNlc0NvbnRlbnQiOltudWxsLCJpbXBvcnQgeyBDYWxlbmRhciB9IGZyb20gJy4uLy4uL0NhbGVuZGFyJztcbmltcG9ydCB7IGNyZWF0ZVByb0Zvcm1GaWVsZCB9IGZyb20gJy4vY3JlYXRlUHJvRm9ybUZpZWxkJztcbmZ1bmN0aW9uIHJlbmRlckRhdGVSZWFkb25seSh2YWx1ZSkge1xuICAgIGlmICh2YWx1ZSA9PT0gbnVsbCB8fCB2YWx1ZSA9PT0gdW5kZWZpbmVkKVxuICAgICAgICByZXR1cm4gJy0nO1xuICAgIGlmICh2YWx1ZSBpbnN0YW5jZW9mIERhdGUpIHtcbiAgICAgICAgcmV0dXJuIHZhbHVlLnRvTG9jYWxlRGF0ZVN0cmluZygpO1xuICAgIH1cbiAgICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcbiAgICAgICAgcmV0dXJuIHZhbHVlXG4gICAgICAgICAgICAuZmlsdGVyKCh2KSA9PiB2IGluc3RhbmNlb2YgRGF0ZSlcbiAgICAgICAgICAgIC5tYXAoKGQpID0+IGQudG9Mb2NhbGVEYXRlU3RyaW5nKCkpXG4gICAgICAgICAgICAuam9pbignIH4gJyk7XG4gICAgfVxuICAgIHJldHVybiBTdHJpbmcodmFsdWUpO1xufVxuZXhwb3J0IGNvbnN0IFByb0Zvcm1EYXRlUGlja2VyID0gY3JlYXRlUHJvRm9ybUZpZWxkKHtcbiAgICBjb21wb25lbnQ6IENhbGVuZGFyLFxuICAgIC8vIFJlZ2lzdGVycyBpbnRvIHRoZSBmb3JtJ3MgdmFsdWVUeXBlIHJlZ2lzdHJ5IHNvIGRhdGVGb3JtYXR0ZXIgZm9ybWF0cyB0aGlzXG4gICAgLy8gZmllbGQgYXMgYSBkYXRlOyBwYXNzIHZhbHVlVHlwZT1cImRhdGVUaW1lXCIgcGVyIGZpZWxkIGZvciB0aW1lLW9mLWRheSBvdXRwdXQuXG4gICAgdmFsdWVUeXBlOiAnZGF0ZScsXG4gICAgcmVuZGVyUmVhZG9ubHk6IHJlbmRlckRhdGVSZWFkb25seSxcbn0pO1xuUHJvRm9ybURhdGVQaWNrZXIuZGlzcGxheU5hbWUgPSAnUHJvRm9ybURhdGVQaWNrZXInO1xuZXhwb3J0IGRlZmF1bHQgUHJvRm9ybURhdGVQaWNrZXI7Il0sInNvdXJjZVJvb3QiOiIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMifQ==
32
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvUHJvRm9ybS9zcmMvY29tcG9uZW50cy9Qcm9Gb3JtL2ZpZWxkcy9Qcm9Gb3JtRGF0ZVBpY2tlci50c3giLCJjb21wb25lbnRzL1Byb0Zvcm0vZmllbGRzL1Byb0Zvcm1EYXRlUGlja2VyLmpzIl0sIm5hbWVzIjpbIl9DYWxlbmRhciIsInJlcXVpcmUiLCJfY3JlYXRlUHJvRm9ybUZpZWxkIiwicmVuZGVyRGF0ZVJlYWRvbmx5IiwidmFsdWUiLCJ1bmRlZmluZWQiLCJEYXRlIiwidG9Mb2NhbGVEYXRlU3RyaW5nIiwiQXJyYXkiLCJpc0FycmF5IiwiZmlsdGVyIiwidiIsIm1hcCIsImQiLCJqb2luIiwiU3RyaW5nIiwiUHJvRm9ybURhdGVQaWNrZXIiLCJleHBvcnRzIiwiY3JlYXRlUHJvRm9ybUZpZWxkIiwiY29tcG9uZW50IiwiQ2FsZW5kYXIiLCJ2YWx1ZVR5cGUiLCJyZW5kZXJSZWFkb25seSIsImRpc3BsYXlOYW1lIiwiX2RlZmF1bHQiXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLElBQUFBLFNBQUEsR0FBQUMsT0FBQTtBQUVBLElBQUFDLG1CQUFBLEdBQUFELE9BQUE7QUFFQSxTQUFTRSxrQkFBa0JBLENBQUNDLEtBQVUsRUFBQTtFQUNwQyxJQUFJQSxLQUFLLEtBQUssSUFBSSxJQUFJQSxLQUFLLEtBQUtDLFNBQVMsRUFBRSxPQUFPLEdBQUc7RUFFckQsSUFBSUQsS0FBSyxZQUFZRSxJQUFJLEVBQUU7SUFDekIsT0FBT0YsS0FBSyxDQUFDRyxrQkFBa0IsQ0FBQSxDQUFFO0VBQ25DO0VBRUEsSUFBSUMsS0FBSyxDQUFDQyxPQUFPLENBQUNMLEtBQUssQ0FBQyxFQUFFO0lBQ3hCLE9BQU9BLEtBQUssQ0FDVE0sTUFBTSxDQUFDLFVBQUNDLENBQUM7TUFBQSxPQUFnQkEsQ0FBQyxZQUFZTCxJQUFJO0lBQUEsRUFBQyxDQUMzQ00sR0FBRyxDQUFDLFVBQUNDLENBQUM7TUFBQSxPQUFLQSxDQUFDLENBQUNOLGtCQUFrQixDQUFBLENBQUU7SUFBQSxFQUFDLENBQ2xDTyxJQUFJLENBQUMsS0FBSyxDQUFDO0VBQ2hCO0VBRUEsT0FBT0MsTUFBTSxDQUFDWCxLQUFLLENBQUM7QUFDdEI7QUFFTyxJQUFNWSxpQkFBaUIsR0FBQUMsT0FBQSxDQUFBRCxpQkFBQSxHQUFHLElBQUFFLHNDQUFrQixFQUFnQjtFQUNqRUMsU0FBUyxFQUFFQyxrQkFBUTtFQUNuQjtFQUNBO0VBQ0FDLFNBQVMsRUFBRSxNQUFNO0VBQ2pCQyxjQUFjLEVBQUVuQjtBQ0psQixDREtDLENBQUM7QUFFRmEsaUJBQWlCLENBQUNPLFdBQVcsR0FBRyxtQkFBbUI7QUFBQyxJQUFBQyxRQUFBLEdBQUFQLE9BQUEsY0FFckNELGlCQUFpQiIsImZpbGUiOiJjb21wb25lbnRzL1Byb0Zvcm0vZmllbGRzL1Byb0Zvcm1EYXRlUGlja2VyLmpzIiwic291cmNlc0NvbnRlbnQiOltudWxsLCJpbXBvcnQgeyBDYWxlbmRhciB9IGZyb20gJy4uLy4uL0NhbGVuZGFyJztcbmltcG9ydCB7IGNyZWF0ZVByb0Zvcm1GaWVsZCB9IGZyb20gJy4vY3JlYXRlUHJvRm9ybUZpZWxkJztcbmZ1bmN0aW9uIHJlbmRlckRhdGVSZWFkb25seSh2YWx1ZSkge1xuICAgIGlmICh2YWx1ZSA9PT0gbnVsbCB8fCB2YWx1ZSA9PT0gdW5kZWZpbmVkKVxuICAgICAgICByZXR1cm4gJy0nO1xuICAgIGlmICh2YWx1ZSBpbnN0YW5jZW9mIERhdGUpIHtcbiAgICAgICAgcmV0dXJuIHZhbHVlLnRvTG9jYWxlRGF0ZVN0cmluZygpO1xuICAgIH1cbiAgICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcbiAgICAgICAgcmV0dXJuIHZhbHVlXG4gICAgICAgICAgICAuZmlsdGVyKCh2KSA9PiB2IGluc3RhbmNlb2YgRGF0ZSlcbiAgICAgICAgICAgIC5tYXAoKGQpID0+IGQudG9Mb2NhbGVEYXRlU3RyaW5nKCkpXG4gICAgICAgICAgICAuam9pbignIH4gJyk7XG4gICAgfVxuICAgIHJldHVybiBTdHJpbmcodmFsdWUpO1xufVxuZXhwb3J0IGNvbnN0IFByb0Zvcm1EYXRlUGlja2VyID0gY3JlYXRlUHJvRm9ybUZpZWxkKHtcbiAgICBjb21wb25lbnQ6IENhbGVuZGFyLFxuICAgIC8vIFJlZ2lzdGVycyBpbnRvIHRoZSBmb3JtJ3MgdmFsdWVUeXBlIHJlZ2lzdHJ5IHNvIGRhdGVGb3JtYXR0ZXIgZm9ybWF0cyB0aGlzXG4gICAgLy8gZmllbGQgYXMgYSBkYXRlOyBwYXNzIHZhbHVlVHlwZT1cImRhdGVUaW1lXCIgcGVyIGZpZWxkIGZvciB0aW1lLW9mLWRheSBvdXRwdXQuXG4gICAgdmFsdWVUeXBlOiAnZGF0ZScsXG4gICAgcmVuZGVyUmVhZG9ubHk6IHJlbmRlckRhdGVSZWFkb25seSxcbn0pO1xuUHJvRm9ybURhdGVQaWNrZXIuZGlzcGxheU5hbWUgPSAnUHJvRm9ybURhdGVQaWNrZXInO1xuZXhwb3J0IGRlZmF1bHQgUHJvRm9ybURhdGVQaWNrZXI7Il0sInNvdXJjZVJvb3QiOiIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMifQ==
@@ -1,4 +1,9 @@
1
- import React from 'react';
1
+ import type { ReactElement } from 'react';
2
2
  import type { ProFormFieldSetProps } from '../interface';
3
- export declare const ProFormFieldSet: React.NamedExoticComponent<ProFormFieldSetProps>;
3
+ import type { ProFormFieldName } from '../core/namePathType';
4
+ export interface ProFormFieldSetComponent {
5
+ <Values = Record<string, any>, Name extends ProFormFieldName<Values> = ProFormFieldName<Values>>(props: ProFormFieldSetProps<Values, Name>): ReactElement | null;
6
+ displayName?: string;
7
+ }
8
+ export declare const ProFormFieldSet: ProFormFieldSetComponent;
4
9
  export default ProFormFieldSet;