fL iUddlZddlmZddlmZddlmZddlmZddl m Z ddl m Z m Z mZddlmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZdd l m!Z!dd l"m#Z#m$Z$m%Z%m&Z&dd l'm(Z(m)Z)m*Z*m+Z+dd l,m-Z-m.Z.dd l/m0Z0m1Z1m2Z2m3Z3ddl4m5Z5m6Z6m7Z7m8Z8m9Z9m:Z:m;Z;ddlZ>ddl?m@Z@mAZAmBZBddlCmDZDmEZEddlFmGZGmHZHddlImJZJmKZKmLZLmMZMmNZNmOZOmPZPmQZQddlRmSZSmTZTmUZUmVZVmWZWmXZXmYZYmZZZm[Z[m\Z\m]Z]m^Z^m_Z_m`Z`er2ddlambZbddl"mcZcddlFmdZdddlImeZemfZfmgZgmhZhmiZimjZjmkZkmlZlmmZmeddZndZoedZpdeeqe7fddfd Zrd!esdeeegetffd"ZuevewexeyfZzeed#fe{d$<e fezzZ|eed#fe{d%<d&Z}e!d'e6f(Gd)d*eZ~ejZGd+deWe~,Zd'Z}eddeddd-d.eqd/eee(d0dd1eqd2eeqd3fd4eeqefd5ededfd6Zededdd7d.eqd/eee(d0eedeedd#ffd1eqd2eeqd3fd4eeqefd5ededfd8Zddedddd9d.eqd/eee(d0ededeedd#ffd1eqd2eeqd3fd4eeqefd:eeeqd#fd5ededfd;ZeZ dCdd?d@ded>dAee.ffdBZy)DN)ABCMeta)deepcopy)Enum)partial)Path) FunctionType prepare_class resolve_bases) TYPE_CHECKING AbstractSetAnyCallableClassVarDictListMappingOptionalTupleTypeTypeVarUnioncast no_type_checkoverload)dataclass_transform)ValidatorGroupextract_root_validatorsextract_validatorsinherit_validators) BaseConfigExtrainherit_configprepare_config) ErrorWrapperValidationError) ConfigError DictError ExtraError MissingError)MAPPING_LIKE_SHAPESField ModelFieldModelPrivateAttr PrivateAttr Undefinedis_finalvar_with_default_val)custom_pydantic_encoderpydantic_encoder)Protocol load_fileload_str_bytes)default_ref_template model_schema)PyObjectStrBytes) AnyCallableget_args get_origin is_classvar is_namedtupleis_unionresolve_annotationsupdate_model_forward_refs)DUNDER_ATTRIBUTESROOT_KEYClassAttribute GetterDictRepresentation ValueItemsgenerate_model_signatureis_valid_fieldis_valid_private_namelenient_issubclass sequence_likesmart_deepcopy unique_listvalidate_field_name) Signature)ValidatorListDict) ModelOrDc) AbstractSetIntStrAnyClassMethodCallableGeneratorDictAny DictStrAnyMappingIntStrAnyReprArgsSetStrTupleGeneratorModel BaseModel)bound)r] create_modelvalidate_model_TfieldsreturncDt|dkDrttdy)Nz" cannot be mixed with other fields)len ValueErrorrC)rbs V/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/pydantic/v1/main.pyvalidate_custom_root_typerias% 6{QH:%GHIIfrozenc.dtdtfd}|r|SdS)Nself_rcct|jtt|jj zSN)hash __class__tuple__dict__values)rms rh hash_functionz-generate_hash_function..hash_functiongs-EOO$tE%..2G2G2I,J'KKKrj)r int)rkrus rhgenerate_hash_functionrwfs'LSLSL#=,,rj.ANNOTATED_FIELD_UNTOUCHED_TYPESUNTOUCHED_TYPESFT)kw_only_defaultfield_specifiersc<eZdZefdZdedeffd ZxZS)ModelMetaclassc -i}t}i}gg} }i} i} |jdd} t| tr| hn t | } t } d}t |D]}t s t|ts|tk7s%|jt|jt|j|}t|j|}||j z }| |j"z } | j|j$| j|j&|j(}|j+dd}t-|Dchc]&}|j/dr|j1ds|(}}|j3|zDcic]}||j+|}}|jd}|r |r t5dt||fi|}tt7||}t9|}|j;D]\}|j=||j?|j@}|s2|jBj||jE^tG||tH-dtJd tLf-fd }|jd |jd fd k7rtO|jdi|jd d}|jQD]\}}tS|r| jU|$tW||j|tXr| jU|Vt[|rt]|||j|tX}t_ta|r tc|n|f}||r|tdk7rtgd|Dstijj||||j?||||<||vs|jls to| |<tp|jrz-|jQD]$\}}|| vxr || }t|ttr&tw|styd|d|d|d|| |<L|jlrtw|r|rto|| |<ut[|s||vs|st]||tijj|||j|tX|j?||} ||vrJt{| j|||j|r||j|| _>nt5d|d|d| ||<'t~|v}!|!r t||j|jrtt|j}"nt}"t|\}#}$|t|j}|| j3zdhz}%|||jQD&cic]3\}}&|&jj||&jj5c}&}xsd|jQD&cic]3\}}&|&jj||&jj5c}&}xsd|jt||#zdt| |$zdit|"|!i| | | | j3z|| d|jQD'(cic] \}'}(|'|%vs |'|(c}(}'})t.|@|||)fi|}*tdt|*j|||*_Tt st|*dij|r|*j|jQD],\}}+||)vs t|+dd},t|,s$|,|*|.|*Scc}wcc}wcc}&}wcc}&}wcc}(}'w)N __slots____resolve_forward_refs__T__ConfigzYSpecifying config in two places is ambiguous, use either Config attribute or class kwargsvrccRt|xs|jjdk(S)Ncython_function_or_method) isinstancerq__name__)runtouched_typess rh is_untouchedz,ModelMetaclass.__new__..is_untoucheds%a1hQ[[5I5IMh5h hrj __module__ __qualname__)z pydantic.mainr]__annotations__c3NK|]}tt|tywro)rKr<r).0 allowed_types rh z)ModelMetaclass.__new__..s"$S_.z,/GN$s#%)namevalue annotationclass_validatorsconfigzPrivate attributes "zF" must not be a valid field name; Use sunder or dunder names, e. g. "_z" or "__z__")defaultz The type of .zo differs from the new default value; if you wish to change the type of this field, please use a type annotationc|jSror)rs rhz(ModelMetaclass.__new__.. s qzzrj) name_factoryc |djS)Nrer)skip_on_failure_and_vs rhrz(ModelMetaclass.__new__..s;PQR;S;\;\rj) __config__ __fields____exclude_fields____include_fields____validators____pre_root_validators____post_root_validators____schema_cache____json_encoder____custom_root_type____private_attributes__r__hash____class_vars__ __signature__ __set_name__)Yr getrstrsetreversed_is_base_model_class_defined issubclassr]updaterMrr"rrrrrrrrpopdir startswithendswithkeys TypeErrorrrrt set_configget_validatorsrrpopulate_validatorsr#rxr boolr@itemsr=addr0r/rIrOr?r<r;r8anyr,inferunderscore_attrs_are_privater.rykeep_untouchedr-rJ NameErrorrKtype_rCricheck_for_unused json_encodersrr1r2rrwrk field_infoexcludeinclude validatorsrN staticmethodsuper__new__rDrH__init__rgetattrclear__try_update_forward_refs__callable)/mcsrbases namespacekwargsrbrrpre_root_validatorspost_root_validatorsprivate_attributesbase_private_attributesslots class_vars hash_funcbaseresolve_forward_refskeyallowed_config_kwargs config_kwargsconfig_from_namespacevgfextra_validatorsr annotationsann_nameann_typer allowed_typesvar_namecan_be_changedinferred_custom_root_type json_encoder pre_rv_new post_rv_newexclude_from_namespacefieldnr new_namespaceclsobjset_namerrqs/ @rhrzModelMetaclass.__new__zs(**, 461:<?A! k26%eS1s5z U 48 UO *D+ 40KPTXaPa nT__=>'@/0C0CZP #t'C'CC#$(E(EE$'..t/J/JK!!$"5"56 MM  * &zz*DdK6{) NN4(S\\$-? ) ) :@I^9^_#fjjo-_ _ ) h 7 2wx x 5vOO'(:9(EzR J ' (A LL !008 ""))*:;%%'  ( vt$9 iC iD i MM, '~)F GKi i-immE:B:hCW:XHX$6_g^iM$U+$0 #$cp$!!'1'7'7%##+)+):):8)D% (F8$Y.63V3V3>=&x03 A6.0E0EEO#,??#4 0%!)!;!WLQVDW@We%560:'28*=CCK*HU]T^^ac49&x088=RS[=\ao3>u3M&x0#H-(+2MR`'x8)//%##.??8Y#G)+):):8)D%  H 6)-hnnfX>N>T>TU-3H-=-C-CHN"+".tfAhZ@m!n#(0F8$9 0<%.  %f -    "#:F4TYTdTdTlTlTxe&&...##BH,,.#3>4TYTdTdTlTlTxe&&...## mm'2#j01()4${2\)!# ,\ :$5&W)@&WDV&W!3!8!8!::!(5 6!* 1U1Q>T5Tq!tU7 <goc4 HH*?t|dxrt| |S)z| Avoid calling ABC _abc_subclasscheck unless we're pretty sure. See #3829 and python/cpython#92810 r)hasattrr__instancecheck__)selfrrqs rhrz ModelMetaclass.__instancecheck__0s# x!;<dAZ[cAddrj) rrrrrr rr __classcell__)rqs@rhr}r}xs4ssje#e$eerjr}ceZdZUeriZeeeefe d<dZ ee e ee fe d<dZee e ee fe d<iZeeeefe d<eeee d<eeeeefe d<eZeeee d<d Zeee ge fe d <iZed e d <d Zeee d<ede d<eeeefe d<eee d<eZeee d<eZdZ dZ!de ddfdZ"e#dZ$d_dZ%d`dZ&dadZ'ddd dd d d dde e(dd e e(dd!ed"e ed#ed$ed%edd&fd'Z)ddd dd d d dd(d) de e(dd e e(dd!ed"e ed#ed$ed%ed*e ee ge fd+ed,e defd-Z*e+d.e de fd/Z,e+d0ed1d.e dd1fd2Z-e+dd3dd d4d0ed1d5e.d6ed7ed8e/d9edd1fd:Z0e+dd3dd d4d0ed1d;e(ee1fd6ed7ed8e/d9edd1fd<Z2e+d0ed1d.e dd1fd=Z3e+dbd0ed1d>e d?d@e dd1fdAZ4dBd1d@d&dCd?dDedd1f dEZ5dddd dFdBd1de e(dd e e(ddGe d&dDedd1f dHZ6e+d(e7fd!edIedd&fdJZ8e+d(e7dKd!edIed,e defdLZ9e+dcdMZ:e+d0ed1dNe dd1fdOZ;e+d0ed1d.e dee+dTe ddfdUZ?e+dTe ddfdVZ@dddXZA dedRed!ede e(dd e e(dd#ed$ed%eddWfdYZB dbde dZd e dZd#edGe d&de eCef d[ZDd\e defd]ZEdfd^ZFy)gr]rNrrrrrrc|Sror)xs rhrzBaseModel.FsQrjrrVrFrrPrrr__fields_set__)rsrdatarcc t|j|\}}}|r| t|d|t|d||j y#t$r}td|d}~wwxYw)z Create a new model by parsing and validating input data from keyword arguments. Raises ValidationError if the input data cannot be parsed to form a valid model. rszYModel values must be a dict; you may not have returned a dictionary from a root validatorNr)r`rqobject_setattrr_init_private_attributes)__pydantic_self__rrt fields_setvalidation_errores rhrzBaseModel.__init__Rs|0>>O>Y>Y[_/`, , " "  ,j& A (*:JG224  k  s A A% A  A%cb||jvs|tvr t|||S|jjt j ur4||jvr&td|jjd|d|jjr|jjr#td|jjd||jvr?|j|jr&td|jjd|d|jjrLi|j ||i}|j"D]} ||j|}|jj-|d}|r|j.jstd|j0d|j j3Dcic]\}}||k7s ||} }}|j5|| ||j\}} | rt'| g|j|||<g} |j6D]\} }| r| r ||j|} | rt'| |jt|d |n||j |<|j:j=|y#ttt$f$r+}t't)|t*g|jd}~wwxYwcc}}w#ttt$f$r*}| j9t)|t*Yd}~d}~wwxYw) N"z" object has no field "z3" is immutable and does not support item assignmentz " object "z2" field is final and does not support reassignmentlocz8" has allow_mutation set to False and cannot be assignedrrrs)rrBrrextrar!allowrrgrqrallow_mutationrkrfinalvalidate_assignmentrsrAssertionErrorr%r$rCrrrrvalidaterappendrr) rrr new_values validatorexc known_fieldkrdict_without_original_valueerror_errorsskip_on_failures rh __setattr__zBaseModel.__setattr__es 4.. .$:K2K!$e4 4 ??  3DOO8Sq!8!8 99PQUPVVWXY Y//4??3I3Ia 7 788klm m T__ $)>)D)DDNN++,Jtf>:!FJ ] //--dD9K #--<<#a (8(8'99q$rss@D @S@S@U.c1YZ^bYbq!t.c+.c + 4 4U>:!FJ  C%fdnn== 4Z 8"'DMM$  %G#I~>])<+J*KT^^\\]/d#I~>CMM,s"ABBCs<J( K* K*K0(K'<&K""K'0L. L))L.cfdjD}jj|Dcic]\}}|tus||c}}dScc}}w)Nc3DK|]}|t|tfywro)rr/)rrrs rhrz)BaseModel.__getstate__..s_a!WT1i89_s )rsr__private_attribute_values__)rrsrr/)r private_attrsrrs` rh __getstate__zBaseModel.__getstate__sQ_4C^C^_  "11>K,bdaqXaOaQT,b  -cs A A ct|d|dt|d|d|jdijD]\}}t|||y)Nrsrr')rrr)rstaterrs rh __setstate__zBaseModel.__setstate__sZtZz):;t-u5E/FG 99%CRHNNP .KD% 4u - .rjc|jjD]+\}}|j}|tust |||-yro)rr get_defaultr/r)rr private_attrrs rhr z"BaseModel._init_private_attributessG"&"="="C"C"E 4 D,"..0Gi'tT73 4rj)rrby_alias skip_defaults exclude_unsetexclude_defaults exclude_noner)rSrXrr0r1r2r3r4rWc |3tj|jjdt|}t |j d||||||S)z Generate a dictionary representation of the model, optionally specifying which fields to include or exclude. zF.dict(): "skip_defaults" is deprecated and replaced by "exclude_unset"Tto_dictr0rrr2r3r4)warningswarnrqrDeprecationWarningdict_iter)rrrr0r1r2r3r4s rhr;zBaseModel.dictsi  $ MM>>**++qr" *M JJ!+!1)    rjT) rrr0r1r2r3r4encodermodels_as_dictr=r> dumps_kwargsc n|3tj|jjdt|}t t tgtf|xs |j}t|j| ||||||} |jr | t} |jj| fd|i| S)z Generate a JSON representation of the model, `include` and `exclude` arguments as per `dict()`. `encoder` is an optional function to supply as `default` to json.dumps(), other arguments as per `json.dumps()`. zF.json(): "skip_defaults" is deprecated and replaced by "exclude_unset"r6r)r8r9rqrr:rrr rr;r<rrCr json_dumps) rrrr0r1r2r3r4r=r>r?rs rhjsonzBaseModel.jsons&  $ MM>>**++qr" *Mxs +W-M8M8MN  JJ&!+!1)      $ $>D)t))$PP<PPrjrc(|jrt|tr|jthk(s2t|t rE|j jthk(r#|j tjtvrt|iS|Sro) rrr;rrCr]rshaper*rrs rh_enforce_dict_if_rootzBaseModel._enforce_dict_if_rootsk  # #C&388:(+CY/CNN4G4G4IhZ4W~~h'--1DDc? "Jrjrr\c0|j|}t|ts t|}|di|S#ttf$rP}t|j d|j j }tt|tg||d}~wwxYw)Nz expected dict not rr) rFrr;rrgrrqr%r$rC)rrr rs rh parse_objzBaseModel.parse_obj s'',#t$ U3izSzz* U3<<.0CCMMDZDZC[ \]%|CX'F&GMSTT Us 6BA BButf8) content_typeencodingproto allow_picklebrJrKrLrMc t||||||jj}|j|S#ttt f$r!}t t|tg|d}~wwxYw)NrLrJrKrM json_loadsr) r5rrQrgrUnicodeDecodeErrorr%r$rCrH)rrNrJrKrLrMrr s rh parse_rawzBaseModel.parse_rawsr H )!)>>44 C}}S!!I'9: H!<x#@"A3G G Hs%8A- A((A-pathcnt||||||jj}|j|S)NrP)r4rrQrH)rrTrJrKrLrMrs rh parse_filezBaseModel.parse_file-s; %%~~00  }}S!!rjc0|jjs td|jrt|in|j |}|j |}t||\}}}|r|t|d|t|d||j|S)Nz@You must have the config attribute orm_mode=True to use from_ormrsr) rorm_moder&rrC_decompose_classrr`rr )rrmrtr r s rhfrom_ormzBaseModel.from_ormAs~~&&`a a!$!9!9xos?S?STW?X KK /=c3/G, , " "q*f-q*J7 ""$rj _fields_setrZrtc |j|}i}|jjD]_\}}|jr!|j|vr||j||<3||vr ||||<@|j rM|j ||<a|j|t|d||t|j}t|d||j|S)a Creates a new model setting __dict__ and __fields_set__ from trusted or pre-validated data. Default values are respected, but no other validation is performed. Behaves as if `Config.extra = 'allow'` was set since it adds all passed values rsr) rrr alt_aliasaliasrequiredr.rrrrr )rr\rtrZ fields_valuesrrs rh constructzBaseModel.constructOs KK (* >>//1 :KD%5;;&,U[[&9 d#&,Tl d#^^&+&7&7&9 d#  : V$q*m4  fkkm,Kq*K8 ""$rjrr deepc|r t|}|j}|j|}t|d|t|d||jD]6}t ||t }|t us|r t|}t|||8|S)Nrsr)rrqrrrrr/)rrtr rcrrZrrs rh_copy_and_set_valueszBaseModel._copy_and_set_valuesgs f%Fnn KK q*f-q*J7// /DD$ 2EI%$UOEq$.  /rj)rrrrcrc t|jdd||dfi|xsi}|r|j|jz}nt |j}|j |||S)a Duplicate a model, optionally choose which fields to include, exclude and change. :param include: fields to include in new model :param exclude: fields to exclude from new model, as with values this takes precedence over include :param update: values to change/add in the new model. Note: the data is not validated before creating the new model: you should trust this data :param deep: set to `True` to make a deep copy of the model :return: new model instance F)r7r0rrr2rc)r;r<rrrre)rrrrrcrtr s rhcopyzBaseModel.copyyst& JJuugwfkJ l |  ,,v{{}rcnoneshallowzJ`copy_on_model_validation` should be a string: 'deep', 'shallow' or 'none'FrvrcTrgr)rrcopy_on_model_validationr8r9r:rersrrFr;rXr[rrgr')rrrw deep_copy value_as_dictr s rhrzBaseModel.validates eS !'*~~'N'N $(,I'/JJ `bt, %I'94! )V3   11%..%BVBV]f1gg))%0 eT "<<  ^^ $ $<<& & ) $U '' 'z* )kq( )s C&&D5 DDc\t|tr|S|jj|Sro)rrEr getter_dictrEs rhrYzBaseModel._decompose_classs& c: &J~~))#..rjrr7c J t|tr?r*|j||} t| vr | tS| S|j ||S|r t ||nd |r t ||ndt|tr|j D cic]k\} } r j| sSrj| r@| j| xrj|  xr j| mc} } St|rP fdt|D} t|jr|j| S|j| St|tr#t!j"ddr |j$S|Scc} } w)N)r0r2r3rrr4)rrr7r0r2r3rrr4c 3K|]l\}} r j|sT r j|rAj| xr j| xr j|nyw)r}N) is_excluded is_included _get_value for_element) riv_r0rr3r4r2r7 value_exclude value_includes rhrz'BaseModel._get_value..sAr%]-F-Fq-I&-*C*CA*F#%"/%5)Jm.G.G.J)Jm.G.G.J!- sA2A5use_enum_valuesF)rr]r;rCrhrGrrrrrrL enumerater>rqrrrr)rrr7r0rrr2r3r4v_dictk_rseq_argsrrs` `` ``` @@rhrzBaseModel._get_values a #%"/%5##!-  v%!(++ vvgwv??29 1g.t 29 1g.t a  ggiB%]-F-Fr-J&-*C*CB*GCNN#%"/%5)Km.G.G.K)Km.G.G.K!-#    1 'q\H .;1;;-G;1;;) bQ[[YaMb b 4 WSZZ9JE%R77NHOsA0Flocalnsc t||jj|jj|t fy)z{ Same as update_forward_refs but will not raise exception when forward references are not defined. N)rArrtrrrrrs rhrz%BaseModel.__try_update_forward_refs__'s0 "#s~~'<'<'>@\@\^ehqgstrjc xt||jj|jj|y)z` Try to update ForwardRefs on fields based on this Model, globalns and localns. N)rArrtrrrs rhupdate_forward_refszBaseModel.update_forward_refs/s* "#s~~'<'<'>@\@\^efrjr[c#TK|jjEd{y7w)z( so `dict(model)` works N)rsr)rs rh__iter__zBaseModel.__iter__6s==&&(((s (&(c #ZK| |j tj|j|}| |j"tj|j|d}|j |||}|-|s+|s)|s'|s%|s#|j j Ed{y| t||nd} | t||nd} |j j D]\} } || |vs|r| |r=|jj| } t| ddst| dt| k(rP|r(| |jvr|j| j}n| }|s| s| r?|j| ||| xr| j| | xr| j| |||} || fy7 w)NT) intersect)rrr2r`rr6)rrGmerger_calculate_keysrsrrrr_missingr_rr)rr7r0rrr2r3r4 allowed_keysrr field_keyr model_fielddict_keys rhr<zBaseModel._iter<s  $"9"9"E &&t'>'>HG  $"9"9"E &&t'>'>SWXG++WM,   H Qaeq}}**, , , 5<5H 41d 5<5H 41d  MM//1 LIq(Yl-JP\abaj"oo11)< {J='+W`bjBkopBpI8??95;;$-=OO#%)Rm.G.G .R)Rm.G.G .R"/%5!-$ A+ 3  -sBF+F(D F+rXcb|||dury|r|jj}n|jj}|||jz}|r||jz}|r<||j Dchc]\}}t j |s|c}}z}|Scc}}w)NF)rrhrsrrrGis_true)rrrr2rrrrs rhrzBaseModel._calculate_keysts ?w=E3I &&++-D==%%'D   GLLN "D  FKKM !D  7==?L41aj6H6H6KQL LD Ms B+B+otherct|tr!|j|jk(S|j|k(Sro)rr]r;)rrs rh__eq__zBaseModel.__eq__s4 eY '99;%**,. .99;%' 'rjc|jjDcgc]B\}}|tvr5||jvs#|j|jj r||fDc}}Scc}}wro)rsrrBrrrepr)rrrs rh __repr_args__zBaseModel.__repr_args__se ++- 1))q/G4??[\K]KhKhKmKmF   sAA))rcrV)r+rVrcN)rcNro)rcrU)rcr[)FFNNFFF)rcrY)Grrrr rrrrr,rrrrr rrr:rrrr rrrrrrr-rZrrrr__doc__rrr$r)r,r rr;rB classmethodrFrHr9r3rSrrVr[rbrerhr6rnrqrsrrErYrrrrr<r rrrrrjrhr]r]<s68 HT#z/238DHHXgc3h.?%@AHDHHXgc3h.?%@AH;=c;&6!78=!)${*;!<<"*4dK6G0H+I"JJ1; HT*-.;;F(8SE3J#78F02(9-2/4htn4 ,, (c3C.C)D EE ((+.5(0 F.IG5C5D5&5&5&n . 4MQLP(,#!&"  % GHI  % GHI     ~           JMQLP(,#!&"26#+Q% GHI+Q% GHI +Q  +Q  ~ +Q+Q+Q+Q(C5#:./+Q+Q+Q +QZtG}37 !"" ']" " "  "  "" "", !"" ']"CI" "  "  "" ""& d7m # '  tG}8H3EX[`g.7Lhaejq*MQLP)- HH% GHIH% GHI H & H  H H@%)?SdXd!%;O  58 ad   $(d7m$(C$(G$($(L/d7m/#/*// F FF F % GHI F % GHI FFFF FFPuCuDuugCgDgg )LPLP#!&"666% GHI 6 % GHI 6  666 6z*. ,-,-  &  +c" # 6(C(D(  rj) metaclass)r__base__rr__cls_kwargs__ __model_namerrrrrTrfield_definitionsc yrorrrrrrrrs rhr_r_rj)rrrrc yrorrs rhr_r_rrj)rrrrrrrc |tjdt|!| tdt |t s|f}nt tdtf}|xsi}i}i} |jD]U\} } t| stjd| dtt | t r | \} } nd| } } | r| | | <| || <W| |d}|r|j||j||rt|t|d <t|}t!||| \}}}||ur||d <|j|||||fi|S#t$r}td|d}~wwxYw) a Dynamically create a model. :param __model_name: name of the created model :param __config__: config class to use for the new model :param __base__: base class for the new model to inherit from :param __module__: module of the created model :param __validators__: a dict of method names and @validator class methods :param __cls_kwargs__: a dict for class creation :param __slots__: Deprecated, `__slots__` should not be passed to `create_model` :param field_definitions: fields of the model (or extra fields if a base is supplied) in the format `=(, )` or `=, e.g. `foobar=(str, ...)` or `foobar=123`, or, for complex use-cases, in the format `=` or `=(, )`, e.g. `foo=Field(datetime, default_factory=datetime.utcnow, alias='bar')` or `foo=(str, FieldInfo(title='Foo'))` Nz.__slots__ should not be passed to create_modelzBto avoid confusion __config__ and __base__ cannot be used togetherr\z3fields may not start with an underscore, ignoring "rzfield definitions should either be a tuple of (, ) or just a default value, unfortunately this means tuples as default values are not allowed)rrr)kwds__orig_bases__)r8r9RuntimeWarningr&rrrrrr]rrIrgrr"r r r )rrrrrrrrrbrf_namef_def f_annotationf_valuer rresolved_basesmetansrs rhr_r_s6 FW  !bc c(E* {Hg 24#)rN FK*002! f% MMOPVxWXY[i j eU # (-% g%)%'L ".K  v#!&3>ZXI( V,ZD ("8,N"<nUND"dX%'  R  ni @4 @@1 !5  s2E  E$ EE$model input_datarWrrRrZc i}g}t}t}|j}|jtju}|xs|} |j D] } | | |}|jjD]\} } |j| jt }d}|t ur:|j"r.| j$r"|j| j&t }d}|t uri| j(r/|j+tt-| j| j/}|j0sN| j2sB||| <|j5| |r)|j5|r | j&n | j| j7||| j| \}}t9|tr|j+|]t9|t:r|j=|||| <|rt9|t>r|jA|z }n|jC|z }|re||z}|jtjDur|D] }||||< n4tG|D]&}|j+ttI|(|jJD]\}} |r|r | | |}|r||t|| fS||dfS#t ttf$r3} ittt| tg| fcYd} ~ cSd} ~ wwxYw#t ttf$r*} |j+t| tYd} ~ d} ~ wwxYw)z( validate data against a model. rNFTr)&rrrr!ignorerrgrrr%r$rCrrrr_rallow_population_by_field_namer^rr`rr)r. validate_allvalidate_alwaysrrrlistextendrE extra_keysrrsortedr(r)rrrrtr" names_usedr r check_extracls_rrrrr using_namererrors_rrr#s rhr`r` s F FJJ   F,,ell2K <%D22W  W"44JW ''--/ eu{{H5 H !F!F5??NN5::x8EJ H ~~ l<>u{{KL%%'E&&u/D/D$t  NN4 ZuzzU[[InnUF nN G g| , MM' "  & MM' "F4L9< j* -))+j8EOO% 2E  % J||u{{*.A *1 F1I. EAMM,z|"CDE',&D&D;" v  ;tV,F ;z?64#@@@z4''uI~6 Wsuo|CX/N.OQUVV V WhI~6 ; MM,s9 : : ;s6 K< L'L$1&LL$L$'M%; M  M%ro)r8abcrrhrenumr functoolsrpathlibrtypesrr r typingr r r rrrrrrrrrrrrrtyping_extensionsrpydantic.v1.class_validatorsrrrrpydantic.v1.configr r!r"r#pydantic.v1.error_wrappersr$r%pydantic.v1.errorsr&r'r(r)pydantic.v1.fieldsr*r+r,r-r.r/r0rpr1r2pydantic.v1.parser3r4r5pydantic.v1.schemar6r7pydantic.v1.typesr8r9pydantic.v1.typingr:r;r<r=r>r?r@rApydantic.v1.utilsrBrCrDrErFrGrHrIrJrKrLrMrNrOinspectrPrQrRrSrTrUrVrWrXrYrZr[r\__all__rarrirrvrwpropertytyperrrxrryrr}objectr$rr]rr_rr`rrjrhrs<<&2xxPPDOOGAAA0   "!>+    G; /E 7 T]Jd3 ?&;JJ -4-HXseSj5I,J-5=dKQ]3^sCx^$0?5T#TsCxT %TUHE}eW}eF}e@##^  .^  B $ .226%)  j)*     ../ cN   +    .226%)  j)* DM5g);#<<=    ../ cN   ']    .2FJ26%)+/JAJAj)*JAD$w-tG}c/A)BBC JA  JA ../ JAcNJAc3h(JAJA ']JAZ 8JNM(  ?M((4M(;FM( <8O#< <=M(rj