o
    û›h÷r  ã                   @   s6  U d dl mZmZmZ d dlmZmZmZmZm	Z	m
Z
m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Zd dlZd dlZd dlZd dl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% ej&dk rqd d	l'm(Z(m)Z) nd d	lm(Z(m)Z) ej&d
k r…d dl'm*Z* nd dlm*Z* e%G dd„ deƒƒZ+e%G dd„ deƒƒZ,e%G dd„ deƒƒZ-e%G dd„ deƒƒZ.ee-e.f Z/dedeedf fdd„Z0e%eG dd„ dƒƒƒZ1de2dee2 fdd„Z3de2dee2 de2fdd „Z4d!d"„ Z5e%eG d#d$„ d$e1ƒƒƒZ6G d%d&„ d&e
ƒZ7G d'd(„ d(e
ƒZ8G d)d*„ d*ƒZ9e9ƒ Z:d+Z;eƒ Z<e=ƒ Z>G d,d-„ d-e?ƒZ@d.e2d/e8fd0d1„ZAejBd2ejCd3ejDd4ejEd5ejFd6ejGd7ejHd8ejId9ejJd:ejKd;ejLd<ejMd=ejNd>iZOeeej ee2 f ePd?< ejQd@ejRdAejSdBejTdCejUdDejVdEejWdFiZXeeejY ee2dGf f ePdH< ejZdIej[dJej\dKej]dLiZ^eeej_ ee2dGf f ePdM< G dNdO„ dOƒZ`G dPdQ„ dQƒZadeee2dGf df fdRdS„ZbdTeejcdf d/e8fdUdV„ZddedTejed/e8fdWdX„ZfdYededTejed/e8fdZd[„Zgd\e2d/e8fd]d^„ZhdTejed/e8fd_d`„Zidadb„ Zjh dc£Zkele2emeneoejpejqejrejsejtejuejve7e9hZwee, ePdd< dvdedf„ZxdgZydhZze{e|e{ƒƒe{e|e}ƒƒ@ Z~ei  €¡ ƒZ�eej‚jƒ ePdi< e„e…e†hZ‡h em’exemƒ£el’exeleyƒ£e�jˆ’en’exenezƒ£e{’exe{e~ƒ£e}’exe}ƒ£e‰’e2’exe2ƒ£eo’exeoƒ£e‡£djdk„ e‡D ƒ£ejq’exejqezƒ£ejp’exejpeyƒ£ejr’exejreyƒ£ejt’exejteyƒ£eju’exejuezƒ£ejv’exejve|e2ƒƒ£ejŠ’exejŠeyƒ£ejŠj‹’ejŠjŒ’Z�h ew£e{’e}’e=’e’e‡£e�’e"’e#’ZŽee/ ePdl< h eŽ£Z�e1dmdndndndne{ƒ dndndo�e6ewekeŽdpdqhe�dmdmdme�dr�	e1dmdmdmdmdmdmdmds�dtœZ�g du¢Z‘dS )wé    )ÚisclassÚ	signatureÚ	Signature)Ú	AnnotatedÚAnyStrÚCallableÚDictÚLiteralÚ
NamedTupleÚNewTypeÚOptionalÚProtocolÚSetÚSequenceÚTupleÚTypeÚ	TypeGuardÚUnionÚget_argsÚ
get_originÚis_typeddictN)Úcached_property)Ú	dataclassÚfield)ÚMethodDescriptorTypeÚ
ModuleType)Úundoc)é   é   )ÚSelfÚLiteralString)r   é   )ÚTypeAliasTypec                   @   ó   e Zd Zddd„ZdS )Ú
HasGetItemÚreturnNc                 C   ó   d S ©N© ©ÚselfÚkeyr(   r(   úOc:\Users\shubh\Videos\agent\nova\Lib\site-packages\IPython/core/guarded_eval.pyÚ__getitem__/   ó    zHasGetItem.__getitem__©r%   N)Ú__name__Ú
__module__Ú__qualname__r-   r(   r(   r(   r,   r$   -   ó    r$   c                   @   s   e Zd Zdefdd„ZdS )ÚInstancesHaveGetItemr%   c                 O   r&   r'   r(   )r*   ÚargsÚkwargsr(   r(   r,   Ú__call__4   r.   zInstancesHaveGetItem.__call__N)r0   r1   r2   r$   r7   r(   r(   r(   r,   r4   2   s    r4   c                   @   r#   )Ú
HasGetAttrr%   Nc                 C   r&   r'   r(   r)   r(   r(   r,   Ú__getattr__9   r.   zHasGetAttr.__getattr__r/   )r0   r1   r2   r9   r(   r(   r(   r,   r8   7   r3   r8   c                   @   s   e Zd ZdS )ÚDoesNotHaveGetAttrN)r0   r1   r2   r(   r(   r(   r,   r:   <   s    r:   Úfuncr%   c                 C   sV   t | ddƒ}t|ƒ}t | ddƒ}t |ddƒ}|dur)|r)|r$|r)||vr)t ||ƒS dS )z}Get unbound method for given bound method.

    Returns None if cannot get unbound method, or method is already unbound.
    Ú__self__Nr0   Ú__dict__)ÚgetattrÚtype)r;   ÚownerZowner_classÚnameZinstance_dict_overridesr(   r(   r,   Ú_unbind_methodE   s   ÿýü
rB   c                   @   s¬   e Zd ZU dZdZeed< dZeed< dZeed< dZ	eed< dZ
eed< dZeed< dZeed	< eed
�Zee ed< dd„ Zdd„ Zddeedf fdd„Zdd„ ZdS )ÚEvaluationPolicyz Definition of evaluation policy.FÚallow_locals_accessÚallow_globals_accessÚallow_item_accessÚallow_attr_accessÚallow_builtins_accessÚallow_all_operationsÚallow_any_calls©Údefault_factoryÚallowed_callsc                 C   ó   | j S r'   )rF   ©r*   ÚvalueÚitemr(   r(   r,   Úcan_get_itemh   ó   zEvaluationPolicy.can_get_itemc                 C   rN   r'   )rG   )r*   rP   Úattrr(   r(   r,   Úcan_get_attrk   rS   zEvaluationPolicy.can_get_attrNÚdunders.c                 C   s   | j rdS d S ©NT)rI   ©r*   rV   ÚaÚbr(   r(   r,   Úcan_operaten   s   ÿzEvaluationPolicy.can_operatec                 C   s:   | j rdS || jv rdS t|ƒ}|r|| jv rdS d S d S rW   )rJ   rM   rB   )r*   r;   Zowner_methodr(   r(   r,   Úcan_callr   s   
ÿzEvaluationPolicy.can_callr'   )r0   r1   r2   Ú__doc__rD   ÚboolÚ__annotations__rE   rF   rG   rH   rI   rJ   r   ÚsetrM   r   r   rR   rU   r   Ústrr[   r\   r(   r(   r(   r,   rC   Z   s   
 rC   Úmodule_nameÚaccess_pathc                 C   s"   t j|  }|D ]}t||ƒ}q|S )zÉGet value from external module given a dotted access path.

    Raises:
    * `KeyError` if module is removed not found, and
    * `AttributeError` if access path does not match an exported object
    )ÚsysÚmodulesr>   )rb   rc   Úmember_typerT   r(   r(   r,   Ú_get_external   s   
rg   Úmethod_namec              	   C   s–   |t jvrdS z7t||ƒ}t| ƒ}t| ƒ|krW dS |dkr!W dS t| |ƒr9t||d ƒ}t||d ƒ}||kr<W dS W d S W d S  ttfyJ   Y dS w )NFTÚ__getattribute__)rd   re   rg   r?   Ú
isinstancer>   ÚAttributeErrorÚKeyError)rP   rb   rc   rh   rf   Ú
value_typeÚmethodZmember_methodr(   r(   r,   Ú_has_original_dunder_externalŒ   s&   


üÿro   c           	      C   s^   t | ƒ}||v r
dS t||d ƒ}|d u rd S ||v rdS |D ]^}}t| |||ƒr, dS qdS )NTF)r?   r>   ro   )	rP   Úallowed_typesÚallowed_methodsÚallowed_externalrh   rm   rn   rb   rc   r(   r(   r,   Ú_has_original_dunder§   s   ÿrs   c                   @   sX  e Zd ZU eed�Zee ed< eed�Z	ee
edf  ed< eed�Zee ed< eed�Zee
edf  ed< eed�Zeed< eed�Zee
edf  ed< eed	d
�Zeeee f ed< dd„ Zdd„ Zd de
edf fdd„Zdedee fdd„Zedee fdd„ƒZedee fdd„ƒZedee fdd„ƒZdee fdd„ZdS )!ÚSelectivePolicyrK   Úallowed_getitem.Úallowed_getitem_externalÚallowed_getattrÚallowed_getattr_externalÚallowed_operationsÚallowed_operations_externalF)rL   ÚinitÚ_operation_methods_cachec              
   C   sè   t || j| j| jdd�}t || j| j| jdd�}d}|d u r#|r#d}n|o&|}|rrt|ƒ}t||ƒs4dS t||ƒ}t|t	ƒ}|sBdS t|ƒ| jv rKdS | jD ]#^}	}
zt
|	|
ƒ}t||ƒ}W n ttfyk   Y  dS w ||k  S dS )Nri   ©rp   rq   rr   rh   r9   FT)rs   rw   Ú_getattribute_methodsrx   Ú_getattr_methodsr?   Úhasattrr>   rj   Úpropertyrg   rl   rk   )r*   rP   rT   Zhas_original_attributeZhas_original_attrÚacceptZvalue_classZclass_attr_valZis_propertyrb   rc   Zexternal_classZexternal_class_attr_valr(   r(   r,   rU   Ñ   sJ   ûû



ÿzSelectivePolicy.can_get_attrc                 C   s   t || j| j| jdd�S )zTAllow accessing `__getiitem__` of allow-listed instances unless it was not modified.r-   r}   )rs   ru   Ú_getitem_methodsrv   rO   r(   r(   r,   rR     s   ûzSelectivePolicy.can_get_itemNrV   c                    s0   |g‰ |d urˆ   |¡ t‡ ‡fdd„|D ƒƒS )Nc              
      s2   g | ]}ˆ D ]}t |ˆjˆ |¡ˆj|d �‘qqS )r}   )rs   ry   Ú_operator_dunder_methodsrz   )Ú.0ÚdunderÚobj©Úobjectsr*   r(   r,   Ú
<listcomp>  s    ÷	øûÿz/SelectivePolicy.can_operate.<locals>.<listcomp>)ÚappendÚallrX   r(   rˆ   r,   r[     s   
øÿzSelectivePolicy.can_operater†   r%   c                 C   s(   || j vr|  | j|¡| j |< | j | S r'   )r|   Ú_safe_get_methodsry   )r*   r†   r(   r(   r,   r„   #  s
   

ÿ
z(SelectivePolicy._operator_dunder_methodsc                 C   ó   |   | jd¡S )Nr-   )r�   ru   ©r*   r(   r(   r,   rƒ   *  ó   z SelectivePolicy._getitem_methodsc                 C   rŽ   )Nr9   ©r�   rw   r�   r(   r(   r,   r   .  r�   z SelectivePolicy._getattr_methodsc                 C   rŽ   )Nri   r‘   r�   r(   r(   r,   r~   2  r�   z%SelectivePolicy._getattribute_methodsc                    s   ‡ fdd„|D ƒS )Nc                    s    h | ]}t |ˆ d ƒ}|r|’qS r'   ©r>   )r…   Úclass_rn   ©rA   r(   r,   Ú	<setcomp>7  s    üÿz4SelectivePolicy._safe_get_methods.<locals>.<setcomp>r(   )r*   ÚclassesrA   r(   r”   r,   r�   6  s   
þz!SelectivePolicy._safe_get_methodsr'   )r0   r1   r2   r   r`   ru   r   r4   r_   rv   r   ra   rw   ÚMayHaveGetattrrx   ry   rz   Údictr|   r   r   rU   rR   r[   r„   r   rƒ   r   r~   r�   r(   r(   r(   r,   rt   Á   s*   
 ÿ6
rt   c                   @   ó   e Zd ZdZdS )Ú_DummyNamedTuplez<Used internally to retrieve methods of named tuple instance.N©r0   r1   r2   r]   r(   r(   r(   r,   rš   ?  ó    rš   c                   @   s:   e Zd ZU eed< eed< dZed ed< dZeed< dS )	ÚEvaluationContextÚlocalsÚglobalsÚ	forbidden)r    ÚminimalÚlimitedÚunsafeÚ	dangerousÚ
evaluationFÚin_subscriptN)	r0   r1   r2   r˜   r_   r¥   r	   r¦   r^   r(   r(   r(   r,   r�   C  s   
 ÿr�   c                   @   s   e Zd ZdZdd„ ZdS )Ú_IdentitySubscriptz<Returns the key itself when item is requested via subscript.c                 C   s   |S r'   r(   r)   r(   r(   r,   r-   T  s   z_IdentitySubscript.__getitem__N)r0   r1   r2   r]   r-   r(   r(   r(   r,   r§   Q  s    r§   Z__SUBSCRIPT_SENTINEL__c                   @   r™   )ÚGuardRejectionz7Exception raised when guard rejects evaluation attempt.Nr›   r(   r(   r(   r,   r¨   ^  s    r¨   ÚcodeÚcontextc                 C   s˜   |j }|jdkrtdƒ‚|jr3| stƒ S | ¡ }t|t< td |  d } td
i i | 	¡ ¥d|i¥¤Ž}|jdkr@t
| |j|j ƒS tj| dd�}t||ƒS )a7  Evaluate provided code in the evaluation context.

    If evaluation policy given by context is set to ``forbidden``
    no evaluation will be performed; if it is set to ``dangerous``
    standard :func:`eval` will be used; finally, for any other,
    policy :func:`eval_node` will be called on parsed AST.
    r    zForbidden modeú[ú]rž   r¤   Úeval)ÚmodeNr(   )rž   r¥   r¨   r¦   ÚtupleÚcopyÚIDENTITY_SUBSCRIPTÚSUBSCRIPT_MARKERr�   Ú_asdictr­   rŸ   ÚastÚparseÚ	eval_node)r©   rª   Zlocals_Z
expressionr(   r(   r,   Úguarded_evald  s   


r·   )Ú__add__)Ú__sub__)Ú__mul__)Ú__truediv__)Ú__floordiv__)Ú__mod__)Ú__pow__)Ú
__lshift__)Ú
__rshift__)Ú__or__)Ú__xor__)Ú__and__)Ú
__matmul__ÚBINARY_OP_DUNDERS)Ú__eq__)Ú__ne__rÆ   )Ú__lt__Ú__gt__)Ú__le__Ú__ge__)rÉ   rÈ   )rË   rÊ   )Ú__contains__.ÚCOMP_OP_DUNDERS)Ú__neg__)Ú__pos__)Ú
__invert__Ú__inv__)Ú__not__ÚUNARY_OP_DUNDERSc                   @   r™   )ÚImpersonatingDuckzXA dummy class used to create objects of other classes without calling their ``__init__``Nr›   r(   r(   r(   r,   rÔ   ¬  rœ   rÔ   c                       s|   e Zd ZdZddee dee fdd„Zdefdd	„Zdefd
d„Z	‡ fdd„Z
defdd„Zdefdd„Zdd„ Z‡  ZS )Ú_DuckzHA dummy class used to create objects pretending to have given attributesNÚ
attributesÚitemsc                 C   s   |pi | _ |pi | _d S r'   ©rÖ   r×   )r*   rÖ   r×   r(   r(   r,   Ú__init__µ  s   
z_Duck.__init__rT   c                 C   ó
   | j | S r'   ©rÖ   ©r*   rT   r(   r(   r,   r9   ¹  ó   
z_Duck.__getattr__c                 C   s
   || j v S r'   rÛ   rÜ   r(   r(   r,   Ú__hasattr__¼  rÝ   z_Duck.__hasattr__c                    s   g t tƒ¢| j¢S r'   )ÚdirÚsuperrÖ   r�   ©Ú	__class__r(   r,   Ú__dir__¿  s   z_Duck.__dir__r+   c                 C   rÚ   r'   ©r×   r)   r(   r(   r,   r-   Â  rÝ   z_Duck.__getitem__c                 C   rÚ   r'   rä   r)   r(   r(   r,   Ú__hasitem__Å  rÝ   z_Duck.__hasitem__c                 C   s
   | j  ¡ S r'   )r×   Úkeysr�   r(   r(   r,   Ú_ipython_key_completions_È  rÝ   z_Duck._ipython_key_completions_)NN)r0   r1   r2   r]   r   r˜   rÙ   ra   r9   rÞ   rã   r-   rå   rç   Ú__classcell__r(   r(   rá   r,   rÕ   ²  s    rÕ   c                 C   s(   d }|  ¡ D ]\}}t| |ƒr|}q|S r'   )r×   rj   )Znode_oprV   r†   ÚopZcandidate_dunderr(   r(   r,   Ú_find_dunderÌ  s   
€rê   Únodec                    sâ  t ˆ j }| du rdS t| tjƒrt| jˆ ƒS t| tjƒrRt| jˆ ƒ}t| j	ˆ ƒ}t
| jtƒ}|rR| |||¡rAt||d ƒ|ƒS td|› d�t|ƒdˆ j› d�ƒ‚t| tjƒrît| jˆ ƒ}d}d}t| j| jƒD ]‚\}}t|ˆ ƒ}d}	t
|tƒ}|sšt|tjƒrˆttj }d}t|tjƒr�d	}	t|tjƒršd	}	d}|	s¢|r¢|d }	|	rä|	d
kr¬||fn||f\}
}|	d	ks¿|rÓ| ||
|¡rÓtt|	ƒ|
|ƒ}|rÌ| }|sÐd}|}qitd|	› d�t|ƒdˆ j› d�ƒ‚td|	› d�ƒ‚|S t| tjƒr÷| jS t| tjƒ�r
t‡ fdd„| j D ƒƒS t| tj!ƒ�r‡ fdd„| j D ƒS t| tj"ƒ�r,‡ fdd„| j D ƒS t| tj#ƒ�rJt$t‡ fdd„| j%D ƒ‡ fdd„| j&D ƒƒƒS t| tj'ƒ�rct(t| j)ˆ ƒt| j*ˆ ƒt| j+ˆ ƒƒS t| tj,ƒ�r™t| j-ˆ ƒ}t
| jt.ƒ}|�r™| ||¡�rˆt||d ƒƒ S td|› d�t|ƒdˆ j› d�ƒ‚t| tj/ƒ�rÄt| jˆ ƒ}t| j(ˆ ƒ}| 0||¡�r·|| S tdt|ƒdˆ j› d�ƒ‚t| tj1ƒ�rÑt2| j3ˆ ƒS t| tj4ƒ�rùt| jˆ ƒ}| 5|| j6¡�rìt|| j6ƒS tdt|ƒdˆ j› d�ƒ‚t| tj7ƒ�rt| j8ˆ ƒ}|�rt| jˆ ƒS t| j9ˆ ƒS t| tj:ƒ�rit| j;ˆ ƒ}| <|¡�r:| j=�s:‡ fdd„| j>D ƒ}||Ž S t?|ƒ�rQt@|jA| ˆ ƒ}|tBu�rM|S tC|ƒS t@|| ˆ ƒ}|tBu�r^|S td|dˆ j› d�ƒ‚tdt D| ¡ƒ‚)a�  Evaluate AST node in provided context.

    Applies evaluation restrictions defined in the context. Currently does not support evaluation of functions with keyword arguments.

    Does not evaluate actions that always have side effects:

    - class definitions (``class sth: ...``)
    - function definitions (``def sth: ...``)
    - variable assignments (``x = 1``)
    - augmented assignments (``x += 1``)
    - deletions (``del x``)

    Does not evaluate operations which do not return values:

    - assertions (``assert x``)
    - pass (``pass``)
    - imports (``import x``)
    - control flow:

        - conditionals (``if x:``) except for ternary IfExp (``a if x else b``)
        - loops (``for`` and ``while``)
        - exception handling

    The purpose of this function is to guard against unwanted side-effects;
    it does not give guarantees on protection from malicious code execution.
    Nr   zOperation (`z`) forznot allowed in ú modeTFÚis_rÌ   zComparison (`zComparison `z` not supportedc                 3   s   � | ]}t |ˆ ƒV  qd S r'   ©r¶   ©r…   Úe©rª   r(   r,   Ú	<genexpr>+  s   € zeval_node.<locals>.<genexpr>c                    ó   g | ]}t |ˆ ƒ‘qS r(   rî   rï   rñ   r(   r,   rŠ   -  ó    zeval_node.<locals>.<listcomp>c                    s   h | ]}t |ˆ ƒ’qS r(   rî   rï   rñ   r(   r,   r•   /  rô   zeval_node.<locals>.<setcomp>c                    ró   r(   rî   ©r…   Úkrñ   r(   r,   rŠ   3  rô   c                    ró   r(   rî   )r…   Úvrñ   r(   r,   rŠ   4  rô   z$Subscript access (`__getitem__`) forz not allowed in z$Attribute access (`__getattr__`) forc                    ró   r(   rî   ©r…   Úargrñ   r(   r,   rŠ   g  rô   zCall forzUnhandled node)EÚEVALUATION_POLICIESr¥   rj   r´   Ú
Expressionr¶   ÚbodyÚBinOpÚleftÚrightrê   ré   rÅ   r[   r>   r¨   r?   ÚCompareÚzipÚopsÚcomparatorsrÍ   ÚNotInÚInÚIsÚIsNotÚoperatorÚ
ValueErrorÚConstantrP   r   r¯   ÚeltsÚListr   r   r˜   ræ   ÚvaluesÚSliceÚsliceÚlowerÚupperÚstepÚUnaryOpÚoperandrÓ   Ú	SubscriptrR   ÚNameÚ_eval_node_nameÚidÚ	AttributerU   rT   ÚIfExpÚtestÚorelseÚCallr;   r\   Úkeywordsr5   r   Ú_eval_return_typeÚ__new__ÚNOT_EVALUATEDÚ_create_duck_for_heap_typeÚdump)rë   rª   Úpolicyrþ   rÿ   rV   Zall_trueÚnegateré   r†   rY   rZ   ÚresultrP   Zslice_r  r;   r5   Zoverridden_return_typeÚreturn_typer(   rñ   r,   r¶   Ô  s  

ý



ý
ÿþÿ


ý
ýýý


ýr¶   c                 C   sJ   zt | ƒ}W n ty   t}Y nw |jtju}|r#t|j|| ||ƒS tS )zyEvaluate return type of a given callable function.

    Returns the built-in type, a duck or NOT_EVALUATED sentinel.
    )r   r	  ÚUNKNOWN_SIGNATUREÚreturn_annotationr   ÚemptyÚ_resolve_annotationr!  )r;   rë   rª   ÚsigÚ	not_emptyr(   r(   r,   r  ~  s   ÿr  r,  c                    sÎ  t | tƒr
t| ˆ ƒn| } t| ƒ}| tu rtˆdƒrˆjS |tu r0t| ƒ}t	|ƒdkr.|d S dS | t
u r6dS | tu rjd}tˆj ¡ ƒD ]\}\}	}
|
jtu rR|} nqC|durf|t	ˆjƒk rhtˆj| ˆ ƒS dS dS |tu rqtƒ S |tu r‹‡ ‡‡‡fdd„t| ƒD ƒ}tt |¡d�S t| ƒr¨tt ttƒ ƒ¡‡ ‡‡‡fd	d
„| j ¡ D ƒd�S t| dƒr·tt t| ƒ¡d�S |tu rÉt| ƒd }t|ˆˆˆˆ ƒS t | tƒrÕt| jˆˆ ƒS t | t ƒrát| j!ˆˆ ƒS t| ˆˆ ƒS )zKResolve annotation created by user with `typing` module and custom objects.r<   é   r   Ú Nc              	      s*   g | ]}t t|ˆˆˆˆ ƒƒD ]}|‘qqS r(   )rß   r+  )r…   Útype_argrT   ©rª   r;   rë   r,  r(   r,   rŠ   °  s    ýþÿz'_resolve_annotation.<locals>.<listcomp>rÛ   c              	      s"   i | ]\}}|t |ˆˆˆˆ ƒ“qS r(   )r+  )r…   rö   r÷   r1  r(   r,   Ú
<dictcomp>¹  s    ÿÿz'_resolve_annotation.<locals>.<dictcomp>rØ   Ú_is_protocol)"rj   ra   r  r   r   r€   r<   r	   r   Úlenr    r   Ú	enumerateÚ
parametersr×   Ú
annotationr5   r¶   r   r^   r   rÕ   r˜   Úfromkeysr   rß   r_   r   r+  r   Ú_eval_or_create_duckÚ__supertype__r"   Z	__value__)r7  r,  r;   rë   rª   ÚoriginZ	type_argsÚindexÚir+   rP   rÖ   r0  r(   r1  r,   r+  �  s`   
ÿýÿ
þÿþþþ


r+  Únode_idc                 C   s„   t |j }|jr| |jv r|j|  S |jr| |jv r|j|  S |jr,tt| ƒr,t	t| ƒS |js;|js;t
d|j› d�ƒ‚t| › d�ƒ‚)Nz Namespace access not allowed in rì   z+ not found in locals, globals, nor builtins)rú   r¥   rD   rž   rE   rŸ   rH   r€   Úbuiltinsr>   r¨   Ú	NameError)r>  rª   r$  r(   r(   r,   r  Ë  s   



ÿr  c                    s>   t ˆ j }| | ¡r|js‡ fdd„|jD ƒ}| |Ž S t| ƒS )Nc                    ró   r(   rî   rø   rñ   r(   r,   rŠ   à  rô   z(_eval_or_create_duck.<locals>.<listcomp>)rú   r¥   r\   r  r5   r"  )Ú	duck_typerë   rª   r$  r5   r(   rñ   r,   r9  Ü  s
   
r9  c                 C   s(   t ƒ }z| |_|W S  ty   Y tS w )z�Create an imitation of an object of a given type (a duck).

    Returns the duck or NOT_EVALUATED sentinel if duck could not be created.
    )rÔ   râ   Ú	TypeErrorr!  )rA  Úduckr(   r(   r,   r"  æ  s   þr"  >   ©ÚpandasZ	DataFrame)ÚnumpyZvoid)rE  ÚcoreÚindexingZ_iLocIndexer)rE  rG  rH  Z_LocIndexer)rF  Zndarray©rE  ZSeriesÚBUILTIN_GETITEMc                    s"   ‡ fdd„|r|D ƒS t ˆ ƒD ƒS )z=For use on immutable objects or with methods returning a copyc                    s   g | ]}t ˆ |ƒ‘qS r(   r’   rõ   ©Úclsr(   r,   rŠ     rô   z!_list_methods.<locals>.<listcomp>)rß   )rL  Úsourcer(   rK  r,   Ú_list_methods  s   "rN  )r°   ræ   r  r×   )r°   r<  ÚcountÚ	dict_keysc                 C   s   g | ]}t |ƒD ]}|‘qqS r(   )rN  )r…   Znumeric_clsrn   r(   r(   r,   rŠ   1  s    rŠ   ÚBUILTIN_GETATTRTF)rH   rD   rE   rF   rG   rM   rJ   rI   rD  rI  )	ru   rv   rw   rx   ry   rH   rD   rE   rM   )rH   rD   rE   rG   rF   rJ   rI   )r¡   r¢   r£   )r·   r¶   r¨   r�   rB   r'   )’Úinspectr   r   r   Útypingr   r   r   r   r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   r´   r?  Úcollectionsr  rd   Ú	functoolsr   Údataclassesr   r   Útypesr   r   ZIPython.utils.decoratorsr   Úversion_infoZtyping_extensionsr   r    r"   r$   r4   r8   r:   r—   rB   rC   ra   rg   ro   rs   rt   rš   r�   r§   r±   r²   r(  Úobjectr!  Ú	Exceptionr¨   r·   ÚAddÚSubÚMultÚDivÚFloorDivÚModÚPowÚLShiftÚRShiftÚBitOrÚBitXorÚBitAndÚMatMultrÅ   r_   ÚEqÚNotEqÚLtÚLtEÚGtÚGtEr  rÍ   ÚcmpopÚUSubÚUAddÚInvertÚNotrÓ   ÚunaryoprÔ   rÕ   rê   ÚASTr¶   r  r  r+  r  r9  r"  ZSUPPORTED_EXTERNAL_GETITEMr˜   ÚbytesÚlistr¯   ÚdefaultdictÚdequeÚOrderedDictÚChainMapÚUserDictÚUserListÚ
UserStringrJ  rN  Zdict_non_mutating_methodsZlist_non_mutating_methodsr`   rß   Ú	frozensetZset_non_mutating_methodsr?   ræ   rP  ÚabcÚKeysViewÚintÚfloatÚcomplexZNUMERICSÚ
isdisjointÚrangeÚCounterÚelementsÚmost_commonZALLOWED_CALLSrQ  ZBUILTIN_OPERATIONSrú   Ú__all__r(   r(   r(   r,   Ú<module>   sâ   P

#þý
ü|%ó"ù"û	 +þýü
û<
ò

ÿþýüûúùø	÷
öõôóòñðïîí
ìë
êé
èç
æå
äãâá
 à!ß"Þ%ÿþýüûúùø	÷ø
ýóùæ&