§
    dŠtj˜< ã                   óL
  — d Z ddlZddlZddlZddlZddlZddlZddlZddlZddl	m
Z
mZmZmZmZmZmZmZmZm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 ddlmZ dd	lmZ dd
lmZ ddlmZ ddlmZ ddlm Z  ddlm!Z! ddlm"Z" ddlm#Z# ddl$Z ej%        e&¦  «        Z'd (                    ej)        ¦  «        Z*dZ+ ej,        d¦  «        duZ-ej.        j/        ej.        j0        ej.        j1        ej.        j2        ej.        j3        ej.        j4        fZ5ej.        j/        ej.        j0        ej.        j1        ej.        j2        ej.        j4        fZ6ej.        j/        ej.        j2        ej.        j3        ej.        j4        fZ7ej.        j/        ej.        j2        ej.        j4        fZ8dZ9dZ:dZ;dee<         dee<         fd„Z=deej>                 dee?         de?fd„Z@ G d„ d¦  «        ZAdeAdej>        de?ddfd „ZBd!ejC        deAd"ee         dee          fd#„ZDdeAd"ee         de#fd$„ZEd%edeAd&eejF        ejG        f         d'e"d(ee#         ddfd)„ZHd*e?d+eAde?fd,„ZI G d-„ d.ejJ        ejK        ejL        ¦  «        ZM G d/„ d0ejJ        ejN        ¦  «        ZO G d1„ d2eOejK        ejL        ¦  «        ZP G d3„ d4eOejK        ejL        ¦  «        ZQd5e
dee<         d'ee"         deee<         eeR         eejJ                 f         fd6„ZSdeAd&ejG        d7eTd8ee<         dee!ee!ejK        f         f         f
d9„ZUd:ee         d;eVdeeejW                          fd<„ZXd:ee         d;eVdeeeejW                 ee#         f                  fd=„ZYd>ee<         dee<         fd?„ZZ G d@„ dAej[        ¦  «        Z\ G dB„ dCej]        ¦  «        Z^ G dD„ dEej]        ¦  «        Z_ G dF„ dGej`        ¦  «        Za G dH„ dIejb        ¦  «        Zc G dJ„ dKeV¦  «        Zd G dL„ dM¦  «        ZedeeddfdN„ZfdeefdO„Zg G dP„ dQ¦  «        Zhdehdeeeji        gdf                  fdR„ZjdehdSeji        dTeeeji        gdf                  ddfdU„ZkdehdVeeeji        gdf                  ddfdW„ZldehdXejm        dYeTddfdZ„Zndehd[eTddfd\„Zodehd]eeji        gdf         d[eTddfd^„Zpdehd]eeji        gdf         ddfd_„Zqd`ee         daeejr                 dee         fdb„Zsdcee         deee         ee         f         fdd„Ztdehddfde„Zu G df„ dgejm        ¦  «        ZmdS )hz.Invocation-side implementation of gRPC Python.é    N)
ÚAnyÚCallableÚDictÚIteratorÚListÚOptionalÚSequenceÚSetÚTupleÚUnion)Ú_common)Ú_compression)Ú_grpcio_metadata)Ú_observability)Úcygrpc)ÚChannelArgumentType)ÚDeserializingFunction)ÚIntegratedCallFactory)ÚMetadataType)ÚNullaryCallbackType)ÚResponseType)ÚSerializingFunction)ÚUserTagzgrpc-python/{}Ú!GRPC_SINGLE_THREADED_UNARY_STREAMz0Exception calling channel subscription callback!z?<{} of RPC that terminated with:
	status = {}
	details = "{}"
>zZ<{} of RPC that terminated with:
	status = {}
	details = "{}"
	debug_error_string = "{}"
>ÚtimeoutÚreturnc                 ó6   — | €d nt          j         ¦   «         | z   S ©N)Útime©r   s    úK/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/grpc/_channel.pyÚ	_deadliner"   m   s   € Ø�?ˆ4ˆ4­¬	©¬°gÑ(=Ð=ó    Úunknown_cygrpc_codeÚdetailsc                 ó.   — d                      | |¦  «        S )Nz,Server sent unknown code {} and details "{}")Úformat)r$   r%   s     r!   Ú_unknown_code_detailsr(   q   s!   € ð :×@Ò@Ø˜Wñô ð r#   c                   óÆ  — e Zd ZU ej        ed<   eej                 ed<   e	e
         ed<   eed<   e	e
         ed<   e	ej                 ed<   e	e         ed<   e	e         ed<   eed	<   ee         ed
<   e	e         ed<   e	e         ed<   e	e         ed<   e	e         ed<   e	e         ed<   deej                 de	e
         de	e
         de	ej                 de	e         f
d„Zd„ ZdS )Ú	_RPCStateÚ	conditionÚdueÚinitial_metadataÚresponseÚtrailing_metadataÚcoder%   Údebug_error_stringÚ	cancelledÚ	callbacksÚ
fork_epochÚrpc_start_timeÚrpc_end_timeÚmethodÚtargetc                 ó6  — t          j        ¦   «         | _        t          |¦  «        | _        || _        d | _        || _        || _        || _	        d | _
        d | _        d | _        d | _        d | _        d| _        g | _        t#          j        ¦   «         | _        d S ©NF)Ú	threadingÚ	Conditionr+   Úsetr,   r-   r.   r/   r0   r%   r1   r5   r6   r7   r8   r2   r3   r   Úget_fork_epochr4   )Úselfr,   r-   r/   r0   r%   s         r!   Ú__init__z_RPCState.__init__Š   s”   € õ #Ô,Ñ.Ô.ˆŒõ �s‘8”8ˆŒØ 0ˆÔØˆŒØ!2ˆÔØˆŒ	ØˆŒØ"&ˆÔð #ˆÔØ ˆÔØˆŒØˆŒð ˆŒØˆŒÝ Ô/Ñ1Ô1ˆŒˆˆr#   c                 ó6   — t          j        ¦   «         | _        d S r   )r;   r<   r+   ©r?   s    r!   Úreset_postfork_childz_RPCState.reset_postfork_child²   s   € Ý"Ô,Ñ.Ô.ˆŒˆˆr#   N)Ú__name__Ú
__module__Ú__qualname__r;   r<   Ú__annotations__r
   r   ÚOperationTyper   r   r   ÚgrpcÚ
StatusCodeÚstrÚboolr   r   ÚintÚfloatr	   r@   rC   © r#   r!   r*   r*   y   ss  € € € € € € ØÔ"Ð"Ð"Ñ"Ø	ˆVÔ!Ô	"Ð"Ð"Ñ"Ø˜|Ô,Ð,Ð,Ñ,Ø€M€M�MØ Ô-Ð-Ð-Ñ-Ø
�4”?Ô
#Ð#Ð#Ñ#Ø�cŒ]ÐÐÑØ  œÐ%Ð%Ñ%Ø€O€O�OØÐ'Ô(Ð(Ð(Ñ(Ø˜”ÐÐÑØ˜U”OÐ#Ð#Ñ#Ø˜5”/Ð!Ð!Ñ!Ø�SŒMÐÐÑØ�SŒMÐÐÑð&2à�fÔ*Ô+ð&2ð # <Ô0ð&2ð $ LÔ1ð	&2ð
 �t”Ô'ð&2ð ˜#”ð&2ð &2ð &2ð &2ðP/ð /ð /ð /ð /r#   r*   Ústater0   c                 ó^   — | j         €%|| _         || _        | j        €d| _        d| _        d S d S )NrO   )r0   r%   r-   r/   )rP   r0   r%   s      r!   Ú_abortrR   ¶   s?   € Ø„zÐØˆŒ
ØˆŒØÔ!Ð)Ø%'ˆEÔ"Ø"$ˆÔÐÐð Ðr#   ÚeventÚresponse_deserializerc                 ó  — g }| j         D �]ú}|                     ¦   «         }|j                             |¦  «         |t          j        j        k    r|                     ¦   «         |_        Œ`|t          j        j        k    rX| 	                    ¦   «         }|�At          j        ||¦  «        }|€#d}t          |t          j        j        |¦  «         ŒÅ||_        ŒÍ|t          j        j        k    �r|                     ¦   «         |_        |j        €ªt          j                             |                     ¦   «         ¦  «        }	|	€>t          j        j        |_        t/          |	|                     ¦   «         ¦  «        |_        n9|	|_        |                     ¦   «         |_        |                     ¦   «         |_        t7          j        ¦   «         |_        t=          j        |¦  «         |                      |j!        ¦  «         d |_!        �Œü|S )Nz!Exception deserializing response!)"Úbatch_operationsÚtyper,   Úremover   rH   Úreceive_initial_metadatar-   Úreceive_messageÚmessager   ÚdeserializerR   rI   rJ   ÚINTERNALr.   Úreceive_status_on_clientr/   r0   Ú!CYGRPC_STATUS_CODE_TO_STATUS_CODEÚgetÚUNKNOWNr(   r%   Úerror_stringr1   r   Úperf_counterr6   r   Úmaybe_record_rpc_latencyÚextendr3   )
rS   rP   rT   r3   Úbatch_operationÚoperation_typeÚserialized_responser.   r%   r0   s
             r!   Ú_handle_eventri   ¿   sÛ  € ð
 €IØ Ô1ð "#ñ "#ˆØ(×-Ò-Ñ/Ô/ˆØŒ	×Ò˜Ñ(Ô(Ð(Ø�VÔ1ÔJÒJÐJØ%4×%EÒ%EÑ%GÔ%GˆEÔ"Ð"Ø�vÔ3ÔCÒCÐCØ"1×"9Ò"9Ñ";Ô";ÐØ"Ð.Ý"Ô.Ø'Ð)>ñô �ð Ð#ØA�GÝ˜5¥$¤/Ô":¸GÑDÔDÐDÐDà%-�E”NøØ�vÔ3ÔLÒLÑLØ&5×&GÒ&GÑ&IÔ&IˆEÔ#ØŒzÐ!ÝÔ@×DÒDØ#×(Ò(Ñ*Ô*ñô �ð �<Ý!%¤Ô!8�E”JÝ$9Ø˜o×5Ò5Ñ7Ô7ñ%ô %�E”M�Mð "&�E”JØ$3×$;Ò$;Ñ$=Ô$=�E”MØ/>×/KÒ/KÑ/MÔ/M�EÔ,Ý!%Ô!2Ñ!4Ô!4ˆEÔÝÔ3°EÑ:Ô:Ð:Ø×Ò˜Uœ_Ñ-Ô-Ð-Ø"ˆEŒOùØÐr#   c                 ó   ‡ ‡— ˆˆ fd„}|S )Nc           	      ó¦  •— ‰j         5  t          | ‰‰¦  «        }‰j                              ¦   «          ‰j         }d d d ¦  «         n# 1 swxY w Y   |D ]_}	  |¦   «          Œ# t          $ rE}t
                               dt          |j        ¦  «        t          |¦  «        ¦  «         Y d }~ŒXd }~ww xY w|o‰j	        t          j        ¦   «         k    S )NzException in callback %s: %s)r+   ri   Ú
notify_allr,   Ú	ExceptionÚ_LOGGERÚerrorÚreprÚfuncr4   r   r>   )rS   r3   ÚdoneÚcallbackÚerT   rP   s        €€r!   Úhandle_eventz$_event_handler.<locals>.handle_eventî   s7  ø€ ØŒ_ð 	!ð 	!Ý% e¨UÐ4IÑJÔJˆIØŒO×&Ò&Ñ(Ô(Ð(Ø”y�=ˆDð	!ð 	!ð 	!ñ 	!ô 	!ð 	!ð 	!ð 	!ð 	!ð 	!ð 	!øøøð 	!ð 	!ð 	!ð 	!ð "ð 	ð 	ˆHðØ�‘
”
�
�
øÝð ð ð õ —’Ø2µD¸¼Ñ4GÔ4GÍÈaÉÌñô ð ð ð ð ð ð øøøøðøøøð ÐC˜Ô(­FÔ,AÑ,CÔ,CÒCÐCs)   ‰3AÁAÁAÁ
A#Á#
B2Á-;B-Â-B2rO   )rP   rT   ru   s   `` r!   Ú_event_handlerrv   ë   s0   øø€ ðDð Dð Dð Dð Dð Dð  Ðr#   Úrequest_iteratorÚcallÚrequest_serializerÚevent_handlerc                 óž   ‡ ‡‡‡‡— ˆˆˆ ˆˆfd„}t          j        |¬¦  «        }|                     d¦  «         |                     ¦   «          dS )z'Consume a request supplied by the user.c            	      óÊ  •— 	 d} 	 t          j        ¦   «          t          ‰
¦  «        }nÂ# t          $ r Y | st          j        ¦   «          �nmt
          $ r” t          j        ¦   «          d} t          j        j        }d}t           
                    |¦  «         ‰                     t          j        |         |¦  «         t          ‰||¦  «         Y | st          j        ¦   «          d S d S w xY w	 | st          j        ¦   «          n# | st          j        ¦   «          w w xY wt          j        |‰¦  «        }‰j        5  ‰j        �€N‰j        �sF|€Xt          j        j        }d}‰                     t          j        |         |¦  «         t          ‰||¦  «         	 d d d ¦  «         d S ‰j                             t           j        j        ¦  «         t          j        |t2          ¦  «        f}‰                     |‰	¦  «        }|s7‰j                             t           j        j        ¦  «         	 d d d ¦  «         d S ˆfd„}t          j        ‰j        j        |t;          j        t           j        ‰¦  «        ¬¦  «         ‰j        �	 d d d ¦  «         d S n	 d d d ¦  «         d S 	 d d d ¦  «         n# 1 swxY w Y   �Œµ‰j        5  ‰j        €„‰j                             t           j        j         ¦  «         t          j!        t2          ¦  «        f}‰                     |‰	¦  «        }|s)‰j                             t           j        j         ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )NTFzException iterating requests!úException serializing request!c                  óF   •— ‰ j         d upt          j        j        ‰ j        vS r   )r0   r   rH   Úsend_messager,   ©rP   s   €r!   Ú_donezJ_consume_request_iterator.<locals>.consume_request_iterator.<locals>._done<  s*   ø€ à!œJ¨dÐ2ð -Ý%Ô3Ô@Ø#(¤9ð -ðr#   )Úspin_cb)"r   Úenter_user_request_generatorÚnextÚStopIterationÚ"return_from_user_request_generatorrm   rI   rJ   ra   rn   Ú	exceptionÚcancelr   Ú!STATUS_CODE_TO_CYGRPC_STATUS_CODErR   Ú	serializer+   r0   r2   r]   r,   ÚaddrH   r   ÚSendMessageOperationÚ_EMPTY_FLAGSÚoperaterX   ÚwaitÚ	functoolsÚpartialÚblock_if_fork_in_progressÚsend_close_from_clientÚSendCloseFromClientOperation)Ú*return_from_user_request_generator_invokedÚrequestr0   r%   Úserialized_requestÚ
operationsÚ	operatingr�   rx   rz   rw   ry   rP   s           €€€€€r!   Úconsume_request_iteratorz;_consume_request_iterator.<locals>.consume_request_iterator  s­  ø€ ð>	Ø9>Ð6ð@åÔ3Ñ5Ô5Ð5ÝÐ/Ñ0Ô0��øÝ ð ð ð Øð Bð @ÝÔ=Ñ?Ô?Ð?ùõ ð 
ð 
ð 
ÝÔ9Ñ;Ô;Ð;Ø=AÐ:Ý”Ô.�Ø9�Ý×!Ò! 'Ñ*Ô*Ð*Ø—’ÝÔ=¸dÔCÀWñô ð õ �u˜d GÑ,Ô,Ð,ØàAð @ÝÔ=Ñ?Ô?Ð?Ð?Ð?ð@ð @ð
øøøð ð Bð @ÝÔ=Ñ?Ô?Ð?øøð Bð @ÝÔ=Ñ?Ô?Ð?Ð?ð@øøøå!(Ô!2°7Ð<NÑ!OÔ!OÐØ”ð 'ð 'Ø”:Ñ%¨e¬oÑ%Ø)Ð1Ý#œÔ7˜Ø"B˜ØŸšÝ#ÔEÀdÔKØ#ñô ð õ ˜u d¨GÑ4Ô4Ð4Øð'ð 'ð 'ñ 'ô 'ð 'ð 'ð 'ð ”I—M’M¥&Ô"6Ô"CÑDÔDÐDåÔ3Ø.µñô ð"�Jð
 !%§¢¨Z¸Ñ GÔ G�IØ$ð Øœ	×(Ò(­Ô)=Ô)JÑKÔKÐKØð)'ð 'ð 'ñ 'ô 'ð 'ð 'ð 'ð,ð ð ð ð õ ”LØœÔ,ØÝ )Ô 1Ý"Ô<¸eñ!ô !ðñ ô ð ð ”zÐ-ØðK'ð 'ð 'ñ 'ô 'ð 'ð 'ð 'ðH .ð ðO'ð 'ð 'ñ 'ô 'ð 'ð 'ð 'ðH .ðI'ð 'ð 'ñ 'ô 'ð 'ð 'ð 'ð 'ð 'ð 'øøøð 'ð 'ð 'ð 'ñ/>	ð~ Œ_ð 
	ð 
	ØŒzÐ!Ø”	—’�fÔ2ÔIÑJÔJÐJåÔ7½ÑEÔEð�
ð !ŸLšL¨°]ÑCÔC�	Ø ð Ø”I×$Ò$ÝÔ,ÔCñô ð ð
	ð 
	ð 
	ñ 
	ô 
	ð 
	ð 
	ð 
	ð 
	ð 
	ð 
	ð 
	øøøð 
	ð 
	ð 
	ð 
	ð 
	ð 
	sl   †") ¨D ©
C(³D ÁBC(ÃD Ã'C(Ã(D ÄDÄ9AJ+Æ$BJ+È7AJ+ÊJ+Ê+J/Ê2J/Ê?BMÍMÍM©r8   TN©r   ÚForkManagedThreadÚ	setDaemonÚstart)rw   rP   rx   ry   rz   rš   Úconsumption_threads   `````  r!   Ú_consume_request_iteratorr¡     s‰   øøøøø€ ðLð Lð Lð Lð Lð Lð Lð Lð Lõ\  Ô1Ø'ðñ ô Ðð × Ò  Ñ&Ô&Ð&Ø×ÒÑÔÐÐÐr#   Ú
class_nameÚ	rpc_statec                 ó€  — |j         5  |j        €!d                     | ¦  «        cddd¦  «         S |j        t          j        j        u r2t                               | |j        |j        ¦  «        cddd¦  «         S t                               | |j        |j        |j	        ¦  «        cddd¦  «         S # 1 swxY w Y   dS )z Calculates error string for RPC.Nz<{} object>)
r+   r0   r'   rI   rJ   ÚOKÚ_OK_RENDEZVOUS_REPR_FORMATr%   Ú_NON_OK_RENDEZVOUS_REPR_FORMATr1   )r¢   r£   s     r!   Ú_rpc_state_stringr¨   a  s4  € à	Ô	ð 
ð 
ØŒ>Ð!Ø ×'Ò'¨
Ñ3Ô3ð
ð 
ð 
ð 
ñ 
ô 
ð 
ð 
ð Œ>�Tœ_Ô/Ð/Ð/Ý-×4Ò4Ø˜IœN¨IÔ,=ñô ð	
ð 
ð 
ð 
ñ 
ô 
ð 
ð 
õ .×4Ò4ØØŒNØÔØÔ(ñ	
ô 
ð
ð 
ð 
ð 
ñ 
ô 
ð 
ð 
ð 
ð 
ð 
ð 
øøøð 
ð 
ð 
ð 
ð 
ð 
s   ˆB3±=B3Á;+B3Â3B7Â:B7c                   óÂ  — e Zd ZU dZeed<   defd„Zdee         fd„Z	dee         fd„Z
deej                 fd„Zdee         fd	„Zdee         fd
„Zdefd„Zdefd„Zdefd„Zdefd„Zdefd„Zdefd„Zdefd„Z	 ddee         defd„Z	 ddee         dee         fd„Z	 ddee         deej                 fd„Z 	 dde!ej"        gdf         dee         ddfd„Z#dS )Ú_InactiveRpcErrorzÐAn RPC error not tied to the execution of a particular RPC.

    The RPC represented by the state object must not be in-progress or
    cancelled.

    Attributes:
      _state: An instance of _RPCState.
    Ú_staterP   c           
      ó@  — t          |t          ¦  «        s@d}t          |t          ¦  «        r|› d|› �}t          dddt          j        j        |¦  «        }|j        5  t          dt          j        |j	        ¦  «        t          j        |j
        ¦  «        |j        t          j        |j        ¦  «        ¦  «        | _        t          j        |j        ¦  «        | j        _        t          j        |j        ¦  «        | j        _        d d d ¦  «         d S # 1 swxY w Y   d S )Nz+Inactive RPC Error: Invalid RPC state type.z
 Details: rO   )Ú
isinstancer*   rK   rI   rJ   r]   r+   ÚcopyÚdeepcopyr-   r/   r0   r%   r«   r.   r1   )r?   rP   Úmsgs      r!   r@   z_InactiveRpcError.__init__~  sS  € Ý˜%¥Ñ+Ô+ð 	Ið @ˆCÝ˜%¥Ñ%Ô%ð 0ØÐ/Ð/¨Ð/Ð/�Ý˜b " b­$¬/Ô*BÀCÑHÔHˆEàŒ_ð 		Qð 		QÝ#ØÝ”˜eÔ4Ñ5Ô5Ý”˜eÔ5Ñ6Ô6Ø”
Ý”˜eœmÑ,Ô,ñô ˆDŒKõ $(¤9¨U¬^Ñ#<Ô#<ˆDŒKÔ Ý-1¬Y°uÔ7OÑ-PÔ-PˆDŒKÔ*ð		Qð 		Qð 		Qñ 		Qô 		Qð 		Qð 		Qð 		Qð 		Qð 		Qð 		Qð 		Qøøøð 		Qð 		Qð 		Qð 		Qð 		Qð 		Qs   ÁB)DÄDÄDr   c                 ó   — | j         j        S r   ©r«   r-   rB   s    r!   r-   z"_InactiveRpcError.initial_metadata“  s   € ØŒ{Ô+Ð+r#   c                 ó   — | j         j        S r   ©r«   r/   rB   s    r!   r/   z#_InactiveRpcError.trailing_metadata–  s   € ØŒ{Ô,Ð,r#   c                 ó   — | j         j        S r   ©r«   r0   rB   s    r!   r0   z_InactiveRpcError.code™  s   € ØŒ{ÔÐr#   c                 ó>   — t          j        | j        j        ¦  «        S r   )r   Údecoder«   r%   rB   s    r!   r%   z_InactiveRpcError.detailsœ  s   € ÝŒ~˜dœkÔ1Ñ2Ô2Ð2r#   c                 ó>   — t          j        | j        j        ¦  «        S r   )r   r¸   r«   r1   rB   s    r!   r1   z$_InactiveRpcError.debug_error_stringŸ  s   € ÝŒ~˜dœkÔ<Ñ=Ô=Ð=r#   c                 ó@   — t          | j        j        | j        ¦  «        S r   ©r¨   Ú	__class__rD   r«   rB   s    r!   Ú_reprz_InactiveRpcError._repr¢  ó   € Ý  ¤Ô!8¸$¼+ÑFÔFÐFr#   c                 ó*   — |                       ¦   «         S r   ©r½   rB   s    r!   Ú__repr__z_InactiveRpcError.__repr__¥  ó   € Ø�zŠz‰|Œ|Ðr#   c                 ó*   — |                       ¦   «         S r   rÀ   rB   s    r!   Ú__str__z_InactiveRpcError.__str__¨  rÂ   r#   c                 ó   — dS )zSee grpc.Future.cancel.FrO   rB   s    r!   rˆ   z_InactiveRpcError.cancel«  ó   € àˆur#   c                 ó   — dS )zSee grpc.Future.cancelled.FrO   rB   s    r!   r2   z_InactiveRpcError.cancelled¯  rÆ   r#   c                 ó   — dS )zSee grpc.Future.running.FrO   rB   s    r!   Úrunningz_InactiveRpcError.running³  rÆ   r#   c                 ó   — dS )zSee grpc.Future.done.TrO   rB   s    r!   rr   z_InactiveRpcError.done·  s   € àˆtr#   Nr   c                 ó   — | ‚)zSee grpc.Future.result.rO   ©r?   r   s     r!   Úresultz_InactiveRpcError.result»  s	   € ð ˆ
r#   c                 ó   — | S )zSee grpc.Future.exception.rO   rÌ   s     r!   r‡   z_InactiveRpcError.exceptionÁ  s	   € ð ˆr#   c                 ód   — 	 | ‚# t           j        $ r t          j        ¦   «         d         cY S w xY w)zSee grpc.Future.traceback.é   )rI   ÚRpcErrorÚsysÚexc_inforÌ   s     r!   Ú	tracebackz_InactiveRpcError.tracebackÇ  s@   € ð	%ØˆJøÝŒ}ð 	%ð 	%ð 	%Ý”<‘>”> !Ô$Ð$Ð$Ð$ð	%øøøs   ‚ „(/®/Úfnc                 ó   —  || ¦  «         dS )z"See grpc.Future.add_done_callback.NrO   )r?   rÕ   r   s      r!   Úadd_done_callbackz#_InactiveRpcError.add_done_callbackÐ  s   € ð 	ˆˆ4‰Œˆˆˆr#   r   )$rD   rE   rF   Ú__doc__r*   rG   r@   r   r   r-   r/   rI   rJ   r0   rK   r%   r1   r½   rÁ   rÄ   rL   rˆ   r2   rÉ   rr   rN   r   rÍ   rm   r‡   ÚtypesÚTracebackTyperÔ   r   ÚFuturer×   rO   r#   r!   rª   rª   r  sŸ  € € € € € € ðð ð ÐÐÑðQ˜ið Qð Qð Qð Qð*, (¨<Ô"8ð ,ð ,ð ,ð ,ð- 8¨LÔ#9ð -ð -ð -ð -ð �h˜tœÔ/ð  ð  ð  ð  ð3˜ #œð 3ð 3ð 3ð 3ð> H¨S¤Mð >ð >ð >ð >ðG�sð Gð Gð Gð Gð˜#ð ð ð ð ð˜ð ð ð ð ð˜ð ð ð ð ð˜4ð ð ð ð ð˜ð ð ð ð ð�dð ð ð ð ð
 *.ðð Ø ”ðà	ðð ð ð ð *.ðð Ø ”ðà	�)Ô	ðð ð ð ð *.ð%ð %Ø ”ð%à	�%Ô%Ô	&ð%ð %ð %ð %ð $(ðð à�d”k�] DÐ(Ô)ðð ˜%”ðð 
ð	ð ð ð ð ð r#   rª   c            	       ór  ‡ — e Zd ZU dZeed<   eej        ej	        f         ed<   e
e         ed<   e
e         ed<   dedeej        ej	        f         de
e         d	e
e         fˆ fd
„Zdefd„Zde
e         fd„Zdefd„Zdedefd„Zd„ Zd„ Zd„ Zd„ Zde
e         fd„Zdefd„Zdefd„Zdefd„Zdd„Zˆ xZS )Ú_Rendezvousaå  An RPC iterator.

    Attributes:
      _state: An instance of _RPCState.
      _call: An instance of SegregatedCall or IntegratedCall.
        In either case, the _call object is expected to have operate, cancel,
        and next_event methods.
      _response_deserializer: A callable taking bytes and return a Python
        object.
      _deadline: A float representing the deadline of the RPC in seconds. Or
        possibly None, to represent an RPC with no deadline at all.
    r«   Ú_callÚ_response_deserializerr"   rP   rx   rT   Údeadlinec                 óŽ   •— t          t          | ¦  «                             ¦   «          || _        || _        || _        || _        d S r   )ÚsuperrÝ   r@   r«   rÞ   rß   r"   )r?   rP   rx   rT   rà   r¼   s        €r!   r@   z_Rendezvous.__init__ì  sB   ø€ õ 	�k˜4Ñ Ô ×)Ò)Ñ+Ô+Ð+ØˆŒØˆŒ
Ø&;ˆÔ#Ø!ˆŒˆˆr#   r   c                 ój   — | j         j        5  | j         j        du cddd¦  «         S # 1 swxY w Y   dS )zSee grpc.RpcContext.is_activeN©r«   r+   r0   rB   s    r!   Ú	is_activez_Rendezvous.is_activeù  s~   € àŒ[Ô"ð 	,ð 	,Ø”;Ô# tÐ+ð	,ð 	,ð 	,ð 	,ñ 	,ô 	,ð 	,ð 	,ð 	,ð 	,ð 	,ð 	,øøøð 	,ð 	,ð 	,ð 	,ð 	,ð 	,ó   �(¨,¯,c                 óÊ   — | j         j        5  | j        €	 ddd¦  «         dS t          | j        t	          j        ¦   «         z
  d¦  «        cddd¦  «         S # 1 swxY w Y   dS )z"See grpc.RpcContext.time_remainingNr   )r«   r+   r"   Úmaxr   rB   s    r!   Útime_remainingz_Rendezvous.time_remainingþ  sÀ   € àŒ[Ô"ð 	8ð 	8ØŒ~Ð%Øð	8ð 	8ð 	8ñ 	8ô 	8ð 	8ð 	8ð 	8õ �t”~­¬	©¬Ñ3°QÑ7Ô7ð	8ð 	8ð 	8ð 	8ñ 	8ô 	8ð 	8ð 	8ð 	8ð 	8ð 	8ð 	8øøøð 	8ð 	8ð 	8ð 	8ð 	8ð 	8s   �	A£(AÁAÁAc                 ó‚  — | j         j        5  | j         j        €Œt          j        j        }d}| j                             t          j	        |         |¦  «         d| j         _
        t          | j         ||¦  «         | j         j                             ¦   «          	 ddd¦  «         dS 	 ddd¦  «         dS # 1 swxY w Y   dS )zSee grpc.RpcContext.cancelNz!Locally cancelled by application!TF)r«   r+   r0   rI   rJ   Ú	CANCELLEDrÞ   rˆ   r   r‰   r2   rR   rl   )r?   r0   r%   s      r!   rˆ   z_Rendezvous.cancel  s  € àŒ[Ô"ð 	ð 	ØŒ{ÔÐ'Ý”Ô0�Ø=�Ø”
×!Ò!ÝÔ=¸dÔCÀWñô ð ð )-�”Ô%Ý�t”{ D¨'Ñ2Ô2Ð2Ø”Ô%×0Ò0Ñ2Ô2Ð2Øð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð ð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	ð 	s   �BB4Â&B4Â4B8Â;B8rs   c                 óÄ   — | j         j        5  | j         j        €	 ddd¦  «         dS | j         j                             |¦  «         	 ddd¦  «         dS # 1 swxY w Y   dS )z See grpc.RpcContext.add_callbackNFT)r«   r+   r3   Úappend©r?   rs   s     r!   Úadd_callbackz_Rendezvous.add_callback  sÅ   € àŒ[Ô"ð 	ð 	ØŒ{Ô$Ð,Øð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð ŒKÔ!×(Ò(¨Ñ2Ô2Ð2Øð		ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	ð 	s   �A¨ AÁAÁAc                 ó   — | S r   rO   rB   s    r!   Ú__iter__z_Rendezvous.__iter__  ó   € Øˆr#   c                 ó*   — |                       ¦   «         S r   ©Ú_nextrB   s    r!   r„   z_Rendezvous.next  rÂ   r#   c                 ó*   — |                       ¦   «         S r   rô   rB   s    r!   Ú__next__z_Rendezvous.__next__"  rÂ   r#   c                 ó   — t          ¦   «         ‚r   ©ÚNotImplementedErrorrB   s    r!   rõ   z_Rendezvous._next%  ó   € Ý!Ñ#Ô#Ð#r#   c                 ó   — t          ¦   «         ‚r   rù   rB   s    r!   r1   z_Rendezvous.debug_error_string(  rû   r#   c                 ó@   — t          | j        j        | j        ¦  «        S r   r»   rB   s    r!   r½   z_Rendezvous._repr+  r¾   r#   c                 ó*   — |                       ¦   «         S r   rÀ   rB   s    r!   rÁ   z_Rendezvous.__repr__.  rÂ   r#   c                 ó*   — |                       ¦   «         S r   rÀ   rB   s    r!   rÄ   z_Rendezvous.__str__1  rÂ   r#   Nc                 óˆ  — | j         j        5  | j         j        €�t          j        j        | j         _        d| j         _        d| j         _        | j         	                    t          j        | j         j                 | j         j        ¦  «         | j         j                             ¦   «          d d d ¦  «         d S # 1 swxY w Y   d S )Nz"Cancelled upon garbage collection!T)r«   r+   r0   rI   rJ   rë   r%   r2   rÞ   rˆ   r   r‰   rl   rB   s    r!   Ú__del__z_Rendezvous.__del__4  sê   € ØŒ[Ô"ð 		3ð 		3ØŒ{ÔÐ'Ý#'¤?Ô#<�”Ô Ø&J�”Ô#Ø(,�”Ô%Ø”
×!Ò!ÝÔ=¸d¼kÔ>NÔOØ”KÔ'ñô ð ð ”Ô%×0Ò0Ñ2Ô2Ð2ð		3ð 		3ð 		3ñ 		3ô 		3ð 		3ð 		3ð 		3ð 		3ð 		3ð 		3ð 		3øøøð 		3ð 		3ð 		3ð 		3ð 		3ð 		3s   �BB7Â7B;Â>B;©r   N)rD   rE   rF   rØ   r*   rG   r   r   ÚSegregatedCallÚIntegratedCallr   r   rN   r@   rL   rå   ré   rˆ   r   rï   rñ   r„   r÷   rõ   rK   r1   r½   rÁ   rÄ   r  Ú__classcell__©r¼   s   @r!   rÝ   rÝ   Ù  s  ø€ € € € € € ðð ð ÐÐÑØ�Ô&¨Ô(=Ð=Ô>Ð>Ð>Ñ>Ø$Ð%:Ô;Ð;Ð;Ñ;Ø˜ŒÐÐÑð"àð"ð �FÔ)¨6Ô+@Ð@ÔAð"ð  (Ð(=Ô>ð	"ð
 ˜5”/ð"ð "ð "ð "ð "ð "ð,˜4ð ,ð ,ð ,ð ,ð
8 ¨¤ð 8ð 8ð 8ð 8ð˜ð ð ð ð ðÐ%8ð ¸Tð ð ð ð ðð ð ðð ð ðð ð ð$ð $ð $ð$ H¨S¤Mð $ð $ð $ð $ðG�sð Gð Gð Gð Gð˜#ð ð ð ð ð˜ð ð ð ð ð
3ð 
3ð 
3ð 
3ð 
3ð 
3ð 
3ð 
3r#   rÝ   c                   ó´  — e Zd ZU dZeed<   defd„Zdefd„Zdefd„Z	defd„Z
dd	ee         defd
„Zdd	ee         dee         fd„Z	 dd	ee         deej                 fd„Zdeej        gdf         ddfd„Zdee         fd„Zdee         fd„Zdeej                 fd„Zdee         fd„Zdeej                  fd„Z!defd„Z"defd„Z#dee         fd„Z$dS )Ú_SingleThreadedRendezvousaN  An RPC iterator operating entirely on a single thread.

    The __next__ method of _SingleThreadedRendezvous does not depend on the
    existence of any other thread, including the "channel spin thread".
    However, this means that its interface is entirely synchronous. So this
    class cannot completely fulfill the grpc.Future interface. The result,
    exception, and traceback methods will never block and will instead raise
    an exception if calling the method would result in blocking.

    This means that these methods are safe to call from add_done_callback
    handlers.
    r«   r   c                 ó   — | j         j        d uS r   r¶   rB   s    r!   Ú_is_completez&_SingleThreadedRendezvous._is_completeS  ó   € ØŒ{Ô tÐ+Ð+r#   c                 óf   — | j         j        5  | j         j        cd d d ¦  «         S # 1 swxY w Y   d S r   ©r«   r+   r2   rB   s    r!   r2   z#_SingleThreadedRendezvous.cancelledV  óy   € ØŒ[Ô"ð 	)ð 	)Ø”;Ô(ð	)ð 	)ð 	)ð 	)ñ 	)ô 	)ð 	)ð 	)ð 	)ð 	)ð 	)ð 	)øøøð 	)ð 	)ð 	)ð 	)ð 	)ð 	)ó   �&¦*­*c                 ój   — | j         j        5  | j         j        d u cd d d ¦  «         S # 1 swxY w Y   d S r   rä   rB   s    r!   rÉ   z!_SingleThreadedRendezvous.runningZ  ó~   € ØŒ[Ô"ð 	,ð 	,Ø”;Ô# tÐ+ð	,ð 	,ð 	,ð 	,ñ 	,ô 	,ð 	,ð 	,ð 	,ð 	,ð 	,ð 	,øøøð 	,ð 	,ð 	,ð 	,ð 	,ð 	,ræ   c                 ój   — | j         j        5  | j         j        d ucd d d ¦  «         S # 1 swxY w Y   d S r   rä   rB   s    r!   rr   z_SingleThreadedRendezvous.done^  ó~   € ØŒ[Ô"ð 	0ð 	0Ø”;Ô#¨4Ð/ð	0ð 	0ð 	0ð 	0ñ 	0ô 	0ð 	0ð 	0ð 	0ð 	0ð 	0ð 	0øøøð 	0ð 	0ð 	0ð 	0ð 	0ð 	0ræ   Nr   c                 óN  — ~| j         j        5  |                      ¦   «         s!d}t          j                             |¦  «        ‚| j         j        t          j        j        u r| j         j	        cddd¦  «         S | j         j
        rt          j        ¦   «         ‚| ‚# 1 swxY w Y   dS )a9  Returns the result of the computation or raises its exception.

        This method will never block. Instead, it will raise an exception
        if calling this method would otherwise result in blocking.

        Since this method will never block, any `timeout` argument passed will
        be ignored.
        zJ_SingleThreadedRendezvous only supports result() when the RPC is complete.N)r«   r+   r
  rI   ÚexperimentalÚ
UsageErrorr0   rJ   r¥   r.   r2   ÚFutureCancelledError©r?   r   Ú	error_msgs      r!   rÍ   z _SingleThreadedRendezvous.resultb  sí   € ð ØŒ[Ô"ð 	ð 	Ø×$Ò$Ñ&Ô&ð >ð9ð õ Ô'×2Ò2°9Ñ=Ô=Ð=ØŒ{Ô¥4¤?Ô#5Ð5Ð5Ø”{Ô+ð	ð 	ð 	ð 	ñ 	ô 	ð 	ð 	ð Œ{Ô$ð 2ÝÔ/Ñ1Ô1Ð1ØˆJð	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	ð 	s   ŽABÁ9!BÂBÂ!Bc                 óR  — ~| j         j        5  |                      ¦   «         s!d}t          j                             |¦  «        ‚| j         j        t          j        j        u r	 ddd¦  «         dS | j         j	        rt          j
        ¦   «         ‚| cddd¦  «         S # 1 swxY w Y   dS )a*  Return the exception raised by the computation.

        This method will never block. Instead, it will raise an exception
        if calling this method would otherwise result in blocking.

        Since this method will never block, any `timeout` argument passed will
        be ignored.
        zM_SingleThreadedRendezvous only supports exception() when the RPC is complete.N)r«   r+   r
  rI   r  r  r0   rJ   r¥   r2   r  r  s      r!   r‡   z#_SingleThreadedRendezvous.exceptiony  s  € ð ØŒ[Ô"ð 	ð 	Ø×$Ò$Ñ&Ô&ð >ð<ð õ Ô'×2Ò2°9Ñ=Ô=Ð=ØŒ{Ô¥4¤?Ô#5Ð5Ð5Øð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð Œ{Ô$ð 2ÝÔ/Ñ1Ô1Ð1Øð	ð 	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	ð 	s   ŽABÁ/ BÂB Â#B c                 ó°  — ~| j         j        5  |                      ¦   «         s!d}t          j                             |¦  «        ‚| j         j        t          j        j        u r	 ddd¦  «         dS | j         j	        rt          j
        ¦   «         ‚	 | ‚# t          j        $ r( t          j        ¦   «         d         cY cddd¦  «         S w xY w# 1 swxY w Y   dS )a;  Access the traceback of the exception raised by the computation.

        This method will never block. Instead, it will raise an exception
        if calling this method would otherwise result in blocking.

        Since this method will never block, any `timeout` argument passed will
        be ignored.
        zM_SingleThreadedRendezvous only supports traceback() when the RPC is complete.NrÐ   )r«   r+   r
  rI   r  r  r0   rJ   r¥   r2   r  rÑ   rÒ   rÓ   )r?   r   r°   s      r!   rÔ   z#_SingleThreadedRendezvous.traceback�  sF  € ð ØŒ[Ô"ð 	)ð 	)Ø×$Ò$Ñ&Ô&ð 8ð<ð õ Ô'×2Ò2°3Ñ7Ô7Ð7ØŒ{Ô¥4¤?Ô#5Ð5Ð5Øð	)ð 	)ð 	)ñ 	)ô 	)ð 	)ð 	)ð 	)ð Œ{Ô$ð 2ÝÔ/Ñ1Ô1Ð1ð)Ø�
øÝ”=ð )ð )ð )Ý”|‘~”~ aÔ(Ð(Ð(ð	)ð 	)ð 	)ð 	)ñ 	)ô 	)ð 	)ð 	)ð)øøøð	)ð 	)ð 	)ð 	)øøøð 	)ð 	)ð 	)ð 	)ð 	)ð 	)s6   ŽACÁ/CÂBÂ(CÂ9CÃCÃCÃCÃCrÕ   c                 óþ   — | j         j        5  | j         j        €@| j         j                             t          j        || ¦  «        ¦  «         	 d d d ¦  «         d S 	 d d d ¦  «         n# 1 swxY w Y    || ¦  «         d S r   ©r«   r+   r0   r3   rí   r�   r‘   ©r?   rÕ   s     r!   r×   z+_SingleThreadedRendezvous.add_done_callback¬  óÔ   € ØŒ[Ô"ð 	ð 	ØŒ{ÔÐ'Ø”Ô%×,Ò,­YÔ->¸rÀ4Ñ-HÔ-HÑIÔIÐIØð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	Ø'ð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð
 	ˆˆ4‰Œˆˆˆó   �A A'Á'A+Á.A+c                 ó¾   — | j         j        5  | j         j        € |                      ¦   «          | j         j        ® | j         j        cddd¦  «         S # 1 swxY w Y   dS )úSee grpc.Call.initial_metadataN)r«   r+   r-   Ú_consume_next_eventrB   s    r!   r-   z*_SingleThreadedRendezvous.initial_metadata´  s¥   € àŒ[Ô"ð 	0ð 	0ð ”+Ô.Ð6Ø×(Ò(Ñ*Ô*Ð*ð ”+Ô.Ð6à”;Ô/ð	0ð 	0ð 	0ð 	0ñ 	0ô 	0ð 	0ð 	0ð 	0ð 	0ð 	0ð 	0øøøð 	0ð 	0ð 	0ð 	0ð 	0ð 	0s   �8AÁAÁAc                 óÀ   — | j         j        5  | j         j        €!d}t          j                             |¦  «        ‚| j         j        cddd¦  «         S # 1 swxY w Y   dS )úSee grpc.Call.trailing_metadataNz4Cannot get trailing metadata until RPC is completed.)r«   r+   r/   rI   r  r  ©r?   r  s     r!   r/   z+_SingleThreadedRendezvous.trailing_metadata½  s¥   € àŒ[Ô"ð 	1ð 	1ØŒ{Ô,Ð4àJð õ Ô'×2Ò2°9Ñ=Ô=Ð=Ø”;Ô0ð	1ð 	1ð 	1ð 	1ñ 	1ô 	1ð 	1ð 	1ð 	1ð 	1ð 	1ð 	1øøøð 	1ð 	1ð 	1ð 	1ð 	1ð 	1ó   �9AÁAÁAc                 óÀ   — | j         j        5  | j         j        €!d}t          j                             |¦  «        ‚| j         j        cddd¦  «         S # 1 swxY w Y   dS )úSee grpc.Call.codeNz'Cannot get code until RPC is completed.)r«   r+   r0   rI   r  r  r&  s     r!   r0   z_SingleThreadedRendezvous.codeÇ  s    € àŒ[Ô"ð 	$ð 	$ØŒ{ÔÐ'ØE�	ÝÔ'×2Ò2°9Ñ=Ô=Ð=Ø”;Ô#ð		$ð 	$ð 	$ð 	$ñ 	$ô 	$ð 	$ð 	$ð 	$ð 	$ð 	$ð 	$øøøð 	$ð 	$ð 	$ð 	$ð 	$ð 	$r'  c                 óä   — | j         j        5  | j         j        €!d}t          j                             |¦  «        ‚t          j        | j         j        ¦  «        cddd¦  «         S # 1 swxY w Y   dS )úSee grpc.Call.detailsNz*Cannot get details until RPC is completed.)r«   r+   r%   rI   r  r  r   r¸   r&  s     r!   r%   z!_SingleThreadedRendezvous.detailsÏ  sª   € àŒ[Ô"ð 	7ð 	7ØŒ{Ô"Ð*ØH�	ÝÔ'×2Ò2°9Ñ=Ô=Ð=Ý”> $¤+Ô"5Ñ6Ô6ð		7ð 	7ð 	7ð 	7ñ 	7ô 	7ð 	7ð 	7ð 	7ð 	7ð 	7ð 	7øøøð 	7ð 	7ð 	7ð 	7ð 	7ð 	7ó   �AA%Á%A)Á,A)c                 óÖ   — | j                              ¦   «         }| j        j        5  t	          || j        | j        ¦  «        }|D ]} |¦   «          Œ	 d d d ¦  «         n# 1 swxY w Y   |S r   )rÞ   Ú
next_eventr«   r+   ri   rß   )r?   rS   r3   rs   s       r!   r#  z-_SingleThreadedRendezvous._consume_next_event×  s¼   € Ø”
×%Ò%Ñ'Ô'ˆØŒ[Ô"ð 	ð 	Ý%Ø�t”{ DÔ$?ñô ˆIð &ð ð �ð �‘
”
�
�
ðð		ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð ˆs   ¦+AÁA"Á%A"c                 ó†  — 	 |                       ¦   «          | j        j        5  | j        j        �&| j        j        }d | j        _        |cd d d ¦  «         S t          j        j        | j        j        vr9| j        j        t          j
        j        u rt          ¦   «         ‚| j        j        �| ‚d d d ¦  «         n# 1 swxY w Y   ŒÁr   )r#  r«   r+   r.   r   rH   rZ   r,   r0   rI   rJ   r¥   r…   )r?   r.   s     r!   Ú_next_responsez(_SingleThreadedRendezvous._next_responseã  s  € ð	#Ø×$Ò$Ñ&Ô&Ð&Ø”Ô&ð 	#ð 	#Ø”;Ô'Ð3Ø#œ{Ô3�HØ+/�D”KÔ(Ø#ð		#ð 	#ð 	#ð 	#ñ 	#ô 	#ð 	#ð 	#õ
 Ô'Ô7¸t¼{¼ÐNÐNØ”{Ô'­4¬?Ô+=Ð=Ð=Ý+™oœoÐ-Ø”{Ô'Ð3Ø"˜
ð	#ð 	#ð 	#ñ 	#ô 	#ð 	#ð 	#ð 	#ð 	#ð 	#ð 	#øøøð 	#ð 	#ð 	#ð 	#ð	#s   ¢&B7ÁAB7Â7B;Â>B;c                 ó  — | j         j        5  | j         j        €’| j         j                             t
          j        j        ¦  «         | j         	                    t          j
        t          ¦  «        fd ¦  «        }|s.| j         j                             t
          j        j        ¦  «         n-| j         j        t          j        j        u rt!          ¦   «         ‚| ‚d d d ¦  «         n# 1 swxY w Y   |                      ¦   «         S r   )r«   r+   r0   r,   r‹   r   rH   rZ   rÞ   rŽ   ÚReceiveMessageOperationr�   rX   rI   rJ   r¥   r…   r0  )r?   r™   s     r!   rõ   z_SingleThreadedRendezvous._nextñ  s  € ØŒ[Ô"ð 	ð 	ØŒ{ÔÐ'ð ””×#Ò#¥FÔ$8Ô$HÑIÔIÐIØ œJ×.Ò.ÝÔ3µLÑAÔAÐCÀTñô �	ð !ð QØ”K”O×*Ò*­6Ô+?Ô+OÑPÔPÐPøØ”Ô!¥T¤_Ô%7Ð7Ð7Ý#‘o”oÐ%à�
ð-	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð. ×"Ò"Ñ$Ô$Ð$s   �CC%Ã%C)Ã,C)c                 óä   — | j         j        5  | j         j        €!d}t          j                             |¦  «        ‚t          j        | j         j        ¦  «        cd d d ¦  «         S # 1 swxY w Y   d S )Nz5Cannot get debug error string until RPC is completed.)r«   r+   r1   rI   r  r  r   r¸   r&  s     r!   r1   z,_SingleThreadedRendezvous.debug_error_string  sÃ   € ØŒ[Ô"ð 	Bð 	BØŒ{Ô-Ð5àKð õ Ô'×2Ò2°9Ñ=Ô=Ð=Ý”> $¤+Ô"@ÑAÔAð	Bð 	Bð 	Bð 	Bñ 	Bô 	Bð 	Bð 	Bð 	Bð 	Bð 	Bð 	Bøøøð 	Bð 	Bð 	Bð 	Bð 	Bð 	Br,  r   )%rD   rE   rF   rØ   r*   rG   rL   r
  r2   rÉ   rr   r   rN   r   rÍ   rm   r‡   rÙ   rÚ   rÔ   r   rI   rÛ   r×   r   r-   r/   rJ   r0   rK   r%   r   Ú	BaseEventr#  r0  rõ   r1   rO   r#   r!   r  r  A  s_  € € € € € € ðð ð ÐÐÑð,˜dð ,ð ,ð ,ð ,ð)˜4ð )ð )ð )ð )ð,˜ð ,ð ,ð ,ð ,ð0�dð 0ð 0ð 0ð 0ðð ˜h uœoð ¸ð ð ð ð ð.ð  ¨%¤ð ¸HÀYÔ<Oð ð ð ð ð0 *.ð)ð )Ø ”ð)à	�%Ô%Ô	&ð)ð )ð )ð )ð8 H¨d¬k¨]¸DÐ-@Ô$Að Àdð ð ð ð ð0 (¨<Ô"8ð 0ð 0ð 0ð 0ð1 8¨LÔ#9ð 1ð 1ð 1ð 1ð$�h˜tœÔ/ð $ð $ð $ð $ð7˜ #œð 7ð 7ð 7ð 7ð
 X¨fÔ.>Ô%?ð 
ð 
ð 
ð 
ð# ð #ð #ð #ð #ð%�sð %ð %ð %ð %ð4B H¨S¤Mð Bð Bð Bð Bð Bð Br#   r  c                   ó†  — e Zd ZU dZeed<   dee         fd„Zdee         fd„Z	dee
j                 fd„Zdee         fd„Zdee         fd„Zdefd	„Zdefd
„Zdefd„Zdefd„Zddee         defd„Zddee         dee         fd„Z	 ddee         deej                 fd„Zdee
j        gdf         ddfd„Zdefd„Z dS )Ú_MultiThreadedRendezvousa¤  An RPC iterator that depends on a channel spin thread.

    This iterator relies upon a per-channel thread running in the background,
    dequeueing events from the completion queue, and notifying threads waiting
    on the threading.Condition object in the _RPCState object.

    This extra thread allows _MultiThreadedRendezvous to fulfill the grpc.Future interface
    and to mediate a bidirection streaming RPC.
    r«   r   c                 óº   ‡ — ‰ j         j        5  ˆ fd„}t          j        ‰ j         j        j        |¦  «         ‰ j         j        cddd¦  «         S # 1 swxY w Y   dS )r"  c                  ó    •— ‰ j         j        d uS r   r²   rB   s   €r!   r�   z8_MultiThreadedRendezvous.initial_metadata.<locals>._done(  s   ø€ Ø”{Ô3¸4Ð?Ð?r#   N)r«   r+   r   r�   r-   ©r?   r�   s   ` r!   r-   z)_MultiThreadedRendezvous.initial_metadata$  s´   ø€ àŒ[Ô"ð 	0ð 	0ð@ð @ð @ð @ð @õ ŒL˜œÔ.Ô3°UÑ;Ô;Ð;Ø”;Ô/ð	0ð 	0ð 	0ð 	0ñ 	0ô 	0ð 	0ð 	0ð 	0ð 	0ð 	0ð 	0øøøð 	0ð 	0ð 	0ð 	0ð 	0ð 	0ó   Ž5AÁAÁAc                 óº   ‡ — ‰ j         j        5  ˆ fd„}t          j        ‰ j         j        j        |¦  «         ‰ j         j        cddd¦  «         S # 1 swxY w Y   dS )r%  c                  ó    •— ‰ j         j        d uS r   r´   rB   s   €r!   r�   z9_MultiThreadedRendezvous.trailing_metadata.<locals>._done2  s   ø€ Ø”{Ô4¸DÐ@Ð@r#   N)r«   r+   r   r�   r/   r9  s   ` r!   r/   z*_MultiThreadedRendezvous.trailing_metadata.  s´   ø€ àŒ[Ô"ð 	1ð 	1ðAð Að Að Að Aõ ŒL˜œÔ.Ô3°UÑ;Ô;Ð;Ø”;Ô0ð	1ð 	1ð 	1ð 	1ñ 	1ô 	1ð 	1ð 	1ð 	1ð 	1ð 	1ð 	1øøøð 	1ð 	1ð 	1ð 	1ð 	1ð 	1r:  c                 óº   ‡ — ‰ j         j        5  ˆ fd„}t          j        ‰ j         j        j        |¦  «         ‰ j         j        cddd¦  «         S # 1 swxY w Y   dS )r)  c                  ó    •— ‰ j         j        d uS r   r¶   rB   s   €r!   r�   z,_MultiThreadedRendezvous.code.<locals>._done<  s   ø€ Ø”{Ô'¨tÐ3Ð3r#   N)r«   r+   r   r�   r0   r9  s   ` r!   r0   z_MultiThreadedRendezvous.code8  s¯   ø€ àŒ[Ô"ð 	$ð 	$ð4ð 4ð 4ð 4ð 4õ ŒL˜œÔ.Ô3°UÑ;Ô;Ð;Ø”;Ô#ð	$ð 	$ð 	$ð 	$ñ 	$ô 	$ð 	$ð 	$ð 	$ð 	$ð 	$ð 	$øøøð 	$ð 	$ð 	$ð 	$ð 	$ð 	$r:  c                 óÞ   ‡ — ‰ j         j        5  ˆ fd„}t          j        ‰ j         j        j        |¦  «         t          j        ‰ j         j        ¦  «        cddd¦  «         S # 1 swxY w Y   dS )r+  c                  ó    •— ‰ j         j        d uS r   )r«   r%   rB   s   €r!   r�   z/_MultiThreadedRendezvous.details.<locals>._doneF  s   ø€ Ø”{Ô*°$Ð6Ð6r#   N)r«   r+   r   r�   r¸   r%   r9  s   ` r!   r%   z _MultiThreadedRendezvous.detailsB  s¹   ø€ àŒ[Ô"ð 	7ð 	7ð7ð 7ð 7ð 7ð 7õ ŒL˜œÔ.Ô3°UÑ;Ô;Ð;Ý”> $¤+Ô"5Ñ6Ô6ð	7ð 	7ð 	7ð 	7ñ 	7ô 	7ð 	7ð 	7ð 	7ð 	7ð 	7ð 	7øøøð 	7ð 	7ð 	7ð 	7ð 	7ð 	7ó   ŽAA"Á"A&Á)A&c                 óÞ   ‡ — ‰ j         j        5  ˆ fd„}t          j        ‰ j         j        j        |¦  «         t          j        ‰ j         j        ¦  «        cd d d ¦  «         S # 1 swxY w Y   d S )Nc                  ó    •— ‰ j         j        d uS r   )r«   r1   rB   s   €r!   r�   z:_MultiThreadedRendezvous.debug_error_string.<locals>._doneO  s   ø€ Ø”{Ô5¸TÐAÐAr#   )r«   r+   r   r�   r¸   r1   r9  s   ` r!   r1   z+_MultiThreadedRendezvous.debug_error_stringL  sÒ   ø€ ØŒ[Ô"ð 	Bð 	BðBð Bð Bð Bð Bõ ŒL˜œÔ.Ô3°UÑ;Ô;Ð;Ý”> $¤+Ô"@ÑAÔAð	Bð 	Bð 	Bð 	Bñ 	Bô 	Bð 	Bð 	Bð 	Bð 	Bð 	Bð 	Bøøøð 	Bð 	Bð 	Bð 	Bð 	Bð 	BrA  c                 óf   — | j         j        5  | j         j        cd d d ¦  «         S # 1 swxY w Y   d S r   r  rB   s    r!   r2   z"_MultiThreadedRendezvous.cancelledU  r  r  c                 ój   — | j         j        5  | j         j        d u cd d d ¦  «         S # 1 swxY w Y   d S r   rä   rB   s    r!   rÉ   z _MultiThreadedRendezvous.runningY  r  ræ   c                 ój   — | j         j        5  | j         j        d ucd d d ¦  «         S # 1 swxY w Y   d S r   rä   rB   s    r!   rr   z_MultiThreadedRendezvous.done]  r  ræ   c                 ó   — | j         j        d uS r   r¶   rB   s    r!   r
  z%_MultiThreadedRendezvous._is_completea  r  r#   Nr   c                 ób  — | j         j        5  t          j        | j         j        j        | j        |¬¦  «        }|rt          j        ¦   «         ‚| j         j        t
          j        j	        u r| j         j
        cddd¦  «         S | j         j        rt          j        ¦   «         ‚| ‚# 1 swxY w Y   dS )z‚Returns the result of the computation or raises its exception.

        See grpc.Future.result for the full API contract.
        r    N)r«   r+   r   r�   r
  rI   ÚFutureTimeoutErrorr0   rJ   r¥   r.   r2   r  ©r?   r   Ú	timed_outs      r!   rÍ   z_MultiThreadedRendezvous.resultd  sô   € ð
 Œ[Ô"ð 
	ð 
	ÝœØ”Ô%Ô*¨DÔ,=Àwðñ ô ˆIð ð 0ÝÔ-Ñ/Ô/Ð/ØŒ{Ô¥4¤?Ô#5Ð5Ð5Ø”{Ô+ð
	ð 
	ð 
	ð 
	ñ 
	ô 
	ð 
	ð 
	ð Œ{Ô$ð 2ÝÔ/Ñ1Ô1Ð1ØˆJð
	ð 
	ð 
	ð 
	øøøð 
	ð 
	ð 
	ð 
	ð 
	ð 
	s   �A)B$Â!B$Â$B(Â+B(c                 óf  — | j         j        5  t          j        | j         j        j        | j        |¬¦  «        }|rt          j        ¦   «         ‚| j         j        t
          j        j	        u r	 ddd¦  «         dS | j         j
        rt          j        ¦   «         ‚| cddd¦  «         S # 1 swxY w Y   dS )zvReturn the exception raised by the computation.

        See grpc.Future.exception for the full API contract.
        r    N)r«   r+   r   r�   r
  rI   rI  r0   rJ   r¥   r2   r  rJ  s      r!   r‡   z"_MultiThreadedRendezvous.exceptionu  s  € ð
 Œ[Ô"ð 
	ð 
	ÝœØ”Ô%Ô*¨DÔ,=Àwðñ ô ˆIð ð 0ÝÔ-Ñ/Ô/Ð/ØŒ{Ô¥4¤?Ô#5Ð5Ð5Øð
	ð 
	ð 
	ñ 
	ô 
	ð 
	ð 
	ð 
	ð Œ{Ô$ð 2ÝÔ/Ñ1Ô1Ð1Øð
	ð 
	ð 
	ð 
	ñ 
	ô 
	ð 
	ð 
	ð 
	ð 
	ð 
	ð 
	øøøð 
	ð 
	ð 
	ð 
	ð 
	ð 
	s   �AB&Á9 B&Â&B*Â-B*c                 óÄ  — | j         j        5  t          j        | j         j        j        | j        |¬¦  «        }|rt          j        ¦   «         ‚| j         j        t
          j        j	        u r	 ddd¦  «         dS | j         j
        rt          j        ¦   «         ‚	 | ‚# t
          j        $ r( t          j        ¦   «         d         cY cddd¦  «         S w xY w# 1 swxY w Y   dS )z‡Access the traceback of the exception raised by the computation.

        See grpc.future.traceback for the full API contract.
        r    NrÐ   )r«   r+   r   r�   r
  rI   rI  r0   rJ   r¥   r2   r  rÑ   rÒ   rÓ   rJ  s      r!   rÔ   z"_MultiThreadedRendezvous.traceback†  sM  € ð Œ[Ô"ð 	)ð 	)ÝœØ”Ô%Ô*¨DÔ,=Àwðñ ô ˆIð ð 0ÝÔ-Ñ/Ô/Ð/ØŒ{Ô¥4¤?Ô#5Ð5Ð5Øð	)ð 	)ð 	)ñ 	)ô 	)ð 	)ð 	)ð 	)ð Œ{Ô$ð 2ÝÔ/Ñ1Ô1Ð1ð)Ø�
øÝ”=ð )ð )ð )Ý”|‘~”~ aÔ(Ð(Ð(ð	)ð 	)ð 	)ð 	)ñ 	)ô 	)ð 	)ð 	)ð)øøøð	)ð 	)ð 	)ð 	)øøøð 	)ð 	)ð 	)ð 	)ð 	)ð 	)s6   �ACÁ9CÂBÂ(CÃCÃCÃCÃCÃCrÕ   c                 óþ   — | j         j        5  | j         j        €@| j         j                             t          j        || ¦  «        ¦  «         	 d d d ¦  «         d S 	 d d d ¦  «         n# 1 swxY w Y    || ¦  «         d S r   r  r  s     r!   r×   z*_MultiThreadedRendezvous.add_done_callbackœ  r  r   c                 ó~  ‡ — ‰ j         j        5  ‰ j         j        €¬t          ‰ j         ‰ j        ¦  «        }‰ j         j                             t          j        j	        ¦  «         ‰ j
                             t          j        t          ¦  «        f|¦  «        }|s.‰ j         j                             t          j        j	        ¦  «         n-‰ j         j        t          j        j        u rt%          ¦   «         ‚‰ ‚ˆ fd„}t'          j        ‰ j         j        j        |¦  «         ‰ j         j        �&‰ j         j        }d ‰ j         _        |cd d d ¦  «         S t          j        j	        ‰ j         j        vr9‰ j         j        t          j        j        u rt%          ¦   «         ‚‰ j         j        �‰ ‚d d d ¦  «         d S # 1 swxY w Y   d S )Nc                  óv   •— ‰ j         j        d up*t          j        j        ‰ j         j        vo‰ j         j        d uS r   )r«   r.   r   rH   rZ   r,   r0   rB   s   €r!   Ú_response_readyz7_MultiThreadedRendezvous._next.<locals>._response_ready¶  s>   ø€ Ø”{Ô+°4Ð7ð ÝÔ(Ô8ÀÄÄÐOð 5ØœÔ(°Ð4ðr#   )r«   r+   r0   rv   rß   r,   r‹   r   rH   rZ   rÞ   rŽ   r2  r�   rX   rI   rJ   r¥   r…   r   r�   r.   )r?   rz   r™   rQ  r.   s   `    r!   rõ   z_MultiThreadedRendezvous._next¤  sõ  ø€ ØŒ[Ô"ð  	ð  	ØŒ{ÔÐ'Ý .Ø”K Ô!<ñ!ô !�ð ””×#Ò#¥FÔ$8Ô$HÑIÔIÐIØ œJ×.Ò.ÝÔ3µLÑAÔAÐCØ!ñô �	ð !ð QØ”K”O×*Ò*­6Ô+?Ô+OÑPÔPÐPøØ”Ô!¥T¤_Ô%7Ð7Ð7Ý#‘o”oÐ%à�
ðð ð ð ð õ ŒL˜œÔ.Ô3°_ÑEÔEÐEØŒ{Ô#Ð/Øœ;Ô/�Ø'+�”Ô$Øð7 	ð  	ð  	ð  	ñ  	ô  	ð  	ð  	õ8 Ô#Ô3¸4¼;¼?ÐJÐJØ”;Ô#¥t¤Ô'9Ð9Ð9Ý'™/œ/Ð)Ø”;Ô#Ð/Ø�JðA 	ð  	ð  	ñ  	ô  	ð  	ð  	ð  	ð  	ð  	ð  	ð  	øøøð  	ð  	ð  	ð  	ð  	ð  	s   ŽD4F2ÅAF2Æ2F6Æ9F6r   )!rD   rE   rF   rØ   r*   rG   r   r   r-   r/   rI   rJ   r0   rK   r%   r1   rL   r2   rÉ   rr   r
  rN   r   rÍ   rm   r‡   rÙ   rÚ   rÔ   r   rÛ   r×   rõ   rO   r#   r!   r6  r6    s  € € € € € € ðð ð ÐÐÑð0 (¨<Ô"8ð 0ð 0ð 0ð 0ð1 8¨LÔ#9ð 1ð 1ð 1ð 1ð$�h˜tœÔ/ð $ð $ð $ð $ð7˜ #œð 7ð 7ð 7ð 7ðB H¨S¤Mð Bð Bð Bð Bð)˜4ð )ð )ð )ð )ð,˜ð ,ð ,ð ,ð ,ð0�dð 0ð 0ð 0ð 0ð,˜dð ,ð ,ð ,ð ,ðð ˜h uœoð ¸ð ð ð ð ð"ð  ¨%¤ð ¸HÀYÔ<Oð ð ð ð ð$ *.ð)ð )Ø ”ð)à	�%Ô%Ô	&ð)ð )ð )ð )ð, H¨d¬k¨]¸DÐ-@Ô$Að Àdð ð ð ð ð!�sð !ð !ð !ð !ð !ð !r#   r6  r–   c                 óÄ   — t          |¦  «        }t          j        | |¦  «        }|€6t          dddt          j        j        d¦  «        }t          |¦  «        }|d |fS ||d fS )NrO   r}   )r"   r   rŠ   r*   rI   rJ   r]   rª   )r–   r   ry   rà   r—   rP   ro   s          r!   Ú_start_unary_requestrS  È  sx   € õ
 ˜Ñ!Ô!€HÝ Ô*¨7Ð4FÑGÔGÐØÐ!ÝØØØÝŒOÔ$Ø,ñ
ô 
ˆõ " %Ñ(Ô(ˆØ˜˜uÐ$Ð$ØÐ'¨Ð-Ð-r#   Ú	with_callrà   c                 ó˜   — | j         t          j        j        u r$|rt	          | |d |¦  «        }| j        |fS | j        S t          | ¦  «        ‚r   )r0   rI   rJ   r¥   r6  r.   rª   )rP   rx   rT  rà   Ú
rendezvouss        r!   Ú_end_unary_response_blockingrW  Ü  sT   € ð „z•T”_Ô'Ð'Ð'Øð 	.Ý1°%¸¸tÀXÑNÔNˆJØ”> :Ð-Ð-ØŒ~ÐÝ
˜EÑ
"Ô
"Ð"r#   ÚmetadataÚinitial_metadata_flagsc                 óÂ   — t          j        | |¦  «        t          j        t          ¦  «        t          j        t          ¦  «        ft          j        t          ¦  «        ffS r   )r   ÚSendInitialMetadataOperationr2  r�   ÚReceiveStatusOnClientOperationÚReceiveInitialMetadataOperation©rX  rY  s     r!   Ú#_stream_unary_invocation_operationsr_  ê  sZ   € õ
 Ô/ØÐ0ñô õ Ô*­<Ñ8Ô8ÝÔ1µ,Ñ?Ô?ð	
õ 
Ô	/µÑ	=Ô	=Ð?ð	ð 	r#   c                 óP   — t          d„ t          | |¦  «        D ¦   «         ¦  «        S )Nc              3   ó   K  — | ]}|d fV — Œ	d S r   rO   )Ú.0r˜   s     r!   ú	<genexpr>z?_stream_unary_invocation_operations_and_tags.<locals>.<genexpr>ü  s@   è è € ð ð ð
 ð Øð	
ðð ð ð ð ð r#   )Útupler_  r^  s     r!   Ú,_stream_unary_invocation_operations_and_tagsre  ù  sD   € õ ð ð õ
 >ØÐ,ñ
ô 
ðñ ô ñ ô ð r#   Úuser_deadlinec                 ól   — t          j        ¦   «         }|€| €d S |�| €|S | �|€| S t          || ¦  «        S r   )r   Úget_deadline_from_contextÚmin)rf  Úparent_deadlines     r!   Ú_determine_deadlinerk    sR   € ÝÔ6Ñ8Ô8€OØÐ =Ð#8ØˆtØÐ" }Ð'<ØÐØÐ  _Ð%<ØÐÝˆ Ñ.Ô.Ð.r#   c                   óÚ  — e Zd ZU ej        ed<   eed<   eed<   eed<   ee	         ed<   ee
         ed<   eed<   ee         ed<   g d	¢Zd
ej        dedededee	         dee
         dee         fd„Zdedee         dee         dee         deej                 deee         eeej                          ee         eej                 f         fd„Z	 	 	 	 	 ddedee         dee         deej                 dee         deej                 deeej        f         fd„Z	 	 	 	 	 ddedee         dee         deej                 dee         deej                 defd„Z	 	 	 	 	 ddedee         dee         deej                 dee         deej                 deeej        f         fd„Z	 	 	 	 	 ddedee         dee         deej                 dee         deej                 de fd„Z!dS )Ú_UnaryUnaryMultiCallableÚ_channelÚ_managed_callÚ_methodÚ_targetÚ_request_serializerrß   Ú_contextÚ_registered_call_handle©rn  rs  ro  rp  rr  rß   rq  ÚchannelÚmanaged_callr7   r8   ry   rT   c                 ó˜   — || _         || _        || _        || _        || _        || _        t          j        ¦   «         | _        || _	        d S r   ©
rn  ro  rp  rq  rr  rß   r   Úbuild_census_contextrs  rt  ©r?   rv  rw  r7   r8   ry   rT   rt  s           r!   r@   z!_UnaryUnaryMultiCallable.__init__'  óO   € ð  ˆŒØ)ˆÔØˆŒØˆŒØ#5ˆÔ Ø&;ˆÔ#ÝÔ3Ñ5Ô5ˆŒØ'>ˆÔ$Ð$Ð$r#   r–   r   rX  Úwait_for_readyÚcompressionr   c                 ó  — t          ||| j        ¦  «        \  }}}t          ¦   «                              |¦  «        }	t	          j        ||¦  «        }
|€d d d |fS t          t          d d d d ¦  «        }t          j	        |
|	¦  «        t          j
        |t          ¦  «        t          j        t          ¦  «        t          j        t          ¦  «        t          j        t          ¦  «        t          j        t          ¦  «        f}|||d fS r   )rS  rr  Ú_InitialMetadataFlagsÚwith_wait_for_readyr   Úaugment_metadatar*   Ú_UNARY_UNARY_INITIAL_DUEr   r[  rŒ   r�   r”   r]  r2  r\  )r?   r–   r   rX  r}  r~  rà   r—   rV  rY  Úaugmented_metadatarP   r˜   s                r!   Ú_preparez!_UnaryUnaryMultiCallable._prepare:  s  € õ 4HØ�W˜dÔ6ñ4
ô 4
Ñ0ˆÐ$ jõ "7Ñ!8Ô!8×!LÒ!LØñ"
ô "
Ðõ *Ô:Ø�kñ
ô 
Ðð Ð%Ø˜˜t ZÐ/Ð/ÝÕ2°D¸$ÀÀdÑKÔKˆåÔ/Ø"Ð$:ñô õ Ô'Ð(:½LÑIÔIÝÔ/µÑ=Ô=ÝÔ2µ<Ñ@Ô@ÝÔ*­<Ñ8Ô8ÝÔ1µ,Ñ?Ô?ð	
ˆ
ð �j (¨DÐ0Ð0r#   NÚcredentialsc                 óü  — |                       |||||¦  «        \  }}}	}
|€|
‚t          j        ¦   «         |_        t	          j        | j        ¦  «        |_        t	          j        | j        ¦  «        |_	        | j
                             t          j        j        | j        d t          |	¦  «        ||€d n|j        |d ff| j        | j        ¦	  «	        }|                     ¦   «         }t)          ||| j        ¦  «         ||fS r   )r…  r   rc   r5   r   r¸   rp  r7   rq  r8   rn  Úsegregated_callr   ÚPropagationConstantsÚGRPC_PROPAGATE_DEFAULTSrk  Ú_credentialsrs  rt  r.  ri   rß   )r?   r–   r   rX  r†  r}  r~  rP   r˜   rà   rV  rx   rS   s                r!   Ú	_blockingz"_UnaryUnaryMultiCallable._blocking_  s  € ð 37·-²-Ø�W˜h¨¸ñ3
ô 3
Ñ/ˆˆz˜8 Zð ˆ=ØÐÝ#Ô0Ñ2Ô2ˆÔÝ”~ d¤lÑ3Ô3ˆŒÝ”~ d¤lÑ3Ô3ˆŒØŒ}×,Ò,ÝÔ'Ô?ØŒLØÝ Ñ)Ô)ØØÐ'ˆDˆD¨[Ô-Eð Øððð ŒMØÔ(ñ
ô 
ˆð  —’Ñ!Ô!ˆÝ�e˜U DÔ$?Ñ@Ô@Ð@Ø�dˆ{Ðr#   c                 ó`   — |                       ||||||¦  «        \  }}t          ||dd ¦  «        S r:   ©rŒ  rW  ©	r?   r–   r   rX  r†  r}  r~  rP   rx   s	            r!   Ú__call__z!_UnaryUnaryMultiCallable.__call__„  s>   € ð —n’nØ�W˜h¨°^À[ñ
ô 
‰ˆˆtõ ,¨E°4¸ÀÑEÔEÐEr#   c                 ó`   — |                       ||||||¦  «        \  }}t          ||dd ¦  «        S ©NTrŽ  r�  s	            r!   rT  z"_UnaryUnaryMultiCallable.with_call’  s>   € ð —n’nØ�W˜h¨°^À[ñ
ô 
‰ˆˆtõ ,¨E°4¸¸tÑDÔDÐDr#   c                 óÒ  — |                       |||||¦  «        \  }}}	}
|€|
‚t          || j        ¦  «        }t          j        ¦   «         |_        t          j        | j        ¦  «        |_	        t          j        | j
        ¦  «        |_        |                      t          j        j        | j        d |	||€d n|j        |f|| j        | j        ¦
  «
        }t'          ||| j        |	¦  «        S r   )r…  rv   rß   r   rc   r5   r   r¸   rp  r7   rq  r8   ro  r   r‰  rŠ  r‹  rs  rt  r6  )r?   r–   r   rX  r†  r}  r~  rP   r˜   rà   rV  rz   rx   s                r!   Úfuturez_UnaryUnaryMultiCallable.future   sï   € ð 37·-²-Ø�W˜h¨¸ñ3
ô 3
Ñ/ˆˆz˜8 Zð ˆ=ØÐÝ& u¨dÔ.IÑJÔJˆÝ#Ô0Ñ2Ô2ˆÔÝ”~ d¤lÑ3Ô3ˆŒÝ”~ d¤lÑ3Ô3ˆŒØ×!Ò!ÝÔ'Ô?ØŒLØØØØÐ'ˆDˆD¨[Ô-EØˆMØØŒMØÔ(ñ
ô 
ˆõ (Ø�4˜Ô4°hñ
ô 
ð 	
r#   ©NNNNN)"rD   rE   rF   r   ÚChannelrG   r   Úbytesr   r   r   r   rM   Ú	__slots__r@   rN   r   rL   rI   ÚCompressionr   r*   r	   Ú	OperationrÑ   r…  ÚCallCredentialsr  rŒ  r�  ÚCallrT  r6  r”  rO   r#   r!   rm  rm    sî  € € € € € € ØŒnÐÐÑØ(Ð(Ð(Ñ(Ø€N€N�NØ€N€N�NØ!Ð"5Ô6Ð6Ð6Ñ6Ø$Ð%:Ô;Ð;Ð;Ñ;Ø€M€M�MØ% cœ]Ð*Ð*Ñ*ðð ð €Ið?à”ð?ð ,ð?ð ð	?ð
 ð?ð %Ð%8Ô9ð?ð  (Ð(=Ô>ð?ð "*¨#¤ð?ð ?ð ?ð ?ð&#1àð#1ð ˜%”ð#1ð ˜<Ô(ð	#1ð
 ! œð#1ð ˜dÔ.Ô/ð#1ð 
Ø�ÔØ�˜&Ô*Ô+Ô,Ø�ŒØ�”Ôð	!ô
ð#1ð #1ð #1ð #1ðP $(Ø+/Ø6:Ø)-Ø26ð#ð #àð#ð ˜%”ð#ð ˜<Ô(ð	#ð
 ˜dÔ2Ô3ð#ð ! œð#ð ˜dÔ.Ô/ð#ð 
ˆy˜&Ô/Ð/Ô	0ð#ð #ð #ð #ðP $(Ø+/Ø6:Ø)-Ø26ðFð FàðFð ˜%”ðFð ˜<Ô(ð	Fð
 ˜dÔ2Ô3ðFð ! œðFð ˜dÔ.Ô/ðFð 
ðFð Fð Fð Fð" $(Ø+/Ø6:Ø)-Ø26ðEð EàðEð ˜%”ðEð ˜<Ô(ð	Eð
 ˜dÔ2Ô3ðEð ! œðEð ˜dÔ.Ô/ðEð 
ˆs�D”Iˆ~Ô	ðEð Eð Eð Eð" $(Ø+/Ø6:Ø)-Ø26ð 
ð  
àð 
ð ˜%”ð 
ð ˜<Ô(ð	 
ð
 ˜dÔ2Ô3ð 
ð ! œð 
ð ˜dÔ.Ô/ð 
ð 
"ð 
ð  
ð  
ð  
ð  
ð  
r#   rm  c                   óB  — e Zd ZU ej        ed<   eed<   eed<   ee         ed<   ee	         ed<   e
ed<   ee         ed<   g d¢Zd	ej        d
ededede	dee         fd„Z	 	 	 	 	 dde
dee         dee         deej                 dee         deej                 defd„ZdS )Ú'_SingleThreadedUnaryStreamMultiCallablern  rp  rq  rr  rß   rs  rt  )rn  rs  rp  rr  rß   rq  rv  r7   r8   ry   rT   c                 óŠ   — || _         || _        || _        || _        || _        t          j        ¦   «         | _        || _        d S r   )	rn  rp  rq  rr  rß   r   rz  rs  rt  )r?   rv  r7   r8   ry   rT   rt  s          r!   r@   z0_SingleThreadedUnaryStreamMultiCallable.__init__Ö  sG   € ð  ˆŒØˆŒØˆŒØ#5ˆÔ Ø&;ˆÔ#ÝÔ3Ñ5Ô5ˆŒØ'>ˆÔ$Ð$Ð$r#   Nr–   r   rX  r†  r}  r~  r   c                 ó  — t          |¦  «        }t          j        || j        ¦  «        }|€1t	          dddt
          j        j        d¦  «        }	t          |	¦  «        ‚t	          t          d d d d ¦  «        }	|€d n|j
        }
t          ¦   «                              |¦  «        }t          j        ||¦  «        }t          j        ||¦  «        t          j        |t$          ¦  «        t          j        t$          ¦  «        ft          j        t$          ¦  «        ft          j        t$          ¦  «        ff}t-          d„ |D ¦   «         ¦  «        }t/          j        ¦   «         |	_        t          j        | j        ¦  «        |	_        t          j        | j        ¦  «        |	_        | j                              t          j!        j"        | j        d tG          |¦  «        ||
|| j$        | j%        ¦	  «	        }tM          |	|| j'        |¦  «        S )NrO   r}   c              3   ó   K  — | ]}|d fV — Œ	d S r   rO   )rb  Úopss     r!   rc  zC_SingleThreadedUnaryStreamMultiCallable.__call__.<locals>.<genexpr>  s&   è è € Ð#FÐ#F°C S¨$ KÐ#FÐ#FÐ#FÐ#FÐ#FÐ#Fr#   )(r"   r   rŠ   rr  r*   rI   rJ   r]   rª   Ú_UNARY_STREAM_INITIAL_DUEr‹  r€  r�  r   r‚  r   r[  rŒ   r�   r”   r\  r]  rd  r   rc   r5   r¸   rp  r7   rq  r8   rn  rˆ  r‰  rŠ  rk  rs  rt  r  rß   )r?   r–   r   rX  r†  r}  r~  rà   r—   rP   Úcall_credentialsrY  r„  r˜   Úoperations_and_tagsrx   s                   r!   r�  z0_SingleThreadedUnaryStreamMultiCallable.__call__ç  sò  € õ ˜WÑ%Ô%ˆÝ$Ô.Ø�TÔ-ñ
ô 
Ðð Ð%ÝØØØÝ”Ô(Ø0ñô ˆEõ $ EÑ*Ô*Ð*åÕ3°T¸4ÀÀtÑLÔLˆàÐ'ˆDˆD¨[Ô-Eð 	õ "7Ñ!8Ô!8×!LÒ!LØñ"
ô "
Ðõ *Ô:Ø�kñ
ô 
Ðõ
 Ô3Ø&Ð(>ñô õ Ô+Ð,>ÅÑMÔMÝÔ3µLÑAÔAðõ Ô2µ<Ñ@Ô@ÐBÝÔ3µLÑAÔAÐCð

ˆ
õ $Ð#FÐ#F¸:Ð#FÑ#FÔ#FÑFÔFÐÝ#Ô0Ñ2Ô2ˆÔÝ”~ d¤lÑ3Ô3ˆŒÝ”~ d¤lÑ3Ô3ˆŒØŒ}×,Ò,ÝÔ'Ô?ØŒLØÝ Ñ)Ô)ØØØØŒMØÔ(ñ

ô 

ˆõ )Ø�4˜Ô4°hñ
ô 
ð 	
r#   r•  )rD   rE   rF   r   r–  rG   r—  r   r   r   r   rM   r˜  r@   rN   r   rI   r›  rL   r™  r  r�  rO   r#   r!   rž  rž  Ã  sc  € € € € € € ØŒnÐÐÑØ€N€N�NØ€N€N�NØ!Ð"5Ô6Ð6Ð6Ñ6Ø$Ð%:Ô;Ð;Ð;Ñ;Ø€M€M�MØ% cœ]Ð*Ð*Ñ*ðð ð €Ið?à”ð?ð ð?ð ð	?ð
 0ð?ð  5ð?ð "*¨#¤ð?ð ?ð ?ð ?ð( $(Ø+/Ø6:Ø)-Ø26ð=
ð =
àð=
ð ˜%”ð=
ð ˜<Ô(ð	=
ð
 ˜dÔ2Ô3ð=
ð ! œð=
ð ˜dÔ.Ô/ð=
ð 
#ð=
ð =
ð =
ð =
ð =
ð =
r#   rž  c                   óP  — e Zd ZU ej        ed<   eed<   eed<   eed<   ee	         ed<   ee
         ed<   eed<   ee         ed<   g d	¢Zd
ej        dededede	de
dee         fd„Z	 	 	 	 	 ddedee         dee         deej                 dee         deej                 defd„ZdS )Ú_UnaryStreamMultiCallablern  ro  rp  rq  rr  rß   rs  rt  ru  rv  rw  r7   r8   ry   rT   c                 ó˜   — || _         || _        || _        || _        || _        || _        t          j        ¦   «         | _        || _	        d S r   ry  r{  s           r!   r@   z"_UnaryStreamMultiCallable.__init__<  r|  r#   Nr–   r   rX  r†  r}  r~  r   c                 ól  — t          ||| j        ¦  «        \  }}}	t          ¦   «                              |¦  «        }
|€|	‚t	          j        ||¦  «        }t          t          d d d d ¦  «        }t          j	        ||
¦  «        t          j
        |t          ¦  «        t          j        t          ¦  «        t          j        t          ¦  «        ft          j        t          ¦  «        ff}t          j        ¦   «         |_        t%          j        | j        ¦  «        |_        t%          j        | j        ¦  «        |_        |                      t          j        j        | j        d t7          |¦  «        ||€d n|j        |t;          || j        ¦  «        | j        | j         ¦
  «
        }tC          ||| j        |¦  «        S r   )"rS  rr  r€  r�  r   r‚  r*   r£  r   r[  rŒ   r�   r”   r\  r]  r   rc   r5   r   r¸   rp  r7   rq  r8   ro  r‰  rŠ  rk  r‹  rv   rß   rs  rt  r6  )r?   r–   r   rX  r†  r}  r~  rà   r—   rV  rY  r„  rP   r˜   rx   s                  r!   r�  z"_UnaryStreamMultiCallable.__call__O  s¥  € õ 4HØ�W˜dÔ6ñ4
ô 4
Ñ0ˆÐ$ jõ "7Ñ!8Ô!8×!LÒ!LØñ"
ô "
Ðð Ð%ØÐÝ)Ô:Ø�kñ
ô 
Ðõ Õ3°T¸4ÀÀtÑLÔLˆõ Ô3Ø&Ð(>ñô õ Ô+Ð,>ÅÑMÔMÝÔ3µLÑAÔAÝÔ5µlÑCÔCðõ Ô3µLÑAÔAÐCð

ˆ
õ  $Ô0Ñ2Ô2ˆÔÝ”~ d¤lÑ3Ô3ˆŒÝ”~ d¤lÑ3Ô3ˆŒØ×!Ò!ÝÔ'Ô?ØŒLØÝ Ñ)Ô)ØØÐ'ˆDˆD¨[Ô-EØÝ˜5 $Ô"=Ñ>Ô>ØŒMØÔ(ñ
ô 
ˆõ (Ø�4˜Ô4°hñ
ô 
ð 	
r#   r•  )rD   rE   rF   r   r–  rG   r   r—  r   r   r   r   rM   r˜  r@   rN   r   rI   r›  rL   r™  r6  r�  rO   r#   r!   r§  r§  '  sy  € € € € € € ØŒnÐÐÑØ(Ð(Ð(Ñ(Ø€N€N�NØ€N€N�NØ!Ð"5Ô6Ð6Ð6Ñ6Ø$Ð%:Ô;Ð;Ð;Ñ;Ø€M€M�MØ% cœ]Ð*Ð*Ñ*ðð ð €Ið?à”ð?ð ,ð?ð ð	?ð
 ð?ð 0ð?ð  5ð?ð "*¨#¤ð?ð ?ð ?ð ?ð, $(Ø+/Ø6:Ø)-Ø26ð1
ð 1
àð1
ð ˜%”ð1
ð ˜<Ô(ð	1
ð
 ˜dÔ2Ô3ð1
ð ! œð1
ð ˜dÔ.Ô/ð1
ð 
"ð1
ð 1
ð 1
ð 1
ð 1
ð 1
r#   r§  c                   ó  — e Zd ZU ej        ed<   eed<   eed<   eed<   ee	         ed<   ee
         ed<   eed<   ee         ed<   g d	¢Zd
ej        dedededee	         dee
         dee         fd„Zdedee         dee         deej                 dee         deej                 deeej        f         fd„Z	 	 	 	 	 ddedee         dee         deej                 dee         deej                 defd„Z	 	 	 	 	 ddedee         dee         deej                 dee         deej                 deeej        f         fd„Z	 	 	 	 	 ddedee         dee         deej                 dee         deej                 defd„ZdS )Ú_StreamUnaryMultiCallablern  ro  rp  rq  rr  rß   rs  rt  ru  rv  rw  r7   r8   ry   rT   c                 ó˜   — || _         || _        || _        || _        || _        || _        t          j        ¦   «         | _        || _	        d S r   ry  r{  s           r!   r@   z"_StreamUnaryMultiCallable.__init__˜  r|  r#   rw   r   rX  r†  r}  r~  r   c                 óV  — t          |¦  «        }t          t          d d d d ¦  «        }t          ¦   «                              |¦  «        }	t          j        ||¦  «        }
t          j        ¦   «         |_	        t          j        | j        ¦  «        |_        t          j        | j        ¦  «        |_        | j                             t$          j        j        | j        d t+          |¦  «        |
|€d n|j        t/          |
|	¦  «        | j        | j        ¦	  «	        }t5          |||| j        d ¦  «         	 |                     ¦   «         }|j        5  t=          ||| j        ¦  «         |j                              ¦   «          |j!        s	 d d d ¦  «         n	 d d d ¦  «         n# 1 swxY w Y   Œx||fS r   )"r"   r*   Ú_STREAM_UNARY_INITIAL_DUEr€  r�  r   r‚  r   rc   r5   r   r¸   rp  r7   rq  r8   rn  rˆ  r   r‰  rŠ  rk  r‹  re  rs  rt  r¡   rr  r.  r+   ri   rß   rl   r,   )r?   rw   r   rX  r†  r}  r~  rà   rP   rY  r„  rx   rS   s                r!   rŒ  z#_StreamUnaryMultiCallable._blocking«  s   € õ ˜WÑ%Ô%ˆÝÕ3°T¸4ÀÀtÑLÔLˆÝ!6Ñ!8Ô!8×!LÒ!LØñ"
ô "
Ðõ *Ô:Ø�kñ
ô 
Ðõ  $Ô0Ñ2Ô2ˆÔÝ”~ d¤lÑ3Ô3ˆŒÝ”~ d¤lÑ3Ô3ˆŒØŒ}×,Ò,ÝÔ'Ô?ØŒLØÝ Ñ)Ô)ØØÐ'ˆDˆD¨[Ô-EÝ8Ø"Ð$:ñô ð ŒMØÔ(ñ
ô 
ˆõ 	"Ø˜e T¨4Ô+CÀTñ	
ô 	
ð 	
ð	Ø—O’OÑ%Ô%ˆEØ”ð ð Ý˜e U¨DÔ,GÑHÔHÐHØ”×*Ò*Ñ,Ô,Ð,Ø”yð Øð	ð ð ñ ô ð ð ððð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð ð	ð �dˆ{Ðs   Å
8FÆFÆ"FNc                 ó`   — |                       ||||||¦  «        \  }}t          ||dd ¦  «        S r:   rŽ  ©	r?   rw   r   rX  r†  r}  r~  rP   rx   s	            r!   r�  z"_StreamUnaryMultiCallable.__call__Ø  sC   € ð —n’nØØØØØØñ
ô 
‰ˆˆtõ ,¨E°4¸ÀÑEÔEÐEr#   c                 ó`   — |                       ||||||¦  «        \  }}t          ||dd ¦  «        S r’  rŽ  r°  s	            r!   rT  z#_StreamUnaryMultiCallable.with_callë  sC   € ð —n’nØØØØØØñ
ô 
‰ˆˆtõ ,¨E°4¸¸tÑDÔDÐDr#   c                 ó’  — t          |¦  «        }t          t          d d d d ¦  «        }t          || j        ¦  «        }	t          ¦   «                              |¦  «        }
t          j        ||¦  «        }t          j
        ¦   «         |_        t          j        | j        ¦  «        |_        t          j        | j        ¦  «        |_        |                      t&          j        j        | j        d |||€d n|j        t/          ||
¦  «        |	| j        | j        ¦
  «
        }t5          |||| j        |	¦  «         t9          ||| j        |¦  «        S r   )r"   r*   r®  rv   rß   r€  r�  r   r‚  r   rc   r5   r   r¸   rp  r7   rq  r8   ro  r   r‰  rŠ  r‹  r_  rs  rt  r¡   rr  r6  )r?   rw   r   rX  r†  r}  r~  rà   rP   rz   rY  r„  rx   s                r!   r”  z _StreamUnaryMultiCallable.futureþ  sO  € õ ˜WÑ%Ô%ˆÝÕ3°T¸4ÀÀtÑLÔLˆÝ& u¨dÔ.IÑJÔJˆÝ!6Ñ!8Ô!8×!LÒ!LØñ"
ô "
Ðõ *Ô:Ø�kñ
ô 
Ðõ  $Ô0Ñ2Ô2ˆÔÝ”~ d¤lÑ3Ô3ˆŒÝ”~ d¤lÑ3Ô3ˆŒØ×!Ò!ÝÔ'Ô?ØŒLØØØØÐ'ˆDˆD¨[Ô-EÝ/ØÐ0ñô ð ØŒMØÔ(ñ
ô 
ˆõ 	"ØØØØÔ$Øñ	
ô 	
ð 	
õ (Ø�4˜Ô4°hñ
ô 
ð 	
r#   r•  )rD   rE   rF   r   r–  rG   r   r—  r   r   r   r   rM   r˜  r@   r   rN   r   rI   r›  rL   r™  r   r*   r  rŒ  r�  rœ  rT  r6  r”  rO   r#   r!   r«  r«  ƒ  sA  € € € € € € ØŒnÐÐÑØ(Ð(Ð(Ñ(Ø€N€N�NØ€N€N�NØ!Ð"5Ô6Ð6Ð6Ñ6Ø$Ð%:Ô;Ð;Ð;Ñ;Ø€M€M�MØ% cœ]Ð*Ð*Ñ*ðð ð €Ið?à”ð?ð ,ð?ð ð	?ð
 ð?ð %Ð%8Ô9ð?ð  (Ð(=Ô>ð?ð "*¨#¤ð?ð ?ð ?ð ?ð&+à"ð+ð ˜%”ð+ð ˜<Ô(ð	+ð
 ˜dÔ2Ô3ð+ð ! œð+ð ˜dÔ.Ô/ð+ð 
ˆy˜&Ô/Ð/Ô	0ð+ð +ð +ð +ð` $(Ø+/Ø6:Ø)-Ø26ðFð Fà"ðFð ˜%”ðFð ˜<Ô(ð	Fð
 ˜dÔ2Ô3ðFð ! œðFð ˜dÔ.Ô/ðFð 
ðFð Fð Fð Fð, $(Ø+/Ø6:Ø)-Ø26ðEð Eà"ðEð ˜%”ðEð ˜<Ô(ð	Eð
 ˜dÔ2Ô3ðEð ! œðEð ˜dÔ.Ô/ðEð 
ˆs�D”Iˆ~Ô	ðEð Eð Eð Eð, $(Ø+/Ø6:Ø)-Ø26ð,
ð ,
à"ð,
ð ˜%”ð,
ð ˜<Ô(ð	,
ð
 ˜dÔ2Ô3ð,
ð ! œð,
ð ˜dÔ.Ô/ð,
ð 
"ð,
ð ,
ð ,
ð ,
ð ,
ð ,
r#   r«  c                   óh  — e Zd ZU ej        ed<   eed<   eed<   eed<   ee	         ed<   ee
         ed<   eed<   ee         ed<   g d	¢Zd
ej        dedededee	         dee
         dee         fd„Z	 	 	 	 	 ddedee         dee         deej                 dee         deej                 defd„ZdS )Ú_StreamStreamMultiCallablern  ro  rp  rq  rr  rß   rs  rt  ru  rv  rw  r7   r8   ry   rT   c                 ó˜   — || _         || _        || _        || _        || _        || _        t          j        ¦   «         | _        || _	        d S r   ry  r{  s           r!   r@   z#_StreamStreamMultiCallable.__init__B  r|  r#   Nrw   r   rX  r†  r}  r~  r   c                 ó   — t          |¦  «        }t          t          d d d d ¦  «        }t          ¦   «                              |¦  «        }	t          j        ||¦  «        }
t          j        |
|	¦  «        t          j	        t          ¦  «        ft          j        t          ¦  «        ff}t          || j        ¦  «        }t          j        ¦   «         |_        t#          j        | j        ¦  «        |_        t#          j        | j        ¦  «        |_        |                      t          j        j        | j        d t5          |¦  «        |
|€d n|j        ||| j        | j        ¦
  «
        }t=          |||| j        |¦  «         tA          ||| j        |¦  «        S r   )!r"   r*   Ú_STREAM_STREAM_INITIAL_DUEr€  r�  r   r‚  r   r[  r\  r�   r]  rv   rß   r   rc   r5   r   r¸   rp  r7   rq  r8   ro  r‰  rŠ  rk  r‹  rs  rt  r¡   rr  r6  )r?   rw   r   rX  r†  r}  r~  rà   rP   rY  r„  r˜   rz   rx   s                 r!   r�  z#_StreamStreamMultiCallable.__call__U  sŒ  € õ ˜WÑ%Ô%ˆÝÕ4°d¸DÀ$ÈÑMÔMˆÝ!6Ñ!8Ô!8×!LÒ!LØñ"
ô "
Ðõ *Ô:Ø�kñ
ô 
Ðõ
 Ô3Ø&Ð(>ñô õ Ô5µlÑCÔCð	õ Ô3µLÑAÔAÐCð
ˆ
õ ' u¨dÔ.IÑJÔJˆÝ#Ô0Ñ2Ô2ˆÔÝ”~ d¤lÑ3Ô3ˆŒÝ”~ d¤lÑ3Ô3ˆŒØ×!Ò!ÝÔ'Ô?ØŒLØÝ Ñ)Ô)ØØÐ'ˆDˆD¨[Ô-EØØØŒMØÔ(ñ
ô 
ˆõ 	"ØØØØÔ$Øñ	
ô 	
ð 	
õ (Ø�4˜Ô4°hñ
ô 
ð 	
r#   r•  )rD   rE   rF   r   r–  rG   r   r—  r   r   r   r   rM   r˜  r@   r   rN   r   rI   r›  rL   r™  r6  r�  rO   r#   r!   r´  r´  -  s…  € € € € € € ØŒnÐÐÑØ(Ð(Ð(Ñ(Ø€N€N�NØ€N€N�NØ!Ð"5Ô6Ð6Ð6Ñ6Ø$Ð%:Ô;Ð;Ð;Ñ;Ø€M€M�MØ% cœ]Ð*Ð*Ñ*ðð ð €Ið?à”ð?ð ,ð?ð ð	?ð
 ð?ð %Ð%8Ô9ð?ð  (Ð(=Ô>ð?ð "*¨#¤ð?ð ?ð ?ð ?ð, $(Ø+/Ø6:Ø)-Ø26ð3
ð 3
à"ð3
ð ˜%”ð3
ð ˜<Ô(ð	3
ð
 ˜dÔ2Ô3ð3
ð ! œð3
ð ˜dÔ.Ô/ð3
ð 
"ð3
ð 3
ð 3
ð 3
ð 3
ð 3
r#   r´  c                   óH   ‡ — e Zd ZdZefdefˆ fd„Zdee         defd„Z	ˆ xZ
S )r€  z'Stores immutable initial metadata flagsÚvaluec                 ó~   •— |t           j        j        z  }t          t          | ¦  «                             | |¦  «        S r   )r   ÚInitialMetadataFlagsÚ	used_maskrâ   r€  Ú__new__)Úclsr¹  r¼   s     €r!   r½  z_InitialMetadataFlags.__new__Ž  s4   ø€ Ø•Ô,Ô6Ñ6ˆÝÕ*¨CÑ0Ô0×8Ò8¸¸eÑDÔDÐDr#   r}  r   c                 óø   — |�w|r9|                       | t          j        j        z  t          j        j        z  ¦  «        S |s:|                       | t          j        j         z  t          j        j        z  ¦  «        S | S r   )r¼   r   r»  r}  Úwait_for_ready_explicitly_set)r?   r}  s     r!   r�  z)_InitialMetadataFlags.with_wait_for_ready’  sŽ   € ØÐ%Øð Ø—~’~ØÝÔ1Ô@ñAåÔ1ÔOñPñô ð ð
 "ð Ø—~’~Ø�FÔ7ÔFÐFÑFÝÔ1ÔOñPñô ð ð ˆr#   )rD   rE   rF   rØ   r�   rM   r½  r   rL   r�  r  r  s   @r!   r€  r€  ‹  s€   ø€ € € € € Ø1Ð1à".ð Eð E˜Cð Eð Eð Eð Eð Eð Eð°(¸4´.ð ÀSð ð ð ð ð ð ð ð r#   r€  c                   ó\   — e Zd ZU ej        ed<   eed<   eed<   dej        fd„Zd	d„Z	d„ Z
dS )
Ú_ChannelCallStaterv  Úmanaged_callsr;   c                 ó`   — t          j        ¦   «         | _        || _        d| _        d| _         d S )Nr   F)r;   ÚLockÚlockrv  rÃ  ©r?   rv  s     r!   r@   z_ChannelCallState.__init__§  s+   € Ý”NÑ$Ô$ˆŒ	ØˆŒØˆÔØˆŒˆˆr#   r   Nc                 ó   — d| _         d S )Nr   )rÃ  rB   s    r!   rC   z&_ChannelCallState.reset_postfork_child­  s   € ØˆÔÐÐr#   c                 óŒ   — 	 | j                              t          j        j        d¦  «         d S # t
          t          f$ r Y d S w xY w)NzChannel deallocated!)rv  Úcloser   rJ   r2   Ú	TypeErrorÚAttributeErrorrB   s    r!   r  z_ChannelCallState.__del__°  s`   € ð	ØŒL×ÒÝÔ!Ô+Ð-Cñô ð ð ð øõ �>Ð*ð 	ð 	ð 	ØˆDˆDð	øøøs   ‚*. ®AÁAr  )rD   rE   rF   r   r–  rG   rM   rL   r@   rC   r  rO   r#   r!   rÂ  rÂ  ¢  sy   € € € € € € ØŒ^ÐÐÑØÐÐÑØ€O€O�Oð ¤ð ð ð ð ðð ð ð ðð ð ð ð r#   rÂ  c                 óŽ   ‡ — ˆ fd„}t          j        |¬¦  «        }|                     d¦  «         |                     ¦   «          d S )Nc                  óX  •— 	 t          j        ‰¦  «         ‰j                             ¦   «         } | j        t           j        j        k    rŒI|                      | ¦  «        }|rI‰j        5  ‰xj	        dz  c_	        ‰j	        dk    r	 d d d ¦  «         d S 	 d d d ¦  «         n# 1 swxY w Y   Œ©)NTé   r   )
r   r’   rv  Únext_call_eventÚcompletion_typeÚCompletionTypeÚqueue_timeoutÚtagrÆ  rÃ  )rS   Úcall_completedrP   s     €r!   Úchannel_spinz._run_channel_spin_thread.<locals>.channel_spinº  s  ø€ ð
	ÝÔ,¨UÑ3Ô3Ð3Ø”M×1Ò1Ñ3Ô3ˆEØÔ$­Ô(=Ô(KÒKÐKØØ"ŸYšY uÑ-Ô-ˆNØð Ø”Zð ð ØÐ'Ô'¨1Ñ,Ð'Ô'ØÔ*¨aÒ/Ð/Øðð ð ñ ô ð ð ð à/ðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð ð
	s   Á)B Â B$Â'B$r›   Trœ   )rP   rÖ  Úchannel_spin_threads   `  r!   Ú_run_channel_spin_threadrØ  ¹  s^   ø€ ðð ð ð ð õ !Ô2¸,ÐGÑGÔGÐØ×!Ò! $Ñ'Ô'Ð'Ø×ÒÑÔÐÐÐr#   c                 óf  ‡ — dt           dt          dt          t                   dt          t                   dt          t
                   dt          t          j                 dt          t          t          j	                          dt          d	t          d
t          t                    dt          j        fˆ fd„}|S )NÚflagsr7   Úhostrà   rX  r†  r˜   rz   Úcontextrt  r   c
                 ó*  •‡— t          ˆfd„|D ¦   «         ¦  «        }
‰j        5  ‰j                             | ||||||
||	¦	  «	        }‰j        dk    rd‰_        t          ‰¦  «         n‰xj        dz  c_        |cddd¦  «         S # 1 swxY w Y   dS )a°  Creates a cygrpc.IntegratedCall.

        Args:
          flags: An integer bitfield of call flags.
          method: The RPC method.
          host: A host string for the created call.
          deadline: A float to be the deadline of the created call or None if
            the call is to have an infinite deadline.
          metadata: The metadata for the call or None.
          credentials: A cygrpc.CallCredentials or None.
          operations: A sequence of sequences of cygrpc.Operations to be
            started on the call.
          event_handler: A behavior to call to handle the events resultant from
            the operations on the call.
          context: Context object for distributed tracing.
          _registered_call_handle: An int representing the call handle of the
            method, or None if the method is not registered.

        Returns:
          A cygrpc.IntegratedCall with which to conduct an RPC.
        c              3   ó    •K  — | ]}|‰fV — Œ	d S r   rO   )rb  Ú	operationrz   s     €r!   rc  zC_channel_managed_call_management.<locals>.create.<locals>.<genexpr>ï  sA   øè è € ð $
ð $
ð
 ð Øðð$
ð $
ð $
ð $
ð $
ð $
r#   r   rÏ  N)rd  rÆ  rv  Úintegrated_callrÃ  rØ  )rÚ  r7   rÛ  rà   rX  r†  r˜   rz   rÜ  rt  r¥  rx   rP   s          `    €r!   Úcreatez0_channel_managed_call_management.<locals>.createÎ  s  øø€ õB $ð $
ð $
ð $
ð $
ð
 (ð$
ñ $
ô $
ñ 
ô 
Ðð ŒZð 	ð 	Ø”=×0Ò0ØØØØØØØ#ØØ'ñ
ô 
ˆDð Ô" aÒ'Ð'Ø&'�Ô#Ý(¨Ñ/Ô/Ð/Ð/àÐ#Ô# qÑ(Ð#Ô#Øð#	ð 	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	ð 	s   ¥ABÂBÂB)rM   r—  r   rK   rN   r   r   r›  r	   rš  r   r   r  )rP   rá  s   ` r!   Ú _channel_managed_call_managementrâ  Ì  s¼   ø€ ð9Ýð9åð9õ •sŒmð9õ �5”/ð	9õ
 �<Ô(ð9õ �fÔ4Ô5ð9õ �X¥fÔ&6Ô7Ô8ð9õ ð9õ ð9õ "*­#¤ð9õ 
Ô	ð9ð 9ð 9ð 9ð 9ð 9ðv €Mr#   c                   óì   — e Zd ZU ej        ed<   ej        ed<   eed<   e	j
        ed<   eed<   eeeee	j
        gdf         ee	j
                 f                           ed<   eed<   dej        fd	„Zdd„ZdS )Ú_ChannelConnectivityStaterÆ  rv  ÚpollingÚconnectivityÚtry_to_connectNÚcallbacks_and_connectivitiesÚ
deliveringc                 óŠ   — t          j        ¦   «         | _        || _        d| _        d | _        d| _        g | _        d| _        d S r:   )	r;   ÚRLockrÆ  rv  rå  ræ  rç  rè  ré  rÇ  s     r!   r@   z"_ChannelConnectivityState.__init__  sB   € Ý”OÑ%Ô%ˆŒ	ØˆŒØˆŒØ ˆÔØ#ˆÔØ,.ˆÔ)ØˆŒˆˆr#   r   c                 ó0   — d| _         d | _        d| _        d S r:   )rå  ræ  ré  rB   s    r!   rC   z._ChannelConnectivityState.reset_postfork_child&  s   € ØˆŒØ ˆÔØˆŒˆˆr#   r  )rD   rE   rF   r;   rë  rG   r   r–  rL   rI   ÚChannelConnectivityr   r	   r   r   r   r@   rC   rO   r#   r!   rä  rä    sß   € € € € € € Ø
Œ/ÐÐÑØŒ^ÐÐÑØ€M€M�MØÔ*Ð*Ð*Ñ*ØÐÐÑà"&ØØØ˜$Ô2Ð3°TÐ9Ô:Ø˜Ô1Ô2ð4ôô	
ô#ð ð ñ ð ÐÐÑð  ¤ð  ð  ð  ð  ð ð  ð  ð  ð  ð  r#   rä  c                 óx   — g }| j         D ]/}|\  }}|| j        ur|                     |¦  «         | j        |d<   Œ0|S )NrÏ  )rè  ræ  rí   )rP   Úcallbacks_needing_updateÚcallback_and_connectivityrs   Úcallback_connectivitys        r!   Ú_deliveriesrò  ,  s_   € ð  "ÐØ%*Ô%Gð >ð >Ð!Ø*CÑ'ˆÐ'Ø ¨Ô(:Ð:Ð:Ø$×+Ò+¨HÑ5Ô5Ð5Ø+0Ô+=Ð% aÑ(øØ#Ð#r#   Úinitial_connectivityÚinitial_callbacksc                 óR  — |}|}	 |D ]=}	  ||¦  «         Œ# t           $ r" t                               t          ¦  «         Y Œ:w xY wt	          j        | ¦  «         | j        5  t          | ¦  «        }|r| j        }nd| _	        	 d d d ¦  «         d S 	 d d d ¦  «         n# 1 swxY w Y   Œ£)NTF)
rm   rn   r‡   Ú0_CHANNEL_SUBSCRIPTION_CALLBACK_ERROR_LOG_MESSAGEr   r’   rÆ  rò  ræ  ré  )rP   ró  rô  ræ  r3   rs   s         r!   Ú_deliverr÷  8  sF  € ð
 (€LØ!€IðØ!ð 	ð 	ˆHðØ�˜Ñ&Ô&Ð&Ð&øÝð ð ð Ý×!Ò!ÝDñô ð ð ð ðøøøõ 	Ô(¨Ñ/Ô/Ð/ØŒZð 	ð 	Ý# EÑ*Ô*ˆIØð Ø$Ô1��à#(�Ô Øð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð ð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ðs!   ‹—)AÁAÁ!"BÂB!Â$B!r3   c                 ó¬   — t          j        t          | | j        |f¬¦  «        }|                     d¦  «         |                     ¦   «          d| _        dS )zgSpawn a thread running the _deliver function.

    Should only be called while holding state.lock.
    ©r8   ÚargsTN)r   r�   r÷  ræ  rž   rŸ   ré  )rP   r3   Údelivering_threads      r!   Ú_spawn_deliveryrü  Q  sf   € õ Ô0ÝàØÔØð
ðñ ô Ðð ×Ò Ñ%Ô%Ð%Ø×ÒÑÔÐØ€EÔÐÐr#   rv  Úinitial_try_to_connectc                 óL  — |}|                      |¦  «        }| j        5  t          j        |         | _        t          d„ | j        D ¦   «         ¦  «        }| j        D ]}| j        |d<   Œ|rt          | |¦  «         d d d ¦  «         n# 1 swxY w Y   	 |                     |t          j	        ¦   «         dz   ¦  «        }t          j        | ¦  «         | j        5  | j        s#| j        sd| _        d | _        	 d d d ¦  «         d S | j        }d| _        d d d ¦  «         n# 1 swxY w Y   |j        s|rs|                      |¦  «        }| j        5  t          j        |         | _        | j        s!t!          | ¦  «        }|rt          | |¦  «         d d d ¦  «         n# 1 swxY w Y   �Œ)Nc              3   ó    K  — | ]	\  }}|V — Œ
d S r   rO   )rb  rs   Ú_s      r!   rc  z%_poll_connectivity.<locals>.<genexpr>t  s7   è è € ð 
ð 
Ù$˜ 1ˆHð
ð 
ð 
ð 
ð 
ð 
r#   rÏ  Tgš™™™™™É?F)Úcheck_connectivity_staterÆ  r   Ú1CYGRPC_CONNECTIVITY_STATE_TO_CHANNEL_CONNECTIVITYræ  rd  rè  rü  Úwatch_connectivity_stater   r   r’   rç  rå  Úsuccessré  rò  )rP   rv  rý  rç  ræ  r3   rð  rS   s           r!   Ú_poll_connectivityr  g  sË  € ð
 ,€NØ×3Ò3°NÑCÔC€LØ	Œð .ð .åÔEØôð 	Ôõ
 ð 
ð 
Ø(-Ô(Jð
ñ 
ô 
ñ 
ô 
ˆ	ð */Ô)Kð 	>ð 	>Ð%Ø+0Ô+=Ð% aÑ(Ð(Øð 	.Ý˜E 9Ñ-Ô-Ð-ð.ð .ð .ñ .ô .ð .ð .ð .ð .ð .ð .øøøð .ð .ð .ð .ð:Ø×0Ò0Ø�$œ)™+œ+¨Ñ+ñ
ô 
ˆõ 	Ô(¨Ñ/Ô/Ð/ØŒZð 		)ð 		)àÔ6ðàÔ,ðð !&�”Ø%)�Ô"Øð		)ð 		)ð 		)ñ 		)ô 		)ð 		)ð 		)ð 		)ð #Ô1ˆNØ#(ˆEÔ ð		)ð 		)ð 		)ñ 		)ô 		)ð 		)ð 		)ð 		)ð 		)ð 		)ð 		)øøøð 		)ð 		)ð 		)ð 		)ð Œ=ð 	:˜Nð 	:Ø"×;Ò;¸NÑKÔKˆLØ”ð 	:ð 	:åÔMØ$ôð Ô"ð
 Ô'ð :Ý +¨EÑ 2Ô 2�IØ ð :Ý'¨¨yÑ9Ô9Ð9ð	:ð 	:ð 	:ñ 	:ô 	:ð 	:ð 	:ð 	:ð 	:ð 	:ð 	:øøøð 	:ð 	:ð 	:ð 	:ñ#:s=   ŸABÂBÂBÃDÄDÄD!Ä$D!ÅA FÆFÆ Frç  c                 óÆ   — t          j        t          | | j        t	          |¦  «        f¬¦  «        }|                     d¦  «         |                     ¦   «          d| _        dS )zqSpawn a thread running the _poll_connectivity function.

    Should only be called while holding state.lock.
    rù  TN)r   r�   r  rv  rL   rž   rŸ   rå  )rP   rç  Úpolling_threads      r!   Ú_spawn_poll_connectivityr  ˜  se   € õ Ô-Ý!Ø�U”]¥D¨Ñ$8Ô$8Ð9ðñ ô €Nð ×Ò˜TÑ"Ô"Ð"Ø×ÒÑÔÐØ€E„M€M€Mr#   rs   c                 óê  — | j         5  | j        s4| j        s-t          | |¦  «         | j                             |d g¦  «         n—| j        sW| j        �Pt          | |f¦  «         | xj        t          |¦  «        z  c_        | j                             || j        g¦  «         n9| xj        t          |¦  «        z  c_        | j                             |d g¦  «         d d d ¦  «         d S # 1 swxY w Y   d S r   )
rÆ  rè  rå  r  rí   ré  ræ  rü  rç  rL   )rP   rs   rç  s      r!   Ú
_subscriber
  ¨  sp  € ð
 
Œð Hð HØÔ1ð 	H¸%¼-ð 	HÝ$ U¨NÑ;Ô;Ð;ØÔ.×5Ò5°xÀÐ6FÑGÔGÐGÐGØÔ!ð 	H eÔ&8Ð&DÝ˜E H ;Ñ/Ô/Ð/ØÐ Ô ¥D¨Ñ$8Ô$8Ñ8Ð Ô ØÔ.×5Ò5Ø˜5Ô-Ð.ñô ð ð ð Ð Ô ¥D¨Ñ$8Ô$8Ñ8Ð Ô ØÔ.×5Ò5°xÀÐ6FÑGÔGÐGðHð Hð Hñ Hô Hð Hð Hð Hð Hð Hð Hð Høøøð Hð Hð Hð Hð Hð Hs   ˆCC(Ã(C,Ã/C,c                 óÄ   — | j         5  t          | j        ¦  «        D ]*\  }\  }}||k    r| j                             |¦  «          nŒ+d d d ¦  «         d S # 1 swxY w Y   d S r   )rÆ  Ú	enumeraterè  Úpop)rP   rs   ÚindexÚsubscribed_callbackÚ_unused_connectivitys        r!   Ú_unsubscriber  ¼  sÌ   € ð 
Œð ð ÝBKØÔ.ñC
ô C
ð 	ð 	Ñ>ˆEÑ>Ð'Ð)=ð Ð.Ò.Ð.ØÔ2×6Ò6°uÑ=Ô=Ð=Ø�ð /ð	ð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð s   ˆA AÁAÁAÚbase_optionsr~  c                 ó¦   — t          j        |¦  «        }t          | ¦  «        |z   t          j        j                             ¦   «         t          ffz   S r   )r   Úcreate_channel_optionrd  r   ÚChannelArgKeyÚprimary_user_agent_stringr¸   Ú_USER_AGENT)r  r~  Úcompression_options      r!   Ú_augment_optionsr  É  sV   € õ &Ô;¸KÑHÔHÐåˆlÑÔØ
ñ	õ Ô$Ô>×EÒEÑGÔGÝðð
ñ	
ð	r#   Úoptionsc                 ó²   — g }g }| D ]M}|d         t           j        j        j        k    r|                     |¦  «         Œ8|                     |¦  «         ŒN||fS )z;Separates core channel options from Python channel options.r   )rI   r  ÚChannelOptionsÚSingleThreadedUnaryStreamrí   )r  Úcore_optionsÚpython_optionsÚpairs       r!   Ú_separate_channel_optionsr!  Ú  sw   € ð €LØ€NØð &ð &ˆà�ŒGÝÔ Ô/ÔIòJð Jð ×!Ò! $Ñ'Ô'Ð'Ð'à×Ò Ñ%Ô%Ð%Ð%Ø˜<Ð'Ð'r#   c                 óŒ   — | j         5  | j        r| j        st          | | j        ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S r   )rÆ  rè  rå  r  rç  r€   s    r!   Ú'_maybe_spawn_poll_connectivity_postforkr#  ë  s­   € ð 
Œð Bð BØÔ-ð 	B°e´mð 	BÝ$ U¨EÔ,@ÑAÔAÐAðBð Bð Bñ Bô Bð Bð Bð Bð Bð Bð Bð Bøøøð Bð Bð Bð Bð Bð Bs   ˆ$9¹=Á =c                   óÌ  — e Zd ZU dZeed<   ej        ed<   eed<   e	ed<   e
ed<   ee
ef         ed<   de
d	ee         d
eej                 deej                 fd„Zde
defd„Zdee         ddfd„Z	 d&deej        gdf         dee         ddfd„Zdeej        gdf         ddfd„Z	 	 	 d'de
dee         dee         dee         dej        f
d„Z	 	 	 d'de
dee         dee         dee         dej        f
d„Z	 	 	 d'de
dee         dee         dee         dej         f
d„Z!	 	 	 d'de
dee         dee         dee         dej"        f
d„Z#d(d„Z$d(d „Z%d(d!„Z&d"„ Z'd#„ Z(d(d$„Z)d%„ Z*dS ))r–  z7A cygrpc.Channel-backed implementation of grpc.Channel.Ú_single_threaded_unary_streamrn  Ú_call_stateÚ_connectivity_staterq  Ú_registered_call_handlesr8   r  r†  r~  c                 ó¾  — t          |¦  «        \  }}t          | _        |                      |¦  «         t	          j        t          j        |¦  «        t          ||¦  «        |¦  «        | _	        || _
        t          | j	        ¦  «        | _        t          | j	        ¦  «        | _        t	          j        | ¦  «         t          j        rt	          j        ¦   «          dS dS )aP  Constructor.

        Args:
          target: The target to which to connect.
          options: Configuration options for the channel.
          credentials: A cygrpc.ChannelCredentials or None.
          compression: An optional value indicating the compression method to be
            used over the lifetime of the channel.
        N)r!  Ú%_DEFAULT_SINGLE_THREADED_UNARY_STREAMr%  Ú_process_python_optionsr   r–  r   Úencoder  rn  rq  rÂ  r&  rä  r'  Úfork_register_channelÚg_gevent_activatedÚgevent_increment_channel_count)r?   r8   r  r†  r~  r  r  s          r!   r@   zChannel.__init__ý  sÐ   € õ  (AÀÑ'IÔ'IÑ$ˆ˜å1ð 	Ô*ð 	×$Ò$ ^Ñ4Ô4Ð4ÝœÝŒN˜6Ñ"Ô"Ý˜\¨;Ñ7Ô7Øñ
ô 
ˆŒð
 ˆŒÝ,¨T¬]Ñ;Ô;ˆÔÝ#<¸T¼]Ñ#KÔ#KˆÔ ÝÔ$ TÑ*Ô*Ð*ÝÔ$ð 	4ÝÔ1Ñ3Ô3Ð3Ð3Ð3ð	4ð 	4r#   r7   r   c                 óZ   — | j                              t          j        |¦  «        ¦  «        S )ah  
        Get the registered call handle for a method.

        This is a semi-private method. It is intended for use only by gRPC generated code.

        This method is not thread-safe.

        Args:
          method: Required, the method name for the RPC.

        Returns:
          The registered call handle pointer in the form of a Python Long.
        )rn  Úget_registered_call_handler   r,  )r?   r7   s     r!   Ú_get_registered_call_handlez#Channel._get_registered_call_handle  s$   € ð Œ}×7Ò7½¼ÀvÑ8NÔ8NÑOÔOÐOr#   r  Nc                 ó^   — |D ])}|d         t           j        j        j        k    rd| _        Œ*dS )zASets channel attributes according to python-only channel options.r   TN)rI   r  r  r  r%  )r?   r  r   s      r!   r+  zChannel._process_python_options.  sG   € ð #ð 	:ð 	:ˆDà�Q”ÝÔ$Ô3ÔMòNð Nð 6:�Ô2øð	:ð 	:r#   rs   rç  c                 ó2   — t          | j        ||¦  «         d S r   )r
  r'  )r?   rs   rç  s      r!   Ú	subscribezChannel.subscribe9  s   € õ
 	�4Ô+¨X°~ÑFÔFÐFÐFÐFr#   c                 ó0   — t          | j        |¦  «         d S r   )r  r'  rî   s     r!   ÚunsubscribezChannel.unsubscribe@  s   € õ 	�TÔ-¨xÑ8Ô8Ð8Ð8Ð8r#   Fry   rT   Ú_registered_methodc           	      óÞ   — d }|r|                       |¦  «        }t          | j        t          | j        ¦  «        t          j        |¦  «        t          j        | j        ¦  «        |||¦  «        S r   )r2  rm  rn  râ  r&  r   r,  rq  ©r?   r7   ry   rT   r8  rt  s         r!   Úunary_unaryzChannel.unary_unaryF  sq   € ð #'ÐØð 	OØ&*×&FÒ&FÀvÑ&NÔ&NÐ#Ý'ØŒMÝ,¨TÔ-=Ñ>Ô>ÝŒN˜6Ñ"Ô"ÝŒN˜4œ<Ñ(Ô(ØØ!Ø#ñ
ô 
ð 	
r#   c           	      óp  — d }|r|                       |¦  «        }| j        rBt          | j        t	          j        |¦  «        t	          j        | j        ¦  «        |||¦  «        S t          | j        t          | j	        ¦  «        t	          j        |¦  «        t	          j        | j        ¦  «        |||¦  «        S r   )
r2  r%  rž  rn  r   r,  rq  r§  râ  r&  r:  s         r!   Úunary_streamzChannel.unary_stream[  s¼   € ð #'ÐØð 	OØ&*×&FÒ&FÀvÑ&NÔ&NÐ#ð
 Ô-ð 	Ý:Ø”Ý”˜vÑ&Ô&Ý”˜tœ|Ñ,Ô,Ø"Ø%Ø'ñô ð õ )ØŒMÝ,¨TÔ-=Ñ>Ô>ÝŒN˜6Ñ"Ô"ÝŒN˜4œ<Ñ(Ô(ØØ!Ø#ñ
ô 
ð 	
r#   c           	      óÞ   — d }|r|                       |¦  «        }t          | j        t          | j        ¦  «        t          j        |¦  «        t          j        | j        ¦  «        |||¦  «        S r   )r2  r«  rn  râ  r&  r   r,  rq  r:  s         r!   Ústream_unaryzChannel.stream_unary}  sq   € ð #'ÐØð 	OØ&*×&FÒ&FÀvÑ&NÔ&NÐ#Ý(ØŒMÝ,¨TÔ-=Ñ>Ô>ÝŒN˜6Ñ"Ô"ÝŒN˜4œ<Ñ(Ô(ØØ!Ø#ñ
ô 
ð 	
r#   c           	      óÞ   — d }|r|                       |¦  «        }t          | j        t          | j        ¦  «        t          j        |¦  «        t          j        | j        ¦  «        |||¦  «        S r   )r2  r´  rn  râ  r&  r   r,  rq  r:  s         r!   Ústream_streamzChannel.stream_stream’  sq   € ð #'ÐØð 	OØ&*×&FÒ&FÀvÑ&NÔ&NÐ#Ý)ØŒMÝ,¨TÔ-=Ñ>Ô>ÝŒN˜6Ñ"Ô"ÝŒN˜4œ<Ñ(Ô(ØØ!Ø#ñ
ô 
ð 	
r#   c                 óp   — | j         }|r,|j        5  |j        d d …= d d d ¦  «         d S # 1 swxY w Y   d S d S r   )r'  rÆ  rè  )r?   rP   s     r!   Ú_unsubscribe_allzChannel._unsubscribe_all¦  s—   € ØÔ(ˆØð 	:Ø”ð :ð :ØÔ6°q°q°qÐ9ð:ð :ð :ñ :ô :ð :ð :ð :ð :ð :ð :ð :øøøð :ð :ð :ð :ð :ð :ð	:ð 	:s   ‘)©-°-c                 óì   — |                       ¦   «          | j                             t          j        j        d¦  «         t          j        | ¦  «         t          j        rt          j        ¦   «          d S d S )NzChannel closed!)	rC  rn  rÊ  r   rJ   r2   Úfork_unregister_channelr.  Úgevent_decrement_channel_countrB   s    r!   Ú_closezChannel._close¬  sn   € Ø×ÒÑÔÐØŒ×Ò�FÔ-Ô7Ð9JÑKÔKÐKÝÔ& tÑ,Ô,Ð,ÝÔ$ð 	4ÝÔ1Ñ3Ô3Ð3Ð3Ð3ð	4ð 	4r#   c                 ó‚   — | j                              t          j        j        d¦  «         t          | j        ¦  «         d S )NzCall cancelled in fork child)rn  Úcancel_calls_on_forkr   rJ   r2   r#  r'  rB   s    r!   Ú_postfork_childzChannel._postfork_child³  sA   € ØŒ×*Ò*ÝÔÔ'Ð)Gñ	
ô 	
ð 	
õ 	0°Ô0HÑIÔIÐIÐIÐIr#   c                 ó   — | S r   rO   rB   s    r!   Ú	__enter__zChannel.__enter__¹  rò   r#   c                 ó.   — |                       ¦   «          dS r:   ©rG  )r?   Úexc_typeÚexc_valÚexc_tbs       r!   Ú__exit__zChannel.__exit__¼  s   € Ø�Š‰ŒˆØˆur#   c                 ó.   — |                       ¦   «          d S r   rN  rB   s    r!   rÊ  zChannel.closeÀ  s   € Ø�Š‰Œˆˆˆr#   c                 ó@   — 	 |                       ¦   «          d S #  Y d S xY wr   )rC  rB   s    r!   r  zChannel.__del__Ã  s1   € ð	Ø×!Ò!Ñ#Ô#Ð#Ð#Ð#øð	ð ˆDˆDøøøs   ‚ ˜r   )NNFr  )+rD   rE   rF   rØ   rL   rG   r   r–  rÂ  rä  rK   r   rM   r	   r   r   rI   ÚChannelCredentialsr™  r@   r2  r+  r   rí  r5  r7  r   r   ÚUnaryUnaryMultiCallabler;  ÚUnaryStreamMultiCallabler=  ÚStreamUnaryMultiCallabler?  ÚStreamStreamMultiCallablerA  rC  rG  rJ  rL  rR  rÊ  r  rO   r#   r!   r–  r–  ó  sº  € € € € € € ØAÐAà#'Ð'Ð'Ñ'ØŒnÐÐÑØ"Ð"Ð"Ñ"Ø2Ð2Ð2Ñ2Ø€L€L�LØ" 3¨ 8œnÐ,Ð,Ñ,ð4àð4ð Ð-Ô.ð4ð ˜dÔ5Ô6ð	4ð
 ˜dÔ.Ô/ð4ð 4ð 4ð 4ðBP°#ð P¸#ð Pð Pð Pð Pð 	:Ø&Ð':Ô;ð	:à	ð	:ð 	:ð 	:ð 	:ð *.ðGð Gà˜DÔ4Ð5°tÐ;Ô<ðGð ! œðGð 
ð	Gð Gð Gð Gð9Ø  $Ô":Ð!;¸TÐ!AÔBð9à	ð9ð 9ð 9ð 9ð =AØAEØ-2ð
ð 
àð
ð %Ð%8Ô9ð
ð  (Ð(=Ô>ð	
ð
 % TœNð
ð 
Ô	%ð
ð 
ð 
ð 
ð0 =AØAEØ-2ð
ð 
àð
ð %Ð%8Ô9ð
ð  (Ð(=Ô>ð	
ð
 % TœNð
ð 
Ô	&ð
ð 
ð 
ð 
ðJ =AØAEØ-2ð
ð 
àð
ð %Ð%8Ô9ð
ð  (Ð(=Ô>ð	
ð
 % TœNð
ð 
Ô	&ð
ð 
ð 
ð 
ð0 =AØAEØ-2ð
ð 
àð
ð %Ð%8Ô9ð
ð  (Ð(=Ô>ð	
ð
 % TœNð
ð 
Ô	'ð
ð 
ð 
ð 
ð(:ð :ð :ð :ð4ð 4ð 4ð 4ðJð Jð Jð Jðð ð ðð ð ðð ð ð ðð ð ð ð r#   r–  )vrØ   r®   r�   ÚloggingÚosrÒ   r;   r   rÙ   Útypingr   r   r   r   r   r   r	   r
   r   r   rI   r   r   r   r   Úgrpc._cythonr   Úgrpc._typingr   r   r   r   r   r   r   r   Úgrpc.experimentalÚ	getLoggerrD   rn   r'   Ú__version__r  r�   Úgetenvr*  rH   Úsend_initial_metadatar   r“   rY   rZ   r^   rƒ  r£  r®  r·  rö  r¦   r§   rN   r"   rJ   rK   r(   r*   rR   r4  ri   rv   r  r  r¡   r¨   rÑ   rœ  rÛ   rª   Ú
RpcContextrÝ   r  r6  r—  rS  rL   rW  rM   rš  r_  re  rk  rV  rm  rW  rž  r§  rX  r«  rY  r´  r€  rÂ  rØ  râ  rä  rí  rò  r÷  rü  r–  r  r  r
  r  r™  r  r!  r#  rO   r#   r!   ú<module>re     s¯  ðð 5Ð 4à €€€Ø Ð Ð Ð Ø €€€Ø 	€	€	€	Ø 
€
€
€
Ø Ð Ð Ð Ø €€€Ø €€€ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð €€€Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø !Ð !Ð !Ð !Ð !Ð !Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø ,Ð ,Ð ,Ð ,Ð ,Ð ,Ø .Ð .Ð .Ð .Ð .Ð .Ø .Ð .Ð .Ð .Ð .Ð .Ø %Ð %Ð %Ð %Ð %Ð %Ø ,Ð ,Ð ,Ð ,Ð ,Ð ,Ø %Ð %Ð %Ð %Ð %Ð %Ø ,Ð ,Ð ,Ð ,Ð ,Ð ,Ø  Ð  Ð  Ð  Ð  Ð  Ø Ð Ð Ð à
ˆ'Ô
˜HÑ
%Ô
%€à×%Ò%Ð&6Ô&BÑCÔC€à€ð
 €B„IÐ1Ñ2Ô2¸$Ð>ð &ð
 ÔÔ.Ø
ÔÔ%Ø
ÔÔ/Ø
ÔÔ1Ø
ÔÔ(Ø
ÔÔ1ðÐ ð ÔÔ.Ø
ÔÔ%Ø
ÔÔ/Ø
ÔÔ1Ø
ÔÔ1ðÐ ð ÔÔ.Ø
ÔÔ1Ø
ÔÔ(Ø
ÔÔ1ð	Ð ð ÔÔ.Ø
ÔÔ1Ø
ÔÔ1ðÐ ð 7ð 1ð
 Kð ð
ð ð>�x ”ð >¨8°E¬?ð >ð >ð >ð >ðØ! $¤/Ô2ðØ=EÀc¼]ðàðð ð ð ð:/ð :/ð :/ð :/ð :/ñ :/ô :/ð :/ðz%�)ð % 4¤?ð %¸Sð %ÀTð %ð %ð %ð %ð)ØÔð)àð)ð $Ð$9Ô:ð)ð 
Ð
Ôð	)ð )ð )ð )ðXØðØ-5Ð6KÔ-Lðàðð ð ð ð0[Øð[àð[ð �Ô% vÔ'<Ð<Ô
=ð[ð ,ð	[ð
 ˜GÔ$ð[ð 
ð[ð [ð [ð [ð|
 #ð 
°)ð 
Àð 
ð 
ð 
ð 
ð"dð dð dð dð d˜œ t¤y°$´+ñ dô dð dðNe3ð e3ð e3ð e3ð e3�$”- ¤ñ e3ô e3ð e3ðPQBð QBð QBð QBð QBØ�”˜DœKñQBô QBð QBðhpð pð pð pð pØ�”˜DœKñpô pð pðf.Øð.à�eŒ_ð.ð !Ð!4Ô5ð.ð ˆ8�EŒ?˜H UœO¨X°d´mÔ-DÐDÔEð	.ð .ð .ð .ð(#Øð#à
Ô
ð#ð ð#ð �uŒoð	#ð
 ˆ<˜˜|¨T¬YÐ6Ô7Ð7Ô8ð#ð #ð #ð #ðØ�|Ô$ðØ>Aðàˆh�vÔ'Ô(Ô)ðð ð ð ðØ�|Ô$ðØ>Aðàˆe�H˜VÔ-Ô.°¸Ô0AÐAÔBÔCðð ð ð ð/ x°¤ð /¸8ÀE¼?ð /ð /ð /ð /ðn
ð n
ð n
ð n
ð n
˜tÔ;ñ n
ô n
ð n
ðba
ð a
ð a
ð a
ð a
¨dÔ.Kñ a
ô a
ð a
ðHY
ð Y
ð Y
ð Y
ð Y
 Ô =ñ Y
ô Y
ð Y
ðxg
ð g
ð g
ð g
ð g
 Ô =ñ g
ô g
ð g
ðT[
ð [
ð [
ð [
ð [
 Ô!?ñ [
ô [
ð [
ð|ð ð ð ð ˜Cñ ô ð ð.ð ð ð ð ñ ô ð ð. Ð$5ð  ¸$ð  ð  ð  ð  ð&=Ð,=ð =ð =ð =ð =ð@ ð  ð  ð  ð  ñ  ô  ð  ð@	$Ø$ð	$à	ˆ(�DÔ,Ð-¨tÐ3Ô
4Ô5ð	$ð 	$ð 	$ð 	$ðØ$ðàÔ2ðð   ¨$Ô*BÐ)CÀTÐ)IÔ JÔKðð 
ð	ð ð ð ð2Ø$ðà˜ $Ô":Ð!;¸TÐ!AÔBÔCðð 
ðð ð ð ð,.:Ø$ð.:àŒ\ð.:ð !ð.:ð 
ð	.:ð .:ð .:ð .:ðbØ$ðØ6:ðà	ðð ð ð ð HØ$ðHà˜Ô0Ð1°4Ð7Ô8ðHð ðHð 
ð	Hð Hð Hð Hð(
Ø$ð
à˜Ô0Ð1°4Ð7Ô8ð
ð 
ð
ð 
ð 
ð 
ðØÐ.Ô/ðà˜$Ô*Ô+ðð Ð!Ô"ðð ð ð ð"(ØÐ)Ô*ð(à
ˆ8Ð'Ô(¨(Ð3FÔ*GÐGÔHð(ð (ð (ð (ð"BØ$ðBà	ðBð Bð Bð Bð_ð _ð _ð _ð _ˆdŒlñ _ô _ð _ð _ð _r#   