HEX
Server: Apache/2.4.52 (Ubuntu)
System: Linux spn-python 5.15.0-89-generic #99-Ubuntu SMP Mon Oct 30 20:42:41 UTC 2023 x86_64
User: arjun (1000)
PHP: 8.1.2-1ubuntu2.20
Disabled: NONE
Upload Files
File: //snap/certbot/4965/lib/python3.12/site-packages/setuptools/__pycache__/__init__.cpython-312.pyc
�

9�h,#�	�n�dZddlmZddlZddlZddlZddlmZddlm	Z	ddl
mZmZm
Z
ejjejj!ejj#ejj#e��dd�xZejvegz�ej(j+d	d�ddlZd
dlmZmZd
dlmZd
d
lmZmZd
dl m!Z!d
dl"m#Z#d
dl$m%Z%d
dl&m'Z'ddl(Z)gd�Z*edd��Z+dZ,ejZZ.ejZZ/d�Z0d d�Z1d�Z2e)jfjdje2_erddl(m4Z5n&ejle)jfjh�Z5Gd�de5�Z4d�Z7ejpfd�Z9Gd�de:�Z;ejx�y)!z@Extensions to the 'distutils' for large or complex distributions�)�annotationsN)�abstractmethod)�Mapping)�
TYPE_CHECKING�TypeVar�overload�
setuptools�_vendor�	backports�)�logging�monkey)�Require)�
PackageFinder�PEP420PackageFinder)�Distribution)�	Extension)�__version__)�SetuptoolsDeprecationWarning)�setupr�Commandrrr�
find_packages�find_namespace_packages�	_CommandT�_Command)�boundc��Gd�dtjj�}||�}|jd��|jrt|�yy)Nc�6��eZdZdZd�fd�Zd�fd�	Zd�Z�xZS)�4_install_setup_requires.<locals>.MinimalDistributionzl
        A minimal version of a distribution for supporting the
        fetch_build_eggs interface.
        c���d}t|�t|�zD�cic]}|||��
}}t�|�	|�|jj	�ycc}w)N)�dependency_links�setup_requires)�set�super�__init__�set_defaults�_disable)�self�attrs�_incl�k�filtered�	__class__s     ���/build/snapcraft-certbot-c9561b03ef7f16aa90eb6754ca5f17a1/parts/certbot/install/lib/python3.12/site-packages/setuptools/__init__.pyr%z=_install_setup_requires.<locals>.MinimalDistribution.__init__=sU���8�E�-0��Z�#�e�*�-D�E���5��8��E�H�E��G��X�&����&�&�(��Fs�
Ac�X��	t�|�|�\}}|dfS#t$r|dfcYSwxYw)zAIgnore ``pyproject.toml``, they are not related to setup_requires�)r$� _split_standard_project_metadata�	Exception)r(�	filenames�cfg�_tomlr-s    �r.�_get_project_config_fileszN_install_setup_requires.<locals>.MinimalDistribution._get_project_config_filesDsA���
%�"�W�E�i�P�
��U���7�N���
%� �"�}�$�
%�s��
)�)c��y)zl
            Disable finalize_options to avoid building the working set.
            Ref #2158.
            Nr0�r(s r.�finalize_optionszE_install_setup_requires.<locals>.MinimalDistribution.finalize_optionsLs��)r)zMapping[str, object]�return�None�N)�__name__�
__module__�__qualname__�__doc__r%r6r9�
__classcell__�r-s@r.�MinimalDistributionr7s���	�
	)�	�	r:rDT)�ignore_option_errors)�	distutils�corer�parse_config_filesr"�_fetch_build_eggs)r)rD�dists   r.�_install_setup_requiresrK4sM���i�n�n�9�9��6�u�%�D�	�����6�����$��r:c��	|j|j�y#t$rS}d}d|jjvr3t|d�r|j
|��|jd|�d���d}~wwxYw)Na�
        It is possible a package already installed in your system
        contains an version that is invalid according to PEP 440.
        You can try `pip install --use-pep517` as a workaround for this problem,
        or rely on a new virtual environment.

        If the problem refers to a package that is not installed yet,
        please contact that package's maintainers or distributors.
        �InvalidVersion�add_note�
)�fetch_build_eggsr"r2r-r>�hasattrrN�announce)rJ�ex�msgs   r.rIrIZsz������d�1�1�2�������r�|�|�4�4�4��r�:�&����C� �	��
�
��3�%�r�l�+�
���s��	A:�AA5�5A:c�~�tj�t|�tjj
di|��S)Nr0)r
�	configurerKrFrGr)r)s r.rros.�������E�"��>�>���(�%�(�(r:)rc���eZdZUdZdZded<d�fd�Ze	d
					dd��Ze	d
					dd��Z	d
					dd�Ze	dd	��Z
e	dd
��Ze	dd��Z�xZ
S)ra#
    Setuptools internal actions are organized using a *command design pattern*.
    This means that each action (or group of closely related actions) executed during
    the build should be implemented as a ``Command`` subclass.

    These commands are abstractions and do not necessarily correspond to a command that
    can (or should) be executed via a terminal, in a CLI fashion (although historically
    they would).

    When creating a new command from scratch, custom defined classes **SHOULD** inherit
    from ``setuptools.Command`` and implement a few mandatory methods.
    Between these mandatory methods, are listed:
    :meth:`initialize_options`, :meth:`finalize_options` and :meth:`run`.

    A useful analogy for command classes is to think of them as subroutines with local
    variables called "options".  The options are "declared" in :meth:`initialize_options`
    and "defined" (given their final values, aka "finalized") in :meth:`finalize_options`,
    both of which must be defined by every command class. The "body" of the subroutine,
    (where it does all the work) is the :meth:`run` method.
    Between :meth:`initialize_options` and :meth:`finalize_options`, ``setuptools`` may set
    the values for options/attributes based on user's input (or circumstance),
    which means that the implementation should be careful to not overwrite values in
    :meth:`finalize_options` unless necessary.

    Please note that other commands (or other parts of setuptools) may also overwrite
    the values of the command's options/attributes multiple times during the build
    process.
    Therefore it is important to consistently implement :meth:`initialize_options` and
    :meth:`finalize_options`. For example, all derived attributes (or attributes that
    depend on the value of other attributes) **SHOULD** be recomputed in
    :meth:`finalize_options`.

    When overwriting existing commands, custom defined classes **MUST** abide by the
    same APIs implemented by the original class. They also **SHOULD** inherit from the
    original class.
    Fr�distributionc�X��t�|�|�t|�j|�y)zj
        Construct the command for dist, updating
        vars(self) with any keyword parameters.
        N)r$r%�vars�update)r(rJ�kwr-s   �r.r%zCommand.__init__�s$���
	������T�
���"�r:c��yr=r0�r(�command�reinit_subcommandsr\s    r.�reinitialize_commandzCommand.reinitialize_command�s��r:c��yr=r0r^s    r.razCommand.reinitialize_command�s��r:c�h�tj|||�}t|�j|�|Sr=)rrarZr[)r(r_r`r\�cmds     r.razCommand.reinitialize_command�s0���+�+�D�'�;M�N���S�	������
r:c��t�)z�
        Set or (reset) all options/attributes/caches used by the command
        to their default values. Note that these values may be overwritten during
        the build.
        ��NotImplementedErrorr8s r.�initialize_optionszCommand.initialize_options��
��"�!r:c��t�)z�
        Set final values for all options/attributes used by the command.
        Most of the time, each option/attribute/cache should only be set if it does not
        have any value yet (e.g. ``if self.attr is None: self.attr = val``).
        rfr8s r.r9zCommand.finalize_options�rir:c��t�)z�
        Execute the actions intended by the command.
        (Side effects **SHOULD** only take place when :meth:`run` is executed,
        for example, creating new files or writing to the terminal output).
        rfr8s r.�runzCommand.run�rir:)rJrr;r<)F)r_�strr`�boolr;r)r_rr`rnr;r)r_zstr | _Commandr`rnr;r)r;r<)r>r?r@rA�command_consumes_arguments�__annotations__r%rrarrhr9rlrBrCs@r.rrs����#�J"'������7<����04��	�����=B�� ��6:��	����CH��%��;?��	���"��"��"��"��"��"r:rc��d�tj|d��D�}ttjj|�S)z%
    Find all files under 'path'
    c3�rK�|]/\}}}|D]$}tjj||����&�1y�wr=)�os�path�join)�.0�base�dirs�files�files     r.�	<genexpr>z#_find_all_simple.<locals>.<genexpr>�sB������D�$����
�	�����T�4� �� ��s�57T)�followlinks)rs�walk�filterrt�isfile)rt�resultss  r.�_find_all_simpler��s3���!#����4�!@��G�
�"�'�'�.�.�'�*�*r:c���t|�}|tjk(r;tjtj
j|��}t||�}t|�S)z�
    Find all files under 'dir' and return the list of full filenames.
    Unless dir is '.', return full filenames with dir prepended.
    )�start)	r�rs�curdir�	functools�partialrt�relpath�map�list)�dirry�make_rels   r.�findallr��sJ��

�S�!�E�
�b�i�i���$�$�R�W�W�_�_�C�@���H�e�$����;�r:c��eZdZdZy)�sicz;Treat this string as-is (https://en.wikipedia.org/wiki/Sic)N)r>r?r@rAr0r:r.r�r��s��Er:r�)rJr)=rA�
__future__rr�rs�sys�abcr�collections.abcr�typingrrrrt�extendru�dirname�__file__�vendor_path�modules�pop�_distutils_hack.override�_distutils_hack�r
r�dependsr�	discoveryrrrJr�	extensionr�versionr�warningsr�distutils.corerF�__all__r�bootstrap_install_from�findrrrKrIrrGrr�
get_unpatchedr�r�r�rmr��	patch_allr0r:r.�<module>r�s|��F�#��	�
��#�3�3�����������b�g�g�o�o�b�g�g�o�o�h�>W�.X�Zf�hq�!r�r�+�{~�|D�|D�D�IT�HU�U�V�������T�"����9�� �/�2��	��
�K�z�2�	����"�"�
�-�2�2��# �L�*)����$�$�,�,��
��2�#�v�#�#�I�N�N�$:�$:�;�H�Y"�h�Y"�x	+��	�	�	�F�#�F�
����r: