ó
    Þ j÷  ã                   ót   • S SK r S SKJrJr  S SKJr  S SKJr  \(       a  S SKJ	r	   " S S\ R                  S9rg)	é    N)ÚTYPE_CHECKINGÚOptional)ÚBaseDistribution)ÚInstallRequirement)ÚPackageFinderc            	       óÎ   ^ • \ rS rSrSrS\SS4U 4S jjr\R                  S\	\
   4S j5       r\R                  S\4S j5       r\R                  S	S
S\S\SS4S j5       rSrU =r$ )ÚAbstractDistributioné   az  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.
ÚreqÚreturnNc                 ó.   >• [         TU ]  5         Xl        g ©N)ÚsuperÚ__init__r   )Úselfr   Ú	__class__s     €ÚZ/var/www/html/gaurav/venv/lib/python3.13/site-packages/pip/_internal/distributions/base.pyr   ÚAbstractDistribution.__init__   s   ø€ Ü‰ÑÔØ�ó    c                 ó   • [        5       e)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_idÚ%AbstractDistribution.build_tracker_id"   s   € ô "Ó#Ð#r   c                 ó   • [        5       er   r   r   s    r   Úget_metadata_distributionÚ.AbstractDistribution.get_metadata_distribution*   s   € ä!Ó#Ð#r   Úfinderr   Úbuild_isolationÚcheck_build_depsc                 ó   • [        5       er   r   )r   r   r    r!   s       r   Úprepare_distribution_metadataÚ2AbstractDistribution.prepare_distribution_metadata.   s   € ô "Ó#Ð#r   )r   )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r   r   ÚabcÚabstractpropertyr   Ústrr   Úabstractmethodr   r   Úboolr#   Ú__static_attributes__Ú__classcell__)r   s   @r   r	   r	      s£   ø† ñð$Ð.ð °4÷ ð 	×Ñð$ (¨3¡-ó $ó ð$ð 	×Ñð$Ð+;ó $ó ð$ð 	×Ñð$àð$ð ð$ð ð	$ð
 
ó$ó ö$r   r	   )Ú	metaclass)r*   Útypingr   r   Úpip._internal.metadata.baser   Úpip._internal.reqr   Ú"pip._internal.index.package_finderr   ÚABCMetar	   © r   r   Ú<module>r8      s'   ðÛ 
ß *å 8Ý 0æÝ@ô*$ S§[¡[ó *$r   