
    i                        d dl Z d dlZddlmZ  e j        d          Zd Zdej        z   ej	        z   Z
 ej        e
                              d          Z ej         ej        dej        z   ej	        z              ej         ej        d	                                                    z                                 d
          Zej                                                            d                              e          Ze                                                    d                              ej        j                  Ze ej        d	          z   eez  z   Z ej         ej         ej        e                              Z ed          Z e  ed           ed          z  z   Z!e                                Z" ej         ej        e!                    Z#ddZ$ddZ%dS )    N   )MalformedHeaderz\\(.)c                 T    t                               d|d         dd                   S )Nz\1r   r   )UNQUOTE_PAIRSsub)s_ts      H/root/projects/butler/venv/lib/python3.11/site-packages/httplib2/auth.py<lambda>r   	   s"    -++E1Q4":>>     z!#$%&'*+-.^_`|~tokenz-._~+/=token68zquoted-stringzauth-param-nameschemeparamsauthentication-infoc                     |                      |d                                          }|si S 	 t                              |          }n"# t          j        $ r t          |          w xY w|                                S )z(https://tools.ietf.org/html/rfc7615
     )getstripauthentication_infoparse_stringppParseExceptionr   as_dict)headers
headernameheaderparseds       r   _parse_authentication_infor"      s     [[R((..00F 	*$11&99 * * *j)))* >>   A	 	A(www-authenticatec                     |                      |d                                          }|si S 	 t                              |          }n"# t          j        $ r t          |          w xY wd |D             }|S )z?Returns a dictionary of dictionaries, one dict per auth_scheme.r   c                     i | ]P}|d                                           d|v r|d                                         nd|                    d          iQS )r   r   r   )lowerr   r   ).0	challenges     r   
<dictcomp>z+_parse_www_authenticate.<locals>.<dictcomp>9   ss         	(!!##y   &/x%8%@%@%B%B%By}}W--.  r   )r   r   www_authenticater   r   r   r   )r   r   r    r!   retvals        r   _parse_www_authenticater-   .   s    [[R((..00F 	*!..v66 * * *j)))*   	  F Mr#   )r   )r$   )&re	pyparsingr   errorr   compiler   unquotenumsalphastcharWordset_namer   CombineOptionalleave_whitespacer   dbl_quoted_stringcopyset_parse_actionquoted_stringadd_parse_actioncommondowncase_tokensauth_param_nameSuppress
auth_paramDictDelimitedListGroupr   r   r)   r   r+   r"   r-    r   r   <module>rI      s   				     " " " " " " 
8$$
>
> 	BG#bi/((
"*WRWX/");<<{r{727SV<<KhKhKjKj?k?kk
l
l
u
u  $))++44_EEVVW^__**,,''(9::KKBILeff{r{3///=53HI
	!!("(:"6"677	8	8	xffX&&)9)99:	kkmm #2#HBHY$7$788         r   