
    -h
                     X   S r SSKrSSKrSSKr\R                  R
                  r\R                  R                  b  \\R                  R                  -  r\R                  " SR                  \R                  " \5      5      5      rCS rS rS r " S S\5      rS	 rS
 r " S S5      rg)zBA universal module with functions / classes without dependencies.     Nz (?:\.[^{0}]+|[{0}]__init__\.py)$c                    ^  U 4S jnU$ )Nc                  &   > [        T" U 0 UD65      $ N)listargskwargsfuncs     gC:\Users\julio\OneDrive\Documentos\Trabajo\Ideas Frescas\venv\Lib\site-packages\jedi/inference/utils.pywrapperto_list.<locals>.wrapper   s    D$)&)**     r
   r   s   ` r   to_listr      s    +Nr   c                    ^  U 4S jnU$ )Nc                  &   > [        T" U 0 UD65      $ r   )tupler   s     r   r   to_tuple.<locals>.wrapper   s    T4*6*++r   r   r   s   ` r   to_tupler      s    ,Nr   c                 &    [        S U  5       5      $ )z5Turns a two dimensional array into a one dimensional.c              3   6   #    U  H  o  H  o"v   M     M     g 7fr   r   ).0typestyps      r   	<genexpr>unite.<locals>.<genexpr>   s     :uESsEss   )set)iterables    r   uniter       s    ::::r   c                       \ rS rSrSrSrg)UncaughtAttributeError   a|  
Important, because `__getattr__` and `hasattr` catch AttributeErrors
implicitly. This is really evil (mainly because of `__getattr__`).
Therefore this class originally had to be derived from `BaseException`
instead of `Exception`.  But because I removed relevant `hasattr` from
the code base, we can now switch back to `Exception`.

:param base: return values of sys.exc_info().
r   N)__name__
__module____qualname____firstlineno____doc____static_attributes__r   r   r   r"   r"      s    r   r"   c                 *    [        [        U 5      5      $ r   )propertyreraise_uncaught)r
   s    r   safe_propertyr-   +   s    $T*++r   c                 F   ^  [         R                  " T 5      U 4S j5       nU$ )a  
Re-throw uncaught `AttributeError`.

Usage:  Put ``@rethrow_uncaught`` in front of the function
which does **not** suppose to raise `AttributeError`.

AttributeError is easily get caught by `hasattr` and another
``except AttributeError`` clause.  This becomes problem when you use
a lot of "dynamic" attributes (e.g., using ``@property``) because you
can't distinguish if the property does not exist for real or some code
inside of the "dynamic" attribute through that error.  In a well
written code, such error should not exist but getting there is very
difficult.  This decorator is to help us getting there by changing
`AttributeError` to `UncaughtAttributeError` to avoid unexpected catch.
This helps us noticing bugs earlier and facilitates debugging.
c                  R   >  T" U 0 UD6$ ! [          a  n[        U5      UeS nAff = fr   )AttributeErrorr"   )r   kwdser
   s      r   r   !reraise_uncaught.<locals>.wrapper@   s5    	3&&& 	3(+2	3s    
&!&)	functoolswrapsr   s   ` r   r,   r,   /   s'    " __T3 3
 Nr   c                   ,    \ rS rSrS rS rS rS rSrg)PushBackIteratorI   c                 ,    / U l         Xl        S U l        g r   )pushesiteratorcurrent)selfr;   s     r   __init__PushBackIterator.__init__J   s     r   c                 :    U R                   R                  U5        g r   )r:   append)r=   values     r   	push_backPushBackIterator.push_backO   s    5!r   c                     U $ r   r   r=   s    r   __iter__PushBackIterator.__iter__R   s    r   c                     U R                   (       a+  U R                   R                  5       U l        U R                  $ [        U R                  5      U l        U R                  $ r   )r:   popr<   nextr;   rF   s    r   __next__PushBackIterator.__next__U   sC    ;;;;??,DL ||  .DL||r   )r<   r;   r:   N)	r$   r%   r&   r'   r>   rC   rG   rL   r)   r   r   r   r7   r7   I   s    
"r   r7   )r(   r4   reospathsep_sepaltsepcompileformatescape_path_rer   r   r    	Exceptionr"   r-   r,   r7   r   r   r   <module>rY      s    I  	 	 
ww{{77>>BGGNND::9@@4QR;
	Y 	,4 r   