"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7536],{7536:function(e,t,r){r.d(t,{bc:function(){return U},cI:function(){return eF}});var a=r(7294),s=e=>"checkbox"===e.type,i=e=>e instanceof Date,l=e=>null==e;let u=e=>"object"==typeof e;var n=e=>!l(e)&&!Array.isArray(e)&&u(e)&&!i(e),o=e=>n(e)&&e.target?s(e.target)?e.target.checked:e.target.value:e,d=e=>e.substring(0,e.search(/\.\d+(\.|$)/))||e,f=(e,t)=>e.has(d(t)),c=e=>{let t=e.constructor&&e.constructor.prototype;return n(t)&&t.hasOwnProperty("isPrototypeOf")},y="undefined"!=typeof window&&void 0!==window.HTMLElement&&"undefined"!=typeof document;function m(e){let t;let r=Array.isArray(e);if(e instanceof Date)t=new Date(e);else if(e instanceof Set)t=new Set(e);else if(!(!(y&&(e instanceof Blob||e instanceof FileList))&&(r||n(e))))return e;else if(t=r?[]:{},r||c(e))for(let r in e)e.hasOwnProperty(r)&&(t[r]=m(e[r]));else t=e;return t}var v=e=>Array.isArray(e)?e.filter(Boolean):[],h=e=>void 0===e,g=(e,t,r)=>{if(!t||!n(e))return r;let a=v(t.split(/[,[\].]+?/)).reduce((e,t)=>l(e)?e:e[t],e);return h(a)||a===e?h(e[t])?r:e[t]:a},b=e=>"boolean"==typeof e,_=e=>/^\w*$/.test(e),p=e=>v(e.replace(/["|']|\]/g,"").split(/\.|\[/)),V=(e,t,r)=>{let a=-1,s=_(t)?[t]:p(t),i=s.length,l=i-1;for(;++a<i;){let t=s[a],i=r;if(a!==l){let r=e[t];i=n(r)||Array.isArray(r)?r:isNaN(+s[a+1])?{}:[]}if("__proto__"===t)return;e[t]=i,e=e[t]}return e};let F={BLUR:"blur",FOCUS_OUT:"focusout",CHANGE:"change"},A={onBlur:"onBlur",onChange:"onChange",onSubmit:"onSubmit",onTouched:"onTouched",all:"all"},w={max:"max",min:"min",maxLength:"maxLength",minLength:"minLength",pattern:"pattern",required:"required",validate:"validate"},S=a.createContext(null),x=()=>a.useContext(S);var k=(e,t,r,a=!0)=>{let s={defaultValues:t._defaultValues};for(let i in e)Object.defineProperty(s,i,{get:()=>(t._proxyFormState[i]!==A.all&&(t._proxyFormState[i]=!a||A.all),r&&(r[i]=!0),e[i])});return s},D=e=>n(e)&&!Object.keys(e).length,E=(e,t,r,a)=>{r(e);let{name:s,...i}=e;return D(i)||Object.keys(i).length>=Object.keys(t).length||Object.keys(i).find(e=>t[e]===(!a||A.all))},C=e=>Array.isArray(e)?e:[e],O=(e,t,r)=>!e||!t||e===t||C(e).some(e=>e&&(r?e===t:e.startsWith(t)||t.startsWith(e)));function j(e){let t=a.useRef(e);t.current=e,a.useEffect(()=>{let r=!e.disabled&&t.current.subject&&t.current.subject.subscribe({next:t.current.next});return()=>{r&&r.unsubscribe()}},[e.disabled])}var T=e=>"string"==typeof e,L=(e,t,r,a,s)=>T(e)?(a&&t.watch.add(e),g(r,e,s)):Array.isArray(e)?e.map(e=>(a&&t.watch.add(e),g(r,e))):(a&&(t.watchAll=!0),r);function U(e){let t=x(),{name:r,disabled:s,control:i=t.control,shouldUnregister:l}=e,u=f(i._names.array,r),n=function(e){let t=x(),{control:r=t.control,name:s,defaultValue:i,disabled:l,exact:u}=e||{},n=a.useRef(s);n.current=s,j({disabled:l,subject:r._subjects.values,next:e=>{O(n.current,e.name,u)&&d(m(L(n.current,r._names,e.values||r._formValues,!1,i)))}});let[o,d]=a.useState(r._getWatch(s,i));return a.useEffect(()=>r._removeUnmounted()),o}({control:i,name:r,defaultValue:g(i._formValues,r,g(i._defaultValues,r,e.defaultValue)),exact:!0}),d=function(e){let t=x(),{control:r=t.control,disabled:s,name:i,exact:l}=e||{},[u,n]=a.useState(r._formState),o=a.useRef(!0),d=a.useRef({isDirty:!1,isLoading:!1,dirtyFields:!1,touchedFields:!1,validatingFields:!1,isValidating:!1,isValid:!1,errors:!1}),f=a.useRef(i);return f.current=i,j({disabled:s,next:e=>o.current&&O(f.current,e.name,l)&&E(e,d.current,r._updateFormState)&&n({...r._formState,...e}),subject:r._subjects.state}),a.useEffect(()=>(o.current=!0,d.current.isValid&&r._updateValid(!0),()=>{o.current=!1}),[r]),k(u,r,d.current,!1)}({control:i,name:r,exact:!0}),c=a.useRef(i.register(r,{...e.rules,value:n,...b(e.disabled)?{disabled:e.disabled}:{}}));return a.useEffect(()=>{let e=i._options.shouldUnregister||l,t=(e,t)=>{let r=g(i._fields,e);r&&r._f&&(r._f.mount=t)};if(t(r,!0),e){let e=m(g(i._options.defaultValues,r));V(i._defaultValues,r,e),h(g(i._formValues,r))&&V(i._formValues,r,e)}return()=>{(u?e&&!i._state.action:e)?i.unregister(r):t(r,!1)}},[r,i,u,l]),a.useEffect(()=>{g(i._fields,r)&&i._updateDisabledField({disabled:s,fields:i._fields,name:r,value:g(i._fields,r)._f.value})},[s,r,i]),{field:{name:r,value:n,...b(s)||d.disabled?{disabled:d.disabled||s}:{},onChange:a.useCallback(e=>c.current.onChange({target:{value:o(e),name:r},type:F.CHANGE}),[r]),onBlur:a.useCallback(()=>c.current.onBlur({target:{value:g(i._formValues,r),name:r},type:F.BLUR}),[r,i]),ref:a.useCallback(e=>{let t=g(i._fields,r);t&&e&&(t._f.ref={focus:()=>e.focus(),select:()=>e.select(),setCustomValidity:t=>e.setCustomValidity(t),reportValidity:()=>e.reportValidity()})},[i._fields,r])},formState:d,fieldState:Object.defineProperties({},{invalid:{enumerable:!0,get:()=>!!g(d.errors,r)},isDirty:{enumerable:!0,get:()=>!!g(d.dirtyFields,r)},isTouched:{enumerable:!0,get:()=>!!g(d.touchedFields,r)},isValidating:{enumerable:!0,get:()=>!!g(d.validatingFields,r)},error:{enumerable:!0,get:()=>g(d.errors,r)}})}}var B=(e,t,r,a,s)=>t?{...r[e],types:{...r[e]&&r[e].types?r[e].types:{},[a]:s||!0}}:{},N=e=>({isOnSubmit:!e||e===A.onSubmit,isOnBlur:e===A.onBlur,isOnChange:e===A.onChange,isOnAll:e===A.all,isOnTouch:e===A.onTouched}),M=(e,t,r)=>!r&&(t.watchAll||t.watch.has(e)||[...t.watch].some(t=>e.startsWith(t)&&/^\.\w+/.test(e.slice(t.length))));let R=(e,t,r,a)=>{for(let s of r||Object.keys(e)){let r=g(e,s);if(r){let{_f:e,...i}=r;if(e){if(e.refs&&e.refs[0]&&t(e.refs[0],s)&&!a||e.ref&&t(e.ref,e.name)&&!a)return!0;if(R(i,t))break}else if(n(i)&&R(i,t))break}}};var q=(e,t,r)=>{let a=C(g(e,r));return V(a,"root",t[r]),V(e,r,a),e},P=e=>"file"===e.type,I=e=>"function"==typeof e,H=e=>{if(!y)return!1;let t=e?e.ownerDocument:0;return e instanceof(t&&t.defaultView?t.defaultView.HTMLElement:HTMLElement)},W=e=>T(e),$=e=>"radio"===e.type,G=e=>e instanceof RegExp;let z={value:!1,isValid:!1},J={value:!0,isValid:!0};var K=e=>{if(Array.isArray(e)){if(e.length>1){let t=e.filter(e=>e&&e.checked&&!e.disabled).map(e=>e.value);return{value:t,isValid:!!t.length}}return e[0].checked&&!e[0].disabled?e[0].attributes&&!h(e[0].attributes.value)?h(e[0].value)||""===e[0].value?J:{value:e[0].value,isValid:!0}:J:z}return z};let Q={isValid:!1,value:null};var X=e=>Array.isArray(e)?e.reduce((e,t)=>t&&t.checked&&!t.disabled?{isValid:!0,value:t.value}:e,Q):Q;function Y(e,t,r="validate"){if(W(e)||Array.isArray(e)&&e.every(W)||b(e)&&!e)return{type:r,message:W(e)?e:"",ref:t}}var Z=e=>n(e)&&!G(e)?e:{value:e,message:""},ee=async(e,t,r,a,i)=>{let{ref:u,refs:o,required:d,maxLength:f,minLength:c,min:y,max:m,pattern:v,validate:_,name:p,valueAsNumber:V,mount:F,disabled:A}=e._f,S=g(t,p);if(!F||A)return{};let x=o?o[0]:u,k=e=>{a&&x.reportValidity&&(x.setCustomValidity(b(e)?"":e||""),x.reportValidity())},E={},C=$(u),O=s(u),j=(V||P(u))&&h(u.value)&&h(S)||H(u)&&""===u.value||""===S||Array.isArray(S)&&!S.length,L=B.bind(null,p,r,E),U=(e,t,r,a=w.maxLength,s=w.minLength)=>{let i=e?t:r;E[p]={type:e?a:s,message:i,ref:u,...L(e?a:s,i)}};if(i?!Array.isArray(S)||!S.length:d&&(!(C||O)&&(j||l(S))||b(S)&&!S||O&&!K(o).isValid||C&&!X(o).isValid)){let{value:e,message:t}=W(d)?{value:!!d,message:d}:Z(d);if(e&&(E[p]={type:w.required,message:t,ref:x,...L(w.required,t)},!r))return k(t),E}if(!j&&(!l(y)||!l(m))){let e,t;let a=Z(m),s=Z(y);if(l(S)||isNaN(S)){let r=u.valueAsDate||new Date(S),i=e=>new Date(new Date().toDateString()+" "+e),l="time"==u.type,n="week"==u.type;T(a.value)&&S&&(e=l?i(S)>i(a.value):n?S>a.value:r>new Date(a.value)),T(s.value)&&S&&(t=l?i(S)<i(s.value):n?S<s.value:r<new Date(s.value))}else{let r=u.valueAsNumber||(S?+S:S);l(a.value)||(e=r>a.value),l(s.value)||(t=r<s.value)}if((e||t)&&(U(!!e,a.message,s.message,w.max,w.min),!r))return k(E[p].message),E}if((f||c)&&!j&&(T(S)||i&&Array.isArray(S))){let e=Z(f),t=Z(c),a=!l(e.value)&&S.length>+e.value,s=!l(t.value)&&S.length<+t.value;if((a||s)&&(U(a,e.message,t.message),!r))return k(E[p].message),E}if(v&&!j&&T(S)){let{value:e,message:t}=Z(v);if(G(e)&&!S.match(e)&&(E[p]={type:w.pattern,message:t,ref:u,...L(w.pattern,t)},!r))return k(t),E}if(_){if(I(_)){let e=await _(S,t),a=Y(e,x);if(a&&(E[p]={...a,...L(w.validate,a.message)},!r))return k(a.message),E}else if(n(_)){let e={};for(let a in _){if(!D(e)&&!r)break;let s=Y(await _[a](S,t),x,a);s&&(e={...s,...L(a,s.message)},k(s.message),r&&(E[p]=e))}if(!D(e)&&(E[p]={ref:x,...e},!r))return E}}return k(!0),E};function et(e,t){let r=Array.isArray(t)?t:_(t)?[t]:p(t),a=1===r.length?e:function(e,t){let r=t.slice(0,-1).length,a=0;for(;a<r;)e=h(e)?a++:e[t[a++]];return e}(e,r),s=r.length-1,i=r[s];return a&&delete a[i],0!==s&&(n(a)&&D(a)||Array.isArray(a)&&function(e){for(let t in e)if(e.hasOwnProperty(t)&&!h(e[t]))return!1;return!0}(a))&&et(e,r.slice(0,-1)),e}var er=()=>{let e=[];return{get observers(){return e},next:t=>{for(let r of e)r.next&&r.next(t)},subscribe:t=>(e.push(t),{unsubscribe:()=>{e=e.filter(e=>e!==t)}}),unsubscribe:()=>{e=[]}}},ea=e=>l(e)||!u(e);function es(e,t){if(ea(e)||ea(t))return e===t;if(i(e)&&i(t))return e.getTime()===t.getTime();let r=Object.keys(e),a=Object.keys(t);if(r.length!==a.length)return!1;for(let s of r){let r=e[s];if(!a.includes(s))return!1;if("ref"!==s){let e=t[s];if(i(r)&&i(e)||n(r)&&n(e)||Array.isArray(r)&&Array.isArray(e)?!es(r,e):r!==e)return!1}}return!0}var ei=e=>"select-multiple"===e.type,el=e=>$(e)||s(e),eu=e=>H(e)&&e.isConnected,en=e=>{for(let t in e)if(I(e[t]))return!0;return!1};function eo(e,t={}){let r=Array.isArray(e);if(n(e)||r)for(let r in e)Array.isArray(e[r])||n(e[r])&&!en(e[r])?(t[r]=Array.isArray(e[r])?[]:{},eo(e[r],t[r])):l(e[r])||(t[r]=!0);return t}var ed=(e,t)=>(function e(t,r,a){let s=Array.isArray(t);if(n(t)||s)for(let s in t)Array.isArray(t[s])||n(t[s])&&!en(t[s])?h(r)||ea(a[s])?a[s]=Array.isArray(t[s])?eo(t[s],[]):{...eo(t[s])}:e(t[s],l(r)?{}:r[s],a[s]):a[s]=!es(t[s],r[s]);return a})(e,t,eo(t)),ef=(e,{valueAsNumber:t,valueAsDate:r,setValueAs:a})=>h(e)?e:t?""===e?NaN:e?+e:e:r&&T(e)?new Date(e):a?a(e):e;function ec(e){let t=e.ref;return(e.refs?e.refs.every(e=>e.disabled):t.disabled)?void 0:P(t)?t.files:$(t)?X(e.refs).value:ei(t)?[...t.selectedOptions].map(({value:e})=>e):s(t)?K(e.refs).value:ef(h(t.value)?e.ref.value:t.value,e)}var ey=(e,t,r,a)=>{let s={};for(let r of e){let e=g(t,r);e&&V(s,r,e._f)}return{criteriaMode:r,names:[...e],fields:s,shouldUseNativeValidation:a}},em=e=>h(e)?e:G(e)?e.source:n(e)?G(e.value)?e.value.source:e.value:e;let ev="AsyncFunction";var eh=e=>(!e||!e.validate)&&!!(I(e.validate)&&e.validate.constructor.name===ev||n(e.validate)&&Object.values(e.validate).find(e=>e.constructor.name===ev)),eg=e=>e.mount&&(e.required||e.min||e.max||e.maxLength||e.minLength||e.pattern||e.validate);function eb(e,t,r){let a=g(e,r);if(a||_(r))return{error:a,name:r};let s=r.split(".");for(;s.length;){let a=s.join("."),i=g(t,a),l=g(e,a);if(i&&!Array.isArray(i)&&r!==a)break;if(l&&l.type)return{name:a,error:l};s.pop()}return{name:r}}var e_=(e,t,r,a,s)=>!s.isOnAll&&(!r&&s.isOnTouch?!(t||e):(r?a.isOnBlur:s.isOnBlur)?!e:(r?!a.isOnChange:!s.isOnChange)||e),ep=(e,t)=>!v(g(e,t)).length&&et(e,t);let eV={mode:A.onSubmit,reValidateMode:A.onChange,shouldFocusError:!0};function eF(e={}){let t=a.useRef(),r=a.useRef(),[u,d]=a.useState({isDirty:!1,isValidating:!1,isLoading:I(e.defaultValues),isSubmitted:!1,isSubmitting:!1,isSubmitSuccessful:!1,isValid:!1,submitCount:0,dirtyFields:{},touchedFields:{},validatingFields:{},errors:e.errors||{},disabled:e.disabled||!1,defaultValues:I(e.defaultValues)?void 0:e.defaultValues});t.current||(t.current={...function(e={}){let t,r={...eV,...e},a={submitCount:0,isDirty:!1,isLoading:I(r.defaultValues),isValidating:!1,isSubmitted:!1,isSubmitting:!1,isSubmitSuccessful:!1,isValid:!1,touchedFields:{},dirtyFields:{},validatingFields:{},errors:r.errors||{},disabled:r.disabled||!1},u={},d=(n(r.defaultValues)||n(r.values))&&m(r.defaultValues||r.values)||{},c=r.shouldUnregister?{}:m(d),_={action:!1,mount:!1,watch:!1},p={mount:new Set,unMount:new Set,array:new Set,watch:new Set},w=0,S={isDirty:!1,dirtyFields:!1,validatingFields:!1,touchedFields:!1,isValidating:!1,isValid:!1,errors:!1},x={values:er(),array:er(),state:er()},k=N(r.mode),E=N(r.reValidateMode),O=r.criteriaMode===A.all,j=e=>t=>{clearTimeout(w),w=setTimeout(e,t)},U=async t=>{if(!e.disabled&&(S.isValid||t)){let e=r.resolver?D((await J()).errors):await Q(u,!0);e!==a.isValid&&x.state.next({isValid:e})}},B=(t,r)=>{!e.disabled&&(S.isValidating||S.validatingFields)&&((t||Array.from(p.mount)).forEach(e=>{e&&(r?V(a.validatingFields,e,r):et(a.validatingFields,e))}),x.state.next({validatingFields:a.validatingFields,isValidating:!D(a.validatingFields)}))},W=(e,t)=>{V(a.errors,e,t),x.state.next({errors:a.errors})},$=(e,t,r,a)=>{let s=g(u,e);if(s){let i=g(c,e,h(r)?g(d,e):r);h(i)||a&&a.defaultChecked||t?V(c,e,t?i:ec(s._f)):Z(e,i),_.mount&&U()}},G=(t,r,s,i,l)=>{let n=!1,o=!1,f={name:t};if(!e.disabled){let e=!!(g(u,t)&&g(u,t)._f&&g(u,t)._f.disabled);if(!s||i){S.isDirty&&(o=a.isDirty,a.isDirty=f.isDirty=X(),n=o!==f.isDirty);let s=e||es(g(d,t),r);o=!!(!e&&g(a.dirtyFields,t)),s||e?et(a.dirtyFields,t):V(a.dirtyFields,t,!0),f.dirtyFields=a.dirtyFields,n=n||S.dirtyFields&&!s!==o}if(s){let e=g(a.touchedFields,t);e||(V(a.touchedFields,t,s),f.touchedFields=a.touchedFields,n=n||S.touchedFields&&e!==s)}n&&l&&x.state.next(f)}return n?f:{}},z=(r,s,i,l)=>{let u=g(a.errors,r),n=S.isValid&&b(s)&&a.isValid!==s;if(e.delayError&&i?(t=j(()=>W(r,i)))(e.delayError):(clearTimeout(w),t=null,i?V(a.errors,r,i):et(a.errors,r)),(i?!es(u,i):u)||!D(l)||n){let e={...l,...n&&b(s)?{isValid:s}:{},errors:a.errors,name:r};a={...a,...e},x.state.next(e)}},J=async e=>{B(e,!0);let t=await r.resolver(c,r.context,ey(e||p.mount,u,r.criteriaMode,r.shouldUseNativeValidation));return B(e),t},K=async e=>{let{errors:t}=await J(e);if(e)for(let r of e){let e=g(t,r);e?V(a.errors,r,e):et(a.errors,r)}else a.errors=t;return t},Q=async(e,t,s={valid:!0})=>{for(let i in e){let l=e[i];if(l){let{_f:e,...u}=l;if(e){let u=p.array.has(e.name),n=l._f&&eh(l._f);n&&S.validatingFields&&B([i],!0);let o=await ee(l,c,O,r.shouldUseNativeValidation&&!t,u);if(n&&S.validatingFields&&B([i]),o[e.name]&&(s.valid=!1,t))break;t||(g(o,e.name)?u?q(a.errors,o,e.name):V(a.errors,e.name,o[e.name]):et(a.errors,e.name))}D(u)||await Q(u,t,s)}}return s.valid},X=(t,r)=>!e.disabled&&(t&&r&&V(c,t,r),!es(eA(),d)),Y=(e,t,r)=>L(e,p,{..._.mount?c:h(t)?d:T(e)?{[e]:t}:t},r,t),Z=(e,t,r={})=>{let a=g(u,e),i=t;if(a){let r=a._f;r&&(r.disabled||V(c,e,ef(t,r)),i=H(r.ref)&&l(t)?"":t,ei(r.ref)?[...r.ref.options].forEach(e=>e.selected=i.includes(e.value)):r.refs?s(r.ref)?r.refs.length>1?r.refs.forEach(e=>(!e.defaultChecked||!e.disabled)&&(e.checked=Array.isArray(i)?!!i.find(t=>t===e.value):i===e.value)):r.refs[0]&&(r.refs[0].checked=!!i):r.refs.forEach(e=>e.checked=e.value===i):P(r.ref)?r.ref.value="":(r.ref.value=i,r.ref.type||x.values.next({name:e,values:{...c}})))}(r.shouldDirty||r.shouldTouch)&&G(e,i,r.shouldTouch,r.shouldDirty,!0),r.shouldValidate&&eF(e)},ea=(e,t,r)=>{for(let a in t){let s=t[a],l=`${e}.${a}`,o=g(u,l);(p.array.has(e)||n(s)||o&&!o._f)&&!i(s)?ea(l,s,r):Z(l,s,r)}},en=(e,t,r={})=>{let s=g(u,e),i=p.array.has(e),n=m(t);V(c,e,n),i?(x.array.next({name:e,values:{...c}}),(S.isDirty||S.dirtyFields)&&r.shouldDirty&&x.state.next({name:e,dirtyFields:ed(d,c),isDirty:X(e,n)})):!s||s._f||l(n)?Z(e,n,r):ea(e,n,r),M(e,p)&&x.state.next({...a}),x.values.next({name:_.mount?e:void 0,values:{...c}})},eo=async s=>{_.mount=!0;let l=s.target,n=l.name,d=!0,f=g(u,n),y=e=>{d=Number.isNaN(e)||i(e)&&isNaN(e.getTime())||es(e,g(c,n,e))};if(f){let i,m;let v=l.type?ec(f._f):o(s),h=s.type===F.BLUR||s.type===F.FOCUS_OUT,b=!eg(f._f)&&!r.resolver&&!g(a.errors,n)&&!f._f.deps||e_(h,g(a.touchedFields,n),a.isSubmitted,E,k),_=M(n,p,h);V(c,n,v),h?(f._f.onBlur&&f._f.onBlur(s),t&&t(0)):f._f.onChange&&f._f.onChange(s);let A=G(n,v,h,!1),w=!D(A)||_;if(h||x.values.next({name:n,type:s.type,values:{...c}}),b)return S.isValid&&("onBlur"===e.mode?h&&U():U()),w&&x.state.next({name:n,..._?{}:A});if(!h&&_&&x.state.next({...a}),r.resolver){let{errors:e}=await J([n]);if(y(v),d){let t=eb(a.errors,u,n),r=eb(e,u,t.name||n);i=r.error,n=r.name,m=D(e)}}else B([n],!0),i=(await ee(f,c,O,r.shouldUseNativeValidation))[n],B([n]),y(v),d&&(i?m=!1:S.isValid&&(m=await Q(u,!0)));d&&(f._f.deps&&eF(f._f.deps),z(n,m,i,A))}},ev=(e,t)=>{if(g(a.errors,t)&&e.focus)return e.focus(),1},eF=async(e,t={})=>{let s,i;let l=C(e);if(r.resolver){let t=await K(h(e)?e:l);s=D(t),i=e?!l.some(e=>g(t,e)):s}else e?((i=(await Promise.all(l.map(async e=>{let t=g(u,e);return await Q(t&&t._f?{[e]:t}:t)}))).every(Boolean))||a.isValid)&&U():i=s=await Q(u);return x.state.next({...!T(e)||S.isValid&&s!==a.isValid?{}:{name:e},...r.resolver||!e?{isValid:s}:{},errors:a.errors}),t.shouldFocus&&!i&&R(u,ev,e?l:p.mount),i},eA=e=>{let t={..._.mount?c:d};return h(e)?t:T(e)?g(t,e):e.map(e=>g(t,e))},ew=(e,t)=>({invalid:!!g((t||a).errors,e),isDirty:!!g((t||a).dirtyFields,e),error:g((t||a).errors,e),isValidating:!!g(a.validatingFields,e),isTouched:!!g((t||a).touchedFields,e)}),eS=(e,t,r)=>{let s=(g(u,e,{_f:{}})._f||{}).ref,i=g(a.errors,e)||{},{ref:l,message:n,type:o,...d}=i;V(a.errors,e,{...d,...t,ref:s}),x.state.next({name:e,errors:a.errors,isValid:!1}),r&&r.shouldFocus&&s&&s.focus&&s.focus()},ex=(e,t={})=>{for(let s of e?C(e):p.mount)p.mount.delete(s),p.array.delete(s),t.keepValue||(et(u,s),et(c,s)),t.keepError||et(a.errors,s),t.keepDirty||et(a.dirtyFields,s),t.keepTouched||et(a.touchedFields,s),t.keepIsValidating||et(a.validatingFields,s),r.shouldUnregister||t.keepDefaultValue||et(d,s);x.values.next({values:{...c}}),x.state.next({...a,...t.keepDirty?{isDirty:X()}:{}}),t.keepIsValid||U()},ek=({disabled:e,name:t,field:r,fields:a,value:s})=>{if(b(e)&&_.mount||e){let i=e?void 0:h(s)?ec(r?r._f:g(a,t)._f):s;V(c,t,i),G(t,i,!1,!1,!0)}},eD=(t,a={})=>{let s=g(u,t),i=b(a.disabled)||b(e.disabled);return V(u,t,{...s||{},_f:{...s&&s._f?s._f:{ref:{name:t}},name:t,mount:!0,...a}}),p.mount.add(t),s?ek({field:s,disabled:b(a.disabled)?a.disabled:e.disabled,name:t,value:a.value}):$(t,!0,a.value),{...i?{disabled:a.disabled||e.disabled}:{},...r.progressive?{required:!!a.required,min:em(a.min),max:em(a.max),minLength:em(a.minLength),maxLength:em(a.maxLength),pattern:em(a.pattern)}:{},name:t,onChange:eo,onBlur:eo,ref:e=>{if(e){eD(t,a),s=g(u,t);let r=h(e.value)&&e.querySelectorAll&&e.querySelectorAll("input,select,textarea")[0]||e,i=el(r),l=s._f.refs||[];(i?l.find(e=>e===r):r===s._f.ref)||(V(u,t,{_f:{...s._f,...i?{refs:[...l.filter(eu),r,...Array.isArray(g(d,t))?[{}]:[]],ref:{type:r.type,name:t}}:{ref:r}}}),$(t,!1,void 0,r))}else(s=g(u,t,{}))._f&&(s._f.mount=!1),(r.shouldUnregister||a.shouldUnregister)&&!(f(p.array,t)&&_.action)&&p.unMount.add(t)}}},eE=()=>r.shouldFocusError&&R(u,ev,p.mount),eC=(e,t)=>async s=>{let i;s&&(s.preventDefault&&s.preventDefault(),s.persist&&s.persist());let l=m(c);if(x.state.next({isSubmitting:!0}),r.resolver){let{errors:e,values:t}=await J();a.errors=e,l=t}else await Q(u);if(et(a.errors,"root"),D(a.errors)){x.state.next({errors:{}});try{await e(l,s)}catch(e){i=e}}else t&&await t({...a.errors},s),eE(),setTimeout(eE);if(x.state.next({isSubmitted:!0,isSubmitting:!1,isSubmitSuccessful:D(a.errors)&&!i,submitCount:a.submitCount+1,errors:a.errors}),i)throw i},eO=(t,r={})=>{let s=t?m(t):d,i=m(s),l=D(t),n=l?d:i;if(r.keepDefaultValues||(d=s),!r.keepValues){if(r.keepDirtyValues){let e=new Set([...p.mount,...Object.keys(ed(d,c))]);for(let t of Array.from(e))g(a.dirtyFields,t)?V(n,t,g(c,t)):en(t,g(n,t))}else{if(y&&h(t))for(let e of p.mount){let t=g(u,e);if(t&&t._f){let e=Array.isArray(t._f.refs)?t._f.refs[0]:t._f.ref;if(H(e)){let t=e.closest("form");if(t){t.reset();break}}}}u={}}c=e.shouldUnregister?r.keepDefaultValues?m(d):{}:m(n),x.array.next({values:{...n}}),x.values.next({values:{...n}})}p={mount:r.keepDirtyValues?p.mount:new Set,unMount:new Set,array:new Set,watch:new Set,watchAll:!1,focus:""},_.mount=!S.isValid||!!r.keepIsValid||!!r.keepDirtyValues,_.watch=!!e.shouldUnregister,x.state.next({submitCount:r.keepSubmitCount?a.submitCount:0,isDirty:!l&&(r.keepDirty?a.isDirty:!!(r.keepDefaultValues&&!es(t,d))),isSubmitted:!!r.keepIsSubmitted&&a.isSubmitted,dirtyFields:l?{}:r.keepDirtyValues?r.keepDefaultValues&&c?ed(d,c):a.dirtyFields:r.keepDefaultValues&&t?ed(d,t):r.keepDirty?a.dirtyFields:{},touchedFields:r.keepTouched?a.touchedFields:{},errors:r.keepErrors?a.errors:{},isSubmitSuccessful:!!r.keepIsSubmitSuccessful&&a.isSubmitSuccessful,isSubmitting:!1})},ej=(e,t)=>eO(I(e)?e(c):e,t);return{control:{register:eD,unregister:ex,getFieldState:ew,handleSubmit:eC,setError:eS,_executeSchema:J,_getWatch:Y,_getDirty:X,_updateValid:U,_removeUnmounted:()=>{for(let e of p.unMount){let t=g(u,e);t&&(t._f.refs?t._f.refs.every(e=>!eu(e)):!eu(t._f.ref))&&ex(e)}p.unMount=new Set},_updateFieldArray:(t,r=[],s,i,l=!0,n=!0)=>{if(i&&s&&!e.disabled){if(_.action=!0,n&&Array.isArray(g(u,t))){let e=s(g(u,t),i.argA,i.argB);l&&V(u,t,e)}if(n&&Array.isArray(g(a.errors,t))){let e=s(g(a.errors,t),i.argA,i.argB);l&&V(a.errors,t,e),ep(a.errors,t)}if(S.touchedFields&&n&&Array.isArray(g(a.touchedFields,t))){let e=s(g(a.touchedFields,t),i.argA,i.argB);l&&V(a.touchedFields,t,e)}S.dirtyFields&&(a.dirtyFields=ed(d,c)),x.state.next({name:t,isDirty:X(t,r),dirtyFields:a.dirtyFields,errors:a.errors,isValid:a.isValid})}else V(c,t,r)},_updateDisabledField:ek,_getFieldArray:t=>v(g(_.mount?c:d,t,e.shouldUnregister?g(d,t,[]):[])),_reset:eO,_resetDefaultValues:()=>I(r.defaultValues)&&r.defaultValues().then(e=>{ej(e,r.resetOptions),x.state.next({isLoading:!1})}),_updateFormState:e=>{a={...a,...e}},_disableForm:e=>{b(e)&&(x.state.next({disabled:e}),R(u,(t,r)=>{let a=g(u,r);a&&(t.disabled=a._f.disabled||e,Array.isArray(a._f.refs)&&a._f.refs.forEach(t=>{t.disabled=a._f.disabled||e}))},0,!1))},_subjects:x,_proxyFormState:S,_setErrors:e=>{a.errors=e,x.state.next({errors:a.errors,isValid:!1})},get _fields(){return u},get _formValues(){return c},get _state(){return _},set _state(value){_=value},get _defaultValues(){return d},get _names(){return p},set _names(value){p=value},get _formState(){return a},set _formState(value){a=value},get _options(){return r},set _options(value){r={...r,...value}}},trigger:eF,register:eD,handleSubmit:eC,watch:(e,t)=>I(e)?x.values.subscribe({next:r=>e(Y(void 0,t),r)}):Y(e,t,!0),setValue:en,getValues:eA,reset:ej,resetField:(e,t={})=>{g(u,e)&&(h(t.defaultValue)?en(e,m(g(d,e))):(en(e,t.defaultValue),V(d,e,m(t.defaultValue))),t.keepTouched||et(a.touchedFields,e),t.keepDirty||(et(a.dirtyFields,e),a.isDirty=t.defaultValue?X(e,m(g(d,e))):X()),!t.keepError&&(et(a.errors,e),S.isValid&&U()),x.state.next({...a}))},clearErrors:e=>{e&&C(e).forEach(e=>et(a.errors,e)),x.state.next({errors:e?a.errors:{}})},unregister:ex,setError:eS,setFocus:(e,t={})=>{let r=g(u,e),a=r&&r._f;if(a){let e=a.refs?a.refs[0]:a.ref;e.focus&&(e.focus(),t.shouldSelect&&e.select())}},getFieldState:ew}}(e),formState:u});let c=t.current.control;return c._options=e,j({subject:c._subjects.state,next:e=>{E(e,c._proxyFormState,c._updateFormState,!0)&&d({...c._formState})}}),a.useEffect(()=>c._disableForm(e.disabled),[c,e.disabled]),a.useEffect(()=>{if(c._proxyFormState.isDirty){let e=c._getDirty();e!==u.isDirty&&c._subjects.state.next({isDirty:e})}},[c,u.isDirty]),a.useEffect(()=>{e.values&&!es(e.values,r.current)?(c._reset(e.values,c._options.resetOptions),r.current=e.values,d(e=>({...e}))):c._resetDefaultValues()},[e.values,c]),a.useEffect(()=>{e.errors&&c._setErrors(e.errors)},[e.errors,c]),a.useEffect(()=>{c._state.mount||(c._updateValid(),c._state.mount=!0),c._state.watch&&(c._state.watch=!1,c._subjects.state.next({...c._formState})),c._removeUnmounted()}),a.useEffect(()=>{e.shouldUnregister&&c._subjects.values.next({values:c._getWatch()})},[e.shouldUnregister,c]),a.useEffect(()=>{t.current&&(t.current.watch=t.current.watch.bind({}))},[u]),t.current.formState=k(u,c),t.current}}}]);