ó
    Ð]j  ã                  ór   • S r SSKJr  SSKrSSKJrJrJr  SSKJ	r	J
r
  SSKJrJr  SS jr\
" S	\S
9rSS jrg)z&Useful decorators for Traitlets users.é    )ÚannotationsN)Ú	ParameterÚ	SignatureÚ	signature)ÚAnyÚTypeVaré   )Ú	HasTraitsÚ	Undefinedc                ó:   • U [         :X  a  [        R                  $ U $ )z:Get default argument value, given the trait default value.)r   r   Úempty)Úvalues    ÚW/home/mande/repo/quber/.venv/lib/python3.13/site-packages/traitlets/utils/decorators.pyÚ_get_defaultr      s   € à#¤yÓ0Œ9�?‰?Ð;°eÐ;ó    ÚT)Úboundc                óB  • U R                  5       R                  5        VVs/ s H4  u  pUR                  S5      (       a  M  U[        UR                  5      4PM6     nnn[        U R                  5      n[        UR                  5      n/ nSn/ nSn	UR                   Hå  n
[        R                  " UR                  U
   5      nUR                  [        R                  L d  UR                  [        R                  L a  UR                  U5        Ms  UR                  [        R                  L a  UnM”  UR                  [        R                   L a  UR                  U5        MÄ  UR                  [        R"                  L d  Mã  Un	Mç     U	c  [%        SU  S35      e/ nXÆSS -  nUb  UR                  U5        XÈ-  nUU VVs/ s H%  u  pX;  d  M  [        U[        R                   US9PM'     snn-  nUR                  U	5        ['        U5      U l        U $ s  snnf s  snnf )zYReturn a decorated class with a constructor signature that contain Trait names as kwargs.Ú_NzThe zh constructor does not take **kwargs, which means that the signature can not be expanded with trait namesé   )ÚkindÚdefault)Úclass_traitsÚitemsÚ
startswithr   Údefault_valuer   Ú__init__ÚlistÚ
parametersÚcopyr   r   ÚPOSITIONAL_ONLYÚPOSITIONAL_OR_KEYWORDÚappendÚVAR_POSITIONALÚKEYWORD_ONLYÚVAR_KEYWORDÚRuntimeErrorr   Ú__signature__)ÚclsÚnamer   ÚtraitsÚold_signatureÚold_parameter_namesÚold_positional_parametersÚold_var_positional_parameterÚold_keyword_only_parametersÚold_var_keyword_parameterÚparameter_nameÚ	parameterÚnew_parametersr   s                 r   Úsignature_has_traitsr5      s
  € ð ×+Ñ+Ó-×3Ñ3Ô5ôâ5‰KˆDØ�‰˜s×#ó 	2ˆŒ|˜E×/Ñ/Ó0Ó1Ù5ð ñ ô ˜cŸl™lÓ+€MÜ˜}×7Ñ7Ó8Ðà "ÐØ#'Ð Ø"$ÐØ $Ðà'×2Ô2ˆä—I’I˜m×6Ñ6°~ÑFÓGˆ	ð �N‰Nœi×7Ñ7Ò7Ø�~‰~¤×!@Ñ!@Ò@à%×,Ñ,¨YÖ7à�^‰^œy×7Ñ7Ò7Ø+4Ò(à�^‰^œy×5Ñ5Ò5Ø'×.Ñ.¨yÖ9à�^‰^œy×4Ñ4Ô4Ø(1Ò%ñ# 3ð* !Ñ(ÜØ�3�%Ðð  Aó
ð 	
ð €Nð °°Ð3Ñ3€Nð $Ñ/Ø×ÑÐ:Ô;ð Ñ1€Nð á#ôâ#‰MˆDØÑ*ó 	FŒ	�$œY×3Ñ3¸WÔEÙ#òñ €Nð ×ÑÐ3Ô4ä! .Ó1€CÔà€JùóCùóls   ¢HÁHÇ HÇH)r   r   Úreturnr   )r)   útype[T]r6   r7   )Ú__doc__Ú
__future__r   r    Úinspectr   r   r   Útypingr   r   Ú	traitletsr
   r   r   r   r5   © r   r   Ú<module>r>      s3   ðÙ ,Ý "ã ß 3Ñ 3ß ç ,ô<ñ
 ˆC�yÑ!€õCr   