ÿØÿà 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
..............................................................................................................................................................................
.............................................................................                                                  
                                                                                                                                                                                     
j f                 @   s   d  Z  d d l Z d d l m Z d d l m Z d d d d g Z Gd	 d   d e  Z Gd
 d   d e  Z	 d d   Z
 Gd d   d  Z Gd d   d  Z d S)zRImplements (a subset of) Sun XDR -- eXternal Data Representation.

See: RFC 1014

    N)BytesIO)wrapsErrorPackerUnpackerConversionErrorc               @   s:   e  Z d  Z d Z d d   Z d d   Z d d   Z d S)	r   zException class for this module. Use:

    except xdrlib.Error as var:
        # var has the Error instance for the exception

    Public ivars:
        msg -- contains the message

    c             C   s   | |  _  d  S)N)msg)selfr    r
   +/opt/alt/python34/lib64/python3.4/xdrlib.py__init__   s    zError.__init__c             C   s   t  |  j  S)N)reprr   )r	   r
   r
   r   __repr__   s    zError.__repr__c             C   s   t  |  j  S)N)strr   )r	   r
   r
   r   __str__   s    zError.__str__N)__name__
__module____qualname____doc__r   r   r   r
   r
   r
   r   r      s   	c               @   s   e  Z d  Z d S)r   N)r   r   r   r
   r
   r
   r   r       s   c                s"   t       f d d    } | S)z5 Wrap any raised struct.errors in a ConversionError. c                sV   y   |  |  SWn> t  j k
 rQ } z t | j d  d   WYd  d  } ~ Xn Xd  S)Nr   )structerrorr   args)r	   valuee)functionr
   r   result&   s    z&raise_conversion_error.<locals>.result)r   )r   r   r
   )r   r   raise_conversion_error#   s    r   c               @   s   e  Z d  Z d Z d d   Z d d   Z d d   Z e Z e d d	    Z	 e d
 d    Z
 e
 Z d d   Z d d   Z e Z e d d    Z e d d    Z d d   Z e Z d d   Z e Z e Z d d   Z d d   Z d d   Z d S)r   z0Pack various data representations into a buffer.c             C   s   |  j    d  S)N)reset)r	   r
   r
   r   r   2   s    zPacker.__init__c             C   s   t    |  _ d  S)N)r   _Packer__buf)r	   r
   r
   r   r   5   s    zPacker.resetc             C   s   |  j  j   S)N)r   getvalue)r	   r
   r
   r   
get_buffer8   s    zPacker.get_bufferc             C   s    |  j  j t j d |   d  S)Nz>L)r   writer   pack)r	   xr
   r
   r   	pack_uint=   s    zPacker.pack_uintc             C   s    |  j  j t j d |   d  S)Nz>l)r   r!   r   r"   )r	   r#   r
   r
   r   pack_intA   s    zPacker.pack_intc             C   s-   | r |  j  j d  n |  j  j d  d  S)Ns      s       )r   r!   )r	   r#   r
   r
   r   	pack_boolG   s     zPacker.pack_boolc             C   s   y |  j  | d ?d @ WnD t t j f k
 r_ } z t | j d  d   WYd  d  } ~ Xn Xy |  j  | d @ WnD t t j f k
 r } z t | j d  d   WYd  d  } ~ Xn Xd  S)N    l    r   )r$   	TypeErrorr   r   r   r   )r	   r#   r   r
   r
   r   pack_uhyperK   s    )zPacker.pack_uhyperc             C   s    |  j  j t j d |   d  S)Nz>f)r   r!   r   r"   )r	   r#   r
   r
   r   
pack_floatW   s    zPacker.pack_floatc             C   s    |  j  j t j d |   d  S)Nz>d)r   r!   r   r"   )r	   r#   r
   r
   r   pack_double[   s    zPacker.pack_doublec             C   si   | d k  r t  d   n  | d  |  } | d d d } | | t |  d } |  j j |  d  S)Nr   z fstring size must be nonnegative      s    )
ValueErrorlenr   r!   )r	   nsdatar
   r
   r   pack_fstring_   s    zPacker.pack_fstringc             C   s-   t  |  } |  j |  |  j | |  d  S)N)r/   r$   r3   )r	   r1   r0   r
   r
   r   pack_stringi   s    zPacker.pack_stringc             C   s9   x% | D] } |  j  d  | |  q W|  j  d  d  S)N   r   )r$   )r	   list	pack_itemitemr
   r
   r   	pack_listq   s    zPacker.pack_listc             C   s@   t  |  | k r! t d   n  x | D] } | |  q( Wd  S)Nzwrong array size)r/   r.   )r	   r0   r6   r7   r8   r
   r
   r   pack_farrayw   s    zPacker.pack_farrayc             C   s0   t  |  } |  j |  |  j | | |  d  S)N)r/   r$   r:   )r	   r6   r7   r0   r
   r
   r   
pack_array}   s    zPacker.pack_arrayN)r   r   r   r   r   r   r    Zget_bufr   r$   r%   Z	pack_enumr&   r)   Z
pack_hyperr*   r+   r3   Zpack_fopaquer4   Zpack_opaqueZ
pack_bytesr9   r:   r;   r
   r
   r
   r   r   /   s*   
c               @   s  e  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
 d d   Z e Z d d   Z d d   Z d d   Z d d   Z d d   Z d d   Z e Z d d   Z e Z e Z d  d!   Z d" d#   Z d$ d%   Z d& S)'r   z;Unpacks various data representations from the given buffer.c             C   s   |  j  |  d  S)N)r   )r	   r2   r
   r
   r   r      s    zUnpacker.__init__c             C   s   | |  _  d |  _ d  S)Nr   )_Unpacker__buf_Unpacker__pos)r	   r2   r
   r
   r   r      s    	zUnpacker.resetc             C   s   |  j  S)N)r=   )r	   r
   r
   r   get_position   s    zUnpacker.get_positionc             C   s   | |  _  d  S)N)r=   )r	   Zpositionr
   r
   r   set_position   s    zUnpacker.set_positionc             C   s   |  j  S)N)r<   )r	   r
   r
   r   r       s    zUnpacker.get_bufferc             C   s+   |  j  t |  j  k  r' t d   n  d  S)Nzunextracted data remains)r=   r/   r<   r   )r	   r
   r
   r   done   s    zUnpacker.donec             C   s\   |  j  } | d |  _  } |  j | |  } t |  d k  rH t  n  t j d |  d S)Nr-   z>Lr   )r=   r<   r/   EOFErrorr   unpack)r	   ijr2   r
   r
   r   unpack_uint   s    		zUnpacker.unpack_uintc             C   s\   |  j  } | d |  _  } |  j | |  } t |  d k  rH t  n  t j d |  d S)Nr-   z>lr   )r=   r<   r/   rA   r   rB   )r	   rC   rD   r2   r
   r
   r   
unpack_int   s    		zUnpacker.unpack_intc             C   s   t  |  j    S)N)boolrF   )r	   r
   r
   r   unpack_bool   s    zUnpacker.unpack_boolc             C   s*   |  j    } |  j    } t |  d >| BS)Nr'   )rE   int)r	   hilor
   r
   r   unpack_uhyper   s    zUnpacker.unpack_uhyperc             C   s)   |  j    } | d k r% | d } n  | S)Nl            l            )rL   )r	   r#   r
   r
   r   unpack_hyper   s    zUnpacker.unpack_hyperc             C   s\   |  j  } | d |  _  } |  j | |  } t |  d k  rH t  n  t j d |  d S)Nr-   z>fr   )r=   r<   r/   rA   r   rB   )r	   rC   rD   r2   r
   r
   r   unpack_float   s    		zUnpacker.unpack_floatc             C   s\   |  j  } | d |  _  } |  j | |  } t |  d k  rH t  n  t j d |  d S)N   z>dr   )r=   r<   r/   rA   r   rB   )r	   rC   rD   r2   r
   r
   r   unpack_double   s    		zUnpacker.unpack_doublec             C   sv   | d k  r t  d   n  |  j } | | d d d } | t |  j  k rX t  n  | |  _ |  j | | |  S)Nr   z fstring size must be nonnegativer,   r-   )r.   r=   r/   r<   rA   )r	   r0   rC   rD   r
   r
   r   unpack_fstring   s    			zUnpacker.unpack_fstringc             C   s   |  j    } |  j |  S)N)rE   rQ   )r	   r0   r
   r
   r   unpack_string   s    zUnpacker.unpack_stringc             C   se   g  } xX |  j    } | d k r% Pn  | d k rG t d | f   n  |   } | j |  q	 W| S)Nr   r5   z0 or 1 expected, got %r)rE   r   append)r	   unpack_itemr6   r#   r8   r
   r
   r   unpack_list   s     	zUnpacker.unpack_listc             C   s1   g  } x$ t  |  D] } | j |    q W| S)N)rangerS   )r	   r0   rT   r6   rC   r
   r
   r   unpack_farray   s    zUnpacker.unpack_farrayc             C   s   |  j    } |  j | |  S)N)rE   rW   )r	   rT   r0   r
   r
   r   unpack_array   s    zUnpacker.unpack_arrayN)r   r   r   r   r   r   r>   r?   r    r@   rE   rF   Zunpack_enumrH   rL   rM   rN   rP   rQ   Zunpack_fopaquerR   Zunpack_opaqueZunpack_bytesrU   rW   rX   r
   r
   r
   r   r      s.   
)r   r   ior   	functoolsr   __all__	Exceptionr   r   r   r   r   r
   r
   r
   r   <module>   s   U