o
    pèÝcý  ã                   @   sX   d dl Z ddlmZmZ dd„ ZG dd„ dejƒZe ejee¡ e ejdd	g¡ dS )
é    Né   )ÚImageÚ	ImageFilec                 C   s   | d d… dkS )Né   s   SIMPLE© )Úprefixr   r   ú3lib/python3.10/site-packages/PIL/FitsImagePlugin.pyÚ_accept   s   r	   c                   @   s   e Zd ZdZdZdd„ ZdS )ÚFitsImageFileZFITSc           	      C   sj  i }	 | j  d¡}|sd}t|ƒ‚|d d…  ¡ }|dkrn*|dd …  ¡ }| d¡r3|dd …  ¡ }|sCt|ƒr=|dkrCd	}t|ƒ‚|||< qt|d
 ƒ}|dkrXd}t|ƒ‚|dkrfdt|d ƒf| _	nt|d ƒt|d ƒf| _	t|d ƒ}|dkrd| _
n|dkr‰d| _
n|dkr‘d| _
n|dv r˜d| _
t | j  ¡ d ¡d }dd| j || j
ddffg| _d S )NTéP   zTruncated FITS fileé   s   ENDó   =r   ó   TzNot a FITS files   NAXISr   zNo image datas   NAXIS1s   NAXIS2s   BITPIXÚLé   ÚIé    )iàÿÿÿiÀÿÿÿÚFi@  Úraw)r   r   éÿÿÿÿ)ÚfpÚreadÚOSErrorÚstripÚ
startswithr	   ÚSyntaxErrorÚintÚ
ValueErrorÚ_sizeÚmodeÚmathZceilÚtellÚsizeZtile)	ÚselfZheadersÚheaderÚmsgÚkeywordÚvalueZnaxisZnumber_of_bitsÚoffsetr   r   r   Ú_open   sF   
ò"zFitsImageFile._openN)Ú__name__Ú
__module__Ú__qualname__ÚformatZformat_descriptionr)   r   r   r   r   r
      s    r
   z.fitz.fits)	r    Ú r   r   r	   r
   Zregister_openr-   Zregister_extensionsr   r   r   r   Ú<module>   s   3