+
    wi                     V    ^ RI HtHt ^RIHt R R lt ! R R4      t ! R R4      tR	# )
    )ListOptional)ServerSentEventc                F    V ^8  d   QhR\         R\        \         ,          /#    textreturn)strr   )formats   "G/home/ubuntu/.local/lib/python3.14/site-packages/httpx_sse/_decoders.py__annotate__r      s      # $s)     c                    V '       g   . # RV 9  d   V P                  R4      pM3V P                  RR4      P                  RR4      pVP                  R4      pV R,          R9   d   VP                  4        V# )zSplit text on 
, , or 
 only.
z
)splitreplacepop)r	   lines
normalizeds   &  r   _splitlines_sser      sg    	4

4 \\&$/77dC
  &Bx6		Lr   c                   Z   a  ] tR t^t o RtV 3R lR ltV 3R lR ltV 3R lR ltRtV t	R	# )
SSELineDecodera  
    Handles incrementally reading lines from text.

    Mostly a copy of httpx._decoders.LineDecoder, but as per SSE spec, only 
, ,
    and 
 are treated as newlines, which differs from the behavior of splitlines()
    used by httpx._decoders.LineDecoder.
    c                   < V ^8  d   QhRR/# r   r
   N )r   __classdict__s   "r   r   SSELineDecoder.__annotate__    s     ' '$ 'r   c                "    . V n         R V n        R# )FNbuffertrailing_crselfs   &r   __init__SSELineDecoder.__init__    s    !#!&r   c                6   < V ^8  d   QhRS[ RS[S[ ,          /# r   )r   list)r   r   s   "r   r   r    $   s     ! !3 !49 !r   c                (   V P                   '       d   R V,           pRV n         VP                  R 4      '       d   RV n         VRR pV'       g   . # VR,          R9   p\        V4      p\        V4      ^8X  d-   V'       g%   V P                  P                  V^ ,          4       . # V P                  '       d@   RP                  V P                  4      V^ ,          ,           .VR,          ,           p. V n        V'       g   VP                  4       .V n        V# )r   FTNz
    NNr   )r$   endswithr   lenr#   appendjoinr   )r&   r	   trailing_newliner   s   &&  r   decodeSSELineDecoder.decode$   s    $;D$D==#D9D I8v-%u:?#3KKuQx(I;;; WWT[[)E!H45b	AEDK !99;-DKr   c                0   < V ^8  d   QhRS[ S[,          /# )r   r
   )r*   r   )r   r   s   "r   r   r    G   s      tCy r   c                    V P                   '       g   V P                  '       g   . # R P                  V P                   4      .p. V n         RV n        V# )r,   F)r#   r$   r2   )r&   r   s   & r   flushSSELineDecoder.flushG   sD    {{{4#3#3#3I%& r   r"   N)
__name__
__module____qualname____firstlineno____doc__r'   r4   r8   __static_attributes____classdictcell__r   s   @r   r   r      s)     ' '! !F r   r   c                   D   a  ] tR t^Qt o V 3R lR ltV 3R lR ltRtV tR# )
SSEDecoderc                   < V ^8  d   QhRR/# r   r   )r   r   s   "r   r   SSEDecoder.__annotate__R   s     * *$ *r   c                >    R V n         . V n        R V n        RV n        R# )r,   N)_event_data_last_event_id_retryr%   s   &r   r'   SSEDecoder.__init__R   s     "
 %)r   c                6   < V ^8  d   QhRS[ RS[S[,          /# )r   liner
   )r   r   r   )r   r   s   "r   r   rE   X   s      3 33 38O#< 3r   c                   V'       g   V P                   '       g5   V P                  '       g#   V P                  '       g   V P                  f   R # \	        V P                   RP                  V P                  4      V P                  V P                  R7      pRV n         . V n        R V n        V# VP                  R4      '       d   R # VP                  R4      w  r4pVP                  R4      '       d
   VR,          pVR8X  d	   WPn         R # VR8X  d   V P                  P                  V4       R # VR	8X  d   R
V9   d    R # WPn         R # VR8X  d    \        V4      V n        R #  R #   \        \        3 d     R # i ; i)Nr   )eventdataidretryr,   : r-   rO   rP   rQ    rR   )rG   rH   rI   rJ   r   r2   
startswith	partitionr1   int	TypeError
ValueError)r&   rM   sse	fieldname_values   &&    r   r4   SSEDecoder.decodeX   s\    KKK


+++KK'!kkYYtzz*&&kk	C DKDJDKJ??3"nnS1	eC  "IEK   & JJe$  $u}  ',#  '!!%j   z*  s   E# #E87E8)rH   rG   rI   rJ   N)r:   r;   r<   r=   r'   r4   r?   r@   rA   s   @r   rC   rC   Q   s     * *3 3r   rC   N)typingr   r   _modelsr   r   r   rC   r   r   r   <module>rb      s%    ! $"7 7t: :r   