@8wave/ai-elements 0.119.0-beta.59 → 0.119.0-beta.62

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (108) hide show
  1. package/README.md +3 -0
  2. package/dist/_chunks/{PkChatbotFilePreview-Bdi4_IFu.js → PkChatbotFilePreview-C0uMvUlV.js} +2 -2
  3. package/dist/_chunks/{PkChatbotFilePreview-Bdi4_IFu.js.map → PkChatbotFilePreview-C0uMvUlV.js.map} +1 -1
  4. package/dist/_chunks/{PkHeldImage-eNPFmmdh.js → PkHeldImage-CBvcNMEM.js} +2 -2
  5. package/dist/_chunks/{PkHeldImage-eNPFmmdh.js.map → PkHeldImage-CBvcNMEM.js.map} +1 -1
  6. package/dist/_chunks/{PkLazyImg-DHPPSq3N.js → PkLazyImg-COy3jb6W.js} +2 -2
  7. package/dist/_chunks/{PkLazyImg-DHPPSq3N.js.map → PkLazyImg-COy3jb6W.js.map} +1 -1
  8. package/dist/_chunks/{PkToolEditSpreadsheet-Ct9pdQJ1.js → PkToolEditSpreadsheet-C8PN08y2.js} +2 -2
  9. package/dist/_chunks/{PkToolEditSpreadsheet-Ct9pdQJ1.js.map → PkToolEditSpreadsheet-C8PN08y2.js.map} +1 -1
  10. package/dist/_chunks/{PkToolRequestGeolocation-DzhrY8bg.js → PkToolRequestGeolocation-Cu1TSjHl.js} +2 -2
  11. package/dist/_chunks/{PkToolRequestGeolocation-DzhrY8bg.js.map → PkToolRequestGeolocation-Cu1TSjHl.js.map} +1 -1
  12. package/dist/_chunks/{PkToolRequestOAuthConnection-CzRKRGoG.js → PkToolRequestOAuthConnection-Bc2UX4MZ.js} +3 -3
  13. package/dist/_chunks/{PkToolRequestOAuthConnection-CzRKRGoG.js.map → PkToolRequestOAuthConnection-Bc2UX4MZ.js.map} +1 -1
  14. package/dist/_chunks/{PkToolShowArtifact-D6ZTw5vh.js → PkToolShowArtifact-B1YYNKqc.js} +2 -2
  15. package/dist/_chunks/{PkToolShowArtifact-D6ZTw5vh.js.map → PkToolShowArtifact-B1YYNKqc.js.map} +1 -1
  16. package/dist/_chunks/{PkToolShowCalendarEvent-D8DMh3-P.js → PkToolShowCalendarEvent-r0SuzJDT.js} +3 -3
  17. package/dist/_chunks/{PkToolShowCalendarEvent-D8DMh3-P.js.map → PkToolShowCalendarEvent-r0SuzJDT.js.map} +1 -1
  18. package/dist/_chunks/{PkToolShowComparison-DLC22e1W.js → PkToolShowComparison-Bsh6iiIQ.js} +3 -3
  19. package/dist/_chunks/{PkToolShowComparison-DLC22e1W.js.map → PkToolShowComparison-Bsh6iiIQ.js.map} +1 -1
  20. package/dist/_chunks/{PkToolShowContactForm-CW7gKQ7h.js → PkToolShowContactForm-B2UzmoDw.js} +4 -4
  21. package/dist/_chunks/{PkToolShowContactForm-CW7gKQ7h.js.map → PkToolShowContactForm-B2UzmoDw.js.map} +1 -1
  22. package/dist/_chunks/{PkToolShowDiagram-WregKAJO.js → PkToolShowDiagram-iQRTxxLw.js} +3 -3
  23. package/dist/_chunks/{PkToolShowDiagram-WregKAJO.js.map → PkToolShowDiagram-iQRTxxLw.js.map} +1 -1
  24. package/dist/_chunks/{PkToolShowEmail-C7mUCqGL.js → PkToolShowEmail-1pyuWnuN.js} +3 -3
  25. package/dist/_chunks/{PkToolShowEmail-C7mUCqGL.js.map → PkToolShowEmail-1pyuWnuN.js.map} +1 -1
  26. package/dist/_chunks/{PkToolShowForm-D_2FmDwq.js → PkToolShowForm-BRt9i4aW.js} +5 -5
  27. package/dist/_chunks/{PkToolShowForm-D_2FmDwq.js.map → PkToolShowForm-BRt9i4aW.js.map} +1 -1
  28. package/dist/_chunks/{PkToolShowImageGallery-KmMO4UuQ.js → PkToolShowImageGallery-BZ3uOhQq.js} +3 -3
  29. package/dist/_chunks/{PkToolShowImageGallery-KmMO4UuQ.js.map → PkToolShowImageGallery-BZ3uOhQq.js.map} +1 -1
  30. package/dist/_chunks/{PkToolShowLocation-jRZtqoBO.js → PkToolShowLocation-BIAPTY0s.js} +3 -3
  31. package/dist/_chunks/{PkToolShowLocation-jRZtqoBO.js.map → PkToolShowLocation-BIAPTY0s.js.map} +1 -1
  32. package/dist/_chunks/{PkToolShowMessage-vw4XS4TR.js → PkToolShowMessage-BM3TU9SP.js} +3 -3
  33. package/dist/_chunks/{PkToolShowMessage-vw4XS4TR.js.map → PkToolShowMessage-BM3TU9SP.js.map} +1 -1
  34. package/dist/_chunks/{PkToolShowProductList-cld-FOFb.js → PkToolShowProductList-C4a7R9yQ.js} +4 -4
  35. package/dist/_chunks/{PkToolShowProductList-cld-FOFb.js.map → PkToolShowProductList-C4a7R9yQ.js.map} +1 -1
  36. package/dist/_chunks/{PkToolShowQrCode-BhcAUXSZ.js → PkToolShowQrCode-6zjcD50R.js} +3 -3
  37. package/dist/_chunks/{PkToolShowQrCode-BhcAUXSZ.js.map → PkToolShowQrCode-6zjcD50R.js.map} +1 -1
  38. package/dist/_chunks/{PkToolShowSources-DyzheirE.js → PkToolShowSources-CgZRJ1gU.js} +3 -3
  39. package/dist/_chunks/{PkToolShowSources-DyzheirE.js.map → PkToolShowSources-CgZRJ1gU.js.map} +1 -1
  40. package/dist/_chunks/{PkToolShowSuggestedReply-xUBuqStM.js → PkToolShowSuggestedReply-nHsdJfbX.js} +2 -2
  41. package/dist/_chunks/{PkToolShowSuggestedReply-xUBuqStM.js.map → PkToolShowSuggestedReply-nHsdJfbX.js.map} +1 -1
  42. package/dist/_chunks/{PkToolShowVideo-KDNxItWl.js → PkToolShowVideo-BxHrmc_4.js} +3 -3
  43. package/dist/_chunks/{PkToolShowVideo-KDNxItWl.js.map → PkToolShowVideo-BxHrmc_4.js.map} +1 -1
  44. package/dist/_chunks/{PkToolShowWeather-DTrZ7r1t.js → PkToolShowWeather-CNvVC6nZ.js} +2 -2
  45. package/dist/_chunks/{PkToolShowWeather-DTrZ7r1t.js.map → PkToolShowWeather-CNvVC6nZ.js.map} +1 -1
  46. package/dist/_chunks/{PkToolShowWebPages-D35B7GzS.js → PkToolShowWebPages-CRM3rPp6.js} +4 -4
  47. package/dist/_chunks/{PkToolShowWebPages-D35B7GzS.js.map → PkToolShowWebPages-CRM3rPp6.js.map} +1 -1
  48. package/dist/_chunks/{VvButtonLocalized-DV-zbH9b.js → VvButtonLocalized-PfbIEwav.js} +2 -2
  49. package/dist/_chunks/{VvButtonLocalized-DV-zbH9b.js.map → VvButtonLocalized-PfbIEwav.js.map} +1 -1
  50. package/dist/_chunks/{VvCheckbox.es-VtDFxWJM.js → VvCheckbox.es-CtWUn81l.js} +3 -3
  51. package/dist/_chunks/VvCheckbox.es-CtWUn81l.js.map +1 -0
  52. package/dist/_chunks/{VvCheckboxGroup.es-D7MifHZN.js → VvCheckboxGroup.es-DjcwsgD8.js} +3 -3
  53. package/dist/_chunks/VvCheckboxGroup.es-DjcwsgD8.js.map +1 -0
  54. package/dist/_chunks/{VvCombobox.es-Brn06uOj.js → VvCombobox.es-DKR6Fb2W.js} +339 -304
  55. package/dist/_chunks/VvCombobox.es-DKR6Fb2W.js.map +1 -0
  56. package/dist/_chunks/{VvInputText.es-Co9NrR4l.js → VvInputText.es-6IlsXl00.js} +315 -275
  57. package/dist/_chunks/VvInputText.es-6IlsXl00.js.map +1 -0
  58. package/dist/_chunks/{VvRadio.es-BxHgVeVy.js → VvRadio.es-GQuMOlYC.js} +3 -3
  59. package/dist/_chunks/VvRadio.es-GQuMOlYC.js.map +1 -0
  60. package/dist/_chunks/{VvRadioGroup.es-DZtXJGCi.js → VvRadioGroup.es-ct4eQCRN.js} +3 -3
  61. package/dist/_chunks/VvRadioGroup.es-ct4eQCRN.js.map +1 -0
  62. package/dist/_chunks/{VvSelect.es-BR8f0LUN.js → VvSelect.es-CQ2SG0HY.js} +3 -3
  63. package/dist/_chunks/VvSelect.es-CQ2SG0HY.js.map +1 -0
  64. package/dist/_chunks/{VvTextarea.es-TXhUgEuG.js → VvTextarea.es-BcMLwglK.js} +225 -190
  65. package/dist/_chunks/VvTextarea.es-BcMLwglK.js.map +1 -0
  66. package/dist/_chunks/{index.es-dTcgyeM4.js → index.es-D7jsz1j2.js} +254 -210
  67. package/dist/_chunks/index.es-D7jsz1j2.js.map +1 -0
  68. package/dist/_chunks/{index.es-DkFMpDsf.js → index.es-DmG03ICf.js} +10 -10
  69. package/dist/_chunks/{index.es-DkFMpDsf.js.map → index.es-DmG03ICf.js.map} +1 -1
  70. package/dist/ai-elements.es.js +1698 -1643
  71. package/dist/ai-elements.es.js.map +1 -1
  72. package/dist-vue/PkChatbot.js +1 -1
  73. package/dist-vue/PkChatbotAuth.js +1 -1
  74. package/dist-vue/PkChatbotFeedbackForm.js +1 -1
  75. package/dist-vue/PkChatbotMessages.js +1 -1
  76. package/dist-vue/PkChatbotViewChat.js +1 -1
  77. package/dist-vue/_chunks/{PkChatbot-Bgw5K9w1.js → PkChatbot-BRfoWvHX.js} +2 -2
  78. package/dist-vue/_chunks/{PkChatbot-Bgw5K9w1.js.map → PkChatbot-BRfoWvHX.js.map} +1 -1
  79. package/dist-vue/_chunks/{PkChatbotAuth-CHoEXxmg.js → PkChatbotAuth-BsxfxDgR.js} +2 -2
  80. package/dist-vue/_chunks/{PkChatbotAuth-CHoEXxmg.js.map → PkChatbotAuth-BsxfxDgR.js.map} +1 -1
  81. package/dist-vue/_chunks/{PkChatbotFeedbackForm-B5cYsWBr.js → PkChatbotFeedbackForm-pQc2JrQT.js} +2 -2
  82. package/dist-vue/_chunks/{PkChatbotFeedbackForm-B5cYsWBr.js.map → PkChatbotFeedbackForm-pQc2JrQT.js.map} +1 -1
  83. package/dist-vue/_chunks/{PkChatbotMessages-B2e1MQ_d.js → PkChatbotMessages-B6EEvqZy.js} +3 -3
  84. package/dist-vue/_chunks/{PkChatbotMessages-B2e1MQ_d.js.map → PkChatbotMessages-B6EEvqZy.js.map} +1 -1
  85. package/dist-vue/_chunks/{PkChatbotViewChat-DEpMIiic.js → PkChatbotViewChat-PdHUXyCz.js} +3 -3
  86. package/dist-vue/_chunks/{PkChatbotViewChat-DEpMIiic.js.map → PkChatbotViewChat-PdHUXyCz.js.map} +1 -1
  87. package/dist-vue/_chunks/{PkToolShowContactForm-BjE4mrDv.js → PkToolShowContactForm-CBuw96Vr.js} +2 -2
  88. package/dist-vue/_chunks/{PkToolShowContactForm-BjE4mrDv.js.map → PkToolShowContactForm-CBuw96Vr.js.map} +1 -1
  89. package/dist-vue/_chunks/{index.es-C1u3kP7i.js → index.es-CY6tu8qg.js} +2 -2
  90. package/dist-vue/_chunks/{index.es-C1u3kP7i.js.map → index.es-CY6tu8qg.js.map} +1 -1
  91. package/dist-vue/apps/web-component/src/composables/useChatbotAuth.d.ts +36 -0
  92. package/dist-vue/composables.js +217 -164
  93. package/dist-vue/composables.js.map +1 -1
  94. package/dist-vue/index.js +8 -8
  95. package/dist-vue/index.js.map +1 -1
  96. package/dist-vue/packages/auth/src/external-auth-plugin.d.ts +22 -0
  97. package/dist-vue/packages/auth/src/external-identity.d.ts +64 -0
  98. package/dist-vue/packages/models/src/schema/McpServer.d.ts +19 -3
  99. package/package.json +2 -2
  100. package/dist/_chunks/VvCheckbox.es-VtDFxWJM.js.map +0 -1
  101. package/dist/_chunks/VvCheckboxGroup.es-D7MifHZN.js.map +0 -1
  102. package/dist/_chunks/VvCombobox.es-Brn06uOj.js.map +0 -1
  103. package/dist/_chunks/VvInputText.es-Co9NrR4l.js.map +0 -1
  104. package/dist/_chunks/VvRadio.es-BxHgVeVy.js.map +0 -1
  105. package/dist/_chunks/VvRadioGroup.es-DZtXJGCi.js.map +0 -1
  106. package/dist/_chunks/VvSelect.es-BR8f0LUN.js.map +0 -1
  107. package/dist/_chunks/VvTextarea.es-TXhUgEuG.js.map +0 -1
  108. package/dist/_chunks/index.es-dTcgyeM4.js.map +0 -1
@@ -5,7 +5,7 @@ import { t as a } from "./PkStreamingMarkdown-DZ8jmXzh.js";
5
5
  import { t as o } from "./src-BZRiAJsH.js";
6
6
  import { t as s } from "./useSafeLocalStorage-B1mX0eKb.js";
7
7
  import { t as ee } from "./useLocalizedString-PfaKjIQY.js";
8
- import { t as c } from "./index.es-C1u3kP7i.js";
8
+ import { t as c } from "./index.es-CY6tu8qg.js";
9
9
  import { VvAlert as l, VvIcon as u } from "@volverjs/ui-vue/components";
10
10
  import { Fragment as d, Transition as f, computed as p, createBlock as m, createCommentVNode as h, createElementBlock as g, createElementVNode as _, createTextVNode as v, createVNode as y, defineComponent as b, isRef as x, openBlock as S, renderList as C, toDisplayString as w, unref as T, watch as E, withCtx as D } from "vue";
11
11
  import { useI18n as O } from "vue-i18n";
@@ -157,4 +157,4 @@ var k = { class: "border border-surface-3 rounded-xl w-full overflow-hidden bg-s
157
157
  //#endregion
158
158
  export { W as n, G as t };
159
159
 
160
- //# sourceMappingURL=PkToolShowContactForm-BjE4mrDv.js.map
160
+ //# sourceMappingURL=PkToolShowContactForm-CBuw96Vr.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PkToolShowContactForm-BjE4mrDv.js","names":["z.object","z.string","z.email","useForm","__unplugin_components_0","__unplugin_components_1","__unplugin_components_2","_openBlock","_createElementBlock","_createElementVNode","_createVNode","_toDisplayString","_unref","_Transition","_withCtx","_Fragment","_renderList","_createCommentVNode","_isRef","_createBlock","_createTextVNode","PkStreamingMarkdown","_sfc_main","__exportAll","string","email","object","VvButtonLocalized","PkStreamingMarkdown_default","formatPhoneNumber","useSafeLocalStorage","useLocalizedString","Se","_hoisted_1","_hoisted_2","_hoisted_3","_hoisted_4","_hoisted_5","_hoisted_6","_hoisted_7","_hoisted_8","_hoisted_9","_hoisted_10","_hoisted_11","_hoisted_12","_hoisted_13","_hoisted_14","_hoisted_15","PkToolShowContactForm_vue_vue_type_script_setup_true_lang_default","__emit","$t","useI18n","props","__props","toolPart","computed","input","prefilled","value","field","localSubmitted","LeadFormSchema","emit","watch","newInput","submitted","isSubmitted","submitLead","data","privacyNotice","_component_VvIcon","VvIcon","_component_VvAlert","VvAlert","_component_VvButton","openBlock","createElementBlock","createElementVNode","createVNode","toDisplayString","unref","Transition","withCtx","Fragment","renderList","createCommentVNode","VvForm","formData","_cache","isRef","$event","VvFormField","createBlock","createTextVNode","PkToolShowContactForm_exports","PkToolShowContactForm_default"],"sources":["../../../../packages/components/src/chat/PkToolShowContactForm.vue","../../../../packages/components/src/chat/PkToolShowContactForm.vue"],"sourcesContent":["<script setup lang=\"ts\">\n import { computed, watch } from 'vue'\n import { useI18n } from 'vue-i18n'\n import { useForm } from '@volverjs/form-vue'\n import * as z from 'zod'\n import { useSafeLocalStorage, useLocalizedString } from 'composables'\n import type { LocalizedString } from 'models'\n import { formatPhoneNumber } from 'utils'\n import PkStreamingMarkdown from './PkStreamingMarkdown.vue'\n\n const { t: $t } = useI18n({ useScope: 'global' })\n\n const props = defineProps<{\n part: unknown\n submitted?: boolean\n loading?: boolean\n error?: string\n readonly?: boolean\n privacyPolicyNotice?: LocalizedString\n /**\n * A conversation read back (the chat logs): the card is the record\n * of the form the agent showed, its prefilled values as text. Nothing\n * in the part says whether the visitor sent it, only the contacts do.\n */\n record?: boolean\n }>()\n\n const toolPart = computed(() => {\n const part = props.part as {\n type: string\n toolCallId: string\n input?: {\n name: string\n email: string\n phone?: string\n conversationContext?: Record<string, unknown>\n }\n }\n return part\n })\n\n const input = computed(() => toolPart.value.input)\n\n const prefilled = computed(() =>\n (\n [\n { name: 'name', label: $t('label.name') },\n { name: 'email', label: $t('label.email') },\n { name: 'phone', label: $t('label.phone') },\n ] as const\n )\n .map((field) => {\n const value = input.value?.[field.name]?.trim()\n return {\n ...field,\n // Written as the contacts page writes it\n value:\n field.name === 'phone' && value\n ? formatPhoneNumber(value) || value\n : value,\n }\n })\n .filter((field) => field.value),\n )\n\n const localSubmitted = useSafeLocalStorage<boolean>(\n computed(\n () =>\n `${toolPart.value.toolCallId}-${toolPart.value.type}-submitted`,\n ),\n false,\n )\n\n const LeadFormSchema = z.object({\n name: z.string().min(1).max(255).default(''),\n email: z.email().max(255).default(''),\n phone: z\n .string()\n .max(50)\n .regex(/^[+0-9\\s\\-.()]*$/, $t('validation.invalidPhoneNumber'))\n .optional(),\n })\n\n const emit = defineEmits<{\n submit: [data: Record<string, unknown>]\n }>()\n\n const { VvForm, VvFormField, formData } = useForm(LeadFormSchema, {\n lazyLoad: true,\n })\n\n // Pre-populate form with input values\n watch(\n input,\n (newInput) => {\n formData.value = {\n name: newInput?.name || '',\n email: newInput?.email || '',\n phone: newInput?.phone || '',\n }\n },\n { immediate: true },\n )\n\n watch(\n () => props.submitted,\n (submitted) => {\n if (submitted) {\n localSubmitted.value = true\n }\n },\n { immediate: true },\n )\n\n const isSubmitted = computed(() => {\n return props.submitted || localSubmitted.value\n })\n\n const submitLead = async (data: Record<string, unknown>): Promise<void> => {\n emit('submit', { ...data, metadata: input.value?.conversationContext })\n }\n\n const privacyNotice = useLocalizedString(\n () => props.privacyPolicyNotice,\n 'message.defaultPrivacyPolicyNotice',\n )\n</script>\n\n<template>\n <div\n class=\"border border-surface-3 rounded-xl w-full overflow-hidden bg-surface\">\n <div\n class=\"px-sm py-6 bg-surface-1 min-h-40 text-12 border-b border-surface-3 text-word-3 flex items-center gap-8 min-h-40\">\n <VvIcon name=\"ri:send-plane-2-line\" class=\"text-16\" />\n <strong class=\"font-bold\">{{ $t('label.contactUs') }}</strong>\n </div>\n\n <Transition mode=\"out-in\">\n <div v-if=\"record\" class=\"p-sm flex flex-col gap-sm text-14\">\n <p class=\"text-word-2\">\n {{\n prefilled.length\n ? $t('message.contactFormRecordPrefilled')\n : $t('message.contactFormRecord')\n }}\n </p>\n <dl\n v-if=\"prefilled.length\"\n class=\"flex flex-wrap gap-x-lg gap-y-sm\">\n <div\n v-for=\"field in prefilled\"\n :key=\"field.name\"\n class=\"flex flex-col gap-4 min-w-0\">\n <dt class=\"text-12 text-word-3\">{{ field.label }}</dt>\n <dd class=\"text-word-1 break-words\">\n {{ field.value }}\n </dd>\n </div>\n </dl>\n </div>\n <div v-else-if=\"!isSubmitted\" class=\"p-sm\">\n <VvForm v-model=\"formData\" :readonly @submit=\"submitLead\">\n <VvFormField\n name=\"name\"\n type=\"text\"\n :label=\"$t('label.name')\"\n :placeholder=\"$t('placeholder.name')\"\n icon=\"ri:user-line\"\n modifiers=\"compact\"\n class=\"mb-md\" />\n <VvFormField\n name=\"email\"\n type=\"email\"\n :label=\"$t('label.email')\"\n :placeholder=\"$t('placeholder.email')\"\n icon=\"ri:mail-line\"\n modifiers=\"compact\"\n class=\"mb-md\" />\n <VvFormField\n name=\"phone\"\n type=\"tel\"\n :label=\"$t('label.phone')\"\n :placeholder=\"$t('placeholder.phone')\"\n icon=\"ri:phone-line\"\n class=\"mb-md\"\n modifiers=\"compact\" />\n\n <!-- A send that failed says so: the reason reached the\n card and was never drawn -->\n <VvAlert v-if=\"error\" modifiers=\"danger\" class=\"mb-md\">\n {{ error }}\n </VvAlert>\n\n <div class=\"flex justify-between items-center gap-16 mt-xs\">\n <div\n class=\"text-smaller text-word-3 flex items-center gap-8\">\n <VvIcon\n name=\"ri:shield-check-line\"\n class=\"text-16 shrink-0\" />\n <PkStreamingMarkdown\n :markdown=\"privacyNotice\"\n class=\"wysiwyg\" />\n </div>\n <!-- The library's default button is the brand, and in\n the chat the brand is the agent's color, as on the\n rest of the card: `primary` drew it neutral dark -->\n <VvButton\n type=\"submit\"\n :loading\n :disabled=\"loading || readonly\"\n icon-position=\"right\"\n class=\"shrink-0\"\n :label=\"$t('action.submit')\" />\n </div>\n </VvForm>\n </div>\n <div v-else class=\"p-sm\">\n <!-- One confirmation row across every tool card: a green\n check, the title in weight, the body quiet. The check is\n the outcome, so it alone carries the colour (DESIGN.md). -->\n <div class=\"flex items-center gap-sm\">\n <VvIcon name=\"ri:check-line\" class=\"text-16 text-success\" />\n <div>\n <strong class=\"font-medium block text-word-1\">\n {{ $t('message.leadSubmittedTitle') }}\n </strong>\n <p class=\"text-word-3\">\n {{ $t('message.leadSubmittedMessage') }}\n </p>\n </div>\n </div>\n </div>\n </Transition>\n </div>\n</template>\n","<script setup lang=\"ts\">\n import { computed, watch } from 'vue'\n import { useI18n } from 'vue-i18n'\n import { useForm } from '@volverjs/form-vue'\n import * as z from 'zod'\n import { useSafeLocalStorage, useLocalizedString } from 'composables'\n import type { LocalizedString } from 'models'\n import { formatPhoneNumber } from 'utils'\n import PkStreamingMarkdown from './PkStreamingMarkdown.vue'\n\n const { t: $t } = useI18n({ useScope: 'global' })\n\n const props = defineProps<{\n part: unknown\n submitted?: boolean\n loading?: boolean\n error?: string\n readonly?: boolean\n privacyPolicyNotice?: LocalizedString\n /**\n * A conversation read back (the chat logs): the card is the record\n * of the form the agent showed, its prefilled values as text. Nothing\n * in the part says whether the visitor sent it, only the contacts do.\n */\n record?: boolean\n }>()\n\n const toolPart = computed(() => {\n const part = props.part as {\n type: string\n toolCallId: string\n input?: {\n name: string\n email: string\n phone?: string\n conversationContext?: Record<string, unknown>\n }\n }\n return part\n })\n\n const input = computed(() => toolPart.value.input)\n\n const prefilled = computed(() =>\n (\n [\n { name: 'name', label: $t('label.name') },\n { name: 'email', label: $t('label.email') },\n { name: 'phone', label: $t('label.phone') },\n ] as const\n )\n .map((field) => {\n const value = input.value?.[field.name]?.trim()\n return {\n ...field,\n // Written as the contacts page writes it\n value:\n field.name === 'phone' && value\n ? formatPhoneNumber(value) || value\n : value,\n }\n })\n .filter((field) => field.value),\n )\n\n const localSubmitted = useSafeLocalStorage<boolean>(\n computed(\n () =>\n `${toolPart.value.toolCallId}-${toolPart.value.type}-submitted`,\n ),\n false,\n )\n\n const LeadFormSchema = z.object({\n name: z.string().min(1).max(255).default(''),\n email: z.email().max(255).default(''),\n phone: z\n .string()\n .max(50)\n .regex(/^[+0-9\\s\\-.()]*$/, $t('validation.invalidPhoneNumber'))\n .optional(),\n })\n\n const emit = defineEmits<{\n submit: [data: Record<string, unknown>]\n }>()\n\n const { VvForm, VvFormField, formData } = useForm(LeadFormSchema, {\n lazyLoad: true,\n })\n\n // Pre-populate form with input values\n watch(\n input,\n (newInput) => {\n formData.value = {\n name: newInput?.name || '',\n email: newInput?.email || '',\n phone: newInput?.phone || '',\n }\n },\n { immediate: true },\n )\n\n watch(\n () => props.submitted,\n (submitted) => {\n if (submitted) {\n localSubmitted.value = true\n }\n },\n { immediate: true },\n )\n\n const isSubmitted = computed(() => {\n return props.submitted || localSubmitted.value\n })\n\n const submitLead = async (data: Record<string, unknown>): Promise<void> => {\n emit('submit', { ...data, metadata: input.value?.conversationContext })\n }\n\n const privacyNotice = useLocalizedString(\n () => props.privacyPolicyNotice,\n 'message.defaultPrivacyPolicyNotice',\n )\n</script>\n\n<template>\n <div\n class=\"border border-surface-3 rounded-xl w-full overflow-hidden bg-surface\">\n <div\n class=\"px-sm py-6 bg-surface-1 min-h-40 text-12 border-b border-surface-3 text-word-3 flex items-center gap-8 min-h-40\">\n <VvIcon name=\"ri:send-plane-2-line\" class=\"text-16\" />\n <strong class=\"font-bold\">{{ $t('label.contactUs') }}</strong>\n </div>\n\n <Transition mode=\"out-in\">\n <div v-if=\"record\" class=\"p-sm flex flex-col gap-sm text-14\">\n <p class=\"text-word-2\">\n {{\n prefilled.length\n ? $t('message.contactFormRecordPrefilled')\n : $t('message.contactFormRecord')\n }}\n </p>\n <dl\n v-if=\"prefilled.length\"\n class=\"flex flex-wrap gap-x-lg gap-y-sm\">\n <div\n v-for=\"field in prefilled\"\n :key=\"field.name\"\n class=\"flex flex-col gap-4 min-w-0\">\n <dt class=\"text-12 text-word-3\">{{ field.label }}</dt>\n <dd class=\"text-word-1 break-words\">\n {{ field.value }}\n </dd>\n </div>\n </dl>\n </div>\n <div v-else-if=\"!isSubmitted\" class=\"p-sm\">\n <VvForm v-model=\"formData\" :readonly @submit=\"submitLead\">\n <VvFormField\n name=\"name\"\n type=\"text\"\n :label=\"$t('label.name')\"\n :placeholder=\"$t('placeholder.name')\"\n icon=\"ri:user-line\"\n modifiers=\"compact\"\n class=\"mb-md\" />\n <VvFormField\n name=\"email\"\n type=\"email\"\n :label=\"$t('label.email')\"\n :placeholder=\"$t('placeholder.email')\"\n icon=\"ri:mail-line\"\n modifiers=\"compact\"\n class=\"mb-md\" />\n <VvFormField\n name=\"phone\"\n type=\"tel\"\n :label=\"$t('label.phone')\"\n :placeholder=\"$t('placeholder.phone')\"\n icon=\"ri:phone-line\"\n class=\"mb-md\"\n modifiers=\"compact\" />\n\n <!-- A send that failed says so: the reason reached the\n card and was never drawn -->\n <VvAlert v-if=\"error\" modifiers=\"danger\" class=\"mb-md\">\n {{ error }}\n </VvAlert>\n\n <div class=\"flex justify-between items-center gap-16 mt-xs\">\n <div\n class=\"text-smaller text-word-3 flex items-center gap-8\">\n <VvIcon\n name=\"ri:shield-check-line\"\n class=\"text-16 shrink-0\" />\n <PkStreamingMarkdown\n :markdown=\"privacyNotice\"\n class=\"wysiwyg\" />\n </div>\n <!-- The library's default button is the brand, and in\n the chat the brand is the agent's color, as on the\n rest of the card: `primary` drew it neutral dark -->\n <VvButton\n type=\"submit\"\n :loading\n :disabled=\"loading || readonly\"\n icon-position=\"right\"\n class=\"shrink-0\"\n :label=\"$t('action.submit')\" />\n </div>\n </VvForm>\n </div>\n <div v-else class=\"p-sm\">\n <!-- One confirmation row across every tool card: a green\n check, the title in weight, the body quiet. The check is\n the outcome, so it alone carries the colour (DESIGN.md). -->\n <div class=\"flex items-center gap-sm\">\n <VvIcon name=\"ri:check-line\" class=\"text-16 text-success\" />\n <div>\n <strong class=\"font-medium block text-word-1\">\n {{ $t('message.leadSubmittedTitle') }}\n </strong>\n <p class=\"text-word-3\">\n {{ $t('message.leadSubmittedMessage') }}\n </p>\n </div>\n </div>\n </div>\n </Transition>\n </div>\n</template>\n"],"mappings":"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"}
1
+ {"version":3,"file":"PkToolShowContactForm-CBuw96Vr.js","names":["z.object","z.string","z.email","useForm","__unplugin_components_0","__unplugin_components_1","__unplugin_components_2","_openBlock","_createElementBlock","_createElementVNode","_createVNode","_toDisplayString","_unref","_Transition","_withCtx","_Fragment","_renderList","_createCommentVNode","_isRef","_createBlock","_createTextVNode","PkStreamingMarkdown","_sfc_main","__exportAll","string","email","object","VvButtonLocalized","PkStreamingMarkdown_default","formatPhoneNumber","useSafeLocalStorage","useLocalizedString","Se","_hoisted_1","_hoisted_2","_hoisted_3","_hoisted_4","_hoisted_5","_hoisted_6","_hoisted_7","_hoisted_8","_hoisted_9","_hoisted_10","_hoisted_11","_hoisted_12","_hoisted_13","_hoisted_14","_hoisted_15","PkToolShowContactForm_vue_vue_type_script_setup_true_lang_default","__emit","$t","useI18n","props","__props","toolPart","computed","input","prefilled","value","field","localSubmitted","LeadFormSchema","emit","watch","newInput","submitted","isSubmitted","submitLead","data","privacyNotice","_component_VvIcon","VvIcon","_component_VvAlert","VvAlert","_component_VvButton","openBlock","createElementBlock","createElementVNode","createVNode","toDisplayString","unref","Transition","withCtx","Fragment","renderList","createCommentVNode","VvForm","formData","_cache","isRef","$event","VvFormField","createBlock","createTextVNode","PkToolShowContactForm_exports","PkToolShowContactForm_default"],"sources":["../../../../packages/components/src/chat/PkToolShowContactForm.vue","../../../../packages/components/src/chat/PkToolShowContactForm.vue"],"sourcesContent":["<script setup lang=\"ts\">\n import { computed, watch } from 'vue'\n import { useI18n } from 'vue-i18n'\n import { useForm } from '@volverjs/form-vue'\n import * as z from 'zod'\n import { useSafeLocalStorage, useLocalizedString } from 'composables'\n import type { LocalizedString } from 'models'\n import { formatPhoneNumber } from 'utils'\n import PkStreamingMarkdown from './PkStreamingMarkdown.vue'\n\n const { t: $t } = useI18n({ useScope: 'global' })\n\n const props = defineProps<{\n part: unknown\n submitted?: boolean\n loading?: boolean\n error?: string\n readonly?: boolean\n privacyPolicyNotice?: LocalizedString\n /**\n * A conversation read back (the chat logs): the card is the record\n * of the form the agent showed, its prefilled values as text. Nothing\n * in the part says whether the visitor sent it, only the contacts do.\n */\n record?: boolean\n }>()\n\n const toolPart = computed(() => {\n const part = props.part as {\n type: string\n toolCallId: string\n input?: {\n name: string\n email: string\n phone?: string\n conversationContext?: Record<string, unknown>\n }\n }\n return part\n })\n\n const input = computed(() => toolPart.value.input)\n\n const prefilled = computed(() =>\n (\n [\n { name: 'name', label: $t('label.name') },\n { name: 'email', label: $t('label.email') },\n { name: 'phone', label: $t('label.phone') },\n ] as const\n )\n .map((field) => {\n const value = input.value?.[field.name]?.trim()\n return {\n ...field,\n // Written as the contacts page writes it\n value:\n field.name === 'phone' && value\n ? formatPhoneNumber(value) || value\n : value,\n }\n })\n .filter((field) => field.value),\n )\n\n const localSubmitted = useSafeLocalStorage<boolean>(\n computed(\n () =>\n `${toolPart.value.toolCallId}-${toolPart.value.type}-submitted`,\n ),\n false,\n )\n\n const LeadFormSchema = z.object({\n name: z.string().min(1).max(255).default(''),\n email: z.email().max(255).default(''),\n phone: z\n .string()\n .max(50)\n .regex(/^[+0-9\\s\\-.()]*$/, $t('validation.invalidPhoneNumber'))\n .optional(),\n })\n\n const emit = defineEmits<{\n submit: [data: Record<string, unknown>]\n }>()\n\n const { VvForm, VvFormField, formData } = useForm(LeadFormSchema, {\n lazyLoad: true,\n })\n\n // Pre-populate form with input values\n watch(\n input,\n (newInput) => {\n formData.value = {\n name: newInput?.name || '',\n email: newInput?.email || '',\n phone: newInput?.phone || '',\n }\n },\n { immediate: true },\n )\n\n watch(\n () => props.submitted,\n (submitted) => {\n if (submitted) {\n localSubmitted.value = true\n }\n },\n { immediate: true },\n )\n\n const isSubmitted = computed(() => {\n return props.submitted || localSubmitted.value\n })\n\n const submitLead = async (data: Record<string, unknown>): Promise<void> => {\n emit('submit', { ...data, metadata: input.value?.conversationContext })\n }\n\n const privacyNotice = useLocalizedString(\n () => props.privacyPolicyNotice,\n 'message.defaultPrivacyPolicyNotice',\n )\n</script>\n\n<template>\n <div\n class=\"border border-surface-3 rounded-xl w-full overflow-hidden bg-surface\">\n <div\n class=\"px-sm py-6 bg-surface-1 min-h-40 text-12 border-b border-surface-3 text-word-3 flex items-center gap-8 min-h-40\">\n <VvIcon name=\"ri:send-plane-2-line\" class=\"text-16\" />\n <strong class=\"font-bold\">{{ $t('label.contactUs') }}</strong>\n </div>\n\n <Transition mode=\"out-in\">\n <div v-if=\"record\" class=\"p-sm flex flex-col gap-sm text-14\">\n <p class=\"text-word-2\">\n {{\n prefilled.length\n ? $t('message.contactFormRecordPrefilled')\n : $t('message.contactFormRecord')\n }}\n </p>\n <dl\n v-if=\"prefilled.length\"\n class=\"flex flex-wrap gap-x-lg gap-y-sm\">\n <div\n v-for=\"field in prefilled\"\n :key=\"field.name\"\n class=\"flex flex-col gap-4 min-w-0\">\n <dt class=\"text-12 text-word-3\">{{ field.label }}</dt>\n <dd class=\"text-word-1 break-words\">\n {{ field.value }}\n </dd>\n </div>\n </dl>\n </div>\n <div v-else-if=\"!isSubmitted\" class=\"p-sm\">\n <VvForm v-model=\"formData\" :readonly @submit=\"submitLead\">\n <VvFormField\n name=\"name\"\n type=\"text\"\n :label=\"$t('label.name')\"\n :placeholder=\"$t('placeholder.name')\"\n icon=\"ri:user-line\"\n modifiers=\"compact\"\n class=\"mb-md\" />\n <VvFormField\n name=\"email\"\n type=\"email\"\n :label=\"$t('label.email')\"\n :placeholder=\"$t('placeholder.email')\"\n icon=\"ri:mail-line\"\n modifiers=\"compact\"\n class=\"mb-md\" />\n <VvFormField\n name=\"phone\"\n type=\"tel\"\n :label=\"$t('label.phone')\"\n :placeholder=\"$t('placeholder.phone')\"\n icon=\"ri:phone-line\"\n class=\"mb-md\"\n modifiers=\"compact\" />\n\n <!-- A send that failed says so: the reason reached the\n card and was never drawn -->\n <VvAlert v-if=\"error\" modifiers=\"danger\" class=\"mb-md\">\n {{ error }}\n </VvAlert>\n\n <div class=\"flex justify-between items-center gap-16 mt-xs\">\n <div\n class=\"text-smaller text-word-3 flex items-center gap-8\">\n <VvIcon\n name=\"ri:shield-check-line\"\n class=\"text-16 shrink-0\" />\n <PkStreamingMarkdown\n :markdown=\"privacyNotice\"\n class=\"wysiwyg\" />\n </div>\n <!-- The library's default button is the brand, and in\n the chat the brand is the agent's color, as on the\n rest of the card: `primary` drew it neutral dark -->\n <VvButton\n type=\"submit\"\n :loading\n :disabled=\"loading || readonly\"\n icon-position=\"right\"\n class=\"shrink-0\"\n :label=\"$t('action.submit')\" />\n </div>\n </VvForm>\n </div>\n <div v-else class=\"p-sm\">\n <!-- One confirmation row across every tool card: a green\n check, the title in weight, the body quiet. The check is\n the outcome, so it alone carries the colour (DESIGN.md). -->\n <div class=\"flex items-center gap-sm\">\n <VvIcon name=\"ri:check-line\" class=\"text-16 text-success\" />\n <div>\n <strong class=\"font-medium block text-word-1\">\n {{ $t('message.leadSubmittedTitle') }}\n </strong>\n <p class=\"text-word-3\">\n {{ $t('message.leadSubmittedMessage') }}\n </p>\n </div>\n </div>\n </div>\n </Transition>\n </div>\n</template>\n","<script setup lang=\"ts\">\n import { computed, watch } from 'vue'\n import { useI18n } from 'vue-i18n'\n import { useForm } from '@volverjs/form-vue'\n import * as z from 'zod'\n import { useSafeLocalStorage, useLocalizedString } from 'composables'\n import type { LocalizedString } from 'models'\n import { formatPhoneNumber } from 'utils'\n import PkStreamingMarkdown from './PkStreamingMarkdown.vue'\n\n const { t: $t } = useI18n({ useScope: 'global' })\n\n const props = defineProps<{\n part: unknown\n submitted?: boolean\n loading?: boolean\n error?: string\n readonly?: boolean\n privacyPolicyNotice?: LocalizedString\n /**\n * A conversation read back (the chat logs): the card is the record\n * of the form the agent showed, its prefilled values as text. Nothing\n * in the part says whether the visitor sent it, only the contacts do.\n */\n record?: boolean\n }>()\n\n const toolPart = computed(() => {\n const part = props.part as {\n type: string\n toolCallId: string\n input?: {\n name: string\n email: string\n phone?: string\n conversationContext?: Record<string, unknown>\n }\n }\n return part\n })\n\n const input = computed(() => toolPart.value.input)\n\n const prefilled = computed(() =>\n (\n [\n { name: 'name', label: $t('label.name') },\n { name: 'email', label: $t('label.email') },\n { name: 'phone', label: $t('label.phone') },\n ] as const\n )\n .map((field) => {\n const value = input.value?.[field.name]?.trim()\n return {\n ...field,\n // Written as the contacts page writes it\n value:\n field.name === 'phone' && value\n ? formatPhoneNumber(value) || value\n : value,\n }\n })\n .filter((field) => field.value),\n )\n\n const localSubmitted = useSafeLocalStorage<boolean>(\n computed(\n () =>\n `${toolPart.value.toolCallId}-${toolPart.value.type}-submitted`,\n ),\n false,\n )\n\n const LeadFormSchema = z.object({\n name: z.string().min(1).max(255).default(''),\n email: z.email().max(255).default(''),\n phone: z\n .string()\n .max(50)\n .regex(/^[+0-9\\s\\-.()]*$/, $t('validation.invalidPhoneNumber'))\n .optional(),\n })\n\n const emit = defineEmits<{\n submit: [data: Record<string, unknown>]\n }>()\n\n const { VvForm, VvFormField, formData } = useForm(LeadFormSchema, {\n lazyLoad: true,\n })\n\n // Pre-populate form with input values\n watch(\n input,\n (newInput) => {\n formData.value = {\n name: newInput?.name || '',\n email: newInput?.email || '',\n phone: newInput?.phone || '',\n }\n },\n { immediate: true },\n )\n\n watch(\n () => props.submitted,\n (submitted) => {\n if (submitted) {\n localSubmitted.value = true\n }\n },\n { immediate: true },\n )\n\n const isSubmitted = computed(() => {\n return props.submitted || localSubmitted.value\n })\n\n const submitLead = async (data: Record<string, unknown>): Promise<void> => {\n emit('submit', { ...data, metadata: input.value?.conversationContext })\n }\n\n const privacyNotice = useLocalizedString(\n () => props.privacyPolicyNotice,\n 'message.defaultPrivacyPolicyNotice',\n )\n</script>\n\n<template>\n <div\n class=\"border border-surface-3 rounded-xl w-full overflow-hidden bg-surface\">\n <div\n class=\"px-sm py-6 bg-surface-1 min-h-40 text-12 border-b border-surface-3 text-word-3 flex items-center gap-8 min-h-40\">\n <VvIcon name=\"ri:send-plane-2-line\" class=\"text-16\" />\n <strong class=\"font-bold\">{{ $t('label.contactUs') }}</strong>\n </div>\n\n <Transition mode=\"out-in\">\n <div v-if=\"record\" class=\"p-sm flex flex-col gap-sm text-14\">\n <p class=\"text-word-2\">\n {{\n prefilled.length\n ? $t('message.contactFormRecordPrefilled')\n : $t('message.contactFormRecord')\n }}\n </p>\n <dl\n v-if=\"prefilled.length\"\n class=\"flex flex-wrap gap-x-lg gap-y-sm\">\n <div\n v-for=\"field in prefilled\"\n :key=\"field.name\"\n class=\"flex flex-col gap-4 min-w-0\">\n <dt class=\"text-12 text-word-3\">{{ field.label }}</dt>\n <dd class=\"text-word-1 break-words\">\n {{ field.value }}\n </dd>\n </div>\n </dl>\n </div>\n <div v-else-if=\"!isSubmitted\" class=\"p-sm\">\n <VvForm v-model=\"formData\" :readonly @submit=\"submitLead\">\n <VvFormField\n name=\"name\"\n type=\"text\"\n :label=\"$t('label.name')\"\n :placeholder=\"$t('placeholder.name')\"\n icon=\"ri:user-line\"\n modifiers=\"compact\"\n class=\"mb-md\" />\n <VvFormField\n name=\"email\"\n type=\"email\"\n :label=\"$t('label.email')\"\n :placeholder=\"$t('placeholder.email')\"\n icon=\"ri:mail-line\"\n modifiers=\"compact\"\n class=\"mb-md\" />\n <VvFormField\n name=\"phone\"\n type=\"tel\"\n :label=\"$t('label.phone')\"\n :placeholder=\"$t('placeholder.phone')\"\n icon=\"ri:phone-line\"\n class=\"mb-md\"\n modifiers=\"compact\" />\n\n <!-- A send that failed says so: the reason reached the\n card and was never drawn -->\n <VvAlert v-if=\"error\" modifiers=\"danger\" class=\"mb-md\">\n {{ error }}\n </VvAlert>\n\n <div class=\"flex justify-between items-center gap-16 mt-xs\">\n <div\n class=\"text-smaller text-word-3 flex items-center gap-8\">\n <VvIcon\n name=\"ri:shield-check-line\"\n class=\"text-16 shrink-0\" />\n <PkStreamingMarkdown\n :markdown=\"privacyNotice\"\n class=\"wysiwyg\" />\n </div>\n <!-- The library's default button is the brand, and in\n the chat the brand is the agent's color, as on the\n rest of the card: `primary` drew it neutral dark -->\n <VvButton\n type=\"submit\"\n :loading\n :disabled=\"loading || readonly\"\n icon-position=\"right\"\n class=\"shrink-0\"\n :label=\"$t('action.submit')\" />\n </div>\n </VvForm>\n </div>\n <div v-else class=\"p-sm\">\n <!-- One confirmation row across every tool card: a green\n check, the title in weight, the body quiet. The check is\n the outcome, so it alone carries the colour (DESIGN.md). -->\n <div class=\"flex items-center gap-sm\">\n <VvIcon name=\"ri:check-line\" class=\"text-16 text-success\" />\n <div>\n <strong class=\"font-medium block text-word-1\">\n {{ $t('message.leadSubmittedTitle') }}\n </strong>\n <p class=\"text-word-3\">\n {{ $t('message.leadSubmittedMessage') }}\n </p>\n </div>\n </div>\n </div>\n </Transition>\n </div>\n</template>\n"],"mappings":"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"}
@@ -130,7 +130,7 @@ function I(e, t, n) {
130
130
  return r;
131
131
  }
132
132
  //#endregion
133
- //#region ../../node_modules/.pnpm/@volverjs+form-vue@1.1.7_@volverjs+ui-vue@0.0.24_@json-render+core@0.19.0_zod@4.6.7__@v_fe534fafae3fc8321046d7b5f6eeffd3/node_modules/@volverjs/form-vue/dist/index.es.js
133
+ //#region ../../node_modules/.pnpm/@volverjs+form-vue@1.1.7_@volverjs+ui-vue@0.0.25_@json-render+core@0.19.0_zod@4.6.7__@v_080c2c9a77a72539352f0ea5dff0880e/node_modules/@volverjs/form-vue/dist/index.es.js
134
134
  var L = /* @__PURE__ */ function(e) {
135
135
  return e.text = "text", e.number = "number", e.email = "email", e.password = "password", e.tel = "tel", e.url = "url", e.search = "search", e.date = "date", e.time = "time", e.datetimeLocal = "datetime-local", e.month = "month", e.week = "week", e.color = "color", e.select = "select", e.checkbox = "checkbox", e.radio = "radio", e.textarea = "textarea", e.radioGroup = "radioGroup", e.checkboxGroup = "checkboxGroup", e.combobox = "combobox", e.custom = "custom", e;
136
136
  }({}), R = /* @__PURE__ */ function(e) {
@@ -957,4 +957,4 @@ function Ee(e, t = {}) {
957
957
  //#endregion
958
958
  export { Ee as t };
959
959
 
960
- //# sourceMappingURL=index.es-C1u3kP7i.js.map
960
+ //# sourceMappingURL=index.es-CY6tu8qg.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.es-C1u3kP7i.js","names":["w","T","C","x","d","h","e","b","y","u","n","p","_","o","c","l","i","v","m","g","a","E","D","s","f","t","r","formatError","safeParse","safeParseAsync","$ZodError","_superRefine","isObject","type","value","disallowedKeys","maxDisallowedKeyLength","key","MAX_ARRAY_INDEX","isDigit","character","shouldCoerceToNumber","segment","parsedNumber","processSegment","parts","parsePath","path","currentSegment","indexSegment","hadProperty","currentPart","isEscaping","position","isValidInteger","normalizePath","normalized","index","getProperty","object","pathArray","setProperty","root","existingValue","shouldCreateArray","O","k","M","N","P","F","I","L","R","z","B","ee","te","V","H","ne","U","W","G","re","ie","ae","oe","J","se","ce","t","le","Y","ue","de","X","fe","pe","me","e","he","n","r","ge","m","ref","h$1","g","computed","x","S","C","w","a","T","A","j","watchIgnorable","throttleFilter","readonly","f","defineComponent","toRaw","watch","isProxy","onMounted","i","provide","h","withModifiers","s","_e","v","y","b","toRefs","useId","inject","o","onBeforeUnmount","unref","d","p","resolveComponent","defineAsyncComponent","ve","ye","be","c","l","_","Z","Q","Se","getCurrentInstance"],"sources":["../../../../node_modules/.pnpm/dot-prop@10.2.0/node_modules/dot-prop/index.js","../../../../node_modules/.pnpm/@volverjs+form-vue@1.1.7_@volverjs+ui-vue@0.0.24_@json-render+core@0.19.0_zod@4.6.7__@v_fe534fafae3fc8321046d7b5f6eeffd3/node_modules/@volverjs/form-vue/dist/index.es.js"],"sourcesContent":["const isObject = value => {\n\tconst type = typeof value;\n\treturn value !== null && (type === 'object' || type === 'function');\n};\n\nconst disallowedKeys = new Set([\n\t'__proto__',\n\t'prototype',\n\t'constructor',\n]);\n\n// Longest disallowed key. A longer segment can't be disallowed, so the membership\n// check is skipped for it. This keeps `parsePath` linear on inputs like `a[][]…`.\nconst maxDisallowedKeyLength = Math.max(...[...disallowedKeys].map(key => key.length));\n\n// Maximum allowed array index to prevent DoS via memory exhaustion.\nconst MAX_ARRAY_INDEX = 1_000_000;\n\n// Optimized digit check without Set overhead.\nconst isDigit = character => character >= '0' && character <= '9';\n\n// Check if a segment should be coerced to a number.\nfunction shouldCoerceToNumber(segment) {\n\t// Only coerce valid non-negative integers without leading zeros.\n\tif (segment === '0') {\n\t\treturn true;\n\t}\n\n\tif (/^[1-9]\\d*$/.test(segment)) {\n\t\tconst parsedNumber = Number.parseInt(segment, 10);\n\t\t// Check within safe integer range and under MAX_ARRAY_INDEX to prevent DoS.\n\t\treturn parsedNumber <= Number.MAX_SAFE_INTEGER && parsedNumber <= MAX_ARRAY_INDEX;\n\t}\n\n\treturn false;\n}\n\n// Helper to process a path segment (eliminates duplication).\nfunction processSegment(segment, parts) {\n\tif (disallowedKeys.has(segment)) {\n\t\treturn false; // Signal to return empty array.\n\t}\n\n\tif (segment && shouldCoerceToNumber(segment)) {\n\t\tparts.push(Number.parseInt(segment, 10));\n\t} else {\n\t\tparts.push(segment);\n\t}\n\n\treturn true;\n}\n\nexport function parsePath(path) { // eslint-disable-line complexity\n\tif (typeof path !== 'string') {\n\t\tthrow new TypeError(`Expected a string, got ${typeof path}`);\n\t}\n\n\tconst parts = [];\n\tlet currentSegment = '';\n\tlet indexSegment = '';\n\tlet hadProperty = false;\n\tlet currentPart = 'start';\n\tlet isEscaping = false;\n\tlet position = 0;\n\n\tfor (const character of path) {\n\t\tposition++;\n\n\t\t// Handle escaping.\n\t\tif (isEscaping) {\n\t\t\tcurrentSegment += character;\n\t\t\tisEscaping = false;\n\t\t\tcontinue;\n\t\t}\n\n\t\t// Handle escape character.\n\t\tif (character === '\\\\') {\n\t\t\tif (currentPart === 'index') {\n\t\t\t\tthrow new Error(`Invalid character '${character}' in an index at position ${position}`);\n\t\t\t}\n\n\t\t\tif (currentPart === 'indexEnd') {\n\t\t\t\tthrow new Error(`Invalid character '${character}' after an index at position ${position}`);\n\t\t\t}\n\n\t\t\tisEscaping = true;\n\t\t\tcurrentPart = currentPart === 'start' ? 'property' : currentPart;\n\t\t\tcontinue;\n\t\t}\n\n\t\tswitch (character) {\n\t\t\tcase '.': {\n\t\t\t\tif (currentPart === 'index') {\n\t\t\t\t\tthrow new Error(`Invalid character '${character}' in an index at position ${position}`);\n\t\t\t\t}\n\n\t\t\t\tif (currentPart === 'indexEnd') {\n\t\t\t\t\tcurrentPart = 'property';\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tif (!processSegment(currentSegment, parts)) {\n\t\t\t\t\treturn [];\n\t\t\t\t}\n\n\t\t\t\tcurrentSegment = '';\n\t\t\t\tcurrentPart = 'property';\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\tcase '[': {\n\t\t\t\tif (currentPart === 'index') {\n\t\t\t\t\tthrow new Error(`Invalid character '${character}' in an index at position ${position}`);\n\t\t\t\t}\n\n\t\t\t\tif (currentPart === 'indexEnd') {\n\t\t\t\t\tcurrentPart = 'index';\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\t// Entering an index from a property. Keep the property in `currentSegment`\n\t\t\t\t// and collect index digits separately, so empty brackets (`[]`) don't\n\t\t\t\t// require pushing then popping the segment (which re-scans a growing\n\t\t\t\t// literal on every `[` and makes `a[][]…` quadratic).\n\t\t\t\t//\n\t\t\t\t// Reject a disallowed key here, before the index opens, so `__proto__[0]`\n\t\t\t\t// etc. still return []. The length guard keeps this O(1) for long literals.\n\t\t\t\tif (\n\t\t\t\t\tcurrentPart === 'property'\n\t\t\t\t\t&& currentSegment.length <= maxDisallowedKeyLength\n\t\t\t\t\t&& disallowedKeys.has(currentSegment)\n\t\t\t\t) {\n\t\t\t\t\treturn [];\n\t\t\t\t}\n\n\t\t\t\thadProperty = currentPart === 'property';\n\t\t\t\tcurrentPart = 'index';\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\tcase ']': {\n\t\t\t\tif (currentPart === 'indexEnd') {\n\t\t\t\t\tthrow new Error(`Invalid character '${character}' after an index at position ${position}`);\n\t\t\t\t}\n\n\t\t\t\tif (currentPart !== 'index') {\n\t\t\t\t\t// In property context, treat ] as a literal character. Transition out\n\t\t\t\t\t// of 'start' like any other literal, otherwise a leading ']' leaves the\n\t\t\t\t\t// segment in 'start' and is discarded at the end of the path.\n\t\t\t\t\tif (currentPart === 'start') {\n\t\t\t\t\t\tcurrentPart = 'property';\n\t\t\t\t\t}\n\n\t\t\t\t\tcurrentSegment += character;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tif (indexSegment === '') {\n\t\t\t\t\t// Empty brackets - treat `[]` as literal characters of the property.\n\t\t\t\t\tcurrentSegment += '[]';\n\t\t\t\t\tcurrentPart = 'property';\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\t// A real index closes. Flush the pending property segment first\n\t\t\t\t// (an empty one too, for paths like `foo.[0]`).\n\t\t\t\tif ((currentSegment !== '' || hadProperty) && !processSegment(currentSegment, parts)) {\n\t\t\t\t\treturn [];\n\t\t\t\t}\n\n\t\t\t\tcurrentSegment = '';\n\t\t\t\thadProperty = false;\n\n\t\t\t\t// Index must be digits only (enforced by default case).\n\t\t\t\t// The String() check rejects leading zeros like `[01]`.\n\t\t\t\tconst parsedNumber = Number.parseInt(indexSegment, 10);\n\t\t\t\tconst isValidInteger = parsedNumber <= MAX_ARRAY_INDEX\n\t\t\t\t\t&& indexSegment === String(parsedNumber);\n\n\t\t\t\t// Keep as string if not a valid integer representation or exceeds MAX_ARRAY_INDEX.\n\t\t\t\tparts.push(isValidInteger ? parsedNumber : indexSegment);\n\n\t\t\t\tindexSegment = '';\n\t\t\t\tcurrentPart = 'indexEnd';\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\tdefault: {\n\t\t\t\tif (currentPart === 'index') {\n\t\t\t\t\tif (!isDigit(character)) {\n\t\t\t\t\t\tthrow new Error(`Invalid character '${character}' in an index at position ${position}`);\n\t\t\t\t\t}\n\n\t\t\t\t\tindexSegment += character;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tif (currentPart === 'indexEnd') {\n\t\t\t\t\tthrow new Error(`Invalid character '${character}' after an index at position ${position}`);\n\t\t\t\t}\n\n\t\t\t\tif (currentPart === 'start') {\n\t\t\t\t\tcurrentPart = 'property';\n\t\t\t\t}\n\n\t\t\t\tcurrentSegment += character;\n\t\t\t}\n\t\t}\n\t}\n\n\t// Handle unfinished escaping (trailing backslash)\n\tif (isEscaping) {\n\t\tcurrentSegment += '\\\\';\n\t}\n\n\t// Handle end of path\n\tswitch (currentPart) {\n\t\tcase 'property': {\n\t\t\tif (!processSegment(currentSegment, parts)) {\n\t\t\t\treturn [];\n\t\t\t}\n\n\t\t\tbreak;\n\t\t}\n\n\t\tcase 'index': {\n\t\t\tthrow new Error('Index was not closed');\n\t\t}\n\n\t\tcase 'start': {\n\t\t\tparts.push('');\n\t\t\tbreak;\n\t\t}\n\t\t// No default\n\t}\n\n\treturn parts;\n}\n\nfunction normalizePath(path) {\n\tif (typeof path === 'string') {\n\t\treturn parsePath(path);\n\t}\n\n\tif (Array.isArray(path)) {\n\t\tconst normalized = [];\n\n\t\tfor (const [index, segment] of path.entries()) {\n\t\t\t// Type validation.\n\t\t\tif (typeof segment !== 'string' && typeof segment !== 'number') {\n\t\t\t\tthrow new TypeError(`Expected a string or number for path segment at index ${index}, got ${typeof segment}`);\n\t\t\t}\n\n\t\t\t// Validate numbers are finite (reject NaN, Infinity, -Infinity).\n\t\t\tif (typeof segment === 'number' && !Number.isFinite(segment)) {\n\t\t\t\tthrow new TypeError(`Path segment at index ${index} must be a finite number, got ${segment}`);\n\t\t\t}\n\n\t\t\t// Check for disallowed keys.\n\t\t\tif (disallowedKeys.has(segment)) {\n\t\t\t\treturn [];\n\t\t\t}\n\n\t\t\t// Normalize numeric strings to numbers for simplicity.\n\t\t\t// This treats ['items', '0'] the same as ['items', 0].\n\t\t\tif (typeof segment === 'string' && shouldCoerceToNumber(segment)) {\n\t\t\t\tnormalized.push(Number.parseInt(segment, 10));\n\t\t\t} else {\n\t\t\t\tnormalized.push(segment);\n\t\t\t}\n\t\t}\n\n\t\treturn normalized;\n\t}\n\n\treturn [];\n}\n\nexport function getProperty(object, path, value) {\n\tif (!isObject(object) || (typeof path !== 'string' && !Array.isArray(path))) {\n\t\treturn value === undefined ? object : value;\n\t}\n\n\tconst pathArray = normalizePath(path);\n\tif (pathArray.length === 0) {\n\t\treturn value;\n\t}\n\n\tfor (let index = 0; index < pathArray.length; index++) {\n\t\tconst key = pathArray[index];\n\t\tobject = object[key];\n\n\t\tif (object === undefined || object === null) {\n\t\t\t// Return default value if we hit undefined/null before the end of the path.\n\t\t\t// This ensures get({foo: null}, 'foo.bar') returns the default value, not null.\n\t\t\tif (index !== pathArray.length - 1) {\n\t\t\t\treturn value;\n\t\t\t}\n\n\t\t\tbreak;\n\t\t}\n\t}\n\n\treturn object === undefined ? value : object;\n}\n\nexport function setProperty(object, path, value) {\n\tif (!isObject(object) || (typeof path !== 'string' && !Array.isArray(path))) {\n\t\treturn object;\n\t}\n\n\tconst root = object;\n\tconst pathArray = normalizePath(path);\n\n\tif (pathArray.length === 0) {\n\t\treturn object;\n\t}\n\n\tfor (let index = 0; index < pathArray.length; index++) {\n\t\tconst key = pathArray[index];\n\n\t\tif (index === pathArray.length - 1) {\n\t\t\tobject[key] = value;\n\t\t\tcontinue;\n\t\t}\n\n\t\tconst existingValue = object[key];\n\t\tif (isObject(existingValue)) {\n\t\t\tobject = existingValue;\n\t\t\tcontinue;\n\t\t}\n\n\t\t// Create a fresh container when the existing value is missing or primitive.\n\t\tconst nextKey = pathArray[index + 1];\n\t\tconst shouldCreateArray = typeof nextKey === 'number';\n\t\tobject[key] = shouldCreateArray ? [] : {};\n\t\tobject = object[key];\n\t}\n\n\treturn root;\n}\n\nexport function deleteProperty(object, path) {\n\tif (!isObject(object) || (typeof path !== 'string' && !Array.isArray(path))) {\n\t\treturn false;\n\t}\n\n\tconst pathArray = normalizePath(path);\n\n\tif (pathArray.length === 0) {\n\t\treturn false;\n\t}\n\n\tfor (let index = 0; index < pathArray.length; index++) {\n\t\tconst key = pathArray[index];\n\n\t\tif (index === pathArray.length - 1) {\n\t\t\tconst existed = Object.hasOwn(object, key);\n\t\t\tif (!existed) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\tdelete object[key];\n\t\t\treturn true;\n\t\t}\n\n\t\tconst existingValue = object[key];\n\t\tif (!isObject(existingValue)) {\n\t\t\treturn false;\n\t\t}\n\n\t\tobject = existingValue;\n\t}\n}\n\nexport function hasProperty(object, path) {\n\tif (!isObject(object) || (typeof path !== 'string' && !Array.isArray(path))) {\n\t\treturn false;\n\t}\n\n\tconst pathArray = normalizePath(path);\n\tif (pathArray.length === 0) {\n\t\treturn false;\n\t}\n\n\tfor (const key of pathArray) {\n\t\tif (!isObject(object) || !(key in object)) {\n\t\t\treturn false;\n\t\t}\n\n\t\tobject = object[key];\n\t}\n\n\treturn true;\n}\n\nexport function escapePath(path) {\n\tif (typeof path !== 'string') {\n\t\tthrow new TypeError(`Expected a string, got ${typeof path}`);\n\t}\n\n\t// Escape special characters in one pass\n\treturn path.replaceAll(/[\\\\.[]/g, String.raw`\\$&`);\n}\n\nfunction normalizeEntries(value) {\n\tconst entries = Object.entries(value);\n\tif (Array.isArray(value)) {\n\t\treturn entries.map(([key, entryValue]) => {\n\t\t\t// Use shouldCoerceToNumber for consistency with parsePath\n\t\t\tconst normalizedKey = shouldCoerceToNumber(key)\n\t\t\t\t? Number.parseInt(key, 10)\n\t\t\t\t: key;\n\t\t\treturn [normalizedKey, entryValue];\n\t\t});\n\t}\n\n\treturn entries;\n}\n\n// Format a single path segment's contribution to a stringified path.\n// `isFirst` is whether the segment starts the path (no leading separator).\n// `startsOutput` is whether nothing has been emitted yet, which happens when every\n// preceding segment was an empty string key.\nfunction formatPathSegment(segment, isFirst, startsOutput, preferDotForIndices) {\n\t// An index may only use bracket notation when it is genuinely at the start of\n\t// the path or something precedes it in the output. A `[0]` that merely *looks*\n\t// like the start parses back as a bare index, dropping the empty keys before it.\n\tconst useDotForIndex = !isFirst && (preferDotForIndices || startsOutput);\n\n\tif (typeof segment === 'number') {\n\t\t// Non-integer or negative numbers are treated as string keys.\n\t\tif (!Number.isInteger(segment) || segment < 0) {\n\t\t\tconst escaped = escapePath(String(segment));\n\t\t\treturn isFirst ? escaped : `.${escaped}`;\n\t\t}\n\n\t\treturn useDotForIndex ? `.${segment}` : `[${segment}]`;\n\t}\n\n\t// Empty string keys carry no text, only a separator when not first.\n\tif (segment === '') {\n\t\treturn isFirst ? '' : '.';\n\t}\n\n\t// Numeric strings are normalized to numbers.\n\tif (shouldCoerceToNumber(segment)) {\n\t\tconst numericValue = Number.parseInt(segment, 10);\n\t\treturn useDotForIndex ? `.${numericValue}` : `[${numericValue}]`;\n\t}\n\n\t// Regular strings use dot notation.\n\tconst escaped = escapePath(segment);\n\treturn isFirst ? escaped : `.${escaped}`;\n}\n\nexport function stringifyPath(pathSegments, options = {}) {\n\tif (!Array.isArray(pathSegments)) {\n\t\tthrow new TypeError(`Expected an array, got ${typeof pathSegments}`);\n\t}\n\n\tconst {preferDotForIndices = false} = options;\n\tconst parts = [];\n\tlet startsOutput = true;\n\n\tfor (const [index, segment] of pathSegments.entries()) {\n\t\t// Validate segment types at runtime\n\t\tif (typeof segment !== 'string' && typeof segment !== 'number') {\n\t\t\tthrow new TypeError(`Expected a string or number for path segment at index ${index}, got ${typeof segment}`);\n\t\t}\n\n\t\tconst part = formatPathSegment(segment, index === 0, startsOutput, preferDotForIndices);\n\t\tparts.push(part);\n\n\t\tif (part !== '') {\n\t\t\tstartsOutput = false;\n\t\t}\n\t}\n\n\treturn parts.join('');\n}\n\nfunction * deepKeysIterator(object) {\n\tif (!isObject(object)) {\n\t\treturn;\n\t}\n\n\tconst rootEntries = normalizeEntries(object);\n\tif (rootEntries.length === 0) {\n\t\treturn;\n\t}\n\n\t// Iterative depth-first walk with an explicit stack, so deeply nested input\n\t// cannot overflow the call stack (unbounded recursion is a DoS vector).\n\t//\n\t// The path string is built incrementally: each segment is escaped and appended\n\t// once, when we descend into it. Re-stringifying the whole path for every leaf\n\t// (which re-escapes every ancestor segment) makes the walk quadratic in the\n\t// depth, so a deeply nested object cheaply blocks the event loop for seconds\n\t// (an algorithmic-complexity DoS vector).\n\tconst ancestors = new Set([object]);\n\tconst stack = [{iterator: rootEntries[Symbol.iterator](), prefix: '', object}];\n\n\twhile (stack.length > 0) {\n\t\tconst frame = stack.at(-1);\n\t\tconst {value: entry, done} = frame.iterator.next();\n\n\t\tif (done) {\n\t\t\tancestors.delete(stack.pop().object);\n\t\t\tcontinue;\n\t\t}\n\n\t\tconst [key, value] = entry;\n\t\tconst {prefix} = frame;\n\t\tconst path = prefix + formatPathSegment(key, stack.length === 1, prefix === '', false);\n\n\t\tif (isObject(value)) {\n\t\t\t// Skip circular references (object already on the current path).\n\t\t\tif (ancestors.has(value)) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\t// The entries decide both whether this is a leaf and what to walk, so they are computed once.\n\t\t\tconst entries = normalizeEntries(value);\n\t\t\tif (entries.length > 0) {\n\t\t\t\tancestors.add(value);\n\t\t\t\tstack.push({iterator: entries[Symbol.iterator](), prefix: path, object: value});\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t}\n\n\t\tyield path;\n\t}\n}\n\nexport function deepKeys(object) {\n\treturn [...deepKeysIterator(object)];\n}\n\nexport function unflatten(object) {\n\tconst result = {};\n\tif (!isObject(object)) {\n\t\treturn result;\n\t}\n\n\tfor (const [path, value] of Object.entries(object)) {\n\t\tsetProperty(result, path, value);\n\t}\n\n\treturn result;\n}\n","import { computed as e, defineAsyncComponent as t, defineComponent as n, getCurrentInstance as r, h as i, inject as a, isProxy as o, onBeforeUnmount as s, onMounted as c, provide as l, readonly as u, ref as d, resolveComponent as f, toRaw as p, toRefs as m, unref as h, useId as g, watch as _, withModifiers as v } from \"vue\";\nimport { throttleFilter as y, watchIgnorable as b } from \"@vueuse/core\";\nimport { $ZodError as x, _superRefine as S, formatError as C, safeParse as w, safeParseAsync as T } from \"zod/v4/core\";\nimport { getProperty as E, setProperty as D } from \"dot-prop\";\n//#region src/enums.ts\nvar O = /* @__PURE__ */ function(e) {\n\treturn e.text = \"text\", e.number = \"number\", e.email = \"email\", e.password = \"password\", e.tel = \"tel\", e.url = \"url\", e.search = \"search\", e.date = \"date\", e.time = \"time\", e.datetimeLocal = \"datetime-local\", e.month = \"month\", e.week = \"week\", e.color = \"color\", e.select = \"select\", e.checkbox = \"checkbox\", e.radio = \"radio\", e.textarea = \"textarea\", e.radioGroup = \"radioGroup\", e.checkboxGroup = \"checkboxGroup\", e.combobox = \"combobox\", e.custom = \"custom\", e;\n}({}), k = /* @__PURE__ */ function(e) {\n\treturn e.invalid = \"invalid\", e.valid = \"valid\", e.submitting = \"submitting\", e.reset = \"reset\", e.updated = \"updated\", e.unknown = \"unknown\", e;\n}({});\n//#endregion\n//#region src/utils.ts\nfunction A(e) {\n\treturn Array.isArray(e) ? \"array\" : e === null ? \"null\" : typeof e;\n}\nfunction j(e, t) {\n\tlet n = A(e);\n\treturn t.type ? Array.isArray(t.type) ? t.type.some((t) => t === n || t === \"integer\" && n === \"number\" && Number.isInteger(e)) : t.type === n || t.type === \"integer\" && n === \"number\" && Number.isInteger(e) : !0;\n}\nvar M = (e) => e._def.typeName === \"ZodObject\", N = (e) => e._zod.def.type === \"object\", P = (e) => e._def.typeName === \"ZodDefault\", F = (e) => e._zod.def.type === \"default\", I = (e) => e._def.typeName === \"ZodNullable\", L = (e) => e._zod.def.type === \"nullable\", R = (e) => e._def.typeName === \"ZodRecord\", z = (e) => e._zod.def.type === \"record\", B = (e) => e._def.typeName === \"ZodArray\", ee = (e) => e._zod.def.type === \"array\", te = (e) => e._def.typeName === \"ZodEffects\", V = (e) => e._def.typeName === \"ZodOptional\", H = (e) => e._zod.def.type === \"optional\", ne = (e) => e._zod.def.type === \"pipe\", U = (e) => e._zod.def.type === \"transform\";\nfunction W(e) {\n\tlet t = e;\n\tfor (; te(t);) t = t.innerType();\n\treturn t;\n}\nfunction G(e) {\n\tlet t = e;\n\tfor (; ne(t);) t = U(t._zod.def.out) ? t._zod.def.in : t._zod.def.out;\n\treturn t;\n}\nvar re = (e) => {\n\tlet t = W(e);\n\treturn V(t) && (t = t._def.innerType), t;\n}, ie = (e) => {\n\tlet t = G(e);\n\treturn H(t) && (t = t._zod.def.innerType), t;\n}, ae = (e) => !!V(W(e)), oe = (e) => !!H(G(e));\nfunction K(e, t) {\n\tif (e.length === 0) return t ?? void 0;\n\tif (t !== void 0) {\n\t\tfor (let n of e) if (j(t, n)) return q(n, t);\n\t\tfor (let n of e) {\n\t\t\tlet e = n;\n\t\t\tif (!e.type || e.type === \"object\") return q(e, t);\n\t\t}\n\t}\n\treturn q(e[0], t);\n}\nfunction q(e, t) {\n\tif (\"const\" in e) return e.const;\n\tif (e.anyOf && Array.isArray(e.anyOf)) return K(e.anyOf, t);\n\tif (e.oneOf && Array.isArray(e.oneOf)) return K(e.oneOf, t);\n\tif (e.allOf && Array.isArray(e.allOf)) {\n\t\tlet n = {\n\t\t\t...e,\n\t\t\tallOf: void 0\n\t\t};\n\t\tfor (let t of e.allOf) {\n\t\t\tlet e = t;\n\t\t\te.properties && (n.properties = {\n\t\t\t\t...n.properties,\n\t\t\t\t...e.properties\n\t\t\t}), e.type && !n.type && (n.type = e.type);\n\t\t}\n\t\treturn q(n, t);\n\t}\n\tif (Array.isArray(e.type)) {\n\t\tif (t === null && e.type.includes(\"null\")) return null;\n\t\tlet n = e.type.find((e) => e !== \"null\");\n\t\treturn n ? q({\n\t\t\t...e,\n\t\t\ttype: n\n\t\t}, t) : e.default ?? null;\n\t}\n\tif (e.type !== \"object\" || !e.properties) switch (e.type) {\n\t\tcase \"string\": return typeof t == \"string\" ? t : e.default;\n\t\tcase \"number\":\n\t\tcase \"integer\": return typeof t == \"number\" ? t : e.default;\n\t\tcase \"boolean\": return typeof t == \"boolean\" ? t : e.default;\n\t\tcase \"null\": return t === null ? t : e.default;\n\t\tcase \"array\": return Array.isArray(t) ? e.items ? t.map((t) => q(e.items, t)) : t : e.default;\n\t\tdefault: return e.default;\n\t}\n\tlet n = e.properties, r = t && typeof t == \"object\" && !Array.isArray(t) ? t : void 0, i = {};\n\tfor (let e in n) {\n\t\tlet t = r?.[e];\n\t\ti[e] = q(n[e], t);\n\t}\n\tif (r && e.additionalProperties !== !1) {\n\t\tlet e = new Set(Object.keys(n));\n\t\tfor (let [t, n] of Object.entries(r)) e.has(t) || (i[t] = n);\n\t}\n\treturn i;\n}\nvar J = (e) => \"_zod\" in e, se = {\n\tgetInnerType: re,\n\tisObject: M,\n\thasUnknownKeys: (e) => e._def.unknownKeys === \"passthrough\",\n\tgetShapeEntries: (e) => \"shape\" in e ? Object.entries(e.shape) : [],\n\tisOptional: ae,\n\tisDefault: P,\n\tgetDefaultValue: (e) => e._def.defaultValue(),\n\tgetDefaultInnerType: (e) => e._def.innerType,\n\tisNullable: I,\n\tsafeParse: (e, t) => e.safeParse(t),\n\tisArray: B,\n\tgetArrayElement: (e) => e._def.type,\n\tisRecord: R,\n\tgetRecordValue: (e) => e._def.valueType\n}, ce = {\n\tgetInnerType: ie,\n\tisObject: N,\n\thasUnknownKeys: (e) => !!(e._zod.def.catchall && e._zod.def.catchall._zod.def.type !== \"never\"),\n\tgetShapeEntries: (e) => \"shape\" in e._zod.def ? Object.entries(e._zod.def.shape) : [],\n\tisOptional: oe,\n\tisDefault: F,\n\tgetDefaultValue: (e) => e._zod.def.defaultValue,\n\tgetDefaultInnerType: (e) => e._zod.def.innerType,\n\tisNullable: L,\n\tsafeParse: (e, t) => w(e, t),\n\tisArray: ee,\n\tgetArrayElement: (e) => e._zod.def.element,\n\tisRecord: z,\n\tgetRecordValue: (e) => e._zod.def.valueType\n};\nfunction le(e, t, n) {\n\tlet r = e.getInnerType(e.getArrayElement(t));\n\treturn e.isObject(r) ? n.map((t) => Y(e, r, t)) : n;\n}\nfunction ue(e, t, n) {\n\tlet r = e.getInnerType(e.getRecordValue(t));\n\treturn e.isObject(r) ? Object.keys(n).reduce((t, i) => (t[i] = Y(e, r, n[i]), t), {}) : n;\n}\nfunction de(e, t, n, r) {\n\tlet i = e.isOptional(n), a = e.getInnerType(n), o;\n\tif (e.isDefault(a) && (o = e.getDefaultValue(a), a = e.getDefaultInnerType(a)), r === null && e.isNullable(a)) return [t, r];\n\tif (r == null && i) return [t, o];\n\tif (a && r !== void 0) {\n\t\tlet i = e.safeParse(n, r);\n\t\tif (i.success) return [t, i.data ?? o];\n\t}\n\treturn e.isArray(a) && Array.isArray(r) ? [t, le(e, a, r)] : e.isRecord(a) && r ? [t, ue(e, a, r)] : e.isObject(a) ? [t, Y(e, a, r && typeof r == \"object\" ? r : o)] : [t, o];\n}\nfunction Y(e, t, n) {\n\tlet r = n && typeof n == \"object\" && !Array.isArray(n) ? n : {};\n\treturn {\n\t\t...e.hasUnknownKeys(t) ? r : {},\n\t\t...Object.fromEntries(e.getShapeEntries(t).map(([t, n]) => de(e, t, n, r[t])))\n\t};\n}\nfunction X(e, t = {}) {\n\tlet n = J(e) ? ce : se, r = n.getInnerType(e);\n\treturn n.isObject(r) ? Y(n, r, t) : t;\n}\nvar fe = (e, t) => J(e) ? T(e, t) : e.safeParseAsync(t);\nfunction pe(e, t) {\n\tif (!t) return e;\n\tif (J(e)) {\n\t\tlet n = e;\n\t\tif (typeof n.check != \"function\") throw TypeError(\"[@volverjs/form-vue]: superRefine needs a schema built with \\\"zod\\\" or \\\"zod/mini\\\". A schema built directly from \\\"zod/v4/core\\\" has no .check() to attach the refinement to.\");\n\t\treturn n.check(S(t));\n\t}\n\treturn e.superRefine(t);\n}\nvar me = (e, t) => J(e) ? C(t) : t.format(), he = (e, t, n) => {\n\tif (J(e)) return C(new x(n));\n\tlet r = t.constructor;\n\treturn new r(n).format();\n};\n//#endregion\n//#region src/VvForm.ts\nfunction ge(t, r, a, s, f) {\n\tlet m = d(), h = d(), g = e(() => h.value === k.invalid), x = d(), S = d(!1), C, w = (e) => {\n\t\tlet n = X(t, e);\n\t\tif (a?.class) {\n\t\t\tlet e = a.class;\n\t\t\treturn new e(n);\n\t\t}\n\t\treturn n;\n\t}, T = /* @__PURE__ */ new WeakMap(), E = (e) => {\n\t\tif (!e) return t;\n\t\tlet n = T.get(e);\n\t\treturn n || (n = pe(t, e), T.set(e, n)), n;\n\t}, D = async (e = x.value, n) => {\n\t\tif (C = n?.fields, S.value) return !0;\n\t\tlet r = await fe(E(n?.superRefine), e);\n\t\tif (!r.success) {\n\t\t\tif (!C?.size) return h.value = k.invalid, m.value = me(t, r.error), !1;\n\t\t\tlet e = r.error.issues.filter((e) => C?.has(e.path.join(\".\")));\n\t\t\treturn e.length ? (h.value = k.invalid, m.value = he(t, r.error, e), !1) : (m.value = void 0, h.value = k.unknown, !0);\n\t\t}\n\t\treturn m.value = void 0, h.value = k.valid, x.value = w(r.data), !0;\n\t}, O = () => {\n\t\tm.value = void 0, h.value = void 0, C = void 0;\n\t}, { ignoreUpdates: A, stop: j } = b(x, () => {\n\t\th.value = k.updated;\n\t}, {\n\t\tdeep: !0,\n\t\teventFilter: y(a?.updateThrottle ?? 500)\n\t}), M = () => {\n\t\tA(() => {\n\t\t\tx.value = w();\n\t\t}), O(), h.value = k.reset;\n\t}, N = async (e) => S.value || !await D(void 0, e) ? !1 : (h.value = k.submitting, !0), P = u(m), F = u(h);\n\treturn {\n\t\tclear: O,\n\t\terrors: m,\n\t\tformData: x,\n\t\tignoreUpdates: A,\n\t\tinvalid: g,\n\t\treadonly: S,\n\t\treset: M,\n\t\tstatus: h,\n\t\twrappers: f,\n\t\tstopUpdatesWatch: j,\n\t\tsubmit: N,\n\t\tvalidate: D,\n\t\tVvForm: n({\n\t\t\tname: \"VvForm\",\n\t\t\tprops: {\n\t\t\t\tcontinuousValidation: {\n\t\t\t\t\ttype: Boolean,\n\t\t\t\t\tdefault: !1\n\t\t\t\t},\n\t\t\t\tmodelValue: {\n\t\t\t\t\ttype: Object,\n\t\t\t\t\tdefault: () => ({})\n\t\t\t\t},\n\t\t\t\treadonly: {\n\t\t\t\t\ttype: Boolean,\n\t\t\t\t\tdefault: a?.readonly\n\t\t\t\t},\n\t\t\t\ttag: {\n\t\t\t\t\ttype: String,\n\t\t\t\t\tdefault: \"form\"\n\t\t\t\t},\n\t\t\t\ttemplate: {\n\t\t\t\t\ttype: [Array, Function],\n\t\t\t\t\tdefault: void 0\n\t\t\t\t},\n\t\t\t\tsuperRefine: {\n\t\t\t\t\ttype: Function,\n\t\t\t\t\tdefault: void 0\n\t\t\t\t},\n\t\t\t\tvalidateFields: {\n\t\t\t\t\ttype: Array,\n\t\t\t\t\tdefault: void 0\n\t\t\t\t}\n\t\t\t},\n\t\t\temits: [\n\t\t\t\t\"invalid\",\n\t\t\t\t\"submit\",\n\t\t\t\t\"update:modelValue\",\n\t\t\t\t\"update:readonly\",\n\t\t\t\t\"valid\",\n\t\t\t\t\"reset\"\n\t\t\t],\n\t\t\texpose: [\n\t\t\t\t\"errors\",\n\t\t\t\t\"invalid\",\n\t\t\t\t\"readonly\",\n\t\t\t\t\"status\",\n\t\t\t\t\"submit\",\n\t\t\t\t\"tag\",\n\t\t\t\t\"template\",\n\t\t\t\t\"valid\",\n\t\t\t\t\"validate\",\n\t\t\t\t\"clear\",\n\t\t\t\t\"reset\"\n\t\t\t],\n\t\t\tslots: Object,\n\t\t\tsetup(e, { emit: t }) {\n\t\t\t\tx.value = w(p(e.modelValue)), _(() => e.modelValue, (e) => {\n\t\t\t\t\tif (e) {\n\t\t\t\t\t\tlet t = o(e) ? p(e) : e;\n\t\t\t\t\t\tif (JSON.stringify(t) === JSON.stringify(p(x.value))) return;\n\t\t\t\t\t\tx.value = w(t);\n\t\t\t\t\t}\n\t\t\t\t}, { deep: !0 }), _(h, async (n) => {\n\t\t\t\t\tif (n === k.invalid) {\n\t\t\t\t\t\tlet e = p(m.value);\n\t\t\t\t\t\tt(\"invalid\", e), a?.onInvalid?.(e);\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\tif (n === k.valid) {\n\t\t\t\t\t\tlet e = p(x.value);\n\t\t\t\t\t\tt(\"valid\", e), a?.onValid?.(e), t(\"update:modelValue\", e), a?.onUpdate?.(e);\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\tif (n === k.submitting) {\n\t\t\t\t\t\tlet e = p(x.value);\n\t\t\t\t\t\tt(\"submit\", e), a?.onSubmit?.(e);\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\tif (n === k.reset) {\n\t\t\t\t\t\tlet e = p(x.value);\n\t\t\t\t\t\tt(\"reset\", e), a?.onReset?.(e);\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\tif (n === k.updated) {\n\t\t\t\t\t\tif ((m.value || a?.continuousValidation || e.continuousValidation) && await D(void 0, {\n\t\t\t\t\t\t\tsuperRefine: e.superRefine,\n\t\t\t\t\t\t\tfields: C ?? new Set(e.validateFields)\n\t\t\t\t\t\t}), !x.value || !e.modelValue || JSON.stringify(x.value) !== JSON.stringify(e.modelValue)) {\n\t\t\t\t\t\t\tlet e = p(x.value);\n\t\t\t\t\t\t\tt(\"update:modelValue\", e), a?.onUpdate?.(e);\n\t\t\t\t\t\t}\n\t\t\t\t\t\th.value === k.updated && (h.value = k.unknown);\n\t\t\t\t\t}\n\t\t\t\t}), c(() => {\n\t\t\t\t\te.readonly !== void 0 && (S.value = e.readonly);\n\t\t\t\t}), _(() => e.readonly, (e) => {\n\t\t\t\t\tS.value = e;\n\t\t\t\t}), _(S, (n) => {\n\t\t\t\t\tn !== e.readonly && t(\"update:readonly\", S.value);\n\t\t\t\t});\n\t\t\t\tlet n = (t, n) => D(t, {\n\t\t\t\t\tfields: n?.fields,\n\t\t\t\t\tsuperRefine: n?.superRefine ?? e.superRefine\n\t\t\t\t}), i = () => N({\n\t\t\t\t\tsuperRefine: e.superRefine,\n\t\t\t\t\tfields: new Set(e.validateFields)\n\t\t\t\t});\n\t\t\t\treturn l(r, {\n\t\t\t\t\tclear: O,\n\t\t\t\t\terrors: P,\n\t\t\t\t\tformData: x,\n\t\t\t\t\tignoreUpdates: A,\n\t\t\t\t\tinvalid: g,\n\t\t\t\t\treadonly: S,\n\t\t\t\t\treset: M,\n\t\t\t\t\tstatus: F,\n\t\t\t\t\tstopUpdatesWatch: j,\n\t\t\t\t\tsubmit: i,\n\t\t\t\t\tvalidate: n,\n\t\t\t\t\twrappers: f\n\t\t\t\t}), {\n\t\t\t\t\tclear: O,\n\t\t\t\t\terrors: P,\n\t\t\t\t\tformData: x,\n\t\t\t\t\tignoreUpdates: A,\n\t\t\t\t\tinvalid: g,\n\t\t\t\t\tisReadonly: S,\n\t\t\t\t\treset: M,\n\t\t\t\t\tstatus: F,\n\t\t\t\t\tstopUpdatesWatch: j,\n\t\t\t\t\tsubmit: i,\n\t\t\t\t\tvalidate: n,\n\t\t\t\t\twrappers: f\n\t\t\t\t};\n\t\t\t},\n\t\t\trender() {\n\t\t\t\tlet e = () => this.$slots?.default?.({\n\t\t\t\t\terrors: P.value,\n\t\t\t\t\tformData: x.value,\n\t\t\t\t\tinvalid: g.value,\n\t\t\t\t\treadonly: S.value,\n\t\t\t\t\tstatus: F.value,\n\t\t\t\t\twrappers: f,\n\t\t\t\t\tclear: O,\n\t\t\t\t\tignoreUpdates: A,\n\t\t\t\t\treset: M,\n\t\t\t\t\tstopUpdatesWatch: j,\n\t\t\t\t\tsubmit: this.submit,\n\t\t\t\t\tvalidate: this.validate\n\t\t\t\t}) ?? this.$slots.default;\n\t\t\t\treturn i(this.tag, {\n\t\t\t\t\tonSubmit: v(this.submit, [\"prevent\"]),\n\t\t\t\t\tonReset: v(this.reset, [\"prevent\"])\n\t\t\t\t}, (this.template ?? a?.template) && s ? [i(s, { schema: this.template ?? a?.template }, { default: e })] : { default: e });\n\t\t\t}\n\t\t})\n\t};\n}\n//#endregion\n//#region src/VvFormField.ts\nfunction _e(r, o, d, p) {\n\treturn n({\n\t\tname: \"VvFormField\",\n\t\tprops: {\n\t\t\ttype: {\n\t\t\t\ttype: String,\n\t\t\t\tvalidator: (e) => Object.values(O).includes(e),\n\t\t\t\tdefault: O.custom\n\t\t\t},\n\t\t\tis: {\n\t\t\t\ttype: [Object, String],\n\t\t\t\tdefault: void 0\n\t\t\t},\n\t\t\tname: {\n\t\t\t\ttype: [\n\t\t\t\t\tString,\n\t\t\t\t\tNumber,\n\t\t\t\t\tBoolean,\n\t\t\t\t\tSymbol\n\t\t\t\t],\n\t\t\t\trequired: !0\n\t\t\t},\n\t\t\tprops: {\n\t\t\t\ttype: [Object, Function],\n\t\t\t\tdefault: () => ({})\n\t\t\t},\n\t\t\tshowValid: {\n\t\t\t\ttype: Boolean,\n\t\t\t\tdefault: !1\n\t\t\t},\n\t\t\tdefaultValue: {\n\t\t\t\ttype: [\n\t\t\t\t\tString,\n\t\t\t\t\tNumber,\n\t\t\t\t\tBoolean,\n\t\t\t\t\tArray,\n\t\t\t\t\tObject\n\t\t\t\t],\n\t\t\t\tdefault: void 0\n\t\t\t},\n\t\t\tlazyLoad: {\n\t\t\t\ttype: Boolean,\n\t\t\t\tdefault: !1\n\t\t\t},\n\t\t\treadonly: {\n\t\t\t\ttype: Boolean,\n\t\t\t\tdefault: void 0\n\t\t\t}\n\t\t},\n\t\temits: [\n\t\t\t\"invalid\",\n\t\t\t\"update:formData\",\n\t\t\t\"update:modelValue\",\n\t\t\t\"valid\"\n\t\t],\n\t\texpose: [\n\t\t\t\"component\",\n\t\t\t\"errors\",\n\t\t\t\"hasProps\",\n\t\t\t\"invalid\",\n\t\t\t\"invalidLabel\",\n\t\t\t\"is\",\n\t\t\t\"type\"\n\t\t],\n\t\tslots: Object,\n\t\tsetup(n, { slots: i, emit: v }) {\n\t\t\tlet { props: y, name: b } = m(n), x = g(), S = a(o, void 0);\n\t\t\tS && S.fields.value.set(x, n.name);\n\t\t\tlet C = a(r), w = e({\n\t\t\t\tget() {\n\t\t\t\t\tif (C?.formData) return E(new Object(C.formData.value), String(n.name));\n\t\t\t\t},\n\t\t\t\tset(e) {\n\t\t\t\t\tC?.formData && (D(new Object(C.formData.value), String(n.name), e), v(\"update:modelValue\", {\n\t\t\t\t\t\tnewValue: w.value,\n\t\t\t\t\t\tformData: C?.formData\n\t\t\t\t\t}));\n\t\t\t\t}\n\t\t\t});\n\t\t\tc(() => {\n\t\t\t\tw.value === void 0 && n.defaultValue !== void 0 && (w.value = n.defaultValue);\n\t\t\t}), s(() => {\n\t\t\t\tS && S.fields.value.delete(x);\n\t\t\t});\n\t\t\tlet T = e(() => {\n\t\t\t\tif (C?.errors.value) return E(C.errors.value, String(n.name));\n\t\t\t}), k = e(() => T.value?._errors), A = e(() => T.value !== void 0), j = _(A, (e) => {\n\t\t\t\tif (e) {\n\t\t\t\t\tv(\"invalid\", T.value), S && S.errors.value.set(String(n.name), T.value);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tv(\"valid\", w.value), S && S.errors.value.delete(n.name);\n\t\t\t}), M = _(() => C?.formData, () => {\n\t\t\t\tv(\"update:formData\", C?.formData);\n\t\t\t}, { deep: !0 });\n\t\t\ts(() => {\n\t\t\t\tj(), M();\n\t\t\t});\n\t\t\tlet N = (e) => {\n\t\t\t\te instanceof InputEvent && (e = e.target.value), w.value = e;\n\t\t\t}, P = e(() => {\n\t\t\t\tlet e = y.value;\n\t\t\t\treturn typeof e == \"function\" && (e = e(C?.formData)), Object.keys(e).reduce((t, n) => (t[n] = h(e[n]), t), {});\n\t\t\t}), F = e(() => C?.readonly.value || S?.readonly.value ? !0 : P.value.readonly ?? n.readonly), I = e(() => ({\n\t\t\t\t...P.value,\n\t\t\t\tname: P.value.name ?? n.name,\n\t\t\t\tinvalid: A.value,\n\t\t\t\tvalid: n.showValid ? !(A.value || !w.value) : void 0,\n\t\t\t\ttype: ((e) => {\n\t\t\t\t\tif ([\n\t\t\t\t\t\tO.color,\n\t\t\t\t\t\tO.date,\n\t\t\t\t\t\tO.datetimeLocal,\n\t\t\t\t\t\tO.email,\n\t\t\t\t\t\tO.month,\n\t\t\t\t\t\tO.number,\n\t\t\t\t\t\tO.password,\n\t\t\t\t\t\tO.search,\n\t\t\t\t\t\tO.tel,\n\t\t\t\t\t\tO.text,\n\t\t\t\t\t\tO.time,\n\t\t\t\t\t\tO.url,\n\t\t\t\t\t\tO.week\n\t\t\t\t\t].includes(e)) return e;\n\t\t\t\t})(n.type),\n\t\t\t\tinvalidLabel: k.value,\n\t\t\t\tmodelValue: w.value,\n\t\t\t\treadonly: F.value,\n\t\t\t\t\"onUpdate:modelValue\": N\n\t\t\t}));\n\t\t\treturn l(d, {\n\t\t\t\tname: u(b),\n\t\t\t\terrors: u(T)\n\t\t\t}), {\n\t\t\t\tcomponent: e(() => {\n\t\t\t\t\tif (n.type === O.custom) return { render() {\n\t\t\t\t\t\treturn i.default?.({\n\t\t\t\t\t\t\terrors: u(T).value,\n\t\t\t\t\t\t\tformData: C?.formData.value,\n\t\t\t\t\t\t\tformErrors: C?.errors.value,\n\t\t\t\t\t\t\tinvalid: A.value,\n\t\t\t\t\t\t\tinvalidLabel: k.value,\n\t\t\t\t\t\t\tmodelValue: w.value,\n\t\t\t\t\t\t\treadonly: F.value,\n\t\t\t\t\t\t\tonUpdate: N,\n\t\t\t\t\t\t\tsubmit: C?.submit,\n\t\t\t\t\t\t\tvalidate: C?.validate\n\t\t\t\t\t\t}) ?? i.default;\n\t\t\t\t\t} };\n\t\t\t\t\tif (!(p?.lazyLoad ?? n.lazyLoad)) {\n\t\t\t\t\t\tlet e;\n\t\t\t\t\t\tswitch (n.type) {\n\t\t\t\t\t\t\tcase O.select:\n\t\t\t\t\t\t\t\te = f(\"VvSelect\");\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase O.checkbox:\n\t\t\t\t\t\t\t\te = f(\"VvCheckbox\");\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase O.radio:\n\t\t\t\t\t\t\t\te = f(\"VvRadio\");\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase O.textarea:\n\t\t\t\t\t\t\t\te = f(\"VvTextarea\");\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase O.radioGroup:\n\t\t\t\t\t\t\t\te = f(\"VvRadioGroup\");\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase O.checkboxGroup:\n\t\t\t\t\t\t\t\te = f(\"VvCheckboxGroup\");\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase O.combobox:\n\t\t\t\t\t\t\t\te = f(\"VvCombobox\");\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tdefault: e = f(\"VvInputText\");\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (typeof e != \"string\") return e;\n\t\t\t\t\t\tconsole.warn(`[@volverjs/form-vue]: ${e} not found, the component will be loaded asynchronously. To avoid this warning, please set \"lazyLoad\" option.`);\n\t\t\t\t\t}\n\t\t\t\t\treturn t(async () => {\n\t\t\t\t\t\tswitch (p?.sideEffects && await Promise.resolve(p.sideEffects(n.type)), n.type) {\n\t\t\t\t\t\t\tcase O.textarea: return import(\"@volverjs/ui-vue/vv-textarea\");\n\t\t\t\t\t\t\tcase O.radio: return import(\"@volverjs/ui-vue/vv-radio\");\n\t\t\t\t\t\t\tcase O.radioGroup: return import(\"@volverjs/ui-vue/vv-radio-group\");\n\t\t\t\t\t\t\tcase O.checkbox: return import(\"@volverjs/ui-vue/vv-checkbox\");\n\t\t\t\t\t\t\tcase O.checkboxGroup: return import(\"@volverjs/ui-vue/vv-checkbox-group\");\n\t\t\t\t\t\t\tcase O.select: return import(\"@volverjs/ui-vue/vv-select\");\n\t\t\t\t\t\t\tcase O.combobox: return import(\"@volverjs/ui-vue/vv-combobox\");\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn import(\"@volverjs/ui-vue/vv-input-text\");\n\t\t\t\t\t});\n\t\t\t\t}),\n\t\t\t\thasProps: I,\n\t\t\t\tinvalid: A\n\t\t\t};\n\t\t},\n\t\trender() {\n\t\t\treturn this.is ? i(this.is, this.hasProps, this.$slots) : this.type === O.custom ? i(this.component, null, this.$slots) : i(this.component, this.hasProps, this.$slots);\n\t\t}\n\t});\n}\n//#endregion\n//#region src/VvFormFieldsGroup.ts\nfunction ve(t, r, o) {\n\treturn n({\n\t\tname: \"VvFormFieldsGroup\",\n\t\tprops: {\n\t\t\tis: {\n\t\t\t\ttype: [Object, String],\n\t\t\t\tdefault: void 0\n\t\t\t},\n\t\t\tnames: {\n\t\t\t\ttype: [Array, Object],\n\t\t\t\trequired: !0\n\t\t\t},\n\t\t\tprops: {\n\t\t\t\ttype: [Object, Function],\n\t\t\t\tdefault: () => ({})\n\t\t\t},\n\t\t\tshowValid: {\n\t\t\t\ttype: Boolean,\n\t\t\t\tdefault: !1\n\t\t\t},\n\t\t\tdefaultValues: {\n\t\t\t\ttype: [Object],\n\t\t\t\tdefault: void 0\n\t\t\t},\n\t\t\treadonly: {\n\t\t\t\ttype: Boolean,\n\t\t\t\tdefault: void 0\n\t\t\t}\n\t\t},\n\t\temits: [\n\t\t\t\"invalid\",\n\t\t\t\"update:formData\",\n\t\t\t\"update:modelValue\",\n\t\t\t\"valid\"\n\t\t],\n\t\texpose: [\n\t\t\t\"component\",\n\t\t\t\"errors\",\n\t\t\t\"hasProps\",\n\t\t\t\"invalid\",\n\t\t\t\"invalidLabels\",\n\t\t\t\"is\"\n\t\t],\n\t\tslots: Object,\n\t\tsetup(n, { slots: i, emit: d }) {\n\t\t\tlet { props: f, names: p, defaultValues: v } = m(n), y = g(), b = e(() => Array.isArray(p.value) ? p.value : Object.values(p.value)), x = e(() => Array.isArray(p.value) ? p.value : Object.keys(p.value)), S = e(() => Array.isArray(p.value) ? p.value.reduce((e, t) => (e[String(t)] = t, e), {}) : p.value), C = e(() => Object.keys(S.value).reduce((e, t) => (e[String(S.value[t])] = t, e), {})), w = a(r, void 0);\n\t\t\tw && b.value.forEach((e) => {\n\t\t\t\tw.fields.value.set(`${y}-${e}`, e);\n\t\t\t});\n\t\t\tlet T = a(t), O = e({\n\t\t\t\tget() {\n\t\t\t\t\treturn T?.formData ? x.value.reduce((e, t) => (e[t] = E(new Object(T.formData.value), S.value[t]), e), {}) : {};\n\t\t\t\t},\n\t\t\t\tset(e) {\n\t\t\t\t\tT?.formData && (x.value.forEach((t) => {\n\t\t\t\t\t\tD(new Object(T.formData.value), S.value[t], e?.[t]);\n\t\t\t\t\t}), d(\"update:modelValue\", {\n\t\t\t\t\t\tnewValue: O.value,\n\t\t\t\t\t\tformData: T?.formData\n\t\t\t\t\t}));\n\t\t\t\t}\n\t\t\t});\n\t\t\tc(() => {\n\t\t\t\tv.value && b.value.forEach((e) => {\n\t\t\t\t\tv.value?.[e] !== void 0 && O.value[e] === void 0 && (O.value = {\n\t\t\t\t\t\t...O.value,\n\t\t\t\t\t\t[e]: v.value?.[e]\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t}), s(() => {\n\t\t\t\tw && b.value.forEach((e) => {\n\t\t\t\t\tw.fields.value.delete(`${y}-${e}`);\n\t\t\t\t});\n\t\t\t});\n\t\t\tlet k = e(() => {\n\t\t\t\tif (!T?.errors.value) return;\n\t\t\t\tlet e = b.value.reduce((e, t) => {\n\t\t\t\t\tif (!T.errors.value) return e;\n\t\t\t\t\tlet n = E(T.errors.value, String(t));\n\t\t\t\t\treturn n === void 0 || (e[String(t)] = n), e;\n\t\t\t\t}, {});\n\t\t\t\tif (Object.keys(e).length !== 0) return e;\n\t\t\t}), A = e(() => {\n\t\t\t\tif (!k.value) return;\n\t\t\t\tlet e = Object.keys(k.value).reduce((e, t) => (k.value?.[t] && (e[C.value[t]] = k.value[t]._errors), e), {});\n\t\t\t\tif (Object.keys(e).length !== 0) return e;\n\t\t\t}), j = e(() => k.value !== void 0), M = e(() => x.value.reduce((e, t) => (e[t] = !!k.value?.[S.value[t]], e), {})), N = _(j, () => {\n\t\t\t\tif (j.value) {\n\t\t\t\t\td(\"invalid\", k.value), w && b.value.forEach((e) => {\n\t\t\t\t\t\tif (!k.value?.[e]) {\n\t\t\t\t\t\t\tw.errors.value.delete(e);\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tw.errors.value.set(e, k.value?.[e]);\n\t\t\t\t\t});\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\td(\"valid\", O.value), w && b.value.forEach((e) => {\n\t\t\t\t\tw.errors.value.delete(e);\n\t\t\t\t});\n\t\t\t}), P = _(() => T?.formData, () => {\n\t\t\t\td(\"update:formData\", T?.formData);\n\t\t\t}, { deep: !0 });\n\t\t\ts(() => {\n\t\t\t\tN(), P();\n\t\t\t});\n\t\t\tlet F = (e) => {\n\t\t\t\tO.value = e;\n\t\t\t}, I = (e, t) => {\n\t\t\t\tt instanceof InputEvent && (t = t.target.value), x.value.includes(e) && (O.value = {\n\t\t\t\t\t...O.value,\n\t\t\t\t\t[e]: t\n\t\t\t\t});\n\t\t\t}, L = e(() => {\n\t\t\t\tlet e = f.value;\n\t\t\t\treturn typeof e == \"function\" && (e = e(T?.formData)), Object.keys(e).reduce((t, n) => (t[n] = h(e[n]), t), {});\n\t\t\t}), R = e(() => T?.readonly.value ? !0 : L.value.readonly ?? n.readonly), z = e(() => x.value.reduce((e, t) => (e[`onUpdate:${t}`] = (e) => {\n\t\t\t\tI(t, e);\n\t\t\t}, e), { \"onUpdate:modelValue\": F })), B = e(() => ({\n\t\t\t\t...z.value,\n\t\t\t\t...L.value,\n\t\t\t\t...O.value,\n\t\t\t\tmodelValue: O.value,\n\t\t\t\tnames: L.value.name ?? b.value,\n\t\t\t\tinvalid: j.value,\n\t\t\t\tinvalids: M.value,\n\t\t\t\tvalid: n.showValid ? !(j.value || !O.value) : void 0,\n\t\t\t\tinvalidLabels: A.value,\n\t\t\t\treadonly: R.value\n\t\t\t}));\n\t\t\treturn l(o, {\n\t\t\t\tnames: u(p),\n\t\t\t\terrors: u(k)\n\t\t\t}), {\n\t\t\t\tcomponent: e(() => ({ render() {\n\t\t\t\t\treturn i.default?.({\n\t\t\t\t\t\terrors: k.value,\n\t\t\t\t\t\tformData: T?.formData.value,\n\t\t\t\t\t\tformErrors: T?.errors.value,\n\t\t\t\t\t\tinvalid: j.value,\n\t\t\t\t\t\tinvalids: M.value,\n\t\t\t\t\t\tinvalidLabels: A.value,\n\t\t\t\t\t\tmodelValue: O.value,\n\t\t\t\t\t\tonUpdate: F,\n\t\t\t\t\t\tonUpdateField: I,\n\t\t\t\t\t\treadonly: R.value,\n\t\t\t\t\t\tsubmit: T?.submit,\n\t\t\t\t\t\tvalidate: T?.validate\n\t\t\t\t\t}) ?? i.default;\n\t\t\t\t} })),\n\t\t\t\thasProps: B,\n\t\t\t\tinvalid: j\n\t\t\t};\n\t\t},\n\t\trender() {\n\t\t\treturn this.is ? i(this.is, this.hasProps, this.$slots) : i(this.component, null, this.$slots);\n\t\t}\n\t});\n}\n//#endregion\n//#region src/VvFormWrapper.ts\nfunction ye(t, r) {\n\treturn n({\n\t\tname: \"VvFormWrapper\",\n\t\tprops: {\n\t\t\tname: {\n\t\t\t\ttype: String,\n\t\t\t\trequired: !0\n\t\t\t},\n\t\t\ttag: {\n\t\t\t\ttype: String,\n\t\t\t\tdefault: void 0\n\t\t\t},\n\t\t\treadonly: {\n\t\t\t\ttype: Boolean,\n\t\t\t\tdefault: !1\n\t\t\t}\n\t\t},\n\t\temits: [\"invalid\", \"valid\"],\n\t\texpose: [\n\t\t\t\"clear\",\n\t\t\t\"errors\",\n\t\t\t\"fields\",\n\t\t\t\"fieldsErrors\",\n\t\t\t\"formData\",\n\t\t\t\"invalid\",\n\t\t\t\"readonly\",\n\t\t\t\"reset\",\n\t\t\t\"submit\",\n\t\t\t\"tag\",\n\t\t\t\"validate\",\n\t\t\t\"validateWrapper\"\n\t\t],\n\t\tslots: Object,\n\t\tsetup(n, { emit: i }) {\n\t\t\tlet o = a(t), f = a(r, void 0), p = d(/* @__PURE__ */ new Map()), h = d(/* @__PURE__ */ new Map()), { name: g } = m(n), v = e(() => o?.invalid.value ? h.value.size > 0 : !1);\n\t\t\t_(v, (e) => {\n\t\t\t\tif (e) {\n\t\t\t\t\ti(\"invalid\");\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\ti(\"valid\");\n\t\t\t});\n\t\t\tlet y = e(() => o?.readonly.value || n.readonly), b = {\n\t\t\t\tname: u(g),\n\t\t\t\terrors: h,\n\t\t\t\tinvalid: u(v),\n\t\t\t\treadonly: u(y),\n\t\t\t\tfields: p\n\t\t\t};\n\t\t\tl(r, b);\n\t\t\tlet x = e(() => new Map(p.value));\n\t\t\treturn _(x, (e, t) => {\n\t\t\t\tf?.fields && (t.forEach((t, n) => {\n\t\t\t\t\te.has(n) || f?.fields.value.delete(n);\n\t\t\t\t}), e.forEach((e, t) => {\n\t\t\t\t\tf?.fields.value.has(t) || f?.fields.value.set(t, e);\n\t\t\t\t}));\n\t\t\t}, { deep: !0 }), _(h, (e) => {\n\t\t\t\tf?.errors && p.value.forEach((t) => {\n\t\t\t\t\tif (e.has(t) || f.errors.value.delete(t), e.has(t)) {\n\t\t\t\t\t\tlet n = e.get(t);\n\t\t\t\t\t\tn && f.errors.value.set(t, n);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}, { deep: !0 }), c(() => {\n\t\t\t\tif (!o?.wrappers || !g.value) {\n\t\t\t\t\tconsole.warn(\"[@volverjs/form-vue]: Invalid wrapper registration state\");\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tif (o.wrappers.has(g.value)) {\n\t\t\t\t\tconsole.warn(`[@volverjs/form-vue]: wrapper name \"${g.value}\" is already used`);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\to.wrappers.set(g.value, b);\n\t\t\t}), s(() => {\n\t\t\t\to?.wrappers && g.value && o.wrappers.delete(g.value);\n\t\t\t}), {\n\t\t\t\terrors: o?.errors,\n\t\t\t\tfields: p,\n\t\t\t\tfieldsErrors: h,\n\t\t\t\tformData: o?.formData,\n\t\t\t\tinvalid: v,\n\t\t\t\treadonly: y,\n\t\t\t\tclear: o?.clear,\n\t\t\t\treset: o?.reset,\n\t\t\t\tsubmit: o?.submit,\n\t\t\t\tvalidate: o?.validate,\n\t\t\t\tvalidateWrapper: () => o?.validate(void 0, { fields: new Set(p.value.values()) }) ?? Promise.resolve(!0)\n\t\t\t};\n\t\t},\n\t\trender() {\n\t\t\tlet e = () => this.$slots.default?.({\n\t\t\t\terrors: this.errors,\n\t\t\t\tfieldsErrors: this.fieldsErrors,\n\t\t\t\tformData: this.formData,\n\t\t\t\tinvalid: this.invalid,\n\t\t\t\treadonly: this.readonly,\n\t\t\t\tclear: this.clear,\n\t\t\t\treset: this.reset,\n\t\t\t\tsubmit: this.submit,\n\t\t\t\tvalidate: this.validate,\n\t\t\t\tvalidateWrapper: this.validateWrapper\n\t\t\t});\n\t\t\treturn this.tag ? i(this.tag, null, { default: e }) : e();\n\t\t}\n\t});\n}\n//#endregion\n//#region src/VvFormTemplate.ts\nfunction be(e, t) {\n\tlet r = n({\n\t\tname: \"VvFormTemplate\",\n\t\tprops: {\n\t\t\tschema: {\n\t\t\t\ttype: [Array, Function],\n\t\t\t\trequired: !0\n\t\t\t},\n\t\t\tscope: {\n\t\t\t\ttype: Object,\n\t\t\t\tdefault: () => ({})\n\t\t\t}\n\t\t},\n\t\tslots: Object,\n\t\tsetup(n, { slots: o }) {\n\t\t\tlet s = a(e);\n\t\t\tif (s?.formData) return () => {\n\t\t\t\tlet e = typeof n.schema == \"function\" ? n.schema(s, n.scope) : n.schema, a, c = e.reduce((e, o) => {\n\t\t\t\t\tlet { vvIs: c, vvName: l, vvSlots: u, vvChildren: d, vvIf: f, vvElseIf: p, vvType: m, vvDefaultValue: g, vvShowValid: _, vvContent: v, ...y } = typeof o == \"function\" ? o(s, n.scope) : o;\n\t\t\t\t\tif (f !== void 0) {\n\t\t\t\t\t\tif (a = typeof f == \"string\" ? !!E(new Object(s.formData.value), f) : h(typeof f == \"function\" ? f(s) : f), !a) return e;\n\t\t\t\t\t} else if (p !== void 0 && a !== void 0) {\n\t\t\t\t\t\tif (a || (a = typeof p == \"string\" ? !!E(new Object(s.formData.value), p) : h(typeof p == \"function\" ? p(s) : p), !a)) return e;\n\t\t\t\t\t} else a = void 0;\n\t\t\t\t\tlet b;\n\t\t\t\t\treturn d && (b = typeof c == \"string\" ? i(r, { schema: d }) : { default: (e) => i(r, {\n\t\t\t\t\t\tschema: d,\n\t\t\t\t\t\tscope: e\n\t\t\t\t\t}) }), l ? (e.push(i(t, {\n\t\t\t\t\t\tname: l,\n\t\t\t\t\t\tis: c,\n\t\t\t\t\t\ttype: m,\n\t\t\t\t\t\tdefaultValue: g,\n\t\t\t\t\t\tshowValid: _,\n\t\t\t\t\t\tprops: y\n\t\t\t\t\t}, u ?? b ?? v)), e) : c ? (e.push(i(c, y, u ?? b ?? v)), e) : (b && (\"default\" in b ? e.push(b.default(n.scope)) : e.push(b)), e);\n\t\t\t\t}, []);\n\t\t\t\treturn c.push(o?.default?.({\n\t\t\t\t\terrors: s?.errors.value,\n\t\t\t\t\tformData: s?.formData.value,\n\t\t\t\t\tinvalid: s?.invalid.value,\n\t\t\t\t\tstatus: s?.status.value,\n\t\t\t\t\tsubmit: s?.submit,\n\t\t\t\t\tvalidate: s?.validate,\n\t\t\t\t\tclear: s?.clear,\n\t\t\t\t\treset: s?.reset\n\t\t\t\t})), c;\n\t\t\t};\n\t\t}\n\t});\n\treturn r;\n}\n//#endregion\n//#region src/index.ts\nfunction Z(e, t = {}) {\n\tlet n = Symbol(\"formInjectionKey\"), r = Symbol(\"formWrapperInjectionKey\"), i = Symbol(\"formFieldInjectionKey\"), a = Symbol(\"formFieldsGroupInjectionKey\"), o = ye(n, r), s = _e(n, r, i, t), c = ve(n, r, a), l = be(n, s), u = /* @__PURE__ */ new Map(), { clear: d, errors: f, formData: p, ignoreUpdates: m, invalid: h, readonly: g, reset: _, status: v, stopUpdatesWatch: y, submit: b, validate: x, VvForm: S } = ge(e, n, t, l, u);\n\treturn {\n\t\tclear: d,\n\t\terrors: f,\n\t\tformData: p,\n\t\tformFieldInjectionKey: i,\n\t\tformInjectionKey: n,\n\t\tformWrapperInjectionKey: r,\n\t\tignoreUpdates: m,\n\t\tinvalid: h,\n\t\treadonly: g,\n\t\treset: _,\n\t\tstatus: v,\n\t\tstopUpdatesWatch: y,\n\t\tsubmit: b,\n\t\tvalidate: x,\n\t\twrappers: u,\n\t\tVvForm: S,\n\t\tVvFormField: s,\n\t\tVvFormFieldsGroup: c,\n\t\tVvFormTemplate: l,\n\t\tVvFormWrapper: o\n\t};\n}\nvar Q = Symbol(\"pluginInjectionKey\");\nfunction xe(e) {\n\tlet t = {};\n\treturn e.schema && (t = Z(e.schema, e)), {\n\t\t...t,\n\t\tinstall(n, { global: r = !1 } = {}) {\n\t\t\tn.provide(Q, e), r && (n.config.globalProperties.$vvForm = e, t?.VvForm && n.component(\"VvForm\", t.VvForm), t?.VvFormWrapper && n.component(\"VvFormWrapper\", t.VvFormWrapper), t?.VvFormField && n.component(\"VvFormField\", t.VvFormField), t?.VvFormFieldsGroup && n.component(\"VvFormFieldsGroup\", t.VvFormFieldsGroup), t?.VvFormTemplate && n.component(\"VvFormTemplate\", t.VvFormTemplate));\n\t\t}\n\t};\n}\nvar $ = /* @__PURE__ */ new Map();\nfunction Se(e, t = {}) {\n\tif (t.scope && $.has(t.scope)) return $.get(t.scope);\n\tif (!r()) {\n\t\tlet n = Z(e, t);\n\t\treturn t.scope && $.set(t.scope, n), n;\n\t}\n\tlet n = Z(e, {\n\t\t...a(Q, {}),\n\t\t...t\n\t});\n\treturn t.scope && $.set(t.scope, n), n;\n}\nfunction Ce(e, t = {}) {\n\treturn Z(e, t);\n}\n//#endregion\nexport { O as FormFieldType, xe as createForm, q as defaultObjectByJSONSchema, X as defaultObjectBySchema, Ce as formType, Q as pluginInjectionKey, Se as useForm };\n"],"ignoreList":[0,1],"mappings":"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"}
1
+ {"version":3,"file":"index.es-CY6tu8qg.js","names":["w","T","C","x","d","h","e","b","y","u","n","p","_","o","c","l","i","v","m","g","a","E","D","s","f","t","r","formatError","safeParse","safeParseAsync","$ZodError","_superRefine","isObject","type","value","disallowedKeys","maxDisallowedKeyLength","key","MAX_ARRAY_INDEX","isDigit","character","shouldCoerceToNumber","segment","parsedNumber","processSegment","parts","parsePath","path","currentSegment","indexSegment","hadProperty","currentPart","isEscaping","position","isValidInteger","normalizePath","normalized","index","getProperty","object","pathArray","setProperty","root","existingValue","shouldCreateArray","O","k","M","N","P","F","I","L","R","z","B","ee","te","V","H","ne","U","W","G","re","ie","ae","oe","J","se","ce","t","le","Y","ue","de","X","fe","pe","me","e","he","n","r","ge","m","ref","h$1","g","computed","x","S","C","w","a","T","A","j","watchIgnorable","throttleFilter","readonly","f","defineComponent","toRaw","watch","isProxy","onMounted","i","provide","h","withModifiers","s","_e","v","y","b","toRefs","useId","inject","o","onBeforeUnmount","unref","d","p","resolveComponent","defineAsyncComponent","ve","ye","be","c","l","_","Z","Q","Se","getCurrentInstance"],"sources":["../../../../node_modules/.pnpm/dot-prop@10.2.0/node_modules/dot-prop/index.js","../../../../node_modules/.pnpm/@volverjs+form-vue@1.1.7_@volverjs+ui-vue@0.0.25_@json-render+core@0.19.0_zod@4.6.7__@v_080c2c9a77a72539352f0ea5dff0880e/node_modules/@volverjs/form-vue/dist/index.es.js"],"sourcesContent":["const isObject = value => {\n\tconst type = typeof value;\n\treturn value !== null && (type === 'object' || type === 'function');\n};\n\nconst disallowedKeys = new Set([\n\t'__proto__',\n\t'prototype',\n\t'constructor',\n]);\n\n// Longest disallowed key. A longer segment can't be disallowed, so the membership\n// check is skipped for it. This keeps `parsePath` linear on inputs like `a[][]…`.\nconst maxDisallowedKeyLength = Math.max(...[...disallowedKeys].map(key => key.length));\n\n// Maximum allowed array index to prevent DoS via memory exhaustion.\nconst MAX_ARRAY_INDEX = 1_000_000;\n\n// Optimized digit check without Set overhead.\nconst isDigit = character => character >= '0' && character <= '9';\n\n// Check if a segment should be coerced to a number.\nfunction shouldCoerceToNumber(segment) {\n\t// Only coerce valid non-negative integers without leading zeros.\n\tif (segment === '0') {\n\t\treturn true;\n\t}\n\n\tif (/^[1-9]\\d*$/.test(segment)) {\n\t\tconst parsedNumber = Number.parseInt(segment, 10);\n\t\t// Check within safe integer range and under MAX_ARRAY_INDEX to prevent DoS.\n\t\treturn parsedNumber <= Number.MAX_SAFE_INTEGER && parsedNumber <= MAX_ARRAY_INDEX;\n\t}\n\n\treturn false;\n}\n\n// Helper to process a path segment (eliminates duplication).\nfunction processSegment(segment, parts) {\n\tif (disallowedKeys.has(segment)) {\n\t\treturn false; // Signal to return empty array.\n\t}\n\n\tif (segment && shouldCoerceToNumber(segment)) {\n\t\tparts.push(Number.parseInt(segment, 10));\n\t} else {\n\t\tparts.push(segment);\n\t}\n\n\treturn true;\n}\n\nexport function parsePath(path) { // eslint-disable-line complexity\n\tif (typeof path !== 'string') {\n\t\tthrow new TypeError(`Expected a string, got ${typeof path}`);\n\t}\n\n\tconst parts = [];\n\tlet currentSegment = '';\n\tlet indexSegment = '';\n\tlet hadProperty = false;\n\tlet currentPart = 'start';\n\tlet isEscaping = false;\n\tlet position = 0;\n\n\tfor (const character of path) {\n\t\tposition++;\n\n\t\t// Handle escaping.\n\t\tif (isEscaping) {\n\t\t\tcurrentSegment += character;\n\t\t\tisEscaping = false;\n\t\t\tcontinue;\n\t\t}\n\n\t\t// Handle escape character.\n\t\tif (character === '\\\\') {\n\t\t\tif (currentPart === 'index') {\n\t\t\t\tthrow new Error(`Invalid character '${character}' in an index at position ${position}`);\n\t\t\t}\n\n\t\t\tif (currentPart === 'indexEnd') {\n\t\t\t\tthrow new Error(`Invalid character '${character}' after an index at position ${position}`);\n\t\t\t}\n\n\t\t\tisEscaping = true;\n\t\t\tcurrentPart = currentPart === 'start' ? 'property' : currentPart;\n\t\t\tcontinue;\n\t\t}\n\n\t\tswitch (character) {\n\t\t\tcase '.': {\n\t\t\t\tif (currentPart === 'index') {\n\t\t\t\t\tthrow new Error(`Invalid character '${character}' in an index at position ${position}`);\n\t\t\t\t}\n\n\t\t\t\tif (currentPart === 'indexEnd') {\n\t\t\t\t\tcurrentPart = 'property';\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tif (!processSegment(currentSegment, parts)) {\n\t\t\t\t\treturn [];\n\t\t\t\t}\n\n\t\t\t\tcurrentSegment = '';\n\t\t\t\tcurrentPart = 'property';\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\tcase '[': {\n\t\t\t\tif (currentPart === 'index') {\n\t\t\t\t\tthrow new Error(`Invalid character '${character}' in an index at position ${position}`);\n\t\t\t\t}\n\n\t\t\t\tif (currentPart === 'indexEnd') {\n\t\t\t\t\tcurrentPart = 'index';\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\t// Entering an index from a property. Keep the property in `currentSegment`\n\t\t\t\t// and collect index digits separately, so empty brackets (`[]`) don't\n\t\t\t\t// require pushing then popping the segment (which re-scans a growing\n\t\t\t\t// literal on every `[` and makes `a[][]…` quadratic).\n\t\t\t\t//\n\t\t\t\t// Reject a disallowed key here, before the index opens, so `__proto__[0]`\n\t\t\t\t// etc. still return []. The length guard keeps this O(1) for long literals.\n\t\t\t\tif (\n\t\t\t\t\tcurrentPart === 'property'\n\t\t\t\t\t&& currentSegment.length <= maxDisallowedKeyLength\n\t\t\t\t\t&& disallowedKeys.has(currentSegment)\n\t\t\t\t) {\n\t\t\t\t\treturn [];\n\t\t\t\t}\n\n\t\t\t\thadProperty = currentPart === 'property';\n\t\t\t\tcurrentPart = 'index';\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\tcase ']': {\n\t\t\t\tif (currentPart === 'indexEnd') {\n\t\t\t\t\tthrow new Error(`Invalid character '${character}' after an index at position ${position}`);\n\t\t\t\t}\n\n\t\t\t\tif (currentPart !== 'index') {\n\t\t\t\t\t// In property context, treat ] as a literal character. Transition out\n\t\t\t\t\t// of 'start' like any other literal, otherwise a leading ']' leaves the\n\t\t\t\t\t// segment in 'start' and is discarded at the end of the path.\n\t\t\t\t\tif (currentPart === 'start') {\n\t\t\t\t\t\tcurrentPart = 'property';\n\t\t\t\t\t}\n\n\t\t\t\t\tcurrentSegment += character;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tif (indexSegment === '') {\n\t\t\t\t\t// Empty brackets - treat `[]` as literal characters of the property.\n\t\t\t\t\tcurrentSegment += '[]';\n\t\t\t\t\tcurrentPart = 'property';\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\t// A real index closes. Flush the pending property segment first\n\t\t\t\t// (an empty one too, for paths like `foo.[0]`).\n\t\t\t\tif ((currentSegment !== '' || hadProperty) && !processSegment(currentSegment, parts)) {\n\t\t\t\t\treturn [];\n\t\t\t\t}\n\n\t\t\t\tcurrentSegment = '';\n\t\t\t\thadProperty = false;\n\n\t\t\t\t// Index must be digits only (enforced by default case).\n\t\t\t\t// The String() check rejects leading zeros like `[01]`.\n\t\t\t\tconst parsedNumber = Number.parseInt(indexSegment, 10);\n\t\t\t\tconst isValidInteger = parsedNumber <= MAX_ARRAY_INDEX\n\t\t\t\t\t&& indexSegment === String(parsedNumber);\n\n\t\t\t\t// Keep as string if not a valid integer representation or exceeds MAX_ARRAY_INDEX.\n\t\t\t\tparts.push(isValidInteger ? parsedNumber : indexSegment);\n\n\t\t\t\tindexSegment = '';\n\t\t\t\tcurrentPart = 'indexEnd';\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\tdefault: {\n\t\t\t\tif (currentPart === 'index') {\n\t\t\t\t\tif (!isDigit(character)) {\n\t\t\t\t\t\tthrow new Error(`Invalid character '${character}' in an index at position ${position}`);\n\t\t\t\t\t}\n\n\t\t\t\t\tindexSegment += character;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tif (currentPart === 'indexEnd') {\n\t\t\t\t\tthrow new Error(`Invalid character '${character}' after an index at position ${position}`);\n\t\t\t\t}\n\n\t\t\t\tif (currentPart === 'start') {\n\t\t\t\t\tcurrentPart = 'property';\n\t\t\t\t}\n\n\t\t\t\tcurrentSegment += character;\n\t\t\t}\n\t\t}\n\t}\n\n\t// Handle unfinished escaping (trailing backslash)\n\tif (isEscaping) {\n\t\tcurrentSegment += '\\\\';\n\t}\n\n\t// Handle end of path\n\tswitch (currentPart) {\n\t\tcase 'property': {\n\t\t\tif (!processSegment(currentSegment, parts)) {\n\t\t\t\treturn [];\n\t\t\t}\n\n\t\t\tbreak;\n\t\t}\n\n\t\tcase 'index': {\n\t\t\tthrow new Error('Index was not closed');\n\t\t}\n\n\t\tcase 'start': {\n\t\t\tparts.push('');\n\t\t\tbreak;\n\t\t}\n\t\t// No default\n\t}\n\n\treturn parts;\n}\n\nfunction normalizePath(path) {\n\tif (typeof path === 'string') {\n\t\treturn parsePath(path);\n\t}\n\n\tif (Array.isArray(path)) {\n\t\tconst normalized = [];\n\n\t\tfor (const [index, segment] of path.entries()) {\n\t\t\t// Type validation.\n\t\t\tif (typeof segment !== 'string' && typeof segment !== 'number') {\n\t\t\t\tthrow new TypeError(`Expected a string or number for path segment at index ${index}, got ${typeof segment}`);\n\t\t\t}\n\n\t\t\t// Validate numbers are finite (reject NaN, Infinity, -Infinity).\n\t\t\tif (typeof segment === 'number' && !Number.isFinite(segment)) {\n\t\t\t\tthrow new TypeError(`Path segment at index ${index} must be a finite number, got ${segment}`);\n\t\t\t}\n\n\t\t\t// Check for disallowed keys.\n\t\t\tif (disallowedKeys.has(segment)) {\n\t\t\t\treturn [];\n\t\t\t}\n\n\t\t\t// Normalize numeric strings to numbers for simplicity.\n\t\t\t// This treats ['items', '0'] the same as ['items', 0].\n\t\t\tif (typeof segment === 'string' && shouldCoerceToNumber(segment)) {\n\t\t\t\tnormalized.push(Number.parseInt(segment, 10));\n\t\t\t} else {\n\t\t\t\tnormalized.push(segment);\n\t\t\t}\n\t\t}\n\n\t\treturn normalized;\n\t}\n\n\treturn [];\n}\n\nexport function getProperty(object, path, value) {\n\tif (!isObject(object) || (typeof path !== 'string' && !Array.isArray(path))) {\n\t\treturn value === undefined ? object : value;\n\t}\n\n\tconst pathArray = normalizePath(path);\n\tif (pathArray.length === 0) {\n\t\treturn value;\n\t}\n\n\tfor (let index = 0; index < pathArray.length; index++) {\n\t\tconst key = pathArray[index];\n\t\tobject = object[key];\n\n\t\tif (object === undefined || object === null) {\n\t\t\t// Return default value if we hit undefined/null before the end of the path.\n\t\t\t// This ensures get({foo: null}, 'foo.bar') returns the default value, not null.\n\t\t\tif (index !== pathArray.length - 1) {\n\t\t\t\treturn value;\n\t\t\t}\n\n\t\t\tbreak;\n\t\t}\n\t}\n\n\treturn object === undefined ? value : object;\n}\n\nexport function setProperty(object, path, value) {\n\tif (!isObject(object) || (typeof path !== 'string' && !Array.isArray(path))) {\n\t\treturn object;\n\t}\n\n\tconst root = object;\n\tconst pathArray = normalizePath(path);\n\n\tif (pathArray.length === 0) {\n\t\treturn object;\n\t}\n\n\tfor (let index = 0; index < pathArray.length; index++) {\n\t\tconst key = pathArray[index];\n\n\t\tif (index === pathArray.length - 1) {\n\t\t\tobject[key] = value;\n\t\t\tcontinue;\n\t\t}\n\n\t\tconst existingValue = object[key];\n\t\tif (isObject(existingValue)) {\n\t\t\tobject = existingValue;\n\t\t\tcontinue;\n\t\t}\n\n\t\t// Create a fresh container when the existing value is missing or primitive.\n\t\tconst nextKey = pathArray[index + 1];\n\t\tconst shouldCreateArray = typeof nextKey === 'number';\n\t\tobject[key] = shouldCreateArray ? [] : {};\n\t\tobject = object[key];\n\t}\n\n\treturn root;\n}\n\nexport function deleteProperty(object, path) {\n\tif (!isObject(object) || (typeof path !== 'string' && !Array.isArray(path))) {\n\t\treturn false;\n\t}\n\n\tconst pathArray = normalizePath(path);\n\n\tif (pathArray.length === 0) {\n\t\treturn false;\n\t}\n\n\tfor (let index = 0; index < pathArray.length; index++) {\n\t\tconst key = pathArray[index];\n\n\t\tif (index === pathArray.length - 1) {\n\t\t\tconst existed = Object.hasOwn(object, key);\n\t\t\tif (!existed) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\tdelete object[key];\n\t\t\treturn true;\n\t\t}\n\n\t\tconst existingValue = object[key];\n\t\tif (!isObject(existingValue)) {\n\t\t\treturn false;\n\t\t}\n\n\t\tobject = existingValue;\n\t}\n}\n\nexport function hasProperty(object, path) {\n\tif (!isObject(object) || (typeof path !== 'string' && !Array.isArray(path))) {\n\t\treturn false;\n\t}\n\n\tconst pathArray = normalizePath(path);\n\tif (pathArray.length === 0) {\n\t\treturn false;\n\t}\n\n\tfor (const key of pathArray) {\n\t\tif (!isObject(object) || !(key in object)) {\n\t\t\treturn false;\n\t\t}\n\n\t\tobject = object[key];\n\t}\n\n\treturn true;\n}\n\nexport function escapePath(path) {\n\tif (typeof path !== 'string') {\n\t\tthrow new TypeError(`Expected a string, got ${typeof path}`);\n\t}\n\n\t// Escape special characters in one pass\n\treturn path.replaceAll(/[\\\\.[]/g, String.raw`\\$&`);\n}\n\nfunction normalizeEntries(value) {\n\tconst entries = Object.entries(value);\n\tif (Array.isArray(value)) {\n\t\treturn entries.map(([key, entryValue]) => {\n\t\t\t// Use shouldCoerceToNumber for consistency with parsePath\n\t\t\tconst normalizedKey = shouldCoerceToNumber(key)\n\t\t\t\t? Number.parseInt(key, 10)\n\t\t\t\t: key;\n\t\t\treturn [normalizedKey, entryValue];\n\t\t});\n\t}\n\n\treturn entries;\n}\n\n// Format a single path segment's contribution to a stringified path.\n// `isFirst` is whether the segment starts the path (no leading separator).\n// `startsOutput` is whether nothing has been emitted yet, which happens when every\n// preceding segment was an empty string key.\nfunction formatPathSegment(segment, isFirst, startsOutput, preferDotForIndices) {\n\t// An index may only use bracket notation when it is genuinely at the start of\n\t// the path or something precedes it in the output. A `[0]` that merely *looks*\n\t// like the start parses back as a bare index, dropping the empty keys before it.\n\tconst useDotForIndex = !isFirst && (preferDotForIndices || startsOutput);\n\n\tif (typeof segment === 'number') {\n\t\t// Non-integer or negative numbers are treated as string keys.\n\t\tif (!Number.isInteger(segment) || segment < 0) {\n\t\t\tconst escaped = escapePath(String(segment));\n\t\t\treturn isFirst ? escaped : `.${escaped}`;\n\t\t}\n\n\t\treturn useDotForIndex ? `.${segment}` : `[${segment}]`;\n\t}\n\n\t// Empty string keys carry no text, only a separator when not first.\n\tif (segment === '') {\n\t\treturn isFirst ? '' : '.';\n\t}\n\n\t// Numeric strings are normalized to numbers.\n\tif (shouldCoerceToNumber(segment)) {\n\t\tconst numericValue = Number.parseInt(segment, 10);\n\t\treturn useDotForIndex ? `.${numericValue}` : `[${numericValue}]`;\n\t}\n\n\t// Regular strings use dot notation.\n\tconst escaped = escapePath(segment);\n\treturn isFirst ? escaped : `.${escaped}`;\n}\n\nexport function stringifyPath(pathSegments, options = {}) {\n\tif (!Array.isArray(pathSegments)) {\n\t\tthrow new TypeError(`Expected an array, got ${typeof pathSegments}`);\n\t}\n\n\tconst {preferDotForIndices = false} = options;\n\tconst parts = [];\n\tlet startsOutput = true;\n\n\tfor (const [index, segment] of pathSegments.entries()) {\n\t\t// Validate segment types at runtime\n\t\tif (typeof segment !== 'string' && typeof segment !== 'number') {\n\t\t\tthrow new TypeError(`Expected a string or number for path segment at index ${index}, got ${typeof segment}`);\n\t\t}\n\n\t\tconst part = formatPathSegment(segment, index === 0, startsOutput, preferDotForIndices);\n\t\tparts.push(part);\n\n\t\tif (part !== '') {\n\t\t\tstartsOutput = false;\n\t\t}\n\t}\n\n\treturn parts.join('');\n}\n\nfunction * deepKeysIterator(object) {\n\tif (!isObject(object)) {\n\t\treturn;\n\t}\n\n\tconst rootEntries = normalizeEntries(object);\n\tif (rootEntries.length === 0) {\n\t\treturn;\n\t}\n\n\t// Iterative depth-first walk with an explicit stack, so deeply nested input\n\t// cannot overflow the call stack (unbounded recursion is a DoS vector).\n\t//\n\t// The path string is built incrementally: each segment is escaped and appended\n\t// once, when we descend into it. Re-stringifying the whole path for every leaf\n\t// (which re-escapes every ancestor segment) makes the walk quadratic in the\n\t// depth, so a deeply nested object cheaply blocks the event loop for seconds\n\t// (an algorithmic-complexity DoS vector).\n\tconst ancestors = new Set([object]);\n\tconst stack = [{iterator: rootEntries[Symbol.iterator](), prefix: '', object}];\n\n\twhile (stack.length > 0) {\n\t\tconst frame = stack.at(-1);\n\t\tconst {value: entry, done} = frame.iterator.next();\n\n\t\tif (done) {\n\t\t\tancestors.delete(stack.pop().object);\n\t\t\tcontinue;\n\t\t}\n\n\t\tconst [key, value] = entry;\n\t\tconst {prefix} = frame;\n\t\tconst path = prefix + formatPathSegment(key, stack.length === 1, prefix === '', false);\n\n\t\tif (isObject(value)) {\n\t\t\t// Skip circular references (object already on the current path).\n\t\t\tif (ancestors.has(value)) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\t// The entries decide both whether this is a leaf and what to walk, so they are computed once.\n\t\t\tconst entries = normalizeEntries(value);\n\t\t\tif (entries.length > 0) {\n\t\t\t\tancestors.add(value);\n\t\t\t\tstack.push({iterator: entries[Symbol.iterator](), prefix: path, object: value});\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t}\n\n\t\tyield path;\n\t}\n}\n\nexport function deepKeys(object) {\n\treturn [...deepKeysIterator(object)];\n}\n\nexport function unflatten(object) {\n\tconst result = {};\n\tif (!isObject(object)) {\n\t\treturn result;\n\t}\n\n\tfor (const [path, value] of Object.entries(object)) {\n\t\tsetProperty(result, path, value);\n\t}\n\n\treturn result;\n}\n","import { computed as e, defineAsyncComponent as t, defineComponent as n, getCurrentInstance as r, h as i, inject as a, isProxy as o, onBeforeUnmount as s, onMounted as c, provide as l, readonly as u, ref as d, resolveComponent as f, toRaw as p, toRefs as m, unref as h, useId as g, watch as _, withModifiers as v } from \"vue\";\nimport { throttleFilter as y, watchIgnorable as b } from \"@vueuse/core\";\nimport { $ZodError as x, _superRefine as S, formatError as C, safeParse as w, safeParseAsync as T } from \"zod/v4/core\";\nimport { getProperty as E, setProperty as D } from \"dot-prop\";\n//#region src/enums.ts\nvar O = /* @__PURE__ */ function(e) {\n\treturn e.text = \"text\", e.number = \"number\", e.email = \"email\", e.password = \"password\", e.tel = \"tel\", e.url = \"url\", e.search = \"search\", e.date = \"date\", e.time = \"time\", e.datetimeLocal = \"datetime-local\", e.month = \"month\", e.week = \"week\", e.color = \"color\", e.select = \"select\", e.checkbox = \"checkbox\", e.radio = \"radio\", e.textarea = \"textarea\", e.radioGroup = \"radioGroup\", e.checkboxGroup = \"checkboxGroup\", e.combobox = \"combobox\", e.custom = \"custom\", e;\n}({}), k = /* @__PURE__ */ function(e) {\n\treturn e.invalid = \"invalid\", e.valid = \"valid\", e.submitting = \"submitting\", e.reset = \"reset\", e.updated = \"updated\", e.unknown = \"unknown\", e;\n}({});\n//#endregion\n//#region src/utils.ts\nfunction A(e) {\n\treturn Array.isArray(e) ? \"array\" : e === null ? \"null\" : typeof e;\n}\nfunction j(e, t) {\n\tlet n = A(e);\n\treturn t.type ? Array.isArray(t.type) ? t.type.some((t) => t === n || t === \"integer\" && n === \"number\" && Number.isInteger(e)) : t.type === n || t.type === \"integer\" && n === \"number\" && Number.isInteger(e) : !0;\n}\nvar M = (e) => e._def.typeName === \"ZodObject\", N = (e) => e._zod.def.type === \"object\", P = (e) => e._def.typeName === \"ZodDefault\", F = (e) => e._zod.def.type === \"default\", I = (e) => e._def.typeName === \"ZodNullable\", L = (e) => e._zod.def.type === \"nullable\", R = (e) => e._def.typeName === \"ZodRecord\", z = (e) => e._zod.def.type === \"record\", B = (e) => e._def.typeName === \"ZodArray\", ee = (e) => e._zod.def.type === \"array\", te = (e) => e._def.typeName === \"ZodEffects\", V = (e) => e._def.typeName === \"ZodOptional\", H = (e) => e._zod.def.type === \"optional\", ne = (e) => e._zod.def.type === \"pipe\", U = (e) => e._zod.def.type === \"transform\";\nfunction W(e) {\n\tlet t = e;\n\tfor (; te(t);) t = t.innerType();\n\treturn t;\n}\nfunction G(e) {\n\tlet t = e;\n\tfor (; ne(t);) t = U(t._zod.def.out) ? t._zod.def.in : t._zod.def.out;\n\treturn t;\n}\nvar re = (e) => {\n\tlet t = W(e);\n\treturn V(t) && (t = t._def.innerType), t;\n}, ie = (e) => {\n\tlet t = G(e);\n\treturn H(t) && (t = t._zod.def.innerType), t;\n}, ae = (e) => !!V(W(e)), oe = (e) => !!H(G(e));\nfunction K(e, t) {\n\tif (e.length === 0) return t ?? void 0;\n\tif (t !== void 0) {\n\t\tfor (let n of e) if (j(t, n)) return q(n, t);\n\t\tfor (let n of e) {\n\t\t\tlet e = n;\n\t\t\tif (!e.type || e.type === \"object\") return q(e, t);\n\t\t}\n\t}\n\treturn q(e[0], t);\n}\nfunction q(e, t) {\n\tif (\"const\" in e) return e.const;\n\tif (e.anyOf && Array.isArray(e.anyOf)) return K(e.anyOf, t);\n\tif (e.oneOf && Array.isArray(e.oneOf)) return K(e.oneOf, t);\n\tif (e.allOf && Array.isArray(e.allOf)) {\n\t\tlet n = {\n\t\t\t...e,\n\t\t\tallOf: void 0\n\t\t};\n\t\tfor (let t of e.allOf) {\n\t\t\tlet e = t;\n\t\t\te.properties && (n.properties = {\n\t\t\t\t...n.properties,\n\t\t\t\t...e.properties\n\t\t\t}), e.type && !n.type && (n.type = e.type);\n\t\t}\n\t\treturn q(n, t);\n\t}\n\tif (Array.isArray(e.type)) {\n\t\tif (t === null && e.type.includes(\"null\")) return null;\n\t\tlet n = e.type.find((e) => e !== \"null\");\n\t\treturn n ? q({\n\t\t\t...e,\n\t\t\ttype: n\n\t\t}, t) : e.default ?? null;\n\t}\n\tif (e.type !== \"object\" || !e.properties) switch (e.type) {\n\t\tcase \"string\": return typeof t == \"string\" ? t : e.default;\n\t\tcase \"number\":\n\t\tcase \"integer\": return typeof t == \"number\" ? t : e.default;\n\t\tcase \"boolean\": return typeof t == \"boolean\" ? t : e.default;\n\t\tcase \"null\": return t === null ? t : e.default;\n\t\tcase \"array\": return Array.isArray(t) ? e.items ? t.map((t) => q(e.items, t)) : t : e.default;\n\t\tdefault: return e.default;\n\t}\n\tlet n = e.properties, r = t && typeof t == \"object\" && !Array.isArray(t) ? t : void 0, i = {};\n\tfor (let e in n) {\n\t\tlet t = r?.[e];\n\t\ti[e] = q(n[e], t);\n\t}\n\tif (r && e.additionalProperties !== !1) {\n\t\tlet e = new Set(Object.keys(n));\n\t\tfor (let [t, n] of Object.entries(r)) e.has(t) || (i[t] = n);\n\t}\n\treturn i;\n}\nvar J = (e) => \"_zod\" in e, se = {\n\tgetInnerType: re,\n\tisObject: M,\n\thasUnknownKeys: (e) => e._def.unknownKeys === \"passthrough\",\n\tgetShapeEntries: (e) => \"shape\" in e ? Object.entries(e.shape) : [],\n\tisOptional: ae,\n\tisDefault: P,\n\tgetDefaultValue: (e) => e._def.defaultValue(),\n\tgetDefaultInnerType: (e) => e._def.innerType,\n\tisNullable: I,\n\tsafeParse: (e, t) => e.safeParse(t),\n\tisArray: B,\n\tgetArrayElement: (e) => e._def.type,\n\tisRecord: R,\n\tgetRecordValue: (e) => e._def.valueType\n}, ce = {\n\tgetInnerType: ie,\n\tisObject: N,\n\thasUnknownKeys: (e) => !!(e._zod.def.catchall && e._zod.def.catchall._zod.def.type !== \"never\"),\n\tgetShapeEntries: (e) => \"shape\" in e._zod.def ? Object.entries(e._zod.def.shape) : [],\n\tisOptional: oe,\n\tisDefault: F,\n\tgetDefaultValue: (e) => e._zod.def.defaultValue,\n\tgetDefaultInnerType: (e) => e._zod.def.innerType,\n\tisNullable: L,\n\tsafeParse: (e, t) => w(e, t),\n\tisArray: ee,\n\tgetArrayElement: (e) => e._zod.def.element,\n\tisRecord: z,\n\tgetRecordValue: (e) => e._zod.def.valueType\n};\nfunction le(e, t, n) {\n\tlet r = e.getInnerType(e.getArrayElement(t));\n\treturn e.isObject(r) ? n.map((t) => Y(e, r, t)) : n;\n}\nfunction ue(e, t, n) {\n\tlet r = e.getInnerType(e.getRecordValue(t));\n\treturn e.isObject(r) ? Object.keys(n).reduce((t, i) => (t[i] = Y(e, r, n[i]), t), {}) : n;\n}\nfunction de(e, t, n, r) {\n\tlet i = e.isOptional(n), a = e.getInnerType(n), o;\n\tif (e.isDefault(a) && (o = e.getDefaultValue(a), a = e.getDefaultInnerType(a)), r === null && e.isNullable(a)) return [t, r];\n\tif (r == null && i) return [t, o];\n\tif (a && r !== void 0) {\n\t\tlet i = e.safeParse(n, r);\n\t\tif (i.success) return [t, i.data ?? o];\n\t}\n\treturn e.isArray(a) && Array.isArray(r) ? [t, le(e, a, r)] : e.isRecord(a) && r ? [t, ue(e, a, r)] : e.isObject(a) ? [t, Y(e, a, r && typeof r == \"object\" ? r : o)] : [t, o];\n}\nfunction Y(e, t, n) {\n\tlet r = n && typeof n == \"object\" && !Array.isArray(n) ? n : {};\n\treturn {\n\t\t...e.hasUnknownKeys(t) ? r : {},\n\t\t...Object.fromEntries(e.getShapeEntries(t).map(([t, n]) => de(e, t, n, r[t])))\n\t};\n}\nfunction X(e, t = {}) {\n\tlet n = J(e) ? ce : se, r = n.getInnerType(e);\n\treturn n.isObject(r) ? Y(n, r, t) : t;\n}\nvar fe = (e, t) => J(e) ? T(e, t) : e.safeParseAsync(t);\nfunction pe(e, t) {\n\tif (!t) return e;\n\tif (J(e)) {\n\t\tlet n = e;\n\t\tif (typeof n.check != \"function\") throw TypeError(\"[@volverjs/form-vue]: superRefine needs a schema built with \\\"zod\\\" or \\\"zod/mini\\\". A schema built directly from \\\"zod/v4/core\\\" has no .check() to attach the refinement to.\");\n\t\treturn n.check(S(t));\n\t}\n\treturn e.superRefine(t);\n}\nvar me = (e, t) => J(e) ? C(t) : t.format(), he = (e, t, n) => {\n\tif (J(e)) return C(new x(n));\n\tlet r = t.constructor;\n\treturn new r(n).format();\n};\n//#endregion\n//#region src/VvForm.ts\nfunction ge(t, r, a, s, f) {\n\tlet m = d(), h = d(), g = e(() => h.value === k.invalid), x = d(), S = d(!1), C, w = (e) => {\n\t\tlet n = X(t, e);\n\t\tif (a?.class) {\n\t\t\tlet e = a.class;\n\t\t\treturn new e(n);\n\t\t}\n\t\treturn n;\n\t}, T = /* @__PURE__ */ new WeakMap(), E = (e) => {\n\t\tif (!e) return t;\n\t\tlet n = T.get(e);\n\t\treturn n || (n = pe(t, e), T.set(e, n)), n;\n\t}, D = async (e = x.value, n) => {\n\t\tif (C = n?.fields, S.value) return !0;\n\t\tlet r = await fe(E(n?.superRefine), e);\n\t\tif (!r.success) {\n\t\t\tif (!C?.size) return h.value = k.invalid, m.value = me(t, r.error), !1;\n\t\t\tlet e = r.error.issues.filter((e) => C?.has(e.path.join(\".\")));\n\t\t\treturn e.length ? (h.value = k.invalid, m.value = he(t, r.error, e), !1) : (m.value = void 0, h.value = k.unknown, !0);\n\t\t}\n\t\treturn m.value = void 0, h.value = k.valid, x.value = w(r.data), !0;\n\t}, O = () => {\n\t\tm.value = void 0, h.value = void 0, C = void 0;\n\t}, { ignoreUpdates: A, stop: j } = b(x, () => {\n\t\th.value = k.updated;\n\t}, {\n\t\tdeep: !0,\n\t\teventFilter: y(a?.updateThrottle ?? 500)\n\t}), M = () => {\n\t\tA(() => {\n\t\t\tx.value = w();\n\t\t}), O(), h.value = k.reset;\n\t}, N = async (e) => S.value || !await D(void 0, e) ? !1 : (h.value = k.submitting, !0), P = u(m), F = u(h);\n\treturn {\n\t\tclear: O,\n\t\terrors: m,\n\t\tformData: x,\n\t\tignoreUpdates: A,\n\t\tinvalid: g,\n\t\treadonly: S,\n\t\treset: M,\n\t\tstatus: h,\n\t\twrappers: f,\n\t\tstopUpdatesWatch: j,\n\t\tsubmit: N,\n\t\tvalidate: D,\n\t\tVvForm: n({\n\t\t\tname: \"VvForm\",\n\t\t\tprops: {\n\t\t\t\tcontinuousValidation: {\n\t\t\t\t\ttype: Boolean,\n\t\t\t\t\tdefault: !1\n\t\t\t\t},\n\t\t\t\tmodelValue: {\n\t\t\t\t\ttype: Object,\n\t\t\t\t\tdefault: () => ({})\n\t\t\t\t},\n\t\t\t\treadonly: {\n\t\t\t\t\ttype: Boolean,\n\t\t\t\t\tdefault: a?.readonly\n\t\t\t\t},\n\t\t\t\ttag: {\n\t\t\t\t\ttype: String,\n\t\t\t\t\tdefault: \"form\"\n\t\t\t\t},\n\t\t\t\ttemplate: {\n\t\t\t\t\ttype: [Array, Function],\n\t\t\t\t\tdefault: void 0\n\t\t\t\t},\n\t\t\t\tsuperRefine: {\n\t\t\t\t\ttype: Function,\n\t\t\t\t\tdefault: void 0\n\t\t\t\t},\n\t\t\t\tvalidateFields: {\n\t\t\t\t\ttype: Array,\n\t\t\t\t\tdefault: void 0\n\t\t\t\t}\n\t\t\t},\n\t\t\temits: [\n\t\t\t\t\"invalid\",\n\t\t\t\t\"submit\",\n\t\t\t\t\"update:modelValue\",\n\t\t\t\t\"update:readonly\",\n\t\t\t\t\"valid\",\n\t\t\t\t\"reset\"\n\t\t\t],\n\t\t\texpose: [\n\t\t\t\t\"errors\",\n\t\t\t\t\"invalid\",\n\t\t\t\t\"readonly\",\n\t\t\t\t\"status\",\n\t\t\t\t\"submit\",\n\t\t\t\t\"tag\",\n\t\t\t\t\"template\",\n\t\t\t\t\"valid\",\n\t\t\t\t\"validate\",\n\t\t\t\t\"clear\",\n\t\t\t\t\"reset\"\n\t\t\t],\n\t\t\tslots: Object,\n\t\t\tsetup(e, { emit: t }) {\n\t\t\t\tx.value = w(p(e.modelValue)), _(() => e.modelValue, (e) => {\n\t\t\t\t\tif (e) {\n\t\t\t\t\t\tlet t = o(e) ? p(e) : e;\n\t\t\t\t\t\tif (JSON.stringify(t) === JSON.stringify(p(x.value))) return;\n\t\t\t\t\t\tx.value = w(t);\n\t\t\t\t\t}\n\t\t\t\t}, { deep: !0 }), _(h, async (n) => {\n\t\t\t\t\tif (n === k.invalid) {\n\t\t\t\t\t\tlet e = p(m.value);\n\t\t\t\t\t\tt(\"invalid\", e), a?.onInvalid?.(e);\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\tif (n === k.valid) {\n\t\t\t\t\t\tlet e = p(x.value);\n\t\t\t\t\t\tt(\"valid\", e), a?.onValid?.(e), t(\"update:modelValue\", e), a?.onUpdate?.(e);\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\tif (n === k.submitting) {\n\t\t\t\t\t\tlet e = p(x.value);\n\t\t\t\t\t\tt(\"submit\", e), a?.onSubmit?.(e);\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\tif (n === k.reset) {\n\t\t\t\t\t\tlet e = p(x.value);\n\t\t\t\t\t\tt(\"reset\", e), a?.onReset?.(e);\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\tif (n === k.updated) {\n\t\t\t\t\t\tif ((m.value || a?.continuousValidation || e.continuousValidation) && await D(void 0, {\n\t\t\t\t\t\t\tsuperRefine: e.superRefine,\n\t\t\t\t\t\t\tfields: C ?? new Set(e.validateFields)\n\t\t\t\t\t\t}), !x.value || !e.modelValue || JSON.stringify(x.value) !== JSON.stringify(e.modelValue)) {\n\t\t\t\t\t\t\tlet e = p(x.value);\n\t\t\t\t\t\t\tt(\"update:modelValue\", e), a?.onUpdate?.(e);\n\t\t\t\t\t\t}\n\t\t\t\t\t\th.value === k.updated && (h.value = k.unknown);\n\t\t\t\t\t}\n\t\t\t\t}), c(() => {\n\t\t\t\t\te.readonly !== void 0 && (S.value = e.readonly);\n\t\t\t\t}), _(() => e.readonly, (e) => {\n\t\t\t\t\tS.value = e;\n\t\t\t\t}), _(S, (n) => {\n\t\t\t\t\tn !== e.readonly && t(\"update:readonly\", S.value);\n\t\t\t\t});\n\t\t\t\tlet n = (t, n) => D(t, {\n\t\t\t\t\tfields: n?.fields,\n\t\t\t\t\tsuperRefine: n?.superRefine ?? e.superRefine\n\t\t\t\t}), i = () => N({\n\t\t\t\t\tsuperRefine: e.superRefine,\n\t\t\t\t\tfields: new Set(e.validateFields)\n\t\t\t\t});\n\t\t\t\treturn l(r, {\n\t\t\t\t\tclear: O,\n\t\t\t\t\terrors: P,\n\t\t\t\t\tformData: x,\n\t\t\t\t\tignoreUpdates: A,\n\t\t\t\t\tinvalid: g,\n\t\t\t\t\treadonly: S,\n\t\t\t\t\treset: M,\n\t\t\t\t\tstatus: F,\n\t\t\t\t\tstopUpdatesWatch: j,\n\t\t\t\t\tsubmit: i,\n\t\t\t\t\tvalidate: n,\n\t\t\t\t\twrappers: f\n\t\t\t\t}), {\n\t\t\t\t\tclear: O,\n\t\t\t\t\terrors: P,\n\t\t\t\t\tformData: x,\n\t\t\t\t\tignoreUpdates: A,\n\t\t\t\t\tinvalid: g,\n\t\t\t\t\tisReadonly: S,\n\t\t\t\t\treset: M,\n\t\t\t\t\tstatus: F,\n\t\t\t\t\tstopUpdatesWatch: j,\n\t\t\t\t\tsubmit: i,\n\t\t\t\t\tvalidate: n,\n\t\t\t\t\twrappers: f\n\t\t\t\t};\n\t\t\t},\n\t\t\trender() {\n\t\t\t\tlet e = () => this.$slots?.default?.({\n\t\t\t\t\terrors: P.value,\n\t\t\t\t\tformData: x.value,\n\t\t\t\t\tinvalid: g.value,\n\t\t\t\t\treadonly: S.value,\n\t\t\t\t\tstatus: F.value,\n\t\t\t\t\twrappers: f,\n\t\t\t\t\tclear: O,\n\t\t\t\t\tignoreUpdates: A,\n\t\t\t\t\treset: M,\n\t\t\t\t\tstopUpdatesWatch: j,\n\t\t\t\t\tsubmit: this.submit,\n\t\t\t\t\tvalidate: this.validate\n\t\t\t\t}) ?? this.$slots.default;\n\t\t\t\treturn i(this.tag, {\n\t\t\t\t\tonSubmit: v(this.submit, [\"prevent\"]),\n\t\t\t\t\tonReset: v(this.reset, [\"prevent\"])\n\t\t\t\t}, (this.template ?? a?.template) && s ? [i(s, { schema: this.template ?? a?.template }, { default: e })] : { default: e });\n\t\t\t}\n\t\t})\n\t};\n}\n//#endregion\n//#region src/VvFormField.ts\nfunction _e(r, o, d, p) {\n\treturn n({\n\t\tname: \"VvFormField\",\n\t\tprops: {\n\t\t\ttype: {\n\t\t\t\ttype: String,\n\t\t\t\tvalidator: (e) => Object.values(O).includes(e),\n\t\t\t\tdefault: O.custom\n\t\t\t},\n\t\t\tis: {\n\t\t\t\ttype: [Object, String],\n\t\t\t\tdefault: void 0\n\t\t\t},\n\t\t\tname: {\n\t\t\t\ttype: [\n\t\t\t\t\tString,\n\t\t\t\t\tNumber,\n\t\t\t\t\tBoolean,\n\t\t\t\t\tSymbol\n\t\t\t\t],\n\t\t\t\trequired: !0\n\t\t\t},\n\t\t\tprops: {\n\t\t\t\ttype: [Object, Function],\n\t\t\t\tdefault: () => ({})\n\t\t\t},\n\t\t\tshowValid: {\n\t\t\t\ttype: Boolean,\n\t\t\t\tdefault: !1\n\t\t\t},\n\t\t\tdefaultValue: {\n\t\t\t\ttype: [\n\t\t\t\t\tString,\n\t\t\t\t\tNumber,\n\t\t\t\t\tBoolean,\n\t\t\t\t\tArray,\n\t\t\t\t\tObject\n\t\t\t\t],\n\t\t\t\tdefault: void 0\n\t\t\t},\n\t\t\tlazyLoad: {\n\t\t\t\ttype: Boolean,\n\t\t\t\tdefault: !1\n\t\t\t},\n\t\t\treadonly: {\n\t\t\t\ttype: Boolean,\n\t\t\t\tdefault: void 0\n\t\t\t}\n\t\t},\n\t\temits: [\n\t\t\t\"invalid\",\n\t\t\t\"update:formData\",\n\t\t\t\"update:modelValue\",\n\t\t\t\"valid\"\n\t\t],\n\t\texpose: [\n\t\t\t\"component\",\n\t\t\t\"errors\",\n\t\t\t\"hasProps\",\n\t\t\t\"invalid\",\n\t\t\t\"invalidLabel\",\n\t\t\t\"is\",\n\t\t\t\"type\"\n\t\t],\n\t\tslots: Object,\n\t\tsetup(n, { slots: i, emit: v }) {\n\t\t\tlet { props: y, name: b } = m(n), x = g(), S = a(o, void 0);\n\t\t\tS && S.fields.value.set(x, n.name);\n\t\t\tlet C = a(r), w = e({\n\t\t\t\tget() {\n\t\t\t\t\tif (C?.formData) return E(new Object(C.formData.value), String(n.name));\n\t\t\t\t},\n\t\t\t\tset(e) {\n\t\t\t\t\tC?.formData && (D(new Object(C.formData.value), String(n.name), e), v(\"update:modelValue\", {\n\t\t\t\t\t\tnewValue: w.value,\n\t\t\t\t\t\tformData: C?.formData\n\t\t\t\t\t}));\n\t\t\t\t}\n\t\t\t});\n\t\t\tc(() => {\n\t\t\t\tw.value === void 0 && n.defaultValue !== void 0 && (w.value = n.defaultValue);\n\t\t\t}), s(() => {\n\t\t\t\tS && S.fields.value.delete(x);\n\t\t\t});\n\t\t\tlet T = e(() => {\n\t\t\t\tif (C?.errors.value) return E(C.errors.value, String(n.name));\n\t\t\t}), k = e(() => T.value?._errors), A = e(() => T.value !== void 0), j = _(A, (e) => {\n\t\t\t\tif (e) {\n\t\t\t\t\tv(\"invalid\", T.value), S && S.errors.value.set(String(n.name), T.value);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tv(\"valid\", w.value), S && S.errors.value.delete(n.name);\n\t\t\t}), M = _(() => C?.formData, () => {\n\t\t\t\tv(\"update:formData\", C?.formData);\n\t\t\t}, { deep: !0 });\n\t\t\ts(() => {\n\t\t\t\tj(), M();\n\t\t\t});\n\t\t\tlet N = (e) => {\n\t\t\t\te instanceof InputEvent && (e = e.target.value), w.value = e;\n\t\t\t}, P = e(() => {\n\t\t\t\tlet e = y.value;\n\t\t\t\treturn typeof e == \"function\" && (e = e(C?.formData)), Object.keys(e).reduce((t, n) => (t[n] = h(e[n]), t), {});\n\t\t\t}), F = e(() => C?.readonly.value || S?.readonly.value ? !0 : P.value.readonly ?? n.readonly), I = e(() => ({\n\t\t\t\t...P.value,\n\t\t\t\tname: P.value.name ?? n.name,\n\t\t\t\tinvalid: A.value,\n\t\t\t\tvalid: n.showValid ? !(A.value || !w.value) : void 0,\n\t\t\t\ttype: ((e) => {\n\t\t\t\t\tif ([\n\t\t\t\t\t\tO.color,\n\t\t\t\t\t\tO.date,\n\t\t\t\t\t\tO.datetimeLocal,\n\t\t\t\t\t\tO.email,\n\t\t\t\t\t\tO.month,\n\t\t\t\t\t\tO.number,\n\t\t\t\t\t\tO.password,\n\t\t\t\t\t\tO.search,\n\t\t\t\t\t\tO.tel,\n\t\t\t\t\t\tO.text,\n\t\t\t\t\t\tO.time,\n\t\t\t\t\t\tO.url,\n\t\t\t\t\t\tO.week\n\t\t\t\t\t].includes(e)) return e;\n\t\t\t\t})(n.type),\n\t\t\t\tinvalidLabel: k.value,\n\t\t\t\tmodelValue: w.value,\n\t\t\t\treadonly: F.value,\n\t\t\t\t\"onUpdate:modelValue\": N\n\t\t\t}));\n\t\t\treturn l(d, {\n\t\t\t\tname: u(b),\n\t\t\t\terrors: u(T)\n\t\t\t}), {\n\t\t\t\tcomponent: e(() => {\n\t\t\t\t\tif (n.type === O.custom) return { render() {\n\t\t\t\t\t\treturn i.default?.({\n\t\t\t\t\t\t\terrors: u(T).value,\n\t\t\t\t\t\t\tformData: C?.formData.value,\n\t\t\t\t\t\t\tformErrors: C?.errors.value,\n\t\t\t\t\t\t\tinvalid: A.value,\n\t\t\t\t\t\t\tinvalidLabel: k.value,\n\t\t\t\t\t\t\tmodelValue: w.value,\n\t\t\t\t\t\t\treadonly: F.value,\n\t\t\t\t\t\t\tonUpdate: N,\n\t\t\t\t\t\t\tsubmit: C?.submit,\n\t\t\t\t\t\t\tvalidate: C?.validate\n\t\t\t\t\t\t}) ?? i.default;\n\t\t\t\t\t} };\n\t\t\t\t\tif (!(p?.lazyLoad ?? n.lazyLoad)) {\n\t\t\t\t\t\tlet e;\n\t\t\t\t\t\tswitch (n.type) {\n\t\t\t\t\t\t\tcase O.select:\n\t\t\t\t\t\t\t\te = f(\"VvSelect\");\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase O.checkbox:\n\t\t\t\t\t\t\t\te = f(\"VvCheckbox\");\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase O.radio:\n\t\t\t\t\t\t\t\te = f(\"VvRadio\");\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase O.textarea:\n\t\t\t\t\t\t\t\te = f(\"VvTextarea\");\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase O.radioGroup:\n\t\t\t\t\t\t\t\te = f(\"VvRadioGroup\");\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase O.checkboxGroup:\n\t\t\t\t\t\t\t\te = f(\"VvCheckboxGroup\");\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase O.combobox:\n\t\t\t\t\t\t\t\te = f(\"VvCombobox\");\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tdefault: e = f(\"VvInputText\");\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (typeof e != \"string\") return e;\n\t\t\t\t\t\tconsole.warn(`[@volverjs/form-vue]: ${e} not found, the component will be loaded asynchronously. To avoid this warning, please set \"lazyLoad\" option.`);\n\t\t\t\t\t}\n\t\t\t\t\treturn t(async () => {\n\t\t\t\t\t\tswitch (p?.sideEffects && await Promise.resolve(p.sideEffects(n.type)), n.type) {\n\t\t\t\t\t\t\tcase O.textarea: return import(\"@volverjs/ui-vue/vv-textarea\");\n\t\t\t\t\t\t\tcase O.radio: return import(\"@volverjs/ui-vue/vv-radio\");\n\t\t\t\t\t\t\tcase O.radioGroup: return import(\"@volverjs/ui-vue/vv-radio-group\");\n\t\t\t\t\t\t\tcase O.checkbox: return import(\"@volverjs/ui-vue/vv-checkbox\");\n\t\t\t\t\t\t\tcase O.checkboxGroup: return import(\"@volverjs/ui-vue/vv-checkbox-group\");\n\t\t\t\t\t\t\tcase O.select: return import(\"@volverjs/ui-vue/vv-select\");\n\t\t\t\t\t\t\tcase O.combobox: return import(\"@volverjs/ui-vue/vv-combobox\");\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn import(\"@volverjs/ui-vue/vv-input-text\");\n\t\t\t\t\t});\n\t\t\t\t}),\n\t\t\t\thasProps: I,\n\t\t\t\tinvalid: A\n\t\t\t};\n\t\t},\n\t\trender() {\n\t\t\treturn this.is ? i(this.is, this.hasProps, this.$slots) : this.type === O.custom ? i(this.component, null, this.$slots) : i(this.component, this.hasProps, this.$slots);\n\t\t}\n\t});\n}\n//#endregion\n//#region src/VvFormFieldsGroup.ts\nfunction ve(t, r, o) {\n\treturn n({\n\t\tname: \"VvFormFieldsGroup\",\n\t\tprops: {\n\t\t\tis: {\n\t\t\t\ttype: [Object, String],\n\t\t\t\tdefault: void 0\n\t\t\t},\n\t\t\tnames: {\n\t\t\t\ttype: [Array, Object],\n\t\t\t\trequired: !0\n\t\t\t},\n\t\t\tprops: {\n\t\t\t\ttype: [Object, Function],\n\t\t\t\tdefault: () => ({})\n\t\t\t},\n\t\t\tshowValid: {\n\t\t\t\ttype: Boolean,\n\t\t\t\tdefault: !1\n\t\t\t},\n\t\t\tdefaultValues: {\n\t\t\t\ttype: [Object],\n\t\t\t\tdefault: void 0\n\t\t\t},\n\t\t\treadonly: {\n\t\t\t\ttype: Boolean,\n\t\t\t\tdefault: void 0\n\t\t\t}\n\t\t},\n\t\temits: [\n\t\t\t\"invalid\",\n\t\t\t\"update:formData\",\n\t\t\t\"update:modelValue\",\n\t\t\t\"valid\"\n\t\t],\n\t\texpose: [\n\t\t\t\"component\",\n\t\t\t\"errors\",\n\t\t\t\"hasProps\",\n\t\t\t\"invalid\",\n\t\t\t\"invalidLabels\",\n\t\t\t\"is\"\n\t\t],\n\t\tslots: Object,\n\t\tsetup(n, { slots: i, emit: d }) {\n\t\t\tlet { props: f, names: p, defaultValues: v } = m(n), y = g(), b = e(() => Array.isArray(p.value) ? p.value : Object.values(p.value)), x = e(() => Array.isArray(p.value) ? p.value : Object.keys(p.value)), S = e(() => Array.isArray(p.value) ? p.value.reduce((e, t) => (e[String(t)] = t, e), {}) : p.value), C = e(() => Object.keys(S.value).reduce((e, t) => (e[String(S.value[t])] = t, e), {})), w = a(r, void 0);\n\t\t\tw && b.value.forEach((e) => {\n\t\t\t\tw.fields.value.set(`${y}-${e}`, e);\n\t\t\t});\n\t\t\tlet T = a(t), O = e({\n\t\t\t\tget() {\n\t\t\t\t\treturn T?.formData ? x.value.reduce((e, t) => (e[t] = E(new Object(T.formData.value), S.value[t]), e), {}) : {};\n\t\t\t\t},\n\t\t\t\tset(e) {\n\t\t\t\t\tT?.formData && (x.value.forEach((t) => {\n\t\t\t\t\t\tD(new Object(T.formData.value), S.value[t], e?.[t]);\n\t\t\t\t\t}), d(\"update:modelValue\", {\n\t\t\t\t\t\tnewValue: O.value,\n\t\t\t\t\t\tformData: T?.formData\n\t\t\t\t\t}));\n\t\t\t\t}\n\t\t\t});\n\t\t\tc(() => {\n\t\t\t\tv.value && b.value.forEach((e) => {\n\t\t\t\t\tv.value?.[e] !== void 0 && O.value[e] === void 0 && (O.value = {\n\t\t\t\t\t\t...O.value,\n\t\t\t\t\t\t[e]: v.value?.[e]\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t}), s(() => {\n\t\t\t\tw && b.value.forEach((e) => {\n\t\t\t\t\tw.fields.value.delete(`${y}-${e}`);\n\t\t\t\t});\n\t\t\t});\n\t\t\tlet k = e(() => {\n\t\t\t\tif (!T?.errors.value) return;\n\t\t\t\tlet e = b.value.reduce((e, t) => {\n\t\t\t\t\tif (!T.errors.value) return e;\n\t\t\t\t\tlet n = E(T.errors.value, String(t));\n\t\t\t\t\treturn n === void 0 || (e[String(t)] = n), e;\n\t\t\t\t}, {});\n\t\t\t\tif (Object.keys(e).length !== 0) return e;\n\t\t\t}), A = e(() => {\n\t\t\t\tif (!k.value) return;\n\t\t\t\tlet e = Object.keys(k.value).reduce((e, t) => (k.value?.[t] && (e[C.value[t]] = k.value[t]._errors), e), {});\n\t\t\t\tif (Object.keys(e).length !== 0) return e;\n\t\t\t}), j = e(() => k.value !== void 0), M = e(() => x.value.reduce((e, t) => (e[t] = !!k.value?.[S.value[t]], e), {})), N = _(j, () => {\n\t\t\t\tif (j.value) {\n\t\t\t\t\td(\"invalid\", k.value), w && b.value.forEach((e) => {\n\t\t\t\t\t\tif (!k.value?.[e]) {\n\t\t\t\t\t\t\tw.errors.value.delete(e);\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tw.errors.value.set(e, k.value?.[e]);\n\t\t\t\t\t});\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\td(\"valid\", O.value), w && b.value.forEach((e) => {\n\t\t\t\t\tw.errors.value.delete(e);\n\t\t\t\t});\n\t\t\t}), P = _(() => T?.formData, () => {\n\t\t\t\td(\"update:formData\", T?.formData);\n\t\t\t}, { deep: !0 });\n\t\t\ts(() => {\n\t\t\t\tN(), P();\n\t\t\t});\n\t\t\tlet F = (e) => {\n\t\t\t\tO.value = e;\n\t\t\t}, I = (e, t) => {\n\t\t\t\tt instanceof InputEvent && (t = t.target.value), x.value.includes(e) && (O.value = {\n\t\t\t\t\t...O.value,\n\t\t\t\t\t[e]: t\n\t\t\t\t});\n\t\t\t}, L = e(() => {\n\t\t\t\tlet e = f.value;\n\t\t\t\treturn typeof e == \"function\" && (e = e(T?.formData)), Object.keys(e).reduce((t, n) => (t[n] = h(e[n]), t), {});\n\t\t\t}), R = e(() => T?.readonly.value ? !0 : L.value.readonly ?? n.readonly), z = e(() => x.value.reduce((e, t) => (e[`onUpdate:${t}`] = (e) => {\n\t\t\t\tI(t, e);\n\t\t\t}, e), { \"onUpdate:modelValue\": F })), B = e(() => ({\n\t\t\t\t...z.value,\n\t\t\t\t...L.value,\n\t\t\t\t...O.value,\n\t\t\t\tmodelValue: O.value,\n\t\t\t\tnames: L.value.name ?? b.value,\n\t\t\t\tinvalid: j.value,\n\t\t\t\tinvalids: M.value,\n\t\t\t\tvalid: n.showValid ? !(j.value || !O.value) : void 0,\n\t\t\t\tinvalidLabels: A.value,\n\t\t\t\treadonly: R.value\n\t\t\t}));\n\t\t\treturn l(o, {\n\t\t\t\tnames: u(p),\n\t\t\t\terrors: u(k)\n\t\t\t}), {\n\t\t\t\tcomponent: e(() => ({ render() {\n\t\t\t\t\treturn i.default?.({\n\t\t\t\t\t\terrors: k.value,\n\t\t\t\t\t\tformData: T?.formData.value,\n\t\t\t\t\t\tformErrors: T?.errors.value,\n\t\t\t\t\t\tinvalid: j.value,\n\t\t\t\t\t\tinvalids: M.value,\n\t\t\t\t\t\tinvalidLabels: A.value,\n\t\t\t\t\t\tmodelValue: O.value,\n\t\t\t\t\t\tonUpdate: F,\n\t\t\t\t\t\tonUpdateField: I,\n\t\t\t\t\t\treadonly: R.value,\n\t\t\t\t\t\tsubmit: T?.submit,\n\t\t\t\t\t\tvalidate: T?.validate\n\t\t\t\t\t}) ?? i.default;\n\t\t\t\t} })),\n\t\t\t\thasProps: B,\n\t\t\t\tinvalid: j\n\t\t\t};\n\t\t},\n\t\trender() {\n\t\t\treturn this.is ? i(this.is, this.hasProps, this.$slots) : i(this.component, null, this.$slots);\n\t\t}\n\t});\n}\n//#endregion\n//#region src/VvFormWrapper.ts\nfunction ye(t, r) {\n\treturn n({\n\t\tname: \"VvFormWrapper\",\n\t\tprops: {\n\t\t\tname: {\n\t\t\t\ttype: String,\n\t\t\t\trequired: !0\n\t\t\t},\n\t\t\ttag: {\n\t\t\t\ttype: String,\n\t\t\t\tdefault: void 0\n\t\t\t},\n\t\t\treadonly: {\n\t\t\t\ttype: Boolean,\n\t\t\t\tdefault: !1\n\t\t\t}\n\t\t},\n\t\temits: [\"invalid\", \"valid\"],\n\t\texpose: [\n\t\t\t\"clear\",\n\t\t\t\"errors\",\n\t\t\t\"fields\",\n\t\t\t\"fieldsErrors\",\n\t\t\t\"formData\",\n\t\t\t\"invalid\",\n\t\t\t\"readonly\",\n\t\t\t\"reset\",\n\t\t\t\"submit\",\n\t\t\t\"tag\",\n\t\t\t\"validate\",\n\t\t\t\"validateWrapper\"\n\t\t],\n\t\tslots: Object,\n\t\tsetup(n, { emit: i }) {\n\t\t\tlet o = a(t), f = a(r, void 0), p = d(/* @__PURE__ */ new Map()), h = d(/* @__PURE__ */ new Map()), { name: g } = m(n), v = e(() => o?.invalid.value ? h.value.size > 0 : !1);\n\t\t\t_(v, (e) => {\n\t\t\t\tif (e) {\n\t\t\t\t\ti(\"invalid\");\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\ti(\"valid\");\n\t\t\t});\n\t\t\tlet y = e(() => o?.readonly.value || n.readonly), b = {\n\t\t\t\tname: u(g),\n\t\t\t\terrors: h,\n\t\t\t\tinvalid: u(v),\n\t\t\t\treadonly: u(y),\n\t\t\t\tfields: p\n\t\t\t};\n\t\t\tl(r, b);\n\t\t\tlet x = e(() => new Map(p.value));\n\t\t\treturn _(x, (e, t) => {\n\t\t\t\tf?.fields && (t.forEach((t, n) => {\n\t\t\t\t\te.has(n) || f?.fields.value.delete(n);\n\t\t\t\t}), e.forEach((e, t) => {\n\t\t\t\t\tf?.fields.value.has(t) || f?.fields.value.set(t, e);\n\t\t\t\t}));\n\t\t\t}, { deep: !0 }), _(h, (e) => {\n\t\t\t\tf?.errors && p.value.forEach((t) => {\n\t\t\t\t\tif (e.has(t) || f.errors.value.delete(t), e.has(t)) {\n\t\t\t\t\t\tlet n = e.get(t);\n\t\t\t\t\t\tn && f.errors.value.set(t, n);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}, { deep: !0 }), c(() => {\n\t\t\t\tif (!o?.wrappers || !g.value) {\n\t\t\t\t\tconsole.warn(\"[@volverjs/form-vue]: Invalid wrapper registration state\");\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tif (o.wrappers.has(g.value)) {\n\t\t\t\t\tconsole.warn(`[@volverjs/form-vue]: wrapper name \"${g.value}\" is already used`);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\to.wrappers.set(g.value, b);\n\t\t\t}), s(() => {\n\t\t\t\to?.wrappers && g.value && o.wrappers.delete(g.value);\n\t\t\t}), {\n\t\t\t\terrors: o?.errors,\n\t\t\t\tfields: p,\n\t\t\t\tfieldsErrors: h,\n\t\t\t\tformData: o?.formData,\n\t\t\t\tinvalid: v,\n\t\t\t\treadonly: y,\n\t\t\t\tclear: o?.clear,\n\t\t\t\treset: o?.reset,\n\t\t\t\tsubmit: o?.submit,\n\t\t\t\tvalidate: o?.validate,\n\t\t\t\tvalidateWrapper: () => o?.validate(void 0, { fields: new Set(p.value.values()) }) ?? Promise.resolve(!0)\n\t\t\t};\n\t\t},\n\t\trender() {\n\t\t\tlet e = () => this.$slots.default?.({\n\t\t\t\terrors: this.errors,\n\t\t\t\tfieldsErrors: this.fieldsErrors,\n\t\t\t\tformData: this.formData,\n\t\t\t\tinvalid: this.invalid,\n\t\t\t\treadonly: this.readonly,\n\t\t\t\tclear: this.clear,\n\t\t\t\treset: this.reset,\n\t\t\t\tsubmit: this.submit,\n\t\t\t\tvalidate: this.validate,\n\t\t\t\tvalidateWrapper: this.validateWrapper\n\t\t\t});\n\t\t\treturn this.tag ? i(this.tag, null, { default: e }) : e();\n\t\t}\n\t});\n}\n//#endregion\n//#region src/VvFormTemplate.ts\nfunction be(e, t) {\n\tlet r = n({\n\t\tname: \"VvFormTemplate\",\n\t\tprops: {\n\t\t\tschema: {\n\t\t\t\ttype: [Array, Function],\n\t\t\t\trequired: !0\n\t\t\t},\n\t\t\tscope: {\n\t\t\t\ttype: Object,\n\t\t\t\tdefault: () => ({})\n\t\t\t}\n\t\t},\n\t\tslots: Object,\n\t\tsetup(n, { slots: o }) {\n\t\t\tlet s = a(e);\n\t\t\tif (s?.formData) return () => {\n\t\t\t\tlet e = typeof n.schema == \"function\" ? n.schema(s, n.scope) : n.schema, a, c = e.reduce((e, o) => {\n\t\t\t\t\tlet { vvIs: c, vvName: l, vvSlots: u, vvChildren: d, vvIf: f, vvElseIf: p, vvType: m, vvDefaultValue: g, vvShowValid: _, vvContent: v, ...y } = typeof o == \"function\" ? o(s, n.scope) : o;\n\t\t\t\t\tif (f !== void 0) {\n\t\t\t\t\t\tif (a = typeof f == \"string\" ? !!E(new Object(s.formData.value), f) : h(typeof f == \"function\" ? f(s) : f), !a) return e;\n\t\t\t\t\t} else if (p !== void 0 && a !== void 0) {\n\t\t\t\t\t\tif (a || (a = typeof p == \"string\" ? !!E(new Object(s.formData.value), p) : h(typeof p == \"function\" ? p(s) : p), !a)) return e;\n\t\t\t\t\t} else a = void 0;\n\t\t\t\t\tlet b;\n\t\t\t\t\treturn d && (b = typeof c == \"string\" ? i(r, { schema: d }) : { default: (e) => i(r, {\n\t\t\t\t\t\tschema: d,\n\t\t\t\t\t\tscope: e\n\t\t\t\t\t}) }), l ? (e.push(i(t, {\n\t\t\t\t\t\tname: l,\n\t\t\t\t\t\tis: c,\n\t\t\t\t\t\ttype: m,\n\t\t\t\t\t\tdefaultValue: g,\n\t\t\t\t\t\tshowValid: _,\n\t\t\t\t\t\tprops: y\n\t\t\t\t\t}, u ?? b ?? v)), e) : c ? (e.push(i(c, y, u ?? b ?? v)), e) : (b && (\"default\" in b ? e.push(b.default(n.scope)) : e.push(b)), e);\n\t\t\t\t}, []);\n\t\t\t\treturn c.push(o?.default?.({\n\t\t\t\t\terrors: s?.errors.value,\n\t\t\t\t\tformData: s?.formData.value,\n\t\t\t\t\tinvalid: s?.invalid.value,\n\t\t\t\t\tstatus: s?.status.value,\n\t\t\t\t\tsubmit: s?.submit,\n\t\t\t\t\tvalidate: s?.validate,\n\t\t\t\t\tclear: s?.clear,\n\t\t\t\t\treset: s?.reset\n\t\t\t\t})), c;\n\t\t\t};\n\t\t}\n\t});\n\treturn r;\n}\n//#endregion\n//#region src/index.ts\nfunction Z(e, t = {}) {\n\tlet n = Symbol(\"formInjectionKey\"), r = Symbol(\"formWrapperInjectionKey\"), i = Symbol(\"formFieldInjectionKey\"), a = Symbol(\"formFieldsGroupInjectionKey\"), o = ye(n, r), s = _e(n, r, i, t), c = ve(n, r, a), l = be(n, s), u = /* @__PURE__ */ new Map(), { clear: d, errors: f, formData: p, ignoreUpdates: m, invalid: h, readonly: g, reset: _, status: v, stopUpdatesWatch: y, submit: b, validate: x, VvForm: S } = ge(e, n, t, l, u);\n\treturn {\n\t\tclear: d,\n\t\terrors: f,\n\t\tformData: p,\n\t\tformFieldInjectionKey: i,\n\t\tformInjectionKey: n,\n\t\tformWrapperInjectionKey: r,\n\t\tignoreUpdates: m,\n\t\tinvalid: h,\n\t\treadonly: g,\n\t\treset: _,\n\t\tstatus: v,\n\t\tstopUpdatesWatch: y,\n\t\tsubmit: b,\n\t\tvalidate: x,\n\t\twrappers: u,\n\t\tVvForm: S,\n\t\tVvFormField: s,\n\t\tVvFormFieldsGroup: c,\n\t\tVvFormTemplate: l,\n\t\tVvFormWrapper: o\n\t};\n}\nvar Q = Symbol(\"pluginInjectionKey\");\nfunction xe(e) {\n\tlet t = {};\n\treturn e.schema && (t = Z(e.schema, e)), {\n\t\t...t,\n\t\tinstall(n, { global: r = !1 } = {}) {\n\t\t\tn.provide(Q, e), r && (n.config.globalProperties.$vvForm = e, t?.VvForm && n.component(\"VvForm\", t.VvForm), t?.VvFormWrapper && n.component(\"VvFormWrapper\", t.VvFormWrapper), t?.VvFormField && n.component(\"VvFormField\", t.VvFormField), t?.VvFormFieldsGroup && n.component(\"VvFormFieldsGroup\", t.VvFormFieldsGroup), t?.VvFormTemplate && n.component(\"VvFormTemplate\", t.VvFormTemplate));\n\t\t}\n\t};\n}\nvar $ = /* @__PURE__ */ new Map();\nfunction Se(e, t = {}) {\n\tif (t.scope && $.has(t.scope)) return $.get(t.scope);\n\tif (!r()) {\n\t\tlet n = Z(e, t);\n\t\treturn t.scope && $.set(t.scope, n), n;\n\t}\n\tlet n = Z(e, {\n\t\t...a(Q, {}),\n\t\t...t\n\t});\n\treturn t.scope && $.set(t.scope, n), n;\n}\nfunction Ce(e, t = {}) {\n\treturn Z(e, t);\n}\n//#endregion\nexport { O as FormFieldType, xe as createForm, q as defaultObjectByJSONSchema, X as defaultObjectBySchema, Ce as formType, Q as pluginInjectionKey, Se as useForm };\n"],"ignoreList":[0,1],"mappings":";;;;AAAA,IAAMgC,KAAW,MAAS;CACzB,IAAMC,IAAO,OAAOC;CACpB,OAAOA,MAAU,SAASD,MAAS,YAAYA,MAAS;AACzD,GAEME,oBAAiB,IAAI,IAAI;CAC9B;CACA;CACA;AACD,CAAC,GAIKC,IAAyB,KAAK,IAAI,GAAG,CAAC,GAAGD,CAAc,CAAC,CAAC,KAAI,MAAOE,EAAI,MAAM,CAAC,GAG/EC,IAAkB,KAGlBC,KAAU,MAAaC,KAAa,OAAOA,KAAa;AAG9D,SAASC,EAAqB,GAAS;CAEtC,IAAIC,MAAY,KACf,OAAO;CAGR,IAAI,aAAa,KAAKA,CAAO,GAAG;EAC/B,IAAMC,IAAe,OAAO,SAASD,GAAS,EAAE;EAEhD,OAAOC,oBAA2CA,KAAgBL;CACnE;CAEA,OAAO;AACR;AAGA,SAASM,EAAe,GAAS,GAAO;CAWvC,OAVA,CAAIT,EAAe,IAAIO,CAAO,MAI1BA,KAAWD,EAAqBC,CAAO,IAC1CG,EAAM,KAAK,OAAO,SAASH,GAAS,EAAE,CAAC,IAEvCG,EAAM,KAAKH,CAAO,GAGZ;AACR;AAEA,SAAgBI,EAAU,GAAM;CAC/B,IAAI,OAAOC,KAAS,UACnB,MAAU,UAAU,0BAA0B,OAAOA,GAAM;CAG5D,IAAMF,IAAQ,CAAC,GACXG,IAAiB,IACjBC,IAAe,IACfC,IAAc,IACdC,IAAc,SACdC,IAAa,IACbC,IAAW;CAEf,KAAK,IAAMb,KAAaO,GAIvB,IAHA,KAGIK,GAEH,AADA,KAAkBZ,GAClB,IAAa;MAKd,IAAIA,MAAc,MAAM;EACvB,IAAIW,MAAgB,SACnB,MAAU,MAAM,sBAAsBX,EAAU,4BAA4Ba,GAAU;EAGvF,IAAIF,MAAgB,YACnB,MAAU,MAAM,sBAAsBX,EAAU,+BAA+Ba,GAAU;EAI1F,AADA,IAAa,IACb,IAAcF,MAAgB,UAAU,aAAaA;CAEtD,OAEA,QAAQX,GAAR;EACC,KAAK;GACJ,IAAIW,MAAgB,SACnB,MAAU,MAAM,sBAAsBX,EAAU,4BAA4Ba,GAAU;GAGvF,IAAIF,MAAgB,YAAY;IAC/B,IAAc;IACd;GACD;GAEA,IAAI,CAACP,EAAeI,GAAgBH,CAAK,GACxC,OAAO,CAAC;GAIT,AADA,IAAiB,IACjB,IAAc;GACd;EAGD,KAAK;GACJ,IAAIM,MAAgB,SACnB,MAAU,MAAM,sBAAsBX,EAAU,4BAA4Ba,GAAU;GAGvF,IAAIF,MAAgB,YAAY;IAC/B,IAAc;IACd;GACD;GASA,IACCA,MAAgB,cACbH,EAAe,UAAUZ,KACzBD,EAAe,IAAIa,CAAc,GAEpC,OAAO,CAAC;GAIT,AADA,IAAcG,MAAgB,YAC9B,IAAc;GACd;EAGD,KAAK,KAAK;GACT,IAAIA,MAAgB,YACnB,MAAU,MAAM,sBAAsBX,EAAU,+BAA+Ba,GAAU;GAG1F,IAAIF,MAAgB,SAAS;IAQ5B,AAJIA,MAAgB,YACnB,IAAc,aAGf,KAAkBX;IAClB;GACD;GAEA,IAAIS,MAAiB,IAAI;IAGxB,AADA,KAAkB,MAClB,IAAc;IACd;GACD;GAIA,KAAKD,MAAmB,MAAME,MAAgB,CAACN,EAAeI,GAAgBH,CAAK,GAClF,OAAO,CAAC;GAIT,AADA,IAAiB,IACjB,IAAc;GAId,IAAMF,IAAe,OAAO,SAASM,GAAc,EAAE,GAC/CK,IAAiBX,KAAgBL,KACnCW,MAAiB,OAAON,CAAY;GAMxC,AAHAE,EAAM,KAAKS,IAAiBX,IAAeM,CAAY,GAEvD,IAAe,IACf,IAAc;GACd;EACD;EAEA;GACC,IAAIE,MAAgB,SAAS;IAC5B,IAAI,CAACZ,EAAQC,CAAS,GACrB,MAAU,MAAM,sBAAsBA,EAAU,4BAA4Ba,GAAU;IAGvF,KAAgBb;IAChB;GACD;GAEA,IAAIW,MAAgB,YACnB,MAAU,MAAM,sBAAsBX,EAAU,+BAA+Ba,GAAU;GAO1F,AAJIF,MAAgB,YACnB,IAAc,aAGf,KAAkBX;CAEpB;CASD,QALIY,MACH,KAAkB,OAIXD,GAAR;EACC,KAAK;GACJ,IAAI,CAACP,EAAeI,GAAgBH,CAAK,GACxC,OAAO,CAAC;GAGT;EAGD,KAAK,SACJ,MAAU,MAAM,sBAAsB;EAGvC,KAAK,SACJ,EAAM,KAAK,EAAE;CAIf;CAEA,OAAOA;AACR;AAEA,SAASU,EAAc,GAAM;CAC5B,IAAI,OAAOR,KAAS,UACnB,OAAOD,EAAUC,CAAI;CAGtB,IAAI,MAAM,QAAQA,CAAI,GAAG;EACxB,IAAMS,IAAa,CAAC;EAEpB,KAAK,IAAM,CAACC,GAAOf,MAAYK,EAAK,QAAQ,GAAG;GAE9C,IAAI,OAAOL,KAAY,YAAY,OAAOA,KAAY,UACrD,MAAU,UAAU,yDAAyDe,EAAM,QAAQ,OAAOf,GAAS;GAI5G,IAAI,OAAOA,KAAY,YAAY,CAAC,OAAO,SAASA,CAAO,GAC1D,MAAU,UAAU,yBAAyBe,EAAM,gCAAgCf,GAAS;GAI7F,IAAIP,EAAe,IAAIO,CAAO,GAC7B,OAAO,CAAC;GAKT,AAAI,OAAOA,KAAY,YAAYD,EAAqBC,CAAO,IAC9Dc,EAAW,KAAK,OAAO,SAASd,GAAS,EAAE,CAAC,IAE5Cc,EAAW,KAAKd,CAAO;EAEzB;EAEA,OAAOc;CACR;CAEA,OAAO,CAAC;AACT;AAEA,SAAgBE,EAAY,GAAQ,GAAM,GAAO;CAChD,IAAI,CAAC1B,EAAS2B,CAAM,KAAM,OAAOZ,KAAS,YAAY,CAAC,MAAM,QAAQA,CAAI,GACxE,OAAOb,MAAU,KAAA,IAAYyB,IAASzB;CAGvC,IAAM0B,IAAYL,EAAcR,CAAI;CACpC,IAAIa,EAAU,WAAW,GACxB,OAAO1B;CAGR,KAAK,IAAIuB,IAAQ,GAAGA,IAAQG,EAAU,QAAQ,KAAS;EACtD,IAAMvB,IAAMuB,EAAUH;EAGtB,IAFA,IAASE,EAAOtB,IAEZsB,KAAmC,MAAM;GAG5C,IAAIF,MAAUG,EAAU,SAAS,GAChC,OAAO1B;GAGR;EACD;CACD;CAEA,OAAOyB,MAAW,KAAA,IAAYzB,IAAQyB;AACvC;AAEA,SAAgBE,EAAY,GAAQ,GAAM,GAAO;CAChD,IAAI,CAAC7B,EAAS2B,CAAM,KAAM,OAAOZ,KAAS,YAAY,CAAC,MAAM,QAAQA,CAAI,GACxE,OAAOY;CAGR,IAAMG,IAAOH,GACPC,IAAYL,EAAcR,CAAI;CAEpC,IAAIa,EAAU,WAAW,GACxB,OAAOD;CAGR,KAAK,IAAIF,IAAQ,GAAGA,IAAQG,EAAU,QAAQ,KAAS;EACtD,IAAMvB,IAAMuB,EAAUH;EAEtB,IAAIA,MAAUG,EAAU,SAAS,GAAG;GACnC,EAAOvB,KAAOH;GACd;EACD;EAEA,IAAM6B,IAAgBJ,EAAOtB;EAC7B,IAAIL,EAAS+B,CAAa,GAAG;GAC5B,IAASA;GACT;EACD;EAIA,IAAMC,IAAoB,OADVJ,EAAUH,IAAQ,MACW;EAE7C,AADA,EAAOpB,KAAO2B,IAAoB,CAAC,IAAI,CAAC,GACxC,IAASL,EAAOtB;CACjB;CAEA,OAAOyB;AACR;;;AC/UA,IAAIG,IAAoB,yBAAS,GAAG;CACnC,OAAO,EAAE,OAAO,QAAQ,EAAE,SAAS,UAAU,EAAE,QAAQ,SAAS,EAAE,WAAW,YAAY,EAAE,MAAM,OAAO,EAAE,MAAM,OAAO,EAAE,SAAS,UAAU,EAAE,OAAO,QAAQ,EAAE,OAAO,QAAQ,EAAE,gBAAgB,kBAAkB,EAAE,QAAQ,SAAS,EAAE,OAAO,QAAQ,EAAE,QAAQ,SAAS,EAAE,SAAS,UAAU,EAAE,WAAW,YAAY,EAAE,QAAQ,SAAS,EAAE,WAAW,YAAY,EAAE,aAAa,cAAc,EAAE,gBAAgB,iBAAiB,EAAE,WAAW,YAAY,EAAE,SAAS,UAAU;AACld,EAAE,CAAC,CAAC,GAAGC,IAAoB,yBAAS,GAAG;CACtC,OAAO,EAAE,UAAU,WAAW,EAAE,QAAQ,SAAS,EAAE,aAAa,cAAc,EAAE,QAAQ,SAAS,EAAE,UAAU,WAAW,EAAE,UAAU,WAAW;AAChJ,EAAE,CAAC,CAAC,GAUAC,KAAK,MAAM,EAAE,KAAK,aAAa,aAAaC,KAAK,MAAM,EAAE,KAAK,IAAI,SAAS,UAAUC,KAAK,MAAM,EAAE,KAAK,aAAa,cAAcC,KAAK,MAAM,EAAE,KAAK,IAAI,SAAS,WAAWC,MAAK,MAAM,EAAE,KAAK,aAAa,eAAeC,MAAK,MAAM,EAAE,KAAK,IAAI,SAAS,YAAYC,MAAK,MAAM,EAAE,KAAK,aAAa,aAAaC,MAAK,MAAM,EAAE,KAAK,IAAI,SAAS,UAAUC,MAAK,MAAM,EAAE,KAAK,aAAa,YAAYC,MAAM,MAAM,EAAE,KAAK,IAAI,SAAS,SAASC,MAAM,MAAM,EAAE,KAAK,aAAa,cAAcC,KAAK,MAAM,EAAE,KAAK,aAAa,eAAeC,KAAK,MAAM,EAAE,KAAK,IAAI,SAAS,YAAYC,KAAM,MAAM,EAAE,KAAK,IAAI,SAAS,QAAQC,KAAK,MAAM,EAAE,KAAK,IAAI,SAAS;AAChoB,SAASC,EAAE,GAAG;CACb,IAAI,IAAI;CACR,OAAOL,GAAG,CAAC,IAAI,IAAI,EAAE,UAAU;CAC/B,OAAO;AACR;AACA,SAASM,EAAE,GAAG;CACb,IAAI,IAAI;CACR,OAAOH,EAAG,CAAC,IAAI,IAAIC,EAAE,EAAE,KAAK,IAAI,GAAG,IAAI,EAAE,KAAK,IAAI,KAAK,EAAE,KAAK,IAAI;CAClE,OAAO;AACR;AACA,IAAIG,MAAM,MAAM;CACf,IAAI,IAAIF,EAAE,CAAC;CACX,OAAOJ,EAAE,CAAC,MAAM,IAAI,EAAE,KAAK,YAAY;AACxC,GAAGO,MAAM,MAAM;CACd,IAAI,IAAIF,EAAE,CAAC;CACX,OAAOJ,EAAE,CAAC,MAAM,IAAI,EAAE,KAAK,IAAI,YAAY;AAC5C,GAAGO,MAAM,MAAM,CAAC,CAACR,EAAEI,EAAE,CAAC,CAAC,GAAGK,MAAM,MAAM,CAAC,CAACR,EAAEI,EAAE,CAAC,CAAC,GA0D1CK,KAAK,MAAM,UAAU,GAAGC,KAAK;CAChC,cAAcL;CACd,UAAUjB;CACV,iBAAiB,MAAM,EAAE,KAAK,gBAAgB;CAC9C,kBAAkB,MAAM,WAAW,IAAI,OAAO,QAAQ,EAAE,KAAK,IAAI,CAAC;CAClE,YAAYmB;CACZ,WAAWjB;CACX,kBAAkB,MAAM,EAAE,KAAK,aAAa;CAC5C,sBAAsB,MAAM,EAAE,KAAK;CACnC,YAAYE;CACZ,YAAY,GAAG,MAAM,EAAE,UAAU,CAAC;CAClC,SAASI;CACT,kBAAkB,MAAM,EAAE,KAAK;CAC/B,UAAUF;CACV,iBAAiB,MAAM,EAAE,KAAK;AAC/B,GAAGiB,KAAK;CACP,cAAcL;CACd,UAAUjB;CACV,iBAAiB,MAAM,CAAC,EAAE,EAAE,KAAK,IAAI,YAAY,EAAE,KAAK,IAAI,SAAS,KAAK,IAAI,SAAS;CACvF,kBAAkB,MAAM,WAAW,EAAE,KAAK,MAAM,OAAO,QAAQ,EAAE,KAAK,IAAI,KAAK,IAAI,CAAC;CACpF,YAAYmB;CACZ,WAAWjB;CACX,kBAAkB,MAAM,EAAE,KAAK,IAAI;CACnC,sBAAsB,MAAM,EAAE,KAAK,IAAI;CACvC,YAAYE;CACZ,YAAY,GAAG,MAAMxE,EAAE,GAAG2F,CAAC;CAC3B,SAASf;CACT,kBAAkB,MAAM,EAAE,KAAK,IAAI;CACnC,UAAUF;CACV,iBAAiB,MAAM,EAAE,KAAK,IAAI;AACnC;AACA,SAASkB,GAAG,GAAG,GAAG,GAAG;CACpB,IAAI,IAAI,EAAE,aAAa,EAAE,gBAAgB,CAAC,CAAC;CAC3C,OAAO,EAAE,SAAS,CAAC,IAAI,EAAE,KAAK,MAAMC,EAAE,GAAG,GAAG,CAAC,CAAC,IAAI;AACnD;AACA,SAASC,GAAG,GAAG,GAAG,GAAG;CACpB,IAAI,IAAI,EAAE,aAAa,EAAE,eAAe,CAAC,CAAC;CAC1C,OAAO,EAAE,SAAS,CAAC,IAAI,OAAO,KAAK,CAAC,CAAC,CAAC,QAAQ,GAAG,OAAO,EAAE,KAAKD,EAAE,GAAG,GAAG,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC,IAAI;AACzF;AACA,SAASE,GAAG,GAAG,GAAG,GAAG,GAAG;CACvB,IAAI,IAAI,EAAE,WAAW,CAAC,GAAG,IAAI,EAAE,aAAa,CAAC,GAAG;CAChD,IAAI,EAAE,UAAU,CAAC,MAAM,IAAI,EAAE,gBAAgB,CAAC,GAAG,IAAI,EAAE,oBAAoB,CAAC,IAAI,MAAM,QAAQ,EAAE,WAAW,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC;CAC3H,IAAI,KAAK,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC;CAChC,IAAI,KAAK,MAAM,KAAK,GAAG;EACtB,IAAI,IAAI,EAAE,UAAU,GAAG,CAAC;EACxB,IAAI,EAAE,SAAS,OAAO,CAAC,GAAG,EAAE,QAAQ,CAAC;CACtC;CACA,OAAO,EAAE,QAAQ,CAAC,KAAK,MAAM,QAAQ,CAAC,IAAI,CAAC,GAAGH,GAAG,GAAG,GAAG,CAAC,CAAC,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,GAAGE,GAAG,GAAG,GAAG,CAAC,CAAC,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,GAAGD,EAAE,GAAG,GAAG,KAAK,OAAO,KAAK,WAAW,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;AAC7K;AACA,SAASA,EAAE,GAAG,GAAG,GAAG;CACnB,IAAI,IAAI,KAAK,OAAO,KAAK,YAAY,CAAC,MAAM,QAAQ,CAAC,IAAI,IAAI,CAAC;CAC9D,OAAO;EACN,GAAG,EAAE,eAAe,CAAC,IAAI,IAAI,CAAC;EAC9B,GAAG,OAAO,YAAY,EAAE,gBAAgB,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,OAAOE,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,CAAC,CAAC;CAC9E;AACD;AACA,SAASC,GAAE,GAAG,IAAI,CAAC,GAAG;CACrB,IAAI,IAAIR,EAAE,CAAC,IAAIE,KAAKD,IAAI,IAAI,EAAE,aAAa,CAAC;CAC5C,OAAO,EAAE,SAAS,CAAC,IAAII,EAAE,GAAG,GAAG,CAAC,IAAI;AACrC;AACA,IAAII,MAAM,GAAG,MAAMT,EAAE,CAAC,IAAIvF,EAAE,GAAG,CAAC,IAAI,EAAE,eAAe,CAAC;AACtD,SAASiG,GAAG,GAAG,GAAG;CACjB,IAAI,CAAC,GAAG,OAAO;CACf,IAAIV,EAAE,CAAC,GAAG;EACT,IAAI,IAAI;EACR,IAAI,OAAO,EAAE,SAAS,YAAY,MAAM,UAAU,gLAAgL;EAClO,OAAO,EAAE,MAAM,kBAAE,CAAC,CAAC;CACpB;CACA,OAAO,EAAE,YAAY,CAAC;AACvB;AACA,IAAIW,MAAM,GAAG,MAAMX,EAAEY,CAAC,IAAIlG,EAAEyF,CAAC,IAAIA,EAAE,OAAO,GAAGU,MAAM,GAAG,GAAG,MAAM;CAC9D,IAAIb,EAAEY,CAAC,GAAG,OAAOlG,EAAE,IAAIC,EAAEmG,CAAC,CAAC;CAC3B,IAAIC,IAAIZ,EAAE;CACV,OAAO,IAAIY,EAAED,CAAC,CAAC,CAAC,OAAO;AACxB;AAGA,SAASE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG;CAC1B,IAAIC,IAAIrG,EAAE,GAAGC,IAAID,EAAE,GAAGwG,IAAItG,QAAQD,EAAE,UAAU6D,EAAE,OAAO,GAAG4C,IAAI1G,EAAE,GAAG2G,IAAI3G,EAAE,CAAC,CAAC,GAAG4G,GAAGC,KAAK,MAAM;EAC3F,IAAIX,IAAIN,GAAEL,GAAGS,CAAC;EACd,IAAIc,GAAG,OAAO;GACb,IAAI,IAAIA,EAAE;GACV,OAAO,IAAI,EAAEZ,CAAC;EACf;EACA,OAAOA;CACR,GAAGa,oBAAoB,IAAI,QAAQ,GAAG,KAAK,MAAM;EAChD,IAAI,CAACf,GAAG,OAAOT;EACf,IAAI,IAAIwB,EAAE,IAAIf,CAAC;EACf,OAAO,MAAM,IAAIF,GAAGP,GAAGS,CAAC,GAAGe,EAAE,IAAIf,GAAG,CAAC,IAAI;CAC1C,GAAG,IAAI,OAAO,IAAIU,EAAE,OAAO,MAAM;EAChC,IAAI,IAAI,GAAG,QAAQC,EAAE,OAAO,OAAO,CAAC;EACpC,IAAI,IAAI,MAAMd,GAAG,EAAE,GAAG,WAAW,GAAGG,CAAC;EACrC,IAAI,CAAC,EAAE,SAAS;GACf,IAAI,CAACY,GAAG,MAAM,OAAO,EAAE,QAAQ9C,EAAE,SAAS,EAAE,QAAQiC,GAAGR,GAAG,EAAE,KAAK,GAAG,CAAC;GACrE,IAAIS,IAAI,EAAE,MAAM,OAAO,QAAQ,MAAMY,GAAG,IAAI,EAAE,KAAK,KAAK,GAAG,CAAC,CAAC;GAC7D,OAAOZ,EAAE,UAAU,EAAE,QAAQlC,EAAE,SAAS,EAAE,QAAQmC,GAAGV,GAAG,EAAE,OAAOS,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,KAAK,GAAG,EAAE,QAAQlC,EAAE,SAAS,CAAC;EACrH;EACA,OAAO,EAAE,QAAQ,KAAK,GAAG,EAAE,QAAQA,EAAE,OAAO,EAAE,QAAQ+C,EAAE,EAAE,IAAI,GAAG,CAAC;CACnE,GAAG,UAAU;EACZ,EAAE,QAAQ,KAAK,GAAG,EAAE,QAAQ,KAAK,GAAG,IAAI,KAAK;CAC9C,GAAG,EAAE,eAAeG,GAAG,MAAMC,MAAM9G,EAAEuG,SAAS;EAC7C,EAAE,QAAQ5C,EAAE;CACb,GAAG;EACF,MAAM,CAAC;EACP,aAAa1D,EAAE0G,GAAG,kBAAkB,GAAG;CACxC,CAAC,GAAG/C,UAAU;EACb,QAAQ;GACP,EAAE,QAAQ8C,EAAE;EACb,CAAC,GAAG,EAAE,GAAG,EAAE,QAAQ/C,EAAE;CACtB,GAAGE,IAAI,OAAO,MAAM2C,EAAE,SAAS,CAAC,MAAM,EAAE,KAAK,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ7C,EAAE,YAAY,CAAC,IAAIG,IAAI5D,EAAEgG,CAAC,GAAGnC,IAAI7D,EAAEJ,CAAC;CACzG,OAAO;EACN,OAAO;EACP,QAAQoG;EACR,UAAUK;EACV,eAAeM;EACf,SAASR;EACT,UAAUG;EACV,OAAO5C;EACP,QAAQ9D;EACR,UAAUoH;EACV,kBAAkBJ;EAClB,QAAQjD;EACR,UAAU;EACV,QAAQ1D,EAAE;GACT,MAAM;GACN,OAAO;IACN,sBAAsB;KACrB,MAAM;KACN,SAAS,CAAC;IACX;IACA,YAAY;KACX,MAAM;KACN,gBAAgB,CAAC;IAClB;IACA,UAAU;KACT,MAAM;KACN,SAASwG,GAAG;IACb;IACA,KAAK;KACJ,MAAM;KACN,SAAS;IACV;IACA,UAAU;KACT,MAAM,CAAC,OAAO,QAAQ;KACtB,SAAS,KAAK;IACf;IACA,aAAa;KACZ,MAAM;KACN,SAAS,KAAK;IACf;IACA,gBAAgB;KACf,MAAM;KACN,SAAS,KAAK;IACf;GACD;GACA,OAAO;IACN;IACA;IACA;IACA;IACA;IACA;GACD;GACA,QAAQ;IACP;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;GACD;GACA,OAAO;GACP,MAAM,GAAG,EAAE,MAAMvB,KAAK;IACrB,EAAE,QAAQsB,EAAEtG,EAAE,EAAE,UAAU,CAAC,GAAGC,QAAQ,EAAE,aAAa,MAAM;KAC1D,IAAI,GAAG;MACN,IAAI,IAAIC,EAAE,CAAC,IAAIF,EAAE,CAAC,IAAI;MACtB,IAAI,KAAK,UAAU,CAAC,MAAM,KAAK,UAAUA,EAAEmG,EAAE,KAAK,CAAC,GAAG;MACtD,EAAE,QAAQG,EAAE,CAAC;KACd;IACD,GAAG,EAAE,MAAM,CAAC,EAAE,CAAC,GAAGrG,EAAEP,GAAG,OAAO,MAAM;KACnC,IAAIiG,MAAMpC,EAAE,SAAS;MACpB,IAAI,IAAIvD,EAAE8F,EAAE,KAAK;MACjB,EAAE,WAAW,CAAC,GAAGS,GAAG,YAAY,CAAC;KAElC,OACA,IAAIZ,MAAMpC,EAAE,OAAO;MAClB,IAAI,IAAIvD,EAAEmG,EAAE,KAAK;MACjB,EAAE,SAAS,CAAC,GAAGI,GAAG,UAAU,CAAC,GAAGvB,EAAE,qBAAqB,CAAC,GAAGuB,GAAG,WAAW,CAAC;KAE3E,OACA,IAAIZ,MAAMpC,EAAE,YAAY;MACvB,IAAI,IAAIvD,EAAEmG,EAAE,KAAK;MACjB,EAAE,UAAU,CAAC,GAAGI,GAAG,WAAW,CAAC;KAEhC,OACA,IAAIZ,MAAMpC,EAAE,OAAO;MAClB,IAAI,IAAIvD,EAAEmG,EAAE,KAAK;MACjB,EAAE,SAAS,CAAC,GAAGI,GAAG,UAAU,CAAC;KAE9B,OACA,IAAIZ,MAAMpC,EAAE,SAAS;MACpB,KAAKuC,EAAE,SAASS,GAAG,wBAAwB,EAAE,yBAAyB,MAAM,EAAE,KAAK,GAAG;OACrF,aAAa,EAAE;OACf,QAAQF,KAAK,IAAI,IAAI,EAAE,cAAc;MACtC,CAAC,GAAG,CAACF,EAAE,SAAS,CAAC,EAAE,cAAc,KAAK,UAAUA,EAAE,KAAK,MAAM,KAAK,UAAU,EAAE,UAAU,GAAG;OAC1F,IAAI,IAAInG,EAAEmG,EAAE,KAAK;OACjB,EAAE,qBAAqB,CAAC,GAAGI,GAAG,WAAW,CAAC;MAC3C;MACA,EAAE,UAAUhD,EAAE,YAAY,EAAE,QAAQA,EAAE;KACvC;IACD,CAAC,GAAGpD,QAAQ;KACX,EAAE,aAAa,KAAK,MAAM,EAAE,QAAQ,EAAE;IACvC,CAAC,GAAGF,QAAQ,EAAE,WAAW,MAAM;KAC9B,EAAE,QAAQ;IACX,CAAC,GAAGA,EAAEmG,IAAI,MAAM;KACf,MAAM,EAAE,YAAYpB,EAAE,mBAAmBoB,EAAE,KAAK;IACjD,CAAC;IACD,IAAIT,KAAK,GAAG,MAAM,EAAE,GAAG;KACtB,QAAQ,GAAG;KACX,aAAa,GAAG,eAAe,EAAE;IAClC,CAAC,GAAGyB,UAAU3D,EAAE;KACf,aAAa,EAAE;KACf,QAAQ,IAAI,IAAI,EAAE,cAAc;IACjC,CAAC;IACD,OAAOrD,EAAEwF,GAAG;KACX,OAAO;KACP,QAAQlC;KACR,UAAUyC;KACV,eAAeM;KACf,SAASR;KACT,UAAUG;KACV,OAAO5C;KACP,QAAQG;KACR,kBAAkB+C;KAClB,QAAQU;KACR,UAAUzB;KACV,UAAUmB;IACX,CAAC,GAAG;KACH,OAAO;KACP,QAAQpD;KACR,UAAUyC;KACV,eAAeM;KACf,SAASR;KACT,YAAYG;KACZ,OAAO5C;KACP,QAAQG;KACR,kBAAkB+C;KAClB,QAAQU;KACR,UAAUzB;KACV,UAAUmB;IACX;GACD;GACA,SAAS;IACR,IAAI,UAAU,KAAK,QAAQ,UAAU;KACpC,QAAQpD,EAAE;KACV,UAAUyC,EAAE;KACZ,SAASF,EAAE;KACX,UAAUG,EAAE;KACZ,QAAQzC,EAAE;KACV,UAAUmD;KACV,OAAO;KACP,eAAeL;KACf,OAAOjD;KACP,kBAAkBkD;KAClB,QAAQ,KAAK;KACb,UAAU,KAAK;IAChB,CAAC,KAAK,KAAK,OAAO;IAClB,OAAOrG,EAAE,KAAK,KAAK;KAClB,UAAUC,EAAE,KAAK,QAAQ,CAAC,SAAS,CAAC;KACpC,SAASA,EAAE,KAAK,OAAO,CAAC,SAAS,CAAC;IACnC,IAAI,KAAK,YAAYiG,GAAG,aAAaiB,IAAI,CAACnH,EAAEmH,GAAG,EAAE,QAAQ,KAAK,YAAYjB,GAAG,SAAS,GAAG,EAAE,SAAS,EAAE,CAAC,CAAC,IAAI,EAAE,SAAS,EAAE,CAAC;GAC3H;EACD,CAAC;CACF;AACD;AAGA,SAASkB,GAAG,GAAG,GAAG,GAAG,GAAG;CACvB,OAAO1H,EAAE;EACR,MAAM;EACN,OAAO;GACN,MAAM;IACL,MAAM;IACN,YAAY,MAAM,OAAO,OAAOuD,CAAC,CAAC,CAAC,SAAS,CAAC;IAC7C,SAASA,EAAE;GACZ;GACA,IAAI;IACH,MAAM,CAAC,QAAQ,MAAM;IACrB,SAAS,KAAK;GACf;GACA,MAAM;IACL,MAAM;KACL;KACA;KACA;KACA;IACD;IACA,UAAU,CAAC;GACZ;GACA,OAAO;IACN,MAAM,CAAC,QAAQ,QAAQ;IACvB,gBAAgB,CAAC;GAClB;GACA,WAAW;IACV,MAAM;IACN,SAAS,CAAC;GACX;GACA,cAAc;IACb,MAAM;KACL;KACA;KACA;KACA;KACA;IACD;IACA,SAAS,KAAK;GACf;GACA,UAAU;IACT,MAAM;IACN,SAAS,CAAC;GACX;GACA,UAAU;IACT,MAAM;IACN,SAAS,KAAK;GACf;EACD;EACA,OAAO;GACN;GACA;GACA;GACA;EACD;EACA,QAAQ;GACP;GACA;GACA;GACA;GACA;GACA;GACA;EACD;EACA,OAAO;EACP,MAAM,GAAG,EAAE,OAAO8D,GAAG,MAAMM,KAAK;GAC/B,IAAI,EAAE,OAAOC,GAAG,MAAMC,MAAMrH,EAAEoF,CAAC,GAAGQ,IAAI3F,EAAE,GAAG4F,IAAI3F,EAAEuH,GAAG,KAAK,CAAC;GAC1D,KAAK5B,EAAE,OAAO,MAAM,IAAID,GAAGR,EAAE,IAAI;GACjC,IAAI,IAAIlF,EAAEmF,CAAC,GAAG,IAAIjG,EAAE;IACnB,MAAM;KACL,IAAI,GAAG,UAAU,OAAOe,EAAE,IAAI,OAAO,EAAE,SAAS,KAAK,GAAG,OAAOiF,EAAE,IAAI,CAAC;IACvE;IACA,IAAI,GAAG;KACN,GAAG,aAAahF,EAAE,IAAI,OAAO,EAAE,SAAS,KAAK,GAAG,OAAOgF,EAAE,IAAI,GAAG,CAAC,GAAG+B,EAAE,qBAAqB;MAC1F,UAAU,EAAE;MACZ,UAAU,GAAG;KACd,CAAC;IACF;GACD,CAAC;GACD,QAAQ;IACP,EAAE,UAAU,KAAK,KAAK/B,EAAE,iBAAiB,KAAK,MAAM,EAAE,QAAQA,EAAE;GACjE,CAAC,GAAG/E,QAAQ;IACX,KAAKwF,EAAE,OAAO,MAAM,OAAOD,CAAC;GAC7B,CAAC;GACD,IAAI,IAAIxG,QAAQ;IACf,IAAI,GAAG,OAAO,OAAO,OAAOe,EAAE,EAAE,OAAO,OAAO,OAAOiF,EAAE,IAAI,CAAC;GAC7D,CAAC,GAAGpC,IAAI5D,QAAQ,EAAE,OAAO,OAAO,GAAG8G,IAAI9G,QAAQ,EAAE,UAAU,KAAK,CAAC,GAAG+G,IAAIzG,EAAEwG,IAAI,MAAM;IACnF,AAAI,KACHiB,EAAE,WAAW,EAAE,KAAK,GAAGtB,KAAKA,EAAE,OAAO,MAAM,IAAI,OAAOT,EAAE,IAAI,GAAG,EAAE,KAAK,MAGvE+B,EAAE,SAAS,EAAE,KAAK,GAAGtB,KAAKA,EAAE,OAAO,MAAM,OAAOT,EAAE,IAAI;GACvD,CAAC,GAAGnC,IAAIvD,QAAQ,GAAG,gBAAgB;IAClC,EAAE,mBAAmB,GAAG,QAAQ;GACjC,GAAG,EAAE,MAAM,CAAC,EAAE,CAAC;GACf,QAAQ;IACP,EAAE,GAAGuD,EAAE;GACR,CAAC;GACD,IAAIC,KAAK,MAAM;IACd,aAAa,eAAe,IAAI,EAAE,OAAO,QAAQ,EAAE,QAAQ;GAC5D,GAAGC,IAAI/D,QAAQ;IACd,IAAI,IAAIgI,EAAE;IACV,OAAO,OAAO,KAAK,eAAe,IAAI,EAAE,GAAG,QAAQ,IAAI,OAAO,KAAK,CAAC,CAAC,CAAC,QAAQ,GAAG,OAAO,EAAE,KAAKjI,EAAE,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC;GAC/G,CAAC,GAAGiE,IAAIhE,QAAQ,GAAG,SAAS,SAASyG,GAAG,SAAS,QAAQ,CAAC,IAAI1C,EAAE,MAAM,YAAYiC,EAAE,QAAQ,GAAG/B,IAAIjE,SAAS;IAC3G,GAAG+D,EAAE;IACL,MAAMA,EAAE,MAAM,QAAQiC,EAAE;IACxB,SAASc,EAAE;IACX,OAAOd,EAAE,YAAY,EAAEc,EAAE,SAAS,CAAC,EAAE,SAAS,KAAK;IACnD,QAAQ,MAAM;KACb,IAAI;MACHnD,EAAE;MACFA,EAAE;MACFA,EAAE;MACFA,EAAE;MACFA,EAAE;MACFA,EAAE;MACFA,EAAE;MACFA,EAAE;MACFA,EAAE;MACFA,EAAE;MACFA,EAAE;MACFA,EAAE;MACFA,EAAE;KACH,CAAC,CAAC,SAAS,CAAC,GAAG,OAAO;IACvB,EAAA,CAAGqC,EAAE,IAAI;IACT,cAAcpC,EAAE;IAChB,YAAY,EAAE;IACd,UAAUI,EAAE;IACZ,uBAAuBF;GACxB,EAAE;GACF,OAAOrD,EAAE+H,GAAG;IACX,MAAMrI,EAAE8H,CAAC;IACT,QAAQ9H,EAAE,CAAC;GACZ,CAAC,GAAG;IACH,WAAWH,QAAQ;KAClB,IAAIgG,EAAE,SAASrC,EAAE,QAAQ,OAAO,EAAE,SAAS;MAC1C,OAAO8D,EAAE,UAAU;OAClB,QAAQtH,EAAE,CAAC,CAAC,CAAC;OACb,UAAU,GAAG,SAAS;OACtB,YAAY,GAAG,OAAO;OACtB,SAAS2G,EAAE;OACX,cAAclD,EAAE;OAChB,YAAY,EAAE;OACd,UAAUI,EAAE;OACZ,UAAUF;OACV,QAAQ,GAAG;OACX,UAAU,GAAG;MACd,CAAC,KAAK2D,EAAE;KACT,EAAE;KACF,IAAI,EAAEgB,GAAG,YAAYzC,EAAE,WAAW;MACjC,IAAI;MACJ,QAAQA,EAAE,MAAV;OACC,KAAKrC,EAAE;QACN,IAAIzC,EAAE,UAAU;QAChB;OACD,KAAKyC,EAAE;QACN,IAAIzC,EAAE,YAAY;QAClB;OACD,KAAKyC,EAAE;QACN,IAAIzC,EAAE,SAAS;QACf;OACD,KAAKyC,EAAE;QACN,IAAIzC,EAAE,YAAY;QAClB;OACD,KAAKyC,EAAE;QACN,IAAIzC,EAAE,cAAc;QACpB;OACD,KAAKyC,EAAE;QACN,IAAIzC,EAAE,iBAAiB;QACvB;OACD,KAAKyC,EAAE;QACN,IAAIzC,EAAE,YAAY;QAClB;OACD,SAAS,IAAIA,EAAE,aAAa;MAC7B;MACA,IAAI,OAAO,KAAK,UAAU,OAAO;MACjC,QAAQ,KAAK,yBAAyB,EAAE,8GAA8G;KACvJ;KACA,OAAOC,EAAE,YAAY;MACpB,QAAQsH,GAAG,eAAe,MAAM,QAAQ,QAAQA,EAAE,YAAYzC,EAAE,IAAI,CAAC,GAAGA,EAAE,MAA1E;OACC,KAAKrC,EAAE,UAAU,OAAO,OAAO;OAC/B,KAAKA,EAAE,OAAO,OAAO,OAAO;OAC5B,KAAKA,EAAE,YAAY,OAAO,OAAO;OACjC,KAAKA,EAAE,UAAU,OAAO,OAAO;OAC/B,KAAKA,EAAE,eAAe,OAAO,OAAO;OACpC,KAAKA,EAAE,QAAQ,OAAO,OAAO;OAC7B,KAAKA,EAAE,UAAU,OAAO,OAAO;MAChC;MACA,OAAO,OAAO;KACf,CAAC;IACF,CAAC;IACD,UAAUM;IACV,SAAS6C;GACV;EACD;EACA,SAAS;GACR,OAAO,KAAK,KAAKpG,EAAE,KAAK,IAAI,KAAK,UAAU,KAAK,MAAM,IAAI,KAAK,SAASiD,EAAE,SAASjD,EAAE,KAAK,WAAW,MAAM,KAAK,MAAM,IAAIA,EAAE,KAAK,WAAW,KAAK,UAAU,KAAK,MAAM;EACvK;CACD,CAAC;AACF;AAGA,SAASkI,EAAG,GAAG,GAAG,GAAG;CACpB,OAAOxI,EAAE;EACR,MAAM;EACN,OAAO;GACN,IAAI;IACH,MAAM,CAAC,QAAQ,MAAM;IACrB,SAAS,KAAK;GACf;GACA,OAAO;IACN,MAAM,CAAC,OAAO,MAAM;IACpB,UAAU,CAAC;GACZ;GACA,OAAO;IACN,MAAM,CAAC,QAAQ,QAAQ;IACvB,gBAAgB,CAAC;GAClB;GACA,WAAW;IACV,MAAM;IACN,SAAS,CAAC;GACX;GACA,eAAe;IACd,MAAM,CAAC,MAAM;IACb,SAAS,KAAK;GACf;GACA,UAAU;IACT,MAAM;IACN,SAAS,KAAK;GACf;EACD;EACA,OAAO;GACN;GACA;GACA;GACA;EACD;EACA,QAAQ;GACP;GACA;GACA;GACA;GACA;GACA;EACD;EACA,OAAO;EACP,MAAM,GAAG,EAAE,OAAO,GAAG,MAAMoI,KAAK;GAC/B,IAAI,EAAE,OAAOrB,GAAG,OAAOsB,GAAG,eAAeV,MAAMnH,EAAEoF,CAAC,GAAGgC,IAAInH,EAAE,GAAGoH,IAAIjI,QAAQ,MAAM,QAAQyI,EAAE,KAAK,IAAIA,EAAE,QAAQ,OAAO,OAAOA,EAAE,KAAK,CAAC,GAAGjC,IAAIxG,QAAQ,MAAM,QAAQyI,EAAE,KAAK,IAAIA,EAAE,QAAQ,OAAO,KAAKA,EAAE,KAAK,CAAC,GAAGhC,IAAIzG,QAAQ,MAAM,QAAQyI,EAAE,KAAK,IAAIA,EAAE,MAAM,QAAQ,GAAG,OAAO,EAAE,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,IAAIA,EAAE,KAAK,GAAG,IAAIzI,QAAQ,OAAO,KAAKyG,EAAE,KAAK,CAAC,CAAC,QAAQ,GAAG,OAAO,EAAE,OAAOA,EAAE,MAAM,EAAE,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI3F,EAAEmF,GAAG,KAAK,CAAC;GACxZ,KAAKgC,EAAE,MAAM,SAAS,MAAM;IAC3B,EAAE,OAAO,MAAM,IAAI,GAAGD,EAAE,GAAG,KAAK,CAAC;GAClC,CAAC;GACD,IAAI,IAAIlH,EAAEuE,CAAC,GAAG1B,IAAI3D,EAAE;IACnB,MAAM;KACL,OAAO,GAAG,WAAWwG,EAAE,MAAM,QAAQ,GAAG,OAAO,EAAE,KAAKzF,EAAE,IAAI,OAAO,EAAE,SAAS,KAAK,GAAG0F,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC;IAC/G;IACA,IAAI,GAAG;KACN,GAAG,aAAaD,EAAE,MAAM,SAAS,MAAM;MACtC,EAAE,IAAI,OAAO,EAAE,SAAS,KAAK,GAAGC,EAAE,MAAM,IAAI,IAAI,EAAE;KACnD,CAAC,GAAG+B,EAAE,qBAAqB;MAC1B,UAAU7E,EAAE;MACZ,UAAU,GAAG;KACd,CAAC;IACF;GACD,CAAC;GACD,QAAQ;IACP,EAAE,SAASsE,EAAE,MAAM,SAAS,MAAM;KACjC,EAAE,QAAQ,OAAO,KAAK,KAAKtE,EAAE,MAAM,OAAO,KAAK,MAAM,EAAE,QAAQ;MAC9D,GAAGA,EAAE;OACJ,IAAIoE,EAAE,QAAQ;KAChB;IACD,CAAC;GACF,CAAC,GAAG9G,QAAQ;IACX,KAAKgH,EAAE,MAAM,SAAS,MAAM;KAC3B,EAAE,OAAO,MAAM,OAAO,GAAGD,EAAE,GAAG,GAAG;IAClC,CAAC;GACF,CAAC;GACD,IAAIpE,IAAI5D,QAAQ;IACf,IAAI,CAAC,GAAG,OAAO,OAAO;IACtB,IAAI,IAAIiI,EAAE,MAAM,QAAQ,GAAG,MAAM;KAChC,IAAI,CAAC,EAAE,OAAO,OAAO,OAAO;KAC5B,IAAI,IAAIlH,EAAE,EAAE,OAAO,OAAO,OAAO,CAAC,CAAC;KACnC,OAAO,MAAM,KAAK,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI;IAC5C,GAAG,CAAC,CAAC;IACL,IAAI,OAAO,KAAK,CAAC,CAAC,CAAC,WAAW,GAAG,OAAO;GACzC,CAAC,GAAG+F,IAAI9G,QAAQ;IACf,IAAI,CAAC4D,EAAE,OAAO;IACd,IAAI,IAAI,OAAO,KAAKA,EAAE,KAAK,CAAC,CAAC,QAAQ,GAAG,OAAOA,EAAE,QAAQ,OAAO,EAAE,EAAE,MAAM,MAAMA,EAAE,MAAM,EAAE,CAAC,UAAU,IAAI,CAAC,CAAC;IAC3G,IAAI,OAAO,KAAK,CAAC,CAAC,CAAC,WAAW,GAAG,OAAO;GACzC,CAAC,GAAGmD,IAAI/G,QAAQ4D,EAAE,UAAU,KAAK,CAAC,GAAGC,IAAI7D,QAAQwG,EAAE,MAAM,QAAQ,GAAG,OAAO,EAAE,KAAK,CAAC,CAAC5C,EAAE,QAAQ6C,EAAE,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,GAAG3C,IAAIxD,EAAEyG,SAAS;IACnI,AAAIA,EAAE,SACLyB,EAAE,WAAW5E,EAAE,KAAK,GAAG,KAAKqE,EAAE,MAAM,SAAS,MAAM;KAClD,AAAKrE,EAAE,QAAQ,KAIf,EAAE,OAAO,MAAM,IAAI,GAAGA,EAAE,QAAQ,EAAE,IAHjC,EAAE,OAAO,MAAM,OAAO,CAAC;IAIzB,CAAC,MAGF4E,EAAE,SAAS7E,EAAE,KAAK,GAAG,KAAKsE,EAAE,MAAM,SAAS,MAAM;KAChD,EAAE,OAAO,MAAM,OAAO,CAAC;IACxB,CAAC;GACF,CAAC,GAAGlE,IAAIzD,QAAQ,GAAG,gBAAgB;IAClC,EAAE,mBAAmB,GAAG,QAAQ;GACjC,GAAG,EAAE,MAAM,CAAC,EAAE,CAAC;GACf,QAAQ;IACP,EAAE,GAAGyD,EAAE;GACR,CAAC;GACD,IAAIC,KAAK,MAAM;IACd,EAAE,QAAQ;GACX,GAAGC,KAAK,GAAG,MAAM;IAChB,aAAa,eAAe,IAAI,EAAE,OAAO,QAAQuC,EAAE,MAAM,SAAS,CAAC,MAAM,EAAE,QAAQ;KAClF,GAAG7C,EAAE;MACJ,IAAI;IACN;GACD,GAAG,IAAI3D,QAAQ;IACd,IAAI,IAAImH,EAAE;IACV,OAAO,OAAO,KAAK,eAAe,IAAI,EAAE,GAAG,QAAQ,IAAI,OAAO,KAAK,CAAC,CAAC,CAAC,QAAQ,GAAG,OAAO,EAAE,KAAKpH,EAAE,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC;GAC/G,CAAC,GAAG,IAAIC,QAAQ,GAAG,SAAS,QAAQ,CAAC,IAAI,EAAE,MAAM,YAAYgG,EAAE,QAAQ,GAAG,IAAIhG,QAAQwG,EAAE,MAAM,QAAQ,GAAG,OAAO,EAAE,YAAY,QAAQ,MAAM;IAC3I,EAAE,GAAG,CAAC;GACP,GAAG,IAAI,EAAE,uBAAuBxC,EAAE,CAAC,CAAC,GAAG,IAAIhE,SAAS;IACnD,GAAG,EAAE;IACL,GAAG,EAAE;IACL,GAAG2D,EAAE;IACL,YAAYA,EAAE;IACd,OAAO,EAAE,MAAM,QAAQsE,EAAE;IACzB,SAASlB,EAAE;IACX,UAAUlD,EAAE;IACZ,OAAOmC,EAAE,YAAY,EAAEe,EAAE,SAAS,CAACpD,EAAE,SAAS,KAAK;IACnD,eAAemD,EAAE;IACjB,UAAU,EAAE;GACb,EAAE;GACF,OAAOrG,EAAE4H,GAAG;IACX,OAAOlI,EAAEsI,CAAC;IACV,QAAQtI,EAAEyD,CAAC;GACZ,CAAC,GAAG;IACH,WAAW5D,SAAS,EAAE,SAAS;KAC9B,OAAO,EAAE,UAAU;MAClB,QAAQ4D,EAAE;MACV,UAAU,GAAG,SAAS;MACtB,YAAY,GAAG,OAAO;MACtB,SAASmD,EAAE;MACX,UAAUlD,EAAE;MACZ,eAAeiD,EAAE;MACjB,YAAYnD,EAAE;MACd,UAAUK;MACV,eAAeC;MACf,UAAU,EAAE;MACZ,QAAQ,GAAG;MACX,UAAU,GAAG;KACd,CAAC,KAAK,EAAE;IACT,EAAE,EAAE;IACJ,UAAU;IACV,SAAS8C;GACV;EACD;EACA,SAAS;GACR,OAAO,KAAK,KAAKrG,EAAE,KAAK,IAAI,KAAK,UAAU,KAAK,MAAM,IAAIA,EAAE,KAAK,WAAW,MAAM,KAAK,MAAM;EAC9F;CACD,CAAC;AACF;AAGA,SAASmI,GAAG,GAAG,GAAG;CACjB,OAAOzI,EAAE;EACR,MAAM;EACN,OAAO;GACN,MAAM;IACL,MAAM;IACN,UAAU,CAAC;GACZ;GACA,KAAK;IACJ,MAAM;IACN,SAAS,KAAK;GACf;GACA,UAAU;IACT,MAAM;IACN,SAAS,CAAC;GACX;EACD;EACA,OAAO,CAAC,WAAW,OAAO;EAC1B,QAAQ;GACP;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;EACD;EACA,OAAO;EACP,MAAM,GAAG,EAAE,MAAMqH,KAAK;GACrB,IAAIY,IAAIvH,EAAEuE,CAAC,GAAG8B,IAAIrG,EAAEmF,GAAG,KAAK,CAAC,GAAGwC,IAAI3I,kBAAkB,IAAI,IAAI,CAAC,GAAG6H,IAAI7H,kBAAkB,IAAI,IAAI,CAAC,GAAG,EAAE,MAAMwG,MAAM1F,EAAE,CAAC,GAAGmH,IAAI/H,QAAQqI,GAAG,QAAQ,QAAQV,EAAE,MAAM,OAAO,IAAI,CAAC,CAAC;GAC5K,EAAEI,IAAI,MAAM;IACX,AACCN,EADG,IACD,YAGD,OADF;GAED,CAAC;GACD,IAAIO,IAAIhI,QAAQqI,GAAG,SAAS,SAAS,EAAE,QAAQ,GAAGJ,IAAI;IACrD,MAAM9H,EAAEmG,CAAC;IACT,QAAQqB;IACR,SAASxH,EAAE4H,CAAC;IACZ,UAAU5H,EAAE6H,CAAC;IACb,QAAQS;GACT;GACA,EAAExC,GAAGgC,CAAC;GACN,IAAIzB,IAAIxG,QAAQ,IAAI,IAAIyI,EAAE,KAAK,CAAC;GAChC,OAAOnI,EAAEkG,IAAI,GAAG,MAAM;IACrB,GAAG,WAAW,EAAE,SAAS,GAAG,MAAM;KACjC,EAAE,IAAI,CAAC,KAAKW,GAAG,OAAO,MAAM,OAAO,CAAC;IACrC,CAAC,GAAG,EAAE,SAAS,GAAG,MAAM;KACvB,GAAG,OAAO,MAAM,IAAI,CAAC,KAAKA,GAAG,OAAO,MAAM,IAAI,GAAG,CAAC;IACnD,CAAC;GACF,GAAG,EAAE,MAAM,CAAC,EAAE,CAAC,GAAG7G,EAAEqH,IAAI,MAAM;IAC7B,GAAG,UAAUc,EAAE,MAAM,SAAS,MAAM;KACnC,IAAI,EAAE,IAAI,CAAC,KAAKtB,EAAE,OAAO,MAAM,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG;MACnD,IAAI,IAAI,EAAE,IAAI,CAAC;MACf,KAAKA,EAAE,OAAO,MAAM,IAAI,GAAG,CAAC;KAC7B;IACD,CAAC;GACF,GAAG,EAAE,MAAM,CAAC,EAAE,CAAC,GAAG3G,QAAQ;IACzB,AAAI,CAAC6H,GAAG,YAAY,CAAC/B,EAAE,QACtB,QAAQ,KAAK,0DAA0D,IAGpE+B,EAAE,SAAS,IAAI/B,EAAE,KAAK,IACzB,QAAQ,KAAK,uCAAuCA,EAAE,MAAM,kBAAkB,IAG/E+B,EAAE,SAAS,IAAI/B,EAAE,OAAO2B,CAAC;GAC1B,CAAC,GAAGhH,QAAQ;IACX,GAAG,YAAYqF,EAAE,SAAS+B,EAAE,SAAS,OAAO/B,EAAE,KAAK;GACpD,CAAC,GAAG;IACH,QAAQ+B,GAAG;IACX,QAAQI;IACR,cAAcd;IACd,UAAUU,GAAG;IACb,SAASN;IACT,UAAUC;IACV,OAAOK,GAAG;IACV,OAAOA,GAAG;IACV,QAAQA,GAAG;IACX,UAAUA,GAAG;IACb,uBAAuBA,GAAG,SAAS,KAAK,GAAG,EAAE,QAAQ,IAAI,IAAII,EAAE,MAAM,OAAO,CAAC,EAAE,CAAC,KAAK,QAAQ,QAAQ,CAAC,CAAC;GACxG;EACD;EACA,SAAS;GACR,IAAI,UAAU,KAAK,OAAO,UAAU;IACnC,QAAQ,KAAK;IACb,cAAc,KAAK;IACnB,UAAU,KAAK;IACf,SAAS,KAAK;IACd,UAAU,KAAK;IACf,OAAO,KAAK;IACZ,OAAO,KAAK;IACZ,QAAQ,KAAK;IACb,UAAU,KAAK;IACf,iBAAiB,KAAK;GACvB,CAAC;GACD,OAAO,KAAK,MAAM/H,EAAE,KAAK,KAAK,MAAM,EAAE,SAAS,EAAE,CAAC,IAAI,EAAE;EACzD;CACD,CAAC;AACF;AAGA,SAASoI,GAAG,GAAG,GAAG;CACjB,IAAI7C,IAAI7F,EAAE;EACT,MAAM;EACN,OAAO;GACN,QAAQ;IACP,MAAM,CAAC,OAAO,QAAQ;IACtB,UAAU,CAAC;GACZ;GACA,OAAO;IACN,MAAM;IACN,gBAAgB,CAAC;GAClB;EACD;EACA,OAAO;EACP,MAAM,GAAG,EAAE,OAAOiI,KAAK;GACtB,IAAIR,IAAI/G,EAAE,CAAC;GACX,IAAI+G,GAAG,UAAU,aAAa;IAC7B,IAAI,IAAI,OAAO7B,EAAE,UAAU,aAAaA,EAAE,OAAO6B,GAAG7B,EAAE,KAAK,IAAIA,EAAE,QAAQY,GAAGmC,IAAI,EAAE,QAAQ,GAAG,MAAM;KAClG,IAAI,EAAE,MAAMA,GAAG,QAAQC,GAAG,SAAS,GAAG,YAAY,GAAG,MAAM,GAAG,UAAU,GAAG,QAAQ,GAAG,gBAAgB1C,GAAG,aAAa2C,GAAG,WAAWlB,GAAG,GAAGC,MAAM,OAAOK,KAAK,aAAaA,EAAER,GAAG7B,EAAE,KAAK,IAAIqC;KACzL,IAAI,MAAM,KAAK,GACV;UAAA,IAAI,OAAO,KAAK,WAAW,CAAC,CAACtH,EAAE,IAAI,OAAO8G,EAAE,SAAS,KAAK,GAAG,CAAC,IAAI9H,EAAE,OAAO,KAAK,aAAa,EAAE8H,CAAC,IAAI,CAAC,GAAG,CAACjB,GAAG,OAAO;KAAA,OACjH,IAAI,MAAM,KAAK,KAAKA,MAAM,KAAK,GACjC;UAAAA,MAAM,IAAI,OAAO,KAAK,WAAW,CAAC,CAAC7F,EAAE,IAAI,OAAO8G,EAAE,SAAS,KAAK,GAAG,CAAC,IAAI9H,EAAE,OAAO,KAAK,aAAa,EAAE8H,CAAC,IAAI,CAAC,GAAG,CAACjB,IAAI,OAAO;KAAA,OACxH,IAAI,KAAK;KAChB,IAAIqB;KACJ,OAAO,MAAM,IAAI,OAAOc,KAAK,WAAWrI,EAAEuF,GAAG,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,UAAU,MAAMvF,EAAEuF,GAAG;MACpF,QAAQ;MACR,OAAO;KACR,CAAC,EAAE,IAAI+C,KAAK,EAAE,KAAKtI,EAAE,GAAG;MACvB,MAAMsI;MACN,IAAID;MACJ,MAAM;MACN,cAAczC;MACd,WAAW2C;MACX,OAAOjB;KACR,GAAG,KAAKC,KAAKF,CAAC,CAAC,GAAG,KAAKgB,KAAK,EAAE,KAAKrI,EAAEqI,GAAGf,GAAG,KAAKC,KAAKF,CAAC,CAAC,GAAG,MAAME,MAAM,aAAaA,IAAI,EAAE,KAAKA,EAAE,QAAQjC,EAAE,KAAK,CAAC,IAAI,EAAE,KAAKiC,CAAC,IAAI;IACjI,GAAG,CAAC,CAAC;IACL,OAAOc,EAAE,KAAKV,GAAG,UAAU;KAC1B,QAAQR,GAAG,OAAO;KAClB,UAAUA,GAAG,SAAS;KACtB,SAASA,GAAG,QAAQ;KACpB,QAAQA,GAAG,OAAO;KAClB,QAAQA,GAAG;KACX,UAAUA,GAAG;KACb,OAAOA,GAAG;KACV,OAAOA,GAAG;IACX,CAAC,CAAC,GAAGkB;GACN;EACD;CACD,CAAC;CACD,OAAO9C;AACR;AAGA,SAASiD,EAAE,GAAG,IAAI,CAAC,GAAG;CACrB,IAAI,IAAI,OAAO,kBAAkB,GAAG,IAAI,OAAO,yBAAyB,GAAG,IAAI,OAAO,uBAAuB,GAAG,IAAI,OAAO,6BAA6B,GAAG,IAAIL,GAAG,GAAG,CAAC,GAAG,IAAIf,GAAG,GAAG,GAAG,GAAG,CAAC,GAAG,IAAIc,EAAG,GAAG,GAAG,CAAC,GAAG,IAAIE,GAAG,GAAG,CAAC,GAAG,oBAAoB,IAAI,IAAI,GAAG,EAAE,OAAO,GAAG,QAAQ,GAAG,UAAU,GAAG,eAAe,GAAG,SAAS,GAAG,UAAU,GAAG,OAAO,GAAG,QAAQ,GAAG,kBAAkB,GAAG,QAAQ,GAAG,UAAU,GAAG,QAAQ,MAAM5C,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;CAC1a,OAAO;EACN,OAAO;EACP,QAAQ;EACR,UAAU;EACV,uBAAuB;EACvB,kBAAkB;EAClB,yBAAyB;EACzB,eAAe;EACf,SAAS;EACT,UAAU;EACV,OAAO;EACP,QAAQ;EACR,kBAAkB;EAClB,QAAQ;EACR,UAAU;EACV,UAAU;EACV,QAAQ;EACR,aAAa;EACb,mBAAmB;EACnB,gBAAgB;EAChB,eAAe;CAChB;AACD;AACA,IAAIiD,KAAI,OAAO,oBAAoB,GAU/B,oBAAoB,IAAI,IAAI;AAChC,SAASC,GAAG,GAAG,IAAI,CAAC,GAAG;CACtB,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,GAAG,OAAO,EAAE,IAAI,EAAE,KAAK;CACnD,IAAI,CAAChI,EAAE,GAAG;EACT,IAAI,IAAI8H,EAAE,GAAG,CAAC;EACd,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,CAAC,GAAG;CACtC;CACA,IAAI,IAAIA,EAAE,GAAG;EACZ,GAAGpI,EAAEqI,IAAG,CAAC,CAAC;EACV,GAAG;CACJ,CAAC;CACD,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,CAAC,GAAG;AACtC"}