+
    ÞN|jº'  ã                   óâ   € R t ^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RIHt ^RI	H
t
 ^RIHtHtHt ^RIHt ^RIHt RtRtR	 t ! R
 R4      t ! R R]4      t ! R R]4      t ! R R]4      tR# )z]
requests.auth
~~~~~~~~~~~~~

This module contains the authentication handlers for Requests.
N)Ú	b64encode)Úto_native_string)Ú
basestringÚstrÚurlparse)Úextract_cookies_to_jar)Úparse_dict_headerz!application/x-www-form-urlencodedzmultipart/form-datac           	     ó.  € \        V \        4      '       g-   \        P                  ! RV : R2\        R7       \        V 4      p \        V\        4      '       g6   \        P                  ! R\        V4      : R2\        R7       \        V4      p\        V \
        4      '       d   V P                  R4      p \        V\
        4      '       d   VP                  R4      pR\        \        RP                  W34      4      P                  4       4      ,           pV# )zReturns a Basic Auth string.zpNon-string usernames will no longer be supported in Requests 3.0.0. Please convert the object you've passed in (zC) to a string or bytes object in the near future to avoid problems.)ÚcategoryzpNon-string passwords will no longer be supported in Requests 3.0.0. Please convert the object you've passed in (Úlatin1zBasic ó   :)Ú
isinstancer   ÚwarningsÚwarnÚDeprecationWarningr   ÚtypeÚencoder   r   ÚjoinÚstrip)ÚusernameÚpasswordÚauthstrs   && ÚRC:\Users\alokc\chatbot\backend\venv\Lib\site-packages\pip/_vendor/requests/auth.pyÚ_basic_auth_strr      sõ   € ô �h¤
×+Ò+Ü�ŠðBØBJÁð Nðô (õ	
ô �x“=ˆä�h¤
×+Ò+Ü�ŠðBÜBFÀxÃ.ÑASð Tðô (õ	
ô �x“=ˆô �(œC× Ò Ø—?‘? 8Ó,ˆä�(œC× Ò Ø—?‘? 8Ó,ˆàÔ)Ü�$—)‘)˜XÐ0Ó1Ó2×8Ñ8Ó:óõ €Gð €Nó    c                   ó*   a € ] tR t^Et o RtR tRtV tR# )ÚAuthBasez4Base class that all auth implementations derive fromc                ó   € \        R 4      h)zAuth hooks must be callable.)ÚNotImplementedError©ÚselfÚrs   &&r   Ú__call__ÚAuthBase.__call__H   s   € Ü!Ð"@ÓAÐAr   © N©Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r"   Ú__static_attributes__Ú__classdictcell__©Ú__classdict__s   @r   r   r   E   s   ø‡ € Ù>÷Bð Br   r   c                   ó<   a € ] tR t^Lt o RtR tR tR tR tRt	V t
R# )ÚHTTPBasicAuthz?Attaches HTTP Basic Authentication to the given Request object.c                ó   € Wn         W n        R # ©N)r   r   ©r    r   r   s   &&&r   Ú__init__ÚHTTPBasicAuth.__init__O   s   € Ø ŒØ Žr   c           	     ó|   € \        V P                  \        VR R4      8H  V P                  \        VRR4      8H  .4      # ©r   Nr   ©Úallr   Úgetattrr   ©r    Úothers   &&r   Ú__eq__ÚHTTPBasicAuth.__eq__S   ó>   € Üà—‘¤¨°
¸DÓ!AÑAØ—‘¤¨°
¸DÓ!AÑAðó
ð 	
r   c                ó   € W8X  * # r2   r$   r;   s   &&r   Ú__ne__ÚHTTPBasicAuth.__ne__[   ó   € ØÒ Ð r   c                ó`   € \        V P                  V P                  4      VP                  R &   V# )ÚAuthorization©r   r   r   Úheadersr   s   &&r   r"   ÚHTTPBasicAuth.__call__^   s$   € Ü%4°T·]±]ÀDÇMÁMÓ%Rˆ�	‰	�/Ñ"Øˆr   )r   r   N)r&   r'   r(   r)   r*   r4   r=   rA   r"   r+   r,   r-   s   @r   r0   r0   L   s!   ø‡ € ÙIò!ò
ò!÷ð r   r0   c                   ó*   a € ] tR t^ct o RtR tRtV tR# )ÚHTTPProxyAuthz=Attaches HTTP Proxy Authentication to a given Request object.c                ó`   € \        V P                  V P                  4      VP                  R &   V# )zProxy-AuthorizationrF   r   s   &&r   r"   ÚHTTPProxyAuth.__call__f   s%   € Ü+:¸4¿=¹=È$Ï-É-Ó+Xˆ�	‰	Ð'Ñ(Øˆr   r$   Nr%   r-   s   @r   rJ   rJ   c   s   ø‡ € ÙG÷ð r   rJ   c                   óT   a € ] tR t^kt o RtR tR tR tR tR t	R t
R tR	 tR
tV tR# )ÚHTTPDigestAuthz@Attaches HTTP Digest Authentication to the given Request object.c                óR   € Wn         W n        \        P                  ! 4       V n        R # r2   )r   r   Ú	threadingÚlocalÚ_thread_localr3   s   &&&r   r4   ÚHTTPDigestAuth.__init__n   s   € Ø ŒØ Œä&Ÿ_š_Ó.ˆÖr   c                ó  € \        V P                  R 4      '       gi   RV P                  n        RV P                  n        ^ V P                  n        / V P                  n        RV P                  n        RV P                  n        R# R# )ÚinitTÚ N)ÚhasattrrR   rU   Ú
last_nonceÚnonce_countÚchalÚposÚnum_401_calls)r    s   &r   Úinit_per_thread_stateÚ$HTTPDigestAuth.init_per_thread_statet   sn   € ä�t×)Ñ)¨6×2Ò2Ø&*ˆD×ÑÔ#Ø,.ˆD×ÑÔ)Ø-.ˆD×ÑÔ*Ø&(ˆD×ÑÔ#Ø%)ˆD×ÑÔ"Ø/3ˆD×ÑÖ,ñ 3r   c                ó,  a€ V P                   P                  R,          pV P                   P                  R,          pV P                   P                  P                  R4      pV P                   P                  P                  R4      pV P                   P                  P                  R4      pRoVf   RpMVP                  4       pVR8X  g   VR8X  d   R	 p	V	oM&VR
8X  d   R p
V
oMVR8X  d   R pVoMVR8X  d   R pVoV3R lpSf   R# Rp\	        V4      pVP
                  ;'       g    RpVP                  '       d   VRVP                   2,          pV P                   RV RV P                   2pV RV 2pS! V4      pS! V4      pW@P                   P                  8X  d%   V P                   ;P                  ^,          un
        M^V P                   n
        V P                   P                  R p\        V P                   P                  4      P                  R4      pVVP                  R4      ,          pV\        P                  ! 4       P                  R4      ,          pV\        P                   ! ^4      ,          p\"        P$                  ! V4      P'                  4       R,          pVR8X  d   S! V RV RV 24      pV'       g   V! VV RV 24      pM6VR8X  g   RVP)                  R4      9   d   V RV RV RV 2pV! VV4      pMR# W@P                   n	        RV P                   RV RV RV RV R2pV'       d   VR V R2,          pV'       d   VR!V R2,          pV'       d   VR"V R2,          pV'       d   VR#V R$V R2,          pR%V 2# )&z
:rtype: str
ÚrealmÚnonceÚqopÚ	algorithmÚopaqueNÚMD5zMD5-SESSc                 ó˜   € \        V \        4      '       d   V P                  R 4      p \        P                  ! V 4      P                  4       # ©úutf-8)r   r   r   ÚhashlibÚmd5Ú	hexdigest©Úxs   &r   Úmd5_utf8Ú4HTTPDigestAuth.build_digest_header.<locals>.md5_utf8‘   s4   € Ü˜a¤×%Ò%ØŸ™ Ó)�AÜ—{’{ 1“~×/Ñ/Ó1Ð1r   ÚSHAc                 ó˜   € \        V \        4      '       d   V P                  R 4      p \        P                  ! V 4      P                  4       # rg   )r   r   r   ri   Úsha1rk   rl   s   &r   Úsha_utf8Ú4HTTPDigestAuth.build_digest_header.<locals>.sha_utf8™   s4   € Ü˜a¤×%Ò%ØŸ™ Ó)�AÜ—|’| A“×0Ñ0Ó2Ð2r   zSHA-256c                 ó˜   € \        V \        4      '       d   V P                  R 4      p \        P                  ! V 4      P                  4       # rg   )r   r   r   ri   Úsha256rk   rl   s   &r   Úsha256_utf8Ú7HTTPDigestAuth.build_digest_header.<locals>.sha256_utf8¡   ó5   € Ü˜a¤×%Ò%ØŸ™ Ó)�AÜ—~’~ aÓ(×2Ñ2Ó4Ð4r   zSHA-512c                 ó˜   € \        V \        4      '       d   V P                  R 4      p \        P                  ! V 4      P                  4       # rg   )r   r   r   ri   Úsha512rk   rl   s   &r   Úsha512_utf8Ú7HTTPDigestAuth.build_digest_header.<locals>.sha512_utf8©   ry   r   c                 ó   <€ S! V  R V 24      # )Ú:r$   )ÚsÚdÚ	hash_utf8s   &&€r   Ú<lambda>Ú4HTTPDigestAuth.build_digest_header.<locals>.<lambda>°   s   ø€ ™) q c¨¨1¨# JÔ/r   Ú/Ú?r   Ú08xrh   :Né   NÚauthÚ,z:auth:z
username="z
", realm="z
", nonce="z", uri="z", response="Ú"z
, opaque="z, algorithm="z
, digest="z, qop="auth", nc=z
, cnonce="zDigest )rR   rZ   ÚgetÚupperr   ÚpathÚqueryr   r   rX   rY   r   r   ÚtimeÚctimeÚosÚurandomri   rr   rk   Úsplit)r    ÚmethodÚurlr`   ra   rb   rc   rd   Ú
_algorithmrn   rs   rw   r|   ÚKDÚentdigÚp_parsedrŽ   ÚA1ÚA2ÚHA1ÚHA2Úncvaluer€   ÚcnonceÚrespdigÚnoncebitÚbaser‚   s   &&&                        @r   Úbuild_digest_headerÚ"HTTPDigestAuth.build_digest_header~   s  ø€ ð
 ×"Ñ"×'Ñ'¨Õ0ˆØ×"Ñ"×'Ñ'¨Õ0ˆØ× Ñ ×%Ñ%×)Ñ)¨%Ó0ˆØ×&Ñ&×+Ñ+×/Ñ/°Ó<ˆ	Ø×#Ñ#×(Ñ(×,Ñ,¨XÓ6ˆØˆ	àÒØ‰Jà"Ÿ™Ó*ˆJà˜Ô *°
Ô":ò2ð
 !‰IØ˜5Ô ò3ð
 !‰IØ˜9Ô$ò5ð
 $‰IØ˜9Ô$ò5ð
 $ˆIä/ˆàÒÙð ˆÜ˜C“=ˆà�}‰}×#Ð# ˆØ�>�>ˆ>Ø�a˜Ÿ™Ð'Ð(Õ(ˆDà—‘ˆ˜a ˜w a¨¯© Ð7ˆØˆx�q˜˜Ðˆá˜‹mˆÙ˜‹mˆà×&Ñ&×1Ñ1Ô1Ø×Ñ×*Ò*¨aÕ/Ö*à-.ˆD×ÑÔ*Ø×'Ñ'×3Ñ3°CÐ8ˆÜ�×"Ñ"×.Ñ.Ó/×6Ñ6°wÓ?ˆØ	ˆU�\‰\˜'Ó"Õ"ˆØ	ŒT�ZŠZ‹\× Ñ  Ó)Õ)ˆØ	ŒR�ZŠZ˜‹]Õˆä—’˜a“×*Ñ*Ó,¨SÕ1ˆØ˜Ô#Ù˜s˜e 1 U G¨1¨V¨HÐ5Ó6ˆCçÙ˜   q¨¨Ð.Ó/‰GØ�FŒ]˜f¨¯	©	°#«Ô6Ø˜  ' ¨!¨F¨8°6¸#¸Ð?ˆHÙ˜˜hÓ'‰Gñ à(-×ÑÔ%ð ˜Ÿ™˜ z°%°¸
À5À'ð JØ�6˜ w i¨qð2ð 	÷ Ø�j  ¨Ð*Õ*ˆDßØ�m I ;¨aÐ0Õ0ˆDßØ�j  ¨Ð*Õ*ˆDßØÐ'¨ y°
¸6¸(À!ÐDÕDˆDà˜˜ÐÐr   c                óP   € VP                   '       d   ^V P                  n        R# R# )z)Reset num_401_calls counter on redirects.N)Úis_redirectrR   r\   )r    r!   Úkwargss   &&,r   Úhandle_redirectÚHTTPDigestAuth.handle_redirectì   s   € à�=�=ˆ=Ø/0ˆD×ÑÖ,ñ r   c                óŠ  € RVP                   u;8:  d   R8  g   M ^V P                  n        V# V P                  P                  e:   VP                  P
                  P                  V P                  P                  4       VP                  P                  RR4      pRVP                  4       9   Ed�   V P                  P                  ^8  Ede   V P                  ;P                  ^,          un        \        P                  ! R\        P                  R7      p\        VP                  RV^R7      4      V P                  n        VP                    VP#                  4        VP                  P%                  4       p\'        VP(                  VP                  VP*                  4       VP-                  VP(                  4       V P/                  VP0                  VP2                  4      VP                  R	&   VP4                  P6                  ! V3/ VB pVP8                  P;                  V4       WVn        V# ^V P                  n        V# )
zW
Takes the given response and tries digest-auth, if needed.

:rtype: requests.Response
i�  iô  zwww-authenticaterV   Údigestzdigest )Úflags)ÚcountrE   )Ústatus_coderR   r\   r[   ÚrequestÚbodyÚseekrG   rŒ   ÚlowerÚreÚcompileÚ
IGNORECASEr   ÚsubrZ   ÚcontentÚcloseÚcopyr   Ú_cookiesÚrawÚprepare_cookiesr¤   r•   r–   Ú
connectionÚsendÚhistoryÚappend)r    r!   r¨   Ús_authÚpatÚprepÚ_rs   &&,    r   Ú
handle_401ÚHTTPDigestAuth.handle_401ñ   sž  € ð �a—m‘mÖ) cÖ)Ø/0ˆD×ÑÔ,ØˆHà×Ñ×!Ñ!Ò-ð �I‰I�N‰N×Ñ × 2Ñ 2× 6Ñ 6Ô7Ø—‘—‘Ð1°2Ó6ˆà�v—|‘|“~Õ%¨$×*<Ñ*<×*JÑ*JÈQÕ*NØ×Ñ×,Ò,°Õ1Õ,Ü—*’*˜Z¬r¯}©}Ô=ˆCÜ&7¸¿¹ÀÀFÐRS¸Ó8TÓ&UˆD×ÑÔ#ð �IŠIØ�G‰GŒIØ—9‘9—>‘>Ó#ˆDÜ" 4§=¡=°!·)±)¸Q¿U¹UÔCØ× Ñ  §¡Ô/à,0×,DÑ,DØ—‘˜TŸX™Xó-ˆD�L‰L˜Ñ)ð —‘×"Ò" 4Ñ2¨6Ñ2ˆBØ�J‰J×Ñ˜aÔ ØŒJàˆIà+,ˆ×ÑÔ(Øˆr   c                óî  € V P                  4        V P                  P                  '       d4   V P                  VP                  VP
                  4      VP                  R &    VP                  P                  4       V P                  n	        VP                  RV P                  4       VP                  RV P                  4       ^V P                  n        V#   \         d    RT P                  n	         Lii ; i)rE   NÚresponse)r]   rR   rX   r¤   r•   r–   rG   r±   Útellr[   ÚAttributeErrorÚregister_hookrÆ   r©   r\   r   s   &&r   r"   ÚHTTPDigestAuth.__call__  s¼   € à×"Ñ"Ô$à×Ñ×(×(Ð(Ø)-×)AÑ)AÀ!Ç(Á(ÈAÏEÉEÓ)RˆA�I‰I�oÑ&ð	*Ø%&§V¡V§[¡[£]ˆD×ÑÔ"ð 	
�‰˜
 D§O¡OÔ4Ø	�‰˜
 D×$8Ñ$8Ô9Ø+,ˆ×ÑÔ(àˆøô ô 	*ð
 &*ˆD×ÑÖ"ð	*ús   Á!)C ÃC4Ã3C4c           	     ó|   € \        V P                  \        VR R4      8H  V P                  \        VRR4      8H  .4      # r7   r8   r;   s   &&r   r=   ÚHTTPDigestAuth.__eq__1  r?   r   c                ó   € W8X  * # r2   r$   r;   s   &&r   rA   ÚHTTPDigestAuth.__ne__9  rC   r   )rR   r   r   N)r&   r'   r(   r)   r*   r4   r]   r¤   r©   rÆ   r"   r=   rA   r+   r,   r-   s   @r   rN   rN   k   s8   ø‡ € ÙJò/ò4òl ò\1ò
*òXò(
÷!ð !r   rN   )r*   ri   r’   r´   rP   r�   r   Úbase64r   Ú_internal_utilsr   Úcompatr   r   r   Úcookiesr   Úutilsr   ÚCONTENT_TYPE_FORM_URLENCODEDÚCONTENT_TYPE_MULTI_PARTr   r   r0   rJ   rN   r$   r   r   Ú<module>rÙ      st   ðñó Û 	Û 	Û Û Û Ý å -ß -Ñ -Ý +Ý $àBÐ Ø/Ð ò)÷XBñ Bô�Hô ô.�Mô ôO!�Xö O!r   