§
    ÏÁ³gÚ$  ã                  ó’  — d dl mZ d dlZd dlZddlmZmZmZ 	 d dlZn# e	e
f$ r dZY nw xY w	 d dlZn# e	$ r dZY nw xY wdd„Z G d„ d	¦  «        Z G d
„ d¦  «        Z G d„ d¦  «        Z G d„ d¦  «        Z G d„ d¦  «        Z G d„ d¦  «        Z G d„ d¦  «        Z G d„ d¦  «        Z G d„ d¦  «        Z G d„ d¦  «        ZdS )é    )ÚannotationsNé   )ÚExceptionMappingÚPoolTimeoutÚmap_exceptionsÚreturnÚstrc                 óô   — 	 dd l } |                      ¦   «         }n# t          $ r d}Y nw xY w|dvrt          d¦  «        ‚|dk    rt          €t          d¦  «        ‚|dk    rt
          €t          d¦  «        ‚|S )Nr   Úasyncio)r   Útrioz/Running under an unsupported async environment.zBRunning with asyncio requires installation of 'httpcore[asyncio]'.r   z<Running with trio requires installation of 'httpcore[trio]'.)ÚsniffioÚcurrent_async_libraryÚImportErrorÚRuntimeErrorÚanyior   )r   Úenvironments     úW/var/www/html/mpstechhub/venv/lib/python3.11/site-packages/httpcore/_synchronization.pyr   r      sº   € ð6Øˆˆˆð ×3Ò3Ñ5Ô5ˆˆøõ ð  ð  ð  Øˆˆˆð øøøð
 Ð-Ð-Ð-ÝÐLÑMÔMÐMà�iÒÐ¥E MÝØPñ
ô 
ð 	
ð �fÒÐ¥ ÝØJñ
ô 
ð 	
ð Ðs   ‚ ›*©*c                  ó:   — e Zd ZdZdd„Zdd„Zdd„Z	 	 	 ddd„ZdS )Ú	AsyncLockú’
    This is a standard lock.

    In the sync case `Lock` provides thread locking.
    In the async case `AsyncLock` provides async locking.
    r   ÚNonec                ó   — d| _         d S ©NÚ ©Ú_backend©Úselfs    r   Ú__init__zAsyncLock.__init__8   ó   € ØˆŒˆˆó    c                óÀ   — t          ¦   «         | _        | j        dk    rt          j        ¦   «         | _        dS | j        dk    rt          j        ¦   «         | _        dS dS ©z~
        Detect if we're running under 'asyncio' or 'trio' and create
        a lock with the correct implementation.
        r   r   N)r   r   r   ÚLockÚ
_trio_lockr   Ú_anyio_lockr   s    r   ÚsetupzAsyncLock.setup;   sX   € õ
 .Ñ/Ô/ˆŒØŒ=˜FÒ"Ð"Ý"œi™kœkˆDŒOˆOˆOØŒ]˜iÒ'Ð'Ý$œz™|œ|ˆDÔÐÐð (Ð'r!   c              ƒ  óê   K  — | j         s|                      ¦   «          | j         dk    r | j                             ¦   «         ƒ d {V —† n*| j         dk    r| j                             ¦   «         ƒ d {V —† | S ©Nr   r   )r   r'   r%   Úacquirer&   r   s    r   Ú
__aenter__zAsyncLock.__aenter__F   sŒ   è è € ØŒ}ð 	Ø�JŠJ‰LŒLˆLàŒ=˜FÒ"Ð"Ø”/×)Ò)Ñ+Ô+Ð+Ð+Ð+Ð+Ð+Ð+Ð+Ð+ØŒ]˜iÒ'Ð'ØÔ"×*Ò*Ñ,Ô,Ð,Ð,Ð,Ð,Ð,Ð,Ð,àˆr!   NÚexc_typeútype[BaseException] | NoneÚ	exc_valueúBaseException | NoneÚ	tracebackútypes.TracebackType | Nonec              ƒ  ó¢   K  — | j         dk    r| j                             ¦   «          d S | j         dk    r| j                             ¦   «          d S d S r)   )r   r%   Úreleaser&   ©r   r,   r.   r0   s       r   Ú	__aexit__zAsyncLock.__aexit__Q   s_   è è € ð Œ=˜FÒ"Ð"ØŒO×#Ò#Ñ%Ô%Ð%Ð%Ð%ØŒ]˜iÒ'Ð'ØÔ×$Ò$Ñ&Ô&Ð&Ð&Ð&ð (Ð'r!   ©r   r   )r   r   ©NNN©r,   r-   r.   r/   r0   r1   r   r   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r'   r+   r5   © r!   r   r   r   0   s~   € € € € € ðð ðð ð ð ð	,ð 	,ð 	,ð 	,ð	ð 	ð 	ð 	ð 04Ø*.Ø04ð		'ð 	'ð 	'ð 	'ð 	'ð 	'ð 	'r!   r   c                  ó*   — e Zd ZdZdd„Z	 	 	 ddd„ZdS )ÚAsyncThreadLockú¬
    This is a threading-only lock for no-I/O contexts.

    In the sync case `ThreadLock` provides thread locking.
    In the async case `AsyncThreadLock` is a no-op.
    r   c                ó   — | S ©Nr=   r   s    r   Ú	__enter__zAsyncThreadLock.__enter__e   ó   € Øˆr!   Nr,   r-   r.   r/   r0   r1   r   c                ó   — d S rB   r=   r4   s       r   Ú__exit__zAsyncThreadLock.__exit__h   ó	   € ð 	ˆr!   )r   r?   r7   r8   )r9   r:   r;   r<   rC   rF   r=   r!   r   r?   r?   ]   sV   € € € € € ðð ðð ð ð ð
 04Ø*.Ø04ð	ð ð ð ð ð ð r!   r?   c                  ó0   — e Zd Zd
d„Zd
d„Zd
d„Zddd	„ZdS )Ú
AsyncEventr   r   c                ó   — d| _         d S r   r   r   s    r   r   zAsyncEvent.__init__r   r    r!   c                óÀ   — t          ¦   «         | _        | j        dk    rt          j        ¦   «         | _        dS | j        dk    rt          j        ¦   «         | _        dS dS r#   )r   r   r   ÚEventÚ_trio_eventr   Ú_anyio_eventr   s    r   r'   zAsyncEvent.setupu   s[   € õ
 .Ñ/Ô/ˆŒØŒ=˜FÒ"Ð"Ý#œz™|œ|ˆDÔÐÐØŒ]˜iÒ'Ð'Ý %¤¡¤ˆDÔÐÐð (Ð'r!   c                óÔ   — | j         s|                      ¦   «          | j         dk    r| j                             ¦   «          d S | j         dk    r| j                             ¦   «          d S d S r)   )r   r'   rM   ÚsetrN   r   s    r   rP   zAsyncEvent.set€   sq   € ØŒ}ð 	Ø�JŠJ‰LŒLˆLàŒ=˜FÒ"Ð"ØÔ× Ò Ñ"Ô"Ð"Ð"Ð"ØŒ]˜iÒ'Ð'ØÔ×!Ò!Ñ#Ô#Ð#Ð#Ð#ð (Ð'r!   NÚtimeoutúfloat | Nonec              ƒ  ó¨  K  — | j         s|                      ¦   «          | j         dk    r›t          j        t          i}|€t          d¦  «        n|}t          |¦  «        5  t          j        |¦  «        5  | j         	                    ¦   «         ƒ d {V —† d d d ¦  «         n# 1 swxY w Y   d d d ¦  «         d S # 1 swxY w Y   d S | j         dk    rƒt          t          i}t          |¦  «        5  t          j        |¦  «        5  | j         	                    ¦   «         ƒ d {V —† d d d ¦  «         n# 1 swxY w Y   d d d ¦  «         d S # 1 swxY w Y   d S d S )Nr   Úinfr   )r   r'   r   ÚTooSlowErrorr   Úfloatr   Ú
fail_afterrM   ÚwaitÚTimeoutErrorr   rN   )r   rQ   Útrio_exc_mapÚtimeout_or_infÚanyio_exc_maps        r   rX   zAsyncEvent.wait‰   sh  è è € ØŒ}ð 	Ø�JŠJ‰LŒLˆLàŒ=˜FÒ"Ð"Ý.2Ô.?ÅÐ-MˆLØ-4¨_�U 5™\œ\˜\À'ˆNÝ Ñ-Ô-ð 2ð 2Ý”_ ^Ñ4Ô4ð 2ð 2ØÔ*×/Ò/Ñ1Ô1Ð1Ð1Ð1Ð1Ð1Ð1Ð1ð2ð 2ð 2ñ 2ô 2ð 2ð 2ð 2ð 2ð 2ð 2øøøð 2ð 2ð 2ð 2ð2ð 2ð 2ñ 2ô 2ð 2ð 2ð 2ð 2ð 2ð 2ð 2øøøð 2ð 2ð 2ð 2ð 2ð 2ð Œ]˜iÒ'Ð'Ý/;½[Ð.IˆMÝ Ñ.Ô.ð 3ð 3ÝÔ% gÑ.Ô.ð 3ð 3ØÔ+×0Ò0Ñ2Ô2Ð2Ð2Ð2Ð2Ð2Ð2Ð2ð3ð 3ð 3ñ 3ô 3ð 3ð 3ð 3ð 3ð 3ð 3øøøð 3ð 3ð 3ð 3ð3ð 3ð 3ñ 3ô 3ð 3ð 3ð 3ð 3ð 3ð 3ð 3øøøð 3ð 3ð 3ð 3ð 3ð 3ð (Ð'sl   ÁB7Á3 BÂB7ÂB#	Â#B7Â&B#	Â'B7Â7B;Â>B;Ã,EÄ D-Ä!EÄ-D1	Ä1EÄ4D1	Ä5EÅE	ÅE	r6   rB   ©rQ   rR   r   r   )r9   r:   r;   r   r'   rP   rX   r=   r!   r   rI   rI   q   si   € € € € € ðð ð ð ð	.ð 	.ð 	.ð 	.ð$ð $ð $ð $ð3ð 3ð 3ð 3ð 3ð 3ð 3r!   rI   c                  ó.   — e Zd Zd
d„Zdd„Zdd„Zdd„Zd	S )ÚAsyncSemaphoreÚboundÚintr   r   c                ó"   — || _         d| _        d S r   )Ú_boundr   ©r   r`   s     r   r   zAsyncSemaphore.__init__›   s   € ØˆŒØˆŒˆˆr!   c                óô   — t          ¦   «         | _        | j        dk    r't          j        | j        | j        ¬¦  «        | _        dS | j        dk    r't          j        | j        | j        ¬¦  «        | _        dS dS )zƒ
        Detect if we're running under 'asyncio' or 'trio' and create
        a semaphore with the correct implementation.
        r   )Úinitial_valueÚ	max_valuer   N)r   r   r   Ú	Semaphorerc   Ú_trio_semaphorer   Ú_anyio_semaphorer   s    r   r'   zAsyncSemaphore.setupŸ   s…   € õ
 .Ñ/Ô/ˆŒØŒ=˜FÒ"Ð"Ý#'¤>Ø"œk°T´[ð$ñ $ô $ˆDÔ Ð Ð ð Œ]˜iÒ'Ð'Ý$)¤OØ"œk°T´[ð%ñ %ô %ˆDÔ!Ð!Ð!ð (Ð'r!   c              ƒ  óð   K  — | j         s|                      ¦   «          | j         dk    r!| j                             ¦   «         ƒ d {V —† d S | j         dk    r!| j                             ¦   «         ƒ d {V —† d S d S r)   )r   r'   ri   r*   rj   r   s    r   r*   zAsyncSemaphore.acquire®   s™   è è € ØŒ}ð 	Ø�JŠJ‰LŒLˆLàŒ=˜FÒ"Ð"ØÔ&×.Ò.Ñ0Ô0Ð0Ð0Ð0Ð0Ð0Ð0Ð0Ð0Ð0ØŒ]˜iÒ'Ð'ØÔ'×/Ò/Ñ1Ô1Ð1Ð1Ð1Ð1Ð1Ð1Ð1Ð1Ð1ð (Ð'r!   c              ƒ  ó¢   K  — | j         dk    r| j                             ¦   «          d S | j         dk    r| j                             ¦   «          d S d S r)   )r   ri   r3   rj   r   s    r   r3   zAsyncSemaphore.release·   s^   è è € ØŒ=˜FÒ"Ð"ØÔ ×(Ò(Ñ*Ô*Ð*Ð*Ð*ØŒ]˜iÒ'Ð'ØÔ!×)Ò)Ñ+Ô+Ð+Ð+Ð+ð (Ð'r!   N©r`   ra   r   r   r6   )r9   r:   r;   r   r'   r*   r3   r=   r!   r   r_   r_   š   sd   € € € € € ðð ð ð ðð ð ð ð2ð 2ð 2ð 2ð,ð ,ð ,ð ,ð ,ð ,r!   r_   c                  ó.   — e Zd Zdd„Zdd„Z	 	 	 ddd„ZdS )ÚAsyncShieldCancellationr   r   c                óÈ   — t          ¦   «         | _        | j        dk    rt          j        d¬¦  «        | _        dS | j        dk    rt          j        d¬¦  «        | _        dS dS )zˆ
        Detect if we're running under 'asyncio' or 'trio' and create
        a shielded scope with the correct implementation.
        r   T)Úshieldr   N)r   r   r   ÚCancelScopeÚ_trio_shieldr   Ú_anyio_shieldr   s    r   r   z AsyncShieldCancellation.__init__Æ   sk   € õ
 .Ñ/Ô/ˆŒàŒ=˜FÒ"Ð"Ý $Ô 0¸Ð =Ñ =Ô =ˆDÔÐÐØŒ]˜iÒ'Ð'Ý!&Ô!2¸$Ð!?Ñ!?Ô!?ˆDÔÐÐð (Ð'r!   c                ó˜   — | j         dk    r| j                             ¦   «          n$| j         dk    r| j                             ¦   «          | S r)   )r   rs   rC   rt   r   s    r   rC   z!AsyncShieldCancellation.__enter__Ò   sN   € ØŒ=˜FÒ"Ð"ØÔ×'Ò'Ñ)Ô)Ð)Ð)ØŒ]˜iÒ'Ð'ØÔ×(Ò(Ñ*Ô*Ð*Øˆr!   Nr,   r-   r.   r/   r0   r1   c                óª   — | j         dk    r| j                             |||¦  «         d S | j         dk    r| j                             |||¦  «         d S d S r)   )r   rs   rF   rt   r4   s       r   rF   z AsyncShieldCancellation.__exit__Ù   sh   € ð Œ=˜FÒ"Ð"ØÔ×&Ò& x°¸IÑFÔFÐFÐFÐFØŒ]˜iÒ'Ð'ØÔ×'Ò'¨°)¸YÑGÔGÐGÐGÐGð (Ð'r!   r6   )r   ro   r7   r8   )r9   r:   r;   r   rC   rF   r=   r!   r   ro   ro   ¾   sk   € € € € € ð
@ð 
@ð 
@ð 
@ðð ð ð ð 04Ø*.Ø04ð		Hð 	Hð 	Hð 	Hð 	Hð 	Hð 	Hr!   ro   c                  ó2   — e Zd ZdZdd„Zdd„Z	 	 	 ddd„ZdS )r$   r   r   r   c                ó6   — t          j        ¦   «         | _        d S rB   ©Ú	threadingr$   Ú_lockr   s    r   r   zLock.__init__ð   ó   € Ý”^Ñ%Ô%ˆŒ
ˆ
ˆ
r!   c                ó8   — | j                              ¦   «          | S rB   ©r{   r*   r   s    r   rC   zLock.__enter__ó   ó   € ØŒ
×ÒÑÔÐØˆr!   Nr,   r-   r.   r/   r0   r1   c                ó8   — | j                              ¦   «          d S rB   ©r{   r3   r4   s       r   rF   zLock.__exit__÷   ó   € ð 	Œ
×ÒÑÔÐÐÐr!   r6   )r   r$   r7   r8   ©r9   r:   r;   r<   r   rC   rF   r=   r!   r   r$   r$   è   ój   € € € € € ðð ð&ð &ð &ð &ðð ð ð ð 04Ø*.Ø04ð	ð ð ð ð ð ð r!   r$   c                  ó2   — e Zd ZdZdd„Zdd„Z	 	 	 ddd„ZdS )Ú
ThreadLockr@   r   r   c                ó6   — t          j        ¦   «         | _        d S rB   ry   r   s    r   r   zThreadLock.__init__  r|   r!   c                ó8   — | j                              ¦   «          | S rB   r~   r   s    r   rC   zThreadLock.__enter__  r   r!   Nr,   r-   r.   r/   r0   r1   c                ó8   — | j                              ¦   «          d S rB   r�   r4   s       r   rF   zThreadLock.__exit__  r‚   r!   r6   )r   r†   r7   r8   rƒ   r=   r!   r   r†   r†      r„   r!   r†   c                  ó(   — e Zd Zd	d„Zd	d„Zd
dd„ZdS )rL   r   r   c                ó6   — t          j        ¦   «         | _        d S rB   )rz   rL   Ú_eventr   s    r   r   zEvent.__init__  s   € Ý”oÑ'Ô'ˆŒˆˆr!   c                ó8   — | j                              ¦   «          d S rB   )rŒ   rP   r   s    r   rP   z	Event.set  s   € ØŒ�ŠÑÔÐÐÐr!   NrQ   rR   c                ó‚   — |t          d¦  «        k    rd }| j                             |¬¦  «        st          ¦   «         ‚d S )NrT   )rQ   )rV   rŒ   rX   r   )r   rQ   s     r   rX   z
Event.wait  sG   € Ø•e˜E‘l”lÒ"Ð"ØˆGØŒ{×Ò¨ÐÑ0Ô0ð 	 Ý‘-”-Ðð	 ð 	 r!   r6   rB   r]   )r9   r:   r;   r   rP   rX   r=   r!   r   rL   rL     sU   € € € € € ð(ð (ð (ð (ðð ð ð ð ð  ð  ð  ð  ð  ð  r!   rL   c                  ó&   — e Zd Zd	d„Zd
d„Zd
d„ZdS )rh   r`   ra   r   r   c                ó:   — t          j        |¬¦  «        | _        d S )N)Úvalue)rz   rh   Ú
_semaphorerd   s     r   r   zSemaphore.__init__'  s   € Ý#Ô-°EÐ:Ñ:Ô:ˆŒˆˆr!   c                ó8   — | j                              ¦   «          d S rB   )r’   r*   r   s    r   r*   zSemaphore.acquire*  ó   € ØŒ×ÒÑ!Ô!Ð!Ð!Ð!r!   c                ó8   — | j                              ¦   «          d S rB   )r’   r3   r   s    r   r3   zSemaphore.release-  r”   r!   Nrm   r6   )r9   r:   r;   r   r*   r3   r=   r!   r   rh   rh   &  sP   € € € € € ð;ð ;ð ;ð ;ð"ð "ð "ð "ð"ð "ð "ð "ð "ð "r!   rh   c                  ó&   — e Zd Zdd„Z	 	 	 ddd„ZdS )ÚShieldCancellationr   c                ó   — | S rB   r=   r   s    r   rC   zShieldCancellation.__enter__5  rD   r!   Nr,   r-   r.   r/   r0   r1   r   c                ó   — d S rB   r=   r4   s       r   rF   zShieldCancellation.__exit__8  rG   r!   )r   r—   r7   r8   )r9   r:   r;   rC   rF   r=   r!   r   r—   r—   1  sL   € € € € € ðð ð ð ð
 04Ø*.Ø04ð	ð ð ð ð ð ð r!   r—   )r   r	   )Ú
__future__r   rz   ÚtypesÚ_exceptionsr   r   r   r   r   ÚNotImplementedErrorr   r   r   r?   rI   r_   ro   r$   r†   rL   rh   r—   r=   r!   r   ú<module>rž      sr  ðØ "Ð "Ð "Ð "Ð "Ð "à Ð Ð Ð Ø €€€à FÐ FÐ FÐ FÐ FÐ FÐ FÐ FÐ FÐ Fð
Ø€K€K€K€KøØÐ(Ð)ð ð ð Ø€D€D€DðøøøðØ€L€L€L€LøØð ð ð Ø€E€E€Eðøøøðð ð ð ð4*'ð *'ð *'ð *'ð *'ñ *'ô *'ð *'ðZð ð ð ð ñ ô ð ð(&3ð &3ð &3ð &3ð &3ñ &3ô &3ð &3ðR!,ð !,ð !,ð !,ð !,ñ !,ô !,ð !,ðH$Hð $Hð $Hð $Hð $Hñ $Hô $Hð $HðTð ð ð ð ñ ô ð ð0ð ð ð ð ñ ô ð ð0 ð  ð  ð  ð  ñ  ô  ð  ð"ð "ð "ð "ð "ñ "ô "ð "ðð ð ð ð ñ ô ð ð ð s   š Ÿ	+ª+¯4 ´>½>