§
    ;xÅjÜf  ã                   óF  — U d Z ddlZddlZddlZddlZddlmZ ddlmZ ddl	m
Z
 ddlmZmZ ddlmZmZ dd	lmZ dd
lmZ ddlmZmZmZ ddlmZmZmZmZmZmZ d„ eD ¦   «         Ze e!         e"d<   dZ#dZ$dZ%dZ&ej'        Z(ej)        Z*ej+        Z,dZ-ej.        j/        Z0ej+        j/        Z1ej)        j/        Z2ej3        j/        Z4ej5        j/        Z6ej7        j/        Z8dZ9dZ:dZ;dZ<dZ=e>j?        Z@dZAee!         e"d<   dZBeeC         e"d<   e!ZD G d„ d¦  «        ZE G d„ d¦  «        ZFdS )z0Reader for WebSocket protocol versions 13 and 8.é    N)Údeque)ÚFinalé   )ÚBaseProtocol)ÚTooManyMembersErrorÚZLibDecompressor)Ú_EXC_SENTINELÚset_exception)Ú	ws_logger)Ú	EofStreamé   )ÚUNPACK_CLOSE_CODEÚUNPACK_LEN3Úwebsocket_mask)ÚWS_DEFLATE_TRAILINGÚWebSocketErrorÚWSCloseCodeÚ	WSMessageÚWSMessageTextBytesÚ	WSMsgTypec                 ó,   — h | ]}t          |¦  «        ’ŒS © )Úint)Ú.0Úis     úMC:\Projects\Historical\venv\Lib\site-packages\aiohttp/_websocket/reader_py.pyú	<setcomp>r      s   € Ð =Ð =Ð =¨A¥ Q¡¤Ð =Ð =Ð =ó    ÚALLOWED_CLOSE_CODESé   é   éÿÿÿÿ)Tr   )Fr   é€   ÚMSG_SIZE_OVERHEADziWebSocketReader was garbage collected while stalled; callers of set_parser() must hold a strong referenceÚSTALLED_READER_COLLECTEDc                   ó¼   — e Zd ZdZdededej        ddfd„Zde	fd„Z
dedz  fd	„Zefd
edej        ddfd„Zdd„Zdd„Z	 	 	 	 	 	 dd„Zdeez  fd„Zdeez  fd„ZdS )ÚWebSocketDataQueuezmWebSocketDataQueue resumes and pauses an underlying stream.

    It is a destination for WebSocket data.
    ÚprotocolÚlimitÚloopÚreturnNc                óæ   — d| _         || _        |dz  | _        || _        d| _        d | _        d | _        t          ¦   «         | _        | j        j	        | _
        | j        j        | _        d | _        d S )Nr   r   F)Ú_sizeÚ	_protocolÚ_limitÚ_loopÚ_eofÚ_waiterÚ
_exceptionr   Ú_bufferÚpopleftÚ_get_bufferÚappendÚ_put_bufferÚ_stalled_reader)Úselfr(   r)   r*   s       r   Ú__init__zWebSocketDataQueue.__init__O   sl   € ð ˆŒ
Ø!ˆŒØ˜a‘iˆŒØˆŒ
ØˆŒ	Ø48ˆŒØ04ˆŒÝJOÉ'Ì'ˆŒØœ<Ô/ˆÔØœ<Ô.ˆÔØFJˆÔÐÐr   c                 ó   — | j         S ©N)r1   ©r:   s    r   Úis_eofzWebSocketDataQueue.is_eof^   s
   € ØŒyÐr   c                 ó   — | j         S r=   )r3   r>   s    r   Ú	exceptionzWebSocketDataQueue.exceptiona   s
   € ØŒÐr   ÚexcÚ	exc_causec                 óh   — d| _         || _        | j        x}�d | _        t          |||¦  «         d S d S ©NT)r1   r3   r2   r
   )r:   rB   rC   Úwaiters       r   r
   z WebSocketDataQueue.set_exceptiond   sF   € ð
 ˆŒ	ØˆŒØ”lÐ"ˆFÐ/ØˆDŒLÝ˜& # yÑ1Ô1Ð1Ð1Ð1ð 0Ð/r   c                 ó€   — | j         x}€d S d | _         |                     ¦   «         s|                     d ¦  «         d S d S r=   )r2   ÚdoneÚ
set_result)r:   rF   s     r   Ú_release_waiterz"WebSocketDataQueue._release_waitero   sO   € Ø”lÐ"ˆFÐ+ØˆFØˆŒØ�{Š{‰}Œ}ð 	$Ø×Ò˜dÑ#Ô#Ð#Ð#Ð#ð	$ð 	$r   c                 óJ   — d| _         |                      ¦   «          d | _        d S rE   )r1   rJ   r3   r>   s    r   Úfeed_eofzWebSocketDataQueue.feed_eofv   s&   € ØˆŒ	Ø×ÒÑÔÐØˆŒˆˆr   ÚdataúWSMessage | WSMessageTextBytesÚsizeÚ
cython_intc                 óþ   — | xj         |t          z   z  c_         |                      ||f¦  «         |                      ¦   «          | j         | j        k    r'| j        j        s| j                             ¦   «          d S d S d S r=   )r-   r$   r8   rJ   r/   r.   Ú_reading_pausedÚpause_reading)r:   rM   rO   s      r   Ú	feed_datazWebSocketDataQueue.feed_data{   s…   € ð 	ˆ
Œ
�dÕ.Ñ.Ñ.ˆ
Œ
Ø×Ò˜$ ˜Ñ&Ô&Ð&Ø×ÒÑÔÐØŒ:˜œÒ#Ð#¨D¬NÔ,JÐ#ØŒN×(Ò(Ñ*Ô*Ð*Ð*Ð*ð $Ð#Ð#Ð#r   c              ƒ   ó  K  — | j         sd| j        s]| j        rJ ‚| j                             ¦   «         | _        	 | j        ƒ d {V —† n'# t
          j        t
          j        f$ r	 d | _        ‚ w xY w|                      ¦   «         S r=   )	r4   r1   r2   r0   Úcreate_futureÚasyncioÚCancelledErrorÚTimeoutErrorÚ_read_from_bufferr>   s    r   ÚreadzWebSocketDataQueue.read„   s¢   è è € ØŒ|ð 	 D¤Ið 	Ø”|Ð#Ð#Ð#Øœ:×3Ò3Ñ5Ô5ˆDŒLðØ”lÐ"Ð"Ð"Ð"Ð"Ð"Ð"Ð"øÝÔ*­GÔ,@ÐAð ð ð Ø#�”Øðøøøð ×%Ò%Ñ'Ô'Ð's   ¹A Á$A+c                 ó>  — | j         �r|                      ¦   «         \  }}| xj        |t          z   z  c_        | j        ��| j        | j        dz  k    rz|                      ¦   «         x}�|                     d¦  «         nNd | _        t          j        t          ¦  «         | j
        €'|                      t          t          ¦  «        ¦  «         | j        €5| j        | j        k     r%| j        j        r| j                             ¦   «          |S | j
        �| j
        ‚t           ‚)Nr   r   )r4   r6   r-   r$   r9   r/   rT   r   Úwarningr%   r3   r
   ÚRuntimeErrorr.   rR   Úresume_readingr   )r:   rM   rO   Úreaders       r   rZ   z$WebSocketDataQueue._read_from_buffer�   s  € ØŒ<ñ 	Ø×)Ò)Ñ+Ô+‰JˆD�$ØˆJŒJ˜$Õ!2Ñ2Ñ2ˆJŒJØÔ#Ð/°D´JÀ$Ä+ÐQRÑBRÒ4RÐ4Rð
 #×2Ò2Ñ4Ô4Ð4�FÐAØ×$Ò$ SÑ)Ô)Ð)Ð)ð ,0�DÔ(ÝÔ%Õ&>Ñ?Ô?Ð?Ø”Ð.Ø×*Ò*­<Õ8PÑ+QÔ+QÑRÔRÐRð
 Ô$Ð,Ø”J ¤Ò,Ð,Ø”NÔ2ð -ð ”×-Ò-Ñ/Ô/Ð/ØˆKØŒ?Ð&Ø”/Ð!Ýˆr   ©r+   N)rM   rN   rO   rP   r+   N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   rW   ÚAbstractEventLoopr;   Úboolr?   ÚBaseExceptionrA   r	   Úbuiltinsr
   rJ   rL   rT   r   r   r[   rZ   r   r   r   r'   r'   I   sk  € € € € € ðð ð
KØ$ðKØ-0ðKØ;BÔ;TðKà	ðKð Kð Kð Kð˜ð ð ð ð ð˜=¨4Ñ/ð ð ð ð ð -:ð	2ð 	2àð	2ð Ô)ð	2ð 
ð		2ð 	2ð 	2ð 	2ð$ð $ð $ð $ðð ð ð ð
+Ø4ð+Ø<Hð+à	ð+ð +ð +ð +ð	(˜IÐ(:Ñ:ð 	(ð 	(ð 	(ð 	(ð" 9Ð/AÑ#Að "ð "ð "ð "ð "ð "r   r'   c            
       óœ   — e Zd Zdededededdf
d„Zdd„Zd	ee	z  e
z  deeef         fd
„Zdedeez  dee	z  deez  ddf
d„Zd	eddfd„ZdS )ÚWebSocketReaderÚqueueÚmax_msg_sizeÚcompressÚdecode_textr+   Nc                 óà  — || _         || _        || _        t          j        | ¦  «        | _        d | _        t          ¦   «         | _        t          | _
        t          | _        d| _        t          | _        g | _        |rt!          d|dz  ¦  «        nd| _        t          ¦   «         | _        d| _        d| _        d| _        d | _        d| _        d| _        t2          | _        d | _        || _        d S )NFi   é   r   r   )rl   Ú_max_msg_sizeÚ_decode_textÚweakrefÚrefÚ
_weak_selfÚ_excÚ	bytearrayÚ_partialÚREAD_HEADERÚ_stateÚOP_CODE_NOT_SETÚ_opcodeÚ
_frame_finÚ_frame_opcodeÚ_payload_fragmentsÚmaxÚ_max_fragmentsÚ_payload_bufferÚ_frame_payload_lenÚ_tailÚ	_has_maskÚ_frame_maskÚ_payload_bytes_to_readÚ_payload_len_flagÚCOMPRESSED_NOT_SETÚ_compressedÚ_decompressobjÚ	_compress)r:   rl   rm   rn   ro   s        r   r;   zWebSocketReader.__init__µ   sà   € ð ˆŒ
Ø)ˆÔØ'ˆÔõ "œ+ dÑ+Ô+ˆŒà&*ˆŒ	Ý!™œˆŒÝ!ˆŒå+ˆŒØˆŒÝ"1ˆÔà/1ˆÔð AMÐS�c $¨¸Ñ(;Ñ<Ô<Ð<ÐRSˆÔÝ(™{œ{ˆÔØ"#ˆÔàˆŒ
ØˆŒØ)-ˆÔØ&'ˆÔ#Ø!"ˆÔÝ 2ˆÔØ7;ˆÔØ!ˆŒˆˆr   c                 ó8   — | j                              ¦   «          d S r=   )rl   rL   r>   s    r   rL   zWebSocketReader.feed_eofÛ   s   € ØŒ
×ÒÑÔÐÐÐr   rM   c                 ó  — t          |¦  «        t          urt          |¦  «        }| j        �d|fS 	 |                      |¦  «         n:# t          $ r-}|| _        t          | j        |¦  «         t          cY d }~S d }~ww xY wt          S rE   )	ÚtypeÚbytesrw   Ú
_feed_dataÚ	Exceptionr
   rl   ÚEMPTY_FRAME_ERRORÚEMPTY_FRAME)r:   rM   rB   s      r   rT   zWebSocketReader.feed_dataá   sŸ   € Ý�‰:Œ:�UÐ"Ð"Ý˜‘;”;ˆDàŒ9Ð Ø˜�:Ðð	%Ø�OŠO˜DÑ!Ô!Ð!Ð!øÝð 	%ð 	%ð 	%ØˆDŒIÝ˜$œ* cÑ*Ô*Ð*Ý$Ð$Ð$Ð$Ð$Ð$Ð$øøøøð	%øøøõ
 Ðs   ²A Á
A?Á"A:Á4A?Á:A?ÚfinÚopcodeÚpayloadÚ
compressedc           	      ój
  — |t           t          t          hv �r|t          k    r*| j        t          k    rt          t          j        d¦  «        ‚|sQ|t          k    r4| j        t          k    rt          t          j        d|›�¦  «        ‚|| _        | xj        |z  c_        d S t          | j        ¦  «        }|t          k    r| j        }t          | _        n|rt          t          j        d|›�¦  «        ‚|r$| j        |z   }| j         
                    ¦   «          n|}|rÆ| j        st          d¬¦  «        | _        	 | j                             |t          z   | j        r
| j        dz   n| j        ¦  «        }n-# t           $ r }t          t          j        d¦  «        |‚d }~ww xY w| j        r:t%          |¦  «        | j        k    r"t          t          j        d| j        › �¦  «        ‚n(t'          |¦  «        t(          u r|}nt)          |¦  «        }|t           k    rÕ| j        r‰	 |                     d¦  «        }	n-# t.          $ r }t          t          j        d	¦  «        |‚d }~ww xY w| j                             t7          t8          t:          |	d
f¦  «        t%          |¦  «        ¦  «         d S | j                             t7          t<          t:          |d
f¦  «        t%          |¦  «        ¦  «         d S | j                             t7          t8          t>          |d
f¦  «        t%          |¦  «        ¦  «         d S |t@          k    �r/t%          |¦  «        dk    r¸tC          |d d…         ¦  «        d         }
|
dk     r&|
tD          vrt          t          j        d|
› �¦  «        ‚	 |dd …                              d¦  «        }n-# t.          $ r }t          t          j        d	¦  «        |‚d }~ww xY wt7          t8          tF          j$        |
|f¦  «        }nG|r#t          t          j        d|› d|› d|›�¦  «        ‚t7          t8          tF          j$        dd
f¦  «        }| j                             |d¦  «         d S |tJ          k    rLt7          t8          tF          j&        |d
f¦  «        }| j                             |t%          |¦  «        ¦  «         d S |tN          k    rLt7          t8          tF          j(        |d
f¦  «        }| j                             |t%          |¦  «        ¦  «         d S t          t          j        d|›�¦  «        ‚)Nz*Continuation frame for non started messagez8The opcode in non-fin frame is expected to be zero, got T)Úsuppress_deflate_headerr   z/Compressed message has too many deflate membersz(Decompressed message exceeds size limit zutf-8zInvalid UTF-8 text messageÚ r   r   i¸  zInvalid close code: zInvalid close frame: ú úUnexpected opcode=))ÚOP_CODE_TEXTÚOP_CODE_BINARYÚOP_CODE_CONTINUATIONr}   r|   r   r   ÚPROTOCOL_ERRORry   rg   ÚclearrŒ   r   Údecompress_syncr   rr   r   ÚMESSAGE_TOO_BIGÚlenr�   r‘   rs   ÚdecodeÚUnicodeDecodeErrorÚINVALID_TEXTrl   rT   Ú	TUPLE_NEWr   ÚWS_MSG_TYPE_TEXTr   ÚWS_MSG_TYPE_BINARYÚOP_CODE_CLOSEr   r   r   ÚCLOSEÚOP_CODE_PINGÚPINGÚOP_CODE_PONGÚPONG)r:   r–   r—   r˜   r™   Úhas_partialÚassembled_payloadÚpayload_mergedrB   ÚtextÚ
close_codeÚclose_messageÚmsgs                r   Ú_handle_framezWebSocketReader._handle_frameñ   sÇ  € ð •l¥NÕ4HÐIÐIÑIàÕ-Ò-Ð-°$´,Å/Ò2QÐ2QÝ$ÝÔ.Ø@ñô ð ð ð àÕ1Ò1Ð1à”|¥Ò6Ð6Ý,Ý'Ô6ð:Ø/5ð:ð :ñô ð ð
 $*�D”LØ�” Ñ(�”Ø�å˜tœ}Ñ-Ô-ˆKØÕ-Ò-Ð-Øœ�Ý.�”�ð ð Ý$ÝÔ.ð2Ø'-ð2ð 2ñô ð ð ð ,Ø$(¤M°GÑ$;Ð!Ø”×#Ò#Ñ%Ô%Ð%Ð%à$+Ð!ð ð :ØÔ*ð YÝ*:ÐSWÐ*XÑ*XÔ*X�DÔ'ðØ%)Ô%8×%HÒ%HØ)Õ,?Ñ?ð  $Ô1ð4˜DÔ.°Ñ2Ð2à!%Ô!3ñ&ô &�N�Nøõ +ð ð ð Ý(Ý#Ô3ØIñô ð ðøøøøðøøøð
 Ô%ð ­#¨nÑ*=Ô*=ÀÔ@RÒ*RÐ*RÝ(Ý#Ô3ØWÀ4ÔCUÐWÐWñô ð øõ Ð'Ñ(Ô(­EÐ1Ð1Ø!2��å!&Ð'8Ñ!9Ô!9�à�Ò%Ð%ØÔ$ð ð#Ø-×4Ò4°WÑ=Ô=˜˜øÝ-ð #ð #ð #Ý,Ý'Ô4Ð6Rñô à"ð#øøøøð#øøøð ”J×(Ò(Ý!¥)Õ.>ÀÀbÐ-IÑJÔJÝ˜NÑ+Ô+ñô ð ð ð ð ”J×(Ò(Ý!Ý.Õ1AÀ>ÐSUÐ0Vñô õ ˜NÑ+Ô+ñ	ô ð ð ð ð ”
×$Ò$Ý�iÕ*<¸nÈbÐ)QÑRÔRÝ˜Ñ'Ô'ñô ð ð ð ð •}Ò$Ñ$Ý�7‰|Œ|˜qÒ Ð Ý.¨w°r¸°r¬{Ñ;Ô;¸AÔ>�
Ø Ò$Ð$¨Õ;NÐ)NÐ)NÝ(Ý#Ô2Ø;¨zÐ;Ð;ñô ð ðØ$+¨A¨B¨B¤K×$6Ò$6°wÑ$?Ô$?�M�MøÝ)ð ð ð Ý(Ý#Ô0Ð2Nñô àðøøøøðøøøõ  ¥	­I¬O¸ZÈÐ+WÑXÔX��Øð EÝ$ÝÔ.ØF¨CÐFÐF°&ÐFÐF¸7ÐFÐFñô ð õ
  ¥	­I¬O¸QÀÐ+CÑDÔD�àŒJ× Ò   aÑ(Ô(Ð(Ð(Ð(Ø•|Ò#Ð#Ý�I­	¬¸ÀÐ'DÑEÔEˆCØŒJ× Ò  ¥c¨'¡l¤lÑ3Ô3Ð3Ð3Ð3Ø•|Ò#Ð#Ý�I­	¬¸ÀÐ'DÑEÔEˆCØŒJ× Ò  ¥c¨'¡l¤lÑ3Ô3Ð3Ð3Ð3å ÝÔ*Ð,KÀÐ,KÐ,Kñô ð sH   Ä99E3 Å3
FÅ=FÆFÈH3 È3
IÈ=IÉIÎN6 Î6
O Ï OÏO c                 óŒ  — d| j         _        | j        r| j        |z   dc}| _        d}t          |¦  «        }|}	 ||k     r-| j         j        | j         j        k    r| j        | j         _        �n@| j        t          k    �r»||z
  dk     r�n$||         }||dz            }|dz  }|dz	  dz  }|dz	  dz  }|d	z	  dz  }	|d
z	  dz  }
|dz  }|	s|
s	|r!| j	        st          t          j        d¦  «        ‚|t          t          t          t           t"          t$          hvrt          t          j        d|›�¦  «        ‚|dk    r |dk    rt          t          j        d¦  «        ‚|dz	  dz  }|dz  }|dk    r |dk    rt          t          j        d¦  «        ‚|dk    r|rt          t          j        d¦  «        ‚n]| j        s| j        t*          k    r|rt,          nt.          | _        n|rt          t          j        d¦  «        ‚t1          |¦  «        | _        || _        t1          |¦  «        | _        || _        t8          | _        | j        t8          k    �ro| j        }|dk    r1||z
  dk     r�nK||         }||dz            }|dz  }|dz  |z  | _        n”|dk    r‡||z
  dk     r�nt=          ||¦  «        d         }|t>          k    rNt          t          j         dtC          |¦  «        t          | j"        ¦  «        z   › d| j#        pt>          › �¦  «        ‚|| _        |dz  }n|| _        | j#        r|| j        t          t          t          hv rat          | j"        ¦  «        }| j        | j#        |z
  k    r:t          t          j         dtC          | j        ¦  «        |z   › d| j#        › �¦  «        ‚| j        rtH          ntJ          | _        | j        tH          k    r.||z
  d
k     r�nÙ|||d
z   …         | _&        |d
z  }tJ          | _        | j        tJ          k    �r£||z
  }| j        |k    r|}| xj        |z  c_        n|| j        z   }d| _        | j'        }| xj'        ||z
  z  c_'        |}|}| j        dk    r�||k     r"| j(         )                    |||…         ¦  «         | j*        r^t          | j(        ¦  «        | j*        k    rA| xj+        d ,                    | j(        ¦  «        z  c_+        | j(         -                    ¦   «          �n¹|�r| j(         )                    |||…         ¦  «         | j+        rm| xj+        d ,                    | j(        ¦  «        z  c_+        | j        r#| j&        €J ‚t]          | j&        | j+        ¦  «         | j+        }t_          ¦   «         | _+        ni| j        rH| j&        €J ‚t_          d ,                    | j(        ¦  «        ¦  «        }t]          | j&        |¦  «         |}nd ,                    | j(        ¦  «        }| j(         -                    ¦   «          na| j        rP| j&        €J ‚|||…         }ta          |¦  «        t^          urt_          |¦  «        }t]          | j&        |¦  «         |}n
|||…         }|  1                    | j        | j        || j        ¦  «         d| _'        t          | _        �Œs||k     r
|||…         nd| _        dS )z&Return the next frame from the socket.Nr   r   Tr   r   é   é   é   r!   é   z*Received frame with non-zero reserved bitsrž   z!Received fragmented control frameé   é}   z5Control frame payload cannot be larger than 125 bytesé~   é   zMessage size z exceeds limit )2rl   r9   r…   r¦   r-   r/   rv   r{   rz   r�   r   r   r¢   r¡   rŸ   r    r­   r¯   r±   r~   r‹   rŠ   ÚCOMPRESSED_TRUEÚCOMPRESSED_FALSErg   r   r†   r‰   ÚREAD_PAYLOAD_LENGTHrˆ   r   ÚMAX_PAYLOAD_LENr¥   r   ry   rr   ÚREAD_PAYLOAD_MASKÚREAD_PAYLOADr‡   r„   r€   r7   r‚   rƒ   Újoinr£   r   rx   r�   rº   )r:   rM   Ú	start_posÚdata_lenÚ	data_cstrÚ
first_byteÚsecond_byter–   Úrsv1Úrsv2Úrsv3r—   Úhas_maskÚlengthÚlen_flagÚ	frame_lenÚpartial_lenÚ	chunk_lenÚ	f_end_posÚhad_fragmentsÚf_start_posr˜   Úpayload_bytearrays                          r   r’   zWebSocketReader._feed_data‡  sê  € à%)ˆŒ
Ô"ØŒ:ð 	6Ø#œz¨DÑ0°#ÐˆD�$”*àˆ	Ý�t‘9”9ˆØˆ	ðX	*Ø˜8Ò#Ð#¨¬
Ô(8¸4¼:Ô;LÒ(LÐ(Lð
 .2¬_�”
Ô*Ùð Œ{�kÒ)Ñ)Ø˜iÑ'¨!Ò+Ð+ÙØ& yÔ1�
Ø'¨	°A©Ô6�Ø˜Q‘�	à! Q‘¨!Ñ+�Ø" a™¨1Ñ,�Ø" a™¨1Ñ,�Ø" a™¨1Ñ,�Ø# cÑ)�ð ð ˜4ð  Dð °´ð Ý(Ý#Ô2ØDñô ð ð
 Ý(Ý Ý"Ý!Ý Ý ð"ð ð õ )Ý#Ô2Ø7¨VÐ7Ð7ñô ð ð
 ˜C’<�< C¨1¢H HÝ(Ý#Ô2Ø;ñô ð ð
 (¨1Ñ,°Ñ1�Ø$ tÑ+�ð ˜C’<�< F¨S¢L LÝ(Ý#Ô2ØOñô ð ð ˜C’<�<Øð Ý,Ý'Ô6ØHñô ð ðð ”ð ¨$Ô*:Õ>PÒ*PÐ*PØ>BÐ+X­?¨?ÕHX˜Ô(Ð(Øð Ý,Ý'Ô6ØHñô ð õ '+¨3¡i¤i�D”Oà%+�Ô"Ý!% h¡¤�”Ø)/�Ô&Ý1�”ð Œ{Õ1Ò1Ñ1ØÔ1�Ø˜s’?�?Ø )Ñ+¨aÒ/Ð/ÙØ!*¨9Ô!5�JØ"+¨I¸©MÔ":�KØ ‘N�IØ2<À±/ÀKÑ2O�DÔ/Ð/Ø ’^�^Ø )Ñ+¨aÒ/Ð/Ùõ !,¨D°)Ñ <Ô <¸QÔ ?�IØ ¥?Ò2Ð2Ý,Ý'Ô7ðU­C°	©N¬N½SÀÄÑ=OÔ=OÑ,Oð Uð UØ-1Ô-?Ð-RÅ?ðUð Uñô ð ð
 3<�DÔ/Ø ‘N�I�Ià2:�DÔ/ð
 Ô%ð ¨$Ô*<Ý Ý"Ý(ðAð +ð +õ #& d¤mÑ"4Ô"4�Kð Ô2°dÔ6HÈ;Ñ6VÒVÐVÝ,Ý'Ô7ðB­C°Ô0KÑ,LÔ,LÈ{Ñ,Zð Bð BØ-1Ô-?ðBð Bñô ð ð 48´>ÐSÕ/Ð/Å|�”ð Œ{Õ/Ò/Ð/Ø˜iÑ'¨!Ò+Ð+ÙØ#,¨Y¸ÀQ¹Ð-FÔ#G�Ô Ø˜Q‘�	Ý*�”àŒ{�lÒ*Ñ*Ø$ yÑ0�	ØÔ.°)Ò;Ð;Ø (�IØÐ/Ô/°9Ñ<Ð/Ô/Ð/à )¨DÔ,GÑ G�IØ23�DÔ/à $Ô 7�ØÐ'Ô'¨9°yÑ+@Ñ@Ð'Ô'Ø'�Ø%�	àÔ.°!Ò3Ð3Ø" YÒ.Ð.ØÔ/×6Ò6°yÀÈYÐAVÔ7WÑXÔXÐXàÔ+ð8å Ô 7Ñ8Ô8¸4Ô;NÒNÐNð Ð,Ô,°·²¸Ô9PÑ0QÔ0QÑQÐ,Ô,ØÔ/×5Ò5Ñ7Ô7Ð7Ùð !ñ ?ØÔ+×2Ò2°9¸[ÈÐ=RÔ3SÑTÔTÐTØÔ+ð DØÐ,Ô,°·²¸Ô9PÑ0QÔ0QÑQÐ,Ô,Øœ>ð SØ#'Ô#3Ð#?Ð#?Ð#?Ý*¨4Ô+;¸TÔ=QÑRÔRÐRØ"&Ô"6˜Ý/8©{¬{˜Ô,Ð,Øœð DØ#Ô/Ð;Ð;Ð;Ý,5°c·h²h¸tÔ?VÑ6WÔ6WÑ,XÔ,XÐ)Ý& tÔ'7Ð9JÑKÔKÐKØ"3˜˜à"%§(¢(¨4Ô+BÑ"CÔ"C˜ØÔ+×1Ò1Ñ3Ô3Ð3Ð3Ø”^ð ?ØÔ+Ð7Ð7Ð7Ø(1°+¸iÐ2GÔ(HÐ%ÝÐ-Ñ.Ô.µiÐ?Ð?õ -6Ð6GÑ,HÔ,HÐ)Ý" 4Ô#3Ð5FÑGÔGÐGØ/�G�Gà'¨°IÐ(=Ô>�Gà×"Ò"Ø”O TÔ%7¸À$ÔBRñô ð ð +,�Ô'Ý)�”ñqX	*ðv 7@À(Ò6JÐ6J�Y˜y¨Ð1Ô2Ð2ÐPSˆŒ
ˆ
ˆ
r   ra   )rb   rc   rd   r'   r   rg   r;   rL   r‘   rx   Ú
memoryviewÚtuplerT   rP   rº   r’   r   r   r   rk   rk   ´   s1  € € € € € ð$"à!ð$"ð ð$"ð ð	$"ð
 ð$"ð 
ð$"ð $"ð $"ð $"ðLð ð ð ð˜e iÑ/°*Ñ<ð ÀÀtÈUÀ{ÔASð ð ð ð ð TàðTð �jÑ ðTð ˜Ñ"ð	Tð
 ˜*Ñ$ðTð 
ðTð Tð Tð TðleT˜uð eT¨ð eTð eTð eTð eTð eTð eTr   rk   )Gre   rW   ri   Úsysrt   Úcollectionsr   Útypingr   Úbase_protocolr   Úcompression_utilsr   r   Úhelpersr	   r
   Úlogr   Ústreamsr   r   r   r   Úmodelsr   r   r   r   r   r   r   Úsetr   Ú__annotations__rz   rÆ   rÈ   rÉ   ÚmaxsizerÇ   ÚBINARYr¬   ÚTEXTr«   r|   ÚCONTINUATIONÚvaluer¡   rŸ   r    r®   r­   r°   r¯   r²   r±   r”   r•   rŠ   rÅ   rÄ   rÞ   Ú__new__rª   r$   r%   ÚstrrP   r'   rk   r   r   r   ú<module>rñ      sž  ðØ 6Ð 6Ð 6à €€€Ø €€€Ø 
€
€
€
Ø €€€Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð à (Ð (Ð (Ð (Ð (Ð (Ø EÐ EÐ EÐ EÐ EÐ EÐ EÐ EØ 2Ð 2Ð 2Ð 2Ð 2Ð 2Ð 2Ð 2Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø CÐ CÐ CÐ CÐ CÐ CÐ CÐ CÐ CÐ Cðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð !>Ð =°Ð =Ñ =Ô =Ð �S˜”XÐ =Ð =Ñ =ð €ØÐ ØÐ Ø€ð ”+€àÔ%Ð Ø”>Ð ð €Ø Ô-Ô3Ð ØŒ~Ô#€ØÔ!Ô'€Ø”Ô%€ØŒ~Ô#€ØŒ~Ô#€àÐ Ø€àÐ ØÐ Ø€àŒM€	ð !$Ð �5˜”:Ð #Ð #Ñ #ð;ð ˜% œ*ð ð ñ ð
 €
ðhð hð hð hð hñ hô hð hðVxTð xTð xTð xTð xTñ xTô xTð xTð xTð xTr   