Zճcn2ddlZddlZddlZddl ej j ZejdZ dZ dejzejzZ eje jdZej"ejdejzejzej$ejd j'zjd Zej*j-jd j/e Zej-jd j3eZeej6d zeezzZej:ej<ej>eZ ed Z!e!e dedzzZ"e j-Z#ej<ej>e"Z$ddZ%ddZ&y#e$rej ZYwxYw)N)*z\\(.)c:tjd|dddS)Nz\1rr) UNQUOTE_PAIRSsub)slts //usr/lib/python3/dist-packages/httplib2/auth.pyr s-++E1Q4":>z!#$%&'*+-.^_`|~tokenz-._~+/=token68z quoted-stringzauth-param-nameschemeparamsc|j|dj}|siS tj|}|jS#tj $r}t |d}~wwxYw)z(https://tools.ietf.org/html/rfc7615 N)getstripauthentication_info parseStringppParseExceptionMalformedHeaderasDict)headers headernameheaderparsedexs r _parse_authentication_infor#%sk[[R ( . . 0F  *$008 ==?   *j))*sA A. A))A.cb|j|dj}|siS tj|}|Dcic]>}|djd|vr|djnd|jdi@}}|S#tj $r}t |d}~wwxYwcc}w)z?Returns a dictionary of dictionaries, one dict per auth_scheme.rNrrr) rrwww_authenticaterrrrlowerr)rrr r!r" challengeretvals r _parse_www_authenticater)4s [[R ( . . 0F  *!--f5   (!!# y &/x%8%?%?%Ay}}W- . /F M   *j))*sBAB,B) B$$B))zauthentication-info)zwww-authenticate)'base64re pyparsingrerrorcommondowncaseTokensAttributeErrorcompilerunquotenumsalphastcharWordsetNamerCombineOptionalleaveWhitespacerdblQuotedStringcopysetParseAction quoted_stringaddParseActionauth_param_nameSuppress auth_paramDict delimitedListGrouprrr'rr%r#r)rr rGs 'YY--N 8$ > BGG#bii/w' "**WRWWX/"));<{r{{7277SV