+
     h  c                   sh   ^ RI t ^ RIt^ RIt^ RIHtHtHtHtHt ]P                  P                  ^8  d#   ]P                  P                  ^8  d   ^ RI Ht M^ RIHt ^RIHtHtHt ^RIHt ^RIHt ^RIHtHt ^RIHtHtHtHt ]! 4       t ! R	 R
]RR7      t ! R R]4      t ! R R]4      t R# )    N)CallableListOptional	TypedDictUnion)timeout)ConnectionErrorInvalidResponse
RedisError)
EncodableT)HIREDIS_AVAILABLE)AsyncBaseParser
BaseParser)#NONBLOCKING_EXCEPTION_ERROR_NUMBERSNONBLOCKING_EXCEPTIONSSENTINELSERVER_CLOSED_CONNECTION_ERRORc                   s,   a  ] tR t^t o V 3R ltRtV tR# )_HiredisReaderArgsc                s   < V ^8  d   Qh/ S[ S[.S[3,          ;R&   S[ S[.S[3,          ;R&   S[S[,          ;R&   S[S[,          ;R&   # )   protocolError
replyErrorencodingerrors)r   Zstr	Exceptionr   Zformat__classdict__   ";/usr/lib/python3.14/site-packages/redis/_parsers/hiredis.py__annotate__Z_HiredisReaderArgs.__annotate__   sU     SE9,-- #	)**  sm  SM	      N)__name__
__module____qualname____firstlineno__Z__annotate_func____static_attributes____classdictcell__r      @r   r   r      s      r   r   F)Ztotalc                   sZ   a  ] tR t^#t o RtR tR tR tR tR t	]
R3R ltRR	 ltR
tV tR# )_HiredisParserz*Parser class for connections using Hiredisc                s`    \         '       g   \        R 4      hWn        \        V4      V n        R# )zHiredis is not installedN)r   r	   socket_read_sizeZ	bytearray_buffer)selfr)      &&r   __init__Z_HiredisParser.__init__&   s'      788 0 !12r   c                sL     V P                  4        R #   \         d     R # i ; iN)on_disconnectr   r+      &r   __del__Z_HiredisParser.__del__,   s%    	  		s    ##c                s`   ^ RI pVP                  V n        VP                  V n        R\        RV P
                  RVP                  P                  R\        /pVP                  P                  '       d   VP                  P                  VR&   VP                  ! R/ VB V n        \        V n        R# )r    Nr   r   r   notEnoughDatar   r   )hiredis_sockZsocket_timeout_socket_timeoutr   parse_errorencoderencoding_errorsNOT_ENOUGH_DATAdecode_responsesr   Reader_reader_next_response)r+   
connectionkwargsr4   s   &&, r   
on_connectZ_HiredisParser.on_connect2   s    %%
)88_$**j((88_	
 ...!+!3!3!<!<F:~~//-r   c                s8    R V n         R V n        \        V n        R # r.   )r5   r=   r:   r>   r0   r1   r   r/   Z_HiredisParser.on_disconnectC   s    
-r   c                s    V P                   '       g   \        \        4      hV P                  \        J dG   V P                   P                  4       V n        V P                  \        J d   V P                  VR R7      # R# )F)r   raise_on_timeoutT)r=   r   r   r>   r:   getsread_from_socket)r+   r   r,   r   can_readZ_HiredisParser.can_readH   sa    |||!"@AA/1"&,,"3"3"5D""o5,,Wu,UUr   Tc                s   V P                   pV\        Jp V'       d   VP                  V4       V P                   P                  V P                  4      pV^ 8X  d   \        \        4      hV P                  P                  V P                  ^ V4        V'       d   VP                  V P                  4       R# R#   \        P                   d=    T'       d   \        R4      h T'       d   TP                  T P                  4       R# R# \         d   p\        P                  ! TP                   R4      pT'       g=   TP"                  T8X  d,    Rp?T'       d   TP                  T P                  4       R# R# \        RTP$                   24      hRp?ii ; i  T'       d   TP                  T P                  4       i i ; i)r    TzTimeout reading from socketFNz!Error while reading from socket: i)r5   r   Z
settimeoutZ	recv_intor*   r   r   r=   feedr6   socketr   TimeoutErrorr   r   Zget	__class__ZerrnoZargs)r+   r   rB   ZsockZcustom_timeoutZbufflenZexZalloweds   &&&     r   rD   Z_HiredisParser.read_from_socketR   sZ   zz 0	6(jj**4<<8G!|%&DEELLdllAw7   4 45  ~~ 	"#@AA  4 45  & 	Q
 :==bllBOG#G(;  4 45  "$EbggY"OPP	Q  4 45 sH   A;B9 9FF!F 	FF:FF 8FFF &F>c                s   V P                   '       g   \        \        4      hV P                  \        Jd   V P                  p\        V n        V# V'       d   V P                   P                  R 4      pMV P                   P                  4       pV\        J dR   V P                  4        V'       d   V P                   P                  R 4      pK?  V P                   P                  4       pK[  \        V\        4      '       d   Vh\        V\        4      '       d/   V'       d'   \        V^ ,          \        4      '       d
   V^ ,          hV# F)	r=   r   r   r>   r:   rC   rD   
isinstancelistr+   disable_decodingZresponse   && r   read_responseZ_HiredisParser.read_responsep   s    |||!"@AA o5**H"1DO||((/H||((*H/)!!#<<,,U3<<,,. h00Nx&&8A;881+r   )r*   r>   r=   r5   r6   r)   NrJ   )r    r!   r"   r#   __doc__r-   r2   rA   r/   rE   r   rD   rP   r$   r%   r&   r'   r   r(   r(   #   s7     03.".
 (0$ 6<   r   r(   c                   st   a a ] tR t^t oRtRtV3R lV 3R lltR tR tR t	R t
RV3R lR	 lltR
tVtV ;t# )_AsyncHiredisParserzBAsync implementation of parser class for connections using Hiredisc                s    < V ^8  d   QhRS[ /# )r   r)   )Zintr   r   r   r    _AsyncHiredisParser.__annotate__   s       r   c                sd   < \         '       g   \        R 4      h\        SV `  VR7       RV n        R# )zHiredis is not available.)r)   N)r   r	   Zsuperr-   r=   )r+   r)   rI   s   &&r   r-   Z_AsyncHiredisParser.__init__   s-      899*:;r   c                s<   ^ RI pVP                  V n        R\        RV P                  R\
        /pVP                  P                  '       d3   VP                  P                  VR&   VP                  P                  VR&   VP                  ! R/ VB V n        RV n        R# )	r    Nr   r   r3   r   r   Tr   )r4   r=   _streamr   r7   r:   r8   r;   r   r9   r<   
_connected)r+   r?   r4   r@   s   &&  r   rA   Z_AsyncHiredisParser.on_connect   s    !))_$**_&

 ...!+!3!3!<!<F:)11AAF8~~//r   c                s    R V n         R# )FN)rU   r0   r1   r   r/   Z!_AsyncHiredisParser.on_disconnect   s	    r   c                s  "   V P                   '       g   \        \        4      hV P                  P	                  4       \
        Jd   R #  \        ^ 4      ;_uu_4       GRj  xL
  V P                  4       G Rj  xL
 uuRRR4      GRj  xL
  #  L. L L	  + GRj  xL 
 '       g   i     R# ; i  \        P                   d     R# i ; i5i)TNF)
rU   r   r   r=   rC   r:   async_timeoutrD   asynciorH   r0   r1   r   can_read_destructiveZ(_AsyncHiredisParser.can_read_destructive   s     !"@AA<<o5	$Q'''!2244 (''4 ('''## 		s   AC	B2  B!B2 $B8B9B<B2 	B
B2 CB2 BB2 B/	B
B/	'B/	)B2 -C/B2 2CC
CCc                s   "   V P                   P                  V P                  4      G R j  xL
 pV'       d   \        V\        4      '       g   \        \        4      R hV P                  P                  V4       R#  LO5i)NT)	rT   ZreadZ
_read_sizerK   Zbytesr   r   r=   rF   )r+   Zbuffers   & r   rD   Z$_AsyncHiredisParser.read_from_socket   sY     ||((99Z66!"@AtK&!  :s   )A=A;A=AA=c                sL   < V ^8  d   QhRS[ RS[S[S[S[,          3,          /# )r   rN   Zreturn)Zboolr   r
   r   r   r   r   r   rS      s,       $	z4
++	,r   c                sP  "   V P                   '       g   \        \        4      R hV'       d   V P                  P	                  R4      pMV P                  P	                  4       pV\
        J dZ   V P                  4       G R j  xL
  V'       d   V P                  P	                  R4      pKG  V P                  P	                  4       pKc  \        V\        4      '       d   Vh\        V\        4      '       d/   V'       d'   \        V^ ,          \        4      '       d
   V^ ,          hV#  L5i)NF)	rU   r   r   r=   rC   r:   rD   rK   rL   rM   rO   r   rP   Z!_AsyncHiredisParser.read_response   s      !"@AtK||((/H||((*H/)'')))<<,,U3<<,,.
 h00Nx&&8A;881+# *s$   *D&AD& D$D&A.D&<)D&)rU   r=   rT   )r=   rJ   )r    r!   r"   r#   rQ   Z	__slots__r-   rA   r/   rX   rD   rP   r$   r%   Z__classcell__)rI   r   s   @@r   rR   rR      s:     LI   	  r   rR   )!rW   rG   ZsysZtypingr   r   r   r   r   Zversion_infoZmajorZminorr   rV   Z
exceptionsr   r   r	   r
   Zutilsr   Zbaser   r   r   r   r   r   Zobjectr:   r   r(   rR   r   r   r   <module>rY      s      
 = =Q3#3#3#9#9R#?06 E E  % -  (% mZ m`Q/ Qr   