ó
È4ec           @  sÔ   d  d l  m Z d  d l Z d d l m Z m Z d d l m Z m Z	 d Z
 i d$ d	 6d% d& 6d' d( 6d) d* 6d+ d, 6d- d. 6d/ d0 6Z d  „  Z d! e j f d" „  ƒ  YZ e j e j e e ƒ e j e j d# ƒ d S(1   iÿÿÿÿ(   t   print_functionNi   (   t   Imaget	   ImageFile(   t   i8t   i32les   0.1t   At   Liþ  i   t   RGBAt   LAi € iþ t   RGBs   YCC;Pi   i  i  s   YCCA;Pi € i€ i€ iþ i   i  i  i € i€ i€ iþ c         C  s   |  d  t  j k S(   Ni   (   t   olefilet   MAGIC(   t   prefix(    (    s<   /usr/local/lib/python2.7/dist-packages/PIL/FpxImagePlugin.pyt   _accept1   s    t   FpxImageFilec           B  sA   e  Z d  Z d Z d „  Z d d „ Z d d d „ Z d „  Z RS(   t   FPXt   FlashPixc         C  sn   y t  j |  j ƒ |  _ Wn t k
 r8 t d ƒ ‚ n X|  j j j d k r] t d ƒ ‚ n  |  j d ƒ d  S(   Ns!   not an FPX file; invalid OLE files$   56616700-C154-11CE-8553-00AA00A1F95Bs   not an FPX file; bad root CLSIDi   (	   R
   t	   OleFileIOt   fpt   olet   IOErrort   SyntaxErrort   roott   clsidt   _open_index(   t   self(    (    s<   /usr/local/lib/python2.7/dist-packages/PIL/FpxImagePlugin.pyt   _open>   s    i   c   	      C  s  |  j  j d | d g ƒ } | d | d f |  _ t |  j ƒ } d } x$ | d k rn | d } | d 7} qK W| d |  _ |  j d >} | d	 | B} g  } t | d
 ƒ } | d
 k rÇ t d ƒ ‚ n  x6 t | ƒ D]( } | j	 t | d | d
 ƒ d @ƒ qÔ Wt
 t | ƒ \ |  _ |  _ i  |  _ xB t d ƒ D]4 } d | d >B} | | k r2| | |  j | <q2q2W|  j d |  j ƒ d  S(   Ns   Data Object Store %06ds   Image Contentsi  i  i   i@   i   i   i  i   s   Invalid number of bandsi   iÿÿÿi   i  (   R   t   getpropertiest   _sizet   maxt   sizet   maxidt   i32R   t   ranget   appendt   MODESt   tuplet   modet   rawmodet   jpegt   _open_subimage(	   R   t   indext   propR   t   it   idt   st   colorst   bands(    (    s<   /usr/local/lib/python2.7/dist-packages/PIL/FpxImagePlugin.pyR   M   s0    	
&	i    c      	   C  s  d | d | d g } |  j  j | ƒ } | j d ƒ | j d ƒ } t | d ƒ t | d ƒ f } t | d ƒ t | d	 ƒ f } t | d ƒ } t | d
 ƒ }	 | |  j k r½ t d ƒ ‚ n  | j d | ƒ | j t | d ƒ |	 ƒ } d }
 } | \ } } | \ } } g  |  _ xèt d t	 | ƒ |	 ƒ D]Î} t | | d ƒ } | d k r–|  j j
 d |
 | |
 | | | f t | | ƒ d |  j f ƒ n,| d k rò|  j j
 d |
 | |
 | | | f t | | ƒ d |  j | d d !f f ƒ nÐ | d k r¶t | d ƒ } t | d ƒ } |  j } | rQ| d k rHd \ } } qWd  } n | } |  j j
 d |
 | |
 | | | f t | | ƒ d | | f f ƒ | rÂ|  j | |  _ qÂn t d ƒ ‚ |
 | }
 |
 | k r.d | | }
 } | | k rüPqüq.q.W| |  _ d  |  _ d  S(   Ns   Data Object Store %06ds   Resolution %04ds   Subimage 0000 Headeri   i$   i   i   i   i   i    s   subimage mismatchi   i    t   rawi   t   filli   i   i   R   t   YCbCrKt   CMYKR'   s   unknown/invalid compression(   R2   R3   (   R   t
   openstreamt   readR    R   R   t   seekt   tileR!   t   lenR"   R&   R   t   NoneR'   t   tile_prefixt   streamR   (   R   R)   t   subimageR;   R   R-   R   t   tilesizet   offsett   lengtht   xt   yt   xsizet   ysizet   xtilet   ytileR+   t   compressiont   internal_color_conversiont   jpeg_tablesR&   t   jpegmode(    (    s<   /usr/local/lib/python2.7/dist-packages/PIL/FpxImagePlugin.pyR(   }   sp    	
						
	c         C  s?   |  j  s/ |  j j |  j d  d g ƒ |  _  n  t j j |  ƒ S(   Ni   s   Subimage 0000 Data(   R   R   R4   R;   R   t   load(   R   (    (    s<   /usr/local/lib/python2.7/dist-packages/PIL/FpxImagePlugin.pyRJ   ë   s    	&(   t   __name__t
   __module__t   formatt   format_descriptionR   R   R(   RJ   (    (    (    s<   /usr/local/lib/python2.7/dist-packages/PIL/FpxImagePlugin.pyR   9   s   	0ns   .fpx(   R   R   (   R   R   (   i   (   R   R   (   i € iþ (   R	   s   YCC;P(   i   i  i  (   R   s   YCCA;P(   i € i€ i€ iþ (   R	   R	   (   i   i  i  (   R   R   (   i € i€ i€ iþ (   t
   __future__R    R
   t    R   R   t   _binaryR   R   R    t   __version__R#   R   R   t   register_openRM   t   register_extension(    (    (    s<   /usr/local/lib/python2.7/dist-packages/PIL/FpxImagePlugin.pyt   <module>   s    
	¾