§
    yØjs*  ã            	      ó  — U d dl mZ ddhZd dlZd dlZd dlZd dlZd dlZddlm	Z	 dZ
e
rd dlmZ d	d
dddddœZd9d„Zd:d„Zd;d„ZdddddœZd9d„Zd:d„Zd;d „Zd!d"d#d$d%d&d'd(d)œZd*ed+<   d<d-„Zd:d.„Zd;d/„Zd<d0„Zd:d1„Zd;d2„Zd=d>d8„ZdS )?é    )ÚannotationsÚcollectionsÚwarningsNé   )ÚImageF)ÚIO)úPIL._imagingÚPILLOW_VERSION)zPIL._tkinter_finderÚ
tk_version)úPIL._imagingftÚfreetype2_version)zPIL._imagingcmsÚlittlecms_version)z	PIL._webpÚwebpdecoder_version)z	PIL._avifÚlibavif_version)ÚpilÚtkinterÚ	freetype2Ú
littlecms2ÚwebpÚavifÚfeatureÚstrÚreturnÚboolc                ó
  — | t           vrd| › �}t          |¦  «        ‚t           |          \  }}	 t          |¦  «         dS # t          $ r Y dS t          $ r,}t          j        t          |¦  «        ¦  «         Y d}~dS d}~ww xY w)zâ
    Checks if a module is available.

    :param feature: The module to check for.
    :returns: ``True`` if available, ``False`` otherwise.
    :raises ValueError: If the module is not defined in this version of Pillow.
    zUnknown module TFN)ÚmodulesÚ
ValueErrorÚ
__import__ÚModuleNotFoundErrorÚImportErrorr   Úwarnr   )r   ÚmsgÚmoduleÚverÚexs        ú�/Users/tedpeters/Documents/Projects/Claude Projects/Misc Tools/notename-sheets/.venv/lib/python3.11/site-packages/PIL/features.pyÚcheck_moduler'      s©   € ð •gÐÐØ) Ð)Ð)ˆÝ˜‰oŒoÐå˜'Ô"�K€FˆCðÝ�6ÑÔÐØˆtøÝð ð ð ØˆuˆuÝð ð ð ÝŒ•c˜"‘g”gÑÔÐØˆuˆuˆuˆuˆuøøøøðøøøs   ¯A  Á 
BÁ	BÁ!A=Á=Bú
str | Nonec                ó„   — t          | ¦  «        sdS t          |          \  }}t          t          ||g¬¦  «        |¦  «        S )zè
    :param feature: The module to check for.
    :returns:
        The loaded version number as a string, or ``None`` if unknown or not available.
    :raises ValueError: If the module is not defined in this version of Pillow.
    N©Úfromlist)r'   r   Úgetattrr   )r   r#   r$   s      r&   Úversion_moduler-   3   sF   € õ ˜Ñ Ô ð Øˆtå˜'Ô"�K€FˆCå•:˜f°¨uÐ5Ñ5Ô5°sÑ;Ô;Ð;ó    ú	list[str]c                 ó$   — d„ t           D ¦   «         S )z4
    :returns: A list of all supported modules.
    c                ó0   — g | ]}t          |¦  «        ¯|‘ŒS © )r'   ©Ú.0Úfs     r&   ú
<listcomp>z)get_supported_modules.<locals>.<listcomp>F   s#   € Ð2Ð2Ð2�!¥,¨q¡/¤/Ð2ˆAÐ2Ð2Ð2r.   )r   r2   r.   r&   Úget_supported_modulesr7   B   s   € ð 3Ð2•wÐ2Ñ2Ô2Ð2r.   )ÚjpegÚjpeglib)Újpeg2kÚjp2klib)ÚzipÚzlib)Úlibtiffr>   )ÚjpgÚjpg_2000r=   r>   c                ó˜   — | t           vrd| › �}t          |¦  «        ‚t           |          \  }}|› d�t          t          j        ¦  «        v S )zß
    Checks if a codec is available.

    :param feature: The codec to check for.
    :returns: ``True`` if available, ``False`` otherwise.
    :raises ValueError: If the codec is not defined in this version of Pillow.
    zUnknown codec Ú_encoder)Úcodecsr   Údirr   Úcore)r   r"   ÚcodecÚlibs       r&   Úcheck_codecrH   Q   sQ   € ð •fÐÐØ(˜wÐ(Ð(ˆÝ˜‰oŒoÐå˜”�J€Eˆ3àÐÐÐ¥¥U¤Z¡¤Ð0Ð0r.   c                óö   — t          | ¦  «        sdS t          |          \  }}t          t          j        |› d�¦  «        }| dk    r4|                     d¦  «        d                              d¦  «        d         S |S )a  
    :param feature: The codec to check for.
    :returns:
        The version number as a string, or ``None`` if not available.
        Checked at compile time for ``jpg``, run-time otherwise.
    :raises ValueError: If the codec is not defined in this version of Pillow.
    NÚ_versionr>   ú
r   zVersion r   )rH   rC   r,   r   rE   Úsplit)r   rF   rG   Úversions       r&   Úversion_codecrN   b   sz   € õ �wÑÔð Øˆtå˜”�J€Eˆ3å•e”j SÐ"2Ð"2Ð"2Ñ3Ô3€Gà�)ÒÐØ�}Š}˜TÑ"Ô" 1Ô%×+Ò+¨JÑ7Ô7¸Ô:Ð:à€Nr.   c                 ó$   — d„ t           D ¦   «         S )z3
    :returns: A list of all supported codecs.
    c                ó0   — g | ]}t          |¦  «        ¯|‘ŒS r2   )rH   r3   s     r&   r6   z(get_supported_codecs.<locals>.<listcomp>{   s#   € Ð0Ð0Ð0�!¥¨Q¡¤Ð0ˆAÐ0Ð0Ð0r.   )rC   r2   r.   r&   Úget_supported_codecsrQ   w   s   € ð 1Ð0•vÐ0Ñ0Ô0Ð0r.   )r   Ú	HAVE_RAQMÚraqm_version)r   ÚHAVE_FRIBIDIÚfribidi_version)r   ÚHAVE_HARFBUZZÚharfbuzz_version)r	   ÚHAVE_LIBJPEGTURBOÚlibjpeg_turbo_version)r	   ÚHAVE_MOZJPEGrY   )r	   ÚHAVE_ZLIBNGÚzlib_ng_version)r	   ÚHAVE_LIBIMAGEQUANTÚimagequant_version)r	   ÚHAVE_XCBN)ÚraqmÚfribidiÚharfbuzzÚlibjpeg_turboÚmozjpegÚzlib_ngÚlibimagequantÚxcbz&dict[str, tuple[str, str, str | None]]Úfeaturesúbool | Nonec                ó.  — | t           vrd| › �}t          |¦  «        ‚t           |          \  }}}	 t          |dg¬¦  «        }t          ||¦  «        S # t          $ r Y dS t
          $ r,}t          j        t          |¦  «        ¦  «         Y d}~dS d}~ww xY w)zÿ
    Checks if a feature is available.

    :param feature: The feature to check for.
    :returns: ``True`` if available, ``False`` if unavailable, ``None`` if unknown.
    :raises ValueError: If the feature is not defined in this version of Pillow.
    zUnknown feature ÚPILr*   N)	rh   r   r   r,   r   r    r   r!   r   )r   r"   r#   Úflagr$   Úimported_moduler%   s          r&   Úcheck_featurern   Š   s½   € ð •hÐÐØ* Ð*Ð*ˆÝ˜‰oŒoÐå  Ô)Ñ€FˆD�#ðÝ$ V°u°gÐ>Ñ>Ô>ˆÝ�¨Ñ-Ô-Ð-øÝð ð ð ØˆtˆtÝð ð ð ÝŒ•c˜"‘g”gÑÔÐØˆtˆtˆtˆtˆtøøøøðøøøs   °!A Á
BÁ	BÁ(!BÂBc                óŽ   — t          | ¦  «        sdS t          |          \  }}}|€dS t          t          ||g¬¦  «        |¦  «        S )zÐ
    :param feature: The feature to check for.
    :returns: The version number as a string, or ``None`` if not available.
    :raises ValueError: If the feature is not defined in this version of Pillow.
    Nr*   )rn   rh   r,   r   )r   r#   rl   r$   s       r&   Úversion_featurerp   ¢   sS   € õ ˜Ñ!Ô!ð Øˆtå  Ô)Ñ€FˆD�#à
€{Øˆtå•:˜f°¨uÐ5Ñ5Ô5°sÑ;Ô;Ð;r.   c                 ó$   — d„ t           D ¦   «         S )z5
    :returns: A list of all supported features.
    c                ó0   — g | ]}t          |¦  «        ¯|‘ŒS r2   )rn   r3   s     r&   r6   z*get_supported_features.<locals>.<listcomp>·   s%   € Ð4Ð4Ð4�!¥=°Ñ#3Ô#3Ð4ˆAÐ4Ð4Ð4r.   )rh   r2   r.   r&   Úget_supported_featuresrs   ³   s   € ð 5Ð4•xÐ4Ñ4Ô4Ð4r.   c                óÊ   — | t           v rt          | ¦  «        S | t          v rt          | ¦  «        S | t          v rt          | ¦  «        S t          j        d| › d�d¬¦  «         dS )z²
    :param feature: A module, codec, or feature name.
    :returns:
        ``True`` if the module, codec, or feature is available,
        ``False`` or ``None`` otherwise.
    zUnknown feature 'z'.é   )Ú
stacklevelF)r   r'   rC   rH   rh   rn   r   r!   ©r   s    r&   Úcheckrx   º   su   € ð •'ÐÐÝ˜GÑ$Ô$Ð$Ø•&ÐÐÝ˜7Ñ#Ô#Ð#Ø•(ÐÐÝ˜WÑ%Ô%Ð%Ý„MÐ1 gÐ1Ð1Ð1¸aÐ@Ñ@Ô@Ð@Øˆ5r.   c                ó–   — | t           v rt          | ¦  «        S | t          v rt          | ¦  «        S | t          v rt          | ¦  «        S dS )z¬
    :param feature:
        The module, codec, or feature to check for.
    :returns:
        The version number as a string, or ``None`` if unknown or not available.
    N)r   r-   rC   rN   rh   rp   rw   s    r&   rM   rM   Ì   sT   € ð •'ÐÐÝ˜gÑ&Ô&Ð&Ø•&ÐÐÝ˜WÑ%Ô%Ð%Ø•(ÐÐÝ˜wÑ'Ô'Ð'Øˆ4r.   c                 ó¦   — t          ¦   «         } |                      t          ¦   «         ¦  «         |                      t          ¦   «         ¦  «         | S )zJ
    :returns: A list of all supported modules, features, and codecs.
    )r7   Úextendrs   rQ   )Úrets    r&   Úget_supportedr}   Ü   sF   € õ
  Ñ
!Ô
!€CØ‡J‚JÕ%Ñ'Ô'Ñ(Ô(Ð(Ø‡J‚JÕ#Ñ%Ô%Ñ&Ô&Ð&Ø€Jr.   TÚoutúIO[str] | NoneÚsupported_formatsÚNonec                óJ
  — | €t           j        } t          j        ¦   «          t	          d| ¬¦  «         t	          dt
          j        › �| ¬¦  «         t           j                             ¦   «         }t	          d|d          	                    ¦   «         › �| ¬¦  «         |dd…         D ](}t	          d| 	                    ¦   «         › �| ¬¦  «         Œ)t	          d| ¬¦  «         t	          d	t           j
        pd
› �| ¬¦  «         t           j        t           j        k    rt	          dt           j        › �| ¬¦  «         t	          dt           j        › �| ¬¦  «         t	          d| ¬¦  «         t	          dt          j                             t          j        ¦  «        › �| ¬¦  «         t	          dt          j                             t          j        j        ¦  «        › �| ¬¦  «         t	          d| ¬¦  «         dD �]!\  }}t%          |¦  «        rùd}|dk    r,t'          d¦  «        }|�t)          d¦  «        rdnd}|d|z   z  }|€t          |¦  «        }|��|dv }|dk    r0t+          d„ |                     d¦  «        D ¦   «         ¦  «        dk     }|rdnd}	|dk    rt'          d¦  «        }
|
�|d|
z   z  }n'|dk    r!d D ]}t'          |¦  «        }|�|d!|› d|› �z  }Œt	          d"|d#|	|| ¬¦  «         Œùt	          d"|d$| ¬¦  «         �Œt	          d%|d&| ¬¦  «         �Œ#t	          d| ¬¦  «         |�röt/          j        t2          ¦  «        }t          j                             ¦   «         D ] \  }}||                              |¦  «         Œ!t;          t          j        ¦  «        D �]…}|› }|t          j        v r|› dt          j        |         › �}t	          || ¬¦  «         ||v rJt	          d'                      d! !                    t;          ||         ¦  «        ¦  «        ¦  «        | ¬¦  «         g }|t          j"        v r|                     d(¦  «         |t          j#        v r|                     d)¦  «         |t          j$        v r|                     d*¦  «         |t          j%        v r|                     d+¦  «         |t          j&        v r|                     d,¦  «         t	          d-                      d! !                    |¦  «        ¦  «        | ¬¦  «         t	          d| ¬¦  «         �Œ…dS dS ).a  
    Prints information about this installation of Pillow.
    This function can be called with ``python3 -m PIL``.
    It can also be called with ``python3 -m PIL.report`` or ``python3 -m PIL --report``
    to have "supported_formats" set to ``False``, omitting the list of all supported
    image file formats.

    :param out:
        The output stream to print to. Defaults to ``sys.stdout`` if ``None``.
    :param supported_formats:
        If ``True``, a list of all supported image file formats will be printed.
    NzD--------------------------------------------------------------------)ÚfilezPillow zPython r   r   z       zPython executable is Úunknownz%Environment Python files loaded from z System Python files loaded from z"Python Pillow modules loaded from z"Binary Pillow modules loaded from ))r   zPIL CORE)r   ÚTKINTER)r   Ú	FREETYPE2)r   Ú
LITTLECMS2)r   ÚWEBP)r   ÚAVIF)r?   ÚJPEG)r@   zOPENJPEG (JPEG2000))r=   zZLIB (PNG/ZIP))r>   ÚLIBTIFF)r`   zRAQM (Bidirectional Text))rf   z#LIBIMAGEQUANT (Quantization method))rg   zXCB (X protocol)r?   rc   rd   zlibjpeg-turboú )r   r?   r   c              3  ó4   K  — | ]}t          |¦  «        V — Œd S )N)Úint)r4   Úxs     r&   ú	<genexpr>zpilinfo.<locals>.<genexpr>,  s(   è è € Ð*HÐ*H°a­3¨q©6¬6Ð*HÐ*HÐ*HÐ*HÐ*HÐ*Hr.   ú.)ru   é   zcompiled forÚloadedr=   re   z, compiled for zlib-ng r`   )ra   rb   z, z---zsupport ok,z
support okz***zsupport not installedzExtensions: {}ÚopenÚsaveÚsave_allÚdecodeÚencodezFeatures: {})'ÚsysÚstdoutr   ÚinitÚprintrk   Ú__version__rM   Ú
splitlinesÚstripÚ
executableÚprefixÚbase_prefixÚosÚpathÚdirnameÚ__file__rE   rx   rp   rn   ÚtuplerL   r   ÚdefaultdictÚlistÚ	EXTENSIONÚitemsÚappendÚsortedÚIDÚMIMEÚformatÚjoinÚOPENÚSAVEÚSAVE_ALLÚDECODERSÚENCODERS)r~   r€   Úpy_version_linesÚ
py_versionÚnamer   ÚvrY   Úversion_staticÚtr\   r5   Úv2Ú
extensionsÚextÚiÚlinerh   s                     r&   ÚpilinforÂ   ç   s|  € ð €{ÝŒjˆå	„J�L„L€Lå	ˆ(˜ÐÑÔÐÝ	Ð
%•C”OÐ
%Ð
%¨CÐ0Ñ0Ô0Ð0Ý”{×-Ò-Ñ/Ô/ÐÝ	Ð
1Ð$ QÔ'×-Ò-Ñ/Ô/Ð
1Ð
1¸Ð<Ñ<Ô<Ð<Ø& q r rÔ*ð 8ð 8ˆ
ÝÐ,˜
×(Ò(Ñ*Ô*Ð,Ð,°3Ð7Ñ7Ô7Ð7Ð7Ý	ˆ(˜ÐÑÔÐÝ	Ð
?¥#¤.Ð"=°IÐ
?Ð
?ÀcÐJÑJÔJÐJÝ
„z•S”_Ò$Ð$ÝÐBµc´jÐBÐBÈÐMÑMÔMÐMÝ	Ð
>­S¬_Ð
>Ð
>ÀSÐIÑIÔIÐIÝ	ˆ(˜ÐÑÔÐÝ	ØN­R¬W¯_ª_½U¼^Ñ-LÔ-LÐNÐNØðñ ô ð õ 
ØS­R¬W¯_ª_½U¼ZÔ=PÑ-QÔ-QÐSÐSØðñ ô ð õ 
ˆ(˜ÐÑÔÐðð +Eñ +E‰ˆˆgõ �‰;Œ;ð 	EØ ˆAØ�uŠ}ˆ}Ý(7¸Ñ(HÔ(HÐ%Ø(Ð4Ý%2°9Ñ%=Ô%=ÐR˜	˜	À?�AØ˜Ð4Ñ4Ñ4�AØˆyÝ˜D‘M”M�Øˆ}Ø!%¨Ð!7�Ø˜<Ò'Ð'å%*Ð*HÐ*H¸1¿7º7À3¹<¼<Ð*HÑ*HÔ*HÑ%HÔ%HÈ6Ò%Q�NØ&4ÐB�N�N¸(�Ø˜6’>�>Ý&5°iÑ&@Ô&@�OØ&Ð2ØÐ6¸ÑHÑH˜øØ˜V’^�^Ø4ð /ð /˜Ý,¨QÑ/Ô/˜Ø˜>Ø  a  ¨"  Ñ.˜AøÝ�e˜W m°Q¸ÀÐDÑDÔDÐDÐDå�e˜W l¸Ð=Ñ=Ô=Ð=Ñ=å�%˜Ð"9ÀÐDÑDÔDÐDÑDÝ	ˆ(˜ÐÑÔÐàñ &Ý Ô,­TÑ2Ô2ˆ
Ý”o×+Ò+Ñ-Ô-ð 	&ð 	&‰FˆC�Ø�qŒM× Ò  Ñ%Ô%Ð%Ð%å�œÑ!Ô!ð 	&ñ 	&ˆAØ�6ˆDØ•E”JˆˆØÐ0Ð0¥¤¨A¤Ð0Ð0�Ý�$˜SÐ!Ñ!Ô!Ð!à�JˆˆÝØ$×+Ò+¨D¯IªIµf¸ZÈ¼]Ñ6KÔ6KÑ,LÔ,LÑMÔMÐTWðñ ô ð ð ˆHØ•E”JˆˆØ—’ Ñ'Ô'Ð'Ø•E”JˆˆØ—’ Ñ'Ô'Ð'Ø•E”NÐ"Ð"Ø—’ 
Ñ+Ô+Ð+Ø•E”NÐ"Ð"Ø—’ Ñ)Ô)Ð)Ø•E”NÐ"Ð"Ø—’ Ñ)Ô)Ð)å�.×'Ò'¨¯	ª	°(Ñ(;Ô(;Ñ<Ô<À3ÐGÑGÔGÐGÝ�( Ð%Ñ%Ô%Ð%Ñ%ð;&ð &ð
	&ð 	&r.   )r   r   r   r   )r   r   r   r(   )r   r/   )r   r   r   ri   )NT)r~   r   r€   r   r   r�   )Ú
__future__r   Ú__lazy_modules__r   r£   r™   r   rk   Ú r   ÚTYPE_CHECKINGÚtypingr   r   r'   r-   r7   rC   rH   rN   rQ   rh   Ú__annotations__rn   rp   rs   rx   rM   r}   rÂ   r2   r.   r&   ú<module>rÉ      s  ðØ "Ð "Ð "Ð "Ð "Ð "Ð "à! :Ð.Ð à Ð Ð Ð Ø 	€	€	€	Ø 
€
€
€
Ø €€€à 
€
€
€
à Ð Ð Ð Ð Ð à€Øð ØÐÐÐÐÐà-Ø4Ø8Ø:Ø0Ø,ðð €ðð ð ð ð0<ð <ð <ð <ð3ð 3ð 3ð 3ð Ø%ØØ%ð	
ð 
€ð1ð 1ð 1ð 1ð"ð ð ð ð*1ð 1ð 1ð 1ð <ØDØGØSØHØAØQØ-ð	4ð 	4€ð 	ð 	ð 	ñ 	ðð ð ð ð0<ð <ð <ð <ð"5ð 5ð 5ð 5ðð ð ð ð$ð ð ð ð ð ð ð ðt&ð t&ð t&ð t&ð t&ð t&ð t&r.   