Coverage for sqlmodel / _compat.py: 94%
202 statements
« prev ^ index » next coverage.py v7.13.0, created at 2026-11-09 00:02 +0000
« prev ^ index » next coverage.py v7.13.0, created at 2026-11-09 00:02 +0000
1import sys 1defagbhic
2import types 1defagbhic
3from collections.abc import Generator 1defagbhic
4from contextlib import contextmanager 1defagbhic
5from contextvars import ContextVar 1defagbhic
6from dataclasses import dataclass 1defagbhic
7from typing import ( 1defagbhic
8 TYPE_CHECKING,
9 Annotated,
10 Any,
11 ForwardRef,
12 TypeAlias,
13 TypeVar,
14 Union,
15 cast,
16 get_args,
17 get_origin,
18)
20from annotated_types import MaxLen 1defagbhic
21from pydantic import VERSION as P_VERSION 1defagbhic
22from pydantic import AwareDatetime, BaseModel, NaiveDatetime 1defagbhic
23from pydantic import ConfigDict as ConfigDict 1defagbhic
24from pydantic._internal._fields import PydanticMetadata 1defagbhic
25from pydantic._internal._model_construction import ModelMetaclass as ModelMetaclass 1defagbhic
26from pydantic._internal._repr import Representation as Representation 1defagbhic
27from pydantic.fields import FieldInfo 1defagbhic
28from pydantic_core import PydanticUndefined as Undefined 1defagbhic
29from pydantic_core import PydanticUndefinedType as PydanticUndefinedType 1defagbhic
31BaseConfig = ConfigDict 1defagbhic
32UndefinedType = PydanticUndefinedType 1defagbhic
33PYDANTIC_MINOR_VERSION = tuple(int(i) for i in P_VERSION.split(".")[:2]) 1defagbhic
36if TYPE_CHECKING: 1defagbhic
37 from .main import RelationshipInfo, SQLModel
39UnionType = getattr(types, "UnionType", Union) 1defagbhic
40NoneType = type(None) 1defagbhic
41T = TypeVar("T") 1defagbhic
42InstanceOrType: TypeAlias = T | type[T] 1defagbhic
43_TSQLModel = TypeVar("_TSQLModel", bound="SQLModel") 1defagbhic
46class FakeMetadata: 1defagbhic
47 max_length: int | None = None 1defagbhic
48 max_digits: int | None = None 1defagbhic
49 decimal_places: int | None = None 1defagbhic
52@dataclass 1defagbhic
53class ObjectWithUpdateWrapper: 1defagbhic
54 obj: Any 1defagbhic
55 update: dict[str, Any] 1defagbhic
57 def __getattribute__(self, __name: str) -> Any: 1defagbhic
58 update = super().__getattribute__("update") 2ddedfdgdhdidjdkdld
59 obj = super().__getattribute__("obj") 2ddedfdgdhdidjdkdld
60 if __name in update: 2ddedfdgdhdidjdkdld
61 return update[__name] 2ddedfdgdhdidjdkdld
62 return getattr(obj, __name) 2ddedfdgdhdidjdkdld
65def _is_union_type(t: Any) -> bool: 1defagbhic
66 return t is UnionType or t is Union 2d (btb@e[eN XbYc]e^emdfc_e`eubZcnd{eO P nbm Q R S =lYbGc?lxcT U vbSlTlUle )bwb|e}eV Zb0c~eafodgcbfcfxb1cpddfW X obn Y Z 0 @l0bHc[lyc1 2 ybVlWlXlf *bzbefff3 1b2cgfhfqdhcifjfAb3crdkf4 5 pbo 6 7 8 ]l2bIc^lzc9 ! BbYlZl0la Ub# 4c5cp LbMc6c7cSc@b8c9c$ NcTc!c% ' K j q r s PfMbDcQfuct u ( GfHfIfg +bCblfmf) 3b#cnfofsdicpfqfDb$ctdrf* + qbv , - . _l4bJc`lAc/ : Eb1l2l3lb Vb; %c'cw NbOc(c)cUc[b*c+c= PcVc,c? @ L k x y z RfObEcSfvcA B [ JfKfLfh ,bFbsftf] 5b-cufvfudjcwfxfGb.cvdyf^ _ rbC ` { | {l6bKc|lBc} ~ Hb4l5l6li -bIbzfAfab7b/cBfCfwdkcDfEfJb:cxdFfbbcbsbD dbebfb}l8bLc~lCcgbhbKb7l8l9lc Wbib;c=cE PbQc?c@cWc]b[c]cjbRcXc^ckblbM l F G H TfQbFcUfwcI J mbMfNfOf
69finish_init: ContextVar[bool] = ContextVar("finish_init", default=True) 1defagbhic
72@contextmanager 1defagbhic
73def partial_init() -> Generator[None, None, None]: 1defagbhic
74 token = finish_init.set(False) 25m6m7m8m9m!m#mPolcQoXbfc$m%m'm(m)m*mam+m,m-m.mrlbmslcmdd/m:m;m=m?m@m[mRomcSoZbgc]m^m_m`m{m|mdm}m~manbntlemulfmedcndnenfngnhninToncUo1bhcjnknlnmnnnongmpnqnrnsnvlhmwlimfdtnunvnwnxnynznVoocWoLb@bAnBnCnDnEnFnjmGnHnInJnxlkmyllmgdKnLnMnNnOnPnQnXopcYo3bicRnSnTnUnVnWnmmXnYnZn0nzlnmAlomhd1n2n3n4n5n6n7nZoqc0oNb[b8n9n!n#n$n%npm'n(n)n*nBlqmClrmid+n,n-n.n/n:n;n1orc2o5bjc=n?n@n[n]n^nsm_n`n{n|nDltmElumjd}n~naobocodoeo3osc4o7bkcfogohoiojokovmlomonoooFlwmGlxmkdpoqorosotouovo5otc6oPb]bwoxoyozoAoBoymCoDoEoFoHlzmIlAmld
75 yield 25m6m7m8m9m!m#mPolcQoXbfc$m%m'm(m)m*mam+m,m-m.mrlbmslcmdd/m:m;m=m?m@m[mRomcSoZbgc]m^m_m`m{m|mdm}m~manbntlemulfmedcndnenfngnhninToncUo1bhcjnknlnmnnnongmpnqnrnsnvlhmwlimfdtnunvnwnxnynznVoocWoLb@bAnBnCnDnEnFnjmGnHnInJnxlkmyllmgdKnLnMnNnOnPnQnXopcYo3bicRnSnTnUnVnWnmmXnYnZn0nzlnmAlomhd1n2n3n4n5n6n7nZoqc0oNb[b8n9n!n#n$n%npm'n(n)n*nBlqmClrmid+n,n-n.n/n:n;n1orc2o5bjc=n?n@n[n]n^nsm_n`n{n|nDltmElumjd}n~naobocodoeo3osc4o7bkcfogohoiojokovmlomonoooFlwmGlxmkdpoqorosotouovo5otc6oPb]bwoxoyozoAoBoymCoDoEoFoHlzmIlAmld
76 finish_init.reset(token) 25m6m7m8m9m!m#mPolcQoXbfc$m%m'm(m)m*mam+m,m-m.mrlbmslcmdd/m:m;m=m?m@m[mRomcSoZbgc]m^m_m`m{m|mdm}m~manbntlemulfmedcndnenfngnhninToncUo1bhcjnknlnmnnnongmpnqnrnsnvlhmwlimfdtnunvnwnxnynznVoocWoLb@bAnBnCnDnEnFnjmGnHnInJnxlkmyllmgdKnLnMnNnOnPnQnXopcYo3bicRnSnTnUnVnWnmmXnYnZn0nzlnmAlomhd1n2n3n4n5n6n7nZoqc0oNb[b8n9n!n#n$n%npm'n(n)n*nBlqmClrmid+n,n-n.n/n:n;n1orc2o5bjc=n?n@n[n]n^nsm_n`n{n|nDltmElumjd}n~naobocodoeo3osc4o7bkcfogohoiojokovmlomonoooFlwmGlxmkdpoqorosotouovo5otc6oPb]bwoxoyozoAoBoymCoDoEoFoHlzmIlAmld
79class SQLModelConfig(BaseConfig, total=False): 1defagbhic
80 table: bool | None 1defagbhic
81 registry: Any | None 1defagbhic
84def get_model_fields(model: InstanceOrType[BaseModel]) -> dict[str, "FieldInfo"]: 1defagbhic
85 # TODO: refactor the usage of this function to always pass the class
86 # not the instance, and then remove this extra check
87 # this is for compatibility with Pydantic v3
88 if isinstance(model, type): 2d _c(btb@e[eN XbYc]e^emdfc_e`eubBmCmZcnd{e1r2r3rDmO P nb^b_bEmm Q R S =lYbGc?lxcT U FmvbSlTlUlamrlbmslcmdd9be `c)bwb|e}eV Zb0c~eafodgcbfcfxbGmHm1cpddf4r5r6rImW X ob`b{bJmn Y Z 0 @l0bHc[lyc1 2 KmybVlWlXldmtlemulfmed!bf {c*bzbefff3 1b2cgfhfqdhcifjfAbLmMm3crdkf7r8r9rNm4 5 pb|b}bOmo 6 7 8 ]l2bIc^lzc9 ! PmBbYlZl0lgmvlhmwlimfd#ba |cUb# 4c5cp LbMc6c7cSc@b8c9c$ !l#lNcTc!cLqMqNq$l% ' K .b/b%lj q r s PfMbDcQfuct u 'l( GfHfIfjmxlkmyllmgdRbg }c+bCblfmf) 3b#cnfofsdicpfqfDbQmRm$ctdrf!r#r$rSm* + qb~bacTmv , - . _l4bJc`lAc/ : UmEb1l2l3lmmzlnmAlomhd$bb ~cVb; %c'cw NbOc(c)cUc[b*c+c= (l)lPcVc,cOqPqQq*l? @ L :b;b+lk x y z RfObEcSfvcA B ,l[ JfKfLfpmBlqmClrmidSbh ad,bFbsftf] 5b-cufvfudjcwfxfGbVmWm.cvdyf%r'r(rXm^ _ rbbcccYmC ` { | {l6bKc|lBc} ~ ZmHb4l5l6lsmDltmElumjd%bi bd-bIbzfAfab7b/cBfCfwdkcDfEfJb0m1m:cxdFf)r*r+r2mbbcbsbdcec3mD dbebfb}l8bLc~lCcgbhb4mKb7l8l9lvmFlwmGlxmkd'bc cdWbib;c=cE PbQc?c@cWc]b[c]cjb-l.lRcXc^cRqSqTq/lkblbM =b?b:ll F G H TfQbFcUfwcI J ;lmbMfNfOfymHlzmIlAmldTb
89 use_model = model 2d (btb@e[eN XbYc]e^emdfc_e`eubBmCmZcnd{e1r2r3rDmO P nb^b_bEmm Q R S =lYbGc?lxcT U FmvbSlTlUl9be )bwb|e}eV Zb0c~eafodgcbfcfxbGmHm1cpddf4r5r6rImW X ob`b{bJmn Y Z 0 @l0bHc[lyc1 2 KmybVlWlXl!bf *bzbefff3 1b2cgfhfqdhcifjfAbLmMm3crdkf7r8r9rNm4 5 pb|b}bOmo 6 7 8 ]l2bIc^lzc9 ! PmBbYlZl0l#ba Ub# 4c5cp LbMc6c7cSc@b8c9c$ !l#lNcTc!cLqMqNq$l% ' K .b/b%lj q r s PfMbDcQfuct u 'l( GfHfIfRbg +bCblfmf) 3b#cnfofsdicpfqfDbQmRm$ctdrf!r#r$rSm* + qb~bacTmv , - . _l4bJc`lAc/ : UmEb1l2l3l$bb Vb; %c'cw NbOc(c)cUc[b*c+c= (l)lPcVc,cOqPqQq*l? @ L :b;b+lk x y z RfObEcSfvcA B ,l[ JfKfLfSbh ,bFbsftf] 5b-cufvfudjcwfxfGbVmWm.cvdyf%r'r(rXm^ _ rbbcccYmC ` { | {l6bKc|lBc} ~ ZmHb4l5l6l%bi -bIbzfAfab7b/cBfCfwdkcDfEfJb0m1m:cxdFf)r*r+r2mbbcbsbdcec3mD dbebfb}l8bLc~lCcgbhb4mKb7l8l9l'bc Wbib;c=cE PbQc?c@cWc]b[c]cjb-l.lRcXc^cRqSqTq/lkblbM =b?b:ll F G H TfQbFcUfwcI J ;lmbMfNfOfTb
90 else:
91 use_model = model.__class__ 2_camrlbmslcmdd9b`cdmtlemulfmed!b{cgmvlhmwlimfd#b|cjmxlkmyllmgdRb}cmmzlnmAlomhd$b~cpmBlqmClrmidSbadsmDltmElumjd%bbdvmFlwmGlxmkd'bcdymHlzmIlAmldTb
92 return use_model.model_fields 2d _c(btb@e[eN XbYc]e^emdfc_e`eubBmCmZcnd{e1r2r3rDmO P nb^b_bEmm Q R S =lYbGc?lxcT U FmvbSlTlUlamrlbmslcmdd9be `c)bwb|e}eV Zb0c~eafodgcbfcfxbGmHm1cpddf4r5r6rImW X ob`b{bJmn Y Z 0 @l0bHc[lyc1 2 KmybVlWlXldmtlemulfmed!bf {c*bzbefff3 1b2cgfhfqdhcifjfAbLmMm3crdkf7r8r9rNm4 5 pb|b}bOmo 6 7 8 ]l2bIc^lzc9 ! PmBbYlZl0lgmvlhmwlimfd#ba |cUb# 4c5cp LbMc6c7cSc@b8c9c$ !l#lNcTc!cLqMqNq$l% ' K .b/b%lj q r s PfMbDcQfuct u 'l( GfHfIfjmxlkmyllmgdRbg }c+bCblfmf) 3b#cnfofsdicpfqfDbQmRm$ctdrf!r#r$rSm* + qb~bacTmv , - . _l4bJc`lAc/ : UmEb1l2l3lmmzlnmAlomhd$bb ~cVb; %c'cw NbOc(c)cUc[b*c+c= (l)lPcVc,cOqPqQq*l? @ L :b;b+lk x y z RfObEcSfvcA B ,l[ JfKfLfpmBlqmClrmidSbh ad,bFbsftf] 5b-cufvfudjcwfxfGbVmWm.cvdyf%r'r(rXm^ _ rbbcccYmC ` { | {l6bKc|lBc} ~ ZmHb4l5l6lsmDltmElumjd%bi bd-bIbzfAfab7b/cBfCfwdkcDfEfJb0m1m:cxdFf)r*r+r2mbbcbsbdcec3mD dbebfb}l8bLc~lCcgbhb4mKb7l8l9lvmFlwmGlxmkd'bc cdWbib;c=cE PbQc?c@cWc]b[c]cjb-l.lRcXc^cRqSqTq/lkblbM =b?b:ll F G H TfQbFcUfwcI J ;lmbMfNfOfymHlzmIlAmldTb
95def init_pydantic_private_attrs(new_object: InstanceOrType["SQLModel"]) -> None: 1defagbhic
96 object.__setattr__(new_object, "__pydantic_fields_set__", set()) 20q5m,r-rVfWfXf_c6m7m8m9m!m#mJlPolcQoYfZf0f_o`o'p{o1q2q.r3q4q5q6q7q(p|o8q(btb)pN XbYcfcub9q/oyp*pO P nbUq^b_bm Q R S Yb+p,pJo-p.p/p:pT U vb1fydzd2f3f4f5f6f7f8f9f!f#f$m%m'm(m)m*mam+m,m-m.mrl$fbm%fslcmdd'f(f)f*f+f,f-f.f/fAdBdCd:f;f=f?f@f[f]f^f_fDdEdFdGdHdIdJdKdLdMdNd`f{f|f}f~fagbgcgdgegfggghgigjgkglgmgng9b}o!q/m/r:rogpgqg`c:m;m=m?m@m[mKlRomcSorgsgtg~oap;pbp#q$q;r%q'q(q)q*q=pcp+q)bwb?pV Zb0cgcxb,q:ozp@pW X obVq`b{bn Y Z 0 0b[p]pKo^p_p`p{p1 2 ybugOdPdvgwgxgygzgAgBgCgDgEg]m^m_m`m{m|mdm}m~manbntlFgemGgulfmedHgIgJgKgLgMgNgOgPgQdRdSdQgRgSgTgUgVgWgXgYgTdUdVdWdXdYdZd0d1d2d3dZg0g1g2g3g4g5g6g7g8g9g!g#g$g%g'g(g)g*g!bdp-qcn=r?r+g,g-g{cdnenfngnhninLlToncUo.g/g:gepfp|pgp.q/q@r:q;q=q?q@q}php[q*bzb~p3 1b2chcAb]q;oApaq4 5 pbWq|b}bo 6 7 8 2bbqcqLodqeqfqgq9 ! Bb;g4d5d=g?g@g[g]g^g_g`g{g|gjnknlnmnnnongmpnqnrnsnvl}ghm~gwlimfdahbhchdhehfhghhhih6d7d8djhkhlhmhnhohphqhrh9d!d#d$d%d'd(d)d*d+d,dshthuhvhwhxhyhzhAhBhChDhEhFhGhHhIhJhKh#bip^qtn[r]rLhMhNh|cunvnwnxnynznMlVoocWoOhPhQh7o8oHp9o_q`q^r{q|q}q~qarIp!obrUb# Jpp LbMc@b$ cr=oBpKp% ' K #p.b/bj q r s MbLpMpGoNpOpPpQpt u ( Rh-d.dShThUhVhWhXhYhZh0h1hAnBnCnDnEnFnjmGnHnInJnxl2hkm3hyllmgd4h5h6h7h8h9h!h#h$h/d:d;d%h'h(h)h*h+h,h-h.h=d?d@d[d]d^d_d`d{d|d}d/h:h;h=h?h@h[h]h^h_h`h{h|h}h~haibicidiRb#odrKn_r`reifigi}cLnMnNnOnPnQnNlXopcYohiiijijpkphqlperfr{rgrhrirjrkriqmplr+bCbjq) 3b#cicDbmr?oCpkq* + qbXq~bacv , - . 4blqmqMonqoqpqqq/ : Ebki~daeliminioipiqirisitiuiRnSnTnUnVnWnmmXnYnZn0nzlvinmwiAlomhdxiyiziAiBiCiDiEiFibecedeGiHiIiJiKiLiMiNiOieefegeheiejekelemeneoePiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i$bnpnr1n|r}r8i9i!i~c2n3n4n5n6n7nOlZoqc0o#i$i%i$o%oRp'oorpr~rqrrrsrtrurSp(ovrVb; Tpw NbOc[b= wr@oDpUp? @ L $p:b;bk x y z ObVpWpHoXpYpZp0pA B [ 'ipeqe(i)i*i+i,i-i.i/i:i;i8n9n!n#n$n%npm'n(n)n*nBl=iqm?iClrmid@i[i]i^i_i`i{i|i}iresete~iajbjcjdjejfjgjhjuevewexeyezeAeBeCeDeEeijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjSb)oxr+nasbsBjCjDjad,n-n.n/n:n;nPl1orc2oEjFjGjoppprqqpyrzrcsArBrCrDrErsqrpFr,bFbtq] 5b-cjcGbGr[oEpuq^ _ rbYqbcccC ` { | 6bvqwqNoxqyqzqAq} ~ HbHjFeGeIjJjKjLjMjNjOjPjQjRj=n?n@n[n]n^nsm_n`n{n|nDlSjtmTjElumjdUjVjWjXjYjZj0j1j2jHeIeJe3j4j5j6j7j8j9j!j#jKeLeMeNeOePeQeReSeTeUe$j%j'j(j)j*j+j,j-j.j/j:j;j=j?j@j[j]j^j%bspHr}ndses_j`j{jbd~naobocodoeoQl3osc4o|j}j~jtpupBqvpIrJrfsKrLrMrNrOrCqwpPr-bIbDqab7b/ckcJbQr]oFpEqbbcbsbZqdcecD dbebfb8bFqGqOoHqIqJqKqgbhbKbakVeWebkckdkekfkgkhkikjkkkfogohoiojokovmlomonoooFllkwmmkGlxmkdnkokpkqkrksktkukvkXeYeZewkxkykzkAkBkCkDkEk0e1e2e3e4e5e6e7e8e9e!eFkGkHkIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXk'bxpRrpogshsYkZk0kcdqorosotouovoRl5otc6o1k2k3k*o+o1p,oSrTrisUrVrWrXrYr2p-oZrWbib3pE PbQc]bjb0r^oGp4pkblbM %p=b?bl F G H Qb5p6pIo7p8p9p!pI J mb4k#e$e5k6k7k8k9k!k#k$k%k'kwoxoyozoAoBoymCoDoEoFoHl(kzm)kIlAmld*k+k,k-k.k/k:k;k=k%e'e(e?k@k[k]k^k_k`k{k|k)e*e+e,e-e.e/e:e;e=e?e}k~kalblcldlelflglhliljlklllmlnlolplqlTb.o
97 object.__setattr__(new_object, "__pydantic_extra__", None) 20q5m,r-rVfWfXf_c6m7m8m9m!m#mJlPolcQoYfZf0f_o`o'p{o1q2q.r3q4q5q6q7q(p|o8q(btb)pN XbYcfcub9q/oyp*pO P nbUq^b_bm Q R S Yb+p,pJo-p.p/p:pT U vb1fydzd2f3f4f5f6f7f8f9f!f#f$m%m'm(m)m*mam+m,m-m.mrl$fbm%fslcmdd'f(f)f*f+f,f-f.f/fAdBdCd:f;f=f?f@f[f]f^f_fDdEdFdGdHdIdJdKdLdMdNd`f{f|f}f~fagbgcgdgegfggghgigjgkglgmgng9b}o!q/m/r:rogpgqg`c:m;m=m?m@m[mKlRomcSorgsgtg~oap;pbp#q$q;r%q'q(q)q*q=pcp+q)bwb?pV Zb0cgcxb,q:ozp@pW X obVq`b{bn Y Z 0 0b[p]pKo^p_p`p{p1 2 ybugOdPdvgwgxgygzgAgBgCgDgEg]m^m_m`m{m|mdm}m~manbntlFgemGgulfmedHgIgJgKgLgMgNgOgPgQdRdSdQgRgSgTgUgVgWgXgYgTdUdVdWdXdYdZd0d1d2d3dZg0g1g2g3g4g5g6g7g8g9g!g#g$g%g'g(g)g*g!bdp-qcn=r?r+g,g-g{cdnenfngnhninLlToncUo.g/g:gepfp|pgp.q/q@r:q;q=q?q@q}php[q*bzb~p3 1b2chcAb]q;oApaq4 5 pbWq|b}bo 6 7 8 2bbqcqLodqeqfqgq9 ! Bb;g4d5d=g?g@g[g]g^g_g`g{g|gjnknlnmnnnongmpnqnrnsnvl}ghm~gwlimfdahbhchdhehfhghhhih6d7d8djhkhlhmhnhohphqhrh9d!d#d$d%d'd(d)d*d+d,dshthuhvhwhxhyhzhAhBhChDhEhFhGhHhIhJhKh#bip^qtn[r]rLhMhNh|cunvnwnxnynznMlVoocWoOhPhQh7o8oHp9o_q`q^r{q|q}q~qarIp!obrUb# Jpp LbMc@b$ cr=oBpKp% ' K #p.b/bj q r s MbLpMpGoNpOpPpQpt u ( Rh-d.dShThUhVhWhXhYhZh0h1hAnBnCnDnEnFnjmGnHnInJnxl2hkm3hyllmgd4h5h6h7h8h9h!h#h$h/d:d;d%h'h(h)h*h+h,h-h.h=d?d@d[d]d^d_d`d{d|d}d/h:h;h=h?h@h[h]h^h_h`h{h|h}h~haibicidiRb#odrKn_r`reifigi}cLnMnNnOnPnQnNlXopcYohiiijijpkphqlperfr{rgrhrirjrkriqmplr+bCbjq) 3b#cicDbmr?oCpkq* + qbXq~bacv , - . 4blqmqMonqoqpqqq/ : Ebki~daeliminioipiqirisitiuiRnSnTnUnVnWnmmXnYnZn0nzlvinmwiAlomhdxiyiziAiBiCiDiEiFibecedeGiHiIiJiKiLiMiNiOieefegeheiejekelemeneoePiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i$bnpnr1n|r}r8i9i!i~c2n3n4n5n6n7nOlZoqc0o#i$i%i$o%oRp'oorpr~rqrrrsrtrurSp(ovrVb; Tpw NbOc[b= wr@oDpUp? @ L $p:b;bk x y z ObVpWpHoXpYpZp0pA B [ 'ipeqe(i)i*i+i,i-i.i/i:i;i8n9n!n#n$n%npm'n(n)n*nBl=iqm?iClrmid@i[i]i^i_i`i{i|i}iresete~iajbjcjdjejfjgjhjuevewexeyezeAeBeCeDeEeijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjSb)oxr+nasbsBjCjDjad,n-n.n/n:n;nPl1orc2oEjFjGjoppprqqpyrzrcsArBrCrDrErsqrpFr,bFbtq] 5b-cjcGbGr[oEpuq^ _ rbYqbcccC ` { | 6bvqwqNoxqyqzqAq} ~ HbHjFeGeIjJjKjLjMjNjOjPjQjRj=n?n@n[n]n^nsm_n`n{n|nDlSjtmTjElumjdUjVjWjXjYjZj0j1j2jHeIeJe3j4j5j6j7j8j9j!j#jKeLeMeNeOePeQeReSeTeUe$j%j'j(j)j*j+j,j-j.j/j:j;j=j?j@j[j]j^j%bspHr}ndses_j`j{jbd~naobocodoeoQl3osc4o|j}j~jtpupBqvpIrJrfsKrLrMrNrOrCqwpPr-bIbDqab7b/ckcJbQr]oFpEqbbcbsbZqdcecD dbebfb8bFqGqOoHqIqJqKqgbhbKbakVeWebkckdkekfkgkhkikjkkkfogohoiojokovmlomonoooFllkwmmkGlxmkdnkokpkqkrksktkukvkXeYeZewkxkykzkAkBkCkDkEk0e1e2e3e4e5e6e7e8e9e!eFkGkHkIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXk'bxpRrpogshsYkZk0kcdqorosotouovoRl5otc6o1k2k3k*o+o1p,oSrTrisUrVrWrXrYr2p-oZrWbib3pE PbQc]bjb0r^oGp4pkblbM %p=b?bl F G H Qb5p6pIo7p8p9p!pI J mb4k#e$e5k6k7k8k9k!k#k$k%k'kwoxoyozoAoBoymCoDoEoFoHl(kzm)kIlAmld*k+k,k-k.k/k:k;k=k%e'e(e?k@k[k]k^k_k`k{k|k)e*e+e,e-e.e/e:e;e=e?e}k~kalblcldlelflglhliljlklllmlnlolplqlTb.o
98 object.__setattr__(new_object, "__pydantic_private__", None) 20q5m,r-rVfWfXf_c6m7m8m9m!m#mJlPolcQoYfZf0f_o`o'p{o1q2q.r3q4q5q6q7q(p|o8q(btb)pN XbYcfcub9q/oyp*pO P nbUq^b_bm Q R S Yb+p,pJo-p.p/p:pT U vb1fydzd2f3f4f5f6f7f8f9f!f#f$m%m'm(m)m*mam+m,m-m.mrl$fbm%fslcmdd'f(f)f*f+f,f-f.f/fAdBdCd:f;f=f?f@f[f]f^f_fDdEdFdGdHdIdJdKdLdMdNd`f{f|f}f~fagbgcgdgegfggghgigjgkglgmgng9b}o!q/m/r:rogpgqg`c:m;m=m?m@m[mKlRomcSorgsgtg~oap;pbp#q$q;r%q'q(q)q*q=pcp+q)bwb?pV Zb0cgcxb,q:ozp@pW X obVq`b{bn Y Z 0 0b[p]pKo^p_p`p{p1 2 ybugOdPdvgwgxgygzgAgBgCgDgEg]m^m_m`m{m|mdm}m~manbntlFgemGgulfmedHgIgJgKgLgMgNgOgPgQdRdSdQgRgSgTgUgVgWgXgYgTdUdVdWdXdYdZd0d1d2d3dZg0g1g2g3g4g5g6g7g8g9g!g#g$g%g'g(g)g*g!bdp-qcn=r?r+g,g-g{cdnenfngnhninLlToncUo.g/g:gepfp|pgp.q/q@r:q;q=q?q@q}php[q*bzb~p3 1b2chcAb]q;oApaq4 5 pbWq|b}bo 6 7 8 2bbqcqLodqeqfqgq9 ! Bb;g4d5d=g?g@g[g]g^g_g`g{g|gjnknlnmnnnongmpnqnrnsnvl}ghm~gwlimfdahbhchdhehfhghhhih6d7d8djhkhlhmhnhohphqhrh9d!d#d$d%d'd(d)d*d+d,dshthuhvhwhxhyhzhAhBhChDhEhFhGhHhIhJhKh#bip^qtn[r]rLhMhNh|cunvnwnxnynznMlVoocWoOhPhQh7o8oHp9o_q`q^r{q|q}q~qarIp!obrUb# Jpp LbMc@b$ cr=oBpKp% ' K #p.b/bj q r s MbLpMpGoNpOpPpQpt u ( Rh-d.dShThUhVhWhXhYhZh0h1hAnBnCnDnEnFnjmGnHnInJnxl2hkm3hyllmgd4h5h6h7h8h9h!h#h$h/d:d;d%h'h(h)h*h+h,h-h.h=d?d@d[d]d^d_d`d{d|d}d/h:h;h=h?h@h[h]h^h_h`h{h|h}h~haibicidiRb#odrKn_r`reifigi}cLnMnNnOnPnQnNlXopcYohiiijijpkphqlperfr{rgrhrirjrkriqmplr+bCbjq) 3b#cicDbmr?oCpkq* + qbXq~bacv , - . 4blqmqMonqoqpqqq/ : Ebki~daeliminioipiqirisitiuiRnSnTnUnVnWnmmXnYnZn0nzlvinmwiAlomhdxiyiziAiBiCiDiEiFibecedeGiHiIiJiKiLiMiNiOieefegeheiejekelemeneoePiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i$bnpnr1n|r}r8i9i!i~c2n3n4n5n6n7nOlZoqc0o#i$i%i$o%oRp'oorpr~rqrrrsrtrurSp(ovrVb; Tpw NbOc[b= wr@oDpUp? @ L $p:b;bk x y z ObVpWpHoXpYpZp0pA B [ 'ipeqe(i)i*i+i,i-i.i/i:i;i8n9n!n#n$n%npm'n(n)n*nBl=iqm?iClrmid@i[i]i^i_i`i{i|i}iresete~iajbjcjdjejfjgjhjuevewexeyezeAeBeCeDeEeijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjSb)oxr+nasbsBjCjDjad,n-n.n/n:n;nPl1orc2oEjFjGjoppprqqpyrzrcsArBrCrDrErsqrpFr,bFbtq] 5b-cjcGbGr[oEpuq^ _ rbYqbcccC ` { | 6bvqwqNoxqyqzqAq} ~ HbHjFeGeIjJjKjLjMjNjOjPjQjRj=n?n@n[n]n^nsm_n`n{n|nDlSjtmTjElumjdUjVjWjXjYjZj0j1j2jHeIeJe3j4j5j6j7j8j9j!j#jKeLeMeNeOePeQeReSeTeUe$j%j'j(j)j*j+j,j-j.j/j:j;j=j?j@j[j]j^j%bspHr}ndses_j`j{jbd~naobocodoeoQl3osc4o|j}j~jtpupBqvpIrJrfsKrLrMrNrOrCqwpPr-bIbDqab7b/ckcJbQr]oFpEqbbcbsbZqdcecD dbebfb8bFqGqOoHqIqJqKqgbhbKbakVeWebkckdkekfkgkhkikjkkkfogohoiojokovmlomonoooFllkwmmkGlxmkdnkokpkqkrksktkukvkXeYeZewkxkykzkAkBkCkDkEk0e1e2e3e4e5e6e7e8e9e!eFkGkHkIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXk'bxpRrpogshsYkZk0kcdqorosotouovoRl5otc6o1k2k3k*o+o1p,oSrTrisUrVrWrXrYr2p-oZrWbib3pE PbQc]bjb0r^oGp4pkblbM %p=b?bl F G H Qb5p6pIo7p8p9p!pI J mb4k#e$e5k6k7k8k9k!k#k$k%k'kwoxoyozoAoBoymCoDoEoFoHl(kzm)kIlAmld*k+k,k-k.k/k:k;k=k%e'e(e?k@k[k]k^k_k`k{k|k)e*e+e,e-e.e/e:e;e=e?e}k~kalblcldlelflglhliljlklllmlnlolplqlTb.o
101def get_annotations(class_dict: dict[str, Any]) -> dict[str, Any]: 1defagbhic
102 raw_annotations: dict[str, Any] = class_dict.get("__annotations__", {}) 2d _o`o'p{o(p|o(btb)p@e[eN XbYc]e^emdfc_e`eubBmCmZcnd{e1r2r3rDm*pO P nbUq^b_bEmm Q R S =lYbGc?lxc+p,pJo-p.p/p:pT U FmvbSlTlUl9b}oe ~oap;pbp=pcp)bwb?p|e}eV Zb0c~eafodgcbfcfxbGmHm1cpddf4r5r6rIm@pW X obVq`b{bJmn Y Z 0 @l0bHc[lyc[p]pKo^p_p`p{p1 2 KmybVlWlXl!bdpf epfp|pgp}php*bzb~pefff3 1b2cgfhfqdhcifjfAbLmMm3crdkf7r8r9rNmaq4 5 pbWq|b}bOmo 6 7 8 ]l2bIc^lzcbqcqLodqeqfqgq9 ! PmBbYlZl0l#bipa 7o8oHp9oIp!oUb# Jp4c5cp LbMc6c7cSc@b8c9c$ !l#lNcTc!cLqMqNq$lKp% ' K #p.b/b%lj q r s PfMbDcQfucLpMpGoNpOpPpQpt u 'l( GfHfIfRb#og jpkphqlpiqmp+bCbjqlfmf) 3b#cnfofsdicpfqfDbQmRm$ctdrf!r#r$rSmkq* + qbXq~bacTmv , - . _l4bJc`lAclqmqMonqoqpqqq/ : UmEb1l2l3l$bnpb $o%oRp'oSp(oVb; Tp%c'cw NbOc(c)cUc[b*c+c= (l)lPcVc,cOqPqQq*lUp? @ L $p:b;b+lk x y z RfObEcSfvcVpWpHoXpYpZp0pA B ,l[ JfKfLfSb)oh oppprqqpsqrp,bFbtqsftf] 5b-cufvfudjcwfxfGbVmWm.cvdyf%r'r(rXmuq^ _ rbYqbcccYmC ` { | {l6bKc|lBcvqwqNoxqyqzqAq} ~ ZmHb4l5l6l%bspi tpupBqvpCqwp-bIbDqzfAfab7b/cBfCfwdkcDfEfJb0m1m:cxdFf)r*r+r2mEqbbcbsbZqdcec3mD dbebfb}l8bLc~lCcFqGqOoHqIqJqKqgbhb4mKb7l8l9l'bxpc *o+o1p,o2p-oWbib3p;c=cE PbQc?c@cWc]b[c]cjb-l.lRcXc^cRqSqTq/l4pkblbM %p=b?b:ll F G H TfQbFcUfwc5p6pIo7p8p9p!pI J ;lmbMfNfOfTb.o
103 if sys.version_info >= (3, 14) and "__annotations__" not in class_dict: 2d _o`o'p{o(p|o(btb)p@e[eN XbYc]e^emdfc_e`eubBmCmZcnd{e1r2r3rDm*pO P nbUq^b_bEmm Q R S =lYbGc?lxc+p,pJo-p.p/p:pT U FmvbSlTlUl9b}oe ~oap;pbp=pcp)bwb?p|e}eV Zb0c~eafodgcbfcfxbGmHm1cpddf4r5r6rIm@pW X obVq`b{bJmn Y Z 0 @l0bHc[lyc[p]pKo^p_p`p{p1 2 KmybVlWlXl!bdpf epfp|pgp}php*bzb~pefff3 1b2cgfhfqdhcifjfAbLmMm3crdkf7r8r9rNmaq4 5 pbWq|b}bOmo 6 7 8 ]l2bIc^lzcbqcqLodqeqfqgq9 ! PmBbYlZl0l#bipa 7o8oHp9oIp!oUb# Jp4c5cp LbMc6c7cSc@b8c9c$ !l#lNcTc!cLqMqNq$lKp% ' K #p.b/b%lj q r s PfMbDcQfucLpMpGoNpOpPpQpt u 'l( GfHfIfRb#og jpkphqlpiqmp+bCbjqlfmf) 3b#cnfofsdicpfqfDbQmRm$ctdrf!r#r$rSmkq* + qbXq~bacTmv , - . _l4bJc`lAclqmqMonqoqpqqq/ : UmEb1l2l3l$bnpb $o%oRp'oSp(oVb; Tp%c'cw NbOc(c)cUc[b*c+c= (l)lPcVc,cOqPqQq*lUp? @ L $p:b;b+lk x y z RfObEcSfvcVpWpHoXpYpZp0pA B ,l[ JfKfLfSb)oh oppprqqpsqrp,bFbtqsftf] 5b-cufvfudjcwfxfGbVmWm.cvdyf%r'r(rXmuq^ _ rbYqbcccYmC ` { | {l6bKc|lBcvqwqNoxqyqzqAq} ~ ZmHb4l5l6l%bspi tpupBqvpCqwp-bIbDqzfAfab7b/cBfCfwdkcDfEfJb0m1m:cxdFf)r*r+r2mEqbbcbsbZqdcec3mD dbebfb}l8bLc~lCcFqGqOoHqIqJqKqgbhb4mKb7l8l9l'bxpc *o+o1p,o2p-oWbib3p;c=cE PbQc?c@cWc]b[c]cjb-l.lRcXc^cRqSqTq/l4pkblbM %p=b?b:ll F G H TfQbFcUfwc5p6pIo7p8p9p!pI J ;lmbMfNfOfTb.o
104 # See https://github.com/pydantic/pydantic/pull/11991
105 from annotationlib import ( 2a 7o8oHp9oIp!oUb# Jp4c5cp LbMc6c7cSc@b8c9c$ !l#lNcTc!cLqMqNq$lKpK #p.b/b%lj q r s PfMbDcQfucLpMpGoNpOpPpQpt u 'l( GfHfIfRb#ob $o%oRp'oSp(oVb; Tp%c'cw NbOc(c)cUc[b*c+c= (l)lPcVc,cOqPqQq*lUpL $p:b;b+lk x y z RfObEcSfvcVpWpHoXpYpZp0pA B ,l[ JfKfLfSb)oc *o+o1p,o2p-oWbib3p;c=cE PbQc?c@cWc]b[c]cjb-l.lRcXc^cRqSqTq/l4pM %p=b?b:ll F G H TfQbFcUfwc5p6pIo7p8p9p!pI J ;lmbMfNfOfTb.o
106 Format,
107 call_annotate_function,
108 get_annotate_from_class_namespace,
109 )
111 if annotate := get_annotate_from_class_namespace(class_dict): 2a 7o8oHp9oIp!oUb# Jp4c5cp LbMc6c7cSc@b8c9c$ !l#lNcTc!cLqMqNq$lKpK #p.b/b%lj q r s PfMbDcQfucLpMpGoNpOpPpQpt u 'l( GfHfIfRb#ob $o%oRp'oSp(oVb; Tp%c'cw NbOc(c)cUc[b*c+c= (l)lPcVc,cOqPqQq*lUpL $p:b;b+lk x y z RfObEcSfvcVpWpHoXpYpZp0pA B ,l[ JfKfLfSb)oc *o+o1p,o2p-oWbib3p;c=cE PbQc?c@cWc]b[c]cjb-l.lRcXc^cRqSqTq/l4pM %p=b?b:ll F G H TfQbFcUfwc5p6pIo7p8p9p!pI J ;lmbMfNfOfTb.o
112 raw_annotations = call_annotate_function(annotate, format=Format.FORWARDREF) 2a 7o8oHp9oIp!oUb# Jp4c5cp LbMc6c7cSc@b8c9c$ !l#lNcTc!cLqMqNq$lKpK #p.b/b%lj q r s PfMbDcQfucLpMpGoNpOpPpQpt u 'l( GfHfIfRb#ob $o%oRp'oSp(oVb; Tp%c'cw NbOc(c)cUc[b*c+c= (l)lPcVc,cOqPqQq*lUpL $p:b;b+lk x y z RfObEcSfvcVpWpHoXpYpZp0pA B ,l[ JfKfLfSb)oc *o+o1p,o2p-oWbib3p;c=cE PbQc?c@cWc]b[c]cjb-l.lRcXc^cRqSqTq/l4pM %p=b?b:ll F G H TfQbFcUfwc5p6pIo7p8p9p!pI J ;lmbMfNfOfTb.o
113 return raw_annotations 2d _o`o'p{o(p|o(btb)p@e[eN XbYc]e^emdfc_e`eubBmCmZcnd{e1r2r3rDm*pO P nbUq^b_bEmm Q R S =lYbGc?lxc+p,pJo-p.p/p:pT U FmvbSlTlUl9b}oe ~oap;pbp=pcp)bwb?p|e}eV Zb0c~eafodgcbfcfxbGmHm1cpddf4r5r6rIm@pW X obVq`b{bJmn Y Z 0 @l0bHc[lyc[p]pKo^p_p`p{p1 2 KmybVlWlXl!bdpf epfp|pgp}php*bzb~pefff3 1b2cgfhfqdhcifjfAbLmMm3crdkf7r8r9rNmaq4 5 pbWq|b}bOmo 6 7 8 ]l2bIc^lzcbqcqLodqeqfqgq9 ! PmBbYlZl0l#bipa 7o8oHp9oIp!oUb# Jp4c5cp LbMc6c7cSc@b8c9c$ !l#lNcTc!cLqMqNq$lKp% ' K #p.b/b%lj q r s PfMbDcQfucLpMpGoNpOpPpQpt u 'l( GfHfIfRb#og jpkphqlpiqmp+bCbjqlfmf) 3b#cnfofsdicpfqfDbQmRm$ctdrf!r#r$rSmkq* + qbXq~bacTmv , - . _l4bJc`lAclqmqMonqoqpqqq/ : UmEb1l2l3l$bnpb $o%oRp'oSp(oVb; Tp%c'cw NbOc(c)cUc[b*c+c= (l)lPcVc,cOqPqQq*lUp? @ L $p:b;b+lk x y z RfObEcSfvcVpWpHoXpYpZp0pA B ,l[ JfKfLfSb)oh oppprqqpsqrp,bFbtqsftf] 5b-cufvfudjcwfxfGbVmWm.cvdyf%r'r(rXmuq^ _ rbYqbcccYmC ` { | {l6bKc|lBcvqwqNoxqyqzqAq} ~ ZmHb4l5l6l%bspi tpupBqvpCqwp-bIbDqzfAfab7b/cBfCfwdkcDfEfJb0m1m:cxdFf)r*r+r2mEqbbcbsbZqdcec3mD dbebfb}l8bLc~lCcFqGqOoHqIqJqKqgbhb4mKb7l8l9l'bxpc *o+o1p,o2p-oWbib3p;c=cE PbQc?c@cWc]b[c]cjb-l.lRcXc^cRqSqTq/l4pkblbM %p=b?b:ll F G H TfQbFcUfwc5p6pIo7p8p9p!pI J ;lmbMfNfOfTb.o
116def is_table_model_class(cls: type[Any]) -> bool: 1defagbhic
117 config = getattr(cls, "model_config", {}) 2d 0q5m,r-rVfWfXf_c6m7m8m9m!m#mJlPolcQoYfZf0f_o`o'p{o1q2q.r3q4q5q6q7q(p|o8q(btb)p@e[eN XbYc]e^emdfc_e`eub9q/oypBmCmZcnd{e1r2r3rDm*pO P nbUq^b_bEmm Q R S =lYbGc?lxc+p,pJo-p.p/p:pT U FmvbSlTlUl1fydzd2f3f4f5f6f7f8f9f!f#f$m%m'm(m)m*mam+m,m-m.mrl$fbm%fslcmdd'f(f)f*f+f,f-f.f/fAdBdCd:f;f=f?f@f[f]f^f_fDdEdFdGdHdIdJdKdLdMdNd`f{f|f}f~fagbgcgdgegfggghgigjgkglgmgng9b}oe !q/m/r:rogpgqg`c:m;m=m?m@m[mKlRomcSorgsgtg~oap;pbp#q$q;r%q'q(q)q*q=pcp+q)bwb?p|e}eV Zb0c~eafodgcbfcfxb,q:ozpGmHm1cpddf4r5r6rIm@pW X obVq`b{bJmn Y Z 0 @l0bHc[lyc[p]pKo^p_p`p{p1 2 KmybVlWlXlugOdPdvgwgxgygzgAgBgCgDgEg]m^m_m`m{m|mdm}m~manbntlFgemGgulfmedHgIgJgKgLgMgNgOgPgQdRdSdQgRgSgTgUgVgWgXgYgTdUdVdWdXdYdZd0d1d2d3dZg0g1g2g3g4g5g6g7g8g9g!g#g$g%g'g(g)g*g!bdpf -qcn=r?r+g,g-g{cdnenfngnhninLlToncUo.g/g:gepfp|pgp.q/q@r:q;q=q?q@q}php[q*bzb~pefff3 1b2cgfhfqdhcifjfAb]q;oApLmMm3crdkf7r8r9rNmaq4 5 pbWq|b}bOmo 6 7 8 ]l2bIc^lzcbqcqLodqeqfqgq9 ! PmBbYlZl0l;g4d5d=g?g@g[g]g^g_g`g{g|gjnknlnmnnnongmpnqnrnsnvl}ghm~gwlimfdahbhchdhehfhghhhih6d7d8djhkhlhmhnhohphqhrh9d!d#d$d%d'd(d)d*d+d,dshthuhvhwhxhyhzhAhBhChDhEhFhGhHhIhJhKh#bipa ^qtn[r]rLhMhNh|cunvnwnxnynznMlVoocWoOhPhQh7o8oHp9o_q`q^r{q|q}q~qarIp!obrUb# Jp4c5cp LbMc6c7cSc@b8c9c$ cr=oBp!l#lNcTc!cLqMqNq$lKp% ' K #p.b/b%lj q r s PfMbDcQfucLpMpGoNpOpPpQpt u 'l( GfHfIfRh-d.dShThUhVhWhXhYhZh0h1hAnBnCnDnEnFnjmGnHnInJnxl2hkm3hyllmgd4h5h6h7h8h9h!h#h$h/d:d;d%h'h(h)h*h+h,h-h.h=d?d@d[d]d^d_d`d{d|d}d/h:h;h=h?h@h[h]h^h_h`h{h|h}h~haibicidiRb#og drKn_r`reifigi}cLnMnNnOnPnQnNlXopcYohiiijijpkphqlperfr{rgrhrirjrkriqmplr+bCbjqlfmf) 3b#cnfofsdicpfqfDbmr?oCpQmRm$ctdrf!r#r$rSmkq* + qbXq~bacTmv , - . _l4bJc`lAclqmqMonqoqpqqq/ : UmEb1l2l3lki~daeliminioipiqirisitiuiRnSnTnUnVnWnmmXnYnZn0nzlvinmwiAlomhdxiyiziAiBiCiDiEiFibecedeGiHiIiJiKiLiMiNiOieefegeheiejekelemeneoePiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i$bnpb nr1n|r}r8i9i!i~c2n3n4n5n6n7nOlZoqc0o#i$i%i$o%oRp'oorpr~rqrrrsrtrurSp(ovrVb; Tp%c'cw NbOc(c)cUc[b*c+c= wr@oDp(l)lPcVc,cOqPqQq*lUp? @ L $p:b;b+lk x y z RfObEcSfvcVpWpHoXpYpZp0pA B ,l[ JfKfLf'ipeqe(i)i*i+i,i-i.i/i:i;i8n9n!n#n$n%npm'n(n)n*nBl=iqm?iClrmid@i[i]i^i_i`i{i|i}iresete~iajbjcjdjejfjgjhjuevewexeyezeAeBeCeDeEeijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjSb)oh xr+nasbsBjCjDjad,n-n.n/n:n;nPl1orc2oEjFjGjoppprqqpyrzrcsArBrCrDrErsqrpFr,bFbtqsftf] 5b-cufvfudjcwfxfGbGr[oEpVmWm.cvdyf%r'r(rXmuq^ _ rbYqbcccYmC ` { | {l6bKc|lBcvqwqNoxqyqzqAq} ~ ZmHb4l5l6lHjFeGeIjJjKjLjMjNjOjPjQjRj=n?n@n[n]n^nsm_n`n{n|nDlSjtmTjElumjdUjVjWjXjYjZj0j1j2jHeIeJe3j4j5j6j7j8j9j!j#jKeLeMeNeOePeQeReSeTeUe$j%j'j(j)j*j+j,j-j.j/j:j;j=j?j@j[j]j^j%bspi Hr}ndses_j`j{jbd~naobocodoeoQl3osc4o|j}j~jtpupBqvpIrJrfsKrLrMrNrOrCqwpPr-bIbDqzfAfab7b/cBfCfwdkcDfEfJbQr]oFp0m1m:cxdFf)r*r+r2mEqbbcbsbZqdcec3mD dbebfb}l8bLc~lCcFqGqOoHqIqJqKqgbhb4mKb7l8l9lakVeWebkckdkekfkgkhkikjkkkfogohoiojokovmlomonoooFllkwmmkGlxmkdnkokpkqkrksktkukvkXeYeZewkxkykzkAkBkCkDkEk0e1e2e3e4e5e6e7e8e9e!eFkGkHkIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXk'bxpc RrpogshsYkZk0kcdqorosotouovoRl5otc6o1k2k3k*o+o1p,oSrTrisUrVrWrXrYr2p-oZrWbib3p;c=cE PbQc?c@cWc]b[c]cjb0r^oGp-l.lRcXc^cRqSqTq/l4pkblbM %p=b?b:ll F G H TfQbFcUfwc5p6pIo7p8p9p!pI J ;lmbMfNfOf4k#e$e5k6k7k8k9k!k#k$k%k'kwoxoyozoAoBoymCoDoEoFoHl(kzm)kIlAmld*k+k,k-k.k/k:k;k=k%e'e(e?k@k[k]k^k_k`k{k|k)e*e+e,e-e.e/e:e;e=e?e}k~kalblcldlelflglhliljlklllmlnlolplqlTb.o
118 if config: 2d 0q5m,r-rVfWfXf_c6m7m8m9m!m#mJlPolcQoYfZf0f_o`o'p{o1q2q.r3q4q5q6q7q(p|o8q(btb)p@e[eN XbYc]e^emdfc_e`eub9q/oypBmCmZcnd{e1r2r3rDm*pO P nbUq^b_bEmm Q R S =lYbGc?lxc+p,pJo-p.p/p:pT U FmvbSlTlUl1fydzd2f3f4f5f6f7f8f9f!f#f$m%m'm(m)m*mam+m,m-m.mrl$fbm%fslcmdd'f(f)f*f+f,f-f.f/fAdBdCd:f;f=f?f@f[f]f^f_fDdEdFdGdHdIdJdKdLdMdNd`f{f|f}f~fagbgcgdgegfggghgigjgkglgmgng9b}oe !q/m/r:rogpgqg`c:m;m=m?m@m[mKlRomcSorgsgtg~oap;pbp#q$q;r%q'q(q)q*q=pcp+q)bwb?p|e}eV Zb0c~eafodgcbfcfxb,q:ozpGmHm1cpddf4r5r6rIm@pW X obVq`b{bJmn Y Z 0 @l0bHc[lyc[p]pKo^p_p`p{p1 2 KmybVlWlXlugOdPdvgwgxgygzgAgBgCgDgEg]m^m_m`m{m|mdm}m~manbntlFgemGgulfmedHgIgJgKgLgMgNgOgPgQdRdSdQgRgSgTgUgVgWgXgYgTdUdVdWdXdYdZd0d1d2d3dZg0g1g2g3g4g5g6g7g8g9g!g#g$g%g'g(g)g*g!bdpf -qcn=r?r+g,g-g{cdnenfngnhninLlToncUo.g/g:gepfp|pgp.q/q@r:q;q=q?q@q}php[q*bzb~pefff3 1b2cgfhfqdhcifjfAb]q;oApLmMm3crdkf7r8r9rNmaq4 5 pbWq|b}bOmo 6 7 8 ]l2bIc^lzcbqcqLodqeqfqgq9 ! PmBbYlZl0l;g4d5d=g?g@g[g]g^g_g`g{g|gjnknlnmnnnongmpnqnrnsnvl}ghm~gwlimfdahbhchdhehfhghhhih6d7d8djhkhlhmhnhohphqhrh9d!d#d$d%d'd(d)d*d+d,dshthuhvhwhxhyhzhAhBhChDhEhFhGhHhIhJhKh#bipa ^qtn[r]rLhMhNh|cunvnwnxnynznMlVoocWoOhPhQh7o8oHp9o_q`q^r{q|q}q~qarIp!obrUb# Jp4c5cp LbMc6c7cSc@b8c9c$ cr=oBp!l#lNcTc!cLqMqNq$lKp% ' K #p.b/b%lj q r s PfMbDcQfucLpMpGoNpOpPpQpt u 'l( GfHfIfRh-d.dShThUhVhWhXhYhZh0h1hAnBnCnDnEnFnjmGnHnInJnxl2hkm3hyllmgd4h5h6h7h8h9h!h#h$h/d:d;d%h'h(h)h*h+h,h-h.h=d?d@d[d]d^d_d`d{d|d}d/h:h;h=h?h@h[h]h^h_h`h{h|h}h~haibicidiRb#og drKn_r`reifigi}cLnMnNnOnPnQnNlXopcYohiiijijpkphqlperfr{rgrhrirjrkriqmplr+bCbjqlfmf) 3b#cnfofsdicpfqfDbmr?oCpQmRm$ctdrf!r#r$rSmkq* + qbXq~bacTmv , - . _l4bJc`lAclqmqMonqoqpqqq/ : UmEb1l2l3lki~daeliminioipiqirisitiuiRnSnTnUnVnWnmmXnYnZn0nzlvinmwiAlomhdxiyiziAiBiCiDiEiFibecedeGiHiIiJiKiLiMiNiOieefegeheiejekelemeneoePiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i$bnpb nr1n|r}r8i9i!i~c2n3n4n5n6n7nOlZoqc0o#i$i%i$o%oRp'oorpr~rqrrrsrtrurSp(ovrVb; Tp%c'cw NbOc(c)cUc[b*c+c= wr@oDp(l)lPcVc,cOqPqQq*lUp? @ L $p:b;b+lk x y z RfObEcSfvcVpWpHoXpYpZp0pA B ,l[ JfKfLf'ipeqe(i)i*i+i,i-i.i/i:i;i8n9n!n#n$n%npm'n(n)n*nBl=iqm?iClrmid@i[i]i^i_i`i{i|i}iresete~iajbjcjdjejfjgjhjuevewexeyezeAeBeCeDeEeijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjSb)oh xr+nasbsBjCjDjad,n-n.n/n:n;nPl1orc2oEjFjGjoppprqqpyrzrcsArBrCrDrErsqrpFr,bFbtqsftf] 5b-cufvfudjcwfxfGbGr[oEpVmWm.cvdyf%r'r(rXmuq^ _ rbYqbcccYmC ` { | {l6bKc|lBcvqwqNoxqyqzqAq} ~ ZmHb4l5l6lHjFeGeIjJjKjLjMjNjOjPjQjRj=n?n@n[n]n^nsm_n`n{n|nDlSjtmTjElumjdUjVjWjXjYjZj0j1j2jHeIeJe3j4j5j6j7j8j9j!j#jKeLeMeNeOePeQeReSeTeUe$j%j'j(j)j*j+j,j-j.j/j:j;j=j?j@j[j]j^j%bspi Hr}ndses_j`j{jbd~naobocodoeoQl3osc4o|j}j~jtpupBqvpIrJrfsKrLrMrNrOrCqwpPr-bIbDqzfAfab7b/cBfCfwdkcDfEfJbQr]oFp0m1m:cxdFf)r*r+r2mEqbbcbsbZqdcec3mD dbebfb}l8bLc~lCcFqGqOoHqIqJqKqgbhb4mKb7l8l9lakVeWebkckdkekfkgkhkikjkkkfogohoiojokovmlomonoooFllkwmmkGlxmkdnkokpkqkrksktkukvkXeYeZewkxkykzkAkBkCkDkEk0e1e2e3e4e5e6e7e8e9e!eFkGkHkIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXk'bxpc RrpogshsYkZk0kcdqorosotouovoRl5otc6o1k2k3k*o+o1p,oSrTrisUrVrWrXrYr2p-oZrWbib3p;c=cE PbQc?c@cWc]b[c]cjb0r^oGp-l.lRcXc^cRqSqTq/l4pkblbM %p=b?b:ll F G H TfQbFcUfwc5p6pIo7p8p9p!pI J ;lmbMfNfOf4k#e$e5k6k7k8k9k!k#k$k%k'kwoxoyozoAoBoymCoDoEoFoHl(kzm)kIlAmld*k+k,k-k.k/k:k;k=k%e'e(e?k@k[k]k^k_k`k{k|k)e*e+e,e-e.e/e:e;e=e?e}k~kalblcldlelflglhliljlklllmlnlolplqlTb.o
119 return config.get("table", False) or False 2d 0q5m,r-rVfWfXf_c6m7m8m9m!m#mJlPolcQoYfZf0f_o`o'p{o1q2q.r3q4q5q6q7q(p|o8q(btb)p@e[eN XbYc]e^emdfc_e`eub9q/oypBmCmZcnd{e1r2r3rDm*pO P nbUq^b_bEmm Q R S =lYbGc?lxc+p,pJo-p.p/p:pT U FmvbSlTlUl1fydzd2f3f4f5f6f7f8f9f!f#f$m%m'm(m)m*mam+m,m-m.mrl$fbm%fslcmdd'f(f)f*f+f,f-f.f/fAdBdCd:f;f=f?f@f[f]f^f_fDdEdFdGdHdIdJdKdLdMdNd`f{f|f}f~fagbgcgdgegfggghgigjgkglgmgng9b}oe !q/m/r:rogpgqg`c:m;m=m?m@m[mKlRomcSorgsgtg~oap;pbp#q$q;r%q'q(q)q*q=pcp+q)bwb?p|e}eV Zb0c~eafodgcbfcfxb,q:ozpGmHm1cpddf4r5r6rIm@pW X obVq`b{bJmn Y Z 0 @l0bHc[lyc[p]pKo^p_p`p{p1 2 KmybVlWlXlugOdPdvgwgxgygzgAgBgCgDgEg]m^m_m`m{m|mdm}m~manbntlFgemGgulfmedHgIgJgKgLgMgNgOgPgQdRdSdQgRgSgTgUgVgWgXgYgTdUdVdWdXdYdZd0d1d2d3dZg0g1g2g3g4g5g6g7g8g9g!g#g$g%g'g(g)g*g!bdpf -qcn=r?r+g,g-g{cdnenfngnhninLlToncUo.g/g:gepfp|pgp.q/q@r:q;q=q?q@q}php[q*bzb~pefff3 1b2cgfhfqdhcifjfAb]q;oApLmMm3crdkf7r8r9rNmaq4 5 pbWq|b}bOmo 6 7 8 ]l2bIc^lzcbqcqLodqeqfqgq9 ! PmBbYlZl0l;g4d5d=g?g@g[g]g^g_g`g{g|gjnknlnmnnnongmpnqnrnsnvl}ghm~gwlimfdahbhchdhehfhghhhih6d7d8djhkhlhmhnhohphqhrh9d!d#d$d%d'd(d)d*d+d,dshthuhvhwhxhyhzhAhBhChDhEhFhGhHhIhJhKh#bipa ^qtn[r]rLhMhNh|cunvnwnxnynznMlVoocWoOhPhQh7o8oHp9o_q`q^r{q|q}q~qarIp!obrUb# Jp4c5cp LbMc6c7cSc@b8c9c$ cr=oBp!l#lNcTc!cLqMqNq$lKp% ' K #p.b/b%lj q r s PfMbDcQfucLpMpGoNpOpPpQpt u 'l( GfHfIfRh-d.dShThUhVhWhXhYhZh0h1hAnBnCnDnEnFnjmGnHnInJnxl2hkm3hyllmgd4h5h6h7h8h9h!h#h$h/d:d;d%h'h(h)h*h+h,h-h.h=d?d@d[d]d^d_d`d{d|d}d/h:h;h=h?h@h[h]h^h_h`h{h|h}h~haibicidiRb#og drKn_r`reifigi}cLnMnNnOnPnQnNlXopcYohiiijijpkphqlperfr{rgrhrirjrkriqmplr+bCbjqlfmf) 3b#cnfofsdicpfqfDbmr?oCpQmRm$ctdrf!r#r$rSmkq* + qbXq~bacTmv , - . _l4bJc`lAclqmqMonqoqpqqq/ : UmEb1l2l3lki~daeliminioipiqirisitiuiRnSnTnUnVnWnmmXnYnZn0nzlvinmwiAlomhdxiyiziAiBiCiDiEiFibecedeGiHiIiJiKiLiMiNiOieefegeheiejekelemeneoePiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i$bnpb nr1n|r}r8i9i!i~c2n3n4n5n6n7nOlZoqc0o#i$i%i$o%oRp'oorpr~rqrrrsrtrurSp(ovrVb; Tp%c'cw NbOc(c)cUc[b*c+c= wr@oDp(l)lPcVc,cOqPqQq*lUp? @ L $p:b;b+lk x y z RfObEcSfvcVpWpHoXpYpZp0pA B ,l[ JfKfLf'ipeqe(i)i*i+i,i-i.i/i:i;i8n9n!n#n$n%npm'n(n)n*nBl=iqm?iClrmid@i[i]i^i_i`i{i|i}iresete~iajbjcjdjejfjgjhjuevewexeyezeAeBeCeDeEeijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjSb)oh xr+nasbsBjCjDjad,n-n.n/n:n;nPl1orc2oEjFjGjoppprqqpyrzrcsArBrCrDrErsqrpFr,bFbtqsftf] 5b-cufvfudjcwfxfGbGr[oEpVmWm.cvdyf%r'r(rXmuq^ _ rbYqbcccYmC ` { | {l6bKc|lBcvqwqNoxqyqzqAq} ~ ZmHb4l5l6lHjFeGeIjJjKjLjMjNjOjPjQjRj=n?n@n[n]n^nsm_n`n{n|nDlSjtmTjElumjdUjVjWjXjYjZj0j1j2jHeIeJe3j4j5j6j7j8j9j!j#jKeLeMeNeOePeQeReSeTeUe$j%j'j(j)j*j+j,j-j.j/j:j;j=j?j@j[j]j^j%bspi Hr}ndses_j`j{jbd~naobocodoeoQl3osc4o|j}j~jtpupBqvpIrJrfsKrLrMrNrOrCqwpPr-bIbDqzfAfab7b/cBfCfwdkcDfEfJbQr]oFp0m1m:cxdFf)r*r+r2mEqbbcbsbZqdcec3mD dbebfb}l8bLc~lCcFqGqOoHqIqJqKqgbhb4mKb7l8l9lakVeWebkckdkekfkgkhkikjkkkfogohoiojokovmlomonoooFllkwmmkGlxmkdnkokpkqkrksktkukvkXeYeZewkxkykzkAkBkCkDkEk0e1e2e3e4e5e6e7e8e9e!eFkGkHkIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXk'bxpc RrpogshsYkZk0kcdqorosotouovoRl5otc6o1k2k3k*o+o1p,oSrTrisUrVrWrXrYr2p-oZrWbib3p;c=cE PbQc?c@cWc]b[c]cjb0r^oGp-l.lRcXc^cRqSqTq/l4pkblbM %p=b?b:ll F G H TfQbFcUfwc5p6pIo7p8p9p!pI J ;lmbMfNfOf4k#e$e5k6k7k8k9k!k#k$k%k'kwoxoyozoAoBoymCoDoEoFoHl(kzm)kIlAmld*k+k,k-k.k/k:k;k=k%e'e(e?k@k[k]k^k_k`k{k|k)e*e+e,e-e.e/e:e;e=e?e}k~kalblcldlelflglhliljlklllmlnlolplqlTb.o
120 return False 1defagbhic
123def get_relationship_to( 1defagbhic
124 name: str,
125 rel_info: "RelationshipInfo",
126 annotation: Any,
127) -> Any:
128 origin = get_origin(annotation) 2d xce ycf zca ucg Acb vch Bci Ccc wc
129 use_annotation = annotation 2d xce ycf zca ucg Acb vch Bci Ccc wc
130 # Direct relationships (e.g. 'Team' or Team) have None as an origin
131 if origin is None: 2d xce ycf zca ucg Acb vch Bci Ccc wc
132 if isinstance(use_annotation, ForwardRef): 2d xce ycf zca ucg Acb vch Bci Ccc wc
133 use_annotation = use_annotation.__forward_arg__ 1defagbhic
134 else:
135 return use_annotation 2d xce ycf zca ucg Acb vch Bci Ccc wc
136 # If Union (e.g. Optional), get the real field
137 elif _is_union_type(origin): 2d xce ycf zca ucg Acb vch Bci Ccc wc
138 use_annotation = get_args(annotation) 1defagbhic
139 if len(use_annotation) > 2: 1defagbhic
140 raise ValueError("Cannot have a (non-optional) union as a SQLAlchemy field")
141 arg1, arg2 = use_annotation 1defagbhic
142 if arg1 is NoneType and arg2 is not NoneType: 1defagbhic
143 use_annotation = arg2
144 elif arg2 is NoneType and arg1 is not NoneType: 1defagbhic
145 use_annotation = arg1 1defagbhic
146 else:
147 raise ValueError(
148 "Cannot have a Union of None and None as a SQLAlchemy field"
149 )
151 # If a list, then also get the real field
152 elif origin is list: 2d xce ycf zca ucg Acb vch Bci Ccc wc
153 use_annotation = get_args(annotation)[0] 2d xce ycf zca ucg Acb vch Bci Ccc wc
155 return get_relationship_to(name=name, rel_info=rel_info, annotation=use_annotation) 2d xce ycf zca ucg Acb vch Bci Ccc wc
158def is_field_noneable(field: "FieldInfo") -> bool: 1defagbhic
159 if getattr(field, "nullable", Undefined) is not Undefined: 2d tb@e[eN XbYc]e^emdfc_e`eubBmCmZcnd{eDmO P nb^b_bEmm Q R S YbGcxcT U Fmvb9be wb|e}eV Zb0c~eafodgcbfcfxbGmHm1cpddfImW X ob`b{bJmn Y Z 0 0bHcyc1 2 Kmyb!bf zbefff3 1b2cgfhfqdhcifjfAbLmMm3crdkfNm4 5 pb|b}bOmo 6 7 8 2bIczc9 ! PmBb#ba # 4c5cp LbMc6c7cSc@b8c9c$ !l#lNcTc!c$l% ' K .b/b%lj q r s MbDcuct u 'l( Rbg Cblfmf) 3b#cnfofsdicpfqfDbQmRm$ctdrfSm* + qb~bacTmv , - . 4bJcAc/ : UmEb$bb ; %c'cw NbOc(c)cUc[b*c+c= (l)lPcVc,c*l? @ L :b;b+lk x y z ObEcvcA B ,l[ Sbh Fbsftf] 5b-cufvfudjcwfxfGbVmWm.cvdyfXm^ _ rbbcccYmC ` { | 6bKcBc} ~ ZmHb%bi IbzfAfab7b/cBfCfwdkcDfEfJb0m1m:cxdFf2mbbcbsbdcec3mD dbebfb8bLcCcgbhb4mKb'bc ib;c=cE PbQc?c@cWc]b[c]cjb-l.lRcXc^c/lkblbM =b?b:ll F G H QbFcwcI J ;lmbTb
160 return field.nullable # type: ignore 2YbGc0bHc2bIcMbDc4bJcObEc6bKc8bLcQbFc
161 origin = get_origin(field.annotation) 2d tb@e[eN XbYc]e^emdfc_e`eubBmCmZcnd{eDmO P nb^b_bEmm Q R S GcxcT U Fmvb9be wb|e}eV Zb0c~eafodgcbfcfxbGmHm1cpddfImW X ob`b{bJmn Y Z 0 Hcyc1 2 Kmyb!bf zbefff3 1b2cgfhfqdhcifjfAbLmMm3crdkfNm4 5 pb|b}bOmo 6 7 8 Iczc9 ! PmBb#ba # 4c5cp LbMc6c7cSc@b8c9c$ !l#lNcTc!c$l% ' K .b/b%lj q r s Dcuct u 'l( Rbg Cblfmf) 3b#cnfofsdicpfqfDbQmRm$ctdrfSm* + qb~bacTmv , - . JcAc/ : UmEb$bb ; %c'cw NbOc(c)cUc[b*c+c= (l)lPcVc,c*l? @ L :b;b+lk x y z EcvcA B ,l[ Sbh Fbsftf] 5b-cufvfudjcwfxfGbVmWm.cvdyfXm^ _ rbbcccYmC ` { | KcBc} ~ ZmHb%bi IbzfAfab7b/cBfCfwdkcDfEfJb0m1m:cxdFf2mbbcbsbdcec3mD dbebfbLcCcgbhb4mKb'bc ib;c=cE PbQc?c@cWc]b[c]cjb-l.lRcXc^c/lkblbM =b?b:ll F G H FcwcI J ;lmbTb
162 if origin is not None and _is_union_type(origin): 2d tb@e[eN XbYc]e^emdfc_e`eubBmCmZcnd{eDmO P nb^b_bEmm Q R S GcxcT U Fmvb9be wb|e}eV Zb0c~eafodgcbfcfxbGmHm1cpddfImW X ob`b{bJmn Y Z 0 Hcyc1 2 Kmyb!bf zbefff3 1b2cgfhfqdhcifjfAbLmMm3crdkfNm4 5 pb|b}bOmo 6 7 8 Iczc9 ! PmBb#ba # 4c5cp LbMc6c7cSc@b8c9c$ !l#lNcTc!c$l% ' K .b/b%lj q r s Dcuct u 'l( Rbg Cblfmf) 3b#cnfofsdicpfqfDbQmRm$ctdrfSm* + qb~bacTmv , - . JcAc/ : UmEb$bb ; %c'cw NbOc(c)cUc[b*c+c= (l)lPcVc,c*l? @ L :b;b+lk x y z EcvcA B ,l[ Sbh Fbsftf] 5b-cufvfudjcwfxfGbVmWm.cvdyfXm^ _ rbbcccYmC ` { | KcBc} ~ ZmHb%bi IbzfAfab7b/cBfCfwdkcDfEfJb0m1m:cxdFf2mbbcbsbdcec3mD dbebfbLcCcgbhb4mKb'bc ib;c=cE PbQc?c@cWc]b[c]cjb-l.lRcXc^c/lkblbM =b?b:ll F G H FcwcI J ;lmbTb
163 args = get_args(field.annotation) 2d N XbZcndO P nbm Q R S GcxcT U e V Zb1cpdW X obn Y Z 0 Hcyc1 2 f 3 1b3crd4 5 pbo 6 7 8 Iczc9 ! a p LbNcTc% ' K j q r s Dcuct u g ) 3b$ctd* + qbv , - . JcAc/ : b w NbPcVc? @ L k x y z EcvcA B h ] 5b.cvd^ _ rbC ` { | KcBc} ~ i ab7b:cxdbbcbsbD dbebfbLcCcgbhbc E PbRcXckblbM l F G H FcwcI J
164 if any(arg is NoneType for arg in args): 2d N XbZcndO P nbm Q R S GcxcT U e V Zb1cpdW X obn Y Z 0 Hcyc1 2 f 3 1b3crd4 5 pbo 6 7 8 Iczc9 ! a p LbNcTc% ' K j q r s Dcuct u g ) 3b$ctd* + qbv , - . JcAc/ : b w NbPcVc? @ L k x y z EcvcA B h ] 5b.cvd^ _ rbC ` { | KcBc} ~ i ab7b:cxdbbcbsbD dbebfbLcCcgbhbc E PbRcXckblbM l F G H FcwcI J
165 return True 2d N XbZcndO P nbm Q R S GcxcT U e V Zb1cpdW X obn Y Z 0 Hcyc1 2 f 3 1b3crd4 5 pbo 6 7 8 Iczc9 ! a p LbNcTc% ' K j q r s Dcuct u g ) 3b$ctd* + qbv , - . JcAc/ : b w NbPcVc? @ L k x y z EcvcA B h ] 5b.cvd^ _ rbC ` { | KcBc} ~ i ab7b:cxdbbcbsbD dbebfbLcCcgbhbc E PbRcXckblbM l F G H FcwcI J
166 if not field.is_required(): 2d tb@e[eN XbYc]e^emdfc_e`eubBmCmZc{eDmO P nb^b_bEmm Q R S GcxcT U Fmvb9be wb|e}eV Zb0c~eafodgcbfcfxbGmHm1cdfImW X ob`b{bJmn Y Z 0 Hcyc1 2 Kmyb!bf zbefff3 1b2cgfhfqdhcifjfAbLmMm3ckfNm4 5 pb|b}bOmo 6 7 8 Iczc9 ! PmBb#ba # 4c5cp LbMc6c7cSc@b8c9c$ !l#lNc!c$l% ' K .b/b%lj q r s Dcuct u 'l( Rbg Cblfmf) 3b#cnfofsdicpfqfDbQmRm$crfSm* + qb~bacTmv , - . JcAc/ : UmEb$bb ; %c'cw NbOc(c)cUc[b*c+c= (l)lPc,c*l? @ L :b;b+lk x y z EcvcA B ,l[ Sbh Fbsftf] 5b-cufvfudjcwfxfGbVmWm.cyfXm^ _ rbbcccYmC ` { | KcBc} ~ ZmHb%bi IbzfAfab7b/cBfCfwdkcDfEfJb0m1m:cFf2mbbcbsbdcec3mD dbebfbLcCcgbhb4mKb'bc ib;c=cE PbQc?c@cWc]b[c]cjb-l.lRc^c/lkblbM =b?b:ll F G H FcwcI J ;lmbTb
167 if field.default is Undefined: 2d Gce Hcf Ica Dcg Jcb Ech Kci Lcc Fc
168 return False 1defagbhic
169 if field.annotation is None or field.annotation is NoneType: 2d Gce Hcf Ica Dcg Jcb Ech Kci Lcc Fc
170 return True
171 return False 2d Gce Hcf Ica Dcg Jcb Ech Kci Lcc Fc
172 return False 2d tb@e[eN XbYc]e^emdfc_e`eubBmCmZc{eDmO P nb^b_bEmm Q R S GcxcT U Fmvb9be wb|e}eV Zb0c~eafodgcbfcfxbGmHm1cdfImW X ob`b{bJmn Y Z 0 Hcyc1 2 Kmyb!bf zbefff3 1b2cgfhfqdhcifjfAbLmMm3ckfNm4 5 pb|b}bOmo 6 7 8 Iczc9 ! PmBb#ba # 4c5cp LbMc6c7cSc@b8c9c$ !l#lNc!c$l% ' K .b/b%lj q r s Dcuct u 'l( Rbg Cblfmf) 3b#cnfofsdicpfqfDbQmRm$crfSm* + qb~bacTmv , - . JcAc/ : UmEb$bb ; %c'cw NbOc(c)cUc[b*c+c= (l)lPc,c*l? @ L :b;b+lk x y z EcvcA B ,l[ Sbh Fbsftf] 5b-cufvfudjcwfxfGbVmWm.cyfXm^ _ rbbcccYmC ` { | KcBc} ~ ZmHb%bi IbzfAfab7b/cBfCfwdkcDfEfJb0m1m:cFf2mbbcbsbdcec3mD dbebfbLcCcgbhb4mKb'bc ib;c=cE PbQc?c@cWc]b[c]cjb-l.lRc^c/lkblbM =b?b:ll F G H FcwcI J ;lmbTb
175def get_sa_type_from_type_annotation(annotation: Any) -> Any: 1defagbhic
176 # Resolve Optional fields
177 if annotation is None: 2d (btb@e[eN XbYc]e^emdfc_e`eubBmCmZcnd{eDmO P nb^b_bEmm Q R S =lYbGc?lxcT U FmvbSlTlUl9be )bwb|e}eV Zb0c~eafodgcbfcfxbGmHm1cpddfImW X ob`b{bJmn Y Z 0 @l0bHc[lyc1 2 KmybVlWlXl!bf *bzbefff3 1b2cgfhfqdhcifjfAbLmMm3crdkfNm4 5 pb|b}bOmo 6 7 8 ]l2bIc^lzc9 ! PmBbYlZl0l#ba Ub# 4c5cp LbMc6c7cSc@b8c9c$ !l#lNcTc!c$l% ' K .b/b%lj q r s PfMbDcQfuct u 'l( GfHfIfRbg +bCblfmf) 3b#cnfofsdicpfqfDbQmRm$ctdrfSm* + qb~bacTmv , - . _l4bJc`lAc/ : UmEb1l2l3l$bb Vb; %c'cw NbOc(c)cUc[b*c+c= (l)lPcVc,c*l? @ L :b;b+lk x y z RfObEcSfvcA B ,l[ JfKfLfSbh ,bFbsftf] 5b-cufvfudjcwfxfGbVmWm.cvdyfXm^ _ rbbcccYmC ` { | {l6bKc|lBc} ~ ZmHb4l5l6l%bi -bIbzfAfab7b/cBfCfwdkcDfEfJb0m1m:cxdFf2mbbcbsbdcec3mD dbebfb}l8bLc~lCcgbhb4mKb7l8l9l'bc Wbib;c=cE PbQc?c@cWc]b[c]cjb-l.lRcXc^c/lkblbM =b?b:ll F G H TfQbFcUfwcI J ;lmbMfNfOfTb
178 raise ValueError("Missing field type")
179 origin = get_origin(annotation) 2d (btb@e[eN XbYc]e^emdfc_e`eubBmCmZcnd{eDmO P nb^b_bEmm Q R S =lYbGc?lxcT U FmvbSlTlUl9be )bwb|e}eV Zb0c~eafodgcbfcfxbGmHm1cpddfImW X ob`b{bJmn Y Z 0 @l0bHc[lyc1 2 KmybVlWlXl!bf *bzbefff3 1b2cgfhfqdhcifjfAbLmMm3crdkfNm4 5 pb|b}bOmo 6 7 8 ]l2bIc^lzc9 ! PmBbYlZl0l#ba Ub# 4c5cp LbMc6c7cSc@b8c9c$ !l#lNcTc!c$l% ' K .b/b%lj q r s PfMbDcQfuct u 'l( GfHfIfRbg +bCblfmf) 3b#cnfofsdicpfqfDbQmRm$ctdrfSm* + qb~bacTmv , - . _l4bJc`lAc/ : UmEb1l2l3l$bb Vb; %c'cw NbOc(c)cUc[b*c+c= (l)lPcVc,c*l? @ L :b;b+lk x y z RfObEcSfvcA B ,l[ JfKfLfSbh ,bFbsftf] 5b-cufvfudjcwfxfGbVmWm.cvdyfXm^ _ rbbcccYmC ` { | {l6bKc|lBc} ~ ZmHb4l5l6l%bi -bIbzfAfab7b/cBfCfwdkcDfEfJb0m1m:cxdFf2mbbcbsbdcec3mD dbebfb}l8bLc~lCcgbhb4mKb7l8l9l'bc Wbib;c=cE PbQc?c@cWc]b[c]cjb-l.lRcXc^c/lkblbM =b?b:ll F G H TfQbFcUfwcI J ;lmbMfNfOfTb
180 if origin is None: 2d (btb@e[eN XbYc]e^emdfc_e`eubBmCmZcnd{eDmO P nb^b_bEmm Q R S =lYbGc?lxcT U FmvbSlTlUl9be )bwb|e}eV Zb0c~eafodgcbfcfxbGmHm1cpddfImW X ob`b{bJmn Y Z 0 @l0bHc[lyc1 2 KmybVlWlXl!bf *bzbefff3 1b2cgfhfqdhcifjfAbLmMm3crdkfNm4 5 pb|b}bOmo 6 7 8 ]l2bIc^lzc9 ! PmBbYlZl0l#ba Ub# 4c5cp LbMc6c7cSc@b8c9c$ !l#lNcTc!c$l% ' K .b/b%lj q r s PfMbDcQfuct u 'l( GfHfIfRbg +bCblfmf) 3b#cnfofsdicpfqfDbQmRm$ctdrfSm* + qb~bacTmv , - . _l4bJc`lAc/ : UmEb1l2l3l$bb Vb; %c'cw NbOc(c)cUc[b*c+c= (l)lPcVc,c*l? @ L :b;b+lk x y z RfObEcSfvcA B ,l[ JfKfLfSbh ,bFbsftf] 5b-cufvfudjcwfxfGbVmWm.cvdyfXm^ _ rbbcccYmC ` { | {l6bKc|lBc} ~ ZmHb4l5l6l%bi -bIbzfAfab7b/cBfCfwdkcDfEfJb0m1m:cxdFf2mbbcbsbdcec3mD dbebfb}l8bLc~lCcgbhb4mKb7l8l9l'bc Wbib;c=cE PbQc?c@cWc]b[c]cjb-l.lRcXc^c/lkblbM =b?b:ll F G H TfQbFcUfwcI J ;lmbMfNfOfTb
181 return annotation 2d (btb@e[eN XbYc]e^emdfc_e`eubBmCmZcnd{eDmO P nb^b_bEmm Q R S =lYbGc?lxcT U FmvbSlTlUl9be )bwb|e}eV Zb0c~eafodgcbfcfxbGmHm1cpddfImW X ob`b{bJmn Y Z 0 @l0bHc[lyc1 2 KmybVlWlXl!bf *bzbefff3 1b2cgfhfqdhcifjfAbLmMm3crdkfNm4 5 pb|b}bOmo 6 7 8 ]l2bIc^lzc9 ! PmBbYlZl0l#ba Ub# 4c5cp LbMc6c7cSc@b8c9c$ !l#lNcTc!c$l% ' K .b/b%lj q r s PfMbDcQfuct u 'l( GfHfIfRbg +bCblfmf) 3b#cnfofsdicpfqfDbQmRm$ctdrfSm* + qb~bacTmv , - . _l4bJc`lAc/ : UmEb1l2l3l$bb Vb; %c'cw NbOc(c)cUc[b*c+c= (l)lPcVc,c*l? @ L :b;b+lk x y z RfObEcSfvcA B ,l[ JfKfLfSbh ,bFbsftf] 5b-cufvfudjcwfxfGbVmWm.cvdyfXm^ _ rbbcccYmC ` { | {l6bKc|lBc} ~ ZmHb4l5l6l%bi -bIbzfAfab7b/cBfCfwdkcDfEfJb0m1m:cxdFf2mbbcbsbdcec3mD dbebfb}l8bLc~lCcgbhb4mKb7l8l9l'bc Wbib;c=cE PbQc?c@cWc]b[c]cjb-l.lRcXc^c/lkblbM =b?b:ll F G H TfQbFcUfwcI J ;lmbMfNfOfTb
182 elif origin is Annotated: 2d (btb@e[eN XbYc]e^emdfc_e`eubBmCmZcnd{eDmO P nb^b_bEmm Q R S =lYbGc?lxcT U FmvbSlTlUl9be )bwb|e}eV Zb0c~eafodgcbfcfxbGmHm1cpddfImW X ob`b{bJmn Y Z 0 @l0bHc[lyc1 2 KmybVlWlXl!bf *bzbefff3 1b2cgfhfqdhcifjfAbLmMm3crdkfNm4 5 pb|b}bOmo 6 7 8 ]l2bIc^lzc9 ! PmBbYlZl0l#ba Ub# 4c5cp LbMc6c7cSc@b8c9c$ !l#lNcTc!c$l% ' K .b/b%lj q r s PfMbDcQfuct u 'l( GfHfIfRbg +bCblfmf) 3b#cnfofsdicpfqfDbQmRm$ctdrfSm* + qb~bacTmv , - . _l4bJc`lAc/ : UmEb1l2l3l$bb Vb; %c'cw NbOc(c)cUc[b*c+c= (l)lPcVc,c*l? @ L :b;b+lk x y z RfObEcSfvcA B ,l[ JfKfLfSbh ,bFbsftf] 5b-cufvfudjcwfxfGbVmWm.cvdyfXm^ _ rbbcccYmC ` { | {l6bKc|lBc} ~ ZmHb4l5l6l%bi -bIbzfAfab7b/cBfCfwdkcDfEfJb0m1m:cxdFf2mbbcbsbdcec3mD dbebfb}l8bLc~lCcgbhb4mKb7l8l9l'bc Wbib;c=cE PbQc?c@cWc]b[c]cjb-l.lRcXc^c/lkblbM =b?b:ll F G H TfQbFcUfwcI J ;lmbMfNfOfTb
183 type_, *metadata = get_args(annotation) 2d (btb@e[eN XbYc]e^emdfc_e`eubBmCmZcnd{eDmO P nb^b_bEmm Q R S =lYbGc?lxcT U FmvbSlTlUl9be )bwb|e}eV Zb0c~eafodgcbfcfxbGmHm1cpddfImW X ob`b{bJmn Y Z 0 @l0bHc[lyc1 2 KmybVlWlXl!bf *bzbefff3 1b2cgfhfqdhcifjfAbLmMm3crdkfNm4 5 pb|b}bOmo 6 7 8 ]l2bIc^lzc9 ! PmBbYlZl0l#ba Ub# 4c5cp LbMc6c7cSc@b8c9c$ !l#lNcTc!c$l% ' K .b/b%lj q r s PfMbDcQfuct u 'l( GfHfIfRbg +bCblfmf) 3b#cnfofsdicpfqfDbQmRm$ctdrfSm* + qb~bacTmv , - . _l4bJc`lAc/ : UmEb1l2l3l$bb Vb; %c'cw NbOc(c)cUc[b*c+c= (l)lPcVc,c*l? @ L :b;b+lk x y z RfObEcSfvcA B ,l[ JfKfLfSbh ,bFbsftf] 5b-cufvfudjcwfxfGbVmWm.cvdyfXm^ _ rbbcccYmC ` { | {l6bKc|lBc} ~ ZmHb4l5l6l%bi -bIbzfAfab7b/cBfCfwdkcDfEfJb0m1m:cxdFf2mbbcbsbdcec3mD dbebfb}l8bLc~lCcgbhb4mKb7l8l9l'bc Wbib;c=cE PbQc?c@cWc]b[c]cjb-l.lRcXc^c/lkblbM =b?b:ll F G H TfQbFcUfwcI J ;lmbMfNfOfTb
184 type_ = get_sa_type_from_type_annotation(type_) 2d (btb@e[eN XbYc]e^emdfc_e`eubBmCmZcnd{eDmO P nb^b_bEmm Q R S =lYbGc?lxcT U FmvbSlTlUl9be )bwb|e}eV Zb0c~eafodgcbfcfxbGmHm1cpddfImW X ob`b{bJmn Y Z 0 @l0bHc[lyc1 2 KmybVlWlXl!bf *bzbefff3 1b2cgfhfqdhcifjfAbLmMm3crdkfNm4 5 pb|b}bOmo 6 7 8 ]l2bIc^lzc9 ! PmBbYlZl0l#ba Ub# 4c5cp LbMc6c7cSc@b8c9c$ !l#lNcTc!c$l% ' K .b/b%lj q r s PfMbDcQfuct u 'l( GfHfIfRbg +bCblfmf) 3b#cnfofsdicpfqfDbQmRm$ctdrfSm* + qb~bacTmv , - . _l4bJc`lAc/ : UmEb1l2l3l$bb Vb; %c'cw NbOc(c)cUc[b*c+c= (l)lPcVc,c*l? @ L :b;b+lk x y z RfObEcSfvcA B ,l[ JfKfLfSbh ,bFbsftf] 5b-cufvfudjcwfxfGbVmWm.cvdyfXm^ _ rbbcccYmC ` { | {l6bKc|lBc} ~ ZmHb4l5l6l%bi -bIbzfAfab7b/cBfCfwdkcDfEfJb0m1m:cxdFf2mbbcbsbdcec3mD dbebfb}l8bLc~lCcgbhb4mKb7l8l9l'bc Wbib;c=cE PbQc?c@cWc]b[c]cjb-l.lRcXc^c/lkblbM =b?b:ll F G H TfQbFcUfwcI J ;lmbMfNfOfTb
185 # Like Pydantic, apply the last timezone constraint in Annotated.
186 for meta in metadata: 2d (btb@e[eN XbYc]e^emdfc_e`eubBmCmZcnd{eDmO P nb^b_bEmm Q R S =lYbGc?lxcT U FmvbSlTlUl9be )bwb|e}eV Zb0c~eafodgcbfcfxbGmHm1cpddfImW X ob`b{bJmn Y Z 0 @l0bHc[lyc1 2 KmybVlWlXl!bf *bzbefff3 1b2cgfhfqdhcifjfAbLmMm3crdkfNm4 5 pb|b}bOmo 6 7 8 ]l2bIc^lzc9 ! PmBbYlZl0l#ba Ub# 4c5cp LbMc6c7cSc@b8c9c$ !l#lNcTc!c$l% ' K .b/b%lj q r s PfMbDcQfuct u 'l( GfHfIfRbg +bCblfmf) 3b#cnfofsdicpfqfDbQmRm$ctdrfSm* + qb~bacTmv , - . _l4bJc`lAc/ : UmEb1l2l3l$bb Vb; %c'cw NbOc(c)cUc[b*c+c= (l)lPcVc,c*l? @ L :b;b+lk x y z RfObEcSfvcA B ,l[ JfKfLfSbh ,bFbsftf] 5b-cufvfudjcwfxfGbVmWm.cvdyfXm^ _ rbbcccYmC ` { | {l6bKc|lBc} ~ ZmHb4l5l6l%bi -bIbzfAfab7b/cBfCfwdkcDfEfJb0m1m:cxdFf2mbbcbsbdcec3mD dbebfb}l8bLc~lCcgbhb4mKb7l8l9l'bc Wbib;c=cE PbQc?c@cWc]b[c]cjb-l.lRcXc^c/lkblbM =b?b:ll F G H TfQbFcUfwcI J ;lmbMfNfOfTb
187 if meta is AwareDatetime or isinstance(meta, cast(type, AwareDatetime)): 2d (btb@e[eN XbYc]e^emdfc_e`eubBmCmZcnd{eDmO P nb^b_bEmm Q R S =lYbGc?lxcT U FmvbSlTlUl9be )bwb|e}eV Zb0c~eafodgcbfcfxbGmHm1cpddfImW X ob`b{bJmn Y Z 0 @l0bHc[lyc1 2 KmybVlWlXl!bf *bzbefff3 1b2cgfhfqdhcifjfAbLmMm3crdkfNm4 5 pb|b}bOmo 6 7 8 ]l2bIc^lzc9 ! PmBbYlZl0l#ba Ub# 4c5cp LbMc6c7cSc@b8c9c$ !l#lNcTc!c$l% ' K .b/b%lj q r s PfMbDcQfuct u 'l( GfHfIfRbg +bCblfmf) 3b#cnfofsdicpfqfDbQmRm$ctdrfSm* + qb~bacTmv , - . _l4bJc`lAc/ : UmEb1l2l3l$bb Vb; %c'cw NbOc(c)cUc[b*c+c= (l)lPcVc,c*l? @ L :b;b+lk x y z RfObEcSfvcA B ,l[ JfKfLfSbh ,bFbsftf] 5b-cufvfudjcwfxfGbVmWm.cvdyfXm^ _ rbbcccYmC ` { | {l6bKc|lBc} ~ ZmHb4l5l6l%bi -bIbzfAfab7b/cBfCfwdkcDfEfJb0m1m:cxdFf2mbbcbsbdcec3mD dbebfb}l8bLc~lCcgbhb4mKb7l8l9l'bc Wbib;c=cE PbQc?c@cWc]b[c]cjb-l.lRcXc^c/lkblbM =b?b:ll F G H TfQbFcUfwcI J ;lmbMfNfOfTb
188 type_ = AwareDatetime 2XbZb1bLb3bNb5b7bPb
189 elif meta is NaiveDatetime or isinstance(meta, cast(type, NaiveDatetime)): 2d (btb@e[eN XbYc]e^emdfc_e`eubBmCmZcnd{eDmO P nb^b_bEmm Q R S =lYbGc?lxcT U FmvbSlTlUl9be )bwb|e}eV Zb0c~eafodgcbfcfxbGmHm1cpddfImW X ob`b{bJmn Y Z 0 @l0bHc[lyc1 2 KmybVlWlXl!bf *bzbefff3 1b2cgfhfqdhcifjfAbLmMm3crdkfNm4 5 pb|b}bOmo 6 7 8 ]l2bIc^lzc9 ! PmBbYlZl0l#ba Ub# 4c5cp LbMc6c7cSc@b8c9c$ !l#lNcTc!c$l% ' K .b/b%lj q r s PfMbDcQfuct u 'l( GfHfIfRbg +bCblfmf) 3b#cnfofsdicpfqfDbQmRm$ctdrfSm* + qb~bacTmv , - . _l4bJc`lAc/ : UmEb1l2l3l$bb Vb; %c'cw NbOc(c)cUc[b*c+c= (l)lPcVc,c*l? @ L :b;b+lk x y z RfObEcSfvcA B ,l[ JfKfLfSbh ,bFbsftf] 5b-cufvfudjcwfxfGbVmWm.cvdyfXm^ _ rbbcccYmC ` { | {l6bKc|lBc} ~ ZmHb4l5l6l%bi -bIbzfAfab7b/cBfCfwdkcDfEfJb0m1m:cxdFf2mbbcbsbdcec3mD dbebfb}l8bLc~lCcgbhb4mKb7l8l9l'bc Wbib;c=cE PbQc?c@cWc]b[c]cjb-l.lRcXc^c/lkblbM =b?b:ll F G H TfQbFcUfwcI J ;lmbMfNfOfTb
190 type_ = NaiveDatetime 2XbmdZbod1bqdLbSc3bsdNbUc5bud7bwdPbWc
191 return type_ 2d (btb@e[eN XbYc]e^emdfc_e`eubBmCmZcnd{eDmO P nb^b_bEmm Q R S =lYbGc?lxcT U FmvbSlTlUl9be )bwb|e}eV Zb0c~eafodgcbfcfxbGmHm1cpddfImW X ob`b{bJmn Y Z 0 @l0bHc[lyc1 2 KmybVlWlXl!bf *bzbefff3 1b2cgfhfqdhcifjfAbLmMm3crdkfNm4 5 pb|b}bOmo 6 7 8 ]l2bIc^lzc9 ! PmBbYlZl0l#ba Ub# 4c5cp LbMc6c7cSc@b8c9c$ !l#lNcTc!c$l% ' K .b/b%lj q r s PfMbDcQfuct u 'l( GfHfIfRbg +bCblfmf) 3b#cnfofsdicpfqfDbQmRm$ctdrfSm* + qb~bacTmv , - . _l4bJc`lAc/ : UmEb1l2l3l$bb Vb; %c'cw NbOc(c)cUc[b*c+c= (l)lPcVc,c*l? @ L :b;b+lk x y z RfObEcSfvcA B ,l[ JfKfLfSbh ,bFbsftf] 5b-cufvfudjcwfxfGbVmWm.cvdyfXm^ _ rbbcccYmC ` { | {l6bKc|lBc} ~ ZmHb4l5l6l%bi -bIbzfAfab7b/cBfCfwdkcDfEfJb0m1m:cxdFf2mbbcbsbdcec3mD dbebfb}l8bLc~lCcgbhb4mKb7l8l9l'bc Wbib;c=cE PbQc?c@cWc]b[c]cjb-l.lRcXc^c/lkblbM =b?b:ll F G H TfQbFcUfwcI J ;lmbMfNfOfTb
192 if _is_union_type(origin): 2d (btb@e[eN XbYc]e^emdfc_e`eubZcnd{eO P nbm Q R S =lYbGc?lxcT U vbSlTlUle )bwb|e}eV Zb0c~eafodgcbfcfxb1cpddfW X obn Y Z 0 @l0bHc[lyc1 2 ybVlWlXlf *bzbefff3 1b2cgfhfqdhcifjfAb3crdkf4 5 pbo 6 7 8 ]l2bIc^lzc9 ! BbYlZl0la Ub# 4c5cp LbMc6c7cSc@b8c9c$ NcTc!c% ' K j q r s PfMbDcQfuct u ( GfHfIfg +bCblfmf) 3b#cnfofsdicpfqfDb$ctdrf* + qbv , - . _l4bJc`lAc/ : Eb1l2l3lb Vb; %c'cw NbOc(c)cUc[b*c+c= PcVc,c? @ L k x y z RfObEcSfvcA B [ JfKfLfh ,bFbsftf] 5b-cufvfudjcwfxfGb.cvdyf^ _ rbC ` { | {l6bKc|lBc} ~ Hb4l5l6li -bIbzfAfab7b/cBfCfwdkcDfEfJb:cxdFfbbcbsbD dbebfb}l8bLc~lCcgbhbKb7l8l9lc Wbib;c=cE PbQc?c@cWc]b[c]cjbRcXc^ckblbM l F G H TfQbFcUfwcI J mbMfNfOf
193 bases = get_args(annotation) 2d (btb@e[eN XbYc]e^emdfc_e`eubZcnd{eO P nbm Q R S =lYbGc?lxcT U vbSlTlUle )bwb|e}eV Zb0c~eafodgcbfcfxb1cpddfW X obn Y Z 0 @l0bHc[lyc1 2 ybVlWlXlf *bzbefff3 1b2cgfhfqdhcifjfAb3crdkf4 5 pbo 6 7 8 ]l2bIc^lzc9 ! BbYlZl0la Ub# 4c5cp LbMc6c7cSc@b8c9c$ NcTc!c% ' K j q r s PfMbDcQfuct u ( GfHfIfg +bCblfmf) 3b#cnfofsdicpfqfDb$ctdrf* + qbv , - . _l4bJc`lAc/ : Eb1l2l3lb Vb; %c'cw NbOc(c)cUc[b*c+c= PcVc,c? @ L k x y z RfObEcSfvcA B [ JfKfLfh ,bFbsftf] 5b-cufvfudjcwfxfGb.cvdyf^ _ rbC ` { | {l6bKc|lBc} ~ Hb4l5l6li -bIbzfAfab7b/cBfCfwdkcDfEfJb:cxdFfbbcbsbD dbebfb}l8bLc~lCcgbhbKb7l8l9lc Wbib;c=cE PbQc?c@cWc]b[c]cjbRcXc^ckblbM l F G H TfQbFcUfwcI J mbMfNfOf
194 if len(bases) > 2: 2d (btb@e[eN XbYc]e^emdfc_e`eubZcnd{eO P nbm Q R S =lYbGc?lxcT U vbSlTlUle )bwb|e}eV Zb0c~eafodgcbfcfxb1cpddfW X obn Y Z 0 @l0bHc[lyc1 2 ybVlWlXlf *bzbefff3 1b2cgfhfqdhcifjfAb3crdkf4 5 pbo 6 7 8 ]l2bIc^lzc9 ! BbYlZl0la Ub# 4c5cp LbMc6c7cSc@b8c9c$ NcTc!c% ' K j q r s PfMbDcQfuct u ( GfHfIfg +bCblfmf) 3b#cnfofsdicpfqfDb$ctdrf* + qbv , - . _l4bJc`lAc/ : Eb1l2l3lb Vb; %c'cw NbOc(c)cUc[b*c+c= PcVc,c? @ L k x y z RfObEcSfvcA B [ JfKfLfh ,bFbsftf] 5b-cufvfudjcwfxfGb.cvdyf^ _ rbC ` { | {l6bKc|lBc} ~ Hb4l5l6li -bIbzfAfab7b/cBfCfwdkcDfEfJb:cxdFfbbcbsbD dbebfb}l8bLc~lCcgbhbKb7l8l9lc Wbib;c=cE PbQc?c@cWc]b[c]cjbRcXc^ckblbM l F G H TfQbFcUfwcI J mbMfNfOf
195 raise ValueError("Cannot have a (non-optional) union as a SQLAlchemy field")
196 # Non-optional unions are not allowed
197 if bases[0] is not NoneType and bases[1] is not NoneType: 2d (btb@e[eN XbYc]e^emdfc_e`eubZcnd{eO P nbm Q R S =lYbGc?lxcT U vbSlTlUle )bwb|e}eV Zb0c~eafodgcbfcfxb1cpddfW X obn Y Z 0 @l0bHc[lyc1 2 ybVlWlXlf *bzbefff3 1b2cgfhfqdhcifjfAb3crdkf4 5 pbo 6 7 8 ]l2bIc^lzc9 ! BbYlZl0la Ub# 4c5cp LbMc6c7cSc@b8c9c$ NcTc!c% ' K j q r s PfMbDcQfuct u ( GfHfIfg +bCblfmf) 3b#cnfofsdicpfqfDb$ctdrf* + qbv , - . _l4bJc`lAc/ : Eb1l2l3lb Vb; %c'cw NbOc(c)cUc[b*c+c= PcVc,c? @ L k x y z RfObEcSfvcA B [ JfKfLfh ,bFbsftf] 5b-cufvfudjcwfxfGb.cvdyf^ _ rbC ` { | {l6bKc|lBc} ~ Hb4l5l6li -bIbzfAfab7b/cBfCfwdkcDfEfJb:cxdFfbbcbsbD dbebfb}l8bLc~lCcgbhbKb7l8l9lc Wbib;c=cE PbQc?c@cWc]b[c]cjbRcXc^ckblbM l F G H TfQbFcUfwcI J mbMfNfOf
198 raise ValueError("Cannot have a (non-optional) union as a SQLAlchemy field") 2UlXl0lIf3lLf6l9lOf
199 # Optional unions are allowed
200 use_type = bases[0] if bases[0] is not NoneType else bases[1] 2d (btb@e[eN XbYc]e^emdfc_e`eubZcnd{eO P nbm Q R S =lYbGc?lxcT U vbSlTlUle )bwb|e}eV Zb0c~eafodgcbfcfxb1cpddfW X obn Y Z 0 @l0bHc[lyc1 2 ybVlWlXlf *bzbefff3 1b2cgfhfqdhcifjfAb3crdkf4 5 pbo 6 7 8 ]l2bIc^lzc9 ! BbYlZl0la Ub# 4c5cp LbMc6c7cSc@b8c9c$ NcTc!c% ' K j q r s PfMbDcQfuct u ( GfHfIfg +bCblfmf) 3b#cnfofsdicpfqfDb$ctdrf* + qbv , - . _l4bJc`lAc/ : Eb1l2l3lb Vb; %c'cw NbOc(c)cUc[b*c+c= PcVc,c? @ L k x y z RfObEcSfvcA B [ JfKfLfh ,bFbsftf] 5b-cufvfudjcwfxfGb.cvdyf^ _ rbC ` { | {l6bKc|lBc} ~ Hb4l5l6li -bIbzfAfab7b/cBfCfwdkcDfEfJb:cxdFfbbcbsbD dbebfb}l8bLc~lCcgbhbKb7l8l9lc Wbib;c=cE PbQc?c@cWc]b[c]cjbRcXc^ckblbM l F G H TfQbFcUfwcI J mbMfNfOf
201 return get_sa_type_from_type_annotation(use_type) 2d (btb@e[eN XbYc]e^emdfc_e`eubZcnd{eO P nbm Q R S =lYbGc?lxcT U vbSlTlUle )bwb|e}eV Zb0c~eafodgcbfcfxb1cpddfW X obn Y Z 0 @l0bHc[lyc1 2 ybVlWlXlf *bzbefff3 1b2cgfhfqdhcifjfAb3crdkf4 5 pbo 6 7 8 ]l2bIc^lzc9 ! BbYlZl0la Ub# 4c5cp LbMc6c7cSc@b8c9c$ NcTc!c% ' K j q r s PfMbDcQfuct u ( GfHfIfg +bCblfmf) 3b#cnfofsdicpfqfDb$ctdrf* + qbv , - . _l4bJc`lAc/ : Eb1l2l3lb Vb; %c'cw NbOc(c)cUc[b*c+c= PcVc,c? @ L k x y z RfObEcSfvcA B [ JfKfLfh ,bFbsftf] 5b-cufvfudjcwfxfGb.cvdyf^ _ rbC ` { | {l6bKc|lBc} ~ Hb4l5l6li -bIbzfAfab7b/cBfCfwdkcDfEfJb:cxdFfbbcbsbD dbebfb}l8bLc~lCcgbhbKb7l8l9lc Wbib;c=cE PbQc?c@cWc]b[c]cjbRcXc^ckblbM l F G H TfQbFcUfwcI J mbMfNfOf
202 return origin 2SlTlVlWlYlZlGfHf1l2lJfKf4l5l7l8lMfNf
205def get_sa_type_from_field(field: Any) -> Any: 1defagbhic
206 type_: Any = field.rebuild_annotation() 2d (btb@e[eN XbYc]e^emdfc_e`eubBmCmZcnd{eDmO P nb^b_bEmm Q R S =lYbGc?lxcT U FmvbSlTlUl9be )bwb|e}eV Zb0c~eafodgcbfcfxbGmHm1cpddfImW X ob`b{bJmn Y Z 0 @l0bHc[lyc1 2 KmybVlWlXl!bf *bzbefff3 1b2cgfhfqdhcifjfAbLmMm3crdkfNm4 5 pb|b}bOmo 6 7 8 ]l2bIc^lzc9 ! PmBbYlZl0l#ba Ub# 4c5cp LbMc6c7cSc@b8c9c$ !l#lNcTc!c$l% ' K .b/b%lj q r s PfMbDcQfuct u 'l( GfHfIfRbg +bCblfmf) 3b#cnfofsdicpfqfDbQmRm$ctdrfSm* + qb~bacTmv , - . _l4bJc`lAc/ : UmEb1l2l3l$bb Vb; %c'cw NbOc(c)cUc[b*c+c= (l)lPcVc,c*l? @ L :b;b+lk x y z RfObEcSfvcA B ,l[ JfKfLfSbh ,bFbsftf] 5b-cufvfudjcwfxfGbVmWm.cvdyfXm^ _ rbbcccYmC ` { | {l6bKc|lBc} ~ ZmHb4l5l6l%bi -bIbzfAfab7b/cBfCfwdkcDfEfJb0m1m:cxdFf2mbbcbsbdcec3mD dbebfb}l8bLc~lCcgbhb4mKb7l8l9l'bc Wbib;c=cE PbQc?c@cWc]b[c]cjb-l.lRcXc^c/lkblbM =b?b:ll F G H TfQbFcUfwcI J ;lmbMfNfOfTb
207 return get_sa_type_from_type_annotation(type_) 2d (btb@e[eN XbYc]e^emdfc_e`eubBmCmZcnd{eDmO P nb^b_bEmm Q R S =lYbGc?lxcT U FmvbSlTlUl9be )bwb|e}eV Zb0c~eafodgcbfcfxbGmHm1cpddfImW X ob`b{bJmn Y Z 0 @l0bHc[lyc1 2 KmybVlWlXl!bf *bzbefff3 1b2cgfhfqdhcifjfAbLmMm3crdkfNm4 5 pb|b}bOmo 6 7 8 ]l2bIc^lzc9 ! PmBbYlZl0l#ba Ub# 4c5cp LbMc6c7cSc@b8c9c$ !l#lNcTc!c$l% ' K .b/b%lj q r s PfMbDcQfuct u 'l( GfHfIfRbg +bCblfmf) 3b#cnfofsdicpfqfDbQmRm$ctdrfSm* + qb~bacTmv , - . _l4bJc`lAc/ : UmEb1l2l3l$bb Vb; %c'cw NbOc(c)cUc[b*c+c= (l)lPcVc,c*l? @ L :b;b+lk x y z RfObEcSfvcA B ,l[ JfKfLfSbh ,bFbsftf] 5b-cufvfudjcwfxfGbVmWm.cvdyfXm^ _ rbbcccYmC ` { | {l6bKc|lBc} ~ ZmHb4l5l6l%bi -bIbzfAfab7b/cBfCfwdkcDfEfJb0m1m:cxdFf2mbbcbsbdcec3mD dbebfb}l8bLc~lCcgbhb4mKb7l8l9l'bc Wbib;c=cE PbQc?c@cWc]b[c]cjb-l.lRcXc^c/lkblbM =b?b:ll F G H TfQbFcUfwcI J ;lmbMfNfOfTb
210def get_field_metadata(field: Any) -> Any: 1defagbhic
211 for meta in field.metadata: 2d (btb@e[eN XbYc]e^emdfc_e`eubBmCmZcnd{eDmO P nb^b_bEmm Q R S =lYbGc?lxcT U FmvbSlTlUl9be )bwb|e}eV Zb0c~eafodgcbfcfxbGmHm1cpddfImW X ob`b{bJmn Y Z 0 @l0bHc[lyc1 2 KmybVlWlXl!bf *bzbefff3 1b2cgfhfqdhcifjfAbLmMm3crdkfNm4 5 pb|b}bOmo 6 7 8 ]l2bIc^lzc9 ! PmBbYlZl0l#ba Ub# 4c5cp LbMc6c7cSc@b8c9c$ !l#lNcTc!c$l% ' K .b/b%lj q r s PfMbDcQfuct u 'l( GfHfIfRbg +bCblfmf) 3b#cnfofsdicpfqfDbQmRm$ctdrfSm* + qb~bacTmv , - . _l4bJc`lAc/ : UmEb1l2l3l$bb Vb; %c'cw NbOc(c)cUc[b*c+c= (l)lPcVc,c*l? @ L :b;b+lk x y z RfObEcSfvcA B ,l[ JfKfLfSbh ,bFbsftf] 5b-cufvfudjcwfxfGbVmWm.cvdyfXm^ _ rbbcccYmC ` { | {l6bKc|lBc} ~ ZmHb4l5l6l%bi -bIbzfAfab7b/cBfCfwdkcDfEfJb0m1m:cxdFf2mbbcbsbdcec3mD dbebfb}l8bLc~lCcgbhb4mKb7l8l9l'bc Wbib;c=cE PbQc?c@cWc]b[c]cjb-l.lRcXc^c/lkblbM =b?b:ll F G H TfQbFcUfwcI J ;lmbMfNfOfTb
212 if isinstance(meta, (PydanticMetadata, MaxLen)): 2d (btb@e[eN XbYc]e^emdfc_e`eubBmCmZcnd{eDmO P nb^b_bEmm Q R S =lYbGc?lxcT U FmvbSlTlUl9be )bwb|e}eV Zb0c~eafodgcbfcfxbGmHm1cpddfImW X ob`b{bJmn Y Z 0 @l0bHc[lyc1 2 KmybVlWlXl!bf *bzbefff3 1b2cgfhfqdhcifjfAbLmMm3crdkfNm4 5 pb|b}bOmo 6 7 8 ]l2bIc^lzc9 ! PmBbYlZl0l#ba Ub# 4c5cp LbMc6c7cSc@b8c9c$ !l#lNcTc!c$l% ' K .b/b%lj q r s PfMbDcQfuct u 'l( GfHfIfRbg +bCblfmf) 3b#cnfofsdicpfqfDbQmRm$ctdrfSm* + qb~bacTmv , - . _l4bJc`lAc/ : UmEb1l2l3l$bb Vb; %c'cw NbOc(c)cUc[b*c+c= (l)lPcVc,c*l? @ L :b;b+lk x y z RfObEcSfvcA B ,l[ JfKfLfSbh ,bFbsftf] 5b-cufvfudjcwfxfGbVmWm.cvdyfXm^ _ rbbcccYmC ` { | {l6bKc|lBc} ~ ZmHb4l5l6l%bi -bIbzfAfab7b/cBfCfwdkcDfEfJb0m1m:cxdFf2mbbcbsbdcec3mD dbebfb}l8bLc~lCcgbhb4mKb7l8l9l'bc Wbib;c=cE PbQc?c@cWc]b[c]cjb-l.lRcXc^c/lkblbM =b?b:ll F G H TfQbFcUfwcI J ;lmbMfNfOfTb
213 return meta 1defagbhic
214 return FakeMetadata() 2d (btb@e[eN XbYc]e^emdfc_e`eubBmCmZcnd{eDmO P nb^b_bEmm Q R S =lYbGc?lxcT U FmvbSlTlUl9be )bwb|e}eV Zb0c~eafodgcbfcfxbGmHm1cpddfImW X ob`b{bJmn Y Z 0 @l0bHc[lyc1 2 KmybVlWlXl!bf *bzbefff3 1b2cgfhfqdhcifjfAbLmMm3crdkfNm4 5 pb|b}bOmo 6 7 8 ]l2bIc^lzc9 ! PmBbYlZl0l#ba Ub# 4c5cp LbMc6c7cSc@b8c9c$ !l#lNcTc!c$l% ' K .b/b%lj q r s PfMbDcQfuct u 'l( GfHfIfRbg +bCblfmf) 3b#cnfofsdicpfqfDbQmRm$ctdrfSm* + qb~bacTmv , - . _l4bJc`lAc/ : UmEb1l2l3l$bb Vb; %c'cw NbOc(c)cUc[b*c+c= (l)lPcVc,c*l? @ L :b;b+lk x y z RfObEcSfvcA B ,l[ JfKfLfSbh ,bFbsftf] 5b-cufvfudjcwfxfGbVmWm.cvdyfXm^ _ rbbcccYmC ` { | {l6bKc|lBc} ~ ZmHb4l5l6l%bi -bIbzfAfab7b/cBfCfwdkcDfEfJb0m1m:cxdFf2mbbcbsbdcec3mD dbebfb}l8bLc~lCcgbhb4mKb7l8l9l'bc Wbib;c=cE PbQc?c@cWc]b[c]cjb-l.lRcXc^c/lkblbM =b?b:ll F G H TfQbFcUfwcI J ;lmbMfNfOfTb
217def sqlmodel_table_construct( 1defagbhic
218 *,
219 self_instance: _TSQLModel,
220 values: dict[str, Any],
221 _fields_set: set[str] | None = None,
222) -> _TSQLModel:
223 # Copy from Pydantic's BaseModel.construct()
224 # Ref: https://github.com/pydantic/pydantic/blob/v2.5.2/pydantic/main.py#L198
225 # Modified to not include everything, only the model fields, and to
226 # set relationships
227 # SQLModel override to get class SQLAlchemy __dict__ attributes and
228 # set them back in after creating the object
229 # new_obj = cls.__new__(cls)
230 cls = type(self_instance) 2VfWfXf_cJllcYfZf0f(btbN ubO P nb^b_bm Q R S YbT U vb1fydzd2f3f4f5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/fAdBdCd:f;f=f?f@f[f]f^f_fDdEdFdGdHdIdJdKdLdMdNd`f{f|f}f~fagbgcgdgegfggghgigjgkglgmgng9bogpgqg`cKlmcrgsgtg)bwbV xbW X ob`b{bn Y Z 0 0b1 2 ybugOdPdvgwgxgygzgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQdRdSdQgRgSgTgUgVgWgXgYgTdUdVdWdXdYdZd0d1d2d3dZg0g1g2g3g4g5g6g7g8g9g!g#g$g%g'g(g)g*g!b+g,g-g{cLlnc.g/g:g*bzb3 Ab4 5 pb|b}bo 6 7 8 2b9 ! Bb;g4d5d=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghhhih6d7d8djhkhlhmhnhohphqhrh9d!d#d$d%d'd(d)d*d+d,dshthuhvhwhxhyhzhAhBhChDhEhFhGhHhIhJhKh#bLhMhNh|cMlocOhPhQhUb# p $ % ' K .b/bj q r s Mbt u ( Rh-d.dShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h/d:d;d%h'h(h)h*h+h,h-h.h=d?d@d[d]d^d_d`d{d|d}d/h:h;h=h?h@h[h]h^h_h`h{h|h}h~haibicidiRbeifigi}cNlpchiiiji+bCb) Db* + qb~bacv , - . 4b/ : Ebki~daeliminioipiqirisitiuiviwixiyiziAiBiCiDiEiFibecedeGiHiIiJiKiLiMiNiOieefegeheiejekelemeneoePiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i$b8i9i!i~cOlqc#i$i%iVb; w = ? @ L :b;bk x y z ObA B [ 'ipeqe(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i_i`i{i|i}iresete~iajbjcjdjejfjgjhjuevewexeyezeAeBeCeDeEeijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjSbBjCjDjadPlrcEjFjGj,bFb] Gb^ _ rbbcccC ` { | 6b} ~ HbHjFeGeIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j2jHeIeJe3j4j5j6j7j8j9j!j#jKeLeMeNeOePeQeReSeTeUe$j%j'j(j)j*j+j,j-j.j/j:j;j=j?j@j[j]j^j%b_j`j{jbdQlsc|j}j~j-bIbabJbbbcbsbdcecD dbebfb8bgbhbKbakVeWebkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkXeYeZewkxkykzkAkBkCkDkEk0e1e2e3e4e5e6e7e8e9e!eFkGkHkIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXk'bYkZk0kcdRltc1k2k3kWbibE jbkblbM =b?bl F G H QbI J mb4k#e$e5k6k7k8k9k!k#k$k%k'k(k)k*k+k,k-k.k/k:k;k=k%e'e(e?k@k[k]k^k_k`k{k|k)e*e+e,e-e.e/e:e;e=e?e}k~kalblcldlelflglhliljlklllmlnlolplqlTb
231 old_dict = self_instance.__dict__.copy() 2VfWfXf_cJllcYfZf0f(btbN ubO P nb^b_bm Q R S YbT U vb1fydzd2f3f4f5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/fAdBdCd:f;f=f?f@f[f]f^f_fDdEdFdGdHdIdJdKdLdMdNd`f{f|f}f~fagbgcgdgegfggghgigjgkglgmgng9bogpgqg`cKlmcrgsgtg)bwbV xbW X ob`b{bn Y Z 0 0b1 2 ybugOdPdvgwgxgygzgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQdRdSdQgRgSgTgUgVgWgXgYgTdUdVdWdXdYdZd0d1d2d3dZg0g1g2g3g4g5g6g7g8g9g!g#g$g%g'g(g)g*g!b+g,g-g{cLlnc.g/g:g*bzb3 Ab4 5 pb|b}bo 6 7 8 2b9 ! Bb;g4d5d=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghhhih6d7d8djhkhlhmhnhohphqhrh9d!d#d$d%d'd(d)d*d+d,dshthuhvhwhxhyhzhAhBhChDhEhFhGhHhIhJhKh#bLhMhNh|cMlocOhPhQhUb# p $ % ' K .b/bj q r s Mbt u ( Rh-d.dShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h/d:d;d%h'h(h)h*h+h,h-h.h=d?d@d[d]d^d_d`d{d|d}d/h:h;h=h?h@h[h]h^h_h`h{h|h}h~haibicidiRbeifigi}cNlpchiiiji+bCb) Db* + qb~bacv , - . 4b/ : Ebki~daeliminioipiqirisitiuiviwixiyiziAiBiCiDiEiFibecedeGiHiIiJiKiLiMiNiOieefegeheiejekelemeneoePiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i$b8i9i!i~cOlqc#i$i%iVb; w = ? @ L :b;bk x y z ObA B [ 'ipeqe(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i_i`i{i|i}iresete~iajbjcjdjejfjgjhjuevewexeyezeAeBeCeDeEeijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjSbBjCjDjadPlrcEjFjGj,bFb] Gb^ _ rbbcccC ` { | 6b} ~ HbHjFeGeIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j2jHeIeJe3j4j5j6j7j8j9j!j#jKeLeMeNeOePeQeReSeTeUe$j%j'j(j)j*j+j,j-j.j/j:j;j=j?j@j[j]j^j%b_j`j{jbdQlsc|j}j~j-bIbabJbbbcbsbdcecD dbebfb8bgbhbKbakVeWebkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkXeYeZewkxkykzkAkBkCkDkEk0e1e2e3e4e5e6e7e8e9e!eFkGkHkIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXk'bYkZk0kcdRltc1k2k3kWbibE jbkblbM =b?bl F G H QbI J mb4k#e$e5k6k7k8k9k!k#k$k%k'k(k)k*k+k,k-k.k/k:k;k=k%e'e(e?k@k[k]k^k_k`k{k|k)e*e+e,e-e.e/e:e;e=e?e}k~kalblcldlelflglhliljlklllmlnlolplqlTb
232 # End SQLModel override
234 fields_values: dict[str, Any] = {} 2VfWfXf_cJllcYfZf0f(btbN ubO P nb^b_bm Q R S YbT U vb1fydzd2f3f4f5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/fAdBdCd:f;f=f?f@f[f]f^f_fDdEdFdGdHdIdJdKdLdMdNd`f{f|f}f~fagbgcgdgegfggghgigjgkglgmgng9bogpgqg`cKlmcrgsgtg)bwbV xbW X ob`b{bn Y Z 0 0b1 2 ybugOdPdvgwgxgygzgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQdRdSdQgRgSgTgUgVgWgXgYgTdUdVdWdXdYdZd0d1d2d3dZg0g1g2g3g4g5g6g7g8g9g!g#g$g%g'g(g)g*g!b+g,g-g{cLlnc.g/g:g*bzb3 Ab4 5 pb|b}bo 6 7 8 2b9 ! Bb;g4d5d=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghhhih6d7d8djhkhlhmhnhohphqhrh9d!d#d$d%d'd(d)d*d+d,dshthuhvhwhxhyhzhAhBhChDhEhFhGhHhIhJhKh#bLhMhNh|cMlocOhPhQhUb# p $ % ' K .b/bj q r s Mbt u ( Rh-d.dShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h/d:d;d%h'h(h)h*h+h,h-h.h=d?d@d[d]d^d_d`d{d|d}d/h:h;h=h?h@h[h]h^h_h`h{h|h}h~haibicidiRbeifigi}cNlpchiiiji+bCb) Db* + qb~bacv , - . 4b/ : Ebki~daeliminioipiqirisitiuiviwixiyiziAiBiCiDiEiFibecedeGiHiIiJiKiLiMiNiOieefegeheiejekelemeneoePiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i$b8i9i!i~cOlqc#i$i%iVb; w = ? @ L :b;bk x y z ObA B [ 'ipeqe(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i_i`i{i|i}iresete~iajbjcjdjejfjgjhjuevewexeyezeAeBeCeDeEeijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjSbBjCjDjadPlrcEjFjGj,bFb] Gb^ _ rbbcccC ` { | 6b} ~ HbHjFeGeIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j2jHeIeJe3j4j5j6j7j8j9j!j#jKeLeMeNeOePeQeReSeTeUe$j%j'j(j)j*j+j,j-j.j/j:j;j=j?j@j[j]j^j%b_j`j{jbdQlsc|j}j~j-bIbabJbbbcbsbdcecD dbebfb8bgbhbKbakVeWebkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkXeYeZewkxkykzkAkBkCkDkEk0e1e2e3e4e5e6e7e8e9e!eFkGkHkIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXk'bYkZk0kcdRltc1k2k3kWbibE jbkblbM =b?bl F G H QbI J mb4k#e$e5k6k7k8k9k!k#k$k%k'k(k)k*k+k,k-k.k/k:k;k=k%e'e(e?k@k[k]k^k_k`k{k|k)e*e+e,e-e.e/e:e;e=e?e}k~kalblcldlelflglhliljlklllmlnlolplqlTb
235 defaults: dict[ 2VfWfXf_cJllcYfZf0f(btbN ubO P nb^b_bm Q R S YbT U vb1fydzd2f3f4f5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/fAdBdCd:f;f=f?f@f[f]f^f_fDdEdFdGdHdIdJdKdLdMdNd`f{f|f}f~fagbgcgdgegfggghgigjgkglgmgng9bogpgqg`cKlmcrgsgtg)bwbV xbW X ob`b{bn Y Z 0 0b1 2 ybugOdPdvgwgxgygzgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQdRdSdQgRgSgTgUgVgWgXgYgTdUdVdWdXdYdZd0d1d2d3dZg0g1g2g3g4g5g6g7g8g9g!g#g$g%g'g(g)g*g!b+g,g-g{cLlnc.g/g:g*bzb3 Ab4 5 pb|b}bo 6 7 8 2b9 ! Bb;g4d5d=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghhhih6d7d8djhkhlhmhnhohphqhrh9d!d#d$d%d'd(d)d*d+d,dshthuhvhwhxhyhzhAhBhChDhEhFhGhHhIhJhKh#bLhMhNh|cMlocOhPhQhUb# p $ % ' K .b/bj q r s Mbt u ( Rh-d.dShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h/d:d;d%h'h(h)h*h+h,h-h.h=d?d@d[d]d^d_d`d{d|d}d/h:h;h=h?h@h[h]h^h_h`h{h|h}h~haibicidiRbeifigi}cNlpchiiiji+bCb) Db* + qb~bacv , - . 4b/ : Ebki~daeliminioipiqirisitiuiviwixiyiziAiBiCiDiEiFibecedeGiHiIiJiKiLiMiNiOieefegeheiejekelemeneoePiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i$b8i9i!i~cOlqc#i$i%iVb; w = ? @ L :b;bk x y z ObA B [ 'ipeqe(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i_i`i{i|i}iresete~iajbjcjdjejfjgjhjuevewexeyezeAeBeCeDeEeijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjSbBjCjDjadPlrcEjFjGj,bFb] Gb^ _ rbbcccC ` { | 6b} ~ HbHjFeGeIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j2jHeIeJe3j4j5j6j7j8j9j!j#jKeLeMeNeOePeQeReSeTeUe$j%j'j(j)j*j+j,j-j.j/j:j;j=j?j@j[j]j^j%b_j`j{jbdQlsc|j}j~j-bIbabJbbbcbsbdcecD dbebfb8bgbhbKbakVeWebkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkXeYeZewkxkykzkAkBkCkDkEk0e1e2e3e4e5e6e7e8e9e!eFkGkHkIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXk'bYkZk0kcdRltc1k2k3kWbibE jbkblbM =b?bl F G H QbI J mb4k#e$e5k6k7k8k9k!k#k$k%k'k(k)k*k+k,k-k.k/k:k;k=k%e'e(e?k@k[k]k^k_k`k{k|k)e*e+e,e-e.e/e:e;e=e?e}k~kalblcldlelflglhliljlklllmlnlolplqlTb
236 str, Any
237 ] = {} # keeping this separate from `fields_values` helps us compute `_fields_set`
238 for name, field in cls.model_fields.items(): 2VfWfXf_cJllcYfZf0f(btbN ubO P nb^b_bm Q R S YbT U vb1fydzd2f3f4f5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/fAdBdCd:f;f=f?f@f[f]f^f_fDdEdFdGdHdIdJdKdLdMdNd`f{f|f}f~fagbgcgdgegfggghgigjgkglgmgng9bogpgqg`cKlmcrgsgtg)bwbV xbW X ob`b{bn Y Z 0 0b1 2 ybugOdPdvgwgxgygzgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQdRdSdQgRgSgTgUgVgWgXgYgTdUdVdWdXdYdZd0d1d2d3dZg0g1g2g3g4g5g6g7g8g9g!g#g$g%g'g(g)g*g!b+g,g-g{cLlnc.g/g:g*bzb3 Ab4 5 pb|b}bo 6 7 8 2b9 ! Bb;g4d5d=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghhhih6d7d8djhkhlhmhnhohphqhrh9d!d#d$d%d'd(d)d*d+d,dshthuhvhwhxhyhzhAhBhChDhEhFhGhHhIhJhKh#bLhMhNh|cMlocOhPhQhUb# p $ % ' K .b/bj q r s Mbt u ( Rh-d.dShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h/d:d;d%h'h(h)h*h+h,h-h.h=d?d@d[d]d^d_d`d{d|d}d/h:h;h=h?h@h[h]h^h_h`h{h|h}h~haibicidiRbeifigi}cNlpchiiiji+bCb) Db* + qb~bacv , - . 4b/ : Ebki~daeliminioipiqirisitiuiviwixiyiziAiBiCiDiEiFibecedeGiHiIiJiKiLiMiNiOieefegeheiejekelemeneoePiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i$b8i9i!i~cOlqc#i$i%iVb; w = ? @ L :b;bk x y z ObA B [ 'ipeqe(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i_i`i{i|i}iresete~iajbjcjdjejfjgjhjuevewexeyezeAeBeCeDeEeijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjSbBjCjDjadPlrcEjFjGj,bFb] Gb^ _ rbbcccC ` { | 6b} ~ HbHjFeGeIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j2jHeIeJe3j4j5j6j7j8j9j!j#jKeLeMeNeOePeQeReSeTeUe$j%j'j(j)j*j+j,j-j.j/j:j;j=j?j@j[j]j^j%b_j`j{jbdQlsc|j}j~j-bIbabJbbbcbsbdcecD dbebfb8bgbhbKbakVeWebkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkXeYeZewkxkykzkAkBkCkDkEk0e1e2e3e4e5e6e7e8e9e!eFkGkHkIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXk'bYkZk0kcdRltc1k2k3kWbibE jbkblbM =b?bl F G H QbI J mb4k#e$e5k6k7k8k9k!k#k$k%k'k(k)k*k+k,k-k.k/k:k;k=k%e'e(e?k@k[k]k^k_k`k{k|k)e*e+e,e-e.e/e:e;e=e?e}k~kalblcldlelflglhliljlklllmlnlolplqlTb
239 if field.alias and field.alias in values: 2VfWfXf_cJllcYfZf0f(btbN ubO P nb^b_bm Q R S YbT U vb1fydzd2f3f4f5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/fAdBdCd:f;f=f?f@f[f]f^f_fDdEdFdGdHdIdJdKdLdMdNd`f{f|f}f~fagbgcgdgegfggghgigjgkglgmgng9bogpgqg`cKlmcrgsgtg)bwbV xbW X ob`b{bn Y Z 0 0b1 2 ybugOdPdvgwgxgygzgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQdRdSdQgRgSgTgUgVgWgXgYgTdUdVdWdXdYdZd0d1d2d3dZg0g1g2g3g4g5g6g7g8g9g!g#g$g%g'g(g)g*g!b+g,g-g{cLlnc.g/g:g*bzb3 Ab4 5 pb|b}bo 6 7 8 2b9 ! Bb;g4d5d=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghhhih6d7d8djhkhlhmhnhohphqhrh9d!d#d$d%d'd(d)d*d+d,dshthuhvhwhxhyhzhAhBhChDhEhFhGhHhIhJhKh#bLhMhNh|cMlocOhPhQhUb# p $ % ' K .b/bj q r s Mbt u ( Rh-d.dShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h/d:d;d%h'h(h)h*h+h,h-h.h=d?d@d[d]d^d_d`d{d|d}d/h:h;h=h?h@h[h]h^h_h`h{h|h}h~haibicidiRbeifigi}cNlpchiiiji+bCb) Db* + qb~bacv , - . 4b/ : Ebki~daeliminioipiqirisitiuiviwixiyiziAiBiCiDiEiFibecedeGiHiIiJiKiLiMiNiOieefegeheiejekelemeneoePiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i$b8i9i!i~cOlqc#i$i%iVb; w = ? @ L :b;bk x y z ObA B [ 'ipeqe(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i_i`i{i|i}iresete~iajbjcjdjejfjgjhjuevewexeyezeAeBeCeDeEeijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjSbBjCjDjadPlrcEjFjGj,bFb] Gb^ _ rbbcccC ` { | 6b} ~ HbHjFeGeIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j2jHeIeJe3j4j5j6j7j8j9j!j#jKeLeMeNeOePeQeReSeTeUe$j%j'j(j)j*j+j,j-j.j/j:j;j=j?j@j[j]j^j%b_j`j{jbdQlsc|j}j~j-bIbabJbbbcbsbdcecD dbebfb8bgbhbKbakVeWebkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkXeYeZewkxkykzkAkBkCkDkEk0e1e2e3e4e5e6e7e8e9e!eFkGkHkIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXk'bYkZk0kcdRltc1k2k3kWbibE jbkblbM =b?bl F G H QbI J mb4k#e$e5k6k7k8k9k!k#k$k%k'k(k)k*k+k,k-k.k/k:k;k=k%e'e(e?k@k[k]k^k_k`k{k|k)e*e+e,e-e.e/e:e;e=e?e}k~kalblcldlelflglhliljlklllmlnlolplqlTb
240 fields_values[name] = values.pop(field.alias)
241 elif name in values: 2VfWfXf_cJllcYfZf0f(btbN ubO P nb^b_bm Q R S YbT U vb1fydzd2f3f4f5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/fAdBdCd:f;f=f?f@f[f]f^f_fDdEdFdGdHdIdJdKdLdMdNd`f{f|f}f~fagbgcgdgegfggghgigjgkglgmgng9bogpgqg`cKlmcrgsgtg)bwbV xbW X ob`b{bn Y Z 0 0b1 2 ybugOdPdvgwgxgygzgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQdRdSdQgRgSgTgUgVgWgXgYgTdUdVdWdXdYdZd0d1d2d3dZg0g1g2g3g4g5g6g7g8g9g!g#g$g%g'g(g)g*g!b+g,g-g{cLlnc.g/g:g*bzb3 Ab4 5 pb|b}bo 6 7 8 2b9 ! Bb;g4d5d=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghhhih6d7d8djhkhlhmhnhohphqhrh9d!d#d$d%d'd(d)d*d+d,dshthuhvhwhxhyhzhAhBhChDhEhFhGhHhIhJhKh#bLhMhNh|cMlocOhPhQhUb# p $ % ' K .b/bj q r s Mbt u ( Rh-d.dShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h/d:d;d%h'h(h)h*h+h,h-h.h=d?d@d[d]d^d_d`d{d|d}d/h:h;h=h?h@h[h]h^h_h`h{h|h}h~haibicidiRbeifigi}cNlpchiiiji+bCb) Db* + qb~bacv , - . 4b/ : Ebki~daeliminioipiqirisitiuiviwixiyiziAiBiCiDiEiFibecedeGiHiIiJiKiLiMiNiOieefegeheiejekelemeneoePiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i$b8i9i!i~cOlqc#i$i%iVb; w = ? @ L :b;bk x y z ObA B [ 'ipeqe(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i_i`i{i|i}iresete~iajbjcjdjejfjgjhjuevewexeyezeAeBeCeDeEeijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjSbBjCjDjadPlrcEjFjGj,bFb] Gb^ _ rbbcccC ` { | 6b} ~ HbHjFeGeIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j2jHeIeJe3j4j5j6j7j8j9j!j#jKeLeMeNeOePeQeReSeTeUe$j%j'j(j)j*j+j,j-j.j/j:j;j=j?j@j[j]j^j%b_j`j{jbdQlsc|j}j~j-bIbabJbbbcbsbdcecD dbebfb8bgbhbKbakVeWebkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkXeYeZewkxkykzkAkBkCkDkEk0e1e2e3e4e5e6e7e8e9e!eFkGkHkIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXk'bYkZk0kcdRltc1k2k3kWbibE jbkblbM =b?bl F G H QbI J mb4k#e$e5k6k7k8k9k!k#k$k%k'k(k)k*k+k,k-k.k/k:k;k=k%e'e(e?k@k[k]k^k_k`k{k|k)e*e+e,e-e.e/e:e;e=e?e}k~kalblcldlelflglhliljlklllmlnlolplqlTb
242 fields_values[name] = values.pop(name) 2VfWfXf_clcYfZf0ftbN ubO P ^b_bm Q R S YbT U vb1fydzd2f3f4f5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/fAdBdCd:f;f=f?f@f[f]f^f_fDdEdFdGdHdIdJdKdLdMdNd`f{f|f}f~fagbgcgdgegfggghgigjgkglgmgng9bogpgqg`cmcrgsgtgwbV xbW X `b{bn Y Z 0 0b1 2 ybugOdPdvgwgxgygzgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQdRdSdQgRgSgTgUgVgWgXgYgTdUdVdWdXdYdZd0d1d2d3dZg0g1g2g3g4g5g6g7g8g9g!g#g$g%g'g(g)g*g!b+g,g-g{cnc.g/g:gzb3 Ab4 5 |b}bo 6 7 8 2b9 ! Bb;g4d5d=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghhhih6d7d8djhkhlhmhnhohphqhrh9d!d#d$d%d'd(d)d*d+d,dshthuhvhwhxhyhzhAhBhChDhEhFhGhHhIhJhKh#bLhMhNh|cocOhPhQh# p $ % ' .b/bj q r s Mbt u ( Rh-d.dShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h/d:d;d%h'h(h)h*h+h,h-h.h=d?d@d[d]d^d_d`d{d|d}d/h:h;h=h?h@h[h]h^h_h`h{h|h}h~haibicidiRbeifigi}cpchiiijiCb) Db* + ~bacv , - . 4b/ : Ebki~daeliminioipiqirisitiuiviwixiyiziAiBiCiDiEiFibecedeGiHiIiJiKiLiMiNiOieefegeheiejekelemeneoePiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i$b8i9i!i~cqc#i$i%i; w = ? @ :b;bk x y z ObA B [ 'ipeqe(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i_i`i{i|i}iresete~iajbjcjdjejfjgjhjuevewexeyezeAeBeCeDeEeijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjSbBjCjDjadrcEjFjGjFb] Gb^ _ bcccC ` { | 6b} ~ HbHjFeGeIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j2jHeIeJe3j4j5j6j7j8j9j!j#jKeLeMeNeOePeQeReSeTeUe$j%j'j(j)j*j+j,j-j.j/j:j;j=j?j@j[j]j^j%b_j`j{jbdsc|j}j~jIbabJbbbcbdcecD dbebfb8bgbhbKbakVeWebkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkXeYeZewkxkykzkAkBkCkDkEk0e1e2e3e4e5e6e7e8e9e!eFkGkHkIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXk'bYkZk0kcdtc1k2k3kibE jbkblb=b?bl F G H QbI J mb4k#e$e5k6k7k8k9k!k#k$k%k'k(k)k*k+k,k-k.k/k:k;k=k%e'e(e?k@k[k]k^k_k`k{k|k)e*e+e,e-e.e/e:e;e=e?e}k~kalblcldlelflglhliljlklllmlnlolplqlTb
243 elif not field.is_required(): 2VfWfXf_cJllcYfZf0f(btbN ubO P nbm Q R S T U vb1fydzd2f3f4f5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/fAdBdCd:f;f=f?f@f[f]f^f_fDdEdFdGdHdIdJdKdLdMdNd`f{f|f}f~fagbgcgdgegfggghgigjgkglgmgng9bogpgqg`cKlmcrgsgtg)bwbV xbW X obn Y Z 0 1 2 ybugOdPdvgwgxgygzgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQdRdSdQgRgSgTgUgVgWgXgYgTdUdVdWdXdYdZd0d1d2d3dZg0g1g2g3g4g5g6g7g8g9g!g#g$g%g'g(g)g*g!b+g,g-g{cLlnc.g/g:g*bzb3 Ab4 5 pbo 6 7 8 9 ! Bb;g4d5d=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghhhih6d7d8djhkhlhmhnhohphqhrh9d!d#d$d%d'd(d)d*d+d,dshthuhvhwhxhyhzhAhBhChDhEhFhGhHhIhJhKh#bLhMhNh|cMlocOhPhQhUb# p $ % ' K j q r s t u ( Rh-d.dShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h/d:d;d%h'h(h)h*h+h,h-h.h=d?d@d[d]d^d_d`d{d|d}d/h:h;h=h?h@h[h]h^h_h`h{h|h}h~haibicidiRbeifigi}cNlpchiiiji+bCb) Db* + qbv , - . / : Ebki~daeliminioipiqirisitiuiviwixiyiziAiBiCiDiEiFibecedeGiHiIiJiKiLiMiNiOieefegeheiejekelemeneoePiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i$b8i9i!i~cOlqc#i$i%iVb; w = ? @ L k x y z A B [ 'ipeqe(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i_i`i{i|i}iresete~iajbjcjdjejfjgjhjuevewexeyezeAeBeCeDeEeijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjSbBjCjDjadPlrcEjFjGj,bFb] Gb^ _ rbC ` { | } ~ HbHjFeGeIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j2jHeIeJe3j4j5j6j7j8j9j!j#jKeLeMeNeOePeQeReSeTeUe$j%j'j(j)j*j+j,j-j.j/j:j;j=j?j@j[j]j^j%b_j`j{jbdQlsc|j}j~j-bIbabJbbbcbsbD dbebfbgbhbKbakVeWebkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkXeYeZewkxkykzkAkBkCkDkEk0e1e2e3e4e5e6e7e8e9e!eFkGkHkIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXk'bYkZk0kcdRltc1k2k3kWbibE jbkblbM l F G H I J mb4k#e$e5k6k7k8k9k!k#k$k%k'k(k)k*k+k,k-k.k/k:k;k=k%e'e(e?k@k[k]k^k_k`k{k|k)e*e+e,e-e.e/e:e;e=e?e}k~kalblcldlelflglhliljlklllmlnlolplqlTb
244 defaults[name] = field.get_default(call_default_factory=True) 2VfWfXf_cJllcYfZf0f(btbN ubO P nbm Q R S T U vb1fydzd2f3f4f5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/fAdBdCd:f;f=f?f@f[f]f^f_fDdEdFdGdHdIdJdKdLdMdNd`f{f|f}f~fagbgcgdgegfggghgigjgkglgmgng9bogpgqg`cKlmcrgsgtg)bwbV xbW X obn Y Z 0 1 2 ybugOdPdvgwgxgygzgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQdRdSdQgRgSgTgUgVgWgXgYgTdUdVdWdXdYdZd0d1d2d3dZg0g1g2g3g4g5g6g7g8g9g!g#g$g%g'g(g)g*g!b+g,g-g{cLlnc.g/g:g*bzb3 Ab4 5 pbo 6 7 8 9 ! Bb;g4d5d=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghhhih6d7d8djhkhlhmhnhohphqhrh9d!d#d$d%d'd(d)d*d+d,dshthuhvhwhxhyhzhAhBhChDhEhFhGhHhIhJhKh#bLhMhNh|cMlocOhPhQhUb# p $ % ' K j q r s t u ( Rh-d.dShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h/d:d;d%h'h(h)h*h+h,h-h.h=d?d@d[d]d^d_d`d{d|d}d/h:h;h=h?h@h[h]h^h_h`h{h|h}h~haibicidiRbeifigi}cNlpchiiiji+bCb) Db* + qbv , - . / : Ebki~daeliminioipiqirisitiuiviwixiyiziAiBiCiDiEiFibecedeGiHiIiJiKiLiMiNiOieefegeheiejekelemeneoePiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i$b8i9i!i~cOlqc#i$i%iVb; w = ? @ L k x y z A B [ 'ipeqe(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i_i`i{i|i}iresete~iajbjcjdjejfjgjhjuevewexeyezeAeBeCeDeEeijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjSbBjCjDjadPlrcEjFjGj,bFb] Gb^ _ rbC ` { | } ~ HbHjFeGeIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j2jHeIeJe3j4j5j6j7j8j9j!j#jKeLeMeNeOePeQeReSeTeUe$j%j'j(j)j*j+j,j-j.j/j:j;j=j?j@j[j]j^j%b_j`j{jbdQlsc|j}j~j-bIbabJbbbcbsbD dbebfbgbhbKbakVeWebkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkXeYeZewkxkykzkAkBkCkDkEk0e1e2e3e4e5e6e7e8e9e!eFkGkHkIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXk'bYkZk0kcdRltc1k2k3kWbibE jbkblbM l F G H I J mb4k#e$e5k6k7k8k9k!k#k$k%k'k(k)k*k+k,k-k.k/k:k;k=k%e'e(e?k@k[k]k^k_k`k{k|k)e*e+e,e-e.e/e:e;e=e?e}k~kalblcldlelflglhliljlklllmlnlolplqlTb
245 if _fields_set is None: 2VfWfXf_cJllcYfZf0f(btbN ubO P nb^b_bm Q R S YbT U vb1fydzd2f3f4f5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/fAdBdCd:f;f=f?f@f[f]f^f_fDdEdFdGdHdIdJdKdLdMdNd`f{f|f}f~fagbgcgdgegfggghgigjgkglgmgng9bogpgqg`cKlmcrgsgtg)bwbV xbW X ob`b{bn Y Z 0 0b1 2 ybugOdPdvgwgxgygzgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQdRdSdQgRgSgTgUgVgWgXgYgTdUdVdWdXdYdZd0d1d2d3dZg0g1g2g3g4g5g6g7g8g9g!g#g$g%g'g(g)g*g!b+g,g-g{cLlnc.g/g:g*bzb3 Ab4 5 pb|b}bo 6 7 8 2b9 ! Bb;g4d5d=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghhhih6d7d8djhkhlhmhnhohphqhrh9d!d#d$d%d'd(d)d*d+d,dshthuhvhwhxhyhzhAhBhChDhEhFhGhHhIhJhKh#bLhMhNh|cMlocOhPhQhUb# p $ % ' K .b/bj q r s Mbt u ( Rh-d.dShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h/d:d;d%h'h(h)h*h+h,h-h.h=d?d@d[d]d^d_d`d{d|d}d/h:h;h=h?h@h[h]h^h_h`h{h|h}h~haibicidiRbeifigi}cNlpchiiiji+bCb) Db* + qb~bacv , - . 4b/ : Ebki~daeliminioipiqirisitiuiviwixiyiziAiBiCiDiEiFibecedeGiHiIiJiKiLiMiNiOieefegeheiejekelemeneoePiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i$b8i9i!i~cOlqc#i$i%iVb; w = ? @ L :b;bk x y z ObA B [ 'ipeqe(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i_i`i{i|i}iresete~iajbjcjdjejfjgjhjuevewexeyezeAeBeCeDeEeijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjSbBjCjDjadPlrcEjFjGj,bFb] Gb^ _ rbbcccC ` { | 6b} ~ HbHjFeGeIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j2jHeIeJe3j4j5j6j7j8j9j!j#jKeLeMeNeOePeQeReSeTeUe$j%j'j(j)j*j+j,j-j.j/j:j;j=j?j@j[j]j^j%b_j`j{jbdQlsc|j}j~j-bIbabJbbbcbsbdcecD dbebfb8bgbhbKbakVeWebkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkXeYeZewkxkykzkAkBkCkDkEk0e1e2e3e4e5e6e7e8e9e!eFkGkHkIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXk'bYkZk0kcdRltc1k2k3kWbibE jbkblbM =b?bl F G H QbI J mb4k#e$e5k6k7k8k9k!k#k$k%k'k(k)k*k+k,k-k.k/k:k;k=k%e'e(e?k@k[k]k^k_k`k{k|k)e*e+e,e-e.e/e:e;e=e?e}k~kalblcldlelflglhliljlklllmlnlolplqlTb
246 _fields_set = set(fields_values.keys()) 2VfWfXf_cJllcYfZf0f(btbN ubO P nb^b_bm Q R S YbT U vb1fydzd2f3f4f5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/fAdBdCd:f;f=f?f@f[f]f^f_fDdEdFdGdHdIdJdKdLdMdNd`f{f|f}f~fagbgcgdgegfggghgigjgkglgmgng9bogpgqg`cKlmcrgsgtg)bwbV xbW X ob`b{bn Y Z 0 0b1 2 ybugOdPdvgwgxgygzgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQdRdSdQgRgSgTgUgVgWgXgYgTdUdVdWdXdYdZd0d1d2d3dZg0g1g2g3g4g5g6g7g8g9g!g#g$g%g'g(g)g*g!b+g,g-g{cLlnc.g/g:g*bzb3 Ab4 5 pb|b}bo 6 7 8 2b9 ! Bb;g4d5d=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghhhih6d7d8djhkhlhmhnhohphqhrh9d!d#d$d%d'd(d)d*d+d,dshthuhvhwhxhyhzhAhBhChDhEhFhGhHhIhJhKh#bLhMhNh|cMlocOhPhQhUb# p $ % ' K .b/bj q r s Mbt u ( Rh-d.dShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h/d:d;d%h'h(h)h*h+h,h-h.h=d?d@d[d]d^d_d`d{d|d}d/h:h;h=h?h@h[h]h^h_h`h{h|h}h~haibicidiRbeifigi}cNlpchiiiji+bCb) Db* + qb~bacv , - . 4b/ : Ebki~daeliminioipiqirisitiuiviwixiyiziAiBiCiDiEiFibecedeGiHiIiJiKiLiMiNiOieefegeheiejekelemeneoePiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i$b8i9i!i~cOlqc#i$i%iVb; w = ? @ L :b;bk x y z ObA B [ 'ipeqe(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i_i`i{i|i}iresete~iajbjcjdjejfjgjhjuevewexeyezeAeBeCeDeEeijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjSbBjCjDjadPlrcEjFjGj,bFb] Gb^ _ rbbcccC ` { | 6b} ~ HbHjFeGeIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j2jHeIeJe3j4j5j6j7j8j9j!j#jKeLeMeNeOePeQeReSeTeUe$j%j'j(j)j*j+j,j-j.j/j:j;j=j?j@j[j]j^j%b_j`j{jbdQlsc|j}j~j-bIbabJbbbcbsbdcecD dbebfb8bgbhbKbakVeWebkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkXeYeZewkxkykzkAkBkCkDkEk0e1e2e3e4e5e6e7e8e9e!eFkGkHkIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXk'bYkZk0kcdRltc1k2k3kWbibE jbkblbM =b?bl F G H QbI J mb4k#e$e5k6k7k8k9k!k#k$k%k'k(k)k*k+k,k-k.k/k:k;k=k%e'e(e?k@k[k]k^k_k`k{k|k)e*e+e,e-e.e/e:e;e=e?e}k~kalblcldlelflglhliljlklllmlnlolplqlTb
247 fields_values.update(defaults) 2VfWfXf_cJllcYfZf0f(btbN ubO P nb^b_bm Q R S YbT U vb1fydzd2f3f4f5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/fAdBdCd:f;f=f?f@f[f]f^f_fDdEdFdGdHdIdJdKdLdMdNd`f{f|f}f~fagbgcgdgegfggghgigjgkglgmgng9bogpgqg`cKlmcrgsgtg)bwbV xbW X ob`b{bn Y Z 0 0b1 2 ybugOdPdvgwgxgygzgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQdRdSdQgRgSgTgUgVgWgXgYgTdUdVdWdXdYdZd0d1d2d3dZg0g1g2g3g4g5g6g7g8g9g!g#g$g%g'g(g)g*g!b+g,g-g{cLlnc.g/g:g*bzb3 Ab4 5 pb|b}bo 6 7 8 2b9 ! Bb;g4d5d=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghhhih6d7d8djhkhlhmhnhohphqhrh9d!d#d$d%d'd(d)d*d+d,dshthuhvhwhxhyhzhAhBhChDhEhFhGhHhIhJhKh#bLhMhNh|cMlocOhPhQhUb# p $ % ' K .b/bj q r s Mbt u ( Rh-d.dShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h/d:d;d%h'h(h)h*h+h,h-h.h=d?d@d[d]d^d_d`d{d|d}d/h:h;h=h?h@h[h]h^h_h`h{h|h}h~haibicidiRbeifigi}cNlpchiiiji+bCb) Db* + qb~bacv , - . 4b/ : Ebki~daeliminioipiqirisitiuiviwixiyiziAiBiCiDiEiFibecedeGiHiIiJiKiLiMiNiOieefegeheiejekelemeneoePiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i$b8i9i!i~cOlqc#i$i%iVb; w = ? @ L :b;bk x y z ObA B [ 'ipeqe(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i_i`i{i|i}iresete~iajbjcjdjejfjgjhjuevewexeyezeAeBeCeDeEeijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjSbBjCjDjadPlrcEjFjGj,bFb] Gb^ _ rbbcccC ` { | 6b} ~ HbHjFeGeIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j2jHeIeJe3j4j5j6j7j8j9j!j#jKeLeMeNeOePeQeReSeTeUe$j%j'j(j)j*j+j,j-j.j/j:j;j=j?j@j[j]j^j%b_j`j{jbdQlsc|j}j~j-bIbabJbbbcbsbdcecD dbebfb8bgbhbKbakVeWebkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkXeYeZewkxkykzkAkBkCkDkEk0e1e2e3e4e5e6e7e8e9e!eFkGkHkIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXk'bYkZk0kcdRltc1k2k3kWbibE jbkblbM =b?bl F G H QbI J mb4k#e$e5k6k7k8k9k!k#k$k%k'k(k)k*k+k,k-k.k/k:k;k=k%e'e(e?k@k[k]k^k_k`k{k|k)e*e+e,e-e.e/e:e;e=e?e}k~kalblcldlelflglhliljlklllmlnlolplqlTb
249 _extra: dict[str, Any] | None = None 2VfWfXf_cJllcYfZf0f(btbN ubO P nb^b_bm Q R S YbT U vb1fydzd2f3f4f5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/fAdBdCd:f;f=f?f@f[f]f^f_fDdEdFdGdHdIdJdKdLdMdNd`f{f|f}f~fagbgcgdgegfggghgigjgkglgmgng9bogpgqg`cKlmcrgsgtg)bwbV xbW X ob`b{bn Y Z 0 0b1 2 ybugOdPdvgwgxgygzgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQdRdSdQgRgSgTgUgVgWgXgYgTdUdVdWdXdYdZd0d1d2d3dZg0g1g2g3g4g5g6g7g8g9g!g#g$g%g'g(g)g*g!b+g,g-g{cLlnc.g/g:g*bzb3 Ab4 5 pb|b}bo 6 7 8 2b9 ! Bb;g4d5d=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghhhih6d7d8djhkhlhmhnhohphqhrh9d!d#d$d%d'd(d)d*d+d,dshthuhvhwhxhyhzhAhBhChDhEhFhGhHhIhJhKh#bLhMhNh|cMlocOhPhQhUb# p $ % ' K .b/bj q r s Mbt u ( Rh-d.dShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h/d:d;d%h'h(h)h*h+h,h-h.h=d?d@d[d]d^d_d`d{d|d}d/h:h;h=h?h@h[h]h^h_h`h{h|h}h~haibicidiRbeifigi}cNlpchiiiji+bCb) Db* + qb~bacv , - . 4b/ : Ebki~daeliminioipiqirisitiuiviwixiyiziAiBiCiDiEiFibecedeGiHiIiJiKiLiMiNiOieefegeheiejekelemeneoePiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i$b8i9i!i~cOlqc#i$i%iVb; w = ? @ L :b;bk x y z ObA B [ 'ipeqe(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i_i`i{i|i}iresete~iajbjcjdjejfjgjhjuevewexeyezeAeBeCeDeEeijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjSbBjCjDjadPlrcEjFjGj,bFb] Gb^ _ rbbcccC ` { | 6b} ~ HbHjFeGeIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j2jHeIeJe3j4j5j6j7j8j9j!j#jKeLeMeNeOePeQeReSeTeUe$j%j'j(j)j*j+j,j-j.j/j:j;j=j?j@j[j]j^j%b_j`j{jbdQlsc|j}j~j-bIbabJbbbcbsbdcecD dbebfb8bgbhbKbakVeWebkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkXeYeZewkxkykzkAkBkCkDkEk0e1e2e3e4e5e6e7e8e9e!eFkGkHkIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXk'bYkZk0kcdRltc1k2k3kWbibE jbkblbM =b?bl F G H QbI J mb4k#e$e5k6k7k8k9k!k#k$k%k'k(k)k*k+k,k-k.k/k:k;k=k%e'e(e?k@k[k]k^k_k`k{k|k)e*e+e,e-e.e/e:e;e=e?e}k~kalblcldlelflglhliljlklllmlnlolplqlTb
250 if cls.model_config.get("extra") == "allow": 2VfWfXf_cJllcYfZf0f(btbN ubO P nb^b_bm Q R S YbT U vb1fydzd2f3f4f5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/fAdBdCd:f;f=f?f@f[f]f^f_fDdEdFdGdHdIdJdKdLdMdNd`f{f|f}f~fagbgcgdgegfggghgigjgkglgmgng9bogpgqg`cKlmcrgsgtg)bwbV xbW X ob`b{bn Y Z 0 0b1 2 ybugOdPdvgwgxgygzgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQdRdSdQgRgSgTgUgVgWgXgYgTdUdVdWdXdYdZd0d1d2d3dZg0g1g2g3g4g5g6g7g8g9g!g#g$g%g'g(g)g*g!b+g,g-g{cLlnc.g/g:g*bzb3 Ab4 5 pb|b}bo 6 7 8 2b9 ! Bb;g4d5d=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghhhih6d7d8djhkhlhmhnhohphqhrh9d!d#d$d%d'd(d)d*d+d,dshthuhvhwhxhyhzhAhBhChDhEhFhGhHhIhJhKh#bLhMhNh|cMlocOhPhQhUb# p $ % ' K .b/bj q r s Mbt u ( Rh-d.dShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h/d:d;d%h'h(h)h*h+h,h-h.h=d?d@d[d]d^d_d`d{d|d}d/h:h;h=h?h@h[h]h^h_h`h{h|h}h~haibicidiRbeifigi}cNlpchiiiji+bCb) Db* + qb~bacv , - . 4b/ : Ebki~daeliminioipiqirisitiuiviwixiyiziAiBiCiDiEiFibecedeGiHiIiJiKiLiMiNiOieefegeheiejekelemeneoePiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i$b8i9i!i~cOlqc#i$i%iVb; w = ? @ L :b;bk x y z ObA B [ 'ipeqe(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i_i`i{i|i}iresete~iajbjcjdjejfjgjhjuevewexeyezeAeBeCeDeEeijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjSbBjCjDjadPlrcEjFjGj,bFb] Gb^ _ rbbcccC ` { | 6b} ~ HbHjFeGeIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j2jHeIeJe3j4j5j6j7j8j9j!j#jKeLeMeNeOePeQeReSeTeUe$j%j'j(j)j*j+j,j-j.j/j:j;j=j?j@j[j]j^j%b_j`j{jbdQlsc|j}j~j-bIbabJbbbcbsbdcecD dbebfb8bgbhbKbakVeWebkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkXeYeZewkxkykzkAkBkCkDkEk0e1e2e3e4e5e6e7e8e9e!eFkGkHkIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXk'bYkZk0kcdRltc1k2k3kWbibE jbkblbM =b?bl F G H QbI J mb4k#e$e5k6k7k8k9k!k#k$k%k'k(k)k*k+k,k-k.k/k:k;k=k%e'e(e?k@k[k]k^k_k`k{k|k)e*e+e,e-e.e/e:e;e=e?e}k~kalblcldlelflglhliljlklllmlnlolplqlTb
251 _extra = {}
252 for k, v in values.items():
253 _extra[k] = v
254 # SQLModel override, do not include everything, only the model fields
255 # else:
256 # fields_values.update(values)
257 # End SQLModel override
258 # SQLModel override
259 # Do not set __dict__, instead use setattr to trigger SQLAlchemy
260 # object.__setattr__(new_obj, "__dict__", fields_values)
261 # instrumentation
262 for key, value in {**old_dict, **fields_values}.items(): 2VfWfXf_cJllcYfZf0f(btbN ubO P nb^b_bm Q R S YbT U vb1fydzd2f3f4f5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/fAdBdCd:f;f=f?f@f[f]f^f_fDdEdFdGdHdIdJdKdLdMdNd`f{f|f}f~fagbgcgdgegfggghgigjgkglgmgng9bogpgqg`cKlmcrgsgtg)bwbV xbW X ob`b{bn Y Z 0 0b1 2 ybugOdPdvgwgxgygzgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQdRdSdQgRgSgTgUgVgWgXgYgTdUdVdWdXdYdZd0d1d2d3dZg0g1g2g3g4g5g6g7g8g9g!g#g$g%g'g(g)g*g!b+g,g-g{cLlnc.g/g:g*bzb3 Ab4 5 pb|b}bo 6 7 8 2b9 ! Bb;g4d5d=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghhhih6d7d8djhkhlhmhnhohphqhrh9d!d#d$d%d'd(d)d*d+d,dshthuhvhwhxhyhzhAhBhChDhEhFhGhHhIhJhKh#bLhMhNh|cMlocOhPhQhUb# p $ % ' K .b/bj q r s Mbt u ( Rh-d.dShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h/d:d;d%h'h(h)h*h+h,h-h.h=d?d@d[d]d^d_d`d{d|d}d/h:h;h=h?h@h[h]h^h_h`h{h|h}h~haibicidiRbeifigi}cNlpchiiiji+bCb) Db* + qb~bacv , - . 4b/ : Ebki~daeliminioipiqirisitiuiviwixiyiziAiBiCiDiEiFibecedeGiHiIiJiKiLiMiNiOieefegeheiejekelemeneoePiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i$b8i9i!i~cOlqc#i$i%iVb; w = ? @ L :b;bk x y z ObA B [ 'ipeqe(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i_i`i{i|i}iresete~iajbjcjdjejfjgjhjuevewexeyezeAeBeCeDeEeijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjSbBjCjDjadPlrcEjFjGj,bFb] Gb^ _ rbbcccC ` { | 6b} ~ HbHjFeGeIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j2jHeIeJe3j4j5j6j7j8j9j!j#jKeLeMeNeOePeQeReSeTeUe$j%j'j(j)j*j+j,j-j.j/j:j;j=j?j@j[j]j^j%b_j`j{jbdQlsc|j}j~j-bIbabJbbbcbsbdcecD dbebfb8bgbhbKbakVeWebkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkXeYeZewkxkykzkAkBkCkDkEk0e1e2e3e4e5e6e7e8e9e!eFkGkHkIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXk'bYkZk0kcdRltc1k2k3kWbibE jbkblbM =b?bl F G H QbI J mb4k#e$e5k6k7k8k9k!k#k$k%k'k(k)k*k+k,k-k.k/k:k;k=k%e'e(e?k@k[k]k^k_k`k{k|k)e*e+e,e-e.e/e:e;e=e?e}k~kalblcldlelflglhliljlklllmlnlolplqlTb
263 setattr(self_instance, key, value) 2VfWfXf_cJllcYfZf0f(btbN ubO P nb^b_bm Q R S YbT U vb1fydzd2f3f4f5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/fAdBdCd:f;f=f?f@f[f]f^f_fDdEdFdGdHdIdJdKdLdMdNd`f{f|f}f~fagbgcgdgegfggghgigjgkglgmgng9bogpgqg`cKlmcrgsgtg)bwbV xbW X ob`b{bn Y Z 0 0b1 2 ybugOdPdvgwgxgygzgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQdRdSdQgRgSgTgUgVgWgXgYgTdUdVdWdXdYdZd0d1d2d3dZg0g1g2g3g4g5g6g7g8g9g!g#g$g%g'g(g)g*g!b+g,g-g{cLlnc.g/g:g*bzb3 Ab4 5 pb|b}bo 6 7 8 2b9 ! Bb;g4d5d=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghhhih6d7d8djhkhlhmhnhohphqhrh9d!d#d$d%d'd(d)d*d+d,dshthuhvhwhxhyhzhAhBhChDhEhFhGhHhIhJhKh#bLhMhNh|cMlocOhPhQhUb# p $ % ' K .b/bj q r s Mbt u ( Rh-d.dShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h/d:d;d%h'h(h)h*h+h,h-h.h=d?d@d[d]d^d_d`d{d|d}d/h:h;h=h?h@h[h]h^h_h`h{h|h}h~haibicidiRbeifigi}cNlpchiiiji+bCb) Db* + qb~bacv , - . 4b/ : Ebki~daeliminioipiqirisitiuiviwixiyiziAiBiCiDiEiFibecedeGiHiIiJiKiLiMiNiOieefegeheiejekelemeneoePiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i$b8i9i!i~cOlqc#i$i%iVb; w = ? @ L :b;bk x y z ObA B [ 'ipeqe(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i_i`i{i|i}iresete~iajbjcjdjejfjgjhjuevewexeyezeAeBeCeDeEeijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjSbBjCjDjadPlrcEjFjGj,bFb] Gb^ _ rbbcccC ` { | 6b} ~ HbHjFeGeIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j2jHeIeJe3j4j5j6j7j8j9j!j#jKeLeMeNeOePeQeReSeTeUe$j%j'j(j)j*j+j,j-j.j/j:j;j=j?j@j[j]j^j%b_j`j{jbdQlsc|j}j~j-bIbabJbbbcbsbdcecD dbebfb8bgbhbKbakVeWebkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkXeYeZewkxkykzkAkBkCkDkEk0e1e2e3e4e5e6e7e8e9e!eFkGkHkIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXk'bYkZk0kcdRltc1k2k3kWbibE jbkblbM =b?bl F G H QbI J mb4k#e$e5k6k7k8k9k!k#k$k%k'k(k)k*k+k,k-k.k/k:k;k=k%e'e(e?k@k[k]k^k_k`k{k|k)e*e+e,e-e.e/e:e;e=e?e}k~kalblcldlelflglhliljlklllmlnlolplqlTb
264 # End SQLModel override
265 object.__setattr__(self_instance, "__pydantic_fields_set__", _fields_set) 2VfWfXf_cJllcYfZf0f(btbN ubO P nb^b_bm Q R S YbT U vb1fydzd2f3f4f5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/fAdBdCd:f;f=f?f@f[f]f^f_fDdEdFdGdHdIdJdKdLdMdNd`f{f|f}f~fagbgcgdgegfggghgigjgkglgmgng9bogpgqg`cKlmcrgsgtg)bwbV xbW X ob`b{bn Y Z 0 0b1 2 ybugOdPdvgwgxgygzgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQdRdSdQgRgSgTgUgVgWgXgYgTdUdVdWdXdYdZd0d1d2d3dZg0g1g2g3g4g5g6g7g8g9g!g#g$g%g'g(g)g*g!b+g,g-g{cLlnc.g/g:g*bzb3 Ab4 5 pb|b}bo 6 7 8 2b9 ! Bb;g4d5d=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghhhih6d7d8djhkhlhmhnhohphqhrh9d!d#d$d%d'd(d)d*d+d,dshthuhvhwhxhyhzhAhBhChDhEhFhGhHhIhJhKh#bLhMhNh|cMlocOhPhQhUb# p $ % ' K .b/bj q r s Mbt u ( Rh-d.dShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h/d:d;d%h'h(h)h*h+h,h-h.h=d?d@d[d]d^d_d`d{d|d}d/h:h;h=h?h@h[h]h^h_h`h{h|h}h~haibicidiRbeifigi}cNlpchiiiji+bCb) Db* + qb~bacv , - . 4b/ : Ebki~daeliminioipiqirisitiuiviwixiyiziAiBiCiDiEiFibecedeGiHiIiJiKiLiMiNiOieefegeheiejekelemeneoePiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i$b8i9i!i~cOlqc#i$i%iVb; w = ? @ L :b;bk x y z ObA B [ 'ipeqe(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i_i`i{i|i}iresete~iajbjcjdjejfjgjhjuevewexeyezeAeBeCeDeEeijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjSbBjCjDjadPlrcEjFjGj,bFb] Gb^ _ rbbcccC ` { | 6b} ~ HbHjFeGeIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j2jHeIeJe3j4j5j6j7j8j9j!j#jKeLeMeNeOePeQeReSeTeUe$j%j'j(j)j*j+j,j-j.j/j:j;j=j?j@j[j]j^j%b_j`j{jbdQlsc|j}j~j-bIbabJbbbcbsbdcecD dbebfb8bgbhbKbakVeWebkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkXeYeZewkxkykzkAkBkCkDkEk0e1e2e3e4e5e6e7e8e9e!eFkGkHkIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXk'bYkZk0kcdRltc1k2k3kWbibE jbkblbM =b?bl F G H QbI J mb4k#e$e5k6k7k8k9k!k#k$k%k'k(k)k*k+k,k-k.k/k:k;k=k%e'e(e?k@k[k]k^k_k`k{k|k)e*e+e,e-e.e/e:e;e=e?e}k~kalblcldlelflglhliljlklllmlnlolplqlTb
266 if not cls.__pydantic_root_model__: 2VfWfXf_cJllcYfZf0f(btbN ubO P nb^b_bm Q R S YbT U vb1fydzd2f3f4f5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/fAdBdCd:f;f=f?f@f[f]f^f_fDdEdFdGdHdIdJdKdLdMdNd`f{f|f}f~fagbgcgdgegfggghgigjgkglgmgng9bogpgqg`cKlmcrgsgtg)bwbV xbW X ob`b{bn Y Z 0 0b1 2 ybugOdPdvgwgxgygzgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQdRdSdQgRgSgTgUgVgWgXgYgTdUdVdWdXdYdZd0d1d2d3dZg0g1g2g3g4g5g6g7g8g9g!g#g$g%g'g(g)g*g!b+g,g-g{cLlnc.g/g:g*bzb3 Ab4 5 pb|b}bo 6 7 8 2b9 ! Bb;g4d5d=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghhhih6d7d8djhkhlhmhnhohphqhrh9d!d#d$d%d'd(d)d*d+d,dshthuhvhwhxhyhzhAhBhChDhEhFhGhHhIhJhKh#bLhMhNh|cMlocOhPhQhUb# p $ % ' K .b/bj q r s Mbt u ( Rh-d.dShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h/d:d;d%h'h(h)h*h+h,h-h.h=d?d@d[d]d^d_d`d{d|d}d/h:h;h=h?h@h[h]h^h_h`h{h|h}h~haibicidiRbeifigi}cNlpchiiiji+bCb) Db* + qb~bacv , - . 4b/ : Ebki~daeliminioipiqirisitiuiviwixiyiziAiBiCiDiEiFibecedeGiHiIiJiKiLiMiNiOieefegeheiejekelemeneoePiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i$b8i9i!i~cOlqc#i$i%iVb; w = ? @ L :b;bk x y z ObA B [ 'ipeqe(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i_i`i{i|i}iresete~iajbjcjdjejfjgjhjuevewexeyezeAeBeCeDeEeijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjSbBjCjDjadPlrcEjFjGj,bFb] Gb^ _ rbbcccC ` { | 6b} ~ HbHjFeGeIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j2jHeIeJe3j4j5j6j7j8j9j!j#jKeLeMeNeOePeQeReSeTeUe$j%j'j(j)j*j+j,j-j.j/j:j;j=j?j@j[j]j^j%b_j`j{jbdQlsc|j}j~j-bIbabJbbbcbsbdcecD dbebfb8bgbhbKbakVeWebkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkXeYeZewkxkykzkAkBkCkDkEk0e1e2e3e4e5e6e7e8e9e!eFkGkHkIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXk'bYkZk0kcdRltc1k2k3kWbibE jbkblbM =b?bl F G H QbI J mb4k#e$e5k6k7k8k9k!k#k$k%k'k(k)k*k+k,k-k.k/k:k;k=k%e'e(e?k@k[k]k^k_k`k{k|k)e*e+e,e-e.e/e:e;e=e?e}k~kalblcldlelflglhliljlklllmlnlolplqlTb
267 object.__setattr__(self_instance, "__pydantic_extra__", _extra) 2VfWfXf_cJllcYfZf0f(btbN ubO P nb^b_bm Q R S YbT U vb1fydzd2f3f4f5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/fAdBdCd:f;f=f?f@f[f]f^f_fDdEdFdGdHdIdJdKdLdMdNd`f{f|f}f~fagbgcgdgegfggghgigjgkglgmgng9bogpgqg`cKlmcrgsgtg)bwbV xbW X ob`b{bn Y Z 0 0b1 2 ybugOdPdvgwgxgygzgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQdRdSdQgRgSgTgUgVgWgXgYgTdUdVdWdXdYdZd0d1d2d3dZg0g1g2g3g4g5g6g7g8g9g!g#g$g%g'g(g)g*g!b+g,g-g{cLlnc.g/g:g*bzb3 Ab4 5 pb|b}bo 6 7 8 2b9 ! Bb;g4d5d=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghhhih6d7d8djhkhlhmhnhohphqhrh9d!d#d$d%d'd(d)d*d+d,dshthuhvhwhxhyhzhAhBhChDhEhFhGhHhIhJhKh#bLhMhNh|cMlocOhPhQhUb# p $ % ' K .b/bj q r s Mbt u ( Rh-d.dShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h/d:d;d%h'h(h)h*h+h,h-h.h=d?d@d[d]d^d_d`d{d|d}d/h:h;h=h?h@h[h]h^h_h`h{h|h}h~haibicidiRbeifigi}cNlpchiiiji+bCb) Db* + qb~bacv , - . 4b/ : Ebki~daeliminioipiqirisitiuiviwixiyiziAiBiCiDiEiFibecedeGiHiIiJiKiLiMiNiOieefegeheiejekelemeneoePiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i$b8i9i!i~cOlqc#i$i%iVb; w = ? @ L :b;bk x y z ObA B [ 'ipeqe(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i_i`i{i|i}iresete~iajbjcjdjejfjgjhjuevewexeyezeAeBeCeDeEeijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjSbBjCjDjadPlrcEjFjGj,bFb] Gb^ _ rbbcccC ` { | 6b} ~ HbHjFeGeIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j2jHeIeJe3j4j5j6j7j8j9j!j#jKeLeMeNeOePeQeReSeTeUe$j%j'j(j)j*j+j,j-j.j/j:j;j=j?j@j[j]j^j%b_j`j{jbdQlsc|j}j~j-bIbabJbbbcbsbdcecD dbebfb8bgbhbKbakVeWebkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkXeYeZewkxkykzkAkBkCkDkEk0e1e2e3e4e5e6e7e8e9e!eFkGkHkIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXk'bYkZk0kcdRltc1k2k3kWbibE jbkblbM =b?bl F G H QbI J mb4k#e$e5k6k7k8k9k!k#k$k%k'k(k)k*k+k,k-k.k/k:k;k=k%e'e(e?k@k[k]k^k_k`k{k|k)e*e+e,e-e.e/e:e;e=e?e}k~kalblcldlelflglhliljlklllmlnlolplqlTb
269 if cls.__pydantic_post_init__: 2VfWfXf_cJllcYfZf0f(btbN ubO P nb^b_bm Q R S YbT U vb1fydzd2f3f4f5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/fAdBdCd:f;f=f?f@f[f]f^f_fDdEdFdGdHdIdJdKdLdMdNd`f{f|f}f~fagbgcgdgegfggghgigjgkglgmgng9bogpgqg`cKlmcrgsgtg)bwbV xbW X ob`b{bn Y Z 0 0b1 2 ybugOdPdvgwgxgygzgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQdRdSdQgRgSgTgUgVgWgXgYgTdUdVdWdXdYdZd0d1d2d3dZg0g1g2g3g4g5g6g7g8g9g!g#g$g%g'g(g)g*g!b+g,g-g{cLlnc.g/g:g*bzb3 Ab4 5 pb|b}bo 6 7 8 2b9 ! Bb;g4d5d=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghhhih6d7d8djhkhlhmhnhohphqhrh9d!d#d$d%d'd(d)d*d+d,dshthuhvhwhxhyhzhAhBhChDhEhFhGhHhIhJhKh#bLhMhNh|cMlocOhPhQhUb# p $ % ' K .b/bj q r s Mbt u ( Rh-d.dShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h/d:d;d%h'h(h)h*h+h,h-h.h=d?d@d[d]d^d_d`d{d|d}d/h:h;h=h?h@h[h]h^h_h`h{h|h}h~haibicidiRbeifigi}cNlpchiiiji+bCb) Db* + qb~bacv , - . 4b/ : Ebki~daeliminioipiqirisitiuiviwixiyiziAiBiCiDiEiFibecedeGiHiIiJiKiLiMiNiOieefegeheiejekelemeneoePiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i$b8i9i!i~cOlqc#i$i%iVb; w = ? @ L :b;bk x y z ObA B [ 'ipeqe(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i_i`i{i|i}iresete~iajbjcjdjejfjgjhjuevewexeyezeAeBeCeDeEeijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjSbBjCjDjadPlrcEjFjGj,bFb] Gb^ _ rbbcccC ` { | 6b} ~ HbHjFeGeIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j2jHeIeJe3j4j5j6j7j8j9j!j#jKeLeMeNeOePeQeReSeTeUe$j%j'j(j)j*j+j,j-j.j/j:j;j=j?j@j[j]j^j%b_j`j{jbdQlsc|j}j~j-bIbabJbbbcbsbdcecD dbebfb8bgbhbKbakVeWebkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkXeYeZewkxkykzkAkBkCkDkEk0e1e2e3e4e5e6e7e8e9e!eFkGkHkIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXk'bYkZk0kcdRltc1k2k3kWbibE jbkblbM =b?bl F G H QbI J mb4k#e$e5k6k7k8k9k!k#k$k%k'k(k)k*k+k,k-k.k/k:k;k=k%e'e(e?k@k[k]k^k_k`k{k|k)e*e+e,e-e.e/e:e;e=e?e}k~kalblcldlelflglhliljlklllmlnlolplqlTb
270 self_instance.model_post_init(None)
271 elif not cls.__pydantic_root_model__: 2VfWfXf_cJllcYfZf0f(btbN ubO P nb^b_bm Q R S YbT U vb1fydzd2f3f4f5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/fAdBdCd:f;f=f?f@f[f]f^f_fDdEdFdGdHdIdJdKdLdMdNd`f{f|f}f~fagbgcgdgegfggghgigjgkglgmgng9bogpgqg`cKlmcrgsgtg)bwbV xbW X ob`b{bn Y Z 0 0b1 2 ybugOdPdvgwgxgygzgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQdRdSdQgRgSgTgUgVgWgXgYgTdUdVdWdXdYdZd0d1d2d3dZg0g1g2g3g4g5g6g7g8g9g!g#g$g%g'g(g)g*g!b+g,g-g{cLlnc.g/g:g*bzb3 Ab4 5 pb|b}bo 6 7 8 2b9 ! Bb;g4d5d=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghhhih6d7d8djhkhlhmhnhohphqhrh9d!d#d$d%d'd(d)d*d+d,dshthuhvhwhxhyhzhAhBhChDhEhFhGhHhIhJhKh#bLhMhNh|cMlocOhPhQhUb# p $ % ' K .b/bj q r s Mbt u ( Rh-d.dShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h/d:d;d%h'h(h)h*h+h,h-h.h=d?d@d[d]d^d_d`d{d|d}d/h:h;h=h?h@h[h]h^h_h`h{h|h}h~haibicidiRbeifigi}cNlpchiiiji+bCb) Db* + qb~bacv , - . 4b/ : Ebki~daeliminioipiqirisitiuiviwixiyiziAiBiCiDiEiFibecedeGiHiIiJiKiLiMiNiOieefegeheiejekelemeneoePiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i$b8i9i!i~cOlqc#i$i%iVb; w = ? @ L :b;bk x y z ObA B [ 'ipeqe(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i_i`i{i|i}iresete~iajbjcjdjejfjgjhjuevewexeyezeAeBeCeDeEeijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjSbBjCjDjadPlrcEjFjGj,bFb] Gb^ _ rbbcccC ` { | 6b} ~ HbHjFeGeIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j2jHeIeJe3j4j5j6j7j8j9j!j#jKeLeMeNeOePeQeReSeTeUe$j%j'j(j)j*j+j,j-j.j/j:j;j=j?j@j[j]j^j%b_j`j{jbdQlsc|j}j~j-bIbabJbbbcbsbdcecD dbebfb8bgbhbKbakVeWebkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkXeYeZewkxkykzkAkBkCkDkEk0e1e2e3e4e5e6e7e8e9e!eFkGkHkIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXk'bYkZk0kcdRltc1k2k3kWbibE jbkblbM =b?bl F G H QbI J mb4k#e$e5k6k7k8k9k!k#k$k%k'k(k)k*k+k,k-k.k/k:k;k=k%e'e(e?k@k[k]k^k_k`k{k|k)e*e+e,e-e.e/e:e;e=e?e}k~kalblcldlelflglhliljlklllmlnlolplqlTb
272 # Note: if there are any private attributes, cls.__pydantic_post_init__ would exist
273 # Since it doesn't, that means that `__pydantic_private__` should be set to None
274 object.__setattr__(self_instance, "__pydantic_private__", None) 2VfWfXf_cJllcYfZf0f(btbN ubO P nb^b_bm Q R S YbT U vb1fydzd2f3f4f5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/fAdBdCd:f;f=f?f@f[f]f^f_fDdEdFdGdHdIdJdKdLdMdNd`f{f|f}f~fagbgcgdgegfggghgigjgkglgmgng9bogpgqg`cKlmcrgsgtg)bwbV xbW X ob`b{bn Y Z 0 0b1 2 ybugOdPdvgwgxgygzgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQdRdSdQgRgSgTgUgVgWgXgYgTdUdVdWdXdYdZd0d1d2d3dZg0g1g2g3g4g5g6g7g8g9g!g#g$g%g'g(g)g*g!b+g,g-g{cLlnc.g/g:g*bzb3 Ab4 5 pb|b}bo 6 7 8 2b9 ! Bb;g4d5d=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghhhih6d7d8djhkhlhmhnhohphqhrh9d!d#d$d%d'd(d)d*d+d,dshthuhvhwhxhyhzhAhBhChDhEhFhGhHhIhJhKh#bLhMhNh|cMlocOhPhQhUb# p $ % ' K .b/bj q r s Mbt u ( Rh-d.dShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h/d:d;d%h'h(h)h*h+h,h-h.h=d?d@d[d]d^d_d`d{d|d}d/h:h;h=h?h@h[h]h^h_h`h{h|h}h~haibicidiRbeifigi}cNlpchiiiji+bCb) Db* + qb~bacv , - . 4b/ : Ebki~daeliminioipiqirisitiuiviwixiyiziAiBiCiDiEiFibecedeGiHiIiJiKiLiMiNiOieefegeheiejekelemeneoePiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i$b8i9i!i~cOlqc#i$i%iVb; w = ? @ L :b;bk x y z ObA B [ 'ipeqe(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i_i`i{i|i}iresete~iajbjcjdjejfjgjhjuevewexeyezeAeBeCeDeEeijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjSbBjCjDjadPlrcEjFjGj,bFb] Gb^ _ rbbcccC ` { | 6b} ~ HbHjFeGeIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j2jHeIeJe3j4j5j6j7j8j9j!j#jKeLeMeNeOePeQeReSeTeUe$j%j'j(j)j*j+j,j-j.j/j:j;j=j?j@j[j]j^j%b_j`j{jbdQlsc|j}j~j-bIbabJbbbcbsbdcecD dbebfb8bgbhbKbakVeWebkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkXeYeZewkxkykzkAkBkCkDkEk0e1e2e3e4e5e6e7e8e9e!eFkGkHkIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXk'bYkZk0kcdRltc1k2k3kWbibE jbkblbM =b?bl F G H QbI J mb4k#e$e5k6k7k8k9k!k#k$k%k'k(k)k*k+k,k-k.k/k:k;k=k%e'e(e?k@k[k]k^k_k`k{k|k)e*e+e,e-e.e/e:e;e=e?e}k~kalblcldlelflglhliljlklllmlnlolplqlTb
275 # SQLModel override, set relationships
276 # Get and set any relationship objects
277 for key in self_instance.__sqlmodel_relationships__: 2VfWfXf_cJllcYfZf0f(btbN ubO P nb^b_bm Q R S YbT U vb1fydzd2f3f4f5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/fAdBdCd:f;f=f?f@f[f]f^f_fDdEdFdGdHdIdJdKdLdMdNd`f{f|f}f~fagbgcgdgegfggghgigjgkglgmgng9bogpgqg`cKlmcrgsgtg)bwbV xbW X ob`b{bn Y Z 0 0b1 2 ybugOdPdvgwgxgygzgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQdRdSdQgRgSgTgUgVgWgXgYgTdUdVdWdXdYdZd0d1d2d3dZg0g1g2g3g4g5g6g7g8g9g!g#g$g%g'g(g)g*g!b+g,g-g{cLlnc.g/g:g*bzb3 Ab4 5 pb|b}bo 6 7 8 2b9 ! Bb;g4d5d=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghhhih6d7d8djhkhlhmhnhohphqhrh9d!d#d$d%d'd(d)d*d+d,dshthuhvhwhxhyhzhAhBhChDhEhFhGhHhIhJhKh#bLhMhNh|cMlocOhPhQhUb# p $ % ' K .b/bj q r s Mbt u ( Rh-d.dShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h/d:d;d%h'h(h)h*h+h,h-h.h=d?d@d[d]d^d_d`d{d|d}d/h:h;h=h?h@h[h]h^h_h`h{h|h}h~haibicidiRbeifigi}cNlpchiiiji+bCb) Db* + qb~bacv , - . 4b/ : Ebki~daeliminioipiqirisitiuiviwixiyiziAiBiCiDiEiFibecedeGiHiIiJiKiLiMiNiOieefegeheiejekelemeneoePiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i$b8i9i!i~cOlqc#i$i%iVb; w = ? @ L :b;bk x y z ObA B [ 'ipeqe(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i_i`i{i|i}iresete~iajbjcjdjejfjgjhjuevewexeyezeAeBeCeDeEeijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjSbBjCjDjadPlrcEjFjGj,bFb] Gb^ _ rbbcccC ` { | 6b} ~ HbHjFeGeIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j2jHeIeJe3j4j5j6j7j8j9j!j#jKeLeMeNeOePeQeReSeTeUe$j%j'j(j)j*j+j,j-j.j/j:j;j=j?j@j[j]j^j%b_j`j{jbdQlsc|j}j~j-bIbabJbbbcbsbdcecD dbebfb8bgbhbKbakVeWebkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkXeYeZewkxkykzkAkBkCkDkEk0e1e2e3e4e5e6e7e8e9e!eFkGkHkIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXk'bYkZk0kcdRltc1k2k3kWbibE jbkblbM =b?bl F G H QbI J mb4k#e$e5k6k7k8k9k!k#k$k%k'k(k)k*k+k,k-k.k/k:k;k=k%e'e(e?k@k[k]k^k_k`k{k|k)e*e+e,e-e.e/e:e;e=e?e}k~kalblcldlelflglhliljlklllmlnlolplqlTb
278 value = values.get(key, Undefined) 2m ydzdAdBdCdDdEdFdGdHdIdJdKdLdMdNdn OdPdQdRdSdTdUdVdWdXdYdZd0d1d2d3do 4d5d6d7d8d9d!d#d$d%d'd(d)d*d+d,dj -d.d/d:d;d=d?d@d[d]d^d_d`d{d|d}dv ~daebecedeeefegeheiejekelemeneoek peqereseteuevewexeyezeAeBeCeDeEeC FeGeHeIeJeKeLeMeNeOePeQeReSeTeUeD VeWeXeYeZe0e1e2e3e4e5e6e7e8e9e!el #e$e%e'e(e)e*e+e,e-e.e/e:e;e=e?e
279 if value is not Undefined: 2m ydzdAdBdCdDdEdFdGdHdIdJdKdLdMdNdn OdPdQdRdSdTdUdVdWdXdYdZd0d1d2d3do 4d5d6d7d8d9d!d#d$d%d'd(d)d*d+d,dj -d.d/d:d;d=d?d@d[d]d^d_d`d{d|d}dv ~daebecedeeefegeheiejekelemeneoek peqereseteuevewexeyezeAeBeCeDeEeC FeGeHeIeJeKeLeMeNeOePeQeReSeTeUeD VeWeXeYeZe0e1e2e3e4e5e6e7e8e9e!el #e$e%e'e(e)e*e+e,e-e.e/e:e;e=e?e
280 setattr(self_instance, key, value) 2m ydzdAdBdCdDdEdFdGdHdIdJdKdLdMdNdn OdPdQdRdSdTdUdVdWdXdYdZd0d1d2d3do 4d5d6d7d8d9d!d#d$d%d'd(d)d*d+d,dj -d.d/d:d;d=d?d@d[d]d^d_d`d{d|d}dv ~daebecedeeefegeheiejekelemeneoek peqereseteuevewexeyezeAeBeCeDeEeC FeGeHeIeJeKeLeMeNeOePeQeReSeTeUeD VeWeXeYeZe0e1e2e3e4e5e6e7e8e9e!el #e$e%e'e(e)e*e+e,e-e.e/e:e;e=e?e
281 # End SQLModel override
282 return self_instance 2VfWfXf_cJllcYfZf0f(btbN ubO P nb^b_bm Q R S YbT U vb1fydzd2f3f4f5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/fAdBdCd:f;f=f?f@f[f]f^f_fDdEdFdGdHdIdJdKdLdMdNd`f{f|f}f~fagbgcgdgegfggghgigjgkglgmgng9bogpgqg`cKlmcrgsgtg)bwbV xbW X ob`b{bn Y Z 0 0b1 2 ybugOdPdvgwgxgygzgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQdRdSdQgRgSgTgUgVgWgXgYgTdUdVdWdXdYdZd0d1d2d3dZg0g1g2g3g4g5g6g7g8g9g!g#g$g%g'g(g)g*g!b+g,g-g{cLlnc.g/g:g*bzb3 Ab4 5 pb|b}bo 6 7 8 2b9 ! Bb;g4d5d=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghhhih6d7d8djhkhlhmhnhohphqhrh9d!d#d$d%d'd(d)d*d+d,dshthuhvhwhxhyhzhAhBhChDhEhFhGhHhIhJhKh#bLhMhNh|cMlocOhPhQhUb# p $ % ' K .b/bj q r s Mbt u ( Rh-d.dShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h/d:d;d%h'h(h)h*h+h,h-h.h=d?d@d[d]d^d_d`d{d|d}d/h:h;h=h?h@h[h]h^h_h`h{h|h}h~haibicidiRbeifigi}cNlpchiiiji+bCb) Db* + qb~bacv , - . 4b/ : Ebki~daeliminioipiqirisitiuiviwixiyiziAiBiCiDiEiFibecedeGiHiIiJiKiLiMiNiOieefegeheiejekelemeneoePiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i$b8i9i!i~cOlqc#i$i%iVb; w = ? @ L :b;bk x y z ObA B [ 'ipeqe(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i_i`i{i|i}iresete~iajbjcjdjejfjgjhjuevewexeyezeAeBeCeDeEeijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjSbBjCjDjadPlrcEjFjGj,bFb] Gb^ _ rbbcccC ` { | 6b} ~ HbHjFeGeIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j2jHeIeJe3j4j5j6j7j8j9j!j#jKeLeMeNeOePeQeReSeTeUe$j%j'j(j)j*j+j,j-j.j/j:j;j=j?j@j[j]j^j%b_j`j{jbdQlsc|j}j~j-bIbabJbbbcbsbdcecD dbebfb8bgbhbKbakVeWebkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkXeYeZewkxkykzkAkBkCkDkEk0e1e2e3e4e5e6e7e8e9e!eFkGkHkIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXk'bYkZk0kcdRltc1k2k3kWbibE jbkblbM =b?bl F G H QbI J mb4k#e$e5k6k7k8k9k!k#k$k%k'k(k)k*k+k,k-k.k/k:k;k=k%e'e(e?k@k[k]k^k_k`k{k|k)e*e+e,e-e.e/e:e;e=e?e}k~kalblcldlelflglhliljlklllmlnlolplqlTb
285def sqlmodel_validate( 1defagbhic
286 cls: type[_TSQLModel],
287 obj: Any,
288 *,
289 strict: bool | None = None,
290 from_attributes: bool | None = None,
291 context: dict[str, Any] | None = None,
292 update: dict[str, Any] | None = None,
293) -> _TSQLModel:
294 if not is_table_model_class(cls): 25m6m7m8m9m!m#mPolcQo_o`o{o|oXbfc/oypJo$m%m'm(m)m*mam+m,m-m.mrlbmslcmdd}o/m:m;m=m?m@m[mRomcSo~oapbpcpZbgc:ozpKo]m^m_m`m{m|mdm}m~manbntlemulfmeddpcndnenfngnhninToncUoepfpgphp1bhc;oApLojnknlnmnnnongmpnqnrnsnvlhmwlimfdiptnunvnwnxnynznVoocWo7o8o9o!oLb@b=oBpGoAnBnCnDnEnFnjmGnHnInJnxlkmyllmgd#oKnLnMnNnOnPnQnXopcYojpkplpmp3bic?oCpMoRnSnTnUnVnWnmmXnYnZn0nzlnmAlomhdnp1n2n3n4n5n6n7nZoqc0o$o%o'o(oNb[b@oDpHo8n9n!n#n$n%npm'n(n)n*nBlqmClrmid)o+n,n-n.n/n:n;n1orc2oopppqprp5bjc[oEpNo=n?n@n[n]n^nsm_n`n{n|nDltmElumjdsp}n~naobocodoeo3osc4otpupvpwp7bkc]oFpOofogohoiojokovmlomonoooFlwmGlxmkdxppoqorosotouovo5otc6o*o+o,o-oPb]b^oGpIowoxoyozoAoBoymCoDoEoFoHlzmIlAmld.o
295 new_obj: _TSQLModel = cls.__new__(cls) 2_o`o{o|o/oypJo}o~oapbpcp:ozpKodpepfpgphp;oApLoip7o8o9o!o=oBpGo#ojpkplpmp?oCpMonp$o%o'o(o@oDpHo)oopppqprp[oEpNosptpupvpwp]oFpOoxp*o+o,o-o^oGpIo.o
296 else:
297 # If table, create the new instance normally to make SQLAlchemy create
298 # the _sa_instance_state attribute
299 # The wrapper of this function should use with _partial_init()
300 with partial_init(): 25m6m7m8m9m!m#mPolcQoXbfc$m%m'm(m)m*mam+m,m-m.mrlbmslcmdd/m:m;m=m?m@m[mRomcSoZbgc]m^m_m`m{m|mdm}m~manbntlemulfmedcndnenfngnhninToncUo1bhcjnknlnmnnnongmpnqnrnsnvlhmwlimfdtnunvnwnxnynznVoocWoLb@bAnBnCnDnEnFnjmGnHnInJnxlkmyllmgdKnLnMnNnOnPnQnXopcYo3bicRnSnTnUnVnWnmmXnYnZn0nzlnmAlomhd1n2n3n4n5n6n7nZoqc0oNb[b8n9n!n#n$n%npm'n(n)n*nBlqmClrmid+n,n-n.n/n:n;n1orc2o5bjc=n?n@n[n]n^nsm_n`n{n|nDltmElumjd}n~naobocodoeo3osc4o7bkcfogohoiojokovmlomonoooFlwmGlxmkdpoqorosotouovo5otc6oPb]bwoxoyozoAoBoymCoDoEoFoHlzmIlAmld
301 new_obj = cls() 25m6m7m8m9m!m#mPolcQoXbfc$m%m'm(m)m*mam+m,m-m.mrlbmslcmdd/m:m;m=m?m@m[mRomcSoZbgc]m^m_m`m{m|mdm}m~manbntlemulfmedcndnenfngnhninToncUo1bhcjnknlnmnnnongmpnqnrnsnvlhmwlimfdtnunvnwnxnynznVoocWoLb@bAnBnCnDnEnFnjmGnHnInJnxlkmyllmgdKnLnMnNnOnPnQnXopcYo3bicRnSnTnUnVnWnmmXnYnZn0nzlnmAlomhd1n2n3n4n5n6n7nZoqc0oNb[b8n9n!n#n$n%npm'n(n)n*nBlqmClrmid+n,n-n.n/n:n;n1orc2o5bjc=n?n@n[n]n^nsm_n`n{n|nDltmElumjd}n~naobocodoeo3osc4o7bkcfogohoiojokovmlomonoooFlwmGlxmkdpoqorosotouovo5otc6oPb]bwoxoyozoAoBoymCoDoEoFoHlzmIlAmld
302 # SQLModel Override to get class SQLAlchemy __dict__ attributes and
303 # set them back in after creating the object
304 old_dict = new_obj.__dict__.copy() 25m6m7m8m9m!m#mPolcQo_o`o{o|oXbfc/oypJo$m%m'm(m)m*mam+m,m-m.mrlbmslcmdd}o/m:m;m=m?m@m[mRomcSo~oapbpcpZbgc:ozpKo]m^m_m`m{m|mdm}m~manbntlemulfmeddpcndnenfngnhninToncUoepfpgphp1bhc;oApLojnknlnmnnnongmpnqnrnsnvlhmwlimfdiptnunvnwnxnynznVoocWo7o8o9o!oLb@b=oBpGoAnBnCnDnEnFnjmGnHnInJnxlkmyllmgd#oKnLnMnNnOnPnQnXopcYojpkplpmp3bic?oCpMoRnSnTnUnVnWnmmXnYnZn0nzlnmAlomhdnp1n2n3n4n5n6n7nZoqc0o$o%o'o(oNb[b@oDpHo8n9n!n#n$n%npm'n(n)n*nBlqmClrmid)o+n,n-n.n/n:n;n1orc2oopppqprp5bjc[oEpNo=n?n@n[n]n^nsm_n`n{n|nDltmElumjdsp}n~naobocodoeo3osc4otpupvpwp7bkc]oFpOofogohoiojokovmlomonoooFlwmGlxmkdxppoqorosotouovo5otc6o*o+o,o-oPb]b^oGpIowoxoyozoAoBoymCoDoEoFoHlzmIlAmld.o
305 use_obj = obj 25m6m7m8m9m!m#mPolcQo_o`o{o|oXbfc/oypJo$m%m'm(m)m*mam+m,m-m.mrlbmslcmdd}o/m:m;m=m?m@m[mRomcSo~oapbpcpZbgc:ozpKo]m^m_m`m{m|mdm}m~manbntlemulfmeddpcndnenfngnhninToncUoepfpgphp1bhc;oApLojnknlnmnnnongmpnqnrnsnvlhmwlimfdiptnunvnwnxnynznVoocWo7o8o9o!oLb@b=oBpGoAnBnCnDnEnFnjmGnHnInJnxlkmyllmgd#oKnLnMnNnOnPnQnXopcYojpkplpmp3bic?oCpMoRnSnTnUnVnWnmmXnYnZn0nzlnmAlomhdnp1n2n3n4n5n6n7nZoqc0o$o%o'o(oNb[b@oDpHo8n9n!n#n$n%npm'n(n)n*nBlqmClrmid)o+n,n-n.n/n:n;n1orc2oopppqprp5bjc[oEpNo=n?n@n[n]n^nsm_n`n{n|nDltmElumjdsp}n~naobocodoeo3osc4otpupvpwp7bkc]oFpOofogohoiojokovmlomonoooFlwmGlxmkdxppoqorosotouovo5otc6o*o+o,o-oPb]b^oGpIowoxoyozoAoBoymCoDoEoFoHlzmIlAmld.o
306 if isinstance(obj, dict) and update: 25m6m7m8m9m!m#mPolcQo_o`o{o|oXbfc/oypJo$m%m'm(m)m*mam+m,m-m.mrlbmslcmdd}o/m:m;m=m?m@m[mRomcSo~oapbpcpZbgc:ozpKo]m^m_m`m{m|mdm}m~manbntlemulfmeddpcndnenfngnhninToncUoepfpgphp1bhc;oApLojnknlnmnnnongmpnqnrnsnvlhmwlimfdiptnunvnwnxnynznVoocWo7o8o9o!oLb@b=oBpGoAnBnCnDnEnFnjmGnHnInJnxlkmyllmgd#oKnLnMnNnOnPnQnXopcYojpkplpmp3bic?oCpMoRnSnTnUnVnWnmmXnYnZn0nzlnmAlomhdnp1n2n3n4n5n6n7nZoqc0o$o%o'o(oNb[b@oDpHo8n9n!n#n$n%npm'n(n)n*nBlqmClrmid)o+n,n-n.n/n:n;n1orc2oopppqprp5bjc[oEpNo=n?n@n[n]n^nsm_n`n{n|nDltmElumjdsp}n~naobocodoeo3osc4otpupvpwp7bkc]oFpOofogohoiojokovmlomonoooFlwmGlxmkdxppoqorosotouovo5otc6o*o+o,o-oPb]b^oGpIowoxoyozoAoBoymCoDoEoFoHlzmIlAmld.o
307 use_obj = {**obj, **update}
308 elif update: 25m6m7m8m9m!m#mPolcQo_o`o{o|oXbfc/oypJo$m%m'm(m)m*mam+m,m-m.mrlbmslcmdd}o/m:m;m=m?m@m[mRomcSo~oapbpcpZbgc:ozpKo]m^m_m`m{m|mdm}m~manbntlemulfmeddpcndnenfngnhninToncUoepfpgphp1bhc;oApLojnknlnmnnnongmpnqnrnsnvlhmwlimfdiptnunvnwnxnynznVoocWo7o8o9o!oLb@b=oBpGoAnBnCnDnEnFnjmGnHnInJnxlkmyllmgd#oKnLnMnNnOnPnQnXopcYojpkplpmp3bic?oCpMoRnSnTnUnVnWnmmXnYnZn0nzlnmAlomhdnp1n2n3n4n5n6n7nZoqc0o$o%o'o(oNb[b@oDpHo8n9n!n#n$n%npm'n(n)n*nBlqmClrmid)o+n,n-n.n/n:n;n1orc2oopppqprp5bjc[oEpNo=n?n@n[n]n^nsm_n`n{n|nDltmElumjdsp}n~naobocodoeo3osc4otpupvpwp7bkc]oFpOofogohoiojokovmlomonoooFlwmGlxmkdxppoqorosotouovo5otc6o*o+o,o-oPb]b^oGpIowoxoyozoAoBoymCoDoEoFoHlzmIlAmld.o
309 use_obj = ObjectWithUpdateWrapper(obj=obj, update=update) 2ddedfdgdhdidjdkdld
310 cls.__pydantic_validator__.validate_python( 25m6m7m8m9m!m#mPolcQo_o`o{o|oXbfc/oypJo$m%m'm(m)m*mam+m,m-m.mrlbmslcmdd}o/m:m;m=m?m@m[mRomcSo~oapbpcpZbgc:ozpKo]m^m_m`m{m|mdm}m~manbntlemulfmeddpcndnenfngnhninToncUoepfpgphp1bhc;oApLojnknlnmnnnongmpnqnrnsnvlhmwlimfdiptnunvnwnxnynznVoocWo7o8o9o!oLb@b=oBpGoAnBnCnDnEnFnjmGnHnInJnxlkmyllmgd#oKnLnMnNnOnPnQnXopcYojpkplpmp3bic?oCpMoRnSnTnUnVnWnmmXnYnZn0nzlnmAlomhdnp1n2n3n4n5n6n7nZoqc0o$o%o'o(oNb[b@oDpHo8n9n!n#n$n%npm'n(n)n*nBlqmClrmid)o+n,n-n.n/n:n;n1orc2oopppqprp5bjc[oEpNo=n?n@n[n]n^nsm_n`n{n|nDltmElumjdsp}n~naobocodoeo3osc4otpupvpwp7bkc]oFpOofogohoiojokovmlomonoooFlwmGlxmkdxppoqorosotouovo5otc6o*o+o,o-oPb]b^oGpIowoxoyozoAoBoymCoDoEoFoHlzmIlAmld.o
311 use_obj,
312 strict=strict,
313 from_attributes=from_attributes,
314 context=context,
315 self_instance=new_obj,
316 )
317 # Capture fields set to restore it later
318 fields_set = new_obj.__pydantic_fields_set__.copy() 25m6m7m8m9m!m#mPolcQo_o`o{o|oXbfc/oypJo$m%m'm(m)m*mam+m,m-m.mrlbmslcmdd}o/m:m;m=m?m@m[mRomcSo~oapbpcpZbgc:ozpKo]m^m_m`m{m|mdm}m~manbntlemulfmeddpcndnenfngnhninToncUoepfpgphp1bhc;oApLojnknlnmnnnongmpnqnrnsnvlhmwlimfdiptnunvnwnxnynznVoocWo7o8o9o!oLb@b=oBpGoAnBnCnDnEnFnjmGnHnInJnxlkmyllmgd#oKnLnMnNnOnPnQnXopcYojpkplpmp3bic?oCpMoRnSnTnUnVnWnmmXnYnZn0nzlnmAlomhdnp1n2n3n4n5n6n7nZoqc0o$o%o'o(oNb[b@oDpHo8n9n!n#n$n%npm'n(n)n*nBlqmClrmid)o+n,n-n.n/n:n;n1orc2oopppqprp5bjc[oEpNo=n?n@n[n]n^nsm_n`n{n|nDltmElumjdsp}n~naobocodoeo3osc4otpupvpwp7bkc]oFpOofogohoiojokovmlomonoooFlwmGlxmkdxppoqorosotouovo5otc6o*o+o,o-oPb]b^oGpIowoxoyozoAoBoymCoDoEoFoHlzmIlAmld.o
319 if not is_table_model_class(cls): 25m6m7m8m9m!m#mPolcQo_o`o{o|oXbfc/oypJo$m%m'm(m)m*mam+m,m-m.mrlbmslcmdd}o/m:m;m=m?m@m[mRomcSo~oapbpcpZbgc:ozpKo]m^m_m`m{m|mdm}m~manbntlemulfmeddpcndnenfngnhninToncUoepfpgphp1bhc;oApLojnknlnmnnnongmpnqnrnsnvlhmwlimfdiptnunvnwnxnynznVoocWo7o8o9o!oLb@b=oBpGoAnBnCnDnEnFnjmGnHnInJnxlkmyllmgd#oKnLnMnNnOnPnQnXopcYojpkplpmp3bic?oCpMoRnSnTnUnVnWnmmXnYnZn0nzlnmAlomhdnp1n2n3n4n5n6n7nZoqc0o$o%o'o(oNb[b@oDpHo8n9n!n#n$n%npm'n(n)n*nBlqmClrmid)o+n,n-n.n/n:n;n1orc2oopppqprp5bjc[oEpNo=n?n@n[n]n^nsm_n`n{n|nDltmElumjdsp}n~naobocodoeo3osc4otpupvpwp7bkc]oFpOofogohoiojokovmlomonoooFlwmGlxmkdxppoqorosotouovo5otc6o*o+o,o-oPb]b^oGpIowoxoyozoAoBoymCoDoEoFoHlzmIlAmld.o
320 # If not table, normal Pydantic code, set __dict__
321 new_obj.__dict__ = {**old_dict, **new_obj.__dict__} 2_o`o{o|o/oypJo}o~oapbpcp:ozpKodpepfpgphp;oApLoip7o8o9o!o=oBpGo#ojpkplpmp?oCpMonp$o%o'o(o@oDpHo)oopppqprp[oEpNosptpupvpwp]oFpOoxp*o+o,o-o^oGpIo.o
322 else:
323 # Do not set __dict__, instead use setattr to trigger SQLAlchemy
324 # instrumentation
325 for key, value in {**old_dict, **new_obj.__dict__}.items(): 25m6m7m8m9m!m#mPolcQoXbfc$m%m'm(m)m*mam+m,m-m.mrlbmslcmdd/m:m;m=m?m@m[mRomcSoZbgc]m^m_m`m{m|mdm}m~manbntlemulfmedcndnenfngnhninToncUo1bhcjnknlnmnnnongmpnqnrnsnvlhmwlimfdtnunvnwnxnynznVoocWoLb@bAnBnCnDnEnFnjmGnHnInJnxlkmyllmgdKnLnMnNnOnPnQnXopcYo3bicRnSnTnUnVnWnmmXnYnZn0nzlnmAlomhd1n2n3n4n5n6n7nZoqc0oNb[b8n9n!n#n$n%npm'n(n)n*nBlqmClrmid+n,n-n.n/n:n;n1orc2o5bjc=n?n@n[n]n^nsm_n`n{n|nDltmElumjd}n~naobocodoeo3osc4o7bkcfogohoiojokovmlomonoooFlwmGlxmkdpoqorosotouovo5otc6oPb]bwoxoyozoAoBoymCoDoEoFoHlzmIlAmld
326 setattr(new_obj, key, value) 25m6m7m8m9m!m#mPolcQoXbfc$m%m'm(m)m*mam+m,m-m.mrlbmslcmdd/m:m;m=m?m@m[mRomcSoZbgc]m^m_m`m{m|mdm}m~manbntlemulfmedcndnenfngnhninToncUo1bhcjnknlnmnnnongmpnqnrnsnvlhmwlimfdtnunvnwnxnynznVoocWoLb@bAnBnCnDnEnFnjmGnHnInJnxlkmyllmgdKnLnMnNnOnPnQnXopcYo3bicRnSnTnUnVnWnmmXnYnZn0nzlnmAlomhd1n2n3n4n5n6n7nZoqc0oNb[b8n9n!n#n$n%npm'n(n)n*nBlqmClrmid+n,n-n.n/n:n;n1orc2o5bjc=n?n@n[n]n^nsm_n`n{n|nDltmElumjd}n~naobocodoeo3osc4o7bkcfogohoiojokovmlomonoooFlwmGlxmkdpoqorosotouovo5otc6oPb]bwoxoyozoAoBoymCoDoEoFoHlzmIlAmld
327 # Restore fields set
328 object.__setattr__(new_obj, "__pydantic_fields_set__", fields_set) 25m6m7m8m9m!m#mPolcQo_o`o{o|oXbfc/oypJo$m%m'm(m)m*mam+m,m-m.mrlbmslcmdd}o/m:m;m=m?m@m[mRomcSo~oapbpcpZbgc:ozpKo]m^m_m`m{m|mdm}m~manbntlemulfmeddpcndnenfngnhninToncUoepfpgphp1bhc;oApLojnknlnmnnnongmpnqnrnsnvlhmwlimfdiptnunvnwnxnynznVoocWo7o8o9o!oLb@b=oBpGoAnBnCnDnEnFnjmGnHnInJnxlkmyllmgd#oKnLnMnNnOnPnQnXopcYojpkplpmp3bic?oCpMoRnSnTnUnVnWnmmXnYnZn0nzlnmAlomhdnp1n2n3n4n5n6n7nZoqc0o$o%o'o(oNb[b@oDpHo8n9n!n#n$n%npm'n(n)n*nBlqmClrmid)o+n,n-n.n/n:n;n1orc2oopppqprp5bjc[oEpNo=n?n@n[n]n^nsm_n`n{n|nDltmElumjdsp}n~naobocodoeo3osc4otpupvpwp7bkc]oFpOofogohoiojokovmlomonoooFlwmGlxmkdxppoqorosotouovo5otc6o*o+o,o-oPb]b^oGpIowoxoyozoAoBoymCoDoEoFoHlzmIlAmld.o
329 # Get and set any relationship objects
330 if is_table_model_class(cls): 25m6m7m8m9m!m#mPolcQo_o`o{o|oXbfc/oypJo$m%m'm(m)m*mam+m,m-m.mrlbmslcmdd}o/m:m;m=m?m@m[mRomcSo~oapbpcpZbgc:ozpKo]m^m_m`m{m|mdm}m~manbntlemulfmeddpcndnenfngnhninToncUoepfpgphp1bhc;oApLojnknlnmnnnongmpnqnrnsnvlhmwlimfdiptnunvnwnxnynznVoocWo7o8o9o!oLb@b=oBpGoAnBnCnDnEnFnjmGnHnInJnxlkmyllmgd#oKnLnMnNnOnPnQnXopcYojpkplpmp3bic?oCpMoRnSnTnUnVnWnmmXnYnZn0nzlnmAlomhdnp1n2n3n4n5n6n7nZoqc0o$o%o'o(oNb[b@oDpHo8n9n!n#n$n%npm'n(n)n*nBlqmClrmid)o+n,n-n.n/n:n;n1orc2oopppqprp5bjc[oEpNo=n?n@n[n]n^nsm_n`n{n|nDltmElumjdsp}n~naobocodoeo3osc4otpupvpwp7bkc]oFpOofogohoiojokovmlomonoooFlwmGlxmkdxppoqorosotouovo5otc6o*o+o,o-oPb]b^oGpIowoxoyozoAoBoymCoDoEoFoHlzmIlAmld.o
331 for key in new_obj.__sqlmodel_relationships__: 25m6m7m8m9m!m#mPolcQoXbfc$m%m'm(m)m*mam+m,m-m.mrlbmslcmdd/m:m;m=m?m@m[mRomcSoZbgc]m^m_m`m{m|mdm}m~manbntlemulfmedcndnenfngnhninToncUo1bhcjnknlnmnnnongmpnqnrnsnvlhmwlimfdtnunvnwnxnynznVoocWoLb@bAnBnCnDnEnFnjmGnHnInJnxlkmyllmgdKnLnMnNnOnPnQnXopcYo3bicRnSnTnUnVnWnmmXnYnZn0nzlnmAlomhd1n2n3n4n5n6n7nZoqc0oNb[b8n9n!n#n$n%npm'n(n)n*nBlqmClrmid+n,n-n.n/n:n;n1orc2o5bjc=n?n@n[n]n^nsm_n`n{n|nDltmElumjd}n~naobocodoeo3osc4o7bkcfogohoiojokovmlomonoooFlwmGlxmkdpoqorosotouovo5otc6oPb]bwoxoyozoAoBoymCoDoEoFoHlzmIlAmld
332 value = getattr(use_obj, key, Undefined) 2rlsltlulvlwlxlylzlAlBlClDlElFlGlHlIl
333 if value is not Undefined: 2rlsltlulvlwlxlylzlAlBlClDlElFlGlHlIl
334 setattr(new_obj, key, value)
335 return new_obj 25m6m7m8m9m!m#mPolcQo_o`o{o|oXbfc/oypJo$m%m'm(m)m*mam+m,m-m.mrlbmslcmdd}o/m:m;m=m?m@m[mRomcSo~oapbpcpZbgc:ozpKo]m^m_m`m{m|mdm}m~manbntlemulfmeddpcndnenfngnhninToncUoepfpgphp1bhc;oApLojnknlnmnnnongmpnqnrnsnvlhmwlimfdiptnunvnwnxnynznVoocWo7o8o9o!oLb@b=oBpGoAnBnCnDnEnFnjmGnHnInJnxlkmyllmgd#oKnLnMnNnOnPnQnXopcYojpkplpmp3bic?oCpMoRnSnTnUnVnWnmmXnYnZn0nzlnmAlomhdnp1n2n3n4n5n6n7nZoqc0o$o%o'o(oNb[b@oDpHo8n9n!n#n$n%npm'n(n)n*nBlqmClrmid)o+n,n-n.n/n:n;n1orc2oopppqprp5bjc[oEpNo=n?n@n[n]n^nsm_n`n{n|nDltmElumjdsp}n~naobocodoeo3osc4otpupvpwp7bkc]oFpOofogohoiojokovmlomonoooFlwmGlxmkdxppoqorosotouovo5otc6o*o+o,o-oPb]b^oGpIowoxoyozoAoBoymCoDoEoFoHlzmIlAmld.o
338def sqlmodel_init(*, self: "SQLModel", data: dict[str, Any]) -> None: 1defagbhic
339 old_dict = self.__dict__.copy() 20q5m,r-rVfWfXf_c6m7m8m9m!m#mJllcYfZf0f'p1q2q.r3q4q5q6q7q(p8q(btb)pN ub9q/o*pO P nbUq^b_bm Q R S Yb+p,pJo-p.p/p:pT U vb1fydzd2f3f4f5f6f7f8f9f!f#f$m%m'm(m)m*mam+m,m-m.mrl$fbm%fslcmdd'f(f)f*f+f,f-f.f/fAdBdCd:f;f=f?f@f[f]f^f_fDdEdFdGdHdIdJdKdLdMdNd`f{f|f}f~fagbgcgdgegfggghgigjgkglgmgng9b!q/m/r:rogpgqg`c:m;m=m?m@m[mKlmcrgsgtg;p#q$q;r%q'q(q)q*q=p+q)bwb?pV xb,q:o@pW X obVq`b{bn Y Z 0 0b[p]pKo^p_p`p{p1 2 ybugOdPdvgwgxgygzgAgBgCgDgEg]m^m_m`m{m|mdm}m~manbntlFgemGgulfmedHgIgJgKgLgMgNgOgPgQdRdSdQgRgSgTgUgVgWgXgYgTdUdVdWdXdYdZd0d1d2d3dZg0g1g2g3g4g5g6g7g8g9g!g#g$g%g'g(g)g*g!b-qcn=r?r+g,g-g{cdnenfngnhninLlnc.g/g:g|p.q/q@r:q;q=q?q@q}p[q*bzb~p3 Ab]q;oaq4 5 pbWq|b}bo 6 7 8 2bbqcqLodqeqfqgq9 ! Bb;g4d5d=g?g@g[g]g^g_g`g{g|gjnknlnmnnnongmpnqnrnsnvl}ghm~gwlimfdahbhchdhehfhghhhih6d7d8djhkhlhmhnhohphqhrh9d!d#d$d%d'd(d)d*d+d,dshthuhvhwhxhyhzhAhBhChDhEhFhGhHhIhJhKh#b^qtn[r]rLhMhNh|cunvnwnxnynznMlocOhPhQhHp_q`q^r{q|q}q~qarIpbrUb# Jpp $ cr=oKp% ' K #p.b/bj q r s MbLpMpGoNpOpPpQpt u ( Rh-d.dShThUhVhWhXhYhZh0h1hAnBnCnDnEnFnjmGnHnInJnxl2hkm3hyllmgd4h5h6h7h8h9h!h#h$h/d:d;d%h'h(h)h*h+h,h-h.h=d?d@d[d]d^d_d`d{d|d}d/h:h;h=h?h@h[h]h^h_h`h{h|h}h~haibicidiRbdrKn_r`reifigi}cLnMnNnOnPnQnNlpchiiijihqerfr{rgrhrirjrkriqlr+bCbjq) Dbmr?okq* + qbXq~bacv , - . 4blqmqMonqoqpqqq/ : Ebki~daeliminioipiqirisitiuiRnSnTnUnVnWnmmXnYnZn0nzlvinmwiAlomhdxiyiziAiBiCiDiEiFibecedeGiHiIiJiKiLiMiNiOieefegeheiejekelemeneoePiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i$bnr1n|r}r8i9i!i~c2n3n4n5n6n7nOlqc#i$i%iRporpr~rqrrrsrtrurSpvrVb; Tpw = wr@oUp? @ L $p:b;bk x y z ObVpWpHoXpYpZp0pA B [ 'ipeqe(i)i*i+i,i-i.i/i:i;i8n9n!n#n$n%npm'n(n)n*nBl=iqm?iClrmid@i[i]i^i_i`i{i|i}iresete~iajbjcjdjejfjgjhjuevewexeyezeAeBeCeDeEeijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjSbxr+nasbsBjCjDjad,n-n.n/n:n;nPlrcEjFjGjrqyrzrcsArBrCrDrErsqFr,bFbtq] GbGr[ouq^ _ rbYqbcccC ` { | 6bvqwqNoxqyqzqAq} ~ HbHjFeGeIjJjKjLjMjNjOjPjQjRj=n?n@n[n]n^nsm_n`n{n|nDlSjtmTjElumjdUjVjWjXjYjZj0j1j2jHeIeJe3j4j5j6j7j8j9j!j#jKeLeMeNeOePeQeReSeTeUe$j%j'j(j)j*j+j,j-j.j/j:j;j=j?j@j[j]j^j%bHr}ndses_j`j{jbd~naobocodoeoQlsc|j}j~jBqIrJrfsKrLrMrNrOrCqPr-bIbDqabJbQr]oEqbbcbsbZqdcecD dbebfb8bFqGqOoHqIqJqKqgbhbKbakVeWebkckdkekfkgkhkikjkkkfogohoiojokovmlomonoooFllkwmmkGlxmkdnkokpkqkrksktkukvkXeYeZewkxkykzkAkBkCkDkEk0e1e2e3e4e5e6e7e8e9e!eFkGkHkIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXk'bRrpogshsYkZk0kcdqorosotouovoRltc1k2k3k1pSrTrisUrVrWrXrYr2pZrWbib3pE jb0r^o4pkblbM %p=b?bl F G H Qb5p6pIo7p8p9p!pI J mb4k#e$e5k6k7k8k9k!k#k$k%k'kwoxoyozoAoBoymCoDoEoFoHl(kzm)kIlAmld*k+k,k-k.k/k:k;k=k%e'e(e?k@k[k]k^k_k`k{k|k)e*e+e,e-e.e/e:e;e=e?e}k~kalblcldlelflglhliljlklllmlnlolplqlTb
340 if not is_table_model_class(self.__class__): 20q5m,r-rVfWfXf_c6m7m8m9m!m#mJllcYfZf0f'p1q2q.r3q4q5q6q7q(p8q(btb)pN ub9q/o*pO P nbUq^b_bm Q R S Yb+p,pJo-p.p/p:pT U vb1fydzd2f3f4f5f6f7f8f9f!f#f$m%m'm(m)m*mam+m,m-m.mrl$fbm%fslcmdd'f(f)f*f+f,f-f.f/fAdBdCd:f;f=f?f@f[f]f^f_fDdEdFdGdHdIdJdKdLdMdNd`f{f|f}f~fagbgcgdgegfggghgigjgkglgmgng9b!q/m/r:rogpgqg`c:m;m=m?m@m[mKlmcrgsgtg;p#q$q;r%q'q(q)q*q=p+q)bwb?pV xb,q:o@pW X obVq`b{bn Y Z 0 0b[p]pKo^p_p`p{p1 2 ybugOdPdvgwgxgygzgAgBgCgDgEg]m^m_m`m{m|mdm}m~manbntlFgemGgulfmedHgIgJgKgLgMgNgOgPgQdRdSdQgRgSgTgUgVgWgXgYgTdUdVdWdXdYdZd0d1d2d3dZg0g1g2g3g4g5g6g7g8g9g!g#g$g%g'g(g)g*g!b-qcn=r?r+g,g-g{cdnenfngnhninLlnc.g/g:g|p.q/q@r:q;q=q?q@q}p[q*bzb~p3 Ab]q;oaq4 5 pbWq|b}bo 6 7 8 2bbqcqLodqeqfqgq9 ! Bb;g4d5d=g?g@g[g]g^g_g`g{g|gjnknlnmnnnongmpnqnrnsnvl}ghm~gwlimfdahbhchdhehfhghhhih6d7d8djhkhlhmhnhohphqhrh9d!d#d$d%d'd(d)d*d+d,dshthuhvhwhxhyhzhAhBhChDhEhFhGhHhIhJhKh#b^qtn[r]rLhMhNh|cunvnwnxnynznMlocOhPhQhHp_q`q^r{q|q}q~qarIpbrUb# Jpp $ cr=oKp% ' K #p.b/bj q r s MbLpMpGoNpOpPpQpt u ( Rh-d.dShThUhVhWhXhYhZh0h1hAnBnCnDnEnFnjmGnHnInJnxl2hkm3hyllmgd4h5h6h7h8h9h!h#h$h/d:d;d%h'h(h)h*h+h,h-h.h=d?d@d[d]d^d_d`d{d|d}d/h:h;h=h?h@h[h]h^h_h`h{h|h}h~haibicidiRbdrKn_r`reifigi}cLnMnNnOnPnQnNlpchiiijihqerfr{rgrhrirjrkriqlr+bCbjq) Dbmr?okq* + qbXq~bacv , - . 4blqmqMonqoqpqqq/ : Ebki~daeliminioipiqirisitiuiRnSnTnUnVnWnmmXnYnZn0nzlvinmwiAlomhdxiyiziAiBiCiDiEiFibecedeGiHiIiJiKiLiMiNiOieefegeheiejekelemeneoePiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i$bnr1n|r}r8i9i!i~c2n3n4n5n6n7nOlqc#i$i%iRporpr~rqrrrsrtrurSpvrVb; Tpw = wr@oUp? @ L $p:b;bk x y z ObVpWpHoXpYpZp0pA B [ 'ipeqe(i)i*i+i,i-i.i/i:i;i8n9n!n#n$n%npm'n(n)n*nBl=iqm?iClrmid@i[i]i^i_i`i{i|i}iresete~iajbjcjdjejfjgjhjuevewexeyezeAeBeCeDeEeijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjSbxr+nasbsBjCjDjad,n-n.n/n:n;nPlrcEjFjGjrqyrzrcsArBrCrDrErsqFr,bFbtq] GbGr[ouq^ _ rbYqbcccC ` { | 6bvqwqNoxqyqzqAq} ~ HbHjFeGeIjJjKjLjMjNjOjPjQjRj=n?n@n[n]n^nsm_n`n{n|nDlSjtmTjElumjdUjVjWjXjYjZj0j1j2jHeIeJe3j4j5j6j7j8j9j!j#jKeLeMeNeOePeQeReSeTeUe$j%j'j(j)j*j+j,j-j.j/j:j;j=j?j@j[j]j^j%bHr}ndses_j`j{jbd~naobocodoeoQlsc|j}j~jBqIrJrfsKrLrMrNrOrCqPr-bIbDqabJbQr]oEqbbcbsbZqdcecD dbebfb8bFqGqOoHqIqJqKqgbhbKbakVeWebkckdkekfkgkhkikjkkkfogohoiojokovmlomonoooFllkwmmkGlxmkdnkokpkqkrksktkukvkXeYeZewkxkykzkAkBkCkDkEk0e1e2e3e4e5e6e7e8e9e!eFkGkHkIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXk'bRrpogshsYkZk0kcdqorosotouovoRltc1k2k3k1pSrTrisUrVrWrXrYr2pZrWbib3pE jb0r^o4pkblbM %p=b?bl F G H Qb5p6pIo7p8p9p!pI J mb4k#e$e5k6k7k8k9k!k#k$k%k'kwoxoyozoAoBoymCoDoEoFoHl(kzm)kIlAmld*k+k,k-k.k/k:k;k=k%e'e(e?k@k[k]k^k_k`k{k|k)e*e+e,e-e.e/e:e;e=e?e}k~kalblcldlelflglhliljlklllmlnlolplqlTb
341 self.__pydantic_validator__.validate_python( 20q5m,r-r_c6m7m8m9m!m#m'p1q2q.r3q4q5q6q7q(p8q)p9q/o*pUq+p,pJo-p.p/p:p$m%m'm(m)m*mam+m,m-m.mrlbmslcmdd9b!q/m/r:r`c:m;m=m?m@m[m;p#q$q;r%q'q(q)q*q=p+q?p,q:o@pVq[p]pKo^p_p`p{p]m^m_m`m{m|mdm}m~manbntlemulfmed!b-qcn=r?r{cdnenfngnhnin|p.q/q@r:q;q=q?q@q}p[q~p]q;oaqWqbqcqLodqeqfqgqjnknlnmnnnongmpnqnrnsnvlhmwlimfd#b^qtn[r]r|cunvnwnxnynznHp_q`q^r{q|q}q~qarIpbrJpcr=oKp#pLpMpGoNpOpPpQpAnBnCnDnEnFnjmGnHnInJnxlkmyllmgdRbdrKn_r`r}cLnMnNnOnPnQnhqerfr{rgrhrirjrkriqlrjqmr?okqXqlqmqMonqoqpqqqRnSnTnUnVnWnmmXnYnZn0nzlnmAlomhd$bnr1n|r}r~c2n3n4n5n6n7nRporpr~rqrrrsrtrurSpvrTpwr@oUp$pVpWpHoXpYpZp0p8n9n!n#n$n%npm'n(n)n*nBlqmClrmidSbxr+nasbsad,n-n.n/n:n;nrqyrzrcsArBrCrDrErsqFrtqGr[ouqYqvqwqNoxqyqzqAq=n?n@n[n]n^nsm_n`n{n|nDltmElumjd%bHr}ndsesbd~naobocodoeoBqIrJrfsKrLrMrNrOrCqPrDqQr]oEqZqFqGqOoHqIqJqKqfogohoiojokovmlomonoooFlwmGlxmkd'bRrpogshscdqorosotouovo1pSrTrisUrVrWrXrYr2pZr3p0r^o4p%p5p6pIo7p8p9p!pwoxoyozoAoBoymCoDoEoFoHlzmIlAmldTb
342 data,
343 self_instance=self,
344 )
345 else:
346 sqlmodel_table_construct( 2VfWfXf_cJllcYfZf0f(btbN ubO P nb^b_bm Q R S YbT U vb1fydzd2f3f4f5f6f7f8f9f!f#f$f%f'f(f)f*f+f,f-f.f/fAdBdCd:f;f=f?f@f[f]f^f_fDdEdFdGdHdIdJdKdLdMdNd`f{f|f}f~fagbgcgdgegfggghgigjgkglgmgng9bogpgqg`cKlmcrgsgtg)bwbV xbW X ob`b{bn Y Z 0 0b1 2 ybugOdPdvgwgxgygzgAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQdRdSdQgRgSgTgUgVgWgXgYgTdUdVdWdXdYdZd0d1d2d3dZg0g1g2g3g4g5g6g7g8g9g!g#g$g%g'g(g)g*g!b+g,g-g{cLlnc.g/g:g*bzb3 Ab4 5 pb|b}bo 6 7 8 2b9 ! Bb;g4d5d=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghhhih6d7d8djhkhlhmhnhohphqhrh9d!d#d$d%d'd(d)d*d+d,dshthuhvhwhxhyhzhAhBhChDhEhFhGhHhIhJhKh#bLhMhNh|cMlocOhPhQhUb# p $ % ' K .b/bj q r s Mbt u ( Rh-d.dShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h/d:d;d%h'h(h)h*h+h,h-h.h=d?d@d[d]d^d_d`d{d|d}d/h:h;h=h?h@h[h]h^h_h`h{h|h}h~haibicidiRbeifigi}cNlpchiiiji+bCb) Db* + qb~bacv , - . 4b/ : Ebki~daeliminioipiqirisitiuiviwixiyiziAiBiCiDiEiFibecedeGiHiIiJiKiLiMiNiOieefegeheiejekelemeneoePiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i$b8i9i!i~cOlqc#i$i%iVb; w = ? @ L :b;bk x y z ObA B [ 'ipeqe(i)i*i+i,i-i.i/i:i;i=i?i@i[i]i^i_i`i{i|i}iresete~iajbjcjdjejfjgjhjuevewexeyezeAeBeCeDeEeijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjSbBjCjDjadPlrcEjFjGj,bFb] Gb^ _ rbbcccC ` { | 6b} ~ HbHjFeGeIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j2jHeIeJe3j4j5j6j7j8j9j!j#jKeLeMeNeOePeQeReSeTeUe$j%j'j(j)j*j+j,j-j.j/j:j;j=j?j@j[j]j^j%b_j`j{jbdQlsc|j}j~j-bIbabJbbbcbsbdcecD dbebfb8bgbhbKbakVeWebkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkXeYeZewkxkykzkAkBkCkDkEk0e1e2e3e4e5e6e7e8e9e!eFkGkHkIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXk'bYkZk0kcdRltc1k2k3kWbibE jbkblbM =b?bl F G H QbI J mb4k#e$e5k6k7k8k9k!k#k$k%k'k(k)k*k+k,k-k.k/k:k;k=k%e'e(e?k@k[k]k^k_k`k{k|k)e*e+e,e-e.e/e:e;e=e?e}k~kalblcldlelflglhliljlklllmlnlolplqlTb
347 self_instance=self,
348 values=data,
349 )
350 object.__setattr__( 20q5mVfWfXf_c6m7m8m9m!m#mJllcYfZf0f'p1q2q3q4q5q6q7q(p8q(btb)pN ub9q/o*pO P nb^b_bm Q R S Yb+p,pJo-p.p/p:pT U vb1fydzd2f3f4f5f6f7f8f9f!f#f$m%m'm(m)m*mam+m,m-m.mrl$fbm%fslcmdd'f(f)f*f+f,f-f.f/fAdBdCd:f;f=f?f@f[f]f^f_fDdEdFdGdHdIdJdKdLdMdNd`f{f|f}f~fagbgcgdgegfggghgigjgkglgmgng9b!q/mogpgqg`c:m;m=m?m@m[mKlmcrgsgtg;p#q$q%q'q(q)q*q=p+q)bwb?pV xb,q:o@pW X ob`b{bn Y Z 0 0b[p]pKo^p_p`p{p1 2 ybugOdPdvgwgxgygzgAgBgCgDgEg]m^m_m`m{m|mdm}m~manbntlFgemGgulfmedHgIgJgKgLgMgNgOgPgQdRdSdQgRgSgTgUgVgWgXgYgTdUdVdWdXdYdZd0d1d2d3dZg0g1g2g3g4g5g6g7g8g9g!g#g$g%g'g(g)g*g!b-qcn+g,g-g{cdnenfngnhninLlnc.g/g:g|p.q/q:q;q=q?q@q}p[q*bzb~p3 Ab]q;oaq4 5 pb|b}bo 6 7 8 2bbqcqLodqeqfqgq9 ! Bb;g4d5d=g?g@g[g]g^g_g`g{g|gjnknlnmnnnongmpnqnrnsnvl}ghm~gwlimfdahbhchdhehfhghhhih6d7d8djhkhlhmhnhohphqhrh9d!d#d$d%d'd(d)d*d+d,dshthuhvhwhxhyhzhAhBhChDhEhFhGhHhIhJhKh#b^qtnLhMhNh|cunvnwnxnynznMlocOhPhQhHp_q`q{q|q}q~qarIpbrUb# Jpp $ cr=oKp% ' K .b/bj q r s MbLpMpGoNpOpPpQpt u ( Rh-d.dShThUhVhWhXhYhZh0h1hAnBnCnDnEnFnjmGnHnInJnxl2hkm3hyllmgd4h5h6h7h8h9h!h#h$h/d:d;d%h'h(h)h*h+h,h-h.h=d?d@d[d]d^d_d`d{d|d}d/h:h;h=h?h@h[h]h^h_h`h{h|h}h~haibicidiRbdrKneifigi}cLnMnNnOnPnQnNlpchiiijihqerfrgrhrirjrkriqlr+bCbjq) Dbmr?okq* + qb~bacv , - . 4blqmqMonqoqpqqq/ : Ebki~daeliminioipiqirisitiuiRnSnTnUnVnWnmmXnYnZn0nzlvinmwiAlomhdxiyiziAiBiCiDiEiFibecedeGiHiIiJiKiLiMiNiOieefegeheiejekelemeneoePiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i$bnr1n8i9i!i~c2n3n4n5n6n7nOlqc#i$i%iRporprqrrrsrtrurSpvrVb; Tpw = wr@oUp? @ L :b;bk x y z ObVpWpHoXpYpZp0pA B [ 'ipeqe(i)i*i+i,i-i.i/i:i;i8n9n!n#n$n%npm'n(n)n*nBl=iqm?iClrmid@i[i]i^i_i`i{i|i}iresete~iajbjcjdjejfjgjhjuevewexeyezeAeBeCeDeEeijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjSbxr+nBjCjDjad,n-n.n/n:n;nPlrcEjFjGjrqyrzrArBrCrDrErsqFr,bFbtq] GbGr[ouq^ _ rbbcccC ` { | 6bvqwqNoxqyqzqAq} ~ HbHjFeGeIjJjKjLjMjNjOjPjQjRj=n?n@n[n]n^nsm_n`n{n|nDlSjtmTjElumjdUjVjWjXjYjZj0j1j2jHeIeJe3j4j5j6j7j8j9j!j#jKeLeMeNeOePeQeReSeTeUe$j%j'j(j)j*j+j,j-j.j/j:j;j=j?j@j[j]j^j%bHr}n_j`j{jbd~naobocodoeoQlsc|j}j~jBqIrJrKrLrMrNrOrCqPr-bIbDqabJbQr]oEqbbcbsbdcecD dbebfb8bFqGqOoHqIqJqKqgbhbKbakVeWebkckdkekfkgkhkikjkkkfogohoiojokovmlomonoooFllkwmmkGlxmkdnkokpkqkrksktkukvkXeYeZewkxkykzkAkBkCkDkEk0e1e2e3e4e5e6e7e8e9e!eFkGkHkIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXk'bRrpoYkZk0kcdqorosotouovoRltc1k2k3k1pSrTrUrVrWrXrYr2pZrWbib3pE jb0r^o4pkblbM =b?bl F G H Qb5p6pIo7p8p9p!pI J mb4k#e$e5k6k7k8k9k!k#k$k%k'kwoxoyozoAoBoymCoDoEoFoHl(kzm)kIlAmld*k+k,k-k.k/k:k;k=k%e'e(e?k@k[k]k^k_k`k{k|k)e*e+e,e-e.e/e:e;e=e?e}k~kalblcldlelflglhliljlklllmlnlolplqlTb
351 self,
352 "__dict__",
353 {**old_dict, **self.__dict__},
354 )