Coverage for sqlmodel/main.py: 93%
353 statements
« prev ^ index » next coverage.py v7.7.1, created at 2025-03-24 00:02 +0000
« prev ^ index » next coverage.py v7.7.1, created at 2025-03-24 00:02 +0000
1import ipaddress 1abcdef
2import uuid 1abcdef
3import weakref 1abcdef
4from datetime import date, datetime, time, timedelta 1abcdef
5from decimal import Decimal 1abcdef
6from enum import Enum 1abcdef
7from pathlib import Path 1abcdef
8from typing import ( 1abcdef
9 TYPE_CHECKING,
10 AbstractSet,
11 Any,
12 Callable,
13 ClassVar,
14 Dict,
15 List,
16 Mapping,
17 Optional,
18 Sequence,
19 Set,
20 Tuple,
21 Type,
22 TypeVar,
23 Union,
24 cast,
25 overload,
26)
28from pydantic import BaseModel, EmailStr 1abcdef
29from pydantic.fields import FieldInfo as PydanticFieldInfo 1abcdef
30from sqlalchemy import ( 1abcdef
31 Boolean,
32 Column,
33 Date,
34 DateTime,
35 Float,
36 ForeignKey,
37 Integer,
38 Interval,
39 Numeric,
40 inspect,
41)
42from sqlalchemy import Enum as sa_Enum 1abcdef
43from sqlalchemy.orm import ( 1abcdef
44 Mapped,
45 RelationshipProperty,
46 declared_attr,
47 registry,
48 relationship,
49)
50from sqlalchemy.orm.attributes import set_attribute 1abcdef
51from sqlalchemy.orm.decl_api import DeclarativeMeta 1abcdef
52from sqlalchemy.orm.instrumentation import is_instrumented 1abcdef
53from sqlalchemy.sql.schema import MetaData 1abcdef
54from sqlalchemy.sql.sqltypes import LargeBinary, Time, Uuid 1abcdef
55from typing_extensions import Literal, TypeAlias, deprecated, get_origin 1abcdef
57from ._compat import ( # type: ignore[attr-defined] 1abcdef
58 IS_PYDANTIC_V2,
59 PYDANTIC_MINOR_VERSION,
60 BaseConfig,
61 ModelField,
62 ModelMetaclass,
63 Representation,
64 SQLModelConfig,
65 Undefined,
66 UndefinedType,
67 _calculate_keys,
68 finish_init,
69 get_annotations,
70 get_config_value,
71 get_field_metadata,
72 get_model_fields,
73 get_relationship_to,
74 get_sa_type_from_field,
75 init_pydantic_private_attrs,
76 is_field_noneable,
77 is_table_model_class,
78 post_init_field_info,
79 set_config_value,
80 sqlmodel_init,
81 sqlmodel_validate,
82)
83from .sql.sqltypes import AutoString 1abcdef
85if TYPE_CHECKING: 1abcdef
86 from pydantic._internal._model_construction import ModelMetaclass as ModelMetaclass
87 from pydantic._internal._repr import Representation as Representation
88 from pydantic_core import PydanticUndefined as Undefined
89 from pydantic_core import PydanticUndefinedType as UndefinedType
91_T = TypeVar("_T") 1abcdef
92NoArgAnyCallable = Callable[[], Any] 1abcdef
93IncEx: TypeAlias = Union[ 1abcdef
94 Set[int],
95 Set[str],
96 Mapping[int, Union["IncEx", bool]],
97 Mapping[str, Union["IncEx", bool]],
98]
99OnDeleteType = Literal["CASCADE", "SET NULL", "RESTRICT"] 1abcdef
102def __dataclass_transform__( 1abcdef
103 *,
104 eq_default: bool = True,
105 order_default: bool = False,
106 kw_only_default: bool = False,
107 field_descriptors: Tuple[Union[type, Callable[..., Any]], ...] = (()),
108) -> Callable[[_T], _T]:
109 return lambda a: a 1abcdef
112class FieldInfo(PydanticFieldInfo): 1abcdef
113 def __init__(self, default: Any = Undefined, **kwargs: Any) -> None: 1abcdef
114 primary_key = kwargs.pop("primary_key", False) 2a |d'd(dIkVlWl%llmPlEn4p5n!p/p)pynZnVmmngn7mJk8mydKkLkMkxmCk7lmmsnEd9m!m1mNkymzmPmygzg(b)bFl}d~daebecedeeefe[l]lAgBg}eRfSfTfUfv Cf~eogw KdLdCgDgOkPkQkEgFgGgHgx g ] IgRkJgKgLgMgNgOgSk_c^ jd*b+b_ ,b` ' { -b.bPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g6g7gb ge)d*dTkXlYl'lnmQlFn5p6n#p:p*pzn0nWmnnhn#mUk$mzdVkWkXkAmDk8lomtnFd%m'm2mYkBmCmQm8g9g/b:b;b=bGlheiejekelemeneoe^l_l!g#g(lafbfVfWfXfYfZf0f1f2fy z DfEfcfdfpgA B MdNdOdPd$g%gZk0k1k'g(g)g*gC D h i | } +g2k,g-g.g/g:g;g3k`c{c~ abkdld?b@b[b]bbbcb^b_bdbeb( ) fbgb`b{b|b}b=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghc peqe+d,d-d.d4kZl0l)lpmRlGn6p7n$p;p+pAn1nXmonin(m5k)mAd6k7k8kDmEk9lqmunGd*m+m3m9kEmFmRmhhihjhkh~bacbcccdcecHlIlreseteuevewexeyezeAeBeCeDeEeFeGe`l{l|l}llhmhnhoh*l+lefffgf3f4f5f6f7f8f9f!f#f$f%f'fE F G FfGfHfhfifjfqgrgH I J QdRdSdTdUdVdphqhrhsh!k#k$k%k'k(kthuhvhwhxhyhzhAhK L M j k l hbibjbBhCh)k*kDhEhFhGhHhIhJhKhLhMhNhOh+k,k|c}c~ckblbmbmdndodfcgchcicjckcnbobpblcmcncqbrbsb* + , tbubvbocpcqcrcsctcPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?hd HeIe/d:d;d=d-k1l2l,lrmSlHn7p8n%p=p,pBn2nYmpnjn,m.k-mBd/k:k;kGmFk!lsmvnHd.m/m4m=kHmImSm@h[h]h^hucvcwcxcyczcJlKlJeKeLeMeNeOePeQeReSeTeUeVeWeXeYe~lambmcm_h`h{h|h-l.lkflfmf(f)f*f+f,f-f.f/f:f;f=f?fN O P IfJfKfnfofpfsgtgQ R S WdXdYdZd0d1d}h~haibi?k@k[k]k^k_kcidieifigihiiijiT U V m n o wbxbybkili`k{kminioipiqirisitiuiviwixi|k}kadbdcdzbAbBbpdqdrdAcBcCcDcEcFcCbDbEbGcHcIcFbGbHb- . / IbJbKbJcKcLcMcNcOcyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i9ie Ze0e?d@d[d]d~k3l4l/ltmTlIn8p9n'p?p-pCn3nZmqnkn:mal;mCdblcldlJmGk#lumwnId=m?m5melKmLmTm!i#i$i%iPcQcRcScTcUcLlMl1e2e3e4e5e6e7e8e9e!e#e$e%e'e(e)edmemfmgm'i(i)i*i:l;lqfrfsf@f[f]f^f_f`f{f|f}f~fagbgW X Y LfMfNftfufvfugvgZ 0 1 2d3d4d5d6d7d+i,i-i.iflglhliljlkl/i:i;i=i?i@i[i]i2 3 4 p q r LbMbNb^i_illml`i{i|i}i~iajbjcjdjejfjgjnlolddedfdObPbQbsdtdudVcWcXcYcZc0cRbSbTb1c2c3cUbVbWb: ; = XbYbZb4c5c6c7c8c9chjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjf *e+e^d_d`d{dpl5l6l=lvmUlJn9p!n(p@p.pDn4n0mrnln@mql[mDdrlsltlMmHk$lwmxnJd]m^m6mulNmOmUmTjUjVjWj!c#c$c%c'c(cNlOl,e-e.e/e:e;e=e?e@e[e]e^e_e`e{e|ehmimjmkmXjYjZj0j?l@lwfxfyfcgdgegfggghgigjgkglgmgng5 6 7 OfPfQfzfAfBfwgxg8 9 ! 8d9d!d#d$d%d1j2j3j4jvlwlxlylzlAl5j6j7j8j9j!j#j$j# $ % s t u 0b1b2b%j'jBlCl(j)j*j+j,j-j.j/j:j;j=j?jDlElgdhdid3b4b5bvdwdxd)c*c+c,c-c.c6b7b8b/c:c;c9b!b#b? @ [ $b%b'b=c?c@c[c]c^c@j[j]j^j_j`j{j|j}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBk
115 nullable = kwargs.pop("nullable", Undefined) 2a |d'd(dIkVlWl%llmPlEn4p5n!p/p)pynZnVmmngn7mJk8mydKkLkMkxmCk7lmmsnEd9m!m1mNkymzmPmygzg(b)bFl}d~daebecedeeefe[l]lAgBg}eRfSfTfUfv Cf~eogw KdLdCgDgOkPkQkEgFgGgHgx g ] IgRkJgKgLgMgNgOgSk_c^ jd*b+b_ ,b` ' { -b.bPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g6g7gb ge)d*dTkXlYl'lnmQlFn5p6n#p:p*pzn0nWmnnhn#mUk$mzdVkWkXkAmDk8lomtnFd%m'm2mYkBmCmQm8g9g/b:b;b=bGlheiejekelemeneoe^l_l!g#g(lafbfVfWfXfYfZf0f1f2fy z DfEfcfdfpgA B MdNdOdPd$g%gZk0k1k'g(g)g*gC D h i | } +g2k,g-g.g/g:g;g3k`c{c~ abkdld?b@b[b]bbbcb^b_bdbeb( ) fbgb`b{b|b}b=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghc peqe+d,d-d.d4kZl0l)lpmRlGn6p7n$p;p+pAn1nXmonin(m5k)mAd6k7k8kDmEk9lqmunGd*m+m3m9kEmFmRmhhihjhkh~bacbcccdcecHlIlreseteuevewexeyezeAeBeCeDeEeFeGe`l{l|l}llhmhnhoh*l+lefffgf3f4f5f6f7f8f9f!f#f$f%f'fE F G FfGfHfhfifjfqgrgH I J QdRdSdTdUdVdphqhrhsh!k#k$k%k'k(kthuhvhwhxhyhzhAhK L M j k l hbibjbBhCh)k*kDhEhFhGhHhIhJhKhLhMhNhOh+k,k|c}c~ckblbmbmdndodfcgchcicjckcnbobpblcmcncqbrbsb* + , tbubvbocpcqcrcsctcPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?hd HeIe/d:d;d=d-k1l2l,lrmSlHn7p8n%p=p,pBn2nYmpnjn,m.k-mBd/k:k;kGmFk!lsmvnHd.m/m4m=kHmImSm@h[h]h^hucvcwcxcyczcJlKlJeKeLeMeNeOePeQeReSeTeUeVeWeXeYe~lambmcm_h`h{h|h-l.lkflfmf(f)f*f+f,f-f.f/f:f;f=f?fN O P IfJfKfnfofpfsgtgQ R S WdXdYdZd0d1d}h~haibi?k@k[k]k^k_kcidieifigihiiijiT U V m n o wbxbybkili`k{kminioipiqirisitiuiviwixi|k}kadbdcdzbAbBbpdqdrdAcBcCcDcEcFcCbDbEbGcHcIcFbGbHb- . / IbJbKbJcKcLcMcNcOcyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i9ie Ze0e?d@d[d]d~k3l4l/ltmTlIn8p9n'p?p-pCn3nZmqnkn:mal;mCdblcldlJmGk#lumwnId=m?m5melKmLmTm!i#i$i%iPcQcRcScTcUcLlMl1e2e3e4e5e6e7e8e9e!e#e$e%e'e(e)edmemfmgm'i(i)i*i:l;lqfrfsf@f[f]f^f_f`f{f|f}f~fagbgW X Y LfMfNftfufvfugvgZ 0 1 2d3d4d5d6d7d+i,i-i.iflglhliljlkl/i:i;i=i?i@i[i]i2 3 4 p q r LbMbNb^i_illml`i{i|i}i~iajbjcjdjejfjgjnlolddedfdObPbQbsdtdudVcWcXcYcZc0cRbSbTb1c2c3cUbVbWb: ; = XbYbZb4c5c6c7c8c9chjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjf *e+e^d_d`d{dpl5l6l=lvmUlJn9p!n(p@p.pDn4n0mrnln@mql[mDdrlsltlMmHk$lwmxnJd]m^m6mulNmOmUmTjUjVjWj!c#c$c%c'c(cNlOl,e-e.e/e:e;e=e?e@e[e]e^e_e`e{e|ehmimjmkmXjYjZj0j?l@lwfxfyfcgdgegfggghgigjgkglgmgng5 6 7 OfPfQfzfAfBfwgxg8 9 ! 8d9d!d#d$d%d1j2j3j4jvlwlxlylzlAl5j6j7j8j9j!j#j$j# $ % s t u 0b1b2b%j'jBlCl(j)j*j+j,j-j.j/j:j;j=j?jDlElgdhdid3b4b5bvdwdxd)c*c+c,c-c.c6b7b8b/c:c;c9b!b#b? @ [ $b%b'b=c?c@c[c]c^c@j[j]j^j_j`j{j|j}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBk
116 foreign_key = kwargs.pop("foreign_key", Undefined) 2a |d'd(dIkVlWl%llmPlEn4p5n!p/p)pynZnVmmngn7mJk8mydKkLkMkxmCk7lmmsnEd9m!m1mNkymzmPmygzg(b)bFl}d~daebecedeeefe[l]lAgBg}eRfSfTfUfv Cf~eogw KdLdCgDgOkPkQkEgFgGgHgx g ] IgRkJgKgLgMgNgOgSk_c^ jd*b+b_ ,b` ' { -b.bPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g6g7gb ge)d*dTkXlYl'lnmQlFn5p6n#p:p*pzn0nWmnnhn#mUk$mzdVkWkXkAmDk8lomtnFd%m'm2mYkBmCmQm8g9g/b:b;b=bGlheiejekelemeneoe^l_l!g#g(lafbfVfWfXfYfZf0f1f2fy z DfEfcfdfpgA B MdNdOdPd$g%gZk0k1k'g(g)g*gC D h i | } +g2k,g-g.g/g:g;g3k`c{c~ abkdld?b@b[b]bbbcb^b_bdbeb( ) fbgb`b{b|b}b=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghc peqe+d,d-d.d4kZl0l)lpmRlGn6p7n$p;p+pAn1nXmonin(m5k)mAd6k7k8kDmEk9lqmunGd*m+m3m9kEmFmRmhhihjhkh~bacbcccdcecHlIlreseteuevewexeyezeAeBeCeDeEeFeGe`l{l|l}llhmhnhoh*l+lefffgf3f4f5f6f7f8f9f!f#f$f%f'fE F G FfGfHfhfifjfqgrgH I J QdRdSdTdUdVdphqhrhsh!k#k$k%k'k(kthuhvhwhxhyhzhAhK L M j k l hbibjbBhCh)k*kDhEhFhGhHhIhJhKhLhMhNhOh+k,k|c}c~ckblbmbmdndodfcgchcicjckcnbobpblcmcncqbrbsb* + , tbubvbocpcqcrcsctcPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?hd HeIe/d:d;d=d-k1l2l,lrmSlHn7p8n%p=p,pBn2nYmpnjn,m.k-mBd/k:k;kGmFk!lsmvnHd.m/m4m=kHmImSm@h[h]h^hucvcwcxcyczcJlKlJeKeLeMeNeOePeQeReSeTeUeVeWeXeYe~lambmcm_h`h{h|h-l.lkflfmf(f)f*f+f,f-f.f/f:f;f=f?fN O P IfJfKfnfofpfsgtgQ R S WdXdYdZd0d1d}h~haibi?k@k[k]k^k_kcidieifigihiiijiT U V m n o wbxbybkili`k{kminioipiqirisitiuiviwixi|k}kadbdcdzbAbBbpdqdrdAcBcCcDcEcFcCbDbEbGcHcIcFbGbHb- . / IbJbKbJcKcLcMcNcOcyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i9ie Ze0e?d@d[d]d~k3l4l/ltmTlIn8p9n'p?p-pCn3nZmqnkn:mal;mCdblcldlJmGk#lumwnId=m?m5melKmLmTm!i#i$i%iPcQcRcScTcUcLlMl1e2e3e4e5e6e7e8e9e!e#e$e%e'e(e)edmemfmgm'i(i)i*i:l;lqfrfsf@f[f]f^f_f`f{f|f}f~fagbgW X Y LfMfNftfufvfugvgZ 0 1 2d3d4d5d6d7d+i,i-i.iflglhliljlkl/i:i;i=i?i@i[i]i2 3 4 p q r LbMbNb^i_illml`i{i|i}i~iajbjcjdjejfjgjnlolddedfdObPbQbsdtdudVcWcXcYcZc0cRbSbTb1c2c3cUbVbWb: ; = XbYbZb4c5c6c7c8c9chjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjf *e+e^d_d`d{dpl5l6l=lvmUlJn9p!n(p@p.pDn4n0mrnln@mql[mDdrlsltlMmHk$lwmxnJd]m^m6mulNmOmUmTjUjVjWj!c#c$c%c'c(cNlOl,e-e.e/e:e;e=e?e@e[e]e^e_e`e{e|ehmimjmkmXjYjZj0j?l@lwfxfyfcgdgegfggghgigjgkglgmgng5 6 7 OfPfQfzfAfBfwgxg8 9 ! 8d9d!d#d$d%d1j2j3j4jvlwlxlylzlAl5j6j7j8j9j!j#j$j# $ % s t u 0b1b2b%j'jBlCl(j)j*j+j,j-j.j/j:j;j=j?jDlElgdhdid3b4b5bvdwdxd)c*c+c,c-c.c6b7b8b/c:c;c9b!b#b? @ [ $b%b'b=c?c@c[c]c^c@j[j]j^j_j`j{j|j}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBk
117 ondelete = kwargs.pop("ondelete", Undefined) 2a |d'd(dIkVlWl%llmPlEn4p5n!p/p)pynZnVmmngn7mJk8mydKkLkMkxmCk7lmmsnEd9m!m1mNkymzmPmygzg(b)bFl}d~daebecedeeefe[l]lAgBg}eRfSfTfUfv Cf~eogw KdLdCgDgOkPkQkEgFgGgHgx g ] IgRkJgKgLgMgNgOgSk_c^ jd*b+b_ ,b` ' { -b.bPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g6g7gb ge)d*dTkXlYl'lnmQlFn5p6n#p:p*pzn0nWmnnhn#mUk$mzdVkWkXkAmDk8lomtnFd%m'm2mYkBmCmQm8g9g/b:b;b=bGlheiejekelemeneoe^l_l!g#g(lafbfVfWfXfYfZf0f1f2fy z DfEfcfdfpgA B MdNdOdPd$g%gZk0k1k'g(g)g*gC D h i | } +g2k,g-g.g/g:g;g3k`c{c~ abkdld?b@b[b]bbbcb^b_bdbeb( ) fbgb`b{b|b}b=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghc peqe+d,d-d.d4kZl0l)lpmRlGn6p7n$p;p+pAn1nXmonin(m5k)mAd6k7k8kDmEk9lqmunGd*m+m3m9kEmFmRmhhihjhkh~bacbcccdcecHlIlreseteuevewexeyezeAeBeCeDeEeFeGe`l{l|l}llhmhnhoh*l+lefffgf3f4f5f6f7f8f9f!f#f$f%f'fE F G FfGfHfhfifjfqgrgH I J QdRdSdTdUdVdphqhrhsh!k#k$k%k'k(kthuhvhwhxhyhzhAhK L M j k l hbibjbBhCh)k*kDhEhFhGhHhIhJhKhLhMhNhOh+k,k|c}c~ckblbmbmdndodfcgchcicjckcnbobpblcmcncqbrbsb* + , tbubvbocpcqcrcsctcPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?hd HeIe/d:d;d=d-k1l2l,lrmSlHn7p8n%p=p,pBn2nYmpnjn,m.k-mBd/k:k;kGmFk!lsmvnHd.m/m4m=kHmImSm@h[h]h^hucvcwcxcyczcJlKlJeKeLeMeNeOePeQeReSeTeUeVeWeXeYe~lambmcm_h`h{h|h-l.lkflfmf(f)f*f+f,f-f.f/f:f;f=f?fN O P IfJfKfnfofpfsgtgQ R S WdXdYdZd0d1d}h~haibi?k@k[k]k^k_kcidieifigihiiijiT U V m n o wbxbybkili`k{kminioipiqirisitiuiviwixi|k}kadbdcdzbAbBbpdqdrdAcBcCcDcEcFcCbDbEbGcHcIcFbGbHb- . / IbJbKbJcKcLcMcNcOcyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i9ie Ze0e?d@d[d]d~k3l4l/ltmTlIn8p9n'p?p-pCn3nZmqnkn:mal;mCdblcldlJmGk#lumwnId=m?m5melKmLmTm!i#i$i%iPcQcRcScTcUcLlMl1e2e3e4e5e6e7e8e9e!e#e$e%e'e(e)edmemfmgm'i(i)i*i:l;lqfrfsf@f[f]f^f_f`f{f|f}f~fagbgW X Y LfMfNftfufvfugvgZ 0 1 2d3d4d5d6d7d+i,i-i.iflglhliljlkl/i:i;i=i?i@i[i]i2 3 4 p q r LbMbNb^i_illml`i{i|i}i~iajbjcjdjejfjgjnlolddedfdObPbQbsdtdudVcWcXcYcZc0cRbSbTb1c2c3cUbVbWb: ; = XbYbZb4c5c6c7c8c9chjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjf *e+e^d_d`d{dpl5l6l=lvmUlJn9p!n(p@p.pDn4n0mrnln@mql[mDdrlsltlMmHk$lwmxnJd]m^m6mulNmOmUmTjUjVjWj!c#c$c%c'c(cNlOl,e-e.e/e:e;e=e?e@e[e]e^e_e`e{e|ehmimjmkmXjYjZj0j?l@lwfxfyfcgdgegfggghgigjgkglgmgng5 6 7 OfPfQfzfAfBfwgxg8 9 ! 8d9d!d#d$d%d1j2j3j4jvlwlxlylzlAl5j6j7j8j9j!j#j$j# $ % s t u 0b1b2b%j'jBlCl(j)j*j+j,j-j.j/j:j;j=j?jDlElgdhdid3b4b5bvdwdxd)c*c+c,c-c.c6b7b8b/c:c;c9b!b#b? @ [ $b%b'b=c?c@c[c]c^c@j[j]j^j_j`j{j|j}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBk
118 unique = kwargs.pop("unique", False) 2a |d'd(dIkVlWl%llmPlEn4p5n!p/p)pynZnVmmngn7mJk8mydKkLkMkxmCk7lmmsnEd9m!m1mNkymzmPmygzg(b)bFl}d~daebecedeeefe[l]lAgBg}eRfSfTfUfv Cf~eogw KdLdCgDgOkPkQkEgFgGgHgx g ] IgRkJgKgLgMgNgOgSk_c^ jd*b+b_ ,b` ' { -b.bPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g6g7gb ge)d*dTkXlYl'lnmQlFn5p6n#p:p*pzn0nWmnnhn#mUk$mzdVkWkXkAmDk8lomtnFd%m'm2mYkBmCmQm8g9g/b:b;b=bGlheiejekelemeneoe^l_l!g#g(lafbfVfWfXfYfZf0f1f2fy z DfEfcfdfpgA B MdNdOdPd$g%gZk0k1k'g(g)g*gC D h i | } +g2k,g-g.g/g:g;g3k`c{c~ abkdld?b@b[b]bbbcb^b_bdbeb( ) fbgb`b{b|b}b=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghc peqe+d,d-d.d4kZl0l)lpmRlGn6p7n$p;p+pAn1nXmonin(m5k)mAd6k7k8kDmEk9lqmunGd*m+m3m9kEmFmRmhhihjhkh~bacbcccdcecHlIlreseteuevewexeyezeAeBeCeDeEeFeGe`l{l|l}llhmhnhoh*l+lefffgf3f4f5f6f7f8f9f!f#f$f%f'fE F G FfGfHfhfifjfqgrgH I J QdRdSdTdUdVdphqhrhsh!k#k$k%k'k(kthuhvhwhxhyhzhAhK L M j k l hbibjbBhCh)k*kDhEhFhGhHhIhJhKhLhMhNhOh+k,k|c}c~ckblbmbmdndodfcgchcicjckcnbobpblcmcncqbrbsb* + , tbubvbocpcqcrcsctcPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?hd HeIe/d:d;d=d-k1l2l,lrmSlHn7p8n%p=p,pBn2nYmpnjn,m.k-mBd/k:k;kGmFk!lsmvnHd.m/m4m=kHmImSm@h[h]h^hucvcwcxcyczcJlKlJeKeLeMeNeOePeQeReSeTeUeVeWeXeYe~lambmcm_h`h{h|h-l.lkflfmf(f)f*f+f,f-f.f/f:f;f=f?fN O P IfJfKfnfofpfsgtgQ R S WdXdYdZd0d1d}h~haibi?k@k[k]k^k_kcidieifigihiiijiT U V m n o wbxbybkili`k{kminioipiqirisitiuiviwixi|k}kadbdcdzbAbBbpdqdrdAcBcCcDcEcFcCbDbEbGcHcIcFbGbHb- . / IbJbKbJcKcLcMcNcOcyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i9ie Ze0e?d@d[d]d~k3l4l/ltmTlIn8p9n'p?p-pCn3nZmqnkn:mal;mCdblcldlJmGk#lumwnId=m?m5melKmLmTm!i#i$i%iPcQcRcScTcUcLlMl1e2e3e4e5e6e7e8e9e!e#e$e%e'e(e)edmemfmgm'i(i)i*i:l;lqfrfsf@f[f]f^f_f`f{f|f}f~fagbgW X Y LfMfNftfufvfugvgZ 0 1 2d3d4d5d6d7d+i,i-i.iflglhliljlkl/i:i;i=i?i@i[i]i2 3 4 p q r LbMbNb^i_illml`i{i|i}i~iajbjcjdjejfjgjnlolddedfdObPbQbsdtdudVcWcXcYcZc0cRbSbTb1c2c3cUbVbWb: ; = XbYbZb4c5c6c7c8c9chjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjf *e+e^d_d`d{dpl5l6l=lvmUlJn9p!n(p@p.pDn4n0mrnln@mql[mDdrlsltlMmHk$lwmxnJd]m^m6mulNmOmUmTjUjVjWj!c#c$c%c'c(cNlOl,e-e.e/e:e;e=e?e@e[e]e^e_e`e{e|ehmimjmkmXjYjZj0j?l@lwfxfyfcgdgegfggghgigjgkglgmgng5 6 7 OfPfQfzfAfBfwgxg8 9 ! 8d9d!d#d$d%d1j2j3j4jvlwlxlylzlAl5j6j7j8j9j!j#j$j# $ % s t u 0b1b2b%j'jBlCl(j)j*j+j,j-j.j/j:j;j=j?jDlElgdhdid3b4b5bvdwdxd)c*c+c,c-c.c6b7b8b/c:c;c9b!b#b? @ [ $b%b'b=c?c@c[c]c^c@j[j]j^j_j`j{j|j}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBk
119 index = kwargs.pop("index", Undefined) 2a |d'd(dIkVlWl%llmPlEn4p5n!p/p)pynZnVmmngn7mJk8mydKkLkMkxmCk7lmmsnEd9m!m1mNkymzmPmygzg(b)bFl}d~daebecedeeefe[l]lAgBg}eRfSfTfUfv Cf~eogw KdLdCgDgOkPkQkEgFgGgHgx g ] IgRkJgKgLgMgNgOgSk_c^ jd*b+b_ ,b` ' { -b.bPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g6g7gb ge)d*dTkXlYl'lnmQlFn5p6n#p:p*pzn0nWmnnhn#mUk$mzdVkWkXkAmDk8lomtnFd%m'm2mYkBmCmQm8g9g/b:b;b=bGlheiejekelemeneoe^l_l!g#g(lafbfVfWfXfYfZf0f1f2fy z DfEfcfdfpgA B MdNdOdPd$g%gZk0k1k'g(g)g*gC D h i | } +g2k,g-g.g/g:g;g3k`c{c~ abkdld?b@b[b]bbbcb^b_bdbeb( ) fbgb`b{b|b}b=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghc peqe+d,d-d.d4kZl0l)lpmRlGn6p7n$p;p+pAn1nXmonin(m5k)mAd6k7k8kDmEk9lqmunGd*m+m3m9kEmFmRmhhihjhkh~bacbcccdcecHlIlreseteuevewexeyezeAeBeCeDeEeFeGe`l{l|l}llhmhnhoh*l+lefffgf3f4f5f6f7f8f9f!f#f$f%f'fE F G FfGfHfhfifjfqgrgH I J QdRdSdTdUdVdphqhrhsh!k#k$k%k'k(kthuhvhwhxhyhzhAhK L M j k l hbibjbBhCh)k*kDhEhFhGhHhIhJhKhLhMhNhOh+k,k|c}c~ckblbmbmdndodfcgchcicjckcnbobpblcmcncqbrbsb* + , tbubvbocpcqcrcsctcPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?hd HeIe/d:d;d=d-k1l2l,lrmSlHn7p8n%p=p,pBn2nYmpnjn,m.k-mBd/k:k;kGmFk!lsmvnHd.m/m4m=kHmImSm@h[h]h^hucvcwcxcyczcJlKlJeKeLeMeNeOePeQeReSeTeUeVeWeXeYe~lambmcm_h`h{h|h-l.lkflfmf(f)f*f+f,f-f.f/f:f;f=f?fN O P IfJfKfnfofpfsgtgQ R S WdXdYdZd0d1d}h~haibi?k@k[k]k^k_kcidieifigihiiijiT U V m n o wbxbybkili`k{kminioipiqirisitiuiviwixi|k}kadbdcdzbAbBbpdqdrdAcBcCcDcEcFcCbDbEbGcHcIcFbGbHb- . / IbJbKbJcKcLcMcNcOcyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i9ie Ze0e?d@d[d]d~k3l4l/ltmTlIn8p9n'p?p-pCn3nZmqnkn:mal;mCdblcldlJmGk#lumwnId=m?m5melKmLmTm!i#i$i%iPcQcRcScTcUcLlMl1e2e3e4e5e6e7e8e9e!e#e$e%e'e(e)edmemfmgm'i(i)i*i:l;lqfrfsf@f[f]f^f_f`f{f|f}f~fagbgW X Y LfMfNftfufvfugvgZ 0 1 2d3d4d5d6d7d+i,i-i.iflglhliljlkl/i:i;i=i?i@i[i]i2 3 4 p q r LbMbNb^i_illml`i{i|i}i~iajbjcjdjejfjgjnlolddedfdObPbQbsdtdudVcWcXcYcZc0cRbSbTb1c2c3cUbVbWb: ; = XbYbZb4c5c6c7c8c9chjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjf *e+e^d_d`d{dpl5l6l=lvmUlJn9p!n(p@p.pDn4n0mrnln@mql[mDdrlsltlMmHk$lwmxnJd]m^m6mulNmOmUmTjUjVjWj!c#c$c%c'c(cNlOl,e-e.e/e:e;e=e?e@e[e]e^e_e`e{e|ehmimjmkmXjYjZj0j?l@lwfxfyfcgdgegfggghgigjgkglgmgng5 6 7 OfPfQfzfAfBfwgxg8 9 ! 8d9d!d#d$d%d1j2j3j4jvlwlxlylzlAl5j6j7j8j9j!j#j$j# $ % s t u 0b1b2b%j'jBlCl(j)j*j+j,j-j.j/j:j;j=j?jDlElgdhdid3b4b5bvdwdxd)c*c+c,c-c.c6b7b8b/c:c;c9b!b#b? @ [ $b%b'b=c?c@c[c]c^c@j[j]j^j_j`j{j|j}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBk
120 sa_type = kwargs.pop("sa_type", Undefined) 2a |d'd(dIkVlWl%llmPlEn4p5n!p/p)pynZnVmmngn7mJk8mydKkLkMkxmCk7lmmsnEd9m!m1mNkymzmPmygzg(b)bFl}d~daebecedeeefe[l]lAgBg}eRfSfTfUfv Cf~eogw KdLdCgDgOkPkQkEgFgGgHgx g ] IgRkJgKgLgMgNgOgSk_c^ jd*b+b_ ,b` ' { -b.bPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g6g7gb ge)d*dTkXlYl'lnmQlFn5p6n#p:p*pzn0nWmnnhn#mUk$mzdVkWkXkAmDk8lomtnFd%m'm2mYkBmCmQm8g9g/b:b;b=bGlheiejekelemeneoe^l_l!g#g(lafbfVfWfXfYfZf0f1f2fy z DfEfcfdfpgA B MdNdOdPd$g%gZk0k1k'g(g)g*gC D h i | } +g2k,g-g.g/g:g;g3k`c{c~ abkdld?b@b[b]bbbcb^b_bdbeb( ) fbgb`b{b|b}b=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghc peqe+d,d-d.d4kZl0l)lpmRlGn6p7n$p;p+pAn1nXmonin(m5k)mAd6k7k8kDmEk9lqmunGd*m+m3m9kEmFmRmhhihjhkh~bacbcccdcecHlIlreseteuevewexeyezeAeBeCeDeEeFeGe`l{l|l}llhmhnhoh*l+lefffgf3f4f5f6f7f8f9f!f#f$f%f'fE F G FfGfHfhfifjfqgrgH I J QdRdSdTdUdVdphqhrhsh!k#k$k%k'k(kthuhvhwhxhyhzhAhK L M j k l hbibjbBhCh)k*kDhEhFhGhHhIhJhKhLhMhNhOh+k,k|c}c~ckblbmbmdndodfcgchcicjckcnbobpblcmcncqbrbsb* + , tbubvbocpcqcrcsctcPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?hd HeIe/d:d;d=d-k1l2l,lrmSlHn7p8n%p=p,pBn2nYmpnjn,m.k-mBd/k:k;kGmFk!lsmvnHd.m/m4m=kHmImSm@h[h]h^hucvcwcxcyczcJlKlJeKeLeMeNeOePeQeReSeTeUeVeWeXeYe~lambmcm_h`h{h|h-l.lkflfmf(f)f*f+f,f-f.f/f:f;f=f?fN O P IfJfKfnfofpfsgtgQ R S WdXdYdZd0d1d}h~haibi?k@k[k]k^k_kcidieifigihiiijiT U V m n o wbxbybkili`k{kminioipiqirisitiuiviwixi|k}kadbdcdzbAbBbpdqdrdAcBcCcDcEcFcCbDbEbGcHcIcFbGbHb- . / IbJbKbJcKcLcMcNcOcyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i9ie Ze0e?d@d[d]d~k3l4l/ltmTlIn8p9n'p?p-pCn3nZmqnkn:mal;mCdblcldlJmGk#lumwnId=m?m5melKmLmTm!i#i$i%iPcQcRcScTcUcLlMl1e2e3e4e5e6e7e8e9e!e#e$e%e'e(e)edmemfmgm'i(i)i*i:l;lqfrfsf@f[f]f^f_f`f{f|f}f~fagbgW X Y LfMfNftfufvfugvgZ 0 1 2d3d4d5d6d7d+i,i-i.iflglhliljlkl/i:i;i=i?i@i[i]i2 3 4 p q r LbMbNb^i_illml`i{i|i}i~iajbjcjdjejfjgjnlolddedfdObPbQbsdtdudVcWcXcYcZc0cRbSbTb1c2c3cUbVbWb: ; = XbYbZb4c5c6c7c8c9chjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjf *e+e^d_d`d{dpl5l6l=lvmUlJn9p!n(p@p.pDn4n0mrnln@mql[mDdrlsltlMmHk$lwmxnJd]m^m6mulNmOmUmTjUjVjWj!c#c$c%c'c(cNlOl,e-e.e/e:e;e=e?e@e[e]e^e_e`e{e|ehmimjmkmXjYjZj0j?l@lwfxfyfcgdgegfggghgigjgkglgmgng5 6 7 OfPfQfzfAfBfwgxg8 9 ! 8d9d!d#d$d%d1j2j3j4jvlwlxlylzlAl5j6j7j8j9j!j#j$j# $ % s t u 0b1b2b%j'jBlCl(j)j*j+j,j-j.j/j:j;j=j?jDlElgdhdid3b4b5bvdwdxd)c*c+c,c-c.c6b7b8b/c:c;c9b!b#b? @ [ $b%b'b=c?c@c[c]c^c@j[j]j^j_j`j{j|j}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBk
121 sa_column = kwargs.pop("sa_column", Undefined) 2a |d'd(dIkVlWl%llmPlEn4p5n!p/p)pynZnVmmngn7mJk8mydKkLkMkxmCk7lmmsnEd9m!m1mNkymzmPmygzg(b)bFl}d~daebecedeeefe[l]lAgBg}eRfSfTfUfv Cf~eogw KdLdCgDgOkPkQkEgFgGgHgx g ] IgRkJgKgLgMgNgOgSk_c^ jd*b+b_ ,b` ' { -b.bPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g6g7gb ge)d*dTkXlYl'lnmQlFn5p6n#p:p*pzn0nWmnnhn#mUk$mzdVkWkXkAmDk8lomtnFd%m'm2mYkBmCmQm8g9g/b:b;b=bGlheiejekelemeneoe^l_l!g#g(lafbfVfWfXfYfZf0f1f2fy z DfEfcfdfpgA B MdNdOdPd$g%gZk0k1k'g(g)g*gC D h i | } +g2k,g-g.g/g:g;g3k`c{c~ abkdld?b@b[b]bbbcb^b_bdbeb( ) fbgb`b{b|b}b=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghc peqe+d,d-d.d4kZl0l)lpmRlGn6p7n$p;p+pAn1nXmonin(m5k)mAd6k7k8kDmEk9lqmunGd*m+m3m9kEmFmRmhhihjhkh~bacbcccdcecHlIlreseteuevewexeyezeAeBeCeDeEeFeGe`l{l|l}llhmhnhoh*l+lefffgf3f4f5f6f7f8f9f!f#f$f%f'fE F G FfGfHfhfifjfqgrgH I J QdRdSdTdUdVdphqhrhsh!k#k$k%k'k(kthuhvhwhxhyhzhAhK L M j k l hbibjbBhCh)k*kDhEhFhGhHhIhJhKhLhMhNhOh+k,k|c}c~ckblbmbmdndodfcgchcicjckcnbobpblcmcncqbrbsb* + , tbubvbocpcqcrcsctcPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?hd HeIe/d:d;d=d-k1l2l,lrmSlHn7p8n%p=p,pBn2nYmpnjn,m.k-mBd/k:k;kGmFk!lsmvnHd.m/m4m=kHmImSm@h[h]h^hucvcwcxcyczcJlKlJeKeLeMeNeOePeQeReSeTeUeVeWeXeYe~lambmcm_h`h{h|h-l.lkflfmf(f)f*f+f,f-f.f/f:f;f=f?fN O P IfJfKfnfofpfsgtgQ R S WdXdYdZd0d1d}h~haibi?k@k[k]k^k_kcidieifigihiiijiT U V m n o wbxbybkili`k{kminioipiqirisitiuiviwixi|k}kadbdcdzbAbBbpdqdrdAcBcCcDcEcFcCbDbEbGcHcIcFbGbHb- . / IbJbKbJcKcLcMcNcOcyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i9ie Ze0e?d@d[d]d~k3l4l/ltmTlIn8p9n'p?p-pCn3nZmqnkn:mal;mCdblcldlJmGk#lumwnId=m?m5melKmLmTm!i#i$i%iPcQcRcScTcUcLlMl1e2e3e4e5e6e7e8e9e!e#e$e%e'e(e)edmemfmgm'i(i)i*i:l;lqfrfsf@f[f]f^f_f`f{f|f}f~fagbgW X Y LfMfNftfufvfugvgZ 0 1 2d3d4d5d6d7d+i,i-i.iflglhliljlkl/i:i;i=i?i@i[i]i2 3 4 p q r LbMbNb^i_illml`i{i|i}i~iajbjcjdjejfjgjnlolddedfdObPbQbsdtdudVcWcXcYcZc0cRbSbTb1c2c3cUbVbWb: ; = XbYbZb4c5c6c7c8c9chjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjf *e+e^d_d`d{dpl5l6l=lvmUlJn9p!n(p@p.pDn4n0mrnln@mql[mDdrlsltlMmHk$lwmxnJd]m^m6mulNmOmUmTjUjVjWj!c#c$c%c'c(cNlOl,e-e.e/e:e;e=e?e@e[e]e^e_e`e{e|ehmimjmkmXjYjZj0j?l@lwfxfyfcgdgegfggghgigjgkglgmgng5 6 7 OfPfQfzfAfBfwgxg8 9 ! 8d9d!d#d$d%d1j2j3j4jvlwlxlylzlAl5j6j7j8j9j!j#j$j# $ % s t u 0b1b2b%j'jBlCl(j)j*j+j,j-j.j/j:j;j=j?jDlElgdhdid3b4b5bvdwdxd)c*c+c,c-c.c6b7b8b/c:c;c9b!b#b? @ [ $b%b'b=c?c@c[c]c^c@j[j]j^j_j`j{j|j}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBk
122 sa_column_args = kwargs.pop("sa_column_args", Undefined) 2a |d'd(dIkVlWl%llmPlEn4p5n!p/p)pynZnVmmngn7mJk8mydKkLkMkxmCk7lmmsnEd9m!m1mNkymzmPmygzg(b)bFl}d~daebecedeeefe[l]lAgBg}eRfSfTfUfv Cf~eogw KdLdCgDgOkPkQkEgFgGgHgx g ] IgRkJgKgLgMgNgOgSk_c^ jd*b+b_ ,b` ' { -b.bPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g6g7gb ge)d*dTkXlYl'lnmQlFn5p6n#p:p*pzn0nWmnnhn#mUk$mzdVkWkXkAmDk8lomtnFd%m'm2mYkBmCmQm8g9g/b:b;b=bGlheiejekelemeneoe^l_l!g#g(lafbfVfWfXfYfZf0f1f2fy z DfEfcfdfpgA B MdNdOdPd$g%gZk0k1k'g(g)g*gC D h i | } +g2k,g-g.g/g:g;g3k`c{c~ abkdld?b@b[b]bbbcb^b_bdbeb( ) fbgb`b{b|b}b=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghc peqe+d,d-d.d4kZl0l)lpmRlGn6p7n$p;p+pAn1nXmonin(m5k)mAd6k7k8kDmEk9lqmunGd*m+m3m9kEmFmRmhhihjhkh~bacbcccdcecHlIlreseteuevewexeyezeAeBeCeDeEeFeGe`l{l|l}llhmhnhoh*l+lefffgf3f4f5f6f7f8f9f!f#f$f%f'fE F G FfGfHfhfifjfqgrgH I J QdRdSdTdUdVdphqhrhsh!k#k$k%k'k(kthuhvhwhxhyhzhAhK L M j k l hbibjbBhCh)k*kDhEhFhGhHhIhJhKhLhMhNhOh+k,k|c}c~ckblbmbmdndodfcgchcicjckcnbobpblcmcncqbrbsb* + , tbubvbocpcqcrcsctcPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?hd HeIe/d:d;d=d-k1l2l,lrmSlHn7p8n%p=p,pBn2nYmpnjn,m.k-mBd/k:k;kGmFk!lsmvnHd.m/m4m=kHmImSm@h[h]h^hucvcwcxcyczcJlKlJeKeLeMeNeOePeQeReSeTeUeVeWeXeYe~lambmcm_h`h{h|h-l.lkflfmf(f)f*f+f,f-f.f/f:f;f=f?fN O P IfJfKfnfofpfsgtgQ R S WdXdYdZd0d1d}h~haibi?k@k[k]k^k_kcidieifigihiiijiT U V m n o wbxbybkili`k{kminioipiqirisitiuiviwixi|k}kadbdcdzbAbBbpdqdrdAcBcCcDcEcFcCbDbEbGcHcIcFbGbHb- . / IbJbKbJcKcLcMcNcOcyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i9ie Ze0e?d@d[d]d~k3l4l/ltmTlIn8p9n'p?p-pCn3nZmqnkn:mal;mCdblcldlJmGk#lumwnId=m?m5melKmLmTm!i#i$i%iPcQcRcScTcUcLlMl1e2e3e4e5e6e7e8e9e!e#e$e%e'e(e)edmemfmgm'i(i)i*i:l;lqfrfsf@f[f]f^f_f`f{f|f}f~fagbgW X Y LfMfNftfufvfugvgZ 0 1 2d3d4d5d6d7d+i,i-i.iflglhliljlkl/i:i;i=i?i@i[i]i2 3 4 p q r LbMbNb^i_illml`i{i|i}i~iajbjcjdjejfjgjnlolddedfdObPbQbsdtdudVcWcXcYcZc0cRbSbTb1c2c3cUbVbWb: ; = XbYbZb4c5c6c7c8c9chjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjf *e+e^d_d`d{dpl5l6l=lvmUlJn9p!n(p@p.pDn4n0mrnln@mql[mDdrlsltlMmHk$lwmxnJd]m^m6mulNmOmUmTjUjVjWj!c#c$c%c'c(cNlOl,e-e.e/e:e;e=e?e@e[e]e^e_e`e{e|ehmimjmkmXjYjZj0j?l@lwfxfyfcgdgegfggghgigjgkglgmgng5 6 7 OfPfQfzfAfBfwgxg8 9 ! 8d9d!d#d$d%d1j2j3j4jvlwlxlylzlAl5j6j7j8j9j!j#j$j# $ % s t u 0b1b2b%j'jBlCl(j)j*j+j,j-j.j/j:j;j=j?jDlElgdhdid3b4b5bvdwdxd)c*c+c,c-c.c6b7b8b/c:c;c9b!b#b? @ [ $b%b'b=c?c@c[c]c^c@j[j]j^j_j`j{j|j}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBk
123 sa_column_kwargs = kwargs.pop("sa_column_kwargs", Undefined) 2a |d'd(dIkVlWl%llmPlEn4p5n!p/p)pynZnVmmngn7mJk8mydKkLkMkxmCk7lmmsnEd9m!m1mNkymzmPmygzg(b)bFl}d~daebecedeeefe[l]lAgBg}eRfSfTfUfv Cf~eogw KdLdCgDgOkPkQkEgFgGgHgx g ] IgRkJgKgLgMgNgOgSk_c^ jd*b+b_ ,b` ' { -b.bPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g6g7gb ge)d*dTkXlYl'lnmQlFn5p6n#p:p*pzn0nWmnnhn#mUk$mzdVkWkXkAmDk8lomtnFd%m'm2mYkBmCmQm8g9g/b:b;b=bGlheiejekelemeneoe^l_l!g#g(lafbfVfWfXfYfZf0f1f2fy z DfEfcfdfpgA B MdNdOdPd$g%gZk0k1k'g(g)g*gC D h i | } +g2k,g-g.g/g:g;g3k`c{c~ abkdld?b@b[b]bbbcb^b_bdbeb( ) fbgb`b{b|b}b=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghc peqe+d,d-d.d4kZl0l)lpmRlGn6p7n$p;p+pAn1nXmonin(m5k)mAd6k7k8kDmEk9lqmunGd*m+m3m9kEmFmRmhhihjhkh~bacbcccdcecHlIlreseteuevewexeyezeAeBeCeDeEeFeGe`l{l|l}llhmhnhoh*l+lefffgf3f4f5f6f7f8f9f!f#f$f%f'fE F G FfGfHfhfifjfqgrgH I J QdRdSdTdUdVdphqhrhsh!k#k$k%k'k(kthuhvhwhxhyhzhAhK L M j k l hbibjbBhCh)k*kDhEhFhGhHhIhJhKhLhMhNhOh+k,k|c}c~ckblbmbmdndodfcgchcicjckcnbobpblcmcncqbrbsb* + , tbubvbocpcqcrcsctcPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?hd HeIe/d:d;d=d-k1l2l,lrmSlHn7p8n%p=p,pBn2nYmpnjn,m.k-mBd/k:k;kGmFk!lsmvnHd.m/m4m=kHmImSm@h[h]h^hucvcwcxcyczcJlKlJeKeLeMeNeOePeQeReSeTeUeVeWeXeYe~lambmcm_h`h{h|h-l.lkflfmf(f)f*f+f,f-f.f/f:f;f=f?fN O P IfJfKfnfofpfsgtgQ R S WdXdYdZd0d1d}h~haibi?k@k[k]k^k_kcidieifigihiiijiT U V m n o wbxbybkili`k{kminioipiqirisitiuiviwixi|k}kadbdcdzbAbBbpdqdrdAcBcCcDcEcFcCbDbEbGcHcIcFbGbHb- . / IbJbKbJcKcLcMcNcOcyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i9ie Ze0e?d@d[d]d~k3l4l/ltmTlIn8p9n'p?p-pCn3nZmqnkn:mal;mCdblcldlJmGk#lumwnId=m?m5melKmLmTm!i#i$i%iPcQcRcScTcUcLlMl1e2e3e4e5e6e7e8e9e!e#e$e%e'e(e)edmemfmgm'i(i)i*i:l;lqfrfsf@f[f]f^f_f`f{f|f}f~fagbgW X Y LfMfNftfufvfugvgZ 0 1 2d3d4d5d6d7d+i,i-i.iflglhliljlkl/i:i;i=i?i@i[i]i2 3 4 p q r LbMbNb^i_illml`i{i|i}i~iajbjcjdjejfjgjnlolddedfdObPbQbsdtdudVcWcXcYcZc0cRbSbTb1c2c3cUbVbWb: ; = XbYbZb4c5c6c7c8c9chjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjf *e+e^d_d`d{dpl5l6l=lvmUlJn9p!n(p@p.pDn4n0mrnln@mql[mDdrlsltlMmHk$lwmxnJd]m^m6mulNmOmUmTjUjVjWj!c#c$c%c'c(cNlOl,e-e.e/e:e;e=e?e@e[e]e^e_e`e{e|ehmimjmkmXjYjZj0j?l@lwfxfyfcgdgegfggghgigjgkglgmgng5 6 7 OfPfQfzfAfBfwgxg8 9 ! 8d9d!d#d$d%d1j2j3j4jvlwlxlylzlAl5j6j7j8j9j!j#j$j# $ % s t u 0b1b2b%j'jBlCl(j)j*j+j,j-j.j/j:j;j=j?jDlElgdhdid3b4b5bvdwdxd)c*c+c,c-c.c6b7b8b/c:c;c9b!b#b? @ [ $b%b'b=c?c@c[c]c^c@j[j]j^j_j`j{j|j}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBk
124 if sa_column is not Undefined: 2a |d'd(dIkVlWl%llmPlEn4p5n!p/p)pynZnVmmngn7mJk8mydKkLkMkxmCk7lmmsnEd9m!m1mNkymzmPmygzg(b)bFl}d~daebecedeeefe[l]lAgBg}eRfSfTfUfv Cf~eogw KdLdCgDgOkPkQkEgFgGgHgx g ] IgRkJgKgLgMgNgOgSk_c^ jd*b+b_ ,b` ' { -b.bPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g6g7gb ge)d*dTkXlYl'lnmQlFn5p6n#p:p*pzn0nWmnnhn#mUk$mzdVkWkXkAmDk8lomtnFd%m'm2mYkBmCmQm8g9g/b:b;b=bGlheiejekelemeneoe^l_l!g#g(lafbfVfWfXfYfZf0f1f2fy z DfEfcfdfpgA B MdNdOdPd$g%gZk0k1k'g(g)g*gC D h i | } +g2k,g-g.g/g:g;g3k`c{c~ abkdld?b@b[b]bbbcb^b_bdbeb( ) fbgb`b{b|b}b=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghc peqe+d,d-d.d4kZl0l)lpmRlGn6p7n$p;p+pAn1nXmonin(m5k)mAd6k7k8kDmEk9lqmunGd*m+m3m9kEmFmRmhhihjhkh~bacbcccdcecHlIlreseteuevewexeyezeAeBeCeDeEeFeGe`l{l|l}llhmhnhoh*l+lefffgf3f4f5f6f7f8f9f!f#f$f%f'fE F G FfGfHfhfifjfqgrgH I J QdRdSdTdUdVdphqhrhsh!k#k$k%k'k(kthuhvhwhxhyhzhAhK L M j k l hbibjbBhCh)k*kDhEhFhGhHhIhJhKhLhMhNhOh+k,k|c}c~ckblbmbmdndodfcgchcicjckcnbobpblcmcncqbrbsb* + , tbubvbocpcqcrcsctcPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?hd HeIe/d:d;d=d-k1l2l,lrmSlHn7p8n%p=p,pBn2nYmpnjn,m.k-mBd/k:k;kGmFk!lsmvnHd.m/m4m=kHmImSm@h[h]h^hucvcwcxcyczcJlKlJeKeLeMeNeOePeQeReSeTeUeVeWeXeYe~lambmcm_h`h{h|h-l.lkflfmf(f)f*f+f,f-f.f/f:f;f=f?fN O P IfJfKfnfofpfsgtgQ R S WdXdYdZd0d1d}h~haibi?k@k[k]k^k_kcidieifigihiiijiT U V m n o wbxbybkili`k{kminioipiqirisitiuiviwixi|k}kadbdcdzbAbBbpdqdrdAcBcCcDcEcFcCbDbEbGcHcIcFbGbHb- . / IbJbKbJcKcLcMcNcOcyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i9ie Ze0e?d@d[d]d~k3l4l/ltmTlIn8p9n'p?p-pCn3nZmqnkn:mal;mCdblcldlJmGk#lumwnId=m?m5melKmLmTm!i#i$i%iPcQcRcScTcUcLlMl1e2e3e4e5e6e7e8e9e!e#e$e%e'e(e)edmemfmgm'i(i)i*i:l;lqfrfsf@f[f]f^f_f`f{f|f}f~fagbgW X Y LfMfNftfufvfugvgZ 0 1 2d3d4d5d6d7d+i,i-i.iflglhliljlkl/i:i;i=i?i@i[i]i2 3 4 p q r LbMbNb^i_illml`i{i|i}i~iajbjcjdjejfjgjnlolddedfdObPbQbsdtdudVcWcXcYcZc0cRbSbTb1c2c3cUbVbWb: ; = XbYbZb4c5c6c7c8c9chjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjf *e+e^d_d`d{dpl5l6l=lvmUlJn9p!n(p@p.pDn4n0mrnln@mql[mDdrlsltlMmHk$lwmxnJd]m^m6mulNmOmUmTjUjVjWj!c#c$c%c'c(cNlOl,e-e.e/e:e;e=e?e@e[e]e^e_e`e{e|ehmimjmkmXjYjZj0j?l@lwfxfyfcgdgegfggghgigjgkglgmgng5 6 7 OfPfQfzfAfBfwgxg8 9 ! 8d9d!d#d$d%d1j2j3j4jvlwlxlylzlAl5j6j7j8j9j!j#j$j# $ % s t u 0b1b2b%j'jBlCl(j)j*j+j,j-j.j/j:j;j=j?jDlElgdhdid3b4b5bvdwdxd)c*c+c,c-c.c6b7b8b/c:c;c9b!b#b? @ [ $b%b'b=c?c@c[c]c^c@j[j]j^j_j`j{j|j}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBk
125 if sa_column_args is not Undefined: 2PlEn4p5n!p/p)pynZnVmQlFn5p6n#p:p*pzn0nWmRlGn6p7n$p;p+pAn1nXmSlHn7p8n%p=p,pBn2nYmTlIn8p9n'p?p-pCn3nZmUlJn9p!n(p@p.pDn4n0m
126 raise RuntimeError( 2/p:p;p=p?p@p
127 "Passing sa_column_args is not supported when "
128 "also passing a sa_column"
129 )
130 if sa_column_kwargs is not Undefined: 2PlEn4p5n!p)pynZnVmQlFn5p6n#p*pzn0nWmRlGn6p7n$p+pAn1nXmSlHn7p8n%p,pBn2nYmTlIn8p9n'p-pCn3nZmUlJn9p!n(p.pDn4n0m
131 raise RuntimeError( 2)p*p+p,p-p.p
132 "Passing sa_column_kwargs is not supported when "
133 "also passing a sa_column"
134 )
135 if primary_key is not Undefined: 2PlEn4p5n!pynZnVmQlFn5p6n#pzn0nWmRlGn6p7n$pAn1nXmSlHn7p8n%pBn2nYmTlIn8p9n'pCn3nZmUlJn9p!n(pDn4n0m
136 raise RuntimeError( 2!p#p$p%p'p(p
137 "Passing primary_key is not supported when also passing a sa_column"
138 )
139 if nullable is not Undefined: 2PlEn4p5nynZnVmQlFn5p6nzn0nWmRlGn6p7nAn1nXmSlHn7p8nBn2nYmTlIn8p9nCn3nZmUlJn9p!nDn4n0m
140 raise RuntimeError( 24p5p6p7p8p9p
141 "Passing nullable is not supported when also passing a sa_column"
142 )
143 if foreign_key is not Undefined: 2PlEn5nynZnVmQlFn6nzn0nWmRlGn7nAn1nXmSlHn8nBn2nYmTlIn9nCn3nZmUlJn!nDn4n0m
144 raise RuntimeError( 2PlQlRlSlTlUl
145 "Passing foreign_key is not supported when also passing a sa_column"
146 )
147 if ondelete is not Undefined: 2En5nynZnVmFn6nzn0nWmGn7nAn1nXmHn8nBn2nYmIn9nCn3nZmJn!nDn4n0m
148 raise RuntimeError( 25n6n7n8n9n!n
149 "Passing ondelete is not supported when also passing a sa_column"
150 )
151 if unique is not Undefined: 2EnynZnVmFnzn0nWmGnAn1nXmHnBn2nYmInCn3nZmJnDn4n0m
152 raise RuntimeError( 2Zn0n1n2n3n4n
153 "Passing unique is not supported when also passing a sa_column"
154 )
155 if index is not Undefined: 2EnynVmFnznWmGnAnXmHnBnYmInCnZmJnDn0m
156 raise RuntimeError( 2EnFnGnHnInJn
157 "Passing index is not supported when also passing a sa_column"
158 )
159 if sa_type is not Undefined: 2ynVmznWmAnXmBnYmCnZmDn0m
160 raise RuntimeError( 2ynznAnBnCnDn
161 "Passing sa_type is not supported when also passing a sa_column"
162 )
163 if ondelete is not Undefined: 2a |d'd(dIkVlWl%llmPlVmmngn7mJk8mydKkLkMkxmCk7lmmsnEd9m!m1mNkymzmPmygzg(b)bFl}d~daebecedeeefe[l]lAgBg}eRfSfTfUfv Cf~eogw KdLdCgDgOkPkQkEgFgGgHgx g ] IgRkJgKgLgMgNgOgSk_c^ jd*b+b_ ,b` ' { -b.bPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g6g7gb ge)d*dTkXlYl'lnmQlWmnnhn#mUk$mzdVkWkXkAmDk8lomtnFd%m'm2mYkBmCmQm8g9g/b:b;b=bGlheiejekelemeneoe^l_l!g#g(lafbfVfWfXfYfZf0f1f2fy z DfEfcfdfpgA B MdNdOdPd$g%gZk0k1k'g(g)g*gC D h i | } +g2k,g-g.g/g:g;g3k`c{c~ abkdld?b@b[b]bbbcb^b_bdbeb( ) fbgb`b{b|b}b=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghc peqe+d,d-d.d4kZl0l)lpmRlXmonin(m5k)mAd6k7k8kDmEk9lqmunGd*m+m3m9kEmFmRmhhihjhkh~bacbcccdcecHlIlreseteuevewexeyezeAeBeCeDeEeFeGe`l{l|l}llhmhnhoh*l+lefffgf3f4f5f6f7f8f9f!f#f$f%f'fE F G FfGfHfhfifjfqgrgH I J QdRdSdTdUdVdphqhrhsh!k#k$k%k'k(kthuhvhwhxhyhzhAhK L M j k l hbibjbBhCh)k*kDhEhFhGhHhIhJhKhLhMhNhOh+k,k|c}c~ckblbmbmdndodfcgchcicjckcnbobpblcmcncqbrbsb* + , tbubvbocpcqcrcsctcPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?hd HeIe/d:d;d=d-k1l2l,lrmSlYmpnjn,m.k-mBd/k:k;kGmFk!lsmvnHd.m/m4m=kHmImSm@h[h]h^hucvcwcxcyczcJlKlJeKeLeMeNeOePeQeReSeTeUeVeWeXeYe~lambmcm_h`h{h|h-l.lkflfmf(f)f*f+f,f-f.f/f:f;f=f?fN O P IfJfKfnfofpfsgtgQ R S WdXdYdZd0d1d}h~haibi?k@k[k]k^k_kcidieifigihiiijiT U V m n o wbxbybkili`k{kminioipiqirisitiuiviwixi|k}kadbdcdzbAbBbpdqdrdAcBcCcDcEcFcCbDbEbGcHcIcFbGbHb- . / IbJbKbJcKcLcMcNcOcyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i9ie Ze0e?d@d[d]d~k3l4l/ltmTlZmqnkn:mal;mCdblcldlJmGk#lumwnId=m?m5melKmLmTm!i#i$i%iPcQcRcScTcUcLlMl1e2e3e4e5e6e7e8e9e!e#e$e%e'e(e)edmemfmgm'i(i)i*i:l;lqfrfsf@f[f]f^f_f`f{f|f}f~fagbgW X Y LfMfNftfufvfugvgZ 0 1 2d3d4d5d6d7d+i,i-i.iflglhliljlkl/i:i;i=i?i@i[i]i2 3 4 p q r LbMbNb^i_illml`i{i|i}i~iajbjcjdjejfjgjnlolddedfdObPbQbsdtdudVcWcXcYcZc0cRbSbTb1c2c3cUbVbWb: ; = XbYbZb4c5c6c7c8c9chjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjf *e+e^d_d`d{dpl5l6l=lvmUl0mrnln@mql[mDdrlsltlMmHk$lwmxnJd]m^m6mulNmOmUmTjUjVjWj!c#c$c%c'c(cNlOl,e-e.e/e:e;e=e?e@e[e]e^e_e`e{e|ehmimjmkmXjYjZj0j?l@lwfxfyfcgdgegfggghgigjgkglgmgng5 6 7 OfPfQfzfAfBfwgxg8 9 ! 8d9d!d#d$d%d1j2j3j4jvlwlxlylzlAl5j6j7j8j9j!j#j$j# $ % s t u 0b1b2b%j'jBlCl(j)j*j+j,j-j.j/j:j;j=j?jDlElgdhdid3b4b5bvdwdxd)c*c+c,c-c.c6b7b8b/c:c;c9b!b#b? @ [ $b%b'b=c?c@c[c]c^c@j[j]j^j_j`j{j|j}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBk
164 if foreign_key is Undefined: 2snEd_ ,b` ' { tnFdbbcb^b_bdbeb( ) fbgbunGdnbobpblcmcncqbrbsb* + , tbubvbvnHdCbDbEbGcHcIcFbGbHb- . / IbJbKbwnIdRbSbTb1c2c3cUbVbWb: ; = XbYbZbxnJd6b7b8b/c:c;c9b!b#b? @ [ $b%b'b
165 raise RuntimeError("ondelete can only be used with foreign_key") 2sntnunvnwnxn
166 super().__init__(default=default, **kwargs) 2a |d'd(dIkVlWl%llmPlVmmngn7mJk8mydKkLkMkxmCk7lmmsnEd9m!m1mNkymzmPmygzg(b)bFl}d~daebecedeeefe[l]lAgBg}eRfSfTfUfv Cf~eogw KdLdCgDgOkPkQkEgFgGgHgx g ] IgRkJgKgLgMgNgOgSk_c^ jd*b+b_ ,b` ' { -b.bPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g6g7gb ge)d*dTkXlYl'lnmQlWmnnhn#mUk$mzdVkWkXkAmDk8lomtnFd%m'm2mYkBmCmQm8g9g/b:b;b=bGlheiejekelemeneoe^l_l!g#g(lafbfVfWfXfYfZf0f1f2fy z DfEfcfdfpgA B MdNdOdPd$g%gZk0k1k'g(g)g*gC D h i | } +g2k,g-g.g/g:g;g3k`c{c~ abkdld?b@b[b]bbbcb^b_bdbeb( ) fbgb`b{b|b}b=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghc peqe+d,d-d.d4kZl0l)lpmRlXmonin(m5k)mAd6k7k8kDmEk9lqmunGd*m+m3m9kEmFmRmhhihjhkh~bacbcccdcecHlIlreseteuevewexeyezeAeBeCeDeEeFeGe`l{l|l}llhmhnhoh*l+lefffgf3f4f5f6f7f8f9f!f#f$f%f'fE F G FfGfHfhfifjfqgrgH I J QdRdSdTdUdVdphqhrhsh!k#k$k%k'k(kthuhvhwhxhyhzhAhK L M j k l hbibjbBhCh)k*kDhEhFhGhHhIhJhKhLhMhNhOh+k,k|c}c~ckblbmbmdndodfcgchcicjckcnbobpblcmcncqbrbsb* + , tbubvbocpcqcrcsctcPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?hd HeIe/d:d;d=d-k1l2l,lrmSlYmpnjn,m.k-mBd/k:k;kGmFk!lsmvnHd.m/m4m=kHmImSm@h[h]h^hucvcwcxcyczcJlKlJeKeLeMeNeOePeQeReSeTeUeVeWeXeYe~lambmcm_h`h{h|h-l.lkflfmf(f)f*f+f,f-f.f/f:f;f=f?fN O P IfJfKfnfofpfsgtgQ R S WdXdYdZd0d1d}h~haibi?k@k[k]k^k_kcidieifigihiiijiT U V m n o wbxbybkili`k{kminioipiqirisitiuiviwixi|k}kadbdcdzbAbBbpdqdrdAcBcCcDcEcFcCbDbEbGcHcIcFbGbHb- . / IbJbKbJcKcLcMcNcOcyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i9ie Ze0e?d@d[d]d~k3l4l/ltmTlZmqnkn:mal;mCdblcldlJmGk#lumwnId=m?m5melKmLmTm!i#i$i%iPcQcRcScTcUcLlMl1e2e3e4e5e6e7e8e9e!e#e$e%e'e(e)edmemfmgm'i(i)i*i:l;lqfrfsf@f[f]f^f_f`f{f|f}f~fagbgW X Y LfMfNftfufvfugvgZ 0 1 2d3d4d5d6d7d+i,i-i.iflglhliljlkl/i:i;i=i?i@i[i]i2 3 4 p q r LbMbNb^i_illml`i{i|i}i~iajbjcjdjejfjgjnlolddedfdObPbQbsdtdudVcWcXcYcZc0cRbSbTb1c2c3cUbVbWb: ; = XbYbZb4c5c6c7c8c9chjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjf *e+e^d_d`d{dpl5l6l=lvmUl0mrnln@mql[mDdrlsltlMmHk$lwmxnJd]m^m6mulNmOmUmTjUjVjWj!c#c$c%c'c(cNlOl,e-e.e/e:e;e=e?e@e[e]e^e_e`e{e|ehmimjmkmXjYjZj0j?l@lwfxfyfcgdgegfggghgigjgkglgmgng5 6 7 OfPfQfzfAfBfwgxg8 9 ! 8d9d!d#d$d%d1j2j3j4jvlwlxlylzlAl5j6j7j8j9j!j#j$j# $ % s t u 0b1b2b%j'jBlCl(j)j*j+j,j-j.j/j:j;j=j?jDlElgdhdid3b4b5bvdwdxd)c*c+c,c-c.c6b7b8b/c:c;c9b!b#b? @ [ $b%b'b=c?c@c[c]c^c@j[j]j^j_j`j{j|j}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBk
167 self.primary_key = primary_key 2a |d'd(dIkVlWl%llmPlVmmngn7mJk8mydKkLkMkxmCk7lmmsnEd9m!m1mNkymzmPmygzg(b)bFl}d~daebecedeeefe[l]lAgBg}eRfSfTfUfv Cf~eogw KdLdCgDgOkPkQkEgFgGgHgx g ] IgRkJgKgLgMgNgOgSk_c^ jd*b+b_ ,b` ' { -b.bPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g6g7gb ge)d*dTkXlYl'lnmQlWmnnhn#mUk$mzdVkWkXkAmDk8lomtnFd%m'm2mYkBmCmQm8g9g/b:b;b=bGlheiejekelemeneoe^l_l!g#g(lafbfVfWfXfYfZf0f1f2fy z DfEfcfdfpgA B MdNdOdPd$g%gZk0k1k'g(g)g*gC D h i | } +g2k,g-g.g/g:g;g3k`c{c~ abkdld?b@b[b]bbbcb^b_bdbeb( ) fbgb`b{b|b}b=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghc peqe+d,d-d.d4kZl0l)lpmRlXmonin(m5k)mAd6k7k8kDmEk9lqmunGd*m+m3m9kEmFmRmhhihjhkh~bacbcccdcecHlIlreseteuevewexeyezeAeBeCeDeEeFeGe`l{l|l}llhmhnhoh*l+lefffgf3f4f5f6f7f8f9f!f#f$f%f'fE F G FfGfHfhfifjfqgrgH I J QdRdSdTdUdVdphqhrhsh!k#k$k%k'k(kthuhvhwhxhyhzhAhK L M j k l hbibjbBhCh)k*kDhEhFhGhHhIhJhKhLhMhNhOh+k,k|c}c~ckblbmbmdndodfcgchcicjckcnbobpblcmcncqbrbsb* + , tbubvbocpcqcrcsctcPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?hd HeIe/d:d;d=d-k1l2l,lrmSlYmpnjn,m.k-mBd/k:k;kGmFk!lsmvnHd.m/m4m=kHmImSm@h[h]h^hucvcwcxcyczcJlKlJeKeLeMeNeOePeQeReSeTeUeVeWeXeYe~lambmcm_h`h{h|h-l.lkflfmf(f)f*f+f,f-f.f/f:f;f=f?fN O P IfJfKfnfofpfsgtgQ R S WdXdYdZd0d1d}h~haibi?k@k[k]k^k_kcidieifigihiiijiT U V m n o wbxbybkili`k{kminioipiqirisitiuiviwixi|k}kadbdcdzbAbBbpdqdrdAcBcCcDcEcFcCbDbEbGcHcIcFbGbHb- . / IbJbKbJcKcLcMcNcOcyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i9ie Ze0e?d@d[d]d~k3l4l/ltmTlZmqnkn:mal;mCdblcldlJmGk#lumwnId=m?m5melKmLmTm!i#i$i%iPcQcRcScTcUcLlMl1e2e3e4e5e6e7e8e9e!e#e$e%e'e(e)edmemfmgm'i(i)i*i:l;lqfrfsf@f[f]f^f_f`f{f|f}f~fagbgW X Y LfMfNftfufvfugvgZ 0 1 2d3d4d5d6d7d+i,i-i.iflglhliljlkl/i:i;i=i?i@i[i]i2 3 4 p q r LbMbNb^i_illml`i{i|i}i~iajbjcjdjejfjgjnlolddedfdObPbQbsdtdudVcWcXcYcZc0cRbSbTb1c2c3cUbVbWb: ; = XbYbZb4c5c6c7c8c9chjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjf *e+e^d_d`d{dpl5l6l=lvmUl0mrnln@mql[mDdrlsltlMmHk$lwmxnJd]m^m6mulNmOmUmTjUjVjWj!c#c$c%c'c(cNlOl,e-e.e/e:e;e=e?e@e[e]e^e_e`e{e|ehmimjmkmXjYjZj0j?l@lwfxfyfcgdgegfggghgigjgkglgmgng5 6 7 OfPfQfzfAfBfwgxg8 9 ! 8d9d!d#d$d%d1j2j3j4jvlwlxlylzlAl5j6j7j8j9j!j#j$j# $ % s t u 0b1b2b%j'jBlCl(j)j*j+j,j-j.j/j:j;j=j?jDlElgdhdid3b4b5bvdwdxd)c*c+c,c-c.c6b7b8b/c:c;c9b!b#b? @ [ $b%b'b=c?c@c[c]c^c@j[j]j^j_j`j{j|j}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBk
168 self.nullable = nullable 2a |d'd(dIkVlWl%llmPlVmmngn7mJk8mydKkLkMkxmCk7lmmsnEd9m!m1mNkymzmPmygzg(b)bFl}d~daebecedeeefe[l]lAgBg}eRfSfTfUfv Cf~eogw KdLdCgDgOkPkQkEgFgGgHgx g ] IgRkJgKgLgMgNgOgSk_c^ jd*b+b_ ,b` ' { -b.bPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g6g7gb ge)d*dTkXlYl'lnmQlWmnnhn#mUk$mzdVkWkXkAmDk8lomtnFd%m'm2mYkBmCmQm8g9g/b:b;b=bGlheiejekelemeneoe^l_l!g#g(lafbfVfWfXfYfZf0f1f2fy z DfEfcfdfpgA B MdNdOdPd$g%gZk0k1k'g(g)g*gC D h i | } +g2k,g-g.g/g:g;g3k`c{c~ abkdld?b@b[b]bbbcb^b_bdbeb( ) fbgb`b{b|b}b=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghc peqe+d,d-d.d4kZl0l)lpmRlXmonin(m5k)mAd6k7k8kDmEk9lqmunGd*m+m3m9kEmFmRmhhihjhkh~bacbcccdcecHlIlreseteuevewexeyezeAeBeCeDeEeFeGe`l{l|l}llhmhnhoh*l+lefffgf3f4f5f6f7f8f9f!f#f$f%f'fE F G FfGfHfhfifjfqgrgH I J QdRdSdTdUdVdphqhrhsh!k#k$k%k'k(kthuhvhwhxhyhzhAhK L M j k l hbibjbBhCh)k*kDhEhFhGhHhIhJhKhLhMhNhOh+k,k|c}c~ckblbmbmdndodfcgchcicjckcnbobpblcmcncqbrbsb* + , tbubvbocpcqcrcsctcPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?hd HeIe/d:d;d=d-k1l2l,lrmSlYmpnjn,m.k-mBd/k:k;kGmFk!lsmvnHd.m/m4m=kHmImSm@h[h]h^hucvcwcxcyczcJlKlJeKeLeMeNeOePeQeReSeTeUeVeWeXeYe~lambmcm_h`h{h|h-l.lkflfmf(f)f*f+f,f-f.f/f:f;f=f?fN O P IfJfKfnfofpfsgtgQ R S WdXdYdZd0d1d}h~haibi?k@k[k]k^k_kcidieifigihiiijiT U V m n o wbxbybkili`k{kminioipiqirisitiuiviwixi|k}kadbdcdzbAbBbpdqdrdAcBcCcDcEcFcCbDbEbGcHcIcFbGbHb- . / IbJbKbJcKcLcMcNcOcyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i9ie Ze0e?d@d[d]d~k3l4l/ltmTlZmqnkn:mal;mCdblcldlJmGk#lumwnId=m?m5melKmLmTm!i#i$i%iPcQcRcScTcUcLlMl1e2e3e4e5e6e7e8e9e!e#e$e%e'e(e)edmemfmgm'i(i)i*i:l;lqfrfsf@f[f]f^f_f`f{f|f}f~fagbgW X Y LfMfNftfufvfugvgZ 0 1 2d3d4d5d6d7d+i,i-i.iflglhliljlkl/i:i;i=i?i@i[i]i2 3 4 p q r LbMbNb^i_illml`i{i|i}i~iajbjcjdjejfjgjnlolddedfdObPbQbsdtdudVcWcXcYcZc0cRbSbTb1c2c3cUbVbWb: ; = XbYbZb4c5c6c7c8c9chjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjf *e+e^d_d`d{dpl5l6l=lvmUl0mrnln@mql[mDdrlsltlMmHk$lwmxnJd]m^m6mulNmOmUmTjUjVjWj!c#c$c%c'c(cNlOl,e-e.e/e:e;e=e?e@e[e]e^e_e`e{e|ehmimjmkmXjYjZj0j?l@lwfxfyfcgdgegfggghgigjgkglgmgng5 6 7 OfPfQfzfAfBfwgxg8 9 ! 8d9d!d#d$d%d1j2j3j4jvlwlxlylzlAl5j6j7j8j9j!j#j$j# $ % s t u 0b1b2b%j'jBlCl(j)j*j+j,j-j.j/j:j;j=j?jDlElgdhdid3b4b5bvdwdxd)c*c+c,c-c.c6b7b8b/c:c;c9b!b#b? @ [ $b%b'b=c?c@c[c]c^c@j[j]j^j_j`j{j|j}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBk
169 self.foreign_key = foreign_key 2a |d'd(dIkVlWl%llmPlVmmngn7mJk8mydKkLkMkxmCk7lmmsnEd9m!m1mNkymzmPmygzg(b)bFl}d~daebecedeeefe[l]lAgBg}eRfSfTfUfv Cf~eogw KdLdCgDgOkPkQkEgFgGgHgx g ] IgRkJgKgLgMgNgOgSk_c^ jd*b+b_ ,b` ' { -b.bPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g6g7gb ge)d*dTkXlYl'lnmQlWmnnhn#mUk$mzdVkWkXkAmDk8lomtnFd%m'm2mYkBmCmQm8g9g/b:b;b=bGlheiejekelemeneoe^l_l!g#g(lafbfVfWfXfYfZf0f1f2fy z DfEfcfdfpgA B MdNdOdPd$g%gZk0k1k'g(g)g*gC D h i | } +g2k,g-g.g/g:g;g3k`c{c~ abkdld?b@b[b]bbbcb^b_bdbeb( ) fbgb`b{b|b}b=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghc peqe+d,d-d.d4kZl0l)lpmRlXmonin(m5k)mAd6k7k8kDmEk9lqmunGd*m+m3m9kEmFmRmhhihjhkh~bacbcccdcecHlIlreseteuevewexeyezeAeBeCeDeEeFeGe`l{l|l}llhmhnhoh*l+lefffgf3f4f5f6f7f8f9f!f#f$f%f'fE F G FfGfHfhfifjfqgrgH I J QdRdSdTdUdVdphqhrhsh!k#k$k%k'k(kthuhvhwhxhyhzhAhK L M j k l hbibjbBhCh)k*kDhEhFhGhHhIhJhKhLhMhNhOh+k,k|c}c~ckblbmbmdndodfcgchcicjckcnbobpblcmcncqbrbsb* + , tbubvbocpcqcrcsctcPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?hd HeIe/d:d;d=d-k1l2l,lrmSlYmpnjn,m.k-mBd/k:k;kGmFk!lsmvnHd.m/m4m=kHmImSm@h[h]h^hucvcwcxcyczcJlKlJeKeLeMeNeOePeQeReSeTeUeVeWeXeYe~lambmcm_h`h{h|h-l.lkflfmf(f)f*f+f,f-f.f/f:f;f=f?fN O P IfJfKfnfofpfsgtgQ R S WdXdYdZd0d1d}h~haibi?k@k[k]k^k_kcidieifigihiiijiT U V m n o wbxbybkili`k{kminioipiqirisitiuiviwixi|k}kadbdcdzbAbBbpdqdrdAcBcCcDcEcFcCbDbEbGcHcIcFbGbHb- . / IbJbKbJcKcLcMcNcOcyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i9ie Ze0e?d@d[d]d~k3l4l/ltmTlZmqnkn:mal;mCdblcldlJmGk#lumwnId=m?m5melKmLmTm!i#i$i%iPcQcRcScTcUcLlMl1e2e3e4e5e6e7e8e9e!e#e$e%e'e(e)edmemfmgm'i(i)i*i:l;lqfrfsf@f[f]f^f_f`f{f|f}f~fagbgW X Y LfMfNftfufvfugvgZ 0 1 2d3d4d5d6d7d+i,i-i.iflglhliljlkl/i:i;i=i?i@i[i]i2 3 4 p q r LbMbNb^i_illml`i{i|i}i~iajbjcjdjejfjgjnlolddedfdObPbQbsdtdudVcWcXcYcZc0cRbSbTb1c2c3cUbVbWb: ; = XbYbZb4c5c6c7c8c9chjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjf *e+e^d_d`d{dpl5l6l=lvmUl0mrnln@mql[mDdrlsltlMmHk$lwmxnJd]m^m6mulNmOmUmTjUjVjWj!c#c$c%c'c(cNlOl,e-e.e/e:e;e=e?e@e[e]e^e_e`e{e|ehmimjmkmXjYjZj0j?l@lwfxfyfcgdgegfggghgigjgkglgmgng5 6 7 OfPfQfzfAfBfwgxg8 9 ! 8d9d!d#d$d%d1j2j3j4jvlwlxlylzlAl5j6j7j8j9j!j#j$j# $ % s t u 0b1b2b%j'jBlCl(j)j*j+j,j-j.j/j:j;j=j?jDlElgdhdid3b4b5bvdwdxd)c*c+c,c-c.c6b7b8b/c:c;c9b!b#b? @ [ $b%b'b=c?c@c[c]c^c@j[j]j^j_j`j{j|j}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBk
170 self.ondelete = ondelete 2a |d'd(dIkVlWl%llmPlVmmngn7mJk8mydKkLkMkxmCk7lmmsnEd9m!m1mNkymzmPmygzg(b)bFl}d~daebecedeeefe[l]lAgBg}eRfSfTfUfv Cf~eogw KdLdCgDgOkPkQkEgFgGgHgx g ] IgRkJgKgLgMgNgOgSk_c^ jd*b+b_ ,b` ' { -b.bPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g6g7gb ge)d*dTkXlYl'lnmQlWmnnhn#mUk$mzdVkWkXkAmDk8lomtnFd%m'm2mYkBmCmQm8g9g/b:b;b=bGlheiejekelemeneoe^l_l!g#g(lafbfVfWfXfYfZf0f1f2fy z DfEfcfdfpgA B MdNdOdPd$g%gZk0k1k'g(g)g*gC D h i | } +g2k,g-g.g/g:g;g3k`c{c~ abkdld?b@b[b]bbbcb^b_bdbeb( ) fbgb`b{b|b}b=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghc peqe+d,d-d.d4kZl0l)lpmRlXmonin(m5k)mAd6k7k8kDmEk9lqmunGd*m+m3m9kEmFmRmhhihjhkh~bacbcccdcecHlIlreseteuevewexeyezeAeBeCeDeEeFeGe`l{l|l}llhmhnhoh*l+lefffgf3f4f5f6f7f8f9f!f#f$f%f'fE F G FfGfHfhfifjfqgrgH I J QdRdSdTdUdVdphqhrhsh!k#k$k%k'k(kthuhvhwhxhyhzhAhK L M j k l hbibjbBhCh)k*kDhEhFhGhHhIhJhKhLhMhNhOh+k,k|c}c~ckblbmbmdndodfcgchcicjckcnbobpblcmcncqbrbsb* + , tbubvbocpcqcrcsctcPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?hd HeIe/d:d;d=d-k1l2l,lrmSlYmpnjn,m.k-mBd/k:k;kGmFk!lsmvnHd.m/m4m=kHmImSm@h[h]h^hucvcwcxcyczcJlKlJeKeLeMeNeOePeQeReSeTeUeVeWeXeYe~lambmcm_h`h{h|h-l.lkflfmf(f)f*f+f,f-f.f/f:f;f=f?fN O P IfJfKfnfofpfsgtgQ R S WdXdYdZd0d1d}h~haibi?k@k[k]k^k_kcidieifigihiiijiT U V m n o wbxbybkili`k{kminioipiqirisitiuiviwixi|k}kadbdcdzbAbBbpdqdrdAcBcCcDcEcFcCbDbEbGcHcIcFbGbHb- . / IbJbKbJcKcLcMcNcOcyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i9ie Ze0e?d@d[d]d~k3l4l/ltmTlZmqnkn:mal;mCdblcldlJmGk#lumwnId=m?m5melKmLmTm!i#i$i%iPcQcRcScTcUcLlMl1e2e3e4e5e6e7e8e9e!e#e$e%e'e(e)edmemfmgm'i(i)i*i:l;lqfrfsf@f[f]f^f_f`f{f|f}f~fagbgW X Y LfMfNftfufvfugvgZ 0 1 2d3d4d5d6d7d+i,i-i.iflglhliljlkl/i:i;i=i?i@i[i]i2 3 4 p q r LbMbNb^i_illml`i{i|i}i~iajbjcjdjejfjgjnlolddedfdObPbQbsdtdudVcWcXcYcZc0cRbSbTb1c2c3cUbVbWb: ; = XbYbZb4c5c6c7c8c9chjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjf *e+e^d_d`d{dpl5l6l=lvmUl0mrnln@mql[mDdrlsltlMmHk$lwmxnJd]m^m6mulNmOmUmTjUjVjWj!c#c$c%c'c(cNlOl,e-e.e/e:e;e=e?e@e[e]e^e_e`e{e|ehmimjmkmXjYjZj0j?l@lwfxfyfcgdgegfggghgigjgkglgmgng5 6 7 OfPfQfzfAfBfwgxg8 9 ! 8d9d!d#d$d%d1j2j3j4jvlwlxlylzlAl5j6j7j8j9j!j#j$j# $ % s t u 0b1b2b%j'jBlCl(j)j*j+j,j-j.j/j:j;j=j?jDlElgdhdid3b4b5bvdwdxd)c*c+c,c-c.c6b7b8b/c:c;c9b!b#b? @ [ $b%b'b=c?c@c[c]c^c@j[j]j^j_j`j{j|j}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBk
171 self.unique = unique 2a |d'd(dIkVlWl%llmPlVmmngn7mJk8mydKkLkMkxmCk7lmmsnEd9m!m1mNkymzmPmygzg(b)bFl}d~daebecedeeefe[l]lAgBg}eRfSfTfUfv Cf~eogw KdLdCgDgOkPkQkEgFgGgHgx g ] IgRkJgKgLgMgNgOgSk_c^ jd*b+b_ ,b` ' { -b.bPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g6g7gb ge)d*dTkXlYl'lnmQlWmnnhn#mUk$mzdVkWkXkAmDk8lomtnFd%m'm2mYkBmCmQm8g9g/b:b;b=bGlheiejekelemeneoe^l_l!g#g(lafbfVfWfXfYfZf0f1f2fy z DfEfcfdfpgA B MdNdOdPd$g%gZk0k1k'g(g)g*gC D h i | } +g2k,g-g.g/g:g;g3k`c{c~ abkdld?b@b[b]bbbcb^b_bdbeb( ) fbgb`b{b|b}b=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghc peqe+d,d-d.d4kZl0l)lpmRlXmonin(m5k)mAd6k7k8kDmEk9lqmunGd*m+m3m9kEmFmRmhhihjhkh~bacbcccdcecHlIlreseteuevewexeyezeAeBeCeDeEeFeGe`l{l|l}llhmhnhoh*l+lefffgf3f4f5f6f7f8f9f!f#f$f%f'fE F G FfGfHfhfifjfqgrgH I J QdRdSdTdUdVdphqhrhsh!k#k$k%k'k(kthuhvhwhxhyhzhAhK L M j k l hbibjbBhCh)k*kDhEhFhGhHhIhJhKhLhMhNhOh+k,k|c}c~ckblbmbmdndodfcgchcicjckcnbobpblcmcncqbrbsb* + , tbubvbocpcqcrcsctcPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?hd HeIe/d:d;d=d-k1l2l,lrmSlYmpnjn,m.k-mBd/k:k;kGmFk!lsmvnHd.m/m4m=kHmImSm@h[h]h^hucvcwcxcyczcJlKlJeKeLeMeNeOePeQeReSeTeUeVeWeXeYe~lambmcm_h`h{h|h-l.lkflfmf(f)f*f+f,f-f.f/f:f;f=f?fN O P IfJfKfnfofpfsgtgQ R S WdXdYdZd0d1d}h~haibi?k@k[k]k^k_kcidieifigihiiijiT U V m n o wbxbybkili`k{kminioipiqirisitiuiviwixi|k}kadbdcdzbAbBbpdqdrdAcBcCcDcEcFcCbDbEbGcHcIcFbGbHb- . / IbJbKbJcKcLcMcNcOcyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i9ie Ze0e?d@d[d]d~k3l4l/ltmTlZmqnkn:mal;mCdblcldlJmGk#lumwnId=m?m5melKmLmTm!i#i$i%iPcQcRcScTcUcLlMl1e2e3e4e5e6e7e8e9e!e#e$e%e'e(e)edmemfmgm'i(i)i*i:l;lqfrfsf@f[f]f^f_f`f{f|f}f~fagbgW X Y LfMfNftfufvfugvgZ 0 1 2d3d4d5d6d7d+i,i-i.iflglhliljlkl/i:i;i=i?i@i[i]i2 3 4 p q r LbMbNb^i_illml`i{i|i}i~iajbjcjdjejfjgjnlolddedfdObPbQbsdtdudVcWcXcYcZc0cRbSbTb1c2c3cUbVbWb: ; = XbYbZb4c5c6c7c8c9chjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjf *e+e^d_d`d{dpl5l6l=lvmUl0mrnln@mql[mDdrlsltlMmHk$lwmxnJd]m^m6mulNmOmUmTjUjVjWj!c#c$c%c'c(cNlOl,e-e.e/e:e;e=e?e@e[e]e^e_e`e{e|ehmimjmkmXjYjZj0j?l@lwfxfyfcgdgegfggghgigjgkglgmgng5 6 7 OfPfQfzfAfBfwgxg8 9 ! 8d9d!d#d$d%d1j2j3j4jvlwlxlylzlAl5j6j7j8j9j!j#j$j# $ % s t u 0b1b2b%j'jBlCl(j)j*j+j,j-j.j/j:j;j=j?jDlElgdhdid3b4b5bvdwdxd)c*c+c,c-c.c6b7b8b/c:c;c9b!b#b? @ [ $b%b'b=c?c@c[c]c^c@j[j]j^j_j`j{j|j}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBk
172 self.index = index 2a |d'd(dIkVlWl%llmPlVmmngn7mJk8mydKkLkMkxmCk7lmmsnEd9m!m1mNkymzmPmygzg(b)bFl}d~daebecedeeefe[l]lAgBg}eRfSfTfUfv Cf~eogw KdLdCgDgOkPkQkEgFgGgHgx g ] IgRkJgKgLgMgNgOgSk_c^ jd*b+b_ ,b` ' { -b.bPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g6g7gb ge)d*dTkXlYl'lnmQlWmnnhn#mUk$mzdVkWkXkAmDk8lomtnFd%m'm2mYkBmCmQm8g9g/b:b;b=bGlheiejekelemeneoe^l_l!g#g(lafbfVfWfXfYfZf0f1f2fy z DfEfcfdfpgA B MdNdOdPd$g%gZk0k1k'g(g)g*gC D h i | } +g2k,g-g.g/g:g;g3k`c{c~ abkdld?b@b[b]bbbcb^b_bdbeb( ) fbgb`b{b|b}b=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghc peqe+d,d-d.d4kZl0l)lpmRlXmonin(m5k)mAd6k7k8kDmEk9lqmunGd*m+m3m9kEmFmRmhhihjhkh~bacbcccdcecHlIlreseteuevewexeyezeAeBeCeDeEeFeGe`l{l|l}llhmhnhoh*l+lefffgf3f4f5f6f7f8f9f!f#f$f%f'fE F G FfGfHfhfifjfqgrgH I J QdRdSdTdUdVdphqhrhsh!k#k$k%k'k(kthuhvhwhxhyhzhAhK L M j k l hbibjbBhCh)k*kDhEhFhGhHhIhJhKhLhMhNhOh+k,k|c}c~ckblbmbmdndodfcgchcicjckcnbobpblcmcncqbrbsb* + , tbubvbocpcqcrcsctcPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?hd HeIe/d:d;d=d-k1l2l,lrmSlYmpnjn,m.k-mBd/k:k;kGmFk!lsmvnHd.m/m4m=kHmImSm@h[h]h^hucvcwcxcyczcJlKlJeKeLeMeNeOePeQeReSeTeUeVeWeXeYe~lambmcm_h`h{h|h-l.lkflfmf(f)f*f+f,f-f.f/f:f;f=f?fN O P IfJfKfnfofpfsgtgQ R S WdXdYdZd0d1d}h~haibi?k@k[k]k^k_kcidieifigihiiijiT U V m n o wbxbybkili`k{kminioipiqirisitiuiviwixi|k}kadbdcdzbAbBbpdqdrdAcBcCcDcEcFcCbDbEbGcHcIcFbGbHb- . / IbJbKbJcKcLcMcNcOcyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i9ie Ze0e?d@d[d]d~k3l4l/ltmTlZmqnkn:mal;mCdblcldlJmGk#lumwnId=m?m5melKmLmTm!i#i$i%iPcQcRcScTcUcLlMl1e2e3e4e5e6e7e8e9e!e#e$e%e'e(e)edmemfmgm'i(i)i*i:l;lqfrfsf@f[f]f^f_f`f{f|f}f~fagbgW X Y LfMfNftfufvfugvgZ 0 1 2d3d4d5d6d7d+i,i-i.iflglhliljlkl/i:i;i=i?i@i[i]i2 3 4 p q r LbMbNb^i_illml`i{i|i}i~iajbjcjdjejfjgjnlolddedfdObPbQbsdtdudVcWcXcYcZc0cRbSbTb1c2c3cUbVbWb: ; = XbYbZb4c5c6c7c8c9chjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjf *e+e^d_d`d{dpl5l6l=lvmUl0mrnln@mql[mDdrlsltlMmHk$lwmxnJd]m^m6mulNmOmUmTjUjVjWj!c#c$c%c'c(cNlOl,e-e.e/e:e;e=e?e@e[e]e^e_e`e{e|ehmimjmkmXjYjZj0j?l@lwfxfyfcgdgegfggghgigjgkglgmgng5 6 7 OfPfQfzfAfBfwgxg8 9 ! 8d9d!d#d$d%d1j2j3j4jvlwlxlylzlAl5j6j7j8j9j!j#j$j# $ % s t u 0b1b2b%j'jBlCl(j)j*j+j,j-j.j/j:j;j=j?jDlElgdhdid3b4b5bvdwdxd)c*c+c,c-c.c6b7b8b/c:c;c9b!b#b? @ [ $b%b'b=c?c@c[c]c^c@j[j]j^j_j`j{j|j}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBk
173 self.sa_type = sa_type 2a |d'd(dIkVlWl%llmPlVmmngn7mJk8mydKkLkMkxmCk7lmmsnEd9m!m1mNkymzmPmygzg(b)bFl}d~daebecedeeefe[l]lAgBg}eRfSfTfUfv Cf~eogw KdLdCgDgOkPkQkEgFgGgHgx g ] IgRkJgKgLgMgNgOgSk_c^ jd*b+b_ ,b` ' { -b.bPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g6g7gb ge)d*dTkXlYl'lnmQlWmnnhn#mUk$mzdVkWkXkAmDk8lomtnFd%m'm2mYkBmCmQm8g9g/b:b;b=bGlheiejekelemeneoe^l_l!g#g(lafbfVfWfXfYfZf0f1f2fy z DfEfcfdfpgA B MdNdOdPd$g%gZk0k1k'g(g)g*gC D h i | } +g2k,g-g.g/g:g;g3k`c{c~ abkdld?b@b[b]bbbcb^b_bdbeb( ) fbgb`b{b|b}b=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghc peqe+d,d-d.d4kZl0l)lpmRlXmonin(m5k)mAd6k7k8kDmEk9lqmunGd*m+m3m9kEmFmRmhhihjhkh~bacbcccdcecHlIlreseteuevewexeyezeAeBeCeDeEeFeGe`l{l|l}llhmhnhoh*l+lefffgf3f4f5f6f7f8f9f!f#f$f%f'fE F G FfGfHfhfifjfqgrgH I J QdRdSdTdUdVdphqhrhsh!k#k$k%k'k(kthuhvhwhxhyhzhAhK L M j k l hbibjbBhCh)k*kDhEhFhGhHhIhJhKhLhMhNhOh+k,k|c}c~ckblbmbmdndodfcgchcicjckcnbobpblcmcncqbrbsb* + , tbubvbocpcqcrcsctcPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?hd HeIe/d:d;d=d-k1l2l,lrmSlYmpnjn,m.k-mBd/k:k;kGmFk!lsmvnHd.m/m4m=kHmImSm@h[h]h^hucvcwcxcyczcJlKlJeKeLeMeNeOePeQeReSeTeUeVeWeXeYe~lambmcm_h`h{h|h-l.lkflfmf(f)f*f+f,f-f.f/f:f;f=f?fN O P IfJfKfnfofpfsgtgQ R S WdXdYdZd0d1d}h~haibi?k@k[k]k^k_kcidieifigihiiijiT U V m n o wbxbybkili`k{kminioipiqirisitiuiviwixi|k}kadbdcdzbAbBbpdqdrdAcBcCcDcEcFcCbDbEbGcHcIcFbGbHb- . / IbJbKbJcKcLcMcNcOcyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i9ie Ze0e?d@d[d]d~k3l4l/ltmTlZmqnkn:mal;mCdblcldlJmGk#lumwnId=m?m5melKmLmTm!i#i$i%iPcQcRcScTcUcLlMl1e2e3e4e5e6e7e8e9e!e#e$e%e'e(e)edmemfmgm'i(i)i*i:l;lqfrfsf@f[f]f^f_f`f{f|f}f~fagbgW X Y LfMfNftfufvfugvgZ 0 1 2d3d4d5d6d7d+i,i-i.iflglhliljlkl/i:i;i=i?i@i[i]i2 3 4 p q r LbMbNb^i_illml`i{i|i}i~iajbjcjdjejfjgjnlolddedfdObPbQbsdtdudVcWcXcYcZc0cRbSbTb1c2c3cUbVbWb: ; = XbYbZb4c5c6c7c8c9chjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjf *e+e^d_d`d{dpl5l6l=lvmUl0mrnln@mql[mDdrlsltlMmHk$lwmxnJd]m^m6mulNmOmUmTjUjVjWj!c#c$c%c'c(cNlOl,e-e.e/e:e;e=e?e@e[e]e^e_e`e{e|ehmimjmkmXjYjZj0j?l@lwfxfyfcgdgegfggghgigjgkglgmgng5 6 7 OfPfQfzfAfBfwgxg8 9 ! 8d9d!d#d$d%d1j2j3j4jvlwlxlylzlAl5j6j7j8j9j!j#j$j# $ % s t u 0b1b2b%j'jBlCl(j)j*j+j,j-j.j/j:j;j=j?jDlElgdhdid3b4b5bvdwdxd)c*c+c,c-c.c6b7b8b/c:c;c9b!b#b? @ [ $b%b'b=c?c@c[c]c^c@j[j]j^j_j`j{j|j}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBk
174 self.sa_column = sa_column 2a |d'd(dIkVlWl%llmPlVmmngn7mJk8mydKkLkMkxmCk7lmmsnEd9m!m1mNkymzmPmygzg(b)bFl}d~daebecedeeefe[l]lAgBg}eRfSfTfUfv Cf~eogw KdLdCgDgOkPkQkEgFgGgHgx g ] IgRkJgKgLgMgNgOgSk_c^ jd*b+b_ ,b` ' { -b.bPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g6g7gb ge)d*dTkXlYl'lnmQlWmnnhn#mUk$mzdVkWkXkAmDk8lomtnFd%m'm2mYkBmCmQm8g9g/b:b;b=bGlheiejekelemeneoe^l_l!g#g(lafbfVfWfXfYfZf0f1f2fy z DfEfcfdfpgA B MdNdOdPd$g%gZk0k1k'g(g)g*gC D h i | } +g2k,g-g.g/g:g;g3k`c{c~ abkdld?b@b[b]bbbcb^b_bdbeb( ) fbgb`b{b|b}b=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghc peqe+d,d-d.d4kZl0l)lpmRlXmonin(m5k)mAd6k7k8kDmEk9lqmunGd*m+m3m9kEmFmRmhhihjhkh~bacbcccdcecHlIlreseteuevewexeyezeAeBeCeDeEeFeGe`l{l|l}llhmhnhoh*l+lefffgf3f4f5f6f7f8f9f!f#f$f%f'fE F G FfGfHfhfifjfqgrgH I J QdRdSdTdUdVdphqhrhsh!k#k$k%k'k(kthuhvhwhxhyhzhAhK L M j k l hbibjbBhCh)k*kDhEhFhGhHhIhJhKhLhMhNhOh+k,k|c}c~ckblbmbmdndodfcgchcicjckcnbobpblcmcncqbrbsb* + , tbubvbocpcqcrcsctcPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?hd HeIe/d:d;d=d-k1l2l,lrmSlYmpnjn,m.k-mBd/k:k;kGmFk!lsmvnHd.m/m4m=kHmImSm@h[h]h^hucvcwcxcyczcJlKlJeKeLeMeNeOePeQeReSeTeUeVeWeXeYe~lambmcm_h`h{h|h-l.lkflfmf(f)f*f+f,f-f.f/f:f;f=f?fN O P IfJfKfnfofpfsgtgQ R S WdXdYdZd0d1d}h~haibi?k@k[k]k^k_kcidieifigihiiijiT U V m n o wbxbybkili`k{kminioipiqirisitiuiviwixi|k}kadbdcdzbAbBbpdqdrdAcBcCcDcEcFcCbDbEbGcHcIcFbGbHb- . / IbJbKbJcKcLcMcNcOcyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i9ie Ze0e?d@d[d]d~k3l4l/ltmTlZmqnkn:mal;mCdblcldlJmGk#lumwnId=m?m5melKmLmTm!i#i$i%iPcQcRcScTcUcLlMl1e2e3e4e5e6e7e8e9e!e#e$e%e'e(e)edmemfmgm'i(i)i*i:l;lqfrfsf@f[f]f^f_f`f{f|f}f~fagbgW X Y LfMfNftfufvfugvgZ 0 1 2d3d4d5d6d7d+i,i-i.iflglhliljlkl/i:i;i=i?i@i[i]i2 3 4 p q r LbMbNb^i_illml`i{i|i}i~iajbjcjdjejfjgjnlolddedfdObPbQbsdtdudVcWcXcYcZc0cRbSbTb1c2c3cUbVbWb: ; = XbYbZb4c5c6c7c8c9chjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjf *e+e^d_d`d{dpl5l6l=lvmUl0mrnln@mql[mDdrlsltlMmHk$lwmxnJd]m^m6mulNmOmUmTjUjVjWj!c#c$c%c'c(cNlOl,e-e.e/e:e;e=e?e@e[e]e^e_e`e{e|ehmimjmkmXjYjZj0j?l@lwfxfyfcgdgegfggghgigjgkglgmgng5 6 7 OfPfQfzfAfBfwgxg8 9 ! 8d9d!d#d$d%d1j2j3j4jvlwlxlylzlAl5j6j7j8j9j!j#j$j# $ % s t u 0b1b2b%j'jBlCl(j)j*j+j,j-j.j/j:j;j=j?jDlElgdhdid3b4b5bvdwdxd)c*c+c,c-c.c6b7b8b/c:c;c9b!b#b? @ [ $b%b'b=c?c@c[c]c^c@j[j]j^j_j`j{j|j}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBk
175 self.sa_column_args = sa_column_args 2a |d'd(dIkVlWl%llmPlVmmngn7mJk8mydKkLkMkxmCk7lmmsnEd9m!m1mNkymzmPmygzg(b)bFl}d~daebecedeeefe[l]lAgBg}eRfSfTfUfv Cf~eogw KdLdCgDgOkPkQkEgFgGgHgx g ] IgRkJgKgLgMgNgOgSk_c^ jd*b+b_ ,b` ' { -b.bPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g6g7gb ge)d*dTkXlYl'lnmQlWmnnhn#mUk$mzdVkWkXkAmDk8lomtnFd%m'm2mYkBmCmQm8g9g/b:b;b=bGlheiejekelemeneoe^l_l!g#g(lafbfVfWfXfYfZf0f1f2fy z DfEfcfdfpgA B MdNdOdPd$g%gZk0k1k'g(g)g*gC D h i | } +g2k,g-g.g/g:g;g3k`c{c~ abkdld?b@b[b]bbbcb^b_bdbeb( ) fbgb`b{b|b}b=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghc peqe+d,d-d.d4kZl0l)lpmRlXmonin(m5k)mAd6k7k8kDmEk9lqmunGd*m+m3m9kEmFmRmhhihjhkh~bacbcccdcecHlIlreseteuevewexeyezeAeBeCeDeEeFeGe`l{l|l}llhmhnhoh*l+lefffgf3f4f5f6f7f8f9f!f#f$f%f'fE F G FfGfHfhfifjfqgrgH I J QdRdSdTdUdVdphqhrhsh!k#k$k%k'k(kthuhvhwhxhyhzhAhK L M j k l hbibjbBhCh)k*kDhEhFhGhHhIhJhKhLhMhNhOh+k,k|c}c~ckblbmbmdndodfcgchcicjckcnbobpblcmcncqbrbsb* + , tbubvbocpcqcrcsctcPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?hd HeIe/d:d;d=d-k1l2l,lrmSlYmpnjn,m.k-mBd/k:k;kGmFk!lsmvnHd.m/m4m=kHmImSm@h[h]h^hucvcwcxcyczcJlKlJeKeLeMeNeOePeQeReSeTeUeVeWeXeYe~lambmcm_h`h{h|h-l.lkflfmf(f)f*f+f,f-f.f/f:f;f=f?fN O P IfJfKfnfofpfsgtgQ R S WdXdYdZd0d1d}h~haibi?k@k[k]k^k_kcidieifigihiiijiT U V m n o wbxbybkili`k{kminioipiqirisitiuiviwixi|k}kadbdcdzbAbBbpdqdrdAcBcCcDcEcFcCbDbEbGcHcIcFbGbHb- . / IbJbKbJcKcLcMcNcOcyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i9ie Ze0e?d@d[d]d~k3l4l/ltmTlZmqnkn:mal;mCdblcldlJmGk#lumwnId=m?m5melKmLmTm!i#i$i%iPcQcRcScTcUcLlMl1e2e3e4e5e6e7e8e9e!e#e$e%e'e(e)edmemfmgm'i(i)i*i:l;lqfrfsf@f[f]f^f_f`f{f|f}f~fagbgW X Y LfMfNftfufvfugvgZ 0 1 2d3d4d5d6d7d+i,i-i.iflglhliljlkl/i:i;i=i?i@i[i]i2 3 4 p q r LbMbNb^i_illml`i{i|i}i~iajbjcjdjejfjgjnlolddedfdObPbQbsdtdudVcWcXcYcZc0cRbSbTb1c2c3cUbVbWb: ; = XbYbZb4c5c6c7c8c9chjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjf *e+e^d_d`d{dpl5l6l=lvmUl0mrnln@mql[mDdrlsltlMmHk$lwmxnJd]m^m6mulNmOmUmTjUjVjWj!c#c$c%c'c(cNlOl,e-e.e/e:e;e=e?e@e[e]e^e_e`e{e|ehmimjmkmXjYjZj0j?l@lwfxfyfcgdgegfggghgigjgkglgmgng5 6 7 OfPfQfzfAfBfwgxg8 9 ! 8d9d!d#d$d%d1j2j3j4jvlwlxlylzlAl5j6j7j8j9j!j#j$j# $ % s t u 0b1b2b%j'jBlCl(j)j*j+j,j-j.j/j:j;j=j?jDlElgdhdid3b4b5bvdwdxd)c*c+c,c-c.c6b7b8b/c:c;c9b!b#b? @ [ $b%b'b=c?c@c[c]c^c@j[j]j^j_j`j{j|j}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBk
176 self.sa_column_kwargs = sa_column_kwargs 2a |d'd(dIkVlWl%llmPlVmmngn7mJk8mydKkLkMkxmCk7lmmsnEd9m!m1mNkymzmPmygzg(b)bFl}d~daebecedeeefe[l]lAgBg}eRfSfTfUfv Cf~eogw KdLdCgDgOkPkQkEgFgGgHgx g ] IgRkJgKgLgMgNgOgSk_c^ jd*b+b_ ,b` ' { -b.bPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g6g7gb ge)d*dTkXlYl'lnmQlWmnnhn#mUk$mzdVkWkXkAmDk8lomtnFd%m'm2mYkBmCmQm8g9g/b:b;b=bGlheiejekelemeneoe^l_l!g#g(lafbfVfWfXfYfZf0f1f2fy z DfEfcfdfpgA B MdNdOdPd$g%gZk0k1k'g(g)g*gC D h i | } +g2k,g-g.g/g:g;g3k`c{c~ abkdld?b@b[b]bbbcb^b_bdbeb( ) fbgb`b{b|b}b=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghc peqe+d,d-d.d4kZl0l)lpmRlXmonin(m5k)mAd6k7k8kDmEk9lqmunGd*m+m3m9kEmFmRmhhihjhkh~bacbcccdcecHlIlreseteuevewexeyezeAeBeCeDeEeFeGe`l{l|l}llhmhnhoh*l+lefffgf3f4f5f6f7f8f9f!f#f$f%f'fE F G FfGfHfhfifjfqgrgH I J QdRdSdTdUdVdphqhrhsh!k#k$k%k'k(kthuhvhwhxhyhzhAhK L M j k l hbibjbBhCh)k*kDhEhFhGhHhIhJhKhLhMhNhOh+k,k|c}c~ckblbmbmdndodfcgchcicjckcnbobpblcmcncqbrbsb* + , tbubvbocpcqcrcsctcPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?hd HeIe/d:d;d=d-k1l2l,lrmSlYmpnjn,m.k-mBd/k:k;kGmFk!lsmvnHd.m/m4m=kHmImSm@h[h]h^hucvcwcxcyczcJlKlJeKeLeMeNeOePeQeReSeTeUeVeWeXeYe~lambmcm_h`h{h|h-l.lkflfmf(f)f*f+f,f-f.f/f:f;f=f?fN O P IfJfKfnfofpfsgtgQ R S WdXdYdZd0d1d}h~haibi?k@k[k]k^k_kcidieifigihiiijiT U V m n o wbxbybkili`k{kminioipiqirisitiuiviwixi|k}kadbdcdzbAbBbpdqdrdAcBcCcDcEcFcCbDbEbGcHcIcFbGbHb- . / IbJbKbJcKcLcMcNcOcyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i9ie Ze0e?d@d[d]d~k3l4l/ltmTlZmqnkn:mal;mCdblcldlJmGk#lumwnId=m?m5melKmLmTm!i#i$i%iPcQcRcScTcUcLlMl1e2e3e4e5e6e7e8e9e!e#e$e%e'e(e)edmemfmgm'i(i)i*i:l;lqfrfsf@f[f]f^f_f`f{f|f}f~fagbgW X Y LfMfNftfufvfugvgZ 0 1 2d3d4d5d6d7d+i,i-i.iflglhliljlkl/i:i;i=i?i@i[i]i2 3 4 p q r LbMbNb^i_illml`i{i|i}i~iajbjcjdjejfjgjnlolddedfdObPbQbsdtdudVcWcXcYcZc0cRbSbTb1c2c3cUbVbWb: ; = XbYbZb4c5c6c7c8c9chjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjf *e+e^d_d`d{dpl5l6l=lvmUl0mrnln@mql[mDdrlsltlMmHk$lwmxnJd]m^m6mulNmOmUmTjUjVjWj!c#c$c%c'c(cNlOl,e-e.e/e:e;e=e?e@e[e]e^e_e`e{e|ehmimjmkmXjYjZj0j?l@lwfxfyfcgdgegfggghgigjgkglgmgng5 6 7 OfPfQfzfAfBfwgxg8 9 ! 8d9d!d#d$d%d1j2j3j4jvlwlxlylzlAl5j6j7j8j9j!j#j$j# $ % s t u 0b1b2b%j'jBlCl(j)j*j+j,j-j.j/j:j;j=j?jDlElgdhdid3b4b5bvdwdxd)c*c+c,c-c.c6b7b8b/c:c;c9b!b#b? @ [ $b%b'b=c?c@c[c]c^c@j[j]j^j_j`j{j|j}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBk
179class RelationshipInfo(Representation): 1abcdef
180 def __init__( 1abcdef
181 self,
182 *,
183 back_populates: Optional[str] = None,
184 cascade_delete: Optional[bool] = False,
185 passive_deletes: Optional[Union[bool, Literal["all"]]] = False,
186 link_model: Optional[Any] = None,
187 sa_relationship: Optional[RelationshipProperty] = None, # type: ignore
188 sa_relationship_args: Optional[Sequence[Any]] = None,
189 sa_relationship_kwargs: Optional[Mapping[str, Any]] = None,
190 ) -> None:
191 if sa_relationship is not None: 2mngnydEd(b)bv w x g ] _c^ jd*b+b_ ,b` ' { -b.bnnhnzdFd/b:b;b=by z A B C D h i | } `c{c~ abkdld?b@b[b]bbbcb^b_bdbeb( ) fbgb`b{b|b}boninAdGd~bacbcccdcecE F G H I J K L M j k l hbibjb|c}c~ckblbmbmdndodfcgchcicjckcnbobpblcmcncqbrbsb* + , tbubvbocpcqcrcsctcpnjnBdHducvcwcxcyczcN O P Q R S T U V m n o wbxbybadbdcdzbAbBbpdqdrdAcBcCcDcEcFcCbDbEbGcHcIcFbGbHb- . / IbJbKbJcKcLcMcNcOcqnknCdIdPcQcRcScTcUcW X Y Z 0 1 2 3 4 p q r LbMbNbddedfdObPbQbsdtdudVcWcXcYcZc0cRbSbTb1c2c3cUbVbWb: ; = XbYbZb4c5c6c7c8c9crnlnDdJd!c#c$c%c'c(c5 6 7 8 9 ! # $ % s t u 0b1b2bgdhdid3b4b5bvdwdxd)c*c+c,c-c.c6b7b8b/c:c;c9b!b#b? @ [ $b%b'b=c?c@c[c]c^c
192 if sa_relationship_args is not None: 2mngnydnnhnzdoninAdpnjnBdqnknCdrnlnDd
193 raise RuntimeError( 2mnnnonpnqnrn
194 "Passing sa_relationship_args is not supported when "
195 "also passing a sa_relationship"
196 )
197 if sa_relationship_kwargs is not None: 2gnydhnzdinAdjnBdknCdlnDd
198 raise RuntimeError( 2gnhninjnknln
199 "Passing sa_relationship_kwargs is not supported when "
200 "also passing a sa_relationship"
201 )
202 self.back_populates = back_populates 2ydEd(b)bv w x g ] _c^ jd*b+b_ ,b` ' { -b.bzdFd/b:b;b=by z A B C D h i | } `c{c~ abkdld?b@b[b]bbbcb^b_bdbeb( ) fbgb`b{b|b}bAdGd~bacbcccdcecE F G H I J K L M j k l hbibjb|c}c~ckblbmbmdndodfcgchcicjckcnbobpblcmcncqbrbsb* + , tbubvbocpcqcrcsctcBdHducvcwcxcyczcN O P Q R S T U V m n o wbxbybadbdcdzbAbBbpdqdrdAcBcCcDcEcFcCbDbEbGcHcIcFbGbHb- . / IbJbKbJcKcLcMcNcOcCdIdPcQcRcScTcUcW X Y Z 0 1 2 3 4 p q r LbMbNbddedfdObPbQbsdtdudVcWcXcYcZc0cRbSbTb1c2c3cUbVbWb: ; = XbYbZb4c5c6c7c8c9cDdJd!c#c$c%c'c(c5 6 7 8 9 ! # $ % s t u 0b1b2bgdhdid3b4b5bvdwdxd)c*c+c,c-c.c6b7b8b/c:c;c9b!b#b? @ [ $b%b'b=c?c@c[c]c^c
203 self.cascade_delete = cascade_delete 2ydEd(b)bv w x g ] _c^ jd*b+b_ ,b` ' { -b.bzdFd/b:b;b=by z A B C D h i | } `c{c~ abkdld?b@b[b]bbbcb^b_bdbeb( ) fbgb`b{b|b}bAdGd~bacbcccdcecE F G H I J K L M j k l hbibjb|c}c~ckblbmbmdndodfcgchcicjckcnbobpblcmcncqbrbsb* + , tbubvbocpcqcrcsctcBdHducvcwcxcyczcN O P Q R S T U V m n o wbxbybadbdcdzbAbBbpdqdrdAcBcCcDcEcFcCbDbEbGcHcIcFbGbHb- . / IbJbKbJcKcLcMcNcOcCdIdPcQcRcScTcUcW X Y Z 0 1 2 3 4 p q r LbMbNbddedfdObPbQbsdtdudVcWcXcYcZc0cRbSbTb1c2c3cUbVbWb: ; = XbYbZb4c5c6c7c8c9cDdJd!c#c$c%c'c(c5 6 7 8 9 ! # $ % s t u 0b1b2bgdhdid3b4b5bvdwdxd)c*c+c,c-c.c6b7b8b/c:c;c9b!b#b? @ [ $b%b'b=c?c@c[c]c^c
204 self.passive_deletes = passive_deletes 2ydEd(b)bv w x g ] _c^ jd*b+b_ ,b` ' { -b.bzdFd/b:b;b=by z A B C D h i | } `c{c~ abkdld?b@b[b]bbbcb^b_bdbeb( ) fbgb`b{b|b}bAdGd~bacbcccdcecE F G H I J K L M j k l hbibjb|c}c~ckblbmbmdndodfcgchcicjckcnbobpblcmcncqbrbsb* + , tbubvbocpcqcrcsctcBdHducvcwcxcyczcN O P Q R S T U V m n o wbxbybadbdcdzbAbBbpdqdrdAcBcCcDcEcFcCbDbEbGcHcIcFbGbHb- . / IbJbKbJcKcLcMcNcOcCdIdPcQcRcScTcUcW X Y Z 0 1 2 3 4 p q r LbMbNbddedfdObPbQbsdtdudVcWcXcYcZc0cRbSbTb1c2c3cUbVbWb: ; = XbYbZb4c5c6c7c8c9cDdJd!c#c$c%c'c(c5 6 7 8 9 ! # $ % s t u 0b1b2bgdhdid3b4b5bvdwdxd)c*c+c,c-c.c6b7b8b/c:c;c9b!b#b? @ [ $b%b'b=c?c@c[c]c^c
205 self.link_model = link_model 2ydEd(b)bv w x g ] _c^ jd*b+b_ ,b` ' { -b.bzdFd/b:b;b=by z A B C D h i | } `c{c~ abkdld?b@b[b]bbbcb^b_bdbeb( ) fbgb`b{b|b}bAdGd~bacbcccdcecE F G H I J K L M j k l hbibjb|c}c~ckblbmbmdndodfcgchcicjckcnbobpblcmcncqbrbsb* + , tbubvbocpcqcrcsctcBdHducvcwcxcyczcN O P Q R S T U V m n o wbxbybadbdcdzbAbBbpdqdrdAcBcCcDcEcFcCbDbEbGcHcIcFbGbHb- . / IbJbKbJcKcLcMcNcOcCdIdPcQcRcScTcUcW X Y Z 0 1 2 3 4 p q r LbMbNbddedfdObPbQbsdtdudVcWcXcYcZc0cRbSbTb1c2c3cUbVbWb: ; = XbYbZb4c5c6c7c8c9cDdJd!c#c$c%c'c(c5 6 7 8 9 ! # $ % s t u 0b1b2bgdhdid3b4b5bvdwdxd)c*c+c,c-c.c6b7b8b/c:c;c9b!b#b? @ [ $b%b'b=c?c@c[c]c^c
206 self.sa_relationship = sa_relationship 2ydEd(b)bv w x g ] _c^ jd*b+b_ ,b` ' { -b.bzdFd/b:b;b=by z A B C D h i | } `c{c~ abkdld?b@b[b]bbbcb^b_bdbeb( ) fbgb`b{b|b}bAdGd~bacbcccdcecE F G H I J K L M j k l hbibjb|c}c~ckblbmbmdndodfcgchcicjckcnbobpblcmcncqbrbsb* + , tbubvbocpcqcrcsctcBdHducvcwcxcyczcN O P Q R S T U V m n o wbxbybadbdcdzbAbBbpdqdrdAcBcCcDcEcFcCbDbEbGcHcIcFbGbHb- . / IbJbKbJcKcLcMcNcOcCdIdPcQcRcScTcUcW X Y Z 0 1 2 3 4 p q r LbMbNbddedfdObPbQbsdtdudVcWcXcYcZc0cRbSbTb1c2c3cUbVbWb: ; = XbYbZb4c5c6c7c8c9cDdJd!c#c$c%c'c(c5 6 7 8 9 ! # $ % s t u 0b1b2bgdhdid3b4b5bvdwdxd)c*c+c,c-c.c6b7b8b/c:c;c9b!b#b? @ [ $b%b'b=c?c@c[c]c^c
207 self.sa_relationship_args = sa_relationship_args 2ydEd(b)bv w x g ] _c^ jd*b+b_ ,b` ' { -b.bzdFd/b:b;b=by z A B C D h i | } `c{c~ abkdld?b@b[b]bbbcb^b_bdbeb( ) fbgb`b{b|b}bAdGd~bacbcccdcecE F G H I J K L M j k l hbibjb|c}c~ckblbmbmdndodfcgchcicjckcnbobpblcmcncqbrbsb* + , tbubvbocpcqcrcsctcBdHducvcwcxcyczcN O P Q R S T U V m n o wbxbybadbdcdzbAbBbpdqdrdAcBcCcDcEcFcCbDbEbGcHcIcFbGbHb- . / IbJbKbJcKcLcMcNcOcCdIdPcQcRcScTcUcW X Y Z 0 1 2 3 4 p q r LbMbNbddedfdObPbQbsdtdudVcWcXcYcZc0cRbSbTb1c2c3cUbVbWb: ; = XbYbZb4c5c6c7c8c9cDdJd!c#c$c%c'c(c5 6 7 8 9 ! # $ % s t u 0b1b2bgdhdid3b4b5bvdwdxd)c*c+c,c-c.c6b7b8b/c:c;c9b!b#b? @ [ $b%b'b=c?c@c[c]c^c
208 self.sa_relationship_kwargs = sa_relationship_kwargs 2ydEd(b)bv w x g ] _c^ jd*b+b_ ,b` ' { -b.bzdFd/b:b;b=by z A B C D h i | } `c{c~ abkdld?b@b[b]bbbcb^b_bdbeb( ) fbgb`b{b|b}bAdGd~bacbcccdcecE F G H I J K L M j k l hbibjb|c}c~ckblbmbmdndodfcgchcicjckcnbobpblcmcncqbrbsb* + , tbubvbocpcqcrcsctcBdHducvcwcxcyczcN O P Q R S T U V m n o wbxbybadbdcdzbAbBbpdqdrdAcBcCcDcEcFcCbDbEbGcHcIcFbGbHb- . / IbJbKbJcKcLcMcNcOcCdIdPcQcRcScTcUcW X Y Z 0 1 2 3 4 p q r LbMbNbddedfdObPbQbsdtdudVcWcXcYcZc0cRbSbTb1c2c3cUbVbWb: ; = XbYbZb4c5c6c7c8c9cDdJd!c#c$c%c'c(c5 6 7 8 9 ! # $ % s t u 0b1b2bgdhdid3b4b5bvdwdxd)c*c+c,c-c.c6b7b8b/c:c;c9b!b#b? @ [ $b%b'b=c?c@c[c]c^c
211# include sa_type, sa_column_args, sa_column_kwargs
212@overload 1abcdef
213def Field( 1abcdef
214 default: Any = Undefined, 1abcdef
215 *,
216 default_factory: Optional[NoArgAnyCallable] = None, 1abcdef
217 alias: Optional[str] = None, 1abcdef
218 title: Optional[str] = None, 1abcdef
219 description: Optional[str] = None, 1abcdef
220 exclude: Union[ 1abcdef
221 AbstractSet[Union[int, str]], Mapping[Union[int, str], Any], Any 1abcdef
222 ] = None, 1abcdef
223 include: Union[ 1abcdef
224 AbstractSet[Union[int, str]], Mapping[Union[int, str], Any], Any 1abcdef
225 ] = None, 1abcdef
226 const: Optional[bool] = None, 1abcdef
227 gt: Optional[float] = None, 1abcdef
228 ge: Optional[float] = None, 1abcdef
229 lt: Optional[float] = None, 1abcdef
230 le: Optional[float] = None, 1abcdef
231 multiple_of: Optional[float] = None, 1abcdef
232 max_digits: Optional[int] = None, 1abcdef
233 decimal_places: Optional[int] = None, 1abcdef
234 min_items: Optional[int] = None, 1abcdef
235 max_items: Optional[int] = None, 1abcdef
236 unique_items: Optional[bool] = None, 1abcdef
237 min_length: Optional[int] = None, 1abcdef
238 max_length: Optional[int] = None, 1abcdef
239 allow_mutation: bool = True, 1abcdef
240 regex: Optional[str] = None, 1abcdef
241 discriminator: Optional[str] = None, 1abcdef
242 repr: bool = True, 1abcdef
243 primary_key: Union[bool, UndefinedType] = Undefined, 1abcdef
244 foreign_key: Any = Undefined, 1abcdef
245 unique: Union[bool, UndefinedType] = Undefined, 1abcdef
246 nullable: Union[bool, UndefinedType] = Undefined, 1abcdef
247 index: Union[bool, UndefinedType] = Undefined, 1abcdef
248 sa_type: Union[Type[Any], UndefinedType] = Undefined, 1abcdef
249 sa_column_args: Union[Sequence[Any], UndefinedType] = Undefined, 1abcdef
250 sa_column_kwargs: Union[Mapping[str, Any], UndefinedType] = Undefined, 1abcdef
251 schema_extra: Optional[Dict[str, Any]] = None, 1abcdef
252) -> Any: ... 1abcdef
255# When foreign_key is str, include ondelete
256# include sa_type, sa_column_args, sa_column_kwargs
257@overload 1abcdef
258def Field( 1abcdef
259 default: Any = Undefined, 1abcdef
260 *,
261 default_factory: Optional[NoArgAnyCallable] = None, 1abcdef
262 alias: Optional[str] = None, 1abcdef
263 title: Optional[str] = None, 1abcdef
264 description: Optional[str] = None, 1abcdef
265 exclude: Union[ 1abcdef
266 AbstractSet[Union[int, str]], Mapping[Union[int, str], Any], Any 1abcdef
267 ] = None, 1abcdef
268 include: Union[ 1abcdef
269 AbstractSet[Union[int, str]], Mapping[Union[int, str], Any], Any 1abcdef
270 ] = None, 1abcdef
271 const: Optional[bool] = None, 1abcdef
272 gt: Optional[float] = None, 1abcdef
273 ge: Optional[float] = None, 1abcdef
274 lt: Optional[float] = None, 1abcdef
275 le: Optional[float] = None, 1abcdef
276 multiple_of: Optional[float] = None, 1abcdef
277 max_digits: Optional[int] = None, 1abcdef
278 decimal_places: Optional[int] = None, 1abcdef
279 min_items: Optional[int] = None, 1abcdef
280 max_items: Optional[int] = None, 1abcdef
281 unique_items: Optional[bool] = None, 1abcdef
282 min_length: Optional[int] = None, 1abcdef
283 max_length: Optional[int] = None, 1abcdef
284 allow_mutation: bool = True, 1abcdef
285 regex: Optional[str] = None, 1abcdef
286 discriminator: Optional[str] = None, 1abcdef
287 repr: bool = True, 1abcdef
288 primary_key: Union[bool, UndefinedType] = Undefined, 1abcdef
289 foreign_key: str, 1abcdef
290 ondelete: Union[OnDeleteType, UndefinedType] = Undefined, 1abcdef
291 unique: Union[bool, UndefinedType] = Undefined, 1abcdef
292 nullable: Union[bool, UndefinedType] = Undefined, 1abcdef
293 index: Union[bool, UndefinedType] = Undefined, 1abcdef
294 sa_type: Union[Type[Any], UndefinedType] = Undefined, 1abcdef
295 sa_column_args: Union[Sequence[Any], UndefinedType] = Undefined, 1abcdef
296 sa_column_kwargs: Union[Mapping[str, Any], UndefinedType] = Undefined, 1abcdef
297 schema_extra: Optional[Dict[str, Any]] = None, 1abcdef
298) -> Any: ... 1abcdef
301# Include sa_column, don't include
302# primary_key
303# foreign_key
304# ondelete
305# unique
306# nullable
307# index
308# sa_type
309# sa_column_args
310# sa_column_kwargs
311@overload 1abcdef
312def Field( 1abcdef
313 default: Any = Undefined, 1abcdef
314 *,
315 default_factory: Optional[NoArgAnyCallable] = None, 1abcdef
316 alias: Optional[str] = None, 1abcdef
317 title: Optional[str] = None, 1abcdef
318 description: Optional[str] = None, 1abcdef
319 exclude: Union[ 1abcdef
320 AbstractSet[Union[int, str]], Mapping[Union[int, str], Any], Any 1abcdef
321 ] = None, 1abcdef
322 include: Union[ 1abcdef
323 AbstractSet[Union[int, str]], Mapping[Union[int, str], Any], Any 1abcdef
324 ] = None, 1abcdef
325 const: Optional[bool] = None, 1abcdef
326 gt: Optional[float] = None, 1abcdef
327 ge: Optional[float] = None, 1abcdef
328 lt: Optional[float] = None, 1abcdef
329 le: Optional[float] = None, 1abcdef
330 multiple_of: Optional[float] = None, 1abcdef
331 max_digits: Optional[int] = None, 1abcdef
332 decimal_places: Optional[int] = None, 1abcdef
333 min_items: Optional[int] = None, 1abcdef
334 max_items: Optional[int] = None, 1abcdef
335 unique_items: Optional[bool] = None, 1abcdef
336 min_length: Optional[int] = None, 1abcdef
337 max_length: Optional[int] = None, 1abcdef
338 allow_mutation: bool = True, 1abcdef
339 regex: Optional[str] = None, 1abcdef
340 discriminator: Optional[str] = None, 1abcdef
341 repr: bool = True, 1abcdef
342 sa_column: Union[Column[Any], UndefinedType] = Undefined, 1abcdef
343 schema_extra: Optional[Dict[str, Any]] = None, 1abcdef
344) -> Any: ... 1abcdef
347def Field( 1abcdef
348 default: Any = Undefined,
349 *,
350 default_factory: Optional[NoArgAnyCallable] = None,
351 alias: Optional[str] = None,
352 title: Optional[str] = None,
353 description: Optional[str] = None,
354 exclude: Union[
355 AbstractSet[Union[int, str]], Mapping[Union[int, str], Any], Any
356 ] = None,
357 include: Union[
358 AbstractSet[Union[int, str]], Mapping[Union[int, str], Any], Any
359 ] = None,
360 const: Optional[bool] = None,
361 gt: Optional[float] = None,
362 ge: Optional[float] = None,
363 lt: Optional[float] = None,
364 le: Optional[float] = None,
365 multiple_of: Optional[float] = None,
366 max_digits: Optional[int] = None,
367 decimal_places: Optional[int] = None,
368 min_items: Optional[int] = None,
369 max_items: Optional[int] = None,
370 unique_items: Optional[bool] = None,
371 min_length: Optional[int] = None,
372 max_length: Optional[int] = None,
373 allow_mutation: bool = True,
374 regex: Optional[str] = None,
375 discriminator: Optional[str] = None,
376 repr: bool = True,
377 primary_key: Union[bool, UndefinedType] = Undefined,
378 foreign_key: Any = Undefined,
379 ondelete: Union[OnDeleteType, UndefinedType] = Undefined,
380 unique: Union[bool, UndefinedType] = Undefined,
381 nullable: Union[bool, UndefinedType] = Undefined,
382 index: Union[bool, UndefinedType] = Undefined,
383 sa_type: Union[Type[Any], UndefinedType] = Undefined,
384 sa_column: Union[Column, UndefinedType] = Undefined, # type: ignore
385 sa_column_args: Union[Sequence[Any], UndefinedType] = Undefined,
386 sa_column_kwargs: Union[Mapping[str, Any], UndefinedType] = Undefined,
387 schema_extra: Optional[Dict[str, Any]] = None,
388) -> Any:
389 current_schema_extra = schema_extra or {} 2a |d'd(dIkVlWl%llmPlEn4p5n!p/p)pynZnVmmngn7mJk8mydKkLkMkxmCk7lmmsnEd9m!m1mNkymzmPmygzg(b)bFl}d~daebecedeeefe[l]lAgBg}eRfSfTfUfv Cf~eogw KdLdCgDgOkPkQkEgFgGgHgx g ] IgRkJgKgLgMgNgOgSk_c^ jd*b+b_ ,b` ' { -b.bPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g6g7gb ge)d*dTkXlYl'lnmQlFn5p6n#p:p*pzn0nWmnnhn#mUk$mzdVkWkXkAmDk8lomtnFd%m'm2mYkBmCmQm8g9g/b:b;b=bGlheiejekelemeneoe^l_l!g#g(lafbfVfWfXfYfZf0f1f2fy z DfEfcfdfpgA B MdNdOdPd$g%gZk0k1k'g(g)g*gC D h i | } +g2k,g-g.g/g:g;g3k`c{c~ abkdld?b@b[b]bbbcb^b_bdbeb( ) fbgb`b{b|b}b=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghc peqe+d,d-d.d4kZl0l)lpmRlGn6p7n$p;p+pAn1nXmonin(m5k)mAd6k7k8kDmEk9lqmunGd*m+m3m9kEmFmRmhhihjhkh~bacbcccdcecHlIlreseteuevewexeyezeAeBeCeDeEeFeGe`l{l|l}llhmhnhoh*l+lefffgf3f4f5f6f7f8f9f!f#f$f%f'fE F G FfGfHfhfifjfqgrgH I J QdRdSdTdUdVdphqhrhsh!k#k$k%k'k(kthuhvhwhxhyhzhAhK L M j k l hbibjbBhCh)k*kDhEhFhGhHhIhJhKhLhMhNhOh+k,k|c}c~ckblbmbmdndodfcgchcicjckcnbobpblcmcncqbrbsb* + , tbubvbocpcqcrcsctcPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?hd HeIe/d:d;d=d-k1l2l,lrmSlHn7p8n%p=p,pBn2nYmpnjn,m.k-mBd/k:k;kGmFk!lsmvnHd.m/m4m=kHmImSm@h[h]h^hucvcwcxcyczcJlKlJeKeLeMeNeOePeQeReSeTeUeVeWeXeYe~lambmcm_h`h{h|h-l.lkflfmf(f)f*f+f,f-f.f/f:f;f=f?fN O P IfJfKfnfofpfsgtgQ R S WdXdYdZd0d1d}h~haibi?k@k[k]k^k_kcidieifigihiiijiT U V m n o wbxbybkili`k{kminioipiqirisitiuiviwixi|k}kadbdcdzbAbBbpdqdrdAcBcCcDcEcFcCbDbEbGcHcIcFbGbHb- . / IbJbKbJcKcLcMcNcOcyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i9ie Ze0e?d@d[d]d~k3l4l/ltmTlIn8p9n'p?p-pCn3nZmqnkn:mal;mCdblcldlJmGk#lumwnId=m?m5melKmLmTm!i#i$i%iPcQcRcScTcUcLlMl1e2e3e4e5e6e7e8e9e!e#e$e%e'e(e)edmemfmgm'i(i)i*i:l;lqfrfsf@f[f]f^f_f`f{f|f}f~fagbgW X Y LfMfNftfufvfugvgZ 0 1 2d3d4d5d6d7d+i,i-i.iflglhliljlkl/i:i;i=i?i@i[i]i2 3 4 p q r LbMbNb^i_illml`i{i|i}i~iajbjcjdjejfjgjnlolddedfdObPbQbsdtdudVcWcXcYcZc0cRbSbTb1c2c3cUbVbWb: ; = XbYbZb4c5c6c7c8c9chjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjf *e+e^d_d`d{dpl5l6l=lvmUlJn9p!n(p@p.pDn4n0mrnln@mql[mDdrlsltlMmHk$lwmxnJd]m^m6mulNmOmUmTjUjVjWj!c#c$c%c'c(cNlOl,e-e.e/e:e;e=e?e@e[e]e^e_e`e{e|ehmimjmkmXjYjZj0j?l@lwfxfyfcgdgegfggghgigjgkglgmgng5 6 7 OfPfQfzfAfBfwgxg8 9 ! 8d9d!d#d$d%d1j2j3j4jvlwlxlylzlAl5j6j7j8j9j!j#j$j# $ % s t u 0b1b2b%j'jBlCl(j)j*j+j,j-j.j/j:j;j=j?jDlElgdhdid3b4b5bvdwdxd)c*c+c,c-c.c6b7b8b/c:c;c9b!b#b? @ [ $b%b'b=c?c@c[c]c^c@j[j]j^j_j`j{j|j}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBk
390 field_info = FieldInfo( 2a |d'd(dIkVlWl%llmPlEn4p5n!p/p)pynZnVmmngn7mJk8mydKkLkMkxmCk7lmmsnEd9m!m1mNkymzmPmygzg(b)bFl}d~daebecedeeefe[l]lAgBg}eRfSfTfUfv Cf~eogw KdLdCgDgOkPkQkEgFgGgHgx g ] IgRkJgKgLgMgNgOgSk_c^ jd*b+b_ ,b` ' { -b.bPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g6g7gb ge)d*dTkXlYl'lnmQlFn5p6n#p:p*pzn0nWmnnhn#mUk$mzdVkWkXkAmDk8lomtnFd%m'm2mYkBmCmQm8g9g/b:b;b=bGlheiejekelemeneoe^l_l!g#g(lafbfVfWfXfYfZf0f1f2fy z DfEfcfdfpgA B MdNdOdPd$g%gZk0k1k'g(g)g*gC D h i | } +g2k,g-g.g/g:g;g3k`c{c~ abkdld?b@b[b]bbbcb^b_bdbeb( ) fbgb`b{b|b}b=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghc peqe+d,d-d.d4kZl0l)lpmRlGn6p7n$p;p+pAn1nXmonin(m5k)mAd6k7k8kDmEk9lqmunGd*m+m3m9kEmFmRmhhihjhkh~bacbcccdcecHlIlreseteuevewexeyezeAeBeCeDeEeFeGe`l{l|l}llhmhnhoh*l+lefffgf3f4f5f6f7f8f9f!f#f$f%f'fE F G FfGfHfhfifjfqgrgH I J QdRdSdTdUdVdphqhrhsh!k#k$k%k'k(kthuhvhwhxhyhzhAhK L M j k l hbibjbBhCh)k*kDhEhFhGhHhIhJhKhLhMhNhOh+k,k|c}c~ckblbmbmdndodfcgchcicjckcnbobpblcmcncqbrbsb* + , tbubvbocpcqcrcsctcPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?hd HeIe/d:d;d=d-k1l2l,lrmSlHn7p8n%p=p,pBn2nYmpnjn,m.k-mBd/k:k;kGmFk!lsmvnHd.m/m4m=kHmImSm@h[h]h^hucvcwcxcyczcJlKlJeKeLeMeNeOePeQeReSeTeUeVeWeXeYe~lambmcm_h`h{h|h-l.lkflfmf(f)f*f+f,f-f.f/f:f;f=f?fN O P IfJfKfnfofpfsgtgQ R S WdXdYdZd0d1d}h~haibi?k@k[k]k^k_kcidieifigihiiijiT U V m n o wbxbybkili`k{kminioipiqirisitiuiviwixi|k}kadbdcdzbAbBbpdqdrdAcBcCcDcEcFcCbDbEbGcHcIcFbGbHb- . / IbJbKbJcKcLcMcNcOcyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i9ie Ze0e?d@d[d]d~k3l4l/ltmTlIn8p9n'p?p-pCn3nZmqnkn:mal;mCdblcldlJmGk#lumwnId=m?m5melKmLmTm!i#i$i%iPcQcRcScTcUcLlMl1e2e3e4e5e6e7e8e9e!e#e$e%e'e(e)edmemfmgm'i(i)i*i:l;lqfrfsf@f[f]f^f_f`f{f|f}f~fagbgW X Y LfMfNftfufvfugvgZ 0 1 2d3d4d5d6d7d+i,i-i.iflglhliljlkl/i:i;i=i?i@i[i]i2 3 4 p q r LbMbNb^i_illml`i{i|i}i~iajbjcjdjejfjgjnlolddedfdObPbQbsdtdudVcWcXcYcZc0cRbSbTb1c2c3cUbVbWb: ; = XbYbZb4c5c6c7c8c9chjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjf *e+e^d_d`d{dpl5l6l=lvmUlJn9p!n(p@p.pDn4n0mrnln@mql[mDdrlsltlMmHk$lwmxnJd]m^m6mulNmOmUmTjUjVjWj!c#c$c%c'c(cNlOl,e-e.e/e:e;e=e?e@e[e]e^e_e`e{e|ehmimjmkmXjYjZj0j?l@lwfxfyfcgdgegfggghgigjgkglgmgng5 6 7 OfPfQfzfAfBfwgxg8 9 ! 8d9d!d#d$d%d1j2j3j4jvlwlxlylzlAl5j6j7j8j9j!j#j$j# $ % s t u 0b1b2b%j'jBlCl(j)j*j+j,j-j.j/j:j;j=j?jDlElgdhdid3b4b5bvdwdxd)c*c+c,c-c.c6b7b8b/c:c;c9b!b#b? @ [ $b%b'b=c?c@c[c]c^c@j[j]j^j_j`j{j|j}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBk
391 default,
392 default_factory=default_factory,
393 alias=alias,
394 title=title,
395 description=description,
396 exclude=exclude,
397 include=include,
398 const=const,
399 gt=gt,
400 ge=ge,
401 lt=lt,
402 le=le,
403 multiple_of=multiple_of,
404 max_digits=max_digits,
405 decimal_places=decimal_places,
406 min_items=min_items,
407 max_items=max_items,
408 unique_items=unique_items,
409 min_length=min_length,
410 max_length=max_length,
411 allow_mutation=allow_mutation,
412 regex=regex,
413 discriminator=discriminator,
414 repr=repr,
415 primary_key=primary_key,
416 foreign_key=foreign_key,
417 ondelete=ondelete,
418 unique=unique,
419 nullable=nullable,
420 index=index,
421 sa_type=sa_type,
422 sa_column=sa_column,
423 sa_column_args=sa_column_args,
424 sa_column_kwargs=sa_column_kwargs,
425 **current_schema_extra,
426 )
427 post_init_field_info(field_info) 2a |d'd(dIkVlWl%llmPlVmmngn7mJk8mydKkLkMkxmCk7lmmsnEd9m!m1mNkymzmPmygzg(b)bFl}d~daebecedeeefe[l]lAgBg}eRfSfTfUfv Cf~eogw KdLdCgDgOkPkQkEgFgGgHgx g ] IgRkJgKgLgMgNgOgSk_c^ jd*b+b_ ,b` ' { -b.bPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g6g7gb ge)d*dTkXlYl'lnmQlWmnnhn#mUk$mzdVkWkXkAmDk8lomtnFd%m'm2mYkBmCmQm8g9g/b:b;b=bGlheiejekelemeneoe^l_l!g#g(lafbfVfWfXfYfZf0f1f2fy z DfEfcfdfpgA B MdNdOdPd$g%gZk0k1k'g(g)g*gC D h i | } +g2k,g-g.g/g:g;g3k`c{c~ abkdld?b@b[b]bbbcb^b_bdbeb( ) fbgb`b{b|b}b=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghc peqe+d,d-d.d4kZl0l)lpmRlXmonin(m5k)mAd6k7k8kDmEk9lqmunGd*m+m3m9kEmFmRmhhihjhkh~bacbcccdcecHlIlreseteuevewexeyezeAeBeCeDeEeFeGe`l{l|l}llhmhnhoh*l+lefffgf3f4f5f6f7f8f9f!f#f$f%f'fE F G FfGfHfhfifjfqgrgH I J QdRdSdTdUdVdphqhrhsh!k#k$k%k'k(kthuhvhwhxhyhzhAhK L M j k l hbibjbBhCh)k*kDhEhFhGhHhIhJhKhLhMhNhOh+k,k|c}c~ckblbmbmdndodfcgchcicjckcnbobpblcmcncqbrbsb* + , tbubvbocpcqcrcsctcPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?hd HeIe/d:d;d=d-k1l2l,lrmSlYmpnjn,m.k-mBd/k:k;kGmFk!lsmvnHd.m/m4m=kHmImSm@h[h]h^hucvcwcxcyczcJlKlJeKeLeMeNeOePeQeReSeTeUeVeWeXeYe~lambmcm_h`h{h|h-l.lkflfmf(f)f*f+f,f-f.f/f:f;f=f?fN O P IfJfKfnfofpfsgtgQ R S WdXdYdZd0d1d}h~haibi?k@k[k]k^k_kcidieifigihiiijiT U V m n o wbxbybkili`k{kminioipiqirisitiuiviwixi|k}kadbdcdzbAbBbpdqdrdAcBcCcDcEcFcCbDbEbGcHcIcFbGbHb- . / IbJbKbJcKcLcMcNcOcyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i9ie Ze0e?d@d[d]d~k3l4l/ltmTlZmqnkn:mal;mCdblcldlJmGk#lumwnId=m?m5melKmLmTm!i#i$i%iPcQcRcScTcUcLlMl1e2e3e4e5e6e7e8e9e!e#e$e%e'e(e)edmemfmgm'i(i)i*i:l;lqfrfsf@f[f]f^f_f`f{f|f}f~fagbgW X Y LfMfNftfufvfugvgZ 0 1 2d3d4d5d6d7d+i,i-i.iflglhliljlkl/i:i;i=i?i@i[i]i2 3 4 p q r LbMbNb^i_illml`i{i|i}i~iajbjcjdjejfjgjnlolddedfdObPbQbsdtdudVcWcXcYcZc0cRbSbTb1c2c3cUbVbWb: ; = XbYbZb4c5c6c7c8c9chjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjf *e+e^d_d`d{dpl5l6l=lvmUl0mrnln@mql[mDdrlsltlMmHk$lwmxnJd]m^m6mulNmOmUmTjUjVjWj!c#c$c%c'c(cNlOl,e-e.e/e:e;e=e?e@e[e]e^e_e`e{e|ehmimjmkmXjYjZj0j?l@lwfxfyfcgdgegfggghgigjgkglgmgng5 6 7 OfPfQfzfAfBfwgxg8 9 ! 8d9d!d#d$d%d1j2j3j4jvlwlxlylzlAl5j6j7j8j9j!j#j$j# $ % s t u 0b1b2b%j'jBlCl(j)j*j+j,j-j.j/j:j;j=j?jDlElgdhdid3b4b5bvdwdxd)c*c+c,c-c.c6b7b8b/c:c;c9b!b#b? @ [ $b%b'b=c?c@c[c]c^c@j[j]j^j_j`j{j|j}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBk
428 return field_info 2a |d'd(dIkVlWl%llmPlVmmngn7mJk8mydKkLkMkxmCk7lmmsnEd9m!m1mNkymzmPmygzg(b)bFl}d~daebecedeeefe[l]lAgBg}eRfSfTfUfv Cf~eogw KdLdCgDgOkPkQkEgFgGgHgx g ] IgRkJgKgLgMgNgOgSk_c^ jd*b+b_ ,b` ' { -b.bPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g6g7gb ge)d*dTkXlYl'lnmQlWmnnhn#mUk$mzdVkWkXkAmDk8lomtnFd%m'm2mYkBmCmQm8g9g/b:b;b=bGlheiejekelemeneoe^l_l!g#g(lafbfVfWfXfYfZf0f1f2fy z DfEfcfdfpgA B MdNdOdPd$g%gZk0k1k'g(g)g*gC D h i | } +g2k,g-g.g/g:g;g3k`c{c~ abkdld?b@b[b]bbbcb^b_bdbeb( ) fbgb`b{b|b}b=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghc peqe+d,d-d.d4kZl0l)lpmRlXmonin(m5k)mAd6k7k8kDmEk9lqmunGd*m+m3m9kEmFmRmhhihjhkh~bacbcccdcecHlIlreseteuevewexeyezeAeBeCeDeEeFeGe`l{l|l}llhmhnhoh*l+lefffgf3f4f5f6f7f8f9f!f#f$f%f'fE F G FfGfHfhfifjfqgrgH I J QdRdSdTdUdVdphqhrhsh!k#k$k%k'k(kthuhvhwhxhyhzhAhK L M j k l hbibjbBhCh)k*kDhEhFhGhHhIhJhKhLhMhNhOh+k,k|c}c~ckblbmbmdndodfcgchcicjckcnbobpblcmcncqbrbsb* + , tbubvbocpcqcrcsctcPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?hd HeIe/d:d;d=d-k1l2l,lrmSlYmpnjn,m.k-mBd/k:k;kGmFk!lsmvnHd.m/m4m=kHmImSm@h[h]h^hucvcwcxcyczcJlKlJeKeLeMeNeOePeQeReSeTeUeVeWeXeYe~lambmcm_h`h{h|h-l.lkflfmf(f)f*f+f,f-f.f/f:f;f=f?fN O P IfJfKfnfofpfsgtgQ R S WdXdYdZd0d1d}h~haibi?k@k[k]k^k_kcidieifigihiiijiT U V m n o wbxbybkili`k{kminioipiqirisitiuiviwixi|k}kadbdcdzbAbBbpdqdrdAcBcCcDcEcFcCbDbEbGcHcIcFbGbHb- . / IbJbKbJcKcLcMcNcOcyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i9ie Ze0e?d@d[d]d~k3l4l/ltmTlZmqnkn:mal;mCdblcldlJmGk#lumwnId=m?m5melKmLmTm!i#i$i%iPcQcRcScTcUcLlMl1e2e3e4e5e6e7e8e9e!e#e$e%e'e(e)edmemfmgm'i(i)i*i:l;lqfrfsf@f[f]f^f_f`f{f|f}f~fagbgW X Y LfMfNftfufvfugvgZ 0 1 2d3d4d5d6d7d+i,i-i.iflglhliljlkl/i:i;i=i?i@i[i]i2 3 4 p q r LbMbNb^i_illml`i{i|i}i~iajbjcjdjejfjgjnlolddedfdObPbQbsdtdudVcWcXcYcZc0cRbSbTb1c2c3cUbVbWb: ; = XbYbZb4c5c6c7c8c9chjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjf *e+e^d_d`d{dpl5l6l=lvmUl0mrnln@mql[mDdrlsltlMmHk$lwmxnJd]m^m6mulNmOmUmTjUjVjWj!c#c$c%c'c(cNlOl,e-e.e/e:e;e=e?e@e[e]e^e_e`e{e|ehmimjmkmXjYjZj0j?l@lwfxfyfcgdgegfggghgigjgkglgmgng5 6 7 OfPfQfzfAfBfwgxg8 9 ! 8d9d!d#d$d%d1j2j3j4jvlwlxlylzlAl5j6j7j8j9j!j#j$j# $ % s t u 0b1b2b%j'jBlCl(j)j*j+j,j-j.j/j:j;j=j?jDlElgdhdid3b4b5bvdwdxd)c*c+c,c-c.c6b7b8b/c:c;c9b!b#b? @ [ $b%b'b=c?c@c[c]c^c@j[j]j^j_j`j{j|j}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBk
431@overload 1abcdef
432def Relationship( 1abcdef
433 *,
434 back_populates: Optional[str] = None, 1abcdef
435 cascade_delete: Optional[bool] = False, 1abcdef
436 passive_deletes: Optional[Union[bool, Literal["all"]]] = False, 1abcdef
437 link_model: Optional[Any] = None, 1abcdef
438 sa_relationship_args: Optional[Sequence[Any]] = None, 1abcdef
439 sa_relationship_kwargs: Optional[Mapping[str, Any]] = None, 1abcdef
440) -> Any: ... 1abcdef
443@overload 1abcdef
444def Relationship( 1abcdef
445 *,
446 back_populates: Optional[str] = None, 1abcdef
447 cascade_delete: Optional[bool] = False, 1abcdef
448 passive_deletes: Optional[Union[bool, Literal["all"]]] = False, 1abcdef
449 link_model: Optional[Any] = None, 1abcdef
450 sa_relationship: Optional[RelationshipProperty[Any]] = None, 1abcdef
451) -> Any: ... 1abcdef
454def Relationship( 1abcdef
455 *,
456 back_populates: Optional[str] = None,
457 cascade_delete: Optional[bool] = False,
458 passive_deletes: Optional[Union[bool, Literal["all"]]] = False,
459 link_model: Optional[Any] = None,
460 sa_relationship: Optional[RelationshipProperty[Any]] = None,
461 sa_relationship_args: Optional[Sequence[Any]] = None,
462 sa_relationship_kwargs: Optional[Mapping[str, Any]] = None,
463) -> Any:
464 relationship_info = RelationshipInfo( 2mngnydEd(b)bv w x g ] _c^ jd*b+b_ ,b` ' { -b.bnnhnzdFd/b:b;b=by z A B C D h i | } `c{c~ abkdld?b@b[b]bbbcb^b_bdbeb( ) fbgb`b{b|b}boninAdGd~bacbcccdcecE F G H I J K L M j k l hbibjb|c}c~ckblbmbmdndodfcgchcicjckcnbobpblcmcncqbrbsb* + , tbubvbocpcqcrcsctcpnjnBdHducvcwcxcyczcN O P Q R S T U V m n o wbxbybadbdcdzbAbBbpdqdrdAcBcCcDcEcFcCbDbEbGcHcIcFbGbHb- . / IbJbKbJcKcLcMcNcOcqnknCdIdPcQcRcScTcUcW X Y Z 0 1 2 3 4 p q r LbMbNbddedfdObPbQbsdtdudVcWcXcYcZc0cRbSbTb1c2c3cUbVbWb: ; = XbYbZb4c5c6c7c8c9crnlnDdJd!c#c$c%c'c(c5 6 7 8 9 ! # $ % s t u 0b1b2bgdhdid3b4b5bvdwdxd)c*c+c,c-c.c6b7b8b/c:c;c9b!b#b? @ [ $b%b'b=c?c@c[c]c^c
465 back_populates=back_populates,
466 cascade_delete=cascade_delete,
467 passive_deletes=passive_deletes,
468 link_model=link_model,
469 sa_relationship=sa_relationship,
470 sa_relationship_args=sa_relationship_args,
471 sa_relationship_kwargs=sa_relationship_kwargs,
472 )
473 return relationship_info 2ydEd(b)bv w x g ] _c^ jd*b+b_ ,b` ' { -b.bzdFd/b:b;b=by z A B C D h i | } `c{c~ abkdld?b@b[b]bbbcb^b_bdbeb( ) fbgb`b{b|b}bAdGd~bacbcccdcecE F G H I J K L M j k l hbibjb|c}c~ckblbmbmdndodfcgchcicjckcnbobpblcmcncqbrbsb* + , tbubvbocpcqcrcsctcBdHducvcwcxcyczcN O P Q R S T U V m n o wbxbybadbdcdzbAbBbpdqdrdAcBcCcDcEcFcCbDbEbGcHcIcFbGbHb- . / IbJbKbJcKcLcMcNcOcCdIdPcQcRcScTcUcW X Y Z 0 1 2 3 4 p q r LbMbNbddedfdObPbQbsdtdudVcWcXcYcZc0cRbSbTb1c2c3cUbVbWb: ; = XbYbZb4c5c6c7c8c9cDdJd!c#c$c%c'c(c5 6 7 8 9 ! # $ % s t u 0b1b2bgdhdid3b4b5bvdwdxd)c*c+c,c-c.c6b7b8b/c:c;c9b!b#b? @ [ $b%b'b=c?c@c[c]c^c
476@__dataclass_transform__(kw_only_default=True, field_descriptors=(Field, FieldInfo)) 1abcdef
477class SQLModelMetaclass(ModelMetaclass, DeclarativeMeta): 1abcdef
478 __sqlmodel_relationships__: Dict[str, RelationshipInfo] 1abcdef
479 model_config: SQLModelConfig 1abcdef
480 model_fields: Dict[str, FieldInfo] # type: ignore[assignment] 1abcdef
481 __config__: Type[SQLModelConfig] 1abcdef
482 __fields__: Dict[str, ModelField] # type: ignore[assignment] 1abcdef
484 # Replicate SQLAlchemy
485 def __setattr__(cls, name: str, value: Any) -> None: 1abcdef
486 if is_table_model_class(cls): 2a |d'd(dIkVlWl%llmPlVm7mJk8mydKkLkMkxmCk7lmmEd9m!m1mNkymzmPmygzg(b)bFl}d~daebecedeeefe[l]lAgBg}eRfSfTfUfv Cf~eogw KdLdCgDgOkPkQkEgFgGgHgx g ] IgRkJgKgLgMgNgOgSk_c^ jd*b+b_ ,b` ' { -b.bPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g6g7gan_mb ge)d*dTkXlYl'lnmQlWm#mUk$mzdVkWkXkAmDk8lomFd%m'm2mYkBmCmQm8g9g/b:b;b=bGlheiejekelemeneoe^l_l!g#g(lafbfVfWfXfYfZf0f1f2fy z DfEfcfdfpgA B MdNdOdPd$g%gZk0k1k'g(g)g*gC D h i | } +g2k,g-g.g/g:g;g3k`c{c~ abkdld?b@b[b]bbbcb^b_bdbeb( ) fbgb`b{b|b}b=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghbn`mc peqe+d,d-d.d4kZl0l)lpmRlXm(m5k)mAd6k7k8kDmEk9lqmGd*m+m3m9kEmFmRmhhihjhkh~bacbcccdcecHlIlreseteuevewexeyezeAeBeCeDeEeFeGe`l{l|l}llhmhnhoh*l+lefffgf3f4f5f6f7f8f9f!f#f$f%f'fE F G FfGfHfhfifjfqgrgH I J QdRdSdTdUdVdphqhrhsh!k#k$k%k'k(kthuhvhwhxhyhzhAhK L M j k l hbibjbBhCh)k*kDhEhFhGhHhIhJhKhLhMhNhOh+k,k|c}c~ckblbmbmdndodfcgchcicjckcnbobpblcmcncqbrbsb* + , tbubvbocpcqcrcsctcPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?hcn{md HeIe/d:d;d=d-k1l2l,lrmSlYm,m.k-mBd/k:k;kGmFk!lsmHd.m/m4m=kHmImSm@h[h]h^hucvcwcxcyczcJlKlJeKeLeMeNeOePeQeReSeTeUeVeWeXeYe~lambmcm_h`h{h|h-l.lkflfmf(f)f*f+f,f-f.f/f:f;f=f?fN O P IfJfKfnfofpfsgtgQ R S WdXdYdZd0d1d}h~haibi?k@k[k]k^k_kcidieifigihiiijiT U V m n o wbxbybkili`k{kminioipiqirisitiuiviwixi|k}kadbdcdzbAbBbpdqdrdAcBcCcDcEcFcCbDbEbGcHcIcFbGbHb- . / IbJbKbJcKcLcMcNcOcyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i9idn|me Ze0e?d@d[d]d~k3l4l/ltmTlZm:mal;mCdblcldlJmGk#lumId=m?m5melKmLmTm!i#i$i%iPcQcRcScTcUcLlMl1e2e3e4e5e6e7e8e9e!e#e$e%e'e(e)edmemfmgm'i(i)i*i:l;lqfrfsf@f[f]f^f_f`f{f|f}f~fagbgW X Y LfMfNftfufvfugvgZ 0 1 2d3d4d5d6d7d+i,i-i.iflglhliljlkl/i:i;i=i?i@i[i]i2 3 4 p q r LbMbNb^i_illml`i{i|i}i~iajbjcjdjejfjgjnlolddedfdObPbQbsdtdudVcWcXcYcZc0cRbSbTb1c2c3cUbVbWb: ; = XbYbZb4c5c6c7c8c9chjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjen}mf *e+e^d_d`d{dpl5l6l=lvmUl0m@mql[mDdrlsltlMmHk$lwmJd]m^m6mulNmOmUmTjUjVjWj!c#c$c%c'c(cNlOl,e-e.e/e:e;e=e?e@e[e]e^e_e`e{e|ehmimjmkmXjYjZj0j?l@lwfxfyfcgdgegfggghgigjgkglgmgng5 6 7 OfPfQfzfAfBfwgxg8 9 ! 8d9d!d#d$d%d1j2j3j4jvlwlxlylzlAl5j6j7j8j9j!j#j$j# $ % s t u 0b1b2b%j'jBlCl(j)j*j+j,j-j.j/j:j;j=j?jDlElgdhdid3b4b5bvdwdxd)c*c+c,c-c.c6b7b8b/c:c;c9b!b#b? @ [ $b%b'b=c?c@c[c]c^c@j[j]j^j_j`j{j|j}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkfn~m
487 DeclarativeMeta.__setattr__(cls, name, value) 2a |d'd(dIkVlWl%llmPlVmJkydKkLkMkxmCk7lmmEdNkymzmPmygzg(b)bFl}d~daebecedeeefe[l]lAgBg}eRfSfTfUfv Cf~eogw KdLdCgDgOkPkQkEgFgGgHgx g ] IgRkJgKgLgMgNgOgSk_c^ jd*b+b_ ,b` ' { -b.bPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g6g7gb ge)d*dTkXlYl'lnmQlWmUkzdVkWkXkAmDk8lomFdYkBmCmQm8g9g/b:b;b=bGlheiejekelemeneoe^l_l!g#g(lafbfVfWfXfYfZf0f1f2fy z DfEfcfdfpgA B MdNdOdPd$g%gZk0k1k'g(g)g*gC D h i | } +g2k,g-g.g/g:g;g3k`c{c~ abkdld?b@b[b]bbbcb^b_bdbeb( ) fbgb`b{b|b}b=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghc peqe+d,d-d.d4kZl0l)lpmRlXm5kAd6k7k8kDmEk9lqmGd9kEmFmRmhhihjhkh~bacbcccdcecHlIlreseteuevewexeyezeAeBeCeDeEeFeGe`l{l|l}llhmhnhoh*l+lefffgf3f4f5f6f7f8f9f!f#f$f%f'fE F G FfGfHfhfifjfqgrgH I J QdRdSdTdUdVdphqhrhsh!k#k$k%k'k(kthuhvhwhxhyhzhAhK L M j k l hbibjbBhCh)k*kDhEhFhGhHhIhJhKhLhMhNhOh+k,k|c}c~ckblbmbmdndodfcgchcicjckcnbobpblcmcncqbrbsb* + , tbubvbocpcqcrcsctcPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?hd HeIe/d:d;d=d-k1l2l,lrmSlYm.kBd/k:k;kGmFk!lsmHd=kHmImSm@h[h]h^hucvcwcxcyczcJlKlJeKeLeMeNeOePeQeReSeTeUeVeWeXeYe~lambmcm_h`h{h|h-l.lkflfmf(f)f*f+f,f-f.f/f:f;f=f?fN O P IfJfKfnfofpfsgtgQ R S WdXdYdZd0d1d}h~haibi?k@k[k]k^k_kcidieifigihiiijiT U V m n o wbxbybkili`k{kminioipiqirisitiuiviwixi|k}kadbdcdzbAbBbpdqdrdAcBcCcDcEcFcCbDbEbGcHcIcFbGbHb- . / IbJbKbJcKcLcMcNcOcyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i9ie Ze0e?d@d[d]d~k3l4l/ltmTlZmalCdblcldlJmGk#lumIdelKmLmTm!i#i$i%iPcQcRcScTcUcLlMl1e2e3e4e5e6e7e8e9e!e#e$e%e'e(e)edmemfmgm'i(i)i*i:l;lqfrfsf@f[f]f^f_f`f{f|f}f~fagbgW X Y LfMfNftfufvfugvgZ 0 1 2d3d4d5d6d7d+i,i-i.iflglhliljlkl/i:i;i=i?i@i[i]i2 3 4 p q r LbMbNb^i_illml`i{i|i}i~iajbjcjdjejfjgjnlolddedfdObPbQbsdtdudVcWcXcYcZc0cRbSbTb1c2c3cUbVbWb: ; = XbYbZb4c5c6c7c8c9chjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjf *e+e^d_d`d{dpl5l6l=lvmUl0mqlDdrlsltlMmHk$lwmJdulNmOmUmTjUjVjWj!c#c$c%c'c(cNlOl,e-e.e/e:e;e=e?e@e[e]e^e_e`e{e|ehmimjmkmXjYjZj0j?l@lwfxfyfcgdgegfggghgigjgkglgmgng5 6 7 OfPfQfzfAfBfwgxg8 9 ! 8d9d!d#d$d%d1j2j3j4jvlwlxlylzlAl5j6j7j8j9j!j#j$j# $ % s t u 0b1b2b%j'jBlCl(j)j*j+j,j-j.j/j:j;j=j?jDlElgdhdid3b4b5bvdwdxd)c*c+c,c-c.c6b7b8b/c:c;c9b!b#b? @ [ $b%b'b=c?c@c[c]c^c@j[j]j^j_j`j{j|j}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBk
488 else:
489 super().__setattr__(name, value) 2a |d'd(dIkVlWl%llmPlVm7mJk8mydKkLkMkxmCk7lmmEd9m!m1mNkymzmPmygzg(b)bFl}d~daebecedeeefe[l]lAgBg}eRfSfTfUfv Cf~eogw KdLdCgDgOkPkQkEgFgGgHgx g ] IgRkJgKgLgMgNgOgSk_c^ jd*b+b_ ,b` ' { -b.bPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g6g7gan_mb ge)d*dTkXlYl'lnmQlWm#mUk$mzdVkWkXkAmDk8lomFd%m'm2mYkBmCmQm8g9g/b:b;b=bGlheiejekelemeneoe^l_l!g#g(lafbfVfWfXfYfZf0f1f2fy z DfEfcfdfpgA B MdNdOdPd$g%gZk0k1k'g(g)g*gC D h i | } +g2k,g-g.g/g:g;g3k`c{c~ abkdld?b@b[b]bbbcb^b_bdbeb( ) fbgb`b{b|b}b=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghbn`mc peqe+d,d-d.d4kZl0l)lpmRlXm(m5k)mAd6k7k8kDmEk9lqmGd*m+m3m9kEmFmRmhhihjhkh~bacbcccdcecHlIlreseteuevewexeyezeAeBeCeDeEeFeGe`l{l|l}llhmhnhoh*l+lefffgf3f4f5f6f7f8f9f!f#f$f%f'fE F G FfGfHfhfifjfqgrgH I J QdRdSdTdUdVdphqhrhsh!k#k$k%k'k(kthuhvhwhxhyhzhAhK L M j k l hbibjbBhCh)k*kDhEhFhGhHhIhJhKhLhMhNhOh+k,k|c}c~ckblbmbmdndodfcgchcicjckcnbobpblcmcncqbrbsb* + , tbubvbocpcqcrcsctcPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?hcn{md HeIe/d:d;d=d-k1l2l,lrmSlYm,m.k-mBd/k:k;kGmFk!lsmHd.m/m4m=kHmImSm@h[h]h^hucvcwcxcyczcJlKlJeKeLeMeNeOePeQeReSeTeUeVeWeXeYe~lambmcm_h`h{h|h-l.lkflfmf(f)f*f+f,f-f.f/f:f;f=f?fN O P IfJfKfnfofpfsgtgQ R S WdXdYdZd0d1d}h~haibi?k@k[k]k^k_kcidieifigihiiijiT U V m n o wbxbybkili`k{kminioipiqirisitiuiviwixi|k}kadbdcdzbAbBbpdqdrdAcBcCcDcEcFcCbDbEbGcHcIcFbGbHb- . / IbJbKbJcKcLcMcNcOcyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i9idn|me Ze0e?d@d[d]d~k3l4l/ltmTlZm:mal;mCdblcldlJmGk#lumId=m?m5melKmLmTm!i#i$i%iPcQcRcScTcUcLlMl1e2e3e4e5e6e7e8e9e!e#e$e%e'e(e)edmemfmgm'i(i)i*i:l;lqfrfsf@f[f]f^f_f`f{f|f}f~fagbgW X Y LfMfNftfufvfugvgZ 0 1 2d3d4d5d6d7d+i,i-i.iflglhliljlkl/i:i;i=i?i@i[i]i2 3 4 p q r LbMbNb^i_illml`i{i|i}i~iajbjcjdjejfjgjnlolddedfdObPbQbsdtdudVcWcXcYcZc0cRbSbTb1c2c3cUbVbWb: ; = XbYbZb4c5c6c7c8c9chjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjen}mf *e+e^d_d`d{dpl5l6l=lvmUl0m@mql[mDdrlsltlMmHk$lwmJd]m^m6mulNmOmUmTjUjVjWj!c#c$c%c'c(cNlOl,e-e.e/e:e;e=e?e@e[e]e^e_e`e{e|ehmimjmkmXjYjZj0j?l@lwfxfyfcgdgegfggghgigjgkglgmgng5 6 7 OfPfQfzfAfBfwgxg8 9 ! 8d9d!d#d$d%d1j2j3j4jvlwlxlylzlAl5j6j7j8j9j!j#j$j# $ % s t u 0b1b2b%j'jBlCl(j)j*j+j,j-j.j/j:j;j=j?jDlElgdhdid3b4b5bvdwdxd)c*c+c,c-c.c6b7b8b/c:c;c9b!b#b? @ [ $b%b'b=c?c@c[c]c^c@j[j]j^j_j`j{j|j}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkfn~m
491 def __delattr__(cls, name: str) -> None: 1abcdef
492 if is_table_model_class(cls): 2a |d'd(dIkVlWl%llmPlVm7mJk8mydKkLkMkxmCk7lmmEd9m!m1mNkymzmPmygzg(b)bFl}d~daebecedeeefe[l]lAgBg}eRfSfTfUfv Cf~eogw KdLdCgDgOkPkQkEgFgGgHgx g ] IgRkJgKgLgMgNgOgSk_c^ jd*b+b_ ,b` ' { -b.bPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g6g7g_mb ge)d*dTkXlYl'lnmQlWm#mUk$mzdVkWkXkAmDk8lomFd%m'm2mYkBmCmQm8g9g/b:b;b=bGlheiejekelemeneoe^l_l!g#g(lafbfVfWfXfYfZf0f1f2fy z DfEfcfdfpgA B MdNdOdPd$g%gZk0k1k'g(g)g*gC D h i | } +g2k,g-g.g/g:g;g3k`c{c~ abkdld?b@b[b]bbbcb^b_bdbeb( ) fbgb`b{b|b}b=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhgh`mc peqe+d,d-d.d4kZl0l)lpmRlXm(m5k)mAd6k7k8kDmEk9lqmGd*m+m3m9kEmFmRmhhihjhkh~bacbcccdcecHlIlreseteuevewexeyezeAeBeCeDeEeFeGe`l{l|l}llhmhnhoh*l+lefffgf3f4f5f6f7f8f9f!f#f$f%f'fE F G FfGfHfhfifjfqgrgH I J QdRdSdTdUdVdphqhrhsh!k#k$k%k'k(kthuhvhwhxhyhzhAhK L M j k l hbibjbBhCh)k*kDhEhFhGhHhIhJhKhLhMhNhOh+k,k|c}c~ckblbmbmdndodfcgchcicjckcnbobpblcmcncqbrbsb* + , tbubvbocpcqcrcsctcPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?h{md HeIe/d:d;d=d-k1l2l,lrmSlYm,m.k-mBd/k:k;kGmFk!lsmHd.m/m4m=kHmImSm@h[h]h^hucvcwcxcyczcJlKlJeKeLeMeNeOePeQeReSeTeUeVeWeXeYe~lambmcm_h`h{h|h-l.lkflfmf(f)f*f+f,f-f.f/f:f;f=f?fN O P IfJfKfnfofpfsgtgQ R S WdXdYdZd0d1d}h~haibi?k@k[k]k^k_kcidieifigihiiijiT U V m n o wbxbybkili`k{kminioipiqirisitiuiviwixi|k}kadbdcdzbAbBbpdqdrdAcBcCcDcEcFcCbDbEbGcHcIcFbGbHb- . / IbJbKbJcKcLcMcNcOcyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i9i|me Ze0e?d@d[d]d~k3l4l/ltmTlZm:mal;mCdblcldlJmGk#lumId=m?m5melKmLmTm!i#i$i%iPcQcRcScTcUcLlMl1e2e3e4e5e6e7e8e9e!e#e$e%e'e(e)edmemfmgm'i(i)i*i:l;lqfrfsf@f[f]f^f_f`f{f|f}f~fagbgW X Y LfMfNftfufvfugvgZ 0 1 2d3d4d5d6d7d+i,i-i.iflglhliljlkl/i:i;i=i?i@i[i]i2 3 4 p q r LbMbNb^i_illml`i{i|i}i~iajbjcjdjejfjgjnlolddedfdObPbQbsdtdudVcWcXcYcZc0cRbSbTb1c2c3cUbVbWb: ; = XbYbZb4c5c6c7c8c9chjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSj}mf *e+e^d_d`d{dpl5l6l=lvmUl0m@mql[mDdrlsltlMmHk$lwmJd]m^m6mulNmOmUmTjUjVjWj!c#c$c%c'c(cNlOl,e-e.e/e:e;e=e?e@e[e]e^e_e`e{e|ehmimjmkmXjYjZj0j?l@lwfxfyfcgdgegfggghgigjgkglgmgng5 6 7 OfPfQfzfAfBfwgxg8 9 ! 8d9d!d#d$d%d1j2j3j4jvlwlxlylzlAl5j6j7j8j9j!j#j$j# $ % s t u 0b1b2b%j'jBlCl(j)j*j+j,j-j.j/j:j;j=j?jDlElgdhdid3b4b5bvdwdxd)c*c+c,c-c.c6b7b8b/c:c;c9b!b#b? @ [ $b%b'b=c?c@c[c]c^c@j[j]j^j_j`j{j|j}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBk~m
493 DeclarativeMeta.__delattr__(cls, name) 1abcdef
494 else:
495 super().__delattr__(name) 2a |d'd(dIkVlWl%llmPlVm7mJk8mydKkLkMkxmCk7lmmEd9m!m1mNkymzmPmygzg(b)bFl}d~daebecedeeefe[l]lAgBg}eRfSfTfUfv Cf~eogw KdLdCgDgOkPkQkEgFgGgHgx g ] IgRkJgKgLgMgNgOgSk_c^ jd*b+b_ ,b` ' { -b.bPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g6g7g_mb ge)d*dTkXlYl'lnmQlWm#mUk$mzdVkWkXkAmDk8lomFd%m'm2mYkBmCmQm8g9g/b:b;b=bGlheiejekelemeneoe^l_l!g#g(lafbfVfWfXfYfZf0f1f2fy z DfEfcfdfpgA B MdNdOdPd$g%gZk0k1k'g(g)g*gC D h i | } +g2k,g-g.g/g:g;g3k`c{c~ abkdld?b@b[b]bbbcb^b_bdbeb( ) fbgb`b{b|b}b=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhgh`mc peqe+d,d-d.d4kZl0l)lpmRlXm(m5k)mAd6k7k8kDmEk9lqmGd*m+m3m9kEmFmRmhhihjhkh~bacbcccdcecHlIlreseteuevewexeyezeAeBeCeDeEeFeGe`l{l|l}llhmhnhoh*l+lefffgf3f4f5f6f7f8f9f!f#f$f%f'fE F G FfGfHfhfifjfqgrgH I J QdRdSdTdUdVdphqhrhsh!k#k$k%k'k(kthuhvhwhxhyhzhAhK L M j k l hbibjbBhCh)k*kDhEhFhGhHhIhJhKhLhMhNhOh+k,k|c}c~ckblbmbmdndodfcgchcicjckcnbobpblcmcncqbrbsb* + , tbubvbocpcqcrcsctcPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?h{md HeIe/d:d;d=d-k1l2l,lrmSlYm,m.k-mBd/k:k;kGmFk!lsmHd.m/m4m=kHmImSm@h[h]h^hucvcwcxcyczcJlKlJeKeLeMeNeOePeQeReSeTeUeVeWeXeYe~lambmcm_h`h{h|h-l.lkflfmf(f)f*f+f,f-f.f/f:f;f=f?fN O P IfJfKfnfofpfsgtgQ R S WdXdYdZd0d1d}h~haibi?k@k[k]k^k_kcidieifigihiiijiT U V m n o wbxbybkili`k{kminioipiqirisitiuiviwixi|k}kadbdcdzbAbBbpdqdrdAcBcCcDcEcFcCbDbEbGcHcIcFbGbHb- . / IbJbKbJcKcLcMcNcOcyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i9i|me Ze0e?d@d[d]d~k3l4l/ltmTlZm:mal;mCdblcldlJmGk#lumId=m?m5melKmLmTm!i#i$i%iPcQcRcScTcUcLlMl1e2e3e4e5e6e7e8e9e!e#e$e%e'e(e)edmemfmgm'i(i)i*i:l;lqfrfsf@f[f]f^f_f`f{f|f}f~fagbgW X Y LfMfNftfufvfugvgZ 0 1 2d3d4d5d6d7d+i,i-i.iflglhliljlkl/i:i;i=i?i@i[i]i2 3 4 p q r LbMbNb^i_illml`i{i|i}i~iajbjcjdjejfjgjnlolddedfdObPbQbsdtdudVcWcXcYcZc0cRbSbTb1c2c3cUbVbWb: ; = XbYbZb4c5c6c7c8c9chjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSj}mf *e+e^d_d`d{dpl5l6l=lvmUl0m@mql[mDdrlsltlMmHk$lwmJd]m^m6mulNmOmUmTjUjVjWj!c#c$c%c'c(cNlOl,e-e.e/e:e;e=e?e@e[e]e^e_e`e{e|ehmimjmkmXjYjZj0j?l@lwfxfyfcgdgegfggghgigjgkglgmgng5 6 7 OfPfQfzfAfBfwgxg8 9 ! 8d9d!d#d$d%d1j2j3j4jvlwlxlylzlAl5j6j7j8j9j!j#j$j# $ % s t u 0b1b2b%j'jBlCl(j)j*j+j,j-j.j/j:j;j=j?jDlElgdhdid3b4b5bvdwdxd)c*c+c,c-c.c6b7b8b/c:c;c9b!b#b? @ [ $b%b'b=c?c@c[c]c^c@j[j]j^j_j`j{j|j}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBk~m
497 # From Pydantic
498 def __new__( 1abcdef
499 cls,
500 name: str,
501 bases: Tuple[Type[Any], ...],
502 class_dict: Dict[str, Any],
503 **kwargs: Any,
504 ) -> Any:
505 relationships: Dict[str, RelationshipInfo] = {} 2a |d'd(dIkVlWl%llmPlVm7mJk8mydKkLkMkxmCk7lmmEd9m!m1mNkymzmPmygzg(b)bFl}d~daebecedeeefe[l]lAgBg}eRfSfTfUfv Cf~eogw KdLdCgDgOkPkQkEgFgGgHgx g ] IgRkJgKgLgMgNgOgSk_c^ jd*b+b_ ,b` ' { -b.bPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g6g7gan_mb ge)d*dTkXlYl'lnmQlWm#mUk$mzdVkWkXkAmDk8lomFd%m'm2mYkBmCmQm8g9g/b:b;b=bGlheiejekelemeneoe^l_l!g#g(lafbfVfWfXfYfZf0f1f2fy z DfEfcfdfpgA B MdNdOdPd$g%gZk0k1k'g(g)g*gC D h i | } +g2k,g-g.g/g:g;g3k`c{c~ abkdld?b@b[b]bbbcb^b_bdbeb( ) fbgb`b{b|b}b=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghbn`mc peqe+d,d-d.d4kZl0l)lpmRlXm(m5k)mAd6k7k8kDmEk9lqmGd*m+m3m9kEmFmRmhhihjhkh~bacbcccdcecHlIlreseteuevewexeyezeAeBeCeDeEeFeGe`l{l|l}llhmhnhoh*l+lefffgf3f4f5f6f7f8f9f!f#f$f%f'fE F G FfGfHfhfifjfqgrgH I J QdRdSdTdUdVdphqhrhsh!k#k$k%k'k(kthuhvhwhxhyhzhAhK L M j k l hbibjbBhCh)k*kDhEhFhGhHhIhJhKhLhMhNhOh+k,k|c}c~ckblbmbmdndodfcgchcicjckcnbobpblcmcncqbrbsb* + , tbubvbocpcqcrcsctcPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?hcn{md HeIe/d:d;d=d-k1l2l,lrmSlYm,m.k-mBd/k:k;kGmFk!lsmHd.m/m4m=kHmImSm@h[h]h^hucvcwcxcyczcJlKlJeKeLeMeNeOePeQeReSeTeUeVeWeXeYe~lambmcm_h`h{h|h-l.lkflfmf(f)f*f+f,f-f.f/f:f;f=f?fN O P IfJfKfnfofpfsgtgQ R S WdXdYdZd0d1d}h~haibi?k@k[k]k^k_kcidieifigihiiijiT U V m n o wbxbybkili`k{kminioipiqirisitiuiviwixi|k}kadbdcdzbAbBbpdqdrdAcBcCcDcEcFcCbDbEbGcHcIcFbGbHb- . / IbJbKbJcKcLcMcNcOcyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i9idn|me Ze0e?d@d[d]d~k3l4l/ltmTlZm:mal;mCdblcldlJmGk#lumId=m?m5melKmLmTm!i#i$i%iPcQcRcScTcUcLlMl1e2e3e4e5e6e7e8e9e!e#e$e%e'e(e)edmemfmgm'i(i)i*i:l;lqfrfsf@f[f]f^f_f`f{f|f}f~fagbgW X Y LfMfNftfufvfugvgZ 0 1 2d3d4d5d6d7d+i,i-i.iflglhliljlkl/i:i;i=i?i@i[i]i2 3 4 p q r LbMbNb^i_illml`i{i|i}i~iajbjcjdjejfjgjnlolddedfdObPbQbsdtdudVcWcXcYcZc0cRbSbTb1c2c3cUbVbWb: ; = XbYbZb4c5c6c7c8c9chjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjen}mf *e+e^d_d`d{dpl5l6l=lvmUl0m@mql[mDdrlsltlMmHk$lwmJd]m^m6mulNmOmUmTjUjVjWj!c#c$c%c'c(cNlOl,e-e.e/e:e;e=e?e@e[e]e^e_e`e{e|ehmimjmkmXjYjZj0j?l@lwfxfyfcgdgegfggghgigjgkglgmgng5 6 7 OfPfQfzfAfBfwgxg8 9 ! 8d9d!d#d$d%d1j2j3j4jvlwlxlylzlAl5j6j7j8j9j!j#j$j# $ % s t u 0b1b2b%j'jBlCl(j)j*j+j,j-j.j/j:j;j=j?jDlElgdhdid3b4b5bvdwdxd)c*c+c,c-c.c6b7b8b/c:c;c9b!b#b? @ [ $b%b'b=c?c@c[c]c^c@j[j]j^j_j`j{j|j}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkfn~m
506 dict_for_pydantic = {} 2a |d'd(dIkVlWl%llmPlVm7mJk8mydKkLkMkxmCk7lmmEd9m!m1mNkymzmPmygzg(b)bFl}d~daebecedeeefe[l]lAgBg}eRfSfTfUfv Cf~eogw KdLdCgDgOkPkQkEgFgGgHgx g ] IgRkJgKgLgMgNgOgSk_c^ jd*b+b_ ,b` ' { -b.bPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g6g7gan_mb ge)d*dTkXlYl'lnmQlWm#mUk$mzdVkWkXkAmDk8lomFd%m'm2mYkBmCmQm8g9g/b:b;b=bGlheiejekelemeneoe^l_l!g#g(lafbfVfWfXfYfZf0f1f2fy z DfEfcfdfpgA B MdNdOdPd$g%gZk0k1k'g(g)g*gC D h i | } +g2k,g-g.g/g:g;g3k`c{c~ abkdld?b@b[b]bbbcb^b_bdbeb( ) fbgb`b{b|b}b=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghbn`mc peqe+d,d-d.d4kZl0l)lpmRlXm(m5k)mAd6k7k8kDmEk9lqmGd*m+m3m9kEmFmRmhhihjhkh~bacbcccdcecHlIlreseteuevewexeyezeAeBeCeDeEeFeGe`l{l|l}llhmhnhoh*l+lefffgf3f4f5f6f7f8f9f!f#f$f%f'fE F G FfGfHfhfifjfqgrgH I J QdRdSdTdUdVdphqhrhsh!k#k$k%k'k(kthuhvhwhxhyhzhAhK L M j k l hbibjbBhCh)k*kDhEhFhGhHhIhJhKhLhMhNhOh+k,k|c}c~ckblbmbmdndodfcgchcicjckcnbobpblcmcncqbrbsb* + , tbubvbocpcqcrcsctcPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?hcn{md HeIe/d:d;d=d-k1l2l,lrmSlYm,m.k-mBd/k:k;kGmFk!lsmHd.m/m4m=kHmImSm@h[h]h^hucvcwcxcyczcJlKlJeKeLeMeNeOePeQeReSeTeUeVeWeXeYe~lambmcm_h`h{h|h-l.lkflfmf(f)f*f+f,f-f.f/f:f;f=f?fN O P IfJfKfnfofpfsgtgQ R S WdXdYdZd0d1d}h~haibi?k@k[k]k^k_kcidieifigihiiijiT U V m n o wbxbybkili`k{kminioipiqirisitiuiviwixi|k}kadbdcdzbAbBbpdqdrdAcBcCcDcEcFcCbDbEbGcHcIcFbGbHb- . / IbJbKbJcKcLcMcNcOcyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i9idn|me Ze0e?d@d[d]d~k3l4l/ltmTlZm:mal;mCdblcldlJmGk#lumId=m?m5melKmLmTm!i#i$i%iPcQcRcScTcUcLlMl1e2e3e4e5e6e7e8e9e!e#e$e%e'e(e)edmemfmgm'i(i)i*i:l;lqfrfsf@f[f]f^f_f`f{f|f}f~fagbgW X Y LfMfNftfufvfugvgZ 0 1 2d3d4d5d6d7d+i,i-i.iflglhliljlkl/i:i;i=i?i@i[i]i2 3 4 p q r LbMbNb^i_illml`i{i|i}i~iajbjcjdjejfjgjnlolddedfdObPbQbsdtdudVcWcXcYcZc0cRbSbTb1c2c3cUbVbWb: ; = XbYbZb4c5c6c7c8c9chjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjen}mf *e+e^d_d`d{dpl5l6l=lvmUl0m@mql[mDdrlsltlMmHk$lwmJd]m^m6mulNmOmUmTjUjVjWj!c#c$c%c'c(cNlOl,e-e.e/e:e;e=e?e@e[e]e^e_e`e{e|ehmimjmkmXjYjZj0j?l@lwfxfyfcgdgegfggghgigjgkglgmgng5 6 7 OfPfQfzfAfBfwgxg8 9 ! 8d9d!d#d$d%d1j2j3j4jvlwlxlylzlAl5j6j7j8j9j!j#j$j# $ % s t u 0b1b2b%j'jBlCl(j)j*j+j,j-j.j/j:j;j=j?jDlElgdhdid3b4b5bvdwdxd)c*c+c,c-c.c6b7b8b/c:c;c9b!b#b? @ [ $b%b'b=c?c@c[c]c^c@j[j]j^j_j`j{j|j}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkfn~m
507 original_annotations = get_annotations(class_dict) 2a |d'd(dIkVlWl%llmPlVm7mJk8mydKkLkMkxmCk7lmmEd9m!m1mNkymzmPmygzg(b)bFl}d~daebecedeeefe[l]lAgBg}eRfSfTfUfv Cf~eogw KdLdCgDgOkPkQkEgFgGgHgx g ] IgRkJgKgLgMgNgOgSk_c^ jd*b+b_ ,b` ' { -b.bPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g6g7gan_mb ge)d*dTkXlYl'lnmQlWm#mUk$mzdVkWkXkAmDk8lomFd%m'm2mYkBmCmQm8g9g/b:b;b=bGlheiejekelemeneoe^l_l!g#g(lafbfVfWfXfYfZf0f1f2fy z DfEfcfdfpgA B MdNdOdPd$g%gZk0k1k'g(g)g*gC D h i | } +g2k,g-g.g/g:g;g3k`c{c~ abkdld?b@b[b]bbbcb^b_bdbeb( ) fbgb`b{b|b}b=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghbn`mc peqe+d,d-d.d4kZl0l)lpmRlXm(m5k)mAd6k7k8kDmEk9lqmGd*m+m3m9kEmFmRmhhihjhkh~bacbcccdcecHlIlreseteuevewexeyezeAeBeCeDeEeFeGe`l{l|l}llhmhnhoh*l+lefffgf3f4f5f6f7f8f9f!f#f$f%f'fE F G FfGfHfhfifjfqgrgH I J QdRdSdTdUdVdphqhrhsh!k#k$k%k'k(kthuhvhwhxhyhzhAhK L M j k l hbibjbBhCh)k*kDhEhFhGhHhIhJhKhLhMhNhOh+k,k|c}c~ckblbmbmdndodfcgchcicjckcnbobpblcmcncqbrbsb* + , tbubvbocpcqcrcsctcPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?hcn{md HeIe/d:d;d=d-k1l2l,lrmSlYm,m.k-mBd/k:k;kGmFk!lsmHd.m/m4m=kHmImSm@h[h]h^hucvcwcxcyczcJlKlJeKeLeMeNeOePeQeReSeTeUeVeWeXeYe~lambmcm_h`h{h|h-l.lkflfmf(f)f*f+f,f-f.f/f:f;f=f?fN O P IfJfKfnfofpfsgtgQ R S WdXdYdZd0d1d}h~haibi?k@k[k]k^k_kcidieifigihiiijiT U V m n o wbxbybkili`k{kminioipiqirisitiuiviwixi|k}kadbdcdzbAbBbpdqdrdAcBcCcDcEcFcCbDbEbGcHcIcFbGbHb- . / IbJbKbJcKcLcMcNcOcyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i9idn|me Ze0e?d@d[d]d~k3l4l/ltmTlZm:mal;mCdblcldlJmGk#lumId=m?m5melKmLmTm!i#i$i%iPcQcRcScTcUcLlMl1e2e3e4e5e6e7e8e9e!e#e$e%e'e(e)edmemfmgm'i(i)i*i:l;lqfrfsf@f[f]f^f_f`f{f|f}f~fagbgW X Y LfMfNftfufvfugvgZ 0 1 2d3d4d5d6d7d+i,i-i.iflglhliljlkl/i:i;i=i?i@i[i]i2 3 4 p q r LbMbNb^i_illml`i{i|i}i~iajbjcjdjejfjgjnlolddedfdObPbQbsdtdudVcWcXcYcZc0cRbSbTb1c2c3cUbVbWb: ; = XbYbZb4c5c6c7c8c9chjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjen}mf *e+e^d_d`d{dpl5l6l=lvmUl0m@mql[mDdrlsltlMmHk$lwmJd]m^m6mulNmOmUmTjUjVjWj!c#c$c%c'c(cNlOl,e-e.e/e:e;e=e?e@e[e]e^e_e`e{e|ehmimjmkmXjYjZj0j?l@lwfxfyfcgdgegfggghgigjgkglgmgng5 6 7 OfPfQfzfAfBfwgxg8 9 ! 8d9d!d#d$d%d1j2j3j4jvlwlxlylzlAl5j6j7j8j9j!j#j$j# $ % s t u 0b1b2b%j'jBlCl(j)j*j+j,j-j.j/j:j;j=j?jDlElgdhdid3b4b5bvdwdxd)c*c+c,c-c.c6b7b8b/c:c;c9b!b#b? @ [ $b%b'b=c?c@c[c]c^c@j[j]j^j_j`j{j|j}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkfn~m
508 pydantic_annotations = {} 2a |d'd(dIkVlWl%llmPlVm7mJk8mydKkLkMkxmCk7lmmEd9m!m1mNkymzmPmygzg(b)bFl}d~daebecedeeefe[l]lAgBg}eRfSfTfUfv Cf~eogw KdLdCgDgOkPkQkEgFgGgHgx g ] IgRkJgKgLgMgNgOgSk_c^ jd*b+b_ ,b` ' { -b.bPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g6g7gan_mb ge)d*dTkXlYl'lnmQlWm#mUk$mzdVkWkXkAmDk8lomFd%m'm2mYkBmCmQm8g9g/b:b;b=bGlheiejekelemeneoe^l_l!g#g(lafbfVfWfXfYfZf0f1f2fy z DfEfcfdfpgA B MdNdOdPd$g%gZk0k1k'g(g)g*gC D h i | } +g2k,g-g.g/g:g;g3k`c{c~ abkdld?b@b[b]bbbcb^b_bdbeb( ) fbgb`b{b|b}b=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghbn`mc peqe+d,d-d.d4kZl0l)lpmRlXm(m5k)mAd6k7k8kDmEk9lqmGd*m+m3m9kEmFmRmhhihjhkh~bacbcccdcecHlIlreseteuevewexeyezeAeBeCeDeEeFeGe`l{l|l}llhmhnhoh*l+lefffgf3f4f5f6f7f8f9f!f#f$f%f'fE F G FfGfHfhfifjfqgrgH I J QdRdSdTdUdVdphqhrhsh!k#k$k%k'k(kthuhvhwhxhyhzhAhK L M j k l hbibjbBhCh)k*kDhEhFhGhHhIhJhKhLhMhNhOh+k,k|c}c~ckblbmbmdndodfcgchcicjckcnbobpblcmcncqbrbsb* + , tbubvbocpcqcrcsctcPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?hcn{md HeIe/d:d;d=d-k1l2l,lrmSlYm,m.k-mBd/k:k;kGmFk!lsmHd.m/m4m=kHmImSm@h[h]h^hucvcwcxcyczcJlKlJeKeLeMeNeOePeQeReSeTeUeVeWeXeYe~lambmcm_h`h{h|h-l.lkflfmf(f)f*f+f,f-f.f/f:f;f=f?fN O P IfJfKfnfofpfsgtgQ R S WdXdYdZd0d1d}h~haibi?k@k[k]k^k_kcidieifigihiiijiT U V m n o wbxbybkili`k{kminioipiqirisitiuiviwixi|k}kadbdcdzbAbBbpdqdrdAcBcCcDcEcFcCbDbEbGcHcIcFbGbHb- . / IbJbKbJcKcLcMcNcOcyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i9idn|me Ze0e?d@d[d]d~k3l4l/ltmTlZm:mal;mCdblcldlJmGk#lumId=m?m5melKmLmTm!i#i$i%iPcQcRcScTcUcLlMl1e2e3e4e5e6e7e8e9e!e#e$e%e'e(e)edmemfmgm'i(i)i*i:l;lqfrfsf@f[f]f^f_f`f{f|f}f~fagbgW X Y LfMfNftfufvfugvgZ 0 1 2d3d4d5d6d7d+i,i-i.iflglhliljlkl/i:i;i=i?i@i[i]i2 3 4 p q r LbMbNb^i_illml`i{i|i}i~iajbjcjdjejfjgjnlolddedfdObPbQbsdtdudVcWcXcYcZc0cRbSbTb1c2c3cUbVbWb: ; = XbYbZb4c5c6c7c8c9chjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjen}mf *e+e^d_d`d{dpl5l6l=lvmUl0m@mql[mDdrlsltlMmHk$lwmJd]m^m6mulNmOmUmTjUjVjWj!c#c$c%c'c(cNlOl,e-e.e/e:e;e=e?e@e[e]e^e_e`e{e|ehmimjmkmXjYjZj0j?l@lwfxfyfcgdgegfggghgigjgkglgmgng5 6 7 OfPfQfzfAfBfwgxg8 9 ! 8d9d!d#d$d%d1j2j3j4jvlwlxlylzlAl5j6j7j8j9j!j#j$j# $ % s t u 0b1b2b%j'jBlCl(j)j*j+j,j-j.j/j:j;j=j?jDlElgdhdid3b4b5bvdwdxd)c*c+c,c-c.c6b7b8b/c:c;c9b!b#b? @ [ $b%b'b=c?c@c[c]c^c@j[j]j^j_j`j{j|j}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkfn~m
509 relationship_annotations = {} 2a |d'd(dIkVlWl%llmPlVm7mJk8mydKkLkMkxmCk7lmmEd9m!m1mNkymzmPmygzg(b)bFl}d~daebecedeeefe[l]lAgBg}eRfSfTfUfv Cf~eogw KdLdCgDgOkPkQkEgFgGgHgx g ] IgRkJgKgLgMgNgOgSk_c^ jd*b+b_ ,b` ' { -b.bPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g6g7gan_mb ge)d*dTkXlYl'lnmQlWm#mUk$mzdVkWkXkAmDk8lomFd%m'm2mYkBmCmQm8g9g/b:b;b=bGlheiejekelemeneoe^l_l!g#g(lafbfVfWfXfYfZf0f1f2fy z DfEfcfdfpgA B MdNdOdPd$g%gZk0k1k'g(g)g*gC D h i | } +g2k,g-g.g/g:g;g3k`c{c~ abkdld?b@b[b]bbbcb^b_bdbeb( ) fbgb`b{b|b}b=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghbn`mc peqe+d,d-d.d4kZl0l)lpmRlXm(m5k)mAd6k7k8kDmEk9lqmGd*m+m3m9kEmFmRmhhihjhkh~bacbcccdcecHlIlreseteuevewexeyezeAeBeCeDeEeFeGe`l{l|l}llhmhnhoh*l+lefffgf3f4f5f6f7f8f9f!f#f$f%f'fE F G FfGfHfhfifjfqgrgH I J QdRdSdTdUdVdphqhrhsh!k#k$k%k'k(kthuhvhwhxhyhzhAhK L M j k l hbibjbBhCh)k*kDhEhFhGhHhIhJhKhLhMhNhOh+k,k|c}c~ckblbmbmdndodfcgchcicjckcnbobpblcmcncqbrbsb* + , tbubvbocpcqcrcsctcPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?hcn{md HeIe/d:d;d=d-k1l2l,lrmSlYm,m.k-mBd/k:k;kGmFk!lsmHd.m/m4m=kHmImSm@h[h]h^hucvcwcxcyczcJlKlJeKeLeMeNeOePeQeReSeTeUeVeWeXeYe~lambmcm_h`h{h|h-l.lkflfmf(f)f*f+f,f-f.f/f:f;f=f?fN O P IfJfKfnfofpfsgtgQ R S WdXdYdZd0d1d}h~haibi?k@k[k]k^k_kcidieifigihiiijiT U V m n o wbxbybkili`k{kminioipiqirisitiuiviwixi|k}kadbdcdzbAbBbpdqdrdAcBcCcDcEcFcCbDbEbGcHcIcFbGbHb- . / IbJbKbJcKcLcMcNcOcyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i9idn|me Ze0e?d@d[d]d~k3l4l/ltmTlZm:mal;mCdblcldlJmGk#lumId=m?m5melKmLmTm!i#i$i%iPcQcRcScTcUcLlMl1e2e3e4e5e6e7e8e9e!e#e$e%e'e(e)edmemfmgm'i(i)i*i:l;lqfrfsf@f[f]f^f_f`f{f|f}f~fagbgW X Y LfMfNftfufvfugvgZ 0 1 2d3d4d5d6d7d+i,i-i.iflglhliljlkl/i:i;i=i?i@i[i]i2 3 4 p q r LbMbNb^i_illml`i{i|i}i~iajbjcjdjejfjgjnlolddedfdObPbQbsdtdudVcWcXcYcZc0cRbSbTb1c2c3cUbVbWb: ; = XbYbZb4c5c6c7c8c9chjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjen}mf *e+e^d_d`d{dpl5l6l=lvmUl0m@mql[mDdrlsltlMmHk$lwmJd]m^m6mulNmOmUmTjUjVjWj!c#c$c%c'c(cNlOl,e-e.e/e:e;e=e?e@e[e]e^e_e`e{e|ehmimjmkmXjYjZj0j?l@lwfxfyfcgdgegfggghgigjgkglgmgng5 6 7 OfPfQfzfAfBfwgxg8 9 ! 8d9d!d#d$d%d1j2j3j4jvlwlxlylzlAl5j6j7j8j9j!j#j$j# $ % s t u 0b1b2b%j'jBlCl(j)j*j+j,j-j.j/j:j;j=j?jDlElgdhdid3b4b5bvdwdxd)c*c+c,c-c.c6b7b8b/c:c;c9b!b#b? @ [ $b%b'b=c?c@c[c]c^c@j[j]j^j_j`j{j|j}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkfn~m
510 for k, v in class_dict.items(): 2a |d'd(dIkVlWl%llmPlVm7mJk8mydKkLkMkxmCk7lmmEd9m!m1mNkymzmPmygzg(b)bFl}d~daebecedeeefe[l]lAgBg}eRfSfTfUfv Cf~eogw KdLdCgDgOkPkQkEgFgGgHgx g ] IgRkJgKgLgMgNgOgSk_c^ jd*b+b_ ,b` ' { -b.bPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g6g7gan_mb ge)d*dTkXlYl'lnmQlWm#mUk$mzdVkWkXkAmDk8lomFd%m'm2mYkBmCmQm8g9g/b:b;b=bGlheiejekelemeneoe^l_l!g#g(lafbfVfWfXfYfZf0f1f2fy z DfEfcfdfpgA B MdNdOdPd$g%gZk0k1k'g(g)g*gC D h i | } +g2k,g-g.g/g:g;g3k`c{c~ abkdld?b@b[b]bbbcb^b_bdbeb( ) fbgb`b{b|b}b=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghbn`mc peqe+d,d-d.d4kZl0l)lpmRlXm(m5k)mAd6k7k8kDmEk9lqmGd*m+m3m9kEmFmRmhhihjhkh~bacbcccdcecHlIlreseteuevewexeyezeAeBeCeDeEeFeGe`l{l|l}llhmhnhoh*l+lefffgf3f4f5f6f7f8f9f!f#f$f%f'fE F G FfGfHfhfifjfqgrgH I J QdRdSdTdUdVdphqhrhsh!k#k$k%k'k(kthuhvhwhxhyhzhAhK L M j k l hbibjbBhCh)k*kDhEhFhGhHhIhJhKhLhMhNhOh+k,k|c}c~ckblbmbmdndodfcgchcicjckcnbobpblcmcncqbrbsb* + , tbubvbocpcqcrcsctcPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?hcn{md HeIe/d:d;d=d-k1l2l,lrmSlYm,m.k-mBd/k:k;kGmFk!lsmHd.m/m4m=kHmImSm@h[h]h^hucvcwcxcyczcJlKlJeKeLeMeNeOePeQeReSeTeUeVeWeXeYe~lambmcm_h`h{h|h-l.lkflfmf(f)f*f+f,f-f.f/f:f;f=f?fN O P IfJfKfnfofpfsgtgQ R S WdXdYdZd0d1d}h~haibi?k@k[k]k^k_kcidieifigihiiijiT U V m n o wbxbybkili`k{kminioipiqirisitiuiviwixi|k}kadbdcdzbAbBbpdqdrdAcBcCcDcEcFcCbDbEbGcHcIcFbGbHb- . / IbJbKbJcKcLcMcNcOcyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i9idn|me Ze0e?d@d[d]d~k3l4l/ltmTlZm:mal;mCdblcldlJmGk#lumId=m?m5melKmLmTm!i#i$i%iPcQcRcScTcUcLlMl1e2e3e4e5e6e7e8e9e!e#e$e%e'e(e)edmemfmgm'i(i)i*i:l;lqfrfsf@f[f]f^f_f`f{f|f}f~fagbgW X Y LfMfNftfufvfugvgZ 0 1 2d3d4d5d6d7d+i,i-i.iflglhliljlkl/i:i;i=i?i@i[i]i2 3 4 p q r LbMbNb^i_illml`i{i|i}i~iajbjcjdjejfjgjnlolddedfdObPbQbsdtdudVcWcXcYcZc0cRbSbTb1c2c3cUbVbWb: ; = XbYbZb4c5c6c7c8c9chjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjen}mf *e+e^d_d`d{dpl5l6l=lvmUl0m@mql[mDdrlsltlMmHk$lwmJd]m^m6mulNmOmUmTjUjVjWj!c#c$c%c'c(cNlOl,e-e.e/e:e;e=e?e@e[e]e^e_e`e{e|ehmimjmkmXjYjZj0j?l@lwfxfyfcgdgegfggghgigjgkglgmgng5 6 7 OfPfQfzfAfBfwgxg8 9 ! 8d9d!d#d$d%d1j2j3j4jvlwlxlylzlAl5j6j7j8j9j!j#j$j# $ % s t u 0b1b2b%j'jBlCl(j)j*j+j,j-j.j/j:j;j=j?jDlElgdhdid3b4b5bvdwdxd)c*c+c,c-c.c6b7b8b/c:c;c9b!b#b? @ [ $b%b'b=c?c@c[c]c^c@j[j]j^j_j`j{j|j}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkfn~m
511 if isinstance(v, RelationshipInfo): 2a |d'd(dIkVlWl%llmPlVm7mJk8mydKkLkMkxmCk7lmmEd9m!m1mNkymzmPmygzg(b)bFl}d~daebecedeeefe[l]lAgBg}eRfSfTfUfv Cf~eogw KdLdCgDgOkPkQkEgFgGgHgx g ] IgRkJgKgLgMgNgOgSk_c^ jd*b+b_ ,b` ' { -b.bPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g6g7gan_mb ge)d*dTkXlYl'lnmQlWm#mUk$mzdVkWkXkAmDk8lomFd%m'm2mYkBmCmQm8g9g/b:b;b=bGlheiejekelemeneoe^l_l!g#g(lafbfVfWfXfYfZf0f1f2fy z DfEfcfdfpgA B MdNdOdPd$g%gZk0k1k'g(g)g*gC D h i | } +g2k,g-g.g/g:g;g3k`c{c~ abkdld?b@b[b]bbbcb^b_bdbeb( ) fbgb`b{b|b}b=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghbn`mc peqe+d,d-d.d4kZl0l)lpmRlXm(m5k)mAd6k7k8kDmEk9lqmGd*m+m3m9kEmFmRmhhihjhkh~bacbcccdcecHlIlreseteuevewexeyezeAeBeCeDeEeFeGe`l{l|l}llhmhnhoh*l+lefffgf3f4f5f6f7f8f9f!f#f$f%f'fE F G FfGfHfhfifjfqgrgH I J QdRdSdTdUdVdphqhrhsh!k#k$k%k'k(kthuhvhwhxhyhzhAhK L M j k l hbibjbBhCh)k*kDhEhFhGhHhIhJhKhLhMhNhOh+k,k|c}c~ckblbmbmdndodfcgchcicjckcnbobpblcmcncqbrbsb* + , tbubvbocpcqcrcsctcPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?hcn{md HeIe/d:d;d=d-k1l2l,lrmSlYm,m.k-mBd/k:k;kGmFk!lsmHd.m/m4m=kHmImSm@h[h]h^hucvcwcxcyczcJlKlJeKeLeMeNeOePeQeReSeTeUeVeWeXeYe~lambmcm_h`h{h|h-l.lkflfmf(f)f*f+f,f-f.f/f:f;f=f?fN O P IfJfKfnfofpfsgtgQ R S WdXdYdZd0d1d}h~haibi?k@k[k]k^k_kcidieifigihiiijiT U V m n o wbxbybkili`k{kminioipiqirisitiuiviwixi|k}kadbdcdzbAbBbpdqdrdAcBcCcDcEcFcCbDbEbGcHcIcFbGbHb- . / IbJbKbJcKcLcMcNcOcyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i9idn|me Ze0e?d@d[d]d~k3l4l/ltmTlZm:mal;mCdblcldlJmGk#lumId=m?m5melKmLmTm!i#i$i%iPcQcRcScTcUcLlMl1e2e3e4e5e6e7e8e9e!e#e$e%e'e(e)edmemfmgm'i(i)i*i:l;lqfrfsf@f[f]f^f_f`f{f|f}f~fagbgW X Y LfMfNftfufvfugvgZ 0 1 2d3d4d5d6d7d+i,i-i.iflglhliljlkl/i:i;i=i?i@i[i]i2 3 4 p q r LbMbNb^i_illml`i{i|i}i~iajbjcjdjejfjgjnlolddedfdObPbQbsdtdudVcWcXcYcZc0cRbSbTb1c2c3cUbVbWb: ; = XbYbZb4c5c6c7c8c9chjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjen}mf *e+e^d_d`d{dpl5l6l=lvmUl0m@mql[mDdrlsltlMmHk$lwmJd]m^m6mulNmOmUmTjUjVjWj!c#c$c%c'c(cNlOl,e-e.e/e:e;e=e?e@e[e]e^e_e`e{e|ehmimjmkmXjYjZj0j?l@lwfxfyfcgdgegfggghgigjgkglgmgng5 6 7 OfPfQfzfAfBfwgxg8 9 ! 8d9d!d#d$d%d1j2j3j4jvlwlxlylzlAl5j6j7j8j9j!j#j$j# $ % s t u 0b1b2b%j'jBlCl(j)j*j+j,j-j.j/j:j;j=j?jDlElgdhdid3b4b5bvdwdxd)c*c+c,c-c.c6b7b8b/c:c;c9b!b#b? @ [ $b%b'b=c?c@c[c]c^c@j[j]j^j_j`j{j|j}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkfn~m
512 relationships[k] = v 2ydEd(b)bv w x g ] _c^ jd*b+b_ ,b` ' { -b.bzdFd/b:b;b=by z A B C D h i | } `c{c~ abkdld?b@b[b]bbbcb^b_bdbeb( ) fbgb`b{b|b}bAdGd~bacbcccdcecE F G H I J K L M j k l hbibjb|c}c~ckblbmbmdndodfcgchcicjckcnbobpblcmcncqbrbsb* + , tbubvbocpcqcrcsctcBdHducvcwcxcyczcN O P Q R S T U V m n o wbxbybadbdcdzbAbBbpdqdrdAcBcCcDcEcFcCbDbEbGcHcIcFbGbHb- . / IbJbKbJcKcLcMcNcOcCdIdPcQcRcScTcUcW X Y Z 0 1 2 3 4 p q r LbMbNbddedfdObPbQbsdtdudVcWcXcYcZc0cRbSbTb1c2c3cUbVbWb: ; = XbYbZb4c5c6c7c8c9cDdJd!c#c$c%c'c(c5 6 7 8 9 ! # $ % s t u 0b1b2bgdhdid3b4b5bvdwdxd)c*c+c,c-c.c6b7b8b/c:c;c9b!b#b? @ [ $b%b'b=c?c@c[c]c^c
513 else:
514 dict_for_pydantic[k] = v 2a |d'd(dIkVlWl%llmPlVm7mJk8mydKkLkMkxmCk7lmmEd9m!m1mNkymzmPmygzg(b)bFl}d~daebecedeeefe[l]lAgBg}eRfSfTfUfv Cf~eogw KdLdCgDgOkPkQkEgFgGgHgx g ] IgRkJgKgLgMgNgOgSk_c^ jd*b+b_ ,b` ' { -b.bPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g6g7gan_mb ge)d*dTkXlYl'lnmQlWm#mUk$mzdVkWkXkAmDk8lomFd%m'm2mYkBmCmQm8g9g/b:b;b=bGlheiejekelemeneoe^l_l!g#g(lafbfVfWfXfYfZf0f1f2fy z DfEfcfdfpgA B MdNdOdPd$g%gZk0k1k'g(g)g*gC D h i | } +g2k,g-g.g/g:g;g3k`c{c~ abkdld?b@b[b]bbbcb^b_bdbeb( ) fbgb`b{b|b}b=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghbn`mc peqe+d,d-d.d4kZl0l)lpmRlXm(m5k)mAd6k7k8kDmEk9lqmGd*m+m3m9kEmFmRmhhihjhkh~bacbcccdcecHlIlreseteuevewexeyezeAeBeCeDeEeFeGe`l{l|l}llhmhnhoh*l+lefffgf3f4f5f6f7f8f9f!f#f$f%f'fE F G FfGfHfhfifjfqgrgH I J QdRdSdTdUdVdphqhrhsh!k#k$k%k'k(kthuhvhwhxhyhzhAhK L M j k l hbibjbBhCh)k*kDhEhFhGhHhIhJhKhLhMhNhOh+k,k|c}c~ckblbmbmdndodfcgchcicjckcnbobpblcmcncqbrbsb* + , tbubvbocpcqcrcsctcPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?hcn{md HeIe/d:d;d=d-k1l2l,lrmSlYm,m.k-mBd/k:k;kGmFk!lsmHd.m/m4m=kHmImSm@h[h]h^hucvcwcxcyczcJlKlJeKeLeMeNeOePeQeReSeTeUeVeWeXeYe~lambmcm_h`h{h|h-l.lkflfmf(f)f*f+f,f-f.f/f:f;f=f?fN O P IfJfKfnfofpfsgtgQ R S WdXdYdZd0d1d}h~haibi?k@k[k]k^k_kcidieifigihiiijiT U V m n o wbxbybkili`k{kminioipiqirisitiuiviwixi|k}kadbdcdzbAbBbpdqdrdAcBcCcDcEcFcCbDbEbGcHcIcFbGbHb- . / IbJbKbJcKcLcMcNcOcyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i9idn|me Ze0e?d@d[d]d~k3l4l/ltmTlZm:mal;mCdblcldlJmGk#lumId=m?m5melKmLmTm!i#i$i%iPcQcRcScTcUcLlMl1e2e3e4e5e6e7e8e9e!e#e$e%e'e(e)edmemfmgm'i(i)i*i:l;lqfrfsf@f[f]f^f_f`f{f|f}f~fagbgW X Y LfMfNftfufvfugvgZ 0 1 2d3d4d5d6d7d+i,i-i.iflglhliljlkl/i:i;i=i?i@i[i]i2 3 4 p q r LbMbNb^i_illml`i{i|i}i~iajbjcjdjejfjgjnlolddedfdObPbQbsdtdudVcWcXcYcZc0cRbSbTb1c2c3cUbVbWb: ; = XbYbZb4c5c6c7c8c9chjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjen}mf *e+e^d_d`d{dpl5l6l=lvmUl0m@mql[mDdrlsltlMmHk$lwmJd]m^m6mulNmOmUmTjUjVjWj!c#c$c%c'c(cNlOl,e-e.e/e:e;e=e?e@e[e]e^e_e`e{e|ehmimjmkmXjYjZj0j?l@lwfxfyfcgdgegfggghgigjgkglgmgng5 6 7 OfPfQfzfAfBfwgxg8 9 ! 8d9d!d#d$d%d1j2j3j4jvlwlxlylzlAl5j6j7j8j9j!j#j$j# $ % s t u 0b1b2b%j'jBlCl(j)j*j+j,j-j.j/j:j;j=j?jDlElgdhdid3b4b5bvdwdxd)c*c+c,c-c.c6b7b8b/c:c;c9b!b#b? @ [ $b%b'b=c?c@c[c]c^c@j[j]j^j_j`j{j|j}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkfn~m
515 for k, v in original_annotations.items(): 2a |d'd(dIkVlWl%llmPlVm7mJk8mydKkLkMkxmCk7lmmEd9m!m1mNkymzmPmygzg(b)bFl}d~daebecedeeefe[l]lAgBg}eRfSfTfUfv Cf~eogw KdLdCgDgOkPkQkEgFgGgHgx g ] IgRkJgKgLgMgNgOgSk_c^ jd*b+b_ ,b` ' { -b.bPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g6g7gan_mb ge)d*dTkXlYl'lnmQlWm#mUk$mzdVkWkXkAmDk8lomFd%m'm2mYkBmCmQm8g9g/b:b;b=bGlheiejekelemeneoe^l_l!g#g(lafbfVfWfXfYfZf0f1f2fy z DfEfcfdfpgA B MdNdOdPd$g%gZk0k1k'g(g)g*gC D h i | } +g2k,g-g.g/g:g;g3k`c{c~ abkdld?b@b[b]bbbcb^b_bdbeb( ) fbgb`b{b|b}b=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghbn`mc peqe+d,d-d.d4kZl0l)lpmRlXm(m5k)mAd6k7k8kDmEk9lqmGd*m+m3m9kEmFmRmhhihjhkh~bacbcccdcecHlIlreseteuevewexeyezeAeBeCeDeEeFeGe`l{l|l}llhmhnhoh*l+lefffgf3f4f5f6f7f8f9f!f#f$f%f'fE F G FfGfHfhfifjfqgrgH I J QdRdSdTdUdVdphqhrhsh!k#k$k%k'k(kthuhvhwhxhyhzhAhK L M j k l hbibjbBhCh)k*kDhEhFhGhHhIhJhKhLhMhNhOh+k,k|c}c~ckblbmbmdndodfcgchcicjckcnbobpblcmcncqbrbsb* + , tbubvbocpcqcrcsctcPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?hcn{md HeIe/d:d;d=d-k1l2l,lrmSlYm,m.k-mBd/k:k;kGmFk!lsmHd.m/m4m=kHmImSm@h[h]h^hucvcwcxcyczcJlKlJeKeLeMeNeOePeQeReSeTeUeVeWeXeYe~lambmcm_h`h{h|h-l.lkflfmf(f)f*f+f,f-f.f/f:f;f=f?fN O P IfJfKfnfofpfsgtgQ R S WdXdYdZd0d1d}h~haibi?k@k[k]k^k_kcidieifigihiiijiT U V m n o wbxbybkili`k{kminioipiqirisitiuiviwixi|k}kadbdcdzbAbBbpdqdrdAcBcCcDcEcFcCbDbEbGcHcIcFbGbHb- . / IbJbKbJcKcLcMcNcOcyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i9idn|me Ze0e?d@d[d]d~k3l4l/ltmTlZm:mal;mCdblcldlJmGk#lumId=m?m5melKmLmTm!i#i$i%iPcQcRcScTcUcLlMl1e2e3e4e5e6e7e8e9e!e#e$e%e'e(e)edmemfmgm'i(i)i*i:l;lqfrfsf@f[f]f^f_f`f{f|f}f~fagbgW X Y LfMfNftfufvfugvgZ 0 1 2d3d4d5d6d7d+i,i-i.iflglhliljlkl/i:i;i=i?i@i[i]i2 3 4 p q r LbMbNb^i_illml`i{i|i}i~iajbjcjdjejfjgjnlolddedfdObPbQbsdtdudVcWcXcYcZc0cRbSbTb1c2c3cUbVbWb: ; = XbYbZb4c5c6c7c8c9chjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjen}mf *e+e^d_d`d{dpl5l6l=lvmUl0m@mql[mDdrlsltlMmHk$lwmJd]m^m6mulNmOmUmTjUjVjWj!c#c$c%c'c(cNlOl,e-e.e/e:e;e=e?e@e[e]e^e_e`e{e|ehmimjmkmXjYjZj0j?l@lwfxfyfcgdgegfggghgigjgkglgmgng5 6 7 OfPfQfzfAfBfwgxg8 9 ! 8d9d!d#d$d%d1j2j3j4jvlwlxlylzlAl5j6j7j8j9j!j#j$j# $ % s t u 0b1b2b%j'jBlCl(j)j*j+j,j-j.j/j:j;j=j?jDlElgdhdid3b4b5bvdwdxd)c*c+c,c-c.c6b7b8b/c:c;c9b!b#b? @ [ $b%b'b=c?c@c[c]c^c@j[j]j^j_j`j{j|j}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkfn~m
516 if k in relationships: 2a |d'd(dIkVlWl%llmPlVm7mJk8mydKkLkMkxmCk7lmmEd9m!m1mNkymzmPmygzg(b)bFl}d~daebecedeeefe[l]lAgBg}eRfSfTfUfv Cf~eogw KdLdCgDgOkPkQkEgFgGgHgx g ] IgRkJgKgLgMgNgOgSk_c^ jd*b+b_ ,b` ' { -b.bPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g6g7gan_mb ge)d*dTkXlYl'lnmQlWm#mUk$mzdVkWkXkAmDk8lomFd%m'm2mYkBmCmQm8g9g/b:b;b=bGlheiejekelemeneoe^l_l!g#g(lafbfVfWfXfYfZf0f1f2fy z DfEfcfdfpgA B MdNdOdPd$g%gZk0k1k'g(g)g*gC D h i | } +g2k,g-g.g/g:g;g3k`c{c~ abkdld?b@b[b]bbbcb^b_bdbeb( ) fbgb`b{b|b}b=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghbn`mc peqe+d,d-d.d4kZl0l)lpmRlXm(m5k)mAd6k7k8kDmEk9lqmGd*m+m3m9kEmFmRmhhihjhkh~bacbcccdcecHlIlreseteuevewexeyezeAeBeCeDeEeFeGe`l{l|l}llhmhnhoh*l+lefffgf3f4f5f6f7f8f9f!f#f$f%f'fE F G FfGfHfhfifjfqgrgH I J QdRdSdTdUdVdphqhrhsh!k#k$k%k'k(kthuhvhwhxhyhzhAhK L M j k l hbibjbBhCh)k*kDhEhFhGhHhIhJhKhLhMhNhOh+k,k|c}c~ckblbmbmdndodfcgchcicjckcnbobpblcmcncqbrbsb* + , tbubvbocpcqcrcsctcPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?hcn{md HeIe/d:d;d=d-k1l2l,lrmSlYm,m.k-mBd/k:k;kGmFk!lsmHd.m/m4m=kHmImSm@h[h]h^hucvcwcxcyczcJlKlJeKeLeMeNeOePeQeReSeTeUeVeWeXeYe~lambmcm_h`h{h|h-l.lkflfmf(f)f*f+f,f-f.f/f:f;f=f?fN O P IfJfKfnfofpfsgtgQ R S WdXdYdZd0d1d}h~haibi?k@k[k]k^k_kcidieifigihiiijiT U V m n o wbxbybkili`k{kminioipiqirisitiuiviwixi|k}kadbdcdzbAbBbpdqdrdAcBcCcDcEcFcCbDbEbGcHcIcFbGbHb- . / IbJbKbJcKcLcMcNcOcyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i9idn|me Ze0e?d@d[d]d~k3l4l/ltmTlZm:mal;mCdblcldlJmGk#lumId=m?m5melKmLmTm!i#i$i%iPcQcRcScTcUcLlMl1e2e3e4e5e6e7e8e9e!e#e$e%e'e(e)edmemfmgm'i(i)i*i:l;lqfrfsf@f[f]f^f_f`f{f|f}f~fagbgW X Y LfMfNftfufvfugvgZ 0 1 2d3d4d5d6d7d+i,i-i.iflglhliljlkl/i:i;i=i?i@i[i]i2 3 4 p q r LbMbNb^i_illml`i{i|i}i~iajbjcjdjejfjgjnlolddedfdObPbQbsdtdudVcWcXcYcZc0cRbSbTb1c2c3cUbVbWb: ; = XbYbZb4c5c6c7c8c9chjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjen}mf *e+e^d_d`d{dpl5l6l=lvmUl0m@mql[mDdrlsltlMmHk$lwmJd]m^m6mulNmOmUmTjUjVjWj!c#c$c%c'c(cNlOl,e-e.e/e:e;e=e?e@e[e]e^e_e`e{e|ehmimjmkmXjYjZj0j?l@lwfxfyfcgdgegfggghgigjgkglgmgng5 6 7 OfPfQfzfAfBfwgxg8 9 ! 8d9d!d#d$d%d1j2j3j4jvlwlxlylzlAl5j6j7j8j9j!j#j$j# $ % s t u 0b1b2b%j'jBlCl(j)j*j+j,j-j.j/j:j;j=j?jDlElgdhdid3b4b5bvdwdxd)c*c+c,c-c.c6b7b8b/c:c;c9b!b#b? @ [ $b%b'b=c?c@c[c]c^c@j[j]j^j_j`j{j|j}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkfn~m
517 relationship_annotations[k] = v 2ydEd(b)bv w x g ] _c^ jd*b+b_ ,b` ' { -b.bzdFd/b:b;b=by z A B C D h i | } `c{c~ abkdld?b@b[b]bbbcb^b_bdbeb( ) fbgb`b{b|b}bAdGd~bacbcccdcecE F G H I J K L M j k l hbibjb|c}c~ckblbmbmdndodfcgchcicjckcnbobpblcmcncqbrbsb* + , tbubvbocpcqcrcsctcBdHducvcwcxcyczcN O P Q R S T U V m n o wbxbybadbdcdzbAbBbpdqdrdAcBcCcDcEcFcCbDbEbGcHcIcFbGbHb- . / IbJbKbJcKcLcMcNcOcCdIdPcQcRcScTcUcW X Y Z 0 1 2 3 4 p q r LbMbNbddedfdObPbQbsdtdudVcWcXcYcZc0cRbSbTb1c2c3cUbVbWb: ; = XbYbZb4c5c6c7c8c9cDdJd!c#c$c%c'c(c5 6 7 8 9 ! # $ % s t u 0b1b2bgdhdid3b4b5bvdwdxd)c*c+c,c-c.c6b7b8b/c:c;c9b!b#b? @ [ $b%b'b=c?c@c[c]c^c
518 else:
519 pydantic_annotations[k] = v 2a |d'd(dIkVlWl%llmPlVm7mJk8mydKkLkMkxmCk7lmmEd9m!m1mNkymzmPmygzg(b)bFl}d~daebecedeeefe[l]lAgBg}eRfSfTfUfv Cf~eogw KdLdCgDgOkPkQkEgFgGgHgx g ] IgRkJgKgLgMgNgOgSk_c^ jd*b+b_ ,b` ' { -b.bPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g6g7gan_mb ge)d*dTkXlYl'lnmQlWm#mUk$mzdVkWkXkAmDk8lomFd%m'm2mYkBmCmQm8g9g/b:b;b=bGlheiejekelemeneoe^l_l!g#g(lafbfVfWfXfYfZf0f1f2fy z DfEfcfdfpgA B MdNdOdPd$g%gZk0k1k'g(g)g*gC D h i | } +g2k,g-g.g/g:g;g3k`c{c~ abkdld?b@b[b]bbbcb^b_bdbeb( ) fbgb`b{b|b}b=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghbn`mc peqe+d,d-d.d4kZl0l)lpmRlXm(m5k)mAd6k7k8kDmEk9lqmGd*m+m3m9kEmFmRmhhihjhkh~bacbcccdcecHlIlreseteuevewexeyezeAeBeCeDeEeFeGe`l{l|l}llhmhnhoh*l+lefffgf3f4f5f6f7f8f9f!f#f$f%f'fE F G FfGfHfhfifjfqgrgH I J QdRdSdTdUdVdphqhrhsh!k#k$k%k'k(kthuhvhwhxhyhzhAhK L M j k l hbibjbBhCh)k*kDhEhFhGhHhIhJhKhLhMhNhOh+k,k|c}c~ckblbmbmdndodfcgchcicjckcnbobpblcmcncqbrbsb* + , tbubvbocpcqcrcsctcPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?hcn{md HeIe/d:d;d=d-k1l2l,lrmSlYm,m.k-mBd/k:k;kGmFk!lsmHd.m/m4m=kHmImSm@h[h]h^hucvcwcxcyczcJlKlJeKeLeMeNeOePeQeReSeTeUeVeWeXeYe~lambmcm_h`h{h|h-l.lkflfmf(f)f*f+f,f-f.f/f:f;f=f?fN O P IfJfKfnfofpfsgtgQ R S WdXdYdZd0d1d}h~haibi?k@k[k]k^k_kcidieifigihiiijiT U V m n o wbxbybkili`k{kminioipiqirisitiuiviwixi|k}kadbdcdzbAbBbpdqdrdAcBcCcDcEcFcCbDbEbGcHcIcFbGbHb- . / IbJbKbJcKcLcMcNcOcyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i9idn|me Ze0e?d@d[d]d~k3l4l/ltmTlZm:mal;mCdblcldlJmGk#lumId=m?m5melKmLmTm!i#i$i%iPcQcRcScTcUcLlMl1e2e3e4e5e6e7e8e9e!e#e$e%e'e(e)edmemfmgm'i(i)i*i:l;lqfrfsf@f[f]f^f_f`f{f|f}f~fagbgW X Y LfMfNftfufvfugvgZ 0 1 2d3d4d5d6d7d+i,i-i.iflglhliljlkl/i:i;i=i?i@i[i]i2 3 4 p q r LbMbNb^i_illml`i{i|i}i~iajbjcjdjejfjgjnlolddedfdObPbQbsdtdudVcWcXcYcZc0cRbSbTb1c2c3cUbVbWb: ; = XbYbZb4c5c6c7c8c9chjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjen}mf *e+e^d_d`d{dpl5l6l=lvmUl0m@mql[mDdrlsltlMmHk$lwmJd]m^m6mulNmOmUmTjUjVjWj!c#c$c%c'c(cNlOl,e-e.e/e:e;e=e?e@e[e]e^e_e`e{e|ehmimjmkmXjYjZj0j?l@lwfxfyfcgdgegfggghgigjgkglgmgng5 6 7 OfPfQfzfAfBfwgxg8 9 ! 8d9d!d#d$d%d1j2j3j4jvlwlxlylzlAl5j6j7j8j9j!j#j$j# $ % s t u 0b1b2b%j'jBlCl(j)j*j+j,j-j.j/j:j;j=j?jDlElgdhdid3b4b5bvdwdxd)c*c+c,c-c.c6b7b8b/c:c;c9b!b#b? @ [ $b%b'b=c?c@c[c]c^c@j[j]j^j_j`j{j|j}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkfn~m
520 dict_used = { 2a |d'd(dIkVlWl%llmPlVm7mJk8mydKkLkMkxmCk7lmmEd9m!m1mNkymzmPmygzg(b)bFl}d~daebecedeeefe[l]lAgBg}eRfSfTfUfv Cf~eogw KdLdCgDgOkPkQkEgFgGgHgx g ] IgRkJgKgLgMgNgOgSk_c^ jd*b+b_ ,b` ' { -b.bPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g6g7gan_mb ge)d*dTkXlYl'lnmQlWm#mUk$mzdVkWkXkAmDk8lomFd%m'm2mYkBmCmQm8g9g/b:b;b=bGlheiejekelemeneoe^l_l!g#g(lafbfVfWfXfYfZf0f1f2fy z DfEfcfdfpgA B MdNdOdPd$g%gZk0k1k'g(g)g*gC D h i | } +g2k,g-g.g/g:g;g3k`c{c~ abkdld?b@b[b]bbbcb^b_bdbeb( ) fbgb`b{b|b}b=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghbn`mc peqe+d,d-d.d4kZl0l)lpmRlXm(m5k)mAd6k7k8kDmEk9lqmGd*m+m3m9kEmFmRmhhihjhkh~bacbcccdcecHlIlreseteuevewexeyezeAeBeCeDeEeFeGe`l{l|l}llhmhnhoh*l+lefffgf3f4f5f6f7f8f9f!f#f$f%f'fE F G FfGfHfhfifjfqgrgH I J QdRdSdTdUdVdphqhrhsh!k#k$k%k'k(kthuhvhwhxhyhzhAhK L M j k l hbibjbBhCh)k*kDhEhFhGhHhIhJhKhLhMhNhOh+k,k|c}c~ckblbmbmdndodfcgchcicjckcnbobpblcmcncqbrbsb* + , tbubvbocpcqcrcsctcPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?hcn{md HeIe/d:d;d=d-k1l2l,lrmSlYm,m.k-mBd/k:k;kGmFk!lsmHd.m/m4m=kHmImSm@h[h]h^hucvcwcxcyczcJlKlJeKeLeMeNeOePeQeReSeTeUeVeWeXeYe~lambmcm_h`h{h|h-l.lkflfmf(f)f*f+f,f-f.f/f:f;f=f?fN O P IfJfKfnfofpfsgtgQ R S WdXdYdZd0d1d}h~haibi?k@k[k]k^k_kcidieifigihiiijiT U V m n o wbxbybkili`k{kminioipiqirisitiuiviwixi|k}kadbdcdzbAbBbpdqdrdAcBcCcDcEcFcCbDbEbGcHcIcFbGbHb- . / IbJbKbJcKcLcMcNcOcyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i9idn|me Ze0e?d@d[d]d~k3l4l/ltmTlZm:mal;mCdblcldlJmGk#lumId=m?m5melKmLmTm!i#i$i%iPcQcRcScTcUcLlMl1e2e3e4e5e6e7e8e9e!e#e$e%e'e(e)edmemfmgm'i(i)i*i:l;lqfrfsf@f[f]f^f_f`f{f|f}f~fagbgW X Y LfMfNftfufvfugvgZ 0 1 2d3d4d5d6d7d+i,i-i.iflglhliljlkl/i:i;i=i?i@i[i]i2 3 4 p q r LbMbNb^i_illml`i{i|i}i~iajbjcjdjejfjgjnlolddedfdObPbQbsdtdudVcWcXcYcZc0cRbSbTb1c2c3cUbVbWb: ; = XbYbZb4c5c6c7c8c9chjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjen}mf *e+e^d_d`d{dpl5l6l=lvmUl0m@mql[mDdrlsltlMmHk$lwmJd]m^m6mulNmOmUmTjUjVjWj!c#c$c%c'c(cNlOl,e-e.e/e:e;e=e?e@e[e]e^e_e`e{e|ehmimjmkmXjYjZj0j?l@lwfxfyfcgdgegfggghgigjgkglgmgng5 6 7 OfPfQfzfAfBfwgxg8 9 ! 8d9d!d#d$d%d1j2j3j4jvlwlxlylzlAl5j6j7j8j9j!j#j$j# $ % s t u 0b1b2b%j'jBlCl(j)j*j+j,j-j.j/j:j;j=j?jDlElgdhdid3b4b5bvdwdxd)c*c+c,c-c.c6b7b8b/c:c;c9b!b#b? @ [ $b%b'b=c?c@c[c]c^c@j[j]j^j_j`j{j|j}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkfn~m
521 **dict_for_pydantic,
522 "__weakref__": None,
523 "__sqlmodel_relationships__": relationships,
524 "__annotations__": pydantic_annotations,
525 }
526 # Duplicate logic from Pydantic to filter config kwargs because if they are
527 # passed directly including the registry Pydantic will pass them over to the
528 # superclass causing an error
529 allowed_config_kwargs: Set[str] = { 2a |d'd(dIkVlWl%llmPlVm7mJk8mydKkLkMkxmCk7lmmEd9m!m1mNkymzmPmygzg(b)bFl}d~daebecedeeefe[l]lAgBg}eRfSfTfUfv Cf~eogw KdLdCgDgOkPkQkEgFgGgHgx g ] IgRkJgKgLgMgNgOgSk_c^ jd*b+b_ ,b` ' { -b.bPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g6g7gan_mb ge)d*dTkXlYl'lnmQlWm#mUk$mzdVkWkXkAmDk8lomFd%m'm2mYkBmCmQm8g9g/b:b;b=bGlheiejekelemeneoe^l_l!g#g(lafbfVfWfXfYfZf0f1f2fy z DfEfcfdfpgA B MdNdOdPd$g%gZk0k1k'g(g)g*gC D h i | } +g2k,g-g.g/g:g;g3k`c{c~ abkdld?b@b[b]bbbcb^b_bdbeb( ) fbgb`b{b|b}b=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghbn`mc peqe+d,d-d.d4kZl0l)lpmRlXm(m5k)mAd6k7k8kDmEk9lqmGd*m+m3m9kEmFmRmhhihjhkh~bacbcccdcecHlIlreseteuevewexeyezeAeBeCeDeEeFeGe`l{l|l}llhmhnhoh*l+lefffgf3f4f5f6f7f8f9f!f#f$f%f'fE F G FfGfHfhfifjfqgrgH I J QdRdSdTdUdVdphqhrhsh!k#k$k%k'k(kthuhvhwhxhyhzhAhK L M j k l hbibjbBhCh)k*kDhEhFhGhHhIhJhKhLhMhNhOh+k,k|c}c~ckblbmbmdndodfcgchcicjckcnbobpblcmcncqbrbsb* + , tbubvbocpcqcrcsctcPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?hcn{md HeIe/d:d;d=d-k1l2l,lrmSlYm,m.k-mBd/k:k;kGmFk!lsmHd.m/m4m=kHmImSm@h[h]h^hucvcwcxcyczcJlKlJeKeLeMeNeOePeQeReSeTeUeVeWeXeYe~lambmcm_h`h{h|h-l.lkflfmf(f)f*f+f,f-f.f/f:f;f=f?fN O P IfJfKfnfofpfsgtgQ R S WdXdYdZd0d1d}h~haibi?k@k[k]k^k_kcidieifigihiiijiT U V m n o wbxbybkili`k{kminioipiqirisitiuiviwixi|k}kadbdcdzbAbBbpdqdrdAcBcCcDcEcFcCbDbEbGcHcIcFbGbHb- . / IbJbKbJcKcLcMcNcOcyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i9idn|me Ze0e?d@d[d]d~k3l4l/ltmTlZm:mal;mCdblcldlJmGk#lumId=m?m5melKmLmTm!i#i$i%iPcQcRcScTcUcLlMl1e2e3e4e5e6e7e8e9e!e#e$e%e'e(e)edmemfmgm'i(i)i*i:l;lqfrfsf@f[f]f^f_f`f{f|f}f~fagbgW X Y LfMfNftfufvfugvgZ 0 1 2d3d4d5d6d7d+i,i-i.iflglhliljlkl/i:i;i=i?i@i[i]i2 3 4 p q r LbMbNb^i_illml`i{i|i}i~iajbjcjdjejfjgjnlolddedfdObPbQbsdtdudVcWcXcYcZc0cRbSbTb1c2c3cUbVbWb: ; = XbYbZb4c5c6c7c8c9chjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjen}mf *e+e^d_d`d{dpl5l6l=lvmUl0m@mql[mDdrlsltlMmHk$lwmJd]m^m6mulNmOmUmTjUjVjWj!c#c$c%c'c(cNlOl,e-e.e/e:e;e=e?e@e[e]e^e_e`e{e|ehmimjmkmXjYjZj0j?l@lwfxfyfcgdgegfggghgigjgkglgmgng5 6 7 OfPfQfzfAfBfwgxg8 9 ! 8d9d!d#d$d%d1j2j3j4jvlwlxlylzlAl5j6j7j8j9j!j#j$j# $ % s t u 0b1b2b%j'jBlCl(j)j*j+j,j-j.j/j:j;j=j?jDlElgdhdid3b4b5bvdwdxd)c*c+c,c-c.c6b7b8b/c:c;c9b!b#b? @ [ $b%b'b=c?c@c[c]c^c@j[j]j^j_j`j{j|j}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkfn~m
530 key
531 for key in dir(BaseConfig)
532 if not (
533 key.startswith("__") and key.endswith("__")
534 ) # skip dunder methods and attributes
535 }
536 config_kwargs = { 2a |d'd(dIkVlWl%llmPlVm7mJk8mydKkLkMkxmCk7lmmEd9m!m1mNkymzmPmygzg(b)bFl}d~daebecedeeefe[l]lAgBg}eRfSfTfUfv Cf~eogw KdLdCgDgOkPkQkEgFgGgHgx g ] IgRkJgKgLgMgNgOgSk_c^ jd*b+b_ ,b` ' { -b.bPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g6g7gan_mb ge)d*dTkXlYl'lnmQlWm#mUk$mzdVkWkXkAmDk8lomFd%m'm2mYkBmCmQm8g9g/b:b;b=bGlheiejekelemeneoe^l_l!g#g(lafbfVfWfXfYfZf0f1f2fy z DfEfcfdfpgA B MdNdOdPd$g%gZk0k1k'g(g)g*gC D h i | } +g2k,g-g.g/g:g;g3k`c{c~ abkdld?b@b[b]bbbcb^b_bdbeb( ) fbgb`b{b|b}b=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghbn`mc peqe+d,d-d.d4kZl0l)lpmRlXm(m5k)mAd6k7k8kDmEk9lqmGd*m+m3m9kEmFmRmhhihjhkh~bacbcccdcecHlIlreseteuevewexeyezeAeBeCeDeEeFeGe`l{l|l}llhmhnhoh*l+lefffgf3f4f5f6f7f8f9f!f#f$f%f'fE F G FfGfHfhfifjfqgrgH I J QdRdSdTdUdVdphqhrhsh!k#k$k%k'k(kthuhvhwhxhyhzhAhK L M j k l hbibjbBhCh)k*kDhEhFhGhHhIhJhKhLhMhNhOh+k,k|c}c~ckblbmbmdndodfcgchcicjckcnbobpblcmcncqbrbsb* + , tbubvbocpcqcrcsctcPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?hcn{md HeIe/d:d;d=d-k1l2l,lrmSlYm,m.k-mBd/k:k;kGmFk!lsmHd.m/m4m=kHmImSm@h[h]h^hucvcwcxcyczcJlKlJeKeLeMeNeOePeQeReSeTeUeVeWeXeYe~lambmcm_h`h{h|h-l.lkflfmf(f)f*f+f,f-f.f/f:f;f=f?fN O P IfJfKfnfofpfsgtgQ R S WdXdYdZd0d1d}h~haibi?k@k[k]k^k_kcidieifigihiiijiT U V m n o wbxbybkili`k{kminioipiqirisitiuiviwixi|k}kadbdcdzbAbBbpdqdrdAcBcCcDcEcFcCbDbEbGcHcIcFbGbHb- . / IbJbKbJcKcLcMcNcOcyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i9idn|me Ze0e?d@d[d]d~k3l4l/ltmTlZm:mal;mCdblcldlJmGk#lumId=m?m5melKmLmTm!i#i$i%iPcQcRcScTcUcLlMl1e2e3e4e5e6e7e8e9e!e#e$e%e'e(e)edmemfmgm'i(i)i*i:l;lqfrfsf@f[f]f^f_f`f{f|f}f~fagbgW X Y LfMfNftfufvfugvgZ 0 1 2d3d4d5d6d7d+i,i-i.iflglhliljlkl/i:i;i=i?i@i[i]i2 3 4 p q r LbMbNb^i_illml`i{i|i}i~iajbjcjdjejfjgjnlolddedfdObPbQbsdtdudVcWcXcYcZc0cRbSbTb1c2c3cUbVbWb: ; = XbYbZb4c5c6c7c8c9chjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjen}mf *e+e^d_d`d{dpl5l6l=lvmUl0m@mql[mDdrlsltlMmHk$lwmJd]m^m6mulNmOmUmTjUjVjWj!c#c$c%c'c(cNlOl,e-e.e/e:e;e=e?e@e[e]e^e_e`e{e|ehmimjmkmXjYjZj0j?l@lwfxfyfcgdgegfggghgigjgkglgmgng5 6 7 OfPfQfzfAfBfwgxg8 9 ! 8d9d!d#d$d%d1j2j3j4jvlwlxlylzlAl5j6j7j8j9j!j#j$j# $ % s t u 0b1b2b%j'jBlCl(j)j*j+j,j-j.j/j:j;j=j?jDlElgdhdid3b4b5bvdwdxd)c*c+c,c-c.c6b7b8b/c:c;c9b!b#b? @ [ $b%b'b=c?c@c[c]c^c@j[j]j^j_j`j{j|j}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkfn~m
537 key: kwargs[key] for key in kwargs.keys() & allowed_config_kwargs
538 }
539 new_cls = super().__new__(cls, name, bases, dict_used, **config_kwargs) 2a |d'd(dIkVlWl%llmPlVm7mJk8mydKkLkMkxmCk7lmmEd9m!m1mNkymzmPmygzg(b)bFl}d~daebecedeeefe[l]lAgBg}eRfSfTfUfv Cf~eogw KdLdCgDgOkPkQkEgFgGgHgx g ] IgRkJgKgLgMgNgOgSk_c^ jd*b+b_ ,b` ' { -b.bPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g6g7gan_mb ge)d*dTkXlYl'lnmQlWm#mUk$mzdVkWkXkAmDk8lomFd%m'm2mYkBmCmQm8g9g/b:b;b=bGlheiejekelemeneoe^l_l!g#g(lafbfVfWfXfYfZf0f1f2fy z DfEfcfdfpgA B MdNdOdPd$g%gZk0k1k'g(g)g*gC D h i | } +g2k,g-g.g/g:g;g3k`c{c~ abkdld?b@b[b]bbbcb^b_bdbeb( ) fbgb`b{b|b}b=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghbn`mc peqe+d,d-d.d4kZl0l)lpmRlXm(m5k)mAd6k7k8kDmEk9lqmGd*m+m3m9kEmFmRmhhihjhkh~bacbcccdcecHlIlreseteuevewexeyezeAeBeCeDeEeFeGe`l{l|l}llhmhnhoh*l+lefffgf3f4f5f6f7f8f9f!f#f$f%f'fE F G FfGfHfhfifjfqgrgH I J QdRdSdTdUdVdphqhrhsh!k#k$k%k'k(kthuhvhwhxhyhzhAhK L M j k l hbibjbBhCh)k*kDhEhFhGhHhIhJhKhLhMhNhOh+k,k|c}c~ckblbmbmdndodfcgchcicjckcnbobpblcmcncqbrbsb* + , tbubvbocpcqcrcsctcPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?hcn{md HeIe/d:d;d=d-k1l2l,lrmSlYm,m.k-mBd/k:k;kGmFk!lsmHd.m/m4m=kHmImSm@h[h]h^hucvcwcxcyczcJlKlJeKeLeMeNeOePeQeReSeTeUeVeWeXeYe~lambmcm_h`h{h|h-l.lkflfmf(f)f*f+f,f-f.f/f:f;f=f?fN O P IfJfKfnfofpfsgtgQ R S WdXdYdZd0d1d}h~haibi?k@k[k]k^k_kcidieifigihiiijiT U V m n o wbxbybkili`k{kminioipiqirisitiuiviwixi|k}kadbdcdzbAbBbpdqdrdAcBcCcDcEcFcCbDbEbGcHcIcFbGbHb- . / IbJbKbJcKcLcMcNcOcyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i9idn|me Ze0e?d@d[d]d~k3l4l/ltmTlZm:mal;mCdblcldlJmGk#lumId=m?m5melKmLmTm!i#i$i%iPcQcRcScTcUcLlMl1e2e3e4e5e6e7e8e9e!e#e$e%e'e(e)edmemfmgm'i(i)i*i:l;lqfrfsf@f[f]f^f_f`f{f|f}f~fagbgW X Y LfMfNftfufvfugvgZ 0 1 2d3d4d5d6d7d+i,i-i.iflglhliljlkl/i:i;i=i?i@i[i]i2 3 4 p q r LbMbNb^i_illml`i{i|i}i~iajbjcjdjejfjgjnlolddedfdObPbQbsdtdudVcWcXcYcZc0cRbSbTb1c2c3cUbVbWb: ; = XbYbZb4c5c6c7c8c9chjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjen}mf *e+e^d_d`d{dpl5l6l=lvmUl0m@mql[mDdrlsltlMmHk$lwmJd]m^m6mulNmOmUmTjUjVjWj!c#c$c%c'c(cNlOl,e-e.e/e:e;e=e?e@e[e]e^e_e`e{e|ehmimjmkmXjYjZj0j?l@lwfxfyfcgdgegfggghgigjgkglgmgng5 6 7 OfPfQfzfAfBfwgxg8 9 ! 8d9d!d#d$d%d1j2j3j4jvlwlxlylzlAl5j6j7j8j9j!j#j$j# $ % s t u 0b1b2b%j'jBlCl(j)j*j+j,j-j.j/j:j;j=j?jDlElgdhdid3b4b5bvdwdxd)c*c+c,c-c.c6b7b8b/c:c;c9b!b#b? @ [ $b%b'b=c?c@c[c]c^c@j[j]j^j_j`j{j|j}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkfn~m
540 new_cls.__annotations__ = { 2a |d'd(dIkVlWl%llmPlVm7mJk8mydKkLkMkxmCk7lmmEd9m!m1mNkymzmPmygzg(b)bFl}d~daebecedeeefe[l]lAgBg}eRfSfTfUfv Cf~eogw KdLdCgDgOkPkQkEgFgGgHgx g ] IgRkJgKgLgMgNgOgSk_c^ jd*b+b_ ,b` ' { -b.bPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g6g7gan_mb ge)d*dTkXlYl'lnmQlWm#mUk$mzdVkWkXkAmDk8lomFd%m'm2mYkBmCmQm8g9g/b:b;b=bGlheiejekelemeneoe^l_l!g#g(lafbfVfWfXfYfZf0f1f2fy z DfEfcfdfpgA B MdNdOdPd$g%gZk0k1k'g(g)g*gC D h i | } +g2k,g-g.g/g:g;g3k`c{c~ abkdld?b@b[b]bbbcb^b_bdbeb( ) fbgb`b{b|b}b=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghbn`mc peqe+d,d-d.d4kZl0l)lpmRlXm(m5k)mAd6k7k8kDmEk9lqmGd*m+m3m9kEmFmRmhhihjhkh~bacbcccdcecHlIlreseteuevewexeyezeAeBeCeDeEeFeGe`l{l|l}llhmhnhoh*l+lefffgf3f4f5f6f7f8f9f!f#f$f%f'fE F G FfGfHfhfifjfqgrgH I J QdRdSdTdUdVdphqhrhsh!k#k$k%k'k(kthuhvhwhxhyhzhAhK L M j k l hbibjbBhCh)k*kDhEhFhGhHhIhJhKhLhMhNhOh+k,k|c}c~ckblbmbmdndodfcgchcicjckcnbobpblcmcncqbrbsb* + , tbubvbocpcqcrcsctcPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?hcn{md HeIe/d:d;d=d-k1l2l,lrmSlYm,m.k-mBd/k:k;kGmFk!lsmHd.m/m4m=kHmImSm@h[h]h^hucvcwcxcyczcJlKlJeKeLeMeNeOePeQeReSeTeUeVeWeXeYe~lambmcm_h`h{h|h-l.lkflfmf(f)f*f+f,f-f.f/f:f;f=f?fN O P IfJfKfnfofpfsgtgQ R S WdXdYdZd0d1d}h~haibi?k@k[k]k^k_kcidieifigihiiijiT U V m n o wbxbybkili`k{kminioipiqirisitiuiviwixi|k}kadbdcdzbAbBbpdqdrdAcBcCcDcEcFcCbDbEbGcHcIcFbGbHb- . / IbJbKbJcKcLcMcNcOcyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i9idn|me Ze0e?d@d[d]d~k3l4l/ltmTlZm:mal;mCdblcldlJmGk#lumId=m?m5melKmLmTm!i#i$i%iPcQcRcScTcUcLlMl1e2e3e4e5e6e7e8e9e!e#e$e%e'e(e)edmemfmgm'i(i)i*i:l;lqfrfsf@f[f]f^f_f`f{f|f}f~fagbgW X Y LfMfNftfufvfugvgZ 0 1 2d3d4d5d6d7d+i,i-i.iflglhliljlkl/i:i;i=i?i@i[i]i2 3 4 p q r LbMbNb^i_illml`i{i|i}i~iajbjcjdjejfjgjnlolddedfdObPbQbsdtdudVcWcXcYcZc0cRbSbTb1c2c3cUbVbWb: ; = XbYbZb4c5c6c7c8c9chjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjen}mf *e+e^d_d`d{dpl5l6l=lvmUl0m@mql[mDdrlsltlMmHk$lwmJd]m^m6mulNmOmUmTjUjVjWj!c#c$c%c'c(cNlOl,e-e.e/e:e;e=e?e@e[e]e^e_e`e{e|ehmimjmkmXjYjZj0j?l@lwfxfyfcgdgegfggghgigjgkglgmgng5 6 7 OfPfQfzfAfBfwgxg8 9 ! 8d9d!d#d$d%d1j2j3j4jvlwlxlylzlAl5j6j7j8j9j!j#j$j# $ % s t u 0b1b2b%j'jBlCl(j)j*j+j,j-j.j/j:j;j=j?jDlElgdhdid3b4b5bvdwdxd)c*c+c,c-c.c6b7b8b/c:c;c9b!b#b? @ [ $b%b'b=c?c@c[c]c^c@j[j]j^j_j`j{j|j}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkfn~m
541 **relationship_annotations,
542 **pydantic_annotations,
543 **new_cls.__annotations__,
544 }
546 def get_config(name: str) -> Any: 2a |d'd(dIkVlWl%llmPlVm7mJk8mydKkLkMkxmCk7lmmEd9m!m1mNkymzmPmygzg(b)bFl}d~daebecedeeefe[l]lAgBg}eRfSfTfUfv Cf~eogw KdLdCgDgOkPkQkEgFgGgHgx g ] IgRkJgKgLgMgNgOgSk_c^ jd*b+b_ ,b` ' { -b.bPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g6g7gan_mb ge)d*dTkXlYl'lnmQlWm#mUk$mzdVkWkXkAmDk8lomFd%m'm2mYkBmCmQm8g9g/b:b;b=bGlheiejekelemeneoe^l_l!g#g(lafbfVfWfXfYfZf0f1f2fy z DfEfcfdfpgA B MdNdOdPd$g%gZk0k1k'g(g)g*gC D h i | } +g2k,g-g.g/g:g;g3k`c{c~ abkdld?b@b[b]bbbcb^b_bdbeb( ) fbgb`b{b|b}b=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghbn`mc peqe+d,d-d.d4kZl0l)lpmRlXm(m5k)mAd6k7k8kDmEk9lqmGd*m+m3m9kEmFmRmhhihjhkh~bacbcccdcecHlIlreseteuevewexeyezeAeBeCeDeEeFeGe`l{l|l}llhmhnhoh*l+lefffgf3f4f5f6f7f8f9f!f#f$f%f'fE F G FfGfHfhfifjfqgrgH I J QdRdSdTdUdVdphqhrhsh!k#k$k%k'k(kthuhvhwhxhyhzhAhK L M j k l hbibjbBhCh)k*kDhEhFhGhHhIhJhKhLhMhNhOh+k,k|c}c~ckblbmbmdndodfcgchcicjckcnbobpblcmcncqbrbsb* + , tbubvbocpcqcrcsctcPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?hcn{md HeIe/d:d;d=d-k1l2l,lrmSlYm,m.k-mBd/k:k;kGmFk!lsmHd.m/m4m=kHmImSm@h[h]h^hucvcwcxcyczcJlKlJeKeLeMeNeOePeQeReSeTeUeVeWeXeYe~lambmcm_h`h{h|h-l.lkflfmf(f)f*f+f,f-f.f/f:f;f=f?fN O P IfJfKfnfofpfsgtgQ R S WdXdYdZd0d1d}h~haibi?k@k[k]k^k_kcidieifigihiiijiT U V m n o wbxbybkili`k{kminioipiqirisitiuiviwixi|k}kadbdcdzbAbBbpdqdrdAcBcCcDcEcFcCbDbEbGcHcIcFbGbHb- . / IbJbKbJcKcLcMcNcOcyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i9idn|me Ze0e?d@d[d]d~k3l4l/ltmTlZm:mal;mCdblcldlJmGk#lumId=m?m5melKmLmTm!i#i$i%iPcQcRcScTcUcLlMl1e2e3e4e5e6e7e8e9e!e#e$e%e'e(e)edmemfmgm'i(i)i*i:l;lqfrfsf@f[f]f^f_f`f{f|f}f~fagbgW X Y LfMfNftfufvfugvgZ 0 1 2d3d4d5d6d7d+i,i-i.iflglhliljlkl/i:i;i=i?i@i[i]i2 3 4 p q r LbMbNb^i_illml`i{i|i}i~iajbjcjdjejfjgjnlolddedfdObPbQbsdtdudVcWcXcYcZc0cRbSbTb1c2c3cUbVbWb: ; = XbYbZb4c5c6c7c8c9chjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjen}mf *e+e^d_d`d{dpl5l6l=lvmUl0m@mql[mDdrlsltlMmHk$lwmJd]m^m6mulNmOmUmTjUjVjWj!c#c$c%c'c(cNlOl,e-e.e/e:e;e=e?e@e[e]e^e_e`e{e|ehmimjmkmXjYjZj0j?l@lwfxfyfcgdgegfggghgigjgkglgmgng5 6 7 OfPfQfzfAfBfwgxg8 9 ! 8d9d!d#d$d%d1j2j3j4jvlwlxlylzlAl5j6j7j8j9j!j#j$j# $ % s t u 0b1b2b%j'jBlCl(j)j*j+j,j-j.j/j:j;j=j?jDlElgdhdid3b4b5bvdwdxd)c*c+c,c-c.c6b7b8b/c:c;c9b!b#b? @ [ $b%b'b=c?c@c[c]c^c@j[j]j^j_j`j{j|j}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkfn~m
547 config_class_value = get_config_value( 2a |d'd(dIkVlWl%llmPlVm7mJk8mydKkLkMkxmCk7lmmEd9m!m1mNkymzmPmygzg(b)bFl}d~daebecedeeefe[l]lAgBg}eRfSfTfUfv Cf~eogw KdLdCgDgOkPkQkEgFgGgHgx g ] IgRkJgKgLgMgNgOgSk_c^ jd*b+b_ ,b` ' { -b.bPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g6g7gan_mb ge)d*dTkXlYl'lnmQlWm#mUk$mzdVkWkXkAmDk8lomFd%m'm2mYkBmCmQm8g9g/b:b;b=bGlheiejekelemeneoe^l_l!g#g(lafbfVfWfXfYfZf0f1f2fy z DfEfcfdfpgA B MdNdOdPd$g%gZk0k1k'g(g)g*gC D h i | } +g2k,g-g.g/g:g;g3k`c{c~ abkdld?b@b[b]bbbcb^b_bdbeb( ) fbgb`b{b|b}b=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghbn`mc peqe+d,d-d.d4kZl0l)lpmRlXm(m5k)mAd6k7k8kDmEk9lqmGd*m+m3m9kEmFmRmhhihjhkh~bacbcccdcecHlIlreseteuevewexeyezeAeBeCeDeEeFeGe`l{l|l}llhmhnhoh*l+lefffgf3f4f5f6f7f8f9f!f#f$f%f'fE F G FfGfHfhfifjfqgrgH I J QdRdSdTdUdVdphqhrhsh!k#k$k%k'k(kthuhvhwhxhyhzhAhK L M j k l hbibjbBhCh)k*kDhEhFhGhHhIhJhKhLhMhNhOh+k,k|c}c~ckblbmbmdndodfcgchcicjckcnbobpblcmcncqbrbsb* + , tbubvbocpcqcrcsctcPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?hcn{md HeIe/d:d;d=d-k1l2l,lrmSlYm,m.k-mBd/k:k;kGmFk!lsmHd.m/m4m=kHmImSm@h[h]h^hucvcwcxcyczcJlKlJeKeLeMeNeOePeQeReSeTeUeVeWeXeYe~lambmcm_h`h{h|h-l.lkflfmf(f)f*f+f,f-f.f/f:f;f=f?fN O P IfJfKfnfofpfsgtgQ R S WdXdYdZd0d1d}h~haibi?k@k[k]k^k_kcidieifigihiiijiT U V m n o wbxbybkili`k{kminioipiqirisitiuiviwixi|k}kadbdcdzbAbBbpdqdrdAcBcCcDcEcFcCbDbEbGcHcIcFbGbHb- . / IbJbKbJcKcLcMcNcOcyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i9idn|me Ze0e?d@d[d]d~k3l4l/ltmTlZm:mal;mCdblcldlJmGk#lumId=m?m5melKmLmTm!i#i$i%iPcQcRcScTcUcLlMl1e2e3e4e5e6e7e8e9e!e#e$e%e'e(e)edmemfmgm'i(i)i*i:l;lqfrfsf@f[f]f^f_f`f{f|f}f~fagbgW X Y LfMfNftfufvfugvgZ 0 1 2d3d4d5d6d7d+i,i-i.iflglhliljlkl/i:i;i=i?i@i[i]i2 3 4 p q r LbMbNb^i_illml`i{i|i}i~iajbjcjdjejfjgjnlolddedfdObPbQbsdtdudVcWcXcYcZc0cRbSbTb1c2c3cUbVbWb: ; = XbYbZb4c5c6c7c8c9chjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjen}mf *e+e^d_d`d{dpl5l6l=lvmUl0m@mql[mDdrlsltlMmHk$lwmJd]m^m6mulNmOmUmTjUjVjWj!c#c$c%c'c(cNlOl,e-e.e/e:e;e=e?e@e[e]e^e_e`e{e|ehmimjmkmXjYjZj0j?l@lwfxfyfcgdgegfggghgigjgkglgmgng5 6 7 OfPfQfzfAfBfwgxg8 9 ! 8d9d!d#d$d%d1j2j3j4jvlwlxlylzlAl5j6j7j8j9j!j#j$j# $ % s t u 0b1b2b%j'jBlCl(j)j*j+j,j-j.j/j:j;j=j?jDlElgdhdid3b4b5bvdwdxd)c*c+c,c-c.c6b7b8b/c:c;c9b!b#b? @ [ $b%b'b=c?c@c[c]c^c@j[j]j^j_j`j{j|j}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkfn~m
548 model=new_cls, parameter=name, default=Undefined
549 )
550 if config_class_value is not Undefined: 2a |d'd(dIkVlWl%llmPlVm7mJk8mydKkLkMkxmCk7lmmEd9m!m1mNkymzmPmygzg(b)bFl}d~daebecedeeefe[l]lAgBg}eRfSfTfUfv Cf~eogw KdLdCgDgOkPkQkEgFgGgHgx g ] IgRkJgKgLgMgNgOgSk_c^ jd*b+b_ ,b` ' { -b.bPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g6g7gan_mb ge)d*dTkXlYl'lnmQlWm#mUk$mzdVkWkXkAmDk8lomFd%m'm2mYkBmCmQm8g9g/b:b;b=bGlheiejekelemeneoe^l_l!g#g(lafbfVfWfXfYfZf0f1f2fy z DfEfcfdfpgA B MdNdOdPd$g%gZk0k1k'g(g)g*gC D h i | } +g2k,g-g.g/g:g;g3k`c{c~ abkdld?b@b[b]bbbcb^b_bdbeb( ) fbgb`b{b|b}b=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghbn`mc peqe+d,d-d.d4kZl0l)lpmRlXm(m5k)mAd6k7k8kDmEk9lqmGd*m+m3m9kEmFmRmhhihjhkh~bacbcccdcecHlIlreseteuevewexeyezeAeBeCeDeEeFeGe`l{l|l}llhmhnhoh*l+lefffgf3f4f5f6f7f8f9f!f#f$f%f'fE F G FfGfHfhfifjfqgrgH I J QdRdSdTdUdVdphqhrhsh!k#k$k%k'k(kthuhvhwhxhyhzhAhK L M j k l hbibjbBhCh)k*kDhEhFhGhHhIhJhKhLhMhNhOh+k,k|c}c~ckblbmbmdndodfcgchcicjckcnbobpblcmcncqbrbsb* + , tbubvbocpcqcrcsctcPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?hcn{md HeIe/d:d;d=d-k1l2l,lrmSlYm,m.k-mBd/k:k;kGmFk!lsmHd.m/m4m=kHmImSm@h[h]h^hucvcwcxcyczcJlKlJeKeLeMeNeOePeQeReSeTeUeVeWeXeYe~lambmcm_h`h{h|h-l.lkflfmf(f)f*f+f,f-f.f/f:f;f=f?fN O P IfJfKfnfofpfsgtgQ R S WdXdYdZd0d1d}h~haibi?k@k[k]k^k_kcidieifigihiiijiT U V m n o wbxbybkili`k{kminioipiqirisitiuiviwixi|k}kadbdcdzbAbBbpdqdrdAcBcCcDcEcFcCbDbEbGcHcIcFbGbHb- . / IbJbKbJcKcLcMcNcOcyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i9idn|me Ze0e?d@d[d]d~k3l4l/ltmTlZm:mal;mCdblcldlJmGk#lumId=m?m5melKmLmTm!i#i$i%iPcQcRcScTcUcLlMl1e2e3e4e5e6e7e8e9e!e#e$e%e'e(e)edmemfmgm'i(i)i*i:l;lqfrfsf@f[f]f^f_f`f{f|f}f~fagbgW X Y LfMfNftfufvfugvgZ 0 1 2d3d4d5d6d7d+i,i-i.iflglhliljlkl/i:i;i=i?i@i[i]i2 3 4 p q r LbMbNb^i_illml`i{i|i}i~iajbjcjdjejfjgjnlolddedfdObPbQbsdtdudVcWcXcYcZc0cRbSbTb1c2c3cUbVbWb: ; = XbYbZb4c5c6c7c8c9chjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjen}mf *e+e^d_d`d{dpl5l6l=lvmUl0m@mql[mDdrlsltlMmHk$lwmJd]m^m6mulNmOmUmTjUjVjWj!c#c$c%c'c(cNlOl,e-e.e/e:e;e=e?e@e[e]e^e_e`e{e|ehmimjmkmXjYjZj0j?l@lwfxfyfcgdgegfggghgigjgkglgmgng5 6 7 OfPfQfzfAfBfwgxg8 9 ! 8d9d!d#d$d%d1j2j3j4jvlwlxlylzlAl5j6j7j8j9j!j#j$j# $ % s t u 0b1b2b%j'jBlCl(j)j*j+j,j-j.j/j:j;j=j?jDlElgdhdid3b4b5bvdwdxd)c*c+c,c-c.c6b7b8b/c:c;c9b!b#b? @ [ $b%b'b=c?c@c[c]c^c@j[j]j^j_j`j{j|j}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkfn~m
551 return config_class_value 2CfDfEfFfGfHfIfJfKfLfMfNfOfPfQf
552 kwarg_value = kwargs.get(name, Undefined) 2a |d'd(dIkVlWl%llmPlVm7mJk8mydKkLkMkxmCk7lmmEd9m!m1mNkymzmPmygzg(b)bFl}d~daebecedeeefe[l]lAgBg}eRfSfTfUfv Cf~eogw KdLdCgDgOkPkQkEgFgGgHgx g ] IgRkJgKgLgMgNgOgSk_c^ jd*b+b_ ,b` ' { -b.bPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g6g7gan_mb ge)d*dTkXlYl'lnmQlWm#mUk$mzdVkWkXkAmDk8lomFd%m'm2mYkBmCmQm8g9g/b:b;b=bGlheiejekelemeneoe^l_l!g#g(lafbfVfWfXfYfZf0f1f2fy z DfEfcfdfpgA B MdNdOdPd$g%gZk0k1k'g(g)g*gC D h i | } +g2k,g-g.g/g:g;g3k`c{c~ abkdld?b@b[b]bbbcb^b_bdbeb( ) fbgb`b{b|b}b=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghbn`mc peqe+d,d-d.d4kZl0l)lpmRlXm(m5k)mAd6k7k8kDmEk9lqmGd*m+m3m9kEmFmRmhhihjhkh~bacbcccdcecHlIlreseteuevewexeyezeAeBeCeDeEeFeGe`l{l|l}llhmhnhoh*l+lefffgf3f4f5f6f7f8f9f!f#f$f%f'fE F G FfGfHfhfifjfqgrgH I J QdRdSdTdUdVdphqhrhsh!k#k$k%k'k(kthuhvhwhxhyhzhAhK L M j k l hbibjbBhCh)k*kDhEhFhGhHhIhJhKhLhMhNhOh+k,k|c}c~ckblbmbmdndodfcgchcicjckcnbobpblcmcncqbrbsb* + , tbubvbocpcqcrcsctcPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?hcn{md HeIe/d:d;d=d-k1l2l,lrmSlYm,m.k-mBd/k:k;kGmFk!lsmHd.m/m4m=kHmImSm@h[h]h^hucvcwcxcyczcJlKlJeKeLeMeNeOePeQeReSeTeUeVeWeXeYe~lambmcm_h`h{h|h-l.lkflfmf(f)f*f+f,f-f.f/f:f;f=f?fN O P IfJfKfnfofpfsgtgQ R S WdXdYdZd0d1d}h~haibi?k@k[k]k^k_kcidieifigihiiijiT U V m n o wbxbybkili`k{kminioipiqirisitiuiviwixi|k}kadbdcdzbAbBbpdqdrdAcBcCcDcEcFcCbDbEbGcHcIcFbGbHb- . / IbJbKbJcKcLcMcNcOcyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i9idn|me Ze0e?d@d[d]d~k3l4l/ltmTlZm:mal;mCdblcldlJmGk#lumId=m?m5melKmLmTm!i#i$i%iPcQcRcScTcUcLlMl1e2e3e4e5e6e7e8e9e!e#e$e%e'e(e)edmemfmgm'i(i)i*i:l;lqfrfsf@f[f]f^f_f`f{f|f}f~fagbgW X Y LfMfNftfufvfugvgZ 0 1 2d3d4d5d6d7d+i,i-i.iflglhliljlkl/i:i;i=i?i@i[i]i2 3 4 p q r LbMbNb^i_illml`i{i|i}i~iajbjcjdjejfjgjnlolddedfdObPbQbsdtdudVcWcXcYcZc0cRbSbTb1c2c3cUbVbWb: ; = XbYbZb4c5c6c7c8c9chjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjen}mf *e+e^d_d`d{dpl5l6l=lvmUl0m@mql[mDdrlsltlMmHk$lwmJd]m^m6mulNmOmUmTjUjVjWj!c#c$c%c'c(cNlOl,e-e.e/e:e;e=e?e@e[e]e^e_e`e{e|ehmimjmkmXjYjZj0j?l@lwfxfyfcgdgegfggghgigjgkglgmgng5 6 7 OfPfQfzfAfBfwgxg8 9 ! 8d9d!d#d$d%d1j2j3j4jvlwlxlylzlAl5j6j7j8j9j!j#j$j# $ % s t u 0b1b2b%j'jBlCl(j)j*j+j,j-j.j/j:j;j=j?jDlElgdhdid3b4b5bvdwdxd)c*c+c,c-c.c6b7b8b/c:c;c9b!b#b? @ [ $b%b'b=c?c@c[c]c^c@j[j]j^j_j`j{j|j}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkfn~m
553 if kwarg_value is not Undefined: 2a |d'd(dIkVlWl%llmPlVm7mJk8mydKkLkMkxmCk7lmmEd9m!m1mNkymzmPmygzg(b)bFl}d~daebecedeeefe[l]lAgBg}eRfSfTfUfv Cf~eogw KdLdCgDgOkPkQkEgFgGgHgx g ] IgRkJgKgLgMgNgOgSk_c^ jd*b+b_ ,b` ' { -b.bPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g6g7gan_mb ge)d*dTkXlYl'lnmQlWm#mUk$mzdVkWkXkAmDk8lomFd%m'm2mYkBmCmQm8g9g/b:b;b=bGlheiejekelemeneoe^l_l!g#g(lafbfVfWfXfYfZf0f1f2fy z DfEfcfdfpgA B MdNdOdPd$g%gZk0k1k'g(g)g*gC D h i | } +g2k,g-g.g/g:g;g3k`c{c~ abkdld?b@b[b]bbbcb^b_bdbeb( ) fbgb`b{b|b}b=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghbn`mc peqe+d,d-d.d4kZl0l)lpmRlXm(m5k)mAd6k7k8kDmEk9lqmGd*m+m3m9kEmFmRmhhihjhkh~bacbcccdcecHlIlreseteuevewexeyezeAeBeCeDeEeFeGe`l{l|l}llhmhnhoh*l+lefffgf3f4f5f6f7f8f9f!f#f$f%f'fE F G FfGfHfhfifjfqgrgH I J QdRdSdTdUdVdphqhrhsh!k#k$k%k'k(kthuhvhwhxhyhzhAhK L M j k l hbibjbBhCh)k*kDhEhFhGhHhIhJhKhLhMhNhOh+k,k|c}c~ckblbmbmdndodfcgchcicjckcnbobpblcmcncqbrbsb* + , tbubvbocpcqcrcsctcPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?hcn{md HeIe/d:d;d=d-k1l2l,lrmSlYm,m.k-mBd/k:k;kGmFk!lsmHd.m/m4m=kHmImSm@h[h]h^hucvcwcxcyczcJlKlJeKeLeMeNeOePeQeReSeTeUeVeWeXeYe~lambmcm_h`h{h|h-l.lkflfmf(f)f*f+f,f-f.f/f:f;f=f?fN O P IfJfKfnfofpfsgtgQ R S WdXdYdZd0d1d}h~haibi?k@k[k]k^k_kcidieifigihiiijiT U V m n o wbxbybkili`k{kminioipiqirisitiuiviwixi|k}kadbdcdzbAbBbpdqdrdAcBcCcDcEcFcCbDbEbGcHcIcFbGbHb- . / IbJbKbJcKcLcMcNcOcyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i9idn|me Ze0e?d@d[d]d~k3l4l/ltmTlZm:mal;mCdblcldlJmGk#lumId=m?m5melKmLmTm!i#i$i%iPcQcRcScTcUcLlMl1e2e3e4e5e6e7e8e9e!e#e$e%e'e(e)edmemfmgm'i(i)i*i:l;lqfrfsf@f[f]f^f_f`f{f|f}f~fagbgW X Y LfMfNftfufvfugvgZ 0 1 2d3d4d5d6d7d+i,i-i.iflglhliljlkl/i:i;i=i?i@i[i]i2 3 4 p q r LbMbNb^i_illml`i{i|i}i~iajbjcjdjejfjgjnlolddedfdObPbQbsdtdudVcWcXcYcZc0cRbSbTb1c2c3cUbVbWb: ; = XbYbZb4c5c6c7c8c9chjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjen}mf *e+e^d_d`d{dpl5l6l=lvmUl0m@mql[mDdrlsltlMmHk$lwmJd]m^m6mulNmOmUmTjUjVjWj!c#c$c%c'c(cNlOl,e-e.e/e:e;e=e?e@e[e]e^e_e`e{e|ehmimjmkmXjYjZj0j?l@lwfxfyfcgdgegfggghgigjgkglgmgng5 6 7 OfPfQfzfAfBfwgxg8 9 ! 8d9d!d#d$d%d1j2j3j4jvlwlxlylzlAl5j6j7j8j9j!j#j$j# $ % s t u 0b1b2b%j'jBlCl(j)j*j+j,j-j.j/j:j;j=j?jDlElgdhdid3b4b5bvdwdxd)c*c+c,c-c.c6b7b8b/c:c;c9b!b#b? @ [ $b%b'b=c?c@c[c]c^c@j[j]j^j_j`j{j|j}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkfn~m
554 return kwarg_value 2a |d'd(dIkVlWl%llmPlVmJkydKkLkMkxmCk7lmmEdNkymzmPmygzg(b)bFl}d~daebecedeeefe[l]lAgBg}eRfSfTfUfv Cf~eogw KdLdCgDgOkPkQkEgFgGgHgx g ] IgRkJgKgLgMgNgOgSk_c^ jd*b+b_ ,b` ' { -b.bPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g6g7gb ge)d*dTkXlYl'lnmQlWmUkzdVkWkXkAmDk8lomFdYkBmCmQm8g9g/b:b;b=bGlheiejekelemeneoe^l_l!g#g(lafbfVfWfXfYfZf0f1f2fy z DfEfcfdfpgA B MdNdOdPd$g%gZk0k1k'g(g)g*gC D h i | } +g2k,g-g.g/g:g;g3k`c{c~ abkdld?b@b[b]bbbcb^b_bdbeb( ) fbgb`b{b|b}b=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghc peqe+d,d-d.d4kZl0l)lpmRlXm5kAd6k7k8kDmEk9lqmGd9kEmFmRmhhihjhkh~bacbcccdcecHlIlreseteuevewexeyezeAeBeCeDeEeFeGe`l{l|l}llhmhnhoh*l+lefffgf3f4f5f6f7f8f9f!f#f$f%f'fE F G FfGfHfhfifjfqgrgH I J QdRdSdTdUdVdphqhrhsh!k#k$k%k'k(kthuhvhwhxhyhzhAhK L M j k l hbibjbBhCh)k*kDhEhFhGhHhIhJhKhLhMhNhOh+k,k|c}c~ckblbmbmdndodfcgchcicjckcnbobpblcmcncqbrbsb* + , tbubvbocpcqcrcsctcPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?hd HeIe/d:d;d=d-k1l2l,lrmSlYm.kBd/k:k;kGmFk!lsmHd=kHmImSm@h[h]h^hucvcwcxcyczcJlKlJeKeLeMeNeOePeQeReSeTeUeVeWeXeYe~lambmcm_h`h{h|h-l.lkflfmf(f)f*f+f,f-f.f/f:f;f=f?fN O P IfJfKfnfofpfsgtgQ R S WdXdYdZd0d1d}h~haibi?k@k[k]k^k_kcidieifigihiiijiT U V m n o wbxbybkili`k{kminioipiqirisitiuiviwixi|k}kadbdcdzbAbBbpdqdrdAcBcCcDcEcFcCbDbEbGcHcIcFbGbHb- . / IbJbKbJcKcLcMcNcOcyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i9ie Ze0e?d@d[d]d~k3l4l/ltmTlZmalCdblcldlJmGk#lumIdelKmLmTm!i#i$i%iPcQcRcScTcUcLlMl1e2e3e4e5e6e7e8e9e!e#e$e%e'e(e)edmemfmgm'i(i)i*i:l;lqfrfsf@f[f]f^f_f`f{f|f}f~fagbgW X Y LfMfNftfufvfugvgZ 0 1 2d3d4d5d6d7d+i,i-i.iflglhliljlkl/i:i;i=i?i@i[i]i2 3 4 p q r LbMbNb^i_illml`i{i|i}i~iajbjcjdjejfjgjnlolddedfdObPbQbsdtdudVcWcXcYcZc0cRbSbTb1c2c3cUbVbWb: ; = XbYbZb4c5c6c7c8c9chjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjf *e+e^d_d`d{dpl5l6l=lvmUl0mqlDdrlsltlMmHk$lwmJdulNmOmUmTjUjVjWj!c#c$c%c'c(cNlOl,e-e.e/e:e;e=e?e@e[e]e^e_e`e{e|ehmimjmkmXjYjZj0j?l@lwfxfyfcgdgegfggghgigjgkglgmgng5 6 7 OfPfQfzfAfBfwgxg8 9 ! 8d9d!d#d$d%d1j2j3j4jvlwlxlylzlAl5j6j7j8j9j!j#j$j# $ % s t u 0b1b2b%j'jBlCl(j)j*j+j,j-j.j/j:j;j=j?jDlElgdhdid3b4b5bvdwdxd)c*c+c,c-c.c6b7b8b/c:c;c9b!b#b? @ [ $b%b'b=c?c@c[c]c^c@j[j]j^j_j`j{j|j}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBk
555 return Undefined 2a |d'd(dIkVlWl%llmPlVm7mJk8mydKkLkMkCk7lmmEd9m!m1mNkygzg(b)bFl}d~daebecedeeefe[l]lAgBg}eRfSfTfUfv Cf~eogw KdLdCgDgOkPkQkEgFgGgHgx g ] IgRkJgKgLgMgNgOgSk_c^ jd*b+b_ ,b` ' { -b.bPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g6g7gan_mb ge)d*dTkXlYl'lnmQlWm#mUk$mzdVkWkXkDk8lomFd%m'm2mYk8g9g/b:b;b=bGlheiejekelemeneoe^l_l!g#g(lafbfVfWfXfYfZf0f1f2fy z DfEfcfdfpgA B MdNdOdPd$g%gZk0k1k'g(g)g*gC D h i | } +g2k,g-g.g/g:g;g3k`c{c~ abkdld?b@b[b]bbbcb^b_bdbeb( ) fbgb`b{b|b}b=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghbn`mc peqe+d,d-d.d4kZl0l)lpmRlXm(m5k)mAd6k7k8kEk9lqmGd*m+m3m9khhihjhkh~bacbcccdcecHlIlreseteuevewexeyezeAeBeCeDeEeFeGe`l{l|l}llhmhnhoh*l+lefffgf3f4f5f6f7f8f9f!f#f$f%f'fE F G FfGfHfhfifjfqgrgH I J QdRdSdTdUdVdphqhrhsh!k#k$k%k'k(kthuhvhwhxhyhzhAhK L M j k l hbibjbBhCh)k*kDhEhFhGhHhIhJhKhLhMhNhOh+k,k|c}c~ckblbmbmdndodfcgchcicjckcnbobpblcmcncqbrbsb* + , tbubvbocpcqcrcsctcPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?hcn{md HeIe/d:d;d=d-k1l2l,lrmSlYm,m.k-mBd/k:k;kFk!lsmHd.m/m4m=k@h[h]h^hucvcwcxcyczcJlKlJeKeLeMeNeOePeQeReSeTeUeVeWeXeYe~lambmcm_h`h{h|h-l.lkflfmf(f)f*f+f,f-f.f/f:f;f=f?fN O P IfJfKfnfofpfsgtgQ R S WdXdYdZd0d1d}h~haibi?k@k[k]k^k_kcidieifigihiiijiT U V m n o wbxbybkili`k{kminioipiqirisitiuiviwixi|k}kadbdcdzbAbBbpdqdrdAcBcCcDcEcFcCbDbEbGcHcIcFbGbHb- . / IbJbKbJcKcLcMcNcOcyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i9idn|me Ze0e?d@d[d]d~k3l4l/ltmTlZm:mal;mCdblcldlGk#lumId=m?m5mel!i#i$i%iPcQcRcScTcUcLlMl1e2e3e4e5e6e7e8e9e!e#e$e%e'e(e)edmemfmgm'i(i)i*i:l;lqfrfsf@f[f]f^f_f`f{f|f}f~fagbgW X Y LfMfNftfufvfugvgZ 0 1 2d3d4d5d6d7d+i,i-i.iflglhliljlkl/i:i;i=i?i@i[i]i2 3 4 p q r LbMbNb^i_illml`i{i|i}i~iajbjcjdjejfjgjnlolddedfdObPbQbsdtdudVcWcXcYcZc0cRbSbTb1c2c3cUbVbWb: ; = XbYbZb4c5c6c7c8c9chjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjen}mf *e+e^d_d`d{dpl5l6l=lvmUl0m@mql[mDdrlsltlHk$lwmJd]m^m6mulTjUjVjWj!c#c$c%c'c(cNlOl,e-e.e/e:e;e=e?e@e[e]e^e_e`e{e|ehmimjmkmXjYjZj0j?l@lwfxfyfcgdgegfggghgigjgkglgmgng5 6 7 OfPfQfzfAfBfwgxg8 9 ! 8d9d!d#d$d%d1j2j3j4jvlwlxlylzlAl5j6j7j8j9j!j#j$j# $ % s t u 0b1b2b%j'jBlCl(j)j*j+j,j-j.j/j:j;j=j?jDlElgdhdid3b4b5bvdwdxd)c*c+c,c-c.c6b7b8b/c:c;c9b!b#b? @ [ $b%b'b=c?c@c[c]c^c@j[j]j^j_j`j{j|j}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkfn~m
557 config_table = get_config("table") 2a |d'd(dIkVlWl%llmPlVm7mJk8mydKkLkMkxmCk7lmmEd9m!m1mNkymzmPmygzg(b)bFl}d~daebecedeeefe[l]lAgBg}eRfSfTfUfv Cf~eogw KdLdCgDgOkPkQkEgFgGgHgx g ] IgRkJgKgLgMgNgOgSk_c^ jd*b+b_ ,b` ' { -b.bPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g6g7gan_mb ge)d*dTkXlYl'lnmQlWm#mUk$mzdVkWkXkAmDk8lomFd%m'm2mYkBmCmQm8g9g/b:b;b=bGlheiejekelemeneoe^l_l!g#g(lafbfVfWfXfYfZf0f1f2fy z DfEfcfdfpgA B MdNdOdPd$g%gZk0k1k'g(g)g*gC D h i | } +g2k,g-g.g/g:g;g3k`c{c~ abkdld?b@b[b]bbbcb^b_bdbeb( ) fbgb`b{b|b}b=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghbn`mc peqe+d,d-d.d4kZl0l)lpmRlXm(m5k)mAd6k7k8kDmEk9lqmGd*m+m3m9kEmFmRmhhihjhkh~bacbcccdcecHlIlreseteuevewexeyezeAeBeCeDeEeFeGe`l{l|l}llhmhnhoh*l+lefffgf3f4f5f6f7f8f9f!f#f$f%f'fE F G FfGfHfhfifjfqgrgH I J QdRdSdTdUdVdphqhrhsh!k#k$k%k'k(kthuhvhwhxhyhzhAhK L M j k l hbibjbBhCh)k*kDhEhFhGhHhIhJhKhLhMhNhOh+k,k|c}c~ckblbmbmdndodfcgchcicjckcnbobpblcmcncqbrbsb* + , tbubvbocpcqcrcsctcPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?hcn{md HeIe/d:d;d=d-k1l2l,lrmSlYm,m.k-mBd/k:k;kGmFk!lsmHd.m/m4m=kHmImSm@h[h]h^hucvcwcxcyczcJlKlJeKeLeMeNeOePeQeReSeTeUeVeWeXeYe~lambmcm_h`h{h|h-l.lkflfmf(f)f*f+f,f-f.f/f:f;f=f?fN O P IfJfKfnfofpfsgtgQ R S WdXdYdZd0d1d}h~haibi?k@k[k]k^k_kcidieifigihiiijiT U V m n o wbxbybkili`k{kminioipiqirisitiuiviwixi|k}kadbdcdzbAbBbpdqdrdAcBcCcDcEcFcCbDbEbGcHcIcFbGbHb- . / IbJbKbJcKcLcMcNcOcyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i9idn|me Ze0e?d@d[d]d~k3l4l/ltmTlZm:mal;mCdblcldlJmGk#lumId=m?m5melKmLmTm!i#i$i%iPcQcRcScTcUcLlMl1e2e3e4e5e6e7e8e9e!e#e$e%e'e(e)edmemfmgm'i(i)i*i:l;lqfrfsf@f[f]f^f_f`f{f|f}f~fagbgW X Y LfMfNftfufvfugvgZ 0 1 2d3d4d5d6d7d+i,i-i.iflglhliljlkl/i:i;i=i?i@i[i]i2 3 4 p q r LbMbNb^i_illml`i{i|i}i~iajbjcjdjejfjgjnlolddedfdObPbQbsdtdudVcWcXcYcZc0cRbSbTb1c2c3cUbVbWb: ; = XbYbZb4c5c6c7c8c9chjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjen}mf *e+e^d_d`d{dpl5l6l=lvmUl0m@mql[mDdrlsltlMmHk$lwmJd]m^m6mulNmOmUmTjUjVjWj!c#c$c%c'c(cNlOl,e-e.e/e:e;e=e?e@e[e]e^e_e`e{e|ehmimjmkmXjYjZj0j?l@lwfxfyfcgdgegfggghgigjgkglgmgng5 6 7 OfPfQfzfAfBfwgxg8 9 ! 8d9d!d#d$d%d1j2j3j4jvlwlxlylzlAl5j6j7j8j9j!j#j$j# $ % s t u 0b1b2b%j'jBlCl(j)j*j+j,j-j.j/j:j;j=j?jDlElgdhdid3b4b5bvdwdxd)c*c+c,c-c.c6b7b8b/c:c;c9b!b#b? @ [ $b%b'b=c?c@c[c]c^c@j[j]j^j_j`j{j|j}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkfn~m
558 if config_table is True: 2a |d'd(dIkVlWl%llmPlVm7mJk8mydKkLkMkxmCk7lmmEd9m!m1mNkymzmPmygzg(b)bFl}d~daebecedeeefe[l]lAgBg}eRfSfTfUfv Cf~eogw KdLdCgDgOkPkQkEgFgGgHgx g ] IgRkJgKgLgMgNgOgSk_c^ jd*b+b_ ,b` ' { -b.bPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g6g7gan_mb ge)d*dTkXlYl'lnmQlWm#mUk$mzdVkWkXkAmDk8lomFd%m'm2mYkBmCmQm8g9g/b:b;b=bGlheiejekelemeneoe^l_l!g#g(lafbfVfWfXfYfZf0f1f2fy z DfEfcfdfpgA B MdNdOdPd$g%gZk0k1k'g(g)g*gC D h i | } +g2k,g-g.g/g:g;g3k`c{c~ abkdld?b@b[b]bbbcb^b_bdbeb( ) fbgb`b{b|b}b=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghbn`mc peqe+d,d-d.d4kZl0l)lpmRlXm(m5k)mAd6k7k8kDmEk9lqmGd*m+m3m9kEmFmRmhhihjhkh~bacbcccdcecHlIlreseteuevewexeyezeAeBeCeDeEeFeGe`l{l|l}llhmhnhoh*l+lefffgf3f4f5f6f7f8f9f!f#f$f%f'fE F G FfGfHfhfifjfqgrgH I J QdRdSdTdUdVdphqhrhsh!k#k$k%k'k(kthuhvhwhxhyhzhAhK L M j k l hbibjbBhCh)k*kDhEhFhGhHhIhJhKhLhMhNhOh+k,k|c}c~ckblbmbmdndodfcgchcicjckcnbobpblcmcncqbrbsb* + , tbubvbocpcqcrcsctcPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?hcn{md HeIe/d:d;d=d-k1l2l,lrmSlYm,m.k-mBd/k:k;kGmFk!lsmHd.m/m4m=kHmImSm@h[h]h^hucvcwcxcyczcJlKlJeKeLeMeNeOePeQeReSeTeUeVeWeXeYe~lambmcm_h`h{h|h-l.lkflfmf(f)f*f+f,f-f.f/f:f;f=f?fN O P IfJfKfnfofpfsgtgQ R S WdXdYdZd0d1d}h~haibi?k@k[k]k^k_kcidieifigihiiijiT U V m n o wbxbybkili`k{kminioipiqirisitiuiviwixi|k}kadbdcdzbAbBbpdqdrdAcBcCcDcEcFcCbDbEbGcHcIcFbGbHb- . / IbJbKbJcKcLcMcNcOcyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i9idn|me Ze0e?d@d[d]d~k3l4l/ltmTlZm:mal;mCdblcldlJmGk#lumId=m?m5melKmLmTm!i#i$i%iPcQcRcScTcUcLlMl1e2e3e4e5e6e7e8e9e!e#e$e%e'e(e)edmemfmgm'i(i)i*i:l;lqfrfsf@f[f]f^f_f`f{f|f}f~fagbgW X Y LfMfNftfufvfugvgZ 0 1 2d3d4d5d6d7d+i,i-i.iflglhliljlkl/i:i;i=i?i@i[i]i2 3 4 p q r LbMbNb^i_illml`i{i|i}i~iajbjcjdjejfjgjnlolddedfdObPbQbsdtdudVcWcXcYcZc0cRbSbTb1c2c3cUbVbWb: ; = XbYbZb4c5c6c7c8c9chjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjen}mf *e+e^d_d`d{dpl5l6l=lvmUl0m@mql[mDdrlsltlMmHk$lwmJd]m^m6mulNmOmUmTjUjVjWj!c#c$c%c'c(cNlOl,e-e.e/e:e;e=e?e@e[e]e^e_e`e{e|ehmimjmkmXjYjZj0j?l@lwfxfyfcgdgegfggghgigjgkglgmgng5 6 7 OfPfQfzfAfBfwgxg8 9 ! 8d9d!d#d$d%d1j2j3j4jvlwlxlylzlAl5j6j7j8j9j!j#j$j# $ % s t u 0b1b2b%j'jBlCl(j)j*j+j,j-j.j/j:j;j=j?jDlElgdhdid3b4b5bvdwdxd)c*c+c,c-c.c6b7b8b/c:c;c9b!b#b? @ [ $b%b'b=c?c@c[c]c^c@j[j]j^j_j`j{j|j}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkfn~m
559 # If it was passed by kwargs, ensure it's also set in config
560 set_config_value(model=new_cls, parameter="table", value=config_table) 2a |d'd(dIkVlWl%llmPlVmJkydKkLkMkxmCk7lmmEdNkymzmPmygzg(b)bFl}d~daebecedeeefe[l]lAgBg}eRfSfTfUfv Cf~eogw KdLdCgDgOkPkQkEgFgGgHgx g ] IgRkJgKgLgMgNgOgSk_c^ jd*b+b_ ,b` ' { -b.bPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g6g7gb ge)d*dTkXlYl'lnmQlWmUkzdVkWkXkAmDk8lomFdYkBmCmQm8g9g/b:b;b=bGlheiejekelemeneoe^l_l!g#g(lafbfVfWfXfYfZf0f1f2fy z DfEfcfdfpgA B MdNdOdPd$g%gZk0k1k'g(g)g*gC D h i | } +g2k,g-g.g/g:g;g3k`c{c~ abkdld?b@b[b]bbbcb^b_bdbeb( ) fbgb`b{b|b}b=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghc peqe+d,d-d.d4kZl0l)lpmRlXm5kAd6k7k8kDmEk9lqmGd9kEmFmRmhhihjhkh~bacbcccdcecHlIlreseteuevewexeyezeAeBeCeDeEeFeGe`l{l|l}llhmhnhoh*l+lefffgf3f4f5f6f7f8f9f!f#f$f%f'fE F G FfGfHfhfifjfqgrgH I J QdRdSdTdUdVdphqhrhsh!k#k$k%k'k(kthuhvhwhxhyhzhAhK L M j k l hbibjbBhCh)k*kDhEhFhGhHhIhJhKhLhMhNhOh+k,k|c}c~ckblbmbmdndodfcgchcicjckcnbobpblcmcncqbrbsb* + , tbubvbocpcqcrcsctcPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?hd HeIe/d:d;d=d-k1l2l,lrmSlYm.kBd/k:k;kGmFk!lsmHd=kHmImSm@h[h]h^hucvcwcxcyczcJlKlJeKeLeMeNeOePeQeReSeTeUeVeWeXeYe~lambmcm_h`h{h|h-l.lkflfmf(f)f*f+f,f-f.f/f:f;f=f?fN O P IfJfKfnfofpfsgtgQ R S WdXdYdZd0d1d}h~haibi?k@k[k]k^k_kcidieifigihiiijiT U V m n o wbxbybkili`k{kminioipiqirisitiuiviwixi|k}kadbdcdzbAbBbpdqdrdAcBcCcDcEcFcCbDbEbGcHcIcFbGbHb- . / IbJbKbJcKcLcMcNcOcyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i9ie Ze0e?d@d[d]d~k3l4l/ltmTlZmalCdblcldlJmGk#lumIdelKmLmTm!i#i$i%iPcQcRcScTcUcLlMl1e2e3e4e5e6e7e8e9e!e#e$e%e'e(e)edmemfmgm'i(i)i*i:l;lqfrfsf@f[f]f^f_f`f{f|f}f~fagbgW X Y LfMfNftfufvfugvgZ 0 1 2d3d4d5d6d7d+i,i-i.iflglhliljlkl/i:i;i=i?i@i[i]i2 3 4 p q r LbMbNb^i_illml`i{i|i}i~iajbjcjdjejfjgjnlolddedfdObPbQbsdtdudVcWcXcYcZc0cRbSbTb1c2c3cUbVbWb: ; = XbYbZb4c5c6c7c8c9chjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjf *e+e^d_d`d{dpl5l6l=lvmUl0mqlDdrlsltlMmHk$lwmJdulNmOmUmTjUjVjWj!c#c$c%c'c(cNlOl,e-e.e/e:e;e=e?e@e[e]e^e_e`e{e|ehmimjmkmXjYjZj0j?l@lwfxfyfcgdgegfggghgigjgkglgmgng5 6 7 OfPfQfzfAfBfwgxg8 9 ! 8d9d!d#d$d%d1j2j3j4jvlwlxlylzlAl5j6j7j8j9j!j#j$j# $ % s t u 0b1b2b%j'jBlCl(j)j*j+j,j-j.j/j:j;j=j?jDlElgdhdid3b4b5bvdwdxd)c*c+c,c-c.c6b7b8b/c:c;c9b!b#b? @ [ $b%b'b=c?c@c[c]c^c@j[j]j^j_j`j{j|j}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBk
561 for k, v in get_model_fields(new_cls).items(): 2a |d'd(dIkVlWl%llmPlVmJkydKkLkMkxmCk7lmmEdNkymzmPmygzg(b)bFl}d~daebecedeeefe[l]lAgBg}eRfSfTfUfv Cf~eogw KdLdCgDgOkPkQkEgFgGgHgx g ] IgRkJgKgLgMgNgOgSk_c^ jd*b+b_ ,b` ' { -b.bPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g6g7gb ge)d*dTkXlYl'lnmQlWmUkzdVkWkXkAmDk8lomFdYkBmCmQm8g9g/b:b;b=bGlheiejekelemeneoe^l_l!g#g(lafbfVfWfXfYfZf0f1f2fy z DfEfcfdfpgA B MdNdOdPd$g%gZk0k1k'g(g)g*gC D h i | } +g2k,g-g.g/g:g;g3k`c{c~ abkdld?b@b[b]bbbcb^b_bdbeb( ) fbgb`b{b|b}b=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghc peqe+d,d-d.d4kZl0l)lpmRlXm5kAd6k7k8kDmEk9lqmGd9kEmFmRmhhihjhkh~bacbcccdcecHlIlreseteuevewexeyezeAeBeCeDeEeFeGe`l{l|l}llhmhnhoh*l+lefffgf3f4f5f6f7f8f9f!f#f$f%f'fE F G FfGfHfhfifjfqgrgH I J QdRdSdTdUdVdphqhrhsh!k#k$k%k'k(kthuhvhwhxhyhzhAhK L M j k l hbibjbBhCh)k*kDhEhFhGhHhIhJhKhLhMhNhOh+k,k|c}c~ckblbmbmdndodfcgchcicjckcnbobpblcmcncqbrbsb* + , tbubvbocpcqcrcsctcPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?hd HeIe/d:d;d=d-k1l2l,lrmSlYm.kBd/k:k;kGmFk!lsmHd=kHmImSm@h[h]h^hucvcwcxcyczcJlKlJeKeLeMeNeOePeQeReSeTeUeVeWeXeYe~lambmcm_h`h{h|h-l.lkflfmf(f)f*f+f,f-f.f/f:f;f=f?fN O P IfJfKfnfofpfsgtgQ R S WdXdYdZd0d1d}h~haibi?k@k[k]k^k_kcidieifigihiiijiT U V m n o wbxbybkili`k{kminioipiqirisitiuiviwixi|k}kadbdcdzbAbBbpdqdrdAcBcCcDcEcFcCbDbEbGcHcIcFbGbHb- . / IbJbKbJcKcLcMcNcOcyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i9ie Ze0e?d@d[d]d~k3l4l/ltmTlZmalCdblcldlJmGk#lumIdelKmLmTm!i#i$i%iPcQcRcScTcUcLlMl1e2e3e4e5e6e7e8e9e!e#e$e%e'e(e)edmemfmgm'i(i)i*i:l;lqfrfsf@f[f]f^f_f`f{f|f}f~fagbgW X Y LfMfNftfufvfugvgZ 0 1 2d3d4d5d6d7d+i,i-i.iflglhliljlkl/i:i;i=i?i@i[i]i2 3 4 p q r LbMbNb^i_illml`i{i|i}i~iajbjcjdjejfjgjnlolddedfdObPbQbsdtdudVcWcXcYcZc0cRbSbTb1c2c3cUbVbWb: ; = XbYbZb4c5c6c7c8c9chjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjf *e+e^d_d`d{dpl5l6l=lvmUl0mqlDdrlsltlMmHk$lwmJdulNmOmUmTjUjVjWj!c#c$c%c'c(cNlOl,e-e.e/e:e;e=e?e@e[e]e^e_e`e{e|ehmimjmkmXjYjZj0j?l@lwfxfyfcgdgegfggghgigjgkglgmgng5 6 7 OfPfQfzfAfBfwgxg8 9 ! 8d9d!d#d$d%d1j2j3j4jvlwlxlylzlAl5j6j7j8j9j!j#j$j# $ % s t u 0b1b2b%j'jBlCl(j)j*j+j,j-j.j/j:j;j=j?jDlElgdhdid3b4b5bvdwdxd)c*c+c,c-c.c6b7b8b/c:c;c9b!b#b? @ [ $b%b'b=c?c@c[c]c^c@j[j]j^j_j`j{j|j}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBk
562 col = get_column_from_field(v) 2a |d'd(dIkVlWl%llmPlVmJkydKkLkMkxmCk7lmmEdNkymzmPmygzg(b)bFl}d~daebecedeeefe[l]lAgBg}eRfSfTfUfv Cf~eogw KdLdCgDgOkPkQkEgFgGgHgx g ] IgRkJgKgLgMgNgOgSk_c^ jd*b+b_ ,b` ' { -b.bPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g6g7gb ge)d*dTkXlYl'lnmQlWmUkzdVkWkXkAmDk8lomFdYkBmCmQm8g9g/b:b;b=bGlheiejekelemeneoe^l_l!g#g(lafbfVfWfXfYfZf0f1f2fy z DfEfcfdfpgA B MdNdOdPd$g%gZk0k1k'g(g)g*gC D h i | } +g2k,g-g.g/g:g;g3k`c{c~ abkdld?b@b[b]bbbcb^b_bdbeb( ) fbgb`b{b|b}b=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghc peqe+d,d-d.d4kZl0l)lpmRlXm5kAd6k7k8kDmEk9lqmGd9kEmFmRmhhihjhkh~bacbcccdcecHlIlreseteuevewexeyezeAeBeCeDeEeFeGe`l{l|l}llhmhnhoh*l+lefffgf3f4f5f6f7f8f9f!f#f$f%f'fE F G FfGfHfhfifjfqgrgH I J QdRdSdTdUdVdphqhrhsh!k#k$k%k'k(kthuhvhwhxhyhzhAhK L M j k l hbibjbBhCh)k*kDhEhFhGhHhIhJhKhLhMhNhOh+k,k|c}c~ckblbmbmdndodfcgchcicjckcnbobpblcmcncqbrbsb* + , tbubvbocpcqcrcsctcPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?hd HeIe/d:d;d=d-k1l2l,lrmSlYm.kBd/k:k;kGmFk!lsmHd=kHmImSm@h[h]h^hucvcwcxcyczcJlKlJeKeLeMeNeOePeQeReSeTeUeVeWeXeYe~lambmcm_h`h{h|h-l.lkflfmf(f)f*f+f,f-f.f/f:f;f=f?fN O P IfJfKfnfofpfsgtgQ R S WdXdYdZd0d1d}h~haibi?k@k[k]k^k_kcidieifigihiiijiT U V m n o wbxbybkili`k{kminioipiqirisitiuiviwixi|k}kadbdcdzbAbBbpdqdrdAcBcCcDcEcFcCbDbEbGcHcIcFbGbHb- . / IbJbKbJcKcLcMcNcOcyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i9ie Ze0e?d@d[d]d~k3l4l/ltmTlZmalCdblcldlJmGk#lumIdelKmLmTm!i#i$i%iPcQcRcScTcUcLlMl1e2e3e4e5e6e7e8e9e!e#e$e%e'e(e)edmemfmgm'i(i)i*i:l;lqfrfsf@f[f]f^f_f`f{f|f}f~fagbgW X Y LfMfNftfufvfugvgZ 0 1 2d3d4d5d6d7d+i,i-i.iflglhliljlkl/i:i;i=i?i@i[i]i2 3 4 p q r LbMbNb^i_illml`i{i|i}i~iajbjcjdjejfjgjnlolddedfdObPbQbsdtdudVcWcXcYcZc0cRbSbTb1c2c3cUbVbWb: ; = XbYbZb4c5c6c7c8c9chjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjf *e+e^d_d`d{dpl5l6l=lvmUl0mqlDdrlsltlMmHk$lwmJdulNmOmUmTjUjVjWj!c#c$c%c'c(cNlOl,e-e.e/e:e;e=e?e@e[e]e^e_e`e{e|ehmimjmkmXjYjZj0j?l@lwfxfyfcgdgegfggghgigjgkglgmgng5 6 7 OfPfQfzfAfBfwgxg8 9 ! 8d9d!d#d$d%d1j2j3j4jvlwlxlylzlAl5j6j7j8j9j!j#j$j# $ % s t u 0b1b2b%j'jBlCl(j)j*j+j,j-j.j/j:j;j=j?jDlElgdhdid3b4b5bvdwdxd)c*c+c,c-c.c6b7b8b/c:c;c9b!b#b? @ [ $b%b'b=c?c@c[c]c^c@j[j]j^j_j`j{j|j}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBk
563 setattr(new_cls, k, col) 2a |d'd(dIkVlWl%llmPlVmJkydKkLkMkxmCk7lmmEdNkymzmPmygzg(b)bFl}d~daebecedeeefe[l]lAgBg}eRfSfTfUfv Cf~eogw KdLdCgDgOkPkQkEgFgGgHgx g ] IgRkJgKgLgMgNgOgSk_c^ jd*b+b_ ,b` ' { -b.bPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g6g7gb ge)d*dTkXlYl'lnmQlWmUkzdVkWkXkAmDk8lomFdYkBmCmQm8g9g/b:b;b=bGlheiejekelemeneoe^l_l!g#g(lafbfVfWfXfYfZf0f1f2fy z DfEfcfdfpgA B MdNdOdPd$g%gZk0k1k'g(g)g*gC D h i | } +g2k,g-g.g/g:g;g3k`c{c~ abkdld?b@b[b]bbbcb^b_bdbeb( ) fbgb`b{b|b}b=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghc peqe+d,d-d.d4kZl0l)lpmRlXm5kAd6k7k8kDmEk9lqmGd9kEmFmRmhhihjhkh~bacbcccdcecHlIlreseteuevewexeyezeAeBeCeDeEeFeGe`l{l|l}llhmhnhoh*l+lefffgf3f4f5f6f7f8f9f!f#f$f%f'fE F G FfGfHfhfifjfqgrgH I J QdRdSdTdUdVdphqhrhsh!k#k$k%k'k(kthuhvhwhxhyhzhAhK L M j k l hbibjbBhCh)k*kDhEhFhGhHhIhJhKhLhMhNhOh+k,k|c}c~ckblbmbmdndodfcgchcicjckcnbobpblcmcncqbrbsb* + , tbubvbocpcqcrcsctcPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?hd HeIe/d:d;d=d-k1l2l,lrmSlYm.kBd/k:k;kGmFk!lsmHd=kHmImSm@h[h]h^hucvcwcxcyczcJlKlJeKeLeMeNeOePeQeReSeTeUeVeWeXeYe~lambmcm_h`h{h|h-l.lkflfmf(f)f*f+f,f-f.f/f:f;f=f?fN O P IfJfKfnfofpfsgtgQ R S WdXdYdZd0d1d}h~haibi?k@k[k]k^k_kcidieifigihiiijiT U V m n o wbxbybkili`k{kminioipiqirisitiuiviwixi|k}kadbdcdzbAbBbpdqdrdAcBcCcDcEcFcCbDbEbGcHcIcFbGbHb- . / IbJbKbJcKcLcMcNcOcyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i9ie Ze0e?d@d[d]d~k3l4l/ltmTlZmalCdblcldlJmGk#lumIdelKmLmTm!i#i$i%iPcQcRcScTcUcLlMl1e2e3e4e5e6e7e8e9e!e#e$e%e'e(e)edmemfmgm'i(i)i*i:l;lqfrfsf@f[f]f^f_f`f{f|f}f~fagbgW X Y LfMfNftfufvfugvgZ 0 1 2d3d4d5d6d7d+i,i-i.iflglhliljlkl/i:i;i=i?i@i[i]i2 3 4 p q r LbMbNb^i_illml`i{i|i}i~iajbjcjdjejfjgjnlolddedfdObPbQbsdtdudVcWcXcYcZc0cRbSbTb1c2c3cUbVbWb: ; = XbYbZb4c5c6c7c8c9chjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjf *e+e^d_d`d{dpl5l6l=lvmUl0mqlDdrlsltlMmHk$lwmJdulNmOmUmTjUjVjWj!c#c$c%c'c(cNlOl,e-e.e/e:e;e=e?e@e[e]e^e_e`e{e|ehmimjmkmXjYjZj0j?l@lwfxfyfcgdgegfggghgigjgkglgmgng5 6 7 OfPfQfzfAfBfwgxg8 9 ! 8d9d!d#d$d%d1j2j3j4jvlwlxlylzlAl5j6j7j8j9j!j#j$j# $ % s t u 0b1b2b%j'jBlCl(j)j*j+j,j-j.j/j:j;j=j?jDlElgdhdid3b4b5bvdwdxd)c*c+c,c-c.c6b7b8b/c:c;c9b!b#b? @ [ $b%b'b=c?c@c[c]c^c@j[j]j^j_j`j{j|j}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBk
564 # Set a config flag to tell FastAPI that this should be read with a field
565 # in orm_mode instead of preemptively converting it to a dict.
566 # This could be done by reading new_cls.model_config['table'] in FastAPI, but
567 # that's very specific about SQLModel, so let's have another config that
568 # other future tools based on Pydantic can use.
569 set_config_value( 2a |d'd(dIkVlWl%llmPlVmJkydKkLkMkCk7lmmEdNkygzg(b)bFl}d~daebecedeeefe[l]lAgBg}eRfSfTfUfv Cf~eogw KdLdCgDgOkPkQkEgFgGgHgx g ] IgRkJgKgLgMgNgOgSk_c^ jd*b+b_ ,b` ' { -b.bPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g6g7gb ge)d*dTkXlYl'lnmQlWmUkzdVkWkXkDk8lomFdYk8g9g/b:b;b=bGlheiejekelemeneoe^l_l!g#g(lafbfVfWfXfYfZf0f1f2fy z DfEfcfdfpgA B MdNdOdPd$g%gZk0k1k'g(g)g*gC D h i | } +g2k,g-g.g/g:g;g3k`c{c~ abkdld?b@b[b]bbbcb^b_bdbeb( ) fbgb`b{b|b}b=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghc peqe+d,d-d.d4kZl0l)lpmRlXm5kAd6k7k8kEk9lqmGd9khhihjhkh~bacbcccdcecHlIlreseteuevewexeyezeAeBeCeDeEeFeGe`l{l|l}llhmhnhoh*l+lefffgf3f4f5f6f7f8f9f!f#f$f%f'fE F G FfGfHfhfifjfqgrgH I J QdRdSdTdUdVdphqhrhsh!k#k$k%k'k(kthuhvhwhxhyhzhAhK L M j k l hbibjbBhCh)k*kDhEhFhGhHhIhJhKhLhMhNhOh+k,k|c}c~ckblbmbmdndodfcgchcicjckcnbobpblcmcncqbrbsb* + , tbubvbocpcqcrcsctcPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?hd HeIe/d:d;d=d-k1l2l,lrmSlYm.kBd/k:k;kFk!lsmHd=k@h[h]h^hucvcwcxcyczcJlKlJeKeLeMeNeOePeQeReSeTeUeVeWeXeYe~lambmcm_h`h{h|h-l.lkflfmf(f)f*f+f,f-f.f/f:f;f=f?fN O P IfJfKfnfofpfsgtgQ R S WdXdYdZd0d1d}h~haibi?k@k[k]k^k_kcidieifigihiiijiT U V m n o wbxbybkili`k{kminioipiqirisitiuiviwixi|k}kadbdcdzbAbBbpdqdrdAcBcCcDcEcFcCbDbEbGcHcIcFbGbHb- . / IbJbKbJcKcLcMcNcOcyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i9ie Ze0e?d@d[d]d~k3l4l/ltmTlZmalCdblcldlGk#lumIdel!i#i$i%iPcQcRcScTcUcLlMl1e2e3e4e5e6e7e8e9e!e#e$e%e'e(e)edmemfmgm'i(i)i*i:l;lqfrfsf@f[f]f^f_f`f{f|f}f~fagbgW X Y LfMfNftfufvfugvgZ 0 1 2d3d4d5d6d7d+i,i-i.iflglhliljlkl/i:i;i=i?i@i[i]i2 3 4 p q r LbMbNb^i_illml`i{i|i}i~iajbjcjdjejfjgjnlolddedfdObPbQbsdtdudVcWcXcYcZc0cRbSbTb1c2c3cUbVbWb: ; = XbYbZb4c5c6c7c8c9chjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjf *e+e^d_d`d{dpl5l6l=lvmUl0mqlDdrlsltlHk$lwmJdulTjUjVjWj!c#c$c%c'c(cNlOl,e-e.e/e:e;e=e?e@e[e]e^e_e`e{e|ehmimjmkmXjYjZj0j?l@lwfxfyfcgdgegfggghgigjgkglgmgng5 6 7 OfPfQfzfAfBfwgxg8 9 ! 8d9d!d#d$d%d1j2j3j4jvlwlxlylzlAl5j6j7j8j9j!j#j$j# $ % s t u 0b1b2b%j'jBlCl(j)j*j+j,j-j.j/j:j;j=j?jDlElgdhdid3b4b5bvdwdxd)c*c+c,c-c.c6b7b8b/c:c;c9b!b#b? @ [ $b%b'b=c?c@c[c]c^c@j[j]j^j_j`j{j|j}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBk
570 model=new_cls, parameter="read_from_attributes", value=True
571 )
572 # For compatibility with older versions
573 # TODO: remove this in the future
574 set_config_value(model=new_cls, parameter="read_with_orm_mode", value=True) 2a |d'd(dIkVlWl%llmPlVmJkydKkLkMkCk7lmmEdNkygzg(b)bFl}d~daebecedeeefe[l]lAgBg}eRfSfTfUfv Cf~eogw KdLdCgDgOkPkQkEgFgGgHgx g ] IgRkJgKgLgMgNgOgSk_c^ jd*b+b_ ,b` ' { -b.bPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g6g7gb ge)d*dTkXlYl'lnmQlWmUkzdVkWkXkDk8lomFdYk8g9g/b:b;b=bGlheiejekelemeneoe^l_l!g#g(lafbfVfWfXfYfZf0f1f2fy z DfEfcfdfpgA B MdNdOdPd$g%gZk0k1k'g(g)g*gC D h i | } +g2k,g-g.g/g:g;g3k`c{c~ abkdld?b@b[b]bbbcb^b_bdbeb( ) fbgb`b{b|b}b=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghc peqe+d,d-d.d4kZl0l)lpmRlXm5kAd6k7k8kEk9lqmGd9khhihjhkh~bacbcccdcecHlIlreseteuevewexeyezeAeBeCeDeEeFeGe`l{l|l}llhmhnhoh*l+lefffgf3f4f5f6f7f8f9f!f#f$f%f'fE F G FfGfHfhfifjfqgrgH I J QdRdSdTdUdVdphqhrhsh!k#k$k%k'k(kthuhvhwhxhyhzhAhK L M j k l hbibjbBhCh)k*kDhEhFhGhHhIhJhKhLhMhNhOh+k,k|c}c~ckblbmbmdndodfcgchcicjckcnbobpblcmcncqbrbsb* + , tbubvbocpcqcrcsctcPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?hd HeIe/d:d;d=d-k1l2l,lrmSlYm.kBd/k:k;kFk!lsmHd=k@h[h]h^hucvcwcxcyczcJlKlJeKeLeMeNeOePeQeReSeTeUeVeWeXeYe~lambmcm_h`h{h|h-l.lkflfmf(f)f*f+f,f-f.f/f:f;f=f?fN O P IfJfKfnfofpfsgtgQ R S WdXdYdZd0d1d}h~haibi?k@k[k]k^k_kcidieifigihiiijiT U V m n o wbxbybkili`k{kminioipiqirisitiuiviwixi|k}kadbdcdzbAbBbpdqdrdAcBcCcDcEcFcCbDbEbGcHcIcFbGbHb- . / IbJbKbJcKcLcMcNcOcyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i9ie Ze0e?d@d[d]d~k3l4l/ltmTlZmalCdblcldlGk#lumIdel!i#i$i%iPcQcRcScTcUcLlMl1e2e3e4e5e6e7e8e9e!e#e$e%e'e(e)edmemfmgm'i(i)i*i:l;lqfrfsf@f[f]f^f_f`f{f|f}f~fagbgW X Y LfMfNftfufvfugvgZ 0 1 2d3d4d5d6d7d+i,i-i.iflglhliljlkl/i:i;i=i?i@i[i]i2 3 4 p q r LbMbNb^i_illml`i{i|i}i~iajbjcjdjejfjgjnlolddedfdObPbQbsdtdudVcWcXcYcZc0cRbSbTb1c2c3cUbVbWb: ; = XbYbZb4c5c6c7c8c9chjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjf *e+e^d_d`d{dpl5l6l=lvmUl0mqlDdrlsltlHk$lwmJdulTjUjVjWj!c#c$c%c'c(cNlOl,e-e.e/e:e;e=e?e@e[e]e^e_e`e{e|ehmimjmkmXjYjZj0j?l@lwfxfyfcgdgegfggghgigjgkglgmgng5 6 7 OfPfQfzfAfBfwgxg8 9 ! 8d9d!d#d$d%d1j2j3j4jvlwlxlylzlAl5j6j7j8j9j!j#j$j# $ % s t u 0b1b2b%j'jBlCl(j)j*j+j,j-j.j/j:j;j=j?jDlElgdhdid3b4b5bvdwdxd)c*c+c,c-c.c6b7b8b/c:c;c9b!b#b? @ [ $b%b'b=c?c@c[c]c^c@j[j]j^j_j`j{j|j}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBk
576 config_registry = get_config("registry") 2a |d'd(dIkVlWl%llmPlVm7mJk8mydKkLkMkCk7lmmEd9m!m1mNkygzg(b)bFl}d~daebecedeeefe[l]lAgBg}eRfSfTfUfv Cf~eogw KdLdCgDgOkPkQkEgFgGgHgx g ] IgRkJgKgLgMgNgOgSk_c^ jd*b+b_ ,b` ' { -b.bPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g6g7gan_mb ge)d*dTkXlYl'lnmQlWm#mUk$mzdVkWkXkDk8lomFd%m'm2mYk8g9g/b:b;b=bGlheiejekelemeneoe^l_l!g#g(lafbfVfWfXfYfZf0f1f2fy z DfEfcfdfpgA B MdNdOdPd$g%gZk0k1k'g(g)g*gC D h i | } +g2k,g-g.g/g:g;g3k`c{c~ abkdld?b@b[b]bbbcb^b_bdbeb( ) fbgb`b{b|b}b=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghbn`mc peqe+d,d-d.d4kZl0l)lpmRlXm(m5k)mAd6k7k8kEk9lqmGd*m+m3m9khhihjhkh~bacbcccdcecHlIlreseteuevewexeyezeAeBeCeDeEeFeGe`l{l|l}llhmhnhoh*l+lefffgf3f4f5f6f7f8f9f!f#f$f%f'fE F G FfGfHfhfifjfqgrgH I J QdRdSdTdUdVdphqhrhsh!k#k$k%k'k(kthuhvhwhxhyhzhAhK L M j k l hbibjbBhCh)k*kDhEhFhGhHhIhJhKhLhMhNhOh+k,k|c}c~ckblbmbmdndodfcgchcicjckcnbobpblcmcncqbrbsb* + , tbubvbocpcqcrcsctcPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?hcn{md HeIe/d:d;d=d-k1l2l,lrmSlYm,m.k-mBd/k:k;kFk!lsmHd.m/m4m=k@h[h]h^hucvcwcxcyczcJlKlJeKeLeMeNeOePeQeReSeTeUeVeWeXeYe~lambmcm_h`h{h|h-l.lkflfmf(f)f*f+f,f-f.f/f:f;f=f?fN O P IfJfKfnfofpfsgtgQ R S WdXdYdZd0d1d}h~haibi?k@k[k]k^k_kcidieifigihiiijiT U V m n o wbxbybkili`k{kminioipiqirisitiuiviwixi|k}kadbdcdzbAbBbpdqdrdAcBcCcDcEcFcCbDbEbGcHcIcFbGbHb- . / IbJbKbJcKcLcMcNcOcyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i9idn|me Ze0e?d@d[d]d~k3l4l/ltmTlZm:mal;mCdblcldlGk#lumId=m?m5mel!i#i$i%iPcQcRcScTcUcLlMl1e2e3e4e5e6e7e8e9e!e#e$e%e'e(e)edmemfmgm'i(i)i*i:l;lqfrfsf@f[f]f^f_f`f{f|f}f~fagbgW X Y LfMfNftfufvfugvgZ 0 1 2d3d4d5d6d7d+i,i-i.iflglhliljlkl/i:i;i=i?i@i[i]i2 3 4 p q r LbMbNb^i_illml`i{i|i}i~iajbjcjdjejfjgjnlolddedfdObPbQbsdtdudVcWcXcYcZc0cRbSbTb1c2c3cUbVbWb: ; = XbYbZb4c5c6c7c8c9chjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjen}mf *e+e^d_d`d{dpl5l6l=lvmUl0m@mql[mDdrlsltlHk$lwmJd]m^m6mulTjUjVjWj!c#c$c%c'c(cNlOl,e-e.e/e:e;e=e?e@e[e]e^e_e`e{e|ehmimjmkmXjYjZj0j?l@lwfxfyfcgdgegfggghgigjgkglgmgng5 6 7 OfPfQfzfAfBfwgxg8 9 ! 8d9d!d#d$d%d1j2j3j4jvlwlxlylzlAl5j6j7j8j9j!j#j$j# $ % s t u 0b1b2b%j'jBlCl(j)j*j+j,j-j.j/j:j;j=j?jDlElgdhdid3b4b5bvdwdxd)c*c+c,c-c.c6b7b8b/c:c;c9b!b#b? @ [ $b%b'b=c?c@c[c]c^c@j[j]j^j_j`j{j|j}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkfn~m
577 if config_registry is not Undefined: 2a |d'd(dIkVlWl%llmPlVm7mJk8mydKkLkMkCk7lmmEd9m!m1mNkygzg(b)bFl}d~daebecedeeefe[l]lAgBg}eRfSfTfUfv Cf~eogw KdLdCgDgOkPkQkEgFgGgHgx g ] IgRkJgKgLgMgNgOgSk_c^ jd*b+b_ ,b` ' { -b.bPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g6g7gan_mb ge)d*dTkXlYl'lnmQlWm#mUk$mzdVkWkXkDk8lomFd%m'm2mYk8g9g/b:b;b=bGlheiejekelemeneoe^l_l!g#g(lafbfVfWfXfYfZf0f1f2fy z DfEfcfdfpgA B MdNdOdPd$g%gZk0k1k'g(g)g*gC D h i | } +g2k,g-g.g/g:g;g3k`c{c~ abkdld?b@b[b]bbbcb^b_bdbeb( ) fbgb`b{b|b}b=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghbn`mc peqe+d,d-d.d4kZl0l)lpmRlXm(m5k)mAd6k7k8kEk9lqmGd*m+m3m9khhihjhkh~bacbcccdcecHlIlreseteuevewexeyezeAeBeCeDeEeFeGe`l{l|l}llhmhnhoh*l+lefffgf3f4f5f6f7f8f9f!f#f$f%f'fE F G FfGfHfhfifjfqgrgH I J QdRdSdTdUdVdphqhrhsh!k#k$k%k'k(kthuhvhwhxhyhzhAhK L M j k l hbibjbBhCh)k*kDhEhFhGhHhIhJhKhLhMhNhOh+k,k|c}c~ckblbmbmdndodfcgchcicjckcnbobpblcmcncqbrbsb* + , tbubvbocpcqcrcsctcPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?hcn{md HeIe/d:d;d=d-k1l2l,lrmSlYm,m.k-mBd/k:k;kFk!lsmHd.m/m4m=k@h[h]h^hucvcwcxcyczcJlKlJeKeLeMeNeOePeQeReSeTeUeVeWeXeYe~lambmcm_h`h{h|h-l.lkflfmf(f)f*f+f,f-f.f/f:f;f=f?fN O P IfJfKfnfofpfsgtgQ R S WdXdYdZd0d1d}h~haibi?k@k[k]k^k_kcidieifigihiiijiT U V m n o wbxbybkili`k{kminioipiqirisitiuiviwixi|k}kadbdcdzbAbBbpdqdrdAcBcCcDcEcFcCbDbEbGcHcIcFbGbHb- . / IbJbKbJcKcLcMcNcOcyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i9idn|me Ze0e?d@d[d]d~k3l4l/ltmTlZm:mal;mCdblcldlGk#lumId=m?m5mel!i#i$i%iPcQcRcScTcUcLlMl1e2e3e4e5e6e7e8e9e!e#e$e%e'e(e)edmemfmgm'i(i)i*i:l;lqfrfsf@f[f]f^f_f`f{f|f}f~fagbgW X Y LfMfNftfufvfugvgZ 0 1 2d3d4d5d6d7d+i,i-i.iflglhliljlkl/i:i;i=i?i@i[i]i2 3 4 p q r LbMbNb^i_illml`i{i|i}i~iajbjcjdjejfjgjnlolddedfdObPbQbsdtdudVcWcXcYcZc0cRbSbTb1c2c3cUbVbWb: ; = XbYbZb4c5c6c7c8c9chjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjen}mf *e+e^d_d`d{dpl5l6l=lvmUl0m@mql[mDdrlsltlHk$lwmJd]m^m6mulTjUjVjWj!c#c$c%c'c(cNlOl,e-e.e/e:e;e=e?e@e[e]e^e_e`e{e|ehmimjmkmXjYjZj0j?l@lwfxfyfcgdgegfggghgigjgkglgmgng5 6 7 OfPfQfzfAfBfwgxg8 9 ! 8d9d!d#d$d%d1j2j3j4jvlwlxlylzlAl5j6j7j8j9j!j#j$j# $ % s t u 0b1b2b%j'jBlCl(j)j*j+j,j-j.j/j:j;j=j?jDlElgdhdid3b4b5bvdwdxd)c*c+c,c-c.c6b7b8b/c:c;c9b!b#b? @ [ $b%b'b=c?c@c[c]c^c@j[j]j^j_j`j{j|j}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkfn~m
578 config_registry = cast(registry, config_registry) 1abcdef
579 # If it was passed by kwargs, ensure it's also set in config
580 set_config_value(model=new_cls, parameter="registry", value=config_table) 1abcdef
581 setattr(new_cls, "_sa_registry", config_registry) # noqa: B010 1abcdef
582 setattr(new_cls, "metadata", config_registry.metadata) # noqa: B010 1abcdef
583 setattr(new_cls, "__abstract__", True) # noqa: B010 1abcdef
584 return new_cls 2a |d'd(dIkVlWl%llmPlVm7mJk8mydKkLkMkCk7lmmEd9m!m1mNkygzg(b)bFl}d~daebecedeeefe[l]lAgBg}eRfSfTfUfv Cf~eogw KdLdCgDgOkPkQkEgFgGgHgx g ] IgRkJgKgLgMgNgOgSk_c^ jd*b+b_ ,b` ' { -b.bPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g6g7gan_mb ge)d*dTkXlYl'lnmQlWm#mUk$mzdVkWkXkDk8lomFd%m'm2mYk8g9g/b:b;b=bGlheiejekelemeneoe^l_l!g#g(lafbfVfWfXfYfZf0f1f2fy z DfEfcfdfpgA B MdNdOdPd$g%gZk0k1k'g(g)g*gC D h i | } +g2k,g-g.g/g:g;g3k`c{c~ abkdld?b@b[b]bbbcb^b_bdbeb( ) fbgb`b{b|b}b=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghbn`mc peqe+d,d-d.d4kZl0l)lpmRlXm(m5k)mAd6k7k8kEk9lqmGd*m+m3m9khhihjhkh~bacbcccdcecHlIlreseteuevewexeyezeAeBeCeDeEeFeGe`l{l|l}llhmhnhoh*l+lefffgf3f4f5f6f7f8f9f!f#f$f%f'fE F G FfGfHfhfifjfqgrgH I J QdRdSdTdUdVdphqhrhsh!k#k$k%k'k(kthuhvhwhxhyhzhAhK L M j k l hbibjbBhCh)k*kDhEhFhGhHhIhJhKhLhMhNhOh+k,k|c}c~ckblbmbmdndodfcgchcicjckcnbobpblcmcncqbrbsb* + , tbubvbocpcqcrcsctcPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?hcn{md HeIe/d:d;d=d-k1l2l,lrmSlYm,m.k-mBd/k:k;kFk!lsmHd.m/m4m=k@h[h]h^hucvcwcxcyczcJlKlJeKeLeMeNeOePeQeReSeTeUeVeWeXeYe~lambmcm_h`h{h|h-l.lkflfmf(f)f*f+f,f-f.f/f:f;f=f?fN O P IfJfKfnfofpfsgtgQ R S WdXdYdZd0d1d}h~haibi?k@k[k]k^k_kcidieifigihiiijiT U V m n o wbxbybkili`k{kminioipiqirisitiuiviwixi|k}kadbdcdzbAbBbpdqdrdAcBcCcDcEcFcCbDbEbGcHcIcFbGbHb- . / IbJbKbJcKcLcMcNcOcyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i9idn|me Ze0e?d@d[d]d~k3l4l/ltmTlZm:mal;mCdblcldlGk#lumId=m?m5mel!i#i$i%iPcQcRcScTcUcLlMl1e2e3e4e5e6e7e8e9e!e#e$e%e'e(e)edmemfmgm'i(i)i*i:l;lqfrfsf@f[f]f^f_f`f{f|f}f~fagbgW X Y LfMfNftfufvfugvgZ 0 1 2d3d4d5d6d7d+i,i-i.iflglhliljlkl/i:i;i=i?i@i[i]i2 3 4 p q r LbMbNb^i_illml`i{i|i}i~iajbjcjdjejfjgjnlolddedfdObPbQbsdtdudVcWcXcYcZc0cRbSbTb1c2c3cUbVbWb: ; = XbYbZb4c5c6c7c8c9chjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjen}mf *e+e^d_d`d{dpl5l6l=lvmUl0m@mql[mDdrlsltlHk$lwmJd]m^m6mulTjUjVjWj!c#c$c%c'c(cNlOl,e-e.e/e:e;e=e?e@e[e]e^e_e`e{e|ehmimjmkmXjYjZj0j?l@lwfxfyfcgdgegfggghgigjgkglgmgng5 6 7 OfPfQfzfAfBfwgxg8 9 ! 8d9d!d#d$d%d1j2j3j4jvlwlxlylzlAl5j6j7j8j9j!j#j$j# $ % s t u 0b1b2b%j'jBlCl(j)j*j+j,j-j.j/j:j;j=j?jDlElgdhdid3b4b5bvdwdxd)c*c+c,c-c.c6b7b8b/c:c;c9b!b#b? @ [ $b%b'b=c?c@c[c]c^c@j[j]j^j_j`j{j|j}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkfn~m
586 # Override SQLAlchemy, allow both SQLAlchemy and plain Pydantic models
587 def __init__( 1abcdef
588 cls, classname: str, bases: Tuple[type, ...], dict_: Dict[str, Any], **kw: Any
589 ) -> None:
590 # Only one of the base classes (or the current one) should be a table model
591 # this allows FastAPI cloning a SQLModel for the response_model without
592 # trying to create a new SQLAlchemy, for a new table, with the same name, that
593 # triggers an error
594 base_is_table = any(is_table_model_class(base) for base in bases) 2a |d'd(dIkVlWl%llmPlVm7mJk8mydKkLkMkCk7lmmEd9m!m1mNkygzg(b)bFl}d~daebecedeeefe[l]lAgBg}eRfSfTfUfv Cf~eogw KdLdCgDgOkPkQkEgFgGgHgx g ] IgRkJgKgLgMgNgOgSk_c^ jd*b+b_ ,b` ' { -b.bPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g6g7gan_mb ge)d*dTkXlYl'lnmQlWm#mUk$mzdVkWkXkDk8lomFd%m'm2mYk8g9g/b:b;b=bGlheiejekelemeneoe^l_l!g#g(lafbfVfWfXfYfZf0f1f2fy z DfEfcfdfpgA B MdNdOdPd$g%gZk0k1k'g(g)g*gC D h i | } +g2k,g-g.g/g:g;g3k`c{c~ abkdld?b@b[b]bbbcb^b_bdbeb( ) fbgb`b{b|b}b=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghbn`mc peqe+d,d-d.d4kZl0l)lpmRlXm(m5k)mAd6k7k8kEk9lqmGd*m+m3m9khhihjhkh~bacbcccdcecHlIlreseteuevewexeyezeAeBeCeDeEeFeGe`l{l|l}llhmhnhoh*l+lefffgf3f4f5f6f7f8f9f!f#f$f%f'fE F G FfGfHfhfifjfqgrgH I J QdRdSdTdUdVdphqhrhsh!k#k$k%k'k(kthuhvhwhxhyhzhAhK L M j k l hbibjbBhCh)k*kDhEhFhGhHhIhJhKhLhMhNhOh+k,k|c}c~ckblbmbmdndodfcgchcicjckcnbobpblcmcncqbrbsb* + , tbubvbocpcqcrcsctcPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?hcn{md HeIe/d:d;d=d-k1l2l,lrmSlYm,m.k-mBd/k:k;kFk!lsmHd.m/m4m=k@h[h]h^hucvcwcxcyczcJlKlJeKeLeMeNeOePeQeReSeTeUeVeWeXeYe~lambmcm_h`h{h|h-l.lkflfmf(f)f*f+f,f-f.f/f:f;f=f?fN O P IfJfKfnfofpfsgtgQ R S WdXdYdZd0d1d}h~haibi?k@k[k]k^k_kcidieifigihiiijiT U V m n o wbxbybkili`k{kminioipiqirisitiuiviwixi|k}kadbdcdzbAbBbpdqdrdAcBcCcDcEcFcCbDbEbGcHcIcFbGbHb- . / IbJbKbJcKcLcMcNcOcyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i9idn|me Ze0e?d@d[d]d~k3l4l/ltmTlZm:mal;mCdblcldlGk#lumId=m?m5mel!i#i$i%iPcQcRcScTcUcLlMl1e2e3e4e5e6e7e8e9e!e#e$e%e'e(e)edmemfmgm'i(i)i*i:l;lqfrfsf@f[f]f^f_f`f{f|f}f~fagbgW X Y LfMfNftfufvfugvgZ 0 1 2d3d4d5d6d7d+i,i-i.iflglhliljlkl/i:i;i=i?i@i[i]i2 3 4 p q r LbMbNb^i_illml`i{i|i}i~iajbjcjdjejfjgjnlolddedfdObPbQbsdtdudVcWcXcYcZc0cRbSbTb1c2c3cUbVbWb: ; = XbYbZb4c5c6c7c8c9chjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjen}mf *e+e^d_d`d{dpl5l6l=lvmUl0m@mql[mDdrlsltlHk$lwmJd]m^m6mulTjUjVjWj!c#c$c%c'c(cNlOl,e-e.e/e:e;e=e?e@e[e]e^e_e`e{e|ehmimjmkmXjYjZj0j?l@lwfxfyfcgdgegfggghgigjgkglgmgng5 6 7 OfPfQfzfAfBfwgxg8 9 ! 8d9d!d#d$d%d1j2j3j4jvlwlxlylzlAl5j6j7j8j9j!j#j$j# $ % s t u 0b1b2b%j'jBlCl(j)j*j+j,j-j.j/j:j;j=j?jDlElgdhdid3b4b5bvdwdxd)c*c+c,c-c.c6b7b8b/c:c;c9b!b#b? @ [ $b%b'b=c?c@c[c]c^c@j[j]j^j_j`j{j|j}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkfn~m
595 if is_table_model_class(cls) and not base_is_table: 2a |d'd(dIkVlWl%llmPlVm7mJk8mydKkLkMkCk7lmmEd9m!m1mNkygzg(b)bFl}d~daebecedeeefe[l]lAgBg}eRfSfTfUfv Cf~eogw KdLdCgDgOkPkQkEgFgGgHgx g ] IgRkJgKgLgMgNgOgSk_c^ jd*b+b_ ,b` ' { -b.bPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g6g7gan_mb ge)d*dTkXlYl'lnmQlWm#mUk$mzdVkWkXkDk8lomFd%m'm2mYk8g9g/b:b;b=bGlheiejekelemeneoe^l_l!g#g(lafbfVfWfXfYfZf0f1f2fy z DfEfcfdfpgA B MdNdOdPd$g%gZk0k1k'g(g)g*gC D h i | } +g2k,g-g.g/g:g;g3k`c{c~ abkdld?b@b[b]bbbcb^b_bdbeb( ) fbgb`b{b|b}b=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghbn`mc peqe+d,d-d.d4kZl0l)lpmRlXm(m5k)mAd6k7k8kEk9lqmGd*m+m3m9khhihjhkh~bacbcccdcecHlIlreseteuevewexeyezeAeBeCeDeEeFeGe`l{l|l}llhmhnhoh*l+lefffgf3f4f5f6f7f8f9f!f#f$f%f'fE F G FfGfHfhfifjfqgrgH I J QdRdSdTdUdVdphqhrhsh!k#k$k%k'k(kthuhvhwhxhyhzhAhK L M j k l hbibjbBhCh)k*kDhEhFhGhHhIhJhKhLhMhNhOh+k,k|c}c~ckblbmbmdndodfcgchcicjckcnbobpblcmcncqbrbsb* + , tbubvbocpcqcrcsctcPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?hcn{md HeIe/d:d;d=d-k1l2l,lrmSlYm,m.k-mBd/k:k;kFk!lsmHd.m/m4m=k@h[h]h^hucvcwcxcyczcJlKlJeKeLeMeNeOePeQeReSeTeUeVeWeXeYe~lambmcm_h`h{h|h-l.lkflfmf(f)f*f+f,f-f.f/f:f;f=f?fN O P IfJfKfnfofpfsgtgQ R S WdXdYdZd0d1d}h~haibi?k@k[k]k^k_kcidieifigihiiijiT U V m n o wbxbybkili`k{kminioipiqirisitiuiviwixi|k}kadbdcdzbAbBbpdqdrdAcBcCcDcEcFcCbDbEbGcHcIcFbGbHb- . / IbJbKbJcKcLcMcNcOcyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i9idn|me Ze0e?d@d[d]d~k3l4l/ltmTlZm:mal;mCdblcldlGk#lumId=m?m5mel!i#i$i%iPcQcRcScTcUcLlMl1e2e3e4e5e6e7e8e9e!e#e$e%e'e(e)edmemfmgm'i(i)i*i:l;lqfrfsf@f[f]f^f_f`f{f|f}f~fagbgW X Y LfMfNftfufvfugvgZ 0 1 2d3d4d5d6d7d+i,i-i.iflglhliljlkl/i:i;i=i?i@i[i]i2 3 4 p q r LbMbNb^i_illml`i{i|i}i~iajbjcjdjejfjgjnlolddedfdObPbQbsdtdudVcWcXcYcZc0cRbSbTb1c2c3cUbVbWb: ; = XbYbZb4c5c6c7c8c9chjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjen}mf *e+e^d_d`d{dpl5l6l=lvmUl0m@mql[mDdrlsltlHk$lwmJd]m^m6mulTjUjVjWj!c#c$c%c'c(cNlOl,e-e.e/e:e;e=e?e@e[e]e^e_e`e{e|ehmimjmkmXjYjZj0j?l@lwfxfyfcgdgegfggghgigjgkglgmgng5 6 7 OfPfQfzfAfBfwgxg8 9 ! 8d9d!d#d$d%d1j2j3j4jvlwlxlylzlAl5j6j7j8j9j!j#j$j# $ % s t u 0b1b2b%j'jBlCl(j)j*j+j,j-j.j/j:j;j=j?jDlElgdhdid3b4b5bvdwdxd)c*c+c,c-c.c6b7b8b/c:c;c9b!b#b? @ [ $b%b'b=c?c@c[c]c^c@j[j]j^j_j`j{j|j}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkfn~m
596 for rel_name, rel_info in cls.__sqlmodel_relationships__.items(): 2a |d'd(dIkVlWl%llmPlVmJkydKkLkMkCk7lmmEdNkygzg(b)bFl}d~daebecedeeefe[l]lAgBg}eRfSfTfUfv Cf~eogw KdLdCgDgOkPkQkEgFgGgHgx g ] IgRkJgKgLgMgNgOgSk_c^ jd*b+b_ ,b` ' { -b.bPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g6g7gb ge)d*dTkXlYl'lnmQlWmUkzdVkWkXkDk8lomFdYk8g9g/b:b;b=bGlheiejekelemeneoe^l_l!g#g(lafbfVfWfXfYfZf0f1f2fy z DfEfcfdfpgA B MdNdOdPd$g%gZk0k1k'g(g)g*gC D h i | } +g2k,g-g.g/g:g;g3k`c{c~ abkdld?b@b[b]bbbcb^b_bdbeb( ) fbgb`b{b|b}b=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghc peqe+d,d-d.d4kZl0l)lpmRlXm5kAd6k7k8kEk9lqmGd9khhihjhkh~bacbcccdcecHlIlreseteuevewexeyezeAeBeCeDeEeFeGe`l{l|l}llhmhnhoh*l+lefffgf3f4f5f6f7f8f9f!f#f$f%f'fE F G FfGfHfhfifjfqgrgH I J QdRdSdTdUdVdphqhrhsh!k#k$k%k'k(kthuhvhwhxhyhzhAhK L M j k l hbibjbBhCh)k*kDhEhFhGhHhIhJhKhLhMhNhOh+k,k|c}c~ckblbmbmdndodfcgchcicjckcnbobpblcmcncqbrbsb* + , tbubvbocpcqcrcsctcPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?hd HeIe/d:d;d=d-k1l2l,lrmSlYm.kBd/k:k;kFk!lsmHd=k@h[h]h^hucvcwcxcyczcJlKlJeKeLeMeNeOePeQeReSeTeUeVeWeXeYe~lambmcm_h`h{h|h-l.lkflfmf(f)f*f+f,f-f.f/f:f;f=f?fN O P IfJfKfnfofpfsgtgQ R S WdXdYdZd0d1d}h~haibi?k@k[k]k^k_kcidieifigihiiijiT U V m n o wbxbybkili`k{kminioipiqirisitiuiviwixi|k}kadbdcdzbAbBbpdqdrdAcBcCcDcEcFcCbDbEbGcHcIcFbGbHb- . / IbJbKbJcKcLcMcNcOcyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i9ie Ze0e?d@d[d]d~k3l4l/ltmTlZmalCdblcldlGk#lumIdel!i#i$i%iPcQcRcScTcUcLlMl1e2e3e4e5e6e7e8e9e!e#e$e%e'e(e)edmemfmgm'i(i)i*i:l;lqfrfsf@f[f]f^f_f`f{f|f}f~fagbgW X Y LfMfNftfufvfugvgZ 0 1 2d3d4d5d6d7d+i,i-i.iflglhliljlkl/i:i;i=i?i@i[i]i2 3 4 p q r LbMbNb^i_illml`i{i|i}i~iajbjcjdjejfjgjnlolddedfdObPbQbsdtdudVcWcXcYcZc0cRbSbTb1c2c3cUbVbWb: ; = XbYbZb4c5c6c7c8c9chjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjf *e+e^d_d`d{dpl5l6l=lvmUl0mqlDdrlsltlHk$lwmJdulTjUjVjWj!c#c$c%c'c(cNlOl,e-e.e/e:e;e=e?e@e[e]e^e_e`e{e|ehmimjmkmXjYjZj0j?l@lwfxfyfcgdgegfggghgigjgkglgmgng5 6 7 OfPfQfzfAfBfwgxg8 9 ! 8d9d!d#d$d%d1j2j3j4jvlwlxlylzlAl5j6j7j8j9j!j#j$j# $ % s t u 0b1b2b%j'jBlCl(j)j*j+j,j-j.j/j:j;j=j?jDlElgdhdid3b4b5bvdwdxd)c*c+c,c-c.c6b7b8b/c:c;c9b!b#b? @ [ $b%b'b=c?c@c[c]c^c@j[j]j^j_j`j{j|j}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBk
597 if rel_info.sa_relationship: 2ydEd(b)bv w x g ] _c^ jd*b+b_ ,b` ' { -b.bzdFd/b:b;b=by z A B C D h i | } `c{c~ abkdld?b@b[b]bbbcb^b_bdbeb( ) fbgb`b{b|b}bAdGd~bacbcccdcecE F G H I J K L M j k l hbibjb|c}c~ckblbmbmdndodfcgchcicjckcnbobpblcmcncqbrbsb* + , tbubvbocpcqcrcsctcBdHducvcwcxcyczcN O P Q R S T U V m n o wbxbybadbdcdzbAbBbpdqdrdAcBcCcDcEcFcCbDbEbGcHcIcFbGbHb- . / IbJbKbJcKcLcMcNcOcCdIdPcQcRcScTcUcW X Y Z 0 1 2 3 4 p q r LbMbNbddedfdObPbQbsdtdudVcWcXcYcZc0cRbSbTb1c2c3cUbVbWb: ; = XbYbZb4c5c6c7c8c9cDdJd!c#c$c%c'c(c5 6 7 8 9 ! # $ % s t u 0b1b2bgdhdid3b4b5bvdwdxd)c*c+c,c-c.c6b7b8b/c:c;c9b!b#b? @ [ $b%b'b=c?c@c[c]c^c
598 # There's a SQLAlchemy relationship declared, that takes precedence
599 # over anything else, use that and continue with the next attribute
600 setattr(cls, rel_name, rel_info.sa_relationship) # Fix #315 2ydzdAdBdCdDd
601 continue 2ydzdAdBdCdDd
602 raw_ann = cls.__annotations__[rel_name] 2Ed(b)bv w x g ] _c^ jd*b+b_ ,b` ' { -b.bFd/b:b;b=by z A B C D h i | } `c{c~ abkdld?b@b[b]bbbcb^b_bdbeb( ) fbgb`b{b|b}bGd~bacbcccdcecE F G H I J K L M j k l hbibjb|c}c~ckblbmbmdndodfcgchcicjckcnbobpblcmcncqbrbsb* + , tbubvbocpcqcrcsctcHducvcwcxcyczcN O P Q R S T U V m n o wbxbybadbdcdzbAbBbpdqdrdAcBcCcDcEcFcCbDbEbGcHcIcFbGbHb- . / IbJbKbJcKcLcMcNcOcIdPcQcRcScTcUcW X Y Z 0 1 2 3 4 p q r LbMbNbddedfdObPbQbsdtdudVcWcXcYcZc0cRbSbTb1c2c3cUbVbWb: ; = XbYbZb4c5c6c7c8c9cJd!c#c$c%c'c(c5 6 7 8 9 ! # $ % s t u 0b1b2bgdhdid3b4b5bvdwdxd)c*c+c,c-c.c6b7b8b/c:c;c9b!b#b? @ [ $b%b'b=c?c@c[c]c^c
603 origin = get_origin(raw_ann) 2Ed(b)bv w x g ] _c^ jd*b+b_ ,b` ' { -b.bFd/b:b;b=by z A B C D h i | } `c{c~ abkdld?b@b[b]bbbcb^b_bdbeb( ) fbgb`b{b|b}bGd~bacbcccdcecE F G H I J K L M j k l hbibjb|c}c~ckblbmbmdndodfcgchcicjckcnbobpblcmcncqbrbsb* + , tbubvbocpcqcrcsctcHducvcwcxcyczcN O P Q R S T U V m n o wbxbybadbdcdzbAbBbpdqdrdAcBcCcDcEcFcCbDbEbGcHcIcFbGbHb- . / IbJbKbJcKcLcMcNcOcIdPcQcRcScTcUcW X Y Z 0 1 2 3 4 p q r LbMbNbddedfdObPbQbsdtdudVcWcXcYcZc0cRbSbTb1c2c3cUbVbWb: ; = XbYbZb4c5c6c7c8c9cJd!c#c$c%c'c(c5 6 7 8 9 ! # $ % s t u 0b1b2bgdhdid3b4b5bvdwdxd)c*c+c,c-c.c6b7b8b/c:c;c9b!b#b? @ [ $b%b'b=c?c@c[c]c^c
604 if origin is Mapped: 2Ed(b)bv w x g ] _c^ jd*b+b_ ,b` ' { -b.bFd/b:b;b=by z A B C D h i | } `c{c~ abkdld?b@b[b]bbbcb^b_bdbeb( ) fbgb`b{b|b}bGd~bacbcccdcecE F G H I J K L M j k l hbibjb|c}c~ckblbmbmdndodfcgchcicjckcnbobpblcmcncqbrbsb* + , tbubvbocpcqcrcsctcHducvcwcxcyczcN O P Q R S T U V m n o wbxbybadbdcdzbAbBbpdqdrdAcBcCcDcEcFcCbDbEbGcHcIcFbGbHb- . / IbJbKbJcKcLcMcNcOcIdPcQcRcScTcUcW X Y Z 0 1 2 3 4 p q r LbMbNbddedfdObPbQbsdtdudVcWcXcYcZc0cRbSbTb1c2c3cUbVbWb: ; = XbYbZb4c5c6c7c8c9cJd!c#c$c%c'c(c5 6 7 8 9 ! # $ % s t u 0b1b2bgdhdid3b4b5bvdwdxd)c*c+c,c-c.c6b7b8b/c:c;c9b!b#b? @ [ $b%b'b=c?c@c[c]c^c
605 ann = raw_ann.__args__[0]
606 else:
607 ann = raw_ann 2Ed(b)bv w x g ] _c^ jd*b+b_ ,b` ' { -b.bFd/b:b;b=by z A B C D h i | } `c{c~ abkdld?b@b[b]bbbcb^b_bdbeb( ) fbgb`b{b|b}bGd~bacbcccdcecE F G H I J K L M j k l hbibjb|c}c~ckblbmbmdndodfcgchcicjckcnbobpblcmcncqbrbsb* + , tbubvbocpcqcrcsctcHducvcwcxcyczcN O P Q R S T U V m n o wbxbybadbdcdzbAbBbpdqdrdAcBcCcDcEcFcCbDbEbGcHcIcFbGbHb- . / IbJbKbJcKcLcMcNcOcIdPcQcRcScTcUcW X Y Z 0 1 2 3 4 p q r LbMbNbddedfdObPbQbsdtdudVcWcXcYcZc0cRbSbTb1c2c3cUbVbWb: ; = XbYbZb4c5c6c7c8c9cJd!c#c$c%c'c(c5 6 7 8 9 ! # $ % s t u 0b1b2bgdhdid3b4b5bvdwdxd)c*c+c,c-c.c6b7b8b/c:c;c9b!b#b? @ [ $b%b'b=c?c@c[c]c^c
608 # Plain forward references, for models not yet defined, are not
609 # handled well by SQLAlchemy without Mapped, so, wrap the
610 # annotations in Mapped here
611 cls.__annotations__[rel_name] = Mapped[ann] # type: ignore[valid-type] 2Ed(b)bv w x g ] _c^ jd*b+b_ ,b` ' { -b.bFd/b:b;b=by z A B C D h i | } `c{c~ abkdld?b@b[b]bbbcb^b_bdbeb( ) fbgb`b{b|b}bGd~bacbcccdcecE F G H I J K L M j k l hbibjb|c}c~ckblbmbmdndodfcgchcicjckcnbobpblcmcncqbrbsb* + , tbubvbocpcqcrcsctcHducvcwcxcyczcN O P Q R S T U V m n o wbxbybadbdcdzbAbBbpdqdrdAcBcCcDcEcFcCbDbEbGcHcIcFbGbHb- . / IbJbKbJcKcLcMcNcOcIdPcQcRcScTcUcW X Y Z 0 1 2 3 4 p q r LbMbNbddedfdObPbQbsdtdudVcWcXcYcZc0cRbSbTb1c2c3cUbVbWb: ; = XbYbZb4c5c6c7c8c9cJd!c#c$c%c'c(c5 6 7 8 9 ! # $ % s t u 0b1b2bgdhdid3b4b5bvdwdxd)c*c+c,c-c.c6b7b8b/c:c;c9b!b#b? @ [ $b%b'b=c?c@c[c]c^c
612 relationship_to = get_relationship_to( 2Ed(b)bv w x g ] _c^ jd*b+b_ ,b` ' { -b.bFd/b:b;b=by z A B C D h i | } `c{c~ abkdld?b@b[b]bbbcb^b_bdbeb( ) fbgb`b{b|b}bGd~bacbcccdcecE F G H I J K L M j k l hbibjb|c}c~ckblbmbmdndodfcgchcicjckcnbobpblcmcncqbrbsb* + , tbubvbocpcqcrcsctcHducvcwcxcyczcN O P Q R S T U V m n o wbxbybadbdcdzbAbBbpdqdrdAcBcCcDcEcFcCbDbEbGcHcIcFbGbHb- . / IbJbKbJcKcLcMcNcOcIdPcQcRcScTcUcW X Y Z 0 1 2 3 4 p q r LbMbNbddedfdObPbQbsdtdudVcWcXcYcZc0cRbSbTb1c2c3cUbVbWb: ; = XbYbZb4c5c6c7c8c9cJd!c#c$c%c'c(c5 6 7 8 9 ! # $ % s t u 0b1b2bgdhdid3b4b5bvdwdxd)c*c+c,c-c.c6b7b8b/c:c;c9b!b#b? @ [ $b%b'b=c?c@c[c]c^c
613 name=rel_name, rel_info=rel_info, annotation=ann
614 )
615 rel_kwargs: Dict[str, Any] = {} 2Ed(b)bv w x g ] _c^ jd*b+b_ ,b` ' { -b.bFd/b:b;b=by z A B C D h i | } `c{c~ abkdld?b@b[b]bbbcb^b_bdbeb( ) fbgb`b{b|b}bGd~bacbcccdcecE F G H I J K L M j k l hbibjb|c}c~ckblbmbmdndodfcgchcicjckcnbobpblcmcncqbrbsb* + , tbubvbocpcqcrcsctcHducvcwcxcyczcN O P Q R S T U V m n o wbxbybadbdcdzbAbBbpdqdrdAcBcCcDcEcFcCbDbEbGcHcIcFbGbHb- . / IbJbKbJcKcLcMcNcOcIdPcQcRcScTcUcW X Y Z 0 1 2 3 4 p q r LbMbNbddedfdObPbQbsdtdudVcWcXcYcZc0cRbSbTb1c2c3cUbVbWb: ; = XbYbZb4c5c6c7c8c9cJd!c#c$c%c'c(c5 6 7 8 9 ! # $ % s t u 0b1b2bgdhdid3b4b5bvdwdxd)c*c+c,c-c.c6b7b8b/c:c;c9b!b#b? @ [ $b%b'b=c?c@c[c]c^c
616 if rel_info.back_populates: 2Ed(b)bv w x g ] _c^ jd*b+b_ ,b` ' { -b.bFd/b:b;b=by z A B C D h i | } `c{c~ abkdld?b@b[b]bbbcb^b_bdbeb( ) fbgb`b{b|b}bGd~bacbcccdcecE F G H I J K L M j k l hbibjb|c}c~ckblbmbmdndodfcgchcicjckcnbobpblcmcncqbrbsb* + , tbubvbocpcqcrcsctcHducvcwcxcyczcN O P Q R S T U V m n o wbxbybadbdcdzbAbBbpdqdrdAcBcCcDcEcFcCbDbEbGcHcIcFbGbHb- . / IbJbKbJcKcLcMcNcOcIdPcQcRcScTcUcW X Y Z 0 1 2 3 4 p q r LbMbNbddedfdObPbQbsdtdudVcWcXcYcZc0cRbSbTb1c2c3cUbVbWb: ; = XbYbZb4c5c6c7c8c9cJd!c#c$c%c'c(c5 6 7 8 9 ! # $ % s t u 0b1b2bgdhdid3b4b5bvdwdxd)c*c+c,c-c.c6b7b8b/c:c;c9b!b#b? @ [ $b%b'b=c?c@c[c]c^c
617 rel_kwargs["back_populates"] = rel_info.back_populates 2Ed(b)bv w x g ] ^ jd*b+b_ ,b` ' { -b.bFd/b:b;b=by z A B C D h i | } ~ abkdld?b@b[b]bbbcb^b_bdbeb( ) fbgb`b{b|b}bGd~bacbcccdcecE F G H I J K L M j k l hbibjbkblbmbmdndodfcgchcicjckcnbobpblcmcncqbrbsb* + , tbubvbocpcqcrcsctcHducvcwcxcyczcN O P Q R S T U V m n o wbxbybzbAbBbpdqdrdAcBcCcDcEcFcCbDbEbGcHcIcFbGbHb- . / IbJbKbJcKcLcMcNcOcIdPcQcRcScTcUcW X Y Z 0 1 2 3 4 p q r LbMbNbObPbQbsdtdudVcWcXcYcZc0cRbSbTb1c2c3cUbVbWb: ; = XbYbZb4c5c6c7c8c9cJd!c#c$c%c'c(c5 6 7 8 9 ! # $ % s t u 0b1b2b3b4b5bvdwdxd)c*c+c,c-c.c6b7b8b/c:c;c9b!b#b? @ [ $b%b'b=c?c@c[c]c^c
618 if rel_info.cascade_delete: 2Ed(b)bv w x g ] _c^ jd*b+b_ ,b` ' { -b.bFd/b:b;b=by z A B C D h i | } `c{c~ abkdld?b@b[b]bbbcb^b_bdbeb( ) fbgb`b{b|b}bGd~bacbcccdcecE F G H I J K L M j k l hbibjb|c}c~ckblbmbmdndodfcgchcicjckcnbobpblcmcncqbrbsb* + , tbubvbocpcqcrcsctcHducvcwcxcyczcN O P Q R S T U V m n o wbxbybadbdcdzbAbBbpdqdrdAcBcCcDcEcFcCbDbEbGcHcIcFbGbHb- . / IbJbKbJcKcLcMcNcOcIdPcQcRcScTcUcW X Y Z 0 1 2 3 4 p q r LbMbNbddedfdObPbQbsdtdudVcWcXcYcZc0cRbSbTb1c2c3cUbVbWb: ; = XbYbZb4c5c6c7c8c9cJd!c#c$c%c'c(c5 6 7 8 9 ! # $ % s t u 0b1b2bgdhdid3b4b5bvdwdxd)c*c+c,c-c.c6b7b8b/c:c;c9b!b#b? @ [ $b%b'b=c?c@c[c]c^c
619 rel_kwargs["cascade"] = "all, delete-orphan" 2_ bbcbnbobpbCbDbEbRbSbTb6b7b8b
620 if rel_info.passive_deletes: 2Ed(b)bv w x g ] _c^ jd*b+b_ ,b` ' { -b.bFd/b:b;b=by z A B C D h i | } `c{c~ abkdld?b@b[b]bbbcb^b_bdbeb( ) fbgb`b{b|b}bGd~bacbcccdcecE F G H I J K L M j k l hbibjb|c}c~ckblbmbmdndodfcgchcicjckcnbobpblcmcncqbrbsb* + , tbubvbocpcqcrcsctcHducvcwcxcyczcN O P Q R S T U V m n o wbxbybadbdcdzbAbBbpdqdrdAcBcCcDcEcFcCbDbEbGcHcIcFbGbHb- . / IbJbKbJcKcLcMcNcOcIdPcQcRcScTcUcW X Y Z 0 1 2 3 4 p q r LbMbNbddedfdObPbQbsdtdudVcWcXcYcZc0cRbSbTb1c2c3cUbVbWb: ; = XbYbZb4c5c6c7c8c9cJd!c#c$c%c'c(c5 6 7 8 9 ! # $ % s t u 0b1b2bgdhdid3b4b5bvdwdxd)c*c+c,c-c.c6b7b8b/c:c;c9b!b#b? @ [ $b%b'b=c?c@c[c]c^c
621 rel_kwargs["passive_deletes"] = rel_info.passive_deletes 2Ed` ' { Fddbeb( ) fbgbGdqbrbsb* + , tbubvbHdFbGbHb- . / IbJbKbIdUbVbWb: ; = XbYbZbJd9b!b#b? @ [ $b%b'b
622 if rel_info.link_model: 2Ed(b)bv w x g ] _c^ jd*b+b_ ,b` ' { -b.bFd/b:b;b=by z A B C D h i | } `c{c~ abkdld?b@b[b]bbbcb^b_bdbeb( ) fbgb`b{b|b}bGd~bacbcccdcecE F G H I J K L M j k l hbibjb|c}c~ckblbmbmdndodfcgchcicjckcnbobpblcmcncqbrbsb* + , tbubvbocpcqcrcsctcHducvcwcxcyczcN O P Q R S T U V m n o wbxbybadbdcdzbAbBbpdqdrdAcBcCcDcEcFcCbDbEbGcHcIcFbGbHb- . / IbJbKbJcKcLcMcNcOcIdPcQcRcScTcUcW X Y Z 0 1 2 3 4 p q r LbMbNbddedfdObPbQbsdtdudVcWcXcYcZc0cRbSbTb1c2c3cUbVbWb: ; = XbYbZb4c5c6c7c8c9cJd!c#c$c%c'c(c5 6 7 8 9 ! # $ % s t u 0b1b2bgdhdid3b4b5bvdwdxd)c*c+c,c-c.c6b7b8b/c:c;c9b!b#b? @ [ $b%b'b=c?c@c[c]c^c
623 ins = inspect(rel_info.link_model) 1xgCDhiKLMjklTUVmno234pqr#$%stu
624 local_table = getattr(ins, "local_table") # noqa: B009 1xgCDhiKLMjklTUVmno234pqr#$%stu
625 if local_table is None: 1xgCDhiKLMjklTUVmno234pqr#$%stu
626 raise RuntimeError(
627 "Couldn't find the secondary table for "
628 f"model {rel_info.link_model}"
629 )
630 rel_kwargs["secondary"] = local_table 1xgCDhiKLMjklTUVmno234pqr#$%stu
631 rel_args: List[Any] = [] 2Ed(b)bv w x g ] _c^ jd*b+b_ ,b` ' { -b.bFd/b:b;b=by z A B C D h i | } `c{c~ abkdld?b@b[b]bbbcb^b_bdbeb( ) fbgb`b{b|b}bGd~bacbcccdcecE F G H I J K L M j k l hbibjb|c}c~ckblbmbmdndodfcgchcicjckcnbobpblcmcncqbrbsb* + , tbubvbocpcqcrcsctcHducvcwcxcyczcN O P Q R S T U V m n o wbxbybadbdcdzbAbBbpdqdrdAcBcCcDcEcFcCbDbEbGcHcIcFbGbHb- . / IbJbKbJcKcLcMcNcOcIdPcQcRcScTcUcW X Y Z 0 1 2 3 4 p q r LbMbNbddedfdObPbQbsdtdudVcWcXcYcZc0cRbSbTb1c2c3cUbVbWb: ; = XbYbZb4c5c6c7c8c9cJd!c#c$c%c'c(c5 6 7 8 9 ! # $ % s t u 0b1b2bgdhdid3b4b5bvdwdxd)c*c+c,c-c.c6b7b8b/c:c;c9b!b#b? @ [ $b%b'b=c?c@c[c]c^c
632 if rel_info.sa_relationship_args: 2Ed(b)bv w x g ] _c^ jd*b+b_ ,b` ' { -b.bFd/b:b;b=by z A B C D h i | } `c{c~ abkdld?b@b[b]bbbcb^b_bdbeb( ) fbgb`b{b|b}bGd~bacbcccdcecE F G H I J K L M j k l hbibjb|c}c~ckblbmbmdndodfcgchcicjckcnbobpblcmcncqbrbsb* + , tbubvbocpcqcrcsctcHducvcwcxcyczcN O P Q R S T U V m n o wbxbybadbdcdzbAbBbpdqdrdAcBcCcDcEcFcCbDbEbGcHcIcFbGbHb- . / IbJbKbJcKcLcMcNcOcIdPcQcRcScTcUcW X Y Z 0 1 2 3 4 p q r LbMbNbddedfdObPbQbsdtdudVcWcXcYcZc0cRbSbTb1c2c3cUbVbWb: ; = XbYbZb4c5c6c7c8c9cJd!c#c$c%c'c(c5 6 7 8 9 ! # $ % s t u 0b1b2bgdhdid3b4b5bvdwdxd)c*c+c,c-c.c6b7b8b/c:c;c9b!b#b? @ [ $b%b'b=c?c@c[c]c^c
633 rel_args.extend(rel_info.sa_relationship_args)
634 if rel_info.sa_relationship_kwargs: 2Ed(b)bv w x g ] _c^ jd*b+b_ ,b` ' { -b.bFd/b:b;b=by z A B C D h i | } `c{c~ abkdld?b@b[b]bbbcb^b_bdbeb( ) fbgb`b{b|b}bGd~bacbcccdcecE F G H I J K L M j k l hbibjb|c}c~ckblbmbmdndodfcgchcicjckcnbobpblcmcncqbrbsb* + , tbubvbocpcqcrcsctcHducvcwcxcyczcN O P Q R S T U V m n o wbxbybadbdcdzbAbBbpdqdrdAcBcCcDcEcFcCbDbEbGcHcIcFbGbHb- . / IbJbKbJcKcLcMcNcOcIdPcQcRcScTcUcW X Y Z 0 1 2 3 4 p q r LbMbNbddedfdObPbQbsdtdudVcWcXcYcZc0cRbSbTb1c2c3cUbVbWb: ; = XbYbZb4c5c6c7c8c9cJd!c#c$c%c'c(c5 6 7 8 9 ! # $ % s t u 0b1b2bgdhdid3b4b5bvdwdxd)c*c+c,c-c.c6b7b8b/c:c;c9b!b#b? @ [ $b%b'b=c?c@c[c]c^c
635 rel_kwargs.update(rel_info.sa_relationship_kwargs)
636 rel_value = relationship(relationship_to, *rel_args, **rel_kwargs) 2Ed(b)bv w x g ] _c^ jd*b+b_ ,b` ' { -b.bFd/b:b;b=by z A B C D h i | } `c{c~ abkdld?b@b[b]bbbcb^b_bdbeb( ) fbgb`b{b|b}bGd~bacbcccdcecE F G H I J K L M j k l hbibjb|c}c~ckblbmbmdndodfcgchcicjckcnbobpblcmcncqbrbsb* + , tbubvbocpcqcrcsctcHducvcwcxcyczcN O P Q R S T U V m n o wbxbybadbdcdzbAbBbpdqdrdAcBcCcDcEcFcCbDbEbGcHcIcFbGbHb- . / IbJbKbJcKcLcMcNcOcIdPcQcRcScTcUcW X Y Z 0 1 2 3 4 p q r LbMbNbddedfdObPbQbsdtdudVcWcXcYcZc0cRbSbTb1c2c3cUbVbWb: ; = XbYbZb4c5c6c7c8c9cJd!c#c$c%c'c(c5 6 7 8 9 ! # $ % s t u 0b1b2bgdhdid3b4b5bvdwdxd)c*c+c,c-c.c6b7b8b/c:c;c9b!b#b? @ [ $b%b'b=c?c@c[c]c^c
637 setattr(cls, rel_name, rel_value) # Fix #315 2Ed(b)bv w x g ] _c^ jd*b+b_ ,b` ' { -b.bFd/b:b;b=by z A B C D h i | } `c{c~ abkdld?b@b[b]bbbcb^b_bdbeb( ) fbgb`b{b|b}bGd~bacbcccdcecE F G H I J K L M j k l hbibjb|c}c~ckblbmbmdndodfcgchcicjckcnbobpblcmcncqbrbsb* + , tbubvbocpcqcrcsctcHducvcwcxcyczcN O P Q R S T U V m n o wbxbybadbdcdzbAbBbpdqdrdAcBcCcDcEcFcCbDbEbGcHcIcFbGbHb- . / IbJbKbJcKcLcMcNcOcIdPcQcRcScTcUcW X Y Z 0 1 2 3 4 p q r LbMbNbddedfdObPbQbsdtdudVcWcXcYcZc0cRbSbTb1c2c3cUbVbWb: ; = XbYbZb4c5c6c7c8c9cJd!c#c$c%c'c(c5 6 7 8 9 ! # $ % s t u 0b1b2bgdhdid3b4b5bvdwdxd)c*c+c,c-c.c6b7b8b/c:c;c9b!b#b? @ [ $b%b'b=c?c@c[c]c^c
638 # SQLAlchemy no longer uses dict_
639 # Ref: https://github.com/sqlalchemy/sqlalchemy/commit/428ea01f00a9cc7f85e435018565eb6da7af1b77
640 # Tag: 1.4.36
641 DeclarativeMeta.__init__(cls, classname, bases, dict_, **kw) 2a |d'd(dIkVlWl%llmPlVmJkydKkLkMkCk7lmmEdNkygzg(b)bFl}d~daebecedeeefe[l]lAgBg}eRfSfTfUfv Cf~eogw KdLdCgDgOkPkQkEgFgGgHgx g ] IgRkJgKgLgMgNgOgSk_c^ jd*b+b_ ,b` ' { -b.bPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g6g7gb ge)d*dTkXlYl'lnmQlWmUkzdVkWkXkDk8lomFdYk8g9g/b:b;b=bGlheiejekelemeneoe^l_l!g#g(lafbfVfWfXfYfZf0f1f2fy z DfEfcfdfpgA B MdNdOdPd$g%gZk0k1k'g(g)g*gC D h i | } +g2k,g-g.g/g:g;g3k`c{c~ abkdld?b@b[b]bbbcb^b_bdbeb( ) fbgb`b{b|b}b=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghc peqe+d,d-d.d4kZl0l)lpmRlXm5kAd6k7k8kEk9lqmGd9khhihjhkh~bacbcccdcecHlIlreseteuevewexeyezeAeBeCeDeEeFeGe`l{l|l}llhmhnhoh*l+lefffgf3f4f5f6f7f8f9f!f#f$f%f'fE F G FfGfHfhfifjfqgrgH I J QdRdSdTdUdVdphqhrhsh!k#k$k%k'k(kthuhvhwhxhyhzhAhK L M j k l hbibjbBhCh)k*kDhEhFhGhHhIhJhKhLhMhNhOh+k,k|c}c~ckblbmbmdndodfcgchcicjckcnbobpblcmcncqbrbsb* + , tbubvbocpcqcrcsctcPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?hd HeIe/d:d;d=d-k1l2l,lrmSlYm.kBd/k:k;kFk!lsmHd=k@h[h]h^hucvcwcxcyczcJlKlJeKeLeMeNeOePeQeReSeTeUeVeWeXeYe~lambmcm_h`h{h|h-l.lkflfmf(f)f*f+f,f-f.f/f:f;f=f?fN O P IfJfKfnfofpfsgtgQ R S WdXdYdZd0d1d}h~haibi?k@k[k]k^k_kcidieifigihiiijiT U V m n o wbxbybkili`k{kminioipiqirisitiuiviwixi|k}kadbdcdzbAbBbpdqdrdAcBcCcDcEcFcCbDbEbGcHcIcFbGbHb- . / IbJbKbJcKcLcMcNcOcyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i9ie Ze0e?d@d[d]d~k3l4l/ltmTlZmalCdblcldlGk#lumIdel!i#i$i%iPcQcRcScTcUcLlMl1e2e3e4e5e6e7e8e9e!e#e$e%e'e(e)edmemfmgm'i(i)i*i:l;lqfrfsf@f[f]f^f_f`f{f|f}f~fagbgW X Y LfMfNftfufvfugvgZ 0 1 2d3d4d5d6d7d+i,i-i.iflglhliljlkl/i:i;i=i?i@i[i]i2 3 4 p q r LbMbNb^i_illml`i{i|i}i~iajbjcjdjejfjgjnlolddedfdObPbQbsdtdudVcWcXcYcZc0cRbSbTb1c2c3cUbVbWb: ; = XbYbZb4c5c6c7c8c9chjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjf *e+e^d_d`d{dpl5l6l=lvmUl0mqlDdrlsltlHk$lwmJdulTjUjVjWj!c#c$c%c'c(cNlOl,e-e.e/e:e;e=e?e@e[e]e^e_e`e{e|ehmimjmkmXjYjZj0j?l@lwfxfyfcgdgegfggghgigjgkglgmgng5 6 7 OfPfQfzfAfBfwgxg8 9 ! 8d9d!d#d$d%d1j2j3j4jvlwlxlylzlAl5j6j7j8j9j!j#j$j# $ % s t u 0b1b2b%j'jBlCl(j)j*j+j,j-j.j/j:j;j=j?jDlElgdhdid3b4b5bvdwdxd)c*c+c,c-c.c6b7b8b/c:c;c9b!b#b? @ [ $b%b'b=c?c@c[c]c^c@j[j]j^j_j`j{j|j}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBk
642 else:
643 ModelMetaclass.__init__(cls, classname, bases, dict_, **kw) 2a VlWl7m8m9m!m1m}eRfSfTfUfv Cf~ew KdLdan_mb XlYl#m$m%m'm2m(lafbfVfWfXfYfZf0f1f2fy z DfEfcfdfA B MdNdOdPdbn`mc Zl0l(m)m*m+m3m*l+lefffgf3f4f5f6f7f8f9f!f#f$f%f'fE F G FfGfHfhfifjfH I J QdRdSdTdUdVdcn{md 1l2l,m-m.m/m4m-l.lkflfmf(f)f*f+f,f-f.f/f:f;f=f?fN O P IfJfKfnfofpfQ R S WdXdYdZd0d1ddn|me 3l4l:m;m=m?m5m:l;lqfrfsf@f[f]f^f_f`f{f|f}f~fagbgW X Y LfMfNftfufvfZ 0 1 2d3d4d5d6d7den}mf 5l6l@m[m]m^m6m?l@lwfxfyfcgdgegfggghgigjgkglgmgng5 6 7 OfPfQfzfAfBf8 9 ! 8d9d!d#d$d%dfn~m
646def get_sqlalchemy_type(field: Any) -> Any: 1abcdef
647 if IS_PYDANTIC_V2: 2a |d'd(dIkVlWl%llmPlJkydKkLkMkxmCk7lmmEdNkymzmPmygzg(b)bFl}d~daebecedeeefe[l]lAgBg}eRfSfTfUfv Cf~eogw KdLdCgDgOkPkQkEgFgGgHgx g ] IgRkJgKgLgMgNgOgSk_c^ jd*b+b_ ,b` ' { -b.bPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g6g7gb ge)d*dTkXlYl'lnmQlUkzdVkWkXkAmDk8lomFdYkBmCmQm8g9g/b:b;b=bGlheiejekelemeneoe^l_l!g#g(lafbfVfWfXfYfZf0f1f2fy z DfEfcfdfpgA B MdNdOdPd$g%gZk0k1k'g(g)g*gC D h i | } +g2k,g-g.g/g:g;g3k`c{c~ abkdld?b@b[b]bbbcb^b_bdbeb( ) fbgb`b{b|b}b=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghc peqe+d,d-d.d4kZl0l)lpmRl5kAd6k7k8kDmEk9lqmGd9kEmFmRmhhihjhkh~bacbcccdcecHlIlreseteuevewexeyezeAeBeCeDeEeFeGe`l{l|l}llhmhnhoh*l+lefffgf3f4f5f6f7f8f9f!f#f$f%f'fE F G FfGfHfhfifjfqgrgH I J QdRdSdTdUdVdphqhrhsh!k#k$k%k'k(kthuhvhwhxhyhzhAhK L M j k l hbibjbBhCh)k*kDhEhFhGhHhIhJhKhLhMhNhOh+k,k|c}c~ckblbmbmdndodfcgchcicjckcnbobpblcmcncqbrbsb* + , tbubvbocpcqcrcsctcPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?hd HeIe/d:d;d=d-k1l2l,lrmSl.kBd/k:k;kGmFk!lsmHd=kHmImSm@h[h]h^hucvcwcxcyczcJlKlJeKeLeMeNeOePeQeReSeTeUeVeWeXeYe~lambmcm_h`h{h|h-l.lkflfmf(f)f*f+f,f-f.f/f:f;f=f?fN O P IfJfKfnfofpfsgtgQ R S WdXdYdZd0d1d}h~haibi?k@k[k]k^k_kcidieifigihiiijiT U V m n o wbxbybkili`k{kminioipiqirisitiuiviwixi|k}kadbdcdzbAbBbpdqdrdAcBcCcDcEcFcCbDbEbGcHcIcFbGbHb- . / IbJbKbJcKcLcMcNcOcyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i9ie Ze0e?d@d[d]d~k3l4l/ltmTlalCdblcldlJmGk#lumIdelKmLmTm!i#i$i%iPcQcRcScTcUcLlMl1e2e3e4e5e6e7e8e9e!e#e$e%e'e(e)edmemfmgm'i(i)i*i:l;lqfrfsf@f[f]f^f_f`f{f|f}f~fagbgW X Y LfMfNftfufvfugvgZ 0 1 2d3d4d5d6d7d+i,i-i.iflglhliljlkl/i:i;i=i?i@i[i]i2 3 4 p q r LbMbNb^i_illml`i{i|i}i~iajbjcjdjejfjgjnlolddedfdObPbQbsdtdudVcWcXcYcZc0cRbSbTb1c2c3cUbVbWb: ; = XbYbZb4c5c6c7c8c9chjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjf *e+e^d_d`d{dpl5l6l=lvmUlqlDdrlsltlMmHk$lwmJdulNmOmUmTjUjVjWj!c#c$c%c'c(cNlOl,e-e.e/e:e;e=e?e@e[e]e^e_e`e{e|ehmimjmkmXjYjZj0j?l@lwfxfyfcgdgegfggghgigjgkglgmgng5 6 7 OfPfQfzfAfBfwgxg8 9 ! 8d9d!d#d$d%d1j2j3j4jvlwlxlylzlAl5j6j7j8j9j!j#j$j# $ % s t u 0b1b2b%j'jBlCl(j)j*j+j,j-j.j/j:j;j=j?jDlElgdhdid3b4b5bvdwdxd)c*c+c,c-c.c6b7b8b/c:c;c9b!b#b? @ [ $b%b'b=c?c@c[c]c^c@j[j]j^j_j`j{j|j}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBk
648 field_info = field 2a |d'd(dIkVlWl%llmPlJkydKkLkMkxmCk7lmmEdNkymzmPmygzg(b)bFl}d~daebecedeeefe[l]lAgBg}eRfSfTfUfv Cf~eogw KdLdCgDgOkPkQkEgFgGgHgx g ] IgRkJgKgLgMgNgOgSk_c^ jd*b+b_ ,b` ' { -b.bPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g6g7gb ge)d*dTkXlYl'lnmQlUkzdVkWkXkAmDk8lomFdYkBmCmQm8g9g/b:b;b=bGlheiejekelemeneoe^l_l!g#g(lafbfVfWfXfYfZf0f1f2fy z DfEfcfdfpgA B MdNdOdPd$g%gZk0k1k'g(g)g*gC D h i | } +g2k,g-g.g/g:g;g3k`c{c~ abkdld?b@b[b]bbbcb^b_bdbeb( ) fbgb`b{b|b}b=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghc peqe+d,d-d.d4kZl0l)lpmRl5kAd6k7k8kDmEk9lqmGd9kEmFmRmhhihjhkh~bacbcccdcecHlIlreseteuevewexeyezeAeBeCeDeEeFeGe`l{l|l}llhmhnhoh*l+lefffgf3f4f5f6f7f8f9f!f#f$f%f'fE F G FfGfHfhfifjfqgrgH I J QdRdSdTdUdVdphqhrhsh!k#k$k%k'k(kthuhvhwhxhyhzhAhK L M j k l hbibjbBhCh)k*kDhEhFhGhHhIhJhKhLhMhNhOh+k,k|c}c~ckblbmbmdndodfcgchcicjckcnbobpblcmcncqbrbsb* + , tbubvbocpcqcrcsctcPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?hd HeIe/d:d;d=d-k1l2l,lrmSl.kBd/k:k;kGmFk!lsmHd=kHmImSm@h[h]h^hucvcwcxcyczcJlKlJeKeLeMeNeOePeQeReSeTeUeVeWeXeYe~lambmcm_h`h{h|h-l.lkflfmf(f)f*f+f,f-f.f/f:f;f=f?fN O P IfJfKfnfofpfsgtgQ R S WdXdYdZd0d1d}h~haibi?k@k[k]k^k_kcidieifigihiiijiT U V m n o wbxbybkili`k{kminioipiqirisitiuiviwixi|k}kadbdcdzbAbBbpdqdrdAcBcCcDcEcFcCbDbEbGcHcIcFbGbHb- . / IbJbKbJcKcLcMcNcOcyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i9ie Ze0e?d@d[d]d~k3l4l/ltmTlalCdblcldlJmGk#lumIdelKmLmTm!i#i$i%iPcQcRcScTcUcLlMl1e2e3e4e5e6e7e8e9e!e#e$e%e'e(e)edmemfmgm'i(i)i*i:l;lqfrfsf@f[f]f^f_f`f{f|f}f~fagbgW X Y LfMfNftfufvfugvgZ 0 1 2d3d4d5d6d7d+i,i-i.iflglhliljlkl/i:i;i=i?i@i[i]i2 3 4 p q r LbMbNb^i_illml`i{i|i}i~iajbjcjdjejfjgjnlolddedfdObPbQbsdtdudVcWcXcYcZc0cRbSbTb1c2c3cUbVbWb: ; = XbYbZb4c5c6c7c8c9chjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjf *e+e^d_d`d{dpl5l6l=lvmUlqlDdrlsltlMmHk$lwmJdulNmOmUmTjUjVjWj!c#c$c%c'c(cNlOl,e-e.e/e:e;e=e?e@e[e]e^e_e`e{e|ehmimjmkmXjYjZj0j?l@lwfxfyfcgdgegfggghgigjgkglgmgng5 6 7 OfPfQfzfAfBfwgxg8 9 ! 8d9d!d#d$d%d1j2j3j4jvlwlxlylzlAl5j6j7j8j9j!j#j$j# $ % s t u 0b1b2b%j'jBlCl(j)j*j+j,j-j.j/j:j;j=j?jDlElgdhdid3b4b5bvdwdxd)c*c+c,c-c.c6b7b8b/c:c;c9b!b#b? @ [ $b%b'b=c?c@c[c]c^c@j[j]j^j_j`j{j|j}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBk
649 else:
650 field_info = field.field_info 2a |d'd(dVlWl%llmPlJkydKkLkMkxmCk7lmmEdNkymzmPmygzg(b)bFl}d~daebecedeeefe[l]lAgBg}eRfSfTfUfv Cf~eogw KdLdCgDgOkPkQkEgFgGgHgx g ] IgRkJgKgLgMgNgOgSk_c^ jd*b+b_ ,b` ' { -b.bPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g6g7gb ge)d*dXlYl'lnmQlUkzdVkWkXkAmDk8lomFdYkBmCmQm8g9g/b:b;b=bGlheiejekelemeneoe^l_l!g#g(lafbfVfWfXfYfZf0f1f2fy z DfEfcfdfpgA B MdNdOdPd$g%gZk0k1k'g(g)g*gC D h i | } +g2k,g-g.g/g:g;g3k`c{c~ abkdld?b@b[b]bbbcb^b_bdbeb( ) fbgb`b{b|b}b=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghc peqe+d,d-d.dZl0l)lpmRl5kAd6k7k8kDmEk9lqmGd9kEmFmRmhhihjhkh~bacbcccdcecHlIlreseteuevewexeyezeAeBeCeDeEeFeGe`l{l|l}llhmhnhoh*l+lefffgf3f4f5f6f7f8f9f!f#f$f%f'fE F G FfGfHfhfifjfqgrgH I J QdRdSdTdUdVdphqhrhsh!k#k$k%k'k(kthuhvhwhxhyhzhAhK L M j k l hbibjbBhCh)k*kDhEhFhGhHhIhJhKhLhMhNhOh+k,k|c}c~ckblbmbmdndodfcgchcicjckcnbobpblcmcncqbrbsb* + , tbubvbocpcqcrcsctcPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?hd HeIe/d:d;d=d1l2l,lrmSl.kBd/k:k;kGmFk!lsmHd=kHmImSm@h[h]h^hucvcwcxcyczcJlKlJeKeLeMeNeOePeQeReSeTeUeVeWeXeYe~lambmcm_h`h{h|h-l.lkflfmf(f)f*f+f,f-f.f/f:f;f=f?fN O P IfJfKfnfofpfsgtgQ R S WdXdYdZd0d1d}h~haibi?k@k[k]k^k_kcidieifigihiiijiT U V m n o wbxbybkili`k{kminioipiqirisitiuiviwixi|k}kadbdcdzbAbBbpdqdrdAcBcCcDcEcFcCbDbEbGcHcIcFbGbHb- . / IbJbKbJcKcLcMcNcOcyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i9ie Ze0e?d@d[d]d3l4l/ltmTlalCdblcldlJmGk#lumIdelKmLmTm!i#i$i%iPcQcRcScTcUcLlMl1e2e3e4e5e6e7e8e9e!e#e$e%e'e(e)edmemfmgm'i(i)i*i:l;lqfrfsf@f[f]f^f_f`f{f|f}f~fagbgW X Y LfMfNftfufvfugvgZ 0 1 2d3d4d5d6d7d+i,i-i.iflglhliljlkl/i:i;i=i?i@i[i]i2 3 4 p q r LbMbNb^i_illml`i{i|i}i~iajbjcjdjejfjgjnlolddedfdObPbQbsdtdudVcWcXcYcZc0cRbSbTb1c2c3cUbVbWb: ; = XbYbZb4c5c6c7c8c9chjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjf *e+e^d_d`d{d5l6l=lvmUlqlDdrlsltlMmHk$lwmJdulNmOmUmTjUjVjWj!c#c$c%c'c(cNlOl,e-e.e/e:e;e=e?e@e[e]e^e_e`e{e|ehmimjmkmXjYjZj0j?l@lwfxfyfcgdgegfggghgigjgkglgmgng5 6 7 OfPfQfzfAfBfwgxg8 9 ! 8d9d!d#d$d%d1j2j3j4jvlwlxlylzlAl5j6j7j8j9j!j#j$j# $ % s t u 0b1b2b%j'jBlCl(j)j*j+j,j-j.j/j:j;j=j?jDlElgdhdid3b4b5bvdwdxd)c*c+c,c-c.c6b7b8b/c:c;c9b!b#b? @ [ $b%b'b=c?c@c[c]c^c@j[j]j^j_j`j{j|j}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBk
651 sa_type = getattr(field_info, "sa_type", Undefined) # noqa: B009 2a |d'd(dIkVlWl%llmPlJkydKkLkMkxmCk7lmmEdNkymzmPmygzg(b)bFl}d~daebecedeeefe[l]lAgBg}eRfSfTfUfv Cf~eogw KdLdCgDgOkPkQkEgFgGgHgx g ] IgRkJgKgLgMgNgOgSk_c^ jd*b+b_ ,b` ' { -b.bPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g6g7gb ge)d*dTkXlYl'lnmQlUkzdVkWkXkAmDk8lomFdYkBmCmQm8g9g/b:b;b=bGlheiejekelemeneoe^l_l!g#g(lafbfVfWfXfYfZf0f1f2fy z DfEfcfdfpgA B MdNdOdPd$g%gZk0k1k'g(g)g*gC D h i | } +g2k,g-g.g/g:g;g3k`c{c~ abkdld?b@b[b]bbbcb^b_bdbeb( ) fbgb`b{b|b}b=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghc peqe+d,d-d.d4kZl0l)lpmRl5kAd6k7k8kDmEk9lqmGd9kEmFmRmhhihjhkh~bacbcccdcecHlIlreseteuevewexeyezeAeBeCeDeEeFeGe`l{l|l}llhmhnhoh*l+lefffgf3f4f5f6f7f8f9f!f#f$f%f'fE F G FfGfHfhfifjfqgrgH I J QdRdSdTdUdVdphqhrhsh!k#k$k%k'k(kthuhvhwhxhyhzhAhK L M j k l hbibjbBhCh)k*kDhEhFhGhHhIhJhKhLhMhNhOh+k,k|c}c~ckblbmbmdndodfcgchcicjckcnbobpblcmcncqbrbsb* + , tbubvbocpcqcrcsctcPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?hd HeIe/d:d;d=d-k1l2l,lrmSl.kBd/k:k;kGmFk!lsmHd=kHmImSm@h[h]h^hucvcwcxcyczcJlKlJeKeLeMeNeOePeQeReSeTeUeVeWeXeYe~lambmcm_h`h{h|h-l.lkflfmf(f)f*f+f,f-f.f/f:f;f=f?fN O P IfJfKfnfofpfsgtgQ R S WdXdYdZd0d1d}h~haibi?k@k[k]k^k_kcidieifigihiiijiT U V m n o wbxbybkili`k{kminioipiqirisitiuiviwixi|k}kadbdcdzbAbBbpdqdrdAcBcCcDcEcFcCbDbEbGcHcIcFbGbHb- . / IbJbKbJcKcLcMcNcOcyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i9ie Ze0e?d@d[d]d~k3l4l/ltmTlalCdblcldlJmGk#lumIdelKmLmTm!i#i$i%iPcQcRcScTcUcLlMl1e2e3e4e5e6e7e8e9e!e#e$e%e'e(e)edmemfmgm'i(i)i*i:l;lqfrfsf@f[f]f^f_f`f{f|f}f~fagbgW X Y LfMfNftfufvfugvgZ 0 1 2d3d4d5d6d7d+i,i-i.iflglhliljlkl/i:i;i=i?i@i[i]i2 3 4 p q r LbMbNb^i_illml`i{i|i}i~iajbjcjdjejfjgjnlolddedfdObPbQbsdtdudVcWcXcYcZc0cRbSbTb1c2c3cUbVbWb: ; = XbYbZb4c5c6c7c8c9chjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjf *e+e^d_d`d{dpl5l6l=lvmUlqlDdrlsltlMmHk$lwmJdulNmOmUmTjUjVjWj!c#c$c%c'c(cNlOl,e-e.e/e:e;e=e?e@e[e]e^e_e`e{e|ehmimjmkmXjYjZj0j?l@lwfxfyfcgdgegfggghgigjgkglgmgng5 6 7 OfPfQfzfAfBfwgxg8 9 ! 8d9d!d#d$d%d1j2j3j4jvlwlxlylzlAl5j6j7j8j9j!j#j$j# $ % s t u 0b1b2b%j'jBlCl(j)j*j+j,j-j.j/j:j;j=j?jDlElgdhdid3b4b5bvdwdxd)c*c+c,c-c.c6b7b8b/c:c;c9b!b#b? @ [ $b%b'b=c?c@c[c]c^c@j[j]j^j_j`j{j|j}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBk
652 if sa_type is not Undefined: 2a |d'd(dIkVlWl%llmPlJkydKkLkMkxmCk7lmmEdNkymzmPmygzg(b)bFl}d~daebecedeeefe[l]lAgBg}eRfSfTfUfv Cf~eogw KdLdCgDgOkPkQkEgFgGgHgx g ] IgRkJgKgLgMgNgOgSk_c^ jd*b+b_ ,b` ' { -b.bPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g6g7gb ge)d*dTkXlYl'lnmQlUkzdVkWkXkAmDk8lomFdYkBmCmQm8g9g/b:b;b=bGlheiejekelemeneoe^l_l!g#g(lafbfVfWfXfYfZf0f1f2fy z DfEfcfdfpgA B MdNdOdPd$g%gZk0k1k'g(g)g*gC D h i | } +g2k,g-g.g/g:g;g3k`c{c~ abkdld?b@b[b]bbbcb^b_bdbeb( ) fbgb`b{b|b}b=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghc peqe+d,d-d.d4kZl0l)lpmRl5kAd6k7k8kDmEk9lqmGd9kEmFmRmhhihjhkh~bacbcccdcecHlIlreseteuevewexeyezeAeBeCeDeEeFeGe`l{l|l}llhmhnhoh*l+lefffgf3f4f5f6f7f8f9f!f#f$f%f'fE F G FfGfHfhfifjfqgrgH I J QdRdSdTdUdVdphqhrhsh!k#k$k%k'k(kthuhvhwhxhyhzhAhK L M j k l hbibjbBhCh)k*kDhEhFhGhHhIhJhKhLhMhNhOh+k,k|c}c~ckblbmbmdndodfcgchcicjckcnbobpblcmcncqbrbsb* + , tbubvbocpcqcrcsctcPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?hd HeIe/d:d;d=d-k1l2l,lrmSl.kBd/k:k;kGmFk!lsmHd=kHmImSm@h[h]h^hucvcwcxcyczcJlKlJeKeLeMeNeOePeQeReSeTeUeVeWeXeYe~lambmcm_h`h{h|h-l.lkflfmf(f)f*f+f,f-f.f/f:f;f=f?fN O P IfJfKfnfofpfsgtgQ R S WdXdYdZd0d1d}h~haibi?k@k[k]k^k_kcidieifigihiiijiT U V m n o wbxbybkili`k{kminioipiqirisitiuiviwixi|k}kadbdcdzbAbBbpdqdrdAcBcCcDcEcFcCbDbEbGcHcIcFbGbHb- . / IbJbKbJcKcLcMcNcOcyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i9ie Ze0e?d@d[d]d~k3l4l/ltmTlalCdblcldlJmGk#lumIdelKmLmTm!i#i$i%iPcQcRcScTcUcLlMl1e2e3e4e5e6e7e8e9e!e#e$e%e'e(e)edmemfmgm'i(i)i*i:l;lqfrfsf@f[f]f^f_f`f{f|f}f~fagbgW X Y LfMfNftfufvfugvgZ 0 1 2d3d4d5d6d7d+i,i-i.iflglhliljlkl/i:i;i=i?i@i[i]i2 3 4 p q r LbMbNb^i_illml`i{i|i}i~iajbjcjdjejfjgjnlolddedfdObPbQbsdtdudVcWcXcYcZc0cRbSbTb1c2c3cUbVbWb: ; = XbYbZb4c5c6c7c8c9chjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjf *e+e^d_d`d{dpl5l6l=lvmUlqlDdrlsltlMmHk$lwmJdulNmOmUmTjUjVjWj!c#c$c%c'c(cNlOl,e-e.e/e:e;e=e?e@e[e]e^e_e`e{e|ehmimjmkmXjYjZj0j?l@lwfxfyfcgdgegfggghgigjgkglgmgng5 6 7 OfPfQfzfAfBfwgxg8 9 ! 8d9d!d#d$d%d1j2j3j4jvlwlxlylzlAl5j6j7j8j9j!j#j$j# $ % s t u 0b1b2b%j'jBlCl(j)j*j+j,j-j.j/j:j;j=j?jDlElgdhdid3b4b5bvdwdxd)c*c+c,c-c.c6b7b8b/c:c;c9b!b#b? @ [ $b%b'b=c?c@c[c]c^c@j[j]j^j_j`j{j|j}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBk
653 return sa_type
655 type_ = get_sa_type_from_field(field) 2a |d'd(dIkVlWl%llmPlJkydKkLkMkxmCk7lmmEdNkymzmPmygzg(b)bFl}d~daebecedeeefe[l]lAgBg}eRfSfTfUfv Cf~eogw KdLdCgDgOkPkQkEgFgGgHgx g ] IgRkJgKgLgMgNgOgSk_c^ jd*b+b_ ,b` ' { -b.bPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g6g7gb ge)d*dTkXlYl'lnmQlUkzdVkWkXkAmDk8lomFdYkBmCmQm8g9g/b:b;b=bGlheiejekelemeneoe^l_l!g#g(lafbfVfWfXfYfZf0f1f2fy z DfEfcfdfpgA B MdNdOdPd$g%gZk0k1k'g(g)g*gC D h i | } +g2k,g-g.g/g:g;g3k`c{c~ abkdld?b@b[b]bbbcb^b_bdbeb( ) fbgb`b{b|b}b=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghc peqe+d,d-d.d4kZl0l)lpmRl5kAd6k7k8kDmEk9lqmGd9kEmFmRmhhihjhkh~bacbcccdcecHlIlreseteuevewexeyezeAeBeCeDeEeFeGe`l{l|l}llhmhnhoh*l+lefffgf3f4f5f6f7f8f9f!f#f$f%f'fE F G FfGfHfhfifjfqgrgH I J QdRdSdTdUdVdphqhrhsh!k#k$k%k'k(kthuhvhwhxhyhzhAhK L M j k l hbibjbBhCh)k*kDhEhFhGhHhIhJhKhLhMhNhOh+k,k|c}c~ckblbmbmdndodfcgchcicjckcnbobpblcmcncqbrbsb* + , tbubvbocpcqcrcsctcPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?hd HeIe/d:d;d=d-k1l2l,lrmSl.kBd/k:k;kGmFk!lsmHd=kHmImSm@h[h]h^hucvcwcxcyczcJlKlJeKeLeMeNeOePeQeReSeTeUeVeWeXeYe~lambmcm_h`h{h|h-l.lkflfmf(f)f*f+f,f-f.f/f:f;f=f?fN O P IfJfKfnfofpfsgtgQ R S WdXdYdZd0d1d}h~haibi?k@k[k]k^k_kcidieifigihiiijiT U V m n o wbxbybkili`k{kminioipiqirisitiuiviwixi|k}kadbdcdzbAbBbpdqdrdAcBcCcDcEcFcCbDbEbGcHcIcFbGbHb- . / IbJbKbJcKcLcMcNcOcyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i9ie Ze0e?d@d[d]d~k3l4l/ltmTlalCdblcldlJmGk#lumIdelKmLmTm!i#i$i%iPcQcRcScTcUcLlMl1e2e3e4e5e6e7e8e9e!e#e$e%e'e(e)edmemfmgm'i(i)i*i:l;lqfrfsf@f[f]f^f_f`f{f|f}f~fagbgW X Y LfMfNftfufvfugvgZ 0 1 2d3d4d5d6d7d+i,i-i.iflglhliljlkl/i:i;i=i?i@i[i]i2 3 4 p q r LbMbNb^i_illml`i{i|i}i~iajbjcjdjejfjgjnlolddedfdObPbQbsdtdudVcWcXcYcZc0cRbSbTb1c2c3cUbVbWb: ; = XbYbZb4c5c6c7c8c9chjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjf *e+e^d_d`d{dpl5l6l=lvmUlqlDdrlsltlMmHk$lwmJdulNmOmUmTjUjVjWj!c#c$c%c'c(cNlOl,e-e.e/e:e;e=e?e@e[e]e^e_e`e{e|ehmimjmkmXjYjZj0j?l@lwfxfyfcgdgegfggghgigjgkglgmgng5 6 7 OfPfQfzfAfBfwgxg8 9 ! 8d9d!d#d$d%d1j2j3j4jvlwlxlylzlAl5j6j7j8j9j!j#j$j# $ % s t u 0b1b2b%j'jBlCl(j)j*j+j,j-j.j/j:j;j=j?jDlElgdhdid3b4b5bvdwdxd)c*c+c,c-c.c6b7b8b/c:c;c9b!b#b? @ [ $b%b'b=c?c@c[c]c^c@j[j]j^j_j`j{j|j}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBk
656 metadata = get_field_metadata(field) 2a |d'd(dIkVlWl%llmPlJkydKkLkMkxmCk7lmmEdNkymzmPmygzg(b)bFl}d~daebecedeeefe[l]lAgBg}eRfSfTfUfv Cf~eogw KdLdCgDgOkPkQkEgFgGgHgx g ] IgRkJgKgLgMgNgOgSk_c^ jd*b+b_ ,b` ' { -b.bPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g6g7gb ge)d*dTkXlYl'lnmQlUkzdVkWkXkAmDk8lomFdYkBmCmQm8g9g/b:b;b=bGlheiejekelemeneoe^l_l!g#g(lafbfVfWfXfYfZf0f1f2fy z DfEfcfdfpgA B MdNdOdPd$g%gZk0k1k'g(g)g*gC D h i | } +g2k,g-g.g/g:g;g3k`c{c~ abkdld?b@b[b]bbbcb^b_bdbeb( ) fbgb`b{b|b}b=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghc peqe+d,d-d.d4kZl0l)lpmRl5kAd6k7k8kDmEk9lqmGd9kEmFmRmhhihjhkh~bacbcccdcecHlIlreseteuevewexeyezeAeBeCeDeEeFeGe`l{l|l}llhmhnhoh*l+lefffgf3f4f5f6f7f8f9f!f#f$f%f'fE F G FfGfHfhfifjfqgrgH I J QdRdSdTdUdVdphqhrhsh!k#k$k%k'k(kthuhvhwhxhyhzhAhK L M j k l hbibjbBhCh)k*kDhEhFhGhHhIhJhKhLhMhNhOh+k,k|c}c~ckblbmbmdndodfcgchcicjckcnbobpblcmcncqbrbsb* + , tbubvbocpcqcrcsctcPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?hd HeIe/d:d;d=d-k1l2l,lrmSl.kBd/k:k;kGmFk!lsmHd=kHmImSm@h[h]h^hucvcwcxcyczcJlKlJeKeLeMeNeOePeQeReSeTeUeVeWeXeYe~lambmcm_h`h{h|h-l.lkflfmf(f)f*f+f,f-f.f/f:f;f=f?fN O P IfJfKfnfofpfsgtgQ R S WdXdYdZd0d1d}h~haibi?k@k[k]k^k_kcidieifigihiiijiT U V m n o wbxbybkili`k{kminioipiqirisitiuiviwixi|k}kadbdcdzbAbBbpdqdrdAcBcCcDcEcFcCbDbEbGcHcIcFbGbHb- . / IbJbKbJcKcLcMcNcOcyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i9ie Ze0e?d@d[d]d~k3l4l/ltmTlalCdblcldlJmGk#lumIdelKmLmTm!i#i$i%iPcQcRcScTcUcLlMl1e2e3e4e5e6e7e8e9e!e#e$e%e'e(e)edmemfmgm'i(i)i*i:l;lqfrfsf@f[f]f^f_f`f{f|f}f~fagbgW X Y LfMfNftfufvfugvgZ 0 1 2d3d4d5d6d7d+i,i-i.iflglhliljlkl/i:i;i=i?i@i[i]i2 3 4 p q r LbMbNb^i_illml`i{i|i}i~iajbjcjdjejfjgjnlolddedfdObPbQbsdtdudVcWcXcYcZc0cRbSbTb1c2c3cUbVbWb: ; = XbYbZb4c5c6c7c8c9chjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjf *e+e^d_d`d{dpl5l6l=lvmUlqlDdrlsltlMmHk$lwmJdulNmOmUmTjUjVjWj!c#c$c%c'c(cNlOl,e-e.e/e:e;e=e?e@e[e]e^e_e`e{e|ehmimjmkmXjYjZj0j?l@lwfxfyfcgdgegfggghgigjgkglgmgng5 6 7 OfPfQfzfAfBfwgxg8 9 ! 8d9d!d#d$d%d1j2j3j4jvlwlxlylzlAl5j6j7j8j9j!j#j$j# $ % s t u 0b1b2b%j'jBlCl(j)j*j+j,j-j.j/j:j;j=j?jDlElgdhdid3b4b5bvdwdxd)c*c+c,c-c.c6b7b8b/c:c;c9b!b#b? @ [ $b%b'b=c?c@c[c]c^c@j[j]j^j_j`j{j|j}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBk
658 # Check enums first as an enum can also be a str, needed by Pydantic/FastAPI
659 if issubclass(type_, Enum): 2a |d'd(dIkVlWl%llmPlJkydKkLkMkxmCk7lmmEdNkymzmPmygzg(b)bFl}d~daebecedeeefe[l]lAgBg}eRfSfTfUfv Cf~eogw KdLdCgDgOkPkQkEgFgGgHgx g ] IgRkJgKgLgMgNgOgSk_c^ jd*b+b_ ,b` ' { -b.bPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g6g7gb ge)d*dTkXlYl'lnmQlUkzdVkWkXkAmDk8lomFdYkBmCmQm8g9g/b:b;b=bGlheiejekelemeneoe^l_l!g#g(lafbfVfWfXfYfZf0f1f2fy z DfEfcfdfpgA B MdNdOdPd$g%gZk0k1k'g(g)g*gC D h i | } +g2k,g-g.g/g:g;g3k`c{c~ abkdld?b@b[b]bbbcb^b_bdbeb( ) fbgb`b{b|b}b=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghc peqe+d,d-d.d4kZl0l)lpmRl5kAd6k7k8kDmEk9lqmGd9kEmFmRmhhihjhkh~bacbcccdcecHlIlreseteuevewexeyezeAeBeCeDeEeFeGe`l{l|l}llhmhnhoh*l+lefffgf3f4f5f6f7f8f9f!f#f$f%f'fE F G FfGfHfhfifjfqgrgH I J QdRdSdTdUdVdphqhrhsh!k#k$k%k'k(kthuhvhwhxhyhzhAhK L M j k l hbibjbBhCh)k*kDhEhFhGhHhIhJhKhLhMhNhOh+k,k|c}c~ckblbmbmdndodfcgchcicjckcnbobpblcmcncqbrbsb* + , tbubvbocpcqcrcsctcPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?hd HeIe/d:d;d=d-k1l2l,lrmSl.kBd/k:k;kGmFk!lsmHd=kHmImSm@h[h]h^hucvcwcxcyczcJlKlJeKeLeMeNeOePeQeReSeTeUeVeWeXeYe~lambmcm_h`h{h|h-l.lkflfmf(f)f*f+f,f-f.f/f:f;f=f?fN O P IfJfKfnfofpfsgtgQ R S WdXdYdZd0d1d}h~haibi?k@k[k]k^k_kcidieifigihiiijiT U V m n o wbxbybkili`k{kminioipiqirisitiuiviwixi|k}kadbdcdzbAbBbpdqdrdAcBcCcDcEcFcCbDbEbGcHcIcFbGbHb- . / IbJbKbJcKcLcMcNcOcyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i9ie Ze0e?d@d[d]d~k3l4l/ltmTlalCdblcldlJmGk#lumIdelKmLmTm!i#i$i%iPcQcRcScTcUcLlMl1e2e3e4e5e6e7e8e9e!e#e$e%e'e(e)edmemfmgm'i(i)i*i:l;lqfrfsf@f[f]f^f_f`f{f|f}f~fagbgW X Y LfMfNftfufvfugvgZ 0 1 2d3d4d5d6d7d+i,i-i.iflglhliljlkl/i:i;i=i?i@i[i]i2 3 4 p q r LbMbNb^i_illml`i{i|i}i~iajbjcjdjejfjgjnlolddedfdObPbQbsdtdudVcWcXcYcZc0cRbSbTb1c2c3cUbVbWb: ; = XbYbZb4c5c6c7c8c9chjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjf *e+e^d_d`d{dpl5l6l=lvmUlqlDdrlsltlMmHk$lwmJdulNmOmUmTjUjVjWj!c#c$c%c'c(cNlOl,e-e.e/e:e;e=e?e@e[e]e^e_e`e{e|ehmimjmkmXjYjZj0j?l@lwfxfyfcgdgegfggghgigjgkglgmgng5 6 7 OfPfQfzfAfBfwgxg8 9 ! 8d9d!d#d$d%d1j2j3j4jvlwlxlylzlAl5j6j7j8j9j!j#j$j# $ % s t u 0b1b2b%j'jBlCl(j)j*j+j,j-j.j/j:j;j=j?jDlElgdhdid3b4b5bvdwdxd)c*c+c,c-c.c6b7b8b/c:c;c9b!b#b? @ [ $b%b'b=c?c@c[c]c^c@j[j]j^j_j`j{j|j}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBk
660 return sa_Enum(type_) 2a VlWlb XlYlc Zl0ld 1l2le 3l4lf 5l6l
661 if issubclass( 2a |d'd(dIkVlWl%llmPlJkydKkLkMkxmCk7lmmEdNkymzmPmygzg(b)bFl}d~daebecedeeefe[l]lAgBg}eRfSfTfUfv Cf~eogw KdLdCgDgOkPkQkEgFgGgHgx g ] IgRkJgKgLgMgNgOgSk_c^ jd*b+b_ ,b` ' { -b.bPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g6g7gb ge)d*dTkXlYl'lnmQlUkzdVkWkXkAmDk8lomFdYkBmCmQm8g9g/b:b;b=bGlheiejekelemeneoe^l_l!g#g(lafbfVfWfXfYfZf0f1f2fy z DfEfcfdfpgA B MdNdOdPd$g%gZk0k1k'g(g)g*gC D h i | } +g2k,g-g.g/g:g;g3k`c{c~ abkdld?b@b[b]bbbcb^b_bdbeb( ) fbgb`b{b|b}b=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghc peqe+d,d-d.d4kZl0l)lpmRl5kAd6k7k8kDmEk9lqmGd9kEmFmRmhhihjhkh~bacbcccdcecHlIlreseteuevewexeyezeAeBeCeDeEeFeGe`l{l|l}llhmhnhoh*l+lefffgf3f4f5f6f7f8f9f!f#f$f%f'fE F G FfGfHfhfifjfqgrgH I J QdRdSdTdUdVdphqhrhsh!k#k$k%k'k(kthuhvhwhxhyhzhAhK L M j k l hbibjbBhCh)k*kDhEhFhGhHhIhJhKhLhMhNhOh+k,k|c}c~ckblbmbmdndodfcgchcicjckcnbobpblcmcncqbrbsb* + , tbubvbocpcqcrcsctcPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?hd HeIe/d:d;d=d-k1l2l,lrmSl.kBd/k:k;kGmFk!lsmHd=kHmImSm@h[h]h^hucvcwcxcyczcJlKlJeKeLeMeNeOePeQeReSeTeUeVeWeXeYe~lambmcm_h`h{h|h-l.lkflfmf(f)f*f+f,f-f.f/f:f;f=f?fN O P IfJfKfnfofpfsgtgQ R S WdXdYdZd0d1d}h~haibi?k@k[k]k^k_kcidieifigihiiijiT U V m n o wbxbybkili`k{kminioipiqirisitiuiviwixi|k}kadbdcdzbAbBbpdqdrdAcBcCcDcEcFcCbDbEbGcHcIcFbGbHb- . / IbJbKbJcKcLcMcNcOcyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i9ie Ze0e?d@d[d]d~k3l4l/ltmTlalCdblcldlJmGk#lumIdelKmLmTm!i#i$i%iPcQcRcScTcUcLlMl1e2e3e4e5e6e7e8e9e!e#e$e%e'e(e)edmemfmgm'i(i)i*i:l;lqfrfsf@f[f]f^f_f`f{f|f}f~fagbgW X Y LfMfNftfufvfugvgZ 0 1 2d3d4d5d6d7d+i,i-i.iflglhliljlkl/i:i;i=i?i@i[i]i2 3 4 p q r LbMbNb^i_illml`i{i|i}i~iajbjcjdjejfjgjnlolddedfdObPbQbsdtdudVcWcXcYcZc0cRbSbTb1c2c3cUbVbWb: ; = XbYbZb4c5c6c7c8c9chjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjf *e+e^d_d`d{dpl5l6l=lvmUlqlDdrlsltlMmHk$lwmJdulNmOmUmTjUjVjWj!c#c$c%c'c(cNlOl,e-e.e/e:e;e=e?e@e[e]e^e_e`e{e|ehmimjmkmXjYjZj0j?l@lwfxfyfcgdgegfggghgigjgkglgmgng5 6 7 OfPfQfzfAfBfwgxg8 9 ! 8d9d!d#d$d%d1j2j3j4jvlwlxlylzlAl5j6j7j8j9j!j#j$j# $ % s t u 0b1b2b%j'jBlCl(j)j*j+j,j-j.j/j:j;j=j?jDlElgdhdid3b4b5bvdwdxd)c*c+c,c-c.c6b7b8b/c:c;c9b!b#b? @ [ $b%b'b=c?c@c[c]c^c@j[j]j^j_j`j{j|j}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBk
662 type_,
663 (
664 str,
665 ipaddress.IPv4Address,
666 ipaddress.IPv4Network,
667 ipaddress.IPv6Address,
668 ipaddress.IPv6Network,
669 Path,
670 EmailStr,
671 ),
672 ):
673 max_length = getattr(metadata, "max_length", None) 2a |d'd(d%lPlJkydKkLkMkCk7lEdNkygzg(b)bFl}d~daebecedeeefe[l]lAgBg}eRfSfTfUfv Cf~eogw KdLdCgDgOkPkQkEgFgGgHgx g ] IgRkJgKgLgMgNgOgSk_c^ jd*b+b_ ,b` ' { -b.bPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g6g7gb ge)d*d'lQlUkzdVkWkXkDk8lFdYk8g9g/b:b;b=bGlheiejekelemeneoe^l_l!g#g(lafbfVfWfXfYfZf0f1f2fy z DfEfcfdfpgA B MdNdOdPd$g%gZk0k1k'g(g)g*gC D h i | } +g2k,g-g.g/g:g;g3k`c{c~ abkdld?b@b[b]bbbcb^b_bdbeb( ) fbgb`b{b|b}b=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghc peqe+d,d-d.d)lRl5kAd6k7k8kEk9lGd9khhihjhkh~bacbcccdcecHlIlreseteuevewexeyezeAeBeCeDeEeFeGe`l{l|l}llhmhnhoh*l+lefffgf3f4f5f6f7f8f9f!f#f$f%f'fE F G FfGfHfhfifjfqgrgH I J QdRdSdTdUdVdphqhrhsh!k#k$k%k'k(kthuhvhwhxhyhzhAhK L M j k l hbibjbBhCh)k*kDhEhFhGhHhIhJhKhLhMhNhOh+k,k|c}c~ckblbmbmdndodfcgchcicjckcnbobpblcmcncqbrbsb* + , tbubvbocpcqcrcsctcPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?hd HeIe/d:d;d=d,lSl.kBd/k:k;kFk!lHd=k@h[h]h^hucvcwcxcyczcJlKlJeKeLeMeNeOePeQeReSeTeUeVeWeXeYe~lambmcm_h`h{h|h-l.lkflfmf(f)f*f+f,f-f.f/f:f;f=f?fN O P IfJfKfnfofpfsgtgQ R S WdXdYdZd0d1d}h~haibi?k@k[k]k^k_kcidieifigihiiijiT U V m n o wbxbybkili`k{kminioipiqirisitiuiviwixi|k}kadbdcdzbAbBbpdqdrdAcBcCcDcEcFcCbDbEbGcHcIcFbGbHb- . / IbJbKbJcKcLcMcNcOcyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i9ie Ze0e?d@d[d]d/lTlalCdblcldlGk#lIdel!i#i$i%iPcQcRcScTcUcLlMl1e2e3e4e5e6e7e8e9e!e#e$e%e'e(e)edmemfmgm'i(i)i*i:l;lqfrfsf@f[f]f^f_f`f{f|f}f~fagbgW X Y LfMfNftfufvfugvgZ 0 1 2d3d4d5d6d7d+i,i-i.iflglhliljlkl/i:i;i=i?i@i[i]i2 3 4 p q r LbMbNb^i_illml`i{i|i}i~iajbjcjdjejfjgjnlolddedfdObPbQbsdtdudVcWcXcYcZc0cRbSbTb1c2c3cUbVbWb: ; = XbYbZb4c5c6c7c8c9chjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjf *e+e^d_d`d{d=lUlqlDdrlsltlHk$lJdulTjUjVjWj!c#c$c%c'c(cNlOl,e-e.e/e:e;e=e?e@e[e]e^e_e`e{e|ehmimjmkmXjYjZj0j?l@lwfxfyfcgdgegfggghgigjgkglgmgng5 6 7 OfPfQfzfAfBfwgxg8 9 ! 8d9d!d#d$d%d1j2j3j4jvlwlxlylzlAl5j6j7j8j9j!j#j$j# $ % s t u 0b1b2b%j'jBlCl(j)j*j+j,j-j.j/j:j;j=j?jDlElgdhdid3b4b5bvdwdxd)c*c+c,c-c.c6b7b8b/c:c;c9b!b#b? @ [ $b%b'b=c?c@c[c]c^c@j[j]j^j_j`j{j|j}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBk
674 if max_length: 2a |d'd(d%lPlJkydKkLkMkCk7lEdNkygzg(b)bFl}d~daebecedeeefe[l]lAgBg}eRfSfTfUfv Cf~eogw KdLdCgDgOkPkQkEgFgGgHgx g ] IgRkJgKgLgMgNgOgSk_c^ jd*b+b_ ,b` ' { -b.bPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g6g7gb ge)d*d'lQlUkzdVkWkXkDk8lFdYk8g9g/b:b;b=bGlheiejekelemeneoe^l_l!g#g(lafbfVfWfXfYfZf0f1f2fy z DfEfcfdfpgA B MdNdOdPd$g%gZk0k1k'g(g)g*gC D h i | } +g2k,g-g.g/g:g;g3k`c{c~ abkdld?b@b[b]bbbcb^b_bdbeb( ) fbgb`b{b|b}b=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghc peqe+d,d-d.d)lRl5kAd6k7k8kEk9lGd9khhihjhkh~bacbcccdcecHlIlreseteuevewexeyezeAeBeCeDeEeFeGe`l{l|l}llhmhnhoh*l+lefffgf3f4f5f6f7f8f9f!f#f$f%f'fE F G FfGfHfhfifjfqgrgH I J QdRdSdTdUdVdphqhrhsh!k#k$k%k'k(kthuhvhwhxhyhzhAhK L M j k l hbibjbBhCh)k*kDhEhFhGhHhIhJhKhLhMhNhOh+k,k|c}c~ckblbmbmdndodfcgchcicjckcnbobpblcmcncqbrbsb* + , tbubvbocpcqcrcsctcPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?hd HeIe/d:d;d=d,lSl.kBd/k:k;kFk!lHd=k@h[h]h^hucvcwcxcyczcJlKlJeKeLeMeNeOePeQeReSeTeUeVeWeXeYe~lambmcm_h`h{h|h-l.lkflfmf(f)f*f+f,f-f.f/f:f;f=f?fN O P IfJfKfnfofpfsgtgQ R S WdXdYdZd0d1d}h~haibi?k@k[k]k^k_kcidieifigihiiijiT U V m n o wbxbybkili`k{kminioipiqirisitiuiviwixi|k}kadbdcdzbAbBbpdqdrdAcBcCcDcEcFcCbDbEbGcHcIcFbGbHb- . / IbJbKbJcKcLcMcNcOcyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i9ie Ze0e?d@d[d]d/lTlalCdblcldlGk#lIdel!i#i$i%iPcQcRcScTcUcLlMl1e2e3e4e5e6e7e8e9e!e#e$e%e'e(e)edmemfmgm'i(i)i*i:l;lqfrfsf@f[f]f^f_f`f{f|f}f~fagbgW X Y LfMfNftfufvfugvgZ 0 1 2d3d4d5d6d7d+i,i-i.iflglhliljlkl/i:i;i=i?i@i[i]i2 3 4 p q r LbMbNb^i_illml`i{i|i}i~iajbjcjdjejfjgjnlolddedfdObPbQbsdtdudVcWcXcYcZc0cRbSbTb1c2c3cUbVbWb: ; = XbYbZb4c5c6c7c8c9chjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjf *e+e^d_d`d{d=lUlqlDdrlsltlHk$lJdulTjUjVjWj!c#c$c%c'c(cNlOl,e-e.e/e:e;e=e?e@e[e]e^e_e`e{e|ehmimjmkmXjYjZj0j?l@lwfxfyfcgdgegfggghgigjgkglgmgng5 6 7 OfPfQfzfAfBfwgxg8 9 ! 8d9d!d#d$d%d1j2j3j4jvlwlxlylzlAl5j6j7j8j9j!j#j$j# $ % s t u 0b1b2b%j'jBlCl(j)j*j+j,j-j.j/j:j;j=j?jDlElgdhdid3b4b5bvdwdxd)c*c+c,c-c.c6b7b8b/c:c;c9b!b#b? @ [ $b%b'b=c?c@c[c]c^c@j[j]j^j_j`j{j|j}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBk
675 return AutoString(length=max_length)
676 return AutoString 2a |d'd(d%lPlJkydKkLkMkCk7lEdNkygzg(b)bFl}d~daebecedeeefe[l]lAgBg}eRfSfTfUfv Cf~eogw KdLdCgDgOkPkQkEgFgGgHgx g ] IgRkJgKgLgMgNgOgSk_c^ jd*b+b_ ,b` ' { -b.bPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g6g7gb ge)d*d'lQlUkzdVkWkXkDk8lFdYk8g9g/b:b;b=bGlheiejekelemeneoe^l_l!g#g(lafbfVfWfXfYfZf0f1f2fy z DfEfcfdfpgA B MdNdOdPd$g%gZk0k1k'g(g)g*gC D h i | } +g2k,g-g.g/g:g;g3k`c{c~ abkdld?b@b[b]bbbcb^b_bdbeb( ) fbgb`b{b|b}b=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghc peqe+d,d-d.d)lRl5kAd6k7k8kEk9lGd9khhihjhkh~bacbcccdcecHlIlreseteuevewexeyezeAeBeCeDeEeFeGe`l{l|l}llhmhnhoh*l+lefffgf3f4f5f6f7f8f9f!f#f$f%f'fE F G FfGfHfhfifjfqgrgH I J QdRdSdTdUdVdphqhrhsh!k#k$k%k'k(kthuhvhwhxhyhzhAhK L M j k l hbibjbBhCh)k*kDhEhFhGhHhIhJhKhLhMhNhOh+k,k|c}c~ckblbmbmdndodfcgchcicjckcnbobpblcmcncqbrbsb* + , tbubvbocpcqcrcsctcPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?hd HeIe/d:d;d=d,lSl.kBd/k:k;kFk!lHd=k@h[h]h^hucvcwcxcyczcJlKlJeKeLeMeNeOePeQeReSeTeUeVeWeXeYe~lambmcm_h`h{h|h-l.lkflfmf(f)f*f+f,f-f.f/f:f;f=f?fN O P IfJfKfnfofpfsgtgQ R S WdXdYdZd0d1d}h~haibi?k@k[k]k^k_kcidieifigihiiijiT U V m n o wbxbybkili`k{kminioipiqirisitiuiviwixi|k}kadbdcdzbAbBbpdqdrdAcBcCcDcEcFcCbDbEbGcHcIcFbGbHb- . / IbJbKbJcKcLcMcNcOcyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i9ie Ze0e?d@d[d]d/lTlalCdblcldlGk#lIdel!i#i$i%iPcQcRcScTcUcLlMl1e2e3e4e5e6e7e8e9e!e#e$e%e'e(e)edmemfmgm'i(i)i*i:l;lqfrfsf@f[f]f^f_f`f{f|f}f~fagbgW X Y LfMfNftfufvfugvgZ 0 1 2d3d4d5d6d7d+i,i-i.iflglhliljlkl/i:i;i=i?i@i[i]i2 3 4 p q r LbMbNb^i_illml`i{i|i}i~iajbjcjdjejfjgjnlolddedfdObPbQbsdtdudVcWcXcYcZc0cRbSbTb1c2c3cUbVbWb: ; = XbYbZb4c5c6c7c8c9chjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjf *e+e^d_d`d{d=lUlqlDdrlsltlHk$lJdulTjUjVjWj!c#c$c%c'c(cNlOl,e-e.e/e:e;e=e?e@e[e]e^e_e`e{e|ehmimjmkmXjYjZj0j?l@lwfxfyfcgdgegfggghgigjgkglgmgng5 6 7 OfPfQfzfAfBfwgxg8 9 ! 8d9d!d#d$d%d1j2j3j4jvlwlxlylzlAl5j6j7j8j9j!j#j$j# $ % s t u 0b1b2b%j'jBlCl(j)j*j+j,j-j.j/j:j;j=j?jDlElgdhdid3b4b5bvdwdxd)c*c+c,c-c.c6b7b8b/c:c;c9b!b#b? @ [ $b%b'b=c?c@c[c]c^c@j[j]j^j_j`j{j|j}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBk
677 if issubclass(type_, float): 2a |d'd(dIkVlWl%llmPlJkydKkLkMkxmCk7lmmEdNkymzmPmygzg(b)bFl}d~daebecedeeefe[l]lAgBg}eRfSfTfUfv Cf~eogw KdLdCgDgOkPkQkEgFgGgHgx g ] IgRkJgKgLgMgNgOgSk_c^ jd*b+b_ ,b` ' { -b.bPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g6g7gb ge)d*dTkXlYl'lnmQlUkzdVkWkXkAmDk8lomFdYkBmCmQm8g9g/b:b;b=bGlheiejekelemeneoe^l_l!g#g(lafbfVfWfXfYfZf0f1f2fy z DfEfcfdfpgA B MdNdOdPd$g%gZk0k1k'g(g)g*gC D h i | } +g2k,g-g.g/g:g;g3k`c{c~ abkdld?b@b[b]bbbcb^b_bdbeb( ) fbgb`b{b|b}b=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghc peqe+d,d-d.d4kZl0l)lpmRl5kAd6k7k8kDmEk9lqmGd9kEmFmRmhhihjhkh~bacbcccdcecHlIlreseteuevewexeyezeAeBeCeDeEeFeGe`l{l|l}llhmhnhoh*l+lefffgf3f4f5f6f7f8f9f!f#f$f%f'fE F G FfGfHfhfifjfqgrgH I J QdRdSdTdUdVdphqhrhsh!k#k$k%k'k(kthuhvhwhxhyhzhAhK L M j k l hbibjbBhCh)k*kDhEhFhGhHhIhJhKhLhMhNhOh+k,k|c}c~ckblbmbmdndodfcgchcicjckcnbobpblcmcncqbrbsb* + , tbubvbocpcqcrcsctcPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?hd HeIe/d:d;d=d-k1l2l,lrmSl.kBd/k:k;kGmFk!lsmHd=kHmImSm@h[h]h^hucvcwcxcyczcJlKlJeKeLeMeNeOePeQeReSeTeUeVeWeXeYe~lambmcm_h`h{h|h-l.lkflfmf(f)f*f+f,f-f.f/f:f;f=f?fN O P IfJfKfnfofpfsgtgQ R S WdXdYdZd0d1d}h~haibi?k@k[k]k^k_kcidieifigihiiijiT U V m n o wbxbybkili`k{kminioipiqirisitiuiviwixi|k}kadbdcdzbAbBbpdqdrdAcBcCcDcEcFcCbDbEbGcHcIcFbGbHb- . / IbJbKbJcKcLcMcNcOcyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i9ie Ze0e?d@d[d]d~k3l4l/ltmTlalCdblcldlJmGk#lumIdelKmLmTm!i#i$i%iPcQcRcScTcUcLlMl1e2e3e4e5e6e7e8e9e!e#e$e%e'e(e)edmemfmgm'i(i)i*i:l;lqfrfsf@f[f]f^f_f`f{f|f}f~fagbgW X Y LfMfNftfufvfugvgZ 0 1 2d3d4d5d6d7d+i,i-i.iflglhliljlkl/i:i;i=i?i@i[i]i2 3 4 p q r LbMbNb^i_illml`i{i|i}i~iajbjcjdjejfjgjnlolddedfdObPbQbsdtdudVcWcXcYcZc0cRbSbTb1c2c3cUbVbWb: ; = XbYbZb4c5c6c7c8c9chjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjf *e+e^d_d`d{dpl5l6l=lvmUlqlDdrlsltlMmHk$lwmJdulNmOmUmTjUjVjWj!c#c$c%c'c(cNlOl,e-e.e/e:e;e=e?e@e[e]e^e_e`e{e|ehmimjmkmXjYjZj0j?l@lwfxfyfcgdgegfggghgigjgkglgmgng5 6 7 OfPfQfzfAfBfwgxg8 9 ! 8d9d!d#d$d%d1j2j3j4jvlwlxlylzlAl5j6j7j8j9j!j#j$j# $ % s t u 0b1b2b%j'jBlCl(j)j*j+j,j-j.j/j:j;j=j?jDlElgdhdid3b4b5bvdwdxd)c*c+c,c-c.c6b7b8b/c:c;c9b!b#b? @ [ $b%b'b=c?c@c[c]c^c@j[j]j^j_j`j{j|j}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBk
678 return Float
679 if issubclass(type_, bool): 2a |d'd(dIkVlWl%llmPlJkydKkLkMkxmCk7lmmEdNkymzmPmygzg(b)bFl}d~daebecedeeefe[l]lAgBg}eRfSfTfUfv Cf~eogw KdLdCgDgOkPkQkEgFgGgHgx g ] IgRkJgKgLgMgNgOgSk_c^ jd*b+b_ ,b` ' { -b.bPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g6g7gb ge)d*dTkXlYl'lnmQlUkzdVkWkXkAmDk8lomFdYkBmCmQm8g9g/b:b;b=bGlheiejekelemeneoe^l_l!g#g(lafbfVfWfXfYfZf0f1f2fy z DfEfcfdfpgA B MdNdOdPd$g%gZk0k1k'g(g)g*gC D h i | } +g2k,g-g.g/g:g;g3k`c{c~ abkdld?b@b[b]bbbcb^b_bdbeb( ) fbgb`b{b|b}b=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghc peqe+d,d-d.d4kZl0l)lpmRl5kAd6k7k8kDmEk9lqmGd9kEmFmRmhhihjhkh~bacbcccdcecHlIlreseteuevewexeyezeAeBeCeDeEeFeGe`l{l|l}llhmhnhoh*l+lefffgf3f4f5f6f7f8f9f!f#f$f%f'fE F G FfGfHfhfifjfqgrgH I J QdRdSdTdUdVdphqhrhsh!k#k$k%k'k(kthuhvhwhxhyhzhAhK L M j k l hbibjbBhCh)k*kDhEhFhGhHhIhJhKhLhMhNhOh+k,k|c}c~ckblbmbmdndodfcgchcicjckcnbobpblcmcncqbrbsb* + , tbubvbocpcqcrcsctcPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?hd HeIe/d:d;d=d-k1l2l,lrmSl.kBd/k:k;kGmFk!lsmHd=kHmImSm@h[h]h^hucvcwcxcyczcJlKlJeKeLeMeNeOePeQeReSeTeUeVeWeXeYe~lambmcm_h`h{h|h-l.lkflfmf(f)f*f+f,f-f.f/f:f;f=f?fN O P IfJfKfnfofpfsgtgQ R S WdXdYdZd0d1d}h~haibi?k@k[k]k^k_kcidieifigihiiijiT U V m n o wbxbybkili`k{kminioipiqirisitiuiviwixi|k}kadbdcdzbAbBbpdqdrdAcBcCcDcEcFcCbDbEbGcHcIcFbGbHb- . / IbJbKbJcKcLcMcNcOcyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i9ie Ze0e?d@d[d]d~k3l4l/ltmTlalCdblcldlJmGk#lumIdelKmLmTm!i#i$i%iPcQcRcScTcUcLlMl1e2e3e4e5e6e7e8e9e!e#e$e%e'e(e)edmemfmgm'i(i)i*i:l;lqfrfsf@f[f]f^f_f`f{f|f}f~fagbgW X Y LfMfNftfufvfugvgZ 0 1 2d3d4d5d6d7d+i,i-i.iflglhliljlkl/i:i;i=i?i@i[i]i2 3 4 p q r LbMbNb^i_illml`i{i|i}i~iajbjcjdjejfjgjnlolddedfdObPbQbsdtdudVcWcXcYcZc0cRbSbTb1c2c3cUbVbWb: ; = XbYbZb4c5c6c7c8c9chjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjf *e+e^d_d`d{dpl5l6l=lvmUlqlDdrlsltlMmHk$lwmJdulNmOmUmTjUjVjWj!c#c$c%c'c(cNlOl,e-e.e/e:e;e=e?e@e[e]e^e_e`e{e|ehmimjmkmXjYjZj0j?l@lwfxfyfcgdgegfggghgigjgkglgmgng5 6 7 OfPfQfzfAfBfwgxg8 9 ! 8d9d!d#d$d%d1j2j3j4jvlwlxlylzlAl5j6j7j8j9j!j#j$j# $ % s t u 0b1b2b%j'jBlCl(j)j*j+j,j-j.j/j:j;j=j?jDlElgdhdid3b4b5bvdwdxd)c*c+c,c-c.c6b7b8b/c:c;c9b!b#b? @ [ $b%b'b=c?c@c[c]c^c@j[j]j^j_j`j{j|j}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBk
680 return Boolean 2] | } hbibjbwbxbybLbMbNb0b1b2b
681 if issubclass(type_, int): 2a |d'd(dIkVlWl%llmPlJkydKkLkMkxmCk7lmmEdNkymzmPmygzg(b)bFl}d~daebecedeeefe[l]lAgBg}eRfSfTfUfv Cf~eogw KdLdCgDgOkPkQkEgFgGgHgx g ] IgRkJgKgLgMgNgOgSk_c^ jd*b+b_ ,b` ' { -b.bPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g6g7gb ge)d*dTkXlYl'lnmQlUkzdVkWkXkAmDk8lomFdYkBmCmQm8g9g/b:b;b=bGlheiejekelemeneoe^l_l!g#g(lafbfVfWfXfYfZf0f1f2fy z DfEfcfdfpgA B MdNdOdPd$g%gZk0k1k'g(g)g*gC D h i | } +g2k,g-g.g/g:g;g3k`c{c~ abkdld?b@b[b]bbbcb^b_bdbeb( ) fbgb`b{b|b}b=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghc peqe+d,d-d.d4kZl0l)lpmRl5kAd6k7k8kDmEk9lqmGd9kEmFmRmhhihjhkh~bacbcccdcecHlIlreseteuevewexeyezeAeBeCeDeEeFeGe`l{l|l}llhmhnhoh*l+lefffgf3f4f5f6f7f8f9f!f#f$f%f'fE F G FfGfHfhfifjfqgrgH I J QdRdSdTdUdVdphqhrhsh!k#k$k%k'k(kthuhvhwhxhyhzhAhK L M j k l hbibjbBhCh)k*kDhEhFhGhHhIhJhKhLhMhNhOh+k,k|c}c~ckblbmbmdndodfcgchcicjckcnbobpblcmcncqbrbsb* + , tbubvbocpcqcrcsctcPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?hd HeIe/d:d;d=d-k1l2l,lrmSl.kBd/k:k;kGmFk!lsmHd=kHmImSm@h[h]h^hucvcwcxcyczcJlKlJeKeLeMeNeOePeQeReSeTeUeVeWeXeYe~lambmcm_h`h{h|h-l.lkflfmf(f)f*f+f,f-f.f/f:f;f=f?fN O P IfJfKfnfofpfsgtgQ R S WdXdYdZd0d1d}h~haibi?k@k[k]k^k_kcidieifigihiiijiT U V m n o wbxbybkili`k{kminioipiqirisitiuiviwixi|k}kadbdcdzbAbBbpdqdrdAcBcCcDcEcFcCbDbEbGcHcIcFbGbHb- . / IbJbKbJcKcLcMcNcOcyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i9ie Ze0e?d@d[d]d~k3l4l/ltmTlalCdblcldlJmGk#lumIdelKmLmTm!i#i$i%iPcQcRcScTcUcLlMl1e2e3e4e5e6e7e8e9e!e#e$e%e'e(e)edmemfmgm'i(i)i*i:l;lqfrfsf@f[f]f^f_f`f{f|f}f~fagbgW X Y LfMfNftfufvfugvgZ 0 1 2d3d4d5d6d7d+i,i-i.iflglhliljlkl/i:i;i=i?i@i[i]i2 3 4 p q r LbMbNb^i_illml`i{i|i}i~iajbjcjdjejfjgjnlolddedfdObPbQbsdtdudVcWcXcYcZc0cRbSbTb1c2c3cUbVbWb: ; = XbYbZb4c5c6c7c8c9chjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjf *e+e^d_d`d{dpl5l6l=lvmUlqlDdrlsltlMmHk$lwmJdulNmOmUmTjUjVjWj!c#c$c%c'c(cNlOl,e-e.e/e:e;e=e?e@e[e]e^e_e`e{e|ehmimjmkmXjYjZj0j?l@lwfxfyfcgdgegfggghgigjgkglgmgng5 6 7 OfPfQfzfAfBfwgxg8 9 ! 8d9d!d#d$d%d1j2j3j4jvlwlxlylzlAl5j6j7j8j9j!j#j$j# $ % s t u 0b1b2b%j'jBlCl(j)j*j+j,j-j.j/j:j;j=j?jDlElgdhdid3b4b5bvdwdxd)c*c+c,c-c.c6b7b8b/c:c;c9b!b#b? @ [ $b%b'b=c?c@c[c]c^c@j[j]j^j_j`j{j|j}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBk
682 return Integer 2a |d'd(d%llmPlJkydKkLkMkxmCk7lmmEdNkymzmPmygzg(b)bFl}d~daebecedeeefe[l]lAgBg}eRfSfTfUfv Cf~eogw KdLdCgDgOkPkQkEgFgGgHgx g ] IgRkJgKgLgMgNgOgSk_c^ jd*b+b_ ,b` ' { -b.bPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g6g7gb ge)d*d'lnmQlUkzdVkWkXkAmDk8lomFdYkBmCmQm8g9g/b:b;b=bGlheiejekelemeneoe^l_l!g#g(lafbfVfWfXfYfZf0f1f2fy z DfEfcfdfpgA B MdNdOdPd$g%gZk0k1k'g(g)g*gC D h i | } +g2k,g-g.g/g:g;g3k`c{c~ abkdld?b@b[b]bbbcb^b_bdbeb( ) fbgb`b{b|b}b=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghc peqe+d,d-d.d)lpmRl5kAd6k7k8kDmEk9lqmGd9kEmFmRmhhihjhkh~bacbcccdcecHlIlreseteuevewexeyezeAeBeCeDeEeFeGe`l{l|l}llhmhnhoh*l+lefffgf3f4f5f6f7f8f9f!f#f$f%f'fE F G FfGfHfhfifjfqgrgH I J QdRdSdTdUdVdphqhrhsh!k#k$k%k'k(kthuhvhwhxhyhzhAhK L M j k l hbibjbBhCh)k*kDhEhFhGhHhIhJhKhLhMhNhOh+k,k|c}c~ckblbmbmdndodfcgchcicjckcnbobpblcmcncqbrbsb* + , tbubvbocpcqcrcsctcPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?hd HeIe/d:d;d=d,lrmSl.kBd/k:k;kGmFk!lsmHd=kHmImSm@h[h]h^hucvcwcxcyczcJlKlJeKeLeMeNeOePeQeReSeTeUeVeWeXeYe~lambmcm_h`h{h|h-l.lkflfmf(f)f*f+f,f-f.f/f:f;f=f?fN O P IfJfKfnfofpfsgtgQ R S WdXdYdZd0d1d}h~haibi?k@k[k]k^k_kcidieifigihiiijiT U V m n o wbxbybkili`k{kminioipiqirisitiuiviwixi|k}kadbdcdzbAbBbpdqdrdAcBcCcDcEcFcCbDbEbGcHcIcFbGbHb- . / IbJbKbJcKcLcMcNcOcyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i9ie Ze0e?d@d[d]d/ltmTlalCdblcldlJmGk#lumIdelKmLmTm!i#i$i%iPcQcRcScTcUcLlMl1e2e3e4e5e6e7e8e9e!e#e$e%e'e(e)edmemfmgm'i(i)i*i:l;lqfrfsf@f[f]f^f_f`f{f|f}f~fagbgW X Y LfMfNftfufvfugvgZ 0 1 2d3d4d5d6d7d+i,i-i.iflglhliljlkl/i:i;i=i?i@i[i]i2 3 4 p q r LbMbNb^i_illml`i{i|i}i~iajbjcjdjejfjgjnlolddedfdObPbQbsdtdudVcWcXcYcZc0cRbSbTb1c2c3cUbVbWb: ; = XbYbZb4c5c6c7c8c9chjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjf *e+e^d_d`d{d=lvmUlqlDdrlsltlMmHk$lwmJdulNmOmUmTjUjVjWj!c#c$c%c'c(cNlOl,e-e.e/e:e;e=e?e@e[e]e^e_e`e{e|ehmimjmkmXjYjZj0j?l@lwfxfyfcgdgegfggghgigjgkglgmgng5 6 7 OfPfQfzfAfBfwgxg8 9 ! 8d9d!d#d$d%d1j2j3j4jvlwlxlylzlAl5j6j7j8j9j!j#j$j# $ % s t u 0b1b2b%j'jBlCl(j)j*j+j,j-j.j/j:j;j=j?jDlElgdhdid3b4b5bvdwdxd)c*c+c,c-c.c6b7b8b/c:c;c9b!b#b? @ [ $b%b'b=c?c@c[c]c^c@j[j]j^j_j`j{j|j}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBk
683 if issubclass(type_, datetime): 2a |d'd(dIkVlWlxmymzmb ge)d*dTkXlYlAmBmCmc peqe+d,d-d.d4kZl0lDmEmFmd HeIe/d:d;d=d-k1l2lGmHmIme Ze0e?d@d[d]d~k3l4lJmKmLmf *e+e^d_d`d{dpl5l6lMmNmOm
684 return DateTime
685 if issubclass(type_, date): 2a |d'd(dIkVlWlxmymzmb ge)d*dTkXlYlAmBmCmc peqe+d,d-d.d4kZl0lDmEmFmd HeIe/d:d;d=d-k1l2lGmHmIme Ze0e?d@d[d]d~k3l4lJmKmLmf *e+e^d_d`d{dpl5l6lMmNmOm
686 return Date
687 if issubclass(type_, timedelta): 2a |d'd(dIkVlWlxmymzmb ge)d*dTkXlYlAmBmCmc peqe+d,d-d.d4kZl0lDmEmFmd HeIe/d:d;d=d-k1l2lGmHmIme Ze0e?d@d[d]d~k3l4lJmKmLmf *e+e^d_d`d{dpl5l6lMmNmOm
688 return Interval
689 if issubclass(type_, time): 2a |d'd(dIkVlWlxmymzmb ge)d*dTkXlYlAmBmCmc peqe+d,d-d.d4kZl0lDmEmFmd HeIe/d:d;d=d-k1l2lGmHmIme Ze0e?d@d[d]d~k3l4lJmKmLmf *e+e^d_d`d{dpl5l6lMmNmOm
690 return Time
691 if issubclass(type_, bytes): 2a |d'd(dIkVlWlxmymzmb ge)d*dTkXlYlAmBmCmc peqe+d,d-d.d4kZl0lDmEmFmd HeIe/d:d;d=d-k1l2lGmHmIme Ze0e?d@d[d]d~k3l4lJmKmLmf *e+e^d_d`d{dpl5l6lMmNmOm
692 return LargeBinary
693 if issubclass(type_, Decimal): 2a |d'd(dIkVlWlxmymzmb ge)d*dTkXlYlAmBmCmc peqe+d,d-d.d4kZl0lDmEmFmd HeIe/d:d;d=d-k1l2lGmHmIme Ze0e?d@d[d]d~k3l4lJmKmLmf *e+e^d_d`d{dpl5l6lMmNmOm
694 return Numeric( 2|dgepeqeHeIeZe0e*e+e
695 precision=getattr(metadata, "max_digits", None),
696 scale=getattr(metadata, "decimal_places", None),
697 )
698 if issubclass(type_, uuid.UUID): 2a 'd(dIkVlWlxmymzmb )d*dTkXlYlAmBmCmc +d,d-d.d4kZl0lDmEmFmd /d:d;d=d-k1l2lGmHmIme ?d@d[d]d~k3l4lJmKmLmf ^d_d`d{dpl5l6lMmNmOm
699 return Uuid 2a 'd(dIkVlWlb )d*dTkXlYlc +d,d-d.d4kZl0ld /d:d;d=d-k1l2le ?d@d[d]d~k3l4lf ^d_d`d{dpl5l6l
700 raise ValueError(f"{type_} has no matching SQLAlchemy type") 2xmymzmAmBmCmDmEmFmGmHmImJmKmLmMmNmOm
703def get_column_from_field(field: Any) -> Column: # type: ignore 1abcdef
704 if IS_PYDANTIC_V2: 2a |d'd(dIkVlWl%llmPlVmJkydKkLkMkxmCk7lmmEdNkymzmPmygzg(b)bFl}d~daebecedeeefe[l]lAgBg}eRfSfTfUfv Cf~eogw KdLdCgDgOkPkQkEgFgGgHgx g ] IgRkJgKgLgMgNgOgSk_c^ jd*b+b_ ,b` ' { -b.bPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g6g7gb ge)d*dTkXlYl'lnmQlWmUkzdVkWkXkAmDk8lomFdYkBmCmQm8g9g/b:b;b=bGlheiejekelemeneoe^l_l!g#g(lafbfVfWfXfYfZf0f1f2fy z DfEfcfdfpgA B MdNdOdPd$g%gZk0k1k'g(g)g*gC D h i | } +g2k,g-g.g/g:g;g3k`c{c~ abkdld?b@b[b]bbbcb^b_bdbeb( ) fbgb`b{b|b}b=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghc peqe+d,d-d.d4kZl0l)lpmRlXm5kAd6k7k8kDmEk9lqmGd9kEmFmRmhhihjhkh~bacbcccdcecHlIlreseteuevewexeyezeAeBeCeDeEeFeGe`l{l|l}llhmhnhoh*l+lefffgf3f4f5f6f7f8f9f!f#f$f%f'fE F G FfGfHfhfifjfqgrgH I J QdRdSdTdUdVdphqhrhsh!k#k$k%k'k(kthuhvhwhxhyhzhAhK L M j k l hbibjbBhCh)k*kDhEhFhGhHhIhJhKhLhMhNhOh+k,k|c}c~ckblbmbmdndodfcgchcicjckcnbobpblcmcncqbrbsb* + , tbubvbocpcqcrcsctcPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?hd HeIe/d:d;d=d-k1l2l,lrmSlYm.kBd/k:k;kGmFk!lsmHd=kHmImSm@h[h]h^hucvcwcxcyczcJlKlJeKeLeMeNeOePeQeReSeTeUeVeWeXeYe~lambmcm_h`h{h|h-l.lkflfmf(f)f*f+f,f-f.f/f:f;f=f?fN O P IfJfKfnfofpfsgtgQ R S WdXdYdZd0d1d}h~haibi?k@k[k]k^k_kcidieifigihiiijiT U V m n o wbxbybkili`k{kminioipiqirisitiuiviwixi|k}kadbdcdzbAbBbpdqdrdAcBcCcDcEcFcCbDbEbGcHcIcFbGbHb- . / IbJbKbJcKcLcMcNcOcyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i9ie Ze0e?d@d[d]d~k3l4l/ltmTlZmalCdblcldlJmGk#lumIdelKmLmTm!i#i$i%iPcQcRcScTcUcLlMl1e2e3e4e5e6e7e8e9e!e#e$e%e'e(e)edmemfmgm'i(i)i*i:l;lqfrfsf@f[f]f^f_f`f{f|f}f~fagbgW X Y LfMfNftfufvfugvgZ 0 1 2d3d4d5d6d7d+i,i-i.iflglhliljlkl/i:i;i=i?i@i[i]i2 3 4 p q r LbMbNb^i_illml`i{i|i}i~iajbjcjdjejfjgjnlolddedfdObPbQbsdtdudVcWcXcYcZc0cRbSbTb1c2c3cUbVbWb: ; = XbYbZb4c5c6c7c8c9chjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjf *e+e^d_d`d{dpl5l6l=lvmUl0mqlDdrlsltlMmHk$lwmJdulNmOmUmTjUjVjWj!c#c$c%c'c(cNlOl,e-e.e/e:e;e=e?e@e[e]e^e_e`e{e|ehmimjmkmXjYjZj0j?l@lwfxfyfcgdgegfggghgigjgkglgmgng5 6 7 OfPfQfzfAfBfwgxg8 9 ! 8d9d!d#d$d%d1j2j3j4jvlwlxlylzlAl5j6j7j8j9j!j#j$j# $ % s t u 0b1b2b%j'jBlCl(j)j*j+j,j-j.j/j:j;j=j?jDlElgdhdid3b4b5bvdwdxd)c*c+c,c-c.c6b7b8b/c:c;c9b!b#b? @ [ $b%b'b=c?c@c[c]c^c@j[j]j^j_j`j{j|j}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBk
705 field_info = field 2a |d'd(dIkVlWl%llmPlVmJkydKkLkMkxmCk7lmmEdNkymzmPmygzg(b)bFl}d~daebecedeeefe[l]lAgBg}eRfSfTfUfv Cf~eogw KdLdCgDgOkPkQkEgFgGgHgx g ] IgRkJgKgLgMgNgOgSk_c^ jd*b+b_ ,b` ' { -b.bPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g6g7gb ge)d*dTkXlYl'lnmQlWmUkzdVkWkXkAmDk8lomFdYkBmCmQm8g9g/b:b;b=bGlheiejekelemeneoe^l_l!g#g(lafbfVfWfXfYfZf0f1f2fy z DfEfcfdfpgA B MdNdOdPd$g%gZk0k1k'g(g)g*gC D h i | } +g2k,g-g.g/g:g;g3k`c{c~ abkdld?b@b[b]bbbcb^b_bdbeb( ) fbgb`b{b|b}b=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghc peqe+d,d-d.d4kZl0l)lpmRlXm5kAd6k7k8kDmEk9lqmGd9kEmFmRmhhihjhkh~bacbcccdcecHlIlreseteuevewexeyezeAeBeCeDeEeFeGe`l{l|l}llhmhnhoh*l+lefffgf3f4f5f6f7f8f9f!f#f$f%f'fE F G FfGfHfhfifjfqgrgH I J QdRdSdTdUdVdphqhrhsh!k#k$k%k'k(kthuhvhwhxhyhzhAhK L M j k l hbibjbBhCh)k*kDhEhFhGhHhIhJhKhLhMhNhOh+k,k|c}c~ckblbmbmdndodfcgchcicjckcnbobpblcmcncqbrbsb* + , tbubvbocpcqcrcsctcPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?hd HeIe/d:d;d=d-k1l2l,lrmSlYm.kBd/k:k;kGmFk!lsmHd=kHmImSm@h[h]h^hucvcwcxcyczcJlKlJeKeLeMeNeOePeQeReSeTeUeVeWeXeYe~lambmcm_h`h{h|h-l.lkflfmf(f)f*f+f,f-f.f/f:f;f=f?fN O P IfJfKfnfofpfsgtgQ R S WdXdYdZd0d1d}h~haibi?k@k[k]k^k_kcidieifigihiiijiT U V m n o wbxbybkili`k{kminioipiqirisitiuiviwixi|k}kadbdcdzbAbBbpdqdrdAcBcCcDcEcFcCbDbEbGcHcIcFbGbHb- . / IbJbKbJcKcLcMcNcOcyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i9ie Ze0e?d@d[d]d~k3l4l/ltmTlZmalCdblcldlJmGk#lumIdelKmLmTm!i#i$i%iPcQcRcScTcUcLlMl1e2e3e4e5e6e7e8e9e!e#e$e%e'e(e)edmemfmgm'i(i)i*i:l;lqfrfsf@f[f]f^f_f`f{f|f}f~fagbgW X Y LfMfNftfufvfugvgZ 0 1 2d3d4d5d6d7d+i,i-i.iflglhliljlkl/i:i;i=i?i@i[i]i2 3 4 p q r LbMbNb^i_illml`i{i|i}i~iajbjcjdjejfjgjnlolddedfdObPbQbsdtdudVcWcXcYcZc0cRbSbTb1c2c3cUbVbWb: ; = XbYbZb4c5c6c7c8c9chjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjf *e+e^d_d`d{dpl5l6l=lvmUl0mqlDdrlsltlMmHk$lwmJdulNmOmUmTjUjVjWj!c#c$c%c'c(cNlOl,e-e.e/e:e;e=e?e@e[e]e^e_e`e{e|ehmimjmkmXjYjZj0j?l@lwfxfyfcgdgegfggghgigjgkglgmgng5 6 7 OfPfQfzfAfBfwgxg8 9 ! 8d9d!d#d$d%d1j2j3j4jvlwlxlylzlAl5j6j7j8j9j!j#j$j# $ % s t u 0b1b2b%j'jBlCl(j)j*j+j,j-j.j/j:j;j=j?jDlElgdhdid3b4b5bvdwdxd)c*c+c,c-c.c6b7b8b/c:c;c9b!b#b? @ [ $b%b'b=c?c@c[c]c^c@j[j]j^j_j`j{j|j}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBk
706 else:
707 field_info = field.field_info 2a |d'd(dVlWl%llmPlVmJkydKkLkMkxmCk7lmmEdNkymzmPmygzg(b)bFl}d~daebecedeeefe[l]lAgBg}eRfSfTfUfv Cf~eogw KdLdCgDgOkPkQkEgFgGgHgx g ] IgRkJgKgLgMgNgOgSk_c^ jd*b+b_ ,b` ' { -b.bPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g6g7gb ge)d*dXlYl'lnmQlWmUkzdVkWkXkAmDk8lomFdYkBmCmQm8g9g/b:b;b=bGlheiejekelemeneoe^l_l!g#g(lafbfVfWfXfYfZf0f1f2fy z DfEfcfdfpgA B MdNdOdPd$g%gZk0k1k'g(g)g*gC D h i | } +g2k,g-g.g/g:g;g3k`c{c~ abkdld?b@b[b]bbbcb^b_bdbeb( ) fbgb`b{b|b}b=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghc peqe+d,d-d.dZl0l)lpmRlXm5kAd6k7k8kDmEk9lqmGd9kEmFmRmhhihjhkh~bacbcccdcecHlIlreseteuevewexeyezeAeBeCeDeEeFeGe`l{l|l}llhmhnhoh*l+lefffgf3f4f5f6f7f8f9f!f#f$f%f'fE F G FfGfHfhfifjfqgrgH I J QdRdSdTdUdVdphqhrhsh!k#k$k%k'k(kthuhvhwhxhyhzhAhK L M j k l hbibjbBhCh)k*kDhEhFhGhHhIhJhKhLhMhNhOh+k,k|c}c~ckblbmbmdndodfcgchcicjckcnbobpblcmcncqbrbsb* + , tbubvbocpcqcrcsctcPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?hd HeIe/d:d;d=d1l2l,lrmSlYm.kBd/k:k;kGmFk!lsmHd=kHmImSm@h[h]h^hucvcwcxcyczcJlKlJeKeLeMeNeOePeQeReSeTeUeVeWeXeYe~lambmcm_h`h{h|h-l.lkflfmf(f)f*f+f,f-f.f/f:f;f=f?fN O P IfJfKfnfofpfsgtgQ R S WdXdYdZd0d1d}h~haibi?k@k[k]k^k_kcidieifigihiiijiT U V m n o wbxbybkili`k{kminioipiqirisitiuiviwixi|k}kadbdcdzbAbBbpdqdrdAcBcCcDcEcFcCbDbEbGcHcIcFbGbHb- . / IbJbKbJcKcLcMcNcOcyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i9ie Ze0e?d@d[d]d3l4l/ltmTlZmalCdblcldlJmGk#lumIdelKmLmTm!i#i$i%iPcQcRcScTcUcLlMl1e2e3e4e5e6e7e8e9e!e#e$e%e'e(e)edmemfmgm'i(i)i*i:l;lqfrfsf@f[f]f^f_f`f{f|f}f~fagbgW X Y LfMfNftfufvfugvgZ 0 1 2d3d4d5d6d7d+i,i-i.iflglhliljlkl/i:i;i=i?i@i[i]i2 3 4 p q r LbMbNb^i_illml`i{i|i}i~iajbjcjdjejfjgjnlolddedfdObPbQbsdtdudVcWcXcYcZc0cRbSbTb1c2c3cUbVbWb: ; = XbYbZb4c5c6c7c8c9chjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjf *e+e^d_d`d{d5l6l=lvmUl0mqlDdrlsltlMmHk$lwmJdulNmOmUmTjUjVjWj!c#c$c%c'c(cNlOl,e-e.e/e:e;e=e?e@e[e]e^e_e`e{e|ehmimjmkmXjYjZj0j?l@lwfxfyfcgdgegfggghgigjgkglgmgng5 6 7 OfPfQfzfAfBfwgxg8 9 ! 8d9d!d#d$d%d1j2j3j4jvlwlxlylzlAl5j6j7j8j9j!j#j$j# $ % s t u 0b1b2b%j'jBlCl(j)j*j+j,j-j.j/j:j;j=j?jDlElgdhdid3b4b5bvdwdxd)c*c+c,c-c.c6b7b8b/c:c;c9b!b#b? @ [ $b%b'b=c?c@c[c]c^c@j[j]j^j_j`j{j|j}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBk
708 sa_column = getattr(field_info, "sa_column", Undefined) 2a |d'd(dIkVlWl%llmPlVmJkydKkLkMkxmCk7lmmEdNkymzmPmygzg(b)bFl}d~daebecedeeefe[l]lAgBg}eRfSfTfUfv Cf~eogw KdLdCgDgOkPkQkEgFgGgHgx g ] IgRkJgKgLgMgNgOgSk_c^ jd*b+b_ ,b` ' { -b.bPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g6g7gb ge)d*dTkXlYl'lnmQlWmUkzdVkWkXkAmDk8lomFdYkBmCmQm8g9g/b:b;b=bGlheiejekelemeneoe^l_l!g#g(lafbfVfWfXfYfZf0f1f2fy z DfEfcfdfpgA B MdNdOdPd$g%gZk0k1k'g(g)g*gC D h i | } +g2k,g-g.g/g:g;g3k`c{c~ abkdld?b@b[b]bbbcb^b_bdbeb( ) fbgb`b{b|b}b=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghc peqe+d,d-d.d4kZl0l)lpmRlXm5kAd6k7k8kDmEk9lqmGd9kEmFmRmhhihjhkh~bacbcccdcecHlIlreseteuevewexeyezeAeBeCeDeEeFeGe`l{l|l}llhmhnhoh*l+lefffgf3f4f5f6f7f8f9f!f#f$f%f'fE F G FfGfHfhfifjfqgrgH I J QdRdSdTdUdVdphqhrhsh!k#k$k%k'k(kthuhvhwhxhyhzhAhK L M j k l hbibjbBhCh)k*kDhEhFhGhHhIhJhKhLhMhNhOh+k,k|c}c~ckblbmbmdndodfcgchcicjckcnbobpblcmcncqbrbsb* + , tbubvbocpcqcrcsctcPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?hd HeIe/d:d;d=d-k1l2l,lrmSlYm.kBd/k:k;kGmFk!lsmHd=kHmImSm@h[h]h^hucvcwcxcyczcJlKlJeKeLeMeNeOePeQeReSeTeUeVeWeXeYe~lambmcm_h`h{h|h-l.lkflfmf(f)f*f+f,f-f.f/f:f;f=f?fN O P IfJfKfnfofpfsgtgQ R S WdXdYdZd0d1d}h~haibi?k@k[k]k^k_kcidieifigihiiijiT U V m n o wbxbybkili`k{kminioipiqirisitiuiviwixi|k}kadbdcdzbAbBbpdqdrdAcBcCcDcEcFcCbDbEbGcHcIcFbGbHb- . / IbJbKbJcKcLcMcNcOcyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i9ie Ze0e?d@d[d]d~k3l4l/ltmTlZmalCdblcldlJmGk#lumIdelKmLmTm!i#i$i%iPcQcRcScTcUcLlMl1e2e3e4e5e6e7e8e9e!e#e$e%e'e(e)edmemfmgm'i(i)i*i:l;lqfrfsf@f[f]f^f_f`f{f|f}f~fagbgW X Y LfMfNftfufvfugvgZ 0 1 2d3d4d5d6d7d+i,i-i.iflglhliljlkl/i:i;i=i?i@i[i]i2 3 4 p q r LbMbNb^i_illml`i{i|i}i~iajbjcjdjejfjgjnlolddedfdObPbQbsdtdudVcWcXcYcZc0cRbSbTb1c2c3cUbVbWb: ; = XbYbZb4c5c6c7c8c9chjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjf *e+e^d_d`d{dpl5l6l=lvmUl0mqlDdrlsltlMmHk$lwmJdulNmOmUmTjUjVjWj!c#c$c%c'c(cNlOl,e-e.e/e:e;e=e?e@e[e]e^e_e`e{e|ehmimjmkmXjYjZj0j?l@lwfxfyfcgdgegfggghgigjgkglgmgng5 6 7 OfPfQfzfAfBfwgxg8 9 ! 8d9d!d#d$d%d1j2j3j4jvlwlxlylzlAl5j6j7j8j9j!j#j$j# $ % s t u 0b1b2b%j'jBlCl(j)j*j+j,j-j.j/j:j;j=j?jDlElgdhdid3b4b5bvdwdxd)c*c+c,c-c.c6b7b8b/c:c;c9b!b#b? @ [ $b%b'b=c?c@c[c]c^c@j[j]j^j_j`j{j|j}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBk
709 if isinstance(sa_column, Column): 2a |d'd(dIkVlWl%llmPlVmJkydKkLkMkxmCk7lmmEdNkymzmPmygzg(b)bFl}d~daebecedeeefe[l]lAgBg}eRfSfTfUfv Cf~eogw KdLdCgDgOkPkQkEgFgGgHgx g ] IgRkJgKgLgMgNgOgSk_c^ jd*b+b_ ,b` ' { -b.bPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g6g7gb ge)d*dTkXlYl'lnmQlWmUkzdVkWkXkAmDk8lomFdYkBmCmQm8g9g/b:b;b=bGlheiejekelemeneoe^l_l!g#g(lafbfVfWfXfYfZf0f1f2fy z DfEfcfdfpgA B MdNdOdPd$g%gZk0k1k'g(g)g*gC D h i | } +g2k,g-g.g/g:g;g3k`c{c~ abkdld?b@b[b]bbbcb^b_bdbeb( ) fbgb`b{b|b}b=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghc peqe+d,d-d.d4kZl0l)lpmRlXm5kAd6k7k8kDmEk9lqmGd9kEmFmRmhhihjhkh~bacbcccdcecHlIlreseteuevewexeyezeAeBeCeDeEeFeGe`l{l|l}llhmhnhoh*l+lefffgf3f4f5f6f7f8f9f!f#f$f%f'fE F G FfGfHfhfifjfqgrgH I J QdRdSdTdUdVdphqhrhsh!k#k$k%k'k(kthuhvhwhxhyhzhAhK L M j k l hbibjbBhCh)k*kDhEhFhGhHhIhJhKhLhMhNhOh+k,k|c}c~ckblbmbmdndodfcgchcicjckcnbobpblcmcncqbrbsb* + , tbubvbocpcqcrcsctcPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?hd HeIe/d:d;d=d-k1l2l,lrmSlYm.kBd/k:k;kGmFk!lsmHd=kHmImSm@h[h]h^hucvcwcxcyczcJlKlJeKeLeMeNeOePeQeReSeTeUeVeWeXeYe~lambmcm_h`h{h|h-l.lkflfmf(f)f*f+f,f-f.f/f:f;f=f?fN O P IfJfKfnfofpfsgtgQ R S WdXdYdZd0d1d}h~haibi?k@k[k]k^k_kcidieifigihiiijiT U V m n o wbxbybkili`k{kminioipiqirisitiuiviwixi|k}kadbdcdzbAbBbpdqdrdAcBcCcDcEcFcCbDbEbGcHcIcFbGbHb- . / IbJbKbJcKcLcMcNcOcyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i9ie Ze0e?d@d[d]d~k3l4l/ltmTlZmalCdblcldlJmGk#lumIdelKmLmTm!i#i$i%iPcQcRcScTcUcLlMl1e2e3e4e5e6e7e8e9e!e#e$e%e'e(e)edmemfmgm'i(i)i*i:l;lqfrfsf@f[f]f^f_f`f{f|f}f~fagbgW X Y LfMfNftfufvfugvgZ 0 1 2d3d4d5d6d7d+i,i-i.iflglhliljlkl/i:i;i=i?i@i[i]i2 3 4 p q r LbMbNb^i_illml`i{i|i}i~iajbjcjdjejfjgjnlolddedfdObPbQbsdtdudVcWcXcYcZc0cRbSbTb1c2c3cUbVbWb: ; = XbYbZb4c5c6c7c8c9chjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjf *e+e^d_d`d{dpl5l6l=lvmUl0mqlDdrlsltlMmHk$lwmJdulNmOmUmTjUjVjWj!c#c$c%c'c(cNlOl,e-e.e/e:e;e=e?e@e[e]e^e_e`e{e|ehmimjmkmXjYjZj0j?l@lwfxfyfcgdgegfggghgigjgkglgmgng5 6 7 OfPfQfzfAfBfwgxg8 9 ! 8d9d!d#d$d%d1j2j3j4jvlwlxlylzlAl5j6j7j8j9j!j#j$j# $ % s t u 0b1b2b%j'jBlCl(j)j*j+j,j-j.j/j:j;j=j?jDlElgdhdid3b4b5bvdwdxd)c*c+c,c-c.c6b7b8b/c:c;c9b!b#b? @ [ $b%b'b=c?c@c[c]c^c@j[j]j^j_j`j{j|j}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBk
710 return sa_column 2VmWmXmYmZm0m
711 sa_type = get_sqlalchemy_type(field) 2a |d'd(dIkVlWl%llmPlJkydKkLkMkxmCk7lmmEdNkymzmPmygzg(b)bFl}d~daebecedeeefe[l]lAgBg}eRfSfTfUfv Cf~eogw KdLdCgDgOkPkQkEgFgGgHgx g ] IgRkJgKgLgMgNgOgSk_c^ jd*b+b_ ,b` ' { -b.bPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g6g7gb ge)d*dTkXlYl'lnmQlUkzdVkWkXkAmDk8lomFdYkBmCmQm8g9g/b:b;b=bGlheiejekelemeneoe^l_l!g#g(lafbfVfWfXfYfZf0f1f2fy z DfEfcfdfpgA B MdNdOdPd$g%gZk0k1k'g(g)g*gC D h i | } +g2k,g-g.g/g:g;g3k`c{c~ abkdld?b@b[b]bbbcb^b_bdbeb( ) fbgb`b{b|b}b=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghc peqe+d,d-d.d4kZl0l)lpmRl5kAd6k7k8kDmEk9lqmGd9kEmFmRmhhihjhkh~bacbcccdcecHlIlreseteuevewexeyezeAeBeCeDeEeFeGe`l{l|l}llhmhnhoh*l+lefffgf3f4f5f6f7f8f9f!f#f$f%f'fE F G FfGfHfhfifjfqgrgH I J QdRdSdTdUdVdphqhrhsh!k#k$k%k'k(kthuhvhwhxhyhzhAhK L M j k l hbibjbBhCh)k*kDhEhFhGhHhIhJhKhLhMhNhOh+k,k|c}c~ckblbmbmdndodfcgchcicjckcnbobpblcmcncqbrbsb* + , tbubvbocpcqcrcsctcPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?hd HeIe/d:d;d=d-k1l2l,lrmSl.kBd/k:k;kGmFk!lsmHd=kHmImSm@h[h]h^hucvcwcxcyczcJlKlJeKeLeMeNeOePeQeReSeTeUeVeWeXeYe~lambmcm_h`h{h|h-l.lkflfmf(f)f*f+f,f-f.f/f:f;f=f?fN O P IfJfKfnfofpfsgtgQ R S WdXdYdZd0d1d}h~haibi?k@k[k]k^k_kcidieifigihiiijiT U V m n o wbxbybkili`k{kminioipiqirisitiuiviwixi|k}kadbdcdzbAbBbpdqdrdAcBcCcDcEcFcCbDbEbGcHcIcFbGbHb- . / IbJbKbJcKcLcMcNcOcyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i9ie Ze0e?d@d[d]d~k3l4l/ltmTlalCdblcldlJmGk#lumIdelKmLmTm!i#i$i%iPcQcRcScTcUcLlMl1e2e3e4e5e6e7e8e9e!e#e$e%e'e(e)edmemfmgm'i(i)i*i:l;lqfrfsf@f[f]f^f_f`f{f|f}f~fagbgW X Y LfMfNftfufvfugvgZ 0 1 2d3d4d5d6d7d+i,i-i.iflglhliljlkl/i:i;i=i?i@i[i]i2 3 4 p q r LbMbNb^i_illml`i{i|i}i~iajbjcjdjejfjgjnlolddedfdObPbQbsdtdudVcWcXcYcZc0cRbSbTb1c2c3cUbVbWb: ; = XbYbZb4c5c6c7c8c9chjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjf *e+e^d_d`d{dpl5l6l=lvmUlqlDdrlsltlMmHk$lwmJdulNmOmUmTjUjVjWj!c#c$c%c'c(cNlOl,e-e.e/e:e;e=e?e@e[e]e^e_e`e{e|ehmimjmkmXjYjZj0j?l@lwfxfyfcgdgegfggghgigjgkglgmgng5 6 7 OfPfQfzfAfBfwgxg8 9 ! 8d9d!d#d$d%d1j2j3j4jvlwlxlylzlAl5j6j7j8j9j!j#j$j# $ % s t u 0b1b2b%j'jBlCl(j)j*j+j,j-j.j/j:j;j=j?jDlElgdhdid3b4b5bvdwdxd)c*c+c,c-c.c6b7b8b/c:c;c9b!b#b? @ [ $b%b'b=c?c@c[c]c^c@j[j]j^j_j`j{j|j}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBk
712 primary_key = getattr(field_info, "primary_key", Undefined) 2a |d'd(dIkVlWl%llmPlJkydKkLkMkxmCk7lmmEdNkymzmPmygzg(b)bFl}d~daebecedeeefe[l]lAgBg}eRfSfTfUfv Cf~eogw KdLdCgDgOkPkQkEgFgGgHgx g ] IgRkJgKgLgMgNgOgSk_c^ jd*b+b_ ,b` ' { -b.bPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g6g7gb ge)d*dTkXlYl'lnmQlUkzdVkWkXkAmDk8lomFdYkBmCmQm8g9g/b:b;b=bGlheiejekelemeneoe^l_l!g#g(lafbfVfWfXfYfZf0f1f2fy z DfEfcfdfpgA B MdNdOdPd$g%gZk0k1k'g(g)g*gC D h i | } +g2k,g-g.g/g:g;g3k`c{c~ abkdld?b@b[b]bbbcb^b_bdbeb( ) fbgb`b{b|b}b=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghc peqe+d,d-d.d4kZl0l)lpmRl5kAd6k7k8kDmEk9lqmGd9kEmFmRmhhihjhkh~bacbcccdcecHlIlreseteuevewexeyezeAeBeCeDeEeFeGe`l{l|l}llhmhnhoh*l+lefffgf3f4f5f6f7f8f9f!f#f$f%f'fE F G FfGfHfhfifjfqgrgH I J QdRdSdTdUdVdphqhrhsh!k#k$k%k'k(kthuhvhwhxhyhzhAhK L M j k l hbibjbBhCh)k*kDhEhFhGhHhIhJhKhLhMhNhOh+k,k|c}c~ckblbmbmdndodfcgchcicjckcnbobpblcmcncqbrbsb* + , tbubvbocpcqcrcsctcPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?hd HeIe/d:d;d=d-k1l2l,lrmSl.kBd/k:k;kGmFk!lsmHd=kHmImSm@h[h]h^hucvcwcxcyczcJlKlJeKeLeMeNeOePeQeReSeTeUeVeWeXeYe~lambmcm_h`h{h|h-l.lkflfmf(f)f*f+f,f-f.f/f:f;f=f?fN O P IfJfKfnfofpfsgtgQ R S WdXdYdZd0d1d}h~haibi?k@k[k]k^k_kcidieifigihiiijiT U V m n o wbxbybkili`k{kminioipiqirisitiuiviwixi|k}kadbdcdzbAbBbpdqdrdAcBcCcDcEcFcCbDbEbGcHcIcFbGbHb- . / IbJbKbJcKcLcMcNcOcyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i9ie Ze0e?d@d[d]d~k3l4l/ltmTlalCdblcldlJmGk#lumIdelKmLmTm!i#i$i%iPcQcRcScTcUcLlMl1e2e3e4e5e6e7e8e9e!e#e$e%e'e(e)edmemfmgm'i(i)i*i:l;lqfrfsf@f[f]f^f_f`f{f|f}f~fagbgW X Y LfMfNftfufvfugvgZ 0 1 2d3d4d5d6d7d+i,i-i.iflglhliljlkl/i:i;i=i?i@i[i]i2 3 4 p q r LbMbNb^i_illml`i{i|i}i~iajbjcjdjejfjgjnlolddedfdObPbQbsdtdudVcWcXcYcZc0cRbSbTb1c2c3cUbVbWb: ; = XbYbZb4c5c6c7c8c9chjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjf *e+e^d_d`d{dpl5l6l=lvmUlqlDdrlsltlMmHk$lwmJdulNmOmUmTjUjVjWj!c#c$c%c'c(cNlOl,e-e.e/e:e;e=e?e@e[e]e^e_e`e{e|ehmimjmkmXjYjZj0j?l@lwfxfyfcgdgegfggghgigjgkglgmgng5 6 7 OfPfQfzfAfBfwgxg8 9 ! 8d9d!d#d$d%d1j2j3j4jvlwlxlylzlAl5j6j7j8j9j!j#j$j# $ % s t u 0b1b2b%j'jBlCl(j)j*j+j,j-j.j/j:j;j=j?jDlElgdhdid3b4b5bvdwdxd)c*c+c,c-c.c6b7b8b/c:c;c9b!b#b? @ [ $b%b'b=c?c@c[c]c^c@j[j]j^j_j`j{j|j}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBk
713 if primary_key is Undefined: 2a |d'd(dIkVlWl%llmPlJkydKkLkMkxmCk7lmmEdNkymzmPmygzg(b)bFl}d~daebecedeeefe[l]lAgBg}eRfSfTfUfv Cf~eogw KdLdCgDgOkPkQkEgFgGgHgx g ] IgRkJgKgLgMgNgOgSk_c^ jd*b+b_ ,b` ' { -b.bPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g6g7gb ge)d*dTkXlYl'lnmQlUkzdVkWkXkAmDk8lomFdYkBmCmQm8g9g/b:b;b=bGlheiejekelemeneoe^l_l!g#g(lafbfVfWfXfYfZf0f1f2fy z DfEfcfdfpgA B MdNdOdPd$g%gZk0k1k'g(g)g*gC D h i | } +g2k,g-g.g/g:g;g3k`c{c~ abkdld?b@b[b]bbbcb^b_bdbeb( ) fbgb`b{b|b}b=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghc peqe+d,d-d.d4kZl0l)lpmRl5kAd6k7k8kDmEk9lqmGd9kEmFmRmhhihjhkh~bacbcccdcecHlIlreseteuevewexeyezeAeBeCeDeEeFeGe`l{l|l}llhmhnhoh*l+lefffgf3f4f5f6f7f8f9f!f#f$f%f'fE F G FfGfHfhfifjfqgrgH I J QdRdSdTdUdVdphqhrhsh!k#k$k%k'k(kthuhvhwhxhyhzhAhK L M j k l hbibjbBhCh)k*kDhEhFhGhHhIhJhKhLhMhNhOh+k,k|c}c~ckblbmbmdndodfcgchcicjckcnbobpblcmcncqbrbsb* + , tbubvbocpcqcrcsctcPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?hd HeIe/d:d;d=d-k1l2l,lrmSl.kBd/k:k;kGmFk!lsmHd=kHmImSm@h[h]h^hucvcwcxcyczcJlKlJeKeLeMeNeOePeQeReSeTeUeVeWeXeYe~lambmcm_h`h{h|h-l.lkflfmf(f)f*f+f,f-f.f/f:f;f=f?fN O P IfJfKfnfofpfsgtgQ R S WdXdYdZd0d1d}h~haibi?k@k[k]k^k_kcidieifigihiiijiT U V m n o wbxbybkili`k{kminioipiqirisitiuiviwixi|k}kadbdcdzbAbBbpdqdrdAcBcCcDcEcFcCbDbEbGcHcIcFbGbHb- . / IbJbKbJcKcLcMcNcOcyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i9ie Ze0e?d@d[d]d~k3l4l/ltmTlalCdblcldlJmGk#lumIdelKmLmTm!i#i$i%iPcQcRcScTcUcLlMl1e2e3e4e5e6e7e8e9e!e#e$e%e'e(e)edmemfmgm'i(i)i*i:l;lqfrfsf@f[f]f^f_f`f{f|f}f~fagbgW X Y LfMfNftfufvfugvgZ 0 1 2d3d4d5d6d7d+i,i-i.iflglhliljlkl/i:i;i=i?i@i[i]i2 3 4 p q r LbMbNb^i_illml`i{i|i}i~iajbjcjdjejfjgjnlolddedfdObPbQbsdtdudVcWcXcYcZc0cRbSbTb1c2c3cUbVbWb: ; = XbYbZb4c5c6c7c8c9chjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjf *e+e^d_d`d{dpl5l6l=lvmUlqlDdrlsltlMmHk$lwmJdulNmOmUmTjUjVjWj!c#c$c%c'c(cNlOl,e-e.e/e:e;e=e?e@e[e]e^e_e`e{e|ehmimjmkmXjYjZj0j?l@lwfxfyfcgdgegfggghgigjgkglgmgng5 6 7 OfPfQfzfAfBfwgxg8 9 ! 8d9d!d#d$d%d1j2j3j4jvlwlxlylzlAl5j6j7j8j9j!j#j$j# $ % s t u 0b1b2b%j'jBlCl(j)j*j+j,j-j.j/j:j;j=j?jDlElgdhdid3b4b5bvdwdxd)c*c+c,c-c.c6b7b8b/c:c;c9b!b#b? @ [ $b%b'b=c?c@c[c]c^c@j[j]j^j_j`j{j|j}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBk
714 primary_key = False 2a |d'd(dVlWl%llmPlJkydKkLkMkCk7lEdNkygzg(b)bFl}d~daebecedeeefe[l]lAgBg}eRfSfTfUfv Cf~eogw KdLdCgDgOkPkQkEgFgGgHgx g ] IgRkJgKgLgMgNgOgSk_c^ jd*b+b_ ,b` ' { -b.bPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g6g7gb ge)d*dXlYl'lnmQlUkzdVkWkXkDk8lFdYk8g9g/b:b;b=bGlheiejekelemeneoe^l_l!g#g(lafbfVfWfXfYfZf0f1f2fy z DfEfcfdfpgA B MdNdOdPd$g%gZk0k1k'g(g)g*gC D h i | } +g2k,g-g.g/g:g;g3k`c{c~ abkdld?b@b[b]bbbcb^b_bdbeb( ) fbgb`b{b|b}b=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghc peqe+d,d-d.dZl0l)lpmRl5kAd6k7k8kEk9lGd9khhihjhkh~bacbcccdcecHlIlreseteuevewexeyezeAeBeCeDeEeFeGe`l{l|l}llhmhnhoh*l+lefffgf3f4f5f6f7f8f9f!f#f$f%f'fE F G FfGfHfhfifjfqgrgH I J QdRdSdTdUdVdphqhrhsh!k#k$k%k'k(kthuhvhwhxhyhzhAhK L M j k l hbibjbBhCh)k*kDhEhFhGhHhIhJhKhLhMhNhOh+k,k|c}c~ckblbmbmdndodfcgchcicjckcnbobpblcmcncqbrbsb* + , tbubvbocpcqcrcsctcPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?hd HeIe/d:d;d=d1l2l,lrmSl.kBd/k:k;kFk!lHd=k@h[h]h^hucvcwcxcyczcJlKlJeKeLeMeNeOePeQeReSeTeUeVeWeXeYe~lambmcm_h`h{h|h-l.lkflfmf(f)f*f+f,f-f.f/f:f;f=f?fN O P IfJfKfnfofpfsgtgQ R S WdXdYdZd0d1d}h~haibi?k@k[k]k^k_kcidieifigihiiijiT U V m n o wbxbybkili`k{kminioipiqirisitiuiviwixi|k}kadbdcdzbAbBbpdqdrdAcBcCcDcEcFcCbDbEbGcHcIcFbGbHb- . / IbJbKbJcKcLcMcNcOcyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i9ie Ze0e?d@d[d]d3l4l/ltmTlalCdblcldlGk#lIdel!i#i$i%iPcQcRcScTcUcLlMl1e2e3e4e5e6e7e8e9e!e#e$e%e'e(e)edmemfmgm'i(i)i*i:l;lqfrfsf@f[f]f^f_f`f{f|f}f~fagbgW X Y LfMfNftfufvfugvgZ 0 1 2d3d4d5d6d7d+i,i-i.iflglhliljlkl/i:i;i=i?i@i[i]i2 3 4 p q r LbMbNb^i_illml`i{i|i}i~iajbjcjdjejfjgjnlolddedfdObPbQbsdtdudVcWcXcYcZc0cRbSbTb1c2c3cUbVbWb: ; = XbYbZb4c5c6c7c8c9chjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjf *e+e^d_d`d{d5l6l=lvmUlqlDdrlsltlHk$lJdulTjUjVjWj!c#c$c%c'c(cNlOl,e-e.e/e:e;e=e?e@e[e]e^e_e`e{e|ehmimjmkmXjYjZj0j?l@lwfxfyfcgdgegfggghgigjgkglgmgng5 6 7 OfPfQfzfAfBfwgxg8 9 ! 8d9d!d#d$d%d1j2j3j4jvlwlxlylzlAl5j6j7j8j9j!j#j$j# $ % s t u 0b1b2b%j'jBlCl(j)j*j+j,j-j.j/j:j;j=j?jDlElgdhdid3b4b5bvdwdxd)c*c+c,c-c.c6b7b8b/c:c;c9b!b#b? @ [ $b%b'b=c?c@c[c]c^c@j[j]j^j_j`j{j|j}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBk
715 index = getattr(field_info, "index", Undefined) 2a |d'd(dIkVlWl%llmPlJkydKkLkMkxmCk7lmmEdNkymzmPmygzg(b)bFl}d~daebecedeeefe[l]lAgBg}eRfSfTfUfv Cf~eogw KdLdCgDgOkPkQkEgFgGgHgx g ] IgRkJgKgLgMgNgOgSk_c^ jd*b+b_ ,b` ' { -b.bPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g6g7gb ge)d*dTkXlYl'lnmQlUkzdVkWkXkAmDk8lomFdYkBmCmQm8g9g/b:b;b=bGlheiejekelemeneoe^l_l!g#g(lafbfVfWfXfYfZf0f1f2fy z DfEfcfdfpgA B MdNdOdPd$g%gZk0k1k'g(g)g*gC D h i | } +g2k,g-g.g/g:g;g3k`c{c~ abkdld?b@b[b]bbbcb^b_bdbeb( ) fbgb`b{b|b}b=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghc peqe+d,d-d.d4kZl0l)lpmRl5kAd6k7k8kDmEk9lqmGd9kEmFmRmhhihjhkh~bacbcccdcecHlIlreseteuevewexeyezeAeBeCeDeEeFeGe`l{l|l}llhmhnhoh*l+lefffgf3f4f5f6f7f8f9f!f#f$f%f'fE F G FfGfHfhfifjfqgrgH I J QdRdSdTdUdVdphqhrhsh!k#k$k%k'k(kthuhvhwhxhyhzhAhK L M j k l hbibjbBhCh)k*kDhEhFhGhHhIhJhKhLhMhNhOh+k,k|c}c~ckblbmbmdndodfcgchcicjckcnbobpblcmcncqbrbsb* + , tbubvbocpcqcrcsctcPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?hd HeIe/d:d;d=d-k1l2l,lrmSl.kBd/k:k;kGmFk!lsmHd=kHmImSm@h[h]h^hucvcwcxcyczcJlKlJeKeLeMeNeOePeQeReSeTeUeVeWeXeYe~lambmcm_h`h{h|h-l.lkflfmf(f)f*f+f,f-f.f/f:f;f=f?fN O P IfJfKfnfofpfsgtgQ R S WdXdYdZd0d1d}h~haibi?k@k[k]k^k_kcidieifigihiiijiT U V m n o wbxbybkili`k{kminioipiqirisitiuiviwixi|k}kadbdcdzbAbBbpdqdrdAcBcCcDcEcFcCbDbEbGcHcIcFbGbHb- . / IbJbKbJcKcLcMcNcOcyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i9ie Ze0e?d@d[d]d~k3l4l/ltmTlalCdblcldlJmGk#lumIdelKmLmTm!i#i$i%iPcQcRcScTcUcLlMl1e2e3e4e5e6e7e8e9e!e#e$e%e'e(e)edmemfmgm'i(i)i*i:l;lqfrfsf@f[f]f^f_f`f{f|f}f~fagbgW X Y LfMfNftfufvfugvgZ 0 1 2d3d4d5d6d7d+i,i-i.iflglhliljlkl/i:i;i=i?i@i[i]i2 3 4 p q r LbMbNb^i_illml`i{i|i}i~iajbjcjdjejfjgjnlolddedfdObPbQbsdtdudVcWcXcYcZc0cRbSbTb1c2c3cUbVbWb: ; = XbYbZb4c5c6c7c8c9chjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjf *e+e^d_d`d{dpl5l6l=lvmUlqlDdrlsltlMmHk$lwmJdulNmOmUmTjUjVjWj!c#c$c%c'c(cNlOl,e-e.e/e:e;e=e?e@e[e]e^e_e`e{e|ehmimjmkmXjYjZj0j?l@lwfxfyfcgdgegfggghgigjgkglgmgng5 6 7 OfPfQfzfAfBfwgxg8 9 ! 8d9d!d#d$d%d1j2j3j4jvlwlxlylzlAl5j6j7j8j9j!j#j$j# $ % s t u 0b1b2b%j'jBlCl(j)j*j+j,j-j.j/j:j;j=j?jDlElgdhdid3b4b5bvdwdxd)c*c+c,c-c.c6b7b8b/c:c;c9b!b#b? @ [ $b%b'b=c?c@c[c]c^c@j[j]j^j_j`j{j|j}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBk
716 if index is Undefined: 2a |d'd(dIkVlWl%llmPlJkydKkLkMkxmCk7lmmEdNkymzmPmygzg(b)bFl}d~daebecedeeefe[l]lAgBg}eRfSfTfUfv Cf~eogw KdLdCgDgOkPkQkEgFgGgHgx g ] IgRkJgKgLgMgNgOgSk_c^ jd*b+b_ ,b` ' { -b.bPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g6g7gb ge)d*dTkXlYl'lnmQlUkzdVkWkXkAmDk8lomFdYkBmCmQm8g9g/b:b;b=bGlheiejekelemeneoe^l_l!g#g(lafbfVfWfXfYfZf0f1f2fy z DfEfcfdfpgA B MdNdOdPd$g%gZk0k1k'g(g)g*gC D h i | } +g2k,g-g.g/g:g;g3k`c{c~ abkdld?b@b[b]bbbcb^b_bdbeb( ) fbgb`b{b|b}b=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghc peqe+d,d-d.d4kZl0l)lpmRl5kAd6k7k8kDmEk9lqmGd9kEmFmRmhhihjhkh~bacbcccdcecHlIlreseteuevewexeyezeAeBeCeDeEeFeGe`l{l|l}llhmhnhoh*l+lefffgf3f4f5f6f7f8f9f!f#f$f%f'fE F G FfGfHfhfifjfqgrgH I J QdRdSdTdUdVdphqhrhsh!k#k$k%k'k(kthuhvhwhxhyhzhAhK L M j k l hbibjbBhCh)k*kDhEhFhGhHhIhJhKhLhMhNhOh+k,k|c}c~ckblbmbmdndodfcgchcicjckcnbobpblcmcncqbrbsb* + , tbubvbocpcqcrcsctcPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?hd HeIe/d:d;d=d-k1l2l,lrmSl.kBd/k:k;kGmFk!lsmHd=kHmImSm@h[h]h^hucvcwcxcyczcJlKlJeKeLeMeNeOePeQeReSeTeUeVeWeXeYe~lambmcm_h`h{h|h-l.lkflfmf(f)f*f+f,f-f.f/f:f;f=f?fN O P IfJfKfnfofpfsgtgQ R S WdXdYdZd0d1d}h~haibi?k@k[k]k^k_kcidieifigihiiijiT U V m n o wbxbybkili`k{kminioipiqirisitiuiviwixi|k}kadbdcdzbAbBbpdqdrdAcBcCcDcEcFcCbDbEbGcHcIcFbGbHb- . / IbJbKbJcKcLcMcNcOcyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i9ie Ze0e?d@d[d]d~k3l4l/ltmTlalCdblcldlJmGk#lumIdelKmLmTm!i#i$i%iPcQcRcScTcUcLlMl1e2e3e4e5e6e7e8e9e!e#e$e%e'e(e)edmemfmgm'i(i)i*i:l;lqfrfsf@f[f]f^f_f`f{f|f}f~fagbgW X Y LfMfNftfufvfugvgZ 0 1 2d3d4d5d6d7d+i,i-i.iflglhliljlkl/i:i;i=i?i@i[i]i2 3 4 p q r LbMbNb^i_illml`i{i|i}i~iajbjcjdjejfjgjnlolddedfdObPbQbsdtdudVcWcXcYcZc0cRbSbTb1c2c3cUbVbWb: ; = XbYbZb4c5c6c7c8c9chjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjf *e+e^d_d`d{dpl5l6l=lvmUlqlDdrlsltlMmHk$lwmJdulNmOmUmTjUjVjWj!c#c$c%c'c(cNlOl,e-e.e/e:e;e=e?e@e[e]e^e_e`e{e|ehmimjmkmXjYjZj0j?l@lwfxfyfcgdgegfggghgigjgkglgmgng5 6 7 OfPfQfzfAfBfwgxg8 9 ! 8d9d!d#d$d%d1j2j3j4jvlwlxlylzlAl5j6j7j8j9j!j#j$j# $ % s t u 0b1b2b%j'jBlCl(j)j*j+j,j-j.j/j:j;j=j?jDlElgdhdid3b4b5bvdwdxd)c*c+c,c-c.c6b7b8b/c:c;c9b!b#b? @ [ $b%b'b=c?c@c[c]c^c@j[j]j^j_j`j{j|j}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBk
717 index = False 2a |d'd(dIkVlWl%llmPlJkydKkLkMkxmCk7lmmEdNkymzmPmygzg(b)bFl}d~daebecedeeefe[l]lAgBg}eRfSfTfUfv Cf~eogw KdLdCgDgOkPkQkEgFgGgHgx g ] IgRkJgKgLgMgNgOgSk_c^ jd*b+b_ ,b` ' { -b.bPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g6g7gb ge)d*dTkXlYl'lnmQlUkzdVkWkXkAmDk8lomFdYkBmCmQm8g9g/b:b;b=bGlheiejekelemeneoe^l_l!g#g(lafbfVfWfXfYfZf0f1f2fy z DfEfcfdfpgA B MdNdOdPd$g%gZk0k1k'g(g)g*gC D h i | } +g2k,g-g.g/g:g;g3k`c{c~ abkdld?b@b[b]bbbcb^b_bdbeb( ) fbgb`b{b|b}b=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghc peqe+d,d-d.d4kZl0l)lpmRl5kAd6k7k8kDmEk9lqmGd9kEmFmRmhhihjhkh~bacbcccdcecHlIlreseteuevewexeyezeAeBeCeDeEeFeGe`l{l|l}llhmhnhoh*l+lefffgf3f4f5f6f7f8f9f!f#f$f%f'fE F G FfGfHfhfifjfqgrgH I J QdRdSdTdUdVdphqhrhsh!k#k$k%k'k(kthuhvhwhxhyhzhAhK L M j k l hbibjbBhCh)k*kDhEhFhGhHhIhJhKhLhMhNhOh+k,k|c}c~ckblbmbmdndodfcgchcicjckcnbobpblcmcncqbrbsb* + , tbubvbocpcqcrcsctcPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?hd HeIe/d:d;d=d-k1l2l,lrmSl.kBd/k:k;kGmFk!lsmHd=kHmImSm@h[h]h^hucvcwcxcyczcJlKlJeKeLeMeNeOePeQeReSeTeUeVeWeXeYe~lambmcm_h`h{h|h-l.lkflfmf(f)f*f+f,f-f.f/f:f;f=f?fN O P IfJfKfnfofpfsgtgQ R S WdXdYdZd0d1d}h~haibi?k@k[k]k^k_kcidieifigihiiijiT U V m n o wbxbybkili`k{kminioipiqirisitiuiviwixi|k}kadbdcdzbAbBbpdqdrdAcBcCcDcEcFcCbDbEbGcHcIcFbGbHb- . / IbJbKbJcKcLcMcNcOcyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i9ie Ze0e?d@d[d]d~k3l4l/ltmTlalCdblcldlJmGk#lumIdelKmLmTm!i#i$i%iPcQcRcScTcUcLlMl1e2e3e4e5e6e7e8e9e!e#e$e%e'e(e)edmemfmgm'i(i)i*i:l;lqfrfsf@f[f]f^f_f`f{f|f}f~fagbgW X Y LfMfNftfufvfugvgZ 0 1 2d3d4d5d6d7d+i,i-i.iflglhliljlkl/i:i;i=i?i@i[i]i2 3 4 p q r LbMbNb^i_illml`i{i|i}i~iajbjcjdjejfjgjnlolddedfdObPbQbsdtdudVcWcXcYcZc0cRbSbTb1c2c3cUbVbWb: ; = XbYbZb4c5c6c7c8c9chjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjf *e+e^d_d`d{dpl5l6l=lvmUlqlDdrlsltlMmHk$lwmJdulNmOmUmTjUjVjWj!c#c$c%c'c(cNlOl,e-e.e/e:e;e=e?e@e[e]e^e_e`e{e|ehmimjmkmXjYjZj0j?l@lwfxfyfcgdgegfggghgigjgkglgmgng5 6 7 OfPfQfzfAfBfwgxg8 9 ! 8d9d!d#d$d%d1j2j3j4jvlwlxlylzlAl5j6j7j8j9j!j#j$j# $ % s t u 0b1b2b%j'jBlCl(j)j*j+j,j-j.j/j:j;j=j?jDlElgdhdid3b4b5bvdwdxd)c*c+c,c-c.c6b7b8b/c:c;c9b!b#b? @ [ $b%b'b=c?c@c[c]c^c@j[j]j^j_j`j{j|j}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBk
718 nullable = not primary_key and is_field_noneable(field) 2a |d'd(dIkVlWl%llmPlJkydKkLkMkxmCk7lmmEdNkymzmPmygzg(b)bFl}d~daebecedeeefe[l]lAgBg}eRfSfTfUfv Cf~eogw KdLdCgDgOkPkQkEgFgGgHgx g ] IgRkJgKgLgMgNgOgSk_c^ jd*b+b_ ,b` ' { -b.bPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g6g7gb ge)d*dTkXlYl'lnmQlUkzdVkWkXkAmDk8lomFdYkBmCmQm8g9g/b:b;b=bGlheiejekelemeneoe^l_l!g#g(lafbfVfWfXfYfZf0f1f2fy z DfEfcfdfpgA B MdNdOdPd$g%gZk0k1k'g(g)g*gC D h i | } +g2k,g-g.g/g:g;g3k`c{c~ abkdld?b@b[b]bbbcb^b_bdbeb( ) fbgb`b{b|b}b=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghc peqe+d,d-d.d4kZl0l)lpmRl5kAd6k7k8kDmEk9lqmGd9kEmFmRmhhihjhkh~bacbcccdcecHlIlreseteuevewexeyezeAeBeCeDeEeFeGe`l{l|l}llhmhnhoh*l+lefffgf3f4f5f6f7f8f9f!f#f$f%f'fE F G FfGfHfhfifjfqgrgH I J QdRdSdTdUdVdphqhrhsh!k#k$k%k'k(kthuhvhwhxhyhzhAhK L M j k l hbibjbBhCh)k*kDhEhFhGhHhIhJhKhLhMhNhOh+k,k|c}c~ckblbmbmdndodfcgchcicjckcnbobpblcmcncqbrbsb* + , tbubvbocpcqcrcsctcPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?hd HeIe/d:d;d=d-k1l2l,lrmSl.kBd/k:k;kGmFk!lsmHd=kHmImSm@h[h]h^hucvcwcxcyczcJlKlJeKeLeMeNeOePeQeReSeTeUeVeWeXeYe~lambmcm_h`h{h|h-l.lkflfmf(f)f*f+f,f-f.f/f:f;f=f?fN O P IfJfKfnfofpfsgtgQ R S WdXdYdZd0d1d}h~haibi?k@k[k]k^k_kcidieifigihiiijiT U V m n o wbxbybkili`k{kminioipiqirisitiuiviwixi|k}kadbdcdzbAbBbpdqdrdAcBcCcDcEcFcCbDbEbGcHcIcFbGbHb- . / IbJbKbJcKcLcMcNcOcyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i9ie Ze0e?d@d[d]d~k3l4l/ltmTlalCdblcldlJmGk#lumIdelKmLmTm!i#i$i%iPcQcRcScTcUcLlMl1e2e3e4e5e6e7e8e9e!e#e$e%e'e(e)edmemfmgm'i(i)i*i:l;lqfrfsf@f[f]f^f_f`f{f|f}f~fagbgW X Y LfMfNftfufvfugvgZ 0 1 2d3d4d5d6d7d+i,i-i.iflglhliljlkl/i:i;i=i?i@i[i]i2 3 4 p q r LbMbNb^i_illml`i{i|i}i~iajbjcjdjejfjgjnlolddedfdObPbQbsdtdudVcWcXcYcZc0cRbSbTb1c2c3cUbVbWb: ; = XbYbZb4c5c6c7c8c9chjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjf *e+e^d_d`d{dpl5l6l=lvmUlqlDdrlsltlMmHk$lwmJdulNmOmUmTjUjVjWj!c#c$c%c'c(cNlOl,e-e.e/e:e;e=e?e@e[e]e^e_e`e{e|ehmimjmkmXjYjZj0j?l@lwfxfyfcgdgegfggghgigjgkglgmgng5 6 7 OfPfQfzfAfBfwgxg8 9 ! 8d9d!d#d$d%d1j2j3j4jvlwlxlylzlAl5j6j7j8j9j!j#j$j# $ % s t u 0b1b2b%j'jBlCl(j)j*j+j,j-j.j/j:j;j=j?jDlElgdhdid3b4b5bvdwdxd)c*c+c,c-c.c6b7b8b/c:c;c9b!b#b? @ [ $b%b'b=c?c@c[c]c^c@j[j]j^j_j`j{j|j}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBk
719 # Override derived nullability if the nullable property is set explicitly
720 # on the field
721 field_nullable = getattr(field_info, "nullable", Undefined) # noqa: B009 2a |d'd(dIkVlWl%llmPlJkydKkLkMkxmCk7lmmEdNkymzmPmygzg(b)bFl}d~daebecedeeefe[l]lAgBg}eRfSfTfUfv Cf~eogw KdLdCgDgOkPkQkEgFgGgHgx g ] IgRkJgKgLgMgNgOgSk_c^ jd*b+b_ ,b` ' { -b.bPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g6g7gb ge)d*dTkXlYl'lnmQlUkzdVkWkXkAmDk8lomFdYkBmCmQm8g9g/b:b;b=bGlheiejekelemeneoe^l_l!g#g(lafbfVfWfXfYfZf0f1f2fy z DfEfcfdfpgA B MdNdOdPd$g%gZk0k1k'g(g)g*gC D h i | } +g2k,g-g.g/g:g;g3k`c{c~ abkdld?b@b[b]bbbcb^b_bdbeb( ) fbgb`b{b|b}b=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghc peqe+d,d-d.d4kZl0l)lpmRl5kAd6k7k8kDmEk9lqmGd9kEmFmRmhhihjhkh~bacbcccdcecHlIlreseteuevewexeyezeAeBeCeDeEeFeGe`l{l|l}llhmhnhoh*l+lefffgf3f4f5f6f7f8f9f!f#f$f%f'fE F G FfGfHfhfifjfqgrgH I J QdRdSdTdUdVdphqhrhsh!k#k$k%k'k(kthuhvhwhxhyhzhAhK L M j k l hbibjbBhCh)k*kDhEhFhGhHhIhJhKhLhMhNhOh+k,k|c}c~ckblbmbmdndodfcgchcicjckcnbobpblcmcncqbrbsb* + , tbubvbocpcqcrcsctcPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?hd HeIe/d:d;d=d-k1l2l,lrmSl.kBd/k:k;kGmFk!lsmHd=kHmImSm@h[h]h^hucvcwcxcyczcJlKlJeKeLeMeNeOePeQeReSeTeUeVeWeXeYe~lambmcm_h`h{h|h-l.lkflfmf(f)f*f+f,f-f.f/f:f;f=f?fN O P IfJfKfnfofpfsgtgQ R S WdXdYdZd0d1d}h~haibi?k@k[k]k^k_kcidieifigihiiijiT U V m n o wbxbybkili`k{kminioipiqirisitiuiviwixi|k}kadbdcdzbAbBbpdqdrdAcBcCcDcEcFcCbDbEbGcHcIcFbGbHb- . / IbJbKbJcKcLcMcNcOcyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i9ie Ze0e?d@d[d]d~k3l4l/ltmTlalCdblcldlJmGk#lumIdelKmLmTm!i#i$i%iPcQcRcScTcUcLlMl1e2e3e4e5e6e7e8e9e!e#e$e%e'e(e)edmemfmgm'i(i)i*i:l;lqfrfsf@f[f]f^f_f`f{f|f}f~fagbgW X Y LfMfNftfufvfugvgZ 0 1 2d3d4d5d6d7d+i,i-i.iflglhliljlkl/i:i;i=i?i@i[i]i2 3 4 p q r LbMbNb^i_illml`i{i|i}i~iajbjcjdjejfjgjnlolddedfdObPbQbsdtdudVcWcXcYcZc0cRbSbTb1c2c3cUbVbWb: ; = XbYbZb4c5c6c7c8c9chjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjf *e+e^d_d`d{dpl5l6l=lvmUlqlDdrlsltlMmHk$lwmJdulNmOmUmTjUjVjWj!c#c$c%c'c(cNlOl,e-e.e/e:e;e=e?e@e[e]e^e_e`e{e|ehmimjmkmXjYjZj0j?l@lwfxfyfcgdgegfggghgigjgkglgmgng5 6 7 OfPfQfzfAfBfwgxg8 9 ! 8d9d!d#d$d%d1j2j3j4jvlwlxlylzlAl5j6j7j8j9j!j#j$j# $ % s t u 0b1b2b%j'jBlCl(j)j*j+j,j-j.j/j:j;j=j?jDlElgdhdid3b4b5bvdwdxd)c*c+c,c-c.c6b7b8b/c:c;c9b!b#b? @ [ $b%b'b=c?c@c[c]c^c@j[j]j^j_j`j{j|j}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBk
722 if field_nullable is not Undefined: 2a |d'd(dIkVlWl%llmPlJkydKkLkMkxmCk7lmmEdNkymzmPmygzg(b)bFl}d~daebecedeeefe[l]lAgBg}eRfSfTfUfv Cf~eogw KdLdCgDgOkPkQkEgFgGgHgx g ] IgRkJgKgLgMgNgOgSk_c^ jd*b+b_ ,b` ' { -b.bPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g6g7gb ge)d*dTkXlYl'lnmQlUkzdVkWkXkAmDk8lomFdYkBmCmQm8g9g/b:b;b=bGlheiejekelemeneoe^l_l!g#g(lafbfVfWfXfYfZf0f1f2fy z DfEfcfdfpgA B MdNdOdPd$g%gZk0k1k'g(g)g*gC D h i | } +g2k,g-g.g/g:g;g3k`c{c~ abkdld?b@b[b]bbbcb^b_bdbeb( ) fbgb`b{b|b}b=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghc peqe+d,d-d.d4kZl0l)lpmRl5kAd6k7k8kDmEk9lqmGd9kEmFmRmhhihjhkh~bacbcccdcecHlIlreseteuevewexeyezeAeBeCeDeEeFeGe`l{l|l}llhmhnhoh*l+lefffgf3f4f5f6f7f8f9f!f#f$f%f'fE F G FfGfHfhfifjfqgrgH I J QdRdSdTdUdVdphqhrhsh!k#k$k%k'k(kthuhvhwhxhyhzhAhK L M j k l hbibjbBhCh)k*kDhEhFhGhHhIhJhKhLhMhNhOh+k,k|c}c~ckblbmbmdndodfcgchcicjckcnbobpblcmcncqbrbsb* + , tbubvbocpcqcrcsctcPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?hd HeIe/d:d;d=d-k1l2l,lrmSl.kBd/k:k;kGmFk!lsmHd=kHmImSm@h[h]h^hucvcwcxcyczcJlKlJeKeLeMeNeOePeQeReSeTeUeVeWeXeYe~lambmcm_h`h{h|h-l.lkflfmf(f)f*f+f,f-f.f/f:f;f=f?fN O P IfJfKfnfofpfsgtgQ R S WdXdYdZd0d1d}h~haibi?k@k[k]k^k_kcidieifigihiiijiT U V m n o wbxbybkili`k{kminioipiqirisitiuiviwixi|k}kadbdcdzbAbBbpdqdrdAcBcCcDcEcFcCbDbEbGcHcIcFbGbHb- . / IbJbKbJcKcLcMcNcOcyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i9ie Ze0e?d@d[d]d~k3l4l/ltmTlalCdblcldlJmGk#lumIdelKmLmTm!i#i$i%iPcQcRcScTcUcLlMl1e2e3e4e5e6e7e8e9e!e#e$e%e'e(e)edmemfmgm'i(i)i*i:l;lqfrfsf@f[f]f^f_f`f{f|f}f~fagbgW X Y LfMfNftfufvfugvgZ 0 1 2d3d4d5d6d7d+i,i-i.iflglhliljlkl/i:i;i=i?i@i[i]i2 3 4 p q r LbMbNb^i_illml`i{i|i}i~iajbjcjdjejfjgjnlolddedfdObPbQbsdtdudVcWcXcYcZc0cRbSbTb1c2c3cUbVbWb: ; = XbYbZb4c5c6c7c8c9chjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjf *e+e^d_d`d{dpl5l6l=lvmUlqlDdrlsltlMmHk$lwmJdulNmOmUmTjUjVjWj!c#c$c%c'c(cNlOl,e-e.e/e:e;e=e?e@e[e]e^e_e`e{e|ehmimjmkmXjYjZj0j?l@lwfxfyfcgdgegfggghgigjgkglgmgng5 6 7 OfPfQfzfAfBfwgxg8 9 ! 8d9d!d#d$d%d1j2j3j4jvlwlxlylzlAl5j6j7j8j9j!j#j$j# $ % s t u 0b1b2b%j'jBlCl(j)j*j+j,j-j.j/j:j;j=j?jDlElgdhdid3b4b5bvdwdxd)c*c+c,c-c.c6b7b8b/c:c;c9b!b#b? @ [ $b%b'b=c?c@c[c]c^c@j[j]j^j_j`j{j|j}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBk
723 assert not isinstance(field_nullable, UndefinedType) 2Ck7lmmDk8lomEk9lqmFk!lsmGk#lumHk$lwm
724 nullable = field_nullable 2Ck7lmmDk8lomEk9lqmFk!lsmGk#lumHk$lwm
725 args = [] 2a |d'd(dIkVlWl%llmPlJkydKkLkMkxmCk7lmmEdNkymzmPmygzg(b)bFl}d~daebecedeeefe[l]lAgBg}eRfSfTfUfv Cf~eogw KdLdCgDgOkPkQkEgFgGgHgx g ] IgRkJgKgLgMgNgOgSk_c^ jd*b+b_ ,b` ' { -b.bPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g6g7gb ge)d*dTkXlYl'lnmQlUkzdVkWkXkAmDk8lomFdYkBmCmQm8g9g/b:b;b=bGlheiejekelemeneoe^l_l!g#g(lafbfVfWfXfYfZf0f1f2fy z DfEfcfdfpgA B MdNdOdPd$g%gZk0k1k'g(g)g*gC D h i | } +g2k,g-g.g/g:g;g3k`c{c~ abkdld?b@b[b]bbbcb^b_bdbeb( ) fbgb`b{b|b}b=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghc peqe+d,d-d.d4kZl0l)lpmRl5kAd6k7k8kDmEk9lqmGd9kEmFmRmhhihjhkh~bacbcccdcecHlIlreseteuevewexeyezeAeBeCeDeEeFeGe`l{l|l}llhmhnhoh*l+lefffgf3f4f5f6f7f8f9f!f#f$f%f'fE F G FfGfHfhfifjfqgrgH I J QdRdSdTdUdVdphqhrhsh!k#k$k%k'k(kthuhvhwhxhyhzhAhK L M j k l hbibjbBhCh)k*kDhEhFhGhHhIhJhKhLhMhNhOh+k,k|c}c~ckblbmbmdndodfcgchcicjckcnbobpblcmcncqbrbsb* + , tbubvbocpcqcrcsctcPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?hd HeIe/d:d;d=d-k1l2l,lrmSl.kBd/k:k;kGmFk!lsmHd=kHmImSm@h[h]h^hucvcwcxcyczcJlKlJeKeLeMeNeOePeQeReSeTeUeVeWeXeYe~lambmcm_h`h{h|h-l.lkflfmf(f)f*f+f,f-f.f/f:f;f=f?fN O P IfJfKfnfofpfsgtgQ R S WdXdYdZd0d1d}h~haibi?k@k[k]k^k_kcidieifigihiiijiT U V m n o wbxbybkili`k{kminioipiqirisitiuiviwixi|k}kadbdcdzbAbBbpdqdrdAcBcCcDcEcFcCbDbEbGcHcIcFbGbHb- . / IbJbKbJcKcLcMcNcOcyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i9ie Ze0e?d@d[d]d~k3l4l/ltmTlalCdblcldlJmGk#lumIdelKmLmTm!i#i$i%iPcQcRcScTcUcLlMl1e2e3e4e5e6e7e8e9e!e#e$e%e'e(e)edmemfmgm'i(i)i*i:l;lqfrfsf@f[f]f^f_f`f{f|f}f~fagbgW X Y LfMfNftfufvfugvgZ 0 1 2d3d4d5d6d7d+i,i-i.iflglhliljlkl/i:i;i=i?i@i[i]i2 3 4 p q r LbMbNb^i_illml`i{i|i}i~iajbjcjdjejfjgjnlolddedfdObPbQbsdtdudVcWcXcYcZc0cRbSbTb1c2c3cUbVbWb: ; = XbYbZb4c5c6c7c8c9chjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjf *e+e^d_d`d{dpl5l6l=lvmUlqlDdrlsltlMmHk$lwmJdulNmOmUmTjUjVjWj!c#c$c%c'c(cNlOl,e-e.e/e:e;e=e?e@e[e]e^e_e`e{e|ehmimjmkmXjYjZj0j?l@lwfxfyfcgdgegfggghgigjgkglgmgng5 6 7 OfPfQfzfAfBfwgxg8 9 ! 8d9d!d#d$d%d1j2j3j4jvlwlxlylzlAl5j6j7j8j9j!j#j$j# $ % s t u 0b1b2b%j'jBlCl(j)j*j+j,j-j.j/j:j;j=j?jDlElgdhdid3b4b5bvdwdxd)c*c+c,c-c.c6b7b8b/c:c;c9b!b#b? @ [ $b%b'b=c?c@c[c]c^c@j[j]j^j_j`j{j|j}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBk
726 foreign_key = getattr(field_info, "foreign_key", Undefined) 2a |d'd(dIkVlWl%llmPlJkydKkLkMkxmCk7lmmEdNkymzmPmygzg(b)bFl}d~daebecedeeefe[l]lAgBg}eRfSfTfUfv Cf~eogw KdLdCgDgOkPkQkEgFgGgHgx g ] IgRkJgKgLgMgNgOgSk_c^ jd*b+b_ ,b` ' { -b.bPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g6g7gb ge)d*dTkXlYl'lnmQlUkzdVkWkXkAmDk8lomFdYkBmCmQm8g9g/b:b;b=bGlheiejekelemeneoe^l_l!g#g(lafbfVfWfXfYfZf0f1f2fy z DfEfcfdfpgA B MdNdOdPd$g%gZk0k1k'g(g)g*gC D h i | } +g2k,g-g.g/g:g;g3k`c{c~ abkdld?b@b[b]bbbcb^b_bdbeb( ) fbgb`b{b|b}b=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghc peqe+d,d-d.d4kZl0l)lpmRl5kAd6k7k8kDmEk9lqmGd9kEmFmRmhhihjhkh~bacbcccdcecHlIlreseteuevewexeyezeAeBeCeDeEeFeGe`l{l|l}llhmhnhoh*l+lefffgf3f4f5f6f7f8f9f!f#f$f%f'fE F G FfGfHfhfifjfqgrgH I J QdRdSdTdUdVdphqhrhsh!k#k$k%k'k(kthuhvhwhxhyhzhAhK L M j k l hbibjbBhCh)k*kDhEhFhGhHhIhJhKhLhMhNhOh+k,k|c}c~ckblbmbmdndodfcgchcicjckcnbobpblcmcncqbrbsb* + , tbubvbocpcqcrcsctcPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?hd HeIe/d:d;d=d-k1l2l,lrmSl.kBd/k:k;kGmFk!lsmHd=kHmImSm@h[h]h^hucvcwcxcyczcJlKlJeKeLeMeNeOePeQeReSeTeUeVeWeXeYe~lambmcm_h`h{h|h-l.lkflfmf(f)f*f+f,f-f.f/f:f;f=f?fN O P IfJfKfnfofpfsgtgQ R S WdXdYdZd0d1d}h~haibi?k@k[k]k^k_kcidieifigihiiijiT U V m n o wbxbybkili`k{kminioipiqirisitiuiviwixi|k}kadbdcdzbAbBbpdqdrdAcBcCcDcEcFcCbDbEbGcHcIcFbGbHb- . / IbJbKbJcKcLcMcNcOcyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i9ie Ze0e?d@d[d]d~k3l4l/ltmTlalCdblcldlJmGk#lumIdelKmLmTm!i#i$i%iPcQcRcScTcUcLlMl1e2e3e4e5e6e7e8e9e!e#e$e%e'e(e)edmemfmgm'i(i)i*i:l;lqfrfsf@f[f]f^f_f`f{f|f}f~fagbgW X Y LfMfNftfufvfugvgZ 0 1 2d3d4d5d6d7d+i,i-i.iflglhliljlkl/i:i;i=i?i@i[i]i2 3 4 p q r LbMbNb^i_illml`i{i|i}i~iajbjcjdjejfjgjnlolddedfdObPbQbsdtdudVcWcXcYcZc0cRbSbTb1c2c3cUbVbWb: ; = XbYbZb4c5c6c7c8c9chjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjf *e+e^d_d`d{dpl5l6l=lvmUlqlDdrlsltlMmHk$lwmJdulNmOmUmTjUjVjWj!c#c$c%c'c(cNlOl,e-e.e/e:e;e=e?e@e[e]e^e_e`e{e|ehmimjmkmXjYjZj0j?l@lwfxfyfcgdgegfggghgigjgkglgmgng5 6 7 OfPfQfzfAfBfwgxg8 9 ! 8d9d!d#d$d%d1j2j3j4jvlwlxlylzlAl5j6j7j8j9j!j#j$j# $ % s t u 0b1b2b%j'jBlCl(j)j*j+j,j-j.j/j:j;j=j?jDlElgdhdid3b4b5bvdwdxd)c*c+c,c-c.c6b7b8b/c:c;c9b!b#b? @ [ $b%b'b=c?c@c[c]c^c@j[j]j^j_j`j{j|j}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBk
727 if foreign_key is Undefined: 2a |d'd(dIkVlWl%llmPlJkydKkLkMkxmCk7lmmEdNkymzmPmygzg(b)bFl}d~daebecedeeefe[l]lAgBg}eRfSfTfUfv Cf~eogw KdLdCgDgOkPkQkEgFgGgHgx g ] IgRkJgKgLgMgNgOgSk_c^ jd*b+b_ ,b` ' { -b.bPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g6g7gb ge)d*dTkXlYl'lnmQlUkzdVkWkXkAmDk8lomFdYkBmCmQm8g9g/b:b;b=bGlheiejekelemeneoe^l_l!g#g(lafbfVfWfXfYfZf0f1f2fy z DfEfcfdfpgA B MdNdOdPd$g%gZk0k1k'g(g)g*gC D h i | } +g2k,g-g.g/g:g;g3k`c{c~ abkdld?b@b[b]bbbcb^b_bdbeb( ) fbgb`b{b|b}b=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghc peqe+d,d-d.d4kZl0l)lpmRl5kAd6k7k8kDmEk9lqmGd9kEmFmRmhhihjhkh~bacbcccdcecHlIlreseteuevewexeyezeAeBeCeDeEeFeGe`l{l|l}llhmhnhoh*l+lefffgf3f4f5f6f7f8f9f!f#f$f%f'fE F G FfGfHfhfifjfqgrgH I J QdRdSdTdUdVdphqhrhsh!k#k$k%k'k(kthuhvhwhxhyhzhAhK L M j k l hbibjbBhCh)k*kDhEhFhGhHhIhJhKhLhMhNhOh+k,k|c}c~ckblbmbmdndodfcgchcicjckcnbobpblcmcncqbrbsb* + , tbubvbocpcqcrcsctcPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?hd HeIe/d:d;d=d-k1l2l,lrmSl.kBd/k:k;kGmFk!lsmHd=kHmImSm@h[h]h^hucvcwcxcyczcJlKlJeKeLeMeNeOePeQeReSeTeUeVeWeXeYe~lambmcm_h`h{h|h-l.lkflfmf(f)f*f+f,f-f.f/f:f;f=f?fN O P IfJfKfnfofpfsgtgQ R S WdXdYdZd0d1d}h~haibi?k@k[k]k^k_kcidieifigihiiijiT U V m n o wbxbybkili`k{kminioipiqirisitiuiviwixi|k}kadbdcdzbAbBbpdqdrdAcBcCcDcEcFcCbDbEbGcHcIcFbGbHb- . / IbJbKbJcKcLcMcNcOcyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i9ie Ze0e?d@d[d]d~k3l4l/ltmTlalCdblcldlJmGk#lumIdelKmLmTm!i#i$i%iPcQcRcScTcUcLlMl1e2e3e4e5e6e7e8e9e!e#e$e%e'e(e)edmemfmgm'i(i)i*i:l;lqfrfsf@f[f]f^f_f`f{f|f}f~fagbgW X Y LfMfNftfufvfugvgZ 0 1 2d3d4d5d6d7d+i,i-i.iflglhliljlkl/i:i;i=i?i@i[i]i2 3 4 p q r LbMbNb^i_illml`i{i|i}i~iajbjcjdjejfjgjnlolddedfdObPbQbsdtdudVcWcXcYcZc0cRbSbTb1c2c3cUbVbWb: ; = XbYbZb4c5c6c7c8c9chjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjf *e+e^d_d`d{dpl5l6l=lvmUlqlDdrlsltlMmHk$lwmJdulNmOmUmTjUjVjWj!c#c$c%c'c(cNlOl,e-e.e/e:e;e=e?e@e[e]e^e_e`e{e|ehmimjmkmXjYjZj0j?l@lwfxfyfcgdgegfggghgigjgkglgmgng5 6 7 OfPfQfzfAfBfwgxg8 9 ! 8d9d!d#d$d%d1j2j3j4jvlwlxlylzlAl5j6j7j8j9j!j#j$j# $ % s t u 0b1b2b%j'jBlCl(j)j*j+j,j-j.j/j:j;j=j?jDlElgdhdid3b4b5bvdwdxd)c*c+c,c-c.c6b7b8b/c:c;c9b!b#b? @ [ $b%b'b=c?c@c[c]c^c@j[j]j^j_j`j{j|j}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBk
728 foreign_key = None 2a |d'd(dIkVlWl%llmPlJkydKkLkMkxmCk7lmmEdNkymzmPmygzg(b)bFl}d~daebecedeeefe[l]lAgBg}eRfSfTfUfv Cf~eogw KdLdCgDgOkPkQkEgFgGgHgx g ] IgRkJgKgLgMgNgOgSk_c^ jd*b+b_ ,b` ' { -b.bPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g6g7gb ge)d*dTkXlYl'lnmQlUkzdVkWkXkAmDk8lomFdYkBmCmQm8g9g/b:b;b=bGlheiejekelemeneoe^l_l!g#g(lafbfVfWfXfYfZf0f1f2fy z DfEfcfdfpgA B MdNdOdPd$g%gZk0k1k'g(g)g*gC D h i | } +g2k,g-g.g/g:g;g3k`c{c~ abkdld?b@b[b]bbbcb^b_bdbeb( ) fbgb`b{b|b}b=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghc peqe+d,d-d.d4kZl0l)lpmRl5kAd6k7k8kDmEk9lqmGd9kEmFmRmhhihjhkh~bacbcccdcecHlIlreseteuevewexeyezeAeBeCeDeEeFeGe`l{l|l}llhmhnhoh*l+lefffgf3f4f5f6f7f8f9f!f#f$f%f'fE F G FfGfHfhfifjfqgrgH I J QdRdSdTdUdVdphqhrhsh!k#k$k%k'k(kthuhvhwhxhyhzhAhK L M j k l hbibjbBhCh)k*kDhEhFhGhHhIhJhKhLhMhNhOh+k,k|c}c~ckblbmbmdndodfcgchcicjckcnbobpblcmcncqbrbsb* + , tbubvbocpcqcrcsctcPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?hd HeIe/d:d;d=d-k1l2l,lrmSl.kBd/k:k;kGmFk!lsmHd=kHmImSm@h[h]h^hucvcwcxcyczcJlKlJeKeLeMeNeOePeQeReSeTeUeVeWeXeYe~lambmcm_h`h{h|h-l.lkflfmf(f)f*f+f,f-f.f/f:f;f=f?fN O P IfJfKfnfofpfsgtgQ R S WdXdYdZd0d1d}h~haibi?k@k[k]k^k_kcidieifigihiiijiT U V m n o wbxbybkili`k{kminioipiqirisitiuiviwixi|k}kadbdcdzbAbBbpdqdrdAcBcCcDcEcFcCbDbEbGcHcIcFbGbHb- . / IbJbKbJcKcLcMcNcOcyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i9ie Ze0e?d@d[d]d~k3l4l/ltmTlalCdblcldlJmGk#lumIdelKmLmTm!i#i$i%iPcQcRcScTcUcLlMl1e2e3e4e5e6e7e8e9e!e#e$e%e'e(e)edmemfmgm'i(i)i*i:l;lqfrfsf@f[f]f^f_f`f{f|f}f~fagbgW X Y LfMfNftfufvfugvgZ 0 1 2d3d4d5d6d7d+i,i-i.iflglhliljlkl/i:i;i=i?i@i[i]i2 3 4 p q r LbMbNb^i_illml`i{i|i}i~iajbjcjdjejfjgjnlolddedfdObPbQbsdtdudVcWcXcYcZc0cRbSbTb1c2c3cUbVbWb: ; = XbYbZb4c5c6c7c8c9chjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjf *e+e^d_d`d{dpl5l6l=lvmUlqlDdrlsltlMmHk$lwmJdulNmOmUmTjUjVjWj!c#c$c%c'c(cNlOl,e-e.e/e:e;e=e?e@e[e]e^e_e`e{e|ehmimjmkmXjYjZj0j?l@lwfxfyfcgdgegfggghgigjgkglgmgng5 6 7 OfPfQfzfAfBfwgxg8 9 ! 8d9d!d#d$d%d1j2j3j4jvlwlxlylzlAl5j6j7j8j9j!j#j$j# $ % s t u 0b1b2b%j'jBlCl(j)j*j+j,j-j.j/j:j;j=j?jDlElgdhdid3b4b5bvdwdxd)c*c+c,c-c.c6b7b8b/c:c;c9b!b#b? @ [ $b%b'b=c?c@c[c]c^c@j[j]j^j_j`j{j|j}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBk
729 unique = getattr(field_info, "unique", Undefined) 2a |d'd(dIkVlWl%llmPlJkydKkLkMkxmCk7lmmEdNkymzmPmygzg(b)bFl}d~daebecedeeefe[l]lAgBg}eRfSfTfUfv Cf~eogw KdLdCgDgOkPkQkEgFgGgHgx g ] IgRkJgKgLgMgNgOgSk_c^ jd*b+b_ ,b` ' { -b.bPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g6g7gb ge)d*dTkXlYl'lnmQlUkzdVkWkXkAmDk8lomFdYkBmCmQm8g9g/b:b;b=bGlheiejekelemeneoe^l_l!g#g(lafbfVfWfXfYfZf0f1f2fy z DfEfcfdfpgA B MdNdOdPd$g%gZk0k1k'g(g)g*gC D h i | } +g2k,g-g.g/g:g;g3k`c{c~ abkdld?b@b[b]bbbcb^b_bdbeb( ) fbgb`b{b|b}b=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghc peqe+d,d-d.d4kZl0l)lpmRl5kAd6k7k8kDmEk9lqmGd9kEmFmRmhhihjhkh~bacbcccdcecHlIlreseteuevewexeyezeAeBeCeDeEeFeGe`l{l|l}llhmhnhoh*l+lefffgf3f4f5f6f7f8f9f!f#f$f%f'fE F G FfGfHfhfifjfqgrgH I J QdRdSdTdUdVdphqhrhsh!k#k$k%k'k(kthuhvhwhxhyhzhAhK L M j k l hbibjbBhCh)k*kDhEhFhGhHhIhJhKhLhMhNhOh+k,k|c}c~ckblbmbmdndodfcgchcicjckcnbobpblcmcncqbrbsb* + , tbubvbocpcqcrcsctcPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?hd HeIe/d:d;d=d-k1l2l,lrmSl.kBd/k:k;kGmFk!lsmHd=kHmImSm@h[h]h^hucvcwcxcyczcJlKlJeKeLeMeNeOePeQeReSeTeUeVeWeXeYe~lambmcm_h`h{h|h-l.lkflfmf(f)f*f+f,f-f.f/f:f;f=f?fN O P IfJfKfnfofpfsgtgQ R S WdXdYdZd0d1d}h~haibi?k@k[k]k^k_kcidieifigihiiijiT U V m n o wbxbybkili`k{kminioipiqirisitiuiviwixi|k}kadbdcdzbAbBbpdqdrdAcBcCcDcEcFcCbDbEbGcHcIcFbGbHb- . / IbJbKbJcKcLcMcNcOcyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i9ie Ze0e?d@d[d]d~k3l4l/ltmTlalCdblcldlJmGk#lumIdelKmLmTm!i#i$i%iPcQcRcScTcUcLlMl1e2e3e4e5e6e7e8e9e!e#e$e%e'e(e)edmemfmgm'i(i)i*i:l;lqfrfsf@f[f]f^f_f`f{f|f}f~fagbgW X Y LfMfNftfufvfugvgZ 0 1 2d3d4d5d6d7d+i,i-i.iflglhliljlkl/i:i;i=i?i@i[i]i2 3 4 p q r LbMbNb^i_illml`i{i|i}i~iajbjcjdjejfjgjnlolddedfdObPbQbsdtdudVcWcXcYcZc0cRbSbTb1c2c3cUbVbWb: ; = XbYbZb4c5c6c7c8c9chjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjf *e+e^d_d`d{dpl5l6l=lvmUlqlDdrlsltlMmHk$lwmJdulNmOmUmTjUjVjWj!c#c$c%c'c(cNlOl,e-e.e/e:e;e=e?e@e[e]e^e_e`e{e|ehmimjmkmXjYjZj0j?l@lwfxfyfcgdgegfggghgigjgkglgmgng5 6 7 OfPfQfzfAfBfwgxg8 9 ! 8d9d!d#d$d%d1j2j3j4jvlwlxlylzlAl5j6j7j8j9j!j#j$j# $ % s t u 0b1b2b%j'jBlCl(j)j*j+j,j-j.j/j:j;j=j?jDlElgdhdid3b4b5bvdwdxd)c*c+c,c-c.c6b7b8b/c:c;c9b!b#b? @ [ $b%b'b=c?c@c[c]c^c@j[j]j^j_j`j{j|j}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBk
730 if unique is Undefined: 2a |d'd(dIkVlWl%llmPlJkydKkLkMkxmCk7lmmEdNkymzmPmygzg(b)bFl}d~daebecedeeefe[l]lAgBg}eRfSfTfUfv Cf~eogw KdLdCgDgOkPkQkEgFgGgHgx g ] IgRkJgKgLgMgNgOgSk_c^ jd*b+b_ ,b` ' { -b.bPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g6g7gb ge)d*dTkXlYl'lnmQlUkzdVkWkXkAmDk8lomFdYkBmCmQm8g9g/b:b;b=bGlheiejekelemeneoe^l_l!g#g(lafbfVfWfXfYfZf0f1f2fy z DfEfcfdfpgA B MdNdOdPd$g%gZk0k1k'g(g)g*gC D h i | } +g2k,g-g.g/g:g;g3k`c{c~ abkdld?b@b[b]bbbcb^b_bdbeb( ) fbgb`b{b|b}b=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghc peqe+d,d-d.d4kZl0l)lpmRl5kAd6k7k8kDmEk9lqmGd9kEmFmRmhhihjhkh~bacbcccdcecHlIlreseteuevewexeyezeAeBeCeDeEeFeGe`l{l|l}llhmhnhoh*l+lefffgf3f4f5f6f7f8f9f!f#f$f%f'fE F G FfGfHfhfifjfqgrgH I J QdRdSdTdUdVdphqhrhsh!k#k$k%k'k(kthuhvhwhxhyhzhAhK L M j k l hbibjbBhCh)k*kDhEhFhGhHhIhJhKhLhMhNhOh+k,k|c}c~ckblbmbmdndodfcgchcicjckcnbobpblcmcncqbrbsb* + , tbubvbocpcqcrcsctcPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?hd HeIe/d:d;d=d-k1l2l,lrmSl.kBd/k:k;kGmFk!lsmHd=kHmImSm@h[h]h^hucvcwcxcyczcJlKlJeKeLeMeNeOePeQeReSeTeUeVeWeXeYe~lambmcm_h`h{h|h-l.lkflfmf(f)f*f+f,f-f.f/f:f;f=f?fN O P IfJfKfnfofpfsgtgQ R S WdXdYdZd0d1d}h~haibi?k@k[k]k^k_kcidieifigihiiijiT U V m n o wbxbybkili`k{kminioipiqirisitiuiviwixi|k}kadbdcdzbAbBbpdqdrdAcBcCcDcEcFcCbDbEbGcHcIcFbGbHb- . / IbJbKbJcKcLcMcNcOcyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i9ie Ze0e?d@d[d]d~k3l4l/ltmTlalCdblcldlJmGk#lumIdelKmLmTm!i#i$i%iPcQcRcScTcUcLlMl1e2e3e4e5e6e7e8e9e!e#e$e%e'e(e)edmemfmgm'i(i)i*i:l;lqfrfsf@f[f]f^f_f`f{f|f}f~fagbgW X Y LfMfNftfufvfugvgZ 0 1 2d3d4d5d6d7d+i,i-i.iflglhliljlkl/i:i;i=i?i@i[i]i2 3 4 p q r LbMbNb^i_illml`i{i|i}i~iajbjcjdjejfjgjnlolddedfdObPbQbsdtdudVcWcXcYcZc0cRbSbTb1c2c3cUbVbWb: ; = XbYbZb4c5c6c7c8c9chjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjf *e+e^d_d`d{dpl5l6l=lvmUlqlDdrlsltlMmHk$lwmJdulNmOmUmTjUjVjWj!c#c$c%c'c(cNlOl,e-e.e/e:e;e=e?e@e[e]e^e_e`e{e|ehmimjmkmXjYjZj0j?l@lwfxfyfcgdgegfggghgigjgkglgmgng5 6 7 OfPfQfzfAfBfwgxg8 9 ! 8d9d!d#d$d%d1j2j3j4jvlwlxlylzlAl5j6j7j8j9j!j#j$j# $ % s t u 0b1b2b%j'jBlCl(j)j*j+j,j-j.j/j:j;j=j?jDlElgdhdid3b4b5bvdwdxd)c*c+c,c-c.c6b7b8b/c:c;c9b!b#b? @ [ $b%b'b=c?c@c[c]c^c@j[j]j^j_j`j{j|j}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBk
731 unique = False 2a |d'd(dIkVlWl%llmPlJkydKkLkMkxmCk7lmmEdNkymzmPmygzg(b)bFl}d~daebecedeeefe[l]lAgBg}eRfSfTfUfv Cf~eogw KdLdCgDgOkPkQkEgFgGgHgx g ] IgRkJgKgLgMgNgOgSk_c^ jd*b+b_ ,b` ' { -b.bPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g6g7gb ge)d*dTkXlYl'lnmQlUkzdVkWkXkAmDk8lomFdYkBmCmQm8g9g/b:b;b=bGlheiejekelemeneoe^l_l!g#g(lafbfVfWfXfYfZf0f1f2fy z DfEfcfdfpgA B MdNdOdPd$g%gZk0k1k'g(g)g*gC D h i | } +g2k,g-g.g/g:g;g3k`c{c~ abkdld?b@b[b]bbbcb^b_bdbeb( ) fbgb`b{b|b}b=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghc peqe+d,d-d.d4kZl0l)lpmRl5kAd6k7k8kDmEk9lqmGd9kEmFmRmhhihjhkh~bacbcccdcecHlIlreseteuevewexeyezeAeBeCeDeEeFeGe`l{l|l}llhmhnhoh*l+lefffgf3f4f5f6f7f8f9f!f#f$f%f'fE F G FfGfHfhfifjfqgrgH I J QdRdSdTdUdVdphqhrhsh!k#k$k%k'k(kthuhvhwhxhyhzhAhK L M j k l hbibjbBhCh)k*kDhEhFhGhHhIhJhKhLhMhNhOh+k,k|c}c~ckblbmbmdndodfcgchcicjckcnbobpblcmcncqbrbsb* + , tbubvbocpcqcrcsctcPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?hd HeIe/d:d;d=d-k1l2l,lrmSl.kBd/k:k;kGmFk!lsmHd=kHmImSm@h[h]h^hucvcwcxcyczcJlKlJeKeLeMeNeOePeQeReSeTeUeVeWeXeYe~lambmcm_h`h{h|h-l.lkflfmf(f)f*f+f,f-f.f/f:f;f=f?fN O P IfJfKfnfofpfsgtgQ R S WdXdYdZd0d1d}h~haibi?k@k[k]k^k_kcidieifigihiiijiT U V m n o wbxbybkili`k{kminioipiqirisitiuiviwixi|k}kadbdcdzbAbBbpdqdrdAcBcCcDcEcFcCbDbEbGcHcIcFbGbHb- . / IbJbKbJcKcLcMcNcOcyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i9ie Ze0e?d@d[d]d~k3l4l/ltmTlalCdblcldlJmGk#lumIdelKmLmTm!i#i$i%iPcQcRcScTcUcLlMl1e2e3e4e5e6e7e8e9e!e#e$e%e'e(e)edmemfmgm'i(i)i*i:l;lqfrfsf@f[f]f^f_f`f{f|f}f~fagbgW X Y LfMfNftfufvfugvgZ 0 1 2d3d4d5d6d7d+i,i-i.iflglhliljlkl/i:i;i=i?i@i[i]i2 3 4 p q r LbMbNb^i_illml`i{i|i}i~iajbjcjdjejfjgjnlolddedfdObPbQbsdtdudVcWcXcYcZc0cRbSbTb1c2c3cUbVbWb: ; = XbYbZb4c5c6c7c8c9chjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjf *e+e^d_d`d{dpl5l6l=lvmUlqlDdrlsltlMmHk$lwmJdulNmOmUmTjUjVjWj!c#c$c%c'c(cNlOl,e-e.e/e:e;e=e?e@e[e]e^e_e`e{e|ehmimjmkmXjYjZj0j?l@lwfxfyfcgdgegfggghgigjgkglgmgng5 6 7 OfPfQfzfAfBfwgxg8 9 ! 8d9d!d#d$d%d1j2j3j4jvlwlxlylzlAl5j6j7j8j9j!j#j$j# $ % s t u 0b1b2b%j'jBlCl(j)j*j+j,j-j.j/j:j;j=j?jDlElgdhdid3b4b5bvdwdxd)c*c+c,c-c.c6b7b8b/c:c;c9b!b#b? @ [ $b%b'b=c?c@c[c]c^c@j[j]j^j_j`j{j|j}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBk
732 if foreign_key: 2a |d'd(dIkVlWl%llmPlJkydKkLkMkxmCk7lmmEdNkymzmPmygzg(b)bFl}d~daebecedeeefe[l]lAgBg}eRfSfTfUfv Cf~eogw KdLdCgDgOkPkQkEgFgGgHgx g ] IgRkJgKgLgMgNgOgSk_c^ jd*b+b_ ,b` ' { -b.bPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g6g7gb ge)d*dTkXlYl'lnmQlUkzdVkWkXkAmDk8lomFdYkBmCmQm8g9g/b:b;b=bGlheiejekelemeneoe^l_l!g#g(lafbfVfWfXfYfZf0f1f2fy z DfEfcfdfpgA B MdNdOdPd$g%gZk0k1k'g(g)g*gC D h i | } +g2k,g-g.g/g:g;g3k`c{c~ abkdld?b@b[b]bbbcb^b_bdbeb( ) fbgb`b{b|b}b=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghc peqe+d,d-d.d4kZl0l)lpmRl5kAd6k7k8kDmEk9lqmGd9kEmFmRmhhihjhkh~bacbcccdcecHlIlreseteuevewexeyezeAeBeCeDeEeFeGe`l{l|l}llhmhnhoh*l+lefffgf3f4f5f6f7f8f9f!f#f$f%f'fE F G FfGfHfhfifjfqgrgH I J QdRdSdTdUdVdphqhrhsh!k#k$k%k'k(kthuhvhwhxhyhzhAhK L M j k l hbibjbBhCh)k*kDhEhFhGhHhIhJhKhLhMhNhOh+k,k|c}c~ckblbmbmdndodfcgchcicjckcnbobpblcmcncqbrbsb* + , tbubvbocpcqcrcsctcPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?hd HeIe/d:d;d=d-k1l2l,lrmSl.kBd/k:k;kGmFk!lsmHd=kHmImSm@h[h]h^hucvcwcxcyczcJlKlJeKeLeMeNeOePeQeReSeTeUeVeWeXeYe~lambmcm_h`h{h|h-l.lkflfmf(f)f*f+f,f-f.f/f:f;f=f?fN O P IfJfKfnfofpfsgtgQ R S WdXdYdZd0d1d}h~haibi?k@k[k]k^k_kcidieifigihiiijiT U V m n o wbxbybkili`k{kminioipiqirisitiuiviwixi|k}kadbdcdzbAbBbpdqdrdAcBcCcDcEcFcCbDbEbGcHcIcFbGbHb- . / IbJbKbJcKcLcMcNcOcyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i9ie Ze0e?d@d[d]d~k3l4l/ltmTlalCdblcldlJmGk#lumIdelKmLmTm!i#i$i%iPcQcRcScTcUcLlMl1e2e3e4e5e6e7e8e9e!e#e$e%e'e(e)edmemfmgm'i(i)i*i:l;lqfrfsf@f[f]f^f_f`f{f|f}f~fagbgW X Y LfMfNftfufvfugvgZ 0 1 2d3d4d5d6d7d+i,i-i.iflglhliljlkl/i:i;i=i?i@i[i]i2 3 4 p q r LbMbNb^i_illml`i{i|i}i~iajbjcjdjejfjgjnlolddedfdObPbQbsdtdudVcWcXcYcZc0cRbSbTb1c2c3cUbVbWb: ; = XbYbZb4c5c6c7c8c9chjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjf *e+e^d_d`d{dpl5l6l=lvmUlqlDdrlsltlMmHk$lwmJdulNmOmUmTjUjVjWj!c#c$c%c'c(cNlOl,e-e.e/e:e;e=e?e@e[e]e^e_e`e{e|ehmimjmkmXjYjZj0j?l@lwfxfyfcgdgegfggghgigjgkglgmgng5 6 7 OfPfQfzfAfBfwgxg8 9 ! 8d9d!d#d$d%d1j2j3j4jvlwlxlylzlAl5j6j7j8j9j!j#j$j# $ % s t u 0b1b2b%j'jBlCl(j)j*j+j,j-j.j/j:j;j=j?jDlElgdhdid3b4b5bvdwdxd)c*c+c,c-c.c6b7b8b/c:c;c9b!b#b? @ [ $b%b'b=c?c@c[c]c^c@j[j]j^j_j`j{j|j}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBk
733 if field_info.ondelete == "SET NULL" and not nullable: 2ydEd(b)bFl}d~daebecedeeefev w x g ] _c^ jd*b+b_ ,b` ' { -b.bzdFd/b:b;b=bGlheiejekelemeneoey z A B C D h i | } `c{c~ abkdld?b@b[b]bbbcb^b_bdbeb( ) fbgb`b{b|b}bAdGd~bacbcccdcecHlIlreseteuevewexeyezeAeBeCeDeEeFeGeE F G H I J K L M j k l hbibjb|c}c~ckblbmbmdndodfcgchcicjckcnbobpblcmcncqbrbsb* + , tbubvbocpcqcrcsctcBdHducvcwcxcyczcJlKlJeKeLeMeNeOePeQeReSeTeUeVeWeXeYeN O P Q R S T U V m n o wbxbybadbdcdzbAbBbpdqdrdAcBcCcDcEcFcCbDbEbGcHcIcFbGbHb- . / IbJbKbJcKcLcMcNcOcCdIdPcQcRcScTcUcLlMl1e2e3e4e5e6e7e8e9e!e#e$e%e'e(e)eW X Y Z 0 1 2 3 4 p q r LbMbNbddedfdObPbQbsdtdudVcWcXcYcZc0cRbSbTb1c2c3cUbVbWb: ; = XbYbZb4c5c6c7c8c9cDdJd!c#c$c%c'c(cNlOl,e-e.e/e:e;e=e?e@e[e]e^e_e`e{e|e5 6 7 8 9 ! # $ % s t u 0b1b2bgdhdid3b4b5bvdwdxd)c*c+c,c-c.c6b7b8b/c:c;c9b!b#b? @ [ $b%b'b=c?c@c[c]c^c
734 raise RuntimeError('ondelete="SET NULL" requires nullable=True') 2EdFdGdHdIdJd
735 assert isinstance(foreign_key, str) 2yd(b)bFl}d~daebecedeeefev w x g ] _c^ jd*b+b_ ,b` ' { -b.bzd/b:b;b=bGlheiejekelemeneoey z A B C D h i | } `c{c~ abkdld?b@b[b]bbbcb^b_bdbeb( ) fbgb`b{b|b}bAd~bacbcccdcecHlIlreseteuevewexeyezeAeBeCeDeEeFeGeE F G H I J K L M j k l hbibjb|c}c~ckblbmbmdndodfcgchcicjckcnbobpblcmcncqbrbsb* + , tbubvbocpcqcrcsctcBducvcwcxcyczcJlKlJeKeLeMeNeOePeQeReSeTeUeVeWeXeYeN O P Q R S T U V m n o wbxbybadbdcdzbAbBbpdqdrdAcBcCcDcEcFcCbDbEbGcHcIcFbGbHb- . / IbJbKbJcKcLcMcNcOcCdPcQcRcScTcUcLlMl1e2e3e4e5e6e7e8e9e!e#e$e%e'e(e)eW X Y Z 0 1 2 3 4 p q r LbMbNbddedfdObPbQbsdtdudVcWcXcYcZc0cRbSbTb1c2c3cUbVbWb: ; = XbYbZb4c5c6c7c8c9cDd!c#c$c%c'c(cNlOl,e-e.e/e:e;e=e?e@e[e]e^e_e`e{e|e5 6 7 8 9 ! # $ % s t u 0b1b2bgdhdid3b4b5bvdwdxd)c*c+c,c-c.c6b7b8b/c:c;c9b!b#b? @ [ $b%b'b=c?c@c[c]c^c
736 ondelete = getattr(field_info, "ondelete", Undefined) 2yd(b)bFl}d~daebecedeeefev w x g ] _c^ jd*b+b_ ,b` ' { -b.bzd/b:b;b=bGlheiejekelemeneoey z A B C D h i | } `c{c~ abkdld?b@b[b]bbbcb^b_bdbeb( ) fbgb`b{b|b}bAd~bacbcccdcecHlIlreseteuevewexeyezeAeBeCeDeEeFeGeE F G H I J K L M j k l hbibjb|c}c~ckblbmbmdndodfcgchcicjckcnbobpblcmcncqbrbsb* + , tbubvbocpcqcrcsctcBducvcwcxcyczcJlKlJeKeLeMeNeOePeQeReSeTeUeVeWeXeYeN O P Q R S T U V m n o wbxbybadbdcdzbAbBbpdqdrdAcBcCcDcEcFcCbDbEbGcHcIcFbGbHb- . / IbJbKbJcKcLcMcNcOcCdPcQcRcScTcUcLlMl1e2e3e4e5e6e7e8e9e!e#e$e%e'e(e)eW X Y Z 0 1 2 3 4 p q r LbMbNbddedfdObPbQbsdtdudVcWcXcYcZc0cRbSbTb1c2c3cUbVbWb: ; = XbYbZb4c5c6c7c8c9cDd!c#c$c%c'c(cNlOl,e-e.e/e:e;e=e?e@e[e]e^e_e`e{e|e5 6 7 8 9 ! # $ % s t u 0b1b2bgdhdid3b4b5bvdwdxd)c*c+c,c-c.c6b7b8b/c:c;c9b!b#b? @ [ $b%b'b=c?c@c[c]c^c
737 if ondelete is Undefined: 2yd(b)bFl}d~daebecedeeefev w x g ] _c^ jd*b+b_ ,b` ' { -b.bzd/b:b;b=bGlheiejekelemeneoey z A B C D h i | } `c{c~ abkdld?b@b[b]bbbcb^b_bdbeb( ) fbgb`b{b|b}bAd~bacbcccdcecHlIlreseteuevewexeyezeAeBeCeDeEeFeGeE F G H I J K L M j k l hbibjb|c}c~ckblbmbmdndodfcgchcicjckcnbobpblcmcncqbrbsb* + , tbubvbocpcqcrcsctcBducvcwcxcyczcJlKlJeKeLeMeNeOePeQeReSeTeUeVeWeXeYeN O P Q R S T U V m n o wbxbybadbdcdzbAbBbpdqdrdAcBcCcDcEcFcCbDbEbGcHcIcFbGbHb- . / IbJbKbJcKcLcMcNcOcCdPcQcRcScTcUcLlMl1e2e3e4e5e6e7e8e9e!e#e$e%e'e(e)eW X Y Z 0 1 2 3 4 p q r LbMbNbddedfdObPbQbsdtdudVcWcXcYcZc0cRbSbTb1c2c3cUbVbWb: ; = XbYbZb4c5c6c7c8c9cDd!c#c$c%c'c(cNlOl,e-e.e/e:e;e=e?e@e[e]e^e_e`e{e|e5 6 7 8 9 ! # $ % s t u 0b1b2bgdhdid3b4b5bvdwdxd)c*c+c,c-c.c6b7b8b/c:c;c9b!b#b? @ [ $b%b'b=c?c@c[c]c^c
738 ondelete = None 2yd(b)bFl}d~daebecedeeefev w x g ] _c^ jd*b+b-b.bzd/b:b;b=bGlheiejekelemeneoey z A B C D h i | } `c{c~ abkdld?b@b[b]b`b{b|b}bAd~bacbcccdcecHlIlreseteuevewexeyezeAeBeCeDeEeFeGeE F G H I J K L M j k l hbibjb|c}c~ckblbmbmdndodfcgchcicjckcocpcqcrcsctcBducvcwcxcyczcJlKlJeKeLeMeNeOePeQeReSeTeUeVeWeXeYeN O P Q R S T U V m n o wbxbybadbdcdzbAbBbpdqdrdAcBcCcDcEcFcJcKcLcMcNcOcCdPcQcRcScTcUcLlMl1e2e3e4e5e6e7e8e9e!e#e$e%e'e(e)eW X Y Z 0 1 2 3 4 p q r LbMbNbddedfdObPbQbsdtdudVcWcXcYcZc0c4c5c6c7c8c9cDd!c#c$c%c'c(cNlOl,e-e.e/e:e;e=e?e@e[e]e^e_e`e{e|e5 6 7 8 9 ! # $ % s t u 0b1b2bgdhdid3b4b5bvdwdxd)c*c+c,c-c.c=c?c@c[c]c^c
739 assert isinstance(ondelete, (str, type(None))) # for typing 2yd(b)bFl}d~daebecedeeefev w x g ] _c^ jd*b+b_ ,b` ' { -b.bzd/b:b;b=bGlheiejekelemeneoey z A B C D h i | } `c{c~ abkdld?b@b[b]bbbcb^b_bdbeb( ) fbgb`b{b|b}bAd~bacbcccdcecHlIlreseteuevewexeyezeAeBeCeDeEeFeGeE F G H I J K L M j k l hbibjb|c}c~ckblbmbmdndodfcgchcicjckcnbobpblcmcncqbrbsb* + , tbubvbocpcqcrcsctcBducvcwcxcyczcJlKlJeKeLeMeNeOePeQeReSeTeUeVeWeXeYeN O P Q R S T U V m n o wbxbybadbdcdzbAbBbpdqdrdAcBcCcDcEcFcCbDbEbGcHcIcFbGbHb- . / IbJbKbJcKcLcMcNcOcCdPcQcRcScTcUcLlMl1e2e3e4e5e6e7e8e9e!e#e$e%e'e(e)eW X Y Z 0 1 2 3 4 p q r LbMbNbddedfdObPbQbsdtdudVcWcXcYcZc0cRbSbTb1c2c3cUbVbWb: ; = XbYbZb4c5c6c7c8c9cDd!c#c$c%c'c(cNlOl,e-e.e/e:e;e=e?e@e[e]e^e_e`e{e|e5 6 7 8 9 ! # $ % s t u 0b1b2bgdhdid3b4b5bvdwdxd)c*c+c,c-c.c6b7b8b/c:c;c9b!b#b? @ [ $b%b'b=c?c@c[c]c^c
740 args.append(ForeignKey(foreign_key, ondelete=ondelete)) 2yd(b)bFl}d~daebecedeeefev w x g ] _c^ jd*b+b_ ,b` ' { -b.bzd/b:b;b=bGlheiejekelemeneoey z A B C D h i | } `c{c~ abkdld?b@b[b]bbbcb^b_bdbeb( ) fbgb`b{b|b}bAd~bacbcccdcecHlIlreseteuevewexeyezeAeBeCeDeEeFeGeE F G H I J K L M j k l hbibjb|c}c~ckblbmbmdndodfcgchcicjckcnbobpblcmcncqbrbsb* + , tbubvbocpcqcrcsctcBducvcwcxcyczcJlKlJeKeLeMeNeOePeQeReSeTeUeVeWeXeYeN O P Q R S T U V m n o wbxbybadbdcdzbAbBbpdqdrdAcBcCcDcEcFcCbDbEbGcHcIcFbGbHb- . / IbJbKbJcKcLcMcNcOcCdPcQcRcScTcUcLlMl1e2e3e4e5e6e7e8e9e!e#e$e%e'e(e)eW X Y Z 0 1 2 3 4 p q r LbMbNbddedfdObPbQbsdtdudVcWcXcYcZc0cRbSbTb1c2c3cUbVbWb: ; = XbYbZb4c5c6c7c8c9cDd!c#c$c%c'c(cNlOl,e-e.e/e:e;e=e?e@e[e]e^e_e`e{e|e5 6 7 8 9 ! # $ % s t u 0b1b2bgdhdid3b4b5bvdwdxd)c*c+c,c-c.c6b7b8b/c:c;c9b!b#b? @ [ $b%b'b=c?c@c[c]c^c
741 kwargs = { 2a |d'd(dIkVlWl%llmPlJkydKkLkMkxmCk7lmmEdNkymzmPmygzg(b)bFl}d~daebecedeeefe[l]lAgBg}eRfSfTfUfv Cf~eogw KdLdCgDgOkPkQkEgFgGgHgx g ] IgRkJgKgLgMgNgOgSk_c^ jd*b+b_ ,b` ' { -b.bPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g6g7gb ge)d*dTkXlYl'lnmQlUkzdVkWkXkAmDk8lomFdYkBmCmQm8g9g/b:b;b=bGlheiejekelemeneoe^l_l!g#g(lafbfVfWfXfYfZf0f1f2fy z DfEfcfdfpgA B MdNdOdPd$g%gZk0k1k'g(g)g*gC D h i | } +g2k,g-g.g/g:g;g3k`c{c~ abkdld?b@b[b]bbbcb^b_bdbeb( ) fbgb`b{b|b}b=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghc peqe+d,d-d.d4kZl0l)lpmRl5kAd6k7k8kDmEk9lqmGd9kEmFmRmhhihjhkh~bacbcccdcecHlIlreseteuevewexeyezeAeBeCeDeEeFeGe`l{l|l}llhmhnhoh*l+lefffgf3f4f5f6f7f8f9f!f#f$f%f'fE F G FfGfHfhfifjfqgrgH I J QdRdSdTdUdVdphqhrhsh!k#k$k%k'k(kthuhvhwhxhyhzhAhK L M j k l hbibjbBhCh)k*kDhEhFhGhHhIhJhKhLhMhNhOh+k,k|c}c~ckblbmbmdndodfcgchcicjckcnbobpblcmcncqbrbsb* + , tbubvbocpcqcrcsctcPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?hd HeIe/d:d;d=d-k1l2l,lrmSl.kBd/k:k;kGmFk!lsmHd=kHmImSm@h[h]h^hucvcwcxcyczcJlKlJeKeLeMeNeOePeQeReSeTeUeVeWeXeYe~lambmcm_h`h{h|h-l.lkflfmf(f)f*f+f,f-f.f/f:f;f=f?fN O P IfJfKfnfofpfsgtgQ R S WdXdYdZd0d1d}h~haibi?k@k[k]k^k_kcidieifigihiiijiT U V m n o wbxbybkili`k{kminioipiqirisitiuiviwixi|k}kadbdcdzbAbBbpdqdrdAcBcCcDcEcFcCbDbEbGcHcIcFbGbHb- . / IbJbKbJcKcLcMcNcOcyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i9ie Ze0e?d@d[d]d~k3l4l/ltmTlalCdblcldlJmGk#lumIdelKmLmTm!i#i$i%iPcQcRcScTcUcLlMl1e2e3e4e5e6e7e8e9e!e#e$e%e'e(e)edmemfmgm'i(i)i*i:l;lqfrfsf@f[f]f^f_f`f{f|f}f~fagbgW X Y LfMfNftfufvfugvgZ 0 1 2d3d4d5d6d7d+i,i-i.iflglhliljlkl/i:i;i=i?i@i[i]i2 3 4 p q r LbMbNb^i_illml`i{i|i}i~iajbjcjdjejfjgjnlolddedfdObPbQbsdtdudVcWcXcYcZc0cRbSbTb1c2c3cUbVbWb: ; = XbYbZb4c5c6c7c8c9chjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjf *e+e^d_d`d{dpl5l6l=lvmUlqlDdrlsltlMmHk$lwmJdulNmOmUmTjUjVjWj!c#c$c%c'c(cNlOl,e-e.e/e:e;e=e?e@e[e]e^e_e`e{e|ehmimjmkmXjYjZj0j?l@lwfxfyfcgdgegfggghgigjgkglgmgng5 6 7 OfPfQfzfAfBfwgxg8 9 ! 8d9d!d#d$d%d1j2j3j4jvlwlxlylzlAl5j6j7j8j9j!j#j$j# $ % s t u 0b1b2b%j'jBlCl(j)j*j+j,j-j.j/j:j;j=j?jDlElgdhdid3b4b5bvdwdxd)c*c+c,c-c.c6b7b8b/c:c;c9b!b#b? @ [ $b%b'b=c?c@c[c]c^c@j[j]j^j_j`j{j|j}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBk
742 "primary_key": primary_key,
743 "nullable": nullable,
744 "index": index,
745 "unique": unique,
746 }
747 sa_default = Undefined 2a |d'd(dIkVlWl%llmPlJkydKkLkMkxmCk7lmmEdNkymzmPmygzg(b)bFl}d~daebecedeeefe[l]lAgBg}eRfSfTfUfv Cf~eogw KdLdCgDgOkPkQkEgFgGgHgx g ] IgRkJgKgLgMgNgOgSk_c^ jd*b+b_ ,b` ' { -b.bPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g6g7gb ge)d*dTkXlYl'lnmQlUkzdVkWkXkAmDk8lomFdYkBmCmQm8g9g/b:b;b=bGlheiejekelemeneoe^l_l!g#g(lafbfVfWfXfYfZf0f1f2fy z DfEfcfdfpgA B MdNdOdPd$g%gZk0k1k'g(g)g*gC D h i | } +g2k,g-g.g/g:g;g3k`c{c~ abkdld?b@b[b]bbbcb^b_bdbeb( ) fbgb`b{b|b}b=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghc peqe+d,d-d.d4kZl0l)lpmRl5kAd6k7k8kDmEk9lqmGd9kEmFmRmhhihjhkh~bacbcccdcecHlIlreseteuevewexeyezeAeBeCeDeEeFeGe`l{l|l}llhmhnhoh*l+lefffgf3f4f5f6f7f8f9f!f#f$f%f'fE F G FfGfHfhfifjfqgrgH I J QdRdSdTdUdVdphqhrhsh!k#k$k%k'k(kthuhvhwhxhyhzhAhK L M j k l hbibjbBhCh)k*kDhEhFhGhHhIhJhKhLhMhNhOh+k,k|c}c~ckblbmbmdndodfcgchcicjckcnbobpblcmcncqbrbsb* + , tbubvbocpcqcrcsctcPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?hd HeIe/d:d;d=d-k1l2l,lrmSl.kBd/k:k;kGmFk!lsmHd=kHmImSm@h[h]h^hucvcwcxcyczcJlKlJeKeLeMeNeOePeQeReSeTeUeVeWeXeYe~lambmcm_h`h{h|h-l.lkflfmf(f)f*f+f,f-f.f/f:f;f=f?fN O P IfJfKfnfofpfsgtgQ R S WdXdYdZd0d1d}h~haibi?k@k[k]k^k_kcidieifigihiiijiT U V m n o wbxbybkili`k{kminioipiqirisitiuiviwixi|k}kadbdcdzbAbBbpdqdrdAcBcCcDcEcFcCbDbEbGcHcIcFbGbHb- . / IbJbKbJcKcLcMcNcOcyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i9ie Ze0e?d@d[d]d~k3l4l/ltmTlalCdblcldlJmGk#lumIdelKmLmTm!i#i$i%iPcQcRcScTcUcLlMl1e2e3e4e5e6e7e8e9e!e#e$e%e'e(e)edmemfmgm'i(i)i*i:l;lqfrfsf@f[f]f^f_f`f{f|f}f~fagbgW X Y LfMfNftfufvfugvgZ 0 1 2d3d4d5d6d7d+i,i-i.iflglhliljlkl/i:i;i=i?i@i[i]i2 3 4 p q r LbMbNb^i_illml`i{i|i}i~iajbjcjdjejfjgjnlolddedfdObPbQbsdtdudVcWcXcYcZc0cRbSbTb1c2c3cUbVbWb: ; = XbYbZb4c5c6c7c8c9chjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjf *e+e^d_d`d{dpl5l6l=lvmUlqlDdrlsltlMmHk$lwmJdulNmOmUmTjUjVjWj!c#c$c%c'c(cNlOl,e-e.e/e:e;e=e?e@e[e]e^e_e`e{e|ehmimjmkmXjYjZj0j?l@lwfxfyfcgdgegfggghgigjgkglgmgng5 6 7 OfPfQfzfAfBfwgxg8 9 ! 8d9d!d#d$d%d1j2j3j4jvlwlxlylzlAl5j6j7j8j9j!j#j$j# $ % s t u 0b1b2b%j'jBlCl(j)j*j+j,j-j.j/j:j;j=j?jDlElgdhdid3b4b5bvdwdxd)c*c+c,c-c.c6b7b8b/c:c;c9b!b#b? @ [ $b%b'b=c?c@c[c]c^c@j[j]j^j_j`j{j|j}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBk
748 if field_info.default_factory: 2a |d'd(dIkVlWl%llmPlJkydKkLkMkxmCk7lmmEdNkymzmPmygzg(b)bFl}d~daebecedeeefe[l]lAgBg}eRfSfTfUfv Cf~eogw KdLdCgDgOkPkQkEgFgGgHgx g ] IgRkJgKgLgMgNgOgSk_c^ jd*b+b_ ,b` ' { -b.bPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g6g7gb ge)d*dTkXlYl'lnmQlUkzdVkWkXkAmDk8lomFdYkBmCmQm8g9g/b:b;b=bGlheiejekelemeneoe^l_l!g#g(lafbfVfWfXfYfZf0f1f2fy z DfEfcfdfpgA B MdNdOdPd$g%gZk0k1k'g(g)g*gC D h i | } +g2k,g-g.g/g:g;g3k`c{c~ abkdld?b@b[b]bbbcb^b_bdbeb( ) fbgb`b{b|b}b=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghc peqe+d,d-d.d4kZl0l)lpmRl5kAd6k7k8kDmEk9lqmGd9kEmFmRmhhihjhkh~bacbcccdcecHlIlreseteuevewexeyezeAeBeCeDeEeFeGe`l{l|l}llhmhnhoh*l+lefffgf3f4f5f6f7f8f9f!f#f$f%f'fE F G FfGfHfhfifjfqgrgH I J QdRdSdTdUdVdphqhrhsh!k#k$k%k'k(kthuhvhwhxhyhzhAhK L M j k l hbibjbBhCh)k*kDhEhFhGhHhIhJhKhLhMhNhOh+k,k|c}c~ckblbmbmdndodfcgchcicjckcnbobpblcmcncqbrbsb* + , tbubvbocpcqcrcsctcPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?hd HeIe/d:d;d=d-k1l2l,lrmSl.kBd/k:k;kGmFk!lsmHd=kHmImSm@h[h]h^hucvcwcxcyczcJlKlJeKeLeMeNeOePeQeReSeTeUeVeWeXeYe~lambmcm_h`h{h|h-l.lkflfmf(f)f*f+f,f-f.f/f:f;f=f?fN O P IfJfKfnfofpfsgtgQ R S WdXdYdZd0d1d}h~haibi?k@k[k]k^k_kcidieifigihiiijiT U V m n o wbxbybkili`k{kminioipiqirisitiuiviwixi|k}kadbdcdzbAbBbpdqdrdAcBcCcDcEcFcCbDbEbGcHcIcFbGbHb- . / IbJbKbJcKcLcMcNcOcyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i9ie Ze0e?d@d[d]d~k3l4l/ltmTlalCdblcldlJmGk#lumIdelKmLmTm!i#i$i%iPcQcRcScTcUcLlMl1e2e3e4e5e6e7e8e9e!e#e$e%e'e(e)edmemfmgm'i(i)i*i:l;lqfrfsf@f[f]f^f_f`f{f|f}f~fagbgW X Y LfMfNftfufvfugvgZ 0 1 2d3d4d5d6d7d+i,i-i.iflglhliljlkl/i:i;i=i?i@i[i]i2 3 4 p q r LbMbNb^i_illml`i{i|i}i~iajbjcjdjejfjgjnlolddedfdObPbQbsdtdudVcWcXcYcZc0cRbSbTb1c2c3cUbVbWb: ; = XbYbZb4c5c6c7c8c9chjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjf *e+e^d_d`d{dpl5l6l=lvmUlqlDdrlsltlMmHk$lwmJdulNmOmUmTjUjVjWj!c#c$c%c'c(cNlOl,e-e.e/e:e;e=e?e@e[e]e^e_e`e{e|ehmimjmkmXjYjZj0j?l@lwfxfyfcgdgegfggghgigjgkglgmgng5 6 7 OfPfQfzfAfBfwgxg8 9 ! 8d9d!d#d$d%d1j2j3j4jvlwlxlylzlAl5j6j7j8j9j!j#j$j# $ % s t u 0b1b2b%j'jBlCl(j)j*j+j,j-j.j/j:j;j=j?jDlElgdhdid3b4b5bvdwdxd)c*c+c,c-c.c6b7b8b/c:c;c9b!b#b? @ [ $b%b'b=c?c@c[c]c^c@j[j]j^j_j`j{j|j}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBk
749 sa_default = field_info.default_factory 2'd(dIk)d*dTk+d,d-d.d4k/d:d;d=d-k?d@d[d]d~k^d_d`d{dpl
750 elif field_info.default is not Undefined: 2a |d'd(dVlWl%llmPlJkydKkLkMkxmCk7lmmEdNkymzmPmygzg(b)bFl}d~daebecedeeefe[l]lAgBg}eRfSfTfUfv Cf~eogw KdLdCgDgOkPkQkEgFgGgHgx g ] IgRkJgKgLgMgNgOgSk_c^ jd*b+b_ ,b` ' { -b.bPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g6g7gb ge)d*dXlYl'lnmQlUkzdVkWkXkAmDk8lomFdYkBmCmQm8g9g/b:b;b=bGlheiejekelemeneoe^l_l!g#g(lafbfVfWfXfYfZf0f1f2fy z DfEfcfdfpgA B MdNdOdPd$g%gZk0k1k'g(g)g*gC D h i | } +g2k,g-g.g/g:g;g3k`c{c~ abkdld?b@b[b]bbbcb^b_bdbeb( ) fbgb`b{b|b}b=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghc peqe+d,d-d.dZl0l)lpmRl5kAd6k7k8kDmEk9lqmGd9kEmFmRmhhihjhkh~bacbcccdcecHlIlreseteuevewexeyezeAeBeCeDeEeFeGe`l{l|l}llhmhnhoh*l+lefffgf3f4f5f6f7f8f9f!f#f$f%f'fE F G FfGfHfhfifjfqgrgH I J QdRdSdTdUdVdphqhrhsh!k#k$k%k'k(kthuhvhwhxhyhzhAhK L M j k l hbibjbBhCh)k*kDhEhFhGhHhIhJhKhLhMhNhOh+k,k|c}c~ckblbmbmdndodfcgchcicjckcnbobpblcmcncqbrbsb* + , tbubvbocpcqcrcsctcPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?hd HeIe/d:d;d=d1l2l,lrmSl.kBd/k:k;kGmFk!lsmHd=kHmImSm@h[h]h^hucvcwcxcyczcJlKlJeKeLeMeNeOePeQeReSeTeUeVeWeXeYe~lambmcm_h`h{h|h-l.lkflfmf(f)f*f+f,f-f.f/f:f;f=f?fN O P IfJfKfnfofpfsgtgQ R S WdXdYdZd0d1d}h~haibi?k@k[k]k^k_kcidieifigihiiijiT U V m n o wbxbybkili`k{kminioipiqirisitiuiviwixi|k}kadbdcdzbAbBbpdqdrdAcBcCcDcEcFcCbDbEbGcHcIcFbGbHb- . / IbJbKbJcKcLcMcNcOcyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i9ie Ze0e?d@d[d]d3l4l/ltmTlalCdblcldlJmGk#lumIdelKmLmTm!i#i$i%iPcQcRcScTcUcLlMl1e2e3e4e5e6e7e8e9e!e#e$e%e'e(e)edmemfmgm'i(i)i*i:l;lqfrfsf@f[f]f^f_f`f{f|f}f~fagbgW X Y LfMfNftfufvfugvgZ 0 1 2d3d4d5d6d7d+i,i-i.iflglhliljlkl/i:i;i=i?i@i[i]i2 3 4 p q r LbMbNb^i_illml`i{i|i}i~iajbjcjdjejfjgjnlolddedfdObPbQbsdtdudVcWcXcYcZc0cRbSbTb1c2c3cUbVbWb: ; = XbYbZb4c5c6c7c8c9chjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjf *e+e^d_d`d{d5l6l=lvmUlqlDdrlsltlMmHk$lwmJdulNmOmUmTjUjVjWj!c#c$c%c'c(cNlOl,e-e.e/e:e;e=e?e@e[e]e^e_e`e{e|ehmimjmkmXjYjZj0j?l@lwfxfyfcgdgegfggghgigjgkglgmgng5 6 7 OfPfQfzfAfBfwgxg8 9 ! 8d9d!d#d$d%d1j2j3j4jvlwlxlylzlAl5j6j7j8j9j!j#j$j# $ % s t u 0b1b2b%j'jBlCl(j)j*j+j,j-j.j/j:j;j=j?jDlElgdhdid3b4b5bvdwdxd)c*c+c,c-c.c6b7b8b/c:c;c9b!b#b? @ [ $b%b'b=c?c@c[c]c^c@j[j]j^j_j`j{j|j}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBk
751 sa_default = field_info.default 2a |d'd(d%llmPlJkydKkLkMkxmCk7lmmEdNkymzmPmygzg(b)bFl}d~daebecedeeefe[l]lAgBg}eRfSfTfUfv Cf~eogw KdLdCgDgOkPkQkEgFgGgHgx g ] IgRkJgKgLgMgNgOgSk_c^ jd*b+b_ ,b` ' { -b.bPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g6g7gb ge)d*d'lnmQlUkzdVkWkXkAmDk8lomFdYkBmCmQm8g9g/b:b;b=bGlheiejekelemeneoe^l_l!g#g(lafbfVfWfXfYfZf0f1f2fy z DfEfcfdfpgA B MdNdOdPd$g%gZk0k1k'g(g)g*gC D h i | } +g2k,g-g.g/g:g;g3k`c{c~ abkdld?b@b[b]bbbcb^b_bdbeb( ) fbgb`b{b|b}b=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghc peqe+d,d-d.d)lpmRl5kAd6k7k8kDmEk9lqmGd9kEmFmRmhhihjhkh~bacbcccdcecHlIlreseteuevewexeyezeAeBeCeDeEeFeGe`l{l|l}llhmhnhoh*l+lefffgf3f4f5f6f7f8f9f!f#f$f%f'fE F G FfGfHfhfifjfqgrgH I J QdRdSdTdUdVdphqhrhsh!k#k$k%k'k(kthuhvhwhxhyhzhAhK L M j k l hbibjbBhCh)k*kDhEhFhGhHhIhJhKhLhMhNhOh+k,k|c}c~ckblbmbmdndodfcgchcicjckcnbobpblcmcncqbrbsb* + , tbubvbocpcqcrcsctcPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?hd HeIe/d:d;d=d,lrmSl.kBd/k:k;kGmFk!lsmHd=kHmImSm@h[h]h^hucvcwcxcyczcJlKlJeKeLeMeNeOePeQeReSeTeUeVeWeXeYe~lambmcm_h`h{h|h-l.lkflfmf(f)f*f+f,f-f.f/f:f;f=f?fN O P IfJfKfnfofpfsgtgQ R S WdXdYdZd0d1d}h~haibi?k@k[k]k^k_kcidieifigihiiijiT U V m n o wbxbybkili`k{kminioipiqirisitiuiviwixi|k}kadbdcdzbAbBbpdqdrdAcBcCcDcEcFcCbDbEbGcHcIcFbGbHb- . / IbJbKbJcKcLcMcNcOcyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i9ie Ze0e?d@d[d]d/ltmTlalCdblcldlJmGk#lumIdelKmLmTm!i#i$i%iPcQcRcScTcUcLlMl1e2e3e4e5e6e7e8e9e!e#e$e%e'e(e)edmemfmgm'i(i)i*i:l;lqfrfsf@f[f]f^f_f`f{f|f}f~fagbgW X Y LfMfNftfufvfugvgZ 0 1 2d3d4d5d6d7d+i,i-i.iflglhliljlkl/i:i;i=i?i@i[i]i2 3 4 p q r LbMbNb^i_illml`i{i|i}i~iajbjcjdjejfjgjnlolddedfdObPbQbsdtdudVcWcXcYcZc0cRbSbTb1c2c3cUbVbWb: ; = XbYbZb4c5c6c7c8c9chjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjf *e+e^d_d`d{d=lvmUlqlDdrlsltlMmHk$lwmJdulNmOmUmTjUjVjWj!c#c$c%c'c(cNlOl,e-e.e/e:e;e=e?e@e[e]e^e_e`e{e|ehmimjmkmXjYjZj0j?l@lwfxfyfcgdgegfggghgigjgkglgmgng5 6 7 OfPfQfzfAfBfwgxg8 9 ! 8d9d!d#d$d%d1j2j3j4jvlwlxlylzlAl5j6j7j8j9j!j#j$j# $ % s t u 0b1b2b%j'jBlCl(j)j*j+j,j-j.j/j:j;j=j?jDlElgdhdid3b4b5bvdwdxd)c*c+c,c-c.c6b7b8b/c:c;c9b!b#b? @ [ $b%b'b=c?c@c[c]c^c@j[j]j^j_j`j{j|j}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBk
752 if sa_default is not Undefined: 2a |d'd(dIkVlWl%llmPlJkydKkLkMkxmCk7lmmEdNkymzmPmygzg(b)bFl}d~daebecedeeefe[l]lAgBg}eRfSfTfUfv Cf~eogw KdLdCgDgOkPkQkEgFgGgHgx g ] IgRkJgKgLgMgNgOgSk_c^ jd*b+b_ ,b` ' { -b.bPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g6g7gb ge)d*dTkXlYl'lnmQlUkzdVkWkXkAmDk8lomFdYkBmCmQm8g9g/b:b;b=bGlheiejekelemeneoe^l_l!g#g(lafbfVfWfXfYfZf0f1f2fy z DfEfcfdfpgA B MdNdOdPd$g%gZk0k1k'g(g)g*gC D h i | } +g2k,g-g.g/g:g;g3k`c{c~ abkdld?b@b[b]bbbcb^b_bdbeb( ) fbgb`b{b|b}b=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghc peqe+d,d-d.d4kZl0l)lpmRl5kAd6k7k8kDmEk9lqmGd9kEmFmRmhhihjhkh~bacbcccdcecHlIlreseteuevewexeyezeAeBeCeDeEeFeGe`l{l|l}llhmhnhoh*l+lefffgf3f4f5f6f7f8f9f!f#f$f%f'fE F G FfGfHfhfifjfqgrgH I J QdRdSdTdUdVdphqhrhsh!k#k$k%k'k(kthuhvhwhxhyhzhAhK L M j k l hbibjbBhCh)k*kDhEhFhGhHhIhJhKhLhMhNhOh+k,k|c}c~ckblbmbmdndodfcgchcicjckcnbobpblcmcncqbrbsb* + , tbubvbocpcqcrcsctcPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?hd HeIe/d:d;d=d-k1l2l,lrmSl.kBd/k:k;kGmFk!lsmHd=kHmImSm@h[h]h^hucvcwcxcyczcJlKlJeKeLeMeNeOePeQeReSeTeUeVeWeXeYe~lambmcm_h`h{h|h-l.lkflfmf(f)f*f+f,f-f.f/f:f;f=f?fN O P IfJfKfnfofpfsgtgQ R S WdXdYdZd0d1d}h~haibi?k@k[k]k^k_kcidieifigihiiijiT U V m n o wbxbybkili`k{kminioipiqirisitiuiviwixi|k}kadbdcdzbAbBbpdqdrdAcBcCcDcEcFcCbDbEbGcHcIcFbGbHb- . / IbJbKbJcKcLcMcNcOcyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i9ie Ze0e?d@d[d]d~k3l4l/ltmTlalCdblcldlJmGk#lumIdelKmLmTm!i#i$i%iPcQcRcScTcUcLlMl1e2e3e4e5e6e7e8e9e!e#e$e%e'e(e)edmemfmgm'i(i)i*i:l;lqfrfsf@f[f]f^f_f`f{f|f}f~fagbgW X Y LfMfNftfufvfugvgZ 0 1 2d3d4d5d6d7d+i,i-i.iflglhliljlkl/i:i;i=i?i@i[i]i2 3 4 p q r LbMbNb^i_illml`i{i|i}i~iajbjcjdjejfjgjnlolddedfdObPbQbsdtdudVcWcXcYcZc0cRbSbTb1c2c3cUbVbWb: ; = XbYbZb4c5c6c7c8c9chjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjf *e+e^d_d`d{dpl5l6l=lvmUlqlDdrlsltlMmHk$lwmJdulNmOmUmTjUjVjWj!c#c$c%c'c(cNlOl,e-e.e/e:e;e=e?e@e[e]e^e_e`e{e|ehmimjmkmXjYjZj0j?l@lwfxfyfcgdgegfggghgigjgkglgmgng5 6 7 OfPfQfzfAfBfwgxg8 9 ! 8d9d!d#d$d%d1j2j3j4jvlwlxlylzlAl5j6j7j8j9j!j#j$j# $ % s t u 0b1b2b%j'jBlCl(j)j*j+j,j-j.j/j:j;j=j?jDlElgdhdid3b4b5bvdwdxd)c*c+c,c-c.c6b7b8b/c:c;c9b!b#b? @ [ $b%b'b=c?c@c[c]c^c@j[j]j^j_j`j{j|j}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBk
753 kwargs["default"] = sa_default 2a |d'd(dIk%llmPlJkydKkLkMkxmCk7lmmEdNkymzmPmygzg(b)bFl}d~daebecedeeefe[l]lAgBg}eRfSfTfUfv Cf~eogw KdLdCgDgOkPkQkEgFgGgHgx g ] IgRkJgKgLgMgNgOgSk_c^ jd*b+b_ ,b` ' { -b.bPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g6g7gb ge)d*dTk'lnmQlUkzdVkWkXkAmDk8lomFdYkBmCmQm8g9g/b:b;b=bGlheiejekelemeneoe^l_l!g#g(lafbfVfWfXfYfZf0f1f2fy z DfEfcfdfpgA B MdNdOdPd$g%gZk0k1k'g(g)g*gC D h i | } +g2k,g-g.g/g:g;g3k`c{c~ abkdld?b@b[b]bbbcb^b_bdbeb( ) fbgb`b{b|b}b=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghc peqe+d,d-d.d4k)lpmRl5kAd6k7k8kDmEk9lqmGd9kEmFmRmhhihjhkh~bacbcccdcecHlIlreseteuevewexeyezeAeBeCeDeEeFeGe`l{l|l}llhmhnhoh*l+lefffgf3f4f5f6f7f8f9f!f#f$f%f'fE F G FfGfHfhfifjfqgrgH I J QdRdSdTdUdVdphqhrhsh!k#k$k%k'k(kthuhvhwhxhyhzhAhK L M j k l hbibjbBhCh)k*kDhEhFhGhHhIhJhKhLhMhNhOh+k,k|c}c~ckblbmbmdndodfcgchcicjckcnbobpblcmcncqbrbsb* + , tbubvbocpcqcrcsctcPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?hd HeIe/d:d;d=d-k,lrmSl.kBd/k:k;kGmFk!lsmHd=kHmImSm@h[h]h^hucvcwcxcyczcJlKlJeKeLeMeNeOePeQeReSeTeUeVeWeXeYe~lambmcm_h`h{h|h-l.lkflfmf(f)f*f+f,f-f.f/f:f;f=f?fN O P IfJfKfnfofpfsgtgQ R S WdXdYdZd0d1d}h~haibi?k@k[k]k^k_kcidieifigihiiijiT U V m n o wbxbybkili`k{kminioipiqirisitiuiviwixi|k}kadbdcdzbAbBbpdqdrdAcBcCcDcEcFcCbDbEbGcHcIcFbGbHb- . / IbJbKbJcKcLcMcNcOcyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i9ie Ze0e?d@d[d]d~k/ltmTlalCdblcldlJmGk#lumIdelKmLmTm!i#i$i%iPcQcRcScTcUcLlMl1e2e3e4e5e6e7e8e9e!e#e$e%e'e(e)edmemfmgm'i(i)i*i:l;lqfrfsf@f[f]f^f_f`f{f|f}f~fagbgW X Y LfMfNftfufvfugvgZ 0 1 2d3d4d5d6d7d+i,i-i.iflglhliljlkl/i:i;i=i?i@i[i]i2 3 4 p q r LbMbNb^i_illml`i{i|i}i~iajbjcjdjejfjgjnlolddedfdObPbQbsdtdudVcWcXcYcZc0cRbSbTb1c2c3cUbVbWb: ; = XbYbZb4c5c6c7c8c9chjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjf *e+e^d_d`d{dpl=lvmUlqlDdrlsltlMmHk$lwmJdulNmOmUmTjUjVjWj!c#c$c%c'c(cNlOl,e-e.e/e:e;e=e?e@e[e]e^e_e`e{e|ehmimjmkmXjYjZj0j?l@lwfxfyfcgdgegfggghgigjgkglgmgng5 6 7 OfPfQfzfAfBfwgxg8 9 ! 8d9d!d#d$d%d1j2j3j4jvlwlxlylzlAl5j6j7j8j9j!j#j$j# $ % s t u 0b1b2b%j'jBlCl(j)j*j+j,j-j.j/j:j;j=j?jDlElgdhdid3b4b5bvdwdxd)c*c+c,c-c.c6b7b8b/c:c;c9b!b#b? @ [ $b%b'b=c?c@c[c]c^c@j[j]j^j_j`j{j|j}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBk
754 sa_column_args = getattr(field_info, "sa_column_args", Undefined) 2a |d'd(dIkVlWl%llmPlJkydKkLkMkxmCk7lmmEdNkymzmPmygzg(b)bFl}d~daebecedeeefe[l]lAgBg}eRfSfTfUfv Cf~eogw KdLdCgDgOkPkQkEgFgGgHgx g ] IgRkJgKgLgMgNgOgSk_c^ jd*b+b_ ,b` ' { -b.bPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g6g7gb ge)d*dTkXlYl'lnmQlUkzdVkWkXkAmDk8lomFdYkBmCmQm8g9g/b:b;b=bGlheiejekelemeneoe^l_l!g#g(lafbfVfWfXfYfZf0f1f2fy z DfEfcfdfpgA B MdNdOdPd$g%gZk0k1k'g(g)g*gC D h i | } +g2k,g-g.g/g:g;g3k`c{c~ abkdld?b@b[b]bbbcb^b_bdbeb( ) fbgb`b{b|b}b=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghc peqe+d,d-d.d4kZl0l)lpmRl5kAd6k7k8kDmEk9lqmGd9kEmFmRmhhihjhkh~bacbcccdcecHlIlreseteuevewexeyezeAeBeCeDeEeFeGe`l{l|l}llhmhnhoh*l+lefffgf3f4f5f6f7f8f9f!f#f$f%f'fE F G FfGfHfhfifjfqgrgH I J QdRdSdTdUdVdphqhrhsh!k#k$k%k'k(kthuhvhwhxhyhzhAhK L M j k l hbibjbBhCh)k*kDhEhFhGhHhIhJhKhLhMhNhOh+k,k|c}c~ckblbmbmdndodfcgchcicjckcnbobpblcmcncqbrbsb* + , tbubvbocpcqcrcsctcPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?hd HeIe/d:d;d=d-k1l2l,lrmSl.kBd/k:k;kGmFk!lsmHd=kHmImSm@h[h]h^hucvcwcxcyczcJlKlJeKeLeMeNeOePeQeReSeTeUeVeWeXeYe~lambmcm_h`h{h|h-l.lkflfmf(f)f*f+f,f-f.f/f:f;f=f?fN O P IfJfKfnfofpfsgtgQ R S WdXdYdZd0d1d}h~haibi?k@k[k]k^k_kcidieifigihiiijiT U V m n o wbxbybkili`k{kminioipiqirisitiuiviwixi|k}kadbdcdzbAbBbpdqdrdAcBcCcDcEcFcCbDbEbGcHcIcFbGbHb- . / IbJbKbJcKcLcMcNcOcyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i9ie Ze0e?d@d[d]d~k3l4l/ltmTlalCdblcldlJmGk#lumIdelKmLmTm!i#i$i%iPcQcRcScTcUcLlMl1e2e3e4e5e6e7e8e9e!e#e$e%e'e(e)edmemfmgm'i(i)i*i:l;lqfrfsf@f[f]f^f_f`f{f|f}f~fagbgW X Y LfMfNftfufvfugvgZ 0 1 2d3d4d5d6d7d+i,i-i.iflglhliljlkl/i:i;i=i?i@i[i]i2 3 4 p q r LbMbNb^i_illml`i{i|i}i~iajbjcjdjejfjgjnlolddedfdObPbQbsdtdudVcWcXcYcZc0cRbSbTb1c2c3cUbVbWb: ; = XbYbZb4c5c6c7c8c9chjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjf *e+e^d_d`d{dpl5l6l=lvmUlqlDdrlsltlMmHk$lwmJdulNmOmUmTjUjVjWj!c#c$c%c'c(cNlOl,e-e.e/e:e;e=e?e@e[e]e^e_e`e{e|ehmimjmkmXjYjZj0j?l@lwfxfyfcgdgegfggghgigjgkglgmgng5 6 7 OfPfQfzfAfBfwgxg8 9 ! 8d9d!d#d$d%d1j2j3j4jvlwlxlylzlAl5j6j7j8j9j!j#j$j# $ % s t u 0b1b2b%j'jBlCl(j)j*j+j,j-j.j/j:j;j=j?jDlElgdhdid3b4b5bvdwdxd)c*c+c,c-c.c6b7b8b/c:c;c9b!b#b? @ [ $b%b'b=c?c@c[c]c^c@j[j]j^j_j`j{j|j}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBk
755 if sa_column_args is not Undefined: 2a |d'd(dIkVlWl%llmPlJkydKkLkMkxmCk7lmmEdNkymzmPmygzg(b)bFl}d~daebecedeeefe[l]lAgBg}eRfSfTfUfv Cf~eogw KdLdCgDgOkPkQkEgFgGgHgx g ] IgRkJgKgLgMgNgOgSk_c^ jd*b+b_ ,b` ' { -b.bPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g6g7gb ge)d*dTkXlYl'lnmQlUkzdVkWkXkAmDk8lomFdYkBmCmQm8g9g/b:b;b=bGlheiejekelemeneoe^l_l!g#g(lafbfVfWfXfYfZf0f1f2fy z DfEfcfdfpgA B MdNdOdPd$g%gZk0k1k'g(g)g*gC D h i | } +g2k,g-g.g/g:g;g3k`c{c~ abkdld?b@b[b]bbbcb^b_bdbeb( ) fbgb`b{b|b}b=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghc peqe+d,d-d.d4kZl0l)lpmRl5kAd6k7k8kDmEk9lqmGd9kEmFmRmhhihjhkh~bacbcccdcecHlIlreseteuevewexeyezeAeBeCeDeEeFeGe`l{l|l}llhmhnhoh*l+lefffgf3f4f5f6f7f8f9f!f#f$f%f'fE F G FfGfHfhfifjfqgrgH I J QdRdSdTdUdVdphqhrhsh!k#k$k%k'k(kthuhvhwhxhyhzhAhK L M j k l hbibjbBhCh)k*kDhEhFhGhHhIhJhKhLhMhNhOh+k,k|c}c~ckblbmbmdndodfcgchcicjckcnbobpblcmcncqbrbsb* + , tbubvbocpcqcrcsctcPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?hd HeIe/d:d;d=d-k1l2l,lrmSl.kBd/k:k;kGmFk!lsmHd=kHmImSm@h[h]h^hucvcwcxcyczcJlKlJeKeLeMeNeOePeQeReSeTeUeVeWeXeYe~lambmcm_h`h{h|h-l.lkflfmf(f)f*f+f,f-f.f/f:f;f=f?fN O P IfJfKfnfofpfsgtgQ R S WdXdYdZd0d1d}h~haibi?k@k[k]k^k_kcidieifigihiiijiT U V m n o wbxbybkili`k{kminioipiqirisitiuiviwixi|k}kadbdcdzbAbBbpdqdrdAcBcCcDcEcFcCbDbEbGcHcIcFbGbHb- . / IbJbKbJcKcLcMcNcOcyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i9ie Ze0e?d@d[d]d~k3l4l/ltmTlalCdblcldlJmGk#lumIdelKmLmTm!i#i$i%iPcQcRcScTcUcLlMl1e2e3e4e5e6e7e8e9e!e#e$e%e'e(e)edmemfmgm'i(i)i*i:l;lqfrfsf@f[f]f^f_f`f{f|f}f~fagbgW X Y LfMfNftfufvfugvgZ 0 1 2d3d4d5d6d7d+i,i-i.iflglhliljlkl/i:i;i=i?i@i[i]i2 3 4 p q r LbMbNb^i_illml`i{i|i}i~iajbjcjdjejfjgjnlolddedfdObPbQbsdtdudVcWcXcYcZc0cRbSbTb1c2c3cUbVbWb: ; = XbYbZb4c5c6c7c8c9chjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjf *e+e^d_d`d{dpl5l6l=lvmUlqlDdrlsltlMmHk$lwmJdulNmOmUmTjUjVjWj!c#c$c%c'c(cNlOl,e-e.e/e:e;e=e?e@e[e]e^e_e`e{e|ehmimjmkmXjYjZj0j?l@lwfxfyfcgdgegfggghgigjgkglgmgng5 6 7 OfPfQfzfAfBfwgxg8 9 ! 8d9d!d#d$d%d1j2j3j4jvlwlxlylzlAl5j6j7j8j9j!j#j$j# $ % s t u 0b1b2b%j'jBlCl(j)j*j+j,j-j.j/j:j;j=j?jDlElgdhdid3b4b5bvdwdxd)c*c+c,c-c.c6b7b8b/c:c;c9b!b#b? @ [ $b%b'b=c?c@c[c]c^c@j[j]j^j_j`j{j|j}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBk
756 args.extend(list(cast(Sequence[Any], sa_column_args))) 2%l'l)l,l/l=l
757 sa_column_kwargs = getattr(field_info, "sa_column_kwargs", Undefined) 2a |d'd(dIkVlWl%llmPlJkydKkLkMkxmCk7lmmEdNkymzmPmygzg(b)bFl}d~daebecedeeefe[l]lAgBg}eRfSfTfUfv Cf~eogw KdLdCgDgOkPkQkEgFgGgHgx g ] IgRkJgKgLgMgNgOgSk_c^ jd*b+b_ ,b` ' { -b.bPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g6g7gb ge)d*dTkXlYl'lnmQlUkzdVkWkXkAmDk8lomFdYkBmCmQm8g9g/b:b;b=bGlheiejekelemeneoe^l_l!g#g(lafbfVfWfXfYfZf0f1f2fy z DfEfcfdfpgA B MdNdOdPd$g%gZk0k1k'g(g)g*gC D h i | } +g2k,g-g.g/g:g;g3k`c{c~ abkdld?b@b[b]bbbcb^b_bdbeb( ) fbgb`b{b|b}b=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghc peqe+d,d-d.d4kZl0l)lpmRl5kAd6k7k8kDmEk9lqmGd9kEmFmRmhhihjhkh~bacbcccdcecHlIlreseteuevewexeyezeAeBeCeDeEeFeGe`l{l|l}llhmhnhoh*l+lefffgf3f4f5f6f7f8f9f!f#f$f%f'fE F G FfGfHfhfifjfqgrgH I J QdRdSdTdUdVdphqhrhsh!k#k$k%k'k(kthuhvhwhxhyhzhAhK L M j k l hbibjbBhCh)k*kDhEhFhGhHhIhJhKhLhMhNhOh+k,k|c}c~ckblbmbmdndodfcgchcicjckcnbobpblcmcncqbrbsb* + , tbubvbocpcqcrcsctcPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?hd HeIe/d:d;d=d-k1l2l,lrmSl.kBd/k:k;kGmFk!lsmHd=kHmImSm@h[h]h^hucvcwcxcyczcJlKlJeKeLeMeNeOePeQeReSeTeUeVeWeXeYe~lambmcm_h`h{h|h-l.lkflfmf(f)f*f+f,f-f.f/f:f;f=f?fN O P IfJfKfnfofpfsgtgQ R S WdXdYdZd0d1d}h~haibi?k@k[k]k^k_kcidieifigihiiijiT U V m n o wbxbybkili`k{kminioipiqirisitiuiviwixi|k}kadbdcdzbAbBbpdqdrdAcBcCcDcEcFcCbDbEbGcHcIcFbGbHb- . / IbJbKbJcKcLcMcNcOcyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i9ie Ze0e?d@d[d]d~k3l4l/ltmTlalCdblcldlJmGk#lumIdelKmLmTm!i#i$i%iPcQcRcScTcUcLlMl1e2e3e4e5e6e7e8e9e!e#e$e%e'e(e)edmemfmgm'i(i)i*i:l;lqfrfsf@f[f]f^f_f`f{f|f}f~fagbgW X Y LfMfNftfufvfugvgZ 0 1 2d3d4d5d6d7d+i,i-i.iflglhliljlkl/i:i;i=i?i@i[i]i2 3 4 p q r LbMbNb^i_illml`i{i|i}i~iajbjcjdjejfjgjnlolddedfdObPbQbsdtdudVcWcXcYcZc0cRbSbTb1c2c3cUbVbWb: ; = XbYbZb4c5c6c7c8c9chjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjf *e+e^d_d`d{dpl5l6l=lvmUlqlDdrlsltlMmHk$lwmJdulNmOmUmTjUjVjWj!c#c$c%c'c(cNlOl,e-e.e/e:e;e=e?e@e[e]e^e_e`e{e|ehmimjmkmXjYjZj0j?l@lwfxfyfcgdgegfggghgigjgkglgmgng5 6 7 OfPfQfzfAfBfwgxg8 9 ! 8d9d!d#d$d%d1j2j3j4jvlwlxlylzlAl5j6j7j8j9j!j#j$j# $ % s t u 0b1b2b%j'jBlCl(j)j*j+j,j-j.j/j:j;j=j?jDlElgdhdid3b4b5bvdwdxd)c*c+c,c-c.c6b7b8b/c:c;c9b!b#b? @ [ $b%b'b=c?c@c[c]c^c@j[j]j^j_j`j{j|j}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBk
758 if sa_column_kwargs is not Undefined: 2a |d'd(dIkVlWl%llmPlJkydKkLkMkxmCk7lmmEdNkymzmPmygzg(b)bFl}d~daebecedeeefe[l]lAgBg}eRfSfTfUfv Cf~eogw KdLdCgDgOkPkQkEgFgGgHgx g ] IgRkJgKgLgMgNgOgSk_c^ jd*b+b_ ,b` ' { -b.bPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g6g7gb ge)d*dTkXlYl'lnmQlUkzdVkWkXkAmDk8lomFdYkBmCmQm8g9g/b:b;b=bGlheiejekelemeneoe^l_l!g#g(lafbfVfWfXfYfZf0f1f2fy z DfEfcfdfpgA B MdNdOdPd$g%gZk0k1k'g(g)g*gC D h i | } +g2k,g-g.g/g:g;g3k`c{c~ abkdld?b@b[b]bbbcb^b_bdbeb( ) fbgb`b{b|b}b=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghc peqe+d,d-d.d4kZl0l)lpmRl5kAd6k7k8kDmEk9lqmGd9kEmFmRmhhihjhkh~bacbcccdcecHlIlreseteuevewexeyezeAeBeCeDeEeFeGe`l{l|l}llhmhnhoh*l+lefffgf3f4f5f6f7f8f9f!f#f$f%f'fE F G FfGfHfhfifjfqgrgH I J QdRdSdTdUdVdphqhrhsh!k#k$k%k'k(kthuhvhwhxhyhzhAhK L M j k l hbibjbBhCh)k*kDhEhFhGhHhIhJhKhLhMhNhOh+k,k|c}c~ckblbmbmdndodfcgchcicjckcnbobpblcmcncqbrbsb* + , tbubvbocpcqcrcsctcPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?hd HeIe/d:d;d=d-k1l2l,lrmSl.kBd/k:k;kGmFk!lsmHd=kHmImSm@h[h]h^hucvcwcxcyczcJlKlJeKeLeMeNeOePeQeReSeTeUeVeWeXeYe~lambmcm_h`h{h|h-l.lkflfmf(f)f*f+f,f-f.f/f:f;f=f?fN O P IfJfKfnfofpfsgtgQ R S WdXdYdZd0d1d}h~haibi?k@k[k]k^k_kcidieifigihiiijiT U V m n o wbxbybkili`k{kminioipiqirisitiuiviwixi|k}kadbdcdzbAbBbpdqdrdAcBcCcDcEcFcCbDbEbGcHcIcFbGbHb- . / IbJbKbJcKcLcMcNcOcyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i9ie Ze0e?d@d[d]d~k3l4l/ltmTlalCdblcldlJmGk#lumIdelKmLmTm!i#i$i%iPcQcRcScTcUcLlMl1e2e3e4e5e6e7e8e9e!e#e$e%e'e(e)edmemfmgm'i(i)i*i:l;lqfrfsf@f[f]f^f_f`f{f|f}f~fagbgW X Y LfMfNftfufvfugvgZ 0 1 2d3d4d5d6d7d+i,i-i.iflglhliljlkl/i:i;i=i?i@i[i]i2 3 4 p q r LbMbNb^i_illml`i{i|i}i~iajbjcjdjejfjgjnlolddedfdObPbQbsdtdudVcWcXcYcZc0cRbSbTb1c2c3cUbVbWb: ; = XbYbZb4c5c6c7c8c9chjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjf *e+e^d_d`d{dpl5l6l=lvmUlqlDdrlsltlMmHk$lwmJdulNmOmUmTjUjVjWj!c#c$c%c'c(cNlOl,e-e.e/e:e;e=e?e@e[e]e^e_e`e{e|ehmimjmkmXjYjZj0j?l@lwfxfyfcgdgegfggghgigjgkglgmgng5 6 7 OfPfQfzfAfBfwgxg8 9 ! 8d9d!d#d$d%d1j2j3j4jvlwlxlylzlAl5j6j7j8j9j!j#j$j# $ % s t u 0b1b2b%j'jBlCl(j)j*j+j,j-j.j/j:j;j=j?jDlElgdhdid3b4b5bvdwdxd)c*c+c,c-c.c6b7b8b/c:c;c9b!b#b? @ [ $b%b'b=c?c@c[c]c^c@j[j]j^j_j`j{j|j}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBk
759 kwargs.update(cast(Dict[Any, Any], sa_column_kwargs)) 2lmnmpmrmtmvm
760 return Column(sa_type, *args, **kwargs) # type: ignore 2a |d'd(dIkVlWl%llmPlJkydKkLkMkxmCk7lmmEdNkymzmPmygzg(b)bFl}d~daebecedeeefe[l]lAgBg}eRfSfTfUfv Cf~eogw KdLdCgDgOkPkQkEgFgGgHgx g ] IgRkJgKgLgMgNgOgSk_c^ jd*b+b_ ,b` ' { -b.bPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g6g7gb ge)d*dTkXlYl'lnmQlUkzdVkWkXkAmDk8lomFdYkBmCmQm8g9g/b:b;b=bGlheiejekelemeneoe^l_l!g#g(lafbfVfWfXfYfZf0f1f2fy z DfEfcfdfpgA B MdNdOdPd$g%gZk0k1k'g(g)g*gC D h i | } +g2k,g-g.g/g:g;g3k`c{c~ abkdld?b@b[b]bbbcb^b_bdbeb( ) fbgb`b{b|b}b=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghc peqe+d,d-d.d4kZl0l)lpmRl5kAd6k7k8kDmEk9lqmGd9kEmFmRmhhihjhkh~bacbcccdcecHlIlreseteuevewexeyezeAeBeCeDeEeFeGe`l{l|l}llhmhnhoh*l+lefffgf3f4f5f6f7f8f9f!f#f$f%f'fE F G FfGfHfhfifjfqgrgH I J QdRdSdTdUdVdphqhrhsh!k#k$k%k'k(kthuhvhwhxhyhzhAhK L M j k l hbibjbBhCh)k*kDhEhFhGhHhIhJhKhLhMhNhOh+k,k|c}c~ckblbmbmdndodfcgchcicjckcnbobpblcmcncqbrbsb* + , tbubvbocpcqcrcsctcPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?hd HeIe/d:d;d=d-k1l2l,lrmSl.kBd/k:k;kGmFk!lsmHd=kHmImSm@h[h]h^hucvcwcxcyczcJlKlJeKeLeMeNeOePeQeReSeTeUeVeWeXeYe~lambmcm_h`h{h|h-l.lkflfmf(f)f*f+f,f-f.f/f:f;f=f?fN O P IfJfKfnfofpfsgtgQ R S WdXdYdZd0d1d}h~haibi?k@k[k]k^k_kcidieifigihiiijiT U V m n o wbxbybkili`k{kminioipiqirisitiuiviwixi|k}kadbdcdzbAbBbpdqdrdAcBcCcDcEcFcCbDbEbGcHcIcFbGbHb- . / IbJbKbJcKcLcMcNcOcyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i9ie Ze0e?d@d[d]d~k3l4l/ltmTlalCdblcldlJmGk#lumIdelKmLmTm!i#i$i%iPcQcRcScTcUcLlMl1e2e3e4e5e6e7e8e9e!e#e$e%e'e(e)edmemfmgm'i(i)i*i:l;lqfrfsf@f[f]f^f_f`f{f|f}f~fagbgW X Y LfMfNftfufvfugvgZ 0 1 2d3d4d5d6d7d+i,i-i.iflglhliljlkl/i:i;i=i?i@i[i]i2 3 4 p q r LbMbNb^i_illml`i{i|i}i~iajbjcjdjejfjgjnlolddedfdObPbQbsdtdudVcWcXcYcZc0cRbSbTb1c2c3cUbVbWb: ; = XbYbZb4c5c6c7c8c9chjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjf *e+e^d_d`d{dpl5l6l=lvmUlqlDdrlsltlMmHk$lwmJdulNmOmUmTjUjVjWj!c#c$c%c'c(cNlOl,e-e.e/e:e;e=e?e@e[e]e^e_e`e{e|ehmimjmkmXjYjZj0j?l@lwfxfyfcgdgegfggghgigjgkglgmgng5 6 7 OfPfQfzfAfBfwgxg8 9 ! 8d9d!d#d$d%d1j2j3j4jvlwlxlylzlAl5j6j7j8j9j!j#j$j# $ % s t u 0b1b2b%j'jBlCl(j)j*j+j,j-j.j/j:j;j=j?jDlElgdhdid3b4b5bvdwdxd)c*c+c,c-c.c6b7b8b/c:c;c9b!b#b? @ [ $b%b'b=c?c@c[c]c^c@j[j]j^j_j`j{j|j}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBk
763class_registry = weakref.WeakValueDictionary() # type: ignore 1abcdef
765default_registry = registry() 1abcdef
767_TSQLModel = TypeVar("_TSQLModel", bound="SQLModel") 1abcdef
770class SQLModel(BaseModel, metaclass=SQLModelMetaclass, registry=default_registry): 1abcdef
771 # SQLAlchemy needs to set weakref(s), Pydantic will set the other slots values
772 __slots__ = ("__weakref__",) 1abcdef
773 __tablename__: ClassVar[Union[str, Callable[..., str]]] 1abcdef
774 __sqlmodel_relationships__: ClassVar[Dict[str, RelationshipProperty[Any]]] 1abcdef
775 __name__: ClassVar[str] 1abcdef
776 metadata: ClassVar[MetaData] 1abcdef
777 __allow_unmapped__ = True # https://docs.sqlalchemy.org/en/20/changelog/migration_20.html#migration-20-step-six 1abcdef
779 if IS_PYDANTIC_V2: 1abcdef
780 model_config = SQLModelConfig(from_attributes=True) 1abcdef
781 else:
783 class Config: 1abcdef
784 orm_mode = True 1abcdef
786 def __new__(cls, *args: Any, **kwargs: Any) -> Any: 1abcdef
787 new_object = super().__new__(cls) 2yq#nzqAq|p$n%nKn'n(n)n*n+n,n|d'd(dIk[pmqnq7mJk8mydKkLkMkCk9m!m1mNkygzg(b)b}d~daebecedeeefeAgBg-n.n/n:n;n=n}eRfSfTfUfv Cf~eogw KdLdCgDgOkPkQkEgFgGgHgx g ] IgRkJgKgLgMgNgOgSk_c^ *b+b_ ,b` ' { -b.bPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g6g7gan_mBq?nCqDq}p@n[nLn]n^n_n`n{n|nEq}nFqGq~p~naoMnbocodoeofogoge)d*dTk]poqpq#mUk$mzdVkWkXkDk%m'm2mYk8g9g/b:b;b=bheiejekelemeneoe!g#ghoiojokolomoafbfVfWfXfYfZf0f1f2fy z DfEfcfdfpgA B MdNdOdPd$g%gZk0k1k'g(g)g*gC D h i | } +g2k,g-g.g/g:g;g3k`c{c~ ab?b@b[b]bbbcb^b_bdbeb( ) fbgb`b{b|b}b=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghbn`mHqnoIqJqaqoopoNnqorosotouovoKqwoLqMqbqxoyoOnzoAoBoCoDoEoNqFoOqPqcqGoHoPnIoJoKoLoMoNopeqe+d,d-d.d4k^pqqrq(m5k)mAd6k7k8kEk*m+m3m9khhihjhkh~bacbcccdcecreseteuevewexeyezeAeBeCeDeEeFeGelhmhnhohOoPoQoRoSoToefffgf3f4f5f6f7f8f9f!f#f$f%f'fE F G FfGfHfhfifjfqgrgH I J QdRdSdTdUdVdphqhrhsh!k#k$k%k'k(kthuhvhwhxhyhzhAhK L M j k l hbibjbBhCh)k*kDhEhFhGhHhIhJhKhLhMhNhOh+k,k|c}c~ckblbmbfcgchcicjckcnbobpblcmcncqbrbsb* + , tbubvbocpcqcrcsctcPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?hcn{mQqUoRqSqdqVoWoQnXoYoZo0o1o2oTq3oUqVqeq4o5oRn6o7o8o9o!o#oWq$oXqYqfq%o'oSn(o)o*o+o,o-oHeIe/d:d;d=d-k_psqtq,m.k-mBd/k:k;kFk.m/m4m=k@h[h]h^hucvcwcxcyczcJeKeLeMeNeOePeQeReSeTeUeVeWeXeYe_h`h{h|h.o/o:o;o=o?okflfmf(f)f*f+f,f-f.f/f:f;f=f?fN O P IfJfKfnfofpfsgtgQ R S WdXdYdZd0d1d}h~haibi?k@k[k]k^k_kcidieifigihiiijiT U V m n o wbxbybkili`k{kminioipiqirisitiuiviwixi|k}kadbdcdzbAbBbAcBcCcDcEcFcCbDbEbGcHcIcFbGbHb- . / IbJbKbJcKcLcMcNcOcyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i9idn|mZq@o0q1qgq[o]oTn^o_o`o{o|o}o2q~o3q4qhqapbpUncpdpepfpgphp5qip6q7qiqjpkpVnlpmpnpopppqpZe0e?d@d[d]d~k`puqvq:mal;mCdblcldlGk=m?m5mel!i#i$i%iPcQcRcScTcUc1e2e3e4e5e6e7e8e9e!e#e$e%e'e(e)e'i(i)i*irpsptpupvpwpqfrfsf@f[f]f^f_f`f{f|f}f~fagbgW X Y LfMfNftfufvfugvgZ 0 1 2d3d4d5d6d7d+i,i-i.iflglhliljlkl/i:i;i=i?i@i[i]i2 3 4 p q r LbMbNb^i_illml`i{i|i}i~iajbjcjdjejfjgjnlolddedfdObPbQbVcWcXcYcZc0cRbSbTb1c2c3cUbVbWb: ; = XbYbZb4c5c6c7c8c9chjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjen}m8qxp9q!qjqypzpWnApBpCpDpEpFp#qGp$q%qkqHpIpXnJpKpLpMpNpOp'qPp(q)qlqQpRpYnSpTpUpVpWpXp*e+e^d_d`d{dpl{pwqxq@mql[mDdrlsltlHk]m^m6mulTjUjVjWj!c#c$c%c'c(c,e-e.e/e:e;e=e?e@e[e]e^e_e`e{e|eXjYjZj0jYpZp0p1p2p3pwfxfyfcgdgegfggghgigjgkglgmgng5 6 7 OfPfQfzfAfBfwgxg8 9 ! 8d9d!d#d$d%d1j2j3j4jvlwlxlylzlAl5j6j7j8j9j!j#j$j# $ % s t u 0b1b2b%j'jBlCl(j)j*j+j,j-j.j/j:j;j=j?jDlElgdhdid3b4b5b)c*c+c,c-c.c6b7b8b/c:c;c9b!b#b? @ [ $b%b'b=c?c@c[c]c^c@j[j]j^j_j`j{j|j}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkfn~m
788 # SQLAlchemy doesn't call __init__ on the base class when querying from DB
789 # Ref: https://docs.sqlalchemy.org/en/14/orm/constructors.html
790 # Set __fields_set__ here, that would have been set when calling __init__
791 # in the Pydantic model so that when SQLAlchemy sets attributes that are
792 # added (e.g. when querying from DB) to the __fields_set__, this already exists
793 init_pydantic_private_attrs(new_object) 2yq#nzqAq|p$n%nKn'n(n)n*n+n,n|d'd(dIk[pmqnq7mJk8mydKkLkMkCk9m!m1mNkygzg(b)b}d~daebecedeeefeAgBg-n.n/n:n;n=n}eRfSfTfUfv Cf~eogw KdLdCgDgOkPkQkEgFgGgHgx g ] IgRkJgKgLgMgNgOgSk_c^ *b+b_ ,b` ' { -b.bPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g6g7gan_mBq?nCqDq}p@n[nLn]n^n_n`n{n|nEq}nFqGq~p~naoMnbocodoeofogoge)d*dTk]poqpq#mUk$mzdVkWkXkDk%m'm2mYk8g9g/b:b;b=bheiejekelemeneoe!g#ghoiojokolomoafbfVfWfXfYfZf0f1f2fy z DfEfcfdfpgA B MdNdOdPd$g%gZk0k1k'g(g)g*gC D h i | } +g2k,g-g.g/g:g;g3k`c{c~ ab?b@b[b]bbbcb^b_bdbeb( ) fbgb`b{b|b}b=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghbn`mHqnoIqJqaqoopoNnqorosotouovoKqwoLqMqbqxoyoOnzoAoBoCoDoEoNqFoOqPqcqGoHoPnIoJoKoLoMoNopeqe+d,d-d.d4k^pqqrq(m5k)mAd6k7k8kEk*m+m3m9khhihjhkh~bacbcccdcecreseteuevewexeyezeAeBeCeDeEeFeGelhmhnhohOoPoQoRoSoToefffgf3f4f5f6f7f8f9f!f#f$f%f'fE F G FfGfHfhfifjfqgrgH I J QdRdSdTdUdVdphqhrhsh!k#k$k%k'k(kthuhvhwhxhyhzhAhK L M j k l hbibjbBhCh)k*kDhEhFhGhHhIhJhKhLhMhNhOh+k,k|c}c~ckblbmbfcgchcicjckcnbobpblcmcncqbrbsb* + , tbubvbocpcqcrcsctcPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?hcn{mQqUoRqSqdqVoWoQnXoYoZo0o1o2oTq3oUqVqeq4o5oRn6o7o8o9o!o#oWq$oXqYqfq%o'oSn(o)o*o+o,o-oHeIe/d:d;d=d-k_psqtq,m.k-mBd/k:k;kFk.m/m4m=k@h[h]h^hucvcwcxcyczcJeKeLeMeNeOePeQeReSeTeUeVeWeXeYe_h`h{h|h.o/o:o;o=o?okflfmf(f)f*f+f,f-f.f/f:f;f=f?fN O P IfJfKfnfofpfsgtgQ R S WdXdYdZd0d1d}h~haibi?k@k[k]k^k_kcidieifigihiiijiT U V m n o wbxbybkili`k{kminioipiqirisitiuiviwixi|k}kadbdcdzbAbBbAcBcCcDcEcFcCbDbEbGcHcIcFbGbHb- . / IbJbKbJcKcLcMcNcOcyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i9idn|mZq@o0q1qgq[o]oTn^o_o`o{o|o}o2q~o3q4qhqapbpUncpdpepfpgphp5qip6q7qiqjpkpVnlpmpnpopppqpZe0e?d@d[d]d~k`puqvq:mal;mCdblcldlGk=m?m5mel!i#i$i%iPcQcRcScTcUc1e2e3e4e5e6e7e8e9e!e#e$e%e'e(e)e'i(i)i*irpsptpupvpwpqfrfsf@f[f]f^f_f`f{f|f}f~fagbgW X Y LfMfNftfufvfugvgZ 0 1 2d3d4d5d6d7d+i,i-i.iflglhliljlkl/i:i;i=i?i@i[i]i2 3 4 p q r LbMbNb^i_illml`i{i|i}i~iajbjcjdjejfjgjnlolddedfdObPbQbVcWcXcYcZc0cRbSbTb1c2c3cUbVbWb: ; = XbYbZb4c5c6c7c8c9chjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjen}m8qxp9q!qjqypzpWnApBpCpDpEpFp#qGp$q%qkqHpIpXnJpKpLpMpNpOp'qPp(q)qlqQpRpYnSpTpUpVpWpXp*e+e^d_d`d{dpl{pwqxq@mql[mDdrlsltlHk]m^m6mulTjUjVjWj!c#c$c%c'c(c,e-e.e/e:e;e=e?e@e[e]e^e_e`e{e|eXjYjZj0jYpZp0p1p2p3pwfxfyfcgdgegfggghgigjgkglgmgng5 6 7 OfPfQfzfAfBfwgxg8 9 ! 8d9d!d#d$d%d1j2j3j4jvlwlxlylzlAl5j6j7j8j9j!j#j$j# $ % s t u 0b1b2b%j'jBlCl(j)j*j+j,j-j.j/j:j;j=j?jDlElgdhdid3b4b5b)c*c+c,c-c.c6b7b8b/c:c;c9b!b#b? @ [ $b%b'b=c?c@c[c]c^c@j[j]j^j_j`j{j|j}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkfn~m
794 return new_object 2yq#nzqAq|p$n%nKn'n(n)n*n+n,n|d'd(dIk[pmqnq7mJk8mydKkLkMkCk9m!m1mNkygzg(b)b}d~daebecedeeefeAgBg-n.n/n:n;n=n}eRfSfTfUfv Cf~eogw KdLdCgDgOkPkQkEgFgGgHgx g ] IgRkJgKgLgMgNgOgSk_c^ *b+b_ ,b` ' { -b.bPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g6g7gan_mBq?nCqDq}p@n[nLn]n^n_n`n{n|nEq}nFqGq~p~naoMnbocodoeofogoge)d*dTk]poqpq#mUk$mzdVkWkXkDk%m'm2mYk8g9g/b:b;b=bheiejekelemeneoe!g#ghoiojokolomoafbfVfWfXfYfZf0f1f2fy z DfEfcfdfpgA B MdNdOdPd$g%gZk0k1k'g(g)g*gC D h i | } +g2k,g-g.g/g:g;g3k`c{c~ ab?b@b[b]bbbcb^b_bdbeb( ) fbgb`b{b|b}b=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghbn`mHqnoIqJqaqoopoNnqorosotouovoKqwoLqMqbqxoyoOnzoAoBoCoDoEoNqFoOqPqcqGoHoPnIoJoKoLoMoNopeqe+d,d-d.d4k^pqqrq(m5k)mAd6k7k8kEk*m+m3m9khhihjhkh~bacbcccdcecreseteuevewexeyezeAeBeCeDeEeFeGelhmhnhohOoPoQoRoSoToefffgf3f4f5f6f7f8f9f!f#f$f%f'fE F G FfGfHfhfifjfqgrgH I J QdRdSdTdUdVdphqhrhsh!k#k$k%k'k(kthuhvhwhxhyhzhAhK L M j k l hbibjbBhCh)k*kDhEhFhGhHhIhJhKhLhMhNhOh+k,k|c}c~ckblbmbfcgchcicjckcnbobpblcmcncqbrbsb* + , tbubvbocpcqcrcsctcPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?hcn{mQqUoRqSqdqVoWoQnXoYoZo0o1o2oTq3oUqVqeq4o5oRn6o7o8o9o!o#oWq$oXqYqfq%o'oSn(o)o*o+o,o-oHeIe/d:d;d=d-k_psqtq,m.k-mBd/k:k;kFk.m/m4m=k@h[h]h^hucvcwcxcyczcJeKeLeMeNeOePeQeReSeTeUeVeWeXeYe_h`h{h|h.o/o:o;o=o?okflfmf(f)f*f+f,f-f.f/f:f;f=f?fN O P IfJfKfnfofpfsgtgQ R S WdXdYdZd0d1d}h~haibi?k@k[k]k^k_kcidieifigihiiijiT U V m n o wbxbybkili`k{kminioipiqirisitiuiviwixi|k}kadbdcdzbAbBbAcBcCcDcEcFcCbDbEbGcHcIcFbGbHb- . / IbJbKbJcKcLcMcNcOcyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i9idn|mZq@o0q1qgq[o]oTn^o_o`o{o|o}o2q~o3q4qhqapbpUncpdpepfpgphp5qip6q7qiqjpkpVnlpmpnpopppqpZe0e?d@d[d]d~k`puqvq:mal;mCdblcldlGk=m?m5mel!i#i$i%iPcQcRcScTcUc1e2e3e4e5e6e7e8e9e!e#e$e%e'e(e)e'i(i)i*irpsptpupvpwpqfrfsf@f[f]f^f_f`f{f|f}f~fagbgW X Y LfMfNftfufvfugvgZ 0 1 2d3d4d5d6d7d+i,i-i.iflglhliljlkl/i:i;i=i?i@i[i]i2 3 4 p q r LbMbNb^i_illml`i{i|i}i~iajbjcjdjejfjgjnlolddedfdObPbQbVcWcXcYcZc0cRbSbTb1c2c3cUbVbWb: ; = XbYbZb4c5c6c7c8c9chjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjen}m8qxp9q!qjqypzpWnApBpCpDpEpFp#qGp$q%qkqHpIpXnJpKpLpMpNpOp'qPp(q)qlqQpRpYnSpTpUpVpWpXp*e+e^d_d`d{dpl{pwqxq@mql[mDdrlsltlHk]m^m6mulTjUjVjWj!c#c$c%c'c(c,e-e.e/e:e;e=e?e@e[e]e^e_e`e{e|eXjYjZj0jYpZp0p1p2p3pwfxfyfcgdgegfggghgigjgkglgmgng5 6 7 OfPfQfzfAfBfwgxg8 9 ! 8d9d!d#d$d%d1j2j3j4jvlwlxlylzlAl5j6j7j8j9j!j#j$j# $ % s t u 0b1b2b%j'jBlCl(j)j*j+j,j-j.j/j:j;j=j?jDlElgdhdid3b4b5b)c*c+c,c-c.c6b7b8b/c:c;c9b!b#b? @ [ $b%b'b=c?c@c[c]c^c@j[j]j^j_j`j{j|j}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkfn~m
796 def __init__(__pydantic_self__, **data: Any) -> None: 1abcdef
797 # Uses something other than `self` the first arg to allow "self" as a
798 # settable attribute
800 # SQLAlchemy does very dark black magic and modifies the __init__ method in
801 # sqlalchemy.orm.instrumentation._generate_init()
802 # so, to make SQLAlchemy work, it's needed to explicitly call __init__ to
803 # trigger all the SQLAlchemy logic, it doesn't work using cls.__new__, setting
804 # attributes obj.__dict__, etc. The __init__ method has to be called. But
805 # there are cases where calling all the default logic is not ideal, e.g.
806 # when calling Model.model_validate(), as the validation is done outside
807 # of instance creation.
808 # At the same time, __init__ is what users would normally call, by creating
809 # a new instance, which should have validation and all the default logic.
810 # So, to be able to set up the internal SQLAlchemy logic alone without
811 # executing the rest, and support things like Model.model_validate(), we
812 # use a contextvar to know if we should execute everything.
813 if finish_init.get(): 2yq#nzqAq|p$n%nKn'n(n)n*n+n,n|d'd(dIk[pmq7mJk8mydKkLkMkCk9m!m1mNkygzg(b)b}d~daebecedeeefeAgBg-n.n/n:n;n=n}eRfSfTfUfv Cf~eogw KdLdCgDgOkPkQkEgFgGgHgx g ] IgRkJgKgLgMgNgOgSk_c^ *b+b_ ,b` ' { -b.bPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g6g7ganBq?nCqDq}p@n[nLn]n^n_n`n{n|nEq}nFqGq~p~naoMnbocodoeofogoge)d*dTk]poq#mUk$mzdVkWkXkDk%m'm2mYk8g9g/b:b;b=bheiejekelemeneoe!g#ghoiojokolomoafbfVfWfXfYfZf0f1f2fy z DfEfcfdfpgA B MdNdOdPd$g%gZk0k1k'g(g)g*gC D h i | } +g2k,g-g.g/g:g;g3k`c{c~ ab?b@b[b]bbbcb^b_bdbeb( ) fbgb`b{b|b}b=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghbnHqnoIqJqaqoopoNnqorosotouovoKqwoLqMqbqxoyoOnzoAoBoCoDoEoNqFoOqPqcqGoHoPnIoJoKoLoMoNopeqe+d,d-d.d4k^pqq(m5k)mAd6k7k8kEk*m+m3m9khhihjhkh~bacbcccdcecreseteuevewexeyezeAeBeCeDeEeFeGelhmhnhohOoPoQoRoSoToefffgf3f4f5f6f7f8f9f!f#f$f%f'fE F G FfGfHfhfifjfqgrgH I J QdRdSdTdUdVdphqhrhsh!k#k$k%k'k(kthuhvhwhxhyhzhAhK L M j k l hbibjbBhCh)k*kDhEhFhGhHhIhJhKhLhMhNhOh+k,k|c}c~ckblbmbfcgchcicjckcnbobpblcmcncqbrbsb* + , tbubvbocpcqcrcsctcPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?hcnQqUoRqSqdqVoWoQnXoYoZo0o1o2oTq3oUqVqeq4o5oRn6o7o8o9o!o#oWq$oXqYqfq%o'oSn(o)o*o+o,o-oHeIe/d:d;d=d-k_psq,m.k-mBd/k:k;kFk.m/m4m=k@h[h]h^hucvcwcxcyczcJeKeLeMeNeOePeQeReSeTeUeVeWeXeYe_h`h{h|h.o/o:o;o=o?okflfmf(f)f*f+f,f-f.f/f:f;f=f?fN O P IfJfKfnfofpfsgtgQ R S WdXdYdZd0d1d}h~haibi?k@k[k]k^k_kcidieifigihiiijiT U V m n o wbxbybkili`k{kminioipiqirisitiuiviwixi|k}kadbdcdzbAbBbAcBcCcDcEcFcCbDbEbGcHcIcFbGbHb- . / IbJbKbJcKcLcMcNcOcyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i9idnZq@o0q1qgq[o]oTn^o_o`o{o|o}o2q~o3q4qhqapbpUncpdpepfpgphp5qip6q7qiqjpkpVnlpmpnpopppqpZe0e?d@d[d]d~k`puq:mal;mCdblcldlGk=m?m5mel!i#i$i%iPcQcRcScTcUc1e2e3e4e5e6e7e8e9e!e#e$e%e'e(e)e'i(i)i*irpsptpupvpwpqfrfsf@f[f]f^f_f`f{f|f}f~fagbgW X Y LfMfNftfufvfugvgZ 0 1 2d3d4d5d6d7d+i,i-i.iflglhliljlkl/i:i;i=i?i@i[i]i2 3 4 p q r LbMbNb^i_illml`i{i|i}i~iajbjcjdjejfjgjnlolddedfdObPbQbVcWcXcYcZc0cRbSbTb1c2c3cUbVbWb: ; = XbYbZb4c5c6c7c8c9chjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjen8qxp9q!qjqypzpWnApBpCpDpEpFp#qGp$q%qkqHpIpXnJpKpLpMpNpOp'qPp(q)qlqQpRpYnSpTpUpVpWpXp*e+e^d_d`d{dpl{pwq@mql[mDdrlsltlHk]m^m6mulTjUjVjWj!c#c$c%c'c(c,e-e.e/e:e;e=e?e@e[e]e^e_e`e{e|eXjYjZj0jYpZp0p1p2p3pwfxfyfcgdgegfggghgigjgkglgmgng5 6 7 OfPfQfzfAfBfwgxg8 9 ! 8d9d!d#d$d%d1j2j3j4jvlwlxlylzlAl5j6j7j8j9j!j#j$j# $ % s t u 0b1b2b%j'jBlCl(j)j*j+j,j-j.j/j:j;j=j?jDlElgdhdid3b4b5b)c*c+c,c-c.c6b7b8b/c:c;c9b!b#b? @ [ $b%b'b=c?c@c[c]c^c@j[j]j^j_j`j{j|j}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkfn
814 sqlmodel_init(self=__pydantic_self__, data=data) 2yq#nzqAq|p$n%nKn'n(n)n*n+n,n|d'd(dIk[pmq7mJk8mydKkLkMkCk9m!m1mNkygzg(b)b}d~daebecedeeefeAgBg-n.n/n:n;n=n}eRfSfTfUfv Cf~eogw KdLdCgDgOkPkQkEgFgGgHgx g ] IgRkJgKgLgMgNgOgSk_c^ *b+b_ ,b` ' { -b.bPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g6g7ganBq?nCqDq}p@n[nLn]n^n_n`n{n|nEq}nFqGq~p~naoMnbocodoeofogoge)d*dTk]poq#mUk$mzdVkWkXkDk%m'm2mYk8g9g/b:b;b=bheiejekelemeneoe!g#ghoiojokolomoafbfVfWfXfYfZf0f1f2fy z DfEfcfdfpgA B MdNdOdPd$g%gZk0k1k'g(g)g*gC D h i | } +g2k,g-g.g/g:g;g3k`c{c~ ab?b@b[b]bbbcb^b_bdbeb( ) fbgb`b{b|b}b=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghbnHqnoIqJqaqoopoNnqorosotouovoKqwoLqMqbqxoyoOnzoAoBoCoDoEoNqFoOqPqcqGoHoPnIoJoKoLoMoNopeqe+d,d-d.d4k^pqq(m5k)mAd6k7k8kEk*m+m3m9khhihjhkh~bacbcccdcecreseteuevewexeyezeAeBeCeDeEeFeGelhmhnhohOoPoQoRoSoToefffgf3f4f5f6f7f8f9f!f#f$f%f'fE F G FfGfHfhfifjfqgrgH I J QdRdSdTdUdVdphqhrhsh!k#k$k%k'k(kthuhvhwhxhyhzhAhK L M j k l hbibjbBhCh)k*kDhEhFhGhHhIhJhKhLhMhNhOh+k,k|c}c~ckblbmbfcgchcicjckcnbobpblcmcncqbrbsb* + , tbubvbocpcqcrcsctcPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?hcnQqUoRqSqdqVoWoQnXoYoZo0o1o2oTq3oUqVqeq4o5oRn6o7o8o9o!o#oWq$oXqYqfq%o'oSn(o)o*o+o,o-oHeIe/d:d;d=d-k_psq,m.k-mBd/k:k;kFk.m/m4m=k@h[h]h^hucvcwcxcyczcJeKeLeMeNeOePeQeReSeTeUeVeWeXeYe_h`h{h|h.o/o:o;o=o?okflfmf(f)f*f+f,f-f.f/f:f;f=f?fN O P IfJfKfnfofpfsgtgQ R S WdXdYdZd0d1d}h~haibi?k@k[k]k^k_kcidieifigihiiijiT U V m n o wbxbybkili`k{kminioipiqirisitiuiviwixi|k}kadbdcdzbAbBbAcBcCcDcEcFcCbDbEbGcHcIcFbGbHb- . / IbJbKbJcKcLcMcNcOcyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i9idnZq@o0q1qgq[o]oTn^o_o`o{o|o}o2q~o3q4qhqapbpUncpdpepfpgphp5qip6q7qiqjpkpVnlpmpnpopppqpZe0e?d@d[d]d~k`puq:mal;mCdblcldlGk=m?m5mel!i#i$i%iPcQcRcScTcUc1e2e3e4e5e6e7e8e9e!e#e$e%e'e(e)e'i(i)i*irpsptpupvpwpqfrfsf@f[f]f^f_f`f{f|f}f~fagbgW X Y LfMfNftfufvfugvgZ 0 1 2d3d4d5d6d7d+i,i-i.iflglhliljlkl/i:i;i=i?i@i[i]i2 3 4 p q r LbMbNb^i_illml`i{i|i}i~iajbjcjdjejfjgjnlolddedfdObPbQbVcWcXcYcZc0cRbSbTb1c2c3cUbVbWb: ; = XbYbZb4c5c6c7c8c9chjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjen8qxp9q!qjqypzpWnApBpCpDpEpFp#qGp$q%qkqHpIpXnJpKpLpMpNpOp'qPp(q)qlqQpRpYnSpTpUpVpWpXp*e+e^d_d`d{dpl{pwq@mql[mDdrlsltlHk]m^m6mulTjUjVjWj!c#c$c%c'c(c,e-e.e/e:e;e=e?e@e[e]e^e_e`e{e|eXjYjZj0jYpZp0p1p2p3pwfxfyfcgdgegfggghgigjgkglgmgng5 6 7 OfPfQfzfAfBfwgxg8 9 ! 8d9d!d#d$d%d1j2j3j4jvlwlxlylzlAl5j6j7j8j9j!j#j$j# $ % s t u 0b1b2b%j'jBlCl(j)j*j+j,j-j.j/j:j;j=j?jDlElgdhdid3b4b5b)c*c+c,c-c.c6b7b8b/c:c;c9b!b#b? @ [ $b%b'b=c?c@c[c]c^c@j[j]j^j_j`j{j|j}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkfn
816 def __setattr__(self, name: str, value: Any) -> None: 1abcdef
817 if name in {"_sa_instance_state"}: 2#n|p$n%nKn'n(n)n*n+n,n|d'd(dIkmqnqJkydKkLkMkCkNkygzg(b)b}d~daebecedeeefeAgBg-n.n/n:n;n=n}eRfSfTfUfv Cf~eogw KdLdCgDgOkPkQkEgFgGgHgx g ] IgRkJgKgLgMgNgOgSk_c^ *b+b_ ,b` ' { -b.bPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g6g7g_m?n}p@n[nLn]n^n_n`n{n|n}n~p~naoMnbocodoeofogoge)d*dTkoqpqUkzdVkWkXkDkYk8g9g/b:b;b=bheiejekelemeneoe!g#ghoiojokolomoafbfVfWfXfYfZf0f1f2fy z DfEfcfdfpgA B MdNdOdPd$g%gZk0k1k'g(g)g*gC D h i | } +g2k,g-g.g/g:g;g3k`c{c~ ab?b@b[b]bbbcb^b_bdbeb( ) fbgb`b{b|b}b=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhgh`mnoaqoopoNnqorosotouovowobqxoyoOnzoAoBoCoDoEoFocqGoHoPnIoJoKoLoMoNopeqe+d,d-d.d4kqqrq5kAd6k7k8kEk9khhihjhkh~bacbcccdcecreseteuevewexeyezeAeBeCeDeEeFeGelhmhnhohOoPoQoRoSoToefffgf3f4f5f6f7f8f9f!f#f$f%f'fE F G FfGfHfhfifjfqgrgH I J QdRdSdTdUdVdphqhrhsh!k#k$k%k'k(kthuhvhwhxhyhzhAhK L M j k l hbibjbBhCh)k*kDhEhFhGhHhIhJhKhLhMhNhOh+k,k|c}c~ckblbmbfcgchcicjckcnbobpblcmcncqbrbsb* + , tbubvbocpcqcrcsctcPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?h{mUodqVoWoQnXoYoZo0o1o2o3oeq4o5oRn6o7o8o9o!o#o$ofq%o'oSn(o)o*o+o,o-oHeIe/d:d;d=d-ksqtq.kBd/k:k;kFk=k@h[h]h^hucvcwcxcyczcJeKeLeMeNeOePeQeReSeTeUeVeWeXeYe_h`h{h|h.o/o:o;o=o?okflfmf(f)f*f+f,f-f.f/f:f;f=f?fN O P IfJfKfnfofpfsgtgQ R S WdXdYdZd0d1d}h~haibi?k@k[k]k^k_kcidieifigihiiijiT U V m n o wbxbybkili`k{kminioipiqirisitiuiviwixi|k}kadbdcdzbAbBbAcBcCcDcEcFcCbDbEbGcHcIcFbGbHb- . / IbJbKbJcKcLcMcNcOcyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i9i|m@ogq[o]oTn^o_o`o{o|o}o~ohqapbpUncpdpepfpgphpipiqjpkpVnlpmpnpopppqpZe0e?d@d[d]d~kuqvqalCdblcldlGkel!i#i$i%iPcQcRcScTcUc1e2e3e4e5e6e7e8e9e!e#e$e%e'e(e)e'i(i)i*irpsptpupvpwpqfrfsf@f[f]f^f_f`f{f|f}f~fagbgW X Y LfMfNftfufvfugvgZ 0 1 2d3d4d5d6d7d+i,i-i.iflglhliljlkl/i:i;i=i?i@i[i]i2 3 4 p q r LbMbNb^i_illml`i{i|i}i~iajbjcjdjejfjgjnlolddedfdObPbQbVcWcXcYcZc0cRbSbTb1c2c3cUbVbWb: ; = XbYbZb4c5c6c7c8c9chjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSj}mxpjqypzpWnApBpCpDpEpFpGpkqHpIpXnJpKpLpMpNpOpPplqQpRpYnSpTpUpVpWpXp*e+e^d_d`d{dplwqxqqlDdrlsltlHkulTjUjVjWj!c#c$c%c'c(c,e-e.e/e:e;e=e?e@e[e]e^e_e`e{e|eXjYjZj0jYpZp0p1p2p3pwfxfyfcgdgegfggghgigjgkglgmgng5 6 7 OfPfQfzfAfBfwgxg8 9 ! 8d9d!d#d$d%d1j2j3j4jvlwlxlylzlAl5j6j7j8j9j!j#j$j# $ % s t u 0b1b2b%j'jBlCl(j)j*j+j,j-j.j/j:j;j=j?jDlElgdhdid3b4b5b)c*c+c,c-c.c6b7b8b/c:c;c9b!b#b? @ [ $b%b'b=c?c@c[c]c^c@j[j]j^j_j`j{j|j}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBk~m
818 self.__dict__[name] = value 2#n|p$n%nKn'n(n)n*n+n,n|d'd(dIkJkydKkLkMkCkNkygzg(b)b}d~daebecedeeefeAgBg-n.n/n:n;n=n}eRfSfTfUfv Cf~eogw KdLdCgDgOkPkQkEgFgGgHgx g ] IgRkJgKgLgMgNgOgSk_c^ *b+b_ ,b` ' { -b.bPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g6g7g?n}p@n[nLn]n^n_n`n{n|n}n~p~naoMnbocodoeofogoge)d*dTkUkzdVkWkXkDkYk8g9g/b:b;b=bheiejekelemeneoe!g#ghoiojokolomoafbfVfWfXfYfZf0f1f2fy z DfEfcfdfpgA B MdNdOdPd$g%gZk0k1k'g(g)g*gC D h i | } +g2k,g-g.g/g:g;g3k`c{c~ ab?b@b[b]bbbcb^b_bdbeb( ) fbgb`b{b|b}b=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghnoaqoopoNnqorosotouovowobqxoyoOnzoAoBoCoDoEoFocqGoHoPnIoJoKoLoMoNopeqe+d,d-d.d4k5kAd6k7k8kEk9khhihjhkh~bacbcccdcecreseteuevewexeyezeAeBeCeDeEeFeGelhmhnhohOoPoQoRoSoToefffgf3f4f5f6f7f8f9f!f#f$f%f'fE F G FfGfHfhfifjfqgrgH I J QdRdSdTdUdVdphqhrhsh!k#k$k%k'k(kthuhvhwhxhyhzhAhK L M j k l hbibjbBhCh)k*kDhEhFhGhHhIhJhKhLhMhNhOh+k,k|c}c~ckblbmbfcgchcicjckcnbobpblcmcncqbrbsb* + , tbubvbocpcqcrcsctcPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?hUodqVoWoQnXoYoZo0o1o2o3oeq4o5oRn6o7o8o9o!o#o$ofq%o'oSn(o)o*o+o,o-oHeIe/d:d;d=d-k.kBd/k:k;kFk=k@h[h]h^hucvcwcxcyczcJeKeLeMeNeOePeQeReSeTeUeVeWeXeYe_h`h{h|h.o/o:o;o=o?okflfmf(f)f*f+f,f-f.f/f:f;f=f?fN O P IfJfKfnfofpfsgtgQ R S WdXdYdZd0d1d}h~haibi?k@k[k]k^k_kcidieifigihiiijiT U V m n o wbxbybkili`k{kminioipiqirisitiuiviwixi|k}kadbdcdzbAbBbAcBcCcDcEcFcCbDbEbGcHcIcFbGbHb- . / IbJbKbJcKcLcMcNcOcyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i9i@ogq[o]oTn^o_o`o{o|o}o~ohqapbpUncpdpepfpgphpipiqjpkpVnlpmpnpopppqpZe0e?d@d[d]d~kalCdblcldlGkel!i#i$i%iPcQcRcScTcUc1e2e3e4e5e6e7e8e9e!e#e$e%e'e(e)e'i(i)i*irpsptpupvpwpqfrfsf@f[f]f^f_f`f{f|f}f~fagbgW X Y LfMfNftfufvfugvgZ 0 1 2d3d4d5d6d7d+i,i-i.iflglhliljlkl/i:i;i=i?i@i[i]i2 3 4 p q r LbMbNb^i_illml`i{i|i}i~iajbjcjdjejfjgjnlolddedfdObPbQbVcWcXcYcZc0cRbSbTb1c2c3cUbVbWb: ; = XbYbZb4c5c6c7c8c9chjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjxpjqypzpWnApBpCpDpEpFpGpkqHpIpXnJpKpLpMpNpOpPplqQpRpYnSpTpUpVpWpXp*e+e^d_d`d{dplqlDdrlsltlHkulTjUjVjWj!c#c$c%c'c(c,e-e.e/e:e;e=e?e@e[e]e^e_e`e{e|eXjYjZj0jYpZp0p1p2p3pwfxfyfcgdgegfggghgigjgkglgmgng5 6 7 OfPfQfzfAfBfwgxg8 9 ! 8d9d!d#d$d%d1j2j3j4jvlwlxlylzlAl5j6j7j8j9j!j#j$j# $ % s t u 0b1b2b%j'jBlCl(j)j*j+j,j-j.j/j:j;j=j?jDlElgdhdid3b4b5b)c*c+c,c-c.c6b7b8b/c:c;c9b!b#b? @ [ $b%b'b=c?c@c[c]c^c@j[j]j^j_j`j{j|j}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBk
819 return 2#n|p$n%nKn'n(n)n*n+n,n|d'd(dIkJkydKkLkMkCkNkygzg(b)b}d~daebecedeeefeAgBg-n.n/n:n;n=n}eRfSfTfUfv Cf~eogw KdLdCgDgOkPkQkEgFgGgHgx g ] IgRkJgKgLgMgNgOgSk_c^ *b+b_ ,b` ' { -b.bPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g6g7g?n}p@n[nLn]n^n_n`n{n|n}n~p~naoMnbocodoeofogoge)d*dTkUkzdVkWkXkDkYk8g9g/b:b;b=bheiejekelemeneoe!g#ghoiojokolomoafbfVfWfXfYfZf0f1f2fy z DfEfcfdfpgA B MdNdOdPd$g%gZk0k1k'g(g)g*gC D h i | } +g2k,g-g.g/g:g;g3k`c{c~ ab?b@b[b]bbbcb^b_bdbeb( ) fbgb`b{b|b}b=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghnoaqoopoNnqorosotouovowobqxoyoOnzoAoBoCoDoEoFocqGoHoPnIoJoKoLoMoNopeqe+d,d-d.d4k5kAd6k7k8kEk9khhihjhkh~bacbcccdcecreseteuevewexeyezeAeBeCeDeEeFeGelhmhnhohOoPoQoRoSoToefffgf3f4f5f6f7f8f9f!f#f$f%f'fE F G FfGfHfhfifjfqgrgH I J QdRdSdTdUdVdphqhrhsh!k#k$k%k'k(kthuhvhwhxhyhzhAhK L M j k l hbibjbBhCh)k*kDhEhFhGhHhIhJhKhLhMhNhOh+k,k|c}c~ckblbmbfcgchcicjckcnbobpblcmcncqbrbsb* + , tbubvbocpcqcrcsctcPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?hUodqVoWoQnXoYoZo0o1o2o3oeq4o5oRn6o7o8o9o!o#o$ofq%o'oSn(o)o*o+o,o-oHeIe/d:d;d=d-k.kBd/k:k;kFk=k@h[h]h^hucvcwcxcyczcJeKeLeMeNeOePeQeReSeTeUeVeWeXeYe_h`h{h|h.o/o:o;o=o?okflfmf(f)f*f+f,f-f.f/f:f;f=f?fN O P IfJfKfnfofpfsgtgQ R S WdXdYdZd0d1d}h~haibi?k@k[k]k^k_kcidieifigihiiijiT U V m n o wbxbybkili`k{kminioipiqirisitiuiviwixi|k}kadbdcdzbAbBbAcBcCcDcEcFcCbDbEbGcHcIcFbGbHb- . / IbJbKbJcKcLcMcNcOcyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i9i@ogq[o]oTn^o_o`o{o|o}o~ohqapbpUncpdpepfpgphpipiqjpkpVnlpmpnpopppqpZe0e?d@d[d]d~kalCdblcldlGkel!i#i$i%iPcQcRcScTcUc1e2e3e4e5e6e7e8e9e!e#e$e%e'e(e)e'i(i)i*irpsptpupvpwpqfrfsf@f[f]f^f_f`f{f|f}f~fagbgW X Y LfMfNftfufvfugvgZ 0 1 2d3d4d5d6d7d+i,i-i.iflglhliljlkl/i:i;i=i?i@i[i]i2 3 4 p q r LbMbNb^i_illml`i{i|i}i~iajbjcjdjejfjgjnlolddedfdObPbQbVcWcXcYcZc0cRbSbTb1c2c3cUbVbWb: ; = XbYbZb4c5c6c7c8c9chjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjxpjqypzpWnApBpCpDpEpFpGpkqHpIpXnJpKpLpMpNpOpPplqQpRpYnSpTpUpVpWpXp*e+e^d_d`d{dplqlDdrlsltlHkulTjUjVjWj!c#c$c%c'c(c,e-e.e/e:e;e=e?e@e[e]e^e_e`e{e|eXjYjZj0jYpZp0p1p2p3pwfxfyfcgdgegfggghgigjgkglgmgng5 6 7 OfPfQfzfAfBfwgxg8 9 ! 8d9d!d#d$d%d1j2j3j4jvlwlxlylzlAl5j6j7j8j9j!j#j$j# $ % s t u 0b1b2b%j'jBlCl(j)j*j+j,j-j.j/j:j;j=j?jDlElgdhdid3b4b5b)c*c+c,c-c.c6b7b8b/c:c;c9b!b#b? @ [ $b%b'b=c?c@c[c]c^c@j[j]j^j_j`j{j|j}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBk
820 else:
821 # Set in SQLAlchemy, before Pydantic to trigger events and updates
822 if is_table_model_class(self.__class__) and is_instrumented(self, name): # type: ignore[no-untyped-call] 2#n|p$n%nKn'n(n)n*n+n,n|d'd(dIkmqnqJkydKkLkMkCkNkygzg(b)b}d~daebecedeeefeAgBg-n.n/n:n;n=n}eRfSfTfUfv Cf~eogw KdLdCgDgOkPkQkEgFgGgHgx g ] IgRkJgKgLgMgNgOgSk_c^ *b+b_ ,b` ' { -b.bPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g6g7g_m?n}p@n[nLn]n^n_n`n{n|n}n~p~naoMnbocodoeofogoge)d*dTkoqpqUkzdVkWkXkDkYk8g9g/b:b;b=bheiejekelemeneoe!g#ghoiojokolomoafbfVfWfXfYfZf0f1f2fy z DfEfcfdfpgA B MdNdOdPd$g%gZk0k1k'g(g)g*gC D h i | } +g2k,g-g.g/g:g;g3k`c{c~ ab?b@b[b]bbbcb^b_bdbeb( ) fbgb`b{b|b}b=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhgh`mnoaqoopoNnqorosotouovowobqxoyoOnzoAoBoCoDoEoFocqGoHoPnIoJoKoLoMoNopeqe+d,d-d.d4kqqrq5kAd6k7k8kEk9khhihjhkh~bacbcccdcecreseteuevewexeyezeAeBeCeDeEeFeGelhmhnhohOoPoQoRoSoToefffgf3f4f5f6f7f8f9f!f#f$f%f'fE F G FfGfHfhfifjfqgrgH I J QdRdSdTdUdVdphqhrhsh!k#k$k%k'k(kthuhvhwhxhyhzhAhK L M j k l hbibjbBhCh)k*kDhEhFhGhHhIhJhKhLhMhNhOh+k,k|c}c~ckblbmbfcgchcicjckcnbobpblcmcncqbrbsb* + , tbubvbocpcqcrcsctcPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?h{mUodqVoWoQnXoYoZo0o1o2o3oeq4o5oRn6o7o8o9o!o#o$ofq%o'oSn(o)o*o+o,o-oHeIe/d:d;d=d-ksqtq.kBd/k:k;kFk=k@h[h]h^hucvcwcxcyczcJeKeLeMeNeOePeQeReSeTeUeVeWeXeYe_h`h{h|h.o/o:o;o=o?okflfmf(f)f*f+f,f-f.f/f:f;f=f?fN O P IfJfKfnfofpfsgtgQ R S WdXdYdZd0d1d}h~haibi?k@k[k]k^k_kcidieifigihiiijiT U V m n o wbxbybkili`k{kminioipiqirisitiuiviwixi|k}kadbdcdzbAbBbAcBcCcDcEcFcCbDbEbGcHcIcFbGbHb- . / IbJbKbJcKcLcMcNcOcyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i9i|m@ogq[o]oTn^o_o`o{o|o}o~ohqapbpUncpdpepfpgphpipiqjpkpVnlpmpnpopppqpZe0e?d@d[d]d~kuqvqalCdblcldlGkel!i#i$i%iPcQcRcScTcUc1e2e3e4e5e6e7e8e9e!e#e$e%e'e(e)e'i(i)i*irpsptpupvpwpqfrfsf@f[f]f^f_f`f{f|f}f~fagbgW X Y LfMfNftfufvfugvgZ 0 1 2d3d4d5d6d7d+i,i-i.iflglhliljlkl/i:i;i=i?i@i[i]i2 3 4 p q r LbMbNb^i_illml`i{i|i}i~iajbjcjdjejfjgjnlolddedfdObPbQbVcWcXcYcZc0cRbSbTb1c2c3cUbVbWb: ; = XbYbZb4c5c6c7c8c9chjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSj}mxpjqypzpWnApBpCpDpEpFpGpkqHpIpXnJpKpLpMpNpOpPplqQpRpYnSpTpUpVpWpXp*e+e^d_d`d{dplwqxqqlDdrlsltlHkulTjUjVjWj!c#c$c%c'c(c,e-e.e/e:e;e=e?e@e[e]e^e_e`e{e|eXjYjZj0jYpZp0p1p2p3pwfxfyfcgdgegfggghgigjgkglgmgng5 6 7 OfPfQfzfAfBfwgxg8 9 ! 8d9d!d#d$d%d1j2j3j4jvlwlxlylzlAl5j6j7j8j9j!j#j$j# $ % s t u 0b1b2b%j'jBlCl(j)j*j+j,j-j.j/j:j;j=j?jDlElgdhdid3b4b5b)c*c+c,c-c.c6b7b8b/c:c;c9b!b#b? @ [ $b%b'b=c?c@c[c]c^c@j[j]j^j_j`j{j|j}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBk~m
823 set_attribute(self, name, value) 2#n|p$n%nKn'n(n)n*n+n,n|d'd(dIkJkydKkLkMkCkNkygzg(b)b}d~daebecedeeefeAgBg-n.n/n:n;n=n}eRfSfTfUfv Cf~eogw KdLdCgDgOkPkQkEgFgGgHgx g ] IgRkJgKgLgMgNgOgSk_c^ *b+b_ ,b` ' { -b.bPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g6g7g?n}p@n[nLn]n^n_n`n{n|n}n~p~naoMnbocodoeofogoge)d*dTkUkzdVkWkXkDkYk8g9g/b:b;b=bheiejekelemeneoe!g#ghoiojokolomoafbfVfWfXfYfZf0f1f2fy z DfEfcfdfpgA B MdNdOdPd$g%gZk0k1k'g(g)g*gC D h i | } +g2k,g-g.g/g:g;g3k`c{c~ ab?b@b[b]bbbcb^b_bdbeb( ) fbgb`b{b|b}b=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghnoaqoopoNnqorosotouovowobqxoyoOnzoAoBoCoDoEoFocqGoHoPnIoJoKoLoMoNopeqe+d,d-d.d4k5kAd6k7k8kEk9khhihjhkh~bacbcccdcecreseteuevewexeyezeAeBeCeDeEeFeGelhmhnhohOoPoQoRoSoToefffgf3f4f5f6f7f8f9f!f#f$f%f'fE F G FfGfHfhfifjfqgrgH I J QdRdSdTdUdVdphqhrhsh!k#k$k%k'k(kthuhvhwhxhyhzhAhK L M j k l hbibjbBhCh)k*kDhEhFhGhHhIhJhKhLhMhNhOh+k,k|c}c~ckblbmbfcgchcicjckcnbobpblcmcncqbrbsb* + , tbubvbocpcqcrcsctcPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?hUodqVoWoQnXoYoZo0o1o2o3oeq4o5oRn6o7o8o9o!o#o$ofq%o'oSn(o)o*o+o,o-oHeIe/d:d;d=d-k.kBd/k:k;kFk=k@h[h]h^hucvcwcxcyczcJeKeLeMeNeOePeQeReSeTeUeVeWeXeYe_h`h{h|h.o/o:o;o=o?okflfmf(f)f*f+f,f-f.f/f:f;f=f?fN O P IfJfKfnfofpfsgtgQ R S WdXdYdZd0d1d}h~haibi?k@k[k]k^k_kcidieifigihiiijiT U V m n o wbxbybkili`k{kminioipiqirisitiuiviwixi|k}kadbdcdzbAbBbAcBcCcDcEcFcCbDbEbGcHcIcFbGbHb- . / IbJbKbJcKcLcMcNcOcyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i9i@ogq[o]oTn^o_o`o{o|o}o~ohqapbpUncpdpepfpgphpipiqjpkpVnlpmpnpopppqpZe0e?d@d[d]d~kalCdblcldlGkel!i#i$i%iPcQcRcScTcUc1e2e3e4e5e6e7e8e9e!e#e$e%e'e(e)e'i(i)i*irpsptpupvpwpqfrfsf@f[f]f^f_f`f{f|f}f~fagbgW X Y LfMfNftfufvfugvgZ 0 1 2d3d4d5d6d7d+i,i-i.iflglhliljlkl/i:i;i=i?i@i[i]i2 3 4 p q r LbMbNb^i_illml`i{i|i}i~iajbjcjdjejfjgjnlolddedfdObPbQbVcWcXcYcZc0cRbSbTb1c2c3cUbVbWb: ; = XbYbZb4c5c6c7c8c9chjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjxpjqypzpWnApBpCpDpEpFpGpkqHpIpXnJpKpLpMpNpOpPplqQpRpYnSpTpUpVpWpXp*e+e^d_d`d{dplqlDdrlsltlHkulTjUjVjWj!c#c$c%c'c(c,e-e.e/e:e;e=e?e@e[e]e^e_e`e{e|eXjYjZj0jYpZp0p1p2p3pwfxfyfcgdgegfggghgigjgkglgmgng5 6 7 OfPfQfzfAfBfwgxg8 9 ! 8d9d!d#d$d%d1j2j3j4jvlwlxlylzlAl5j6j7j8j9j!j#j$j# $ % s t u 0b1b2b%j'jBlCl(j)j*j+j,j-j.j/j:j;j=j?jDlElgdhdid3b4b5b)c*c+c,c-c.c6b7b8b/c:c;c9b!b#b? @ [ $b%b'b=c?c@c[c]c^c@j[j]j^j_j`j{j|j}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBk
824 # Set in Pydantic model to trigger possible validation changes, only for
825 # non relationship values
826 if name not in self.__sqlmodel_relationships__: 2#n|p$n%nKn'n(n)n*n+n,n|d'd(dIkmqnqJkydKkLkMkCkNkygzg(b)b}d~daebecedeeefeAgBg-n.n/n:n;n=n}eRfSfTfUfv Cf~eogw KdLdCgDgOkPkQkEgFgGgHgx g ] IgRkJgKgLgMgNgOgSk_c^ *b+b_ ,b` ' { -b.bPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g6g7g_m?n}p@n[nLn]n^n_n`n{n|n}n~p~naoMnbocodoeofogoge)d*dTkoqpqUkzdVkWkXkDkYk8g9g/b:b;b=bheiejekelemeneoe!g#ghoiojokolomoafbfVfWfXfYfZf0f1f2fy z DfEfcfdfpgA B MdNdOdPd$g%gZk0k1k'g(g)g*gC D h i | } +g2k,g-g.g/g:g;g3k`c{c~ ab?b@b[b]bbbcb^b_bdbeb( ) fbgb`b{b|b}b=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhgh`mnoaqoopoNnqorosotouovowobqxoyoOnzoAoBoCoDoEoFocqGoHoPnIoJoKoLoMoNopeqe+d,d-d.d4kqqrq5kAd6k7k8kEk9khhihjhkh~bacbcccdcecreseteuevewexeyezeAeBeCeDeEeFeGelhmhnhohOoPoQoRoSoToefffgf3f4f5f6f7f8f9f!f#f$f%f'fE F G FfGfHfhfifjfqgrgH I J QdRdSdTdUdVdphqhrhsh!k#k$k%k'k(kthuhvhwhxhyhzhAhK L M j k l hbibjbBhCh)k*kDhEhFhGhHhIhJhKhLhMhNhOh+k,k|c}c~ckblbmbfcgchcicjckcnbobpblcmcncqbrbsb* + , tbubvbocpcqcrcsctcPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?h{mUodqVoWoQnXoYoZo0o1o2o3oeq4o5oRn6o7o8o9o!o#o$ofq%o'oSn(o)o*o+o,o-oHeIe/d:d;d=d-ksqtq.kBd/k:k;kFk=k@h[h]h^hucvcwcxcyczcJeKeLeMeNeOePeQeReSeTeUeVeWeXeYe_h`h{h|h.o/o:o;o=o?okflfmf(f)f*f+f,f-f.f/f:f;f=f?fN O P IfJfKfnfofpfsgtgQ R S WdXdYdZd0d1d}h~haibi?k@k[k]k^k_kcidieifigihiiijiT U V m n o wbxbybkili`k{kminioipiqirisitiuiviwixi|k}kadbdcdzbAbBbAcBcCcDcEcFcCbDbEbGcHcIcFbGbHb- . / IbJbKbJcKcLcMcNcOcyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i9i|m@ogq[o]oTn^o_o`o{o|o}o~ohqapbpUncpdpepfpgphpipiqjpkpVnlpmpnpopppqpZe0e?d@d[d]d~kuqvqalCdblcldlGkel!i#i$i%iPcQcRcScTcUc1e2e3e4e5e6e7e8e9e!e#e$e%e'e(e)e'i(i)i*irpsptpupvpwpqfrfsf@f[f]f^f_f`f{f|f}f~fagbgW X Y LfMfNftfufvfugvgZ 0 1 2d3d4d5d6d7d+i,i-i.iflglhliljlkl/i:i;i=i?i@i[i]i2 3 4 p q r LbMbNb^i_illml`i{i|i}i~iajbjcjdjejfjgjnlolddedfdObPbQbVcWcXcYcZc0cRbSbTb1c2c3cUbVbWb: ; = XbYbZb4c5c6c7c8c9chjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSj}mxpjqypzpWnApBpCpDpEpFpGpkqHpIpXnJpKpLpMpNpOpPplqQpRpYnSpTpUpVpWpXp*e+e^d_d`d{dplwqxqqlDdrlsltlHkulTjUjVjWj!c#c$c%c'c(c,e-e.e/e:e;e=e?e@e[e]e^e_e`e{e|eXjYjZj0jYpZp0p1p2p3pwfxfyfcgdgegfggghgigjgkglgmgng5 6 7 OfPfQfzfAfBfwgxg8 9 ! 8d9d!d#d$d%d1j2j3j4jvlwlxlylzlAl5j6j7j8j9j!j#j$j# $ % s t u 0b1b2b%j'jBlCl(j)j*j+j,j-j.j/j:j;j=j?jDlElgdhdid3b4b5b)c*c+c,c-c.c6b7b8b/c:c;c9b!b#b? @ [ $b%b'b=c?c@c[c]c^c@j[j]j^j_j`j{j|j}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBk~m
827 super().__setattr__(name, value) 2#n|p$n%nKn'n(n)n*n+n,n|d'd(dIkmqnqJkydKkLkMkCkNkygzg(b)b}d~daebecedeeefeAgBg-n.n/n:n;n=n}eRfSfTfUfv Cf~eogw KdLdCgDgOkPkQkEgFgGgHgx g ] IgRkJgKgLgMgNgOgSk_c^ *b+b_ ,b` ' { -b.bPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g6g7g_m?n}p@n[nLn]n^n_n`n{n|n}n~p~naoMnbocodoeofogoge)d*dTkoqpqUkzdVkWkXkDkYk8g9g/b:b;b=bheiejekelemeneoe!g#ghoiojokolomoafbfVfWfXfYfZf0f1f2fy z DfEfcfdfpgA B MdNdOdPd$g%gZk0k1k'g(g)g*gC D h i | } +g2k,g-g.g/g:g;g3k`c{c~ ab?b@b[b]bbbcb^b_bdbeb( ) fbgb`b{b|b}b=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhgh`mnoaqoopoNnqorosotouovowobqxoyoOnzoAoBoCoDoEoFocqGoHoPnIoJoKoLoMoNopeqe+d,d-d.d4kqqrq5kAd6k7k8kEk9khhihjhkh~bacbcccdcecreseteuevewexeyezeAeBeCeDeEeFeGelhmhnhohOoPoQoRoSoToefffgf3f4f5f6f7f8f9f!f#f$f%f'fE F G FfGfHfhfifjfqgrgH I J QdRdSdTdUdVdphqhrhsh!k#k$k%k'k(kthuhvhwhxhyhzhAhK L M j k l hbibjbBhCh)k*kDhEhFhGhHhIhJhKhLhMhNhOh+k,k|c}c~ckblbmbfcgchcicjckcnbobpblcmcncqbrbsb* + , tbubvbocpcqcrcsctcPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?h{mUodqVoWoQnXoYoZo0o1o2o3oeq4o5oRn6o7o8o9o!o#o$ofq%o'oSn(o)o*o+o,o-oHeIe/d:d;d=d-ksqtq.kBd/k:k;kFk=k@h[h]h^hucvcwcxcyczcJeKeLeMeNeOePeQeReSeTeUeVeWeXeYe_h`h{h|h.o/o:o;o=o?okflfmf(f)f*f+f,f-f.f/f:f;f=f?fN O P IfJfKfnfofpfsgtgQ R S WdXdYdZd0d1d}h~haibi?k@k[k]k^k_kcidieifigihiiijiT U V m n o wbxbybkili`k{kminioipiqirisitiuiviwixi|k}kadbdcdzbAbBbAcBcCcDcEcFcCbDbEbGcHcIcFbGbHb- . / IbJbKbJcKcLcMcNcOcyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i9i|m@ogq[o]oTn^o_o`o{o|o}o~ohqapbpUncpdpepfpgphpipiqjpkpVnlpmpnpopppqpZe0e?d@d[d]d~kuqvqalCdblcldlGkel!i#i$i%iPcQcRcScTcUc1e2e3e4e5e6e7e8e9e!e#e$e%e'e(e)e'i(i)i*irpsptpupvpwpqfrfsf@f[f]f^f_f`f{f|f}f~fagbgW X Y LfMfNftfufvfugvgZ 0 1 2d3d4d5d6d7d+i,i-i.iflglhliljlkl/i:i;i=i?i@i[i]i2 3 4 p q r LbMbNb^i_illml`i{i|i}i~iajbjcjdjejfjgjnlolddedfdObPbQbVcWcXcYcZc0cRbSbTb1c2c3cUbVbWb: ; = XbYbZb4c5c6c7c8c9chjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSj}mxpjqypzpWnApBpCpDpEpFpGpkqHpIpXnJpKpLpMpNpOpPplqQpRpYnSpTpUpVpWpXp*e+e^d_d`d{dplwqxqqlDdrlsltlHkulTjUjVjWj!c#c$c%c'c(c,e-e.e/e:e;e=e?e@e[e]e^e_e`e{e|eXjYjZj0jYpZp0p1p2p3pwfxfyfcgdgegfggghgigjgkglgmgng5 6 7 OfPfQfzfAfBfwgxg8 9 ! 8d9d!d#d$d%d1j2j3j4jvlwlxlylzlAl5j6j7j8j9j!j#j$j# $ % s t u 0b1b2b%j'jBlCl(j)j*j+j,j-j.j/j:j;j=j?jDlElgdhdid3b4b5b)c*c+c,c-c.c6b7b8b/c:c;c9b!b#b? @ [ $b%b'b=c?c@c[c]c^c@j[j]j^j_j`j{j|j}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBk~m
829 def __repr_args__(self) -> Sequence[Tuple[Optional[str], Any]]: 1abcdef
830 # Don't show SQLAlchemy private attributes
831 return [ 21m' 2m( ) 3m* + , 4m- . / 5m: ; = 6m? @ [
832 (k, v)
833 for k, v in super().__repr_args__()
834 if not (isinstance(k, str) and k.startswith("_sa_"))
835 ]
837 @declared_attr # type: ignore 1abcdef
838 def __tablename__(cls) -> str: 1abcdef
839 return cls.__name__.lower() 2a *q|d'd(dIkVlWl%llmPlVmJkydKkLkMkCk7lmmEdNkygzg(b)bFl}d~daebecedeeefe[l]lAgBg}eRfSfTfUfv Cf~eogw KdLdCgDgOkPkQkEgFgGgHgx g ] IgRkJgKgLgMgNgOgSk_c^ jd*b+b_ ,b` ' { -b.bPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g6g7gb +q,qge)d*dTkXlYl'lnmQlWmUkzdVkWkXkDk8lomFdYk8g9g/b:b;b=bGlheiejekelemeneoe^l_l!g#g(lafbfVfWfXfYfZf0f1f2fy z DfEfcfdfpgA B MdNdOdPd$g%gZk0k1k'g(g)g*gC D h i | } +g2k,g-g.g/g:g;g3k`c{c~ abkdld?b@b[b]bbbcb^b_bdbeb( ) fbgb`b{b|b}b=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghc -q.q/qpeqe+d,d-d.d4kZl0l)lpmRlXm5kAd6k7k8kEk9lqmGd9khhihjhkh~bacbcccdcecHlIlreseteuevewexeyezeAeBeCeDeEeFeGe`l{l|l}llhmhnhoh*l+lefffgf3f4f5f6f7f8f9f!f#f$f%f'fE F G FfGfHfhfifjfqgrgH I J QdRdSdTdUdVdphqhrhsh!k#k$k%k'k(kthuhvhwhxhyhzhAhK L M j k l hbibjbBhCh)k*kDhEhFhGhHhIhJhKhLhMhNhOh+k,k|c}c~ckblbmbmdndodfcgchcicjckcnbobpblcmcncqbrbsb* + , tbubvbocpcqcrcsctcPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?hd :q;q=qHeIe/d:d;d=d-k1l2l,lrmSlYm.kBd/k:k;kFk!lsmHd=k@h[h]h^hucvcwcxcyczcJlKlJeKeLeMeNeOePeQeReSeTeUeVeWeXeYe~lambmcm_h`h{h|h-l.lkflfmf(f)f*f+f,f-f.f/f:f;f=f?fN O P IfJfKfnfofpfsgtgQ R S WdXdYdZd0d1d}h~haibi?k@k[k]k^k_kcidieifigihiiijiT U V m n o wbxbybkili`k{kminioipiqirisitiuiviwixi|k}kadbdcdzbAbBbpdqdrdAcBcCcDcEcFcCbDbEbGcHcIcFbGbHb- . / IbJbKbJcKcLcMcNcOcyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i9ie ?q@q[qZe0e?d@d[d]d~k3l4l/ltmTlZmalCdblcldlGk#lumIdel!i#i$i%iPcQcRcScTcUcLlMl1e2e3e4e5e6e7e8e9e!e#e$e%e'e(e)edmemfmgm'i(i)i*i:l;lqfrfsf@f[f]f^f_f`f{f|f}f~fagbgW X Y LfMfNftfufvfugvgZ 0 1 2d3d4d5d6d7d+i,i-i.iflglhliljlkl/i:i;i=i?i@i[i]i2 3 4 p q r LbMbNb^i_illml`i{i|i}i~iajbjcjdjejfjgjnlolddedfdObPbQbsdtdudVcWcXcYcZc0cRbSbTb1c2c3cUbVbWb: ; = XbYbZb4c5c6c7c8c9chjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjf ]q^q_q*e+e^d_d`d{dpl5l6l=lvmUl0mqlDdrlsltlHk$lwmJdulTjUjVjWj!c#c$c%c'c(cNlOl,e-e.e/e:e;e=e?e@e[e]e^e_e`e{e|ehmimjmkmXjYjZj0j?l@lwfxfyfcgdgegfggghgigjgkglgmgng5 6 7 OfPfQfzfAfBfwgxg8 9 ! 8d9d!d#d$d%d1j2j3j4jvlwlxlylzlAl5j6j7j8j9j!j#j$j# $ % s t u 0b1b2b%j'jBlCl(j)j*j+j,j-j.j/j:j;j=j?jDlElgdhdid3b4b5bvdwdxd)c*c+c,c-c.c6b7b8b/c:c;c9b!b#b? @ [ $b%b'b=c?c@c[c]c^c@j[j]j^j_j`j{j|j}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBk
841 @classmethod 1abcdef
842 def model_validate( 1abcdef
843 cls: Type[_TSQLModel],
844 obj: Any,
845 *,
846 strict: Union[bool, None] = None,
847 from_attributes: Union[bool, None] = None,
848 context: Union[Dict[str, Any], None] = None,
849 update: Union[Dict[str, Any], None] = None,
850 ) -> _TSQLModel:
851 return sqlmodel_validate( 2#n$n%nKn'n(n)n*n+n,nmqnq-n.n/n:n;n=n}eRfSfTfUfv Cf~ew KdLd_m?n@n[nLn]n^n_n`n{n|n}n~naoMnbocodoeofogooqpqhoiojokolomoafbfVfWfXfYfZf0f1f2fy z DfEfcfdfA B MdNdOdPd`mnooopoNnqorosotouovowoxoyoOnzoAoBoCoDoEoFoGoHoPnIoJoKoLoMoNoqqrqOoPoQoRoSoToefffgf3f4f5f6f7f8f9f!f#f$f%f'fE F G FfGfHfhfifjfH I J QdRdSdTdUdVd{mUoVoWoQnXoYoZo0o1o2o3o4o5oRn6o7o8o9o!o#o$o%o'oSn(o)o*o+o,o-osqtq.o/o:o;o=o?okflfmf(f)f*f+f,f-f.f/f:f;f=f?fN O P IfJfKfnfofpfQ R S WdXdYdZd0d1d|m@o[o]oTn^o_o`o{o|o}o~oapbpUncpdpepfpgphpipjpkpVnlpmpnpopppqpuqvqrpsptpupvpwpqfrfsf@f[f]f^f_f`f{f|f}f~fagbgW X Y LfMfNftfufvfZ 0 1 2d3d4d5d6d7d}mxpypzpWnApBpCpDpEpFpGpHpIpXnJpKpLpMpNpOpPpQpRpYnSpTpUpVpWpXpwqxqYpZp0p1p2p3pwfxfyfcgdgegfggghgigjgkglgmgng5 6 7 OfPfQfzfAfBf8 9 ! 8d9d!d#d$d%d~m
852 cls=cls,
853 obj=obj,
854 strict=strict,
855 from_attributes=from_attributes,
856 context=context,
857 update=update,
858 )
860 def model_dump( 1abcdef
861 self,
862 *,
863 mode: Union[Literal["json", "python"], str] = "python",
864 include: Union[IncEx, None] = None,
865 exclude: Union[IncEx, None] = None,
866 context: Union[Dict[str, Any], None] = None,
867 by_alias: bool = False,
868 exclude_unset: bool = False,
869 exclude_defaults: bool = False,
870 exclude_none: bool = False,
871 round_trip: bool = False,
872 warnings: Union[bool, Literal["none", "warn", "error"]] = True,
873 serialize_as_any: bool = False,
874 ) -> Dict[str, Any]:
875 if PYDANTIC_MINOR_VERSION >= (2, 7): 2#n$n%nKn'n(n)n*n+n,n|d'd(d[pygzg(b)b}d~daebecedeeefeAgBg-n.n/n:n;n=n}eRfSfTfUfv Cf~eogw KdLdCgDgEgFgGgHgx g ] IgJgKgLgMgNgOg_c^ *b+b_ ,b` ' { -b.bPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g6g7g?n@n[nLn]n^n_n`n{n|n}n~naoMnbocodoeofogoge)d*d]p8g9g/b:b;b=bheiejekelemeneoe!g#ghoiojokolomoafbfVfWfXfYfZf0f1f2fy z DfEfcfdfpgA B MdNdOdPd$g%g'g(g)g*gC D h i | } +g,g-g.g/g:g;g`c{c~ ab?b@b[b]bbbcb^b_bdbeb( ) fbgb`b{b|b}b=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghnooopoNnqorosotouovowoxoyoOnzoAoBoCoDoEoFoGoHoPnIoJoKoLoMoNopeqe+d,d-d.d^phhihjhkh~bacbcccdcecreseteuevewexeyezeAeBeCeDeEeFeGelhmhnhohOoPoQoRoSoToefffgf3f4f5f6f7f8f9f!f#f$f%f'fE F G FfGfHfhfifjfqgrgH I J QdRdSdTdUdVdphqhrhshthuhvhwhxhyhzhAhK L M j k l hbibjbBhChDhEhFhGhHhIhJhKhLhMhNhOh|c}c~ckblbmbfcgchcicjckcnbobpblcmcncqbrbsb* + , tbubvbocpcqcrcsctcPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?hUoVoWoQnXoYoZo0o1o2o3o4o5oRn6o7o8o9o!o#o$o%o'oSn(o)o*o+o,o-oHeIe/d:d;d=d_p@h[h]h^hucvcwcxcyczcJeKeLeMeNeOePeQeReSeTeUeVeWeXeYe_h`h{h|h.o/o:o;o=o?okflfmf(f)f*f+f,f-f.f/f:f;f=f?fN O P IfJfKfnfofpfsgtgQ R S WdXdYdZd0d1d}h~haibicidieifigihiiijiT U V m n o wbxbybkiliminioipiqirisitiuiviwixiadbdcdzbAbBbAcBcCcDcEcFcCbDbEbGcHcIcFbGbHb- . / IbJbKbJcKcLcMcNcOcyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i9i@o[o]oTn^o_o`o{o|o}o~oapbpUncpdpepfpgphpipjpkpVnlpmpnpopppqpZe0e?d@d[d]d`p!i#i$i%iPcQcRcScTcUc1e2e3e4e5e6e7e8e9e!e#e$e%e'e(e)e'i(i)i*irpsptpupvpwpqfrfsf@f[f]f^f_f`f{f|f}f~fagbgW X Y LfMfNftfufvfugvgZ 0 1 2d3d4d5d6d7d+i,i-i.i/i:i;i=i?i@i[i]i2 3 4 p q r LbMbNb^i_i`i{i|i}i~iajbjcjdjejfjgjddedfdObPbQbVcWcXcYcZc0cRbSbTb1c2c3cUbVbWb: ; = XbYbZb4c5c6c7c8c9chjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjxpypzpWnApBpCpDpEpFpGpHpIpXnJpKpLpMpNpOpPpQpRpYnSpTpUpVpWpXp*e+e^d_d`d{d{pTjUjVjWj!c#c$c%c'c(c,e-e.e/e:e;e=e?e@e[e]e^e_e`e{e|eXjYjZj0jYpZp0p1p2p3pwfxfyfcgdgegfggghgigjgkglgmgng5 6 7 OfPfQfzfAfBfwgxg8 9 ! 8d9d!d#d$d%d1j2j3j4j5j6j7j8j9j!j#j$j# $ % s t u 0b1b2b%j'j(j)j*j+j,j-j.j/j:j;j=j?jgdhdid3b4b5b)c*c+c,c-c.c6b7b8b/c:c;c9b!b#b? @ [ $b%b'b=c?c@c[c]c^c@j[j]j^j_j`j{j|j}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBk
876 extra_kwargs: Dict[str, Any] = { 2Kn|d'd(d[pygzg(b)b}d~daebecedeeefeAgBg}ev ~eogw KdLdCgDgEgFgGgHgx g ] IgJgKgLgMgNgOg_c^ *b+b_ ,b` ' { -b.bPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g6g7gLnMnge)d*d]p8g9g/b:b;b=bheiejekelemeneoe!g#gafbfy z cfdfpgA B MdNdOdPd$g%g'g(g)g*gC D h i | } +g,g-g.g/g:g;g`c{c~ ab?b@b[b]bbbcb^b_bdbeb( ) fbgb`b{b|b}b=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghNnOnPnpeqe+d,d-d.d^phhihjhkh~bacbcccdcecreseteuevewexeyezeAeBeCeDeEeFeGelhmhnhohefffgfE F G hfifjfqgrgH I J QdRdSdTdUdVdphqhrhshthuhvhwhxhyhzhAhK L M j k l hbibjbBhChDhEhFhGhHhIhJhKhLhMhNhOh|c}c~ckblbmbfcgchcicjckcnbobpblcmcncqbrbsb* + , tbubvbocpcqcrcsctcPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?hQnRnSnHeIe/d:d;d=d_p@h[h]h^hucvcwcxcyczcJeKeLeMeNeOePeQeReSeTeUeVeWeXeYe_h`h{h|hkflfmfN O P nfofpfsgtgQ R S WdXdYdZd0d1d}h~haibicidieifigihiiijiT U V m n o wbxbybkiliminioipiqirisitiuiviwixiadbdcdzbAbBbAcBcCcDcEcFcCbDbEbGcHcIcFbGbHb- . / IbJbKbJcKcLcMcNcOcyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i9iTnUnVnZe0e?d@d[d]d`p!i#i$i%iPcQcRcScTcUc1e2e3e4e5e6e7e8e9e!e#e$e%e'e(e)e'i(i)i*iqfrfsfW X Y tfufvfugvgZ 0 1 2d3d4d5d6d7d+i,i-i.i/i:i;i=i?i@i[i]i2 3 4 p q r LbMbNb^i_i`i{i|i}i~iajbjcjdjejfjgjddedfdObPbQbVcWcXcYcZc0cRbSbTb1c2c3cUbVbWb: ; = XbYbZb4c5c6c7c8c9chjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjWnXnYn*e+e^d_d`d{d{pTjUjVjWj!c#c$c%c'c(c,e-e.e/e:e;e=e?e@e[e]e^e_e`e{e|eXjYjZj0jwfxfyf5 6 7 zfAfBfwgxg8 9 ! 8d9d!d#d$d%d1j2j3j4j5j6j7j8j9j!j#j$j# $ % s t u 0b1b2b%j'j(j)j*j+j,j-j.j/j:j;j=j?jgdhdid3b4b5b)c*c+c,c-c.c6b7b8b/c:c;c9b!b#b? @ [ $b%b'b=c?c@c[c]c^c@j[j]j^j_j`j{j|j}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBk
877 "context": context,
878 "serialize_as_any": serialize_as_any,
879 }
880 else:
881 extra_kwargs = {} 2#n$n%nKn'n(n)n*n+n,n|d'd(d[pygzg(b)b}d~daebecedeeefeAgBg-n.n/n:n;n=n}eRfSfTfUfv Cf~eogw KdLdCgDgEgFgGgHgx g ] IgJgKgLgMgNgOg_c^ *b+b_ ,b` ' { -b.bPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g6g7g?n@n[nLn]n^n_n`n{n|n}n~naoMnbocodoeofogoge)d*d]p8g9g/b:b;b=bheiejekelemeneoe!g#ghoiojokolomoafbfVfWfXfYfZf0f1f2fy z DfEfcfdfpgA B MdNdOdPd$g%g'g(g)g*gC D h i | } +g,g-g.g/g:g;g`c{c~ ab?b@b[b]bbbcb^b_bdbeb( ) fbgb`b{b|b}b=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghnooopoNnqorosotouovowoxoyoOnzoAoBoCoDoEoFoGoHoPnIoJoKoLoMoNopeqe+d,d-d.d^phhihjhkh~bacbcccdcecreseteuevewexeyezeAeBeCeDeEeFeGelhmhnhohOoPoQoRoSoToefffgf3f4f5f6f7f8f9f!f#f$f%f'fE F G FfGfHfhfifjfqgrgH I J QdRdSdTdUdVdphqhrhshthuhvhwhxhyhzhAhK L M j k l hbibjbBhChDhEhFhGhHhIhJhKhLhMhNhOh|c}c~ckblbmbfcgchcicjckcnbobpblcmcncqbrbsb* + , tbubvbocpcqcrcsctcPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?hUoVoWoQnXoYoZo0o1o2o3o4o5oRn6o7o8o9o!o#o$o%o'oSn(o)o*o+o,o-oHeIe/d:d;d=d_p@h[h]h^hucvcwcxcyczcJeKeLeMeNeOePeQeReSeTeUeVeWeXeYe_h`h{h|h.o/o:o;o=o?okflfmf(f)f*f+f,f-f.f/f:f;f=f?fN O P IfJfKfnfofpfsgtgQ R S WdXdYdZd0d1d}h~haibicidieifigihiiijiT U V m n o wbxbybkiliminioipiqirisitiuiviwixiadbdcdzbAbBbAcBcCcDcEcFcCbDbEbGcHcIcFbGbHb- . / IbJbKbJcKcLcMcNcOcyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i9i@o[o]oTn^o_o`o{o|o}o~oapbpUncpdpepfpgphpipjpkpVnlpmpnpopppqpZe0e?d@d[d]d`p!i#i$i%iPcQcRcScTcUc1e2e3e4e5e6e7e8e9e!e#e$e%e'e(e)e'i(i)i*irpsptpupvpwpqfrfsf@f[f]f^f_f`f{f|f}f~fagbgW X Y LfMfNftfufvfugvgZ 0 1 2d3d4d5d6d7d+i,i-i.i/i:i;i=i?i@i[i]i2 3 4 p q r LbMbNb^i_i`i{i|i}i~iajbjcjdjejfjgjddedfdObPbQbVcWcXcYcZc0cRbSbTb1c2c3cUbVbWb: ; = XbYbZb4c5c6c7c8c9chjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjxpypzpWnApBpCpDpEpFpGpHpIpXnJpKpLpMpNpOpPpQpRpYnSpTpUpVpWpXp*e+e^d_d`d{d{pTjUjVjWj!c#c$c%c'c(c,e-e.e/e:e;e=e?e@e[e]e^e_e`e{e|eXjYjZj0jYpZp0p1p2p3pwfxfyfcgdgegfggghgigjgkglgmgng5 6 7 OfPfQfzfAfBfwgxg8 9 ! 8d9d!d#d$d%d1j2j3j4j5j6j7j8j9j!j#j$j# $ % s t u 0b1b2b%j'j(j)j*j+j,j-j.j/j:j;j=j?jgdhdid3b4b5b)c*c+c,c-c.c6b7b8b/c:c;c9b!b#b? @ [ $b%b'b=c?c@c[c]c^c@j[j]j^j_j`j{j|j}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBk
882 if IS_PYDANTIC_V2: 2#n$n%nKn'n(n)n*n+n,n|d'd(d[pygzg(b)b}d~daebecedeeefeAgBg-n.n/n:n;n=n}eRfSfTfUfv Cf~eogw KdLdCgDgEgFgGgHgx g ] IgJgKgLgMgNgOg_c^ *b+b_ ,b` ' { -b.bPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g6g7g?n@n[nLn]n^n_n`n{n|n}n~naoMnbocodoeofogoge)d*d]p8g9g/b:b;b=bheiejekelemeneoe!g#ghoiojokolomoafbfVfWfXfYfZf0f1f2fy z DfEfcfdfpgA B MdNdOdPd$g%g'g(g)g*gC D h i | } +g,g-g.g/g:g;g`c{c~ ab?b@b[b]bbbcb^b_bdbeb( ) fbgb`b{b|b}b=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghnooopoNnqorosotouovowoxoyoOnzoAoBoCoDoEoFoGoHoPnIoJoKoLoMoNopeqe+d,d-d.d^phhihjhkh~bacbcccdcecreseteuevewexeyezeAeBeCeDeEeFeGelhmhnhohOoPoQoRoSoToefffgf3f4f5f6f7f8f9f!f#f$f%f'fE F G FfGfHfhfifjfqgrgH I J QdRdSdTdUdVdphqhrhshthuhvhwhxhyhzhAhK L M j k l hbibjbBhChDhEhFhGhHhIhJhKhLhMhNhOh|c}c~ckblbmbfcgchcicjckcnbobpblcmcncqbrbsb* + , tbubvbocpcqcrcsctcPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?hUoVoWoQnXoYoZo0o1o2o3o4o5oRn6o7o8o9o!o#o$o%o'oSn(o)o*o+o,o-oHeIe/d:d;d=d_p@h[h]h^hucvcwcxcyczcJeKeLeMeNeOePeQeReSeTeUeVeWeXeYe_h`h{h|h.o/o:o;o=o?okflfmf(f)f*f+f,f-f.f/f:f;f=f?fN O P IfJfKfnfofpfsgtgQ R S WdXdYdZd0d1d}h~haibicidieifigihiiijiT U V m n o wbxbybkiliminioipiqirisitiuiviwixiadbdcdzbAbBbAcBcCcDcEcFcCbDbEbGcHcIcFbGbHb- . / IbJbKbJcKcLcMcNcOcyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i9i@o[o]oTn^o_o`o{o|o}o~oapbpUncpdpepfpgphpipjpkpVnlpmpnpopppqpZe0e?d@d[d]d`p!i#i$i%iPcQcRcScTcUc1e2e3e4e5e6e7e8e9e!e#e$e%e'e(e)e'i(i)i*irpsptpupvpwpqfrfsf@f[f]f^f_f`f{f|f}f~fagbgW X Y LfMfNftfufvfugvgZ 0 1 2d3d4d5d6d7d+i,i-i.i/i:i;i=i?i@i[i]i2 3 4 p q r LbMbNb^i_i`i{i|i}i~iajbjcjdjejfjgjddedfdObPbQbVcWcXcYcZc0cRbSbTb1c2c3cUbVbWb: ; = XbYbZb4c5c6c7c8c9chjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjxpypzpWnApBpCpDpEpFpGpHpIpXnJpKpLpMpNpOpPpQpRpYnSpTpUpVpWpXp*e+e^d_d`d{d{pTjUjVjWj!c#c$c%c'c(c,e-e.e/e:e;e=e?e@e[e]e^e_e`e{e|eXjYjZj0jYpZp0p1p2p3pwfxfyfcgdgegfggghgigjgkglgmgng5 6 7 OfPfQfzfAfBfwgxg8 9 ! 8d9d!d#d$d%d1j2j3j4j5j6j7j8j9j!j#j$j# $ % s t u 0b1b2b%j'j(j)j*j+j,j-j.j/j:j;j=j?jgdhdid3b4b5b)c*c+c,c-c.c6b7b8b/c:c;c9b!b#b? @ [ $b%b'b=c?c@c[c]c^c@j[j]j^j_j`j{j|j}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBk
883 return super().model_dump( 2Kn|d'd(d[pygzg(b)b}d~daebecedeeefeAgBg}ev ~eogw KdLdCgDgEgFgGgHgx g ] IgJgKgLgMgNgOg_c^ *b+b_ ,b` ' { -b.bPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g6g7gLnMnge)d*d]p8g9g/b:b;b=bheiejekelemeneoe!g#gafbfy z cfdfpgA B MdNdOdPd$g%g'g(g)g*gC D h i | } +g,g-g.g/g:g;g`c{c~ ab?b@b[b]bbbcb^b_bdbeb( ) fbgb`b{b|b}b=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghNnOnPnpeqe+d,d-d.d^phhihjhkh~bacbcccdcecreseteuevewexeyezeAeBeCeDeEeFeGelhmhnhohefffgfE F G hfifjfqgrgH I J QdRdSdTdUdVdphqhrhshthuhvhwhxhyhzhAhK L M j k l hbibjbBhChDhEhFhGhHhIhJhKhLhMhNhOh|c}c~ckblbmbfcgchcicjckcnbobpblcmcncqbrbsb* + , tbubvbocpcqcrcsctcPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?hQnRnSnHeIe/d:d;d=d_p@h[h]h^hucvcwcxcyczcJeKeLeMeNeOePeQeReSeTeUeVeWeXeYe_h`h{h|hkflfmfN O P nfofpfsgtgQ R S WdXdYdZd0d1d}h~haibicidieifigihiiijiT U V m n o wbxbybkiliminioipiqirisitiuiviwixiadbdcdzbAbBbAcBcCcDcEcFcCbDbEbGcHcIcFbGbHb- . / IbJbKbJcKcLcMcNcOcyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i9iTnUnVnZe0e?d@d[d]d`p!i#i$i%iPcQcRcScTcUc1e2e3e4e5e6e7e8e9e!e#e$e%e'e(e)e'i(i)i*iqfrfsfW X Y tfufvfugvgZ 0 1 2d3d4d5d6d7d+i,i-i.i/i:i;i=i?i@i[i]i2 3 4 p q r LbMbNb^i_i`i{i|i}i~iajbjcjdjejfjgjddedfdObPbQbVcWcXcYcZc0cRbSbTb1c2c3cUbVbWb: ; = XbYbZb4c5c6c7c8c9chjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjWnXnYn*e+e^d_d`d{d{pTjUjVjWj!c#c$c%c'c(c,e-e.e/e:e;e=e?e@e[e]e^e_e`e{e|eXjYjZj0jwfxfyf5 6 7 zfAfBfwgxg8 9 ! 8d9d!d#d$d%d1j2j3j4j5j6j7j8j9j!j#j$j# $ % s t u 0b1b2b%j'j(j)j*j+j,j-j.j/j:j;j=j?jgdhdid3b4b5b)c*c+c,c-c.c6b7b8b/c:c;c9b!b#b? @ [ $b%b'b=c?c@c[c]c^c@j[j]j^j_j`j{j|j}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBk
884 mode=mode,
885 include=include,
886 exclude=exclude,
887 by_alias=by_alias,
888 exclude_unset=exclude_unset,
889 exclude_defaults=exclude_defaults,
890 exclude_none=exclude_none,
891 round_trip=round_trip,
892 warnings=warnings,
893 **extra_kwargs,
894 )
895 else:
896 return super().dict( 2#n$n%nKn'n(n)n*n+n,n|d'd(d[pygzg(b)b}d~daebecedeeefeAgBg-n.n/n:n;n=n}eRfSfTfUfv Cf~eogw KdLdCgDgEgFgGgHgx g ] IgJgKgLgMgNgOg_c^ *b+b_ ,b` ' { -b.bPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g6g7g?n@n[nLn]n^n_n`n{n|n}n~naoMnbocodoeofogoge)d*d]p8g9g/b:b;b=bheiejekelemeneoe!g#ghoiojokolomoafbfVfWfXfYfZf0f1f2fy z DfEfcfdfpgA B MdNdOdPd$g%g'g(g)g*gC D h i | } +g,g-g.g/g:g;g`c{c~ ab?b@b[b]bbbcb^b_bdbeb( ) fbgb`b{b|b}b=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghnooopoNnqorosotouovowoxoyoOnzoAoBoCoDoEoFoGoHoPnIoJoKoLoMoNopeqe+d,d-d.d^phhihjhkh~bacbcccdcecreseteuevewexeyezeAeBeCeDeEeFeGelhmhnhohOoPoQoRoSoToefffgf3f4f5f6f7f8f9f!f#f$f%f'fE F G FfGfHfhfifjfqgrgH I J QdRdSdTdUdVdphqhrhshthuhvhwhxhyhzhAhK L M j k l hbibjbBhChDhEhFhGhHhIhJhKhLhMhNhOh|c}c~ckblbmbfcgchcicjckcnbobpblcmcncqbrbsb* + , tbubvbocpcqcrcsctcPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?hUoVoWoQnXoYoZo0o1o2o3o4o5oRn6o7o8o9o!o#o$o%o'oSn(o)o*o+o,o-oHeIe/d:d;d=d_p@h[h]h^hucvcwcxcyczcJeKeLeMeNeOePeQeReSeTeUeVeWeXeYe_h`h{h|h.o/o:o;o=o?okflfmf(f)f*f+f,f-f.f/f:f;f=f?fN O P IfJfKfnfofpfsgtgQ R S WdXdYdZd0d1d}h~haibicidieifigihiiijiT U V m n o wbxbybkiliminioipiqirisitiuiviwixiadbdcdzbAbBbAcBcCcDcEcFcCbDbEbGcHcIcFbGbHb- . / IbJbKbJcKcLcMcNcOcyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i9i@o[o]oTn^o_o`o{o|o}o~oapbpUncpdpepfpgphpipjpkpVnlpmpnpopppqpZe0e?d@d[d]d`p!i#i$i%iPcQcRcScTcUc1e2e3e4e5e6e7e8e9e!e#e$e%e'e(e)e'i(i)i*irpsptpupvpwpqfrfsf@f[f]f^f_f`f{f|f}f~fagbgW X Y LfMfNftfufvfugvgZ 0 1 2d3d4d5d6d7d+i,i-i.i/i:i;i=i?i@i[i]i2 3 4 p q r LbMbNb^i_i`i{i|i}i~iajbjcjdjejfjgjddedfdObPbQbVcWcXcYcZc0cRbSbTb1c2c3cUbVbWb: ; = XbYbZb4c5c6c7c8c9chjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjxpypzpWnApBpCpDpEpFpGpHpIpXnJpKpLpMpNpOpPpQpRpYnSpTpUpVpWpXp*e+e^d_d`d{d{pTjUjVjWj!c#c$c%c'c(c,e-e.e/e:e;e=e?e@e[e]e^e_e`e{e|eXjYjZj0jYpZp0p1p2p3pwfxfyfcgdgegfggghgigjgkglgmgng5 6 7 OfPfQfzfAfBfwgxg8 9 ! 8d9d!d#d$d%d1j2j3j4j5j6j7j8j9j!j#j$j# $ % s t u 0b1b2b%j'j(j)j*j+j,j-j.j/j:j;j=j?jgdhdid3b4b5b)c*c+c,c-c.c6b7b8b/c:c;c9b!b#b? @ [ $b%b'b=c?c@c[c]c^c@j[j]j^j_j`j{j|j}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBk
897 include=include,
898 exclude=exclude,
899 by_alias=by_alias,
900 exclude_unset=exclude_unset,
901 exclude_defaults=exclude_defaults,
902 exclude_none=exclude_none,
903 )
905 @deprecated( 1abcdef
906 """
907 🚨 `obj.dict()` was deprecated in SQLModel 0.0.14, you should
908 instead use `obj.model_dump()`.
909 """
910 )
911 def dict( 1abcdef
912 self,
913 *,
914 include: Union[IncEx, None] = None,
915 exclude: Union[IncEx, None] = None,
916 by_alias: bool = False,
917 exclude_unset: bool = False,
918 exclude_defaults: bool = False,
919 exclude_none: bool = False,
920 ) -> Dict[str, Any]:
921 return self.model_dump( 2#n$n%nKn'n(n)n*n+n,n[p-n.n/n:n;n=n}eRfSfTfUfv Cf~eogw KdLdg ^ ?n@n[nLn]n^n_n`n{n|n}n~naoMnbocodoeofogo]phoiojokolomoafbfVfWfXfYfZf0f1f2fy z DfEfcfdfpgA B MdNdOdPdh i ~ abnooopoNnqorosotouovowoxoyoOnzoAoBoCoDoEoFoGoHoPnIoJoKoLoMoNo^pOoPoQoRoSoToefffgf3f4f5f6f7f8f9f!f#f$f%f'fE F G FfGfHfhfifjfqgrgH I J QdRdSdTdUdVdj k l kblbmbUoVoWoQnXoYoZo0o1o2o3o4o5oRn6o7o8o9o!o#o$o%o'oSn(o)o*o+o,o-o_p.o/o:o;o=o?okflfmf(f)f*f+f,f-f.f/f:f;f=f?fN O P IfJfKfnfofpfsgtgQ R S WdXdYdZd0d1dm n o zbAbBb@o[o]oTn^o_o`o{o|o}o~oapbpUncpdpepfpgphpipjpkpVnlpmpnpopppqp`prpsptpupvpwpqfrfsf@f[f]f^f_f`f{f|f}f~fagbgW X Y LfMfNftfufvfugvgZ 0 1 2d3d4d5d6d7dp q r ObPbQbxpypzpWnApBpCpDpEpFpGpHpIpXnJpKpLpMpNpOpPpQpRpYnSpTpUpVpWpXp{pYpZp0p1p2p3pwfxfyfcgdgegfggghgigjgkglgmgng5 6 7 OfPfQfzfAfBfwgxg8 9 ! 8d9d!d#d$d%ds t u 3b4b5b
922 include=include,
923 exclude=exclude,
924 by_alias=by_alias,
925 exclude_unset=exclude_unset,
926 exclude_defaults=exclude_defaults,
927 exclude_none=exclude_none,
928 )
930 @classmethod 1abcdef
931 @deprecated( 1abcdef
932 """
933 🚨 `obj.from_orm(data)` was deprecated in SQLModel 0.0.14, you should
934 instead use `obj.model_validate(data)`.
935 """
936 )
937 def from_orm( 1abcdef
938 cls: Type[_TSQLModel], obj: Any, update: Optional[Dict[str, Any]] = None
939 ) -> _TSQLModel:
940 return cls.model_validate(obj, update=update) 2#n$n%nKn'n(n)n*n+n,nmq-n.n/n:n;n=n}eRfSfTfUfv Cf~ew KdLd?n@n[nLn]n^n_n`n{n|n}n~naoMnbocodoeofogooqhoiojokolomoafbfVfWfXfYfZf0f1f2fy z DfEfcfdfA B MdNdOdPdnooopoNnqorosotouovowoxoyoOnzoAoBoCoDoEoFoGoHoPnIoJoKoLoMoNoqqOoPoQoRoSoToefffgf3f4f5f6f7f8f9f!f#f$f%f'fE F G FfGfHfhfifjfH I J QdRdSdTdUdVdUoVoWoQnXoYoZo0o1o2o3o4o5oRn6o7o8o9o!o#o$o%o'oSn(o)o*o+o,o-osq.o/o:o;o=o?okflfmf(f)f*f+f,f-f.f/f:f;f=f?fN O P IfJfKfnfofpfQ R S WdXdYdZd0d1d@o[o]oTn^o_o`o{o|o}o~oapbpUncpdpepfpgphpipjpkpVnlpmpnpopppqpuqrpsptpupvpwpqfrfsf@f[f]f^f_f`f{f|f}f~fagbgW X Y LfMfNftfufvfZ 0 1 2d3d4d5d6d7dxpypzpWnApBpCpDpEpFpGpHpIpXnJpKpLpMpNpOpPpQpRpYnSpTpUpVpWpXpwqYpZp0p1p2p3pwfxfyfcgdgegfggghgigjgkglgmgng5 6 7 OfPfQfzfAfBf8 9 ! 8d9d!d#d$d%d
942 @classmethod 1abcdef
943 @deprecated( 1abcdef
944 """
945 🚨 `obj.parse_obj(data)` was deprecated in SQLModel 0.0.14, you should
946 instead use `obj.model_validate(data)`.
947 """
948 )
949 def parse_obj( 1abcdef
950 cls: Type[_TSQLModel], obj: Any, update: Optional[Dict[str, Any]] = None
951 ) -> _TSQLModel:
952 if not IS_PYDANTIC_V2: 2nqpqrqtqvqxq
953 obj = cls._enforce_dict_if_root(obj) # type: ignore[attr-defined] # noqa 2nqpqrqtqvqxq
954 return cls.model_validate(obj, update=update) 2nqpqrqtqvqxq
956 # From Pydantic, override to only show keys from fields, omit SQLAlchemy attributes
957 @deprecated( 1abcdef
958 """
959 🚨 You should not access `obj._calculate_keys()` directly.
961 It is only useful for Pydantic v1.X, you should probably upgrade to
962 Pydantic v2.X.
963 """,
964 category=None,
965 )
966 def _calculate_keys( 1abcdef
967 self,
968 include: Optional[Mapping[Union[int, str], Any]],
969 exclude: Optional[Mapping[Union[int, str], Any]],
970 exclude_unset: bool,
971 update: Optional[Dict[str, Any]] = None,
972 ) -> Optional[AbstractSet[str]]:
973 return _calculate_keys( 2#n$n%nKn'n(n)n*n+n,n|d'd(d[pygzg(b)b}d~daebecedeeefeAgBg-n.n/n:n;n=n}eRfSfTfUfv Cf~eogw KdLdCgDgEgFgGgHgx g ] IgJgKgLgMgNgOg_c^ *b+b_ ,b` ' { -b.bPgQgRgSgTgUgVgWgXgYgZg0g1g2g3g4g5g6g7g?n@n[nLn]n^n_n`n{n|n}n~naoMnbocodoeofogoge)d*d]p8g9g/b:b;b=bheiejekelemeneoe!g#ghoiojokolomoafbfVfWfXfYfZf0f1f2fy z DfEfcfdfpgA B MdNdOdPd$g%g'g(g)g*gC D h i | } +g,g-g.g/g:g;g`c{c~ ab?b@b[b]bbbcb^b_bdbeb( ) fbgb`b{b|b}b=g?g@g[g]g^g_g`g{g|g}g~gahbhchdhehfhghnooopoNnqorosotouovowoxoyoOnzoAoBoCoDoEoFoGoHoPnIoJoKoLoMoNopeqe+d,d-d.d^phhihjhkh~bacbcccdcecreseteuevewexeyezeAeBeCeDeEeFeGelhmhnhohOoPoQoRoSoToefffgf3f4f5f6f7f8f9f!f#f$f%f'fE F G FfGfHfhfifjfqgrgH I J QdRdSdTdUdVdphqhrhshthuhvhwhxhyhzhAhK L M j k l hbibjbBhChDhEhFhGhHhIhJhKhLhMhNhOh|c}c~ckblbmbfcgchcicjckcnbobpblcmcncqbrbsb* + , tbubvbocpcqcrcsctcPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,h-h.h/h:h;h=h?hUoVoWoQnXoYoZo0o1o2o3o4o5oRn6o7o8o9o!o#o$o%o'oSn(o)o*o+o,o-oHeIe/d:d;d=d_p@h[h]h^hucvcwcxcyczcJeKeLeMeNeOePeQeReSeTeUeVeWeXeYe_h`h{h|h.o/o:o;o=o?okflfmf(f)f*f+f,f-f.f/f:f;f=f?fN O P IfJfKfnfofpfsgtgQ R S WdXdYdZd0d1d}h~haibicidieifigihiiijiT U V m n o wbxbybkiliminioipiqirisitiuiviwixiadbdcdzbAbBbAcBcCcDcEcFcCbDbEbGcHcIcFbGbHb- . / IbJbKbJcKcLcMcNcOcyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i9i@o[o]oTn^o_o`o{o|o}o~oapbpUncpdpepfpgphpipjpkpVnlpmpnpopppqpZe0e?d@d[d]d`p!i#i$i%iPcQcRcScTcUc1e2e3e4e5e6e7e8e9e!e#e$e%e'e(e)e'i(i)i*irpsptpupvpwpqfrfsf@f[f]f^f_f`f{f|f}f~fagbgW X Y LfMfNftfufvfugvgZ 0 1 2d3d4d5d6d7d+i,i-i.i/i:i;i=i?i@i[i]i2 3 4 p q r LbMbNb^i_i`i{i|i}i~iajbjcjdjejfjgjddedfdObPbQbVcWcXcYcZc0cRbSbTb1c2c3cUbVbWb: ; = XbYbZb4c5c6c7c8c9chjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjxpypzpWnApBpCpDpEpFpGpHpIpXnJpKpLpMpNpOpPpQpRpYnSpTpUpVpWpXp*e+e^d_d`d{d{pTjUjVjWj!c#c$c%c'c(c,e-e.e/e:e;e=e?e@e[e]e^e_e`e{e|eXjYjZj0jYpZp0p1p2p3pwfxfyfcgdgegfggghgigjgkglgmgng5 6 7 OfPfQfzfAfBfwgxg8 9 ! 8d9d!d#d$d%d1j2j3j4j5j6j7j8j9j!j#j$j# $ % s t u 0b1b2b%j'j(j)j*j+j,j-j.j/j:j;j=j?jgdhdid3b4b5b)c*c+c,c-c.c6b7b8b/c:c;c9b!b#b? @ [ $b%b'b=c?c@c[c]c^c@j[j]j^j_j`j{j|j}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBk
974 self,
975 include=include,
976 exclude=exclude,
977 exclude_unset=exclude_unset,
978 update=update,
979 )
981 def sqlmodel_update( 1abcdef
982 self: _TSQLModel,
983 obj: Union[Dict[str, Any], BaseModel],
984 *,
985 update: Union[Dict[str, Any], None] = None,
986 ) -> _TSQLModel:
987 use_update = (update or {}).copy() 2KdLdMdNdOdPdQdRdSdTdUdVdWdXdYdZd0d1d2d3d4d5d6d7d8d9d!d#d$d%d
988 if isinstance(obj, dict): 2KdLdMdNdOdPdQdRdSdTdUdVdWdXdYdZd0d1d2d3d4d5d6d7d8d9d!d#d$d%d
989 for key, value in {**obj, **use_update}.items(): 2KdLdMdNdOdPdQdRdSdTdUdVdWdXdYdZd0d1d2d3d4d5d6d7d8d9d!d#d$d%d
990 if key in get_model_fields(self): 2KdLdMdNdOdPdQdRdSdTdUdVdWdXdYdZd0d1d2d3d4d5d6d7d8d9d!d#d$d%d
991 setattr(self, key, value) 2KdLdMdNdOdPdQdRdSdTdUdVdWdXdYdZd0d1d2d3d4d5d6d7d8d9d!d#d$d%d
992 elif isinstance(obj, BaseModel):
993 for key in get_model_fields(obj):
994 if key in use_update:
995 value = use_update.pop(key)
996 else:
997 value = getattr(obj, key)
998 setattr(self, key, value)
999 for remaining_key in use_update:
1000 if remaining_key in get_model_fields(self):
1001 value = use_update.pop(remaining_key)
1002 setattr(self, remaining_key, value)
1003 else:
1004 raise ValueError(
1005 "Can't use sqlmodel_update() with something that "
1006 f"is not a dict or SQLModel or Pydantic model: {obj}"
1007 )
1008 return self 2KdLdMdNdOdPdQdRdSdTdUdVdWdXdYdZd0d1d2d3d4d5d6d7d8d9d!d#d$d%d