
    g7F                        % S r SSKrSSKrSSKJr  SSKJrJrJrJ	r	J
r
JrJr  SSKJr  SSKJr  SSKJrJr  SS	KJr  S
SKJrJrJr  S
SKJrJrJrJrJr  \ V s1 s H  n \" U 5      iM     sn r \\
\      \!S'   S
r"Sr#Sr$Sr%\RL                  r'\RP                  r)\RT                  RV                  r,\RP                  RV                  r-\RL                  RV                  r.\R^                  RV                  r0\Rb                  RV                  r2\Rf                  RV                  r4Sr5Sr6\7Rp                  r9\r: " S S5      r; " S S5      r<gs  sn f )z0Reader for WebSocket protocol versions 13 and 8.    N)deque)DequeFinalListOptionalSetTupleUnion   )BaseProtocol)ZLibDecompressor)_EXC_SENTINELset_exception)	EofStream   )UNPACK_CLOSE_CODEUNPACK_LEN3websocket_mask)WS_DEFLATE_TRAILINGWebSocketErrorWSCloseCode	WSMessage	WSMsgTypeALLOWED_CLOSE_CODES      )T    )Fr   c                       \ rS rSrSrS\S\S\R                  SS4S jr	S\
4S	 jrS\\   4S
 jr\4SSS\R                  SS4S jjrSS jrSS jrSS jrS\4S jrS\4S jrSrg)WebSocketDataQueue1   zeWebSocketDataQueue resumes and pauses an underlying stream.

It is a destination for WebSocket data.
protocollimitloopreturnNc                    SU l         Xl        US-  U l        X0l        SU l        S U l        S U l        [        5       U l        U R                  R                  U l
        U R                  R                  U l        g )Nr   r   F)_size	_protocol_limit_loop_eof_waiter
_exceptionr   _bufferpopleft_get_bufferappend_put_buffer)selfr!   r"   r#   s       d/Users/Alptekin/Desktop/izin_takip/venv/lib/python3.13/site-packages/aiohttp/_websocket/reader_py.py__init__WebSocketDataQueue.__init__7   sb     
!ai
	7;6:5:W<<//<<..r   c                     U R                   $ N)r*   r2   s    r3   is_eofWebSocketDataQueue.is_eofE   s    yyr   c                     U R                   $ r7   )r,   r8   s    r3   	exceptionWebSocketDataQueue.exceptionH   s    r   excBaseException	exc_causec                 d    SU l         Xl        U R                  =nb  S U l        [        X1U5        g g NT)r*   r,   r+   r   )r2   r>   r@   waiters       r3   r    WebSocketDataQueue.set_exceptionK   s5    
 	ll"F/DL&y1 0r   c                     U R                   =nc  g S U l         UR                  5       (       d  UR                  S 5        g g r7   )r+   done
set_result)r2   rC   s     r3   _release_waiter"WebSocketDataQueue._release_waiterV   s9    ll"F+{{}}d# r   c                 2    SU l         U R                  5         g rB   )r*   rH   r8   s    r3   feed_eofWebSocketDataQueue.feed_eof]   s    	r   c                    U =R                   U-  sl         U R                  X45        U R                  5         U R                   U R                  :  a7  U R                  R
                  (       d  U R                  R                  5         g g g r7   )r&   r1   rH   r(   r'   _reading_pausedpause_readingr2   datasizes      r3   	feed_dataWebSocketDataQueue.feed_dataa   sa    

d
$&::#DNN,J,JNN((* -K#r   c                   #    U R                   (       dh  U R                  (       dW  U R                  (       a   eU R                  R	                  5       U l         U R                  I S h  vN   U R                  5       $ U R                  5       $  N$! [
        R                  [
        R                  4 a	    S U l        e f = f7fr7   )	r-   r*   r+   r)   create_futureasyncioCancelledErrorTimeoutError_read_from_bufferr8   s    r3   readWebSocketDataQueue.readh   s     ||DII||##::335DLll"" %%''t%%''	 #**G,@,@A #s0   AB>B 'B(B , B>B -B;;B>c                 R   U R                   (       ax  U R                  5       u  pU =R                  U-  sl        U R                  U R                  :  a5  U R                  R
                  (       a  U R                  R                  5         U$ U R                  b  U R                  e[        er7   )	r-   r/   r&   r(   r'   rN   resume_readingr,   r   rP   s      r3   rZ   $WebSocketDataQueue._read_from_buffers   sq    <<))+JDJJ$JzzDKK'DNN,J,J--/K??&//!r   )
r-   r*   r,   r/   r(   r)   r'   r1   r&   r+   r$   N)rQ   r   rR   int_r$   N)__name__
__module____qualname____firstlineno____doc__r   intrW   AbstractEventLoopr4   boolr9   r   r?   r<   r   builtinsr   rH   rK   rS   r   r[   rZ   __static_attributes__ r   r3   r   r   1   s    
/$/-0/;B;T;T/	/ 8M2  -:	2	2 ))	2 
		2$+	(I 	(	9 	r   r   c            
           \ rS rSr SS\S\S\SS4S jjrSS jrS	\	\
\\4   S\\\
4   4S
 jrS	\
SS4S jrS\
S\\\\\   \	\
\4   \\   4      4S jrSrg)WebSocketReader   queuemax_msg_sizecompressr$   Nc                    Xl         X l        S U l        [        5       U l        [
        U l        S U l        SU l        S U l	        SU l
        SU l        SU l        SU l        S U l        SU l        SU l        S U l        S U l        X0l        g )NFr   r   )rp   _max_msg_size_exc	bytearray_partialREAD_HEADER_state_opcode
_frame_fin_frame_opcode_frame_payload_frame_payload_len_tail	_has_mask_frame_mask_payload_length_payload_length_flag_compressed_decompressobj	_compress)r2   rp   rq   rr   s       r3   r4   WebSocketReader.__init__   s     
))-	!!&*,07:"#
,0 $%!+/:>!r   c                 8    U R                   R                  5         g r7   )rp   rK   r8   s    r3   rK   WebSocketReader.feed_eof   s    

r   rQ   c                     [        U5      [        La  [        U5      nU R                  b  SU4$  U R                  U5        [        $ ! [         a,  nX l        [        U R                  U5        [        s S nA$ S nAff = frB   )	typebytesru   
_feed_data	Exceptionr   rp   EMPTY_FRAME_ERROREMPTY_FRAME)r2   rQ   r>   s      r3   rS   WebSocketReader.feed_data   sq     :U";D99 :	%OOD!   	%I$**c*$$	%s   A 
A=!A82A=8A=c           
      h   U R                  U5       GHB  nUS   nUS   nUS   nUS   nU[        :H  nU[        :X  d  U[        :X  d  U(       GaL  U(       d  U(       d  X@l        U =R
                  U-  sl        U R                  (       aj  [        U R
                  5      U R                  :  aG  [        [        R                  SR                  [        U R
                  5      U R                  5      5      eM  [        U R
                  5      nU(       a;  U R                  c  [        [        R                  S5      eU R                  nS U l        O0U(       a)  [        [        R                  SR                  U5      5      eU(       a*  U R
                  U-   n	U R
                  R                  5         OUn	U R                  (       aV  [        U	5      U R                  :  a=  [        [        R                  SR                  [        U	5      U R                  5      5      eU(       a  U R                  (       d  [!        SS	9U l        U R                  R#                  U	[$        -   U R                  5      n
U R                  R&                  (       a`  [        U R                  R&                  5      n[        [        R                  S
R                  U R                  U-   U R                  5      5      eO [)        U	5      [*        L a  U	n
O[+        U	5      n
U[        :X  aO   U
R-                  S5      nU R2                  R5                  [7        [8        [:        US45      [        U
5      5        GML  U R2                  R5                  [7        [8        [<        U
S45      [        U
5      5        GM  U[>        :X  a  [        U5      S:  at  [A        US S 5      S   nUS:  a'  U[B        ;  a  [        [        R                  SU 35      e USS  R-                  S5      n[7        [8        [D        RF                  X45      nOLU(       a$  [        [        R                  SU SU SU< 35      e[7        [8        [D        RF                  SS45      nU R2                  R5                  US5        GM  U[H        :X  aI  [7        [8        [D        RJ                  US45      nU R2                  R5                  U[        U5      5        GM  U[L        :X  aI  [7        [8        [D        RN                  US45      nU R2                  R5                  U[        U5      5        GM'  [        [        R                  SU< 35      e   g ! [.         a   n[        [        R0                  S5      UeS nAff = f! [.         a   n[        [        R0                  S5      UeS nAff = f)Nr   r   r   r   z Message size {} exceeds limit {}z*Continuation frame for non started messagez<The opcode in non-fin frame is expected to be zero, got {!r}T)suppress_deflate_headerz-Decompressed message size {} exceeds limit {}zutf-8zInvalid UTF-8 text message i  zInvalid close code: zInvalid close frame:  zUnexpected opcode=)(parse_frameOP_CODE_CONTINUATIONOP_CODE_TEXTOP_CODE_BINARYrz   rw   rt   lenr   r   MESSAGE_TOO_BIGformatri   PROTOCOL_ERRORclearr   r   decompress_syncr   unconsumed_tailr   r   decodeUnicodeDecodeErrorINVALID_TEXTrp   rS   	TUPLE_NEWr   WS_MSG_TYPE_TEXTWS_MSG_TYPE_BINARYOP_CODE_CLOSEr   r   r   CLOSEOP_CODE_PINGPINGOP_CODE_PONGPONG)r2   rQ   framefinopcodepayload
compressedis_continuationhas_partialassembled_payloadpayload_mergedlefttextr>   
close_codeclose_messagemsgs                    r3   r   WebSocketReader._feed_data   s   %%d+E(C1XFAhGqJ$(<<O%>)A_*'-MMW,M))c$--.@DDVDV.V,'77>EE #DMM 2D4F4F  "4==1"||+,'66H  "\\F#'DL !(#22//5vf~  (,(?%MM'')(/%%%#.?*@DDVDV*V(#33:AA 12D4F4F  ...>48/+ &*%8%8%H%H),??ASAS&N **::"4#6#6#F#FG,'77KRR $ 2 2T 94;M;M  ; +,5%6N%*+<%=N\)#-44W= JJ((!).>b-IJN+
 JJ((!).@.RT-UVN+ =(w<1$!272A;!?!BJ!D(Z?R-R,'662:,? #(/(:(:7(C
 $!IOOZ#OC (#22/uAfXQwkJ 
 $I	B/GHC

$$S!,<'	INNGR+HI

$$S#g,7<'	INNGR+HI

$$S#g,7 %..2DVJ0O O ,d . #,'446R"##8 . #,'446R"##s0   U3V
V$U??V
V1V,,V1bufc                    / nU R                   (       a  U R                   U-   Ssol         Sn[        U5      n U R                  [        :X  Ga_  XC-
  S:  a  GOX   nXS-      nUS-  nUS-	  S-  nUS-	  S-  nUS-	  S-  n	US	-	  S-  n
US
-  nU	(       d  U
(       d  U(       a+  U R                  (       d  [        [        R                  S5      eUS:  a   US:X  a  [        [        R                  S5      eUS-	  S-  nUS-  nUS:  a   US:  a  [        [        R                  S5      eU R                  (       d  U R                  c  U(       a  SOSU l	        O!U(       a  [        [        R                  S5      e[        U5      U l        Xl        [        U5      U l        Xl        [        U l        U R                  [        :X  a  U R                  nUS:X  a(  XC-
  S:  a  GOhX   nXS-      nUS-  nUS-  U-  U l        O6US:  a*  XC-
  S:  a  GO:XUS-    nUS-  n[!        U5      S   U l        OXl        U R                  (       a  ["        O[$        U l        U R                  ["        :X  a&  XC-
  S	:  a  GOXUS	-    U l        US	-  n[$        U l        U R                  [$        :X  Ga  XC-
  nU R                  U:  a  UnU =R                  U-  sl        OX0R                  -   nSU l        U R(                  (       aN  [+        U R,                  5      [.        La  [/        U R,                  5      U l        U =R,                  XU -  sl        O	XU U l        U =R(                  UU-
  -  sl        UnU R                  S:w  a  OU R                  (       ae  U R&                  c   e[+        U R,                  5      [.        La  [/        U R,                  5      U l        [1        U R&                  U R,                  5        UR3                  U R                  U R                  U R,                  U R                  45        SU l        SU l        [        U l        GM  X4:  a  XS U l         U$ SU l         U$ )z&Return the next frame from the socket.r   r   Tr   r            r      z*Received frame with non-zero reserved bitsz!Received fragmented control framero   }   z5Control frame payload cannot be larger than 125 bytesNF~      )r   r   ry   rx   r   r   r   r   r{   r   ri   r|   r   r   READ_PAYLOAD_LENGTHr   r   READ_PAYLOAD_MASKREAD_PAYLOADr   r~   r   r}   rv   r   r0   )r2   r   frames	start_pos
buf_length
first_bytesecond_byter   rsv1rsv2rsv3r   has_masklengthlength_flagrQ   	chunk_lenend_poss                     r3   r   WebSocketReader.parse_frame>  s9     	 ::"jj3.OC	X
{{k))A- ^
!a-0Q	!Q!+"a1,"a1,"a1,#c) 4D(#22D 
 C<C1H(#22; 
 (1,1$t+ C<FSL(#22O  ??d&6&6&>/3tD$(#22D 
 #'s)%+"!%h,2)1 {{11"77#%!-1!$J"%!m"4KNI+5?[+HD( 3&!-19q=9DNI+6t+<Q+?D(+6(37>>/| {{//)A-#&9q=#A Q	*{{l*&2	''94(G((I5('*>*>>G+,D(**D//0	A.78K8K.L+''3+AA' +.*@D'''7Y+>>'#	''1,>>++777D//0	A.78K8K.L+"4#3#3T5H5HI**++((	 '*#*+')K N )2(>S_
 EH
r   )r   r   r   ru   r{   r   r|   r}   r~   r   rt   rz   rw   r   r   ry   r   rp   )Tr`   )rb   rc   rd   re   r   rg   ri   r4   rK   r
   r   rv   
memoryviewr	   rS   r   r   r   r   rk   rl   r   r3   rn   rn      s    MQ"'"7:"FJ"	"2%J67	tU{	$Ku K KZVV	eD(3-ui/?)@(4.PQ	RVr   rn   )=rf   rW   rj   collectionsr   typingr   r   r   r   r   r	   r
   base_protocolr   compression_utilsr   helpersr   r   streamsr   r   r   r   modelsr   r   r   r   r   rg   r   __annotations__rx   r   r   r   BINARYr   TEXTr   CONTINUATIONvaluer   r   r   r   r   r   r   r   r   r   r   tuple__new__r   ra   r   rn   )is   0r3   <module>r      s'   6    B B B ( 0 2  C C  9D'D1A'D U3s8_ D   %% >>  !--33 ~~##!!''%%~~##~~## MM	
K K\U UU (Es   E