
    i                    b   d dl mZ d dlZd dlZd dlZd dlZd dlmZ d dlm	Z	 d dl
mZ d dlZd dlmZ d dlmZ d dlmZ d d	lmZ d d
lmZ d dlmZ d dlmZ d dlmZ d dlm Z  d dl!m"Z" d dl#m$Z$  ejJ                  e&      Z'ddZ(ddZ)ddZ*ddZ+d dZ,d!dZ-ddZ.d"dZ/d#dZ0 G d de      Z1y)$    )annotationsN)Values)
ModuleType)Any)where)parse)
cmdoptions)Command)make_target_python)SUCCESS)Configuration)get_environment)open_text_resource)
indent_log)get_pip_versionc                2    t         j                  d| |       y )Nz%s: %s)loggerinfo)namevalues     O/root/searxng-venv/lib/python3.12/site-packages/pip/_internal/commands/debug.py
show_valuer      s    
KK$&    c                     t         j                  d       t        j                  j                  } t               5  t        d|        d d d        y # 1 sw Y   y xY w)Nzsys.implementation:r   )r   r   sysimplementationr   r   r   )implementation_names    r   show_sys_implementationr       sF    
KK%&,,11	 06./0 0 0s   AAc                     t        dd      5 } | j                         D cg c]*  }d|v s|j                         j                  dd      d   , }}d d d        t	        d D              S c c}w # 1 sw Y    xY w)Nzpip._vendorz
vendor.txt==    r   c              3  @   K   | ]  }|j                  d d        yw)r    r"   N)split).0lines     r   	<genexpr>z(create_vendor_txt_map.<locals>.<genexpr>0   s     6

4#6s   )r   	readlinesstripr$   dict)fr&   liness      r   create_vendor_txt_mapr-   '   s{    	M<	8 
A 78kkm
.2tt|DJJLsA&q)
 

 6666

 
s!   A0	A+%A+A0+A00A9c                    | j                         j                  dd      } | dk(  rd} t        d|  t               t	               d       t        t        j                  |       S )N-_
setuptoolspkg_resourceszpip._vendor.r   )level)lowerreplace
__import__globalslocalsgetattrpip_vendor)module_names    r   get_module_from_module_namer=   3   sT    ##%--c37Kl"%k]+WYJ3;;,,r   c                   t        |       }t        |dd       }|rk|si|j                  J t        t        j
                  j                  |j                        g      }|j                  |       }|rt        |j                        }|S )N__version__)
r=   r9   __file__r   ospathdirnameget_distributionstrversion)r<   modulerF   envdists        r   get_vendor_version_from_modulerJ   >   ss    (5FfmT2Gg***rwwv?@A##K0$,,'GNr   c                    | j                         D ]N  \  }}d}t        |      }|sd}|}nt        |      t        |      k7  rd| d}t        j	                  d|||       P y)z{Log the actual version and print extra info if there is
    a conflict or if the actual version could not be imported.
     zM (Unable to locate actual module version, using vendor.txt specified version)z2 (CONFLICT: vendor.txt suggests version should be )z%s==%s%sN)itemsrJ   parse_versionr   r   )vendor_txt_versionsr<   expected_versionextra_messageactual_versions        r   show_actual_vendor_versionsrT   M   s     *=)B)B)D L%%7D1  .N>*m<L.MM'(+  	J^]KLr   c                     t         j                  d       t               } t               5  t	        |        d d d        y # 1 sw Y   y xY w)Nzvendored library versions:)r   r   r-   r   rT   )rP   s    r   show_vendor_versionsrV   b   s;    
KK,-/1	 9#$789 9 9s	   ?Ac                   d}t        |       }|j                         }|j                         }d}|rd| d}dt        |       | }t        j                  |       | j                  dk  rt        |      |kD  rd}|d | }nd}t               5  |D ]   }t        j                  t        |             " |rd	| d
}t        j                  |       d d d        y # 1 sw Y   y xY w)N
   rL   z
 (target: rM   zCompatible tags: r"   TFz...
[First z) tags shown. Pass --verbose to show all.])	r   get_sorted_tagsformat_givenlenr   r   verboser   rE   )	options	tag_limittarget_pythontagsformatted_targetsuffixmsgtags_limitedtags	            r   	show_tagsrf   j   s    I&w/M((*D %113F./q1c$i[
1C
KKs4y94JY	  	"CKKC!	"  +TUCKK  s   ACC#c                
   | j                         D ch c]  \  }}|j                  dd      d    }}}|syg d}|D cg c]	  }||v s| }}|syd|v r|j                  d       dj                  |      S c c}}w c c}w )N.r"   r   zNot specified)installwheeldownloadglobalz, )rN   r$   removejoin)configkeyr0   levelslevels_that_override_globalr3   global_overriding_levels          r   ca_bundle_infort      s    17@vsAciiQ"@F@"B!U.I%I  #6h99V A
s   A:	B B c                  (    e Zd ZdZdZdZddZddZy)	DebugCommandz$
    Display debug information.
    z
      %prog <options>Tc                    t        j                  | j                         | j                  j	                  d| j                         | j                  j
                  j                          y )Nr   )r	   add_target_python_optionscmd_optsparserinsert_option_groupro   load)selfs    r   add_optionszDebugCommand.add_options   sB    ,,T]];''4==9!r   c                T   t         j                  d       t        dt                      t        dt        j
                         t        dt        j                         t        dt	        j                                t        dt	        j                                t        dt        j                                t        dt        j                         t                t        d	t        | j                  j                               t        d
t         j"                  j%                  d
             t        dt         j"                  j%                  d             t        dt'                      t        dt(        j*                  j,                         t/                t1        |       t2        S )NzThis command is only meant for debugging. Do not use this with automation for parsing and getting these details, since the output and options of this command may change without notice.zpip versionzsys.versionzsys.executablezsys.getdefaultencodingzsys.getfilesystemencodingzlocale.getpreferredencodingzsys.platformz'cert' config valueREQUESTS_CA_BUNDLECURL_CA_BUNDLEzpip._vendor.certifi.where()zpip._vendor.DEBUNDLED)r   warningr   r   r   rF   
executablegetdefaultencodinggetfilesystemencodinglocalegetpreferredencodingplatformr   rt   rz   ro   rA   environgetr   r:   r;   	DEBUNDLEDrV   rf   r   )r}   r]   argss      r   runzDebugCommand.run   s   %	
 	=/"34=#++.#S^^4+S-C-C-EF.0I0I0KL)'')	
 	>3<<0!(.9K9K*LM'8L)MN#RZZ^^4D%EF0%':*CKK,A,AB'r   NreturnNone)r]   r   r   z	list[str]r   int)__name__
__module____qualname____doc__usageignore_require_venvr~   r    r   r   rv   rv      s    E"
r   rv   )r   rE   r   r   r   r   r   )r   dict[str, str])r<   rE   r   zModuleType | None)r<   rE   r   z
str | None)rP   r   r   r   )r]   r   r   r   )ro   r   r   rE   )2
__future__r   r   loggingrA   r   optparser   typesr   typingr   pip._vendorr:   pip._vendor.certifir   pip._vendor.packaging.versionr   rO   pip._internal.clir	   pip._internal.cli.base_commandr
   pip._internal.cli.cmdoptionsr   pip._internal.cli.status_codesr   pip._internal.configurationr   pip._internal.metadatar   pip._internal.utils.compatr   pip._internal.utils.loggingr   pip._internal.utils.miscr   	getLoggerr   r   r   r   r-   r=   rJ   rT   rV   rf   rt   rv   r   r   r   <module>r      s    "   	 
     % @ ( 2 ; 2 5 2 9 2 4			8	$'0	7-L*9<"+7 +r   