+
    :1j                        R t ^ RIHt ^ RIt^RIHt ^RIHt ^RIH	t	H
t
Ht ^RIHt ^RIHt ^RIHt ^R	IHt  ! R
 R]4      tR# )zDefine requirements.txt spec.)annotationsN)context)is_url)CondaValueErrorInvalidMatchSpecPluginError)yield_lines)Environment)	MatchSpec)EnvironmentSpecBasec                  \    ] tR t^t$ RtRtR]R&   RR R lltR R lt]	R	 R
 l4       t
RtR# )RequirementsSpeczr
Reads dependencies from requirements files (including explicit files)
and returns an Environment object from it.
N
str | Nonemsgc                    V ^8  d   QhRRRR/# )   filenamer   returnNone )formats   "<lib/python3.14/site-packages/conda/env/specs/requirements.py__annotate__RequirementsSpec.__annotate__   s     ! ! ! !    c                    Wn         R# )zInitialize the requirements specification.

:param filename: Path to the requirements file
:param kwargs: Additional arguments
Nr   )selfr   kwargss   &&,r   __init__RequirementsSpec.__init__   s	     !r   c                   V ^8  d   QhRR/# )r   r   boolr   )r   s   "r   r   r   "   s     # #D #r   c                $   V P                   f   \        R4      h\        V P                   4      '       d   \        V P                    R24      h\        P                  P                  V P                   4      '       g   \        V P                    R24      h\        \        V P                   4      4      pV F.  pVR8X  d   \        V P                    R24      h \        V4       K0  	  R#   \         d    \        T P                    RT R24      hi ; i)	z
Validates that this spec can process the environment definition.
This checks if:
    * a filename was provided
    * the file exists
    * the file content is valid for this specifier type

:return: True if the file can be handled, False otherwise
No filename providedz may not be a urlz does not existz	@EXPLICITz is an explicit file.z  contains an invalid matchspec ''T)r   r   r   ospathexistslistr   r   r
   r   )r   dependencies_listdeps   &  r   
can_handleRequirementsSpec.can_handle"   s     == !"899$--  !T]]O3D"EFFww~~dmm,,!T]]O?"CDD !T]]!;<$Ck!!T]]O3H"IJJ# %  $ !}}o%EcU!L s   C(('Dc                   V ^8  d   QhRR/# )r   r   r	   r   )r   s   "r   r   r   H   s     
 
[ 
r   c                    V P                   '       g   \        R4      h\        \        V P                   4      4      pV Uu. uF  p\	        V4      NK  	  pp\        \        P                  VR7      # u upi )z
Build an environment from the requirements file.

:return: An Environment object containing the package specifications
:raises ValueError: If the file cannot be read
r$   )platformrequested_packages)r   
ValueErrorr)   r   r
   r	   r   subdir)r   r*   r+   r1   s   &   r   envRequirementsSpec.envG   sg     }}}344 !T]]!;<8IJ8Iin8IJ^^1
 	
 Ks    A1r   )N)__name__
__module____qualname____firstlineno____doc__r   __annotations__r   r,   propertyr4   __static_attributes__r   r   r   r   r      s2    
 C!#J 
 
r   r   )r:   
__future__r   r&   base.contextr   
common.urlr   
exceptionsr   r   r   gateways.disk.readr   models.environmentr	   models.match_specr
   plugins.typesr   r   r   r   r   <module>rF      s7    $ " 	 #   H H - - * 0G
* G
r   