@react-typed-forms/schemas 11.15.0 → 11.16.0

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.
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../src/types.ts","../src/util.ts","../src/schemaBuilder.ts","../src/controlBuilder.ts","../src/hooks.tsx","../src/validators.ts","../src/internal.ts","../src/schemaInterface.ts","../src/controlRender.tsx","../src/renderers.tsx","../src/tailwind.tsx","../src/components/DefaultDisplay.tsx","../src/components/DefaultLayout.tsx","../src/components/DefaultVisibility.tsx","../src/components/SelectDataRenderer.tsx","../src/components/DefaultDisplayOnly.tsx","../src/components/ControlInput.tsx","../src/components/DefaultArrayRenderer.tsx","../src/components/CheckRenderer.tsx","../src/components/DefaultAccordion.tsx","../src/components/NullToggle.tsx","../src/components/MultilineTextfield.tsx","../src/components/JsonataRenderer.tsx","../src/createDefaultRenderers.tsx","../src/createFormRenderer.tsx"],"sourcesContent":["import { Control } from \"@react-typed-forms/core\";\n\nexport interface SchemaField {\n type: string;\n field: string;\n displayName?: string | null;\n tags?: string[] | null;\n system?: boolean | null;\n collection?: boolean | null;\n onlyForTypes?: string[] | null;\n required?: boolean | null;\n notNullable?: boolean | null;\n defaultValue?: any;\n isTypeField?: boolean | null;\n searchable?: boolean | null;\n options?: FieldOption[] | null;\n validators?: SchemaValidator[] | null;\n}\n\nexport type SchemaMap = Record<string, SchemaField[]>;\n\nexport enum FieldType {\n String = \"String\",\n Bool = \"Bool\",\n Int = \"Int\",\n Date = \"Date\",\n DateTime = \"DateTime\",\n Time = \"Time\",\n Double = \"Double\",\n EntityRef = \"EntityRef\",\n Compound = \"Compound\",\n AutoId = \"AutoId\",\n Image = \"Image\",\n Any = \"Any\",\n}\n\nexport interface EntityRefField extends SchemaField {\n type: FieldType.EntityRef;\n entityRefType: string;\n parentField: string;\n}\n\nexport interface FieldOption {\n name: string;\n value: any;\n description?: string | null;\n disabled?: boolean | null;\n}\n\nexport interface CompoundField extends SchemaField {\n type: FieldType.Compound;\n children: SchemaField[];\n treeChildren?: boolean;\n schemaRef?: string;\n}\n\nexport type AnyControlDefinition =\n | DataControlDefinition\n | GroupedControlsDefinition\n | ActionControlDefinition\n | DisplayControlDefinition;\n\nexport enum ValidationMessageType {\n NotEmpty = \"NotEmpty\",\n MinLength = \"MinLength\",\n MaxLength = \"MaxLength\",\n NotAfterDate = \"NotAfterDate\",\n NotBeforeDate = \"NotBeforeDate\",\n}\nexport interface SchemaInterface {\n isEmptyValue(field: SchemaField, value: any): boolean;\n textValue(\n field: SchemaField,\n value: any,\n element?: boolean,\n ): string | undefined;\n controlLength(field: SchemaField, control: Control<any>): number;\n valueLength(field: SchemaField, value: any): number;\n getOptions(field: SchemaField): FieldOption[] | undefined | null;\n parseToMillis(field: SchemaField, v: string): number;\n validationMessageText(\n field: SchemaField,\n messageType: ValidationMessageType,\n actual: any,\n expected: any,\n ): string;\n}\nexport interface ControlDefinition {\n type: string;\n title?: string | null;\n styleClass?: string | null;\n layoutClass?: string | null;\n labelClass?: string | null;\n dynamic?: DynamicProperty[] | null;\n adornments?: ControlAdornment[] | null;\n children?: ControlDefinition[] | null;\n}\n\nexport enum ControlDefinitionType {\n Data = \"Data\",\n Group = \"Group\",\n Display = \"Display\",\n Action = \"Action\",\n}\n\nexport interface DynamicProperty {\n type: string;\n expr: EntityExpression;\n}\n\nexport enum DynamicPropertyType {\n Visible = \"Visible\",\n DefaultValue = \"DefaultValue\",\n Readonly = \"Readonly\",\n Disabled = \"Disabled\",\n Display = \"Display\",\n Style = \"Style\",\n LayoutStyle = \"LayoutStyle\",\n AllowedOptions = \"AllowedOptions\",\n Label = \"Label\",\n ActionData = \"ActionData\",\n}\n\nexport interface EntityExpression {\n type: string;\n}\n\nexport enum ExpressionType {\n Jsonata = \"Jsonata\",\n Data = \"Data\",\n DataMatch = \"FieldValue\",\n UserMatch = \"UserMatch\",\n NotEmpty = \"NotEmpty\",\n UUID = \"UUID\",\n}\n\nexport interface JsonataExpression extends EntityExpression {\n type: ExpressionType.Jsonata;\n expression: string;\n}\n\nexport interface DataExpression extends EntityExpression {\n type: ExpressionType.Data;\n field: string;\n}\n\nexport interface DataMatchExpression extends EntityExpression {\n type: ExpressionType.DataMatch;\n field: string;\n value: any;\n}\n\nexport interface NotEmptyExpression extends EntityExpression {\n type: ExpressionType.DataMatch;\n field: string;\n}\n\nexport interface UserMatchExpression extends EntityExpression {\n type: ExpressionType.UserMatch;\n userMatch: string;\n}\n\nexport interface ControlAdornment {\n type: string;\n}\n\nexport enum AdornmentPlacement {\n ControlStart = \"ControlStart\",\n ControlEnd = \"ControlEnd\",\n LabelStart = \"LabelStart\",\n LabelEnd = \"LabelEnd\",\n}\n\nexport enum ControlAdornmentType {\n Tooltip = \"Tooltip\",\n Accordion = \"Accordion\",\n HelpText = \"HelpText\",\n Icon = \"Icon\",\n SetField = \"SetField\",\n}\n\nexport interface IconAdornment extends ControlAdornment {\n type: ControlAdornmentType.Icon;\n iconClass: string;\n placement?: AdornmentPlacement | null;\n}\n\nexport interface TooltipAdornment extends ControlAdornment {\n type: ControlAdornmentType.Tooltip;\n tooltip: string;\n}\n\nexport interface AccordionAdornment extends ControlAdornment {\n type: ControlAdornmentType.Accordion;\n title: string;\n defaultExpanded: boolean;\n}\n\nexport interface HelpTextAdornment extends ControlAdornment {\n type: ControlAdornmentType.HelpText;\n helpText: string;\n placement?: AdornmentPlacement | null;\n}\n\nexport interface SetFieldAdornment extends ControlAdornment {\n type: ControlAdornmentType.SetField;\n field: string;\n defaultOnly?: boolean | null;\n expression?: EntityExpression;\n}\n\nexport interface DataControlDefinition extends ControlDefinition {\n type: ControlDefinitionType.Data;\n field: string;\n required?: boolean | null;\n renderOptions?: RenderOptions | null;\n defaultValue?: any;\n readonly?: boolean | null;\n disabled?: boolean | null;\n validators?: SchemaValidator[] | null;\n hideTitle?: boolean | null;\n dontClearHidden?: boolean | null;\n}\n\nexport interface RenderOptions {\n type: string;\n}\n\nexport enum DataRenderType {\n Standard = \"Standard\",\n Textfield = \"Textfield\",\n Radio = \"Radio\",\n HtmlEditor = \"HtmlEditor\",\n IconList = \"IconList\",\n CheckList = \"CheckList\",\n UserSelection = \"UserSelection\",\n Synchronised = \"Synchronised\",\n IconSelector = \"IconSelector\",\n DateTime = \"DateTime\",\n Checkbox = \"Checkbox\",\n Dropdown = \"Dropdown\",\n DisplayOnly = \"DisplayOnly\",\n Group = \"Group\",\n NullToggle = \"NullToggle\",\n Jsonata = \"Jsonata\",\n}\n\nexport interface TextfieldRenderOptions extends RenderOptions {\n type: DataRenderType.Textfield;\n placeholder?: string | null;\n multiline?: boolean | null;\n}\n\nexport interface RadioButtonRenderOptions extends RenderOptions {\n type: DataRenderType.Radio;\n}\n\nexport interface StandardRenderer extends RenderOptions {\n type: DataRenderType.Standard;\n}\n\nexport interface DataGroupRenderOptions extends RenderOptions {\n type: DataRenderType.Group;\n groupOptions?: GroupRenderOptions;\n}\n\nexport interface HtmlEditorRenderOptions extends RenderOptions {\n type: DataRenderType.HtmlEditor;\n allowImages: boolean;\n}\n\nexport interface DateTimeRenderOptions extends RenderOptions {\n type: DataRenderType.DateTime;\n format?: string | null;\n forceMidnight?: boolean;\n}\n\nexport interface IconListRenderOptions extends RenderOptions {\n type: DataRenderType.IconList;\n iconMappings: IconMapping[];\n}\n\nexport interface DisplayOnlyRenderOptions extends RenderOptions {\n type: DataRenderType.DisplayOnly;\n emptyText?: string | null;\n sampleText?: string | null;\n}\nexport interface IconMapping {\n value: string;\n materialIcon?: string | null;\n}\n\nexport interface JsonataRenderOptions extends RenderOptions {\n type: DataRenderType.Jsonata;\n expression: string;\n}\n\nexport interface CheckListRenderOptions extends RenderOptions {\n type: DataRenderType.CheckList;\n}\n\nexport interface SynchronisedRenderOptions extends RenderOptions {\n type: DataRenderType.Synchronised;\n fieldToSync: string;\n syncType: SyncTextType;\n}\n\nexport enum SyncTextType {\n Camel = \"Camel\",\n Snake = \"Snake\",\n Pascal = \"Pascal\",\n}\n\nexport interface UserSelectionRenderOptions extends RenderOptions {\n type: DataRenderType.UserSelection;\n noGroups: boolean;\n noUsers: boolean;\n}\n\nexport interface IconSelectionRenderOptions extends RenderOptions {\n type: DataRenderType.IconSelector;\n}\n\nexport interface GroupedControlsDefinition extends ControlDefinition {\n type: ControlDefinitionType.Group;\n compoundField?: string | null;\n groupOptions?: GroupRenderOptions;\n}\n\nexport interface GroupRenderOptions {\n type: string;\n hideTitle?: boolean | null;\n}\n\nexport enum GroupRenderType {\n Standard = \"Standard\",\n Grid = \"Grid\",\n Flex = \"Flex\",\n GroupElement = \"GroupElement\",\n}\n\nexport interface StandardGroupRenderer extends GroupRenderOptions {\n type: GroupRenderType.Standard;\n}\n\nexport interface FlexRenderer extends GroupRenderOptions {\n type: GroupRenderType.Flex;\n direction?: string | null;\n gap?: string | null;\n}\n\nexport interface GroupElementRenderer extends GroupRenderOptions {\n type: GroupRenderType.GroupElement;\n value: any;\n}\n\nexport interface GridRenderer extends GroupRenderOptions {\n type: GroupRenderType.Grid;\n columns?: number | null;\n}\n\nexport interface DisplayControlDefinition extends ControlDefinition {\n type: ControlDefinitionType.Display;\n displayData: DisplayData;\n}\n\nexport interface DisplayData {\n type: string;\n}\n\nexport enum DisplayDataType {\n Text = \"Text\",\n Html = \"Html\",\n Icon = \"Icon\",\n Custom = \"Custom\",\n}\nexport interface TextDisplay extends DisplayData {\n type: DisplayDataType.Text;\n text: string;\n}\n\nexport interface IconDisplay extends DisplayData {\n type: DisplayDataType.Icon;\n iconClass: string;\n}\n\nexport interface HtmlDisplay extends DisplayData {\n type: DisplayDataType.Html;\n html: string;\n}\n\nexport interface CustomDisplay extends DisplayData {\n type: DisplayDataType.Custom;\n customId: string;\n}\n\nexport interface ActionControlDefinition extends ControlDefinition {\n type: ControlDefinitionType.Action;\n actionId: string;\n actionData: string;\n}\n\nexport enum ValidatorType {\n Jsonata = \"Jsonata\",\n Date = \"Date\",\n Length = \"Length\",\n}\nexport interface SchemaValidator {\n type: string;\n}\n\nexport interface JsonataValidator extends SchemaValidator {\n type: ValidatorType.Jsonata;\n expression: string;\n}\n\nexport interface LengthValidator extends SchemaValidator {\n type: ValidatorType.Length;\n min?: number | null;\n max?: number | null;\n}\n\nexport enum DateComparison {\n NotBefore = \"NotBefore\",\n NotAfter = \"NotAfter\",\n}\n\nexport interface DateValidator extends SchemaValidator {\n type: ValidatorType.Date;\n comparison: DateComparison;\n fixedDate?: string | null;\n daysFromCurrent?: number | null;\n}\n\nexport function isDataControlDefinition(\n x: ControlDefinition,\n): x is DataControlDefinition {\n return x.type === ControlDefinitionType.Data;\n}\n\nexport function isGroupControlsDefinition(\n x: ControlDefinition,\n): x is GroupedControlsDefinition {\n return x.type === ControlDefinitionType.Group;\n}\n\nexport function isDisplayControlsDefinition(\n x: ControlDefinition,\n): x is DisplayControlDefinition {\n return x.type === ControlDefinitionType.Display;\n}\n\nexport function isActionControlsDefinition(\n x: ControlDefinition,\n): x is ActionControlDefinition {\n return x.type === ControlDefinitionType.Action;\n}\n\nexport interface ControlVisitor<A> {\n data(d: DataControlDefinition): A;\n group(d: GroupedControlsDefinition): A;\n display(d: DisplayControlDefinition): A;\n action(d: ActionControlDefinition): A;\n}\n\nexport function visitControlDefinition<A>(\n x: ControlDefinition,\n visitor: ControlVisitor<A>,\n defaultValue: (c: ControlDefinition) => A,\n): A {\n switch (x.type) {\n case ControlDefinitionType.Action:\n return visitor.action(x as ActionControlDefinition);\n case ControlDefinitionType.Data:\n return visitor.data(x as DataControlDefinition);\n case ControlDefinitionType.Display:\n return visitor.display(x as DisplayControlDefinition);\n case ControlDefinitionType.Group:\n return visitor.group(x as GroupedControlsDefinition);\n default:\n return defaultValue(x);\n }\n}\nexport function isGridRenderer(\n options: GroupRenderOptions,\n): options is GridRenderer {\n return options.type === GroupRenderType.Grid;\n}\n\nexport function isFlexRenderer(\n options: GroupRenderOptions,\n): options is FlexRenderer {\n return options.type === GroupRenderType.Flex;\n}\n\nexport function isDisplayOnlyRenderer(\n options: RenderOptions,\n): options is DisplayOnlyRenderOptions {\n return options.type === DataRenderType.DisplayOnly;\n}\n\nexport function isTextfieldRenderer(\n options: RenderOptions,\n): options is TextfieldRenderOptions {\n return options.type === DataRenderType.Textfield;\n}\n\nexport function isDataGroupRenderer(\n options: RenderOptions,\n): options is DataGroupRenderOptions {\n return options.type === DataRenderType.Group;\n}\n","import {\n CompoundField,\n ControlDefinition,\n ControlDefinitionType,\n DataControlDefinition,\n DataRenderType,\n DisplayOnlyRenderOptions,\n FieldOption,\n FieldType,\n GroupedControlsDefinition,\n isDataControlDefinition,\n isDisplayOnlyRenderer,\n isGroupControlsDefinition,\n SchemaField,\n SchemaInterface,\n visitControlDefinition,\n} from \"./types\";\nimport { MutableRefObject, useCallback, useRef } from \"react\";\nimport {\n Control,\n ControlChange,\n trackControlChange,\n} from \"@react-typed-forms/core\";\nimport clsx from \"clsx\";\n\nexport type JsonPath = string | number;\n\nexport interface DataContext {\n data: Control<any>;\n path: JsonPath[];\n}\n\nexport interface ControlDataContext extends DataContext {\n fields: SchemaField[];\n schemaInterface: SchemaInterface;\n}\nexport function applyDefaultValues(\n v: Record<string, any> | undefined,\n fields: SchemaField[],\n doneSet?: Set<Record<string, any>>,\n): any {\n if (!v) return defaultValueForFields(fields);\n if (doneSet && doneSet.has(v)) return v;\n doneSet ??= new Set();\n doneSet.add(v);\n const applyValue = fields.filter(\n (x) => isCompoundField(x) || !(x.field in v),\n );\n if (!applyValue.length) return v;\n const out = { ...v };\n applyValue.forEach((x) => {\n out[x.field] =\n x.field in v\n ? applyDefaultForField(v[x.field], x, fields, false, doneSet)\n : defaultValueForField(x);\n });\n return out;\n}\n\nexport function applyDefaultForField(\n v: any,\n field: SchemaField,\n parent: SchemaField[],\n notElement?: boolean,\n doneSet?: Set<Record<string, any>>,\n): any {\n if (field.collection && !notElement) {\n return ((v as any[]) ?? []).map((x) =>\n applyDefaultForField(x, field, parent, true, doneSet),\n );\n }\n if (isCompoundField(field)) {\n if (!v && !field.required) return v;\n return applyDefaultValues(\n v,\n field.treeChildren ? parent : field.children,\n doneSet,\n );\n }\n return defaultValueForField(field);\n}\n\nexport function defaultValueForFields(fields: SchemaField[]): any {\n return Object.fromEntries(\n fields.map((x) => [x.field, defaultValueForField(x)]),\n );\n}\n\nexport function defaultValueForField(\n sf: SchemaField,\n required?: boolean | null,\n forceNotNull?: boolean,\n): any {\n if (sf.defaultValue !== undefined) return sf.defaultValue;\n const isRequired = !!(required || sf.required);\n if (isCompoundField(sf)) {\n if (isRequired) {\n const childValue = defaultValueForFields(sf.children);\n return sf.collection ? [childValue] : childValue;\n }\n return sf.notNullable || forceNotNull\n ? sf.collection\n ? []\n : {}\n : undefined;\n }\n if (sf.collection) {\n return [];\n }\n return undefined;\n}\n\nexport function elementValueForField(sf: SchemaField): any {\n if (isCompoundField(sf)) {\n return defaultValueForFields(sf.children);\n }\n return sf.defaultValue;\n}\n\nexport function findScalarField(\n fields: SchemaField[],\n field: string,\n): SchemaField | undefined {\n return findField(fields, field);\n}\n\nexport function findCompoundField(\n fields: SchemaField[],\n field: string,\n): CompoundField | undefined {\n return findField(fields, field) as CompoundField | undefined;\n}\n\nexport function findField(\n fields: SchemaField[],\n field: string,\n): SchemaField | undefined {\n return fields.find((x) => x.field === field);\n}\n\nexport function isScalarField(sf: SchemaField): sf is SchemaField {\n return !isCompoundField(sf);\n}\n\nexport function isCompoundField(sf: SchemaField): sf is CompoundField {\n return sf.type === FieldType.Compound;\n}\n\nexport function isDataControl(\n c: ControlDefinition,\n): c is DataControlDefinition {\n return c.type === ControlDefinitionType.Data;\n}\n\nexport function isGroupControl(\n c: ControlDefinition,\n): c is GroupedControlsDefinition {\n return c.type === ControlDefinitionType.Group;\n}\n\nexport function fieldHasTag(field: SchemaField, tag: string) {\n return Boolean(field.tags?.includes(tag));\n}\n\nexport function fieldDisplayName(field: SchemaField) {\n return field.displayName ?? field.field;\n}\n\nexport function hasOptions(o: { options: FieldOption[] | undefined | null }) {\n return (o.options?.length ?? 0) > 0;\n}\n\nexport function defaultControlForField(sf: SchemaField): DataControlDefinition {\n if (isCompoundField(sf)) {\n return {\n type: ControlDefinitionType.Data,\n title: sf.displayName,\n field: sf.field,\n required: sf.required,\n children: sf.children.map(defaultControlForField),\n };\n } else if (isScalarField(sf)) {\n const htmlEditor = sf.tags?.includes(\"_HtmlEditor\");\n return {\n type: ControlDefinitionType.Data,\n title: sf.displayName,\n field: sf.field,\n required: sf.required,\n renderOptions: {\n type: htmlEditor ? DataRenderType.HtmlEditor : DataRenderType.Standard,\n },\n };\n }\n throw \"Unknown schema field\";\n}\nfunction findReferencedControl(\n field: string,\n control: ControlDefinition,\n): ControlDefinition | undefined {\n if (isDataControl(control) && field === control.field) return control;\n if (isGroupControl(control)) {\n if (control.compoundField)\n return field === control.compoundField ? control : undefined;\n return findReferencedControlInArray(field, control.children ?? []);\n }\n return undefined;\n}\n\nfunction findReferencedControlInArray(\n field: string,\n controls: ControlDefinition[],\n): ControlDefinition | undefined {\n for (const c of controls) {\n const ref = findReferencedControl(field, c);\n if (ref) return ref;\n }\n return undefined;\n}\n\nexport function findControlsForCompound(\n compound: CompoundField,\n definition: ControlDefinition,\n): ControlDefinition[] {\n if (\n isDataControlDefinition(definition) &&\n compound.field === definition.field\n ) {\n return [definition];\n }\n if (isGroupControlsDefinition(definition)) {\n if (definition.compoundField === compound.field) return [definition];\n return (\n definition.children?.flatMap((d) =>\n findControlsForCompound(compound, d),\n ) ?? []\n );\n }\n return [];\n}\n\nexport interface ControlGroupLookup {\n groups: ControlDefinition[];\n children: Record<string, ControlGroupLookup>;\n}\nexport function findCompoundGroups(\n fields: SchemaField[],\n controls: ControlDefinition[],\n): Record<string, ControlGroupLookup> {\n return Object.fromEntries(\n fields.filter(isCompoundField).map((cf) => {\n const groups = controls.flatMap((x) => findControlsForCompound(cf, x));\n return [\n cf.field,\n {\n groups: groups.concat(\n findNonDataGroups(groups.flatMap((x) => x.children ?? [])),\n ),\n children: findCompoundGroups(\n cf.children,\n groups.flatMap((x) => x.children ?? []),\n ),\n },\n ];\n }),\n );\n}\n\nexport function existsInGroups(\n field: SchemaField,\n lookup: ControlGroupLookup,\n): [SchemaField, ControlGroupLookup][] {\n const itself = lookup.groups.find((c) =>\n c.children?.find(\n (x) =>\n (isDataControlDefinition(x) && x.field === field.field) ||\n (isGroupControlsDefinition(x) && x.compoundField === field.field),\n ),\n );\n if (!itself) return [[field, lookup]];\n if (isCompoundField(field)) {\n const childLookup = lookup.children[field.field];\n if (!childLookup) return [[field, lookup]];\n return field.children.flatMap((c) => existsInGroups(c, childLookup));\n }\n return [];\n}\n\nexport function findNonDataGroups(\n controls: ControlDefinition[],\n): ControlDefinition[] {\n return controls.flatMap((control) =>\n isGroupControlsDefinition(control) && !control.compoundField\n ? [control, ...findNonDataGroups(control.children ?? [])]\n : [],\n );\n}\n\nfunction cloneChildren(c: ControlDefinition): ControlDefinition {\n if (c.children) return { ...c, children: c.children?.map(cloneChildren) };\n return c;\n}\n\nexport function addMissingControls(\n fields: SchemaField[],\n controls: ControlDefinition[],\n) {\n controls = controls.map(cloneChildren);\n const rootMapping = findCompoundGroups(fields, controls);\n const rootGroups = findNonDataGroups([\n {\n type: ControlDefinitionType.Group,\n children: controls,\n },\n ]);\n const rootLookup = { children: rootMapping, groups: rootGroups };\n const missingFields = fields\n .filter((x) => !fieldHasTag(x, \"_NoControl\"))\n .flatMap((x) => existsInGroups(x, rootLookup));\n missingFields.forEach(([f, lookup]) => {\n const groupToAdd = f.tags?.find((x) => x.startsWith(\"_ControlGroup:\"));\n let insertGroup: ControlDefinition | undefined = undefined;\n if (groupToAdd) {\n const groupName = groupToAdd.substring(14);\n insertGroup = lookup.groups.find((x) => x.title === groupName);\n }\n if (!insertGroup) insertGroup = lookup.groups[0];\n insertGroup?.children?.push(defaultControlForField(f));\n });\n return controls;\n}\nexport function useUpdatedRef<A>(a: A): MutableRefObject<A> {\n const r = useRef(a);\n r.current = a;\n return r;\n}\n\nexport function isControlReadonly(c: ControlDefinition): boolean {\n return isDataControl(c) && !!c.readonly;\n}\n\nexport function isControlDisabled(c: ControlDefinition): boolean {\n return isDataControl(c) && !!c.disabled;\n}\n\nexport function getDisplayOnlyOptions(\n d: ControlDefinition,\n): DisplayOnlyRenderOptions | undefined {\n return isDataControlDefinition(d) &&\n d.renderOptions &&\n isDisplayOnlyRenderer(d.renderOptions)\n ? d.renderOptions\n : undefined;\n}\n\nexport function getTypeField(\n context: ControlDataContext,\n fieldPath: SchemaField[],\n): Control<string> | undefined {\n const withoutLast = fieldPath.slice(0, -1);\n const fieldList =\n withoutLast.length > 0\n ? (withoutLast.at(-1) as CompoundField).children\n : context.fields;\n const typeSchemaField = fieldList.find((x) => x.isTypeField);\n return typeSchemaField\n ? lookupChildControl(context, [...withoutLast, typeSchemaField])\n : undefined;\n}\n\nexport function visitControlDataArray<A>(\n controls: ControlDefinition[] | undefined | null,\n context: ControlDataContext,\n cb: (\n definition: DataControlDefinition,\n field: SchemaField,\n control: Control<any>,\n element: boolean,\n ) => A | undefined,\n): A | undefined {\n if (!controls) return undefined;\n for (const c of controls) {\n const r = visitControlData(c, context, cb);\n if (r !== undefined) return r;\n }\n return undefined;\n}\n\nexport function visitControlData<A>(\n definition: ControlDefinition,\n ctx: ControlDataContext,\n cb: (\n definition: DataControlDefinition,\n field: SchemaField,\n control: Control<any>,\n element: boolean,\n ) => A | undefined,\n): A | undefined {\n return visitControlDefinition<A | undefined>(\n definition,\n {\n data(def: DataControlDefinition) {\n return processData(def, def.field, def.children);\n },\n group(d: GroupedControlsDefinition) {\n return processData(undefined, d.compoundField, d.children);\n },\n action: () => undefined,\n display: () => undefined,\n },\n () => undefined,\n );\n\n function processData(\n def: DataControlDefinition | undefined,\n fieldName: string | undefined | null,\n children: ControlDefinition[] | null | undefined,\n ) {\n const fieldData = fieldName ? findField(ctx.fields, fieldName) : undefined;\n if (!fieldData)\n return !fieldName ? visitControlDataArray(children, ctx, cb) : undefined;\n\n const thisPath = [...ctx.path, fieldData.field];\n const control = ctx.data.lookupControl(thisPath);\n if (!control) return undefined;\n const result = def ? cb(def, fieldData, control, false) : undefined;\n if (result !== undefined) return result;\n const compound = isCompoundField(fieldData);\n if (fieldData.collection) {\n let cIndex = 0;\n for (const c of control!.elements ?? []) {\n const elemResult = def ? cb(def, fieldData, c, true) : undefined;\n if (elemResult !== undefined) return elemResult;\n if (compound) {\n const cfResult = visitControlDataArray(\n children,\n {\n ...ctx,\n fields: fieldData.children,\n path: [...thisPath, cIndex],\n },\n cb,\n );\n if (cfResult !== undefined) return cfResult;\n }\n cIndex++;\n }\n } else if (compound) {\n return visitControlDataArray(\n children,\n {\n ...ctx,\n fields: fieldData.children,\n path: thisPath,\n },\n cb,\n );\n }\n return undefined;\n }\n}\n\nexport function lookupChildControl(\n data: DataContext,\n path: SchemaField[],\n element?: number,\n): Control<any> | undefined {\n const fieldPath = path.map((x) => x.field);\n return lookupChildControlPath(\n data,\n element == null ? fieldPath : [...fieldPath, element],\n );\n}\n\nexport function lookupChildControlPath(\n data: DataContext,\n jsonPath: JsonPath[],\n): Control<any> | undefined {\n const childPath = [...data.path, ...jsonPath];\n return watchControlLookup(data.data, childPath);\n}\n\nexport function cleanDataForSchema(\n v: { [k: string]: any } | undefined,\n fields: SchemaField[],\n removeIfDefault?: boolean,\n): any {\n if (!v) return v;\n const typeField = fields.find((x) => x.isTypeField);\n if (!typeField) return v;\n const typeValue = v[typeField.field];\n const cleanableFields = !removeIfDefault\n ? fields.filter(\n (x) => isCompoundField(x) || (x.onlyForTypes?.length ?? 0) > 0,\n )\n : fields;\n if (!cleanableFields.length) return v;\n const out = { ...v };\n cleanableFields.forEach((x) => {\n const childValue = v[x.field];\n if (\n x.onlyForTypes?.includes(typeValue) === false ||\n (!x.notNullable && canBeNull())\n ) {\n delete out[x.field];\n return;\n }\n if (isCompoundField(x)) {\n const childFields = x.treeChildren ? fields : x.children;\n if (x.collection) {\n if (Array.isArray(childValue)) {\n out[x.field] = childValue.map((cv) =>\n cleanDataForSchema(cv, childFields, removeIfDefault),\n );\n }\n } else {\n out[x.field] = cleanDataForSchema(\n childValue,\n childFields,\n removeIfDefault,\n );\n }\n }\n function canBeNull() {\n return (\n (removeIfDefault && x.defaultValue === childValue) ||\n (x.collection && Array.isArray(childValue) && !childValue.length)\n //|| (x.type === FieldType.Bool && childValue === false)\n );\n }\n });\n return out;\n}\n\nexport function getAllReferencedClasses(\n c: ControlDefinition,\n collectExtra?: (c: ControlDefinition) => (string | undefined | null)[],\n): string[] {\n const childClasses = c.children?.flatMap((x) =>\n getAllReferencedClasses(x, collectExtra),\n );\n const tc = clsx(\n [\n c.styleClass,\n c.layoutClass,\n c.labelClass,\n ...(collectExtra?.(c) ?? []),\n ].map(getOverrideClass),\n );\n if (childClasses && !tc) return childClasses;\n if (!tc) return [];\n if (childClasses) return [tc, ...childClasses];\n return [tc];\n}\n\nexport function jsonPathString(\n jsonPath: JsonPath[],\n customIndex?: (n: number) => string,\n) {\n let out = \"\";\n jsonPath.forEach((v, i) => {\n if (typeof v === \"number\") {\n out += customIndex?.(v) ?? \"[\" + v + \"]\";\n } else {\n if (i > 0) out += \".\";\n out += v;\n }\n });\n return out;\n}\n\nexport function findChildDefinition(\n parent: ControlDefinition,\n childPath: number | number[],\n): ControlDefinition {\n if (Array.isArray(childPath)) {\n let base = parent;\n childPath.forEach((x) => (base = base.children![x]));\n return base;\n }\n return parent.children![childPath];\n}\n\nexport function getOverrideClass(className?: string | null) {\n if (className && className.startsWith(\"@ \")) {\n return className.substring(2);\n }\n return className;\n}\n\nexport function rendererClass(\n controlClass?: string | null,\n globalClass?: string | null,\n) {\n const oc = getOverrideClass(controlClass);\n if (oc === controlClass) return clsx(controlClass, globalClass);\n return oc ? oc : undefined;\n}\n\nexport function watchControlLookup(\n base: Control<any> | undefined,\n path: (string | number)[],\n): Control<any> | undefined {\n let index = 0;\n while (index < path.length && base) {\n const childId = path[index];\n const c = base.current;\n if (typeof childId === \"string\") {\n const next = c.fields?.[childId];\n if (!next) trackControlChange(base, ControlChange.Structure);\n base = next;\n } else {\n base = c.elements?.[childId];\n }\n index++;\n }\n return base;\n}\n\nexport type HookDep = string | number | undefined | null;\n\nexport interface DynamicHookGenerator<A, P> {\n deps: HookDep;\n state: any;\n runHook(ctx: P, state: any): A;\n}\n\nexport function makeHook<A, P, S = undefined>(\n runHook: (ctx: P, state: S) => A,\n state: S,\n deps?: HookDep,\n): DynamicHookGenerator<A, P> {\n return { deps, state, runHook };\n}\n\nexport type DynamicHookValue<A> =\n A extends DynamicHookGenerator<infer V, any> ? V : never;\n\nexport function makeHookDepString<A>(\n deps: A[],\n asHookDep: (a: A) => HookDep,\n): string {\n return deps.map((x) => toDepString(asHookDep(x))).join(\",\");\n}\nexport function useDynamicHooks<\n P,\n Hooks extends Record<string, DynamicHookGenerator<any, P>>,\n>(\n hooks: Hooks,\n): (p: P) => {\n [K in keyof Hooks]: DynamicHookValue<Hooks[K]>;\n} {\n const hookEntries = Object.entries(hooks);\n const deps = makeHookDepString(hookEntries, (x) => x[1].deps);\n const ref = useRef<Record<string, any>>({});\n const s = ref.current;\n hookEntries.forEach((x) => (s[x[0]] = x[1].state));\n return useCallback(\n (p: P) => {\n return Object.fromEntries(\n hookEntries.map(([f, hg]) => [f, hg.runHook(p, ref.current[f])]),\n ) as any;\n },\n [deps],\n );\n}\n\nexport function toDepString(x: any): string {\n if (x === undefined) return \"_\";\n if (x === null) return \"~\";\n return x.toString();\n}\n\nexport function appendElementIndex(\n dataContext: ControlDataContext,\n elementIndex: number,\n): ControlDataContext {\n return { ...dataContext, path: [...dataContext.path, elementIndex] };\n}\n\nexport function applyLengthRestrictions<Min, Max>(\n length: number,\n min: number | null | undefined,\n max: number | null | undefined,\n minValue: Min,\n maxValue: Max,\n): [Min | undefined, Max | undefined] {\n return [\n min == null || length > min ? minValue : undefined,\n max == null || length < max ? maxValue : undefined,\n ];\n}\n\nexport function findFieldPath(\n fields: SchemaField[],\n fieldPath: string | undefined,\n): SchemaField[] | undefined {\n if (!fieldPath) return undefined;\n const fieldNames = fieldPath.split(\"/\");\n const foundFields: SchemaField[] = [];\n let i = 0;\n let currentFields: SchemaField[] | undefined = fields;\n while (i < fieldNames.length && currentFields) {\n const cf = fieldNames[i];\n const nextField = findField(currentFields, cf);\n if (!nextField) return undefined;\n foundFields.push(nextField);\n currentFields =\n isCompoundField(nextField) && !nextField.collection\n ? nextField.children\n : undefined;\n i++;\n }\n return foundFields.length === fieldNames.length ? foundFields : undefined;\n}\n","import {\n CompoundField,\n FieldOption,\n FieldType,\n SchemaField,\n SchemaMap,\n} from \"./types\";\nimport { isCompoundField } from \"./util\";\n\ntype AllowedSchema<T> = T extends string\n ? SchemaField & {\n type:\n | FieldType.String\n | FieldType.Date\n | FieldType.DateTime\n | FieldType.Time;\n }\n : T extends number\n ? SchemaField & {\n type: FieldType.Int | FieldType.Double;\n }\n : T extends boolean\n ? SchemaField & {\n type: FieldType.Bool;\n }\n : T extends Array<infer E>\n ? AllowedSchema<E> & {\n collection: true;\n }\n : T extends { [key: string]: any }\n ? CompoundField & {\n type: FieldType.Compound;\n }\n : SchemaField & { type: FieldType.Any };\n\ntype AllowedField<T, K> = (\n name: string,\n) => (SchemaField & { type: K }) | AllowedSchema<T>;\n\nexport function buildSchema<T, Custom = \"\">(def: {\n [K in keyof T]-?: AllowedField<T[K], Custom>;\n}): SchemaField[] {\n return Object.entries(def).map((x) =>\n (x[1] as (n: string) => SchemaField)(x[0]),\n );\n}\n\nexport function stringField(\n displayName: string,\n options?: Partial<Omit<SchemaField, \"type\">>,\n) {\n return makeScalarField({\n type: FieldType.String as const,\n displayName,\n ...options,\n });\n}\n\nexport function stringOptionsField(\n displayName: string,\n ...options: FieldOption[]\n) {\n return makeScalarField({\n type: FieldType.String as const,\n displayName,\n options,\n });\n}\n\nexport function withScalarOptions<\n S extends SchemaField,\n S2 extends Partial<SchemaField>,\n>(options: S2, v: (name: string) => S): (name: string) => S & S2 {\n return (n) => ({ ...v(n), ...options });\n}\n\nexport function makeScalarField<S extends Partial<SchemaField>>(\n options: S,\n): (name: string) => SchemaField & S {\n return (n) => ({ ...defaultScalarField(n, n), ...options });\n}\n\nexport function makeCompoundField<S extends Partial<CompoundField>>(\n options: S,\n): (name: string) => CompoundField & {\n type: FieldType.Compound;\n} & S {\n return (n) => ({ ...defaultCompoundField(n, n, false), ...options });\n}\n\nexport function intField<S extends Partial<SchemaField>>(\n displayName: string,\n options?: S,\n) {\n return makeScalarField({\n type: FieldType.Int as const,\n displayName,\n ...(options as S),\n });\n}\n\nexport function doubleField<S extends Partial<SchemaField>>(\n displayName: string,\n options?: S,\n) {\n return makeScalarField({\n type: FieldType.Double as const,\n displayName,\n ...(options as S),\n });\n}\n\nexport function dateField<S extends Partial<SchemaField>>(\n displayName: string,\n options?: S,\n) {\n return makeScalarField({\n type: FieldType.Date as const,\n displayName,\n ...(options as S),\n });\n}\n\nexport function timeField<S extends Partial<SchemaField>>(\n displayName: string,\n options?: S,\n) {\n return makeScalarField({\n type: FieldType.Time as const,\n displayName,\n ...(options as S),\n });\n}\n\nexport function dateTimeField<S extends Partial<SchemaField>>(\n displayName: string,\n options?: S,\n) {\n return makeScalarField({\n type: FieldType.DateTime as const,\n displayName,\n ...(options as S),\n });\n}\n\nexport function boolField<S extends Partial<SchemaField>>(\n displayName: string,\n options?: S,\n) {\n return makeScalarField({\n type: FieldType.Bool as const,\n displayName,\n ...(options as S),\n });\n}\n\nexport function compoundField<\n Other extends Partial<Omit<CompoundField, \"type\" | \"schemaType\">>,\n>(\n displayName: string,\n fields: SchemaField[],\n other?: Other,\n): (name: string) => CompoundField & {\n collection: Other[\"collection\"];\n} {\n return (field) =>\n ({\n ...defaultCompoundField(field, displayName, false),\n ...other,\n children: fields,\n }) as any;\n}\n\nexport function defaultScalarField(\n field: string,\n displayName: string,\n): Omit<SchemaField, \"type\"> & {\n type: FieldType.String;\n} {\n return {\n field,\n displayName,\n type: FieldType.String,\n };\n}\n\nexport function defaultCompoundField(\n field: string,\n displayName: string,\n collection: boolean,\n): CompoundField & {\n type: FieldType.Compound;\n} {\n return {\n field,\n displayName,\n type: FieldType.Compound,\n collection,\n children: [],\n };\n}\n\nexport function mergeField(\n field: SchemaField,\n mergeInto: SchemaField[],\n): SchemaField[] {\n const existing = mergeInto.find((x) => x.field === field.field);\n if (existing) {\n return mergeInto.map((x) =>\n x !== existing\n ? x\n : {\n ...x,\n onlyForTypes: mergeTypes(x.onlyForTypes, field.onlyForTypes),\n },\n );\n }\n return [...mergeInto, field];\n\n function mergeTypes(f?: string[] | null, s?: string[] | null) {\n if (!f) return s;\n if (!s) return f;\n const extras = s.filter((x) => !f.includes(x));\n return extras.length ? [...f, ...extras] : f;\n }\n}\n\nexport function mergeFields(\n fields: SchemaField[],\n name: string,\n value: any,\n newFields: SchemaField[],\n): SchemaField[] {\n const withType = fields.map((x) =>\n x.isTypeField ? addFieldOption(x, name, value) : x,\n );\n return newFields\n .map((x) => ({ ...x, onlyForTypes: [value] }))\n .reduce((af, x) => mergeField(x, af), withType);\n}\n\nexport function addFieldOption(\n typeField: SchemaField,\n name: string,\n value: any,\n): SchemaField {\n const options = typeField.options ?? [];\n if (options.some((x) => x.value === value)) return typeField;\n return {\n ...typeField,\n options: [...options, { name, value }],\n };\n}\n\nexport function resolveSchemas<A extends SchemaMap>(schemaMap: A): A {\n const out: SchemaMap = {};\n function resolveSchemaType(type: string) {\n if (type in out) {\n return out[type];\n }\n const resolvedFields: SchemaField[] = [];\n out[type] = resolvedFields;\n schemaMap[type].forEach((x) => {\n if (isCompoundField(x) && x.schemaRef) {\n resolvedFields.push({\n ...x,\n children: resolveSchemaType(x.schemaRef),\n } as CompoundField);\n } else {\n resolvedFields.push(x);\n }\n });\n return resolvedFields;\n }\n Object.keys(schemaMap).forEach(resolveSchemaType);\n return out as A;\n}\n","import {\n ControlDefinition,\n ControlDefinitionType,\n DataControlDefinition,\n DataMatchExpression,\n DisplayControlDefinition,\n DisplayDataType,\n DynamicProperty,\n DynamicPropertyType,\n EntityExpression,\n ExpressionType,\n GroupedControlsDefinition,\n GroupRenderType,\n HtmlDisplay,\n JsonataExpression,\n SchemaField,\n SchemaMap,\n TextDisplay,\n} from \"./types\";\nimport { ActionRendererProps } from \"./controlRender\";\nimport { useMemo } from \"react\";\nimport { addMissingControls, isCompoundField } from \"./util\";\nimport { mergeFields, resolveSchemas } from \"./schemaBuilder\";\n\nexport function dataControl(\n field: string,\n title?: string | null,\n options?: Partial<DataControlDefinition>,\n): DataControlDefinition {\n return { type: ControlDefinitionType.Data, field, title, ...options };\n}\n\nexport function textDisplayControl(\n text: string,\n options?: Partial<DisplayControlDefinition>,\n): DisplayControlDefinition {\n return {\n type: ControlDefinitionType.Display,\n displayData: { type: DisplayDataType.Text, text } as TextDisplay,\n ...options,\n };\n}\n\nexport function htmlDisplayControl(\n html: string,\n options?: Partial<DisplayControlDefinition>,\n): DisplayControlDefinition {\n return {\n type: ControlDefinitionType.Display,\n displayData: { type: DisplayDataType.Html, html } as HtmlDisplay,\n ...options,\n };\n}\n\nexport function dynamicDefaultValue(expr: EntityExpression): DynamicProperty {\n return { type: DynamicPropertyType.DefaultValue, expr };\n}\n\nexport function dynamicReadonly(expr: EntityExpression): DynamicProperty {\n return { type: DynamicPropertyType.Readonly, expr };\n}\n\nexport function dynamicVisibility(expr: EntityExpression): DynamicProperty {\n return { type: DynamicPropertyType.Visible, expr };\n}\n\nexport function dynamicDisabled(expr: EntityExpression): DynamicProperty {\n return { type: DynamicPropertyType.Disabled, expr };\n}\n\nexport function fieldEqExpr(field: string, value: any): DataMatchExpression {\n return { type: ExpressionType.DataMatch, field, value };\n}\nexport function jsonataExpr(expression: string): JsonataExpression {\n return { type: ExpressionType.Jsonata, expression };\n}\n\nexport function groupedControl(\n children: ControlDefinition[],\n title?: string,\n options?: Partial<GroupedControlsDefinition>,\n): GroupedControlsDefinition {\n return {\n type: ControlDefinitionType.Group,\n children,\n title,\n groupOptions: { type: \"Standard\", hideTitle: !title },\n ...options,\n };\n}\nexport function compoundControl(\n field: string,\n title: string | undefined,\n children: ControlDefinition[],\n options?: Partial<DataControlDefinition>,\n): DataControlDefinition {\n return {\n type: ControlDefinitionType.Data,\n field,\n children,\n title,\n renderOptions: { type: \"Standard\" },\n ...options,\n };\n}\n\nexport function createAction(\n actionId: string,\n onClick: () => void,\n actionText?: string,\n): ActionRendererProps {\n return { actionId, onClick, actionText: actionText ?? actionId };\n}\n\nexport const emptyGroupDefinition: GroupedControlsDefinition = {\n type: ControlDefinitionType.Group,\n children: [],\n groupOptions: { type: GroupRenderType.Standard, hideTitle: true },\n};\n\nexport function useControlDefinitionForSchema(\n sf: SchemaField[],\n definition: GroupedControlsDefinition = emptyGroupDefinition,\n): GroupedControlsDefinition {\n return useMemo<GroupedControlsDefinition>(\n () => ({\n ...definition,\n children: addMissingControls(sf, definition.children ?? []),\n }),\n [sf, definition],\n );\n}\n\nexport interface EditorGroup {\n parent: string;\n group: GroupedControlsDefinition;\n}\n\nexport interface CustomRenderOptions {\n value: string;\n name: string;\n fields?: SchemaField[];\n groups?: EditorGroup[];\n}\n\nexport type ControlDefinitionExtension = {\n RenderOptions?: CustomRenderOptions | CustomRenderOptions[];\n GroupRenderOptions?: CustomRenderOptions | CustomRenderOptions[];\n ControlAdornment?: CustomRenderOptions | CustomRenderOptions[];\n SchemaValidator?: CustomRenderOptions | CustomRenderOptions[];\n DisplayData?: CustomRenderOptions | CustomRenderOptions[];\n};\n\nexport function applyExtensionToSchema<A extends SchemaMap>(\n schemaMap: A,\n extension: ControlDefinitionExtension,\n): A {\n const outMap = { ...schemaMap };\n Object.entries(extension).forEach(([field, cro]) => {\n outMap[field as keyof A] = (Array.isArray(cro) ? cro : [cro]).reduce(\n (a, cr) => mergeFields(a, cr.name, cr.value, cr.fields ?? []),\n outMap[field],\n ) as A[string];\n });\n return outMap;\n}\n\nexport function applyExtensionsToSchema<A extends SchemaMap>(\n schemaMap: A,\n extensions: ControlDefinitionExtension[],\n) {\n return resolveSchemas(extensions.reduce(applyExtensionToSchema, schemaMap));\n}\n","import {\n ControlDefinition,\n DataExpression,\n DataMatchExpression,\n DynamicPropertyType,\n EntityExpression,\n ExpressionType,\n isDataControlDefinition,\n JsonataExpression,\n NotEmptyExpression,\n SchemaField,\n SchemaInterface,\n} from \"./types\";\nimport React, { useEffect, useMemo, useRef } from \"react\";\nimport {\n addAfterChangesCallback,\n collectChanges,\n Control,\n makeChangeTracker,\n trackedValue,\n useCalculatedControl,\n useComputed,\n useControl,\n useRefState,\n} from \"@react-typed-forms/core\";\n\nimport {\n ControlDataContext,\n DataContext,\n defaultValueForField,\n DynamicHookGenerator,\n elementValueForField,\n findFieldPath,\n getDisplayOnlyOptions,\n getTypeField,\n HookDep,\n isControlDisabled,\n isControlReadonly,\n jsonPathString,\n lookupChildControl,\n lookupChildControlPath,\n toDepString,\n} from \"./util\";\nimport jsonata from \"jsonata\";\nimport { v4 as uuidv4 } from \"uuid\";\n\nexport type EvalExpressionHook<A = any> = DynamicHookGenerator<\n Control<A | undefined>,\n ControlDataContext\n>;\n\nexport type UseEvalExpressionHook = (\n expr: EntityExpression | undefined,\n coerce: (v: any) => any,\n) => DynamicHookGenerator<Control<any> | undefined, ControlDataContext>;\n\nexport function useEvalVisibilityHook(\n useEvalExpressionHook: UseEvalExpressionHook,\n definition: ControlDefinition,\n fieldPath?: SchemaField[],\n): EvalExpressionHook<boolean> {\n const dynamicVisibility = useEvalDynamicBoolHook(\n definition,\n DynamicPropertyType.Visible,\n useEvalExpressionHook,\n );\n return makeDynamicPropertyHook(\n dynamicVisibility,\n (ctx, { fieldPath, definition }) =>\n useComputed(() => {\n return (\n matchesType(ctx, fieldPath) &&\n (!fieldPath ||\n !hideDisplayOnly(ctx, fieldPath, definition, ctx.schemaInterface))\n );\n }),\n { fieldPath, definition },\n );\n}\n\nexport function useEvalReadonlyHook(\n useEvalExpressionHook: UseEvalExpressionHook,\n definition: ControlDefinition,\n): EvalExpressionHook<boolean> {\n const dynamicReadonly = useEvalDynamicBoolHook(\n definition,\n DynamicPropertyType.Readonly,\n useEvalExpressionHook,\n );\n return makeDynamicPropertyHook(\n dynamicReadonly,\n (ctx, { definition }) =>\n useCalculatedControl(() => isControlReadonly(definition)),\n { definition },\n );\n}\n\nexport function useEvalStyleHook(\n useEvalExpressionHook: UseEvalExpressionHook,\n property: DynamicPropertyType,\n definition: ControlDefinition,\n): EvalExpressionHook<React.CSSProperties> {\n const dynamicStyle = useEvalDynamicHook(\n definition,\n property,\n useEvalExpressionHook,\n );\n return makeDynamicPropertyHook(\n dynamicStyle,\n () => useControl(undefined),\n undefined,\n );\n}\n\nexport function useEvalAllowedOptionsHook(\n useEvalExpressionHook: UseEvalExpressionHook,\n definition: ControlDefinition,\n): EvalExpressionHook<any[]> {\n const dynamicAllowed = useEvalDynamicHook(\n definition,\n DynamicPropertyType.AllowedOptions,\n useEvalExpressionHook,\n );\n return makeDynamicPropertyHook(\n dynamicAllowed,\n () => useControl([]),\n undefined,\n );\n}\n\nexport function useEvalDisabledHook(\n useEvalExpressionHook: UseEvalExpressionHook,\n definition: ControlDefinition,\n fieldPath?: SchemaField[],\n elementIndex?: number,\n): EvalExpressionHook<boolean> {\n const dynamicDisabled = useEvalDynamicBoolHook(\n definition,\n DynamicPropertyType.Disabled,\n useEvalExpressionHook,\n );\n return makeDynamicPropertyHook(\n dynamicDisabled,\n (ctx, { fieldPath }) =>\n useComputed(() => {\n const dataControl =\n fieldPath && lookupChildControl(ctx, fieldPath, elementIndex);\n const setToNull = dataControl?.meta[\"nullControl\"]?.value === false;\n return setToNull || isControlDisabled(definition);\n }),\n { fieldPath, elementIndex },\n );\n}\n\nexport function useEvalDisplayHook(\n useEvalExpressionHook: UseEvalExpressionHook,\n definition: ControlDefinition,\n): DynamicHookGenerator<\n Control<string | undefined> | undefined,\n ControlDataContext\n> {\n return useEvalDynamicHook(\n definition,\n DynamicPropertyType.Display,\n useEvalExpressionHook,\n );\n}\nexport function useEvalDefaultValueHook(\n useEvalExpressionHook: UseEvalExpressionHook,\n definition: ControlDefinition,\n schemaField: SchemaField | undefined,\n element: boolean,\n): EvalExpressionHook {\n const dynamicValue = useEvalDynamicHook(\n definition,\n DynamicPropertyType.DefaultValue,\n useEvalExpressionHook,\n );\n return makeDynamicPropertyHook(\n dynamicValue,\n (ctx, { definition, schemaField }) => {\n return useComputed(calcDefault);\n function calcDefault() {\n const [required, dcv] = isDataControlDefinition(definition)\n ? [definition.required, definition.defaultValue]\n : [false, undefined];\n return (\n dcv ??\n (schemaField\n ? element\n ? elementValueForField(schemaField)\n : defaultValueForField(schemaField, required, true)\n : undefined)\n );\n }\n },\n { definition, schemaField },\n );\n}\n\nfunction useDataExpression(\n fvExpr: DataExpression,\n fields: SchemaField[],\n data: DataContext,\n coerce: (v: any) => any = (x) => x,\n) {\n const refField = findFieldPath(fields, fvExpr.field);\n const otherField = refField ? lookupChildControl(data, refField) : undefined;\n return useCalculatedControl(() => coerce(otherField?.value));\n}\n\nfunction useDataMatchExpression(\n fvExpr: DataMatchExpression,\n fields: SchemaField[],\n data: DataContext,\n coerce: (v: any) => any = (x) => x,\n) {\n const refField = findFieldPath(fields, fvExpr.field);\n const otherField = refField ? lookupChildControl(data, refField) : undefined;\n return useCalculatedControl(() => {\n const fv = otherField?.value;\n return coerce(\n Array.isArray(fv) ? fv.includes(fvExpr.value) : fv === fvExpr.value,\n );\n });\n}\n\nfunction useNotEmptyExpression(\n fvExpr: NotEmptyExpression,\n fields: SchemaField[],\n schemaInterface: SchemaInterface,\n data: DataContext,\n coerce: (v: any) => any = (x) => x,\n) {\n const refField = findFieldPath(fields, fvExpr.field);\n const otherField = refField ? lookupChildControl(data, refField) : undefined;\n return useCalculatedControl(() => {\n const fv = otherField?.value;\n const field = refField?.at(-1);\n return coerce(field && !schemaInterface.isEmptyValue(field, fv));\n });\n}\n\nexport function defaultEvalHooks(\n expr: EntityExpression,\n context: ControlDataContext,\n coerce: (v: any) => any,\n) {\n switch (expr.type) {\n case ExpressionType.Jsonata:\n return useJsonataExpression(\n (expr as JsonataExpression).expression,\n context,\n undefined,\n coerce,\n );\n case ExpressionType.UUID:\n return useUuidExpression(coerce);\n case ExpressionType.Data:\n return useDataExpression(\n expr as DataExpression,\n context.fields,\n context,\n coerce,\n );\n case ExpressionType.DataMatch:\n return useDataMatchExpression(\n expr as DataMatchExpression,\n context.fields,\n context,\n coerce,\n );\n case ExpressionType.NotEmpty:\n return useNotEmptyExpression(\n expr as NotEmptyExpression,\n context.fields,\n context.schemaInterface,\n context,\n coerce,\n );\n default:\n return useControl(undefined);\n }\n}\n\nexport const defaultUseEvalExpressionHook =\n makeEvalExpressionHook(defaultEvalHooks);\n\nexport function makeEvalExpressionHook(\n f: (\n expr: EntityExpression,\n context: ControlDataContext,\n coerce: (v: any) => any,\n ) => Control<any>,\n): UseEvalExpressionHook {\n return (expr, coerce) => ({\n deps: expr != null ? expr.type : \"!\",\n state: expr,\n runHook: (ctx: ControlDataContext, state: EntityExpression | undefined) => {\n return state ? f(state, ctx, coerce) : undefined;\n },\n });\n}\n\nexport function useEvalDynamicBoolHook(\n definition: ControlDefinition,\n type: DynamicPropertyType,\n useEvalExpressionHook: UseEvalExpressionHook,\n): DynamicHookGenerator<Control<any> | undefined, ControlDataContext> {\n return useEvalDynamicHook(definition, type, useEvalExpressionHook, (x) =>\n Boolean(x),\n );\n}\n\nexport function useEvalDynamicHook(\n definition: ControlDefinition,\n type: DynamicPropertyType,\n useEvalExpressionHook: UseEvalExpressionHook,\n coerce: (v: any) => any = (x) => x,\n): DynamicHookGenerator<Control<any> | undefined, ControlDataContext> {\n const expression = definition.dynamic?.find((x) => x.type === type);\n return useEvalExpressionHook(expression?.expr, coerce);\n}\n\nexport function matchesType(\n context: ControlDataContext,\n fieldPath?: SchemaField[],\n) {\n const types = fieldPath\n ? fieldPath[fieldPath.length - 1].onlyForTypes\n : undefined;\n if (types == null || types.length === 0) return true;\n const typeField = getTypeField(context, fieldPath!);\n return typeField && types.includes(typeField.value);\n}\n\nexport function hideDisplayOnly(\n context: ControlDataContext,\n fieldPath: SchemaField[],\n definition: ControlDefinition,\n schemaInterface: SchemaInterface,\n) {\n const displayOptions = getDisplayOnlyOptions(definition);\n return (\n displayOptions &&\n !displayOptions.emptyText &&\n schemaInterface.isEmptyValue(\n fieldPath.at(-1)!,\n lookupChildControl(context, fieldPath)?.value,\n )\n );\n}\n\nexport function useUuidExpression(coerce: (v: any) => any = (x) => x) {\n return useControl(() => coerce(uuidv4()));\n}\n\nexport function useJsonataExpression(\n jExpr: string,\n dataContext: DataContext,\n bindings?: () => Record<string, any>,\n coerce: (v: any) => any = (x) => x,\n): Control<any> {\n const pathString = jsonPathString(dataContext.path, (x) => `#$i[${x}]`);\n const fullExpr = pathString ? pathString + \".(\" + jExpr + \")\" : jExpr;\n const compiledExpr = useMemo(() => {\n try {\n return jsonata(fullExpr);\n } catch (e) {\n console.error(e);\n return jsonata(\"null\");\n }\n }, [fullExpr]);\n const control = useControl();\n const listenerRef = useRef<() => void>();\n const updateRef = useRef(0);\n const [ref] = useRefState(() =>\n makeChangeTracker(() => {\n const l = listenerRef.current;\n if (l) {\n listenerRef.current = undefined;\n addAfterChangesCallback(() => {\n listenerRef.current = l;\n l();\n });\n }\n }),\n );\n useEffect(() => {\n listenerRef.current = apply;\n apply();\n async function apply() {\n const [collect, updateSubscriptions] = ref.current;\n try {\n updateRef.current++;\n const bindingData = bindings\n ? collectChanges(collect, bindings)\n : undefined;\n control.value = coerce(\n await compiledExpr.evaluate(\n trackedValue(dataContext.data, collect),\n bindingData,\n ),\n );\n } finally {\n if (!--updateRef.current) updateSubscriptions();\n }\n }\n return () => ref.current[1](true);\n }, [compiledExpr]);\n return control;\n}\n\nexport function useEvalActionHook(\n useExpr: UseEvalExpressionHook,\n definition: ControlDefinition,\n): EvalExpressionHook<string | null> {\n const dynamicValue = useEvalDynamicHook(\n definition,\n DynamicPropertyType.ActionData,\n useExpr,\n );\n return makeDynamicPropertyHook(\n dynamicValue,\n () => useControl(null),\n undefined,\n );\n}\n\nexport function useEvalLabelText(\n useExpr: UseEvalExpressionHook,\n definition: ControlDefinition,\n): EvalExpressionHook<string | null> {\n const dynamicValue = useEvalDynamicHook(\n definition,\n DynamicPropertyType.Label,\n useExpr,\n );\n return makeDynamicPropertyHook(\n dynamicValue,\n () => useControl(null),\n undefined,\n );\n}\n\nfunction makeDynamicPropertyHook<A, S = undefined>(\n dynamicValue: DynamicHookGenerator<\n Control<any> | undefined,\n ControlDataContext\n >,\n makeDefault: (ctx: ControlDataContext, s: S) => Control<A | undefined>,\n state: S,\n deps?: HookDep,\n): EvalExpressionHook<A> {\n return {\n deps:\n deps === undefined\n ? dynamicValue.deps\n : [deps, dynamicValue.deps].map(toDepString).join(),\n runHook: (ctx, s) => {\n return dynamicValue.runHook(ctx, s[0]) ?? makeDefault(ctx, s[1]);\n },\n state: [dynamicValue.state, state],\n };\n}\n","import {\n ControlDefinition,\n DataControlDefinition,\n DateComparison,\n DateValidator,\n isDataControlDefinition,\n JsonataValidator,\n LengthValidator,\n SchemaField,\n SchemaValidator,\n ValidationMessageType,\n ValidatorType,\n} from \"./types\";\nimport {\n Control,\n useValidator,\n useValueChangeEffect,\n} from \"@react-typed-forms/core\";\nimport { useCallback } from \"react\";\nimport { ControlDataContext, makeHookDepString, useUpdatedRef } from \"./util\";\nimport { useJsonataExpression } from \"./hooks\";\n\ninterface ValidationHookContext {\n hiddenControl: Control<boolean | null | undefined>;\n dataContext: ControlDataContext;\n control: Control<any>;\n}\n\nexport interface ValidationContext extends ValidationHookContext {\n definition: DataControlDefinition;\n field: SchemaField;\n index: number;\n}\n\nexport function useMakeValidationHook(\n definition: ControlDefinition,\n field: SchemaField | undefined,\n useValidatorFor: (\n validator: SchemaValidator,\n ctx: ValidationContext,\n ) => void = useDefaultValidator,\n): (ctx: ValidationHookContext) => void {\n const dd =\n field && isDataControlDefinition(definition) ? definition : undefined;\n const refData = useUpdatedRef({ dd, field, useValidatorFor });\n const depString = makeHookDepString(dd?.validators ?? [], (x) => x.type);\n return useCallback(\n (ctx) => {\n const { dd, field } = refData.current;\n if (!dd || !field) return;\n const {\n control,\n hiddenControl,\n dataContext: { schemaInterface },\n } = ctx;\n\n useValueChangeEffect(control, () => control.setError(\"default\", \"\"));\n useValidator(\n control,\n (v) =>\n !hiddenControl.value &&\n dd.required &&\n schemaInterface.isEmptyValue(field, v)\n ? schemaInterface.validationMessageText(\n field,\n ValidationMessageType.NotEmpty,\n false,\n true,\n )\n : null,\n \"required\",\n undefined,\n [dd.required],\n );\n dd.validators?.forEach((v, i) =>\n useValidatorFor(v, { ...ctx, index: i, field, definition: dd }),\n );\n },\n [!!dd, depString, useValidatorFor],\n );\n}\n\nfunction useDefaultValidator(\n validator: SchemaValidator,\n ctx: ValidationContext,\n) {\n switch (validator.type) {\n case ValidatorType.Length:\n useLengthValidator(validator as LengthValidator, ctx);\n break;\n case ValidatorType.Jsonata:\n useJsonataValidator(validator as JsonataValidator, ctx);\n break;\n case ValidatorType.Date:\n useDateValidator(validator as DateValidator, ctx);\n break;\n }\n}\n\nexport function useJsonataValidator(\n validator: JsonataValidator,\n ctx: ValidationContext,\n) {\n const errorMsg = useJsonataExpression(\n validator.expression,\n ctx.dataContext,\n undefined,\n (v) => (v == null ? null : typeof v === \"string\" ? v : JSON.stringify(v)),\n );\n useValidator(\n ctx.control,\n () => (!ctx.hiddenControl.value ? errorMsg.value : null),\n \"jsonata\" + ctx.index,\n );\n}\n\nexport function useLengthValidator(\n lv: LengthValidator,\n ctx: ValidationContext,\n) {\n const {\n control,\n dataContext: { schemaInterface },\n hiddenControl,\n field,\n } = ctx;\n useValidator(\n control,\n (v) => {\n const len = schemaInterface.controlLength(field, control);\n const hidden = hiddenControl.value;\n if (hidden) {\n return undefined;\n }\n if (lv.min != null && len < lv.min) {\n if (field?.collection) {\n control.setValue((v) =>\n Array.isArray(v)\n ? v.concat(Array.from({ length: lv.min! - v.length }))\n : Array.from({ length: lv.min! }),\n );\n } else {\n return schemaInterface.validationMessageText(\n field,\n ValidationMessageType.MinLength,\n len,\n lv.min,\n );\n }\n } else if (lv.max != null && len > lv.max) {\n return schemaInterface.validationMessageText(\n field,\n ValidationMessageType.MaxLength,\n len,\n lv.max,\n );\n }\n return undefined;\n },\n \"length\" + ctx.index,\n );\n}\n\nexport function useDateValidator(dv: DateValidator, ctx: ValidationContext) {\n const {\n control,\n field,\n index,\n dataContext: { schemaInterface },\n } = ctx;\n let comparisonDate: number;\n if (dv.fixedDate) {\n comparisonDate = schemaInterface.parseToMillis(field, dv.fixedDate);\n } else {\n const nowDate = new Date();\n comparisonDate = Date.UTC(\n nowDate.getFullYear(),\n nowDate.getMonth(),\n nowDate.getDate(),\n );\n if (dv.daysFromCurrent) {\n comparisonDate += dv.daysFromCurrent * 86400000;\n }\n }\n useValidator(\n control,\n (v) => {\n if (v) {\n const selDate = schemaInterface.parseToMillis(field, v);\n const notAfter = dv.comparison === DateComparison.NotAfter;\n if (notAfter ? selDate > comparisonDate : selDate < comparisonDate) {\n return schemaInterface.validationMessageText(\n field,\n notAfter\n ? ValidationMessageType.NotAfterDate\n : ValidationMessageType.NotBeforeDate,\n selDate,\n comparisonDate,\n );\n }\n }\n return null;\n },\n \"date\" + index,\n );\n}\n","export function cc(n: string | null | undefined): string | undefined {\n return n ? n : undefined;\n}\n","import {\n FieldOption,\n FieldType,\n SchemaField,\n SchemaInterface,\n ValidationMessageType,\n} from \"./types\";\nimport { Control } from \"@react-typed-forms/core\";\n\nexport class DefaultSchemaInterface implements SchemaInterface {\n constructor(protected boolStrings: [string, string] = [\"No\", \"Yes\"]) {}\n\n parseToMillis(field: SchemaField, v: string): number {\n return Date.parse(v);\n }\n validationMessageText(\n field: SchemaField,\n messageType: ValidationMessageType,\n actual: any,\n expected: any,\n ): string {\n switch (messageType) {\n case ValidationMessageType.NotEmpty:\n return \"Please enter a value\";\n case ValidationMessageType.MinLength:\n return \"Length must be at least \" + expected;\n case ValidationMessageType.MaxLength:\n return \"Length must be less than \" + expected;\n case ValidationMessageType.NotBeforeDate:\n return `Date must not be before ${new Date(expected).toDateString()}`;\n case ValidationMessageType.NotAfterDate:\n return `Date must not be after ${new Date(expected).toDateString()}`;\n default:\n return \"Unknown error\";\n }\n }\n\n getOptions({ options }: SchemaField): FieldOption[] | null | undefined {\n return options && options.length > 0 ? options : null;\n }\n isEmptyValue(f: SchemaField, value: any): boolean {\n if (f.collection)\n return Array.isArray(value) ? value.length === 0 : value == null;\n switch (f.type) {\n case FieldType.String:\n return !value;\n default:\n return value == null;\n }\n }\n textValue(\n field: SchemaField,\n value: any,\n element?: boolean | undefined,\n ): string | undefined {\n switch (field.type) {\n case FieldType.DateTime:\n return new Date(value).toLocaleDateString();\n case FieldType.Date:\n return new Date(value).toLocaleDateString();\n case FieldType.Bool:\n return this.boolStrings[value ? 1 : 0];\n default:\n return value != null ? value.toString() : undefined;\n }\n }\n controlLength(f: SchemaField, control: Control<any>): number {\n return f.collection\n ? control.elements?.length ?? 0\n : this.valueLength(f, control.value);\n }\n valueLength(field: SchemaField, value: any): number {\n return (value && value?.length) ?? 0;\n }\n}\n\nexport const defaultSchemaInterface: SchemaInterface =\n new DefaultSchemaInterface();\n","import React, {\n CSSProperties,\n FC,\n Fragment,\n Key,\n ReactElement,\n ReactNode,\n useCallback,\n useEffect,\n} from \"react\";\nimport {\n addElement,\n Control,\n newControl,\n removeElement,\n trackedValue,\n useCalculatedControl,\n useComponentTracking,\n useControl,\n useControlEffect,\n} from \"@react-typed-forms/core\";\nimport {\n AdornmentPlacement,\n ControlAdornment,\n ControlDefinition,\n ControlDefinitionType,\n CustomDisplay,\n DataControlDefinition,\n DataRenderType,\n DisplayData,\n DisplayDataType,\n DynamicPropertyType,\n FieldOption,\n GroupRenderOptions,\n isActionControlsDefinition,\n isDataControlDefinition,\n isDisplayControlsDefinition,\n isGroupControlsDefinition,\n LengthValidator,\n RenderOptions,\n SchemaField,\n SchemaInterface,\n SchemaValidator,\n ValidatorType,\n} from \"./types\";\nimport {\n applyLengthRestrictions,\n ControlDataContext,\n elementValueForField,\n fieldDisplayName,\n findFieldPath,\n isCompoundField,\n JsonPath,\n useDynamicHooks,\n useUpdatedRef,\n} from \"./util\";\nimport { dataControl } from \"./controlBuilder\";\nimport {\n defaultUseEvalExpressionHook,\n EvalExpressionHook,\n useEvalActionHook,\n useEvalAllowedOptionsHook,\n useEvalDefaultValueHook,\n useEvalDisabledHook,\n useEvalDisplayHook,\n UseEvalExpressionHook,\n useEvalLabelText,\n useEvalReadonlyHook,\n useEvalStyleHook,\n useEvalVisibilityHook,\n} from \"./hooks\";\nimport { useMakeValidationHook, ValidationContext } from \"./validators\";\nimport { cc } from \"./internal\";\nimport { defaultSchemaInterface } from \"./schemaInterface\";\n\nexport interface FormRenderer {\n renderData: (\n props: DataRendererProps,\n ) => (layout: ControlLayoutProps) => ControlLayoutProps;\n renderGroup: (\n props: GroupRendererProps,\n ) => (layout: ControlLayoutProps) => ControlLayoutProps;\n renderDisplay: (props: DisplayRendererProps) => ReactNode;\n renderAction: (props: ActionRendererProps) => ReactNode;\n renderArray: (props: ArrayRendererProps) => ReactNode;\n renderAdornment: (props: AdornmentProps) => AdornmentRenderer;\n renderLabel: (\n props: LabelRendererProps,\n labelStart: ReactNode,\n labelEnd: ReactNode,\n ) => ReactNode;\n renderLayout: (props: ControlLayoutProps) => RenderedControl;\n renderVisibility: (props: VisibilityRendererProps) => ReactNode;\n renderLabelText: (props: ReactNode) => ReactNode;\n}\n\nexport interface AdornmentProps {\n adornment: ControlAdornment;\n dataContext?: ControlDataContext;\n parentContext: ControlDataContext;\n useExpr?: UseEvalExpressionHook;\n designMode?: boolean;\n}\n\nexport const AppendAdornmentPriority = 0;\nexport const WrapAdornmentPriority = 1000;\n\nexport interface AdornmentRenderer {\n apply(children: RenderedLayout): void;\n adornment?: ControlAdornment;\n priority: number;\n}\n\nexport interface ArrayRendererProps {\n addAction?: ActionRendererProps;\n required: boolean;\n removeAction?: (elemIndex: number) => ActionRendererProps;\n renderElement: (elemIndex: number) => ReactNode;\n arrayControl: Control<any[] | undefined | null>;\n className?: string;\n style?: React.CSSProperties;\n min?: number | null;\n max?: number | null;\n}\nexport interface Visibility {\n visible: boolean;\n showing: boolean;\n}\n\nexport interface RenderedLayout {\n labelStart?: ReactNode;\n labelEnd?: ReactNode;\n controlStart?: ReactNode;\n controlEnd?: ReactNode;\n label?: ReactNode;\n children?: ReactNode;\n errorControl?: Control<any>;\n className?: string;\n style?: React.CSSProperties;\n wrapLayout: (layout: ReactElement) => ReactElement;\n}\n\nexport interface RenderedControl {\n children: ReactNode;\n className?: string;\n style?: React.CSSProperties;\n divRef?: (cb: HTMLElement | null) => void;\n}\n\nexport interface VisibilityRendererProps extends RenderedControl {\n visibility: Control<Visibility | undefined>;\n}\n\nexport interface ControlLayoutProps {\n label?: LabelRendererProps;\n errorControl?: Control<any>;\n adornments?: AdornmentRenderer[];\n children?: ReactNode;\n processLayout?: (props: ControlLayoutProps) => ControlLayoutProps;\n className?: string | null;\n style?: React.CSSProperties;\n}\n\nexport enum LabelType {\n Control,\n Group,\n Text,\n}\nexport interface LabelRendererProps {\n type: LabelType;\n hide?: boolean | null;\n label: ReactNode;\n required?: boolean | null;\n forId?: string;\n className?: string;\n}\nexport interface DisplayRendererProps {\n data: DisplayData;\n display?: Control<string | undefined>;\n dataContext: ControlDataContext;\n className?: string;\n style?: React.CSSProperties;\n}\n\nexport type ChildVisibilityFunc = (\n child: ControlDefinition,\n context?: ControlDataContext,\n) => EvalExpressionHook<boolean>;\nexport interface ParentRendererProps {\n childDefinitions: ControlDefinition[];\n renderChild: ChildRenderer;\n className?: string;\n style?: React.CSSProperties;\n dataContext: ControlDataContext;\n parentContext: ControlDataContext;\n useChildVisibility: ChildVisibilityFunc;\n designMode?: boolean;\n}\n\nexport interface GroupRendererProps extends ParentRendererProps {\n definition: ControlDefinition;\n renderOptions: GroupRenderOptions;\n}\n\nexport interface DataRendererProps extends ParentRendererProps {\n renderOptions: RenderOptions;\n definition: DataControlDefinition;\n field: SchemaField;\n elementIndex?: number;\n id: string;\n control: Control<any>;\n readonly: boolean;\n required: boolean;\n options: FieldOption[] | undefined | null;\n hidden: boolean;\n toArrayProps?: () => ArrayRendererProps;\n}\n\nexport interface ActionRendererProps {\n actionId: string;\n actionText: string;\n actionData?: any;\n onClick: () => void;\n className?: string;\n style?: React.CSSProperties;\n}\n\nexport interface ControlRenderProps {\n control: Control<any>;\n parentPath?: JsonPath[];\n}\n\nexport interface FormContextOptions {\n readonly?: boolean | null;\n hidden?: boolean | null;\n disabled?: boolean | null;\n}\n\nexport interface DataControlProps {\n definition: DataControlDefinition;\n field: SchemaField;\n dataContext: ControlDataContext;\n parentContext: ControlDataContext;\n control: Control<any>;\n formOptions: FormContextOptions;\n style?: React.CSSProperties | undefined;\n renderChild: ChildRenderer;\n elementIndex?: number;\n allowedOptions?: Control<any[] | undefined>;\n useChildVisibility: ChildVisibilityFunc;\n schemaInterface?: SchemaInterface;\n designMode?: boolean;\n}\n\nexport type CreateDataProps = (\n controlProps: DataControlProps,\n) => DataRendererProps;\n\nexport interface ControlRenderOptions extends FormContextOptions {\n useDataHook?: (c: ControlDefinition) => CreateDataProps;\n actionOnClick?: (actionId: string, actionData: any) => () => void;\n customDisplay?: (\n customId: string,\n displayProps: DisplayRendererProps,\n ) => ReactNode;\n useValidationHook?: (\n validator: SchemaValidator,\n ctx: ValidationContext,\n ) => void;\n useEvalExpressionHook?: UseEvalExpressionHook;\n clearHidden?: boolean;\n schemaInterface?: SchemaInterface;\n elementIndex?: number;\n}\nexport function useControlRenderer(\n definition: ControlDefinition,\n fields: SchemaField[],\n renderer: FormRenderer,\n options: ControlRenderOptions = {},\n): FC<ControlRenderProps> {\n const dataProps = options.useDataHook?.(definition) ?? defaultDataProps;\n const elementIndex = options.elementIndex;\n const schemaInterface = options.schemaInterface ?? defaultSchemaInterface;\n const useExpr = options.useEvalExpressionHook ?? defaultUseEvalExpressionHook;\n\n const fieldPath = lookupSchemaField(definition, fields);\n const schemaField = fieldPath?.at(-1);\n const useValidation = useMakeValidationHook(\n definition,\n schemaField,\n options.useValidationHook,\n );\n const dynamicHooks = useDynamicHooks({\n defaultValueControl: useEvalDefaultValueHook(\n useExpr,\n definition,\n schemaField,\n elementIndex != null,\n ),\n visibleControl: useEvalVisibilityHook(useExpr, definition, fieldPath),\n readonlyControl: useEvalReadonlyHook(useExpr, definition),\n disabledControl: useEvalDisabledHook(\n useExpr,\n definition,\n fieldPath,\n elementIndex,\n ),\n allowedOptions: useEvalAllowedOptionsHook(useExpr, definition),\n labelText: useEvalLabelText(useExpr, definition),\n actionData: useEvalActionHook(useExpr, definition),\n customStyle: useEvalStyleHook(\n useExpr,\n DynamicPropertyType.Style,\n definition,\n ),\n layoutStyle: useEvalStyleHook(\n useExpr,\n DynamicPropertyType.LayoutStyle,\n definition,\n ),\n displayControl: useEvalDisplayHook(useExpr, definition),\n });\n\n const r = useUpdatedRef({\n options,\n definition,\n fields,\n fieldPath,\n elementIndex,\n });\n\n const Component = useCallback(\n ({ control: rootControl, parentPath = [] }: ControlRenderProps) => {\n const stopTracking = useComponentTracking();\n try {\n const {\n definition: c,\n options,\n fields,\n fieldPath,\n elementIndex,\n } = r.current;\n const schemaField = fieldPath?.at(-1);\n const parentDataContext: ControlDataContext = {\n fields,\n schemaInterface,\n data: rootControl,\n path: parentPath,\n };\n const {\n readonlyControl,\n disabledControl,\n visibleControl,\n displayControl,\n layoutStyle,\n labelText,\n customStyle,\n allowedOptions,\n defaultValueControl,\n actionData,\n } = dynamicHooks(parentDataContext);\n\n const visible = visibleControl.current.value;\n const visibility = useControl<Visibility | undefined>(() =>\n visible != null\n ? {\n visible,\n showing: visible,\n }\n : undefined,\n );\n useControlEffect(\n () => visibleControl.value,\n (visible) => {\n if (visible != null)\n visibility.setValue((ex) => ({\n visible,\n showing: ex ? ex.showing : visible,\n }));\n },\n );\n\n const [parentControl, control, controlDataContext] = getControlData(\n fieldPath,\n parentDataContext,\n elementIndex,\n );\n useControlEffect(\n () => [\n visibility.value,\n defaultValueControl.value,\n control?.isNull,\n isDataControlDefinition(definition) && definition.dontClearHidden,\n isDataControlDefinition(definition) &&\n definition.renderOptions?.type == DataRenderType.NullToggle,\n parentControl.isNull,\n options.hidden,\n readonlyControl.value,\n ],\n ([vc, dv, _, dontClear, dontDefault, parentNull, hidden, ro]) => {\n if (!ro) {\n if (control) {\n if (vc && vc.visible === vc.showing) {\n if (hidden || !vc.visible) {\n control.setValue((x) =>\n options.clearHidden && !dontClear\n ? undefined\n : x == null && dontClear && !dontDefault\n ? dv\n : x,\n );\n } else if (!dontDefault)\n control.setValue((x) => (x != null ? x : dv));\n }\n } else if (parentNull) {\n parentControl.setValue((x) => x ?? {});\n }\n }\n },\n true,\n );\n const myOptionsControl = useCalculatedControl<FormContextOptions>(\n () => ({\n hidden: options.hidden || !visibility.fields?.showing.value,\n readonly: options.readonly || readonlyControl.value,\n disabled: options.disabled || disabledControl.value,\n }),\n );\n const myOptions = trackedValue(myOptionsControl);\n useValidation({\n control: control ?? newControl(null),\n hiddenControl: myOptionsControl.fields.hidden,\n dataContext: parentDataContext,\n });\n const childOptions: ControlRenderOptions = {\n ...options,\n ...myOptions,\n elementIndex: undefined,\n };\n\n useEffect(() => {\n if (\n control &&\n typeof myOptions.disabled === \"boolean\" &&\n control.disabled != myOptions.disabled\n )\n control.disabled = myOptions.disabled;\n }, [control, myOptions.disabled]);\n if (parentControl.isNull) return <></>;\n\n const adornments =\n definition.adornments?.map((x) =>\n renderer.renderAdornment({\n adornment: x,\n dataContext: controlDataContext,\n parentContext: parentDataContext,\n useExpr,\n }),\n ) ?? [];\n const labelAndChildren = renderControlLayout({\n definition: c,\n renderer,\n renderChild: (k, child, options) => {\n if (control && control.isNull) return <Fragment key={k} />;\n const dataContext = options?.dataContext ?? controlDataContext;\n return (\n <ControlRenderer\n key={k}\n control={dataContext.data}\n fields={dataContext.fields}\n definition={child}\n parentPath={dataContext.path}\n renderer={renderer}\n options={\n options\n ? { ...childOptions, elementIndex: options?.elementIndex }\n : childOptions\n }\n />\n );\n },\n createDataProps: dataProps,\n formOptions: myOptions,\n dataContext: controlDataContext,\n parentContext: parentDataContext,\n control: displayControl ?? control,\n elementIndex,\n schemaInterface,\n labelText,\n field: schemaField,\n displayControl,\n style: customStyle.value,\n allowedOptions,\n customDisplay: options.customDisplay,\n actionDataControl: actionData,\n actionOnClick: options.actionOnClick,\n useChildVisibility: (childDef, context) => {\n const schemaField = lookupSchemaField(\n childDef,\n (context ?? controlDataContext).fields,\n );\n return useEvalVisibilityHook(useExpr, childDef, schemaField);\n },\n });\n const renderedControl = renderer.renderLayout({\n ...labelAndChildren,\n adornments,\n className: c.layoutClass,\n style: layoutStyle.value,\n });\n return renderer.renderVisibility({ visibility, ...renderedControl });\n } finally {\n stopTracking();\n }\n },\n [r, dataProps, useValidation, renderer, schemaInterface, dynamicHooks],\n );\n (Component as any).displayName = \"RenderControl\";\n return Component;\n}\nexport function lookupSchemaField(\n c: ControlDefinition,\n fields: SchemaField[],\n): SchemaField[] | undefined {\n const fieldName = isGroupControlsDefinition(c)\n ? c.compoundField\n : isDataControlDefinition(c)\n ? c.field\n : undefined;\n return fieldName ? findFieldPath(fields, fieldName) : undefined;\n}\nexport function getControlData(\n fieldPath: SchemaField[] | undefined,\n parentContext: ControlDataContext,\n elementIndex: number | undefined,\n): [Control<any>, Control<any> | undefined, ControlDataContext] {\n const { data, path: pp } = parentContext;\n const extraPath = fieldPath?.slice(0, -1).map((x) => x.field) ?? [];\n const path = [...pp, ...extraPath];\n const schemaField = fieldPath?.at(-1);\n const [parentControl, found] = lookupControl(data, path);\n const childPath = schemaField\n ? elementIndex != null\n ? [...path, schemaField.field, elementIndex]\n : [...path, schemaField.field]\n : path;\n const childControl =\n schemaField && found\n ? parentControl.fields?.[schemaField.field]\n : undefined;\n return [\n parentControl,\n childControl && elementIndex != null\n ? childControl.elements?.[elementIndex]\n : childControl,\n schemaField\n ? {\n ...parentContext,\n path: childPath,\n fields: isCompoundField(schemaField)\n ? schemaField.children\n : parentContext.fields,\n }\n : parentContext,\n ];\n}\n\nfunction lookupControl(\n control: Control<any>,\n path: (string | number)[],\n): [Control<any>, boolean] {\n let base = control;\n let index = 0;\n while (index < path.length && base) {\n control = base;\n const childId = path[index];\n const c = base.current;\n if (typeof childId === \"string\") {\n base = c.fields?.[childId];\n } else {\n base = c.elements?.[childId];\n }\n index++;\n }\n return [base ?? control, !!base];\n}\n\nexport function ControlRenderer({\n definition,\n fields,\n renderer,\n options,\n control,\n parentPath,\n}: {\n definition: ControlDefinition;\n fields: SchemaField[];\n renderer: FormRenderer;\n options?: ControlRenderOptions;\n control: Control<any>;\n parentPath?: JsonPath[];\n}) {\n const Render = useControlRenderer(definition, fields, renderer, options);\n return <Render control={control} parentPath={parentPath} />;\n}\n\nexport function defaultDataProps({\n definition,\n field,\n control,\n formOptions,\n style,\n allowedOptions,\n schemaInterface = defaultSchemaInterface,\n ...props\n}: DataControlProps): DataRendererProps {\n const lengthVal = definition.validators?.find(\n (x) => x.type === ValidatorType.Length,\n ) as LengthValidator | undefined;\n const className = cc(definition.styleClass);\n const required = !!definition.required;\n const fieldOptions = schemaInterface.getOptions(field);\n const _allowed = allowedOptions?.value ?? [];\n const allowed = Array.isArray(_allowed) ? _allowed : [_allowed];\n return {\n definition,\n childDefinitions: definition.children ?? [],\n control,\n field,\n id: \"c\" + control.uniqueId,\n options:\n allowed.length > 0\n ? allowed.map((x) =>\n typeof x === \"object\"\n ? x\n : (fieldOptions?.find((y) => y.value == x) ?? {\n name: x.toString(),\n value: x,\n }),\n )\n : fieldOptions,\n readonly: !!formOptions.readonly,\n renderOptions: definition.renderOptions ?? { type: \"Standard\" },\n required,\n hidden: !!formOptions.hidden,\n className,\n style,\n ...props,\n toArrayProps:\n field.collection && props.elementIndex == null\n ? () =>\n defaultArrayProps(\n control,\n field,\n required,\n style,\n className,\n (elementIndex) =>\n props.renderChild(\n control.elements?.[elementIndex].uniqueId ?? elementIndex,\n {\n type: ControlDefinitionType.Data,\n field: definition.field,\n children: definition.children,\n hideTitle: true,\n } as DataControlDefinition,\n { elementIndex, dataContext: props.parentContext },\n ),\n lengthVal?.min,\n lengthVal?.max,\n )\n : undefined,\n };\n}\n\nexport function defaultArrayProps(\n arrayControl: Control<any[] | undefined | null>,\n field: SchemaField,\n required: boolean,\n style: CSSProperties | undefined,\n className: string | undefined,\n renderElement: (elemIndex: number) => ReactNode,\n min: number | undefined | null,\n max: number | undefined | null,\n): ArrayRendererProps {\n const noun = field.displayName ?? field.field;\n return {\n arrayControl,\n required,\n addAction: {\n actionId: \"add\",\n actionText: \"Add \" + noun,\n onClick: () => addElement(arrayControl, elementValueForField(field)),\n },\n removeAction: (i: number) => ({\n actionId: \"\",\n actionText: \"Remove\",\n onClick: () => removeElement(arrayControl, i),\n }),\n renderElement: (i) => renderElement(i),\n className: cc(className),\n style,\n min,\n max,\n };\n}\n\nexport interface ChildRendererOptions {\n elementIndex?: number;\n dataContext?: ControlDataContext;\n}\n\nexport type ChildRenderer = (\n k: Key,\n child: ControlDefinition,\n options?: ChildRendererOptions,\n) => ReactNode;\n\nexport interface RenderControlProps {\n definition: ControlDefinition;\n renderer: FormRenderer;\n renderChild: ChildRenderer;\n createDataProps: CreateDataProps;\n formOptions: FormContextOptions;\n dataContext: ControlDataContext;\n parentContext: ControlDataContext;\n control?: Control<any>;\n labelText?: Control<string | null | undefined>;\n field?: SchemaField;\n elementIndex?: number;\n displayControl?: Control<string | undefined>;\n style?: React.CSSProperties;\n allowedOptions?: Control<any[] | undefined>;\n actionDataControl?: Control<any | undefined | null>;\n useChildVisibility: ChildVisibilityFunc;\n actionOnClick?: (actionId: string, actionData: any) => () => void;\n schemaInterface?: SchemaInterface;\n designMode?: boolean;\n customDisplay?: (\n customId: string,\n displayProps: DisplayRendererProps,\n ) => ReactNode;\n}\nexport function renderControlLayout(\n props: RenderControlProps,\n): ControlLayoutProps {\n const {\n definition: c,\n renderer,\n renderChild,\n control,\n field,\n dataContext,\n createDataProps: dataProps,\n displayControl,\n style,\n labelText,\n parentContext,\n useChildVisibility,\n designMode,\n customDisplay,\n } = props;\n\n if (isDataControlDefinition(c)) {\n return renderData(c);\n }\n if (isGroupControlsDefinition(c)) {\n if (c.compoundField) {\n return renderData(\n dataControl(c.compoundField, c.title, {\n children: c.children,\n hideTitle: c.groupOptions?.hideTitle,\n }),\n );\n }\n return {\n processLayout: renderer.renderGroup({\n childDefinitions: c.children ?? [],\n definition: c,\n parentContext,\n renderChild,\n dataContext,\n renderOptions: c.groupOptions ?? { type: \"Standard\" },\n className: cc(c.styleClass),\n useChildVisibility,\n style,\n designMode,\n }),\n label: {\n label: labelText?.value ?? c.title,\n className: cc(c.labelClass),\n type: LabelType.Group,\n hide: c.groupOptions?.hideTitle,\n },\n };\n }\n if (isActionControlsDefinition(c)) {\n const actionData = props.actionDataControl?.value ?? c.actionData;\n return {\n children: renderer.renderAction({\n actionText: labelText?.value ?? c.title ?? c.actionId,\n actionId: c.actionId,\n actionData,\n onClick: props.actionOnClick?.(c.actionId, actionData) ?? (() => {}),\n className: cc(c.styleClass),\n style,\n }),\n };\n }\n if (isDisplayControlsDefinition(c)) {\n const data = c.displayData ?? {};\n const displayProps = {\n data,\n className: cc(c.styleClass),\n style,\n display: displayControl,\n dataContext,\n };\n if (data.type === DisplayDataType.Custom && customDisplay) {\n return {\n children: customDisplay((data as CustomDisplay).customId, displayProps),\n };\n }\n return {\n children: renderer.renderDisplay(displayProps),\n };\n }\n return {};\n\n function renderData(c: DataControlDefinition) {\n if (!field) return { children: \"No schema field for: \" + c.field };\n if (!control) return { children: \"No control for: \" + c.field };\n const rendererProps = dataProps(\n props as RenderControlProps & {\n definition: DataControlDefinition;\n field: SchemaField;\n control: Control<any>;\n },\n );\n\n const label = !c.hideTitle\n ? controlTitle(labelText?.value ?? c.title, field)\n : undefined;\n return {\n processLayout: renderer.renderData(rendererProps),\n label: {\n type:\n (c.children?.length ?? 0) > 0 ? LabelType.Group : LabelType.Control,\n label,\n forId: rendererProps.id,\n required: c.required,\n hide: c.hideTitle,\n className: cc(c.labelClass),\n },\n errorControl: control,\n };\n }\n}\n\ntype MarkupKeys = keyof Omit<\n RenderedLayout,\n \"errorControl\" | \"style\" | \"className\" | \"wrapLayout\"\n>;\nexport function appendMarkup(\n k: MarkupKeys,\n markup: ReactNode,\n): (layout: RenderedLayout) => void {\n return (layout) =>\n (layout[k] = (\n <>\n {layout[k]}\n {markup}\n </>\n ));\n}\n\nexport function wrapMarkup(\n k: MarkupKeys,\n wrap: (ex: ReactNode) => ReactNode,\n): (layout: RenderedLayout) => void {\n return (layout) => (layout[k] = wrap(layout[k]));\n}\n\nexport function layoutKeyForPlacement(pos: AdornmentPlacement): MarkupKeys {\n switch (pos) {\n case AdornmentPlacement.ControlEnd:\n return \"controlEnd\";\n case AdornmentPlacement.ControlStart:\n return \"controlStart\";\n case AdornmentPlacement.LabelStart:\n return \"labelStart\";\n case AdornmentPlacement.LabelEnd:\n return \"labelEnd\";\n }\n}\n\nexport function wrapLayout(\n wrap: (layout: ReactElement) => ReactElement,\n): (renderedLayout: RenderedLayout) => void {\n return (rl) => {\n const orig = rl.wrapLayout;\n rl.wrapLayout = (x) => wrap(orig(x));\n };\n}\n\nexport function appendMarkupAt(\n pos: AdornmentPlacement,\n markup: ReactNode,\n): (layout: RenderedLayout) => void {\n return appendMarkup(layoutKeyForPlacement(pos), markup);\n}\n\nexport function wrapMarkupAt(\n pos: AdornmentPlacement,\n wrap: (ex: ReactNode) => ReactNode,\n): (layout: RenderedLayout) => void {\n return wrapMarkup(layoutKeyForPlacement(pos), wrap);\n}\n\nexport function renderLayoutParts(\n props: ControlLayoutProps,\n renderer: FormRenderer,\n): RenderedLayout {\n const { className, children, style, errorControl, label, adornments } =\n props.processLayout?.(props) ?? props;\n const layout: RenderedLayout = {\n children,\n errorControl,\n style,\n className: cc(className),\n wrapLayout: (x) => x,\n };\n (adornments ?? [])\n .sort((a, b) => a.priority - b.priority)\n .forEach((x) => x.apply(layout));\n layout.label =\n label && !label.hide\n ? renderer.renderLabel(label, layout.labelStart, layout.labelEnd)\n : undefined;\n return layout;\n}\n\nexport function controlTitle(\n title: string | undefined | null,\n field: SchemaField,\n) {\n return title ? title : fieldDisplayName(field);\n}\n\nexport function applyArrayLengthRestrictions(\n {\n arrayControl,\n min,\n max,\n addAction: aa,\n removeAction: ra,\n required,\n }: Pick<\n ArrayRendererProps,\n \"addAction\" | \"removeAction\" | \"arrayControl\" | \"min\" | \"max\" | \"required\"\n >,\n disable?: boolean,\n): Pick<ArrayRendererProps, \"addAction\" | \"removeAction\"> & {\n addDisabled: boolean;\n removeDisabled: boolean;\n} {\n const [removeAllowed, addAllowed] = applyLengthRestrictions(\n arrayControl.elements?.length ?? 0,\n min == null && required ? 1 : min,\n max,\n true,\n true,\n );\n return {\n addAction: disable || addAllowed ? aa : undefined,\n removeAction: disable || removeAllowed ? ra : undefined,\n removeDisabled: !removeAllowed,\n addDisabled: !addAllowed,\n };\n}\n","import { CSSProperties, ReactElement, ReactNode } from \"react\";\nimport {\n ActionRendererProps,\n AdornmentProps,\n AdornmentRenderer,\n ArrayRendererProps,\n ControlLayoutProps,\n DataRendererProps,\n DisplayRendererProps,\n FormRenderer,\n GroupRendererProps,\n LabelRendererProps,\n LabelType,\n RenderedControl,\n VisibilityRendererProps,\n} from \"./controlRender\";\nimport {\n AccordionAdornment,\n ControlAdornment,\n ControlAdornmentType,\n IconAdornment,\n SetFieldAdornment,\n} from \"./types\";\n\nexport interface DefaultRenderers {\n data: DataRendererRegistration;\n label: LabelRendererRegistration;\n action: ActionRendererRegistration;\n array: ArrayRendererRegistration;\n group: GroupRendererRegistration;\n display: DisplayRendererRegistration;\n adornment: AdornmentRendererRegistration;\n renderLayout: LayoutRendererRegistration;\n visibility: VisibilityRendererRegistration;\n}\n\nexport interface LayoutRendererRegistration {\n type: \"layout\";\n match?: (props: ControlLayoutProps) => boolean;\n render: (\n props: ControlLayoutProps,\n renderers: FormRenderer,\n ) => RenderedControl;\n}\nexport interface DataRendererRegistration {\n type: \"data\";\n schemaType?: string | string[];\n renderType?: string | string[];\n options?: boolean;\n collection?: boolean;\n match?: (props: DataRendererProps) => boolean;\n render: (\n props: DataRendererProps,\n renderers: FormRenderer,\n ) => ReactNode | ((layout: ControlLayoutProps) => ControlLayoutProps);\n}\n\nexport interface LabelRendererRegistration {\n type: \"label\";\n labelType?: LabelType | LabelType[];\n render: (\n labelProps: LabelRendererProps,\n labelStart: ReactNode,\n labelEnd: ReactNode,\n renderers: FormRenderer,\n ) => ReactNode;\n}\n\nexport interface ActionRendererRegistration {\n type: \"action\";\n actionType?: string | string[];\n render: (props: ActionRendererProps, renderers: FormRenderer) => ReactElement;\n}\n\nexport interface ArrayRendererRegistration {\n type: \"array\";\n render: (props: ArrayRendererProps, renderers: FormRenderer) => ReactElement;\n}\n\nexport interface GroupRendererRegistration {\n type: \"group\";\n renderType?: string | string[];\n render: (\n props: GroupRendererProps,\n renderers: FormRenderer,\n ) => ReactElement | ((layout: ControlLayoutProps) => ControlLayoutProps);\n}\n\nexport interface DisplayRendererRegistration {\n type: \"display\";\n renderType?: string | string[];\n render: (\n props: DisplayRendererProps,\n renderers: FormRenderer,\n ) => ReactElement;\n}\n\nexport interface AdornmentRendererRegistration {\n type: \"adornment\";\n adornmentType?: string | string[];\n render: (props: AdornmentProps, renderers: FormRenderer) => AdornmentRenderer;\n}\n\nexport interface VisibilityRendererRegistration {\n type: \"visibility\";\n render: (props: VisibilityRendererProps) => ReactNode;\n}\n\nexport type RendererRegistration =\n | DataRendererRegistration\n | GroupRendererRegistration\n | DisplayRendererRegistration\n | ActionRendererRegistration\n | LabelRendererRegistration\n | ArrayRendererRegistration\n | AdornmentRendererRegistration\n | LayoutRendererRegistration\n | VisibilityRendererRegistration;\n\nexport function isIconAdornment(a: ControlAdornment): a is IconAdornment {\n return a.type === ControlAdornmentType.Icon;\n}\n\nexport function isAccordionAdornment(\n a: ControlAdornment,\n): a is AccordionAdornment {\n return a.type === ControlAdornmentType.Accordion;\n}\n\nexport function isSetFieldAdornment(\n a: ControlAdornment,\n): a is SetFieldAdornment {\n return a.type === ControlAdornmentType.SetField;\n}\n\nexport function createLayoutRenderer(\n render: LayoutRendererRegistration[\"render\"],\n options?: Partial<LayoutRendererRegistration>,\n): LayoutRendererRegistration {\n return { type: \"layout\", render, ...options };\n}\n\nexport function createActionRenderer(\n actionId: string | string[] | undefined,\n render: ActionRendererRegistration[\"render\"],\n options?: Partial<ActionRendererRegistration>,\n): ActionRendererRegistration {\n return { type: \"action\", actionType: actionId, render, ...options };\n}\n\nexport function createArrayRenderer(\n render: ArrayRendererRegistration[\"render\"],\n options?: Partial<ArrayRendererRegistration>,\n): ArrayRendererRegistration {\n return { type: \"array\", render, ...options };\n}\n\nexport function createDataRenderer(\n render: DataRendererRegistration[\"render\"],\n options?: Partial<DataRendererRegistration>,\n): DataRendererRegistration {\n return { type: \"data\", render, ...options };\n}\n\nexport function createGroupRenderer(\n render: GroupRendererRegistration[\"render\"],\n options?: Partial<GroupRendererRegistration>,\n): GroupRendererRegistration {\n return { type: \"group\", render, ...options };\n}\n\nexport function createDisplayRenderer(\n render: DisplayRendererRegistration[\"render\"],\n options?: Partial<DisplayRendererRegistration>,\n): DisplayRendererRegistration {\n return { type: \"display\", render, ...options };\n}\n\nexport function createLabelRenderer(\n render: LabelRendererRegistration[\"render\"],\n options?: Partial<LabelRendererRegistration>,\n): LabelRendererRegistration {\n return { type: \"label\", render, ...options };\n}\n\nexport function createVisibilityRenderer(\n render: VisibilityRendererRegistration[\"render\"],\n options?: Partial<VisibilityRendererRegistration>,\n): VisibilityRendererRegistration {\n return { type: \"visibility\", render, ...options };\n}\n\nexport function createAdornmentRenderer(\n render: AdornmentRendererRegistration[\"render\"],\n options?: Partial<AdornmentRendererRegistration>,\n): AdornmentRendererRegistration {\n return { type: \"adornment\", ...options, render };\n}\n","import React from \"react\";\n\nimport { DefaultRendererOptions } from \"./createDefaultRenderers\";\n\nexport const defaultTailwindTheme = {\n label: {\n groupLabelClass: \"font-bold\",\n requiredElement: <span className=\"text-red-500\"> *</span>,\n },\n array: {\n removableClass: \"grid grid-cols-[1fr_auto] items-center gap-x-2\",\n childClass: \"grow my-2\",\n addActionClass: \"my-2\",\n },\n group: {\n standardClassName: \"flex flex-col gap-4\",\n gridClassName: \"gap-x-2 gap-y-4\",\n flexClassName: \"gap-2\",\n },\n action: {\n className: \"bg-primary-500 rounded-lg p-3 text-white\",\n },\n layout: {\n className: \"flex flex-col\",\n errorClass: \"text-sm text-danger-500\",\n },\n data: {\n displayOnlyClass: \"flex flex-row items-center gap-2\",\n checkOptions: {\n className: \"flex items-center gap-4\",\n entryClass: \"flex gap-1 items-center\",\n },\n selectOptions: { emptyText: \"<select>\" },\n multilineClass: \"border p-2 outline-0 whitespace-pre\",\n },\n adornment: {\n accordion: {\n className: \"flex items-center gap-2 my-2\",\n titleClass: \"cursor-pointer\",\n iconOpenClass: \"fa fa-chevron-up\",\n iconClosedClass: \"fa fa-chevron-down\",\n },\n },\n} satisfies DefaultRendererOptions;\n","import React from \"react\";\nimport { DisplayRendererProps } from \"../controlRender\";\nimport {\n CustomDisplay,\n DisplayDataType,\n HtmlDisplay,\n IconDisplay,\n TextDisplay,\n} from \"../types\";\nimport clsx from \"clsx\";\nimport { getOverrideClass, rendererClass } from \"../util\";\nimport { DisplayRendererRegistration } from \"../renderers\";\n\nexport interface DefaultDisplayRendererOptions {\n textClassName?: string;\n htmlClassName?: string;\n}\n\nexport function createDefaultDisplayRenderer(\n options: DefaultDisplayRendererOptions = {},\n): DisplayRendererRegistration {\n return {\n render: (props) => <DefaultDisplay {...options} {...props} />,\n type: \"display\",\n };\n}\n\nexport function DefaultDisplay({\n data,\n display,\n className,\n style,\n ...options\n}: DefaultDisplayRendererOptions & DisplayRendererProps) {\n switch (data.type) {\n case DisplayDataType.Icon:\n return (\n <i\n style={style}\n className={clsx(\n getOverrideClass(className),\n display ? display.value : (data as IconDisplay).iconClass,\n )}\n />\n );\n case DisplayDataType.Text:\n return (\n <div\n style={style}\n className={rendererClass(className, options.textClassName)}\n >\n {display ? display.value : (data as TextDisplay).text}\n </div>\n );\n case DisplayDataType.Html:\n return (\n <div\n style={style}\n className={rendererClass(className, options.htmlClassName)}\n dangerouslySetInnerHTML={{\n __html: display\n ? (display.value ?? \"\")\n : (data as HtmlDisplay).html,\n }}\n />\n );\n case DisplayDataType.Custom:\n return (\n <div>\n Custom display placeholder: {(data as CustomDisplay).customId}\n </div>\n );\n default:\n return <h1>Unknown display type: {data.type}</h1>;\n }\n}\n","import { RenderedLayout } from \"../controlRender\";\nimport React, { ReactNode } from \"react\";\n\nexport interface DefaultLayoutRendererOptions {\n className?: string;\n errorClass?: string;\n renderError?: (errorText: string | null | undefined) => ReactNode;\n}\n\nexport function DefaultLayout({\n errorClass,\n renderError = (e) => e && <div className={errorClass}>{e}</div>,\n layout: { controlEnd, controlStart, label, children, errorControl },\n}: DefaultLayoutRendererOptions & {\n layout: RenderedLayout;\n}) {\n const ec = errorControl;\n const errorText = ec && ec.touched ? ec.error : undefined;\n return (\n <>\n {label}\n {controlStart}\n {children}\n {renderError(errorText)}\n {controlEnd}\n </>\n );\n}\n","import { VisibilityRendererProps } from \"../controlRender\";\nimport React, { useEffect } from \"react\";\nimport clsx from \"clsx\";\nimport { createVisibilityRenderer } from \"../renderers\";\n\nexport function createDefaultVisibilityRenderer() {\n return createVisibilityRenderer((props) => <DefaultVisibility {...props} />);\n}\n\nexport function DefaultVisibility({\n visibility,\n children,\n className,\n style,\n divRef,\n}: VisibilityRendererProps) {\n const v = visibility.value;\n useEffect(() => {\n if (v) {\n visibility.setValue((ex) => ({ visible: v.visible, showing: v.visible }));\n }\n }, [v?.visible]);\n return v?.visible ? (\n <div className={clsx(className)} style={style} ref={divRef}>\n {children}\n </div>\n ) : (\n <></>\n );\n}\n","import { Control } from \"@react-typed-forms/core\";\nimport React, { useMemo, useState } from \"react\";\nimport { rendererClass } from \"../util\";\nimport { FieldOption, FieldType } from \"../types\";\nimport { createDataRenderer } from \"../renderers\";\n\nexport interface SelectRendererOptions {\n className?: string;\n emptyText?: string;\n requiredText?: string;\n}\n\nexport function createSelectRenderer(options: SelectRendererOptions = {}) {\n return createDataRenderer(\n (props, asArray) => (\n <SelectDataRenderer\n className={rendererClass(props.className, options.className)}\n state={props.control}\n id={props.id}\n readonly={props.readonly}\n options={props.options ?? []}\n required={props.required}\n emptyText={options.emptyText}\n requiredText={options.requiredText}\n convert={createSelectConversion(props.field.type)}\n />\n ),\n {\n options: true,\n },\n );\n}\n\ntype SelectConversion = (a: any) => string | number;\n\nexport interface SelectDataRendererProps {\n id?: string;\n className?: string;\n options: FieldOption[];\n emptyText?: string;\n requiredText?: string;\n readonly: boolean;\n required: boolean;\n state: Control<any>;\n convert: SelectConversion;\n}\n\nexport function SelectDataRenderer({\n state,\n options,\n className,\n convert,\n required,\n emptyText = \"N/A\",\n requiredText = \"<please select>\",\n readonly,\n ...props\n}: SelectDataRendererProps) {\n const { value, disabled } = state;\n const [showEmpty] = useState(!required || value == null);\n const optionStringMap = useMemo(\n () => Object.fromEntries(options.map((x) => [convert(x.value), x.value])),\n [options],\n );\n return (\n <select\n {...props}\n className={className}\n onChange={(v) => (state.value = optionStringMap[v.target.value])}\n value={convert(value)}\n disabled={disabled || readonly}\n >\n {showEmpty && (\n <option value=\"\">{required ? requiredText : emptyText}</option>\n )}\n {options.map((x, i) => (\n <option key={i} value={convert(x.value)} disabled={!!x.disabled}>\n {x.name}\n </option>\n ))}\n </select>\n );\n}\n\nexport function createSelectConversion(ft: string): SelectConversion {\n switch (ft) {\n case FieldType.String:\n case FieldType.Int:\n case FieldType.Double:\n return (a) => a;\n default:\n return (a) => a?.toString() ?? \"\";\n }\n}\n","import { Control } from \"@react-typed-forms/core\";\nimport { SchemaField, SchemaInterface } from \"../types\";\nimport React from \"react\";\nimport { rendererClass } from \"../util\";\n\nexport function DefaultDisplayOnly({\n control,\n className,\n emptyText,\n schemaInterface,\n field,\n style,\n}: {\n control: Control<any>;\n field: SchemaField;\n schemaInterface: SchemaInterface;\n className?: string;\n style?: React.CSSProperties;\n emptyText?: string | null;\n}) {\n const v = control.value;\n const text =\n (schemaInterface.isEmptyValue(field, v)\n ? emptyText\n : schemaInterface.textValue(field, v)) ?? \"\";\n return (\n <div style={style} className={rendererClass(className)}>\n {text}\n </div>\n );\n}\n","import { FieldType } from \"../types\";\nimport React from \"react\";\nimport {\n Control,\n formControlProps,\n useControl,\n useControlEffect,\n} from \"@react-typed-forms/core\";\n\nexport function ControlInput({\n control,\n convert,\n ...props\n}: React.InputHTMLAttributes<HTMLInputElement> & {\n control: Control<any>;\n convert: InputConversion;\n}) {\n const { errorText, value, onChange, ...inputProps } =\n formControlProps(control);\n const textValue = useControl(() => toText(value));\n useControlEffect(\n () => control.value,\n (v) => (textValue.value = toText(v)),\n );\n return (\n <input\n {...inputProps}\n type={convert[0]}\n value={textValue.value}\n onChange={(e) => {\n textValue.value = e.target.value;\n const converted = convert[1](e.target.value);\n if (converted !== undefined) control.value = converted;\n }}\n {...props}\n />\n );\n\n function toText(value: any) {\n return value == null ? \"\" : convert[2](value);\n }\n}\n\ntype InputConversion = [\n string,\n (s: string) => any,\n (a: any) => string | number,\n];\n\nexport function createInputConversion(ft: string): InputConversion {\n switch (ft) {\n case FieldType.String:\n return [\"text\", (a) => a, (a) => a];\n case FieldType.Bool:\n return [\n \"text\",\n (a) => (a === \"true\" ? true : a === \"false\" ? false : undefined),\n (a) => a?.toString() ?? \"\",\n ];\n case FieldType.Int:\n return [\n \"number\",\n (a) => (a !== \"\" ? parseInt(a) : null),\n (a) => (a == null ? \"\" : a),\n ];\n case FieldType.Date:\n return [\"date\", (a) => a, (a) => a];\n case FieldType.Time:\n return [\n \"time\",\n (a) => {\n const l = a.length;\n if (l === 5) return a + \":00\";\n if (l === 8) return a;\n return undefined;\n },\n (a) => (a ? a.substring(0, 5) : \"\"),\n ];\n case FieldType.Double:\n return [\n \"number\",\n (a) => (a !== \"\" ? parseFloat(a) : null),\n (a) => (a == null ? \"\" : a),\n ];\n default:\n return [\"text\", (a) => a, (a) => a];\n }\n}\n","import { ArrayRendererRegistration } from \"../renderers\";\nimport {\n ActionRendererProps,\n applyArrayLengthRestrictions,\n ArrayRendererProps,\n} from \"../controlRender\";\nimport clsx from \"clsx\";\nimport React, { Fragment, ReactNode } from \"react\";\nimport { RenderElements } from \"@react-typed-forms/core\";\nimport { applyLengthRestrictions } from \"../util\";\n\nexport interface DefaultArrayRendererOptions {\n className?: string;\n removableClass?: string;\n childClass?: string;\n removableChildClass?: string;\n removeActionClass?: string;\n addActionClass?: string;\n}\n\nexport function createDefaultArrayRenderer(\n options?: DefaultArrayRendererOptions,\n): ArrayRendererRegistration {\n return {\n render: (props, { renderAction }) => (\n <DefaultArrayRenderer\n {...props}\n {...options}\n renderAction={renderAction}\n />\n ),\n type: \"array\",\n };\n}\n\nexport interface DefaultArrayRendererProps\n extends DefaultArrayRendererOptions,\n ArrayRendererProps {\n renderAction: (props: ActionRendererProps) => ReactNode;\n}\n\nexport function DefaultArrayRenderer(props: DefaultArrayRendererProps) {\n const {\n renderElement,\n className,\n removableClass,\n childClass,\n removableChildClass,\n removeActionClass,\n addActionClass,\n arrayControl,\n renderAction,\n style,\n } = props;\n const { addAction, removeAction } = applyArrayLengthRestrictions(props);\n return (\n <div style={style}>\n <div className={clsx(className, removeAction && removableClass)}>\n <RenderElements control={arrayControl}>\n {(_, x) =>\n removeAction ? (\n <>\n <div className={clsx(childClass, removableChildClass)}>\n {renderElement(x)}\n </div>\n <div className={removeActionClass}>\n {renderAction(removeAction(x))}\n </div>\n </>\n ) : (\n <div className={childClass}>{renderElement(x)}</div>\n )\n }\n </RenderElements>\n </div>\n {addAction && (\n <div className={addActionClass}>{renderAction(addAction)}</div>\n )}\n </div>\n );\n}\n","import { DataRenderType, FieldOption } from \"../types\";\nimport {\n Control,\n Fcheckbox,\n RenderArrayElements,\n useComputed,\n} from \"@react-typed-forms/core\";\nimport React from \"react\";\nimport { createDataRenderer } from \"../renderers\";\nimport { rendererClass } from \"../util\";\n\nexport interface CheckRendererOptions {\n className?: string;\n entryClass?: string;\n checkClass?: string;\n labelClass?: string;\n}\n\nexport function createRadioRenderer(options: CheckRendererOptions = {}) {\n return createDataRenderer(\n (p) => (\n <CheckButtons\n {...options}\n {...p}\n className={rendererClass(p.className, options.className)}\n isChecked={(control, o) => control.value == o.value}\n setChecked={(c, o) => (c.value = o.value)}\n control={p.control}\n type=\"radio\"\n />\n ),\n {\n renderType: DataRenderType.Radio,\n },\n );\n}\n\nexport function createCheckListRenderer(options: CheckRendererOptions = {}) {\n return createDataRenderer(\n (p) => (\n <CheckButtons\n {...options}\n {...p}\n className={rendererClass(p.className, options.className)}\n isChecked={(control, o) => {\n const v = control.value;\n return Array.isArray(v) ? v.includes(o.value) : false;\n }}\n setChecked={(c, o, checked) => {\n c.setValue((x) => setIncluded(x ?? [], o.value, checked));\n }}\n control={p.control}\n type=\"checkbox\"\n />\n ),\n {\n collection: true,\n renderType: DataRenderType.CheckList,\n },\n );\n}\n\nexport function CheckButtons({\n control,\n options,\n labelClass,\n checkClass,\n readonly,\n entryClass,\n className,\n id,\n type,\n isChecked,\n setChecked,\n}: {\n id?: string;\n className?: string;\n options?: FieldOption[] | null;\n control: Control<any>;\n entryClass?: string;\n checkClass?: string;\n labelClass?: string;\n readonly?: boolean;\n type: \"checkbox\" | \"radio\";\n isChecked: (c: Control<any>, o: FieldOption) => boolean;\n setChecked: (c: Control<any>, o: FieldOption, checked: boolean) => void;\n}) {\n const { disabled } = control;\n const name = \"r\" + control.uniqueId;\n return (\n <div className={className} id={id}>\n <RenderArrayElements array={options?.filter((x) => x.value != null)}>\n {(o, i) => {\n const checked = useComputed(() => isChecked(control, o)).value;\n return (\n <div key={i} className={entryClass}>\n <input\n id={name + \"_\" + i}\n className={checkClass}\n type={type}\n name={name}\n readOnly={readonly}\n disabled={disabled}\n checked={checked}\n onChange={(x) => {\n !readonly && setChecked(control, o, x.target.checked);\n }}\n />\n <label className={labelClass} htmlFor={name + \"_\" + i}>\n {o.name}\n </label>\n </div>\n );\n }}\n </RenderArrayElements>\n </div>\n );\n}\n\nexport function setIncluded<A>(array: A[], elem: A, included: boolean): A[] {\n const already = array.includes(elem);\n if (included === already) {\n return array;\n }\n if (included) {\n return [...array, elem];\n }\n return array.filter((e) => e !== elem);\n}\n\nexport function createCheckboxRenderer(options: CheckRendererOptions = {}) {\n return createDataRenderer(\n (props, renderer) => (p) => ({\n ...p,\n label: undefined,\n children: (\n <div className={rendererClass(props.className, options.entryClass)}>\n <Fcheckbox\n id={props.id}\n control={props.control}\n style={props.style}\n className={options.checkClass}\n />\n {p.label && renderer.renderLabel(p.label, undefined, undefined)}\n </div>\n ),\n }),\n { renderType: DataRenderType.Checkbox },\n );\n}\n","import React, { CSSProperties, Fragment, ReactElement, ReactNode } from \"react\";\nimport { AccordionAdornment } from \"../types\";\nimport { Control, useControl } from \"@react-typed-forms/core\";\nimport clsx from \"clsx\";\nimport { FormRenderer } from \"../controlRender\";\nimport { DefaultAccordionRendererOptions } from \"../createDefaultRenderers\";\n\nexport function DefaultAccordion({\n children,\n accordion,\n contentStyle,\n contentClassName,\n designMode,\n iconOpenClass,\n iconClosedClass,\n className,\n renderTitle = (t) => t,\n renderToggler,\n renderers,\n titleClass,\n}: {\n children: ReactElement;\n accordion: Partial<AccordionAdornment>;\n contentStyle?: CSSProperties;\n contentClassName?: string;\n designMode?: boolean;\n renderers: FormRenderer;\n} & DefaultAccordionRendererOptions) {\n const open = useControl(!!accordion.defaultExpanded);\n const isOpen = open.value;\n const fullContentStyle =\n isOpen || designMode ? contentStyle : { ...contentStyle, display: \"none\" };\n const title = renderers.renderLabelText(renderTitle(accordion.title, open));\n const toggler = renderToggler ? (\n renderToggler(open, title)\n ) : (\n <button className={className} onClick={() => open.setValue((x) => !x)}>\n <label className={titleClass}>{title}</label>\n <i className={clsx(isOpen ? iconOpenClass : iconClosedClass)} />\n </button>\n );\n\n return (\n <>\n {toggler}\n <div style={fullContentStyle} className={contentClassName}>\n {children}\n </div>\n </>\n );\n}\n","import { createDataRenderer } from \"../renderers\";\nimport { Control, newControl, useControlEffect } from \"@react-typed-forms/core\";\nimport { DataRenderType, FieldType } from \"../types\";\nimport React, { ReactNode } from \"react\";\n\nexport function createNullToggleRenderer() {\n return createDataRenderer(\n ({ control, field, renderOptions, ...props }, renderers) => {\n const nullControl = (control.meta[\"nullControl\"] ??= newControl(\n control.current.value != null,\n ));\n return (layout) => {\n const newLayout = renderers.renderData({\n ...props,\n control: nullControl,\n field: { ...field, type: FieldType.Bool },\n renderOptions: { type: DataRenderType.Checkbox },\n })(layout);\n return {\n ...newLayout,\n children: (\n <NullWrapper\n control={control}\n nullControl={nullControl}\n children={newLayout.children}\n readonly={props.readonly}\n defaultValue={props.definition.defaultValue}\n />\n ),\n };\n };\n },\n );\n}\n\nfunction NullWrapper({\n children,\n nullControl,\n control,\n defaultValue,\n readonly,\n}: {\n control: Control<any>;\n nullControl: Control<boolean>;\n children: ReactNode;\n readonly: boolean;\n defaultValue: any;\n}) {\n useControlEffect(\n () => readonly,\n (r) => (nullControl.disabled = r),\n true,\n );\n useControlEffect(\n () => nullControl.value,\n (e) => {\n if (e) {\n control.value = nullControl.meta[\"nonNullValue\"] ?? defaultValue;\n } else {\n nullControl.meta[\"nonNullValue\"] = control.value;\n control.value = null;\n }\n },\n );\n return children;\n}\n","import { createDataRenderer } from \"../renderers\";\nimport { DataRendererProps } from \"../controlRender\";\nimport React, { useRef } from \"react\";\nimport { useControlEffect } from \"@react-typed-forms/core\";\nimport { rendererClass } from \"../util\";\n\nexport function createMultilineFieldRenderer(className?: string) {\n return createDataRenderer((p) => (\n <MultilineTextfield\n {...p}\n className={rendererClass(p.className, className)}\n />\n ));\n}\n\nexport function MultilineTextfield({ control, className }: DataRendererProps) {\n const codeRef = useRef<HTMLElement | null>(null);\n useControlEffect(\n () => control.value,\n (v) => {\n const c = codeRef.current;\n if (c && c.textContent !== v) {\n c.textContent = v;\n }\n },\n true,\n );\n return (\n <code\n contentEditable={!control.disabled}\n className={className}\n onInput={(t) => (control.value = t.currentTarget.textContent)}\n ref={codeRef}\n />\n );\n}\n","import { createDataRenderer } from \"../renderers\";\nimport { useJsonataExpression } from \"../hooks\";\nimport { DataRenderType, JsonataRenderOptions } from \"../types\";\nimport { ControlDataContext, rendererClass } from \"../util\";\nimport { Control } from \"@react-typed-forms/core\";\nimport React from \"react\";\n\nexport function createJsonataRenderer(className?: string) {\n return createDataRenderer(\n (p) => (\n <JsonataRenderer\n renderOptions={p.renderOptions as JsonataRenderOptions}\n className={rendererClass(p.className, className)}\n dataContext={p.dataContext}\n control={p.control}\n readonly={p.readonly}\n />\n ),\n { renderType: DataRenderType.Jsonata },\n );\n}\n\nexport function JsonataRenderer({\n control,\n renderOptions: { expression },\n readonly,\n className,\n dataContext,\n}: {\n control: Control<any>;\n renderOptions: JsonataRenderOptions;\n className?: string;\n dataContext: ControlDataContext;\n readonly: boolean;\n}) {\n const rendered = useJsonataExpression(\n expression,\n dataContext,\n () => ({ value: control.value, readonly, disabled: control.disabled }),\n (v) =>\n typeof v == null\n ? \"\"\n : typeof v === \"object\"\n ? \"error: \" + JSON.stringify(v)\n : v.toString(),\n );\n return (\n <div\n className={className}\n dangerouslySetInnerHTML={{ __html: rendered.value }}\n />\n );\n}\n","import {\n createDefaultDisplayRenderer,\n DefaultDisplayRendererOptions,\n} from \"./components/DefaultDisplay\";\nimport {\n DefaultLayout,\n DefaultLayoutRendererOptions,\n} from \"./components/DefaultLayout\";\nimport {\n ActionRendererRegistration,\n AdornmentRendererRegistration,\n createActionRenderer,\n createDataRenderer,\n createLayoutRenderer,\n DataRendererRegistration,\n DefaultRenderers,\n GroupRendererRegistration,\n isAccordionAdornment,\n isIconAdornment,\n isSetFieldAdornment,\n LabelRendererRegistration,\n} from \"./renderers\";\nimport { createDefaultVisibilityRenderer } from \"./components/DefaultVisibility\";\nimport React, {\n CSSProperties,\n Fragment,\n ReactElement,\n ReactNode,\n useCallback,\n useEffect,\n useRef,\n} from \"react\";\nimport {\n ControlDataContext,\n DataContext,\n findFieldPath,\n hasOptions,\n lookupChildControl,\n rendererClass,\n useDynamicHooks,\n} from \"./util\";\nimport clsx from \"clsx\";\nimport {\n ActionRendererProps,\n appendMarkupAt,\n ControlLayoutProps,\n GroupRendererProps,\n LabelType,\n renderLayoutParts,\n wrapLayout,\n} from \"./controlRender\";\nimport {\n AdornmentPlacement,\n DataRenderType,\n FieldOption,\n FieldType,\n FlexRenderer,\n GridRenderer,\n isDataGroupRenderer,\n isDisplayOnlyRenderer,\n isFlexRenderer,\n isGridRenderer,\n isTextfieldRenderer,\n SetFieldAdornment,\n} from \"./types\";\nimport {\n createSelectRenderer,\n SelectRendererOptions,\n} from \"./components/SelectDataRenderer\";\nimport { DefaultDisplayOnly } from \"./components/DefaultDisplayOnly\";\nimport {\n Control,\n Fcheckbox,\n newControl,\n useControlEffect,\n} from \"@react-typed-forms/core\";\nimport { ControlInput, createInputConversion } from \"./components/ControlInput\";\nimport {\n createDefaultArrayRenderer,\n DefaultArrayRendererOptions,\n} from \"./components/DefaultArrayRenderer\";\nimport {\n CheckRendererOptions,\n createCheckboxRenderer,\n createCheckListRenderer,\n createRadioRenderer,\n} from \"./components/CheckRenderer\";\nimport { DefaultAccordion } from \"./components/DefaultAccordion\";\nimport { createNullToggleRenderer } from \"./components/NullToggle\";\nimport { createMultilineFieldRenderer } from \"./components/MultilineTextfield\";\nimport { createJsonataRenderer } from \"./components/JsonataRenderer\";\nimport { UseEvalExpressionHook } from \"./hooks\";\n\nexport interface DefaultRendererOptions {\n data?: DefaultDataRendererOptions;\n display?: DefaultDisplayRendererOptions;\n action?: DefaultActionRendererOptions;\n array?: DefaultArrayRendererOptions;\n group?: DefaultGroupRendererOptions;\n label?: DefaultLabelRendererOptions;\n adornment?: DefaultAdornmentRendererOptions;\n layout?: DefaultLayoutRendererOptions;\n}\n\ninterface StyleProps {\n className?: string;\n style?: CSSProperties;\n}\n\ninterface DefaultActionRendererOptions {\n className?: string;\n renderContent?: (\n actionText: string,\n actionId: string,\n actionData: any,\n ) => ReactNode;\n}\n\nexport function createButtonActionRenderer(\n actionId: string | string[] | undefined,\n options: DefaultActionRendererOptions = {},\n): ActionRendererRegistration {\n return createActionRenderer(\n actionId,\n ({\n onClick,\n actionText,\n className,\n style,\n actionId,\n actionData,\n }: ActionRendererProps) => {\n return (\n <button\n className={rendererClass(className, options.className)}\n style={style}\n onClick={onClick}\n >\n {options.renderContent?.(actionText, actionId, actionData) ??\n actionText}\n </button>\n );\n },\n );\n}\n\ninterface DefaultGroupRendererOptions {\n className?: string;\n standardClassName?: string;\n gridStyles?: (columns: GridRenderer) => StyleProps;\n gridClassName?: string;\n defaultGridColumns?: number;\n flexClassName?: string;\n defaultFlexGap?: string;\n}\n\nexport function createDefaultGroupRenderer(\n options?: DefaultGroupRendererOptions,\n): GroupRendererRegistration {\n const {\n className,\n gridStyles = defaultGridStyles,\n defaultGridColumns = 2,\n gridClassName,\n standardClassName,\n flexClassName,\n defaultFlexGap,\n } = options ?? {};\n\n function defaultGridStyles({\n columns = defaultGridColumns,\n }: GridRenderer): StyleProps {\n return {\n className: gridClassName,\n style: {\n display: \"grid\",\n gridTemplateColumns: `repeat(${columns}, 1fr)`,\n },\n };\n }\n\n function flexStyles(options: FlexRenderer): StyleProps {\n return {\n className: flexClassName,\n style: {\n display: \"flex\",\n gap: options.gap ? options.gap : defaultFlexGap,\n flexDirection: options.direction\n ? (options.direction as any)\n : undefined,\n },\n };\n }\n\n function render(props: GroupRendererProps) {\n const { renderChild, renderOptions, childDefinitions } = props;\n\n const { style, className: gcn } = isGridRenderer(renderOptions)\n ? gridStyles(renderOptions)\n : isFlexRenderer(renderOptions)\n ? flexStyles(renderOptions)\n : ({ className: standardClassName } as StyleProps);\n\n return (cp: ControlLayoutProps) => {\n return {\n ...cp,\n children: (\n <div\n className={rendererClass(props.className, clsx(className, gcn))}\n style={style}\n >\n {childDefinitions?.map((c, i) => renderChild(i, c))}\n </div>\n ),\n };\n };\n }\n\n return { type: \"group\", render };\n}\n\nexport const DefaultBoolOptions: FieldOption[] = [\n { name: \"Yes\", value: true },\n { name: \"No\", value: false },\n];\n\ninterface DefaultDataRendererOptions {\n inputClass?: string;\n displayOnlyClass?: string;\n selectOptions?: SelectRendererOptions;\n checkboxOptions?: CheckRendererOptions;\n checkOptions?: CheckRendererOptions;\n radioOptions?: CheckRendererOptions;\n checkListOptions?: CheckRendererOptions;\n booleanOptions?: FieldOption[];\n optionRenderer?: DataRendererRegistration;\n multilineClass?: string;\n jsonataClass?: string;\n}\n\nexport function createDefaultDataRenderer(\n options: DefaultDataRendererOptions = {},\n): DataRendererRegistration {\n const jsonataRenderer = createJsonataRenderer(options.jsonataClass);\n const nullToggler = createNullToggleRenderer();\n const multilineRenderer = createMultilineFieldRenderer(\n options.multilineClass,\n );\n const checkboxRenderer = createCheckboxRenderer(\n options.checkOptions ?? options.checkboxOptions,\n );\n const selectRenderer = createSelectRenderer(options.selectOptions);\n const radioRenderer = createRadioRenderer(\n options.radioOptions ?? options.checkOptions,\n );\n const checkListRenderer = createCheckListRenderer(\n options.checkListOptions ?? options.checkOptions,\n );\n const { inputClass, booleanOptions, optionRenderer, displayOnlyClass } = {\n optionRenderer: selectRenderer,\n booleanOptions: DefaultBoolOptions,\n ...options,\n };\n\n return createDataRenderer((props, renderers) => {\n const fieldType = props.field.type;\n const renderOptions = props.renderOptions;\n let renderType = renderOptions.type;\n if (props.toArrayProps && renderType !== DataRenderType.CheckList) {\n return (p) => ({\n ...p,\n children: renderers.renderArray(props.toArrayProps!()),\n });\n }\n if (fieldType === FieldType.Compound) {\n const groupOptions = (isDataGroupRenderer(renderOptions)\n ? renderOptions.groupOptions\n : undefined) ?? { type: \"Standard\", hideTitle: true };\n return renderers.renderGroup({ ...props, renderOptions: groupOptions });\n }\n if (fieldType == FieldType.Any) return <>No control for Any</>;\n if (isDisplayOnlyRenderer(renderOptions))\n return (p) => ({\n ...p,\n className: displayOnlyClass,\n children: (\n <DefaultDisplayOnly\n field={props.field}\n schemaInterface={props.dataContext.schemaInterface}\n control={props.control}\n className={props.className}\n style={props.style}\n emptyText={renderOptions.emptyText}\n />\n ),\n });\n const isBool = fieldType === FieldType.Bool;\n if (booleanOptions != null && isBool && props.options == null) {\n return renderers.renderData({ ...props, options: booleanOptions });\n }\n if (renderType === DataRenderType.Standard && hasOptions(props)) {\n return optionRenderer.render(props, renderers);\n }\n switch (renderType) {\n case DataRenderType.NullToggle:\n return nullToggler.render(props, renderers);\n case DataRenderType.CheckList:\n return checkListRenderer.render(props, renderers);\n case DataRenderType.Dropdown:\n return selectRenderer.render(props, renderers);\n case DataRenderType.Radio:\n return radioRenderer.render(props, renderers);\n case DataRenderType.Checkbox:\n return checkboxRenderer.render(props, renderers);\n case DataRenderType.Jsonata:\n return jsonataRenderer.render(props, renderers);\n }\n if (isTextfieldRenderer(renderOptions) && renderOptions.multiline)\n return multilineRenderer.render(props, renderers);\n const placeholder = isTextfieldRenderer(renderOptions)\n ? renderOptions.placeholder\n : undefined;\n return (\n <ControlInput\n className={rendererClass(props.className, inputClass)}\n style={props.style}\n id={props.id}\n readOnly={props.readonly}\n control={props.control}\n placeholder={placeholder ?? undefined}\n convert={createInputConversion(props.field.type)}\n />\n );\n });\n}\n\nexport interface DefaultAccordionRendererOptions {\n className?: string;\n titleClass?: string;\n togglerClass?: string;\n iconOpenClass?: string;\n iconClosedClass?: string;\n renderTitle?: (\n title: string | undefined,\n current: Control<boolean>,\n ) => ReactNode;\n renderToggler?: (current: Control<boolean>, title: ReactNode) => ReactNode;\n}\n\nexport interface DefaultAdornmentRendererOptions {\n accordion?: DefaultAccordionRendererOptions;\n}\n\nexport function createDefaultAdornmentRenderer(\n options: DefaultAdornmentRendererOptions = {},\n): AdornmentRendererRegistration {\n return {\n type: \"adornment\",\n render: ({ adornment, designMode, parentContext, useExpr }, renderers) => ({\n apply: (rl) => {\n if (isSetFieldAdornment(adornment) && useExpr) {\n const hook = useExpr(adornment.expression, (x) => x);\n const dynamicHooks = useDynamicHooks({ value: hook });\n const SetFieldWrapper = useCallback(setFieldWrapper, [dynamicHooks]);\n return wrapLayout((x) => (\n <SetFieldWrapper\n children={x}\n parentContext={parentContext}\n adornment={adornment}\n />\n ))(rl);\n\n function setFieldWrapper({\n children,\n adornment,\n parentContext,\n }: {\n children: ReactNode;\n adornment: SetFieldAdornment;\n parentContext: ControlDataContext;\n }) {\n const { value } = dynamicHooks(parentContext);\n const refField = findFieldPath(\n parentContext.fields,\n adornment.field,\n );\n const otherField = refField\n ? lookupChildControl(parentContext, refField)\n : undefined;\n const always = !adornment.defaultOnly;\n useControlEffect(\n () => [value?.value, otherField?.value == null],\n ([v]) => {\n otherField?.setValue((x) => (always || x == null ? v : x));\n },\n true,\n );\n return children;\n }\n }\n if (isIconAdornment(adornment)) {\n return appendMarkupAt(\n adornment.placement ?? AdornmentPlacement.ControlStart,\n <i className={adornment.iconClass} />,\n )(rl);\n }\n if (isAccordionAdornment(adornment)) {\n return wrapLayout((x) => (\n <DefaultAccordion\n renderers={renderers}\n children={x}\n accordion={adornment}\n contentStyle={rl.style}\n contentClassName={rl.className}\n designMode={designMode}\n {...options.accordion}\n />\n ))(rl);\n }\n },\n priority: 0,\n adornment,\n }),\n };\n}\n\nfunction SetFieldWrapper({\n children,\n parentContext,\n adornment,\n dynamicHooks,\n}: {\n children: ReactNode;\n parentContext: ControlDataContext;\n adornment: SetFieldAdornment;\n dynamicHooks: (p: ControlDataContext) => { value: Control<any> | undefined };\n}) {}\n\nfunction createDefaultLayoutRenderer(\n options: DefaultLayoutRendererOptions = {},\n) {\n return createLayoutRenderer((props, renderers) => {\n const layout = renderLayoutParts(\n {\n ...props,\n className: rendererClass(props.className, options.className),\n },\n renderers,\n );\n return {\n children: layout.wrapLayout(\n <DefaultLayout layout={layout} {...options} />,\n ),\n className: layout.className,\n style: layout.style,\n divRef: (e) =>\n e && props.errorControl\n ? (props.errorControl.meta.scrollElement = e)\n : undefined,\n };\n });\n}\n\ninterface DefaultLabelRendererOptions {\n className?: string;\n groupLabelClass?: string;\n controlLabelClass?: string;\n requiredElement?: ReactNode;\n labelContainer?: (children: ReactElement) => ReactElement;\n}\n\nexport function createDefaultLabelRenderer(\n options?: DefaultLabelRendererOptions,\n): LabelRendererRegistration {\n const {\n className,\n groupLabelClass,\n controlLabelClass,\n requiredElement,\n labelContainer,\n } = {\n requiredElement: <span> *</span>,\n labelContainer: (c: ReactElement) => c,\n ...options,\n };\n return {\n render: (props, labelStart, labelEnd, renderers) => {\n if (props.type == LabelType.Text) return props.label;\n return labelContainer(\n <>\n <label\n htmlFor={props.forId}\n className={rendererClass(\n props.className,\n clsx(\n className,\n props.type === LabelType.Group && groupLabelClass,\n props.type === LabelType.Control && controlLabelClass,\n ),\n )}\n >\n {labelStart}\n {renderers.renderLabelText(props.label)}\n {props.required && requiredElement}\n </label>\n {labelEnd}\n </>,\n );\n },\n type: \"label\",\n };\n}\n\nexport function createDefaultRenderers(\n options: DefaultRendererOptions = {},\n): DefaultRenderers {\n return {\n data: createDefaultDataRenderer(options.data),\n display: createDefaultDisplayRenderer(options.display),\n action: createButtonActionRenderer(undefined, options.action),\n array: createDefaultArrayRenderer(options.array),\n group: createDefaultGroupRenderer(options.group),\n label: createDefaultLabelRenderer(options.label),\n adornment: createDefaultAdornmentRenderer(options.adornment),\n renderLayout: createDefaultLayoutRenderer(options.layout),\n visibility: createDefaultVisibilityRenderer(),\n };\n}\n","import { ReactNode } from \"react\";\nimport {\n ActionRendererProps,\n AdornmentProps,\n AdornmentRenderer,\n ArrayRendererProps,\n ControlLayoutProps,\n DataRendererProps,\n DisplayRendererProps,\n FormRenderer,\n GroupRendererProps,\n LabelRendererProps,\n LabelType,\n} from \"./controlRender\";\nimport { hasOptions } from \"./util\";\nimport {\n ActionRendererRegistration,\n AdornmentRendererRegistration,\n ArrayRendererRegistration,\n DataRendererRegistration,\n DefaultRenderers,\n DisplayRendererRegistration,\n GroupRendererRegistration,\n LabelRendererRegistration,\n LayoutRendererRegistration,\n RendererRegistration,\n VisibilityRendererRegistration,\n} from \"./renderers\";\nimport { createDefaultRenderers } from \"./createDefaultRenderers\";\nimport { DataRenderType } from \"./types\";\n\nexport function createFormRenderer(\n customRenderers: RendererRegistration[] = [],\n defaultRenderers: DefaultRenderers = createClassStyledRenderers(),\n): FormRenderer {\n const dataRegistrations = customRenderers.filter(isDataRegistration);\n const groupRegistrations = customRenderers.filter(isGroupRegistration);\n const adornmentRegistrations = customRenderers.filter(\n isAdornmentRegistration,\n );\n const displayRegistrations = customRenderers.filter(isDisplayRegistration);\n const labelRenderers = customRenderers.filter(isLabelRegistration);\n const arrayRenderers = customRenderers.filter(isArrayRegistration);\n const actionRenderers = customRenderers.filter(isActionRegistration);\n const layoutRenderers = customRenderers.filter(isLayoutRegistration);\n const visibilityRenderer =\n customRenderers.find(isVisibilityRegistration) ??\n defaultRenderers.visibility;\n\n const formRenderers: FormRenderer = {\n renderAction,\n renderData,\n renderGroup,\n renderDisplay,\n renderLabel,\n renderArray,\n renderAdornment,\n renderLayout,\n renderVisibility: visibilityRenderer.render,\n renderLabelText,\n };\n\n function renderLabelText(label: ReactNode) {\n return renderLabel({ label, type: LabelType.Text }, undefined, undefined);\n }\n\n function renderLayout(props: ControlLayoutProps) {\n const renderer =\n layoutRenderers.find((x) => !x.match || x.match(props)) ??\n defaultRenderers.renderLayout;\n return renderer.render(props, formRenderers);\n }\n\n function renderAdornment(props: AdornmentProps): AdornmentRenderer {\n const renderer =\n adornmentRegistrations.find((x) =>\n isOneOf(x.adornmentType, props.adornment.type),\n ) ?? defaultRenderers.adornment;\n return renderer.render(props, formRenderers);\n }\n\n function renderArray(props: ArrayRendererProps) {\n return (arrayRenderers[0] ?? defaultRenderers.array).render(\n props,\n formRenderers,\n );\n }\n\n function renderLabel(\n props: LabelRendererProps,\n labelStart: ReactNode,\n labelEnd: ReactNode,\n ) {\n const renderer =\n labelRenderers.find((x) => isOneOf(x.labelType, props.type)) ??\n defaultRenderers.label;\n return renderer.render(props, labelStart, labelEnd, formRenderers);\n }\n\n function renderData(\n props: DataRendererProps,\n ): (layout: ControlLayoutProps) => ControlLayoutProps {\n const {\n renderOptions: { type: renderType },\n field,\n } = props;\n\n const options = hasOptions(props);\n const renderer =\n dataRegistrations.find(\n (x) =>\n (x.collection ?? false) ===\n (props.elementIndex == null && (field.collection ?? false)) &&\n (x.options ?? false) === options &&\n ((x.schemaType &&\n renderType == DataRenderType.Standard &&\n isOneOf(x.schemaType, field.type)) ||\n (x.renderType && isOneOf(x.renderType, renderType)) ||\n (x.match && x.match(props))),\n ) ?? defaultRenderers.data;\n\n const result = renderer.render(props, formRenderers);\n if (typeof result === \"function\") return result;\n return (l) => ({ ...l, children: result });\n }\n\n function renderGroup(\n props: GroupRendererProps,\n ): (layout: ControlLayoutProps) => ControlLayoutProps {\n const renderType = props.renderOptions.type;\n const renderer =\n groupRegistrations.find((x) => isOneOf(x.renderType, renderType)) ??\n defaultRenderers.group;\n const result = renderer.render(props, formRenderers);\n if (typeof result === \"function\") return result;\n return (l) => ({ ...l, children: result });\n }\n\n function renderAction(props: ActionRendererProps) {\n const renderer =\n actionRenderers.find((x) => isOneOf(x.actionType, props.actionId)) ??\n defaultRenderers.action;\n return renderer.render(props, formRenderers);\n }\n\n function renderDisplay(props: DisplayRendererProps) {\n const renderType = props.data.type;\n const renderer =\n displayRegistrations.find((x) => isOneOf(x.renderType, renderType)) ??\n defaultRenderers.display;\n return renderer.render(props, formRenderers);\n }\n\n return formRenderers;\n}\n\nfunction createClassStyledRenderers() {\n return createDefaultRenderers({\n layout: { className: \"control\" },\n group: { className: \"group\" },\n array: { className: \"control-array\" },\n action: { className: \"action\" },\n data: { inputClass: \"data\" },\n display: { htmlClassName: \"html\", textClassName: \"text\" },\n });\n}\n\nfunction isOneOf<A>(x: A | A[] | undefined, v: A) {\n return x == null ? true : Array.isArray(x) ? x.includes(v) : v === x;\n}\n\nfunction isAdornmentRegistration(\n x: RendererRegistration,\n): x is AdornmentRendererRegistration {\n return x.type === \"adornment\";\n}\n\nfunction isDataRegistration(\n x: RendererRegistration,\n): x is DataRendererRegistration {\n return x.type === \"data\";\n}\n\nfunction isGroupRegistration(\n x: RendererRegistration,\n): x is GroupRendererRegistration {\n return x.type === \"group\";\n}\n\nfunction isLabelRegistration(\n x: RendererRegistration,\n): x is LabelRendererRegistration {\n return x.type === \"label\";\n}\n\nfunction isLayoutRegistration(\n x: RendererRegistration,\n): x is LayoutRendererRegistration {\n return x.type === \"layout\";\n}\n\nfunction isVisibilityRegistration(\n x: RendererRegistration,\n): x is VisibilityRendererRegistration {\n return x.type === \"visibility\";\n}\n\nfunction isActionRegistration(\n x: RendererRegistration,\n): x is ActionRendererRegistration {\n return x.type === \"action\";\n}\n\nfunction isDisplayRegistration(\n x: RendererRegistration,\n): x is DisplayRendererRegistration {\n return x.type === \"display\";\n}\n\nfunction isArrayRegistration(\n x: RendererRegistration,\n): x is ArrayRendererRegistration {\n return x.type === \"array\";\n}\n"],"names":["FieldType","ValidationMessageType","ControlDefinitionType","DynamicPropertyType","ExpressionType","AdornmentPlacement","ControlAdornmentType","DataRenderType","SyncTextType","GroupRenderType","DisplayDataType","ValidatorType","DateComparison","isDataControlDefinition","x","type","Data","isGroupControlsDefinition","Group","isDisplayControlsDefinition","Display","isActionControlsDefinition","Action","visitControlDefinition","visitor","defaultValue","action","data","display","group","isGridRenderer","options","Grid","isFlexRenderer","Flex","isDisplayOnlyRenderer","DisplayOnly","isTextfieldRenderer","Textfield","isDataGroupRenderer","applyDefaultValues","v","fields","doneSet","_doneSet","defaultValueForFields","has","Set","add","applyValue","filter","isCompoundField","field","length","out","_extends","forEach","applyDefaultForField","defaultValueForField","parent","notElement","collection","map","required","treeChildren","children","Object","fromEntries","sf","forceNotNull","undefined","isRequired","childValue","notNullable","elementValueForField","findScalarField","findField","findCompoundField","find","isScalarField","Compound","isDataControl","c","isGroupControl","fieldHasTag","tag","_field$tags","Boolean","tags","includes","fieldDisplayName","_field$displayName","displayName","hasOptions","o","_o$options$length","_o$options","defaultControlForField","title","_sf$tags","htmlEditor","renderOptions","HtmlEditor","Standard","findControlsForCompound","compound","definition","_definition$children$","_definition$children","compoundField","flatMap","d","findCompoundGroups","controls","cf","groups","concat","findNonDataGroups","_x$children","_x$children2","existsInGroups","lookup","itself","_c$children","childLookup","control","_control$children2","cloneChildren","_c$children2","addMissingControls","rootMapping","rootGroups","rootLookup","missingFields","_ref","_f$tags","_insertGroup","f","groupToAdd","startsWith","insertGroup","groupName","substring","push","useUpdatedRef","a","r","useRef","current","isControlReadonly","readonly","isControlDisabled","disabled","getDisplayOnlyOptions","getTypeField","context","fieldPath","withoutLast","slice","fieldList","at","typeSchemaField","isTypeField","lookupChildControl","visitControlDataArray","cb","_iterator2","_createForOfIteratorHelperLoose","_step2","done","value","visitControlData","ctx","def","processData","fieldName","fieldData","thisPath","path","lookupControl","result","cIndex","_iterator3","_control$elements","elements","_step3","elemResult","cfResult","element","lookupChildControlPath","jsonPath","childPath","watchControlLookup","cleanDataForSchema","removeIfDefault","typeField","typeValue","cleanableFields","_x$onlyForTypes$lengt","_x$onlyForTypes","onlyForTypes","_x$onlyForTypes2","canBeNull","childFields","Array","isArray","cv","getAllReferencedClasses","collectExtra","_c$children3","_collectExtra","childClasses","tc","clsx","styleClass","layoutClass","labelClass","getOverrideClass","jsonPathString","customIndex","i","_customIndex","findChildDefinition","base","className","rendererClass","controlClass","globalClass","oc","index","childId","_c$fields","next","trackControlChange","ControlChange","Structure","_c$elements","makeHook","runHook","state","deps","makeHookDepString","asHookDep","toDepString","join","useDynamicHooks","hooks","hookEntries","entries","ref","s","useCallback","p","_ref2","hg","toString","appendElementIndex","dataContext","elementIndex","applyLengthRestrictions","min","max","minValue","maxValue","findFieldPath","fieldNames","split","foundFields","currentFields","nextField","buildSchema","stringField","makeScalarField","String","stringOptionsField","call","arguments","withScalarOptions","n","defaultScalarField","makeCompoundField","defaultCompoundField","intField","Int","doubleField","Double","dateField","Date","timeField","Time","dateTimeField","DateTime","boolField","Bool","other","mergeField","mergeInto","existing","mergeTypes","extras","mergeFields","name","newFields","withType","addFieldOption","reduce","af","_typeField$options","some","resolveSchemas","schemaMap","resolveSchemaType","resolvedFields","schemaRef","keys","dataControl","textDisplayControl","text","displayData","Text","htmlDisplayControl","html","Html","dynamicDefaultValue","expr","DefaultValue","dynamicReadonly","Readonly","dynamicVisibility","Visible","dynamicDisabled","Disabled","fieldEqExpr","DataMatch","jsonataExpr","expression","Jsonata","groupedControl","groupOptions","hideTitle","compoundControl","createAction","actionId","onClick","actionText","emptyGroupDefinition","useControlDefinitionForSchema","useMemo","applyExtensionToSchema","extension","outMap","cro","cr","_cr$fields","applyExtensionsToSchema","extensions","useEvalVisibilityHook","useEvalExpressionHook","useEvalDynamicBoolHook","makeDynamicPropertyHook","useComputed","matchesType","hideDisplayOnly","schemaInterface","useEvalReadonlyHook","useCalculatedControl","useEvalStyleHook","property","dynamicStyle","useEvalDynamicHook","useControl","useEvalAllowedOptionsHook","dynamicAllowed","AllowedOptions","useEvalDisabledHook","_ref3","_dataControl$meta$nul","setToNull","meta","useEvalDisplayHook","useEvalDefaultValueHook","schemaField","dynamicValue","_ref4","calcDefault","_ref5","dcv","useDataExpression","fvExpr","coerce","refField","otherField","useDataMatchExpression","fv","useNotEmptyExpression","isEmptyValue","defaultEvalHooks","useJsonataExpression","UUID","useUuidExpression","NotEmpty","defaultUseEvalExpressionHook","makeEvalExpressionHook","_definition$dynamic","dynamic","types","_lookupChildControl","displayOptions","emptyText","uuidv4","jExpr","bindings","pathString","fullExpr","compiledExpr","jsonata","e","console","error","listenerRef","updateRef","_useRefState","useRefState","makeChangeTracker","l","addAfterChangesCallback","useEffect","apply","_ref$current","collect","updateSubscriptions","_temp","_finallyRethrows","bindingData","collectChanges","_coerce","Promise","resolve","evaluate","trackedValue","then","_compiledExpr$evaluat","_wasThrown","_result","reject","useEvalActionHook","useExpr","ActionData","useEvalLabelText","Label","makeDefault","_dynamicValue$runHook","useMakeValidationHook","useValidatorFor","_dd$validators","useDefaultValidator","dd","refData","depString","validators","_dd$validators2","_refData$current","hiddenControl","useValueChangeEffect","setError","useValidator","validationMessageText","validator","Length","useLengthValidator","useJsonataValidator","useDateValidator","errorMsg","JSON","stringify","lv","len","controlLength","hidden","setValue","from","MinLength","MaxLength","dv","comparisonDate","fixedDate","parseToMillis","nowDate","UTC","getFullYear","getMonth","getDate","daysFromCurrent","selDate","notAfter","comparison","NotAfter","NotAfterDate","NotBeforeDate","cc","DefaultSchemaInterface","boolStrings","_proto","prototype","parse","messageType","actual","expected","toDateString","getOptions","textValue","toLocaleDateString","_control$elements$len","valueLength","defaultSchemaInterface","AppendAdornmentPriority","WrapAdornmentPriority","LabelType","useControlRenderer","renderer","_options$useDataHook","_options$schemaInterf","_options$useEvalExpre","dataProps","useDataHook","defaultDataProps","lookupSchemaField","useValidation","useValidationHook","dynamicHooks","defaultValueControl","visibleControl","readonlyControl","disabledControl","allowedOptions","labelText","actionData","customStyle","Style","layoutStyle","LayoutStyle","displayControl","Component","rootControl","_ref$parentPath","parentPath","stopTracking","useComponentTracking","_definition$adornment","_definition$adornment2","_r$current","parentDataContext","_dynamicHooks","visible","visibility","showing","useControlEffect","ex","_getControlData","getControlData","parentControl","controlDataContext","_definition$renderOpt","isNull","dontClearHidden","NullToggle","vc","_","dontClear","dontDefault","parentNull","ro","clearHidden","myOptionsControl","_visibility$fields","myOptions","newControl","childOptions","React","createElement","Fragment","adornments","renderAdornment","adornment","parentContext","labelAndChildren","renderControlLayout","renderChild","k","child","_options$dataContext","key","ControlRenderer","createDataProps","formOptions","style","customDisplay","actionDataControl","actionOnClick","useChildVisibility","childDef","renderedControl","renderLayout","renderVisibility","_fieldPath$slice$map","_parentControl$fields","_childControl$element","pp","extraPath","_lookupControl","found","childControl","_base","_effect","_useComponentTracking","Render","_definition$validator","_allowedOptions$value","_definition$renderOpt2","_ref4$schemaInterface","props","_objectWithoutPropertiesLoose","_excluded","lengthVal","fieldOptions","_allowed","allowed","childDefinitions","id","uniqueId","_fieldOptions$find","y","toArrayProps","defaultArrayProps","_control$elements$ele","arrayControl","renderElement","noun","addAction","addElement","removeAction","removeElement","designMode","renderData","_c$groupOptions2","_labelText$value","_c$groupOptions3","_c$groupOptions","processLayout","renderGroup","label","hide","_props$actionDataCont","_props$actionDataCont2","_labelText$value2","_props$actionOnClick","renderAction","_c$displayData","displayProps","Custom","customId","renderDisplay","_labelText$value3","_c$children$length","rendererProps","controlTitle","Control","forId","errorControl","appendMarkup","markup","layout","wrapMarkup","wrap","layoutKeyForPlacement","pos","ControlEnd","ControlStart","LabelStart","LabelEnd","wrapLayout","rl","orig","appendMarkupAt","wrapMarkupAt","renderLayoutParts","_props$processLayout","_ref6","sort","b","priority","renderLabel","labelStart","labelEnd","applyArrayLengthRestrictions","_ref7","disable","_arrayControl$element","_arrayControl$element2","aa","ra","_applyLengthRestricti","removeAllowed","addAllowed","removeDisabled","addDisabled","isIconAdornment","Icon","isAccordionAdornment","Accordion","isSetFieldAdornment","SetField","createLayoutRenderer","render","createActionRenderer","actionType","createArrayRenderer","createDataRenderer","createGroupRenderer","createDisplayRenderer","createLabelRenderer","createVisibilityRenderer","createAdornmentRenderer","defaultTailwindTheme","groupLabelClass","requiredElement","array","removableClass","childClass","addActionClass","standardClassName","gridClassName","flexClassName","errorClass","displayOnlyClass","checkOptions","entryClass","selectOptions","multilineClass","accordion","titleClass","iconOpenClass","iconClosedClass","createDefaultDisplayRenderer","DefaultDisplay","_display$value","iconClass","textClassName","htmlClassName","dangerouslySetInnerHTML","__html","DefaultLayout","_ref$renderError","renderError","_ref$layout","controlEnd","controlStart","ec","errorText","touched","createDefaultVisibilityRenderer","DefaultVisibility","divRef","createSelectRenderer","asArray","_props$options","SelectDataRenderer","requiredText","convert","createSelectConversion","_ref$emptyText","_ref$requiredText","_useState","useState","showEmpty","optionStringMap","onChange","target","ft","_a$toString","DefaultDisplayOnly","ControlInput","toText","_formControlProps","formControlProps","inputProps","_excluded2","converted","createInputConversion","parseInt","parseFloat","createDefaultArrayRenderer","DefaultArrayRenderer","removableChildClass","removeActionClass","_applyArrayLengthRest","RenderElements","createRadioRenderer","CheckButtons","isChecked","setChecked","renderType","Radio","createCheckListRenderer","checked","setIncluded","CheckList","checkClass","RenderArrayElements","readOnly","htmlFor","elem","included","already","createCheckboxRenderer","Fcheckbox","Checkbox","DefaultAccordion","contentStyle","contentClassName","_ref$renderTitle","renderTitle","t","renderToggler","renderers","open","defaultExpanded","isOpen","fullContentStyle","renderLabelText","toggler","createNullToggleRenderer","_control$meta","_nullControl","_control$meta$_nullCo","nullControl","newLayout","NullWrapper","_nullControl$meta$non","createMultilineFieldRenderer","MultilineTextfield","codeRef","textContent","contentEditable","onInput","currentTarget","createJsonataRenderer","JsonataRenderer","rendered","createButtonActionRenderer","_options$renderConten","renderContent","createDefaultGroupRenderer","_ref2$gridStyles","gridStyles","defaultGridStyles","_ref2$defaultGridColu","defaultGridColumns","defaultFlexGap","_ref3$columns","columns","gridTemplateColumns","flexStyles","gap","flexDirection","direction","gcn","cp","DefaultBoolOptions","createDefaultDataRenderer","_options$checkOptions","_options$radioOptions","_options$checkListOpt","jsonataRenderer","jsonataClass","nullToggler","multilineRenderer","checkboxRenderer","checkboxOptions","selectRenderer","radioRenderer","radioOptions","checkListRenderer","checkListOptions","_optionRenderer$boole","optionRenderer","booleanOptions","inputClass","fieldType","renderArray","Any","isBool","Dropdown","multiline","placeholder","createDefaultAdornmentRenderer","setFieldWrapper","always","defaultOnly","_ref8","hook","SetFieldWrapper","_SetFieldWrapper","_adornment$placement","placement","createDefaultLayoutRenderer","scrollElement","createDefaultLabelRenderer","_requiredElement$labe","labelContainer","controlLabelClass","createDefaultRenderers","createFormRenderer","customRenderers","defaultRenderers","_customRenderers$find","createClassStyledRenderers","dataRegistrations","isDataRegistration","groupRegistrations","isGroupRegistration","adornmentRegistrations","isAdornmentRegistration","displayRegistrations","isDisplayRegistration","labelRenderers","isLabelRegistration","arrayRenderers","isArrayRegistration","actionRenderers","isActionRegistration","layoutRenderers","isLayoutRegistration","visibilityRenderer","isVisibilityRegistration","formRenderers","_layoutRenderers$find","match","_adornmentRegistratio","isOneOf","adornmentType","_arrayRenderers$","_labelRenderers$find","labelType","_dataRegistrations$fi","_x$collection","_field$collection","_x$options","schemaType","_groupRegistrations$f","_actionRenderers$find","_displayRegistrations"],"mappings":";;;;;;;;;;;;AAqBYA,2BAaX;AAbD,CAAA,UAAYA,SAAS,EAAA;AACnBA,EAAAA,SAAA,CAAA,QAAA,CAAA,GAAA,QAAiB,CAAA;AACjBA,EAAAA,SAAA,CAAA,MAAA,CAAA,GAAA,MAAa,CAAA;AACbA,EAAAA,SAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACXA,EAAAA,SAAA,CAAA,MAAA,CAAA,GAAA,MAAa,CAAA;AACbA,EAAAA,SAAA,CAAA,UAAA,CAAA,GAAA,UAAqB,CAAA;AACrBA,EAAAA,SAAA,CAAA,MAAA,CAAA,GAAA,MAAa,CAAA;AACbA,EAAAA,SAAA,CAAA,QAAA,CAAA,GAAA,QAAiB,CAAA;AACjBA,EAAAA,SAAA,CAAA,WAAA,CAAA,GAAA,WAAuB,CAAA;AACvBA,EAAAA,SAAA,CAAA,UAAA,CAAA,GAAA,UAAqB,CAAA;AACrBA,EAAAA,SAAA,CAAA,QAAA,CAAA,GAAA,QAAiB,CAAA;AACjBA,EAAAA,SAAA,CAAA,OAAA,CAAA,GAAA,OAAe,CAAA;AACfA,EAAAA,SAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACb,CAAC,EAbWA,iBAAS,KAATA,iBAAS,GAapB,EAAA,CAAA,CAAA,CAAA;AA4BWC,uCAMX;AAND,CAAA,UAAYA,qBAAqB,EAAA;AAC/BA,EAAAA,qBAAA,CAAA,UAAA,CAAA,GAAA,UAAqB,CAAA;AACrBA,EAAAA,qBAAA,CAAA,WAAA,CAAA,GAAA,WAAuB,CAAA;AACvBA,EAAAA,qBAAA,CAAA,WAAA,CAAA,GAAA,WAAuB,CAAA;AACvBA,EAAAA,qBAAA,CAAA,cAAA,CAAA,GAAA,cAA6B,CAAA;AAC7BA,EAAAA,qBAAA,CAAA,eAAA,CAAA,GAAA,eAA+B,CAAA;AACjC,CAAC,EANWA,6BAAqB,KAArBA,6BAAqB,GAMhC,EAAA,CAAA,CAAA,CAAA;AA8BWC,uCAKX;AALD,CAAA,UAAYA,qBAAqB,EAAA;AAC/BA,EAAAA,qBAAA,CAAA,MAAA,CAAA,GAAA,MAAa,CAAA;AACbA,EAAAA,qBAAA,CAAA,OAAA,CAAA,GAAA,OAAe,CAAA;AACfA,EAAAA,qBAAA,CAAA,SAAA,CAAA,GAAA,SAAmB,CAAA;AACnBA,EAAAA,qBAAA,CAAA,QAAA,CAAA,GAAA,QAAiB,CAAA;AACnB,CAAC,EALWA,6BAAqB,KAArBA,6BAAqB,GAKhC,EAAA,CAAA,CAAA,CAAA;AAOWC,qCAWX;AAXD,CAAA,UAAYA,mBAAmB,EAAA;AAC7BA,EAAAA,mBAAA,CAAA,SAAA,CAAA,GAAA,SAAmB,CAAA;AACnBA,EAAAA,mBAAA,CAAA,cAAA,CAAA,GAAA,cAA6B,CAAA;AAC7BA,EAAAA,mBAAA,CAAA,UAAA,CAAA,GAAA,UAAqB,CAAA;AACrBA,EAAAA,mBAAA,CAAA,UAAA,CAAA,GAAA,UAAqB,CAAA;AACrBA,EAAAA,mBAAA,CAAA,SAAA,CAAA,GAAA,SAAmB,CAAA;AACnBA,EAAAA,mBAAA,CAAA,OAAA,CAAA,GAAA,OAAe,CAAA;AACfA,EAAAA,mBAAA,CAAA,aAAA,CAAA,GAAA,aAA2B,CAAA;AAC3BA,EAAAA,mBAAA,CAAA,gBAAA,CAAA,GAAA,gBAAiC,CAAA;AACjCA,EAAAA,mBAAA,CAAA,OAAA,CAAA,GAAA,OAAe,CAAA;AACfA,EAAAA,mBAAA,CAAA,YAAA,CAAA,GAAA,YAAyB,CAAA;AAC3B,CAAC,EAXWA,2BAAmB,KAAnBA,2BAAmB,GAW9B,EAAA,CAAA,CAAA,CAAA;AAMWC,gCAOX;AAPD,CAAA,UAAYA,cAAc,EAAA;AACxBA,EAAAA,cAAA,CAAA,SAAA,CAAA,GAAA,SAAmB,CAAA;AACnBA,EAAAA,cAAA,CAAA,MAAA,CAAA,GAAA,MAAa,CAAA;AACbA,EAAAA,cAAA,CAAA,WAAA,CAAA,GAAA,YAAwB,CAAA;AACxBA,EAAAA,cAAA,CAAA,WAAA,CAAA,GAAA,WAAuB,CAAA;AACvBA,EAAAA,cAAA,CAAA,UAAA,CAAA,GAAA,UAAqB,CAAA;AACrBA,EAAAA,cAAA,CAAA,MAAA,CAAA,GAAA,MAAa,CAAA;AACf,CAAC,EAPWA,sBAAc,KAAdA,sBAAc,GAOzB,EAAA,CAAA,CAAA,CAAA;AAgCWC,oCAKX;AALD,CAAA,UAAYA,kBAAkB,EAAA;AAC5BA,EAAAA,kBAAA,CAAA,cAAA,CAAA,GAAA,cAA6B,CAAA;AAC7BA,EAAAA,kBAAA,CAAA,YAAA,CAAA,GAAA,YAAyB,CAAA;AACzBA,EAAAA,kBAAA,CAAA,YAAA,CAAA,GAAA,YAAyB,CAAA;AACzBA,EAAAA,kBAAA,CAAA,UAAA,CAAA,GAAA,UAAqB,CAAA;AACvB,CAAC,EALWA,0BAAkB,KAAlBA,0BAAkB,GAK7B,EAAA,CAAA,CAAA,CAAA;AAEWC,sCAMX;AAND,CAAA,UAAYA,oBAAoB,EAAA;AAC9BA,EAAAA,oBAAA,CAAA,SAAA,CAAA,GAAA,SAAmB,CAAA;AACnBA,EAAAA,oBAAA,CAAA,WAAA,CAAA,GAAA,WAAuB,CAAA;AACvBA,EAAAA,oBAAA,CAAA,UAAA,CAAA,GAAA,UAAqB,CAAA;AACrBA,EAAAA,oBAAA,CAAA,MAAA,CAAA,GAAA,MAAa,CAAA;AACbA,EAAAA,oBAAA,CAAA,UAAA,CAAA,GAAA,UAAqB,CAAA;AACvB,CAAC,EANWA,4BAAoB,KAApBA,4BAAoB,GAM/B,EAAA,CAAA,CAAA,CAAA;AAiDWC,gCAiBX;AAjBD,CAAA,UAAYA,cAAc,EAAA;AACxBA,EAAAA,cAAA,CAAA,UAAA,CAAA,GAAA,UAAqB,CAAA;AACrBA,EAAAA,cAAA,CAAA,WAAA,CAAA,GAAA,WAAuB,CAAA;AACvBA,EAAAA,cAAA,CAAA,OAAA,CAAA,GAAA,OAAe,CAAA;AACfA,EAAAA,cAAA,CAAA,YAAA,CAAA,GAAA,YAAyB,CAAA;AACzBA,EAAAA,cAAA,CAAA,UAAA,CAAA,GAAA,UAAqB,CAAA;AACrBA,EAAAA,cAAA,CAAA,WAAA,CAAA,GAAA,WAAuB,CAAA;AACvBA,EAAAA,cAAA,CAAA,eAAA,CAAA,GAAA,eAA+B,CAAA;AAC/BA,EAAAA,cAAA,CAAA,cAAA,CAAA,GAAA,cAA6B,CAAA;AAC7BA,EAAAA,cAAA,CAAA,cAAA,CAAA,GAAA,cAA6B,CAAA;AAC7BA,EAAAA,cAAA,CAAA,UAAA,CAAA,GAAA,UAAqB,CAAA;AACrBA,EAAAA,cAAA,CAAA,UAAA,CAAA,GAAA,UAAqB,CAAA;AACrBA,EAAAA,cAAA,CAAA,UAAA,CAAA,GAAA,UAAqB,CAAA;AACrBA,EAAAA,cAAA,CAAA,aAAA,CAAA,GAAA,aAA2B,CAAA;AAC3BA,EAAAA,cAAA,CAAA,OAAA,CAAA,GAAA,OAAe,CAAA;AACfA,EAAAA,cAAA,CAAA,YAAA,CAAA,GAAA,YAAyB,CAAA;AACzBA,EAAAA,cAAA,CAAA,SAAA,CAAA,GAAA,SAAmB,CAAA;AACrB,CAAC,EAjBWA,sBAAc,KAAdA,sBAAc,GAiBzB,EAAA,CAAA,CAAA,CAAA;AA8DWC,8BAIX;AAJD,CAAA,UAAYA,YAAY,EAAA;AACtBA,EAAAA,YAAA,CAAA,OAAA,CAAA,GAAA,OAAe,CAAA;AACfA,EAAAA,YAAA,CAAA,OAAA,CAAA,GAAA,OAAe,CAAA;AACfA,EAAAA,YAAA,CAAA,QAAA,CAAA,GAAA,QAAiB,CAAA;AACnB,CAAC,EAJWA,oBAAY,KAAZA,oBAAY,GAIvB,EAAA,CAAA,CAAA,CAAA;AAuBWC,iCAKX;AALD,CAAA,UAAYA,eAAe,EAAA;AACzBA,EAAAA,eAAA,CAAA,UAAA,CAAA,GAAA,UAAqB,CAAA;AACrBA,EAAAA,eAAA,CAAA,MAAA,CAAA,GAAA,MAAa,CAAA;AACbA,EAAAA,eAAA,CAAA,MAAA,CAAA,GAAA,MAAa,CAAA;AACbA,EAAAA,eAAA,CAAA,cAAA,CAAA,GAAA,cAA6B,CAAA;AAC/B,CAAC,EALWA,uBAAe,KAAfA,uBAAe,GAK1B,EAAA,CAAA,CAAA,CAAA;AA+BWC,iCAKX;AALD,CAAA,UAAYA,eAAe,EAAA;AACzBA,EAAAA,eAAA,CAAA,MAAA,CAAA,GAAA,MAAa,CAAA;AACbA,EAAAA,eAAA,CAAA,MAAA,CAAA,GAAA,MAAa,CAAA;AACbA,EAAAA,eAAA,CAAA,MAAA,CAAA,GAAA,MAAa,CAAA;AACbA,EAAAA,eAAA,CAAA,QAAA,CAAA,GAAA,QAAiB,CAAA;AACnB,CAAC,EALWA,uBAAe,KAAfA,uBAAe,GAK1B,EAAA,CAAA,CAAA,CAAA;AA2BWC,+BAIX;AAJD,CAAA,UAAYA,aAAa,EAAA;AACvBA,EAAAA,aAAA,CAAA,SAAA,CAAA,GAAA,SAAmB,CAAA;AACnBA,EAAAA,aAAA,CAAA,MAAA,CAAA,GAAA,MAAa,CAAA;AACbA,EAAAA,aAAA,CAAA,QAAA,CAAA,GAAA,QAAiB,CAAA;AACnB,CAAC,EAJWA,qBAAa,KAAbA,qBAAa,GAIxB,EAAA,CAAA,CAAA,CAAA;AAgBWC,gCAGX;AAHD,CAAA,UAAYA,cAAc,EAAA;AACxBA,EAAAA,cAAA,CAAA,WAAA,CAAA,GAAA,WAAuB,CAAA;AACvBA,EAAAA,cAAA,CAAA,UAAA,CAAA,GAAA,UAAqB,CAAA;AACvB,CAAC,EAHWA,sBAAc,KAAdA,sBAAc,GAGzB,EAAA,CAAA,CAAA,CAAA;AASK,SAAUC,uBAAuBA,CACrCC,CAAoB,EAAA;AAEpB,EAAA,OAAOA,CAAC,CAACC,IAAI,KAAKb,6BAAqB,CAACc,IAAI,CAAA;AAC9C,CAAA;AAEM,SAAUC,yBAAyBA,CACvCH,CAAoB,EAAA;AAEpB,EAAA,OAAOA,CAAC,CAACC,IAAI,KAAKb,6BAAqB,CAACgB,KAAK,CAAA;AAC/C,CAAA;AAEM,SAAUC,2BAA2BA,CACzCL,CAAoB,EAAA;AAEpB,EAAA,OAAOA,CAAC,CAACC,IAAI,KAAKb,6BAAqB,CAACkB,OAAO,CAAA;AACjD,CAAA;AAEM,SAAUC,0BAA0BA,CACxCP,CAAoB,EAAA;AAEpB,EAAA,OAAOA,CAAC,CAACC,IAAI,KAAKb,6BAAqB,CAACoB,MAAM,CAAA;AAChD,CAAA;SASgBC,sBAAsBA,CACpCT,CAAoB,EACpBU,OAA0B,EAC1BC,YAAyC,EAAA;EAEzC,QAAQX,CAAC,CAACC,IAAI;IACZ,KAAKb,6BAAqB,CAACoB,MAAM;AAC/B,MAAA,OAAOE,OAAO,CAACE,MAAM,CAACZ,CAA4B,CAAC,CAAA;IACrD,KAAKZ,6BAAqB,CAACc,IAAI;AAC7B,MAAA,OAAOQ,OAAO,CAACG,IAAI,CAACb,CAA0B,CAAC,CAAA;IACjD,KAAKZ,6BAAqB,CAACkB,OAAO;AAChC,MAAA,OAAOI,OAAO,CAACI,OAAO,CAACd,CAA6B,CAAC,CAAA;IACvD,KAAKZ,6BAAqB,CAACgB,KAAK;AAC9B,MAAA,OAAOM,OAAO,CAACK,KAAK,CAACf,CAA8B,CAAC,CAAA;AACtD,IAAA;MACE,OAAOW,YAAY,CAACX,CAAC,CAAC,CAAA;AACzB,GAAA;AACH,CAAA;AACM,SAAUgB,cAAcA,CAC5BC,OAA2B,EAAA;AAE3B,EAAA,OAAOA,OAAO,CAAChB,IAAI,KAAKN,uBAAe,CAACuB,IAAI,CAAA;AAC9C,CAAA;AAEM,SAAUC,cAAcA,CAC5BF,OAA2B,EAAA;AAE3B,EAAA,OAAOA,OAAO,CAAChB,IAAI,KAAKN,uBAAe,CAACyB,IAAI,CAAA;AAC9C,CAAA;AAEM,SAAUC,qBAAqBA,CACnCJ,OAAsB,EAAA;AAEtB,EAAA,OAAOA,OAAO,CAAChB,IAAI,KAAKR,sBAAc,CAAC6B,WAAW,CAAA;AACpD,CAAA;AAEM,SAAUC,mBAAmBA,CACjCN,OAAsB,EAAA;AAEtB,EAAA,OAAOA,OAAO,CAAChB,IAAI,KAAKR,sBAAc,CAAC+B,SAAS,CAAA;AAClD,CAAA;AAEM,SAAUC,mBAAmBA,CACjCR,OAAsB,EAAA;AAEtB,EAAA,OAAOA,OAAO,CAAChB,IAAI,KAAKR,sBAAc,CAACW,KAAK,CAAA;AAC9C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SC3dgBsB,kBAAkBA,CAChCC,CAAkC,EAClCC,MAAqB,EACrBC,OAAkC,EAAA;AAAA,EAAA,IAAAC,QAAA,CAAA;AAElC,EAAA,IAAI,CAACH,CAAC,EAAE,OAAOI,qBAAqB,CAACH,MAAM,CAAC,CAAA;EAC5C,IAAIC,OAAO,IAAIA,OAAO,CAACG,GAAG,CAACL,CAAC,CAAC,EAAE,OAAOA,CAAC,CAAA;EACvC,CAAAG,QAAA,GAAAD,OAAO,KAAAC,IAAAA,GAAAA,QAAA,GAAPD,OAAO,GAAK,IAAII,GAAG,EAAE,CAAA;AACrBJ,EAAAA,OAAO,CAACK,GAAG,CAACP,CAAC,CAAC,CAAA;AACd,EAAA,IAAMQ,UAAU,GAAGP,MAAM,CAACQ,MAAM,CAC9B,UAACpC,CAAC,EAAA;IAAA,OAAKqC,eAAe,CAACrC,CAAC,CAAC,IAAI,EAAEA,CAAC,CAACsC,KAAK,IAAIX,CAAC,CAAC,CAAA;GAC7C,CAAA,CAAA;AACD,EAAA,IAAI,CAACQ,UAAU,CAACI,MAAM,EAAE,OAAOZ,CAAC,CAAA;AAChC,EAAA,IAAMa,GAAG,GAAAC,QAAA,CAAA,EAAA,EAAQd,CAAC,CAAE,CAAA;AACpBQ,EAAAA,UAAU,CAACO,OAAO,CAAC,UAAC1C,CAAC,EAAI;AACvBwC,IAAAA,GAAG,CAACxC,CAAC,CAACsC,KAAK,CAAC,GACVtC,CAAC,CAACsC,KAAK,IAAIX,CAAC,GACRgB,oBAAoB,CAAChB,CAAC,CAAC3B,CAAC,CAACsC,KAAK,CAAC,EAAEtC,CAAC,EAAE4B,MAAM,EAAE,KAAK,EAAEC,OAAO,CAAC,GAC3De,oBAAoB,CAAC5C,CAAC,CAAC,CAAA;AAC/B,GAAC,CAAC,CAAA;AACF,EAAA,OAAOwC,GAAG,CAAA;AACZ,CAAA;AAEM,SAAUG,oBAAoBA,CAClChB,CAAM,EACNW,KAAkB,EAClBO,MAAqB,EACrBC,UAAoB,EACpBjB,OAAkC,EAAA;AAElC,EAAA,IAAIS,KAAK,CAACS,UAAU,IAAI,CAACD,UAAU,EAAE;IACnC,OAAO,CAAEnB,CAAW,IAAA,IAAA,GAAXA,CAAW,GAAI,EAAE,EAAEqB,GAAG,CAAC,UAAChD,CAAC,EAAA;MAAA,OAChC2C,oBAAoB,CAAC3C,CAAC,EAAEsC,KAAK,EAAEO,MAAM,EAAE,IAAI,EAAEhB,OAAO,CAAC,CAAA;KACtD,CAAA,CAAA;AACF,GAAA;AACD,EAAA,IAAIQ,eAAe,CAACC,KAAK,CAAC,EAAE;IAC1B,IAAI,CAACX,CAAC,IAAI,CAACW,KAAK,CAACW,QAAQ,EAAE,OAAOtB,CAAC,CAAA;AACnC,IAAA,OAAOD,kBAAkB,CACvBC,CAAC,EACDW,KAAK,CAACY,YAAY,GAAGL,MAAM,GAAGP,KAAK,CAACa,QAAQ,EAC5CtB,OAAO,CACR,CAAA;AACF,GAAA;EACD,OAAOe,oBAAoB,CAACN,KAAK,CAAC,CAAA;AACpC,CAAA;AAEM,SAAUP,qBAAqBA,CAACH,MAAqB,EAAA;EACzD,OAAOwB,MAAM,CAACC,WAAW,CACvBzB,MAAM,CAACoB,GAAG,CAAC,UAAChD,CAAC,EAAA;IAAA,OAAK,CAACA,CAAC,CAACsC,KAAK,EAAEM,oBAAoB,CAAC5C,CAAC,CAAC,CAAC,CAAA;AAAA,GAAA,CAAC,CACtD,CAAA;AACH,CAAA;SAEgB4C,oBAAoBA,CAClCU,EAAe,EACfL,QAAyB,EACzBM,YAAsB,EAAA;EAEtB,IAAID,EAAE,CAAC3C,YAAY,KAAK6C,SAAS,EAAE,OAAOF,EAAE,CAAC3C,YAAY,CAAA;EACzD,IAAM8C,UAAU,GAAG,CAAC,EAAER,QAAQ,IAAIK,EAAE,CAACL,QAAQ,CAAC,CAAA;AAC9C,EAAA,IAAIZ,eAAe,CAACiB,EAAE,CAAC,EAAE;AACvB,IAAA,IAAIG,UAAU,EAAE;AACd,MAAA,IAAMC,UAAU,GAAG3B,qBAAqB,CAACuB,EAAE,CAACH,QAAQ,CAAC,CAAA;MACrD,OAAOG,EAAE,CAACP,UAAU,GAAG,CAACW,UAAU,CAAC,GAAGA,UAAU,CAAA;AACjD,KAAA;AACD,IAAA,OAAOJ,EAAE,CAACK,WAAW,IAAIJ,YAAY,GACjCD,EAAE,CAACP,UAAU,GACX,EAAE,GACF,EAAE,GACJS,SAAS,CAAA;AACd,GAAA;EACD,IAAIF,EAAE,CAACP,UAAU,EAAE;AACjB,IAAA,OAAO,EAAE,CAAA;AACV,GAAA;AACD,EAAA,OAAOS,SAAS,CAAA;AAClB,CAAA;AAEM,SAAUI,oBAAoBA,CAACN,EAAe,EAAA;AAClD,EAAA,IAAIjB,eAAe,CAACiB,EAAE,CAAC,EAAE;AACvB,IAAA,OAAOvB,qBAAqB,CAACuB,EAAE,CAACH,QAAQ,CAAC,CAAA;AAC1C,GAAA;EACD,OAAOG,EAAE,CAAC3C,YAAY,CAAA;AACxB,CAAA;AAEgB,SAAAkD,eAAeA,CAC7BjC,MAAqB,EACrBU,KAAa,EAAA;AAEb,EAAA,OAAOwB,SAAS,CAAClC,MAAM,EAAEU,KAAK,CAAC,CAAA;AACjC,CAAA;AAEgB,SAAAyB,iBAAiBA,CAC/BnC,MAAqB,EACrBU,KAAa,EAAA;AAEb,EAAA,OAAOwB,SAAS,CAAClC,MAAM,EAAEU,KAAK,CAA8B,CAAA;AAC9D,CAAA;AAEgB,SAAAwB,SAASA,CACvBlC,MAAqB,EACrBU,KAAa,EAAA;AAEb,EAAA,OAAOV,MAAM,CAACoC,IAAI,CAAC,UAAChE,CAAC,EAAA;AAAA,IAAA,OAAKA,CAAC,CAACsC,KAAK,KAAKA,KAAK,CAAA;GAAC,CAAA,CAAA;AAC9C,CAAA;AAEM,SAAU2B,aAAaA,CAACX,EAAe,EAAA;AAC3C,EAAA,OAAO,CAACjB,eAAe,CAACiB,EAAE,CAAC,CAAA;AAC7B,CAAA;AAEM,SAAUjB,eAAeA,CAACiB,EAAe,EAAA;AAC7C,EAAA,OAAOA,EAAE,CAACrD,IAAI,KAAKf,iBAAS,CAACgF,QAAQ,CAAA;AACvC,CAAA;AAEM,SAAUC,aAAaA,CAC3BC,CAAoB,EAAA;AAEpB,EAAA,OAAOA,CAAC,CAACnE,IAAI,KAAKb,6BAAqB,CAACc,IAAI,CAAA;AAC9C,CAAA;AAEM,SAAUmE,cAAcA,CAC5BD,CAAoB,EAAA;AAEpB,EAAA,OAAOA,CAAC,CAACnE,IAAI,KAAKb,6BAAqB,CAACgB,KAAK,CAAA;AAC/C,CAAA;AAEgB,SAAAkE,WAAWA,CAAChC,KAAkB,EAAEiC,GAAW,EAAA;AAAA,EAAA,IAAAC,WAAA,CAAA;AACzD,EAAA,OAAOC,OAAO,CAAA,CAAAD,WAAA,GAAClC,KAAK,CAACoC,IAAI,KAAVF,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,WAAA,CAAYG,QAAQ,CAACJ,GAAG,CAAC,CAAC,CAAA;AAC3C,CAAA;AAEM,SAAUK,gBAAgBA,CAACtC,KAAkB,EAAA;AAAA,EAAA,IAAAuC,kBAAA,CAAA;EACjD,OAAAA,CAAAA,kBAAA,GAAOvC,KAAK,CAACwC,WAAW,YAAAD,kBAAA,GAAIvC,KAAK,CAACA,KAAK,CAAA;AACzC,CAAA;AAEM,SAAUyC,UAAUA,CAACC,CAAgD,EAAA;EAAA,IAAAC,iBAAA,EAAAC,UAAA,CAAA;AACzE,EAAA,OAAO,EAAAD,iBAAA,GAAA,CAAAC,UAAA,GAACF,CAAC,CAAC/D,OAAO,KAATiE,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,UAAA,CAAW3C,MAAM,KAAA,IAAA,GAAA0C,iBAAA,GAAI,CAAC,IAAI,CAAC,CAAA;AACrC,CAAA;AAEM,SAAUE,sBAAsBA,CAAC7B,EAAe,EAAA;AACpD,EAAA,IAAIjB,eAAe,CAACiB,EAAE,CAAC,EAAE;IACvB,OAAO;MACLrD,IAAI,EAAEb,6BAAqB,CAACc,IAAI;MAChCkF,KAAK,EAAE9B,EAAE,CAACwB,WAAW;MACrBxC,KAAK,EAAEgB,EAAE,CAAChB,KAAK;MACfW,QAAQ,EAAEK,EAAE,CAACL,QAAQ;AACrBE,MAAAA,QAAQ,EAAEG,EAAE,CAACH,QAAQ,CAACH,GAAG,CAACmC,sBAAsB,CAAA;KACjD,CAAA;AACF,GAAA,MAAM,IAAIlB,aAAa,CAACX,EAAE,CAAC,EAAE;AAAA,IAAA,IAAA+B,QAAA,CAAA;AAC5B,IAAA,IAAMC,UAAU,GAAA,CAAAD,QAAA,GAAG/B,EAAE,CAACoB,IAAI,KAAA,IAAA,GAAA,KAAA,CAAA,GAAPW,QAAA,CAASV,QAAQ,CAAC,aAAa,CAAC,CAAA;IACnD,OAAO;MACL1E,IAAI,EAAEb,6BAAqB,CAACc,IAAI;MAChCkF,KAAK,EAAE9B,EAAE,CAACwB,WAAW;MACrBxC,KAAK,EAAEgB,EAAE,CAAChB,KAAK;MACfW,QAAQ,EAAEK,EAAE,CAACL,QAAQ;AACrBsC,MAAAA,aAAa,EAAE;QACbtF,IAAI,EAAEqF,UAAU,GAAG7F,sBAAc,CAAC+F,UAAU,GAAG/F,sBAAc,CAACgG,QAAAA;AAC/D,OAAA;KACF,CAAA;AACF,GAAA;AACD,EAAA,MAAM,sBAAsB,CAAA;AAC9B,CAAA;AAyBgB,SAAAC,uBAAuBA,CACrCC,QAAuB,EACvBC,UAA6B,EAAA;AAE7B,EAAA,IACE7F,uBAAuB,CAAC6F,UAAU,CAAC,IACnCD,QAAQ,CAACrD,KAAK,KAAKsD,UAAU,CAACtD,KAAK,EACnC;IACA,OAAO,CAACsD,UAAU,CAAC,CAAA;AACpB,GAAA;AACD,EAAA,IAAIzF,yBAAyB,CAACyF,UAAU,CAAC,EAAE;IAAA,IAAAC,qBAAA,EAAAC,oBAAA,CAAA;IACzC,IAAIF,UAAU,CAACG,aAAa,KAAKJ,QAAQ,CAACrD,KAAK,EAAE,OAAO,CAACsD,UAAU,CAAC,CAAA;AACpE,IAAA,OAAA,CAAAC,qBAAA,GAAA,CAAAC,oBAAA,GACEF,UAAU,CAACzC,QAAQ,KAAA,IAAA,GAAA,KAAA,CAAA,GAAnB2C,oBAAA,CAAqBE,OAAO,CAAC,UAACC,CAAC,EAAA;AAAA,MAAA,OAC7BP,uBAAuB,CAACC,QAAQ,EAAEM,CAAC,CAAC,CAAA;KACrC,CAAA,KAAA,IAAA,GAAAJ,qBAAA,GAAI,EAAE,CAAA;AAEV,GAAA;AACD,EAAA,OAAO,EAAE,CAAA;AACX,CAAA;AAMgB,SAAAK,kBAAkBA,CAChCtE,MAAqB,EACrBuE,QAA6B,EAAA;AAE7B,EAAA,OAAO/C,MAAM,CAACC,WAAW,CACvBzB,MAAM,CAACQ,MAAM,CAACC,eAAe,CAAC,CAACW,GAAG,CAAC,UAACoD,EAAE,EAAI;AACxC,IAAA,IAAMC,MAAM,GAAGF,QAAQ,CAACH,OAAO,CAAC,UAAChG,CAAC,EAAA;AAAA,MAAA,OAAK0F,uBAAuB,CAACU,EAAE,EAAEpG,CAAC,CAAC,CAAA;KAAC,CAAA,CAAA;AACtE,IAAA,OAAO,CACLoG,EAAE,CAAC9D,KAAK,EACR;AACE+D,MAAAA,MAAM,EAAEA,MAAM,CAACC,MAAM,CACnBC,iBAAiB,CAACF,MAAM,CAACL,OAAO,CAAC,UAAChG,CAAC,EAAA;AAAA,QAAA,IAAAwG,WAAA,CAAA;QAAA,OAAAA,CAAAA,WAAA,GAAKxG,CAAC,CAACmD,QAAQ,KAAAqD,IAAAA,GAAAA,WAAA,GAAI,EAAE,CAAA;AAAA,OAAA,CAAC,CAAC,CAC3D;AACDrD,MAAAA,QAAQ,EAAE+C,kBAAkB,CAC1BE,EAAE,CAACjD,QAAQ,EACXkD,MAAM,CAACL,OAAO,CAAC,UAAChG,CAAC,EAAA;AAAA,QAAA,IAAAyG,YAAA,CAAA;QAAA,OAAAA,CAAAA,YAAA,GAAKzG,CAAC,CAACmD,QAAQ,KAAAsD,IAAAA,GAAAA,YAAA,GAAI,EAAE,CAAA;OAAC,CAAA,CAAA;AAE1C,KAAA,CACF,CAAA;AACH,GAAC,CAAC,CACH,CAAA;AACH,CAAA;AAEgB,SAAAC,cAAcA,CAC5BpE,KAAkB,EAClBqE,MAA0B,EAAA;EAE1B,IAAMC,MAAM,GAAGD,MAAM,CAACN,MAAM,CAACrC,IAAI,CAAC,UAACI,CAAC,EAAA;AAAA,IAAA,IAAAyC,WAAA,CAAA;IAAA,OAAAA,CAAAA,WAAA,GAClCzC,CAAC,CAACjB,QAAQ,KAAV0D,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,WAAA,CAAY7C,IAAI,CACd,UAAChE,CAAC,EAAA;MAAA,OACCD,uBAAuB,CAACC,CAAC,CAAC,IAAIA,CAAC,CAACsC,KAAK,KAAKA,KAAK,CAACA,KAAK,IACrDnC,yBAAyB,CAACH,CAAC,CAAC,IAAIA,CAAC,CAAC+F,aAAa,KAAKzD,KAAK,CAACA,KAAM,CAAA;KACpE,CAAA,CAAA;GACF,CAAA,CAAA;EACD,IAAI,CAACsE,MAAM,EAAE,OAAO,CAAC,CAACtE,KAAK,EAAEqE,MAAM,CAAC,CAAC,CAAA;AACrC,EAAA,IAAItE,eAAe,CAACC,KAAK,CAAC,EAAE;IAC1B,IAAMwE,WAAW,GAAGH,MAAM,CAACxD,QAAQ,CAACb,KAAK,CAACA,KAAK,CAAC,CAAA;IAChD,IAAI,CAACwE,WAAW,EAAE,OAAO,CAAC,CAACxE,KAAK,EAAEqE,MAAM,CAAC,CAAC,CAAA;AAC1C,IAAA,OAAOrE,KAAK,CAACa,QAAQ,CAAC6C,OAAO,CAAC,UAAC5B,CAAC,EAAA;AAAA,MAAA,OAAKsC,cAAc,CAACtC,CAAC,EAAE0C,WAAW,CAAC,CAAA;KAAC,CAAA,CAAA;AACrE,GAAA;AACD,EAAA,OAAO,EAAE,CAAA;AACX,CAAA;AAEM,SAAUP,iBAAiBA,CAC/BJ,QAA6B,EAAA;AAE7B,EAAA,OAAOA,QAAQ,CAACH,OAAO,CAAC,UAACe,OAAO,EAAA;AAAA,IAAA,IAAAC,kBAAA,CAAA;IAAA,OAC9B7G,yBAAyB,CAAC4G,OAAO,CAAC,IAAI,CAACA,OAAO,CAAChB,aAAa,GACvDgB,CAAAA,OAAO,CAAAT,CAAAA,MAAA,CAAKC,iBAAiB,CAAAS,CAAAA,kBAAA,GAACD,OAAO,CAAC5D,QAAQ,KAAA6D,IAAAA,GAAAA,kBAAA,GAAI,EAAE,CAAC,CAAA,GACtD,EAAE,CAAA;GACP,CAAA,CAAA;AACH,CAAA;AAEA,SAASC,aAAaA,CAAC7C,CAAoB,EAAA;AAAA,EAAA,IAAA8C,YAAA,CAAA;AACzC,EAAA,IAAI9C,CAAC,CAACjB,QAAQ,EAAE,OAAAV,QAAA,KAAY2B,CAAC,EAAA;IAAEjB,QAAQ,EAAA,CAAA+D,YAAA,GAAE9C,CAAC,CAACjB,QAAQ,KAAA,IAAA,GAAA,KAAA,CAAA,GAAV+D,YAAA,CAAYlE,GAAG,CAACiE,aAAa,CAAA;AAAC,GAAA,CAAA,CAAA;AACvE,EAAA,OAAO7C,CAAC,CAAA;AACV,CAAA;AAEgB,SAAA+C,kBAAkBA,CAChCvF,MAAqB,EACrBuE,QAA6B,EAAA;AAE7BA,EAAAA,QAAQ,GAAGA,QAAQ,CAACnD,GAAG,CAACiE,aAAa,CAAC,CAAA;AACtC,EAAA,IAAMG,WAAW,GAAGlB,kBAAkB,CAACtE,MAAM,EAAEuE,QAAQ,CAAC,CAAA;AACxD,EAAA,IAAMkB,UAAU,GAAGd,iBAAiB,CAAC,CACnC;IACEtG,IAAI,EAAEb,6BAAqB,CAACgB,KAAK;AACjC+C,IAAAA,QAAQ,EAAEgD,QAAAA;AACX,GAAA,CACF,CAAC,CAAA;AACF,EAAA,IAAMmB,UAAU,GAAG;AAAEnE,IAAAA,QAAQ,EAAEiE,WAAW;AAAEf,IAAAA,MAAM,EAAEgB,UAAAA;GAAY,CAAA;AAChE,EAAA,IAAME,aAAa,GAAG3F,MAAM,CACzBQ,MAAM,CAAC,UAACpC,CAAC,EAAA;AAAA,IAAA,OAAK,CAACsE,WAAW,CAACtE,CAAC,EAAE,YAAY,CAAC,CAAA;AAAA,GAAA,CAAC,CAC5CgG,OAAO,CAAC,UAAChG,CAAC,EAAA;AAAA,IAAA,OAAK0G,cAAc,CAAC1G,CAAC,EAAEsH,UAAU,CAAC,CAAA;GAAC,CAAA,CAAA;AAChDC,EAAAA,aAAa,CAAC7E,OAAO,CAAC,UAAA8E,IAAA,EAAgB;IAAA,IAAAC,OAAA,EAAAC,YAAA,CAAA;IAAA,IAAdC,CAAC,GAAAH,IAAA,CAAA,CAAA,CAAA;AAAEb,MAAAA,MAAM,GAAAa,IAAA,CAAA,CAAA,CAAA,CAAA;AAC/B,IAAA,IAAMI,UAAU,GAAA,CAAAH,OAAA,GAAGE,CAAC,CAACjD,IAAI,KAAA,IAAA,GAAA,KAAA,CAAA,GAAN+C,OAAA,CAAQzD,IAAI,CAAC,UAAChE,CAAC,EAAA;AAAA,MAAA,OAAKA,CAAC,CAAC6H,UAAU,CAAC,gBAAgB,CAAC,CAAA;KAAC,CAAA,CAAA;IACtE,IAAIC,WAAW,GAAkCtE,SAAS,CAAA;AAC1D,IAAA,IAAIoE,UAAU,EAAE;AACd,MAAA,IAAMG,SAAS,GAAGH,UAAU,CAACI,SAAS,CAAC,EAAE,CAAC,CAAA;MAC1CF,WAAW,GAAGnB,MAAM,CAACN,MAAM,CAACrC,IAAI,CAAC,UAAChE,CAAC,EAAA;AAAA,QAAA,OAAKA,CAAC,CAACoF,KAAK,KAAK2C,SAAS,CAAA;OAAC,CAAA,CAAA;AAC/D,KAAA;IACD,IAAI,CAACD,WAAW,EAAEA,WAAW,GAAGnB,MAAM,CAACN,MAAM,CAAC,CAAC,CAAC,CAAA;AAChD,IAAA,CAAAqB,YAAA,GAAAI,WAAW,cAAAJ,YAAA,GAAXA,YAAA,CAAavE,QAAQ,KAArBuE,IAAAA,IAAAA,YAAA,CAAuBO,IAAI,CAAC9C,sBAAsB,CAACwC,CAAC,CAAC,CAAC,CAAA;AACxD,GAAC,CAAC,CAAA;AACF,EAAA,OAAOxB,QAAQ,CAAA;AACjB,CAAA;AACM,SAAU+B,aAAaA,CAAIC,CAAI,EAAA;AACnC,EAAA,IAAMC,CAAC,GAAGC,YAAM,CAACF,CAAC,CAAC,CAAA;EACnBC,CAAC,CAACE,OAAO,GAAGH,CAAC,CAAA;AACb,EAAA,OAAOC,CAAC,CAAA;AACV,CAAA;AAEM,SAAUG,iBAAiBA,CAACnE,CAAoB,EAAA;EACpD,OAAOD,aAAa,CAACC,CAAC,CAAC,IAAI,CAAC,CAACA,CAAC,CAACoE,QAAQ,CAAA;AACzC,CAAA;AAEM,SAAUC,iBAAiBA,CAACrE,CAAoB,EAAA;EACpD,OAAOD,aAAa,CAACC,CAAC,CAAC,IAAI,CAAC,CAACA,CAAC,CAACsE,QAAQ,CAAA;AACzC,CAAA;AAEM,SAAUC,qBAAqBA,CACnC1C,CAAoB,EAAA;EAEpB,OAAOlG,uBAAuB,CAACkG,CAAC,CAAC,IAC/BA,CAAC,CAACV,aAAa,IACflE,qBAAqB,CAAC4E,CAAC,CAACV,aAAa,CAAC,GACpCU,CAAC,CAACV,aAAa,GACf/B,SAAS,CAAA;AACf,CAAA;AAEgB,SAAAoF,YAAYA,CAC1BC,OAA2B,EAC3BC,SAAwB,EAAA;EAExB,IAAMC,WAAW,GAAGD,SAAS,CAACE,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;EAC1C,IAAMC,SAAS,GACbF,WAAW,CAACxG,MAAM,GAAG,CAAC,GACjBwG,WAAW,CAACG,EAAE,CAAC,CAAC,CAAC,CAAmB,CAAC/F,QAAQ,GAC9C0F,OAAO,CAACjH,MAAM,CAAA;AACpB,EAAA,IAAMuH,eAAe,GAAGF,SAAS,CAACjF,IAAI,CAAC,UAAChE,CAAC,EAAA;IAAA,OAAKA,CAAC,CAACoJ,WAAW,CAAA;GAAC,CAAA,CAAA;AAC5D,EAAA,OAAOD,eAAe,GAClBE,kBAAkB,CAACR,OAAO,EAAAvC,EAAAA,CAAAA,MAAA,CAAMyC,WAAW,EAAEI,CAAAA,eAAe,CAAC,CAAA,CAAC,GAC9D3F,SAAS,CAAA;AACf,CAAA;SAEgB8F,qBAAqBA,CACnCnD,QAAgD,EAChD0C,OAA2B,EAC3BU,EAKkB,EAAA;AAElB,EAAA,IAAI,CAACpD,QAAQ,EAAE,OAAO3C,SAAS,CAAA;AAC/B,EAAA,KAAA,IAAAgG,UAAA,GAAAC,+BAAA,CAAgBtD,QAAQ,CAAA,EAAAuD,MAAA,EAAA,CAAA,CAAAA,MAAA,GAAAF,UAAA,EAAA,EAAAG,IAAA,GAAE;AAAA,IAAA,IAAfvF,CAAC,GAAAsF,MAAA,CAAAE,KAAA,CAAA;IACV,IAAMxB,CAAC,GAAGyB,gBAAgB,CAACzF,CAAC,EAAEyE,OAAO,EAAEU,EAAE,CAAC,CAAA;AAC1C,IAAA,IAAInB,CAAC,KAAK5E,SAAS,EAAE,OAAO4E,CAAC,CAAA;AAC9B,GAAA;AACD,EAAA,OAAO5E,SAAS,CAAA;AAClB,CAAA;SAEgBqG,gBAAgBA,CAC9BjE,UAA6B,EAC7BkE,GAAuB,EACvBP,EAKkB,EAAA;EAElB,OAAO9I,sBAAsB,CAC3BmF,UAAU,EACV;AACE/E,IAAAA,IAAI,EAAJA,SAAAA,IAAIA,CAACkJ,GAA0B,EAAA;MAC7B,OAAOC,WAAW,CAACD,GAAG,EAAEA,GAAG,CAACzH,KAAK,EAAEyH,GAAG,CAAC5G,QAAQ,CAAC,CAAA;KACjD;AACDpC,IAAAA,KAAK,EAALA,SAAAA,KAAKA,CAACkF,CAA4B,EAAA;MAChC,OAAO+D,WAAW,CAACxG,SAAS,EAAEyC,CAAC,CAACF,aAAa,EAAEE,CAAC,CAAC9C,QAAQ,CAAC,CAAA;KAC3D;IACDvC,MAAM,EAAE,SAARA,MAAMA,GAAA;AAAA,MAAA,OAAQ4C,SAAS,CAAA;AAAA,KAAA;IACvB1C,OAAO,EAAE,SAATA,OAAOA,GAAA;AAAA,MAAA,OAAQ0C,SAAS,CAAA;AAAA,KAAA;AACzB,GAAA,EACD,YAAA;AAAA,IAAA,OAAMA,SAAS,CAAA;GAChB,CAAA,CAAA;AAED,EAAA,SAASwG,WAAWA,CAClBD,GAAsC,EACtCE,SAAoC,EACpC9G,QAAgD,EAAA;AAEhD,IAAA,IAAM+G,SAAS,GAAGD,SAAS,GAAGnG,SAAS,CAACgG,GAAG,CAAClI,MAAM,EAAEqI,SAAS,CAAC,GAAGzG,SAAS,CAAA;AAC1E,IAAA,IAAI,CAAC0G,SAAS,EACZ,OAAO,CAACD,SAAS,GAAGX,qBAAqB,CAACnG,QAAQ,EAAE2G,GAAG,EAAEP,EAAE,CAAC,GAAG/F,SAAS,CAAA;IAE1E,IAAM2G,QAAQ,GAAA7D,EAAAA,CAAAA,MAAA,CAAOwD,GAAG,CAACM,IAAI,EAAEF,CAAAA,SAAS,CAAC5H,KAAK,CAAC,CAAA,CAAA;IAC/C,IAAMyE,OAAO,GAAG+C,GAAG,CAACjJ,IAAI,CAACwJ,aAAa,CAACF,QAAQ,CAAC,CAAA;AAChD,IAAA,IAAI,CAACpD,OAAO,EAAE,OAAOvD,SAAS,CAAA;AAC9B,IAAA,IAAM8G,MAAM,GAAGP,GAAG,GAAGR,EAAE,CAACQ,GAAG,EAAEG,SAAS,EAAEnD,OAAO,EAAE,KAAK,CAAC,GAAGvD,SAAS,CAAA;AACnE,IAAA,IAAI8G,MAAM,KAAK9G,SAAS,EAAE,OAAO8G,MAAM,CAAA;AACvC,IAAA,IAAM3E,QAAQ,GAAGtD,eAAe,CAAC6H,SAAS,CAAC,CAAA;IAC3C,IAAIA,SAAS,CAACnH,UAAU,EAAE;MACxB,IAAIwH,MAAM,GAAG,CAAC,CAAA;MACd,KAAAC,IAAAA,UAAA,GAAAf,+BAAA,CAAA,CAAAgB,iBAAA,GAAgB1D,OAAQ,CAAC2D,QAAQ,KAAA,IAAA,GAAAD,iBAAA,GAAI,EAAE,GAAAE,MAAA,EAAA,CAAA,CAAAA,MAAA,GAAAH,UAAA,EAAAb,EAAAA,IAAA,GAAE;AAAA,QAAA,IAAAc,iBAAA,CAAA;AAAA,QAAA,IAA9BrG,CAAC,GAAAuG,MAAA,CAAAf,KAAA,CAAA;AACV,QAAA,IAAMgB,UAAU,GAAGb,GAAG,GAAGR,EAAE,CAACQ,GAAG,EAAEG,SAAS,EAAE9F,CAAC,EAAE,IAAI,CAAC,GAAGZ,SAAS,CAAA;AAChE,QAAA,IAAIoH,UAAU,KAAKpH,SAAS,EAAE,OAAOoH,UAAU,CAAA;AAC/C,QAAA,IAAIjF,QAAQ,EAAE;UACZ,IAAMkF,QAAQ,GAAGvB,qBAAqB,CACpCnG,QAAQ,EAAAV,QAAA,KAEHqH,GAAG,EAAA;YACNlI,MAAM,EAAEsI,SAAS,CAAC/G,QAAQ;AAC1BiH,YAAAA,IAAI,EAAA9D,EAAAA,CAAAA,MAAA,CAAM6D,QAAQ,GAAEI,MAAM,CAAA,CAAA;AAAC,WAAA,CAAA,EAE7BhB,EAAE,CACH,CAAA;AACD,UAAA,IAAIsB,QAAQ,KAAKrH,SAAS,EAAE,OAAOqH,QAAQ,CAAA;AAC5C,SAAA;AACDN,QAAAA,MAAM,EAAE,CAAA;AACT,OAAA;KACF,MAAM,IAAI5E,QAAQ,EAAE;AACnB,MAAA,OAAO2D,qBAAqB,CAC1BnG,QAAQ,EAAAV,QAAA,KAEHqH,GAAG,EAAA;QACNlI,MAAM,EAAEsI,SAAS,CAAC/G,QAAQ;AAC1BiH,QAAAA,IAAI,EAAED,QAAAA;AAAQ,OAAA,CAAA,EAEhBZ,EAAE,CACH,CAAA;AACF,KAAA;AACD,IAAA,OAAO/F,SAAS,CAAA;AAClB,GAAA;AACF,CAAA;SAEgB6F,kBAAkBA,CAChCxI,IAAiB,EACjBuJ,IAAmB,EACnBU,OAAgB,EAAA;AAEhB,EAAA,IAAMhC,SAAS,GAAGsB,IAAI,CAACpH,GAAG,CAAC,UAAChD,CAAC,EAAA;IAAA,OAAKA,CAAC,CAACsC,KAAK,CAAA;GAAC,CAAA,CAAA;AAC1C,EAAA,OAAOyI,sBAAsB,CAC3BlK,IAAI,EACJiK,OAAO,IAAI,IAAI,GAAGhC,SAAS,GAAA,EAAA,CAAAxC,MAAA,CAAOwC,SAAS,EAAEgC,CAAAA,OAAO,EAAC,CACtD,CAAA;AACH,CAAA;AAEgB,SAAAC,sBAAsBA,CACpClK,IAAiB,EACjBmK,QAAoB,EAAA;EAEpB,IAAMC,SAAS,MAAA3E,MAAA,CAAOzF,IAAI,CAACuJ,IAAI,EAAKY,QAAQ,CAAC,CAAA;AAC7C,EAAA,OAAOE,kBAAkB,CAACrK,IAAI,CAACA,IAAI,EAAEoK,SAAS,CAAC,CAAA;AACjD,CAAA;SAEgBE,kBAAkBA,CAChCxJ,CAAmC,EACnCC,MAAqB,EACrBwJ,eAAyB,EAAA;AAEzB,EAAA,IAAI,CAACzJ,CAAC,EAAE,OAAOA,CAAC,CAAA;AAChB,EAAA,IAAM0J,SAAS,GAAGzJ,MAAM,CAACoC,IAAI,CAAC,UAAChE,CAAC,EAAA;IAAA,OAAKA,CAAC,CAACoJ,WAAW,CAAA;GAAC,CAAA,CAAA;AACnD,EAAA,IAAI,CAACiC,SAAS,EAAE,OAAO1J,CAAC,CAAA;AACxB,EAAA,IAAM2J,SAAS,GAAG3J,CAAC,CAAC0J,SAAS,CAAC/I,KAAK,CAAC,CAAA;EACpC,IAAMiJ,eAAe,GAAG,CAACH,eAAe,GACpCxJ,MAAM,CAACQ,MAAM,CACX,UAACpC,CAAC,EAAA;IAAA,IAAAwL,qBAAA,EAAAC,eAAA,CAAA;IAAA,OAAKpJ,eAAe,CAACrC,CAAC,CAAC,IAAI,CAAAwL,CAAAA,qBAAA,GAAAC,CAAAA,eAAA,GAACzL,CAAC,CAAC0L,YAAY,KAAA,IAAA,GAAA,KAAA,CAAA,GAAdD,eAAA,CAAgBlJ,MAAM,YAAAiJ,qBAAA,GAAI,CAAC,IAAI,CAAC,CAAA;AAAA,GAAA,CAC/D,GACD5J,MAAM,CAAA;AACV,EAAA,IAAI,CAAC2J,eAAe,CAAChJ,MAAM,EAAE,OAAOZ,CAAC,CAAA;AACrC,EAAA,IAAMa,GAAG,GAAAC,QAAA,CAAA,EAAA,EAAQd,CAAC,CAAE,CAAA;AACpB4J,EAAAA,eAAe,CAAC7I,OAAO,CAAC,UAAC1C,CAAC,EAAI;AAAA,IAAA,IAAA2L,gBAAA,CAAA;AAC5B,IAAA,IAAMjI,UAAU,GAAG/B,CAAC,CAAC3B,CAAC,CAACsC,KAAK,CAAC,CAAA;IAC7B,IACE,CAAA,CAAAqJ,gBAAA,GAAA3L,CAAC,CAAC0L,YAAY,KAAdC,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,gBAAA,CAAgBhH,QAAQ,CAAC2G,SAAS,CAAC,MAAK,KAAK,IAC5C,CAACtL,CAAC,CAAC2D,WAAW,IAAIiI,SAAS,EAAG,EAC/B;AACA,MAAA,OAAOpJ,GAAG,CAACxC,CAAC,CAACsC,KAAK,CAAC,CAAA;AACnB,MAAA,OAAA;AACD,KAAA;AACD,IAAA,IAAID,eAAe,CAACrC,CAAC,CAAC,EAAE;MACtB,IAAM6L,WAAW,GAAG7L,CAAC,CAACkD,YAAY,GAAGtB,MAAM,GAAG5B,CAAC,CAACmD,QAAQ,CAAA;MACxD,IAAInD,CAAC,CAAC+C,UAAU,EAAE;AAChB,QAAA,IAAI+I,KAAK,CAACC,OAAO,CAACrI,UAAU,CAAC,EAAE;UAC7BlB,GAAG,CAACxC,CAAC,CAACsC,KAAK,CAAC,GAAGoB,UAAU,CAACV,GAAG,CAAC,UAACgJ,EAAE,EAAA;AAAA,YAAA,OAC/Bb,kBAAkB,CAACa,EAAE,EAAEH,WAAW,EAAET,eAAe,CAAC,CAAA;WACrD,CAAA,CAAA;AACF,SAAA;AACF,OAAA,MAAM;AACL5I,QAAAA,GAAG,CAACxC,CAAC,CAACsC,KAAK,CAAC,GAAG6I,kBAAkB,CAC/BzH,UAAU,EACVmI,WAAW,EACXT,eAAe,CAChB,CAAA;AACF,OAAA;AACF,KAAA;IACD,SAASQ,SAASA,GAAA;MAChB,OACGR,eAAe,IAAIpL,CAAC,CAACW,YAAY,KAAK+C,UAAU,IAChD1D,CAAC,CAAC+C,UAAU,IAAI+I,KAAK,CAACC,OAAO,CAACrI,UAAU,CAAC,IAAI,CAACA,UAAU,CAACnB,MAAAA;AAC1D;AAAA,OAAA;AAEJ,KAAA;AACF,GAAC,CAAC,CAAA;AACF,EAAA,OAAOC,GAAG,CAAA;AACZ,CAAA;AAEgB,SAAAyJ,uBAAuBA,CACrC7H,CAAoB,EACpB8H,YAAsE,EAAA;EAAA,IAAAC,YAAA,EAAAC,aAAA,CAAA;AAEtE,EAAA,IAAMC,YAAY,GAAA,CAAAF,YAAA,GAAG/H,CAAC,CAACjB,QAAQ,KAAA,IAAA,GAAA,KAAA,CAAA,GAAVgJ,YAAA,CAAYnG,OAAO,CAAC,UAAChG,CAAC,EAAA;AAAA,IAAA,OACzCiM,uBAAuB,CAACjM,CAAC,EAAEkM,YAAY,CAAC,CAAA;GACzC,CAAA,CAAA;AACD,EAAA,IAAMI,EAAE,GAAGC,wBAAI,CACb,CACEnI,CAAC,CAACoI,UAAU,EACZpI,CAAC,CAACqI,WAAW,EACbrI,CAAC,CAACsI,UAAU,CAAApG,CAAAA,MAAA,CAAA8F,CAAAA,aAAA,GACRF,YAAY,IAAA,IAAA,GAAA,KAAA,CAAA,GAAZA,YAAY,CAAG9H,CAAC,CAAC,KAAA,IAAA,GAAAgI,aAAA,GAAI,EAAE,CAC3BpJ,CAAAA,GAAG,CAAC2J,gBAAgB,CAAC,CACxB,CAAA;AACD,EAAA,IAAIN,YAAY,IAAI,CAACC,EAAE,EAAE,OAAOD,YAAY,CAAA;AAC5C,EAAA,IAAI,CAACC,EAAE,EAAE,OAAO,EAAE,CAAA;AAClB,EAAA,IAAID,YAAY,EAAE,OAAA,CAAQC,EAAE,CAAAhG,CAAAA,MAAA,CAAK+F,YAAY,CAAA,CAAA;EAC7C,OAAO,CAACC,EAAE,CAAC,CAAA;AACb,CAAA;AAEgB,SAAAM,cAAcA,CAC5B5B,QAAoB,EACpB6B,WAAmC,EAAA;EAEnC,IAAIrK,GAAG,GAAG,EAAE,CAAA;AACZwI,EAAAA,QAAQ,CAACtI,OAAO,CAAC,UAACf,CAAC,EAAEmL,CAAC,EAAI;AACxB,IAAA,IAAI,OAAOnL,CAAC,KAAK,QAAQ,EAAE;AAAA,MAAA,IAAAoL,YAAA,CAAA;AACzBvK,MAAAA,GAAG,KAAAuK,YAAA,GAAIF,WAAW,IAAA,IAAA,GAAA,KAAA,CAAA,GAAXA,WAAW,CAAGlL,CAAC,CAAC,KAAA,IAAA,GAAAoL,YAAA,GAAI,GAAG,GAAGpL,CAAC,GAAG,GAAG,CAAA;AACzC,KAAA,MAAM;AACL,MAAA,IAAImL,CAAC,GAAG,CAAC,EAAEtK,GAAG,IAAI,GAAG,CAAA;AACrBA,MAAAA,GAAG,IAAIb,CAAC,CAAA;AACT,KAAA;AACH,GAAC,CAAC,CAAA;AACF,EAAA,OAAOa,GAAG,CAAA;AACZ,CAAA;AAEgB,SAAAwK,mBAAmBA,CACjCnK,MAAyB,EACzBoI,SAA4B,EAAA;AAE5B,EAAA,IAAIa,KAAK,CAACC,OAAO,CAACd,SAAS,CAAC,EAAE;IAC5B,IAAIgC,IAAI,GAAGpK,MAAM,CAAA;AACjBoI,IAAAA,SAAS,CAACvI,OAAO,CAAC,UAAC1C,CAAC,EAAA;AAAA,MAAA,OAAMiN,IAAI,GAAGA,IAAI,CAAC9J,QAAS,CAACnD,CAAC,CAAC,CAAA;AAAA,KAAC,CAAC,CAAA;AACpD,IAAA,OAAOiN,IAAI,CAAA;AACZ,GAAA;AACD,EAAA,OAAOpK,MAAM,CAACM,QAAS,CAAC8H,SAAS,CAAC,CAAA;AACpC,CAAA;AAEM,SAAU0B,gBAAgBA,CAACO,SAAyB,EAAA;EACxD,IAAIA,SAAS,IAAIA,SAAS,CAACrF,UAAU,CAAC,IAAI,CAAC,EAAE;AAC3C,IAAA,OAAOqF,SAAS,CAAClF,SAAS,CAAC,CAAC,CAAC,CAAA;AAC9B,GAAA;AACD,EAAA,OAAOkF,SAAS,CAAA;AAClB,CAAA;AAEgB,SAAAC,aAAaA,CAC3BC,YAA4B,EAC5BC,WAA2B,EAAA;AAE3B,EAAA,IAAMC,EAAE,GAAGX,gBAAgB,CAACS,YAAY,CAAC,CAAA;EACzC,IAAIE,EAAE,KAAKF,YAAY,EAAE,OAAOb,wBAAI,CAACa,YAAY,EAAEC,WAAW,CAAC,CAAA;AAC/D,EAAA,OAAOC,EAAE,GAAGA,EAAE,GAAG9J,SAAS,CAAA;AAC5B,CAAA;AAEgB,SAAA0H,kBAAkBA,CAChC+B,IAA8B,EAC9B7C,IAAyB,EAAA;EAEzB,IAAImD,KAAK,GAAG,CAAC,CAAA;AACb,EAAA,OAAOA,KAAK,GAAGnD,IAAI,CAAC7H,MAAM,IAAI0K,IAAI,EAAE;AAClC,IAAA,IAAMO,OAAO,GAAGpD,IAAI,CAACmD,KAAK,CAAC,CAAA;AAC3B,IAAA,IAAMnJ,CAAC,GAAG6I,IAAI,CAAC3E,OAAO,CAAA;AACtB,IAAA,IAAI,OAAOkF,OAAO,KAAK,QAAQ,EAAE;AAAA,MAAA,IAAAC,SAAA,CAAA;MAC/B,IAAMC,IAAI,GAAAD,CAAAA,SAAA,GAAGrJ,CAAC,CAACxC,MAAM,KAAR6L,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,SAAA,CAAWD,OAAO,CAAC,CAAA;MAChC,IAAI,CAACE,IAAI,EAAEC,uBAAkB,CAACV,IAAI,EAAEW,kBAAa,CAACC,SAAS,CAAC,CAAA;AAC5DZ,MAAAA,IAAI,GAAGS,IAAI,CAAA;AACZ,KAAA,MAAM;AAAA,MAAA,IAAAI,WAAA,CAAA;MACLb,IAAI,GAAA,CAAAa,WAAA,GAAG1J,CAAC,CAACsG,QAAQ,KAAVoD,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,WAAA,CAAaN,OAAO,CAAC,CAAA;AAC7B,KAAA;AACDD,IAAAA,KAAK,EAAE,CAAA;AACR,GAAA;AACD,EAAA,OAAON,IAAI,CAAA;AACb,CAAA;SAUgBc,QAAQA,CACtBC,OAAgC,EAChCC,KAAQ,EACRC,IAAc,EAAA;EAEd,OAAO;AAAEA,IAAAA,IAAI,EAAJA,IAAI;AAAED,IAAAA,KAAK,EAALA,KAAK;AAAED,IAAAA,OAAO,EAAPA,OAAAA;GAAS,CAAA;AACjC,CAAA;AAKgB,SAAAG,iBAAiBA,CAC/BD,IAAS,EACTE,SAA4B,EAAA;AAE5B,EAAA,OAAOF,IAAI,CAAClL,GAAG,CAAC,UAAChD,CAAC,EAAA;AAAA,IAAA,OAAKqO,WAAW,CAACD,SAAS,CAACpO,CAAC,CAAC,CAAC,CAAA;AAAA,GAAA,CAAC,CAACsO,IAAI,CAAC,GAAG,CAAC,CAAA;AAC7D,CAAA;AACM,SAAUC,eAAeA,CAI7BC,KAAY,EAAA;AAIZ,EAAA,IAAMC,WAAW,GAAGrL,MAAM,CAACsL,OAAO,CAACF,KAAK,CAAC,CAAA;AACzC,EAAA,IAAMN,IAAI,GAAGC,iBAAiB,CAACM,WAAW,EAAE,UAACzO,CAAC,EAAA;AAAA,IAAA,OAAKA,CAAC,CAAC,CAAC,CAAC,CAACkO,IAAI,CAAA;GAAC,CAAA,CAAA;AAC7D,EAAA,IAAMS,GAAG,GAAGtG,YAAM,CAAsB,EAAE,CAAC,CAAA;AAC3C,EAAA,IAAMuG,CAAC,GAAGD,GAAG,CAACrG,OAAO,CAAA;AACrBmG,EAAAA,WAAW,CAAC/L,OAAO,CAAC,UAAC1C,CAAC,EAAA;AAAA,IAAA,OAAM4O,CAAC,CAAC5O,CAAC,CAAC,CAAC,CAAC,CAAC,GAAGA,CAAC,CAAC,CAAC,CAAC,CAACiO,KAAK,CAAA;AAAA,GAAC,CAAC,CAAA;AAClD,EAAA,OAAOY,iBAAW,CAChB,UAACC,CAAI,EAAI;IACP,OAAO1L,MAAM,CAACC,WAAW,CACvBoL,WAAW,CAACzL,GAAG,CAAC,UAAA+L,KAAA,EAAA;MAAA,IAAEpH,CAAC,GAAAoH,KAAA,CAAA,CAAA,CAAA;AAAEC,QAAAA,EAAE,GAAAD,KAAA,CAAA,CAAA,CAAA,CAAA;AAAA,MAAA,OAAM,CAACpH,CAAC,EAAEqH,EAAE,CAAChB,OAAO,CAACc,CAAC,EAAEH,GAAG,CAACrG,OAAO,CAACX,CAAC,CAAC,CAAC,CAAC,CAAA;AAAA,KAAA,CAAC,CAC1D,CAAA;AACV,GAAC,EACD,CAACuG,IAAI,CAAC,CACP,CAAA;AACH,CAAA;AAEM,SAAUG,WAAWA,CAACrO,CAAM,EAAA;AAChC,EAAA,IAAIA,CAAC,KAAKwD,SAAS,EAAE,OAAO,GAAG,CAAA;AAC/B,EAAA,IAAIxD,CAAC,KAAK,IAAI,EAAE,OAAO,GAAG,CAAA;AAC1B,EAAA,OAAOA,CAAC,CAACiP,QAAQ,EAAE,CAAA;AACrB,CAAA;AAEgB,SAAAC,kBAAkBA,CAChCC,WAA+B,EAC/BC,YAAoB,EAAA;EAEpB,OAAA3M,QAAA,KAAY0M,WAAW,EAAA;AAAE/E,IAAAA,IAAI,KAAA9D,MAAA,CAAM6I,WAAW,CAAC/E,IAAI,GAAEgF,YAAY,CAAA,CAAA;AAAC,GAAA,CAAA,CAAA;AACpE,CAAA;AAEM,SAAUC,uBAAuBA,CACrC9M,MAAc,EACd+M,GAA8B,EAC9BC,GAA8B,EAC9BC,QAAa,EACbC,QAAa,EAAA;EAEb,OAAO,CACLH,GAAG,IAAI,IAAI,IAAI/M,MAAM,GAAG+M,GAAG,GAAGE,QAAQ,GAAGhM,SAAS,EAClD+L,GAAG,IAAI,IAAI,IAAIhN,MAAM,GAAGgN,GAAG,GAAGE,QAAQ,GAAGjM,SAAS,CACnD,CAAA;AACH,CAAA;AAEgB,SAAAkM,aAAaA,CAC3B9N,MAAqB,EACrBkH,SAA6B,EAAA;AAE7B,EAAA,IAAI,CAACA,SAAS,EAAE,OAAOtF,SAAS,CAAA;AAChC,EAAA,IAAMmM,UAAU,GAAG7G,SAAS,CAAC8G,KAAK,CAAC,GAAG,CAAC,CAAA;EACvC,IAAMC,WAAW,GAAkB,EAAE,CAAA;EACrC,IAAI/C,CAAC,GAAG,CAAC,CAAA;EACT,IAAIgD,aAAa,GAA8BlO,MAAM,CAAA;AACrD,EAAA,OAAOkL,CAAC,GAAG6C,UAAU,CAACpN,MAAM,IAAIuN,aAAa,EAAE;AAC7C,IAAA,IAAM1J,EAAE,GAAGuJ,UAAU,CAAC7C,CAAC,CAAC,CAAA;AACxB,IAAA,IAAMiD,SAAS,GAAGjM,SAAS,CAACgM,aAAa,EAAE1J,EAAE,CAAC,CAAA;AAC9C,IAAA,IAAI,CAAC2J,SAAS,EAAE,OAAOvM,SAAS,CAAA;AAChCqM,IAAAA,WAAW,CAAC5H,IAAI,CAAC8H,SAAS,CAAC,CAAA;AAC3BD,IAAAA,aAAa,GACXzN,eAAe,CAAC0N,SAAS,CAAC,IAAI,CAACA,SAAS,CAAChN,UAAU,GAC/CgN,SAAS,CAAC5M,QAAQ,GAClBK,SAAS,CAAA;AACfsJ,IAAAA,CAAC,EAAE,CAAA;AACJ,GAAA;EACD,OAAO+C,WAAW,CAACtN,MAAM,KAAKoN,UAAU,CAACpN,MAAM,GAAGsN,WAAW,GAAGrM,SAAS,CAAA;AAC3E;;AClqBM,SAAUwM,WAAWA,CAAiBjG,GAE3C,EAAA;EACC,OAAO3G,MAAM,CAACsL,OAAO,CAAC3E,GAAG,CAAC,CAAC/G,GAAG,CAAC,UAAChD,CAAC,EAAA;IAAA,OAC9BA,CAAC,CAAC,CAAC,CAAgC,CAACA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;GAC3C,CAAA,CAAA;AACH,CAAA;AAEgB,SAAAiQ,WAAWA,CACzBnL,WAAmB,EACnB7D,OAA4C,EAAA;EAE5C,OAAOiP,eAAe,CAAAzN,QAAA,CAAA;IACpBxC,IAAI,EAAEf,iBAAS,CAACiR,MAAe;AAC/BrL,IAAAA,WAAW,EAAXA,WAAAA;GACG7D,EAAAA,OAAO,CACX,CAAC,CAAA;AACJ,CAAA;SAEgBmP,kBAAkBA,CAChCtL,WAAmB,EACM;AAEzB,EAAA,OAAOoL,eAAe,CAAC;IACrBjQ,IAAI,EAAEf,iBAAS,CAACiR,MAAe;AAC/BrL,IAAAA,WAAW,EAAXA,WAAW;AACX7D,IAAAA,OAAO,EAAA+H,EAAAA,CAAAA,KAAA,CAAAqH,IAAA,CAAAC,SAAA,EAAA,CAAA,CAAA;AACR,GAAA,CAAC,CAAA;AACJ,CAAA;AAEgB,SAAAC,iBAAiBA,CAG/BtP,OAAW,EAAEU,CAAsB,EAAA;AACnC,EAAA,OAAO,UAAC6O,CAAC,EAAA;AAAA,IAAA,OAAA/N,QAAA,CAAWd,EAAAA,EAAAA,CAAC,CAAC6O,CAAC,CAAC,EAAKvP,OAAO,CAAA,CAAA;GAAG,CAAA;AACzC,CAAA;AAEM,SAAUiP,eAAeA,CAC7BjP,OAAU,EAAA;AAEV,EAAA,OAAO,UAACuP,CAAC,EAAA;IAAA,OAAA/N,QAAA,KAAWgO,kBAAkB,CAACD,CAAC,EAAEA,CAAC,CAAC,EAAKvP,OAAO,CAAA,CAAA;GAAG,CAAA;AAC7D,CAAA;AAEM,SAAUyP,iBAAiBA,CAC/BzP,OAAU,EAAA;AAIV,EAAA,OAAO,UAACuP,CAAC,EAAA;IAAA,OAAA/N,QAAA,CAAWkO,EAAAA,EAAAA,oBAAoB,CAACH,CAAC,EAAEA,CAAC,EAAE,KAAK,CAAC,EAAKvP,OAAO,CAAA,CAAA;GAAG,CAAA;AACtE,CAAA;AAEgB,SAAA2P,QAAQA,CACtB9L,WAAmB,EACnB7D,OAAW,EAAA;EAEX,OAAOiP,eAAe,CAAAzN,QAAA,CAAA;IACpBxC,IAAI,EAAEf,iBAAS,CAAC2R,GAAY;AAC5B/L,IAAAA,WAAW,EAAXA,WAAAA;GACI7D,EAAAA,OAAa,CAClB,CAAC,CAAA;AACJ,CAAA;AAEgB,SAAA6P,WAAWA,CACzBhM,WAAmB,EACnB7D,OAAW,EAAA;EAEX,OAAOiP,eAAe,CAAAzN,QAAA,CAAA;IACpBxC,IAAI,EAAEf,iBAAS,CAAC6R,MAAe;AAC/BjM,IAAAA,WAAW,EAAXA,WAAAA;GACI7D,EAAAA,OAAa,CAClB,CAAC,CAAA;AACJ,CAAA;AAEgB,SAAA+P,SAASA,CACvBlM,WAAmB,EACnB7D,OAAW,EAAA;EAEX,OAAOiP,eAAe,CAAAzN,QAAA,CAAA;IACpBxC,IAAI,EAAEf,iBAAS,CAAC+R,IAAa;AAC7BnM,IAAAA,WAAW,EAAXA,WAAAA;GACI7D,EAAAA,OAAa,CAClB,CAAC,CAAA;AACJ,CAAA;AAEgB,SAAAiQ,SAASA,CACvBpM,WAAmB,EACnB7D,OAAW,EAAA;EAEX,OAAOiP,eAAe,CAAAzN,QAAA,CAAA;IACpBxC,IAAI,EAAEf,iBAAS,CAACiS,IAAa;AAC7BrM,IAAAA,WAAW,EAAXA,WAAAA;GACI7D,EAAAA,OAAa,CAClB,CAAC,CAAA;AACJ,CAAA;AAEgB,SAAAmQ,aAAaA,CAC3BtM,WAAmB,EACnB7D,OAAW,EAAA;EAEX,OAAOiP,eAAe,CAAAzN,QAAA,CAAA;IACpBxC,IAAI,EAAEf,iBAAS,CAACmS,QAAiB;AACjCvM,IAAAA,WAAW,EAAXA,WAAAA;GACI7D,EAAAA,OAAa,CAClB,CAAC,CAAA;AACJ,CAAA;AAEgB,SAAAqQ,SAASA,CACvBxM,WAAmB,EACnB7D,OAAW,EAAA;EAEX,OAAOiP,eAAe,CAAAzN,QAAA,CAAA;IACpBxC,IAAI,EAAEf,iBAAS,CAACqS,IAAa;AAC7BzM,IAAAA,WAAW,EAAXA,WAAAA;GACI7D,EAAAA,OAAa,CAClB,CAAC,CAAA;AACJ,CAAA;SAEgB8E,aAAaA,CAG3BjB,WAAmB,EACnBlD,MAAqB,EACrB4P,KAAa,EAAA;AAIb,EAAA,OAAO,UAAClP,KAAK,EAAA;IAAA,OAAAG,QAAA,CAENkO,EAAAA,EAAAA,oBAAoB,CAACrO,KAAK,EAAEwC,WAAW,EAAE,KAAK,CAAC,EAC/C0M,KAAK,EAAA;AACRrO,MAAAA,QAAQ,EAAEvB,MAAAA;AAAM,KAAA,CAAA,CAAA;GACT,CAAA;AACb,CAAA;AAEgB,SAAA6O,kBAAkBA,CAChCnO,KAAa,EACbwC,WAAmB,EAAA;EAInB,OAAO;AACLxC,IAAAA,KAAK,EAALA,KAAK;AACLwC,IAAAA,WAAW,EAAXA,WAAW;IACX7E,IAAI,EAAEf,iBAAS,CAACiR,MAAAA;GACjB,CAAA;AACH,CAAA;SAEgBQ,oBAAoBA,CAClCrO,KAAa,EACbwC,WAAmB,EACnB/B,UAAmB,EAAA;EAInB,OAAO;AACLT,IAAAA,KAAK,EAALA,KAAK;AACLwC,IAAAA,WAAW,EAAXA,WAAW;IACX7E,IAAI,EAAEf,iBAAS,CAACgF,QAAQ;AACxBnB,IAAAA,UAAU,EAAVA,UAAU;AACVI,IAAAA,QAAQ,EAAE,EAAA;GACX,CAAA;AACH,CAAA;AAEgB,SAAAsO,UAAUA,CACxBnP,KAAkB,EAClBoP,SAAwB,EAAA;AAExB,EAAA,IAAMC,QAAQ,GAAGD,SAAS,CAAC1N,IAAI,CAAC,UAAChE,CAAC,EAAA;AAAA,IAAA,OAAKA,CAAC,CAACsC,KAAK,KAAKA,KAAK,CAACA,KAAK,CAAA;GAAC,CAAA,CAAA;AAC/D,EAAA,IAAIqP,QAAQ,EAAE;AACZ,IAAA,OAAOD,SAAS,CAAC1O,GAAG,CAAC,UAAChD,CAAC,EAAA;MAAA,OACrBA,CAAC,KAAK2R,QAAQ,GACV3R,CAAC,GAAAyC,QAAA,KAEIzC,CAAC,EAAA;QACJ0L,YAAY,EAAEkG,UAAU,CAAC5R,CAAC,CAAC0L,YAAY,EAAEpJ,KAAK,CAACoJ,YAAY,CAAA;OAC5D,CAAA,CAAA;KACN,CAAA,CAAA;AACF,GAAA;AACD,EAAA,OAAA,EAAA,CAAApF,MAAA,CAAWoL,SAAS,EAAA,CAAEpP,KAAK,CAAA,CAAA,CAAA;AAE3B,EAAA,SAASsP,UAAUA,CAACjK,CAAmB,EAAEiH,CAAmB,EAAA;AAC1D,IAAA,IAAI,CAACjH,CAAC,EAAE,OAAOiH,CAAC,CAAA;AAChB,IAAA,IAAI,CAACA,CAAC,EAAE,OAAOjH,CAAC,CAAA;AAChB,IAAA,IAAMkK,MAAM,GAAGjD,CAAC,CAACxM,MAAM,CAAC,UAACpC,CAAC,EAAA;AAAA,MAAA,OAAK,CAAC2H,CAAC,CAAChD,QAAQ,CAAC3E,CAAC,CAAC,CAAA;KAAC,CAAA,CAAA;IAC9C,OAAO6R,MAAM,CAACtP,MAAM,GAAA+D,EAAAA,CAAAA,MAAA,CAAOqB,CAAC,EAAKkK,MAAM,CAAA,GAAIlK,CAAC,CAAA;AAC9C,GAAA;AACF,CAAA;AAEM,SAAUmK,WAAWA,CACzBlQ,MAAqB,EACrBmQ,IAAY,EACZnI,KAAU,EACVoI,SAAwB,EAAA;AAExB,EAAA,IAAMC,QAAQ,GAAGrQ,MAAM,CAACoB,GAAG,CAAC,UAAChD,CAAC,EAAA;AAAA,IAAA,OAC5BA,CAAC,CAACoJ,WAAW,GAAG8I,cAAc,CAAClS,CAAC,EAAE+R,IAAI,EAAEnI,KAAK,CAAC,GAAG5J,CAAC,CAAA;GACnD,CAAA,CAAA;AACD,EAAA,OAAOgS,SAAS,CACbhP,GAAG,CAAC,UAAChD,CAAC,EAAA;IAAA,OAAAyC,QAAA,KAAWzC,CAAC,EAAA;MAAE0L,YAAY,EAAE,CAAC9B,KAAK,CAAA;AAAC,KAAA,CAAA,CAAA;AAAA,GAAG,CAAC,CAC7CuI,MAAM,CAAC,UAACC,EAAE,EAAEpS,CAAC,EAAA;AAAA,IAAA,OAAKyR,UAAU,CAACzR,CAAC,EAAEoS,EAAE,CAAC,CAAA;AAAA,GAAA,EAAEH,QAAQ,CAAC,CAAA;AACnD,CAAA;SAEgBC,cAAcA,CAC5B7G,SAAsB,EACtB0G,IAAY,EACZnI,KAAU,EAAA;AAAA,EAAA,IAAAyI,kBAAA,CAAA;EAEV,IAAMpR,OAAO,GAAAoR,CAAAA,kBAAA,GAAGhH,SAAS,CAACpK,OAAO,KAAA,IAAA,GAAAoR,kBAAA,GAAI,EAAE,CAAA;AACvC,EAAA,IAAIpR,OAAO,CAACqR,IAAI,CAAC,UAACtS,CAAC,EAAA;AAAA,IAAA,OAAKA,CAAC,CAAC4J,KAAK,KAAKA,KAAK,CAAA;GAAC,CAAA,EAAE,OAAOyB,SAAS,CAAA;EAC5D,OAAA5I,QAAA,KACK4I,SAAS,EAAA;AACZpK,IAAAA,OAAO,EAAAqF,EAAAA,CAAAA,MAAA,CAAMrF,OAAO,EAAE,CAAA;AAAE8Q,MAAAA,IAAI,EAAJA,IAAI;AAAEnI,MAAAA,KAAK,EAALA,KAAAA;KAAO,CAAA,CAAA;AAAC,GAAA,CAAA,CAAA;AAE1C,CAAA;AAEM,SAAU2I,cAAcA,CAAsBC,SAAY,EAAA;EAC9D,IAAMhQ,GAAG,GAAc,EAAE,CAAA;EACzB,SAASiQ,iBAAiBA,CAACxS,IAAY,EAAA;IACrC,IAAIA,IAAI,IAAIuC,GAAG,EAAE;MACf,OAAOA,GAAG,CAACvC,IAAI,CAAC,CAAA;AACjB,KAAA;IACD,IAAMyS,cAAc,GAAkB,EAAE,CAAA;AACxClQ,IAAAA,GAAG,CAACvC,IAAI,CAAC,GAAGyS,cAAc,CAAA;IAC1BF,SAAS,CAACvS,IAAI,CAAC,CAACyC,OAAO,CAAC,UAAC1C,CAAC,EAAI;MAC5B,IAAIqC,eAAe,CAACrC,CAAC,CAAC,IAAIA,CAAC,CAAC2S,SAAS,EAAE;AACrCD,QAAAA,cAAc,CAACzK,IAAI,CAAAxF,QAAA,KACdzC,CAAC,EAAA;AACJmD,UAAAA,QAAQ,EAAEsP,iBAAiB,CAACzS,CAAC,CAAC2S,SAAS,CAAA;AAAC,SAAA,CACxB,CAAC,CAAA;AACpB,OAAA,MAAM;AACLD,QAAAA,cAAc,CAACzK,IAAI,CAACjI,CAAC,CAAC,CAAA;AACvB,OAAA;AACH,KAAC,CAAC,CAAA;AACF,IAAA,OAAO0S,cAAc,CAAA;AACvB,GAAA;EACAtP,MAAM,CAACwP,IAAI,CAACJ,SAAS,CAAC,CAAC9P,OAAO,CAAC+P,iBAAiB,CAAC,CAAA;AACjD,EAAA,OAAOjQ,GAAQ,CAAA;AACjB;;SC5PgBqQ,WAAWA,CACzBvQ,KAAa,EACb8C,KAAqB,EACrBnE,OAAwC,EAAA;AAExC,EAAA,OAAAwB,QAAA,CAAA;IAASxC,IAAI,EAAEb,6BAAqB,CAACc,IAAI;AAAEoC,IAAAA,KAAK,EAALA,KAAK;AAAE8C,IAAAA,KAAK,EAALA,KAAAA;AAAK,GAAA,EAAKnE,OAAO,CAAA,CAAA;AACrE,CAAA;AAEgB,SAAA6R,kBAAkBA,CAChCC,IAAY,EACZ9R,OAA2C,EAAA;AAE3C,EAAA,OAAAwB,QAAA,CAAA;IACExC,IAAI,EAAEb,6BAAqB,CAACkB,OAAO;AACnC0S,IAAAA,WAAW,EAAE;MAAE/S,IAAI,EAAEL,uBAAe,CAACqT,IAAI;AAAEF,MAAAA,IAAI,EAAJA,IAAAA;AAAqB,KAAA;AAAA,GAAA,EAC7D9R,OAAO,CAAA,CAAA;AAEd,CAAA;AAEgB,SAAAiS,kBAAkBA,CAChCC,IAAY,EACZlS,OAA2C,EAAA;AAE3C,EAAA,OAAAwB,QAAA,CAAA;IACExC,IAAI,EAAEb,6BAAqB,CAACkB,OAAO;AACnC0S,IAAAA,WAAW,EAAE;MAAE/S,IAAI,EAAEL,uBAAe,CAACwT,IAAI;AAAED,MAAAA,IAAI,EAAJA,IAAAA;AAAqB,KAAA;AAAA,GAAA,EAC7DlS,OAAO,CAAA,CAAA;AAEd,CAAA;AAEM,SAAUoS,mBAAmBA,CAACC,IAAsB,EAAA;EACxD,OAAO;IAAErT,IAAI,EAAEZ,2BAAmB,CAACkU,YAAY;AAAED,IAAAA,IAAI,EAAJA,IAAAA;GAAM,CAAA;AACzD,CAAA;AAEM,SAAUE,eAAeA,CAACF,IAAsB,EAAA;EACpD,OAAO;IAAErT,IAAI,EAAEZ,2BAAmB,CAACoU,QAAQ;AAAEH,IAAAA,IAAI,EAAJA,IAAAA;GAAM,CAAA;AACrD,CAAA;AAEM,SAAUI,iBAAiBA,CAACJ,IAAsB,EAAA;EACtD,OAAO;IAAErT,IAAI,EAAEZ,2BAAmB,CAACsU,OAAO;AAAEL,IAAAA,IAAI,EAAJA,IAAAA;GAAM,CAAA;AACpD,CAAA;AAEM,SAAUM,eAAeA,CAACN,IAAsB,EAAA;EACpD,OAAO;IAAErT,IAAI,EAAEZ,2BAAmB,CAACwU,QAAQ;AAAEP,IAAAA,IAAI,EAAJA,IAAAA;GAAM,CAAA;AACrD,CAAA;AAEgB,SAAAQ,WAAWA,CAACxR,KAAa,EAAEsH,KAAU,EAAA;EACnD,OAAO;IAAE3J,IAAI,EAAEX,sBAAc,CAACyU,SAAS;AAAEzR,IAAAA,KAAK,EAALA,KAAK;AAAEsH,IAAAA,KAAK,EAALA,KAAAA;GAAO,CAAA;AACzD,CAAA;AACM,SAAUoK,WAAWA,CAACC,UAAkB,EAAA;EAC5C,OAAO;IAAEhU,IAAI,EAAEX,sBAAc,CAAC4U,OAAO;AAAED,IAAAA,UAAU,EAAVA,UAAAA;GAAY,CAAA;AACrD,CAAA;SAEgBE,cAAcA,CAC5BhR,QAA6B,EAC7BiC,KAAc,EACdnE,OAA4C,EAAA;AAE5C,EAAA,OAAAwB,QAAA,CAAA;IACExC,IAAI,EAAEb,6BAAqB,CAACgB,KAAK;AACjC+C,IAAAA,QAAQ,EAARA,QAAQ;AACRiC,IAAAA,KAAK,EAALA,KAAK;AACLgP,IAAAA,YAAY,EAAE;AAAEnU,MAAAA,IAAI,EAAE,UAAU;AAAEoU,MAAAA,SAAS,EAAE,CAACjP,KAAAA;AAAO,KAAA;AAAA,GAAA,EAClDnE,OAAO,CAAA,CAAA;AAEd,CAAA;AACM,SAAUqT,eAAeA,CAC7BhS,KAAa,EACb8C,KAAyB,EACzBjC,QAA6B,EAC7BlC,OAAwC,EAAA;AAExC,EAAA,OAAAwB,QAAA,CAAA;IACExC,IAAI,EAAEb,6BAAqB,CAACc,IAAI;AAChCoC,IAAAA,KAAK,EAALA,KAAK;AACLa,IAAAA,QAAQ,EAARA,QAAQ;AACRiC,IAAAA,KAAK,EAALA,KAAK;AACLG,IAAAA,aAAa,EAAE;AAAEtF,MAAAA,IAAI,EAAE,UAAA;AAAY,KAAA;AAAA,GAAA,EAChCgB,OAAO,CAAA,CAAA;AAEd,CAAA;SAEgBsT,YAAYA,CAC1BC,QAAgB,EAChBC,OAAmB,EACnBC,UAAmB,EAAA;EAEnB,OAAO;AAAEF,IAAAA,QAAQ,EAARA,QAAQ;AAAEC,IAAAA,OAAO,EAAPA,OAAO;AAAEC,IAAAA,UAAU,EAAEA,UAAU,IAAVA,IAAAA,GAAAA,UAAU,GAAIF,QAAAA;GAAU,CAAA;AAClE,CAAA;AAEO,IAAMG,oBAAoB,GAA8B;EAC7D1U,IAAI,EAAEb,6BAAqB,CAACgB,KAAK;AACjC+C,EAAAA,QAAQ,EAAE,EAAE;AACZiR,EAAAA,YAAY,EAAE;IAAEnU,IAAI,EAAEN,uBAAe,CAAC8F,QAAQ;AAAE4O,IAAAA,SAAS,EAAE,IAAA;AAAM,GAAA;EAClE;SAEeO,6BAA6BA,CAC3CtR,EAAiB,EACjBsC,YAA4D;AAAA,EAAA,IAA5DA;AAAAA,IAAAA,aAAwC+O,oBAAoB,CAAA;AAAA,GAAA;AAE5D,EAAA,OAAOE,aAAO,CACZ,YAAA;AAAA,IAAA,IAAA/O,oBAAA,CAAA;IAAA,OAAArD,QAAA,KACKmD,UAAU,EAAA;AACbzC,MAAAA,QAAQ,EAAEgE,kBAAkB,CAAC7D,EAAE,EAAAwC,CAAAA,oBAAA,GAAEF,UAAU,CAACzC,QAAQ,KAAA2C,IAAAA,GAAAA,oBAAA,GAAI,EAAE,CAAA;AAAC,KAAA,CAAA,CAAA;AAAA,GAC3D,EACF,CAACxC,EAAE,EAAEsC,UAAU,CAAC,CACjB,CAAA;AACH,CAAA;AAsBgB,SAAAkP,sBAAsBA,CACpCtC,SAAY,EACZuC,SAAqC,EAAA;AAErC,EAAA,IAAMC,MAAM,GAAAvS,QAAA,CAAA,EAAA,EAAQ+P,SAAS,CAAE,CAAA;EAC/BpP,MAAM,CAACsL,OAAO,CAACqG,SAAS,CAAC,CAACrS,OAAO,CAAC,UAAA8E,IAAA,EAAiB;IAAA,IAAflF,KAAK,GAAAkF,IAAA,CAAA,CAAA,CAAA;AAAEyN,MAAAA,GAAG,GAAAzN,IAAA,CAAA,CAAA,CAAA,CAAA;IAC5CwN,MAAM,CAAC1S,KAAgB,CAAC,GAAG,CAACwJ,KAAK,CAACC,OAAO,CAACkJ,GAAG,CAAC,GAAGA,GAAG,GAAG,CAACA,GAAG,CAAC,EAAE9C,MAAM,CAClE,UAAChK,CAAC,EAAE+M,EAAE,EAAA;AAAA,MAAA,IAAAC,UAAA,CAAA;MAAA,OAAKrD,WAAW,CAAC3J,CAAC,EAAE+M,EAAE,CAACnD,IAAI,EAAEmD,EAAE,CAACtL,KAAK,EAAAuL,CAAAA,UAAA,GAAED,EAAE,CAACtT,MAAM,KAAAuT,IAAAA,GAAAA,UAAA,GAAI,EAAE,CAAC,CAAA;AAAA,KAAA,EAC7DH,MAAM,CAAC1S,KAAK,CAAC,CACD,CAAA;AAChB,GAAC,CAAC,CAAA;AACF,EAAA,OAAO0S,MAAM,CAAA;AACf,CAAA;AAEgB,SAAAI,uBAAuBA,CACrC5C,SAAY,EACZ6C,UAAwC,EAAA;EAExC,OAAO9C,cAAc,CAAC8C,UAAU,CAAClD,MAAM,CAAC2C,sBAAsB,EAAEtC,SAAS,CAAC,CAAC,CAAA;AAC7E;;;;;;;;;;;;;SCpHgB8C,qBAAqBA,CACnCC,qBAA4C,EAC5C3P,UAA6B,EAC7BkD,SAAyB,EAAA;EAEzB,IAAM4K,iBAAiB,GAAG8B,sBAAsB,CAC9C5P,UAAU,EACVvG,2BAAmB,CAACsU,OAAO,EAC3B4B,qBAAqB,CACtB,CAAA;AACD,EAAA,OAAOE,uBAAuB,CAC5B/B,iBAAiB,EACjB,UAAC5J,GAAG,EAAAtC,IAAA,EAAA;AAAA,IAAA,IAAIsB,SAAS,GAAAtB,IAAA,CAATsB,SAAS;MAAElD,UAAU,GAAA4B,IAAA,CAAV5B,UAAU,CAAA;IAAA,OAC3B8P,gBAAW,CAAC,YAAK;MACf,OACEC,WAAW,CAAC7L,GAAG,EAAEhB,SAAS,CAAC,KAC1B,CAACA,SAAS,IACT,CAAC8M,eAAe,CAAC9L,GAAG,EAAEhB,SAAS,EAAElD,UAAU,EAAEkE,GAAG,CAAC+L,eAAe,CAAC,CAAC,CAAA;AAExE,KAAC,CAAC,CAAA;GACJ,EAAA;AAAE/M,IAAAA,SAAS,EAATA,SAAS;AAAElD,IAAAA,UAAU,EAAVA,UAAAA;AAAU,GAAE,CAC1B,CAAA;AACH,CAAA;AAEgB,SAAAkQ,mBAAmBA,CACjCP,qBAA4C,EAC5C3P,UAA6B,EAAA;EAE7B,IAAM4N,eAAe,GAAGgC,sBAAsB,CAC5C5P,UAAU,EACVvG,2BAAmB,CAACoU,QAAQ,EAC5B8B,qBAAqB,CACtB,CAAA;AACD,EAAA,OAAOE,uBAAuB,CAC5BjC,eAAe,EACf,UAAC1J,GAAG,EAAAiF,KAAA,EAAA;AAAA,IAAA,IAAInJ,UAAU,GAAAmJ,KAAA,CAAVnJ,UAAU,CAAA;AAAA,IAAA,OAChBmQ,yBAAoB,CAAC,YAAA;MAAA,OAAMxN,iBAAiB,CAAC3C,UAAU,CAAC,CAAA;KAAC,CAAA,CAAA;GAC3D,EAAA;AAAEA,IAAAA,UAAU,EAAVA,UAAAA;AAAY,GAAA,CACf,CAAA;AACH,CAAA;SAEgBoQ,gBAAgBA,CAC9BT,qBAA4C,EAC5CU,QAA6B,EAC7BrQ,UAA6B,EAAA;EAE7B,IAAMsQ,YAAY,GAAGC,kBAAkB,CACrCvQ,UAAU,EACVqQ,QAAQ,EACRV,qBAAqB,CACtB,CAAA;EACD,OAAOE,uBAAuB,CAC5BS,YAAY,EACZ,YAAA;IAAA,OAAME,eAAU,CAAC5S,SAAS,CAAC,CAAA;AAAA,GAAA,EAC3BA,SAAS,CACV,CAAA;AACH,CAAA;AAEgB,SAAA6S,yBAAyBA,CACvCd,qBAA4C,EAC5C3P,UAA6B,EAAA;EAE7B,IAAM0Q,cAAc,GAAGH,kBAAkB,CACvCvQ,UAAU,EACVvG,2BAAmB,CAACkX,cAAc,EAClChB,qBAAqB,CACtB,CAAA;EACD,OAAOE,uBAAuB,CAC5Ba,cAAc,EACd,YAAA;IAAA,OAAMF,eAAU,CAAC,EAAE,CAAC,CAAA;AAAA,GAAA,EACpB5S,SAAS,CACV,CAAA;AACH,CAAA;AAEM,SAAUgT,mBAAmBA,CACjCjB,qBAA4C,EAC5C3P,UAA6B,EAC7BkD,SAAyB,EACzBsG,YAAqB,EAAA;EAErB,IAAMwE,eAAe,GAAG4B,sBAAsB,CAC5C5P,UAAU,EACVvG,2BAAmB,CAACwU,QAAQ,EAC5B0B,qBAAqB,CACtB,CAAA;AACD,EAAA,OAAOE,uBAAuB,CAC5B7B,eAAe,EACf,UAAC9J,GAAG,EAAA2M,KAAA,EAAA;AAAA,IAAA,IAAI3N,SAAS,GAAA2N,KAAA,CAAT3N,SAAS,CAAA;IAAA,OACf4M,gBAAW,CAAC,YAAK;AAAA,MAAA,IAAAgB,qBAAA,CAAA;MACf,IAAM7D,WAAW,GACf/J,SAAS,IAAIO,kBAAkB,CAACS,GAAG,EAAEhB,SAAS,EAAEsG,YAAY,CAAC,CAAA;AAC/D,MAAA,IAAMuH,SAAS,GAAG,CAAA9D,WAAW,IAAA6D,IAAAA,IAAAA,CAAAA,qBAAA,GAAX7D,WAAW,CAAE+D,IAAI,CAAC,aAAa,CAAC,KAAA,IAAA,GAAA,KAAA,CAAA,GAAhCF,qBAAA,CAAkC9M,KAAK,MAAK,KAAK,CAAA;AACnE,MAAA,OAAO+M,SAAS,IAAIlO,iBAAiB,CAAC7C,UAAU,CAAC,CAAA;AACnD,KAAC,CAAC,CAAA;GACJ,EAAA;AAAEkD,IAAAA,SAAS,EAATA,SAAS;AAAEsG,IAAAA,YAAY,EAAZA,YAAAA;AAAY,GAAE,CAC5B,CAAA;AACH,CAAA;AAEgB,SAAAyH,kBAAkBA,CAChCtB,qBAA4C,EAC5C3P,UAA6B,EAAA;EAK7B,OAAOuQ,kBAAkB,CACvBvQ,UAAU,EACVvG,2BAAmB,CAACiB,OAAO,EAC3BiV,qBAAqB,CACtB,CAAA;AACH,CAAA;AACM,SAAUuB,uBAAuBA,CACrCvB,qBAA4C,EAC5C3P,UAA6B,EAC7BmR,WAAoC,EACpCjM,OAAgB,EAAA;EAEhB,IAAMkM,YAAY,GAAGb,kBAAkB,CACrCvQ,UAAU,EACVvG,2BAAmB,CAACkU,YAAY,EAChCgC,qBAAqB,CACtB,CAAA;EACD,OAAOE,uBAAuB,CAC5BuB,YAAY,EACZ,UAAClN,GAAG,EAAAmN,KAAA,EAAiC;AAAA,IAAA,IAA7BrR,UAAU,GAAAqR,KAAA,CAAVrR,UAAU;MAAEmR,WAAW,GAAAE,KAAA,CAAXF,WAAW,CAAA;IAC7B,OAAOrB,gBAAW,CAACwB,WAAW,CAAC,CAAA;IAC/B,SAASA,WAAWA,GAAA;MAClB,IAAAC,KAAA,GAAwBpX,uBAAuB,CAAC6F,UAAU,CAAC,GACvD,CAACA,UAAU,CAAC3C,QAAQ,EAAE2C,UAAU,CAACjF,YAAY,CAAC,GAC9C,CAAC,KAAK,EAAE6C,SAAS,CAAC;AAFfP,QAAAA,QAAQ,GAAAkU,KAAA,CAAA,CAAA,CAAA;AAAEC,QAAAA,GAAG,GAAAD,KAAA,CAAA,CAAA,CAAA,CAAA;MAGpB,OACEC,GAAG,WAAHA,GAAG,GACFL,WAAW,GACRjM,OAAO,GACLlH,oBAAoB,CAACmT,WAAW,CAAC,GACjCnU,oBAAoB,CAACmU,WAAW,EAAE9T,QAAQ,EAAE,IAAI,CAAC,GACnDO,SAAS,CAAA;AAEjB,KAAA;AACF,GAAC,EACD;AAAEoC,IAAAA,UAAU,EAAVA,UAAU;AAAEmR,IAAAA,WAAW,EAAXA,WAAAA;AAAW,GAAE,CAC5B,CAAA;AACH,CAAA;AAEA,SAASM,iBAAiBA,CACxBC,MAAsB,EACtB1V,MAAqB,EACrBf,IAAiB,EACjB0W,MAAA,EAAkC;AAAA,EAAA,IAAlCA,MAAA,KAAA,KAAA,CAAA,EAAA;AAAAA,IAAAA,MAAA,GAA0B,SAA1BA,MAAAA,CAA2BvX,CAAC,EAAA;AAAA,MAAA,OAAKA,CAAC,CAAA;AAAA,KAAA,CAAA;AAAA,GAAA;EAElC,IAAMwX,QAAQ,GAAG9H,aAAa,CAAC9N,MAAM,EAAE0V,MAAM,CAAChV,KAAK,CAAC,CAAA;EACpD,IAAMmV,UAAU,GAAGD,QAAQ,GAAGnO,kBAAkB,CAACxI,IAAI,EAAE2W,QAAQ,CAAC,GAAGhU,SAAS,CAAA;AAC5E,EAAA,OAAOuS,yBAAoB,CAAC,YAAA;AAAA,IAAA,OAAMwB,MAAM,CAACE,UAAU,oBAAVA,UAAU,CAAE7N,KAAK,CAAC,CAAA;GAAC,CAAA,CAAA;AAC9D,CAAA;AAEA,SAAS8N,sBAAsBA,CAC7BJ,MAA2B,EAC3B1V,MAAqB,EACrBf,IAAiB,EACjB0W,MAAA,EAAkC;AAAA,EAAA,IAAlCA,MAAA,KAAA,KAAA,CAAA,EAAA;AAAAA,IAAAA,MAAA,GAA0B,SAA1BA,MAAAA,CAA2BvX,CAAC,EAAA;AAAA,MAAA,OAAKA,CAAC,CAAA;AAAA,KAAA,CAAA;AAAA,GAAA;EAElC,IAAMwX,QAAQ,GAAG9H,aAAa,CAAC9N,MAAM,EAAE0V,MAAM,CAAChV,KAAK,CAAC,CAAA;EACpD,IAAMmV,UAAU,GAAGD,QAAQ,GAAGnO,kBAAkB,CAACxI,IAAI,EAAE2W,QAAQ,CAAC,GAAGhU,SAAS,CAAA;EAC5E,OAAOuS,yBAAoB,CAAC,YAAK;AAC/B,IAAA,IAAM4B,EAAE,GAAGF,UAAU,IAAVA,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,UAAU,CAAE7N,KAAK,CAAA;IAC5B,OAAO2N,MAAM,CACXzL,KAAK,CAACC,OAAO,CAAC4L,EAAE,CAAC,GAAGA,EAAE,CAAChT,QAAQ,CAAC2S,MAAM,CAAC1N,KAAK,CAAC,GAAG+N,EAAE,KAAKL,MAAM,CAAC1N,KAAK,CACpE,CAAA;AACH,GAAC,CAAC,CAAA;AACJ,CAAA;AAEA,SAASgO,qBAAqBA,CAC5BN,MAA0B,EAC1B1V,MAAqB,EACrBiU,eAAgC,EAChChV,IAAiB,EACjB0W,QAAkC;AAAA,EAAA,IAAlCA;AAAAA,IAAAA,SAA0B,SAA1BA,OAA2BvX,CAAC,EAAA;AAAA,MAAA,OAAKA,CAAC,CAAA;AAAA,KAAA,CAAA;AAAA,GAAA;EAElC,IAAMwX,QAAQ,GAAG9H,aAAa,CAAC9N,MAAM,EAAE0V,MAAM,CAAChV,KAAK,CAAC,CAAA;EACpD,IAAMmV,UAAU,GAAGD,QAAQ,GAAGnO,kBAAkB,CAACxI,IAAI,EAAE2W,QAAQ,CAAC,GAAGhU,SAAS,CAAA;EAC5E,OAAOuS,yBAAoB,CAAC,YAAK;AAC/B,IAAA,IAAM4B,EAAE,GAAGF,UAAU,IAAVA,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,UAAU,CAAE7N,KAAK,CAAA;IAC5B,IAAMtH,KAAK,GAAGkV,QAAQ,IAARA,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,QAAQ,CAAEtO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;AAC9B,IAAA,OAAOqO,MAAM,CAACjV,KAAK,IAAI,CAACuT,eAAe,CAACgC,YAAY,CAACvV,KAAK,EAAEqV,EAAE,CAAC,CAAC,CAAA;AAClE,GAAC,CAAC,CAAA;AACJ,CAAA;SAEgBG,gBAAgBA,CAC9BxE,IAAsB,EACtBzK,OAA2B,EAC3B0O,MAAuB,EAAA;EAEvB,QAAQjE,IAAI,CAACrT,IAAI;IACf,KAAKX,sBAAc,CAAC4U,OAAO;MACzB,OAAO6D,oBAAoB,CACxBzE,IAA0B,CAACW,UAAU,EACtCpL,OAAO,EACPrF,SAAS,EACT+T,MAAM,CACP,CAAA;IACH,KAAKjY,sBAAc,CAAC0Y,IAAI;MACtB,OAAOC,iBAAiB,CAACV,MAAM,CAAC,CAAA;IAClC,KAAKjY,sBAAc,CAACY,IAAI;MACtB,OAAOmX,iBAAiB,CACtB/D,IAAsB,EACtBzK,OAAO,CAACjH,MAAM,EACdiH,OAAO,EACP0O,MAAM,CACP,CAAA;IACH,KAAKjY,sBAAc,CAACyU,SAAS;MAC3B,OAAO2D,sBAAsB,CAC3BpE,IAA2B,EAC3BzK,OAAO,CAACjH,MAAM,EACdiH,OAAO,EACP0O,MAAM,CACP,CAAA;IACH,KAAKjY,sBAAc,CAAC4Y,QAAQ;AAC1B,MAAA,OAAON,qBAAqB,CAC1BtE,IAA0B,EAC1BzK,OAAO,CAACjH,MAAM,EACdiH,OAAO,CAACgN,eAAe,EACvBhN,OAAO,EACP0O,MAAM,CACP,CAAA;AACH,IAAA;MACE,OAAOnB,eAAU,CAAC5S,SAAS,CAAC,CAAA;AAC/B,GAAA;AACH,CAAA;IAEa2U,4BAA4B,GACvCC,sBAAsB,CAACN,gBAAgB,EAAC;AAEpC,SAAUM,sBAAsBA,CACpCzQ,CAIiB,EAAA;EAEjB,OAAO,UAAC2L,IAAI,EAAEiE,MAAM,EAAA;IAAA,OAAM;MACxBrJ,IAAI,EAAEoF,IAAI,IAAI,IAAI,GAAGA,IAAI,CAACrT,IAAI,GAAG,GAAG;AACpCgO,MAAAA,KAAK,EAAEqF,IAAI;AACXtF,MAAAA,OAAO,EAAE,SAATA,OAAOA,CAAGlE,GAAuB,EAAEmE,KAAmC,EAAI;QACxE,OAAOA,KAAK,GAAGtG,CAAC,CAACsG,KAAK,EAAEnE,GAAG,EAAEyN,MAAM,CAAC,GAAG/T,SAAS,CAAA;AAClD,OAAA;KACD,CAAA;GAAC,CAAA;AACJ,CAAA;SAEgBgS,sBAAsBA,CACpC5P,UAA6B,EAC7B3F,IAAyB,EACzBsV,qBAA4C,EAAA;EAE5C,OAAOY,kBAAkB,CAACvQ,UAAU,EAAE3F,IAAI,EAAEsV,qBAAqB,EAAE,UAACvV,CAAC,EAAA;IAAA,OACnEyE,OAAO,CAACzE,CAAC,CAAC,CAAA;GACX,CAAA,CAAA;AACH,CAAA;AAEgB,SAAAmW,kBAAkBA,CAChCvQ,UAA6B,EAC7B3F,IAAyB,EACzBsV,qBAA4C,EAC5CgC,QAAkC;AAAA,EAAA,IAAAc,mBAAA,CAAA;AAAA,EAAA,IAAlCd;AAAAA,IAAAA,SAA0B,SAA1BA,OAA2BvX,CAAC,EAAA;AAAA,MAAA,OAAKA,CAAC,CAAA;AAAA,KAAA,CAAA;AAAA,GAAA;AAElC,EAAA,IAAMiU,UAAU,GAAA,CAAAoE,mBAAA,GAAGzS,UAAU,CAAC0S,OAAO,KAAA,IAAA,GAAA,KAAA,CAAA,GAAlBD,mBAAA,CAAoBrU,IAAI,CAAC,UAAChE,CAAC,EAAA;AAAA,IAAA,OAAKA,CAAC,CAACC,IAAI,KAAKA,IAAI,CAAA;GAAC,CAAA,CAAA;EACnE,OAAOsV,qBAAqB,CAACtB,UAAU,IAAA,IAAA,GAAA,KAAA,CAAA,GAAVA,UAAU,CAAEX,IAAI,EAAEiE,MAAM,CAAC,CAAA;AACxD,CAAA;AAEgB,SAAA5B,WAAWA,CACzB9M,OAA2B,EAC3BC,SAAyB,EAAA;AAEzB,EAAA,IAAMyP,KAAK,GAAGzP,SAAS,GACnBA,SAAS,CAACA,SAAS,CAACvG,MAAM,GAAG,CAAC,CAAC,CAACmJ,YAAY,GAC5ClI,SAAS,CAAA;EACb,IAAI+U,KAAK,IAAI,IAAI,IAAIA,KAAK,CAAChW,MAAM,KAAK,CAAC,EAAE,OAAO,IAAI,CAAA;AACpD,EAAA,IAAM8I,SAAS,GAAGzC,YAAY,CAACC,OAAO,EAAEC,SAAU,CAAC,CAAA;EACnD,OAAOuC,SAAS,IAAIkN,KAAK,CAAC5T,QAAQ,CAAC0G,SAAS,CAACzB,KAAK,CAAC,CAAA;AACrD,CAAA;AAEM,SAAUgM,eAAeA,CAC7B/M,OAA2B,EAC3BC,SAAwB,EACxBlD,UAA6B,EAC7BiQ,eAAgC,EAAA;AAAA,EAAA,IAAA2C,mBAAA,CAAA;AAEhC,EAAA,IAAMC,cAAc,GAAG9P,qBAAqB,CAAC/C,UAAU,CAAC,CAAA;AACxD,EAAA,OACE6S,cAAc,IACd,CAACA,cAAc,CAACC,SAAS,IACzB7C,eAAe,CAACgC,YAAY,CAC1B/O,SAAS,CAACI,EAAE,CAAC,CAAC,CAAC,CAAE,EAAA,CAAAsP,mBAAA,GACjBnP,kBAAkB,CAACR,OAAO,EAAEC,SAAS,CAAC,KAAA,IAAA,GAAA,KAAA,CAAA,GAAtC0P,mBAAA,CAAwC5O,KAAK,CAC9C,CAAA;AAEL,CAAA;AAEM,SAAUqO,iBAAiBA,CAACV,MAAA,EAAkC;AAAA,EAAA,IAAlCA,MAAA,KAAA,KAAA,CAAA,EAAA;AAAAA,IAAAA,MAAA,GAA0B,SAA1BA,MAAAA,CAA2BvX,CAAC,EAAA;AAAA,MAAA,OAAKA,CAAC,CAAA;AAAA,KAAA,CAAA;AAAA,GAAA;AAClE,EAAA,OAAOoW,eAAU,CAAC,YAAA;AAAA,IAAA,OAAMmB,MAAM,CAACoB,OAAM,EAAE,CAAC,CAAA;GAAC,CAAA,CAAA;AAC3C,CAAA;AAEgB,SAAAZ,oBAAoBA,CAClCa,KAAa,EACbzJ,WAAwB,EACxB0J,QAAoC,EACpCtB,QAAkC;AAAA,EAAA,IAAlCA;AAAAA,IAAAA,SAA0B,SAA1BA,OAA2BvX,CAAC,EAAA;AAAA,MAAA,OAAKA,CAAC,CAAA;AAAA,KAAA,CAAA;AAAA,GAAA;EAElC,IAAM8Y,UAAU,GAAGlM,cAAc,CAACuC,WAAW,CAAC/E,IAAI,EAAE,UAACpK,CAAC,EAAA;AAAA,IAAA,OAAA,MAAA,GAAYA,CAAC,GAAA,GAAA,CAAA;AAAA,GAAG,CAAC,CAAA;AACvE,EAAA,IAAM+Y,QAAQ,GAAGD,UAAU,GAAGA,UAAU,GAAG,IAAI,GAAGF,KAAK,GAAG,GAAG,GAAGA,KAAK,CAAA;AACrE,EAAA,IAAMI,YAAY,GAAGnE,aAAO,CAAC,YAAK;IAChC,IAAI;MACF,OAAOoE,2BAAO,CAACF,QAAQ,CAAC,CAAA;KACzB,CAAC,OAAOG,CAAC,EAAE;AACVC,MAAAA,OAAO,CAACC,KAAK,CAACF,CAAC,CAAC,CAAA;MAChB,OAAOD,2BAAO,CAAC,MAAM,CAAC,CAAA;AACvB,KAAA;AACH,GAAC,EAAE,CAACF,QAAQ,CAAC,CAAC,CAAA;AACd,EAAA,IAAMhS,OAAO,GAAGqP,eAAU,EAAE,CAAA;AAC5B,EAAA,IAAMiD,WAAW,GAAGhR,YAAM,EAAc,CAAA;AACxC,EAAA,IAAMiR,SAAS,GAAGjR,YAAM,CAAC,CAAC,CAAC,CAAA;EAC3B,IAAAkR,YAAA,GAAcC,gBAAW,CAAC,YAAA;MAAA,OACxBC,sBAAiB,CAAC,YAAK;AACrB,QAAA,IAAMC,CAAC,GAAGL,WAAW,CAAC/Q,OAAO,CAAA;AAC7B,QAAA,IAAIoR,CAAC,EAAE;UACLL,WAAW,CAAC/Q,OAAO,GAAG9E,SAAS,CAAA;AAC/BmW,UAAAA,4BAAuB,CAAC,YAAK;YAC3BN,WAAW,CAAC/Q,OAAO,GAAGoR,CAAC,CAAA;AACvBA,YAAAA,CAAC,EAAE,CAAA;AACL,WAAC,CAAC,CAAA;AACH,SAAA;AACH,OAAC,CAAC,CAAA;KACH,CAAA;AAXM/K,IAAAA,GAAG,GAAA4K,YAAA,CAAA,CAAA,CAAA,CAAA;AAYVK,EAAAA,eAAS,CAAC,YAAK;IAAA,IAGEC,KAAK,GAALA,SAAAA,KAAKA,GAAA;MAAA,IAAA;AAClB,QAAA,IAAAC,YAAA,GAAuCnL,GAAG,CAACrG,OAAO;AAA3CyR,UAAAA,OAAO,GAAAD,YAAA,CAAA,CAAA,CAAA;AAAEE,UAAAA,mBAAmB,GAAAF,YAAA,CAAA,CAAA,CAAA,CAAA;QAAgB,IAAAG,KAAA,GAAAC,gBAAA,CAC/C,YAAA;UACFZ,SAAS,CAAChR,OAAO,EAAE,CAAA;UACnB,IAAM6R,WAAW,GAAGtB,QAAQ,GACxBuB,mBAAc,CAACL,OAAO,EAAElB,QAAQ,CAAC,GACjCrV,SAAS,CAAA;UAAC,IAAA6W,OAAA,GACE9C,MAAM,CAAA;UAAA,OAAA+C,OAAA,CAAAC,OAAA,CACdvB,YAAY,CAACwB,QAAQ,CACzBC,iBAAY,CAACtL,WAAW,CAACtO,IAAI,EAAEkZ,OAAO,CAAC,EACvCI,WAAW,CACZ,CAAA,CAAAO,IAAA,CAAA,UAAAC,qBAAA,EAAA;AAJH5T,YAAAA,OAAO,CAAC6C,KAAK,GAAGyQ,OAAA,CAAAM,qBAIb,CACF,CAAA;AAAC,WAAA,CAAA,CAAA;SACH,EAAA,UAAAC,UAAA,EAAAC,OAAA,EAAA;UACC,IAAI,IAAGvB,SAAS,CAAChR,OAAO,EAAE0R,mBAAmB,EAAE,CAAA;UAAC,IAAAY,UAAA,QAAAC,OAAA,CAAA;AAAA,UAAA,OAAAA,OAAA,CAAA;AAAA,SAAA,CAAA,CAAA;AAAA,QAAA,OAAAP,OAAA,CAAAC,OAAA,CAAAN,KAAA,IAAAA,KAAA,CAAAS,IAAA,GAAAT,KAAA,CAAAS,IAAA,CAAA,YAAA,EAAA,CAAA,GAAA,KAAA,CAAA,CAAA,CAAA;AAEpD,OAAC,QAAAxB,CAAA,EAAA;AAAA,QAAA,OAAAoB,OAAA,CAAAQ,MAAA,CAAA5B,CAAA,CAAA,CAAA;AAAA,OAAA;AAAA,KAAA,CAAA;IAlBDG,WAAW,CAAC/Q,OAAO,GAAGuR,KAAK,CAAA;AAC3BA,IAAAA,KAAK,EAAE,CAAA;IAkBP,OAAO,YAAA;MAAA,OAAMlL,GAAG,CAACrG,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;AAAA,KAAA,CAAA;AACnC,GAAC,EAAE,CAAC0Q,YAAY,CAAC,CAAC,CAAA;AAClB,EAAA,OAAOjS,OAAO,CAAA;AAChB,CAAA;AAEgB,SAAAgU,iBAAiBA,CAC/BC,OAA8B,EAC9BpV,UAA6B,EAAA;EAE7B,IAAMoR,YAAY,GAAGb,kBAAkB,CACrCvQ,UAAU,EACVvG,2BAAmB,CAAC4b,UAAU,EAC9BD,OAAO,CACR,CAAA;EACD,OAAOvF,uBAAuB,CAC5BuB,YAAY,EACZ,YAAA;IAAA,OAAMZ,eAAU,CAAC,IAAI,CAAC,CAAA;AAAA,GAAA,EACtB5S,SAAS,CACV,CAAA;AACH,CAAA;AAEgB,SAAA0X,gBAAgBA,CAC9BF,OAA8B,EAC9BpV,UAA6B,EAAA;EAE7B,IAAMoR,YAAY,GAAGb,kBAAkB,CACrCvQ,UAAU,EACVvG,2BAAmB,CAAC8b,KAAK,EACzBH,OAAO,CACR,CAAA;EACD,OAAOvF,uBAAuB,CAC5BuB,YAAY,EACZ,YAAA;IAAA,OAAMZ,eAAU,CAAC,IAAI,CAAC,CAAA;AAAA,GAAA,EACtB5S,SAAS,CACV,CAAA;AACH,CAAA;AAEA,SAASiS,uBAAuBA,CAC9BuB,YAGC,EACDoE,WAAsE,EACtEnN,KAAQ,EACRC,IAAc,EAAA;EAEd,OAAO;IACLA,IAAI,EACFA,IAAI,KAAK1K,SAAS,GACdwT,YAAY,CAAC9I,IAAI,GACjB,CAACA,IAAI,EAAE8I,YAAY,CAAC9I,IAAI,CAAC,CAAClL,GAAG,CAACqL,WAAW,CAAC,CAACC,IAAI,EAAE;AACvDN,IAAAA,OAAO,EAAE,SAATA,OAAOA,CAAGlE,GAAG,EAAE8E,CAAC,EAAI;AAAA,MAAA,IAAAyM,qBAAA,CAAA;MAClB,OAAAA,CAAAA,qBAAA,GAAOrE,YAAY,CAAChJ,OAAO,CAAClE,GAAG,EAAE8E,CAAC,CAAC,CAAC,CAAC,CAAC,KAAAyM,IAAAA,GAAAA,qBAAA,GAAID,WAAW,CAACtR,GAAG,EAAE8E,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;KACjE;AACDX,IAAAA,KAAK,EAAE,CAAC+I,YAAY,CAAC/I,KAAK,EAAEA,KAAK,CAAA;GAClC,CAAA;AACH;;AC9aM,SAAUqN,qBAAqBA,CACnC1V,UAA6B,EAC7BtD,KAA8B,EAC9BiZ,iBAG+B;AAAA,EAAA,IAAAC,cAAA,CAAA;AAAA,EAAA,IAH/BD;AAAAA,IAAAA,kBAGYE,mBAAmB,CAAA;AAAA,GAAA;EAE/B,IAAMC,EAAE,GACNpZ,KAAK,IAAIvC,uBAAuB,CAAC6F,UAAU,CAAC,GAAGA,UAAU,GAAGpC,SAAS,CAAA;EACvE,IAAMmY,OAAO,GAAGzT,aAAa,CAAC;AAAEwT,IAAAA,EAAE,EAAFA,EAAE;AAAEpZ,IAAAA,KAAK,EAALA,KAAK;AAAEiZ,IAAAA,eAAe,EAAfA,eAAAA;AAAiB,GAAA,CAAC,CAAA;AAC7D,EAAA,IAAMK,SAAS,GAAGzN,iBAAiB,CAAAqN,CAAAA,cAAA,GAACE,EAAE,IAAA,IAAA,GAAA,KAAA,CAAA,GAAFA,EAAE,CAAEG,UAAU,KAAAL,IAAAA,GAAAA,cAAA,GAAI,EAAE,EAAE,UAACxb,CAAC,EAAA;IAAA,OAAKA,CAAC,CAACC,IAAI,CAAA;GAAC,CAAA,CAAA;AACxE,EAAA,OAAO4O,iBAAW,CAChB,UAAC/E,GAAG,EAAI;AAAA,IAAA,IAAAgS,eAAA,CAAA;AACN,IAAA,IAAAC,gBAAA,GAAsBJ,OAAO,CAACrT,OAAO;MAA7BoT,EAAE,GAAAK,gBAAA,CAAFL,EAAE;MAAEpZ,KAAK,GAAAyZ,gBAAA,CAALzZ,KAAK,CAAA;AACjB,IAAA,IAAI,CAACoZ,EAAE,IAAI,CAACpZ,KAAK,EAAE,OAAA;AACnB,IAAA,IACEyE,OAAO,GAGL+C,GAAG,CAHL/C,OAAO;MACPiV,aAAa,GAEXlS,GAAG,CAFLkS,aAAa;AACEnG,MAAAA,eAAe,GAC5B/L,GAAG,CADLqF,WAAW,CAAI0G,eAAe,CAAA;IAGhCoG,yBAAoB,CAAClV,OAAO,EAAE,YAAA;AAAA,MAAA,OAAMA,OAAO,CAACmV,QAAQ,CAAC,SAAS,EAAE,EAAE,CAAC,CAAA;KAAC,CAAA,CAAA;AACpEC,IAAAA,iBAAY,CACVpV,OAAO,EACP,UAACpF,CAAC,EAAA;AAAA,MAAA,OACA,CAACqa,aAAa,CAACpS,KAAK,IACpB8R,EAAE,CAACzY,QAAQ,IACX4S,eAAe,CAACgC,YAAY,CAACvV,KAAK,EAAEX,CAAC,CAAC,GAClCkU,eAAe,CAACuG,qBAAqB,CACnC9Z,KAAK,EACLnD,6BAAqB,CAAC+Y,QAAQ,EAC9B,KAAK,EACL,IAAI,CACL,GACD,IAAI,CAAA;KACV,EAAA,UAAU,EACV1U,SAAS,EACT,CAACkY,EAAE,CAACzY,QAAQ,CAAC,CACd,CAAA;AACD,IAAA,CAAA6Y,eAAA,GAAAJ,EAAE,CAACG,UAAU,KAAA,IAAA,IAAbC,eAAA,CAAepZ,OAAO,CAAC,UAACf,CAAC,EAAEmL,CAAC,EAAA;AAAA,MAAA,OAC1ByO,eAAe,CAAC5Z,CAAC,EAAAc,QAAA,KAAOqH,GAAG,EAAA;AAAEyD,QAAAA,KAAK,EAAET,CAAC;AAAExK,QAAAA,KAAK,EAALA,KAAK;AAAEsD,QAAAA,UAAU,EAAE8V,EAAAA;AAAE,OAAA,CAAE,CAAC,CAAA;KAChE,CAAA,CAAA;GACF,EACD,CAAC,CAAC,CAACA,EAAE,EAAEE,SAAS,EAAEL,eAAe,CAAC,CACnC,CAAA;AACH,CAAA;AAEA,SAASE,mBAAmBA,CAC1BY,SAA0B,EAC1BvS,GAAsB,EAAA;EAEtB,QAAQuS,SAAS,CAACpc,IAAI;IACpB,KAAKJ,qBAAa,CAACyc,MAAM;AACvBC,MAAAA,kBAAkB,CAACF,SAA4B,EAAEvS,GAAG,CAAC,CAAA;AACrD,MAAA,MAAA;IACF,KAAKjK,qBAAa,CAACqU,OAAO;AACxBsI,MAAAA,mBAAmB,CAACH,SAA6B,EAAEvS,GAAG,CAAC,CAAA;AACvD,MAAA,MAAA;IACF,KAAKjK,qBAAa,CAACoR,IAAI;AACrBwL,MAAAA,gBAAgB,CAACJ,SAA0B,EAAEvS,GAAG,CAAC,CAAA;AACjD,MAAA,MAAA;AACH,GAAA;AACH,CAAA;AAEgB,SAAA0S,mBAAmBA,CACjCH,SAA2B,EAC3BvS,GAAsB,EAAA;AAEtB,EAAA,IAAM4S,QAAQ,GAAG3E,oBAAoB,CACnCsE,SAAS,CAACpI,UAAU,EACpBnK,GAAG,CAACqF,WAAW,EACf3L,SAAS,EACT,UAAC7B,CAAC,EAAA;AAAA,IAAA,OAAMA,CAAC,IAAI,IAAI,GAAG,IAAI,GAAG,OAAOA,CAAC,KAAK,QAAQ,GAAGA,CAAC,GAAGgb,IAAI,CAACC,SAAS,CAACjb,CAAC,CAAC,CAAA;AAAA,GAAC,CAC1E,CAAA;AACDwa,EAAAA,iBAAY,CACVrS,GAAG,CAAC/C,OAAO,EACX,YAAA;IAAA,OAAO,CAAC+C,GAAG,CAACkS,aAAa,CAACpS,KAAK,GAAG8S,QAAQ,CAAC9S,KAAK,GAAG,IAAI,CAAA;AAAA,GAAC,EACxD,SAAS,GAAGE,GAAG,CAACyD,KAAK,CACtB,CAAA;AACH,CAAA;AAEgB,SAAAgP,kBAAkBA,CAChCM,EAAmB,EACnB/S,GAAsB,EAAA;AAEtB,EAAA,IACE/C,OAAO,GAIL+C,GAAG,CAJL/C,OAAO;AACQ8O,IAAAA,eAAe,GAG5B/L,GAAG,CAHLqF,WAAW,CAAI0G,eAAe;IAC9BmG,aAAa,GAEXlS,GAAG,CAFLkS,aAAa;IACb1Z,KAAK,GACHwH,GAAG,CADLxH,KAAK,CAAA;AAEP6Z,EAAAA,iBAAY,CACVpV,OAAO,EACP,UAACpF,CAAC,EAAI;IACJ,IAAMmb,GAAG,GAAGjH,eAAe,CAACkH,aAAa,CAACza,KAAK,EAAEyE,OAAO,CAAC,CAAA;AACzD,IAAA,IAAMiW,MAAM,GAAGhB,aAAa,CAACpS,KAAK,CAAA;AAClC,IAAA,IAAIoT,MAAM,EAAE;AACV,MAAA,OAAOxZ,SAAS,CAAA;AACjB,KAAA;IACD,IAAIqZ,EAAE,CAACvN,GAAG,IAAI,IAAI,IAAIwN,GAAG,GAAGD,EAAE,CAACvN,GAAG,EAAE;AAClC,MAAA,IAAIhN,KAAK,IAAA,IAAA,IAALA,KAAK,CAAES,UAAU,EAAE;AACrBgE,QAAAA,OAAO,CAACkW,QAAQ,CAAC,UAACtb,CAAC,EAAA;AAAA,UAAA,OACjBmK,KAAK,CAACC,OAAO,CAACpK,CAAC,CAAC,GACZA,CAAC,CAAC2E,MAAM,CAACwF,KAAK,CAACoR,IAAI,CAAC;AAAE3a,YAAAA,MAAM,EAAEsa,EAAE,CAACvN,GAAI,GAAG3N,CAAC,CAACY,MAAAA;AAAQ,WAAA,CAAC,CAAC,GACpDuJ,KAAK,CAACoR,IAAI,CAAC;YAAE3a,MAAM,EAAEsa,EAAE,CAACvN,GAAAA;AAAM,WAAA,CAAC,CAAA;SACpC,CAAA,CAAA;AACF,OAAA,MAAM;AACL,QAAA,OAAOuG,eAAe,CAACuG,qBAAqB,CAC1C9Z,KAAK,EACLnD,6BAAqB,CAACge,SAAS,EAC/BL,GAAG,EACHD,EAAE,CAACvN,GAAG,CACP,CAAA;AACF,OAAA;AACF,KAAA,MAAM,IAAIuN,EAAE,CAACtN,GAAG,IAAI,IAAI,IAAIuN,GAAG,GAAGD,EAAE,CAACtN,GAAG,EAAE;AACzC,MAAA,OAAOsG,eAAe,CAACuG,qBAAqB,CAC1C9Z,KAAK,EACLnD,6BAAqB,CAACie,SAAS,EAC/BN,GAAG,EACHD,EAAE,CAACtN,GAAG,CACP,CAAA;AACF,KAAA;AACD,IAAA,OAAO/L,SAAS,CAAA;AAClB,GAAC,EACD,QAAQ,GAAGsG,GAAG,CAACyD,KAAK,CACrB,CAAA;AACH,CAAA;AAEgB,SAAAkP,gBAAgBA,CAACY,EAAiB,EAAEvT,GAAsB,EAAA;AACxE,EAAA,IACE/C,OAAO,GAIL+C,GAAG,CAJL/C,OAAO;IACPzE,KAAK,GAGHwH,GAAG,CAHLxH,KAAK;IACLiL,KAAK,GAEHzD,GAAG,CAFLyD,KAAK;AACUsI,IAAAA,eAAe,GAC5B/L,GAAG,CADLqF,WAAW,CAAI0G,eAAe,CAAA;AAEhC,EAAA,IAAIyH,cAAsB,CAAA;EAC1B,IAAID,EAAE,CAACE,SAAS,EAAE;IAChBD,cAAc,GAAGzH,eAAe,CAAC2H,aAAa,CAAClb,KAAK,EAAE+a,EAAE,CAACE,SAAS,CAAC,CAAA;AACpE,GAAA,MAAM;AACL,IAAA,IAAME,OAAO,GAAG,IAAIxM,IAAI,EAAE,CAAA;IAC1BqM,cAAc,GAAGrM,IAAI,CAACyM,GAAG,CACvBD,OAAO,CAACE,WAAW,EAAE,EACrBF,OAAO,CAACG,QAAQ,EAAE,EAClBH,OAAO,CAACI,OAAO,EAAE,CAClB,CAAA;IACD,IAAIR,EAAE,CAACS,eAAe,EAAE;AACtBR,MAAAA,cAAc,IAAID,EAAE,CAACS,eAAe,GAAG,QAAQ,CAAA;AAChD,KAAA;AACF,GAAA;AACD3B,EAAAA,iBAAY,CACVpV,OAAO,EACP,UAACpF,CAAC,EAAI;AACJ,IAAA,IAAIA,CAAC,EAAE;MACL,IAAMoc,OAAO,GAAGlI,eAAe,CAAC2H,aAAa,CAAClb,KAAK,EAAEX,CAAC,CAAC,CAAA;MACvD,IAAMqc,QAAQ,GAAGX,EAAE,CAACY,UAAU,KAAKne,sBAAc,CAACoe,QAAQ,CAAA;MAC1D,IAAIF,QAAQ,GAAGD,OAAO,GAAGT,cAAc,GAAGS,OAAO,GAAGT,cAAc,EAAE;AAClE,QAAA,OAAOzH,eAAe,CAACuG,qBAAqB,CAC1C9Z,KAAK,EACL0b,QAAQ,GACJ7e,6BAAqB,CAACgf,YAAY,GAClChf,6BAAqB,CAACif,aAAa,EACvCL,OAAO,EACPT,cAAc,CACf,CAAA;AACF,OAAA;AACF,KAAA;AACD,IAAA,OAAO,IAAI,CAAA;AACb,GAAC,EACD,MAAM,GAAG/P,KAAK,CACf,CAAA;AACH;;AC7MM,SAAU8Q,EAAEA,CAAC7N,CAA4B,EAAA;AAC7C,EAAA,OAAOA,CAAC,GAAGA,CAAC,GAAGhN,SAAS,CAAA;AAC1B;;ACOA,IAAa8a,sBAAsB,gBAAA,YAAA;EACjC,SAAAA,sBAAAA,CAAsBC,WAAgC,EAAa;AAAA,IAAA,IAA7CA,WAAgC,KAAA,KAAA,CAAA,EAAA;AAAhCA,MAAAA,WAAgC,GAAA,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;AAAA,KAAA;AAAA,IAAA,IAAA,CAA7CA,WAAA,GAAA,KAAA,CAAA,CAAA;IAAA,IAAW,CAAAA,WAAA,GAAXA,WAAW,CAAA;AAAqC,GAAA;AAAC,EAAA,IAAAC,MAAA,GAAAF,sBAAA,CAAAG,SAAA,CAAA;EAAAD,MAAA,CAEvEhB,aAAa,GAAb,SAAAA,aAAaA,CAAClb,KAAkB,EAAEX,CAAS,EAAA;AACzC,IAAA,OAAOsP,IAAI,CAACyN,KAAK,CAAC/c,CAAC,CAAC,CAAA;GACrB,CAAA;AAAA6c,EAAAA,MAAA,CACDpC,qBAAqB,GAArB,SAAAA,qBAAqBA,CACnB9Z,KAAkB,EAClBqc,WAAkC,EAClCC,MAAW,EACXC,QAAa,EAAA;AAEb,IAAA,QAAQF,WAAW;MACjB,KAAKxf,6BAAqB,CAAC+Y,QAAQ;AACjC,QAAA,OAAO,sBAAsB,CAAA;MAC/B,KAAK/Y,6BAAqB,CAACge,SAAS;QAClC,OAAO,0BAA0B,GAAG0B,QAAQ,CAAA;MAC9C,KAAK1f,6BAAqB,CAACie,SAAS;QAClC,OAAO,2BAA2B,GAAGyB,QAAQ,CAAA;MAC/C,KAAK1f,6BAAqB,CAACif,aAAa;QACtC,OAAkC,0BAAA,GAAA,IAAInN,IAAI,CAAC4N,QAAQ,CAAC,CAACC,YAAY,EAAE,CAAA;MACrE,KAAK3f,6BAAqB,CAACgf,YAAY;QACrC,OAAiC,yBAAA,GAAA,IAAIlN,IAAI,CAAC4N,QAAQ,CAAC,CAACC,YAAY,EAAE,CAAA;AACpE,MAAA;AACE,QAAA,OAAO,eAAe,CAAA;AACzB,KAAA;GACF,CAAA;AAAAN,EAAAA,MAAA,CAEDO,UAAU,GAAV,SAAAA,UAAUA,CAAAvX,IAAA,EAAyB;AAAA,IAAA,IAAtBvG,OAAO,GAAAuG,IAAA,CAAPvG,OAAO,CAAA;IAClB,OAAOA,OAAO,IAAIA,OAAO,CAACsB,MAAM,GAAG,CAAC,GAAGtB,OAAO,GAAG,IAAI,CAAA;GACtD,CAAA;EAAAud,MAAA,CACD3G,YAAY,GAAZ,SAAAA,YAAYA,CAAClQ,CAAc,EAAEiC,KAAU,EAAA;IACrC,IAAIjC,CAAC,CAAC5E,UAAU,EACd,OAAO+I,KAAK,CAACC,OAAO,CAACnC,KAAK,CAAC,GAAGA,KAAK,CAACrH,MAAM,KAAK,CAAC,GAAGqH,KAAK,IAAI,IAAI,CAAA;IAClE,QAAQjC,CAAC,CAAC1H,IAAI;MACZ,KAAKf,iBAAS,CAACiR,MAAM;AACnB,QAAA,OAAO,CAACvG,KAAK,CAAA;AACf,MAAA;QACE,OAAOA,KAAK,IAAI,IAAI,CAAA;AACvB,KAAA;GACF,CAAA;EAAA4U,MAAA,CACDQ,SAAS,GAAT,SAAAA,SAASA,CACP1c,KAAkB,EAClBsH,KAAU,EACVkB,OAA6B,EAAA;IAE7B,QAAQxI,KAAK,CAACrC,IAAI;MAChB,KAAKf,iBAAS,CAACmS,QAAQ;QACrB,OAAO,IAAIJ,IAAI,CAACrH,KAAK,CAAC,CAACqV,kBAAkB,EAAE,CAAA;MAC7C,KAAK/f,iBAAS,CAAC+R,IAAI;QACjB,OAAO,IAAIA,IAAI,CAACrH,KAAK,CAAC,CAACqV,kBAAkB,EAAE,CAAA;MAC7C,KAAK/f,iBAAS,CAACqS,IAAI;QACjB,OAAO,IAAI,CAACgN,WAAW,CAAC3U,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC,CAAA;AACxC,MAAA;QACE,OAAOA,KAAK,IAAI,IAAI,GAAGA,KAAK,CAACqF,QAAQ,EAAE,GAAGzL,SAAS,CAAA;AACtD,KAAA;GACF,CAAA;EAAAgb,MAAA,CACDzB,aAAa,GAAb,SAAAA,aAAaA,CAACpV,CAAc,EAAEZ,OAAqB,EAAA;IAAA,IAAAmY,qBAAA,EAAAzU,iBAAA,CAAA;AACjD,IAAA,OAAO9C,CAAC,CAAC5E,UAAU,GAAA,CAAAmc,qBAAA,GAAA,CAAAzU,iBAAA,GACf1D,OAAO,CAAC2D,QAAQ,KAAA,IAAA,GAAA,KAAA,CAAA,GAAhBD,iBAAA,CAAkBlI,MAAM,KAAA,IAAA,GAAA2c,qBAAA,GAAI,CAAC,GAC7B,IAAI,CAACC,WAAW,CAACxX,CAAC,EAAEZ,OAAO,CAAC6C,KAAK,CAAC,CAAA;GACvC,CAAA;EAAA4U,MAAA,CACDW,WAAW,GAAX,SAAAA,WAAWA,CAAC7c,KAAkB,EAAEsH,KAAU,EAAA;AAAA,IAAA,IAAAmF,KAAA,CAAA;AACxC,IAAA,OAAA,CAAAA,KAAA,GAAQnF,KAAK,KAAIA,KAAK,IAAA,IAAA,GAAA,KAAA,CAAA,GAALA,KAAK,CAAErH,MAAM,CAAA,KAAA,IAAA,GAAAwM,KAAA,GAAK,CAAC,CAAA;GACrC,CAAA;AAAA,EAAA,OAAAuP,sBAAA,CAAA;AAAA,CAAA,GAAA;IAGUc,sBAAsB,GACjC,IAAId,sBAAsB;;;AC2BrB,IAAMe,uBAAuB,GAAG,EAAC;AACjC,IAAMC,qBAAqB,GAAG,KAAI;AA0D7BC,2BAIX;AAJD,CAAA,UAAYA,SAAS,EAAA;EACnBA,SAAA,CAAAA,SAAA,CAAA,SAAA,CAAA,GAAA,CAAA,CAAA,GAAA,SAAO,CAAA;EACPA,SAAA,CAAAA,SAAA,CAAA,OAAA,CAAA,GAAA,CAAA,CAAA,GAAA,OAAK,CAAA;EACLA,SAAA,CAAAA,SAAA,CAAA,MAAA,CAAA,GAAA,CAAA,CAAA,GAAA,MAAI,CAAA;AACN,CAAC,EAJWA,iBAAS,KAATA,iBAAS,GAIpB,EAAA,CAAA,CAAA,CAAA;AA2GK,SAAUC,kBAAkBA,CAChC5Z,UAA6B,EAC7BhE,MAAqB,EACrB6d,QAAsB,EACtBxe,OAAA,EAAkC;AAAA,EAAA,IAAAye,oBAAA,EAAAC,qBAAA,EAAAC,qBAAA,CAAA;AAAA,EAAA,IAAlC3e,OAAA,KAAA,KAAA,CAAA,EAAA;IAAAA,OAAA,GAAgC,EAAE,CAAA;AAAA,GAAA;AAElC,EAAA,IAAM4e,SAAS,GAAAH,CAAAA,oBAAA,GAAGze,OAAO,CAAC6e,WAAW,IAAA,IAAA,GAAA,KAAA,CAAA,GAAnB7e,OAAO,CAAC6e,WAAW,CAAGla,UAAU,CAAC,KAAA8Z,IAAAA,GAAAA,oBAAA,GAAIK,gBAAgB,CAAA;AACvE,EAAA,IAAM3Q,YAAY,GAAGnO,OAAO,CAACmO,YAAY,CAAA;EACzC,IAAMyG,eAAe,GAAA8J,CAAAA,qBAAA,GAAG1e,OAAO,CAAC4U,eAAe,KAAA,IAAA,GAAA8J,qBAAA,GAAIP,sBAAsB,CAAA;EACzE,IAAMpE,OAAO,GAAA4E,CAAAA,qBAAA,GAAG3e,OAAO,CAACsU,qBAAqB,KAAA,IAAA,GAAAqK,qBAAA,GAAIzH,4BAA4B,CAAA;AAE7E,EAAA,IAAMrP,SAAS,GAAGkX,iBAAiB,CAACpa,UAAU,EAAEhE,MAAM,CAAC,CAAA;EACvD,IAAMmV,WAAW,GAAGjO,SAAS,IAATA,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,SAAS,CAAEI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;EACrC,IAAM+W,aAAa,GAAG3E,qBAAqB,CACzC1V,UAAU,EACVmR,WAAW,EACX9V,OAAO,CAACif,iBAAiB,CAC1B,CAAA;EACD,IAAMC,YAAY,GAAG5R,eAAe,CAAC;AACnC6R,IAAAA,mBAAmB,EAAEtJ,uBAAuB,CAC1CkE,OAAO,EACPpV,UAAU,EACVmR,WAAW,EACX3H,YAAY,IAAI,IAAI,CACrB;IACDiR,cAAc,EAAE/K,qBAAqB,CAAC0F,OAAO,EAAEpV,UAAU,EAAEkD,SAAS,CAAC;AACrEwX,IAAAA,eAAe,EAAExK,mBAAmB,CAACkF,OAAO,EAAEpV,UAAU,CAAC;IACzD2a,eAAe,EAAE/J,mBAAmB,CAClCwE,OAAO,EACPpV,UAAU,EACVkD,SAAS,EACTsG,YAAY,CACb;AACDoR,IAAAA,cAAc,EAAEnK,yBAAyB,CAAC2E,OAAO,EAAEpV,UAAU,CAAC;AAC9D6a,IAAAA,SAAS,EAAEvF,gBAAgB,CAACF,OAAO,EAAEpV,UAAU,CAAC;AAChD8a,IAAAA,UAAU,EAAE3F,iBAAiB,CAACC,OAAO,EAAEpV,UAAU,CAAC;IAClD+a,WAAW,EAAE3K,gBAAgB,CAC3BgF,OAAO,EACP3b,2BAAmB,CAACuhB,KAAK,EACzBhb,UAAU,CACX;IACDib,WAAW,EAAE7K,gBAAgB,CAC3BgF,OAAO,EACP3b,2BAAmB,CAACyhB,WAAW,EAC/Blb,UAAU,CACX;AACDmb,IAAAA,cAAc,EAAElK,kBAAkB,CAACmE,OAAO,EAAEpV,UAAU,CAAA;AACvD,GAAA,CAAC,CAAA;EAEF,IAAMwC,CAAC,GAAGF,aAAa,CAAC;AACtBjH,IAAAA,OAAO,EAAPA,OAAO;AACP2E,IAAAA,UAAU,EAAVA,UAAU;AACVhE,IAAAA,MAAM,EAANA,MAAM;AACNkH,IAAAA,SAAS,EAATA,SAAS;AACTsG,IAAAA,YAAY,EAAZA,YAAAA;AACD,GAAA,CAAC,CAAA;AAEF,EAAA,IAAM4R,SAAS,GAAGnS,iBAAW,CAC3B,UAAArH,IAAA,EAAkE;AAAA,IAAA,IAAtDyZ,WAAW,GAAAzZ,IAAA,CAApBT,OAAO;MAAAma,eAAA,GAAA1Z,IAAA,CAAe2Z,UAAU;AAAVA,MAAAA,UAAU,GAAAD,eAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,eAAA,CAAA;AACtC,IAAA,IAAME,YAAY,GAAGC,yBAAoB,EAAE,CAAA;IAC3C,IAAI;MAAA,IAAAC,qBAAA,EAAAC,sBAAA,CAAA;AACF,MAAA,IAAAC,UAAA,GAMIpZ,CAAC,CAACE,OAAO;QALClE,CAAC,GAAAod,UAAA,CAAb5b,UAAU;QACV3E,QAAO,GAAAugB,UAAA,CAAPvgB,OAAO;QACPW,OAAM,GAAA4f,UAAA,CAAN5f,MAAM;QACNkH,UAAS,GAAA0Y,UAAA,CAAT1Y,SAAS;QACTsG,aAAY,GAAAoS,UAAA,CAAZpS,YAAY,CAAA;MAEd,IAAM2H,YAAW,GAAGjO,UAAS,IAATA,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,UAAS,CAAEI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;AACrC,MAAA,IAAMuY,iBAAiB,GAAuB;AAC5C7f,QAAAA,MAAM,EAANA,OAAM;AACNiU,QAAAA,eAAe,EAAfA,eAAe;AACfhV,QAAAA,IAAI,EAAEogB,WAAW;AACjB7W,QAAAA,IAAI,EAAE+W,UAAAA;OACP,CAAA;AACD,MAAA,IAAAO,aAAA,GAWIvB,YAAY,CAACsB,iBAAiB,CAAC;QAVjCnB,eAAe,GAAAoB,aAAA,CAAfpB,eAAe;QACfC,eAAe,GAAAmB,aAAA,CAAfnB,eAAe;QACfF,cAAc,GAAAqB,aAAA,CAAdrB,cAAc;QACdU,cAAc,GAAAW,aAAA,CAAdX,cAAc;QACdF,WAAW,GAAAa,aAAA,CAAXb,WAAW;QACXJ,SAAS,GAAAiB,aAAA,CAATjB,SAAS;QACTE,WAAW,GAAAe,aAAA,CAAXf,WAAW;QACXH,cAAc,GAAAkB,aAAA,CAAdlB,cAAc;QACdJ,mBAAmB,GAAAsB,aAAA,CAAnBtB,mBAAmB;QACnBM,UAAU,GAAAgB,aAAA,CAAVhB,UAAU,CAAA;AAGZ,MAAA,IAAMiB,OAAO,GAAGtB,cAAc,CAAC/X,OAAO,CAACsB,KAAK,CAAA;MAC5C,IAAMgY,UAAU,GAAGxL,eAAU,CAAyB,YAAA;QAAA,OACpDuL,OAAO,IAAI,IAAI,GACX;AACEA,UAAAA,OAAO,EAAPA,OAAO;AACPE,UAAAA,OAAO,EAAEF,OAAAA;AACV,SAAA,GACDne,SAAS,CAAA;OACd,CAAA,CAAA;AACDse,MAAAA,qBAAgB,CACd,YAAA;QAAA,OAAMzB,cAAc,CAACzW,KAAK,CAAA;OAC1B,EAAA,UAAC+X,OAAO,EAAI;QACV,IAAIA,OAAO,IAAI,IAAI,EACjBC,UAAU,CAAC3E,QAAQ,CAAC,UAAC8E,EAAE,EAAA;UAAA,OAAM;AAC3BJ,YAAAA,OAAO,EAAPA,OAAO;AACPE,YAAAA,OAAO,EAAEE,EAAE,GAAGA,EAAE,CAACF,OAAO,GAAGF,OAAAA;WAC5B,CAAA;AAAA,SAAC,CAAC,CAAA;AACP,OAAC,CACF,CAAA;MAED,IAAAK,eAAA,GAAqDC,cAAc,CACjEnZ,UAAS,EACT2Y,iBAAiB,EACjBrS,aAAY,CACb;AAJM8S,QAAAA,aAAa,GAAAF,eAAA,CAAA,CAAA,CAAA;AAAEjb,QAAAA,OAAO,GAAAib,eAAA,CAAA,CAAA,CAAA;AAAEG,QAAAA,kBAAkB,GAAAH,eAAA,CAAA,CAAA,CAAA,CAAA;AAKjDF,MAAAA,qBAAgB,CACd,YAAA;AAAA,QAAA,IAAAM,qBAAA,CAAA;QAAA,OAAM,CACJR,UAAU,CAAChY,KAAK,EAChBwW,mBAAmB,CAACxW,KAAK,EACzB7C,OAAO,IAAPA,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,OAAO,CAAEsb,MAAM,EACftiB,uBAAuB,CAAC6F,UAAU,CAAC,IAAIA,UAAU,CAAC0c,eAAe,EACjEviB,uBAAuB,CAAC6F,UAAU,CAAC,IACjC,CAAA,CAAAwc,qBAAA,GAAAxc,UAAU,CAACL,aAAa,KAAA,IAAA,GAAA,KAAA,CAAA,GAAxB6c,qBAAA,CAA0BniB,IAAI,KAAIR,sBAAc,CAAC8iB,UAAU,EAC7DL,aAAa,CAACG,MAAM,EACpBphB,QAAO,CAAC+b,MAAM,EACdsD,eAAe,CAAC1W,KAAK,CACtB,CAAA;OACD,EAAA,UAAAmF,KAAA,EAAgE;QAAA,IAA9DyT,EAAE,GAAAzT,KAAA,CAAA,CAAA,CAAA;AAAEsO,UAAAA,EAAE,GAAAtO,KAAA,CAAA,CAAA,CAAA;AAAE0T,UAAAA,CAAC,GAAA1T,KAAA,CAAA,CAAA,CAAA;AAAE2T,UAAAA,SAAS,GAAA3T,KAAA,CAAA,CAAA,CAAA;AAAE4T,UAAAA,WAAW,GAAA5T,KAAA,CAAA,CAAA,CAAA;AAAE6T,UAAAA,UAAU,GAAA7T,KAAA,CAAA,CAAA,CAAA;AAAEiO,UAAAA,MAAM,GAAAjO,KAAA,CAAA,CAAA,CAAA;AAAE8T,UAAAA,EAAE,GAAA9T,KAAA,CAAA,CAAA,CAAA,CAAA;QACzD,IAAI,CAAC8T,EAAE,EAAE;AACP,UAAA,IAAI9b,OAAO,EAAE;YACX,IAAIyb,EAAE,IAAIA,EAAE,CAACb,OAAO,KAAKa,EAAE,CAACX,OAAO,EAAE;AACnC,cAAA,IAAI7E,MAAM,IAAI,CAACwF,EAAE,CAACb,OAAO,EAAE;AACzB5a,gBAAAA,OAAO,CAACkW,QAAQ,CAAC,UAACjd,CAAC,EAAA;kBAAA,OACjBiB,QAAO,CAAC6hB,WAAW,IAAI,CAACJ,SAAS,GAC7Blf,SAAS,GACTxD,CAAC,IAAI,IAAI,IAAI0iB,SAAS,IAAI,CAACC,WAAW,GACpCtF,EAAE,GACFrd,CAAC,CAAA;iBACR,CAAA,CAAA;eACF,MAAM,IAAI,CAAC2iB,WAAW,EACrB5b,OAAO,CAACkW,QAAQ,CAAC,UAACjd,CAAC,EAAA;AAAA,gBAAA,OAAMA,CAAC,IAAI,IAAI,GAAGA,CAAC,GAAGqd,EAAE,CAAA;AAAA,eAAC,CAAC,CAAA;AAChD,aAAA;WACF,MAAM,IAAIuF,UAAU,EAAE;AACrBV,YAAAA,aAAa,CAACjF,QAAQ,CAAC,UAACjd,CAAC,EAAA;AAAA,cAAA,OAAKA,CAAC,IAAA,IAAA,GAADA,CAAC,GAAI,EAAE,CAAA;aAAC,CAAA,CAAA;AACvC,WAAA;AACF,SAAA;OACF,EACD,IAAI,CACL,CAAA;MACD,IAAM+iB,gBAAgB,GAAGhN,yBAAoB,CAC3C,YAAA;AAAA,QAAA,IAAAiN,kBAAA,CAAA;QAAA,OAAO;AACLhG,UAAAA,MAAM,EAAE/b,QAAO,CAAC+b,MAAM,IAAI,GAAAgG,kBAAA,GAACpB,UAAU,CAAChgB,MAAM,KAAjBohB,IAAAA,IAAAA,kBAAA,CAAmBnB,OAAO,CAACjY,KAAK,CAAA;AAC3DpB,UAAAA,QAAQ,EAAEvH,QAAO,CAACuH,QAAQ,IAAI8X,eAAe,CAAC1W,KAAK;AACnDlB,UAAAA,QAAQ,EAAEzH,QAAO,CAACyH,QAAQ,IAAI6X,eAAe,CAAC3W,KAAAA;SAC/C,CAAA;AAAA,OAAC,CACH,CAAA;AACD,MAAA,IAAMqZ,SAAS,GAAGxI,iBAAY,CAACsI,gBAAgB,CAAC,CAAA;AAChD9C,MAAAA,aAAa,CAAC;QACZlZ,OAAO,EAAEA,OAAO,IAAPA,IAAAA,GAAAA,OAAO,GAAImc,eAAU,CAAC,IAAI,CAAC;AACpClH,QAAAA,aAAa,EAAE+G,gBAAgB,CAACnhB,MAAM,CAACob,MAAM;AAC7C7N,QAAAA,WAAW,EAAEsS,iBAAAA;AACd,OAAA,CAAC,CAAA;AACF,MAAA,IAAM0B,YAAY,GAAA1gB,QAAA,CACbxB,EAAAA,EAAAA,QAAO,EACPgiB,SAAS,EAAA;AACZ7T,QAAAA,YAAY,EAAE5L,SAAAA;OACf,CAAA,CAAA;AAEDoW,MAAAA,eAAS,CAAC,YAAK;QACb,IACE7S,OAAO,IACP,OAAOkc,SAAS,CAACva,QAAQ,KAAK,SAAS,IACvC3B,OAAO,CAAC2B,QAAQ,IAAIua,SAAS,CAACva,QAAQ,EAEtC3B,OAAO,CAAC2B,QAAQ,GAAGua,SAAS,CAACva,QAAQ,CAAA;OACxC,EAAE,CAAC3B,OAAO,EAAEkc,SAAS,CAACva,QAAQ,CAAC,CAAC,CAAA;AACjC,MAAA,IAAIwZ,aAAa,CAACG,MAAM,EAAE,oBAAOe,yBAAA,CAAAC,aAAA,CAAAD,yBAAA,CAAAE,QAAA,OAAK,CAAA;AAEtC,MAAA,IAAMC,UAAU,GAAA,CAAAjC,qBAAA,GAAA,CAAAC,sBAAA,GACd3b,UAAU,CAAC2d,UAAU,qBAArBhC,sBAAA,CAAuBve,GAAG,CAAC,UAAChD,CAAC,EAAA;QAAA,OAC3Byf,QAAQ,CAAC+D,eAAe,CAAC;AACvBC,UAAAA,SAAS,EAAEzjB,CAAC;AACZmP,UAAAA,WAAW,EAAEgT,kBAAkB;AAC/BuB,UAAAA,aAAa,EAAEjC,iBAAiB;AAChCzG,UAAAA,OAAO,EAAPA,OAAAA;SACD,CAAC,CAAA;OACH,CAAA,KAAA,IAAA,GAAAsG,qBAAA,GAAI,EAAE,CAAA;MACT,IAAMqC,gBAAgB,GAAGC,mBAAmB,CAAC;AAC3Che,QAAAA,UAAU,EAAExB,CAAC;AACbqb,QAAAA,QAAQ,EAARA,QAAQ;QACRoE,WAAW,EAAE,SAAbA,WAAWA,CAAGC,CAAC,EAAEC,KAAK,EAAE9iB,OAAO,EAAI;AAAA,UAAA,IAAA+iB,oBAAA,CAAA;UACjC,IAAIjd,OAAO,IAAIA,OAAO,CAACsb,MAAM,EAAE,oBAAOe,yBAAA,CAAAC,aAAA,CAACC,cAAQ,EAAA;AAACW,YAAAA,GAAG,EAAEH,CAAAA;AAAE,WAAA,CAAG,CAAA;AAC1D,UAAA,IAAM3U,WAAW,GAAA,CAAA6U,oBAAA,GAAG/iB,OAAO,IAAA,IAAA,GAAA,KAAA,CAAA,GAAPA,OAAO,CAAEkO,WAAW,KAAA,IAAA,GAAA6U,oBAAA,GAAI7B,kBAAkB,CAAA;AAC9D,UAAA,oBACEiB,yBAAA,CAAAC,aAAA,CAACa,eAAe,EAAA;AACdD,YAAAA,GAAG,EAAEH,CAAE;YACP/c,OAAO,EAAEoI,WAAW,CAACtO,IAAK;YAC1Be,MAAM,EAAEuN,WAAW,CAACvN,MAAO;AAC3BgE,YAAAA,UAAU,EAAEme,KAAM;YAClB5C,UAAU,EAAEhS,WAAW,CAAC/E,IAAK;AAC7BqV,YAAAA,QAAQ,EAAEA,QAAS;AACnBxe,YAAAA,OAAO,EACLA,OAAO,GAAAwB,QAAA,KACE0gB,YAAY,EAAA;AAAE/T,cAAAA,YAAY,EAAEnO,OAAO,IAAPA,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,OAAO,CAAEmO,YAAAA;aAC1C+T,CAAAA,GAAAA,YAAAA;AACL,WAAA,CACD,CAAA;SAEL;AACDgB,QAAAA,eAAe,EAAEtE,SAAS;AAC1BuE,QAAAA,WAAW,EAAEnB,SAAS;AACtB9T,QAAAA,WAAW,EAAEgT,kBAAkB;AAC/BuB,QAAAA,aAAa,EAAEjC,iBAAiB;AAChC1a,QAAAA,OAAO,EAAEga,cAAc,IAAdA,IAAAA,GAAAA,cAAc,GAAIha,OAAO;AAClCqI,QAAAA,YAAY,EAAZA,aAAY;AACZyG,QAAAA,eAAe,EAAfA,eAAe;AACf4K,QAAAA,SAAS,EAATA,SAAS;AACTne,QAAAA,KAAK,EAAEyU,YAAW;AAClBgK,QAAAA,cAAc,EAAdA,cAAc;QACdsD,KAAK,EAAE1D,WAAW,CAAC/W,KAAK;AACxB4W,QAAAA,cAAc,EAAdA,cAAc;QACd8D,aAAa,EAAErjB,QAAO,CAACqjB,aAAa;AACpCC,QAAAA,iBAAiB,EAAE7D,UAAU;QAC7B8D,aAAa,EAAEvjB,QAAO,CAACujB,aAAa;AACpCC,QAAAA,kBAAkB,EAAE,SAApBA,kBAAkBA,CAAGC,QAAQ,EAAE7b,OAAO,EAAI;AACxC,UAAA,IAAMkO,WAAW,GAAGiJ,iBAAiB,CACnC0E,QAAQ,EACR,CAAC7b,OAAO,IAAA,IAAA,GAAPA,OAAO,GAAIsZ,kBAAkB,EAAEvgB,MAAM,CACvC,CAAA;AACD,UAAA,OAAO0T,qBAAqB,CAAC0F,OAAO,EAAE0J,QAAQ,EAAE3N,WAAW,CAAC,CAAA;AAC9D,SAAA;AACD,OAAA,CAAC,CAAA;MACF,IAAM4N,eAAe,GAAGlF,QAAQ,CAACmF,YAAY,CAAAniB,QAAA,KACxCkhB,gBAAgB,EAAA;AACnBJ,QAAAA,UAAU,EAAVA,UAAU;QACVrW,SAAS,EAAE9I,CAAC,CAACqI,WAAW;QACxB4X,KAAK,EAAExD,WAAW,CAACjX,KAAAA;AAAK,OAAA,CACzB,CAAC,CAAA;AACF,MAAA,OAAO6V,QAAQ,CAACoF,gBAAgB,CAAApiB,QAAA,CAAA;AAAGmf,QAAAA,UAAU,EAAVA,UAAAA;OAAe+C,EAAAA,eAAe,CAAE,CAAC,CAAA;AACrE,KAAA,SAAS;AACRvD,MAAAA,YAAY,EAAE,CAAA;AACf,KAAA;AACH,GAAC,EACD,CAAChZ,CAAC,EAAEyX,SAAS,EAAEI,aAAa,EAAER,QAAQ,EAAE5J,eAAe,EAAEsK,YAAY,CAAC,CACvE,CAAA;EACAa,SAAiB,CAAClc,WAAW,GAAG,eAAe,CAAA;AAChD,EAAA,OAAOkc,SAAS,CAAA;AAClB,CAAA;AACgB,SAAAhB,iBAAiBA,CAC/B5b,CAAoB,EACpBxC,MAAqB,EAAA;EAErB,IAAMqI,SAAS,GAAG9J,yBAAyB,CAACiE,CAAC,CAAC,GAC1CA,CAAC,CAAC2B,aAAa,GACfhG,uBAAuB,CAACqE,CAAC,CAAC,GACxBA,CAAC,CAAC9B,KAAK,GACPkB,SAAS,CAAA;EACf,OAAOyG,SAAS,GAAGyF,aAAa,CAAC9N,MAAM,EAAEqI,SAAS,CAAC,GAAGzG,SAAS,CAAA;AACjE,CAAA;SACgBye,cAAcA,CAC5BnZ,SAAoC,EACpC4a,aAAiC,EACjCtU,YAAgC,EAAA;AAAA,EAAA,IAAA0V,oBAAA,EAAAC,qBAAA,EAAAC,qBAAA,CAAA;AAEhC,EAAA,IAAQnkB,IAAI,GAAe6iB,aAAa,CAAhC7iB,IAAI;IAAQokB,EAAE,GAAKvB,aAAa,CAA1BtZ,IAAI,CAAA;AAClB,EAAA,IAAM8a,SAAS,GAAAJ,CAAAA,oBAAA,GAAGhc,SAAS,IAAA,IAAA,GAAA,KAAA,CAAA,GAATA,SAAS,CAAEE,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAChG,GAAG,CAAC,UAAChD,CAAC,EAAA;IAAA,OAAKA,CAAC,CAACsC,KAAK,CAAA;GAAC,CAAA,KAAA,IAAA,GAAAwiB,oBAAA,GAAI,EAAE,CAAA;AACnE,EAAA,IAAM1a,IAAI,GAAA9D,EAAAA,CAAAA,MAAA,CAAO2e,EAAE,EAAKC,SAAS,CAAC,CAAA;EAClC,IAAMnO,WAAW,GAAGjO,SAAS,IAATA,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,SAAS,CAAEI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;AACrC,EAAA,IAAAic,cAAA,GAA+B9a,aAAa,CAACxJ,IAAI,EAAEuJ,IAAI,CAAC;AAAjD8X,IAAAA,aAAa,GAAAiD,cAAA,CAAA,CAAA,CAAA;AAAEC,IAAAA,KAAK,GAAAD,cAAA,CAAA,CAAA,CAAA,CAAA;EAC3B,IAAMla,SAAS,GAAG8L,WAAW,GACzB3H,YAAY,IAAI,IAAI,GAAA9I,EAAAA,CAAAA,MAAA,CACd8D,IAAI,EAAE2M,CAAAA,WAAW,CAACzU,KAAK,EAAE8M,YAAY,CAAA9I,CAAAA,GAAAA,EAAAA,CAAAA,MAAA,CACrC8D,IAAI,EAAE2M,CAAAA,WAAW,CAACzU,KAAK,CAAC,CAAA,GAC9B8H,IAAI,CAAA;AACR,EAAA,IAAMib,YAAY,GAChBtO,WAAW,IAAIqO,KAAK,GAAA,CAAAL,qBAAA,GAChB7C,aAAa,CAACtgB,MAAM,KAAA,IAAA,GAAA,KAAA,CAAA,GAApBmjB,qBAAA,CAAuBhO,WAAW,CAACzU,KAAK,CAAC,GACzCkB,SAAS,CAAA;EACf,OAAO,CACL0e,aAAa,EACbmD,YAAY,IAAIjW,YAAY,IAAI,IAAI,GAAA,CAAA4V,qBAAA,GAChCK,YAAY,CAAC3a,QAAQ,KAArBsa,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,qBAAA,CAAwB5V,YAAY,CAAC,GACrCiW,YAAY,EAChBtO,WAAW,GAAAtU,QAAA,CAAA,EAAA,EAEFihB,aAAa,EAAA;AAChBtZ,IAAAA,IAAI,EAAEa,SAAS;IACfrJ,MAAM,EAAES,eAAe,CAAC0U,WAAW,CAAC,GAChCA,WAAW,CAAC5T,QAAQ,GACpBugB,aAAa,CAAC9hB,MAAAA;AAAM,GAAA,CAAA,GAE1B8hB,aAAa,CAClB,CAAA;AACH,CAAA;AAEA,SAASrZ,aAAaA,CACpBtD,OAAqB,EACrBqD,IAAyB,EAAA;AAAA,EAAA,IAAAkb,KAAA,CAAA;EAEzB,IAAIrY,IAAI,GAAGlG,OAAO,CAAA;EAClB,IAAIwG,KAAK,GAAG,CAAC,CAAA;AACb,EAAA,OAAOA,KAAK,GAAGnD,IAAI,CAAC7H,MAAM,IAAI0K,IAAI,EAAE;AAClClG,IAAAA,OAAO,GAAGkG,IAAI,CAAA;AACd,IAAA,IAAMO,OAAO,GAAGpD,IAAI,CAACmD,KAAK,CAAC,CAAA;AAC3B,IAAA,IAAMnJ,CAAC,GAAG6I,IAAI,CAAC3E,OAAO,CAAA;AACtB,IAAA,IAAI,OAAOkF,OAAO,KAAK,QAAQ,EAAE;AAAA,MAAA,IAAAC,SAAA,CAAA;MAC/BR,IAAI,GAAA,CAAAQ,SAAA,GAAGrJ,CAAC,CAACxC,MAAM,KAAR6L,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,SAAA,CAAWD,OAAO,CAAC,CAAA;AAC3B,KAAA,MAAM;AAAA,MAAA,IAAAM,WAAA,CAAA;MACLb,IAAI,GAAA,CAAAa,WAAA,GAAG1J,CAAC,CAACsG,QAAQ,KAAVoD,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,WAAA,CAAaN,OAAO,CAAC,CAAA;AAC7B,KAAA;AACDD,IAAAA,KAAK,EAAE,CAAA;AACR,GAAA;AACD,EAAA,OAAO,CAAA+X,CAAAA,KAAA,GAACrY,IAAI,KAAAqY,IAAAA,GAAAA,KAAA,GAAIve,OAAO,EAAE,CAAC,CAACkG,IAAI,CAAC,CAAA;AAClC,CAAA;AAEgB,SAAAiX,eAAeA,CAAAzN,KAAA,EAAA;EAAA,IAAA8O,OAAA,GAAAC,yBAAA,EAAA,CAAA;AAAA,EAAA,IAAA;AAAA,IAAA,IAC7B5f,UAAU,GAAA6Q,KAAA,CAAV7Q,UAAU;MACVhE,MAAM,GAAA6U,KAAA,CAAN7U,MAAM;MACN6d,QAAQ,GAAAhJ,KAAA,CAARgJ,QAAQ;MACRxe,OAAO,GAAAwV,KAAA,CAAPxV,OAAO;MACP8F,OAAO,GAAA0P,KAAA,CAAP1P,OAAO;MACPoa,UAAU,GAAA1K,KAAA,CAAV0K,UAAU,CAAA;IASV,IAAMsE,MAAM,GAAGjG,kBAAkB,CAAC5Z,UAAU,EAAEhE,MAAM,EAAE6d,QAAQ,EAAExe,OAAO,CAAC,CAAA;AACxE,IAAA,oBAAOmiB,yBAAA,CAAAC,aAAA,CAACoC,MAAM,EAAA;AAAC1e,MAAAA,OAAO,EAAEA,OAAQ;AAACoa,MAAAA,UAAU,EAAEA,UAAAA;AAAW,MAAG,CAAA;AAAC,GAAA,SAAA;IAAAoE,OAAA,EAAA,CAAA;AAAA,GAAA;AAAA,CAAA;AAGxD,SAAUxF,gBAAgBA,CAAA9I,KAAA,EASb;AAAA,EAAA,IAAAyO,qBAAA,EAAAC,qBAAA,EAAA7f,oBAAA,EAAA8f,sBAAA,CAAA;AAAA,EAAA,IARjBhgB,UAAU,GAAAqR,KAAA,CAAVrR,UAAU;IACVtD,KAAK,GAAA2U,KAAA,CAAL3U,KAAK;IACLyE,OAAO,GAAAkQ,KAAA,CAAPlQ,OAAO;IACPqd,WAAW,GAAAnN,KAAA,CAAXmN,WAAW;IACXC,KAAK,GAAApN,KAAA,CAALoN,KAAK;IACL7D,cAAc,GAAAvJ,KAAA,CAAduJ,cAAc;IAAAqF,qBAAA,GAAA5O,KAAA,CACdpB,eAAe;AAAfA,IAAAA,eAAe,GAAAgQ,qBAAA,KAAGzG,KAAAA,CAAAA,GAAAA,sBAAsB,GAAAyG,qBAAA;AACrCC,IAAAA,KAAK,GAAAC,6BAAA,CAAA9O,KAAA,EAAA+O,WAAA,CAAA,CAAA;AAER,EAAA,IAAMC,SAAS,GAAA,CAAAP,qBAAA,GAAG9f,UAAU,CAACiW,UAAU,KAAA,IAAA,GAAA,KAAA,CAAA,GAArB6J,qBAAA,CAAuB1hB,IAAI,CAC3C,UAAChE,CAAC,EAAA;AAAA,IAAA,OAAKA,CAAC,CAACC,IAAI,KAAKJ,qBAAa,CAACyc,MAAM,CAAA;GACR,CAAA,CAAA;AAChC,EAAA,IAAMpP,SAAS,GAAGmR,EAAE,CAACzY,UAAU,CAAC4G,UAAU,CAAC,CAAA;AAC3C,EAAA,IAAMvJ,QAAQ,GAAG,CAAC,CAAC2C,UAAU,CAAC3C,QAAQ,CAAA;AACtC,EAAA,IAAMijB,YAAY,GAAGrQ,eAAe,CAACkJ,UAAU,CAACzc,KAAK,CAAC,CAAA;AACtD,EAAA,IAAM6jB,QAAQ,GAAA,CAAAR,qBAAA,GAAGnF,cAAc,IAAA,IAAA,GAAA,KAAA,CAAA,GAAdA,cAAc,CAAE5W,KAAK,KAAA,IAAA,GAAA+b,qBAAA,GAAI,EAAE,CAAA;AAC5C,EAAA,IAAMS,OAAO,GAAGta,KAAK,CAACC,OAAO,CAACoa,QAAQ,CAAC,GAAGA,QAAQ,GAAG,CAACA,QAAQ,CAAC,CAAA;AAC/D,EAAA,OAAA1jB,QAAA,CAAA;AACEmD,IAAAA,UAAU,EAAVA,UAAU;IACVygB,gBAAgB,EAAA,CAAAvgB,oBAAA,GAAEF,UAAU,CAACzC,QAAQ,KAAA,IAAA,GAAA2C,oBAAA,GAAI,EAAE;AAC3CiB,IAAAA,OAAO,EAAPA,OAAO;AACPzE,IAAAA,KAAK,EAALA,KAAK;AACLgkB,IAAAA,EAAE,EAAE,GAAG,GAAGvf,OAAO,CAACwf,QAAQ;AAC1BtlB,IAAAA,OAAO,EACLmlB,OAAO,CAAC7jB,MAAM,GAAG,CAAC,GACd6jB,OAAO,CAACpjB,GAAG,CAAC,UAAChD,CAAC,EAAA;AAAA,MAAA,IAAAwmB,kBAAA,CAAA;AAAA,MAAA,OACZ,OAAOxmB,CAAC,KAAK,QAAQ,GACjBA,CAAC,GAAAwmB,CAAAA,kBAAA,GACAN,YAAY,oBAAZA,YAAY,CAAEliB,IAAI,CAAC,UAACyiB,CAAC,EAAA;AAAA,QAAA,OAAKA,CAAC,CAAC7c,KAAK,IAAI5J,CAAC,CAAA;OAAC,CAAA,KAAA,IAAA,GAAAwmB,kBAAA,GAAI;AAC1CzU,QAAAA,IAAI,EAAE/R,CAAC,CAACiP,QAAQ,EAAE;AAClBrF,QAAAA,KAAK,EAAE5J,CAAAA;OACP,CAAA;AAAA,KAAA,CACP,GACDkmB,YAAY;AAClB1d,IAAAA,QAAQ,EAAE,CAAC,CAAC4b,WAAW,CAAC5b,QAAQ;IAChCjD,aAAa,EAAA,CAAAqgB,sBAAA,GAAEhgB,UAAU,CAACL,aAAa,KAAA,IAAA,GAAAqgB,sBAAA,GAAI;AAAE3lB,MAAAA,IAAI,EAAE,UAAA;KAAY;AAC/DgD,IAAAA,QAAQ,EAARA,QAAQ;AACR+Z,IAAAA,MAAM,EAAE,CAAC,CAACoH,WAAW,CAACpH,MAAM;AAC5B9P,IAAAA,SAAS,EAATA,SAAS;AACTmX,IAAAA,KAAK,EAALA,KAAAA;AAAK,GAAA,EACFyB,KAAK,EAAA;IACRY,YAAY,EACVpkB,KAAK,CAACS,UAAU,IAAI+iB,KAAK,CAAC1W,YAAY,IAAI,IAAI,GAC1C,YAAA;AAAA,MAAA,OACEuX,iBAAiB,CACf5f,OAAO,EACPzE,KAAK,EACLW,QAAQ,EACRohB,KAAK,EACLnX,SAAS,EACT,UAACkC,YAAY,EAAA;QAAA,IAAAwX,qBAAA,EAAAnc,iBAAA,CAAA;QAAA,OACXqb,KAAK,CAACjC,WAAW,CAAA,CAAA+C,qBAAA,GAAAnc,CAAAA,iBAAA,GACf1D,OAAO,CAAC2D,QAAQ,qBAAhBD,iBAAA,CAAmB2E,YAAY,CAAC,CAACmX,QAAQ,KAAAK,IAAAA,GAAAA,qBAAA,GAAIxX,YAAY,EACzD;UACEnP,IAAI,EAAEb,6BAAqB,CAACc,IAAI;UAChCoC,KAAK,EAAEsD,UAAU,CAACtD,KAAK;UACvBa,QAAQ,EAAEyC,UAAU,CAACzC,QAAQ;AAC7BkR,UAAAA,SAAS,EAAE,IAAA;AACa,SAAA,EAC1B;AAAEjF,UAAAA,YAAY,EAAZA,YAAY;UAAED,WAAW,EAAE2W,KAAK,CAACpC,aAAAA;AAAa,SAAE,CACnD,CAAA;OACHuC,EAAAA,SAAS,IAATA,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,SAAS,CAAE3W,GAAG,EACd2W,SAAS,IAATA,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,SAAS,CAAE1W,GAAG,CACf,CAAA;KACH/L,GAAAA,SAAAA;AAAS,GAAA,CAAA,CAAA;AAEnB,CAAA;SAEgBmjB,iBAAiBA,CAC/BE,YAA+C,EAC/CvkB,KAAkB,EAClBW,QAAiB,EACjBohB,KAAgC,EAChCnX,SAA6B,EAC7B4Z,cAA+C,EAC/CxX,GAA8B,EAC9BC,GAA8B,EAAA;AAAA,EAAA,IAAA1K,kBAAA,CAAA;AAE9B,EAAA,IAAMkiB,IAAI,GAAA,CAAAliB,kBAAA,GAAGvC,KAAK,CAACwC,WAAW,KAAA,IAAA,GAAAD,kBAAA,GAAIvC,KAAK,CAACA,KAAK,CAAA;EAC7C,OAAO;AACLukB,IAAAA,YAAY,EAAZA,YAAY;AACZ5jB,IAAAA,QAAQ,EAARA,QAAQ;AACR+jB,IAAAA,SAAS,EAAE;AACTxS,MAAAA,QAAQ,EAAE,KAAK;MACfE,UAAU,EAAE,MAAM,GAAGqS,IAAI;MACzBtS,OAAO,EAAE,SAATA,OAAOA,GAAA;QAAA,OAAQwS,eAAU,CAACJ,YAAY,EAAEjjB,oBAAoB,CAACtB,KAAK,CAAC,CAAC,CAAA;AAAA,OAAA;KACrE;AACD4kB,IAAAA,YAAY,EAAE,SAAdA,YAAYA,CAAGpa,CAAS,EAAA;MAAA,OAAM;AAC5B0H,QAAAA,QAAQ,EAAE,EAAE;AACZE,QAAAA,UAAU,EAAE,QAAQ;QACpBD,OAAO,EAAE,SAATA,OAAOA,GAAA;AAAA,UAAA,OAAQ0S,kBAAa,CAACN,YAAY,EAAE/Z,CAAC,CAAC,CAAA;AAAA,SAAA;OAC9C,CAAA;KAAC;AACFga,IAAAA,aAAa,EAAE,SAAfA,aAAaA,CAAGha,CAAC,EAAA;MAAA,OAAKga,cAAa,CAACha,CAAC,CAAC,CAAA;AAAA,KAAA;AACtCI,IAAAA,SAAS,EAAEmR,EAAE,CAACnR,SAAS,CAAC;AACxBmX,IAAAA,KAAK,EAALA,KAAK;AACL/U,IAAAA,GAAG,EAAHA,GAAG;AACHC,IAAAA,GAAG,EAAHA,GAAAA;GACD,CAAA;AACH,CAAA;AAsCM,SAAUqU,mBAAmBA,CACjCkC,KAAyB,EAAA;AAEzB,EAAA,IACc1hB,CAAC,GAcX0hB,KAAK,CAdPlgB,UAAU;IACV6Z,QAAQ,GAaNqG,KAAK,CAbPrG,QAAQ;IACRoE,WAAW,GAYTiC,KAAK,CAZPjC,WAAW;IACX9c,OAAO,GAWL+e,KAAK,CAXP/e,OAAO;IACPzE,KAAK,GAUHwjB,KAAK,CAVPxjB,KAAK;IACL6M,WAAW,GAST2W,KAAK,CATP3W,WAAW;IACM0Q,SAAS,GAQxBiG,KAAK,CARP3B,eAAe;IACfpD,cAAc,GAOZ+E,KAAK,CAPP/E,cAAc;IACdsD,KAAK,GAMHyB,KAAK,CANPzB,KAAK;IACL5D,SAAS,GAKPqF,KAAK,CALPrF,SAAS;IACTiD,aAAa,GAIXoC,KAAK,CAJPpC,aAAa;IACbe,kBAAkB,GAGhBqB,KAAK,CAHPrB,kBAAkB;IAClB2C,UAAU,GAERtB,KAAK,CAFPsB,UAAU;IACV9C,aAAa,GACXwB,KAAK,CADPxB,aAAa,CAAA;AAGf,EAAA,IAAIvkB,uBAAuB,CAACqE,CAAC,CAAC,EAAE;IAC9B,OAAOijB,UAAU,CAACjjB,CAAC,CAAC,CAAA;AACrB,GAAA;AACD,EAAA,IAAIjE,yBAAyB,CAACiE,CAAC,CAAC,EAAE;AAAA,IAAA,IAAAyC,WAAA,EAAAygB,gBAAA,EAAAC,gBAAA,EAAAC,gBAAA,CAAA;IAChC,IAAIpjB,CAAC,CAAC2B,aAAa,EAAE;AAAA,MAAA,IAAA0hB,eAAA,CAAA;MACnB,OAAOJ,UAAU,CACfxU,WAAW,CAACzO,CAAC,CAAC2B,aAAa,EAAE3B,CAAC,CAACgB,KAAK,EAAE;QACpCjC,QAAQ,EAAEiB,CAAC,CAACjB,QAAQ;QACpBkR,SAAS,EAAA,CAAAoT,eAAA,GAAErjB,CAAC,CAACgQ,YAAY,KAAA,IAAA,GAAA,KAAA,CAAA,GAAdqT,eAAA,CAAgBpT,SAAAA;AAC5B,OAAA,CAAC,CACH,CAAA;AACF,KAAA;IACD,OAAO;AACLqT,MAAAA,aAAa,EAAEjI,QAAQ,CAACkI,WAAW,CAAC;QAClCtB,gBAAgB,EAAA,CAAAxf,WAAA,GAAEzC,CAAC,CAACjB,QAAQ,KAAA,IAAA,GAAA0D,WAAA,GAAI,EAAE;AAClCjB,QAAAA,UAAU,EAAExB,CAAC;AACbsf,QAAAA,aAAa,EAAbA,aAAa;AACbG,QAAAA,WAAW,EAAXA,WAAW;AACX1U,QAAAA,WAAW,EAAXA,WAAW;QACX5J,aAAa,EAAA,CAAA+hB,gBAAA,GAAEljB,CAAC,CAACgQ,YAAY,KAAA,IAAA,GAAAkT,gBAAA,GAAI;AAAErnB,UAAAA,IAAI,EAAE,UAAA;SAAY;AACrDiN,QAAAA,SAAS,EAAEmR,EAAE,CAACja,CAAC,CAACoI,UAAU,CAAC;AAC3BiY,QAAAA,kBAAkB,EAAlBA,kBAAkB;AAClBJ,QAAAA,KAAK,EAALA,KAAK;AACL+C,QAAAA,UAAU,EAAVA,UAAAA;OACD,CAAC;AACFQ,MAAAA,KAAK,EAAE;AACLA,QAAAA,KAAK,EAAAL,CAAAA,gBAAA,GAAE9G,SAAS,IAATA,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,SAAS,CAAE7W,KAAK,KAAA2d,IAAAA,GAAAA,gBAAA,GAAInjB,CAAC,CAACgB,KAAK;AAClC8H,QAAAA,SAAS,EAAEmR,EAAE,CAACja,CAAC,CAACsI,UAAU,CAAC;QAC3BzM,IAAI,EAAEsf,iBAAS,CAACnf,KAAK;QACrBynB,IAAI,EAAA,CAAAL,gBAAA,GAAEpjB,CAAC,CAACgQ,YAAY,KAAA,IAAA,GAAA,KAAA,CAAA,GAAdoT,gBAAA,CAAgBnT,SAAAA;AACvB,OAAA;KACF,CAAA;AACF,GAAA;AACD,EAAA,IAAI9T,0BAA0B,CAAC6D,CAAC,CAAC,EAAE;IAAA,IAAA0jB,qBAAA,EAAAC,sBAAA,EAAA5Q,KAAA,EAAA6Q,iBAAA,EAAAC,oBAAA,CAAA;AACjC,IAAA,IAAMvH,UAAU,GAAAoH,CAAAA,qBAAA,IAAAC,sBAAA,GAAGjC,KAAK,CAACvB,iBAAiB,KAAvBwD,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,sBAAA,CAAyBne,KAAK,KAAA,IAAA,GAAAke,qBAAA,GAAI1jB,CAAC,CAACsc,UAAU,CAAA;IACjE,OAAO;AACLvd,MAAAA,QAAQ,EAAEsc,QAAQ,CAACyI,YAAY,CAAC;QAC9BxT,UAAU,EAAA,CAAAyC,KAAA,GAAA6Q,CAAAA,iBAAA,GAAEvH,SAAS,IAAA,IAAA,GAAA,KAAA,CAAA,GAATA,SAAS,CAAE7W,KAAK,YAAAoe,iBAAA,GAAI5jB,CAAC,CAACgB,KAAK,YAAA+R,KAAA,GAAI/S,CAAC,CAACoQ,QAAQ;QACrDA,QAAQ,EAAEpQ,CAAC,CAACoQ,QAAQ;AACpBkM,QAAAA,UAAU,EAAVA,UAAU;QACVjM,OAAO,EAAA,CAAAwT,oBAAA,GAAEnC,KAAK,CAACtB,aAAa,IAAA,IAAA,GAAA,KAAA,CAAA,GAAnBsB,KAAK,CAACtB,aAAa,CAAGpgB,CAAC,CAACoQ,QAAQ,EAAEkM,UAAU,CAAC,YAAAuH,oBAAA,GAAK,YAAK,EAAI;AACpE/a,QAAAA,SAAS,EAAEmR,EAAE,CAACja,CAAC,CAACoI,UAAU,CAAC;AAC3B6X,QAAAA,KAAK,EAALA,KAAAA;OACD,CAAA;KACF,CAAA;AACF,GAAA;AACD,EAAA,IAAIhkB,2BAA2B,CAAC+D,CAAC,CAAC,EAAE;AAAA,IAAA,IAAA+jB,cAAA,CAAA;IAClC,IAAMtnB,IAAI,GAAAsnB,CAAAA,cAAA,GAAG/jB,CAAC,CAAC4O,WAAW,KAAAmV,IAAAA,GAAAA,cAAA,GAAI,EAAE,CAAA;AAChC,IAAA,IAAMC,YAAY,GAAG;AACnBvnB,MAAAA,IAAI,EAAJA,IAAI;AACJqM,MAAAA,SAAS,EAAEmR,EAAE,CAACja,CAAC,CAACoI,UAAU,CAAC;AAC3B6X,MAAAA,KAAK,EAALA,KAAK;AACLvjB,MAAAA,OAAO,EAAEigB,cAAc;AACvB5R,MAAAA,WAAW,EAAXA,WAAAA;KACD,CAAA;IACD,IAAItO,IAAI,CAACZ,IAAI,KAAKL,uBAAe,CAACyoB,MAAM,IAAI/D,aAAa,EAAE;MACzD,OAAO;AACLnhB,QAAAA,QAAQ,EAAEmhB,aAAa,CAAEzjB,IAAsB,CAACynB,QAAQ,EAAEF,YAAY,CAAA;OACvE,CAAA;AACF,KAAA;IACD,OAAO;AACLjlB,MAAAA,QAAQ,EAAEsc,QAAQ,CAAC8I,aAAa,CAACH,YAAY,CAAA;KAC9C,CAAA;AACF,GAAA;AACD,EAAA,OAAO,EAAE,CAAA;EAET,SAASf,UAAUA,CAACjjB,CAAwB,EAAA;AAAA,IAAA,IAAAokB,iBAAA,EAAAC,kBAAA,EAAAvhB,YAAA,CAAA;IAC1C,IAAI,CAAC5E,KAAK,EAAE,OAAO;AAAEa,MAAAA,QAAQ,EAAE,uBAAuB,GAAGiB,CAAC,CAAC9B,KAAAA;KAAO,CAAA;IAClE,IAAI,CAACyE,OAAO,EAAE,OAAO;AAAE5D,MAAAA,QAAQ,EAAE,kBAAkB,GAAGiB,CAAC,CAAC9B,KAAAA;KAAO,CAAA;AAC/D,IAAA,IAAMomB,aAAa,GAAG7I,SAAS,CAC7BiG,KAIC,CACF,CAAA;IAED,IAAM8B,KAAK,GAAG,CAACxjB,CAAC,CAACiQ,SAAS,GACtBsU,YAAY,CAAA,CAAAH,iBAAA,GAAC/H,SAAS,IAAA,IAAA,GAAA,KAAA,CAAA,GAATA,SAAS,CAAE7W,KAAK,KAAA4e,IAAAA,GAAAA,iBAAA,GAAIpkB,CAAC,CAACgB,KAAK,EAAE9C,KAAK,CAAC,GAChDkB,SAAS,CAAA;IACb,OAAO;AACLkkB,MAAAA,aAAa,EAAEjI,QAAQ,CAAC4H,UAAU,CAACqB,aAAa,CAAC;AACjDd,MAAAA,KAAK,EAAE;QACL3nB,IAAI,EACF,CAAAwoB,CAAAA,kBAAA,GAAAvhB,CAAAA,YAAA,GAAC9C,CAAC,CAACjB,QAAQ,KAAV+D,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,YAAA,CAAY3E,MAAM,YAAAkmB,kBAAA,GAAI,CAAC,IAAI,CAAC,GAAGlJ,iBAAS,CAACnf,KAAK,GAAGmf,iBAAS,CAACqJ,OAAO;AACrEhB,QAAAA,KAAK,EAALA,KAAK;QACLiB,KAAK,EAAEH,aAAa,CAACpC,EAAE;QACvBrjB,QAAQ,EAAEmB,CAAC,CAACnB,QAAQ;QACpB4kB,IAAI,EAAEzjB,CAAC,CAACiQ,SAAS;AACjBnH,QAAAA,SAAS,EAAEmR,EAAE,CAACja,CAAC,CAACsI,UAAU,CAAA;OAC3B;AACDoc,MAAAA,YAAY,EAAE/hB,OAAAA;KACf,CAAA;AACH,GAAA;AACF,CAAA;AAMgB,SAAAgiB,YAAYA,CAC1BjF,CAAa,EACbkF,MAAiB,EAAA;AAEjB,EAAA,OAAO,UAACC,MAAM,EAAA;AAAA,IAAA,OACXA,MAAM,CAACnF,CAAC,CAAC,gBACRV,yBAAA,CAAAC,aAAA,CAAAD,yBAAA,CAAAE,QAAA,QACG2F,MAAM,CAACnF,CAAC,CAAC,EACTkF,MACA,CACJ,CAAA;GAAC,CAAA;AACN,CAAA;AAEgB,SAAAE,UAAUA,CACxBpF,CAAa,EACbqF,IAAkC,EAAA;AAElC,EAAA,OAAO,UAACF,MAAM,EAAA;IAAA,OAAMA,MAAM,CAACnF,CAAC,CAAC,GAAGqF,IAAI,CAACF,MAAM,CAACnF,CAAC,CAAC,CAAC,CAAA;GAAC,CAAA;AAClD,CAAA;AAEM,SAAUsF,qBAAqBA,CAACC,GAAuB,EAAA;AAC3D,EAAA,QAAQA,GAAG;IACT,KAAK9pB,0BAAkB,CAAC+pB,UAAU;AAChC,MAAA,OAAO,YAAY,CAAA;IACrB,KAAK/pB,0BAAkB,CAACgqB,YAAY;AAClC,MAAA,OAAO,cAAc,CAAA;IACvB,KAAKhqB,0BAAkB,CAACiqB,UAAU;AAChC,MAAA,OAAO,YAAY,CAAA;IACrB,KAAKjqB,0BAAkB,CAACkqB,QAAQ;AAC9B,MAAA,OAAO,UAAU,CAAA;AACpB,GAAA;AACH,CAAA;AAEM,SAAUC,UAAUA,CACxBP,IAA4C,EAAA;EAE5C,OAAO,UAACQ,EAAE,EAAI;AACZ,IAAA,IAAMC,IAAI,GAAGD,EAAE,CAACD,UAAU,CAAA;AAC1BC,IAAAA,EAAE,CAACD,UAAU,GAAG,UAAC1pB,CAAC,EAAA;AAAA,MAAA,OAAKmpB,IAAI,CAACS,IAAI,CAAC5pB,CAAC,CAAC,CAAC,CAAA;AAAA,KAAA,CAAA;GACrC,CAAA;AACH,CAAA;AAEgB,SAAA6pB,cAAcA,CAC5BR,GAAuB,EACvBL,MAAiB,EAAA;EAEjB,OAAOD,YAAY,CAACK,qBAAqB,CAACC,GAAG,CAAC,EAAEL,MAAM,CAAC,CAAA;AACzD,CAAA;AAEgB,SAAAc,YAAYA,CAC1BT,GAAuB,EACvBF,IAAkC,EAAA;EAElC,OAAOD,UAAU,CAACE,qBAAqB,CAACC,GAAG,CAAC,EAAEF,IAAI,CAAC,CAAA;AACrD,CAAA;AAEgB,SAAAY,iBAAiBA,CAC/BjE,KAAyB,EACzBrG,QAAsB,EAAA;AAAA,EAAA,IAAAuK,oBAAA,CAAA;AAEtB,EAAA,IAAAC,KAAA,GAAAD,CAAAA,oBAAA,GACElE,KAAK,CAAC4B,aAAa,IAAA,IAAA,GAAA,KAAA,CAAA,GAAnB5B,KAAK,CAAC4B,aAAa,CAAG5B,KAAK,CAAC,KAAAkE,IAAAA,GAAAA,oBAAA,GAAIlE,KAAK;IAD/B5Y,SAAS,GAAA+c,KAAA,CAAT/c,SAAS;IAAE/J,QAAQ,GAAA8mB,KAAA,CAAR9mB,QAAQ;IAAEkhB,KAAK,GAAA4F,KAAA,CAAL5F,KAAK;IAAEyE,YAAY,GAAAmB,KAAA,CAAZnB,YAAY;IAAElB,KAAK,GAAAqC,KAAA,CAALrC,KAAK;IAAErE,UAAU,GAAA0G,KAAA,CAAV1G,UAAU,CAAA;AAEnE,EAAA,IAAM0F,MAAM,GAAmB;AAC7B9lB,IAAAA,QAAQ,EAARA,QAAQ;AACR2lB,IAAAA,YAAY,EAAZA,YAAY;AACZzE,IAAAA,KAAK,EAALA,KAAK;AACLnX,IAAAA,SAAS,EAAEmR,EAAE,CAACnR,SAAS,CAAC;AACxBwc,IAAAA,UAAU,EAAE,SAAZA,UAAUA,CAAG1pB,CAAC,EAAA;AAAA,MAAA,OAAKA,CAAC,CAAA;AAAA,KAAA;GACrB,CAAA;EACD,CAACujB,UAAU,IAAVA,IAAAA,GAAAA,UAAU,GAAI,EAAE,EACd2G,IAAI,CAAC,UAAC/hB,CAAC,EAAEgiB,CAAC,EAAA;AAAA,IAAA,OAAKhiB,CAAC,CAACiiB,QAAQ,GAAGD,CAAC,CAACC,QAAQ,CAAA;AAAA,GAAA,CAAC,CACvC1nB,OAAO,CAAC,UAAC1C,CAAC,EAAA;AAAA,IAAA,OAAKA,CAAC,CAAC6Z,KAAK,CAACoP,MAAM,CAAC,CAAA;GAAC,CAAA,CAAA;EAClCA,MAAM,CAACrB,KAAK,GACVA,KAAK,IAAI,CAACA,KAAK,CAACC,IAAI,GAChBpI,QAAQ,CAAC4K,WAAW,CAACzC,KAAK,EAAEqB,MAAM,CAACqB,UAAU,EAAErB,MAAM,CAACsB,QAAQ,CAAC,GAC/D/mB,SAAS,CAAA;AACf,EAAA,OAAOylB,MAAM,CAAA;AACf,CAAA;AAEgB,SAAAN,YAAYA,CAC1BvjB,KAAgC,EAChC9C,KAAkB,EAAA;AAElB,EAAA,OAAO8C,KAAK,GAAGA,KAAK,GAAGR,gBAAgB,CAACtC,KAAK,CAAC,CAAA;AAChD,CAAA;AAEM,SAAUkoB,4BAA4BA,CAAAC,KAAA,EAY1CC,OAAiB,EAAA;EAAA,IAAAC,qBAAA,EAAAC,sBAAA,CAAA;AAAA,EAAA,IAVf/D,YAAY,GAAA4D,KAAA,CAAZ5D,YAAY;IACZvX,GAAG,GAAAmb,KAAA,CAAHnb,GAAG;IACHC,GAAG,GAAAkb,KAAA,CAAHlb,GAAG;IACQsb,EAAE,GAAAJ,KAAA,CAAbzD,SAAS;IACK8D,EAAE,GAAAL,KAAA,CAAhBvD,YAAY;IACZjkB,QAAQ,GAAAwnB,KAAA,CAARxnB,QAAQ,CAAA;AAUV,EAAA,IAAA8nB,qBAAA,GAAoC1b,uBAAuB,CAAA,CAAAsb,qBAAA,GAAAC,CAAAA,sBAAA,GACzD/D,YAAY,CAACnc,QAAQ,KAAA,IAAA,GAAA,KAAA,CAAA,GAArBkgB,sBAAA,CAAuBroB,MAAM,KAAAooB,IAAAA,GAAAA,qBAAA,GAAI,CAAC,EAClCrb,GAAG,IAAI,IAAI,IAAIrM,QAAQ,GAAG,CAAC,GAAGqM,GAAG,EACjCC,GAAG,EACH,IAAI,EACJ,IAAI,CACL;AANMyb,IAAAA,aAAa,GAAAD,qBAAA,CAAA,CAAA,CAAA;AAAEE,IAAAA,UAAU,GAAAF,qBAAA,CAAA,CAAA,CAAA,CAAA;EAOhC,OAAO;AACL/D,IAAAA,SAAS,EAAE0D,OAAO,IAAIO,UAAU,GAAGJ,EAAE,GAAGrnB,SAAS;AACjD0jB,IAAAA,YAAY,EAAEwD,OAAO,IAAIM,aAAa,GAAGF,EAAE,GAAGtnB,SAAS;IACvD0nB,cAAc,EAAE,CAACF,aAAa;AAC9BG,IAAAA,WAAW,EAAE,CAACF,UAAAA;GACf,CAAA;AACH;;AC51BM,SAAUG,eAAeA,CAACjjB,CAAmB,EAAA;AACjD,EAAA,OAAOA,CAAC,CAAClI,IAAI,KAAKT,4BAAoB,CAAC6rB,IAAI,CAAA;AAC7C,CAAA;AAEM,SAAUC,oBAAoBA,CAClCnjB,CAAmB,EAAA;AAEnB,EAAA,OAAOA,CAAC,CAAClI,IAAI,KAAKT,4BAAoB,CAAC+rB,SAAS,CAAA;AAClD,CAAA;AAEM,SAAUC,mBAAmBA,CACjCrjB,CAAmB,EAAA;AAEnB,EAAA,OAAOA,CAAC,CAAClI,IAAI,KAAKT,4BAAoB,CAACisB,QAAQ,CAAA;AACjD,CAAA;AAEgB,SAAAC,oBAAoBA,CAClCC,MAA4C,EAC5C1qB,OAA6C,EAAA;AAE7C,EAAA,OAAAwB,QAAA,CAAA;AAASxC,IAAAA,IAAI,EAAE,QAAQ;AAAE0rB,IAAAA,MAAM,EAANA,MAAAA;AAAM,GAAA,EAAK1qB,OAAO,CAAA,CAAA;AAC7C,CAAA;SAEgB2qB,oBAAoBA,CAClCpX,QAAuC,EACvCmX,MAA4C,EAC5C1qB,OAA6C,EAAA;AAE7C,EAAA,OAAAwB,QAAA,CAAA;AAASxC,IAAAA,IAAI,EAAE,QAAQ;AAAE4rB,IAAAA,UAAU,EAAErX,QAAQ;AAAEmX,IAAAA,MAAM,EAANA,MAAAA;AAAM,GAAA,EAAK1qB,OAAO,CAAA,CAAA;AACnE,CAAA;AAEgB,SAAA6qB,mBAAmBA,CACjCH,MAA2C,EAC3C1qB,OAA4C,EAAA;AAE5C,EAAA,OAAAwB,QAAA,CAAA;AAASxC,IAAAA,IAAI,EAAE,OAAO;AAAE0rB,IAAAA,MAAM,EAANA,MAAAA;AAAM,GAAA,EAAK1qB,OAAO,CAAA,CAAA;AAC5C,CAAA;AAEgB,SAAA8qB,kBAAkBA,CAChCJ,MAA0C,EAC1C1qB,OAA2C,EAAA;AAE3C,EAAA,OAAAwB,QAAA,CAAA;AAASxC,IAAAA,IAAI,EAAE,MAAM;AAAE0rB,IAAAA,MAAM,EAANA,MAAAA;AAAM,GAAA,EAAK1qB,OAAO,CAAA,CAAA;AAC3C,CAAA;AAEgB,SAAA+qB,mBAAmBA,CACjCL,MAA2C,EAC3C1qB,OAA4C,EAAA;AAE5C,EAAA,OAAAwB,QAAA,CAAA;AAASxC,IAAAA,IAAI,EAAE,OAAO;AAAE0rB,IAAAA,MAAM,EAANA,MAAAA;AAAM,GAAA,EAAK1qB,OAAO,CAAA,CAAA;AAC5C,CAAA;AAEgB,SAAAgrB,qBAAqBA,CACnCN,MAA6C,EAC7C1qB,OAA8C,EAAA;AAE9C,EAAA,OAAAwB,QAAA,CAAA;AAASxC,IAAAA,IAAI,EAAE,SAAS;AAAE0rB,IAAAA,MAAM,EAANA,MAAAA;AAAM,GAAA,EAAK1qB,OAAO,CAAA,CAAA;AAC9C,CAAA;AAEgB,SAAAirB,mBAAmBA,CACjCP,MAA2C,EAC3C1qB,OAA4C,EAAA;AAE5C,EAAA,OAAAwB,QAAA,CAAA;AAASxC,IAAAA,IAAI,EAAE,OAAO;AAAE0rB,IAAAA,MAAM,EAANA,MAAAA;AAAM,GAAA,EAAK1qB,OAAO,CAAA,CAAA;AAC5C,CAAA;AAEgB,SAAAkrB,wBAAwBA,CACtCR,MAAgD,EAChD1qB,OAAiD,EAAA;AAEjD,EAAA,OAAAwB,QAAA,CAAA;AAASxC,IAAAA,IAAI,EAAE,YAAY;AAAE0rB,IAAAA,MAAM,EAANA,MAAAA;AAAM,GAAA,EAAK1qB,OAAO,CAAA,CAAA;AACjD,CAAA;AAEgB,SAAAmrB,uBAAuBA,CACrCT,MAA+C,EAC/C1qB,OAAgD,EAAA;AAEhD,EAAA,OAAAwB,QAAA,CAAA;AAASxC,IAAAA,IAAI,EAAE,WAAA;AAAW,GAAA,EAAKgB,OAAO,EAAA;AAAE0qB,IAAAA,MAAM,EAANA,MAAAA;AAAM,GAAA,CAAA,CAAA;AAChD;;ACjMO,IAAMU,oBAAoB,GAAG;AAClCzE,EAAAA,KAAK,EAAE;AACL0E,IAAAA,eAAe,EAAE,WAAW;IAC5BC,eAAe,eAAEnJ,yBAAA,CAAAC,aAAA,CAAA,MAAA,EAAA;AAAMnW,MAAAA,SAAS,EAAC,cAAA;AAAc,KAAA,EAAE,IAAO,CAAA;GACzD;AACDsf,EAAAA,KAAK,EAAE;AACLC,IAAAA,cAAc,EAAE,gDAAgD;AAChEC,IAAAA,UAAU,EAAE,WAAW;AACvBC,IAAAA,cAAc,EAAE,MAAA;GACjB;AACD5rB,EAAAA,KAAK,EAAE;AACL6rB,IAAAA,iBAAiB,EAAE,qBAAqB;AACxCC,IAAAA,aAAa,EAAE,iBAAiB;AAChCC,IAAAA,aAAa,EAAE,OAAA;GAChB;AACDlsB,EAAAA,MAAM,EAAE;AACNsM,IAAAA,SAAS,EAAE,0CAAA;GACZ;AACD+b,EAAAA,MAAM,EAAE;AACN/b,IAAAA,SAAS,EAAE,eAAe;AAC1B6f,IAAAA,UAAU,EAAE,yBAAA;GACb;AACDlsB,EAAAA,IAAI,EAAE;AACJmsB,IAAAA,gBAAgB,EAAE,kCAAkC;AACpDC,IAAAA,YAAY,EAAE;AACZ/f,MAAAA,SAAS,EAAE,yBAAyB;AACpCggB,MAAAA,UAAU,EAAE,yBAAA;KACb;AACDC,IAAAA,aAAa,EAAE;AAAEzU,MAAAA,SAAS,EAAE,UAAA;KAAY;AACxC0U,IAAAA,cAAc,EAAE,qCAAA;GACjB;AACD3J,EAAAA,SAAS,EAAE;AACT4J,IAAAA,SAAS,EAAE;AACTngB,MAAAA,SAAS,EAAE,8BAA8B;AACzCogB,MAAAA,UAAU,EAAE,gBAAgB;AAC5BC,MAAAA,aAAa,EAAE,kBAAkB;AACjCC,MAAAA,eAAe,EAAE,oBAAA;AAClB,KAAA;AACF,GAAA;;;;ACxBa,SAAAC,4BAA4BA,CAC1CxsB,OAAA,EAA2C;AAAA,EAAA,IAA3CA,OAAA,KAAA,KAAA,CAAA,EAAA;IAAAA,OAAA,GAAyC,EAAE,CAAA;AAAA,GAAA;EAE3C,OAAO;AACL0qB,IAAAA,MAAM,EAAE,SAARA,MAAMA,CAAG7F,KAAK,EAAA;AAAA,MAAA,oBAAK1C,yBAAA,CAAAC,aAAA,CAACqK,cAAc,EAAAjrB,QAAA,CAAA,EAAA,EAAKxB,OAAO,EAAM6kB,KAAK,CAAI,CAAA,CAAA;AAAA,KAAA;AAC7D7lB,IAAAA,IAAI,EAAE,SAAA;GACP,CAAA;AACH,CAAA;AAEgB,SAAAytB,cAAcA,CAAAlmB,IAAA,EAAA;EAAA,IAAA+d,OAAA,GAAAC,yBAAA,EAAA,CAAA;AAAA,EAAA,IAAA;AAAA,IAAA,IAAAmI,cAAA,CAAA;AAAA,IAAA,IAC5B9sB,IAAI,GAAA2G,IAAA,CAAJ3G,IAAI;MACJC,OAAO,GAAA0G,IAAA,CAAP1G,OAAO;MACPoM,SAAS,GAAA1F,IAAA,CAAT0F,SAAS;MACTmX,KAAK,GAAA7c,IAAA,CAAL6c,KAAK;AACFpjB,MAAAA,OAAO,GAAA8kB,6BAAA,CAAAve,IAAA,EAAAwe,WAAA,CAAA,CAAA;IAEV,QAAQnlB,IAAI,CAACZ,IAAI;MACf,KAAKL,uBAAe,CAACyrB,IAAI;QACvB,oBACEjI,yBAAA,CAAAC,aAAA,CAAA,GAAA,EAAA;AACEgB,UAAAA,KAAK,EAAEA,KAAM;AACbnX,UAAAA,SAAS,EAAEX,wBAAI,CACbI,gBAAgB,CAACO,SAAS,CAAC,EAC3BpM,OAAO,GAAGA,OAAO,CAAC8I,KAAK,GAAI/I,IAAoB,CAAC+sB,SAAS,CAAA;AACzD,SAAA,CACF,CAAA;MAEN,KAAKhuB,uBAAe,CAACqT,IAAI;QACvB,oBACEmQ,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AACEgB,UAAAA,KAAK,EAAEA,KAAM;AACbnX,UAAAA,SAAS,EAAEC,aAAa,CAACD,SAAS,EAAEjM,OAAO,CAAC4sB,aAAa,CAAA;SAExD/sB,EAAAA,OAAO,GAAGA,OAAO,CAAC8I,KAAK,GAAI/I,IAAoB,CAACkS,IAC9C,CAAC,CAAA;MAEV,KAAKnT,uBAAe,CAACwT,IAAI;QACvB,oBACEgQ,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AACEgB,UAAAA,KAAK,EAAEA,KAAM;UACbnX,SAAS,EAAEC,aAAa,CAACD,SAAS,EAAEjM,OAAO,CAAC6sB,aAAa,CAAE;AAC3DC,UAAAA,uBAAuB,EAAE;AACvBC,YAAAA,MAAM,EAAEltB,OAAO,GAAA6sB,CAAAA,cAAA,GACV7sB,OAAO,CAAC8I,KAAK,KAAA,IAAA,GAAA+jB,cAAA,GAAI,EAAE,GACnB9sB,IAAoB,CAACsS,IAAAA;;AAC1B,SAAA,CACF,CAAA;MAEN,KAAKvT,uBAAe,CAACyoB,MAAM;QACzB,oBACEjF,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA,IAAA,EACE,8BAA4B,EAAExiB,IAAsB,CAACynB,QAClD,CAAC,CAAA;AAEV,MAAA;QACE,oBAAOlF,yBAAA,CAAAC,aAAA,CAAA,IAAA,EAAA,IAAA,EAAI,wBAAsB,EAACxiB,IAAI,CAACZ,IAAS,CAAC,CAAA;AACpD,KAAA;AAAA,GAAA,SAAA;IAAAslB,OAAA,EAAA,CAAA;AAAA,GAAA;AAAA;;ACjEG,SAAU0I,aAAaA,CAAAzmB,IAAA,EAAA;EAAA,IAAA+d,OAAA,GAAAC,yBAAA,EAAA,CAAA;AAAA,EAAA,IAAA;AAAA,IAAA,IAC3BuH,UAAU,GAAAvlB,IAAA,CAAVulB,UAAU;MAAAmB,gBAAA,GAAA1mB,IAAA,CACV2mB,WAAW;AAAXA,MAAAA,WAAW,GAAAD,gBAAA,KAAG,KAAA,CAAA,GAAA,UAAChV,CAAC,EAAA;AAAA,QAAA,OAAKA,CAAC,iBAAIkK,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKnW,UAAAA,SAAS,EAAE6f,UAAAA;AAAW,SAAA,EAAE7T,CAAO,CAAC,CAAA;AAAA,OAAA,GAAAgV,gBAAA;MAAAE,WAAA,GAAA5mB,IAAA,CAC/DyhB,MAAM;MAAIoF,UAAU,GAAAD,WAAA,CAAVC,UAAU;MAAEC,YAAY,GAAAF,WAAA,CAAZE,YAAY;MAAE1G,KAAK,GAAAwG,WAAA,CAALxG,KAAK;MAAEzkB,QAAQ,GAAAirB,WAAA,CAARjrB,QAAQ;MAAE2lB,YAAY,GAAAsF,WAAA,CAAZtF,YAAY,CAAA;IAIjE,IAAMyF,EAAE,GAAGzF,YAAY,CAAA;AACvB,IAAA,IAAM0F,SAAS,GAAGD,EAAE,IAAIA,EAAE,CAACE,OAAO,GAAGF,EAAE,CAACnV,KAAK,GAAG5V,SAAS,CAAA;IACzD,oBACE4f,yBAAA,CAAAC,aAAA,CAAAD,yBAAA,CAAAE,QAAA,QACGsE,KAAK,EACL0G,YAAY,EACZnrB,QAAQ,EACRgrB,WAAW,CAACK,SAAS,CAAC,EACtBH,UACH,CAAG,CAAA;AACH,GAAA,SAAA;IAAA9I,OAAA,EAAA,CAAA;AAAA,GAAA;AAAA;;SCrBYmJ,+BAA+BA,GAAA;EAC7C,OAAOvC,wBAAwB,CAAC,UAACrG,KAAK,EAAA;AAAA,IAAA,oBAAK1C,yBAAA,CAAAC,aAAA,CAACsL,iBAAiB,EAAK7I,KAAM,CAAG,CAAA;GAAC,CAAA,CAAA;AAC9E,CAAA;AAEgB,SAAA6I,iBAAiBA,CAAAnnB,IAAA,EAAA;EAAA,IAAA+d,OAAA,GAAAC,yBAAA,EAAA,CAAA;AAAA,EAAA,IAAA;AAAA,IAAA,IAC/B5D,UAAU,GAAApa,IAAA,CAAVoa,UAAU;MACVze,QAAQ,GAAAqE,IAAA,CAARrE,QAAQ;MACR+J,SAAS,GAAA1F,IAAA,CAAT0F,SAAS;MACTmX,KAAK,GAAA7c,IAAA,CAAL6c,KAAK;MACLuK,MAAM,GAAApnB,IAAA,CAANonB,MAAM,CAAA;AAEN,IAAA,IAAMjtB,CAAC,GAAGigB,UAAU,CAAChY,KAAK,CAAA;AAC1BgQ,IAAAA,eAAS,CAAC,YAAK;AACb,MAAA,IAAIjY,CAAC,EAAE;AACLigB,QAAAA,UAAU,CAAC3E,QAAQ,CAAC,UAAC8E,EAAE,EAAA;UAAA,OAAM;YAAEJ,OAAO,EAAEhgB,CAAC,CAACggB,OAAO;YAAEE,OAAO,EAAElgB,CAAC,CAACggB,OAAAA;WAAS,CAAA;AAAA,SAAC,CAAC,CAAA;AAC1E,OAAA;KACF,EAAE,CAAChgB,CAAC,IAAA,IAAA,GAAA,KAAA,CAAA,GAADA,CAAC,CAAEggB,OAAO,CAAC,CAAC,CAAA;IAChB,OAAOhgB,CAAC,YAADA,CAAC,CAAEggB,OAAO,gBACfyB,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKnW,MAAAA,SAAS,EAAEX,wBAAI,CAACW,SAAS,CAAE;AAACmX,MAAAA,KAAK,EAAEA,KAAM;AAAC1V,MAAAA,GAAG,EAAEigB,MAAAA;KACjDzrB,EAAAA,QACE,CAAC,gBAENigB,yBAAA,CAAAC,aAAA,CAAAD,yBAAA,CAAAE,QAAA,EAAA,IAAK,CACN,CAAA;AAAC,GAAA,SAAA;IAAAiC,OAAA,EAAA,CAAA;AAAA,GAAA;AAAA;;;AChBY,SAAAsJ,oBAAoBA,CAAC5tB,OAAA,EAAmC;AAAA,EAAA,IAAnCA,OAAA,KAAA,KAAA,CAAA,EAAA;IAAAA,OAAA,GAAiC,EAAE,CAAA;AAAA,GAAA;AACtE,EAAA,OAAO8qB,kBAAkB,CACvB,UAACjG,KAAK,EAAEgJ,OAAO,EAAA;AAAA,IAAA,IAAAC,cAAA,CAAA;AAAA,IAAA,oBACb3L,yBAAA,CAAAC,aAAA,CAAC2L,kBAAkB,EAAA;MACjB9hB,SAAS,EAAEC,aAAa,CAAC2Y,KAAK,CAAC5Y,SAAS,EAAEjM,OAAO,CAACiM,SAAS,CAAE;MAC7De,KAAK,EAAE6X,KAAK,CAAC/e,OAAQ;MACrBuf,EAAE,EAAER,KAAK,CAACQ,EAAG;MACb9d,QAAQ,EAAEsd,KAAK,CAACtd,QAAS;MACzBvH,OAAO,EAAA,CAAA8tB,cAAA,GAAEjJ,KAAK,CAAC7kB,OAAO,KAAA,IAAA,GAAA8tB,cAAA,GAAI,EAAG;MAC7B9rB,QAAQ,EAAE6iB,KAAK,CAAC7iB,QAAS;MACzByV,SAAS,EAAEzX,OAAO,CAACyX,SAAU;MAC7BuW,YAAY,EAAEhuB,OAAO,CAACguB,YAAa;AACnCC,MAAAA,OAAO,EAAEC,sBAAsB,CAACrJ,KAAK,CAACxjB,KAAK,CAACrC,IAAI,CAAA;AAAE,KAClD,CAAA,CAAA;AAAA,GACH,EACD;AACEgB,IAAAA,OAAO,EAAE,IAAA;AACV,GAAA,CACF,CAAA;AACH,CAAA;AAgBM,SAAU+tB,kBAAkBA,CAAAxnB,IAAA,EAAA;EAAA,IAAA+d,OAAA,GAAAC,yBAAA,EAAA,CAAA;AAAA,EAAA,IAAA;AAAA,IAAA,IAChCvX,KAAK,GAAAzG,IAAA,CAALyG,KAAK;MACLhN,OAAO,GAAAuG,IAAA,CAAPvG,OAAO;MACPiM,SAAS,GAAA1F,IAAA,CAAT0F,SAAS;MACTgiB,OAAO,GAAA1nB,IAAA,CAAP0nB,OAAO;MACPjsB,QAAQ,GAAAuE,IAAA,CAARvE,QAAQ;MAAAmsB,cAAA,GAAA5nB,IAAA,CACRkR,SAAS;AAATA,MAAAA,SAAS,GAAA0W,cAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,cAAA;MAAAC,iBAAA,GAAA7nB,IAAA,CACjBynB,YAAY;AAAZA,MAAAA,YAAY,GAAAI,iBAAA,KAAG,KAAA,CAAA,GAAA,iBAAiB,GAAAA,iBAAA;MAChC7mB,QAAQ,GAAAhB,IAAA,CAARgB,QAAQ;AACLsd,MAAAA,KAAK,GAAAC,6BAAA,CAAAve,IAAA,EAAAwe,WAAA,CAAA,CAAA;AAER,IAAA,IAAQpc,KAAK,GAAeqE,KAAK,CAAzBrE,KAAK;MAAElB,QAAQ,GAAKuF,KAAK,CAAlBvF,QAAQ,CAAA;IACvB,IAAA4mB,SAAA,GAAoBC,cAAQ,CAAC,CAACtsB,QAAQ,IAAI2G,KAAK,IAAI,IAAI,CAAC;AAAjD4lB,MAAAA,SAAS,GAAAF,SAAA,CAAA,CAAA,CAAA,CAAA;IAChB,IAAMG,eAAe,GAAG5a,aAAO,CAC7B,YAAA;MAAA,OAAMzR,MAAM,CAACC,WAAW,CAACpC,OAAO,CAAC+B,GAAG,CAAC,UAAChD,CAAC,EAAA;QAAA,OAAK,CAACkvB,OAAO,CAAClvB,CAAC,CAAC4J,KAAK,CAAC,EAAE5J,CAAC,CAAC4J,KAAK,CAAC,CAAA;AAAA,OAAA,CAAC,CAAC,CAAA;KACzE,EAAA,CAAC3I,OAAO,CAAC,CACV,CAAA;AACD,IAAA,oBACEmiB,yBAAA,CAAAC,aAAA,CAAA5gB,QAAAA,EAAAA,QAAA,KACMqjB,KAAK,EAAA;AACT5Y,MAAAA,SAAS,EAAEA,SAAU;AACrBwiB,MAAAA,QAAQ,EAAE,SAAVA,QAAQA,CAAG/tB,CAAC,EAAA;QAAA,OAAMsM,KAAK,CAACrE,KAAK,GAAG6lB,eAAe,CAAC9tB,CAAC,CAACguB,MAAM,CAAC/lB,KAAK,CAAC,CAAA;OAAE;AACjEA,MAAAA,KAAK,EAAEslB,OAAO,CAACtlB,KAAK,CAAE;MACtBlB,QAAQ,EAAEA,QAAQ,IAAIF,QAAAA;AAAS,KAAA,CAAA,EAE9BgnB,SAAS,iBACRpM,yBAAA,CAAAC,aAAA,CAAA,QAAA,EAAA;AAAQzZ,MAAAA,KAAK,EAAC,EAAA;AAAE,KAAA,EAAE3G,QAAQ,GAAGgsB,YAAY,GAAGvW,SAAkB,CAC/D,EACAzX,OAAO,CAAC+B,GAAG,CAAC,UAAChD,CAAC,EAAE8M,CAAC,EAAA;MAAA,oBAChBsW,yBAAA,CAAAC,aAAA,CAAA,QAAA,EAAA;AAAQY,QAAAA,GAAG,EAAEnX,CAAE;AAAClD,QAAAA,KAAK,EAAEslB,OAAO,CAAClvB,CAAC,CAAC4J,KAAK,CAAE;AAAClB,QAAAA,QAAQ,EAAE,CAAC,CAAC1I,CAAC,CAAC0I,QAAAA;OACpD1I,EAAAA,CAAC,CAAC+R,IACG,CAAC,CAAA;AAAA,KACV,CACK,CAAC,CAAA;AACT,GAAA,SAAA;IAAAwT,OAAA,EAAA,CAAA;AAAA,GAAA;AAAA,CAAA;AAGE,SAAU4J,sBAAsBA,CAACS,EAAU,EAAA;AAC/C,EAAA,QAAQA,EAAE;IACR,KAAK1wB,iBAAS,CAACiR,MAAM,CAAA;IACrB,KAAKjR,iBAAS,CAAC2R,GAAG,CAAA;IAClB,KAAK3R,iBAAS,CAAC6R,MAAM;AACnB,MAAA,OAAO,UAAC5I,CAAC,EAAA;AAAA,QAAA,OAAKA,CAAC,CAAA;AAAA,OAAA,CAAA;AACjB,IAAA;AACE,MAAA,OAAO,UAACA,CAAC,EAAA;AAAA,QAAA,IAAA0nB,WAAA,CAAA;AAAA,QAAA,OAAA,CAAAA,WAAA,GAAK1nB,CAAC,IAAA,IAAA,GAAA,KAAA,CAAA,GAADA,CAAC,CAAE8G,QAAQ,EAAE,KAAA,IAAA,GAAA4gB,WAAA,GAAI,EAAE,CAAA;AAAA,OAAA,CAAA;AACpC,GAAA;AACH;;ACxFgB,SAAAC,kBAAkBA,CAAAtoB,IAAA,EAAA;EAAA,IAAA+d,OAAA,GAAAC,yBAAA,EAAA,CAAA;AAAA,EAAA,IAAA;AAAA,IAAA,IAAAzW,KAAA,CAAA;AAAA,IAAA,IAChChI,OAAO,GAAAS,IAAA,CAAPT,OAAO;MACPmG,SAAS,GAAA1F,IAAA,CAAT0F,SAAS;MACTwL,SAAS,GAAAlR,IAAA,CAATkR,SAAS;MACT7C,eAAe,GAAArO,IAAA,CAAfqO,eAAe;MACfvT,KAAK,GAAAkF,IAAA,CAALlF,KAAK;MACL+hB,KAAK,GAAA7c,IAAA,CAAL6c,KAAK,CAAA;AASL,IAAA,IAAM1iB,CAAC,GAAGoF,OAAO,CAAC6C,KAAK,CAAA;IACvB,IAAMmJ,IAAI,GAAAhE,CAAAA,KAAA,GACP8G,eAAe,CAACgC,YAAY,CAACvV,KAAK,EAAEX,CAAC,CAAC,GACnC+W,SAAS,GACT7C,eAAe,CAACmJ,SAAS,CAAC1c,KAAK,EAAEX,CAAC,CAAC,KAAA,IAAA,GAAAoN,KAAA,GAAK,EAAE,CAAA;IAChD,oBACEqU,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKgB,MAAAA,KAAK,EAAEA,KAAM;MAACnX,SAAS,EAAEC,aAAa,CAACD,SAAS,CAAA;AAAE,KAAA,EACpD6F,IACE,CAAC,CAAA;AACN,GAAA,SAAA;IAAAwS,OAAA,EAAA,CAAA;AAAA,GAAA;AAAA;;;;ACpBE,SAAUwK,YAAYA,CAAAvoB,IAAA,EAAA;EAAA,IAAA+d,OAAA,GAAAC,yBAAA,EAAA,CAAA;AAAA,EAAA,IAAA;AAAA,IAAA,IA6BjBwK,MAAM,GAAf,SAASA,MAAMA,CAACpmB,KAAU,EAAA;AACxB,MAAA,OAAOA,KAAK,IAAI,IAAI,GAAG,EAAE,GAAGslB,OAAO,CAAC,CAAC,CAAC,CAACtlB,KAAK,CAAC,CAAA;KAC9C,CAAA;AAAA,IAAA,IA9BD7C,OAAO,GAAAS,IAAA,CAAPT,OAAO;MACPmoB,OAAO,GAAA1nB,IAAA,CAAP0nB,OAAO;AACJpJ,MAAAA,KAAK,GAAAC,6BAAA,CAAAve,IAAA,EAAAwe,WAAA,CAAA,CAAA;AAKR,IAAA,IAAAiK,iBAAA,GACEC,qBAAgB,CAACnpB,OAAO,CAAC;MADnBynB,SAAS,GAAAyB,iBAAA,CAATzB,SAAS;MAAE5kB,KAAK,GAAAqmB,iBAAA,CAALrmB,KAAK;MAAE8lB,QAAQ,GAAAO,iBAAA,CAARP,QAAQ;AAAKS,MAAAA,UAAU,GAAApK,6BAAA,CAAAkK,iBAAA,EAAAG,UAAA,CAAA,CAAA;IAEjD,IAAMpR,SAAS,GAAG5I,eAAU,CAAC,YAAA;MAAA,OAAM4Z,MAAM,CAACpmB,KAAK,CAAC,CAAA;KAAC,CAAA,CAAA;AACjDkY,IAAAA,qBAAgB,CACd,YAAA;MAAA,OAAM/a,OAAO,CAAC6C,KAAK,CAAA;AAAA,KAAA,EACnB,UAACjI,CAAC,EAAA;AAAA,MAAA,OAAMqd,SAAS,CAACpV,KAAK,GAAGomB,MAAM,CAACruB,CAAC,CAAC,CAAA;AAAA,KAAC,CACrC,CAAA;AACD,IAAA,oBACEyhB,yBAAA,CAAAC,aAAA,CAAA5gB,OAAAA,EAAAA,QAAA,KACM0tB,UAAU,EAAA;AACdlwB,MAAAA,IAAI,EAAEivB,OAAO,CAAC,CAAC,CAAE;MACjBtlB,KAAK,EAAEoV,SAAS,CAACpV,KAAM;AACvB8lB,MAAAA,QAAQ,EAAE,SAAVA,QAAQA,CAAGxW,CAAC,EAAI;AACd8F,QAAAA,SAAS,CAACpV,KAAK,GAAGsP,CAAC,CAACyW,MAAM,CAAC/lB,KAAK,CAAA;AAChC,QAAA,IAAMymB,SAAS,GAAGnB,OAAO,CAAC,CAAC,CAAC,CAAChW,CAAC,CAACyW,MAAM,CAAC/lB,KAAK,CAAC,CAAA;QAC5C,IAAIymB,SAAS,KAAK7sB,SAAS,EAAEuD,OAAO,CAAC6C,KAAK,GAAGymB,SAAS,CAAA;AACxD,OAAA;KACIvK,EAAAA,KAAK,CAAC,CACV,CAAA;AACF,GAAA,SAAA;IAAAP,OAAA,EAAA,CAAA;AAAA,GAAA;AAAA,CAAA;AAaE,SAAU+K,qBAAqBA,CAACV,EAAU,EAAA;AAC9C,EAAA,QAAQA,EAAE;IACR,KAAK1wB,iBAAS,CAACiR,MAAM;AACnB,MAAA,OAAO,CAAC,MAAM,EAAE,UAAChI,CAAC,EAAA;AAAA,QAAA,OAAKA,CAAC,CAAA;AAAA,OAAA,EAAE,UAACA,CAAC,EAAA;AAAA,QAAA,OAAKA,CAAC,CAAA;OAAC,CAAA,CAAA;IACrC,KAAKjJ,iBAAS,CAACqS,IAAI;AACjB,MAAA,OAAO,CACL,MAAM,EACN,UAACpJ,CAAC,EAAA;AAAA,QAAA,OAAMA,CAAC,KAAK,MAAM,GAAG,IAAI,GAAGA,CAAC,KAAK,OAAO,GAAG,KAAK,GAAG3E,SAAS,CAAA;OAAC,EAChE,UAAC2E,CAAC,EAAA;AAAA,QAAA,IAAA0nB,WAAA,CAAA;AAAA,QAAA,OAAA,CAAAA,WAAA,GAAK1nB,CAAC,IAAA,IAAA,GAAA,KAAA,CAAA,GAADA,CAAC,CAAE8G,QAAQ,EAAE,KAAA,IAAA,GAAA4gB,WAAA,GAAI,EAAE,CAAA;OAC3B,CAAA,CAAA;IACH,KAAK3wB,iBAAS,CAAC2R,GAAG;AAChB,MAAA,OAAO,CACL,QAAQ,EACR,UAAC1I,CAAC,EAAA;QAAA,OAAMA,CAAC,KAAK,EAAE,GAAGooB,QAAQ,CAACpoB,CAAC,CAAC,GAAG,IAAI,CAAA;OAAC,EACtC,UAACA,CAAC,EAAA;AAAA,QAAA,OAAMA,CAAC,IAAI,IAAI,GAAG,EAAE,GAAGA,CAAC,CAAA;AAAA,OAAC,CAC5B,CAAA;IACH,KAAKjJ,iBAAS,CAAC+R,IAAI;AACjB,MAAA,OAAO,CAAC,MAAM,EAAE,UAAC9I,CAAC,EAAA;AAAA,QAAA,OAAKA,CAAC,CAAA;AAAA,OAAA,EAAE,UAACA,CAAC,EAAA;AAAA,QAAA,OAAKA,CAAC,CAAA;OAAC,CAAA,CAAA;IACrC,KAAKjJ,iBAAS,CAACiS,IAAI;AACjB,MAAA,OAAO,CACL,MAAM,EACN,UAAChJ,CAAC,EAAI;AACJ,QAAA,IAAMuR,CAAC,GAAGvR,CAAC,CAAC5F,MAAM,CAAA;AAClB,QAAA,IAAImX,CAAC,KAAK,CAAC,EAAE,OAAOvR,CAAC,GAAG,KAAK,CAAA;AAC7B,QAAA,IAAIuR,CAAC,KAAK,CAAC,EAAE,OAAOvR,CAAC,CAAA;AACrB,QAAA,OAAO3E,SAAS,CAAA;OACjB,EACD,UAAC2E,CAAC,EAAA;QAAA,OAAMA,CAAC,GAAGA,CAAC,CAACH,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,CAAA;AAAA,OAAC,CACpC,CAAA;IACH,KAAK9I,iBAAS,CAAC6R,MAAM;AACnB,MAAA,OAAO,CACL,QAAQ,EACR,UAAC5I,CAAC,EAAA;QAAA,OAAMA,CAAC,KAAK,EAAE,GAAGqoB,UAAU,CAACroB,CAAC,CAAC,GAAG,IAAI,CAAA;OAAC,EACxC,UAACA,CAAC,EAAA;AAAA,QAAA,OAAMA,CAAC,IAAI,IAAI,GAAG,EAAE,GAAGA,CAAC,CAAA;AAAA,OAAC,CAC5B,CAAA;AACH,IAAA;AACE,MAAA,OAAO,CAAC,MAAM,EAAE,UAACA,CAAC,EAAA;AAAA,QAAA,OAAKA,CAAC,CAAA;AAAA,OAAA,EAAE,UAACA,CAAC,EAAA;AAAA,QAAA,OAAKA,CAAC,CAAA;OAAC,CAAA,CAAA;AACtC,GAAA;AACH;;ACnEM,SAAUsoB,0BAA0BA,CACxCxvB,OAAqC,EAAA;EAErC,OAAO;AACL0qB,IAAAA,MAAM,EAAE,SAARA,MAAMA,CAAG7F,KAAK,EAAAte,IAAA,EAAA;AAAA,MAAA,IAAI0gB,YAAY,GAAA1gB,IAAA,CAAZ0gB,YAAY,CAAA;MAAA,oBAC5B9E,yBAAA,CAAAC,aAAA,CAACqN,oBAAoB,EAAAjuB,QAAA,CAAA,EAAA,EACfqjB,KAAK,EACL7kB,OAAO,EAAA;AACXinB,QAAAA,YAAY,EAAEA,YAAAA;AAAa,OAAA,CAAA,CAC3B,CAAA;KACH;AACDjoB,IAAAA,IAAI,EAAE,OAAA;GACP,CAAA;AACH,CAAA;AAQM,SAAUywB,oBAAoBA,CAAC5K,KAAgC,EAAA;EAAA,IAAAP,OAAA,GAAAC,yBAAA,EAAA,CAAA;AAAA,EAAA,IAAA;AACnE,IAAA,IACEsB,aAAa,GAUXhB,KAAK,CAVPgB,aAAa;MACb5Z,SAAS,GASP4Y,KAAK,CATP5Y,SAAS;MACTuf,cAAc,GAQZ3G,KAAK,CARP2G,cAAc;MACdC,UAAU,GAOR5G,KAAK,CAPP4G,UAAU;MACViE,mBAAmB,GAMjB7K,KAAK,CANP6K,mBAAmB;MACnBC,iBAAiB,GAKf9K,KAAK,CALP8K,iBAAiB;MACjBjE,cAAc,GAIZ7G,KAAK,CAJP6G,cAAc;MACd9F,YAAY,GAGVf,KAAK,CAHPe,YAAY;MACZqB,YAAY,GAEVpC,KAAK,CAFPoC,YAAY;MACZ7D,KAAK,GACHyB,KAAK,CADPzB,KAAK,CAAA;AAEP,IAAA,IAAAwM,qBAAA,GAAoCrG,4BAA4B,CAAC1E,KAAK,CAAC;MAA/DkB,SAAS,GAAA6J,qBAAA,CAAT7J,SAAS;MAAEE,YAAY,GAAA2J,qBAAA,CAAZ3J,YAAY,CAAA;IAC/B,oBACE9D,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKgB,MAAAA,KAAK,EAAEA,KAAAA;KACVjB,eAAAA,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKnW,MAAAA,SAAS,EAAEX,wBAAI,CAACW,SAAS,EAAEga,YAAY,IAAIuF,cAAc,CAAA;AAAE,KAAA,eAC9DrJ,yBAAA,CAAAC,aAAA,CAACyN,mBAAc,EAAA;AAAC/pB,MAAAA,OAAO,EAAE8f,YAAAA;KACtB,EAAA,UAACpE,CAAC,EAAEziB,CAAC,EAAA;AAAA,MAAA,OACJknB,YAAY,gBACV9D,yBAAA,CAAAC,aAAA,CAAAD,yBAAA,CAAAE,QAAA,EAAA,IAAA,eACEF,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKnW,QAAAA,SAAS,EAAEX,wBAAI,CAACmgB,UAAU,EAAEiE,mBAAmB,CAAA;OACjD7J,EAAAA,aAAa,CAAC9mB,CAAC,CACb,CACL,eAAAojB,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKnW,QAAAA,SAAS,EAAE0jB,iBAAAA;AAAkB,OAAA,EAC/B1I,YAAY,CAAChB,YAAY,CAAClnB,CAAC,CAAC,CAC1B,CACJ,CAAA,gBAEHojB,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKnW,QAAAA,SAAS,EAAEwf,UAAAA;AAAW,OAAA,EAAE5F,aAAa,CAAC9mB,CAAC,CAAO,CACpD,CAAA;AAAA,KAEW,CACb,CACL,EAACgnB,SAAS,iBACR5D,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKnW,MAAAA,SAAS,EAAEyf,cAAAA;AAAe,KAAA,EAAEzE,YAAY,CAAClB,SAAS,CAAO,CAE7D,CAAC,CAAA;AACN,GAAA,SAAA;IAAAzB,OAAA,EAAA,CAAA;AAAA,GAAA;AAAA;;AC7DY,SAAAwL,mBAAmBA,CAAC9vB,OAAA,EAAkC;AAAA,EAAA,IAAlCA,OAAA,KAAA,KAAA,CAAA,EAAA;IAAAA,OAAA,GAAgC,EAAE,CAAA;AAAA,GAAA;EACpE,OAAO8qB,kBAAkB,CACvB,UAACjd,CAAC,EAAA;IAAA,oBACAsU,yBAAA,CAAAC,aAAA,CAAC2N,YAAY,EAAAvuB,QAAA,CAAA,EAAA,EACPxB,OAAO,EACP6N,CAAC,EAAA;MACL5B,SAAS,EAAEC,aAAa,CAAC2B,CAAC,CAAC5B,SAAS,EAAEjM,OAAO,CAACiM,SAAS,CAAE;AACzD+jB,MAAAA,SAAS,EAAE,SAAXA,SAASA,CAAGlqB,OAAO,EAAE/B,CAAC,EAAA;AAAA,QAAA,OAAK+B,OAAO,CAAC6C,KAAK,IAAI5E,CAAC,CAAC4E,KAAK,CAAA;OAAC;AACpDsnB,MAAAA,UAAU,EAAE,SAAZA,UAAUA,CAAG9sB,CAAC,EAAEY,CAAC,EAAA;AAAA,QAAA,OAAMZ,CAAC,CAACwF,KAAK,GAAG5E,CAAC,CAAC4E,KAAK,CAAA;OAAE;MAC1C7C,OAAO,EAAE+H,CAAC,CAAC/H,OAAQ;AACnB9G,MAAAA,IAAI,EAAC,OAAA;AAAO,KAAA,CAAA,CACZ,CAAA;AAAA,GACH,EACD;IACEkxB,UAAU,EAAE1xB,sBAAc,CAAC2xB,KAAAA;AAC5B,GAAA,CACF,CAAA;AACH,CAAA;AAEgB,SAAAC,uBAAuBA,CAACpwB,OAAA,EAAkC;AAAA,EAAA,IAAlCA,OAAA,KAAA,KAAA,CAAA,EAAA;IAAAA,OAAA,GAAgC,EAAE,CAAA;AAAA,GAAA;EACxE,OAAO8qB,kBAAkB,CACvB,UAACjd,CAAC,EAAA;IAAA,oBACAsU,yBAAA,CAAAC,aAAA,CAAC2N,YAAY,EAAAvuB,QAAA,CAAA,EAAA,EACPxB,OAAO,EACP6N,CAAC,EAAA;MACL5B,SAAS,EAAEC,aAAa,CAAC2B,CAAC,CAAC5B,SAAS,EAAEjM,OAAO,CAACiM,SAAS,CAAE;AACzD+jB,MAAAA,SAAS,EAAE,SAAXA,SAASA,CAAGlqB,OAAO,EAAE/B,CAAC,EAAI;AACxB,QAAA,IAAMrD,CAAC,GAAGoF,OAAO,CAAC6C,KAAK,CAAA;AACvB,QAAA,OAAOkC,KAAK,CAACC,OAAO,CAACpK,CAAC,CAAC,GAAGA,CAAC,CAACgD,QAAQ,CAACK,CAAC,CAAC4E,KAAK,CAAC,GAAG,KAAK,CAAA;OACrD;MACFsnB,UAAU,EAAE,SAAZA,UAAUA,CAAG9sB,CAAC,EAAEY,CAAC,EAAEssB,OAAO,EAAI;AAC5BltB,QAAAA,CAAC,CAAC6Y,QAAQ,CAAC,UAACjd,CAAC,EAAA;AAAA,UAAA,OAAKuxB,WAAW,CAACvxB,CAAC,IAAA,IAAA,GAADA,CAAC,GAAI,EAAE,EAAEgF,CAAC,CAAC4E,KAAK,EAAE0nB,OAAO,CAAC,CAAA;SAAC,CAAA,CAAA;OACzD;MACFvqB,OAAO,EAAE+H,CAAC,CAAC/H,OAAQ;AACnB9G,MAAAA,IAAI,EAAC,UAAA;AAAU,KAAA,CAAA,CACf,CAAA;AAAA,GACH,EACD;AACE8C,IAAAA,UAAU,EAAE,IAAI;IAChBouB,UAAU,EAAE1xB,sBAAc,CAAC+xB,SAAAA;AAC5B,GAAA,CACF,CAAA;AACH,CAAA;AAEM,SAAUR,YAAYA,CAAAxpB,IAAA,EAAA;EAAA,IAAA+d,OAAA,GAAAC,yBAAA,EAAA,CAAA;AAAA,EAAA,IAAA;AAAA,IAAA,IAC1Bze,OAAO,GAAAS,IAAA,CAAPT,OAAO;MACP9F,OAAO,GAAAuG,IAAA,CAAPvG,OAAO;MACPyL,UAAU,GAAAlF,IAAA,CAAVkF,UAAU;MACV+kB,UAAU,GAAAjqB,IAAA,CAAViqB,UAAU;MACVjpB,QAAQ,GAAAhB,IAAA,CAARgB,QAAQ;MACR0kB,UAAU,GAAA1lB,IAAA,CAAV0lB,UAAU;MACVhgB,SAAS,GAAA1F,IAAA,CAAT0F,SAAS;MACToZ,EAAE,GAAA9e,IAAA,CAAF8e,EAAE;MACFrmB,IAAI,GAAAuH,IAAA,CAAJvH,IAAI;MACJgxB,SAAS,GAAAzpB,IAAA,CAATypB,SAAS;MACTC,UAAU,GAAA1pB,IAAA,CAAV0pB,UAAU,CAAA;AAcV,IAAA,IAAQxoB,QAAQ,GAAK3B,OAAO,CAApB2B,QAAQ,CAAA;AAChB,IAAA,IAAMqJ,IAAI,GAAG,GAAG,GAAGhL,OAAO,CAACwf,QAAQ,CAAA;IACnC,oBACEnD,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKnW,MAAAA,SAAS,EAAEA,SAAU;AAACoZ,MAAAA,EAAE,EAAEA,EAAAA;AAAG,KAAA,eAChClD,yBAAA,CAAAC,aAAA,CAACqO,wBAAmB,EAAA;MAAClF,KAAK,EAAEvrB,OAAO,IAAPA,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,OAAO,CAAEmB,MAAM,CAAC,UAACpC,CAAC,EAAA;AAAA,QAAA,OAAKA,CAAC,CAAC4J,KAAK,IAAI,IAAI,CAAA;AAAA,OAAA,CAAA;AAAE,KAAA,EACjE,UAAC5E,CAAC,EAAE8H,CAAC,EAAI;MACR,IAAMwkB,OAAO,GAAG5b,gBAAW,CAAC,YAAA;AAAA,QAAA,OAAMub,SAAS,CAAClqB,OAAO,EAAE/B,CAAC,CAAC,CAAA;AAAA,OAAA,CAAC,CAAC4E,KAAK,CAAA;MAC9D,oBACEwZ,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKY,QAAAA,GAAG,EAAEnX,CAAE;AAACI,QAAAA,SAAS,EAAEggB,UAAAA;OACtB9J,eAAAA,yBAAA,CAAAC,aAAA,CAAA,OAAA,EAAA;AACEiD,QAAAA,EAAE,EAAEvU,IAAI,GAAG,GAAG,GAAGjF,CAAE;AACnBI,QAAAA,SAAS,EAAEukB,UAAW;AACtBxxB,QAAAA,IAAI,EAAEA,IAAK;AACX8R,QAAAA,IAAI,EAAEA,IAAK;AACX4f,QAAAA,QAAQ,EAAEnpB,QAAS;AACnBE,QAAAA,QAAQ,EAAEA,QAAS;AACnB4oB,QAAAA,OAAO,EAAEA,OAAQ;AACjB5B,QAAAA,QAAQ,EAAE,SAAVA,QAAQA,CAAG1vB,CAAC,EAAI;AACd,UAAA,CAACwI,QAAQ,IAAI0oB,UAAU,CAACnqB,OAAO,EAAE/B,CAAC,EAAEhF,CAAC,CAAC2vB,MAAM,CAAC2B,OAAO,CAAC,CAAA;AACvD,SAAA;AAAE,OAEJ,CAAA,eAAAlO,yBAAA,CAAAC,aAAA,CAAA,OAAA,EAAA;AAAOnW,QAAAA,SAAS,EAAER,UAAW;AAACklB,QAAAA,OAAO,EAAE7f,IAAI,GAAG,GAAG,GAAGjF,CAAAA;AAAE,OAAA,EACnD9H,CAAC,CAAC+M,IACE,CACJ,CAAC,CAAA;AAEV,KACmB,CAClB,CAAC,CAAA;AACN,GAAA,SAAA;IAAAwT,OAAA,EAAA,CAAA;AAAA,GAAA;AAAA,CAAA;SAGYgM,WAAWA,CAAI/E,KAAU,EAAEqF,IAAO,EAAEC,QAAiB,EAAA;AACnE,EAAA,IAAMC,OAAO,GAAGvF,KAAK,CAAC7nB,QAAQ,CAACktB,IAAI,CAAC,CAAA;EACpC,IAAIC,QAAQ,KAAKC,OAAO,EAAE;AACxB,IAAA,OAAOvF,KAAK,CAAA;AACb,GAAA;AACD,EAAA,IAAIsF,QAAQ,EAAE;AACZ,IAAA,OAAA,EAAA,CAAAxrB,MAAA,CAAWkmB,KAAK,EAAA,CAAEqF,IAAI,CAAA,CAAA,CAAA;AACvB,GAAA;AACD,EAAA,OAAOrF,KAAK,CAACpqB,MAAM,CAAC,UAAC8W,CAAC,EAAA;IAAA,OAAKA,CAAC,KAAK2Y,IAAI,CAAA;GAAC,CAAA,CAAA;AACxC,CAAA;AAEgB,SAAAG,sBAAsBA,CAAC/wB,OAAA,EAAkC;AAAA,EAAA,IAAlCA,OAAA,KAAA,KAAA,CAAA,EAAA;IAAAA,OAAA,GAAgC,EAAE,CAAA;AAAA,GAAA;AACvE,EAAA,OAAO8qB,kBAAkB,CACvB,UAACjG,KAAK,EAAErG,QAAQ,EAAA;AAAA,IAAA,OAAK,UAAC3Q,CAAC,EAAA;MAAA,OAAArM,QAAA,KAClBqM,CAAC,EAAA;AACJ8Y,QAAAA,KAAK,EAAEpkB,SAAS;QAChBL,QAAQ,eACNigB,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;UAAKnW,SAAS,EAAEC,aAAa,CAAC2Y,KAAK,CAAC5Y,SAAS,EAAEjM,OAAO,CAACisB,UAAU,CAAA;AAAE,SAAA,eACjE9J,yBAAA,CAAAC,aAAA,CAAC4O,cAAS,EAAA;UACR3L,EAAE,EAAER,KAAK,CAACQ,EAAG;UACbvf,OAAO,EAAE+e,KAAK,CAAC/e,OAAQ;UACvBsd,KAAK,EAAEyB,KAAK,CAACzB,KAAM;UACnBnX,SAAS,EAAEjM,OAAO,CAACwwB,UAAAA;AAAW,SAEhC,CAAA,EAAC3iB,CAAC,CAAC8Y,KAAK,IAAInI,QAAQ,CAAC4K,WAAW,CAACvb,CAAC,CAAC8Y,KAAK,EAAEpkB,SAAS,EAAEA,SAAS,CAC3D,CAAA;AACN,OAAA,CAAA,CAAA;KACD,CAAA;GACF,EAAA;IAAE2tB,UAAU,EAAE1xB,sBAAc,CAACyyB,QAAAA;AAAU,GAAA,CACxC,CAAA;AACH;;AC9IgB,SAAAC,gBAAgBA,CAAA3qB,IAAA,EAAA;EAAA,IAAA+d,OAAA,GAAAC,yBAAA,EAAA,CAAA;AAAA,EAAA,IAAA;AAAA,IAAA,IAC9BriB,QAAQ,GAAAqE,IAAA,CAARrE,QAAQ;MACRkqB,SAAS,GAAA7lB,IAAA,CAAT6lB,SAAS;MACT+E,YAAY,GAAA5qB,IAAA,CAAZ4qB,YAAY;MACZC,gBAAgB,GAAA7qB,IAAA,CAAhB6qB,gBAAgB;MAChBjL,UAAU,GAAA5f,IAAA,CAAV4f,UAAU;MACVmG,aAAa,GAAA/lB,IAAA,CAAb+lB,aAAa;MACbC,eAAe,GAAAhmB,IAAA,CAAfgmB,eAAe;MACftgB,SAAS,GAAA1F,IAAA,CAAT0F,SAAS;MAAAolB,gBAAA,GAAA9qB,IAAA,CACT+qB,WAAW;AAAXA,MAAAA,WAAW,GAAAD,gBAAA,KAAG,KAAA,CAAA,GAAA,UAACE,CAAC,EAAA;AAAA,QAAA,OAAKA,CAAC,CAAA;AAAA,OAAA,GAAAF,gBAAA;MACtBG,aAAa,GAAAjrB,IAAA,CAAbirB,aAAa;MACbC,SAAS,GAAAlrB,IAAA,CAATkrB,SAAS;MACTpF,UAAU,GAAA9lB,IAAA,CAAV8lB,UAAU,CAAA;IASV,IAAMqF,IAAI,GAAGvc,eAAU,CAAC,CAAC,CAACiX,SAAS,CAACuF,eAAe,CAAC,CAAA;AACpD,IAAA,IAAMC,MAAM,GAAGF,IAAI,CAAC/oB,KAAK,CAAA;IACzB,IAAMkpB,gBAAgB,GACpBD,MAAM,IAAIzL,UAAU,GAAGgL,YAAY,GAAA3vB,QAAA,CAAA,EAAA,EAAQ2vB,YAAY,EAAA;AAAEtxB,MAAAA,OAAO,EAAE,MAAA;KAAQ,CAAA,CAAA;AAC5E,IAAA,IAAMsE,KAAK,GAAGstB,SAAS,CAACK,eAAe,CAACR,WAAW,CAAClF,SAAS,CAACjoB,KAAK,EAAEutB,IAAI,CAAC,CAAC,CAAA;AAC3E,IAAA,IAAMK,OAAO,GAAGP,aAAa,GAC3BA,aAAa,CAACE,IAAI,EAAEvtB,KAAK,CAAC,gBAE1Bge,yBAAA,CAAAC,aAAA,CAAA,QAAA,EAAA;AAAQnW,MAAAA,SAAS,EAAEA,SAAU;MAACuH,OAAO,EAAE,SAATA,OAAOA,GAAA;AAAA,QAAA,OAAQke,IAAI,CAAC1V,QAAQ,CAAC,UAACjd,CAAC,EAAA;AAAA,UAAA,OAAK,CAACA,CAAC,CAAA;SAAC,CAAA,CAAA;AAAA,OAAA;KACnEojB,eAAAA,yBAAA,CAAAC,aAAA,CAAA,OAAA,EAAA;AAAOnW,MAAAA,SAAS,EAAEogB,UAAAA;AAAW,KAAA,EAAEloB,KAAa,CAC5C,eAAAge,yBAAA,CAAAC,aAAA,CAAA,GAAA,EAAA;AAAGnW,MAAAA,SAAS,EAAEX,wBAAI,CAACsmB,MAAM,GAAGtF,aAAa,GAAGC,eAAe,CAAA;AAAE,KAC/D,CAAQ,CACT,CAAA;AAED,IAAA,oBACEpK,yBAAA,CAAAC,aAAA,CAAAD,yBAAA,CAAAE,QAAA,EAAA,IAAA,EACG0P,OAAO,eACR5P,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKgB,MAAAA,KAAK,EAAEyO,gBAAiB;AAAC5lB,MAAAA,SAAS,EAAEmlB,gBAAAA;KACtClvB,EAAAA,QACE,CACP,CAAG,CAAA;AACH,GAAA,SAAA;IAAAoiB,OAAA,EAAA,CAAA;AAAA,GAAA;AAAA;;;SC5CY0N,wBAAwBA,GAAA;AACtC,EAAA,OAAOlH,kBAAkB,CACvB,UAAAvkB,IAAA,EAA8CkrB,SAAS,EAAI;AAAA,IAAA,IAAAQ,aAAA,EAAAC,YAAA,EAAAC,qBAAA,CAAA;AAAA,IAAA,IAAxDrsB,OAAO,GAAAS,IAAA,CAAPT,OAAO,CAAA;MAAEzE,KAAK,GAAAkF,IAAA,CAALlF,KAAK,CAAA;MAAoBwjB,KAAK,GAAAC,6BAAA,CAAAve,IAAA,EAAAwe,SAAA,EAAA;AACxC,IAAA,IAAMqN,WAAW,GAAA,CAAAD,qBAAA,GAAI,CAAAF,aAAA,GAAAnsB,OAAO,CAAC6P,IAAI,EAAAuc,YAAA,GAAC,aAAa,CAAC,KAAA,IAAA,GAAAC,qBAAA,GAA3BF,aAAA,CAAAC,YAAA,CAA2B,GAAKjQ,eAAU,CAC7Dnc,OAAO,CAACuB,OAAO,CAACsB,KAAK,IAAI,IAAI,CAC7B,CAAA;IACF,OAAO,UAACqf,MAAM,EAAI;MAChB,IAAMqK,SAAS,GAAGZ,SAAS,CAACrL,UAAU,CAAA5kB,QAAA,KACjCqjB,KAAK,EAAA;AACR/e,QAAAA,OAAO,EAAEssB,WAAW;QACpB/wB,KAAK,EAAAG,QAAA,CAAA,EAAA,EAAOH,KAAK,EAAA;UAAErC,IAAI,EAAEf,iBAAS,CAACqS,IAAAA;SAAM,CAAA;AACzChM,QAAAA,aAAa,EAAE;UAAEtF,IAAI,EAAER,sBAAc,CAACyyB,QAAAA;AAAU,SAAA;OACjD,CAAA,CAAC,CAACjJ,MAAM,CAAC,CAAA;MACV,OAAAxmB,QAAA,KACK6wB,SAAS,EAAA;AACZnwB,QAAAA,QAAQ,eACNigB,yBAAA,CAAAC,aAAA,CAACkQ,WAAW,EAAA;AACVxsB,UAAAA,OAAO,EAAEA,OAAQ;AACjBssB,UAAAA,WAAW,EAAEA,WAAY;UACzBlwB,QAAQ,EAAEmwB,SAAS,CAACnwB,QAAS;UAC7BqF,QAAQ,EAAEsd,KAAK,CAACtd,QAAS;AACzB7H,UAAAA,YAAY,EAAEmlB,KAAK,CAAClgB,UAAU,CAACjF,YAAAA;;AAElC,OAAA,CAAA,CAAA;KAEJ,CAAA;AACH,GAAC,CACF,CAAA;AACH,CAAA;AAEA,SAAS4yB,WAAWA,CAAAxkB,KAAA,EAYnB;AAAA,EAAA,IAXC5L,QAAQ,GAAA4L,KAAA,CAAR5L,QAAQ;IACRkwB,WAAW,GAAAtkB,KAAA,CAAXskB,WAAW;IACXtsB,OAAO,GAAAgI,KAAA,CAAPhI,OAAO;IACPpG,YAAY,GAAAoO,KAAA,CAAZpO,YAAY;IACZ6H,QAAQ,GAAAuG,KAAA,CAARvG,QAAQ,CAAA;AAQRsZ,EAAAA,qBAAgB,CACd,YAAA;AAAA,IAAA,OAAMtZ,QAAQ,CAAA;AAAA,GAAA,EACd,UAACJ,CAAC,EAAA;AAAA,IAAA,OAAMirB,WAAW,CAAC3qB,QAAQ,GAAGN,CAAC,CAAA;GAAC,EACjC,IAAI,CACL,CAAA;AACD0Z,EAAAA,qBAAgB,CACd,YAAA;IAAA,OAAMuR,WAAW,CAACzpB,KAAK,CAAA;GACvB,EAAA,UAACsP,CAAC,EAAI;AACJ,IAAA,IAAIA,CAAC,EAAE;AAAA,MAAA,IAAAsa,qBAAA,CAAA;AACLzsB,MAAAA,OAAO,CAAC6C,KAAK,GAAA4pB,CAAAA,qBAAA,GAAGH,WAAW,CAACzc,IAAI,CAAC,cAAc,CAAC,KAAA4c,IAAAA,GAAAA,qBAAA,GAAI7yB,YAAY,CAAA;AACjE,KAAA,MAAM;MACL0yB,WAAW,CAACzc,IAAI,CAAC,cAAc,CAAC,GAAG7P,OAAO,CAAC6C,KAAK,CAAA;MAChD7C,OAAO,CAAC6C,KAAK,GAAG,IAAI,CAAA;AACrB,KAAA;AACH,GAAC,CACF,CAAA;AACD,EAAA,OAAOzG,QAAQ,CAAA;AACjB;;AC3DM,SAAUswB,4BAA4BA,CAACvmB,SAAkB,EAAA;EAC7D,OAAO6e,kBAAkB,CAAC,UAACjd,CAAC,EAAA;IAAA,oBAC1BsU,yBAAA,CAAAC,aAAA,CAACqQ,kBAAkB,EAAAjxB,QAAA,KACbqM,CAAC,EAAA;AACL5B,MAAAA,SAAS,EAAEC,aAAa,CAAC2B,CAAC,CAAC5B,SAAS,EAAEA,SAAS,CAAA;AAAE,KAAA,CACjD,CAAA,CAAA;AAAA,GACH,CAAC,CAAA;AACJ,CAAA;SAEgBwmB,kBAAkBA,CAAAlsB,IAAA,EAAA;EAAA,IAAA+d,OAAA,GAAAC,yBAAA,EAAA,CAAA;AAAA,EAAA,IAAA;AAAA,IAAA,IAAGze,OAAO,GAAAS,IAAA,CAAPT,OAAO;MAAEmG,SAAS,GAAA1F,IAAA,CAAT0F,SAAS,CAAA;AACrD,IAAA,IAAMymB,OAAO,GAAGtrB,YAAM,CAAqB,IAAI,CAAC,CAAA;AAChDyZ,IAAAA,qBAAgB,CACd,YAAA;MAAA,OAAM/a,OAAO,CAAC6C,KAAK,CAAA;KACnB,EAAA,UAACjI,CAAC,EAAI;AACJ,MAAA,IAAMyC,CAAC,GAAGuvB,OAAO,CAACrrB,OAAO,CAAA;AACzB,MAAA,IAAIlE,CAAC,IAAIA,CAAC,CAACwvB,WAAW,KAAKjyB,CAAC,EAAE;QAC5ByC,CAAC,CAACwvB,WAAW,GAAGjyB,CAAC,CAAA;AAClB,OAAA;KACF,EACD,IAAI,CACL,CAAA;IACD,oBACEyhB,yBAAA,CAAAC,aAAA,CAAA,MAAA,EAAA;AACEwQ,MAAAA,eAAe,EAAE,CAAC9sB,OAAO,CAAC2B,QAAS;AACnCwE,MAAAA,SAAS,EAAEA,SAAU;AACrB4mB,MAAAA,OAAO,EAAE,SAATA,OAAOA,CAAGtB,CAAC,EAAA;QAAA,OAAMzrB,OAAO,CAAC6C,KAAK,GAAG4oB,CAAC,CAACuB,aAAa,CAACH,WAAW,CAAA;OAAE;AAC9DjlB,MAAAA,GAAG,EAAEglB,OAAAA;AAAQ,KACb,CAAA,CAAA;AACF,GAAA,SAAA;IAAApO,OAAA,EAAA,CAAA;AAAA,GAAA;AAAA;;AC3BE,SAAUyO,qBAAqBA,CAAC9mB,SAAkB,EAAA;EACtD,OAAO6e,kBAAkB,CACvB,UAACjd,CAAC,EAAA;AAAA,IAAA,oBACAsU,yBAAA,CAAAC,aAAA,CAAC4Q,eAAe,EAAA;MACd1uB,aAAa,EAAEuJ,CAAC,CAACvJ,aAAsC;MACvD2H,SAAS,EAAEC,aAAa,CAAC2B,CAAC,CAAC5B,SAAS,EAAEA,SAAS,CAAE;MACjDiC,WAAW,EAAEL,CAAC,CAACK,WAAY;MAC3BpI,OAAO,EAAE+H,CAAC,CAAC/H,OAAQ;MACnByB,QAAQ,EAAEsG,CAAC,CAACtG,QAAAA;AAAS,KAAA,CACrB,CAAA;AAAA,GACH,EACD;IAAE2oB,UAAU,EAAE1xB,sBAAc,CAACyU,OAAAA;AAAO,GAAE,CACvC,CAAA;AACH,CAAA;SAEgB+f,eAAeA,CAAAzsB,IAAA,EAAA;EAAA,IAAA+d,OAAA,GAAAC,yBAAA,EAAA,CAAA;AAAA,EAAA,IAAA;AAAA,IAAA,IAC7Bze,OAAO,GAAAS,IAAA,CAAPT,OAAO;AACUkN,MAAAA,UAAU,GAAAzM,IAAA,CAA3BjC,aAAa,CAAI0O,UAAU;MAC3BzL,QAAQ,GAAAhB,IAAA,CAARgB,QAAQ;MACR0E,SAAS,GAAA1F,IAAA,CAAT0F,SAAS;MACTiC,WAAW,GAAA3H,IAAA,CAAX2H,WAAW,CAAA;AAQX,IAAA,IAAM+kB,QAAQ,GAAGnc,oBAAoB,CACnC9D,UAAU,EACV9E,WAAW,EACX,YAAA;MAAA,OAAO;QAAEvF,KAAK,EAAE7C,OAAO,CAAC6C,KAAK;AAAEpB,QAAAA,QAAQ,EAARA,QAAQ;QAAEE,QAAQ,EAAE3B,OAAO,CAAC2B,QAAAA;OAAU,CAAA;KAAC,EACtE,UAAC/G,CAAC,EAAA;MAAA,OACA,OAAOA,CAAC,IAAI,IAAI,GACZ,EAAE,GACF,OAAOA,CAAC,KAAK,QAAQ,GACnB,SAAS,GAAGgb,IAAI,CAACC,SAAS,CAACjb,CAAC,CAAC,GAC7BA,CAAC,CAACsN,QAAQ,EAAE,CAAA;KACrB,CAAA,CAAA;IACD,oBACEmU,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AACEnW,MAAAA,SAAS,EAAEA,SAAU;AACrB6gB,MAAAA,uBAAuB,EAAE;QAAEC,MAAM,EAAEkG,QAAQ,CAACtqB,KAAAA;AAAO,OAAA;AAAC,KACpD,CAAA,CAAA;AACF,GAAA,SAAA;IAAA2b,OAAA,EAAA,CAAA;AAAA,GAAA;AAAA;;SCmEY4O,0BAA0BA,CACxC3f,QAAuC,EACvCvT,SAA0C;AAAA,EAAA,IAA1CA;IAAAA,UAAwC,EAAE,CAAA;AAAA,GAAA;AAE1C,EAAA,OAAO2qB,oBAAoB,CACzBpX,QAAQ,EACR,UAAAhN,IAAA,EAO0B;AAAA,IAAA,IAAA4sB,qBAAA,CAAA;AAAA,IAAA,IANxB3f,OAAO,GAAAjN,IAAA,CAAPiN,OAAO;MACPC,UAAU,GAAAlN,IAAA,CAAVkN,UAAU;MACVxH,SAAS,GAAA1F,IAAA,CAAT0F,SAAS;MACTmX,KAAK,GAAA7c,IAAA,CAAL6c,KAAK;MACL7P,QAAQ,GAAAhN,IAAA,CAARgN,QAAQ;MACRkM,UAAU,GAAAlZ,IAAA,CAAVkZ,UAAU,CAAA;IAEV,oBACE0C,yBAAA,CAAAC,aAAA,CAAA,QAAA,EAAA;MACEnW,SAAS,EAAEC,aAAa,CAACD,SAAS,EAAEjM,OAAO,CAACiM,SAAS,CAAE;AACvDmX,MAAAA,KAAK,EAAEA,KAAM;AACb5P,MAAAA,OAAO,EAAEA,OAAAA;KAAQ2f,EAAAA,CAAAA,qBAAA,GAEhBnzB,OAAO,CAACozB,aAAa,IAArBpzB,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,OAAO,CAACozB,aAAa,CAAG3f,UAAU,EAAEF,QAAQ,EAAEkM,UAAU,CAAC,YAAA0T,qBAAA,GACxD1f,UACI,CAAC,CAAA;AAEb,GAAC,CACF,CAAA;AACH,CAAA;AAYM,SAAU4f,0BAA0BA,CACxCrzB,OAAqC,EAAA;AAErC,EAAA,IAAA8N,KAAA,GAQI9N,OAAO,WAAPA,OAAO,GAAI,EAAE;IAPfiM,SAAS,GAAA6B,KAAA,CAAT7B,SAAS;IAAAqnB,gBAAA,GAAAxlB,KAAA,CACTylB,UAAU;AAAVA,IAAAA,UAAU,GAAAD,gBAAA,KAAGE,KAAAA,CAAAA,GAAAA,iBAAiB,GAAAF,gBAAA;IAAAG,qBAAA,GAAA3lB,KAAA,CAC9B4lB,kBAAkB;AAAlBA,IAAAA,kBAAkB,GAAAD,qBAAA,KAAG,KAAA,CAAA,GAAA,CAAC,GAAAA,qBAAA;IACtB7H,aAAa,GAAA9d,KAAA,CAAb8d,aAAa;IACbD,iBAAiB,GAAA7d,KAAA,CAAjB6d,iBAAiB;IACjBE,aAAa,GAAA/d,KAAA,CAAb+d,aAAa;IACb8H,cAAc,GAAA7lB,KAAA,CAAd6lB,cAAc,CAAA;EAGhB,SAASH,iBAAiBA,CAAAhe,KAAA,EAEX;AAAA,IAAA,IAAAoe,aAAA,GAAApe,KAAA,CADbqe,OAAO;AAAPA,MAAAA,OAAO,GAAAD,aAAA,KAAGF,KAAAA,CAAAA,GAAAA,kBAAkB,GAAAE,aAAA,CAAA;IAE5B,OAAO;AACL3nB,MAAAA,SAAS,EAAE2f,aAAa;AACxBxI,MAAAA,KAAK,EAAE;AACLvjB,QAAAA,OAAO,EAAE,MAAM;AACfi0B,QAAAA,mBAAmB,cAAYD,OAAO,GAAA,QAAA;AACvC,OAAA;KACF,CAAA;AACH,GAAA;EAEA,SAASE,UAAUA,CAAC/zB,OAAqB,EAAA;IACvC,OAAO;AACLiM,MAAAA,SAAS,EAAE4f,aAAa;AACxBzI,MAAAA,KAAK,EAAE;AACLvjB,QAAAA,OAAO,EAAE,MAAM;QACfm0B,GAAG,EAAEh0B,OAAO,CAACg0B,GAAG,GAAGh0B,OAAO,CAACg0B,GAAG,GAAGL,cAAc;QAC/CM,aAAa,EAAEj0B,OAAO,CAACk0B,SAAS,GAC3Bl0B,OAAO,CAACk0B,SAAiB,GAC1B3xB,SAAAA;AACL,OAAA;KACF,CAAA;AACH,GAAA;EAEA,SAASmoB,MAAMA,CAAC7F,KAAyB,EAAA;AACvC,IAAA,IAAQjC,WAAW,GAAsCiC,KAAK,CAAtDjC,WAAW;MAAEte,aAAa,GAAuBugB,KAAK,CAAzCvgB,aAAa;MAAE8gB,gBAAgB,GAAKP,KAAK,CAA1BO,gBAAgB,CAAA;IAEpD,IAAApP,KAAA,GAAkCjW,cAAc,CAACuE,aAAa,CAAC,GAC3DivB,UAAU,CAACjvB,aAAa,CAAC,GACzBpE,cAAc,CAACoE,aAAa,CAAC,GAC3ByvB,UAAU,CAACzvB,aAAa,CAAC,GACxB;AAAE2H,QAAAA,SAAS,EAAE0f,iBAAAA;OAAkC;MAJ9CvI,KAAK,GAAApN,KAAA,CAALoN,KAAK;MAAa+Q,GAAG,GAAAne,KAAA,CAAd/J,SAAS,CAAA;IAMxB,OAAO,UAACmoB,EAAsB,EAAI;MAChC,OAAA5yB,QAAA,KACK4yB,EAAE,EAAA;QACLlyB,QAAQ,eACNigB,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AACEnW,UAAAA,SAAS,EAAEC,aAAa,CAAC2Y,KAAK,CAAC5Y,SAAS,EAAEX,wBAAI,CAACW,SAAS,EAAEkoB,GAAG,CAAC,CAAE;AAChE/Q,UAAAA,KAAK,EAAEA,KAAAA;SAENgC,EAAAA,gBAAgB,oBAAhBA,gBAAgB,CAAErjB,GAAG,CAAC,UAACoB,CAAC,EAAE0I,CAAC,EAAA;AAAA,UAAA,OAAK+W,WAAW,CAAC/W,CAAC,EAAE1I,CAAC,CAAC,CAAA;SAC/C,CAAA,CAAA;AACN,OAAA,CAAA,CAAA;KAEJ,CAAA;AACH,GAAA;EAEA,OAAO;AAAEnE,IAAAA,IAAI,EAAE,OAAO;AAAE0rB,IAAAA,MAAM,EAANA,MAAAA;GAAQ,CAAA;AAClC,CAAA;AAEO,IAAM2J,kBAAkB,GAAkB,CAC/C;AAAEvjB,EAAAA,IAAI,EAAE,KAAK;AAAEnI,EAAAA,KAAK,EAAE,IAAA;AAAM,CAAA,EAC5B;AAAEmI,EAAAA,IAAI,EAAE,IAAI;AAAEnI,EAAAA,KAAK,EAAE,KAAA;AAAO,CAAA,EAC7B;AAgBe,SAAA2rB,yBAAyBA,CACvCt0B,OAAA,EAAwC;AAAA,EAAA,IAAAu0B,qBAAA,EAAAC,qBAAA,EAAAC,qBAAA,CAAA;AAAA,EAAA,IAAxCz0B,OAAA,KAAA,KAAA,CAAA,EAAA;IAAAA,OAAA,GAAsC,EAAE,CAAA;AAAA,GAAA;AAExC,EAAA,IAAM00B,eAAe,GAAG3B,qBAAqB,CAAC/yB,OAAO,CAAC20B,YAAY,CAAC,CAAA;AACnE,EAAA,IAAMC,WAAW,GAAG5C,wBAAwB,EAAE,CAAA;AAC9C,EAAA,IAAM6C,iBAAiB,GAAGrC,4BAA4B,CACpDxyB,OAAO,CAACmsB,cAAc,CACvB,CAAA;AACD,EAAA,IAAM2I,gBAAgB,GAAG/D,sBAAsB,CAAA,CAAAwD,qBAAA,GAC7Cv0B,OAAO,CAACgsB,YAAY,YAAAuI,qBAAA,GAAIv0B,OAAO,CAAC+0B,eAAe,CAChD,CAAA;AACD,EAAA,IAAMC,cAAc,GAAGpH,oBAAoB,CAAC5tB,OAAO,CAACksB,aAAa,CAAC,CAAA;AAClE,EAAA,IAAM+I,aAAa,GAAGnF,mBAAmB,CAAA,CAAA0E,qBAAA,GACvCx0B,OAAO,CAACk1B,YAAY,YAAAV,qBAAA,GAAIx0B,OAAO,CAACgsB,YAAY,CAC7C,CAAA;AACD,EAAA,IAAMmJ,iBAAiB,GAAG/E,uBAAuB,CAAA,CAAAqE,qBAAA,GAC/Cz0B,OAAO,CAACo1B,gBAAgB,YAAAX,qBAAA,GAAIz0B,OAAO,CAACgsB,YAAY,CACjD,CAAA;EACD,IAAAqJ,qBAAA,GAAA7zB,QAAA,CAAA;AACE8zB,MAAAA,cAAc,EAAEN,cAAc;AAC9BO,MAAAA,cAAc,EAAElB,kBAAAA;AAAkB,KAAA,EAC/Br0B,OAAO,CAAA;IAHJw1B,UAAU,GAAAH,qBAAA,CAAVG,UAAU;IAAED,cAAc,GAAAF,qBAAA,CAAdE,cAAc;IAAED,cAAc,GAAAD,qBAAA,CAAdC,cAAc;IAAEvJ,gBAAgB,GAAAsJ,qBAAA,CAAhBtJ,gBAAgB,CAAA;AAMpE,EAAA,OAAOjB,kBAAkB,CAAC,UAACjG,KAAK,EAAE4M,SAAS,EAAI;AAC7C,IAAA,IAAMgE,SAAS,GAAG5Q,KAAK,CAACxjB,KAAK,CAACrC,IAAI,CAAA;AAClC,IAAA,IAAMsF,aAAa,GAAGugB,KAAK,CAACvgB,aAAa,CAAA;AACzC,IAAA,IAAI4rB,UAAU,GAAG5rB,aAAa,CAACtF,IAAI,CAAA;IACnC,IAAI6lB,KAAK,CAACY,YAAY,IAAIyK,UAAU,KAAK1xB,sBAAc,CAAC+xB,SAAS,EAAE;AACjE,MAAA,OAAO,UAAC1iB,CAAC,EAAA;QAAA,OAAArM,QAAA,KACJqM,CAAC,EAAA;UACJ3L,QAAQ,EAAEuvB,SAAS,CAACiE,WAAW,CAAC7Q,KAAK,CAACY,YAAa,EAAE,CAAA;AAAC,SAAA,CAAA,CAAA;OACtD,CAAA;AACH,KAAA;AACD,IAAA,IAAIgQ,SAAS,KAAKx3B,iBAAS,CAACgF,QAAQ,EAAE;AAAA,MAAA,IAAAiT,KAAA,CAAA;AACpC,MAAA,IAAM/C,YAAY,GAAA+C,CAAAA,KAAA,GAAI1V,mBAAmB,CAAC8D,aAAa,CAAC,GACpDA,aAAa,CAAC6O,YAAY,GAC1B5Q,SAAS,KAAA,IAAA,GAAA2T,KAAA,GAAK;AAAElX,QAAAA,IAAI,EAAE,UAAU;AAAEoU,QAAAA,SAAS,EAAE,IAAA;OAAM,CAAA;AACvD,MAAA,OAAOqe,SAAS,CAAC/K,WAAW,CAAAllB,QAAA,KAAMqjB,KAAK,EAAA;AAAEvgB,QAAAA,aAAa,EAAE6O,YAAAA;AAAY,OAAA,CAAE,CAAC,CAAA;AACxE,KAAA;AACD,IAAA,IAAIsiB,SAAS,IAAIx3B,iBAAS,CAAC03B,GAAG,EAAE,oBAAOxT,yBAAA,CAAAC,aAAA,CAAAD,yBAAA,CAAAE,QAAA,EAAA,IAAA,EAAE,oBAAkB,CAAG,CAAA;AAC9D,IAAA,IAAIjiB,qBAAqB,CAACkE,aAAa,CAAC,EACtC,OAAO,UAACuJ,CAAC,EAAA;MAAA,OAAArM,QAAA,KACJqM,CAAC,EAAA;AACJ5B,QAAAA,SAAS,EAAE8f,gBAAgB;AAC3B7pB,QAAAA,QAAQ,eACNigB,yBAAA,CAAAC,aAAA,CAACyM,kBAAkB,EAAA;UACjBxtB,KAAK,EAAEwjB,KAAK,CAACxjB,KAAM;AACnBuT,UAAAA,eAAe,EAAEiQ,KAAK,CAAC3W,WAAW,CAAC0G,eAAgB;UACnD9O,OAAO,EAAE+e,KAAK,CAAC/e,OAAQ;UACvBmG,SAAS,EAAE4Y,KAAK,CAAC5Y,SAAU;UAC3BmX,KAAK,EAAEyB,KAAK,CAACzB,KAAM;UACnB3L,SAAS,EAAEnT,aAAa,CAACmT,SAAAA;SAAU,CAAA;AAEtC,OAAA,CAAA,CAAA;KACD,CAAA;AACJ,IAAA,IAAMme,MAAM,GAAGH,SAAS,KAAKx3B,iBAAS,CAACqS,IAAI,CAAA;IAC3C,IAAIilB,cAAc,IAAI,IAAI,IAAIK,MAAM,IAAI/Q,KAAK,CAAC7kB,OAAO,IAAI,IAAI,EAAE;AAC7D,MAAA,OAAOyxB,SAAS,CAACrL,UAAU,CAAA5kB,QAAA,KAAMqjB,KAAK,EAAA;AAAE7kB,QAAAA,OAAO,EAAEu1B,cAAAA;AAAc,OAAA,CAAE,CAAC,CAAA;AACnE,KAAA;IACD,IAAIrF,UAAU,KAAK1xB,sBAAc,CAACgG,QAAQ,IAAIV,UAAU,CAAC+gB,KAAK,CAAC,EAAE;AAC/D,MAAA,OAAOyQ,cAAc,CAAC5K,MAAM,CAAC7F,KAAK,EAAE4M,SAAS,CAAC,CAAA;AAC/C,KAAA;AACD,IAAA,QAAQvB,UAAU;MAChB,KAAK1xB,sBAAc,CAAC8iB,UAAU;AAC5B,QAAA,OAAOsT,WAAW,CAAClK,MAAM,CAAC7F,KAAK,EAAE4M,SAAS,CAAC,CAAA;MAC7C,KAAKjzB,sBAAc,CAAC+xB,SAAS;AAC3B,QAAA,OAAO4E,iBAAiB,CAACzK,MAAM,CAAC7F,KAAK,EAAE4M,SAAS,CAAC,CAAA;MACnD,KAAKjzB,sBAAc,CAACq3B,QAAQ;AAC1B,QAAA,OAAOb,cAAc,CAACtK,MAAM,CAAC7F,KAAK,EAAE4M,SAAS,CAAC,CAAA;MAChD,KAAKjzB,sBAAc,CAAC2xB,KAAK;AACvB,QAAA,OAAO8E,aAAa,CAACvK,MAAM,CAAC7F,KAAK,EAAE4M,SAAS,CAAC,CAAA;MAC/C,KAAKjzB,sBAAc,CAACyyB,QAAQ;AAC1B,QAAA,OAAO6D,gBAAgB,CAACpK,MAAM,CAAC7F,KAAK,EAAE4M,SAAS,CAAC,CAAA;MAClD,KAAKjzB,sBAAc,CAACyU,OAAO;AACzB,QAAA,OAAOyhB,eAAe,CAAChK,MAAM,CAAC7F,KAAK,EAAE4M,SAAS,CAAC,CAAA;AAClD,KAAA;AACD,IAAA,IAAInxB,mBAAmB,CAACgE,aAAa,CAAC,IAAIA,aAAa,CAACwxB,SAAS,EAC/D,OAAOjB,iBAAiB,CAACnK,MAAM,CAAC7F,KAAK,EAAE4M,SAAS,CAAC,CAAA;IACnD,IAAMsE,WAAW,GAAGz1B,mBAAmB,CAACgE,aAAa,CAAC,GAClDA,aAAa,CAACyxB,WAAW,GACzBxzB,SAAS,CAAA;AACb,IAAA,oBACE4f,yBAAA,CAAAC,aAAA,CAAC0M,YAAY,EAAA;MACX7iB,SAAS,EAAEC,aAAa,CAAC2Y,KAAK,CAAC5Y,SAAS,EAAEupB,UAAU,CAAE;MACtDpS,KAAK,EAAEyB,KAAK,CAACzB,KAAM;MACnBiC,EAAE,EAAER,KAAK,CAACQ,EAAG;MACbqL,QAAQ,EAAE7L,KAAK,CAACtd,QAAS;MACzBzB,OAAO,EAAE+e,KAAK,CAAC/e,OAAQ;AACvBiwB,MAAAA,WAAW,EAAEA,WAAW,IAAXA,IAAAA,GAAAA,WAAW,GAAIxzB,SAAU;AACtC0rB,MAAAA,OAAO,EAAEoB,qBAAqB,CAACxK,KAAK,CAACxjB,KAAK,CAACrC,IAAI,CAAA;AAAE,KAAA,CACjD,CAAA;AAEN,GAAC,CAAC,CAAA;AACJ,CAAA;AAmBgB,SAAAg3B,8BAA8BA,CAC5Ch2B,OAAA,EAA6C;AAAA,EAAA,IAA7CA,OAAA,KAAA,KAAA,CAAA,EAAA;IAAAA,OAAA,GAA2C,EAAE,CAAA;AAAA,GAAA;EAE7C,OAAO;AACLhB,IAAAA,IAAI,EAAE,WAAW;AACjB0rB,IAAAA,MAAM,EAAE,SAARA,MAAMA,CAAA1B,KAAA,EAAsDyI,SAAS,EAAA;AAAA,MAAA,IAA1DjP,SAAS,GAAAwG,KAAA,CAATxG,SAAS;QAAE2D,UAAU,GAAA6C,KAAA,CAAV7C,UAAU;QAAE1D,aAAa,GAAAuG,KAAA,CAAbvG,aAAa;QAAE1I,OAAO,GAAAiP,KAAA,CAAPjP,OAAO,CAAA;MAAA,OAAmB;AACzEnB,QAAAA,KAAK,EAAE,SAAPA,KAAKA,CAAG8P,EAAE,EAAI;AACZ,UAAA,IAAI6B,mBAAmB,CAAC/H,SAAS,CAAC,IAAIzI,OAAO,EAAE;AAAA,YAAA,IAYpCkc,eAAe,GAAxB,SAASA,eAAeA,CAAAzM,KAAA,EAQvB;AAAA,cAAA,IAPCtnB,QAAQ,GAAAsnB,KAAA,CAARtnB,QAAQ;gBACRsgB,SAAS,GAAAgH,KAAA,CAAThH,SAAS;gBACTC,aAAa,GAAA+G,KAAA,CAAb/G,aAAa,CAAA;AAMb,cAAA,IAAAhC,aAAA,GAAkBvB,YAAY,CAACuD,aAAa,CAAC;gBAArC9Z,KAAK,GAAA8X,aAAA,CAAL9X,KAAK,CAAA;cACb,IAAM4N,QAAQ,GAAG9H,aAAa,CAC5BgU,aAAa,CAAC9hB,MAAM,EACpB6hB,SAAS,CAACnhB,KAAK,CAChB,CAAA;cACD,IAAMmV,UAAU,GAAGD,QAAQ,GACvBnO,kBAAkB,CAACqa,aAAa,EAAElM,QAAQ,CAAC,GAC3ChU,SAAS,CAAA;AACb,cAAA,IAAM2zB,MAAM,GAAG,CAAC1T,SAAS,CAAC2T,WAAW,CAAA;AACrCtV,cAAAA,qBAAgB,CACd,YAAA;AAAA,gBAAA,OAAM,CAAClY,KAAK,IAALA,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,KAAK,CAAEA,KAAK,EAAE,CAAA6N,UAAU,oBAAVA,UAAU,CAAE7N,KAAK,KAAI,IAAI,CAAC,CAAA;eAC/C,EAAA,UAAAytB,KAAA,EAAQ;gBAAA,IAAN11B,CAAC,GAAA01B,KAAA,CAAA,CAAA,CAAA,CAAA;AACD5f,gBAAAA,UAAU,YAAVA,UAAU,CAAEwF,QAAQ,CAAC,UAACjd,CAAC,EAAA;kBAAA,OAAMm3B,MAAM,IAAIn3B,CAAC,IAAI,IAAI,GAAG2B,CAAC,GAAG3B,CAAC,CAAA;AAAA,iBAAC,CAAC,CAAA;eAC3D,EACD,IAAI,CACL,CAAA;AACD,cAAA,OAAOmD,QAAQ,CAAA;aAChB,CAAA;YArCD,IAAMm0B,IAAI,GAAGtc,OAAO,CAACyI,SAAS,CAACxP,UAAU,EAAE,UAACjU,CAAC,EAAA;AAAA,cAAA,OAAKA,CAAC,CAAA;aAAC,CAAA,CAAA;YACpD,IAAMmgB,YAAY,GAAG5R,eAAe,CAAC;AAAE3E,cAAAA,KAAK,EAAE0tB,IAAAA;AAAM,aAAA,CAAC,CAAA;YACrD,IAAMC,gBAAe,GAAG1oB,iBAAW,CAACqoB,eAAe,EAAE,CAAC/W,YAAY,CAAC,CAAC,CAAA;YACpE,OAAOuJ,UAAU,CAAC,UAAC1pB,CAAC,EAAA;AAAA,cAAA,oBAClBojB,yBAAA,CAAAC,aAAA,CAACmU,gBAAe,EAAA;AACdr0B,gBAAAA,QAAQ,EAAEnD,CAAE;AACZ0jB,gBAAAA,aAAa,EAAEA,aAAc;AAC7BD,gBAAAA,SAAS,EAAEA,SAAAA;AAAU,gBACrB,CAAA;aACH,CAAC,CAACkG,EAAE,CAAC,CAAA;AA6BP,WAAA;AACD,UAAA,IAAIyB,eAAe,CAAC3H,SAAS,CAAC,EAAE;AAAA,YAAA,IAAAgU,oBAAA,CAAA;AAC9B,YAAA,OAAO5N,cAAc,CAAA4N,CAAAA,oBAAA,GACnBhU,SAAS,CAACiU,SAAS,KAAA,IAAA,GAAAD,oBAAA,GAAIl4B,0BAAkB,CAACgqB,YAAY,eACtDnG,yBAAA,CAAAC,aAAA,CAAA,GAAA,EAAA;cAAGnW,SAAS,EAAEuW,SAAS,CAACmK,SAAAA;AAAU,aAAA,CAAG,CACtC,CAACjE,EAAE,CAAC,CAAA;AACN,WAAA;AACD,UAAA,IAAI2B,oBAAoB,CAAC7H,SAAS,CAAC,EAAE;YACnC,OAAOiG,UAAU,CAAC,UAAC1pB,CAAC,EAAA;AAAA,cAAA,oBAClBojB,yBAAA,CAAAC,aAAA,CAAC8O,gBAAgB,EAAA1vB,QAAA,CAAA;AACfiwB,gBAAAA,SAAS,EAAEA,SAAU;AACrBvvB,gBAAAA,QAAQ,EAAEnD,CAAE;AACZqtB,gBAAAA,SAAS,EAAE5J,SAAU;gBACrB2O,YAAY,EAAEzI,EAAE,CAACtF,KAAM;gBACvBgO,gBAAgB,EAAE1I,EAAE,CAACzc,SAAU;AAC/Bka,gBAAAA,UAAU,EAAEA,UAAAA;AAAW,eAAA,EACnBnmB,OAAO,CAACosB,SAAS,CAAC,CACtB,CAAA;aACH,CAAC,CAAC1D,EAAE,CAAC,CAAA;AACP,WAAA;SACF;AACDS,QAAAA,QAAQ,EAAE,CAAC;AACX3G,QAAAA,SAAS,EAATA,SAAAA;OACD,CAAA;AAAA,KAAA;GACF,CAAA;AACH,CAAA;AAcA,SAASkU,2BAA2BA,CAClC12B,OAAA,EAA0C;AAAA,EAAA,IAA1CA,OAAA,KAAA,KAAA,CAAA,EAAA;IAAAA,OAAA,GAAwC,EAAE,CAAA;AAAA,GAAA;AAE1C,EAAA,OAAOyqB,oBAAoB,CAAC,UAAC5F,KAAK,EAAE4M,SAAS,EAAI;AAC/C,IAAA,IAAMzJ,MAAM,GAAGc,iBAAiB,CAAAtnB,QAAA,KAEzBqjB,KAAK,EAAA;MACR5Y,SAAS,EAAEC,aAAa,CAAC2Y,KAAK,CAAC5Y,SAAS,EAAEjM,OAAO,CAACiM,SAAS,CAAA;AAAC,KAAA,CAAA,EAE9DwlB,SAAS,CACV,CAAA;IACD,OAAO;MACLvvB,QAAQ,EAAE8lB,MAAM,CAACS,UAAU,eACzBtG,yBAAA,CAAAC,aAAA,CAAC4K,aAAa,EAAAxrB,QAAA,CAAA;AAACwmB,QAAAA,MAAM,EAAEA,MAAAA;OAAYhoB,EAAAA,OAAO,EAAI,CAC/C;MACDiM,SAAS,EAAE+b,MAAM,CAAC/b,SAAS;MAC3BmX,KAAK,EAAE4E,MAAM,CAAC5E,KAAK;AACnBuK,MAAAA,MAAM,EAAE,SAARA,MAAMA,CAAG1V,CAAC,EAAA;AAAA,QAAA,OACRA,CAAC,IAAI4M,KAAK,CAACgD,YAAY,GAClBhD,KAAK,CAACgD,YAAY,CAAClS,IAAI,CAACghB,aAAa,GAAG1e,CAAC,GAC1C1V,SAAS,CAAA;AAAA,OAAA;KAChB,CAAA;AACH,GAAC,CAAC,CAAA;AACJ,CAAA;AAUM,SAAUq0B,0BAA0BA,CACxC52B,OAAqC,EAAA;EAErC,IAAA62B,qBAAA,GAAAr1B,QAAA,CAAA;AAOE8pB,MAAAA,eAAe,eAAEnJ,yBAAA,CAAAC,aAAA,CAAA,MAAA,EAAA,IAAA,EAAO,IAAO,CAAC;AAChC0U,MAAAA,cAAc,EAAE,SAAhBA,cAAcA,CAAG3zB,CAAe,EAAA;AAAA,QAAA,OAAKA,CAAC,CAAA;AAAA,OAAA;AAAA,KAAA,EACnCnD,OAAO,CAAA;IARViM,SAAS,GAAA4qB,qBAAA,CAAT5qB,SAAS;IACTof,eAAe,GAAAwL,qBAAA,CAAfxL,eAAe;IACf0L,iBAAiB,GAAAF,qBAAA,CAAjBE,iBAAiB;IACjBzL,eAAe,GAAAuL,qBAAA,CAAfvL,eAAe;IACfwL,cAAc,GAAAD,qBAAA,CAAdC,cAAc,CAAA;EAMhB,OAAO;IACLpM,MAAM,EAAE,SAARA,MAAMA,CAAG7F,KAAK,EAAEwE,UAAU,EAAEC,QAAQ,EAAEmI,SAAS,EAAI;MACjD,IAAI5M,KAAK,CAAC7lB,IAAI,IAAIsf,iBAAS,CAACtM,IAAI,EAAE,OAAO6S,KAAK,CAAC8B,KAAK,CAAA;AACpD,MAAA,OAAOmQ,cAAc,eACnB3U,yBAAA,CAAAC,aAAA,CAAAD,yBAAA,CAAAE,QAAA,EAAA,IAAA,eACEF,yBAAA,CAAAC,aAAA,CAAA,OAAA,EAAA;QACEuO,OAAO,EAAE9L,KAAK,CAAC+C,KAAM;AACrB3b,QAAAA,SAAS,EAAEC,aAAa,CACtB2Y,KAAK,CAAC5Y,SAAS,EACfX,wBAAI,CACFW,SAAS,EACT4Y,KAAK,CAAC7lB,IAAI,KAAKsf,iBAAS,CAACnf,KAAK,IAAIksB,eAAe,EACjDxG,KAAK,CAAC7lB,IAAI,KAAKsf,iBAAS,CAACqJ,OAAO,IAAIoP,iBAAiB,CACtD,CAAA;OAGF1N,EAAAA,UAAU,EACVoI,SAAS,CAACK,eAAe,CAACjN,KAAK,CAAC8B,KAAK,CAAC,EACtC9B,KAAK,CAAC7iB,QAAQ,IAAIspB,eACd,CACP,EAAChC,QACH,CAAG,CACJ,CAAA;KACF;AACDtqB,IAAAA,IAAI,EAAE,OAAA;GACP,CAAA;AACH,CAAA;AAEgB,SAAAg4B,sBAAsBA,CACpCh3B,OAAA,EAAoC;AAAA,EAAA,IAApCA,OAAA,KAAA,KAAA,CAAA,EAAA;IAAAA,OAAA,GAAkC,EAAE,CAAA;AAAA,GAAA;EAEpC,OAAO;AACLJ,IAAAA,IAAI,EAAE00B,yBAAyB,CAACt0B,OAAO,CAACJ,IAAI,CAAC;AAC7CC,IAAAA,OAAO,EAAE2sB,4BAA4B,CAACxsB,OAAO,CAACH,OAAO,CAAC;IACtDF,MAAM,EAAEuzB,0BAA0B,CAAC3wB,SAAS,EAAEvC,OAAO,CAACL,MAAM,CAAC;AAC7D4rB,IAAAA,KAAK,EAAEiE,0BAA0B,CAACxvB,OAAO,CAACurB,KAAK,CAAC;AAChDzrB,IAAAA,KAAK,EAAEuzB,0BAA0B,CAACrzB,OAAO,CAACF,KAAK,CAAC;AAChD6mB,IAAAA,KAAK,EAAEiQ,0BAA0B,CAAC52B,OAAO,CAAC2mB,KAAK,CAAC;AAChDnE,IAAAA,SAAS,EAAEwT,8BAA8B,CAACh2B,OAAO,CAACwiB,SAAS,CAAC;AAC5DmB,IAAAA,YAAY,EAAE+S,2BAA2B,CAAC12B,OAAO,CAACgoB,MAAM,CAAC;IACzDrH,UAAU,EAAE8M,+BAA+B,EAAE;GAC9C,CAAA;AACH;;AChfM,SAAUwJ,kBAAkBA,CAChCC,eAAA,EACAC,gBAAA,EAAiE;AAAA,EAAA,IAAAC,qBAAA,CAAA;AAAA,EAAA,IADjEF,eAAA,KAAA,KAAA,CAAA,EAAA;AAAAA,IAAAA,eAAA,GAA0C,EAAE,CAAA;AAAA,GAAA;AAAA,EAAA,IAC5CC,gBAAA,KAAA,KAAA,CAAA,EAAA;IAAAA,gBAAA,GAAqCE,0BAA0B,EAAE,CAAA;AAAA,GAAA;AAEjE,EAAA,IAAMC,iBAAiB,GAAGJ,eAAe,CAAC/1B,MAAM,CAACo2B,kBAAkB,CAAC,CAAA;AACpE,EAAA,IAAMC,kBAAkB,GAAGN,eAAe,CAAC/1B,MAAM,CAACs2B,mBAAmB,CAAC,CAAA;AACtE,EAAA,IAAMC,sBAAsB,GAAGR,eAAe,CAAC/1B,MAAM,CACnDw2B,uBAAuB,CACxB,CAAA;AACD,EAAA,IAAMC,oBAAoB,GAAGV,eAAe,CAAC/1B,MAAM,CAAC02B,qBAAqB,CAAC,CAAA;AAC1E,EAAA,IAAMC,cAAc,GAAGZ,eAAe,CAAC/1B,MAAM,CAAC42B,mBAAmB,CAAC,CAAA;AAClE,EAAA,IAAMC,cAAc,GAAGd,eAAe,CAAC/1B,MAAM,CAAC82B,mBAAmB,CAAC,CAAA;AAClE,EAAA,IAAMC,eAAe,GAAGhB,eAAe,CAAC/1B,MAAM,CAACg3B,oBAAoB,CAAC,CAAA;AACpE,EAAA,IAAMC,eAAe,GAAGlB,eAAe,CAAC/1B,MAAM,CAACk3B,oBAAoB,CAAC,CAAA;AACpE,EAAA,IAAMC,kBAAkB,GAAA,CAAAlB,qBAAA,GACtBF,eAAe,CAACn0B,IAAI,CAACw1B,wBAAwB,CAAC,KAAAnB,IAAAA,GAAAA,qBAAA,GAC9CD,gBAAgB,CAACxW,UAAU,CAAA;AAE7B,EAAA,IAAM6X,aAAa,GAAiB;AAClCvR,IAAAA,YAAY,EAAZA,YAAY;AACZb,IAAAA,UAAU,EAAVA,UAAU;AACVM,IAAAA,WAAW,EAAXA,WAAW;AACXY,IAAAA,aAAa,EAAbA,aAAa;AACb8B,IAAAA,WAAW,EAAXA,WAAW;AACXsM,IAAAA,WAAW,EAAXA,WAAW;AACXnT,IAAAA,eAAe,EAAfA,eAAe;AACfoB,IAAAA,YAAY,EAAZA,YAAY;IACZC,gBAAgB,EAAE0U,kBAAkB,CAAC5N,MAAM;AAC3CoH,IAAAA,eAAe,EAAfA,eAAAA;GACD,CAAA;EAED,SAASA,eAAeA,CAACnL,KAAgB,EAAA;AACvC,IAAA,OAAOyC,WAAW,CAAC;AAAEzC,MAAAA,KAAK,EAALA,KAAK;MAAE3nB,IAAI,EAAEsf,iBAAS,CAACtM,IAAAA;KAAM,EAAEzP,SAAS,EAAEA,SAAS,CAAC,CAAA;AAC3E,GAAA;EAEA,SAASohB,YAAYA,CAACkB,KAAyB,EAAA;AAAA,IAAA,IAAA4T,qBAAA,CAAA;IAC7C,IAAMja,QAAQ,IAAAia,qBAAA,GACZL,eAAe,CAACr1B,IAAI,CAAC,UAAChE,CAAC,EAAA;MAAA,OAAK,CAACA,CAAC,CAAC25B,KAAK,IAAI35B,CAAC,CAAC25B,KAAK,CAAC7T,KAAK,CAAC,CAAA;AAAA,KAAA,CAAC,KAAA4T,IAAAA,GAAAA,qBAAA,GACvDtB,gBAAgB,CAACxT,YAAY,CAAA;AAC/B,IAAA,OAAOnF,QAAQ,CAACkM,MAAM,CAAC7F,KAAK,EAAE2T,aAAa,CAAC,CAAA;AAC9C,GAAA;EAEA,SAASjW,eAAeA,CAACsC,KAAqB,EAAA;AAAA,IAAA,IAAA8T,qBAAA,CAAA;IAC5C,IAAMna,QAAQ,IAAAma,qBAAA,GACZjB,sBAAsB,CAAC30B,IAAI,CAAC,UAAChE,CAAC,EAAA;MAAA,OAC5B65B,OAAO,CAAC75B,CAAC,CAAC85B,aAAa,EAAEhU,KAAK,CAACrC,SAAS,CAACxjB,IAAI,CAAC,CAAA;AAAA,KAAA,CAC/C,KAAA25B,IAAAA,GAAAA,qBAAA,GAAIxB,gBAAgB,CAAC3U,SAAS,CAAA;AACjC,IAAA,OAAOhE,QAAQ,CAACkM,MAAM,CAAC7F,KAAK,EAAE2T,aAAa,CAAC,CAAA;AAC9C,GAAA;EAEA,SAAS9C,WAAWA,CAAC7Q,KAAyB,EAAA;AAAA,IAAA,IAAAiU,gBAAA,CAAA;AAC5C,IAAA,OAAO,EAAAA,gBAAA,GAACd,cAAc,CAAC,CAAC,CAAC,KAAAc,IAAAA,GAAAA,gBAAA,GAAI3B,gBAAgB,CAAC5L,KAAK,EAAEb,MAAM,CACzD7F,KAAK,EACL2T,aAAa,CACd,CAAA;AACH,GAAA;AAEA,EAAA,SAASpP,WAAWA,CAClBvE,KAAyB,EACzBwE,UAAqB,EACrBC,QAAmB,EAAA;AAAA,IAAA,IAAAyP,oBAAA,CAAA;IAEnB,IAAMva,QAAQ,IAAAua,oBAAA,GACZjB,cAAc,CAAC/0B,IAAI,CAAC,UAAChE,CAAC,EAAA;MAAA,OAAK65B,OAAO,CAAC75B,CAAC,CAACi6B,SAAS,EAAEnU,KAAK,CAAC7lB,IAAI,CAAC,CAAA;AAAA,KAAA,CAAC,KAAA+5B,IAAAA,GAAAA,oBAAA,GAC5D5B,gBAAgB,CAACxQ,KAAK,CAAA;IACxB,OAAOnI,QAAQ,CAACkM,MAAM,CAAC7F,KAAK,EAAEwE,UAAU,EAAEC,QAAQ,EAAEkP,aAAa,CAAC,CAAA;AACpE,GAAA;EAEA,SAASpS,UAAUA,CACjBvB,KAAwB,EAAA;AAAA,IAAA,IAAAoU,qBAAA,CAAA;AAExB,IAAA,IACyB/I,UAAU,GAE/BrL,KAAK,CAFPvgB,aAAa,CAAItF,IAAI;MACrBqC,KAAK,GACHwjB,KAAK,CADPxjB,KAAK,CAAA;AAGP,IAAA,IAAMrB,OAAO,GAAG8D,UAAU,CAAC+gB,KAAK,CAAC,CAAA;IACjC,IAAMrG,QAAQ,IAAAya,qBAAA,GACZ3B,iBAAiB,CAACv0B,IAAI,CACpB,UAAChE,CAAC,EAAA;AAAA,MAAA,IAAAm6B,aAAA,EAAAC,iBAAA,EAAAC,UAAA,CAAA;AAAA,MAAA,OACA,EAAAF,aAAA,GAACn6B,CAAC,CAAC+C,UAAU,YAAAo3B,aAAA,GAAI,KAAK,OACnBrU,KAAK,CAAC1W,YAAY,IAAI,IAAI,KAAA,CAAAgrB,iBAAA,GAAK93B,KAAK,CAACS,UAAU,YAAAq3B,iBAAA,GAAI,KAAK,CAAC,CAAC,IAC7D,CAAAC,CAAAA,UAAA,GAACr6B,CAAC,CAACiB,OAAO,KAAAo5B,IAAAA,GAAAA,UAAA,GAAI,KAAK,MAAMp5B,OAAO,KAC9BjB,CAAC,CAACs6B,UAAU,IACZnJ,UAAU,IAAI1xB,sBAAc,CAACgG,QAAQ,IACrCo0B,OAAO,CAAC75B,CAAC,CAACs6B,UAAU,EAAEh4B,KAAK,CAACrC,IAAI,CAAC,IAChCD,CAAC,CAACmxB,UAAU,IAAI0I,OAAO,CAAC75B,CAAC,CAACmxB,UAAU,EAAEA,UAAU,CAAE,IAClDnxB,CAAC,CAAC25B,KAAK,IAAI35B,CAAC,CAAC25B,KAAK,CAAC7T,KAAK,CAAE,CAAC,CAAA;AAAA,KAAA,CACjC,KAAAoU,IAAAA,GAAAA,qBAAA,GAAI9B,gBAAgB,CAACv3B,IAAI,CAAA;IAE5B,IAAMyJ,MAAM,GAAGmV,QAAQ,CAACkM,MAAM,CAAC7F,KAAK,EAAE2T,aAAa,CAAC,CAAA;AACpD,IAAA,IAAI,OAAOnvB,MAAM,KAAK,UAAU,EAAE,OAAOA,MAAM,CAAA;AAC/C,IAAA,OAAO,UAACoP,CAAC,EAAA;MAAA,OAAAjX,QAAA,KAAWiX,CAAC,EAAA;AAAEvW,QAAAA,QAAQ,EAAEmH,MAAAA;AAAM,OAAA,CAAA,CAAA;KAAG,CAAA;AAC5C,GAAA;EAEA,SAASqd,WAAWA,CAClB7B,KAAyB,EAAA;AAAA,IAAA,IAAAyU,qBAAA,CAAA;AAEzB,IAAA,IAAMpJ,UAAU,GAAGrL,KAAK,CAACvgB,aAAa,CAACtF,IAAI,CAAA;IAC3C,IAAMwf,QAAQ,IAAA8a,qBAAA,GACZ9B,kBAAkB,CAACz0B,IAAI,CAAC,UAAChE,CAAC,EAAA;AAAA,MAAA,OAAK65B,OAAO,CAAC75B,CAAC,CAACmxB,UAAU,EAAEA,UAAU,CAAC,CAAA;AAAA,KAAA,CAAC,KAAAoJ,IAAAA,GAAAA,qBAAA,GACjEnC,gBAAgB,CAACr3B,KAAK,CAAA;IACxB,IAAMuJ,MAAM,GAAGmV,QAAQ,CAACkM,MAAM,CAAC7F,KAAK,EAAE2T,aAAa,CAAC,CAAA;AACpD,IAAA,IAAI,OAAOnvB,MAAM,KAAK,UAAU,EAAE,OAAOA,MAAM,CAAA;AAC/C,IAAA,OAAO,UAACoP,CAAC,EAAA;MAAA,OAAAjX,QAAA,KAAWiX,CAAC,EAAA;AAAEvW,QAAAA,QAAQ,EAAEmH,MAAAA;AAAM,OAAA,CAAA,CAAA;KAAG,CAAA;AAC5C,GAAA;EAEA,SAAS4d,YAAYA,CAACpC,KAA0B,EAAA;AAAA,IAAA,IAAA0U,qBAAA,CAAA;IAC9C,IAAM/a,QAAQ,IAAA+a,qBAAA,GACZrB,eAAe,CAACn1B,IAAI,CAAC,UAAChE,CAAC,EAAA;MAAA,OAAK65B,OAAO,CAAC75B,CAAC,CAAC6rB,UAAU,EAAE/F,KAAK,CAACtR,QAAQ,CAAC,CAAA;AAAA,KAAA,CAAC,KAAAgmB,IAAAA,GAAAA,qBAAA,GAClEpC,gBAAgB,CAACx3B,MAAM,CAAA;AACzB,IAAA,OAAO6e,QAAQ,CAACkM,MAAM,CAAC7F,KAAK,EAAE2T,aAAa,CAAC,CAAA;AAC9C,GAAA;EAEA,SAASlR,aAAaA,CAACzC,KAA2B,EAAA;AAAA,IAAA,IAAA2U,qBAAA,CAAA;AAChD,IAAA,IAAMtJ,UAAU,GAAGrL,KAAK,CAACjlB,IAAI,CAACZ,IAAI,CAAA;IAClC,IAAMwf,QAAQ,IAAAgb,qBAAA,GACZ5B,oBAAoB,CAAC70B,IAAI,CAAC,UAAChE,CAAC,EAAA;AAAA,MAAA,OAAK65B,OAAO,CAAC75B,CAAC,CAACmxB,UAAU,EAAEA,UAAU,CAAC,CAAA;AAAA,KAAA,CAAC,KAAAsJ,IAAAA,GAAAA,qBAAA,GACnErC,gBAAgB,CAACt3B,OAAO,CAAA;AAC1B,IAAA,OAAO2e,QAAQ,CAACkM,MAAM,CAAC7F,KAAK,EAAE2T,aAAa,CAAC,CAAA;AAC9C,GAAA;AAEA,EAAA,OAAOA,aAAa,CAAA;AACtB,CAAA;AAEA,SAASnB,0BAA0BA,GAAA;AACjC,EAAA,OAAOL,sBAAsB,CAAC;AAC5BhP,IAAAA,MAAM,EAAE;AAAE/b,MAAAA,SAAS,EAAE,SAAA;KAAW;AAChCnM,IAAAA,KAAK,EAAE;AAAEmM,MAAAA,SAAS,EAAE,OAAA;KAAS;AAC7Bsf,IAAAA,KAAK,EAAE;AAAEtf,MAAAA,SAAS,EAAE,eAAA;KAAiB;AACrCtM,IAAAA,MAAM,EAAE;AAAEsM,MAAAA,SAAS,EAAE,QAAA;KAAU;AAC/BrM,IAAAA,IAAI,EAAE;AAAE41B,MAAAA,UAAU,EAAE,MAAA;KAAQ;AAC5B31B,IAAAA,OAAO,EAAE;AAAEgtB,MAAAA,aAAa,EAAE,MAAM;AAAED,MAAAA,aAAa,EAAE,MAAA;AAAQ,KAAA;AAC1D,GAAA,CAAC,CAAA;AACJ,CAAA;AAEA,SAASgM,OAAOA,CAAI75B,CAAsB,EAAE2B,CAAI,EAAA;EAC9C,OAAO3B,CAAC,IAAI,IAAI,GAAG,IAAI,GAAG8L,KAAK,CAACC,OAAO,CAAC/L,CAAC,CAAC,GAAGA,CAAC,CAAC2E,QAAQ,CAAChD,CAAC,CAAC,GAAGA,CAAC,KAAK3B,CAAC,CAAA;AACtE,CAAA;AAEA,SAAS44B,uBAAuBA,CAC9B54B,CAAuB,EAAA;AAEvB,EAAA,OAAOA,CAAC,CAACC,IAAI,KAAK,WAAW,CAAA;AAC/B,CAAA;AAEA,SAASu4B,kBAAkBA,CACzBx4B,CAAuB,EAAA;AAEvB,EAAA,OAAOA,CAAC,CAACC,IAAI,KAAK,MAAM,CAAA;AAC1B,CAAA;AAEA,SAASy4B,mBAAmBA,CAC1B14B,CAAuB,EAAA;AAEvB,EAAA,OAAOA,CAAC,CAACC,IAAI,KAAK,OAAO,CAAA;AAC3B,CAAA;AAEA,SAAS+4B,mBAAmBA,CAC1Bh5B,CAAuB,EAAA;AAEvB,EAAA,OAAOA,CAAC,CAACC,IAAI,KAAK,OAAO,CAAA;AAC3B,CAAA;AAEA,SAASq5B,oBAAoBA,CAC3Bt5B,CAAuB,EAAA;AAEvB,EAAA,OAAOA,CAAC,CAACC,IAAI,KAAK,QAAQ,CAAA;AAC5B,CAAA;AAEA,SAASu5B,wBAAwBA,CAC/Bx5B,CAAuB,EAAA;AAEvB,EAAA,OAAOA,CAAC,CAACC,IAAI,KAAK,YAAY,CAAA;AAChC,CAAA;AAEA,SAASm5B,oBAAoBA,CAC3Bp5B,CAAuB,EAAA;AAEvB,EAAA,OAAOA,CAAC,CAACC,IAAI,KAAK,QAAQ,CAAA;AAC5B,CAAA;AAEA,SAAS64B,qBAAqBA,CAC5B94B,CAAuB,EAAA;AAEvB,EAAA,OAAOA,CAAC,CAACC,IAAI,KAAK,SAAS,CAAA;AAC7B,CAAA;AAEA,SAASi5B,mBAAmBA,CAC1Bl5B,CAAuB,EAAA;AAEvB,EAAA,OAAOA,CAAC,CAACC,IAAI,KAAK,OAAO,CAAA;AAC3B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../src/types.ts","../src/util.ts","../src/schemaBuilder.ts","../src/controlBuilder.ts","../src/hooks.tsx","../src/validators.ts","../src/internal.ts","../src/schemaInterface.ts","../src/controlRender.tsx","../src/renderers.tsx","../src/tailwind.tsx","../src/components/DefaultDisplay.tsx","../src/components/DefaultLayout.tsx","../src/components/DefaultVisibility.tsx","../src/components/SelectDataRenderer.tsx","../src/components/DefaultDisplayOnly.tsx","../src/components/ControlInput.tsx","../src/components/DefaultArrayRenderer.tsx","../src/components/CheckRenderer.tsx","../src/components/DefaultAccordion.tsx","../src/components/NullToggle.tsx","../src/components/MultilineTextfield.tsx","../src/components/JsonataRenderer.tsx","../src/createDefaultRenderers.tsx","../src/createFormRenderer.tsx"],"sourcesContent":["import { Control } from \"@react-typed-forms/core\";\n\nexport interface SchemaField {\n type: string;\n field: string;\n displayName?: string | null;\n tags?: string[] | null;\n system?: boolean | null;\n collection?: boolean | null;\n onlyForTypes?: string[] | null;\n required?: boolean | null;\n notNullable?: boolean | null;\n defaultValue?: any;\n isTypeField?: boolean | null;\n searchable?: boolean | null;\n options?: FieldOption[] | null;\n validators?: SchemaValidator[] | null;\n}\n\nexport type SchemaMap = Record<string, SchemaField[]>;\n\nexport enum FieldType {\n String = \"String\",\n Bool = \"Bool\",\n Int = \"Int\",\n Date = \"Date\",\n DateTime = \"DateTime\",\n Time = \"Time\",\n Double = \"Double\",\n EntityRef = \"EntityRef\",\n Compound = \"Compound\",\n AutoId = \"AutoId\",\n Image = \"Image\",\n Any = \"Any\",\n}\n\nexport interface EntityRefField extends SchemaField {\n type: FieldType.EntityRef;\n entityRefType: string;\n parentField: string;\n}\n\nexport interface FieldOption {\n name: string;\n value: any;\n description?: string | null;\n disabled?: boolean | null;\n}\n\nexport interface CompoundField extends SchemaField {\n type: FieldType.Compound;\n children: SchemaField[];\n treeChildren?: boolean;\n schemaRef?: string;\n}\n\nexport type AnyControlDefinition =\n | DataControlDefinition\n | GroupedControlsDefinition\n | ActionControlDefinition\n | DisplayControlDefinition;\n\nexport enum ValidationMessageType {\n NotEmpty = \"NotEmpty\",\n MinLength = \"MinLength\",\n MaxLength = \"MaxLength\",\n NotAfterDate = \"NotAfterDate\",\n NotBeforeDate = \"NotBeforeDate\",\n}\nexport interface SchemaInterface {\n isEmptyValue(field: SchemaField, value: any): boolean;\n textValue(\n field: SchemaField,\n value: any,\n element?: boolean,\n ): string | undefined;\n controlLength(field: SchemaField, control: Control<any>): number;\n valueLength(field: SchemaField, value: any): number;\n getOptions(field: SchemaField): FieldOption[] | undefined | null;\n parseToMillis(field: SchemaField, v: string): number;\n validationMessageText(\n field: SchemaField,\n messageType: ValidationMessageType,\n actual: any,\n expected: any,\n ): string;\n}\nexport interface ControlDefinition {\n type: string;\n title?: string | null;\n styleClass?: string | null;\n layoutClass?: string | null;\n labelClass?: string | null;\n dynamic?: DynamicProperty[] | null;\n adornments?: ControlAdornment[] | null;\n children?: ControlDefinition[] | null;\n}\n\nexport enum ControlDefinitionType {\n Data = \"Data\",\n Group = \"Group\",\n Display = \"Display\",\n Action = \"Action\",\n}\n\nexport interface DynamicProperty {\n type: string;\n expr: EntityExpression;\n}\n\nexport enum DynamicPropertyType {\n Visible = \"Visible\",\n DefaultValue = \"DefaultValue\",\n Readonly = \"Readonly\",\n Disabled = \"Disabled\",\n Display = \"Display\",\n Style = \"Style\",\n LayoutStyle = \"LayoutStyle\",\n AllowedOptions = \"AllowedOptions\",\n Label = \"Label\",\n ActionData = \"ActionData\",\n}\n\nexport interface EntityExpression {\n type: string;\n}\n\nexport enum ExpressionType {\n Jsonata = \"Jsonata\",\n Data = \"Data\",\n DataMatch = \"FieldValue\",\n UserMatch = \"UserMatch\",\n NotEmpty = \"NotEmpty\",\n UUID = \"UUID\",\n}\n\nexport interface JsonataExpression extends EntityExpression {\n type: ExpressionType.Jsonata;\n expression: string;\n}\n\nexport interface DataExpression extends EntityExpression {\n type: ExpressionType.Data;\n field: string;\n}\n\nexport interface DataMatchExpression extends EntityExpression {\n type: ExpressionType.DataMatch;\n field: string;\n value: any;\n}\n\nexport interface NotEmptyExpression extends EntityExpression {\n type: ExpressionType.DataMatch;\n field: string;\n}\n\nexport interface UserMatchExpression extends EntityExpression {\n type: ExpressionType.UserMatch;\n userMatch: string;\n}\n\nexport interface ControlAdornment {\n type: string;\n}\n\nexport enum AdornmentPlacement {\n ControlStart = \"ControlStart\",\n ControlEnd = \"ControlEnd\",\n LabelStart = \"LabelStart\",\n LabelEnd = \"LabelEnd\",\n}\n\nexport enum ControlAdornmentType {\n Tooltip = \"Tooltip\",\n Accordion = \"Accordion\",\n HelpText = \"HelpText\",\n Icon = \"Icon\",\n SetField = \"SetField\",\n}\n\nexport interface IconAdornment extends ControlAdornment {\n type: ControlAdornmentType.Icon;\n iconClass: string;\n placement?: AdornmentPlacement | null;\n}\n\nexport interface TooltipAdornment extends ControlAdornment {\n type: ControlAdornmentType.Tooltip;\n tooltip: string;\n}\n\nexport interface AccordionAdornment extends ControlAdornment {\n type: ControlAdornmentType.Accordion;\n title: string;\n defaultExpanded: boolean;\n}\n\nexport interface HelpTextAdornment extends ControlAdornment {\n type: ControlAdornmentType.HelpText;\n helpText: string;\n placement?: AdornmentPlacement | null;\n}\n\nexport interface SetFieldAdornment extends ControlAdornment {\n type: ControlAdornmentType.SetField;\n field: string;\n defaultOnly?: boolean | null;\n expression?: EntityExpression;\n}\n\nexport interface DataControlDefinition extends ControlDefinition {\n type: ControlDefinitionType.Data;\n field: string;\n required?: boolean | null;\n renderOptions?: RenderOptions | null;\n defaultValue?: any;\n readonly?: boolean | null;\n disabled?: boolean | null;\n validators?: SchemaValidator[] | null;\n hideTitle?: boolean | null;\n dontClearHidden?: boolean | null;\n}\n\nexport interface RenderOptions {\n type: string;\n}\n\nexport enum DataRenderType {\n Standard = \"Standard\",\n Textfield = \"Textfield\",\n Radio = \"Radio\",\n HtmlEditor = \"HtmlEditor\",\n IconList = \"IconList\",\n CheckList = \"CheckList\",\n UserSelection = \"UserSelection\",\n Synchronised = \"Synchronised\",\n IconSelector = \"IconSelector\",\n DateTime = \"DateTime\",\n Checkbox = \"Checkbox\",\n Dropdown = \"Dropdown\",\n DisplayOnly = \"DisplayOnly\",\n Group = \"Group\",\n NullToggle = \"NullToggle\",\n Jsonata = \"Jsonata\",\n Array = \"Array\",\n}\n\nexport interface TextfieldRenderOptions extends RenderOptions {\n type: DataRenderType.Textfield;\n placeholder?: string | null;\n multiline?: boolean | null;\n}\n\nexport interface RadioButtonRenderOptions extends RenderOptions {\n type: DataRenderType.Radio;\n}\n\nexport interface StandardRenderer extends RenderOptions {\n type: DataRenderType.Standard;\n}\n\nexport interface DataGroupRenderOptions extends RenderOptions {\n type: DataRenderType.Group;\n groupOptions?: GroupRenderOptions;\n}\n\nexport interface HtmlEditorRenderOptions extends RenderOptions {\n type: DataRenderType.HtmlEditor;\n allowImages: boolean;\n}\n\nexport interface DateTimeRenderOptions extends RenderOptions {\n type: DataRenderType.DateTime;\n format?: string | null;\n forceMidnight?: boolean;\n}\n\nexport interface IconListRenderOptions extends RenderOptions {\n type: DataRenderType.IconList;\n iconMappings: IconMapping[];\n}\n\nexport interface DisplayOnlyRenderOptions extends RenderOptions {\n type: DataRenderType.DisplayOnly;\n emptyText?: string | null;\n sampleText?: string | null;\n}\nexport interface IconMapping {\n value: string;\n materialIcon?: string | null;\n}\n\nexport interface JsonataRenderOptions extends RenderOptions {\n type: DataRenderType.Jsonata;\n expression: string;\n}\n\nexport interface JsonataRenderOptions extends RenderOptions {\n type: DataRenderType.Jsonata;\n expression: string;\n}\n\nexport interface ArrayRenderOptions extends RenderOptions {\n type: DataRenderType.Array;\n addText?: string | null;\n removeText?: string | null;\n noAdd?: boolean | null;\n noRemove?: boolean | null;\n noReorder?: boolean | null;\n childOptions?: RenderOptions | null;\n}\n\nexport interface CheckListRenderOptions extends RenderOptions {\n type: DataRenderType.CheckList;\n}\n\nexport interface SynchronisedRenderOptions extends RenderOptions {\n type: DataRenderType.Synchronised;\n fieldToSync: string;\n syncType: SyncTextType;\n}\n\nexport enum SyncTextType {\n Camel = \"Camel\",\n Snake = \"Snake\",\n Pascal = \"Pascal\",\n}\n\nexport interface UserSelectionRenderOptions extends RenderOptions {\n type: DataRenderType.UserSelection;\n noGroups: boolean;\n noUsers: boolean;\n}\n\nexport interface IconSelectionRenderOptions extends RenderOptions {\n type: DataRenderType.IconSelector;\n}\n\nexport interface GroupedControlsDefinition extends ControlDefinition {\n type: ControlDefinitionType.Group;\n compoundField?: string | null;\n groupOptions?: GroupRenderOptions;\n}\n\nexport interface GroupRenderOptions {\n type: string;\n hideTitle?: boolean | null;\n}\n\nexport enum GroupRenderType {\n Standard = \"Standard\",\n Grid = \"Grid\",\n Flex = \"Flex\",\n GroupElement = \"GroupElement\",\n}\n\nexport interface StandardGroupRenderer extends GroupRenderOptions {\n type: GroupRenderType.Standard;\n}\n\nexport interface FlexRenderer extends GroupRenderOptions {\n type: GroupRenderType.Flex;\n direction?: string | null;\n gap?: string | null;\n}\n\nexport interface GroupElementRenderer extends GroupRenderOptions {\n type: GroupRenderType.GroupElement;\n value: any;\n}\n\nexport interface GridRenderer extends GroupRenderOptions {\n type: GroupRenderType.Grid;\n columns?: number | null;\n}\n\nexport interface DisplayControlDefinition extends ControlDefinition {\n type: ControlDefinitionType.Display;\n displayData: DisplayData;\n}\n\nexport interface DisplayData {\n type: string;\n}\n\nexport enum DisplayDataType {\n Text = \"Text\",\n Html = \"Html\",\n Icon = \"Icon\",\n Custom = \"Custom\",\n}\nexport interface TextDisplay extends DisplayData {\n type: DisplayDataType.Text;\n text: string;\n}\n\nexport interface IconDisplay extends DisplayData {\n type: DisplayDataType.Icon;\n iconClass: string;\n}\n\nexport interface HtmlDisplay extends DisplayData {\n type: DisplayDataType.Html;\n html: string;\n}\n\nexport interface CustomDisplay extends DisplayData {\n type: DisplayDataType.Custom;\n customId: string;\n}\n\nexport interface ActionControlDefinition extends ControlDefinition {\n type: ControlDefinitionType.Action;\n actionId: string;\n actionData: string;\n}\n\nexport enum ValidatorType {\n Jsonata = \"Jsonata\",\n Date = \"Date\",\n Length = \"Length\",\n}\nexport interface SchemaValidator {\n type: string;\n}\n\nexport interface JsonataValidator extends SchemaValidator {\n type: ValidatorType.Jsonata;\n expression: string;\n}\n\nexport interface LengthValidator extends SchemaValidator {\n type: ValidatorType.Length;\n min?: number | null;\n max?: number | null;\n}\n\nexport enum DateComparison {\n NotBefore = \"NotBefore\",\n NotAfter = \"NotAfter\",\n}\n\nexport interface DateValidator extends SchemaValidator {\n type: ValidatorType.Date;\n comparison: DateComparison;\n fixedDate?: string | null;\n daysFromCurrent?: number | null;\n}\n\nexport function isDataControlDefinition(\n x: ControlDefinition,\n): x is DataControlDefinition {\n return x.type === ControlDefinitionType.Data;\n}\n\nexport function isGroupControlsDefinition(\n x: ControlDefinition,\n): x is GroupedControlsDefinition {\n return x.type === ControlDefinitionType.Group;\n}\n\nexport function isDisplayControlsDefinition(\n x: ControlDefinition,\n): x is DisplayControlDefinition {\n return x.type === ControlDefinitionType.Display;\n}\n\nexport function isActionControlsDefinition(\n x: ControlDefinition,\n): x is ActionControlDefinition {\n return x.type === ControlDefinitionType.Action;\n}\n\nexport interface ControlVisitor<A> {\n data(d: DataControlDefinition): A;\n group(d: GroupedControlsDefinition): A;\n display(d: DisplayControlDefinition): A;\n action(d: ActionControlDefinition): A;\n}\n\nexport function visitControlDefinition<A>(\n x: ControlDefinition,\n visitor: ControlVisitor<A>,\n defaultValue: (c: ControlDefinition) => A,\n): A {\n switch (x.type) {\n case ControlDefinitionType.Action:\n return visitor.action(x as ActionControlDefinition);\n case ControlDefinitionType.Data:\n return visitor.data(x as DataControlDefinition);\n case ControlDefinitionType.Display:\n return visitor.display(x as DisplayControlDefinition);\n case ControlDefinitionType.Group:\n return visitor.group(x as GroupedControlsDefinition);\n default:\n return defaultValue(x);\n }\n}\nexport function isGridRenderer(\n options: GroupRenderOptions,\n): options is GridRenderer {\n return options.type === GroupRenderType.Grid;\n}\n\nexport function isFlexRenderer(\n options: GroupRenderOptions,\n): options is FlexRenderer {\n return options.type === GroupRenderType.Flex;\n}\n\nexport function isDisplayOnlyRenderer(\n options: RenderOptions,\n): options is DisplayOnlyRenderOptions {\n return options.type === DataRenderType.DisplayOnly;\n}\n\nexport function isTextfieldRenderer(\n options: RenderOptions,\n): options is TextfieldRenderOptions {\n return options.type === DataRenderType.Textfield;\n}\n\nexport function isDataGroupRenderer(\n options: RenderOptions,\n): options is DataGroupRenderOptions {\n return options.type === DataRenderType.Group;\n}\n\nexport function isArrayRenderer(\n options: RenderOptions,\n): options is ArrayRenderOptions {\n return options.type === DataRenderType.Array;\n}\n","import {\n CompoundField,\n ControlDefinition,\n ControlDefinitionType,\n DataControlDefinition,\n DataRenderType,\n DisplayOnlyRenderOptions,\n FieldOption,\n FieldType,\n GroupedControlsDefinition,\n isDataControlDefinition,\n isDisplayOnlyRenderer,\n isGroupControlsDefinition,\n SchemaField,\n SchemaInterface,\n visitControlDefinition,\n} from \"./types\";\nimport { MutableRefObject, useCallback, useRef } from \"react\";\nimport {\n Control,\n ControlChange,\n trackControlChange,\n} from \"@react-typed-forms/core\";\nimport clsx from \"clsx\";\n\nexport type JsonPath = string | number;\n\nexport interface DataContext {\n data: Control<any>;\n path: JsonPath[];\n}\n\nexport interface ControlDataContext extends DataContext {\n fields: SchemaField[];\n schemaInterface: SchemaInterface;\n}\nexport function applyDefaultValues(\n v: Record<string, any> | undefined,\n fields: SchemaField[],\n doneSet?: Set<Record<string, any>>,\n): any {\n if (!v) return defaultValueForFields(fields);\n if (doneSet && doneSet.has(v)) return v;\n doneSet ??= new Set();\n doneSet.add(v);\n const applyValue = fields.filter(\n (x) => isCompoundField(x) || !(x.field in v),\n );\n if (!applyValue.length) return v;\n const out = { ...v };\n applyValue.forEach((x) => {\n out[x.field] =\n x.field in v\n ? applyDefaultForField(v[x.field], x, fields, false, doneSet)\n : defaultValueForField(x);\n });\n return out;\n}\n\nexport function applyDefaultForField(\n v: any,\n field: SchemaField,\n parent: SchemaField[],\n notElement?: boolean,\n doneSet?: Set<Record<string, any>>,\n): any {\n if (field.collection && !notElement) {\n return ((v as any[]) ?? []).map((x) =>\n applyDefaultForField(x, field, parent, true, doneSet),\n );\n }\n if (isCompoundField(field)) {\n if (!v && !field.required) return v;\n return applyDefaultValues(\n v,\n field.treeChildren ? parent : field.children,\n doneSet,\n );\n }\n return defaultValueForField(field);\n}\n\nexport function defaultValueForFields(fields: SchemaField[]): any {\n return Object.fromEntries(\n fields.map((x) => [x.field, defaultValueForField(x)]),\n );\n}\n\nexport function defaultValueForField(\n sf: SchemaField,\n required?: boolean | null,\n forceNotNull?: boolean,\n): any {\n if (sf.defaultValue !== undefined) return sf.defaultValue;\n const isRequired = !!(required || sf.required);\n if (isCompoundField(sf)) {\n if (isRequired) {\n const childValue = defaultValueForFields(sf.children);\n return sf.collection ? [childValue] : childValue;\n }\n return sf.notNullable || forceNotNull\n ? sf.collection\n ? []\n : {}\n : undefined;\n }\n if (sf.collection) {\n return [];\n }\n return undefined;\n}\n\nexport function elementValueForField(sf: SchemaField): any {\n if (isCompoundField(sf)) {\n return defaultValueForFields(sf.children);\n }\n return sf.defaultValue;\n}\n\nexport function findScalarField(\n fields: SchemaField[],\n field: string,\n): SchemaField | undefined {\n return findField(fields, field);\n}\n\nexport function findCompoundField(\n fields: SchemaField[],\n field: string,\n): CompoundField | undefined {\n return findField(fields, field) as CompoundField | undefined;\n}\n\nexport function findField(\n fields: SchemaField[],\n field: string,\n): SchemaField | undefined {\n return fields.find((x) => x.field === field);\n}\n\nexport function isScalarField(sf: SchemaField): sf is SchemaField {\n return !isCompoundField(sf);\n}\n\nexport function isCompoundField(sf: SchemaField): sf is CompoundField {\n return sf.type === FieldType.Compound;\n}\n\nexport function isDataControl(\n c: ControlDefinition,\n): c is DataControlDefinition {\n return c.type === ControlDefinitionType.Data;\n}\n\nexport function isGroupControl(\n c: ControlDefinition,\n): c is GroupedControlsDefinition {\n return c.type === ControlDefinitionType.Group;\n}\n\nexport function fieldHasTag(field: SchemaField, tag: string) {\n return Boolean(field.tags?.includes(tag));\n}\n\nexport function fieldDisplayName(field: SchemaField) {\n return field.displayName ?? field.field;\n}\n\nexport function hasOptions(o: { options: FieldOption[] | undefined | null }) {\n return (o.options?.length ?? 0) > 0;\n}\n\nexport function defaultControlForField(sf: SchemaField): DataControlDefinition {\n if (isCompoundField(sf)) {\n return {\n type: ControlDefinitionType.Data,\n title: sf.displayName,\n field: sf.field,\n required: sf.required,\n children: sf.children.map(defaultControlForField),\n };\n } else if (isScalarField(sf)) {\n const htmlEditor = sf.tags?.includes(\"_HtmlEditor\");\n return {\n type: ControlDefinitionType.Data,\n title: sf.displayName,\n field: sf.field,\n required: sf.required,\n renderOptions: {\n type: htmlEditor ? DataRenderType.HtmlEditor : DataRenderType.Standard,\n },\n };\n }\n throw \"Unknown schema field\";\n}\nfunction findReferencedControl(\n field: string,\n control: ControlDefinition,\n): ControlDefinition | undefined {\n if (isDataControl(control) && field === control.field) return control;\n if (isGroupControl(control)) {\n if (control.compoundField)\n return field === control.compoundField ? control : undefined;\n return findReferencedControlInArray(field, control.children ?? []);\n }\n return undefined;\n}\n\nfunction findReferencedControlInArray(\n field: string,\n controls: ControlDefinition[],\n): ControlDefinition | undefined {\n for (const c of controls) {\n const ref = findReferencedControl(field, c);\n if (ref) return ref;\n }\n return undefined;\n}\n\nexport function findControlsForCompound(\n compound: CompoundField,\n definition: ControlDefinition,\n): ControlDefinition[] {\n if (\n isDataControlDefinition(definition) &&\n compound.field === definition.field\n ) {\n return [definition];\n }\n if (isGroupControlsDefinition(definition)) {\n if (definition.compoundField === compound.field) return [definition];\n return (\n definition.children?.flatMap((d) =>\n findControlsForCompound(compound, d),\n ) ?? []\n );\n }\n return [];\n}\n\nexport interface ControlGroupLookup {\n groups: ControlDefinition[];\n children: Record<string, ControlGroupLookup>;\n}\nexport function findCompoundGroups(\n fields: SchemaField[],\n controls: ControlDefinition[],\n): Record<string, ControlGroupLookup> {\n return Object.fromEntries(\n fields.filter(isCompoundField).map((cf) => {\n const groups = controls.flatMap((x) => findControlsForCompound(cf, x));\n return [\n cf.field,\n {\n groups: groups.concat(\n findNonDataGroups(groups.flatMap((x) => x.children ?? [])),\n ),\n children: findCompoundGroups(\n cf.children,\n groups.flatMap((x) => x.children ?? []),\n ),\n },\n ];\n }),\n );\n}\n\nexport function existsInGroups(\n field: SchemaField,\n lookup: ControlGroupLookup,\n): [SchemaField, ControlGroupLookup][] {\n const itself = lookup.groups.find((c) =>\n c.children?.find(\n (x) =>\n (isDataControlDefinition(x) && x.field === field.field) ||\n (isGroupControlsDefinition(x) && x.compoundField === field.field),\n ),\n );\n if (!itself) return [[field, lookup]];\n if (isCompoundField(field)) {\n const childLookup = lookup.children[field.field];\n if (!childLookup) return [[field, lookup]];\n return field.children.flatMap((c) => existsInGroups(c, childLookup));\n }\n return [];\n}\n\nexport function findNonDataGroups(\n controls: ControlDefinition[],\n): ControlDefinition[] {\n return controls.flatMap((control) =>\n isGroupControlsDefinition(control) && !control.compoundField\n ? [control, ...findNonDataGroups(control.children ?? [])]\n : [],\n );\n}\n\nfunction cloneChildren(c: ControlDefinition): ControlDefinition {\n if (c.children) return { ...c, children: c.children?.map(cloneChildren) };\n return c;\n}\n\nexport function addMissingControls(\n fields: SchemaField[],\n controls: ControlDefinition[],\n) {\n controls = controls.map(cloneChildren);\n const rootMapping = findCompoundGroups(fields, controls);\n const rootGroups = findNonDataGroups([\n {\n type: ControlDefinitionType.Group,\n children: controls,\n },\n ]);\n const rootLookup = { children: rootMapping, groups: rootGroups };\n const missingFields = fields\n .filter((x) => !fieldHasTag(x, \"_NoControl\"))\n .flatMap((x) => existsInGroups(x, rootLookup));\n missingFields.forEach(([f, lookup]) => {\n const groupToAdd = f.tags?.find((x) => x.startsWith(\"_ControlGroup:\"));\n let insertGroup: ControlDefinition | undefined = undefined;\n if (groupToAdd) {\n const groupName = groupToAdd.substring(14);\n insertGroup = lookup.groups.find((x) => x.title === groupName);\n }\n if (!insertGroup) insertGroup = lookup.groups[0];\n insertGroup?.children?.push(defaultControlForField(f));\n });\n return controls;\n}\nexport function useUpdatedRef<A>(a: A): MutableRefObject<A> {\n const r = useRef(a);\n r.current = a;\n return r;\n}\n\nexport function isControlReadonly(c: ControlDefinition): boolean {\n return isDataControl(c) && !!c.readonly;\n}\n\nexport function isControlDisabled(c: ControlDefinition): boolean {\n return isDataControl(c) && !!c.disabled;\n}\n\nexport function getDisplayOnlyOptions(\n d: ControlDefinition,\n): DisplayOnlyRenderOptions | undefined {\n return isDataControlDefinition(d) &&\n d.renderOptions &&\n isDisplayOnlyRenderer(d.renderOptions)\n ? d.renderOptions\n : undefined;\n}\n\nexport function getTypeField(\n context: ControlDataContext,\n fieldPath: SchemaField[],\n): Control<string> | undefined {\n const withoutLast = fieldPath.slice(0, -1);\n const fieldList =\n withoutLast.length > 0\n ? (withoutLast.at(-1) as CompoundField).children\n : context.fields;\n const typeSchemaField = fieldList.find((x) => x.isTypeField);\n return typeSchemaField\n ? lookupChildControl(context, [...withoutLast, typeSchemaField])\n : undefined;\n}\n\nexport function visitControlDataArray<A>(\n controls: ControlDefinition[] | undefined | null,\n context: ControlDataContext,\n cb: (\n definition: DataControlDefinition,\n field: SchemaField,\n control: Control<any>,\n element: boolean,\n ) => A | undefined,\n): A | undefined {\n if (!controls) return undefined;\n for (const c of controls) {\n const r = visitControlData(c, context, cb);\n if (r !== undefined) return r;\n }\n return undefined;\n}\n\nexport function visitControlData<A>(\n definition: ControlDefinition,\n ctx: ControlDataContext,\n cb: (\n definition: DataControlDefinition,\n field: SchemaField,\n control: Control<any>,\n element: boolean,\n ) => A | undefined,\n): A | undefined {\n return visitControlDefinition<A | undefined>(\n definition,\n {\n data(def: DataControlDefinition) {\n return processData(def, def.field, def.children);\n },\n group(d: GroupedControlsDefinition) {\n return processData(undefined, d.compoundField, d.children);\n },\n action: () => undefined,\n display: () => undefined,\n },\n () => undefined,\n );\n\n function processData(\n def: DataControlDefinition | undefined,\n fieldName: string | undefined | null,\n children: ControlDefinition[] | null | undefined,\n ) {\n const fieldData = fieldName ? findField(ctx.fields, fieldName) : undefined;\n if (!fieldData)\n return !fieldName ? visitControlDataArray(children, ctx, cb) : undefined;\n\n const thisPath = [...ctx.path, fieldData.field];\n const control = ctx.data.lookupControl(thisPath);\n if (!control) return undefined;\n const result = def ? cb(def, fieldData, control, false) : undefined;\n if (result !== undefined) return result;\n const compound = isCompoundField(fieldData);\n if (fieldData.collection) {\n let cIndex = 0;\n for (const c of control!.elements ?? []) {\n const elemResult = def ? cb(def, fieldData, c, true) : undefined;\n if (elemResult !== undefined) return elemResult;\n if (compound) {\n const cfResult = visitControlDataArray(\n children,\n {\n ...ctx,\n fields: fieldData.children,\n path: [...thisPath, cIndex],\n },\n cb,\n );\n if (cfResult !== undefined) return cfResult;\n }\n cIndex++;\n }\n } else if (compound) {\n return visitControlDataArray(\n children,\n {\n ...ctx,\n fields: fieldData.children,\n path: thisPath,\n },\n cb,\n );\n }\n return undefined;\n }\n}\n\nexport function lookupChildControl(\n data: DataContext,\n path: SchemaField[],\n element?: number,\n): Control<any> | undefined {\n const fieldPath = path.map((x) => x.field);\n return lookupChildControlPath(\n data,\n element == null ? fieldPath : [...fieldPath, element],\n );\n}\n\nexport function lookupChildControlPath(\n data: DataContext,\n jsonPath: JsonPath[],\n): Control<any> | undefined {\n const childPath = [...data.path, ...jsonPath];\n return watchControlLookup(data.data, childPath);\n}\n\nexport function cleanDataForSchema(\n v: { [k: string]: any } | undefined,\n fields: SchemaField[],\n removeIfDefault?: boolean,\n): any {\n if (!v) return v;\n const typeField = fields.find((x) => x.isTypeField);\n if (!typeField) return v;\n const typeValue = v[typeField.field];\n const cleanableFields = !removeIfDefault\n ? fields.filter(\n (x) => isCompoundField(x) || (x.onlyForTypes?.length ?? 0) > 0,\n )\n : fields;\n if (!cleanableFields.length) return v;\n const out = { ...v };\n cleanableFields.forEach((x) => {\n const childValue = v[x.field];\n if (\n x.onlyForTypes?.includes(typeValue) === false ||\n (!x.notNullable && canBeNull())\n ) {\n delete out[x.field];\n return;\n }\n if (isCompoundField(x)) {\n const childFields = x.treeChildren ? fields : x.children;\n if (x.collection) {\n if (Array.isArray(childValue)) {\n out[x.field] = childValue.map((cv) =>\n cleanDataForSchema(cv, childFields, removeIfDefault),\n );\n }\n } else {\n out[x.field] = cleanDataForSchema(\n childValue,\n childFields,\n removeIfDefault,\n );\n }\n }\n function canBeNull() {\n return (\n (removeIfDefault && x.defaultValue === childValue) ||\n (x.collection && Array.isArray(childValue) && !childValue.length)\n //|| (x.type === FieldType.Bool && childValue === false)\n );\n }\n });\n return out;\n}\n\nexport function getAllReferencedClasses(\n c: ControlDefinition,\n collectExtra?: (c: ControlDefinition) => (string | undefined | null)[],\n): string[] {\n const childClasses = c.children?.flatMap((x) =>\n getAllReferencedClasses(x, collectExtra),\n );\n const tc = clsx(\n [\n c.styleClass,\n c.layoutClass,\n c.labelClass,\n ...(collectExtra?.(c) ?? []),\n ].map(getOverrideClass),\n );\n if (childClasses && !tc) return childClasses;\n if (!tc) return [];\n if (childClasses) return [tc, ...childClasses];\n return [tc];\n}\n\nexport function jsonPathString(\n jsonPath: JsonPath[],\n customIndex?: (n: number) => string,\n) {\n let out = \"\";\n jsonPath.forEach((v, i) => {\n if (typeof v === \"number\") {\n out += customIndex?.(v) ?? \"[\" + v + \"]\";\n } else {\n if (i > 0) out += \".\";\n out += v;\n }\n });\n return out;\n}\n\nexport function findChildDefinition(\n parent: ControlDefinition,\n childPath: number | number[],\n): ControlDefinition {\n if (Array.isArray(childPath)) {\n let base = parent;\n childPath.forEach((x) => (base = base.children![x]));\n return base;\n }\n return parent.children![childPath];\n}\n\nexport function getOverrideClass(className?: string | null) {\n if (className && className.startsWith(\"@ \")) {\n return className.substring(2);\n }\n return className;\n}\n\nexport function rendererClass(\n controlClass?: string | null,\n globalClass?: string | null,\n) {\n const oc = getOverrideClass(controlClass);\n if (oc === controlClass) return clsx(controlClass, globalClass);\n return oc ? oc : undefined;\n}\n\nexport function watchControlLookup(\n base: Control<any> | undefined,\n path: (string | number)[],\n): Control<any> | undefined {\n let index = 0;\n while (index < path.length && base) {\n const childId = path[index];\n const c = base.current;\n if (typeof childId === \"string\") {\n const next = c.fields?.[childId];\n if (!next) trackControlChange(base, ControlChange.Structure);\n base = next;\n } else {\n base = c.elements?.[childId];\n }\n index++;\n }\n return base;\n}\n\nexport type HookDep = string | number | undefined | null;\n\nexport interface DynamicHookGenerator<A, P> {\n deps: HookDep;\n state: any;\n runHook(ctx: P, state: any): A;\n}\n\nexport function makeHook<A, P, S = undefined>(\n runHook: (ctx: P, state: S) => A,\n state: S,\n deps?: HookDep,\n): DynamicHookGenerator<A, P> {\n return { deps, state, runHook };\n}\n\nexport type DynamicHookValue<A> =\n A extends DynamicHookGenerator<infer V, any> ? V : never;\n\nexport function makeHookDepString<A>(\n deps: A[],\n asHookDep: (a: A) => HookDep,\n): string {\n return deps.map((x) => toDepString(asHookDep(x))).join(\",\");\n}\nexport function useDynamicHooks<\n P,\n Hooks extends Record<string, DynamicHookGenerator<any, P>>,\n>(\n hooks: Hooks,\n): (p: P) => {\n [K in keyof Hooks]: DynamicHookValue<Hooks[K]>;\n} {\n const hookEntries = Object.entries(hooks);\n const deps = makeHookDepString(hookEntries, (x) => x[1].deps);\n const ref = useRef<Record<string, any>>({});\n const s = ref.current;\n hookEntries.forEach((x) => (s[x[0]] = x[1].state));\n return useCallback(\n (p: P) => {\n return Object.fromEntries(\n hookEntries.map(([f, hg]) => [f, hg.runHook(p, ref.current[f])]),\n ) as any;\n },\n [deps],\n );\n}\n\nexport function toDepString(x: any): string {\n if (x === undefined) return \"_\";\n if (x === null) return \"~\";\n return x.toString();\n}\n\nexport function appendElementIndex(\n dataContext: ControlDataContext,\n elementIndex: number,\n): ControlDataContext {\n return { ...dataContext, path: [...dataContext.path, elementIndex] };\n}\n\nexport function applyLengthRestrictions<Min, Max>(\n length: number,\n min: number | null | undefined,\n max: number | null | undefined,\n minValue: Min,\n maxValue: Max,\n): [Min | undefined, Max | undefined] {\n return [\n min == null || length > min ? minValue : undefined,\n max == null || length < max ? maxValue : undefined,\n ];\n}\n\nexport function findFieldPath(\n fields: SchemaField[],\n fieldPath: string | undefined,\n): SchemaField[] | undefined {\n if (!fieldPath) return undefined;\n const fieldNames = fieldPath.split(\"/\");\n const foundFields: SchemaField[] = [];\n let i = 0;\n let currentFields: SchemaField[] | undefined = fields;\n while (i < fieldNames.length && currentFields) {\n const cf = fieldNames[i];\n const nextField = findField(currentFields, cf);\n if (!nextField) return undefined;\n foundFields.push(nextField);\n currentFields =\n isCompoundField(nextField) && !nextField.collection\n ? nextField.children\n : undefined;\n i++;\n }\n return foundFields.length === fieldNames.length ? foundFields : undefined;\n}\n","import {\n CompoundField,\n FieldOption,\n FieldType,\n SchemaField,\n SchemaMap,\n} from \"./types\";\nimport { isCompoundField } from \"./util\";\n\ntype AllowedSchema<T> = T extends string\n ? SchemaField & {\n type:\n | FieldType.String\n | FieldType.Date\n | FieldType.DateTime\n | FieldType.Time;\n }\n : T extends number\n ? SchemaField & {\n type: FieldType.Int | FieldType.Double;\n }\n : T extends boolean\n ? SchemaField & {\n type: FieldType.Bool;\n }\n : T extends Array<infer E>\n ? AllowedSchema<E> & {\n collection: true;\n }\n : T extends { [key: string]: any }\n ? CompoundField & {\n type: FieldType.Compound;\n }\n : SchemaField & { type: FieldType.Any };\n\ntype AllowedField<T, K> = (\n name: string,\n) => (SchemaField & { type: K }) | AllowedSchema<T>;\n\nexport function buildSchema<T, Custom = \"\">(def: {\n [K in keyof T]-?: AllowedField<T[K], Custom>;\n}): SchemaField[] {\n return Object.entries(def).map((x) =>\n (x[1] as (n: string) => SchemaField)(x[0]),\n );\n}\n\nexport function stringField(\n displayName: string,\n options?: Partial<Omit<SchemaField, \"type\">>,\n) {\n return makeScalarField({\n type: FieldType.String as const,\n displayName,\n ...options,\n });\n}\n\nexport function stringOptionsField(\n displayName: string,\n ...options: FieldOption[]\n) {\n return makeScalarField({\n type: FieldType.String as const,\n displayName,\n options,\n });\n}\n\nexport function withScalarOptions<\n S extends SchemaField,\n S2 extends Partial<SchemaField>,\n>(options: S2, v: (name: string) => S): (name: string) => S & S2 {\n return (n) => ({ ...v(n), ...options });\n}\n\nexport function makeScalarField<S extends Partial<SchemaField>>(\n options: S,\n): (name: string) => SchemaField & S {\n return (n) => ({ ...defaultScalarField(n, n), ...options });\n}\n\nexport function makeCompoundField<S extends Partial<CompoundField>>(\n options: S,\n): (name: string) => CompoundField & {\n type: FieldType.Compound;\n} & S {\n return (n) => ({ ...defaultCompoundField(n, n, false), ...options });\n}\n\nexport function intField<S extends Partial<SchemaField>>(\n displayName: string,\n options?: S,\n) {\n return makeScalarField({\n type: FieldType.Int as const,\n displayName,\n ...(options as S),\n });\n}\n\nexport function doubleField<S extends Partial<SchemaField>>(\n displayName: string,\n options?: S,\n) {\n return makeScalarField({\n type: FieldType.Double as const,\n displayName,\n ...(options as S),\n });\n}\n\nexport function dateField<S extends Partial<SchemaField>>(\n displayName: string,\n options?: S,\n) {\n return makeScalarField({\n type: FieldType.Date as const,\n displayName,\n ...(options as S),\n });\n}\n\nexport function timeField<S extends Partial<SchemaField>>(\n displayName: string,\n options?: S,\n) {\n return makeScalarField({\n type: FieldType.Time as const,\n displayName,\n ...(options as S),\n });\n}\n\nexport function dateTimeField<S extends Partial<SchemaField>>(\n displayName: string,\n options?: S,\n) {\n return makeScalarField({\n type: FieldType.DateTime as const,\n displayName,\n ...(options as S),\n });\n}\n\nexport function boolField<S extends Partial<SchemaField>>(\n displayName: string,\n options?: S,\n) {\n return makeScalarField({\n type: FieldType.Bool as const,\n displayName,\n ...(options as S),\n });\n}\n\nexport function compoundField<\n Other extends Partial<Omit<CompoundField, \"type\" | \"schemaType\">>,\n>(\n displayName: string,\n fields: SchemaField[],\n other?: Other,\n): (name: string) => CompoundField & {\n collection: Other[\"collection\"];\n} {\n return (field) =>\n ({\n ...defaultCompoundField(field, displayName, false),\n ...other,\n children: fields,\n }) as any;\n}\n\nexport function defaultScalarField(\n field: string,\n displayName: string,\n): Omit<SchemaField, \"type\"> & {\n type: FieldType.String;\n} {\n return {\n field,\n displayName,\n type: FieldType.String,\n };\n}\n\nexport function defaultCompoundField(\n field: string,\n displayName: string,\n collection: boolean,\n): CompoundField & {\n type: FieldType.Compound;\n} {\n return {\n field,\n displayName,\n type: FieldType.Compound,\n collection,\n children: [],\n };\n}\n\nexport function mergeField(\n field: SchemaField,\n mergeInto: SchemaField[],\n): SchemaField[] {\n const existing = mergeInto.find((x) => x.field === field.field);\n if (existing) {\n return mergeInto.map((x) =>\n x !== existing\n ? x\n : {\n ...x,\n onlyForTypes: mergeTypes(x.onlyForTypes, field.onlyForTypes),\n },\n );\n }\n return [...mergeInto, field];\n\n function mergeTypes(f?: string[] | null, s?: string[] | null) {\n if (!f) return s;\n if (!s) return f;\n const extras = s.filter((x) => !f.includes(x));\n return extras.length ? [...f, ...extras] : f;\n }\n}\n\nexport function mergeFields(\n fields: SchemaField[],\n name: string,\n value: any,\n newFields: SchemaField[],\n): SchemaField[] {\n const withType = fields.map((x) =>\n x.isTypeField ? addFieldOption(x, name, value) : x,\n );\n return newFields\n .map((x) => ({ ...x, onlyForTypes: [value] }))\n .reduce((af, x) => mergeField(x, af), withType);\n}\n\nexport function addFieldOption(\n typeField: SchemaField,\n name: string,\n value: any,\n): SchemaField {\n const options = typeField.options ?? [];\n if (options.some((x) => x.value === value)) return typeField;\n return {\n ...typeField,\n options: [...options, { name, value }],\n };\n}\n\nexport function resolveSchemas<A extends SchemaMap>(schemaMap: A): A {\n const out: SchemaMap = {};\n function resolveSchemaType(type: string) {\n if (type in out) {\n return out[type];\n }\n const resolvedFields: SchemaField[] = [];\n out[type] = resolvedFields;\n schemaMap[type].forEach((x) => {\n if (isCompoundField(x) && x.schemaRef) {\n resolvedFields.push({\n ...x,\n children: resolveSchemaType(x.schemaRef),\n } as CompoundField);\n } else {\n resolvedFields.push(x);\n }\n });\n return resolvedFields;\n }\n Object.keys(schemaMap).forEach(resolveSchemaType);\n return out as A;\n}\n","import {\n ControlDefinition,\n ControlDefinitionType,\n DataControlDefinition,\n DataMatchExpression,\n DisplayControlDefinition,\n DisplayDataType,\n DynamicProperty,\n DynamicPropertyType,\n EntityExpression,\n ExpressionType,\n GroupedControlsDefinition,\n GroupRenderType,\n HtmlDisplay,\n JsonataExpression,\n SchemaField,\n SchemaMap,\n TextDisplay,\n} from \"./types\";\nimport { ActionRendererProps } from \"./controlRender\";\nimport { useMemo } from \"react\";\nimport { addMissingControls, isCompoundField } from \"./util\";\nimport { mergeFields, resolveSchemas } from \"./schemaBuilder\";\n\nexport function dataControl(\n field: string,\n title?: string | null,\n options?: Partial<DataControlDefinition>,\n): DataControlDefinition {\n return { type: ControlDefinitionType.Data, field, title, ...options };\n}\n\nexport function textDisplayControl(\n text: string,\n options?: Partial<DisplayControlDefinition>,\n): DisplayControlDefinition {\n return {\n type: ControlDefinitionType.Display,\n displayData: { type: DisplayDataType.Text, text } as TextDisplay,\n ...options,\n };\n}\n\nexport function htmlDisplayControl(\n html: string,\n options?: Partial<DisplayControlDefinition>,\n): DisplayControlDefinition {\n return {\n type: ControlDefinitionType.Display,\n displayData: { type: DisplayDataType.Html, html } as HtmlDisplay,\n ...options,\n };\n}\n\nexport function dynamicDefaultValue(expr: EntityExpression): DynamicProperty {\n return { type: DynamicPropertyType.DefaultValue, expr };\n}\n\nexport function dynamicReadonly(expr: EntityExpression): DynamicProperty {\n return { type: DynamicPropertyType.Readonly, expr };\n}\n\nexport function dynamicVisibility(expr: EntityExpression): DynamicProperty {\n return { type: DynamicPropertyType.Visible, expr };\n}\n\nexport function dynamicDisabled(expr: EntityExpression): DynamicProperty {\n return { type: DynamicPropertyType.Disabled, expr };\n}\n\nexport function fieldEqExpr(field: string, value: any): DataMatchExpression {\n return { type: ExpressionType.DataMatch, field, value };\n}\nexport function jsonataExpr(expression: string): JsonataExpression {\n return { type: ExpressionType.Jsonata, expression };\n}\n\nexport function groupedControl(\n children: ControlDefinition[],\n title?: string,\n options?: Partial<GroupedControlsDefinition>,\n): GroupedControlsDefinition {\n return {\n type: ControlDefinitionType.Group,\n children,\n title,\n groupOptions: { type: \"Standard\", hideTitle: !title },\n ...options,\n };\n}\nexport function compoundControl(\n field: string,\n title: string | undefined,\n children: ControlDefinition[],\n options?: Partial<DataControlDefinition>,\n): DataControlDefinition {\n return {\n type: ControlDefinitionType.Data,\n field,\n children,\n title,\n renderOptions: { type: \"Standard\" },\n ...options,\n };\n}\n\nexport function createAction(\n actionId: string,\n onClick: () => void,\n actionText?: string,\n): ActionRendererProps {\n return { actionId, onClick, actionText: actionText ?? actionId };\n}\n\nexport const emptyGroupDefinition: GroupedControlsDefinition = {\n type: ControlDefinitionType.Group,\n children: [],\n groupOptions: { type: GroupRenderType.Standard, hideTitle: true },\n};\n\nexport function useControlDefinitionForSchema(\n sf: SchemaField[],\n definition: GroupedControlsDefinition = emptyGroupDefinition,\n): GroupedControlsDefinition {\n return useMemo<GroupedControlsDefinition>(\n () => ({\n ...definition,\n children: addMissingControls(sf, definition.children ?? []),\n }),\n [sf, definition],\n );\n}\n\nexport interface EditorGroup {\n parent: string;\n group: GroupedControlsDefinition;\n}\n\nexport interface CustomRenderOptions {\n value: string;\n name: string;\n fields?: SchemaField[];\n groups?: EditorGroup[];\n}\n\nexport type ControlDefinitionExtension = {\n RenderOptions?: CustomRenderOptions | CustomRenderOptions[];\n GroupRenderOptions?: CustomRenderOptions | CustomRenderOptions[];\n ControlAdornment?: CustomRenderOptions | CustomRenderOptions[];\n SchemaValidator?: CustomRenderOptions | CustomRenderOptions[];\n DisplayData?: CustomRenderOptions | CustomRenderOptions[];\n};\n\nexport function applyExtensionToSchema<A extends SchemaMap>(\n schemaMap: A,\n extension: ControlDefinitionExtension,\n): A {\n const outMap = { ...schemaMap };\n Object.entries(extension).forEach(([field, cro]) => {\n outMap[field as keyof A] = (Array.isArray(cro) ? cro : [cro]).reduce(\n (a, cr) => mergeFields(a, cr.name, cr.value, cr.fields ?? []),\n outMap[field],\n ) as A[string];\n });\n return outMap;\n}\n\nexport function applyExtensionsToSchema<A extends SchemaMap>(\n schemaMap: A,\n extensions: ControlDefinitionExtension[],\n) {\n return resolveSchemas(extensions.reduce(applyExtensionToSchema, schemaMap));\n}\n","import {\n ControlDefinition,\n DataExpression,\n DataMatchExpression,\n DynamicPropertyType,\n EntityExpression,\n ExpressionType,\n isDataControlDefinition,\n JsonataExpression,\n NotEmptyExpression,\n SchemaField,\n SchemaInterface,\n} from \"./types\";\nimport React, { useEffect, useMemo, useRef } from \"react\";\nimport {\n addAfterChangesCallback,\n collectChanges,\n Control,\n makeChangeTracker,\n trackedValue,\n useCalculatedControl,\n useComputed,\n useControl,\n useRefState,\n} from \"@react-typed-forms/core\";\n\nimport {\n ControlDataContext,\n DataContext,\n defaultValueForField,\n DynamicHookGenerator,\n elementValueForField,\n findFieldPath,\n getDisplayOnlyOptions,\n getTypeField,\n HookDep,\n isControlDisabled,\n isControlReadonly,\n jsonPathString,\n lookupChildControl,\n lookupChildControlPath,\n toDepString,\n} from \"./util\";\nimport jsonata from \"jsonata\";\nimport { v4 as uuidv4 } from \"uuid\";\n\nexport type EvalExpressionHook<A = any> = DynamicHookGenerator<\n Control<A | undefined>,\n ControlDataContext\n>;\n\nexport type UseEvalExpressionHook = (\n expr: EntityExpression | undefined,\n coerce: (v: any) => any,\n) => DynamicHookGenerator<Control<any> | undefined, ControlDataContext>;\n\nexport function useEvalVisibilityHook(\n useEvalExpressionHook: UseEvalExpressionHook,\n definition: ControlDefinition,\n fieldPath?: SchemaField[],\n): EvalExpressionHook<boolean> {\n const dynamicVisibility = useEvalDynamicBoolHook(\n definition,\n DynamicPropertyType.Visible,\n useEvalExpressionHook,\n );\n return makeDynamicPropertyHook(\n dynamicVisibility,\n (ctx, { fieldPath, definition }) =>\n useComputed(() => {\n return (\n matchesType(ctx, fieldPath) &&\n (!fieldPath ||\n !hideDisplayOnly(ctx, fieldPath, definition, ctx.schemaInterface))\n );\n }),\n { fieldPath, definition },\n );\n}\n\nexport function useEvalReadonlyHook(\n useEvalExpressionHook: UseEvalExpressionHook,\n definition: ControlDefinition,\n): EvalExpressionHook<boolean> {\n const dynamicReadonly = useEvalDynamicBoolHook(\n definition,\n DynamicPropertyType.Readonly,\n useEvalExpressionHook,\n );\n return makeDynamicPropertyHook(\n dynamicReadonly,\n (ctx, { definition }) =>\n useCalculatedControl(() => isControlReadonly(definition)),\n { definition },\n );\n}\n\nexport function useEvalStyleHook(\n useEvalExpressionHook: UseEvalExpressionHook,\n property: DynamicPropertyType,\n definition: ControlDefinition,\n): EvalExpressionHook<React.CSSProperties> {\n const dynamicStyle = useEvalDynamicHook(\n definition,\n property,\n useEvalExpressionHook,\n );\n return makeDynamicPropertyHook(\n dynamicStyle,\n () => useControl(undefined),\n undefined,\n );\n}\n\nexport function useEvalAllowedOptionsHook(\n useEvalExpressionHook: UseEvalExpressionHook,\n definition: ControlDefinition,\n): EvalExpressionHook<any[]> {\n const dynamicAllowed = useEvalDynamicHook(\n definition,\n DynamicPropertyType.AllowedOptions,\n useEvalExpressionHook,\n );\n return makeDynamicPropertyHook(\n dynamicAllowed,\n () => useControl([]),\n undefined,\n );\n}\n\nexport function useEvalDisabledHook(\n useEvalExpressionHook: UseEvalExpressionHook,\n definition: ControlDefinition,\n fieldPath?: SchemaField[],\n elementIndex?: number,\n): EvalExpressionHook<boolean> {\n const dynamicDisabled = useEvalDynamicBoolHook(\n definition,\n DynamicPropertyType.Disabled,\n useEvalExpressionHook,\n );\n return makeDynamicPropertyHook(\n dynamicDisabled,\n (ctx, { fieldPath }) =>\n useComputed(() => {\n const dataControl =\n fieldPath && lookupChildControl(ctx, fieldPath, elementIndex);\n const setToNull = dataControl?.meta[\"nullControl\"]?.value === false;\n return setToNull || isControlDisabled(definition);\n }),\n { fieldPath, elementIndex },\n );\n}\n\nexport function useEvalDisplayHook(\n useEvalExpressionHook: UseEvalExpressionHook,\n definition: ControlDefinition,\n): DynamicHookGenerator<\n Control<string | undefined> | undefined,\n ControlDataContext\n> {\n return useEvalDynamicHook(\n definition,\n DynamicPropertyType.Display,\n useEvalExpressionHook,\n );\n}\nexport function useEvalDefaultValueHook(\n useEvalExpressionHook: UseEvalExpressionHook,\n definition: ControlDefinition,\n schemaField: SchemaField | undefined,\n element: boolean,\n): EvalExpressionHook {\n const dynamicValue = useEvalDynamicHook(\n definition,\n DynamicPropertyType.DefaultValue,\n useEvalExpressionHook,\n );\n return makeDynamicPropertyHook(\n dynamicValue,\n (ctx, { definition, schemaField }) => {\n return useComputed(calcDefault);\n function calcDefault() {\n const [required, dcv] = isDataControlDefinition(definition)\n ? [definition.required, definition.defaultValue]\n : [false, undefined];\n return (\n dcv ??\n (schemaField\n ? element\n ? elementValueForField(schemaField)\n : defaultValueForField(schemaField, required, true)\n : undefined)\n );\n }\n },\n { definition, schemaField },\n );\n}\n\nfunction useDataExpression(\n fvExpr: DataExpression,\n fields: SchemaField[],\n data: DataContext,\n coerce: (v: any) => any = (x) => x,\n) {\n const refField = findFieldPath(fields, fvExpr.field);\n const otherField = refField ? lookupChildControl(data, refField) : undefined;\n return useCalculatedControl(() => coerce(otherField?.value));\n}\n\nfunction useDataMatchExpression(\n fvExpr: DataMatchExpression,\n fields: SchemaField[],\n data: DataContext,\n coerce: (v: any) => any = (x) => x,\n) {\n const refField = findFieldPath(fields, fvExpr.field);\n const otherField = refField ? lookupChildControl(data, refField) : undefined;\n return useCalculatedControl(() => {\n const fv = otherField?.value;\n return coerce(\n Array.isArray(fv) ? fv.includes(fvExpr.value) : fv === fvExpr.value,\n );\n });\n}\n\nfunction useNotEmptyExpression(\n fvExpr: NotEmptyExpression,\n fields: SchemaField[],\n schemaInterface: SchemaInterface,\n data: DataContext,\n coerce: (v: any) => any = (x) => x,\n) {\n const refField = findFieldPath(fields, fvExpr.field);\n const otherField = refField ? lookupChildControl(data, refField) : undefined;\n return useCalculatedControl(() => {\n const fv = otherField?.value;\n const field = refField?.at(-1);\n return coerce(field && !schemaInterface.isEmptyValue(field, fv));\n });\n}\n\nexport function defaultEvalHooks(\n expr: EntityExpression,\n context: ControlDataContext,\n coerce: (v: any) => any,\n) {\n switch (expr.type) {\n case ExpressionType.Jsonata:\n return useJsonataExpression(\n (expr as JsonataExpression).expression,\n context,\n undefined,\n coerce,\n );\n case ExpressionType.UUID:\n return useUuidExpression(coerce);\n case ExpressionType.Data:\n return useDataExpression(\n expr as DataExpression,\n context.fields,\n context,\n coerce,\n );\n case ExpressionType.DataMatch:\n return useDataMatchExpression(\n expr as DataMatchExpression,\n context.fields,\n context,\n coerce,\n );\n case ExpressionType.NotEmpty:\n return useNotEmptyExpression(\n expr as NotEmptyExpression,\n context.fields,\n context.schemaInterface,\n context,\n coerce,\n );\n default:\n return useControl(undefined);\n }\n}\n\nexport const defaultUseEvalExpressionHook =\n makeEvalExpressionHook(defaultEvalHooks);\n\nexport function makeEvalExpressionHook(\n f: (\n expr: EntityExpression,\n context: ControlDataContext,\n coerce: (v: any) => any,\n ) => Control<any>,\n): UseEvalExpressionHook {\n return (expr, coerce) => ({\n deps: expr != null ? expr.type : \"!\",\n state: expr,\n runHook: (ctx: ControlDataContext, state: EntityExpression | undefined) => {\n return state ? f(state, ctx, coerce) : undefined;\n },\n });\n}\n\nexport function useEvalDynamicBoolHook(\n definition: ControlDefinition,\n type: DynamicPropertyType,\n useEvalExpressionHook: UseEvalExpressionHook,\n): DynamicHookGenerator<Control<any> | undefined, ControlDataContext> {\n return useEvalDynamicHook(definition, type, useEvalExpressionHook, (x) =>\n Boolean(x),\n );\n}\n\nexport function useEvalDynamicHook(\n definition: ControlDefinition,\n type: DynamicPropertyType,\n useEvalExpressionHook: UseEvalExpressionHook,\n coerce: (v: any) => any = (x) => x,\n): DynamicHookGenerator<Control<any> | undefined, ControlDataContext> {\n const expression = definition.dynamic?.find((x) => x.type === type);\n return useEvalExpressionHook(expression?.expr, coerce);\n}\n\nexport function matchesType(\n context: ControlDataContext,\n fieldPath?: SchemaField[],\n) {\n const types = fieldPath\n ? fieldPath[fieldPath.length - 1].onlyForTypes\n : undefined;\n if (types == null || types.length === 0) return true;\n const typeField = getTypeField(context, fieldPath!);\n return typeField && types.includes(typeField.value);\n}\n\nexport function hideDisplayOnly(\n context: ControlDataContext,\n fieldPath: SchemaField[],\n definition: ControlDefinition,\n schemaInterface: SchemaInterface,\n) {\n const displayOptions = getDisplayOnlyOptions(definition);\n return (\n displayOptions &&\n !displayOptions.emptyText &&\n schemaInterface.isEmptyValue(\n fieldPath.at(-1)!,\n lookupChildControl(context, fieldPath)?.value,\n )\n );\n}\n\nexport function useUuidExpression(coerce: (v: any) => any = (x) => x) {\n return useControl(() => coerce(uuidv4()));\n}\n\nexport function useJsonataExpression(\n jExpr: string,\n dataContext: DataContext,\n bindings?: () => Record<string, any>,\n coerce: (v: any) => any = (x) => x,\n): Control<any> {\n const pathString = jsonPathString(dataContext.path, (x) => `#$i[${x}]`);\n const fullExpr = pathString ? pathString + \".(\" + jExpr + \")\" : jExpr;\n const compiledExpr = useMemo(() => {\n try {\n return jsonata(fullExpr);\n } catch (e) {\n console.error(e);\n return jsonata(\"null\");\n }\n }, [fullExpr]);\n const control = useControl();\n const listenerRef = useRef<() => void>();\n const updateRef = useRef(0);\n const [ref] = useRefState(() =>\n makeChangeTracker(() => {\n const l = listenerRef.current;\n if (l) {\n listenerRef.current = undefined;\n addAfterChangesCallback(() => {\n listenerRef.current = l;\n l();\n });\n }\n }),\n );\n useEffect(() => {\n listenerRef.current = apply;\n apply();\n async function apply() {\n const [collect, updateSubscriptions] = ref.current;\n try {\n updateRef.current++;\n const bindingData = bindings\n ? collectChanges(collect, bindings)\n : undefined;\n control.value = coerce(\n await compiledExpr.evaluate(\n trackedValue(dataContext.data, collect),\n bindingData,\n ),\n );\n } finally {\n if (!--updateRef.current) updateSubscriptions();\n }\n }\n return () => ref.current[1](true);\n }, [compiledExpr]);\n return control;\n}\n\nexport function useEvalActionHook(\n useExpr: UseEvalExpressionHook,\n definition: ControlDefinition,\n): EvalExpressionHook<string | null> {\n const dynamicValue = useEvalDynamicHook(\n definition,\n DynamicPropertyType.ActionData,\n useExpr,\n );\n return makeDynamicPropertyHook(\n dynamicValue,\n () => useControl(null),\n undefined,\n );\n}\n\nexport function useEvalLabelText(\n useExpr: UseEvalExpressionHook,\n definition: ControlDefinition,\n): EvalExpressionHook<string | null> {\n const dynamicValue = useEvalDynamicHook(\n definition,\n DynamicPropertyType.Label,\n useExpr,\n );\n return makeDynamicPropertyHook(\n dynamicValue,\n () => useControl(null),\n undefined,\n );\n}\n\nfunction makeDynamicPropertyHook<A, S = undefined>(\n dynamicValue: DynamicHookGenerator<\n Control<any> | undefined,\n ControlDataContext\n >,\n makeDefault: (ctx: ControlDataContext, s: S) => Control<A | undefined>,\n state: S,\n deps?: HookDep,\n): EvalExpressionHook<A> {\n return {\n deps:\n deps === undefined\n ? dynamicValue.deps\n : [deps, dynamicValue.deps].map(toDepString).join(),\n runHook: (ctx, s) => {\n return dynamicValue.runHook(ctx, s[0]) ?? makeDefault(ctx, s[1]);\n },\n state: [dynamicValue.state, state],\n };\n}\n","import {\n ControlDefinition,\n DataControlDefinition,\n DateComparison,\n DateValidator,\n isDataControlDefinition,\n JsonataValidator,\n LengthValidator,\n SchemaField,\n SchemaValidator,\n ValidationMessageType,\n ValidatorType,\n} from \"./types\";\nimport {\n Control,\n useValidator,\n useValueChangeEffect,\n} from \"@react-typed-forms/core\";\nimport { useCallback } from \"react\";\nimport { ControlDataContext, makeHookDepString, useUpdatedRef } from \"./util\";\nimport { useJsonataExpression } from \"./hooks\";\n\ninterface ValidationHookContext {\n hiddenControl: Control<boolean | null | undefined>;\n dataContext: ControlDataContext;\n control: Control<any>;\n}\n\nexport interface ValidationContext extends ValidationHookContext {\n definition: DataControlDefinition;\n field: SchemaField;\n index: number;\n}\n\nexport function useMakeValidationHook(\n definition: ControlDefinition,\n field: SchemaField | undefined,\n useValidatorFor: (\n validator: SchemaValidator,\n ctx: ValidationContext,\n ) => void = useDefaultValidator,\n): (ctx: ValidationHookContext) => void {\n const dd =\n field && isDataControlDefinition(definition) ? definition : undefined;\n const refData = useUpdatedRef({ dd, field, useValidatorFor });\n const depString = makeHookDepString(dd?.validators ?? [], (x) => x.type);\n return useCallback(\n (ctx) => {\n const { dd, field } = refData.current;\n if (!dd || !field) return;\n const {\n control,\n hiddenControl,\n dataContext: { schemaInterface },\n } = ctx;\n\n useValueChangeEffect(control, () => control.setError(\"default\", \"\"));\n useValidator(\n control,\n (v) =>\n !hiddenControl.value &&\n dd.required &&\n schemaInterface.isEmptyValue(field, v)\n ? schemaInterface.validationMessageText(\n field,\n ValidationMessageType.NotEmpty,\n false,\n true,\n )\n : null,\n \"required\",\n undefined,\n [dd.required],\n );\n dd.validators?.forEach((v, i) =>\n useValidatorFor(v, { ...ctx, index: i, field, definition: dd }),\n );\n },\n [!!dd, depString, useValidatorFor],\n );\n}\n\nfunction useDefaultValidator(\n validator: SchemaValidator,\n ctx: ValidationContext,\n) {\n switch (validator.type) {\n case ValidatorType.Length:\n useLengthValidator(validator as LengthValidator, ctx);\n break;\n case ValidatorType.Jsonata:\n useJsonataValidator(validator as JsonataValidator, ctx);\n break;\n case ValidatorType.Date:\n useDateValidator(validator as DateValidator, ctx);\n break;\n }\n}\n\nexport function useJsonataValidator(\n validator: JsonataValidator,\n ctx: ValidationContext,\n) {\n const errorMsg = useJsonataExpression(\n validator.expression,\n ctx.dataContext,\n undefined,\n (v) => (v == null ? null : typeof v === \"string\" ? v : JSON.stringify(v)),\n );\n useValidator(\n ctx.control,\n () => (!ctx.hiddenControl.value ? errorMsg.value : null),\n \"jsonata\" + ctx.index,\n );\n}\n\nexport function useLengthValidator(\n lv: LengthValidator,\n ctx: ValidationContext,\n) {\n const {\n control,\n dataContext: { schemaInterface },\n hiddenControl,\n field,\n } = ctx;\n useValidator(\n control,\n (v) => {\n const len = schemaInterface.controlLength(field, control);\n const hidden = hiddenControl.value;\n if (hidden) {\n return undefined;\n }\n if (lv.min != null && len < lv.min) {\n if (field?.collection) {\n control.setValue((v) =>\n Array.isArray(v)\n ? v.concat(Array.from({ length: lv.min! - v.length }))\n : Array.from({ length: lv.min! }),\n );\n } else {\n return schemaInterface.validationMessageText(\n field,\n ValidationMessageType.MinLength,\n len,\n lv.min,\n );\n }\n } else if (lv.max != null && len > lv.max) {\n return schemaInterface.validationMessageText(\n field,\n ValidationMessageType.MaxLength,\n len,\n lv.max,\n );\n }\n return undefined;\n },\n \"length\" + ctx.index,\n );\n}\n\nexport function useDateValidator(dv: DateValidator, ctx: ValidationContext) {\n const {\n control,\n field,\n index,\n dataContext: { schemaInterface },\n } = ctx;\n let comparisonDate: number;\n if (dv.fixedDate) {\n comparisonDate = schemaInterface.parseToMillis(field, dv.fixedDate);\n } else {\n const nowDate = new Date();\n comparisonDate = Date.UTC(\n nowDate.getFullYear(),\n nowDate.getMonth(),\n nowDate.getDate(),\n );\n if (dv.daysFromCurrent) {\n comparisonDate += dv.daysFromCurrent * 86400000;\n }\n }\n useValidator(\n control,\n (v) => {\n if (v) {\n const selDate = schemaInterface.parseToMillis(field, v);\n const notAfter = dv.comparison === DateComparison.NotAfter;\n if (notAfter ? selDate > comparisonDate : selDate < comparisonDate) {\n return schemaInterface.validationMessageText(\n field,\n notAfter\n ? ValidationMessageType.NotAfterDate\n : ValidationMessageType.NotBeforeDate,\n selDate,\n comparisonDate,\n );\n }\n }\n return null;\n },\n \"date\" + index,\n );\n}\n","export function cc(n: string | null | undefined): string | undefined {\n return n ? n : undefined;\n}\n","import {\n FieldOption,\n FieldType,\n SchemaField,\n SchemaInterface,\n ValidationMessageType,\n} from \"./types\";\nimport { Control } from \"@react-typed-forms/core\";\n\nexport class DefaultSchemaInterface implements SchemaInterface {\n constructor(protected boolStrings: [string, string] = [\"No\", \"Yes\"]) {}\n\n parseToMillis(field: SchemaField, v: string): number {\n return Date.parse(v);\n }\n validationMessageText(\n field: SchemaField,\n messageType: ValidationMessageType,\n actual: any,\n expected: any,\n ): string {\n switch (messageType) {\n case ValidationMessageType.NotEmpty:\n return \"Please enter a value\";\n case ValidationMessageType.MinLength:\n return \"Length must be at least \" + expected;\n case ValidationMessageType.MaxLength:\n return \"Length must be less than \" + expected;\n case ValidationMessageType.NotBeforeDate:\n return `Date must not be before ${new Date(expected).toDateString()}`;\n case ValidationMessageType.NotAfterDate:\n return `Date must not be after ${new Date(expected).toDateString()}`;\n default:\n return \"Unknown error\";\n }\n }\n\n getOptions({ options }: SchemaField): FieldOption[] | null | undefined {\n return options && options.length > 0 ? options : null;\n }\n isEmptyValue(f: SchemaField, value: any): boolean {\n if (f.collection)\n return Array.isArray(value) ? value.length === 0 : value == null;\n switch (f.type) {\n case FieldType.String:\n return !value;\n default:\n return value == null;\n }\n }\n textValue(\n field: SchemaField,\n value: any,\n element?: boolean | undefined,\n ): string | undefined {\n switch (field.type) {\n case FieldType.DateTime:\n return new Date(value).toLocaleDateString();\n case FieldType.Date:\n return new Date(value).toLocaleDateString();\n case FieldType.Bool:\n return this.boolStrings[value ? 1 : 0];\n default:\n return value != null ? value.toString() : undefined;\n }\n }\n controlLength(f: SchemaField, control: Control<any>): number {\n return f.collection\n ? control.elements?.length ?? 0\n : this.valueLength(f, control.value);\n }\n valueLength(field: SchemaField, value: any): number {\n return (value && value?.length) ?? 0;\n }\n}\n\nexport const defaultSchemaInterface: SchemaInterface =\n new DefaultSchemaInterface();\n","import React, {\n CSSProperties,\n FC,\n Fragment,\n Key,\n ReactElement,\n ReactNode,\n useCallback,\n useEffect,\n} from \"react\";\nimport {\n addElement,\n Control,\n newControl,\n removeElement,\n trackedValue,\n useCalculatedControl,\n useComponentTracking,\n useControl,\n useControlEffect,\n} from \"@react-typed-forms/core\";\nimport {\n AdornmentPlacement,\n ControlAdornment,\n ControlDefinition,\n ControlDefinitionType,\n CustomDisplay,\n DataControlDefinition,\n DataRenderType,\n DisplayData,\n DisplayDataType,\n DynamicPropertyType,\n FieldOption,\n GroupRenderOptions,\n isActionControlsDefinition,\n isDataControlDefinition,\n isDisplayControlsDefinition,\n isGroupControlsDefinition,\n LengthValidator,\n RenderOptions,\n SchemaField,\n SchemaInterface,\n SchemaValidator,\n ValidatorType,\n} from \"./types\";\nimport {\n applyLengthRestrictions,\n ControlDataContext,\n elementValueForField,\n fieldDisplayName,\n findFieldPath,\n isCompoundField,\n JsonPath,\n useDynamicHooks,\n useUpdatedRef,\n} from \"./util\";\nimport { dataControl } from \"./controlBuilder\";\nimport {\n defaultUseEvalExpressionHook,\n EvalExpressionHook,\n useEvalActionHook,\n useEvalAllowedOptionsHook,\n useEvalDefaultValueHook,\n useEvalDisabledHook,\n useEvalDisplayHook,\n UseEvalExpressionHook,\n useEvalLabelText,\n useEvalReadonlyHook,\n useEvalStyleHook,\n useEvalVisibilityHook,\n} from \"./hooks\";\nimport { useMakeValidationHook, ValidationContext } from \"./validators\";\nimport { cc } from \"./internal\";\nimport { defaultSchemaInterface } from \"./schemaInterface\";\n\nexport interface FormRenderer {\n renderData: (\n props: DataRendererProps,\n ) => (layout: ControlLayoutProps) => ControlLayoutProps;\n renderGroup: (\n props: GroupRendererProps,\n ) => (layout: ControlLayoutProps) => ControlLayoutProps;\n renderDisplay: (props: DisplayRendererProps) => ReactNode;\n renderAction: (props: ActionRendererProps) => ReactNode;\n renderArray: (props: ArrayRendererProps) => ReactNode;\n renderAdornment: (props: AdornmentProps) => AdornmentRenderer;\n renderLabel: (\n props: LabelRendererProps,\n labelStart: ReactNode,\n labelEnd: ReactNode,\n ) => ReactNode;\n renderLayout: (props: ControlLayoutProps) => RenderedControl;\n renderVisibility: (props: VisibilityRendererProps) => ReactNode;\n renderLabelText: (props: ReactNode) => ReactNode;\n}\n\nexport interface AdornmentProps {\n adornment: ControlAdornment;\n dataContext?: ControlDataContext;\n parentContext: ControlDataContext;\n useExpr?: UseEvalExpressionHook;\n designMode?: boolean;\n}\n\nexport const AppendAdornmentPriority = 0;\nexport const WrapAdornmentPriority = 1000;\n\nexport interface AdornmentRenderer {\n apply(children: RenderedLayout): void;\n adornment?: ControlAdornment;\n priority: number;\n}\n\nexport interface ArrayRendererProps {\n addAction?: ActionRendererProps;\n required: boolean;\n removeAction?: (elemIndex: number) => ActionRendererProps;\n renderElement: (elemIndex: number) => ReactNode;\n arrayControl: Control<any[] | undefined | null>;\n className?: string;\n style?: React.CSSProperties;\n min?: number | null;\n max?: number | null;\n}\nexport interface Visibility {\n visible: boolean;\n showing: boolean;\n}\n\nexport interface RenderedLayout {\n labelStart?: ReactNode;\n labelEnd?: ReactNode;\n controlStart?: ReactNode;\n controlEnd?: ReactNode;\n label?: ReactNode;\n children?: ReactNode;\n errorControl?: Control<any>;\n className?: string;\n style?: React.CSSProperties;\n wrapLayout: (layout: ReactElement) => ReactElement;\n}\n\nexport interface RenderedControl {\n children: ReactNode;\n className?: string;\n style?: React.CSSProperties;\n divRef?: (cb: HTMLElement | null) => void;\n}\n\nexport interface VisibilityRendererProps extends RenderedControl {\n visibility: Control<Visibility | undefined>;\n}\n\nexport interface ControlLayoutProps {\n label?: LabelRendererProps;\n errorControl?: Control<any>;\n adornments?: AdornmentRenderer[];\n children?: ReactNode;\n processLayout?: (props: ControlLayoutProps) => ControlLayoutProps;\n className?: string | null;\n style?: React.CSSProperties;\n}\n\nexport enum LabelType {\n Control,\n Group,\n Text,\n}\nexport interface LabelRendererProps {\n type: LabelType;\n hide?: boolean | null;\n label: ReactNode;\n required?: boolean | null;\n forId?: string;\n className?: string;\n}\nexport interface DisplayRendererProps {\n data: DisplayData;\n display?: Control<string | undefined>;\n dataContext: ControlDataContext;\n className?: string;\n style?: React.CSSProperties;\n}\n\nexport type ChildVisibilityFunc = (\n child: ControlDefinition,\n context?: ControlDataContext,\n) => EvalExpressionHook<boolean>;\nexport interface ParentRendererProps {\n childDefinitions: ControlDefinition[];\n renderChild: ChildRenderer;\n className?: string;\n style?: React.CSSProperties;\n dataContext: ControlDataContext;\n parentContext: ControlDataContext;\n useChildVisibility: ChildVisibilityFunc;\n designMode?: boolean;\n}\n\nexport interface GroupRendererProps extends ParentRendererProps {\n definition: ControlDefinition;\n renderOptions: GroupRenderOptions;\n}\n\nexport interface DataRendererProps extends ParentRendererProps {\n renderOptions: RenderOptions;\n definition: DataControlDefinition;\n field: SchemaField;\n elementIndex?: number;\n id: string;\n control: Control<any>;\n readonly: boolean;\n required: boolean;\n options: FieldOption[] | undefined | null;\n hidden: boolean;\n}\n\nexport interface ActionRendererProps {\n actionId: string;\n actionText: string;\n actionData?: any;\n onClick: () => void;\n className?: string;\n style?: React.CSSProperties;\n}\n\nexport interface ControlRenderProps {\n control: Control<any>;\n parentPath?: JsonPath[];\n}\n\nexport interface FormContextOptions {\n readonly?: boolean | null;\n hidden?: boolean | null;\n disabled?: boolean | null;\n}\n\nexport interface DataControlProps {\n definition: DataControlDefinition;\n field: SchemaField;\n dataContext: ControlDataContext;\n parentContext: ControlDataContext;\n control: Control<any>;\n formOptions: FormContextOptions;\n style?: React.CSSProperties | undefined;\n renderChild: ChildRenderer;\n elementIndex?: number;\n allowedOptions?: Control<any[] | undefined>;\n useChildVisibility: ChildVisibilityFunc;\n schemaInterface?: SchemaInterface;\n designMode?: boolean;\n}\n\nexport type CreateDataProps = (\n controlProps: DataControlProps,\n) => DataRendererProps;\n\nexport interface ControlRenderOptions extends FormContextOptions {\n useDataHook?: (c: ControlDefinition) => CreateDataProps;\n actionOnClick?: (actionId: string, actionData: any) => () => void;\n customDisplay?: (\n customId: string,\n displayProps: DisplayRendererProps,\n ) => ReactNode;\n useValidationHook?: (\n validator: SchemaValidator,\n ctx: ValidationContext,\n ) => void;\n useEvalExpressionHook?: UseEvalExpressionHook;\n clearHidden?: boolean;\n schemaInterface?: SchemaInterface;\n elementIndex?: number;\n}\nexport function useControlRenderer(\n definition: ControlDefinition,\n fields: SchemaField[],\n renderer: FormRenderer,\n options: ControlRenderOptions = {},\n): FC<ControlRenderProps> {\n const dataProps = options.useDataHook?.(definition) ?? defaultDataProps;\n const elementIndex = options.elementIndex;\n const schemaInterface = options.schemaInterface ?? defaultSchemaInterface;\n const useExpr = options.useEvalExpressionHook ?? defaultUseEvalExpressionHook;\n\n const fieldPath = lookupSchemaField(definition, fields);\n const schemaField = fieldPath?.at(-1);\n const useValidation = useMakeValidationHook(\n definition,\n schemaField,\n options.useValidationHook,\n );\n const dynamicHooks = useDynamicHooks({\n defaultValueControl: useEvalDefaultValueHook(\n useExpr,\n definition,\n schemaField,\n elementIndex != null,\n ),\n visibleControl: useEvalVisibilityHook(useExpr, definition, fieldPath),\n readonlyControl: useEvalReadonlyHook(useExpr, definition),\n disabledControl: useEvalDisabledHook(\n useExpr,\n definition,\n fieldPath,\n elementIndex,\n ),\n allowedOptions: useEvalAllowedOptionsHook(useExpr, definition),\n labelText: useEvalLabelText(useExpr, definition),\n actionData: useEvalActionHook(useExpr, definition),\n customStyle: useEvalStyleHook(\n useExpr,\n DynamicPropertyType.Style,\n definition,\n ),\n layoutStyle: useEvalStyleHook(\n useExpr,\n DynamicPropertyType.LayoutStyle,\n definition,\n ),\n displayControl: useEvalDisplayHook(useExpr, definition),\n });\n\n const r = useUpdatedRef({\n options,\n definition,\n fields,\n fieldPath,\n elementIndex,\n });\n\n const Component = useCallback(\n ({ control: rootControl, parentPath = [] }: ControlRenderProps) => {\n const stopTracking = useComponentTracking();\n try {\n const {\n definition: c,\n options,\n fields,\n fieldPath,\n elementIndex,\n } = r.current;\n const schemaField = fieldPath?.at(-1);\n const parentDataContext: ControlDataContext = {\n fields,\n schemaInterface,\n data: rootControl,\n path: parentPath,\n };\n const {\n readonlyControl,\n disabledControl,\n visibleControl,\n displayControl,\n layoutStyle,\n labelText,\n customStyle,\n allowedOptions,\n defaultValueControl,\n actionData,\n } = dynamicHooks(parentDataContext);\n\n const visible = visibleControl.current.value;\n const visibility = useControl<Visibility | undefined>(() =>\n visible != null\n ? {\n visible,\n showing: visible,\n }\n : undefined,\n );\n useControlEffect(\n () => visibleControl.value,\n (visible) => {\n if (visible != null)\n visibility.setValue((ex) => ({\n visible,\n showing: ex ? ex.showing : visible,\n }));\n },\n );\n\n const [parentControl, control, controlDataContext] = getControlData(\n fieldPath,\n parentDataContext,\n elementIndex,\n );\n useControlEffect(\n () => [\n visibility.value,\n defaultValueControl.value,\n control?.isNull,\n isDataControlDefinition(definition) && definition.dontClearHidden,\n isDataControlDefinition(definition) &&\n definition.renderOptions?.type == DataRenderType.NullToggle,\n parentControl.isNull,\n options.hidden,\n readonlyControl.value,\n ],\n ([vc, dv, _, dontClear, dontDefault, parentNull, hidden, ro]) => {\n if (!ro) {\n if (control) {\n if (vc && vc.visible === vc.showing) {\n if (hidden || !vc.visible) {\n control.setValue((x) =>\n options.clearHidden && !dontClear\n ? undefined\n : x == null && dontClear && !dontDefault\n ? dv\n : x,\n );\n } else if (!dontDefault)\n control.setValue((x) => (x != null ? x : dv));\n }\n } else if (parentNull) {\n parentControl.setValue((x) => x ?? {});\n }\n }\n },\n true,\n );\n const myOptionsControl = useCalculatedControl<FormContextOptions>(\n () => ({\n hidden: options.hidden || !visibility.fields?.showing.value,\n readonly: options.readonly || readonlyControl.value,\n disabled: options.disabled || disabledControl.value,\n }),\n );\n const myOptions = trackedValue(myOptionsControl);\n useValidation({\n control: control ?? newControl(null),\n hiddenControl: myOptionsControl.fields.hidden,\n dataContext: parentDataContext,\n });\n const childOptions: ControlRenderOptions = {\n ...options,\n ...myOptions,\n elementIndex: undefined,\n };\n\n useEffect(() => {\n if (\n control &&\n typeof myOptions.disabled === \"boolean\" &&\n control.disabled != myOptions.disabled\n )\n control.disabled = myOptions.disabled;\n }, [control, myOptions.disabled]);\n if (parentControl.isNull) return <></>;\n\n const adornments =\n definition.adornments?.map((x) =>\n renderer.renderAdornment({\n adornment: x,\n dataContext: controlDataContext,\n parentContext: parentDataContext,\n useExpr,\n }),\n ) ?? [];\n const labelAndChildren = renderControlLayout({\n definition: c,\n renderer,\n renderChild: (k, child, options) => {\n if (control && control.isNull) return <Fragment key={k} />;\n const dataContext = options?.dataContext ?? controlDataContext;\n return (\n <ControlRenderer\n key={k}\n control={dataContext.data}\n fields={dataContext.fields}\n definition={child}\n parentPath={dataContext.path}\n renderer={renderer}\n options={\n options\n ? { ...childOptions, elementIndex: options?.elementIndex }\n : childOptions\n }\n />\n );\n },\n createDataProps: dataProps,\n formOptions: myOptions,\n dataContext: controlDataContext,\n parentContext: parentDataContext,\n control: displayControl ?? control,\n elementIndex,\n schemaInterface,\n labelText,\n field: schemaField,\n displayControl,\n style: customStyle.value,\n allowedOptions,\n customDisplay: options.customDisplay,\n actionDataControl: actionData,\n actionOnClick: options.actionOnClick,\n useChildVisibility: (childDef, context) => {\n const schemaField = lookupSchemaField(\n childDef,\n (context ?? controlDataContext).fields,\n );\n return useEvalVisibilityHook(useExpr, childDef, schemaField);\n },\n });\n const renderedControl = renderer.renderLayout({\n ...labelAndChildren,\n adornments,\n className: c.layoutClass,\n style: layoutStyle.value,\n });\n return renderer.renderVisibility({ visibility, ...renderedControl });\n } finally {\n stopTracking();\n }\n },\n [r, dataProps, useValidation, renderer, schemaInterface, dynamicHooks],\n );\n (Component as any).displayName = \"RenderControl\";\n return Component;\n}\nexport function lookupSchemaField(\n c: ControlDefinition,\n fields: SchemaField[],\n): SchemaField[] | undefined {\n const fieldName = isGroupControlsDefinition(c)\n ? c.compoundField\n : isDataControlDefinition(c)\n ? c.field\n : undefined;\n return fieldName ? findFieldPath(fields, fieldName) : undefined;\n}\nexport function getControlData(\n fieldPath: SchemaField[] | undefined,\n parentContext: ControlDataContext,\n elementIndex: number | undefined,\n): [Control<any>, Control<any> | undefined, ControlDataContext] {\n const { data, path: pp } = parentContext;\n const extraPath = fieldPath?.slice(0, -1).map((x) => x.field) ?? [];\n const path = [...pp, ...extraPath];\n const schemaField = fieldPath?.at(-1);\n const [parentControl, found] = lookupControl(data, path);\n const childPath = schemaField\n ? elementIndex != null\n ? [...path, schemaField.field, elementIndex]\n : [...path, schemaField.field]\n : path;\n const childControl =\n schemaField && found\n ? parentControl.fields?.[schemaField.field]\n : undefined;\n return [\n parentControl,\n childControl && elementIndex != null\n ? childControl.elements?.[elementIndex]\n : childControl,\n schemaField\n ? {\n ...parentContext,\n path: childPath,\n fields: isCompoundField(schemaField)\n ? schemaField.children\n : parentContext.fields,\n }\n : parentContext,\n ];\n}\n\nfunction lookupControl(\n control: Control<any>,\n path: (string | number)[],\n): [Control<any>, boolean] {\n let base = control;\n let index = 0;\n while (index < path.length && base) {\n control = base;\n const childId = path[index];\n const c = base.current;\n if (typeof childId === \"string\") {\n base = c.fields?.[childId];\n } else {\n base = c.elements?.[childId];\n }\n index++;\n }\n return [base ?? control, !!base];\n}\n\nexport function ControlRenderer({\n definition,\n fields,\n renderer,\n options,\n control,\n parentPath,\n}: {\n definition: ControlDefinition;\n fields: SchemaField[];\n renderer: FormRenderer;\n options?: ControlRenderOptions;\n control: Control<any>;\n parentPath?: JsonPath[];\n}) {\n const Render = useControlRenderer(definition, fields, renderer, options);\n return <Render control={control} parentPath={parentPath} />;\n}\n\nexport function defaultDataProps({\n definition,\n field,\n control,\n formOptions,\n style,\n allowedOptions,\n schemaInterface = defaultSchemaInterface,\n ...props\n}: DataControlProps): DataRendererProps {\n const className = cc(definition.styleClass);\n const required = !!definition.required;\n const fieldOptions = schemaInterface.getOptions(field);\n const _allowed = allowedOptions?.value ?? [];\n const allowed = Array.isArray(_allowed) ? _allowed : [_allowed];\n return {\n definition,\n childDefinitions: definition.children ?? [],\n control,\n field,\n id: \"c\" + control.uniqueId,\n options:\n allowed.length > 0\n ? allowed.map((x) =>\n typeof x === \"object\"\n ? x\n : (fieldOptions?.find((y) => y.value == x) ?? {\n name: x.toString(),\n value: x,\n }),\n )\n : fieldOptions,\n readonly: !!formOptions.readonly,\n renderOptions: definition.renderOptions ?? { type: \"Standard\" },\n required,\n hidden: !!formOptions.hidden,\n className,\n style,\n ...props,\n };\n}\n\nexport interface ChildRendererOptions {\n elementIndex?: number;\n dataContext?: ControlDataContext;\n}\n\nexport type ChildRenderer = (\n k: Key,\n child: ControlDefinition,\n options?: ChildRendererOptions,\n) => ReactNode;\n\nexport interface RenderControlProps {\n definition: ControlDefinition;\n renderer: FormRenderer;\n renderChild: ChildRenderer;\n createDataProps: CreateDataProps;\n formOptions: FormContextOptions;\n dataContext: ControlDataContext;\n parentContext: ControlDataContext;\n control?: Control<any>;\n labelText?: Control<string | null | undefined>;\n field?: SchemaField;\n elementIndex?: number;\n displayControl?: Control<string | undefined>;\n style?: React.CSSProperties;\n allowedOptions?: Control<any[] | undefined>;\n actionDataControl?: Control<any | undefined | null>;\n useChildVisibility: ChildVisibilityFunc;\n actionOnClick?: (actionId: string, actionData: any) => () => void;\n schemaInterface?: SchemaInterface;\n designMode?: boolean;\n customDisplay?: (\n customId: string,\n displayProps: DisplayRendererProps,\n ) => ReactNode;\n}\nexport function renderControlLayout(\n props: RenderControlProps,\n): ControlLayoutProps {\n const {\n definition: c,\n renderer,\n renderChild,\n control,\n field,\n dataContext,\n createDataProps: dataProps,\n displayControl,\n style,\n labelText,\n parentContext,\n useChildVisibility,\n designMode,\n customDisplay,\n } = props;\n\n if (isDataControlDefinition(c)) {\n return renderData(c);\n }\n if (isGroupControlsDefinition(c)) {\n if (c.compoundField) {\n return renderData(\n dataControl(c.compoundField, c.title, {\n children: c.children,\n hideTitle: c.groupOptions?.hideTitle,\n }),\n );\n }\n return {\n processLayout: renderer.renderGroup({\n childDefinitions: c.children ?? [],\n definition: c,\n parentContext,\n renderChild,\n dataContext,\n renderOptions: c.groupOptions ?? { type: \"Standard\" },\n className: cc(c.styleClass),\n useChildVisibility,\n style,\n designMode,\n }),\n label: {\n label: labelText?.value ?? c.title,\n className: cc(c.labelClass),\n type: LabelType.Group,\n hide: c.groupOptions?.hideTitle,\n },\n };\n }\n if (isActionControlsDefinition(c)) {\n const actionData = props.actionDataControl?.value ?? c.actionData;\n return {\n children: renderer.renderAction({\n actionText: labelText?.value ?? c.title ?? c.actionId,\n actionId: c.actionId,\n actionData,\n onClick: props.actionOnClick?.(c.actionId, actionData) ?? (() => {}),\n className: cc(c.styleClass),\n style,\n }),\n };\n }\n if (isDisplayControlsDefinition(c)) {\n const data = c.displayData ?? {};\n const displayProps = {\n data,\n className: cc(c.styleClass),\n style,\n display: displayControl,\n dataContext,\n };\n if (data.type === DisplayDataType.Custom && customDisplay) {\n return {\n children: customDisplay((data as CustomDisplay).customId, displayProps),\n };\n }\n return {\n children: renderer.renderDisplay(displayProps),\n };\n }\n return {};\n\n function renderData(c: DataControlDefinition) {\n if (!field) return { children: \"No schema field for: \" + c.field };\n if (!control) return { children: \"No control for: \" + c.field };\n const rendererProps = dataProps(\n props as RenderControlProps & {\n definition: DataControlDefinition;\n field: SchemaField;\n control: Control<any>;\n },\n );\n\n const label = !c.hideTitle\n ? controlTitle(labelText?.value ?? c.title, field)\n : undefined;\n return {\n processLayout: renderer.renderData(rendererProps),\n label: {\n type:\n (c.children?.length ?? 0) > 0 ? LabelType.Group : LabelType.Control,\n label,\n forId: rendererProps.id,\n required: c.required,\n hide: c.hideTitle,\n className: cc(c.labelClass),\n },\n errorControl: control,\n };\n }\n}\n\ntype MarkupKeys = keyof Omit<\n RenderedLayout,\n \"errorControl\" | \"style\" | \"className\" | \"wrapLayout\"\n>;\nexport function appendMarkup(\n k: MarkupKeys,\n markup: ReactNode,\n): (layout: RenderedLayout) => void {\n return (layout) =>\n (layout[k] = (\n <>\n {layout[k]}\n {markup}\n </>\n ));\n}\n\nexport function wrapMarkup(\n k: MarkupKeys,\n wrap: (ex: ReactNode) => ReactNode,\n): (layout: RenderedLayout) => void {\n return (layout) => (layout[k] = wrap(layout[k]));\n}\n\nexport function layoutKeyForPlacement(pos: AdornmentPlacement): MarkupKeys {\n switch (pos) {\n case AdornmentPlacement.ControlEnd:\n return \"controlEnd\";\n case AdornmentPlacement.ControlStart:\n return \"controlStart\";\n case AdornmentPlacement.LabelStart:\n return \"labelStart\";\n case AdornmentPlacement.LabelEnd:\n return \"labelEnd\";\n }\n}\n\nexport function wrapLayout(\n wrap: (layout: ReactElement) => ReactElement,\n): (renderedLayout: RenderedLayout) => void {\n return (rl) => {\n const orig = rl.wrapLayout;\n rl.wrapLayout = (x) => wrap(orig(x));\n };\n}\n\nexport function appendMarkupAt(\n pos: AdornmentPlacement,\n markup: ReactNode,\n): (layout: RenderedLayout) => void {\n return appendMarkup(layoutKeyForPlacement(pos), markup);\n}\n\nexport function wrapMarkupAt(\n pos: AdornmentPlacement,\n wrap: (ex: ReactNode) => ReactNode,\n): (layout: RenderedLayout) => void {\n return wrapMarkup(layoutKeyForPlacement(pos), wrap);\n}\n\nexport function renderLayoutParts(\n props: ControlLayoutProps,\n renderer: FormRenderer,\n): RenderedLayout {\n const { className, children, style, errorControl, label, adornments } =\n props.processLayout?.(props) ?? props;\n const layout: RenderedLayout = {\n children,\n errorControl,\n style,\n className: cc(className),\n wrapLayout: (x) => x,\n };\n (adornments ?? [])\n .sort((a, b) => a.priority - b.priority)\n .forEach((x) => x.apply(layout));\n layout.label =\n label && !label.hide\n ? renderer.renderLabel(label, layout.labelStart, layout.labelEnd)\n : undefined;\n return layout;\n}\n\nexport function controlTitle(\n title: string | undefined | null,\n field: SchemaField,\n) {\n return title ? title : fieldDisplayName(field);\n}\n\nexport function applyArrayLengthRestrictions(\n {\n arrayControl,\n min,\n max,\n addAction: aa,\n removeAction: ra,\n required,\n }: Pick<\n ArrayRendererProps,\n \"addAction\" | \"removeAction\" | \"arrayControl\" | \"min\" | \"max\" | \"required\"\n >,\n disable?: boolean,\n): Pick<ArrayRendererProps, \"addAction\" | \"removeAction\"> & {\n addDisabled: boolean;\n removeDisabled: boolean;\n} {\n const [removeAllowed, addAllowed] = applyLengthRestrictions(\n arrayControl.elements?.length ?? 0,\n min == null && required ? 1 : min,\n max,\n true,\n true,\n );\n return {\n addAction: disable || addAllowed ? aa : undefined,\n removeAction: disable || removeAllowed ? ra : undefined,\n removeDisabled: !removeAllowed,\n addDisabled: !addAllowed,\n };\n}\n","import { CSSProperties, ReactElement, ReactNode } from \"react\";\nimport {\n ActionRendererProps,\n AdornmentProps,\n AdornmentRenderer,\n ArrayRendererProps,\n ControlLayoutProps,\n DataRendererProps,\n DisplayRendererProps,\n FormRenderer,\n GroupRendererProps,\n LabelRendererProps,\n LabelType,\n RenderedControl,\n VisibilityRendererProps,\n} from \"./controlRender\";\nimport {\n AccordionAdornment,\n ControlAdornment,\n ControlAdornmentType,\n IconAdornment,\n SetFieldAdornment,\n} from \"./types\";\n\nexport interface DefaultRenderers {\n data: DataRendererRegistration;\n label: LabelRendererRegistration;\n action: ActionRendererRegistration;\n array: ArrayRendererRegistration;\n group: GroupRendererRegistration;\n display: DisplayRendererRegistration;\n adornment: AdornmentRendererRegistration;\n renderLayout: LayoutRendererRegistration;\n visibility: VisibilityRendererRegistration;\n}\n\nexport interface LayoutRendererRegistration {\n type: \"layout\";\n match?: (props: ControlLayoutProps) => boolean;\n render: (\n props: ControlLayoutProps,\n renderers: FormRenderer,\n ) => RenderedControl;\n}\nexport interface DataRendererRegistration {\n type: \"data\";\n schemaType?: string | string[];\n renderType?: string | string[];\n options?: boolean;\n collection?: boolean;\n match?: (props: DataRendererProps) => boolean;\n render: (\n props: DataRendererProps,\n renderers: FormRenderer,\n ) => ReactNode | ((layout: ControlLayoutProps) => ControlLayoutProps);\n}\n\nexport interface LabelRendererRegistration {\n type: \"label\";\n labelType?: LabelType | LabelType[];\n render: (\n labelProps: LabelRendererProps,\n labelStart: ReactNode,\n labelEnd: ReactNode,\n renderers: FormRenderer,\n ) => ReactNode;\n}\n\nexport interface ActionRendererRegistration {\n type: \"action\";\n actionType?: string | string[];\n render: (props: ActionRendererProps, renderers: FormRenderer) => ReactElement;\n}\n\nexport interface ArrayRendererRegistration {\n type: \"array\";\n render: (props: ArrayRendererProps, renderers: FormRenderer) => ReactElement;\n}\n\nexport interface GroupRendererRegistration {\n type: \"group\";\n renderType?: string | string[];\n render: (\n props: GroupRendererProps,\n renderers: FormRenderer,\n ) => ReactElement | ((layout: ControlLayoutProps) => ControlLayoutProps);\n}\n\nexport interface DisplayRendererRegistration {\n type: \"display\";\n renderType?: string | string[];\n render: (\n props: DisplayRendererProps,\n renderers: FormRenderer,\n ) => ReactElement;\n}\n\nexport interface AdornmentRendererRegistration {\n type: \"adornment\";\n adornmentType?: string | string[];\n render: (props: AdornmentProps, renderers: FormRenderer) => AdornmentRenderer;\n}\n\nexport interface VisibilityRendererRegistration {\n type: \"visibility\";\n render: (props: VisibilityRendererProps) => ReactNode;\n}\n\nexport type RendererRegistration =\n | DataRendererRegistration\n | GroupRendererRegistration\n | DisplayRendererRegistration\n | ActionRendererRegistration\n | LabelRendererRegistration\n | ArrayRendererRegistration\n | AdornmentRendererRegistration\n | LayoutRendererRegistration\n | VisibilityRendererRegistration;\n\nexport function isIconAdornment(a: ControlAdornment): a is IconAdornment {\n return a.type === ControlAdornmentType.Icon;\n}\n\nexport function isAccordionAdornment(\n a: ControlAdornment,\n): a is AccordionAdornment {\n return a.type === ControlAdornmentType.Accordion;\n}\n\nexport function isSetFieldAdornment(\n a: ControlAdornment,\n): a is SetFieldAdornment {\n return a.type === ControlAdornmentType.SetField;\n}\n\nexport function createLayoutRenderer(\n render: LayoutRendererRegistration[\"render\"],\n options?: Partial<LayoutRendererRegistration>,\n): LayoutRendererRegistration {\n return { type: \"layout\", render, ...options };\n}\n\nexport function createActionRenderer(\n actionId: string | string[] | undefined,\n render: ActionRendererRegistration[\"render\"],\n options?: Partial<ActionRendererRegistration>,\n): ActionRendererRegistration {\n return { type: \"action\", actionType: actionId, render, ...options };\n}\n\nexport function createArrayRenderer(\n render: ArrayRendererRegistration[\"render\"],\n options?: Partial<ArrayRendererRegistration>,\n): ArrayRendererRegistration {\n return { type: \"array\", render, ...options };\n}\n\nexport function createDataRenderer(\n render: DataRendererRegistration[\"render\"],\n options?: Partial<DataRendererRegistration>,\n): DataRendererRegistration {\n return { type: \"data\", render, ...options };\n}\n\nexport function createGroupRenderer(\n render: GroupRendererRegistration[\"render\"],\n options?: Partial<GroupRendererRegistration>,\n): GroupRendererRegistration {\n return { type: \"group\", render, ...options };\n}\n\nexport function createDisplayRenderer(\n render: DisplayRendererRegistration[\"render\"],\n options?: Partial<DisplayRendererRegistration>,\n): DisplayRendererRegistration {\n return { type: \"display\", render, ...options };\n}\n\nexport function createLabelRenderer(\n render: LabelRendererRegistration[\"render\"],\n options?: Partial<LabelRendererRegistration>,\n): LabelRendererRegistration {\n return { type: \"label\", render, ...options };\n}\n\nexport function createVisibilityRenderer(\n render: VisibilityRendererRegistration[\"render\"],\n options?: Partial<VisibilityRendererRegistration>,\n): VisibilityRendererRegistration {\n return { type: \"visibility\", render, ...options };\n}\n\nexport function createAdornmentRenderer(\n render: AdornmentRendererRegistration[\"render\"],\n options?: Partial<AdornmentRendererRegistration>,\n): AdornmentRendererRegistration {\n return { type: \"adornment\", ...options, render };\n}\n","import React from \"react\";\n\nimport { DefaultRendererOptions } from \"./createDefaultRenderers\";\n\nexport const defaultTailwindTheme = {\n label: {\n groupLabelClass: \"font-bold\",\n requiredElement: <span className=\"text-red-500\"> *</span>,\n },\n array: {\n removableClass: \"grid grid-cols-[1fr_auto] items-center gap-x-2\",\n childClass: \"grow my-2\",\n addActionClass: \"my-2\",\n },\n group: {\n standardClassName: \"flex flex-col gap-4\",\n gridClassName: \"gap-x-2 gap-y-4\",\n flexClassName: \"gap-2\",\n },\n action: {\n className: \"bg-primary-500 rounded-lg p-3 text-white\",\n },\n layout: {\n className: \"flex flex-col\",\n errorClass: \"text-sm text-danger-500\",\n },\n data: {\n displayOnlyClass: \"flex flex-row items-center gap-2\",\n checkOptions: {\n className: \"flex items-center gap-4\",\n entryClass: \"flex gap-1 items-center\",\n },\n selectOptions: { emptyText: \"<select>\" },\n multilineClass: \"border p-2 outline-0 whitespace-pre\",\n },\n adornment: {\n accordion: {\n className: \"flex items-center gap-2 my-2\",\n titleClass: \"cursor-pointer\",\n iconOpenClass: \"fa fa-chevron-up\",\n iconClosedClass: \"fa fa-chevron-down\",\n },\n },\n} satisfies DefaultRendererOptions;\n","import React from \"react\";\nimport { DisplayRendererProps } from \"../controlRender\";\nimport {\n CustomDisplay,\n DisplayDataType,\n HtmlDisplay,\n IconDisplay,\n TextDisplay,\n} from \"../types\";\nimport clsx from \"clsx\";\nimport { getOverrideClass, rendererClass } from \"../util\";\nimport { DisplayRendererRegistration } from \"../renderers\";\n\nexport interface DefaultDisplayRendererOptions {\n textClassName?: string;\n htmlClassName?: string;\n}\n\nexport function createDefaultDisplayRenderer(\n options: DefaultDisplayRendererOptions = {},\n): DisplayRendererRegistration {\n return {\n render: (props) => <DefaultDisplay {...options} {...props} />,\n type: \"display\",\n };\n}\n\nexport function DefaultDisplay({\n data,\n display,\n className,\n style,\n ...options\n}: DefaultDisplayRendererOptions & DisplayRendererProps) {\n switch (data.type) {\n case DisplayDataType.Icon:\n return (\n <i\n style={style}\n className={clsx(\n getOverrideClass(className),\n display ? display.value : (data as IconDisplay).iconClass,\n )}\n />\n );\n case DisplayDataType.Text:\n return (\n <div\n style={style}\n className={rendererClass(className, options.textClassName)}\n >\n {display ? display.value : (data as TextDisplay).text}\n </div>\n );\n case DisplayDataType.Html:\n return (\n <div\n style={style}\n className={rendererClass(className, options.htmlClassName)}\n dangerouslySetInnerHTML={{\n __html: display\n ? (display.value ?? \"\")\n : (data as HtmlDisplay).html,\n }}\n />\n );\n case DisplayDataType.Custom:\n return (\n <div>\n Custom display placeholder: {(data as CustomDisplay).customId}\n </div>\n );\n default:\n return <h1>Unknown display type: {data.type}</h1>;\n }\n}\n","import { RenderedLayout } from \"../controlRender\";\nimport React, { ReactNode } from \"react\";\n\nexport interface DefaultLayoutRendererOptions {\n className?: string;\n errorClass?: string;\n renderError?: (errorText: string | null | undefined) => ReactNode;\n}\n\nexport function DefaultLayout({\n errorClass,\n renderError = (e) => e && <div className={errorClass}>{e}</div>,\n layout: { controlEnd, controlStart, label, children, errorControl },\n}: DefaultLayoutRendererOptions & {\n layout: RenderedLayout;\n}) {\n const ec = errorControl;\n const errorText = ec && ec.touched ? ec.error : undefined;\n return (\n <>\n {label}\n {controlStart}\n {children}\n {renderError(errorText)}\n {controlEnd}\n </>\n );\n}\n","import { VisibilityRendererProps } from \"../controlRender\";\nimport React, { useEffect } from \"react\";\nimport clsx from \"clsx\";\nimport { createVisibilityRenderer } from \"../renderers\";\n\nexport function createDefaultVisibilityRenderer() {\n return createVisibilityRenderer((props) => <DefaultVisibility {...props} />);\n}\n\nexport function DefaultVisibility({\n visibility,\n children,\n className,\n style,\n divRef,\n}: VisibilityRendererProps) {\n const v = visibility.value;\n useEffect(() => {\n if (v) {\n visibility.setValue((ex) => ({ visible: v.visible, showing: v.visible }));\n }\n }, [v?.visible]);\n return v?.visible ? (\n <div className={clsx(className)} style={style} ref={divRef}>\n {children}\n </div>\n ) : (\n <></>\n );\n}\n","import { Control } from \"@react-typed-forms/core\";\nimport React, { useMemo, useState } from \"react\";\nimport { rendererClass } from \"../util\";\nimport { FieldOption, FieldType } from \"../types\";\nimport { createDataRenderer } from \"../renderers\";\n\nexport interface SelectRendererOptions {\n className?: string;\n emptyText?: string;\n requiredText?: string;\n}\n\nexport function createSelectRenderer(options: SelectRendererOptions = {}) {\n return createDataRenderer(\n (props, asArray) => (\n <SelectDataRenderer\n className={rendererClass(props.className, options.className)}\n state={props.control}\n id={props.id}\n readonly={props.readonly}\n options={props.options ?? []}\n required={props.required}\n emptyText={options.emptyText}\n requiredText={options.requiredText}\n convert={createSelectConversion(props.field.type)}\n />\n ),\n {\n options: true,\n },\n );\n}\n\ntype SelectConversion = (a: any) => string | number;\n\nexport interface SelectDataRendererProps {\n id?: string;\n className?: string;\n options: FieldOption[];\n emptyText?: string;\n requiredText?: string;\n readonly: boolean;\n required: boolean;\n state: Control<any>;\n convert: SelectConversion;\n}\n\nexport function SelectDataRenderer({\n state,\n options,\n className,\n convert,\n required,\n emptyText = \"N/A\",\n requiredText = \"<please select>\",\n readonly,\n ...props\n}: SelectDataRendererProps) {\n const { value, disabled } = state;\n const [showEmpty] = useState(!required || value == null);\n const optionStringMap = useMemo(\n () => Object.fromEntries(options.map((x) => [convert(x.value), x.value])),\n [options],\n );\n return (\n <select\n {...props}\n className={className}\n onChange={(v) => (state.value = optionStringMap[v.target.value])}\n value={convert(value)}\n disabled={disabled || readonly}\n >\n {showEmpty && (\n <option value=\"\">{required ? requiredText : emptyText}</option>\n )}\n {options.map((x, i) => (\n <option key={i} value={convert(x.value)} disabled={!!x.disabled}>\n {x.name}\n </option>\n ))}\n </select>\n );\n}\n\nexport function createSelectConversion(ft: string): SelectConversion {\n switch (ft) {\n case FieldType.String:\n case FieldType.Int:\n case FieldType.Double:\n return (a) => a;\n default:\n return (a) => a?.toString() ?? \"\";\n }\n}\n","import { Control } from \"@react-typed-forms/core\";\nimport { SchemaField, SchemaInterface } from \"../types\";\nimport React from \"react\";\nimport { rendererClass } from \"../util\";\n\nexport function DefaultDisplayOnly({\n control,\n className,\n emptyText,\n schemaInterface,\n field,\n style,\n}: {\n control: Control<any>;\n field: SchemaField;\n schemaInterface: SchemaInterface;\n className?: string;\n style?: React.CSSProperties;\n emptyText?: string | null;\n}) {\n const v = control.value;\n const text =\n (schemaInterface.isEmptyValue(field, v)\n ? emptyText\n : schemaInterface.textValue(field, v)) ?? \"\";\n return (\n <div style={style} className={rendererClass(className)}>\n {text}\n </div>\n );\n}\n","import { FieldType } from \"../types\";\nimport React from \"react\";\nimport {\n Control,\n formControlProps,\n useControl,\n useControlEffect,\n} from \"@react-typed-forms/core\";\n\nexport function ControlInput({\n control,\n convert,\n ...props\n}: React.InputHTMLAttributes<HTMLInputElement> & {\n control: Control<any>;\n convert: InputConversion;\n}) {\n const { errorText, value, onChange, ...inputProps } =\n formControlProps(control);\n const textValue = useControl(() => toText(value));\n useControlEffect(\n () => control.value,\n (v) => (textValue.value = toText(v)),\n );\n return (\n <input\n {...inputProps}\n type={convert[0]}\n value={textValue.value}\n onChange={(e) => {\n textValue.value = e.target.value;\n const converted = convert[1](e.target.value);\n if (converted !== undefined) control.value = converted;\n }}\n {...props}\n />\n );\n\n function toText(value: any) {\n return value == null ? \"\" : convert[2](value);\n }\n}\n\ntype InputConversion = [\n string,\n (s: string) => any,\n (a: any) => string | number,\n];\n\nexport function createInputConversion(ft: string): InputConversion {\n switch (ft) {\n case FieldType.String:\n return [\"text\", (a) => a, (a) => a];\n case FieldType.Bool:\n return [\n \"text\",\n (a) => (a === \"true\" ? true : a === \"false\" ? false : undefined),\n (a) => a?.toString() ?? \"\",\n ];\n case FieldType.Int:\n return [\n \"number\",\n (a) => (a !== \"\" ? parseInt(a) : null),\n (a) => (a == null ? \"\" : a),\n ];\n case FieldType.Date:\n return [\"date\", (a) => a, (a) => a];\n case FieldType.Time:\n return [\n \"time\",\n (a) => {\n const l = a.length;\n if (l === 5) return a + \":00\";\n if (l === 8) return a;\n return undefined;\n },\n (a) => (a ? a.substring(0, 5) : \"\"),\n ];\n case FieldType.Double:\n return [\n \"number\",\n (a) => (a !== \"\" ? parseFloat(a) : null),\n (a) => (a == null ? \"\" : a),\n ];\n default:\n return [\"text\", (a) => a, (a) => a];\n }\n}\n","import {\n ArrayRendererRegistration,\n createDataRenderer,\n DataRendererRegistration,\n} from \"../renderers\";\nimport {\n ActionRendererProps,\n applyArrayLengthRestrictions,\n ArrayRendererProps,\n} from \"../controlRender\";\nimport clsx from \"clsx\";\nimport React, { Fragment, ReactNode } from \"react\";\nimport {\n addElement,\n removeElement,\n RenderElements,\n} from \"@react-typed-forms/core\";\nimport { elementValueForField } from \"../util\";\nimport {\n ArrayRenderOptions,\n ControlDefinitionType,\n DataControlDefinition,\n DataRenderType,\n isArrayRenderer,\n LengthValidator,\n ValidatorType,\n} from \"../types\";\nimport { cc } from \"../internal\";\n\nexport function createDefaultArrayDataRenderer(): DataRendererRegistration {\n return createDataRenderer(\n (\n {\n definition,\n control,\n required,\n field,\n renderChild,\n parentContext,\n className,\n style,\n renderOptions,\n },\n renderers,\n ) => {\n const lengthVal = definition.validators?.find(\n (x) => x.type === ValidatorType.Length,\n ) as LengthValidator | undefined;\n const { addText, noAdd, noRemove, noReorder, removeText } =\n isArrayRenderer(renderOptions)\n ? renderOptions\n : ({} as ArrayRenderOptions);\n const childOptions = isArrayRenderer(renderOptions)\n ? renderOptions.childOptions\n : undefined;\n const noun = field.displayName ?? field.field;\n const arrayProps = {\n arrayControl: control,\n required,\n addAction: !noAdd\n ? {\n actionId: \"add\",\n actionText: addText ? addText : \"Add \" + noun,\n onClick: () => addElement(control, elementValueForField(field)),\n }\n : undefined,\n removeAction: !noRemove\n ? (i: number) => ({\n actionId: \"\",\n actionText: removeText ? removeText : \"Remove\",\n onClick: () => removeElement(control, i),\n })\n : undefined,\n renderElement: (i) =>\n renderChild(\n control.elements?.[i].uniqueId ?? i,\n {\n type: ControlDefinitionType.Data,\n field: definition.field,\n children: definition.children,\n renderOptions: childOptions ?? { type: DataRenderType.Standard },\n hideTitle: true,\n } as DataControlDefinition,\n { elementIndex: i, dataContext: parentContext },\n ),\n className: cc(className),\n style,\n min: lengthVal?.min,\n max: lengthVal?.max,\n } satisfies ArrayRendererProps;\n return renderers.renderArray(arrayProps);\n },\n );\n}\n\nexport interface DefaultArrayRendererOptions {\n className?: string;\n removableClass?: string;\n childClass?: string;\n removableChildClass?: string;\n removeActionClass?: string;\n addActionClass?: string;\n}\n\nexport function createDefaultArrayRenderer(\n options?: DefaultArrayRendererOptions,\n): ArrayRendererRegistration {\n return {\n render: (props, { renderAction }) => (\n <DefaultArrayRenderer\n {...props}\n {...options}\n renderAction={renderAction}\n />\n ),\n type: \"array\",\n };\n}\n\nexport interface DefaultArrayRendererProps\n extends DefaultArrayRendererOptions,\n ArrayRendererProps {\n renderAction: (props: ActionRendererProps) => ReactNode;\n}\n\nexport function DefaultArrayRenderer(props: DefaultArrayRendererProps) {\n const {\n renderElement,\n className,\n removableClass,\n childClass,\n removableChildClass,\n removeActionClass,\n addActionClass,\n arrayControl,\n renderAction,\n style,\n } = props;\n const { addAction, removeAction } = applyArrayLengthRestrictions(props);\n return (\n <div style={style}>\n <div className={clsx(className, removeAction && removableClass)}>\n <RenderElements control={arrayControl}>\n {(_, x) =>\n removeAction ? (\n <>\n <div className={clsx(childClass, removableChildClass)}>\n {renderElement(x)}\n </div>\n <div className={removeActionClass}>\n {renderAction(removeAction(x))}\n </div>\n </>\n ) : (\n <div className={childClass}>{renderElement(x)}</div>\n )\n }\n </RenderElements>\n </div>\n {addAction && (\n <div className={addActionClass}>{renderAction(addAction)}</div>\n )}\n </div>\n );\n}\n","import { DataRenderType, FieldOption } from \"../types\";\nimport {\n Control,\n Fcheckbox,\n RenderArrayElements,\n useComputed,\n} from \"@react-typed-forms/core\";\nimport React from \"react\";\nimport { createDataRenderer } from \"../renderers\";\nimport { rendererClass } from \"../util\";\n\nexport interface CheckRendererOptions {\n className?: string;\n entryClass?: string;\n checkClass?: string;\n labelClass?: string;\n}\n\nexport function createRadioRenderer(options: CheckRendererOptions = {}) {\n return createDataRenderer(\n (p) => (\n <CheckButtons\n {...options}\n {...p}\n className={rendererClass(p.className, options.className)}\n isChecked={(control, o) => control.value == o.value}\n setChecked={(c, o) => (c.value = o.value)}\n control={p.control}\n type=\"radio\"\n />\n ),\n {\n renderType: DataRenderType.Radio,\n },\n );\n}\n\nexport function createCheckListRenderer(options: CheckRendererOptions = {}) {\n return createDataRenderer(\n (p) => (\n <CheckButtons\n {...options}\n {...p}\n className={rendererClass(p.className, options.className)}\n isChecked={(control, o) => {\n const v = control.value;\n return Array.isArray(v) ? v.includes(o.value) : false;\n }}\n setChecked={(c, o, checked) => {\n c.setValue((x) => setIncluded(x ?? [], o.value, checked));\n }}\n control={p.control}\n type=\"checkbox\"\n />\n ),\n {\n collection: true,\n renderType: DataRenderType.CheckList,\n },\n );\n}\n\nexport function CheckButtons({\n control,\n options,\n labelClass,\n checkClass,\n readonly,\n entryClass,\n className,\n id,\n type,\n isChecked,\n setChecked,\n}: {\n id?: string;\n className?: string;\n options?: FieldOption[] | null;\n control: Control<any>;\n entryClass?: string;\n checkClass?: string;\n labelClass?: string;\n readonly?: boolean;\n type: \"checkbox\" | \"radio\";\n isChecked: (c: Control<any>, o: FieldOption) => boolean;\n setChecked: (c: Control<any>, o: FieldOption, checked: boolean) => void;\n}) {\n const { disabled } = control;\n const name = \"r\" + control.uniqueId;\n return (\n <div className={className} id={id}>\n <RenderArrayElements array={options?.filter((x) => x.value != null)}>\n {(o, i) => {\n const checked = useComputed(() => isChecked(control, o)).value;\n return (\n <div key={i} className={entryClass}>\n <input\n id={name + \"_\" + i}\n className={checkClass}\n type={type}\n name={name}\n readOnly={readonly}\n disabled={disabled}\n checked={checked}\n onChange={(x) => {\n !readonly && setChecked(control, o, x.target.checked);\n }}\n />\n <label className={labelClass} htmlFor={name + \"_\" + i}>\n {o.name}\n </label>\n </div>\n );\n }}\n </RenderArrayElements>\n </div>\n );\n}\n\nexport function setIncluded<A>(array: A[], elem: A, included: boolean): A[] {\n const already = array.includes(elem);\n if (included === already) {\n return array;\n }\n if (included) {\n return [...array, elem];\n }\n return array.filter((e) => e !== elem);\n}\n\nexport function createCheckboxRenderer(options: CheckRendererOptions = {}) {\n return createDataRenderer(\n (props, renderer) => (p) => ({\n ...p,\n label: undefined,\n children: (\n <div className={rendererClass(props.className, options.entryClass)}>\n <Fcheckbox\n id={props.id}\n control={props.control}\n style={props.style}\n className={options.checkClass}\n />\n {p.label && renderer.renderLabel(p.label, undefined, undefined)}\n </div>\n ),\n }),\n { renderType: DataRenderType.Checkbox },\n );\n}\n","import React, { CSSProperties, Fragment, ReactElement, ReactNode } from \"react\";\nimport { AccordionAdornment } from \"../types\";\nimport { Control, useControl } from \"@react-typed-forms/core\";\nimport clsx from \"clsx\";\nimport { FormRenderer } from \"../controlRender\";\nimport { DefaultAccordionRendererOptions } from \"../createDefaultRenderers\";\n\nexport function DefaultAccordion({\n children,\n accordion,\n contentStyle,\n contentClassName,\n designMode,\n iconOpenClass,\n iconClosedClass,\n className,\n renderTitle = (t) => t,\n renderToggler,\n renderers,\n titleClass,\n}: {\n children: ReactElement;\n accordion: Partial<AccordionAdornment>;\n contentStyle?: CSSProperties;\n contentClassName?: string;\n designMode?: boolean;\n renderers: FormRenderer;\n} & DefaultAccordionRendererOptions) {\n const open = useControl(!!accordion.defaultExpanded);\n const isOpen = open.value;\n const fullContentStyle =\n isOpen || designMode ? contentStyle : { ...contentStyle, display: \"none\" };\n const title = renderers.renderLabelText(renderTitle(accordion.title, open));\n const toggler = renderToggler ? (\n renderToggler(open, title)\n ) : (\n <button className={className} onClick={() => open.setValue((x) => !x)}>\n <label className={titleClass}>{title}</label>\n <i className={clsx(isOpen ? iconOpenClass : iconClosedClass)} />\n </button>\n );\n\n return (\n <>\n {toggler}\n <div style={fullContentStyle} className={contentClassName}>\n {children}\n </div>\n </>\n );\n}\n","import { createDataRenderer } from \"../renderers\";\nimport { Control, newControl, useControlEffect } from \"@react-typed-forms/core\";\nimport { DataRenderType, FieldType } from \"../types\";\nimport React, { ReactNode } from \"react\";\n\nexport function createNullToggleRenderer() {\n return createDataRenderer(\n ({ control, field, renderOptions, ...props }, renderers) => {\n const nullControl = (control.meta[\"nullControl\"] ??= newControl(\n control.current.value != null,\n ));\n return (layout) => {\n const newLayout = renderers.renderData({\n ...props,\n control: nullControl,\n field: { ...field, type: FieldType.Bool },\n renderOptions: { type: DataRenderType.Checkbox },\n })(layout);\n return {\n ...newLayout,\n children: (\n <NullWrapper\n control={control}\n nullControl={nullControl}\n children={newLayout.children}\n readonly={props.readonly}\n defaultValue={props.definition.defaultValue}\n />\n ),\n };\n };\n },\n );\n}\n\nfunction NullWrapper({\n children,\n nullControl,\n control,\n defaultValue,\n readonly,\n}: {\n control: Control<any>;\n nullControl: Control<boolean>;\n children: ReactNode;\n readonly: boolean;\n defaultValue: any;\n}) {\n useControlEffect(\n () => readonly,\n (r) => (nullControl.disabled = r),\n true,\n );\n useControlEffect(\n () => nullControl.value,\n (e) => {\n if (e) {\n control.value = nullControl.meta[\"nonNullValue\"] ?? defaultValue;\n } else {\n nullControl.meta[\"nonNullValue\"] = control.value;\n control.value = null;\n }\n },\n );\n return children;\n}\n","import { createDataRenderer } from \"../renderers\";\nimport { DataRendererProps } from \"../controlRender\";\nimport React, { useRef } from \"react\";\nimport { useControlEffect } from \"@react-typed-forms/core\";\nimport { rendererClass } from \"../util\";\n\nexport function createMultilineFieldRenderer(className?: string) {\n return createDataRenderer((p) => (\n <MultilineTextfield\n {...p}\n className={rendererClass(p.className, className)}\n />\n ));\n}\n\nexport function MultilineTextfield({ control, className }: DataRendererProps) {\n const codeRef = useRef<HTMLElement | null>(null);\n useControlEffect(\n () => control.value,\n (v) => {\n const c = codeRef.current;\n if (c && c.textContent !== v) {\n c.textContent = v;\n }\n },\n true,\n );\n return (\n <code\n contentEditable={!control.disabled}\n className={className}\n onInput={(t) => (control.value = t.currentTarget.textContent)}\n ref={codeRef}\n />\n );\n}\n","import { createDataRenderer } from \"../renderers\";\nimport { useJsonataExpression } from \"../hooks\";\nimport { DataRenderType, JsonataRenderOptions } from \"../types\";\nimport { ControlDataContext, rendererClass } from \"../util\";\nimport { Control } from \"@react-typed-forms/core\";\nimport React from \"react\";\n\nexport function createJsonataRenderer(className?: string) {\n return createDataRenderer(\n (p) => (\n <JsonataRenderer\n renderOptions={p.renderOptions as JsonataRenderOptions}\n className={rendererClass(p.className, className)}\n dataContext={p.dataContext}\n control={p.control}\n readonly={p.readonly}\n />\n ),\n { renderType: DataRenderType.Jsonata },\n );\n}\n\nexport function JsonataRenderer({\n control,\n renderOptions: { expression },\n readonly,\n className,\n dataContext,\n}: {\n control: Control<any>;\n renderOptions: JsonataRenderOptions;\n className?: string;\n dataContext: ControlDataContext;\n readonly: boolean;\n}) {\n const rendered = useJsonataExpression(\n expression,\n dataContext,\n () => ({ value: control.value, readonly, disabled: control.disabled }),\n (v) =>\n typeof v == null\n ? \"\"\n : typeof v === \"object\"\n ? \"error: \" + JSON.stringify(v)\n : v.toString(),\n );\n return (\n <div\n className={className}\n dangerouslySetInnerHTML={{ __html: rendered.value }}\n />\n );\n}\n","import {\n createDefaultDisplayRenderer,\n DefaultDisplayRendererOptions,\n} from \"./components/DefaultDisplay\";\nimport {\n DefaultLayout,\n DefaultLayoutRendererOptions,\n} from \"./components/DefaultLayout\";\nimport {\n ActionRendererRegistration,\n AdornmentRendererRegistration,\n createActionRenderer,\n createDataRenderer,\n createLayoutRenderer,\n DataRendererRegistration,\n DefaultRenderers,\n GroupRendererRegistration,\n isAccordionAdornment,\n isIconAdornment,\n isSetFieldAdornment,\n LabelRendererRegistration,\n} from \"./renderers\";\nimport { createDefaultVisibilityRenderer } from \"./components/DefaultVisibility\";\nimport React, {\n CSSProperties,\n Fragment,\n ReactElement,\n ReactNode,\n useCallback,\n useEffect,\n useRef,\n} from \"react\";\nimport {\n ControlDataContext,\n DataContext,\n findFieldPath,\n hasOptions,\n lookupChildControl,\n rendererClass,\n useDynamicHooks,\n} from \"./util\";\nimport clsx from \"clsx\";\nimport {\n ActionRendererProps,\n appendMarkupAt,\n ControlLayoutProps,\n GroupRendererProps,\n LabelType,\n renderLayoutParts,\n wrapLayout,\n} from \"./controlRender\";\nimport {\n AdornmentPlacement,\n DataRenderType,\n FieldOption,\n FieldType,\n FlexRenderer,\n GridRenderer,\n isDataGroupRenderer,\n isDisplayOnlyRenderer,\n isFlexRenderer,\n isGridRenderer,\n isTextfieldRenderer,\n SetFieldAdornment,\n} from \"./types\";\nimport {\n createSelectRenderer,\n SelectRendererOptions,\n} from \"./components/SelectDataRenderer\";\nimport { DefaultDisplayOnly } from \"./components/DefaultDisplayOnly\";\nimport {\n Control,\n Fcheckbox,\n newControl,\n useControlEffect,\n} from \"@react-typed-forms/core\";\nimport { ControlInput, createInputConversion } from \"./components/ControlInput\";\nimport {\n createDefaultArrayDataRenderer,\n createDefaultArrayRenderer,\n DefaultArrayRendererOptions,\n} from \"./components/DefaultArrayRenderer\";\nimport {\n CheckRendererOptions,\n createCheckboxRenderer,\n createCheckListRenderer,\n createRadioRenderer,\n} from \"./components/CheckRenderer\";\nimport { DefaultAccordion } from \"./components/DefaultAccordion\";\nimport { createNullToggleRenderer } from \"./components/NullToggle\";\nimport { createMultilineFieldRenderer } from \"./components/MultilineTextfield\";\nimport { createJsonataRenderer } from \"./components/JsonataRenderer\";\nimport { UseEvalExpressionHook } from \"./hooks\";\n\nexport interface DefaultRendererOptions {\n data?: DefaultDataRendererOptions;\n display?: DefaultDisplayRendererOptions;\n action?: DefaultActionRendererOptions;\n array?: DefaultArrayRendererOptions;\n group?: DefaultGroupRendererOptions;\n label?: DefaultLabelRendererOptions;\n adornment?: DefaultAdornmentRendererOptions;\n layout?: DefaultLayoutRendererOptions;\n}\n\ninterface StyleProps {\n className?: string;\n style?: CSSProperties;\n}\n\ninterface DefaultActionRendererOptions {\n className?: string;\n renderContent?: (\n actionText: string,\n actionId: string,\n actionData: any,\n ) => ReactNode;\n}\n\nexport function createButtonActionRenderer(\n actionId: string | string[] | undefined,\n options: DefaultActionRendererOptions = {},\n): ActionRendererRegistration {\n return createActionRenderer(\n actionId,\n ({\n onClick,\n actionText,\n className,\n style,\n actionId,\n actionData,\n }: ActionRendererProps) => {\n return (\n <button\n className={rendererClass(className, options.className)}\n style={style}\n onClick={onClick}\n >\n {options.renderContent?.(actionText, actionId, actionData) ??\n actionText}\n </button>\n );\n },\n );\n}\n\ninterface DefaultGroupRendererOptions {\n className?: string;\n standardClassName?: string;\n gridStyles?: (columns: GridRenderer) => StyleProps;\n gridClassName?: string;\n defaultGridColumns?: number;\n flexClassName?: string;\n defaultFlexGap?: string;\n}\n\nexport function createDefaultGroupRenderer(\n options?: DefaultGroupRendererOptions,\n): GroupRendererRegistration {\n const {\n className,\n gridStyles = defaultGridStyles,\n defaultGridColumns = 2,\n gridClassName,\n standardClassName,\n flexClassName,\n defaultFlexGap,\n } = options ?? {};\n\n function defaultGridStyles({\n columns = defaultGridColumns,\n }: GridRenderer): StyleProps {\n return {\n className: gridClassName,\n style: {\n display: \"grid\",\n gridTemplateColumns: `repeat(${columns}, 1fr)`,\n },\n };\n }\n\n function flexStyles(options: FlexRenderer): StyleProps {\n return {\n className: flexClassName,\n style: {\n display: \"flex\",\n gap: options.gap ? options.gap : defaultFlexGap,\n flexDirection: options.direction\n ? (options.direction as any)\n : undefined,\n },\n };\n }\n\n function render(props: GroupRendererProps) {\n const { renderChild, renderOptions, childDefinitions } = props;\n\n const { style, className: gcn } = isGridRenderer(renderOptions)\n ? gridStyles(renderOptions)\n : isFlexRenderer(renderOptions)\n ? flexStyles(renderOptions)\n : ({ className: standardClassName } as StyleProps);\n\n return (cp: ControlLayoutProps) => {\n return {\n ...cp,\n children: (\n <div\n className={rendererClass(props.className, clsx(className, gcn))}\n style={style}\n >\n {childDefinitions?.map((c, i) => renderChild(i, c))}\n </div>\n ),\n };\n };\n }\n\n return { type: \"group\", render };\n}\n\nexport const DefaultBoolOptions: FieldOption[] = [\n { name: \"Yes\", value: true },\n { name: \"No\", value: false },\n];\n\ninterface DefaultDataRendererOptions {\n inputClass?: string;\n displayOnlyClass?: string;\n selectOptions?: SelectRendererOptions;\n checkboxOptions?: CheckRendererOptions;\n checkOptions?: CheckRendererOptions;\n radioOptions?: CheckRendererOptions;\n checkListOptions?: CheckRendererOptions;\n booleanOptions?: FieldOption[];\n optionRenderer?: DataRendererRegistration;\n multilineClass?: string;\n jsonataClass?: string;\n}\n\nexport function createDefaultDataRenderer(\n options: DefaultDataRendererOptions = {},\n): DataRendererRegistration {\n const jsonataRenderer = createJsonataRenderer(options.jsonataClass);\n const nullToggler = createNullToggleRenderer();\n const multilineRenderer = createMultilineFieldRenderer(\n options.multilineClass,\n );\n const checkboxRenderer = createCheckboxRenderer(\n options.checkOptions ?? options.checkboxOptions,\n );\n const selectRenderer = createSelectRenderer(options.selectOptions);\n const radioRenderer = createRadioRenderer(\n options.radioOptions ?? options.checkOptions,\n );\n const checkListRenderer = createCheckListRenderer(\n options.checkListOptions ?? options.checkOptions,\n );\n const { inputClass, booleanOptions, optionRenderer, displayOnlyClass } = {\n optionRenderer: selectRenderer,\n booleanOptions: DefaultBoolOptions,\n ...options,\n };\n const arrayRenderer = createDefaultArrayDataRenderer();\n\n return createDataRenderer((props, renderers) => {\n const { field } = props;\n const fieldType = field.type;\n const renderOptions = props.renderOptions;\n if (field.collection && props.elementIndex == null)\n return arrayRenderer.render(props, renderers);\n let renderType = renderOptions.type;\n if (fieldType === FieldType.Compound) {\n const groupOptions = (isDataGroupRenderer(renderOptions)\n ? renderOptions.groupOptions\n : undefined) ?? { type: \"Standard\", hideTitle: true };\n return renderers.renderGroup({ ...props, renderOptions: groupOptions });\n }\n if (fieldType == FieldType.Any) return <>No control for Any</>;\n if (isDisplayOnlyRenderer(renderOptions))\n return (p) => ({\n ...p,\n className: displayOnlyClass,\n children: (\n <DefaultDisplayOnly\n field={props.field}\n schemaInterface={props.dataContext.schemaInterface}\n control={props.control}\n className={props.className}\n style={props.style}\n emptyText={renderOptions.emptyText}\n />\n ),\n });\n const isBool = fieldType === FieldType.Bool;\n if (booleanOptions != null && isBool && props.options == null) {\n return renderers.renderData({ ...props, options: booleanOptions });\n }\n if (renderType === DataRenderType.Standard && hasOptions(props)) {\n return optionRenderer.render(props, renderers);\n }\n switch (renderType) {\n case DataRenderType.NullToggle:\n return nullToggler.render(props, renderers);\n case DataRenderType.CheckList:\n return checkListRenderer.render(props, renderers);\n case DataRenderType.Dropdown:\n return selectRenderer.render(props, renderers);\n case DataRenderType.Radio:\n return radioRenderer.render(props, renderers);\n case DataRenderType.Checkbox:\n return checkboxRenderer.render(props, renderers);\n case DataRenderType.Jsonata:\n return jsonataRenderer.render(props, renderers);\n }\n if (isTextfieldRenderer(renderOptions) && renderOptions.multiline)\n return multilineRenderer.render(props, renderers);\n const placeholder = isTextfieldRenderer(renderOptions)\n ? renderOptions.placeholder\n : undefined;\n return (\n <ControlInput\n className={rendererClass(props.className, inputClass)}\n style={props.style}\n id={props.id}\n readOnly={props.readonly}\n control={props.control}\n placeholder={placeholder ?? undefined}\n convert={createInputConversion(props.field.type)}\n />\n );\n });\n}\n\nexport interface DefaultAccordionRendererOptions {\n className?: string;\n titleClass?: string;\n togglerClass?: string;\n iconOpenClass?: string;\n iconClosedClass?: string;\n renderTitle?: (\n title: string | undefined,\n current: Control<boolean>,\n ) => ReactNode;\n renderToggler?: (current: Control<boolean>, title: ReactNode) => ReactNode;\n}\n\nexport interface DefaultAdornmentRendererOptions {\n accordion?: DefaultAccordionRendererOptions;\n}\n\nexport function createDefaultAdornmentRenderer(\n options: DefaultAdornmentRendererOptions = {},\n): AdornmentRendererRegistration {\n return {\n type: \"adornment\",\n render: ({ adornment, designMode, parentContext, useExpr }, renderers) => ({\n apply: (rl) => {\n if (isSetFieldAdornment(adornment) && useExpr) {\n const hook = useExpr(adornment.expression, (x) => x);\n const dynamicHooks = useDynamicHooks({ value: hook });\n const SetFieldWrapper = useCallback(setFieldWrapper, [dynamicHooks]);\n return wrapLayout((x) => (\n <SetFieldWrapper\n children={x}\n parentContext={parentContext}\n adornment={adornment}\n />\n ))(rl);\n\n function setFieldWrapper({\n children,\n adornment,\n parentContext,\n }: {\n children: ReactNode;\n adornment: SetFieldAdornment;\n parentContext: ControlDataContext;\n }) {\n const { value } = dynamicHooks(parentContext);\n const refField = findFieldPath(\n parentContext.fields,\n adornment.field,\n );\n const otherField = refField\n ? lookupChildControl(parentContext, refField)\n : undefined;\n const always = !adornment.defaultOnly;\n useControlEffect(\n () => [value?.value, otherField?.value == null],\n ([v]) => {\n otherField?.setValue((x) => (always || x == null ? v : x));\n },\n true,\n );\n return children;\n }\n }\n if (isIconAdornment(adornment)) {\n return appendMarkupAt(\n adornment.placement ?? AdornmentPlacement.ControlStart,\n <i className={adornment.iconClass} />,\n )(rl);\n }\n if (isAccordionAdornment(adornment)) {\n return wrapLayout((x) => (\n <DefaultAccordion\n renderers={renderers}\n children={x}\n accordion={adornment}\n contentStyle={rl.style}\n contentClassName={rl.className}\n designMode={designMode}\n {...options.accordion}\n />\n ))(rl);\n }\n },\n priority: 0,\n adornment,\n }),\n };\n}\n\nfunction createDefaultLayoutRenderer(\n options: DefaultLayoutRendererOptions = {},\n) {\n return createLayoutRenderer((props, renderers) => {\n const layout = renderLayoutParts(\n {\n ...props,\n className: rendererClass(props.className, options.className),\n },\n renderers,\n );\n return {\n children: layout.wrapLayout(\n <DefaultLayout layout={layout} {...options} />,\n ),\n className: layout.className,\n style: layout.style,\n divRef: (e) =>\n e && props.errorControl\n ? (props.errorControl.meta.scrollElement = e)\n : undefined,\n };\n });\n}\n\ninterface DefaultLabelRendererOptions {\n className?: string;\n groupLabelClass?: string;\n controlLabelClass?: string;\n requiredElement?: ReactNode;\n labelContainer?: (children: ReactElement) => ReactElement;\n}\n\nexport function createDefaultLabelRenderer(\n options?: DefaultLabelRendererOptions,\n): LabelRendererRegistration {\n const {\n className,\n groupLabelClass,\n controlLabelClass,\n requiredElement,\n labelContainer,\n } = {\n requiredElement: <span> *</span>,\n labelContainer: (c: ReactElement) => c,\n ...options,\n };\n return {\n render: (props, labelStart, labelEnd, renderers) => {\n if (props.type == LabelType.Text) return props.label;\n return labelContainer(\n <>\n <label\n htmlFor={props.forId}\n className={rendererClass(\n props.className,\n clsx(\n className,\n props.type === LabelType.Group && groupLabelClass,\n props.type === LabelType.Control && controlLabelClass,\n ),\n )}\n >\n {labelStart}\n {renderers.renderLabelText(props.label)}\n {props.required && requiredElement}\n </label>\n {labelEnd}\n </>,\n );\n },\n type: \"label\",\n };\n}\n\nexport function createDefaultRenderers(\n options: DefaultRendererOptions = {},\n): DefaultRenderers {\n return {\n data: createDefaultDataRenderer(options.data),\n display: createDefaultDisplayRenderer(options.display),\n action: createButtonActionRenderer(undefined, options.action),\n array: createDefaultArrayRenderer(options.array),\n group: createDefaultGroupRenderer(options.group),\n label: createDefaultLabelRenderer(options.label),\n adornment: createDefaultAdornmentRenderer(options.adornment),\n renderLayout: createDefaultLayoutRenderer(options.layout),\n visibility: createDefaultVisibilityRenderer(),\n };\n}\n","import { ReactNode } from \"react\";\nimport {\n ActionRendererProps,\n AdornmentProps,\n AdornmentRenderer,\n ArrayRendererProps,\n ControlLayoutProps,\n DataRendererProps,\n DisplayRendererProps,\n FormRenderer,\n GroupRendererProps,\n LabelRendererProps,\n LabelType,\n} from \"./controlRender\";\nimport { hasOptions } from \"./util\";\nimport {\n ActionRendererRegistration,\n AdornmentRendererRegistration,\n ArrayRendererRegistration,\n DataRendererRegistration,\n DefaultRenderers,\n DisplayRendererRegistration,\n GroupRendererRegistration,\n LabelRendererRegistration,\n LayoutRendererRegistration,\n RendererRegistration,\n VisibilityRendererRegistration,\n} from \"./renderers\";\nimport { createDefaultRenderers } from \"./createDefaultRenderers\";\nimport { DataRenderType } from \"./types\";\n\nexport function createFormRenderer(\n customRenderers: RendererRegistration[] = [],\n defaultRenderers: DefaultRenderers = createClassStyledRenderers(),\n): FormRenderer {\n const dataRegistrations = customRenderers.filter(isDataRegistration);\n const groupRegistrations = customRenderers.filter(isGroupRegistration);\n const adornmentRegistrations = customRenderers.filter(\n isAdornmentRegistration,\n );\n const displayRegistrations = customRenderers.filter(isDisplayRegistration);\n const labelRenderers = customRenderers.filter(isLabelRegistration);\n const arrayRenderers = customRenderers.filter(isArrayRegistration);\n const actionRenderers = customRenderers.filter(isActionRegistration);\n const layoutRenderers = customRenderers.filter(isLayoutRegistration);\n const visibilityRenderer =\n customRenderers.find(isVisibilityRegistration) ??\n defaultRenderers.visibility;\n\n const formRenderers: FormRenderer = {\n renderAction,\n renderData,\n renderGroup,\n renderDisplay,\n renderLabel,\n renderArray,\n renderAdornment,\n renderLayout,\n renderVisibility: visibilityRenderer.render,\n renderLabelText,\n };\n\n function renderLabelText(label: ReactNode) {\n return renderLabel({ label, type: LabelType.Text }, undefined, undefined);\n }\n\n function renderLayout(props: ControlLayoutProps) {\n const renderer =\n layoutRenderers.find((x) => !x.match || x.match(props)) ??\n defaultRenderers.renderLayout;\n return renderer.render(props, formRenderers);\n }\n\n function renderAdornment(props: AdornmentProps): AdornmentRenderer {\n const renderer =\n adornmentRegistrations.find((x) =>\n isOneOf(x.adornmentType, props.adornment.type),\n ) ?? defaultRenderers.adornment;\n return renderer.render(props, formRenderers);\n }\n\n function renderArray(props: ArrayRendererProps) {\n return (arrayRenderers[0] ?? defaultRenderers.array).render(\n props,\n formRenderers,\n );\n }\n\n function renderLabel(\n props: LabelRendererProps,\n labelStart: ReactNode,\n labelEnd: ReactNode,\n ) {\n const renderer =\n labelRenderers.find((x) => isOneOf(x.labelType, props.type)) ??\n defaultRenderers.label;\n return renderer.render(props, labelStart, labelEnd, formRenderers);\n }\n\n function renderData(\n props: DataRendererProps,\n ): (layout: ControlLayoutProps) => ControlLayoutProps {\n const {\n renderOptions: { type: renderType },\n field,\n } = props;\n\n const options = hasOptions(props);\n const renderer =\n dataRegistrations.find(\n (x) =>\n (x.collection ?? false) ===\n (props.elementIndex == null && (field.collection ?? false)) &&\n (x.options ?? false) === options &&\n ((x.schemaType &&\n renderType == DataRenderType.Standard &&\n isOneOf(x.schemaType, field.type)) ||\n (x.renderType && isOneOf(x.renderType, renderType)) ||\n (x.match && x.match(props))),\n ) ?? defaultRenderers.data;\n\n const result = renderer.render(props, formRenderers);\n if (typeof result === \"function\") return result;\n return (l) => ({ ...l, children: result });\n }\n\n function renderGroup(\n props: GroupRendererProps,\n ): (layout: ControlLayoutProps) => ControlLayoutProps {\n const renderType = props.renderOptions.type;\n const renderer =\n groupRegistrations.find((x) => isOneOf(x.renderType, renderType)) ??\n defaultRenderers.group;\n const result = renderer.render(props, formRenderers);\n if (typeof result === \"function\") return result;\n return (l) => ({ ...l, children: result });\n }\n\n function renderAction(props: ActionRendererProps) {\n const renderer =\n actionRenderers.find((x) => isOneOf(x.actionType, props.actionId)) ??\n defaultRenderers.action;\n return renderer.render(props, formRenderers);\n }\n\n function renderDisplay(props: DisplayRendererProps) {\n const renderType = props.data.type;\n const renderer =\n displayRegistrations.find((x) => isOneOf(x.renderType, renderType)) ??\n defaultRenderers.display;\n return renderer.render(props, formRenderers);\n }\n\n return formRenderers;\n}\n\nfunction createClassStyledRenderers() {\n return createDefaultRenderers({\n layout: { className: \"control\" },\n group: { className: \"group\" },\n array: { className: \"control-array\" },\n action: { className: \"action\" },\n data: { inputClass: \"data\" },\n display: { htmlClassName: \"html\", textClassName: \"text\" },\n });\n}\n\nfunction isOneOf<A>(x: A | A[] | undefined, v: A) {\n return x == null ? true : Array.isArray(x) ? x.includes(v) : v === x;\n}\n\nfunction isAdornmentRegistration(\n x: RendererRegistration,\n): x is AdornmentRendererRegistration {\n return x.type === \"adornment\";\n}\n\nfunction isDataRegistration(\n x: RendererRegistration,\n): x is DataRendererRegistration {\n return x.type === \"data\";\n}\n\nfunction isGroupRegistration(\n x: RendererRegistration,\n): x is GroupRendererRegistration {\n return x.type === \"group\";\n}\n\nfunction isLabelRegistration(\n x: RendererRegistration,\n): x is LabelRendererRegistration {\n return x.type === \"label\";\n}\n\nfunction isLayoutRegistration(\n x: RendererRegistration,\n): x is LayoutRendererRegistration {\n return x.type === \"layout\";\n}\n\nfunction isVisibilityRegistration(\n x: RendererRegistration,\n): x is VisibilityRendererRegistration {\n return x.type === \"visibility\";\n}\n\nfunction isActionRegistration(\n x: RendererRegistration,\n): x is ActionRendererRegistration {\n return x.type === \"action\";\n}\n\nfunction isDisplayRegistration(\n x: RendererRegistration,\n): x is DisplayRendererRegistration {\n return x.type === \"display\";\n}\n\nfunction isArrayRegistration(\n x: RendererRegistration,\n): x is ArrayRendererRegistration {\n return x.type === \"array\";\n}\n"],"names":["FieldType","ValidationMessageType","ControlDefinitionType","DynamicPropertyType","ExpressionType","AdornmentPlacement","ControlAdornmentType","DataRenderType","SyncTextType","GroupRenderType","DisplayDataType","ValidatorType","DateComparison","isDataControlDefinition","x","type","Data","isGroupControlsDefinition","Group","isDisplayControlsDefinition","Display","isActionControlsDefinition","Action","visitControlDefinition","visitor","defaultValue","action","data","display","group","isGridRenderer","options","Grid","isFlexRenderer","Flex","isDisplayOnlyRenderer","DisplayOnly","isTextfieldRenderer","Textfield","isDataGroupRenderer","isArrayRenderer","Array","applyDefaultValues","v","fields","doneSet","_doneSet","defaultValueForFields","has","Set","add","applyValue","filter","isCompoundField","field","length","out","_extends","forEach","applyDefaultForField","defaultValueForField","parent","notElement","collection","map","required","treeChildren","children","Object","fromEntries","sf","forceNotNull","undefined","isRequired","childValue","notNullable","elementValueForField","findScalarField","findField","findCompoundField","find","isScalarField","Compound","isDataControl","c","isGroupControl","fieldHasTag","tag","_field$tags","Boolean","tags","includes","fieldDisplayName","_field$displayName","displayName","hasOptions","o","_o$options$length","_o$options","defaultControlForField","title","_sf$tags","htmlEditor","renderOptions","HtmlEditor","Standard","findControlsForCompound","compound","definition","_definition$children$","_definition$children","compoundField","flatMap","d","findCompoundGroups","controls","cf","groups","concat","findNonDataGroups","_x$children","_x$children2","existsInGroups","lookup","itself","_c$children","childLookup","control","_control$children2","cloneChildren","_c$children2","addMissingControls","rootMapping","rootGroups","rootLookup","missingFields","_ref","_f$tags","_insertGroup","f","groupToAdd","startsWith","insertGroup","groupName","substring","push","useUpdatedRef","a","r","useRef","current","isControlReadonly","readonly","isControlDisabled","disabled","getDisplayOnlyOptions","getTypeField","context","fieldPath","withoutLast","slice","fieldList","at","typeSchemaField","isTypeField","lookupChildControl","visitControlDataArray","cb","_iterator2","_createForOfIteratorHelperLoose","_step2","done","value","visitControlData","ctx","def","processData","fieldName","fieldData","thisPath","path","lookupControl","result","cIndex","_iterator3","_control$elements","elements","_step3","elemResult","cfResult","element","lookupChildControlPath","jsonPath","childPath","watchControlLookup","cleanDataForSchema","removeIfDefault","typeField","typeValue","cleanableFields","_x$onlyForTypes$lengt","_x$onlyForTypes","onlyForTypes","_x$onlyForTypes2","canBeNull","childFields","isArray","cv","getAllReferencedClasses","collectExtra","_c$children3","_collectExtra","childClasses","tc","clsx","styleClass","layoutClass","labelClass","getOverrideClass","jsonPathString","customIndex","i","_customIndex","findChildDefinition","base","className","rendererClass","controlClass","globalClass","oc","index","childId","_c$fields","next","trackControlChange","ControlChange","Structure","_c$elements","makeHook","runHook","state","deps","makeHookDepString","asHookDep","toDepString","join","useDynamicHooks","hooks","hookEntries","entries","ref","s","useCallback","p","_ref2","hg","toString","appendElementIndex","dataContext","elementIndex","applyLengthRestrictions","min","max","minValue","maxValue","findFieldPath","fieldNames","split","foundFields","currentFields","nextField","buildSchema","stringField","makeScalarField","String","stringOptionsField","call","arguments","withScalarOptions","n","defaultScalarField","makeCompoundField","defaultCompoundField","intField","Int","doubleField","Double","dateField","Date","timeField","Time","dateTimeField","DateTime","boolField","Bool","other","mergeField","mergeInto","existing","mergeTypes","extras","mergeFields","name","newFields","withType","addFieldOption","reduce","af","_typeField$options","some","resolveSchemas","schemaMap","resolveSchemaType","resolvedFields","schemaRef","keys","dataControl","textDisplayControl","text","displayData","Text","htmlDisplayControl","html","Html","dynamicDefaultValue","expr","DefaultValue","dynamicReadonly","Readonly","dynamicVisibility","Visible","dynamicDisabled","Disabled","fieldEqExpr","DataMatch","jsonataExpr","expression","Jsonata","groupedControl","groupOptions","hideTitle","compoundControl","createAction","actionId","onClick","actionText","emptyGroupDefinition","useControlDefinitionForSchema","useMemo","applyExtensionToSchema","extension","outMap","cro","cr","_cr$fields","applyExtensionsToSchema","extensions","useEvalVisibilityHook","useEvalExpressionHook","useEvalDynamicBoolHook","makeDynamicPropertyHook","useComputed","matchesType","hideDisplayOnly","schemaInterface","useEvalReadonlyHook","useCalculatedControl","useEvalStyleHook","property","dynamicStyle","useEvalDynamicHook","useControl","useEvalAllowedOptionsHook","dynamicAllowed","AllowedOptions","useEvalDisabledHook","_ref3","_dataControl$meta$nul","setToNull","meta","useEvalDisplayHook","useEvalDefaultValueHook","schemaField","dynamicValue","_ref4","calcDefault","_ref5","dcv","useDataExpression","fvExpr","coerce","refField","otherField","useDataMatchExpression","fv","useNotEmptyExpression","isEmptyValue","defaultEvalHooks","useJsonataExpression","UUID","useUuidExpression","NotEmpty","defaultUseEvalExpressionHook","makeEvalExpressionHook","_definition$dynamic","dynamic","types","_lookupChildControl","displayOptions","emptyText","uuidv4","jExpr","bindings","pathString","fullExpr","compiledExpr","jsonata","e","console","error","listenerRef","updateRef","_useRefState","useRefState","makeChangeTracker","l","addAfterChangesCallback","useEffect","apply","_ref$current","collect","updateSubscriptions","_temp","_finallyRethrows","bindingData","collectChanges","_coerce","Promise","resolve","evaluate","trackedValue","then","_compiledExpr$evaluat","_wasThrown","_result","reject","useEvalActionHook","useExpr","ActionData","useEvalLabelText","Label","makeDefault","_dynamicValue$runHook","useMakeValidationHook","useValidatorFor","_dd$validators","useDefaultValidator","dd","refData","depString","validators","_dd$validators2","_refData$current","hiddenControl","useValueChangeEffect","setError","useValidator","validationMessageText","validator","Length","useLengthValidator","useJsonataValidator","useDateValidator","errorMsg","JSON","stringify","lv","len","controlLength","hidden","setValue","from","MinLength","MaxLength","dv","comparisonDate","fixedDate","parseToMillis","nowDate","UTC","getFullYear","getMonth","getDate","daysFromCurrent","selDate","notAfter","comparison","NotAfter","NotAfterDate","NotBeforeDate","cc","DefaultSchemaInterface","boolStrings","_proto","prototype","parse","messageType","actual","expected","toDateString","getOptions","textValue","toLocaleDateString","_control$elements$len","valueLength","defaultSchemaInterface","AppendAdornmentPriority","WrapAdornmentPriority","LabelType","useControlRenderer","renderer","_options$useDataHook","_options$schemaInterf","_options$useEvalExpre","dataProps","useDataHook","defaultDataProps","lookupSchemaField","useValidation","useValidationHook","dynamicHooks","defaultValueControl","visibleControl","readonlyControl","disabledControl","allowedOptions","labelText","actionData","customStyle","Style","layoutStyle","LayoutStyle","displayControl","Component","rootControl","_ref$parentPath","parentPath","stopTracking","useComponentTracking","_definition$adornment","_definition$adornment2","_r$current","parentDataContext","_dynamicHooks","visible","visibility","showing","useControlEffect","ex","_getControlData","getControlData","parentControl","controlDataContext","_definition$renderOpt","isNull","dontClearHidden","NullToggle","vc","_","dontClear","dontDefault","parentNull","ro","clearHidden","myOptionsControl","_visibility$fields","myOptions","newControl","childOptions","React","createElement","Fragment","adornments","renderAdornment","adornment","parentContext","labelAndChildren","renderControlLayout","renderChild","k","child","_options$dataContext","key","ControlRenderer","createDataProps","formOptions","style","customDisplay","actionDataControl","actionOnClick","useChildVisibility","childDef","renderedControl","renderLayout","renderVisibility","_fieldPath$slice$map","_parentControl$fields","_childControl$element","pp","extraPath","_lookupControl","found","childControl","_base","_effect","_useComponentTracking","Render","_allowedOptions$value","_definition$renderOpt2","_ref4$schemaInterface","props","_objectWithoutPropertiesLoose","_excluded","fieldOptions","_allowed","allowed","childDefinitions","id","uniqueId","_fieldOptions$find","y","designMode","renderData","_c$groupOptions2","_labelText$value","_c$groupOptions3","_c$groupOptions","processLayout","renderGroup","label","hide","_props$actionDataCont","_props$actionDataCont2","_labelText$value2","_props$actionOnClick","renderAction","_c$displayData","displayProps","Custom","customId","renderDisplay","_labelText$value3","_c$children$length","rendererProps","controlTitle","Control","forId","errorControl","appendMarkup","markup","layout","wrapMarkup","wrap","layoutKeyForPlacement","pos","ControlEnd","ControlStart","LabelStart","LabelEnd","wrapLayout","rl","orig","appendMarkupAt","wrapMarkupAt","renderLayoutParts","_props$processLayout","_ref6","sort","b","priority","renderLabel","labelStart","labelEnd","applyArrayLengthRestrictions","_ref7","disable","_arrayControl$element","_arrayControl$element2","arrayControl","aa","addAction","ra","removeAction","_applyLengthRestricti","removeAllowed","addAllowed","removeDisabled","addDisabled","isIconAdornment","Icon","isAccordionAdornment","Accordion","isSetFieldAdornment","SetField","createLayoutRenderer","render","createActionRenderer","actionType","createArrayRenderer","createDataRenderer","createGroupRenderer","createDisplayRenderer","createLabelRenderer","createVisibilityRenderer","createAdornmentRenderer","defaultTailwindTheme","groupLabelClass","requiredElement","array","removableClass","childClass","addActionClass","standardClassName","gridClassName","flexClassName","errorClass","displayOnlyClass","checkOptions","entryClass","selectOptions","multilineClass","accordion","titleClass","iconOpenClass","iconClosedClass","createDefaultDisplayRenderer","DefaultDisplay","_display$value","iconClass","textClassName","htmlClassName","dangerouslySetInnerHTML","__html","DefaultLayout","_ref$renderError","renderError","_ref$layout","controlEnd","controlStart","ec","errorText","touched","createDefaultVisibilityRenderer","DefaultVisibility","divRef","createSelectRenderer","asArray","_props$options","SelectDataRenderer","requiredText","convert","createSelectConversion","_ref$emptyText","_ref$requiredText","_useState","useState","showEmpty","optionStringMap","onChange","target","ft","_a$toString","DefaultDisplayOnly","ControlInput","toText","_formControlProps","formControlProps","inputProps","_excluded2","converted","createInputConversion","parseInt","parseFloat","createDefaultArrayDataRenderer","renderers","_definition$validator","lengthVal","addText","noAdd","noRemove","removeText","noun","arrayProps","addElement","removeElement","renderElement","_control$elements$i$u","renderArray","createDefaultArrayRenderer","DefaultArrayRenderer","removableChildClass","removeActionClass","_applyArrayLengthRest","RenderElements","createRadioRenderer","CheckButtons","isChecked","setChecked","renderType","Radio","createCheckListRenderer","checked","setIncluded","CheckList","checkClass","RenderArrayElements","readOnly","htmlFor","elem","included","already","createCheckboxRenderer","Fcheckbox","Checkbox","DefaultAccordion","contentStyle","contentClassName","_ref$renderTitle","renderTitle","t","renderToggler","open","defaultExpanded","isOpen","fullContentStyle","renderLabelText","toggler","createNullToggleRenderer","_control$meta","_nullControl","_control$meta$_nullCo","nullControl","newLayout","NullWrapper","_nullControl$meta$non","createMultilineFieldRenderer","MultilineTextfield","codeRef","textContent","contentEditable","onInput","currentTarget","createJsonataRenderer","JsonataRenderer","rendered","createButtonActionRenderer","_options$renderConten","renderContent","createDefaultGroupRenderer","_ref2$gridStyles","gridStyles","defaultGridStyles","_ref2$defaultGridColu","defaultGridColumns","defaultFlexGap","_ref3$columns","columns","gridTemplateColumns","flexStyles","gap","flexDirection","direction","gcn","cp","DefaultBoolOptions","createDefaultDataRenderer","_options$checkOptions","_options$radioOptions","_options$checkListOpt","jsonataRenderer","jsonataClass","nullToggler","multilineRenderer","checkboxRenderer","checkboxOptions","selectRenderer","radioRenderer","radioOptions","checkListRenderer","checkListOptions","_optionRenderer$boole","optionRenderer","booleanOptions","inputClass","arrayRenderer","fieldType","Any","isBool","Dropdown","multiline","placeholder","createDefaultAdornmentRenderer","setFieldWrapper","always","defaultOnly","_ref8","hook","SetFieldWrapper","_adornment$placement","placement","createDefaultLayoutRenderer","scrollElement","createDefaultLabelRenderer","_requiredElement$labe","labelContainer","controlLabelClass","createDefaultRenderers","createFormRenderer","customRenderers","defaultRenderers","_customRenderers$find","createClassStyledRenderers","dataRegistrations","isDataRegistration","groupRegistrations","isGroupRegistration","adornmentRegistrations","isAdornmentRegistration","displayRegistrations","isDisplayRegistration","labelRenderers","isLabelRegistration","arrayRenderers","isArrayRegistration","actionRenderers","isActionRegistration","layoutRenderers","isLayoutRegistration","visibilityRenderer","isVisibilityRegistration","formRenderers","_layoutRenderers$find","match","_adornmentRegistratio","isOneOf","adornmentType","_arrayRenderers$","_labelRenderers$find","labelType","_dataRegistrations$fi","_x$collection","_field$collection","_x$options","schemaType","_groupRegistrations$f","_actionRenderers$find","_displayRegistrations"],"mappings":"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"}