ó
Č4ec           @   sS  d  d l  Z  d d l m Z m Z m Z d d l m Z d Z d Z d Z	 d Z
 d	 Z d
 Z d Z d Z d Z d Z i	 d e 6d e	 6d e
 6d e 6d e 6d e 6d e 6d e 6d e 6Z i da d 6db d 6dc d 6dd d 6de d 6df d 6dg d 6dh d 6di d 6dj d! 6dk d" 6dl d% 6dm d( 6dn d* 6do d, 6dp d/ 6dq d1 6dr d4 6ds d7 6dt d: 6du d= 6Z xP d> d? d@ dA dB dC g D]6 Z d& dD e f e dE e <d& dD e f e dF e <qkWxO d@ dG dH g D]> Z dI e dI e f e dE e <dI e dI e f e dF e <qľWxA dJ g D]6 Z d# dI e f e dE e <d# dI e f e dF e <qWx/ e dK dL  D] Z d& dD e f e dF e <qKWe  j dM  Z dN   Z dO e j f dP     YZ i dv d 6dw d 6dx d- 6dy d 6dz dS 6d{ d# 6d| dW 6d} dY 6d~ d[ 6d d& 6d d 6d d2 6d d5 6d d8 6d d; 6Z d_   Z e j e j e  e j e j e  e j e j d`  d S(   i˙˙˙˙Ni   (   t   Imaget	   ImageFilet   ImagePalette(   t   i8s   0.7t   Commentt   Dates   Digitalization equipments   File size (no of images)t   Lutt   Names   Scale (x,y)s   Image size (x*y)s
   Image typei    t   1s	   0 1 images	   L 1 imaget   Ls   Greyscale images   Grayscale imaget   RGBs   RGB;Ls	   RGB imaget   RLBs	   RLB images	   RYB images   B1 imaget   Ps   P;2s   B2 images   P;4s   B4 images
   X 24 imaget   Is   I;32s   L 32 S imaget   Fs   F;32s   L 32 F images   RGB;Ts
   RGB3 images   RYB;Ts
   RYB3 imaget   LAs   LA;Ls   LA images   PA;Ls   PA imaget   RGBAs   RGBA;Ls
   RGBA imaget   RGBXs   RGBX;Ls
   RGBX imaget   CMYKs   CMYK;Ls
   CMYK imaget   YCbCrs   YCbCr;Ls	   YCC imaget   8t   8St   16t   16St   32t   32Fs   F;%ss
   L %s images
   L*%s imaget   16Lt   16Bs   I;%st   32Si   i!   s"   ^([A-Za-z][^:]*):[ \t]*(.*)[ \t]*$c         C   s-   y t  |   SWn t k
 r( t |   SXd  S(   N(   t   intt
   ValueErrort   float(   t   s(    (    s;   /usr/local/lib/python2.7/dist-packages/PIL/ImImagePlugin.pyt   numbero   s    t   ImImageFilec           B   s\   e  Z d  Z d Z e Z d   Z e d    Z e d    Z	 d   Z
 d   Z d   Z RS(   t   IMs   IFUNC Image Memoryc         C   s%  d |  j  j d  k r' t d   n  |  j  j d  d } d |  j t <d+ |  j t <d |  j t <d |  _ xVt	 rĹ|  j  j d  } | d k r qp n  | sš | d	 k sš | d
 k r˝ Pn  | |  j  j
   } t |  d k rń t d   n  | d d k r| d  } n | d d k r+| d  } n  y t j |  } Wn  t j k
 r`t d   n X| rŚ| j d d  \ } } | j d d  } | j d d  } | t t t g k r
| j d d  } t t t | j d    } t |  d k r8| d } q8n. | t k r8| t k r8t | \ } |  _ n  | t k r}| |  j k rj|  j | j |  q| g |  j | <n | |  j | <| t k rÂ| d 7} qÂqp t d | j d d    qp W| sŰt d   n  |  j t |  _ |  j t |  _ x/ | r,| d d !d
 k r,|  j  j d  } qţW| sBt d   n  t |  j k rË|  j  j d  } d } d } xl t d  D]^ }	 | |	 | |	 d k o­| |	 d k n rÔt | |	  |	 k rÚd } qÚq|d } q|W|  j d, k r| r%| sg  | d  D] }
 t |
  ^ q|  _  qqČ|  j d- k rGd |  _ |  _ n$ |  j d. k rkd |  _ d |  _ n  t! j" d |  |  _# qË|  j d k rË| s | rČg  | D] }
 t |
  ^ q§|  _  qČqËn  d |  _$ |  j  j%   |  _& } |  j  |  _' |  j d  d k ruyU t( |  j d  } | d/ k r]d# d0 |  j) | | d  d$ d d f f g |  _* d  SWqut+ k
 rqquXn  |  j d1 k rö|  j) d |  j) d } d' d2 |  j) | d3 f d' d4 |  j) | | d5 f d' d6 |  j) | d | d7 f g |  _* n+ d' d8 |  j) | |  j d d f f g |  _* d  S(9   Ns   
id   s   not an IM filei    R	   i   i   s   s    s   iţ˙˙˙s   
i˙˙˙˙i   s   latin-1t   replacet   *t   ,s   Syntax error in IM header: t   asciis   Not an IM files   File truncatedi   i   R   R   t   PAs   PA;Ls   RGB;LR
   s   F;i   i   i    t   biti   s   RGB;Ts   RYB;Tt   rawt   Gt   Rt   B(   i   i   (   R	   R   R   R(   (   R	   R   (   R   R(   (   i   i   i    (   i    i    (   s   RGB;Ts   RYB;T(   i    i    (   R+   i    i˙˙˙˙(   i    i    (   R,   i    i˙˙˙˙(   i    i    (   R-   i    i˙˙˙˙(   i    i    (,   t   fpt   readt   SyntaxErrort   seekt   infot   MODEt   SIZEt   FRAMESt   rawmodet   Truet   readlinet   lent   splitt   matcht   ret   errort   groupt   decodet   SCALER$   t   tuplet   mapR!   t   OPENt   COMMENTt   appendt   TAGSt   _sizet   modet   LUTt   rangeR   t   lutR   R*   t   palettet   framet   tellt   _ImImageFile__offsett   _ImImageFile__fpR   t   sizet   tileR   (   t   selft   nR    t   mt   kt   vRL   t	   greyscalet   lineart   it   ct   offst   bitsRQ   (    (    s;   /usr/local/lib/python2.7/dist-packages/PIL/ImImagePlugin.pyt   _open   s¸    		0
,	+	.*c         C   s   |  j  t S(   N(   R2   R5   (   RS   (    (    s;   /usr/local/lib/python2.7/dist-packages/PIL/ImImagePlugin.pyt   n_frames  s    c         C   s   |  j  t d k S(   Ni   (   R2   R5   (   RS   (    (    s;   /usr/local/lib/python2.7/dist-packages/PIL/ImImagePlugin.pyt   is_animated  s    c         C   sˇ   |  j  |  s d  S| |  _ |  j d k r4 d } n d t |  j  } |  j d | d d |  j d } |  j | | } |  j |  _ d d |  j | |  j d d f f g |  _	 d  S(	   NR   i   i   i    i   R*   i˙˙˙˙(   i    i    (
   t   _seek_checkRM   RH   R9   RQ   RO   RP   R.   R6   RR   (   RS   RM   R]   RQ   R\   (    (    s;   /usr/local/lib/python2.7/dist-packages/PIL/ImImagePlugin.pyR1      s    		$c         C   s   |  j  S(   N(   RM   (   RS   (    (    s;   /usr/local/lib/python2.7/dist-packages/PIL/ImImagePlugin.pyRN   2  s    c         C   sO   z> y& |  j  |  j k r( |  j  j   n  Wn t k
 r< n XWd  d  |  _  Xd  S(   N(   RP   R.   t   closet   AttributeErrort   None(   RS   (    (    s;   /usr/local/lib/python2.7/dist-packages/PIL/ImImagePlugin.pyt
   _close__fp5  s     (   t   __name__t
   __module__t   formatt   format_descriptiont   Falset!   _close_exclusive_fp_after_loadingR^   t   propertyR_   R`   R1   RN   Re   (    (    (    s;   /usr/local/lib/python2.7/dist-packages/PIL/ImImagePlugin.pyR"   z   s   			s   0 1t	   GreyscaleR(   s   L 32Ss   I;32Ss   L 16s   I;16s   L 16Ls   I;16Ls   L 16Bs   I;16Bs   L 32Fs   F;32Ft   YCCc      	   C   si  y t  |  j \ } } Wn$ t k
 r= t d |  j   n X|  j j d d  } | j d | j d   | r | j d | j d   n  | j d |  j j d   | j d | j d   |  j d k rć | j d  n  | j d d | j	   d  |  j d k r3| j |  j
 j d d   n  t j |  | d d |  j d | d d f f g  d  S(   Ns   Cannot save %s images as IMt   framesi   s   Image type: %s image
R'   s
   Name: %s
s   Image size (x*y): %d*%d
s   File size (no of images): %d
R   R(   s   Lut: 1
s    i˙  s   R
   s   RGB;LR*   i    i˙˙˙˙(   R   R(   (   R   R(   (   i    i    (   t   SAVERH   t   KeyErrorR   t   encoderinfot   gett   writet   encodeRQ   RN   t   imt
   getpaletteR   t   _save(   Rv   R.   t   filenamet
   image_typeR6   Ro   (    (    s;   /usr/local/lib/python2.7/dist-packages/PIL/ImImagePlugin.pyRx   X  s     s   .im(   R   R   (   R   R   (   R	   R	   (   R	   R	   (   R
   s   RGB;L(   R
   R   (   R
   R   (   R   R   (   R   s   P;2(   R   s   P;4(   R
   R
   (   R   s   I;32(   R   s   F;32(   R
   s   RGB;T(   R
   s   RYB;T(   R   s   LA;L(   R   s   PA;L(   R   s   RGBA;L(   R   s   RGBX;L(   R   s   CMYK;L(   R   s   YCbCr;L(   s   0 1R   (   Rm   R	   (   R   s   LA;L(   Rm   R   (   R   s   PA;L(   s   L 32Ss   I;32S(   s   L 16s   I;16(   s   L 16Ls   I;16L(   s   L 16Bs   I;16B(   s   L 32Fs   F;32F(   R
   s   RGB;L(   R   s   RGBA;L(   R   s   RGBX;L(   R   s   CMYK;L(   Rn   s   YCbCr;L(   R<   t    R    R   R   t   _binaryR   t   __version__RD   t   DATEt	   EQUIPMENTR5   RI   t   NAMER@   R4   R3   RF   RC   RZ   RJ   t   compileR:   R!   R"   Rp   Rx   t   register_openRh   t   register_savet   register_extension(    (    (    s;   /usr/local/lib/python2.7/dist-packages/PIL/ImImagePlugin.pyt   <module>   s   

 	Ę
	