§
    é´€js  ã                  óz   — d dl mZ d dlZd dlmZ d dlmZ d dlmZ erd dl	m
Z
mZ  G d„ dej        ¬	¦  «        ZdS )
é    )ÚannotationsN)ÚTYPE_CHECKING)ÚBaseDistribution)ÚInstallRequirement)ÚBuildEnvironmentInstallerÚBuildIsolationModec                  óš   ‡ — e Zd ZdZdˆ fd„Zeej        dd„¦   «         ¦   «         Zej        dd
„¦   «         Z	ej        dd„¦   «         Z
ˆ xZS )ÚAbstractDistributiona¦  A base class for handling installable artifacts.

    The requirements for anything installable are as follows:

     - we must be able to determine the requirement name
       (or we can't correctly handle the non-upgrade case).

     - for packages with setup requirements, we must also be able
       to determine their requirements without installing additional
       packages (for the same reason as run-time dependencies)

     - we must be able to create a Distribution object exposing the
       above metadata.

     - if we need to do work in the build tracker, we must be able to generate a unique
       string to identify the requirement in the build tracker.
    Úreqr   ÚreturnÚNonec                óV   •— t          ¦   «                              ¦   «          || _        d S ©N)ÚsuperÚ__init__r   )Úselfr   Ú	__class__s     €új/workspace/show-city-briefing-agent/.venv/lib/python3.11/site-packages/pip/_internal/distributions/base.pyr   zAbstractDistribution.__init__    s$   ø€ Ý‰Œ×ÒÑÔÐØˆŒˆˆó    ú
str | Nonec                ó   — t          ¦   «         ‚)zÖA string that uniquely identifies this requirement to the build tracker.

        If None, then this dist has no work to do in the build tracker, and
        ``.prepare_distribution_metadata()`` will not be called.©ÚNotImplementedError©r   s    r   Úbuild_tracker_idz%AbstractDistribution.build_tracker_id$   s   € õ "Ñ#Ô#Ð#r   r   c                ó   — t          ¦   «         ‚r   r   r   s    r   Úget_metadata_distributionz.AbstractDistribution.get_metadata_distribution-   s   € å!Ñ#Ô#Ð#r   Úbuild_env_installerr   Úbuild_isolationr   Úcheck_build_depsÚboolÚallow_editablesc                ó   — t          ¦   «         ‚r   r   )r   r   r   r    r"   s        r   Úprepare_distribution_metadataz2AbstractDistribution.prepare_distribution_metadata1   s   € õ "Ñ#Ô#Ð#r   )r   r   r   r   )r   r   )r   r   )
r   r   r   r   r    r!   r"   r!   r   r   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   ÚpropertyÚabcÚabstractmethodr   r   r$   Ú__classcell__)r   s   @r   r
   r
      s½   ø€ € € € € ðð ð$ð ð ð ð ð ð ØÔð$ð $ð $ñ Ôñ „Xð$ð 	Ôð$ð $ð $ñ Ôð$ð 	Ôð$ð $ð $ñ Ôð$ð $ð $ð $ð $r   r
   )Ú	metaclass)Ú
__future__r   r*   Útypingr   Úpip._internal.metadata.baser   Úpip._internal.reqr   Úpip._internal.build_envr   r   ÚABCMetar
   © r   r   ú<module>r5      s²   ðØ "Ð "Ð "Ð "Ð "Ð "à 
€
€
€
Ø  Ð  Ð  Ð  Ð  Ð  à 8Ð 8Ð 8Ð 8Ð 8Ð 8Ø 0Ð 0Ð 0Ð 0Ð 0Ð 0àð VØUÐUÐUÐUÐUÐUÐUÐUð,$ð ,$ð ,$ð ,$ð ,$ S¤[ð ,$ñ ,$ô ,$ð ,$ð ,$ð ,$r   