Ë
    ¬;j’S  ã                   óú  — d Z ddl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 dd
lmZ ddlmZmZmZ ddl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%m&Z&  G d„ d«      Z' G d„ de«      Z( G d„ de(«      Z) G d„ de«      Z* G d„ dee«      Z+ G d„ dee«      Z, G d„ d ee«      Z- G d!„ d"e«      Z. G d#„ d$e«      Z/d%d&d'd(d&d)œZ0d*„ Z1d+„ Z2d,„ Z3d-„ Z4e3 e«       d.„ «       «       Z5y)/z$
Imitate the parser representation.
é    N)Úpartial)Ú	Parameter)ÚPath)ÚOptional)Údebug)Úto_list)Úmemoize_method)ÚAbstractFilter)ÚAbstractNameDefinitionÚValueNameMixinÚParamNameInterface)ÚValueÚValueSetÚ	NO_VALUES)ÚLazyKnownValue)Ú	_sentinel)Úinference_state_function_cache)Úreraise_getitem_errors)ÚBuiltinSignature)ÚCompiledContextÚCompiledModuleContextc                   ó$   — e Zd ZdZdd„Zd„ Zd„ Zy)ÚCheckAttributezARaises :exc:`AttributeError` if the attribute X is not available.Nc                 ó   — || _         y ©N)Ú
check_name)Úselfr   s     ún/workspace/moltex-experiments/.pixi/envs/default/lib/python3.12/site-packages/jedi/inference/compiled/value.pyÚ__init__zCheckAttribute.__init__   s	   € à$ˆ�ó    c                 óT   — || _         | j                  €|j                  dd  | _        | S )Né   )Úfuncr   Ú__name__)r   r#   s     r   Ú__call__zCheckAttribute.__call__   s*   € ØˆŒ	Ø�?‰?Ð"Ø"Ÿm™m¨A¨BÐ/ˆDŒOØˆr    c                 ó€   — |€| S |j                   j                  | j                  «       t        | j                  |«      S r   )Úaccess_handleÚgetattr_pathsr   r   r#   )r   ÚinstanceÚowners      r   Ú__get__zCheckAttribute.__get__%   s8   € ØÐØˆKð 	×Ñ×,Ñ,¨T¯_©_Ô=Ü�t—y‘y (Ó+Ð+r    r   )r$   Ú
__module__Ú__qualname__Ú__doc__r   r%   r+   © r    r   r   r      s   „ ÙKó%òó,r    r   c                   óˆ  ‡ — e Zd Zd%ˆ fd„	Zˆ fd„Z e«       d„ «       Z e«       d„ «       Z e«       d„ «       Zd„ Z	d„ Z
d„ Zd	„ Zd
„ Zd„ Zd„ Zd„ Zd„ Zed„ «       Zd„ Zd„ Zed„ «       Zed„ «       Zd&d„Zed„ «       Zˆ fd„Zˆ fd„Zd%ˆ fd„	Zd„ Zed„ «       Z d„ Z!e"fd„Z#d„ Z$ˆ fd„Z%d„ Z&d „ Z'd!„ Z(ed"„ «       Z)d#„ Z*d'd$„Z+ˆ xZ,S )(ÚCompiledValuec                 ó4   •— t         ‰| �  ||«       || _        y r   )Úsuperr   r'   )r   Úinference_stater'   Úparent_contextÚ	__class__s       €r   r   zCompiledValue.__init__/   s   ø€ Ü‰Ñ˜¨.Ô9Ø*ˆÕr    c                 óÔ  •— | j                   j                  «       }|�/t        | j                  |«      j	                  |j
                  «      S 	 | j                   j                  d«       | j                   j                  «       r/ddlm	} t         || j                  | j                  | |«      g«      S t        | j                  |«      «      S # t        $ r t        ‰| �=  |«      cY S w xY w)Nr%   r   )ÚCompiledInstance)r'   Úget_return_annotationÚcreate_from_access_pathr4   Úexecute_annotationÚcontextr(   Úis_classÚjedi.inference.valuer8   r   r5   Ú_execute_functionÚAttributeErrorr3   Ú
py__call__)r   Ú	argumentsÚreturn_annotationr8   r6   s       €r   rA   zCompiledValue.py__call__3   sâ   ø€ Ø ×.Ñ.×DÑDÓFÐØÐ(Ü*Ø×$Ñ$Ø!ó÷ !Ñ  ×!2Ñ!2Ó3ð4ð
	CØ×Ñ×,Ñ,¨ZÔ8ð ×!Ñ!×*Ñ*Ô,ÝAÜÙ$ T×%9Ñ%9¸4×;NÑ;NÐPTÐV_Ó`ð!ó ð ô   × 6Ñ 6°yÓ AÓBÐBøô ò 	1Ü‘7Ñ% iÓ0Ò0ð	1ús   ÁC ÃC'Ã&C'c                 ó^   — t        | j                  | j                  j                  «       «      S r   )r:   r4   r'   Úpy__class__©r   s    r   rE   zCompiledValue.py__class__H   s$   € ä& t×';Ñ';¸T×=OÑ=O×=[Ñ=[Ó=]Ó^Ð^r    c                 ód   ‡ — ‰ ft        ˆ fd„‰ j                  j                  «       D «       «      z   S )Nc              3   óJ   •K  — | ]  }t        ‰j                  |«      –— Œ y ­wr   ©r:   r4   ©Ú.0Úaccessr   s     €r   Ú	<genexpr>z*CompiledValue.py__mro__.<locals>.<genexpr>N   s&   øè ø€ ð 
á@�ô $ D×$8Ñ$8¸&×AÙ@ùó   ƒ #)Útupler'   Úpy__mro__accessesrF   s   `r   Ú	py__mro__zCompiledValue.py__mro__L   s5   ø€ àˆwœó 
à×,Ñ,×>Ñ>Ô@ó
ó 
ñ 
ð 	
r    c                 ó\   ‡ — t        ˆ fd„‰ j                  j                  «       D «       «      S )Nc              3   óJ   •K  — | ]  }t        ‰j                  |«      –— Œ y ­wr   rI   rJ   s     €r   rM   z,CompiledValue.py__bases__.<locals>.<genexpr>U   s&   øè ø€ ð 
á:�ô $ D×$8Ñ$8¸&×AÙ:ùrN   )rO   r'   Úpy__bases__rF   s   `r   rT   zCompiledValue.py__bases__S   s,   ø€ äó 
à×,Ñ,×8Ñ8Ô:ó
ó 
ð 	
r    c                 ó6   — | j                   j                  «       S r   )r'   Úget_qualified_namesrF   s    r   rV   z!CompiledValue.get_qualified_namesZ   s   € Ø×!Ñ!×5Ñ5Ó7Ð7r    c                 ó6   — | j                   j                  «       S r   )r'   Ú
py__bool__rF   s    r   rX   zCompiledValue.py__bool__]   ó   € Ø×!Ñ!×,Ñ,Ó.Ð.r    c                 ó6   — | j                   j                  «       S r   )r'   r=   rF   s    r   r=   zCompiledValue.is_class`   s   € Ø×!Ñ!×*Ñ*Ó,Ð,r    c                 ó6   — | j                   j                  «       S r   )r'   Úis_functionrF   s    r   r\   zCompiledValue.is_functionc   ó   € Ø×!Ñ!×-Ñ-Ó/Ð/r    c                 ó6   — | j                   j                  «       S r   )r'   Ú	is_modulerF   s    r   r_   zCompiledValue.is_modulef   ó   € Ø×!Ñ!×+Ñ+Ó-Ð-r    c                  ó   — y)NTr/   rF   s    r   Úis_compiledzCompiledValue.is_compiledi   s   € Ør    c                  ó   — y)NFr/   rF   s    r   Úis_stubzCompiledValue.is_stubl   s   € Ør    c                 ó6   — | j                   j                  «       S r   )r'   Úis_instancerF   s    r   rf   zCompiledValue.is_instanceo   r]   r    c                 ó6   — | j                   j                  «       S r   )r'   Ú	py__doc__rF   s    r   rh   zCompiledValue.py__doc__r   r`   r    c              #   ó¦  K  — 	 | j                   j                  «       }|D ]  }t        | |«      –— Œ y # t        $ r‘ | j	                  «       \  }}|sg }n|j                  d«      }| j                   j                  «       r|j                  dd«       |D ]4  }|j                  «       j                  d«      \  }}}	t        | ||	«      –— Œ6 Y y w xY w­w)NÚ,r   r   Ú=)r'   Úget_signature_paramsÚSignatureParamNameÚ
ValueErrorÚ_parse_function_docÚsplitÚismethoddescriptorÚinsertÚstripÚ	partitionÚUnresolvableParamName)
r   Úsignature_paramsÚsignature_paramÚ
params_strÚretÚtokensÚpÚnameÚ_Údefaults
             r   Úget_param_nameszCompiledValue.get_param_namesu   sÌ   è ø€ ð	@Ø#×1Ñ1×FÑFÓHÐó $4�Ü(¨¨Ó?Ó?ñ $4øô ò 
	AØ"×6Ñ6Ó8‰OˆJ˜ÙØ‘à#×)Ñ)¨#Ó.�Ø×!Ñ!×4Ñ4Ô6Ø—‘˜a Ô(Û�Ø#$§7¡7£9×#6Ñ#6°sÓ#;Ñ ��a˜Ü+¨D°$¸Ó@Ó@ò ð
	Aüs&   ‚C„4 žC´BCÃCÃCÃCc                 óB   — | j                  «       \  }}t        | |«      gS r   )ro   r   )r   r}   Úreturn_strings      r   Úget_signatureszCompiledValue.get_signaturesˆ   s%   € Ø×3Ñ3Ó5Ñˆˆ=Ü   }Ó5Ð6Ð6r    c                 ól   — d| j                   j                  ›d| j                  j                  «       ›d�S ©NÚ<ú: Ú>)r6   r$   r'   Úget_reprrF   s    r   Ú__repr__zCompiledValue.__repr__Œ   s&   � Ø!Ÿ^™^×4Ó4°d×6HÑ6H×6QÑ6QÕ6SÐTÐTr    c                 ó>   — | j                  «       }|€yt        |«      S )N)Ú r‹   )rh   ro   )r   Údocs     r   ro   z!CompiledValue._parse_function_doc�   s!   € à�n‰nÓˆØˆ;Øä" 3Ó'Ð'r    c                 ó6   — | j                   j                  «       S r   )r'   Úget_api_typerF   s    r   Úapi_typezCompiledValue.api_type—   s   € à×!Ñ!×.Ñ.Ó0Ð0r    c              #   ó2   K  — | j                  |«      –— y ­wr   )Ú_ensure_one_filter)r   rf   Úorigin_scopes      r   Úget_filterszCompiledValue.get_filters›   s   è ø€ Ø×%Ñ% kÓ2Ó2ùs   ‚c                 ó0   — t        | j                  | |«      S r   )ÚCompiledValueFilterr4   )r   rf   s     r   r‘   z CompiledValue._ensure_one_filterž   s   € ä" 4×#7Ñ#7¸¸{ÓKÐKr    c                 óx  •— t        t        t        t        «      5  	 | j                  j                  || j                  j                   ¬«      }	 d d d «       €t        ‰| �  |«      S t        t        | j                  |«      g«      S # t        $ r t        ‰| �  |«      cY cd d d «       S w xY w# 1 sw Y   ŒaxY w©N)Úsafe)r   Ú
IndexErrorÚKeyErrorÚ	TypeErrorr'   Úpy__simple_getitem__r4   Úallow_unsafe_executionsr@   r3   r   r:   )r   ÚindexrL   r6   s      €r   rœ   z"CompiledValue.py__simple_getitem__¢   s²   ø€ Ü#¤J´¼)ÕDð;Ø×+Ñ+×@Ñ@ØØ!×1Ñ1×IÑIÐIð Aó ‘÷ Eð ˆ>Ü‘7Ñ/°Ó6Ð6äÔ0°×1EÑ1EÀvÓNÐOÓPÐPøô "ò ;Ü‘wÑ3°EÓ:Ñ:÷ EÑDð;ú÷ EÐDús(   ›B0�2B	Â	B-Â!B0Â,B-Â-B0Â0B9c                 ó†   •‡ — ‰ j                   j                  «       }|€t        ‰‰ �  ||«      S t	        ˆ fd„|D «       «      S )Nc              3   óJ   •K  — | ]  }t        ‰j                  |«      –— Œ y ­wr   rI   rJ   s     €r   rM   z.CompiledValue.py__getitem__.<locals>.<genexpr>¶   s&   øè ø€ ð 
á*�ô $ D×$8Ñ$8¸&×AÙ*ùrN   )r'   Úpy__getitem__all_valuesr3   Úpy__getitem__r   )r   Úindex_value_setÚcontextualized_nodeÚall_access_pathsr6   s   `   €r   r¢   zCompiledValue.py__getitem__°   sM   ù€ Ø×-Ñ-×EÑEÓGÐØÐ#ô ‘7Ñ(¨Ð:MÓNÐNÜó 
á*ó
ó 
ð 	
r    c              #   óþ   •K  — | j                   j                  «       st        ‰| �  |«      E d {  –—†  | j                   j	                  «       }|€y |D ]#  }t        t        | j                  |«      «      –— Œ% y 7 ŒJ­wr   )r'   Úhas_iterr3   Ú
py__iter__Úpy__iter__listr   r:   r4   )r   r¤   Úaccess_path_listrL   r6   s       €r   r¨   zCompiledValue.py__iter__»   ss   øè ø€ Ø×!Ñ!×*Ñ*Ô,Ü‘wÑ)Ð*=Ó>×>Ð>à×-Ñ-×<Ñ<Ó>ÐØÐ#àã&ˆFÜ Ô!8¸×9MÑ9MÈvÓ!VÓWÓWñ 'ð ?ús   ƒ-A=°A;±AA=c                 ó6   — | j                   j                  «       S r   )r'   Ú
py__name__rF   s    r   r¬   zCompiledValue.py__name__Ç   rY   r    c                 ór   — | j                  «       }|€| j                  j                  «       }t        | |«      S r   )r¬   r'   rˆ   ÚCompiledValueName©r   r|   s     r   r|   zCompiledValue.nameÊ   s4   € à�‰Ó ˆØˆ<Ø×%Ñ%×.Ñ.Ó0ˆDÜ   tÓ,Ð,r    c              #   ó¶  K  — ddl m} ddlm} | j                  dk7  ry | j                  «       d   j                  «       D ]i  }	 | j                  j                  j                  j                  |«        || j                  |«      }| j                  j                  ||«      E d {  –—†  Œk |j                  | «      E d {  –—†  y 7 Œ # t        $ r Y Œ“w xY w7 Œ­w)Nr   )Ú
docstrings©Úbuiltin_from_nameÚfunctioné   )Újedi.inferencer±   Újedi.inference.compiledr³   r�   ro   rp   r4   Úbuiltins_moduler'   r(   Úexecuter@   Úinfer_return_types)r   Úparamsr±   r³   r|   Úbltn_objs         r   r?   zCompiledValue._execute_functionÑ   sÊ   è ø€ Ý-Ý=Ø�=‰=˜JÒ&Øà×,Ñ,Ó.¨qÑ1×7Ñ7Ö9ˆDðJð ×$Ñ$×4Ñ4×BÑB×PÑPÐQUÔVñ -¨T×-AÑ-AÀ4ÓH�Ø×/Ñ/×7Ñ7¸À&ÓI×IÑIð :ð ×0Ñ0°Ó6×6Ñ6ð Jùô	 "ò Ùðúð
 	7úsB   ‚ACÁ/CÁ32CÂ%CÂ&CÃ CÃCÃ	CÃCÃCÃCc                 ón   — 	 | j                   j                  «       S # t        $ r |t        k(  r‚ |cY S w xY wr   )r'   Úget_safe_valuern   r   )r   r~   s     r   r¾   zCompiledValue.get_safe_valueã   s;   € ð	Ø×%Ñ%×4Ñ4Ó6Ð6øÜò 	Øœ)Ò#ØØŠNð	ús   ‚ œ4³4c           	      ó¶   — 	 t        t        | j                  | j                  j	                  |j                  |«      «      g«      S # t
        $ r	 t        cY S w xY wr   )r   r:   r4   r'   Úexecute_operationr›   r   )r   ÚotherÚoperators      r   rÀ   zCompiledValue.execute_operationë   s]   € ð	ÜÔ4Ø×$Ñ$Ø×"Ñ"×4Ñ4°U×5HÑ5HÈ(ÓSóð ó ð øô ò 	ÜÒð	ús   ‚AA ÁAÁAc           	      ó  •‡— | j                   j                  «       dk(  rt        | g«      S | j                   j                  «       \  }}|D �cg c]"  }t        t	        | j
                  |«      g«      ‘Œ$ }}|dk(  rt        j                  ˆfd„|D «       «      S |rZt        | j
                  j                  j                  |«      D �cg c]  }|j                  |«      ‘Œ c}«      j                  ‰«      S t        ‰| �)  ‰«      S c c}w c c}w )NÚNoneÚUnionc              3   ó@   •K  — | ]  }|j                  ‰«      –— Œ y ­wr   )r;   )rK   Úargr<   s     €r   rM   z3CompiledValue.execute_annotation.<locals>.<genexpr>ÿ   s$   øè ø€ ð &&á$�Cð ×&Ñ& w×/Ù$ùs   ƒ)r'   rˆ   r   Úget_annotation_name_and_argsr:   r4   Ú	from_setsÚtyping_moduleÚpy__getattribute__Úwith_genericsr;   r3   )r   r<   r|   ÚargsÚpathrB   Úvr6   s    `     €r   r;   z CompiledValue.execute_annotationô   s  ù€ Ø×Ñ×&Ñ&Ó(¨FÒ2ä˜T˜FÓ#Ð#à×'Ñ'×DÑDÓF‰
ˆˆdñ ó
á�ô Ô-¨d×.BÑ.BÀDÓIÐJÕKØð 	ð 
ð �7Š?Ü×%Ñ%ó &&á$ó&&ó &ð &ñ ô à×-Ñ-×;Ñ;×NÑNÈtÔTóáT�Að —‘ 	Õ*ØTñó ÷ "Ñ! 'Ó*ð+ô ‰wÑ)¨'Ó2Ð2ùò!
ùòs   Á'DÃD	c                 ó^   — t        | j                  | j                  j                  «       «      S r   )r:   r4   r'   ÚnegaterF   s    r   rÑ   zCompiledValue.negate  s$   € Ü& t×';Ñ';¸T×=OÑ=O×=VÑ=VÓ=XÓYÐYr    c                 ó   — t         S r   ©r   rF   s    r   Úget_metaclasseszCompiledValue.get_metaclasses  ó   € ÜÐr    c                 ó   — t        | «      S r   )r   rF   s    r   Ú_as_contextzCompiledValue._as_context  s   € Ü˜tÓ$Ð$r    c                 ó6   — | j                   j                  «       S r   )r'   Úget_array_typerF   s    r   Ú
array_typezCompiledValue.array_type  s   € à×!Ñ!×0Ñ0Ó2Ð2r    c                 ó„   — | j                   j                  «       D �cg c]  }t        | j                  |«      ‘Œ c}S c c}w r   )r'   Úget_key_pathsr:   r4   )r   Úks     r   Úget_key_valueszCompiledValue.get_key_values  sE   € ð ×'Ñ'×5Ñ5Ô7ó
á7�ô $ D×$8Ñ$8¸!Õ<Ø7ñ
ð 	
ùò 
s   �=c                 ó>   — | j                   j                  «       dv ryy )N)rÄ   z<class 'NoneType'>rÄ   )r'   rˆ   )r   Úadd_class_infos     r   Úget_type_hintzCompiledValue.get_type_hint  s    € Ø×Ñ×&Ñ&Ó(Ð,JÑJØØr    r   )FN)T)-r$   r,   r-   r   rA   r   rE   rQ   rT   rV   rX   r=   r\   r_   rb   rd   rf   rh   r   r   r‚   r‰   r	   ro   Úpropertyr�   r“   r‘   rœ   r¢   r¨   r¬   r|   r?   r   r¾   rÀ   r;   rÑ   rÔ   r×   rÚ   rÞ   rá   Ú__classcell__)r6   s   @r   r1   r1   .   sW  ø„ õ+ôCñ* Óñ_ó ð_ñ Óñ
ó ð
ñ Óñ
ó ð
ò8ò/ò-ò0ò.òòò0ò.ð ñ@ó ð@ò$7òUð ñ(ó ð(ð ñ1ó ð1ó3ð ñLó ðLôQô	
õ
Xò/ð ñ-ó ð-ò7ð$ &/ó òô3ò0Zòò%ð ñ3ó ð3ò
÷r    r1   c                   óD   — e Zd ZdZd„ Zd„ Zd„ Zed„ «       Zde	e
   fd„Zy)ÚCompiledModuleNc                 ó   — t        | «      S r   )r   rF   s    r   r×   zCompiledModule._as_context(  s   € Ü$ TÓ*Ð*r    c                 ó6   — | j                   j                  «       S r   )r'   Ú
py__path__rF   s    r   rè   zCompiledModule.py__path__+  rY   r    c                 ó&   — | j                  «       d uS r   )rè   rF   s    r   Ú
is_packagezCompiledModule.is_package.  s   € Ø�‰Ó ¨Ð,Ð,r    c                 ó\   — | j                  «       }|€yt        |j                  d«      «      S )Nr/   Ú.)r¬   rO   rp   r¯   s     r   Ústring_nameszCompiledModule.string_names1  s+   € ð �‰Ó ˆØˆ<ØÜ�T—Z‘Z “_Ó%Ð%r    Úreturnc                 ó6   — | j                   j                  «       S r   )r'   Ú
py__file__rF   s    r   rð   zCompiledModule.py__file__9  rY   r    )r$   r,   r-   Úfile_ior×   rè   rê   râ   rí   r   r   rð   r/   r    r   rå   rå   %  s:   „ Ø€Gò+ò/ò-ð ñ&ó ð&ð/˜H T™Nô /r    rå   c                   óP   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zed„ «       Z	d„ Z
ed„ «       Zy	)
ÚCompiledNamec                 óf   — || _         |j                  «       | _        || _        || _        || _        y r   )Ú_inference_stateÚ
as_contextr5   Ú_parent_valueÚstring_nameÚis_descriptor)r   r4   Úparent_valuer|   rù   s        r   r   zCompiledName.__init__>  s3   € Ø /ˆÔØ*×5Ñ5Ó7ˆÔØ)ˆÔØˆÔØ*ˆÕr    c                 ó>   — | j                  «       j                  «       S r   )Úinfer_compiled_valuerh   rF   s    r   rh   zCompiledName.py__doc__E  s   € Ø×(Ñ(Ó*×4Ñ4Ó6Ð6r    c                 ó\   — | j                   j                  «       }|€y || j                  fz   S r   )r5   rV   rø   )r   Úparent_qualified_namess     r   Ú_get_qualified_namesz!CompiledName._get_qualified_namesH  s4   € Ø!%×!4Ñ!4×!HÑ!HÓ!JÐØ!Ð)ØØ%¨×)9Ñ)9Ð(;Ñ;Ð;r    c                 ó�   — | j                   }|j                  «       s|j                  «       r| j                   j                  «       S y r   )r5   r_   r=   Ú	get_value)r   r<   s     r   Úget_defining_qualified_valuez)CompiledName.get_defining_qualified_valueN  s<   € Ø×%Ñ%ˆØ×ÑÔ '×"2Ñ"2Ô"4Ø×&Ñ&×0Ñ0Ó2Ð2àr    c                 ó¦   — 	 | j                   j                  }d| j                  j                  ›d|›d| j
                  ›d�S # t        $ r d }Y Œ7w xY w)Nr…   z: (z).r‡   )r5   r|   r@   r6   r$   rø   r¯   s     r   r‰   zCompiledName.__repr__U  sN   € ð	Ø×&Ñ&×+Ñ+ˆDøð #'§.¡.×"9Ó"9º4À×AQÓAQÐRÐRøô ò 	ØŠDð	ús   ‚A ÁAÁAc                 óP   — | j                   ry| j                  «       j                  S )Nr)   )rù   rü   r�   rF   s    r   r�   zCompiledName.api_type\  s%   € à×Òð Ø×(Ñ(Ó*×3Ñ3Ð3r    c                 ó6   — t        | j                  «       g«      S r   )r   rü   rF   s    r   ÚinferzCompiledName.infere  s   € Ü˜×2Ñ2Ó4Ð5Ó6Ð6r    c                 óX   — t        | j                  | j                  | j                  «      S r   )Úcreate_from_namerõ   r÷   rø   rF   s    r   rü   z!CompiledName.infer_compiled_valueh  s#   € ä × 5Ñ 5°t×7IÑ7IÈ4×K[ÑK[Ó\Ð\r    N)r$   r,   r-   r   rh   rÿ   r  r‰   râ   r�   r  r	   rü   r/   r    r   ró   ró   =  sK   „ ò+ò7ò<òòSð ñ4ó ð4ò7ð ñ]ó ñ]r    ró   c                   ó4   — e Zd Zd„ Zed„ «       Zd„ Zd„ Zd„ Zy)rm   c                 ó4   — |j                   | _         || _        y r   )r5   Ú_signature_param)r   Úcompiled_valuerw   s      r   r   zSignatureParamName.__init__n  s   € Ø,×;Ñ;ˆÔØ /ˆÕr    c                 ó.   — | j                   j                  S r   )r  r|   rF   s    r   rø   zSignatureParamName.string_namer  s   € à×$Ñ$×)Ñ)Ð)r    c                 ó  — | j                  «       | j                  z   }| j                  j                  r|d| j                  j                  z   z  }| j                  j
                  r|d| j                  j                  z   z  }|S )Nr†   rk   )Ú_kind_stringrø   r  Úhas_annotationÚannotation_stringÚhas_defaultÚdefault_string)r   Úss     r   Ú	to_stringzSignatureParamName.to_stringv  st   € Ø×ÑÓ $×"2Ñ"2Ñ2ˆØ× Ñ ×/Ò/Ø�˜×-Ñ-×?Ñ?Ñ?Ñ?ˆAØ× Ñ ×,Ò,Ø��t×,Ñ,×;Ñ;Ñ;Ñ;ˆAØˆr    c                 óJ   — t        t        | j                  j                  «      S r   )Úgetattrr   r  Ú	kind_namerF   s    r   Úget_kindzSignatureParamName.get_kind~  s   € Ü”y $×"7Ñ"7×"AÑ"AÓBÐBr    c                 ó  — | j                   }| j                  j                  }t        }|j                  r t        t        ||j                  «      g«      }|j                  r)t        ||j                  «      }||j                  «       z  }|S r   )r  r5   r4   r   r  r   r:   r~   r  Ú
annotationÚexecute_with_values)r   r{   r4   Úvaluesr  s        r   r  zSignatureParamName.infer�  st   € Ø×!Ñ!ˆØ×-Ñ-×=Ñ=ˆÜˆØ�=Š=ÜÔ6°ÈÏ	É	ÓRÐSÓTˆFØ×ÒÜ0°À!Ç,Á,ÓOˆJØ�j×4Ñ4Ó6Ñ6ˆFØˆr    N)	r$   r,   r-   r   râ   rø   r  r  r  r/   r    r   rm   rm   m  s+   „ ò0ð ñ*ó ð*òòCó	r    rm   c                   ó$   — e Zd Zd„ Zd„ Zd„ Zd„ Zy)ru   c                 óB   — |j                   | _         || _        || _        y r   )r5   rø   Ú_default)r   r  r|   r~   s       r   r   zUnresolvableParamName.__init__Ž  s   € Ø,×;Ñ;ˆÔØˆÔØˆ�r    c                 ó"   — t         j                  S r   )r   ÚPOSITIONAL_ONLYrF   s    r   r  zUnresolvableParamName.get_kind“  s   € Ü×(Ñ(Ð(r    c                 óZ   — | j                   }| j                  r|d| j                  z   z  }|S )Nrk   )rø   r   )r   Ústrings     r   r  zUnresolvableParamName.to_string–  s,   € Ø×!Ñ!ˆØ�=Š=Ø�c˜DŸM™MÑ)Ñ)ˆFØˆr    c                 ó   — t         S r   rÓ   rF   s    r   r  zUnresolvableParamName.inferœ  rÕ   r    N)r$   r,   r-   r   r  r  r  r/   r    r   ru   ru   �  s   „ ò ò
)òór    ru   c                   ó   — e Zd Zd„ Zy)r®   c                 óB   — || _         || _        |j                  | _        y r   )rø   Ú_valuer5   )r   Úvaluer|   s      r   r   zCompiledValueName.__init__¡  s   € ØˆÔØˆŒØ#×2Ñ2ˆÕr    N)r$   r,   r-   r   r/   r    r   r®   r®      s   „ ó3r    r®   c                   ó   — e Zd ZdZd„ Zd„ Zy)ÚEmptyCompiledNamez«
    Accessing some names will raise an exception. To avoid not having any
    completions, just give Jedi the option to return this object. It infers to
    nothing.
    c                 ó4   — |j                   | _        || _        y r   )r¸   r5   rø   )r   r4   r|   s      r   r   zEmptyCompiledName.__init__­  s   € Ø-×=Ñ=ˆÔØˆÕr    c                 ó   — t         S r   rÓ   rF   s    r   r  zEmptyCompiledName.infer±  rÕ   r    N)r$   r,   r-   r.   r   r  r/   r    r   r+  r+  §  s   „ ñò
 ór    r+  c                   óL   — e Zd Zdd„Zd„ Zdd„Zedddœd„«       Zd„ Zd„ Z	d	„ Z
y
)r•   Fc                 ó.   — || _         || _        || _        y r   )rõ   r  rf   )r   r4   r  rf   s       r   r   zCompiledValueFilter.__init__¶  s   € Ø /ˆÔØ,ˆÔØ&ˆÕr    c                 ó˜   ‡‡— | j                   j                  Š| j                  j                   Š| j	                  |ˆˆfd„ˆfd„d¬«      S )Nc                 ó*   •— ‰j                  | ‰¬«      S r—   )Úis_allowed_getattr)r|   r'   r˜   s    €€r   Ú<lambda>z)CompiledValueFilter.get.<locals>.<lambda>À  s   ø€ ˜×9Ñ9¸$ÀTÐ9ÔJr    c                 ó(   •— | ‰j                  «       v S r   )Údir)r|   r'   s    €r   r3  z)CompiledValueFilter.get.<locals>.<lambda>Á  s   ø€ ˜ ×!2Ñ!2Ó!4Ñ4r    T)Úcheck_has_attribute)r  r'   rõ   r�   Ú_get)r   r|   r'   r˜   s     @@r   ÚgetzCompiledValueFilter.get»  sJ   ù€ Ø×+Ñ+×9Ñ9ˆØ×(Ñ(×@Ñ@Ð@ˆØ�y‰yØÜJÛ4Ø $ð	 ó 
ð 	
r    c                 óf  —  ||«      \  }}}|�At        | j                  |«      j                  d«      }|r|D �	cg c]  }	t        |	|«      ‘Œ c}	S |r|sg S |s|s*| j                  j                  s| j                  |d¬«      gS | j                  r
 ||«      sg S | j                  ||¬«      gS c c}	w )zU
        To remove quite a few access calls we introduced the callback here.
        NT)Úis_empty©rù   )r:   rõ   r;   r®   r�   Ú_get_cached_namerf   )
r   r|   Úallowed_getattr_callbackÚin_dir_callbackr6  Úhas_attributerù   Úproperty_return_annotationr  rÏ   s
             r   r7  zCompiledValueFilter._getÅ  s×   € ñ D\ØóD
Ñ@ˆ�}Ð&@ð &Ð1Ü,Ø×%Ñ%Ø*ó÷ !Ñ  Ó&ð ñ Ù<BÓC¹F°qÔ)¨!¨TÕ2¸FÑCÐCá¡}ØˆIá¡Ø×-Ñ-×EÒEØ×)Ñ)¨$¸Ð)Ó>Ð?Ð?à×Ò¡O°DÔ$9ØˆIØ×%Ñ% d¸-Ð%ÓHÐIÐIùò Ds   ºB.r;  c                óX   — |rt        | j                  |«      S | j                  ||¬«      S )Nr;  )r+  rõ   Ú_create_name)r   r|   r:  rù   s       r   r<  z$CompiledValueFilter._get_cached_nameß  s.   € áÜ$ T×%:Ñ%:¸DÓAÐAà×$Ñ$ T¸Ð$ÓGÐGr    c                 ó:  ‡— ddl m} g }| j                  j                  j	                  «       \  }Š‰D ]  }|| j                  |ˆfd„ˆfd„«      z  }Œ  | j                  s;|r9 || j                  d«      j                  «       D ]  }||j                  «       z  }Œ |S )Nr   r²   c                 ó   •— ‰|    S r   r/   ©r|   Ú	dir_infoss    €r   r3  z,CompiledValueFilter.values.<locals>.<lambda>ò  s	   ø€ ˜Y tš_r    c                 ó   •— | ‰v S r   r/   rE  s    €r   r3  z,CompiledValueFilter.values.<locals>.<lambda>ó  s
   ø€ ˜T YÑ.r    Útype)
r·   r³   r  r'   Úget_dir_infosr7  rf   rõ   r“   r  )r   r³   ÚnamesÚneeds_type_completionsr|   ÚfilterrF  s         @r   r  zCompiledValueFilter.valuesæ  s™   ø€ Ý=ØˆØ,0×,?Ñ,?×,MÑ,M×,[Ñ,[Ó,]Ñ)Ð 	ó ˆDØ�T—Y‘YØÛ,Û.óñ ‰Eð ð ×ÒÑ$:Ù+¨D×,AÑ,AÀ6ÓJ×VÑVÖX�Ø˜Ÿ™›Ñ(‘ð Yàˆr    c                 óF   — t        | j                  | j                  ||«      S r   )ró   rõ   r  )r   r|   rù   s      r   rB  z CompiledValueFilter._create_nameü  s'   € ÜØ×!Ñ!Ø×ÑØØó	
ð 	
r    c                 óP   — d| j                   j                  ›d| j                  ›d�S r„   )r6   r$   r  rF   s    r   r‰   zCompiledValueFilter.__repr__  s   � Ø!Ÿ^™^×4Ó4°d×6IÓ6IÐJÐJr    N)F)r$   r,   r-   r   r8  r7  r	   r<  r  rB  r‰   r/   r    r   r•   r•   µ  s@   „ ó'ò

óJð4 ðHÀeó Hó ðHòò,
óKr    r•   ÚfloatÚstrÚintÚdict)zfloating point numberÚ	characterÚintegerÚ
dictionaryr$  c                 óÊ  — 	 d}| j                  d«      }t        | |d «      D ]&  \  }}|dk(  r|dz  }n
|dk(  r|dz  }|dk(  sŒ!||z   } n | |dz    }d„ }	 t        j                  d||«      \  }}|dk(  rnŒ!|j                  d
d«      }t        j                  d| ||dz    «      }	|	€d	}
||
fS ||	j                  «       z   }t        j                  d«      }|j                  | |«      j                  d«      j                  «       }t        j                  dd|«      }t         j#                  ||«      }
||
fS # t        t
        f$ r t        j                  d«       d}d	}Y Œèw xY w)zú
    Takes a function and returns the params and return value as a tuple.
    This is nothing more than a docstring parser.

    TODO docstrings like utime(path, (atime, mtime)) and a(b [, b]) -> None
    TODO docstrings like 'tuple of integers'
    r   Ú(Nrµ   Ú)c                 ó´   — | j                  d«      j                  d«      }t        |«      D ]  \  }}|sŒ	d|vsŒ||xx   dz  cc<   Œ dj                  |«      S )Nrµ   rj   rk   z=None)Úgrouprp   Ú	enumerateÚjoin)ÚmrÍ   ÚiÚas       r   Úchange_optionsz+_parse_function_doc.<locals>.change_options.  sS   € Ø—7‘7˜1“:×#Ñ# CÓ(ˆDÜ! $ž‘��1Ú˜ AšØ˜“G˜wÑ&”Gð (ð —8‘8˜D“>Ð!r    z ?\[([^\[\]]+)\]zno brackets found - no paramr‹   Ú-r}   z-[>-]* é   z(,\n|[^\n-])+z[nN]ew (.*)z\1())rž   r[  ÚreÚsubnrn   ÚUnboundLocalErrorr   ÚdbgÚreplaceÚsearchÚendÚcompileÚmatchrZ  rs   ÚsubÚdocstr_defaultsr8  )rŒ   ÚcountÚstartr^  r  ri  Ú	param_strr`  ÚchangesÚrry   rž   ÚpatternÚret_strs                 r   ro   ro     s–  € ðØˆØ—	‘	˜#“ˆÜ˜c % &˜kÖ*‰DˆAˆqØ�CŠxØ˜‘
‘Ø�c’Ø˜‘
�Ø˜‹zØ˜a‘i�Ùð +ð ˜ ™	 #Ð&ˆ	ò	"ð Ü!#§¡Ð)<Ø)7¸ó"DÑˆI�wà˜!Š|Øð	 ð
 ×!Ñ! # sÓ+€Iô 	�	‰	�)˜S  S¨1¡WÐ-Ó.€AØ€yØˆð �cˆ>Ðð �a—e‘e“g‘ˆä—*‘*Ð-Ó.ˆØ—-‘-  UÓ+×1Ñ1°!Ó4×:Ñ:Ó<ˆä—&‘&˜¨°'Ó:ˆä×!Ñ! '¨7Ó3ˆà�cˆ>ÐøôI Ô)Ð*ò ô 	�	‰	Ð0Ô1ØˆØŠ	ðús   ‚AD7 ÁD7 Ä7(E"Å!E"c                 ó’   — |j                   j                  |d ¬«      }d }|D ]"  }t        | ||€d n|j                  «       ¬«      }Œ$ |S )N)r~   ©r5   )r'   r(   Úcreate_cached_compiled_valuerö   )r4   r  r|   Úaccess_pathsr)  Úaccess_paths         r   r  r  M  sU   € Ø!×/Ñ/×=Ñ=¸dÈDÐ=ÓQ€Là€EÛ#ˆÜ,ØØØ#( =™4°e×6FÑ6FÓ6Hô
‰ð $ð €Lr    c                 ó   ‡ — dˆ fd„	}|S )z5The cache doesn't care about keyword vs. normal args.c                 ó   •—  ‰| ||«      S r   r/   )r4   Úobjr5   r#   s      €r   Úwrapperz'_normalize_create_args.<locals>.wrapper\  s   ø€ Ù�O S¨.Ó9Ð9r    r   r/   )r#   r}  s   ` r   Ú_normalize_create_argsr~  Z  s   ø€ õ:à€Nr    c                 ór   — d }|j                   D ]%  \  }}t        | ||€d n|j                  «       ¬«      }Œ' |S )Nrv  )Úaccessesrw  rö   )r4   ry  r)  r|   rL   s        r   r:   r:   a  sD   € Ø€EØ#×,Ô,‰ˆˆfÜ,ØØØ#( =™4°e×6FÑ6FÓ6Hô
‰ð -ð €Lr    c                 óX   — t        |t        «      rJ ‚|€t        }nt        } || ||«      S r   )Ú
isinstancer1   rå   )r4   r'   r5   Úclss       r   rw  rw  l  s3   € ô ˜.¬-Ô8Ð8Ð8ØÐÜ‰äˆÙˆ ¨~Ó>Ð>r    )6r.   rc  Ú	functoolsr   Úinspectr   Úpathlibr   Útypingr   Újedir   Újedi.inference.utilsr   Ú
jedi.cacher	   Újedi.inference.filtersr
   Újedi.inference.namesr   r   r   Újedi.inference.base_valuer   r   r   Újedi.inference.lazy_valuer   Újedi.inference.compiled.accessr   Újedi.inference.cacher   Újedi.inference.helpersr   Újedi.inference.signaturer   Újedi.inference.contextr   r   r   r1   rå   ró   rm   ru   r®   r+  r•   rm  ro   r  r~  r:   rw  r/   r    r   Ú<module>r”     s  ðñó 
Ý Ý Ý Ý å Ý (Ý %Ý 1÷ñ ç @Ñ @Ý 4Ý 4Ý ?Ý 9Ý 5ß I÷,ñ ,ô*t�Eô tôn/�]ô /ô0-]Ð)ô -]ô`Ð+Ð-Cô ô@Ð.Ð0Fô ô&3˜Ð(>ô 3ôÐ.ô ôPK˜.ô PKðh %ØØØØñ€ò9òx
òòð ÙÓ!ñ?ó "ó ñ?r    