Ë
    S>{i9 ã                  ó8  — U d Z ddlmZ ddlZddlZddlZddlZddl	Z	ddl
Z
ddlZddlZddlZddlZddlmZmZmZmZ ddlmZ ddlmZ ddlmZ ddlmZ dd	lmZ dd
lmZ ddlmZmZm Z  ddl!m"Z"m#Z#m$Z$m%Z%m&Z&m'Z' ddl(m)Z) ddl*m+Z+ ddl,m-Z-m.Z.m/Z/m0Z0 ddlm1Z1m2Z2m3Z3m4Z4m5Z5m6Z6m7Z7m8Z8m9Z9m:Z: ddl;m<Z< ddl=m>Z> ddl?Z?ddl@mAZAmBZBmCZCmDZDmEZEmFZFmGZGmHZHmIZI ddl?mJZJmKZKmLZLmMZMmNZN ddlOmPZP ddlQmRZRmSZSmTZT ddlUmVZVmWZW ddlXmYZYmZZZ ddl[m\Z\m]Z]m^Z^m_Z_ ddl`maZambZbmcZc ddldmeZemfZfmgZgmhZhmiZi ddljmkZk ddllmmZm ddlmnZnmoZompZpmqZq d d!lrmsZsmtZtmuZumvZvmwZw d d"lxmyZymzZz d d#l{m|Z|m}Z} d d$l~mZm€Z€m�Z� d d%lsm‚Z‚mƒZƒm„Z„m…Z…m†Z†m‡Z‡mˆZˆm‰Z‰mŠZŠm‹Z‹mŒZŒm�Z� d d&lŽm�Z� d d'l�m‘Z‘m’Z’m“Z“m”Z”m•Z• d d(l–m—Z— d d)l˜m™Z™mšZš d d*l›mœZœm�Z� d d+lžmŸZŸ d d,l m¡Z¡m¢Z¢ d d-l£m¤Z¤m¥Z¥ d d.l¦m§Z§ d d/l¨m©Z©mªZª e1r dd0l«m¬Z¬m­Z­ dd1l®m¯Z¯ dd2l,m°Z° d d3l±m²Z² d d4l¦m³Z³ e�jh                  d5k\  Zµe8e‰e…e„f   Z¶ e7d6e¶¬7«      Z·e8e‚e‰   e‚e…   e‚e„   f   Z¸eYZ¹d8eºd9<   e3e2e¹geHj„                  f   Z»d8eºd:<   d;Z¼d8eºd<<   e�jz                  e¾gZ¿d=eºd><   e�j€                  eÁe�j„                  �j†                  gZÄd=eºd?<   e�jŠ                  eÆe�j„                  �jŽ                  gZÈd=eºd@<   e�j’                  eÊe�j„                  �jŠ                  gZËd=eºdA<   e�j˜                  eÍgZÎd=eºdB<   e"e#e$e%e&e'gZÏd=eºdC<   e�j                   e�j„                  �j                   gZÑd=eºdD<   ej                   e�j„                  j                   ej                  e�j„                  j                  gZÒd=eºdE<   e�j¦                  eÔgZÕd=eºdF<   e�j¬                  e�j¬                  gZ×d=eºdG<   e	�j°                  e
�j²                  e
�j´                  e
�j¶                  e
�j¸                  e
�jº                  gZÞd=eºdH<   ej$                  e�j¾                  e�j„                  j$                  e�j„                  �j¾                  e�jÀ                  e?�jÀ                  e�jÂ                  e�jÄ                  gZãe�jÈ                  e�jÈ                  gZåe�jÌ                  e�jÎ                  gZèd=eºdI<   e8e/e-e0ef   Zé eLeé«      ZêdJdKdLdMeFfdNdOdPdQdRdSdTdUdVgZëdWeºdX<   	 efeeeheidYœZìdZeºd[<   	 	 	 	 	 	 dd\„Zíd€d]„Zî	 	 	 	 	 	 d�d^„Zï	 	 	 	 	 	 d‚d_„Zð	 	 	 	 dƒd`„ZñeÍeÔe2   e^f   Zò	 	 	 	 	 	 	 	 d„da„Zó G db„ dceô«      Zõ G dd„ de«      Zödf„ dg„ dh„ di„ dj„ dk„ dl„ dm„ dnœZ÷doeºdp<   	 	 	 	 	 	 d…dq„Zød†dr„Zù	 	 	 	 d‡ds„Zú	 	 	 	 	 	 	 	 dˆdt„Zûd‰du„ZüdŠdv„Zýd‹dx„Zþ	 	 	 	 dŒdy„Zÿ G dz„ dw«      �Z  G d{„ d|«      �Z G d}„ d~«      �Zy)�z-Convert python types to pydantic-core schema.é    )ÚannotationsN)Ú	GeneratorÚIterableÚIteratorÚMapping)Úcontextmanager)Úcopy)ÚDecimal)ÚEnum)ÚFraction)Úpartial)Ú	ParameterÚ_ParameterKindÚ	signature)ÚIPv4AddressÚIPv4InterfaceÚIPv4NetworkÚIPv6AddressÚIPv6InterfaceÚIPv6Network)Úchain)Ú
attrgetter)ÚFunctionTypeÚGenericAliasÚ
LambdaTypeÚ
MethodType)
ÚTYPE_CHECKINGÚAnyÚCallableÚFinalÚ
ForwardRefÚLiteralÚTypeVarÚUnionÚcastÚoverload)ÚUUID)ÚZoneInfo)	ÚMISSINGÚ
CoreSchemaÚMultiHostUrlÚPydanticCustomErrorÚ$PydanticSerializationUnexpectedValueÚPydanticUndefinedÚUrlÚcore_schemaÚto_jsonable_python)Ú	TypeAliasÚTypeAliasTypeÚget_argsÚ
get_originÚis_typeddict)Útyping_objects)ÚAnnotationSourceÚget_literal_valuesÚis_union_originé   )ÚAliasChoicesÚ	AliasPath)ÚGetCoreSchemaHandlerÚGetJsonSchemaHandler)Ú
ConfigDictÚJsonDictÚJsonEncoderÚJsonSchemaExtraCallable)ÚPydanticSchemaGenerationErrorÚPydanticUndefinedAnnotationÚPydanticUserError)ÚAfterValidatorÚBeforeValidatorÚFieldValidatorModesÚPlainValidatorÚWrapValidator)ÚJsonSchemaValue)Úversion_short)ÚArbitraryTypeWarningÚPydanticDeprecatedSince20ÚTypedDictExtraConfigWarningÚ UnsupportedFieldAttributeWarningé   )Ú_decoratorsÚ_discriminated_unionÚ_known_annotated_metadataÚ_reprÚ_typing_extra)ÚConfigWrapperÚConfigWrapperStack)ÚCoreMetadataÚupdate_core_metadata)Úget_refÚget_type_refÚ%is_list_like_schema_with_items_schema)Ú	DecoratorÚDecoratorInfosÚFieldSerializerDecoratorInfoÚFieldValidatorDecoratorInfoÚModelSerializerDecoratorInfoÚModelValidatorDecoratorInfoÚRootValidatorDecoratorInfoÚValidatorDecoratorInfoÚget_attribute_from_basesÚinspect_field_serializerÚinspect_model_serializerÚinspect_validator)Úextract_docstrings_from_cls)Úcollect_dataclass_fieldsÚrebuild_dataclass_fieldsÚrebuild_model_fieldsÚtakes_validated_data_argumentÚupdate_field_from_config)ÚPydanticRecursiveRef)Úget_standard_typevars_mapÚreplace_types)Úimport_cached_base_modelÚimport_cached_field_info)ÚMockCoreSchema)ÚNamespacesTupleÚ
NsResolver)ÚMissingDefinitionErrorÚgather_schemas_for_cleaning)ÚCallbackGetCoreSchemaHandler)Úlenient_issubclassÚsmart_deepcopy)ÚComputedFieldInfoÚ	FieldInfo©Ú	BaseModel)ÚDiscriminator)ÚStandardDataclass)ÚGetJsonSchemaFunction)é   é   ÚFieldDecoratorInfoType)Úboundr2   ÚModifyCoreSchemaWrapHandlerÚGetCoreSchemaFunctionz1Callable[[int, str, Any], Literal['skip'] | None]ÚParametersCallbackz
list[type]ÚTUPLE_TYPESÚ
LIST_TYPESÚ	SET_TYPESÚFROZEN_SET_TYPESÚ
DICT_TYPESÚIP_TYPESÚSEQUENCE_TYPESÚITERABLE_TYPESÚ
TYPE_TYPESÚPATTERN_TYPESÚ
PATH_TYPESÚDEQUE_TYPES)ÚaliasN)Úvalidation_aliasN)Úserialization_aliasNÚdefault)Údefault_factoryN)ÚexcludeN)Ú
deprecatedN)ÚreprT)Úvalidate_defaultN)ÚfrozenN)ÚinitN)Úinit_varN)Úkw_onlyNúlist[tuple[str, Any]]Ú+UNSUPPORTED_STANDALONE_FIELDINFO_ATTRIBUTES)ÚbeforeÚafterÚplainÚwrapzbdict[FieldValidatorModes, type[BeforeValidator | AfterValidator | PlainValidator | WrapValidator]]Ú_mode_to_validatorc                ó.   — | j                   }d|v xs ||v S )z×Check if field name is in validator fields.

    Args:
        info: The field info.
        field: The field name to check.

    Returns:
        `True` if field name is in validator fields, `False` otherwise.
    Ú*)Úfields)ÚinfoÚfieldr®   s      úa/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/pydantic/_internal/_generate_schema.pyÚ)check_validator_fields_against_field_namer²   Ä   s    € ð �[‰[€FØ�&ˆ=Ò+˜E V˜OÐ+ó    c           	     ó  — t        |«      }| D ]{  }d|j                  j                  v rŒ|j                  j                  du rŒ5|j                  j                  D ].  }||vsŒt	        d|j
                  › d|j                  › d�d¬«      ‚ Œ} y)	av  Check if the defined fields in decorators exist in `fields` param.

    It ignores the check for a decorator if the decorator has `*` as field or `check_fields=False`.

    Args:
        decorators: An iterable of decorators.
        fields: An iterable of fields name.

    Raises:
        PydanticUserError: If one of the field names does not exist in `fields` param.
    r­   Fz*Decorators defined with incorrect fields: ú.zO (use check_fields=False if you're inheriting from the model and intended this)zdecorator-missing-field©ÚcodeN)Úsetr¯   r®   Úcheck_fieldsrF   Úcls_refÚcls_var_name)Ú
decoratorsr®   Údecr°   s       r±   Úcheck_decorator_fields_existr¾   Õ   s”   € ô �‹[€FØò ˆØ�#—(‘(—/‘/Ñ!ØØ�8‰8× Ñ  EÑ)ØØ—X‘X—_‘_ò 	ˆEØ˜FÒ"Ü'Ø@ÀÇÁÀÈQÈs×O_ÑO_ÐN`Øeðfà2ôð ñ	ñr³   c                óZ   — | D �cg c]  }t        |j                  |«      sŒ|‘Œ c}S c c}w ©N)r²   r¯   )Úvalidator_functionsr°   r½   s      r±   Ú$filter_field_decorator_info_by_fieldrÂ   ð   s*   € ð /Öm�CÔ2[Ð\_×\dÑ\dÐfkÕ2lŠCÒmÐmùÒms   …(¡(c                óÈ  — |s| S | d   dk(  rt        | d   |«      | d<   | S | d   dk(  r-| j                  d«      x}�t        | d   |   |«      | d   |<   | S t        | «      r5| j                  dt	        j
                  «       «      }t        ||«      | d<   | S | d   dk(  r5| j                  dt	        j
                  «       «      }t        ||«      | d<   | S t        d	| d   › �«      ‚)
NÚtypeÚnullableÚschemaÚtupleÚvariadic_item_indexÚitems_schemaÚdictÚvalues_schemazO`@validator(..., each_item=True)` cannot be applied to fields with a schema of )Úapply_each_item_validatorsÚgetÚapply_validatorsr^   r0   Ú
any_schemaÚ	TypeError)rÆ   Úeach_item_validatorsrÈ   Úinner_schemas       r±   rÌ   rÌ   ö   s"  € ñ  Øˆð
 ˆf�~˜Ò#Ü5°f¸XÑ6FÐH\Ó]ˆˆxÑØˆØ	�‰˜7Ò	"Ø#)§:¡:Ð.CÓ#DÐDÐÐQÜ:JØ�~Ñ&Ð':Ñ;Ø$ó;ˆF�>Ñ"Ð#6Ñ7ð €Mô 
/¨vÔ	6Ø—z‘z .´+×2HÑ2HÓ2JÓKˆÜ!1°,Ð@TÓ!Uˆˆ~Ñð €Mð 
�‰˜6Ò	!Ø—z‘z /´;×3IÑ3IÓ3KÓLˆÜ"2°<ÐAUÓ"VˆˆÑð
 €Mô Ø]Ð^dÐekÑ^lÐ]mÐnó
ð 	
r³   c                ó*  — | j                   | j                  t        | j                  «      xs | j                  dk(  xs d t	        | j
                  «      dœ}|j                  «       D ��ci c]  \  }}|€Œ	||“Œ }}}|xs d | j                  fS c c}}w )NÚ )ÚtitleÚdescriptionrž   Úexamples)rÕ   rÖ   Úboolrž   r1   r×   ÚitemsÚjson_schema_extra)r¯   Újson_schema_updatesÚkÚvs       r±   Ú)_extract_json_schema_info_from_field_inforÞ     s�   € ð —‘Ø×'Ñ'Ü˜4Ÿ?™?Ó+ÒL¨t¯©À"Ñ/DÒLÈÜ& t§}¡}Ó5ñ	Ðð -@×,EÑ,EÓ,G×Y¡D A qÈ1É=˜1˜a™4ÐYÐÑYØÒ' 4¨×)?Ñ)?Ð@Ð@ùó Zs   Á*
BÁ5Bc                ó"  — | s|S d|v r|S |gt        |d|j                  j                  «      dd ¢­D ]Y  }| j                  |«      }|€Œt	        j
                  dt        «       › d�t        «       t        j                  |d¬«      |d<   |c S  |S )	a  Iterate over the json_encoders and add the first matching encoder to the schema.

    Args:
        json_encoders: A dictionary of types and their encoder functions.
        tp: The type to check for a matching encoder.
        schema: The schema to add the encoder to.
    ÚserializationÚ__mro__Néÿÿÿÿz=`json_encoders` is deprecated. See https://docs.pydantic.dev/z</concepts/serialization/#custom-serializers for alternativesÚjson©Ú	when_used)
ÚgetattrÚ	__class__rá   rÍ   ÚwarningsÚwarnrM   rO   r0   Ú$plain_serializer_function_ser_schema)Újson_encodersÚtprÆ   ÚbaseÚencoders        r±   Ú,_add_custom_serialization_from_json_encodersrï   )  s±   € ñ ØˆØ˜&Ñ Øˆð ÐH”g˜b )¨R¯\©\×-AÑ-AÓBÀ3ÀBÐGÑHò ˆØ×#Ñ# DÓ)ˆØˆ?Øä�‰ØKÌMËOÐK\ð  ]Yð  ZÜ%ô	
ô #.×"RÑ"RÐSZÐflÔ"mˆˆÑØŠðð €Mr³   c                  ó   — e Zd ZdZy)ÚInvalidSchemaErrorzThe core schema is invalid.N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__© r³   r±   rñ   rñ   K  s   „ Ú%r³   rñ   c                  óÔ  ‡ — e Zd ZdZdZ	 	 dJ	 	 	 	 	 	 	 dKd„ZdLˆ fd„ZedMd„«       ZedNd„«       Z	edOd„«       Z
dPd	„ZdQd
„ZdPd„ZdPd„ZdRd„ZdSd„ZdTd„ZdPd„ZdUd„ZdVd„ZdSd„ZdWd„Z	 	 	 	 	 	 dXd„ZdYd„ZdZd„Z	 	 	 	 d[d„Zd\d„Zd]d„Zd^d„Zd]d„Zed_d„«       Z ed`d„«       Z dadbd„Z d]d „Z!dcd!„Z"d[d"„Z#d[d#„Z$ddd$„Z%d%d&œ	 	 	 	 	 	 	 	 	 ded'„Z&	 	 	 	 	 	 	 	 dfd(„Z'	 	 	 	 	 	 	 	 dgd)„Z(	 	 	 	 	 	 	 	 dhd*„Z)did+„Z*djd,„Z+dkd-„Z,dld.„Z-dmd/„Z.e/j`                  df	 	 	 	 	 	 	 	 	 	 	 dnd0„Z1e/j`                  f	 	 	 	 	 	 	 	 	 	 	 dod1„Z2dpd2„Z3dqd3„Z4dqd4„Z5did5„Z6drd6„Z7dsd7„Z8dtd8„Z9dud9„Z:dqd:„Z;	 	 	 	 	 	 dvd;„Z<dwd<„Z=	 dx	 	 	 	 	 dyd=„Z>	 dx	 	 	 	 	 dzd>„Z?d{d?„Z@	 	 	 	 	 	 d|d@„ZAd}dA„ZBdB„ d%f	 	 	 	 	 	 	 	 	 d~dC„ZC	 d	 	 	 	 	 	 	 d€dD„ZD	 	 	 	 	 	 d�dE„ZEd‚dF„ZF	 da	 	 	 	 	 	 	 	 	 dƒdG„ZG	 	 	 	 	 	 d„dH„ZH	 	 	 	 	 	 d…dI„ZIˆ xZJS )†ÚGenerateSchemaz\Generate core schema for a Pydantic model, dataclass and types like `str`, `datetime`, ... .)Ú_config_wrapper_stackÚ_ns_resolverÚ_typevars_mapÚfield_name_stackÚmodel_type_stackÚdefsNc                ó²   — t        |«      | _        |xs
 t        «       | _        || _        t        «       | _        t        «       | _        t        «       | _
        y rÀ   )rY   rù   rx   rú   rû   Ú_FieldNameStackrü   Ú_ModelTypeStackrý   Ú_Definitionsrþ   )ÚselfÚconfig_wrapperÚns_resolverÚtypevars_maps       r±   Ú__init__zGenerateSchema.__init__[  sG   € ô &8¸Ó%GˆÔ"Ø'Ò7¬:«<ˆÔØ)ˆÔÜ /Ó 1ˆÔÜ /Ó 1ˆÔÜ “Nˆ�	r³   c                óZ   •— t         ‰| �  «        t        j                  dt        d¬«       y )NzeSubclassing `GenerateSchema` is not supported. The API is highly subject to change in minor versions.r;   )Ú
stacklevel)ÚsuperÚ__init_subclass__rè   ré   ÚUserWarning)Úclsrç   s    €r±   r  z GenerateSchema.__init_subclass__i  s#   ø€ Ü‰Ñ!Ô#Ü�‰ØsÜØö	
r³   c                ó.   — | j                   j                  S rÀ   )rù   Útail©r  s    r±   Ú_config_wrapperzGenerateSchema._config_wrapperq  s   € à×)Ñ)×.Ñ.Ð.r³   c                ó.   — | j                   j                  S rÀ   )rú   Útypes_namespacer  s    r±   Ú_types_namespacezGenerateSchema._types_namespaceu  s   € à× Ñ ×0Ñ0Ð0r³   c                ó.   — | j                   j                  S rÀ   )r  Úarbitrary_types_allowedr  s    r±   Ú_arbitrary_typeszGenerateSchema._arbitrary_typesy  s   € à×#Ñ#×;Ñ;Ð;r³   c                óJ   — t        j                  | j                  |«      «      S rÀ   )r0   Úlist_schemaÚgenerate_schema©r  Ú
items_types     r±   Ú_list_schemazGenerateSchema._list_schema  s   € Ü×&Ñ& t×';Ñ';¸JÓ'GÓHÐHr³   c                ój   — t        j                  | j                  |«      | j                  |«      «      S rÀ   )r0   Údict_schemar  )r  Ú	keys_typeÚvalues_types      r±   Ú_dict_schemazGenerateSchema._dict_schema‚  s,   € Ü×&Ñ& t×';Ñ';¸IÓ'FÈ×H\ÑH\Ð]hÓHiÓjÐjr³   c                óJ   — t        j                  | j                  |«      «      S rÀ   )r0   Ú
set_schemar  r  s     r±   Ú_set_schemazGenerateSchema._set_schema…  s   € Ü×%Ñ% d×&:Ñ&:¸:Ó&FÓGÐGr³   c                óJ   — t        j                  | j                  |«      «      S rÀ   )r0   Úfrozenset_schemar  r  s     r±   Ú_frozenset_schemaz GenerateSchema._frozenset_schemaˆ  s   € Ü×+Ñ+¨D×,@Ñ,@ÀÓ,LÓMÐMr³   c           	     óì  ‡‡
‡‡‡— t        ‰j                  j                  «       «      Š
t        ‰«      Š‰j                  sd nt        j                  ‰j                  «      }|dk(  rd }‰j                  |dœŠ‰j                  «       D ��ci c]  \  }}|€Œ	||“Œ c}}Šd Št        ‰t        «      rdŠt        j                  d«      }nft        ‰t        «      rdŠt        j                  d«      }n>t        ‰t        «      rdŠt        j                  d«      }nt        j                  d„ «      }‰
rœdˆfd„}t!        ‰j"                  dd «      t$        j"                  j&                  u }t        j(                  ‰‰
‰|rd n‰j"                  ‰d	|gi¬
«      }| j*                  j,                  r!t        j.                  t1        d«      ||¬«      }|S dˆ
ˆˆˆˆfd„}	t        j2                  ‰d	|	gi¬«      S c c}}w )NzAn enumeration.)rÕ   rÖ   ÚintÚstrÚfloatc                ó   — | S rÀ   rö   ©Úxs    r±   ú<lambda>z-GenerateSchema._enum_schema.<locals>.<lambda>¤  s   € ÐXY€ r³   c                ó\   •—  || «      }|j                  |«      }|j                  ‰«       |S rÀ   )Úresolve_ref_schemaÚupdate)rÆ   ÚhandlerÚjson_schemaÚoriginal_schemaÚ
js_updatess       €r±   Úget_json_schemaz4GenerateSchema._enum_schema.<locals>.get_json_schema¨  s0   ø€ Ù% f›o�Ø")×"<Ñ"<¸[Ó"I�Ø×&Ñ& zÔ2Ø"Ð"r³   Ú__func__Úpydantic_js_functions)Úsub_typeÚmissingÚrefÚmetadataÚvalue)rà   c                óŠ   •—  |t        j                  ‰‰‰‰¬«      «      }|j                  |«      }|j                  ‰«       |S )N)r;  r=  )r0   Úenum_schemar2  r3  )	Ú_r4  r5  r6  ÚcasesÚenum_refÚ	enum_typer7  r;  s	       €€€€€r±   Úget_json_schema_no_casesz=GenerateSchema._enum_schema.<locals>.get_json_schema_no_casesÂ  sD   ø€ Ù%¤k×&=Ñ&=¸iÈÐYaÐgoÔ&pÓq�Ø")×"<Ñ"<¸[Ó"I�Ø×&Ñ& zÔ2Ø"Ð"r³   ©r>  )rÆ   r*   r4  r?   ÚreturnrL   )r4  r?   rH  rL   )ÚlistÚ__members__Úvaluesr]   rõ   ÚinspectÚcleandocrò   rÙ   Ú
issubclassr*  r0   Úsimple_ser_schemar+  r,  rê   ræ   Ú	_missing_r   r9  rA  r  Úuse_enum_valuesÚ no_info_after_validator_functionr   Úis_instance_schema)r  rE  rÖ   rÜ   rÝ   Úvalue_ser_typer8  Údefault_missingrA  rF  rC  rD  r7  r;  s    `        @@@@r±   Ú_enum_schemazGenerateSchema._enum_schema‹  sÌ  ü€ Ü 	× 5Ñ 5× <Ñ <Ó >Ó?ˆä 	Ó*ˆØ"+×"3Ò"3‘d¼×9IÑ9IÈ)×J[ÑJ[Ó9\ˆàÐ,Ò,àˆKØ(×1Ñ1À+ÑNˆ
Ø'1×'7Ñ'7Ó'9×K™t˜q !¸Q¹]�a˜‘dÓKˆ
à:>ˆÜ�i¤Ô%ØˆHÜ4?×4QÑ4QÐRWÓ4X‰NÜ˜	¤3Ô'àˆHÜ(×:Ñ:¸5ÓA‰NÜ˜	¤5Ô)ØˆHÜ(×:Ñ:¸7ÓC‰Nô )×MÑMÉkÓZˆNáõ#ô & i×&9Ñ&9¸:ÀtÓLÔPT×P^ÑP^×PgÑPgÐgˆOÜ%×1Ñ1ØØØ!Ù /™°Y×5HÑ5HØØ1°OÐ3DÐEôˆKð ×#Ñ#×3Ò3Ü)×JÑJÜ˜wÓ'¨ÀNô�ð Ð÷#ñ #ô ×1Ñ1ØØ1Ð4LÐ3MÐNôð ùós Ls   Â

G0ÂG0c                ó¢  ‡‡— ddl m}m} t        dt        dt
        dt        dt        dt        diŠdˆfd	„}t        j                  t        j                  |‰   «      t        j                  t        j                  ‰t        j                  «       «      t        j                  ‰«      ¬
«      t        j                   |dd¬«      dˆˆfd„gi¬«      S )NrR   )ÚIP_VALIDATOR_LOOKUPÚIpTypeÚipv4Úipv4networkÚipv4interfaceÚipv6Úipv6networkÚipv6interfacec           	     óœ   •— t        | ‰t        f«      st        d‰› dt        | «      › d| › d�«      ‚|j                  dk(  r| S t        | «      S ©Nz
Expected `z` but got `z` with value `'z-'` - serialized value may not be as expected.Úpython©Ú
isinstancer+  r-   rÄ   Úmode)Úipr¯   rì   s     €r±   Úser_ipz)GenerateSchema._ip_schema.<locals>.ser_ipß  sW   ø€ Ü˜b 2¤s )Ô,Ü:Ø    K´°R³¨z¸ÈÈÐLyÐzóð ð �y‰y˜HÒ$Ø�	Ü�r“7ˆNr³   ©r5  Úpython_schemaTÚalways©Úinfo_argrå   r:  c                ó   •— d‰‰   dœS )NÚstring©rÄ   Úformatrö   )Ú_1Ú_2Úip_type_json_schema_formatrì   s     €€r±   r0  z+GenerateSchema._ip_schema.<locals>.<lambda>ð  s   ø€ À(ÐVpÐqsÑVtÑ9u€ r³   ©Ú
lax_schemaÚstrict_schemarà   r>  )rf  r   r¯   úcore_schema.SerializationInforH  zstr | IpType)Ú_validatorsrX  rY  r   r   r   r   r   r   r0   Úlax_or_strict_schemaÚ no_info_plain_validator_functionÚjson_or_python_schemarR  Ú
str_schemarS  rê   )r  rì   rX  rY  rg  rs  s    `   @r±   Ú
_ip_schemazGenerateSchema._ip_schemaÓ  s¶   ù€ ß<ô ˜Ü˜Ü˜?Ü˜Ü˜Ü˜?ð?
Ð"õ	ô ×/Ñ/Ü"×CÑCÐDWÐXZÑD[Ó\Ü%×;Ñ;Ü'×HÑHÈÌ[×McÑMcÓMeÓfÜ)×<Ñ<¸RÓ@ôô &×JÑJÈ6Ð\`ÐltÔuà'Ô*uÐ)vðô

ð 
	
r³   c           	     óú  ‡‡‡	— ‰t         j                  u r0‰t        t        hvr"t	        j
                  ‰«      st        dd¬«      ‚‰t         j                  u rt        j                  n‰Š	‰t        u rt        j                  d¬«      nt        j                  d¬«      }‰t        u rt        j                  «       nt        j                  «       }dˆ	ˆfd„}dˆfd„}t        j                  t        j                  ||«      t        j                  ‰«      ¬«      }t        j                  t        j                   |t        j                  ||«      gd	d
‰› �¬«      |t        j"                  |dd¬«      dd„ gi¬«      }|S )Nz;`os.PathLike` can only be used with `str`, `bytes` or `Any`zschema-for-unknown-typer¶   T©Ústrictc                ó2  •— 	 ‰t         u r.t        | t         «      r	 | j                  «       } n(t	        dd«      ‚t        | t
        «      st	        dd«      ‚ ‰| «      S # t        $ r}t	        dd«      |‚d }~ww xY w# t        $ r}t	        dd«      |‚d }~ww xY w)NÚ
bytes_typezInput must be valid byteszInput must be bytesÚ	path_typezInput is not a valid path)Úbytesrd  ÚdecodeÚUnicodeDecodeErrorr,   r+  rÐ   )Úinput_valueÚeÚpath_constructorrƒ  s     €€r±   Úpath_validatorz3GenerateSchema._path_schema.<locals>.path_validator   s«   ø€ ð[Ø¤Ñ%Ü! +¬uÔ5ðhØ*5×*<Ñ*<Ó*>™Kô 2°,Ð@UÓVÐVÜ# K´Ô5Ü-¨kÐ;VÓWÐWá'¨Ó4Ð4øô  2ò hÜ"5°lÐD_Ó"`ÐfgÐgûðhûô ò [Ü)¨+Ð7RÓSÐYZÐZûð[ús9   ƒA; œA ¬0A; Á	A8Á&A3Á3A8Á8A; Á;	BÂBÂBc           	     óœ   •— t        | ‰t        f«      st        d‰› dt        | «      › d| › d�«      ‚|j                  dk(  r| S t        | «      S ra  rc  )Úpathr¯   rì   s     €r±   Úser_pathz-GenerateSchema._path_schema.<locals>.ser_path  sX   ø€ Ü˜d R¬ IÔ.Ü:Ø    K´°T³
¨|¸?È4È&ÐP}Ð~óð ð �y‰y˜HÒ$Ø�Ü�t“9Ðr³   rh  rƒ  zInput is not a valid path for ©Úcustom_error_typeÚcustom_error_messagerj  rk  r:  c                ó   — i  || «      ¥ddi¥S )Nrp  rŒ  rö   )Úsourcer4  s     r±   r0  z-GenerateSchema._path_schema.<locals>.<lambda>*  s   € ÐHmÉ7ÐSYË?ÐHmÐ\dÐflÑHm€ r³   rt  )r‡  zstr | bytesrH  zos.PathLike[Any])rŒ  r   r¯   rw  rH  zstr | os.PathLike[Any])ÚosÚPathLiker+  r„  r7   Úis_anyrF   ÚpathlibÚPurePathr0   Úbytes_schemar|  r{  rR  rS  ry  Úunion_schemarê   )
r  rì   rƒ  Ústrict_inner_schemaÚlax_inner_schemarŠ  r�  Úinstance_schemarÆ   r‰  s
    ``      @r±   Ú_path_schemazGenerateSchema._path_schemaô  sS  ú€ Ø”—‘Ñ )´C¼°<Ñ"?Ì×H]ÑH]Ð^gÔHhÜ#ØMÐTmôð ð 02´R·[±[Ñ/@œ7×+Ò+ÀbÐà6?Ä5Ñ6HŒK×$Ñ$¨DÕ1Ì{×OeÑOeÐmqÔOrð 	ð ;DÄuÑ:Lœ;×3Ñ3Ô5ÔS^×SiÑSiÓSkÐö	[õ"	ô &×;Ñ;Ü#×DÑDÀ^ÐUeÓfÜ%×8Ñ8¸Ó<ô
ˆô
 ×1Ñ1Ü"×/Ñ/à#Ü×@Ñ@ÀÐQdÓeðð #.Ø'EÀbÀTÐ%Jôð *Ü%×JÑJÈ8Ð^bÐnvÔwØ-Ñ0mÐ/nÐoô
ˆð ˆr³   c           	     ó�  — ddl m} ddlm} | j	                  |«      }t        j                  |d¬«      }t        j                  |t        j                  t        j                  d¬«      ¬«      }t        j                  ||«      }t        j                  |t        j                  ||g«      t        j                  ||d	¬
«      ¬«      S )NrR   ©Úserialize_sequence_via_list)Údeque_validatorFr  ÚDeque©Úcls_reprrh  T©rÆ   rl  ©ru  rv  rà   )Ú_serializersr   rx  r¡  r  r0   r  r{  rS  ÚcollectionsÚdequeÚno_info_wrap_validator_functionry  Úchain_schemaÚ#wrap_serializer_function_ser_schema)r  r  r   r¡  Úitem_type_schemar  Úcheck_instanceru  s           r±   Ú_deque_schemazGenerateSchema._deque_schema.  s¬   € Ý=Ý0à×/Ñ/°
Ó;Ðô "×-Ñ-Ð.>ÀuÔMˆä$×:Ñ:Ø#Ü%×8Ñ8¼×9JÑ9JÐU\Ô]ô
ˆô
 !×@Ñ@ÀÐR]Ó^ˆ
ä×/Ñ/Ø!Ü%×2Ñ2°NÀJÐ3OÓPÜ%×IÑIØ+Ð4DÈtôô
ð 	
r³   c           	     óÞ  — ddl m}m}m} ||   }| j	                  |«      }t        j                  «       5  t        j                  dt        ¬«       | j	                  |«      }	d d d «       t        j                  |	d¬«      }
|t        u r|
}|S t        j                  |
t        j                  |«      ¬«      }|t        j                  u r. ||«      }t!        t        j"                  t!        ||¬«      «      }nt!        t        j$                  |«      } ||
«      }t        j&                  ||g«      }t        j(                  ||t        j*                  d	„ |
d¬
«      ¬«      }|S # 1 sw Y   �ŒxY w)NrR   )ÚMAPPING_ORIGIN_MAPÚdefaultdict_validatorÚ'get_defaultdict_default_default_factoryÚignore©ÚcategoryFr  rh  )Údefault_default_factoryc                ó   —  || «      S rÀ   rö   )rÝ   Úhs     r±   r0  z0GenerateSchema._mapping_schema.<locals>.<lambda>o  s
   € ¡ 1£€ r³   r¥  r¦  )rx  r±  r²  r³  r  rè   Úcatch_warningsÚsimplefilterrQ   r0   r  rÊ   r{  rS  r¨  Údefaultdictr   rª  rR  r«  ry  r¬  )r  rì   r   r!  r±  r²  r³  Úmapped_originÚkeys_schemarË   r  rÆ   r®  r·  Úcoerce_instance_wrapru  rv  s                    r±   Ú_mapping_schemazGenerateSchema._mapping_schemaG  sX  € ßsÑsà*¨2Ñ.ˆØ×*Ñ*¨9Ó5ˆÜ×$Ñ$Ó&ñ 	>ô ×!Ñ! (Ô5UÕVØ ×0Ñ0°Ó=ˆM÷	>ô "×-Ñ-¨k¸=ÐQVÔWˆàœDÑ Ø ˆFð6 ˆô3 )×>Ñ>Ø'Ü)×<Ñ<¸]ÓKôˆNð
 ”[×,Ñ,Ñ,Ù*QÐR]Ó*^Ð'Ü'.Ü×?Ñ?ÜÐ1ÐKbÔcó(Ñ$ô
 (/¬{×/[Ñ/[Ð]jÓ'kÐ$á-¨kÓ:ˆJÜ'×4Ñ4°nÀjÐ5QÓRˆMä ×5Ñ5Ø%Ø+Ü)×MÑMÙ%¨kÀEôôˆFð ˆ÷O	>ñ 	>ús   µ-E"Å"E,c           	     ó  — ddl m} t        j                  t        j                  |«      t        j
                  t        j                  |«      t        j                  t        «      ¬«      t        j                  d¬«      dd„ gi¬«      S )	z7Support for [`fractions.Fraction`][fractions.Fraction].rR   )Úfraction_validatorrh  rj  rä   r:  c                ó   — dddœS )Nrn  Úfractionro  rö   ©rq  rr  s     r±   r0  z1GenerateSchema._fraction_schema.<locals>.<lambda>ƒ  s   € ÈÐ\fÑ?g€ r³   rt  )	rx  rÂ  r0   ry  rz  r{  rS  r   Úto_string_ser_schema)r  rÂ  s     r±   Ú_fraction_schemazGenerateSchema._fraction_schemau  sp   € å3ô ×/Ñ/Ü"×CÑCÐDVÓWÜ%×;Ñ;Ü'×HÑHÐI[Ó\Ü)×<Ñ<¼XÓFôô
 &×:Ñ:ÀXÔNØ-Ñ0gÐ/hÐiô	
ð 		
r³   c                ó®   — t        |t        «      s1t        j                  |›d�t        «       t        j                  «       S t        j                  |«      S )Na   is not a Python type (it may be an instance of an object), Pydantic will allow any object with no validation since we cannot even enforce that the input is an instance of the given type. To get rid of this error wrap the type with `pydantic.SkipValidation`.)rd  rÄ   rè   ré   rN   r0   rÏ   rS  )r  rì   s     r±   Ú_arbitrary_type_schemaz%GenerateSchema._arbitrary_type_schema†  sP   € Ü˜"œdÔ#Ü�M‰MØ�&ð Zð Zô %ôô ×)Ñ)Ó+Ð+Ü×-Ñ-¨bÓ1Ð1r³   c                ó    — t        d|›d�«      ‚)Nú,Unable to generate pydantic-core schema for a¨  . Set `arbitrary_types_allowed=True` in the model_config to ignore this error or implement `__get_pydantic_core_schema__` on your type to fully support it.

If you got this error by calling handler(<some type>) within `__get_pydantic_core_schema__` then you likely need to call `handler.generate_schema(<some type>)` since we do not call `__get_pydantic_core_schema__` on `<some type>` otherwise to avoid infinite recursion.)rD   ©r  Úobjs     r±   Ú_unknown_type_schemaz#GenerateSchema._unknown_type_schema’  s#   € Ü+Ø:¸3¸'ð Bfð fó
ð 	
r³   c                óÄ   — |€|S 	 t        j                  ||| j                  j                  «      S # t         j                  $ r t        j
                  ||«       |cY S w xY wrÀ   )rT   Úapply_discriminatorrþ   Ú_definitionsÚMissingDefinitionForUnionRefÚset_discriminator_in_metadata)r  rÆ   Údiscriminators      r±   Ú_apply_discriminator_to_unionz,GenerateSchema._apply_discriminator_to_union�  sl   € ð Ð ØˆMð	Ü'×;Ñ;ØØØ—	‘	×&Ñ&óð øô
 $×@Ñ@ò 	ä ×>Ñ>ØØôð ŠMð	ús   †*1 ±+AÁAc                ó8   — | j                   j                  |«      S rÀ   )rþ   Úfinalize_schema)r  rÆ   s     r±   Úclean_schemazGenerateSchema.clean_schema°  s   € Ø�y‰y×(Ñ(¨Ó0Ð0r³   c                ó€   — |j                  di «      }|j                  dg «      }||vr|j                  |«       ||d<   y )Nr>  r:  )rÍ   Ú
setdefaultÚappend)r  Úmetadata_schemaÚjs_functionr>  r:  s        r±   Ú_add_js_functionzGenerateSchema._add_js_function³  sK   € Ø"×&Ñ& z°2Ó6ˆØ (× 3Ñ 3Ð4KÈRÓ PÐð
 Ð3Ñ3Ø!×(Ñ(¨Ô5Ø&.ˆ˜
Ò#r³   c                ó   — | j                  ||«      }|€| j                  |«      }t        |«      }|�*t        || j                  «      }|r| j                  ||«       t        | j                  j                  ||«      }|S )aX  Generate core schema.

        Args:
            obj: The object to generate core schema for.

        Returns:
            The generated core schema.

        Raises:
            PydanticUndefinedAnnotation:
                If it is not possible to evaluate forward reference.
            PydanticSchemaGenerationError:
                If it is not possible to generate pydantic-core schema.
            TypeError:
                - If `alias_generator` returns a disallowed type (must be str, AliasPath or AliasChoices).
                - If V1 style validator with `each_item=True` applied on a wrong field.
            PydanticUserError:
                - If `typing.TypedDict` is used instead of `typing_extensions.TypedDict` on Python < 3.12.
                - If `__modify_schema__` method is used instead of `__get_pydantic_json_schema__`.
        )	Ú'_generate_schema_from_get_schema_methodÚ_generate_schema_innerÚ!_extract_get_pydantic_json_schemaÚresolve_original_schemarþ   rÞ  rï   r  rë   )r  rÍ  rÆ   Úmetadata_js_functionrÜ  s        r±   r  zGenerateSchema.generate_schema¾  s�   € ð0 ×=Ñ=¸cÀ3ÓGˆàˆ>Ø×0Ñ0°Ó5ˆFä@ÀÓEÐØÐ+Ü5°f¸d¿i¹iÓHˆOÙØ×%Ñ% oÐ7KÔLä=¸d×>RÑ>R×>`Ñ>`ÐbeÐgmÓnˆàˆr³   c                óÔ  — t        «       }| j                  j                  |«      5 \  }}|�|cddd«       S |j                  j	                  d«      }|�ot        |t        «      s_|d   dk(  r| j                  j                  |«      }t        |«      }|r$| j                  j                  |«      cddd«       S |cddd«       S t        |j                  d¬«      }| j                  j                  |«      5  | j                  j                  |«      5  | j                  j!                  |j"                  ¬«      }|j$                  s||u rt'        |di «      }	ned|j                  vr%t)        |j"                  d	|j"                  ›d
�¬«      ‚	 t+        || j                  | j                  | j,                  xs i ¬«      }	|j2                  }|j4                  }t7        t9        |j:                  j=                  «       |j>                  j=                  «       |j@                  j=                  «       «      h |	jC                  «       £|jC                  «       £«       |jD                  j=                  «       }d}d}|j	                  d«      dk(  �r|jF                  d   |u sJ ‚|jF                  d   tH        u sJ ‚|jF                  dd D ]á  }t'        |di «      j	                  dd«      }|€Œ#t        |tJ        «      r6tM        jN                  tM        jP                  |dd¬«      g| jR                  ¢­Ž }tU        |«      }|tV        vrtY        d«      ‚| j[                  |d¬«      \  }}|tJ        ur| j]                  |«      }t_        j`                  |«      s| j]                  |«      }|€|€Œá n t'        |di «      j	                  d«      }|jb                  rZ| je                  d|	d   |«      \  }}tg        ||d«      }ti        jj                  |||t'        |dd«      dt'        |dd«      ||¬«      }nñti        jl                  |	jo                  «       D ��ci c]  \  }}|| jq                  |||«      “Œ c}}|j=                  «       D �cg c]  }| js                  ||j>                  «      ‘Œ  c}|||j"                  ¬«      }tu        ||jv                  j=                  «       «      }tg        ||d«      }ti        jj                  |||t'        |dd«      dt'        |dd«      ||¬«      }| jy                  ||jz                  j=                  «       «      }tg        ||d«      }| j                  j                  |«      cddd«       cddd«       cddd«       S # t.        $ r}
t)        j0                  |
«      |
‚d}
~
ww xY wc c}}w c c}w # 1 sw Y   nxY wddd«       n# 1 sw Y   nxY wddd«       y# 1 sw Y   yxY w) z%Generate schema for a Pydantic model.NÚ__pydantic_core_schema__rÄ   ÚdefinitionsF)Úcheck©rÕ   Ú__pydantic_fields__zClass z is not defined)ÚnameÚmessage©r  r  r  Úextra_fields_behaviorÚallowr   râ   Ú__annotations__Ú__pydantic_extra__T)Úis_argumentÚis_classzEThe type annotation for `__pydantic_extra__` must be `dict[str, ...]`©ÚrequiredÚ__pydantic_generic_metadata__ÚoriginÚrootÚinnerÚ__pydantic_custom_init__Ú__pydantic_post_init__)Úgeneric_originÚcustom_initÚ
root_modelÚ	post_initÚconfigr=  )Úcomputed_fieldsÚextras_schemaÚextras_keys_schemaÚ
model_nameÚouter)>rt   rþ   Úget_schema_or_refÚ__dict__rÍ   rd  rv   Úunpack_definitionsr\   Ú"create_definition_reference_schemarX   Úmodel_configrù   Úpushrú   r  Úcore_configrò   Ú__pydantic_fields_complete__ræ   rE   rn   rû   Ú	NameErrorÚfrom_name_errorÚ__pydantic_decorators__r  r¾   r   Úfield_validatorsrK  Úfield_serializersÚ
validatorsÚkeysÚmodel_validatorsrá   Úobjectr+  rW   Úeval_type_backportÚ_make_forward_refr  r5   r�   rD   Ú _get_args_resolving_forward_refsr  r7   r•  Ú__pydantic_root_model__Ú_common_field_schemaÚapply_model_validatorsr0   Úmodel_schemaÚmodel_fields_schemarÙ   Ú_generate_md_field_schemaÚ_computed_field_schemarÎ   Úroot_validatorsÚ_apply_model_serializersÚmodel_serializers)r  r  Ú
BaseModel_Ú	model_refÚmaybe_schemarÆ   r=  r  r  r®   rˆ  r¼   r  r  r  r  Úcandidate_clsÚextras_annotationrì   Úextra_keys_typeÚextra_items_typerü  rÒ   rB  r  rÜ   rÝ   ÚdÚfields_schemas                                r±   Ú_model_schemazGenerateSchema._model_schemaå  s  € ä-Ó/ˆ
à�Y‰Y×(Ñ(¨Ó-ð H	LÑ1J°)¸\ØÐ'Ø#÷H	Lñ H	Lð —\‘\×%Ñ%Ð&@ÓAˆFØÐ!¬*°V¼^Ô*LØ˜&‘> ]Ò2Ø!ŸY™Y×9Ñ9¸&ÓA�FÜ˜f“o�ÙØŸ9™9×GÑGÈÓO÷H	Lñ H	Lð "÷H	Lñ H	Lô +¨3×+;Ñ+;À5ÔIˆNà×+Ñ+×0Ñ0°Ó@ñ xLÀ$×BSÑBS×BXÑBXÐY\ÓB]ñ xLØ"×2Ñ2×>Ñ>ÀSÇ\Á\Ð>ÓR�à×3Ò3°s¸jÑ7HÜ$ SÐ*?ÀÓD‘Fà,°C·L±LÑ@ô :Ø!$§¡Ø&,¨S¯\©\Ð,<¸OÐ$Lôð ðTÜ!5ØØ+/×+?Ñ+?Ø(,×(9Ñ(9Ø)-×);Ñ);Ò)A¸rô	"˜ð !×8Ñ8�
Ø",×"<Ñ"<�Ü,ÜØ"×3Ñ3×:Ñ:Ó<Ø"×4Ñ4×;Ñ;Ó=Ø"×-Ñ-×4Ñ4Ó6óð
 >�f—k‘k“mÐ= o×&:Ñ&:Ó&<Ð=ôð $.×#>Ñ#>×#EÑ#EÓ#GÐ à $�Ø%)Ð"Ø—?‘?Ð#:Ó;¸wÓFØŸ;™; q™>¨SÑ0Ð0Ð0ØŸ;™; r™?¬fÑ4Ð4Ð4Ø),¯©°S°bÐ)9ò &˜Ü,3°MÐCTÐVXÓ,Y×,]Ñ,]Ø0°$ó-Ð)ð -Ñ8Ü)Ð*;¼SÔAÜ4A×4TÑ4TÜ$1×$CÑ$CØ(9ÀuÐW[ô%&ð5"ð &*×%:Ñ%:ò	5"Ð 1ô ",Ð,=Ó!>˜BØ!¬Ñ3Ü&CØ$kó'"ð !"ð AE×@eÑ@eØ 1Ø)-ð Afó AÑ=˜OÐ-=ð  /´cÑ9Ø59×5IÑ5IÈ/Ó5ZÐ 2Ü#1×#8Ñ#8Ð9IÔ#JØ04×0DÑ0DÐEUÓ0V Ø1Ð=ÀÑAZÙ %ð5&ô8 :AÀÐFeÐgiÓ9j×9nÑ9nÐowÓ9x�à×.Ò.à&*×&?Ñ&?ÀÈÈvÉÐXbÓ&c‘O�L !Ü#9¸,ÐHXÐZaÓ#b�LÜ#.×#;Ñ#;ØØ$Ø'5Ü$+¨CÐ1KÈTÓ$RØ#'Ü")¨#Ð/GÈÓ"NØ*Ø%ô	$‘Lô =H×<[Ñ<[ØY_×YeÑYeÓYg×hÑQUÐQRÐTU˜˜D×:Ñ:¸1¸aÀÓLÑLÓhð &5×%;Ñ%;Ó%=ö)à !ð !×7Ñ7¸¸:×;WÑ;WÕXò)ð '4Ø+=Ø#&§<¡<ô	=�Mô $4°MÀ:×C]ÑC]×CdÑCdÓCfÓ#g�LÜ#9¸,ÐHXÐZaÓ#b�Lä#.×#;Ñ#;ØØ$Ø'5Ü$+¨CÐ1KÈTÓ$RØ#(Ü")¨#Ð/GÈÓ"NØ*Ø%ô	$�Lð ×6Ñ6°|ÀZ×EaÑEa×EhÑEhÓEjÓk�Ü/°Ð8HÈ'ÓR�Ø—y‘y×CÑCÀFÓK÷qxL÷ xLñ xL÷!H	Lñ H	LøôX %ò TÜ9×IÑIÈ!ÓLÐRSÐSûðTüóF iùò)÷AxLð xLú÷ xL÷ xLñ xLú÷!H	L÷ H	Lñ H	Lús    ¦W·A7WÂ8WÃ2WÃ5W	ÄA8V4Æ
1VÆ;D%V4Ë!B=V4ÎB'V4ÑV)Ñ$V4Ñ9#V/ÒC
V4Õ&	W	Õ/	WÖ	V&	ÖV!	Ö!V&	Ö&V4Ö4V=Ö9W	× 	W×	W	×W×W'c                óX   — | j                   j                  «       }|€t        dd¬«      ‚|S )Nz(`typing.Self` is invalid in this contextzinvalid-self-typer¶   )rý   rÍ   rF   rÌ  s     r±   Ú_resolve_self_typez!GenerateSchema._resolve_self_types  s/   € Ø×#Ñ#×'Ñ'Ó)ˆØˆ;Ü#Ð$NÐUhÔiÐiØˆ
r³   c                ó<  — t        «       }t        |dd «      }t        |dd «      |j                  j                  u }|�¬|sª| j                  j                  |«      5 \  }}|�|cd d d «       S 	 d d d «       ||u rd}nd} ||t        | j                  | |¬«      «      }	|	d   dk(  r| j                  j                  |	«      }	t        |	«      }
|
r| j                  j                  |	«      S |	S |€ t        |dd «      x}��d	d
lm} t        ||«      r)t        j                  d|j                   › d�t"        «       nt        j                  dt$        «       t'        j(                   |«       D �cg c]  }t'        j*                  |«      ‘Œ c}«      S y y # 1 sw Y   �Œ"xY wc c}w )NÚ__get_pydantic_core_schema__r9  Úunpackzto-def)Úref_moderÄ   rç  Ú__get_validators__r   r€   zeMixing V1 models and V2 models (or constructs, like `TypeAdapter`) is not supported. Please upgrade `z` to V2.zc`__get_validators__` is deprecated and will be removed, use `__get_pydantic_core_schema__` instead.)rt   ræ   r1  r9  rþ   r  r{   rá  r  r\   r	  Úpydantic.v1r�   rN  rè   ré   rò   r  rO   r0   r«  Ú"with_info_plain_validator_function)r  rÍ  r’  r$  Ú
get_schemaÚis_base_model_get_schemarB  r&  r3  rÆ   r=  r  ÚBaseModelV1rÝ   s                 r±   rà  z6GenerateSchema._generate_schema_from_get_schema_methody  s½  € Ü-Ó/ˆ
ä˜SÐ"@À$ÓGˆ
ä�J 
¨DÓ1°Z×5\Ñ5\×5eÑ5eÐeð 	!ð
 Ð"ñ -ð —‘×,Ñ,¨SÓ1ð (Ñ5F°a¸ØÐ+Ø'÷(ñ (Ø+÷(ð �f‰}Ø#‘à#�ÙØÔ4°T×5PÑ5PÐRVÐaiÔjóˆFð �f‰~ Ò.ØŸ™×5Ñ5°fÓ=�ä˜&“/ˆCÙØ—y‘y×CÑCÀFÓKÐKð ˆMàÐ´¸Ð>RÐTXÓ1YÐ#Y :Ð"fÝ<ä˜#˜{Ô+Ü—‘Ø{Ð|÷  }Iñ  }Ið  |Jð  JRð  SÜõô
 —‘ØyÜ-ôô ×+Ñ+ÑhrÓhtÖ,uÐcd¬[×-[Ñ-[Ð\]Õ-^Ò,uÓvÐvð #gÐ÷-(ñ (üòF -vs   ÁFÅ'FÆFc                ó,  — 	 t        j                  |g| j                  ¢­Ž }t        |t        «      rt	        |j                  d|› �«      ‚| j                  rt        || j                  «      }|S # t        $ r}t	        j
                  |«      |‚d }~ww xY w)Nz%Unable to evaluate forward reference )rW   r  r  r  rE   r  rd  r!   Ú__forward_arg__rû   rs   )r  rÍ  rˆ  s      r±   Ú_resolve_forward_refz#GenerateSchema._resolve_forward_ref´  s“   € ð	HÜ×2Ñ2°3ÐO¸×9NÑ9NÒOˆCô
 �cœ:Ô&Ü-¨c×.AÑ.AÐEjÐknÐjoÐCpÓqÐqà×ÒÜ  T×%7Ñ%7Ó8ˆCàˆ
øô ò 	HÜ-×=Ñ=¸aÓ@ÀaÐGûð	Hús   ‚ A/ Á/	BÁ8BÂBc                 ó   — y rÀ   rö   )r  rÍ  rõ  s      r±   r  z/GenerateSchema._get_args_resolving_forward_refsÊ  s   € Øfir³   c                 ó   — y rÀ   rö   rÌ  s     r±   r  z/GenerateSchema._get_args_resolving_forward_refsÍ  s   € ØTWr³   c                ó¢   ‡ — t        |«      }|r/t        |t        «      r	d„ |D «       }t        ˆ fd„|D «       «      }|S |rt	        d|› d�«      ‚|S )Nc              3  ój   K  — | ]+  }t        |t        «      rt        j                  |«      n|–— Œ- y ­wrÀ   )rd  r+  rW   r  )Ú.0Úas     r±   ú	<genexpr>zBGenerateSchema._get_args_resolving_forward_refs.<locals>.<genexpr>Õ  s+   è ø€ ÒfÐ\]¼jÈÌCÔ>Pœ×7Ñ7¸Ô:ÐVWÓWÑfùs   ‚13c              3  ód   •K  — | ]'  }t        |t        «      r‰j                  |«      n|–— Œ) y ­wrÀ   )rd  r!   r<  )rA  rB  r  s     €r±   rC  zBGenerateSchema._get_args_resolving_forward_refs.<locals>.<genexpr>Ö  s,   øè ø€ ÒhÐ^_¼ÀAÄzÔ9R˜×2Ñ2°1Ô5ÐXYÓYÑhùs   ƒ-0z	Expected z+ to have generic parameters but it had none)r4   rd  r   rÇ   rÐ   )r  rÍ  rõ  Úargss   `   r±   r  z/GenerateSchema._get_args_resolving_forward_refsÐ  s[   ø€ Ü˜‹}ˆÙÜ˜#œ|Ô,áfÐaeÔf�ÜÓhÐcgÔhÓhˆDð ˆñ Ü˜i¨ uÐ,WÐXÓYÐYØˆr³   c                ó>   — | j                  |«      }|st        S |d   S )Nr   )r  r   )r  rÍ  rE  s      r±   Ú_get_first_arg_or_anyz$GenerateSchema._get_first_arg_or_anyÛ  s#   € Ø×4Ñ4°SÓ9ˆÙÜˆJØ�A‰wˆr³   c                ó¤   — | j                  |«      }|st        t        fS t        |«      dk  rt        |«      }t	        d|› d�«      ‚|d   |d   fS )Nr;   z Expected two type arguments for z, got 1r   rR   )r  r   Úlenr5   rÐ   )r  rÍ  rE  r÷  s       r±   Ú_get_first_two_args_or_anyz)GenerateSchema._get_first_two_args_or_anyá  s[   € Ø×4Ñ4°SÓ9ˆÙÜœ�:ÐÜˆt‹9�qŠ=Ü “_ˆFÜÐ>¸v¸hÀgÐNÓOÐOØ�A‰w˜˜Q™ÐÐr³   c                ó˜  — t        j                  |«      r| j                  |«      }t        j                  t	        |«      «      r| j                  |«      S t        |t        «      r|S t        |t        «      rt        |«      }t        |t        «      r | j                  | j                  |«      «      S t        «       }t        ||«      r6| j                  j                  |«      5  | j!                  |«      cd d d «       S t        |t"        «      r t%        j&                  |j(                  ¬«      S | j+                  |«      S # 1 sw Y   ŒJxY w)N)Ú
schema_ref)r7   Úis_selfr/  Úis_annotatedr5   Ú_annotated_schemard  rÊ   r+  r!   r  r<  rt   r|   rý   r  r-  rq   r0   Údefinition_reference_schemaÚtype_refÚ
match_type)r  rÍ  r�   s      r±   rá  z%GenerateSchema._generate_schema_innerê  s
  € Ü×!Ñ! #Ô&Ø×)Ñ)¨#Ó.ˆCä×&Ñ&¤z°#£Ô7Ø×)Ñ)¨#Ó.Ð.ä�cœ4Ô àˆJä�cœ3ÔÜ˜S“/ˆCä�cœ:Ô&Ø×'Ñ'¨×(AÑ(AÀ#Ó(FÓGÐGä,Ó.ˆ	ä˜c 9Ô-Ø×&Ñ&×+Ñ+¨CÓ0ñ /Ø×)Ñ)¨#Ó.÷/ñ /ô �cÔ/Ô0Ü×:Ñ:ÀcÇlÁlÔSÐSà�‰˜sÓ#Ð#÷/ð /ús   Ã$E Å E	c                óŽ  — |t         u rt        j                  «       S |t        u rt        j                  «       S |t
        u rt        j                  «       S |t        u rt        j                  «       S |t        u rt        j                  «       S |t        u rt        j                  «       S t        j                  |«      s|t        u rt        j                   «       S |t"        j$                  u rt        j&                  «       S |t"        j"                  u rt        j(                  «       S |t"        j*                  u rt        j,                  «       S |t"        j.                  u rt        j0                  «       S |t2        u rt        j4                  «       S |t6        u rt        j8                  «       S |t:        u rt        j<                  «       S |t>        u r| jA                  «       S |tB        u rt        jD                  «       S |�|tF        jH                  u rt        jJ                  «       S |tL        u rt        jN                  «       S |tP        v r| jS                  |«      S |tT        v r| jW                  |«      S |tX        v r| j[                  t\        «      S |t^        v r| ja                  t\        «      S |tb        v r| je                  t\        «      S |tf        v r| ji                  t\        «      S |tj        v r| jm                  |«      S |tn        v r| jq                  t\        t\        «      S |tr        v r| ju                  |t\        «      S |tv        v r| jy                  t\        «      S |tz        v r| j}                  |t\        t\        «      S |t~        v r| j}                  |t\        t
        «      S t        j€                  |«      r| jƒ                  |«      S |t„        u r| j‡                  «       S tG        jˆ                  |«      rt        jŠ                  «       S t        jŒ                  t�        |«      «      r| j‘                  |«      S t“        |«      r| j•                  |d«      S tG        j–                  |«      r| j™                  |d«      S t        jš                  |«      r| j�                  |jž                  «      S |t         v r| j£                  |«      S tG        j¤                  |«      r| j§                  «       S t©        |tª        j¬                  «      r| j¯                  |«      S tG        j°                  |«      r<|t²        u rt        j                   «       S | j�                  | jµ                  |«      «      S t©        |t¶        «      r| j¹                  |«      S t»        j¼                  |«      r!t¿        |tÀ        «      r| jÃ                  |«      S |tÄ        u r| jÇ                  «       S tÉ        jÊ                  |«      r| jÍ                  |d«      S t�        |«      }|�| jÏ                  ||«      S | jÐ                  r| jÓ                  |«      S | jÕ                  |«      S )aÈ  Main mapping of types to schemas.

        The general structure is a series of if statements starting with the simple cases
        (non-generic primitive types) and then handling generics and other more complex cases.

        Each case either generates a schema directly, calls into a public user-overridable method
        (like `GenerateSchema.tuple_variable_schema`) or calls into a private method that handles some
        boilerplate before calling into the user-facing method (e.g. `GenerateSchema._tuple_schema`).

        The idea is that we'll evolve this into adding more and more user facing methods over time
        as they get requested and we figure out what the right API for them is.
        N)kr+  r0   r|  r„  r˜  r*  Ú
int_schemar,  Úfloat_schemarØ   Úbool_schemaÚcomplexÚcomplex_schemar7   r•  r  rÏ   ÚdatetimeÚdateÚdate_schemaÚdatetime_schemaÚtimeÚtime_schemaÚ	timedeltaÚtimedelta_schemar
   Údecimal_schemar'   Úuuid_schemar/   Ú
url_schemar   rÇ  r+   Úmulti_host_url_schemarW   ÚNoneTypeÚnone_schemar)   Úmissing_sentinel_schemar‘   r}  rŒ   Ú_tuple_schemar�   r  r   rŽ   r%  r�   r(  r’   Ú_sequence_schemar“   Ú_iterable_schemar�   r"  r–   r�  r—   r¯  ÚMAPPING_TYPESrÀ  ÚCOUNTER_TYPESÚis_typealiastypeÚ_type_alias_type_schemarÄ   Ú_type_schemaÚis_callableÚcallable_schemaÚ
is_literalr5   Ú_literal_schemar6   Ú_typed_dict_schemaÚis_namedtupleÚ_namedtuple_schemaÚ
is_newtyper  Ú__supertype__r•   Ú_pattern_schemaÚis_hashableÚ_hashable_schemard  Útypingr#   Ú_unsubstituted_typevar_schemaÚis_finalvarr    rG  ÚVALIDATE_CALL_SUPPORTED_TYPESÚ_call_schemarL  ÚisclassrN  r   rV  r(   Ú_zoneinfo_schemaÚdataclassesÚis_dataclassÚ_dataclass_schemaÚ_match_generic_typer  rÉ  rÎ  )r  rÍ  r÷  s      r±   rR  zGenerateSchema.match_type  s1  € ð ”#‰:Ü×)Ñ)Ó+Ð+Ø”E‰\Ü×+Ñ+Ó-Ð-Ø”C‰ZÜ×)Ñ)Ó+Ð+Ø”E‰\Ü×+Ñ+Ó-Ð-Ø”D‰[Ü×*Ñ*Ó,Ð,Ø”G‰^Ü×-Ñ-Ó/Ð/Ü×"Ñ" 3Ô'¨3´&©=Ü×)Ñ)Ó+Ð+Ø”H—M‘MÑ!Ü×*Ñ*Ó,Ð,Ø”H×%Ñ%Ñ%Ü×.Ñ.Ó0Ð0Ø”H—M‘MÑ!Ü×*Ñ*Ó,Ð,Ø”H×&Ñ&Ñ&Ü×/Ñ/Ó1Ð1Ø”G‰^Ü×-Ñ-Ó/Ð/Ø”D‰[Ü×*Ñ*Ó,Ð,Ø”C‰ZÜ×)Ñ)Ó+Ð+Ø”H‰_Ø×(Ñ(Ó*Ð*Ø”LÑ Ü×4Ñ4Ó6Ð6Øˆ[˜C¤=×#9Ñ#9Ñ9Ü×*Ñ*Ó,Ð,Ø”'‰>Ü×6Ñ6Ó8Ð8Ø”H‰_Ø—?‘? 3Ó'Ð'Ø”KÑØ×%Ñ% cÓ*Ð*Ø”JÑØ×$Ñ$¤SÓ)Ð)Ø”IÑØ×#Ñ#¤CÓ(Ð(ØÔ$Ñ$Ø×)Ñ)¬#Ó.Ð.Ø”NÑ"Ø×(Ñ(¬Ó-Ð-Ø”NÑ"Ø×(Ñ(¨Ó-Ð-Ø”JÑØ×$Ñ$¤S¬#Ó.Ð.Ø”JÑØ×$Ñ$ S¬#Ó.Ð.Ø”KÑØ×%Ñ%¤cÓ*Ð*Ø”MÑ!Ø×'Ñ'¨¬S´#Ó6Ð6Ø”MÑ!Ø×'Ñ'¨¬S´#Ó6Ð6Ü×,Ñ,¨SÔ1Ø×/Ñ/°Ó4Ð4Ø”D‰[Ø×$Ñ$Ó&Ð&Ü×&Ñ& sÔ+Ü×.Ñ.Ó0Ð0Ü×&Ñ&¤z°#£Ô7Ø×'Ñ'¨Ó,Ð,Ü˜#ÔØ×*Ñ*¨3°Ó5Ð5Ü×(Ñ(¨Ô-Ø×*Ñ*¨3°Ó5Ð5Ü×&Ñ& sÔ+à×'Ñ'¨×(9Ñ(9Ó:Ð:Ø”MÑ!Ø×'Ñ'¨Ó,Ð,Ü×&Ñ& sÔ+Ø×(Ñ(Ó*Ð*Ü˜œVŸ^™^Ô,Ø×5Ñ5°cÓ:Ð:Ü×&Ñ& sÔ+Ø”e‰|Ü"×-Ñ-Ó/Ð/Ø×'Ñ'Ø×*Ñ*¨3Ó/óð ô ˜Ô:Ô;Ø×$Ñ$ SÓ)Ð)Ü�_‰_˜SÔ!¤j°´dÔ&;Ø×$Ñ$ SÓ)Ð)Ø”H‰_Ø×(Ñ(Ó*Ð*ô ×#Ñ# CÔ(Ø×)Ñ)¨#¨tÓ4Ð4ä˜C“ˆØÐØ×+Ñ+¨C°Ó8Ð8à× Ò Ø×.Ñ.¨sÓ3Ð3Ø×(Ñ(¨Ó-Ð-r³   c                óŠ  — t        j                  |«      r| j                  ||«      S t        j                  |«      r| j                  ||«      S | j                  ||«      }|�|S t        j                  |«      r| j                  |«      S t        |«      r| j                  |«      S |t        v r| j                  |«      S |t        v r | j                  | j!                  |«      «      S |t"        v r | j%                  | j!                  |«      «      S |t&        v r | j)                  | j!                  |«      «      S |t*        v r | j,                  | j/                  |«      Ž S |t0        v r!| j3                  || j!                  |«      «      S |t4        v r | j7                  | j!                  |«      «      S |t8        v r" | j:                  |g| j/                  |«      ¢­Ž S |t<        v r&| j;                  || j!                  |«      t>        «      S tA        |«      r| jC                  ||«      S |tD        v r| jG                  |«      S |tH        v r | jK                  | j!                  |«      «      S |tL        v r| jO                  |«      S |tP        v r| jS                  |«      S | jT                  r| jW                  |«      S | jY                  |«      S rÀ   )-rƒ  r„  r…  rW   ru  rv  rà  r7   rm  rn  r:   Ú_union_schemarŒ   rh  r�   r  rG  rŽ   r%  r�   r(  r�   r"  rJ  r–   r�  r—   r¯  rk  rÀ  rl  r*  r6   rt  r”   Ú_subclass_schemar’   ri  r“   rj  r•   ry  r  rÉ  rÎ  )r  rÍ  r÷  rÆ   s       r±   r†  z"GenerateSchema._match_generic_type~  s›  € ô
 ×#Ñ# FÔ+Ø×)Ñ)¨#¨vÓ6Ð6Ü×&Ñ& vÔ.Ø×*Ñ*¨3°Ó7Ð7à×=Ñ=¸fÀcÓJˆØÐØˆMä×*Ñ*¨6Ô2Ø×/Ñ/°Ó4Ð4Ü˜VÔ$Ø×%Ñ% cÓ*Ð*Ø”{Ñ"Ø×%Ñ% cÓ*Ð*Ø”zÑ!Ø×$Ñ$ T×%?Ñ%?ÀÓ%DÓEÐEØ”yÑ Ø×#Ñ# D×$>Ñ$>¸sÓ$CÓDÐDØÔ'Ñ'Ø×)Ñ)¨$×*DÑ*DÀSÓ*IÓJÐJØ”zÑ!Ø$�4×$Ñ$ d×&EÑ&EÀcÓ&JÐKÐKØ”zÑ!Ø×$Ñ$ V¨T×-GÑ-GÈÓ-LÓMÐMØ”{Ñ"Ø×%Ñ% d×&@Ñ&@ÀÓ&EÓFÐFØ”}Ñ$Ø'�4×'Ñ'¨ÐV°×1PÑ1PÐQTÓ1UÒVÐVØ”}Ñ$Ø×'Ñ'¨°×0JÑ0JÈ3Ó0OÔQTÓUÐUÜ˜&Ô!Ø×*Ñ*¨3°Ó7Ð7Ø”zÑ!Ø×(Ñ(¨Ó-Ð-Ø”~Ñ%Ø×(Ñ(¨×)CÑ)CÀCÓ)HÓIÐIØ”~Ñ%Ø×(Ñ(¨Ó-Ð-Ø”}Ñ$Ø×'Ñ'¨Ó,Ð,à× Ò Ø×.Ñ.¨vÓ6Ð6Ø×(Ñ(¨Ó-Ð-r³   Trô  c          	     óì   — | j                  |||«      \  }}t        j                  ||j                  «       sdn||j                  t        |j                  «      |j                  |j                  |¬«      S )zAPrepare a TypedDictField to represent a model or typeddict field.F)rõ  Úserialization_excluder™   rš   Úserialization_exclude_ifr>  )	r  r0   Útyped_dict_fieldÚis_requiredr�   Ú_convert_to_aliasesr™   rš   Ú
exclude_if)r  rë  Ú
field_infor¼   rõ  rÆ   r>  s          r±   Ú_generate_td_field_schemaz(GenerateSchema._generate_td_field_schema±  so   € ð  ×4Ñ4°T¸:ÀzÓRÑˆ�Ü×+Ñ+ØØ",×"8Ñ"8Ô":‘UÀØ",×"4Ñ"4Ü0°×1LÑ1LÓMØ *× >Ñ >Ø%/×%:Ñ%:Øô
ð 	
r³   c           	     óÜ   — | j                  |||«      \  }}t        j                  ||j                  t	        |j
                  «      |j                  |j                  |j                  |¬«      S )z0Prepare a ModelField to represent a model field.)r‹  r™   rš   rŒ  r¡   r>  )	r  r0   Úmodel_fieldr�   r�  r™   rš   r�  r¡   ©r  rë  r‘  r¼   rÆ   r>  s         r±   r  z(GenerateSchema._generate_md_field_schemaÅ  sh   € ð  ×4Ñ4°T¸:ÀzÓRÑˆ�Ü×&Ñ&ØØ",×"4Ñ"4Ü0°×1LÑ1LÓMØ *× >Ñ >Ø%/×%:Ñ%:Ø×$Ñ$Øô
ð 	
r³   c                ó0  — | j                  |||«      \  }}t        j                  |||j                  |j                  xs d|j
                  rdnd|j                  t        |j                  «      |j                  |j                  |j                  |¬«      S )zJPrepare a DataclassField to represent the parameter/field, of a dataclass.NF)	r¢   Ú	init_onlyr¤   r‹  r™   rš   rŒ  r¡   r>  )r  r0   Údataclass_fieldr¢   r£   r¤   r�   r�  r™   rš   r�  r¡   r•  s         r±   Ú_generate_dc_field_schemaz(GenerateSchema._generate_dc_field_schema×  s�   € ð  ×4Ñ4°T¸:ÀzÓRÑˆ�Ü×*Ñ*ØØØ—‘Ø ×)Ñ)Ò1¨TØ&×.Ò.‘D°EØ",×"4Ñ"4Ü0°×1LÑ1LÓMØ *× >Ñ >Ø%/×%:Ñ%:Ø×$Ñ$Øô
ð 	
r³   c                óä  ‡ ‡— ‰j                   ‰j                  }}dˆˆ fd„}t        |j                  j	                  «       |«      D �cg c].  }t
        |j                  j                     j                  |«      ‘Œ0 }}‰ j                  j                  |«      5  ‰j                  �‰ j                  |||z   |¬«      }	n‰ j                  |||z   «      }	d d d «       t        |j                  j	                  «       |«      }
t        |
«      rd‰_        |
D �cg c]  }|j                  j                   du sŒ|‘Œ }}|
D �cg c]	  }||vsŒ|‘Œ }
}t#        	|«      }	t%        |	|
«      }	‰j'                  «       st)        ‰|	«      }	‰ j+                  |	t        |j,                  j	                  «       |«      «      }	t/        ‰«      \  }}i }t1        |||¬«       |	|fS c c}w # 1 sw Y   �ŒxY wc c}w c c}w )Nc                ó@   •— ‰j                  | ‰j                  «      } | S rÀ   )rÕ  rÔ  )rÆ   r‘  r  s    €€r±   Úset_discriminatorz>GenerateSchema._common_field_schema.<locals>.set_discriminatorò  s    ø€ Ø×7Ñ7¸À
×@XÑ@XÓYˆFØˆMr³   )Útransform_inner_schemaT©Úpydantic_js_updatesÚpydantic_js_extra©rÆ   r*   rH  r*   )Ú
annotationr>  rÂ   r  rK  r«   r¯   re  Ú_from_decoratorrü   r  rÔ  Ú_apply_annotationsr  Ú$_validators_require_validate_defaultr    Ú	each_itemrÌ   rÎ   rŽ  Úwrap_defaultÚ_apply_field_serializersr  rÞ   r[   )r  rë  r‘  r¼   Úsource_typer   rœ  Ú	decoratorÚvalidators_from_decoratorsrÆ   Úthis_field_validatorsrÝ   rÑ   rŸ  r   Úcore_metadatas   ` `             r±   r  z#GenerateSchema._common_field_schemaí  s  ù€ ð $.×#8Ñ#8¸*×:MÑ:M�[ˆö	ô BÀ*×B]ÑB]×BdÑBdÓBfÐhlÓmö&
àô ˜yŸ~™~×2Ñ2Ñ3×CÑCÀIÕNð&
Ð"ð &
ð
 ×"Ñ"×'Ñ'¨Ó-ñ 		Ø×'Ñ'Ð3Ø×0Ñ0Ø Ð/IÑ!IÐbsð 1ó ‘ð ×0Ñ0ØØÐ"<Ñ<ó�÷		ô !EÀZ×EZÑEZ×EaÑEaÓEcÐeiÓ jÐÜ/Ð0EÔFØ*.ˆJÔ'Ø+@Ö] aÀAÇFÁF×DTÑDTÐX\ÒD\¢Ð]ÐÐ]Ø,AÖ c qÀQÐNbÒEb¢Ð cÐÐ cÜ+¨FÐ4HÓIˆä! &Ð*?Ó@ˆð
 ×%Ñ%Ô'Ü! *¨fÓ5ˆFà×.Ñ.ØÔ8¸×9UÑ9U×9\Ñ9\Ó9^Ð`dÓeó
ˆô 2[Ð[eÓ1fÑ.ÐÐ.Ø(*ˆÜØÐ/BÐVgõ	
ð �}Ð$Ð$ùò[&
÷
		ñ 		üò$  ^ùÚ cs*   Á3GÂ:GÄG(Ä2G(Ä<	G-ÅG-ÇG%c                óî  — | j                  |d¬«      }g }d}|D ]9  }|�|t        j                  u rd}Œ|j                  | j	                  |«      «       Œ; t        |«      dk(  r|d   }ntg }|D ]X  }t        t        |j                  di «      «      j                  d«      }	|	�|j                  ||	f«       ŒH|j                  |«       ŒZ t        j                  |«      }|rt        j                  |«      }|S )zGenerate schema for a Union.Trô  FrR   r   r>  Úpydantic_internal_union_tag_key)r  rW   re  rÛ  r  rI  r%   rZ   rÍ   r0   r™  Únullable_schema)
r  Ú
union_typerE  ÚchoicesrÅ   ÚargÚsÚchoices_with_tagsÚchoiceÚtags
             r±   rˆ  zGenerateSchema._union_schema&  sý   € à×4Ñ4°ZÈ$Ð4ÓOˆØ$&ˆØˆØò 	:ˆCØˆ{˜c¤]×%;Ñ%;Ñ;Ø‘à—‘˜t×3Ñ3°CÓ8Õ9ð		:ô ˆw‹<˜1ÒØ˜‘
‰AàKMÐØ!ò 5�Üœ<¨¯©°JÀÓ)CÓD×HÑHÐIjÓk�Ø�?Ø%×,Ñ,¨f°c¨]Õ;à%×,Ñ,¨VÕ4ð5ô ×(Ñ(Ð):Ó;ˆAáÜ×+Ñ+¨AÓ.ˆAØˆr³   c                óJ  — | j                   j                  |«      5 \  }}|�|cd d d «       S t        |«      xs |}t        |«      }| j                  j                  |«      5  	 t        j                  |j                  g| j                  ¢­Ž }t        ||«      }| j                  |«      }|d   dk7  sJ ‚||d<   d d d «       | j                   j                  «      cd d d «       S # t        $ r}t        j                  |«      |‚d }~ww xY w# 1 sw Y   ŒTxY w# 1 sw Y   y xY w)NrÄ   rç  r=  )rþ   r  r5   rr   rú   r  rW   Ú	eval_typeÚ	__value__r  r  rE   r  rs   r  r	  )	r  rÍ  r=  r&  r÷  r  r¢  rˆ  rÆ   s	            r±   rn  z&GenerateSchema._type_alias_type_schemaA  s-  € Ø�Y‰Y×(Ñ(¨Ó-ð 	HÑ1D°#°|ØÐ'Ø#÷	Hñ 	Hô %/¨s£OÒ$:°sˆFÜ4°SÓ9ˆLà×"Ñ"×'Ñ'¨Ó/ñ $ðPÜ!.×!8Ñ!8¸×9IÑ9IÐ!bÈD×LaÑLaÒ!b�Jô +¨:°|ÓD�
Ø×-Ñ-¨jÓ9�Ø˜f‘~¨Ò6Ð6Ð6Ø #��u‘÷$ð —9‘9×?Ñ?ÀÓG÷!	Hñ 	Høô !ò PÜ5×EÑEÀaÓHÈaÐOûðPú÷$ð $ú÷	Hð 	HúsL   œD­5DÁ"DÁ$*C&Â,DÂ:"DÃ&	D
Ã/DÄD
Ä
DÄD	ÄDÄD"c                óô   — t        t        |dd¬«      «      }|s
J d|› �«       ‚t        j                  |«      }| j                  j
                  r)t        d„ |D «       «      rt        j                  d„ |«      }|S )zGenerate schema for a Literal.FÚeager)Ú
type_checkÚunpack_type_aliasesz(literal "expected" cannot be empty, obj=c              3  ó<   K  — | ]  }t        |t        «      –— Œ y ­wrÀ   )rd  r   )rA  rÝ   s     r±   rC  z1GenerateSchema._literal_schema.<locals>.<genexpr>Z  s   è ø€ Ò7^ÐPQ¼
À1Äd×8KÑ7^ùs   ‚c                ó>   — t        | t        «      r| j                  S | S rÀ   )rd  r   r?  )rÝ   s    r±   r0  z0GenerateSchema._literal_schema.<locals>.<lambda>\  s   € ¤Z°´4Ô%8˜!Ÿ'™'€ ¸a€ r³   )rI  r9   r0   Úliteral_schemar  rQ  ÚanyrR  )r  Úliteral_typeÚexpectedrÆ   s       r±   rs  zGenerateSchema._literal_schemaT  su   € äÔ*¨<ÀEÐ_fÔgÓhˆÙÐRÐCÀLÀ>ÐRÓRˆxÜ×+Ñ+¨HÓ5ˆà×Ñ×/Ò/´CÑ7^ÐU]Ô7^Ô4^Ü ×AÑAÙ?ÀóˆFð ˆr³   c                ó
  — t        «       }| j                  j                  |«      5  | j                  j	                  |«      5 \  }}|�|cddd«       cddd«       S t        |«      }|�|}t        s%t        |«      j                  dk(  rt        dd¬«      ‚	 t        |d«      }| j                  j                  |«      5  | j                  j                  |j                  ¬«      }|j                   }	i }
t#        j$                  |«      }|j'                  | j                  «       | j                  j(                  rt+        |d¬	«      }nd}	 t-        j.                  || j0                  ¬
«      }g }|j9                  «       D ]Ð  \  }} |j:                  |t<        j>                  ¬«      }tA        |jB                  |«      |_!        ||	v xs d|jD                  v xr d|jD                  v}d|jD                  v r|jG                  |«       |�|jH                  €||v r
||   |_$        tK        | j                  ||«       | jM                  ||||¬«      |
|<   ŒÒ |r_djO                  d„ |D «       «      }tQ        |«      dk\  }tS        jT                  d|rdnd› d|› d|j                  ›d|rdnd› d�	tV        «       d}d}tY        t[        |dd«      «      }t[        |dt\        j^                  «      }|rd}d}n2ta        jb                  |«      sd }| je                  tA        ||«      «      }| j                  jf                  x}d!v rw|r/|d k(  r*tS        jT                  d"|jh                  ›d#�tj        ¬$«       nFta        jb                  |«      s/|dk(  r*tS        jT                  d"|jh                  ›d%�tj        ¬$«       n|}tm        jn                  |
||jp                  js                  «       D �cg c]  }| ju                  ||jv                  «      ‘Œ  c}||||¬&«      }| jy                  ||jz                  js                  «       «      }t}        ||j~                  js                  «       d'«      }| j                  j�                  |«      cddd«       cddd«       cddd«       S # t        $ r d}Y �Œüw xY w# t2        $ r}t5        j6                  |«      |‚d}~ww xY wc c}w # 1 sw Y   nxY w	 ddd«       n# 1 sw Y   nxY wddd«       y# 1 sw Y   yxY w)(a,  Generate a core schema for a `TypedDict` class.

        To be able to build a `DecoratorInfos` instance for the `TypedDict` class (which will include
        validators, serializers, etc.), we need to have access to the original bases of the class
        (see https://docs.python.org/3/library/types.html#types.get_original_bases).
        However, the `__orig_bases__` attribute was only added in 3.12 (https://github.com/python/cpython/pull/103698).

        For this reason, we require Python 3.12 (or using the `typing_extensions` backport).
        Nr|  zXPlease use `typing_extensions.TypedDict` instead of `typing.TypedDict` on Python < 3.12.ztyped-dict-versionr¶   Ú__pydantic_config__ré  T)Úuse_inspect©r  ©Ú_sourcerõ  Únot_requiredÚ	read_onlyrô  ú, c              3  ó2   K  — | ]  }t        |«      –— Œ y ­wrÀ   ©rŸ   )rA  Úfs     r±   rC  z4GenerateSchema._typed_dict_schema.<locals>.<genexpr>µ  s   è ø€ Ò+M¸¬D°¯GÑ+Mùó   ‚r;   ÚItemr´  rÔ   ú z on TypedDict class ÚareÚiszk using the `ReadOnly` qualifier. Pydantic will not protect items from any mutation on dictionary instances.r´  Ú
__closed__FÚ__extra_items__Úforbidrï  )rï  rØ  zTypedDict class zk is closed, but 'extra' configuration is set to `'allow'`. The 'extra' configuration value will be ignored.rµ  zu allows extra items, but 'extra' configuration is set to `'forbid'`. The 'extra' configuration value will be ignored.)r  r  Úextra_behaviorr  r=  r   Úall)Aru   rý   r  rþ   r  rr   Ú_SUPPORTS_TYPEDDICTrÄ   ró   rF   rg   ÚAttributeErrorrù   r  r  rò   Ú__required_keys__r`   ÚbuildÚupdate_from_configÚuse_attribute_docstringsrk   rW   Úget_cls_type_hintsrú   r  rE   r  rÙ   Úfrom_annotationr8   Ú
TYPED_DICTrs   r¢  Ú_qualifiersrÛ  rÖ   rp   r’  ÚjoinrI  rè   ré   r  rØ   ræ   Útyping_extensionsÚNoExtraItemsr7   Úis_noextraitemsr  Úextrarô   rP   r0   Útyped_dict_schemar  rK  r   r  r"  r#  r  r  r	  )r  Útyped_dict_clsr÷  r   Útyped_dict_refr&  r  r   r  Úrequired_keysr®   r¼   Úfield_docstringsr   rˆ  Úreadonly_fieldsÚ
field_namer¢  r‘  rõ  Úfields_reprÚpluralrÙ  r  Ú	is_closedÚextra_itemsÚconfig_extrar+  Ú	td_schemarÆ   s                                 r±   rt  z!GenerateSchema._typed_dict_schemaa  sL  € ô -Ó.ˆ	ð ×!Ñ!×&Ñ& ~Ó6ñ}	Là�I‰I×'Ñ'¨Ó7ð}	Lñ<ØØð Ð'Ø#÷}	L÷ }	Lò }	Lô 5°^ÓDˆLØÐ!Ø!'�å&¬4°Ó+?×+JÑ+JÈhÒ+VÜ'ØnØ-ôð ð
ô -EÀ^ÐUjÓ,k�ð ×+Ñ+×0Ñ0°Ó8ñ bLØ"×2Ñ2×>Ñ>À^×E\ÑE\Ð>Ó]�à0>×0PÑ0P�à@B�ä+×1Ñ1°.ÓA�
Ø×-Ñ-¨d×.BÑ.BÔCà×'Ñ'×@Ò@Ü'BÀ>Ð_cÔ'dÑ$à'+Ð$ðPÜ"/×"BÑ"BÀ>Ð_c×_pÑ_pÔ"q�Kð .0�à.9×.?Ñ.?Ó.Aò Ñ*�J 
Ø!: ×!:Ñ!:¸:ÔO_×OjÑOjÔ!k�JÜ,9¸*×:OÑ:OÐQ]Ó,^�JÔ)ð # mÐ3Ò[°zÀZ×E[ÑE[Ð7[ò Gà(°
×0FÑ0FÐFð ð # j×&<Ñ&<Ñ<Ø'×.Ñ.¨zÔ:ð )Ð4Ø&×2Ñ2Ð:Ø&Ð*:Ñ:à1AÀ*Ñ1M˜
Ô.Ü,¨T×-AÑ-AÀ:ÈzÔZà)-×)GÑ)GØ" J°
ÀXð *Hó *�F˜:Ò&ð%ñ, #Ø"&§)¡)Ñ+M¸_Ô+MÓ"M�KÜ  Ó1°QÑ6�FÜ—M‘MØ¡f™s°"Ð5°Q°{°mÐCWÐXf×XoÑXoÐWrÐrsÙ$*™5°Ð5ð 6EðEô $ô	ð =E�Ø37�ô !¤¨¸ÀuÓ!MÓN�	Ü% nÐ6GÔIZ×IgÑIgÓh�ÙØ%-�NØ$(‘MÜ'×7Ñ7¸ÔDØ%,�NØ$(×$8Ñ$8¼À{ÐT`Ó9aÓ$b�Mà$(×$8Ñ$8×$>Ñ$>Ð>�LÐCVÑVÙ  \°WÒ%<Ü Ÿ™Ø.¨~×/JÑ/JÐ.Mð Ndð dä%@öô
 ,×;Ñ;¸KÔHÈ\Ð]eÒMeÜ Ÿ™Ø.¨~×/JÑ/JÐ.Mð Neð eä%@öð *6˜ä'×9Ñ9ØØ&ð ",×!;Ñ!;×!BÑ!BÓ!Dö%àð ×3Ñ3°A°z×7SÑ7SÕTò%ð $2Ø"/Ø&Ø&ô�	ð ×6Ñ6°yÀ*×B^ÑB^×BeÑBeÓBgÓh�Ü/°¸
×8SÑ8S×8ZÑ8ZÓ8\Ð^cÓd�Ø—y‘y×CÑCÀFÓK÷EbLð bL÷7}	L÷ }	Lò }	Løô0 "ò Ø“ðûô( !ò PÜ5×EÑEÀaÓHÈaÐOûðPüòJ%÷mbLð bLúð bL÷7}	L÷ }	Lñ }	Lú÷ }	L÷ }	Lñ }	Lús¤   ¦S:ÁS%Á		S:Á:S%ÂRÂ#S%Â>BSÅ
!R#Å+I2SÏ#S
Ð A5SÑ5	S%Ñ>	S:ÒR ÒS%ÒR Ò S%Ò#	S	Ò,S	ÓS	ÓSÓSÓS%Ó	S:Ó%S.	Ó*S:Ó:Tc                óè  — | j                   j                  |«      5  | j                  j                  |«      5 \  }}|�|cddd«       cddd«       S t	        |«      }|�|}	 t        j                  || j                  ¬«      }|s$t        j                  |j                  t        «      }|r-|j                  «       D ��	ci c]  \  }}	|t!        |	|«      “Œ }}}	t#        j$                  |j                  «       D ��	cg c]P  \  }}	| j'                  ||	t(        j*                  |j,                  j/                  |t0        j2                  «      ¬«      ‘ŒR c}	}ddi¬«      }
t#        j4                  |
||¬«      }| j                  j7                  |«      cddd«       cddd«       S # t        $ r}t        j                  |«      |‚d}~ww xY wc c}	}w c c}	}w # 1 sw Y   nxY wddd«       y# 1 sw Y   yxY w)z!Generate schema for a NamedTuple.NrÈ  )r’  r›   Ú'pydantic_js_prefer_positional_argumentsTrG  )r=  )rý   r  rþ   r  rr   rW   rá  rú   r  rE   r  rÊ   ÚfromkeysÚ_fieldsr   rÙ   rs   r0   Úarguments_schemaÚ_generate_parameter_schemar8   ÚNAMED_TUPLEÚ_field_defaultsrÍ   r   ÚemptyÚcall_schemar	  )r  Únamedtuple_clsr÷  Únamedtuple_refr&  r  r   rˆ  rð  r¢  rû  rÆ   s               r±   rv  z!GenerateSchema._namedtuple_schemaì  sö  € ð ×!Ñ!×&Ñ& ~Ó6ñ(	Hà�I‰I×'Ñ'¨Ó7ð(	Hñ<ØØð Ð'Ø#÷(	H÷ (	Hò (	Hô 5°^ÓDˆLØÐ!Ø!'�ðLÜ+×>Ñ>¸~Ð[_×[lÑ[lÔm�ñ ä.2¯m©m¸N×<RÑ<RÔTWÓ.X�áð 3>×2CÑ2CÓ2E÷á.˜
 Jð ¤¨j¸,Ó GÑGð�ñ ô
  +×;Ñ;ð 3>×2CÑ2CÓ2E÷ñ /˜
 Jð ×3Ñ3Ø"Ø"Ü/×;Ñ;Ø .× >Ñ >× BÑ BÀ:ÌyÏÉÓ _ð	 4õ óð DÀTÐJô Ðô !×,Ñ,Ð-=¸~ÐSaÔbˆFØ—9‘9×?Ñ?ÀÓG÷Q(	H÷ (	Hò (	Høô ò LÜ1×AÑAÀ!ÓDÈ!ÐKûðLüóùó÷9(	Hð (	Hú÷ (	H÷ (	Hñ (	Húsj   œG(¸G¿	G(ÁGÁ"!F Â;GÂ>G
Ã%GÃ:AGÅ>GÆ	G(Æ 	GÆ)F?Æ?GÇGÇG	ÇG(Ç(G1c                ó  — t        «       }|t        j                  u r |j                  ||¬«      }n |j                  |||¬«      }|j
                  €J d«       ‚t        | j                  ||«       | j                  j                  |«      5  | j                  |j
                  |gd¬«      }ddd«       |j                  «       st        |«      }t        j                  ||t        |j                   «      ¬«      }	|	S # 1 sw Y   ŒSxY w)zñGenerate the definition of a field in a namedtuple or a parameter in a function signature.

        This definition is meant to be used for the `'arguments'` core schema, which will be replaced
        in V3 by the `'arguments-v3`'.
        rÉ  Nz<field.annotation should not be None when generating a schemaF©Ú'check_unsupported_field_info_attributes)re  r˜   )ru   r   rÿ  râ  Úfrom_annotated_attributer¢  rp   r  rü   r  r¤  rŽ  r§  r0   Úarguments_parameterr�  r™   )
r  rë  r¢  r’  r›   re  r   r°   rÆ   Úparameter_schemas
             r±   rü  z)GenerateSchema._generate_parameter_schema  s  € ô -Ó.ˆ	à”i—o‘oÑ%Ø-�I×-Ñ-¨jÀ&ÔI‰Eà6�I×6Ñ6°zÀ7ÐTZÔ[ˆEà×ÑÐ+ÐkÐ-kÓkÐ+Ü  ×!5Ñ!5°t¸UÔCà×"Ñ"×'Ñ'¨Ó-ñ 	Ø×,Ñ,Ø× Ñ Ø�ð 9>ð -ó ˆF÷	ð × Ñ Ô"Ü! %¨Ó0ˆFä&×:Ñ:ØØØÜ% e×&<Ñ&<Ó=ô	
Ðð  Ð÷)	ð 	ús   Â C>Ã>Dc                óî  — t        «       }|t        j                  u r |j                  ||¬«      }n |j                  |||¬«      }t        | j                  ||«       | j                  j                  |«      5  | j                  |j                  |gd¬«      }ddd«       |j                  «       st        |«      }t        j                  ||t        |j                   «      ¬«      }	|	S # 1 sw Y   ŒSxY w)zÖGenerate the definition of a parameter in a function signature.

        This definition is meant to be used for the `'arguments-v3'` core schema, which will replace
        the `'arguments`' schema in V3.
        rÉ  Fr  N)rë  rÆ   re  r˜   )ru   r   rÿ  râ  r  rp   r  rü   r  r¤  r¢  rŽ  r§  r0   Úarguments_v3_parameterr�  r™   )
r  rë  r¢  r’  re  r›   r   r°   rÆ   r  s
             r±   Ú_generate_parameter_v3_schemaz,GenerateSchema._generate_parameter_v3_schemaE  sð   € ô( -Ó.ˆ	à”i—o‘oÑ%Ø-�I×-Ñ-¨jÀ&ÔI‰Eà6�I×6Ñ6°zÀ7ÐTZÔ[ˆEÜ  ×!5Ñ!5°t¸UÔCà×"Ñ"×'Ñ'¨Ó-ñ 	Ø×,Ñ,Ø× Ñ Ø�ð 9>ð -ó ˆF÷	ð × Ñ Ô"Ü! %¨Ó0ˆFä&×=Ñ=ØØØÜ% e×&<Ñ&<Ó=ô	
Ðð  Ð÷)	ð 	ús   Á9 C+Ã+C4c                ó^  ‡— t        |«      Š| j                  |«      }‰r|rt        ˆfd„|D «       «      }|sG|t        v r*t	        j
                  t	        j                  «       gd¬«      S t	        j
                  g «      S |d   t        u rCt        |«      dk(  r*t	        j
                  | j                  |d   «      gd¬«      S t        d«      ‚t        |«      dk(  r|d   dk(  rt	        j
                  g «      S t	        j
                  |D �cg c]  }| j                  |«      ‘Œ c}«      S c c}w )	zIGenerate schema for a Tuple, e.g. `tuple[int, str]` or `tuple[int, ...]`.c              3  ó6   •K  — | ]  }t        |‰«      –— Œ y ­wrÀ   )rs   )rA  Úparamr  s     €r±   rC  z/GenerateSchema._tuple_schema.<locals>.<genexpr>~  s   øè ø€ ÒRÀ%œ=¨°×=ÑRùs   ƒr   )rÈ   râ   r;   z&Variable tuples can only have one typerR   rö   )rr   r  rÇ   rŒ   r0   Útuple_schemarÏ   ÚEllipsisrI  r  Ú
ValueError)r  Ú
tuple_typeÚparamsr  r  s       @r±   rh  zGenerateSchema._tuple_schemaw  s  ø€ ô 1°Ó<ˆØ×6Ñ6°zÓBˆá™FÜÓRÈ6ÔRÓRˆFñ Øœ[Ñ(Ü"×/Ñ/´×1GÑ1GÓ1IÐ0JÐ`aÔbÐbô #×/Ñ/°Ó3Ð3Ø�B‰Zœ8Ñ#Ü�6‹{˜aÒÜ"×/Ñ/°×1EÑ1EÀfÈQÁiÓ1PÐ0QÐghÔiÐiô !Ð!IÓJÐJÜ�‹[˜AÒ &¨¡)¨r¢/ô ×+Ñ+¨BÓ/Ð/ä×+Ñ+ÐV\Ö,]ÈU¨T×-AÑ-AÀ%Õ-HÒ,]Ó^Ð^ùÒ,]s   ÄD*c                ó`   — t        j                  t        j                  t        «      dd¬«      S )NÚis_typezInput should be a typerŽ  )r0   Úcustom_error_schemarS  rÄ   r  s    r±   ro  zGenerateSchema._type_schema•  s)   € Ü×.Ñ.Ü×*Ñ*¬4Ó0Ø'Ø!9ô
ð 	
r³   c                ón   — ddl m} dd„ gi}t        j                  |t        j                  «       |¬«      S )z/Generate schema for a zone_info.ZoneInfo objectrR   )Úvalidate_str_is_valid_iana_tzr:  c                ó   — dddœS )Nrn  Úzoneinforo  rö   rÅ  s     r±   r0  z1GenerateSchema._zoneinfo_schema.<locals>.<lambda>   s   € ÀhÐZdÑ=e€ r³   ©rà   r>  )rx  r  r0   rz  rÆ  )r  r  r>  s      r±   r‚  zGenerateSchema._zoneinfo_schemaœ  s8   € å>à+Ñ.eÐ-fÐgˆÜ×;Ñ;Ø)Ü%×:Ñ:Ó<Øô
ð 	
r³   c           	     ó¤   — | j                  |d¬«      }t        j                  |D �cg c]  }| j                  t        |   «      ‘Œ c}«      S c c}w )z*Generate schema for `type[Union[X, ...]]`.Trô  )r  r0   r™  r  rÄ   )r  r±  rE  s      r±   Ú_union_is_subclass_schemaz(GenerateSchema._union_is_subclass_schema§  sF   € à×4Ñ4°ZÈ$Ð4ÓOˆÜ×'Ñ'ÐVZÖ([Èd¨×)=Ñ)=¼dÀ4¹jÕ)IÒ([Ó\Ð\ùÒ([s   §Ac           
     ó¢  — | j                  |«      }t        j                  |«      xs |}t        j                  |«      r| j                  «       S t        j                  |«      r"| j                  t        |j                     «      S t        j                  |«      rÃ|j                  rXt        t        |j                  «      «      r| j                  |j                  «      S t        j                   |j                  «      S |j"                  rCt        j$                  |j"                  D �cg c]  }| j                  t        |   «      ‘Œ c}«      S | j                  «       S t        t        |«      «      r| j                  |«      S t        j&                  |«      r| j)                  |«      }t        j*                  |«      r0t-        d|›dt/        j0                  t        |«      «      › d�d¬«      ‚t3        j4                  |«      s3|€#t        j                   t        j6                  «      S t9        d|›�«      ‚t        j                   |«      S c c}w )z-Generate schema for a type, e.g. `type[int]`.z`Subscripting `type[]` with an already parametrized type is not supported. Instead of using type[z], use type[z].Nr¶   zExpected a class, got )rG  rW   Úannotated_typer7   r•  ro  rm  r  rÄ   rº  Ú
is_typevarÚ	__bound__r:   r5   r  r0   Úis_subclass_schemaÚ__constraints__r™  rM  r/  Úis_generic_aliasrF   rV   Údisplay_as_typerL  r�  re  rÐ   )r  Útype_Ú
type_paramÚcs       r±   r‰  zGenerateSchema._subclass_schema¬  sð  € à×/Ñ/°Ó6ˆ
ô #×1Ñ1°*Ó=ÒKÀˆ
ä× Ñ  Ô,Ø×$Ñ$Ó&Ð&Ü×,Ñ,¨ZÔ8Ø×'Ñ'¬¨Z×-AÑ-AÑ(BÓCÐCÜ×&Ñ& zÔ2Ø×#Ò#Ü"¤:¨j×.BÑ.BÓ#CÔDØ×9Ñ9¸*×:NÑ:NÓOÐOÜ"×5Ñ5°j×6JÑ6JÓKÐKØ×+Ò+Ü"×/Ñ/ÐXb×XrÑXrÖ0sÐST°×1EÑ1EÄdÈ1ÁgÕ1NÒ0sÓtÐtà×(Ñ(Ó*Ð*ÜœZ¨
Ó3Ô4Ø×1Ñ1°*Ó=Ð=ä×%Ñ% jÔ1Ø!×4Ñ4°ZÓ@�
Ü×-Ñ-¨jÔ9Ü'ð-Ø-7¨N¸,Äu×G\ÑG\Ô]gÐhrÓ]sÓGtÐFuÐuwðyàôð ô
 —?‘? :Ô.ð Ð%Ü&×9Ñ9¼-×:PÑ:PÓQÐQÜÐ"8¸¸Ð GÓHÐHÜ×1Ñ1°*Ó=Ð=ùò) 1ts   Ä)Ic                ó¦  — ddl m} | j                  |«      }t        j                  |«      }t        |«      }t        j                  t        j                  d¬«      }t        j                  |«      s1ddlm} t        j                  |t        j                  ||«      g«      }t        j                  ||d¬«      }t        j                   |||¬«      S )	z5Generate schema for a Sequence, e.g. `Sequence[int]`.rR   rŸ  ÚSequencer£  )Úsequence_validatorTr¥  )r5  ri  rà   )r§  r   r  r0   r  r}   rS  r|  r*  r7   r•  rx  r+  r«  rª  r¬  r{  )	r  r  r   r­  r  r5  ri  r+  rà   s	            r±   ri  zGenerateSchema._sequence_schemaÓ  s·   € å=à×/Ñ/°
Ó;ÐÜ!×-Ñ-Ð.>Ó?ˆä$ [Ó1ˆÜ#×6Ñ6´v·±ÐQ[Ô\ˆÜ×$Ñ$ ZÔ0Ý7ä'×4Ñ4Ø¤× KÑ KÐL^Ð`kÓ lÐmóˆMô $×GÑGØ'Ð0@È4ô
ˆô ×0Ñ0Ø#°=ÐP]ô
ð 	
r³   c                ól   — | j                  |«      }t        j                  | j                  |«      «      S )z$Generate a schema for an `Iterable`.)rG  r0   Úgenerator_schemar  )r  r&  Ú	item_types      r±   rj  zGenerateSchema._iterable_schemaê  s.   € à×.Ñ.¨uÓ5ˆ	ä×+Ñ+¨D×,@Ñ,@ÀÓ,KÓLÐLr³   c                óþ  — ddl m} dd„ gi}t        j                  t	        d«      dt        j
                  «       ¬«      }|t        j                  u s|t        j                  u r"t        j                  |j                  ||¬«      S | j                  |d	¬
«      d   }|t        u r"t        j                  |j                  ||¬«      S |t        u r"t        j                  |j                  ||¬«      S t!        d|›d�«      ‚)NrR   )rx  r:  c                ó   — dddœS )Nrn  Úregexro  rö   rÅ  s     r±   r0  z0GenerateSchema._pattern_schema.<locals>.<lambda>ó  s   € ÀhÐZaÑ=b€ r³   Úpatternrã   )rå   Úreturn_schemar  Trô  r   rË  rµ   )rÔ   rx  r0   rê   r   r|  r|  ÚPatternÚrerz  Úpattern_either_validatorr  r+  Úpattern_str_validatorr„  Úpattern_bytes_validatorrD   )r  Úpattern_typerx  r>  Úserr  s         r±   ry  zGenerateSchema._pattern_schemað  s  € Ý!à+Ñ.bÐ-cÐdˆÜ×>Ñ>Ü�yÓ!¨VÄ;×CYÑCYÓC[ô
ˆð œ6Ÿ>™>Ñ)¨\¼R¿Z¹ZÑ-Gä×?Ñ?Ø×4Ñ4ÀCÐRZôð ð ×5Ñ5ØØð 6ó 
ð ñˆð ”C‰<Ü×?Ñ?Ø×1Ñ1ÀÈxôð ð ”e‰^Ü×?Ñ?Ø×3Ñ3À3ÐQYôð ô 0Ð2^Ð_kÐ^nÐnoÐ0pÓqÐqr³   c           
     óV  — t        j                  t        j                  t        j                  t        j                  «       t        j
                  t        j                  j                  «      g«      t        j
                  t        j                  j                  «      ¬«      dd¬«      S )Nrh  rz  zInput should be hashable)rÆ   r�  r�  )	r0   r  r{  r«  rÏ   rS  r¨  ÚabcÚHashabler  s    r±   r{  zGenerateSchema._hashable_schema  sy   € Ü×.Ñ.Ü×4Ñ4Ü'×4Ñ4Ü ×+Ñ+Ó-¬{×/MÑ/MÌkÏoÉo×NfÑNfÓ/gÐhóô *×<Ñ<¼[¿_¹_×=UÑ=UÓVô	ð ,Ø!;ô	
ð 		
r³   c                ó<
  ‡ ‡— ‰ j                   j                  |«      5  ‰ j                  j                  |«      5 \  }}|�|cddd«       cddd«       S |j                  j                  d«      }|��t        |t        «      sq|d   dk(  r‰ j                  j                  |«      }t        |«      }|r-‰ j                  j                  |«      cddd«       cddd«       S |cddd«       cddd«       S t        |«      }|�|}t        |dd«      }ddlm}	 ‰ j                  j                  |«      5  ‰ j                   j                  |«      5   |	|«      r¤|j#                  «       rk|j$                  j'                  «       D �
�ci c]  \  }
}|
t)        |«      “Œ }}
}|rt|j+                  «       D ]  } |j,                  |g‰ j.                  ¢­Ž  Œ! nA	 t1        |‰ j2                  ‰ j                  |xs i ¬«      }nt;        ||‰ j2                  ¬	«      }‰ j2                  j<                  d
k(  r7|j'                  «       D ]$  \  }}|j>                  du sŒtA        d|› d�d¬«      ‚ |j                  j                  d«      Š‰€0tC        jD                  |«      Š‰jG                  ‰ j2                  «       tI        ˆˆ fd„|j'                  «       D «       d„ ¬«      }tK        |d«      }tK        |d«      }tM        jN                  |jP                  |‰jR                  j+                  «       D �cg c]  }‰ jU                  |‰jV                  «      ‘Œ  c}|¬«      }tY        |‰jZ                  j+                  «       «      }‰j\                  j+                  «       }t_        ||d«      }‰ j2                  ja                  |jP                  ¬«      }tM        jb                  |||||t        jd                  |«      D �cg c]  }|jf                  ‘Œ c}||‰ j                   jh                  jj                  ¬«	      }‰ jm                  |‰jn                  j+                  «       «      }t_        ||d«      }‰ j                  j                  |«      cddd«       cddd«       cddd«       cddd«       S c c}}
w # t4        $ r}t7        j8                  |«      |‚d}~ww xY wc c}w c c}w # 1 sw Y   nxY wddd«       n# 1 sw Y   nxY wddd«       n# 1 sw Y   nxY wddd«       y# 1 sw Y   yxY w)z Generate schema for a dataclass.Nræ  rÄ   rç  rÆ  r;   )Úis_pydantic_dataclassrí  )r  r  rï  FzField zd has `init=False` and dataclass has config setting `extra="allow"`. This combination is not allowed.z dataclass-init-false-extra-allowr¶   r  c              3  óJ   •K  — | ]  \  }}‰j                  ||‰«      –— Œ y ­wrÀ   )r™  )rA  rÜ   rÝ   r¼   r  s      €€r±   rC  z3GenerateSchema._dataclass_schema.<locals>.<genexpr>j  s$   øè ø€ ÒaÉ$È!ÈQ�T×3Ñ3°A°q¸*×EÑaùs   ƒ #c                ó(   — | j                  d«      duS )Nr¤   F)rÍ   )rB  s    r±   r0  z2GenerateSchema._dataclass_schema.<locals>.<lambda>k  s   €  !§%¡%¨	Ó"2¸%Ð"?€ r³   )ÚkeyÚ__post_init__Ú	__slots__)r  Úcollect_init_onlyrù  ré  )rü  rÿ  r=  r®   Úslotsr   r¡   r  )8rý   r  rþ   r  r  rÍ   rd  rv   r  r\   r	  rr   ræ   rƒ  r?  rú   rù   r  rê  rÙ   r	   rK  Úapply_typevars_mapr  rm   r  r  rE   r  rl   ré  r¢   rF   r`   rÞ  rß  ÚsortedÚhasattrr0   Údataclass_args_schemarò   r  r   r  rÎ   r!  r  r  r  Údataclass_schemar®   rë  r  r¡   r"  r#  )r  Ú	dataclassr÷  Údataclass_refr&  rÆ   r=  r  r   r?  Úf_namer‘  r®   r°   rˆ  rð  rE  Úhas_post_initÚ	has_slotsr+  Úargs_schemarÒ   r  r  Ú	dc_schemar¼   s   `                        @r±   r…  z GenerateSchema._dataclass_schema  s  ù€ ð
 ×!Ñ!×&Ñ& yÓ1ñt	Là�I‰I×'Ñ'¨	Ó2ðt	Lñ7ØØð Ð'Ø#÷t	L÷ t	Lò t	Lð ×'Ñ'×+Ñ+Ð,FÓGˆFØÐ!¬*°V¼^Ô*LØ˜&‘> ]Ò2Ø!ŸY™Y×9Ñ9¸&ÓA�FÜ˜f“o�ÙØŸ9™9×GÑGÈÓO÷!t	L÷ t	Lò t	Lð$ "÷%t	L÷ t	Lò t	Lô( 5°YÓ?ˆLØÐ!Ø"�	ô
 ˜YÐ(=¸tÓDˆFå;à×"Ñ"×'Ñ'¨	Ó2ñ UL°D×4NÑ4N×4SÑ4SÐTZÓ4[ñ ULÙ(¨Ô3Ø ×=Ñ=Ô?ð PY×OlÑOl×OrÑOrÓOt÷"Ù9K¸À˜F¤D¨Ó$4Ñ4ð"˜ñ "ñ (Ø)/¯©«ò _ Ø 8 × 8Ñ 8¸Ð ^È×H]ÑH]Ô ^ñ_ðXÜ%=Ø )Ø/3×/CÑ/CØ,0×,=Ñ,=Ø-9Ò-?¸Rô	&™Fô 6Ø!Ø%1Ø'+×';Ñ';ô�Fð ×'Ñ'×-Ñ-°Ò8à-3¯\©\«^ò Ñ)˜
 EØ Ÿ:™:¨Ò.Ü"3Ø"(¨¨ð 5Cð !Dà%Gô#ð ðð '×/Ñ/×3Ñ3Ð4MÓN�
ØÐ%Ü!/×!5Ñ!5°iÓ!@�JØ×1Ñ1°$×2FÑ2FÔGô ÜaÐRX×R^ÑR^ÓR`ÔaÙ?ô�ô !(¨	°?Ó C�Ü# I¨{Ó;�	ä)×?Ñ?Ø×&Ñ&Øð ",×!;Ñ!;×!BÑ!BÓ!Dö%àð ×3Ñ3°A°z×7SÑ7SÕTò%ð '4ô�ô  0°¸Z×=WÑ=W×=^Ñ=^Ó=`Óa�à#-×#>Ñ#>×#EÑ#EÓ#GÐ Ü5°lÐDTÐV]Ó^�à"×2Ñ2×>Ñ>ÀY×EWÑEWÐ>ÓX�ä'×8Ñ8ØØ Ø#)Ø+Ø%Ü4?×4FÑ4FÀyÓ4QÖR¨5˜EŸJ›JÒRØ#Ø&ð  ×5Ñ5×:Ñ:×AÑAô�	ð ×6Ñ6°yÀ*×B^ÑB^×BeÑBeÓBgÓh�Ü/°Ð8HÈ'ÓR�Ø—y‘y×CÑCÀFÓK÷kUL÷ ULñ UL÷?t	L÷ t	Lò t	LùóL"øô  )ò XÜ"=×"MÑ"MÈaÓ"PÐVWÐWûðXüòF%ùò( S÷YULð ULú÷ UL÷ ULñ ULú÷?t	L÷ t	Lñ t	Lú÷ t	L÷ t	Lñ t	LúsÛ   žTºS=Á	TÁA7S=Ã	TÃS=Ã	TÃ2=S=Ä/S(Å6S	ÆRÆ8S	Ç'R"Ç7AS	ÉCS	Ì"#S	ÍB%S	Ï*SÏ=A:S	Ñ7	S(Ò 	S=Ò		TÒS	Ò"	SÒ+SÓSÓS	ÓSÓS(Ó	S=Ó(S1Ó-S=Ó4	TÓ=T	ÔTÔTc                óL  — | j                  |«      }d}| j                  }|j                  rbt        |«      }|j                  }||j
                  ur=| j                  \  }}t        j                  |||dh¬«      }	| j                  |	d   «      }t        j                  |||¬«      S )zsGenerate schema for a Callable.

        TODO support functional validators once we support them in Config
        NrH  )ÚglobalnsÚlocalnsÚinclude_keys)r3  )Ú_arguments_schemar  Úvalidate_returnr   Úreturn_annotationrÿ  r  rW   Úget_function_type_hintsr  r0   r   )
r  Úfunctionrû  r3  r  ÚsigÚreturn_hintrT  rU  Ú
type_hintss
             r±   r€  zGenerateSchema._call_schema’  s®   € ð
  ×1Ñ1°(Ó;Ðà7;ˆØ×-Ñ-ˆØ×)Ò)Ü˜HÓ%ˆCØ×/Ñ/ˆKØ #§)¡)Ñ+Ø$(×$9Ñ$9Ñ!�˜'Ü*×BÑBØ x¸ÐPXÈzô�
ð !%× 4Ñ 4°ZÀÑ5IÓ J�ä×&Ñ&ØØØ'ô
ð 	
r³   c                ó  — t         j                  dt         j                  dt         j                  di}t	        |«      }| j
                  \  }}t        j                  |||¬«      }g }d}	d}
d}t        |j                  j                  «       «      D �]9  \  }\  }}|j                  |j                  u rt        j                  t        t        «      }n||   }|� ||||«      }|dk(  rŒX|j!                  |j"                  «      }|�?| j%                  ||t&        j(                  |j*                  |«      }|j-                  |«       Œ´|j"                  t         j.                  k(  r| j1                  |«      }	Œã|j"                  t         j2                  k(  sJ |j"                  «       ‚t        j4                  |«      }|�ÿt7        |«      xs |}t9        |«      st;        d|›�d¬	«      ‚|j                  j                  «       D ��ch c]%  \  }}|j"                  t         j                  k7  sŒ$|’Œ' }}}|j=                  |j>                  «      }|rOt;        d
|j@                  ›dtC        |«      dk\  rdnd› ddjE                  d„ tG        |«      D «       «      › �d¬	«      ‚d}| jI                  |t7        |«      «      }
�Œ'd}| j1                  |«      }
�Œ< tK        jL                  ||	||
| jN                  jP                  ¬«      S c c}}w )z Generate schema for a Signature.Úpositional_onlyÚpositional_or_keywordÚkeyword_only©rT  rU  NÚskipú7Expected a `TypedDict` class inside `Unpack[...]`, got úunpack-typed-dictr¶   úTyped dictionary ú overlaps with parameterr;   r´  rÔ   rÓ  rÍ  c              3  ó2   K  — | ]  }t        |«      –— Œ y ­wrÀ   rÏ  ©rA  Úps     r±   rC  z3GenerateSchema._arguments_schema.<locals>.<genexpr>ä  ó   è ø€ Ò(U°Q¬¨a¯Ñ(UùrÑ  úoverlapping-unpack-typed-dictzunpacked-typed-dictÚuniform)Úvar_args_schemaÚvar_kwargs_modeÚvar_kwargs_schemaÚvalidate_by_name))r   ÚPOSITIONAL_ONLYÚPOSITIONAL_OR_KEYWORDÚKEYWORD_ONLYr   r  rW   rZ  Ú	enumerateÚ
parametersrÙ   r¢  rÿ  r|  r%   r   rÍ   Úkindrü  r8   ÚFUNCTIONr›   rÛ  ÚVAR_POSITIONALr  ÚVAR_KEYWORDÚunpack_typer5   r6   rF   Úintersectionrð  rò   rI  rå  rH  rt  r0   rû  r  rr  )r  r[  Úparameters_callbackÚmode_lookupr\  rT  rU  r^  Úarguments_listro  rq  rp  Úirë  rk  r¢  ÚresultÚparameter_modeÚ
arg_schemar|  r÷  Únon_pos_only_param_namesÚoverlapping_paramss                          r±   rW  z GenerateSchema._arguments_schema«  sç  € ô
 ×%Ñ%Ð'8Ü×+Ñ+Ð-DÜ×"Ñ" Nðr
ˆô ˜Ó!ˆØ ×1Ñ1Ñˆ�'Ü"×:Ñ:¸8ÈhÐ`gÔhˆ
à?AˆØ9=ˆØ;?ÐØ<@ˆä% c§n¡n×&:Ñ&:Ó&<Ó=ó .	I‰LˆA‰y��aØ�|‰|˜sŸy™yÑ(Ü#Ÿ[™[¬¬cÓ2‘
à'¨Ñ-�
à"Ð.Ù,¨Q°°jÓA�Ø˜VÒ#Øà(Ÿ_™_¨Q¯V©VÓ4ˆNØÐ)Ø!×<Ñ<Ø˜*Ô&6×&?Ñ&?ÀÇÁÈNó�
ð ×%Ñ% jÕ1Ø—‘œ9×3Ñ3Ò3Ø"&×"6Ñ"6°zÓ"B‘à—v‘v¤×!6Ñ!6Ò6Ð>¸¿¹Ó>Ð6ä+×7Ñ7¸
ÓC�ØÐ*Ü'¨Ó4ÒC¸�FÜ'¨Ô/Ü/ØUÐVaÐUdÐeØ!4ôð ð
 -0¯N©N×,@Ñ,@Ó,B÷0Ù!(  qÀaÇfÁfÔPY×PiÑPiÓFišð0Ð,ñ 0ð *B×)NÑ)NÈv×OeÑOeÓ)fÐ&Ù)Ü/Ø/°·±Ð/BÐBZÜ&)Ð*<Ó&=ÀÒ&B™sÈÐKÈ1Ø#Ÿy™yÑ(U¼&ÐASÓ:TÔ(UÓUÐVðXð "Aô	ð ð '<�OØ(,×(?Ñ(?ÀÌZÐXcÓMdÓ(eÒ%à&/�OØ(,×(<Ñ(<¸ZÓ(HÒ%ð].	Iô` ×+Ñ+ØØ+Ø+Ø/Ø!×1Ñ1×BÑBô
ð 	
ùó%0s   Ç?%K;È%K;c                óv  — t         j                  dt         j                  dt         j                  dt         j                  di}t        |«      }| j                  \  }}t        j                  |||¬«      }g }t        |j                  j                  «       «      D �]ì  \  }	\  }
}|� ||	|
|j                  «      }|dk(  rŒ&|j                  t         j                  u rt        j                  t         t         «      }n||
   }|j#                  |j$                  «      }|�€,|j$                  t         j&                  k(  sJ |j$                  «       ‚t        j(                  |«      }|�åt+        |«      xs |}t-        |«      st/        d|›�d¬	«      ‚|j                  j                  «       D �
�ch c]%  \  }
}|j$                  t         j                  k7  sŒ$|
’Œ' }}
}|j1                  |j2                  «      }|rOt/        d
|j4                  ›dt7        |«      dk\  rdnd› ddj9                  d„ t;        |«      D «       «      › �d¬	«      ‚d}|}nd}|j=                  | j?                  
|t@        jB                  |jD                  ¬«      «       �Œï tG        jH                  || jJ                  jL                  ¬«      S c c}}
w )Nr`  ra  Úvar_argsrb  rc  rd  re  rf  r¶   rg  rh  r;   r´  rÔ   rÓ  rÍ  c              3  ó2   K  — | ]  }t        |«      –— Œ y ­wrÀ   rÏ  rj  s     r±   rC  z6GenerateSchema._arguments_v3_schema.<locals>.<genexpr>'  rl  rÑ  rm  Úvar_kwargs_unpacked_typed_dictÚvar_kwargs_uniform)r›   )rr  )'r   rs  rt  rz  ru  r   r  rW   rZ  rv  rw  rÙ   r¢  rÿ  r|  r%   r   rÍ   rx  r{  r|  r5   r6   rF   r}  rð  rò   rI  rå  rH  rÛ  r  r8   ry  r›   r0   Úarguments_v3_schemar  rr  )r  r[  r~  r  r\  rT  rU  r^  Úparameters_listr�  rë  rk  r‚  r¢  rƒ  r|  r÷  r…  r†  s                      r±   Ú_arguments_v3_schemaz#GenerateSchema._arguments_v3_schemaö  s›  € ô ×%Ñ%Ð'8Ü×+Ñ+Ð-DÜ×$Ñ$ jÜ×"Ñ" Nð	
ð 	ô ˜Ó!ˆØ ×1Ñ1Ñˆ�'Ü"×:Ñ:¸8ÈhÐ`gÔhˆ
àBDˆä% c§n¡n×&:Ñ&:Ó&<Ó=ó +	‰LˆA‰y��aØ"Ð.Ù,¨Q°°a·l±lÓC�Ø˜VÒ#Øà�|‰|œyŸ™Ñ.Ü#Ÿ[™[¬¬cÓ2‘
à'¨Ñ-�
à(Ÿ_™_¨Q¯V©VÓ4ˆNØÑ%Ø—v‘v¤×!6Ñ!6Ò6Ð>¸¿¹Ó>Ð6ä+×7Ñ7¸
ÓC�ØÐ*Ü'¨Ó4ÒC¸�FÜ'¨Ô/Ü/ØUÐVaÐUdÐeØ!4ôð ð
 -0¯N©N×,@Ñ,@Ó,B÷0Ù!(  qÀaÇfÁfÔPY×PiÑPiÓFišð0Ð,ñ 0ð *B×)NÑ)NÈv×OeÑOeÓ)fÐ&Ù)Ü/Ø/°·±Ð/BÐBZÜ&)Ð*<Ó&=ÀÒ&B™sÈÐKÈ1Ø#Ÿy™yÑ(U¼&ÐASÓ:TÔ(UÓUÐVðXð "Aô	ð ð &F�NØ!,‘Jà%9�Nà×"Ñ"Ø×2Ñ2Ø˜*Ô&6×&?Ñ&?ÀÐYZ×YbÑYbð 3ó öðO+	ôZ ×.Ñ.ØØ!×1Ñ1×BÑBô
ð 	
ùó-0s   Æ*%J5ÇJ5c                óv  — 	 |j                  «       }|r| j                  |j                  «      S |j                  x}r"| j                  t        j                  |   «      S |j                  x}r+| j                  |«      }t        j                  d«      |d<   |S t        j                  «       S # t        $ r Y Œˆw xY w)NrÂ  rà   )Úhas_defaultr  Ú__default__rÜ  r#  rˆ  r|  r$   r!  r0   rO  rÏ   )r  Útypevarr�  Úconstraintsrˆ   rÆ   s         r±   r}  z,GenerateSchema._unsubstituted_typevar_schema:  s»   € ð	AØ!×-Ñ-Ó/ˆKñ
 Ø×+Ñ+¨G×,?Ñ,?Ó@Ð@à!×1Ñ1Ð1ˆ;Ð1Ø×%Ñ%¤f§l¡l°;Ñ&?Ó@Ð@à×%Ñ%Ð%ˆ5Ð%Ø×)Ñ)¨%Ó0ˆFÜ&1×&CÑ&CÀEÓ&JˆF�?Ñ#ØˆMä×%Ñ%Ó'Ð'øô ò 	áð	ús   ‚B, Â,	B8Â7B8c                ó  — |j                   j                  t        ur|j                   j                  }n6	 t        j                  |j
                  | j                  j                  ¬«      }|t        u rt        dd¬«      ‚t        || j                  «      }t        j                  |j                   |¬«      |_         | j!                  |«      }| j#                  |t%        |j'                  «       |j(                  «      «      }t+        |j                   «      \  }}i }t-        |ddi|r|ni ¥|¬«       t/        j0                  |j(                  ||j                   j2                  |¬	«      S # t        $ r}t        j                  |«      |‚d }~ww xY w)
N©rU  zŸComputed field is missing return type annotation or specifying `return_type` to the `@computed_field` decorator (e.g. `@computed_field(return_type=int | str)`)zmodel-field-missing-annotationr¶   )Úreturn_typeÚreadOnlyTrž  )r3  r˜   r>  )r¯   r–  r.   rS   Úget_callable_return_typeÚfuncr  Úlocalsr  rE   r  rF   rs   rû   rƒ  Úreplacer  r¨  rÂ   rK  r»   rÞ   r[   r0   Úcomputed_fieldr˜   )	r  r+  r  r–  rˆ  Úreturn_type_schemarŸ  r   r­  s	            r±   r   z%GenerateSchema._computed_field_schemaN  sr  € ð
 �6‰6×ÑÔ%6Ñ6ØŸ&™&×,Ñ,‰KðLô *×BÑBÀ1Ç6Á6ÐSW×ShÑSh×SoÑSoÔp�ð Ô+Ñ+Ü#ðfà5ôð ô $ K°×1CÑ1CÓDˆô ×$Ñ$ Q§V¡V¸ÔEˆŒØ!×1Ñ1°+Ó>Ðà!×:Ñ:ØÜ0Ð1B×1IÑ1IÓ1KÈQÏ^É^Ó\ó
Ðô
 2[Ð[\×[aÑ[aÓ1bÑ.ÐÐ.Ø(*ˆÜØØ!+¨TÐ jÑM`Ñ6IÐfhÐ jØ/õ	
ô
 ×)Ñ)Ø�N‰NÐ*<ÀAÇFÁFÇLÁLÐ[hô
ð 	
øô7 ò LÜ1×AÑAÀ!ÓDÈ!ÐKûðLús   µ5E' Å'	FÅ0FÆFc                ó¨   — t        «       }| j                  |d¬«      ^}}| j                  ||«      }|D ]  }t        ||«      sŒt	        ||«      }Œ |S )zdGenerate schema for an Annotated type, e.g. `Annotated[int, Field(...)]` or `Annotated[int, Gt(0)]`.Trô  )ru   r  r¤  rd  r§  )r  r  r   r©  r   rÆ   r¢  s          r±   rO  z GenerateSchema._annotated_schemaz  sm   € ä,Ó.ˆ	Ø$(×$IÑ$IØØð %Jó %
Ð!ˆ�kð ×(Ñ(¨°kÓBˆð &ò 	:ˆJÜ˜* iÕ0Ü% j°&Ó9‘ð	:ð ˆr³   c                ó   — | S rÀ   rö   r.  s    r±   r0  zGenerateSchema.<lambda>�  s   € Èq€ r³   c                óB  ‡ ‡‡— t        t        j                  |«      «      }g }dˆ ˆˆfd„}t        |‰ «      }|D ]  }|€Œ‰ j	                  ||||¬«      }Œ  |‰«      }	|r|	j                  di «      }
t        |
|¬«       t        ‰ j                  j                  ‰|	«      S )a„  Apply arguments from `Annotated` or from `FieldInfo` to a schema.

        This gets called by `GenerateSchema._annotated_schema` but differs from it in that it does
        not expect `source_type` to be an `Annotated` object, it expects it to be  the first argument of that
        (in other words, `GenerateSchema._annotated_schema` just unpacks `Annotated`, this process it).
        c                óÌ   •— ‰j                  | ‰«      }|€‰j                  | «      }t        | «      }|�*t        |‰j                  «      }|�‰j                  ||«        ‰|«      S rÀ   )rà  rá  râ  rã  rþ   rÞ  )rÍ  rÆ   rä  rÜ  r  r©  r�  s       €€€r±   Úinner_handlerz8GenerateSchema._apply_annotations.<locals>.inner_handlerš  sm   ø€ Ø×AÑAÀ#À{ÓSˆFàˆ~Ø×4Ñ4°SÓ9�ä#DÀSÓ#IÐ Ø#Ð/Ü"9¸&À$Ç)Á)Ó"L�Ø"Ð.Ø×)Ñ)¨/Ð;OÔPÙ)¨&Ó1Ð1r³   r  r>  )Ú pydantic_js_annotation_functions©rÍ  r   rH  r*   )
rI  rU   Úexpand_grouped_metadatar{   Ú_get_wrapped_inner_schemarÚ  r[   rï   r  rë   )r  r©  r   r�  r  r£  r¢  Úget_inner_schemar¢  rÆ   r­  s   `` `       r±   r¤  z!GenerateSchema._apply_annotations‰  s¸   ú€ ô Ô4×LÑLÈ[ÓYÓZˆàHJÐ(÷	2ô 8¸ÀtÓLÐà%ò 	ˆJØÐ!ØØ#×=Ñ=Ø ØØ0Ø8_ð	  >ó  Ñð	ñ " +Ó.ˆÙ+Ø"×-Ñ-¨j¸"Ó=ˆMÜ  ÐQqÕrÜ;¸D×<PÑ<P×<^Ñ<^Ð`kÐmsÓtÐtr³   c           
     óJ  — t        «       }t        ||«      rá|r’t        |«      |u r…| j                  |«      x}D ]*  \  }}t	        j
                  d|›d|›d|›d�t        ¬«       Œ, |j                  r9| j                  j                  «       €d|vrt	        j
                  dt        ¬«       |j                  D ]  }| j                  ||«      }Œ |j                  �| j                  ||j                  «      }|S |d   d	k(  r?|j                  d
t        j                  «       «      }	| j                  |	|«      }	|	r|	|d
<   |S |}
|j                  d«      }|�F|j!                  «       }|dt#        |«      › �z   }| j$                  j'                  |«      x}�|S ||d<   no|d   dk(  rg|d   }| j$                  j'                  |«      x}�E|j!                  «       }|dt#        |«      › �z   }| j$                  j'                  |«      x}�|S ||d<   t)        j*                  ||«      }|�|S |
S )NzThe z attribute with value zY was provided to the `Field()` function, which has no effect in the context it was used. a   is field-specific metadata, and can only be attached to a model field using `Annotated` metadata or by assignment. This may have happened because an `Annotated` type alias using the `type` statement was used, or if the `Field()` function was attached to a single member of a union type.rµ  Údefaut_factoryzŸA 'default_factory' taking validated data as an argument was provided to the `Field()` function, but no validated data is available in the context it was used.rÄ   rÅ   rÆ   r=  rB  údefinition-refrL  )ru   rd  rÄ   Ú&_get_unsupported_field_info_attributesrè   ré   rQ   Ú$default_factory_takes_validated_datarý   rÍ   r>  Ú_apply_single_annotationrÔ  rÕ  r0   rÏ   r	   rŸ   rþ   Úget_schema_from_refrU   Úapply_known_metadata)r  rÆ   r>  r  r   Úunsupported_attributesÚattrr?  Úfield_metadatarù  r6  r=  Únew_refÚexistingÚreferenced_schemaÚmaybe_updated_schemas                   r±   r­  z'GenerateSchema._apply_single_annotation¹  sg  € ô -Ó.ˆ	ä�h 	Ô*á7ô ˜“N iÑ/à>B×>iÑ>iÐjrÓ>sÐ$sÐ$:ò ‘K�D˜%Ü—M‘MØ˜t˜hÐ&<¸U¸Ið FKØKOÈ(ð Snðnô
 "Böðð ×AÒAØ×-Ñ-×1Ñ1Ó3Ð;Ø(Ð0FÑFä—M‘MðYä!Aõð #+×"3Ñ"3ò O�Ø×6Ñ6°v¸~ÓN‘ðOð ×%Ñ%Ð1Ø×;Ñ;¸FÀH×DZÑDZÓ[�ØˆMà�&‰>˜ZÒ'à—J‘J˜x¬×)?Ñ)?Ó)AÓBˆEØ×1Ñ1°%¸ÓBˆEÙØ#(��xÑ ØˆMà ˆØ�j‰j˜ÓˆØˆ?Ø—[‘[“]ˆFØ˜a¤ X£Ð/Ð0Ñ0ˆGØ ŸI™I×9Ñ9¸'ÓBÐB�ÐOØ�Ø#ˆF�5ŠMØ�F‰^Ð/Ò/Ø˜Ñ&ˆCØ%)§Y¡Y×%BÑ%BÀ3Ó%GÐGÐ!ÐTØ*×/Ñ/Ó1�Ø !¤D¨£NÐ#3Ð 4Ñ4�Ø $§	¡	× =Ñ =¸gÓ FÐF�HÐSØ#�OØ '��u‘ä8×MÑMÈhÐX^Ó_ÐàÐ+Ø'Ð'ØÐr³   c                óÔ   — t        «       }t        ||«      rQ|j                  D ]  }| j                  ||«      }Œ t	        |«      \  }}|j                  di «      }t        |||¬«       |S )Nr>  rž  )ru   rd  r>  Ú$_apply_single_annotation_json_schemarÞ   rÚ  r[   )r  rÆ   r>  r   r²  rŸ  r   r­  s           r±   r¸  z3GenerateSchema._apply_single_annotation_json_schema	  s~   € ô -Ó.ˆ	ä�h 	Ô*Ø"*×"3Ñ"3ò [�Ø×BÑBÀ6È>ÓZ‘ð[ô 6_Ð_gÓ5hÑ2ÐÐ!2Ø"×-Ñ-¨j¸"Ó=ˆMÜ ØÐ3FÐZkõð ˆr³   c                óÒ   — g }t         D ][  \  }}t        ||«      x}|usŒ|dvs| j                  j                  «       €Œ6|dvsd|j                  vsŒI|j                  ||f«       Œ] |S )zoGet the list of unsupported `FieldInfo` attributes when not directly used in `Annotated` for field annotations.)r›   rœ   )r™   rš   r˜   )r¦   ræ   rý   rÍ   Ú_attributes_setrÛ  )r  r‘  Úunused_metadataÚunused_metadata_nameÚunset_valueÚunused_metadata_values         r±   r«  z5GenerateSchema._get_unsupported_field_info_attributes	  s�   € à13ˆÜ1\ò 	VÑ-Ð  +ä*1°*Ð>RÓ*SÐSÐ&Ð\gÒgð )Ð0NÑNØ×,Ñ,×0Ñ0Ó2Ñ>ð )Ð0[Ñ[Ø j×&@Ñ&@Ò@ð  ×&Ñ&Ð(<Ð>SÐ'TÕUð	Vð" Ðr³   c                óV   ‡ ‡‡‡‡‡— t        ‰dd «      Šdˆˆˆˆˆˆ fd„}t        |‰ «      S )Nr1  c                ó¸   •— ‰�
 ‰| ‰«      }n. ‰| «      }‰j                  |‰‰¬«      }‰j                  |‰«      }t        ‰«      }|�‰j                  |«       |S )Nr  )r­  r¸  râ  rÛ  )	r’  rÆ   rä  r¢  Úannotation_get_schemar  r§  r£  r  s	      €€€€€€r±   Únew_handlerz=GenerateSchema._get_wrapped_inner_schema.<locals>.new_handler2	  sw   ø€ Ø$Ð0Ù.¨vÐ7GÓH‘á)¨&Ó1�Ø×6Ñ6ØØØ<cð 7ó �ð
 ×BÑBÀ6È:ÓV�ä#DÀZÓ#PÐ Ø#Ð/Ø0×7Ñ7Ð8LÔMØˆMr³   )r’  r   rH  úcore_schema.CoreSchema)ræ   r{   )r  r§  r¢  r£  r  rÂ  rÁ  s   ````` @r±   r¦  z(GenerateSchema._get_wrapped_inner_schema)	  s0   ý€ ô ?FÀjÐRpÐrvÓ>wÐ÷	ò 	ô" ,¨K¸Ó>Ð>r³   c                ó¼  — |�r±t        |«      }|d   dk(  r|d   }| j                  ||«      |d<   |S d|v r| j                  j                  |«      }|d   }t	        |j
                  |j                  j                  «      \  }}|j                  j                  t        ur|j                  j                  }n6	 t        j                  |j
                  | j                  j                  ¬«      }|t        u rd}	n| j#                  |«      }	|j                  j                  dk(  r=t%        j&                  |j
                  |||	|j                  j(                  ¬	«      |d
<   |S |j                  j                  dk(  sJ ‚t%        j*                  |j
                  |||	|j                  j(                  ¬	«      |d
<   |S # t        $ r}t        j                   |«      |‚d}~ww xY w)z$Apply field serializers to a schema.rÄ   rç  rÆ   r=  râ   r•  Nrª   )Úis_field_serializerrl  r3  rå   rà   r©   )r	   r¨  rþ   r	  rh   r™  r¯   re  r–  r.   rS   r˜  r  rš  r  rE   r  r  r0   r¬  rå   rê   )
r  rÆ   ÚserializersrÒ   Ú
serializerrÅ  rl  r–  rˆ  r3  s
             r±   r¨  z'GenerateSchema._apply_field_serializersE	  s¿  € ò Ü˜&“\ˆFØ�f‰~ Ò.Ø% hÑ/�Ø#'×#@Ñ#@ÀÈ{Ó#[��xÑ Ø�Ø˜&‘ØŸ™×EÑEÀfÓM�ð % R™ˆJÜ,DÀZÇ_Á_ÐV`×VeÑVe×VjÑVjÓ,kÑ)Ð à�‰×*Ñ*Ô2CÑCØ(Ÿo™o×9Ñ9‘ðPô #.×"FÑ"FØ"Ÿ™°×1FÑ1F×1MÑ1Mô#�Kð Ô/Ñ/Ø $‘à $× 4Ñ 4°[Ó A�à�‰×#Ñ# vÒ-Ü*5×*YÑ*YØ—O‘OØ(;Ø%Ø"/Ø(Ÿo™o×7Ñ7ô+��Ñ'ð  ˆð "—‘×+Ñ+¨wÒ6Ð6Ð6Ü*5×*ZÑ*ZØ—O‘OØ(;Ø%Ø"/Ø(Ÿo™o×7Ñ7ô+��Ñ'ð ˆøô3 !ò PÜ5×EÑEÀaÓHÈaÐOûðPús   Â85F7 Æ7	GÇ GÇGc                ó   — |j                  dd«      }|�rJt        |«      d   }t        |j                  |j                  j
                  «      }|j                  j                  t        ur|j                  j                  }n6	 t        j                  |j                  | j                  j                  ¬«      }|t        u rd}n| j                  |«      }|j                  j
                  dk(  r8t!        j"                  |j                  |||j                  j$                  ¬«      }	n7t!        j&                  |j                  |||j                  j$                  ¬«      }	|	|d<   |r||d<   |S # t        $ r}t        j                  |«      |‚d}~ww xY w)z$Apply model serializers to a schema.r=  Nrâ   r•  rª   )rl  r3  rå   rà   )ÚpoprI  ri   r™  r¯   re  r–  r.   rS   r˜  r  rš  r  rE   r  r  r0   r¬  rå   rê   )
r  rÆ   rÆ  r=  rÇ  rl  r–  rˆ  r3  Ú
ser_schemas
             r±   r"  z'GenerateSchema._apply_model_serializers}	  s[  € ð !Ÿ*™* U¨DÓ1ˆÚÜ˜kÓ*¨2Ñ.ˆJÜ/°
·±ÀÇÁ×AUÑAUÓVˆHà�‰×*Ñ*Ô2CÑCØ(Ÿo™o×9Ñ9‘ðPô #.×"FÑ"FØ"Ÿ™°×1FÑ1F×1MÑ1Mô#�Kð Ô/Ñ/Ø $‘à $× 4Ñ 4°[Ó A�à�‰×#Ñ# vÒ-Ü4?×4cÑ4cØ—O‘OØ%Ø"/Ø(Ÿo™o×7Ñ7ô	5‘
ô )×MÑMØ—O‘OØ%Ø"/Ø(Ÿo™o×7Ñ7ô	�
ð '1ˆF�?Ñ#ÙØˆF�5‰MØˆøô5 !ò PÜ5×EÑEÀaÓHÈaÐOûðPús   Â5E) Å)	FÅ2FÆF)NN)r  rX   r  zNsResolver | Noner  zMapping[TypeVar, Any] | NonerH  ÚNone©rH  rË  )rH  rX   )rH  rw   )rH  rØ   )r  r   rH  r*   )r   r   r!  r   rH  r*   )rE  z
type[Enum]rH  r*   )rì   r   rH  r*   )rì   r   rƒ  r   rH  r*   )rì   r   r   r   r!  r   rH  r*   )rH  r*   r¤  )rÆ   r*   rÔ  zstr | Discriminator | NonerH  r*   r¡  )rÜ  r*   rÝ  zCallable[..., Any]rH  rË  )rÍ  r   rH  rÃ  )r  ztype[BaseModel]rH  rÃ  )rÍ  r   rH  r   )rÍ  r   r’  r   rH  zcore_schema.CoreSchema | None)rÍ  r   rõ  zLiteral[True]rH  ztuple[Any, ...])rÍ  r   rH  útuple[Any, ...] | None)F)rÍ  r   rõ  rØ   rH  rÍ  )rÍ  r   rH  ztuple[Any, Any])rÍ  r   r÷  r   rH  r*   )
rë  r+  r‘  r   r¼   r`   rõ  rØ   rH  zcore_schema.TypedDictField)rë  r+  r‘  r   r¼   r`   rH  zcore_schema.ModelField)rë  r+  r‘  r   r¼   r`   rH  zcore_schema.DataclassField)rë  r+  r‘  r   r¼   r`   rH  z!tuple[CoreSchema, dict[str, Any]])r±  r   rH  rÃ  )rÍ  r3   rH  r*   )rÃ  r   rH  r*   )rë  r   r÷  r   rH  rÃ  )r  r   r÷  r   rH  rÃ  )rë  r+  r¢  z	type[Any]r’  r8   r›   r   re  zJLiteral['positional_only', 'positional_or_keyword', 'keyword_only'] | NonerH  zcore_schema.ArgumentsParameter)rë  r+  r¢  r   r’  r8   re  z‡Literal['positional_only', 'positional_or_keyword', 'keyword_only', 'var_args', 'var_kwargs_uniform', 'var_kwargs_unpacked_typed_dict']r›   r   rH  z core_schema.ArgumentsV3Parameter)r  r   rH  rÃ  )rH  rÃ  )r&  r   rH  rÃ  )r  r   rH  rÃ  )r&  r   rH  zcore_schema.GeneratorSchema)r9  r   rH  rÃ  )rL  ztype[StandardDataclass]r÷  ztype[StandardDataclass] | NonerH  rÃ  )r[  ÚValidateCallSupportedTypesrH  zcore_schema.CallSchemarÀ   )r[  rÎ  r~  úParametersCallback | NonerH  zcore_schema.ArgumentsSchema)r[  rÎ  r~  rÏ  rH  zcore_schema.ArgumentsV3Schema)r’  ztyping.TypeVarrH  rÃ  )r+  zDecorator[ComputedFieldInfo]r  z2dict[str, Decorator[FieldSerializerDecoratorInfo]]rH  zcore_schema.ComputedField)r  r   rH  rÃ  )
r©  r   r   z	list[Any]r�  z"Callable[[CoreSchema], CoreSchema]r  rØ   rH  r*   )T)rÆ   rÃ  r>  r   r  rØ   rH  rÃ  )rÆ   rÃ  r>  r   rH  rÃ  )r‘  r   rH  r¥   )
r§  r>   r¢  r   r£  zlist[GetJsonSchemaFunction]r  rØ   rH  r{   )rÆ   rÃ  rÆ  z-list[Decorator[FieldSerializerDecoratorInfo]]rH  rÃ  )rÆ   rÃ  rÆ  z1Iterable[Decorator[ModelSerializerDecoratorInfo]]rH  rÃ  )Krò   ró   rô   rõ   rD  r  r  Úpropertyr  r  r  r  r"  r%  r(  rV  r}  r�  r¯  rÀ  rÇ  rÉ  rÎ  rÕ  rØ  rÞ  r  r-  r/  rà  r<  r&   r  rG  rJ  rá  rR  r†  r’  r  r™  r  rˆ  rn  rs  rt  rv  r   rÿ  rü  r  rh  ro  r‚  r  r‰  ri  rj  ry  r{  r…  r€  rW  rŽ  r}  r   rO  r¤  r­  r¸  r«  r¦  r¨  r"  Ú__classcell__)rç   s   @r±   rø   rø   O  s¾  ø„ Ùfð€Ið *.Ø59ð	#à%ð#ð 'ð#ð 3ð	#ð
 
ó#õ
ð ò/ó ð/ð ò1ó ð1ð ò<ó ð<ó
IókóHóNóFóP
óB8ót
ó2,ó\
ó"
2ó	
ðØ ðØ1Kðà	óó&1ó	/ð%àð%ð 
 ó%óNLLó\ó9wóvð, Úió ØiàÚWó ØWô	óó ó$ó8v.óp1.ðr ñ
àð
ð ð
ð #ð	
ð ð
ð 
$ó
ð(
àð
ð ð
ð #ð	
ð
 
 ó
ð$
àð
ð ð
ð #ð	
ð
 
$ó
ð,7%Øð7%Ø%.ð7%Ø<Jð7%à	*ó7%óró6Hó&óILóV*Hðb !—‘Ø[_ð+ àð+ ð ð+ ð !ð	+ ð
 ð+ ð Yð+ ð 
(ó+ ðt !—‘ð0 àð0 ð ð0 ð !ð	0 ð

ð0 ð ð0 ð 
*ó0 ód_ó<
ó	
ó]ó
%>óN
ó.Móró8

ðxLØ0ðxLØ:XðxLà	óxLót
ð4 fjðI
Ø2ðI
ØIbðI
à	$óI
ðX fjðB
Ø2ðB
ØIbðB
à	&óB
óH(ð(*
à'ð*
ð Nð*
ð 
#ó	*
óXñ& FQØ8<ð.uàð.uð ð.uð !Cð	.uð
 26ð.uð 
ó.uðh 9=ð	Hà&ðHð ðHð 26ð	Hð
 
 óHðTØ,ðØ8;ðà	óó ð6 9>ð?à.ð?ð ð?ð +Fð	?ð
 26ð?ð 
&ó?ð86à&ð6ð Cð6ð 
 ó	6ðp-Ø,ð-Ø;lð-à	÷-r³   rø   c                ó.   — t        j                  | |«      S rÀ   )r0   Ú!no_info_before_validator_function©rÐ  rÆ   s     r±   r0  r0  ±	  ó   € ¬[×-ZÑ-ZÐ[\Ð^dÓ-e€ r³   c                ó.   — t        j                  | |«      S rÀ   )r0   rR  rÔ  s     r±   r0  r0  ²	  s   € ¬K×,XÑ,XÐYZÐ\bÓ,c€ r³   c                ó,   — t        j                  | «      S rÀ   )r0   rz  ©rÐ  rB  s     r±   r0  r0  ³	  s   € ¤{×'SÑ'SÐTUÓ'V€ r³   c                ó.   — t        j                  | |«      S rÀ   )r0   rª  rÔ  s     r±   r0  r0  ´	  s   € ¬;×+VÑ+VÐWXÐZ`Ó+a€ r³   c                ó.   — t        j                  | |«      S rÀ   )r0   Ú#with_info_before_validator_functionrÔ  s     r±   r0  r0  µ	  s   € ¬{×/^Ñ/^Ð_`ÐbhÓ/i€ r³   c                ó.   — t        j                  | |«      S rÀ   )r0   Ú"with_info_after_validator_functionrÔ  s     r±   r0  r0  ¶	  s   € ¬k×.\Ñ.\Ð]^Ð`fÓ.g€ r³   c                ó,   — t        j                  | «      S rÀ   )r0   r6  rØ  s     r±   r0  r0  ·	  s   € ¬×)WÑ)WÐXYÓ)Z€ r³   c                ó.   — t        j                  | |«      S rÀ   )r0   Ú!with_info_wrap_validator_functionrÔ  s     r±   r0  r0  ¸	  rÕ  r³   ))r§   úno-info)r¨   rá  )r©   rá  )rª   rá  )r§   ú	with-info)r¨   râ  )r©   râ  )rª   râ  z”Mapping[tuple[FieldValidatorModes, Literal['no-info', 'with-info']], Callable[[Callable[..., Any], core_schema.CoreSchema], core_schema.CoreSchema]]Ú_VALIDATOR_F_MATCHc                óÖ   — |D ]c  }t        |j                  |j                  j                  d¬«      }|rdnd}t	        |j                  j                  |f   |j                  | «      } Œe | S )a  Apply validators to a schema.

    Args:
        schema: The schema to apply validators on.
        validators: An iterable of validators.
        field_name: The name of the field if validators are being applied to a model field.

    Returns:
        The updated schema.
    r°   ©re  rÄ   râ  rá  )rj   r™  r¯   re  rã  )rÆ   r  Ú	validatorrl  Úval_types        r±   rÎ   rÎ   ¾	  si   € ð   ò ]ˆ	ô % Y§^¡^¸)¿.¹.×:MÑ:MÐT[Ô\ˆÙ"*‘;°	ˆä# Y§^¡^×%8Ñ%8¸(Ð$CÑDÀYÇ^Á^ÐU[Ó\‰ð]ð €Mr³   c                óB   — | D ]  }|j                   j                  sŒ y y)a?  In v1, if any of the validators for a field had `always=True`, the default value would be validated.

    This serves as an auxiliary function for re-implementing that logic, by looping over a provided
    collection of (v1-style) ValidatorDecoratorInfo's and checking if any of them have `always=True`.

    We should be able to drop this function and the associated logic calling it once we drop support
    for v1-style validator decorators. (Or we can extend it and keep it if we add something equivalent
    to the v1-validator `always` kwarg to `field_validator`.)
    TF)r¯   rj  )r  ræ  s     r±   r¥  r¥  Ø	  s(   € ð  ò ˆ	Ø�>‰>× Ó Ùðð r³   c                óR   — t        | t        t        f«      r| j                  «       S | S rÀ   )rd  r<   r=   Úconvert_to_aliases)r˜   s    r±   r�  r�  è	  s'   € ô �%œ,¬	Ð2Ô3Ø×'Ñ'Ó)Ð)àˆr³   c                ó`  — | j                  dd«      }|D �]Ž  }|dk(  r|j                  j                  dk7  rŒ#|dk(  r|j                  j                  dk(  rŒBt        |j                  |j                  j                  d¬«      }|j                  j                  dk(  rF|r"t        j                  |j                  | ¬	«      } Œ«t        j                  |j                  | ¬	«      } ŒÍ|j                  j                  dk(  rH|r#t        j                  |j                  | ¬	«      } �Œt        j                  |j                  | ¬	«      } �Œ.|j                  j                  d
k(  sJ ‚|r#t        j                  |j                  | ¬	«      } �Œnt        j                  |j                  | ¬	«      } �Œ‘ |r|| d<   | S )a“  Apply model validators to a schema.

    If mode == 'inner', only "before" validators are applied
    If mode == 'outer', validators other than "before" are applied
    If mode == 'all', all validators are applied

    Args:
        schema: The schema to apply validators on.
        validators: An iterable of validators.
        mode: The validator mode.

    Returns:
        The updated schema.
    r=  Nrù  r§   r  Úmodelrå  rª   )r[  rÆ   r¨   )rÉ  r¯   re  rj   r™  r0   rà  rª  rÛ  rÓ  rÝ  rR  )rÆ   r  re  r=  ræ  rl  s         r±   r  r  ñ	  sf  € ð& —j‘j ¨Ó-€CØó nˆ	Ø�7Š?˜yŸ~™~×2Ñ2°hÒ>ØØ�7Š?˜yŸ~™~×2Ñ2°hÒ>ØÜ$ Y§^¡^¸)¿.¹.×:MÑ:MÐT[Ô\ˆØ�>‰>×Ñ &Ò(ÙÜ$×FÑFÐPY×P^ÑP^ÐgmÔn‘ä$×DÑDÈiÏnÉnÐekÔl‘Ø�^‰^× Ñ  HÒ,ÙÜ$×HÑHÐR[×R`ÑR`ÐioÔp’ä$×FÑFÐPY×P^ÑP^ÐgmÔn’à—>‘>×&Ñ&¨'Ò1Ð1Ð1ÙÜ$×GÑGÐQZ×Q_ÑQ_ÐhnÔo’ä$×EÑEÈyÏ~É~ÐflÔm’ð+nñ, Øˆˆu‰Ø€Mr³   c                ó  — | j                   r@t        j                  || j                   t        | j                   «      | j                  ¬«      S | j
                  t        ur,t        j                  || j
                  | j                  ¬«      S |S )a  Wrap schema with default schema if default value or `default_factory` are available.

    Args:
        field_info: The field info object.
        schema: The schema to apply default on.

    Returns:
        Updated schema by default value or `default_factory`.
    )rœ   Údefault_factory_takes_datar    )r›   r    )rœ   r0   Úwith_default_schemaro   r    r›   r.   )r‘  rÆ   s     r±   r§  r§   
  s�   € ð ×!Ò!Ü×.Ñ.ØØ&×6Ñ6Ü'DÀZ×E_ÑE_Ó'`Ø'×8Ñ8ô	
ð 	
ð 
×	Ñ	Ô#4Ñ	4Ü×.Ñ.Ø˜J×.Ñ.À×A\ÑA\ô
ð 	
ð ˆr³   c                ó(  — t        | dd«      }t        | d«      r]t        «       }|duxr% |j                  j                  |t        |dd«      fv}|s&t        | dd«      }t        d|rd|› d�nd	› d
�d¬«      ‚t        | «      x}�t        |«      S |€y|S )z`Extract `__get_pydantic_json_schema__` from a type, handling the deprecated `__modify_schema__`.Ú__get_pydantic_json_schema__NÚ__modify_schema__r9  rò   zjThe `__modify_schema__` method is not supported in Pydantic v2. Use `__get_pydantic_json_schema__` insteadz in class `ú`rÔ   rµ   zcustom-json-schemar¶   )ræ   rI  rt   rñ  r9  rF   r5   râ  )rì   Újs_modify_functionr�   Úhas_custom_v2_modify_js_funcÚcls_namer÷  s         r±   râ  râ  9
  sÕ   € ä  Ð%CÀTÓJÐäˆrÐ&Ô'Ü,Ó.ˆ	ð  dÐ*ò WØ×6Ñ6×?Ñ?Ø&¬Ð0BÀJÐPTÓ(UÐVðWð 	%ñ ,Ü˜r :¨tÓ4ˆHÜ#ð=ÙZb¸{È8È*ÐTUÑ=VÐhjÐ<kÐklðnà)ôð ô ˜R“.Ð ˆÐ-ô 1°Ó8Ð8àÐ!ØàÐr³   r  c                óX   — | d   dk(  r|j                  | d   «      S | d   dk(  r| d   S | S )NrÄ   rª  rL  rç  rÆ   )r®  ©rÆ   rç  s     r±   rã  rã  Y
  sA   € Øˆf�~Ð)Ò)Ø×.Ñ.¨v°lÑ/CÓDÐDØ	�‰˜=Ò	(Ø�hÑÐàˆr³   c                ó\   — d| v ry| j                  d«      }|syt        |«      dk(  rd|v ryy)a°  Determine the inlining behavior of the `'definition-ref'` schema.

    - If no `'serialization'` schema and no metadata is attached, the schema can safely be inlined.
    - If it has metadata but only related to the deferred discriminator application, it can be inlined
      provided that such metadata is kept.
    - Otherwise, the schema should not be inlined. Doing so would remove the `'serialization'` schema or metadata.
    rà   Úkeepr>  ÚinlinerR   Ú%pydantic_internal_union_discriminatorÚpreserve_metadata)rÍ   rI  )Údef_refr>  s     r±   Ú_inlining_behaviorrÿ  b
  s=   € ð ˜'Ñ!ØØ�{‰{˜:Ó&€HÙØÜ
ˆ8ƒ}˜ÒÐEÈÑQØ"Ør³   c                  ól   — e Zd ZU dZded<   	 ded<   	 dd„Zedd„«       Zdd„Zdd	„Z	dd
„Z
dd„Zdd„Zy)r  z*Keeps track of references and definitions.zset[str]Ú_recursively_seenz!dict[str, core_schema.CoreSchema]rÑ  c                ó0   — t        «       | _        i | _        y rÀ   )r¸   r  rÑ  r  s    r±   r  z_Definitions.__init__‹
  s   € Ü!$£ˆÔØˆÕr³   c             #  óH  K  — t        |«      }|| j                  v s|| j                  v r|t        j                  |«      f–— y| j                  j                  |«       	 |df–— | j                  j                  |«       y# | j                  j                  |«       w xY w­w)aÄ  Get a definition for `tp` if one exists.

        If a definition exists, a tuple of `(ref_string, CoreSchema)` is returned.
        If no definition exists yet, a tuple of `(ref_string, None)` is returned.

        Note that the returned `CoreSchema` will always be a `DefinitionReferenceSchema`,
        not the actual definition itself.

        This should be called for any type that can be identified by reference.
        This includes any recursive types.

        At present the following types can be named/recursive:

        - Pydantic model
        - Pydantic and stdlib dataclasses
        - Typed dictionaries
        - Named tuples
        - `TypeAliasType` instances
        - Enums
        N)r]   r  rÑ  r0   rP  ÚaddÚdiscard)r  rì   r=  s      r±   r  z_Definitions.get_schema_or_ref�
  sŽ   è ø€ ô, ˜2Óˆà�$×(Ñ(Ñ(¨C°4×3DÑ3DÑ,DØœ×?Ñ?ÀÓDÐEÓEà×"Ñ"×&Ñ& sÔ+ð4Ø˜D�kÒ!à×&Ñ&×.Ñ.¨sÕ3ø�×&Ñ&×.Ñ.¨sÕ3üs   ‚AB"Á B Á&B"ÂBÂB"c                ó8   — | j                   j                  |«      S )z,Resolve the schema from the given reference.)rÑ  rÍ   )r  r=  s     r±   r®  z _Definitions.get_schema_from_ref°
  s   € à× Ñ ×$Ñ$ SÓ)Ð)r³   c                óT   — |d   }|| j                   |<   t        j                  |«      S )z Store the schema as a definition and return a `'definition-reference'` schema pointing to it.

        The schema must have a reference attached to it.
        r=  )rÑ  r0   rP  )r  rÆ   r=  s      r±   r	  z/_Definitions.create_definition_reference_schema´
  s.   € ð
 �U‰mˆØ!'ˆ×Ñ˜#ÑÜ×6Ñ6°sÓ;Ð;r³   c                óD   — |d   D ]  }|| j                   |d   <   Œ |d   S )zZStore the definitions of the `'definitions'` core schema and return the inner core schema.rç  r=  rÆ   )rÑ  )r  rÆ   Ú
def_schemas      r±   r  z_Definitions.unpack_definitions½
  s6   € à  Ñ/ò 	>ˆJØ3=ˆD×Ñ˜j¨Ñ/Ò0ð	>à�hÑÐr³   c                ó  — | j                   }	 t        ||¬«      }i }|d   j	                  «       D ]±  \  }}|�•t        |«      x}dk7  r…|dk(  r2|j                  «        |j                  | j                  ||«      «       ŒO|dk(  sŒU|j                  d«      }	|j                  «        |j                  | j                  ||«      «       |	|d<   Œ�| j                  ||«      ||<   Œ³ |d   D ]`  }
|
d   j                  d	d«      }|€Œt        j                  |
j                  «       ||«      }|
j                  «        |
j                  |«       Œb |r't        j                  |g |j                  «       ¢¬
«      }|S # t        $ r}t        |‚d}~ww xY w)záFinalize the core schema.

        This traverses the core schema and referenced definitions, replaces `'definition-ref'` schemas
        by the referenced definition if possible, and applies deferred discriminators.
        )rç  NÚcollected_referencesrú  rû  rý  r>  Údeferred_discriminator_schemasrü  rø  )rÑ  rz   ry   rñ   rÙ   rÿ  Úclearr3  Ú_resolve_definitionrÉ  rT   rÐ  r	   r0   Údefinitions_schemarK  )r  rÆ   rç  Úgather_resultrˆ  Úremaining_defsr=  Úinlinable_def_refÚinlining_behaviorÚmetaÚcsrÔ  Úapplieds                r±   r×  z_Definitions.finalize_schemaÃ
  s¶  € ð ×'Ñ'ˆð	,Ü7ØØ'ôˆMð 13ˆð '4Ð4JÑ&K×&QÑ&QÓ&Sò 	QÑ"ˆCÐ"Ø Ð,ÔGYÐZkÓGlÐ2lÐ2CÐqwÒ1wØ$¨Ò0ð
 &×+Ñ+Ô-Ø%×,Ñ,¨T×-EÑ-EÀcÈ;Ó-WÕXØ&Ð*=Ó=ð -×0Ñ0°Ó<�DØ%×+Ñ+Ô-Ø%×,Ñ,¨T×-EÑ-EÀcÈ;Ó-WÔXØ48Ð% jÒ1ð
 '+×&>Ñ&>¸sÀKÓ&P�˜sÒ#ð+	Qð.  Ð @ÑAò 
	ˆBØ(*¨:©×(:Ñ(:Ð;bÐdhÓ(iˆMØÐ$ð Ü*×>Ñ>¸r¿w¹w»yÈ-ÐYgÓhˆGà�H‰HŒJØ�I‰I�gÕð
	ñ Ü ×3Ñ3¸6ÐOiÐQ_×QfÑQfÓQhÐOiÔjˆFØˆøôY &ò 	,Ü$¨!Ð+ûð	,ús   ŽE7 Å7	FÆ FÆFc                óü   — ||   }|d   dk7  r|S t        «       }|d   dk(  rTt        |«      dk(  rF|d   }||v rt        |› d�d¬«      ‚|j                  |«       ||   }|d   dk(  rt        |«      dk(  rŒFi |¥d|i¥S )	NrÄ   rª  rû  rL  z) contains a circular reference to itself.zcircular-reference-schemar¶   r=  )r¸   rÿ  rF   r  )r  r=  rç  Ú
definitionÚvisitedrL  s         r±   r  z _Definitions._resolve_definitioný
  s¼   € Ø  Ñ%ˆ
Ø�fÑÐ!1Ò1ØÐô  ›EˆØ˜Ñ Ð$4Ò4Ô9KÈJÓ9WÐ[cÒ9cØ# LÑ1ˆJØ˜WÑ$Ü'Ø�eÐDÐEÐLgôð ð �K‰K˜
Ô#Ø$ ZÑ0ˆJð ˜Ñ Ð$4Ò4Ô9KÈJÓ9WÐ[cÓ9cð *�*Ð)˜e SÑ)Ð)r³   NrÌ  )rì   r   rH  zCGenerator[tuple[str, core_schema.DefinitionReferenceSchema | None]])r=  r+  rH  úCoreSchema | None)rÆ   r*   rH  ú%core_schema.DefinitionReferenceSchema)rÆ   zcore_schema.DefinitionsSchemarH  r*   r¡  )r=  r+  rç  zdict[str, CoreSchema]rH  r*   )rò   ró   rô   rõ   rð  r  r   r  r®  r	  r  r×  r  rö   r³   r±   r  r  v
  sQ   … Ù4àÓðð 4Ó3ðóð ò4ó ð4ó@*ó<ó ó8ôt*r³   c                  ó2   — e Zd ZdZdd„Zedd„«       Zdd„Zy)	r   ©Ú_stackc                ó   — g | _         y rÀ   r  r  s    r±   r  z_FieldNameStack.__init__  s	   € Ø!#ˆ�r³   c              #  ó~   K  — | j                   j                  |«       d –— | j                   j                  «        y ­wrÀ   ©r  rÛ  rÉ  )r  rð  s     r±   r  z_FieldNameStack.push  s)   è ø€ à�‰×Ñ˜:Ô&ÛØ�‰�‰Õùó   ‚;=c                ó:   — | j                   r| j                   d   S y ©Nrâ   r  r  s    r±   rÍ   z_FieldNameStack.get  ó   € Ø�;Š;Ø—;‘;˜r‘?Ð"àr³   NrÌ  )rð  r+  rH  úIterator[None])rH  z
str | None©rò   ró   rô   rD  r  r   r  rÍ   rö   r³   r±   r   r     s%   „ Ø€Ió$ð òó ðô
r³   r   c                  ó2   — e Zd ZdZdd„Zedd„«       Zdd„Zy)	r  r  c                ó   — g | _         y rÀ   r  r  s    r±   r  z_ModelTypeStack.__init__&  s	   € Ø"$ˆ�r³   c              #  ó~   K  — | j                   j                  |«       d –— | j                   j                  «        y ­wrÀ   r!  )r  Útype_objs     r±   r  z_ModelTypeStack.push)  s)   è ø€ à�‰×Ñ˜8Ô$ÛØ�‰�‰Õùr"  c                ó:   — | j                   r| j                   d   S y r$  r  r  s    r±   rÍ   z_ModelTypeStack.get/  r%  r³   NrÌ  )r+  rÄ   rH  r&  )rH  ztype | Noner'  rö   r³   r±   r  r  #  s%   „ Ø€Ió%ð òó ðô
r³   r  )r¯   ÚFieldDecoratorInfor°   r+  rH  rØ   )r¼   zIterable[AnyFieldDecorator]r®   zIterable[str]rH  rË  )rÁ   z+Iterable[Decorator[FieldDecoratorInfoType]]r°   r+  rH  z'list[Decorator[FieldDecoratorInfoType]])rÆ   rÃ  rÑ   z'list[Decorator[ValidatorDecoratorInfo]]rH  rÃ  )r¯   zFieldInfo | ComputedFieldInforH  zAtuple[JsonDict | None, JsonDict | JsonSchemaExtraCallable | None])rë   zJsonEncoders | Nonerì   r   rÆ   r*   rH  r*   )rÆ   rÃ  r  z�Iterable[Decorator[RootValidatorDecoratorInfo]] | Iterable[Decorator[ValidatorDecoratorInfo]] | Iterable[Decorator[FieldValidatorDecoratorInfo]]rH  rÃ  )r  z+Iterable[Decorator[ValidatorDecoratorInfo]]rH  rØ   )r˜   z%str | AliasChoices | AliasPath | NonerH  z4str | list[str | int] | list[list[str | int]] | None)rÆ   rÃ  r  z0Iterable[Decorator[ModelValidatorDecoratorInfo]]re  z Literal['inner', 'outer', 'all']rH  rÃ  )r‘  r   rÆ   rÃ  rH  rÃ  )rì   r   rH  zGetJsonSchemaFunction | None)rÆ   r*   rç  r  rH  r  )rþ  r  rH  z.Literal['inline', 'keep', 'preserve_metadata'](  rõ   Ú
__future__r   Ú_annotationsÚcollections.abcr¨  rƒ  rY  rL  r“  r–  r5  Úsysr|  rè   r   r   r   r   Ú
contextlibr   r	   Údecimalr
   Úenumr   Ú	fractionsr   Ú	functoolsr   r   r   r   Ú	ipaddressr   r   r   r   r   r   Ú	itertoolsr   Úoperatorr   Útypesr   r   r   r   r   r   r   r    r!   r"   r#   r$   r%   r&   Úuuidr'   r  r(   ræ  Úpydantic_corer)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r5   r6   Útyping_inspectionr7   Útyping_inspection.introspectionr8   r9   r:   Úaliasesr<   r=   Úannotated_handlersr>   r?   r   r@   rA   rB   rC   ÚerrorsrD   rE   rF   Úfunctional_validatorsrG   rH   rI   rJ   rK   r5  rL   ÚversionrM   rN   rO   rP   rQ   rÔ   rS   rT   rU   rV   rW   Ú_configrX   rY   Ú_core_metadatarZ   r[   Ú_core_utilsr\   r]   r^   r_   r`   ra   rb   rc   rd   re   rf   rg   rh   ri   rj   Ú_docs_extractionrk   rú  rl   rm   rn   ro   rp   Ú_forward_refrq   Ú	_genericsrr   rs   Ú_import_utilsrt   ru   Ú_mock_val_serrv   Ú_namespace_utilsrw   rx   Ú_schema_gatherry   rz   Ú_schema_generation_sharedr{   Ú_utilsr|   r}   r®   r~   r   Úmainr�   r‚   Ú_dataclassesrƒ   r„   Úversion_inforÛ  r-  r‡   ÚAnyFieldDecoratorr‰   rð  rŠ   r‹   ÚTuplerÇ   rŒ   ÚListrI  r<  ÚMutableSequencer�   ÚSetr¸   Ú
MutableSetrŽ   Ú	FrozenSetÚ	frozensetr�   ÚDictrÊ   r�   r‘   r*  r’   r“   ÚTyperÄ   r”   r4  r•   r”  ÚPathr—  Ú	PosixPathÚPurePosixPathÚPureWindowsPathr–   ÚMutableMappingÚOrderedDictÚDefaultDictr¼  rk  ÚCounterrl  r©  r¢  r—   rÎ  r  r¦   r«   r²   r¾   rÂ   rÌ   rÞ   ÚJsonEncodersrï   Ú	Exceptionrñ   rø   rã  rÎ   r¥  r�  r  r§  râ  rã  rÿ  r  r   r  rö   r³   r±   ú<module>rg     sÚ  ðÚ 3å 2ã Û Û Û Û 	Û Û 	Û 
Û Û ß BÓ BÝ %Ý Ý Ý Ý Ý ß 8Ñ 8ß f× fÝ Ý ß DÓ D÷÷ ÷ õ Ý ã ÷
÷ 
õ 
÷ [Õ ZÝ ,ß aÑ aç -ß Kß OÓ Oß bÑ bß wÕ wÝ )Ý #÷ó ÷ aÕ `ß 6ß >÷ñ ÷
÷ ÷ ó õ :÷õ õ /ß ?ß MÝ )ß 9ß OÝ Cß 6áß5Ý Ý%Ý/Ý@à×&Ò&¨'Ñ1Ð àÐ1Ð3NÐPlÐlÑmÐ Ù Ð!9ÐASÔTÐ ØØÐ$Ñ%ØÐ)Ñ*ØÐ*Ñ+ð-ñÐ ð *>Ð ˜YÓ =Ø#+¨SÐ2MÐ,NÐP[×PfÑPfÐ,fÑ#gÐ �yÓ gØ SÐ �IÓ Sà!Ÿ<š<¨Ð/€ˆZÓ /Ø Ÿ+š+ t¨[¯_ª_×-LÒ-LÐM€
ˆJÓ MØŸš S¨+¯/ª/×*DÒ*DÐE€	ˆ:Ó EØ &× 0Ò 0°)¸[¿_º_×=PÒ=PÐQÐ �*Ó QØ Ÿ+š+ tÐ,€
ˆJÓ ,Ø# ]°KÀÈmÐ]hÐi€ˆ*Ó iØ$Ÿošo¨{¯ª×/GÒ/GÐH€�
Ó HØ$Ÿo™o¨{¯ª×/GÑ/GÈ×IYÑIYÐ[f×[jÒ[j×[tÑ[tÐu€�
Ó uØ Ÿ+š+ tÐ,€
ˆJÓ ,Ø#Ÿ^š^¨R¯ZªZÐ8€ˆzÓ 8à‡K‚KØ‡L‚LØ×ÒØ×ÒØ×ÒØ×Òð€
ˆJó ð ‡N�NØ
×ÒØ‡O‚O×ÑØ‡O‚O×"Ò"Ø×ÒØ×!Ò!Ø
×ÒØ×Òð	€ð ×$Ò$ f§n¢nÐ5€Ø&×,Ò,¨f¯lªlÐ;€ˆZÓ ;ð #ØØØØðñÐ ñ !)Ð)CÓ DÐ àØØ!ð Ð!Ð"ØØØØØØØØØðFÐ +Ð-Bó ð" Oð ¨À.ÐZgÑhð ð ó ið
,Ø
ð,àð,ð 
ó,ó"ð6nØDðnØMPðnà,ónð Ø"ð àAð ð ó ðF
AØ
'ð
AàFó
Að �D˜‘I˜{Ð*Ñ+€ðØ&ðØ,/ðØ9CðàóôD&˜ô &÷[!ñ [!ñDC fÙcÙVÙaÙiÙgÙZÙeñ	ð ð ó ð"Ø"ðð7ðð
 óó4ð Ø0ðà9óð,Ø"ð,à@ð,ð +ð,ð ó	,ó^ó2ó@ðØ2ðà3ó÷(W*ò W*÷tò ÷&ó r³   