Coverage for fastapi / _compat / v2.py: 100%
192 statements
« prev ^ index » next coverage.py v7.13.3, created at 2026-02-12 18:15 +0000
« prev ^ index » next coverage.py v7.13.3, created at 2026-02-12 18:15 +0000
1import re 1abcd
2import warnings 1abcd
3from collections.abc import Sequence 1abcd
4from copy import copy 1abcd
5from dataclasses import dataclass, is_dataclass 1abcd
6from enum import Enum 1abcd
7from functools import lru_cache 1abcd
8from typing import ( 1abcd
9 Annotated,
10 Any,
11 Literal,
12 Union,
13 cast,
14 get_args,
15 get_origin,
16)
18from fastapi._compat import lenient_issubclass, shared 1abcd
19from fastapi.openapi.constants import REF_TEMPLATE 1abcd
20from fastapi.types import IncEx, ModelNameMap, UnionType 1abcd
21from pydantic import BaseModel, ConfigDict, Field, TypeAdapter, create_model 1abcd
22from pydantic import PydanticSchemaGenerationError as PydanticSchemaGenerationError 1abcd
23from pydantic import PydanticUndefinedAnnotation as PydanticUndefinedAnnotation 1abcd
24from pydantic import ValidationError as ValidationError 1abcd
25from pydantic._internal._schema_generation_shared import ( # type: ignore[attr-defined] 1abcd
26 GetJsonSchemaHandler as GetJsonSchemaHandler,
27)
28from pydantic._internal._typing_extra import eval_type_lenient 1abcd
29from pydantic.fields import FieldInfo as FieldInfo 1abcd
30from pydantic.json_schema import GenerateJsonSchema as GenerateJsonSchema 1abcd
31from pydantic.json_schema import JsonSchemaValue as JsonSchemaValue 1abcd
32from pydantic_core import CoreSchema as CoreSchema 1abcd
33from pydantic_core import PydanticUndefined 1abcd
34from pydantic_core import Url as Url 1abcd
35from pydantic_core.core_schema import ( 1abcd
36 with_info_plain_validator_function as with_info_plain_validator_function,
37)
39RequiredParam = PydanticUndefined 1abcd
40Undefined = PydanticUndefined 1abcd
41evaluate_forwardref = eval_type_lenient 1abcd
43# TODO: remove when dropping support for Pydantic < v2.12.3
44_Attrs = { 1abcd
45 "default": ...,
46 "default_factory": None,
47 "alias": None,
48 "alias_priority": None,
49 "validation_alias": None,
50 "serialization_alias": None,
51 "title": None,
52 "field_title_generator": None,
53 "description": None,
54 "examples": None,
55 "exclude": None,
56 "exclude_if": None,
57 "discriminator": None,
58 "deprecated": None,
59 "json_schema_extra": None,
60 "frozen": None,
61 "validate_default": None,
62 "repr": True,
63 "init": None,
64 "init_var": None,
65 "kw_only": None,
66}
69# TODO: remove when dropping support for Pydantic < v2.12.3
70def asdict(field_info: FieldInfo) -> dict[str, Any]: 1abcd
71 attributes = {} 2a 4czd5cU ab!d6c7h_h`h@dyn$m%mcjEjFj|c}cdj'm7c|iejfjGjgjhjHjijIjjjkjJjlj(mFoMeWb+ Mipiiee f g h i j k Adbb#dznAnBnCnDnEnFnGnHnInJn5hje[b)mF ]b4e*mKn+mG s ,m-mNi.mfiK qi8h2e{hriOi~c-i^b_b`bBdNe'eCdDdEdke9h!h1h{b#hsiti|h|buiviwi}h}bxi$h%h2hFd'hOePeQe(eReSeTe)ecbdbXbGo, HoIoJoKo~b/m:m;m=m?m@m[m]m^mac}i- [dGdHdIdebV 8cfb9cgb!c#cbccchbYbibjbkblbdc2 3 4 . ec/ : PiQifcZb0bmb$cW L M $dRiSiTinb%dobpbqbrbsb=eUiVileJdmeKdLd'dWi(dXineoegc5 tb1b2bLoub; = hcicjckclcMd3b4bN u 6 7 KjLjmjMjNjnjOjPj_m5bv 6bmc7b)d`mLnMnojb %cNd'cX vb*d(c(h~hai]dNn{m|mpjQjRjadbdqj}m)c~irjsjSjtjujTjvjUjwjxjVjyj~mMoUe8b? Yiyipel m n o p q r Odwb+dOnPnQnRnSnTnUnVnWnXnYn6hqencanH oc5ebnZncnI t dnenZifngiO zi)h3ebiAi0icd.ipcqcrcPdVe*eQdRdSdre*h+h3hsc,hBiCicitcDiEiFidiucGi-h.h4hTd/hWeXeYe+eZe0e1e,exbyb9bNo@ OoPoQoRovcgnhninjnknlnmnnnonwcaj[ ^dUdVdWdpnzbY *cAb+cBb,c-cxcycCb!bDbEbFbGbzc8 9 ! ] Ac^ _ 1i2iBc#b$bHb.cZ P Q ,d3i4i5iIb-dJbKbLbMbNb?e6i7iseXdteYdZd.d8i/d9iueveCc# Ob%b'bSoPb` { DcEcFcGcHc0d(b)bR w $ % WjXjzjYjZjAj0j1jqn*bx +bIc,b:drn0n1nBjc d 1d_d2d| Jcwe3dhiHiIiDeTo8n9n2j(j)j;d=d3j!n4dCj4j5j*j6j7j+j8j,j9j!j-j#j#n9p6e/c-b/i#iFey z A B C D E `dKcxeUoVoWoXoYoZo0o1o2o3o4oeiGedd$n0 ed.e%n5o'n1 J (n)n:i*n!i' $iii-eJi%i;i?dbjfdgdhd{d7e/e|d}d~dHejiki:hidli'i(iKijd)i*i+iLikd,imini;haeoi8e9e!e:e#e$e%e;eLcMc:c!p.b#p$p%p'pld+n,n-n.n/n:n;n=n?nmdDj/bEebecedeNc} 5dOc6dPc7d8dndodQc;cRcScTcUcpdQbRbSb:bqd;b=b=i?ird=c?cVc9d~ ( ) ye@i[i]iWczeXcYcZc0c1c@e^i_iIeeeJefegeAe`iBe{iKeLesdTb2c@c[c(p3c?b@btdudvdwdxdhe]c^c* S UbVb.j/j$j:j;j%j=j?j@n_cT `cyd{cCe[n6o7o'j
72 for attr in _Attrs: 2a 4czd5cU ab!d6c7h_h`h@dyn$m%mcjEjFj|c}cdj'm7c|iejfjGjgjhjHjijIjjjkjJjlj(mFoMeWb+ Mipiiee f g h i j k Adbb#dznAnBnCnDnEnFnGnHnInJn5hje[b)mF ]b4e*mKn+mG s ,m-mNi.mfiK qi8h2e{hriOi~c-i^b_b`bBdNe'eCdDdEdke9h!h1h{b#hsiti|h|buiviwi}h}bxi$h%h2hFd'hOePeQe(eReSeTe)ecbdbXbGo, HoIoJoKo~b/m:m;m=m?m@m[m]m^mac}i- [dGdHdIdebV 8cfb9cgb!c#cbccchbYbibjbkblbdc2 3 4 . ec/ : PiQifcZb0bmb$cW L M $dRiSiTinb%dobpbqbrbsb=eUiVileJdmeKdLd'dWi(dXineoegc5 tb1b2bLoub; = hcicjckclcMd3b4bN u 6 7 KjLjmjMjNjnjOjPj_m5bv 6bmc7b)d`mLnMnojb %cNd'cX vb*d(c(h~hai]dNn{m|mpjQjRjadbdqj}m)c~irjsjSjtjujTjvjUjwjxjVjyj~mMoUe8b? Yiyipel m n o p q r Odwb+dOnPnQnRnSnTnUnVnWnXnYn6hqencanH oc5ebnZncnI t dnenZifngiO zi)h3ebiAi0icd.ipcqcrcPdVe*eQdRdSdre*h+h3hsc,hBiCicitcDiEiFidiucGi-h.h4hTd/hWeXeYe+eZe0e1e,exbyb9bNo@ OoPoQoRovcgnhninjnknlnmnnnonwcaj[ ^dUdVdWdpnzbY *cAb+cBb,c-cxcycCb!bDbEbFbGbzc8 9 ! ] Ac^ _ 1i2iBc#b$bHb.cZ P Q ,d3i4i5iIb-dJbKbLbMbNb?e6i7iseXdteYdZd.d8i/d9iueveCc# Ob%b'bSoPb` { DcEcFcGcHc0d(b)bR w $ % WjXjzjYjZjAj0j1jqn*bx +bIc,b:drn0n1nBjc d 1d_d2d| Jcwe3dhiHiIiDeTo8n9n2j(j)j;d=d3j!n4dCj4j5j*j6j7j+j8j,j9j!j-j#j#n9p6e/c-b/i#iFey z A B C D E `dKcxeUoVoWoXoYoZo0o1o2o3o4oeiGedd$n0 ed.e%n5o'n1 J (n)n:i*n!i' $iii-eJi%i;i?dbjfdgdhd{d7e/e|d}d~dHejiki:hidli'i(iKijd)i*i+iLikd,imini;haeoi8e9e!e:e#e$e%e;eLcMc:c!p.b#p$p%p'pld+n,n-n.n/n:n;n=n?nmdDj/bEebecedeNc} 5dOc6dPc7d8dndodQc;cRcScTcUcpdQbRbSb:bqd;b=b=i?ird=c?cVc9d~ ( ) ye@i[i]iWczeXcYcZc0c1c@e^i_iIeeeJefegeAe`iBe{iKeLesdTb2c@c[c(p3c?b@btdudvdwdxdhe]c^c* S UbVb.j/j$j:j;j%j=j?j@n_cT `cyd{cCe[n6o7o'j
73 value = getattr(field_info, attr, Undefined) 2a 4czd5cU ab!d6c7h_h`h@dyn$m%mcjEjFj|c}cdj'm7c|iejfjGjgjhjHjijIjjjkjJjlj(mFoMeWb+ Mipiiee f g h i j k Adbb#dznAnBnCnDnEnFnGnHnInJn5hje[b)mF ]b4e*mKn+mG s ,m-mNi.mfiK qi8h2e{hriOi~c-i^b_b`bBdNe'eCdDdEdke9h!h1h{b#hsiti|h|buiviwi}h}bxi$h%h2hFd'hOePeQe(eReSeTe)ecbdbXbGo, HoIoJoKo~b/m:m;m=m?m@m[m]m^mac}i- [dGdHdIdebV 8cfb9cgb!c#cbccchbYbibjbkblbdc2 3 4 . ec/ : PiQifcZb0bmb$cW L M $dRiSiTinb%dobpbqbrbsb=eUiVileJdmeKdLd'dWi(dXineoegc5 tb1b2bLoub; = hcicjckclcMd3b4bN u 6 7 KjLjmjMjNjnjOjPj_m5bv 6bmc7b)d`mLnMnojb %cNd'cX vb*d(c(h~hai]dNn{m|mpjQjRjadbdqj}m)c~irjsjSjtjujTjvjUjwjxjVjyj~mMoUe8b? Yiyipel m n o p q r Odwb+dOnPnQnRnSnTnUnVnWnXnYn6hqencanH oc5ebnZncnI t dnenZifngiO zi)h3ebiAi0icd.ipcqcrcPdVe*eQdRdSdre*h+h3hsc,hBiCicitcDiEiFidiucGi-h.h4hTd/hWeXeYe+eZe0e1e,exbyb9bNo@ OoPoQoRovcgnhninjnknlnmnnnonwcaj[ ^dUdVdWdpnzbY *cAb+cBb,c-cxcycCb!bDbEbFbGbzc8 9 ! ] Ac^ _ 1i2iBc#b$bHb.cZ P Q ,d3i4i5iIb-dJbKbLbMbNb?e6i7iseXdteYdZd.d8i/d9iueveCc# Ob%b'bSoPb` { DcEcFcGcHc0d(b)bR w $ % WjXjzjYjZjAj0j1jqn*bx +bIc,b:drn0n1nBjc d 1d_d2d| Jcwe3dhiHiIiDeTo8n9n2j(j)j;d=d3j!n4dCj4j5j*j6j7j+j8j,j9j!j-j#j#n9p6e/c-b/i#iFey z A B C D E `dKcxeUoVoWoXoYoZo0o1o2o3o4oeiGedd$n0 ed.e%n5o'n1 J (n)n:i*n!i' $iii-eJi%i;i?dbjfdgdhd{d7e/e|d}d~dHejiki:hidli'i(iKijd)i*i+iLikd,imini;haeoi8e9e!e:e#e$e%e;eLcMc:c!p.b#p$p%p'pld+n,n-n.n/n:n;n=n?nmdDj/bEebecedeNc} 5dOc6dPc7d8dndodQc;cRcScTcUcpdQbRbSb:bqd;b=b=i?ird=c?cVc9d~ ( ) ye@i[i]iWczeXcYcZc0c1c@e^i_iIeeeJefegeAe`iBe{iKeLesdTb2c@c[c(p3c?b@btdudvdwdxdhe]c^c* S UbVb.j/j$j:j;j%j=j?j@n_cT `cyd{cCe[n6o7o'j
74 if value is not Undefined: 2a 4czd5cU ab!d6c7h_h`h@dyn$m%mcjEjFj|c}cdj'm7c|iejfjGjgjhjHjijIjjjkjJjlj(mFoMeWb+ Mipiiee f g h i j k Adbb#dznAnBnCnDnEnFnGnHnInJn5hje[b)mF ]b4e*mKn+mG s ,m-mNi.mfiK qi8h2e{hriOi~c-i^b_b`bBdNe'eCdDdEdke9h!h1h{b#hsiti|h|buiviwi}h}bxi$h%h2hFd'hOePeQe(eReSeTe)ecbdbXbGo, HoIoJoKo~b/m:m;m=m?m@m[m]m^mac}i- [dGdHdIdebV 8cfb9cgb!c#cbccchbYbibjbkblbdc2 3 4 . ec/ : PiQifcZb0bmb$cW L M $dRiSiTinb%dobpbqbrbsb=eUiVileJdmeKdLd'dWi(dXineoegc5 tb1b2bLoub; = hcicjckclcMd3b4bN u 6 7 KjLjmjMjNjnjOjPj_m5bv 6bmc7b)d`mLnMnojb %cNd'cX vb*d(c(h~hai]dNn{m|mpjQjRjadbdqj}m)c~irjsjSjtjujTjvjUjwjxjVjyj~mMoUe8b? Yiyipel m n o p q r Odwb+dOnPnQnRnSnTnUnVnWnXnYn6hqencanH oc5ebnZncnI t dnenZifngiO zi)h3ebiAi0icd.ipcqcrcPdVe*eQdRdSdre*h+h3hsc,hBiCicitcDiEiFidiucGi-h.h4hTd/hWeXeYe+eZe0e1e,exbyb9bNo@ OoPoQoRovcgnhninjnknlnmnnnonwcaj[ ^dUdVdWdpnzbY *cAb+cBb,c-cxcycCb!bDbEbFbGbzc8 9 ! ] Ac^ _ 1i2iBc#b$bHb.cZ P Q ,d3i4i5iIb-dJbKbLbMbNb?e6i7iseXdteYdZd.d8i/d9iueveCc# Ob%b'bSoPb` { DcEcFcGcHc0d(b)bR w $ % WjXjzjYjZjAj0j1jqn*bx +bIc,b:drn0n1nBjc d 1d_d2d| Jcwe3dhiHiIiDeTo8n9n2j(j)j;d=d3j!n4dCj4j5j*j6j7j+j8j,j9j!j-j#j#n9p6e/c-b/i#iFey z A B C D E `dKcxeUoVoWoXoYoZo0o1o2o3o4oeiGedd$n0 ed.e%n5o'n1 J (n)n:i*n!i' $iii-eJi%i;i?dbjfdgdhd{d7e/e|d}d~dHejiki:hidli'i(iKijd)i*i+iLikd,imini;haeoi8e9e!e:e#e$e%e;eLcMc:c!p.b#p$p%p'pld+n,n-n.n/n:n;n=n?nmdDj/bEebecedeNc} 5dOc6dPc7d8dndodQc;cRcScTcUcpdQbRbSb:bqd;b=b=i?ird=c?cVc9d~ ( ) ye@i[i]iWczeXcYcZc0c1c@e^i_iIeeeJefegeAe`iBe{iKeLesdTb2c@c[c(p3c?b@btdudvdwdxdhe]c^c* S UbVb.j/j$j:j;j%j=j?j@n_cT `cyd{cCe[n6o7o'j
75 attributes[attr] = value 2a 4czd5cU ab!d6c7h_h`h@dyn$m%mcjEjFj|c}cdj'm7c|iejfjGjgjhjHjijIjjjkjJjlj(mFoMeWb+ Mipiiee f g h i j k Adbb#dznAnBnCnDnEnFnGnHnInJn5hje[b)mF ]b4e*mKn+mG s ,m-mNi.mfiK qi8h2e{hriOi~c-i^b_b`bBdNe'eCdDdEdke9h!h1h{b#hsiti|h|buiviwi}h}bxi$h%h2hFd'hOePeQe(eReSeTe)ecbdbXbGo, HoIoJoKo~b/m:m;m=m?m@m[m]m^mac}i- [dGdHdIdebV 8cfb9cgb!c#cbccchbYbibjbkblbdc2 3 4 . ec/ : PiQifcZb0bmb$cW L M $dRiSiTinb%dobpbqbrbsb=eUiVileJdmeKdLd'dWi(dXineoegc5 tb1b2bLoub; = hcicjckclcMd3b4bN u 6 7 KjLjmjMjNjnjOjPj_m5bv 6bmc7b)d`mLnMnojb %cNd'cX vb*d(c(h~hai]dNn{m|mpjQjRjadbdqj}m)c~irjsjSjtjujTjvjUjwjxjVjyj~mMoUe8b? Yiyipel m n o p q r Odwb+dOnPnQnRnSnTnUnVnWnXnYn6hqencanH oc5ebnZncnI t dnenZifngiO zi)h3ebiAi0icd.ipcqcrcPdVe*eQdRdSdre*h+h3hsc,hBiCicitcDiEiFidiucGi-h.h4hTd/hWeXeYe+eZe0e1e,exbyb9bNo@ OoPoQoRovcgnhninjnknlnmnnnonwcaj[ ^dUdVdWdpnzbY *cAb+cBb,c-cxcycCb!bDbEbFbGbzc8 9 ! ] Ac^ _ 1i2iBc#b$bHb.cZ P Q ,d3i4i5iIb-dJbKbLbMbNb?e6i7iseXdteYdZd.d8i/d9iueveCc# Ob%b'bSoPb` { DcEcFcGcHc0d(b)bR w $ % WjXjzjYjZjAj0j1jqn*bx +bIc,b:drn0n1nBjc d 1d_d2d| Jcwe3dhiHiIiDeTo8n9n2j(j)j;d=d3j!n4dCj4j5j*j6j7j+j8j,j9j!j-j#j#n9p6e/c-b/i#iFey z A B C D E `dKcxeUoVoWoXoYoZo0o1o2o3o4oeiGedd$n0 ed.e%n5o'n1 J (n)n:i*n!i' $iii-eJi%i;i?dbjfdgdhd{d7e/e|d}d~dHejiki:hidli'i(iKijd)i*i+iLikd,imini;haeoi8e9e!e:e#e$e%e;eLcMc:c!p.b#p$p%p'pld+n,n-n.n/n:n;n=n?nmdDj/bEebecedeNc} 5dOc6dPc7d8dndodQc;cRcScTcUcpdQbRbSb:bqd;b=b=i?ird=c?cVc9d~ ( ) ye@i[i]iWczeXcYcZc0c1c@e^i_iIeeeJefegeAe`iBe{iKeLesdTb2c@c[c(p3c?b@btdudvdwdxdhe]c^c* S UbVb.j/j$j:j;j%j=j?j@n_cT `cyd{cCe[n6o7o'j
76 return { 2a 4czd5cU ab!d6c7h_h`h@dyn$m%mcjEjFj|c}cdj'm7c|iejfjGjgjhjHjijIjjjkjJjlj(mFoMeWb+ Mipiiee f g h i j k Adbb#dznAnBnCnDnEnFnGnHnInJn5hje[b)mF ]b4e*mKn+mG s ,m-mNi.mfiK qi8h2e{hriOi~c-i^b_b`bBdNe'eCdDdEdke9h!h1h{b#hsiti|h|buiviwi}h}bxi$h%h2hFd'hOePeQe(eReSeTe)ecbdbXbGo, HoIoJoKo~b/m:m;m=m?m@m[m]m^mac}i- [dGdHdIdebV 8cfb9cgb!c#cbccchbYbibjbkblbdc2 3 4 . ec/ : PiQifcZb0bmb$cW L M $dRiSiTinb%dobpbqbrbsb=eUiVileJdmeKdLd'dWi(dXineoegc5 tb1b2bLoub; = hcicjckclcMd3b4bN u 6 7 KjLjmjMjNjnjOjPj_m5bv 6bmc7b)d`mLnMnojb %cNd'cX vb*d(c(h~hai]dNn{m|mpjQjRjadbdqj}m)c~irjsjSjtjujTjvjUjwjxjVjyj~mMoUe8b? Yiyipel m n o p q r Odwb+dOnPnQnRnSnTnUnVnWnXnYn6hqencanH oc5ebnZncnI t dnenZifngiO zi)h3ebiAi0icd.ipcqcrcPdVe*eQdRdSdre*h+h3hsc,hBiCicitcDiEiFidiucGi-h.h4hTd/hWeXeYe+eZe0e1e,exbyb9bNo@ OoPoQoRovcgnhninjnknlnmnnnonwcaj[ ^dUdVdWdpnzbY *cAb+cBb,c-cxcycCb!bDbEbFbGbzc8 9 ! ] Ac^ _ 1i2iBc#b$bHb.cZ P Q ,d3i4i5iIb-dJbKbLbMbNb?e6i7iseXdteYdZd.d8i/d9iueveCc# Ob%b'bSoPb` { DcEcFcGcHc0d(b)bR w $ % WjXjzjYjZjAj0j1jqn*bx +bIc,b:drn0n1nBjc d 1d_d2d| Jcwe3dhiHiIiDeTo8n9n2j(j)j;d=d3j!n4dCj4j5j*j6j7j+j8j,j9j!j-j#j#n9p6e/c-b/i#iFey z A B C D E `dKcxeUoVoWoXoYoZo0o1o2o3o4oeiGedd$n0 ed.e%n5o'n1 J (n)n:i*n!i' $iii-eJi%i;i?dbjfdgdhd{d7e/e|d}d~dHejiki:hidli'i(iKijd)i*i+iLikd,imini;haeoi8e9e!e:e#e$e%e;eLcMc:c!p.b#p$p%p'pld+n,n-n.n/n:n;n=n?nmdDj/bEebecedeNc} 5dOc6dPc7d8dndodQc;cRcScTcUcpdQbRbSb:bqd;b=b=i?ird=c?cVc9d~ ( ) ye@i[i]iWczeXcYcZc0c1c@e^i_iIeeeJefegeAe`iBe{iKeLesdTb2c@c[c(p3c?b@btdudvdwdxdhe]c^c* S UbVb.j/j$j:j;j%j=j?j@n_cT `cyd{cCe[n6o7o'j
77 "annotation": field_info.annotation,
78 "metadata": field_info.metadata,
79 "attributes": attributes,
80 }
83@dataclass 1abcd
84class ModelField: 1abcd
85 field_info: FieldInfo 1abcd
86 name: str 1abcd
87 mode: Literal["validation", "serialization"] = "validation" 1abcd
88 config: ConfigDict | None = None 1abcd
90 @property 1abcd
91 def alias(self) -> str: 1abcd
92 a = self.field_info.alias 2{D4czd5cU zgab!d6c2n)p3n*p7h9m_h`haf_e@d|D|c}D}cdj~DaEWt7c8oXtbE9oYtcE|iejfjGjgjhjHjijIjjjkjJjlj!oZtdE#o0teEfEgEMe+phEbf1tiEjEkElEWbmEnEoEpE,pjz+ -pkzlzqErEsE.ptEMi]n^npiuEe f g h i j k Admzbb#dvEwEAgxEyE2tzEnzAEBECEDEcfozpzqzrz5hEE/p[bFE3tdfszF 4t]b4e5tefG s sntzGEuzBgHE6t7tIE8tJEKE9t!tLEMENE#tOEPEQE$t%tRESE't(t)tTE*tUEVE+t,tWEXE-tYE.tZE/t:t0E1E2E;t3E4E5E=t6E7E?t8E@t9E[t!E]t^t#E$E_t`t%E{t|t'E}t~t(Eaubu)Ecudu*Eeufu+E,E-E.ECg/E:Evz;Ewzgu=Ehuxzyz?Eiu@EjukuzzAz:pBzCzDzEz[EFz]EGzHz^Elu_E`E{E|E}ENi~Efiqi8h2e{hriOiDgaFbFEgcF$o^bdFIzmu_beFJznu`bfF%oBdgFouNehF'o'e;pKziFLztnMzjFNzkF1h{blF|h|bmF}h}bnF2hFdoF(oOepFpuPeqFquQerF)o(eqgOzsF*oRetFruSeuFsuTevF+o)ePzQzRzwFSzxFyFcbdbXb, TzUz~bzFAFBFac}i- [dtu_n,o-ouu`n.o/o:ovu{n;oCFDFEFFFFgGFHFIFJFShwuebV xuKF8cVzLFfb=pMF9cWzNFgb?pOFyuzuPFQFRFAuSFTFUFBuCuVFWFDuEuGgXFYFFuGuZFXz0FHu1FYz2F3FZz!c#cbc4F5F@pcc6FIu|n[p7F8FhbYb9F=oJuKuib!F]p^p_pLuMuNu#FjbOuPu$Fkb%F?o}n@oQulb'FRu`pSu(Fdc)F{p|p*F2 +F}p~paq,F3 -Fbqcqdq.Feq4 /Ffqgq:F. ecff0z/ 1z2z: 3z4z;F=F?FPiTuUu[ogfQiVu]o^ohfWuif@F[FHgTh[e5zXujfYukfZulf]F^F6z_FIg`F{F|F}F~FaGbGcGdGeGfG0uJggGhGiGjG7z8zkGlGKgfcmGhqnGLgoGMgpGZb0b9z!zmb$cngW L M qGrGNgsGtGOguGvGPgwGxG1uQg$dyGzG2uRgRi3u4u_omfSi5u`o{onfTi6u7u|o}oofAGpf8uqf9urf!unb%dobpbqbrbsbBGSgCG#uTgDGUgEGVgFGGG$uHGIG=e|eiq~nWgJGjq%uXgKGkq'ulqYgLGmqnq(uoqZgMGpqqqrqsqsfUi)uNG~otfVi*u+uap0g,uuf-uvf.uwf/uOG:u1g;uaoxfyf#zPGQGzf$zRGSG=uAf%zTG?u@uBf'zUG[u2g]uVG^u3g(zWG_uCf`u)zXG{uDf*zYG|uEf+zZG}u0GFf,z~u1GGf2G4gav3G-zbv4G5G.zHf/z6G:z7G8G9G;z!G=z#G$G?ztq@z%Guq'G'dWicvdvevfv(dgvXihvivjvkv(G[zlvmv]z^znv)G_zov*Ggc+G5 tb1b2bpv,G5gqv-G6g`zub; {z|z= }z~z.G7ghc/Gic:Gjc;Gkc=Glc?Grvsvtvvquvvv3bwqxqyqzqwvxv4bAqBqCqDqEqN u Fq6 Gq7 KjaALj@G[GmjMjNjnjOjPj8g]GbobAyvzvAv^G5bv 6bBvCvmc_G`G7bHqcADvEvFv)doj{G|G%cNd'cX 9gvb*d(c4nIq5nJq(h!m~haiIf`e]d}Gad~GbdqjaHbHGv)cbpHvcHcpIvdH~irjsjSjtjujTjvjUjwjxjVjyjdpJveHepKvfHgHhHUeKqiHJfLvjHkHlHmH8bnHoHpHqHLqdA? MqeAfArHsHtHNquHYicodoyivHl m n o p q r OdgAwb+dwHxH!gyHzHMvAHhABHCHDHEHKfiAjAkAlA6hFHOqncGHNvLfmAH Ovoc5ePvMfI t unnAHHoA#gIHQvRvJHSvKHLHTvUvMHNHOHVvPHQHRHWvXvSHTHYvZv0vUH1vVHWH2v3vXHYH4vZH5v0H6v7v1H2H3H8v4H5H6H9v7H8H!v9H#v!H$v#H%v'v$H%H(v)v'H*v+v(H,v-v)H.v/v*H:v;v+H=v?v,H-H.H/H$g:H;HpA=HqA@v?H[vrAsA@H]v[H^v_vtAuAPqvAwAxAyA]HzA^HAABA_H`v`H{H|H}H~HZiaIgizi)h3ebiAi0i%gbIcI'gdIfppceICA{vqcfIDA|vrcgIgpPdhI}vVeiIhp*eQqEAjIFAvnGAkIHAlI3hscmIcitcnIdiucoI4hTdpIipWeqI~vXerIawYesIjp+ergIAtIkpZeuIbw0evIcw1ewIlp,eJAKALAxIMAyIzIxbyb9b@ NAOAvcAIBICIwcaj[ ^ddweompnpewfoopppqpfwgorpDIEIFIGI(gHIIIJIKIUhgwzbY hwLI*cPAMIAbRqNI+cQAOIBbSqPIiwjwQIRISIkwTIUIVIlwmwWIXInwow)gYIZIpwqw0IRA1Irw2ISA3I4ITA,c-cxc5I6ITqyc7IswhoUq8I9ICb!b!IsptwuwDb#IVqWqXqvwwwxw$IEbywzw%IFb'ItpioupAwGb(IBwYqCw)Izc*IZq0q+I8 ,I1q2q3q-I9 .I4q5q6q/I7q! :I8q9q;I] AcNfUA^ VAWA_ XAYA=I?I@I1iDwEwvpOf2iFwwpxpPfGwQf[I]I*gVh]eZAHwRfIwSfJwTf^I_I0A`I+g{I|I}I~IaJbJcJdJeJfJgJKw,ghJiJjJkJ1A2AlJmJ-gBcnJ!qoJ.gpJ/gqJ#b$b3A4AHb.cogZ P Q rJsJ:gtJuJ;gvJwJ=gxJyJLw?g,dzJAJMw@g3iNwOwypUf4iPwzpApVf5iQwRwBpCpWfBJXfSwYfTwZfUwIb-dJbKbLbMbNbCJ[gDJVw]gEJ^gFJ_gGJHJWwIJJJ?e}e#qjo`gKJ$qXw{gLJ%qYw'q|gMJ(q)qZw*q}gNJ+q,q-q.q0f6i0wOJDp1f7i1w2wEp~g3w2f4w3f5w4f6wPJ7wah8wko5f6f5AQJRJ7f6ASJTJ9w8f7AUJ!w#w9f8AVJ$wbh%wWJ'wch9AXJ(w!f)w!AYJ*w#f#AZJ+w$f$A0J,w1J%f%A-w2J'f3Jdh.w4J'A/w5J6J(A(f)A7J*A8J9J!J+A#J,A$J%J-A/q.A'J:q(J.d8i:w;w=w?w/d@w9i[w]w^w_w)J/A`w{w:A;A|w*J=A}w+JCc,J# Ob%b'b~w-Jehax.Jfh?APb` @A[A{ ]A^A/JghDc:JEc;JFc=JGc?JHc@Jbxcxdx;qexfx(b=q?q@q[qgxhx)b]q^q_q`q{qR w |q$ }q% Wj_AXj[J]JzjYjZjAj0j1jhh^Jlo`Aixjxkx_J*bx +blxmxIc`J{J,b~q{Anxoxpx:dBj|J}J1d_d2d| ihJcwe3d6nar7nbrhi#mHiIi)f{eDe~J;daK=d3jbKcKqx4dFprxdKGpsxeKCj4j5j*j6j7j+j8j,j9j!j-j#jHptxfKIpuxgKhKiK6ecrjK*fvxkKlKmKnK/coKpKqKrKdr|A-ber}A~AsKtKuKfrvK/imono#iwKy z A B C D E `daBKcxexKyKjhzKAKwxBKbBCKDKEKFK+fcBdBeBfBeiGKgrddHKxx,fgB0 yxed.ezx-f1 J wnhBIKiBkhJKAxBxKKCxLKMKDxExNKOKPKFxQKRKSKGxHxTKUKIxJxKxVKLxWKXKMxNxYKZKOx0KPx1KQxRx2K3K4KSx5K6K7KTx8K9KUx!KVx#KWx$KXxYx%K'KZx0x(K1x2x)K3x4x*K5x6x+K7x8x,K9x!x-K.K/K:Klh;K=KjB?KkB#x@K$xlBmB[K%x]K'x(xnBoBhrpBqBrBsB^KtB_KuBvB`K)x{K|K}K~KaL:ibL!i$iii-eJi%i;imhcLdLnheLJpfdfLwB*xgdgLxB+xhdhLKp{diL,x7ejLLp/eiryBkLzBxnABlLBBmL:hidnLKijdoLLikdpL;haeqLMp8erL-x9esL.x!etLNp:esgCBuLOp#evL/x$ewL:x%exLPp;eDBEBFByLGBzLALLcMc:c.bHBIBldBLCLDLmdDj/bEe;xooQpRp=xpoSpTpUp?xqoVpELFLGLHLohILJLKLLLWh@xNc} [xML5dJBNLOcjrOL6dKBPLPckrQL]x^xRLSLTL_xULVLWL`x{xXLYL|x}xphZL0L~xay1LLB2Lby3LMB4L5LNB7d8dnd6L7Llrod8Lcyromr9L!LQc;c#LWpdyeyRc$Lnrorprfygyhy%LSciyjy'LTc(LXpsoYpkyUc)Llyqrmy*Lpd+Lrrsr,LQb-Ltrurvr.LRb/Lwrxryr:LzrSb;LArBr=L:bqd.fOB;bPBQB=bRBSB?L@L[L=inyoyZp/f?ipy0p1p:fqy;f]L^LqhXh^eTBry=fsy?fty@f_L`LUB{Lrh|L}L~LaMbMcMdMeMfMgMhMuyshiMjMkMlMVBWBmMnMthrdoMCrpMuhqMvhrM=c?cXBYBVc9dpg~ ( ) sMtMwhuMvMxhwMxMyhyMzMvyzhyeAMBMwyAh@ixyyy2p[f[izy3p4p]f]iAyBy5p6p^fCM_fCy`fDy{fEyWczeXcYcZc0c1cDMBhEMFyChFMDhGMEhHMIMGyJMKM@e~eDrtoFhLMErHyGhMMFrIyGrHhNMHrIrJyJrIhOMKrLrMrNr|f^iKyPM7p}f_iLyMy8pJhNy~fOyagPybgQyQMRyKhSyuocgdgZBRMSMeg0BTMUMTyfg1BVMUyVygg2BWMWyLhXyXMYyMh3BYMZyhg0y4BZM1yig5B0M2yjg6B1M3y2Mkg7B4y3Mlg4MNh5y5M8B6y6M7M9Bmg!B8M#B9M!M#M$B$M%B%M'M'BOr(B(MPr)MAe`i7y8y9y!yBe#y{i$y%y'y(y*M)B)y*y*B+B+y+M,B,y,Msd-MTb2c@c[c-y.MOh.y/MPh-B3c?b.B/B@b:B;B:MQhtd;Mud=Mvd?Mwd@Mxd[M/y:y;yQr=y?y]cRrSrTrUr@y[y^cVrWrXrYrZr* S 0rUb1rVb.j=B/j]M^M$j:j;j%j=j?jRh_Mvo?B]y^y_y`M_cT `c`y{yyd{M|M{c2r@B|y}y~yCe'j}M
93 return a if a is not None else self.name 2{D4czd5cU zgab!d6c2n)p3n*p7h9m_h`haf_e@d|D|c}D}cdj~DaEWt7c8oXtbE9oYtcE|iejfjGjgjhjHjijIjjjkjJjlj!oZtdE#o0teEfEgEMe+phEbf1tiEjEkElEWbmEnEoEpE,pjz+ -pkzlzqErEsE.ptEMi]n^npiuEe f g h i j k Admzbb#dvEwEAgxEyE2tzEnzAEBECEDEcfozpzqzrz5hEE/p[bFE3tdfszF 4t]b4e5tefG s sntzGEuzBgHE6t7tIE8tJEKE9t!tLEMENE#tOEPEQE$t%tRESE't(t)tTE*tUEVE+t,tWEXE-tYE.tZE/t:t0E1E2E;t3E4E5E=t6E7E?t8E@t9E[t!E]t^t#E$E_t`t%E{t|t'E}t~t(Eaubu)Ecudu*Eeufu+E,E-E.ECg/E:Evz;Ewzgu=Ehuxzyz?Eiu@EjukuzzAz:pBzCzDzEz[EFz]EGzHz^Elu_E`E{E|E}ENi~Efiqi8h2e{hriOiDgaFbFEgcF$o^bdFIzmu_beFJznu`bfF%oBdgFouNehF'o'e;pKziFLztnMzjFNzkF1h{blF|h|bmF}h}bnF2hFdoF(oOepFpuPeqFquQerF)o(eqgOzsF*oRetFruSeuFsuTevF+o)ePzQzRzwFSzxFyFcbdbXb, TzUz~bzFAFBFac}i- [dtu_n,o-ouu`n.o/o:ovu{n;oCFDFEFFFFgGFHFIFJFShwuebV xuKF8cVzLFfb=pMF9cWzNFgb?pOFyuzuPFQFRFAuSFTFUFBuCuVFWFDuEuGgXFYFFuGuZFXz0FHu1FYz2F3FZz!c#cbc4F5F@pcc6FIu|n[p7F8FhbYb9F=oJuKuib!F]p^p_pLuMuNu#FjbOuPu$Fkb%F?o}n@oQulb'FRu`pSu(Fdc)F{p|p*F2 +F}p~paq,F3 -Fbqcqdq.Feq4 /Ffqgq:F. ecff0z/ 1z2z: 3z4z;F=F?FPiTuUu[ogfQiVu]o^ohfWuif@F[FHgTh[e5zXujfYukfZulf]F^F6z_FIg`F{F|F}F~FaGbGcGdGeGfG0uJggGhGiGjG7z8zkGlGKgfcmGhqnGLgoGMgpGZb0b9z!zmb$cngW L M qGrGNgsGtGOguGvGPgwGxG1uQg$dyGzG2uRgRi3u4u_omfSi5u`o{onfTi6u7u|o}oofAGpf8uqf9urf!unb%dobpbqbrbsbBGSgCG#uTgDGUgEGVgFGGG$uHGIG=e|eiq~nWgJGjq%uXgKGkq'ulqYgLGmqnq(uoqZgMGpqqqrqsqsfUi)uNG~otfVi*u+uap0g,uuf-uvf.uwf/uOG:u1g;uaoxfyf#zPGQGzf$zRGSG=uAf%zTG?u@uBf'zUG[u2g]uVG^u3g(zWG_uCf`u)zXG{uDf*zYG|uEf+zZG}u0GFf,z~u1GGf2G4gav3G-zbv4G5G.zHf/z6G:z7G8G9G;z!G=z#G$G?ztq@z%Guq'G'dWicvdvevfv(dgvXihvivjvkv(G[zlvmv]z^znv)G_zov*Ggc+G5 tb1b2bpv,G5gqv-G6g`zub; {z|z= }z~z.G7ghc/Gic:Gjc;Gkc=Glc?Grvsvtvvquvvv3bwqxqyqzqwvxv4bAqBqCqDqEqN u Fq6 Gq7 KjaALj@G[GmjMjNjnjOjPj8g]GbobAyvzvAv^G5bv 6bBvCvmc_G`G7bHqcADvEvFv)doj{G|G%cNd'cX 9gvb*d(c4nIq5nJq(h!m~haiIf`e]d}Gad~GbdqjaHbHGv)cbpHvcHcpIvdH~irjsjSjtjujTjvjUjwjxjVjyjdpJveHepKvfHgHhHUeKqiHJfLvjHkHlHmH8bnHoHpHqHLqdA? MqeAfArHsHtHNquHYicodoyivHl m n o p q r OdgAwb+dwHxH!gyHzHMvAHhABHCHDHEHKfiAjAkAlA6hFHOqncGHNvLfmAH Ovoc5ePvMfI t unnAHHoA#gIHQvRvJHSvKHLHTvUvMHNHOHVvPHQHRHWvXvSHTHYvZv0vUH1vVHWH2v3vXHYH4vZH5v0H6v7v1H2H3H8v4H5H6H9v7H8H!v9H#v!H$v#H%v'v$H%H(v)v'H*v+v(H,v-v)H.v/v*H:v;v+H=v?v,H-H.H/H$g:H;HpA=HqA@v?H[vrAsA@H]v[H^v_vtAuAPqvAwAxAyA]HzA^HAABA_H`v`H{H|H}H~HZiaIgizi)h3ebiAi0i%gbIcI'gdIfppceICA{vqcfIDA|vrcgIgpPdhI}vVeiIhp*eQqEAjIFAvnGAkIHAlI3hscmIcitcnIdiucoI4hTdpIipWeqI~vXerIawYesIjp+ergIAtIkpZeuIbw0evIcw1ewIlp,eJAKALAxIMAyIzIxbyb9b@ NAOAvcAIBICIwcaj[ ^ddweompnpewfoopppqpfwgorpDIEIFIGI(gHIIIJIKIUhgwzbY hwLI*cPAMIAbRqNI+cQAOIBbSqPIiwjwQIRISIkwTIUIVIlwmwWIXInwow)gYIZIpwqw0IRA1Irw2ISA3I4ITA,c-cxc5I6ITqyc7IswhoUq8I9ICb!b!IsptwuwDb#IVqWqXqvwwwxw$IEbywzw%IFb'ItpioupAwGb(IBwYqCw)Izc*IZq0q+I8 ,I1q2q3q-I9 .I4q5q6q/I7q! :I8q9q;I] AcNfUA^ VAWA_ XAYA=I?I@I1iDwEwvpOf2iFwwpxpPfGwQf[I]I*gVh]eZAHwRfIwSfJwTf^I_I0A`I+g{I|I}I~IaJbJcJdJeJfJgJKw,ghJiJjJkJ1A2AlJmJ-gBcnJ!qoJ.gpJ/gqJ#b$b3A4AHb.cogZ P Q rJsJ:gtJuJ;gvJwJ=gxJyJLw?g,dzJAJMw@g3iNwOwypUf4iPwzpApVf5iQwRwBpCpWfBJXfSwYfTwZfUwIb-dJbKbLbMbNbCJ[gDJVw]gEJ^gFJ_gGJHJWwIJJJ?e}e#qjo`gKJ$qXw{gLJ%qYw'q|gMJ(q)qZw*q}gNJ+q,q-q.q0f6i0wOJDp1f7i1w2wEp~g3w2f4w3f5w4f6wPJ7wah8wko5f6f5AQJRJ7f6ASJTJ9w8f7AUJ!w#w9f8AVJ$wbh%wWJ'wch9AXJ(w!f)w!AYJ*w#f#AZJ+w$f$A0J,w1J%f%A-w2J'f3Jdh.w4J'A/w5J6J(A(f)A7J*A8J9J!J+A#J,A$J%J-A/q.A'J:q(J.d8i:w;w=w?w/d@w9i[w]w^w_w)J/A`w{w:A;A|w*J=A}w+JCc,J# Ob%b'b~w-Jehax.Jfh?APb` @A[A{ ]A^A/JghDc:JEc;JFc=JGc?JHc@Jbxcxdx;qexfx(b=q?q@q[qgxhx)b]q^q_q`q{qR w |q$ }q% Wj_AXj[J]JzjYjZjAj0j1jhh^Jlo`Aixjxkx_J*bx +blxmxIc`J{J,b~q{Anxoxpx:dBj|J}J1d_d2d| ihJcwe3d6nar7nbrhi#mHiIi)f{eDe~J;daK=d3jbKcKqx4dFprxdKGpsxeKCj4j5j*j6j7j+j8j,j9j!j-j#jHptxfKIpuxgKhKiK6ecrjK*fvxkKlKmKnK/coKpKqKrKdr|A-ber}A~AsKtKuKfrvK/imono#iwKy z A B C D E `daBKcxexKyKjhzKAKwxBKbBCKDKEKFK+fcBdBeBfBeiGKgrddHKxx,fgB0 yxed.ezx-f1 J wnhBIKiBkhJKAxBxKKCxLKMKDxExNKOKPKFxQKRKSKGxHxTKUKIxJxKxVKLxWKXKMxNxYKZKOx0KPx1KQxRx2K3K4KSx5K6K7KTx8K9KUx!KVx#KWx$KXxYx%K'KZx0x(K1x2x)K3x4x*K5x6x+K7x8x,K9x!x-K.K/K:Klh;K=KjB?KkB#x@K$xlBmB[K%x]K'x(xnBoBhrpBqBrBsB^KtB_KuBvB`K)x{K|K}K~KaL:ibL!i$iii-eJi%i;imhcLdLnheLJpfdfLwB*xgdgLxB+xhdhLKp{diL,x7ejLLp/eiryBkLzBxnABlLBBmL:hidnLKijdoLLikdpL;haeqLMp8erL-x9esL.x!etLNp:esgCBuLOp#evL/x$ewL:x%exLPp;eDBEBFByLGBzLALLcMc:c.bHBIBldBLCLDLmdDj/bEe;xooQpRp=xpoSpTpUp?xqoVpELFLGLHLohILJLKLLLWh@xNc} [xML5dJBNLOcjrOL6dKBPLPckrQL]x^xRLSLTL_xULVLWL`x{xXLYL|x}xphZL0L~xay1LLB2Lby3LMB4L5LNB7d8dnd6L7Llrod8Lcyromr9L!LQc;c#LWpdyeyRc$Lnrorprfygyhy%LSciyjy'LTc(LXpsoYpkyUc)Llyqrmy*Lpd+Lrrsr,LQb-Ltrurvr.LRb/Lwrxryr:LzrSb;LArBr=L:bqd.fOB;bPBQB=bRBSB?L@L[L=inyoyZp/f?ipy0p1p:fqy;f]L^LqhXh^eTBry=fsy?fty@f_L`LUB{Lrh|L}L~LaMbMcMdMeMfMgMhMuyshiMjMkMlMVBWBmMnMthrdoMCrpMuhqMvhrM=c?cXBYBVc9dpg~ ( ) sMtMwhuMvMxhwMxMyhyMzMvyzhyeAMBMwyAh@ixyyy2p[f[izy3p4p]f]iAyBy5p6p^fCM_fCy`fDy{fEyWczeXcYcZc0c1cDMBhEMFyChFMDhGMEhHMIMGyJMKM@e~eDrtoFhLMErHyGhMMFrIyGrHhNMHrIrJyJrIhOMKrLrMrNr|f^iKyPM7p}f_iLyMy8pJhNy~fOyagPybgQyQMRyKhSyuocgdgZBRMSMeg0BTMUMTyfg1BVMUyVygg2BWMWyLhXyXMYyMh3BYMZyhg0y4BZM1yig5B0M2yjg6B1M3y2Mkg7B4y3Mlg4MNh5y5M8B6y6M7M9Bmg!B8M#B9M!M#M$B$M%B%M'M'BOr(B(MPr)MAe`i7y8y9y!yBe#y{i$y%y'y(y*M)B)y*y*B+B+y+M,B,y,Msd-MTb2c@c[c-y.MOh.y/MPh-B3c?b.B/B@b:B;B:MQhtd;Mud=Mvd?Mwd@Mxd[M/y:y;yQr=y?y]cRrSrTrUr@y[y^cVrWrXrYrZr* S 0rUb1rVb.j=B/j]M^M$j:j;j%j=j?jRh_Mvo?B]y^y_y`M_cT `c`y{yyd{M|M{c2r@B|y}y~yCe'j}M
95 @property 1abcd
96 def validation_alias(self) -> str | None: 1abcd
97 va = self.field_info.validation_alias 2{D4czd5cU zg2n)p3n*p7h9m_h`haf_e|D}Ddj~DaEWt7c8oXtbE9oYtcE|iejfjGjgjhjHjijIjjjkjJjlj!oZtdE#o0teEfEgE+phEbf1tiEjEkElEWbmEnEoEpE,pjz+ -pkzlzqErEsE.ptEMi]n^npiieuEe f g h i j k Admzbb#dvEwEAgxEyE2tzEnzAEBECEDEcfozpzqzrz5hjeEE/p[bFE3tdfszF 4t]b4e5tefG s sntzGEuzBgHE6t7tIE8tJEKE9t!tLEMENE#tOEPEQE$t%tRESE't(t)tTE*tUEVE+t,tWEXE-tYE.tZE/t:t0E1E2E;t3E4E5E=t6E7E?t8E@t9E[t!E]t^t#E$E_t`t%E{t|t'E}t~t(Eaubu)Ecudu*Eeufu+E,E-E.ECg/E:Evz;Ewzgu=Ehuxzyz?Eiu@EjukuzzAz:pBzCzDzEz[EFz]EGzHz^Elu_E`E{E|E}ENi~EfiK qi8h2e{hriOiDgaFBOYhbFEg~cCO[BDO]B-i^B3r4rEO5rFO6r7rcF$o^b8rGO9r_B`BHO~M{BIO|BaN}BdFIzmu_b~BJObNaCbCcCdCeCfCKOcNLOgCdNeFJznu`bhCMOeN!r#rNO$rOO%r'rfF%oBd(rPO)riCjCQOkCROlCmCgFouNenCSOoC*r+rTO,rUO-r.rhF'o'e/rVO:r;pfNgNazhNbziNjNKzCdkNczlNiFmNnNWOoNXOpNqNLzDdrNYOsNtntNuNwovNxowNxNMzEdyNyozNjFANBNZOCN0ODNENNzkeFN1OGN;r=r2O9h3O?r!hkF1h{b@r4O#hpCqC5Osi6OrCtilF|h|bsC7OuitCuC8Ovi9OvCwimF}h}bwC!Oxi[r]r#O$h$O^r%hnF2hFd_r%O'h`r{r'O|r(O}r~roF(oOeas)ObsxCyC*OzC+OACBCpFpuPeCC,ODCECFC-OGC.OHCICqFquQeJC/OKCcsds:Oes;OfsgsrF)o(ehs=OisqgOzjsks?Ols@OmsnssF*oReos[OpsLCMC]ONC^OOCPCtFruSeQC_ORCSCTC`OUC{OVCWCuFsuTeXC|OYCqsrs}Oss~OtsusvF+o)evsaPwsPzQzRzwFSzxFyFTzUzzFAFBF}i- Gdtu_n,o-oHduu`n.o/oId:ovu{n;oCFDFEFFFFgGFHFIFJFwuebV xuKF8cVzLFfb=pMF9cWzNFgb?pOFyuzuPFQFRFAuSFTFUFBuCuVFWFDuEuGgXFYFFuGuZFXz0FHu1FYz2F3FZz!c#cbc4F5F@pcc6FIu|n[p7F8FhbYb9F=oJuKuib!F]p^p_pLuMuNu#FjbOuPu$Fkb%F?o}n@oQulb'FRu`pSu(Fdc)F{p|p*F2 +F}p~paq,F3 -Fbqcqdq.Feq4 /Ffqgq:F. ecff0z/ 1z2z: 3z4z;F=F?FPiTuUu[ogfQiVu]o^ohfWuif@F[FHg[e5zXujfYukfZulf]F^F6z_FIg`F{F|F}F~FaGbGcGdGeGfG0uJggGhGiGjG7z8zkGlGKgfcmGhqnGLgoGMgpGZb0b9z!zmbW L M qGrGNgsGtGOguGvGPgwGxG1uQg$dyGzG2uRgRi3u4u_omfSi5u`o{onfTi6u7u|o}oofAGpf8uqf9urf!unb%dobpbqbrbsbBGSgCG#uTgDGUgEGVgFGGG$uHGIG=e|eiq~nWgJGjq%uXgKGkq'ulqYgLGmqnq(uoqZgMGpqqqrqsqsfUi)uNG~otfVi*u+uap0g,uuf-uvf.uwf/uOG:u1g;uaoxfyf#zPGQGzf$zRGSG=uAf%zTG?u@uBf'zUG[u2g]uVG^u3g(zWG_uCf`u)zXG{uDf*zYG|uEf+zZG}utgbPHNINugcPZCJNKN0GFf,z~u1GGf2G4gav3G-zbv4G5G.zHfle/z6G:z7G8GJd9G;z!G=zme#G$GKd?ztq@z%GLduq'G'dWicvdvevfv(dgvXihvivjvkvne(G[zlvmv]zoe^znv)G_zov*Ggc+G5 tb1b2bpv,G5gqv-G6g`zub; {z|z= }z~z.G7ghc/Gic:Gjc;Gkc=Glc?GrvsvtvMdvquvvv3bwqxqyqzqwvxv4bAqBqCqDqEqN u Fq6 Gq7 KjaALj@G[GmjMjNjnjOjPj8g]GbobAyvzvAv^G5bv 6bBvCvmc_G`G7bHqcADvEvFv)doj{G|G%cNd'cX 9g4nIq5nJq(h!m~haiIf`e}G~GqjaHbHGv)cbpHvcHcpIvdH~irjsjSjtjujTjvjUjwjxjVjyjdpJveHepKvfHgHhHKqiHJfLvjHkHlHmH8bnHoHpHqHLqdA? MqeAfArHsHtHNquHYicodoyipevHl m n o p q r OdgAwb+dwHxH!gyHzHMvAHhABHCHDHEHKfiAjAkAlA6hqeFHOqncGHNvLfmAH Ovoc5ePvMfI t unnAHHoA#gIHQvRvJHSvKHLHTvUvMHNHOHVvPHQHRHWvXvSHTHYvZv0vUH1vVHWH2v3vXHYH4vZH5v0H6v7v1H2H3H8v4H5H6H9v7H8H!v9H#v!H$v#H%v'v$H%H(v)v'H*v+v(H,v-v)H.v/v*H:v;v+H=v?v,H-H.H/H$g:H;HpA=HqA@v?H[vrAsA@H]v[H^v_vtAuAPqvAwAxAyA]HzA^HAABA_H`v`H{H|H}H~HZiaIgiO zi)h3ebiAi0i%gbIdPZhcI'gcdeP0CfP1C.i2CxsysgPzshPAsBsdIfppcCsiPDs3C4CjPLN5CkP6CMN7CeICA{vqc8ClPNN9C!C#C$C%C'CmPONnP(CPNfIDA|vrc)CoPQNEsFspPGsqPHsIsgIgpPdJsrPKs*C+CsP,CtP-C.ChI}vVe/CuP:CLsMsvPNswPOsPsiIhp*eQsxPRsQqRNSNdzTNezUNVNEAQdWNfzXNjIYNZNyP0NzP1N2NFARd3NAP4Nvn5N6Nzo7NAo8N9NGASd!NBo#NkI$N%NBP'NCP(N)NHAre*NDP+NSsTsEP*hFPUs+hlI3hscVsGP,h;C=CHPBiIP?CCimIcitc@CJPDi[C]CKPEiLP^CFinIdiuc_CMPGiWsXsNP-hOPYs.hoI4hTdZsPP/h0s1sQP2sRP3s4spIipWe5sSP6s`C{CTP|CUP}C~CqI~vXeaDVPbDcDdDWPeDXPfDgDrIawYehDYPiD7s8sZP9s0P!s#ssIjp+e$s1P%srgIA's(s2P)s3P*s+stIkpZe,s4P-sjDkD5PlD6PmDnDuIbw0eoD7PpDqDrD8PsD9PtDuDvIcw1evD!PwD.s/s#P:s$P;s=swIlp,e?s%P@sJAKALAxIMAyIzINAOAAIBICIaj[ UddweompnpVdewfoopppWdqpfwgorpDIEIFIGI(gHIIIJIKIgwzbY hwLI*cPAMIAbRqNI+cQAOIBbSqPIiwjwQIRISIkwTIUIVIlwmwWIXInwow)gYIZIpwqw0IRA1Irw2ISA3I4ITA,c-cxc5I6ITqyc7IswhoUq8I9ICb!b!IsptwuwDb#IVqWqXqvwwwxw$IEbywzw%IFb'ItpioupAwGb(IBwYqCw)Izc*IZq0q+I8 ,I1q2q3q-I9 .I4q5q6q/I7q! :I8q9q;I] AcNfUA^ VAWA_ XAYA=I?I@I1iDwEwvpOf2iFwwpxpPfGwQf[I]I*g]eZAHwRfIwSfJwTf^I_I0A`I+g{I|I}I~IaJbJcJdJeJfJgJKw,ghJiJjJkJ1A2AlJmJ-gBcnJ!qoJ.gpJ/gqJ#b$b3A4AHbZ P Q rJsJ:gtJuJ;gvJwJ=gxJyJLw?g,dzJAJMw@g3iNwOwypUf4iPwzpApVf5iQwRwBpCpWfBJXfSwYfTwZfUwIb-dJbKbLbMbNbCJ[gDJVw]gEJ^gFJ_gGJHJWwIJJJ?e}e#qjo`gKJ$qXw{gLJ%qYw'q|gMJ(q)qZw*q}gNJ+q,q-q.q0f6i0wOJDp1f7i1w2wEp~g3w2f4w3f5w4f6wPJ7wah8wko5f6f5AQJRJ7f6ASJTJ9w8f7AUJ!w#w9f8AVJ$wbh%wWJ'wch9AXJ(w!f)w!AYJ*w#f#AZJ+w$f$A0J,wvg'P,N-Nwg(PxD.N/N1J%f%A-w2J'f3Jdh.w4J'A/w5J6J(A(fse)A7J*A8J9JXd!J+A#J,Ate$J%JYd-A/q.A'JZd:q(J.d8i:w;w=w?w/d@w9i[w]w^w_wue)J/A`w{w:Ave;A|w*J=A}w+JCc,J# Ob%b'b~w-Jehax.Jfh?APb` @A[A{ ]A^A/JghDc:JEc;JFc=JGc?JHc@Jbxcxdx0d;qexfx(b=q?q@q[qgxhx)b]q^q_q`q{qR w |q$ }q% Wj_AXj[J]JzjYjZjAj0j1jhh^Jlo`Aixjxkx_J*bx +blxmxIc`J{J,b~q{Anxoxpx:dBj|J}J1d_d2d| ih6nar7nbrhi#mHiIi)f{e~JaK3jbKcKqx4dFprxdKGpsxeKCj4j5j*j6j7j+j8j,j9j!j-j#jHptxfKIpuxgKhKiKcrjK*fvxkKlKmKnK/coKpKqKrKdr|A-ber}A~AsKtKuKfrvK/imono#iFewKy z A B C D E `daBKcxexKyKjhzKAKwxBKbBCKDKEKFK+fcBdBeBfBeiGeGKgrddHKxx,fgB0 yxed.ezx-f1 J wnhBIKiBkhJKAxBxKKCxLKMKDxExNKOKPKFxQKRKSKGxHxTKUKIxJxKxVKLxWKXKMxNxYKZKOx0KPx1KQxRx2K3K4KSx5K6K7KTx8K9KUx!KVx#KWx$KXxYx%K'KZx0x(K1x2x)K3x4x*K5x6x+K7x8x,K9x!x-K.K/K:Klh;K=KjB?KkB#x@K$xlBmB[K%x]K'x(xnBoBhrpBqBrBsB^KtB_KuBvB`K)x{K|K}K~KaL:ibL!i' $iii-eJi%i;imhcL)P0hdLnh?d*PyD+PzDbjAD[s]s,P^s-P_s`seLJpfd{s.P|sBDCD/P:NDD:PED;NFDfLwB*xgdGD;P=NHDIDJDKDLDMD=P?N?PND@NgLxB+xhdOD@P[N}s~s[Pat]PbtcthLKp{ddt^PetPDQD_PRD`PSDTDiL,x7eUD{PVDftgt|Pht}PitjtjLLp/ekt~Pltir]N^Ngz_Nhz`N{NyB|d|Niz}NkL~NaOaQbObQcOdOzB}deOcQfOxngOhOCoiODojOkOAB~dlOEomOlLnOoOdQpOeQqOrOBBHesOfQtOmtntgQjihQotkimL:hidptiQliWDXDjQ'ikQYD(inLKijdZDlQ)i0D1DmQ*inQ2D+ioLLikd3DoQ,iqtrtpQmiqQstnipL;haettrQoiutvtsQwttQxtytqLMp8eztuQAt4D5DvQ6DwQ7D8DrL-x9e9DxQ!D#D$DyQ%DzQ'D(DsL.x!e)DAQ*DBtCtBQDtCQEtFttLNp:eGtDQHtsgCBItJtEQKtFQLtMtuLOp#eNtGQOt+D,DHQ-DIQ.D/DvL/x$e:DJQ;D=D?DKQ@DLQ[D]DwL:x%e^DMQ_DPtQtNQRtOQStTtxLPp;eUtPQVtDBEBFByLGBzLALHBIBBLCLDLDj/bbe;xooQpRpce=xpoSpTpdeUp?xqoVpELFLGLHLohILJLKLLL@xNc} [xML5dJBNLOcjrOL6dKBPLPckrQL]x^xRLSLTL_xULVLWL`x{xXLYL|x}xphZL0L~xay1LLB2Lby3LMB4L5LNB7d8dnd6L7Llrod8Lcyromr9L!LQc;c#LWpdyeyRc$Lnrorprfygyhy%LSciyjy'LTc(LXpsoYpkyUc)Llyqrmy*Lpd+Lrrsr,LQb-Ltrurvr.LRb/Lwrxryr:LzrSb;LArBr=L:bqd.fOB;bPBQB=bRBSB?L@L[L=inyoyZp/f?ipy0p1p:fqy;f]L^Lqh^eTBry=fsy?fty@f_L`LUB{Lrh|L}L~LaMbMcMdMeMfMgMhMuyshiMjMkMlMVBWBmMnMthrdoMCrpMuhqMvhrM=c?cXBYBVc~ ( ) sMtMwhuMvMxhwMxMyhyMzMvyzhyeAMBMwyAh@ixyyy2p[f[izy3p4p]f]iAyBy5p6p^fCM_fCy`fDy{fEyWczeXcYcZc0c1cDMBhEMFyChFMDhGMEhHMIMGyJMKM@e~eDrtoFhLMErHyGhMMFrIyGrHhNMHrIrJyJrIhOMKrLrMrNr|f^iKyPM7p}f_iLyMy8pJhNy~fOyagPybgQyQMRyKhSyuocgdgZBRMSMeg0BTMUMTyfg1BVMUyVygg2BWMWyLhXyXMYyMh3BYMZyhg0y4BZM1yig5B0M2yjg6B1M3yxgQQuOvOygRQ`DwOxO2Mkg7B4y3Mlg4MNh5y5M8B6y6M7M9BmgIe!B8M#B9M!Mee#M$B$M%BJe%M'Mfe'BOr(B(MgePr)MAe`i7y8y9y!yBe#y{i$y%y'y(yKe*M)B)y*y*BLe+B+y+M,B,y,Msd-MTb2c@c[c-y.MOh.y/MPh-B3c?b.B/B@b:B;B:MQhtd;Mud=Mvd?Mwd@Mxd[M/y:y;yheQr=y?y]cRrSrTrUr@y[y^cVrWrXrYrZr* S 0rUb1rVb.j=B/j]M^M$j:j;j%j=j?jRh_Mvo?B]y^y_y`M_cT `c`y{yyd{M|M{c2r@B|y}y~yCe'j}M
98 if isinstance(va, str) and va: 2{D4czd5cU zg2n)p3n*p7h9m_h`haf_e|D}Ddj~DaEWt7c8oXtbE9oYtcE|iejfjGjgjhjHjijIjjjkjJjlj!oZtdE#o0teEfEgE+phEbf1tiEjEkElEWbmEnEoEpE,pjz+ -pkzlzqErEsE.ptEMi]n^npiieuEe f g h i j k Admzbb#dvEwEAgxEyE2tzEnzAEBECEDEcfozpzqzrz5hjeEE/p[bFE3tdfszF 4t]b4e5tefG s sntzGEuzBgHE6t7tIE8tJEKE9t!tLEMENE#tOEPEQE$t%tRESE't(t)tTE*tUEVE+t,tWEXE-tYE.tZE/t:t0E1E2E;t3E4E5E=t6E7E?t8E@t9E[t!E]t^t#E$E_t`t%E{t|t'E}t~t(Eaubu)Ecudu*Eeufu+E,E-E.ECg/E:Evz;Ewzgu=Ehuxzyz?Eiu@EjukuzzAz:pBzCzDzEz[EFz]EGzHz^Elu_E`E{E|E}ENi~EfiK qi8h2e{hriOiDgaFBOYhbFEg~cCO[BDO]B-i^B3r4rEO5rFO6r7rcF$o^b8rGO9r_B`BHO~M{BIO|BaN}BdFIzmu_b~BJObNaCbCcCdCeCfCKOcNLOgCdNeFJznu`bhCMOeN!r#rNO$rOO%r'rfF%oBd(rPO)riCjCQOkCROlCmCgFouNenCSOoC*r+rTO,rUO-r.rhF'o'e/rVO:r;pfNgNazhNbziNjNKzCdkNczlNiFmNnNWOoNXOpNqNLzDdrNYOsNtntNuNwovNxowNxNMzEdyNyozNjFANBNZOCN0ODNENNzkeFN1OGN;r=r2O9h3O?r!hkF1h{b@r4O#hpCqC5Osi6OrCtilF|h|bsC7OuitCuC8Ovi9OvCwimF}h}bwC!Oxi[r]r#O$h$O^r%hnF2hFd_r%O'h`r{r'O|r(O}r~roF(oOeas)ObsxCyC*OzC+OACBCpFpuPeCC,ODCECFC-OGC.OHCICqFquQeJC/OKCcsds:Oes;OfsgsrF)o(ehs=OisqgOzjsks?Ols@OmsnssF*oReos[OpsLCMC]ONC^OOCPCtFruSeQC_ORCSCTC`OUC{OVCWCuFsuTeXC|OYCqsrs}Oss~OtsusvF+o)evsaPwsPzQzRzwFSzxFyFTzUzzFAFBF}i- Gdtu_n,o-oHduu`n.o/oId:ovu{n;oCFDFEFFFFgGFHFIFJFwuebV xuKF8cVzLFfb=pMF9cWzNFgb?pOFyuzuPFQFRFAuSFTFUFBuCuVFWFDuEuGgXFYFFuGuZFXz0FHu1FYz2F3FZz!c#cbc4F5F@pcc6FIu|n[p7F8FhbYb9F=oJuKuib!F]p^p_pLuMuNu#FjbOuPu$Fkb%F?o}n@oQulb'FRu`pSu(Fdc)F{p|p*F2 +F}p~paq,F3 -Fbqcqdq.Feq4 /Ffqgq:F. ecff0z/ 1z2z: 3z4z;F=F?FPiTuUu[ogfQiVu]o^ohfWuif@F[FHg[e5zXujfYukfZulf]F^F6z_FIg`F{F|F}F~FaGbGcGdGeGfG0uJggGhGiGjG7z8zkGlGKgfcmGhqnGLgoGMgpGZb0b9z!zmbW L M qGrGNgsGtGOguGvGPgwGxG1uQg$dyGzG2uRgRi3u4u_omfSi5u`o{onfTi6u7u|o}oofAGpf8uqf9urf!unb%dobpbqbrbsbBGSgCG#uTgDGUgEGVgFGGG$uHGIG=e|eiq~nWgJGjq%uXgKGkq'ulqYgLGmqnq(uoqZgMGpqqqrqsqsfUi)uNG~otfVi*u+uap0g,uuf-uvf.uwf/uOG:u1g;uaoxfyf#zPGQGzf$zRGSG=uAf%zTG?u@uBf'zUG[u2g]uVG^u3g(zWG_uCf`u)zXG{uDf*zYG|uEf+zZG}utgbPHNINugcPZCJNKN0GFf,z~u1GGf2G4gav3G-zbv4G5G.zHfle/z6G:z7G8GJd9G;z!G=zme#G$GKd?ztq@z%GLduq'G'dWicvdvevfv(dgvXihvivjvkvne(G[zlvmv]zoe^znv)G_zov*Ggc+G5 tb1b2bpv,G5gqv-G6g`zub; {z|z= }z~z.G7ghc/Gic:Gjc;Gkc=Glc?GrvsvtvMdvquvvv3bwqxqyqzqwvxv4bAqBqCqDqEqN u Fq6 Gq7 KjaALj@G[GmjMjNjnjOjPj8g]GbobAyvzvAv^G5bv 6bBvCvmc_G`G7bHqcADvEvFv)doj{G|G%cNd'cX 9g4nIq5nJq(h!m~haiIf`e}G~GqjaHbHGv)cbpHvcHcpIvdH~irjsjSjtjujTjvjUjwjxjVjyjdpJveHepKvfHgHhHKqiHJfLvjHkHlHmH8bnHoHpHqHLqdA? MqeAfArHsHtHNquHYicodoyipevHl m n o p q r OdgAwb+dwHxH!gyHzHMvAHhABHCHDHEHKfiAjAkAlA6hqeFHOqncGHNvLfmAH Ovoc5ePvMfI t unnAHHoA#gIHQvRvJHSvKHLHTvUvMHNHOHVvPHQHRHWvXvSHTHYvZv0vUH1vVHWH2v3vXHYH4vZH5v0H6v7v1H2H3H8v4H5H6H9v7H8H!v9H#v!H$v#H%v'v$H%H(v)v'H*v+v(H,v-v)H.v/v*H:v;v+H=v?v,H-H.H/H$g:H;HpA=HqA@v?H[vrAsA@H]v[H^v_vtAuAPqvAwAxAyA]HzA^HAABA_H`v`H{H|H}H~HZiaIgiO zi)h3ebiAi0i%gbIdPZhcI'gcdeP0CfP1C.i2CxsysgPzshPAsBsdIfppcCsiPDs3C4CjPLN5CkP6CMN7CeICA{vqc8ClPNN9C!C#C$C%C'CmPONnP(CPNfIDA|vrc)CoPQNEsFspPGsqPHsIsgIgpPdJsrPKs*C+CsP,CtP-C.ChI}vVe/CuP:CLsMsvPNswPOsPsiIhp*eQsxPRsQqRNSNdzTNezUNVNEAQdWNfzXNjIYNZNyP0NzP1N2NFARd3NAP4Nvn5N6Nzo7NAo8N9NGASd!NBo#NkI$N%NBP'NCP(N)NHAre*NDP+NSsTsEP*hFPUs+hlI3hscVsGP,h;C=CHPBiIP?CCimIcitc@CJPDi[C]CKPEiLP^CFinIdiuc_CMPGiWsXsNP-hOPYs.hoI4hTdZsPP/h0s1sQP2sRP3s4spIipWe5sSP6s`C{CTP|CUP}C~CqI~vXeaDVPbDcDdDWPeDXPfDgDrIawYehDYPiD7s8sZP9s0P!s#ssIjp+e$s1P%srgIA's(s2P)s3P*s+stIkpZe,s4P-sjDkD5PlD6PmDnDuIbw0eoD7PpDqDrD8PsD9PtDuDvIcw1evD!PwD.s/s#P:s$P;s=swIlp,e?s%P@sJAKALAxIMAyIzINAOAAIBICIaj[ UddweompnpVdewfoopppWdqpfwgorpDIEIFIGI(gHIIIJIKIgwzbY hwLI*cPAMIAbRqNI+cQAOIBbSqPIiwjwQIRISIkwTIUIVIlwmwWIXInwow)gYIZIpwqw0IRA1Irw2ISA3I4ITA,c-cxc5I6ITqyc7IswhoUq8I9ICb!b!IsptwuwDb#IVqWqXqvwwwxw$IEbywzw%IFb'ItpioupAwGb(IBwYqCw)Izc*IZq0q+I8 ,I1q2q3q-I9 .I4q5q6q/I7q! :I8q9q;I] AcNfUA^ VAWA_ XAYA=I?I@I1iDwEwvpOf2iFwwpxpPfGwQf[I]I*g]eZAHwRfIwSfJwTf^I_I0A`I+g{I|I}I~IaJbJcJdJeJfJgJKw,ghJiJjJkJ1A2AlJmJ-gBcnJ!qoJ.gpJ/gqJ#b$b3A4AHbZ P Q rJsJ:gtJuJ;gvJwJ=gxJyJLw?g,dzJAJMw@g3iNwOwypUf4iPwzpApVf5iQwRwBpCpWfBJXfSwYfTwZfUwIb-dJbKbLbMbNbCJ[gDJVw]gEJ^gFJ_gGJHJWwIJJJ?e}e#qjo`gKJ$qXw{gLJ%qYw'q|gMJ(q)qZw*q}gNJ+q,q-q.q0f6i0wOJDp1f7i1w2wEp~g3w2f4w3f5w4f6wPJ7wah8wko5f6f5AQJRJ7f6ASJTJ9w8f7AUJ!w#w9f8AVJ$wbh%wWJ'wch9AXJ(w!f)w!AYJ*w#f#AZJ+w$f$A0J,wvg'P,N-Nwg(PxD.N/N1J%f%A-w2J'f3Jdh.w4J'A/w5J6J(A(fse)A7J*A8J9JXd!J+A#J,Ate$J%JYd-A/q.A'JZd:q(J.d8i:w;w=w?w/d@w9i[w]w^w_wue)J/A`w{w:Ave;A|w*J=A}w+JCc,J# Ob%b'b~w-Jehax.Jfh?APb` @A[A{ ]A^A/JghDc:JEc;JFc=JGc?JHc@Jbxcxdx0d;qexfx(b=q?q@q[qgxhx)b]q^q_q`q{qR w |q$ }q% Wj_AXj[J]JzjYjZjAj0j1jhh^Jlo`Aixjxkx_J*bx +blxmxIc`J{J,b~q{Anxoxpx:dBj|J}J1d_d2d| ih6nar7nbrhi#mHiIi)f{e~JaK3jbKcKqx4dFprxdKGpsxeKCj4j5j*j6j7j+j8j,j9j!j-j#jHptxfKIpuxgKhKiKcrjK*fvxkKlKmKnK/coKpKqKrKdr|A-ber}A~AsKtKuKfrvK/imono#iFewKy z A B C D E `daBKcxexKyKjhzKAKwxBKbBCKDKEKFK+fcBdBeBfBeiGeGKgrddHKxx,fgB0 yxed.ezx-f1 J wnhBIKiBkhJKAxBxKKCxLKMKDxExNKOKPKFxQKRKSKGxHxTKUKIxJxKxVKLxWKXKMxNxYKZKOx0KPx1KQxRx2K3K4KSx5K6K7KTx8K9KUx!KVx#KWx$KXxYx%K'KZx0x(K1x2x)K3x4x*K5x6x+K7x8x,K9x!x-K.K/K:Klh;K=KjB?KkB#x@K$xlBmB[K%x]K'x(xnBoBhrpBqBrBsB^KtB_KuBvB`K)x{K|K}K~KaL:ibL!i' $iii-eJi%i;imhcL)P0hdLnh?d*PyD+PzDbjAD[s]s,P^s-P_s`seLJpfd{s.P|sBDCD/P:NDD:PED;NFDfLwB*xgdGD;P=NHDIDJDKDLDMD=P?N?PND@NgLxB+xhdOD@P[N}s~s[Pat]PbtcthLKp{ddt^PetPDQD_PRD`PSDTDiL,x7eUD{PVDftgt|Pht}PitjtjLLp/ekt~Pltir]N^Ngz_Nhz`N{NyB|d|Niz}NkL~NaOaQbObQcOdOzB}deOcQfOxngOhOCoiODojOkOAB~dlOEomOlLnOoOdQpOeQqOrOBBHesOfQtOmtntgQjihQotkimL:hidptiQliWDXDjQ'ikQYD(inLKijdZDlQ)i0D1DmQ*inQ2D+ioLLikd3DoQ,iqtrtpQmiqQstnipL;haettrQoiutvtsQwttQxtytqLMp8eztuQAt4D5DvQ6DwQ7D8DrL-x9e9DxQ!D#D$DyQ%DzQ'D(DsL.x!e)DAQ*DBtCtBQDtCQEtFttLNp:eGtDQHtsgCBItJtEQKtFQLtMtuLOp#eNtGQOt+D,DHQ-DIQ.D/DvL/x$e:DJQ;D=D?DKQ@DLQ[D]DwL:x%e^DMQ_DPtQtNQRtOQStTtxLPp;eUtPQVtDBEBFByLGBzLALHBIBBLCLDLDj/bbe;xooQpRpce=xpoSpTpdeUp?xqoVpELFLGLHLohILJLKLLL@xNc} [xML5dJBNLOcjrOL6dKBPLPckrQL]x^xRLSLTL_xULVLWL`x{xXLYL|x}xphZL0L~xay1LLB2Lby3LMB4L5LNB7d8dnd6L7Llrod8Lcyromr9L!LQc;c#LWpdyeyRc$Lnrorprfygyhy%LSciyjy'LTc(LXpsoYpkyUc)Llyqrmy*Lpd+Lrrsr,LQb-Ltrurvr.LRb/Lwrxryr:LzrSb;LArBr=L:bqd.fOB;bPBQB=bRBSB?L@L[L=inyoyZp/f?ipy0p1p:fqy;f]L^Lqh^eTBry=fsy?fty@f_L`LUB{Lrh|L}L~LaMbMcMdMeMfMgMhMuyshiMjMkMlMVBWBmMnMthrdoMCrpMuhqMvhrM=c?cXBYBVc~ ( ) sMtMwhuMvMxhwMxMyhyMzMvyzhyeAMBMwyAh@ixyyy2p[f[izy3p4p]f]iAyBy5p6p^fCM_fCy`fDy{fEyWczeXcYcZc0c1cDMBhEMFyChFMDhGMEhHMIMGyJMKM@e~eDrtoFhLMErHyGhMMFrIyGrHhNMHrIrJyJrIhOMKrLrMrNr|f^iKyPM7p}f_iLyMy8pJhNy~fOyagPybgQyQMRyKhSyuocgdgZBRMSMeg0BTMUMTyfg1BVMUyVygg2BWMWyLhXyXMYyMh3BYMZyhg0y4BZM1yig5B0M2yjg6B1M3yxgQQuOvOygRQ`DwOxO2Mkg7B4y3Mlg4MNh5y5M8B6y6M7M9BmgIe!B8M#B9M!Mee#M$B$M%BJe%M'Mfe'BOr(B(MgePr)MAe`i7y8y9y!yBe#y{i$y%y'y(yKe*M)B)y*y*BLe+B+y+M,B,y,Msd-MTb2c@c[c-y.MOh.y/MPh-B3c?b.B/B@b:B;B:MQhtd;Mud=Mvd?Mwd@Mxd[M/y:y;yheQr=y?y]cRrSrTrUr@y[y^cVrWrXrYrZr* S 0rUb1rVb.j=B/j]M^M$j:j;j%j=j?jRh_Mvo?B]y^y_y`M_cT `c`y{yyd{M|M{c2r@B|y}y~yCe'j}M
99 return va 27c.p]n^npiiee f g h i j k jeK BOYh~cCO[BDO]B-i^B3r4rEO5rFO6r7r^b8rGO9r_B`BHO~M{BIO|BaN}B_b~BJObNaCbCcCdCeCfCKOcNLOgCdN`bhCMOeN!r#rNO$rOO%r'rBd(rPO)riCjCQOkCROlCmCNenCSOoC*r+rTO,rUO-r.r'e/rVO:rfNgNazhNbziNjNCdkNczlNmNnNWOoNXOpNqNDdrNYOsNtNuNwovNxowNxNEdyNyozNANBNZOCN0ODNENkeFN1OGN;r=r2O9h3O?r!h{b@r4O#hpCqC5Osi6OrCti|bsC7OuitCuC8Ovi9OvCwi}bwC!Oxi[r]r#O$h$O^r%hFd_r%O'h`r{r'O|r(O}r~rOeas)ObsxCyC*OzC+OACBCPeCC,ODCECFC-OGC.OHCICQeJC/OKCcsds:Oes;Ofsgs(ehs=OisqgOzjsks?Ols@OmsnsReos[OpsLCMC]ONC^OOCPCSeQC_ORCSCTC`OUC{OVCWCTeXC|OYCqsrs}Oss~Otsus)evsaPwsGdHdIdV hbibjbkblbZb|eiq~ntgbPHNINugcPZCJNKNleJdmeKdLdneoeMd3b4b)cNqcodoyipel m n o p q r qeO dPZhcdeP0CfP1C.i2CxsysgPzshPAsBspcCsiPDs3C4CjPLN5CkP6CMN7Cqc8ClPNN9C!C#C$C%C'CmPONnP(CPNrc)CoPQNEsFspPGsqPHsIsPdJsrPKs*C+CsP,CtP-C.CVe/CuP:CLsMsvPNswPOsPs*eQsxPRsRNSNdzTNezUNVNQdWNfzXNYNZNyP0NzP1N2NRd3NAP4N5N6Nzo7NAo8N9NSd!NBo#N$N%NBP'NCP(N)Nre*NDP+NSsTsEP*hFPUs+hscVsGP,h;C=CHPBiIP?CCitc@CJPDi[C]CKPEiLP^CFiuc_CMPGiWsXsNP-hOPYs.hTdZsPP/h0s1sQP2sRP3s4sWe5sSP6s`C{CTP|CUP}C~CXeaDVPbDcDdDWPeDXPfDgDYehDYPiD7s8sZP9s0P!s#s+e$s1P%srgIA's(s2P)s3P*s+sZe,s4P-sjDkD5PlD6PmDnD0eoD7PpDqDrD8PsD9PtDuD1evD!PwD.s/s#P:s$P;s=s,e?s%P@sUdVdWdY CbDbEbFbGb#b}e#qjovg'P,N-Nwg(PxD.N/NseXdteYdZdueve0d(b)b4dfrmono#iFey z A B C D E Ge' )P0h?d*PyD+PzDbjAD[s]s,P^s-P_s`sfd{s.P|sBDCD/P:NDD:PED;NFDgdGD;P=NHDIDJDKDLDMD=P?N?PND@NhdOD@P[N}s~s[Pat]Pbtct{ddt^PetPDQD_PRD`PSDTD7eUD{PVDftgt|Pht}Pitjt/ekt~Plt]N^Ngz_Nhz`N{N|d|Niz}N~NaOaQbObQcOdO}deOcQfOgOhOCoiODojOkO~dlOEomOnOoOdQpOeQqOrOHesOfQtOmtntgQjihQotkiidptiQliWDXDjQ'ikQYD(ijdZDlQ)i0D1DmQ*inQ2D+ikd3DoQ,iqtrtpQmiqQstniaettrQoiutvtsQwttQxtyt8eztuQAt4D5DvQ6DwQ7D8D9e9DxQ!D#D$DyQ%DzQ'D(D!e)DAQ*DBtCtBQDtCQEtFt:eGtDQHtsgCBItJtEQKtFQLtMt#eNtGQOt+D,DHQ-DIQ.D/D$e:DJQ;D=D?DKQ@DLQ[D]D%e^DMQ_DPtQtNQRtOQStTt;eUtPQVtbecede} QcRcScTcUc=c~eDrtoxgQQuOvOygRQ`DwOxOIeeeJefegeKeLehe]c^c
100 return None 2{D4czd5cU zg2n)p3n*p7h9m_h`haf_e|D}Ddj~DaEWt7c8oXtbE9oYtcE|iejfjGjgjhjHjijIjjjkjJjlj!oZtdE#o0teEfEgE+phEbf1tiEjEkElEWbmEnEoEpE,pjz+ -pkzlzqErEsE.ptEMi]n^npiuEAdmzbb#dvEwEAgxEyE2tzEnzAEBECEDEcfozpzqzrz5hEE/p[bFE3tdfszF 4t]b4e5tefG s sntzGEuzBgHE6t7tIE8tJEKE9t!tLEMENE#tOEPEQE$t%tRESE't(t)tTE*tUEVE+t,tWEXE-tYE.tZE/t:t0E1E2E;t3E4E5E=t6E7E?t8E@t9E[t!E]t^t#E$E_t`t%E{t|t'E}t~t(Eaubu)Ecudu*Eeufu+E,E-E.ECg/E:Evz;Ewzgu=Ehuxzyz?Eiu@EjukuzzAz:pBzCzDzEz[EFz]EGzHz^Elu_E`E{E|E}ENi~Efiqi8h2e{hriOiDgaFbFEgcF$o^bdFIzmu_beFJznu`bfF%oBdgFouNehF'o'e;pKziFLztnMzjFNzkF1h{blF|h|bmF}h}bnF2hFdoF(oOepFpuPeqFquQerF)o(eqgOzsF*oRetFruSeuFsuTevF+o)ePzQzRzwFSzxFyFTzUzzFAFBF}i- tu_n,o-ouu`n.o/o:ovu{n;oCFDFEFFFFgGFHFIFJFwuebV xuKF8cVzLFfb=pMF9cWzNFgb?pOFyuzuPFQFRFAuSFTFUFBuCuVFWFDuEuGgXFYFFuGuZFXz0FHu1FYz2F3FZz!c#cbc4F5F@pcc6FIu|n[p7F8FhbYb9F=oJuKuib!F]p^p_pLuMuNu#FjbOuPu$Fkb%F?o}n@oQulb'FRu`pSu(Fdc)F{p|p*F2 +F}p~paq,F3 -Fbqcqdq.Feq4 /Ffqgq:F. ecff0z/ 1z2z: 3z4z;F=F?FPiTuUu[ogfQiVu]o^ohfWuif@F[FHg[e5zXujfYukfZulf]F^F6z_FIg`F{F|F}F~FaGbGcGdGeGfG0uJggGhGiGjG7z8zkGlGKgfcmGhqnGLgoGMgpGZb0b9z!zmbW L M qGrGNgsGtGOguGvGPgwGxG1uQg$dyGzG2uRgRi3u4u_omfSi5u`o{onfTi6u7u|o}oofAGpf8uqf9urf!unb%dobpbqbrbsbBGSgCG#uTgDGUgEGVgFGGG$uHGIG=e|eiq~nWgJGjq%uXgKGkq'ulqYgLGmqnq(uoqZgMGpqqqrqsqsfUi)uNG~otfVi*u+uap0g,uuf-uvf.uwf/uOG:u1g;uaoxfyf#zPGQGzf$zRGSG=uAf%zTG?u@uBf'zUG[u2g]uVG^u3g(zWG_uCf`u)zXG{uDf*zYG|uEf+zZG}u0GFf,z~u1GGf2G4gav3G-zbv4G5G.zHf/z6G:z7G8G9G;z!G=z#G$G?ztq@z%Guq'G'dWicvdvevfv(dgvXihvivjvkv(G[zlvmv]z^znv)G_zov*Ggc+G5 tb1b2bpv,G5gqv-G6g`zub; {z|z= }z~z.G7ghc/Gic:Gjc;Gkc=Glc?GrvsvtvvquvvvwqxqyqzqwvxvAqBqCqDqEqN u Fq6 Gq7 KjaALj@G[GmjMjNjnjOjPj8g]GbobAyvzvAv^G5bv 6bBvCvmc_G`G7bHqcADvEvFv)doj{G|G%cNd'cX 9g4nIq5nJq(h!m~haiIf`e}G~GqjaHbHGv)cbpHvcHcpIvdH~irjsjSjtjujTjvjUjwjxjVjyjdpJveHepKvfHgHhHKqiHJfLvjHkHlHmH8bnHoHpHqHLqdA? MqeAfArHsHtHNquHYicodoyivHOdgAwb+dwHxH!gyHzHMvAHhABHCHDHEHKfiAjAkAlA6hFHOqncGHNvLfmAH Ovoc5ePvMfI t unnAHHoA#gIHQvRvJHSvKHLHTvUvMHNHOHVvPHQHRHWvXvSHTHYvZv0vUH1vVHWH2v3vXHYH4vZH5v0H6v7v1H2H3H8v4H5H6H9v7H8H!v9H#v!H$v#H%v'v$H%H(v)v'H*v+v(H,v-v)H.v/v*H:v;v+H=v?v,H-H.H/H$g:H;HpA=HqA@v?H[vrAsA@H]v[H^v_vtAuAPqvAwAxAyA]HzA^HAABA_H`v`H{H|H}H~HZiaIgizi)h3ebiAi0i%gbIcI'gdIfppceICA{vqcfIDA|vrcgIgpPdhI}vVeiIhp*eQqEAjIFAvnGAkIHAlI3hscmIcitcnIdiucoI4hTdpIipWeqI~vXerIawYesIjp+ergIAtIkpZeuIbw0evIcw1ewIlp,eJAKALAxIMAyIzINAOAAIBICIaj[ dweompnpewfoopppqpfwgorpDIEIFIGI(gHIIIJIKIgwzbY hwLI*cPAMIAbRqNI+cQAOIBbSqPIiwjwQIRISIkwTIUIVIlwmwWIXInwow)gYIZIpwqw0IRA1Irw2ISA3I4ITA,c-cxc5I6ITqyc7IswhoUq8I9ICb!b!IsptwuwDb#IVqWqXqvwwwxw$IEbywzw%IFb'ItpioupAwGb(IBwYqCw)Izc*IZq0q+I8 ,I1q2q3q-I9 .I4q5q6q/I7q! :I8q9q;I] AcNfUA^ VAWA_ XAYA=I?I@I1iDwEwvpOf2iFwwpxpPfGwQf[I]I*g]eZAHwRfIwSfJwTf^I_I0A`I+g{I|I}I~IaJbJcJdJeJfJgJKw,ghJiJjJkJ1A2AlJmJ-gBcnJ!qoJ.gpJ/gqJ#b$b3A4AHbZ P Q rJsJ:gtJuJ;gvJwJ=gxJyJLw?g,dzJAJMw@g3iNwOwypUf4iPwzpApVf5iQwRwBpCpWfBJXfSwYfTwZfUwIb-dJbKbLbMbNbCJ[gDJVw]gEJ^gFJ_gGJHJWwIJJJ?e}e#qjo`gKJ$qXw{gLJ%qYw'q|gMJ(q)qZw*q}gNJ+q,q-q.q0f6i0wOJDp1f7i1w2wEp~g3w2f4w3f5w4f6wPJ7wah8wko5f6f5AQJRJ7f6ASJTJ9w8f7AUJ!w#w9f8AVJ$wbh%wWJ'wch9AXJ(w!f)w!AYJ*w#f#AZJ+w$f$A0J,w1J%f%A-w2J'f3Jdh.w4J'A/w5J6J(A(f)A7J*A8J9J!J+A#J,A$J%J-A/q.A'J:q(J.d8i:w;w=w?w/d@w9i[w]w^w_w)J/A`w{w:A;A|w*J=A}w+JCc,J# Ob%b'b~w-Jehax.Jfh?APb` @A[A{ ]A^A/JghDc:JEc;JFc=JGc?JHc@Jbxcxdx;qexfx=q?q@q[qgxhx]q^q_q`q{qR w |q$ }q% Wj_AXj[J]JzjYjZjAj0j1jhh^Jlo`Aixjxkx_J*bx +blxmxIc`J{J,b~q{Anxoxpx:dBj|J}J1d_d2d| ih6nar7nbrhi#mHiIi)f{e~JaK3jbKcKqx4dFprxdKGpsxeKCj4j5j*j6j7j+j8j,j9j!j-j#jHptxfKIpuxgKhKiKcrjK*fvxkKlKmKnK/coKpKqKrKdr|A-ber}A~AsKtKuKfrvK/imono#iwK`daBKcxexKyKjhzKAKwxBKbBCKDKEKFK+fcBdBeBfBeiGKgrddHKxx,fgB0 yxed.ezx-f1 J wnhBIKiBkhJKAxBxKKCxLKMKDxExNKOKPKFxQKRKSKGxHxTKUKIxJxKxVKLxWKXKMxNxYKZKOx0KPx1KQxRx2K3K4KSx5K6K7KTx8K9KUx!KVx#KWx$KXxYx%K'KZx0x(K1x2x)K3x4x*K5x6x+K7x8x,K9x!x-K.K/K:Klh;K=KjB?KkB#x@K$xlBmB[K%x]K'x(xnBoBhrpBqBrBsB^KtB_KuBvB`K)x{K|K}K~KaL:ibL!i$iii-eJi%i;imhcLdLnheLJpfdfLwB*xgdgLxB+xhdhLKp{diL,x7ejLLp/eiryBkLzBxnABlLBBmL:hidnLKijdoLLikdpL;haeqLMp8erL-x9esL.x!etLNp:esgCBuLOp#evL/x$ewL:x%exLPp;eDBEBFByLGBzLALHBIBBLCLDLDj/b;xooQpRp=xpoSpTpUp?xqoVpELFLGLHLohILJLKLLL@xNc} [xML5dJBNLOcjrOL6dKBPLPckrQL]x^xRLSLTL_xULVLWL`x{xXLYL|x}xphZL0L~xay1LLB2Lby3LMB4L5LNB7d8dnd6L7Llrod8Lcyromr9L!LQc;c#LWpdyeyRc$Lnrorprfygyhy%LSciyjy'LTc(LXpsoYpkyUc)Llyqrmy*Lpd+Lrrsr,LQb-Ltrurvr.LRb/Lwrxryr:LzrSb;LArBr=L:bqd.fOB;bPBQB=bRBSB?L@L[L=inyoyZp/f?ipy0p1p:fqy;f]L^Lqh^eTBry=fsy?fty@f_L`LUB{Lrh|L}L~LaMbMcMdMeMfMgMhMuyshiMjMkMlMVBWBmMnMthrdoMCrpMuhqMvhrM=c?cXBYBVc~ ( ) sMtMwhuMvMxhwMxMyhyMzMvyzhyeAMBMwyAh@ixyyy2p[f[izy3p4p]f]iAyBy5p6p^fCM_fCy`fDy{fEyWczeXcYcZc0c1cDMBhEMFyChFMDhGMEhHMIMGyJMKM@e~eDrtoFhLMErHyGhMMFrIyGrHhNMHrIrJyJrIhOMKrLrMrNr|f^iKyPM7p}f_iLyMy8pJhNy~fOyagPybgQyQMRyKhSyuocgdgZBRMSMeg0BTMUMTyfg1BVMUyVygg2BWMWyLhXyXMYyMh3BYMZyhg0y4BZM1yig5B0M2yjg6B1M3y2Mkg7B4y3Mlg4MNh5y5M8B6y6M7M9Bmg!B8M#B9M!M#M$B$M%B%M'M'BOr(B(MPr)MAe`i7y8y9y!yBe#y{i$y%y'y(y*M)B)y*y*B+B+y+M,B,y,Msd-MTb2c@c[c-y.MOh.y/MPh-B3c?b.B/B@b:B;B:MQhtd;Mud=Mvd?Mwd@Mxd[M/y:y;yQr=y?yRrSrTrUr@y[yVrWrXrYrZr* S 0rUb1rVb.j=B/j]M^M$j:j;j%j=j?jRh_Mvo?B]y^y_y`M_cT `c`y{yyd{M|M{c2r@B|y}y~yCe'j}M
102 @property 1abcd
103 def serialization_alias(self) -> str | None: 1abcd
104 sa = self.field_info.serialization_alias 25cU ab!d6c_e@d|c}cMe+ e f g h i j k bbF G s cbdbXb, ~bac[dSheb8cfb9cgb/ : Th[e0bmb$cngW L M nbobpbqbrbsb5 tb1b2bub; = 3b4bN u 6 7 v 'cX vb*d(c`e]dadbdUe? l m n o p q r wbH I t xbyb9b@ vcwc^dUhzb*cAb+cBb^ _ Vh]e$bHb.cogZ P Q IbJbKbLbMbNb# Ob%b'bPb` { (b)bR w $ % x 2d| Jcwe3d{eDe;d=d6e-by z A B C D E Kc0 1 J LcMc:c.bldmdEeWhNc5dOc6dPc;b=bXh^e?cVc9dpg~ ( ) WcXcYcZc0c1cTb2c@c[c3c?b@b]c^c* S UbVbT
105 return sa or None 25cU ab!d6c_e@d|c}cMe+ e f g h i j k bbF G s cbdbXb, ~bac[dSheb8cfb9cgb/ : Th[e0bmb$cngW L M nbobpbqbrbsb5 tb1b2bub; = 3b4bN u 6 7 v 'cX vb*d(c`e]dadbdUe? l m n o p q r wbH I t xbyb9b@ vcwc^dUhzb*cAb+cBb^ _ Vh]e$bHb.cogZ P Q IbJbKbLbMbNb# Ob%b'bPb` { (b)bR w $ % x 2d| Jcwe3d{eDe;d=d6e-by z A B C D E Kc0 1 J LcMc:c.bldmdEeWhNc5dOc6dPc;b=bXh^e?cVc9dpg~ ( ) WcXcYcZc0c1cTb2c@c[c3c?b@b]c^c* S UbVbT
107 @property 1abcd
108 def default(self) -> Any: 1abcd
109 return self.get_default() 22n)p3n*p9m_h`h$m8oXt9oYt|i!oZt#o0t+pkzlz.p]n^n2tnz4t5ttzuz6t7t8tguyz:pDzEzFzfiri_B`B~M{B|BaN}BIzmu~BbNaCbCcCdCeCfCcNgCdNJznuhCeNiCjCkClCmCounCoCmNnNoNpNqNLzrNsNtNuNvNwNxNMzyNzNpCqCsirCti|hsCuitCuCvivCwi}hwCxixCyCzCACBCpuCCDCECFCGCHCICquJCKCLCMCNCOCPCruQCRCSCTCUCVCWCsuXCYC}itu_n,o-ouu`n.o/o:ovu{n;owu=p?pyuzuIu|n=oJuKu?o}n@oQuTuUu[oVu]o^oWuXuYuZu0u3u4u_o5u`o{o6u7u|o}o8u9u!uiq~n)u~o*uap,u-u.u/u;u#z$z%z'z]u*z+zHNINJNKN,z~uav-z.z;z=zpvqvrvsvtvvquvvvwqxqyqzqwvxvAqBqCqDqEqFqGqmjnjbobAyvzvAvHq4nIq5nJq!m~hai{mbpHvcpIv~idpJvepKvKqeAfANqcodoMvhAOvPvnAoAQvRvSv@vsAPqxAyAzAgiAi3C4CLN5C6CMN7CCA{v8CNN9C!C#C$C%C'CON(CPNDA|v)CQN*C+C,C-C.C}v/C:CYNZN0N1N2NFA3N4N5N6N7N8N9NGA!N#N;C=CBi?CCici@CDi[C]CEi^CFidi_CGi`C{C|C}C~C~vaDbDcDdDeDfDgDawhDiDjDkDlDmDnDbwoDpDqDrDsDtDuDcwvDwDajdweompnpewfoopppqpfwgorpgwRqSqiwjwswhosptwuwtpioupAwDwEwvpFwwpxpGwHwIwJwKwNwOwypPwzpApQwRwBpCpSwTwUw#qjo0wDp1wEp3w4w5w6w8w5A6A7A8A%w#A$A,N-N.N/N%A-w.w'A(A+A,A~waxbxcxdx;qexfx=q?q@q[qgxhx]q^q_q`q{q|q}qzjAjlo`Aixjxkx~q6nar7nbr#mHiIi8nFprxGpsxCjHptxIpuxcr}A~AfrmonowxbByxzxhBiBAxBxCx#xmBhrrBsBtB!i%iBDCD:NDDED;NFDwB*xGD=NHDIDJDKDLDMD?NND@NxB+xOD[NPDQDRDSDTD,xUDVD~NaObOcOdOzBeOfOgOhOiOjOkOABlOmOWDXD'iYD(iKiZD)i0D1D*i2D+iLi3D,i4D5D6D7D8D-x9D!D#D$D%D'D(D.x)D*D+D,D-D.D/D/x:D;D=D?D@D[D]D:x^D_DDj;xooQpRp=xpoSpTpUp?xqoVp@xjrkr]x^xcyroWpdyeyXpsoYpkynyoyZppy0p1pqyrysytyuyxyyy2pzy3p4pAyBy5p6pCyDyEyDrtoKy7pLy8pNyOyPyQySyZB0B1B2BXy5B6BuOvOwOxO7B4y5y8B9B$B%B-y.y/y:y;yQr=y?yRrSrTrUr@y[yVrWrXrYrZr0r1r$j%jvo?B]y^y_y2r
111 def __post_init__(self) -> None: 1abcd
112 with warnings.catch_warnings(): 2a 4czd5cU ab!d6c7h_h`h@dyn$m%mcjEjFj|c}cdj'm7c|iejfjGjgjhjHjijIjjjkjJjlj(mFoMeWb+ Mipiiee f g h i j k Adbb#dznAnBnCnDnEnFnGnHnInJn5hje[b)mF ]b4e*mKn+mG s ,m-mNi.mfiK qi8h2e{hriOi~c-i^b_b`bBdNe'eCdDdEdke9h!h1h{b#hsiti|h|buiviwi}h}bxi$h%h2hFd'hOePeQe(eReSeTe)ecbdbXbGo, HoIoJoKo~b/m:m;m=m?m@m[m]m^mac}i- [dGdHdIdebV 8cfb9cgb!c#cbccchbYbibjbkblbdc2 3 4 . ec/ : PiQifcZb0bmb$cW L M $dRiSiTinb%dobpbqbrbsb=eUiVileJdmeKdLd'dWi(dXineoegc5 tb1b2bLoub; = hcicjckclcMd3b4bN u 6 7 KjLjmjMjNjnjOjPj_m5bv 6bmc7b)d`mLnMnojb %cNd'cX vb*d(c(h~hai]dNn{m|mpjQjRjadbdqj}m)c~irjsjSjtjujTjvjUjwjxjVjyj~mMoUe8b? Yiyipel m n o p q r Odwb+dOnPnQnRnSnTnUnVnWnXnYn6hqencanH oc5ebnZncnI t dnenZifngiO zi)h3ebiAi0icd.ipcqcrcPdVe*eQdRdSdre*h+h3hsc,hBiCicitcDiEiFidiucGi-h.h4hTd/hWeXeYe+eZe0e1e,exbyb9bNo@ OoPoQoRovcgnhninjnknlnmnnnonwcaj[ ^dUdVdWdpnzbY *cAb+cBb,c-cxcycCb!bDbEbFbGbzc8 9 ! ] Ac^ _ 1i2iBc#b$bHb.cZ P Q ,d3i4i5iIb-dJbKbLbMbNb?e6i7iseXdteYdZd.d8i/d9iueveCc# Ob%b'bSoPb` { DcEcFcGcHc0d(b)bR w $ % WjXjzjYjZjAj0j1jqn*bx +bIc,b:drn0n1nBjc d 1d_d2d| Jcwe3dhiHiIiDeTo8n9n2j(j)j;d=d3j!n4dCj4j5j*j6j7j+j8j,j9j!j-j#j#n9p6e/c-b/i#iFey z A B C D E `dKcxeUoVoWoXoYoZo0o1o2o3o4oeiGedd$n0 ed.e%n5o'n1 J (n)n:i*n!i' $iii-eJi%i;i?dbjfdgdhd{d7e/e|d}d~dHejiki:hidli'i(iKijd)i*i+iLikd,imini;haeoi8e9e!e:e#e$e%e;eLcMc:c!p.b#p$p%p'pld+n,n-n.n/n:n;n=n?nmdDj/bEebecedeNc} 5dOc6dPc7d8dndodQc;cRcScTcUcpdQbRbSb:bqd;b=b=i?ird=c?cVc9d~ ( ) ye@i[i]iWczeXcYcZc0c1c@e^i_iIeeeJefegeAe`iBe{iKeLesdTb2c@c[c(p3c?b@btdudvdwdxdhe]c^c* S UbVb.j/j$j:j;j%j=j?j@n_cT `cyd{cCe[n6o7o'j
113 # Pydantic >= 2.12.0 warns about field specific metadata that is unused
114 # (e.g. `TypeAdapter(Annotated[int, Field(alias='b')])`). In some cases, we
115 # end up building the type adapter from a model field annotation so we
116 # need to ignore the warning:
117 if shared.PYDANTIC_VERSION_MINOR_TUPLE >= (2, 12): 2a 4czd5cU ab!d6c7h_h`h@dyn$m%mcjEjFj|c}cdj'm7c|iejfjGjgjhjHjijIjjjkjJjlj(mFoMeWb+ Mipiiee f g h i j k Adbb#dznAnBnCnDnEnFnGnHnInJn5hje[b)mF ]b4e*mKn+mG s ,m-mNi.mfiK qi8h2e{hriOi~c-i^b_b`bBdNe'eCdDdEdke9h!h1h{b#hsiti|h|buiviwi}h}bxi$h%h2hFd'hOePeQe(eReSeTe)ecbdbXbGo, HoIoJoKo~b/m:m;m=m?m@m[m]m^mac}i- [dGdHdIdebV 8cfb9cgb!c#cbccchbYbibjbkblbdc2 3 4 . ec/ : PiQifcZb0bmb$cW L M $dRiSiTinb%dobpbqbrbsb=eUiVileJdmeKdLd'dWi(dXineoegc5 tb1b2bLoub; = hcicjckclcMd3b4bN u 6 7 KjLjmjMjNjnjOjPj_m5bv 6bmc7b)d`mLnMnojb %cNd'cX vb*d(c(h~hai]dNn{m|mpjQjRjadbdqj}m)c~irjsjSjtjujTjvjUjwjxjVjyj~mMoUe8b? Yiyipel m n o p q r Odwb+dOnPnQnRnSnTnUnVnWnXnYn6hqencanH oc5ebnZncnI t dnenZifngiO zi)h3ebiAi0icd.ipcqcrcPdVe*eQdRdSdre*h+h3hsc,hBiCicitcDiEiFidiucGi-h.h4hTd/hWeXeYe+eZe0e1e,exbyb9bNo@ OoPoQoRovcgnhninjnknlnmnnnonwcaj[ ^dUdVdWdpnzbY *cAb+cBb,c-cxcycCb!bDbEbFbGbzc8 9 ! ] Ac^ _ 1i2iBc#b$bHb.cZ P Q ,d3i4i5iIb-dJbKbLbMbNb?e6i7iseXdteYdZd.d8i/d9iueveCc# Ob%b'bSoPb` { DcEcFcGcHc0d(b)bR w $ % WjXjzjYjZjAj0j1jqn*bx +bIc,b:drn0n1nBjc d 1d_d2d| Jcwe3dhiHiIiDeTo8n9n2j(j)j;d=d3j!n4dCj4j5j*j6j7j+j8j,j9j!j-j#j#n9p6e/c-b/i#iFey z A B C D E `dKcxeUoVoWoXoYoZo0o1o2o3o4oeiGedd$n0 ed.e%n5o'n1 J (n)n:i*n!i' $iii-eJi%i;i?dbjfdgdhd{d7e/e|d}d~dHejiki:hidli'i(iKijd)i*i+iLikd,imini;haeoi8e9e!e:e#e$e%e;eLcMc:c!p.b#p$p%p'pld+n,n-n.n/n:n;n=n?nmdDj/bEebecedeNc} 5dOc6dPc7d8dndodQc;cRcScTcUcpdQbRbSb:bqd;b=b=i?ird=c?cVc9d~ ( ) ye@i[i]iWczeXcYcZc0c1c@e^i_iIeeeJefegeAe`iBe{iKeLesdTb2c@c[c(p3c?b@btdudvdwdxdhe]c^c* S UbVb.j/j$j:j;j%j=j?j@n_cT `cyd{cCe[n6o7o'j
118 from pydantic.warnings import UnsupportedFieldAttributeWarning 2a 4czd5cU ab!d6c7h_h`h@dyn$m%mcjEjFj|c}cdj'm7c|iejfjGjgjhjHjijIjjjkjJjlj(mFoMeWb+ Mipiiee f g h i j k Adbb#dznAnBnCnDnEnFnGnHnInJn5hje[b)mF ]b4e*mKn+mG s ,m-mNi.mfiK qi8h2e{hriOi~c-i^b_b`bBdNe'eCdDdEdke9h!h1h{b#hsiti|h|buiviwi}h}bxi$h%h2hFd'hOePeQe(eReSeTe)ecbdbXbGo, HoIoJoKo~b/m:m;m=m?m@m[m]m^mac}i- [dGdHdIdebV 8cfb9cgb!c#cbccchbYbibjbkblbdc2 3 4 . ec/ : PiQifcZb0bmb$cW L M $dRiSiTinb%dobpbqbrbsb=eUiVileJdmeKdLd'dWi(dXineoegc5 tb1b2bLoub; = hcicjckclcMd3b4bN u 6 7 KjLjmjMjNjnjOjPj_m5bv 6bmc7b)d`mLnMnojb %cNd'cX vb*d(c(h~hai]dNn{m|mpjQjRjadbdqj}m)c~irjsjSjtjujTjvjUjwjxjVjyj~mMoUe8b? Yiyipel m n o p q r Odwb+dOnPnQnRnSnTnUnVnWnXnYn6hqencanH oc5ebnZncnI t dnenZifngiO zi)h3ebiAi0icd.ipcqcrcPdVe*eQdRdSdre*h+h3hsc,hBiCicitcDiEiFidiucGi-h.h4hTd/hWeXeYe+eZe0e1e,exbyb9bNo@ OoPoQoRovcgnhninjnknlnmnnnonwcaj[ ^dUdVdWdpnzbY *cAb+cBb,c-cxcycCb!bDbEbFbGbzc8 9 ! ] Ac^ _ 1i2iBc#b$bHb.cZ P Q ,d3i4i5iIb-dJbKbLbMbNb?e6i7iseXdteYdZd.d8i/d9iueveCc# Ob%b'bSoPb` { DcEcFcGcHc0d(b)bR w $ % WjXjzjYjZjAj0j1jqn*bx +bIc,b:drn0n1nBj
120 warnings.simplefilter( 2a 4czd5cU ab!d6c7h_h`h@dyn$m%mcjEjFj|c}cdj'm7c|iejfjGjgjhjHjijIjjjkjJjlj(mFoMeWb+ Mipiiee f g h i j k Adbb#dznAnBnCnDnEnFnGnHnInJn5hje[b)mF ]b4e*mKn+mG s ,m-mNi.mfiK qi8h2e{hriOi~c-i^b_b`bBdNe'eCdDdEdke9h!h1h{b#hsiti|h|buiviwi}h}bxi$h%h2hFd'hOePeQe(eReSeTe)ecbdbXbGo, HoIoJoKo~b/m:m;m=m?m@m[m]m^mac}i- [dGdHdIdebV 8cfb9cgb!c#cbccchbYbibjbkblbdc2 3 4 . ec/ : PiQifcZb0bmb$cW L M $dRiSiTinb%dobpbqbrbsb=eUiVileJdmeKdLd'dWi(dXineoegc5 tb1b2bLoub; = hcicjckclcMd3b4bN u 6 7 KjLjmjMjNjnjOjPj_m5bv 6bmc7b)d`mLnMnojb %cNd'cX vb*d(c(h~hai]dNn{m|mpjQjRjadbdqj}m)c~irjsjSjtjujTjvjUjwjxjVjyj~mMoUe8b? Yiyipel m n o p q r Odwb+dOnPnQnRnSnTnUnVnWnXnYn6hqencanH oc5ebnZncnI t dnenZifngiO zi)h3ebiAi0icd.ipcqcrcPdVe*eQdRdSdre*h+h3hsc,hBiCicitcDiEiFidiucGi-h.h4hTd/hWeXeYe+eZe0e1e,exbyb9bNo@ OoPoQoRovcgnhninjnknlnmnnnonwcaj[ ^dUdVdWdpnzbY *cAb+cBb,c-cxcycCb!bDbEbFbGbzc8 9 ! ] Ac^ _ 1i2iBc#b$bHb.cZ P Q ,d3i4i5iIb-dJbKbLbMbNb?e6i7iseXdteYdZd.d8i/d9iueveCc# Ob%b'bSoPb` { DcEcFcGcHc0d(b)bR w $ % WjXjzjYjZjAj0j1jqn*bx +bIc,b:drn0n1nBj
121 "ignore", category=UnsupportedFieldAttributeWarning
122 )
123 # TODO: remove after setting the min Pydantic to v2.12.3
124 # that adds asdict(), and use self.field_info.asdict() instead
125 field_dict = asdict(self.field_info) 2a 4czd5cU ab!d6c7h_h`h@dyn$m%mcjEjFj|c}cdj'm7c|iejfjGjgjhjHjijIjjjkjJjlj(mFoMeWb+ Mipiiee f g h i j k Adbb#dznAnBnCnDnEnFnGnHnInJn5hje[b)mF ]b4e*mKn+mG s ,m-mNi.mfiK qi8h2e{hriOi~c-i^b_b`bBdNe'eCdDdEdke9h!h1h{b#hsiti|h|buiviwi}h}bxi$h%h2hFd'hOePeQe(eReSeTe)ecbdbXbGo, HoIoJoKo~b/m:m;m=m?m@m[m]m^mac}i- [dGdHdIdebV 8cfb9cgb!c#cbccchbYbibjbkblbdc2 3 4 . ec/ : PiQifcZb0bmb$cW L M $dRiSiTinb%dobpbqbrbsb=eUiVileJdmeKdLd'dWi(dXineoegc5 tb1b2bLoub; = hcicjckclcMd3b4bN u 6 7 KjLjmjMjNjnjOjPj_m5bv 6bmc7b)d`mLnMnojb %cNd'cX vb*d(c(h~hai]dNn{m|mpjQjRjadbdqj}m)c~irjsjSjtjujTjvjUjwjxjVjyj~mMoUe8b? Yiyipel m n o p q r Odwb+dOnPnQnRnSnTnUnVnWnXnYn6hqencanH oc5ebnZncnI t dnenZifngiO zi)h3ebiAi0icd.ipcqcrcPdVe*eQdRdSdre*h+h3hsc,hBiCicitcDiEiFidiucGi-h.h4hTd/hWeXeYe+eZe0e1e,exbyb9bNo@ OoPoQoRovcgnhninjnknlnmnnnonwcaj[ ^dUdVdWdpnzbY *cAb+cBb,c-cxcycCb!bDbEbFbGbzc8 9 ! ] Ac^ _ 1i2iBc#b$bHb.cZ P Q ,d3i4i5iIb-dJbKbLbMbNb?e6i7iseXdteYdZd.d8i/d9iueveCc# Ob%b'bSoPb` { DcEcFcGcHc0d(b)bR w $ % WjXjzjYjZjAj0j1jqn*bx +bIc,b:drn0n1nBjc d 1d_d2d| Jcwe3dhiHiIiDeTo8n9n2j(j)j;d=d3j!n4dCj4j5j*j6j7j+j8j,j9j!j-j#j#n9p6e/c-b/i#iFey z A B C D E `dKcxeUoVoWoXoYoZo0o1o2o3o4oeiGedd$n0 ed.e%n5o'n1 J (n)n:i*n!i' $iii-eJi%i;i?dbjfdgdhd{d7e/e|d}d~dHejiki:hidli'i(iKijd)i*i+iLikd,imini;haeoi8e9e!e:e#e$e%e;eLcMc:c!p.b#p$p%p'pld+n,n-n.n/n:n;n=n?nmdDj/bEebecedeNc} 5dOc6dPc7d8dndodQc;cRcScTcUcpdQbRbSb:bqd;b=b=i?ird=c?cVc9d~ ( ) ye@i[i]iWczeXcYcZc0c1c@e^i_iIeeeJefegeAe`iBe{iKeLesdTb2c@c[c(p3c?b@btdudvdwdxdhe]c^c* S UbVb.j/j$j:j;j%j=j?j@n_cT `cyd{cCe[n6o7o'j
126 annotated_args = ( 2a 4czd5cU ab!d6c7h_h`h@dyn$m%mcjEjFj|c}cdj'm7c|iejfjGjgjhjHjijIjjjkjJjlj(mFoMeWb+ Mipiiee f g h i j k Adbb#dznAnBnCnDnEnFnGnHnInJn5hje[b)mF ]b4e*mKn+mG s ,m-mNi.mfiK qi8h2e{hriOi~c-i^b_b`bBdNe'eCdDdEdke9h!h1h{b#hsiti|h|buiviwi}h}bxi$h%h2hFd'hOePeQe(eReSeTe)ecbdbXbGo, HoIoJoKo~b/m:m;m=m?m@m[m]m^mac}i- [dGdHdIdebV 8cfb9cgb!c#cbccchbYbibjbkblbdc2 3 4 . ec/ : PiQifcZb0bmb$cW L M $dRiSiTinb%dobpbqbrbsb=eUiVileJdmeKdLd'dWi(dXineoegc5 tb1b2bLoub; = hcicjckclcMd3b4bN u 6 7 KjLjmjMjNjnjOjPj_m5bv 6bmc7b)d`mLnMnojb %cNd'cX vb*d(c(h~hai]dNn{m|mpjQjRjadbdqj}m)c~irjsjSjtjujTjvjUjwjxjVjyj~mMoUe8b? Yiyipel m n o p q r Odwb+dOnPnQnRnSnTnUnVnWnXnYn6hqencanH oc5ebnZncnI t dnenZifngiO zi)h3ebiAi0icd.ipcqcrcPdVe*eQdRdSdre*h+h3hsc,hBiCicitcDiEiFidiucGi-h.h4hTd/hWeXeYe+eZe0e1e,exbyb9bNo@ OoPoQoRovcgnhninjnknlnmnnnonwcaj[ ^dUdVdWdpnzbY *cAb+cBb,c-cxcycCb!bDbEbFbGbzc8 9 ! ] Ac^ _ 1i2iBc#b$bHb.cZ P Q ,d3i4i5iIb-dJbKbLbMbNb?e6i7iseXdteYdZd.d8i/d9iueveCc# Ob%b'bSoPb` { DcEcFcGcHc0d(b)bR w $ % WjXjzjYjZjAj0j1jqn*bx +bIc,b:drn0n1nBjc d 1d_d2d| Jcwe3dhiHiIiDeTo8n9n2j(j)j;d=d3j!n4dCj4j5j*j6j7j+j8j,j9j!j-j#j#n9p6e/c-b/i#iFey z A B C D E `dKcxeUoVoWoXoYoZo0o1o2o3o4oeiGedd$n0 ed.e%n5o'n1 J (n)n:i*n!i' $iii-eJi%i;i?dbjfdgdhd{d7e/e|d}d~dHejiki:hidli'i(iKijd)i*i+iLikd,imini;haeoi8e9e!e:e#e$e%e;eLcMc:c!p.b#p$p%p'pld+n,n-n.n/n:n;n=n?nmdDj/bEebecedeNc} 5dOc6dPc7d8dndodQc;cRcScTcUcpdQbRbSb:bqd;b=b=i?ird=c?cVc9d~ ( ) ye@i[i]iWczeXcYcZc0c1c@e^i_iIeeeJefegeAe`iBe{iKeLesdTb2c@c[c(p3c?b@btdudvdwdxdhe]c^c* S UbVb.j/j$j:j;j%j=j?j@n_cT `cyd{cCe[n6o7o'j
127 field_dict["annotation"],
128 *field_dict["metadata"],
129 # this FieldInfo needs to be created again so that it doesn't include
130 # the old field info metadata and only the rest of the attributes
131 Field(**field_dict["attributes"]),
132 )
133 self._type_adapter: TypeAdapter[Any] = TypeAdapter( 2a 4czd5cU ab!d6c7h_h`h@dyn$m%mcjEjFj|c}cdj'm7c|iejfjGjgjhjHjijIjjjkjJjlj(mFoMeWb+ Mipiiee f g h i j k Adbb#dznAnBnCnDnEnFnGnHnInJn5hje[b)mF ]b4e*mKn+mG s ,m-mNi.mfiK qi8h2e{hriOi~c-i^b_b`bBdNe'eCdDdEdke9h!h1h{b#hsiti|h|buiviwi}h}bxi$h%h2hFd'hOePeQe(eReSeTe)ecbdbXbGo, HoIoJoKo~b/m:m;m=m?m@m[m]m^mac}i- [dGdHdIdebV 8cfb9cgb!c#cbccchbYbibjbkblbdc2 3 4 . ec/ : PiQifcZb0bmb$cW L M $dRiSiTinb%dobpbqbrbsb=eUiVileJdmeKdLd'dWi(dXineoegc5 tb1b2bLoub; = hcicjckclcMd3b4bN u 6 7 KjLjmjMjNjnjOjPj_m5bv 6bmc7b)d`mLnMnojb %cNd'cX vb*d(c(h~hai]dNn{m|mpjQjRjadbdqj}m)c~irjsjSjtjujTjvjUjwjxjVjyj~mMoUe8b? Yiyipel m n o p q r Odwb+dOnPnQnRnSnTnUnVnWnXnYn6hqencanH oc5ebnZncnI t dnenZifngiO zi)h3ebiAi0icd.ipcqcrcPdVe*eQdRdSdre*h+h3hsc,hBiCicitcDiEiFidiucGi-h.h4hTd/hWeXeYe+eZe0e1e,exbyb9bNo@ OoPoQoRovcgnhninjnknlnmnnnonwcaj[ ^dUdVdWdpnzbY *cAb+cBb,c-cxcycCb!bDbEbFbGbzc8 9 ! ] Ac^ _ 1i2iBc#b$bHb.cZ P Q ,d3i4i5iIb-dJbKbLbMbNb?e6i7iseXdteYdZd.d8i/d9iueveCc# Ob%b'bSoPb` { DcEcFcGcHc0d(b)bR w $ % WjXjzjYjZjAj0j1jqn*bx +bIc,b:drn0n1nBjc d 1d_d2d| Jcwe3dhiHiIiDeTo8n9n2j(j)j;d=d3j!n4dCj4j5j*j6j7j+j8j,j9j!j-j#j#n9p6e/c-b/i#iFey z A B C D E `dKcxeUoVoWoXoYoZo0o1o2o3o4oeiGedd$n0 ed.e%n5o'n1 J (n)n:i*n!i' $iii-eJi%i;i?dbjfdgdhd{d7e/e|d}d~dHejiki:hidli'i(iKijd)i*i+iLikd,imini;haeoi8e9e!e:e#e$e%e;eLcMc:c!p.b#p$p%p'pld+n,n-n.n/n:n;n=n?nmdDj/bEebecedeNc} 5dOc6dPc7d8dndodQc;cRcScTcUcpdQbRbSb:bqd;b=b=i?ird=c?cVc9d~ ( ) ye@i[i]iWczeXcYcZc0c1c@e^i_iIeeeJefegeAe`iBe{iKeLesdTb2c@c[c(p3c?b@btdudvdwdxdhe]c^c* S UbVb.j/j$j:j;j%j=j?j@n_cT `cyd{cCe[n6o7o'j
134 Annotated[annotated_args],
135 config=self.config,
136 )
138 def get_default(self) -> Any: 1abcd
139 if self.field_info.is_required(): 22n)p3n*p9m_h`h$m8oXt9oYt|i!oZt#o0t+pkzlz.p]n^n2tnz4t5ttzuz6t7t8tguyz:pDzEzFzfiri_B`B~M{B|BaN}BIzmu~BbNaCbCcCdCeCfCcNgCdNJznuhCeNiCjCkClCmCounCoCmNnNoNpNqNLzrNsNtNuNvNwNxNMzyNzNpCqCsirCti|hsCuitCuCvivCwi}hwCxixCyCzCACBCpuCCDCECFCGCHCICquJCKCLCMCNCOCPCruQCRCSCTCUCVCWCsuXCYC}itu_n,o-ouu`n.o/o:ovu{n;owu=p?pyuzuIu|n=oJuKu?o}n@oQuTuUu[oVu]o^oWuXuYuZu0u3u4u_o5u`o{o6u7u|o}o8u9u!uiq~n)u~o*uap,u-u.u/u;u#z$z%z'z]u*z+zHNINJNKN,z~uav-z.z;z=zpvqvrvsvtvvquvvvwqxqyqzqwvxvAqBqCqDqEqFqGqmjnjbobAyvzvAvHq4nIq5nJq!m~hai{mbpHvcpIv~idpJvepKvKqeAfANqcodoMvhAOvPvnAoAQvRvSv@vsAPqxAyAzAgiAi3C4CLN5C6CMN7CCA{v8CNN9C!C#C$C%C'CON(CPNDA|v)CQN*C+C,C-C.C}v/C:CYNZN0N1N2NFA3N4N5N6N7N8N9NGA!N#N;C=CBi?CCici@CDi[C]CEi^CFidi_CGi`C{C|C}C~C~vaDbDcDdDeDfDgDawhDiDjDkDlDmDnDbwoDpDqDrDsDtDuDcwvDwDajdweompnpewfoopppqpfwgorpgwRqSqiwjwswhosptwuwtpioupAwDwEwvpFwwpxpGwHwIwJwKwNwOwypPwzpApQwRwBpCpSwTwUw#qjo0wDp1wEp3w4w5w6w8w5A6A7A8A%w#A$A,N-N.N/N%A-w.w'A(A+A,A~waxbxcxdx;qexfx=q?q@q[qgxhx]q^q_q`q{q|q}qzjAjlo`Aixjxkx~q6nar7nbr#mHiIi8nFprxGpsxCjHptxIpuxcr}A~AfrmonowxbByxzxhBiBAxBxCx#xmBhrrBsBtB!i%iBDCD:NDDED;NFDwB*xGD=NHDIDJDKDLDMD?NND@NxB+xOD[NPDQDRDSDTD,xUDVD~NaObOcOdOzBeOfOgOhOiOjOkOABlOmOWDXD'iYD(iKiZD)i0D1D*i2D+iLi3D,i4D5D6D7D8D-x9D!D#D$D%D'D(D.x)D*D+D,D-D.D/D/x:D;D=D?D@D[D]D:x^D_DDj;xooQpRp=xpoSpTpUp?xqoVp@xjrkr]x^xcyroWpdyeyXpsoYpkynyoyZppy0p1pqyrysytyuyxyyy2pzy3p4pAyBy5p6pCyDyEyDrtoKy7pLy8pNyOyPyQySyZB0B1B2BXy5B6BuOvOwOxO7B4y5y8B9B$B%B-y.y/y:y;yQr=y?yRrSrTrUr@y[yVrWrXrYrZr0r1r$j%jvo?B]y^y_y2r
140 return Undefined 2$m{m8n
141 return self.field_info.get_default(call_default_factory=True) 22n)p3n*p9m_h`h8oXt9oYt|i!oZt#o0t+pkzlz.p]n^n2tnz4t5ttzuz6t7t8tguyz:pDzEzFzfiri_B`B~M{B|BaN}BIzmu~BbNaCbCcCdCeCfCcNgCdNJznuhCeNiCjCkClCmCounCoCmNnNoNpNqNLzrNsNtNuNvNwNxNMzyNzNpCqCsirCti|hsCuitCuCvivCwi}hwCxixCyCzCACBCpuCCDCECFCGCHCICquJCKCLCMCNCOCPCruQCRCSCTCUCVCWCsuXCYC}itu_n,o-ouu`n.o/o:ovu{n;owu=p?pyuzuIu|n=oJuKu?o}n@oQuTuUu[oVu]o^oWuXuYuZu0u3u4u_o5u`o{o6u7u|o}o8u9u!uiq~n)u~o*uap,u-u.u/u;u#z$z%z'z]u*z+zHNINJNKN,z~uav-z.z;z=zpvqvrvsvtvvquvvvwqxqyqzqwvxvAqBqCqDqEqFqGqmjnjbobAyvzvAvHq4nIq5nJq!m~haibpHvcpIv~idpJvepKvKqeAfANqcodoMvhAOvPvnAoAQvRvSv@vsAPqxAyAzAgiAi3C4CLN5C6CMN7CCA{v8CNN9C!C#C$C%C'CON(CPNDA|v)CQN*C+C,C-C.C}v/C:CYNZN0N1N2NFA3N4N5N6N7N8N9NGA!N#N;C=CBi?CCici@CDi[C]CEi^CFidi_CGi`C{C|C}C~C~vaDbDcDdDeDfDgDawhDiDjDkDlDmDnDbwoDpDqDrDsDtDuDcwvDwDajdweompnpewfoopppqpfwgorpgwRqSqiwjwswhosptwuwtpioupAwDwEwvpFwwpxpGwHwIwJwKwNwOwypPwzpApQwRwBpCpSwTwUw#qjo0wDp1wEp3w4w5w6w8w5A6A7A8A%w#A$A,N-N.N/N%A-w.w'A(A+A,A~waxbxcxdx;qexfx=q?q@q[qgxhx]q^q_q`q{q|q}qzjAjlo`Aixjxkx~q6nar7nbr#mHiIiFprxGpsxCjHptxIpuxcr}A~AfrmonowxbByxzxhBiBAxBxCx#xmBhrrBsBtB!i%iBDCD:NDDED;NFDwB*xGD=NHDIDJDKDLDMD?NND@NxB+xOD[NPDQDRDSDTD,xUDVD~NaObOcOdOzBeOfOgOhOiOjOkOABlOmOWDXD'iYD(iKiZD)i0D1D*i2D+iLi3D,i4D5D6D7D8D-x9D!D#D$D%D'D(D.x)D*D+D,D-D.D/D/x:D;D=D?D@D[D]D:x^D_DDj;xooQpRp=xpoSpTpUp?xqoVp@xjrkr]x^xcyroWpdyeyXpsoYpkynyoyZppy0p1pqyrysytyuyxyyy2pzy3p4pAyBy5p6pCyDyEyDrtoKy7pLy8pNyOyPyQySyZB0B1B2BXy5B6BuOvOwOxO7B4y5y8B9B$B%B-y.y/y:y;yQr=y?yRrSrTrUr@y[yVrWrXrYrZr0r1r$j%jvo?B]y^y_y2r
143 def validate( 1abcd
144 self,
145 value: Any,
146 values: dict[str, Any] = {}, # noqa: B006
147 *,
148 loc: tuple[int | str, ...] = (),
149 ) -> tuple[Any, list[dict[str, Any]]]:
150 try: 2{DVV8R9R!R#R$RWV%R'R(R)R*RXVSQYV2n)p3n*p7h9m_h`h+R|Dyn%m,R}D-Rdj'm.R/R:R;R~DZVaEWt0V8oXtbE9oYtcE|iGjHjIjJj!oZtdE#o0teE=R(mfEgE?RhE1tiEjEkElEmEnEoEpE,pjz-pqErEsE.ptEMi]n^npiuEmz1VvEwExEyE2tzEAEBECEDEozpzqzrz5hEE/pTQ2VUQFE3tsz4t5t*mKn+m,m-msnGEHE6t7tIE8tJEKE9t!tLEMENE#tOEPEQE$t%tRESE't(t)tTE*tUEVE+t,tWEXE-tYE.tZE/t:t0E1E2E;t3E4E5E=t6E7E?t8E@t9E[t!E]t^t#E$E_t`t%E{t|t'E}t~t(Eaubu)Ecudu*Eeufu+E,E-E.E/E:E@R;Egu=Ehu?Eiu@EjukuzzAz:p[E]E^Elu_E`E{E|E}ENi~E.mqi8h{hOiaFBObFCO[BDO]B-i^B3r4rEO5rFO6r7rcF$o8rGO9r_B`BHO{BIO|B}BdFmu~BJOaCbCcCdCeCfCKOLOgCeFnuhCMO!r#rNO$rOO%r'rfF%o(rPO)riCjCQOkCROlCmCgFounCSOoC*r+rTO,rUO-r.rhF'o/rVO:r;pazbzcziFWOXOYOtnwoxoyojFZO0O1O;r=r2O9h3O?r!hkF1h@r4O#hpCqC5Osi6OrCtilF|hsC7OuitCuC8Ovi9OvCwimF}hwC!Oxi[r]r#O$h$O^r%hnF2h_r%O'h`r{r'O|r(O}r~roF(oas)ObsxCyC*OzC+OACBCpFpuCC,ODCECFC-OGC.OHCICqFquJC/OKCcsds:Oes;OfsgsrF)ohs=OisOzjsks?Ols@OmsnssF*oos[OpsLCMC]ONC^OOCPCtFruQC_ORCSCTC`OUC{OVCWCuFsuXC|OYCqsrs}Oss~OtsusvF+ovsaPwswFxFyF[R]R^R_R`R{R|R}R~RaSbScSdSVQWQeSfSgShSiSjSkSlSXQYQmSnSoSpSZQ0QqSrSsStSTzuSvSUzwSxSySzSASBSCSDSESFSzFAF/m:m;m=m?m@m[mBF]m^mGS}iHStu_n,o-ouu`n.o/o:ovu{n;oISJSKSLSMSNSOSPSQSRSSSTSUSVSWSXSYSZS0S1S2SCFDFEFFFGFHFIFJF3Swu1Q3VxuKF2Q4VVzLF=pMFWzNF?pOFyuzuPFQFRFAuSFTFUFBuCuVFWFDuEuXFYFFuGuZF0FHu1F2F3F5V6V7V8V3Q4Q5Q6Q9V!V#V7Q8Q$V%V4F5F@p6FIu|n[p7F8F9F=oJuKu!F]p^p_pLuMuNu#FOuPu$F%F?o}n@oQu'FRu`pSu(F)F{p|p*F+F}p~paq,F-Fbqcqdq.Feq/Ffqgq:F'V9Q!Q#Q(V)V$Q%Q*V'Q0z1z2z3z4z;F=F?FPiTuUu[oQiVu]o^oWu@F[F+V,V(Q)Q-V4S5S5zXuYuZu]F^F_F`F{F|F}F~FaGbGcGdGeGfG0ugGhGiGjGkGlGmGhqnGoGpG6S9z!z7S8S9S!S#S$S%S'S(S)SqGrGsGtGuGvGwGxG1u.V*QyGzG2uRi3u4u_oSi5u`o{oTi6u7u|o}oAG8u9u!u*S+S,S-S.SBGCG#uDGEGFGGG$uHGIGiq~nJGjq%uKGkq'ulqLGmqnq(uoqMGpqqqrqsqUi)uNG~oVi*u+uap,u-u.u/uOG:u;uaoPGQGRGSG=uTG?u@uUG[u]uVG^uWG_u`uXG{uYG|uZG}ubPcPZC0G~u1G2Gav3Gbv4G5G6G7G8G9G!G#G$Gtq%Guq'GWicvdvevfvgvXihvivjvkv(Glvmvnv)Gov*G+G/S:S;S=S?S@Spv,Gqv-G`z{z|z}z~z.G/G:G;G=G?GrvsvtvvquvvvwqxqyqzqwvxvAqBqCqDqEq/V[S:V]SFqGqKjaALj@G[GMjNjOjPj]GboyvzvAv^G_m;V=Vv ?V@VBvCv_G`G[V]V+Q,Q-Q.QHqcA/Q:Q;Q^SDv=Q?QEvFv`m{G|G^V@Q_V4nIq5nJq(h!m~hai_S}GNn|m`S~G{Sqj}m|S}S~SaTaH`VbHGv{VbpHvcHcpIvdH~iSjTjUjVjdpJveHepKvfHbT~mgHhHcTiHLvjHkHlHmHnHoHpHqHLqdAMqrHsHtHNquHYicodoyivHgA|VwHxHyHzHMvAHBHCHDHEHiAjAkAlA6hFHOq[Q}V]QGHNvmAOvPvbnZncndnenunHHIHQvRvJHSvKHLHTvUvMHNHOHVvPHQHRHWvXvSHTHYvZv0vUH1vVHWH2v3vXHYH4vZH5v0H6v7v1H2H3H8v4H5H6H9v7H8H!v9H#v!H$v#H%v'v$H%H(v)v'H*v+v(H,v-v)H.v/v*H:v;v+H=v?v,H-H.H/H:H;HdT=H@v?H[v@H]v[H^v_vtAuAPq]H^H_H`v`H{H|H}H~HZiaIfnzi)hbi0ibIdPcIeP0CfP1C.i2CxsysgPzshPAsBsdIfpCsiPDs3C4CjP5CkP6C7CeI{v8ClP9C!C#C$C%C'CmPnP(CfI|v)CoPEsFspPGsqPHsIsgIgpJsrPKs*C+CsP,CtP-C.ChI}v/CuP:CLsMsvPNswPOsPsiIhpQsxPRsQqdzezfzjIyPzPAPvnzoAoBokIBPCPDPSsTsEP*hFPUs+hlI3hVsGP,h;C=CHPBiIP?CCimIci@CJPDi[C]CKPEiLP^CFinIdi_CMPGiWsXsNP-hOPYs.hoI4hZsPP/h0s1sQP2sRP3s4spIip5sSP6s`C{CTP|CUP}C~CqI~vaDVPbDcDdDWPeDXPfDgDrIawhDYPiD7s8sZP9s0P!s#ssIjp$s1P%sIA's(s2P)s3P*s+stIkp,s4P-sjDkD5PlD6PmDnDuIbwoD7PpDqDrD8PsD9PtDuDvIcwvD!PwD.s/s#P:s$P;s=swIlp?s%P@sxIyIzIeTfTgThTiTjTkTlTmTnToTpTqT^Q_QrTsTtTuTvTwTxTyT`Q{QzTATBTCT|Q}QDTETFTGTNAHTITOAJTKTLTMTNTOTPTQTRTSTAIBIgnhninjnknlnmnCInnonTTajUTdweompnpewfoopppqpfwgorpVTWTXTYTZT0T1T2T3T4T5T6T7T8T9T!T#T$T%T'T(TDIEIFIGIHIIIJIKI)Tpngw~Q~VhwLIaRaWPAMIRqNIQAOISqPIiwjwQIRISIkwTIUIVIlwmwWIXInwowYIZIpwqw0I1Irw2I3I4IbWcWdWeWbRcRdReRfWgWhWfRgRiWjW5I6ITq7IswhoUq8I9I!Isptwuw#IVqWqXqvwwwxw$Iywzw%I'ItpioupAw(IBwYqCw)I*IZq0q+I,I1q2q3q-I.I4q5q6q/I7q:I8q9q;IkWhRiRjRlWmWkRlRnWmRUAVAWAXAYA=I?I@I1iDwEwvp2iFwwpxpGw[I]IoWpWnRoRqW*T+TZAHwIwJw^I_I`I{I|I}I~IaJbJcJdJeJfJgJKwhJiJjJkJlJmJnJ!qoJpJqJ,T3A4A-T.T/T:T;T=T?T@T[T]TrJsJtJuJvJwJxJyJLwrWpRzJAJMw3iNwOwyp4iPwzpAp5iQwRwBpCpBJSwTwUw^T_T`T{T|TCJDJVwEJFJGJHJWwIJJJ#qjoKJ$qXwLJ%qYw'qMJ(q)qZw*qNJ+q,q-q.q6i0wOJDp7i1w2wEp3w4w5w6wPJ7w8wkoQJRJSJTJ9wUJ!w#wVJ$w%wWJ'wXJ(w)wYJ*wZJ+w0J,w'P(PxD1J-w2J3J.w4J/w5J6J7J8J9J!J#J$J%J/q'J:q(J8i:w;w=w?w@w9i[w]w^w_w)J`w{w|w*J}w+J,J}T~TaUbUcUdU~w-Jax.J?A@A[A]A^A/J:J;J=J?J@Jbxcxdx;qexfx=q?q@q[qgxhx]q^q_q`q{qsWeUtWfU|q}qWj_AXj[J]JYjZj0j1j^Jloixjxkx_JqnuWvWx wWxWlxmx`J{JyWzWqRrRsRtR~q{AuRvRwRgUnxxRyRoxpxrn|J}JAWzRBW6nar7nbrhi#mHiIihU~JTo9niUaKjU3j!nkUlUmUnUbKCWcKqxDWFprxdKGpsxeKCj*j+j,j-jHptxfKIpuxgKoU#nhKiKpUjKvxkKlKmKnKoKpKqKrKdr|AersKtKuKfrvK/imono#iwKaBEWxKyKzKAKwxBKCKDKEKFKcBdBeBfBeiGKgrARFWBRHKxxgByxzx%n5o'n(n)nwnIKJKAxBxKKCxLKMKDxExNKOKPKFxQKRKSKGxHxTKUKIxJxKxVKLxWKXKMxNxYKZKOx0KPx1KQxRx2K3K4KSx5K6K7KTx8K9KUx!KVx#KWx$KXxYx%K'KZx0x(K1x2x)K3x4x*K5x6x+K7x8x,K9x!x-K.K/K:K;K=KqU?K#x@K$x[K%x]K'x(xnBoBhr^K_K`K)x{K|K}K~KaL:ibL*n$iiiJi;icL)PdL*PyD+PzDbjAD[s]s,P^s-P_s`seLJp{s.P|sBDCD/PDD:PEDFDfL*xGD;PHDIDJDKDLDMD=P?PNDgL+xOD@P}s~s[Pat]PbtcthLKpdt^PetPDQD_PRD`PSDTDiL,xUD{PVDftgt|Pht}PitjtjLLpkt~PltirgzhzizkLaQbQcQxnCoDoEolLdQeQfQmtntgQjihQotkimL:hptiQliWDXDjQ'ikQYD(inLKiZDlQ)i0D1DmQ*inQ2D+ioLLi3DoQ,iqtrtpQmiqQstnipL;httrQoiutvtsQwttQxtytqLMpztuQAt4D5DvQ6DwQ7D8DrL-x9DxQ!D#D$DyQ%DzQ'D(DsL.x)DAQ*DBtCtBQDtCQEtFttLNpGtDQHtCBItJtEQKtFQLtMtuLOpNtGQOt+D,DHQ-DIQ.D/DvL/x:DJQ;D=D?DKQ@DLQ[D]DwL:x^DMQ_DPtQtNQRtOQStTtxLPpUtPQVtyLzLALrUsUtUuUvUwUxUyUzUAUBUCUDUCRDREUFUGUHUIUJUKULUERFRMUNUOUPUGRHRQURUSUTUHBUUVUIBWUXUYUZU0U1U2U3U4U5UBLCL+n,n-n.n/n:n;nDL=n?n6UDj7U;xooQpRp=xpoSpTpUp?xqoVp8U9U!U#U$U%U'U(U)U*U+U,U-U.U/U:U;U=U?U@U[UELFLGLHLILJLKLLL]U@xIRGW[xMLJRHWJBNLjrOLKBPLkrQL]x^xRLSLTL_xULVLWL`x{xXLYL|x}xZL0L~xay1L2Lby3L4L5LIWJWKWLWKRLRMRNRMWNWOWORPRPWQW6L7Llr8Lcyromr9L!L#LWpdyey$Lnrorprfygyhy%Liyjy'L(LXpsoYpky)Llyqrmy*L+Lrrsr,L-Ltrurvr.L/Lwrxryr:Lzr;LArBr=LRWQRRRSRSWTWTRURUWVROBPBQBRBSB?L@L[L=inyoyZp?ipy0p1pqy]L^LVWWWWRXRXW^U_UTBrysyty_L`L{L|L}L~LaMbMcMdMeMfMgMhMuyiMjMkMlMmMnMoMCrpMqMrM`UXBYB{U|U}U~UaVbVcVdVeVfVsMtMuMvMwMxMyMzMvyYWYRAMBMwy@ixyyy2p[izy3p4p]iAyBy5p6pCMCyDyEygVhViVjVkVDMEMFyFMGMHMIMGyJMKMDrtoLMErHyMMFrIyGrNMHrIrJyJrOMKrLrMrNr^iKyPM7p_iLyMy8pNyOyPyQyQMRySyuoRMSMTMUMTyVMUyVyWMWyXyXMYyYMZy0yZM1y0M2y1M3yQQRQ`D2M4y3M4M5y5M6y6M7M8M9M!M#M$M%M'MOr(MPr)M`i7y8y9y!y#y{i$y%y'y(y*M)y*y+y+M,y,M-MlVmVnVoVpVqV-y.M.y/M-B.B/B:B;B:M;M=M?M@M[M/y:y;yQr=y?yRrSrTrUr@y[yVrWrXrYrZrZWrV0WsV0r1r.j=B/j]M^M:j;j=j?j_Mvo]y^y_y`M@n1W2WT 3W4W`y{y{M|M5W6WZR0R1R2R2r@B3R4R5RtV|y6R7R}y~y[n}M
151 return ( 2{DVV8R9R!R#R$RWV%R'R(R)R*RXVYV2n)p3n*p7h9m_h`h+R|Dyn%m,R}D-Rdj'm.R/R:R;R~DZVaEWt0V8oXtbE9oYtcE|iGjHjIjJj!oZtdE#o0teE=R(mfEgE?RhEiEjEkElEmEnEoEpE,pjz-pqErEsE.ptEMipiuEmz1VvEwExEyE2tzEAEBECEDEozpzqzrz5hEE/p2VFEsz4t5t*mKn+m,m-msnGEHE6t7tIE8tJEKELEMENEOEPEQERESETEUEVEWEXEYEZE0E1E2E3E4E5E6E7E8E9E!E#E$E%E'E(E)E*E+E,E-E.E/E:E@R;Egu=E?E@EzzAz:p[E]E^E_E`E{E|E}ENi~E.mqiOiaFBObFCODO-iEOFOcFGO_B`BHO{BIO|B}BdFmu~BJOaCbCcCdCeCfCKOLOgCeFnuhCMONOOOfFPOiCjCQOkCROlCmCgFounCSOoCTOUOhFVO;pazbzcziFWOXOYOtnwoxoyojFZO0O1O2O3OkF4OpCqC5Osi6OrCtilF|hsC7OuitCuC8Ovi9OvCwimF}hwC!Oxi#O$OnF%O'O(OoF)OxCyC*OzC+OACBCpFpuCC,ODCECFC-OGC.OHCICqFquJC/OKC:O;OrF=OOz?O@OsF[OLCMC]ONC^OOCPCtFruQC_ORCSCTC`OUC{OVCWCuFsuXC|OYC}O~OvFaPwFxFyF[R]R^R_R`R{R|R}R~RaSbScSdSeSfSgShSiSjSkSlSmSnSoSpSqSrSsStSTzuSvSUzwSxSySzSASBSCSDSESFSzFAF/m:m;m=m?m@m[mBF]m^mGS}iHStu_n,o-ouu`n.o/o:ovu{n;oISJSKSLSMSNSOSPSQSRSSSTSUSVSWSXSYSZS0S1S2SCFDFEFFFGFHFIFJF3Swu3VKF4VVzLF=pMFWzNF?pOFyuzuPFQFRFAuSFTFUFBuCuVFWFDuEuXFYFFuGuZF0FHu1F2F3F5V6V7V8V9V!V#V$V%V4F5F@p6FIu|n[p7F8F9FJuKu!F]p^p_pLuMuNu#FOuPu$F%F?o}n@oQu'FRu`pSu(F)F{p|p*F+F}p~paq,F-Fbqcqdq.Feq/Ffqgq:F'V(V)V*V0z1z2z3z4z;F=F?FPiTuUuQiVuWu@F[F+V,V-V4S5S5zXuYuZu]F^F_F`F{F|F}F~FaGbGcGdGeGfG0ugGhGiGjGkGlGmGhqnGoGpG6S9z!z7S8S9S!S#S$S%S'S(S)SqGrGsGtGuGvGwGxG.VyGzGRi3u4uSi5uTi6u7uAG8u9u!u*S+S,S-S.SBGCGDGEGFGGGHGIGiqJGjq%uKGkq'ulqLGmqnq(uoqMGpqqqrqsqUi)uNGVi*u,u-u.u/uOG:u;uaoPGQGRGSGTGUG]uVGWGXGYGZGbPcP0G~u1G2Gav3G4G5G6G7G8G9G!G#G$Gtq%Guq'GWiXi(Glvmvnv)Gov*G+G/S:S;S=S?S@Spv,Gqv-G`z{z|z}z~z.G/G:G;G=G?GrvsvtvvquvvvwqxqyqzqwvxvAqBqCqDqEq/V[S:V]SFqGqKjaALj@G[GMjNjOjPj]GboyvzvAv^G_m;V=Vv ?V@V_G`G[V]VHqcA^S`m{G|G^V_V4nIq5nJq(h!m~hai_S}GNn|m`S~G{Sqj}m|S}S~SaTaH`VbHGv{VbpHvcHcpIvdH~iSjTjUjVjdpJveHepKvfHbT~mgHhHcTiHjHkHlHmHnHoHpHqHLqdAMqrHsHtHNquHYiyivHgA|VwHxHyHzHMvAHBHCHDHEHiAjAkAlA6hFHOq}VGHmAOvPvbnZncndnenunHHIHQvRvJHSvKHLHMHNHOHPHQHRHSHTHUHVHWHXHYHZH0H1H2H3H4H5H6H7H8H9H!H#H$H%H'H(H)H*H+H,H-H.H/H:H;HdT=H@v?H@H[HtAuAPq]H^H_H`H{H|H}H~HZiaIfnzi0ibIdPcIePfP.igPhPdIiP3C4CjP5CkP6C7CeI{v8ClP9C!C#C$C%C'CmPnP(CfI|v)CoPpPqPgIrP*C+CsP,CtP-C.ChI}v/CuP:CvPwPiIxPQqdzezfzjIyPzPAPvnzoAoBokIBPCPDPEPFPlIGP;C=CHPBiIP?CCimIci@CJPDi[C]CKPEiLP^CFinIdi_CMPGiNPOPoIPPQPRPpISP`C{CTP|CUP}C~CqI~vaDVPbDcDdDWPeDXPfDgDrIawhDYPiDZP0PsI1PIA2P3PtI4PjDkD5PlD6PmDnDuIbwoD7PpDqDrD8PsD9PtDuDvIcwvD!PwD#P$PwI%PxIyIzIeTfTgThTiTjTkTlTmTnToTpTqTrTsTtTuTvTwTxTyTzTATBTCTDTETFTGTNAHTITOAJTKTLTMTNTOTPTQTRTSTAIBIgnhninjnknlnmnCInnonTTajUTdweompnpewfoopppqpfwgorpVTWTXTYTZT0T1T2T3T4T5T6T7T8T9T!T#T$T%T'T(TDIEIFIGIHIIIJIKI)Tpngw~VLIaWPAMIRqNIQAOISqPIiwjwQIRISIkwTIUIVIlwmwWIXInwowYIZIpwqw0I1Irw2I3I4IbWcWdWeWfWgWhWiWjW5I6ITq7IswhoUq8I9I!Itwuw#IVqWqXqvwwwxw$Iywzw%I'ItpioupAw(IBwYqCw)I*IZq0q+I,I1q2q3q-I.I4q5q6q/I7q:I8q9q;IkWlWmWnWUAVAWAXAYA=I?I@I1iDwEw2iFwGw[I]IoWpWqW*T+TZAHwIwJw^I_I`I{I|I}I~IaJbJcJdJeJfJgJKwhJiJjJkJlJmJnJ!qoJpJqJ,T3A4A-T.T/T:T;T=T?T@T[T]TrJsJtJuJvJwJxJyJrWzJAJ3iNwOw4iPw5iQwRwBJSwTwUw^T_T`T{T|TCJDJEJFJGJHJIJJJ#qKJ$qXwLJ%qYw'qMJ(q)qZw*qNJ+q,q-q.q6i0wOJ7i1w3w4w5w6wPJ7w8wkoQJRJSJTJUJVJ%wWJXJYJZJ0J'P(P1J-w2J3J.w4J5J6J7J8J9J!J#J$J%J/q'J:q(J8i9i)J`w{w|w*J}w+J,J}T~TaUbUcUdU~w-Jax.J?A@A[A]A^A/J:J;J=J?J@Jbxcxdx;qexfx=q?q@q[qgxhx]q^q_q`q{qsWeUtWfU|q}qWj_AXj[J]JYjZj0j1j^Jloixjxkx_JqnuWvWx wWxW`J{JyWzW~q{AgUrn|J}JAWBW6nar7nbrhi#mHiIihU~JTo9niUaKjU3j!nkUlUmUnUbKCWcKqxDWFprxdKGpsxeKCj*j+j,j-jHptxfKIpuxgKoU#nhKiKpUjKkKlKmKnKoKpKqKrKdr|AersKtKuKfrvK/i#iwKaBEWxKyKzKAKwxBKCKDKEKFKcBdBeBfBeiGKgrFWHKgByxzx%n5o'n(n)nwnIKJKAxBxKKCxLKMKNKOKPKQKRKSKTKUKVKWKXKYKZK0K1K2K3K4K5K6K7K8K9K!K#K$K%K'K(K)K*K+K,K-K.K/K:K;K=KqU?K#x@K[K]KnBoBhr^K_K`K{K|K}K~KaL:ibL*n$i;icL)PdL*P+Pbj,P-PeL.PBDCD/PDD:PEDFDfL*xGD;PHDIDJDKDLDMD=P?PNDgL+xOD@P[P]PhL^PPDQD_PRD`PSDTDiL,xUD{PVD|P}PjL~PirgzhzizkLaQbQcQxnCoDoEolLdQeQfQgQhQmLiQWDXDjQ'ikQYD(inLKiZDlQ)i0D1DmQ*inQ2D+ioLLi3DoQ,ipQqQpLrQsQtQqLuQ4D5DvQ6DwQ7D8DrL-x9DxQ!D#D$DyQ%DzQ'D(DsL.x)DAQ*DBQCQtLDQCBEQFQuLGQ+D,DHQ-DIQ.D/DvL/x:DJQ;D=D?DKQ@DLQ[D]DwL:x^DMQ_DNQOQxLPQyLzLALrUsUtUuUvUwUxUyUzUAUBUCUDUEUFUGUHUIUJUKULUMUNUOUPUQURUSUTUHBUUVUIBWUXUYUZU0U1U2U3U4U5UBLCL+n,n-n.n/n:n;nDL=n?n6UDj7U;xooQpRp=xpoSpTpUp?xqoVp8U9U!U#U$U%U'U(U)U*U+U,U-U.U/U:U;U=U?U@U[UELFLGLHLILJLKLLL]U@xGWMLHWJBNLjrOLKBPLkrQL]x^xRLSLTL_xULVLWL`x{xXLYL|x}xZL0L~xay1L2Lby3L4L5LIWJWKWLWMWNWOWPWQW6L7Llr8Lcyromr9L!L#Ldyey$Lnrorprfygyhy%Liyjy'L(LXpsoYpky)Llyqrmy*L+Lrrsr,L-Ltrurvr.L/Lwrxryr:Lzr;LArBr=LRWSWTWUWOBPBQBRBSB?L@L[L=inyoy?ipyqy]L^LVWWWXW^U_UTBrysyty_L`L{L|L}L~LaMbMcMdMeMfMgMhMuyiMjMkMlMmMnMoMCrpMqMrM`UXBYB{U|U}U~UaVbVcVdVeVfVsMtMuMvMwMxMyMzMYWAMBM@ixyyy[izy]iAyByCMCyDyEygVhViVjVkVDMEMFMGMHMIMJMKMDrLMErHyMMFrIyGrNMHrIrJyJrOMKrLrMrNr^iKyPM_iLyNyOyPyQyQMRySyuoRMSMTMUMVMWMXyXMYMZM0M1MQQRQ2M4y3M4M5y5M6M7M8M9M!M#M$M%M'MOr(MPr)M`i{i*M)y*y+y+M,y,M-MlVmVnVoVpVqV-y.M.y/M-B.B/B:B;B:M;M=M?M@M[M/y:y;yQr=y?yRrSrTrUr@y[yVrWrXrYrZrZWrV0WsV0r1r.j=B/j]M^M:j;j=j?j_Mvo]y^y_y`M@n1W2WT 3W4W{M|M5W6W2r@BtV[n}M
152 self._type_adapter.validate_python(value, from_attributes=True),
153 [],
154 )
155 except ValidationError as exc: 2SQ2n3n7h9m1t-p]n^n/pTQUQ3t9t!t#t$t%t't(t)t*t+t,t-t.t/t:t;t=t?t@t[t]t^t_t`t{t|t}t~taubucudueufuhuiujukulu8h{h[B]B^B3r4r5r6r7r$o8r9r!r#r$r%r'r%o(r)r*r+r,r-r.r'o/r:r;r=r9h?r!h1h@r#h[r]r$h^r%h2h_r'h`r{r|r}r~r(oasbscsdsesfsgs)ohsisjskslsmsns*oospsqsrssstsus+ovswsVQWQXQYQZQ0Q_n`n{n1Qxu2Q3Q4Q5Q6Q7Q8Q@p|n[p=o]p^p_p}n`p{p|p}p~paqbqcqdqeqfqgq9Q!Q#Q$Q%Q'Q[o]o^o(Q)Qhq1u*Q2u_o`o{o|o}o#u$u~njqkqlqmqnqoqpqqqrqsq~o+uapao=u?u@u[u^u_u`u{u|u}uZCbvcvdvevfvgvhvivjvkvboBvCv+Q,Q-Q.Q/Q:Q;QDv=Q?QEvFv@Q4n5n(h!mLvMqcodoOq[Q]QNvTvUvVvWvXvYvZv0v1v2v3v4v5v6v7v8v9v!v#v$v%v'v(v)v*v+v,v-v.v/v:v;v=v?v[v]v^v_v`v)hbi0C1C2CxsyszsAsBsfpCsDsEsFsGsHsIsgpJsKsLsMsNsOsPshpQsRsSsTs*hUs+h3hVs,hWsXs-hYs.h4hZs/h0s1s2s3s4sip5s6s7s8s9s!s#sjp$s%s's(s)s*s+skp,s-s.s/s:s;s=slp?s@s^Q_Q`Q{Q|Q}Qeofogo~QhwaRbRcRdReRfRgRTqhoUqspVqWqXqioYqZq0q1q2q3q4q5q6q7q8q9qhRiRjRkRlRmRvpwpxpnRoR!qLwpRMwypzpApBpCpVwWwjo$q%q'q(q)q*q+q,q-q.qDp2wEpko9w!w#w$w'w(w)w*w+w,wxD/w:w;w=w?w@w[w]w^w_wlolxmxqRrRsRtRuRvRwRnxxRyRoxpxzR6n7nhi#mvxermonogrARBRxxDxExFxGxHxIxJxKxLxMxNxOxPxQxRxSxTxUxVxWxXxYxZx0x1x2x3x4x5x6x7x8x9x!x$x%x'x(x)xiiJiyDzDAD[s]s^s_s`sJp{s|s}s~satbtctKpdtetftgthtitjtLpktltmtntjiotki:hptliqtrtmistni;httoiutvtwtxtytMpztAtBtCtDtEtFtNpGtHtItJtKtLtMtOpNtOtPtQtRtStTtPpUtVtCRDRERFRGRHRoopoqoIR[xJRKRLRMRNRORPRlrromrWpnrorprsoqrrrsrtrurvrwrxryrzrArBrQRRRSRTRURVRZp0p1pWRXRCrvyYRwy2p3p4p5p6pFyGytoErFrGrHrIrJrKrLrMrNr7pMy8puoTyUyVyWyYyZy0y1y2y3y`D6y7y8y9y!y#y$y%y'y(yvo`y{yZR0R1R2R3R4R5R|y6R7R}y~y
156 return None, _regenerate_error_with_loc( 2SQ2n3n7h9m1t-p]n^n/pTQUQ3t9t!t#t$t%t't(t)t*t+t,t-t.t/t:t;t=t?t@t[t]t^t_t`t{t|t}t~taubucudueufuhuiujukulu8h{h[B]B^B3r4r5r6r7r$o8r9r!r#r$r%r'r%o(r)r*r+r,r-r.r'o/r:r;r=r9h?r!h1h@r#h[r]r$h^r%h2h_r'h`r{r|r}r~r(oasbscsdsesfsgs)ohsisjskslsmsns*oospsqsrssstsus+ovswsVQWQXQYQZQ0Q_n`n{n1Qxu2Q3Q4Q5Q6Q7Q8Q@p|n[p=o]p^p_p}n`p{p|p}p~paqbqcqdqeqfqgq9Q!Q#Q$Q%Q'Q[o]o^o(Q)Qhq1u*Q2u_o`o{o|o}o#u$u~njqkqlqmqnqoqpqqqrqsq~o+uapao=u?u@u[u^u_u`u{u|u}uZCbvcvdvevfvgvhvivjvkvboBvCv+Q,Q-Q.Q/Q:Q;QDv=Q?QEvFv@Q4n5n(h!mLvMqcodoOq[Q]QNvTvUvVvWvXvYvZv0v1v2v3v4v5v6v7v8v9v!v#v$v%v'v(v)v*v+v,v-v.v/v:v;v=v?v[v]v^v_v`v)hbi0C1C2CxsyszsAsBsfpCsDsEsFsGsHsIsgpJsKsLsMsNsOsPshpQsRsSsTs*hUs+h3hVs,hWsXs-hYs.h4hZs/h0s1s2s3s4sip5s6s7s8s9s!s#sjp$s%s's(s)s*s+skp,s-s.s/s:s;s=slp?s@s^Q_Q`Q{Q|Q}Qeofogo~QhwaRbRcRdReRfRgRTqhoUqspVqWqXqioYqZq0q1q2q3q4q5q6q7q8q9qhRiRjRkRlRmRvpwpxpnRoR!qLwpRMwypzpApBpCpVwWwjo$q%q'q(q)q*q+q,q-q.qDp2wEpko9w!w#w$w'w(w)w*w+w,wxD/w:w;w=w?w@w[w]w^w_wlolxmxqRrRsRtRuRvRwRnxxRyRoxpxzR6n7nhi#mvxermonogrARBRxxDxExFxGxHxIxJxKxLxMxNxOxPxQxRxSxTxUxVxWxXxYxZx0x1x2x3x4x5x6x7x8x9x!x$x%x'x(x)xiiJiyDzDAD[s]s^s_s`sJp{s|s}s~satbtctKpdtetftgthtitjtLpktltmtntjiotki:hptliqtrtmistni;httoiutvtwtxtytMpztAtBtCtDtEtFtNpGtHtItJtKtLtMtOpNtOtPtQtRtStTtPpUtVtCRDRERFRGRHRoopoqoIR[xJRKRLRMRNRORPRlrromrWpnrorprsoqrrrsrtrurvrwrxryrzrArBrQRRRSRTRURVRZp0p1pWRXRCrvyYRwy2p3p4p5p6pFyGytoErFrGrHrIrJrKrLrMrNr7pMy8puoTyUyVyWyYyZy0y1y2y3y`D6y7y8y9y!y#y$y%y'y(yvo`y{yZR0R1R2R3R4R5R|y6R7R}y~y
157 errors=exc.errors(include_url=False), loc_prefix=loc
158 )
160 def serialize( 1abcd
161 self,
162 value: Any,
163 *,
164 mode: Literal["json", "python"] = "json",
165 include: IncEx | None = None,
166 exclude: IncEx | None = None,
167 by_alias: bool = True,
168 exclude_unset: bool = False,
169 exclude_defaults: bool = False,
170 exclude_none: bool = False,
171 ) -> Any:
172 # What calls this code passes a value that already called
173 # self._type_adapter.validate_python(value)
174 return self._type_adapter.dump_python( 28R9R!R#R$R%R'R(R)R*R2n)p3n*p+R%m,R-R'm.R/R:R;R=R(m?Rjzmzozpzqzrzsz*m+m,m-m@RzzAz:p.m[R]R^R_R`R{R|R}R~RaSbScSdSeSfSgShSiSjSkSlSmSnSoSpSqSrSsStSTzuSvSUzwSxSySzSASBSCSDSESFS/m:m;m=m?m@m[m]m^mGSHSISJSKSLSMSNSOSPSQSRSSSTSUSVSWSXSYSZS0S1S2S3SVz=pWz?p0z1z2z3z4z4S5S5z6S9z!z7S8S9S!S#S$S%S'S(S)S*S+S,S-S.S/S:S;S=S?S@S`z{z|z}z~zvqwqxqyqzqAqBqCqDqEq[S]SFqGqaA_mv HqcA^S`m4nIq5nJq_S|m`S{S}m|S}S~SaTbT~mcTdAgAiAjAkAlAmAbncndnendTtAuAPqfneTfTgThTiTjTkTlTmTnToTpTqTrTsTtTuTvTwTxTyTzTATBTCTDTETFTGTNAHTITOAJTKTLTMTNTOTPTQTRTSTgnhninjnknlnmnnnonTTUTVTWTXTYTZT0T1T2T3T4T5T6T7T8T9T!T#T$T%T'T(T)TpnPARqQASqUAVAWAXAYA*T+TZA,T3A4A-T.T/T:T;T=T?T@T[T]T^T_T`T{T|T}T~TaUbUcUdU?A@A[A]A^A;q=q?q@q[q]q^q_q`q{qeUfU|q}q_Aqnx ~q{AgUrn6nar7nbrhU9niUjU!nkUlUmUnUoU#npU|AaBcBdBeBfBgB%n'n(n)nqUnBoBhr*nrUsUtUuUvUwUxUyUzUAUBUCUDUEUFUGUHUIUJUKULUMUNUOUPUQURUSUTUHBUUVUIBWUXUYUZU0U1U2U3U4U5U+n,n-n.n/n:n;n=n?n6U7U8U9U!U#U$U%U'U(U)U*U+U,U-U.U/U:U;U=U?U@U[U]UJBjrKBkrOBPBQBRBSB^U_UTB`UXBYB{U|U}U~UaVbVcVdVeVfVgVhViVjVkVlVmVnVoVpVqV-B.B/B:B;BQrRrSrTrUrVrWrXrYrZrrVsV0r1r=B@nT 2r@BtV[n
175 value,
176 mode=mode,
177 include=include,
178 exclude=exclude,
179 by_alias=by_alias,
180 exclude_unset=exclude_unset,
181 exclude_defaults=exclude_defaults,
182 exclude_none=exclude_none,
183 )
185 def __hash__(self) -> int: 1abcd
186 # Each ModelField is unique for our purposes, to allow making a dict from
187 # ModelField to its JSON Schema.
188 return id(self) 24czd5cU zgab!d6caf_e@d|c}c7cMebfWb+ iee f g h i j k Adbb#dAgcfje[bdfF ]b4eefG s Bg=hCgK 2eDgYhEg~c^b_b`bBdNe'eCdDdEdke{b|b}bFdOePeQe(eqgReSeTe)ecbdbXb, ~bac- [dGdHdIdFgShebV 8cfb9cgbGg!c#cbccchbYbibjbkblbdc2 3 4 . ecff/ : gfhfifHgTh[ejfkflfIgJgKgfcLgMgZb0bmb$cngW L M NgOgPgQg$dRgmfnfofpfqfrfnb%dobpbqbrbsbSgTgUgVg=e|eWgXgYgZgsftf0gufvfwf1gxfyfzfAfBf2g3gCfDfEftgugFfGf4g?hHfleJdmeKdLd'd(dneoegc5 tb1b2b5g6gub; = 7ghcicjckclcMd3b4bN u 6 7 8g5bv 6bmc7b)d%cNd'cX 9gvb*d(cIf`e]dadbd)cUeJf8b? pel m n o p q r Odwb+d!gKfqencLfH oc5eMfI t #g@h$gO 3e%gZh'gcdpcqcrcPdVe*eQdRdSdresctcucTdWeXeYe+ergZe0e1e,exbyb9b@ vcwc[ ^dUdVdWd(gUhzbY *cAb+cBb)g,c-cxcycCb!bDbEbFbGbzc8 9 ! ] AcNf^ _ OfPfQf*gVh]eRfSfTf+g,g-gBc.g/g#b$bHb.cogZ P Q :g;g=g?g,d@gUfVfWfXfYfZfIb-dJbKbLbMbNb[g]g^g_g?e}e`g{g|g}g0f1f~g2f3f4fah5f6f7f8f9fbhch!f#f$fvgwg%f'fdh[h(fseXdteYdZd.d/dueveCc# Ob%b'behfhPb` { ghDcEcFcGcHc0d(b)bR w $ % hh*bx +bIc,b:d1d_d2d| ihJcwe3d)f{eDe;d=d4d6e*f/c-bFey z A B C D E `dKcxejh+fGedd,f0 ed.e-f1 J kh]hlh' -emh0hnh?dfdgdhd{d7e/e|d}d~dHeidjdkdae8e9e!e:esg#e$e%e;eLcMc:c.bldmd/bEebecedeohWhNc} 5dOc6dPcph7d8dndodQc;cRcScTcUcpdQbRbSb:bqd.f;b=b/f:f;fqhXh^e=f?f@frhshthrduhvh=c?cVc9dpg~ ( ) whxhyhzhyeAh[f]f^f_f`f{fWczeXcYcZc0c1cBhChDhEh@e~eFhGhHhIh|f}fJh~fagbgKhcgdgegfgggLhMhhgigjgxgygkglgNh^hmgIeeeJefegeAeBeKeLesdTb2c@c[cOhPh3c?b@bQhtdudvdwdxdhe]c^c* S UbVbRh_cT `cyd{cCe
191def _has_computed_fields(field: ModelField) -> bool: 1abcd
192 computed_fields = field._type_adapter.core_schema.get("schema", {}).get( 2|cs u adt w ;dJ S
193 "computed_fields", []
194 )
195 return len(computed_fields) > 0 2|cs u adt w ;dJ S
198def get_schema_from_model_field( 1abcd
199 *,
200 field: ModelField,
201 model_name_map: ModelNameMap,
202 field_mapping: dict[
203 tuple[ModelField, Literal["validation", "serialization"]], JsonSchemaValue
204 ],
205 separate_input_output_schemas: bool = True,
206) -> dict[str, Any]:
207 override_mode: Literal["validation"] | None = ( 24czd5cU zgab!d6caf_e@d|c}c7cMebfWb+ iee f g h i j k Adbb#dAgcfje[bdfF ]b4eefG s BgCgK 2eDgYhEg~c^b_b`bBdNe'eCdDdEdke{b|b}bFdOePeQe(eqgReSeTe)ecbdbXb, ~bac- [dGdHdIdFgShebV 8cfb9cgbGg!c#cbccchbYbibjbkblbdc2 3 4 . ecff/ : gfhfifHgTh[ejfkflfIgJgKgfcLgMgZb0bmb$cngW L M NgOgPgQg$dRgmfnfofpfqfrfnb%dobpbqbrbsbSgTgUgVg=e|eWgXgYgZgsftf0gufvfwf1gxfyfzfAfBf2g3gCfDfEftgugFfGf4gHfleJdmeKdLd'd(dneoegc5 tb1b2b5g6gub; = 7ghcicjckclcMd3b4bN u 6 7 8g5bv 6bmc7b)d%cNd'cX 9gvb*d(cIf`e]dadbd)cUeJf8b? pel m n o p q r Odwb+d!gKfqencLfH oc5eMfI t #g$gO 3e%gZh'gcdpcqcrcPdVe*eQdRdSdresctcucTdWeXeYe+ergZe0e1e,exbyb9b@ vcwc[ ^dUdVdWd(gUhzbY *cAb+cBb)g,c-cxcycCb!bDbEbFbGbzc8 9 ! ] AcNf^ _ OfPfQf*gVh]eRfSfTf+g,g-gBc.g/g#b$bHb.cogZ P Q :g;g=g?g,d@gUfVfWfXfYfZfIb-dJbKbLbMbNb[g]g^g_g?e}e`g{g|g}g0f1f~g2f3f4fah5f6f7f8f9fbhch!f#f$fvgwg%f'fdh(fseXdteYdZd.d/dueveCc# Ob%b'behfhPb` { ghDcEcFcGcHc0d(b)bR w $ % hh*bx +bIc,b:d1d_d2d| ihJcwe3d)f{eDe;d=d4d6e*f/c-bFey z A B C D E `dKcxejh+fGedd,f0 ed.e-f1 J khlh' -emh0hnh?dfdgdhd{d7e/e|d}d~dHeidjdkdae8e9e!e:esg#e$e%e;eLcMc:c.bldmd/bEebecedeohWhNc} 5dOc6dPcph7d8dndodQc;cRcScTcUcpdQbRbSb:bqd.f;b=b/f:f;fqhXh^e=f?f@frhshthrduhvh=c?cVc9dpg~ ( ) whxhyhzhyeAh[f]f^f_f`f{fWczeXcYcZc0c1cBhChDhEh@e~eFhGhHhIh|f}fJh~fagbgKhcgdgegfgggLhMhhgigjgxgygkglgNhmgIeeeJefegeAeBeKeLesdTb2c@c[cOhPh3c?b@bQhtdudvdwdxdhe]c^c* S UbVbRh_cT `cyd{cCe
208 None
209 if (separate_input_output_schemas or _has_computed_fields(field))
210 else "validation"
211 )
212 field_alias = ( 24czd5cU zgab!d6caf_e@d|c}c7cMebfWb+ iee f g h i j k Adbb#dAgcfje[bdfF ]b4eefG s BgCgK 2eDgYhEg~c^b_b`bBdNe'eCdDdEdke{b|b}bFdOePeQe(eqgReSeTe)ecbdbXb, ~bac- [dGdHdIdFgShebV 8cfb9cgbGg!c#cbccchbYbibjbkblbdc2 3 4 . ecff/ : gfhfifHgTh[ejfkflfIgJgKgfcLgMgZb0bmb$cngW L M NgOgPgQg$dRgmfnfofpfqfrfnb%dobpbqbrbsbSgTgUgVg=e|eWgXgYgZgsftf0gufvfwf1gxfyfzfAfBf2g3gCfDfEftgugFfGf4gHfleJdmeKdLd'd(dneoegc5 tb1b2b5g6gub; = 7ghcicjckclcMd3b4bN u 6 7 8g5bv 6bmc7b)d%cNd'cX 9gvb*d(cIf`e]dadbd)cUeJf8b? pel m n o p q r Odwb+d!gKfqencLfH oc5eMfI t #g$gO 3e%gZh'gcdpcqcrcPdVe*eQdRdSdresctcucTdWeXeYe+ergZe0e1e,exbyb9b@ vcwc[ ^dUdVdWd(gUhzbY *cAb+cBb)g,c-cxcycCb!bDbEbFbGbzc8 9 ! ] AcNf^ _ OfPfQf*gVh]eRfSfTf+g,g-gBc.g/g#b$bHb.cogZ P Q :g;g=g?g,d@gUfVfWfXfYfZfIb-dJbKbLbMbNb[g]g^g_g?e}e`g{g|g}g0f1f~g2f3f4fah5f6f7f8f9fbhch!f#f$fvgwg%f'fdh(fseXdteYdZd.d/dueveCc# Ob%b'behfhPb` { ghDcEcFcGcHc0d(b)bR w $ % hh*bx +bIc,b:d1d_d2d| ihJcwe3d)f{eDe;d=d4d6e*f/c-bFey z A B C D E `dKcxejh+fGedd,f0 ed.e-f1 J khlh' -emh0hnh?dfdgdhd{d7e/e|d}d~dHeidjdkdae8e9e!e:esg#e$e%e;eLcMc:c.bldmd/bEebecedeohWhNc} 5dOc6dPcph7d8dndodQc;cRcScTcUcpdQbRbSb:bqd.f;b=b/f:f;fqhXh^e=f?f@frhshthrduhvh=c?cVc9dpg~ ( ) whxhyhzhyeAh[f]f^f_f`f{fWczeXcYcZc0c1cBhChDhEh@e~eFhGhHhIh|f}fJh~fagbgKhcgdgegfgggLhMhhgigjgxgygkglgNhmgIeeeJefegeAeBeKeLesdTb2c@c[cOhPh3c?b@bQhtdudvdwdxdhe]c^c* S UbVbRh_cT `cyd{cCe
213 (field.validation_alias or field.alias)
214 if field.mode == "validation"
215 else (field.serialization_alias or field.alias)
216 )
218 # This expects that GenerateJsonSchema was already used to generate the definitions
219 json_schema = field_mapping[(field, override_mode or field.mode)] 24czd5cU zgab!d6caf_e@d|c}c7cMebfWb+ iee f g h i j k Adbb#dAgcfje[bdfF ]b4eefG s BgCgK 2eDgYhEg~c^b_b`bBdNe'eCdDdEdke{b|b}bFdOePeQe(eqgReSeTe)ecbdbXb, ~bac- [dGdHdIdFgShebV 8cfb9cgbGg!c#cbccchbYbibjbkblbdc2 3 4 . ecff/ : gfhfifHgTh[ejfkflfIgJgKgfcLgMgZb0bmb$cngW L M NgOgPgQg$dRgmfnfofpfqfrfnb%dobpbqbrbsbSgTgUgVg=e|eWgXgYgZgsftf0gufvfwf1gxfyfzfAfBf2g3gCfDfEftgugFfGf4gHfleJdmeKdLd'd(dneoegc5 tb1b2b5g6gub; = 7ghcicjckclcMd3b4bN u 6 7 8g5bv 6bmc7b)d%cNd'cX 9gvb*d(cIf`e]dadbd)cUeJf8b? pel m n o p q r Odwb+d!gKfqencLfH oc5eMfI t #g$gO 3e%gZh'gcdpcqcrcPdVe*eQdRdSdresctcucTdWeXeYe+ergZe0e1e,exbyb9b@ vcwc[ ^dUdVdWd(gUhzbY *cAb+cBb)g,c-cxcycCb!bDbEbFbGbzc8 9 ! ] AcNf^ _ OfPfQf*gVh]eRfSfTf+g,g-gBc.g/g#b$bHb.cogZ P Q :g;g=g?g,d@gUfVfWfXfYfZfIb-dJbKbLbMbNb[g]g^g_g?e}e`g{g|g}g0f1f~g2f3f4fah5f6f7f8f9fbhch!f#f$fvgwg%f'fdh(fseXdteYdZd.d/dueveCc# Ob%b'behfhPb` { ghDcEcFcGcHc0d(b)bR w $ % hh*bx +bIc,b:d1d_d2d| ihJcwe3d)f{eDe;d=d4d6e*f/c-bFey z A B C D E `dKcxejh+fGedd,f0 ed.e-f1 J khlh' -emh0hnh?dfdgdhd{d7e/e|d}d~dHeidjdkdae8e9e!e:esg#e$e%e;eLcMc:c.bldmd/bEebecedeohWhNc} 5dOc6dPcph7d8dndodQc;cRcScTcUcpdQbRbSb:bqd.f;b=b/f:f;fqhXh^e=f?f@frhshthrduhvh=c?cVc9dpg~ ( ) whxhyhzhyeAh[f]f^f_f`f{fWczeXcYcZc0c1cBhChDhEh@e~eFhGhHhIh|f}fJh~fagbgKhcgdgegfgggLhMhhgigjgxgygkglgNhmgIeeeJefegeAeBeKeLesdTb2c@c[cOhPh3c?b@bQhtdudvdwdxdhe]c^c* S UbVbRh_cT `cyd{cCe
220 if "$ref" not in json_schema: 24czd5cU zgab!d6caf_e@d|c}c7cMebfWb+ iee f g h i j k Adbb#dAgcfje[bdfF ]b4eefG s BgCgK 2eDgYhEg~c^b_b`bBdNe'eCdDdEdke{b|b}bFdOePeQe(eqgReSeTe)ecbdbXb, ~bac- [dGdHdIdFgShebV 8cfb9cgbGg!c#cbccchbYbibjbkblbdc2 3 4 . ecff/ : gfhfifHgTh[ejfkflfIgJgKgfcLgMgZb0bmb$cngW L M NgOgPgQg$dRgmfnfofpfqfrfnb%dobpbqbrbsbSgTgUgVg=e|eWgXgYgZgsftf0gufvfwf1gxfyfzfAfBf2g3gCfDfEftgugFfGf4gHfleJdmeKdLd'd(dneoegc5 tb1b2b5g6gub; = 7ghcicjckclcMd3b4bN u 6 7 8g5bv 6bmc7b)d%cNd'cX 9gvb*d(cIf`e]dadbd)cUeJf8b? pel m n o p q r Odwb+d!gKfqencLfH oc5eMfI t #g$gO 3e%gZh'gcdpcqcrcPdVe*eQdRdSdresctcucTdWeXeYe+ergZe0e1e,exbyb9b@ vcwc[ ^dUdVdWd(gUhzbY *cAb+cBb)g,c-cxcycCb!bDbEbFbGbzc8 9 ! ] AcNf^ _ OfPfQf*gVh]eRfSfTf+g,g-gBc.g/g#b$bHb.cogZ P Q :g;g=g?g,d@gUfVfWfXfYfZfIb-dJbKbLbMbNb[g]g^g_g?e}e`g{g|g}g0f1f~g2f3f4fah5f6f7f8f9fbhch!f#f$fvgwg%f'fdh(fseXdteYdZd.d/dueveCc# Ob%b'behfhPb` { ghDcEcFcGcHc0d(b)bR w $ % hh*bx +bIc,b:d1d_d2d| ihJcwe3d)f{eDe;d=d4d6e*f/c-bFey z A B C D E `dKcxejh+fGedd,f0 ed.e-f1 J khlh' -emh0hnh?dfdgdhd{d7e/e|d}d~dHeidjdkdae8e9e!e:esg#e$e%e;eLcMc:c.bldmd/bEebecedeohWhNc} 5dOc6dPcph7d8dndodQc;cRcScTcUcpdQbRbSb:bqd.f;b=b/f:f;fqhXh^e=f?f@frhshthrduhvh=c?cVc9dpg~ ( ) whxhyhzhyeAh[f]f^f_f`f{fWczeXcYcZc0c1cBhChDhEh@e~eFhGhHhIh|f}fJh~fagbgKhcgdgegfgggLhMhhgigjgxgygkglgNhmgIeeeJefegeAeBeKeLesdTb2c@c[cOhPh3c?b@bQhtdudvdwdxdhe]c^c* S UbVbRh_cT `cyd{cCe
221 # TODO remove when deprecating Pydantic v1
222 # Ref: https://github.com/pydantic/pydantic/blob/d61792cc42c80b13b23e3ffa74bc37ec7c77f7d1/pydantic/schema.py#L207
223 json_schema["title"] = field.field_info.title or field_alias.title().replace( 2zd5cU zg6caf_ebfWb+ e f g h i j k bbAgcf[bdfF ]befG s BgCg2eDgYhEgNe'eOePeQe(eqgReSeTe)ecb, ~b- FgShebV 8cfb9cgbGgbccchbYbibjbkblbdc2 3 4 ecff/ : gfhfif[ejfkflfIgJgKgfcLgMgZbmb$cngW L M NgOgPgQgRgmfnfofpfqfrfnbSgTgUgVg|eWgXgYgZgsftf0gufvfwf1gxfyfzfAfBf2g3gCfDfEftgugFfGf4gHfgc5 5g6gub; = 7ghcicjckclcN u 6 7 8g5bv 6bmc7bNd'cX 9g(cIf`eJf8b? l m n o p q r wb!gKfncLfH ocMfI t #g$g3e%gZh'gVe*eWeXeYe+ergZe0e1e,exb@ vc[ (gUhzbY *cAb+cBb)gxcycCb!bDbEbFbGbzc8 9 ! AcNf^ _ OfPfQf]eRfSfTf+g,g-gBc.g/g#bHb.cogZ P Q :g;g=g?g@gUfVfWfXfYfZfIb[g]g^g_g}e`g{g|g}g0f1f~g2f3f4fah5f6f7f8f9fbhch!f#f$fvgwg%f'fdh(fCc# ehfhPb` { ghDcEcFcGcHcR w $ % hh*bx +bIc,b_d2d| ih3d)f{e*f/c-by z A B C D E Kcjh+fdd,f0 ed-f1 J khlh-emh0hnh7e/e8e9e!e:esg#e$e%e;eLc.bld/bohWhNc} 5dOc6dPcphndodQc;cRcScTcUcpdQbRbSbqd.f;b=b/f:f;f^e=f?f@frhshthrduhvh=cVc9dpg~ ( ) whxhyhzhAh[f]f^f_f`f{fWcBhChDhEh~eFhGhHhIh|f}fJh~fagbgKhcgdgegfgggLhMhhgigjgxgygkglgNhmgsdTbOhPh3c?b@bQhtdudvdwdxd* S UbVbRh_cT `cyd{c
224 "_", " "
225 )
226 return json_schema 24czd5cU zgab!d6caf_e@d|c}c7cMebfWb+ iee f g h i j k Adbb#dAgcfje[bdfF ]b4eefG s BgCgK 2eDgYhEg~c^b_b`bBdNe'eCdDdEdke{b|b}bFdOePeQe(eqgReSeTe)ecbdbXb, ~bac- [dGdHdIdFgShebV 8cfb9cgbGg!c#cbccchbYbibjbkblbdc2 3 4 . ecff/ : gfhfifHgTh[ejfkflfIgJgKgfcLgMgZb0bmb$cngW L M NgOgPgQg$dRgmfnfofpfqfrfnb%dobpbqbrbsbSgTgUgVg=e|eWgXgYgZgsftf0gufvfwf1gxfyfzfAfBf2g3gCfDfEftgugFfGf4gHfleJdmeKdLd'd(dneoegc5 tb1b2b5g6gub; = 7ghcicjckclcMd3b4bN u 6 7 8g5bv 6bmc7b)d%cNd'cX 9gvb*d(cIf`e]dadbd)cUeJf8b? pel m n o p q r Odwb+d!gKfqencLfH oc5eMfI t #g$gO 3e%gZh'gcdpcqcrcPdVe*eQdRdSdresctcucTdWeXeYe+ergZe0e1e,exbyb9b@ vcwc[ ^dUdVdWd(gUhzbY *cAb+cBb)g,c-cxcycCb!bDbEbFbGbzc8 9 ! ] AcNf^ _ OfPfQf*gVh]eRfSfTf+g,g-gBc.g/g#b$bHb.cogZ P Q :g;g=g?g,d@gUfVfWfXfYfZfIb-dJbKbLbMbNb[g]g^g_g?e}e`g{g|g}g0f1f~g2f3f4fah5f6f7f8f9fbhch!f#f$fvgwg%f'fdh(fseXdteYdZd.d/dueveCc# Ob%b'behfhPb` { ghDcEcFcGcHc0d(b)bR w $ % hh*bx +bIc,b:d1d_d2d| ihJcwe3d)f{eDe;d=d4d6e*f/c-bFey z A B C D E `dKcxejh+fGedd,f0 ed.e-f1 J khlh' -emh0hnh?dfdgdhd{d7e/e|d}d~dHeidjdkdae8e9e!e:esg#e$e%e;eLcMc:c.bldmd/bEebecedeohWhNc} 5dOc6dPcph7d8dndodQc;cRcScTcUcpdQbRbSb:bqd.f;b=b/f:f;fqhXh^e=f?f@frhshthrduhvh=c?cVc9dpg~ ( ) whxhyhzhyeAh[f]f^f_f`f{fWczeXcYcZc0c1cBhChDhEh@e~eFhGhHhIh|f}fJh~fagbgKhcgdgegfgggLhMhhgigjgxgygkglgNhmgIeeeJefegeAeBeKeLesdTb2c@c[cOhPh3c?b@bQhtdudvdwdxdhe]c^c* S UbVbRh_cT `cyd{cCe
229def get_definitions( 1abcd
230 *,
231 fields: Sequence[ModelField],
232 model_name_map: ModelNameMap,
233 separate_input_output_schemas: bool = True,
234) -> tuple[
235 dict[tuple[ModelField, Literal["validation", "serialization"]], JsonSchemaValue],
236 dict[str, dict[str, Any]],
237]:
238 schema_generator = GenerateJsonSchema(ref_template=REF_TEMPLATE) 24czd@j[j5cU zgab!d6caf_e@d|c]j}c7c^jMebfWb+ iee f g h i j k Ad_jbb#dAgcfje[bdfF ]b4eef`jG s {jBg=hCgK 2eDgYhEg~c^b_b`bBdNe'eCdDdEdke{b|b}bFdOePeQe(eqgReSeTe)ecbdbXb, ~bac- [d|j}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrkGdsktkukvkHdIdwkxkykzkAkFgShebBkV 8cfb9cgbCkDkEkFkGkGg!c#cbccchbYbibjbkblbdc2 3 4 . ecff/ : HkgfhfifIkJkKkLkMkNkOkHgTh[ePkjfkflfIgJgKgfcLgQkMgRkZb0bmb$cngSkW L M TkNgOgPgQg$dRgmfnfofpfqfrfUkVkWkXkYkZknb%d0k1k2kob3k4k5kpbqb6krbsb7kSgTgUg8kVg=e|eWgXgYgZgsftf0gufvfwf1gxfyfzfAfBf2g3gCfDfEftgugFfGf4g?hHfleJdmeKdLd'd(dneoegc9k5 tb1b2b5g!k6gub; = 7ghcicjckclc#k$kMd3b4b%k'kN u (k6 7 )k*k+k,k-k8g5bv 6bmc7b)d%cNd.k/k'cX 9gvb*d(cIf`e]dad:kbd)c;kUeJf8b? pel m n o p q r Od=kwb+d!gKfqencLfH oc5eMf?kI t @k#g@h$gO 3e%gZh'gcdpcqcrcPdVe*eQdRdSdresctcucTdWeXeYe+ergZe0e1e,exbyb9b@ vcwc[ ^d[k]k^k_k`k{k|k}k~kalblcldlelflglhliljlklllUdmlnlolplVdWdqlrlsltlul(gUhzbvlY *cAb+cBbwlxlylzlAl)g,c-cxcycCb!bDbEbFbGbzc8 9 ! ] AcNf^ _ BlOfPfQfClDlElFlGlHlIl*gVh]eJlRfSfTf+g,g-gBc.gKl/gLl#b$bHb.cogMlZ P Q Nl:g;g=g?g,d@gUfVfWfXfYfZfOlPlQlRlSlTlIb-dUlVlWlJbXlYlZlKbLb0lMbNb1l[g]g^g2l_g?e}e`g{g|g}g0f1f~g2f3f4fah5f6f7f8f9fbhch!f#f$fvgwg%f'fdh[h(fseXdteYdZd.d/dueveCc3l# Ob%b'beh4lfhPb` { ghDcEcFcGcHc5l6l0d(b)b7l8lR w 9l$ % !l#l$l%l'lhh*bx +bIc,b:d1d_d(l)l2d| ihJcwe3d)f{eDe;d*l=d4d+l6e*f/c-bFey z A B C D E `d,lKcxejh+fGedd,f0 ed.e-f-l1 J .lkh]hlh' -emh0hnh?dfdgdhd{d7e/e|d}d~dHeidjdkdae8e9e!e:esg#e$e%e;eLcMc:c.bldmd/bEe/l:l;l=l?l@l[l]l^l_l`l{l|l}l~lambmcmdmemfmbegmhmimjmcedekmlmmmnmomohWhNcpm} 5dOc6dPcqmrmsmtmumph7d8dndodQc;cRcScTcUcpdQbRbSb:bqd.f;b=bvm/f:f;fwmxmymzmAmBmCmqhXh^eDm=f?f@frhshthrduhEmvhFm=c?cVc9dpgGm~ ( ) HmwhxhyhzhyeAh[f]f^f_f`f{fImJmKmLmMmNmWczeOmPmQmXcRmSmTmYcZcUm0c1cVmBhChDhWmEh@e~eFhGhHhIh|f}fJh~fagbgKhcgdgegfgggLhMhhgigjgxgygkglgNh^hmgIeeeJefegeAeBeKeLesdXmTb2c@c[cOhYmPh3c?b@bQhtdudvdwdxdZm0mhe]c^c1m2m* S 3mUbVb4m5m6m7m8mRh_cT `cyd{cCe
239 validation_fields = [field for field in fields if field.mode == "validation"] 24czd@j[j5cU zgab!d6caf_e@d|c]j}c7c^jMebfWb+ iee f g h i j k Ad_jbb#dAgcfje[bdfF ]b4eef`jG s {jBg=hCgK 2eDgYhEg~c^b_b`bBdNe'eCdDdEdke{b|b}bFdOePeQe(eqgReSeTe)ecbdbXb, ~bac- [d|j}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrkGdsktkukvkHdIdwkxkykzkAkFgShebBkV 8cfb9cgbCkDkEkFkGkGg!c#cbccchbYbibjbkblbdc2 3 4 . ecff/ : HkgfhfifIkJkKkLkMkNkOkHgTh[ePkjfkflfIgJgKgfcLgQkMgRkZb0bmb$cngSkW L M TkNgOgPgQg$dRgmfnfofpfqfrfUkVkWkXkYkZknb%d0k1k2kob3k4k5kpbqb6krbsb7kSgTgUg8kVg=e|eWgXgYgZgsftf0gufvfwf1gxfyfzfAfBf2g3gCfDfEftgugFfGf4g?hHfleJdmeKdLd'd(dneoegc9k5 tb1b2b5g!k6gub; = 7ghcicjckclc#k$kMd3b4b%k'kN u (k6 7 )k*k+k,k-k8g5bv 6bmc7b)d%cNd.k/k'cX 9gvb*d(cIf`e]dad:kbd)c;kUeJf8b? pel m n o p q r Od=kwb+d!gKfqencLfH oc5eMf?kI t @k#g@h$gO 3e%gZh'gcdpcqcrcPdVe*eQdRdSdresctcucTdWeXeYe+ergZe0e1e,exbyb9b@ vcwc[ ^d[k]k^k_k`k{k|k}k~kalblcldlelflglhliljlklllUdmlnlolplVdWdqlrlsltlul(gUhzbvlY *cAb+cBbwlxlylzlAl)g,c-cxcycCb!bDbEbFbGbzc8 9 ! ] AcNf^ _ BlOfPfQfClDlElFlGlHlIl*gVh]eJlRfSfTf+g,g-gBc.gKl/gLl#b$bHb.cogMlZ P Q Nl:g;g=g?g,d@gUfVfWfXfYfZfOlPlQlRlSlTlIb-dUlVlWlJbXlYlZlKbLb0lMbNb1l[g]g^g2l_g?e}e`g{g|g}g0f1f~g2f3f4fah5f6f7f8f9fbhch!f#f$fvgwg%f'fdh[h(fseXdteYdZd.d/dueveCc3l# Ob%b'beh4lfhPb` { ghDcEcFcGcHc5l6l0d(b)b7l8lR w 9l$ % !l#l$l%l'lhh*bx +bIc,b:d1d_d(l)l2d| ihJcwe3d)f{eDe;d*l=d4d+l6e*f/c-bFey z A B C D E `d,lKcxejh+fGedd,f0 ed.e-f-l1 J .lkh]hlh' -emh0hnh?dfdgdhd{d7e/e|d}d~dHeidjdkdae8e9e!e:esg#e$e%e;eLcMc:c.bldmd/bEe/l:l;l=l?l@l[l]l^l_l`l{l|l}l~lambmcmdmemfmbegmhmimjmcedekmlmmmnmomohWhNcpm} 5dOc6dPcqmrmsmtmumph7d8dndodQc;cRcScTcUcpdQbRbSb:bqd.f;b=bvm/f:f;fwmxmymzmAmBmCmqhXh^eDm=f?f@frhshthrduhEmvhFm=c?cVc9dpgGm~ ( ) HmwhxhyhzhyeAh[f]f^f_f`f{fImJmKmLmMmNmWczeOmPmQmXcRmSmTmYcZcUm0c1cVmBhChDhWmEh@e~eFhGhHhIh|f}fJh~fagbgKhcgdgegfgggLhMhhgigjgxgygkglgNh^hmgIeeeJefegeAeBeKeLesdXmTb2c@c[cOhYmPh3c?b@bQhtdudvdwdxdZm0mhe]c^c1m2m* S 3mUbVb4m5m6m7m8mRh_cT `cyd{cCe
240 serialization_fields = [field for field in fields if field.mode == "serialization"] 24czd@j[j5cU zgab!d6caf_e@d|c]j}c7c^jMebfWb+ iee f g h i j k Ad_jbb#dAgcfje[bdfF ]b4eef`jG s {jBg=hCgK 2eDgYhEg~c^b_b`bBdNe'eCdDdEdke{b|b}bFdOePeQe(eqgReSeTe)ecbdbXb, ~bac- [d|j}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrkGdsktkukvkHdIdwkxkykzkAkFgShebBkV 8cfb9cgbCkDkEkFkGkGg!c#cbccchbYbibjbkblbdc2 3 4 . ecff/ : HkgfhfifIkJkKkLkMkNkOkHgTh[ePkjfkflfIgJgKgfcLgQkMgRkZb0bmb$cngSkW L M TkNgOgPgQg$dRgmfnfofpfqfrfUkVkWkXkYkZknb%d0k1k2kob3k4k5kpbqb6krbsb7kSgTgUg8kVg=e|eWgXgYgZgsftf0gufvfwf1gxfyfzfAfBf2g3gCfDfEftgugFfGf4g?hHfleJdmeKdLd'd(dneoegc9k5 tb1b2b5g!k6gub; = 7ghcicjckclc#k$kMd3b4b%k'kN u (k6 7 )k*k+k,k-k8g5bv 6bmc7b)d%cNd.k/k'cX 9gvb*d(cIf`e]dad:kbd)c;kUeJf8b? pel m n o p q r Od=kwb+d!gKfqencLfH oc5eMf?kI t @k#g@h$gO 3e%gZh'gcdpcqcrcPdVe*eQdRdSdresctcucTdWeXeYe+ergZe0e1e,exbyb9b@ vcwc[ ^d[k]k^k_k`k{k|k}k~kalblcldlelflglhliljlklllUdmlnlolplVdWdqlrlsltlul(gUhzbvlY *cAb+cBbwlxlylzlAl)g,c-cxcycCb!bDbEbFbGbzc8 9 ! ] AcNf^ _ BlOfPfQfClDlElFlGlHlIl*gVh]eJlRfSfTf+g,g-gBc.gKl/gLl#b$bHb.cogMlZ P Q Nl:g;g=g?g,d@gUfVfWfXfYfZfOlPlQlRlSlTlIb-dUlVlWlJbXlYlZlKbLb0lMbNb1l[g]g^g2l_g?e}e`g{g|g}g0f1f~g2f3f4fah5f6f7f8f9fbhch!f#f$fvgwg%f'fdh[h(fseXdteYdZd.d/dueveCc3l# Ob%b'beh4lfhPb` { ghDcEcFcGcHc5l6l0d(b)b7l8lR w 9l$ % !l#l$l%l'lhh*bx +bIc,b:d1d_d(l)l2d| ihJcwe3d)f{eDe;d*l=d4d+l6e*f/c-bFey z A B C D E `d,lKcxejh+fGedd,f0 ed.e-f-l1 J .lkh]hlh' -emh0hnh?dfdgdhd{d7e/e|d}d~dHeidjdkdae8e9e!e:esg#e$e%e;eLcMc:c.bldmd/bEe/l:l;l=l?l@l[l]l^l_l`l{l|l}l~lambmcmdmemfmbegmhmimjmcedekmlmmmnmomohWhNcpm} 5dOc6dPcqmrmsmtmumph7d8dndodQc;cRcScTcUcpdQbRbSb:bqd.f;b=bvm/f:f;fwmxmymzmAmBmCmqhXh^eDm=f?f@frhshthrduhEmvhFm=c?cVc9dpgGm~ ( ) HmwhxhyhzhyeAh[f]f^f_f`f{fImJmKmLmMmNmWczeOmPmQmXcRmSmTmYcZcUm0c1cVmBhChDhWmEh@e~eFhGhHhIh|f}fJh~fagbgKhcgdgegfgggLhMhhgigjgxgygkglgNh^hmgIeeeJefegeAeBeKeLesdXmTb2c@c[cOhYmPh3c?b@bQhtdudvdwdxdZm0mhe]c^c1m2m* S 3mUbVb4m5m6m7m8mRh_cT `cyd{cCe
241 flat_validation_models = get_flat_models_from_fields( 24czd@j[j5cU zgab!d6caf_e@d|c]j}c7c^jMebfWb+ iee f g h i j k Ad_jbb#dAgcfje[bdfF ]b4eef`jG s {jBg=hCgK 2eDgYhEg~c^b_b`bBdNe'eCdDdEdke{b|b}bFdOePeQe(eqgReSeTe)ecbdbXb, ~bac- [d|j}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrkGdsktkukvkHdIdwkxkykzkAkFgShebBkV 8cfb9cgbCkDkEkFkGkGg!c#cbccchbYbibjbkblbdc2 3 4 . ecff/ : HkgfhfifIkJkKkLkMkNkOkHgTh[ePkjfkflfIgJgKgfcLgQkMgRkZb0bmb$cngSkW L M TkNgOgPgQg$dRgmfnfofpfqfrfUkVkWkXkYkZknb%d0k1k2kob3k4k5kpbqb6krbsb7kSgTgUg8kVg=e|eWgXgYgZgsftf0gufvfwf1gxfyfzfAfBf2g3gCfDfEftgugFfGf4g?hHfleJdmeKdLd'd(dneoegc9k5 tb1b2b5g!k6gub; = 7ghcicjckclc#k$kMd3b4b%k'kN u (k6 7 )k*k+k,k-k8g5bv 6bmc7b)d%cNd.k/k'cX 9gvb*d(cIf`e]dad:kbd)c;kUeJf8b? pel m n o p q r Od=kwb+d!gKfqencLfH oc5eMf?kI t @k#g@h$gO 3e%gZh'gcdpcqcrcPdVe*eQdRdSdresctcucTdWeXeYe+ergZe0e1e,exbyb9b@ vcwc[ ^d[k]k^k_k`k{k|k}k~kalblcldlelflglhliljlklllUdmlnlolplVdWdqlrlsltlul(gUhzbvlY *cAb+cBbwlxlylzlAl)g,c-cxcycCb!bDbEbFbGbzc8 9 ! ] AcNf^ _ BlOfPfQfClDlElFlGlHlIl*gVh]eJlRfSfTf+g,g-gBc.gKl/gLl#b$bHb.cogMlZ P Q Nl:g;g=g?g,d@gUfVfWfXfYfZfOlPlQlRlSlTlIb-dUlVlWlJbXlYlZlKbLb0lMbNb1l[g]g^g2l_g?e}e`g{g|g}g0f1f~g2f3f4fah5f6f7f8f9fbhch!f#f$fvgwg%f'fdh[h(fseXdteYdZd.d/dueveCc3l# Ob%b'beh4lfhPb` { ghDcEcFcGcHc5l6l0d(b)b7l8lR w 9l$ % !l#l$l%l'lhh*bx +bIc,b:d1d_d(l)l2d| ihJcwe3d)f{eDe;d*l=d4d+l6e*f/c-bFey z A B C D E `d,lKcxejh+fGedd,f0 ed.e-f-l1 J .lkh]hlh' -emh0hnh?dfdgdhd{d7e/e|d}d~dHeidjdkdae8e9e!e:esg#e$e%e;eLcMc:c.bldmd/bEe/l:l;l=l?l@l[l]l^l_l`l{l|l}l~lambmcmdmemfmbegmhmimjmcedekmlmmmnmomohWhNcpm} 5dOc6dPcqmrmsmtmumph7d8dndodQc;cRcScTcUcpdQbRbSb:bqd.f;b=bvm/f:f;fwmxmymzmAmBmCmqhXh^eDm=f?f@frhshthrduhEmvhFm=c?cVc9dpgGm~ ( ) HmwhxhyhzhyeAh[f]f^f_f`f{fImJmKmLmMmNmWczeOmPmQmXcRmSmTmYcZcUm0c1cVmBhChDhWmEh@e~eFhGhHhIh|f}fJh~fagbgKhcgdgegfgggLhMhhgigjgxgygkglgNh^hmgIeeeJefegeAeBeKeLesdXmTb2c@c[cOhYmPh3c?b@bQhtdudvdwdxdZm0mhe]c^c1m2m* S 3mUbVb4m5m6m7m8mRh_cT `cyd{cCe
242 validation_fields, known_models=set()
243 )
244 flat_serialization_models = get_flat_models_from_fields( 24czd@j[j5cU zgab!d6caf_e@d|c]j}c7c^jMebfWb+ iee f g h i j k Ad_jbb#dAgcfje[bdfF ]b4eef`jG s {jBg=hCgK 2eDgYhEg~c^b_b`bBdNe'eCdDdEdke{b|b}bFdOePeQe(eqgReSeTe)ecbdbXb, ~bac- [d|j}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrkGdsktkukvkHdIdwkxkykzkAkFgShebBkV 8cfb9cgbCkDkEkFkGkGg!c#cbccchbYbibjbkblbdc2 3 4 . ecff/ : HkgfhfifIkJkKkLkMkNkOkHgTh[ePkjfkflfIgJgKgfcLgQkMgRkZb0bmb$cngSkW L M TkNgOgPgQg$dRgmfnfofpfqfrfUkVkWkXkYkZknb%d0k1k2kob3k4k5kpbqb6krbsb7kSgTgUg8kVg=e|eWgXgYgZgsftf0gufvfwf1gxfyfzfAfBf2g3gCfDfEftgugFfGf4g?hHfleJdmeKdLd'd(dneoegc9k5 tb1b2b5g!k6gub; = 7ghcicjckclc#k$kMd3b4b%k'kN u (k6 7 )k*k+k,k-k8g5bv 6bmc7b)d%cNd.k/k'cX 9gvb*d(cIf`e]dad:kbd)c;kUeJf8b? pel m n o p q r Od=kwb+d!gKfqencLfH oc5eMf?kI t @k#g@h$gO 3e%gZh'gcdpcqcrcPdVe*eQdRdSdresctcucTdWeXeYe+ergZe0e1e,exbyb9b@ vcwc[ ^d[k]k^k_k`k{k|k}k~kalblcldlelflglhliljlklllUdmlnlolplVdWdqlrlsltlul(gUhzbvlY *cAb+cBbwlxlylzlAl)g,c-cxcycCb!bDbEbFbGbzc8 9 ! ] AcNf^ _ BlOfPfQfClDlElFlGlHlIl*gVh]eJlRfSfTf+g,g-gBc.gKl/gLl#b$bHb.cogMlZ P Q Nl:g;g=g?g,d@gUfVfWfXfYfZfOlPlQlRlSlTlIb-dUlVlWlJbXlYlZlKbLb0lMbNb1l[g]g^g2l_g?e}e`g{g|g}g0f1f~g2f3f4fah5f6f7f8f9fbhch!f#f$fvgwg%f'fdh[h(fseXdteYdZd.d/dueveCc3l# Ob%b'beh4lfhPb` { ghDcEcFcGcHc5l6l0d(b)b7l8lR w 9l$ % !l#l$l%l'lhh*bx +bIc,b:d1d_d(l)l2d| ihJcwe3d)f{eDe;d*l=d4d+l6e*f/c-bFey z A B C D E `d,lKcxejh+fGedd,f0 ed.e-f-l1 J .lkh]hlh' -emh0hnh?dfdgdhd{d7e/e|d}d~dHeidjdkdae8e9e!e:esg#e$e%e;eLcMc:c.bldmd/bEe/l:l;l=l?l@l[l]l^l_l`l{l|l}l~lambmcmdmemfmbegmhmimjmcedekmlmmmnmomohWhNcpm} 5dOc6dPcqmrmsmtmumph7d8dndodQc;cRcScTcUcpdQbRbSb:bqd.f;b=bvm/f:f;fwmxmymzmAmBmCmqhXh^eDm=f?f@frhshthrduhEmvhFm=c?cVc9dpgGm~ ( ) HmwhxhyhzhyeAh[f]f^f_f`f{fImJmKmLmMmNmWczeOmPmQmXcRmSmTmYcZcUm0c1cVmBhChDhWmEh@e~eFhGhHhIh|f}fJh~fagbgKhcgdgegfgggLhMhhgigjgxgygkglgNh^hmgIeeeJefegeAeBeKeLesdXmTb2c@c[cOhYmPh3c?b@bQhtdudvdwdxdZm0mhe]c^c1m2m* S 3mUbVb4m5m6m7m8mRh_cT `cyd{cCe
245 serialization_fields, known_models=set()
246 )
247 flat_validation_model_fields = [ 24czd@j[j5cU zgab!d6caf_e@d|c]j}c7c^jMebfWb+ iee f g h i j k Ad_jbb#dAgcfje[bdfF ]b4eef`jG s {jBg=hCgK 2eDgYhEg~c^b_b`bBdNe'eCdDdEdke{b|b}bFdOePeQe(eqgReSeTe)ecbdbXb, ~bac- [d|j}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrkGdsktkukvkHdIdwkxkykzkAkFgShebBkV 8cfb9cgbCkDkEkFkGkGg!c#cbccchbYbibjbkblbdc2 3 4 . ecff/ : HkgfhfifIkJkKkLkMkNkOkHgTh[ePkjfkflfIgJgKgfcLgQkMgRkZb0bmb$cngSkW L M TkNgOgPgQg$dRgmfnfofpfqfrfUkVkWkXkYkZknb%d0k1k2kob3k4k5kpbqb6krbsb7kSgTgUg8kVg=e|eWgXgYgZgsftf0gufvfwf1gxfyfzfAfBf2g3gCfDfEftgugFfGf4g?hHfleJdmeKdLd'd(dneoegc9k5 tb1b2b5g!k6gub; = 7ghcicjckclc#k$kMd3b4b%k'kN u (k6 7 )k*k+k,k-k8g5bv 6bmc7b)d%cNd.k/k'cX 9gvb*d(cIf`e]dad:kbd)c;kUeJf8b? pel m n o p q r Od=kwb+d!gKfqencLfH oc5eMf?kI t @k#g@h$gO 3e%gZh'gcdpcqcrcPdVe*eQdRdSdresctcucTdWeXeYe+ergZe0e1e,exbyb9b@ vcwc[ ^d[k]k^k_k`k{k|k}k~kalblcldlelflglhliljlklllUdmlnlolplVdWdqlrlsltlul(gUhzbvlY *cAb+cBbwlxlylzlAl)g,c-cxcycCb!bDbEbFbGbzc8 9 ! ] AcNf^ _ BlOfPfQfClDlElFlGlHlIl*gVh]eJlRfSfTf+g,g-gBc.gKl/gLl#b$bHb.cogMlZ P Q Nl:g;g=g?g,d@gUfVfWfXfYfZfOlPlQlRlSlTlIb-dUlVlWlJbXlYlZlKbLb0lMbNb1l[g]g^g2l_g?e}e`g{g|g}g0f1f~g2f3f4fah5f6f7f8f9fbhch!f#f$fvgwg%f'fdh[h(fseXdteYdZd.d/dueveCc3l# Ob%b'beh4lfhPb` { ghDcEcFcGcHc5l6l0d(b)b7l8lR w 9l$ % !l#l$l%l'lhh*bx +bIc,b:d1d_d(l)l2d| ihJcwe3d)f{eDe;d*l=d4d+l6e*f/c-bFey z A B C D E `d,lKcxejh+fGedd,f0 ed.e-f-l1 J .lkh]hlh' -emh0hnh?dfdgdhd{d7e/e|d}d~dHeidjdkdae8e9e!e:esg#e$e%e;eLcMc:c.bldmd/bEe/l:l;l=l?l@l[l]l^l_l`l{l|l}l~lambmcmdmemfmbegmhmimjmcedekmlmmmnmomohWhNcpm} 5dOc6dPcqmrmsmtmumph7d8dndodQc;cRcScTcUcpdQbRbSb:bqd.f;b=bvm/f:f;fwmxmymzmAmBmCmqhXh^eDm=f?f@frhshthrduhEmvhFm=c?cVc9dpgGm~ ( ) HmwhxhyhzhyeAh[f]f^f_f`f{fImJmKmLmMmNmWczeOmPmQmXcRmSmTmYcZcUm0c1cVmBhChDhWmEh@e~eFhGhHhIh|f}fJh~fagbgKhcgdgegfgggLhMhhgigjgxgygkglgNh^hmgIeeeJefegeAeBeKeLesdXmTb2c@c[cOhYmPh3c?b@bQhtdudvdwdxdZm0mhe]c^c1m2m* S 3mUbVb4m5m6m7m8mRh_cT `cyd{cCe
248 ModelField(
249 field_info=FieldInfo(annotation=model),
250 name=model.__name__,
251 mode="validation",
252 )
253 for model in flat_validation_models
254 ]
255 flat_serialization_model_fields = [ 24czd@j[j5cU zgab!d6caf_e@d|c]j}c7c^jMebfWb+ iee f g h i j k Ad_jbb#dAgcfje[bdfF ]b4eef`jG s {jBg=hCgK 2eDgYhEg~c^b_b`bBdNe'eCdDdEdke{b|b}bFdOePeQe(eqgReSeTe)ecbdbXb, ~bac- [d|j}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrkGdsktkukvkHdIdwkxkykzkAkFgShebBkV 8cfb9cgbCkDkEkFkGkGg!c#cbccchbYbibjbkblbdc2 3 4 . ecff/ : HkgfhfifIkJkKkLkMkNkOkHgTh[ePkjfkflfIgJgKgfcLgQkMgRkZb0bmb$cngSkW L M TkNgOgPgQg$dRgmfnfofpfqfrfUkVkWkXkYkZknb%d0k1k2kob3k4k5kpbqb6krbsb7kSgTgUg8kVg=e|eWgXgYgZgsftf0gufvfwf1gxfyfzfAfBf2g3gCfDfEftgugFfGf4g?hHfleJdmeKdLd'd(dneoegc9k5 tb1b2b5g!k6gub; = 7ghcicjckclc#k$kMd3b4b%k'kN u (k6 7 )k*k+k,k-k8g5bv 6bmc7b)d%cNd.k/k'cX 9gvb*d(cIf`e]dad:kbd)c;kUeJf8b? pel m n o p q r Od=kwb+d!gKfqencLfH oc5eMf?kI t @k#g@h$gO 3e%gZh'gcdpcqcrcPdVe*eQdRdSdresctcucTdWeXeYe+ergZe0e1e,exbyb9b@ vcwc[ ^d[k]k^k_k`k{k|k}k~kalblcldlelflglhliljlklllUdmlnlolplVdWdqlrlsltlul(gUhzbvlY *cAb+cBbwlxlylzlAl)g,c-cxcycCb!bDbEbFbGbzc8 9 ! ] AcNf^ _ BlOfPfQfClDlElFlGlHlIl*gVh]eJlRfSfTf+g,g-gBc.gKl/gLl#b$bHb.cogMlZ P Q Nl:g;g=g?g,d@gUfVfWfXfYfZfOlPlQlRlSlTlIb-dUlVlWlJbXlYlZlKbLb0lMbNb1l[g]g^g2l_g?e}e`g{g|g}g0f1f~g2f3f4fah5f6f7f8f9fbhch!f#f$fvgwg%f'fdh[h(fseXdteYdZd.d/dueveCc3l# Ob%b'beh4lfhPb` { ghDcEcFcGcHc5l6l0d(b)b7l8lR w 9l$ % !l#l$l%l'lhh*bx +bIc,b:d1d_d(l)l2d| ihJcwe3d)f{eDe;d*l=d4d+l6e*f/c-bFey z A B C D E `d,lKcxejh+fGedd,f0 ed.e-f-l1 J .lkh]hlh' -emh0hnh?dfdgdhd{d7e/e|d}d~dHeidjdkdae8e9e!e:esg#e$e%e;eLcMc:c.bldmd/bEe/l:l;l=l?l@l[l]l^l_l`l{l|l}l~lambmcmdmemfmbegmhmimjmcedekmlmmmnmomohWhNcpm} 5dOc6dPcqmrmsmtmumph7d8dndodQc;cRcScTcUcpdQbRbSb:bqd.f;b=bvm/f:f;fwmxmymzmAmBmCmqhXh^eDm=f?f@frhshthrduhEmvhFm=c?cVc9dpgGm~ ( ) HmwhxhyhzhyeAh[f]f^f_f`f{fImJmKmLmMmNmWczeOmPmQmXcRmSmTmYcZcUm0c1cVmBhChDhWmEh@e~eFhGhHhIh|f}fJh~fagbgKhcgdgegfgggLhMhhgigjgxgygkglgNh^hmgIeeeJefegeAeBeKeLesdXmTb2c@c[cOhYmPh3c?b@bQhtdudvdwdxdZm0mhe]c^c1m2m* S 3mUbVb4m5m6m7m8mRh_cT `cyd{cCe
256 ModelField(
257 field_info=FieldInfo(annotation=model),
258 name=model.__name__,
259 mode="serialization",
260 )
261 for model in flat_serialization_models
262 ]
263 flat_model_fields = flat_validation_model_fields + flat_serialization_model_fields 24czd@j[j5cU zgab!d6caf_e@d|c]j}c7c^jMebfWb+ iee f g h i j k Ad_jbb#dAgcfje[bdfF ]b4eef`jG s {jBg=hCgK 2eDgYhEg~c^b_b`bBdNe'eCdDdEdke{b|b}bFdOePeQe(eqgReSeTe)ecbdbXb, ~bac- [d|j}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrkGdsktkukvkHdIdwkxkykzkAkFgShebBkV 8cfb9cgbCkDkEkFkGkGg!c#cbccchbYbibjbkblbdc2 3 4 . ecff/ : HkgfhfifIkJkKkLkMkNkOkHgTh[ePkjfkflfIgJgKgfcLgQkMgRkZb0bmb$cngSkW L M TkNgOgPgQg$dRgmfnfofpfqfrfUkVkWkXkYkZknb%d0k1k2kob3k4k5kpbqb6krbsb7kSgTgUg8kVg=e|eWgXgYgZgsftf0gufvfwf1gxfyfzfAfBf2g3gCfDfEftgugFfGf4g?hHfleJdmeKdLd'd(dneoegc9k5 tb1b2b5g!k6gub; = 7ghcicjckclc#k$kMd3b4b%k'kN u (k6 7 )k*k+k,k-k8g5bv 6bmc7b)d%cNd.k/k'cX 9gvb*d(cIf`e]dad:kbd)c;kUeJf8b? pel m n o p q r Od=kwb+d!gKfqencLfH oc5eMf?kI t @k#g@h$gO 3e%gZh'gcdpcqcrcPdVe*eQdRdSdresctcucTdWeXeYe+ergZe0e1e,exbyb9b@ vcwc[ ^d[k]k^k_k`k{k|k}k~kalblcldlelflglhliljlklllUdmlnlolplVdWdqlrlsltlul(gUhzbvlY *cAb+cBbwlxlylzlAl)g,c-cxcycCb!bDbEbFbGbzc8 9 ! ] AcNf^ _ BlOfPfQfClDlElFlGlHlIl*gVh]eJlRfSfTf+g,g-gBc.gKl/gLl#b$bHb.cogMlZ P Q Nl:g;g=g?g,d@gUfVfWfXfYfZfOlPlQlRlSlTlIb-dUlVlWlJbXlYlZlKbLb0lMbNb1l[g]g^g2l_g?e}e`g{g|g}g0f1f~g2f3f4fah5f6f7f8f9fbhch!f#f$fvgwg%f'fdh[h(fseXdteYdZd.d/dueveCc3l# Ob%b'beh4lfhPb` { ghDcEcFcGcHc5l6l0d(b)b7l8lR w 9l$ % !l#l$l%l'lhh*bx +bIc,b:d1d_d(l)l2d| ihJcwe3d)f{eDe;d*l=d4d+l6e*f/c-bFey z A B C D E `d,lKcxejh+fGedd,f0 ed.e-f-l1 J .lkh]hlh' -emh0hnh?dfdgdhd{d7e/e|d}d~dHeidjdkdae8e9e!e:esg#e$e%e;eLcMc:c.bldmd/bEe/l:l;l=l?l@l[l]l^l_l`l{l|l}l~lambmcmdmemfmbegmhmimjmcedekmlmmmnmomohWhNcpm} 5dOc6dPcqmrmsmtmumph7d8dndodQc;cRcScTcUcpdQbRbSb:bqd.f;b=bvm/f:f;fwmxmymzmAmBmCmqhXh^eDm=f?f@frhshthrduhEmvhFm=c?cVc9dpgGm~ ( ) HmwhxhyhzhyeAh[f]f^f_f`f{fImJmKmLmMmNmWczeOmPmQmXcRmSmTmYcZcUm0c1cVmBhChDhWmEh@e~eFhGhHhIh|f}fJh~fagbgKhcgdgegfgggLhMhhgigjgxgygkglgNh^hmgIeeeJefegeAeBeKeLesdXmTb2c@c[cOhYmPh3c?b@bQhtdudvdwdxdZm0mhe]c^c1m2m* S 3mUbVb4m5m6m7m8mRh_cT `cyd{cCe
264 input_types = {f.field_info.annotation for f in fields} 24czd@j[j5cU zgab!d6caf_e@d|c]j}c7c^jMebfWb+ iee f g h i j k Ad_jbb#dAgcfje[bdfF ]b4eef`jG s {jBg=hCgK 2eDgYhEg~c^b_b`bBdNe'eCdDdEdke{b|b}bFdOePeQe(eqgReSeTe)ecbdbXb, ~bac- [d|j}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrkGdsktkukvkHdIdwkxkykzkAkFgShebBkV 8cfb9cgbCkDkEkFkGkGg!c#cbccchbYbibjbkblbdc2 3 4 . ecff/ : HkgfhfifIkJkKkLkMkNkOkHgTh[ePkjfkflfIgJgKgfcLgQkMgRkZb0bmb$cngSkW L M TkNgOgPgQg$dRgmfnfofpfqfrfUkVkWkXkYkZknb%d0k1k2kob3k4k5kpbqb6krbsb7kSgTgUg8kVg=e|eWgXgYgZgsftf0gufvfwf1gxfyfzfAfBf2g3gCfDfEftgugFfGf4g?hHfleJdmeKdLd'd(dneoegc9k5 tb1b2b5g!k6gub; = 7ghcicjckclc#k$kMd3b4b%k'kN u (k6 7 )k*k+k,k-k8g5bv 6bmc7b)d%cNd.k/k'cX 9gvb*d(cIf`e]dad:kbd)c;kUeJf8b? pel m n o p q r Od=kwb+d!gKfqencLfH oc5eMf?kI t @k#g@h$gO 3e%gZh'gcdpcqcrcPdVe*eQdRdSdresctcucTdWeXeYe+ergZe0e1e,exbyb9b@ vcwc[ ^d[k]k^k_k`k{k|k}k~kalblcldlelflglhliljlklllUdmlnlolplVdWdqlrlsltlul(gUhzbvlY *cAb+cBbwlxlylzlAl)g,c-cxcycCb!bDbEbFbGbzc8 9 ! ] AcNf^ _ BlOfPfQfClDlElFlGlHlIl*gVh]eJlRfSfTf+g,g-gBc.gKl/gLl#b$bHb.cogMlZ P Q Nl:g;g=g?g,d@gUfVfWfXfYfZfOlPlQlRlSlTlIb-dUlVlWlJbXlYlZlKbLb0lMbNb1l[g]g^g2l_g?e}e`g{g|g}g0f1f~g2f3f4fah5f6f7f8f9fbhch!f#f$fvgwg%f'fdh[h(fseXdteYdZd.d/dueveCc3l# Ob%b'beh4lfhPb` { ghDcEcFcGcHc5l6l0d(b)b7l8lR w 9l$ % !l#l$l%l'lhh*bx +bIc,b:d1d_d(l)l2d| ihJcwe3d)f{eDe;d*l=d4d+l6e*f/c-bFey z A B C D E `d,lKcxejh+fGedd,f0 ed.e-f-l1 J .lkh]hlh' -emh0hnh?dfdgdhd{d7e/e|d}d~dHeidjdkdae8e9e!e:esg#e$e%e;eLcMc:c.bldmd/bEe/l:l;l=l?l@l[l]l^l_l`l{l|l}l~lambmcmdmemfmbegmhmimjmcedekmlmmmnmomohWhNcpm} 5dOc6dPcqmrmsmtmumph7d8dndodQc;cRcScTcUcpdQbRbSb:bqd.f;b=bvm/f:f;fwmxmymzmAmBmCmqhXh^eDm=f?f@frhshthrduhEmvhFm=c?cVc9dpgGm~ ( ) HmwhxhyhzhyeAh[f]f^f_f`f{fImJmKmLmMmNmWczeOmPmQmXcRmSmTmYcZcUm0c1cVmBhChDhWmEh@e~eFhGhHhIh|f}fJh~fagbgKhcgdgegfgggLhMhhgigjgxgygkglgNh^hmgIeeeJefegeAeBeKeLesdXmTb2c@c[cOhYmPh3c?b@bQhtdudvdwdxdZm0mhe]c^c1m2m* S 3mUbVb4m5m6m7m8mRh_cT `cyd{cCe
265 unique_flat_model_fields = { 24czd@j[j5cU zgab!d6caf_e@d|c]j}c7c^jMebfWb+ iee f g h i j k Ad_jbb#dAgcfje[bdfF ]b4eef`jG s {jBg=hCgK 2eDgYhEg~c^b_b`bBdNe'eCdDdEdke{b|b}bFdOePeQe(eqgReSeTe)ecbdbXb, ~bac- [d|j}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrkGdsktkukvkHdIdwkxkykzkAkFgShebBkV 8cfb9cgbCkDkEkFkGkGg!c#cbccchbYbibjbkblbdc2 3 4 . ecff/ : HkgfhfifIkJkKkLkMkNkOkHgTh[ePkjfkflfIgJgKgfcLgQkMgRkZb0bmb$cngSkW L M TkNgOgPgQg$dRgmfnfofpfqfrfUkVkWkXkYkZknb%d0k1k2kob3k4k5kpbqb6krbsb7kSgTgUg8kVg=e|eWgXgYgZgsftf0gufvfwf1gxfyfzfAfBf2g3gCfDfEftgugFfGf4g?hHfleJdmeKdLd'd(dneoegc9k5 tb1b2b5g!k6gub; = 7ghcicjckclc#k$kMd3b4b%k'kN u (k6 7 )k*k+k,k-k8g5bv 6bmc7b)d%cNd.k/k'cX 9gvb*d(cIf`e]dad:kbd)c;kUeJf8b? pel m n o p q r Od=kwb+d!gKfqencLfH oc5eMf?kI t @k#g@h$gO 3e%gZh'gcdpcqcrcPdVe*eQdRdSdresctcucTdWeXeYe+ergZe0e1e,exbyb9b@ vcwc[ ^d[k]k^k_k`k{k|k}k~kalblcldlelflglhliljlklllUdmlnlolplVdWdqlrlsltlul(gUhzbvlY *cAb+cBbwlxlylzlAl)g,c-cxcycCb!bDbEbFbGbzc8 9 ! ] AcNf^ _ BlOfPfQfClDlElFlGlHlIl*gVh]eJlRfSfTf+g,g-gBc.gKl/gLl#b$bHb.cogMlZ P Q Nl:g;g=g?g,d@gUfVfWfXfYfZfOlPlQlRlSlTlIb-dUlVlWlJbXlYlZlKbLb0lMbNb1l[g]g^g2l_g?e}e`g{g|g}g0f1f~g2f3f4fah5f6f7f8f9fbhch!f#f$fvgwg%f'fdh[h(fseXdteYdZd.d/dueveCc3l# Ob%b'beh4lfhPb` { ghDcEcFcGcHc5l6l0d(b)b7l8lR w 9l$ % !l#l$l%l'lhh*bx +bIc,b:d1d_d(l)l2d| ihJcwe3d)f{eDe;d*l=d4d+l6e*f/c-bFey z A B C D E `d,lKcxejh+fGedd,f0 ed.e-f-l1 J .lkh]hlh' -emh0hnh?dfdgdhd{d7e/e|d}d~dHeidjdkdae8e9e!e:esg#e$e%e;eLcMc:c.bldmd/bEe/l:l;l=l?l@l[l]l^l_l`l{l|l}l~lambmcmdmemfmbegmhmimjmcedekmlmmmnmomohWhNcpm} 5dOc6dPcqmrmsmtmumph7d8dndodQc;cRcScTcUcpdQbRbSb:bqd.f;b=bvm/f:f;fwmxmymzmAmBmCmqhXh^eDm=f?f@frhshthrduhEmvhFm=c?cVc9dpgGm~ ( ) HmwhxhyhzhyeAh[f]f^f_f`f{fImJmKmLmMmNmWczeOmPmQmXcRmSmTmYcZcUm0c1cVmBhChDhWmEh@e~eFhGhHhIh|f}fJh~fagbgKhcgdgegfgggLhMhhgigjgxgygkglgNh^hmgIeeeJefegeAeBeKeLesdXmTb2c@c[cOhYmPh3c?b@bQhtdudvdwdxdZm0mhe]c^c1m2m* S 3mUbVb4m5m6m7m8mRh_cT `cyd{cCe
266 f for f in flat_model_fields if f.field_info.annotation not in input_types
267 }
268 inputs = [ 24czd@j[j5cU zgab!d6caf_e@d|c]j}c7c^jMebfWb+ iee f g h i j k Ad_jbb#dAgcfje[bdfF ]b4eef`jG s {jBg=hCgK 2eDgYhEg~c^b_b`bBdNe'eCdDdEdke{b|b}bFdOePeQe(eqgReSeTe)ecbdbXb, ~bac- [d|j}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrkGdsktkukvkHdIdwkxkykzkAkFgShebBkV 8cfb9cgbCkDkEkFkGkGg!c#cbccchbYbibjbkblbdc2 3 4 . ecff/ : HkgfhfifIkJkKkLkMkNkOkHgTh[ePkjfkflfIgJgKgfcLgQkMgRkZb0bmb$cngSkW L M TkNgOgPgQg$dRgmfnfofpfqfrfUkVkWkXkYkZknb%d0k1k2kob3k4k5kpbqb6krbsb7kSgTgUg8kVg=e|eWgXgYgZgsftf0gufvfwf1gxfyfzfAfBf2g3gCfDfEftgugFfGf4g?hHfleJdmeKdLd'd(dneoegc9k5 tb1b2b5g!k6gub; = 7ghcicjckclc#k$kMd3b4b%k'kN u (k6 7 )k*k+k,k-k8g5bv 6bmc7b)d%cNd.k/k'cX 9gvb*d(cIf`e]dad:kbd)c;kUeJf8b? pel m n o p q r Od=kwb+d!gKfqencLfH oc5eMf?kI t @k#g@h$gO 3e%gZh'gcdpcqcrcPdVe*eQdRdSdresctcucTdWeXeYe+ergZe0e1e,exbyb9b@ vcwc[ ^d[k]k^k_k`k{k|k}k~kalblcldlelflglhliljlklllUdmlnlolplVdWdqlrlsltlul(gUhzbvlY *cAb+cBbwlxlylzlAl)g,c-cxcycCb!bDbEbFbGbzc8 9 ! ] AcNf^ _ BlOfPfQfClDlElFlGlHlIl*gVh]eJlRfSfTf+g,g-gBc.gKl/gLl#b$bHb.cogMlZ P Q Nl:g;g=g?g,d@gUfVfWfXfYfZfOlPlQlRlSlTlIb-dUlVlWlJbXlYlZlKbLb0lMbNb1l[g]g^g2l_g?e}e`g{g|g}g0f1f~g2f3f4fah5f6f7f8f9fbhch!f#f$fvgwg%f'fdh[h(fseXdteYdZd.d/dueveCc3l# Ob%b'beh4lfhPb` { ghDcEcFcGcHc5l6l0d(b)b7l8lR w 9l$ % !l#l$l%l'lhh*bx +bIc,b:d1d_d(l)l2d| ihJcwe3d)f{eDe;d*l=d4d+l6e*f/c-bFey z A B C D E `d,lKcxejh+fGedd,f0 ed.e-f-l1 J .lkh]hlh' -emh0hnh?dfdgdhd{d7e/e|d}d~dHeidjdkdae8e9e!e:esg#e$e%e;eLcMc:c.bldmd/bEe/l:l;l=l?l@l[l]l^l_l`l{l|l}l~lambmcmdmemfmbegmhmimjmcedekmlmmmnmomohWhNcpm} 5dOc6dPcqmrmsmtmumph7d8dndodQc;cRcScTcUcpdQbRbSb:bqd.f;b=bvm/f:f;fwmxmymzmAmBmCmqhXh^eDm=f?f@frhshthrduhEmvhFm=c?cVc9dpgGm~ ( ) HmwhxhyhzhyeAh[f]f^f_f`f{fImJmKmLmMmNmWczeOmPmQmXcRmSmTmYcZcUm0c1cVmBhChDhWmEh@e~eFhGhHhIh|f}fJh~fagbgKhcgdgegfgggLhMhhgigjgxgygkglgNh^hmgIeeeJefegeAeBeKeLesdXmTb2c@c[cOhYmPh3c?b@bQhtdudvdwdxdZm0mhe]c^c1m2m* S 3mUbVb4m5m6m7m8mRh_cT `cyd{cCe
269 (
270 field,
271 (
272 field.mode
273 if (separate_input_output_schemas or _has_computed_fields(field))
274 else "validation"
275 ),
276 field._type_adapter.core_schema,
277 )
278 for field in list(fields) + list(unique_flat_model_fields)
279 ]
280 field_mapping, definitions = schema_generator.generate_definitions(inputs=inputs) 24czd@j[j5cU zgab!d6caf_e@d|c]j}c7c^jMebfWb+ iee f g h i j k Ad_jbb#dAgcfje[bdfF ]b4eef`jG s {jBg=hCgK 2eDgYhEg~c^b_b`bBdNe'eCdDdEdke{b|b}bFdOePeQe(eqgReSeTe)ecbdbXb, ~bac- [d|j}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrkGdsktkukvkHdIdwkxkykzkAkFgShebBkV 8cfb9cgbCkDkEkFkGkGg!c#cbccchbYbibjbkblbdc2 3 4 . ecff/ : HkgfhfifIkJkKkLkMkNkOkHgTh[ePkjfkflfIgJgKgfcLgQkMgRkZb0bmb$cngSkW L M TkNgOgPgQg$dRgmfnfofpfqfrfUkVkWkXkYkZknb%d0k1k2kob3k4k5kpbqb6krbsb7kSgTgUg8kVg=e|eWgXgYgZgsftf0gufvfwf1gxfyfzfAfBf2g3gCfDfEftgugFfGf4g?hHfleJdmeKdLd'd(dneoegc9k5 tb1b2b5g!k6gub; = 7ghcicjckclc#k$kMd3b4b%k'kN u (k6 7 )k*k+k,k-k8g5bv 6bmc7b)d%cNd.k/k'cX 9gvb*d(cIf`e]dad:kbd)c;kUeJf8b? pel m n o p q r Od=kwb+d!gKfqencLfH oc5eMf?kI t @k#g@h$gO 3e%gZh'gcdpcqcrcPdVe*eQdRdSdresctcucTdWeXeYe+ergZe0e1e,exbyb9b@ vcwc[ ^d[k]k^k_k`k{k|k}k~kalblcldlelflglhliljlklllUdmlnlolplVdWdqlrlsltlul(gUhzbvlY *cAb+cBbwlxlylzlAl)g,c-cxcycCb!bDbEbFbGbzc8 9 ! ] AcNf^ _ BlOfPfQfClDlElFlGlHlIl*gVh]eJlRfSfTf+g,g-gBc.gKl/gLl#b$bHb.cogMlZ P Q Nl:g;g=g?g,d@gUfVfWfXfYfZfOlPlQlRlSlTlIb-dUlVlWlJbXlYlZlKbLb0lMbNb1l[g]g^g2l_g?e}e`g{g|g}g0f1f~g2f3f4fah5f6f7f8f9fbhch!f#f$fvgwg%f'fdh[h(fseXdteYdZd.d/dueveCc3l# Ob%b'beh4lfhPb` { ghDcEcFcGcHc5l6l0d(b)b7l8lR w 9l$ % !l#l$l%l'lhh*bx +bIc,b:d1d_d(l)l2d| ihJcwe3d)f{eDe;d*l=d4d+l6e*f/c-bFey z A B C D E `d,lKcxejh+fGedd,f0 ed.e-f-l1 J .lkh]hlh' -emh0hnh?dfdgdhd{d7e/e|d}d~dHeidjdkdae8e9e!e:esg#e$e%e;eLcMc:c.bldmd/bEe/l:l;l=l?l@l[l]l^l_l`l{l|l}l~lambmcmdmemfmbegmhmimjmcedekmlmmmnmomohWhNcpm} 5dOc6dPcqmrmsmtmumph7d8dndodQc;cRcScTcUcpdQbRbSb:bqd.f;b=bvm/f:f;fwmxmymzmAmBmCmqhXh^eDm=f?f@frhshthrduhEmvhFm=c?cVc9dpgGm~ ( ) HmwhxhyhzhyeAh[f]f^f_f`f{fImJmKmLmMmNmWczeOmPmQmXcRmSmTmYcZcUm0c1cVmBhChDhWmEh@e~eFhGhHhIh|f}fJh~fagbgKhcgdgegfgggLhMhhgigjgxgygkglgNh^hmgIeeeJefegeAeBeKeLesdXmTb2c@c[cOhYmPh3c?b@bQhtdudvdwdxdZm0mhe]c^c1m2m* S 3mUbVb4m5m6m7m8mRh_cT `cyd{cCe
281 for item_def in cast(dict[str, dict[str, Any]], definitions).values(): 24czd@j[j5cU zgab!d6caf_e@d|c]j}c7c^jMebfWb+ iee f g h i j k Ad_jbb#dAgcfje[bdfF ]b4eef`jG s {jBg=hCgK 2eDgYhEg~c^b_b`bBdNe'eCdDdEdke{b|b}bFdOePeQe(eqgReSeTe)ecbdbXb, ~bac- [d|j}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrkGdsktkukvkHdIdwkxkykzkAkFgShebBkV 8cfb9cgbCkDkEkFkGkGg!c#cbccchbYbibjbkblbdc2 3 4 . ecff/ : HkgfhfifIkJkKkLkMkNkOkHgTh[ePkjfkflfIgJgKgfcLgQkMgRkZb0bmb$cngSkW L M TkNgOgPgQg$dRgmfnfofpfqfrfUkVkWkXkYkZknb%d0k1k2kob3k4k5kpbqb6krbsb7kSgTgUg8kVg=e|eWgXgYgZgsftf0gufvfwf1gxfyfzfAfBf2g3gCfDfEftgugFfGf4g?hHfleJdmeKdLd'd(dneoegc9k5 tb1b2b5g!k6gub; = 7ghcicjckclc#k$kMd3b4b%k'kN u (k6 7 )k*k+k,k-k8g5bv 6bmc7b)d%cNd.k/k'cX 9gvb*d(cIf`e]dad:kbd)c;kUeJf8b? pel m n o p q r Od=kwb+d!gKfqencLfH oc5eMf?kI t @k#g@h$gO 3e%gZh'gcdpcqcrcPdVe*eQdRdSdresctcucTdWeXeYe+ergZe0e1e,exbyb9b@ vcwc[ ^d[k]k^k_k`k{k|k}k~kalblcldlelflglhliljlklllUdmlnlolplVdWdqlrlsltlul(gUhzbvlY *cAb+cBbwlxlylzlAl)g,c-cxcycCb!bDbEbFbGbzc8 9 ! ] AcNf^ _ BlOfPfQfClDlElFlGlHlIl*gVh]eJlRfSfTf+g,g-gBc.gKl/gLl#b$bHb.cogMlZ P Q Nl:g;g=g?g,d@gUfVfWfXfYfZfOlPlQlRlSlTlIb-dUlVlWlJbXlYlZlKbLb0lMbNb1l[g]g^g2l_g?e}e`g{g|g}g0f1f~g2f3f4fah5f6f7f8f9fbhch!f#f$fvgwg%f'fdh[h(fseXdteYdZd.d/dueveCc3l# Ob%b'beh4lfhPb` { ghDcEcFcGcHc5l6l0d(b)b7l8lR w 9l$ % !l#l$l%l'lhh*bx +bIc,b:d1d_d(l)l2d| ihJcwe3d)f{eDe;d*l=d4d+l6e*f/c-bFey z A B C D E `d,lKcxejh+fGedd,f0 ed.e-f-l1 J .lkh]hlh' -emh0hnh?dfdgdhd{d7e/e|d}d~dHeidjdkdae8e9e!e:esg#e$e%e;eLcMc:c.bldmd/bEe/l:l;l=l?l@l[l]l^l_l`l{l|l}l~lambmcmdmemfmbegmhmimjmcedekmlmmmnmomohWhNcpm} 5dOc6dPcqmrmsmtmumph7d8dndodQc;cRcScTcUcpdQbRbSb:bqd.f;b=bvm/f:f;fwmxmymzmAmBmCmqhXh^eDm=f?f@frhshthrduhEmvhFm=c?cVc9dpgGm~ ( ) HmwhxhyhzhyeAh[f]f^f_f`f{fImJmKmLmMmNmWczeOmPmQmXcRmSmTmYcZcUm0c1cVmBhChDhWmEh@e~eFhGhHhIh|f}fJh~fagbgKhcgdgegfgggLhMhhgigjgxgygkglgNh^hmgIeeeJefegeAeBeKeLesdXmTb2c@c[cOhYmPh3c?b@bQhtdudvdwdxdZm0mhe]c^c1m2m* S 3mUbVb4m5m6m7m8mRh_cT `cyd{cCe
282 if "description" in item_def: 24czd5cU ab!d6c@d|c}c7cMeWb+ iee f g h i j k Adbb#dje[bF ]b4eG s K ~c^b_b`bBdCdDdEdke{b|b}bFdcbdbXb, ~bac- [dGdHdIdebV 8cfb9cgb!c#cbccchbYbibjbkblbdc2 3 4 . ec/ : HgTh[efcZb0bmb$cW L M $dnb%dobpbqbrbsb=eleJdmeKdLd'd(dneoegc5 tb1b2bub; = hcicjckclcMd3b4bN u 6 7 5bv 6bmc7b)d%cNd'cX vb*d(c]dadbd)cUe8b? pel m n o p q r Odwb+dqencH oc5eI t O cdpcqcrcPdQdRdSdresctcucTdxbyb9b@ vcwc[ ^dUdVdWdzbY *cAb+cBb,c-cxcycCb!bDbEbFbGbzc8 9 ! ] Ac^ _ *gVh]eBc#b$bHb.cZ P Q ,dIb-dJbKbLbMbNb?eseXdteYdZd.d/dueveCc# Ob%b'bPb` { DcEcFcGcHc0d(b)bR w $ % *bx +bIc,b:d1d_d2d| Jcwe3dDe;d=d4d6e/c-bFey z A B C D E `dKcxeGedd0 ed.e1 J ' ?dfdgdhd{d|d}d~dHeidjdkdaeLcMc:c.bldmd/bEebecedeNc} 5dOc6dPc7d8dndodQc;cRcScTcUcpdQbRbSb:bqd;b=bqhXh^erd=c?cVc9d~ ( ) yeWczeXcYcZc0c1c@eIeeeJefegeAeBeKeLesdTb2c@c[c3c?b@btdudvdwdxdhe]c^c* S UbVb_cT `cyd{cCe
283 item_description = cast(str, item_def["description"]).split("\f")[0] 2bb4ecbwb5exbKc.eLc
284 item_def["description"] = item_description 2bb4ecbwb5exbKc.eLc
285 # definitions: dict[DefsRef, dict[str, Any]]
286 # but mypy complains about general str in other places that are not declared as
287 # DefsRef, although DefsRef is just str:
288 # DefsRef = NewType('DefsRef', str)
289 # So, a cast to simplify the types here
290 return field_mapping, cast(dict[str, dict[str, Any]], definitions) 24czd@j[j5cU zgab!d6caf_e@d|c]j}c7c^jMebfWb+ iee f g h i j k Ad_jbb#dAgcfje[bdfF ]b4eef`jG s {jBg=hCgK 2eDgYhEg~c^b_b`bBdNe'eCdDdEdke{b|b}bFdOePeQe(eqgReSeTe)ecbdbXb, ~bac- [d|j}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrkGdsktkukvkHdIdwkxkykzkAkFgShebBkV 8cfb9cgbCkDkEkFkGkGg!c#cbccchbYbibjbkblbdc2 3 4 . ecff/ : HkgfhfifIkJkKkLkMkNkOkHgTh[ePkjfkflfIgJgKgfcLgQkMgRkZb0bmb$cngSkW L M TkNgOgPgQg$dRgmfnfofpfqfrfUkVkWkXkYkZknb%d0k1k2kob3k4k5kpbqb6krbsb7kSgTgUg8kVg=e|eWgXgYgZgsftf0gufvfwf1gxfyfzfAfBf2g3gCfDfEftgugFfGf4g?hHfleJdmeKdLd'd(dneoegc9k5 tb1b2b5g!k6gub; = 7ghcicjckclc#k$kMd3b4b%k'kN u (k6 7 )k*k+k,k-k8g5bv 6bmc7b)d%cNd.k/k'cX 9gvb*d(cIf`e]dad:kbd)c;kUeJf8b? pel m n o p q r Od=kwb+d!gKfqencLfH oc5eMf?kI t @k#g@h$gO 3e%gZh'gcdpcqcrcPdVe*eQdRdSdresctcucTdWeXeYe+ergZe0e1e,exbyb9b@ vcwc[ ^d[k]k^k_k`k{k|k}k~kalblcldlelflglhliljlklllUdmlnlolplVdWdqlrlsltlul(gUhzbvlY *cAb+cBbwlxlylzlAl)g,c-cxcycCb!bDbEbFbGbzc8 9 ! ] AcNf^ _ BlOfPfQfClDlElFlGlHlIl*gVh]eJlRfSfTf+g,g-gBc.gKl/gLl#b$bHb.cogMlZ P Q Nl:g;g=g?g,d@gUfVfWfXfYfZfOlPlQlRlSlTlIb-dUlVlWlJbXlYlZlKbLb0lMbNb1l[g]g^g2l_g?e}e`g{g|g}g0f1f~g2f3f4fah5f6f7f8f9fbhch!f#f$fvgwg%f'fdh[h(fseXdteYdZd.d/dueveCc3l# Ob%b'beh4lfhPb` { ghDcEcFcGcHc5l6l0d(b)b7l8lR w 9l$ % !l#l$l%l'lhh*bx +bIc,b:d1d_d(l)l2d| ihJcwe3d)f{eDe;d*l=d4d+l6e*f/c-bFey z A B C D E `d,lKcxejh+fGedd,f0 ed.e-f-l1 J .lkh]hlh' -emh0hnh?dfdgdhd{d7e/e|d}d~dHeidjdkdae8e9e!e:esg#e$e%e;eLcMc:c.bldmd/bEe/l:l;l=l?l@l[l]l^l_l`l{l|l}l~lambmcmdmemfmbegmhmimjmcedekmlmmmnmomohWhNcpm} 5dOc6dPcqmrmsmtmumph7d8dndodQc;cRcScTcUcpdQbRbSb:bqd.f;b=bvm/f:f;fwmxmymzmAmBmCmqhXh^eDm=f?f@frhshthrduhEmvhFm=c?cVc9dpgGm~ ( ) HmwhxhyhzhyeAh[f]f^f_f`f{fImJmKmLmMmNmWczeOmPmQmXcRmSmTmYcZcUm0c1cVmBhChDhWmEh@e~eFhGhHhIh|f}fJh~fagbgKhcgdgegfgggLhMhhgigjgxgygkglgNh^hmgIeeeJefegeAeBeKeLesdXmTb2c@c[cOhYmPh3c?b@bQhtdudvdwdxdZm0mhe]c^c1m2m* S 3mUbVb4m5m6m7m8mRh_cT `cyd{cCe
293def is_scalar_field(field: ModelField) -> bool: 1abcd
294 from fastapi import params 2a 7h_h`h|iejfjGjgjhjHjijIjjjkjJjljznAnBnCnDnEnFnGnHnInJn2e{hriOi}i- KjLjmjMjNjnjOjPjv LnMnojb (h~hai~irjsjSjtjujTjvjUjwjxjVjyjOnPnQnRnSnTnUnVnWnXnYn3ebiAi0iaj[ WjXjzjYjZjAj0j1jx 0n1nBjc d hiHiIiCj4j5j*j6j7j+j8j,j9j!j-j#jUoVoWoXoYoZo0o1o2o3o4o-eJi%i;iDj/b.j/j$j:j;j%j=j?jT 6o7o'j
296 return shared.field_annotation_is_scalar( 2a 7h_h`h|iejfjGjgjhjHjijIjjjkjJjljznAnBnCnDnEnFnGnHnInJn2e{hriOi}i- KjLjmjMjNjnjOjPjv LnMnojb (h~hai~irjsjSjtjujTjvjUjwjxjVjyjOnPnQnRnSnTnUnVnWnXnYn3ebiAi0iaj[ WjXjzjYjZjAj0j1jx 0n1nBjc d hiHiIiCj4j5j*j6j7j+j8j,j9j!j-j#jUoVoWoXoYoZo0o1o2o3o4o-eJi%i;iDj/b.j/j$j:j;j%j=j?jT 6o7o'j
297 field.field_info.annotation
298 ) and not isinstance(field.field_info, params.Body)
301def copy_field_info(*, field_info: FieldInfo, annotation: Any) -> FieldInfo: 1abcd
302 cls = type(field_info) 2a 7hyO_h`h5hfiK qi8h2e{hriOib (hzO~hai6hgiO zi)h3ebiAi0ic d hiAOHiIiei!i' $iii-eJi%i;i
303 merged_field_info = cls.from_annotation(annotation) 2a 7hyO_h`h5hfiK qi8h2e{hriOib (hzO~hai6hgiO zi)h3ebiAi0ic d hiAOHiIiei!i' $iii-eJi%i;i
304 new_field_info = copy(field_info) 2a 7hyO_h`h5hfiK qi8h2e{hriOib (hzO~hai6hgiO zi)h3ebiAi0ic d hiAOHiIiei!i' $iii-eJi%i;i
305 new_field_info.metadata = merged_field_info.metadata 2a 7hyO_h`h5hfiK qi8h2e{hriOib (hzO~hai6hgiO zi)h3ebiAi0ic d hiAOHiIiei!i' $iii-eJi%i;i
306 new_field_info.annotation = merged_field_info.annotation 2a 7hyO_h`h5hfiK qi8h2e{hriOib (hzO~hai6hgiO zi)h3ebiAi0ic d hiAOHiIiei!i' $iii-eJi%i;i
307 return new_field_info 2a 7hyO_h`h5hfiK qi8h2e{hriOib (hzO~hai6hgiO zi)h3ebiAi0ic d hiAOHiIiei!i' $iii-eJi%i;i
310def serialize_sequence_value(*, field: ModelField, value: Any) -> Sequence[Any]: 1abcd
311 origin_type = get_origin(field.field_info.annotation) or field.field_info.annotation 2cjEjFj,p5hsn;pazbzcztnwoxoyotquqpjQjRjLq6hunQqdzezfzvnzoAoBo/q:q2j(j)jdreiwnirgzhzizxnCoDoEoOrPr
312 if origin_type is Union or origin_type is UnionType: # Handle optional sequences 2cjEjFj,p5hsn;pazbzcztnwoxoyotquqpjQjRjLq6hunQqdzezfzvnzoAoBo/q:q2j(j)jdreiwnirgzhzizxnCoDoEoOrPr
313 union_args = get_args(field.field_info.annotation) 2cjEjFjsntnwoxoyopjQjRjunvnzoAoBo2j(j)jwnxnCoDoEo
314 for union_arg in union_args: 2cjEjFjsntnwoxoyopjQjRjunvnzoAoBo2j(j)jwnxnCoDoEo
315 if union_arg is type(None): 2cjEjFjsntnwoxoyopjQjRjunvnzoAoBo2j(j)jwnxnCoDoEo
316 continue 2cjpj2j
317 origin_type = get_origin(union_arg) or union_arg 2cjEjFjsntnwoxoyopjQjRjunvnzoAoBo2j(j)jwnxnCoDoEo
318 break 2cjEjFjsntnwoxoyopjQjRjunvnzoAoBo2j(j)jwnxnCoDoEo
319 assert issubclass(origin_type, shared.sequence_types) # type: ignore[arg-type] 2cjEjFj,p5hsn;pazbzcztnwoxoyotquqpjQjRjLq6hunQqdzezfzvnzoAoBo/q:q2j(j)jdreiwnirgzhzizxnCoDoEoOrPr
320 return shared.sequence_annotation_to_type[origin_type](value) # type: ignore[no-any-return,index] 2cjEjFj,p5hsn;pazbzcztnwoxoyotquqpjQjRjLq6hunQqdzezfzvnzoAoBo/q:q2j(j)jdreiwnirgzhzizxnCoDoEoOrPr
323def get_missing_field_error(loc: tuple[int | str, ...]) -> dict[str, Any]: 1abcd
324 error = ValidationError.from_exception_data( 29mWt8o9oejfjgjhjijjjkjlj!o#o+pvzwzxzBzCzGzHz3r4r5r6r7r$o8r9ruVvVwVxVyVzVAVBV!r#r$r%r'r%o(r)r*r+r,r-r.r'o/r:rfNgNhNiNjNKzkNlNANBNCNDNENNzFNGN;r=r9h?r!h1h@r#h[r]r$h^r%h2h_r'h`r{r|r}r~r(oasbscsdsesfsgs)ohsisjskslsmsns*oospsqsrssstsus+ovswsPzQzRzSz,o-o.o/o:o;oAuBuCuDuEuFuGuXzHuYzZzCVLuMuNuOuPu?o@oRuSu6z7z8z%u'u(u:uao(z)z/z:z?z@z[zlvmv]z^znv_zovoj!mGvbpcprjsjtjujvjwjxjyjdpepKqpAqArAvAwAAABAxsyszsAsBsfpCsDsDVEVFVGVHVIVJVKVEsFsGsHsIsgpJsKsLsMsNsOsPshpQsRsRNSNTNUNVNEAWNXN$N%N'N(N)NHA*N+NSsTs*hUs+h3hVs,hWsXs-hYs.h4hZs/h0s1s2s3s4sip5s6s7s8s9s!s#sjp$s%s's(s)s*s+skp,s-s.s/s:s;s=slp?s@sJAKALAMAmpnpopppqprpkwlwmwnwowpwqwRArwSATALVvwwwxwywzwtpupBwCw0A1A2AXwYwZw7wko9A!A)A*A-A.A/A`w{w:A;A|w=A}wBj#mqxFpGp4j5j6j7j8j9j!j#jHpIpcrjBkBlBpBqBuBvB[s]s^s_s`sJp{s|sMVNVOVPVQVRVSVTV}s~satbtctKpdtetftgthtitjtLpktlt]N^N_N`N{NyB|N}NnOoOpOqOrOBBsOtOmtntjiotki:hptliqtrtmistni;httoiutvtwtxtytMpztAtBtCtDtEtFtNpGtHtItJtKtLtMtOpNtOtPtQtRtStTtPpUtVtDBEBFBGBQpRpSpTpUpVp_x`x{x|x}x~xayLBbyMBNBUVfygyhyiyjyXpYplymyUBVBWBHyIyJyRyuo3B4B!B#B'B(B)B)y*y*B+B+y,B,y'j
325 "Field required", [{"type": "missing", "loc": loc, "input": {}}]
326 ).errors(include_url=False)[0]
327 error["input"] = None 29mWt8o9oejfjgjhjijjjkjlj!o#o+pvzwzxzBzCzGzHz3r4r5r6r7r$o8r9ruVvVwVxVyVzVAVBV!r#r$r%r'r%o(r)r*r+r,r-r.r'o/r:rfNgNhNiNjNKzkNlNANBNCNDNENNzFNGN;r=r9h?r!h1h@r#h[r]r$h^r%h2h_r'h`r{r|r}r~r(oasbscsdsesfsgs)ohsisjskslsmsns*oospsqsrssstsus+ovswsPzQzRzSz,o-o.o/o:o;oAuBuCuDuEuFuGuXzHuYzZzCVLuMuNuOuPu?o@oRuSu6z7z8z%u'u(u:uao(z)z/z:z?z@z[zlvmv]z^znv_zovoj!mGvbpcprjsjtjujvjwjxjyjdpepKqpAqArAvAwAAABAxsyszsAsBsfpCsDsDVEVFVGVHVIVJVKVEsFsGsHsIsgpJsKsLsMsNsOsPshpQsRsRNSNTNUNVNEAWNXN$N%N'N(N)NHA*N+NSsTs*hUs+h3hVs,hWsXs-hYs.h4hZs/h0s1s2s3s4sip5s6s7s8s9s!s#sjp$s%s's(s)s*s+skp,s-s.s/s:s;s=slp?s@sJAKALAMAmpnpopppqprpkwlwmwnwowpwqwRArwSATALVvwwwxwywzwtpupBwCw0A1A2AXwYwZw7wko9A!A)A*A-A.A/A`w{w:A;A|w=A}wBj#mqxFpGp4j5j6j7j8j9j!j#jHpIpcrjBkBlBpBqBuBvB[s]s^s_s`sJp{s|sMVNVOVPVQVRVSVTV}s~satbtctKpdtetftgthtitjtLpktlt]N^N_N`N{NyB|N}NnOoOpOqOrOBBsOtOmtntjiotki:hptliqtrtmistni;httoiutvtwtxtytMpztAtBtCtDtEtFtNpGtHtItJtKtLtMtOpNtOtPtQtRtStTtPpUtVtDBEBFBGBQpRpSpTpUpVp_x`x{x|x}x~xayLBbyMBNBUVfygyhyiyjyXpYplymyUBVBWBHyIyJyRyuo3B4B!B#B'B(B)B)y*y*B+B+y,B,y'j
328 return error # type: ignore[return-value] 29mWt8o9oejfjgjhjijjjkjlj!o#o+pvzwzxzBzCzGzHz3r4r5r6r7r$o8r9ruVvVwVxVyVzVAVBV!r#r$r%r'r%o(r)r*r+r,r-r.r'o/r:rfNgNhNiNjNKzkNlNANBNCNDNENNzFNGN;r=r9h?r!h1h@r#h[r]r$h^r%h2h_r'h`r{r|r}r~r(oasbscsdsesfsgs)ohsisjskslsmsns*oospsqsrssstsus+ovswsPzQzRzSz,o-o.o/o:o;oAuBuCuDuEuFuGuXzHuYzZzCVLuMuNuOuPu?o@oRuSu6z7z8z%u'u(u:uao(z)z/z:z?z@z[zlvmv]z^znv_zovoj!mGvbpcprjsjtjujvjwjxjyjdpepKqpAqArAvAwAAABAxsyszsAsBsfpCsDsDVEVFVGVHVIVJVKVEsFsGsHsIsgpJsKsLsMsNsOsPshpQsRsRNSNTNUNVNEAWNXN$N%N'N(N)NHA*N+NSsTs*hUs+h3hVs,hWsXs-hYs.h4hZs/h0s1s2s3s4sip5s6s7s8s9s!s#sjp$s%s's(s)s*s+skp,s-s.s/s:s;s=slp?s@sJAKALAMAmpnpopppqprpkwlwmwnwowpwqwRArwSATALVvwwwxwywzwtpupBwCw0A1A2AXwYwZw7wko9A!A)A*A-A.A/A`w{w:A;A|w=A}wBj#mqxFpGp4j5j6j7j8j9j!j#jHpIpcrjBkBlBpBqBuBvB[s]s^s_s`sJp{s|sMVNVOVPVQVRVSVTV}s~satbtctKpdtetftgthtitjtLpktlt]N^N_N`N{NyB|N}NnOoOpOqOrOBBsOtOmtntjiotki:hptliqtrtmistni;httoiutvtwtxtytMpztAtBtCtDtEtFtNpGtHtItJtKtLtMtOpNtOtPtQtRtStTtPpUtVtDBEBFBGBQpRpSpTpUpVp_x`x{x|x}x~xayLBbyMBNBUVfygyhyiyjyXpYplymyUBVBWBHyIyJyRyuo3B4B!B#B'B(B)B)y*y*B+B+y,B,y'j
331def create_body_model( 1abcd
332 *, fields: Sequence[ModelField], model_name: str
333) -> type[BaseModel]:
334 field_params = {f.name: (f.field_info.annotation, f.field_info) for f in fields} 2a dje f g h i j k 5h)mfiK qi8hb qjl m n o p q r 6hangiO zi)hc d 3jy z A B C D E ei$n!i' $iii
335 BodyModel: type[BaseModel] = create_model(model_name, **field_params) # type: ignore[call-overload] 2a dje f g h i j k 5h)mfiK qi8hb qjl m n o p q r 6hangiO zi)hc d 3jy z A B C D E ei$n!i' $iii
336 return BodyModel 2a dje f g h i j k 5h)mfiK qi8hb qjl m n o p q r 6hangiO zi)hc d 3jy z A B C D E ei$n!i' $iii
339def get_model_fields(model: type[BaseModel]) -> list[ModelField]: 1abcd
340 model_fields: list[ModelField] = [] 24czd5cU ab!d6c@d|c}c7cMeWb+ Mipiiee f g h i j k Adbb#dje[bF ]b4eG s NiK ~c-i^b_b`bBdNe'eCdDdEdke9h!h1h{b#hsiti|h|buiviwi}h}bxi$h%h2hFd'hOePeQe(eReSeTe)ecbdbXb, ~bac- [dGdHdIdebV 8cfb9cgb!c#cbccchbYbibjbkblbdc2 3 4 . ec/ : PiQifcZb0bmb$cW L M $dRiSiTinb%dobpbqbrbsbUiVileJdmeKdLd'dWi(dXineoegc5 tb1b2bub; = hcicjckclcMd3b4bN u 6 7 5bv 6bmc7b)d%cNd'cX vb*d(c]dadbd)cUe8b? Yiyipel m n o p q r Odwb+dqencH oc5eI t ZiO cd.ipcqcrcPdVe*eQdRdSdre*h+h3hsc,hBiCicitcDiEiFidiucGi-h.h4hTd/hWeXeYe+eZe0e1e,exbyb9b@ vcwc[ ^dUdVdWdzbY *cAb+cBb,c-cxcycCb!bDbEbFbGbzc8 9 ! ] Ac^ _ 1i2iBc#b$bHb.cZ P Q ,d3i4i5iIb-dJbKbLbMbNb6i7iseXdteYdZd.d8i/d9iueveCc# Ob%b'bPb` { DcEcFcGcHc0d(b)bR w $ % *bx +bIc,b:d1d_d2d| Jcwe3dDe;d=d4d6e/c-b/i#iFey z A B C D E `dKcxeGedd0 ed.e1 J :i' ?dbjfdgdhd{d7e/e|d}d~dHejiki:hidli'i(iKijd)i*i+iLikd,imini;haeoi8e9e!e:e#e$e%e;eLcMc:c.bldmd/bEebecedeNc} 5dOc6dPc7d8dndodQc;cRcScTcUcpdQbRbSb:bqd;b=b=i?ird=c?cVc9d~ ( ) ye@i[i]iWczeXcYcZc0c1c^i_iIeeeJefegeAe`iBe{iKeLesdTb2c@c[c3c?b@btdudvdwdxdhe]c^c* S UbVb_cT `cyd{cCe
341 for name, field_info in model.model_fields.items(): 24czd5cU ab!d6c@d|c}c7cMeWb+ Mipiiee f g h i j k Adbb#dje[bF ]b4eG s NiK ~c-i^b_b`bBdNe'eCdDdEdke9h!h1h{b#hsiti|h|buiviwi}h}bxi$h%h2hFd'hOePeQe(eReSeTe)ecbdbXb, ~bac- [dGdHdIdebV 8cfb9cgb!c#cbccchbYbibjbkblbdc2 3 4 . ec/ : PiQifcZb0bmb$cW L M $dRiSiTinb%dobpbqbrbsbUiVileJdmeKdLd'dWi(dXineoegc5 tb1b2bub; = hcicjckclcMd3b4bN u 6 7 5bv 6bmc7b)d%cNd'cX vb*d(c]dadbd)cUe8b? Yiyipel m n o p q r Odwb+dqencH oc5eI t ZiO cd.ipcqcrcPdVe*eQdRdSdre*h+h3hsc,hBiCicitcDiEiFidiucGi-h.h4hTd/hWeXeYe+eZe0e1e,exbyb9b@ vcwc[ ^dUdVdWdzbY *cAb+cBb,c-cxcycCb!bDbEbFbGbzc8 9 ! ] Ac^ _ 1i2iBc#b$bHb.cZ P Q ,d3i4i5iIb-dJbKbLbMbNb6i7iseXdteYdZd.d8i/d9iueveCc# Ob%b'bPb` { DcEcFcGcHc0d(b)bR w $ % *bx +bIc,b:d1d_d2d| Jcwe3dDe;d=d4d6e/c-b/i#iFey z A B C D E `dKcxeGedd0 ed.e1 J :i' ?dbjfdgdhd{d7e/e|d}d~dHejiki:hidli'i(iKijd)i*i+iLikd,imini;haeoi8e9e!e:e#e$e%e;eLcMc:c.bldmd/bEebecedeNc} 5dOc6dPc7d8dndodQc;cRcScTcUcpdQbRbSb:bqd;b=b=i?ird=c?cVc9d~ ( ) ye@i[i]iWczeXcYcZc0c1c^i_iIeeeJefegeAe`iBe{iKeLesdTb2c@c[c3c?b@btdudvdwdxdhe]c^c* S UbVb_cT `cyd{cCe
342 type_ = field_info.annotation 24c5cU ab!d6c@d|c}c7cMeWb+ Mipiiee f g h i j k Adbb#dje[bF ]bG s NiK ~c-i^b_b`bBdNe'eCdDdEdke9h!h1h{b#hsiti|h|buiviwi}h}bxi$h%h2hFd'hOePeQe(eReSeTe)ecbdbXb, ~bac- [dGdHdIdebV 8cfb9cgb!c#cbccchbYbibjbkblbdc2 3 4 . ec/ : PiQifcZb0bmb$cW L M $dRiSiTinb%dobpbqbrbsbUiVileJdmeKdLd'dWi(dXineoegc5 tb1b2bub; = hcicjckclcMd3b4bN u 6 7 5bv 6bmc7b)d%c'cX vb*d(c]dadbd)cUe8b? Yiyipel m n o p q r Odwb+dqencH ocI t ZiO cd.ipcqcrcPdVe*eQdRdSdre*h+h3hsc,hBiCicitcDiEiFidiucGi-h.h4hTd/hWeXeYe+eZe0e1e,exbyb9b@ vcwc[ ^dUdVdWdzbY *cAb+cBb,c-cxcycCb!bDbEbFbGbzc8 9 ! ] Ac^ _ 1i2iBc#b$bHb.cZ P Q ,d3i4i5iIb-dJbKbLbMbNb6i7iseXdteYdZd.d8i/d9iueveCc# Ob%b'bPb` { DcEcFcGcHc0d(b)bR w $ % *bx +bIc,b:d1d2d| Jcwe3dDe;d=d4d6e/c-b/i#iFey z A B C D E `dKcxeGedd0 ed1 J :i' ?dbjfdgdhd{d7e/e|d}d~dHejiki:hidli'i(iKijd)i*i+iLikd,imini;haeoi8e9e!e:e#e$e%e;eLcMc:c.bldmd/bEebecedeNc} 5dOc6dPc7d8dndodQc;cRcScTcUcpdQbRbSb:bqd;b=b=i?ird=c?cVc9d~ ( ) ye@i[i]iWczeXcYcZc0c1c^i_iIeeeJefegeAe`iBe{iKeLesdTb2c@c[c3c?b@btdudvdwdxdhe]c^c* S UbVb_cT `cyd{cCe
343 if lenient_issubclass(type_, (BaseModel, dict)) or is_dataclass(type_): 24c5cU ab!d6c@d|c}c7cMeWb+ Mipiiee f g h i j k Adbb#dje[bF ]bG s NiK ~c-i^b_b`bBdNe'eCdDdEdke9h!h1h{b#hsiti|h|buiviwi}h}bxi$h%h2hFd'hOePeQe(eReSeTe)ecbdbXb, ~bac- [dGdHdIdebV 8cfb9cgb!c#cbccchbYbibjbkblbdc2 3 4 . ec/ : PiQifcZb0bmb$cW L M $dRiSiTinb%dobpbqbrbsbUiVileJdmeKdLd'dWi(dXineoegc5 tb1b2bub; = hcicjckclcMd3b4bN u 6 7 5bv 6bmc7b)d%c'cX vb*d(c]dadbd)cUe8b? Yiyipel m n o p q r Odwb+dqencH ocI t ZiO cd.ipcqcrcPdVe*eQdRdSdre*h+h3hsc,hBiCicitcDiEiFidiucGi-h.h4hTd/hWeXeYe+eZe0e1e,exbyb9b@ vcwc[ ^dUdVdWdzbY *cAb+cBb,c-cxcycCb!bDbEbFbGbzc8 9 ! ] Ac^ _ 1i2iBc#b$bHb.cZ P Q ,d3i4i5iIb-dJbKbLbMbNb6i7iseXdteYdZd.d8i/d9iueveCc# Ob%b'bPb` { DcEcFcGcHc0d(b)bR w $ % *bx +bIc,b:d1d2d| Jcwe3dDe;d=d4d6e/c-b/i#iFey z A B C D E `dKcxeGedd0 ed1 J :i' ?dbjfdgdhd{d7e/e|d}d~dHejiki:hidli'i(iKijd)i*i+iLikd,imini;haeoi8e9e!e:e#e$e%e;eLcMc:c.bldmd/bEebecedeNc} 5dOc6dPc7d8dndodQc;cRcScTcUcpdQbRbSb:bqd;b=b=i?ird=c?cVc9d~ ( ) ye@i[i]iWczeXcYcZc0c1c^i_iIeeeJefegeAe`iBe{iKeLesdTb2c@c[c3c?b@btdudvdwdxdhe]c^c* S UbVb_cT `cyd{cCe
344 model_config = None 27cMe+ e f g h i j k bbF ~chbibjbkblb)cUe? l m n o p q r wbH cdCbDbEbFbGb4d6e-by z A B C D E Kc0 ?dQcRcScTcUc
345 else:
346 model_config = model.model_config 24c5cU ab!d6c@d|c}c7cWb+ Mipiiee f g h i j k Adbb#dje[bF ]bG s NiK ~c-i^b_b`bBdNe'eCdDdEdke9h!h1h{b#hsiti|h|buiviwi}h}bxi$h%h2hFd'hOePeQe(eReSeTe)ecbdbXb, ~bac- [dGdHdIdebV 8cfb9cgb!c#cbccchbYbibjbkblbdc2 3 4 . ec/ : PiQifcZb0bmb$cW L M $dRiSiTinb%dobpbqbrbsbUiVileJdmeKdLd'dWi(dXineoegc5 tb1b2bub; = hcicjckclcMd3b4bN u 6 7 5bv 6bmc7b)d%c'cX vb*d(c]dadbd)c8b? Yiyipel m n o p q r Odwb+dqencH ocI t ZiO cd.ipcqcrcPdVe*eQdRdSdre*h+h3hsc,hBiCicitcDiEiFidiucGi-h.h4hTd/hWeXeYe+eZe0e1e,exbyb9b@ vcwc[ ^dUdVdWdzbY *cAb+cBb,c-cxcycCb!bDbEbFbGbzc8 9 ! ] Ac^ _ 1i2iBc#b$bHb.cZ P Q ,d3i4i5iIb-dJbKbLbMbNb6i7iseXdteYdZd.d8i/d9iueveCc# Ob%b'bPb` { DcEcFcGcHc0d(b)bR w $ % *bx +bIc,b:d1d2d| Jcwe3dDe;d=d4d/c-b/i#iFey z A B C D E `dKcxeGedd0 ed1 J :i' ?dbjfdgdhd{d7e/e|d}d~dHejiki:hidli'i(iKijd)i*i+iLikd,imini;haeoi8e9e!e:e#e$e%e;eLcMc:c.bldmd/bEebecedeNc} 5dOc6dPc7d8dndodQc;cRcScTcUcpdQbRbSb:bqd;b=b=i?ird=c?cVc9d~ ( ) ye@i[i]iWczeXcYcZc0c1c^i_iIeeeJefegeAe`iBe{iKeLesdTb2c@c[c3c?b@btdudvdwdxdhe]c^c* S UbVb_cT `cyd{cCe
347 model_fields.append( 24c5cU ab!d6c@d|c}c7cMeWb+ Mipiiee f g h i j k Adbb#dje[bF ]bG s NiK ~c-i^b_b`bBdNe'eCdDdEdke9h!h1h{b#hsiti|h|buiviwi}h}bxi$h%h2hFd'hOePeQe(eReSeTe)ecbdbXb, ~bac- [dGdHdIdebV 8cfb9cgb!c#cbccchbYbibjbkblbdc2 3 4 . ec/ : PiQifcZb0bmb$cW L M $dRiSiTinb%dobpbqbrbsbUiVileJdmeKdLd'dWi(dXineoegc5 tb1b2bub; = hcicjckclcMd3b4bN u 6 7 5bv 6bmc7b)d%c'cX vb*d(c]dadbd)cUe8b? Yiyipel m n o p q r Odwb+dqencH ocI t ZiO cd.ipcqcrcPdVe*eQdRdSdre*h+h3hsc,hBiCicitcDiEiFidiucGi-h.h4hTd/hWeXeYe+eZe0e1e,exbyb9b@ vcwc[ ^dUdVdWdzbY *cAb+cBb,c-cxcycCb!bDbEbFbGbzc8 9 ! ] Ac^ _ 1i2iBc#b$bHb.cZ P Q ,d3i4i5iIb-dJbKbLbMbNb6i7iseXdteYdZd.d8i/d9iueveCc# Ob%b'bPb` { DcEcFcGcHc0d(b)bR w $ % *bx +bIc,b:d1d2d| Jcwe3dDe;d=d4d6e/c-b/i#iFey z A B C D E `dKcxeGedd0 ed1 J :i' ?dbjfdgdhd{d7e/e|d}d~dHejiki:hidli'i(iKijd)i*i+iLikd,imini;haeoi8e9e!e:e#e$e%e;eLcMc:c.bldmd/bEebecedeNc} 5dOc6dPc7d8dndodQc;cRcScTcUcpdQbRbSb:bqd;b=b=i?ird=c?cVc9d~ ( ) ye@i[i]iWczeXcYcZc0c1c^i_iIeeeJefegeAe`iBe{iKeLesdTb2c@c[c3c?b@btdudvdwdxdhe]c^c* S UbVb_cT `cyd{cCe
348 ModelField(
349 field_info=field_info,
350 name=name,
351 config=model_config,
352 )
353 )
354 return model_fields 24czd5cU ab!d6c@d|c}c7cMeWb+ Mipiiee f g h i j k Adbb#dje[bF ]b4eG s NiK ~c-i^b_b`bBdNe'eCdDdEdke9h!h1h{b#hsiti|h|buiviwi}h}bxi$h%h2hFd'hOePeQe(eReSeTe)ecbdbXb, ~bac- [dGdHdIdebV 8cfb9cgb!c#cbccchbYbibjbkblbdc2 3 4 . ec/ : PiQifcZb0bmb$cW L M $dRiSiTinb%dobpbqbrbsbUiVileJdmeKdLd'dWi(dXineoegc5 tb1b2bub; = hcicjckclcMd3b4bN u 6 7 5bv 6bmc7b)d%cNd'cX vb*d(c]dadbd)cUe8b? Yiyipel m n o p q r Odwb+dqencH oc5eI t ZiO cd.ipcqcrcPdVe*eQdRdSdre*h+h3hsc,hBiCicitcDiEiFidiucGi-h.h4hTd/hWeXeYe+eZe0e1e,exbyb9b@ vcwc[ ^dUdVdWdzbY *cAb+cBb,c-cxcycCb!bDbEbFbGbzc8 9 ! ] Ac^ _ 1i2iBc#b$bHb.cZ P Q ,d3i4i5iIb-dJbKbLbMbNb6i7iseXdteYdZd.d8i/d9iueveCc# Ob%b'bPb` { DcEcFcGcHc0d(b)bR w $ % *bx +bIc,b:d1d_d2d| Jcwe3dDe;d=d4d6e/c-b/i#iFey z A B C D E `dKcxeGedd0 ed.e1 J :i' ?dbjfdgdhd{d7e/e|d}d~dHejiki:hidli'i(iKijd)i*i+iLikd,imini;haeoi8e9e!e:e#e$e%e;eLcMc:c.bldmd/bEebecedeNc} 5dOc6dPc7d8dndodQc;cRcScTcUcpdQbRbSb:bqd;b=b=i?ird=c?cVc9d~ ( ) ye@i[i]iWczeXcYcZc0c1c^i_iIeeeJefegeAe`iBe{iKeLesdTb2c@c[c3c?b@btdudvdwdxdhe]c^c* S UbVb_cT `cyd{cCe
357@lru_cache 1abcd
358def get_cached_model_fields(model: type[BaseModel]) -> list[ModelField]: 1abcd
359 return get_model_fields(model) 2MipiNi-iNe'e9h!h1h#hsiti|huiviwi}hxi$h%h2h'hOePeQe(eReSeTe)ePiQiRiSiTiUiViWiXiYiyiZi.iVe*e*h+h3h,hBiCiciDiEiFidiGi-h.h4h/hWeXeYe+eZe0e1e,e1i2i3i4i5i6i7i8i9i/i#i:ibj7e/ejiki:hli'i(iKi)i*i+iLi,imini;hoi8e9e!e:e#e$e%e;e=i?i@i[i]i^i_i`i{i
362# Duplicate of several schema functions from Pydantic v1 to make them compatible with
363# Pydantic v2 and allow mixing the models
365TypeModelOrEnum = type["BaseModel"] | type[Enum] 1abcd
366TypeModelSet = set[TypeModelOrEnum] 1abcd
369def normalize_name(name: str) -> str: 1abcd
370 return re.sub(r"[^a-zA-Z0-9.\-_]", "_", name) 24czd5cU ab!d6c@d|c}c7cMeWb+ iee f g h i j k Adbb#dje[bF ]b4eG s K ~c^b_b`bBdCdDdEdke{b|b}bFdcbdbXb, ~bac- [dGdHdIdebV 8cfb9cgb!c#cbccchbYbibjbkblbdc2 3 4 . ec/ : fcZb0bmb$cW L M $dnb%dobpbqbrbsb=eleJdmeKdLd'd(dneoegc5 tb1b2bub; = hcicjckclcMd3b4bN u 6 7 5bv 6bmc7b)d%cNd'cX vb*d(c]dadbd)cUe8b? pel m n o p q r Odwb+dqencH oc5eI t O cdpcqcrcPdQdRdSdresctcucTdxbyb9b@ vcwc[ ^dUdVdWdzbY *cAb+cBb,c-cxcycCb!bDbEbFbGbzc8 9 ! ] Ac^ _ Bc#b$bHb.cZ P Q ,dIb-dJbKbLbMbNb?eseXdteYdZd.d/dueveCc# Ob%b'bPb` { DcEcFcGcHc0d(b)bR w $ % *bx +bIc,b:d1d_d2d| Jcwe3dDe;d=d4d6e/c-bFey z A B C D E `dKcxeGedd0 ed.e1 J ' ?dfdgdhd{d|d}d~dHeidjdkdaeLcMc:c.bldmd/bEebecedeNc} 5dOc6dPc7d8dndodQc;cRcScTcUcpdQbRbSb:bqd;b=brd=c?cVc9d~ ( ) yeWczeXcYcZc0c1c@eIeeeJefegeAeBeKeLesdTb2c@c[c3c?b@btdudvdwdxdhe]c^c* S UbVb_cT `cyd{cCe
373def get_model_name_map(unique_models: TypeModelSet) -> dict[TypeModelOrEnum, str]: 1abcd
374 name_model_map = {} 24czd@j[j5cU zgab!d6caf_e@d|c]j}c7c^jMebfWb+ iee f g h i j k Ad_jbb#dAgcfje[bdfF ]b4eef`jG s {jBg=hCgK 2eDgYhEg~c^b_b`bBdNe'eCdDdEdke{b|b}bFdOePeQe(eqgReSeTe)ecbdbXb, ~bac- [d|j}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrkGdsktkukvkHdIdwkxkykzkAkFgShebBkV 8cfb9cgbCkDkEkFkGkGg!c#cbccchbYbibjbkblbdc2 3 4 . ecff/ : HkgfhfifIkJkKkLkMkNkOkHgTh[ePkjfkflfIgJgKgfcLgQkMgRkZb0bmb$cngSkW L M TkNgOgPgQg$dRgmfnfofpfqfrfUkVkWkXkYkZknb%d0k1k2kob3k4k5kpbqb6krbsb7kSgTgUg8kVg=e|eWgXgYgZgsftf0gufvfwf1gxfyfzfAfBf2g3gCfDfEftgugFfGf4g?hHfleJdmeKdLd'd(dneoegc9k5 tb1b2b5g!k6gub; = 7ghcicjckclc#k$kMd3b4b%k'kN u (k6 7 )k*k+k,k-k8g5bv 6bmc7b)d%cNd.k/k'cX 9gvb*d(cIf`e]dad:kbd)c;kUeJf8b? pel m n o p q r Od=kwb+d!gKfqencLfH oc5eMf?kI t @k#g@h$gO 3e%gZh'gcdpcqcrcPdVe*eQdRdSdresctcucTdWeXeYe+ergZe0e1e,exbyb9b@ vcwc[ ^d[k]k^k_k`k{k|k}k~kalblcldlelflglhliljlklllUdmlnlolplVdWdqlrlsltlul(gUhzbvlY *cAb+cBbwlxlylzlAl)g,c-cxcycCb!bDbEbFbGbzc8 9 ! ] AcNf^ _ BlOfPfQfClDlElFlGlHlIl*gVh]eJlRfSfTf+g,g-gBc.gKl/gLl#b$bHb.cogMlZ P Q Nl:g;g=g?g,d@gUfVfWfXfYfZfOlPlQlRlSlTlIb-dUlVlWlJbXlYlZlKbLb0lMbNb1l[g]g^g2l_g?e}e`g{g|g}g0f1f~g2f3f4fah5f6f7f8f9fbhch!f#f$fvgwg%f'fdh[h(fseXdteYdZd.d/dueveCc3l# Ob%b'beh4lfhPb` { ghDcEcFcGcHc5l6l0d(b)b7l8lR w 9l$ % !l#l$l%l'lhh*bx +bIc,b:d1d_d(l)l2d| ihJcwe3d)f{eDe;d*l=d4d+l6e*f/c-bFey z A B C D E `d,lKcxejh+fGedd,f0 ed.e-f-l1 J .lkh]hlh' -emh0hnh?dfdgdhd{d7e/e|d}d~dHeidjdkdae8e9e!e:esg#e$e%e;eLcMc:c.bldmd/bEe/l:l;l=l?l@l[l]l^l_l`l{l|l}l~lambmcmdmemfmbegmhmimjmcedekmlmmmnmomohWhNcpm} 5dOc6dPcqmrmsmtmumph7d8dndodQc;cRcScTcUcpdQbRbSb:bqd.f;b=bvm/f:f;fwmxmymzmAmBmCmqhXh^eDm=f?f@frhshthrduhEmvhFm=c?cVc9dpgGm~ ( ) HmwhxhyhzhyeAh[f]f^f_f`f{fImJmKmLmMmNmWczeOmPmQmXcRmSmTmYcZcUm0c1cVmBhChDhWmEh@e~eFhGhHhIh|f}fJh~fagbgKhcgdgegfgggLhMhhgigjgxgygkglgNh^hmgIeeeJefegeAeBeKeLesdXmTb2c@c[cOhYmPh3c?b@bQhtdudvdwdxdZm0mhe]c^c1m2m* S 3mUbVb4m5m6m7m8mRh_cT `cyd{cCe
375 for model in unique_models: 24czd@j[j5cU zgab!d6caf_e@d|c]j}c7c^jMebfWb+ iee f g h i j k Ad_jbb#dAgcfje[bdfF ]b4eef`jG s {jBg=hCgK 2eDgYhEg~c^b_b`bBdNe'eCdDdEdke{b|b}bFdOePeQe(eqgReSeTe)ecbdbXb, ~bac- [d|j}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrkGdsktkukvkHdIdwkxkykzkAkFgShebBkV 8cfb9cgbCkDkEkFkGkGg!c#cbccchbYbibjbkblbdc2 3 4 . ecff/ : HkgfhfifIkJkKkLkMkNkOkHgTh[ePkjfkflfIgJgKgfcLgQkMgRkZb0bmb$cngSkW L M TkNgOgPgQg$dRgmfnfofpfqfrfUkVkWkXkYkZknb%d0k1k2kob3k4k5kpbqb6krbsb7kSgTgUg8kVg=e|eWgXgYgZgsftf0gufvfwf1gxfyfzfAfBf2g3gCfDfEftgugFfGf4g?hHfleJdmeKdLd'd(dneoegc9k5 tb1b2b5g!k6gub; = 7ghcicjckclc#k$kMd3b4b%k'kN u (k6 7 )k*k+k,k-k8g5bv 6bmc7b)d%cNd.k/k'cX 9gvb*d(cIf`e]dad:kbd)c;kUeJf8b? pel m n o p q r Od=kwb+d!gKfqencLfH oc5eMf?kI t @k#g@h$gO 3e%gZh'gcdpcqcrcPdVe*eQdRdSdresctcucTdWeXeYe+ergZe0e1e,exbyb9b@ vcwc[ ^d[k]k^k_k`k{k|k}k~kalblcldlelflglhliljlklllUdmlnlolplVdWdqlrlsltlul(gUhzbvlY *cAb+cBbwlxlylzlAl)g,c-cxcycCb!bDbEbFbGbzc8 9 ! ] AcNf^ _ BlOfPfQfClDlElFlGlHlIl*gVh]eJlRfSfTf+g,g-gBc.gKl/gLl#b$bHb.cogMlZ P Q Nl:g;g=g?g,d@gUfVfWfXfYfZfOlPlQlRlSlTlIb-dUlVlWlJbXlYlZlKbLb0lMbNb1l[g]g^g2l_g?e}e`g{g|g}g0f1f~g2f3f4fah5f6f7f8f9fbhch!f#f$fvgwg%f'fdh[h(fseXdteYdZd.d/dueveCc3l# Ob%b'beh4lfhPb` { ghDcEcFcGcHc5l6l0d(b)b7l8lR w 9l$ % !l#l$l%l'lhh*bx +bIc,b:d1d_d(l)l2d| ihJcwe3d)f{eDe;d*l=d4d+l6e*f/c-bFey z A B C D E `d,lKcxejh+fGedd,f0 ed.e-f-l1 J .lkh]hlh' -emh0hnh?dfdgdhd{d7e/e|d}d~dHeidjdkdae8e9e!e:esg#e$e%e;eLcMc:c.bldmd/bEe/l:l;l=l?l@l[l]l^l_l`l{l|l}l~lambmcmdmemfmbegmhmimjmcedekmlmmmnmomohWhNcpm} 5dOc6dPcqmrmsmtmumph7d8dndodQc;cRcScTcUcpdQbRbSb:bqd.f;b=bvm/f:f;fwmxmymzmAmBmCmqhXh^eDm=f?f@frhshthrduhEmvhFm=c?cVc9dpgGm~ ( ) HmwhxhyhzhyeAh[f]f^f_f`f{fImJmKmLmMmNmWczeOmPmQmXcRmSmTmYcZcUm0c1cVmBhChDhWmEh@e~eFhGhHhIh|f}fJh~fagbgKhcgdgegfgggLhMhhgigjgxgygkglgNh^hmgIeeeJefegeAeBeKeLesdXmTb2c@c[cOhYmPh3c?b@bQhtdudvdwdxdZm0mhe]c^c1m2m* S 3mUbVb4m5m6m7m8mRh_cT `cyd{cCe
376 model_name = normalize_name(model.__name__) 24czd5cU ab!d6c@d|c}c7cMeWb+ iee f g h i j k Adbb#dje[bF ]b4eG s K ~c^b_b`bBdCdDdEdke{b|b}bFdcbdbXb, ~bac- [dGdHdIdebV 8cfb9cgb!c#cbccchbYbibjbkblbdc2 3 4 . ec/ : fcZb0bmb$cW L M $dnb%dobpbqbrbsb=eleJdmeKdLd'd(dneoegc5 tb1b2bub; = hcicjckclcMd3b4bN u 6 7 5bv 6bmc7b)d%cNd'cX vb*d(c]dadbd)cUe8b? pel m n o p q r Odwb+dqencH oc5eI t O cdpcqcrcPdQdRdSdresctcucTdxbyb9b@ vcwc[ ^dUdVdWdzbY *cAb+cBb,c-cxcycCb!bDbEbFbGbzc8 9 ! ] Ac^ _ Bc#b$bHb.cZ P Q ,dIb-dJbKbLbMbNb?eseXdteYdZd.d/dueveCc# Ob%b'bPb` { DcEcFcGcHc0d(b)bR w $ % *bx +bIc,b:d1d_d2d| Jcwe3dDe;d=d4d6e/c-bFey z A B C D E `dKcxeGedd0 ed.e1 J ' ?dfdgdhd{d|d}d~dHeidjdkdaeLcMc:c.bldmd/bEebecedeNc} 5dOc6dPc7d8dndodQc;cRcScTcUcpdQbRbSb:bqd;b=brd=c?cVc9d~ ( ) yeWczeXcYcZc0c1c@eIeeeJefegeAeBeKeLesdTb2c@c[c3c?b@btdudvdwdxdhe]c^c* S UbVb_cT `cyd{cCe
377 name_model_map[model_name] = model 24czd5cU ab!d6c@d|c}c7cMeWb+ iee f g h i j k Adbb#dje[bF ]b4eG s K ~c^b_b`bBdCdDdEdke{b|b}bFdcbdbXb, ~bac- [dGdHdIdebV 8cfb9cgb!c#cbccchbYbibjbkblbdc2 3 4 . ec/ : fcZb0bmb$cW L M $dnb%dobpbqbrbsb=eleJdmeKdLd'd(dneoegc5 tb1b2bub; = hcicjckclcMd3b4bN u 6 7 5bv 6bmc7b)d%cNd'cX vb*d(c]dadbd)cUe8b? pel m n o p q r Odwb+dqencH oc5eI t O cdpcqcrcPdQdRdSdresctcucTdxbyb9b@ vcwc[ ^dUdVdWdzbY *cAb+cBb,c-cxcycCb!bDbEbFbGbzc8 9 ! ] Ac^ _ Bc#b$bHb.cZ P Q ,dIb-dJbKbLbMbNb?eseXdteYdZd.d/dueveCc# Ob%b'bPb` { DcEcFcGcHc0d(b)bR w $ % *bx +bIc,b:d1d_d2d| Jcwe3dDe;d=d4d6e/c-bFey z A B C D E `dKcxeGedd0 ed.e1 J ' ?dfdgdhd{d|d}d~dHeidjdkdaeLcMc:c.bldmd/bEebecedeNc} 5dOc6dPc7d8dndodQc;cRcScTcUcpdQbRbSb:bqd;b=brd=c?cVc9d~ ( ) yeWczeXcYcZc0c1c@eIeeeJefegeAeBeKeLesdTb2c@c[c3c?b@btdudvdwdxdhe]c^c* S UbVb_cT `cyd{cCe
378 return {v: k for k, v in name_model_map.items()} 24czd@j[j5cU zgab!d6caf_e@d|c]j}c7c^jMebfWb+ iee f g h i j k Ad_jbb#dAgcfje[bdfF ]b4eef`jG s {jBg=hCgK 2eDgYhEg~c^b_b`bBdNe'eCdDdEdke{b|b}bFdOePeQe(eqgReSeTe)ecbdbXb, ~bac- [d|j}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrkGdsktkukvkHdIdwkxkykzkAkFgShebBkV 8cfb9cgbCkDkEkFkGkGg!c#cbccchbYbibjbkblbdc2 3 4 . ecff/ : HkgfhfifIkJkKkLkMkNkOkHgTh[ePkjfkflfIgJgKgfcLgQkMgRkZb0bmb$cngSkW L M TkNgOgPgQg$dRgmfnfofpfqfrfUkVkWkXkYkZknb%d0k1k2kob3k4k5kpbqb6krbsb7kSgTgUg8kVg=e|eWgXgYgZgsftf0gufvfwf1gxfyfzfAfBf2g3gCfDfEftgugFfGf4g?hHfleJdmeKdLd'd(dneoegc9k5 tb1b2b5g!k6gub; = 7ghcicjckclc#k$kMd3b4b%k'kN u (k6 7 )k*k+k,k-k8g5bv 6bmc7b)d%cNd.k/k'cX 9gvb*d(cIf`e]dad:kbd)c;kUeJf8b? pel m n o p q r Od=kwb+d!gKfqencLfH oc5eMf?kI t @k#g@h$gO 3e%gZh'gcdpcqcrcPdVe*eQdRdSdresctcucTdWeXeYe+ergZe0e1e,exbyb9b@ vcwc[ ^d[k]k^k_k`k{k|k}k~kalblcldlelflglhliljlklllUdmlnlolplVdWdqlrlsltlul(gUhzbvlY *cAb+cBbwlxlylzlAl)g,c-cxcycCb!bDbEbFbGbzc8 9 ! ] AcNf^ _ BlOfPfQfClDlElFlGlHlIl*gVh]eJlRfSfTf+g,g-gBc.gKl/gLl#b$bHb.cogMlZ P Q Nl:g;g=g?g,d@gUfVfWfXfYfZfOlPlQlRlSlTlIb-dUlVlWlJbXlYlZlKbLb0lMbNb1l[g]g^g2l_g?e}e`g{g|g}g0f1f~g2f3f4fah5f6f7f8f9fbhch!f#f$fvgwg%f'fdh[h(fseXdteYdZd.d/dueveCc3l# Ob%b'beh4lfhPb` { ghDcEcFcGcHc5l6l0d(b)b7l8lR w 9l$ % !l#l$l%l'lhh*bx +bIc,b:d1d_d(l)l2d| ihJcwe3d)f{eDe;d*l=d4d+l6e*f/c-bFey z A B C D E `d,lKcxejh+fGedd,f0 ed.e-f-l1 J .lkh]hlh' -emh0hnh?dfdgdhd{d7e/e|d}d~dHeidjdkdae8e9e!e:esg#e$e%e;eLcMc:c.bldmd/bEe/l:l;l=l?l@l[l]l^l_l`l{l|l}l~lambmcmdmemfmbegmhmimjmcedekmlmmmnmomohWhNcpm} 5dOc6dPcqmrmsmtmumph7d8dndodQc;cRcScTcUcpdQbRbSb:bqd.f;b=bvm/f:f;fwmxmymzmAmBmCmqhXh^eDm=f?f@frhshthrduhEmvhFm=c?cVc9dpgGm~ ( ) HmwhxhyhzhyeAh[f]f^f_f`f{fImJmKmLmMmNmWczeOmPmQmXcRmSmTmYcZcUm0c1cVmBhChDhWmEh@e~eFhGhHhIh|f}fJh~fagbgKhcgdgegfgggLhMhhgigjgxgygkglgNh^hmgIeeeJefegeAeBeKeLesdXmTb2c@c[cOhYmPh3c?b@bQhtdudvdwdxdZm0mhe]c^c1m2m* S 3mUbVb4m5m6m7m8mRh_cT `cyd{cCe
381def get_flat_models_from_model( 1abcd
382 model: type["BaseModel"], known_models: TypeModelSet | None = None
383) -> TypeModelSet:
384 known_models = known_models or set() 24czd5cU ab!d6c@d|c}c7cMeWb+ iee f g h i j k Adbb#dje[bF ]b4eG s K ~c^b_b`bBdCdDdEdke{b|b}bFdcbdbXb, ~bac- [dGdHdIdebV 8cfb9cgb!c#cbccchbYbibjbkblbdc2 3 4 . ec/ : fcZb0bmb$cW L M $dnb%dobpbqbrbsbleJdmeKdLd'd(dneoegc5 tb1b2bub; = hcicjckclcMd3b4bN u 6 7 5bv 6bmc7b)d%cNd'cX vb*d(c]dadbd)cUe8b? pel m n o p q r Odwb+dqencH oc5eI t O cdpcqcrcPdQdRdSdresctcucTdxbyb9b@ vcwc[ ^dUdVdWdzbY *cAb+cBb,c-cxcycCb!bDbEbFbGbzc8 9 ! ] Ac^ _ Bc#b$bHb.cZ P Q ,dIb-dJbKbLbMbNbseXdteYdZd.d/dueveCc# Ob%b'bPb` { DcEcFcGcHc0d(b)bR w $ % *bx +bIc,b:d1d_d2d| Jcwe3dDe;d=d4d6e/c-bFey z A B C D E `dKcxeGedd0 ed.e1 J ' ?dfdgdhd{d|d}d~dHeidjdkdaeLcMc:c.bldmd/bEebecedeNc} 5dOc6dPc7d8dndodQc;cRcScTcUcpdQbRbSb:bqd;b=brd=c?cVc9d~ ( ) yeWczeXcYcZc0c1cIeeeJefegeAeBeKeLesdTb2c@c[c3c?b@btdudvdwdxdhe]c^c* S UbVb_cT `cyd{cCe
385 fields = get_model_fields(model) 24czd5cU ab!d6c@d|c}c7cMeWb+ iee f g h i j k Adbb#dje[bF ]b4eG s K ~c^b_b`bBdCdDdEdke{b|b}bFdcbdbXb, ~bac- [dGdHdIdebV 8cfb9cgb!c#cbccchbYbibjbkblbdc2 3 4 . ec/ : fcZb0bmb$cW L M $dnb%dobpbqbrbsbleJdmeKdLd'd(dneoegc5 tb1b2bub; = hcicjckclcMd3b4bN u 6 7 5bv 6bmc7b)d%cNd'cX vb*d(c]dadbd)cUe8b? pel m n o p q r Odwb+dqencH oc5eI t O cdpcqcrcPdQdRdSdresctcucTdxbyb9b@ vcwc[ ^dUdVdWdzbY *cAb+cBb,c-cxcycCb!bDbEbFbGbzc8 9 ! ] Ac^ _ Bc#b$bHb.cZ P Q ,dIb-dJbKbLbMbNbseXdteYdZd.d/dueveCc# Ob%b'bPb` { DcEcFcGcHc0d(b)bR w $ % *bx +bIc,b:d1d_d2d| Jcwe3dDe;d=d4d6e/c-bFey z A B C D E `dKcxeGedd0 ed.e1 J ' ?dfdgdhd{d|d}d~dHeidjdkdaeLcMc:c.bldmd/bEebecedeNc} 5dOc6dPc7d8dndodQc;cRcScTcUcpdQbRbSb:bqd;b=brd=c?cVc9d~ ( ) yeWczeXcYcZc0c1cIeeeJefegeAeBeKeLesdTb2c@c[c3c?b@btdudvdwdxdhe]c^c* S UbVb_cT `cyd{cCe
386 get_flat_models_from_fields(fields, known_models=known_models) 24czd5cU ab!d6c@d|c}c7cMeWb+ iee f g h i j k Adbb#dje[bF ]b4eG s K ~c^b_b`bBdCdDdEdke{b|b}bFdcbdbXb, ~bac- [dGdHdIdebV 8cfb9cgb!c#cbccchbYbibjbkblbdc2 3 4 . ec/ : fcZb0bmb$cW L M $dnb%dobpbqbrbsbleJdmeKdLd'd(dneoegc5 tb1b2bub; = hcicjckclcMd3b4bN u 6 7 5bv 6bmc7b)d%cNd'cX vb*d(c]dadbd)cUe8b? pel m n o p q r Odwb+dqencH oc5eI t O cdpcqcrcPdQdRdSdresctcucTdxbyb9b@ vcwc[ ^dUdVdWdzbY *cAb+cBb,c-cxcycCb!bDbEbFbGbzc8 9 ! ] Ac^ _ Bc#b$bHb.cZ P Q ,dIb-dJbKbLbMbNbseXdteYdZd.d/dueveCc# Ob%b'bPb` { DcEcFcGcHc0d(b)bR w $ % *bx +bIc,b:d1d_d2d| Jcwe3dDe;d=d4d6e/c-bFey z A B C D E `dKcxeGedd0 ed.e1 J ' ?dfdgdhd{d|d}d~dHeidjdkdaeLcMc:c.bldmd/bEebecedeNc} 5dOc6dPc7d8dndodQc;cRcScTcUcpdQbRbSb:bqd;b=brd=c?cVc9d~ ( ) yeWczeXcYcZc0c1cIeeeJefegeAeBeKeLesdTb2c@c[c3c?b@btdudvdwdxdhe]c^c* S UbVb_cT `cyd{cCe
387 return known_models 24czd5cU ab!d6c@d|c}c7cMeWb+ iee f g h i j k Adbb#dje[bF ]b4eG s K ~c^b_b`bBdCdDdEdke{b|b}bFdcbdbXb, ~bac- [dGdHdIdebV 8cfb9cgb!c#cbccchbYbibjbkblbdc2 3 4 . ec/ : fcZb0bmb$cW L M $dnb%dobpbqbrbsbleJdmeKdLd'd(dneoegc5 tb1b2bub; = hcicjckclcMd3b4bN u 6 7 5bv 6bmc7b)d%cNd'cX vb*d(c]dadbd)cUe8b? pel m n o p q r Odwb+dqencH oc5eI t O cdpcqcrcPdQdRdSdresctcucTdxbyb9b@ vcwc[ ^dUdVdWdzbY *cAb+cBb,c-cxcycCb!bDbEbFbGbzc8 9 ! ] Ac^ _ Bc#b$bHb.cZ P Q ,dIb-dJbKbLbMbNbseXdteYdZd.d/dueveCc# Ob%b'bPb` { DcEcFcGcHc0d(b)bR w $ % *bx +bIc,b:d1d_d2d| Jcwe3dDe;d=d4d6e/c-bFey z A B C D E `dKcxeGedd0 ed.e1 J ' ?dfdgdhd{d|d}d~dHeidjdkdaeLcMc:c.bldmd/bEebecedeNc} 5dOc6dPc7d8dndodQc;cRcScTcUcpdQbRbSb:bqd;b=brd=c?cVc9d~ ( ) yeWczeXcYcZc0c1cIeeeJefegeAeBeKeLesdTb2c@c[c3c?b@btdudvdwdxdhe]c^c* S UbVb_cT `cyd{cCe
390def get_flat_models_from_annotation( 1abcd
391 annotation: Any, known_models: TypeModelSet
392) -> TypeModelSet:
393 origin = get_origin(annotation) 24czd5cU zgab!d6caf_e@d|c}c7cbfWb+ iee f g h i j k Adbb#dAgcfje[bdfF ]befG s Bg=hCgK 2eDgYhEg~c^b_b`bBdNe'eCdDdEdke{b|b}bFdOePeQe(eqgReSeTe)ecbdbXb, ~bac- [dGdHdIdFgShebV 8cfb9cgbGg!c#cbccchbYbibjbkblbdc2 3 4 . ecff/ : gfhfifHgTh[ejfkflfIgJgKgfcLgMgZb0bmb$cngW L M NgOgPgQg$dRgmfnfofpfqfrfnb%dobpbqbrbsbSgTgUgVg|eWgXgYgZgsftf0gufvfwf1gxfyfzfAfBf2g3gCfDfEftgugFfGf4g?hHfleJdmeKdLd'd(dneoegc5 tb1b2b5g6gub; = 7ghcicjckclcMd3b4bN u 6 7 8g5bv 6bmc7b)d%cNd'cX 9gvb*d(cIf`e]dadbd)cJf8b? pel m n o p q r Odwb+d!gKfqencLfH ocMfI t #g@h$gO 3e%gZh'gcdpcqcrcPdVe*eQdRdSdresctcucTdWeXeYe+ergZe0e1e,exbyb9b@ vcwc[ ^dUdVdWd(gUhzbY *cAb+cBb)g,c-cxcycCb!bDbEbFbGbzc8 9 ! ] AcNf^ _ OfPfQf*gVh]eRfSfTf+g,g-gBc.g/g#b$bHb.cogZ P Q :g;g=g?g,d@gUfVfWfXfYfZfIb-dJbKbLbMbNb[g]g^g_g}e`g{g|g}g0f1f~g2f3f4fah5f6f7f8f9fbhch!f#f$fvgwg%f'fdh[h(fseXdteYdZd.d/dueveCc# Ob%b'behfhPb` { ghDcEcFcGcHc0d(b)bR w $ % hh*bx +bIc,b:d1d_d2d| ihJcwe3d)f{eDe;d=d4d*f/c-bFey z A B C D E `dKcxejh+fGedd,f0 ed-f1 J kh]hlh' -emh0hnh?dfdgdhd{d7e/e|d}d~dHeidjdkdae8e9e!e:esg#e$e%e;eLcMc:c.bldmd/bEebecedeohWhNc} 5dOc6dPcph7d8dndodQc;cRcScTcUcpdQbRbSb:bqd.f;b=b/f:f;fqhXh^e=f?f@frhshthrduhvh=c?cVc9dpg~ ( ) whxhyhzhyeAh[f]f^f_f`f{fWczeXcYcZc0c1cBhChDhEh~eFhGhHhIh|f}fJh~fagbgKhcgdgegfgggLhMhhgigjgxgygkglgNh^hmgIeeeJefegeAeBeKeLesdTb2c@c[cOhPh3c?b@bQhtdudvdwdxdhe]c^c* S UbVbRh_cT `cyd{cCe
394 if origin is not None: 24czd5cU zgab!d6caf_e@d|c}c7cbfWb+ iee f g h i j k Adbb#dAgcfje[bdfF ]befG s Bg=hCgK 2eDgYhEg~c^b_b`bBdNe'eCdDdEdke{b|b}bFdOePeQe(eqgReSeTe)ecbdbXb, ~bac- [dGdHdIdFgShebV 8cfb9cgbGg!c#cbccchbYbibjbkblbdc2 3 4 . ecff/ : gfhfifHgTh[ejfkflfIgJgKgfcLgMgZb0bmb$cngW L M NgOgPgQg$dRgmfnfofpfqfrfnb%dobpbqbrbsbSgTgUgVg|eWgXgYgZgsftf0gufvfwf1gxfyfzfAfBf2g3gCfDfEftgugFfGf4g?hHfleJdmeKdLd'd(dneoegc5 tb1b2b5g6gub; = 7ghcicjckclcMd3b4bN u 6 7 8g5bv 6bmc7b)d%cNd'cX 9gvb*d(cIf`e]dadbd)cJf8b? pel m n o p q r Odwb+d!gKfqencLfH ocMfI t #g@h$gO 3e%gZh'gcdpcqcrcPdVe*eQdRdSdresctcucTdWeXeYe+ergZe0e1e,exbyb9b@ vcwc[ ^dUdVdWd(gUhzbY *cAb+cBb)g,c-cxcycCb!bDbEbFbGbzc8 9 ! ] AcNf^ _ OfPfQf*gVh]eRfSfTf+g,g-gBc.g/g#b$bHb.cogZ P Q :g;g=g?g,d@gUfVfWfXfYfZfIb-dJbKbLbMbNb[g]g^g_g}e`g{g|g}g0f1f~g2f3f4fah5f6f7f8f9fbhch!f#f$fvgwg%f'fdh[h(fseXdteYdZd.d/dueveCc# Ob%b'behfhPb` { ghDcEcFcGcHc0d(b)bR w $ % hh*bx +bIc,b:d1d_d2d| ihJcwe3d)f{eDe;d=d4d*f/c-bFey z A B C D E `dKcxejh+fGedd,f0 ed-f1 J kh]hlh' -emh0hnh?dfdgdhd{d7e/e|d}d~dHeidjdkdae8e9e!e:esg#e$e%e;eLcMc:c.bldmd/bEebecedeohWhNc} 5dOc6dPcph7d8dndodQc;cRcScTcUcpdQbRbSb:bqd.f;b=b/f:f;fqhXh^e=f?f@frhshthrduhvh=c?cVc9dpg~ ( ) whxhyhzhyeAh[f]f^f_f`f{fWczeXcYcZc0c1cBhChDhEh~eFhGhHhIh|f}fJh~fagbgKhcgdgegfgggLhMhhgigjgxgygkglgNh^hmgIeeeJefegeAeBeKeLesdTb2c@c[cOhPh3c?b@bQhtdudvdwdxdhe]c^c* S UbVbRh_cT `cyd{cCe
395 for arg in get_args(annotation): 24czdU ab6caf_e}cbfWb+ e f g h i j k cf[bdfF ]befG s =hK 2e~c^b_b`bNeCdDdEd{b|b}bOePeQeReSeTecbdbXb, ~bac- GdHdIdebV fbgb!c#cbccchbYbibjbkblbdc2 3 4 . ecff/ : gfhfif[ejfkflffcZb0bmb$cngW L M mfnfofpfqfrfnbobpbqbrbsb|esftfufvfwfxfyfzfAfBfCfDfEftgugFfGf?hHfJdKdLdgc5 tb1b2bub; = hcicjckclcMd3b4bN u 6 7 5bv 6bmc7b%cNdX vb(cIf`ebdJf8b? l m n o p q r KfncLfH ocMfI t @hO 3ecdpcqcrcVeQdRdSdsctcucWeXeYeZe0e1exbyb9b@ vcwc[ UdVdWdzbY AbBb,c-cxcycCb!bDbEbFbGbzc8 9 ! ] AcNf^ _ OfPfQf]eRfSfTfBc#b$bHb.cogZ P Q UfVfWfXfYfZfIbJbKbLbMbNb}e0f1f2f3f4f5f6f7f8f9f!f#f$fvgwg%f'f[h(fXdYdZdCc# Ob%b'bPb` { DcEcFcGcHc0d(b)bR w $ % *bx +bIc,b1d_d| Jc3d)f{e=d*f/c-by z A B C D E +fdd,f0 ed-f1 J ]h' -e?dfdgdhd7e|d}d~didjdkd8e9e!e#e$e%eLcMc:c.bldmd/bbecedeNc} OcPc7d8dndodQc;cRcScTcUcpdQbRbSb:bqd.f;b=b/f:f;f^e=f?f@frd=c?cVc9dpg~ ( ) [f]f^f_f`f{fWcXcYcZc0c1c~e|f}f~fagbgcgdgegfggghgigjgxgygkglg^hmgeefegesdTb2c@c[c3c?b@btdudvdwdxdhe]c^c* S UbVb_cT `cyd{c
396 if lenient_issubclass(arg, (BaseModel, Enum)): 24czdU ab6caf_e}cbfWb+ e f g h i j k cf[bdfF ]befG s =hK 2e~c^b_b`bNeCdDdEd{b|b}bOePeQeReSeTecbdbXb, ~bac- GdHdIdebV fbgb!c#cbccchbYbibjbkblbdc2 3 4 . ecff/ : gfhfif[ejfkflffcZb0bmb$cngW L M mfnfofpfqfrfnbobpbqbrbsb|esftfufvfwfxfyfzfAfBfCfDfEftgugFfGf?hHfJdKdLdgc5 tb1b2bub; = hcicjckclcMd3b4bN u 6 7 5bv 6bmc7b%cNdX vb(cIf`ebdJf8b? l m n o p q r KfncLfH ocMfI t @hO 3ecdpcqcrcVeQdRdSdsctcucWeXeYeZe0e1exbyb9b@ vcwc[ UdVdWdzbY AbBb,c-cxcycCb!bDbEbFbGbzc8 9 ! ] AcNf^ _ OfPfQf]eRfSfTfBc#b$bHb.cogZ P Q UfVfWfXfYfZfIbJbKbLbMbNb}e0f1f2f3f4f5f6f7f8f9f!f#f$fvgwg%f'f[h(fXdYdZdCc# Ob%b'bPb` { DcEcFcGcHc0d(b)bR w $ % *bx +bIc,b1d_d| Jc3d)f{e=d*f/c-by z A B C D E +fdd,f0 ed-f1 J ]h' -e?dfdgdhd7e|d}d~didjdkd8e9e!e#e$e%eLcMc:c.bldmd/bbecedeNc} OcPc7d8dndodQc;cRcScTcUcpdQbRbSb:bqd.f;b=b/f:f;f^e=f?f@frd=c?cVc9dpg~ ( ) [f]f^f_f`f{fWcXcYcZc0c1c~e|f}f~fagbgcgdgegfggghgigjgxgygkglg^hmgeefegesdTb2c@c[c3c?b@btdudvdwdxdhe]c^c* S UbVb_cT `cyd{c
397 if arg not in known_models: 2zdU ab6ce f g h i j k [bF G s ~ccbdbXb, ~bacV Yb2 3 4 . ecmb$cW L M 5 N u 6 7 5bv 6bmc7bNdX vb(cl m n o p q r ncH I t cdxbyb9b@ vcwcY !b8 9 ! ] AcHb.cZ P Q # R w $ % *bx +bIc,b_d| Jc3dy z A B C D E dd0 1 J ?dLcMc:c.bldmd} ;cQbRbSb:bqdVc9d~ ( ) Tb* S UbVb_cT `cyd{c
398 known_models.add(arg) # type: ignore[arg-type] 2zdU ab6ce f g h i j k [bF G s dbXb, acV Yb2 3 4 . ecmb$cW L M N u 5bv 6bmc7bNdX vb(cl m n o p q r ncH I t yb9b@ wcY !b8 9 ! ] AcHb.cZ P Q R w *bx +bIc,b_d| Jc3dy z A B C D E dd0 1 J Mc:c.bmd} ;cQbRbSb:bqdVc9d~ ( ) * S _cT `cyd{c
399 if lenient_issubclass(arg, BaseModel): 2zdU ab6ce f g h i j k [bF G s dbXb, acV Yb2 3 4 . ecmb$cW L M N u 5bv 6bmc7bNdX vb(cl m n o p q r ncH I t yb9b@ wcY !b8 9 ! ] AcHb.cZ P Q R w *bx +bIc,b_d| Jc3dy z A B C D E dd0 1 J Mc:c.bmd} ;cQbRbSb:bqdVc9d~ ( ) * S _cT `cyd{c
400 get_flat_models_from_model(arg, known_models=known_models) 2zdU ab6ce f g h i j k [bF G s dbXb, V Yb2 3 4 . ecmb$cW L M N u 5bv 6bmc7bNdX vb(cl m n o p q r ncH I t yb9b@ Y !b8 9 ! ] AcHb.cZ P Q R w *bx +bIc,b_d| Jc3dy z A B C D E dd0 1 J Mc:c.b} ;cQbRbSb:bqdVc9d~ ( ) * S _cT `cyd{c
401 else:
402 get_flat_models_from_annotation(arg, known_models=known_models) 24czdaf_e}cbfWb+ cfdf]befG s =hK 2e^b_b`bNeCdDdEd{b|b}bOePeQeReSeTe~b- GdHdIdebV fbgb!c#cbccchbYbibjbkblbdc2 3 4 . ff/ : gfhfif[ejfkflffcZb0bngmfnfofpfqfrfnbobpbqbrbsb|esftfufvfwfxfyfzfAfBfCfDfEftgugFfGf?hHfJdKdLdgc5 tb1b2bub; = hcicjckclcMd3b4bN u 6 7 5bv 6b7b%cNdIf`ebdJf8b? KfLfocMfI t @hO 3epcqcrcVeQdRdSdsctcucWeXeYeZe0e1evc[ UdVdWdzbY AbBb,c-cxcycCb!bDbEbFbGbzc8 9 ! ] Nf^ _ OfPfQf]eRfSfTfBc#b$bogUfVfWfXfYfZfIbJbKbLbMbNb}e0f1f2f3f4f5f6f7f8f9f!f#f$fvgwg%f'f[h(fXdYdZdCc# Ob%b'bPb` { DcEcFcGcHc0d(b)bR w $ % *bx +b,b1d_d)f{e=d*f/c-b+f,fed-f1 J ]h' -efdgdhd7e|d}d~didjdkd8e9e!e#e$e%eld/bbecedeNc} OcPc7d8dndodQc;cRcScTcUcpdQbRbSb:b.f;b=b/f:f;f^e=f?f@frd=c?cpg[f]f^f_f`f{fWcXcYcZc0c1c~e|f}f~fagbgcgdgegfggghgigjgxgygkglg^hmgeefegesdTb2c@c[c3c?b@btdudvdwdxdhe]c^c* S UbVb_cT `c{c
403 return known_models 24czd5cU zgab!d6caf_e@d|c}c7cbfWb+ iee f g h i j k Adbb#dAgcfje[bdfF ]befG s Bg=hCgK 2eDgYhEg~c^b_b`bBdNe'eCdDdEdke{b|b}bFdOePeQe(eqgReSeTe)ecbdbXb, ~bac- [dGdHdIdFgShebV 8cfb9cgbGg!c#cbccchbYbibjbkblbdc2 3 4 . ecff/ : gfhfifHgTh[ejfkflfIgJgKgfcLgMgZb0bmb$cngW L M NgOgPgQg$dRgmfnfofpfqfrfnb%dobpbqbrbsbSgTgUgVg|eWgXgYgZgsftf0gufvfwf1gxfyfzfAfBf2g3gCfDfEftgugFfGf4g?hHfleJdmeKdLd'd(dneoegc5 tb1b2b5g6gub; = 7ghcicjckclcMd3b4bN u 6 7 8g5bv 6bmc7b)d%cNd'cX 9gvb*d(cIf`e]dadbd)cJf8b? pel m n o p q r Odwb+d!gKfqencLfH ocMfI t #g@h$gO 3e%gZh'gcdpcqcrcPdVe*eQdRdSdresctcucTdWeXeYe+ergZe0e1e,exbyb9b@ vcwc[ ^dUdVdWd(gUhzbY *cAb+cBb)g,c-cxcycCb!bDbEbFbGbzc8 9 ! ] AcNf^ _ OfPfQf*gVh]eRfSfTf+g,g-gBc.g/g#b$bHb.cogZ P Q :g;g=g?g,d@gUfVfWfXfYfZfIb-dJbKbLbMbNb[g]g^g_g}e`g{g|g}g0f1f~g2f3f4fah5f6f7f8f9fbhch!f#f$fvgwg%f'fdh[h(fseXdteYdZd.d/dueveCc# Ob%b'behfhPb` { ghDcEcFcGcHc0d(b)bR w $ % hh*bx +bIc,b:d1d_d2d| ihJcwe3d)f{eDe;d=d4d*f/c-bFey z A B C D E `dKcxejh+fGedd,f0 ed-f1 J kh]hlh' -emh0hnh?dfdgdhd{d7e/e|d}d~dHeidjdkdae8e9e!e:esg#e$e%e;eLcMc:c.bldmd/bEebecedeohWhNc} 5dOc6dPcph7d8dndodQc;cRcScTcUcpdQbRbSb:bqd.f;b=b/f:f;fqhXh^e=f?f@frhshthrduhvh=c?cVc9dpg~ ( ) whxhyhzhyeAh[f]f^f_f`f{fWczeXcYcZc0c1cBhChDhEh~eFhGhHhIh|f}fJh~fagbgKhcgdgegfgggLhMhhgigjgxgygkglgNh^hmgIeeeJefegeAeBeKeLesdTb2c@c[cOhPh3c?b@bQhtdudvdwdxdhe]c^c* S UbVbRh_cT `cyd{cCe
406def get_flat_models_from_field( 1abcd
407 field: ModelField, known_models: TypeModelSet
408) -> TypeModelSet:
409 field_type = field.field_info.annotation 24czd5cU zgab!d6caf_e@d|c}c7cMebfWb+ iee f g h i j k Adbb#dAgcfje[bdfF ]b4eefG s Bg=hCgK 2eDgYhEg~c^b_b`bBdNe'eCdDdEdke{b|b}bFdOePeQe(eqgReSeTe)ecbdbXb, ~bac- [dGdHdIdFgShebV 8cfb9cgbGg!c#cbccchbYbibjbkblbdc2 3 4 . ecff/ : gfhfifHgTh[ejfkflfIgJgKgfcLgMgZb0bmb$cngW L M NgOgPgQg$dRgmfnfofpfqfrfnb%dobpbqbrbsbSgTgUgVg=e|eWgXgYgZgsftf0gufvfwf1gxfyfzfAfBf2g3gCfDfEftgugFfGf4g?hHfleJdmeKdLd'd(dneoegc5 tb1b2b5g6gub; = 7ghcicjckclcMd3b4bN u 6 7 8g5bv 6bmc7b)d%cNd'cX 9gvb*d(cIf`e]dadbd)cUeJf8b? pel m n o p q r Odwb+d!gKfqencLfH oc5eMfI t #g@h$gO 3e%gZh'gcdpcqcrcPdVe*eQdRdSdresctcucTdWeXeYe+ergZe0e1e,exbyb9b@ vcwc[ ^dUdVdWd(gUhzbY *cAb+cBb)g,c-cxcycCb!bDbEbFbGbzc8 9 ! ] AcNf^ _ OfPfQf*gVh]eRfSfTf+g,g-gBc.g/g#b$bHb.cogZ P Q :g;g=g?g,d@gUfVfWfXfYfZfIb-dJbKbLbMbNb[g]g^g_g?e}e`g{g|g}g0f1f~g2f3f4fah5f6f7f8f9fbhch!f#f$fvgwg%f'fdh[h(fseXdteYdZd.d/dueveCc# Ob%b'behfhPb` { ghDcEcFcGcHc0d(b)bR w $ % hh*bx +bIc,b:d1d_d2d| ihJcwe3d)f{eDe;d=d4d6e*f/c-bFey z A B C D E `dKcxejh+fGedd,f0 ed.e-f1 J kh]hlh' -emh0hnh?dfdgdhd{d7e/e|d}d~dHeidjdkdae8e9e!e:esg#e$e%e;eLcMc:c.bldmd/bEebecedeohWhNc} 5dOc6dPcph7d8dndodQc;cRcScTcUcpdQbRbSb:bqd.f;b=b/f:f;fqhXh^e=f?f@frhshthrduhvh=c?cVc9dpg~ ( ) whxhyhzhyeAh[f]f^f_f`f{fWczeXcYcZc0c1cBhChDhEh@e~eFhGhHhIh|f}fJh~fagbgKhcgdgegfgggLhMhhgigjgxgygkglgNh^hmgIeeeJefegeAeBeKeLesdTb2c@c[cOhPh3c?b@bQhtdudvdwdxdhe]c^c* S UbVbRh_cT `cyd{cCe
410 if lenient_issubclass(field_type, BaseModel): 24czd5cU zgab!d6caf_e@d|c}c7cMebfWb+ iee f g h i j k Adbb#dAgcfje[bdfF ]b4eefG s Bg=hCgK 2eDgYhEg~c^b_b`bBdNe'eCdDdEdke{b|b}bFdOePeQe(eqgReSeTe)ecbdbXb, ~bac- [dGdHdIdFgShebV 8cfb9cgbGg!c#cbccchbYbibjbkblbdc2 3 4 . ecff/ : gfhfifHgTh[ejfkflfIgJgKgfcLgMgZb0bmb$cngW L M NgOgPgQg$dRgmfnfofpfqfrfnb%dobpbqbrbsbSgTgUgVg=e|eWgXgYgZgsftf0gufvfwf1gxfyfzfAfBf2g3gCfDfEftgugFfGf4g?hHfleJdmeKdLd'd(dneoegc5 tb1b2b5g6gub; = 7ghcicjckclcMd3b4bN u 6 7 8g5bv 6bmc7b)d%cNd'cX 9gvb*d(cIf`e]dadbd)cUeJf8b? pel m n o p q r Odwb+d!gKfqencLfH oc5eMfI t #g@h$gO 3e%gZh'gcdpcqcrcPdVe*eQdRdSdresctcucTdWeXeYe+ergZe0e1e,exbyb9b@ vcwc[ ^dUdVdWd(gUhzbY *cAb+cBb)g,c-cxcycCb!bDbEbFbGbzc8 9 ! ] AcNf^ _ OfPfQf*gVh]eRfSfTf+g,g-gBc.g/g#b$bHb.cogZ P Q :g;g=g?g,d@gUfVfWfXfYfZfIb-dJbKbLbMbNb[g]g^g_g?e}e`g{g|g}g0f1f~g2f3f4fah5f6f7f8f9fbhch!f#f$fvgwg%f'fdh[h(fseXdteYdZd.d/dueveCc# Ob%b'behfhPb` { ghDcEcFcGcHc0d(b)bR w $ % hh*bx +bIc,b:d1d_d2d| ihJcwe3d)f{eDe;d=d4d6e*f/c-bFey z A B C D E `dKcxejh+fGedd,f0 ed.e-f1 J kh]hlh' -emh0hnh?dfdgdhd{d7e/e|d}d~dHeidjdkdae8e9e!e:esg#e$e%e;eLcMc:c.bldmd/bEebecedeohWhNc} 5dOc6dPcph7d8dndodQc;cRcScTcUcpdQbRbSb:bqd.f;b=b/f:f;fqhXh^e=f?f@frhshthrduhvh=c?cVc9dpg~ ( ) whxhyhzhyeAh[f]f^f_f`f{fWczeXcYcZc0c1cBhChDhEh@e~eFhGhHhIh|f}fJh~fagbgKhcgdgegfgggLhMhhgigjgxgygkglgNh^hmgIeeeJefegeAeBeKeLesdTb2c@c[cOhPh3c?b@bQhtdudvdwdxdhe]c^c* S UbVbRh_cT `cyd{cCe
411 if field_type in known_models: 24c5cU ab!d@d|c}c7cMeWb+ iee f g h i j k Adbb#djeF ]b4eG s K ~c^b_b`bBdCdDdEdke{b|b}bFdcbdbXb, ~bac- [dGdHdIdebV 8cfb9cgb!c#cbccchbibjbkblbdc2 3 4 . / : fcZb0bW L M $dnb%dobpbqbrbsbleJdmeKdLd'd(dneoegc5 tb1b2bub; = hcicjckclcMd3b4bN u 6 7 )d%c'cX vb*d]dadbd)cUe8b? pel m n o p q r Odwb+dqeH oc5eI t O cdpcqcrcPdQdRdSdresctcucTdxbyb9b@ vcwc[ ^dUdVdWdzbY *cAb+cBb,c-cxcycCbDbEbFbGbzc8 9 ! ] ^ _ Bc#b$bZ P Q ,dIb-dJbKbLbMbNbseXdteYdZd.d/dueveCc# Ob%b'bPb` { DcEcFcGcHc0d(b)bR w $ % :d1d2d| JcweDe;d=d4d6e/c-bFey z A B C D E `dKcxeGe0 ed.e1 J ' ?dfdgdhd{d|d}d~dHeidjdkdaeLcMc:c.bldmd/bEebecedeNc} 5dOc6dPc7d8dndodQcRcScTcUcpdQbRbSb:b;b=brd=c?c~ ( ) yeWczeXcYcZc0c1cIeeeJefegeAeBeKeLesdTb2c@c[c3c?b@btdudvdwdxdhe]c^c* S UbVbCe
412 return known_models 2ab!d|c7cMeWbe f g h i j k AdG s cbdb, - / : L M obpbqbrbsb5 tb; = 6 7 vb*dad)cUe8bl m n o p q r OdI t xbyb@ [ ^ _ P Q JbKbLbMbNb# Ob` { $ % Jcwe;d4d6e/cy z A B C D E `d1 J LcMc.b/b;b=b( ) XcYcZc0c1cTb2c?b@bUbVb
413 known_models.add(field_type) 24c5cU ab!d@d|c}c7cMeWb+ iee f g h i j k Adbb#djeF ]b4eG s K ~c^b_b`bBdCdDdEdke{b|b}bFdcbdbXb, ~bac- [dGdHdIdebV 8cfb9cgb!c#cbccchbibjbkblbdc2 3 4 . / : fcZb0bW L M $dnb%dobpbqbrbsbleJdmeKdLd'd(dneoegc5 tb1b2bub; = hcicjckclcMd3b4bN u 6 7 )d%c'cX vb*d]dadbd)cUe8b? pel m n o p q r Odwb+dqeH oc5eI t O cdpcqcrcPdQdRdSdresctcucTdxbyb9b@ vcwc[ ^dUdVdWdzbY *cAb+cBb,c-cxcycCbDbEbFbGbzc8 9 ! ] ^ _ Bc#b$bZ P Q ,dIb-dJbKbLbMbNbseXdteYdZd.d/dueveCc# Ob%b'bPb` { DcEcFcGcHc0d(b)bR w $ % :d1d2d| JcweDe;d=d4d6e/c-bFey z A B C D E `dKcxeGe0 ed.e1 J ' ?dfdgdhd{d|d}d~dHeidjdkdaeLcMc:c.bldmd/bEebecedeNc} 5dOc6dPc7d8dndodQcRcScTcUcpdQbRbSb:b;b=brd=c?c~ ( ) yeWczeXcYcZc0c1cIeeeJefegeAeBeKeLesdTb2c@c[c3c?b@btdudvdwdxdhe]c^c* S UbVbCe
414 get_flat_models_from_model(field_type, known_models=known_models) 24c5cU ab!d@d|c}c7cMeWb+ iee f g h i j k Adbb#djeF ]b4eG s K ~c^b_b`bBdCdDdEdke{b|b}bFdcbdbXb, ~bac- [dGdHdIdebV 8cfb9cgb!c#cbccchbibjbkblbdc2 3 4 . / : fcZb0bW L M $dnb%dobpbqbrbsbleJdmeKdLd'd(dneoegc5 tb1b2bub; = hcicjckclcMd3b4bN u 6 7 )d%c'cX vb*d]dadbd)cUe8b? pel m n o p q r Odwb+dqeH oc5eI t O cdpcqcrcPdQdRdSdresctcucTdxbyb9b@ vcwc[ ^dUdVdWdzbY *cAb+cBb,c-cxcycCbDbEbFbGbzc8 9 ! ] ^ _ Bc#b$bZ P Q ,dIb-dJbKbLbMbNbseXdteYdZd.d/dueveCc# Ob%b'bPb` { DcEcFcGcHc0d(b)bR w $ % :d1d2d| JcweDe;d=d4d6e/c-bFey z A B C D E `dKcxeGe0 ed.e1 J ' ?dfdgdhd{d|d}d~dHeidjdkdaeLcMc:c.bldmd/bEebecedeNc} 5dOc6dPc7d8dndodQcRcScTcUcpdQbRbSb:b;b=brd=c?c~ ( ) yeWczeXcYcZc0c1cIeeeJefegeAeBeKeLesdTb2c@c[c3c?b@btdudvdwdxdhe]c^c* S UbVbCe
415 elif lenient_issubclass(field_type, Enum): 24czd5cU zgab!d6caf_e@d|c}c7cbfWb+ iee f g h i j k Adbb#dAgcfje[bdfF ]befG s Bg=hCgK 2eDgYhEg~c^b_b`bBdNe'eCdDdEdke{b|b}bFdOePeQe(eqgReSeTe)ecbdbXb, ~bac- [dGdHdIdFgShebV 8cfb9cgbGg!c#cbccchbYbibjbkblbdc2 3 4 . ecff/ : gfhfifHgTh[ejfkflfIgJgKgfcLgMgZb0bmb$cngW L M NgOgPgQg$dRgmfnfofpfqfrfnb%dobpbqbrbsbSgTgUgVg=e|eWgXgYgZgsftf0gufvfwf1gxfyfzfAfBf2g3gCfDfEftgugFfGf4g?hHfleJdmeKdLd'd(dneoegc5 tb1b2b5g6gub; = 7ghcicjckclcMd3b4bN u 6 7 8g5bv 6bmc7b)d%cNd'cX 9gvb*d(cIf`e]dadbd)cJf8b? pel m n o p q r Odwb+d!gKfqencLfH ocMfI t #g@h$gO 3e%gZh'gcdpcqcrcPdVe*eQdRdSdresctcucTdWeXeYe+ergZe0e1e,exbyb9b@ vcwc[ ^dUdVdWd(gUhzbY *cAb+cBb)g,c-cxcycCb!bDbEbFbGbzc8 9 ! ] AcNf^ _ OfPfQf*gVh]eRfSfTf+g,g-gBc.g/g#b$bHb.cogZ P Q :g;g=g?g,d@gUfVfWfXfYfZfIb-dJbKbLbMbNb[g]g^g_g?e}e`g{g|g}g0f1f~g2f3f4fah5f6f7f8f9fbhch!f#f$fvgwg%f'fdh[h(fseXdteYdZd.d/dueveCc# Ob%b'behfhPb` { ghDcEcFcGcHc0d(b)bR w $ % hh*bx +bIc,b:d1d_d2d| ihJcwe3d)f{eDe;d=d4d*f/c-bFey z A B C D E `dKcxejh+fGedd,f0 ed-f1 J kh]hlh' -emh0hnh?dfdgdhd{d7e/e|d}d~dHeidjdkdae8e9e!e:esg#e$e%e;eLcMc:c.bldmd/bEebecedeohWhNc} 5dOc6dPcph7d8dndodQc;cRcScTcUcpdQbRbSb:bqd.f;b=b/f:f;fqhXh^e=f?f@frhshthrduhvh=c?cVc9dpg~ ( ) whxhyhzhyeAh[f]f^f_f`f{fWczeXcYcZc0c1cBhChDhEh@e~eFhGhHhIh|f}fJh~fagbgKhcgdgegfgggLhMhhgigjgxgygkglgNh^hmgIeeeJefegeAeBeKeLesdTb2c@c[cOhPh3c?b@bQhtdudvdwdxdhe]c^c* S UbVbRh_cT `cyd{cCe
416 known_models.add(field_type) 2F =eH ?e0 @e
417 else:
418 get_flat_models_from_annotation(field_type, known_models=known_models) 24czd5cU zgab!d6caf_e@d|c}c7cbfWb+ iee f g h i j k Adbb#dAgcfje[bdfF ]befG s Bg=hCgK 2eDgYhEg~c^b_b`bBdNe'eCdDdEdke{b|b}bFdOePeQe(eqgReSeTe)ecbdbXb, ~bac- [dGdHdIdFgShebV 8cfb9cgbGg!c#cbccchbYbibjbkblbdc2 3 4 . ecff/ : gfhfifHgTh[ejfkflfIgJgKgfcLgMgZb0bmb$cngW L M NgOgPgQg$dRgmfnfofpfqfrfnb%dobpbqbrbsbSgTgUgVg|eWgXgYgZgsftf0gufvfwf1gxfyfzfAfBf2g3gCfDfEftgugFfGf4g?hHfleJdmeKdLd'd(dneoegc5 tb1b2b5g6gub; = 7ghcicjckclcMd3b4bN u 6 7 8g5bv 6bmc7b)d%cNd'cX 9gvb*d(cIf`e]dadbd)cJf8b? pel m n o p q r Odwb+d!gKfqencLfH ocMfI t #g@h$gO 3e%gZh'gcdpcqcrcPdVe*eQdRdSdresctcucTdWeXeYe+ergZe0e1e,exbyb9b@ vcwc[ ^dUdVdWd(gUhzbY *cAb+cBb)g,c-cxcycCb!bDbEbFbGbzc8 9 ! ] AcNf^ _ OfPfQf*gVh]eRfSfTf+g,g-gBc.g/g#b$bHb.cogZ P Q :g;g=g?g,d@gUfVfWfXfYfZfIb-dJbKbLbMbNb[g]g^g_g}e`g{g|g}g0f1f~g2f3f4fah5f6f7f8f9fbhch!f#f$fvgwg%f'fdh[h(fseXdteYdZd.d/dueveCc# Ob%b'behfhPb` { ghDcEcFcGcHc0d(b)bR w $ % hh*bx +bIc,b:d1d_d2d| ihJcwe3d)f{eDe;d=d4d*f/c-bFey z A B C D E `dKcxejh+fGedd,f0 ed-f1 J kh]hlh' -emh0hnh?dfdgdhd{d7e/e|d}d~dHeidjdkdae8e9e!e:esg#e$e%e;eLcMc:c.bldmd/bEebecedeohWhNc} 5dOc6dPcph7d8dndodQc;cRcScTcUcpdQbRbSb:bqd.f;b=b/f:f;fqhXh^e=f?f@frhshthrduhvh=c?cVc9dpg~ ( ) whxhyhzhyeAh[f]f^f_f`f{fWczeXcYcZc0c1cBhChDhEh~eFhGhHhIh|f}fJh~fagbgKhcgdgegfgggLhMhhgigjgxgygkglgNh^hmgIeeeJefegeAeBeKeLesdTb2c@c[cOhPh3c?b@bQhtdudvdwdxdhe]c^c* S UbVbRh_cT `cyd{cCe
419 return known_models 24czd5cU zgab!d6caf_e@d|c}c7cMebfWb+ iee f g h i j k Adbb#dAgcfje[bdfF ]b4eefG s Bg=hCgK 2eDgYhEg~c^b_b`bBdNe'eCdDdEdke{b|b}bFdOePeQe(eqgReSeTe)ecbdbXb, ~bac- [dGdHdIdFgShebV 8cfb9cgbGg!c#cbccchbYbibjbkblbdc2 3 4 . ecff/ : gfhfifHgTh[ejfkflfIgJgKgfcLgMgZb0bmb$cngW L M NgOgPgQg$dRgmfnfofpfqfrfnb%dobpbqbrbsbSgTgUgVg=e|eWgXgYgZgsftf0gufvfwf1gxfyfzfAfBf2g3gCfDfEftgugFfGf4g?hHfleJdmeKdLd'd(dneoegc5 tb1b2b5g6gub; = 7ghcicjckclcMd3b4bN u 6 7 8g5bv 6bmc7b)d%cNd'cX 9gvb*d(cIf`e]dadbd)cUeJf8b? pel m n o p q r Odwb+d!gKfqencLfH oc5eMfI t #g@h$gO 3e%gZh'gcdpcqcrcPdVe*eQdRdSdresctcucTdWeXeYe+ergZe0e1e,exbyb9b@ vcwc[ ^dUdVdWd(gUhzbY *cAb+cBb)g,c-cxcycCb!bDbEbFbGbzc8 9 ! ] AcNf^ _ OfPfQf*gVh]eRfSfTf+g,g-gBc.g/g#b$bHb.cogZ P Q :g;g=g?g,d@gUfVfWfXfYfZfIb-dJbKbLbMbNb[g]g^g_g?e}e`g{g|g}g0f1f~g2f3f4fah5f6f7f8f9fbhch!f#f$fvgwg%f'fdh[h(fseXdteYdZd.d/dueveCc# Ob%b'behfhPb` { ghDcEcFcGcHc0d(b)bR w $ % hh*bx +bIc,b:d1d_d2d| ihJcwe3d)f{eDe;d=d4d6e*f/c-bFey z A B C D E `dKcxejh+fGedd,f0 ed.e-f1 J kh]hlh' -emh0hnh?dfdgdhd{d7e/e|d}d~dHeidjdkdae8e9e!e:esg#e$e%e;eLcMc:c.bldmd/bEebecedeohWhNc} 5dOc6dPcph7d8dndodQc;cRcScTcUcpdQbRbSb:bqd.f;b=b/f:f;fqhXh^e=f?f@frhshthrduhvh=c?cVc9dpg~ ( ) whxhyhzhyeAh[f]f^f_f`f{fWczeXcYcZc0c1cBhChDhEh@e~eFhGhHhIh|f}fJh~fagbgKhcgdgegfgggLhMhhgigjgxgygkglgNh^hmgIeeeJefegeAeBeKeLesdTb2c@c[cOhPh3c?b@bQhtdudvdwdxdhe]c^c* S UbVbRh_cT `cyd{cCe
422def get_flat_models_from_fields( 1abcd
423 fields: Sequence[ModelField], known_models: TypeModelSet
424) -> TypeModelSet:
425 for field in fields: 24czd@j[j5cU zgab!d6caf_e@d|c]j}c7c^jMebfWb+ iee f g h i j k Ad_jbb#dAgcfje[bdfF ]b4eef`jG s {jBg=hCgK 2eDgYhEg~c^b_b`bBdNe'eCdDdEdke{b|b}bFdOePeQe(eqgReSeTe)ecbdbXb, ~bac- [d|j}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrkGdsktkukvkHdIdwkxkykzkAkFgShebBkV 8cfb9cgbCkDkEkFkGkGg!c#cbccchbYbibjbkblbdc2 3 4 . ecff/ : HkgfhfifIkJkKkLkMkNkOkHgTh[ePkjfkflfIgJgKgfcLgQkMgRkZb0bmb$cngSkW L M TkNgOgPgQg$dRgmfnfofpfqfrfUkVkWkXkYkZknb%d0k1k2kob3k4k5kpbqb6krbsb7kSgTgUg8kVg=e|eWgXgYgZgsftf0gufvfwf1gxfyfzfAfBf2g3gCfDfEftgugFfGf4g?hHfleJdmeKdLd'd(dneoegc9k5 tb1b2b5g!k6gub; = 7ghcicjckclc#k$kMd3b4b%k'kN u (k6 7 )k*k+k,k-k8g5bv 6bmc7b)d%cNd.k/k'cX 9gvb*d(cIf`e]dad:kbd)c;kUeJf8b? pel m n o p q r Od=kwb+d!gKfqencLfH oc5eMf?kI t @k#g@h$gO 3e%gZh'gcdpcqcrcPdVe*eQdRdSdresctcucTdWeXeYe+ergZe0e1e,exbyb9b@ vcwc[ ^d[k]k^k_k`k{k|k}k~kalblcldlelflglhliljlklllUdmlnlolplVdWdqlrlsltlul(gUhzbvlY *cAb+cBbwlxlylzlAl)g,c-cxcycCb!bDbEbFbGbzc8 9 ! ] AcNf^ _ BlOfPfQfClDlElFlGlHlIl*gVh]eJlRfSfTf+g,g-gBc.gKl/gLl#b$bHb.cogMlZ P Q Nl:g;g=g?g,d@gUfVfWfXfYfZfOlPlQlRlSlTlIb-dUlVlWlJbXlYlZlKbLb0lMbNb1l[g]g^g2l_g?e}e`g{g|g}g0f1f~g2f3f4fah5f6f7f8f9fbhch!f#f$fvgwg%f'fdh[h(fseXdteYdZd.d/dueveCc3l# Ob%b'beh4lfhPb` { ghDcEcFcGcHc5l6l0d(b)b7l8lR w 9l$ % !l#l$l%l'lhh*bx +bIc,b:d1d_d(l)l2d| ihJcwe3d)f{eDe;d*l=d4d+l6e*f/c-bFey z A B C D E `d,lKcxejh+fGedd,f0 ed.e-f-l1 J .lkh]hlh' -emh0hnh?dfdgdhd{d7e/e|d}d~dHeidjdkdae8e9e!e:esg#e$e%e;eLcMc:c.bldmd/bEe/l:l;l=l?l@l[l]l^l_l`l{l|l}l~lambmcmdmemfmbegmhmimjmcedekmlmmmnmomohWhNcpm} 5dOc6dPcqmrmsmtmumph7d8dndodQc;cRcScTcUcpdQbRbSb:bqd.f;b=bvm/f:f;fwmxmymzmAmBmCmqhXh^eDm=f?f@frhshthrduhEmvhFm=c?cVc9dpgGm~ ( ) HmwhxhyhzhyeAh[f]f^f_f`f{fImJmKmLmMmNmWczeOmPmQmXcRmSmTmYcZcUm0c1cVmBhChDhWmEh@e~eFhGhHhIh|f}fJh~fagbgKhcgdgegfgggLhMhhgigjgxgygkglgNh^hmgIeeeJefegeAeBeKeLesdXmTb2c@c[cOhYmPh3c?b@bQhtdudvdwdxdZm0mhe]c^c1m2m* S 3mUbVb4m5m6m7m8mRh_cT `cyd{cCe
426 get_flat_models_from_field(field, known_models=known_models) 24czd5cU zgab!d6caf_e@d|c}c7cMebfWb+ iee f g h i j k Adbb#dAgcfje[bdfF ]b4eefG s Bg=hCgK 2eDgYhEg~c^b_b`bBdNe'eCdDdEdke{b|b}bFdOePeQe(eqgReSeTe)ecbdbXb, ~bac- [dGdHdIdFgShebV 8cfb9cgbGg!c#cbccchbYbibjbkblbdc2 3 4 . ecff/ : gfhfifHgTh[ejfkflfIgJgKgfcLgMgZb0bmb$cngW L M NgOgPgQg$dRgmfnfofpfqfrfnb%dobpbqbrbsbSgTgUgVg=e|eWgXgYgZgsftf0gufvfwf1gxfyfzfAfBf2g3gCfDfEftgugFfGf4g?hHfleJdmeKdLd'd(dneoegc5 tb1b2b5g6gub; = 7ghcicjckclcMd3b4bN u 6 7 8g5bv 6bmc7b)d%cNd'cX 9gvb*d(cIf`e]dadbd)cUeJf8b? pel m n o p q r Odwb+d!gKfqencLfH oc5eMfI t #g@h$gO 3e%gZh'gcdpcqcrcPdVe*eQdRdSdresctcucTdWeXeYe+ergZe0e1e,exbyb9b@ vcwc[ ^dUdVdWd(gUhzbY *cAb+cBb)g,c-cxcycCb!bDbEbFbGbzc8 9 ! ] AcNf^ _ OfPfQf*gVh]eRfSfTf+g,g-gBc.g/g#b$bHb.cogZ P Q :g;g=g?g,d@gUfVfWfXfYfZfIb-dJbKbLbMbNb[g]g^g_g?e}e`g{g|g}g0f1f~g2f3f4fah5f6f7f8f9fbhch!f#f$fvgwg%f'fdh[h(fseXdteYdZd.d/dueveCc# Ob%b'behfhPb` { ghDcEcFcGcHc0d(b)bR w $ % hh*bx +bIc,b:d1d_d2d| ihJcwe3d)f{eDe;d=d4d6e*f/c-bFey z A B C D E `dKcxejh+fGedd,f0 ed.e-f1 J kh]hlh' -emh0hnh?dfdgdhd{d7e/e|d}d~dHeidjdkdae8e9e!e:esg#e$e%e;eLcMc:c.bldmd/bEebecedeohWhNc} 5dOc6dPcph7d8dndodQc;cRcScTcUcpdQbRbSb:bqd.f;b=b/f:f;fqhXh^e=f?f@frhshthrduhvh=c?cVc9dpg~ ( ) whxhyhzhyeAh[f]f^f_f`f{fWczeXcYcZc0c1cBhChDhEh@e~eFhGhHhIh|f}fJh~fagbgKhcgdgegfgggLhMhhgigjgxgygkglgNh^hmgIeeeJefegeAeBeKeLesdTb2c@c[cOhPh3c?b@bQhtdudvdwdxdhe]c^c* S UbVbRh_cT `cyd{cCe
427 return known_models 24czd@j[j5cU zgab!d6caf_e@d|c]j}c7c^jMebfWb+ iee f g h i j k Ad_jbb#dAgcfje[bdfF ]b4eef`jG s {jBg=hCgK 2eDgYhEg~c^b_b`bBdNe'eCdDdEdke{b|b}bFdOePeQe(eqgReSeTe)ecbdbXb, ~bac- [d|j}j~jakbkckdkekfkgkhkikjkkklkmknkokpkqkrkGdsktkukvkHdIdwkxkykzkAkFgShebBkV 8cfb9cgbCkDkEkFkGkGg!c#cbccchbYbibjbkblbdc2 3 4 . ecff/ : HkgfhfifIkJkKkLkMkNkOkHgTh[ePkjfkflfIgJgKgfcLgQkMgRkZb0bmb$cngSkW L M TkNgOgPgQg$dRgmfnfofpfqfrfUkVkWkXkYkZknb%d0k1k2kob3k4k5kpbqb6krbsb7kSgTgUg8kVg=e|eWgXgYgZgsftf0gufvfwf1gxfyfzfAfBf2g3gCfDfEftgugFfGf4g?hHfleJdmeKdLd'd(dneoegc9k5 tb1b2b5g!k6gub; = 7ghcicjckclc#k$kMd3b4b%k'kN u (k6 7 )k*k+k,k-k8g5bv 6bmc7b)d%cNd.k/k'cX 9gvb*d(cIf`e]dad:kbd)c;kUeJf8b? pel m n o p q r Od=kwb+d!gKfqencLfH oc5eMf?kI t @k#g@h$gO 3e%gZh'gcdpcqcrcPdVe*eQdRdSdresctcucTdWeXeYe+ergZe0e1e,exbyb9b@ vcwc[ ^d[k]k^k_k`k{k|k}k~kalblcldlelflglhliljlklllUdmlnlolplVdWdqlrlsltlul(gUhzbvlY *cAb+cBbwlxlylzlAl)g,c-cxcycCb!bDbEbFbGbzc8 9 ! ] AcNf^ _ BlOfPfQfClDlElFlGlHlIl*gVh]eJlRfSfTf+g,g-gBc.gKl/gLl#b$bHb.cogMlZ P Q Nl:g;g=g?g,d@gUfVfWfXfYfZfOlPlQlRlSlTlIb-dUlVlWlJbXlYlZlKbLb0lMbNb1l[g]g^g2l_g?e}e`g{g|g}g0f1f~g2f3f4fah5f6f7f8f9fbhch!f#f$fvgwg%f'fdh[h(fseXdteYdZd.d/dueveCc3l# Ob%b'beh4lfhPb` { ghDcEcFcGcHc5l6l0d(b)b7l8lR w 9l$ % !l#l$l%l'lhh*bx +bIc,b:d1d_d(l)l2d| ihJcwe3d)f{eDe;d*l=d4d+l6e*f/c-bFey z A B C D E `d,lKcxejh+fGedd,f0 ed.e-f-l1 J .lkh]hlh' -emh0hnh?dfdgdhd{d7e/e|d}d~dHeidjdkdae8e9e!e:esg#e$e%e;eLcMc:c.bldmd/bEe/l:l;l=l?l@l[l]l^l_l`l{l|l}l~lambmcmdmemfmbegmhmimjmcedekmlmmmnmomohWhNcpm} 5dOc6dPcqmrmsmtmumph7d8dndodQc;cRcScTcUcpdQbRbSb:bqd.f;b=bvm/f:f;fwmxmymzmAmBmCmqhXh^eDm=f?f@frhshthrduhEmvhFm=c?cVc9dpgGm~ ( ) HmwhxhyhzhyeAh[f]f^f_f`f{fImJmKmLmMmNmWczeOmPmQmXcRmSmTmYcZcUm0c1cVmBhChDhWmEh@e~eFhGhHhIh|f}fJh~fagbgKhcgdgegfgggLhMhhgigjgxgygkglgNh^hmgIeeeJefegeAeBeKeLesdXmTb2c@c[cOhYmPh3c?b@bQhtdudvdwdxdZm0mhe]c^c1m2m* S 3mUbVb4m5m6m7m8mRh_cT `cyd{cCe
430def _regenerate_error_with_loc( 1abcd
431 *, errors: Sequence[Any], loc_prefix: tuple[str | int, ...]
432) -> list[dict[str, Any]]:
433 updated_loc_errors: list[Any] = [ 2SQ2n3n7h9m1t-p]n^n/pTQUQ3t9t!t#t$t%t't(t)t*t+t,t-t.t/t:t;t=t?t@t[t]t^t_t`t{t|t}t~taubucudueufuhuiujukulu8h{h[B]B^B3r4r5r6r7r$o8r9r!r#r$r%r'r%o(r)r*r+r,r-r.r'o/r:r;r=r9h?r!h1h@r#h[r]r$h^r%h2h_r'h`r{r|r}r~r(oasbscsdsesfsgs)ohsisjskslsmsns*oospsqsrssstsus+ovswsVQWQXQYQZQ0Q_n`n{n1Qxu2Q3Q4Q5Q6Q7Q8Q@p|n[p=o]p^p_p}n`p{p|p}p~paqbqcqdqeqfqgq9Q!Q#Q$Q%Q'Q[o]o^o(Q)Qhq1u*Q2u_o`o{o|o}o#u$u~njqkqlqmqnqoqpqqqrqsq~o+uapao=u?u@u[u^u_u`u{u|u}uZCbvcvdvevfvgvhvivjvkvboBvCv+Q,Q-Q.Q/Q:Q;QDv=Q?QEvFv@Q4n5n(h!mLvMqcodoOq[Q]QNvTvUvVvWvXvYvZv0v1v2v3v4v5v6v7v8v9v!v#v$v%v'v(v)v*v+v,v-v.v/v:v;v=v?v[v]v^v_v`v)hbi0C1C2CxsyszsAsBsfpCsDsEsFsGsHsIsgpJsKsLsMsNsOsPshpQsRsSsTs*hUs+h3hVs,hWsXs-hYs.h4hZs/h0s1s2s3s4sip5s6s7s8s9s!s#sjp$s%s's(s)s*s+skp,s-s.s/s:s;s=slp?s@s^Q_Q`Q{Q|Q}Qeofogo~QhwaRbRcRdReRfRgRTqhoUqspVqWqXqioYqZq0q1q2q3q4q5q6q7q8q9qhRiRjRkRlRmRvpwpxpnRoR!qLwpRMwypzpApBpCpVwWwjo$q%q'q(q)q*q+q,q-q.qDp2wEpko9w!w#w$w'w(w)w*w+w,wxD/w:w;w=w?w@w[w]w^w_wlolxmxqRrRsRtRuRvRwRnxxRyRoxpxzR6n7nhi#mvxermonogrARBRxxDxExFxGxHxIxJxKxLxMxNxOxPxQxRxSxTxUxVxWxXxYxZx0x1x2x3x4x5x6x7x8x9x!x$x%x'x(x)xiiJiyDzDAD[s]s^s_s`sJp{s|s}s~satbtctKpdtetftgthtitjtLpktltmtntjiotki:hptliqtrtmistni;httoiutvtwtxtytMpztAtBtCtDtEtFtNpGtHtItJtKtLtMtOpNtOtPtQtRtStTtPpUtVtCRDRERFRGRHRoopoqoIR[xJRKRLRMRNRORPRlrromrWpnrorprsoqrrrsrtrurvrwrxryrzrArBrQRRRSRTRURVRZp0p1pWRXRCrvyYRwy2p3p4p5p6pFyGytoErFrGrHrIrJrKrLrMrNr7pMy8puoTyUyVyWyYyZy0y1y2y3y`D6y7y8y9y!y#y$y%y'y(yvo`y{yZR0R1R2R3R4R5R|y6R7R}y~y
434 {**err, "loc": loc_prefix + err.get("loc", ())} for err in errors
435 ]
437 return updated_loc_errors 2SQ2n3n7h9m1t-p]n^n/pTQUQ3t9t!t#t$t%t't(t)t*t+t,t-t.t/t:t;t=t?t@t[t]t^t_t`t{t|t}t~taubucudueufuhuiujukulu8h{h[B]B^B3r4r5r6r7r$o8r9r!r#r$r%r'r%o(r)r*r+r,r-r.r'o/r:r;r=r9h?r!h1h@r#h[r]r$h^r%h2h_r'h`r{r|r}r~r(oasbscsdsesfsgs)ohsisjskslsmsns*oospsqsrssstsus+ovswsVQWQXQYQZQ0Q_n`n{n1Qxu2Q3Q4Q5Q6Q7Q8Q@p|n[p=o]p^p_p}n`p{p|p}p~paqbqcqdqeqfqgq9Q!Q#Q$Q%Q'Q[o]o^o(Q)Qhq1u*Q2u_o`o{o|o}o#u$u~njqkqlqmqnqoqpqqqrqsq~o+uapao=u?u@u[u^u_u`u{u|u}uZCbvcvdvevfvgvhvivjvkvboBvCv+Q,Q-Q.Q/Q:Q;QDv=Q?QEvFv@Q4n5n(h!mLvMqcodoOq[Q]QNvTvUvVvWvXvYvZv0v1v2v3v4v5v6v7v8v9v!v#v$v%v'v(v)v*v+v,v-v.v/v:v;v=v?v[v]v^v_v`v)hbi0C1C2CxsyszsAsBsfpCsDsEsFsGsHsIsgpJsKsLsMsNsOsPshpQsRsSsTs*hUs+h3hVs,hWsXs-hYs.h4hZs/h0s1s2s3s4sip5s6s7s8s9s!s#sjp$s%s's(s)s*s+skp,s-s.s/s:s;s=slp?s@s^Q_Q`Q{Q|Q}Qeofogo~QhwaRbRcRdReRfRgRTqhoUqspVqWqXqioYqZq0q1q2q3q4q5q6q7q8q9qhRiRjRkRlRmRvpwpxpnRoR!qLwpRMwypzpApBpCpVwWwjo$q%q'q(q)q*q+q,q-q.qDp2wEpko9w!w#w$w'w(w)w*w+w,wxD/w:w;w=w?w@w[w]w^w_wlolxmxqRrRsRtRuRvRwRnxxRyRoxpxzR6n7nhi#mvxermonogrARBRxxDxExFxGxHxIxJxKxLxMxNxOxPxQxRxSxTxUxVxWxXxYxZx0x1x2x3x4x5x6x7x8x9x!x$x%x'x(x)xiiJiyDzDAD[s]s^s_s`sJp{s|s}s~satbtctKpdtetftgthtitjtLpktltmtntjiotki:hptliqtrtmistni;httoiutvtwtxtytMpztAtBtCtDtEtFtNpGtHtItJtKtLtMtOpNtOtPtQtRtStTtPpUtVtCRDRERFRGRHRoopoqoIR[xJRKRLRMRNRORPRlrromrWpnrorprsoqrrrsrtrurvrwrxryrzrArBrQRRRSRTRURVRZp0p1pWRXRCrvyYRwy2p3p4p5p6pFyGytoErFrGrHrIrJrKrLrMrNr7pMy8puoTyUyVyWyYyZy0y1y2y3y`D6y7y8y9y!y#y$y%y'y(yvo`y{yZR0R1R2R3R4R5R|y6R7R}y~y