ó
    ûÞ jx  ã                  ó4  • S SK J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  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JrJrJ r J!r!J"r"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-  SSK.J/r/  SSK0J1r1J2r2  SSK3J4r4J5r5J6r6J7r7J8r8J9r9  SSK:J;r;J<r<  SSK=J>r>J?r?J@r@  SSKAJBrBJCrC  SSKDJErE  SSKFJGrH  SSKIJJrK   " S S\\4   5      rL " S S\\4   5      rM " S S\\4   5      rN " S S \\4   5      rO " S! S"\\4   5      rP " S# S$5      rQS'S% jrRS(S& jrSg))é    )ÚannotationsN)ÚTracebackType)ÚTYPE_CHECKINGÚAnyÚGenericÚCallableÚIterableÚ	AwaitableÚAsyncIteratorÚcast)ÚSelfÚIteratorÚassert_never)Ú	from_jsoné   )ÚParsedChoiceSnapshotÚParsedChatCompletionSnapshotÚ#ParsedChatCompletionMessageSnapshot)Ú
ChunkEventÚContentDoneEventÚRefusalDoneEventÚContentDeltaEventÚRefusalDeltaEventÚLogprobsContentDoneEventÚLogprobsRefusalDoneEventÚChatCompletionStreamEventÚLogprobsContentDeltaEventÚLogprobsRefusalDeltaEventÚ"FunctionToolCallArgumentsDoneEventÚ#FunctionToolCallArgumentsDeltaEventé   )Úaccumulate_deltaé   )ÚOmitÚIncExÚomit)Úis_givenÚconsume_sync_iteratorÚconsume_async_iterator)Ú
model_dump)ÚbuildÚconstruct_typeé   )ÚResponseFormatTÚhas_parseable_inputÚmaybe_parse_contentÚparse_chat_completionÚget_input_tool_by_nameÚparse_function_tool_arguments)ÚStreamÚAsyncStream)ÚChatCompletionChunkÚParsedChatCompletionÚChatCompletionToolUnionParam)ÚLengthFinishReasonErrorÚContentFilterFinishReasonError)ÚChoiceLogprobs)ÚChoice)ÚResponseFormatc                  ó¦   • \ rS rSrSr        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S	 jrSS
 jr\SS j5       rSS jrSrg)ÚChatCompletionStreamé.   á  Wrapper over the Chat Completions streaming API that adds helpful
events such as `content.done`, supports automatically parsing
responses & tool calls and accumulates a `ChatCompletion` object
from each individual chunk.

https://platform.openai.com/docs/api-reference/streaming
c               óx   • Xl         UR                  U l        U R                  5       U l        [        X#S9U l        g ©N©Úresponse_formatÚinput_tools©Ú_raw_streamÚresponseÚ	_responseÚ
__stream__Ú	_iteratorÚChatCompletionStreamStateÚ_state©ÚselfÚ
raw_streamrE   rF   s       Ú`/var/www/html/gaurav/venv/lib/python3.13/site-packages/openai/lib/streaming/chat/_completions.pyÚ__init__ÚChatCompletionStream.__init__7   ó1   € ð &ÔØ#×,Ñ,ˆŒØŸ™Ó*ˆŒÜ/ÀÑiˆ�ó    c                ó6   • U R                   R                  5       $ ©N)rL   Ú__next__©rP   s    rR   rY   ÚChatCompletionStream.__next__C   s   € Ø�~‰~×&Ñ&Ó(Ð(rV   c              #  ó:   #   • U R                    H  nUv •  M	     g 7frX   ©rL   ©rP   Úitems     rR   Ú__iter__ÚChatCompletionStream.__iter__F   s   é € Ø—N”NˆDØŒJò #ùs   ‚c                ó   • U $ rX   © rZ   s    rR   Ú	__enter__ÚChatCompletionStream.__enter__J   s   € ØˆrV   c                ó$   • U R                  5         g rX   ©Úclose©rP   Úexc_typeÚexcÚexc_tbs       rR   Ú__exit__ÚChatCompletionStream.__exit__M   s   € ð 	�
‰
�rV   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)rJ   rh   rZ   s    rR   rh   ÚChatCompletionStream.closeU   s   € ð 	�‰×ÑÕrV   c                óV   • U R                  5         U R                  R                  5       $ )á.  Waits until the stream has been read to completion and returns
the accumulated `ParsedChatCompletion` object.

If you passed a class type to `.stream()`, the `completion.choices[0].message.parsed`
property will be the content deserialised into that class, if there was any content returned
by the API.
©Ú
until_donerN   Úget_final_completionrZ   s    rR   rv   Ú)ChatCompletionStream.get_final_completion]   s!   € ð 	�‰ÔØ�{‰{×/Ñ/Ó1Ð1rV   c                ó   • [        U 5        U $ )ú*Blocks until the stream has been consumed.)r(   rZ   s    rR   ru   ÚChatCompletionStream.until_doneh   s   € ä˜dÔ#ØˆrV   c                ó.   • U R                   R                  $ rX   ©rN   Úcurrent_completion_snapshotrZ   s    rR   r}   Ú0ChatCompletionStream.current_completion_snapshotm   ó   € à�{‰{×6Ñ6Ð6rV   c              #  ó¦   #   • U R                    H=  n[        U5      (       d  M  U R                  R                  U5      nU H  nUv •  M	     M?     g 7frX   ©rH   Ú$_is_valid_chat_completion_chunk_weakrN   Úhandle_chunk©rP   Ú	sse_eventÚevents_to_fireÚevents       rR   rK   ÚChatCompletionStream.__stream__q   sF   é € Ø×)Ô)ˆIÜ7¸	×BÑBÙØ!Ÿ[™[×5Ñ5°iÓ@ˆNÛ'�Ø”ó (ò	 *ùs   ‚AA©rL   rH   rJ   rN   N)rQ   zStream[ChatCompletionChunk]rE   ú2type[ResponseFormatT] | ResponseFormatParam | OmitrF   ú-Iterable[ChatCompletionToolUnionParam] | OmitÚreturnÚNone©rŒ   z*ChatCompletionStreamEvent[ResponseFormatT])rŒ   z4Iterator[ChatCompletionStreamEvent[ResponseFormatT]]©rŒ   r   ©rj   ztype[BaseException] | Nonerk   zBaseException | Nonerl   zTracebackType | NonerŒ   r�   ©rŒ   r�   ©rŒ   z%ParsedChatCompletion[ResponseFormatT]©rŒ   r   )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__rS   rY   r`   rd   rm   rh   rv   ru   Úpropertyr}   rK   Ú__static_attributes__rc   rV   rR   r?   r?   .   s�   † ñð
jð 0ð
jð Lð	
jð
 Cð
jð 
ô
jô)ôôðà,ðð "ðð %ð	ð
 
ôôô	2ôð
 ó7ó ð7÷rV   r?   c                  óV   • \ rS rSrSr        SS jrS	S jr        S
S jrSrg)ÚChatCompletionStreamManageréz   a"  Context manager over a `ChatCompletionStream` that is returned by `.stream()`.

This context manager ensures the response cannot be leaked if you don't read
the stream to completion.

Usage:
```py
with client.chat.completions.stream(...) as stream:
    for event in stream:
        ...
```
c               ó6   • S U l         Xl        X l        X0l        g rX   )Ú$_ChatCompletionStreamManager__streamÚ)_ChatCompletionStreamManager__api_requestÚ-_ChatCompletionStreamManager__response_formatÚ)_ChatCompletionStreamManager__input_tools©rP   Úapi_requestrE   rF   s       rR   rS   Ú$ChatCompletionStreamManager.__init__ˆ   s   € ð GKˆŒØ(ÔØ!0ÔØ(ÕrV   c                ó‚   • U R                  5       n[        UU R                  U R                  S9U l        U R                  $ ©N)rQ   rE   rF   )r    r?   r¡   r¢   rŸ   ©rP   rQ   s     rR   rd   Ú%ChatCompletionStreamManager.__enter__”   s=   € Ø×'Ñ'Ó)ˆ
ä,Ø!Ø ×2Ñ2Ø×*Ñ*ñ
ˆŒð �}‰}ÐrV   c                óT   • U R                   b  U R                   R                  5         g g rX   )rŸ   rh   ri   s       rR   rm   Ú$ChatCompletionStreamManager.__exit__Ÿ   s#   € ð �=‰=Ñ$Ø�M‰M×ÑÕ!ð %rV   ©Ú__api_requestÚ__input_toolsÚ__response_formatÚ__streamN)r¤   z)Callable[[], Stream[ChatCompletionChunk]]rE   rŠ   rF   r‹   rŒ   r�   )rŒ   z%ChatCompletionStream[ResponseFormatT]r�   )	r”   r•   r–   r—   r˜   rS   rd   rm   rš   rc   rV   rR   rœ   rœ   z   sd   † ñð
)à>ð
)ð Lð	
)ð
 Cð
)ð 
ô
)ô	ð"à,ð"ð "ð"ð %ð	"ð
 
÷"rV   rœ   c                  ó¦   • \ rS rSrSr        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S	 jrSS
 jr\SS j5       rSS jrSrg)ÚAsyncChatCompletionStreamé©   rA   c               óx   • Xl         UR                  U l        U R                  5       U l        [        X#S9U l        g rC   rG   rO   s       rR   rS   Ú"AsyncChatCompletionStream.__init__²   rU   rV   c              ƒ  óR   #   • U R                   R                  5       I S h  v•N $  N7frX   )rL   Ú	__anext__rZ   s    rR   r·   Ú#AsyncChatCompletionStream.__anext__¾   s   é € Ø—^‘^×-Ñ-Ó/×/Ð/Ñ/ùs   ‚' %¡'c               óJ   #   • U R                     S h  v•N nU7v •  M   N
 g 7frX   r]   r^   s     rR   Ú	__aiter__Ú#AsyncChatCompletionStream.__aiter__Á   s   é € ØŸ.š.÷ 	�$Ø�Jñ	™.ùs   ‚#�!“”!—#Ÿ!¡#c              ƒ  ó   #   • U $ 7frX   rc   rZ   s    rR   Ú
__aenter__Ú$AsyncChatCompletionStream.__aenter__Å   s
   é € Øˆùs   ‚c              ƒ  ó@   #   • U R                  5       I S h  v•N   g  N7frX   rg   ri   s       rR   Ú	__aexit__Ú#AsyncChatCompletionStream.__aexit__È   s   é € ð �j‰j‹l×Óùs   ‚–—c              ƒ  óT   #   • U R                   R                  5       I Sh  v•N   g N7frp   )rJ   ÚacloserZ   s    rR   rh   ÚAsyncChatCompletionStream.closeÐ   s   é € ð �n‰n×#Ñ#Ó%×%Ó%ùs   ‚( &¡(c              ƒ  ór   #   • U R                  5       I Sh  v•N   U R                  R                  5       $  N7f)rs   Nrt   rZ   s    rR   rv   Ú.AsyncChatCompletionStream.get_final_completionØ   s/   é € ð �o‰oÓ×ÐØ�{‰{×/Ñ/Ó1Ð1ñ 	 ùs   ‚7–5—7c              ƒ  ó8   #   • [        U 5      I Sh  v•N   U $  N7f)ry   N)r)   rZ   s    rR   ru   Ú$AsyncChatCompletionStream.until_doneã   s   é € ä$ TÓ*×*Ð*Øˆñ 	+ùs   ‚‘’c                ó.   • U R                   R                  $ rX   r|   rZ   s    rR   r}   Ú5AsyncChatCompletionStream.current_completion_snapshotè   r   rV   c               ó¶   #   • U R                     S h  v•N n[        U5      (       d  M  U R                  R                  U5      nU H  nU7v •  M
     MF   NA
 g 7frX   r�   r„   s       rR   rK   Ú$AsyncChatCompletionStream.__stream__ì   sN   é € Ø#×/Ò/÷ 	�)Ü7¸	×BÑBÙØ!Ÿ[™[×5Ñ5°iÓ@ˆNÛ'�Ø•ó (ñ		Ñ/ùs%   ‚A�A“A”A—>AÁAÁAr‰   N)rQ   z AsyncStream[ChatCompletionChunk]rE   rŠ   rF   r‹   rŒ   r�   rŽ   )rŒ   z9AsyncIterator[ChatCompletionStreamEvent[ResponseFormatT]]r�   r�   r‘   r’   r“   )r”   r•   r–   r—   r˜   rS   r·   rº   r½   rÀ   rh   rv   ru   r™   r}   rK   rš   rc   rV   rR   r²   r²   ©   s�   † ñð
jð 5ð
jð Lð	
jð
 Cð
jð 
ô
jô0ôôðà,ðð "ðð %ð	ð
 
ôô&ô	2ôð
 ó7ó ð7÷rV   r²   c                  óV   • \ rS rSrSr        SS jrS	S jr        S
S jrSrg)Ú AsyncChatCompletionStreamManageréõ   a-  Context manager over a `AsyncChatCompletionStream` that is returned by `.stream()`.

This context manager ensures the response cannot be leaked if you don't read
the stream to completion.

Usage:
```py
async with client.chat.completions.stream(...) as stream:
    for event in stream:
        ...
```
c               ó6   • S U l         Xl        X l        X0l        g rX   )Ú)_AsyncChatCompletionStreamManager__streamÚ._AsyncChatCompletionStreamManager__api_requestÚ2_AsyncChatCompletionStreamManager__response_formatÚ._AsyncChatCompletionStreamManager__input_toolsr£   s       rR   rS   Ú)AsyncChatCompletionStreamManager.__init__  s   € ð LPˆŒØ(ÔØ!0ÔØ(ÕrV   c              ƒ  ó–   #   • U R                   I S h  v•N n[        UU R                  U R                  S9U l        U R                  $  N47fr§   )rÒ   r²   rÓ   rÔ   rÑ   r¨   s     rR   r½   Ú+AsyncChatCompletionStreamManager.__aenter__  sE   é € Ø×-Ñ-×-ˆ
ä1Ø!Ø ×2Ñ2Ø×*Ñ*ñ
ˆŒð �}‰}Ðñ .ùs   ‚A	’A“5A	c              ƒ  óp   #   • U R                   b#  U R                   R                  5       I S h  v•N   g g  N7frX   )rÑ   rh   ri   s       rR   rÀ   Ú*AsyncChatCompletionStreamManager.__aexit__  s/   é € ð �=‰=Ñ$Ø—-‘-×%Ñ%Ó'×'Ñ'ð %Ù'ùs   ‚+6­4®6r¬   N)r¤   z+Awaitable[AsyncStream[ChatCompletionChunk]]rE   rŠ   rF   r‹   rŒ   r�   )rŒ   z*AsyncChatCompletionStream[ResponseFormatT]r�   )	r”   r•   r–   r—   r˜   rS   r½   rÀ   rš   rc   rV   rR   rÎ   rÎ   õ   sd   † ñð
)à@ð
)ð Lð	
)ð
 Cð
)ð 
ô
)ô	ð(à,ð(ð "ð(ð %ð	(ð
 
÷(rV   rÎ   c                  óˆ   • \ rS rSrSr\\S.     SS j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)rM   i$  a#  Helper class for manually accumulating `ChatCompletionChunk`s into a final `ChatCompletion` object.

This is useful in cases where you can't always use the `.stream()` method, e.g.

```py
from openai.lib.streaming.chat import ChatCompletionStreamState

state = ChatCompletionStreamState()

stream = client.chat.completions.create(..., stream=True)
for chunk in response:
    state.handle_chunk(chunk)

    # can also access the accumulated `ChatCompletion` mid-stream
    state.current_completion_snapshot

print(state.get_final_completion())
```
)rF   rE   c               óà   • S U l         / U l        [        U5      (       a  U Vs/ sH  o3PM     snO/ U l        X l        [
        R                  " U5      (       a  X l        g [        U l        g s  snf rX   )	Ú7_ChatCompletionStreamState__current_completion_snapshotÚ/_ChatCompletionStreamState__choice_event_statesr'   Ú_input_toolsÚ_response_formatÚinspectÚisclassr&   Ú_rich_response_format)rP   rF   rE   Útools       rR   rS   Ú"ChatCompletionStreamState.__init__9  sb   € ð SWˆÔ*Ø=?ˆÔ"ä>FÀ{×>SÑ>S©kÓ:©k dšT©kÒ:ÐY[ˆÔØ /ÔÜELÇ_Â_ÐUd×EeÑEe°/Õ"ÔkoˆÕ"ùò ;s   £
A+c                óT   • [        U R                  U R                  U R                  S9$ )z±Parse the final completion object.

Note this does not provide any guarantees that the stream has actually finished, you must
only call this method when the stream is finished.
)Úchat_completionrE   rF   )r1   r}   râ   rÞ   rZ   s    rR   rv   Ú.ChatCompletionStreamState.get_final_completionF  s,   € ô %Ø ×<Ñ<Ø ×6Ñ6Ø×)Ñ)ñ
ð 	
rV   c                ó8   • U R                   c   eU R                   $ rX   )rÜ   rZ   s    rR   r}   Ú5ChatCompletionStreamState.current_completion_snapshotR  s    € à×1Ñ1Ñ=Ð=Ð=Ø×1Ñ1Ð1rV   c                ób   • U R                  U5      U l        U R                  UU R                  S9$ )zTAccumulate a new chunk into the snapshot and returns an iterable of events to yield.)ÚchunkÚcompletion_snapshot)Ú_accumulate_chunkrÜ   Ú_build_events)rP   rë   s     rR   rƒ   Ú&ChatCompletionStreamState.handle_chunkW  s9   € à-1×-CÑ-CÀEÓ-JˆÔ*à×!Ñ!ØØ $× BÑ Bð "ð 
ð 	
rV   c                ó¶   •  U R                   UR                     $ ! [         a3    [        U R                  S9nU R                   R                  U5        Us $ f = f)N)rF   )rÝ   ÚindexÚ
IndexErrorÚChoiceEventStaterÞ   Úappend)rP   ÚchoiceÚchoice_states      rR   Ú_get_choice_stateÚ+ChatCompletionStreamState._get_choice_state`  sU   € ð	 Ø×-Ñ-¨f¯l©lÑ;Ð;øÜó 	 Ü+¸×8IÑ8IÑJˆLØ×&Ñ&×-Ñ-¨lÔ;ØÒð	 ús   ‚ ›:AÁAc                ó  • U R                   nUc  [        U5      $ UR                   GH7  n UR                  UR                     nUR                  R
                  =(       d    / n[        [        [        [        [        [        S[        UR                  [        [        S[        UR                  R
                  =(       d    / 5       VVs0 sH  u  pgUSSS00_M     snnS.5      S95      [        SUR                  R                  5       5      5      S95      Ul        [        U5       Hˆ  u  p‰UR                  R
                  =(       d    / U   n
U	R                  S:X  a9  U
R                  S:X  d   eU	R                   R"                  U
R                   l        Mp  [$        (       d  M}  ['        U	5        MŠ     UR.                  (       ag  UR.                  Ul        [1        U R2                  U R4                  S9(       a3  UR.                  S:X  a	  [7        US9eUR.                  S:X  a
  [9        5       eUR                  R:                  (       a•  UR                  R<                  (       dz  [?        U R@                  5      (       a`  UR                  R:                  RC                  5       (       a7  [E        [G        UR                  R:                  S5      SS9UR                  l$        UR                  R
                  =(       d    /  GH  nUR                  R
                  =(       d    / UR                     nUR                  S:X  a¯  [K        U R4                  UR                   RL                  S9nU(       a~  URO                  S0 5      RO                  S5      (       aV  UR                   RP                  (       a9  [E        [G        UR                   RP                  S5      SS9UR                   l        Mé  Më  Mí  Mï  [$        (       d  Mü  ['        U5        GM
     URR                  c  GMð  URR                  c?  [U        [V        URR                  R:                  URR                  R<                  S9Ul)        GM<  URR                  R:                  (       aa  URR                  R:                  c  / URR                  l        URR                  R:                  RY                  URR                  R:                  5        URR                  R<                  (       d  GMÖ  URR                  R<                  c  / URR                  l        URR                  R<                  RY                  URR                  R<                  5        GM:     URZ                  Ul-        UR\                  Ul.        U$ s  snnf ! [(         ah    [        [*        [        [*        0 UR                  SS1S	9ES
UR                  R                  5       0ES95      nUR                  R-                  U5         GNJf = f)Nzdict[object, object]TÚfunctionÚparsed_arguments)ÚparsedÚ
tool_calls)Úexclude©Útype_ÚvalueÚdelta©Úexclude_unsetrþ   ÚmessagerD   Úlength)Ú
completionÚcontent_filterzutf-8)Úpartial_mode)rF   ÚnameÚstrict)ÚcontentÚrefusal)/rÜ   Ú$_convert_initial_chunk_into_snapshotÚchoicesrñ   r  rý   r   r   r,   r"   r*   r%   Ú	enumerater  Úto_dictÚtyperú   rû   r   r   rò   r   rô   Úfinish_reasonr/   rß   rÞ   r9   r:   r  r  r'   râ   Úlstripr   Úbytesrü   r2   r
  ÚgetÚ	argumentsÚlogprobsr+   r;   ÚextendÚusageÚsystem_fingerprint)rP   rë   rì   rõ   Úchoice_snapshotÚprevious_tool_callsÚidxÚ_Ú
tool_indexÚ	prev_toolÚnew_toolÚtool_call_chunkÚtool_call_snapshotÚ
input_tools                 rR   rí   Ú+ChatCompletionStreamState._accumulate_chunkh  så  € Ø"×@Ñ@ÐàÑ&Ü7¸Ó>Ð>à—m•mˆFð7DØ"5×"=Ñ"=¸f¿l¹lÑ"K�Ø&5×&=Ñ&=×&HÑ&H×&NÈBÐ#ä*.Ü7Ü"ÜAÜ.Ü Ø 6Ü *Ø$3×$;Ñ$;ô -1ä(-à6:ô ?HÈ×H_ÑH_×HjÑHj×HpÐnpÔ>qô;.á>q±F°Cð 14°jÐCUÐW[ÐB\Ð5]Ò0]Ù>qò;.ñ)*ó
-&ñ!"óô( !Ð!7¸¿¹×9MÑ9MÓ9OÓPó+ñó+�Ô'ô@ .7Ð7JÖ-KÑ)�JØ /× 7Ñ 7× BÑ B× HÀbÈ*ÑU�Hà —~‘~¨Ó3Ø'Ÿ}™}°
Ó:Ð:Ð:Ø=F×=OÑ=O×=`Ñ=`˜×)Ñ)Ö:ß&œÜ$ YÖ/ñ .Lð* ×#×#Ø06×0DÑ0D�Ô-ä&°t×7LÑ7LÐZ^×ZkÑZk×lØ×+Ñ+¨xÓ7ô 6ÐATÑUÐUà×+Ñ+Ð/?Ó?Ü<Ó>Ð>ð  ×'Ñ'×/×/Ø'×/Ñ/×7×7Ü˜T×7Ñ7×8Ñ8à#×+Ñ+×3Ñ3×:Ñ:×<Ñ<ä1:Ü˜/×1Ñ1×9Ñ9¸7ÓCØ!%ñ2�×'Ñ'Ô.ð
 $*§<¡<×#:Ñ#:×#@¸bÓ#@�Ø&5×&=Ñ&=×&HÑ&H×&NÈBÐP_×PeÑPeÑ%fÐ"à%×*Ñ*¨jÓ8Ü!7Ø$(×$5Ñ$5Ð<N×<WÑ<W×<\Ñ<\ñ"�Jö
 #Ø&ŸN™N¨:°rÓ:×>Ñ>¸x×HÑHØ.×7Ñ7×A×AäGPÜ!Ð"4×"=Ñ"=×"GÑ"GÈÓQØ)-ñHÐ*×3Ñ3ÖDñ Bñ Iñ #÷ #”]Ü Ð!3×4ñ% $Að( �‰Ô*Ø"×+Ñ+Ñ3Ü/4Ü&Ø &§¡× 7Ñ 7Ø &§¡× 7Ñ 7ñ0�O×,ð —‘×.×.Ø*×3Ñ3×;Ñ;ÑCØ?A˜O×4Ñ4Ô<à'×0Ñ0×8Ñ8×?Ñ?ÀÇÁ×@WÑ@WÔXà—‘×.×.Ò.Ø*×3Ñ3×;Ñ;ÑCØ?A˜O×4Ñ4Ô<à'×0Ñ0×8Ñ8×?Ñ?ÀÇÁ×@WÑ@W×Xñq $ðt %*§K¡KÐÔ!Ø16×1IÑ1IÐÔ.à"Ð"ùóO;.øô. ó DÜ"&Ü(Ü"Ü2ðØ$×/Ñ/¸dÈWÈIÐ/ÐVðà% v§|¡|×';Ñ';Ó'=ññó	#�ð $×+Ñ+×2Ñ2°?×CðDús,   ¬BVÃ	V,ÃCVÆ%VÖVÖA.W?×>W?c               ó€  • / nUR                  [        [        SXS95        UR                   GHŒ  nU R	                  U5      nUR                  UR
                     nUR                  R                  bs  UR                  R                  b\  UR                  [        [        SUR                  R                  UR                  R                  UR                  R                  S95        UR                  R                  b^  UR                  R                  bG  UR                  [        [        SUR                  R                  UR                  R                  S95        UR                  R                  (       Ga  UR                  R                  nUc   eUR                  R                   HÏ  nXxR
                     n	U	R                  S:X  a–  UR                  c   eUR                  [        [         SU	R                  R"                  UR
                  U	R                  R$                  U	R                  R&                  UR                  R$                  =(       d    S	S
95        M·  [(        (       d  MÄ  [+        U	5        MÑ     UR,                  Gb  UR,                  bú  UR,                  R                  (       ab  UR,                  R                  (       aG  UR                  [        [.        SUR,                  R                  UR,                  R                  S95        UR,                  R                  (       ab  UR,                  R                  (       aG  UR                  [        [0        SUR,                  R                  UR,                  R                  S95        UR3                  UR5                  UUU R6                  S95        GM�     U$ )Nrë   )r  rë   Úsnapshotzcontent.delta)r  r  r(  rü   zrefusal.delta)r  r  r(  rú   z#tool_calls.function.arguments.deltaÚ )r  r
  rñ   r  rû   Úarguments_deltazlogprobs.content.delta)r  r  r(  zlogprobs.refusal.delta)r  r  r(  )Úchoice_chunkr  rE   )rô   r+   r   r  r÷   rñ   r  r  r  r   rü   r  r   rý   r  rú   r    r
  r  rû   r   r   r  r   r   r  Úget_done_eventsrß   )
rP   rë   rì   r†   rõ   rö   r  rý   Útool_call_deltaÚ	tool_calls
             rR   rî   Ú'ChatCompletionStreamState._build_eventsí  sü  € ð LNˆà×ÑÜ”* 7°%ÑVô	
ð —m•mˆFØ×1Ñ1°&Ó9ˆLØ1×9Ñ9¸&¿,¹,ÑGˆOà�|‰|×#Ñ#Ñ/°O×4KÑ4K×4SÑ4SÑ4_Ø×%Ñ%ÜÜ)Ø,Ø$Ÿl™l×2Ñ2Ø!0×!8Ñ!8×!@Ñ!@Ø.×6Ñ6×=Ñ=ñôð �|‰|×#Ñ#Ñ/°O×4KÑ4K×4SÑ4SÑ4_Ø×%Ñ%ÜÜ)Ø,Ø$Ÿl™l×2Ñ2Ø!0×!8Ñ!8×!@Ñ!@ñ	ôð �|‰|×&×&Ð&Ø,×4Ñ4×?Ñ?�
Ø!Ñ-Ð-Ð-à'-§|¡|×'>Ô'>�OØ *×+@Ñ+@Ñ A�Ià —~‘~¨Ó3Ø.×7Ñ7ÑCÐCÐCØ&×-Ñ-Ü!Ü CØ%JØ%.×%7Ñ%7×%<Ñ%<Ø&5×&;Ñ&;Ø*3×*<Ñ*<×*FÑ*FØ1:×1CÑ1C×1TÑ1TØ0?×0HÑ0H×0RÑ0R×0XÐVXñö
÷ 'œÜ$ YÖ/ñ# (?ð& �‰Ò*¨×/GÑ/GÑ/SØ—?‘?×*×*¨×/GÑ/G×/O×/OØ"×)Ñ)ÜÜ5Ø!9Ø$*§O¡O×$;Ñ$;Ø%4×%=Ñ%=×%EÑ%Eñ	ôð —?‘?×*×*¨×/GÑ/G×/O×/OØ"×)Ñ)ÜÜ5Ø!9Ø$*§O¡O×$;Ñ$;Ø%4×%=Ñ%=×%EÑ%Eñ	ôð ×!Ñ!Ø×,Ñ,Ø!'Ø$3Ø$(×$9Ñ$9ð -ð ÷ñK $ðZ ÐrV   )Ú__choice_event_statesÚ__current_completion_snapshotrÞ   rß   râ   N)rF   r‹   rE   rŠ   rŒ   r�   r’   r“   )rë   r6   rŒ   z4Iterable[ChatCompletionStreamEvent[ResponseFormatT]])rõ   ÚChoiceChunkrŒ   ró   ©rë   r6   rŒ   r   )rë   r6   rì   r   rŒ   ú0list[ChatCompletionStreamEvent[ResponseFormatT]])r”   r•   r–   r—   r˜   r&   rS   rv   r™   r}   rƒ   r÷   rí   rî   rš   rc   rV   rR   rM   rM   $  s‹   † ñð. FJØNRñ	pð Cðpð Lð	pð
 
õpô

ð ó2ó ð2ô
ô ôC#ðJYð #ðYð :ð	Yð
 
:÷YrV   rM   c                  óh   • \ rS rSrSS jr        S	S jr      S
S jr        SS jrSrg)ró   iI  c               ót   • Xl         SU l        SU l        SU l        SU l        [        5       U l        S U l        g )NF)rÞ   Ú_content_doneÚ_refusal_doneÚ_logprobs_content_doneÚ_logprobs_refusal_doneÚsetÚ_done_tool_callsÚ*_ChoiceEventState__current_tool_call_index)rP   rF   s     rR   rS   ÚChoiceEventState.__init__J  s:   € Ø'Ôà"ˆÔØ"ˆÔØ&+ˆÔ#Ø&+ˆÔ#Ü*-«%ˆÔØ59ˆÕ&rV   c               ó  • / nUR                   (       a`  UR                  U R                  X#S95        U R                  b5  U R                  U R                  ;  a  U R                  UUU R                  S9  UR                  R                  =(       d    /  Ht  nU R                  UR                  :w  aF  UR                  U R                  X#S95        U R                  b  U R                  UUU R                  S9  UR                  U l        Mv     U$ )N)r  rE   )r†   r  r   )	r  r  Ú_content_done_eventsr=  r<  Ú_add_tool_done_eventr  rý   rñ   )rP   r+  r  rE   r†   r.  s         rR   r,  Ú ChoiceEventState.get_done_eventsT  s  € ð LNˆà×(×(Ø×!Ñ!Ø×)Ñ)¸/Ð)Ðkôð
 ×.Ñ.Ñ:Ø×2Ñ2¸$×:OÑ:OÓOà×)Ñ)Ø#1Ø$3Ø#×=Ñ=ð *ñ ð &×+Ñ+×6Ñ6×<¸"Ò<ˆIØ×-Ñ-°·±Ó@Ø×%Ñ%Ø×-Ñ-¸oÐ-Ðoôð ×1Ñ1Ñ=Ø×-Ñ-Ø'5Ø(7Ø#'×#AÑ#Að .ñ ð .7¯_©_ˆDÖ*ñ =ð ÐrV   c               óÈ  • / nUR                   R                  (       a‡  U R                  (       dv  SU l        [        UUR                   S9nXAR                   l        UR                  [        [        S[        [        [        5      5      SUR                   R                  US95        UR                   R                  bJ  U R                  (       d9  SU l        UR                  [        [        SUR                   R                  S95        UR                  ba  UR                  R                  bJ  U R                  (       d9  SU l        UR                  [        [        SUR                  R                  S	95        UR                  ba  UR                  R                  bJ  U R                   (       d9  SU l        UR                  [        ["        S
UR                  R                  S95        U$ )NT)rE   r  z'type[ContentDoneEvent[ResponseFormatT]]zcontent.done)r  r  rü   zrefusal.done)r  r  zlogprobs.content.done)r  r  zlogprobs.refusal.done)r  r  r7  r0   rü   rô   r+   r   r   r   r  r8  r   r  r9  r   r:  r   )rP   r  rE   r†   rü   s        rR   r@  Ú%ChoiceEventState._content_done_events}  sš  € ð LNˆà×"Ñ"×*×*°4×3E×3EØ!%ˆDÔä(Ø /Ø'×/Ñ/ñˆFð .4×#Ñ#Ô*à×!Ñ!Üô ØAÜœSÔ"2Ó3óð (Ø+×3Ñ3×;Ñ;Ø!ñôð ×"Ñ"×*Ñ*Ñ6¸t×?Q×?QØ!%ˆDÔØ×!Ñ!ÜÔ&¨^À_×E\ÑE\×EdÑEdÑeôð
 ×$Ñ$Ñ0Ø×(Ñ(×0Ñ0Ñ<Ø×/×/à*.ˆDÔ'Ø×!Ñ!ÜÔ.Ð5LÐVe×VnÑVn×VvÑVvÑwôð
 ×$Ñ$Ñ0Ø×(Ñ(×0Ñ0Ñ<Ø×/×/à*.ˆDÔ'Ø×!Ñ!ÜÔ.Ð5LÐVe×VnÑVn×VvÑVvÑwôð ÐrV   c               óü  • X0R                   ;   a  g U R                   R                  U5        UR                  R                  c   eUR                  R                  U   nUR                  S:X  ax  [        U R                  UR                  S9nXTR                  l        UR                  [        [        SUUR                  R                  UR                  R                  US95        g [        (       a  [        U5        g g )Nrú   )rF   rú   z"tool_calls.function.arguments.done)r  rñ   r
  r  rû   )r<  Úaddr  rý   r  r3   rÞ   rú   rû   rô   r+   r   r
  r  r   r   )rP   r†   r  r   r$  rû   s         rR   rA  Ú%ChoiceEventState._add_tool_done_event½  så   € ð ×.Ñ.Ó.Øà×Ñ×!Ñ! *Ô-à×&Ñ&×1Ñ1Ñ=Ð=Ð=Ø,×4Ñ4×?Ñ?À
ÑKÐà×"Ñ" jÓ0Ü<Ø ×-Ñ-Ð8J×8SÑ8Sñ Ðð <L×'Ñ'Ô8à×!Ñ!ÜÜ6Ø=Ø$Ø+×4Ñ4×9Ñ9Ø0×9Ñ9×CÑCØ%5ñõ	÷ Š]ÜÐ+Õ,ð rV   )Ú__current_tool_call_indexr7  r<  rÞ   r9  r:  r8  N)rF   z"list[ChatCompletionToolUnionParam]rŒ   r�   )r+  r2  r  r   rE   rŠ   rŒ   r4  )r  r   rE   rŠ   rŒ   r4  )r†   r4  r  r   r   ÚintrŒ   r�   )	r”   r•   r–   r—   rS   r,  r@  rA  rš   rc   rV   rR   ró   ró   I  s‰   † ô:ð'ð "ð'ð .ð	'ð
 Lð'ð 
:ô'ðR>ð .ð>ð Lð	>ð
 
:ô>ð@$-ð Ið$-ð .ð	$-ð
 ð$-ð 
÷$-rV   ró   c           	     óH  • U R                  5       nUR                  SS 5        [        SUS   5      nU R                   H>  n0 UR	                  SS1S9ESUR
                  R                  5       0EX#R                  '   M@     [        [        [        [        SS 0UES	S
0ES95      $ )NÚobfuscationzlist[object]r  Tr  r  r  r  Úobjectzchat.completionrÿ   )	r  Úpopr   r  r*   r  rñ   r   r,   )rë   Údatar  rõ   s       rR   r  r  ä  s´   € Ø�=‰=‹?€DØ‡H�Hˆ]˜DÔ!Ü�> 4¨	¡?Ó3€Gà—-”-ˆð!
Ø×Ñ¨d¸W¸IÐÐFð!
à�v—|‘|×+Ñ+Ó-ñ!
ˆ—‘Óñ  ô Ü$ÜÜ.à$ dðàðð Ð+ññ	
ó
ð 
rV   c                ó    • U R                   S:H  $ )Nzchat.completion.chunk)rL  )r…   s    rR   r‚   r‚   ü  s   € ð ×ÑÐ6Ñ6Ð6rV   r3  )r…   r6   rŒ   Úbool)TÚ
__future__r   rà   Útypesr   Útypingr   r   r   r   r	   r
   r   r   Útyping_extensionsr   r   r   Újiterr   Ú_typesr   r   r   Ú_eventsr   r   r   r   r   r   r   r   r   r   r   r    Ú_deltasr"   r$   r%   r&   Ú_utilsr'   r(   r)   Ú_compatr*   Ú_modelsr+   r,   Ú_parsingr.   r/   r0   r1   r2   r3   Ú
_streamingr4   r5   Ú
types.chatr6   r7   r8   Ú_exceptionsr9   r:   Útypes.chat.chat_completionr;   Ú types.chat.chat_completion_chunkr<   r2  Ú#types.chat.completion_create_paramsr=   ÚResponseFormatParamr?   rœ   r²   rÎ   rM   ró   r  r‚   rc   rV   rR   Ú<module>rd     sé   ðÝ "ã Ý ß b× bÓ bß :Ñ :å ç kÑ k÷÷ ÷ ó õ 'ß (Ñ (ß NÑ NÝ "ß -÷÷ ÷ /ß bÑ bß SÝ 9Ý FÝ YôI˜7 ?Ñ3ô IôX," '¨/Ñ":ô ,"ô^I ¨Ñ 8ô IôX,( w¨Ñ'?ô ,(ô^b ¨Ñ 8ô b÷J	X-ñ X-ôvõ07rV   