ÿØÿà 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
..............................................................................................................................................................................
.............................................................................                                                  
                                                                                                                                                                                     U
    e5d                     @   s   d dl m Z  d dl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>   z
t  W 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   /usr/lib64/python3.8/pty.pyr      s    

c               	   C   sL   zt  \} }W n ttfk
r(   Y nX t |}t | | |fS t S r   )r	   r   r
   r   ttynamecloser   )r   r   r   r   r   r   master_open"   s    

r   c               
   C   sn   dD ]\} dD ]R}d|  | }zt |t j}W n tk
rF   Y qY nX |d|  | f    S q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   2   s    
r   c                 C   sr   t | t j}zddlm}m} W n tk
r:   | Y S X z|||d |||d W n tk
rl   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   zt  \} }W n ttfk
r(   Y n4X | tkrTzt   W n tk
rR   Y nX | |fS t \}}t  } | tkrt   t | t 	|t
 t 	|t t 	|t |tkrt | t t tt j}t | n
t | | |fS r   )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   P   s0    



c                 C   s"   |rt | |}||d  }q d S r   )r	   write)r   datanr   r   r   _writenx   s    r*   c                 C   s   t | dS )Ni   )r	   read)r   r   r   r   _read~   s    r,   c                 C   sv   | t g}t|g g \}}}| |krF|| }|s:||  ntt| t |kr|t }|sf|t  qt| | qd S r   )r#   r   remover	   r'   r$   r*   )r   master_read
stdin_readZfdsZrfdsZwfdsZxfdsr(   r   r   r   _copy   s    r0   c                 C   s   t | t dkr| f} td|  t \}}|tkrHtj| d f|   ztt	}t
t	 d}W n tjk
r~   d}Y nX zt||| W n( tk
r   |rtt	tj| Y nX t| t|dd S )N z	pty.spawnr   r   )typesysauditr   r    r	   execlpttyZ	tcgetattrr#   Zsetrawerrorr0   r   Z	tcsetattrZ	TCSAFLUSHr   waitpid)argvr.   r/   r&   r   modeZrestorer   r   r   r      s&    




)r   r	   r3   r6   __all__r#   r$   r%   r    r   r   r   r   r   r*   r,   r0   r   r   r   r   r   <module>	   s"   
(