509318396
Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­
<!DOCTYPE html>
<html>
3
y¾œb:  ã               @   sf   d dl Z d dlZddlmZ G dd„ dƒZdd„ Zddd	„ZG d
d„ dƒZdd„ Zdej	fdd„Z
dS )é    Né   )Úis_terminalc               @   s4   e Zd Zdd„ Zdd„ Zdd„ Zdd„ Zd	d
„ ZdS )Ú
TextPeckerc             C   s   || _ d| _d S )Nr   )ÚstrÚi)ÚselfÚs© r	   ú/usr/lib64/python3.6/nanorst.pyÚ__init__   s    zTextPecker.__init__c             C   s$   |  j |7  _ | j| j | | j … S )N)r   r   )r   Únr	   r	   r
   Úread   s    zTextPecker.readc             C   s@   |dkr| j | j| j| … S | j | j| d | jd … S d S )Nr   r   )r   r   )r   r   r	   r	   r
   Úpeek   s    zTextPecker.peekc             C   sF   d}| j }x6|t| jƒk r@| j| dkr@|| j| 7 }|d7 }qW |S )NÚ Ú
r   )r   Úlenr   )r   Úoutr   r	   r	   r
   Úpeekline   s    zTextPecker.peeklinec             C   s   | j ƒ }|  jt|ƒ7  _|S )N)r   r   r   )r   r   r	   r	   r
   Úreadline   s    zTextPecker.readlineN)Ú__name__Ú
__module__Ú__qualname__r   r   r   r   r   r	   r	   r	   r
   r      s
   r   c             C   s€   | dkr4|dkr4|dd|ƒ |j dƒ |dd|ƒ nH|dd|ƒ |j | jƒ ƒ |j dƒ |dd|ƒ |r||j |ƒ |j dƒ d S )NZ	containerZexperimentalÚtextz**z++ Experimental ++z:
r   )ÚwriteÚtitle)Ú	directiveÚ	argumentsr   Ú
state_hookr	   r	   r
   Úprocess_directive$   s    


r   c             C   sÞ  |p
dd„ }|pi }d}d}t | ƒ} tjƒ }d}�xŒ| jdƒ}|sDP | jdƒ}|dk�r–|dkrp| jdƒ|krpq4| jd ƒdk�r
||kr¢||kr¢||||ƒ |}q4||  ko´dkn  rÖ||d	|ƒ d	}| jdƒ q4||  koèdkn  �r||d
|ƒ d
}| jdƒ q4| jd!ƒjƒ �rÊ|dk�rÊ| jdƒdk�rÊ| jdƒ d}	xL| jdƒ}|dk�rf| jdƒ P |dk�r~| jdƒ �qF|	| jdƒ7 }	�qFW y|j||	 ƒ W q4 tk
�rÆ   td|	 ƒ‚Y q4X q4|dk�r
| jdƒdk�r
| jdƒ ||d|ƒ d}|jdƒ q4| jd"ƒd#k�r–||  k�o.dkn  �r–| jdƒ | j	ƒ j
dƒ\}
}}| jdƒ |�s‚|
dk�rtd}q4|
dkr4d}q4t|
|jƒ ||ƒ q4||k�rÎ||k�rÎ||d|ƒ d}|dkr4|jd$ƒ q4|d
k�r"||  k�oìdkn  �r"||d|ƒ d}| jdƒ |dkr4|jd%ƒ q4|d	k�rd||  k�o@dkn  �rd||d|ƒ d}| jdƒ q4|dk�r²||  k�o‚dkn  �r²| jdƒdd… dk�r²||d|ƒ d}|j|ƒ q4W |dk�sÖtd| ƒ‚|jƒ S )&zÜ
    Convert rST to a more human text form.

    This is a very loose conversion. No advanced rST features are supported.
    The generated output directly depends on the input (e.g. indentation of
    admonitions).
    c             S   s   d S )Nr	   )Ú	old_stateÚ	new_stater   r	   r	   r
   Ú<lambda>;   s    zrst_to_text.<locals>.<lambda>r   ÚreplaceÚ*ú`r   ú\z**z``ú:é   zref:`r   r   um   Undefined reference in Archiver help: %r â€” please add reference substitution to 'rst_plain_text_references'é   z:
z
code-blockú

Ú.z::znanorst: inline-fillZfillznanorst: inline-replaceú é   Nz    z>Invalid final state %r (This usually indicates unmatched */**))r#   r$   éÿÿÿÿr-   éþÿÿÿ)r)   r   z  z    )r   ÚioÚStringIOr   r   Úisspacer   ÚKeyErrorÚ
ValueErrorr   Ú	partitionr   ÚstripÚAssertionErrorÚgetvalue)r   r   Ú
referencesÚstateZinline_moder   Zinline_singleÚcharÚnextÚrefr   Zis_directiver   r	   r	   r
   Úrst_to_text3   s´    




*







,



&

&
>r=   c               @   sJ   e Zd Zddd„Zedd„ ƒZdd„ Zdd	„ Zd
d„ Zdd„ Z	dd„ Z
dS )ÚRstToTextLazyNc             C   s   || _ || _|| _d | _d S )N)r   r   r8   Ú_rst)r   r   r   r8   r	   r	   r
   r   ¥   s    zRstToTextLazy.__init__c             C   s$   | j d krt| j| j| jƒ| _ | j S )N)r?   r=   r   r   r8   )r   r	   r	   r
   Úrst«   s    
zRstToTextLazy.rstc             C   s   t | j|ƒS )N)Úgetattrr@   )r   Úitemr	   r	   r
   Ú__getattr__±   s    zRstToTextLazy.__getattr__c             C   s   | j S )N)r@   )r   r	   r	   r
   Ú__str__´   s    zRstToTextLazy.__str__c             C   s
   | j | S )N)r@   )r   Úotherr	   r	   r
   Ú__add__·   s    zRstToTextLazy.__add__c             C   s
   t | jƒS )N)Úiterr@   )r   r	   r	   r
   Ú__iter__º   s    zRstToTextLazy.__iter__c             C   s
   || j kS )N)r@   )r   rB   r	   r	   r
   Ú__contains__½   s    zRstToTextLazy.__contains__)NN)r   r   r   r   Úpropertyr@   rC   rD   rF   rH   rI   r	   r	   r	   r
   r>   ¤   s   
r>   c             C   sR   | dkr|d	kr|j dƒ | dkr4|dkr4|j dƒ | d
krN|dkrN|j dƒ d S )Nr   r#   r$   ú``z[4mú**z[1mz[0m)r#   r$   rK   )r#   r$   rK   rL   )r   )r   r    r   r	   r	   r
   Úansi_escapesÁ   s    

rM   c             C   s   t |ƒrt}nd}t| ||ƒS )z·
    Convert *rst* to a lazy string.

    If *destination* is a file-like object connected to a terminal,
    enrich text with suitable ANSI escapes. Otherwise return plain text.
    N)r   rM   r>   )r@   r8   ZdestinationZrst_state_hookr	   r	   r
   Úrst_to_terminalÊ   s    rN   )NN)r/   ÚsysZhelpersr   r   r   r=   r>   rM   ÚstdoutrN   r	   r	   r	   r
   Ú<module>   s   
q	