£Á°èZ¨Ä…–K§‚«“ô4“ÒÙ´dîfUÙÃÅ WKbyÊ¦•êŽ…È®FÒ¿ÊÎóCozá¬S@6{Í:›œêZÌ:Š•_%:¢¾¾~;‘Ã~èŠ©ÊÇí`ÔÑ©úë™µ'5I¿fš×WO%ø9¾«¾DK|€ùÍD”Ýs]nHÕ¶ê×Ó¼ãžªéUWŸÈË%DÒÕ¬ï‘]/Åcx  ‰ï2ß]ä6G[]S£ÔÏ¯rs{úëóµmÒï#UQxo·õÞCe]"±/aÙ&Eã4ú9Jé_ÞåëdãöKë)AÞ                  ¯¹ægƒÛowÐø^d™ý½ßB7áyMä9ÜÖUã
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
<html>

j f
                 @   s   d  Z  d d l Z d d l Z d d l m Z d d d d d  Z d d	 d
  Z Gd d   d e j  Z Gd d   d e j  Z Gd d   d e j	  Z	 Gd d   d e e j
  Z
 Gd d   d e e j  Z d d   Z d S)a  Python 'uu_codec' Codec - UU content transfer encoding.

This codec de/encodes from bytes to bytes.

Written by Marc-Andre Lemburg (mal@lemburg.com). Some details were
adapted from uu.py which was written by Lance Ellinghouse and
modified by Jack Jansen and Fredrik Lundh.
    N)BytesIOstrictz<data>i  c       	      C   s   | d k s t   t |   } t   } | j } | j } | d | d @| f j d   | d  } x) | r | t j |   | d  } qi W| d  | j   t |   f S)Nr   zbegin %o %s
i  ascii-   s    
end
)	AssertionErrorr   readwriteencodebinasciiZb2a_uugetvaluelen)	inputerrorsfilenamemodeinfileoutfiler   r   chunk r   7/opt/alt/python34/lib64/python3.4/encodings/uu_codec.py	uu_encode   s    			!	
r   c       
      C   sI  | d k s t   t |   } t   } | j } | j } x< |   } | sZ t d   n  | d  d  d k r< Pq< q< Wx |   } | s | d k r Pn  y t j |  } Wn_ t j k
 r} z< | d d d @d	 d d
 }	 t j | d  |	   } WYd  d  } ~ Xn X| |  q{ W| s3t d   n  | j   t	 |   f S)Nr   z"Missing "begin" line in input data   s   begins   end
r       ?         zTruncated input data)
r   r   readliner   
ValueErrorr
   Za2b_uuErrorr   r   )
r   r   r   r   r   r   sdatavnbytesr   r   r   	uu_decode!   s0    					,r#   c               @   s.   e  Z d  Z d d d  Z d d d  Z d S)Codecr   c             C   s   t  | |  S)N)r   )selfr   r   r   r   r   r	   C   s    zCodec.encodec             C   s   t  | |  S)N)r#   )r%   r   r   r   r   r   decodeF   s    zCodec.decodeN)__name__
__module____qualname__r	   r&   r   r   r   r   r$   B   s   r$   c               @   s   e  Z d  Z d d d  Z d S)IncrementalEncoderFc             C   s   t  | |  j  d S)Nr   )r   r   )r%   r   finalr   r   r   r	   J   s    zIncrementalEncoder.encodeN)r'   r(   r)   r	   r   r   r   r   r*   I   s   r*   c               @   s   e  Z d  Z d d d  Z d S)IncrementalDecoderFc             C   s   t  | |  j  d S)Nr   )r#   r   )r%   r   r+   r   r   r   r&   N   s    zIncrementalDecoder.decodeN)r'   r(   r)   r&   r   r   r   r   r,   M   s   r,   c               @   s   e  Z d  Z e Z d S)StreamWriterN)r'   r(   r)   bytescharbuffertyper   r   r   r   r-   Q   s   r-   c               @   s   e  Z d  Z e Z d S)StreamReaderN)r'   r(   r)   r.   r/   r   r   r   r   r0   T   s   r0   c               C   s:   t  j d d d t d t d t d t d t d t d	 d
  S)Nnameuur	   r&   incrementalencoderincrementaldecoderstreamreaderstreamwriter_is_text_encodingF)codecs	CodecInfor   r#   r*   r,   r0   r-   r   r   r   r   getregentryY   s    	r:   )__doc__r8   r
   ior   r   r#   r$   r*   r,   r-   r0   r:   r   r   r   r   <module>   s   !