
    q&f                        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 ej                  Z
 G d d      Z e       Z e       Z e       Zej                  ej                   d       ej#                  ej                   dd       ej#                  ej                   d	d
       ej#                  ej                   dd       ej                  ej$                  d       ej                  ej&                  d       ej                  ej(                  d       ej                  ej*                  d       ddZddZee_        ee_        d Zd Zd Zd Zd Zy)    N   )pycompatc                   $    e Zd Zd Zd Zd Zd Zy)_pycompatstubc                     i | _         y N)_aliases)selfs    8/usr/lib/python3/dist-packages/mercurial/urllibcompat.py__init__z_pycompatstub.__init__   s	        c                 n    t        t        |      }| j                  j                  fd|D               y)z4Add items that will be populated at the first accessc              3   f   K   | ](  }|j                  d d      j                         |ff * yw)_ N)replacelower).0itemorigins     r   	<genexpr>z1_pycompatstub._registeraliases.<locals>.<genexpr>   s3      
@DT\\#r"((*VTN;
s   .1N)map_sysstrr	   update)r
   r   itemss    ` r   _registeraliasesz_pycompatstub._registeraliases   s.    GU# 
HM
 	
r   c                 J    |t        |      f| j                  t        |      <   y)z%Alias ``origin``.``attr`` as ``name``N)r   r	   )r
   r   attrnames       r   _registeraliasz_pycompatstub._registeralias   s    (.'>gdm$r   c                     	 | j                   |   \  }}t        ||      x| j                  |<   }|S # t        $ r t        |      w xY wr   )r	   KeyErrorAttributeErrorgetattr__dict__)r
   r   r   r   objs        r   __getattr__z_pycompatstub.__getattr__"   sV    	'==.LFD %,FD$99dc
  	' &&	's	   1 AN)__name__
__module____qualname__r   r   r    r'    r   r   r   r      s    
?r   r   )s	   splitattrs   splitpasswds	   splitports	   splitusers   urlparses
   urlunparses   parse_qss   parseqss	   parse_qsls   parseqsls   unquote_to_bytess   unquote)s   AbstractHTTPHandlers   BaseHandlers   build_openers   FileHandlers
   FTPHandlers
   ftpwrappers   HTTPHandlers   HTTPSHandlers   install_openers   pathname2urls   HTTPBasicAuthHandlers   HTTPDigestAuthHandlers   HTTPPasswordMgrWithDefaultRealms   ProxyHandlers   Requests   url2pathnames   urlopen)s   addclosehooks
   addinfourl)s	   HTTPErrors   URLError)s
   HTTPServers   BaseHTTPRequestHandlers   SimpleHTTPRequestHandlers   CGIHTTPRequestHandlerc                     t        | t        j                        rt        |       } t        j
                  j                  | |      } | j                  dd      S )N)safeasciistrict)
isinstancer   bytestrbytesurllibparsequote_from_bytesencode)sr-   s     r   quoter8   s   sG     !X%%&!H%%ad%3A88GX&&r   c                 f    t         j                  j                  | |      }|j                  d      S )N)doseqr.   )r3   r4   	urlencoder6   )queryr:   r7   s      r   r;   r;   ~   s*    uE2A88Gr   c                     | j                   S r   )full_urlreqs    r   
getfullurlrA          <<r   c                     | j                   S r   )hostr?   s    r   gethostrE          88Or   c                     | j                   S r   )selectorr?   s    r   getselectorrI      rB   r   c                     | j                   S r   datar?   s    r   getdatarM      rF   r   c                     | j                   d uS r   rK   r?   s    r   hasdatarO      s    884r   )/)F)http.serverhttpurllib.errorr3   urllib.parseurllib.requesturllib.responser   r   sysstrr   r   
httpserverurlrequrlerrr   r4   r    requestresponseerrorserverr8   r;   rA   rE   rI   rM   rO   r+   r   r   <module>r_      sD        
// 0 _
		   
LL
   fllK <   fllL+ >   fll$7 D   
NN0   
OO   
LL   KK'
   r   