ó
æ¨[Qc           @   sP   d  d l  m Z m Z e d ƒ Z d Z d „  Z d „  Z d „  Z d „  Z d S(	   iÿÿÿÿ(   t   bytet   bt    i   c         C   s¡   d } d } xŽ t  rœ |  j d ƒ } t | ƒ d k rY | d k rF d St d | ƒ ‚ n  t | ƒ } | | d @d | >7} | d 7} | d @s | | f Sq Wd  S(   Ni    i   s,   EOF while reading varint, value is %i so fari   i   i€   (   i    i    (   t   Truet   readt   lent   EOFErrort   ord(   t   infilet   varintt
   read_bytest   charR    (    (    sb   /home/tom/ab/x64lucid-deps/install/lib/python2.7/site-packages/rsa-3.1.1-py2.7.egg/rsa/varblock.pyt   read_varint*   s    	

c         C   s„   | d k r |  j  t ƒ d Sd } xZ | d k r | d @} | d ?} | d k r_ | d O} n  |  j  t | ƒ ƒ | d 7} q& W| S(   Ni    i   i   i   i€   (   t   writet	   ZERO_BYTER    (   t   outfilet   valuet   written_bytest   to_write(    (    sb   /home/tom/ab/x64lucid-deps/install/lib/python2.7/site-packages/rsa-3.1.1-py2.7.egg/rsa/varblock.pyt   write_varintJ   s    

c         c   sß   |  j  d ƒ } t | ƒ d k r0 t d ƒ ‚ n  t | ƒ } | t k r[ t d | ƒ ‚ n  x} t rÚ t |  ƒ \ } } | d k r’ | d k r’ Pn  |  j  | ƒ } t | ƒ } | | k rÒ t d | | f ƒ ‚ n  | Vq^ Wd  S(   Ni   i    s&   Unable to read VARBLOCK version numbers!   VARBLOCK version %i not supporteds.   Block size is %i, but could read only %i bytes(   R   R   R   R   t   VARBLOCK_VERSIONt
   ValueErrorR   R   (   R   t
   first_chart   versiont
   block_sizeR
   t   blockt	   read_size(    (    sb   /home/tom/ab/x64lucid-deps/install/lib/python2.7/site-packages/rsa-3.1.1-py2.7.egg/rsa/varblock.pyt   yield_varblocksg   s     		c         c   sQ   xJ t  rL |  j | ƒ } t | ƒ } | d k r4 Pn  | V| | k  r Pq q Wd  S(   Ni    (   R   R   R   (   R   t	   blocksizeR   R
   (    (    sb   /home/tom/ab/x64lucid-deps/install/lib/python2.7/site-packages/rsa-3.1.1-py2.7.egg/rsa/varblock.pyt   yield_fixedblocks‰   s    	N(	   t   rsa._compatR    R   R   R   R   R   R   R   (    (    (    sb   /home/tom/ab/x64lucid-deps/install/lib/python2.7/site-packages/rsa-3.1.1-py2.7.egg/rsa/varblock.pyt   <module>$   s   	 		"