hyb
2026-01-30 44480e71b27aa9d4cb8441f50c873f1b110e9691
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
Ë
¸^išlãó¤—ddlZddlZddlZddlZddlZddlmZddlmZddl    m
Z ddl m Z ddlmZddlmZmZmZmZmZmZmZmZmZmZmZddlZddlZddlmZd    d
l m!Z!m"Z"d    d l#m$Z$d    d l%m&Z&d    d l m'Z'm(Z(m)Z)m*Z*m+Z+d    dl,m-Z-d    dl.m/Z/m0Z0d    dl1m2Z2m3Z3d    dl4m5Z5d    dl6m7Z7m8Z8d    dl9m:Z:d    dl;m<Z<d    dl=m>Z>m?Z?dZ@er
ddlAZAd    dlBmCZCee*e3de"dge<fZDee<gee?fZEe*dde)iiddddejŒd««
ZGGd„deH«ZIGd „d!eH«ZJeJ«ZKej˜ddd¬"«Gd#„d$««ZMeee*eMfe3fZNGd%„de$«ZOy)&éN)Údeque)Úsuppress)Úescape)Ú
HTTPStatus)ÚLogger) Ú TYPE_CHECKINGÚAnyÚ    AwaitableÚCallableÚDequeÚOptionalÚSequenceÚTupleÚTypeÚUnionÚcast)Úunder_cached_propertyé)ÚAbstractAccessLoggerÚAbstractStreamWriter)Ú BaseProtocol)Ú ceil_timeout)ÚHttpProcessingErrorÚHttpRequestParserÚ HttpVersion10ÚRawRequestMessageÚ StreamWriter)Ú BadHttpMethod)Ú access_loggerÚ server_logger)Ú EMPTY_PAYLOADÚ StreamReader)Ú tcp_keepalive)Ú HTTPExceptionÚHTTPInternalServerError)Ú AccessLogger)Ú BaseRequest)ÚResponseÚStreamResponse)ÚRequestHandlerÚRequestPayloadErrorÚPayloadAccessError)ÚServerr*zasyncio.Task[None]ÚUNKNOWNú/TFcó—eZdZdZy)r+zPayload parsing error.N©Ú__name__Ú
__module__Ú __qualname__Ú__doc__©óõgH:\项目\archive\测试组\脚本\Change_password\venv_build\Lib\site-packages\aiohttp/web_protocol.pyr+r+Ss„Ú r7r+có—eZdZdZy)r,z-Payload was accessed after response was sent.Nr1r6r7r8r,r,Ws„Ú7r7r,)Ú auto_attribsÚfrozenÚslotscó,—eZdZUeed<eed<eed<y)Ú_ErrInfoÚstatusÚexcÚmessageN)r2r3r4ÚintÚ__annotations__Ú BaseExceptionÚstrr6r7r8r>r>^s…à ƒKØ    ÓØ „Lr7r>c!óà‡—eZdZdZdZddeeeejdddddd    dd
d œd d de    jde de de deede dede dededede dede de f ˆfd„Zdefd„Zeded fd!„«Zedeeeeeeeefeeefffd"„«Zede fd#„«ZdHd$ee dd%fd&„Zd'e    j:dd%fˆfd(„ Zd)eedd%fˆfd*„ Z d+e!dd%fd,„Z"dId-„Z#d.e$dd%fd/„Z%d0e dd%fd1„Z&dId2„Z'dId3„Z(d4e)d5e*d6ee dd%fd7„Z+d8e!d9e!dd%fd:„Z,d8e!d9e!dd%fd;„Z-dId<„Z.d4e)d=ee d>e/e)ge0e*fdee*e ffd?„Z1dId@„Z2d4e)dAe*d=ee dee*e ffdB„Z3            dJd4e)dCed)eedDeede*f
dE„Z4dFe5de/e)ge0e*ffdG„Z6ˆxZ7S)Kr*ajHTTP protocol implementation.
 
    RequestHandler handles incoming HTTP request. It reads request line,
    request headers and request payload and calls handle_request() method.
    By default it always returns with 404 response.
 
    RequestHandler handles errors in incoming request, like bad
    status line, bad headers or incomplete payload. If any error occurs,
    connection gets closed.
 
    keepalive_timeout -- number of seconds before closing
                         keep-alive connection
 
    tcp_keepalive -- TCP keep-alive is on, default is on
 
    debug -- enable debug mode
 
    logger -- custom logger object
 
    access_log_class -- custom class for access_logger
 
    access_log -- custom logging object
 
    access_log_format -- access log format string
 
    loop -- Optional event loop
 
    max_line_size -- Optional maximum header line size
 
    max_field_size -- Optional maximum header field size
 
    max_headers -- Optional maximum header size
 
    timeout_ceil_threshold -- Optional value to specify
                              threshold to ceil() timeout
                              values
 
    )Ú_request_countÚ
_keepaliveÚ_managerÚ_request_handlerÚ_request_factoryÚ_tcp_keepaliveÚ_next_keepalive_close_timeÚ_keepalive_handleÚ_keepalive_timeoutÚ_lingering_timeÚ    _messagesÚ _message_tailÚ_handler_waiterÚ_waiterÚ _task_handlerÚ_upgradeÚ_payload_parserÚ_request_parserÚ_reading_pausedÚloggerÚdebugÚ
access_logrÚ_closeÚ _force_closeÚ_current_requestÚ_timeout_ceil_thresholdÚ_request_in_progressÚ_logging_enabledÚ_cachei.TFiþi€g$@ié)Úkeepalive_timeoutr#rZÚaccess_log_classr\Úaccess_log_formatr[Ú max_line_sizeÚ max_headersÚmax_field_sizeÚlingering_timeÚ read_bufsizeÚauto_decompressÚtimeout_ceil_thresholdÚmanagerr-Úlooprer#rZrfr\rgr[rhrirjrkrlrmrnc
óÒ•—t‰||«d|_d|_d|_||_|j |_|j|_    ||_
d|_ d|_ ||_ t| «|_t!«|_d|_d|_d|_d|_d|_d|_t1||||
| | t2|¬«|_d|_    t|«|_||_|    |_||_ |r*|||«|_!|jBjD|_#nd|_!d|_#d|_$d|_%d|_&i|_'y#t8t:f$rYŒ}wxYw)NrFgr7)rhrjriÚpayload_exceptionrmrd)(ÚsuperÚ__init__rGrHr_rIÚrequest_handlerrJÚrequest_factoryrKrLrMrNrOÚfloatrPrrQrRrTrSrUrVrWrr+rXr`Ú    TypeErrorÚ
ValueErrorrZr[r\rÚenabledrbr]r^rarc)Úselfrorprer#rZrfr\rgr[rhrirjrkrlrmrnÚ    __class__s                 €r8rtzRequestHandler.__init__±sø€ô*    ‰Ñ˜Ôð ˆÔ؈ŒØ7;ˆÔØ*1ˆŒ Ø;B×;RÑ;RˆÔØ;B×;RÑ;RˆÔà+ˆÔà*-ˆÔ'Ø;?ˆÔØ"3ˆÔÜ$ ^Ó4ˆÔä*/«'ˆŒØ ˆÔà7;ˆŒ Ø?CˆÔØ;?ˆÔàˆŒ Ø$(ˆÔÜ<MØ Ø Ø Ø'Ø)Ø#Ü1Ø+ô    =
ˆÔð/0ˆÔ$ð    Ü+0Ð1GÓ+HˆDÔ (ðˆŒ ØˆŒ
Ø$ˆŒÙ ÙAQØÐ-óBˆDÔ ð%)×$6Ñ$6×$>Ñ$>ˆDÕ !à!%ˆDÔ Ø$)ˆDÔ !àˆŒ Ø!ˆÔØ$)ˆÔ!Ø&(ˆ øô%œ:Ð&ò    Ù ð    úsÃEÅE&Å%E&Úreturncór—dj|jj|jd«Sd«S)Nz<{} {}>Ú    connectedÚ disconnected)Úformatr|r2Ú    transport©r{s r8Ú__repr__zRequestHandler.__repr__s;€Ø×ÑØ N‰N× #Ñ #ØŸ>™>Ð5ˆKó
ð    
à;Ió
ð    
r7zssl.SSLContextcóT—|j€dS|jjd«S)zReturn SSLContext if available.NÚ
sslcontext©r‚Úget_extra_inforƒs r8Ú ssl_contextzRequestHandler.ssl_contexts1€ð
~‰~Ð%ð ð    
ð—‘×.Ñ.¨|Ó<ð    
r7cóT—|j€dS|jjd«S)zReturn peername if available.NÚpeernamer‡rƒs r8r‹zRequestHandler.peernames1€ð~‰~Ð%ð ð    
ð—‘×.Ñ.¨zÓ:ð    
r7có—|jS©N)rOrƒs r8rez RequestHandler.keepalive_timeouts€à×&Ñ&Ð&r7ÚtimeoutNcƒóþK—d|_|j|jj«|jrX|jj «|_    t|«4ƒd{–—†|j ƒd{–—†ddd«ƒd{–—†    t|«4ƒd{–—†|j-|jj!tj««|j"A|j"j%«s'tj&|j"«ƒd{–—†ddd«ƒd{–—†|j"|j"j«|j)«y7Œ 7Œù7Œë#1ƒd{–—†7swYŒûxYw#tjtjf$rEd|_tjdk\r'tj«x}r|j«r‚YŒewxYw7ŒY7ŒÕ7ŒÇ#1ƒd{–—†7swYŒ×xYw#tjtjf$r>tjdk\r'tj«x}r|j«r‚YŒ:wxYw­w)z±Do worker process exit preparations.
 
        We need to clean up everything and stop accepting requests.
        It is especially important for keep-alive connections.
        TN©éé )r^rNÚcancelraÚ_loopÚ create_futurerSrÚasyncioÚCancelledErrorÚ TimeoutErrorÚsysÚ version_infoÚ current_taskÚ
cancellingr_Ú_cancelrUÚdoneÚshieldÚ force_close)r{rŽÚtasks   r8ÚshutdownzRequestHandler.shutdown sèø€ð !ˆÔà × !Ñ !Ð -Ø × "Ñ "× )Ñ )Ô +ð × $Ò $ð$(§:¡:×#;Ñ#;Ó#=ˆDÔ  ð
Ü'¨Ó0÷/ñ/Ø×.Ñ.×.Ð.÷/÷/ð     Ü# GÓ,÷ =ñ =Ø×(Ñ(Ð4Ø×)Ñ)×1Ñ1´'×2HÑ2HÓ2JÔKà×%Ñ%Ð1¸$×:LÑ:L×:QÑ:QÔ:SÜ!Ÿ.™.¨×);Ñ);Ó<×<Ð<÷  =÷ =ð × Ñ Ð )Ø × Ñ × %Ñ %Ô 'à ×ÑÕð=/ùØ.øð/ø÷/÷/ñ/ûä×*Ñ*¬G×,@Ñ,@ÐAò Ø'+Ô$ä×$Ñ$¨Ò/Ü!(×!5Ñ!5Ó!7Ð7˜Ð7ØŸ™Ô)àúð úð =ùð
=øð  =ø÷ =÷ =ñ =ûô ×&Ñ&¬×(<Ñ(<Ð=ò    ä× Ñ  GÒ+Ü$×1Ñ1Ó3Ð3TÐ3Ø—O‘OÔ%àúð     üsÿ‚AI=ÁFÁ+E6Á,FÁ/E=Á?E9ÂE= FÂE;ÂFÂHÂ$G=Â%HÂ(BHÄ*HÄ+HÄ/ HÄ:HÄ;HÄ?7I=Å6FÅ9E=Å;FÅ=FÆF ÆFÆ FÆA$G:Ç6I=Ç9G:Ç:I=Ç=HÈHÈHÈHÈ
H È HÈHÈAI:É6I=É9I:É:I=r‚cóÀ•—t‰||«ttj|«}|j
r t |«|j€J‚|jj||«|j}tjdk\r.tj|j«|d¬«}||_y|j|j««}||_y)N©r‘é T©rpÚ eager_start)rsÚconnection_maderr–Ú    TransportrLr#rIr”r™ršÚTaskÚstartÚ create_taskrU)r{r‚Úreal_transportrpr¡r|s     €r8r¨zRequestHandler.connection_madeRs°ø€Ü ‰Ñ     Ô*äœg×/Ñ/°Ó;ˆØ × Ò Ü ˜.Ô )à}‰}Ð(Ð(Ð(Ø  ‰ ×%Ñ% d¨NÔ;àz‰zˆÜ × Ñ ˜wÒ &Ü—<‘< §
¡
£ °4ÀTÔJˆDð"ˆÕð×#Ñ# D§J¡J£LÓ1ˆDØ!ˆÕr7r@cóh•—|j€y|jj||«|jj}|j«t‰||«d|_d|_d|_d|_|j|jj«|j(|€ td«}|jj|«|r&|j|jj«d|_ |j"|jj«d|_yy)NzConnection lost)rIÚconnection_lostÚhandler_cancellationr rsrKrJrXrNr“r_ÚConnectionResetErrorrrUrWÚfeed_eof)r{r@r°r|s   €r8r¯zRequestHandler.connection_lostcsø€Ø =‰=Ð  Ø Ø  ‰ ×%Ñ% d¨CÔ0ð $Ÿ}™}×AÑAÐà ×ÑÔÜ ‰Ñ Ô$؈Œ Ø $ˆÔØ $ˆÔØ#ˆÔà × !Ñ !Ð -Ø × "Ñ "× )Ñ )Ô +à ×  Ñ  Ð ,؈{Ü*Ð+<Ó=Ø × !Ñ !× )Ñ )¨#Ô .á  D×$6Ñ$6Ð$BØ × Ñ × %Ñ %Ô 'à!ˆÔà × Ñ Ð +Ø ×  Ñ  × )Ñ )Ô +Ø#'ˆDÕ  ð ,r7Úparsercó —|jJ‚||_|jr-|jj|j«d|_yy)Nr7)rWrRÚ    feed_data)r{r³s  r8Ú
set_parserzRequestHandler.set_parserƒsL€à×#Ñ#Ð+Ð+Ð+à%ˆÔà × Ò Ø ×  Ñ  × *Ñ *¨4×+=Ñ+=Ô >Ø!$ˆDÕ ð r7có—yrr6rƒs r8Ú eof_receivedzRequestHandler.eof_receiveds€Ø r7Údatacó
—|js |jry|j€À|js´|j€J‚    |jj |«\}}}|xsdD]7\}}|xjdz c_
|jj||f«Œ9|j}|r#|!|j«s|jd«||_|r |r||_yyy|j€$|jr|r|xj |z c_y|r2|jj |«\}    }|    r|j#«yyy#t $r.}td||j¬«tfg}d}d}Yd}~Œd}~wwxYw)Ni)r?r@rAFr7r6r)r^r]rWrVrXrµrr>rAr!rGrQÚappendrTržÚ
set_resultrRÚclose)
r{r¹ÚmessagesÚupgradedÚtailr@ÚmsgÚpayloadÚwaiterÚeofs
          r8Ú data_receivedzRequestHandler.data_receivedsv€Ø × Ò  § ¢ Ø ð × Ñ Ð '°· ² Ø×'Ñ'Ð3Ð 3Ð3ð Ø+/×+?Ñ+?×+IÑ+IÈ$Ó+OÑ(˜( Dð!)¢¨Bò 6‘ WØ×#Ò# qÑ(Õ#Ø—‘×%Ñ% s¨G nÕ5ð 6ð—\‘\ˆFÙ˜FÐ.°v·{±{´}à×!Ñ! $Ô'à$ˆDŒMÙ™DØ%)Õ"ð!ˆxð× !Ñ !Ð )¨d¯mªmÁØ × Ò  $Ñ &Ö ñØ×,Ñ,×6Ñ6°tÓ<‰IˆCÙØ—
‘
• ððøô3'ò ä S¨c¸3¿;¹;ÔGÌÐWðð!Ø–ûð  úsÁE Å     FÅ#E=Å=FÚvalcón—||_|jr"|jj«d|_yy)zMSet keep-alive connection mode.
 
        :param bool val: new state.
        N)rHrNr“)r{rÆs  r8Ú
keep_alivezRequestHandler.keep_alive·s3€ð
ˆŒØ × !Ò !Ø × "Ñ "× )Ñ )Ô +Ø%)ˆDÕ "ð "r7có`—d|_|jr|jj«yy)zClose connection.
 
        Stop accepting new pipelining messages and close
        connection when handlers done processing messages.
        TN)r]rTr“rƒs r8r½zRequestHandler.closeÁs'€ð ˆŒ Ø <Š<Ø L‰L× Ñ Õ !ð r7cóº—d|_|jr|jj«|j"|jj    «d|_yy)zForcefully close connection.TN)r^rTr“r‚r½rƒs r8r zRequestHandler.force_closeËsG€à ˆÔØ <Š<Ø L‰L× Ñ Ô !Ø >‰>Ð %Ø N‰N×  Ñ  Ô "Ø!ˆDNð &r7ÚrequestÚresponseÚtimecó¼—|jrP|jCtr|€J‚|jj|||jj «|z
«yyyr)rbrrÚlogr”rÍ)r{rËrÌrÍs    r8Ú
log_accesszRequestHandler.log_accessÔsX€ð ×  Ò   T×%7Ñ%7Ð%CÝØÐ'Ð'Ð'Ø × Ñ × "Ñ " 7¨H°d·j±j·o±oÓ6GÈ$Ñ6NÕ Oð&DÐ  r7ÚargsÚkwcóV—|jr|jj|i|¤Žyyr)r[rZ©r{rÑrÒs   r8Ú    log_debugzRequestHandler.log_debugÜs'€Ø :Š:Ø ˆDK‰K× Ñ ˜tÐ * rÓ *ð r7có<—|jj|i|¤Žyr)rZÚ    exceptionrÔs   r8Ú log_exceptionzRequestHandler.log_exceptionàs€Øˆ ‰ ×јtÐ* rÓ*r7cóR—d|_|js |jsy|j}|j    «}|j
}||kr"|j ||j«|_y|jr,|jj«s|j«yyyr) rNr^rHr”rÍrMÚcall_atÚ_process_keepaliverTržr )r{rpÚnowÚ
close_times    r8rÛz!RequestHandler._process_keepaliveãsŠ€Ø!%ˆÔØ × Ò  D§O¢OØ àz‰zˆØi‰i‹kˆØ×4Ñ4ˆ
Ø Ò à%)§\¡\°*¸d×>UÑ>UÓ%VˆDÔ "Ø ð <Š< § ¡ × 1Ñ 1Ô 3Ø × Ñ Õ ð!4ˆ<r7Ú
start_timerucƒóªK—d|_        ||_||«ƒd{–—†}d|_    t|dd«rtjdt
«|j |||«ƒd{–—†\}}d|_|j|jjd«||fS7Œƒ#d|_wxYw7ŒG#t$r+}|}|j |||«ƒd{–—†7\}}Yd}~Œqd}~wtj$r‚tj$rN}|jd|¬«|j|d«}|j |||«ƒd{–—†7\}}Yd}~Œãd}~wt$r=}|j|d|«}|j |||«ƒd{–—†7\}}Yd}~Œ'd}~wwxYw#d|_|j|jjd«wwxYw­w)    NTÚ__http_exception__Fzlreturning HTTPException object is deprecated (#2415) and will be removed, please raise the exception insteadzRequest handler timed out.©Úexc_infoiøéô)rar_ÚgetattrÚwarningsÚwarnÚDeprecationWarningÚfinish_responser$r–r—r˜rÕÚ handle_errorÚ    ExceptionrSr¼)r{rËrÞruÚrespÚresetr@s       r8Ú_handle_requestzRequestHandler._handle_requestôsÄèø€ð %)ˆÔ!ð     6ð -Ø(/Ô%Ù,¨WÓ5×5à(,Õ%ôtÐ1°5Ô9Ü— ‘ ð9ô'ô    ð!%× 4Ñ 4°W¸dÀJÓ O×O‰KˆD%à(-ˆDÔ %Ø×#Ñ#Ð/Ø×$Ñ$×/Ñ/°Ô5àUˆ{Ðð?6ùà(,Õ%úð.Pùô-ò    P؈DØ $× 4Ñ 4°W¸dÀJÓ O×OÐO‰KˆD•%ûÜ×%Ñ%ò    Ø Ü×#Ñ#ò    PØ N‰NÐ7À#ˆNÔ FØ×$Ñ$ W¨cÓ2ˆDØ $× 4Ñ 4°W¸dÀJÓ O×OÐO‰KˆD•%ûÜò    PØ×$Ñ$ W¨c°3Ó7ˆDØ $× 4Ñ 4°W¸dÀJÓ O×OÐO‰KˆD–%ûð    Pûð).ˆDÔ %Ø×#Ñ#Ð/Ø×$Ñ$×/Ñ/°Õ5ð0üsº‚GŒB$žB"ŸB$£B2«=FÁ(B0Á)FÁ02GÂ"B$Â$    B-Â-B2Â0FÂ2    FÂ;C!ÃCÃC!ÃFÃ!)FÄ
;EÅEÅEÅFÅ FÅ)FÆF Æ    FÆFÆFÆFÆ1GÇGc    ƒó@ K—|j}|j}|€J‚|j}d}|j€J‚|j€J‚|j
s{|j s1    |j«|_|jƒd{–—†d|_|j j«\}}|jr|j«nd}|xjdz c_ t||«}t|t«r|j!|«}    t"}n |j}    |j|||||j$xst'j(|««}
    |j+|
||    «} t,j.dk\rt'j0| |d¬«} n|j3| «}     | ƒd{–—†\}} ~ | r<|j7d«    d|
_|j:€ð|í|j7d«nÚt=|j>«|_ |jC«sù|jD}|j
s¤|r¢|j7d    |«|j«}||z}    |jC«sj||kretG||z
«4ƒd{–—†|jI«ƒd{–—†ddd«ƒd{–—†|j«}|jC«s||krŒe|jC«s-|j
s!|j7d «|jQ«|jStT«d|
_|j:€||j7d«    |j@r`|j^sT|j
sH|j«|z}||_0|jb€#|je||jf«|_1nn|j
sŒ{|j
s/d|_|j:|j:jQ«yyy7Œ†#d|_wxYw7Œl#t4$r<|j7d«Yd|
_|j:Œ}|€Œ€|j7d«Œ’wxYw7ŒÝ7ŒÈ7Œ»#1ƒd{–—†7swYŒÌxYw#t&jJt&jLf$r>t,j.d
k\r't'j(«x}r|jO«r‚YŒ    wxYw#t&jJ$r#|j7d«|jW«‚tX$r.}|j[d |¬ «|jW«Yd}~Œ!d}~wt\$r|jW«‚wxYw#d|
_|j:€||j7d«wwwxYw­w)a_Process incoming request.
 
        It reads request line, request headers and request payload, then
        calls handle_request() method. Subclass has to override
        handle_request(). start() handles various exceptions in request
        or response handling. Connection is being closed always unless
        keep_alive(True) specified.
        Nrr¤Tr¦z&Ignored premature client disconnectionz'Ignored premature client disconnection.z(Ignored premature client disconnection 2z'Start lingering close timer for %s sec.rzUncompleted request.zUnhandled exceptionrá)4r”rIrOrKrJr^rQr•rTÚpopleftrbrÍÚrequests_countrÚ
isinstancer>Ú_make_error_handlerÚERRORrUr–r›rír™ršrªr¬ÚConnectionErrorrÕÚ_taskr‚ÚboolrÈrHÚis_eofrPrÚreadanyr—r˜rœr½Ú set_exceptionÚ_PAYLOAD_ACCESS_ERRORr rêrØrDr]rMrNrÚrÛ)r{rprorerërArÂr«ÚwriterrurËÚcoror¡rìrkrÜÚend_tÚtr@rÝs                    r8r«zRequestHandler.startsèø€ðz‰zˆØ—-‘-ˆØÐ"Ð"Ð"Ø ×3Ñ3ÐØˆØ×$Ñ$Ð0Ð0Ð0Ø×$Ñ$Ð0Ð0Ð0à×#Ó#Ø—>’>ð(à#'×#5Ñ#5Ó#7D”LØŸ,™,×&Ð&à#'D”Là#Ÿ~™~×5Ñ5Ó7Ñ ˆGWð$(×#8Ò#8D—I‘I”K¸dˆEà × "Ò " aÑ 'Õ "Ü! $¨Ó-ˆFܘ'¤8Ô,à"&×":Ñ":¸7Ó"CÜ‘à"&×"7Ñ"7ð
×+Ñ+ØØØØØ×"Ñ"Ò@¤g×&:Ñ&:¸4Ó&@ó ˆGðC Nà×+Ñ+¨G°U¸OÓLÜ×#Ñ# wÒ.Ü"Ÿ<™<¨°4ÀTÔJ‘Dà×+Ñ+¨DÓ1DðØ(,§*‘KD˜%ð ÙØ—N‘NÐ#MÔNØð`!%” Ø—>‘>Ñ)¨dÑ.>Ø—N‘NÐ#LÖMô_#' t§¡Ó"7”ð—~‘~Ô'Ø%)×%9Ñ%9NØ×,Ò,±ØŸ™ØEÀ~ôð#Ÿi™i›k˜Ø # nÑ 4˜ð &Ø&-§n¡nÔ&6¸3Àº;Ü+7¸À¹ Ó+D÷!<ñ!<à*1¯/©/Ó*;×$;Ð$;÷!<÷!<ð'+§i¡i£k ð    '.§n¡nÔ&6¸3À»;ð#Ÿ>™>Ô+°D×4EÒ4EØŸ™Ð'=Ô>ØŸ
™
œ à×%Ñ%Ô&;Ô<ð!%” Ø—>‘>Ð)¨dÐ.>Ø—N‘NÐ#LÕMàŠ t§{¢{¸4×;LÒ;Là!ŸY™Y›[Ð+<Ñ<
Ø2<Ô/Ø×)Ñ)Ð1Ø-1¯\©\Ø" D×$;Ñ$;ó.DÕ*ðða×#Ô#ðf× Ò Ø!%ˆDÔ Ø~‰~Ð)Ø—‘×$Ñ$Õ&ð*ð!ð]'úà#'D•LúðF#-úÜ&òØ—N‘NÐ#KÔLØðl!%” Ø—>‘>Ñ)¨dÑ.>Ø—N‘NÐ#LÕMðuúð4!<ùà$;ùð!<ù÷!<÷!<ò!<ûô!(× 6Ñ 6¼×8LÑ8LÐMò&ä #× 0Ñ 0°GÒ ;Ü*1×*>Ñ*>Ó*@Ð%@ QÐ%@Ø$%§L¡L¤Nà %úð &ûô×)Ñ)ò Ø—‘ÐGÔHØ× Ñ Ô"ØÜò #Ø×"Ñ"Ð#8À3Ð"ÔGØ× Ñ ×"Ò"ûÜ ò Ø× Ñ Ô"Øð ûð!%” Ø—>‘>Ð)¨dÐ.>Ø—N‘NÐ#LÕMð/?Ð)üsD‚A VÁ#$PÂP ÂP C VÅAS*Æ+PÆ0PÆ1PÆ8S*Ç *VÇ7A+S*É#'RÊ
Q'Ê RÊQ0Ê"Q*Ê#Q0Ê' RÊ2Q-Ê3)RËAS*Ì/B VÏ<VÐ PР   PÐVÐPÐQ$Ð9S*Ð:VÑVÑVÑ#Q$Ñ$S*Ñ'RÑ*Q0Ñ-RÑ0RÑ6Q9 Ñ7RÑ>RÒAS'Ó#S*Ó&S'Ó'S*Ó*=U.Ô'#UÕ
U1ÕU.Õ.U1Õ1*VÖVrëcƒóK—|j«|jZ|jjd«d|_|jr,|jj |j«d|_    |j }    ||«ƒd{–—†|j!«ƒd{–—†|j%|||«|dfS#t$r„|€|jd«n |jdj|««t«}t|j|j|j|j¬«}|j }YŒÌwxYw7ŒÃ7Œ­#t"$r|j%|||«|dfcYSwxYw­w)aPrepare the response and write_eof, then log access.
 
        This has to
        be called within the context of any exception so the access logger
        can get exception information. Returns True if the client disconnects
        prematurely.
        NFr7z+Missing return statement on request handlerz7Web-handler should return a response instance, got {!r})r?ÚreasonÚtextÚheadersT)Ú_finishrXÚ set_upgradedrVrRrµÚprepareÚAttributeErrorrØrr%r(r?rrrÚ    write_eofrôrÐ)r{rËrërÞÚ prepare_methr@s      r8rèzRequestHandler.finish_response¨s[èø€ð    ‰ÔØ × Ñ Ð +Ø ×  Ñ  × -Ñ -¨eÔ 4Ø!ˆDŒMØ×!Ò!Ø×$Ñ$×.Ñ.¨t×/AÑ/AÔBØ%(Ô"ð    (ØŸ<™<ˆLð    Ù˜wÓ'× 'Ð 'Ø—.‘.Ó"× "Ð "ð
     ‰˜  zÔ2ؐUˆ{Ðøô+ò     (؈|Ø×"Ñ"Ð#PÕQà×"Ñ"ðß%™v d›|ôô*Ó+ˆCÜØ—z‘z¨#¯*©*¸3¿8¹8ÈSÏ[É[ôˆDð Ÿ<™<ŠLð     (úð (øØ "ùÜò    Ø O‰O˜G T¨:Ô 6ؘ:Ò ð    üsm‚A7FÁ: C EÂEÂEÂ*EÂ+EÂ/FÃB
EÅFÅEÅFÅEÅEÅ E=Å:FÅ<E=Å=Fr?rAcó$—|jdk(r9t|t«r)|jj    d|j
|¬«n|j d|j
|¬«|jjdkDr td«‚d}|tjk(rÆdjtj«}tjj}d}|jr,tt«5t!j"«}ddd«d    |j$j'd
d «vr)|rt)|«}d |›d }dj||¬«}d    }n |r|}|dz|z}t+|||¬«}    |    j-«|    S#1swYŒ|xYw)z›Handle errors.
 
        Returns HTTP response with specific status code. Logs additional
        information. It always closes current connection.
        rzError handling request from %srárzMResponse is sent already, cannot send another response with the error messagez
text/plainz{0.value} {0.phrase}Nz    text/htmlÚAcceptÚz<h2>Traceback:</h2>
<pre>z</pre>zV<html><head><title>{title}</title></head><body>
<h1>{title}</h1>
{msg}
</body></html>
)ÚtitlerÁz
 
)r?rÚ content_type)rGrñrrZr[ÚremoterØrûÚ output_sizerôrÚINTERNAL_SERVER_ERRORrÚ descriptionrrêÚ    tracebackÚ
format_excrÚgetÚ html_escaper(r )
r{rËr?r@rAÚctr rÁÚtbrës
          r8rézRequestHandler.handle_errorÒsƒ€ð × Ñ  !Ò #¬
°3¼ Ô(Fð
K‰K× Ñ Ø0°'·.±.È3ð õ ð × Ñ Ø0°'·.±.È3ð ô ð
>‰>× %Ñ %¨Ò )Ü!ð)óð ð
ˆØ ”Z×5Ñ5Ò 5Ø*×1Ñ1´*×2RÑ2RÓSˆEÜ×2Ñ2×>Ñ>ˆC؈B؏zŠzÜœiÓ(ñ0Ü"×-Ñ-Ó/B÷0ð˜gŸo™o×1Ñ1°(¸BÓ?Ñ?ÙÜ$ R›BØ6°r°d¸&ÐACð0÷‘&˜u¨#&Ó.ð ð !‘áØCØ &™.¨3Ñ.ä˜v¨GÀ"ÔEˆØ ×ÑÔàˆ ÷-0ð0ús Ã6FÆFÚerr_infocó0‡‡—dtdtfˆˆfd„ }|S)NrËr}c“óp•K—‰j|‰j‰j‰j«S­wr)rér?r@rA)rËrr{s €€r8Úhandlerz3RequestHandler._make_error_handler.<locals>.handlers1øèø€Ø×$Ñ$ؘŸ™¨(¯,©,¸×8HÑ8Hóð ùsƒ36)r'r))r{rrs`` r8ròz"RequestHandler._make_error_handlersù€ð    ¤;ð    ´>ö    ð
ˆr7)g.@)r}N)rãNN)8r2r3r4r5Ú    __slots__r r&rÚ
LOG_FORMATr–ÚAbstractEventLooprwrörrrrErBrtr„rr r‰rrr‹Úpropertyrer¢Ú BaseTransportr¨rDr¯r    r¶r¸ÚbytesrÅrÈr½r r'r)rÐrÕrØrÛr r
rír«rèrér>ròÚ __classcell__)r|s@r8r*r*hsø„ñ%ðN€IðN$(Ø"Ø&Ø7CØ*Ø!-×!8Ñ!8ØØ!Ø Ø"Ø $Ø!Ø $Ø()ò'O)àðO)ð×'Ñ'ð    O)ð !ð O)ððO)ððO)ðÐ3Ñ4ðO)ððO)ððO)ððO)ððO)ððO)ððO)ð ð!O)ð"ð#O)ð$ð%O)ð&!&õ'O)ðb
˜#ó
ð ð
˜XÐ&6Ñ7ò
óð
ðð
à    %˜˜U 3¨¨S°#Ð#5Ñ6¸¸cÀ3¸h¹ÐGÑHÑ    Iò
óð
ðð' 5ò'óð'ñ0 h¨u¡oð0Àó0ðd"¨×)>Ñ)>ð"À4õ"ð"( 8¨MÑ#:ð(¸tõ(ð@% ð%¨ó%ó ð% %ð%¨Dó%ðN*˜dð* tó*ó"ó"ðPØ"ðPØ.<ðPØDLÈUÁOðPà     óPð+˜sð+¨#ð+°$ó+ð+ 3ð+¨cð+°dó+óð")àð)ð˜U‘Oð)ð" ; -°¸>Ñ1JÐ"JÑKð    )ð
 
ˆ~˜tÐ#Ñ    $ó )óVG'ðR(Ø"ð(Ø*8ð(ØFNÈuÁoð(à    ˆ~˜tÐ#Ñ    $ó(ðZØ'+Ø!%ñ <àð<ðð<ðmÑ $ð    <ð
˜#‘ð <ð
ó <ð|Ø ðà    ;- ¨>Ñ!:Ð:Ñ    ;÷r7)Pr–Úasyncio.streamsr™rråÚ collectionsrÚ
contextlibrÚhtmlrrÚhttprÚloggingrÚtypingrr    r
r r r rrrrrÚattrÚyarlÚ    propcacherÚabcrrÚ base_protocolrÚhelpersrrrrrrÚhttp_exceptionsrrÏrr Ústreamsr!r"Ú tcp_helpersr#Úweb_exceptionsr$r%Úweb_logr&Ú web_requestr'Ú web_responser(r)Ú__all__ÚsslÚ
web_serverr-Ú_RequestFactoryÚ_RequestHandlerÚURLrórêr+r,rúÚsr>Ú_MsgTyper*r6r7r8ú<module>r?sfðÛÛÛ
ÛÛÝÝÝ&ÝÝ÷ ÷ ÷ ñ ó Û Ý+ç;Ý'Ý!÷õõ+ß-ß0Ý&ßBÝ!Ý$ß2à
I€áÛå"ðàØØØØð ððñ    €ð˜K˜=¨)°NÑ*CÐCÑD€áØ ØØØØØØØ    Ø    Ø €D‡HHˆSƒMó     €ô!˜)ô!ô8˜ô8ñ+Ó,Ðð€‡T $¨dÔ3÷ðó4ðð Ð(¨(Ð2Ñ3°\ÐAÑ B€ôp
\õp
r7