
    }c+                     T   d Z ddlZddlZddlmZ ddlmZmZmZ ddl	m
Z
 ddlZddlZddlmZ 	 ddlmZ n # e$ r 	 ddlmZ n# e$ r dZY nw xY wY nw xY wdgZed	ed
ed         fd            Zdeded
eeef         fdZded
efdZded	ed
ej        fdZded	ed
ej        fdZdS )zSimple requests package loader    N)contextmanager)Any	GeneratorUnion)urlsplit)Config)InsecureRequestWarning)
User-AgentzDMozilla/5.0 (X11; Linux x86_64; rv:25.0) Gecko/20100101 Firefox/25.0kwargsreturn)NNNc               +      K   t          j                    5  |                     d          s"t          rt          j        dt                     d V  d d d            d S # 1 swxY w Y   d S )Nverifyignore)category)warningscatch_warningsgetr	   filterwarnings)r   s    4lib/python3.11/site-packages/sphinx/util/requests.pyignore_insecure_warningr      s      		 	"	"  zz(## 	O(> 	O#H7MNNNN	                 s   <AA#&A#urlconfigc                    |j         sdS t          |dd          }|sdS t          |t          t          f          r|S t          |           d         }d|v r|                    d          d         }|                    |d          S )zGet additional CA cert for a specific URL.

    This also returns ``False`` if verification is disabled.
    And returns ``True`` if additional CA cert not found.
    Ftls_cacertsNT   @)
tls_verifygetattr
isinstancestrtupler   splitr   )r   r   certshostnames       r   _get_tls_cacertr%   &   s      uFM400E 	)t	EC<	(	( )C==#(? 	.~~c**1-Hyy4(((    c                     | j         r| j         S d                    dt          j        z  dt          j        z  dd                    t          t          t          j        d d                             z  g          S )N z	Sphinx/%szrequests/%sz	python/%s.   )	
user_agentjoinsphinx__version__requestsmapr    sysversion_info)r   s    r   _get_user_agentr3   <   sq       xx&,,H00#((3sC,<RaR,@#A#ABBB
   	r&   c                    |                     di           }|                    dd          }|rH|                     dt          | |                     |                     dt          |                     n'|                     dt          d         d                    t          di |5  t          j        | fi |cddd           S # 1 swxY w Y   dS )	zpSends a GET request like requests.get().

    This sets up User-Agent header and TLS verification automatically.headersr   Nr   r
   r   r    )
setdefaultpopr%   r3   useragent_headerr   r/   r   r   r   r5   r   s       r   r   r   G   s$    	2..GZZ$''F A(OC$@$@AAA<)@)@AAAA<)9!)<Q)?@@@	 	*	*6	*	* + +|C**6**+ + + + + + + + + + + + + + + + + +   *C		CCc                    |                     di           }|                    dd          }|rH|                     dt          | |                     |                     dt          |                     n'|                     dt          d         d                    t          di |5  t          j        | fi |cddd           S # 1 swxY w Y   dS )	zrSends a HEAD request like requests.head().

    This sets up User-Agent header and TLS verification automatically.r5   r   Nr   r
   r   r   r6   )r7   r8   r%   r3   r9   r   r/   headr:   s       r   r=   r=   W   s$    	2..GZZ$''F A(OC$@$@AAA<)@)@AAAA<)9!)<Q)?@@@	 	*	*6	*	* , ,}S++F++, , , , , , , , , , , , , , , , , ,r;   )__doc__r1   r   
contextlibr   typingr   r   r   urllib.parser   r/   r-   sphinx.configr   $requests.packages.urllib3.exceptionsr	   ImportErrorurllib3.exceptionsr9   r   r    boolr%   r3   Responser   r=   r6   r&   r   <module>rH      s   $ $ 



  % % % % % % ( ( ( ( ( ( ( ( ( ( ! ! ! ! ! !              &KKKKKKK & & &&======= & & &!%&	&] ^  c i8H.I    ) )f )sDy1A ) ) ) ),F s    +S +C +H$5 + + + + ,c ,S ,X%6 , , , , , ,s2   7 AAAAAAAA