ó
    pyüi_D  ã                  ó€  • S r SSKJr  / SQrSSKJrJr  SSKr\(       a  SSKJrJ	r	  SSK
JrJrJr   SSKr S+SSS.         S,S	 jjjrSS
.S-S jjr SSKr S+SS
.       S.S jjjrSS
.S-S jjr SSKJr   S+SS
.       S.S jjjrSS
.S-S jjrSS
.S/S jjr\SSSS.         S0S jj5       r\SSSS.         S1S jj5       rSSSS.         S2S jjr\SSSS.         S0S jj5       r\SSSS.         S1S jj5       rSSSS.         S2S  jjr\S/ S!.       S3S" jj5       r\S/ S!.       S4S# jj5       r\S/ S!.       S5S$ jj5       rS/ S!.       S6S% jjrSSSS&.             S7S' jjrSSSS&.           S8S( jjrSSS).       S9S* jjrg! \ a#     S+SSS.         S,S jjjrSS
.S-S jjr GN”f = f! \ a      S+SS
.       S.S jjjrSS
.S-S jjr GNœf = f! \ a      S+SS
.       S.S jjjrSS
.S-S jjr GN¢f = f):a   Fallback imagecodecs codecs.

This module provides alternative, pure Python and NumPy implementations of
some functions of the `imagecodecs`_ package. The functions may raise
`NotImplementedError`.

.. _imagecodecs: https://github.com/cgohlke/imagecodecs

é    )Úannotations)Úbitorder_decodeÚdelta_decodeÚdelta_encodeÚfloat24_decodeÚlzma_decodeÚlzma_encodeÚpackbits_decodeÚpackints_decodeÚpackints_encodeÚzlib_decodeÚzlib_encodeÚzstd_decodeÚzstd_encode)ÚTYPE_CHECKINGÚoverloadN)ÚAnyÚLiteral)Ú	ArrayLikeÚ	DTypeLikeÚNDArray)ÚcheckÚoutc              ó’   • AAA[        U [        R                  5      (       a  U R                  5       n [        R
                  " U 5      $ )zÉCompress LZMA.

Parameters:
    data: Data to compress.
    level: Compression level (currently unused).
    check: Integrity check type (currently unused).
    out: Output buffer (currently unused).

)Ú
isinstanceÚnumpyÚndarrayÚtobytesÚlzmaÚcompress)ÚdataÚlevelr   r   s       ÚR/home/mande/repo/quber/.venv/lib/python3.13/site-packages/tifffile/_imagecodecs.pyr	   r	   H   s6   € ð" �5˜#Ü�dœEŸM™M×*Ñ*Ø—<‘<“>ˆDÜ�}Š}˜TÓ"Ð"ó    ©r   c              ó0   • A[         R                  " U 5      $ )zeDecompress LZMA.

Parameters:
    data: Compressed data.
    out: Output buffer (currently unused).

)r   Ú
decompress©r!   r   s     r#   r   r   ^   ó   € ð Ü�Š˜tÓ$Ð$r$   c              ó   • A AAASSK ng©úRaise ImportError.r   Nr$   ©r   )r!   r"   r   r   r   s        r#   r	   r	   k   s   € ð �%˜ Ûàr$   c              ó   • A ASSK ngr+   r-   )r!   r   r   s      r#   r   r   y   ó   € à�#Ûàr$   c              ó    • A[        U [        R                  5      (       a  U R                  5       n [        R
                  " Xc  S5      $ U5      $ )z›Compress Zlib DEFLATE.

Parameters:
    data: Data to compress.
    level: Compression level (0-9, default 6).
    out: Output buffer (currently unused).

é   )r   r   r   r   Úzlibr    ©r!   r"   r   s      r#   r   r   „   s>   € ð Ü�dœEŸM™M×*Ñ*Ø—<‘<“>ˆDÜ�}Š}˜T© 1ÓAÐA¸5ÓAÐAr$   c              ó0   • A[         R                  " U 5      $ )zmDecompress Zlib DEFLATE.

Parameters:
    data: Compressed data.
    out: Output buffer (currently unused).

)r2   r'   r(   s     r#   r   r   ˜   r)   r$   c              ó   • A AASSK ngr+   ©r2   )r!   r"   r   r2   s       r#   r   r   ¦   s   € ð �%˜Ûàr$   c              ó   • A ASSK ngr+   r6   )r!   r   r2   s      r#   r   r   ³   r/   r$   ©Úzstdc              óŠ   • A[        U [        R                  5      (       a  U R                  5       n [        R
                  " XS9$ )z‚Compress ZSTD.

Parameters:
    data: Data to compress.
    level: Compression level.
    out: Output buffer (currently unused).

)r"   )r   r   r   r   r9   r    r3   s      r#   r   r   ¾   s2   € ð Ü�dœEŸM™M×*Ñ*Ø—<‘<“>ˆDÜ�}Š}˜TÑ/Ð/r$   c              ó0   • A[         R                  " U 5      $ )zeDecompress ZSTD.

Parameters:
    data: Compressed data.
    out: Output buffer (currently unused).

)r9   r'   r(   s     r#   r   r   Ò   r)   r$   c              ó   • A AASSK Jn  g©r,   r   r8   r$   ©Úcompressionr9   )r!   r"   r   r9   s       r#   r   r   ß   s   € ð �%˜Ý$àr$   c              ó   • A ASSK Jn  gr=   r>   )r!   r   r9   s      r#   r   r   ì   s   € à�#Ý$àr$   c              óü   • A/ nUR                   nSn  [        XUS-    5      S-   nUS-  nUS:”  a  U" XUS-    SU-
  -  5        US-  nOUS:  a  U" XX4-    5        X4-  nMO  ! [         a     Of = f[        U5      $ )aâ  Decompress PackBits encoded byte string.

Parameters:
    encoded: PackBits encoded byte string.
    out: Output buffer (currently unused).

Returns:
    Decompressed byte string.

Examples:
    >>> packbits_decode(b'\x80\x80')  # NOP
    b''
    >>> packbits_decode(b'\x02123')
    b'123'
    >>> packbits_decode(
    ...     b'\xfe\xaa\x02\x80\x00\x2a\xfd\xaa\x03\x80\x00\x2a\x22\xf7\xaa'
    ... )[:-5]
    b'\xaa\xaa\xaa\x80\x00*\xaa\xaa\xaa\xaa\x80\x00*"\xaa\xaa\xaa\xaa\xaa'

r   é   é�   i  )ÚextendÚordÚ	TypeErrorÚbytes)Úencodedr   Ú
out_extendÚiÚns        r#   r
   r
   ô   s­   € ð* 	Ø
€CØ—‘€JØ	€AðØÜ�G  A¡Ð&Ó'¨!Ñ+ˆAØ�‰FˆAØ�3‹wá˜7 q¨1¡uÐ-°°q±Ñ9Ô:Ø�Q‘‘Ø�S“á˜7 q¡uÐ-Ô.Ø‘�ñ øô ó Ùðúä�‹:Ðs   “AA# Á#
A0Á/A0éÿÿÿÿrB   )ÚaxisÚdistr   c              ó   • g ©N© ©r!   rM   rN   r   s       r#   r   r     ó   € ð r$   c              ó   • g rP   rQ   rR   s       r#   r   r   )  ó   € ð r$   c              óL  • AUS:w  a  SU< S3n[        U5      e[        U [        [        45      (       aa  [        R
                  " U [        R                  S9n [        R                  " U SS9n[        R                  " USU S   5      R                  5       $ U R                  nUR                  S:X  a*  U R                  UR                   SUR                   35      n [        R                  " XS9n[        S	5      /U R                   -  nSXq'   [        R                  " USU [#        U5         US9nU R                  R$                  (       d8  UR'                  S
S9nUR                  UR                  R)                  5       5      nUR                  S:X  a  UR                  U5      $ U$ )a|  Encode Delta.

Encode differences between consecutive samples along axis.

Parameters:
    data: Data to encode.
    axis: Axis along which to compute differences (default -1).
    dist: Distance between samples (only dist=1 is supported).
    out: Output buffer (currently unused).

Returns:
    Encoded data.
    Returns bytes for bytes/bytearray input, numpy array otherwise.

rB   zdelta_encode with dist=ú# requires the 'imagecodecs' package©Údtyper   )rM   ÚfÚuNT)Úinplace)ÚNotImplementedErrorr   rG   Ú	bytearrayr   Ú
frombufferÚuint8ÚdiffÚinsertr   rY   ÚkindÚviewÚ	byteorderÚitemsizeÚsliceÚndimÚtupleÚisnativeÚbyteswapÚnewbyteorder)r!   rM   rN   r   Úmsgra   rY   Úkeys           r#   r   r   /  sV  € ð. 	ØˆqƒyØ( 4¡'Ð)LÐMˆÜ! #Ó&Ð&Ü�$œ¤	Ð*×+Ñ+Ü×Ò ¬E¯K©KÑ8ˆÜ�zŠz˜$ QÑ'ˆÜ�|Š|˜D ! T¨!¡WÓ-×5Ñ5Ó7Ð7à�J‰J€EØ‡z�z�SÓØ�y‰y˜EŸO™OÐ,¨A¨e¯n©nÐ-=Ð>Ó?ˆÜ�:Š:�dÑ&€DÜ# D›k˜]¨T¯Y©YÑ6€CØ€C�IÜ�<Š<˜˜a ¤e¨C£jÑ!1¸Ñ=€DØ�:‰:××Ø�}‰} Tˆ}Ð*ˆØ�y‰y˜Ÿ™×0Ñ0Ó2Ó3ˆØ‡z�z�SÓØ�y‰y˜ÓÐØ€Kr$   c              ó   • g rP   rQ   rR   s       r#   r   r   ^  rS   r$   c              ó   • g rP   rQ   rR   s       r#   r   r   i  rU   r$   c              ó&  • US:w  a  SU< S3n[        U5      eUb  UR                  R                  (       d  Sn[        U [        [
        45      (       aV  [        R                  " U [        R                  S9n [        R                  " U S[        R                  US9R                  5       $ U R                  R                  S:X  a¯  U R                  R                  (       d  S	U R                  < S3n[        U5      eU R                  U R                  R                   S
U R                  R                    35      n[        R                  " XQUR                  S9nUR                  U R                  5      $ [        R                  " XU R                  US9$ )a}  Decode Delta.

Decode delta-encoded data by computing cumulative sum along axis.

Parameters:
    data: Encoded data.
    axis: Axis along which to compute cumulative sum (default -1).
    dist: Distance between samples (only dist=1 is supported).
    out: Output buffer for results.

Returns:
    Decoded data.
    Returns bytes for bytes/bytearray input, numpy array otherwise.

rB   zdelta_decode with dist=rW   NrX   r   )rM   rY   r   rZ   zdelta_decode with r[   )rM   rY   )r]   ÚflagsÚ	writeabler   rG   r^   r   r_   r`   Úcumsumr   rY   rc   rj   rd   re   rf   )r!   rM   rN   r   rm   rd   s         r#   r   r   o  s@  € ð. ˆqƒyØ( 4¡'Ð)LÐMˆÜ! #Ó&Ð&Ø
�˜sŸy™y×2×2ØˆÜ�$œ¤	Ð*×+Ñ+Ü×Ò ¬E¯K©KÑ8ˆÜ�|Š|Ø�q¤§¡°ñ
ç
‰'‹)ð	ð ‡z�z‡�˜#ÓØ�z‰z×"×"à$ T§Z¡Z¡Nð 35ð 5ð ô & cÓ*Ð*Ø�y‰y˜DŸJ™J×0Ñ0Ð1°°4·:±:×3FÑ3FÐ2GÐHÓIˆÜ�|Š|˜D°4·:±:Ñ>ˆØ�y‰y˜Ÿ™Ó$Ð$Ü�<Š<Ø˜tŸz™z¨sñð r$   )r   Ú	_bitorderc              ó   • g rP   rQ   ©r!   r   ru   s      r#   r   r   Ÿ  s   € ð r$   c              ó   • g rP   rQ   rw   s      r#   r   r   ©  s   € ð r$   c              ó   • g rP   rQ   rw   s      r#   r   r   ³  s   € ð r$   c              ó”  • AU(       dF  UR                  S5        UR                  [        R                  " US   [        R                  S95        [	        U [
        [        45      (       a  U R                  US   5      $  U R                  S5      n[        R                  " US   X3S9  U $ ! [         a  nSn[        U5      UeSnAff = f)	a�  Reverse bits in each byte of bytes or numpy array.

Decode data where pixels with lower column values are stored in the
lower-order bits of the bytes (TIFF FillOrder is LSB2MSB).

Parameters:
    data:
        Data to be bit-reversed.
        If bytes type, a new bit-reversed bytes is returned.
        NumPy arrays are bit-reversed in-place.
    out:
        Output buffer (currently unused).
    _bitorder:
        Internal caching parameter (not for public use).

Examples:
    >>> bitorder_decode(b'\x01\x64')
    b'\x80&'
    >>> data = numpy.array([1, 666], dtype='uint16')
    >>> _ = bitorder_decode(data)
    >>> data
    array([  128, 16473], dtype=uint16)

s    €@À  `à�PÐ0°pðˆHÈ(¨hè˜XØ8¸xø„DÄ$¤dä”TÔ4´tôŒLÌ,¬lìœ\Ü<¼|ü‚BÂ"¢bâ’RÒ2²rò
ŠJÊ*ªjêšZÚ:ºzú†FÆ&¦fæ–VÖ6¶vöŽNÎ.®nîž^Þ>¾~þ�AÁ!¡aá‘QÑ1±qñ	‰IÉ)©ié™YÙ9¹yù…EÅ%¥eå•UÕ5µuõ�MÍ-­mí�]Ý=½}ýƒCÃ#£cã“SÓ3³só‹KË+«kë›[Û;»{û‡GÇ'§gç—W×7·w÷�OÏ/¯oïŸ_ß?¿ÿr   rX   r`   rB   r%   z<bitorder_decode of slices requires the 'imagecodecs' packageN)Úappendr   r_   r`   r   rG   r^   Ú	translaterd   ÚtakeÚ
ValueErrorr]   )r!   r   ru   rd   Úexcrm   s         r#   r   r   ½  s·   € ð> 	ÞØ×Ñð!ô	
ð  	×Ñœ×)Ò)¨)°A©,¼e¿k¹kÑJÔKÜ�$œ¤	Ð*×+Ñ+Ø�~‰~˜i¨™lÓ+Ð+ð0Ø�y‰y˜Ó!ˆÜ�
Š
�9˜Q‘< Ò0ð €Køô ó 0ØLˆÜ! #Ó&¨CÐ/ûð0ús   Á?)B* Â*
CÂ4CÃC)ÚbitorderÚrunlenr   c              ót  • AAUS:X  a„  [         R                  " U S5      n[         R                  " U5      nUS:”  a@  US-  (       a6  UR                  SUSUS-  -
  -   45      nUSS2SU24   R                  S5      nUR	                  U5      $ US;   a  [         R                  " X5      $ SU S	3n[        U5      e)
a–  Decompress bytes to array of integers.

This implementation only handles itemsizes 1, 8, 16, 32, and 64 bits.
Install the Imagecodecs package for decoding other integer sizes.

Parameters:
    data:
        Data to decompress.
    dtype:
        Numpy boolean or integer type.
    bitspersample:
        Number of bits per integer.
    bitorder:
        Bit order (currently unused).
    runlen:
        Number of consecutive integers after which to start at next byte.
    out:
        Output buffer (currently unused).

Returns:
    Array of unpacked integers.

Examples:
    >>> packints_decode(b'a', 'B', 1)
    array([0, 1, 1, 0, 0, 0, 0, 1], dtype=uint8)

rB   z|Br   é   rL   N)rƒ   é   é    é@   zpackints_decode of z0-bit integers requires the 'imagecodecs' package)r   r_   Ú
unpackbitsÚreshapeÚastyper]   )r!   rY   Úbitspersampler€   r�   r   Ú
data_arrayrm   s           r#   r   r   ú  sÍ   € ðJ 	�#Ø˜ÓÜ×%Ò% d¨DÓ1ˆ
Ü×%Ò% jÓ1ˆ
Ø�A‹:˜& 1Ÿ*Ø#×+Ñ+¨R°¸1¸vÈ¹z¹>Ñ1JÐ,KÓLˆJØ#¢A w¨ w JÑ/×7Ñ7¸Ó;ˆJØ× Ñ  Ó'Ð'Ø˜Ó'Ü×Ò Ó,Ð,à
˜m˜_ð --ð 	-ð ô ˜cÓ
"Ð"r$   c              ó   • Sn[        U5      e)aU  Tightly pack integers.

Parameters:
    data:
        Array of integers to pack.
    bitspersample:
        Number of bits per integer.
    bitorder:
        Bit order (currently unused).
    runlen:
        Number of consecutive integers after which to start at next byte.
    out:
        Output buffer.

Returns:
    Packed byte string.

z2packints_encode requires the 'imagecodecs' package©r]   )r!   rŠ   r€   r�   r   rm   s         r#   r   r   0  s   € ð6 ?€CÜ
˜cÓ
"Ð"r$   )re   r   c              ó   • Sn[        U5      e)zùReturn float32 array from float24.

Parameters:
    data: Bytes containing float24 values.
    byteorder: Byte order, either '>' (big-endian) or '<' (little-endian).
    out: Output buffer (currently unused).

Returns:
    Array of float32 values.

z1float24_decode requires the 'imagecodecs' packager�   )r!   re   r   rm   s       r#   r   r   O  s   € ð$ >€CÜ
˜cÓ
"Ð"r$   rP   )
r"   ú
int | Noner!   úbytes | NDArray[Any]r   r�   r   r   ÚreturnrG   )r!   rG   r   r   r‘   rG   )r"   r�   r!   r�   r   r   r‘   rG   )rH   rG   r   r   r‘   rG   )
r!   úbytes | bytearrayrM   ÚintrN   r“   r   r   r‘   rG   )
r!   úNDArray[Any]rM   r“   rN   r“   r   r   r‘   r”   )
r!   ú bytes | bytearray | NDArray[Any]rM   r“   rN   r“   r   r   r‘   r�   )r!   r^   r   r   ru   ú	list[Any]r‘   r^   )r!   rG   r   r   ru   r–   r‘   rG   )r!   r”   r   r   ru   r–   r‘   r”   )r!   r•   r   r   ru   r–   r‘   r•   )r!   rG   rY   zDTypeLike | NonerŠ   r“   r€   ú
str | Noner�   r“   r   r   r‘   r”   )r!   r   rŠ   r“   r€   r—   r�   r“   r   r   r‘   r’   )r!   rG   re   zLiteral['>', '<'] | Noner   r   r‘   r”   ) Ú__doc__Ú
__future__r   Ú__all__Útypingr   r   r   r   r   Únumpy.typingr   r   r   r   r	   r   ÚImportErrorr2   r   r   r?   r9   r   r   r
   r   r   r   r   r   r   rQ   r$   r#   Ú<module>rž      s»  ðñ@õ #ò€÷  +ã æß#ç:Ñ:ð9Ûð
 !ð#ð
 !Øñ#ð ð#Ø"ð#ð
 ð#ð ð#ð 
ö#ð, 37÷ 	%ðF7Ûð
 !ðBð
 ñBð ðBØ"ðBð
 ðBð 
öBð( 37÷ 	%ðF6Ý ð
 !ð0ð
 ñ0ð ð0Ø"ð0ð
 ð0ð 
ö0ð( 37÷ 	%ðD 6:÷ 'ðT 
ð
 ØØñØ
ðð ð	ð
 ðð 
ðð ôó 
ðð 
à*,¸!ÈñØ
ðØ$'ðØ47ðØBEðàôó 
ðð ØØñ,Ø
*ð,ð ð	,ð
 ð,ð 
ð,ð õ,ð^ 
ð
 ØØñØ
ðð ð	ð
 ðð 
ðð ôó 
ðð 
à*,¸!ÈñØ
ðØ$'ðØ47ðØBEðàôó 
ðð ØØñ-Ø
*ð-ð ð	-ð
 ð-ð 
ð-ð õ-ð` 
ð
 ØñØ
ðð 
ð	ð
 ðð ôó 
ðð 
ð
 ØñØ
ðð 
ð	ð
 ðð ôó 
ðð 
ð
 ØñØ
ðð 
ð	ð
 ðð ôó 
ðð Øñ:Ø
*ð:ð 
ð	:ð
 ð:ð &õ:ðF  ØØñ3#Ø
ð3#àð3#ð ð3#ð ð3#ð ð3#ð 
ð3#ð õ3#ðv  ØØñ#Ø
ð#àð#ð
 ð#ð ð#ð 
ð#ð õ#ðF +/Øñ#Ø
ð#ð (ð	#ð
 
ð#ð ö#øðM ó ð
 !ðð
 !Øñð ðØ"ðð
 ðð ðð 
öð 37÷ ò ð!ûðt ó ð !ðð
 ñð ðØ"ðð
 ðð 
öð 37÷ ò ð!ûðt ó ð
 !ðð
 ñð ðØ"ðð
 ðð 
öð 37÷ ò ðús5   ³#G Á G. Á8"H Ç%G+Ç*G+Ç."HÈHÈ"H=È<H=