@gnwebsoft/ui 3.0.0 → 3.0.2

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 (74) hide show
  1. package/README.md +688 -0
  2. package/dist/chunk-4H3AFH7A.js +505 -0
  3. package/dist/chunk-DE62KYFK.js +122 -0
  4. package/dist/chunk-DEPJRTVT.js +1 -0
  5. package/dist/chunk-EBRUE2WR.cjs +493 -0
  6. package/dist/chunk-FD57PCAC.cjs +1 -0
  7. package/dist/chunk-H3GQLELL.js +2025 -0
  8. package/dist/chunk-MVPLBJRK.cjs +1 -0
  9. package/dist/chunk-OJF67RNM.js +1 -0
  10. package/dist/chunk-OT7COE7R.cjs +2025 -0
  11. package/dist/chunk-R2YK4LTT.cjs +122 -0
  12. package/dist/chunk-U6SDYCWF.js +493 -0
  13. package/dist/chunk-ZC7FGYL2.cjs +505 -0
  14. package/dist/components/index.cjs +25 -0
  15. package/dist/components/index.d.cts +752 -0
  16. package/dist/components/index.d.ts +664 -15
  17. package/dist/components/index.js +25 -24
  18. package/dist/enhanced-z-I7EHVS.d.cts +134 -0
  19. package/dist/enhanced-z-I7EHVS.d.ts +134 -0
  20. package/dist/hooks/index.cjs +12 -0
  21. package/dist/hooks/index.d.cts +95 -0
  22. package/dist/hooks/index.d.ts +82 -4
  23. package/dist/hooks/index.js +12 -7
  24. package/dist/index.cjs +127 -0
  25. package/dist/index.d.cts +14 -0
  26. package/dist/index.d.ts +4 -8
  27. package/dist/index.js +127 -58
  28. package/dist/types/index.cjs +2 -0
  29. package/dist/types/index.d.cts +241 -0
  30. package/dist/types/index.d.ts +212 -15
  31. package/dist/types/index.js +2 -1
  32. package/dist/utils/index.cjs +45 -0
  33. package/dist/utils/index.d.cts +366 -0
  34. package/dist/utils/index.d.ts +317 -10
  35. package/dist/utils/index.js +45 -22
  36. package/dist/wrappers/index.cjs +54 -0
  37. package/dist/wrappers/index.d.cts +1684 -0
  38. package/dist/wrappers/index.d.ts +1601 -118
  39. package/dist/wrappers/index.js +54 -8
  40. package/package.json +139 -92
  41. package/dist/AsyncSelectPayload-Cz4bgak0.d.mts +0 -10
  42. package/dist/AsyncSelectPayload-Cz4bgak0.d.ts +0 -10
  43. package/dist/OptionItem-oN6XnOTJ.d.mts +0 -14
  44. package/dist/OptionItem-oN6XnOTJ.d.ts +0 -14
  45. package/dist/chunk-2JFL7TS5.mjs +0 -0
  46. package/dist/chunk-5HOGPCEO.mjs +0 -1427
  47. package/dist/chunk-6BGQA4BQ.js +0 -1
  48. package/dist/chunk-6JZ35VQJ.js +0 -19
  49. package/dist/chunk-6NOXJGU2.js +0 -1427
  50. package/dist/chunk-7M2VOCYN.js +0 -1
  51. package/dist/chunk-BWQUYXUW.mjs +0 -1634
  52. package/dist/chunk-D3J7MWAU.js +0 -1634
  53. package/dist/chunk-EVPUCTZA.mjs +0 -0
  54. package/dist/chunk-FSU3H777.mjs +0 -473
  55. package/dist/chunk-GFSTK7KN.mjs +0 -19
  56. package/dist/chunk-I7EIUZKK.js +0 -332
  57. package/dist/chunk-JKUOV3MN.js +0 -473
  58. package/dist/chunk-RQS44YC7.mjs +0 -332
  59. package/dist/components/index.d.mts +0 -103
  60. package/dist/components/index.mjs +0 -24
  61. package/dist/hooks/index.d.mts +0 -17
  62. package/dist/hooks/index.mjs +0 -7
  63. package/dist/index.d.mts +0 -18
  64. package/dist/index.mjs +0 -58
  65. package/dist/types/index.d.mts +0 -44
  66. package/dist/types/index.mjs +0 -1
  67. package/dist/utils/index.d.mts +0 -59
  68. package/dist/utils/index.mjs +0 -22
  69. package/dist/wrappers/index.d.mts +0 -201
  70. package/dist/wrappers/index.mjs +0 -8
  71. package/dist/wrappers2/index.d.mts +0 -247
  72. package/dist/wrappers2/index.d.ts +0 -247
  73. package/dist/wrappers2/index.js +0 -8
  74. package/dist/wrappers2/index.mjs +0 -8
@@ -0,0 +1,2025 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }
2
+
3
+
4
+ var _chunkR2YK4LTTcjs = require('./chunk-R2YK4LTT.cjs');
5
+
6
+ // src/wrappers/AsyncMultiSelect2/AsyncMultiSelect2.tsx
7
+
8
+
9
+
10
+
11
+
12
+
13
+ var _material = require('@mui/material');
14
+ var _lodash = require('lodash');
15
+ var _react = require('react');
16
+ var _reacthookform = require('react-hook-form');
17
+ var _jsxruntime = require('react/jsx-runtime');
18
+ var initialState = {
19
+ options: [],
20
+ selectedOptions: [],
21
+ inputValue: "",
22
+ loading: false,
23
+ initialLoaded: false
24
+ };
25
+ function componentReducer(state, action) {
26
+ switch (action.type) {
27
+ case "SET_OPTIONS":
28
+ return { ...state, options: action.payload, loading: false };
29
+ case "SET_SELECTED_OPTIONS":
30
+ return { ...state, selectedOptions: action.payload };
31
+ case "SET_INPUT_VALUE":
32
+ return { ...state, inputValue: action.payload };
33
+ case "SET_LOADING":
34
+ return { ...state, loading: action.payload };
35
+ case "SET_INITIAL_LOADED":
36
+ return { ...state, initialLoaded: action.payload };
37
+ case "RESET_OPTIONS":
38
+ return { ...state, options: state.selectedOptions };
39
+ default:
40
+ return state;
41
+ }
42
+ }
43
+ var AsyncMultiSelect2Component = ({
44
+ name,
45
+ control,
46
+ placeholder,
47
+ initialValues,
48
+ label,
49
+ queryFn,
50
+ variant = "outlined",
51
+ sx,
52
+ disabled = false,
53
+ debounceMs = 400,
54
+ loadingText = "Loading...",
55
+ noOptionsText = "No options",
56
+ renderInput,
57
+ ...rest
58
+ }) => {
59
+ const [state, dispatch] = _react.useReducer.call(void 0, componentReducer, initialState);
60
+ const theme = _material.useTheme.call(void 0, );
61
+ const {
62
+ field,
63
+ fieldState: { error }
64
+ } = _reacthookform.useController.call(void 0, {
65
+ name,
66
+ control
67
+ });
68
+ const debouncedFetch = _react.useMemo.call(void 0,
69
+ () => _lodash.debounce.call(void 0, async (payload) => {
70
+ try {
71
+ const results = await queryFn(payload);
72
+ const mergedOptions = [
73
+ ...state.selectedOptions,
74
+ ...results.filter(
75
+ (option) => !state.selectedOptions.some((selected) => selected.value === option.value)
76
+ )
77
+ ];
78
+ dispatch({ type: "SET_OPTIONS", payload: mergedOptions });
79
+ } catch (_error) {
80
+ dispatch({ type: "SET_LOADING", payload: false });
81
+ }
82
+ }, debounceMs),
83
+ [queryFn, state.selectedOptions, debounceMs]
84
+ );
85
+ _react.useEffect.call(void 0, () => {
86
+ if (!_optionalChain([initialValues, 'optionalAccess', _2 => _2.length]) || state.initialLoaded) return;
87
+ dispatch({ type: "SET_LOADING", payload: true });
88
+ const payload = {
89
+ query: null,
90
+ initialValues
91
+ };
92
+ queryFn(payload).then((results) => {
93
+ if (results) {
94
+ dispatch({ type: "SET_SELECTED_OPTIONS", payload: results });
95
+ dispatch({ type: "SET_OPTIONS", payload: results });
96
+ dispatch({ type: "SET_INITIAL_LOADED", payload: true });
97
+ field.onChange(results.map((option) => option.value));
98
+ }
99
+ dispatch({ type: "SET_LOADING", payload: false });
100
+ }).catch((_error) => {
101
+ dispatch({ type: "SET_LOADING", payload: false });
102
+ });
103
+ }, [initialValues, state.initialLoaded, queryFn, field]);
104
+ _react.useEffect.call(void 0, () => {
105
+ if (!state.initialLoaded) return;
106
+ if (state.inputValue === "") {
107
+ dispatch({ type: "RESET_OPTIONS" });
108
+ return;
109
+ }
110
+ dispatch({ type: "SET_LOADING", payload: true });
111
+ const payload = {
112
+ query: state.inputValue,
113
+ initialValues: null
114
+ };
115
+ debouncedFetch(payload);
116
+ }, [state.inputValue, state.initialLoaded, debouncedFetch]);
117
+ const handleChange = _react.useCallback.call(void 0,
118
+ (event, newValue) => {
119
+ dispatch({ type: "SET_SELECTED_OPTIONS", payload: newValue });
120
+ field.onChange(newValue.map((option) => option.value));
121
+ },
122
+ [field]
123
+ );
124
+ const handleInputChange = _react.useCallback.call(void 0,
125
+ (event, newInputValue) => {
126
+ dispatch({ type: "SET_INPUT_VALUE", payload: newInputValue });
127
+ },
128
+ []
129
+ );
130
+ const isOptionEqualToValue = _react.useCallback.call(void 0,
131
+ (option, value) => option.value === value.value,
132
+ []
133
+ );
134
+ const getOptionLabel = _react.useCallback.call(void 0, (option) => option.label, []);
135
+ const defaultRenderInput = _react.useCallback.call(void 0,
136
+ (params) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
137
+ _material.TextField,
138
+ {
139
+ ...params,
140
+ label,
141
+ placeholder,
142
+ variant,
143
+ error: !!error,
144
+ helperText: _optionalChain([error, 'optionalAccess', _3 => _3.message]),
145
+ slotProps: {
146
+ input: {
147
+ ...params.InputProps,
148
+ endAdornment: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
149
+ state.loading && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _material.CircularProgress, { color: "inherit", size: 20 }),
150
+ params.InputProps.endAdornment
151
+ ] })
152
+ }
153
+ },
154
+ sx: {
155
+ "& .MuiInputBase-input": {
156
+ cursor: disabled ? "not-allowed" : "default"
157
+ },
158
+ bgcolor: disabled ? theme.palette.action.disabledBackground : "transparent",
159
+ ...sx
160
+ }
161
+ }
162
+ ),
163
+ [label, placeholder, variant, error, state.loading, disabled, theme.palette.action.disabledBackground, sx]
164
+ );
165
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
166
+ _material.Autocomplete,
167
+ {
168
+ multiple: true,
169
+ options: state.options,
170
+ value: state.selectedOptions,
171
+ loading: state.loading,
172
+ disabled,
173
+ isOptionEqualToValue,
174
+ getOptionLabel,
175
+ filterSelectedOptions: true,
176
+ onChange: handleChange,
177
+ onInputChange: handleInputChange,
178
+ loadingText,
179
+ noOptionsText,
180
+ renderInput: renderInput || defaultRenderInput,
181
+ ...rest
182
+ }
183
+ );
184
+ };
185
+ var AsyncMultiSelect2 = ({
186
+ gridProps,
187
+ ...props
188
+ }) => {
189
+ if (gridProps) {
190
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _material.Grid, { ...{ size: { xs: 12, sm: 12, md: 12, lg: 12, xl: 12 }, ...gridProps }, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, AsyncMultiSelect2Component, { ...props }) });
191
+ }
192
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, AsyncMultiSelect2Component, { ...props });
193
+ };
194
+ AsyncMultiSelect2.displayName = "AsyncMultiSelect2";
195
+
196
+ // src/wrappers/CheckboxElement/CheckboxElement.tsx
197
+
198
+
199
+
200
+
201
+
202
+
203
+
204
+
205
+
206
+
207
+
208
+
209
+
210
+ var Component = function CheckboxElement(props) {
211
+ const {
212
+ name,
213
+ control,
214
+ label,
215
+ labelProps,
216
+ helperText,
217
+ parseError,
218
+ transform,
219
+ disabled,
220
+ sx,
221
+ onChange: customOnChange,
222
+ ...rest
223
+ } = props;
224
+ const theme = _material.useTheme.call(void 0, );
225
+ const {
226
+ field,
227
+ fieldState: { error }
228
+ } = _reacthookform.useController.call(void 0, {
229
+ name,
230
+ control,
231
+ disabled
232
+ });
233
+ const { value, onChange } = _chunkR2YK4LTTcjs.useTransform.call(void 0, {
234
+ value: field.value,
235
+ onChange: field.onChange,
236
+ transform: {
237
+ input: typeof _optionalChain([transform, 'optionalAccess', _4 => _4.input]) === "function" ? transform.input : (value2) => !!value2,
238
+ output: typeof _optionalChain([transform, 'optionalAccess', _5 => _5.output]) === "function" ? transform.output : (checked) => checked
239
+ }
240
+ });
241
+ const handleChange = (event, checked) => {
242
+ onChange(event, checked);
243
+ if (typeof customOnChange === "function") {
244
+ customOnChange(event, checked);
245
+ }
246
+ };
247
+ const displayError = error ? typeof parseError === "function" ? parseError(error) : error.message : null;
248
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _material.FormControl, { error: !!error, disabled, children: [
249
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _material.FormGroup, { row: true, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
250
+ _material.FormControlLabel,
251
+ {
252
+ label: label || "",
253
+ ...labelProps,
254
+ disabled,
255
+ control: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
256
+ _material.Checkbox,
257
+ {
258
+ ...rest,
259
+ color: rest.color || "primary",
260
+ sx: [
261
+ ...Array.isArray(sx) ? sx : [sx],
262
+ {
263
+ color: error ? theme.palette.error.main : disabled ? theme.palette.action.disabled : void 0,
264
+ "&.Mui-disabled": {
265
+ color: theme.palette.action.disabled
266
+ }
267
+ }
268
+ ],
269
+ checked: value,
270
+ disabled,
271
+ onChange: handleChange,
272
+ ref: field.ref
273
+ }
274
+ )
275
+ }
276
+ ) }),
277
+ (displayError || helperText) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _material.FormHelperText, { error: !!error, children: displayError || helperText })
278
+ ] });
279
+ };
280
+ var CheckboxElement2 = ({
281
+ gridProps = { size: { xs: 12, sm: 12, md: 12, lg: 12, xl: 12 } },
282
+ ...props
283
+ }) => {
284
+ if (gridProps) {
285
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
286
+ _material.Grid,
287
+ {
288
+ ...{ size: { xs: 12, sm: 12, md: 12, lg: 12, xl: 12 }, ...gridProps },
289
+ children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Component, { ...props })
290
+ }
291
+ );
292
+ }
293
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Component, { ...props });
294
+ };
295
+ CheckboxElement2.displayName = "CheckboxElement";
296
+
297
+ // src/wrappers/CheckboxGroup/CheckboxGroup.tsx
298
+
299
+
300
+
301
+
302
+
303
+
304
+
305
+
306
+
307
+
308
+
309
+
310
+
311
+ var Component2 = function CheckboxGroup(props) {
312
+ const { name, control, label, labelProps, inputRef, options, ...rest } = props;
313
+ const {
314
+ field,
315
+ fieldState: { error }
316
+ } = _reacthookform.useController.call(void 0, {
317
+ name,
318
+ control,
319
+ disabled: rest.disabled
320
+ });
321
+ const [selectedValues, setSelectedValues] = _react.useState.call(void 0,
322
+ options.filter((c) => _optionalChain([field, 'access', _6 => _6.value, 'optionalAccess', _7 => _7.includes, 'call', _8 => _8(c.Value)])).map((c) => c.Value) || []
323
+ );
324
+ _react.useEffect.call(void 0, () => {
325
+ field.onChange(selectedValues ? [...selectedValues] : []);
326
+ }, [selectedValues]);
327
+ const handleChange = (event) => {
328
+ const value = parseInt(event.target.value, 10);
329
+ if (event.target.checked) {
330
+ setSelectedValues([...selectedValues, value]);
331
+ } else {
332
+ setSelectedValues(selectedValues.filter((item) => item !== value));
333
+ }
334
+ };
335
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _material.FormControl, { error: !!error, children: [
336
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _material.FormGroup, { row: true, children: options.map((option) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
337
+ _material.FormControlLabel,
338
+ {
339
+ label: option.Label,
340
+ ...labelProps,
341
+ control: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
342
+ _material.Checkbox,
343
+ {
344
+ ...rest,
345
+ color: rest.color || "primary",
346
+ sx: [
347
+ ...Array.isArray(rest.sx) ? rest.sx : [rest.sx],
348
+ {
349
+ color: error ? "error.main" : void 0
350
+ }
351
+ ],
352
+ value: option.Value,
353
+ checked: selectedValues.includes(option.Value),
354
+ onChange: handleChange
355
+ }
356
+ )
357
+ },
358
+ `${option.Value}`
359
+ )) }),
360
+ error && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _material.FormHelperText, { error: !!error, children: error.message })
361
+ ] });
362
+ };
363
+ var CheckboxGroup2 = ({
364
+ gridProps,
365
+ ...props
366
+ }) => {
367
+ if (gridProps) {
368
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _material.Grid, { ...{ size: { xs: 12, sm: 12, md: 12, lg: 12, xl: 12 }, ...gridProps }, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Component2, { ...props }) });
369
+ }
370
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Component2, { ...props });
371
+ };
372
+ CheckboxGroup2.displayName = "CheckboxGroup";
373
+
374
+ // src/wrappers/DatePickerElement/DatePickerElement.tsx
375
+
376
+
377
+
378
+ // src/wrappers/DatePickerElement/DatePickerElementCore.tsx
379
+
380
+ var _xdatepickers = require('@mui/x-date-pickers');
381
+
382
+
383
+
384
+ // src/wrappers/DatePickerElement/hooks/useDatePickerValue.ts
385
+ var _internals = require('@mui/x-date-pickers/internals');
386
+
387
+ function readDatePickerValueAsDate(adapter, value) {
388
+ if (value === null || value === void 0) {
389
+ return null;
390
+ }
391
+ if (typeof value === "string") {
392
+ if (value === "") {
393
+ return null;
394
+ }
395
+ const parsedDate = adapter.utils.date(value);
396
+ return parsedDate;
397
+ }
398
+ return value;
399
+ }
400
+ function useDatePickerValue(options) {
401
+ const { field, transform } = options;
402
+ const adapter = _internals.useLocalizationContext.call(void 0, );
403
+ const value = _react.useMemo.call(void 0, () => {
404
+ if (typeof _optionalChain([transform, 'optionalAccess', _9 => _9.input]) === "function") {
405
+ return transform.input(field.value);
406
+ }
407
+ return readDatePickerValueAsDate(adapter, field.value);
408
+ }, [field.value, _optionalChain([transform, 'optionalAccess', _10 => _10.input]), adapter]);
409
+ const onChange = _react.useCallback.call(void 0,
410
+ (newValue, context) => {
411
+ if (typeof _optionalChain([transform, 'optionalAccess', _11 => _11.output]) === "function") {
412
+ const transformedValue = transform.output(newValue, context);
413
+ field.onChange(transformedValue);
414
+ } else {
415
+ field.onChange(newValue);
416
+ }
417
+ },
418
+ [field.onChange, _optionalChain([transform, 'optionalAccess', _12 => _12.output])]
419
+ );
420
+ return {
421
+ value,
422
+ onChange
423
+ };
424
+ }
425
+
426
+ // src/wrappers/DatePickerElement/hooks/useDatePickerValidation.ts
427
+
428
+ var DEFAULT_ERROR_MESSAGES = {
429
+ invalidDate: "Please enter a valid date",
430
+ minDate: "Date must be after the minimum allowed date",
431
+ maxDate: "Date must be before the maximum allowed date",
432
+ disabledDate: "This date is not allowed",
433
+ required: "This field is required"
434
+ };
435
+ function useDatePickerValidation(options) {
436
+ const { fieldState, validation, parseError, value } = options;
437
+ const validationResult = _react.useMemo.call(void 0, () => {
438
+ const { error: fieldError, invalid } = fieldState;
439
+ let currentError = fieldError;
440
+ if (!fieldError && value && validation) {
441
+ const { minDate, maxDate, shouldDisableDate, errorMessages } = validation;
442
+ if (minDate && value < minDate) {
443
+ currentError = {
444
+ type: "minDate",
445
+ message: _optionalChain([errorMessages, 'optionalAccess', _13 => _13.minDate]) || DEFAULT_ERROR_MESSAGES.minDate
446
+ };
447
+ } else if (maxDate && value > maxDate) {
448
+ currentError = {
449
+ type: "maxDate",
450
+ message: _optionalChain([errorMessages, 'optionalAccess', _14 => _14.maxDate]) || DEFAULT_ERROR_MESSAGES.maxDate
451
+ };
452
+ } else if (shouldDisableDate && shouldDisableDate(value)) {
453
+ currentError = {
454
+ type: "disabledDate",
455
+ message: _optionalChain([errorMessages, 'optionalAccess', _15 => _15.disabledDate]) || DEFAULT_ERROR_MESSAGES.disabledDate
456
+ };
457
+ }
458
+ }
459
+ const hasError = Boolean(currentError);
460
+ return {
461
+ hasError,
462
+ error: currentError,
463
+ invalid: invalid || hasError
464
+ };
465
+ }, [fieldState, validation, value]);
466
+ const errorMessage = _react.useMemo.call(void 0, () => {
467
+ if (!validationResult.error) {
468
+ return null;
469
+ }
470
+ if (parseError) {
471
+ return parseError(validationResult.error);
472
+ }
473
+ if (typeof validationResult.error === "string") {
474
+ return validationResult.error;
475
+ }
476
+ if ("message" in validationResult.error && validationResult.error.message) {
477
+ return validationResult.error.message;
478
+ }
479
+ if ("type" in validationResult.error) {
480
+ const errorType = validationResult.error.type;
481
+ switch (errorType) {
482
+ case "required":
483
+ return DEFAULT_ERROR_MESSAGES.required;
484
+ case "minDate":
485
+ return DEFAULT_ERROR_MESSAGES.minDate;
486
+ case "maxDate":
487
+ return DEFAULT_ERROR_MESSAGES.maxDate;
488
+ case "disabledDate":
489
+ return DEFAULT_ERROR_MESSAGES.disabledDate;
490
+ case "invalidDate":
491
+ default:
492
+ return DEFAULT_ERROR_MESSAGES.invalidDate;
493
+ }
494
+ }
495
+ return DEFAULT_ERROR_MESSAGES.invalidDate;
496
+ }, [validationResult.error, parseError]);
497
+ return {
498
+ ...validationResult,
499
+ errorMessage
500
+ };
501
+ }
502
+
503
+ // src/wrappers/DatePickerElement/hooks/useDatePickerStyles.ts
504
+
505
+
506
+ function useDatePickerStyles(options = {}) {
507
+ const { disabled, hasError, loading, textReadOnly, sx: customSx } = options;
508
+ const theme = _material.useTheme.call(void 0, );
509
+ const computedSx = _react.useMemo.call(void 0, () => {
510
+ const baseStyles = {
511
+ // Input field styling
512
+ "& .MuiOutlinedInput-root": {
513
+ backgroundColor: disabled ? theme.palette.action.disabledBackground : "transparent",
514
+ // Transition for smooth state changes
515
+ transition: theme.transitions.create([
516
+ "background-color",
517
+ "border-color",
518
+ "color"
519
+ ], {
520
+ duration: theme.transitions.duration.short
521
+ }),
522
+ // Error state styling
523
+ ...hasError && {
524
+ borderColor: theme.palette.error.main,
525
+ "&:hover": {
526
+ borderColor: theme.palette.error.main
527
+ },
528
+ "&.Mui-focused": {
529
+ borderColor: theme.palette.error.main,
530
+ boxShadow: `0 0 0 2px ${theme.palette.error.main}25`
531
+ // 25 is 15% opacity in hex
532
+ }
533
+ },
534
+ // Loading state styling
535
+ ...loading && {
536
+ opacity: 0.7,
537
+ pointerEvents: "none"
538
+ }
539
+ },
540
+ // Input element styling
541
+ "& .MuiInputBase-input": {
542
+ cursor: disabled ? "not-allowed" : textReadOnly ? "pointer" : "text",
543
+ // Read-only specific styling
544
+ ...textReadOnly && !disabled && {
545
+ cursor: "pointer",
546
+ userSelect: "none",
547
+ caretColor: "transparent"
548
+ // Hide text cursor in read-only mode
549
+ },
550
+ // Loading state
551
+ ...loading && {
552
+ cursor: "wait"
553
+ }
554
+ },
555
+ // Required field asterisk styling
556
+ "& .MuiInputLabel-asterisk": {
557
+ color: theme.palette.error.main,
558
+ fontSize: "1.2em"
559
+ },
560
+ // Label styling with better contrast
561
+ "& .MuiInputLabel-root": {
562
+ color: hasError ? theme.palette.error.main : theme.palette.text.secondary,
563
+ // Ensure proper contrast for disabled state
564
+ ...disabled && {
565
+ color: theme.palette.text.disabled
566
+ }
567
+ },
568
+ // Helper text styling
569
+ "& .MuiFormHelperText-root": {
570
+ marginLeft: theme.spacing(1),
571
+ marginRight: theme.spacing(1),
572
+ // Error state
573
+ ...hasError && {
574
+ color: theme.palette.error.main
575
+ }
576
+ },
577
+ // Calendar icon styling
578
+ "& .MuiInputAdornment-root": {
579
+ color: disabled ? theme.palette.action.disabled : hasError ? theme.palette.error.main : theme.palette.action.active
580
+ },
581
+ // Focus ring for accessibility
582
+ "& .MuiOutlinedInput-root.Mui-focused": {
583
+ outline: `2px solid ${theme.palette.primary.main}50`,
584
+ // 50 is 31% opacity
585
+ outlineOffset: "2px"
586
+ },
587
+ // Enhanced contrast for dark themes
588
+ ...theme.palette.mode === "dark" && {
589
+ "& .MuiOutlinedInput-root": {
590
+ borderWidth: 2
591
+ }
592
+ }
593
+ };
594
+ return customSx ? [baseStyles, customSx] : baseStyles;
595
+ }, [
596
+ theme,
597
+ disabled,
598
+ hasError,
599
+ loading,
600
+ textReadOnly,
601
+ customSx
602
+ ]);
603
+ const className = _react.useMemo.call(void 0, () => {
604
+ const classes = [];
605
+ if (disabled) classes.push("DatePickerElement--disabled");
606
+ if (hasError) classes.push("DatePickerElement--error");
607
+ if (loading) classes.push("DatePickerElement--loading");
608
+ if (textReadOnly) classes.push("DatePickerElement--readOnly");
609
+ return classes.length > 0 ? classes.join(" ") : void 0;
610
+ }, [disabled, hasError, loading, textReadOnly]);
611
+ return {
612
+ sx: computedSx,
613
+ className
614
+ };
615
+ }
616
+
617
+ // src/wrappers/DatePickerElement/DatePickerElementCore.tsx
618
+
619
+ var DatePickerElementCore = _react.forwardRef.call(void 0, (props, ref) => {
620
+ const {
621
+ name,
622
+ required = false,
623
+ rules,
624
+ control,
625
+ parseError,
626
+ transform,
627
+ validation,
628
+ label,
629
+ placeholder,
630
+ textReadOnly = false,
631
+ helperText,
632
+ inputProps = {},
633
+ slotProps = {},
634
+ datePickerProps = {},
635
+ variant = "outlined",
636
+ sx: customSx,
637
+ loading = false,
638
+ LoadingComponent,
639
+ ...restProps
640
+ } = props;
641
+ const {
642
+ disabled,
643
+ inputRef: externalInputRef,
644
+ onClose,
645
+ ...restDatePickerProps
646
+ } = datePickerProps;
647
+ const {
648
+ field,
649
+ fieldState
650
+ } = _reacthookform.useController.call(void 0, {
651
+ name,
652
+ control,
653
+ rules,
654
+ defaultValue: null
655
+ // Let react-hook-form handle the default value typing
656
+ });
657
+ const { value, onChange: onValueChange } = useDatePickerValue({
658
+ field,
659
+ transform
660
+ });
661
+ const { hasError, errorMessage, invalid } = useDatePickerValidation({
662
+ fieldState,
663
+ validation,
664
+ parseError,
665
+ value
666
+ });
667
+ const { sx: computedSx, className } = useDatePickerStyles({
668
+ disabled,
669
+ hasError,
670
+ loading,
671
+ textReadOnly,
672
+ sx: customSx
673
+ });
674
+ const handleInputRef = _material.useForkRef.call(void 0, field.ref, externalInputRef);
675
+ const handleChange = _react.useCallback.call(void 0,
676
+ (newValue, context) => {
677
+ onValueChange(newValue, context);
678
+ },
679
+ [onValueChange]
680
+ );
681
+ const handleClose = _react.useCallback.call(void 0,
682
+ (...args) => {
683
+ field.onBlur();
684
+ if (onClose) {
685
+ onClose(...args);
686
+ }
687
+ },
688
+ [field.onBlur, onClose]
689
+ );
690
+ const handleTextFieldBlur = _react.useCallback.call(void 0,
691
+ (event) => {
692
+ field.onBlur();
693
+ if (typeof inputProps.onBlur === "function") {
694
+ inputProps.onBlur(event);
695
+ }
696
+ },
697
+ [field.onBlur, inputProps.onBlur]
698
+ );
699
+ const memoizedSlotProps = _react.useMemo.call(void 0, () => ({
700
+ ...slotProps,
701
+ actionBar: {
702
+ actions: ["clear", "today", "cancel", "accept"],
703
+ ...slotProps.actionBar
704
+ },
705
+ textField: {
706
+ ...inputProps,
707
+ required,
708
+ placeholder,
709
+ fullWidth: true,
710
+ variant,
711
+ onBlur: handleTextFieldBlur,
712
+ error: hasError,
713
+ helperText: hasError ? errorMessage : helperText,
714
+ inputProps: {
715
+ readOnly: textReadOnly,
716
+ "aria-invalid": invalid,
717
+ "aria-describedby": hasError ? `${name}-error` : void 0,
718
+ ...inputProps.inputProps
719
+ },
720
+ // Add loading indicator if provided
721
+ ...loading && LoadingComponent && {
722
+ InputProps: {
723
+ endAdornment: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, LoadingComponent, {}),
724
+ ...inputProps.InputProps
725
+ }
726
+ },
727
+ ...slotProps.textField
728
+ }
729
+ }), [
730
+ slotProps,
731
+ inputProps,
732
+ required,
733
+ placeholder,
734
+ variant,
735
+ handleTextFieldBlur,
736
+ hasError,
737
+ errorMessage,
738
+ helperText,
739
+ textReadOnly,
740
+ invalid,
741
+ name,
742
+ loading,
743
+ LoadingComponent
744
+ ]);
745
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
746
+ _xdatepickers.DatePicker,
747
+ {
748
+ ...restProps,
749
+ ...restDatePickerProps,
750
+ ref,
751
+ name,
752
+ value,
753
+ onChange: handleChange,
754
+ onClose: handleClose,
755
+ inputRef: handleInputRef,
756
+ label,
757
+ disabled,
758
+ sx: computedSx,
759
+ className,
760
+ slotProps: memoizedSlotProps,
761
+ "aria-invalid": invalid,
762
+ "aria-describedby": hasError ? `${name}-error` : void 0
763
+ }
764
+ );
765
+ });
766
+ DatePickerElementCore.displayName = "DatePickerElementCore";
767
+
768
+ // src/wrappers/DatePickerElement/DatePickerElement.tsx
769
+
770
+ var DatePickerElement = _react.forwardRef.call(void 0, (props, ref) => {
771
+ const {
772
+ gridProps = { size: { xs: 12, sm: 12, md: 12, lg: 12, xl: 12 } },
773
+ ...coreProps
774
+ } = props;
775
+ if (gridProps === false) {
776
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
777
+ DatePickerElementCore,
778
+ {
779
+ ref,
780
+ ...coreProps
781
+ }
782
+ );
783
+ }
784
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
785
+ _material.Grid,
786
+ {
787
+ ref,
788
+ ...gridProps,
789
+ children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
790
+ DatePickerElementCore,
791
+ {
792
+ ...coreProps
793
+ }
794
+ )
795
+ }
796
+ );
797
+ });
798
+ DatePickerElement.displayName = "DatePickerElement";
799
+
800
+ // src/wrappers/DatePickerElement/utils.ts
801
+ function isValidDate(value) {
802
+ if (value === null || value === void 0) {
803
+ return false;
804
+ }
805
+ if (value instanceof Date) {
806
+ return !isNaN(value.getTime());
807
+ }
808
+ if (typeof value === "object" && value !== null) {
809
+ if ("isValid" in value && typeof value.isValid === "function") {
810
+ return value.isValid();
811
+ }
812
+ if ("isValid" in value && typeof value.isValid === "boolean") {
813
+ return value.isValid;
814
+ }
815
+ }
816
+ return false;
817
+ }
818
+ function isParsableDateString(value) {
819
+ if (typeof value !== "string" || value === "") {
820
+ return false;
821
+ }
822
+ const isoDateRegex = /^\d{4}-\d{2}-\d{2}(?:T\d{2}:\d{2}:\d{2}(?:\.\d{3})?(?:Z|[+-]\d{2}:\d{2})?)?$/;
823
+ if (isoDateRegex.test(value)) {
824
+ return true;
825
+ }
826
+ const parsed = new Date(value);
827
+ return !isNaN(parsed.getTime());
828
+ }
829
+ function createDateInputTransform(adapter) {
830
+ return (value) => {
831
+ if (value === null || value === void 0) {
832
+ return null;
833
+ }
834
+ if (typeof value === "string") {
835
+ if (value === "") {
836
+ return null;
837
+ }
838
+ try {
839
+ const parsed = adapter.utils.date(value);
840
+ return isValidDate(parsed) ? parsed : null;
841
+ } catch (e2) {
842
+ return null;
843
+ }
844
+ }
845
+ if (isValidDate(value)) {
846
+ return value;
847
+ }
848
+ return null;
849
+ };
850
+ }
851
+ function createDateOutputTransform(format) {
852
+ return (value) => {
853
+ if (value === null || value === void 0) {
854
+ return null;
855
+ }
856
+ if (!isValidDate(value)) {
857
+ return null;
858
+ }
859
+ if (!format) {
860
+ return value;
861
+ }
862
+ try {
863
+ if (value instanceof Date) {
864
+ if (format === "iso") {
865
+ return value.toISOString();
866
+ }
867
+ if (format === "date-only") {
868
+ return value.toISOString().split("T")[0];
869
+ }
870
+ }
871
+ if (typeof value.format === "function") {
872
+ return value.format(format);
873
+ }
874
+ if (typeof value.format === "function") {
875
+ return value.format(format);
876
+ }
877
+ if (typeof value.toFormat === "function") {
878
+ return value.toFormat(format);
879
+ }
880
+ return value;
881
+ } catch (e3) {
882
+ return null;
883
+ }
884
+ };
885
+ }
886
+ function createDefaultDatePickerConfig() {
887
+ return {
888
+ // Default slot props for consistent behavior
889
+ slotProps: {
890
+ actionBar: {
891
+ actions: ["clear", "today", "cancel", "accept"]
892
+ },
893
+ textField: {
894
+ fullWidth: true,
895
+ variant: "outlined"
896
+ }
897
+ },
898
+ // Default grid props for layout consistency
899
+ gridProps: {
900
+ size: { xs: 12, sm: 12, md: 12, lg: 12, xl: 12 }
901
+ },
902
+ // Default validation configuration
903
+ validation: {
904
+ errorMessages: {
905
+ invalidDate: "Please enter a valid date",
906
+ minDate: "Date must be after the minimum allowed date",
907
+ maxDate: "Date must be before the maximum allowed date",
908
+ disabledDate: "This date is not allowed"
909
+ }
910
+ }
911
+ };
912
+ }
913
+ function extractErrorMessage(error) {
914
+ if (error === null || error === void 0) {
915
+ return "";
916
+ }
917
+ if (typeof error === "string") {
918
+ return error;
919
+ }
920
+ if (typeof error === "object" && error !== null) {
921
+ if ("message" in error && typeof error.message === "string") {
922
+ return error.message;
923
+ }
924
+ if ("type" in error && typeof error.type === "string") {
925
+ const errorType = error.type;
926
+ switch (errorType) {
927
+ case "invalidDate":
928
+ return "Please enter a valid date";
929
+ case "minDate":
930
+ return "Date is too early";
931
+ case "maxDate":
932
+ return "Date is too late";
933
+ case "disabledDate":
934
+ return "This date is not available";
935
+ default:
936
+ return "Invalid date selection";
937
+ }
938
+ }
939
+ }
940
+ return "Invalid input";
941
+ }
942
+ function createStableKey(config) {
943
+ try {
944
+ return JSON.stringify(config, (key, value) => {
945
+ if (typeof value === "object" && value !== null && !Array.isArray(value)) {
946
+ const sorted = {};
947
+ Object.keys(value).sort().forEach((k) => {
948
+ sorted[k] = value[k];
949
+ });
950
+ return sorted;
951
+ }
952
+ return value;
953
+ });
954
+ } catch (e4) {
955
+ return Object.keys(config).sort().join("-");
956
+ }
957
+ }
958
+
959
+ // src/wrappers/PasswordElement/PasswordElement.tsx
960
+ var _Visibility = require('@mui/icons-material/Visibility'); var _Visibility2 = _interopRequireDefault(_Visibility);
961
+ var _VisibilityOff = require('@mui/icons-material/VisibilityOff'); var _VisibilityOff2 = _interopRequireDefault(_VisibilityOff);
962
+
963
+
964
+
965
+
966
+
967
+
968
+
969
+
970
+
971
+
972
+
973
+
974
+ var Component3 = function PasswordEl(props) {
975
+ const {
976
+ type,
977
+ required,
978
+ iconColor,
979
+ renderIcon = (password2) => password2 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _Visibility2.default, {}) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _VisibilityOff2.default, {}),
980
+ slotProps,
981
+ name,
982
+ control,
983
+ component: TextFieldComponent = _material.TextField,
984
+ inputRef,
985
+ onBlur,
986
+ ...rest
987
+ } = props;
988
+ const [password, setPassword] = _react.useState.call(void 0, true);
989
+ const endAdornment = /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _material.InputAdornment, { position: "end", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
990
+ _material.IconButton,
991
+ {
992
+ onMouseDown: (e) => e.preventDefault(),
993
+ onClick: () => setPassword(!password),
994
+ tabIndex: -1,
995
+ color: _nullishCoalesce(iconColor, () => ( "default")),
996
+ children: renderIcon(password)
997
+ }
998
+ ) });
999
+ const {
1000
+ field,
1001
+ fieldState: { error }
1002
+ } = _reacthookform.useController.call(void 0, {
1003
+ name,
1004
+ control
1005
+ });
1006
+ const handleInputRef = _material.useForkRef.call(void 0, field.ref, inputRef);
1007
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1008
+ _material.TextField,
1009
+ {
1010
+ ...rest,
1011
+ inputRef: handleInputRef,
1012
+ type: password ? "password" : "text",
1013
+ value: field.value,
1014
+ fullWidth: true,
1015
+ onChange: (event) => {
1016
+ field.onChange(event);
1017
+ if (typeof rest.onChange === "function") {
1018
+ rest.onChange(event);
1019
+ }
1020
+ },
1021
+ onBlur: (event) => {
1022
+ field.onBlur();
1023
+ if (typeof onBlur === "function") {
1024
+ onBlur(event);
1025
+ }
1026
+ },
1027
+ ...typeof slotProps === "undefined" ? {
1028
+ InputProps: {
1029
+ endAdornment
1030
+ }
1031
+ } : {
1032
+ slotProps: {
1033
+ ...slotProps,
1034
+ input: {
1035
+ endAdornment,
1036
+ ..._optionalChain([slotProps, 'optionalAccess', _16 => _16.input])
1037
+ }
1038
+ }
1039
+ },
1040
+ error: !!error,
1041
+ helperText: error ? error.message : ""
1042
+ }
1043
+ );
1044
+ };
1045
+ var PasswordElement = ({
1046
+ gridProps = { size: { xs: 12, sm: 12, md: 12, lg: 12, xl: 12 } },
1047
+ ...props
1048
+ }) => {
1049
+ if (gridProps) {
1050
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1051
+ _material.Grid,
1052
+ {
1053
+ ...{ size: { xs: 12, sm: 12, md: 12, lg: 12, xl: 12 }, ...gridProps },
1054
+ children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Component3, { ...props })
1055
+ }
1056
+ );
1057
+ }
1058
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Component3, { ...props });
1059
+ };
1060
+ PasswordElement.displayName = "PasswordElement";
1061
+ var PasswordElement_default = PasswordElement;
1062
+
1063
+ // src/wrappers/RadioButtonGroup/RadioButtonGroup.tsx
1064
+
1065
+
1066
+
1067
+
1068
+
1069
+
1070
+
1071
+
1072
+
1073
+
1074
+
1075
+
1076
+
1077
+
1078
+ var Component4 = function RadioButtonGroup(props) {
1079
+ const {
1080
+ options,
1081
+ label,
1082
+ name,
1083
+ labelKey = "label",
1084
+ valueKey = "id",
1085
+ disabledKey = "disabled",
1086
+ required,
1087
+ emptyOptionLabel,
1088
+ returnObject,
1089
+ row,
1090
+ control,
1091
+ type,
1092
+ labelProps,
1093
+ disabled,
1094
+ formLabelProps,
1095
+ radioProps,
1096
+ transform,
1097
+ ...rest
1098
+ } = props;
1099
+ const theme = _material.useTheme.call(void 0, );
1100
+ const {
1101
+ field,
1102
+ fieldState: { error }
1103
+ } = _reacthookform.useController.call(void 0, {
1104
+ name,
1105
+ disabled,
1106
+ control
1107
+ });
1108
+ const { value, onChange } = _chunkR2YK4LTTcjs.useTransform.call(void 0, {
1109
+ value: field.value,
1110
+ onChange: field.onChange,
1111
+ transform: {
1112
+ input: typeof _optionalChain([transform, 'optionalAccess', _17 => _17.input]) === "function" ? transform.input : (value2) => {
1113
+ return value2 || "";
1114
+ },
1115
+ output: typeof _optionalChain([transform, 'optionalAccess', _18 => _18.output]) === "function" ? _optionalChain([transform, 'optionalAccess', _19 => _19.output]) : (_event, value2) => {
1116
+ if (value2 && type === "number") {
1117
+ return Number(value2);
1118
+ }
1119
+ if (value2 && type === "boolean") {
1120
+ return Boolean(value2);
1121
+ }
1122
+ return value2;
1123
+ }
1124
+ }
1125
+ });
1126
+ const onRadioChange = (event, radioValue) => {
1127
+ const returnValue = returnObject ? options.find((option) => option[valueKey] === radioValue) : radioValue;
1128
+ onChange(event, returnValue);
1129
+ if (typeof rest.onChange === "function") {
1130
+ rest.onChange(returnValue);
1131
+ }
1132
+ };
1133
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _material.FormControl, { error: !!error, children: [
1134
+ label && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _material.FormLabel, { ...formLabelProps, required, error: !!error, children: label }),
1135
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _material.RadioGroup, { onChange: onRadioChange, name, row, value, children: [
1136
+ emptyOptionLabel && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1137
+ _material.FormControlLabel,
1138
+ {
1139
+ ...labelProps,
1140
+ control: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1141
+ _material.Radio,
1142
+ {
1143
+ ...radioProps,
1144
+ sx: {
1145
+ color: error ? theme.palette.error.main : void 0
1146
+ },
1147
+ checked: !value
1148
+ }
1149
+ ),
1150
+ label: emptyOptionLabel,
1151
+ value: ""
1152
+ }
1153
+ ),
1154
+ options.map((option) => {
1155
+ const optionKey = option[valueKey];
1156
+ const optionDisabled = option[disabledKey] || false;
1157
+ let val = returnObject ? _optionalChain([value, 'optionalAccess', _20 => _20[valueKey]]) : value;
1158
+ if (type === "number" && val !== void 0) {
1159
+ val = Number(val);
1160
+ } else if (type === "boolean" && val !== void 0) {
1161
+ val = Boolean(val);
1162
+ }
1163
+ const isChecked = val === optionKey;
1164
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1165
+ _material.FormControlLabel,
1166
+ {
1167
+ ...labelProps,
1168
+ control: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1169
+ _material.Radio,
1170
+ {
1171
+ ...radioProps,
1172
+ sx: {
1173
+ color: error ? theme.palette.error.main : void 0
1174
+ },
1175
+ disabled: disabled || optionDisabled,
1176
+ checked: isChecked
1177
+ }
1178
+ ),
1179
+ value: optionKey,
1180
+ label: option[labelKey]
1181
+ },
1182
+ String(optionKey)
1183
+ );
1184
+ })
1185
+ ] }),
1186
+ error && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _material.FormHelperText, { children: error.message })
1187
+ ] });
1188
+ };
1189
+ var RadioButtonGroup2 = ({
1190
+ gridProps = { size: { xs: 12, sm: 12, md: 12, lg: 12, xl: 12 } },
1191
+ ...props
1192
+ }) => {
1193
+ if (gridProps) {
1194
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1195
+ _material.Grid,
1196
+ {
1197
+ ...{ size: { xs: 12, sm: 12, md: 12, lg: 12, xl: 12 }, ...gridProps },
1198
+ children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Component4, { ...props })
1199
+ }
1200
+ );
1201
+ }
1202
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Component4, { ...props });
1203
+ };
1204
+ RadioButtonGroup2.displayName = "RadioButtonGroup";
1205
+ var RadioButtonGroup_default = RadioButtonGroup2;
1206
+
1207
+ // src/wrappers/SelectCascadeElement/SelectCascadeElement.tsx
1208
+
1209
+
1210
+
1211
+
1212
+
1213
+
1214
+
1215
+
1216
+
1217
+
1218
+
1219
+ var Component5 = function SelectCascadeElement(props) {
1220
+ const {
1221
+ labelKey = "Label",
1222
+ valueKey = "Value",
1223
+ name,
1224
+ onBlur,
1225
+ onChange,
1226
+ disabled,
1227
+ options,
1228
+ control,
1229
+ loading = false,
1230
+ placeholder,
1231
+ label,
1232
+ dependsOn,
1233
+ textFieldProps = {},
1234
+ variant,
1235
+ sx,
1236
+ isEdit = false,
1237
+ ...rest
1238
+ } = props;
1239
+ const { required } = textFieldProps;
1240
+ const getOptionKey = _react.useCallback.call(void 0,
1241
+ (option) => {
1242
+ if (typeof option === "string" || typeof option === "number") return option;
1243
+ const key = option ? option[valueKey] : void 0;
1244
+ return key !== void 0 && key !== null ? String(key) : "";
1245
+ },
1246
+ [valueKey]
1247
+ );
1248
+ const getOptionLabel = _react.useCallback.call(void 0,
1249
+ (option) => {
1250
+ if (typeof option === "string") return option;
1251
+ return option ? String(option[labelKey]) : "";
1252
+ },
1253
+ [labelKey]
1254
+ );
1255
+ const isOptionEqualToValue = (option, value) => getOptionKey(option) === getOptionKey(value);
1256
+ const {
1257
+ field,
1258
+ fieldState: { error }
1259
+ } = _reacthookform.useController.call(void 0, {
1260
+ name,
1261
+ control
1262
+ });
1263
+ const theme = _material.useTheme.call(void 0, );
1264
+ const { field: dependentField } = _reacthookform.useController.call(void 0, {
1265
+ name: dependsOn,
1266
+ control
1267
+ });
1268
+ const parentValueRef = _react.useRef.call(void 0, _nullishCoalesce(dependentField.value, () => ( null)));
1269
+ const [hasAutoSelected, setHasAutoSelected] = _react.useState.call(void 0, false);
1270
+ _react.useEffect.call(void 0, () => {
1271
+ if (!!dependentField.value && _optionalChain([parentValueRef, 'optionalAccess', _21 => _21.current]) !== dependentField.value || dependentField.value === null) {
1272
+ field.onChange(null);
1273
+ setHasAutoSelected(false);
1274
+ }
1275
+ }, [dependentField.value]);
1276
+ _react.useEffect.call(void 0, () => {
1277
+ if (isEdit && !disabled && options.length === 1 && field.value == null && !hasAutoSelected) {
1278
+ field.onChange(getOptionKey(options[0]));
1279
+ setHasAutoSelected(true);
1280
+ } else {
1281
+ if (options.length === 1 && field.value == null && !hasAutoSelected) {
1282
+ field.onChange(getOptionKey(options[0]));
1283
+ setHasAutoSelected(true);
1284
+ }
1285
+ }
1286
+ }, [
1287
+ options,
1288
+ field.value,
1289
+ field.onChange,
1290
+ hasAutoSelected,
1291
+ isEdit,
1292
+ disabled,
1293
+ field,
1294
+ getOptionKey,
1295
+ dependentField.onChange
1296
+ ]);
1297
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1298
+ _material.Autocomplete,
1299
+ {
1300
+ ...rest,
1301
+ value: options.map((option) => getOptionKey(option) === field.value ? option : null).find(Boolean) || null,
1302
+ size: "small",
1303
+ loading,
1304
+ options,
1305
+ getOptionKey,
1306
+ getOptionLabel,
1307
+ isOptionEqualToValue,
1308
+ ref: field.ref,
1309
+ disabled: dependentField.value == null || disabled,
1310
+ onChange: (event, newValue, reason) => {
1311
+ field.onChange(newValue ? getOptionKey(newValue) : null);
1312
+ if (onChange && typeof onChange === "function") {
1313
+ onChange(event, newValue, reason);
1314
+ }
1315
+ },
1316
+ onBlur: (event) => {
1317
+ field.onBlur();
1318
+ if (typeof onBlur === "function") {
1319
+ onBlur(event);
1320
+ }
1321
+ },
1322
+ fullWidth: true,
1323
+ renderInput: (params) => (
1324
+ // @ts-ignore
1325
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1326
+ _material.TextField,
1327
+ {
1328
+ ...params,
1329
+ fullWidth: true,
1330
+ error: !!error,
1331
+ required,
1332
+ helperText: error ? error.message : "",
1333
+ placeholder,
1334
+ label,
1335
+ variant: variant ? variant : "outlined",
1336
+ sx: {
1337
+ "& .MuiOutlinedInput-root": {
1338
+ bgcolor: disabled || dependentField.value == null ? theme.palette.action.disabledBackground : "transparent"
1339
+ },
1340
+ "& .MuiInputLabel-asterisk": { color: "red" },
1341
+ "& .MuiInputBase-input": {
1342
+ cursor: disabled || dependentField.value == null ? "not-allowed" : "default"
1343
+ },
1344
+ ...sx
1345
+ }
1346
+ }
1347
+ )
1348
+ )
1349
+ }
1350
+ );
1351
+ };
1352
+ var SelectCascadeElement2 = ({
1353
+ gridProps = { size: { xs: 12, sm: 12, md: 12, lg: 12, xl: 12 } },
1354
+ ...props
1355
+ }) => {
1356
+ if (gridProps) {
1357
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _material.Grid, { ...{ size: { xs: 12, sm: 12, md: 12, lg: 12, xl: 12 }, ...gridProps }, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Component5, { ...props }) });
1358
+ }
1359
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Component5, { ...props });
1360
+ };
1361
+ SelectCascadeElement2.displayName = "SelectCascadeElement";
1362
+ var SelectCascadeElement_default = SelectCascadeElement2;
1363
+
1364
+ // src/wrappers/SelectElement/SelectElement.tsx
1365
+
1366
+
1367
+
1368
+
1369
+
1370
+
1371
+
1372
+
1373
+
1374
+
1375
+ var Component6 = function SelectElement(props) {
1376
+ const {
1377
+ name,
1378
+ control,
1379
+ onChange,
1380
+ isEdit,
1381
+ options,
1382
+ label,
1383
+ sx,
1384
+ variant,
1385
+ disabled,
1386
+ labelKey = "Label",
1387
+ valueKey = "Value",
1388
+ placeholder,
1389
+ textFieldProps = {},
1390
+ ...rest
1391
+ } = props;
1392
+ const { required } = textFieldProps;
1393
+ const {
1394
+ field,
1395
+ fieldState: { error }
1396
+ } = _reacthookform.useController.call(void 0, {
1397
+ name,
1398
+ control
1399
+ });
1400
+ const theme = _material.useTheme.call(void 0, );
1401
+ const getOptionValue = _react.useCallback.call(void 0,
1402
+ (option) => {
1403
+ if (typeof option === "string") return option;
1404
+ return option ? option[valueKey] : null;
1405
+ },
1406
+ [valueKey]
1407
+ );
1408
+ const getOptionLabel = _react.useCallback.call(void 0,
1409
+ (option) => {
1410
+ if (typeof option === "string") return option;
1411
+ return option ? String(option[labelKey]) : "";
1412
+ },
1413
+ [labelKey]
1414
+ );
1415
+ const handleChange = (event, newValue, reason) => {
1416
+ const option = newValue;
1417
+ field.onChange(option ? getOptionValue(option) : null);
1418
+ _optionalChain([onChange, 'optionalCall', _22 => _22(event, newValue, reason)]);
1419
+ };
1420
+ _react.useEffect.call(void 0, () => {
1421
+ if (!isEdit && options.length === 1 && (field.value == null || field.value == void 0 || field.value === "")) {
1422
+ const defaultOption = options[0];
1423
+ const defaultValue = getOptionValue(defaultOption);
1424
+ field.onChange(defaultValue);
1425
+ }
1426
+ }, [isEdit, options]);
1427
+ const autocompleteValue = _react.useMemo.call(void 0,
1428
+ () => _nullishCoalesce(options.find((option) => getOptionValue(option) === field.value), () => ( null)),
1429
+ [field.value, options, getOptionValue]
1430
+ );
1431
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1432
+ _material.Autocomplete,
1433
+ {
1434
+ ...rest,
1435
+ filterSelectedOptions: false,
1436
+ options,
1437
+ value: autocompleteValue,
1438
+ onChange: handleChange,
1439
+ disabled,
1440
+ getOptionLabel: (option) => getOptionLabel(option),
1441
+ ref: field.ref,
1442
+ isOptionEqualToValue: (option, value) => getOptionValue(option) === getOptionValue(value),
1443
+ renderInput: (params) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1444
+ _material.TextField,
1445
+ {
1446
+ ...params,
1447
+ fullWidth: true,
1448
+ required,
1449
+ error: !!error,
1450
+ helperText: error ? error.message : "",
1451
+ label,
1452
+ placeholder,
1453
+ variant: variant ? variant : "outlined",
1454
+ sx: {
1455
+ "& .MuiOutlinedInput-root": {
1456
+ bgcolor: disabled ? theme.palette.action.disabledBackground : "transparent"
1457
+ },
1458
+ "& .MuiInputLabel-asterisk": { color: "red" },
1459
+ "& .MuiInputBase-input": {
1460
+ cursor: disabled ? "not-allowed" : "default"
1461
+ },
1462
+ ...sx
1463
+ }
1464
+ }
1465
+ )
1466
+ }
1467
+ );
1468
+ };
1469
+ var SelectElement2 = ({
1470
+ gridProps = { size: { xs: 12, sm: 12, md: 12, lg: 12, xl: 12 } },
1471
+ ...props
1472
+ }) => {
1473
+ if (gridProps) {
1474
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1475
+ _material.Grid,
1476
+ {
1477
+ ...{ size: { xs: 12, sm: 12, md: 12, lg: 12, xl: 12 }, ...gridProps },
1478
+ children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Component6, { ...props })
1479
+ }
1480
+ );
1481
+ }
1482
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Component6, { ...props });
1483
+ };
1484
+ SelectElement2.displayName = "SelectElement";
1485
+ var SelectElement_default = SelectElement2;
1486
+
1487
+ // src/wrappers/SelectMultiElement/SelectMultiElement.tsx
1488
+ var _CheckBox = require('@mui/icons-material/CheckBox'); var _CheckBox2 = _interopRequireDefault(_CheckBox);
1489
+ var _CheckBoxOutlineBlank = require('@mui/icons-material/CheckBoxOutlineBlank'); var _CheckBoxOutlineBlank2 = _interopRequireDefault(_CheckBoxOutlineBlank);
1490
+
1491
+
1492
+
1493
+
1494
+ var Component7 = function SelectMultiElement(props) {
1495
+ const {
1496
+ name,
1497
+ control,
1498
+ onBlur,
1499
+ disabled,
1500
+ options,
1501
+ loading = false,
1502
+ placeholder,
1503
+ label,
1504
+ variant,
1505
+ sx,
1506
+ labelKey = "Label",
1507
+ valueKey = "Value",
1508
+ ...rest
1509
+ } = props;
1510
+ const {
1511
+ field,
1512
+ fieldState: { error }
1513
+ } = _reacthookform.useController.call(void 0, {
1514
+ name,
1515
+ control
1516
+ });
1517
+ const getOptionValue = (option) => {
1518
+ if (typeof option === "string") return option;
1519
+ return option ? option[valueKey] : null;
1520
+ };
1521
+ const getOptionLabel = (option) => {
1522
+ if (typeof option === "string") return option;
1523
+ return option ? option[labelKey] : "";
1524
+ };
1525
+ const selectedValue = field.value && Array.isArray(field.value) ? options.filter((option) => field.value.includes(getOptionValue(option))) : [];
1526
+ const handleChange = (_, selectedOptions, reason) => {
1527
+ if (reason === "clear") {
1528
+ field.onChange([]);
1529
+ } else if (reason === "selectOption" || reason === "removeOption") {
1530
+ const newValues = selectedOptions.map((option) => getOptionValue(option));
1531
+ field.onChange(newValues);
1532
+ }
1533
+ };
1534
+ const icon = /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _CheckBoxOutlineBlank2.default, { fontSize: "small" });
1535
+ const checkedIcon = /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _CheckBox2.default, { fontSize: "small" });
1536
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1537
+ _material.Autocomplete,
1538
+ {
1539
+ multiple: true,
1540
+ value: selectedValue,
1541
+ loading,
1542
+ options,
1543
+ getOptionLabel,
1544
+ isOptionEqualToValue: (option, value) => getOptionValue(option) === getOptionValue(value),
1545
+ filterSelectedOptions: true,
1546
+ disableCloseOnSelect: true,
1547
+ ref: field.ref,
1548
+ disabled: _nullishCoalesce(disabled, () => ( field.disabled)),
1549
+ onChange: handleChange,
1550
+ onBlur: (event) => {
1551
+ field.onBlur();
1552
+ if (typeof onBlur === "function") {
1553
+ onBlur(event);
1554
+ }
1555
+ },
1556
+ fullWidth: true,
1557
+ renderOption: (props1, option, { selected }) => {
1558
+ const { key, ...optionProps } = props1;
1559
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "li", { ...optionProps, children: [
1560
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _material.Checkbox, { icon, checkedIcon, checked: selected }),
1561
+ getOptionLabel(option)
1562
+ ] }, key);
1563
+ },
1564
+ renderInput: (params) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1565
+ _material.TextField,
1566
+ {
1567
+ ...params,
1568
+ label,
1569
+ error: !!error,
1570
+ helperText: error ? error.message : "",
1571
+ placeholder,
1572
+ slotProps: {
1573
+ input: {
1574
+ ...params.InputProps,
1575
+ endAdornment: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _react.Fragment, { children: [
1576
+ loading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _material.CircularProgress, { color: "inherit", size: 20 }) : null,
1577
+ params.InputProps.endAdornment
1578
+ ] })
1579
+ }
1580
+ },
1581
+ variant: variant ? variant : "outlined",
1582
+ sx: {
1583
+ ...sx
1584
+ }
1585
+ }
1586
+ ),
1587
+ ...rest
1588
+ }
1589
+ );
1590
+ };
1591
+ var SelectMultiElement2 = ({
1592
+ gridProps = { size: { xs: 12, sm: 12, md: 12, lg: 12, xl: 12 } },
1593
+ ...props
1594
+ }) => {
1595
+ if (gridProps) {
1596
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _material.Grid, { ...{ size: { xs: 12, sm: 12, md: 12, lg: 12, xl: 12 }, ...gridProps }, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Component7, { ...props }) });
1597
+ }
1598
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Component7, { ...props });
1599
+ };
1600
+ SelectMultiElement2.displayName = "SelectMultiElement";
1601
+ var SelectMultiElement_default = SelectMultiElement2;
1602
+
1603
+ // src/wrappers/TextFieldElement/TextFieldElement.tsx
1604
+
1605
+
1606
+
1607
+
1608
+
1609
+
1610
+
1611
+
1612
+
1613
+
1614
+ var Component8 = function TextFieldElement(props) {
1615
+ const {
1616
+ rules = {},
1617
+ parseError,
1618
+ name,
1619
+ control,
1620
+ component: TextFieldComponent = _material.TextField,
1621
+ gridProps,
1622
+ transform,
1623
+ label,
1624
+ placeholder,
1625
+ textFieldProps = {},
1626
+ variant,
1627
+ sx,
1628
+ ...rest
1629
+ } = props;
1630
+ const {
1631
+ type,
1632
+ required,
1633
+ helperText,
1634
+ inputRef,
1635
+ onBlur,
1636
+ disabled,
1637
+ ...restTextProps
1638
+ } = textFieldProps;
1639
+ const {
1640
+ field,
1641
+ fieldState: { error }
1642
+ } = _reacthookform.useController.call(void 0, {
1643
+ name,
1644
+ control
1645
+ });
1646
+ const theme = _material.useTheme.call(void 0, );
1647
+ const { value, onChange } = _chunkR2YK4LTTcjs.useTransform.call(void 0, {
1648
+ value: field.value,
1649
+ onChange: field.onChange,
1650
+ transform: {
1651
+ input: typeof _optionalChain([transform, 'optionalAccess', _23 => _23.input]) === "function" ? transform.input : (value2) => {
1652
+ return _nullishCoalesce(value2, () => ( ""));
1653
+ },
1654
+ output: typeof _optionalChain([transform, 'optionalAccess', _24 => _24.output]) === "function" ? transform.output : (event) => {
1655
+ const value2 = event.target.value;
1656
+ if (type !== "number") {
1657
+ return value2;
1658
+ }
1659
+ if (value2 === "") {
1660
+ return null;
1661
+ }
1662
+ if (value2 == null) {
1663
+ return value2;
1664
+ }
1665
+ return Number(value2);
1666
+ }
1667
+ }
1668
+ });
1669
+ const handleInputRef = _material.useForkRef.call(void 0, field.ref, inputRef);
1670
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1671
+ TextFieldComponent,
1672
+ {
1673
+ ...rest,
1674
+ ...restTextProps,
1675
+ name: field.name,
1676
+ value,
1677
+ onChange: (event) => {
1678
+ field.onChange(event);
1679
+ if (typeof onChange === "function") {
1680
+ onChange(event);
1681
+ }
1682
+ },
1683
+ onBlur: (event) => {
1684
+ field.onBlur();
1685
+ if (typeof onBlur === "function") {
1686
+ onBlur(event);
1687
+ }
1688
+ },
1689
+ disabled,
1690
+ label,
1691
+ placeholder,
1692
+ fullWidth: true,
1693
+ required,
1694
+ type,
1695
+ error: !!error,
1696
+ helperText: error ? error.message : helperText,
1697
+ inputRef: handleInputRef,
1698
+ variant: variant ? variant : "outlined",
1699
+ size: "small",
1700
+ sx: {
1701
+ "& .MuiInputLabel-asterisk": { color: "red" },
1702
+ "& .MuiInputBase-input": {
1703
+ cursor: disabled ? "not-allowed" : "default"
1704
+ },
1705
+ bgcolor: disabled ? theme.palette.action.disabledBackground : "transparent",
1706
+ ...sx
1707
+ }
1708
+ }
1709
+ );
1710
+ };
1711
+ var TextFieldElement2 = ({
1712
+ gridProps = { size: { xs: 12, sm: 12, md: 12, lg: 12, xl: 12 } },
1713
+ ...props
1714
+ }) => {
1715
+ if (gridProps) {
1716
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1717
+ _material.Grid,
1718
+ {
1719
+ ...{ size: { xs: 12, sm: 12, md: 12, lg: 12, xl: 12 }, ...gridProps },
1720
+ children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Component8, { ...props })
1721
+ }
1722
+ );
1723
+ }
1724
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Component8, { ...props });
1725
+ };
1726
+ TextFieldElement2.displayName = "TextFieldElement";
1727
+ var TextFieldElement_default = TextFieldElement2;
1728
+
1729
+ // src/wrappers/TextFieldElement/EnhancedTextFieldElement.tsx
1730
+
1731
+
1732
+
1733
+
1734
+
1735
+
1736
+
1737
+
1738
+
1739
+
1740
+ var Component9 = function EnhancedTextFieldElement(props) {
1741
+ const {
1742
+ rules = {},
1743
+ parseError,
1744
+ name,
1745
+ control,
1746
+ component: TextFieldComponent = _material.TextField,
1747
+ gridProps,
1748
+ transform,
1749
+ fieldType = "text",
1750
+ // Default to text type
1751
+ defaultValue,
1752
+ label,
1753
+ placeholder,
1754
+ textFieldProps = {},
1755
+ variant,
1756
+ sx,
1757
+ onChange: customOnChange,
1758
+ enableWarnings = process.env.NODE_ENV === "development",
1759
+ ...rest
1760
+ } = props;
1761
+ const {
1762
+ type,
1763
+ required,
1764
+ helperText,
1765
+ inputRef,
1766
+ onBlur,
1767
+ disabled,
1768
+ ...restTextProps
1769
+ } = textFieldProps;
1770
+ const {
1771
+ field,
1772
+ fieldState: { error }
1773
+ } = _reacthookform.useController.call(void 0, {
1774
+ name,
1775
+ control,
1776
+ rules
1777
+ });
1778
+ const theme = _material.useTheme.call(void 0, );
1779
+ const { value, onChange } = _chunkR2YK4LTTcjs.useEnhancedTransform.call(void 0, {
1780
+ value: field.value,
1781
+ onChange: field.onChange,
1782
+ transform: transform ? {
1783
+ input: transform.input,
1784
+ output: transform.output
1785
+ } : void 0,
1786
+ fieldType: !transform ? type === "number" ? "number" : fieldType : void 0,
1787
+ // Auto-detect number type
1788
+ defaultValue,
1789
+ enableWarnings
1790
+ });
1791
+ const handleInputRef = _material.useForkRef.call(void 0, field.ref, inputRef);
1792
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1793
+ TextFieldComponent,
1794
+ {
1795
+ ...rest,
1796
+ ...restTextProps,
1797
+ name: field.name,
1798
+ value,
1799
+ onChange: (event) => {
1800
+ onChange(event);
1801
+ if (typeof customOnChange === "function") {
1802
+ customOnChange(event);
1803
+ }
1804
+ },
1805
+ onBlur: (event) => {
1806
+ field.onBlur();
1807
+ if (typeof onBlur === "function") {
1808
+ onBlur(event);
1809
+ }
1810
+ },
1811
+ disabled,
1812
+ label,
1813
+ placeholder,
1814
+ fullWidth: true,
1815
+ required,
1816
+ type,
1817
+ error: !!error,
1818
+ helperText: error ? parseError ? parseError(error) : error.message : helperText,
1819
+ inputRef: handleInputRef,
1820
+ variant: variant ? variant : "outlined",
1821
+ size: "small",
1822
+ sx: {
1823
+ "& .MuiInputLabel-asterisk": { color: "red" },
1824
+ "& .MuiInputBase-input": {
1825
+ cursor: disabled ? "not-allowed" : "default"
1826
+ },
1827
+ bgcolor: disabled ? theme.palette.action.disabledBackground : "transparent",
1828
+ ...sx
1829
+ }
1830
+ }
1831
+ );
1832
+ };
1833
+ var EnhancedTextFieldElement2 = ({
1834
+ gridProps = { size: { xs: 12, sm: 12, md: 12, lg: 12, xl: 12 } },
1835
+ ...props
1836
+ }) => {
1837
+ if (gridProps) {
1838
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1839
+ _material.Grid,
1840
+ {
1841
+ ...{ size: { xs: 12, sm: 12, md: 12, lg: 12, xl: 12 }, ...gridProps },
1842
+ children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Component9, { ...props })
1843
+ }
1844
+ );
1845
+ }
1846
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Component9, { ...props });
1847
+ };
1848
+ EnhancedTextFieldElement2.displayName = "EnhancedTextFieldElement";
1849
+
1850
+ // src/wrappers/TimePickerElement/TimePickerElement.tsx
1851
+
1852
+
1853
+
1854
+
1855
+
1856
+
1857
+ function readValueAsDate(adapter, value) {
1858
+ if (typeof value === "string") {
1859
+ if (value === "") {
1860
+ return null;
1861
+ }
1862
+ return adapter.utils.date(value);
1863
+ }
1864
+ return value;
1865
+ }
1866
+ function useTransform2(options) {
1867
+ const value = typeof _optionalChain([options, 'access', _25 => _25.transform, 'optionalAccess', _26 => _26.input]) === "function" ? options.transform.input(options.value) : options.value;
1868
+ const onChange = _react.useCallback.call(void 0,
1869
+ (...event) => {
1870
+ if (typeof _optionalChain([options, 'access', _27 => _27.transform, 'optionalAccess', _28 => _28.output]) === "function") {
1871
+ options.onChange(options.transform.output(...event));
1872
+ } else {
1873
+ options.onChange(...event);
1874
+ }
1875
+ },
1876
+ [options]
1877
+ );
1878
+ return {
1879
+ value,
1880
+ onChange
1881
+ };
1882
+ }
1883
+ var Component10 = function TimePickerElement(props) {
1884
+ const {
1885
+ name,
1886
+ required,
1887
+ inputProps,
1888
+ control,
1889
+ textReadOnly,
1890
+ label,
1891
+ placeholder,
1892
+ slotProps,
1893
+ timePickerProps = {},
1894
+ transform,
1895
+ sx,
1896
+ ...rest
1897
+ } = props;
1898
+ const adapter = _internals.useLocalizationContext.call(void 0, );
1899
+ const theme = _material.useTheme.call(void 0, );
1900
+ const { disabled, inputRef, onClose, ...restTimePickerProps } = timePickerProps;
1901
+ const {
1902
+ field,
1903
+ fieldState: { error }
1904
+ } = _reacthookform.useController.call(void 0, {
1905
+ name,
1906
+ control,
1907
+ defaultValue: null
1908
+ });
1909
+ const { value, onChange } = useTransform2({
1910
+ value: field.value,
1911
+ onChange: field.onChange,
1912
+ transform: {
1913
+ input: typeof _optionalChain([transform, 'optionalAccess', _29 => _29.input]) === "function" ? transform.input : (newValue) => readValueAsDate(adapter, newValue),
1914
+ output: (outputValue, context) => {
1915
+ if (outputValue === null) return null;
1916
+ return outputValue;
1917
+ }
1918
+ }
1919
+ });
1920
+ const handleInputRef = _material.useForkRef.call(void 0, field.ref, inputRef);
1921
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1922
+ _xdatepickers.TimePicker,
1923
+ {
1924
+ ...rest,
1925
+ ...restTimePickerProps,
1926
+ ...field,
1927
+ value,
1928
+ label,
1929
+ disabled,
1930
+ ...timePickerProps,
1931
+ inputRef: handleInputRef,
1932
+ onClose: (...args) => {
1933
+ field.onBlur();
1934
+ if (onClose) {
1935
+ onClose(...args);
1936
+ }
1937
+ },
1938
+ onChange: (newValue, context) => {
1939
+ onChange(newValue, context);
1940
+ if (typeof timePickerProps.onChange === "function") {
1941
+ timePickerProps.onChange(newValue, context);
1942
+ }
1943
+ },
1944
+ sx: {
1945
+ "& .MuiOutlinedInput-root": {
1946
+ bgcolor: disabled ? theme.palette.action.disabledBackground : "transparent"
1947
+ },
1948
+ "& .MuiInputLabel-asterisk": { color: "red" },
1949
+ "& .MuiInputBase-input": {
1950
+ cursor: disabled ? "not-allowed" : "default"
1951
+ },
1952
+ ...sx
1953
+ },
1954
+ slotProps: {
1955
+ ...slotProps,
1956
+ actionBar: {
1957
+ actions: ["clear", "cancel", "accept"]
1958
+ },
1959
+ textField: {
1960
+ ...inputProps,
1961
+ required,
1962
+ placeholder,
1963
+ fullWidth: true,
1964
+ onBlur: (event) => {
1965
+ field.onBlur();
1966
+ if (typeof _optionalChain([inputProps, 'optionalAccess', _30 => _30.onBlur]) === "function") {
1967
+ inputProps.onBlur(event);
1968
+ }
1969
+ },
1970
+ error: !!error,
1971
+ helperText: error ? error.message : _optionalChain([inputProps, 'optionalAccess', _31 => _31.helperText]) || rest.helperText,
1972
+ inputProps: {
1973
+ readOnly: !!textReadOnly,
1974
+ ..._optionalChain([inputProps, 'optionalAccess', _32 => _32.inputProps])
1975
+ }
1976
+ }
1977
+ }
1978
+ }
1979
+ );
1980
+ };
1981
+ var TimePickerElement2 = ({
1982
+ gridProps = { size: { xs: 12, sm: 12, md: 12, lg: 12, xl: 12 } },
1983
+ ...props
1984
+ }) => {
1985
+ if (gridProps) {
1986
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1987
+ _material.Grid,
1988
+ {
1989
+ ...{ size: { xs: 12, sm: 12, md: 12, lg: 12, xl: 12 }, ...gridProps },
1990
+ children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Component10, { ...props })
1991
+ }
1992
+ );
1993
+ }
1994
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Component10, { ...props });
1995
+ };
1996
+ TimePickerElement2.displayName = "TimePickerElement";
1997
+ var TimePickerElement_default = TimePickerElement2;
1998
+
1999
+
2000
+
2001
+
2002
+
2003
+
2004
+
2005
+
2006
+
2007
+
2008
+
2009
+
2010
+
2011
+
2012
+
2013
+
2014
+
2015
+
2016
+
2017
+
2018
+
2019
+
2020
+
2021
+
2022
+
2023
+
2024
+ exports.AsyncMultiSelect2 = AsyncMultiSelect2; exports.CheckboxElement = CheckboxElement2; exports.CheckboxGroup = CheckboxGroup2; exports.readDatePickerValueAsDate = readDatePickerValueAsDate; exports.useDatePickerValue = useDatePickerValue; exports.useDatePickerValidation = useDatePickerValidation; exports.useDatePickerStyles = useDatePickerStyles; exports.DatePickerElementCore = DatePickerElementCore; exports.DatePickerElement = DatePickerElement; exports.isValidDate = isValidDate; exports.isParsableDateString = isParsableDateString; exports.createDateInputTransform = createDateInputTransform; exports.createDateOutputTransform = createDateOutputTransform; exports.createDefaultDatePickerConfig = createDefaultDatePickerConfig; exports.extractErrorMessage = extractErrorMessage; exports.createStableKey = createStableKey; exports.PasswordElement_default = PasswordElement_default; exports.RadioButtonGroup_default = RadioButtonGroup_default; exports.SelectCascadeElement_default = SelectCascadeElement_default; exports.SelectElement_default = SelectElement_default; exports.SelectMultiElement_default = SelectMultiElement_default; exports.TextFieldElement_default = TextFieldElement_default; exports.EnhancedTextFieldElement = EnhancedTextFieldElement2; exports.TimePickerElement_default = TimePickerElement_default;
2025
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImQ6XFxQcm9qZWN0c1xcZ253ZWItbW9ub3JlcG9cXHBhY2thZ2VzXFx1aVxcZGlzdFxcY2h1bmstT1Q3Q09FN1IuY2pzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0U7QUFDQTtBQUNGLHdEQUE2QjtBQUM3QjtBQUNBO0FBQ0E7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0YseUNBQXNCO0FBQ3RCLGdDQUFpQztBQUNqQyw4QkFBbUU7QUFDbkUsZ0RBQStDO0FBQy9DLCtDQUF1RDtBQUN2RCxJQUFJLGFBQWEsRUFBRTtBQUNuQixFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7QUFDYixFQUFFLGVBQWUsRUFBRSxDQUFDLENBQUM7QUFDckIsRUFBRSxVQUFVLEVBQUUsRUFBRTtBQUNoQixFQUFFLE9BQU8sRUFBRSxLQUFLO0FBQ2hCLEVBQUUsYUFBYSxFQUFFO0FBQ2pCLENBQUM7QUFDRCxTQUFTLGdCQUFnQixDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUU7QUFDekMsRUFBRSxPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRTtBQUN2QixJQUFJLEtBQUssYUFBYTtBQUN0QixNQUFNLE9BQU8sRUFBRSxHQUFHLEtBQUssRUFBRSxPQUFPLEVBQUUsTUFBTSxDQUFDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxDQUFDO0FBQ2xFLElBQUksS0FBSyxzQkFBc0I7QUFDL0IsTUFBTSxPQUFPLEVBQUUsR0FBRyxLQUFLLEVBQUUsZUFBZSxFQUFFLE1BQU0sQ0FBQyxRQUFRLENBQUM7QUFDMUQsSUFBSSxLQUFLLGlCQUFpQjtBQUMxQixNQUFNLE9BQU8sRUFBRSxHQUFHLEtBQUssRUFBRSxVQUFVLEVBQUUsTUFBTSxDQUFDLFFBQVEsQ0FBQztBQUNyRCxJQUFJLEtBQUssYUFBYTtBQUN0QixNQUFNLE9BQU8sRUFBRSxHQUFHLEtBQUssRUFBRSxPQUFPLEVBQUUsTUFBTSxDQUFDLFFBQVEsQ0FBQztBQUNsRCxJQUFJLEtBQUssb0JBQW9CO0FBQzdC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QUFBO0FBQ0EsRUFBQTtBQUNBLEVBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLEVBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBQTtBQUNBLEVBQUE7QUFDQSxFQUFBO0FBQ0EsRUFBQTtBQUNBLEVBQUE7QUFDQTtBQUNBO0FBQ0EsRUFBQTtBQUNBLEVBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBLFFBQUE7QUFDQSxVQUFBO0FBQ0EsVUFBQTtBQUNBLFFBQUE7QUFDQSxNQUFBO0FBQ0EsUUFBQTtBQUNBLFVBQUE7QUFDQSxVQUFBO0FBQ0EsUUFBQTtBQUNBLE1BQUE7QUFDQSxRQUFBO0FBQ0EsVUFBQTtBQUNBLFVBQUE7QUFDQSxRQUFBO0FBQ0EsTUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLE1BQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBLElBQUE7QUFDQSxFQUFBO0FBQ0EsRUFBQTtBQUNBLElBQUE7QUFDQSxNQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxNQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxNQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxNQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBLFFBQUE7QUFDQSxVQUFBO0FBQ0EsUUFBQTtBQUNBLFVBQUE7QUFDQSxRQUFBO0FBQ0EsVUFBQTtBQUNBLFFBQUE7QUFDQSxVQUFBO0FBQ0EsUUFBQTtBQUNBLFFBQUE7QUFDQSxVQUFBO0FBQ0EsTUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsRUFBQTtBQUNBLEVBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLEVBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFBO0FBQ0EsRUFBQTtBQUNBLEVBQUE7QUFDQSxJQUFBO0FBQ0E7QUFDQSxNQUFBO0FBQ0EsUUFBQTtBQUNBO0FBQ0EsUUFBQTtBQUNBLFVBQUE7QUFDQSxVQUFBO0FBQ0EsVUFBQTtBQUNBLFFBQUE7QUFDQSxVQUFBO0FBQ0EsUUFBQTtBQUNBO0FBQ0EsUUFBQTtBQUNBLFVBQUE7QUFDQSxVQUFBO0FBQ0EsWUFBQTtBQUNBLFVBQUE7QUFDQSxVQUFBO0FBQ0EsWUFBQTtBQUNBLFlBQUE7QUFDQTtBQUNBLFVBQUE7QUFDQSxRQUFBO0FBQ0E7QUFDQSxRQUFBO0FBQ0EsVUFBQTtBQUNBLFVBQUE7QUFDQSxRQUFBO0FBQ0EsTUFBQTtBQUNBO0FBQ0EsTUFBQTtBQUNBLFFBQUE7QUFDQTtBQUNBLFFBQUE7QUFDQSxVQUFBO0FBQ0EsVUFBQTtBQUNBLFVBQUE7QUFDQTtBQUNBLFFBQUE7QUFDQTtBQUNBLFFBQUE7QUFDQSxVQUFBO0FBQ0EsUUFBQTtBQUNBLE1BQUE7QUFDQTtBQUNBLE1BQUE7QUFDQSxRQUFBO0FBQ0EsUUFBQTtBQUNBLE1BQUE7QUFDQTtBQUNBLE1BQUE7QUFDQSxRQUFBO0FBQ0E7QUFDQSxRQUFBO0FBQ0EsVUFBQTtBQUNBLFFBQUE7QUFDQSxNQUFBO0FBQ0E7QUFDQSxNQUFBO0FBQ0EsUUFBQTtBQUNBLFFBQUE7QUFDQTtBQUNBLFFBQUE7QUFDQSxVQUFBO0FBQ0EsUUFBQTtBQUNBLE1BQUE7QUFDQTtBQUNBLE1BQUE7QUFDQSxRQUFBO0FBQ0EsTUFBQTtBQUNBO0FBQ0EsTUFBQTtBQUNBLFFBQUE7QUFDQTtBQUNBLFFBQUE7QUFDQSxNQUFBO0FBQ0E7QUFDQSxNQUFBO0FBQ0EsUUFBQTtBQUNBLFVBQUE7QUFDQSxRQUFBO0FBQ0EsTUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsRUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLEVBQUE7QUFDQSxFQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsRUFBQTtBQUNBLEVBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLEVBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxFQUFBO0FBQ0EsRUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxFQUFBO0FBQ0EsRUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsRUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQTtBQUNBLEVBQUE7QUFDQSxFQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxFQUFBO0FBQ0EsRUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxFQUFBO0FBQ0EsRUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsRUFBQTtBQUNBLEVBQUE7QUFDQSxFQUFBO0FBQ0EsSUFBQTtBQUNBLE1BQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLEVBQUE7QUFDQSxFQUFBO0FBQ0EsSUFBQTtBQUNBLE1BQUE7QUFDQSxNQUFBO0FBQ0EsUUFBQTtBQUNBLE1BQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLEVBQUE7QUFDQSxFQUFBO0FBQ0EsSUFBQTtBQUNBLE1BQUE7QUFDQSxNQUFBO0FBQ0EsUUFBQTtBQUNBLE1BQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLEVBQUE7QUFDQSxFQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsTUFBQTtBQUNBLE1BQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBLE1BQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBLE1BQUE7QUFDQSxNQUFBO0FBQ0EsUUFBQTtBQUNBLFFBQUE7QUFDQSxRQUFBO0FBQ0EsUUFBQTtBQUNBLE1BQUE7QUFDQTtBQUNBLE1BQUE7QUFDQSxRQUFBO0FBQ0EsVUFBQTtBQUNBLFVBQUE7QUFDQSxRQUFBO0FBQ0EsTUFBQTtBQUNBLE1BQUE7QUFDQSxJQUFBO0FBQ0EsRUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsRUFBQTtBQUNBLEVBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLE1BQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBLE1BQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBLE1BQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBLE1BQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBLE1BQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBLElBQUE7QUFDQSxFQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsRUFBQTtBQUNBLEVBQUE7QUFDQSxJQUFBO0FBQ0EsTUFBQTtBQUNBLE1BQUE7QUFDQSxRQUFBO0FBQ0EsUUFBQTtBQUNBLE1BQUE7QUFDQSxJQUFBO0FBQ0EsRUFBQTtBQUNBLEVBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLE1BQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBLFFBQUE7QUFDQSxRQUFBO0FBQ0EsVUFBQTtBQUNBLFFBQUE7QUFDQSxNQUFBO0FBQ0EsSUFBQTtBQUNBLEVBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBQTtBQUNBLElBQUE7QUFDQSxFQUFBO0FBQ0EsRUFBQTtBQUNBLElBQUE7QUFDQSxFQUFBO0FBQ0EsRUFBQTtBQUNBLElBQUE7QUFDQSxNQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxNQUFBO0FBQ0EsSUFBQTtBQUNBLEVBQUE7QUFDQSxFQUFBO0FBQ0E7QUFDQTtBQUNBLEVBQUE7QUFDQSxJQUFBO0FBQ0EsRUFBQTtBQUNBLEVBQUE7QUFDQSxFQUFBO0FBQ0EsSUFBQTtBQUNBLEVBQUE7QUFDQSxFQUFBO0FBQ0EsRUFBQTtBQUNBO0FBQ0E7QUFDQSxFQUFBO0FBQ0EsSUFBQTtBQUNBLE1BQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLE1BQUE7QUFDQSxRQUFBO0FBQ0EsTUFBQTtBQUNBLE1BQUE7QUFDQSxRQUFBO0FBQ0EsUUFBQTtBQUNBLE1BQUE7QUFDQSxRQUFBO0FBQ0EsTUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsTUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsRUFBQTtBQUNBO0FBQ0E7QUFDQSxFQUFBO0FBQ0EsSUFBQTtBQUNBLE1BQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLE1BQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLE1BQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLE1BQUE7QUFDQSxRQUFBO0FBQ0EsVUFBQTtBQUNBLFFBQUE7QUFDQSxRQUFBO0FBQ0EsVUFBQTtBQUNBLFFBQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBLFFBQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBLFFBQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBLFFBQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBLElBQUE7QUFDQSxNQUFBO0FBQ0EsSUFBQTtBQUNBLEVBQUE7QUFDQTtBQUNBO0FBQ0EsRUFBQTtBQUNBO0FBQ0EsSUFBQTtBQUNBLE1BQUE7QUFDQSxRQUFBO0FBQ0EsTUFBQTtBQUNBLE1BQUE7QUFDQSxRQUFBO0FBQ0EsUUFBQTtBQUNBLE1BQUE7QUFDQSxJQUFBO0FBQ0E7QUFDQSxJQUFBO0FBQ0EsTUFBQTtBQUNBLElBQUE7QUFDQTtBQUNBLElBQUE7QUFDQSxNQUFBO0FBQ0EsUUFBQTtBQUNBLFFBQUE7QUFDQSxRQUFBO0FBQ0EsUUFBQTtBQUNBLE1BQUE7QUFDQSxJQUFBO0FBQ0EsRUFBQTtBQUNBO0FBQ0E7QUFDQSxFQUFBO0FBQ0EsSUFBQTtBQUNBLEVBQUE7QUFDQSxFQUFBO0FBQ0EsSUFBQTtBQUNBLEVBQUE7QUFDQSxFQUFBO0FBQ0EsSUFBQTtBQUNBLE1BQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLE1BQUE7QUFDQSxNQUFBO0FBQ0EsUUFBQTtBQUNBLFVBQUE7QUFDQSxRQUFBO0FBQ0EsVUFBQTtBQUNBLFFBQUE7QUFDQSxVQUFBO0FBQ0EsUUFBQTtBQUNBLFVBQUE7QUFDQSxRQUFBO0FBQ0EsVUFBQTtBQUNBLE1BQUE7QUFDQSxJQUFBO0FBQ0EsRUFBQTtBQUNBLEVBQUE7QUFDQTtBQUNBO0FBQ0EsRUFBQTtBQUNBLElBQUE7QUFDQSxNQUFBO0FBQ0EsUUFBQTtBQUNBLFFBQUE7QUFDQSxVQUFBO0FBQ0EsUUFBQTtBQUNBLFFBQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBLElBQUE7QUFDQSxFQUFBO0FBQ0EsSUFBQTtBQUNBLEVBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxFQUFBO0FBQ0EsRUFBQTtBQUNBLEVBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLE1BQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBLE1BQUE7QUFDQSxNQUFBO0FBQ0EsSUFBQTtBQUNBLEVBQUE7QUFDQSxFQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxFQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxFQUFBO0FBQ0EsRUFBQTtBQUNBLEVBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLE1BQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBLE1BQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBLFFBQUE7QUFDQSxRQUFBO0FBQ0EsVUFBQTtBQUNBLFFBQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBLFFBQUE7QUFDQSxRQUFBO0FBQ0EsVUFBQTtBQUNBLFFBQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBLFFBQUE7QUFDQSxVQUFBO0FBQ0EsUUFBQTtBQUNBLE1BQUE7QUFDQSxRQUFBO0FBQ0EsVUFBQTtBQUNBLFVBQUE7QUFDQSxZQUFBO0FBQ0EsWUFBQTtBQUNBLFVBQUE7QUFDQSxRQUFBO0FBQ0EsTUFBQTtBQUNBLE1BQUE7QUFDQSxNQUFBO0FBQ0EsSUFBQTtBQUNBLEVBQUE7QUFDQTtBQUNBO0FBQ0EsRUFBQTtBQUNBLEVBQUE7QUFDQTtBQUNBLEVBQUE7QUFDQSxJQUFBO0FBQ0EsTUFBQTtBQUNBLE1BQUE7QUFDQSxRQUFBO0FBQ0EsUUFBQTtBQUNBLE1BQUE7QUFDQSxJQUFBO0FBQ0EsRUFBQTtBQUNBLEVBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLEVBQUE7QUFDQSxFQUFBO0FBQ0EsRUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsRUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLEVBQUE7QUFDQSxFQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsTUFBQTtBQUNBLFFBQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBLFFBQUE7QUFDQSxVQUFBO0FBQ0EsUUFBQTtBQUNBLFFBQUE7QUFDQSxVQUFBO0FBQ0EsUUFBQTtBQUNBLFFBQUE7QUFDQSxNQUFBO0FBQ0EsSUFBQTtBQUNBLEVBQUE7QUFDQSxFQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsTUFBQTtBQUNBLElBQUE7QUFDQSxFQUFBO0FBQ0EsRUFBQTtBQUNBLElBQUE7QUFDQSxvQkFBQTtBQUNBLE1BQUE7QUFDQSxRQUFBO0FBQ0EsUUFBQTtBQUNBLFVBQUE7QUFDQSxVQUFBO0FBQ0EsWUFBQTtBQUNBLFlBQUE7QUFDQSxjQUFBO0FBQ0EsY0FBQTtBQUNBLGdCQUFBO0FBQ0EsY0FBQTtBQUNBLGNBQUE7QUFDQSxZQUFBO0FBQ0EsVUFBQTtBQUNBLFVBQUE7QUFDQSxVQUFBO0FBQ0EsUUFBQTtBQUNBLE1BQUE7QUFDQSxNQUFBO0FBQ0EsUUFBQTtBQUNBLFFBQUE7QUFDQSxRQUFBO0FBQ0EsUUFBQTtBQUNBLFVBQUE7QUFDQSxRQUFBO0FBQ0EsVUFBQTtBQUNBLFFBQUE7QUFDQSxRQUFBO0FBQ0EsUUFBQTtBQUNBLFVBQUE7QUFDQSxVQUFBO0FBQ0EsWUFBQTtBQUNBLFlBQUE7QUFDQSxjQUFBO0FBQ0EsY0FBQTtBQUNBLGdCQUFBO0FBQ0EsZ0JBQUE7QUFDQSxrQkFBQTtBQUNBLGdCQUFBO0FBQ0EsZ0JBQUE7QUFDQSxnQkFBQTtBQUNBLGNBQUE7QUFDQSxZQUFBO0FBQ0EsWUFBQTtBQUNBLFlBQUE7QUFDQSxVQUFBO0FBQ0EsVUFBQTtBQUNBLFFBQUE7QUFDQSxNQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxFQUFBO0FBQ0E7QUFDQTtBQUNBLEVBQUE7QUFDQSxFQUFBO0FBQ0E7QUFDQSxFQUFBO0FBQ0EsSUFBQTtBQUNBLE1BQUE7QUFDQSxNQUFBO0FBQ0EsUUFBQTtBQUNBLFFBQUE7QUFDQSxNQUFBO0FBQ0EsSUFBQTtBQUNBLEVBQUE7QUFDQSxFQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLEVBQUE7QUFDQSxFQUFBO0FBQ0EsRUFBQTtBQUNBLElBQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBLE1BQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLEVBQUE7QUFDQSxFQUFBO0FBQ0EsSUFBQTtBQUNBLE1BQUE7QUFDQSxNQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxFQUFBO0FBQ0EsRUFBQTtBQUNBLEVBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLEVBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLEVBQUE7QUFDQSxFQUFBO0FBQ0EsRUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsRUFBQTtBQUNBLEVBQUE7QUFDQSxFQUFBO0FBQ0EsRUFBQTtBQUNBLElBQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBLElBQUE7QUFDQSxFQUFBO0FBQ0EsRUFBQTtBQUNBLElBQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBLElBQUE7QUFDQSxNQUFBO0FBQ0EsUUFBQTtBQUNBLFFBQUE7QUFDQSxNQUFBO0FBQ0EsSUFBQTtBQUNBLEVBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxFQUFBO0FBQ0EsRUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsTUFBQTtBQUNBLE1BQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBLE1BQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBLE1BQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBLE1BQUE7QUFDQSxRQUFBO0FBQ0EsUUFBQTtBQUNBLFVBQUE7QUFDQSxRQUFBO0FBQ0EsTUFBQTtBQUNBLE1BQUE7QUFDQSxRQUFBO0FBQ0EsUUFBQTtBQUNBLFVBQUE7QUFDQSxRQUFBO0FBQ0EsTUFBQTtBQUNBLE1BQUE7QUFDQSxNQUFBO0FBQ0E7QUFDQSx3QkFBQTtBQUNBLFVBQUE7QUFDQSxVQUFBO0FBQ0EsWUFBQTtBQUNBLFlBQUE7QUFDQSxZQUFBO0FBQ0EsWUFBQTtBQUNBLFlBQUE7QUFDQSxZQUFBO0FBQ0EsWUFBQTtBQUNBLFlBQUE7QUFDQSxZQUFBO0FBQ0EsY0FBQTtBQUNBLGdCQUFBO0FBQ0EsY0FBQTtBQUNBLGNBQUE7QUFDQSxjQUFBO0FBQ0EsZ0JBQUE7QUFDQSxjQUFBO0FBQ0EsY0FBQTtBQUNBLFlBQUE7QUFDQSxVQUFBO0FBQ0EsUUFBQTtBQUNBLE1BQUE7QUFDQSxJQUFBO0FBQ0EsRUFBQTtBQUNBO0FBQ0E7QUFDQSxFQUFBO0FBQ0EsRUFBQTtBQUNBO0FBQ0EsRUFBQTtBQUNBLElBQUE7QUFDQSxFQUFBO0FBQ0EsRUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsRUFBQTtBQUNBLEVBQUE7QUFDQSxFQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxFQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxFQUFBO0FBQ0EsRUFBQTtBQUNBLEVBQUE7QUFDQSxJQUFBO0FBQ0EsTUFBQTtBQUNBLE1BQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLEVBQUE7QUFDQSxFQUFBO0FBQ0EsSUFBQTtBQUNBLE1BQUE7QUFDQSxNQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxFQUFBO0FBQ0EsRUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0Esb0JBQUE7QUFDQSxFQUFBO0FBQ0EsRUFBQTtBQUNBLElBQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBLE1BQUE7QUFDQSxJQUFBO0FBQ0EsRUFBQTtBQUNBLEVBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLEVBQUE7QUFDQSxFQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBLE1BQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBLE1BQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBLE1BQUE7QUFDQSxNQUFBO0FBQ0EsUUFBQTtBQUNBLFFBQUE7QUFDQSxVQUFBO0FBQ0EsVUFBQTtBQUNBLFVBQUE7QUFDQSxVQUFBO0FBQ0EsVUFBQTtBQUNBLFVBQUE7QUFDQSxVQUFBO0FBQ0EsVUFBQTtBQUNBLFVBQUE7QUFDQSxZQUFBO0FBQ0EsY0FBQTtBQUNBLFlBQUE7QUFDQSxZQUFBO0FBQ0EsWUFBQTtBQUNBLGNBQUE7QUFDQSxZQUFBO0FBQ0EsWUFBQTtBQUNBLFVBQUE7QUFDQSxRQUFBO0FBQ0EsTUFBQTtBQUNBLElBQUE7QUFDQSxFQUFBO0FBQ0E7QUFDQTtBQUNBLEVBQUE7QUFDQSxFQUFBO0FBQ0E7QUFDQSxFQUFBO0FBQ0EsSUFBQTtBQUNBLE1BQUE7QUFDQSxNQUFBO0FBQ0EsUUFBQTtBQUNBLFFBQUE7QUFDQSxNQUFBO0FBQ0EsSUFBQTtBQUNBLEVBQUE7QUFDQSxFQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxFQUFBO0FBQ0EsRUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsRUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsRUFBQTtBQUNBLEVBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLEVBQUE7QUFDQSxFQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxFQUFBO0FBQ0EsRUFBQTtBQUNBLEVBQUE7QUFDQSxJQUFBO0FBQ0EsTUFBQTtBQUNBLElBQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBLElBQUE7QUFDQSxFQUFBO0FBQ0EsRUFBQTtBQUNBLEVBQUE7QUFDQSxFQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBLE1BQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBLE1BQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBLE1BQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBLE1BQUE7QUFDQSxRQUFBO0FBQ0EsUUFBQTtBQUNBLFVBQUE7QUFDQSxRQUFBO0FBQ0EsTUFBQTtBQUNBLE1BQUE7QUFDQSxNQUFBO0FBQ0EsUUFBQTtBQUNBLFFBQUE7QUFDQSwwQkFBQTtBQUNBLFVBQUE7QUFDQSxRQUFBO0FBQ0EsTUFBQTtBQUNBLE1BQUE7QUFDQSxRQUFBO0FBQ0EsUUFBQTtBQUNBLFVBQUE7QUFDQSxVQUFBO0FBQ0EsVUFBQTtBQUNBLFVBQUE7QUFDQSxVQUFBO0FBQ0EsVUFBQTtBQUNBLFlBQUE7QUFDQSxjQUFBO0FBQ0EsY0FBQTtBQUNBLGdCQUFBO0FBQ0EsZ0JBQUE7QUFDQSxjQUFBO0FBQ0EsWUFBQTtBQUNBLFVBQUE7QUFDQSxVQUFBO0FBQ0EsVUFBQTtBQUNBLFlBQUE7QUFDQSxVQUFBO0FBQ0EsUUFBQTtBQUNBLE1BQUE7QUFDQSxNQUFBO0FBQ0EsSUFBQTtBQUNBLEVBQUE7QUFDQTtBQUNBO0FBQ0EsRUFBQTtBQUNBLEVBQUE7QUFDQTtBQUNBLEVBQUE7QUFDQSxJQUFBO0FBQ0EsRUFBQTtBQUNBLEVBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsRUFBQTtBQUNBLEVBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsRUFBQTtBQUNBLEVBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLEVBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLEVBQUE7QUFDQSxFQUFBO0FBQ0EsRUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLE1BQUE7QUFDQSxRQUFBO0FBQ0EsTUFBQTtBQUNBLE1BQUE7QUFDQSxRQUFBO0FBQ0EsUUFBQTtBQUNBLFVBQUE7QUFDQSxRQUFBO0FBQ0EsUUFBQTtBQUNBLFVBQUE7QUFDQSxRQUFBO0FBQ0EsUUFBQTtBQUNBLFVBQUE7QUFDQSxRQUFBO0FBQ0EsUUFBQTtBQUNBLE1BQUE7QUFDQSxJQUFBO0FBQ0EsRUFBQTtBQUNBLEVBQUE7QUFDQSxFQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBLE1BQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBLFFBQUE7QUFDQSxRQUFBO0FBQ0EsVUFBQTtBQUNBLFFBQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBLFFBQUE7QUFDQSxRQUFBO0FBQ0EsVUFBQTtBQUNBLFFBQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBLE1BQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBLE1BQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBLE1BQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBLE1BQUE7QUFDQSxNQUFBO0FBQ0EsUUFBQTtBQUNBLFFBQUE7QUFDQSxVQUFBO0FBQ0EsUUFBQTtBQUNBLFFBQUE7QUFDQSxRQUFBO0FBQ0EsTUFBQTtBQUNBLElBQUE7QUFDQSxFQUFBO0FBQ0E7QUFDQTtBQUNBLEVBQUE7QUFDQSxFQUFBO0FBQ0E7QUFDQSxFQUFBO0FBQ0EsSUFBQTtBQUNBLE1BQUE7QUFDQSxNQUFBO0FBQ0EsUUFBQTtBQUNBLFFBQUE7QUFDQSxNQUFBO0FBQ0EsSUFBQTtBQUNBLEVBQUE7QUFDQSxFQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLEVBQUE7QUFDQSxFQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLEVBQUE7QUFDQSxFQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxFQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsRUFBQTtBQUNBLEVBQUE7QUFDQSxFQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsTUFBQTtBQUNBLE1BQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxFQUFBO0FBQ0EsRUFBQTtBQUNBLEVBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLE1BQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBLE1BQUE7QUFDQSxNQUFBO0FBQ0EsUUFBQTtBQUNBLFFBQUE7QUFDQSxVQUFBO0FBQ0EsUUFBQTtBQUNBLE1BQUE7QUFDQSxNQUFBO0FBQ0EsUUFBQTtBQUNBLFFBQUE7QUFDQSxVQUFBO0FBQ0EsUUFBQTtBQUNBLE1BQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBLE1BQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBLE1BQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBLE1BQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBLE1BQUE7QUFDQSxRQUFBO0FBQ0EsUUFBQTtBQUNBLFVBQUE7QUFDQSxRQUFBO0FBQ0EsUUFBQTtBQUNBLFFBQUE7QUFDQSxNQUFBO0FBQ0EsSUFBQTtBQUNBLEVBQUE7QUFDQTtBQUNBO0FBQ0EsRUFBQTtBQUNBLEVBQUE7QUFDQTtBQUNBLEVBQUE7QUFDQSxJQUFBO0FBQ0EsTUFBQTtBQUNBLE1BQUE7QUFDQSxRQUFBO0FBQ0EsUUFBQTtBQUNBLE1BQUE7QUFDQSxJQUFBO0FBQ0EsRUFBQTtBQUNBLEVBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBQTtBQUNBLElBQUE7QUFDQSxNQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxFQUFBO0FBQ0EsRUFBQTtBQUNBO0FBQ0E7QUFDQSxFQUFBO0FBQ0EsRUFBQTtBQUNBLElBQUE7QUFDQSxNQUFBO0FBQ0EsUUFBQTtBQUNBLE1BQUE7QUFDQSxRQUFBO0FBQ0EsTUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsRUFBQTtBQUNBLEVBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLEVBQUE7QUFDQTtBQUNBO0FBQ0EsRUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLEVBQUE7QUFDQSxFQUFBO0FBQ0EsRUFBQTtBQUNBLEVBQUE7QUFDQSxFQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxFQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsRUFBQTtBQUNBLEVBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBLFFBQUE7QUFDQSxRQUFBO0FBQ0EsTUFBQTtBQUNBLElBQUE7QUFDQSxFQUFBO0FBQ0EsRUFBQTtBQUNBLEVBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLE1BQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBLE1BQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBLE1BQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBLFFBQUE7QUFDQSxRQUFBO0FBQ0EsVUFBQTtBQUNBLFFBQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBLFFBQUE7QUFDQSxRQUFBO0FBQ0EsVUFBQTtBQUNBLFFBQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBLFFBQUE7QUFDQSxVQUFBO0FBQ0EsUUFBQTtBQUNBLFFBQUE7QUFDQSxRQUFBO0FBQ0EsVUFBQTtBQUNBLFFBQUE7QUFDQSxRQUFBO0FBQ0EsTUFBQTtBQUNBLE1BQUE7QUFDQSxRQUFBO0FBQ0EsUUFBQTtBQUNBLFVBQUE7QUFDQSxRQUFBO0FBQ0EsUUFBQTtBQUNBLFVBQUE7QUFDQSxVQUFBO0FBQ0EsVUFBQTtBQUNBLFVBQUE7QUFDQSxVQUFBO0FBQ0EsWUFBQTtBQUNBLFlBQUE7QUFDQSxjQUFBO0FBQ0EsWUFBQTtBQUNBLFVBQUE7QUFDQSxVQUFBO0FBQ0EsVUFBQTtBQUNBLFVBQUE7QUFDQSxZQUFBO0FBQ0EsWUFBQTtBQUNBLFVBQUE7QUFDQSxRQUFBO0FBQ0EsTUFBQTtBQUNBLElBQUE7QUFDQSxFQUFBO0FBQ0E7QUFDQTtBQUNBLEVBQUE7QUFDQSxFQUFBO0FBQ0E7QUFDQSxFQUFBO0FBQ0EsSUFBQTtBQUNBLE1BQUE7QUFDQSxNQUFBO0FBQ0EsUUFBQTtBQUNBLFFBQUE7QUFDQSxNQUFBO0FBQ0EsSUFBQTtBQUNBLEVBQUE7QUFDQSxFQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwiZmlsZSI6IkQ6XFxQcm9qZWN0c1xcZ253ZWItbW9ub3JlcG9cXHBhY2thZ2VzXFx1aVxcZGlzdFxcY2h1bmstT1Q3Q09FN1IuY2pzIiwic291cmNlc0NvbnRlbnQiOltudWxsXX0=