
    :h                    >   d dl mZ d dlZddlmZmZmZ ddlmZ  ej                  d      Z
ddZ G d d	ej
                        Z ej                  ej                  ee        ej                  ej                  d
        ej                   ej                  d       y)    )annotationsN   )Image	ImageFileImagePalette)o8s$   "([0-9]*) ([0-9]*) ([0-9]*) ([0-9]*)c                $    | j                  d      S )Ns	   /* XPM */)
startswith)prefixs    P/var/www/urcfiles/bundle/venv/lib/python3.12/site-packages/PIL/XpmImagePlugin.py_acceptr      s    \**    c                  $    e Zd ZdZdZddZddZy)XpmImageFileXPMzX11 Pixel Mapc                ,   t        | j                  j                  d            sd}t        |      	 | j                  j	                         }|sd}t        |      t
        j                  |      }|rnBt        |j                  d            t        |j                  d            f| _	        t        |j                  d            }t        |j                  d            }|dkD  s|dk7  rd	}t        |      d
gdz  }t        |      D ]  }| j                  j	                         }|j                  d      r|d d }n|j                  d      r|d d }|d   }|dd j                         }t        dt        |      d      D ]  }	||	   dk(  s||	dz      }
|
dk(  r|| j                  d<   nc|
j!                  d      rEt        |
dd  d      }
t#        |
dz	  dz        t#        |
dz	  dz        z   t#        |
dz        z   ||<   nd	}t        |        d	}t        |       d| _        t'        j(                  ddj+                  |            | _        t/        j0                  dd| j2                  z   | j                  j5                         d      g| _        y )N	   znot an XPM filezbroken XPM filer               zcannot read this XPM files      s   
)      
r      cs   Nonetransparency   #         PRGBr   raw)r   r   )r   fpreadSyntaxErrorreadlinexpm_headmatchintgroup_size
ValueErrorrangeendswithsplitleninfor
   r   _moder   r$   joinpaletter   _Tilesizetelltile)selfmsgsmpalbppr6   _cirgbs              r   _openzXpmImageFile._open'   sY   tww||A'#Cc""   "A'!#&&q!A  _c!''!*o5
!''!*o!''!*o9q-CS/!
 +#sA  "Azz'"crFN+crF!A!BA1c!fa(Q44<AE(Cg~45		.1-!#ab'2.r	S01BqC7G4HH2cTWi=X  

 :(o-! )( 2 o%? B 
#''sxx/@A__UFTYY,>PSTU	r   c                    | j                   \  }}t        |      D cg c]1  }| j                  j                         d|dz    j	                  |      3 }}dj                  |      S c c}w )Nr   r   )r8   r/   r%   r(   ljustr5   )r;   
read_bytesxsizeysizerC   r=   s         r   	load_readzXpmImageFile.load_readj   s`     yyuEJ5\R\TWWEAI.44U;\Rxx{ Ss   6A&N)returnNone)rH   r+   rL   bytes)__name__
__module____qualname__formatformat_descriptionrE   rK    r   r   r   r   #   s    F(AVFr   r   z.xpmz	image/xpm)r   rN   rL   bool)
__future__r   re r   r   r   _binaryr   compiler)   r   r   register_openrR   register_extensionregister_mimerT   r   r   <module>r^      s     # 	 , ,  2::=>+O9&& Ol   L''w ?   ,,f 5   L'' 5r   