
    @OOfb                     6   d Z ddlmZ ddlZdgZddZg Zd Zej                  e       d Z	ej                  e	       d Z
ej                  e
       d	 Zej                  e       d
 Zej                  e       d Zej                  e       d Zej                  e       d Zej                  e       d Zej                  e       d Zej                  e       d Zej                  e       d Zej                  e       d Zej                  e       y)z<Recognize image file formats based on their first few bytes.    )PathLikeNwhatc                    d}	 |ft        | t        t        f      rt        | d      }|j	                  d      }n2| j                         }| j	                  d      }| j                  |       t        D ]$  } |||      }|s|c |r|j                          S S  	 |r|j                          y# |r|j                          w w xY w)z<Return the type of image contained in a file or byte stream.Nrb    )	
isinstancestrr   openreadtellseektestsclose)filehflocationtfress         Y/var/www/premiumrankchecker/venv/lib/python3.12/site-packages/mitmproxy/contrib/imghdr.pyr   r      s    A9$h0t$FF2J99;IIbM		(# 	BQ(C
aggi1	
 aggi aggi1s   A<B- B- B- -Cc                 &    | dd dv ry| dd dk(  ryy)z;Test for JPEG data with JFIF or Exif markers; and raw JPEG.   
   )s   JFIFs   ExifjpegN   s   ۩ r   r   s     r   	test_jpegr   0   s+    2w$$	
2A%	% 
&    c                 (    | j                  d      ryy)zVerify if the image is a PNG.s   PNG

pngN
startswithr   s     r   test_pngr$   9   s    ||() *r   c                     | dd dv ryy)z3Verify if the image is a GIF ('87 or '89 variants).Nr   )s   GIF87as   GIF89agifr   r   s     r   test_gifr'   @   s    !u&& 'r   c                     | dd dv ryy)zGVerify if the image is a TIFF (can be in Motorola or Intel byte order).N   )s   MMs   IItiffr   r   s     r   	test_tiffr+   G   s    !u r   c                 (    | j                  d      ryy)ztest for the SGI image library.s   rgbNr"   r   s     r   test_rgbr.   N       ||K  !r   c                 f    t        |       dk\  r#| d   t        d      k(  r| d   dv r	| d   dv ryy	y	y	y	)
z/Verify if the image is a PBM (portable bitmap).   r      P   s   14r)       	
pbmNlenordr   s     r   test_pbmr9   U   E    
1v{	!D	adem!
0B 1Cm r   c                 f    t        |       dk\  r#| d   t        d      k(  r| d   dv r	| d   dv ryy	y	y	y	)
z0Verify if the image is a PGM (portable graymap).r1   r   r2   r3   s   25r)   r4   pgmNr6   r   s     r   test_pgmr=   ]   r:   r   c                 f    t        |       dk\  r#| d   t        d      k(  r| d   dv r	| d   dv ryy	y	y	y	)
z/Verify if the image is a PPM (portable pixmap).r1   r   r2   r3   s   36r)   r4   ppmNr6   r   s     r   test_ppmr@   e   r:   r   c                 (    | j                  d      ryy)ztest for the Sun raster file.s   YjrastNr"   r   s     r   	test_rastrC   m   s    ||'( )r   c                 (    | j                  d      ryy)z/Verify if the image is a X bitmap (X10 or X11).s   #define xbmNr"   r   s     r   test_xbmrF   t   r/   r   c                 (    | j                  d      ryy)z"Verify if the image is a BMP file.s   BMbmpNr"   r   s     r   test_bmprI   {   s    ||E r   c                 :    | j                  d      r
| dd dk(  ryyy)zVerify if the image is a WebP.s   RIFF      s   WEBPwebpNr"   r   s     r   	test_webprN      s&    ||G1RG!3 "4r   c                 (    | j                  d      ryy)z-verify is the image ia a OpenEXR fileOpenEXR.s   v/1exrNr"   r   s     r   test_exrrQ      s    ||'( )r   )N)__doc__osr   warnings__all__r   r   r   appendr$   r'   r+   r.   r9   r=   r@   rC   rF   rI   rN   rQ   r   r   r   <module>rW      s   C  (2 	 Y 
 X 
 X 
 Y 
 X  X  X  X 
 Y 
 X 
 X 
 Y 
 X r   