§
    ~Štjp  ã                   ó  — d dl Z d dlZd dlZd dlmZmZ d dlmZmZm	Z	m
Z
mZmZ d dlmZmZmZ d dlmZ d dlmZmZmZ d dlmZ d dlmZ d	d
lmZ d	dlmZ erd	dlm Z  d	dl!m"Z" d	dl#m$Z$m%Z% d	dl&m'Z' n
exZ$xZ%xZ Z'eZ" G d„ de¦  «        Z( G d„ de¦  «        Z) G d„ de¦  «        Z* G d„ de¦  «        Z+ G d„ de¦  «        Z,ere
ee-                  Z.ne
Z.edge/f         Z0 G d„ dee.¦  «        Z1 G d„ de¦  «        Z2 G d„ d e¦  «        Z3dS )!é    N)ÚABCÚabstractmethod)Ú	AwaitableÚCallableÚ	GeneratorÚIterableÚSequenceÚSized)Ú
BaseCookieÚMorselÚSimpleCookie)ÚMappingProxyType)ÚTYPE_CHECKINGÚAnyÚ	TypedDict)ÚCIMultiDict)ÚURLé   )Úparse_set_cookie_headers)ÚLooseCookies)ÚApplication)ÚHTTPException)ÚBaseRequestÚRequest)ÚStreamResponsec                   ój   — e Zd Zdd„Zdeddfd„Zedefd„¦   «         Zdd„Z	e
dedd	fd
„¦   «         ZdS )ÚAbstractRouterÚreturnNc                 ó   — d| _         d S )NF©Ú_frozen©Úselfs    úI/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/aiohttp/abc.pyÚ__init__zAbstractRouter.__init__   s   € ØˆŒˆˆó    Úappc                 ó   — dS )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_initzAbstractRouter.post_init   ó   € € € r&   c                 ó   — | j         S ©Nr    r"   s    r$   ÚfrozenzAbstractRouter.frozen&   s
   € àŒ|Ðr&   c                 ó   — d| _         dS )zFreeze router.TNr    r"   s    r$   ÚfreezezAbstractRouter.freeze*   s   € àˆŒˆˆr&   ÚrequestÚAbstractMatchInfoc              ƒ   ó
   K  — dS )z#Return MATCH_INFO for given requestNr)   ©r#   r2   s     r$   ÚresolvezAbstractRouter.resolve.   ó
   è è € € € r&   ©r   N)Ú__name__Ú
__module__Ú__qualname__r%   r   r+   ÚpropertyÚboolr/   r1   r   r   r6   r)   r&   r$   r   r      s´   € € € € € ðð ð ð ð˜[ð ¨Tð ð ð ð ð ð˜ð ð ð ñ „Xððð ð ð ð ð2 Wð 2Ð1Dð 2ð 2ð 2ñ „^ð2ð 2ð 2r&   r   c                   ó~  — e Zd ZdZeedeegee	         f         fd„¦   «         ¦   «         Z
eedeegee	dz           f         fd„¦   «         ¦   «         Zeededz  fd„¦   «         ¦   «         Zedeeef         fd„¦   «         Zeedeedf         fd	„¦   «         ¦   «         Zed
eddfd„¦   «         Zedd„¦   «         ZdS )r3   r)   r   c                 ó   — dS )zExecute matched request handlerNr)   r"   s    r$   ÚhandlerzAbstractMatchInfo.handler7   r,   r&   Nc                 ó   — dS )z*Expect handler for 100-continue processingNr)   r"   s    r$   Úexpect_handlerz AbstractMatchInfo.expect_handler<   r,   r&   c                 ó   — dS )z<HTTPException instance raised on router's resolving, or NoneNr)   r"   s    r$   Úhttp_exceptionz AbstractMatchInfo.http_exceptionC   r,   r&   c                 ó   — dS )z;Return a dict with additional info useful for introspectionNr)   r"   s    r$   Úget_infozAbstractMatchInfo.get_infoH   r,   r&   .c                 ó   — dS )z\Stack of nested applications.

        Top level application is left-most element.

        Nr)   r"   s    r$   ÚappszAbstractMatchInfo.appsL   r,   r&   r'   c                 ó   — dS )z)Add application to the nested apps stack.Nr)   r*   s     r$   Úadd_appzAbstractMatchInfo.add_appU   r,   r&   c                 ó   — dS )z‡Freeze the match info.

        The method is called after route resolution.

        After the call .add_app() is forbidden.

        Nr)   r"   s    r$   r1   zAbstractMatchInfo.freezeY   r,   r&   r8   )r9   r:   r;   Ú	__slots__r<   r   r   r   r   r   r@   rB   r   rD   ÚdictÚstrr   rF   Útupler   rH   rJ   r1   r)   r&   r$   r3   r3   3   s™  € € € € € à€IàØð.˜ 7 )¨Y°~Ô-FÐ"FÔGð .ð .ð .ñ „^ñ „Xð.ð Øð9à	�7�)˜Y ~¸Ñ'<Ô=Ð=Ô	>ð9ð 9ð 9ñ „^ñ „Xð9ð
 ØðK °Ñ 4ð Kð Kð Kñ „^ñ „XðKð ðJ˜$˜s C˜xœ.ð Jð Jð Jñ „^ðJð Øð�e˜K¨Ð,Ô-ð ð ð ñ „^ñ „Xðð ð8˜;ð 8¨4ð 8ð 8ð 8ñ „^ð8ð ðð ð ñ „^ðð ð r&   r3   c                   ól   — e Zd ZdZdeddfd„Zedefd„¦   «         Zede	dde
f         fd„¦   «         ZdS )ÚAbstractViewzAbstract class based view.r2   r   Nc                 ó   — || _         d S r.   ©Ú_requestr5   s     r$   r%   zAbstractView.__init__g   s   € ØˆŒˆˆr&   c                 ó   — | j         S )zRequest instance.rS   r"   s    r$   r2   zAbstractView.requestj   s   € ð Œ}Ðr&   c                 ó   — dS )zExecute the view handler.Nr)   r"   s    r$   Ú	__await__zAbstractView.__await__o   r,   r&   )r9   r:   r;   Ú__doc__r   r%   r<   r2   r   r   r   rW   r)   r&   r$   rQ   rQ   d   s–   € € € € € Ø$Ð$ð  ð  ¨Dð  ð  ð  ð  ð ð˜ð ð ð ñ „Xðð ð(˜9 T¨4°Ð%?Ô@ð (ð (ð (ñ „^ð(ð (ð (r&   rQ   c                   óP   — e Zd ZU dZeed<   eed<   eed<   eed<   eed<   eed<   dS )	ÚResolveResulta•  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ÚflagsN)r9   r:   r;   rX   rN   Ú__annotations__Úintr)   r&   r$   rZ   rZ   t   sR   € € € € € € ðð ð €M€M�MØ
€I€I�IØ
€I€I�IØ€K€K�KØ€J€J�JØ€J€J�J€J€Jr&   rZ   c                   óx   — e Zd ZdZedej        fdededej	        de
e         fd„¦   «         Zed
d	„¦   «         ZdS )ÚAbstractResolverzAbstract DNS resolver.r   r\   r]   r^   r   c              ƒ   ó
   K  — dS )z$Return IP address for given hostnameNr)   )r#   r\   r]   r^   s       r$   r6   zAbstractResolver.resolve�   r7   r&   Nc              ƒ   ó
   K  — dS )zRelease resolverNr)   r"   s    r$   ÚclosezAbstractResolver.close“   r7   r&   r8   )r9   r:   r;   rX   r   ÚsocketÚAF_INETrN   rb   ÚAddressFamilyÚlistrZ   r6   rg   r)   r&   r$   rd   rd   Š   sŒ   € € € € € Ø Ð àà%&ÀvÄ~ð3ð 3Øð3Ø"ð3Ø06Ô0Dð3à	ˆmÔ	ð3ð 3ð 3ñ „^ð3ð
 ðð ð ñ „^ðð ð r&   rd   zMorsel[str]c                   óä  — e Zd ZdZddœdej        dz  ddfd„Zeede	fd„¦   «         ¦   «         Z
eede	fd„¦   «         ¦   «         Zeedeeeef         ef         fd	„¦   «         ¦   «         Zeedeeeef                  fd
„¦   «         ¦   «         Zeddedz  ddfd„¦   «         Zededdfd„¦   «         Ze e¦   «         fdededdfd„¦   «         Zdee         deddfd„Zededdfd„¦   «         ZdS )ÚAbstractCookieJarzAbstract Cookie Jar.N)Úlooprn   r   c                ó:   — |pt          j        ¦   «         | _        d S r.   )ÚasyncioÚget_running_loopÚ_loop)r#   rn   s     r$   r%   zAbstractCookieJar.__init__¤   s   € ØÐ7�WÔ5Ñ7Ô7ˆŒ
ˆ
ˆ
r&   c                 ó   — dS )z5Return True if cookies can be used with IP addresses.Nr)   r"   s    r$   ÚunsafezAbstractCookieJar.unsafe§   r,   r&   c                 ó   — dS )z(Return True if cookies should be quoted.Nr)   r"   s    r$   Úquote_cookiezAbstractCookieJar.quote_cookie¬   r,   r&   c                 ó   — dS )z&Return the cookies stored in this jar.Nr)   r"   s    r$   ÚcookieszAbstractCookieJar.cookies±   r,   r&   c                 ó   — dS )z0Return the host-only cookies stored in this jar.Nr)   r"   s    r$   Úhost_only_cookiesz#AbstractCookieJar.host_only_cookies¶   r,   r&   Ú	predicatec                 ó   — dS )z,Clear all cookies if no predicate is passed.Nr)   )r#   r{   s     r$   ÚclearzAbstractCookieJar.clear»   r,   r&   Údomainc                 ó   — dS )z0Clear all cookies for domain and all subdomains.Nr)   )r#   r~   s     r$   Úclear_domainzAbstractCookieJar.clear_domain¿   r,   r&   rx   Úresponse_urlc                 ó   — dS )zUpdate cookies.Nr)   )r#   rx   r�   s      r$   Úupdate_cookiesz AbstractCookieJar.update_cookiesÃ   r,   r&   Úheadersc                 ó`   — |r)t          |¦  «        x}r|                      ||¦  «         dS dS dS )z+Update cookies from raw Set-Cookie headers.N)r   rƒ   )r#   r„   r�   Úcookies_to_updates       r$   Úupdate_cookies_from_headersz-AbstractCookieJar.update_cookies_from_headersÇ   sY   € ð ð 	AÕ-EÀgÑ-NÔ-NÐNÐ)ð 	AØ×ÒÐ 1°<Ñ@Ô@Ð@Ð@Ð@ð	Að 	Að 	Að 	Ar&   Úrequest_urlzBaseCookie[str]c                 ó   — dS )z6Return the jar's cookies filtered by their attributes.Nr)   )r#   rˆ   s     r$   Úfilter_cookiesz AbstractCookieJar.filter_cookiesÎ   r,   r&   r.   )r9   r:   r;   rX   rp   ÚAbstractEventLoopr%   r<   r   r=   rt   rv   r   rO   rN   r   rx   Ú	frozensetrz   ÚClearCookiePredicater}   r€   r   r   rƒ   r	   r‡   rŠ   r)   r&   r$   rm   rm   ¡   sS  € € € € € ØÐàCGð 8ð 8ð 8 Ô 9¸DÑ @ð 8ÈDð 8ð 8ð 8ð 8ð ØðD˜ð Dð Dð Dñ „^ñ „XðDð Øð7˜dð 7ð 7ð 7ñ „^ñ „Xð7ð Øð5Ð)¨%°°S°¬/¸<Ð*GÔHð 5ð 5ð 5ñ „^ñ „Xð5ð Øð? 9¨U°3¸°8¬_Ô#=ð ?ð ?ð ?ñ „^ñ „Xð?ð ð;ð ;Ð3°dÑ:ð ;Àdð ;ð ;ð ;ñ „^ð;ð ð? 3ð ?¨4ð ?ð ?ð ?ñ „^ð?ð ØHKÈÉÌð ð  lð À#ð ÐRVð ð ð ñ „^ððAØ ”}ðAØ47ðAà	ðAð Að Að Að ðE¨#ð EÐ2Cð Eð Eð Eñ „^ðEð Eð Er&   rm   c                   ó  — e Zd ZU dZdZeed<   dZeed<   dZedz  ed<   e	de
ez  ez  ddfd	„¦   «         Ze	dde
ddfd„¦   «         Ze	dd„¦   «         Ze		 ddededz  ddfd„¦   «         Ze	dd„¦   «         Ze	deddddfd„¦   «         Zdd„ZdS )ÚAbstractStreamWriterzAbstract stream writer.r   Úbuffer_sizeÚoutput_sizeNÚlengthÚchunkr   c              ƒ   ó
   K  — dS )zWrite chunk into stream.Nr)   ©r#   r“   s     r$   ÚwritezAbstractStreamWriter.writeÚ   r7   r&   r&   c              ƒ   ó
   K  — dS )zWrite last chunk.Nr)   r•   s     r$   Ú	write_eofzAbstractStreamWriter.write_eofÞ   r7   r&   c              ƒ   ó
   K  — dS )zFlush the write buffer.Nr)   r"   s    r$   ÚdrainzAbstractStreamWriter.drainâ   r7   r&   ÚdeflateÚencodingÚstrategyc                 ó   — dS )zEnable HTTP body compressionNr)   )r#   rœ   r�   s      r$   Úenable_compressionz'AbstractStreamWriter.enable_compressionæ   r,   r&   c                 ó   — dS )zEnable HTTP chunked modeNr)   r"   s    r$   Úenable_chunkingz$AbstractStreamWriter.enable_chunkingì   r,   r&   Ústatus_liner„   zCIMultiDict[str]c              ƒ   ó
   K  — dS )zWrite HTTP headersNr)   )r#   r¢   r„   s      r$   Úwrite_headersz"AbstractStreamWriter.write_headersð   r7   r&   c                 ó   — dS )zàForce sending buffered headers if not already sent.

        Required only if write_headers() buffers headers instead of sending immediately.
        For backwards compatibility, this method does nothing by default.
        Nr)   r"   s    r$   Úsend_headersz!AbstractStreamWriter.send_headersö   r,   r&   )r&   r8   )r›   N)r9   r:   r;   rX   r�   rb   ra   r‘   r’   r   ÚbytesÚ	bytearrayÚ
memoryviewr–   r˜   rš   rN   rŸ   r¡   r¤   r¦   r)   r&   r$   r�   r�   Ó   s‰  € € € € € € Ø!Ð!à€K�ÐÐÑØ€K�ÐÐÑØ€FˆC�$‰JÐÐÑàð' ¨Ñ!2°ZÑ!?ð 'ÀDð 'ð 'ð 'ñ „^ð'ð ð ð   Uð  °Tð  ð  ð  ñ „^ð ð ð&ð &ð &ñ „^ð&ð à@Dð+ð +Øð+Ø36¸±:ð+à	ð+ð +ð +ñ „^ð+ð
 ð'ð 'ð 'ñ „^ð'ð ð!Øð!Ø);ð!à	ð!ð !ð !ñ „^ð!ð
ð ð ð ð ð r&   r�   c            	       óx   — e Zd ZdZdZdej        deddfd„Ze	de
d	ed
eddfd„¦   «         Zedefd„¦   «         ZdS )ÚAbstractAccessLoggerzAbstract writer to access log.©ÚloggerÚ
log_formatr­   r®   r   Nc                 ó"   — || _         || _        d S r.   r¬   )r#   r­   r®   s      r$   r%   zAbstractAccessLogger.__init__  s   € ØˆŒØ$ˆŒˆˆr&   r2   ÚresponseÚtimec                 ó   — dS )zEmit log to logger.Nr)   )r#   r2   r°   r±   s       r$   ÚlogzAbstractAccessLogger.log  r,   r&   c                 ó   — dS )zCheck if logger is enabled.Tr)   r"   s    r$   ÚenabledzAbstractAccessLogger.enabled  s	   € ð ˆtr&   )r9   r:   r;   rX   rL   ÚloggingÚLoggerrN   r%   r   r   r   Úfloatr³   r<   r=   rµ   r)   r&   r$   r«   r«   þ   s®   € € € € € Ø(Ð(à(€Ið%˜wœ~ð %¸3ð %À4ð %ð %ð %ð %ð ð"˜;ð "°.ð "Èð "ÐRVð "ð "ð "ñ „^ð"ð ð˜ð ð ð ñ „Xðð ð r&   r«   )4rp   r¶   rh   Úabcr   r   Úcollections.abcr   r   r   r   r	   r
   Úhttp.cookiesr   r   r   Útypesr   Útypingr   r   r   Ú	multidictr   Úyarlr   Ú_cookie_helpersr   Útypedefsr   Úweb_appr   Úweb_exceptionsr   Úweb_requestr   r   Úweb_responser   r   r3   rQ   rZ   rd   rN   ÚIterableBaser=   r�   rm   r�   r«   r)   r&   r$   ú<module>rÇ      s
  ðØ €€€Ø €€€Ø €€€Ø #Ð #Ð #Ð #Ð #Ð #Ð #Ð #Ø UÐ UÐ UÐ UÐ UÐ UÐ UÐ UÐ UÐ UÐ UÐ UÐ UÐ UÐ UÐ UØ 9Ð 9Ð 9Ð 9Ð 9Ð 9Ð 9Ð 9Ð 9Ð 9Ø "Ð "Ð "Ð "Ð "Ð "Ø 0Ð 0Ð 0Ð 0Ð 0Ð 0Ð 0Ð 0Ð 0Ð 0à !Ð !Ð !Ð !Ð !Ð !Ø Ð Ð Ð Ð Ð à 5Ð 5Ð 5Ð 5Ð 5Ð 5Ø "Ð "Ð "Ð "Ð "Ð "àð Ø$Ð$Ð$Ð$Ð$Ð$Ø-Ð-Ð-Ð-Ð-Ð-Ø1Ð1Ð1Ð1Ð1Ð1Ð1Ð1Ø,Ð,Ð,Ð,Ð,Ð,Ð,à;>Ð>€KÐ>�'Ð>˜K¨.Ø€Mð2ð 2ð 2ð 2ð 2�Sñ 2ô 2ð 2ð2.ð .ð .ð .ð .˜ñ .ô .ð .ðb(ð (ð (ð (ð (�3ñ (ô (ð (ð ð ð ð ð �Iñ ô ð ð,ð ð ð ð �sñ ô ð ð ð Ø˜F 3œKÔ(€L€Là€Lð    °Ð 5Ô6Ð ð/Eð /Eð /Eð /Eð /E˜˜|ñ /Eô /Eð /Eðd(ð (ð (ð (ð (˜3ñ (ô (ð (ðVð ð ð ð ˜3ñ ô ð ð ð r&   