+
    PV-j¢  ã                   óŠ  a € R t'0 t R t^ RIt^ RIt^ RIHt ^ RIHt ^ RIHtH	t	 ^RI
Ht ^RIHt ]! R4      P                  t]! R4      P                   t]! R	4      P$                  t]! R
4      P$                  t]! R4      P$                  t]! R4      P$                  t]! R4      P$                  tRt] ^ k ^t] ^k Rt] ^k ]P6                  R R l4       tR R lt]'       g	   ]'       d   ]tM	 ^RIH t  ] t]PD                  ! R4      t#] ^k ]PD                  ! R4      t$] ^k RR R llt%RR R llt&R#   ]! d    ]t LIi ; i)z1Helpers for WebSocket protocol versions 13 and 8.N)ÚPattern)ÚStruct)ÚTYPE_CHECKINGÚFinal)ÚNO_EXTENSIONS)ÚWSHandshakeErrorz!Qz!Hz!BBz!BBHz!BBQz!Ls$   258EAFA5-E914-47DA-95CA-C5AB0DC85B11c                ó:   € V ^8„  d   QhR\         \        ,          /# )é   Úreturn)ÚlistÚbytes)Úformats   "Úk/Volumes/fast/ai/experiments/ui-tars-smoke/.venv/lib/python3.14/site-packages/aiohttp/_websocket/helpers.pyÚ__annotate__r      s   € ÷ Bñ B”Dœ•Kñ Bó    c            	      ó~   a € \        R 4       U a u. uF!  o \        V 3R l\        R 4       4       4      NK#  	  up # u up i )é   c              3   ó4   <"  € T F  qS,          x € K  	  R # 5i©N© )Ú.0ÚaÚbs   & €r   Ú	<genexpr>Ú_xor_table.<locals>.<genexpr>   s   øé € Ð,¡˜A�a—%’%£ùs   ƒ)Úranger   )r   s   `r   Ú
_xor_tabler      s.   ø€ ä6;¸C´jÔA±j°ŒEÔ,¤ s¤Ó,Ö,±jÑAÐAùÒAs   �':c                ó4   € V ^8„  d   QhR\         R\        RR/# )r	   ÚmaskÚdatar
   N)r   Ú	bytearray)r   s   "r   r   r      s!   € ÷ -ñ -¤ð -¬ið -¸Dñ -r   c                óŽ  a€ \        V\        4      '       g   Q V4       h\        V 4      ^8X  g   Q V 4       hV'       dˆ   \        4       oV3R lV  4       w  r#rEVR,          P	                  V4      VR&   VR,          P	                  V4      VR&   VR,          P	                  V4      VR&   VR,          P	                  V4      VR&   R# R# )a[  Websocket masking function.

`mask` is a `bytes` object of length 4; `data` is a `bytearray`
object of any length. The contents of `data` are masked with `mask`,
as specified in section 5.3 of RFC 6455.

Note that this function mutates the `data` argument.

This pure-python implementation may be replaced by an optimized
version when available.

c              3   ó6   <"  € T F  pSV,          x € K  	  R # 5ir   r   )r   ÚnÚ
_XOR_TABLEs   & €r   r   Ú)_websocket_mask_python.<locals>.<genexpr>1   s   øé € Ð2©T¨�j —m’m«Tùs   ƒ:NNé   :é   Nr&   :r	   Nr&   :é   Nr&   N)Ú
isinstancer    Úlenr   Ú	translate)r   r   r   r   ÚcÚdr$   s   &&    @r   Ú_websocket_mask_pythonr.      s¯   ø€ ô �dœI×&Ò&Ð,¨Ó,Ð&Üˆt‹9˜Œ>Ð˜4Óˆ>çÜ“\ˆ
Ü2©TÓ2‰
ˆˆaØ˜•I×'Ñ'¨Ó*ˆˆS‰	Ø˜$•Z×)Ñ)¨!Ó,ˆˆT‰
Ø˜$•Z×)Ñ)¨!Ó,ˆˆT‰
Ø˜$•Z×)Ñ)¨!Ó,ˆˆT‹
ñ r   )Ú_websocket_mask_cythonz�^(?:;\s*(?:(server_no_context_takeover)|(client_no_context_takeover)|(server_max_window_bits(?:=(\d+))?)|(client_max_window_bits(?:=(\d+))?)))*$zpermessage-deflate([^,]+)?c                ól   € V ^8„  d   QhR\         R,          R\        R\        \        \        3,          /# )r	   ÚextstrNÚisserverr
   )ÚstrÚboolÚtupleÚint)r   s   "r   r   r   N   s.   € ÷ 0 ñ 0 œ˜t�ð 0 ¬tð 0 ÄÄcÌ4ÀiÕ@Pñ 0 r   c                 óÌ  € V '       g   R# ^ pRp\         P                  V 4       EF:  pVP                  ^4      pV'       g   ^p W#3# \        P	                  V4      pV'       dÒ   ^pV'       da   VP                  ^4      '       d-   \        VP                  ^4      4      pV^8”  g   V^	8  d   ^ pK�  VP                  ^4      '       d   Rp W#3# VP                  ^4      '       d4   \        VP                  ^4      4      pV^8”  g   V^	8  d   \        R4      hVP                  ^4      '       d   Rp W#3# V'       d   EK  \        RVP                  ^4      ,           4      h	  W#3# )é    FTzInvalid window sizez#Extension for deflate not supported)r8   F)Ú_WS_EXT_RE_SPLITÚfinditerÚgroupÚ
_WS_EXT_REÚmatchr6   r   )r1   r2   ÚcompressÚ
notakeoverÚextÚdefextr=   s   &&     r   Úws_ext_parserB   N   sM  € ßØˆà€HØ€JÜ×(Ñ(¨×0ˆØ—‘˜1“ˆçØˆHØðJ ÐÐôI × Ñ  Ó(ˆßØˆHßð —;‘;˜q—>’>Ü" 5§;¡;¨q£>Ó2�Hð
   "”}¨°1¬Ø#$˜Ù Ø—;‘;˜q—>’>Ø!%�Jàð$ ÐÐð! —;‘;˜q—>’>Ü" 5§;¡;¨q£>Ó2�Hð
   "”}¨°1¬Ü.Ð/DÓEÐEØ—;‘;˜q—>’>Ø!%�Jàð
 ÐÐ÷ ’Ü"Ð#HÈ3Ï9É9ÐUVË<Õ#WÓXÐXñQ 1ðT ÐÐr   c                óH   € V ^8„  d   QhR\         R\        R\        R\        /# )r	   r>   r2   Úserver_notakeoverr
   )r6   r4   r3   )r   s   "r   r   r   �   s,   € ÷ !ñ !Üð!Ü"&ð!ÜCGð!äñ!r   c                 ó  € V ^	8  g   V ^8”  d   \        R4      hR.pV'       g   VP                  R4       V ^8  d"   VP                  R\        V 4      ,           4       V'       d   VP                  R4       RP                  V4      # )é	   zCCompress wbits must between 9 and 15, zlib does not support wbits=8zpermessage-deflateÚclient_max_window_bitszserver_max_window_bits=Úserver_no_context_takeoverz; )Ú
ValueErrorÚappendr3   Újoin)r>   r2   rD   Ú
enabledexts   &&& r   Ú
ws_ext_genrM   �   s   € ð
 �!„|�x "”}ÜØQó
ð 	
ð 'Ð'€JßØ×ÑÐ2Ô3à�"„}Ø×ÑÐ3´c¸(³mÕCÔDßØ×ÑÐ6Ô7ð �9‰9�ZÓ Ð r   c                óz  € V ^8„  d   Qh/ ^ \         9   d   \        \        ,          ;R&   ^\         9   d   \        \        ,          ;R&   ^\         9   d   \        \        ,          ;R&   ^\         9   d    \        \        \
        ,          ,          ;R&   ^\         9   d    \        \        \
        ,          ,          ;R&   # )r	   ÚMSG_SIZEÚMASK_LENÚWS_KEYr<   r9   )Ú__conditional_annotations__r   r6   r   r   r3   )r   s   "r   r   r      s‰   € × 7Ñ 7÷$ Ò Œ%”�*Ñ ñ% 8÷& Ò Œ%”�*Ñ ñ' 8÷* ?Ò >ŒŒe�Ñ >ñ+ 8÷Dò ŒE”'œ#•,Õñ ñE 8÷T RÒ Q”%œ¤�Õ%Ñ QòU 8r   i @  )F)é   FF)(rR   Ú__doc__Ú	functoolsÚrer   Ústructr   Útypingr   r   Úhelpersr   Úmodelsr   Úunpack_fromÚUNPACK_LEN3ÚunpackÚUNPACK_CLOSE_CODEÚpackÚ	PACK_LEN1Ú	PACK_LEN2Ú	PACK_LEN3ÚPACK_CLOSE_CODEÚPACK_RANDBITSrO   rP   rQ   Ú	lru_cacher   r.   Úwebsocket_maskr   r/   ÚImportErrorÚcompiler<   r9   rB   rM   r   )rR   s   @r   Ú<module>ri      s0  øðÞ 7ã Û 	Ý Ý ß 'å #Ý $á�T‹l×&Ñ&€Ù˜4“L×'Ñ'Ð Ù�5‹M×Ñ€	Ù�6‹N×Ñ€	Ù�6‹N×Ñ€	Ù˜“,×#Ñ#€Ù�t“×!Ñ!€Ø€Ó Ø€Ó à>€Ó >ð ×ÑôBó ðBõ-÷2 —MØ+�Nð0Ý0à/ˆð
 #%§*¢*ð/ó#€
ó ð )+¯
ª
Ð3PÓ(QÐ Ó Q÷0 ÷f!ñ !øðE ô 0Ø/Šð0ús   Ã0D6 Ä6	EÅE