
    dp                        d Z ddlmZ ddlZdgZ ej        ed           ddZg Zd Z	e
                    e	           d	 Ze
                    e           d
 Ze
                    e           d Ze
                    e           d Ze
                    e           d Ze
                    e           d Ze
                    e           d Ze
                    e           d Ze
                    e           d Ze
                    e           d Ze
                    e           d Ze
                    e           d Ze
                    e           d Zd Zedk    r e             dS dS )z<Recognize image file formats based on their first few bytes.    )PathLikeNwhat)      )removec                    d }	 |t          | t          t          f          r&t          | d          }|                    d          }n>|                                 }|                     d          }|                     |           t          D ]+} |||          }|r|c |r|                                 S S ,	 |r|                                 n# |r|                                 w w xY wd S )Nrb    )	
isinstancestrr   openreadtellseektestsclose)filehflocationtfress           /croot/python-split_1694437901252/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_plac/lib/python3.11/imghdr.pyr   r      s    A9$h00 $t$$FF2JJ99;;IIbMM		(### 	 	B"Q((C 

aggiiii	
 aggiii1aggiiii4s   BC 8C C*c                 B    | dd         dv rdS | dd         dk    rdS dS )z1JPEG data with JFIF or Exif markers; and raw JPEG   
   )s   JFIFs   ExifjpegN   s   ۩ r   r   s     r   	test_jpegr!   *   s<    2w$$$v	
2A2%	%	%v 
&	%    c                 4    |                      d          rdS d S )Ns   PNG

png
startswithr    s     r   test_pngr'   3   s&    ||()) u r"   c                 "    | dd         dv rdS dS )zGIF ('87 and '89 variants)Nr   )s   GIF87as   GIF89agifr   r    s     r   test_gifr*   9   s#    !u&&&u '&r"   c                 "    | dd         dv rdS dS )z-TIFF (can be in Motorola or Intel byte order)N   )s   MMs   IItiffr   r    s     r   	test_tiffr.   @   s"    !uv r"   c                 4    |                      d          rdS dS )zSGI image librarys   rgbNr%   r    s     r   test_rgbr1   G   %    ||K   u r"   c                     t          |           dk    r/| d         t          d          k    r| d         dv r| d         dv rdS d	S d	S d	S d	S )
zPBM (portable bitmap)r   r      P   s   14r,       	
pbmNlenordr    s     r   test_pbmr;   N   \    
1vv{{	!D		ademm!
0B0Bu {mm0B0Br"   c                     t          |           dk    r/| d         t          d          k    r| d         dv r| d         dv rdS d	S d	S d	S d	S )
zPGM (portable graymap)r   r   r4   r5   s   25r,   r6   pgmNr8   r    s     r   test_pgmr?   V   r<   r"   c                     t          |           dk    r/| d         t          d          k    r| d         dv r| d         dv rdS d	S d	S d	S d	S )
zPPM (portable pixmap)r   r   r4   r5   s   36r,   r6   ppmNr8   r    s     r   test_ppmrB   ^   r<   r"   c                 4    |                      d          rdS dS )zSun raster files   YjrastNr%   r    s     r   	test_rastrE   f   s&    ||'(( v r"   c                 4    |                      d          rdS dS )zX bitmap (X10 or X11)s   #define xbmNr%   r    s     r   test_xbmrH   m   r2   r"   c                 4    |                      d          rdS d S )Ns   BMbmpr%   r    s     r   test_bmprK   t   s%    ||E u r"   c                 T    |                      d          r| dd         dk    rdS d S d S )Ns   RIFF      s   WEBPwebpr%   r    s     r   	test_webprP   z   s=    ||G 1R4G!3!3v !3!3r"   c                 4    |                      d          rdS d S )Ns   v/1exrr%   r    s     r   test_exrrS      s&    ||'(( u r"   c                  n   dd l } d}| j        dd          r| j        d         dk    r| j        dd= d}	 | j        dd          r t          | j        dd          |d           d S t          dg|d           d S # t          $ r3 | j                            d           |                     d           Y d S w xY w)Nr   r5   z-rr,   .z
[Interrupted]
)sysargvtestallKeyboardInterruptstderrwriteexit)rV   	recursives     r   testr^      s    JJJI
x| t++HQqSM	8ABB< 	)CHQRRL)Q/////SE9a(((((   
,---s   -A7 #A7 79B43B4c                 F   dd l }dd l}| D ]}|j                            |          rt	          |dz   d           |s|rft	          d           dd l}|                    |j                            |                    |          d                    }t          ||d           t	          d           t	          |dz   d           |j	        
                                 	 t	          t          |                     # t          $ r t	          d	           Y w xY wd S )
Nr   z/: )endzrecursing down:*z*** directory (use -r) ***:z*** not found ***)rV   ospathisdirprintglobjoinescaperX   stdoutflushr   OSError)listr]   toplevelrV   rd   filenamerh   namess           r   rX   rX      sL   JJJIII + +7=="" 	+(T/s++++ 4H 4'(((		"',,t{{8/D/Dc"J"JKKy!,,,,23333(S.c****J+d8nn%%%% + + +)*****++ +s   $DDD__main__)N)__doc__rd   r   warnings__all___deprecated__name__r   r   r!   appendr'   r*   r.   r1   r;   r?   rB   rE   rH   rK   rP   rS   r^   rX   r   r"   r   <module>ry      sk   B B       (  Xg . . . .   0 	   Y      X     
 X     
 Y     
 X      X      X      X     
 Y     
 X      X      Y      X     + + +* zDFFFFF r"   