<!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>

]i                 @   s  d  d l  Z  d  d l  Td  d l Z d  d l Z d  d l Z d  d l Z d  d l m Z y d  d l Z Wn e k
 r d Z Yn Xe	 e d d  Z
 e	 e d d  Z e	 e d d  Z d	 d
 d d d g Z e j e j e    e j d e d d    e j d e d d    d Z d Z d d   Z e Z e j j   j d  ri  Z d e d <d e d <d e d <d e d <d e d <d  e d! <d" e d# <d$ e d% <d& e d' <d( e d) <d* e d+ <d, e d- <d. e d/ <d0 e d1 <d2 e d3 <e j d4  Gd5 d6   d6 e  Z Gd7 d8   d8 e  j  Z d  d9 d	  Z e e  j d:  r\d; d<   Z  e j d<  e e  d=  rd e! d  d> d=  Z" n" e# e! d  d? d=  Z" e j d=  d@ e" _$ e e h Z% GdA dB   dB e j&  Z' dC dD d
  Z( e)   Z* e* d dE d  Z+ d  d  d  d  dF dG  Z, d S)H    N)*)IntEnumEBADF	   EAGAIN   EWOULDBLOCKfromfdgetfqdncreate_connectionAddressFamily
SocketKindc             C   s   |  j    o |  j d  S)NZAF_)isupper
startswith)C r   +/opt/alt/python35/lib64/python3.5/socket.py<lambda>L   s    r   c             C   s   |  j    o |  j d  S)NZSOCK_)r   r   )r   r   r   r   r   Q   s    z	127.0.0.1z::1c             C   s+   y | |   SWn t  k
 r& |  SYn Xd  S)N)
ValueError)value
enum_klassr   r   r   _intenum_converterW   s    r   winzThe operation was interrupted.i'  zA bad file handle was passed.i'  zPermission denied.i'  z!A fault occurred on the network??i'  z#An invalid operation was attempted.i&'  z The socket operation would blocki3'  z,A blocking operation is already in progress.i4'  zThe network address is in use.i@'  zThe connection has been reset.iF'  zThe network has been shut down.iJ'  zThe operation timed out.iL'  zConnection refused.iM'  zThe name is too long.iO'  zThe host is down.iP'  zThe host is unreachable.iQ'  errorTabc               @   s   e  Z d  Z d S)_GiveupOnSendfileN)__name__
__module____qualname__r   r   r   r   r   x   s    r   c            
       s  e  Z d  Z d d d g Z e e d d d d  Z d d	   Z d
 d   Z d d   Z	 d d   Z
 d d   Z d d   Z d d d d d d d d d d Z e e d  r d d d d  Z n d d d d  Z d d d d  Z d  d!   Z d d d" d#  Z d$ d%   Z e j d& d'  Z d( d)   Z   f d* d+   Z e   f d, d-    Z e   f d. d/    Z e j d0 k rd1 d2   Z d3 d4   Z n d5 d2   Z d6 d4   Z d7 e _  d8 e _    S)9socket__weakref___io_refs_closedr   Nc             C   s2   t  j j |  | | | |  d |  _ d |  _ d  S)Nr   F)_socketr   __init__r    r!   )selffamilytypeprotofilenor   r   r   r#      s    	zsocket.__init__c             C   s   |  S)Nr   )r$   r   r   r   	__enter__   s    zsocket.__enter__c             G   s   |  j  s |  j   d  S)N)r!   close)r$   argsr   r   r   __exit__   s    	zsocket.__exit__c             C   s   t  |  d d  } d |  j j |  j j | r3 d n d |  j   |  j |  j |  j f } | s y* |  j   } | r | d t	 |  7} Wn t
 k
 r Yn Xy* |  j   } | r | d t	 |  7} Wn t
 k
 r Yn X| d 7} | S)	Nr!   Fz,<%s.%s%s fd=%i, family=%s, type=%s, proto=%iz	 [closed] z
, laddr=%sz
, raddr=%s>)getattr	__class__r   r   r(   r%   r&   r'   getsocknamestrerrorgetpeername)r$   closedsladdrraddrr   r   r   __repr__   s0    			
zsocket.__repr__c             C   s   t  d   d  S)NzCannot serialize socket object)	TypeError)r$   r   r   r   __getstate__   s    zsocket.__getstate__c             C   sM   t  |  j    } |  j |  j |  j |  j d | } | j |  j    | S)Nr(   )dupr(   r0   r%   r&   r'   
settimeout
gettimeout)r$   fdsockr   r   r   r<      s    $z
socket.dupc             C   s   |  j    \ } } |  j t   j d d  @} t |  j | |  j d | } t   d  k ru |  j   ru | j	 d  | | f S)NSOCK_NONBLOCKr   r(   T)
_acceptr&   globalsgetr   r%   r'   getdefaulttimeoutr>   setblocking)r$   r?   addrr&   r@   r   r   r   accept   s    zsocket.acceptrencodingerrorsnewlinec            C   sf  t  |  d d d h k s. t d | f   d | k } d | k pJ | } d | k } d }	 | ro |	 d 7}	 | r |	 d 7}	 t |  |	  }
 |  j d 7_ | d  k r d	 } | d k  r t j } | d k r | s t d   |
 S| r
| r
t j |
 |
 |  } n- | r%t j |
 |  } n t j |
 |  } | rA| St j	 | | | |  } | | _
 | S)
NrI   wbz&invalid mode %r (only r, w, b allowed)r-      r   z!unbuffered streams must be binary)setr   SocketIOr    ioDEFAULT_BUFFER_SIZEBufferedRWPairBufferedReaderBufferedWriterTextIOWrappermode)r$   rY   	bufferingrJ   rK   rL   writingreadingbinaryrawmoderawbuffertextr   r   r   makefile   s<    

		zsocket.makefilesendfilec          2   C   sm  |  j  | | |  |  j   } y | j   } Wn: t t j f k
 rk } z t |   WYd  d  } ~ Xn Xy t j |  j } Wn1 t	 k
 r } z t |   WYd  d  } ~ Xn X| s d S| s | n | } |  j
   }	 |	 d k r t d   t t d  rt j   }
 n t j   }
 |
 j | t j  d } |
 j } t j } z x |	 rs| |	  rst j d   | r| | } | d k rPy | | | | |  } Wng t k
 r|	 s|   wQYqQt	 k
 r} z& | d k rt |   | d   WYd  d  } ~ XqQX| d k r P| | 7} | | 7} qQW| SWd  | d k rht | d  rh| j |  Xd  S)Nr   z&non-blocking sockets are not supportedPollSelectorz	timed outseek)_check_sendfile_paramsr(   AttributeErrorrS   UnsupportedOperationr   osfstatst_sizeOSErrorr>   r   hasattr	selectorsrd   SelectSelectorregisterEVENT_WRITEselectrc   r"   timeoutBlockingIOErrorre   )r$   fileoffsetcountsocknor(   errfsize	blocksizers   selector
total_sentselector_selectos_sendfilesentr   r   r   _sendfile_use_sendfile   s`    		

zsocket._sendfile_use_sendfilec             C   s   t  d   d  S)Nz,os.sendfile() not available on this platform)r   )r$   ru   rv   rw   r   r   r   r   =  s    c       
      C   sX  |  j  | | |  |  j   d k r1 t d   | rD | j |  | rY t | d  n d } d } | j } |  j } z x | r t | | |  } | d k r Pt | |   } | s Px\ y | |  }	 Wn t k
 r w Yq X| |	 7} |	 t	 |  k  r| |	 d   } q Pq Wq} W| SWd  | d k rSt
 | d  rS| j | |  Xd  S)Nr   z&non-blocking sockets are not supportedi    re   )rf   r>   r   re   minreadsend
memoryviewrt   lenrm   )
r$   ru   rv   rw   r{   r}   	file_read	sock_senddatar   r   r   r   _sendfile_use_sendA  s<    		
	zsocket._sendfile_use_sendc             C   s   d t  | d d  k r$ t d   |  j t @s= t d   | d  k	 r t | t  sm t d j |    | d k r t d j |    d  S)NrN   rY   z$file should be opened in binary modez+only SOCK_STREAM type sockets are supportedz+count must be a positive integer (got {!r})r   )r/   r   r&   SOCK_STREAM
isinstanceintr:   format)r$   ru   rv   rw   r   r   r   rf   e  s    zsocket._check_sendfile_paramsc             C   sC   y |  j  | | |  SWn% t k
 r> |  j | | |  SYn Xd  S)N)r   r   r   )r$   ru   rv   rw   r   r   r   rc   r  s    zsocket.sendfilec             C   s5   |  j  d k r |  j  d 8_  |  j r1 |  j   d  S)Nr   rO   )r    r!   r*   )r$   r   r   r   _decref_socketios  s    	zsocket._decref_socketiosc             C   s   | j  |   d  S)N)r*   )r$   _ssr   r   r   _real_close  s    zsocket._real_closec             C   s&   d |  _  |  j d k r" |  j   d  S)NTr   )r!   r    r   )r$   r   r   r   r*     s    	zsocket.closec                s   d |  _  t   j   S)NT)r!   superdetach)r$   )r0   r   r   r     s    	zsocket.detachc                s   t  t   j t  S)N)r   r   r%   r   )r$   )r0   r   r   r%     s    zsocket.familyc                s   t  t   j t  S)N)r   r   r&   r   )r$   )r0   r   r   r&     s    zsocket.typentc             C   s   t  j |  j    S)N)ri   Zget_handle_inheritabler(   )r$   r   r   r   get_inheritable  s    zsocket.get_inheritablec             C   s   t  j |  j   |  d  S)N)ri   Zset_handle_inheritabler(   )r$   inheritabler   r   r   set_inheritable  s    zsocket.set_inheritablec             C   s   t  j |  j    S)N)ri   r   r(   )r$   r   r   r   r     s    c             C   s   t  j |  j   |  d  S)N)ri   r   r(   )r$   r   r   r   r   r     s    z&Get the inheritable flag of the socketz&Set the inheritable flag of the socket)!r   r   r   	__slots__AF_INETr   r#   r)   r,   r9   r;   r<   rH   rb   rm   ri   r   r   rf   rc   r   r"   r   r   r*   r   propertyr%   r&   namer   r   __doc__r   r   )r0   r   r   {   s:   		)A$
	r   c             C   s   t  |   } t | | | |  S)N)r<   r   )r?   r%   r&   r'   nfdr   r   r   r	     s    Zsharec             C   s   t  d d d |   S)Nr   )r   )infor   r   r   	fromshare  s    r   
socketpairc             C   s   |  d  k r1 y
 t  }  Wn t k
 r0 t }  Yn Xt j |  | |  \ } } t |  | | | j    } t |  | | | j    } | | f S)N)AF_UNIX	NameErrorr   r"   r   r   r   )r%   r&   r'   arN   r   r   r   r     s    
c       
      C   sY  |  t  k r t } n! |  t k r* t } n t d   | t k rN t d   | d k rf t d   t |  | |  } z | j | d f  | j   | j	   d  d  \ } } t |  | |  } yb | j
 d  y | j | | f  Wn t t f k
 rYn X| j
 d  | j   \ } }	 Wn | j     Yn XWd  | j   X| | f S)Nz?Only AF_INET and AF_INET6 socket address families are supportedz)Only SOCK_STREAM socket type is supportedr   zOnly protocol zero is supported   FT)r   
_LOCALHOSTAF_INET6_LOCALHOST_V6r   r   r   bindlistenr1   rF   connectrt   InterruptedErrorrH   r*   )
r%   r&   r'   hostZlsockrG   portZcsockZssock_r   r   r   r     s8    		

a8  socketpair([family[, type[, proto]]]) -> (socket object, socket object)
Create a pair of socket objects from the sockets returned by the platform
socketpair() function.
The arguments are the same as for socket() except the default family is AF_UNIX
if defined on the platform; otherwise, the default is AF_INET.
c                   s   e  Z d  Z d d   Z d d   Z d d   Z d d   Z d	 d
   Z   f d d   Z d d   Z	 e
 d d    Z e
 d d    Z d d   Z   S)rR   c             C   s   | d
 k r t  d |   t j j |   | |  _ d | k rK | d 7} | |  _ d | k |  _ d | k |  _ d	 |  _ d  S)NrI   rM   rwrbwbrwbzinvalid mode: %rrN   F)rI   rM   r   r   r   r   )	r   rS   	RawIOBaser#   _sock_mode_reading_writing_timeout_occurred)r$   r@   rY   r   r   r   r#   &  s    	
	zSocketIO.__init__c             C   s   |  j    |  j   |  j r) t d   xw y |  j j |  SWq, t k
 r` d |  _   Yq, t k
 r } z | j d t	 k r d  S  WYd  d  } ~ Xq, Xq, Wd  S)Nz!cannot read from timed out objectTr   )
_checkClosed_checkReadabler   rl   r   	recv_intors   r3   r+   _blocking_errnos)r$   rN   er   r   r   readinto2  s    

		zSocketIO.readintoc             C   sn   |  j    |  j   y |  j j |  SWn? t k
 ri } z | j d t k rT d  S  WYd  d  } ~ Xn Xd  S)Nr   )r   _checkWritabler   r   r3   r+   r   )r$   rN   r   r   r   r   writeI  s    

zSocketIO.writec             C   s   |  j  r t d   |  j S)NzI/O operation on closed socket.)r5   r   r   )r$   r   r   r   readableY  s    	zSocketIO.readablec             C   s   |  j  r t d   |  j S)NzI/O operation on closed socket.)r5   r   r   )r$   r   r   r   writable`  s    	zSocketIO.writablec                s"   |  j  r t d   t   j   S)NzI/O operation on closed socket.)r5   r   r   seekable)r$   )r0   r   r   r   g  s    	zSocketIO.seekablec             C   s   |  j    |  j j   S)N)r   r   r(   )r$   r   r   r   r(   n  s    
zSocketIO.filenoc             C   s   |  j  s |  j   Sd Sd  S)NrO   rP   )r5   r(   )r$   r   r   r   r   t  s    	
zSocketIO.namec             C   s   |  j  S)N)r   )r$   r   r   r   rY   {  s    zSocketIO.modec             C   s7   |  j  r d  St j j |   |  j j   d  |  _ d  S)N)r5   rS   r   r*   r   r   )r$   r   r   r   r*     s
    	zSocketIO.close)r   r   r   r#   r   r   r   r   r   r(   r   r   rY   r*   r   r   )r0   r   rR     s   rR   r-   c             C   s   |  j    }  |  s |  d k r( t   }  y t |   \ } } } Wn t k
 rU Yn5 X| j d |  x! | D] }  d |  k rm Pqm W| }  |  S)Nz0.0.0.0r   .)stripgethostnamegethostbyaddrr3   insert)r   hostnamealiasesipaddrsr   r   r   r
     s    		c             C   s	  |  \ } } d  } x t  | | d t  D] } | \ } } }	 }
 } d  } yS t | | |	  } | t k	 rw | j |  | r | j |  | j |  | SWq( t k
 r } z! | } | d  k	 r | j   WYd  d  } ~ Xq( Xq( W| d  k	 r |  n t d   d  S)Nr   z!getaddrinfo returns an empty list)	getaddrinfor   r   _GLOBAL_DEFAULT_TIMEOUTr=   r   r   r3   r*   )addressrs   source_addressr   r   ry   resafsocktyper'   	canonnamesar@   r   r   r   r   r     s(    !	c             C   sv   g  } xi t  j |  | | | | |  D]I } | \ } }	 } }
 } | j t | t  t |	 t  | |
 | f  q% W| S)N)r"   r   appendr   r   r   )r   r   r%   r&   r'   flagsaddrlistr   r   r   r   r   r   r   r   r     s    %r   )-r"   ri   sysrS   rn   enumr   errnoImportErrorr/   r   r   r   __all__extend_get_exports_list_convertr   r   r   r   r   _realsocketplatformlowerr   r   r   	Exceptionr   r	   rm   r   r   r   r   r   r   r   rR   r
   objectr   r   r   r   r   r   r   <module>1   s|   
0	















 B	$	u	%