§
    ‹Ÿj†7  ã                   ó4  — d Z ddlZddlZddlZddlmZmZ ddlm	Z	m
Z
mZ ddlmZ ddlmZ ddlmZ dd	lmZ d
„ xZZd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z ej        d¦  «        Zedk    Z  ej!        ¦   «         Z"dd„Z#dd„Z$dd„Z% G d„ d¦  «        Z&ddgZ'dS )zzmq Socket classé    N)ÚSocketOptionÚ_OptType)ÚZMQErrorÚ	_check_rcÚ_check_versioné   )Úffi)Úlib)ÚFrame)Ú_retry_sys_callc                 ó,   — t          j        d| ¦  «        S )Nzsize_t*)r	   Únew©Úlengths    úd/var/www/finuniver-perm.ru/html/student/venv/lib/python3.11/site-packages/zmq/backend/cffi/socket.pyú<lambda>r      s   € ­¬°¸FÑ)CÔ)C€ ó    c                  ól   — t          j        d¦  «        t          t          j        d¦  «        ¦  «        fS ©Nz	uint64_t*Úuint64_t©r	   r   ÚnspÚsizeof© r   r   Únew_uint64_pointerr      s)   € ÝŒ7�;ÑÔ¥¥S¤Z°
Ñ%;Ô%;Ñ!<Ô!<Ð<Ð<r   c                  ól   — t          j        d¦  «        t          t          j        d¦  «        ¦  «        fS ©Nzint64_t*Úint64_tr   r   r   r   Únew_int64_pointerr      s)   € ÝŒ7�:ÑÔ¥¥C¤J¨yÑ$9Ô$9Ñ :Ô :Ð:Ð:r   c                  ól   — t          j        d¦  «        t          t          j        d¦  «        ¦  «        fS ©Nzint*Úintr   r   r   r   Únew_int_pointerr#      s'   € ÝŒ7�6‰?Œ?�C¥¤
¨5Ñ 1Ô 1Ñ2Ô2Ð2Ð2r   c                 ó|   — t          j        d| d›d�¦  «        t          t          j        d¦  «        | z  ¦  «        fS )Núchar[Údú]Úcharr   r   s    r   Únew_binary_datar)   !   s=   € ÝŒ7Ð&˜6Ð&Ð&Ð&Ð&Ñ'Ô'­­S¬Z¸Ñ-?Ô-?À&Ñ-HÑ)IÔ)IÐIÐIr   c                 óT   — t          j        d| ¦  «        t          j        d¦  «        fS r   ©r	   r   r   ©Úvals    r   Úvalue_uint64_pointerr.   %   s#   € ÝŒ7�; Ñ$Ô$¥c¤j°Ñ&<Ô&<Ð<Ð<r   c                 óT   — t          j        d| ¦  «        t          j        d¦  «        fS r   r+   r,   s    r   Úvalue_int64_pointerr0   )   s#   € ÝŒ7�:˜sÑ#Ô#¥S¤Z°	Ñ%:Ô%:Ð:Ð:r   c                 óT   — t          j        d| ¦  «        t          j        d¦  «        fS r!   r+   r,   s    r   Úvalue_int_pointerr2   -   s#   € ÝŒ7�6˜3ÑÔ¥¤¨EÑ!2Ô!2Ð2Ð2r   c                 ój   — t          j        d|dz   d›d�| ¦  «        t          j        d¦  «        |z  fS )Nr%   r   r&   r'   r(   r+   )r-   r   s     r   Úvalue_binary_datar4   1   s;   € ÝŒ7Ð*˜6 A™:Ð*Ð*Ð*Ð*¨CÑ0Ô0µ#´*¸VÑ2DÔ2DÀvÑ2MÐMÐMr   ÚZMQ_FD_Té   c                 óü   — t          | dt          j        ¦  «        }|t          j        k    st          r|t          j        k    rt          ¦   «         S |t          j        k    rt          |¦  «        S t          ¦   «         S ©NÚ	_opt_type)
Úgetattrr   r"   Úint64ÚZMQ_FD_64BITÚfdr   Úbytesr)   r#   )Úoptionr   Úopt_types      r   Únew_pointer_from_optrA   ;   sh   € Ý�v˜{­H¬LÑ9Ô9€Hà•8”>Ò!Ð!¥lÐ!°xÅ8Ä;Ò7NÐ7NÝ Ñ"Ô"Ð"Ø	•X”^Ò	#Ð	#Ý˜vÑ&Ô&Ð&õ Ñ Ô Ð r   c                 óî   — 	 t          | ¦  «        } | j        }n# t          $ r t          j        }Y nw xY w|t          j        k    rt          j        ||¦  «        d d …         S t	          |d         ¦  «        S )Nr   )r   r9   Ú
ValueErrorr   r"   r>   r	   Úbuffer)r?   Úopt_pointerr   r@   s       r   Úvalue_from_opt_pointerrF   G   s†   € ð$Ý˜fÑ%Ô%ˆð Ô#ˆˆøõ ð  ð  ð  õ ”<ˆˆˆð	 øøøð •8”>Ò!Ð!ÝŒz˜+ vÑ.Ô.¨q¨q¨qÔ1Ð1å�;˜q”>Ñ"Ô"Ð"s   ‚ ™2±2c                 ó  — t          | dt          j        ¦  «        }|t          j        k    st          r|t          j        k    rt          |¦  «        S |t          j        k    rt          ||¦  «        S t          |¦  «        S r8   )
r:   r   r"   r;   r<   r=   r0   r>   r4   r2   )r?   Úvaluer   r@   s       r   Úinitialize_opt_pointerrI   X   sl   € Ý�v˜{­H¬LÑ9Ô9€HØ•8”>Ò!Ð!¥lÐ!°xÅ8Ä;Ò7NÐ7NÝ" 5Ñ)Ô)Ð)Ø	•X”^Ò	#Ð	#Ý  ¨Ñ/Ô/Ð/å  Ñ'Ô'Ð'r   c                   óØ   — e Zd ZdZdZdZdZdZdZdZ	dZ
dZdd„Zed„ ¦   «         Zd„ Zed„ ¦   «         Zdd„Zd	„ Zd
„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zdd„Zdd„Zdddœdededefd„Zdd„ZdS ) ÚSocketNFr   c                 óB  — |€t           j        }|| _        || _        d x| _        | _        |r"t          j        d|¦  «        | _        d| _	        n&d| _	        t          j        |j        |¦  «        | _        | j        t          j        k    rt          ¦   «         ‚d| _        d S )Núvoid *TF)ÚzmqÚCOPY_THRESHOLDÚcopy_thresholdÚcontextÚ_draft_pollerÚ_draft_poller_ptrr	   ÚcastÚ_zmq_socketÚ_shadowÚCÚ
zmq_socketÚ_zmq_ctxÚNULLr   Ú_closed)ÚselfrQ   Úsocket_typeÚshadowrP   s        r   Ú__init__zSocket.__init__m   s˜   € ØÐ!Ý Ô/ˆNØ,ˆÔàˆŒØ6:Ð:ˆÔ˜TÔ3Øð 	KÝ"œx¨°&Ñ9Ô9ˆDÔØˆDŒLˆLà ˆDŒLÝ œ|¨GÔ,<¸kÑJÔJˆDÔØÔ�sœxÒ'Ð'Ý‘*”*ÐØˆŒˆˆr   c                 óP   — t          t          j        d| j        ¦  «        ¦  «        S )z+The address of the underlying libzmq socketÚsize_t)r"   r	   rT   rU   ©r\   s    r   Ú
underlyingzSocket.underlying~   s!   € õ •3”8˜H dÔ&6Ñ7Ô7Ñ8Ô8Ð8r   c                 óú   — | j         rdS 	 |                      t          j        ¦  «         nP# t          $ rC}|j        t          j        k    rd| _         Y d}~dS |j        t          j        k    rn‚ Y d}~nd}~ww xY wdS )zÒthorough check of whether the socket has been closed,
        even if by another entity (e.g. ctx.destroy).

        Only used by the `closed` property.

        returns True if closed, False otherwise
        TNF)r[   ÚgetrN   ÚTYPEr   ÚerrnoÚENOTSOCKÚETERM)r\   Úes     r   Ú_check_closed_deepzSocket._check_closed_deepƒ   sš   € ð Œ<ð 	Ø�4ð		Ø�HŠH•S”XÑÔÐÐøÝð 	ð 	ð 	ØŒw�#œ,Ò&Ð&Ø#�”Ø�t�t�t�t�tØ”�CœIÒ%Ð%Øàð ����øøøøð	øøøð ˆus   ‹+ «
A8µA3ÁA3Á3A8c                 ó*   — |                       ¦   «         S ©N)rk   rb   s    r   ÚclosedzSocket.closed™   s   € à×&Ò&Ñ(Ô(Ð(r   c                 óT  — d}| j         s‡t          | d¦  «        rw| j        �'t          j        | j        ¦  «        }d x| _        | _        | j        �;|� |                      t          j	        |¦  «         t          j
        | j        ¦  «        }d| _         |dk     rt          |¦  «         d S d S )Nr   rU   T)r[   ÚhasattrrS   rW   Úzmq_poller_destroyrR   rU   ÚsetrN   ÚLINGERÚ	zmq_closer   )r\   ÚlingerÚrcs      r   ÚclosezSocket.close�   s«   € ØˆØŒ|ð 		 ¥¨¨mÑ <Ô <ð 		 ØÔ%Ð1ÝÔ)¨$Ô*@ÑAÔA�Ø>BÐB�Ô" TÔ%;àÔÐ+ØÐ%Ø—H’H�SœZ¨Ñ0Ô0Ð0Ý”[ Ô!1Ñ2Ô2�ØˆDŒLØ�Š6ˆ6Ý�b‰MŒMˆMˆMˆMð ˆ6r   c                 óÈ  — t          |t          ¦  «        r|                     d¦  «        }n|}t          |t          ¦  «        r|                     d¦  «        }t          j        | j        |¦  «        }|dk     rêt          rmt          j	        ¦   «         t          j        k    rL|                     dd¦  «        d         }d|› dt          › d�}t          t          j	        ¦   «         |¬	¦  «        ‚t          j	        ¦   «         t          j        k    rD|                     dd¦  «        d         }d
|› d�}t          t          j	        ¦   «         |¬	¦  «        ‚t          |¦  «         d S d S )NÚutf8r   z://r   éÿÿÿÿz
ipc path "z" is longer than z+ characters (sizeof(sockaddr_un.sun_path)).)Úmsgz(No such file or directory for ipc path "z".)Ú
isinstanceÚstrÚencoder>   ÚdecoderW   Úzmq_bindrU   ÚIPC_PATH_MAX_LENÚ	zmq_errnoÚ	errno_modÚENAMETOOLONGÚsplitr   ÚENOENTr   )r\   ÚaddressÚ	address_brv   Úpathr{   s         r   ÚbindzSocket.bind¬   sU  € Ý�g�sÑ#Ô#ð 	 ØŸš vÑ.Ô.ˆIˆIàˆIÝ�g�uÑ%Ô%ð 	/Ø×&Ò& vÑ.Ô.ˆGÝŒZ˜Ô(¨)Ñ4Ô4ˆØ�Š6ˆ6Ýð ¥A¤K¡M¤MµYÔ5KÒ$KÐ$KØ—}’} U¨AÑ.Ô.¨rÔ2�ðA ð Að AÕ8Hð Að Að Að õ �qœ{™}œ}°#Ð6Ñ6Ô6Ð6Ý”‘”¥)Ô"2Ò2Ð2Ø—}’} U¨AÑ.Ô.¨rÔ2�ØIÀÐIÐIÐI�Ý�qœ{™}œ}°#Ð6Ñ6Ô6Ð6å˜"‘”���ð ˆ6r   c                 ó¬   — t          |t          ¦  «        r|                     d¦  «        }t          j        | j        |¦  «        }t          |¦  «         d S ©Nry   )r|   r}   r~   rW   Ú
zmq_unbindrU   r   ©r\   r‡   rv   s      r   ÚunbindzSocket.unbindÃ   sH   € Ý�g�sÑ#Ô#ð 	-Ø—n’n VÑ,Ô,ˆGÝŒ\˜$Ô*¨GÑ4Ô4ˆÝ�"‰Œˆˆˆr   c                 ó¬   — t          |t          ¦  «        r|                     d¦  «        }t          j        | j        |¦  «        }t          |¦  «         d S rŒ   )r|   r}   r~   rW   Úzmq_connectrU   r   rŽ   s      r   ÚconnectzSocket.connectÉ   sH   € Ý�g�sÑ#Ô#ð 	-Ø—n’n VÑ,Ô,ˆGÝŒ]˜4Ô+¨WÑ5Ô5ˆÝ�"‰Œˆˆˆr   c                 ó¬   — t          |t          ¦  «        r|                     d¦  «        }t          j        | j        |¦  «        }t          |¦  «         d S rŒ   )r|   r}   r~   rW   Úzmq_disconnectrU   r   rŽ   s      r   Ú
disconnectzSocket.disconnectÏ   sI   € Ý�g�sÑ#Ô#ð 	-Ø—n’n VÑ,Ô,ˆGÝÔ˜dÔ.°Ñ8Ô8ˆÝ�"‰Œˆˆˆr   c           	      óØ  — d }t          |t          ¦  «        rt          d¦  «        ‚	 t          |¦  «        }|j        }n# t
          $ r t          j        }Y nw xY wt          |t          ¦  «        r1|t          j        k    rt          d|› �¦  «        ‚t          |¦  «        }t          |||¦  «        \  }}t          t          j        | j        |t          j        d|¦  «        |¦  «         d S )Nzunicode not allowed, use bytesznot a bytes sockopt: úvoid*)r|   r}   Ú	TypeErrorr   r9   rC   r   r"   r>   ÚlenrI   r   rW   Úzmq_setsockoptrU   r	   rT   )r\   r?   rH   r   r@   Úc_value_pointerÚc_sizets          r   rr   z
Socket.setÕ   s  € ØˆÝ�e�SÑ!Ô!ð 	>ÝÐ<Ñ=Ô=Ð=ð	(Ý! &Ñ)Ô)ˆFð Ô'ˆHˆHøõ ð 	$ð 	$ð 	$õ  ”|ˆHˆHˆHð		$øøøõ �e�UÑ#Ô#ð 	 Ø�8œ>Ò)Ð)ÝÐ @¸Ð @Ð @ÑAÔAÐAÝ˜‘Z”ZˆFå#9¸&À%ÈÑ#PÔ#PÑ ˆ˜åÝÔØÔØÝŒH�W˜oÑ.Ô.Øñ	
ô 	
ð 	
ð 	
ð 	
s   ¨? ¿AÁAc                 óö  — 	 t          |¦  «        }|j        }n# t          $ r t          j        }Y nw xY w|t
          j        k    r[| j        �Tt          |¦  «        \  }}t          j
        | j        t          j        d|¦  «        ¦  «         t	          |d         ¦  «        S t          |d¬¦  «        \  }}	 t          t          j        | j        |||¦  «         �nÃ# t           $ �rµ}|t           j        k    �rž|j        t
          j        j        k    �rƒ|                      t           j        ¦  «        �rct-          dd¦  «         t
          j        st1          d¦  «        ‚t3          j        t
          j                             ¦   «         d¬	¦  «         t          j        d
¦  «        | _        t          j        ¦   «         x| j        d<   | _        | j        t          j         k    rd x| _        | _        ‚ t          j!        | j        | j        t          j         t
          j"        t
          j#        z  ¦  «        }tI          |¦  «         t          j
        | j        t          j        d|¦  «        ¦  «        }tI          |¦  «         t	          |d         ¦  «        cY d }~S ‚ d }~ww xY w|d         }tK          |||¦  «        }	|t
          j         j&        k    r/|t          j'        k    r|	 (                    d¦  «        r
|	d d…         }	|	S )Nr—   r   éÿ   r   )é   é   é   z)draft socket FD support via zmq_poller_fdz'libzmq must be built with draft supportr¡   )Ú
stacklevelzvoid*[1]rM   ó    rz   ))r   r9   rC   r   r"   rN   ÚFDrR   rA   rW   Úzmq_poller_fdr	   rT   r   Úzmq_getsockoptrU   r   rg   ÚErrnoÚEINVALre   ÚTHREAD_SAFEr   Ú	DRAFT_APIÚRuntimeErrorÚwarningsÚwarnÚerrorÚDraftFDWarningr   rS   Úzmq_poller_newrZ   Úzmq_poller_addÚPOLLINÚPOLLOUTr   rF   Ú
ROUTING_IDr>   Úendswith)
r\   r?   r@   r›   Ú_Úc_sizet_pointerrj   rv   ÚszÚvs
             r   re   z
Socket.getó   sã  € ð	(Ý! &Ñ)Ô)ˆFð Ô'ˆHˆHøõ ð 	$ð 	$ð 	$õ  ”|ˆHˆHˆHð		$øøøð •S”VÒÐ Ô 2Ð >Ý!5°fÑ!=Ô!=ÑˆO˜QÝŒO˜DÔ.µ´¸À/Ñ0RÔ0RÑSÔSÐSÝ� qÔ)Ñ*Ô*Ð*å+?ÀÈsÐ+SÑ+SÔ+SÑ(ˆ˜ð)	ÝÝÔ ØÔ ØØØñô ð ñ øõ ð !	ñ !	ð !	à�,œ/Ò)Ñ)Ø”G�sœyÔ/Ò/Ñ/Ø—H’H�\Ô5Ñ6Ô6ñ 0õ ˜yÐ*UÑVÔVÐVÝ”}ð RÝ&Ð'PÑQÔQÐQÝ”�cœi×6Ò6Ñ8Ô8ÀQÐGÑGÔGÐGõ *-¬°Ñ)<Ô)<�Ô&ÝABÔAQÑASÔASÐS�Ô& qÑ)¨DÔ,>ØÔ%­¬Ò1Ð1àBFÐF�DÔ*¨TÔ-?ØåÔ%ØÔ&ØÔ$Ý”HÝ”J¥¤Ñ,ñ	ô �õ ˜"‘”�å”_ØÔ&­¬°¸?Ñ(KÔ(Kñô �õ ˜"‘”�Ý˜?¨1Ô-Ñ.Ô.Ð.Ð.Ð.Ð.Ð.Ð.àøøøøðC!	øøøðF ˜QÔˆÝ" 6¨?¸BÑ?Ô?ˆà•cÔ&Ô1Ò1Ð1Ø�HœNÒ*Ð*Ø—
’
˜5Ñ!Ô!ð +ð �#�2�#”ˆAØˆs1   ‚ ™2±2Â5"C ÃJÃ$F)JÊJÊJÊJc                 ó  — t          j        d¦  «        }t          |t          ¦  «        s!t	          |¦  «                             ¦   «         }t          j        d|¦  «        }t          j        |t          |¦  «        ¦  «        }t          |¦  «         t          j
        t          j        |¦  «        |t          |¦  «        ¦  «         t          t          j        || j        |¦  «         t          j        |¦  «        }t          |¦  «         dS )zSend a copy of a bufferableú
zmq_msg_t*zchar[]N)r	   r   r|   r>   Ú
memoryviewÚtobytesrW   Úzmq_msg_init_sizer™   r   ÚmemcpyÚzmq_msg_datar   Úzmq_msg_sendrU   Úzmq_msg_close)r\   ÚbufÚflagsÚzmq_msgÚ	c_messagerv   Úrc2s          r   Ú
_send_copyzSocket._send_copy:  sÉ   € å”'˜,Ñ'Ô'ˆÝ˜#�uÑ%Ô%ð 	,å˜S‘/”/×)Ò)Ñ+Ô+ˆCå”G˜H cÑ*Ô*ˆ	ÝÔ  ­#¨c©(¬(Ñ3Ô3ˆÝ�"‰ŒˆÝ	Œ•” Ñ(Ô(¨)µS¸±X´XÑ>Ô>Ð>Ý�œ¨°Ô1AÀ5ÑIÔIÐIÝŒo˜gÑ&Ô&ˆÝ�#‰Œˆˆˆr   c                 ó´   — |                      ¦   «         }|j        }t          t          j        || j        |¦  «         |j        }|                     ¦   «          |S )z1Send a Frame on this socket in a non-copy manner.)Ú	fast_copyrÅ   r   rW   rÁ   rU   Útrackerrw   )r\   ÚframerÄ   Ú
frame_copyrÅ   rË   s         r   Ú_send_framezSocket._send_frameI  sS   € ð —_’_Ñ&Ô&ˆ
ØÔ$ˆÝ�œ¨°Ô1AÀ5ÑIÔIÐIØÔ$ˆØ×ÒÑÔÐØˆr   c                 ó&  — t          |t          ¦  «        rt          d¦  «        ‚|r+t          |t          ¦  «        s|                      ||¦  «        S d}t          |t          ¦  «        r|r|j        st          d¦  «        ‚|}na| j        rAt          |¦  «        }|j	        | j        k     r"|                      ||¦  «         t          j        S t          ||| j        ¬¦  «        }d}|                      ||¦  «        }|r|                     ¦   «          |S )Nz.Message must be in bytes, not a unicode objectFzNot a tracked message)ÚtrackrP   T)r|   r}   r˜   r   rÈ   rË   rC   rP   r¼   ÚnbytesrN   Ú_FINISHED_TRACKERrÎ   rw   )	r\   ÚdatarÄ   ÚcopyrÐ   Úclose_framerÌ   rÃ   rË   s	            r   ÚsendzSocket.sendT  s  € Ý�d�CÑ Ô ð 	NÝÐLÑMÔMÐMàð 	�
 4­Ñ/Ô/ð 	Ø—?’? 4¨Ñ/Ô/Ð/àˆKÝ˜$¥Ñ&Ô&ð #Øð > ¤ð >Ý$Ð%<Ñ=Ô=Ð=Ø��àÔ&ð 5Ý$ TÑ*Ô*�Cà”z DÔ$7Ò7Ð7ØŸš¨¨UÑ3Ô3Ð3Ý"Ô4Ð4Ý˜d¨%ÀÔ@SÐTÑTÔT�Ø"�à×&Ò& u¨eÑ4Ô4ˆGØð Ø—’‘”�ØˆNr   Tc                 óø  — |r)t          j        d¦  «        }t          j        |¦  «         nt	          j        |¬¦  «        }|j        }	 t          t          j        || j	        |¦  «         n%# t          $ r |rt          j        |¦  «         ‚ w xY w|s|S t          j        t          j        |¦  «        t          j        |¦  «        ¦  «        }|d d …         }t          j        |¦  «        }t          |¦  «         |S )Nr»   )rÐ   )r	   r   rW   Úzmq_msg_initrN   r   rÅ   r   Úzmq_msg_recvrU   Ú	ExceptionrÂ   rD   rÀ   Úzmq_msg_sizer   )	r\   rÄ   rÔ   rÐ   rÅ   rÌ   Ú_bufferÚ_bytesrv   s	            r   ÚrecvzSocket.recvo  sü   € Øð 	$Ý”g˜lÑ+Ô+ˆGÝŒN˜7Ñ#Ô#Ð#Ð#å”I EÐ*Ñ*Ô*ˆEØ”mˆGð	Ý�AœN¨G°TÔ5EÀuÑMÔMÐMÐMøÝð 	ð 	ð 	Øð )Ý” Ñ(Ô(Ð(Øð	øøøð
 ð 	ØˆLå”*�Qœ^¨GÑ4Ô4µa´nÀWÑ6MÔ6MÑNÔNˆØ˜˜˜”ˆÝŒ_˜WÑ%Ô%ˆÝ�"‰ŒˆØˆs   Á	!A+ Á+"B)rÑ   rÄ   rÑ   rÄ   Úreturnc               ó�  — t          |¦  «        }|j        st          d¦  «        ‚|j        rt          d¦  «        ‚|dk     rt	          d|›d�¦  «        ‚|j        }|dk    r|}n||k    rt	          d|›d|› d�¦  «        ‚t          j        |¦  «        }t          t          j
        | j        |||¦  «        }t          |¦  «         |S )Nz%Can only recv_into contiguous buffersz Cannot recv_into readonly bufferr   znbytes=z must be non-negativez too big for memoryview of ÚB)r¼   Ú
contiguousÚBufferErrorÚreadonlyrC   rÑ   r	   Úfrom_bufferr   rW   Úzmq_recvrU   r   )r\   rD   rÑ   rÄ   ÚviewÚ
view_bytesÚc_bufrv   s           r   Ú	recv_intozSocket.recv_into‡  sã   € Ý˜&Ñ!Ô!ˆØŒð 	GÝÐEÑFÔFÐFØŒ=ð 	BÝÐ@ÑAÔAÐAØ�AŠ:ˆ:ÝÐ> Ð>Ð>Ð>Ñ?Ô?Ð?Ø”[ˆ
Ø�QŠ;ˆ;ØˆFˆFØ�jÒ Ð ÝÐQ ÐQÐQÀJÐQÐQÐQÑRÔRÐRÝ” Ñ%Ô%ˆÝ!¥!¤*¨dÔ.>ÀÀvÈuÑUÔUˆÝ�"‰ŒˆØˆ	r   rz   c                 óÐ   — |dk     rt           j        }|€t          j        }t	          |t
          ¦  «        r|                     d¦  «        }t          j        | j	        ||¦  «         dS )a   s.monitor(addr, flags)

        Start publishing socket events on inproc.
        See libzmq docs for zmq_monitor for details.

        Note: requires libzmq >= 3.2

        Parameters
        ----------
        addr : str
            The inproc url used for monitoring. Passing None as
            the addr will cause an existing socket monitor to be
            deregistered.
        events : int [default: zmq.EVENT_ALL]
            The zmq event bitmask for which events will be sent to the monitor.
        r   Nry   )
rN   Ú	EVENT_ALLr	   rZ   r|   r}   r~   rW   Úzmq_socket_monitorrU   )r\   ÚaddrÚeventss      r   ÚmonitorzSocket.monitor™  sa   € ð" �AŠ:ˆ:Ý”]ˆFØˆ<Ý”8ˆDÝ�d�CÑ Ô ð 	'Ø—;’;˜vÑ&Ô&ˆDÝ	Ô˜TÔ-¨t°VÑ<Ô<Ð<Ð<Ð<r   )NNr   Nrm   )r   FF)r   TF)rz   )Ú__name__Ú
__module__Ú__qualname__rQ   r]   rU   r[   Ú_refrV   rR   rS   rP   r_   Úpropertyrc   rk   rn   rw   rŠ   r�   r’   r•   rr   re   rÈ   rÎ   rÖ   rÞ   r"   rê   rð   r   r   r   rK   rK   b   s¡  € € € € € Ø€GØ€KØ€KØ€GØ€DØ€GØ€MØÐØ€Nðð ð ð ð" ð9ð 9ñ „Xð9ðð ð ð, ð)ð )ñ „Xð)ðð ð ð ðð ð ð.ð ð ðð ð ðð ð ð
ð 
ð 
ð<Eð Eð EðNð ð ð	ð 	ð 	ðð ð ð ð6ð ð ð ð0 56ÀAð ð ð ¨cð ¸cð È#ð ð ð ð ð$=ð =ð =ð =ð =ð =r   rK   r�   )r   )(Ú__doc__rg   rƒ   r¬   rN   Úzmq.constantsr   r   Ú	zmq.errorr   r   r   Ú_cffir	   r
   rW   Úmessager   Úutilsr   r   Únew_sizet_pointerr   r   r#   r)   r.   r0   r2   r4   r   Ú_fd_sizer<   Úget_ipc_path_max_lenr�   rA   rF   rI   rK   Ú__all__r   r   r   ú<module>r      sà  ðØ Ð ð
 Ð Ð Ð Ø €€€à 
€
€
€
Ø 0Ð 0Ð 0Ð 0Ð 0Ð 0Ð 0Ð 0Ø 9Ð 9Ð 9Ð 9Ð 9Ð 9Ð 9Ð 9Ð 9Ð 9à Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø "Ð "Ð "Ð "Ð "Ð "àCÐCÐ C€Ðð=ð =ð =ð;ð ;ð ;ð3ð 3ð 3ðJð Jð Jð=ð =ð =ð;ð ;ð ;ð3ð 3ð 3ðNð Nð Nð ˆ3Œ:�jÑ!Ô!€Ø˜1Š}€à)�1Ô)Ñ+Ô+Ð ð	!ð 	!ð 	!ð 	!ð#ð #ð #ð #ð"(ð (ð (ð (ðN=ð N=ð N=ð N=ð N=ñ N=ô N=ð N=ðb
 Ð'Ð
(€€€r   