§
    ‹Ÿj´  ã                  óV   — d dl mZ d dlZd dlmZ d dlZd dlmZ  G d„ de¦  «        ZdS )é    )ÚannotationsN)Úselect)ÚPollerc                  ó.   ‡ — e Zd ZdZdZd„ Zdˆ fd„	Zˆ xZS )Ú_Pollerz„Replacement for :class:`zmq.Poller`

    Ensures that the greened Poller below is used in calls to
    :meth:`zmq.Poller.poll`.
    gHáz®Gõ?c                óœ  — g }g }g }| j         D �]9\  }}t          |t          j        ¦  «        r3|                     |                     t          j        ¦  «        ¦  «         ŒSt          |t          ¦  «        r|}nbt          |d¦  «        r@	 t          | 	                    ¦   «         ¦  «        }n/# t          $ r t          d¦  «        ‚w xY wt          d|›�¦  «        ‚|t          j        z  r|                     |¦  «         |t          j        z  r|                     |¦  «         |t          j        z  r|                     |¦  «         �Œ;|||fS )zdReturns three elements tuple with socket descriptors ready
        for gevent.select.select
        Úfilenoz(fileno() must return an valid integer fdzFSocket must be a 0MQ socket, an integer fd or have a fileno() method: )ÚsocketsÚ
isinstanceÚzmqÚSocketÚappendÚ
getsockoptÚFDÚintÚhasattrr	   Ú	ExceptionÚ
ValueErrorÚ	TypeErrorÚPOLLINÚPOLLOUTÚPOLLERR)ÚselfÚrlistÚwlistÚxlistÚsocketÚflagsÚfds          ú[/var/www/finuniver-perm.ru/html/student/venv/lib/python3.11/site-packages/zmq/green/poll.pyÚ_get_descriptorsz_Poller._get_descriptors   sp  € ð ˆØˆØˆà!œ\ð 	!ñ 	!‰MˆF�EÝ˜&¥#¤*Ñ-Ô-ð Ø—’˜V×.Ò.­s¬vÑ6Ô6Ñ7Ô7Ð7ØÝ˜F¥CÑ(Ô(ð Ø��Ý˜ Ñ*Ô*ð 	ðQÝ˜VŸ]š]™_œ_Ñ-Ô-�B�BøÝ ð Qð Qð QÝ$Ð%OÑPÔPÐPðQøøøõ  ð=Ø28ð=ð =ñô ð ð
 •s”zÑ!ð !Ø—’˜RÑ Ô Ð Ø•s”{Ñ"ð !Ø—’˜RÑ Ô Ð Ø•s”{Ñ"ð !Ø—’˜RÑ Ô Ð ùà�u˜eÐ$Ð$s   Â
!B,Â,Céÿÿÿÿc                ó  •— |€d}|dk     rd}d}d}d}|dk    r#t           j                             |dz  ¦  «        }nd}	 |                      ¦   «         \  }}}	 t	          ¦   «                              d¦  «        }|s|dk    r||dk    r|                     ¦   «          S S t           j                             | j        ¦  «        }	 t          j        |||¦  «         n!# t           j        $ r}||ur‚ Y d}~nd}~ww xY w|                     ¦   «          n# |                     ¦   «          w xY wŒÒ# t           j        $ r,}||ur‚ g cY d}~|dk    r|                     ¦   «          S S d}~ww xY w# |dk    r|                     ¦   «          w w xY w)z�Overridden method to ensure that the green version of
        Poller is used.

        Behaves the same as :meth:`zmq.core.Poller.poll`
        Nr"   r   g     @�@)	ÚgeventÚTimeoutÚ	start_newr!   ÚsuperÚpollÚcancelÚ_gevent_bug_timeoutr   )
r   Útimeoutr   r   r   ÚtoutÚeventsÚ_bug_timeoutÚtÚ	__class__s
            €r    r(   z_Poller.poll5   sã  ø€ ð ˆ?ØˆGà�QŠ;ˆ;ØˆGàˆØˆØˆà�QŠ;ˆ;Ý”>×+Ò+¨G°fÑ,<Ñ=Ô=ˆDˆDàˆDð	à"&×"7Ò"7Ñ"9Ô"9ÑˆE�5˜%ð*Ý™œŸš a™œ�Øð "˜W¨š\˜\Ø!ð& ˜Š{ˆ{Ø—’‘”��ð õ  &œ~×7Ò7¸Ô8PÑQÔQ�ð*Ý”M %¨°Ñ6Ô6Ð6Ð6øÝ”~ð ð ð Ø Ð,Ð,Øð -Ð,Ð,Ð,Ð,øøøøðøøøð !×'Ò'Ñ)Ô)Ð)Ð)ø�L×'Ò'Ñ)Ô)Ð)Ð)øøøð*øõ" Œ~ð 	ð 	ð 	Ø˜ˆ}ˆ}ØØˆIˆIˆIˆIˆIà˜Š{ˆ{Ø—’‘”��ð øøøøð	øøøøð
 ˜Š{ˆ{Ø—’‘”��ð øøøss   Á AD+ Â$D+ ÃC ÃD ÃC9Ã*C4Ã/D Ã4C9Ã9D Ã<D+ ÄD'Ä'D+ Ä+E&Ä:E!Å E&ÅE) Å!E&Å&E) Å)F)r"   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__r*   r!   r(   Ú__classcell__)r0   s   @r    r   r   
   s_   ø€ € € € € ðð ð Ðð %ð  %ð  %ðD0ð 0ð 0ð 0ð 0ð 0ð 0ð 0ð 0ð 0ó    r   )Ú
__future__r   r$   r   r   r   Ú_original_Pollerr   © r6   r    ú<module>r:      sŒ   ðØ "Ð "Ð "Ð "Ð "Ð "à €€€Ø Ð Ð Ð Ð Ð à 
€
€
€
Ø *Ð *Ð *Ð *Ð *Ð *ð[ð [ð [ð [ð [Ðñ [ô [ð [ð [ð [r6   