<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/css/bootstrap.min.css" rel="stylesheet"
        integrity="sha384-GLhlTQ8iRABdZLl6O3oVMWSktQOp6b7In1Zl3/Jr59b6EGGoI1aFkw7cmDA6j6gD" crossorigin="anonymous">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.3.0/css/all.min.css"
        integrity="sha512-SzlrxWUlpfuzQ+pcUCosxcglQRNAq/DZjVsC0lE40xsADsfeQoEypE+enwcOiGjk/bSuGGKHEyjSoQ1zVisanQ=="
        crossorigin="anonymous" referrerpolicy="no-referrer" />
</head>
</html>

]Y                 @   s  d  d l  Z  d  d l Z d  d l Z d  d l m Z d g Z d  Z d Z e	 d g  Z
 e	 d g  Z e	 d g  Z e	 d g  Z e	 d	 g  Z e	 d  g  Z e	 d
 g  Z e	 d g  Z e	 d g  Z e	 d g  Z e	 d g  Z e	 d g  Z e	 d g  Z e	 d g  Z e	 d g  Z e	 d g  Z e	 d g  Z e	 d  g  Z e	 d g  Z e	 d g  Z e	 d g  Z e	 d g  Z e	 d g  Z  e	 d g  Z! e	 d g  Z" e	 d g  Z# e	 d g  Z$ e	 d g  Z% e	 d g  Z& e	 d  g  Z' e	 d! g  Z( e	 d" g  Z) e	 d# g  Z* e	 d$ g  Z+ e	 d% g  Z, e	 d& g  Z- e	 d' g  Z. e	 d( g  Z/ e	 d) g  Z0 e	 d* g  Z1 e	 d g  Z2 e	 d+ g  Z3 e	 d, g  Z4 e	 d- g  Z5 e	 d. g  Z6 e	 d/ g  Z7 e	 d0 g  Z8 e	 d1 g  Z9 e	 d2 g  Z: e	 d3 g  Z; e	 d4 g  Z< e	 d5 g  Z= e	 d6 g  Z> e	 d7 g  Z? e	 d8 g  Z@ e	 d9 g  ZA e	 d: g  ZB e	 d; g  ZC e	 d< g  ZD e	 d= g  ZE e	 d> g  ZF e	 d? g  ZG e	 d@ g  ZH e	 dA g  ZI e	 dB g  ZJ e	 dC g  ZK e	 dD g  ZL e	 dE g  ZM e	 dF g  ZN e	 dG g  ZO e	 d g  ZP e	 d  g  ZQ eR e dH  re jS ZT n	 e jU ZT GdI d   d  ZV dJ dK   ZW eX dL k reW   d S)M    N)	monotonicTelnet                                                                           	   
                                                                   !   "   #   $   %   &   '   (   )   *   +   ,   -   .   /   0   1            PollSelectorc               @   sc  e  Z d  Z d d e j d d  Z d e j 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 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/ d0   Z d1 d2   Z d3 d4   Z d d5 d6  Z d S)7r   Nr   c             C   s   t  |  _ | |  _ | |  _ | |  _ d  |  _ d |  _ d |  _ d |  _ d |  _	 d |  _
 d |  _ d |  _ d  |  _ | d  k	 r |  j | | |  d  S)N    r   )
DEBUGLEVEL
debuglevelhostporttimeoutsockrawqirawqcookedqeofiacseqsbsbdataqoption_callbackopen)selfrL   rM   rN    rZ   ./opt/alt/python35/lib64/python3.5/telnetlib.py__init__   s    													zTelnet.__init__c             C   sO   d |  _  | s t } | |  _ | |  _ | |  _ t j | | f |  |  _ d  S)Nr   )rS   TELNET_PORTrL   rM   rN   socketcreate_connectionrO   )rY   rL   rM   rN   rZ   rZ   r[   rX      s    				zTelnet.openc             C   s   |  j    d  S)N)close)rY   rZ   rZ   r[   __del__   s    zTelnet.__del__c             G   sT   |  j  d k rP t d |  j |  j f d d | rF t | |  n
 t |  d  S)Nr   zTelnet(%s,%s):end )rK   printrL   rM   )rY   msgargsrZ   rZ   r[   re      s
     z
Telnet.msgc             C   s   | |  _  d  S)N)rK   )rY   rK   rZ   rZ   r[   set_debuglevel   s    zTelnet.set_debuglevelc             C   sA   |  j  } d  |  _  d |  _ d |  _ d |  _ | r= | j   d  S)NTrI   r   )rO   rS   rT   rU   r`   )rY   rO   rZ   rZ   r[   r`     s    					zTelnet.closec             C   s   |  j  S)N)rO   )rY   rZ   rZ   r[   
get_socket  s    zTelnet.get_socketc             C   s   |  j  j   S)N)rO   fileno)rY   rZ   rZ   r[   ri     s    zTelnet.filenoc             C   sF   t  | k r" | j t  t  t   } |  j d |  |  j j |  d  S)Nzsend %r)IACreplacere   rO   sendall)rY   bufferrZ   rZ   r[   write  s    zTelnet.writec             C   s  t  |  } |  j   |  j j |  } | d k rk | | } |  j d  |  } |  j | d   |  _ | S| d  k	 r t   | } t    } | j |  t j  x |  j	 so| j
 |  rFt d t  |  j  |  } |  j   |  j   |  j j | |  } | d k rF| | } |  j d  |  } |  j | d   |  _ | S| d  k	 r | t   } | d k  r Pq WWd  QRX|  j   S)Nr   )lenprocess_rawqrR   find_time_TelnetSelectorregister	selectors
EVENT_READrS   selectmax	fill_rawqread_very_lazy)rY   matchrN   nibufdeadlineselectorrZ   rZ   r[   
read_until$  s8    




zTelnet.read_untilc             C   sD   |  j    x! |  j s- |  j   |  j    q W|  j } d |  _ | S)NrI   )rp   rS   ry   rR   )rY   r~   rZ   rZ   r[   read_allI  s    

		zTelnet.read_allc             C   sO   |  j    x, |  j r8 |  j r8 |  j   |  j    q W|  j } d |  _ | S)NrI   )rp   rR   rS   ry   )rY   r~   rZ   rZ   r[   	read_someS  s    

		zTelnet.read_somec             C   sE   |  j    x. |  j r: |  j   r: |  j   |  j    q W|  j   S)N)rp   rS   
sock_availry   rz   )rY   rZ   rZ   r[   read_very_eagerb  s
    

zTelnet.read_very_eagerc             C   sO   |  j    x8 |  j rD |  j rD |  j   rD |  j   |  j    q W|  j   S)N)rp   rR   rS   r   ry   rz   )rY   rZ   rZ   r[   
read_eagerp  s
    
#
zTelnet.read_eagerc             C   s   |  j    |  j   S)N)rp   rz   )rY   rZ   rZ   r[   	read_lazy~  s    
zTelnet.read_lazyc             C   s<   |  j  } d |  _  | r8 |  j r8 |  j r8 t d   | S)NrI   ztelnet connection closed)rR   rS   rP   EOFError)rY   r~   rZ   rZ   r[   rz     s
    		zTelnet.read_very_lazyc             C   s   |  j  } d |  _  | S)NrI   )rV   )rY   r~   rZ   rZ   r[   read_sb_data  s    		zTelnet.read_sb_datac             C   s   | |  _  d  S)N)rW   )rY   callbackrZ   rZ   r[   set_option_negotiation_callback  s    z&Telnet.set_option_negotiation_callbackc             C   s	  d d g } yx|  j  r|  j   } |  j s | t k r? q | d k rN q | t k rx | |  j | | |  j <q q|  j | 7_ q t |  j  d k r| t t t	 t
 f k r |  j | 7_ q d |  _ | t k r | |  j | | |  j <q| t k rd |  _ d |  _ n3 | t k rMd |  _ |  j | d |  _ d | d <|  j ro|  j |  j | t  q|  j d t |   q t |  j  d k r |  j d d  } d |  _ | } | t t f k r:|  j d | t k rd pd	 t |   |  j r|  j |  j | |  q|  j j t t
 |  q | t	 t
 f k r |  j d | t	 k rgd
 pjd t |   |  j r|  j |  j | |  q |  j j t t |  q WWn$ t k
 rd |  _ d |  _ Yn X|  j | d |  _ |  j | d |  _ d  S)NrI   s   r   r   zIAC %d not recognizedr   z	IAC %s %dDODONTWILLWONT)rP   rawq_getcharrT   theNULLrj   rU   ro   r   r   r   r   SBrV   SErW   rO   NOOPTre   ordrl   r   rR   )rY   r~   ccmdoptrZ   rZ   r[   rp     sh    				
			"		"	 		zTelnet.process_rawqc             C   s}   |  j  s" |  j   |  j r" t  |  j  |  j |  j d  } |  j d |  _ |  j t |  j   k ry d |  _  d |  _ | S)Nr   rI   r   )rP   ry   rS   r   rQ   ro   )rY   r   rZ   rZ   r[   r     s    	
			zTelnet.rawq_getcharc             C   sj   |  j  t |  j  k r* d |  _ d |  _  |  j j d  } |  j d |  | |  _ |  j | |  _ d  S)NrI   r   2   zrecv %r)rQ   ro   rP   rO   recvre   rS   )rY   r~   rZ   rZ   r[   ry      s    		
zTelnet.fill_rawqc          
   C   s=   t    - } | j |  t j  t | j d   SWd  QRXd  S)Nr   )rs   rt   ru   rv   boolrw   )rY   r   rZ   rZ   r[   r     s    zTelnet.sock_availc             C   s3  t  j d k r |  j   d  St   } | j |  t j  | j t  j t j  x x | j   D] \ } } | j	 |  k r y |  j
   } Wn  t k
 r t d  d  SYn X| r t  j j | j d   t  j j   qb | j	 t  j k rb t  j j   j d  } | sd  S|  j |  qb WqU WWd  QRXd  S)Nwin32z(*** Connection closed by remote host ***ascii)sysplatformmt_interactrs   rt   ru   rv   stdinrw   fileobjr   r   rd   stdoutrn   decodeflushreadlineencode)rY   r   keyeventstextlinerZ   rZ   r[   interact  s,    

	zTelnet.interactc             C   sV   d d  l  } | j |  j f   x0 t j j   } | s8 P|  j | j d   q" Wd  S)Nr   r   )_threadstart_new_threadlistenerr   r   r   rn   r   )rY   r   r   rZ   rZ   r[   r   1  s    zTelnet.mt_interactc             C   sm   xf y |  j    } Wn  t k
 r5 t d  d  SYn X| rX t j j | j d   q t j j   q Wd  S)Nz(*** Connection closed by remote host ***r   )r   r   rd   r   r   rn   r   r   )rY   datarZ   rZ   r[   r   ;  s    
	zTelnet.listenerc             C   s  d  } | d  d   } t  t |   } xJ | D]B } t | | d  s/ | sZ d d  l } | j | |  | | <q/ W| d  k	 r t   | } t    } | j |  t j	  x |  j
 s|  j   xl | D]d } | | j |  j  } | r | j   }	 |  j d  |	  }
 |  j |	 d   |  _ | | |
 f Sq W| d  k	 rs| j |  } | t   } | ss| d k  r Pn q |  j   q WWd  QRX|  j   }
 |
 r|  j
 rt  d d  |
 f S)Nsearchr   r   )rangero   hasattrrecompilerr   rs   rt   ru   rv   rS   rp   r   rR   rb   rw   ry   rz   r   )rY   listrN   r   indicesr}   r   r   mer   readyrZ   rZ   r[   expectH  sB     
zTelnet.expect)__name__
__module____qualname__r^   _GLOBAL_DEFAULT_TIMEOUTr\   rX   ra   re   rg   r`   rh   ri   rn   r   r   r   r   r   r   rz   r   r   rp   r   ry   r   r   r   r   r   rZ   rZ   rZ   r[   r      s6   7
%
H
c              C   s  d }  x> t  j d d   rF t  j d d k rF |  d }  t  j d =q	 Wd } t  j d d   rm t  j d } d } t  j d d   r t  j d } y t |  } Wn$ t k
 r t j | d  } Yn Xt   } | j |   | j | | d d | j	   | j
   d  S)	Nr   r   z-d	localhostr   ZtcprN   g      ?)r   argvint
ValueErrorr^   getservbynamer   rg   rX   r   r`   )rK   rL   rM   ZportstrtnrZ   rZ   r[   test  s&    )
	
r   __main__)Yr   r^   ru   timer   rr   __all__rJ   r]   bytesrj   r   r   r   r   r   r   ZNOPZDMZBRKZIPZAOZAYTZECZELZGAr   ZBINARYZECHOZRCPZSGAZNAMSZSTATUSZTMZRCTEZNAOLZNAOPZNAOCRDZNAOHTSZNAOHTDZNAOFFDZNAOVTSZNAOVTDZNAOLFDZXASCIIZLOGOUTZBMZDETZSUPDUPZSUPDUPOUTPUTZSNDLOCZTTYPEZEORZTUIDZOUTMRKZTTYLOCZVT3270REGIMEZX3PADZNAWSZTSPEEDZLFLOWZLINEMODEZXDISPLOCZOLD_ENVIRONZAUTHENTICATIONZENCRYPTZNEW_ENVIRONZTN3270EZXAUTHCHARSETZRSPZCOM_PORT_OPTIONZSUPPRESS_LOCAL_ECHOZTLSZKERMITZSEND_URLZ	FORWARD_XZPRAGMA_LOGONZ
SSPI_LOGONZPRAGMA_HEARTBEATZEXOPLr   r   rH   rs   SelectSelectorr   r   r   rZ   rZ   rZ   r[   <module>$   s   		 