o
    Ëý°j„  ã                   @   sî   d Z 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ZzddlmZ W n ey?   dZY nw zdd	lmZ W n eyW   dZdZdZY n	w ddlZddlZd
d„ Zdd„ Zdd„ Zedkrueƒ  dS dS )z'Module containing bug report helper(s).é    )Úprint_functionN)Úidna)Úurllib3é   )Ú__version__)Úchardet)Ú	pyopensslc                  C   sŽ   t  ¡ } | dkrt  ¡ }n5| dkr.dtjjtjjtjjf }tjjdkr-d 	|tjjg¡}n| dkr7t  ¡ }n| dkr@t  ¡ }nd}| |d	œS )
a×  Return a dict with the Python implementation and version.

    Provide both the name and the version of the Python implementation
    currently running. For example, on CPython 2.7.5 it will return
    {'name': 'CPython', 'version': '2.7.5'}.

    This function works best on CPython and PyPy: in particular, it probably
    doesn't work for Jython or IronPython. Future investigation should be done
    to work out the correct shape of the code for those platforms.
    ÚCPythonÚPyPyz%s.%s.%sÚfinalÚ ÚJythonÚ
IronPythonÚUnknown)ÚnameÚversion)
ÚplatformÚpython_implementationÚpython_versionÚsysÚpypy_version_infoÚmajorÚminorÚmicroÚreleaselevelÚjoin)ÚimplementationÚimplementation_version© r   úŒ/root/aizidognhua/tmp/workspace/projects/ec89d86c-575f-41c9-af57-ac45cbdbf775/venv/lib/python3.10/site-packages/pip/_vendor/requests/help.pyÚ_implementation    s&   
þÿ€


r    c            
      C   sú   zt  ¡ t  ¡ dœ} W n ty   dddœ} Y nw tƒ }dtji}ddi}ddi}tr1dtji}tr8dtji}dddœ}t	rIt	jdt	j
j dœ}dttddƒi}dttddƒi}tj}d|dured| ndi}	| ||	tdutdu ||||||dtid	œS )
z&Generate information for a bug report.)ÚsystemÚreleaser   r   Nr   )r   Úopenssl_versionz%xr   )r   r   Ú
system_sslÚusing_pyopensslÚusing_charset_normalizerÚ	pyOpenSSLr   r   Úcharset_normalizerÚcryptographyr   Úrequests)r   r!   r"   ÚIOErrorr    r   r   r(   r   ÚOpenSSLÚSSLÚOPENSSL_VERSION_NUMBERÚgetattrr)   r   Ússlr   Úrequests_version)
Úplatform_infoÚimplementation_infoÚurllib3_infoÚcharset_normalizer_infoÚchardet_infoÚpyopenssl_infoÚcryptography_infoÚ	idna_infor$   Úsystem_ssl_infor   r   r   ÚinfoA   sZ   
þ
þÿ


þ
þÿÿÿÿôr;   c                   C   s   t tjtƒ ddd�ƒ dS )z)Pretty-print the bug information as JSON.Té   )Ú	sort_keysÚindentN)ÚprintÚjsonÚdumpsr;   r   r   r   r   Úmain~   s   rB   Ú__main__)Ú__doc__Ú
__future__r   r@   r   r   r0   Úpip._vendorr   r   r   r   r1   r(   r   ÚImportErrorÚpip._vendor.urllib3.contribr   r,   r)   r    r;   rB   Ú__name__r   r   r   r   Ú<module>   s<    ÿý!=
ÿ