
    q"h	                     D    S SK JrJrJr  S SKJr  S SKJr   " S S5      rg)    )	FrozenSetOptionalSet)canonicalize_name)CommandErrorc            	           \ rS rSrSrSS/r  SS\\\      S\\\      SS4S jjr	S\
S\4S	 jrS\4S
 jr\S\S\\   S\\   SS4S j5       rS\S\\   4S jrSS jrSrg)FormatControl   zBHelper for managing formats from which a package can be installed.	no_binaryonly_binaryNreturnc                 P    Uc
  [        5       nUc
  [        5       nXl        X l        g N)setr   r   )selfr   r   s      U/var/www/html/env/lib/python3.13/site-packages/pip/_internal/models/format_control.py__init__FormatControl.__init__   s)    
 I%K"&    otherc                    ^ ^ [        TT R                  5      (       d  [        $ T R                  TR                  :w  a  g[	        UU 4S jT R                   5       5      $ )NFc              3   V   >#    U  H  n[        TU5      [        TU5      :H  v   M      g 7fr   )getattr).0kr   r   s     r   	<genexpr>'FormatControl.__eq__.<locals>.<genexpr>!   s$     Q.Q74#wua'88.s   &))
isinstance	__class__NotImplemented	__slots__all)r   r   s   ``r   __eq__FormatControl.__eq__   sB    %00!!>>U__,Q$..QQQr   c                 h    U R                   R                   SU R                   SU R                   S3$ )N(z, ))r   __name__r   r   r   s    r   __repr__FormatControl.__repr__#   s2    ..))*!DNN+;2d>N>N=OqQQr   valuetargetc                    U R                  S5      (       a  [        S5      eU R                  S5      nSU;   aW  UR                  5         UR                  5         UR	                  S5        US UR                  S5      S-   2	 SU;  a  g SU;   a  MW  U HH  nUS:X  a  UR                  5         M  [        U5      nUR                  U5        UR	                  U5        MJ     g )N-z7--no-binary / --only-binary option requires 1 argument.,:all:   z:none:)
startswithr   splitclearaddindexr   discard)r,   r-   r   newnames        r   handle_mutual_excludes$FormatControl.handle_mutual_excludes&   s    C  I  kk#nKKMLLNJJw,cii(1,,-s" n Dx$T*DMM$JJt r   canonical_namec                 *   SS1nXR                   ;   a  UR                  S5        OdXR                  ;   a  UR                  S5        OCSU R                   ;   a  UR                  S5        O!SU R                  ;   a  UR                  S5        [        U5      $ )Nbinarysourcer1   )r   r8   r   	frozenset)r   r=   results      r   get_allowed_formats!FormatControl.get_allowed_formats=   sw    H%---NN8$~~-NN8$(((NN8$&NN8$  r   c                 R    U R                  SU R                  U R                  5        g )Nr1   )r;   r   r   r)   s    r   disallow_binariesFormatControl.disallow_binariesI   s#    ##NN	
r   )r   r   )NN)r   N)r(   
__module____qualname____firstlineno____doc__r!   r   r   strr   objectboolr#   r*   staticmethodr;   r   rC   rF   __static_attributes__ r   r   r	   r	      s    Lm,I )-*.'CH%' c#h'' 
	'RF Rt RR# R c 3s8 CH QU  ,
!# 
!)C. 
!
r   r	   N)	typingr   r   r   pip._vendor.packaging.utilsr   pip._internal.exceptionsr   r	   rQ   r   r   <module>rU      s    + + 9 1F
 F
r   