ó
    Ð]j3  ã                  óà  • S r SSKJr  SSKrSSKrSSKrSSKJr  SSKJr  SSKJ	r	  SSKJ
r
  SSKJr  SS	KJr  SS
KJr  SSKJr  SSKJr  SSKJr  SSKJr  SSKJr  SSK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  SSKJr  SSKJ r    " S S\5      r! " S S\5      r" " S S5      r# " S  S!5      r$ " S" S#\$5      r% " S$ S%\5      r& " S& S'\&5      r' " S( S)5      r(g)*z?generic asyncio-adapted versions of DBAPI connection and cursoré    )ÚannotationsN)ÚAny)ÚAsyncIterator)ÚDeque)ÚIterator)ÚNoReturn)ÚOptional)ÚSequence)ÚTuple)ÚType)ÚTYPE_CHECKINGé   )ÚAdaptedConnection)Ú
EMPTY_DICT)Úawait_fallback)Ú
await_only)Úin_greenlet)ÚProtocol)Ú_DBAPICursorDescription)Ú_DBAPIMultiExecuteParams)Ú_DBAPISingleExecuteParams)ÚDBAPIModule)ÚSelfc                  óJ   • \ rS rSrSrS
S jrSS jrS
S jrSS jrSS jr	Sr
g	)ÚAsyncIODBAPIConnectioné)   zVprotocol representing an async adapted version of a
:pep:`249` database connection.


c              ƒ  ó   #   • g 7f©N© ©Úselfs    ÚZ/home/mande/repo/quber/.venv/lib/python3.13/site-packages/sqlalchemy/connectors/asyncio.pyÚcommitÚAsyncIODBAPIConnection.commit3   s   é €  Cùó   ‚c                ó   • g r   r   )r!   ÚargsÚkwargss      r"   ÚcursorÚAsyncIODBAPIConnection.cursor5   s   € Àsó    c              ƒ  ó   #   • g 7fr   r   r    s    r"   ÚrollbackÚAsyncIODBAPIConnection.rollback7   s   é €  cùr%   c                ó   • g r   r   ©r!   Úkeys     r"   Ú__getattr__Ú"AsyncIODBAPIConnection.__getattr__9   s   € ¨Cr+   c                ó   • g r   r   )r!   r1   Úvalues      r"   Ú__setattr__Ú"AsyncIODBAPIConnection.__setattr__;   s   € ¸r+   r   N©ÚreturnÚNone)r'   r   r(   r   r9   ÚAsyncIODBAPICursor©r1   Ústrr9   r   )r1   r=   r5   r   r9   r:   )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r#   r)   r-   r2   r6   Ú__static_attributes__r   r+   r"   r   r   )   s   † ñô (äJä)ä/ç<r+   r   c                  ó  • \ rS rSr% SrSS jr\  SS j5       r\SS j5       rS\	S'   S\	S'   SS	 jr
 S     SS jjr      SS jrSS jrSSS jjrS S jrS!S jrS"S jr S     S#S jjrS$S jrS%S jrSrg
)&r;   é>   zRprotocol representing an async adapted version
of a :pep:`249` database cursor.


c                ó   • g r   r   r    s    r"   Ú
__aenter__ÚAsyncIODBAPICursor.__aenter__E   s   €  r+   c                ó   • g)z(The description attribute of the Cursor.Nr   r    s    r"   ÚdescriptionÚAsyncIODBAPICursor.descriptionG   s   € ð
 	r+   Úintc                ó   • g r   r   r    s    r"   ÚrowcountÚAsyncIODBAPICursor.rowcountN   s   € Ø"r+   Ú	arraysizeÚ	lastrowidc              ƒ  ó   #   • g 7fr   r   r    s    r"   ÚcloseÚAsyncIODBAPICursor.closeU   s   é €  3ùr%   Nc              ƒ  ó   #   • g 7fr   r   ©r!   Ú	operationÚ
parameterss      r"   ÚexecuteÚAsyncIODBAPICursor.executeW   ó
   é € ð ùr%   c              ƒ  ó   #   • g 7fr   r   rV   s      r"   ÚexecutemanyÚAsyncIODBAPICursor.executemany]   r[   r%   c              ƒ  ó   #   • g 7fr   r   r    s    r"   ÚfetchoneÚAsyncIODBAPICursor.fetchonec   ó   é € ¨sùr%   c              ƒ  ó   #   • g 7fr   r   ©r!   Úsizes     r"   Ú	fetchmanyÚAsyncIODBAPICursor.fetchmanye   s   é € È3ùr%   c              ƒ  ó   #   • g 7fr   r   r    s    r"   ÚfetchallÚAsyncIODBAPICursor.fetchallg   rb   r%   c              ƒ  ó   #   • g 7fr   r   )r!   Úsizess     r"   ÚsetinputsizesÚ AsyncIODBAPICursor.setinputsizesi   s   é € Àùr%   c                ó   • g r   r   )r!   re   Úcolumns      r"   ÚsetoutputsizeÚ AsyncIODBAPICursor.setoutputsizek   s   € ¸Sr+   c              ƒ  ó   #   • g 7fr   r   )r!   ÚprocnamerX   s      r"   ÚcallprocÚAsyncIODBAPICursor.callprocm   s   é € àùr%   c              ƒ  ó   #   • g 7fr   r   r    s    r"   ÚnextsetÚAsyncIODBAPICursor.nextsetq   rb   r%   c                ó   • g r   r   r    s    r"   Ú	__aiter__ÚAsyncIODBAPICursor.__aiter__s   s   € ¨sr+   r   )r9   r   )r9   r   ©r9   rL   r8   r   ©rW   r   rX   z#Optional[_DBAPISingleExecuteParams]r9   r   )rW   r   rX   r   r9   r   ©r9   zOptional[Any]).©re   úOptional[int]r9   úSequence[Any]©r9   r‚   )rl   r‚   r9   r:   )re   r   rp   r   r9   r:   )rt   r=   rX   r‚   r9   r   )r9   zOptional[bool])r9   zAsyncIterator[Any])r>   r?   r@   rA   rB   rG   ÚpropertyrJ   rN   Ú__annotations__rS   rY   r]   r`   rf   ri   rm   rq   ru   rx   r{   rC   r   r+   r"   r;   r;   >   sÅ   ‡ ñô %àðà	 óó ðð Û"ó Ø"àƒNàƒNä&ð
 ;?ðàðð 8ðð 
õ	ðàðð -ðð 
ô	ô 3æNä2äDä@ð :=ðØðØ)6ðà	õô 3ç2r+   r;   c                  ó’   • \ rS rSr\(       a8  \R                  r\R                  r\R                  r\R                  r	SS jr
SrgSrg)ÚAsyncAdapt_dbapi_moduleév   c                ó   • g r   r   r0   s     r"   r2   Ú#AsyncAdapt_dbapi_module.__getattr__}   s   € °r+   r   Nr<   )r>   r?   r@   rA   r   r   ÚErrorÚOperationalErrorÚInterfaceErrorÚIntegrityErrorr2   rC   r   r+   r"   r‡   r‡   v   s:   † ÞØ×!Ñ!ˆØ&×7Ñ7ÐØ$×3Ñ3ˆØ$×3Ñ3ˆç3ò r+   r‡   c                  ó¶  • \ rS rSr% SrSrSrS\S'   S\S'   S	\S
'   S\S'   S\S'   S'S jrS(S jr	    S)S jr
\S*S j5       r\S+S j5       r\S+S j5       r\R                  S,S j5       r\S+S j5       rS-S jrS-S jr S.     S/S jjr      S0S jr      S/S jr      S0S jrS-S jrS1S jrS2S  jrS3S! jrS4S" jrS5S# jrS.S6S$ jjrS7S% jrS&rg)8ÚAsyncAdapt_dbapi_cursoré€   F)Ú_adapt_connectionÚ_connectionÚawait_Ú_cursorÚ_rowsÚ_soft_closed_memoizedTÚboolÚ_awaitable_cursor_closer;   r•   ÚAsyncAdapt_dbapi_connectionr’   r   r“   z
Deque[Any]r–   c                ó$  • Xl         UR                  U l        UR                  U l        U R                  U R                  5      nU R	                  U5      U l        [        U l        U R                  (       d  [        R                  " 5       U l        g g r   )r’   r“   r”   Ú_make_new_cursorÚ_aenter_cursorr•   r   r—   Úserver_sideÚcollectionsÚdequer–   )r!   Úadapt_connectionr)   s      r"   Ú__init__Ú AsyncAdapt_dbapi_cursor.__init__’   sq   € Ø!1ÔØ+×7Ñ7ˆÔà&×-Ñ-ˆŒà×&Ñ& t×'7Ñ'7Ó8ˆØ×*Ñ*¨6Ó2ˆŒÜ%/ˆÔ"Ø××Ü$×*Ò*Ó,ˆD�Jð  r+   c                ó@   • U R                  UR                  5       5      $ r   )r”   rG   )r!   r)   s     r"   r�   Ú&AsyncAdapt_dbapi_cursor._aenter_cursorž   s   € Ø�{‰{˜6×,Ñ,Ó.Ó/Ð/r+   c                ó"   • UR                  5       $ r   )r)   )r!   Ú
connections     r"   rœ   Ú(AsyncAdapt_dbapi_cursor._make_new_cursor¡   s   € ð × Ñ Ó"Ð"r+   c                ól   • SU R                   ;   a  U R                   S   $ U R                  R                  $ )NrJ   )r—   r•   rJ   r    s    r"   rJ   Ú#AsyncAdapt_dbapi_cursor.description¦   s1   € à˜D×6Ñ6Ó6Ø×-Ñ-¨mÑ<Ð<Ø�|‰|×'Ñ'Ð'r+   c                ó.   • U R                   R                  $ r   )r•   rN   r    s    r"   rN   Ú AsyncAdapt_dbapi_cursor.rowcount¬   s   € à�|‰|×$Ñ$Ð$r+   c                ó.   • U R                   R                  $ r   ©r•   rP   r    s    r"   rP   Ú!AsyncAdapt_dbapi_cursor.arraysize°   ó   € à�|‰|×%Ñ%Ð%r+   c                ó$   • XR                   l        g r   r®   )r!   r5   s     r"   rP   r¯   ´   s   € à!&�‰Õr+   c                ó.   • U R                   R                  $ r   )r•   rQ   r    s    r"   rQ   Ú!AsyncAdapt_dbapi_cursor.lastrowid¸   r°   r+   c              ƒ  ó  #   • U R                   (       a  U R                  (       a  gU R                  R                  SU R                  R
                  05      U l        U R                  R                  5       I Sh  v•N   g N7f)zgclose the cursor but keep the results pending, and memoize the
description.

.. versionadded:: 2.0.44

NrJ   )r™   rž   r—   Úunionr•   rJ   rS   r    s    r"   Ú_async_soft_closeÚ)AsyncAdapt_dbapi_cursor._async_soft_close¼   s`   é € ð ×+×+¨t×/?×/?Øà%)×%?Ñ%?×%EÑ%Eà˜tŸ|™|×7Ñ7ðó&
ˆÔ"ð
 �l‰l× Ñ Ó"×"Ó"ùs   ‚A7BÁ9A?Á:Bc                óR  • U R                   R                  5         U R                  b  [        U R                  5      (       a  g U R
                  (       d  U R                  R                  5         g [        5       (       a*  U R                  U R                  R                  5       5        g g r   )	r–   Úclearr•   r˜   r—   r™   rS   r   r”   r    s    r"   rS   ÚAsyncAdapt_dbapi_cursor.closeÎ   so   € Ø�
‰
×ÑÔð �<‰<Ñ¤4¨×(BÑ(B×#CÑ#CØà×+×+Ø�L‰L×ÑÕ Ü�]‰]Ø�K‰K˜Ÿ™×*Ñ*Ó,Õ-ð r+   Nc                ó¨   •  U R                  U R                  X5      5      $ ! [         a%  nU R                  R	                  U5         S nAg S nAff = fr   )r”   Ú_execute_asyncÚ	Exceptionr’   Ú_handle_exception)r!   rW   rX   Úerrors       r"   rY   ÚAsyncAdapt_dbapi_cursor.executeÞ   sH   € ð
	<Ø—;‘;˜t×2Ñ2°9ÓIÓJÐJøÜó 	<Ø×"Ñ"×4Ñ4°U×;Ñ;ûð	<úó   ‚" ¢
A¬AÁAc                ó¨   •  U R                  U R                  X5      5      $ ! [         a%  nU R                  R	                  U5         S nAg S nAff = fr   )r”   Ú_executemany_asyncr½   r’   r¾   )r!   rW   Úseq_of_parametersr¿   s       r"   r]   Ú#AsyncAdapt_dbapi_cursor.executemanyè   sO   € ð
	<Ø—;‘;Ø×'Ñ'¨	ÓEóð øô ó 	<Ø×"Ñ"×4Ñ4°U×;Ñ;ûð	<úrÁ   c              ƒ  ó  #   • U R                   R                   IS h  v•N   Uc$  U R                  R                  U5      I S h  v•N nO#U R                  R                  X5      I S h  v•N nU R                  R                  (       aL  U R
                  (       d;  [        R                  " U R                  R                  5       I S h  v•N 5      U l	        UsS S S 5      IS h  v•N   $  NÈ N¤ N‚ N& N! , IS h  v•N  (       d  f       g = f7fr   )
r’   Ú_execute_mutexr•   rY   rJ   rž   rŸ   r    ri   r–   )r!   rW   rX   Úresults       r"   r¼   Ú&AsyncAdapt_dbapi_cursor._execute_asyncô   s¬   é € ð ×)Ñ)×8×8Ó8ØÑ!Ø#Ÿ|™|×3Ñ3°IÓ>×>‘à#Ÿ|™|×3Ñ3°IÓJ×J�à�|‰|×'×'°×0@×0@Ü(×.Ò.°T·\±\×5JÑ5JÓ5L×/LÓM�”
Ø÷ 9×8Ó8á>áJñ 0M÷ 9×8×8Ð8üs{   ‚D
�C&žD
¡"C0ÁC(Á#C0Á'C*Á(AC0ÃC,
ÃC0ÃD
Ã C.Ã!D
Ã(C0Ã*C0Ã,C0Ã.D
Ã0DÃ6C9Ã7DÄD
c              ƒ  óð   #   • U R                   R                   IS h  v•N   U R                  R                  X5      I S h  v•N sS S S 5      IS h  v•N   $  N8 N N	! , IS h  v•N  (       d  f       g = f7fr   )r’   rÇ   r•   r]   )r!   rW   rÄ   s      r"   rÃ   Ú*AsyncAdapt_dbapi_cursor._executemany_async  sJ   é € ð
 ×)Ñ)×8×8Ó8ØŸ™×1Ñ1°)ÓO×O÷ 9×8Ó8ÙO÷ 9×8×8Ð8üsV   ‚A6�AžA6¡AÁ AÁAÁA6ÁAÁA6ÁAÁA6ÁA3Á"A%Á#A3Á/A6c                ó6  • U R                  U R                  R                  5       5        U R                  R                  (       aU  U R                  (       dC  [
        R                  " U R                  U R                  R                  5       5      5      U l        g g g r   )	r”   r•   rx   rJ   rž   rŸ   r    ri   r–   r    s    r"   rx   ÚAsyncAdapt_dbapi_cursor.nextset	  sc   € Ø�‰�D—L‘L×(Ñ(Ó*Ô+Ø�<‰<×#×#¨D×,<×,<Ü$×*Ò*Ø—‘˜DŸL™L×1Ñ1Ó3Ó4óˆD�Jð -=Ð#r+   c                óR   • U R                  U R                  R                  " U6 5      $ r   )r”   r•   rm   )r!   Ú
inputsizess     r"   rm   Ú%AsyncAdapt_dbapi_cursor.setinputsizes  s"   € ð
 �{‰{˜4Ÿ<™<×5Ò5°zÐBÓCÐCr+   c                ó   • U $ r   r   r    s    r"   Ú	__enter__Ú!AsyncAdapt_dbapi_cursor.__enter__  s   € Øˆr+   c                ó$   • U R                  5         g r   )rS   )r!   Útype_r5   Ú	tracebacks       r"   Ú__exit__Ú AsyncAdapt_dbapi_cursor.__exit__  s   € Ø�
‰
�r+   c              #  óŽ   #   • U R                   (       a0  U R                   R                  5       v •  U R                   (       a  M/  g g 7fr   ©r–   Úpopleftr    s    r"   Ú__iter__Ú AsyncAdapt_dbapi_cursor.__iter__  s*   é € Ø�j�jØ—*‘*×$Ñ$Ó&Ò&ð �j�j‹jùs   ‚?AÁAc                óZ   • U R                   (       a  U R                   R                  5       $ g r   rÚ   r    s    r"   r`   Ú AsyncAdapt_dbapi_cursor.fetchone!  s   € Ø�:�:Ø—:‘:×%Ñ%Ó'Ð'àr+   c                óº   • Uc  U R                   nU R                  n[        [        U[	        U5      5      5       Vs/ s H  o2R                  5       PM     sn$ s  snf r   )rP   r–   ÚrangeÚminÚlenrÛ   )r!   re   ÚrrÚ_s       r"   rf   Ú!AsyncAdapt_dbapi_cursor.fetchmany'  sG   € Ø‰<Ø—>‘>ˆDØ�Z‰ZˆÜ&+¬C°´c¸"³gÓ,>Ô&?Ó@Ò&? —
‘
–Ñ&?Ñ@Ð@ùÒ@s   ¼Ac                ód   • [        U R                  5      nU R                  R                  5         U$ r   )Úlistr–   r¹   )r!   Úretvals     r"   ri   Ú AsyncAdapt_dbapi_cursor.fetchall-  s%   € Ü�d—j‘jÓ!ˆØ�
‰
×ÑÔØˆr+   )r’   r“   r•   r–   r—   r”   )r¡   rš   )r)   r;   r9   r;   )r§   r   r9   r;   )r9   z!Optional[_DBAPICursorDescription]r}   )r5   rL   r9   r:   r8   r   r~   )rW   r   rÄ   r   r9   r   )rÏ   r   r9   r:   )r9   r   )rÕ   r   r5   r   rÖ   r   r9   r:   ©r9   zIterator[Any]r   r€   rƒ   ) r>   r?   r@   rA   rž   Ú	__slots__r™   r…   r¢   r�   rœ   r„   rJ   rN   rP   ÚsetterrQ   r¶   rS   rY   r]   r¼   rÃ   rx   rm   rÒ   r×   rÜ   r`   rf   ri   rC   r   r+   r"   r�   r�   €   sy  ‡ Ø€Kð€Ið %)Ð˜TÓ(àÓØ2Ó2Ø'Ó'ØÓô
-ô0ð#Ø0ð#à	ô#ð
 ó(ó ð(ð
 ó%ó ð%ð ó&ó ð&ð ×Ñó'ó ð'ð ó&ó ð&ô#ô$.ð& ;?ð<àð<ð 8ð<ð 
õ	<ð
<àð
<ð 4ð
<ð 
ô	
<ðØðØ*Mðà	ôðPàðPð 4ðPð 
ô	PôôDôôô'ôöA÷r+   r�   c                  óR   • \ rS rSrSrSrSS jrSS jrSSS jjrSS jr	SS	 jr
S
rg)ÚAsyncAdapt_dbapi_ss_cursori3  r   Tc                ó€   • U R                   b1  U R                  U R                   R                  5       5        S U l         g g r   )r•   r”   rS   r    s    r"   rS   Ú AsyncAdapt_dbapi_ss_cursor.close7  s1   € Ø�<‰<Ñ#Ø�K‰K˜Ÿ™×*Ñ*Ó,Ô-ØˆD�Lð $r+   c                óT   • U R                  U R                  R                  5       5      $ r   )r”   r•   r`   r    s    r"   r`   Ú#AsyncAdapt_dbapi_ss_cursor.fetchone<  ó   € Ø�{‰{˜4Ÿ<™<×0Ñ0Ó2Ó3Ð3r+   Nc                óR   • U R                  U R                  R                  US95      $ )N)re   )r”   r•   rf   rd   s     r"   rf   Ú$AsyncAdapt_dbapi_ss_cursor.fetchmany?  s#   € Ø�{‰{˜4Ÿ<™<×1Ñ1°tÐ1Ð<Ó=Ð=r+   c                óT   • U R                  U R                  R                  5       5      $ r   )r”   r•   ri   r    s    r"   ri   Ú#AsyncAdapt_dbapi_ss_cursor.fetchallB  rô   r+   c              #  ó¨   #   • U R                   R                  5       n  U R                  UR                  5       5      v •  M$  ! [         a     g f = f7fr   )r•   r{   r”   Ú	__anext__ÚStopAsyncIteration)r!   Úiterators     r"   rÜ   Ú#AsyncAdapt_dbapi_ss_cursor.__iter__E  sO   é € Ø—<‘<×)Ñ)Ó+ˆØðØ—k‘k (×"4Ñ"4Ó"6Ó7Ò7ñ øô &ó Ùðüs(   ‚AŸ!A Á AÁ
AÁAÁAÁA)r•   r8   r   r   )re   r�   r9   r   rƒ   rë   )r>   r?   r@   rA   rì   rž   rS   r`   rf   ri   rÜ   rC   r   r+   r"   rï   rï   3  s%   † Ø€IØ€Kô ô
4ö>ô4÷r+   rï   c                  ó–   • \ rS rSr% \r\r\" \	5      r
SrS\S'   SS jrSSS jjr S     SS jjrSS	 jrSS
 jrSS jrSS jrSrg)rš   iN  )ÚdbapirÇ   r   r“   c                óP   • Xl         X l        [        R                  " 5       U l        g r   )rÿ   r“   ÚasyncioÚLockrÇ   )r!   rÿ   r§   s      r"   r¢   Ú$AsyncAdapt_dbapi_connection.__init__X  s   € ØŒ
Ø%ÔÜ%Ÿlšl›nˆÕr+   c                óT   • U(       a  U R                  U 5      $ U R                  U 5      $ r   )Ú_ss_cursor_clsÚ_cursor_cls)r!   rž   s     r"   r)   Ú"AsyncAdapt_dbapi_connection.cursor]  s'   € ÞØ×&Ñ& tÓ,Ð,à×#Ñ# DÓ)Ð)r+   Nc                óH   • U R                  5       nUR                  X5        U$ )z2lots of DBAPIs seem to provide this, so include it)r)   rY   )r!   rW   rX   r)   s       r"   rY   Ú#AsyncAdapt_dbapi_connection.executec  s    € ð —‘“ˆØ�‰�yÔ-Øˆr+   c                óT   • [         R                  " 5       nUR                  US   5      e)Nr   )ÚsysÚexc_infoÚwith_traceback)r!   r¿   r  s      r"   r¾   Ú-AsyncAdapt_dbapi_connection._handle_exceptionm  s"   € Ü—<’<“>ˆà×"Ñ" 8¨A¡;Ó/Ð/r+   c                ó¨   •  U R                  U R                  R                  5       5        g ! [         a  nU R	                  U5         S nAg S nAff = fr   )r”   r“   r-   r½   r¾   ©r!   r¿   s     r"   r-   Ú$AsyncAdapt_dbapi_connection.rollbackr  sC   € ð	*Ø�K‰K˜×(Ñ(×1Ñ1Ó3Õ4øÜó 	*Ø×"Ñ" 5×)Ñ)ûð	*úó   ‚), ¬
A¶AÁAc                ó¨   •  U R                  U R                  R                  5       5        g ! [         a  nU R	                  U5         S nAg S nAff = fr   )r”   r“   r#   r½   r¾   r  s     r"   r#   Ú"AsyncAdapt_dbapi_connection.commitx  sC   € ð	*Ø�K‰K˜×(Ñ(×/Ñ/Ó1Õ2øÜó 	*Ø×"Ñ" 5×)Ñ)ûð	*úr  c                óV   • U R                  U R                  R                  5       5        g r   )r”   r“   rS   r    s    r"   rS   Ú!AsyncAdapt_dbapi_connection.close~  s   € Ø�‰�D×$Ñ$×*Ñ*Ó,Õ-r+   )r“   rÇ   rÿ   )rÿ   r   r§   r   )F)rž   r˜   r9   r�   r   r~   )r¿   r½   r9   r   r8   )r>   r?   r@   rA   r�   r  rï   r  Ústaticmethodr   r”   rì   r…   r¢   r)   rY   r¾   r-   r#   rS   rC   r   r+   r"   rš   rš   N  se   ‡ Ø)€KØ/€Ná˜*Ó%€Fà+€Ià'Ó'ô-ö
*ð ;?ðàðð 8ðð 
õ	ô0ô
*ô*÷.r+   rš   c                  ó(   • \ rS rSrSr\" \5      rSrg)Ú#AsyncAdaptFallback_dbapi_connectioni‚  r   N)	r>   r?   r@   rA   rì   r  r   r”   rC   r   r+   r"   r  r  ‚  s   † Ø€Iá˜.Ó)ƒFr+   r  c                  óD   • \ rS rSrSrSrS	S jrS
S jrS	S jrS	S jr	Sr
g)ÚAsyncAdapt_terminateiˆ  zAMixin for a AsyncAdapt_dbapi_connection to add terminate support.r   c                óN  • [        5       (       a5   U R                  [        R                  " U R	                  5       5      5        g U R                  5         g ! U R                  5        a:  nU R                  5         [        U[        R                  5      (       a  e  S nAg S nAff = fr   )	r   r”   r  ÚshieldÚ_terminate_graceful_closeÚ_terminate_handled_exceptionsÚ_terminate_force_closeÚ
isinstanceÚCancelledError)r!   Úes     r"   Ú	terminateÚAsyncAdapt_terminate.terminate�  s~   € Ü�=‰=ðà—‘œGŸNšN¨4×+IÑ+IÓ+KÓLÕMð ×'Ñ'Õ)øð ×5Ñ5Ó7ó 	ð ×+Ñ+Ô-Ü˜a¤×!7Ñ!7×8Ñ8àô 9ûð	ús   ‘3A ÁB$Á*0BÂB$c                óL   • [         R                  [         R                  [        4$ )zLReturns the exceptions that should be handled when
calling _graceful_close.
)r  ÚTimeoutErrorr"  ÚOSErrorr    s    r"   r  Ú2AsyncAdapt_terminate._terminate_handled_exceptions¡  s   € ô ×$Ñ$¤g×&<Ñ&<¼gÐFÐFr+   c              ƒ  ó   #   • [         e7f)z"Try to close connection gracefully©ÚNotImplementedErrorr    s    r"   r  Ú.AsyncAdapt_terminate._terminate_graceful_close§  s   é € ä!Ð!ùs   ‚	c                ó   • [         e)zTerminate the connectionr+  r    s    r"   r   Ú+AsyncAdapt_terminate._terminate_force_close«  s   € ä!Ð!r+   Nr8   )r9   zTuple[Type[BaseException], ...])r>   r?   r@   rA   rB   rì   r$  r  r  r   rC   r   r+   r"   r  r  ˆ  s   † ÙKà€Iô*ô(Gô"÷"r+   r  ))rB   Ú
__future__r   r  rŸ   r  Útypingr   r   r   r   r   r	   r
   r   r   r   Úenginer   Úutilr   Úutil.concurrencyr   r   r   Úutil.typingr   Úengine.interfacesr   r   r   r   r   r   r;   r‡   r�   rï   rš   r  r  r   r+   r"   Ú<module>r7     s»   ðñ Få "ã Û Û 
Ý Ý  Ý Ý Ý Ý Ý Ý Ý Ý  å &Ý Ý -Ý )Ý *Ý "æÝ;Ý<Ý=Ý/Ý"ô=˜Xô =ô*53˜ô 53÷p4ñ 4÷pñ pôfÐ!8ô ô61.Ð"3ô 1.ôh*Ð*Eô *÷%"ò %"r+   