ó
    °"³j«L  ã                  ót  • S SK Jr  S SK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Jr  S SKJrJrJrJrJrJr  S SKrSSKJrJr  \(       a  SSKJrJr  SS	KJr  \" S
5      r  " S S\
\    5      r! " S S\
\    5      r" " S S5      r# " S S5      r$\ " S S\5      5       r%SS jr&SS.     SS jjr'g)é    )ÚannotationsN)ÚTracebackType)ÚTYPE_CHECKINGÚAnyÚGenericÚTypeVarÚIteratorÚOptionalÚAsyncIteratorÚcast)ÚSelfÚProtocolÚ	TypeGuardÚoverrideÚ
get_originÚruntime_checkableé   )Úis_dictÚextract_type_var_from_base)Ú	AnthropicÚAsyncAnthropic)ÚFinalRequestOptionsÚ_Tc                  óÊ   • \ rS rSr% SrS\S'   SrS\S'   S\S	'   SS
.         SS jjrSS jrSS jr	SS jr
\SS j5       rSS jrSS jr        SS jrSS jrSrg)ÚStreamé   zJProvides the core interface to iterate over a synchronous stream response.úhttpx2.ResponseÚresponseNúOptional[FinalRequestOptions]Ú_optionsÚSSEBytesDecoderÚ_decoder©Úoptionsc               óˆ   • X l         Xl        X0l        X@l        UR	                  5       U l        U R                  5       U l        g ©N©r   Ú_cast_toÚ_clientr    Ú_make_sse_decoderr"   Ú
__stream__Ú	_iterator©ÚselfÚcast_tor   Úclientr$   s        ÚQ/home/mande/repo/quber/.venv/lib/python3.13/site-packages/anthropic/_streaming.pyÚ__init__ÚStream.__init__   ó6   € ð !ŒØŒØŒØŒØ×0Ñ0Ó2ˆŒØŸ™Ó*ˆ�ó    c                ó6   • U R                   R                  5       $ r&   )r,   Ú__next__©r.   s    r1   r7   ÚStream.__next__-   s   € Ø�~‰~×&Ñ&Ó(Ð(r5   c              #  ó:   #   • U R                    H  nUv •  M	     g 7fr&   ©r,   ©r.   Úitems     r1   Ú__iter__ÚStream.__iter__0   s   é € Ø—N”NˆDØŒJò #ùs   ‚c              #  ó†   #   • U R                   R                  U R                  R                  5       5       S h  v•N   g  N7fr&   )r"   Ú
iter_bytesr   r8   s    r1   Ú_iter_eventsÚStream._iter_events4   s*   é € Ø—=‘=×+Ñ+¨D¯M©M×,DÑ,DÓ,FÓG×GÓGùs   ‚7A¹?ºAc                óP   • [        5       R                  U R                  5       5      $ ©zªIterate the raw Server-Sent Events from `response`, before any JSON
parsing or event-name filtering.

This reads the response body directly, so the response is consumed.
)Ú
SSEDecoderrA   ©r   s    r1   Ú
raw_eventsÚStream.raw_events7   s    € ô ‹|×&Ñ& x×':Ñ':Ó'<Ó=Ð=r5   c              #  óˆ	  #   • [        [        U R                  5      nU R                  nU R                  R
                  nU R                  5       n U GHÏ  nUR                  S:X  a  U" UR                  5       XS9v •  UR                  S:X  Gdí  UR                  S:X  GdÜ  UR                  S:X  GdË  UR                  S:X  Gdº  UR                  S:X  Gd©  UR                  S:X  Gd˜  UR                  S	:X  Gd‡  UR                  S
:X  Gdv  UR                  S:X  Gde  UR                  S:X  GdT  UR                  S:X  GdC  UR                  S:X  Gd2  UR                  S:X  Gd!  UR                  S:X  Gd  UR                  S:X  Gdÿ  UR                  S:X  Gdî  UR                  S:X  GdÝ  UR                  S:X  GdÌ  UR                  S:X  Gd»  UR                  S:X  Gdª  UR                  S:X  Gd™  UR                  S:X  Gdˆ  UR                  S:X  Gdw  UR                  S:X  Gdf  UR                  S:X  GdU  UR                  S:X  GdD  UR                  S:X  Gd3  UR                  S:X  Gd"  UR                  S:X  Gd  UR                  S :X  Gd   UR                  S!:X  dð  UR                  S":X  dà  UR                  S#:X  dÐ  UR                  S$:X  dÀ  UR                  S%:X  d°  UR                  S&:X  d   UR                  S':X  d�  UR                  S(:X  d€  UR                  S):X  dp  UR                  S*:X  d`  UR                  S+:X  dP  UR                  S,:X  d@  UR                  S-:X  d0  UR                  S.:X  d   UR                  S/:X  d  UR                  S0:X  a>  UR                  5       n[        U5      (       a  S1U;  a  UR                  US1'   U" XaUS9v •  UR                  S2:X  a  GMz  UR                  S3:X  d  GM�  UR                  n UR                  5       nU nU R                  R                  UUU R                  S59e   [        R                  " 5       (       a  S6Ul        g UR#                  5         g ! [         a%    UR                  =(       d    S4UR                   3n Nˆf = f! [        R                  " 5       (       a  S6Ul        f UR#                  5         f = f7f©7NÚ
completion)Údatar/   r   Úmessage_startÚmessage_deltaÚmessage_stopÚcontent_block_startÚcontent_block_deltaÚcontent_block_stopÚmessagezuser.messagezuser.interruptzuser.tool_confirmationzuser.custom_tool_resultzuser.tool_resultzagent.messagezagent.thinkingzagent.tool_usezagent.tool_resultzagent.mcp_tool_usezagent.mcp_tool_resultzagent.custom_tool_usezagent.thread_context_compactedzsession.status_runningzsession.status_idlezsession.status_rescheduledzsession.status_terminatedzsession.errorzsession.deletedzsession.updatedzspan.model_request_startzspan.model_request_endzspan.outcome_evaluation_startzspan.outcome_evaluation_ongoingzspan.outcome_evaluation_endzuser.define_outcomezagent.thread_message_receivedzagent.thread_message_sentz%agent.session_thread_message_receivedz!agent.session_thread_message_sentzsession.thread_createdzsession.thread_status_createdzsession.thread_status_runningzsession.thread_status_idlez!session.thread_status_rescheduledz session.thread_status_terminatedÚevent_startÚevent_deltazsystem.messageÚtypeÚpingÚerrorzError code: )Úbodyr   T)r   r   r(   r   r)   Ú_process_response_datarB   ÚeventÚjsonr   rM   Ú	ExceptionÚstatus_codeÚ_make_status_errorÚsysÚis_finalizingÚ	is_closedÚclose©	r.   r/   r   Úprocess_dataÚiteratorÚsserM   rZ   Úerr_msgs	            r1   r+   ÚStream.__stream__@   sÐ  é € Ü”s˜DŸM™MÓ*ˆØ—=‘=ˆØ—|‘|×:Ñ:ˆØ×$Ñ$Ó&ˆðR	!Ü�Ø—9‘9 Ó,Ù&¨C¯H©H«JÀÑ[Ò[ð —I‘I Ô0Ø—y‘y OÔ3Ø—y‘y NÔ2Ø—y‘yÐ$9Ô9Ø—y‘yÐ$9Ô9Ø—y‘yÐ$8Ô8Ø—y‘y IÔ-Ø—y‘y NÔ2Ø—y‘yÐ$4Ô4Ø—y‘yÐ$<Ô<Ø—y‘yÐ$=Ô=Ø—y‘yÐ$6Ô6Ø—y‘y OÔ3Ø—y‘yÐ$4Ô4Ø—y‘yÐ$4Ô4Ø—y‘yÐ$7Ô7Ø—y‘yÐ$8Ô8Ø—y‘yÐ$;Ô;Ø—y‘yÐ$;Ô;Ø—y‘yÐ$DÔDØ—y‘yÐ$<Ô<Ø—y‘yÐ$9Ô9Ø—y‘yÐ$@Ô@Ø—y‘yÐ$?Ô?Ø—y‘y OÔ3Ø—y‘yÐ$5Ô5Ø—y‘yÐ$5Ô5Ø—y‘yÐ$>Ô>Ø—y‘yÐ$<Ô<Ø—y‘yÐ$CÔCØ—y‘yÐ$EÓEØ—y‘yÐ$AÓAØ—y‘yÐ$9Ó9Ø—y‘yÐ$CÓCØ—y‘yÐ$?Ó?Ø—y‘yÐ$KÓKØ—y‘yÐ$GÓGØ—y‘yÐ$<Ó<Ø—y‘yÐ$CÓCØ—y‘yÐ$CÓCØ—y‘yÐ$@Ó@Ø—y‘yÐ$GÓGØ—y‘yÐ$FÓFØ—y‘y MÓ1Ø—y‘y MÓ1Ø—y‘yÐ$4Ó4àŸ8™8›:�DÜ˜t—}‘}¨°tÓ);Ø'*§y¡y˜˜V™á&¨DÈHÑUÒUà—9‘9 Ó&Úà—9‘9 Ö'ØŸ8™8�DðTØ"Ÿx™x›z˜Ø%) F˜ð Ÿ,™,×9Ñ9ØØ!Ø!%§¡ð :ð ð ñM  ôX × Ò ×"Ñ"à%)�Õ"ð —‘Õ øô %ó TØ"%§(¡(×"S°¸X×=QÑ=QÐ<RÐ.SšðTûô × Ò ×"Ñ"à%)�Õ"ð —‘Õ üsI   ‚ASÁN
R ÏR Ï,QÏ?'R Ð&3SÑ,RÒR ÒRÒR Ò4R?Ò?Sc                ó   • U $ r&   © r8   s    r1   Ú	__enter__ÚStream.__enter__š   s   € Øˆr5   c                ó$   • U R                  5         g r&   ©rd   ©r.   Úexc_typeÚexcÚexc_tbs       r1   Ú__exit__ÚStream.__exit__�   s   € ð 	�
‰
�r5   c                ó8   • U R                   R                  5         g©zr
Close the response and release the connection.

Automatically called if the response body is read to completion.
N)r   rd   r8   s    r1   rd   ÚStream.close¥   s   € ð 	�‰×ÑÕr5   ©r(   r)   r"   r,   r    r   )
r/   útype[_T]r   r   r0   r   r$   r   ÚreturnÚNone©r|   r   )r|   zIterator[_T])r|   úIterator[ServerSentEvent])r   r   r|   r   ©r|   r   ©rr   ztype[BaseException] | Noners   zBaseException | Nonert   zTracebackType | Noner|   r}   ©r|   r}   )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__Ú__annotations__r    r2   r7   r>   rB   ÚstaticmethodrH   r+   rm   ru   rd   Ú__static_attributes__rl   r5   r1   r   r      s¸   ‡ ÙTàÓØ.2€HÐ+Ó2ØÓð 26ñ+ð ð+ð "ð	+ð
 ð+ð /ð+ð 
õ+ô)ôôHð ó>ó ð>ôX!ôtðà,ðð "ðð %ð	ð
 
ô÷r5   r   c                  óÊ   • \ rS rSr% SrS\S'   SrS\S'   S\S	'   SS
.         SS jjrSS jrSS jr	SS jr
\SS j5       rSS jrSS jr        SS jrSS jrSrg)ÚAsyncStreamé®   zLProvides the core interface to iterate over an asynchronous stream response.r   r   Nr   r    zSSEDecoder | SSEBytesDecoderr"   r#   c               óˆ   • X l         Xl        X0l        X@l        UR	                  5       U l        U R                  5       U l        g r&   r'   r-   s        r1   r2   ÚAsyncStream.__init__µ   r4   r5   c              ƒ  óR   #   • U R                   R                  5       I S h  v•N $  N7fr&   )r,   Ú	__anext__r8   s    r1   r‘   ÚAsyncStream.__anext__Ä   s   é € Ø—^‘^×-Ñ-Ó/×/Ð/Ñ/ùs   ‚' %¡'c               óJ   #   • U R                     S h  v•N nU7v •  M   N
 g 7fr&   r;   r<   s     r1   Ú	__aiter__ÚAsyncStream.__aiter__Ç   s   é € ØŸ.š.÷ 	�$Ø�Jñ	™.ùs   ‚#�!“”!—#Ÿ!¡#c               ó˜   #   • U R                   R                  U R                  R                  5       5        S h  v•N nU7v •  M   N
 g 7fr&   )r"   Úaiter_bytesr   )r.   rh   s     r1   rB   ÚAsyncStream._iter_eventsË   s8   é € ØŸ™×2Ñ2°4·=±=×3LÑ3LÓ3NÔO÷ 	�#Ø�Iñ	ÑOùs%   ‚4A
¶AºA»A¾A
ÁAÁA
c                óP   • [        5       R                  U R                  5       5      $ rE   )rF   r—   rG   s    r1   rH   ÚAsyncStream.raw_eventsÏ   s    € ô ‹|×'Ñ'¨×(<Ñ(<Ó(>Ó?Ð?r5   c               ó¾	  #   • [        [        U R                  5      nU R                  nU R                  R
                  nU R                  5       n U  S h  v•N nUR                  S:X  a  U" UR                  5       XS97v •  UR                  S:X  Gdí  UR                  S:X  GdÜ  UR                  S:X  GdË  UR                  S:X  Gdº  UR                  S:X  Gd©  UR                  S:X  Gd˜  UR                  S	:X  Gd‡  UR                  S
:X  Gdv  UR                  S:X  Gde  UR                  S:X  GdT  UR                  S:X  GdC  UR                  S:X  Gd2  UR                  S:X  Gd!  UR                  S:X  Gd  UR                  S:X  Gdÿ  UR                  S:X  Gdî  UR                  S:X  GdÝ  UR                  S:X  GdÌ  UR                  S:X  Gd»  UR                  S:X  Gdª  UR                  S:X  Gd™  UR                  S:X  Gdˆ  UR                  S:X  Gdw  UR                  S:X  Gdf  UR                  S:X  GdU  UR                  S:X  GdD  UR                  S:X  Gd3  UR                  S:X  Gd"  UR                  S:X  Gd  UR                  S :X  Gd   UR                  S!:X  dð  UR                  S":X  dà  UR                  S#:X  dÐ  UR                  S$:X  dÀ  UR                  S%:X  d°  UR                  S&:X  d   UR                  S':X  d�  UR                  S(:X  d€  UR                  S):X  dp  UR                  S*:X  d`  UR                  S+:X  dP  UR                  S,:X  d@  UR                  S-:X  d0  UR                  S.:X  d   UR                  S/:X  d  UR                  S0:X  a?  UR                  5       n[        U5      (       a  S1U;  a  UR                  US1'   U" XaUS97v •  UR                  S2:X  a  GM�  UR                  S3:X  d  GM”  UR                  n UR                  5       nU nU R                  R                  UUU R                  S59e GNÕ! [         a%    UR                  =(       d    S4UR                   3n NVf = f
 [        R                  " 5       (       a  S6Ul        g UR#                  5       I S h  v•N    g ! [        R                  " 5       (       a  S6Ul        f UR#                  5       I S h  v•N    f = f7frK   )r   r   r(   r   r)   r[   rB   r\   r]   r   rM   r^   r_   r`   ra   rb   rc   Úaclosere   s	            r1   r+   ÚAsyncStream.__stream__Ø   së  é € Ü”s˜DŸM™MÓ*ˆØ—=‘=ˆØ—|‘|×:Ñ:ˆØ×$Ñ$Ó&ˆðR	(Ù%÷ J�cØ—9‘9 Ó,Ù&¨C¯H©H«JÀÑ[Ó[ð —I‘I Ô0Ø—y‘y OÔ3Ø—y‘y NÔ2Ø—y‘yÐ$9Ô9Ø—y‘yÐ$9Ô9Ø—y‘yÐ$8Ô8Ø—y‘y IÔ-Ø—y‘y NÔ2Ø—y‘yÐ$4Ô4Ø—y‘yÐ$<Ô<Ø—y‘yÐ$=Ô=Ø—y‘yÐ$6Ô6Ø—y‘y OÔ3Ø—y‘yÐ$4Ô4Ø—y‘yÐ$4Ô4Ø—y‘yÐ$7Ô7Ø—y‘yÐ$8Ô8Ø—y‘yÐ$;Ô;Ø—y‘yÐ$;Ô;Ø—y‘yÐ$DÔDØ—y‘yÐ$<Ô<Ø—y‘yÐ$9Ô9Ø—y‘yÐ$@Ô@Ø—y‘yÐ$?Ô?Ø—y‘y OÔ3Ø—y‘yÐ$5Ô5Ø—y‘yÐ$5Ô5Ø—y‘yÐ$>Ô>Ø—y‘yÐ$<Ô<Ø—y‘yÐ$CÔCØ—y‘yÐ$EÓEØ—y‘yÐ$AÓAØ—y‘yÐ$9Ó9Ø—y‘yÐ$CÓCØ—y‘yÐ$?Ó?Ø—y‘yÐ$KÓKØ—y‘yÐ$GÓGØ—y‘yÐ$<Ó<Ø—y‘yÐ$CÓCØ—y‘yÐ$CÓCØ—y‘yÐ$@Ó@Ø—y‘yÐ$GÓGØ—y‘yÐ$FÓFØ—y‘y MÓ1Ø—y‘y MÓ1Ø—y‘yÐ$4Ó4àŸ8™8›:�DÜ˜t—}‘}¨°tÓ);Ø'*§y¡y˜˜V™á&¨DÈHÑUÓUà—9‘9 Ó&Úà—9‘9 Ö'ØŸ8™8�DðTØ"Ÿx™x›z˜Ø%) F˜ð Ÿ,™,×9Ñ9ØØ!Ø!%§¡ð :ð ð òMJøôF %ó TØ"%§(¡(×"S°¸X×=QÑ=QÐ<RÐ.SšðTúðG &ôX × Ò ×"Ñ"à%)�Õ"ð —o‘oÓ'×'Ò'øô × Ò ×"Ñ"à%)�Õ"ð —o‘oÓ'×'Ò'üs   ‚ASÁR ÁQ ÁP+ÁQ ÁNR Ï&R Ï3P.Ð%R Ð+Q Ð.,QÑR ÑQÑR Ñ!5SÒRÒSÒ6SÓSÓSÓSc              ƒ  ó   #   • U $ 7fr&   rl   r8   s    r1   Ú
__aenter__ÚAsyncStream.__aenter__2  s
   é € Øˆùs   ‚c              ƒ  ó@   #   • U R                  5       I S h  v•N   g  N7fr&   rp   rq   s       r1   Ú	__aexit__ÚAsyncStream.__aexit__5  s   é € ð �j‰j‹l×Óùs   ‚–—c              ƒ  óT   #   • U R                   R                  5       I Sh  v•N   g N7frx   )r   rœ   r8   s    r1   rd   ÚAsyncStream.close=  s   é € ð �m‰m×"Ñ"Ó$×$Ó$ùs   ‚( &¡(rz   )
r/   r{   r   r   r0   r   r$   r   r|   r}   r~   )r|   zAsyncIterator[_T])r|   úAsyncIterator[ServerSentEvent])r   r   r|   r¦   r€   r�   r‚   )rƒ   r„   r…   r†   r‡   rˆ   r    r2   r‘   r”   rB   r‰   rH   r+   rŸ   r¢   rd   rŠ   rl   r5   r1   rŒ   rŒ   ®   s¹   ‡ ÙVàÓØ.2€HÐ+Ó2Ø*Ó*ð 26ñ+ð ð+ð "ð	+ð
 ð+ð /ð+ð 
õ+ô0ôôð ó@ó ð@ôX(ôtðà,ðð "ðð %ð	ð
 
ô÷%r5   rŒ   c                  óÆ   • \ rS rSrSSSSSS.           SS jjr\SS j5       r\SS j5       r\SS j5       r\SS j5       r	\SS	 j5       r
SS
 jr\SS j5       rSrg)ÚServerSentEventiF  N©r\   rM   ÚidÚretryÚrawc               ót   • Uc  SnX0l         X l        U=(       d    S U l        X@l        Ub  XPl        g / U l        g )NÚ )Ú_idÚ_dataÚ_eventÚ_retryÚ_raw)r.   r\   rM   rª   r«   r¬   s         r1   r2   ÚServerSentEvent.__init__G  s7   € ð ‰<ØˆDàŒØŒ
Ø—m˜tˆŒØŒØ™?�C�	°ˆ�	r5   c                ó   • U R                   $ r&   )r±   r8   s    r1   r\   ÚServerSentEvent.eventY  ó   € à�{‰{Ðr5   c                ó   • U R                   $ r&   )r¯   r8   s    r1   rª   ÚServerSentEvent.id]  s   € à�x‰xˆr5   c                ó   • U R                   $ r&   )r²   r8   s    r1   r«   ÚServerSentEvent.retrya  r·   r5   c                ó   • U R                   $ r&   )r°   r8   s    r1   rM   ÚServerSentEvent.datae  s   € à�z‰zÐr5   c                ó   • U R                   $ )zçThe original wire lines this event was decoded from, without trailing newlines.

Includes SSE fields the decoder does not otherwise model (comment lines,
unknown fields). Empty for events that were constructed rather than decoded.
)r³   r8   s    r1   r¬   ÚServerSentEvent.rawi  s   € ð �y‰yÐr5   c                óB   • [         R                  " U R                  5      $ r&   )r]   ÚloadsrM   r8   s    r1   r]   ÚServerSentEvent.jsonr  s   € Ü�zŠz˜$Ÿ)™)Ó$Ð$r5   c           	     óp   • SU R                    SU R                   SU R                   SU R                   S3	$ )NzServerSentEvent(event=z, data=z, id=z, retry=Ú))r\   rM   rª   r«   r8   s    r1   Ú__repr__ÚServerSentEvent.__repr__u  s9   € à'¨¯
©
 |°7¸4¿9¹9¸+ÀUÈ4Ï7É7È)ÐS[Ð\`×\fÑ\fÐ[gÐghÐiÐir5   )r°   r±   r¯   r³   r²   )r\   ú
str | NonerM   rÇ   rª   rÇ   r«   ú
int | Noner¬   zlist[str] | Noner|   r}   )r|   rÇ   )r|   rÈ   )r|   Ústr)r|   ú	list[str])r|   r   )rƒ   r„   r…   r†   r2   Úpropertyr\   rª   r«   rM   r¬   r]   r   rÅ   rŠ   rl   r5   r1   r¨   r¨   F  sÓ   † ð !ØØØ Ø $ñ3ð ð3ð ð	3ð
 ð3ð ð3ð ð3ð 
õ3ð$ óó ðð óó ðð óó ðð óó ðð óó ðô%ð ójó ójr5   r¨   c                  ó„   • \ rS rSr% S\S'   S\S'   S\S'   S\S'   S\S	'   SS
 jrSS jrSS jrSS jrSS jr	SS jr
Srg)rF   iz  rÊ   r°   rÇ   r±   rÈ   r²   Ú_last_event_idr³   c                óJ   • S U l         / U l        S U l        S U l        / U l        g r&   )r±   r°   rÍ   r²   r³   r8   s    r1   r2   ÚSSEDecoder.__init__�  s&   € ØˆŒØˆŒ
Ø"ˆÔØˆŒØˆ�	r5   c              #  óÈ   #   • U R                  U5       HI  nUR                  5        H2  nUR                  S5      nU R                  U5      nU(       d  M.  Uv •  M4     MK     g7f)ú^Given an iterator that yields raw binary data, iterate over it & yield every event encounteredúutf-8N)Ú_iter_chunksÚ
splitlinesÚdecode©r.   rg   ÚchunkÚraw_lineÚlinerh   s         r1   rA   ÚSSEDecoder.iter_bytesˆ  sS   é € à×&Ñ& xÖ0ˆEà!×,Ñ,Ö.�Ø—‘ wÓ/�Ø—k‘k $Ó'�ß�3Ø”Ió	 /ò 1ùs   ‚AA"ÁA"c              #  óª   #   • SnU H;  nUR                  SS9 H%  nX$-  nUR                  S5      (       d  M  Uv •  SnM'     M=     U(       a  Uv •  gg7f)ú^Given an iterator that yields raw binary data, iterate over it and yield individual SSE chunksr5   T©Úkeepends©s   s   

s   

N©rÔ   Úendswith©r.   rg   rM   r×   rÙ   s        r1   rÓ   ÚSSEDecoder._iter_chunks’  s\   é € àˆÛˆEØ×(Ñ(°$Ð(Ó7�Ø‘�Ø—=‘=Ð!@×AÓAØ’JØ’Dó	 8ñ ö Ø‹Jð ùs
   ‚2A¸Ac               óØ   #   • U R                  U5        Sh  v•N nUR                  5        H3  nUR                  S5      nU R                  U5      nU(       d  M.  U7v •  M5     MR   NM
 g7f)rÑ   NrÒ   )Ú_aiter_chunksrÔ   rÕ   rÖ   s         r1   r—   ÚSSEDecoder.aiter_bytesž  s[   é € à×-Ñ-¨hÔ7÷ 	�%à!×,Ñ,Ö.�Ø—‘ wÓ/�Ø—k‘k $Ó'�ß�3Ø•Ió	 /ñ	Ñ7ùs+   ‚A*”A(˜A&™A(œ;A*ÁA*Á&A(Á(A*c               ó¼   #   • SnU  Sh  v•N nUR                  SS9 H&  nX$-  nUR                  S5      (       d  M  U7v •  SnM(     MD   N?
 U(       a  U7v •  gg7f)rÜ   r5   NTrÝ   rß   rà   râ   s        r1   rå   ÚSSEDecoder._aiter_chunks¨  sc   é € àˆÙ#÷ 	�%Ø×(Ñ(°$Ð(Ó7�Ø‘�Ø—=‘=Ð!@×AÓAØ“JØ’Dó	 8ñ	˜8ö ØŒJð ùs*   ‚A‡A‹AŒA�+A¾AÁAÁAc                ó$  • U(       d´  U R                   (       d7  U R                  (       d&  U R                  (       d  U R                  c  / U l        g [        U R                   SR                  U R                  5      U R                  U R                  U R                  S9nS U l         / U l        S U l        / U l        U$ U R                  R                  U5        UR                  S5      (       a  g UR                  S5      u  p4nUR                  S5      (       a  USS  nUS:X  a  XPl         g US:X  a  U R                  R                  U5        g US:X  a  S	U;   a   g XPl         g US
:X  a   [        U5      U l        g  g ! [        [        4 a     g f = f)NÚ
r©   Ú:Ú r   r\   rM   rª   Ú r«   )r±   r°   rÍ   r²   r³   r¨   ÚjoinÚappendÚ
startswithÚ	partitionÚintÚ	TypeErrorÚ
ValueError)r.   rÙ   rh   Ú	fieldnameÚ_Úvalues         r1   rÕ   ÚSSEDecoder.decode´  s~  € ö Ø—;—; t§z§z¸$×:M×:MÐRV×R]ÑR]ÑReØ�”	Øä!Ø—k‘kØ—Y‘Y˜tŸz™zÓ*Ø×&Ñ&Ø—k‘kØ—I‘IñˆCð ˆDŒKØˆDŒJØˆDŒKØˆDŒIàˆJà�	‰	×Ñ˜Ôà�?‰?˜3×ÑØà"Ÿn™n¨SÓ1Ñˆ	�eà×Ñ˜C× Ñ Ø˜!˜"�IˆEà˜ÓØŒKð  ð ˜&Ó Ø�J‰J×Ñ˜eÔ$ð ð ˜$ÓØ�u‹}Øð ð ',Õ#ð ð ˜'Ó!ðÜ! %›j�”ð ð àøô œzÐ*ó Øð ðús   Å)E< Å<FÆF)r°   r±   rÍ   r³   r²   Nr‚   ©rg   úIterator[bytes]r|   r   )rg   rú   r|   rú   ©rg   úAsyncIterator[bytes]r|   r¦   )rg   rü   r|   rü   )rÙ   rÉ   r|   zServerSentEvent | None)rƒ   r„   r…   r†   rˆ   r2   rA   rÓ   r—   rå   rÕ   rŠ   rl   r5   r1   rF   rF   z  s=   ‡ ØÓØÓØÓØÓØ
ƒOôôô
ôô
÷3r5   rF   c                  ó(   • \ rS rSrSS jrSS jrSrg)r!   iê  c                ó   • g)rÑ   Nrl   ©r.   rg   s     r1   rA   ÚSSEBytesDecoder.iter_bytesì  ó   € àr5   c                ó   • g)zdGiven an async iterator that yields raw binary data, iterate over it & yield every event encounteredNrl   rÿ   s     r1   r—   ÚSSEBytesDecoder.aiter_bytesð  r  r5   rl   Nrù   rû   )rƒ   r„   r…   r†   rA   r—   rŠ   rl   r5   r1   r!   r!   ê  s   † ô÷r5   r!   c                ó�   • [        U 5      =(       d    U n[        R                  " U5      =(       a    [        U[        [
        45      $ )zaTypeGuard for determining whether or not the given type is a subclass of `Stream` / `AsyncStream`)r   ÚinspectÚisclassÚ
issubclassr   rŒ   )ÚtypÚorigins     r1   Úis_stream_class_typer
  õ  s0   € ä˜‹_×# €FÜ�?Š?˜6Ó"×P¤z°&¼6Ä;Ð:OÓ'PÐPr5   )Úfailure_messagec          	     ó@   • SSK JnJn  [        U S[	        SX#45      US9$ )zêGiven a type like `Stream[T]`, returns the generic type variable `T`.

This also handles the case where a concrete subclass is given, e.g.
```py
class MyStream(Stream[bytes]):
    ...

extract_stream_chunk_type(MyStream) -> bytes
```
r   )r   rŒ   r   ztuple[type, ...])ÚindexÚgeneric_basesr  )Ú_base_clientr   rŒ   r   r   )Ú
stream_clsr  r   rŒ   s       r1   Úextract_stream_chunk_typer  û  s+   € ÷ 2ä%ØØÜÐ-°Ð/DÓEØ'ñ	ð r5   )r  rW   r|   z;TypeGuard[type[Stream[object]] | type[AsyncStream[object]]])r  rW   r  rÇ   r|   rW   )(Ú
__future__r   ra   r]   r  Útypesr   Útypingr   r   r   r   r	   r
   r   r   Útyping_extensionsr   r   r   r   r   r   Úhttpx2Ú_utilsr   r   r)   r   r   Ú_modelsr   r   r   rŒ   r¨   rF   r!   r
  r  rl   r5   r1   Ú<module>r     sÄ   ðå "ã 
Û Û Ý ß `× `Ó `ß `× `ã ç 7æß2Ý,ñ ˆTƒ]€ôTˆW�R‰[ô TônU%�'˜"‘+ô U%÷p1jñ 1j÷hmñ mð` ô�hó ó ðôQð #'ñØðð  ðð 
ö	r5   