+
    <j                        R t ^ RIt^ RIHt ^ RIHt ^ RIHt ^ RIH	t	H
t
HtHtHtHtHtHtHtHt ^ RIHt ^ RIHtHt ^ RIHtHt ^ R	IHt ^ R
IHt ^ RIH t  ^ RI!H"t" ^ RI#H$t$ ]PJ                  ! ]&4      t' ! R R]4      t(]
]](3,          t)]]]3,          t*]]]]3,          t+]
]]]*,          3,          t,]
]]]+,          3,          t-]],]-3,          t.]])].3,          t/R R lt0RR R llt1R R lt2R R lt3R R lt4R R lt5R# )z&Validation of dependencies of packagesN)suppress)Parser)reduce)
CallableDict	FrozenSet	GeneratorIterableList
NamedTupleOptionalSetTuple)Requirement)Tag	parse_tag)NormalizedNamecanonicalize_name)Version))make_distribution_for_install_requirement)get_default_environment)BaseDistribution)InstallRequirementc                   ,   a  ] tR t^!t o V 3R ltRtV tR# )PackageDetailsc                B   < V ^8  d   Qh/ S[ ;R&   S[S[,          ;R&   # )   versiondependencies)r   r
   r   )format__classdict__s   "S/opt/headortail/venv/lib/python3.14/site-packages/pip/_internal/operations/check.py__annotate__PackageDetails.__annotate__!   s       {##      N)__name__
__module____qualname____firstlineno____annotate_func____static_attributes____classdictcell__)r    s   @r!   r   r   !   s      r$   r   c                F    V ^8  d   QhR\         \        \        3,          /# )r   return)r   
PackageSetbool)r   s   "r!   r"   r"   1   s     ! !5T1A+B !r$   c                 B   / p Rp\        4       pVP                  RRR7       FA  pVP                  p \        VP	                  4       4      p\        VP                  V4      W&   KC  	  W3#   \        \        3 d$   p\        P                  RYF4       Rp Rp?Kw  Rp?ii ; i)z3Converts a list of distributions into a PackageSet.F)
local_onlyskipz$Error parsing dependencies of %s: %sTNr%   )r   iter_installed_distributionscanonical_namelistiter_dependenciesr   r   OSError
ValueErrorloggerwarning)package_setproblemsenvdistnamer   es          r!   !create_package_set_from_installedrB   1   s    KH
!
#C00E0K""	 6 6 89L .t||\ JK	 L   	 $ 	NNA4KH	s   1A**B;BBc                v    V ^8  d   QhR\         R\        \        \        .\        3,          ,          R\
        /# )r   r<   should_ignorer.   )r/   r   r   strr0   CheckResult)r   s   "r!   r"   r"   B   s4     *  * * ,4XseTk5J,K* * r$   c                   / p/ pV P                  4        EF,  w  rE\        4       p\        4       pV'       d   V! V4      '       d   K2  VP                   F  p\        VP                  4      p	W9  dJ   Rp
VP
                  e   VP
                  P                  RR/4      p
V
'       d   VP                  W34       Kg  W	,          P                  pVP                  P                  VRR7      '       d   K  VP                  WV34       K  	  V'       d   \        V\        R7      W$&   V'       g   EK  \        V\        R7      W4&   EK/  	  W#3# )zCheck if a package set is consistent

If should_ignore is passed, it should be a callable that takes a
package name and returns a boolean.
Textra )prereleases)key)itemssetr   r   r@   markerevaluateaddr   	specifiercontainssortedrE   )r<   rD   missingconflictingpackage_namepackage_detailmissing_depsconflicting_depsreqr@   missedr   s   &&          r!   check_package_setr\   B   s    GK(3(9(9(;$%(U-0U]<88!..C$SXX.D &::) ZZ00'2?F $$d[1 "'//G==))'t)DD $$dS%9: /" $*<S$AG!(./?S(IK%9 )<< r$   c                F    V ^8  d   QhR\         \        ,          R\        /# )r   
to_installr.   )r
   r   ConflictDetails)r   s   "r!   r"   r"   o   s       -?(@ _ r$   c                n   a \        4       w  r\        W4      p\        W14      oV\        VV3R lR7      3# )zeFor checking if the dependency graph would be consistent after     installing given requirements
    c                    < V S9  # Nr%   )r@   	whitelists   &r!   <lambda>)check_install_conflicts.<locals>.<lambda>~   s
    D	4Ir$   )rD   )rB   _simulate_installation_of_create_whitelistr\   )r^   r<   _would_be_installedrc   s   &   @r!   check_install_conflictsrj   o   sD    
 78NK2:K ""4BI 	'I	
 r$   c          	          V ^8  d   QhR\         \        ,          R\         \        ,          R\        \        RR3,          /# )r   packagessupported_tagsr.   N)r	   r   r   r   )r   s   "r!   r"   r"      s=      '(SM t+,r$   c              #     "   V  F  p\        \        4      ;_uu_ 4        VP                  R 4      p\        \        P
                  \        \        \        4       P                  V4      P                  R. 4      4      \	        4       4      pVP                  V4      '       d   Vx  RRR4       K  	  R#   + '       g   i     K  ; i5i)WHEELr   N)r   FileNotFoundError	read_textr   	frozensetunionmapr   r   parsestrget_all
isdisjoint)rl   rm   p
wheel_file
wheel_tagss   &&   r!   check_unsupportedr{      s      '((W-J)/Ivx00<DDUBOP*J
 $$^44 )( (((s   CBB2$C2C=	Cc                h    V ^8  d   QhR\         \        ,          R\        R\        \        ,          /# )r   r^   r<   r.   )r
   r   r/   r   r   )r   s   "r!   r"   r"      s/      '(7Ar$   c                    \        4       pV  Fj  p\        V4      pVP                  4       pVP                  p\	        VP
                  \        VP                  4       4      4      W&   VP                  V4       Kl  	  V# )z=Computes the version of packages after installing to_install.)	rM   r   get_metadata_distributionr5   r   r   r6   r7   rP   )r^   r<   	installedinst_reqabstract_distr?   r@   s   &&     r!   rf   rf      so    
 I A(K668""*4<<d>T>T>V9WXd  r$   c                h    V ^8  d   QhR\         \        ,          R\        R\         \        ,          /# )r   ri   r<   r.   )r   r   r/   )r   s   "r!   r"   r"      s.      N+:Dr$   c                     \        V 4      pV FR  pW29   d   K  W,          P                   F1  p\        VP                  4      V9   g   K  VP	                  V4        KP  	  KT  	  V# rb   )rM   r   r   r@   rP   )ri   r<   packages_affectedrV   rZ   s   &&   r!   rg   rg      sa     ./#,,99C *.??!%%l3 :	 $ r$   rb   )6__doc__logging
contextlibr   email.parserr   	functoolsr   typingr   r   r   r   r	   r
   r   r   r   r   "pip._vendor.packaging.requirementsr   pip._vendor.packaging.tagsr   r   pip._vendor.packaging.utilsr   r   pip._vendor.packaging.versionr   pip._internal.distributionsr   pip._internal.metadatar   pip._internal.metadata.baser   pip._internal.req.req_installr   	getLoggerr&   r:   r   r/   MissingConflictingMissingDictConflictingDictrF   r_   rB   r\   rj   r{   rf   rg   r%   r$   r!   <module>r      s    ,       ; 5 I 1 Q : 8 <			8	$$Z $ ..01

+
,NG[89>4=01~tK'889K01
K/0!"* Z( &r$   