§
    tšjôC  ã                   ó  — d Z ddlZddlZddlmZ ddlmZ ddlmZm	Z	m
Z
mZmZ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mZ d	dlmZ erddlmZ eeej        f         Z  ej!        e"¦  «        Z#de de$fd„Z%de$de de&fd„Z'	 d$ddde ddfd„Z(	 	 	 d%de ded         fd„Z)	 	 	 d&de$dee          de&ded         de$f
d„Z* G d„ d¦  «        Z+d„ Z,ede&fd„¦   «         Z- G d „ d!ej.        ¦  «        Z/ G d"„ d#e¦  «        Z0dS )'ac  
Load setuptools configuration from ``pyproject.toml`` files.

**PRIVATE MODULE**: API reserved for setuptools internal usage only.

To read project metadata, consider using
``build.util.project_wheel_metadata`` (https://pypi.org/project/build/).
For simple scenarios, you can also try parsing the file directly
with the help of ``tomllib`` or ``tomli``.
é    N)Úcontextmanager)Úpartial)ÚTYPE_CHECKINGÚCallableÚDictÚMappingÚOptionalÚSetÚUnioné   )Ú	FileErrorÚOptionError)ÚSetuptoolsWarningé   )Úexpand)Ú_PREVIOUSLY_DEFINEDÚ_WouldIgnoreField)Úapply©ÚDistributionÚfilepathÚreturnc                 óŒ   — ddl m} t          | d¦  «        5 }|                     |¦  «        cd d d ¦  «         S # 1 swxY w Y   d S )Nr   )ÚtomliÚrb)Úsetuptools.externr   ÚopenÚload)r   r   Úfiles      ú\/home/lighthouse/health/venv/lib/python3.11/site-packages/setuptools/config/pyprojecttoml.pyÚ	load_filer!      s”   € Ø'Ð'Ð'Ð'Ð'Ð'å	ˆh˜Ñ	Ô	ð   Ø�zŠz˜$ÑÔð ð  ð  ð  ñ  ô  ð  ð  ð  ð  ð  ð  øøøð  ð  ð  ð  ð  ð  s   —9¹=Á =Úconfigc                 óÜ  — ddl m} |j                             d¦  «        }t	          |d¦  «        r|                     ¦   «          	 |                     | ¦  «        S # |j        $ r†}d|j        › �}|j	         
                    d¦  «        dk    r9t                               |¦  «         t                               |j        ¦  «         d|j	        › d	�}t          |› d
|› �¦  «        d ‚d }~ww xY w)Nr   )Ú_validate_pyprojectztrove-classifierÚ_disable_downloadzconfiguration error: ú`Úprojectzinvalid pyproject.toml config: ú.ú
)Ú r$   ÚFORMAT_FUNCTIONSÚgetÚhasattrr%   ÚvalidateÚValidationErrorÚsummaryÚnameÚstripÚ_loggerÚdebugÚdetailsÚ
ValueError)r"   r   Ú	validatorÚtrove_classifierÚexr0   Úerrors          r    r.   r.   %   s  € Ø2Ð2Ð2Ð2Ð2Ð2à Ô1×5Ò5Ð6HÑIÔIÐÝÐÐ!4Ñ5Ô5ð -à×*Ò*Ñ,Ô,Ð,ð
:Ø×!Ò! &Ñ)Ô)Ð)øØÔ$ð :ð :ð :Ø6¨"¬*Ð6Ð6ˆØŒ7�=Š=˜ÑÔ Ò*Ð*å�MŠM˜'Ñ"Ô"Ð"Ý�MŠM˜"œ*Ñ%Ô%Ð%à<°"´'Ð<Ð<Ð<ˆÝ˜EÐ.Ð. WÐ.Ð.Ñ/Ô/°TÐ9øøøøð:øøøs   ÁA Á
C+Á%BC&Ã&C+FÚdistr   c                 óH   — t          |d|| ¦  «        }t          | ||¦  «        S )zeApply the configuration from a ``pyproject.toml`` file into an existing
    distribution object.
    T)Úread_configurationÚ_apply)r;   r   Úignore_option_errorsr"   s       r    Úapply_configurationr@   :   s*   € õ   ¨$Ð0DÀdÑKÔK€FÝ�$˜ Ñ)Ô)Ð)ó    Tc                 ó  — t           j                             | ¦  «        } t           j                             | ¦  «        st	          d| ›d�¦  «        ‚t          | ¦  «        pi }|                     di ¦  «        }|                     di ¦  «        }|                     di ¦  «        }|r|s|si S |rt                               ¦   «          |r-t          |dd¦  «        �| 
                    d|j        ¦  «         n| 
                    dd	¦  «         ||d<   ||d<   t          |¦  «        5  |d|id
œ}t          || ¦  «         ddd¦  «         n# 1 swxY w Y   |r1t           j                             | ¦  «        }	t          ||	||¦  «        S |S )aÉ  Read given configuration file and returns options from it as a dict.

    :param str|unicode filepath: Path to configuration file in the ``pyproject.toml``
        format.

    :param bool expand: Whether to expand directives and other computed values
        (i.e. post-process the given configuration)

    :param bool ignore_option_errors: Whether to silently ignore
        options, values of which could not be resolved (e.g. due to exceptions
        in directives such as file:, attr:, etc.).
        If False exceptions are propagated as expected.

    :param Distribution|None: Distribution object to which the configuration refers.
        If not given a dummy object will be created and discarded after the
        configuration is read. This is used for auto-discovery of packages and in the
        case a dynamic configuration (e.g. ``attr`` or ``cmdclass``) is expanded.
        When ``expand=False`` this object is simply ignored.

    :rtype: dict
    zConfiguration file z does not exist.r'   ÚtoolÚ
setuptoolsÚinclude_package_dataNzinclude-package-dataT)r'   rC   )ÚosÚpathÚabspathÚisfiler   r!   r,   Ú_BetaConfigurationÚemitÚgetattrÚ
setdefaultrE   Ú_ignore_errorsr.   ÚdirnameÚexpand_configuration)
r   r   r?   r;   ÚasdictÚproject_tableÚ
tool_tableÚsetuptools_tableÚsubsetÚroot_dirs
             r    r=   r=   F   sí  € õ6 Œw�Š˜xÑ(Ô(€HåŒ7�>Š>˜(Ñ#Ô#ð LÝÐJ¨hÐJÐJÐJÑKÔKÐKå�xÑ Ô Ð& B€FØ—J’J˜y¨"Ñ-Ô-€MØ—’˜F BÑ'Ô'€JØ!—~’~ l°BÑ7Ô7ÐØð ˜-ð Ð+;ð Øˆ	àð "å×ÒÑ!Ô!Ð!ð ð B•˜Ð4°dÑ;Ô;ÐGØ×#Ò#Ð$:¸DÔ<UÑVÔVÐVÐVà×#Ò#Ð$:¸DÑAÔAÐAà€Fˆ6�NØ/€Jˆ|Ñå	Ð,Ñ	-Ô	-ð #ð #à*°\ÐCSÐ4TÐUÐUˆÝ�˜Ñ"Ô"Ð"ð#ð #ð #ñ #ô #ð #ð #ð #ð #ð #ð #øøøð #ð #ð #ð #ð
 ð RÝ”7—?’? 8Ñ,Ô,ˆÝ# F¨HÐ6JÈDÑQÔQÐQà€Ms   Ä&E
Å
EÅErV   r?   c                 óJ   — t          | |||¦  «                             ¦   «         S )a®  Given a configuration with unresolved fields (e.g. dynamic, cmdclass, ...)
    find their final values.

    :param dict config: Dict containing the configuration for the distribution
    :param str root_dir: Top-level directory for the distribution/project
        (the same directory where ``pyproject.toml`` is place)
    :param bool ignore_option_errors: see :func:`read_configuration`
    :param Distribution|None: Distribution object to which the configuration refers.
        If not given a dummy object will be created and discarded after the
        configuration is read. Used in the case a dynamic configuration
        (e.g. ``attr`` or ``cmdclass``).

    :rtype: dict
    )Ú_ConfigExpanderr   )r"   rV   r?   r;   s       r    rP   rP   ‰   s%   € õ( ˜6 8Ð-AÀ4ÑHÔH×OÒOÑQÔQÐQrA   c            
       ó°  — e Zd Z	 	 	 d!dedee         deded         fd„Zd"d
„Zdede	de
fd„Zd#d„Zd„ Zd„ Zd„ Zdee	e	f         fd„Zdddee	e	f         fd„Zddde	fd„Zde	dee	e	f         fd„Zddde	dee	e	f         fd„Zdddee	e	f         fd„Zddd	eee	e	f                  fd„Zdddee	e	f         d	eee	ef                  fd„Zd$d„Zd$d„Zd$d „ZdS )%rX   NFr"   rV   r?   r;   r   c                 óž  — || _         |pt          j        ¦   «         | _        |                     di ¦  «        | _        | j                             dg ¦  «        | _        |                     di ¦  «                             di ¦  «        | _        | j                             di ¦  «        | _        || _	        || _
        t          ¦   «         | _        d S )Nr'   ÚdynamicrC   rD   )r"   rF   ÚgetcwdrV   r,   Úproject_cfgr[   Úsetuptools_cfgÚdynamic_cfgr?   Ú_distÚsetÚ_referenced_files)Úselfr"   rV   r?   r;   s        r    Ú__init__z_ConfigExpander.__init__¡   s¯   € ð ˆŒØ Ð/¥B¤I¡K¤KˆŒØ!Ÿ:š: i°Ñ4Ô4ˆÔØÔ'×+Ò+¨I°rÑ:Ô:ˆŒØ$Ÿjšj¨°Ñ4Ô4×8Ò8¸ÀrÑJÔJˆÔØÔ.×2Ò2°9¸bÑAÔAˆÔØ$8ˆÔ!ØˆŒ
Ý+.©5¬5ˆÔÐÐrA   r   c                 óx   — ddl m} | j        | j                             dd ¦  «        dœ}| j        p
 ||¦  «        S )Nr   r   r1   )Úsrc_rootr1   )Úsetuptools.distr   rV   r]   r,   r`   )rc   r   Úattrss      r    Ú_ensure_distz_ConfigExpander._ensure_dist²   sN   € Ø0Ð0Ð0Ð0Ð0Ð0à!œ]°DÔ4D×4HÒ4HÈÐQUÑ4VÔ4VÐWÐWˆØŒzÐ0˜\˜\¨%Ñ0Ô0Ð0rA   Ú	containerÚfieldÚfnc                 ó”   — ||v rCt          | j        ¦  «        5   |||         ¦  «        ||<   d d d ¦  «         d S # 1 swxY w Y   d S d S ©N)rN   r?   )rc   rj   rk   rl   s       r    Ú_process_fieldz_ConfigExpander._process_field¸   s£   € Ø�IÐÐÝ Ô 9Ñ:Ô:ð 8ð 8Ø#% 2 i°Ô&6Ñ#7Ô#7�	˜%Ñ ð8ð 8ð 8ñ 8ô 8ð 8ð 8ð 8ð 8ð 8ð 8ð 8øøøð 8ð 8ð 8ð 8ð 8ð 8ð Ðs   ™;»?Á?úpackage-datac                 ó`   — | j                              |i ¦  «        }t          j        |¦  «        S rn   )r^   r,   Ú_expandÚcanonic_package_data)rc   rk   Úpackage_datas      r    Ú_canonic_package_dataz%_ConfigExpander._canonic_package_data½   s+   € ØÔ*×.Ò.¨u°bÑ9Ô9ˆÝÔ+¨LÑ9Ô9Ð9rA   c                 óæ  — |                       ¦   «          |                      ¦   «          |                      d¦  «         |                      ¦   «         }t          || j        | j        ¦  «        }|5 }|j        }|                      ¦   «          |                      |¦  «         |  	                    ||¦  «         d d d ¦  «         n# 1 swxY w Y   |j
                             | j
        ¦  «         | j        S )Nzexclude-package-data)Ú_expand_packagesru   ri   Ú_EnsurePackagesDiscoveredr]   r^   Úpackage_dirÚ_expand_data_filesÚ_expand_cmdclassÚ_expand_all_dynamicrb   Úupdater"   )rc   r;   ÚctxÚensure_discoveredry   s        r    r   z_ConfigExpander.expandÁ   s&  € Ø×ÒÑÔÐØ×"Ò"Ñ$Ô$Ð$Ø×"Ò"Ð#9Ñ:Ô:Ð:ð × Ò Ñ"Ô"ˆÝ'¨¨dÔ.>ÀÔ@SÑTÔTˆØð 	8Ð%Ø+Ô7ˆKØ×#Ò#Ñ%Ô%Ð%Ø×!Ò! +Ñ.Ô.Ð.Ø×$Ò$ T¨;Ñ7Ô7Ð7ð		8ð 	8ð 	8ñ 	8ô 	8ð 	8ð 	8ð 	8ð 	8ð 	8ð 	8øøøð 	8ð 	8ð 	8ð 	8ð 	Ô×%Ò% dÔ&<Ñ=Ô=Ð=ØŒ{Ðs   Á/ACÃCÃ	Cc                 ó®  — | j                              d¦  «        }|�t          |t          t          f¦  «        rd S |                     d¦  «        }t          |t
          ¦  «        rp| j        |d<   | j                              di ¦  «        |d<   t          | j	        ¦  «        5  t          j        di |¤Ž| j         d<   d d d ¦  «         d S # 1 swxY w Y   d S d S )NÚpackagesÚfindrV   úpackage-dirÚfill_package_dir© )r^   r,   Ú
isinstanceÚlistÚtupleÚdictrV   rM   rN   r?   rr   Úfind_packages)rc   r�   r‚   s      r    rw   z _ConfigExpander._expand_packagesÒ   s8  € ØÔ&×*Ò*¨:Ñ6Ô6ˆØÐ�z¨(µT½5°MÑBÔBÐØˆFà�|Š|˜FÑ#Ô#ˆÝ�d�DÑ!Ô!ð 	PØ#œ}ˆD�ÑØ'+Ô':×'EÒ'EÀmÐUWÑ'XÔ'XˆDÐ#Ñ$Ý Ô 9Ñ:Ô:ð Pð PÝ29Ô2GÐ2OÐ2OÈ$Ð2OÐ2O�Ô# JÑ/ðPð Pð Pñ Pô Pð Pð Pð Pð Pð Pð Pð Pøøøð Pð Pð Pð Pð Pð Pð	Pð 	Ps   Â!CÃCÃCc                 ó~   — t          t          j        | j        ¬¦  «        }|                      | j        d|¦  «         d S )N)rV   z
data-files)r   rr   Úcanonic_data_filesrV   ro   r^   )rc   Ú
data_filess     r    rz   z"_ConfigExpander._expand_data_filesÞ   s:   € Ý�WÔ7À$Ä-ÐPÑPÔPˆ
Ø×Ò˜DÔ/°¸zÑJÔJÐJÐJÐJrA   ry   c                 ó„   — | j         }t          t          j        ||¬¦  «        }|                      | j        d|¦  «         d S )N)ry   rV   Úcmdclass)rV   r   rr   r�   ro   r^   )rc   ry   rV   r�   s       r    r{   z _ConfigExpander._expand_cmdclassâ   sA   € Ø”=ˆÝ�7Ô+¸ÈxÐXÑXÔXˆØ×Ò˜DÔ/°¸XÑFÔFÐFÐFÐFrA   c           
      óÐ  ‡ ‡‡‡— dŠˆˆˆ ˆfd„‰ j         D ¦   «         }|                     ‰                      ‰‰¦  «        pi ‰                      ‰‰¦  «        ‰                      ‰¦  «        ‰                      ‰¦  «        ‰                      ‰¦  «        ‰                      ‰¦  «        ¬¦  «         d„ |                     ¦   «         D ¦   «         }‰ j	                             |¦  «         d S )N)ÚversionÚreadmeúentry-pointsÚscriptsúgui-scriptsÚclassifiersÚdependenciesúoptional-dependenciesc                 óH   •— i | ]}|‰v¯|‰                      ‰|‰¦  «        “ŒS r…   )Ú_obtain)Ú.0rk   r;   ry   rc   Úspecials     €€€€r    ú
<dictcomp>z7_ConfigExpander._expand_all_dynamic.<locals>.<dictcomp>ó   s@   ø€ ð 
ð 
ð 
àØ˜GÐ#Ð#ð �4—<’<  e¨[Ñ9Ô9à#Ð#Ð#rA   )r‘   r’   r–   r—   Úoptional_dependenciesc                 ó   — i | ]
\  }}|®||“ŒS rn   r…   )r›   ÚkÚvs      r    r�   z7_ConfigExpander._expand_all_dynamic.<locals>.<dictcomp>  s   € ÐNÐNÐN™D˜A˜qÀÀ�1�aÀÀÀrA   )
r[   r}   Ú_obtain_entry_pointsÚ_obtain_versionÚ_obtain_readmeÚ_obtain_classifiersÚ_obtain_dependenciesÚ_obtain_optional_dependenciesÚitemsr]   )rc   r;   ry   Úobtained_dynamicÚupdatesrœ   s   ```  @r    r|   z#_ConfigExpander._expand_all_dynamicç   s  øøøø€ ð	
ˆð
ð 
ð 
ð 
ð 
ð 
ð 
àœð
ñ 
ô 
Ðð
 	×ÒØ×%Ò% d¨KÑ8Ô8Ð>¸BØ×(Ò(¨¨{Ñ;Ô;Ø×&Ò& tÑ,Ô,Ø×0Ò0°Ñ6Ô6Ø×2Ò2°4Ñ8Ô8Ø"&×"DÒ"DÀTÑ"JÔ"Jð 	 ñ 	
ô 	
ð 	
ð OÐNÐ$4×$:Ò$:Ñ$<Ô$<ÐNÑNÔNˆØÔ×Ò Ñ(Ô(Ð(Ð(Ð(rA   c                 óp   — t          |         |¦  «        }|€| j        sd|›d�}t          |¦  «        ‚d S d S )Nz#No configuration found for dynamic z�.
Some dynamic fields need to be specified via `tool.setuptools.dynamic`
others must be specified via the equivalent attribute in `setup.py`.)r   r?   r   )rc   r;   rk   ÚpreviousÚmsgs        r    Ú_ensure_previously_setz&_ConfigExpander._ensure_previously_set  s_   € Ý& uÔ-¨dÑ3Ô3ˆØÐ DÔ$=ÐðY°eð Yð Yð Yð õ
 ˜cÑ"Ô"Ð"ð ÐÐÐrA   Ú	specifierc                 óŠ  — ddl m} t          | j        ¦  «        5  | j        }d|v rP| j                              ||d         ¦  «        ¦  «         t          j        |d         |¦  «        cd d d ¦  «         S d|v r(t          j	        |d         ||¦  «        cd d d ¦  «         S t          d|› d|›�¦  «        ‚# 1 swxY w Y   d S )Nr   )Úalways_iterabler   Úattrz	invalid `z`: )Ú setuptools.extern.more_itertoolsr±   rN   r?   rV   rb   r}   rr   Ú
read_filesÚ	read_attrr6   )rc   r¯   Ú	directivery   r±   rV   s         r    Ú_expand_directivez!_ConfigExpander._expand_directive  s]  € ð 	EÐDÐDÐDÐDÐDå˜DÔ5Ñ6Ô6ð 	Fð 	FØ”}ˆHØ˜Ð"Ð"ØÔ&×-Ò-¨o¨o¸iÈÔ>OÑ.PÔ.PÑQÔQÐQÝÔ)¨)°FÔ*;¸XÑFÔFð		Fð 	Fð 	Fð 	Fñ 	Fô 	Fð 	Fð 	Fð
 ˜Ð"Ð"ÝÔ(¨°6Ô):¸KÈÑRÔRð	Fð 	Fð 	Fð 	Fñ 	Fô 	Fð 	Fð 	Fõ ÐD¨ÐDÐD°yÐDÐDÑEÔEÐEð	Fð 	Fð 	Fð 	Føøøð 	Fð 	Fð 	Fð 	Fð ˆts   ›AB8Á7B8Â#B8Â8B<Â?B<c                 óŽ   — || j         v r%|                      d|› �| j         |         |¦  «        S |                      ||¦  «         d S )Nztool.setuptools.dynamic.)r_   r·   r®   )rc   r;   rk   ry   s       r    rš   z_ConfigExpander._obtain  s^   € Ø�DÔ$Ð$Ð$Ø×)Ò)Ø2¨5Ð2Ð2ØÔ  Ô'Øñô ð ð
 	×#Ò# D¨%Ñ0Ô0Ð0ØˆtrA   c                 ó|   — d| j         v r2d| j        v r)t          j        |                      |d|¦  «        ¦  «        S d S )Nr‘   )r[   r_   rr   r‘   rš   )rc   r;   ry   s      r    r£   z_ConfigExpander._obtain_version(  sA   € à˜œÐ$Ð$¨°dÔ6FÐ)FÐ)FÝ”? 4§<¢<°°iÀÑ#MÔ#MÑNÔNÐNØˆtrA   c                 óÆ   — d| j         vrd S | j        }d|v r4|                      |di ¦  «        |d                              dd¦  «        dœS |                      |d¦  «         d S )Nr’   úcontent-typez
text/x-rst)Útextr»   )r[   r_   rš   r,   r®   )rc   r;   r_   s      r    r¤   z_ConfigExpander._obtain_readme.  s~   € Ø˜4œ<Ð'Ð'Ø�4àÔ&ˆØ�{Ð"Ð"àŸš T¨8°RÑ8Ô8Ø +¨HÔ 5× 9Ò 9¸.È,Ñ WÔ Wðð ð ð
 	×#Ò# D¨(Ñ3Ô3Ð3ØˆtrA   c                 ó  ‡ ‡‡— d}t          ˆ fd„|D ¦   «         ¦  «        sd S ‰                      |d|¦  «        }|€d S t          j        |¦  «        Šd‰iŠdt          dt          fˆˆˆ fd„} |dd¦  «          |d	d
¦  «         ‰S )N)r“   r”   r•   c              3   ó*   •K  — | ]}|‰j         v V — Œd S rn   )r[   )r›   rk   rc   s     €r    ú	<genexpr>z7_ConfigExpander._obtain_entry_points.<locals>.<genexpr>@  s*   øè è € Ð=Ð=¨U�5˜DœLÐ(Ð=Ð=Ð=Ð=Ð=Ð=rA   r“   rk   Úgroupc                 ó†   •— |‰v r;‰                      |¦  «        }| ‰j        vrt          j        | |¬¦  «         |‰| <   d S d S )N)rk   Úvalue)Úpopr[   r   rK   )rk   rÀ   rÂ   ÚexpandedÚgroupsrc   s      €€€r    Ú_set_scriptsz:_ConfigExpander._obtain_entry_points.<locals>._set_scriptsJ  sV   ø€ Ø˜ˆˆØŸ
š
 5Ñ)Ô)�Ø ¤Ð,Ð,Ý%Ô*°¸eÐDÑDÔDÐDð #(�˜‘��ð ˆrA   r”   Úconsole_scriptsr•   Úgui_scripts)Úanyrš   rr   Úentry_pointsÚstr)rc   r;   ry   Úfieldsr¼   rÆ   rÄ   rÅ   s   `     @@r    r¢   z$_ConfigExpander._obtain_entry_points<  sÑ   øøø€ ð <ˆÝÐ=Ð=Ð=Ð=°fÐ=Ñ=Ô=Ñ=Ô=ð 	Ø�4à�|Š|˜D .°+Ñ>Ô>ˆØˆ<Ø�4åÔ% dÑ+Ô+ˆØ" FÐ+ˆð	(¥ð 	(­Cð 	(ð 	(ð 	(ð 	(ð 	(ð 	(ð 	(ð 	(ð 	ˆ�YÐ 1Ñ2Ô2Ð2Øˆ�] MÑ2Ô2Ð2àˆrA   c                 ór   — d| j         v r-|                      |di ¦  «        }|r|                     ¦   «         S d S )Nr–   )r[   rš   Ú
splitlines©rc   r;   rÂ   s      r    r¥   z#_ConfigExpander._obtain_classifiersX  sC   € Ø˜DœLÐ(Ð(Ø—L’L  }°bÑ9Ô9ˆEØð *Ø×'Ò'Ñ)Ô)Ð)ØˆtrA   c                 óh   — d| j         v r(|                      |di ¦  «        }|rt          |¦  «        S d S )Nr—   )r[   rš   Ú_parse_requirements_listrÏ   s      r    r¦   z$_ConfigExpander._obtain_dependencies_  s?   € Ø˜Tœ\Ð)Ð)Ø—L’L  ~°rÑ:Ô:ˆEØð 7Ý/°Ñ6Ô6Ð6ØˆtrA   c                 óä   ‡ — d‰ j         vrd S d‰ j        v rD‰ j        d         }t          |t          ¦  «        sJ ‚ˆ fd„|                     ¦   «         D ¦   «         S ‰                      |d¦  «         d S )Nr˜   c           
      óf   •— i | ]-\  }}|t          ‰                     d |› �|i ¦  «        ¦  «        “Œ.S )z.tool.setuptools.dynamic.optional-dependencies.)rÑ   r·   )r›   rÀ   r¶   rc   s      €r    r�   zA_ConfigExpander._obtain_optional_dependencies.<locals>.<dictcomp>l  s_   ø€ ð ð ð ñ %�E˜9ð Õ/°×0FÒ0FØLÀUÐLÐLØØñ1ô 1ñ ô ðð ð rA   )r[   r_   r†   r‰   r¨   r®   )rc   r;   Úoptional_dependencies_maps   `  r    r§   z-_ConfigExpander._obtain_optional_dependenciesf  s¡   ø€ Ø"¨$¬,Ð6Ð6Ø�4Ø" dÔ&6Ð6Ð6Ø(,Ô(8Ð9PÔ(QÐ%ÝÐ7½Ñ>Ô>Ð>Ð>Ð>ðð ð ð ð )B×(GÒ(GÑ(IÔ(Iðñ ô ð ð 	×#Ò# DÐ*AÑBÔBÐBØˆtrA   ©NFN)r   r   )rp   )r;   r   )Ú__name__Ú
__module__Ú__qualname__r‰   r	   Ú_PathÚboolrd   ri   rË   r   ro   ru   r   rw   rz   r   r{   r|   r®   r·   rš   r£   r   r¤   r¢   r¥   r¦   r§   r…   rA   r    rX   rX       sš  € € € € € ð %)Ø%*Ø)-ð1ð 1àð1ð ˜5”/ð1ð #ð	1ð
 �~Ô&ð1ð 1ð 1ð 1ð"1ð 1ð 1ð 1ð8¨ð 8°Sð 8¸hð 8ð 8ð 8ð 8ð
:ð :ð :ð :ðð ð ð"
Pð 
Pð 
PðKð Kð KðG¨G°C¸°HÔ,=ð Gð Gð Gð Gð
)¨ð )ÀWÈSÐRUÈXÔEVð )ð )ð )ð )ð<#¨>ð #À#ð #ð #ð #ð #ðØðØ6=¸cÀ3¸hÔ6Gðð ð ð ð˜Nð °3ð ÀWÈSÐRUÈXÔEVð ð ð ð ð Nð ÀÈÈcÈÔARð ð ð ð ð >ð °h¸tÀCÈÀH¼~Ô6Nð ð ð ð ðØ"ðØ18¸¸c¸Ô1Bðà	�$�s˜D�y”/Ô	"ðð ð ð ð8ð ð ð ðð ð ð ðð ð ð ð ð rA   rX   c                 ó>   — d„ |                       ¦   «         D ¦   «         S )Nc                 óˆ   — g | ]?}|                      ¦   «         ¯|                      ¦   «                              d ¦  «        °=|‘Œ@S )ú#)r2   Ú
startswith)r›   Úlines     r    ú
<listcomp>z,_parse_requirements_list.<locals>.<listcomp>y  sV   € ð ð ð àØ�:Š:‰<Œ<ðð !%§
¢
¡¤× 7Ò 7¸Ñ <Ô <ðØðð ð rA   )rÎ   )rÂ   s    r    rÑ   rÑ   x  s/   € ðð à×$Ò$Ñ&Ô&ðñ ô ð rA   c              #   ó¨   K  — | sd V — d S 	 d V — d S # t           $ r5}t                               d|j        j        › d|› �¦  «         Y d }~d S d }~ww xY w)Nzignored error: z - )Ú	Exceptionr3   r4   Ú	__class__rÖ   )r?   r9   s     r    rN   rN   €  sŒ   è è € àð ØˆˆˆØˆðHØˆˆˆˆˆøÝð Hð Hð HÝ�ŠÐF¨¬Ô(=ÐFÐFÀ"ÐFÐFÑGÔGÐGÐGÐGÐGÐGÐGÐGøøøøðHøøøs   Œ ’
Aœ*AÁAc                   ó@   ‡ — e Zd Zdddedefˆ fd„Zˆ fd„Zˆ fd„Zˆ xZS )rx   Údistributionr   r]   r^   c                 óf   •— t          ¦   «                              |¦  «         || _        || _        d S rn   )Úsuperrd   Ú_project_cfgÚ_setuptools_cfg)rc   rå   r]   r^   rã   s       €r    rd   z"_EnsurePackagesDiscovered.__init__�  s3   ø€ õ 	‰Œ×Ò˜Ñ&Ô&Ð&Ø'ˆÔØ-ˆÔÐÐrA   c                 óè  •— | j         | j        }}|                     di ¦  «        }|                     |j        pi ¦  «         ||_        |j                             ¦   «          |j        j        €$| j	         
                    d¦  «        |j        _        |j        €| 
                    d¦  «        |_        |j        €| 
                    d¦  «        |_        t          ¦   «                              ¦   «         S )z«When entering the context, the values of ``packages``, ``py_modules`` and
        ``package_dir`` that are missing in ``dist`` are copied from ``setuptools_cfg``.
        rƒ   Nr1   ú
py-modulesr�   )r`   ré   rM   r}   ry   Úset_defaultsÚ_ignore_ext_modulesÚmetadatar1   rè   r,   Ú
py_modulesr�   rç   Ú	__enter__)rc   r;   Úcfgry   rã   s       €r    rð   z#_EnsurePackagesDiscovered.__enter__”  sÓ   ø€ ð ”J Ô 4ˆcˆØ&)§n¢n°]ÀBÑ&GÔ&GˆØ×Ò˜4Ô+Ð1¨rÑ2Ô2Ð2Ø&ˆÔàÔ×-Ò-Ñ/Ô/Ð/ð Œ=ÔÐ%Ø!%Ô!2×!6Ò!6°vÑ!>Ô!>ˆDŒMÔØŒ?Ð"Ø!Ÿgšg lÑ3Ô3ˆDŒOØŒ=Ð ØŸGšG JÑ/Ô/ˆDŒMå‰wŒw× Ò Ñ"Ô"Ð"rA   c                 óÞ   •— | j                              d| j        j        ¦  «         | j                              d| j        j        ¦  «         t          ¦   «                              |||¦  «        S )zŸWhen exiting the context, if values of ``packages``, ``py_modules`` and
        ``package_dir`` are missing in ``setuptools_cfg``, copy from ``dist``.
        r�   rë   )ré   rM   r`   r�   rï   rç   Ú__exit__)rc   Úexc_typeÚ	exc_valueÚ	tracebackrã   s       €r    ró   z"_EnsurePackagesDiscovered.__exit__ª  s]   ø€ ð
 	Ô×'Ò'¨
°D´JÔ4GÑHÔHÐHØÔ×'Ò'¨°d´jÔ6KÑLÔLÐLÝ‰wŒw×Ò ¨)°YÑ?Ô?Ð?rA   )rÖ   r×   rØ   r‰   rd   rð   ró   Ú__classcell__)rã   s   @r    rx   rx   Œ  s�   ø€ € € € € ð.Ø*ð.Ø9=ð.ØOSð.ð .ð .ð .ð .ð .ð#ð #ð #ð #ð #ð,@ð @ð @ð @ð @ð @ð @ð @ð @rA   rx   c                   ó   — e Zd ZdZdS )rJ   zDSupport for `[tool.setuptools]` in `pyproject.toml` is still *beta*.N)rÖ   r×   rØ   Ú_SUMMARYr…   rA   r    rJ   rJ   ´  s   € € € € € ØU€H€H€HrA   rJ   )F)TFNrÕ   )1Ú__doc__ÚloggingrF   Ú
contextlibr   Ú	functoolsr   Útypingr   r   r   r   r	   r
   r   Úerrorsr   r   Úwarningsr   r*   r   rr   Ú_apply_pyprojecttomlr   r   r   r>   rg   r   rË   ÚPathLikerÙ   Ú	getLoggerrÖ   r3   r‰   r!   rÚ   r.   r@   r=   rP   rX   rÑ   rN   ÚEnsurePackagesDiscoveredrx   rJ   r…   rA   r    ú<module>r     s,  ðð	ð 	ð €€€Ø 	€	€	€	Ø %Ð %Ð %Ð %Ð %Ð %Ø Ð Ð Ð Ð Ð Ø OÐ OÐ OÐ OÐ OÐ OÐ OÐ OÐ OÐ OÐ OÐ OÐ OÐ OÐ OÐ OÐ OÐ Oà +Ð +Ð +Ð +Ð +Ð +Ð +Ð +Ø (Ð (Ð (Ð (Ð (Ð (Ø Ð Ð Ð Ð Ð Ø HÐ HÐ HÐ HÐ HÐ HÐ HÐ HØ 1Ð 1Ð 1Ð 1Ð 1Ð 1àð -Ø,Ð,Ð,Ð,Ð,Ð,àˆc�2”;ÐÔ€Ø
ˆ'Ô
˜HÑ
%Ô
%€ð ˜ð   $ð  ð  ð  ð  ð:�Tð : Uð :¨tð :ð :ð :ð :ð0 ð	*ð 	*Ø
ð	*àð	*ð ð		*ð 	*ð 	*ð 	*ð ØØ%)ð	@ð @Øð@ð �>Ô
"ð	@ð @ð @ð @ðJ !%Ø!&Ø%)ð	Rð RØðRà�uŒoðRð ðRð �>Ô
"ð	Rð
 
ðRð Rð Rð Rð.Uð Uð Uð Uð Uñ Uô Uð Uðpð ð ð ðH¨ð Hð Hð Hñ „ðHð%@ð %@ð %@ð %@ð %@ Ô @ñ %@ô %@ð %@ðPVð Vð Vð Vð VÐ*ñ Vô Vð Vð Vð VrA   