ó
    pyüi˜  ã                  ó   • S SK Jr  S SKrS SKJrJr  S SKJrJrJ	r	  S SK
Jr  SSKJr  SSKJr  \(       a  S	S
KJr  S	SKJr   " S S5      r\" 5       rSS jrSS jr          SS jr S           SS jjrg)é    )ÚannotationsN)Ú	ParameterÚ	Signature)ÚTYPE_CHECKINGÚAnyÚCallable)ÚPydanticUndefinedé   )Úsignature_no_eval)Úis_valid_identifieré   )ÚExtraValues©Ú	FieldInfoc                  ó   • \ rS rSrS rSrg)Ú_HAS_DEFAULT_FACTORY_CLASSé   c                ó   • g)Nz	<factory>© )Úselfs    ÚZ/home/mande/repo/quber/.venv/lib/python3.13/site-packages/pydantic/_internal/_signature.pyÚ__repr__Ú#_HAS_DEFAULT_FACTORY_CLASS.__repr__   s   € Øó    r   N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r   Ú__static_attributes__r   r   r   r   r      s   † õr   r   c                ó  • [        UR                  [        5      (       a&  [        UR                  5      (       a  UR                  $ [        UR                  [        5      (       a&  [        UR                  5      (       a  UR                  $ U $ )a²  Extract the correct name to use for the field when generating a signature.

Assuming the field has a valid alias, this will return the alias. Otherwise, it will return the field name.
First priority is given to the alias, then the validation_alias, then the field name.

Args:
    field_name: The name of the field
    field_info: The corresponding FieldInfo object.

Returns:
    The correct name to use when generating a signature.
)Ú
isinstanceÚaliasÚstrr   Úvalidation_alias)Ú
field_nameÚ
field_infos     r   Ú_field_name_for_signaturer'      sj   € ô �*×"Ñ"¤C×(Ñ(Ô-@À×AQÑAQ×-RÑ-RØ×ÑÐÜ�*×-Ñ-¬s×3Ñ3Ô8KÈJ×LgÑLg×8hÑ8hØ×*Ñ*Ð*àÐr   c                óJ  • SSK Jn  U R                  n[        X!5      (       a€  U R                  nUS:X  a  [
        nUR                  nU[        L a.  UR                  c  [        R                  nO[        R                  nU R                  U[        U R                  U5      US9$ U $ )zÉModify the signature for a parameter in a dataclass where the default value is a FieldInfo instance.

Args:
    param (Parameter): The parameter

Returns:
    Parameter: The custom processed parameter
r   r   r   )Ú
annotationÚnameÚdefault)Úfieldsr   r+   r!   r)   r   r	   Údefault_factoryr   ÚemptyÚdataclassesÚ_HAS_DEFAULT_FACTORYÚreplacer'   r*   )Úparamr   Úparam_defaultr)   r+   s        r   Ú_process_param_defaultsr4   /   sž   € õ #à—M‘M€MÜ�-×+Ñ+Ø×%Ñ%ˆ
ð ˜ÓÜˆJð  ×'Ñ'ˆØÔ'Ò'Ø×,Ñ,Ñ4Ü#Ÿ/™/‘ô &×:Ñ:�Ø�}‰}Ø!Ô(AÀ%Ç*Á*ÈmÓ(\Ðfmð ð 
ð 	
ð €Lr   c                óÊ  • SSK Jn  [        U 5      R                  R	                  5       n0 nSnSnU" USS5       H¾  n	UR                  U	R                  5      (       aM  [        XR                     SS5      SL a  MA  U	R                  [        U	R                  XR                     5      S9n	U	R                  S	:X  a  U	R                  [        S
9n	U	R                  U	R                  L a  U	nM°  X–U	R                  '   MÀ     U(       aÀ  Un
UR                  5        Hª  u  p¼[        X¼5      nX¶;   d  XÖ;   a  M  [        U5      (       d  U
(       a  UnOSnM:  UR!                  5       (       a  ["        R$                  nO UR&                  b  [(        nOUR*                  n[#        U["        R,                  UR/                  5       US9Xm'   M¬     US:X  a  SnU(       aŒ  U(       a…  S["        R0                  4S["        R                  4/nU Vs/ s H  nUR                  UR                  4PM     snU:X  a  SnOUR                  nUU;   a  US-  nUU;   a  M  UR                  US9UU'   U$ s  snf )zaGenerate a mapping of parameter names to Parameter objects for a pydantic BaseModel or dataclass.r   )ÚisliceNFr
   ÚinitT)r*   r   )r)   )r)   r+   Úallowr   ÚdataÚ
extra_dataÚ_)Ú	itertoolsr6   r   Ú
parametersÚvaluesÚgetr*   Úgetattrr1   r'   r)   r   ÚkindÚVAR_KEYWORDÚitemsr   Úis_requiredr   r.   r-   r0   r+   ÚKEYWORD_ONLYÚrebuild_annotationÚPOSITIONAL_ONLY)r7   r,   Úvalidate_by_nameÚextrar6   Úpresent_paramsÚmerged_paramsÚvar_kwÚ
use_var_kwr2   Úallow_namesr%   ÚfieldÚ
param_namer+   Údefault_model_signatureÚpÚvar_kw_names                     r   Ú_generate_signature_parametersrT   Q   s4  € õ !ä& tÓ,×7Ñ7×>Ñ>Ó@€NØ*,€MØ€FØ€Já˜¨¨4Ö0ˆð �:‰:�e—j‘j×!Ñ!ä�vŸj™jÑ)¨6°4Ó8¸EÒAÙØ—M‘MÔ'@ÀÇÁÈV×T^ÑT^ÑM_Ó'`�MÐaˆEØ×Ñ˜uÓ$Ø—M‘M¬S�MÐ1ˆEØ�:‰:˜×*Ñ*Ò*ØˆFÙØ$)�e—j‘jÓ!ñ 1ö Ø&ˆØ!'§¡¦ÑˆJä2°:ÓEˆJàÓ*¨jÓ.IÙä& z×2Ñ2ÞØ!+‘Jà!%�JÙà× Ñ ×"Ñ"Ü#Ÿ/™/‘Ø×&Ñ&Ñ2ä.‘àŸ-™-�Ü(1ØÜ×&Ñ&Ø ×3Ñ3Ó5Øñ	)ˆMÓ%ñ+ "0ð8 �ÓØˆ
æ–*ð ”Y×.Ñ.Ð/Ø”Y×*Ñ*Ð+ð#
Ðñ '5Ó5¢n ˆQ�V‰V�Q—V‘VÓ¡nÑ5Ð9PÓPà&‰Kð !Ÿ+™+ˆKð ˜VÓ#Ø˜3ÑˆKð ˜VÕ#à%+§^¡^¸ ^Ð%Eˆ�kÑ"àÐùò 6s   È"I c                óÒ   • [        XX#5      nU(       a.  UR                  5        VVs0 s H  u  pgU[        U5      _M     nnn[        [	        UR                  5       5      SS9$ s  snnf )aU  Generate signature for a pydantic BaseModel or dataclass.

Args:
    init: The class init.
    fields: The model fields.
    validate_by_name: The `validate_by_name` value of the config.
    extra: The `extra` value of the config.
    is_dataclass: Whether the model is a dataclass.

Returns:
    The dataclass/BaseModel subclass signature.
N)r=   Úreturn_annotation)rT   rC   r4   r   Úlistr>   )r7   r,   rH   rI   Úis_dataclassrK   ÚkÚvs           r   Úgenerate_pydantic_signaturer[   ¥   sb   € ô& 3°4ÐAQÓY€MæØCP×CVÑCVÔCXÔYÒCX¹4¸1˜Ô3°AÓ6Ò6ÑCXˆÑYä¤ ]×%9Ñ%9Ó%;Ó <ÐPTÑUÐUùó Zs   §A#)r%   r#   r&   r   Úreturnr#   )r2   r   r\   r   )
r7   úCallable[..., None]r,   údict[str, FieldInfo]rH   ÚboolrI   úExtraValues | Noner\   zdict[str, Parameter])F)r7   r]   r,   r^   rH   r_   rI   r`   rX   r_   r\   r   )Ú
__future__r   r/   Úinspectr   r   Útypingr   r   r   Úpydantic_corer	   Ú_typing_extrar   Ú_utilsr   Úconfigr   r,   r   r   r0   r'   r4   rT   r[   r   r   r   Ú<module>rh      sÉ   ðÝ "ã ß (ß /Ñ /å +å ,Ý 'æÝ$Ý"÷ñ ñ
 2Ó3Ð ôô*ðDQØ
ðQà ðQð ðQð ð	Qð
 ôQðr ðVØ
ðVà ðVð ðVð ð	Vð
 ðVð öVr   