1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
Ë
ñúh÷Šãód—dZddlZddlZddlmZddlmZmZm    Z    m
Z
m Z ddl m Z ddlmZddlmZdd    lmZmZdd
lmZdd lmZmZmZmZmZmZmZdd lmZ dd lm!Z!m"Z"m#Z#ddl$m%Z%m&Z&m'Z'ddl(m)Z)m*Z*m+Z+m,Z,m-Z-m.Z.ddl(mZ/ddl(m0Z0ddl(m Z1ddl(m2Z2ddl3m4Z4ddl5m6Z6ddl7m8Z8ddl9m:Z:m;Z;m<Z<m=Z=m>Z>m?Z?m@Z@mAZAmBZBmCZCe6jˆe6jŠe6jŒe6jŽe6jfZIdZJdZKdZLGd„d«ZMGd„d«ZNGd„d eN«ZOGd!„d"eMeN«ZPGd#„d$«ZQy)%z`
requests.models
~~~~~~~~~~~~~~~
 
This module contains the primary objects that power Requests.
éN)ÚUnsupportedOperation)Ú DecodeErrorÚLocationParseErrorÚ ProtocolErrorÚReadTimeoutErrorÚSSLError)Ú RequestField)Úencode_multipart_formdata)Ú    parse_urlé)Úto_native_stringÚunicode_is_ascii)Ú HTTPBasicAuth)ÚCallableÚJSONDecodeErrorÚMappingÚ
basestringÚ builtin_strÚchardetÚ    cookielib)Újson)Ú    urlencodeÚurlsplitÚ
urlunparse)Ú_copy_cookie_jarÚcookiejar_from_dictÚget_cookie_header)ÚChunkedEncodingErrorÚConnectionErrorÚContentDecodingErrorÚ    HTTPErrorÚInvalidJSONErrorÚ
InvalidURL)r)Ú MissingSchema)r)ÚStreamConsumedError)Ú default_hooks)Úcodes)ÚCaseInsensitiveDict)
Úcheck_header_validityÚget_auth_from_urlÚguess_filenameÚguess_json_utfÚ iter_slicesÚparse_header_linksÚ requote_uriÚstream_decode_response_unicodeÚ    super_lenÚto_key_val_listéi(icó<—eZdZed„«Zed„«Zed„«Zy)ÚRequestEncodingMixincóô—g}t|j«}|j}|sd}|j|«|j}|r"|jd«|j|«dj |«S)zBuild the path URL to use.ú/ú?Ú)rÚurlÚpathÚappendÚqueryÚjoin)Úselfr:Úpr;r=s     úNH:\Change_password\venv_build\Lib\site-packages\pip/_vendor/requests/models.pyÚpath_urlzRequestEncodingMixin.path_urlUse€ðˆä T—X‘XÓ ˆàv‰vˆÙ؈Dà 
‰
4Ôà—‘ˆÙ Ø J‰JsŒOØ J‰JuÔ àw‰ws‹|Ðóc    óª—t|ttf«r|St|d«r|St|d«r g}t    |«D]ƒ\}}t|t
«s t|d«s|g}|D]Z}|€Œ|j t|t«r|jd«n|t|t«r|jd«n|f«Œ\Œ…t|d¬«S|S)züEncode parameters in a piece of data.
 
        Will successfully encode parameters when passed as a dict or a list of
        2-tuples. Order is retained if data is a list of 2-tuples but arbitrary
        if parameters are supplied as a dict.
        ÚreadÚ__iter__úutf-8T)Údoseq)    Ú
isinstanceÚstrÚbytesÚhasattrr2rr<Úencoder)ÚdataÚresultÚkÚvsÚvs     rAÚ_encode_paramsz#RequestEncodingMixin._encode_paramsjs΀ô dœS¤%˜LÔ )؈KÜ T˜6Ô "؈KÜ T˜:Ô &؈FÜ(¨Ó.ò
‘2ܘb¤*Ô-´W¸RÀÔ5LؘBØòAØ‘}ØŸ ™ ä5?ÀÄ3Ô5G §¡¨Ô 1ÈQÜ5?ÀÄ3Ô5G §¡¨Ô 1ÈQðõñð
ô˜V¨4Ô0Ð 0àˆKrCc    ó¬—|s td«‚t|t«r td«‚g}t|xsi«}t|xsi«}|D]ž\}}t|t«s t    |d«s|g}|D]u}|€Œt|t
«s t |«}|jt|t
«r|jd«n|t|t «r|jd«n|f«ŒwŒ |D]Ó\}}d}d}    t|ttf«r1t|«dk(r|\}
} n.t|«dk(r|\}
} }n|\}
} }}    nt|«xs|}
|} t| t t
tf«r| } n"t    | d«r| j«} n| €Œ | } t!|| |
|    ¬    «} | j#|¬
«|j| «ŒÕt%|«\}}||fS) a¥Build the body for a multipart/form-data request.
 
        Will successfully encode files when passed as a dict or a list of
        tuples. Order is retained if data is a list of tuples but arbitrary
        if parameters are supplied as a dict.
        The tuples may be 2-tuples (filename, fileobj), 3-tuples (filename, fileobj, contentype)
        or 4-tuples (filename, fileobj, contentype, custom_headers).
        zFiles must be provided.zData must not be a string.rFNrGéérE)ÚnamerNÚfilenameÚheaders)Ú content_type)Ú
ValueErrorrIrr2rLrKrJr<ÚdecoderMÚtupleÚlistÚlenr+Ú    bytearrayrEr    Úmake_multipartr
)ÚfilesrNÚ
new_fieldsÚfieldsÚfieldÚvalrRrPÚftÚfhÚfnÚfpÚfdataÚrfÚbodyrZs                rAÚ _encode_filesz"RequestEncodingMixin._encode_filesˆsà€ñÜÐ6Ó7Ð 7Ü ˜œjÔ )ÜÐ9Ó:Ð :àˆ
Ü  ¢¨Ó,ˆÜ ¢ ¨Ó,ˆà ò    ‰JˆE3ܘ#œzÔ*´'¸#¸zÔ2JؐeØò Ø‘=ä% a¬Ô/Ü ›F˜à×%Ñ%ô *¨%´Ô7ð"ŸL™L¨Ô1à!&Ü1;¸A¼sÔ1C˜AŸH™H WÔ-Èð    õñ ð    ð$ò    "‰DˆAˆqàˆB؈Bܘ!œe¤T˜]Ô+ܐq“6˜Q’;Ø‘FB™Ü˜“V˜q’[Ø!"‘JB˜™Bà%&‘NB˜˜B¡ä# AÓ&Ò+¨!Øä˜"œs¤E¬9Ð5Ô6ؑܘ˜VÔ$ØŸ™›    ‘ؐØàä 1¨5¸2ÀrÔJˆBØ × Ñ ¨2Ð Ô .Ø × Ñ ˜bÕ !ð5    "ô87°zÓBшˆlà\Ð!Ð!rCN)Ú__name__Ú
__module__Ú __qualname__ÚpropertyrBÚ staticmethodrSrn©rCrAr5r5Ts>„Ø ñóðð(ñóðð:ñB"óñB"rCr5có—eZdZd„Zd„Zy)ÚRequestHooksMixincó—||jvrtd|›d«‚t|t«r|j|j    |«yt |d«r&|j|j d„|D««yy)zProperly register a hook.z.Unsupported event specified, with event name "ú"rFc3óBK—|]}t|t«sŒ|–—Œy­w©N)rIr)Ú.0Úhs  rAú    <genexpr>z2RequestHooksMixin.register_hook.<locals>.<genexpr>Øsèø€Ò$P¨1¼
À1ÄhÕ8O¤QÑ$Pùs‚˜N)Úhooksr[rIrr<rLÚextend©r?ÚeventÚhooks   rAÚ register_hookzRequestHooksMixin.register_hookÏss€ð ˜Ÿ
™
Ñ "ÜÐMÈeÈWÐTUÐVÓWÐ Wä dœHÔ %Ø J‰JuÑ × $Ñ $ TÕ *Ü T˜:Ô &Ø J‰JuÑ × $Ñ $Ñ$P°Ô$PÕ Pð'rCcó`—    |j|j|«y#t$rYywxYw)ziDeregister a previously registered hook.
        Returns True if the hook existed, False if not.
        TF)r~Úremover[r€s   rAÚderegister_hookz!RequestHooksMixin.deregister_hookÚs3€ð
    Ø J‰JuÑ × $Ñ $ TÔ *ØøÜò    Ùð    ús ‚!¡    -¬-N)rorprqrƒr†rtrCrArvrvÎs „ò    Qó    rCrvcó8—eZdZdZ                                        dd„Zd„Zd„Zy)ÚRequesta{A user-created :class:`Request <Request>` object.
 
    Used to prepare a :class:`PreparedRequest <PreparedRequest>`, which is sent to the server.
 
    :param method: HTTP method to use.
    :param url: URL to send.
    :param headers: dictionary of headers to send.
    :param files: dictionary of {filename: fileobject} files to multipart upload.
    :param data: the body to attach to the request. If a dictionary or
        list of tuples ``[(key, value)]`` is provided, form-encoding will
        take place.
    :param json: json for the body to attach to the request (if files or data is not specified).
    :param params: URL parameters to append to the URL. If a dictionary or
        list of tuples ``[(key, value)]`` is provided, form-encoding will
        take place.
    :param auth: Auth handler or (user, pass) tuple.
    :param cookies: dictionary or CookieJar of cookies to attach to this request.
    :param hooks: dictionary of callback hooks, for internal usage.
 
    Usage::
 
      >>> import requests
      >>> req = requests.Request('GET', 'https://httpbin.org/get')
      >>> req.prepare()
      <PreparedRequest [GET]>
    Nc óD—|€gn|}|€gn|}|€in|}|€in|}|    €in|    }    t«|_t|    j««D]\} } |j    | | ¬«Œ||_||_||_||_||_    |
|_
||_ ||_ ||_ y)N)rr‚)r&r~r^ÚitemsrƒÚmethodr:rYrbrNrÚparamsÚauthÚcookies) r?r‹r:rYrbrNrŒrrŽr~rrPrRs              rAÚ__init__zRequest.__init__s¶€ð\‰r tˆØm‘¨ˆØ˜‘"¨WˆØ~‘¨6ˆØm‘¨ˆä"“_ˆŒ
ܘŸ™›Ó'ò    0‰DˆAˆqØ × Ñ  Q¨QÐ Õ /ð    0ðˆŒ ØˆŒØˆŒ ؈Œ
؈Œ    ØˆŒ    ØˆŒ ؈Œ    Øˆ rCcó"—d|j›dS)Nz
<Request [ú]>©r‹©r?s rAÚ__repr__zRequest.__repr__$s€Ø˜DŸK™K˜=¨Ð+Ð+rCc ó—t«}|j|j|j|j|j
|j |j|j|j|j|j¬«
|S)zXConstructs a :class:`PreparedRequest <PreparedRequest>` for transmission and returns it.)
r‹r:rYrbrNrrŒrrŽr~) ÚPreparedRequestÚpreparer‹r:rYrbrNrrŒrrŽr~©r?r@s  rAr—zRequest.prepare'sh€ä Ó ˆØ        ‰    Ø—;‘;Ø—‘Ø—L‘LØ—*‘*Ø—‘Ø—‘Ø—;‘;Ø—‘Ø—L‘LØ—*‘*ð    ô     
ðˆrC©
NNNNNNNNNN)rorprqÚ__doc__rr”r—rtrCrArˆrˆæs7„ñð:Ø ØØØ ØØ ØØØ ó òD,órCrˆcó‚—eZdZdZd„Z                                        dd„Zd„Zd„Zd„Ze    d„«Z
d    „Z d
„Z dd „Z d „Zdd „Zd„Zd„Zy)r–a)The fully mutable :class:`PreparedRequest <PreparedRequest>` object,
    containing the exact bytes that will be sent to the server.
 
    Instances are generated from a :class:`Request <Request>` object, and
    should not be instantiated manually; doing so may produce undesirable
    effects.
 
    Usage::
 
      >>> import requests
      >>> req = requests.Request('GET', 'https://httpbin.org/get')
      >>> r = req.prepare()
      >>> r
      <PreparedRequest [GET]>
 
      >>> s = requests.Session()
      >>> s.send(r)
      <Response [200]>
    cóv—d|_d|_d|_d|_d|_t «|_d|_yrz)r‹r:rYÚ_cookiesrmr&r~Ú_body_positionr“s rArzPreparedRequest.__init__Ns8€àˆŒ àˆŒàˆŒ ðˆŒ àˆŒ    ä"“_ˆŒ
à"ˆÕrCNc óú—|j|«|j||«|j|«|j|«|j    |||
«|j ||«|j |    «y)z6Prepares the entire request with the given parameters.N)Úprepare_methodÚ prepare_urlÚprepare_headersÚprepare_cookiesÚ prepare_bodyÚ prepare_authÚ prepare_hooks) r?r‹r:rYrbrNrŒrrŽr~rs            rAr—zPreparedRequest.prepare_sp€ð     ×јFÔ#Ø ×ј˜fÔ%Ø ×јWÔ%Ø ×јWÔ%Ø ×ј$  tÔ,Ø ×ј$ Ô$ð      ×ј5Õ!rCcó"—d|j›dS)Nz<PreparedRequest [r‘r’r“s rAr”zPreparedRequest.__repr__{s€Ø# D§K¡K =°Ð3Ð3rCcóR—t«}|j|_|j|_|j|jj    «nd|_t |j «|_|j|_|j|_|j|_    |Srz)
r–r‹r:rYÚcopyrrrmr~ržr˜s  rAr©zPreparedRequest.copy~sx€Ü Ó ˆØ—;‘;ˆŒØ—‘ˆŒØ+/¯<©<Ð+CD—L‘L×%Ñ%Ô'ȈŒ    Ü% d§m¡mÓ4ˆŒ
Ø—‘ˆŒØ—*‘*ˆŒØ×.Ñ.ˆÔ؈rCcó|—||_|j)t|jj««|_yy)zPrepares the given HTTP method.N)r‹r Úupper)r?r‹s  rAr zPreparedRequest.prepare_method‰s1€àˆŒ Ø ;‰;Ð "Ü*¨4¯;©;×+<Ñ+<Ó+>Ó?ˆDKð #rCcóŠ—ddlm}    |j|d¬«jd«}|S#|j$rt
‚wxYw)Nr)ÚidnaT)Úuts46rG)Ú pip._vendorr­rMr\Ú    IDNAErrorÚ UnicodeError)Úhostr­s  rAÚ_get_idna_encoded_hostz&PreparedRequest._get_idna_encoded_hostsI€å$ð    Ø—;‘;˜t¨4;Ó0×7Ñ7¸Ó@ˆDðˆ øð~‰~ò    ÜÐ ð    ús    ˆ",¬Ac
ó2—t|t«r|jd«}n t|«}|j    «}d|vr'|j «j d«s||_y    t|«\}}}}}}}    |std|›d|›d«‚|std|›d«‚t|«s    |j|«}n|j d
«r td    «‚|xsd } | r| d z } | |z } |r| d|›z } |sd }t|ttf«r t!|«}|j#|«} | r |r|›d| ›}n| }t%t'|| |d||    g««}||_y#t$r}
t|
jނd}
~
wwxYw#t$r td    «‚wxYw)zPrepares the given HTTP URL.Úutf8ú:ÚhttpNz Invalid URL z0: No scheme supplied. Perhaps you meant https://r8z: No host suppliedzURL has an invalid label.)Ú*ú.r9ú@r7ú&)rIrKr\rJÚlstripÚlowerÚ
startswithr:r rr#Úargsr$rr³r±r rSr/r) r?r:rŒÚschemerr²Úportr;r=ÚfragmentÚeÚnetlocÚ
enc_paramss              rAr¡zPreparedRequest.prepare_url™sÓ€ô cœ5Ô !Ø—*‘*˜VÓ$‰Cäc“(ˆCðj‰j‹lˆð
#‰:˜cŸi™i›k×4Ñ4°VÔ<؈DŒHØ ð    &Ü>GÈ»nÑ ;ˆFD˜$  d¨E°8ñÜØ˜s˜gð&-Ø-0¨E°ð4óð ñ
ܘ|¨C¨7Ð2DÐEÓFÐ Fô   Ô%ð >Ø×2Ñ2°4Ó8‘ð_‰_˜ZÔ (ÜÐ8Ó9Ð 9ð’˜ˆÙ Ø c‰MˆFؐ$‰ˆÙ Ø ˜˜$˜jÑ  ˆFñ؈Dä fœs¤E˜lÔ +Ü% fÓ-ˆFà×(Ñ(¨Ó0ˆ
Ù ÙØ ˜'  : ,Ð/‘à"äœ* f¨f°d¸DÀ%ÈÐ%RÓSÓTˆØˆøô_"ò    &ܘaŸf™fÐ%Ð %ûð    &ûô& ò >Ü Ð!<Ó=Ð=ð >ús$Á*EÂ.FÅ    E>Å'E9Å9E>ÆFcó¢—t«|_|r>|j«D]*}t|«|\}}||jt    |«<Œ,yy)z Prepares the given HTTP headers.N)r(rYrŠr)r )r?rYÚheaderrWÚvalues     rAr¢zPreparedRequest.prepare_headersãsP€ô+Ó,ˆŒ Ù Ø!Ÿ-™-›/ò =ä% fÔ-Ø$‘ eØ7<— ‘ Ô-¨dÓ3Ò4ñ     =ð rCc
ó¢—d}d}|s=|;d}    tj|d¬«}t    |t
«s|j d«}tt|d«t    |ttttf« g«}|rw    t|«}|}t#|dd«    |j%«|_|r t-d    «‚|r t/|«|j0d
<||_yd |j0d <||_y|r|j3||«\}}n4|r2|j5|«}t    |t«s t|d «rd}nd}|j7|«|rd|j0vr||j0d<||_y#t$r}t||¬«‚d}~wwxYw#ttt f$rd}YŒ&wxYw#t($rt+«|_YŒ wxYw)z"Prepares the given HTTP body data.Nzapplication/jsonF)Ú    allow_nan)ÚrequestrGrFÚtellz1Streamed bodies and files are mutually exclusive.úContent-LengthÚchunkedzTransfer-EncodingrEz!application/x-www-form-urlencodedz content-typez Content-Type)Ú complexjsonÚdumpsr[r"rIrKrMÚallrLrr^r]rr1Ú    TypeErrorÚAttributeErrorrÚgetattrrÌržÚOSErrorÚobjectÚNotImplementedErrorrrYrnrSÚprepare_content_lengthrm)    r?rNrbrrmrZÚveÚ    is_streamÚlengths             rAr¤zPreparedRequest.prepare_bodyîsâ€ðˆØˆ á˜Ð(ð.ˆLð 9Ü"×(Ñ(¨¸Ô?ô˜d¤EÔ*Ø—{‘{ 7Ó+ä䘘jÓ)ܘt¤j´$¼¼wÐ%GÓHÐHð ó
ˆ    ñ ð Ü" 4›ðˆDät˜V TÓ*Ð6ð3Ø*.¯)©)«+DÔ'ñ Ü)ØGóðñÜ1<¸VÓ1D— ‘ Ð-Ñ.ð*ˆ    ð'5>— ‘ Ð0Ñ1ð&ˆ    ñ!Ø'+×'9Ñ'9¸%ÀÓ'FÑ$‘|áØ×.Ñ.¨tÓ4DÜ! $¬
Ô3´w¸tÀVÔ7LØ'+™ à'J˜ à × 'Ñ '¨Ô -ñ °t·|±|Ñ!CØ/;— ‘ ˜^Ñ,àˆ    øôwò 9Ü& r°4Ô8Ð8ûð 9ûô œ~Ô/CÐDò Ø“ð ûôò3ô+1«(D×'ð3ús;ŒE7Á= FÂF2Å7    FÆ F Æ FÆF/Æ.F/Æ2GÇ Gcóʗ|'t|«}|rt|«|jd<yy|jdvr,|jj    d«€d|jd<yyy)z>Prepare Content-Length header based on request method and bodyNrÍ)ÚGETÚHEADÚ0)r1rrYr‹Úget)r?rmrÛs   rArØz&PreparedRequest.prepare_content_length<sn€à Рܘt“_ˆFÙô2=¸VÓ1D— ‘ Ð-Ò.ðð
K‰K˜Ñ .Ø— ‘ × Ñ Ð!1Ó2Ð:ð.1ˆDL‰LÐ)Ò *ð    ;ð /rCcó2—|€$t|j«}t|«r|nd}|rot|t«rt |«dk(rt |Ž}||«}|jj|j«|j|j«yy)z"Prepares the given HTTP auth data.NrU) r*r:ÚanyrIr]r_rÚ__dict__ÚupdaterØrm)r?rr:Úurl_authÚrs     rAr¥zPreparedRequest.prepare_authLs€ð ˆ<Ü(¨¯©Ó2ˆHÜ" 8œ}‘8°$ˆDá ܘ$¤Ô&¬3¨t«9¸ª>ä$ dÐ+ñT“
ˆAð M‰M×  Ñ   §¡Ô ,ð × 'Ñ '¨¯    ©    Õ 2ð rCcó¸—t|tj«r||_nt    |«|_t |j|«}|||j d<yy)aPrepares the given HTTP cookie data.
 
        This function eventually generates a ``Cookie`` header from the
        given cookies using cookielib. Due to cookielib's design, the header
        will not be regenerated if it already exists, meaning this function
        can only be called once for the life of the
        :class:`PreparedRequest <PreparedRequest>` object. Any subsequent calls
        to ``prepare_cookies`` will have no actual effect, unless the "Cookie"
        header is removed beforehand.
        NÚCookie)rIrÚ    CookieJarrrrrY)r?rŽÚ cookie_headers   rAr£zPreparedRequest.prepare_cookiesbsP€ô gœy×2Ñ2Ô 3Ø#ˆDMä/°Ó8ˆDŒMä)¨$¯-©-¸Ó>ˆ Ø Ð $Ø%2ˆDL‰L˜Ò "ð %rCcóH—|xsg}|D]}|j|||«Œy)zPrepares the given hooks.N)rƒ)r?r~rs   rAr¦zPreparedRequest.prepare_hooksvs0€ð
’ ˜ˆØò    4ˆEØ × Ñ ˜u e¨E¡lÕ 3ñ    4rCr™rz)r9)rorprqršrr—r”r©r rsr³r¡r¢r¤rØr¥r£r¦rtrCrAr–r–9s|„ñò(#ð&Ø ØØØ ØØ ØØØ ó"ò84ò    ò@ð ñóðòHòT    =óLò\1ó 3ò,3ó(4rCr–cóö—eZdZdZgd¢Zd„Zd„Zd„Zd„Zd„Z    d„Z
d    „Z d
„Z d „Z ed „«Zed „«Zed„«Zed„«Zed„«Zdd„Zeddfd„Zed„«Zed„«Zd„Zed„«Zd„Zd„Zy)ÚResponsezhThe :class:`Response <Response>` object, which contains a
    server's response to an HTTP request.
    )
Ú_contentÚ status_coderYr:ÚhistoryÚencodingÚreasonrŽÚelapsedrËcó—d|_d|_d|_d|_t    «|_d|_d|_d|_g|_    d|_
ti«|_ tjd«|_d|_y)NFr)rîÚ_content_consumedÚ_nextrïr(rYÚrawr:rñrðròrrŽÚdatetimeÚ    timedeltarórËr“s rArzResponse.__init__’s†€ØˆŒ Ø!&ˆÔ؈Œ
ð ˆÔô
+Ó,ˆŒ ð
ˆŒðˆŒðˆŒ ð
ˆŒ ðˆŒ ô+¨2Ó.ˆŒ ô ×)Ñ)¨!Ó,ˆŒ ðˆ rCcó—|Srzrtr“s rAÚ    __enter__zResponse.__enter__Ás€Øˆ rCcó$—|j«yrz)Úclose)r?r¿s  rAÚ__exit__zResponse.__exit__Äs €Ø 
‰
 rCc    óˆ—|js |j|jDcic]}|t||d«“Œc}Scc}wrz)rõÚcontentÚ    __attrs__rÔ)r?Úattrs  rAÚ __getstate__zResponse.__getstate__Çs:€ð×%Ò%Ø LŠLà<@¿N¹NÖK°D”g˜d D¨$Ó/Ñ/ÒKÐKùÒKs§?có‚—|j«D]\}}t|||«Œt|dd«t|dd«y)NrõTr÷)rŠÚsetattr)r?ÚstaterWrÈs    rAÚ __setstate__zResponse.__setstate__ÏsB€Ø Ÿ;™;›=ò    '‰KˆD%Ü D˜$ Õ &ð    'ô    Ð)¨4Ô0ܐe˜TÕ"rCcó"—d|j›dS)Nz <Response [r‘)rïr“s rAr”zResponse.__repr__×s€Ø˜T×-Ñ-Ð.¨bÐ1Ð1rCcó—|jS©akReturns True if :attr:`status_code` is less than 400.
 
        This attribute checks if the status code of the response is between
        400 and 600 to see if there was a client error or a server error. If
        the status code, is between 200 and 400, this will return True. This
        is **not** a check to see if the response code is ``200 OK``.
        ©Úokr“s rAÚ__bool__zResponse.__bool__Úó €ðw‰wˆrCcó—|jSr
r r“s rAÚ __nonzero__zResponse.__nonzero__ärrCcó$—|jd«S)z,Allows you to use a response as an iterator.é€)Ú iter_contentr“s rArFzResponse.__iter__îs€à× Ñ  Ó%Ð%rCcóD—    |j«y#t$rYywxYw)axReturns True if :attr:`status_code` is less than 400, False if not.
 
        This attribute checks if the status code of the response is between
        400 and 600 to see if there was a client error or a server error. If
        the status code is between 200 and 400, this will return True. This
        is **not** a check to see if the response code is ``200 OK``.
        FT)Úraise_for_statusr!r“s rAr z Response.okòs,€ð    Ø × !Ñ !Ô #ðøôò    Ùð    ús ‚“    žcóF—d|jvxr|jtvS)zšTrue if this Response is a well-formed HTTP redirect that could have
        been processed automatically (by :meth:`Session.resolve_redirects`).
        Úlocation)rYrïÚREDIRECT_STATIr“s rAÚ is_redirectzResponse.is_redirects#€ð
˜TŸ\™\Ð)ÒP¨d×.>Ñ.>Ä.Ð.PÐPrCcóz—d|jvxr,|jtjtjfvS)z@True if this Response one of the permanent versions of redirect.r)rYrïr'Úmoved_permanentlyÚpermanent_redirectr“s rAÚis_permanent_redirectzResponse.is_permanent_redirects?€ð˜TŸ\™\Ð)ò
¨d×.>Ñ.>Ü × #Ñ #Ü × $Ñ $ðC
ð/
ð    
rCcó—|jS)zTReturns a PreparedRequest for the next request in a redirect chain, if there is one.)rör“s rAÚnextz Response.nexts€ðz‰zÐrCcóT—t"tj|j«dSy)zOThe apparent encoding, provided by the charset_normalizer or chardet libraries.rñrG)rÚdetectrr“s rAÚapparent_encodingzResponse.apparent_encodings'€ô Ð Ü—>‘> $§,¡,Ó/°
Ñ;Ð ;ðrCFcó@‡‡—ˆˆfd„}‰jr$t‰jt«r
t    «‚‰(t‰t
«st dt‰«›d«‚t‰j‰«}|«}‰jr|n|}|r t|‰«}|S)aøIterates over the response data.  When stream=True is set on the
        request, this avoids reading the content at once into memory for
        large responses.  The chunk size is the number of bytes it should
        read into memory.  This is not necessarily the length of each item
        returned as decoding can take place.
 
        chunk_size must be of type int or None. A value of None will
        function differently depending on the value of `stream`.
        stream=True will read data as it arrives in whatever size the
        chunks are received. If stream=False, data is returned as
        a single chunk.
 
        If decode_unicode is True, content will be decoded using the best
        available encoding based on the response.
        c3ó²•K—t‰jd«r.    ‰jj‰d¬«Ed{–—†d‰_ y    ‰jj‰«}|s        d‰_ y|–—Œ+7Œ8#t$r}t    |«‚d}~wt
$r}t |«‚d}~wt$r}t|«‚d}~wt$r}t|«‚d}~wwxYw­w)NÚstreamT)Údecode_content) rLr÷r%rrrr rrrÚRequestsSSLErrorrErõ)rÃÚchunkÚ
chunk_sizer?s  €€rAÚgeneratez'Response.iter_content.<locals>.generate0sÍøèø€ät—x‘x Ô*ð    .Ø#Ÿx™xŸ™¨zÈ$˜ÓO×OÐOð"&*ˆDÕ "ð Ø ŸH™HŸM™M¨*Ó5EÙ Øð&*ˆDÕ "ð ’Kð    ðPùÜ$ò2Ü.¨qÓ1Ð1ûÜ"ò2Ü.¨qÓ1Ð1ûÜ'ò-Ü)¨!Ó,Ð,ûÜò.Ü*¨1Ó-Ð-ûð.üs\ƒC› A6»A4¼A6Á4CÁ4A6Á6    CÁ? B
CÂ B!Â! CÂ- B8Â8 CÃ CÃCÃCz+chunk_size must be an int, it is instead a r¹)
rõrIrîÚboolr%ÚintrÒÚtyper-r0)r?r)Údecode_unicoder*Ú reused_chunksÚ stream_chunksÚchunkss``     rArzResponse.iter_contents“ù€õ"    *ð. × !Ò !¤j°·±ÄÔ&EÜ%Ó'Ð 'Ø Ð #¬J°zÄ3Ô,GÜØ=¼dÀ:Ó>NÐ=OÈqÐQóð ô$ D§M¡M°:Ó>ˆ á ›
ˆ à"&×"8Ò"8‘¸mˆá Ü3°F¸DÓAˆFàˆ rCNc#óK—d}|j||¬«D]a}|||z}|r|j|«}n|j«}|r&|dr!|r|dd|dk(r|j«}nd}|Ed{–—†Œc||–—yy7Œ­w)zõIterates over the response data, one line at a time.  When
        stream=True is set on the request, this avoids reading the
        content at once into memory for large responses.
 
        .. note:: This method is not reentrant safe.
        N)r)r.éÿÿÿÿ)rÚsplitÚ
splitlinesÚpop)r?r)r.Ú    delimiterÚpendingr(Úliness       rAÚ
iter_lineszResponse.iter_linesYs¯èø€ðˆà×&Ñ&Ø!°.ð'ó
ò    ˆEðÐ"Ø %™áØŸ ™  IÓ.‘à×(Ñ(Ó*á˜˜rš¡u°°r±¸2±À%ÈÁ)Ò1KØŸ)™)›+‘àà× Ñ ð!    ð$ Ð Ø‹Mð ð ús‚A3BÁ5BÁ6Bcó—|jdurg|jr td«‚|jdk(s |j€d|_n-dj |j t««xsd|_d|_|jS)z"Content of the response, in bytes.Fz2The content for this response was already consumedrNrCT)rîrõÚ RuntimeErrorrïr÷r>rÚCONTENT_CHUNK_SIZEr“s rArzResponse.contentzsy€ð =‰=˜EÑ !à×%Ò%Ü"Ð#WÓXÐXà×Ñ 1Ò$¨¯©Ð(8Ø $• à #§¡¨×):Ñ):Ô;MÓ)NÓ OÒ VÐSV” à!%ˆÔð}‰}ÐrCcóø—d}|j}|jsy|j€ |j}    t|j|d¬«}|S#tt
f$rt|jd¬«}Y|SwxYw)aÚContent of the response, in unicode.
 
        If Response.encoding is None, encoding will be guessed using
        ``charset_normalizer`` or ``chardet``.
 
        The encoding of the response content is determined based solely on HTTP
        headers, following RFC 2616 to the letter. If you can take advantage of
        non-HTTP knowledge to make a better guess at the encoding, you should
        set ``r.encoding`` appropriately before accessing this property.
        Nr9Úreplace)Úerrors)rñrr"rJÚ LookupErrorrÒ)r?rrñs   rAÚtextz Response.texts~€ðˆØ—=‘=ˆà|Š|Øð =‰=Ð  Ø×-Ñ-ˆHð        :ܘ$Ÿ,™,¨¸ÔCˆGðˆøôœYÐ'ò    :ô˜$Ÿ,™,¨yÔ9‰Gàˆð    :úsµAÁ&A9Á8A9c ó6—|jsk|jr_t|j«dkDrGt|j«}|0    t    j
|jj |«fi|¤ŽS    t    j
|jfi|¤ŽS#t$rYŒ,t$r0}t|j|j|j«‚d}~wwxYw#t$r0}t|j|j|j«‚d}~wwxYw)aYDecodes the JSON response body (if any) as a Python object.
 
        This may return a dictionary, list, etc. depending on what is in the response.
 
        :param \*\*kwargs: Optional arguments that ``json.loads`` takes.
        :raises requests.exceptions.JSONDecodeError: If the response body does not
            contain valid json.
        rVN)rñrr_r,rÏÚloadsr\ÚUnicodeDecodeErrorrÚRequestsJSONDecodeErrorÚmsgÚdocÚposrB)r?ÚkwargsrñrÃs    rArz Response.json³së€ð}Š} §¢´#°d·l±lÓ2CÀaÒ2Gô
& d§l¡lÓ3ˆHØÐ#ð    GÜ&×,Ñ,¨T¯\©\×-@Ñ-@ÀÓ-JÑUÈfÑUÐUð    ?Ü×$Ñ$ T§Y¡YÑ9°&Ñ9Ð 9øô*òñ
Ü&òGÜ1°!·%±%¸¿¹ÀÇÁÓFÐFûðGûô
ò    ?ô*¨!¯%©%°·±¸¿¹Ó>Ð >ûð    ?ús6Á    .BÁ9C    CÂ$CÂ,+CÃCà   DÃ(+DÄDcóº—|jjd«}i}|r;t|«}|D]+}|jd«xs|jd«}|||<Œ-|S)z8Returns the parsed header links of the response, if any.ÚlinkÚrelr:)rYràr.)r?rÇÚresolved_linksÚlinksrLÚkeys      rArOzResponse.linksÖse€ð—‘×!Ñ! &Ó)ˆàˆá Ü& vÓ.ˆEàò +Ø—h‘h˜u“oÒ8¨¯©°%«Ø&*˜sÒ#ð +ðÐrCcóÚ—d}t|jt«r    |jjd«}n |j}d|j
cxkrdkr"nn|j
›d|›d|j ›}n6d|j
cxkrdkr!nn|j
›d    |›d|j ›}|r t||¬
«‚y #t$r|jjd«}YŒ£wxYw) z+Raises :class:`HTTPError`, if one occurred.r9rGz
iso-8859-1iiôz Client Error: z
 for url: iXz Server Error: )ÚresponseN)rIròrKr\rErïr:r!)r?Úhttp_error_msgròs   rArzResponse.raise_for_statusçsç€ðˆÜ d—k‘k¤5Ô )ð
 :ØŸ™×+Ñ+¨GÓ4‘ð—[‘[ˆFà $×"Ñ"Ô ( SÕ (à×#Ñ#Ð$ O°F°8¸:ÀdÇhÁhÀZÐPñ ðD×$Ñ$Ô * sÕ *à×#Ñ#Ð$ O°F°8¸:ÀdÇhÁhÀZÐPð ñ ܘN°TÔ:Ð :ð øô&ò :ØŸ™×+Ñ+¨LÓ9’ð :úsžCÃ$C*Ã)C*có’—|js|jj«t|jdd«}||«yy)zØReleases the connection back to the pool. Once this method has been
        called the underlying ``raw`` object must not be accessed again.
 
        *Note: Should not normally need to be called explicitly.*
        Ú release_connN)rõr÷rýrÔ)r?rUs  rArýzResponse.closes=€ð ×%Ò%Ø H‰HN‰NÔ ä˜tŸx™x¨¸Ó>ˆ Ø Ð #Ù Nð $rC)r F)rorprqršrrrûrþrrr”r rrFrrr rrrr"rÚITER_CHUNK_SIZEr:rrBrrOrrýrtrCrArírí€s„ñò €Iò-ò^òòLò#ò2òòò&ðñ óð ðñQóðQð ñ
óð
ðñóððñóðó8ðv)¸È$óðBñóðð$ñ#óð#òJ!?ðFñóðò ;ó: rCrí)RršrøÚencodings.idnaÚ    encodingsÚiorÚpip._vendor.urllib3.exceptionsrrrrrÚpip._vendor.urllib3.fieldsr    Úpip._vendor.urllib3.filepostr
Úpip._vendor.urllib3.utilr Ú_internal_utilsr rrrÚcompatrrrrrrrrrÏrrrrŽrrrÚ
exceptionsrrr r!r"r#rFr$r'r%r~r&Ú status_codesr'Ú
structuresr(Úutilsr)r*r+r,r-r.r/r0r1r2ÚmovedÚfoundÚotherÚtemporary_redirectrrÚDEFAULT_REDIRECT_LIMITr=rVr5rvrˆr–rírtrCrAú<module>ris ðñóó
Ý#÷õõ4ÝBÝ.ç?Ý÷÷ñõ(ß3Ñ3ßMÑM÷÷õCÝ%Ý4Ý+Ý ÝÝ+÷ ÷ ÷ ð 
‡KKØ    ‡KKØ    ‡KKØ    ×ÑØ    ×Ñð €ðÐØÐØ€÷w"ñw"÷tñô0PÐôPôfD4Ð*Ð,=ôD4÷N
OòOrC