
Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­
<!DOCTYPE html>
<html>
3

  \‡8  ã               @   s´   d dl Z d dlZdddddddd	d
dddgZdad dd„Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Z	dd„ Z
dd	„ Zdd
„ ZG dd„ dƒZdd„ Zd!dd„Zdd„ Zedkr°eƒ  dS )"é    NÚinputÚcloseÚnextfileÚfilenameÚlinenoÚ
filelinenoÚfilenoÚisfirstlineÚisstdinÚ	FileInputÚhook_compressedÚhook_encodedFÚ Úrc             C   s(   t rt jrtdƒ‚t| |||||ƒa t S )Nzinput() already active)Ú_stateÚ_fileÚRuntimeErrorr   )ÚfilesÚinplaceÚbackupÚbufsizeÚmodeÚopenhook© r   ú!/usr/lib64/python3.6/fileinput.pyr   S   s    	
c              C   s   t } d a | r| jƒ  d S )N)r   r   )Ústater   r   r   r   a   s    c               C   s   t stdƒ‚t jƒ S )Nzno active input())r   r   r   r   r   r   r   r   i   s    
c               C   s   t stdƒ‚t jƒ S )Nzno active input())r   r   r   r   r   r   r   r   w   s    c               C   s   t stdƒ‚t jƒ S )Nzno active input())r   r   r   r   r   r   r   r   €   s    c               C   s   t stdƒ‚t jƒ S )Nzno active input())r   r   r   r   r   r   r   r   Š   s    c               C   s   t stdƒ‚t jƒ S )Nzno active input())r   r   r   r   r   r   r   r   ”   s    c               C   s   t stdƒ‚t jƒ S )Nzno active input())r   r   r	   r   r   r   r   r	   �   s    c               C   s   t stdƒ‚t jƒ S )Nzno active input())r   r   r
   r   r   r   r   r
   ¦   s    c               @   s–   e Zd Zd(dd„Zdd	„ Zd
d„ Zdd„ Zdd„ Zdd„ Zdd„ Z	dd„ Z
dd„ Zdd„ Zdd„ Zdd„ Zdd„ Zd d!„ Zd"d#„ Zd$d%„ Zd&d'„ ZdS ))r   NFr   r   r   c             C   sö   t |tƒr|f}n(|d kr(tjdd … }|s2d}nt|ƒ}|| _|| _|| _|rhdd l}|j	dt
dd� d | _d | _d | _d| _d| _d | _d| _d | _|dkr¨tdƒ‚d
|krÆdd l}|j	dt
dƒ || _|rì|rÜtdƒ‚t|ƒsìtdƒ‚|| _d S )Né   ú-r   z!bufsize is deprecated and ignoredé   )Ú
stacklevelFr   ÚrUÚUÚrbz=FileInput opening mode must be one of 'r', 'rU', 'U' and 'rb'z'U' mode is deprecatedz4FileInput cannot use an opening hook in inplace modez#FileInput openhook must be callable)r   )r   r    r!   r"   )Ú
isinstanceÚstrÚsysÚargvÚtupleÚ_filesÚ_inplaceÚ_backupÚwarningsÚwarnÚDeprecationWarningÚ_savestdoutÚ_outputÚ	_filenameÚ_startlinenoÚ_filelinenor   Ú_isstdinÚ_backupfilenameÚ
ValueErrorÚ_modeÚcallableÚ	_openhook)Úselfr   r   r   r   r   r   r+   r   r   r   Ú__init__¼   sF    

zFileInput.__init__c             C   s   | j ƒ  d S )N)r   )r9   r   r   r   Ú__del__æ   s    zFileInput.__del__c             C   s   z| j ƒ  W d f | _X d S )N)r   r(   )r9   r   r   r   r   é   s    zFileInput.closec             C   s   | S )Nr   )r9   r   r   r   Ú	__enter__ï   s    zFileInput.__enter__c             C   s   | j ƒ  d S )N)r   )r9   ÚtypeÚvalueÚ	tracebackr   r   r   Ú__exit__ò   s    zFileInput.__exit__c             C   s   | S )Nr   )r9   r   r   r   Ú__iter__õ   s    zFileInput.__iter__c             C   s:   x4| j ƒ }|r |  jd7  _|S | js*t‚| jƒ  qW d S )Nr   )Ú	_readliner2   r   ÚStopIterationr   )r9   Úliner   r   r   Ú__next__ø   s    zFileInput.__next__c             C   s>   || j ƒ krtdƒ‚y| jƒ S  tk
r8   tdƒ‚Y nX d S )Nzaccessing lines out of orderzend of input reached)r   r   rE   rC   Ú
IndexError)r9   Úir   r   r   Ú__getitem__  s    zFileInput.__getitem__c          %   C   sÂ   | j }d | _ |r|t_| j}d | _z|r0|jƒ  W d | j}d | _y| `W n tk
r\   Y nX z|rt| j rt|jƒ  W d | j	}d | _	|r´| j
 r´ytj|ƒ W n tk
r²   Y nX d| _X X d S )NF)r.   r%   Ústdoutr/   r   r   rB   ÚAttributeErrorr3   r4   r*   ÚosÚunlinkÚOSError)r9   Z
savestdoutÚoutputÚfileZbackupfilenamer   r   r   r     s4      zFileInput.nextfilec             C   s:   x4| j ƒ }|r |  jd7  _|S | js*|S | jƒ  qW d S )Nr   )rB   r2   r   r   )r9   rD   r   r   r   Úreadline)  s    zFileInput.readlinec             C   sþ  | j sd| jkrdS dS | j d | _| j dd … | _ | jƒ | _d| _d | _d| _d| _| jdkr–d| _d| jkr„t	t
jd	t
jƒ| _nt
j| _d
| _�nV| j�rÀ| j| jpªd | _ytj| jƒ W n tk
rÔ   Y nX tj| j| jƒ t| j| jƒ| _ytj| jjƒ ƒj}W n$ tk
�r0   t| jdƒ| _Y n~X tjtjB tjB }ttdƒ�rZ|tjO }tj| j||ƒ}tj|dƒ| _yttdƒ�r”tj| j|ƒ W n tk
�r¬   Y nX t
j| _| jt
_n,| j �rÜ| j | j| jƒ| _nt| j| jƒ| _| jj!| _"| j"ƒ S )NÚbó    r   r   r   Fr   z<stdin>ÚbufferTz.bakÚwÚO_BINARYÚchmod)#r(   r6   r0   r   r1   r2   r   r3   r4   Úgetattrr%   Ústdinr)   r*   rK   rL   rM   ÚrenameÚopenÚfstatr   Úst_moder/   ÚO_CREATÚO_WRONLYÚO_TRUNCÚhasattrrU   ÚfdopenrV   rI   r.   r8   rP   rB   )r9   Zpermr   Úfdr   r   r   rB   4  s\    







zFileInput._readlinec             C   s   | j S )N)r0   )r9   r   r   r   r   n  s    zFileInput.filenamec             C   s   | j | j S )N)r1   r2   )r9   r   r   r   r   q  s    zFileInput.linenoc             C   s   | j S )N)r2   )r9   r   r   r   r   t  s    zFileInput.filelinenoc             C   s0   | j r(y
| j jƒ S  tk
r$   dS X ndS d S )Nr   éÿÿÿÿrc   )r   r   r5   )r9   r   r   r   r   w  s    
zFileInput.filenoc             C   s
   | j dkS )Nr   )r2   )r9   r   r   r   r	   €  s    zFileInput.isfirstlinec             C   s   | j S )N)r3   )r9   r   r   r   r
   ƒ  s    zFileInput.isstdin)NFr   r   r   N)Ú__name__Ú
__module__Ú__qualname__r:   r;   r   r<   r@   rA   rE   rH   r   rP   rB   r   r   r   r   r	   r
   r   r   r   r   r   ¯   s$    
):	c             C   sV   t jj| ƒd }|dkr,dd l}|j| |ƒS |dkrHdd l}|j| |ƒS t| |ƒS d S )Nr   z.gzr   z.bz2)rK   ÚpathÚsplitextÚgziprZ   Úbz2ZBZ2File)r   r   Zextri   rj   r   r   r   r   ‡  s    c                s   ‡ ‡fdd„}|S )Nc                s   t | |ˆ ˆd�S )N)ÚencodingÚerrors)rZ   )r   r   )rk   rl   r   r   r   ”  s    zhook_encoded.<locals>.openhookr   )rk   rl   r   r   )rk   rl   r   r   “  s    c              C   sæ   dd l } d}d}| j tjdd … dƒ\}}x(|D ] \}}|dkrDd}|dkr0|}q0W xtt|||d�D ]b}|dd … d	kr„|d d… }|dd … d
kr |d d… }tdtƒ tƒ tƒ tƒ rºdp¼d|f ƒ qdW tdtƒ tƒ tƒ f ƒ d S )Nr   Fr   zib:z-iTz-b)r   r   Ú
úz%d: %s[%d]%s %sÚ*r   z
%d: %s[%d]rc   rc   rc   rc   )	Úgetoptr%   r&   r   Úprintr   r   r   r	   )rp   r   r   ZoptsÚargsÚoÚarD   r   r   r   Ú_test™  s"        ru   Ú__main__)NFr   r   r   N)N)r%   rK   Ú__all__r   r   r   r   r   r   r   r   r	   r
   r   r   r   ru   rd   r   r   r   r   Ú<module>K   s*   
 
	

			 Y
