
    IojI                       % S SK Jr  S SKJrJrJr  S SKJr  S SKJ	r	J
r
Jr  S SKJr  S SKJr  \	(       a  S SKJr  \
" S5      r\\\   -  rS	\S
'   \" 5       " \5      rS\S'   SS jr\SS j5       r\SS j5       r\4SS jjrg)    )annotations)CallableIterableIterator)	lru_cache)TYPE_CHECKINGTypeVaroverload)text)Requirement)	TypeAlias_Tr   
_StrOrIterzCallable[[str], Requirement]	parse_reqc                    [         R                  " [        [         R                  [         R                  " U 5      5      5      $ )z
Yield requirement strings for each specification in `strs`.

`strs` must be a string, or a (possibly-nested) iterable thereof.
)r   join_continuationmapdrop_commentyield_linesstrss    J/mnt/workspace/venv-train/lib/python3.13/site-packages/setuptools/_reqs.pyparse_stringsr      s-     !!#d&7&79I9I$9O"PQQ    c                    g N r   s    r   parser   "   s    69r   c                    g r   r   r   parsers     r   r   r   $   s    JMr   c                ,    [        U[        U 5      5      $ )z
Parse requirements.
)r   r   r    s     r   r   r   &   s     v}T*++r   N)r   r   returnzIterator[str])r   r   r#   zIterator[Requirement])r   r   r!   zCallable[[str], _T]r#   zIterator[_T])
__future__r   collections.abcr   r   r   	functoolsr   typingr   r	   r
   jaracor   packaging.requirementsr   r   r   strr   __annotations__r   r   r   r   r   r   <module>r,      s    " 8 8  3 3  . T]hsm+
I + +4+k*B	' BR 
 9 
 9	 M 
 M:C ,r   