
    ŞiN=                    P   d dl mZ d dlZd dlZd dlZd dlZd dlZddlm	Z	m
Z
mZ ddlmZmZmZ ddlmZmZ e
 ed          e ed           ed	 ej                            d
          D                       Zedk     rej         de_         ed          e
j        dk     re
j         de
_         ed          d dlZ
d dlZ
d dlZd dlZd dlZddlm Z m!Z!m"Z"m#Z#m$Z$m%Z% ddl&m'Z'm(Z(m)Z)m*Z*m+Z+ ddl,m-Z-m.Z.m/Z/m0Z0m1Z1m2Z2m3Z3 ddl4m0Z5 ddgZ6e	e67                    d           	  G d d          Z8d dl9Z e:ej;        j<        d          r* e8ej;        j<        j=                  ej;        j<        _=        n ej>        d e            z              ee
j?        _         G d de)          Z@ G d de
j?        jA                  ZB G d  d!e
jC        jD                  ZE G d" d#ejF                  ZG G d$ d%ejH                  ZIe+ G d& d'e(e                       ZJ e*eJ          d(             ZK G d) d*ejL        jM                  ZN G d+ d,eNejL        jO                  ZP G d- d.ejQ                  ZR G d/ d0ejS                  ZT G d1 d2ejU                  ZVeVe
j?        _W        dS )3    )annotationsN   )brotlirequestsurllib3)bug_reports_messageint_or_nonevariadic)normalize_urlselect_proxyz requests module is not installedzurllib3 module is not installedc              #  8   K   | ]}t          |d           V  dS )r   )defaultN)r	   ).0xs     `C:\Users\betacode\Desktop\descargarYoutube\venv\Lib\site-packages\yt_dlp/networking/_requests.py	<genexpr>r      s/      ZZaAq111ZZZZZZ    .)r   r   r   z (unsupported)z"Only urllib3 >= 2.0.2 is supportedi2 z$Only requests >= 2.32.2 is supported   )InstanceStoreMixinadd_accept_encoding_headercreate_connectioncreate_socks_proxy_socketget_redirect_methodmake_socks_proxy_opts)FeaturesRequestHandlerResponseregister_preferenceregister_rh)CertificateVerifyError	HTTPErrorIncompleteRead
ProxyErrorRequestErrorSSLErrorTransportError)r$   gzipdeflatebrc                  "    e Zd ZddZd Zd ZdS )Urllib3PercentREOverrider
re.Patternc                    || _         d S N)re)selfr-   s     r   __init__z!Urllib3PercentREOverride.__init__W   s    r   c                6    | j                             |          S r0   )r1   __getattribute__)r2   items     r   __getattr__z$Urllib3PercentREOverride.__getattr__[   s    w''---r   c                @    | | j         j        ||g|R i |d         fS )Nr   )r1   subn)r2   replstringargskwargss        r   r9   zUrllib3PercentREOverride.subn^   s2    |tw|D&B4BBB6BB1EEEr   N)r-   r.   )__name__
__module____qualname__r3   r7   r9    r   r   r,   r,   V   sK           . . .F F F F Fr   r,   _PERCENT_REzBFailed to patch _PERCENT_RE in urllib3 (does the attribute exist?)c                  4     e Zd Zd fdZddd	Zddd
Z xZS )RequestsResponseAdapterresrequests.models.Responsec                    t                                          |j        |j        |j        |j        |j                   || _        d S )N)fpheadersurlstatusreason)superr3   rawrI   rJ   status_coderL   _requests_response)r2   rE   	__class__s     r   r3   z RequestsResponseAdapter.__init__s   sJ    w?3: 	 	7 	7 	7 #&r   Namt
int | Nonereturnbytesc                    |Dt          j        | j        j        dd          }d                    t          |d                    S | j                            |d          S )Ni   T)decode_contentr   )	functoolspartialrH   readjoiniter)r2   rR   
read_chunks      r   
_real_readz"RequestsResponseAdapter._real_readz   sY     ;"*47<QUVVVJ88DS11222w||C|555r   c                ~   	 |                      |          }| j        j        r|                                  |S # t          j        j        $ r}t          |          |d }~wt          j        j        $ r}t          d |j	        |j
        gt          |j                  R D             d           }|Lt          |j        t                    r|j        nt!          |j                  }t#          ||j                  |t'          |          |d }~wt          j        j        $ r}t'          |          |d }~ww xY w)Ncausec              3  X   K   | ]%}t          |t          j        j                  !|V  &d S r0   )
isinstancehttpclientr#   )r   errs     r   r   z/RequestsResponseAdapter.read.<locals>.<genexpr>   sR       A AsDK$>??A A A A A A Ar   )rY   expected)r^   rH   closedcloser   
exceptionsr&   ProtocolErrornext__context__	__cause__r
   r<   rc   rY   intlenr#   rg   r'   r"   )r2   rR   dataeir_errrY   s         r   rZ   zRequestsResponseAdapter.read   sh   	1??3''Dw~ 

K!* 	+ 	+ 	+###*!/ 	1 	1 	1 A A Ohqv>N>N O O A A ABFH HF ! -7v~s,K,Kd&..QTU[UcQdQd$WvOOOUVV q)))q0!+ 	1 	1 	1 q)))q0	1s.   69 D<AD<5BDD<&D77D<)rE   rF   r0   )rR   rS   rT   rU   )rR   rS   )r>   r?   r@   r3   r^   rZ   __classcell__rQ   s   @r   rD   rD   r   so        & & & & & &6 6 6 6 61 1 1 1 1 1 1 1 1r   rD   c                  B     e Zd Zd fd	Z fdZ fdZd ZddZ xZS )	RequestsHTTPAdapterNc                    i | _         |r
|| j         d<   |r|df| j         d<   |p|| _         t                      j        di | d S )Nssl_contextr   source_addressrA   )_pm_args_proxy_ssl_contextrM   r3   )r2   ry   proxy_ssl_contextrz   r=   rQ   s        r   r3   zRequestsHTTPAdapter.__init__   si     	7+6DM-( 	B/=q.ADM*+"3"B{""6"""""r   c                D     t                      j        |i || j        S r0   )rM   init_poolmanagerr{   )r2   r<   r=   rQ   s      r   r   z$RequestsHTTPAdapter.init_poolmanager   s&    'uww'II4=IIIr   c                    i }|                                                     d          s| j        r
| j        |d<    t                      j        |fi || j        |S )Nsocksr}   )lower
startswithr|   rM   proxy_manager_forr{   )r2   proxyproxy_kwargsextra_kwargsrQ   s       r   r   z%RequestsHTTPAdapter.proxy_manager_for   sl    {{}}''00 	HT5L 	H040GL,-(uww(``,`$-`S_```r   c                     d S r0   rA   )r<   r=   s     r   cert_verifyzRequestsHTTPAdapter.cert_verify   s    r   c                    t           j                            |j                  j        }| j        }t          ||          x}r|                     |          }|                    |          S r0   )r   util	parse_urlrJ   poolmanagerr   r   connection_from_url)r2   requestverifyproxiescertrJ   managerr   s           r   get_connection_with_tls_contextz3RequestsHTTPAdapter.get_connection_with_tls_context   sb    l$$W[115" g...5 	4,,U33G**3///r   )NNN)NN)	r>   r?   r@   r3   r   r   r   r   rt   ru   s   @r   rw   rw      s        # # # # # #J J J J Ja a a a a  0 0 0 0 0 0 0 0r   rw   c                  (     e Zd ZdZd Z fdZ xZS )RequestsSessionzS
    Ensure unified redirect method handling with our urllib redirect handler.
    c                    t          |j        |j                  }||j        k    r|j        |_        d|_        ||_        t	          |j                  |_        d S )Ni4  )r   methodrO   _real_status_coder   rJ   )r2   prepared_requestresponse
new_methods       r   rebuild_methodzRequestsSession.rebuild_method   sb    ()9)@(BVWW
 )000)1)=H&#&H ",  --=-ABBr   c                    t          |d          r|j        |_        |`t                                          ||          S )Nr   )hasattrr   rO   rM   rebuild_auth)r2   r   r   rQ   s      r   r   zRequestsSession.rebuild_auth   sD     8011 	+#+#=H *ww##$4h???r   )r>   r?   r@   __doc__r   r   rt   ru   s   @r   r   r      s]         C C C@ @ @ @ @ @ @ @ @r   r   c                      e Zd Zd ZdS )Urllib3LoggingFilterc                    |j         dk    S )Nz%s://%s:%s "%s %s %s" %s %s)msg)r2   records     r   filterzUrllib3LoggingFilter.filter   s    z:::r   N)r>   r?   r@   r   rA   r   r   r   r      s#        ; ; ; ; ;r   r   c                  (     e Zd ZdZ fdZd Z xZS )Urllib3LoggingHandlerz#Redirect urllib3 logs to our loggerc                H     t                      j        |i | || _        d S r0   )rM   r3   _logger)r2   loggerr<   r=   rQ   s       r   r3   zUrllib3LoggingHandler.__init__   s*    $)&)))r   c                   	 |                      |          }|j        t          j        k    r| j                            |           d S | j                            |           d S # t          $ r |                     |           Y d S w xY wr0   )	formatlevelnologgingERRORr   errorstdout	ExceptionhandleError)r2   r   r   s      r   emitzUrllib3LoggingHandler.emit   s    	%++f%%C~..""3'''''##C((((( 	% 	% 	%V$$$$$$	%s   AA$ A$ $BB)r>   r?   r@   r   r3   r   rt   ru   s   @r   r   r      sM        --    	% 	% 	% 	% 	% 	% 	%r   r   c                       e Zd ZdZdZ ee          ZdZe	j
        e	j        fZdZ fdZd Z fdZdd	Zd
 Zd Z xZS )
RequestsRHz@Requests RequestHandler
    https://github.com/psf/requests
    rd   https)rd   r   socks4socks4asocks5socks5hr   c                j    t                      j        |i | t          j        d          }t	          | j                  | _        | j                            t          j        d                     | j        	                    t                                 |                    | j                   |                    t          j                   | j        r5dt          j        j        _        |                    t          j                   t          j        t          j        j                   d S )Nr   )r   zrequests: %(message)sr   )rM   r3   r   	getLoggerr   r   _RequestsRH__logging_handlersetFormatter	Formatter	addFilterr   
addHandlersetLevelr   verboser   
connectionHTTPConnection
debuglevelDEBUGdisable_warningsrj   InsecureRequestWarning)r2   r<   r=   r   rQ   s       r   r3   zRequestsRH.__init__  s    $)&))) "9--!6dl!K!K!K++G,=>U,V,VWWW(()=)?)?@@@$0111&&&< 	+ <=G-8OOGM*** !3!JKKKKKr   c                    |                                   t          j        d                              | j                   d S )Nr   )_clear_instancesr   r   removeHandlerr   )r2   s    r   ri   zRequestsRH.close  s>     	)$$2243IJJJJJr   c                    t                                          |           |                    dd            |                    dd            |                    dd            |                    dd            d S )N	cookiejartimeout
legacy_sslkeep_header_casing)rM   _check_extensionspop)r2   
extensionsrQ   s     r   r   zRequestsRH._check_extensions  sr    !!*---{D)))y$'''|T***+T22222r   Nc                   t                      }t          |                     |          | j        t          j        j                            d                    }|j        	                                 t          j                                        |_        |                    d|           |                    d|           ||_        d|_        |S )N)legacy_ssl_supportF)ry   rz   max_retrieszhttps://zhttp://)r   rw   _make_sslcontextrz   r   r   retryRetryadaptersclearr   modelsCaseInsensitiveDictrI   mountcookies	trust_env)r2   r   r   sessionhttp_adapters        r   _create_instancezRequestsRH._create_instance&  s    !##*--AS-TT.*0077
 
 

 	   "/==??j,///i...#!r   c                \    t          |t                     |                    dd           d S )N
Connectionz
keep-alive)r   SUPPORTED_ENCODINGS
setdefault)r2   _rI   s      r   _prepare_headerszRequestsRH._prepare_headers5  s/    "7,?@@@<66666r   c           
        |                      |          }d}|                     |                     |          |j                            d                    }	 |                    |j        |j        |j        || 	                    |          | 
                    |          dd          }n&# t          j        j        $ r}d}|j        }Y d }~nd }~wt          j        j        $ r8}dt!          |          v rt#          |          |t          |          |d }~wt          j        j        $ r}t%          |          |d }~wt          j        j        t          j        j        f$ r}t+          |          |d }~wt,          j        j        $ r}t+          |          |d }~wt          j        j        $ r}t3          |          |d }~ww xY wt5          |          }d|j        cxk    rd	k     sn t/          ||
          |S )NFr   )r   r   T)r   rJ   rq   rI   r   r   allow_redirectsstreamCERTIFICATE_VERIFY_FAILEDr`      i,  )redirect_loop)_get_headers_get_instance_get_cookiejarr   getr   r   rJ   rq   _calculate_timeout_get_proxiesr   rj   TooManyRedirectsr   r&   strr!   r$   ConnectionErrorTimeoutr'   r   r"   RequestExceptionr%   rD   rK   )r2   r   rI   max_redirects_exceededr   requests_resrr   rE   s           r   _sendzRequestsRH._send9  sT   ##G,,!&$$))'22&155lCC % 
 

!	/"??~K\//88))'22 $ + 	 	LL "3 	& 	& 	&%)":LLLLLL"+ 	+ 	+ 	+*c!ff44,15551<###*"- 	- 	- 	-1%%%1,#3X5H5PQ 	1 	1 	1 q)))q0!+ 	1 	1 	1 q)))q0"3 	/ 	/ 	/Q'''Q.	/ &l33cj&&&&3&&&&C/EFFFF
sU   AB/ /G	CG)3DG3E(G,E==GF%%G<GGr0   )r>   r?   r@   r   _SUPPORTED_URL_SCHEMEStupler   _SUPPORTED_ENCODINGS_SUPPORTED_PROXY_SCHEMESr   NO_PROXY	ALL_PROXY_SUPPORTED_FEATURESRH_NAMEr3   ri   r   r   r   r  rt   ru   s   @r   r   r      s          / 5!455Z#,h.@AGL L L L L*K K K3 3 3 3 3   7 7 72 2 2 2 2 2 2r   r   c                    dS )Nd   rA   )rhr   s     r   requests_preferencer  n  s    3r   c                  $     e Zd Z fdZd Z xZS )SocksHTTPConnectionc                H    || _          t                      j        |i | d S r0   )_proxy_argsrM   r3   )r2   _socks_optionsr<   r=   rQ   s       r   r3   zSocksHTTPConnection.__init__u  s-    )$)&)))))r   c           
     "   	 t          | j        d         | j        d         f| j        | j        t	          j        t          | j        | j        f| j                            S # t          $ r7}t          j                            | d| j         d| j         d          |d }~wt          $ r3}t          j                            t          |          |          |d }~wt           $ r)}t          j                            | d|           |d }~ww xY w)Naddrport)addressr   rz   _create_socket_funczConnection to z timed out. (connect timeout=)z&Failed to establish a new connection: )r   r  r   rz   rX   rY   r   hostr  TimeoutErrorr   rj   ConnectTimeoutErrorSocksProxyErrorr$   r   OSErrorNewConnectionError)r2   rr   s     r   	_new_connzSocksHTTPConnection._new_conny  sP   	K$)&143CF3KL#2$-$5-	49/EtGW%Y %Y	Z Z Z Z  	g 	g 	g$88^ty^^t|^^^` `efg 	B 	B 	B$//A::A 	K 	K 	K$77BqBBD DIJK	Ks0   AA! !
D+2BD*.CD%$D		D)r>   r?   r@   r3   r   rt   ru   s   @r   r  r  t  sN        * * * * *K K K K K K Kr   r  c                      e Zd ZdS )SocksHTTPSConnectionN)r>   r?   r@   rA   r   r   r"  r"    s        Dr   r"  c                      e Zd ZeZdS )SocksHTTPConnectionPoolN)r>   r?   r@   r  ConnectionClsrA   r   r   r$  r$    s        'MMMr   r$  c                      e Zd ZeZdS )SocksHTTPSConnectionPoolN)r>   r?   r@   r"  r%  rA   r   r   r'  r'    s        (MMMr   r'  c                        e Zd Zd fd	Z xZS )SocksProxyManagerN
   c                    t          |          |d<    t                      j        ||fi | t          t          d| _        d S )Nr  r   )r   rM   r3   r$  r'  pool_classes_by_scheme)r2   socks_proxyusernamepassword	num_poolsrI   connection_pool_kwrQ   s          r   r3   zSocksProxyManager.__init__  sT    /D[/Q/Q+,GBB/ABBB+-'
 '
###r   )NNr*  N)r>   r?   r@   r3   rt   ru   s   @r   r)  r)    s=        
 
 
 
 
 
 
 
 
 
r   r)  )X
__future__r   rX   http.clientrd   r   r1   warningsdependenciesr   r   r   utilsr   r	   r
   utils.networkingr   r   ImportErrorr  __version__spliturllib3_version_yt_dlp__version	__build__requests.adaptersrequests.utilsurllib3.connectionurllib3.exceptionsurllib3.util_helperr   r   r   r   r   r   commonr   r   r   r   r    rj   r!   r"   r#   r$   r%   r&   r'   r   r  r   appendr,   urllib3.util.urlr   r   rJ   rB   warnr   rD   HTTPAdapterrw   sessionsSessionr   Filterr   Handlerr   r   r  r   r   r  HTTPSConnectionr"  HTTPConnectionPoolr$  HTTPSConnectionPoolr'  PoolManagerr)  SOCKSProxyManagerrA   r   r   <module>rR     s   " " " " " "          				  4 4 4 4 4 4 4 4 4 4 > > > > > > > > > > : : : : : : : :
+8
9
99
?
+7
8
88%ZZ7;N;T;TUX;Y;YZZZZZY")"5EEEG
+:
;
;;  #+#7 G G GH
+<
=
==                                                                  2 1 1 1 1 1 I  
t$$$$	F 	F 	F 	F 	F 	F 	F 	F    
77<]++ p#;#;GL<L<X#Y#YGL  HMVYlYlYnYnnooo ".  +1 +1 +1 +1 +1h +1 +1 +1\0 0 0 0 0(+7 0 0 0D@ @ @ @ @h'/ @ @ @8; ; ; ; ;7> ; ; ;% % % % %GO % % %& r r r r r!3 r r rj Z    ! 
K K K K K',; K K K.	 	 	 	 	.0B0R 	 	 	( ( ( ( (g8 ( ( () ) ) ) )w: ) ) )
 
 
 
 
+ 
 
 
 '8  # # #r   