§
    Å‡tj*  ã            	      óþ   — U d dl mZ d dlZd dlZd dlZd dlZd dlmZ d dlZddl	m
Z
 dddd	d
ddœZd6d„Zd7d„Zd8d„ZdddddœZd6d„Zd7d„Zd8d„Zddd d!d"d#d$d%d&œZd'ed(<   d9d*„Zd7d+„Zd8d,„Zd9d-„Zd7d.„Zd8d/„Zd:d;d5„ZdS )<é    )ÚannotationsN)ÚIOé   )ÚImage)ú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ÚImportErrorÚwarningsÚwarnr   )r   ÚmsgÚmoduleÚverÚexs        úJ/var/www/html/CA-Chatbot/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,   /   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>B   s#   € Ð2Ð2Ð2�!¥,¨q¡/¤/Ð2ˆAÐ2Ð2Ð2r-   )r   r1   r-   r%   Úget_supported_modulesr6   >   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_codecrG   M   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   )rG   rB   r+   r   rD   Úsplit)r   rE   rF   Úversions       r%   Úversion_codecrM   ^   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 r1   )rG   r2   s     r%   r5   z(get_supported_codecs.<locals>.<listcomp>w   s#   € Ð0Ð0Ð0�!¥¨Q¡¤Ð0ˆAÐ0Ð0Ð0r-   )rB   r1   r-   r%   Úget_supported_codecsrP   s   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_MOZJPEGrX   )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)	rg   r   r   r+   r   r   r   r    r   )r   r!   r"   Úflagr#   Úimported_moduler$   s          r%   Úcheck_featurerm   †   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)   )rm   rg   r+   r   )r   r"   rk   r#   s       r%   Úversion_featurero   ž   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 r1   )rm   r2   s     r%   r5   z*get_supported_features.<locals>.<listcomp>³   s%   € Ð4Ð4Ð4�!¥=°Ñ#3Ô#3Ð4ˆAÐ4Ð4Ð4r-   )rg   r1   r-   r%   Úget_supported_featuresrr   ¯   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&   rB   rG   rg   rm   r   r    ©r   s    r%   Úcheckrw   ¶   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,   rB   rM   rg   ro   rv   s    r%   rL   rL   È   sT   € ð •'ÐÐÝ˜gÑ&Ô&Ð&Ø•&ÐÐÝ˜WÑ%Ô%Ð%Ø•(ÐÐÝ˜wÑ'Ô'Ð'Øˆ4r-   c                 ó¦   — t          ¦   «         } |                      t          ¦   «         ¦  «         |                      t          ¦   «         ¦  «         | S )zJ
    :returns: A list of all supported modules, features, and codecs.
    )r6   Úextendrr   rP   )Ú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))re   z#LIBIMAGEQUANT (Quantization method))rf   zXCB (X protocol)r>   rb   rc   zlibjpeg-turboú )r   r>   r   c              3  ó4   K  — | ]}t          |¦  «        V — Œd S )N)Úint)r3   Úxs     r%   ú	<genexpr>zpilinfo.<locals>.<genexpr>(  s(   è è € Ð*HÐ*H°a­3¨q©6¬6Ð*HÐ*HÐ*HÐ*HÐ*HÐ*Hr-   ú.)rt   é   zcompiled forÚloadedr<   rd   z, compiled for zlib-ng r_   )r`   ra   z, z---zsupport ok,z
support okz***zsupport not installedzExtensions: {}ÚopenÚsaveÚsave_allÚdecodeÚencodezFeatures: {})'ÚsysÚstdoutr   ÚinitÚprintrj   Ú__version__rL   Ú
splitlinesÚstripÚ
executableÚprefixÚbase_prefixÚosÚpathÚdirnameÚ__file__rD   rw   ro   rm   ÚtuplerK   ÚcollectionsÚdefaultdictÚlistÚ	EXTENSIONÚitemsÚappendÚsortedÚIDÚMIMEÚformatÚjoinÚOPENÚSAVEÚSAVE_ALLÚDECODERSÚENCODERS)r}   r   Úpy_version_linesÚ
py_versionÚnamer   ÚvrX   Úversion_staticÚtr[   r4   Úv2Ú
extensionsÚextÚiÚlinerg   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   rh   )NT)r}   r~   r   r   r   r€   )Ú
__future__r   r§   r¢   r˜   r   Útypingr   rj   Ú r   r   r&   r,   r6   rB   rG   rM   rP   rg   Ú__annotations__rm   ro   rr   rw   rL   r|   rÂ   r1   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-   