ó
    	[hp  ã                   óê  • S SK r S SKrS SKrS SKrS SKJrJr  S SKJr  S SK	J
r
Jr  S SKJrJrJrJrJrJrJrJrJrJrJrJr  S SKJr  S SKJr  SS	KJr  \(       a  SS
KJ r   SSK!J"r"  SSK#J$r$J%r%  SSK&J'r'  O
S=r$=r%=r r'Sr" " S S\5      r( " S S\5      r) " S S\5      r* " S S\5      r+ " S S\5      r,\(       a	  \\\-      r.O\r.\S/\/4   r0 " S S\\.5      r1 " S S\5      r2 " S S\5      r3g)é    N)ÚABCÚabstractmethod)ÚSized)Ú
BaseCookieÚMorsel)ÚTYPE_CHECKINGÚAnyÚ	AwaitableÚCallableÚDictÚ	GeneratorÚIterableÚListÚOptionalÚTupleÚ	TypedDictÚUnion)ÚCIMultiDict)ÚURLé   )ÚLooseCookies)ÚApplication)ÚHTTPException)ÚBaseRequestÚRequest)ÚStreamResponsec                   ón   • \ rS rSrSS jrS\SS4S jr\S\4S j5       r	SS jr
\S	\SS
4S j5       rSrg)ÚAbstractRouteré&   ÚreturnNc                 ó   • SU l         g )NF©Ú_frozen©Úselfs    ÚZ/home/gothic/public_html/Fooocus/fooocus_env/lib64/python3.13/site-packages/aiohttp/abc.pyÚ__init__ÚAbstractRouter.__init__'   s	   € Øˆ�ó    Úappc                 ó   • g)zšPost init stage.

Not an abstract method for sake of backward compatibility,
but if the router wants to be aware of the application
it can override this.
N© ©r%   r*   s     r&   Ú	post_initÚAbstractRouter.post_init*   ó   � r)   c                 ó   • U R                   $ ©Nr"   r$   s    r&   ÚfrozenÚAbstractRouter.frozen2   s   € à�|‰|Ðr)   c                 ó   • SU l         g)zFreeze router.TNr"   r$   s    r&   ÚfreezeÚAbstractRouter.freeze6   s	   € àˆ�r)   ÚrequestÚAbstractMatchInfoc              ƒ   ó   #   • g7f)z#Return MATCH_INFO for given requestNr,   ©r%   r8   s     r&   ÚresolveÚAbstractRouter.resolve:   ó   é � ùó   ‚r"   ©r    N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r'   r   r.   ÚpropertyÚboolr3   r6   r   r   r<   Ú__static_attributes__r,   r)   r&   r   r   &   s]   † ôð˜[ð ¨Tô ð ð˜ó ó ðôð ð2 Wð 2Ð1Dó 2ó ó2r)   r   c                   ó,  • \ rS rSrSr\\S\\/\	\
   4   4S j5       5       r\\S\\/\	\\
      4   4S j5       5       r\\S\\   4S j5       5       r\S\\\4   4S j5       r\\S\\S4   4S	 j5       5       r\S
\SS4S j5       r\SS j5       rSrg)r9   é?   r,   r    c                 ó   • g)zExecute matched request handlerNr,   r$   s    r&   ÚhandlerÚAbstractMatchInfo.handlerC   r0   r)   c                 ó   • g)z*Expect handler for 100-continue processingNr,   r$   s    r&   Úexpect_handlerÚ AbstractMatchInfo.expect_handlerH   r0   r)   c                 ó   • g)z<HTTPException instance raised on router's resolving, or NoneNr,   r$   s    r&   Úhttp_exceptionÚ AbstractMatchInfo.http_exceptionO   r0   r)   c                 ó   • g)z;Return a dict with additional info useful for introspectionNr,   r$   s    r&   Úget_infoÚAbstractMatchInfo.get_infoT   r0   r)   .c                 ó   • g)zLStack of nested applications.

Top level application is left-most element.

Nr,   r$   s    r&   ÚappsÚAbstractMatchInfo.appsX   r0   r)   r*   Nc                 ó   • g)z)Add application to the nested apps stack.Nr,   r-   s     r&   Úadd_appÚAbstractMatchInfo.add_appa   r0   r)   c                 ó   • g)zoFreeze the match info.

The method is called after route resolution.

After the call .add_app() is forbidden.

Nr,   r$   s    r&   r6   ÚAbstractMatchInfo.freezee   r0   r)   r@   )rA   rB   rC   rD   Ú	__slots__rE   r   r   r   r
   r   rK   r   rN   r   rQ   r   Ústrr	   rT   r   r   rW   rZ   r6   rG   r,   r)   r&   r9   r9   ?   s'  † à€IàØð.˜ 7 )¨Y°~Ñ-FÐ"FÑGó .ó ó ð.ð Øð9à	�7�)˜Y x°Ñ'?Ñ@Ð@Ñ	Aó9ó ó ð9ð
 ØðK ¨Ñ 7ó Kó ó ðKð ðJ˜$˜s C˜x™.ó Jó ðJð Øð�e˜K¨Ð,Ñ-ó ó ó ðð ð8˜;ð 8¨4ó 8ó ð8ð óó ór)   r9   c                   óf   • \ rS rSrSrS\SS4S jr\S\4S j5       r\	S\
\S\4   4S j5       rS	rg)
ÚAbstractViewép   zAbstract class based view.r8   r    Nc                 ó   • Xl         g r2   ©Ú_requestr;   s     r&   r'   ÚAbstractView.__init__s   s   € Ø�r)   c                 ó   • U R                   $ )zRequest instance.rd   r$   s    r&   r8   ÚAbstractView.requestv   s   € ð �}‰}Ðr)   c                 ó   • g)zExecute the view handler.Nr,   r$   s    r&   Ú	__await__ÚAbstractView.__await__{   r0   r)   rd   )rA   rB   rC   rD   Ú__doc__r   r'   rE   r8   r   r   r	   r   rj   rG   r,   r)   r&   ra   ra   p   sZ   † Ù$ð  ð  ¨Dô  ð ð˜ó ó ðð ð(˜9 S¨$°Ð%>Ñ?ó (ó ó(r)   ra   c                   óV   • \ rS rSr% Sr\\S'   \\S'   \\S'   \\S'   \\S'   \\S'   S	rg
)ÚResolveResulté€   aq  Resolve result.

This is the result returned from an AbstractResolver's
resolve method.

:param hostname: The hostname that was provided.
:param host: The IP address that was resolved.
:param port: The port that was resolved.
:param family: The address family that was resolved.
:param proto: The protocol that was resolved.
:param flags: The flags that were resolved.
ÚhostnameÚhostÚportÚfamilyÚprotoÚflagsr,   N)	rA   rB   rC   rD   rl   r_   Ú__annotations__ÚintrG   r,   r)   r&   rn   rn   €   s'   ‡ ñð ƒMØ
ƒIØ
ƒIØƒKØƒJØ†Jr)   rn   c                   ó†   • \ rS rSrSr\S\R                  4S\S\	S\R                  S\\   4S jj5       r\SS
 j5       rSrg	)ÚAbstractResolveré–   zAbstract DNS resolver.r   rq   rr   rs   r    c              ƒ   ó   #   • g7f)z$Return IP address for given hostnameNr,   )r%   rq   rr   rs   s       r&   r<   ÚAbstractResolver.resolve™   r>   r?   Nc              ƒ   ó   #   • g7f)zRelease resolverNr,   r$   s    r&   ÚcloseÚAbstractResolver.closeŸ   r>   r?   r,   r@   )rA   rB   rC   rD   rl   r   ÚsocketÚAF_INETr_   rw   ÚAddressFamilyr   rn   r<   r~   rG   r,   r)   r&   ry   ry   –   s_   † Ù àà%&ÀvÇ~Á~ñ3Øð3Ø"ð3Ø06×0DÑ0Dð3à	ˆmÑ	ô3ó ð3ð
 óó ór)   ry   zMorsel[str]c                   óü   • \ rS rSrSrSS.S\\R                     SS4S jjr\	\
S\4S j5       5       r\
SS	\\   SS4S
 jj5       r\
S\SS4S j5       r\
\" 5       4S\S\SS4S jj5       r\
S\SS4S j5       rSrg)ÚAbstractCookieJaré­   zAbstract Cookie Jar.N)Úloopr†   r    c                óJ   • U=(       d    [         R                  " 5       U l        g r2   )ÚasyncioÚget_running_loopÚ_loop)r%   r†   s     r&   r'   ÚAbstractCookieJar.__init__°   s   € Ø×7œW×5Ò5Ó7ˆ�
r)   c                 ó   • g)z(Return True if cookies should be quoted.Nr,   r$   s    r&   Úquote_cookieÚAbstractCookieJar.quote_cookie³   r0   r)   Ú	predicatec                 ó   • g)z,Clear all cookies if no predicate is passed.Nr,   )r%   r�   s     r&   ÚclearÚAbstractCookieJar.clear¸   r0   r)   Údomainc                 ó   • g)z0Clear all cookies for domain and all subdomains.Nr,   )r%   r“   s     r&   Úclear_domainÚAbstractCookieJar.clear_domain¼   r0   r)   ÚcookiesÚresponse_urlc                 ó   • g)zUpdate cookies.Nr,   )r%   r—   r˜   s      r&   Úupdate_cookiesÚ AbstractCookieJar.update_cookiesÀ   r0   r)   Úrequest_urlzBaseCookie[str]c                 ó   • g)z6Return the jar's cookies filtered by their attributes.Nr,   )r%   rœ   s     r&   Úfilter_cookiesÚ AbstractCookieJar.filter_cookiesÄ   r0   r)   )rŠ   r2   )rA   rB   rC   rD   rl   r   rˆ   ÚAbstractEventLoopr'   rE   r   rF   r�   ÚClearCookiePredicater‘   r_   r•   r   r   rš   rž   rG   r,   r)   r&   r„   r„   ­   sé   † ÙàFJò 8 ¨×)BÑ)BÑ Cð 8Ètõ 8ð Øð7˜dó 7ó ó ð7ð ñ;˜xÐ(<Ñ=ð ;Èô ;ó ð;ð ð? 3ð ?¨4ó ?ó ð?ð ÙHKËñ  lð À#ð ÐRVô ó ðð ðE¨#ð EÐ2Có Eó óEr)   r„   c                   ó  • \ rS rSr% SrSr\\S'   Sr\\S'   Sr	\
\   \S'   \S\\\\4   SS	4S
 j5       r\SS\SS	4S jj5       r\SS j5       r\S\R(                  4S\S\SS	4S jj5       r\SS j5       r\S\SSSS	4S j5       rSrg	)ÚAbstractStreamWriteréÉ   zAbstract stream writer.r   Úbuffer_sizeÚoutput_sizeÚlengthÚchunkr    Nc              ƒ   ó   #   • g7f)zWrite chunk into stream.Nr,   ©r%   r¨   s     r&   ÚwriteÚAbstractStreamWriter.writeÐ   r>   r?   c              ƒ   ó   #   • g7f)zWrite last chunk.Nr,   rª   s     r&   Ú	write_eofÚAbstractStreamWriter.write_eofÔ   r>   r?   c              ƒ   ó   #   • g7f)zFlush the write buffer.Nr,   r$   s    r&   ÚdrainÚAbstractStreamWriter.drainØ   r>   r?   ÚdeflateÚencodingÚstrategyc                 ó   • g)zEnable HTTP body compressionNr,   )r%   r´   rµ   s      r&   Úenable_compressionÚ'AbstractStreamWriter.enable_compressionÜ   r0   r)   c                 ó   • g)zEnable HTTP chunked modeNr,   r$   s    r&   Úenable_chunkingÚ$AbstractStreamWriter.enable_chunkingâ   r0   r)   Ústatus_lineÚheaderszCIMultiDict[str]c              ƒ   ó   #   • g7f)zWrite HTTP headersNr,   )r%   r¼   r½   s      r&   Úwrite_headersÚ"AbstractStreamWriter.write_headersæ   r>   r?   r,   )r)   r@   )rA   rB   rC   rD   rl   r¥   rw   rv   r¦   r§   r   r   r   ÚbytesÚ	bytearrayÚ
memoryviewr«   r®   r±   ÚzlibÚZ_DEFAULT_STRATEGYr_   r·   rº   r¿   rG   r,   r)   r&   r£   r£   É   s   ‡ Ù!à€K�ÓØ€K�ÓØ€FˆH�S‰MÓàð'  u¨i¸Ð'CÑ!Dð 'Èó 'ó ð'ð ñ  Uð  °Tô  ó ð ð ó&ó ð&ð à'¸×9PÑ9Pñ+Øð+Ø36ð+à	ô+ó ð+ð
 ó'ó ð'ð ð!Øð!Ø);ð!à	ó!ó ó!r)   r£   c            	       ó‚   • \ rS rSrSrSrS\R                  S\SS4S jr	\
S	\S
\S\SS4S j5       r\S\4S j5       rSrg)ÚAbstractAccessLoggeréí   zAbstract writer to access log.©ÚloggerÚ
log_formatrÊ   rË   r    Nc                 ó   • Xl         X l        g r2   rÉ   )r%   rÊ   rË   s      r&   r'   ÚAbstractAccessLogger.__init__ò   s   € ØŒØ$�r)   r8   ÚresponseÚtimec                 ó   • g)zEmit log to logger.Nr,   )r%   r8   rÎ   rÏ   s       r&   ÚlogÚAbstractAccessLogger.logö   r0   r)   c                 ó   • g)zCheck if logger is enabled.Tr,   r$   s    r&   ÚenabledÚAbstractAccessLogger.enabledú   s   € ð r)   )rË   rÊ   )rA   rB   rC   rD   rl   r^   ÚloggingÚLoggerr_   r'   r   r   r   ÚfloatrÑ   rE   rF   rÔ   rG   r,   r)   r&   rÇ   rÇ   í   st   † Ù(à(€Ið%˜wŸ~™~ð %¸3ð %À4ô %ð ð"˜;ð "°.ð "Èð "ÐRVó "ó ð"ð ð˜ó ó ór)   rÇ   )4rˆ   rÖ   r€   rÄ   Úabcr   r   Úcollections.abcr   Úhttp.cookiesr   r   Útypingr   r	   r
   r   r   r   r   r   r   r   r   r   Ú	multidictr   Úyarlr   Útypedefsr   Úweb_appr   Úweb_exceptionsr   Úweb_requestr   r   Úweb_responser   r   r9   ra   rn   ry   r_   ÚIterableBaserF   r¡   r„   r£   rÇ   r,   r)   r&   Ú<module>rå      só   ðÛ Û Û Û ß #Ý !ß +÷÷ ÷ ó õ "Ý å "æÝ$Ý-ß1Þ,à;?Ð?€KÐ?�'Ð?˜K¨.Ø€Mô2�Sô 2ô2.˜ô .ôb(�3ô (ô �Iô ô,�sô ö Ø˜F 3™KÑ(�Là€Lð    °Ð 5Ñ6Ð ôE˜˜|ô Eô8!!˜3ô !!ôH˜3õ r)   