� ,�ReV4���UdZddlZddlZddlZddlmZddlmZddlm Z m Z ddl m Z ddl mZddlmZmZmZmZmZmZmZmZmZmZdd lmZer dd lmZdd lmZei��Z ee!d <eej"e#fZ$ee%e#fZ&ed ee$gdfZ'ee#e'fZ(ej)e*��Z+dd de%de$dd fd�Z,dd de%de$fd�Z-dd de%de$fd�Z.dd de%fd�Z/de#de#fd�Z0dd de#defd�Z1dddd �Z2d!e#dee#fd"�Z3dd d#e&de$fd$�Z4dd d#e%de$fd%�Z5dd d#ee%d&e$d'e#fd(�Z6dd d#e%fd)�Z7dd d#e%fd*�Z8dd d#e9fd+�Z:dd d#e%fd,�Z;de%fd-�Zd2d3deee#effd4�Z?d5e#de#fd6�Z@d7eee#ee#e#fdee#fd8�ZAd9�ZBd:�ZCe4e5e e6d;�<��e e6d=�<��e7e:e;e8d>�ZDee#e(fe!d?<d@dAiZEdBdCiZFhdD�ZGeBdE��eBdF��eBdG��eBdH��eCdIdJ��eBdK��eCdLdM��eCdNdO��eBdP��eBdQ��eBdR��eBdS��eCdTdU��eCdVdW��dX�ZHGdY�dZeI��ZJdS)[akTranslation 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. �N)�Mapping)�Address)�partial�reduce)�chain)�MappingProxyType) � TYPE_CHECKING�Any�Callable�Dict�List�Optional�Set�Tuple�Type�Union)�SetuptoolsDeprecationWarning��metadata�� Distribution�EMPTYr�dist�config�filename�returnc��|s|Stj�|��pd}t|||��t |||��tj��}tj|�� |���|���tj|��n#tj|��wxYw|S)z=Apply configuration dict read with :func:`read_configuration`�.) �os�path�dirname�_apply_project_table�_apply_tool_table�getcwd�chdir�_finalize_requires�_finalize_license_files)rrr�root_dir�current_directorys ��/builddir/build/BUILDROOT/alt-python311-setuptools-65.6.3-2.el8.x86_64/opt/alt/python311/lib/python3.11/site-packages/setuptools/config/_apply_pyprojecttoml.py�applyr+$s��� ��� ��w���x�(�(�/�C�H���v�x�0�0�0��d�F�H�-�-�-�� � � ���H�X����$� ���!�!�!� �$�$�&�&�&� ��"�#�#�#�#����"�#�#�#�#���� �Ks �0(B-�-Cr(c��|�di�����}|sdSt||��t|��|���D]]\}}t |��}t �||��}t|��r||||���Lt|||���^dS)N�project) �get�copy�_handle_missing_dynamic�_unify_entry_points�items�json_compatible_key�PYPROJECT_CORRESPONDENCE�callable� _set_config)rrr(� project_table�field�value�norm_key�corresps r*r"r":s����J�J�y�"�-�-�2�2�4�4�M� �����D�-�0�0�0�� �&�&�&�%�+�+�-�-�.�.� ��u�&�u�-�-��*�.�.�x��B�B�� �G� � � .� �G�D�%�� *� *� *� *� ��g�u� -� -� -� -� .�.�c��|�di���di��}|sdS|���D]x\}}t|��}|tvr/t|}d|�d|��}t j|t ��t�||��}t|||���yt|||��dS)N�tool� setuptoolszThe parameter `z` is deprecated, ) r.r2r3�TOOL_TABLE_DEPRECATIONS�warnings�warnr�TOOL_TABLE_RENAMESr6�_copy_command_options) rrr� tool_tabler8r9r:� suggestion�msgs r*r#r#Ks������F�B�'�'�+�+�L�"�=�=�J� ����"�(�(�*�*� +� +� ��u�&�u�-�-�� �.� .� .�0��:�J�K�H�K�K�z�K�K�C� �M�#�;� <� <� <�%�)�)�(�H�=�=���D�(�E�*�*�*�*��&�$��1�1�1�1�1r<r7c��t|�dg����}t���D]O\}}||vsF||vsB||��}|r5t�||��}t j|t���PdS)zJBe temporarily forgiving with ``dynamic`` fields not listed in ``dynamic``�dynamicN)�setr.�_PREVIOUSLY_DEFINEDr2�_WouldIgnoreField�messagerArB)rr7rIr8�getterr9rGs r*r0r0^s����-�#�#�I�r�2�2�3�3�G�,�2�2�4�4�6�6� ��v���&�&�%�7�*:�*:��F�4�L�L�E�� 6�'�/�/��u�=�=��� �c�#4�5�5�5�� 6�6r<�keyc�R�|����dd��S)z1As defined in :pep:`566#json-compatible-metadata`�-�_)�lower�replace)rOs r*r3r3js �� �9�9�;�;� � �s�C� (� (�(r<r8r9c���t|jd|��d��}|r ||��dSt|j|��s |tvrt |j||��dSt |||��dS)N�set_)�getattrr�hasattr�SETUPTOOLS_PATCHES�setattr)rr8r9�setters r*r6r6os��� �T�]�N�5�N�N�D� 9� 9�F� �$���u� � � � � � ���� &� &�$�%�3E�*E�*E��� �u�e�,�,�,�,�,���e�U�#�#�#�#�#r<z text/markdownz text/x-rstz text/plain)z.mdz.rstz.txt�filec�@�tj�|�����\}}|sdS|tvr t|Sd�d�t���D����}d|�d�}td|�d|�����)N�, c3�,K�|]\}}|�d|�d�V��dS)z (�)N���.0�k�vs r*� z&_guess_content_type..�s2����F�F�t�q�!��l�l�a�l�l�l�F�F�F�F�F�Fr<z3only the following file extensions are recognized: rzUndefined content type for )rr �splitextrS�_CONTENT_TYPES�joinr2� ValueError)r\rR�ext�validrGs r*�_guess_content_typerm�s��� �W� � �d�j�j�l�l� +� +�F�A�s� ���t� �n����c�"�"� �I�I�F�F�~�/C�/C�/E�/E�F�F�F� F� F�E� H�� H� H� H�C� �@�4�@�@�3�@�@� A� A�Ar<�valc�b�ddlm}t|t��r&|�||��}t |��}nG|�d��p)|�|�dg��|��}|d}t|d|��|rt|d|��dSdS)Nr��expand�textr\z content-type�long_description�long_description_content_type)�setuptools.configrq� isinstance�str� read_filesrmr.r6)rrnr(rqrr�ctypes r*�_long_descriptionrz�s���(�(�(�(�(�(��#�s���$�� � ��h�/�/��#�C�(�(����w�w�v���R�&�"3�"3�C�G�G�F�B�4G�4G��"R�"R���N�#����(�$�/�/�/� �B��D�9�5�A�A�A�A�A�B�Br<c��ddlm}d|vr.t|d|�|dg|����dSt|d|d��dS)Nrrpr\�licenserr)rurqr6rx)rrnr(rqs r*�_licenser}�sg��(�(�(�(�(�(� ��}�}��D�)�V�%6�%6��F� �}�h�%O�%O�P�P�P�P�P��D�)�S��[�1�1�1�1�1r<� _root_dir�kindc��g}g}|D]�}d|vr|�|d���"d|vr|�|d���Bt|d|d���}|�t|������|r$t||d�|����|r)t||�d�d�|����dSdS)N�name�email)� display_name� addr_specr^�_email)�appendrrwr6ri)rrnr~rr8� email_field�person�addrs r*�_peopler��s�� �E��K��*�*�� �� � � � � �v�g�� /� /� /� /� �F� "� "� �L�L���� (� (� (� (���v��&��/�R�R�R�D� � � �s�4�y�y� )� )� )� )� �2��D�$�� � �%� 0� 0�1�1�1��C��D�T�/�/�/�4�9�9�[�+A�+A�B�B�B�B�B�C�Cr<c�(�t|d|��dS)N� project_urls)r6)rrnr~s r*� _project_urlsr��s����n�c�*�*�*�*�*r<c�F�ddlm}t|d||����dS)Nr)� SpecifierSet�python_requires)�&setuptools.extern.packaging.specifiersr�r6)rrnr~r�s r*�_python_requiresr��s7��C�C�C�C�C�C���'���c�):�):�;�;�;�;�;r<c�v�t|dg��rd}tj|��t|d|��dS)N�install_requireszA`install_requires` overwritten in `pyproject.toml` (dependencies))rWrArBr6)rrnr~rGs r*� _dependenciesr��sE���t�'��,�,��Q��� �c������(�#�.�.�.�.�.r<c�R�t|di��}t|di|�|���dS)N�extras_require)rWr6)rrnr~�existings r*�_optional_dependenciesr��s8���t�-�r�2�2�H���&�(;�8�(;�s�(;�<�<�<�<�z2_unify_entry_points...�s&��:�:�:�D�A�q�a�<�<�A�<�<�:�:�:r<)r2)rcr��groups r*� z'_unify_entry_points..�sE��# �# �# ���e� �:�:�E�K�K�M�M�:�:�:�# �# �# r<)�pop�listr2r3)r7r-r��renamingrOr9r:s r*r1r1�s����G��;�;�~�w�{�{�>�2�/N�/N�O�O�L�,�]�K�K�H��7�=�=�?�?�+�+�@�@� ��U�&�s�+�+�� �x� � �E� �/6�{�{�3�/?�/?�L��(�+� ,��� �# �# �+�1�1�3�3�# �# �# ������ � r<� pyprojectc ��|�di��}|�di���di��}t|��}|j}|�di���di�����D]�\}}t |��}|�|t ����} |�|i��|���D]S\} } t | ��} t|��| f||| <| | vr!t� d|�d| �d����T��dS)Nr>r?�cmdclass� distutilszCommand option rz is not defined) r.�_valid_command_options�command_optionsr2r3rJ� setdefaultrw�_logger�warning) r�rrrEr�� valid_options�cmd_opts�cmdrrlrOr9s r*rDrD�sQ�����v�r�*�*�J��~�~�l�B�/�/�3�3�J��C�C�H�*�8�4�4�M��#�H� �}�}�V�R�0�0�4�4�[�"�E�E�K�K�M�M� N� N� ��V�!�#�&�&���!�!�#�s�u�u�-�-�����C��$�$�$� �,�,�.�.� N� N�J�C��%�c�*�*�C�"%�h�-�-��!7�H�S�M�#� ��%������ L�#� L� L�� L� L� L�M�M�M��  N� N� Nr<r�c �|�ddlm}ddlm}dt |j��i}|jd���}d�|D��}d �|D��}t||�����D]M\}}|� |t����} | t t|d g����z} | ||<�N|S) N�rrr�globalzdistutils.commands)r�c3�4K�|]}t|��V��dS�N)�_load_ep�rc�eps r*rfz)_valid_command_options..�s(����H�H�B�8�B�<�<�H�H�H�H�H�Hr<c3�K�|]}|�|V�� dSr�rar�s r*rfz)_valid_command_options..�s'����;�;�2��;�B�;�;�;�;�;�;r<� user_options) � _importlibr�setuptools.distr�_normalise_cmd_options�global_optionsr�rr2r.rJrW) r�rrr��unloaded_entry_points�loaded_entry_pointsr�r�� cmd_class�optss r*r�r��s���%�%�%�%�%�%�,�,�,�,�,�,��5�l�6Q�R�R�S�M�1�H�1�8L�M�M�M��H�H�2G�H�H�H��;�;�!4�;�;�;�L�� �h�n�n�.>�.>�?�?�"�"���Y�� � ��c�e�e�,�,���,�W�Y��PR�-S�-S�T�T�T��!� �c��� �r<r�zmetadata.EntryPointc��� |j|���fS#t$r@}|jj�d|j��}t �|�d|����Yd}~dSd}~wwxYw)Nz" while trying to load entry-point z: )r��load� Exception� __class__�__name__r�r�)r��exrGs r*r�r�s~����������#�#�� ������&�S�S�"�'�S�S�����3���"���'�'�'��t�t�t�t�t��������s�� A'�5A"�"A'r�c�F�t|���d��S)Nz_=)r3�strip)r�s r*�_normalise_cmd_option_keyr� s�� �t� $� $� *� *�4� 0� 0�0r<�descc��d�|D��S)Nc�8�h|]}t|d����S)r)r�)rc� fancy_options r*� z)_normalise_cmd_options..s%�� P� P� P�<� %�l�1�o� 6� 6� P� P� Pr<ra)r�s r*r�r�s�� P� P�4� P� P� P�Pr<c�V�ttd�|�d����S)a8 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�$�t||d��Sr�)rW)�acc�xs r*�z_attrgetter..s��'�#�q�$�*?�*?�r<r)rr�split)�attrs r*� _attrgetterr�s$�� �6�?�?����C��� Q� Q�Qr<c����fd�}|S)aL 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�V����fd��D��}td�|D��d��S)Nc3�H�K�|]}t|�����V��dSr�)r�)rc�i�objs �r*rfz5_some_attrgetter.._acessor../s3�����5�5�!�.�+�a�.�.��%�%�5�5�5�5�5�5r<c3�K�|]}|�|V�� dSr�ra)rcr�s r*rfz5_some_attrgetter.._acessor..0s"����8�8�1�!�-�Q�-�-�-�-�8�8r<)�next)r��valuesr2s` �r*�_acessorz"_some_attrgetter.._acessor.s<����5�5�5�5�u�5�5�5���8�8��8�8�8�$�?�?�?r<ra)r2r�s` r*�_some_attrgetterr�"s(���@�@�@�@�@� �Or<�author)r� maintainer)�readmer|�authors� maintainers�urls� dependencies�optional_dependencies�requires_pythonr4� script_filesr��namespace_packagesz5consider using implicit namespaces instead (PEP 420).>� license_filer�� license_files�provides_extrasrtz metadata.namezmetadata.versionzmetadata.descriptionzmetadata.long_descriptionr�zmetadata.python_requireszmetadata.licensezmetadata.authorzmetadata.author_emailzmetadata.maintainerzmetadata.maintainer_emailzmetadata.keywordszmetadata.classifierszmetadata.project_urlsr��_orig_install_requiresr��_orig_extras_requirer�)r��version� descriptionr�zrequires-pythonr|r�r��keywords� classifiersr�r�r�zoptional-dependenciesc�,�eZdZdZdZed���ZdS)rLzGInform users that ``pyproject.toml`` would overwrite previous metadata.a {field!r} defined outside of `pyproject.toml` would be ignored. !! ########################################################################## # configuration would be ignored/result in error due to `pyproject.toml` # ########################################################################## 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!r} is listed as `dynamic`. https://packaging.python.org/en/latest/specifications/declaring-project-metadata/ For the time being, `setuptools` will still consider the given value (as a **transitional** measure), but please note that future releases of setuptools will follow strictly the standard. To prevent this warning, you can list {field!r} under `dynamic` or alternatively remove the `[project]` table from your file and rely entirely on other means of configuration. !! c�X�ddlm}||j�||�����S)Nr)�cleandoc)r8r9)�inspectr��MESSAGE�format)�clsr8r9r�s r*rMz_WouldIgnoreField.messagevs9��$�$�$�$�$�$��x�� �*�*��e�*�D�D�E�E�Er<N)r�� __module__� __qualname__�__doc__r�� classmethodrMrar<r*rLrLYsA������Q�Q��G�4�F�F��[�F�F�Fr<rL)Kr�loggingrrA�collections.abcr�email.headerregistryr� functoolsrr� itertoolsr�typesr�typingr r r r r rrrrr�setuptools._deprecation_warningr�setuptools._importlibrr�rr�__annotations__�PathLikerw�_Path�dict� _DictOrStr� _CorrespFn�_Correspondence� getLoggerr�r�r+r"r#r0r3r6rhrmrzr}r�r�r�r�r�r�r1rDr�r�r�r�r�r�r4rCr@rYrK� UserWarningrLrar<r*�rs���������� � � � �����#�#�#�#�#�#�(�(�(�(�(�(�%�%�%�%�%�%�%�%�������"�"�"�"�"�"�!�!�!�!�!�!�!�!�!�!�!�!�!�!�!�!�!�!�!�!�!�!�!�!�I�H�H�H�H�H��-�.�.�.�.�.�.�,�,�,�,�,�,�!�!�"�%�%��w�%�%�%� �b�k�3���� �4��9� � � �~�s�E�2�D�8� 9� ���Z��(�� �'� �H� %� %���������.�����,.�~�.�t�.�u�.�.�.�.�"2�N�2�D�2�E�2�2�2�2�& 6�.� 6�� 6� 6� 6� 6�)�S�)�S�)�)�)�)� $�n�$�S�$��$�$�$�$� � � ���� B�c� B�h�s�m� B� B� B� B� B�N� B�� B�u� B� B� B� B�2�>�2��2��2�2�2�2�C�.�C�t�D�z�C�e�C�3�C�C�C�C�$+��+�T�+�+�+�+�<�>�<��<�<�<�<� /��/�T�/�/�/�/�=��=�d�=�=�=�=�  �t�  �  �  �  � N�T�N��N�5�N�N�N�N�&05���W���c�3�s�8�m�9L�����"�&��8�E�#�t�)�4D�+E�����1�C�1�C�1�1�1�1�Q��e�C��#���,C�&D�!E�Q�#�c�(�Q�Q�Q�Q� R� R� R����& ���w�w�X�.�.�.��7�7��6�6�6� �!�3�'� 8� 8��$�s�O�3�4� � � �%�i�0���Q���J�J�J�� �K�� (� (��{�-�.�.��;�5�6�6��k�5�6�6�'�'�(9�;U�V�V��{�-�.�.��� 1�3J�K�K�#�#�$9�;V�W�W�� �/�0�0��;�5�6�6� �K�/� 0� 0��K��/�/�$�$�%=�?Q�R�R�-�-�.D�FV�W�W����$ F� F� F� F� F� � F� F� F� F� Fr<