<!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>
ž
¨ÿfyu  c               @   sž  d  d d d g Z  d d l Z d d l Z d d l Z d d l Z d d l Z d d l Z d d l Z d d l Z d d l	 Z	 d d l
 Z
 d d l Z d d l Z d d l m Z m Z m Z d d l m Z m Z m Z m Z d d l m Z y, d d l Z d d	 l m Z m Z m Z Wn- e k
 rKe j d
 k rA‚  n  d Z Yn Xd Z d Z  e j! ƒ  Z" d Z# d g Z$ e% e d ƒ r˜d Z# e$ d g 7Z$ n  e j d
 k r½d Z# e$ d g 7Z$ n  e  d d „ Z& d d „  Z' d d „  Z( d d „  Z) d d „  Z* Gd d „  d ƒ Z+ e r.Gd d „  d e+ ƒ Z, n  Gd d „  d e+ ƒ Z- Gd  d „  d e. ƒ Z/ d d d! d  „ Z0 e j d
 k rdH d" d „ Z2 n dH d# d „ Z2 Gd$ d% „  d% e. ƒ Z3 d& d' „  Z4 e j d
 k ròGd( d) „  d) e. ƒ Z5 d* d+ „  Z6 n  d, Z7 d- Z8 d. Z9 d/ Z: d0 d1 „  Z; d2 d3 „  Z< Gd4 d5 „  d5 e. ƒ Z= d6 d7 „  Z> d8 d9 „  Z? Gd: d; „  d; e/ ƒ Z@ d< d= „  ZA e j d
 k r±d> d? „  ZB e jC e jD h ZE d d@ d „ ZF n9 e% e dA ƒ rÏdB dC „  ZG n dD dC „  ZG d dE d „ ZF e j d
 k rHdF dG lH mI ZI e jJ e j eI jK ƒ e jJ e- eI jL ƒ e jJ e, eI jM ƒ nR y dF dG lH mI ZI Wn e k
 rpYn* Xe jJ e j eI jK ƒ e jJ e- eI jL ƒ d S(I   u   Clientu   Listeneru   Pipeu   waiti    N(   u   current_processu   AuthenticationErroru   BufferTooShort(   u   get_temp_diru   Finalizeu	   sub_debugu   debug(   u   ForkingPickler(   u   WAIT_OBJECT_0u   WAIT_TIMEOUTu   INFINITEu   win32i    g      4@u   AF_INETu   AF_UNIXu   AF_PIPEc             C   s   t  j  ƒ  |  S(   N(   u   time(   u   timeout(    (    u?   /opt/alt/python33/lib64/python3.3/multiprocessing/connection.pyu   _init_timeout:   s    u   _init_timeoutc             C   s   t  j  ƒ  |  k S(   N(   u   time(   u   t(    (    u?   /opt/alt/python33/lib64/python3.3/multiprocessing/connection.pyu   _check_timeout=   s    u   _check_timeoutc             C   sw   |  d k r d S|  d k r5 t  j d d d t ƒ  ƒ S|  d k rg t  j d d	 t j ƒ  t t ƒ f ƒ St d
 ƒ ‚ d S(   u?   
    Return an arbitrary free address for the given family
    u   AF_INETu	   localhosti    u   AF_UNIXu   prefixu	   listener-u   diru   AF_PIPEu   \\.\pipe\pyc-%d-%d-u   unrecognized familyN(   u	   localhosti    (   u   tempfileu   mktempu   get_temp_diru   osu   getpidu   nextu   _mmap_counteru
   ValueError(   u   family(    (    u?   /opt/alt/python33/lib64/python3.3/multiprocessing/connection.pyu   arbitrary_addressD   s    u   arbitrary_addressc             C   sr   t  j d k r. |  d k r. t d |  ƒ ‚ n  t  j d k rn |  d k rn t t |  ƒ sn t d |  ƒ ‚ qn n  d S(   uD   
    Checks if the family is valid for the current environment.
    u   win32u   AF_PIPEu   Family %s is not recognized.u   AF_UNIXN(   u   sysu   platformu
   ValueErroru   hasattru   socket(   u   family(    (    u?   /opt/alt/python33/lib64/python3.3/multiprocessing/connection.pyu   _validate_familyR   s
    u   _validate_familyc             C   se   t  |  ƒ t k r d St  |  ƒ t k r; |  j d ƒ r; d St  |  ƒ t k rQ d St d |  ƒ ‚ d S(   u]   
    Return the types of the address

    This can be 'AF_INET', 'AF_UNIX', or 'AF_PIPE'
    u   AF_INETu   \\u   AF_PIPEu   AF_UNIXu   address type of %r unrecognizedN(   u   typeu   tupleu   stru
   startswithu
   ValueError(   u   address(    (    u?   /opt/alt/python33/lib64/python3.3/multiprocessing/connection.pyu   address_type^   s    !u   address_typec             B   s%  |  Ee  Z d  Z d) Z d* d* d d „ Z d d „  Z d d „  Z d d „  Z	 d	 d
 „  Z
 d d „  Z e d d „  ƒ Z e d d „  ƒ Z e d d „  ƒ Z d d „  Z d d „  Z d d) d d „ Z d d „  Z d) d d „ Z d d d „ Z d  d! „  Z d" d# d$ „ Z d% d& „  Z d' d( „  Z d) S(+   u   _ConnectionBasec             C   sc   | j  ƒ  } | d k  r' t d ƒ ‚ n  | rD | rD t d ƒ ‚ n  | |  _ | |  _ | |  _ d  S(   Ni    u   invalid handleu6   at least one of `readable` and `writable` must be True(   u	   __index__u
   ValueErroru   _handleu	   _readableu	   _writable(   u   selfu   handleu   readableu   writable(    (    u?   /opt/alt/python33/lib64/python3.3/multiprocessing/connection.pyu   __init__t   s    		u   _ConnectionBase.__init__c             C   s    |  j  d  k	 r |  j ƒ  n  d  S(   N(   u   _handleu   Noneu   _close(   u   self(    (    u?   /opt/alt/python33/lib64/python3.3/multiprocessing/connection.pyu   __del__   s    u   _ConnectionBase.__del__c             C   s"   |  j  d  k r t d ƒ ‚ n  d  S(   Nu   handle is closed(   u   _handleu   Noneu   IOError(   u   self(    (    u?   /opt/alt/python33/lib64/python3.3/multiprocessing/connection.pyu   _check_closed…   s    u   _ConnectionBase._check_closedc             C   s   |  j  s t d ƒ ‚ n  d  S(   Nu   connection is write-only(   u	   _readableu   IOError(   u   self(    (    u?   /opt/alt/python33/lib64/python3.3/multiprocessing/connection.pyu   _check_readable‰   s    	u   _ConnectionBase._check_readablec             C   s   |  j  s t d ƒ ‚ n  d  S(   Nu   connection is read-only(   u	   _writableu   IOError(   u   self(    (    u?   /opt/alt/python33/lib64/python3.3/multiprocessing/connection.pyu   _check_writable   s    	u   _ConnectionBase._check_writablec             C   s/   |  j  r d |  _ n
 |  j ƒ  t d ƒ ‚ d  S(   Nu   bad message lengthF(   u	   _writableu   Falseu	   _readableu   closeu   IOError(   u   self(    (    u?   /opt/alt/python33/lib64/python3.3/multiprocessing/connection.pyu   _bad_message_length‘   s    	
u#   _ConnectionBase._bad_message_lengthc             C   s   |  j  d k S(   u    True if the connection is closedN(   u   _handleu   None(   u   self(    (    u?   /opt/alt/python33/lib64/python3.3/multiprocessing/connection.pyu   closed˜   s    u   _ConnectionBase.closedc             C   s   |  j  S(   u"   True if the connection is readable(   u	   _readable(   u   self(    (    u?   /opt/alt/python33/lib64/python3.3/multiprocessing/connection.pyu   readable   s    u   _ConnectionBase.readablec             C   s   |  j  S(   u"   True if the connection is writable(   u	   _writable(   u   self(    (    u?   /opt/alt/python33/lib64/python3.3/multiprocessing/connection.pyu   writable¢   s    u   _ConnectionBase.writablec             C   s   |  j  ƒ  |  j S(   u+   File descriptor or handle of the connection(   u   _check_closedu   _handle(   u   self(    (    u?   /opt/alt/python33/lib64/python3.3/multiprocessing/connection.pyu   fileno§   s    
u   _ConnectionBase.filenoc             C   s1   |  j  d k	 r- z |  j ƒ  Wd d |  _  Xn  d S(   u   Close the connectionN(   u   _handleu   Noneu   _close(   u   self(    (    u?   /opt/alt/python33/lib64/python3.3/multiprocessing/connection.pyu   close¬   s    u   _ConnectionBase.closei    c             C   sø   |  j  ƒ  |  j ƒ  t | ƒ } | j d k rD t t | ƒ ƒ } n  t | ƒ } | d k  rk t d ƒ ‚ n  | | k  r† t d ƒ ‚ n  | d k rŸ | | } n: | d k  rº t d ƒ ‚ n | | | k rÙ t d ƒ ‚ n  |  j | | | | … ƒ d S(   u,   Send the bytes data from a bytes-like objecti   i    u   offset is negativeu   buffer length < offsetu   size is negativeu   buffer length < offset + sizeN(	   u   _check_closedu   _check_writableu
   memoryviewu   itemsizeu   bytesu   lenu
   ValueErroru   Noneu   _send_bytes(   u   selfu   bufu   offsetu   sizeu   mu   n(    (    u?   /opt/alt/python33/lib64/python3.3/multiprocessing/connection.pyu
   send_bytes´   s"    

u   _ConnectionBase.send_bytesc             C   sP   |  j  ƒ  |  j ƒ  t j ƒ  } t | t j ƒ j | ƒ |  j | j	 ƒ  ƒ d S(   u   Send a (picklable) objectN(
   u   _check_closedu   _check_writableu   iou   BytesIOu   ForkingPickleru   pickleu   HIGHEST_PROTOCOLu   dumpu   _send_bytesu	   getbuffer(   u   selfu   obju   buf(    (    u?   /opt/alt/python33/lib64/python3.3/multiprocessing/connection.pyu   sendÉ   s
    

u   _ConnectionBase.sendc             C   sm   |  j  ƒ  |  j ƒ  | d k	 r; | d k  r; t d ƒ ‚ n  |  j | ƒ } | d k rc |  j ƒ  n  | j ƒ  S(   u7   
        Receive bytes data as a bytes object.
        i    u   negative maxlengthN(   u   _check_closedu   _check_readableu   Noneu
   ValueErroru   _recv_bytesu   _bad_message_lengthu   getvalue(   u   selfu	   maxlengthu   buf(    (    u?   /opt/alt/python33/lib64/python3.3/multiprocessing/connection.pyu
   recv_bytesÑ   s    

u   _ConnectionBase.recv_bytesc             C   sí   |  j  ƒ  |  j ƒ  t | ƒ Ç } | j } | t | ƒ } | d k  rW t d ƒ ‚ n | | k rr t d ƒ ‚ n  |  j ƒ  } | j ƒ  } | | | k  r¯ t | j	 ƒ  ƒ ‚ n  | j
 d ƒ | j | | | | | | … ƒ | SWd QXd S(   ur   
        Receive bytes data into a writeable buffer-like object.
        Return the number of bytes read.
        i    u   negative offsetu   offset too largeN(   u   _check_closedu   _check_readableu
   memoryviewu   itemsizeu   lenu
   ValueErroru   _recv_bytesu   tellu   BufferTooShortu   getvalueu   seeku   readinto(   u   selfu   bufu   offsetu   mu   itemsizeu   bytesizeu   resultu   size(    (    u?   /opt/alt/python33/lib64/python3.3/multiprocessing/connection.pyu   recv_bytes_intoÞ   s"    

	u   _ConnectionBase.recv_bytes_intoc             C   s3   |  j  ƒ  |  j ƒ  |  j ƒ  } t j | j ƒ  ƒ S(   u   Receive a (picklable) object(   u   _check_closedu   _check_readableu   _recv_bytesu   pickleu   loadsu	   getbuffer(   u   selfu   buf(    (    u?   /opt/alt/python33/lib64/python3.3/multiprocessing/connection.pyu   recv÷   s    

u   _ConnectionBase.recvg        c             C   s!   |  j  ƒ  |  j ƒ  |  j | ƒ S(   u/   Whether there is any input available to be read(   u   _check_closedu   _check_readableu   _poll(   u   selfu   timeout(    (    u?   /opt/alt/python33/lib64/python3.3/multiprocessing/connection.pyu   pollþ   s    

u   _ConnectionBase.pollc             C   s   |  S(   N(    (   u   self(    (    u?   /opt/alt/python33/lib64/python3.3/multiprocessing/connection.pyu	   __enter__  s    u   _ConnectionBase.__enter__c             C   s   |  j  ƒ  d  S(   N(   u   close(   u   selfu   exc_typeu	   exc_valueu   exc_tb(    (    u?   /opt/alt/python33/lib64/python3.3/multiprocessing/connection.pyu   __exit__  s    u   _ConnectionBase.__exit__NT(   u   __name__u
   __module__u   __qualname__u   Noneu   _handleu   Trueu   __init__u   __del__u   _check_closedu   _check_readableu   _check_writableu   _bad_message_lengthu   propertyu   closedu   readableu   writableu   filenou   closeu
   send_bytesu   sendu
   recv_bytesu   recv_bytes_intou   recvu   pollu	   __enter__u   __exit__(   u
   __locals__(    (    u?   /opt/alt/python33/lib64/python3.3/multiprocessing/connection.pyu   _ConnectionBaseq   s(   u   _ConnectionBasec             B   se   |  Ee  Z d  Z d Z d Z e j d d „ Z d d „  Z	 d d d „ Z d d	 „  Z d
 d „  Z d S(   u   PipeConnectionuª   
        Connection class based on a Windows named pipe.
        Overlapped I/O is used, so the handles must have been created
        with FILE_FLAG_OVERLAPPED.
        c             C   s   | |  j  ƒ d  S(   N(   u   _handle(   u   selfu   _CloseHandle(    (    u?   /opt/alt/python33/lib64/python3.3/multiprocessing/connection.pyu   _close  s    u   PipeConnection._closec             C   sÇ   t  j |  j | d d ƒ\ } } z_ yC | t  j k rf t  j | j g d t ƒ } | t	 k sf t
 ‚ n  Wn | j ƒ  ‚  Yn XWd  | j d ƒ \ } } X| d k s« t
 ‚ | t | ƒ k sÃ t
 ‚ d  S(   Nu
   overlappedi    TF(   u   _winapiu	   WriteFileu   _handleu   Trueu   ERROR_IO_PENDINGu   WaitForMultipleObjectsu   eventu   Falseu   INFINITEu   WAIT_OBJECT_0u   AssertionErroru   cancelu   GetOverlappedResultu   len(   u   selfu   bufu   ovu   erru   waitresu   nwritten(    (    u?   /opt/alt/python33/lib64/python3.3/multiprocessing/connection.pyu   _send_bytes  s    !
u   PipeConnection._send_bytesc       	      C   s~  |  j  r d |  _  t j ƒ  S| d  k r. d n t | d ƒ } yë t j |  j | d d ƒ\ } } z_ yC | t j
 k r¦ t j | j g d t ƒ } | t k s¦ t ‚ n  Wn | j ƒ  ‚  Yn XWd  | j d ƒ \ } } | d k rt j ƒ  } | j | j ƒ  ƒ | S| t j k r&|  j | | ƒ SXWnC t k
 rm} z# | j t j k rXt ‚ n ‚  WYd  d  } ~ Xn Xt d ƒ ‚ d  S(   Ni€   u
   overlappedi    u.   shouldn't get here; expected KeyboardInterruptFT(   u   _got_empty_messageu   Falseu   iou   BytesIOu   Noneu   minu   _winapiu   ReadFileu   _handleu   Trueu   ERROR_IO_PENDINGu   WaitForMultipleObjectsu   eventu   INFINITEu   WAIT_OBJECT_0u   AssertionErroru   cancelu   GetOverlappedResultu   writeu	   getbufferu   ERROR_MORE_DATAu   _get_more_datau   IOErroru   winerroru   ERROR_BROKEN_PIPEu   EOFErroru   RuntimeError(	   u   selfu   maxsizeu   bsizeu   ovu   erru   waitresu   nreadu   fu   e(    (    u?   /opt/alt/python33/lib64/python3.3/multiprocessing/connection.pyu   _recv_bytes'  s6    		
!
	u   PipeConnection._recv_bytesc             C   s?   |  j  s% t j |  j ƒ d d k r) d St t |  g | ƒ ƒ S(   Ni    T(   u   _got_empty_messageu   _winapiu   PeekNamedPipeu   _handleu   Trueu   boolu   wait(   u   selfu   timeout(    (    u?   /opt/alt/python33/lib64/python3.3/multiprocessing/connection.pyu   _pollG  s    	u   PipeConnection._pollc             C   sí   | j  ƒ  } t j ƒ  } | j | ƒ t j |  j ƒ d } | d k sM t ‚ | d  k	 r| t	 | ƒ | | k r| |  j
 ƒ  n  t j |  j | d d ƒ\ } } | j d ƒ \ } } | d k sÄ t ‚ | | k sÖ t ‚ | j | j  ƒ  ƒ | S(   Ni   i    u
   overlappedT(   u	   getbufferu   iou   BytesIOu   writeu   _winapiu   PeekNamedPipeu   _handleu   AssertionErroru   Noneu   lenu   _bad_message_lengthu   ReadFileu   Trueu   GetOverlappedResult(   u   selfu   ovu   maxsizeu   bufu   fu   leftu   erru   rbytes(    (    u?   /opt/alt/python33/lib64/python3.3/multiprocessing/connection.pyu   _get_more_dataM  s    "!u   PipeConnection._get_more_dataNF(   u   __name__u
   __module__u   __qualname__u   __doc__u   Falseu   _got_empty_messageu   _winapiu   CloseHandleu   _closeu   _send_bytesu   Noneu   _recv_bytesu   _pollu   _get_more_data(   u
   __locals__(    (    u?   /opt/alt/python33/lib64/python3.3/multiprocessing/connection.pyu   PipeConnection  s    u   PipeConnectionc             B   s°   |  Ee  Z d  Z d Z e rC e j d d „ Z e j Z	 e j
 Z n$ e j d d „ Z e j Z	 e j Z e	 d d „ Z e d d „ Z d	 d
 „  Z d d d „ Z d d „  Z d S(   u
   Connectionuo   
    Connection class based on an arbitrary file descriptor (Unix only), or
    a socket handle (Windows).
    c             C   s   | |  j  ƒ d  S(   N(   u   _handle(   u   selfu   _close(    (    u?   /opt/alt/python33/lib64/python3.3/multiprocessing/connection.pyu   _closed  s    u   Connection._closec             C   s   | |  j  ƒ d  S(   N(   u   _handle(   u   selfu   _close(    (    u?   /opt/alt/python33/lib64/python3.3/multiprocessing/connection.pyu   _closei  s    c             C   sn   t  | ƒ } x[ y | |  j | ƒ } Wn t k
 r< w Yn X| | 8} | d k rW Pn  | | d  … } q d  S(   Ni    (   u   lenu   _handleu   InterruptedError(   u   selfu   bufu   writeu	   remainingu   n(    (    u?   /opt/alt/python33/lib64/python3.3/multiprocessing/connection.pyu   _sendn  s    
u   Connection._sendc             C   s°   t  j ƒ  } |  j } | } xŽ | d k r« y | | | ƒ } Wn t k
 rT w Yn Xt | ƒ } | d k r‘ | | k r‚ t ‚ q‘ t d ƒ ‚ n  | j | ƒ | | 8} q W| S(   Ni    u   got end of file during message(   u   iou   BytesIOu   _handleu   InterruptedErroru   lenu   EOFErroru   IOErroru   write(   u   selfu   sizeu   readu   bufu   handleu	   remainingu   chunku   n(    (    u?   /opt/alt/python33/lib64/python3.3/multiprocessing/connection.pyu   _recvz  s     		u   Connection._recvc             C   s€   t  | ƒ } t j d | ƒ } | d k r9 | | g } n% | d k rU | | g } n	 | g } x | D] } |  j | ƒ qe Wd  S(   Nu   !ii @  i    (   u   lenu   structu   packu   _send(   u   selfu   bufu   nu   headeru   chunksu   chunk(    (    u?   /opt/alt/python33/lib64/python3.3/multiprocessing/connection.pyu   _send_bytes  s    	u   Connection._send_bytesc             C   sS   |  j  d ƒ } t j d | j ƒ  ƒ \ } | d  k	 rF | | k rF d  S|  j  | ƒ S(   Ni   u   !i(   u   _recvu   structu   unpacku   getvalueu   None(   u   selfu   maxsizeu   bufu   size(    (    u?   /opt/alt/python33/lib64/python3.3/multiprocessing/connection.pyu   _recv_bytes   s
    u   Connection._recv_bytesc             C   s   t  |  g | ƒ } t | ƒ S(   N(   u   waitu   bool(   u   selfu   timeoutu   r(    (    u?   /opt/alt/python33/lib64/python3.3/multiprocessing/connection.pyu   _poll§  s    u   Connection._pollN(   u   __name__u
   __module__u   __qualname__u   __doc__u   _winapiu   _multiprocessingu   closesocketu   _closeu   sendu   _writeu   recvu   _readu   osu   closeu   writeu   readu   _sendu   _recvu   _send_bytesu   Noneu   _recv_bytesu   _poll(   u
   __locals__(    (    u?   /opt/alt/python33/lib64/python3.3/multiprocessing/connection.pyu
   Connection]  s   			u
   Connectionc             B   s†   |  Ee  Z d  Z d Z d d d d d d „ Z d d „  Z d d „  Z e d	 d
 „  ƒ Z	 e d d
 „  ƒ Z
 d d „  Z d d „  Z d S(   u   Listeneru•   
    Returns a listener object.

    This is a wrapper for a bound socket which is 'listening' for
    connections, or for a Windows named pipe.
    i   c             C   s¨   | p | r t  | ƒ p t } | p- t | ƒ } t | ƒ | d k r[ t | | ƒ |  _ n t | | | ƒ |  _ | d  k	 r› t | t	 ƒ r› t
 d ƒ ‚ n  | |  _ d  S(   Nu   AF_PIPEu   authkey should be a byte string(   u   address_typeu   default_familyu   arbitrary_addressu   _validate_familyu   PipeListeneru	   _listeneru   SocketListeneru   Noneu
   isinstanceu   bytesu	   TypeErroru   _authkey(   u   selfu   addressu   familyu   backlogu   authkey(    (    u?   /opt/alt/python33/lib64/python3.3/multiprocessing/connection.pyu   __init__·  s    
u   Listener.__init__c             C   s]   |  j  d k r t d ƒ ‚ n  |  j  j ƒ  } |  j rY t | |  j ƒ t | |  j ƒ n  | S(   uz   
        Accept a connection on the bound socket or named pipe of `self`.

        Returns a `Connection` object.
        u   listener is closedN(   u	   _listeneru   Noneu   IOErroru   acceptu   _authkeyu   deliver_challengeu   answer_challenge(   u   selfu   c(    (    u?   /opt/alt/python33/lib64/python3.3/multiprocessing/connection.pyu   acceptÇ  s    	u   Listener.acceptc             C   s,   |  j  d k	 r( |  j  j ƒ  d |  _  n  d S(   uA   
        Close the bound socket or named pipe of `self`.
        N(   u	   _listeneru   Noneu   close(   u   self(    (    u?   /opt/alt/python33/lib64/python3.3/multiprocessing/connection.pyu   closeÕ  s    u   Listener.closec             C   s
   |  j  j S(   N(   u	   _listeneru   _address(   u   self(    (    u?   /opt/alt/python33/lib64/python3.3/multiprocessing/connection.pyu   <lambda>Ý  s    u   Listener.<lambda>c             C   s
   |  j  j S(   N(   u	   _listeneru   _last_accepted(   u   self(    (    u?   /opt/alt/python33/lib64/python3.3/multiprocessing/connection.pyu   <lambda>Þ  s    c             C   s   |  S(   N(    (   u   self(    (    u?   /opt/alt/python33/lib64/python3.3/multiprocessing/connection.pyu	   __enter__à  s    u   Listener.__enter__c             C   s   |  j  ƒ  d  S(   N(   u   close(   u   selfu   exc_typeu	   exc_valueu   exc_tb(    (    u?   /opt/alt/python33/lib64/python3.3/multiprocessing/connection.pyu   __exit__ã  s    u   Listener.__exit__N(   u   __name__u
   __module__u   __qualname__u   __doc__u   Noneu   __init__u   acceptu   closeu   propertyu   addressu   last_acceptedu	   __enter__u   __exit__(   u
   __locals__(    (    u?   /opt/alt/python33/lib64/python3.3/multiprocessing/connection.pyu   Listener°  s   c             C   s›   | p t  |  ƒ } t | ƒ | d k r7 t |  ƒ } n t |  ƒ } | d k	 rn t | t ƒ rn t d ƒ ‚ n  | d k	 r— t | | ƒ t	 | | ƒ n  | S(   u=   
    Returns a connection to the address of a `Listener`
    u   AF_PIPEu   authkey should be a byte stringN(
   u   address_typeu   _validate_familyu
   PipeClientu   SocketClientu   Noneu
   isinstanceu   bytesu	   TypeErroru   answer_challengeu   deliver_challenge(   u   addressu   familyu   authkeyu   c(    (    u?   /opt/alt/python33/lib64/python3.3/multiprocessing/connection.pyu   Clientç  s    
c             C   s™   |  rY t  j ƒ  \ } } | j d ƒ | j d ƒ t | j ƒ  ƒ } t | j ƒ  ƒ } n6 t j ƒ  \ } } t | d d ƒ} t | d d ƒ} | | f S(   uL   
        Returns pair of connection objects at either end of a pipe
        u   writableu   readableTF(	   u   socketu
   socketpairu   setblockingu   Trueu
   Connectionu   detachu   osu   pipeu   False(   u   duplexu   s1u   s2u   c1u   c2u   fd1u   fd2(    (    u?   /opt/alt/python33/lib64/python3.3/multiprocessing/connection.pyu   Pipeþ  s    c          	   C   sS  t  d ƒ } |  r; t j } t j t j B} t t } } n t j } t j } d t } } t j | | t j Bt j	 Bt j
 t j Bt j Bd | | t j t j ƒ } t j | | d t j t j t j t j ƒ } t j | t j d d ƒ t j | d d ƒ} | j d ƒ \ }	 }
 |
 d k s%t ‚ t | d |  ƒ} t | d |  ƒ} | | f S(	   uL   
        Returns pair of connection objects at either end of a pipe
        u   AF_PIPEi    i   u
   overlappedu   writableu   readableNT(   u   arbitrary_addressu   _winapiu   PIPE_ACCESS_DUPLEXu   GENERIC_READu   GENERIC_WRITEu   BUFSIZEu   PIPE_ACCESS_INBOUNDu   CreateNamedPipeu   FILE_FLAG_OVERLAPPEDu   FILE_FLAG_FIRST_PIPE_INSTANCEu   PIPE_TYPE_MESSAGEu   PIPE_READMODE_MESSAGEu	   PIPE_WAITu   NMPWAIT_WAIT_FOREVERu   NULLu
   CreateFileu   OPEN_EXISTINGu   SetNamedPipeHandleStateu   Noneu   ConnectNamedPipeu   Trueu   GetOverlappedResultu   AssertionErroru   PipeConnection(   u   duplexu   addressu   openmodeu   accessu   obsizeu   ibsizeu   h1u   h2u
   overlappedu   _u   erru   c1u   c2(    (    u?   /opt/alt/python33/lib64/python3.3/multiprocessing/connection.pyu   Pipe  s2    			c             B   sA   |  Ee  Z d  Z d Z d d d „ Z d d „  Z d d „  Z d	 S(
   u   SocketListeneruO   
    Representation of a socket which is bound to an address and listening
    i   c             C   s  t  j  t t  | ƒ ƒ |  _ yt t j d k rL |  j j t  j t  j d ƒ n  |  j j d ƒ |  j j
 | ƒ |  j j | ƒ |  j j ƒ  |  _ Wn" t k
 r³ |  j j ƒ  ‚  Yn X| |  _ d  |  _ | d k rù t |  t j d | f d d ƒ|  _ n	 d  |  _ d  S(   Nu   posixi   u   AF_UNIXu   argsu   exitpriorityi    T(   u   socketu   getattru   _socketu   osu   nameu
   setsockoptu
   SOL_SOCKETu   SO_REUSEADDRu   setblockingu   Trueu   bindu   listenu   getsocknameu   _addressu   OSErroru   closeu   _familyu   Noneu   _last_acceptedu   Finalizeu   unlinku   _unlink(   u   selfu   addressu   familyu   backlog(    (    u?   /opt/alt/python33/lib64/python3.3/multiprocessing/connection.pyu   __init__?  s$    		$u   SocketListener.__init__c             C   sU   x5 y |  j  j ƒ  \ } |  _ Wn t k
 r3 Yq XPq | j d ƒ t | j ƒ  ƒ S(   NT(   u   _socketu   acceptu   _last_acceptedu   InterruptedErroru   setblockingu   Trueu
   Connectionu   detach(   u   selfu   s(    (    u?   /opt/alt/python33/lib64/python3.3/multiprocessing/connection.pyu   acceptW  s    u   SocketListener.acceptc             C   s-   |  j  j ƒ  |  j d  k	 r) |  j ƒ  n  d  S(   N(   u   _socketu   closeu   _unlinku   None(   u   self(    (    u?   /opt/alt/python33/lib64/python3.3/multiprocessing/connection.pyu   closeb  s    u   SocketListener.closeN(   u   __name__u
   __module__u   __qualname__u   __doc__u   __init__u   acceptu   close(   u
   __locals__(    (    u?   /opt/alt/python33/lib64/python3.3/multiprocessing/connection.pyu   SocketListener;  s   u   SocketListenerc          	   C   s[   t  |  ƒ } t j t t | ƒ ƒ 1 } | j d ƒ | j |  ƒ t | j ƒ  ƒ SWd QXd S(   uO   
    Return a connection object connected to the socket given by `address`
    NT(   u   address_typeu   socketu   getattru   setblockingu   Trueu   connectu
   Connectionu   detach(   u   addressu   familyu   s(    (    u?   /opt/alt/python33/lib64/python3.3/multiprocessing/connection.pyu   SocketClienth  s
    u   SocketClientc             B   sV   |  Ee  Z d  Z d Z d
 d d „ Z d d d „ Z d d „  Z e	 d d	 „  ƒ Z
 d
 S(   u   PipeListeneru0   
        Representation of a named pipe
        c             C   sk   | |  _  |  j d d ƒ g |  _ d  |  _ t d |  j  ƒ t |  t j	 d |  j |  j  f d d ƒ|  _
 d  S(   Nu   firstu    listener created with address=%ru   argsu   exitpriorityi    T(   u   _addressu   _new_handleu   Trueu   _handle_queueu   Noneu   _last_acceptedu	   sub_debugu   Finalizeu   PipeListeneru   _finalize_pipe_listeneru   close(   u   selfu   addressu   backlog(    (    u?   /opt/alt/python33/lib64/python3.3/multiprocessing/connection.pyu   __init__|  s    		u   PipeListener.__init__c          	   C   se   t  j t  j B} | r& | t  j O} n  t  j |  j | t  j t  j Bt  j Bt  j	 t
 t
 t  j t  j ƒ S(   N(   u   _winapiu   PIPE_ACCESS_DUPLEXu   FILE_FLAG_OVERLAPPEDu   FILE_FLAG_FIRST_PIPE_INSTANCEu   CreateNamedPipeu   _addressu   PIPE_TYPE_MESSAGEu   PIPE_READMODE_MESSAGEu	   PIPE_WAITu   PIPE_UNLIMITED_INSTANCESu   BUFSIZEu   NMPWAIT_WAIT_FOREVERu   NULL(   u   selfu   firstu   flags(    (    u?   /opt/alt/python33/lib64/python3.3/multiprocessing/connection.pyu   _new_handle‡  s    	u   PipeListener._new_handlec             C   sþ   |  j  j |  j ƒ  ƒ |  j  j d ƒ } y t j | d d ƒ} Wn= t k
 r€ } z | j t j	 k rn ‚  n  WYd  d  } ~ Xnt XzH y t j
 | j g d t ƒ } Wn" | j ƒ  t j | ƒ ‚  Yn XWd  | j d ƒ \ } } | d k só t ‚ Xt | ƒ S(   Ni    u
   overlappedTF(   u   _handle_queueu   appendu   _new_handleu   popu   _winapiu   ConnectNamedPipeu   Trueu   OSErroru   winerroru   ERROR_NO_DATAu   WaitForMultipleObjectsu   eventu   Falseu   INFINITEu   cancelu   CloseHandleu   GetOverlappedResultu   AssertionErroru   PipeConnection(   u   selfu   handleu   ovu   eu   resu   _u   err(    (    u?   /opt/alt/python33/lib64/python3.3/multiprocessing/connection.pyu   accept“  s"    
u   PipeListener.acceptc             C   s/   t  d | ƒ x |  D] } t j | ƒ q Wd  S(   Nu    closing listener with address=%r(   u	   sub_debugu   _winapiu   CloseHandle(   u   queueu   addressu   handle(    (    u?   /opt/alt/python33/lib64/python3.3/multiprocessing/connection.pyu   _finalize_pipe_listenerª  s    u$   PipeListener._finalize_pipe_listenerNF(   u   __name__u
   __module__u   __qualname__u   __doc__u   Noneu   __init__u   Falseu   _new_handleu   acceptu   staticmethodu   _finalize_pipe_listener(   u
   __locals__(    (    u?   /opt/alt/python33/lib64/python3.3/multiprocessing/connection.pyu   PipeListenerx  s
   u   PipeListenerc             C   sÖ   t  ƒ  } x§ yK t j |  d ƒ t j |  t j t j Bd t j t j t j t j ƒ } WnR t	 k
 r« } z2 | j
 t j t j f k s“ t | ƒ r™ ‚  n  WYd d } ~ Xq XPq ‚  t j | t j d d ƒ t | ƒ S(   uU   
        Return a connection object connected to the pipe given by `address`
        iè  i    N(   u   _init_timeoutu   _winapiu   WaitNamedPipeu
   CreateFileu   GENERIC_READu   GENERIC_WRITEu   NULLu   OPEN_EXISTINGu   FILE_FLAG_OVERLAPPEDu   WindowsErroru   winerroru   ERROR_SEM_TIMEOUTu   ERROR_PIPE_BUSYu   _check_timeoutu   SetNamedPipeHandleStateu   PIPE_READMODE_MESSAGEu   Noneu   PipeConnection(   u   addressu   tu   hu   e(    (    u?   /opt/alt/python33/lib64/python3.3/multiprocessing/connection.pyu
   PipeClient°  s"    	u
   PipeClienti   s   #CHALLENGE#s	   #WELCOME#s	   #FAILURE#c             C   s¡   d d  l  } t | t ƒ s! t ‚ t j t ƒ } |  j t | ƒ | j	 | | ƒ j
 ƒ  } |  j d ƒ } | | k r„ |  j t ƒ n |  j t ƒ t d ƒ ‚ d  S(   Ni    i   u   digest received was wrong(   u   hmacu
   isinstanceu   bytesu   AssertionErroru   osu   urandomu   MESSAGE_LENGTHu
   send_bytesu	   CHALLENGEu   newu   digestu
   recv_bytesu   WELCOMEu   FAILUREu   AuthenticationError(   u
   connectionu   authkeyu   hmacu   messageu   digestu   response(    (    u?   /opt/alt/python33/lib64/python3.3/multiprocessing/connection.pyu   deliver_challengeÕ  s    u   deliver_challengec             C   sÅ   d d  l  } t | t ƒ s! t ‚ |  j d ƒ } | d  t t ƒ … t k s\ t d | ƒ ‚ | t t ƒ d  … } | j | | ƒ j ƒ  } |  j	 | ƒ |  j d ƒ } | t
 k rÁ t d ƒ ‚ n  d  S(   Ni    i   u   message = %ru   digest sent was rejected(   u   hmacu
   isinstanceu   bytesu   AssertionErroru
   recv_bytesu   lenu	   CHALLENGEu   newu   digestu
   send_bytesu   WELCOMEu   AuthenticationError(   u
   connectionu   authkeyu   hmacu   messageu   digestu   response(    (    u?   /opt/alt/python33/lib64/python3.3/multiprocessing/connection.pyu   answer_challengeâ  s    ,u   answer_challengec             B   s8   |  Ee  Z d  Z d d „  Z d d „  Z d d „  Z d S(   u   ConnectionWrapperc             C   sO   | |  _  | |  _ | |  _ x- d D]% } t | | ƒ } t |  | | ƒ q" Wd  S(   Nu   filenou   closeu   pollu
   recv_bytesu
   send_bytes(   u   filenou   closeu   pollu
   recv_bytesu
   send_bytes(   u   _connu   _dumpsu   _loadsu   getattru   setattr(   u   selfu   connu   dumpsu   loadsu   attru   obj(    (    u?   /opt/alt/python33/lib64/python3.3/multiprocessing/connection.pyu   __init__ó  s    			u   ConnectionWrapper.__init__c             C   s#   |  j  | ƒ } |  j j | ƒ d  S(   N(   u   _dumpsu   _connu
   send_bytes(   u   selfu   obju   s(    (    u?   /opt/alt/python33/lib64/python3.3/multiprocessing/connection.pyu   sendú  s    u   ConnectionWrapper.sendc             C   s   |  j  j ƒ  } |  j | ƒ S(   N(   u   _connu
   recv_bytesu   _loads(   u   selfu   s(    (    u?   /opt/alt/python33/lib64/python3.3/multiprocessing/connection.pyu   recvý  s    u   ConnectionWrapper.recvN(   u   __name__u
   __module__u   __qualname__u   __init__u   sendu   recv(   u
   __locals__(    (    u?   /opt/alt/python33/lib64/python3.3/multiprocessing/connection.pyu   ConnectionWrapperò  s   u   ConnectionWrapperc             C   s%   t  j |  f d  d  d  d ƒ j d ƒ S(   Ni   u   utf-8(   u	   xmlrpclibu   dumpsu   Noneu   encode(   u   obj(    (    u?   /opt/alt/python33/lib64/python3.3/multiprocessing/connection.pyu
   _xml_dumps  s    u
   _xml_dumpsc             C   s%   t  j |  j d ƒ ƒ \ \ } } | S(   Nu   utf-8(   u	   xmlrpclibu   loadsu   decode(   u   su   obju   method(    (    u?   /opt/alt/python33/lib64/python3.3/multiprocessing/connection.pyu
   _xml_loads  s    !u
   _xml_loadsc             B   s    |  Ee  Z d  Z d d „  Z d S(   u   XmlListenerc             C   s.   d d  l  j a t j |  ƒ } t | t t ƒ S(   Ni    (   u   xmlrpc.clientu   clientu	   xmlrpclibu   Listeneru   acceptu   ConnectionWrapperu
   _xml_dumpsu
   _xml_loads(   u   selfu   obj(    (    u?   /opt/alt/python33/lib64/python3.3/multiprocessing/connection.pyu   accept	  s    u   XmlListener.acceptN(   u   __name__u
   __module__u   __qualname__u   accept(   u
   __locals__(    (    u?   /opt/alt/python33/lib64/python3.3/multiprocessing/connection.pyu   XmlListener  s   u   XmlListenerc              O   s(   d d  l  j a t t |  | Ž  t t ƒ S(   Ni    (   u   xmlrpc.clientu   clientu	   xmlrpclibu   ConnectionWrapperu   Clientu
   _xml_dumpsu
   _xml_loads(   u   argsu   kwds(    (    u?   /opt/alt/python33/lib64/python3.3/multiprocessing/connection.pyu	   XmlClient  s    u	   XmlClientc             C   så   t  |  ƒ } g  } xÌ | rà t j | d | ƒ } | t k r@ Pnr t | k oa t t | ƒ k  n rs | t 8} n? t | k o” t t | ƒ k  n r¦ | t 8} n t d ƒ ‚ | j	 | | ƒ | | d d  … } d } q W| S(   Nu   Should not get herei   i    F(
   u   listu   _winapiu   WaitForMultipleObjectsu   Falseu   WAIT_TIMEOUTu   WAIT_OBJECT_0u   lenu   WAIT_ABANDONED_0u   RuntimeErroru   append(   u   handlesu   timeoutu   Lu   readyu   res(    (    u?   /opt/alt/python33/lib64/python3.3/multiprocessing/connection.pyu   _exhaustive_wait  s    	&&
u   _exhaustive_waitc       
          s‡  | d k r t } n) | d k  r* d } n t | d d ƒ } t |  ƒ }  i  ‰ g  } t ƒ  ‰  t ƒ  } zxê |  D]â } y t | d ƒ } Wn" t k
 r¯ | ˆ | j ƒ  <Yqr Xy" t j	 | ƒ  d d ƒ \ } } Wn@ t k
 r} z  | j } | t k r‚  n  WYd d } ~ Xn X| t j k rA| j | ƒ | ˆ | j <qr ˆ  j | ƒ d } qr Wt ˆ j ƒ  | ƒ } Wd x | D] } | j ƒ  qxWxÀ | D]¸ } y | j d ƒ \ }	 } Wn@ t k
 rô} z  | j } | t k râ‚  n  WYd d } ~ Xn X| t j k r“ˆ | j } ˆ  j | ƒ | d k rKt | d ƒ rHd | _ qHqKq“q“WXˆ  j ‡ f d d †  | Dƒ ƒ ‡  f d	 d
 †  |  Dƒ S(   u—   
        Wait till an object in object_list is ready/readable.

        Returns list of those objects in object_list which are ready/readable.
        i    iè  g      à?u   filenoNu   _got_empty_messagec             3   s   |  ] } ˆ  | Vq d  S(   N(    (   u   .0u   h(   u   waithandle_to_obj(    u?   /opt/alt/python33/lib64/python3.3/multiprocessing/connection.pyu	   <genexpr>r  s    u   wait.<locals>.<genexpr>c                s"   g  |  ] } | ˆ  k r | ‘ q S(    (    (   u   .0u   o(   u   ready_objects(    u?   /opt/alt/python33/lib64/python3.3/multiprocessing/connection.pyu
   <listcomp>s  s   	 u   wait.<locals>.<listcomp>T(   u   Noneu   INFINITEu   intu   listu   setu   getattru   AttributeErroru	   __index__u   _winapiu   ReadFileu   Trueu   OSErroru   winerroru   _ready_errorsu   ERROR_IO_PENDINGu   appendu   eventu   addu   _exhaustive_waitu   keysu   cancelu   GetOverlappedResultu   ERROR_OPERATION_ABORTEDu   hasattru   _got_empty_messageu   update(
   u   object_listu   timeoutu   ov_listu   ready_handlesu   ou   filenou   ovu   erru   eu   _(    (   u   ready_objectsu   waithandle_to_obju?   /opt/alt/python33/lib64/python3.3/multiprocessing/connection.pyu   wait0  sZ    				"	
	 u   pollc             C   sÜ   | d  k	 r t | d ƒ } n  i  } t j ƒ  } xM |  D]E } | j | t j ƒ t | d ƒ rs | | | j ƒ  <q8 | | | <q8 Wg  } xN | j | ƒ D]= \ } } | t j @rÃ t	 d | ƒ ‚ n  | j
 | | ƒ q— W| S(   Niè  u   filenou   invalid file descriptor %i(   u   Noneu   intu   selectu   pollu   registeru   POLLINu   hasattru   filenou   POLLNVALu
   ValueErroru   append(   u   fdsu   timeoutu   fd_mapu   pollsteru   fdu   lsu   event(    (    u?   /opt/alt/python33/lib64/python3.3/multiprocessing/connection.pyu   _pollx  s    u   _pollc             C   s   t  j  |  g  g  | ƒ d S(   Ni    (   u   select(   u   fdsu   timeout(    (    u?   /opt/alt/python33/lib64/python3.3/multiprocessing/connection.pyu   _pollŠ  s    c             C   s²   | d k	 r8 | d k r% t |  d ƒ St j ƒ  | } n  xs y t |  | ƒ SWn= t k
 r‹ } z | j t j k ry ‚  n  WYd d } ~ Xn X| d k	 r; | t j ƒ  } q; q; d S(   u—   
        Wait till an object in object_list is ready/readable.

        Returns list of those objects in object_list which are ready/readable.
        i    N(   u   Noneu   _pollu   timeu   OSErroru   errnou   EINTR(   u   object_listu   timeoutu   deadlineu   e(    (    u?   /opt/alt/python33/lib64/python3.3/multiprocessing/connection.pyu   waitŽ  s    i   (   u	   reductionT(N   u   __all__u   iou   osu   sysu   pickleu   selectu   socketu   structu   errnou   timeu   tempfileu	   itertoolsu   _multiprocessingu   multiprocessingu   current_processu   AuthenticationErroru   BufferTooShortu   multiprocessing.utilu   get_temp_diru   Finalizeu	   sub_debugu   debugu   multiprocessing.forkingu   ForkingPickleru   _winapiu   WAIT_OBJECT_0u   WAIT_TIMEOUTu   INFINITEu   ImportErroru   platformu   Noneu   BUFSIZEu   CONNECTION_TIMEOUTu   countu   _mmap_counteru   default_familyu   familiesu   hasattru   _init_timeoutu   _check_timeoutu   arbitrary_addressu   _validate_familyu   address_typeu   _ConnectionBaseu   PipeConnectionu
   Connectionu   objectu   Listeneru   Clientu   Trueu   Pipeu   SocketListeneru   SocketClientu   PipeListeneru
   PipeClientu   MESSAGE_LENGTHu	   CHALLENGEu   WELCOMEu   FAILUREu   deliver_challengeu   answer_challengeu   ConnectionWrapperu
   _xml_dumpsu
   _xml_loadsu   XmlListeneru	   XmlClientu   _exhaustive_waitu   ERROR_BROKEN_PIPEu   ERROR_NETNAME_DELETEDu   _ready_errorsu   waitu   _pollu    u	   reductionu   registeru   reduce_socketu   reduce_connectionu   reduce_pipe_connection(    (    (    u?   /opt/alt/python33/lib64/python3.3/multiprocessing/connection.pyu   <module>
   s¤   " 	šPS7*-8	G