
    h                    V    S SK Jr  S SKrSSKJrJr  SSKJrJr  SSK	J
r
JrJr  S	S jrg)
    )annotationsN   )_docstrings	_resolver)MISSING_AND_MISSING_NONPROPMISSING_NONPROP   )StructConstructorSpecStructFieldSpecStructTypeInfoc                   S[         R                  R                  5       ;  a  g SSKnUR                  U R                  5      (       d  g[        R                  " U R                  SS9n/ nUR                  U R                  5       GH  nUR                  (       d  M  UR                  nUR                  nU R                  [        ;  a4  [        U R                  U5      (       d   e[        U R                  U5      nO?XaR                   L a  ["        nO*[%        XaR&                  5      (       a  UR)                  5       nUR                  c   U5       eUR+                  [-        UX%   U[.        R0                  " U R                  XPR2                  5      S95        GM     [5        U R                  [7        U5      S9$ ! [         a     gf = f)z Rule for handling attrs classes.attrNr   T)include_extras)nametypedefaulthelptext)instantiatefields)sysmoduleskeysr   ImportErrorhasr   r   "get_type_hints_resolve_type_paramsr   initr   r   r   hasattrgetattrNOTHINGr   
isinstanceFactoryfactoryappendr   r   get_field_docstringmarkersr
   tuple)infor   	our_hints
field_list
attr_fieldr   r   s          ^/home/james-whalen/.local/lib/python3.13/site-packages/tyro/constructors/_struct_spec_attrs.py
attrs_ruler,   
   sp    S[[%%'' 88DII <<		$I
 Jkk$)),
 $$<<::4<<....dllD1G$%G..oo'G*6J6*_$88D,,W		
# -2 !TYYuZ?PQQS   s   F8 8
GG)r'   r   returnzStructConstructorSpec | None)
__future__r   r    r   r   
_singletonr   r   _struct_specr
   r   r   r,        r+   <module>r4      s    " 
 % E P P1Rr3   