§
    ÷„tj.  ã                   ó  — d Z ddlZddlZddlZddlZddlmZmZm	Z	m
Z
 ddlmZmZ ddlmZmZ ddlmZ ddlmZmZ ddlmZmZ dd	lmZ dd
lmZ ddlmZ ddlm Z  ddl!m"Z" ddl#m$Z$ ddl%m&Z& ddl'm(Z(m)Z) ddl*m+Z+ ddl,m-Z- ddl.m/Z/ ddl0m1Z1 ddl2m3Z3  ej4        e5¦  «        Z6 ej7        dej8        ¦  «        Z9e
ee$         ee$         f         Z:de;de<fd„Z=de$de<de<fd„Z>de$de<fd„Z?de$de<fd„Z@de$de	e<         fd„ZAde$d ede;fd!„ZBde$d"e;ddfd#„ZCde$d$e;d%e<d&ee;         d'ee;         d(e<de	e;         fd)„ZDde$d$e;d&ee;         d'ee;         d(e<de	e;         fd*„ZEde$d'ee;         de<fd+„ZFd,ee$         d ed%e<d&ee;         d'ee;         de:fd-„ZGdS ).z;Orchestrator for building wheels from InstallRequirements.
é    N)ÚIterableÚListÚOptionalÚTuple)Úcanonicalize_nameÚcanonicalize_version)ÚInvalidVersionÚVersion)Ú
WheelCache)ÚInvalidWheelFilenameÚUnsupportedWheel)ÚFilesystemWheelÚget_wheel_distribution)ÚLink)ÚWheel)Úbuild_wheel_pep517)Úbuild_wheel_editable)Úbuild_wheel_legacy)ÚInstallRequirement)Ú
indent_log)Ú
ensure_dirÚ	hash_file)Úmake_setuptools_clean_args)Úcall_subprocess)ÚTempDirectory)Úpath_to_url)Úvcsz([a-z0-9_.]+)-([a-z0-9_.!+-]+)ÚsÚreturnc                 óP   — t          t                               | ¦  «        ¦  «        S )zjDetermine whether the string looks like an egg_info.

    :param s: The string to parse. E.g. foo-2.1
    )ÚboolÚ_egg_info_reÚsearch)r   s    úY/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/pip/_internal/wheel_builder.pyÚ_contains_egg_infor%   %   s    € õ
 •×#Ò# AÑ&Ô&Ñ'Ô'Ð'ó    ÚreqÚ
need_wheelc                 ó¾   — | j         rdS | j        r$|r t                               d| j        ¦  «         dS |rdS | j        sdS | j        r|                      ¦   «         S dS )zBReturn whether an InstallRequirement should be built into a wheel.Fz(Skipping %s, due to already being wheel.T)Ú
constraintÚis_wheelÚloggerÚinfoÚnameÚ
source_dirÚeditableÚsupports_pyproject_editable)r'   r(   s     r$   Ú_should_buildr2   -   s‰   € ð
 „~ð àˆuØ
„|ð Øð 	Ý�KŠKØ:Ø”ñô ð ð ˆuàð àˆtð
 Œ>ð Øˆuà
„|ð 1à×.Ò.Ñ0Ô0Ð0àˆ4r&   c                 ó$   — t          | d¬¦  «        S )NT©r(   ©r2   ©r'   s    r$   Úshould_build_for_wheel_commandr7   N   s   € õ ˜¨Ð.Ñ.Ô.Ð.r&   c                 ó$   — t          | d¬¦  «        S )NFr4   r5   r6   s    r$   Ú should_build_for_install_commandr9   T   s   € õ ˜¨Ð/Ñ/Ô/Ð/r&   c                 ór  — | j         s| j        sdS | j        ri| j        j        r]| j         rJ ‚| j        sJ ‚t	          j        | j        j        ¦  «        }|sJ ‚|                     | j        j        | j        ¦  «        rdS dS | j        sJ ‚| j         	                    ¦   «         \  }}t          |¦  «        rdS dS )zÍ
    Return whether a built InstallRequirement can be stored in the persistent
    wheel cache, assuming the wheel cache is available, and _should_build()
    has determined a wheel needs to be built.
    FT)r0   r/   ÚlinkÚis_vcsr   Úget_backend_for_schemeÚschemeÚis_immutable_rev_checkoutÚurlÚsplitextr%   )r'   Úvcs_backendÚbaseÚexts       r$   Ú_should_cacherE   Z   sÓ   € ð „|ð ˜3œ>ð àˆuà
„xð 	�C”H”Oð 	ð ”<ÐÐÐØŒ~ÐÐˆ~ÝÔ0°´´ÑAÔAˆØÐÐˆ{Ø×0Ò0°´´¸s¼~ÑNÔNð 	Ø�4ØˆuàŒ8€O€Oˆ8Ø”×!Ò!Ñ#Ô#�I€Dˆ#Ý˜$ÑÔð Øˆtð ˆ5r&   Úwheel_cachec                 óÌ   — t          |j        ¦  «        }| j        sJ ‚|r*t          | ¦  «        r|                     | j        ¦  «        }n|                     | j        ¦  «        }|S )zdReturn the persistent or temporary cache directory where the built
    wheel need to be stored.
    )r!   Ú	cache_dirr;   rE   Úget_path_for_linkÚget_ephem_path_for_link)r'   rF   Úcache_availablerH   s       r$   Ú_get_cache_dirrL   z   sj   € õ ˜;Ô0Ñ1Ô1€OØŒ8€O€Oˆ8Øð B�=¨Ñ-Ô-ð BØ×1Ò1°#´(Ñ;Ô;ˆ	ˆ	à×7Ò7¸¼ÑAÔAˆ	ØÐr&   Ú
wheel_pathc                 óè  — t          | j        pd¦  «        }t          t          j                             |¦  «        ¦  «        }t          |j        ¦  «        |k    rt          d|›d|j        ›�¦  «        ‚t          t          |¦  «        |¦  «        }t          |j
        ¦  «        }t          |¦  «        t          |j
        ¦  «        k    rt          d|›d|j
        ›�¦  «        ‚|j        }|€t          d¦  «        ‚	 t          |¦  «        }n"# t          $ r d|› �}t          |¦  «        ‚w xY w|t          d¦  «        k    r-t!          |j
        t          ¦  «        st          d|›d�¦  «        ‚d S d S )	NÚ z)Wheel has unexpected file name: expected z, got zMissing Metadata-VersionzInvalid Metadata-Version: z1.2z+Metadata 1.2 mandates PEP 440 version, but z is not)r   r.   r   ÚosÚpathÚbasenamer   r   r   ÚstrÚversionr   Úmetadata_versionr   r
   r	   Ú
isinstance)	r'   rM   Úcanonical_nameÚwÚdistÚdist_verstrÚmetadata_version_valuerU   Úmsgs	            r$   Ú_verify_oner]   Š   s±  € Ý& s¤x ~°2Ñ6Ô6€NÝ�bŒg×Ò˜zÑ*Ô*Ñ+Ô+€AÝ˜œÑ Ô  NÒ2Ð2Ý"ð¸ð ð Ø”6ðð ñ
ô 
ð 	
õ "¥/°*Ñ"=Ô"=¸~ÑNÔN€DÝ�d”lÑ#Ô#€KÝ˜KÑ(Ô(Õ,@ÀÄÑ,KÔ,KÒKÐKÝ"ð!¸ð !ð !Ø”9ð!ð !ñ
ô 
ð 	
ð "Ô2ÐØÐ%ÝÐ9Ñ:Ô:Ð:ð$Ý"Ð#9Ñ:Ô:ÐÐøÝð $ð $ð $ØCÐ+AÐCÐCˆÝ˜sÑ#Ô#Ð#ð$øøøð �7 5™>œ>Ò)Ð)µ*¸T¼\Í7Ñ2SÔ2SÐ)ÝØP¸+ÐPÐPÐPñ
ô 
ð 	
ð *Ð)Ð)Ð)s   Ã>D ÄD-Ú
output_dirÚverifyÚbuild_optionsÚglobal_optionsr0   c                 óº  — |rdnd}	 t          |¦  «         n:# t          $ r-}t                               d|| j        |¦  «         Y d}~dS d}~ww xY w| j        5  t          | ||||¦  «        }ddd¦  «         n# 1 swxY w Y   |rU|rS	 t          | |¦  «         nA# t          t          f$ r-}t                               d|| j        |¦  «         Y d}~dS d}~ww xY w|S )zaBuild one wheel.

    :return: The filename of the built wheel, or None if the build failed.
    r0   ÚwheelzBuilding %s for %s failed: %sNzBuilt %s for %s is invalid: %s)
r   ÚOSErrorr,   Úwarningr.   Ú	build_envÚ_build_one_inside_envr]   r   r   )	r'   r^   r_   r`   ra   r0   ÚartifactÚerM   s	            r$   Ú
_build_onerj   §   sr  € ð &Ð2ˆzˆz¨7€Hð	Ý�:ÑÔÐÐøÝð ð ð Ý�ŠØ+ØØŒHØñ		
ô 	
ð 	
ð ˆtˆtˆtˆtˆtøøøøðøøøð 
Œð 
ð 
Ý*Ø�˜]¨N¸Hñ
ô 
ˆ
ð
ð 
ð 
ñ 
ô 
ð 
ð 
ð 
ð 
ð 
ð 
øøøð 
ð 
ð 
ð 
ð ð �fð ð	Ý˜˜ZÑ(Ô(Ð(Ð(øÝ$Õ&6Ð7ð 	ð 	ð 	Ý�NŠNÐ;¸XÀsÄxÐQRÑSÔSÐSØ�4�4�4�4�4øøøøð	øøøð Ðs>   ˆ ˜
A¢"A
Á
AÁA9Á9A=Â A=Â	B ÂCÂ+"CÃCc           	      óH  — t          d¬¦  «        5 }| j        sJ ‚| j        r¨| j        sJ ‚| j        sJ ‚|r t
                               d| j        ¦  «         |r t
                               d| j        ¦  «         |r(t          | j        | j        | j        |j        ¬¦  «        }nQt          | j        | j        | j        |j        ¬¦  «        }n)t          | j        | j        | j        |||j        ¬¦  «        }|�ýt          j                             |¦  «        }t          j                             ||¦  «        }	 t!          |¦  «        \  }	}
t#          j        ||¦  «         t
                               d| j        ||
|	                     ¦   «         ¦  «         t
                               d|¦  «         |cd d d ¦  «         S # t*          $ r+}t
                               d	| j        |¦  «         Y d }~nd }~ww xY w| j        st-          | |¦  «         	 d d d ¦  «         d S # 1 swxY w Y   d S )
Nrc   )Úkindz7Ignoring --global-option when building %s using PEP 517z6Ignoring --build-option when building %s using PEP 517)r.   ÚbackendÚmetadata_directoryÚtempd)r.   Úsetup_py_pathr/   ra   r`   ro   z3Created wheel for %s: filename=%s size=%d sha256=%szStored in directory: %sz Building wheel for %s failed: %s)r   r.   Ú
use_pep517rn   Úpep517_backendr,   re   r   rQ   r   r   rp   Úunpacked_source_directoryrP   rR   Újoinr   ÚshutilÚmover-   Ú	hexdigestÚ	ExceptionÚ_clean_one_legacy)r'   r^   r`   ra   r0   Útemp_dirrM   Ú
wheel_nameÚ	dest_pathÚ
wheel_hashÚlengthri   s               r$   rg   rg   Í   sØ  € õ 
˜GÐ	$Ñ	$Ô	$ð =¨ØŒxˆˆˆxØŒ>ð !	ØÔ)Ð)Ð)Ð)ØÔ%Ð%Ð%Ð%Øð Ý—’ØMÈsÌxñô ð ð ð Ý—’ØLÈcÌhñô ð ð ð Ý1ØœØÔ.Ø'*Ô'=Ø"œ-ð	ñ ô �
�
õ 0ØœØÔ.Ø'*Ô'=Ø"œ-ð	ñ ô �
�
õ ,Ø”XØ!Ô/ØÔ8Ø-Ø+Ø”mðñ ô ˆJð Ð!Ýœ×)Ò)¨*Ñ5Ô5ˆJÝœŸš Z°Ñ<Ô<ˆIðÝ%.¨zÑ%:Ô%:Ñ"�
˜FÝ”˜J¨	Ñ2Ô2Ð2Ý—’ØIØ”HØØØ×(Ò(Ñ*Ô*ñô ð õ —’Ð5°zÑBÔBÐBØ ðg=ð =ð =ð =ñ =ô =ð =ð =øõh ð ð ð Ý—’Ø6Ø”HØñô ð ð ð ð ð ð øøøøðøøøð Œ~ð 	3Ý˜c >Ñ2Ô2Ð2Øð{=ð =ð =ñ =ô =ð =ð =ð =ð =ð =ð =ð =øøøð =ð =ð =ð =ð =ð =s7   ‘D#HÄ5A8F:Æ:
G/Ç!G*Ç%HÇ*G/Ç/HÈHÈHc                 ó  — t          | j        |¬¦  «        }t                               d| j        ¦  «         	 t          |d| j        ¬¦  «         dS # t          $ r$ t                               d| j        ¦  «         Y dS w xY w)N)ra   zRunning setup.py clean for %szpython setup.py clean)Úcommand_descÚcwdTz Failed cleaning build dir for %sF)	r   rp   r,   r-   r.   r   r/   rx   Úerror)r'   ra   Ú
clean_argss      r$   ry   ry     sž   € Ý+ØÔØ%ðñ ô €Jõ
 ‡K‚KÐ/°´Ñ:Ô:Ð:ðÝØÐ%<À#Ä.ð	
ñ 	
ô 	
ð 	
ð ˆtøÝð ð ð Ý�ŠÐ7¸¼ÑBÔBÐBØˆuˆuðøøøs   ¸A Á*A?Á>A?Úrequirementsc           
      ó^  — | sg g fS t                                dd                     d„ | D ¦   «         ¦  «        ¦  «         t          ¦   «         5  g g }}| D ]Ê}|j        sJ ‚t          ||¦  «        }t          ||||||j        o|j        ¦  «        }	|	rx|j	        �| 
                    ||j	        ¦  «         t          t          |	¦  «        ¦  «        |_        |j        j        |_        |j        j        sJ ‚|                     |¦  «         Œµ|                     |¦  «         ŒË	 ddd¦  «         n# 1 swxY w Y   |r8t                                dd                     d„ |D ¦   «         ¦  «        ¦  «         |r8t                                dd                     d	„ |D ¦   «         ¦  «        ¦  «         ||fS )
z˜Build wheels.

    :return: The list of InstallRequirement that succeeded to build and
        the list of InstallRequirement that failed to build.
    z*Building wheels for collected packages: %sz, c              3   ó$   K  — | ]}|j         V — Œd S )N©r.   ©Ú.0r'   s     r$   ú	<genexpr>zbuild.<locals>.<genexpr>7  s$   è è € Ð3Ð3˜s�#”(Ð3Ð3Ð3Ð3Ð3Ð3r&   NzSuccessfully built %sú c                 ó   — g | ]	}|j         ‘Œ
S © r‡   rˆ   s     r$   ú
<listcomp>zbuild.<locals>.<listcomp>Z  s   € Ð:Ð:Ð: 3�c”hÐ:Ð:Ð:r&   zFailed to build %sc                 ó   — g | ]	}|j         ‘Œ
S r�   r‡   rˆ   s     r$   rŽ   zbuild.<locals>.<listcomp>_  s   € Ð9Ð9Ð9 3�c”hÐ9Ð9Ð9r&   )r,   r-   rt   r   r.   rL   rj   r0   Úpermit_editable_wheelsÚdownload_infoÚrecord_download_originr   r   r;   Ú	file_pathÚlocal_file_pathr+   Úappend)
r„   rF   r_   r`   ra   Úbuild_successesÚbuild_failuresr'   rH   Ú
wheel_files
             r$   Úbuildr™   %  s1  € ð ð Ø�2ˆvˆõ ‡K‚KØ4Ø�	Š	Ð3Ð3 lÐ3Ñ3Ô3Ñ3Ô3ñô ð õ
 
‰Œð +ð +Ø*,¨b˜ˆØð 	+ð 	+ˆCØ”8ˆOˆO�8Ý& s¨KÑ8Ô8ˆIÝ#ØØØØØØ”Ð; Ô!;ñô ˆJð ð +àÔ$Ð0ð  ×6Ò6°yÀ#ÔBSÑTÔTÐTå¥¨JÑ 7Ô 7Ñ8Ô8�”Ø&)¤hÔ&8�Ô#Ø”xÔ(Ð(Ð(Ð(Ø×&Ò& sÑ+Ô+Ð+Ð+à×%Ò% cÑ*Ô*Ð*Ð*ð1	+ð+ð +ð +ñ +ô +ð +ð +ð +ð +ð +ð +øøøð +ð +ð +ð +ð: ð 
Ý�ŠØ#Ø�HŠHÐ:Ð:¨/Ð:Ñ:Ô:Ñ;Ô;ñ	
ô 	
ð 	
ð ð 
Ý�ŠØ Ø�HŠHÐ9Ð9¨.Ð9Ñ9Ô9Ñ:Ô:ñ	
ô 	
ð 	
ð
 ˜NÐ*Ð*s   ÁCD,Ä,D0Ä3D0)HÚ__doc__ÚloggingÚos.pathrP   Úreru   Útypingr   r   r   r   Úpip._vendor.packaging.utilsr   r   Úpip._vendor.packaging.versionr	   r
   Úpip._internal.cacher   Úpip._internal.exceptionsr   r   Úpip._internal.metadatar   r   Úpip._internal.models.linkr   Úpip._internal.models.wheelr   Ú$pip._internal.operations.build.wheelr   Ú-pip._internal.operations.build.wheel_editabler   Ú+pip._internal.operations.build.wheel_legacyr   Úpip._internal.req.req_installr   Úpip._internal.utils.loggingr   Úpip._internal.utils.miscr   r   Ú$pip._internal.utils.setuptools_buildr   Úpip._internal.utils.subprocessr   Úpip._internal.utils.temp_dirr   Úpip._internal.utils.urlsr   Úpip._internal.vcsr   Ú	getLoggerÚ__name__r,   ÚcompileÚ
IGNORECASEr"   ÚBuildResultrS   r!   r%   r2   r7   r9   rE   rL   r]   rj   rg   ry   r™   r�   r&   r$   ú<module>r¶      sp  ððð ð €€€Ø €€€Ø 	€	€	€	Ø €€€Ø 2Ð 2Ð 2Ð 2Ð 2Ð 2Ð 2Ð 2Ð 2Ð 2Ð 2Ð 2à OÐ OÐ OÐ OÐ OÐ OÐ OÐ OØ AÐ AÐ AÐ AÐ AÐ AÐ AÐ Aà *Ð *Ð *Ð *Ð *Ð *Ø KÐ KÐ KÐ KÐ KÐ KÐ KÐ KØ JÐ JÐ JÐ JÐ JÐ JÐ JÐ JØ *Ð *Ð *Ð *Ð *Ð *Ø ,Ð ,Ð ,Ð ,Ð ,Ð ,Ø CÐ CÐ CÐ CÐ CÐ CØ NÐ NÐ NÐ NÐ NÐ NØ JÐ JÐ JÐ JÐ JÐ JØ <Ð <Ð <Ð <Ð <Ð <Ø 2Ð 2Ð 2Ð 2Ð 2Ð 2Ø :Ð :Ð :Ð :Ð :Ð :Ð :Ð :Ø KÐ KÐ KÐ KÐ KÐ KØ :Ð :Ð :Ð :Ð :Ð :Ø 6Ð 6Ð 6Ð 6Ð 6Ð 6Ø 0Ð 0Ð 0Ð 0Ð 0Ð 0Ø !Ð !Ð !Ð !Ð !Ð !à	ˆÔ	˜8Ñ	$Ô	$€àˆrŒzÐ;¸R¼]ÑKÔK€à�DÐ+Ô,¨dÐ3EÔ.FÐFÔG€ð(˜#ð ( $ð (ð (ð (ð (ðØ	ðàðð 
ðð ð ð ðB/Ø	ð/à	ð/ð /ð /ð /ð0Ø	ð0à	ð0ð 0ð 0ð 0ðØ	ðàˆd„^ðð ð ð ð@Ø	ðàðð 	ðð ð ð ð 
Ð'ð 
°Sð 
¸Tð 
ð 
ð 
ð 
ð:#Ø	ð#àð#ð ð#ð ˜”9ð	#ð
 ˜”Ið#ð ð#ð ˆc„]ð#ð #ð #ð #ðLDØ	ðDàðDð ˜”9ðDð ˜”Ið	Dð
 ðDð ˆc„]ðDð Dð Dð DðNÐ-ð ¸tÀC¼yð ÈTð ð ð ð ð"=+ØÐ-Ô.ð=+àð=+ð ð=+ð ˜”9ð	=+ð
 ˜”Ið=+ð ð=+ð =+ð =+ð =+ð =+ð =+r&   