§
    Á³gŽL  ã                   ó>  — d Z ddl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 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e#de#ded         de%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$e0¦  «        Z1 G d%„ d&e0¦  «        Z2dS )*z„
Load setuptools configuration from ``pyproject.toml`` files.

**PRIVATE MODULE**: API reserved for setuptools internal usage only.
é    N)Úcontextmanager)Úpartial)ÚTYPE_CHECKINGÚCallableÚDictÚOptionalÚMappingÚSetÚUnion)Ú	FileErrorÚOptionErroré   )Úexpand)Úapply)Ú_PREVIOUSLY_DEFINEDÚ_WouldIgnoreField©Ú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      ú]/var/www/html/mpstechhub/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Úexr.   Ú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)r9   r   Úignore_option_errorsr    s       r   Úapply_configurationr>   6   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d}t          j        |t          ¦  «         | 
                    ¦   «         }	|r-t          |dd¦  «        �|                     d	|j        ¦  «         n|                     d	d
¦  «         ||d<   ||d<   	 |d|idœ}
t          |
| ¦  «         n]# t          $ rP}t!          ||	|¦  «        ri cY d}~S |r+t"                               d|j        j        › d|› �¦  «         n‚ Y d}~nd}~ww xY w|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Ú
setuptoolszDSupport for `[tool.setuptools]` in `pyproject.toml` is still *beta*.Úinclude_package_dataNzinclude-package-dataT)r%   rA   úignored error: ú - )ÚosÚpathÚabspathÚisfiler   r   r*   ÚwarningsÚwarnÚ_BetaConfigurationÚcopyÚgetattrÚ
setdefaultrC   r,   Ú	ExceptionÚ_skip_bad_configr1   r2   Ú	__class__Ú__name__ÚdirnameÚexpand_configuration)r   r   r=   r9   ÚasdictÚproject_tableÚ
tool_tableÚsetuptools_tableÚmsgÚorig_setuptools_tableÚsubsetr7   Úroot_dirs                r   r;   r;   B   s6  € õ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ÐØð ˜-ð Ð+;ð Øˆ	àð /àTˆÝŒ�cÕ-Ñ.Ô.Ð.ð -×1Ò1Ñ3Ô3ÐØð B•˜Ð4°dÑ;Ô;ÐGØ×#Ò#Ð$:¸DÔ<UÑVÔVÐVÐVà×#Ò#Ð$:¸DÑAÔAÐAà€Fˆ6�NØ/€Jˆ|Ñðà*°\ÐCSÐ4TÐUÐUˆÝ�˜Ñ"Ô"Ð"Ð"øÝð 	ð 	ð 	å˜MÐ+@À$ÑGÔGð 	ØˆIˆIˆIˆIˆIˆIð  ð 	Ý�MŠMÐJ¨B¬LÔ,AÐJÐJÀbÐJÐJÑKÔKÐKÐKàð LÐKÐKÐKÐKøøøøð	øøøð ð RÝ”7—?’? 8Ñ,Ô,ˆÝ# F¨HÐ6JÈDÑQÔQÐQà€Ms$   Ä/E Å
F!ÅFÅ#F!Å).FÆF!Úproject_cfgÚsetuptools_cfgc                 ó  — |�|j         j        €|j         j        €	|j        €dS |rdS t	          |                      ¦   «         ¦  «        }h d£}||k    r5t          j        t           	                    ¦   «         t          d¬¦  «         dS dS )z8Be temporarily forgiving with invalid ``pyproject.toml``NF>   úrequires-pythonr/   ÚversionÚpython_requiresé   )Ú
stacklevelT)
Úmetadatar/   rb   Úinstall_requiresÚsetÚkeysrJ   rK   Ú_InvalidFileÚmessage)r^   r_   r9   Úgiven_configÚpopular_subsets        r   rQ   rQ   ‘   sš   € ð €|ØŒÔÐ"ØŒMÔ!Ð)ØÔ!Ð)ð ˆuàð àˆuå�{×'Ò'Ñ)Ô)Ñ*Ô*€LØNÐNÐN€NØ�~Ò%Ð%õ 	Œ•l×*Ò*Ñ,Ô,­lÀqÐIÑIÔIÐIØˆtàˆ5r?   r]   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    r]   r=   r9   s       r   rU   rU   ¯   s%   € õ( ˜6 8Ð-AÀ4ÑHÔH×OÒOÑQÔQÐQr?   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 )%ro   NFr    r]   r=   r9   r   c                 óž  — || _         |pt          j        ¦   «         | _        |                     di ¦  «        | _        | j                             dg ¦  «        | _        |                     di ¦  «                             di ¦  «        | _        | j                             di ¦  «        | _        || _	        || _
        t          ¦   «         | _        d S )Nr%   ÚdynamicrA   rB   )r    rF   Úgetcwdr]   r*   r^   rr   r_   Údynamic_cfgr=   Ú_distrh   Ú_referenced_files)Úselfr    r]   r=   r9   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ˆÔÐÐr?   r   c                 óx   — ddl m} | j        | j                             dd ¦  «        dœ}| j        p
 ||¦  «        S )Nr   r   r/   )Úsrc_rootr/   )Úsetuptools.distr   r]   r^   r*   ru   )rw   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Ð0r?   Ú	containerÚfieldÚfnc                 ó”   — ||v rCt          | j        ¦  «        5   |||         ¦  «        ||<   d d d ¦  «         d S # 1 swxY w Y   d S d S ©N)Ú_ignore_errorsr=   )rw   r~   r   r€   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 r‚   )r_   r*   Ú_expandÚcanonic_package_data)rw   r   Úpackage_datas      r   Ú_canonic_package_dataz%_ConfigExpander._canonic_package_dataã   s+   € ØÔ*×.Ò.¨u°bÑ9Ô9ˆÝÔ+¨LÑ9Ô9Ð9r?   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_packagesrŠ   r}   Ú_EnsurePackagesDiscoveredr^   r_   Úpackage_dirÚ_expand_data_filesÚ_expand_cmdclassÚ_expand_all_dynamicrv   Úupdater    )rw   r9   ÚctxÚensure_discoveredrŽ   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Úfindr]   úpackage-dirÚfill_package_dir© )r_   r*   Ú
isinstanceÚlistÚtupleÚdictr]   rO   rƒ   r=   r‡   Úfind_packages)rw   r–   r—   s      r   rŒ   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)r]   z
data-files)r   r‡   Úcanonic_data_filesr]   r„   r_   )rw   Ú
data_filess     r   r�   z"_ConfigExpander._expand_data_files  s:   € Ý�WÔ7À$Ä-ÐPÑPÔPˆ
Ø×Ò˜DÔ/°¸zÑJÔJÐJÐJÐJr?   rŽ   c                 ó„   — | j         }t          t          j        ||¬¦  «        }|                      | j        d|¦  «         d S )N)rŽ   r]   Úcmdclass)r]   r   r‡   r¤   r„   r_   )rw   rŽ   r]   r¤   s       r   r�   z _ConfigExpander._expand_cmdclass  sA   € Ø”=ˆÝ�7Ô+¸ÈxÐXÑXÔXˆØ×Ò˜DÔ/°¸XÑFÔFÐFÐFÐFr?   c           
      óÐ  ‡ ‡‡‡— dŠˆˆˆ ˆfd„‰ j         D ¦   «         }|                     ‰                      ‰‰¦  «        pi ‰                      ‰‰¦  «        ‰                      ‰¦  «        ‰                      ‰¦  «        ‰                      ‰¦  «        ‰                      ‰¦  «        ¬¦  «         d„ |                     ¦   «         D ¦   «         }‰ j	                             |¦  «         d S )N)rb   Úreadmeúentry-pointsÚscriptsúgui-scriptsÚclassifiersÚdependenciesúoptional-dependenciesc                 óH   •— i | ]}|‰v¯|‰                      ‰|‰¦  «        “ŒS rš   )Ú_obtain)Ú.0r   r9   rŽ   rw   Úspecials     €€€€r   ú
<dictcomp>z7_ConfigExpander._expand_all_dynamic.<locals>.<dictcomp>  s@   ø€ ð 
ð 
ð 
àØ˜GÐ#Ð#ð �4—<’<  e¨[Ñ9Ô9à#Ð#Ð#r?   )rb   r¦   rª   r«   Úoptional_dependenciesc                 ó   — i | ]
\  }}|®||“ŒS r‚   rš   )r¯   ÚkÚvs      r   r±   z7_ConfigExpander._expand_all_dynamic.<locals>.<dictcomp>(  s   € ÐNÐNÐN™D˜A˜qÀÀ�1�aÀÀÀr?   )
rr   r’   Ú_obtain_entry_pointsÚ_obtain_versionÚ_obtain_readmeÚ_obtain_classifiersÚ_obtain_dependenciesÚ_obtain_optional_dependenciesÚitemsr^   )rw   r9   rŽ   Ú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ˆØÔ×Ò Ñ(Ô(Ð(Ð(Ð(r?   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   )rw   r9   r   ÚpreviousrZ   s        r   Ú_ensure_previously_setz&_ConfigExpander._ensure_previously_set+  s_   € Ý& uÔ-¨dÑ3Ô3ˆØÐ DÔ$=ÐðY°eð Yð Yð Yð õ
 ˜cÑ"Ô"Ð"ð ÐÐÐr?   Ú	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Ä   rƒ   r=   r]   rv   r’   r‡   Ú
read_filesÚ	read_attrr4   )rw   rÂ   Ú	directiverŽ   rÄ   r]   s         r   Ú_expand_directivez!_ConfigExpander._expand_directive5  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.)rt   rÊ   rÁ   )rw   r9   r   rŽ   s       r   r®   z_ConfigExpander._obtainD  s^   € Ø�DÔ$Ð$Ð$Ø×)Ò)Ø2¨5Ð2Ð2ØÔ  Ô'Øñô ð ð
 	×#Ò# D¨%Ñ0Ô0Ð0Øˆtr?   c                 ó|   — d| j         v r2d| j        v r)t          j        |                      |d|¦  «        ¦  «        S d S )Nrb   )rr   rt   r‡   rb   r®   )rw   r9   rŽ   s      r   r·   z_ConfigExpander._obtain_versionN  sA   € à˜œÐ$Ð$¨°dÔ6FÐ)FÐ)FÝ”? 4§<¢<°°iÀÑ#MÔ#MÑNÔNÐNØˆtr?   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Î   )rr   rt   r®   r*   rÁ   )rw   r9   rt   s      r   r¸   z_ConfigExpander._obtain_readmeT  s~   € Ø˜4œ<Ð'Ð'Ø�4àÔ&ˆØ�{Ð"Ð"àŸš T¨8°RÑ8Ô8Ø +¨HÔ 5× 9Ò 9¸.È,Ñ WÔ Wðð ð ð
 	×#Ò# D¨(Ñ3Ô3Ð3Øˆtr?   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 r‚   )rr   )r¯   r   rw   s     €r   ú	<genexpr>z7_ConfigExpander._obtain_entry_points.<locals>.<genexpr>f  s*   øè è € Ð=Ð=¨U�5˜DœLÐ(Ð=Ð=Ð=Ð=Ð=Ð=r?   r§   r   Úgroupc                 ó¸   •— |‰v rT‰                      |¦  «        }| ‰j        vr/t          j        | |¦  «        }t	          j        |t          ¦  «         |‰| <   d S d S r‚   )Úpoprr   r   rk   rJ   rK   )r   rÓ   ÚvaluerZ   ÚexpandedÚgroupsrw   s       €€€r   Ú_set_scriptsz:_ConfigExpander._obtain_entry_points.<locals>._set_scriptsp  se   ø€ Ø˜ˆˆØŸ
š
 5Ñ)Ô)�Ø ¤Ð,Ð,Ý+Ô3°E¸5ÑAÔA�CÝ”M #Õ'8Ñ9Ô9Ð9ð #(�˜‘��ð ˆr?   r¨   Úconsole_scriptsr©   Úgui_scripts)Úanyr®   r‡   Úentry_pointsÚstr)rw   r9   rŽ   ÚfieldsrÏ   rÙ   r×   rØ   s   `     @@r   r¶   z$_ConfigExpander._obtain_entry_pointsb  sÑ   øøø€ ð <ˆÝÐ=Ð=Ð=Ð=°fÐ=Ñ=Ô=Ñ=Ô=ð 	Ø�4à�|Š|˜D .°+Ñ>Ô>ˆØˆ<Ø�4åÔ% dÑ+Ô+ˆØ" FÐ+ˆð	(¥ð 	(­Cð 	(ð 	(ð 	(ð 	(ð 	(ð 	(ð 	(ð 	(ð 	ˆ�YÐ 1Ñ2Ô2Ð2Øˆ�] MÑ2Ô2Ð2àˆr?   c                 ór   — d| j         v r-|                      |di ¦  «        }|r|                     ¦   «         S d S )Nrª   )rr   r®   Ú
splitlines©rw   r9   rÖ   s      r   r¹   z#_ConfigExpander._obtain_classifiers  sC   € Ø˜DœLÐ(Ð(Ø—L’L  }°bÑ9Ô9ˆEØð *Ø×'Ò'Ñ)Ô)Ð)Øˆtr?   c                 óh   — d| j         v r(|                      |di ¦  «        }|rt          |¦  «        S d S )Nr«   )rr   r®   Ú_parse_requirements_listrâ   s      r   rº   z$_ConfigExpander._obtain_dependencies†  s?   € Ø˜Tœ\Ð)Ð)Ø—L’L  ~°rÑ:Ô:ˆEØð 7Ý/°Ñ6Ô6Ð6Øˆtr?   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É   rw   s      €r   r±   zA_ConfigExpander._obtain_optional_dependencies.<locals>.<dictcomp>“  s_   ø€ ð ð ð ñ %�E˜9ð Õ/°×0FÒ0FØLÀUÐLÐLØØñ1ô 1ñ ô ðð ð r?   )rr   rt   r›   rž   r¼   rÁ   )rw   r9   Úoptional_dependencies_maps   `  r   r»   z-_ConfigExpander._obtain_optional_dependencies�  s¡   ø€ Ø"¨$¬,Ð6Ð6Ø�4Ø" dÔ&6Ð6Ð6Ø(,Ô(8Ð9PÔ(QÐ%ÝÐ7½Ñ>Ô>Ð>Ð>Ð>ðð ð ð ð )B×(GÒ(GÑ(IÔ(Iðñ ô ð ð 	×#Ò# DÐ*AÑBÔBÐBØˆtr?   ©NFN)r   r   )r…   )r9   r   )rS   Ú
__module__Ú__qualname__rž   r   Ú_PathÚboolrx   r}   rÞ   r   r„   rŠ   r   rŒ   r�   r	   r�   r‘   rÁ   rÊ   r®   r·   r   r¸   r¶   r¹   rº   r»   rš   r?   r   ro   ro   Æ   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”/Ô	"ðð ð ð ð:ð ð ð ðð ð ð ðð ð ð ð ð r?   ro   c                 ó>   — d„ |                       ¦   «         D ¦   «         S )Nc                 óˆ   — g | ]?}|                      ¦   «         ¯|                      ¦   «                              d ¦  «        °=|‘Œ@S )ú#)r0   Ú
startswith)r¯   Úlines     r   ú
<listcomp>z,_parse_requirements_list.<locals>.<listcomp>   sV   € ð ð ð àØ�:Š:‰<Œ<ðð !%§
¢
¡¤× 7Ò 7¸Ñ <Ô <ðØðð ð r?   )rá   )rÖ   s    r   rä   rä   Ÿ  s/   € ðð à×$Ò$Ñ&Ô&ðñ ô ð r?   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)NrD   rE   )rP   r1   r2   rR   rS   )r=   r7   s     r   rƒ   rƒ   §  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 )r�   Údistributionr   r^   r_   c                 óf   •— t          ¦   «                              |¦  «         || _        || _        d S r‚   )Úsuperrx   Ú_project_cfgÚ_setuptools_cfg)rw   rõ   r^   r_   rR   s       €r   rx   z"_EnsurePackagesDiscovered.__init__´  s3   ø€ õ 	‰Œ×Ò˜Ñ&Ô&Ð&Ø'ˆÔØ-ˆÔÐÐr?   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˜   Nr/   ú
py-modulesr–   )ru   rù   rO   r’   rŽ   Úset_defaultsÚ_ignore_ext_modulesrf   r/   rø   r*   Ú
py_modulesr–   r÷   Ú	__enter__)rw   r9   ÚcfgrŽ   rR   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× Ò Ñ"Ô"Ð"r?   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ù   rO   ru   r–   rþ   r÷   Ú__exit__)rw   Úexc_typeÚ	exc_valueÚ	tracebackrR   s       €r   r  z"_EnsurePackagesDiscovered.__exit__Ñ  s]   ø€ ð
 	Ô×'Ò'¨
°D´JÔ4GÑHÔHÐHØÔ×'Ò'¨°d´jÔ6KÑLÔLÐLÝ‰wŒw×Ò ¨)°YÑ?Ô?Ð?r?   )rS   ré   rê   rž   rx   rÿ   r  Ú__classcell__)rR   s   @r   r�   r�   ³  s�   ø€ € € € € ð.Ø*ð.Ø9=ð.ØOSð.ð .ð .ð .ð .ð .ð#ð #ð #ð #ð #ð,@ð @ð @ð @ð @ð @ð @ð @ð @r?   r�   c                   ó   — e Zd ZdZdS )rL   zJExplicitly inform users that some `pyproject.toml` configuration is *beta*N)rS   ré   rê   Ú__doc__rš   r?   r   rL   rL   Û  s   € € € € € ØTÐTÐTÐTr?   rL   c                   ó(   — e Zd ZdZed„ ¦   «         ZdS )rj   aú  The given `pyproject.toml` file is invalid and would be ignored.
    !!


    ############################
    # Invalid `pyproject.toml` #
    ############################

    Any configurations in `pyproject.toml` will be ignored.
    Please note that future releases of setuptools will halt the build process
    if an invalid file is given.

    To prevent setuptools from considering `pyproject.toml` please
    DO NOT include the `[project]` or `[tool.setuptools]` tables in your file.
    

!!
    c                 ó.   — ddl m}  || j        ¦  «        S )Nr   )Úcleandoc)Úinspectr  r  )Úclsr  s     r   rk   z_InvalidFile.messageï  s&   € à$Ð$Ð$Ð$Ð$Ð$Øˆx˜œÑ$Ô$Ð$r?   N)rS   ré   rê   r  Úclassmethodrk   rš   r?   r   rj   rj   ß  s9   € € € € € ðð ð ð%ð %ñ „[ð%ð %ð %r?   rj   )F)TFNrè   )3r  ÚloggingrF   rJ   Ú
contextlibr   Ú	functoolsr   Útypingr   r   r   r   r	   r
   r   Úsetuptools.errorsr   r   r(   r   r‡   Ú_apply_pyprojecttomlr   r<   r   r   r{   r   rÞ   ÚPathLikerë   Ú	getLoggerrS   r1   rž   r   rì   r,   r>   r;   rQ   rU   ro   rä   rƒ   ÚEnsurePackagesDiscoveredr�   ÚUserWarningrL   rj   rš   r?   r   ú<module>r     s„  ððð ð
 €€€Ø 	€	€	€	Ø €€€Ø %Ð %Ð %Ð %Ð %Ð %Ø Ð Ð Ð Ð Ð Ø OÐ OÐ OÐ OÐ OÐ OÐ OÐ OÐ OÐ OÐ OÐ OÐ OÐ OÐ OÐ OÐ OÐ Oà 4Ð 4Ð 4Ð 4Ð 4Ð 4Ð 4Ð 4à Ð Ð Ð Ð Ð Ø 1Ð 1Ð 1Ð 1Ð 1Ð 1Ø HÐ HÐ HÐ HÐ HÐ HÐ HÐ Hàð -Ø,Ð,Ð,Ð,Ð,Ð,àˆc�2”;ÐÔ€Ø
ˆ'Ô
˜HÑ
%Ô
%€ð ˜ð   $ð  ð  ð  ð  ð:�Tð : Uð :¨tð :ð :ð :ð :ð0 ð	*ð 	*Ø
ð	*àð	*ð ð		*ð 	*ð 	*ð 	*ð ØØ%)ð	Lð LØðLð �>Ô
"ð	Lð Lð Lð Lð^ØðØ'+ðØ3;¸NÔ3Kðà	ðð ð ð ð@ !%Ø!&Ø%)ð	Rð RØðRà�uŒoðRð ðRð �>Ô
"ð	Rð
 
ðRð Rð Rð Rð.Vð Vð Vð Vð Vñ Vô Vð Vðrð ð ð ðH¨ð Hð Hð Hñ „ðHð%@ð %@ð %@ð %@ð %@ Ô @ñ %@ô %@ð %@ðPUð Uð Uð Uð U˜ñ Uô Uð Uð%ð %ð %ð %ð %�;ñ %ô %ð %ð %ð %r?   