
Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­
<!DOCTYPE html>
<html>
U
    ¡ê,ag;  ã                
   @   sœ  d dl mZ d dlmZmZ d dlmZ d dlm	Z	 dd„ Z
dd„ Zd	d
„ Zdd„ ZdVdd„Zdd„ Zdd„ Zdd„ Zeƒ eƒ fdd„ZdWdd„Zdd„ Zdd„ ZdXdd„Zd d!„ ZdYd"d#„ZdZd$d%„Zd&d'„ Zd(d)„ Zd*d+„ Zd,d-„ Zd.d/„ Zd0d1d2d3d4d5d6d7d8d9h
Zd:d;„ Z d<a!d=a"d>a#d?a$d@dA„ Z%dBdC„ Z&dDdE„ Z'dFdG„ Z(dHdI„ Z)dJdK„ Z*dLdM„ Z+dNdO„ Z,ej-ej.hZ/d[dPdQ„Z0ej.ej-ej1hZ2dRdS„ Z3d\dTdU„Z4dS )]é   )Útoken)ÚLeafÚNode)Úpython_symbols)Úpatcompc                 C   s   t tj| ttjdƒ|gƒS )Nú=)r   ÚsymsZargumentr   r   ÚEQUAL)ÚkeywordÚvalue© r   ú7/opt/alt/python38/lib64/python3.8/lib2to3/fixer_util.pyÚ
KeywordArg   s    ÿr   c                   C   s   t tjdƒS )Nú()r   r   ÚLPARr   r   r   r   ÚLParen   s    r   c                   C   s   t tjdƒS )Nú))r   r   ÚRPARr   r   r   r   ÚRParen   s    r   c                 C   sH   t | tƒs| g} t |tƒs&d|_|g}ttj| ttjddd�g | ƒS )Nú r   ©Úprefix)	Ú
isinstanceÚlistr   r   r   Úatomr   r   r	   )ÚtargetÚsourcer   r   r   ÚAssign   s    

ÿr   Nc                 C   s   t tj| |d�S ©Nr   )r   r   ÚNAME)Únamer   r   r   r   ÚName$   s    r!   c                 C   s   | t tjtƒ |gƒgS ©N)r   r   ÚtrailerÚDot)ÚobjÚattrr   r   r   ÚAttr(   s    r'   c                   C   s   t tjdƒS )Nú,)r   r   ÚCOMMAr   r   r   r   ÚComma,   s    r*   c                   C   s   t tjdƒS )NÚ.)r   r   ÚDOTr   r   r   r   r$   0   s    r$   c                 C   s4   t tj| ¡ | ¡ gƒ}| r0| dt tj| ƒ¡ |S )Nr   )r   r   r#   ÚcloneÚinsert_childÚarglist)ÚargsZlparenZrparenÚnoder   r   r   ÚArgList4   s    r2   c                 C   s&   t tj| t|ƒgƒ}|d k	r"||_|S r"   )r   r   Úpowerr2   r   )Z	func_namer0   r   r1   r   r   r   ÚCall;   s    r4   c                   C   s   t tjdƒS )NÚ
©r   r   ÚNEWLINEr   r   r   r   ÚNewlineB   s    r8   c                   C   s   t tjdƒS )NÚ r6   r   r   r   r   Ú	BlankLineF   s    r:   c                 C   s   t tj| |d�S r   )r   r   ÚNUMBER)Únr   r   r   r   ÚNumberJ   s    r=   c                 C   s"   t tjttjdƒ| ttjdƒgƒS )Nú[ú])r   r   r#   r   r   ÚLBRACEÚRBRACE)Z
index_noder   r   r   Ú	SubscriptM   s    
þrB   c                 C   s   t tj| |d�S r   )r   r   ÚSTRING)Ústringr   r   r   r   ÚStringS   s    rE   c           	      C   s®   d| _ d|_ d|_ ttjdƒ}d|_ ttjdƒ}d|_ ||||g}|rtd|_ ttjdƒ}d|_ | ttj||gƒ¡ ttj| ttj	|ƒgƒ}ttj
ttjdƒ|ttjdƒgƒS )Nr9   r   ÚforÚinÚifr>   r?   )r   r   r   r   Úappendr   r   Zcomp_ifZ	listmakerZcomp_forr   r@   rA   )	ZxpÚfpÚitZtestZfor_leafZin_leafZ
inner_argsZif_leafÚinnerr   r   r   ÚListCompW   s(    

þÿrM   c                 C   sV   |D ]}|  ¡  qttjdƒttj| dd�ttjddd�ttj|ƒg}ttj|ƒ}|S )NÚfromr   r   Úimport)Úremover   r   r   r   r   Úimport_as_namesÚimport_from)Zpackage_nameZ
name_leafsZleafÚchildrenÚimpr   r   r   Ú
FromImporto   s    


ýrU   c              	   C   s¤   |d   ¡ }|jtjkr"|  ¡ }nttj|  ¡ gƒ}|d }|rNdd„ |D ƒ}ttjtt|d ƒt|d ƒƒttj|d   ¡ ||d   ¡ gƒg | ƒ}| j	|_	|S )	Nr%   Úafterc                 S   s   g | ]}|  ¡ ‘qS r   )r-   )Ú.0r<   r   r   r   Ú
<listcomp>�   s     z!ImportAndCall.<locals>.<listcomp>é    r   ZlparZrpar)
r-   Útyper   r/   r   r3   r'   r!   r#   r   )r1   ÚresultsÚnamesr%   Z
newarglistrV   Únewr   r   r   ÚImportAndCall‚   s*    


þÿÿüÿr^   c                 C   sˆ   t | tƒr | jtƒ tƒ gkr dS t | tƒo†t| jƒdko†t | jd tƒo†t | jd tƒo†t | jd tƒo†| jd jdko†| jd jdkS )NTé   rY   r   é   r   r   )r   r   rS   r   r   Úlenr   r   ©r1   r   r   r   Úis_tuplež   s    
ÿþýüûúrc   c                 C   sX   t | tƒoVt| jƒdkoVt | jd tƒoVt | jd tƒoV| jd jdkoV| jd jdkS )Nr   rY   éÿÿÿÿr>   r?   )r   r   ra   rS   r   r   rb   r   r   r   Úis_listª   s    
ÿþýüûre   c                 C   s   t tjtƒ | tƒ gƒS r"   )r   r   r   r   r   rb   r   r   r   Úparenthesize¸   s    rf   Úsortedr   ÚsetÚanyÚallÚtupleÚsumÚminÚmaxÚ	enumeratec                 c   s$   t | |ƒ}|r |V  t ||ƒ}q
d S r"   )Úgetattr)r%   r&   Únextr   r   r   Ú
attr_chain¿   s    
rr   zefor_stmt< 'for' any 'in' node=any ':' any* >
        | comp_for< 'for' any 'in' node=any any* >
     z³
power<
    ( 'iter' | 'list' | 'tuple' | 'sorted' | 'set' | 'sum' |
      'any' | 'all' | 'enumerate' | (any* trailer< '.' 'join' >) )
    trailer< '(' node=any ')' >
    any*
>
z`
power<
    ( 'sorted' | 'enumerate' )
    trailer< '(' arglist<node=any any*> ')' >
    any*
>
Fc                 C   sp   t s&t t¡at t¡at t¡ada tttg}t|t| dƒƒD ]*\}}i }| ||¡r@|d | kr@ dS q@dS )NTÚparentr1   F)	Ú
pats_builtr   Zcompile_patternÚp0Úp1Úp2Úziprr   Úmatch)r1   ZpatternsÚpatternrs   r[   r   r   r   Úin_special_contextå   s    



r{   c                 C   sš   | j }|d k	r|jtjkrdS | j}|jtjtjfkr:dS |jtjkrX|j	d | krXdS |jtj
ks’|jtjkr–|d k	r„|jtjks’|j	d | kr–dS dS )NFrY   T)Zprev_siblingrZ   r   r,   rs   r   ÚfuncdefÚclassdefÚ	expr_stmtrS   Z
parametersZtypedargslistr)   )r1   Úprevrs   r   r   r   Úis_probably_builtinø   s&    
ÿþ
þýr€   c                 C   sJ   | d k	rF| j tjkr>t| jƒdkr>| jd }|j tjkr>|jS | j} q dS )Nr`   r   r9   )	rZ   r   Úsuitera   rS   r   ÚINDENTr   rs   )r1   Úindentr   r   r   Úfind_indentation  s    
r„   c                 C   s>   | j tjkr| S |  ¡ } | jd  }| _ttj| gƒ}||_|S r"   )rZ   r   r�   r-   rs   r   )r1   rs   r�   r   r   r   Ú
make_suite  s    r…   c                 C   s$   | j tjkr | j} | s tdƒ‚q | S )Nz,root found before file_input node was found.)rZ   r   Z
file_inputrs   Ú
ValueErrorrb   r   r   r   Ú	find_root&  s
    
r‡   c                 C   s   t |t|ƒ| ƒ}t|ƒS r"   )Úfind_bindingr‡   Úbool)Úpackager    r1   Zbindingr   r   r   Údoes_tree_import/  s    r‹   c                 C   s   | j tjtjfkS r"   )rZ   r   Úimport_namerR   rb   r   r   r   Ú	is_import7  s    r�   c                 C   s.  dd„ }t |ƒ}t| ||ƒr d S d }}t|jƒD ]F\}}||ƒsDq2t|j|d … ƒD ]\}}||ƒsV qlqV|| } qzq2|dkrÆt|jƒD ]8\}}|jtjkrŒ|jrŒ|jd jtjkrŒ|d } qÆqŒ| d krôt	tj
ttjdƒttj|dd�gƒ}	nt| ttj|dd�gƒ}	|	tƒ g}
| |t	tj|
ƒ¡ d S )Nc                 S   s    | j tjko| jot| jd ƒS )NrY   )rZ   r   Úsimple_stmtrS   r�   rb   r   r   r   Úis_import_stmt>  s    ÿz$touch_import.<locals>.is_import_stmtrY   r   rO   r   r   )r‡   r‹   ro   rS   rZ   r   rŽ   r   rC   r   rŒ   r   r   rU   r8   r.   )rŠ   r    r1   r�   ÚrootZ
insert_posÚoffsetÚidxZnode2Úimport_rS   r   r   r   Útouch_import;  s8    ÿ
þ
r”   c                 C   s®  |j D �] }d }|jtjkrVt| |j d ƒr4|  S t| t|j d ƒ|ƒ}|rR|}�n0|jtjtjfkrŠt| t|j d ƒ|ƒ}|r†|}� nü|jtj	k�rt| t|j d ƒ|ƒ}|r¸|}nTt
|j dd … ƒD ]@\}}|jtjkrÊ|jdkrÊt| t|j |d  ƒ|ƒ}|rÊ|}qÊnx|jtk�r2|j d j| k�r2|}nTt|| |ƒ�rF|}n@|jtjk�rbt| ||ƒ}n$|jtjk�r†t| |j d ƒ�r†|}|r|�s˜|  S t|ƒr|  S qd S )Nr   rd   r`   r_   ú:é   rY   )rS   rZ   r   Zfor_stmtÚ_findrˆ   r…   Zif_stmtZ
while_stmtZtry_stmtro   r   ÚCOLONr   Ú	_def_symsÚ_is_import_bindingrŽ   r~   r�   )r    r1   rŠ   ÚchildZretr<   ÚiZkidr   r   r   rˆ   i  sH       
rˆ   c                 C   sT   |g}|rP|  ¡ }|jdkr4|jtkr4| |j¡ q|jtjkr|j| kr|S qd S )Né   )ÚpoprZ   Ú_block_symsÚextendrS   r   r   r   )r    r1   Znodesr   r   r   r—   ”  s    r—   c                 C   s¢  | j tjkrÆ|sÆ| jd }|j tjkrx|jD ]H}|j tjkrV|jd j|krt|   S q,|j tjkr,|j|kr,|   S q,nL|j tjkrª|jd }|j tjkrÄ|j|krÄ| S n|j tjkrÄ|j|krÄ| S nØ| j tj	k�rž|ròt
| jd ƒ ¡ |kròd S | jd }|�rtd|ƒ�rd S |j tjk�r0t||ƒ�r0| S |j tjk�rh|jd }|j tjk�rž|j|k�rž| S n6|j tjk�r†|j|k�r†| S |�rž|j tjk�rž| S d S )Nr   r`   rd   r_   Úas)rZ   r   rŒ   rS   Zdotted_as_namesZdotted_as_namer   r   r   rR   ÚstrÚstripr—   rQ   Zimport_as_nameÚSTAR)r1   r    rŠ   rT   r›   Zlastr<   r   r   r   rš   ž  s@    





rš   )N)NN)N)N)N)N)N)5Zpgen2r   Zpytreer   r   Zpygramr   r   r9   r   r   r   r   r   r!   r'   r*   r$   r2   r4   r8   r:   r=   rB   rE   rM   rU   r^   rc   re   rf   Zconsuming_callsrr   ru   rv   rw   rt   r{   r€   r„   r…   r‡   r‹   r�   r”   r}   r|   r™   rˆ   r#   rŸ   r—   rš   r   r   r   r   Ú<module>   s^   




  ÿ		-
*
