§
    àðijY  ã                  óN  — d Z ddlmZ ddlZddlZddlZddl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 er
ddlmZmZmZ  ed	¦  «        Z G d
„ de¦  «        Z e
d¬¦  «         G d„ dee         ¦  «        ¦   «         Z G d„ d¦  «        Zd"d„Zd#d„Zd"d„Zd$d„Zd%d „Z g d!¢Z!dS )&zKSeparate caller cancellation from backend task and executor-future results.é    )ÚannotationsN)ÚFuture)Ú	dataclass)ÚLock)ÚTYPE_CHECKINGÚFinalÚGenericÚTypeVarÚcast)ÚAsyncIteratorÚ	AwaitableÚCallableÚ_Tc                  ó   — e Zd ZdS )Ú _AsyncTransitionUnavailableErrorN)Ú__name__Ú
__module__Ú__qualname__© ó    úf/home/spazio/transcriptions/margarita_drive_19vsq/venv/lib/python3.11/site-packages/filelock/_async.pyr   r      s   € € € € € Ø€Dr   r   T)Úfrozenc                  ó,   — e Zd ZU dZded<   dZded<   dS )Ú_BackendOutcomeNz	_T | NoneÚvaluezBaseException | NoneÚerror)r   r   r   r   Ú__annotations__r   r   r   r   r   r      s4   € € € € € € à€EÐÐÐÑØ"&€EÐ&Ð&Ð&Ñ&Ð&Ð&r   r   c                  óz   — e Zd Zdd„Zej        dd„¦   «         Zej        dd„¦   «         Zedd„¦   «         Z	dd„Z
dS )Ú_AsyncTransitionGateÚreturnÚNonec                ó:   — t          ¦   «         | _        d | _        d S ©N)r   Ú
_tail_lockÚ_tail)Úselfs    r   Ú__init__z_AsyncTransitionGate.__init__   s   € Ý'+¡v¤vˆŒØ48ˆŒ
ˆ
ˆ
r   úAsyncIterator[None]c               óž  ‡ ‡K  — t          ¦   «         Š‰ j        5  ‰ j        }‰‰ _        d d d ¦  «         n# 1 swxY w Y   |�V	 t          t	          j        |¦  «        ¦  «        ƒ d {V —† n-# t          j        $ r |                     ˆ ˆfd„¦  «         ‚ w xY w	 d W V — ‰                      ‰¦  «         d S # ‰                      ‰¦  «         w xY w)Nc                ó.   •— ‰                      ‰¦  «        S r#   ©Ú_leave©Ú_predecessorr&   Útickets    €€r   ú<lambda>z+_AsyncTransitionGate.hold.<locals>.<lambda>,   ó   ø€ À4Ç;Â;ÈvÑCVÔCV€ r   )	ÚConcurrentFuturer$   r%   Ú_wait_until_doneÚasyncioÚwrap_futureÚCancelledErrorÚadd_done_callbackr,   )r&   Úpredecessorr/   s   ` @r   Úholdz_AsyncTransitionGate.hold"   s;  øøè è € å)9Ñ);Ô);ˆØŒ_ð 	 ð 	 Øœ*ˆKØˆDŒJð	 ð 	 ð 	 ñ 	 ô 	 ð 	 ð 	 ð 	 ð 	 ð 	 ð 	 øøøð 	 ð 	 ð 	 ð 	 ð Ð"ðÝ&¥wÔ':¸;Ñ'GÔ'GÑHÔHÐHÐHÐHÐHÐHÐHÐHÐHøÝÔ)ð ð ð Ø×-Ò-Ð.VÐ.VÐ.VÐ.VÐ.VÑWÔWÐWØðøøøð	 ØˆEˆEˆEˆEà�KŠK˜ÑÔÐÐÐøˆD�KŠK˜ÑÔÐÐøøøs$   š5µ9¼9Á'A+ Á+*BÂB5 Â5CÚblockingÚboolÚcancel_checkúCallable[[], bool] | NoneÚdeadlineúfloat | NoneÚpoll_intervalÚfloatc              ó®  ‡ ‡K  — t          ¦   «         Š‰ j        5  ‰ j        }‰‰ _        d d d ¦  «         n# 1 swxY w Y   |�^|                     ¦   «         sJ	 ‰                      |||||¬¦  «        ƒ d {V —† n(# t
          $ r |                     ˆ ˆfd„¦  «         ‚ w xY w	 d W V — ‰                      ‰¦  «         d S # ‰                      ‰¦  «         w xY w)N)r:   r<   r>   r@   c                ó.   •— ‰                      ‰¦  «        S r#   r+   r-   s    €€r   r0   z7_AsyncTransitionGate.hold_for_acquire.<locals>.<lambda>J   r1   r   )r2   r$   r%   ÚdoneÚ_wait_for_predecessorÚBaseExceptionr7   r,   )r&   r:   r<   r>   r@   r8   r/   s   `     @r   Úhold_for_acquirez%_AsyncTransitionGate.hold_for_acquire3   sn  øøè è € õ *:Ñ);Ô);ˆØŒ_ð 	 ð 	 Øœ*ˆKØˆDŒJð	 ð 	 ð 	 ñ 	 ô 	 ð 	 ð 	 ð 	 ð 	 ð 	 ð 	 øøøð 	 ð 	 ð 	 ð 	 ð Ð"¨;×+;Ò+;Ñ+=Ô+=Ð"ð
Ø×0Ò0ØØ%Ø!-Ø%Ø"/ð 1ñ ô ð ð ð ð ð ð ð ð øõ !ð ð ð Ø×-Ò-Ð.VÐ.VÐ.VÐ.VÐ.VÑWÔWÐWØðøøøð	 ØˆEˆEˆEˆEà�KŠK˜ÑÔÐÐÐøˆD�KŠK˜ÑÔÐÐøøøs$   š5µ9¼9Á A8 Á8%BÂ!B= Â=Cr8   úConcurrentFuture[None]c             ƒ  óx  K  — |st           ‚t          j        | ¦  «        }|                      ¦   «         s†|� |¦   «         rt           ‚|�8|t	          j        ¦   «         z
  x}dk    rt           ‚|�t          ||¦  «        n|}n|�|nd }t          j        |f|¬¦  «        ƒ d {V —† |                      ¦   «         ¯„d S d S )Nr   )Útimeout)r   r4   r5   rD   ÚtimeÚperf_counterÚminÚwait)r8   r:   r<   r>   r@   ÚwaiterÚ	remainingÚwait_intervals           r   rE   z*_AsyncTransitionGate._wait_for_predecessorQ   sþ   è è € ð ð 	3Ý2Ð2ÝÔ$ [Ñ1Ô1ˆØ×"Ò"Ñ$Ô$ð 		AØÐ'¨L¨L©N¬NÐ'Ý6Ð6ØÐ#Ø!)­DÔ,=Ñ,?Ô,?Ñ!?Ð?�IÀAÒEÐEÝ:Ð:ØAMÐAY¥ M°9Ñ =Ô =Ð =Ð_h��à1=Ð1I  Èt�Ý”, ˜y°-Ð@Ñ@Ô@Ð@Ð@Ð@Ð@Ð@Ð@Ð@ð ×"Ò"Ñ$Ô$ð 		Að 		Að 		Að 		Að 		Ar   r/   c                óŽ   — | j         5  | j        |u rd | _        d d d ¦  «         n# 1 swxY w Y   |                     d ¦  «         d S r#   )r$   r%   Ú
set_result)r&   r/   s     r   r,   z_AsyncTransitionGate._leaveh   s�   € ØŒ_ð 	"ð 	"ØŒz˜VÐ#Ð#Ø!�”
ð	"ð 	"ð 	"ñ 	"ô 	"ð 	"ð 	"ð 	"ð 	"ð 	"ð 	"øøøð 	"ð 	"ð 	"ð 	"ð 	×Ò˜$ÑÔÐÐÐs   ˆ%¥)¬)N)r    r!   )r    r(   )
r:   r;   r<   r=   r>   r?   r@   rA   r    r(   )r8   rH   r:   r;   r<   r=   r>   r?   r@   rA   r    r!   )r/   rH   r    r!   )r   r   r   r'   Ú
contextlibÚasynccontextmanagerr9   rG   ÚstaticmethodrE   r,   r   r   r   r   r      s¨   € € € € € ð9ð 9ð 9ð 9ð Ô#ð ð  ð  ñ $Ô#ð ð  Ô#ð ð  ð  ñ $Ô#ð ð: ðAð Að Añ „\ðAð, ð  ð  ð  ð  ð  r   r   Úfutureú#asyncio.Future[_BackendOutcome[_T]]r    c              ƒ  ó
  K  — |                       ¦   «         s_t          j        t          j        ¦  «        5  t          | ¦  «        ƒ d {V —† d d d ¦  «         n# 1 swxY w Y   |                       ¦   «         ¯_t          | ¦  «        S r#   )rD   rT   Úsuppressr4   r6   r3   Ú_future_result©rW   s    r   Ú_drain_futurer]   o   sÁ   è è € Ø�kŠk‰mŒmð +ÝÔ ¥Ô!7Ñ8Ô8ð 	+ð 	+Ý" 6Ñ*Ô*Ð*Ð*Ð*Ð*Ð*Ð*Ð*ð	+ð 	+ð 	+ñ 	+ô 	+ð 	+ð 	+ð 	+ð 	+ð 	+ð 	+øøøð 	+ð 	+ð 	+ð 	+ð �kŠk‰mŒmð +õ ˜&Ñ!Ô!Ð!s   µAÁAÁAúasyncio.Future[_T]r!   c              ƒ  ól   K  — |                       ¦   «         st          j        | f¦  «        ƒ d {V —† d S d S r#   )rD   r4   rN   r\   s    r   r3   r3   v   sJ   è è € Ø�;Š;‰=Œ=ð &ÝŒl˜F˜9Ñ%Ô%Ð%Ð%Ð%Ð%Ð%Ð%Ð%Ð%Ð%ð&ð &r   c                ó¦   — |                       ¦   «         }|j        x}€t          d|j        ¦  «        S |j        }	 |‚# t
          $ r	 ||_        ‚ w xY w)Nr   )Úresultr   r   r   Ú__context__rF   )rW   Úoutcomer   Úcontexts       r   r[   r[   {   sf   € Ø�mŠm‰oŒo€GØ”ÐˆÐ'Ý�D˜'œ-Ñ(Ô(Ð(ØÔ€GðØˆøÝð ð ð Ø#ˆÔØðøøøs	   »= ½AÚfuncúCallable[[], _T]ú_BackendOutcome[_T]c                ó‚   — 	 t           | ¦   «         ¬¦  «        S # t          $ r}t          |¬¦  «        cY d }~S d }~ww xY w©N)r   )r   ©r   rF   )re   r   s     r   Ú_capture_callrk   ‡   s]   € ð,Ý T T¡V¤VÐ,Ñ,Ô,Ð,øÝð ,ð ,ð ,Ý UÐ+Ñ+Ô+Ð+Ð+Ð+Ð+Ð+Ð+øøøøð,øøøs   ‚ š
>¤9³>¹>Ú	awaitableúAwaitable[_T]c              ƒ  ó‚   K  — 	 t          | ƒ d {V —†¬¦  «        S # t          $ r}t          |¬¦  «        cY d }~S d }~ww xY wri   rj   )rl   r   s     r   Ú_capture_awaitablero   Ž   sg   è è € ð,Ý¨9 _ _ _ _ _ _Ð5Ñ5Ô5Ð5øÝð ,ð ,ð ,Ý UÐ+Ñ+Ô+Ð+Ð+Ð+Ð+Ð+Ð+øøøøð,øøøs   „ š
>¤9³>¹>)r   r   r   ro   rk   r]   r[   r3   )rW   rX   r    r   )rW   r^   r    r!   )re   rf   r    rg   )rl   rm   r    rg   )"Ú__doc__Ú
__future__r   r4   rT   rK   Úconcurrent.futuresr   r2   Údataclassesr   Ú	threadingr   Útypingr   r   r	   r
   r   Úcollections.abcr   r   r   r   Ú	Exceptionr   r   r   r]   r3   r[   rk   ro   Ú__all__r   r   r   ú<module>ry      së  ðØ QÐ Qà "Ð "Ð "Ð "Ð "Ð "à €€€Ø Ð Ð Ð Ø €€€Ø 9Ð 9Ð 9Ð 9Ð 9Ð 9Ø !Ð !Ð !Ð !Ð !Ð !Ø Ð Ð Ð Ð Ð Ø ?Ð ?Ð ?Ð ?Ð ?Ð ?Ð ?Ð ?Ð ?Ð ?Ð ?Ð ?Ð ?Ð ?àð CØBÐBÐBÐBÐBÐBÐBÐBÐBÐBà€WˆT�]„]€ð	ð 	ð 	ð 	ð 	 yñ 	ô 	ð 	ð €�$ÐÑÔð'ð 'ð 'ð 'ð '�g˜b”kñ 'ô 'ñ Ôð'ð
O ð O ð O ð O ð O ñ O ô O ð O ðd"ð "ð "ð "ð&ð &ð &ð &ð
	ð 	ð 	ð 	ð,ð ,ð ,ð ,ð,ð ,ð ,ð ,ð	ð 	ð 	€€€r   