ó
    Eñi°J  ã                  óv  • % S r SSKJr  SSKrSSKrSSKJr  SSKJr  SSK	J
r
Jr  SSKJr  SSKJr  SS	KJr  SS
KJrJrJrJrJr  SSKJr  SSKJr  SSKJrJr  SSKJ r   SSK!J"r"J#r#  \(       a  SSK$J%r%  SSK&J'r'  SSK(J)r)  SSK*J+r+  \" 0 5      r,S\-S'   \\.\/\.\.4   4   r0S\-S'   \S\\\S4   /S4   r1S\-S'   \" S5      r2\Rf                  " \45      r5SsS jr6StS jr7SuS jr8SvS  jr9SwS! jr:SxS" jr;S#S$S%S&.r<SyS' jr=      SzS( jr>S{S) jr?S|S* jr@S}S+ jrAS~S, jrBSS- jrCS}S. jrDS€S/ jrES�S0 jrFS‚S1 jrGSƒS2 jrHS„S3 jrI\,4S…S4 jjrJS†S5 jrKS‡S7 jrLSˆS8 jrMS‰S9 jrNSŠS: jrOSŠS; jrPS‹S< jrQS= rRS> rS\>\?\
" \@S?S@9\
" \@SAS@9\A\C\D\BSB.rTSC\-SD'   SESF0rUSGSH0rV\
" \QSI5      \
" \QSJ5      \
" \QSK5      SL.rW1 SMkrXSN\E0rY0 S6\R" SO5      _SP\R" SQ5      _SR\R" SS5      _ST\R" SU5      _SV\S" SWSX5      _SY\S" SZS[5      _S\\S" S]S^5      _S_\S" S`Sa5      _Sb\R" Sc5      _Sd\R" Se5      _Sf\R" Sg5      _Sh\N_SF\O_Si\P_Sj\R" Sk5      _Sl\R" Sm5      _rZSn\R¶                  \R¶                  \R¶                  \R¶                  \R¸                  \R¸                  \R¸                  \R¸                  \R¶                  \R¸                  So.r]S\-Sp'    " Sq Sr\#5      r^g)Œak  Translation layer between pyproject config and setuptools distribution and
metadata objects.

The distribution and metadata objects are modeled after (an old version of)
core metadata, therefore configs in the format specified for ``pyproject.toml``
need to be processed before being applied.

**PRIVATE MODULE**: API reserved for setuptools internal usage only.
é    )ÚannotationsN)ÚMapping)ÚAddress)ÚpartialÚreduce)Úcleandoc)Úchain)ÚMappingProxyType)ÚTYPE_CHECKINGÚAnyÚCallableÚTypeVarÚUnioné   )Ú_static)ÚStrPath)ÚInvalidConfigErrorÚRemovedConfigError)Ú	Extension)ÚSetuptoolsDeprecationWarningÚSetuptoolsWarning)Ú	TypeAlias©Úmetadata©ÚDistribution)Ú_OptionsListr   ÚEMPTYr   Ú_ProjectReadmeValuer   Ú_CorrespondenceÚ_TÚdictc                ó²  • U(       d  U $ [         R                  R                  U5      =(       d    Sn[        XU5        [	        XU5        [         R
                  " 5       n[         R                  " U5         U R                  5         U R                  5         U R                  5         [         R                  " U5        U $ ! [         R                  " U5        f = f)z=Apply configuration dict read with :func:`read_configuration`Ú.)
ÚosÚpathÚdirnameÚ_apply_project_tableÚ_apply_tool_tableÚgetcwdÚchdirÚ_finalize_requiresÚ_finalize_license_expressionÚ_finalize_license_files)ÚdistÚconfigÚfilenameÚroot_dirÚcurrent_directorys        Úc/home/mande/repo/quber/.venv/lib/python3.13/site-packages/setuptools/config/_apply_pyprojecttoml.pyÚapplyr5   .   s›   € ö Øˆä�w‰w�‰˜xÓ(×/¨C€Hä˜ xÔ0Ü�d HÔ-äŸ	š	›ÐÜ‡H‚HˆXÔð$Ø×ÑÔ!Ø×)Ñ)Ô+Ø×$Ñ$Ô&ä
�ŠÐ"Ô#à€Køô 	�ŠÐ"Õ#ús   Á60B> Â>Cc                ó¢  • UR                  S0 5      nU(       d  g UR                  5        VVs0 s H  u  pEU[        R                  " U5      _M     nnn[	        X5        [        U5        UR                  5        HL  u  px[        U5      n	[        R                  X™5      n
[        U
5      (       a  U
" XU5        M@  [        X
U5        MN     g s  snnf )NÚproject)
ÚgetÚitemsr   Úattempt_conversionÚ_handle_missing_dynamicÚ_unify_entry_pointsÚjson_compatible_keyÚPYPROJECT_CORRESPONDENCEÚcallableÚ_set_config)r/   r0   r2   Úorig_configÚkÚvÚproject_tableÚfieldÚvalueÚnorm_keyÚcorresps              r4   r(   r(   E   s­   € Ø—*‘*˜Y¨Ó+€KÞØàBM×BSÑBSÔBUÔVÒBU¹$¸!�Qœ×2Ò2°1Ó5Ò5ÑBU€MÑVÜ˜DÔ0Ü˜Ô&à%×+Ñ+Ö-‰ˆÜ& uÓ-ˆÜ*×.Ñ.¨xÓBˆÜ�G×ÑÙ�D Ö*ä˜ uÖ-ò .ùó	 Ws   ®#Cc                ój  • UR                  S0 5      R                  S0 5      nU(       d  g SU;   a<  SUR                  S0 5      ;   a  [        S5      eSn[        R                  " SSU 3S	S
9  UR	                  5        H§  u  pV[        U5      nU[        ;   a=  [        [        U   5      nSU S3n	[        SR                  [        U	5      U/5      5      e[        R                  Xw5      n[        R                  Xw5      n
[        U
5      (       a
  U
" X5        M›  [        X
U5        M©     [        XU5        g )NÚtoolÚ
setuptoolszlicense-filesr7   zS'project.license-files' is defined already. Remove 'tool.setuptools.license-files'.z,guides/writing-pyproject-toml/#license-fileszt'tool.setuptools.license-files' is deprecated in favor of 'project.license-files' (available on setuptools>=77.0.0).ú'https://packaging.python.org/en/latest/©ië  r   é   ©Úsee_urlÚdue_datez,
            The parameter `tool.setuptools.zZ` was long deprecated
            and has been removed from `pyproject.toml`.
            Ú
)r8   r   r   Úemitr9   r=   ÚTOOL_TABLE_REMOVALSr   r   ÚjoinÚTOOL_TABLE_RENAMESÚTOOL_TABLE_CORRESPONDENCEr?   r@   Ú_copy_command_options)r/   r0   r1   Ú
tool_tableÚpypa_guidesrE   rF   rG   Ú
suggestionÚmsgrH   s              r4   r)   r)   W   s3  € Ø—‘˜F BÓ'×+Ñ+¨L¸"Ó=€JÞØà˜*Ó$Ø˜fŸj™j¨°BÓ7Ó7ä$ð:óð ð
 EˆÜ$×)Ò)ðIà=¸k¸]ÐKØ"ò		
ð #×(Ñ(Ö*‰ˆÜ& uÓ-ˆàÔ*Ó*Ü!Ô"5°hÑ"?Ó@ˆJð,Ø,1¨7ð 3ðˆCô % T§Y¡Y´¸³¸zÐ/JÓ%KÓLÐLä%×)Ñ)¨(Ó=ˆÜ+×/Ñ/°ÓCˆÜ�G×ÑÙ�DÖ ä˜ uÖ-ñ! +ô$ ˜&¨Õ1ó    c                ó  • [        UR                  S/ 5      5      n[        R                  5        HN  u  p4X1;   a  M  X2;   a  M  U" U 5      nU(       d  M$  [        R                  X5S9  [        R                  U5      X'   MP     g)zJBe temporarily forgiving with ``dynamic`` fields not listed in ``dynamic``Údynamic©rE   rF   N)Úsetr8   Ú_PREVIOUSLY_DEFINEDr9   Ú_MissingDynamicrS   Ú_RESET_PREVIOUSLY_DEFINED)r/   rD   r_   rE   ÚgetterrF   s         r4   r;   r;   �   sk   € ä�-×#Ñ# I¨rÓ2Ó3€GÜ,×2Ñ2Ö4‰ˆØÕ&¨%Õ*:Ù˜4“LˆEßˆuÜ×$Ñ$¨5Ð$Ñ>Ü'@×'DÑ'DÀUÓ'K�Ó$ò 5r]   c                óB   • U R                  5       R                  SS5      $ )z1As defined in :pep:`566#json-compatible-metadata`Ú-Ú_)ÚlowerÚreplace)Úkeys    r4   r=   r=   Œ   s   € à�9‰9‹;×Ñ˜s CÓ(Ð(r]   c                ó(  • [         R                  U[        5      " X5      n[        U R                  SU 3S 5      nU(       a	  U" U5        g [        U R                  U5      (       d
  U[        ;   a  [        U R                  X5        g [        XU5        g )NÚset_)Ú_PREPROCESSr8   Ú_noopÚgetattrr   ÚhasattrÚSETUPTOOLS_PATCHESÚsetattr)r/   rE   rF   ÚvalÚsetters        r4   r@   r@   ‘   sj   € Ü
�/‰/˜%¤Ô
'¨Ó
4€CÜ�T—]‘] d¨5¨' N°DÓ9€FÞÙˆs�Ü	�—‘ ×	&Ñ	&¨%Ô3EÓ*EÜ�—‘˜uÕ*ä�˜SÕ!r]   ztext/markdownz
text/x-rstz
text/plain)z.mdz.rstz.txtc                ó@  • [         R                  R                  U R                  5       5      u  pU(       d  g U[        ;   a  [
        R                  " [        U   5      $ SR                  S [        R                  5        5       5      nSU S3n[        SU  SU 35      e)Nú, c              3  ó6   #   • U  H  u  pU S U S3v •  M     g7f)z (Ú)N© )Ú.0rB   rC   s      r4   Ú	<genexpr>Ú&_guess_content_type.<locals>.<genexpr>«   s    é € ÐFÒ/E¡t q˜˜˜2˜a˜S •lÒ/Eùs   ‚z3only the following file extensions are recognized: r$   zUndefined content type for )
r%   r&   Úsplitextri   Ú_CONTENT_TYPESr   ÚStrrU   r9   Ú
ValueError)Úfilerh   ÚextÚvalidr\   s        r4   Ú_guess_content_typer…   £   s„   € Ü�W‰W×Ñ˜dŸj™j›lÓ+�F€AÞØà
ŒnÓÜ�{Š{œ>¨#Ñ.Ó/Ð/à�I‰IÑF¬~×/CÑ/CÔ/EÓFÓF€EØ?À¸wÀaÐ
H€CÜ
Ð2°4°&¸¸3¸%Ð@Ó
AÐAr]   c                óà  • SSK Jn  [        U[        5      (       a  UnUR	                  XB5      n[        U5      nOHUR                  S5      =(       d    SnUR                  S5      =(       d    UR	                  XB5      nUS   n[        U S[        R                  " U5      5        U(       a!  [        U S[        R                  " U5      5        U(       a  U R                  R                  U5        g g )	Nr   ©Úexpandr‚   rz   Útextzcontent-typeÚlong_descriptionÚlong_description_content_type)Úsetuptools.configrˆ   Ú
isinstanceÚstrÚ
read_filesr…   r8   r@   r   r€   Ú_referenced_filesÚadd)r/   rt   r2   rˆ   r‚   r‰   Úctypes          r4   Ú_long_descriptionr“   °   s»   € õ )ô �#”s×ÑØˆØ× Ñ  Ó0ˆÜ# DÓ)‰à�w‰w�v‹×$ "ˆØ�w‰w�v‹×C &×"3Ñ"3°DÓ"CˆØ�NÑ#ˆô �Ð(¬'¯+ª+°dÓ*;Ô<æÜ�DÐ9¼7¿;º;ÀuÓ;MÔNæØ×Ñ×"Ñ" 4Õ(ð r]   c                ó<  • SSK Jn  [        U[        5      (       ae  [	        U R
                  SS 5      (       a'  [        R                  " S5        S U R
                  l        [        U S[        R                  " U5      5        g Sn[        R                  " SSS	U 3S
S9  SU;   aV  UR                  US   /U5      n[        U S[        R                  " U5      5        U R                  R                  US   5        g [        U S[        R                  " US   5      5        g )Nr   r‡   Úlicensez)`license` overwritten by `pyproject.toml`Úlicense_expressionz&guides/writing-pyproject-toml/#licensez/`project.license` as a TOML table is deprecatedz¨Please use a simple string containing a SPDX expression for `project.license`. You can also use `project.license-files`. (Both options available on setuptools>=77.0.0).rL   rM   rO   r‚   r‰   )rŒ   rˆ   r�   rŽ   rp   r   r   rS   r•   r@   r   r€   r   r�   r�   r‘   )r/   rt   r2   rˆ   rZ   rF   s         r4   Ú_licenser—   É   sç   € Ý(ä�#”s×ÑÜ�4—=‘= )¨T×2Ñ2Ü×"Ò"Ð#NÔOØ$(ˆD�M‰MÔ!Ü�DÐ.´·²¸CÓ0@ÕAà>ˆÜ$×)Ò)Ø=ð>ð >¸k¸]ÐKØ"ò	
ð �S‹=à×%Ñ% s¨6¡{ m°XÓ>ˆEÜ˜˜i¬¯ª°UÓ);Ô<Ø×"Ñ"×&Ñ& s¨6¡{Õ3ä˜˜i¬¯ª°S¸±[Ó)AÕBr]   c           	     óÂ  • / n/ nU He  nSU;  a  UR                  US   5        M  SU;  a  UR                  US   5        M;  [        US   US   S9nUR                  [        U5      5        Mg     U(       a/  [        X[        R
                  " SR                  U5      5      5        U(       a3  [        X S3[        R
                  " SR                  U5      5      5        g g )NÚnameÚemail)Údisplay_nameÚ	addr_specrw   Ú_email)Úappendr   rŽ   r@   r   r€   rU   )r/   rt   Ú	_root_dirÚkindrE   Úemail_fieldÚpersonÚaddrs           r4   Ú_peopler¤   ä   s¹   € Ø€EØ€KÛˆØ˜ÓØ×Ñ˜v g™Ö/Ø˜FÓ"Ø�L‰L˜ ™Ö(ä¨¨v©À&ÈÁ/ÑRˆDØ×Ñœs 4›yÖ)ñ ö Ü�D¤§¢¨D¯I©I°eÓ,<Ó =Ô>ÞÜ�D˜F &˜/¬7¯;ª;°t·y±yÀÓ7MÓ+NÕOð r]   c                ó   • [        U SU5        g )NÚproject_urls)r@   ©r/   rt   rŸ   s      r4   Ú_project_urlsr¨   ö   s   € Ü��n cÕ*r]   c                óF   • [        U S[        R                  " U5      5        g )NÚpython_requires)r@   r   ÚSpecifierSetr§   s      r4   Ú_python_requiresr¬   ú   s   € Ü�Ð'¬×)=Ò)=¸cÓ)BÕCr]   c                ód   • [        U S/ 5      (       a  Sn[        R                  " U5        Xl        g )NÚinstall_requireszA`install_requires` overwritten in `pyproject.toml` (dependencies))rp   r   rS   r®   ©r/   rt   rŸ   r\   s       r4   Ú_dependenciesr°   þ   s+   € ÜˆtÐ'¨×,Ñ,ØQˆÜ×Ò˜sÔ#ØÕr]   c                ód   • [        U SS 5      (       a  Sn[        R                  " U5        Xl        g )NÚextras_requirezH`extras_require` overwritten in `pyproject.toml` (optional-dependencies))rp   r   rS   r²   r¯   s       r4   Ú_optional_dependenciesr³     s+   € ÜˆtÐ% t×,Ñ,ØXˆÜ×Ò˜sÔ#ØÕr]   c                óŠ   • U R                   =(       d    / nS U 5       nU Vs/ s H  n[        S0 UD6PM     nn/ UQUQ$ s  snf )Nc           	   3  ó˜   #   • U  H:  oR                  5        VVs0 s H  u  p#UR                  S S5      U_M     snnv •  M<     gs  snnf 7f)rg   rh   N)r9   rj   )r{   ÚxrB   rC   s       r4   r|   Ú_ext_modules.<locals>.<genexpr>  s8   é € ÐHÂC¸q·±´	Ô:²	©¨ˆQ�Y‰Y�s˜CÓ  !Ò#±	×:ÂCùÓ:ùs   ‚A
šA¹A
rz   )Úext_modulesr   )r/   rt   ÚexistingÚargsÚkwÚnews         r4   Ú_ext_modulesr½     sK   € Ø×Ñ×% 2€HÙHÁCÓH€DÙ%)Ó
*¢T˜rŒ9‰?�rŒ?¡T€CÐ
*ØˆXÐ˜ÐÐùò +s   £A c                ó   • U$ ©Nrz   )Ú_distrt   s     r4   ro   ro     ó   € Ø€Jr]   c                ó   • U $ r¿   rz   )rt   s    r4   Ú	_identityrÃ     rÁ   r]   c                óæ  • U nUR                  SUR                  S0 5      5      n[        U5      nSSS.n[        UR                  5       5       H-  u  pV[	        U5      nXt;   d  M  UR                  U5      X4U   '   M/     U(       a^  UR                  5        VV	V
Vs0 s H8  u  p‰U	(       d  M  X‰R                  5        V
Vs/ s H  u  p«U
 SU 3PM     snn
_M:     snn
n	nUS'   g g s  snn
f s  snn
n	nf )Núentry-pointsÚentry_pointsÚconsole_scriptsÚgui_scripts)ÚscriptsrÈ   z = )Úpopr"   Úlistr9   r=   )rD   r7   ÚgivenrÆ   Úrenamingrk   rF   rG   r™   ÚgrouprB   rC   s               r4   r<   r<     sÜ   € Ø€GØ�K‰K˜¨¯©°NÀBÓ(GÓH€EÜ˜“;€LØ,¸]ÑK€HÜ˜7Ÿ=™=›?Ö+‰
ˆÜ& sÓ+ˆØÕà/6¯{©{¸3Ó/?ˆL (Ñ+Ó,ñ	 ,ö ð  ,×1Ñ1Ô3ö#
â3‘�Üó ;ˆD¯K©K¬MÔ:ªM¡D A�a�S˜˜A˜3“<©MÒ:Ò:Ù3ô#
ˆ�Òð ùã:ùõ#
s   ÂC+
Â,C+
Â?C%ÃC+
Ã%C+
c           	     ó,  • U R                  S0 5      nUR                  S0 5      R                  S0 5      n[        U5      nUR                  nU R                  S0 5      R                  S0 5      R                  5        H•  u  px[	        U5      nUR                  U[        5       5      n	UR                  U0 5        UR                  5        HE  u  p«[	        U
5      n
[        U5      U4Xg   U
'   X©;  d  M)  [        R                  SU SU
 S35        MG     M—     g )NrJ   rK   ÚcmdclassÚ	distutilszCommand option r$   z is not defined)
r8   Ú_valid_command_optionsÚcommand_optionsr9   r=   ra   Ú
setdefaultrŽ   Ú_loggerÚwarning)Ú	pyprojectr/   r1   rY   rÐ   Úvalid_optionsÚcmd_optsÚcmdr0   r„   rk   rF   s               r4   rX   rX   0  sô   € Ø—‘˜v rÓ*€JØ�~‰~˜l¨BÓ/×3Ñ3°JÀÓC€HÜ*¨8Ó4€Mà×#Ñ#€HØ —}‘} V¨RÓ0×4Ñ4°[À"ÓE×KÑKÖM‰ˆÜ! #Ó&ˆØ×!Ñ! #¤s£uÓ-ˆØ×Ñ˜C Ô$Ø Ÿ,™,ž.‰JˆCÜ% cÓ*ˆCÜ"% h£-°Ð!7ˆH‰M˜#ÑØÕô —‘ /°#°°a¸°u¸OÐ LÖMó )ò	 Nr]   c           	     óB  • SSK Jn  SSKJn  S[	        UR
                  5      0nUR                  " SS9nS U 5       nS	 U 5       n[        X`R                  5       5       H<  u  pxUR                  U[        5       5      n	U	[	        [        US
/ 5      5      -  n	X“U'   M>     U$ )Nr   r   r   r   Úglobalzdistutils.commands)rÎ   c              3  ó8   #   • U  H  n[        U5      v •  M     g 7fr¿   )Ú_load_ep©r{   Úeps     r4   r|   Ú)_valid_command_options.<locals>.<genexpr>K  s   é € ÐHÒ2G¨Bœ8 BŸ<˜<Ò2Gùs   ‚c              3  ó6   #   • U  H  o(       d  M  Uv •  M     g 7fr¿   rz   rß   s     r4   r|   rá   L  s   é € Ð;Ò!4˜2»—B‘BÒ!4ùs   ‚
�	Úuser_options)Úsetuptools.distr   Ú
_importlibr   Ú_normalise_cmd_optionsÚglobal_optionsrÆ   r	   r9   r8   ra   rp   )
rÐ   r   r   rØ   Úunloaded_entry_pointsÚloaded_entry_pointsrÆ   rÚ   Ú	cmd_classÚoptss
             r4   rÒ   rÒ   C  sž   € Ý,å%àÔ5°l×6QÑ6QÓRÐS€Mà$×1Ò1Ð8LÑMÐÙHÑ2GÓHÐÙ;Ñ!4Ó;€LÜ ¯n©nÓ.>Ö?‰ˆØ× Ñ  ¤c£eÓ,ˆØÔ,¬W°YÀÐPRÓ-SÓTÑTˆØ!�cÓñ @ð
 Ðr]   c                ó*  • U R                   R                  S5      (       a  g  U R                  U R                  5       4$ ! [         aI  nUR
                  R                   SU R                   3n[        R                  U SU 35         S nAg S nAff = f)Nzwheel.bdist_wheelz" while trying to load entry-point z: )	rF   Ú
startswithr™   ÚloadÚ	ExceptionÚ	__class__Ú__name__rÕ   rÖ   )rà   Úexr\   s      r4   rÞ   rÞ   U  s€   € Ø	‡x�x×ÑÐ.×/Ñ/ð ðØ—‘˜Ÿ™›Ð#Ð#øÜó Ø—‘×&Ñ&Ð'Ð'IÈ"Ï'É'ÈÐSˆÜ�‰˜3˜%˜r " ˜Ô'Üûðús   £? ¿
BÁ	?BÂBr™   c                ó6   • [        U 5      R                  S5      $ )Nz_=)r=   Ústrip)r™   s    r4   Ú_normalise_cmd_option_keyrõ   d  s   € Ü˜tÓ$×*Ñ*¨4Ó0Ð0r]   c                óJ   • U  Vs1 s H  n[        US   5      iM     sn$ s  snf )Nr   )rõ   )ÚdescÚfancy_options     r4   ræ   ræ   h  s$   € ÙKOÓPÊ4¸<Ô% l°1¡oÖ6É4ÑPÐPùÒPs   … c                ó–   • Sn[        U SS 5      =(       d    0 nUR                  5        VVs0 s H  u  p4X1;  d  M  X4_M     snn$ s  snnf )N)rÇ   rÈ   rÆ   )rp   r9   )r/   ÚignorerF   rB   rC   s        r4   Ú_get_previous_entrypointsrû   l  sB   € Ø/€FÜ�D˜.¨$Ó/×5°2€EØ"Ÿ[™[œ]Ô>š]‘T�Q¨a©o‹DˆAŠD™]Ò>Ð>ùÓ>s
   ¬A»Ac                óP   • [        U SS 5      =(       d    0 nUR                  S5      $ )NrÆ   rÇ   ©rp   r8   ©r/   rF   s     r4   Ú_get_previous_scriptsrÿ   r  s%   € Ü�D˜.¨$Ó/×5°2€EØ�9‰9Ð&Ó'Ð'r]   c                óP   • [        U SS 5      =(       d    0 nUR                  S5      $ )NrÆ   rÈ   rý   rþ   s     r4   Ú_get_previous_gui_scriptsr  w  s$   € Ü�D˜.¨$Ó/×5°2€EØ�9‰9�]Ó#Ð#r]   c                ó°   • UR                   n[        USU  35      [        USU  35      pTU" U5        [        X0[        R                  " U" 5       5      5        g)zCApply distutils metadata validation but preserve "static" behaviourrm   Úget_N)r   rp   rs   r   ÚList)Úattrr/   rt   Úmetaru   re   s         r4   Ú_set_static_list_metadatar  |  sH   € à�=‰=€DÜ˜T T¨$¨ =Ó1´7¸4À4ÈÀvÀÓ3OˆFÙ
ˆ3„KÜˆDœŸš¡V£XÓ.Õ/r]   c                óD   • [        [        S U R                  S5      5      $ )a  
Similar to ``operator.attrgetter`` but returns None if ``attr`` is not found
>>> from types import SimpleNamespace
>>> obj = SimpleNamespace(a=42, b=SimpleNamespace(c=13))
>>> _attrgetter("a")(obj)
42
>>> _attrgetter("b.c")(obj)
13
>>> _attrgetter("d")(obj) is None
True
c                ó   • [        XS 5      $ r¿   )rp   )Úaccr¶   s     r4   Ú<lambda>Ú_attrgetter.<locals>.<lambda>�  s   € ¬'°#¸$Ô*?r]   r$   )r   r   Úsplit)r  s    r4   Ú_attrgetterr  „  s   € ô ”6Ñ?ÀÇÁÈCÃÓQÐQr]   c                 ó   ^ • U 4S jnU$ )a$  
Return the first "truth-y" attribute or None
>>> from types import SimpleNamespace
>>> obj = SimpleNamespace(a=42, b=SimpleNamespace(c=13))
>>> _some_attrgetter("d", "a", "b.c")(obj)
42
>>> _some_attrgetter("d", "e", "b.c", "a")(obj)
13
>>> _some_attrgetter("d", "e", "f")(obj) is None
True
c                óD   >^ • U 4S jT 5       n[        S U 5       S 5      $ )Nc              3  óF   >#   • U  H  n[        U5      " T5      v •  M     g 7fr¿   )r  )r{   ÚiÚobjs     €r4   r|   Ú5_some_attrgetter.<locals>._acessor.<locals>.<genexpr>¡  s   øé € Ð5ªu¨!”+˜a”. ×%Ð%ªuùs   ƒ!c              3  ó.   #   • U  H  oc  M  Uv •  M     g 7fr¿   rz   )r{   r  s     r4   r|   r  ¢  s   é € Ð8¢˜1—Q‘Q¢ùs   ‚Œ	)Únext)r  Úvaluesr9   s   ` €r4   Ú_acessorÚ"_some_attrgetter.<locals>._acessor   s    ù€ Ü5©uÓ5ˆÜÑ8¡Ó8¸$Ó?Ð?r]   rz   )r9   r  s   ` r4   Ú_some_attrgetterr  “  s   ø€ õ@ð €Or]   Úauthor)r    Ú
maintainer)Úreadmer•   ÚauthorsÚmaintainersÚurlsÚdependenciesÚoptional_dependenciesÚrequires_pythonzdict[str, _Correspondence]r>   Úscript_filesrÉ   Únamespace_packagesz 
        Please migrate to implicit native namespaces instead.
        See https://packaging.python.org/en/latest/guides/packaging-namespace-packages/.
        Ú	obsoletesÚprovidesÚ	platforms)r&  r'  r(  >   Úlicense_filer¦   Úlicense_filesÚprovides_extrasr–   r‹   r¸   zmetadata.nameÚversionzmetadata.versionÚdescriptionzmetadata.descriptionr  zmetadata.long_descriptionzrequires-pythonrª   zmetadata.python_requiresr•   zmetadata.license_expressionzmetadata.licenser  zmetadata.authorzmetadata.author_emailr  zmetadata.maintainerzmetadata.maintainer_emailÚkeywordszmetadata.keywordsÚclassifierszmetadata.classifiersr   zmetadata.project_urlsrÅ   úgui-scriptsr!  r®   úoptional-dependenciesr²   Ú )r•   r  r  r.  r/  r   rÅ   rÉ   r0  r!  r1  rd   c                  ó0   • \ rS rSrSrSr\SS j5       rSrg)rc   i÷  z9`{field}` defined outside of `pyproject.toml` is ignored.a%  
    The following seems to be defined outside of `pyproject.toml`:

    `{field} = {value!r}`

    According to the spec (see the link below), however, setuptools CANNOT
    consider this value unless `{field}` is listed as `dynamic`.

    https://packaging.python.org/en/latest/specifications/pyproject-toml/#declaring-project-metadata-the-project-table

    To prevent this problem, you can list `{field}` under `dynamic` or alternatively
    remove the `[project]` table from your file and rely entirely on other means of
    configuration.
    c                ó4   • U R                   R                  XS9$ )Nr`   )Ú_DETAILSÚformat)ÚclsrE   rF   s      r4   ÚdetailsÚ_MissingDynamic.details  s   € à�|‰|×"Ñ"¨Ð"Ð<Ð<r]   rz   N)rE   rŽ   rF   r   ÚreturnrŽ   )	rñ   Ú
__module__Ú__qualname__Ú__firstlineno__Ú_SUMMARYr5  Úclassmethodr8  Ú__static_attributes__rz   r]   r4   rc   rc   ÷  s"   † ØJ€Hð€Hð$ ó=ó ó=r]   rc   )r/   r   r0   r"   r1   r   r:  r   )r/   r   r0   r"   r2   r   )r/   r   r0   r"   r1   r   )r/   r   rD   r"   )rk   rŽ   r:  rŽ   )r/   r   rE   rŽ   rF   r   )r‚   rŽ   r:  z
str | None)r/   r   rt   r   r2   úStrPath | None)r/   r   rt   z
str | dictr2   rA  )r/   r   rt   ú
list[dict]rŸ   rA  r    rŽ   )r/   r   rt   r"   rŸ   rA  )r/   r   rt   rŽ   rŸ   rA  )r/   r   rt   rË   rŸ   rA  )r/   r   rt   rB  r:  zlist[Extension])rÀ   r   rt   r!   r:  r!   )rt   r!   r:  r!   )rD   r"   )r×   r"   r/   r   r1   r   )rÐ   r   r:  zdict[str, set[str]])rà   zmetadata.EntryPointr:  ztuple[str, type] | None)r™   rŽ   r:  rŽ   )r÷   r   r:  zset[str])r/   r   r:  zdict[str, list])r/   r   r:  zlist | None)r  rŽ   r/   r   rt   rË   r:  ÚNone)_Ú__doc__Ú
__future__r   Úloggingr%   Úcollections.abcr   Úemail.headerregistryr   Ú	functoolsr   r   Úinspectr   Ú	itertoolsr	   Útypesr
   Útypingr   r   r   r   r   r2  r   Ú_pathr   Úerrorsr   r   Ú	extensionr   Úwarningsr   r   Útyping_extensionsr   Úsetuptools._importlibr   rä   r   Údistutils.distr   r   Ú__annotations__rŽ   r"   r   r    r!   Ú	getLoggerrñ   rÕ   r5   r(   r)   r;   r=   r@   r   r…   r“   r—   r¤   r¨   r¬   r°   r³   r½   ro   rÃ   r<   rX   rÒ   rÞ   rõ   ræ   rû   rÿ   r  r  r  r  r>   rV   rT   rW   rr   rn   rb   Ú
EMPTY_LISTÚ
EMPTY_DICTrd   rc   rz   r]   r4   Ú<module>rY     s·  ðòõ #ã Û 	Ý #Ý (ß %Ý Ý Ý "ß ?Õ ?å Ý ß ;Ý !ß FæÝ+å.Ý,å+ñ " "Ó%€€wÓ %Ø!& s¨D°°c°©NÐ':Ñ!;Ð �YÓ ;Ø% ~°s¸EÀ'È4À-Ñ<PÐ&QÐSWÐ&WÑX€�Ó XÙˆTƒ]€à
×
Ò
˜HÓ
%€ôô..ô$'2ôTLô)ô
"ð ØØñ€ô
Bð)Ø
ð)Ø0ð)Ø<Jô)ô2Cô6Pô$+ôDô ôôôôô
ô*Nð& 05ö ô$ô1ôQô?ô(ô
$ô
0òRòð*  ØÙ�w XÑ.Ù˜7¨Ñ6ØØ!Ø3Ø'ñ	8Ð Ð4ó 	ð % iÐ0Ð àð ðÐ ñ Ð2°KÓ@ÙÐ1°:Ó>ÙÐ2°KÓ@ñ	Ð òÐ ð �<ð€ðØ
‰K˜Ó(ðà‰{Ð-Ó.ðð ‘;Ð5Ó6ðð ‰kÐ5Ó6ð	ð
 Ñ'Ð(9Ð;UÓVðð ÑÐ =Ð?QÓRðð ÑÐ 1Ð3JÓKðð Ñ#Ð$9Ð;VÓWðð ‘Ð/Ó0ðð ‘;Ð5Ó6ðð ‰KÐ/Ó0ðð Ð-ðð Ð$ðð  Ð,ð!ð" ‘KÐ 2Ó3ð#ð$ ™[Ð)9Ó:ð%Ð ð4 ð ×!Ñ!Ø×%Ñ%Ø×"Ñ"Ø×%Ñ%Ø×ÑØ×&Ñ&Ø×!Ñ!Ø×%Ñ%Ø×&Ñ&Ø$×/Ñ/ñ!#Ð ˜4ó ô(=Ð'õ =r]   