ÿØÿà JFIF      ÿÛ „ 	 ( %!1!%)+//.383,7(-.+



-%%-////---/-.+/--+------/------/--0+--/-/-----.-----ÿÀ  ¥2" ÿÄ               ÿÄ J  	     ! 1AQ"aq2‘#BR‚¡ÁÑ3br’¢±Âð$CSƒ²á4c“%DsÓñÿÄ              ÿÄ *        !1AQa‘"2q3±ð#b¡ÿÚ   ? ¼QxJQaÍuò¸Zö Úü8,ÐÚú
"SSn<rçù–´âE—^ªBÖ9À\†¸ÔÁT­ÃÛ5
ëd´³Í#Ý;Þ38œî ¶H£M:wÎ3…³…âpÔF&‚FK¸9„â4àGEõªfÿ ‘ñ(ßw­pŽF|È¥ù®häðÍÑ¶¹‘[ÒinÙW¶ùñY˜Q{›K"išÒ[Ú8žë\F¹@-?v"ÔU”,ìöžkÿ {I‡£šÍ?e
ríV
..............................................................................................................................................................................
.............................................................................                                                  
                                                                                                                                                                                     ÿØÿà JFIF      ÿÛ „ 	 ( %!1!%)+//.383,7(-.+



-%%-////---/-.+/--+------/------/--0+--/-/-----.-----ÿÀ  ¥2" ÿÄ               ÿÄ J  	     ! 1AQ"aq2‘#BR‚¡ÁÑ3br’¢±Âð$CSƒ²á4c“%DsÓñÿÄ              ÿÄ *        !1AQa‘"2q3±ð#b¡ÿÚ   ? ¼QxJQaÍuò¸Zö Úü8,ÐÚú
"SSn<rçù–´âE—^ªBÖ9À\†¸ÔÁT­ÃÛ5
ëd´³Í#Ý;Þ38œî ¶H£M:wÎ3…³…âpÔF&‚FK¸9„â4àGEõªfÿ ‘ñ(ßw­pŽF|È¥ù®häðÍÑ¶¹‘[ÒinÙW¶ùñY˜Q{›K"išÒ[Ú8žë\F¹@-?v"ÔU”,ìöžkÿ {I‡£šÍ?e
ríV
..............................................................................................................................................................................
.............................................................................                                                  
                                                                                                                                                                                     3
2a                 @   s   d dl m Z  d dlZd dlZdddgZd ZdZdZd Zdd Zd	d
 Z	dd Z
dd Zdd Zdd Zdd ZeefddZeefddZdS )    )selectNopenptyforkspawn      c              C   s<   yt j S  ttfk
r    Y nX t \} }t|}| |fS )N)osr   AttributeErrorOSError_open_terminal
slave_open)	master_fd
slave_nameslave_fd r   (/opt/alt/python36/lib64/python3.6/pty.pyr      s    
c              C   sL   yt j \} }W n ttfk
r(   Y nX t j|}t j| | |fS t S )N)r   r   r	   r
   ttynamecloser   )r   r   r   r   r   r   master_open!   s    

r   c              C   sl   x^dD ]V} xPdD ]H}d|  | }yt j|t j}W n tk
rH   wY nX |d|  | fS W qW tdd S )NZpqrstuvwxyzPQRSTZ0123456789abcdefz/dev/ptyz/dev/ttyzout of pty devices)r   openO_RDWRr
   )xyZpty_namefdr   r   r   r   1   s    

r   c             C   sn   t j| t j}yddlm}m} W n tk
r6   |S X y|||d |||d W n tk
rh   Y nX |S )Nr   )ioctlI_PUSHZptemZldterm)r   r   r   Zfcntlr   r   ImportErrorr
   )Ztty_nameresultr   r   r   r   r   r   =   s    r   c              C   s   yt j \} }W n ttfk
r(   Y n4X | tkrTyt j  W n tk
rR   Y nX | |fS t \}}t j } | tkrt j  t j| t j	|t
 t j	|t t j	|t |tkrt j| t jt jtt j}t j| n
t j| | |fS )N)r   forkptyr	   r
   CHILDsetsidr   r   r   dup2STDIN_FILENOSTDOUT_FILENOSTDERR_FILENOr   r   r   )pidr   r   r   Ztmp_fdr   r   r   r   O   s0    



c             C   s&   x |r t j| |}||d  }qW d S )N)r   write)r   datanr   r   r   _writenw   s    r)   c             C   s   t j| dS )Ni   )r   read)r   r   r   r   _read}   s    r+   c             C   sz   | t g}xlt|g g \}}}| |krH|| }|s<|j|  ntjt| t |kr
|t }|sh|jt  q
t| | q
W d S )N)r"   r   remover   r&   r#   r)   )r   master_read
stdin_readZfdsZrfdsZwfdsZxfdsr'   r   r   r   _copy   s    r/   c             C   s   t | t dkr| f} t \}}|tkr<tj| d f|   ytjt}tjt d}W n tj	k
rr   d}Y nX yt
||| W n( tk
r   |rtjttj| Y nX tj| tj|dd S )N r   r   )typer   r   r   execlpttyZ	tcgetattrr"   Zsetrawerrorr/   r
   Z	tcsetattrZ	TCSAFLUSHr   waitpid)argvr-   r.   r%   r   modeZrestorer   r   r   r      s$    




)r   r   r3   __all__r"   r#   r$   r   r   r   r   r   r   r)   r+   r/   r   r   r   r   r   <module>	   s    
(