+
    UBi$                    2   ^ RI Ht ^ RIt^ RIt^RIHtHt R R lt ! R R]P                  4      t ! R R	]P                  4      t
]P                  ! ]P                  ]]4       ]P                  ! R
]
4       ]P                  ! ]P                  RR.4       R# )    )annotationsN)Image	ImageFilec                    V ^8  d   QhRRRR/# )   prefixbytesreturnbool )formats   "8/usr/lib/python3.14/site-packages/PIL/FitsImagePlugin.py__annotate__r      s     ( (E (d (    c                $    V P                  R 4      # )   SIMPLE)
startswith)r   s   &r   _acceptr      s    Y''r   c                  B    ] tR t^tRtRtR R ltR R ltR R ltRt	R	# )
FitsImageFileFITSc                   V ^8  d   QhRR/# )r   r
   Noner   )r   s   "r   r   FitsImageFile.__annotate__   s     +V +Vt +Vr   c                	   V P                   f   Q h/ pRpRp V P                   P                  ^P4      pV'       g   Rp\        V4      hVR,          P                  4       pVR9   d   RpMV'       d   V'       g   EMVR8X  dv   V P                   P	                  \
        P                  ! V P                   P                  4       R,          4      R,          4       V'       g   V P                  V4      w  r7pRpK  V'       d   K  VR,          P                  R	4      ^ ,          P                  4       p	V	P                  R
4      '       d   V	R,          P                  4       p	V'       g&   \        V4      '       d   V	R8w  d   Rp\        V4      hWV&   EKy  V'       g   Rp\        V4      hXV P                   P                  4       ^P,
          ,          p\        P                  ! VRV P                   ,           VX4      .V n        R # )NF TzTruncated FITS file:N   Ns   ENDi@  :r   NN   /   =:   NN   TzNot a FITS filezNo image data)r      XTENSIONr   r   )fpreadOSErrorstripseekmathceiltell_parse_headerssplitr   r   SyntaxError
ValueErrorr   _Tilesizetile)
selfheadersheader_in_progressdecoder_nameheadermsgkeywordoffsetargsvalues
   &         r   _openFitsImageFile._open   s   ww"""&("WW\\"%F+cl"Rj&&(G22%)"!3F"TYYtww||~'<=DE#151D1DW1M.L$%*"2J$$T*1-335E%%b	)GG$4$4'!#&&$G!CS/!$'',,.2%%__\6DII3EvtTU	r   c               $    V ^8  d   QhRRRRRR/# )r   r4   dict[bytes, bytes]r   r	   r
   ztuple[int, int] | Noner   )r   s   "r   r   r   H   s)     
V 
V)
V38
V	
Vr   c                	    \        WR ,           ,          4      pV^ 8X  d   R# V^8X  d   ^\        WR,           ,          4      3# \        WR,           ,          4      \        WR,           ,          4      3# )s   NAXISNs   NAXIS1s   NAXIS2)int)r3   r4   r   naxiss   &&& r   	_get_sizeFitsImageFile._get_sizeH   sd     GX-./A:A:c'9"45666w	123S)AS9T5UUUr   c                    V ^8  d   QhRRRR/# )r   r4   r@   r
   z&tuple[str, int, tuple[str | int, ...]]r   )r   s   "r   r   r   T   s     '* '*)'*	/'*r   c                	R   R pRp^ pVP                  R4      R8X  d{   VP                  R4      R8X  de   VR,          R8X  dW   V P                  W4      ;'       g    Rp\        VR,          4      pV^ ,          V^,          ,          V^,          ,          pR	pR
pV P                  W4      pV'       g   R# Wpn        \        WR,           ,          4      pV^8X  d	   RV n        M,V^8X  d	   RV n        MV^ 8X  d	   RV n        MVR9   d   RV n        VR8X  d   V P
                  ^ R3pMV3pW4V3# )r   rawr"   s
   'BINTABLE's   ZIMAGEr!   s   ZCMPTYPEs
   'GZIP_1  's   BITPIX   Z	fits_gzipLzI;16IFr#   )r   r   r   )ii)getrD   rB   _size_modemode)	r3   r4   r   r6   r:   no_prefix_sizenumber_of_bitsr1   r;   s	   &&       r   r,   FitsImageFile._parse_headersT   s'    KK$5I&$.$5!^^G<FFN !34N#A&)::nPQ>QRFF&L~~g.
Wi%789QDJr!DJr!DJz)DJ 5 IIq"%D"$DT))r   )rQ   rP   r2   N)
__name__
__module____qualname____firstlineno__r   format_descriptionr=   rD   r,   __static_attributes__r   r   r   r   r      s$    F+VZ
V'* '*r   r   c                  &    ] tR t^~tRtR R ltRtR# )FitsGzipDecoderTc                    V ^8  d   QhRRRR/# )r   bufferz$bytes | Image.SupportsArrayInterfacer
   ztuple[int, int]r   )r   s   "r   r   FitsGzipDecoder.__annotate__   s      A o r   c           
     	x   V P                   f   Q h\        P                  ! V P                   P                  4       4      p. p^ p\	        V P
                  ^ ,          ^,          ^4      p\        V P                  P                  4       Fm  p\        4       p\        V P                  P                  4       F,  pWrV^V,
          ,           V^,            ,          pV^,          pK.  	  VP                  V4       Ko  	  T P                  \        VR R R1,           UU	u. uF  qw F  qNK  	  K  	  up	p4      4       R# u up	pi )NrN   )rN   r   )fdgzip
decompressr%   minr;   rangestateysize	bytearrayxsizeappend
set_as_rawr	   )
r3   r_   r<   rowsr:   rT   yrowxpixels
   &&        r   decodeFitsGzipDecoder.decode   s    ww"""/TYYq\Q.2tzz''(A+C4::++,Vq>'9:VaZHH! - KK ) 	TrT
L
uuu
LMN Ms   D6r   N)rV   rW   rX   rY   	_pulls_fdrr   r[   r   r   r   r]   r]   ~   s    I r   r]   rJ   z.fitz.fits)
__future__r   rc   r)   r   r   r   r   r   	PyDecoderr]   register_openr   register_decoderregister_extensionsr   r   r   <module>rz      s    #   (d*I'' d*Ni)) .   M((- A   {O 4   -..0A Br   