
    _j+             
         % S SK Jr  S SKrS SKrS SKrS SKrS SKrS SKrS SKrS SK	r	S SK
r
S SKrS SKrS SKJ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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$  S SK%r%S SK&r&S SK'r'S SK(r(S SK&J)r)  S SK(J*r*  S	S
K+J,r,  S	SK-J.r.  S	SK/J0r0J1r1  S	SK2J3r3J4r4J5r5J6r6J7r7J8r8J9r9J:r:J;r;J<r<J=r=J>r>J?r?J@r@JArAJBrBJCrC  S	SKDJErEJFrFJGrGJHrHJIrIJJrJJKrK  S	SKLJMrMJNrNJOrO  S	SKPJQrQJRrRJSrSJTrTJUrU  S	SKVJWrWJXrXJYrYJZrZ  S	SK[J\r\J]r]J^r^J_r_J`r`JaraJbrb  S	SKcJdrdJereJfrfJgrg  S	SK,JhrhJiriJjrjJkrkJlrl  S	SKmJnrn  S	SKoJprp  \	R                  " \r5      rsS\tS'   \sR                  \E" 5       5        \" SSS9rv\" SSS9rw\" S5      rx\" SS S!9ry\" S"\d\   S9rz\" S#\f\   S9r{\(       a	  S S$K|J}r}  \}r~O S S$K|J}r~   " S& S'5      r " S( S)\Q\\x   5      r " S* S+\\x   \\x   5      r " S, S-\\x\w4   5      r " S. S/\\x   \\x   5      r\" S0\\&GR
                  \&GR                  4   S9r\" S1\\d\   \f\   4   S9r " S2 S3\\\4   5      r " S4 S5\&GR
                  5      r\(       a  \&GR
                  rO\r " S6 S7\5      r " S8 S9\\&GR
                  \d\   4   5      r " S: S;\&GR                  5      r S SKr " S< S=\GR                   5      r\(       a  \&GR                  r \&GR                  rO\r\r " S? S@\5      r " SA SB\\&GR                  \f\   4   5      rSSSSS\C\CSSSC.	                   STSD jjr " SE SF\\S4   5      r " SG SH5      r\\\"SI   4   rSUSJ jr\J" SSK9SVSL j5       r " SM SN5      r\\\"SO   4   rSWSP jrSWSQ jrSXSR jr      SYSS jrg! \ a    \7" S%5      r~ GNf = f! \ a     " S> S=\&GR                  5      r GNf = f)Z    )annotationsN)TracebackType)random)TYPE_CHECKINGAnyDictTypeUnionGenericMappingTypeVarIterableIteratorOptional	GeneratorAsyncIteratorcastoverload)UnpackLiteraloverride
get_origin)URL)PrivateAttr   )_exceptionsQuerystring)to_httpx_filesasync_to_httpx_files)BodyOmitQueryHeadersTimeoutNotGiven	ResponseT
AnyMapping
PostParserBinaryTypesRequestFilesHttpxSendArgsRequestOptionsAsyncBinaryTypesHttpxRequestFilesModelBuilderProtocol	not_given)SensitiveHeadersFilteris_dictis_listasyncifyis_given	lru_cache
is_mapping)PYDANTIC_V1
model_copy
model_dump)GenericModelSecurityOptionsFinalRequestOptionsvalidate_typeconstruct_type)APIResponseBaseAPIResponseAsyncAPIResponseextract_response_type)DEFAULT_TIMEOUTMAX_RETRY_DELAYDEFAULT_MAX_RETRIESINITIAL_RETRY_DELAYRAW_RESPONSE_HEADEROVERRIDE_CAST_TO_HEADERDEFAULT_CONNECTION_LIMITS)Stream
SSEDecoderAsyncStreamSSEBytesDecoder)OpenAIErrorAPIStatusErrorAPITimeoutErrorAPIConnectionErrorAPIResponseValidationError)openapi_dumps)LegacyAPIResponsezlogging.Loggerlog	SyncPageTzBaseSyncPage[Any])bound
AsyncPageTzBaseAsyncPage[Any]_T_T_coT)	covariant_StreamT_AsyncStreamT)DEFAULT_TIMEOUT_CONFIGg      @c                      \ rS rSr% SrS\S'   S\S'   S\S'   \    SS	 j5       r\    SS
 j5       r\    SS j5       r\\\S.       SS jjr\	SS j5       r
Srg)PageInfoy   zxStores the necessary information to build the request to retrieve the next page.

Either `url` or `params` must be set.
URL | NotGivenurlQuery | NotGivenparamsBody | NotGivenjsonc                   g N selfre   s     H/home/rurouni/.local/lib/python3.13/site-packages/openai/_base_client.py__init__PageInfo.__init__       
     c                   g rk   rl   )rn   rg   s     ro   rp   rq      rr   rs   c                   g rk   rl   )rn   ri   s     ro   rp   rq      rr   rs   re   ri   rg   c               (    Xl         X l        X0l        g rk   rv   )rn   re   ri   rg   s       ro   rp   rq      s     	rs   c                *   U R                   (       a&  U R                  R                   SU R                    S3$ U R                  (       a&  U R                  R                   SU R                   S3$ U R                  R                   SU R                   S3$ )Nz(url=)z(json=z(params=)re   	__class____name__ri   rg   rn   s    ro   __repr__PageInfo.__repr__   sv    88nn--.eDHH:Q??99nn--.fTYYKqAA..))*(4;;-qAArs   )ri   rg   re   N)re   r   returnNone)rg   r#   r   r   )ri   r!   r   r   )re   rd   ri   rh   rg   rf   r   r   r   str)r{   
__module____qualname____firstlineno____doc____annotations__r   rp   r1   r   r}   __static_attributes__rl   rs   ro   rb   rb   y   s    
 

  
	    
	    
	  ( )#,	 	 		
 !	 
	 B Brs   rb   c                  |    \ rS rSr% Sr\" 5       rS\S'   \" 5       rS\S'   SS jr	SS jr
SS	 jrSS
 jrSS jrSrg)BasePage   a   
Defines the core interface for pagination.

Type Args:
    ModelT: The pydantic model that represents an item in the response.

Methods:
    has_next_page(): Check if there is another page available
    next_page_info(): Get the necessary information to make a request for the next page
r>   _optionsType[_T]_modelc                V    U R                  5       nU(       d  gU R                  5       S L$ )NF)_get_page_itemsnext_page_info)rn   itemss     ro   has_next_pageBasePage.has_next_page   s*    $$&""$D00rs   c                    g rk   rl   r|   s    ro   r   BasePage.next_page_info   s    Crs   c                    g rk   rl   r|   s    ro   r   BasePage._get_page_items   s    rs   c                    [         R                  " [        [        U R                  R
                  5      5      R                  UR
                  5      $ rk   )httpxQueryParamsr   r   r   rg   mergerm   s     ro   _params_from_urlBasePage._params_from_url   s3      c4==+?+?!@AGG

SSrs   c                @   [        U R                  5      nUR                  5         [        UR                  [
        5      (       d!  0 UR                  EUR                  EUl        U$ [        UR                  [
        5      (       d`  U R                  UR                  5      nUR                  R                  US9n[        UR                  5      Ul        [        U5      Ul        U$ [        UR                  [
        5      (       d  [        UR                  5      (       d  [        S5      eUR                  (       d  0 UR                  EUl        U$ [        UR                  5      (       d  [        S5      e0 UR                  EUR                  EUl        U$ [        S5      e)N)rg   z*Pagination is only supported with mappingszUnexpected PageInfo state)r:   r   _strip_raw_response_header
isinstancerg   r&   re   r   	copy_withdictr   ri   r8   	TypeError	json_data
ValueError)rn   infooptionsrg   re   s        ro   _info_to_optionsBasePage._info_to_options   s?   T]]+**,$++x00>>$++>GNN$((H--**4884F(($$F$3C!#**-GNc(GKN$))X..dii(( LMM$$$1tyyM! N	 "'"3"344#$PQQ$Fw'8'8$FDII$F!N455rs   rl   Nr   bool)r   zOptional[PageInfo])r   zIterable[_T])re   r   r   zhttpx.QueryParams)r   rb   r   r>   )r{   r   r   r   r   r   r   r   r   r   r   r   r   r   r   rl   rs   ro   r   r      s<    	 %0MH!1"}FH$1 8T6rs   r   c                  z    \ rS rSr% \R
                  " 5       rS\S'           S
S jrSS jr	SS jr
SS jrSrg	)BaseSyncPage   SyncAPIClient_clientc                h    [         (       d  [        U SS 5      c  0 U l        X l        Xl        X0l        g N__pydantic_private__r9   getattrr   r   r   r   )rn   clientmodelr   s       ro   _set_private_attributes$BaseSyncPage._set_private_attributes   /     /Et!L!T(*D%rs   c              #  p   #    U R                  5        H  nUR                  5        H  nUv   M	     M      g 7frk   
iter_pagesr   rn   pageitems      ro   __iter__BaseSyncPage.__iter__  s.     OO%D,,.
 / &s   46c              #  j   #    U n Uv   UR                  5       (       a  UR                  5       nOg M-  7frk   r   get_next_pagern   r   s     ro   r   BaseSyncPage.iter_pages  s7     J!!##))+ s   13c                    U R                  5       nU(       d  [        S5      eU R                  U5      nU R                  R	                  U R
                  U R                  US9$ NzYNo next page expected; please check `.has_next_page()` before calling `.get_next_page()`.)r   r   r   RuntimeErrorr   r   _request_api_listr   rz   rn   r   r   s      ro   r   BaseSyncPage.get_next_page  sZ    ""$k  ''-||--dkkX_-``rs   r   r   r   r   N)r   r   r   r   r   r>   r   r   )r   zIterator[_T])rn   rX   r   zIterator[SyncPageT])rn   rX   r   rX   )r{   r   r   r   pydanticr   r   r   r   r   r   r   r   rl   rs   ro   r   r      sP    %113G]3     %	 
 
 *
ars   r   c                  P    \ rS rSr          SS jrS	S jrS
S jrSS jrSrg)AsyncPaginatori  c                4    X@l         Xl        X l        X0l        g rk   )r   r   r   	_page_cls)rn   r   r   page_clsr   s        ro   rp   AsyncPaginator.__init__  s     !rs   c                >    U R                  5       R                  5       $ rk   )	_get_page	__await__r|   s    ro   r   AsyncPaginator.__await__'  s    ~~))++rs   c                   ^ #    SU 4S jjnUT R                   l        T R                  R                  T R                  T R                   5      I S h  vN $  N7f)Nc                f   > U R                  TR                  TR                  TR                  S9  U $ )N)r   r   r   )r   r   r   r   )resprn   s    ro   _parser)AsyncPaginator._get_page.<locals>._parser+  s2    ((kk|| ) 
 Krs   )r   rZ   r   rZ   )r   post_parserr   requestr   )rn   r   s   ` ro   r   AsyncPaginator._get_page*  s>     	 %,!\\))$..$--HHHHs   AAAAc               j   #    [        [        U I S h  vN 5      nU  S h  vN nU7v   M   N N
 g 7frk   )r   rZ   r   s      ro   	__aiter__AsyncPaginator.__aiter__7  s4     J
  	$J 	$s$   3-

31/1	313)r   r   r   r   N)
r   AsyncAPIClientr   r>   r   Type[AsyncPageT]r   r   r   r   )r   z Generator[Any, None, AsyncPageT])r   rZ   r   zAsyncIterator[_T])	r{   r   r   r   rp   r   r   r   r   rl   rs   ro   r   r     sG    
"
" %
" #	
"
 
" 

",Irs   r   c                  z    \ rS rSr% \R
                  " 5       rS\S'           S
S jrSS jr	SS jr
SS jrSrg	)BaseAsyncPageiA  r   r   c                h    [         (       d  [        U SS 5      c  0 U l        Xl        X l        X0l        g r   r   )rn   r   r   r   s       ro   r   %BaseAsyncPage._set_private_attributesD  r   rs   c                  #    U R                  5         S h  vN nUR                  5        H  nU7v   M
     M'   N"
 g 7frk   r   r   s      ro   r   BaseAsyncPage.__aiter__Q  s6     //+ 	$,,.
 /	+s   ><:<><>c                  #    U n U7v   UR                  5       (       a  UR                  5       I S h  vN nOg M6   N7frk   r   r   s     ro   r   BaseAsyncPage.iter_pagesV  s?     J!!##!//11  2s   1><	>c                   #    U R                  5       nU(       d  [        S5      eU R                  U5      nU R                  R	                  U R
                  U R                  US9I S h  vN $  N7fr   r   r   s      ro   r   BaseAsyncPage.get_next_page_  sc     ""$k  ''-\\33DKKdnn^e3ffffs   A&A/(A-)A/r   N)r   r   r   r   r   r>   r   r   r   )rn   rZ   r   zAsyncIterator[AsyncPageT])rn   rZ   r   rZ   )r{   r   r   r   r   r   r   r   r   r   r   r   r   rl   rs   ro   r   r   A  sP    &224G^4     %	 
 
 
grs   r   _HttpxClientT_DefaultStreamTc                     \ rS rSr% S\S'   S\S'   S\S'   S\S	'   S
\S'   S\S'   S\S'   SrS\S'   \\SSS.               S4S jjrS5S jr	    S6S jr
        S7S jr    S8S jr    S8S jr    S9S jrSS.S:S jjrS;S jrS<S jrSS.     S=S  jjrS>S! jrS?S" jrS@S# jr        SAS$ jr\SBS% j5       r\SCS& j5       r\SDS' j5       r\SES( j5       r\SFS) j5       r      SGS* jr\SHS+ j5       r\SIS, j5       r\R@                  SJS- j5       rSKS. jr!SLSMS/ jjr" SL       SNS0 jjr#SOS1 jr$SHS2 jr%S3r&g)P
BaseClientin  r   r   r   _versionr   	_base_urlintmax_retrieszUnion[float, Timeout, None]timeoutr   _strict_response_validation
str | None_idempotency_headerNztype[_DefaultStreamT] | None_default_stream_cls)r   r   custom_headerscustom_queryc                   Xl         U R                  [        U5      5      U l        X@l        XPl        U=(       d    0 U l        U=(       d    0 U l        X0l        S U l	        S U l
        Uc  [        S5      eg )Nzmax_retries cannot be None. If you want to disable retries, pass `0`; if you want unlimited retries, pass `math.inf` or a very high number; if you want the default behavior, pass `openai.DEFAULT_MAX_RETRIES`)r   _enforce_trailing_slashr   r   r   r   _custom_headers_custom_queryr   r   	_platformr   )rn   versionbase_urlr   r   r   r  r  s           ro   rp   BaseClient.__init__x  sw      55c(mD&-3)/R+F(#' *. b  rs   c                ~    UR                   R                  S5      (       a  U$ UR                  UR                   S-   S9$ )N   /raw_path)r  endswithr   rm   s     ro   r  "BaseClient._enforce_trailing_slash  s6    <<  &&J}}cllT&9}::rs   c                d   UR                   (       a#  UR                  (       d  S nSUR                   3nOEUR                  R	                  5       nUn [
        R                  " U5      nSUR                   SU 3nU R                  X2US9$ ! [         a    U=(       d    SUR                   3n N4f = f)NzError code: z - )bodyresponse)		is_closedis_stream_consumedstatus_codetextstripri   loads	Exception_make_status_error)rn   r  r  err_msgerr_texts        ro    _make_status_error_from_response+BaseClient._make_status_error_from_response  s     h&A&A D$X%9%9$:;G}}**,HDLzz(+()=)=(>c$H &&wH&MM  L"KX5I5I4J&KLs   (B
 
"B/.B/c                   [        5       erk   )NotImplementedError)rn   r  r  r  s       ro   r  BaseClient._make_status_error  s     "##rs   c                    0 $ rk   rl   rn   securitys     ro   _auth_headersBaseClient._auth_headers  	     	rs   c                    0 $ rk   rl   r$  s     ro   _auth_queryBaseClient._auth_query  r(  rs   c                    g rk   rl   r$  s     ro   _custom_authBaseClient._custom_auth  s     rs   r   retries_takenc                  UR                   =(       d    0 n[        0 U R                  UR                  5      EU R                  EU5      nU R                  XC5        [        R                  " U5      nU R                  nU(       a$  UR                  (       a  Xe;  a  UR                  XV'   U Vs/ s H  owR                  5       PM     nnSU;  a  [        U5      US'   SU;  ai  [        UR                  [        5      (       a  U R                  OUR                  n	[        U	[        5      (       a  U	R                   n	U	b  [        U	5      US'   U$ s  snf )Nzx-stainless-retry-countzx-stainless-read-timeout)headers_merge_mappingsr&  r%  default_headers_validate_headersr   r$   r   idempotency_keylowerr   r   r   r&   r%   read)
rn   r   r0  r  headers_dictr2  idempotency_headerheaderlower_custom_headersr   s
             ro   _build_headersBaseClient._build_headers  s    .B&'g$*<*<W=M=M*N'gRVRfRf'giwx|< ---!55'"9"9>P>_*1*A*AG' >LL^6^L$,@@14]1CG-.%-AA&0(&K&KdllQXQ`Q`G'7++!,,"69'l23  Ms   +Ec                    [        U5      nUR                  (       aK  U R                  R                  UR                  R	                  S5      -   nU R                  R                  US9$ U$ )zs
Merge a URL argument together with any 'base_url' on the client,
to create the URL used for the outgoing request.
r  r  )r   is_relative_urlr	  r  lstripr   )rn   re   	merge_urlmerge_raw_paths       ro   _prepare_urlBaseClient._prepare_url  sZ     H	$$!]]33i6H6H6O6OPT6UUN==**N*CCrs   c                    [        5       $ rk   )rM   r|   s    ro   _make_sse_decoderBaseClient._make_sse_decoder  s
    |rs   c                  [         R                  [        R                  5      (       a-  [         R	                  S[        US[        (       a  S1O0 S95        0 nUR                  nUR                  b\  Uc  [        [        UR                  5      nO>[        U5      (       a  [        XAR                  5      nO[        S[        U5       S35      eU R                  XS9n[        0 U R!                  UR"                  5      EU R$                  EUR&                  5      nUR)                  S5      nUR*                  nUb  UR-                  S	5      (       ay  S
U;  a  UR/                  S5        U(       a<  [1        U5      (       d  [3        S[        U5       S35      eU R5                  U5      US'   U(       d  [        [6        [9        5       5      nU R;                  UR<                  5      n	U(       ad  U	R>                  (       aS  0 [A        U	R&                  RC                  5       5      EUEnU	RE                  U	RF                  RI                  SS5      S   S9n	SU	RJ                  ;   a!  SU	RJ                  RM                  SS5      0US'   URN                  RQ                  5       S:g  n
U
(       a  URR                  b  Ub  [3        S5      eURR                  b  Ub  [3        S5      eURR                  b  URR                  US'   OD[U        U[V        5      (       a  XCS'   O*U(       d#  [Y        U5      (       a  Ub  [[        U5      OS US'   XS'   O$UR/                  SS 5        UR/                  SS 5        U R\                  R^                  " SU[U        UR`                  [b        5      (       a  U R`                  OUR`                  URN                  U	U(       a6  U Rd                  Rg                  [        [h        [j        [l        4   U5      5      OS S.UD6$ )NzRequest options: %sTcontent)exclude_unsetexcludezUnexpected JSON data type, z , cannot merge with `extra_body`r/  Content-Typezmultipart/form-databoundaryzGExpected query input to be a dictionary for multipart requests but got z	 instead.data   ?r   r   r  _sni_hostname-
extensionsgetz7Passing both `content` and `json_data` is not supportedz3Passing both `content` and `files` is not supportedfiles)r2  r   methodre   rg   rl   )7rW   isEnabledForloggingDEBUGdebugr;   r9   r   
extra_jsonr   r!   r8   r3  r   typer=  r*  r%  default_queryrg   rU  rV  
startswithpopr3   r   _serialize_multipartformr/   ForceMultipartDictrD  re   queryr   r   r   r  splithostreplacerW  r7  rJ  r   bytesr6   rU   r   build_requestr   r&   qs	stringifyr   r   r   )rn   r   r0  kwargsr   r2  rg   content_typerV  prepared_urlis_body_alloweds              ro   _build_requestBaseClient._build_request  s    GMM**II%"&
 #{ " 	 "$%%	)  w'9'9:	I&&+I7I7IJ	"%@i@QQq#rss%%g%K !]D$4$4W5E5E$F!]$J\J\!]_f_m_mn{{>2 #(?(?@U(V(V- N+ y))#abfgpbqarr{|  "&!>!>y!Iv .0B0DE((5l((D\006689DVDF'11<;P;P;V;VW[]^;_`a;b1cL,###$2L4E4E4M4McSV4W#XF< !....0E9*y/D YZZ*u/@ UVV*$+OOy!Iu--$-y! AI@S@SXaXmM)$<swy!#7OKK-JJvt$ ||)) 
$.w$I$IDLLw>>
 JP477$$T'#s(*;V%DEUY
 
 	
rs   c                    U R                   R                  USS9n0 nU HK  u  pEUR                  U5      nU(       d  XSU'   M#  [        U5      (       a  UR	                  U5        MF  Xe/X4'   MM     U$ )Nbrackets)array_format)ri  stringify_itemsrU  r4   append)rn   rO  r   
serializedkeyvalueexistings          ro   ra  #BaseClient._serialize_multipartform^  s|    '' #	 ( 
 )+
JC!~~c*H"'3 x  &#+"3
%  ( rs   c                    [        UR                  5      (       d  U$ [        UR                  5      nUR                  [        [
        5      n[        U5      (       a  X2l        [        [        [           U5      $ U$ rk   )	r6   r2  r   r`  rJ   r1   r   r	   r'   )rn   cast_tor   r2  override_cast_tos        ro   _maybe_override_cast_to"BaseClient._maybe_override_cast_to|  sb    ((N w'
 #;;'>	J$%%%OY)9::rs   c                F    UR                   R                  [        5      S:H  $ Nstream)r2  rU  rI   rn   r   s     ro   _should_stream_response_body'BaseClient._should_stream_response_body  s    ""#678CCrs   c                  Uc  [        [        S 5      $ U[        L a  [        [        U5      $  [        R                  " U5      (       a2  [        U[        5      (       a  [        [        UR                  X1S95      $ U R                  (       a  [        [        [        X!S95      $ [        [        [        X!S95      $ ! [        R                   a  n[        X1S9UeS nAff = f)N)r  rO  )type_rx  )r  r  )r   r'   objectinspectisclass
issubclassr0   buildr   r?   r@   r   ValidationErrorrT   )rn   rO  r|  r  errs        ro   _process_response_data!BaseClient._process_response_data  s     <	4((f	4((		Tw''Jw@T,U,UIw}}h}'RSS//I}7'OPP	>#LMM'' 	T,hJPSS	Ts$   AB: ;'B: #B: :C
CCc                    [        5       $ rk   r   r|   s    ro   ri  BaseClient.qs  s
    }rs   c                    g rk   rl   r|   s    ro   custom_authBaseClient.custom_auth  s    rs   c                    0 $ rk   rl   r|   s    ro   auth_headersBaseClient.auth_headers  s    	rs   c                Z    SSU R                   S.U R                  5       EU R                  E$ )Nzapplication/json)AcceptrM  z
User-Agent)
user_agentplatform_headersr  r|   s    ro   r4  BaseClient.default_headers  s>     ).//
 ##%	

 ""
 	
rs   c                    0 U R                   E$ rk   )r  r|   s    ro   r^  BaseClient.default_query  s    
  
 	
rs   c                    g)zQValidate the given default headers and custom headers.

Does nothing by default.
Nrl   )rn   r2  r  s      ro   r5  BaseClient._validate_headers  s     	rs   c                L    U R                   R                   SU R                   3$ )Nz/Python )rz   r{   r   r|   s    ro   r  BaseClient.user_agent  s"    ..))*(4==/BBrs   c                    U R                   $ rk   )r   r|   s    ro   r	  BaseClient.base_url  s    ~~rs   c                p    U R                  [        U[        5      (       a  UO
[        U5      5      U l        g rk   )r  r   r   r   rm   s     ro   r	  r    s)    55ZS=Q=QcWZ[^W_`rs   c                >    [        U R                  U R                  S9$ )N)platform)r  r   r  r|   s    ro   r  BaseClient.platform_headers  s      GGrs   c                   Uc  g UR                  SS5      n[        U5      S-  $ ! [        [        4 a     Of = fUR                  S5      n [        U5      $ ! [        [        4 a     Of = f[        R
                  R                  U5      nUc  g[        R
                  R                  U5      n[        U[        R                  " 5       -
  5      $ )a(  Returns a float of the number of seconds (not milliseconds) to wait after retrying, or None if unspecified.

About the Retry-After header: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Retry-After
See also  https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Retry-After#syntax
Nzretry-after-ms  zretry-after)	rU  floatr   r   emailutilsparsedate_tz	mktime_tztime)rn   response_headersretry_ms_headerretry_headerretry_date_tuple
retry_dates         ro   _parse_retry_after_header$BaseClient._parse_retry_after_header  s     #	.223CTJO)D00:& 		 (++M:	 &&:& 		 !;;33LA#[[**+;<
Z$))+-..s   & 99
A A,+A,c                   UR                  U R                  5      nU R                  U5      nUb  SUs=:  a  S::  a   U$   [        XA-
  S5      n[        [        [        SU5      -  [        5      nSS[        5       -  -
  nXx-  n	U	S:  a  U	$ S$ )Nr   <   r  g       @r   g      ?)get_max_retriesr   r  minrH   powrF   r   )
rn   remaining_retriesr   r  r   retry_after
nb_retriessleep_secondsjitterr   s
             ro   _calculate_retry_timeout#BaseClient._calculate_retry_timeout  s     --d.>.>? 445EF"q;'<"'< (= 8$?
 /#c:2FFX TFH_$(!Q,w-A-rs   c                \   UR                   R                  S5      nUS:X  a  [        R                  S5        gUS:X  a  [        R                  S5        gUR                  S:X  a!  [        R                  S	UR                  5        gUR                  S
:X  a!  [        R                  S	UR                  5        gUR                  S:X  a!  [        R                  S	UR                  5        gUR                  S:  a!  [        R                  S	UR                  5        g[        R                  S5        g)Nzx-should-retrytruez4Retrying as header `x-should-retry` is set to `true`Tfalsez9Not retrying as header `x-should-retry` is set to `false`Fi  zRetrying due to status code %ii  i  i  zNot retrying)r2  rU  rW   r[  r  )rn   r  should_retry_headers      ro   _should_retryBaseClient._should_retry  s    &..223CD &(IILM')IIQR 3&II68L8LM 3&II68L8LM 3&II68L8LM 3&II68L8LM		.!rs   c                2    S[         R                  " 5        3$ )Nzstainless-python-retry-)uuiduuid4r|   s    ro   _idempotency_keyBaseClient._idempotency_key>  s    (77rs   )	r   r  r  r   r  r   r   r   r   )r  r   r	  	str | URLr   r   r   r   r   zfloat | Timeout | Noner  Mapping[str, str] | Noner  Mapping[str, object] | Noner   r   )re   r   r   r   )r  httpx.Responser   rQ   )r  r   r  r  r  r  r   z_exceptions.APIStatusError)r%  r=   r   dict[str, str])r%  r=   r   httpx.Auth | None)r   r>   r0  r   r   zhttpx.Headers)re   r   r   r   )r   zSSEDecoder | SSEBytesDecoder)r   r>   r0  r   r   httpx.Request)rO  zMapping[object, object]r   dict[str, object])r|  type[ResponseT]r   r>   r   r  )r   r  r   r   )rO  r  r|  r  r  r  r   r'   )r   r   )r   r  )r   r  )r   zdict[str, str | Omit])r   r  )r2  r$   r  r$   r   r   r   )r   r   )re   z	URL | strr   r   )r   Dict[str, str]rk   )r  Optional[httpx.Headers]r   zfloat | None)r  r   r   r>   r  r  r   r  )r  r  r   r   )'r{   r   r   r   r   r   rG   rE   rp   r  r  r  r&  r*  r-  r=  rD  rG  ro  ra  r~  r  r  propertyri  r  r  r4  r^  r5  r  r	  setterr  r  r  r  r  r   rl   rs   ro   r   r   n  s   MN((!%%##8<5< /*93748  	
 &*  ( 1 2 
4;
N N 
N,$$ 	$
 !$ 
$$! 
! 
! 
 TU 4 	j
$j
 	j

 
j
X<"DT T !	T
 !T 
T0       
 
 
 

		  	 
		 C C   __a aH /L 59	.. %. 2	.
 
.0!F8rs   r   c                  ,   ^  \ rS rSrSU 4S jjrSrU =r$ )_DefaultHttpxClientiB  c                   > UR                  S[        5        UR                  S[        5        UR                  SS5        [        TU ]  " S0 UD6  g Nr   limitsfollow_redirectsTrl   
setdefaultrE   rK   superrp   rn   rk  rz   s     ro   rp   _DefaultHttpxClient.__init__C  E    )_5($=>,d3"6"rs   rl   rk  r   r   r   r{   r   r   r   rp   r   __classcell__rz   s   @ro   r  r  B      # #rs   r  c                      \ rS rSrSS jrSrg)SyncHttpxClientWrapperiV  c                j    U R                   (       a  g  U R                  5         g ! [         a     g f = frk   )r  closer  r|   s    ro   __del__SyncHttpxClientWrapper.__del__W  s,    >>	JJL 		s   % 
22rl   Nr   r   r{   r   r   r   r  r   rl   rs   ro   r  r  V  s    rs   r  c                    ^  \ rS rSr% S\S'   SrS\S'   \\SSSS.                 S5U 4S jjjrS6S	 jr	S7S
 jr
S8S jr        S9S jr    S:S jr    S;S jr        S<S jr\          S=S j5       r\SS.       S>S jj5       r\SSS.         S?S jj5       rSSS.         S@S jjr          SAS jrSS.             SBS jjr        SCS jr\0 SS.         SDS jj5       r\0 S.           SES jj5       r\0 SS .           SFS! jj5       r0 SSS".           SFS# jjr\SS0 SSS$.               SGS% jj5       r\SS0 SS&.                 SHS' jj5       r\SS0 SSS(.                 SIS) jj5       rSS0 SSSS*.                 SIS+ jjrSSS0 S,.             SJS- jjrSSS0 S,.             SJS. jjrSS0 S/.           SKS0 jjrS0 S1S2.             SLS3 jjrS4rU =r$ )Mr   ia  zhttpx.Clientr   Nztype[Stream[Any]] | Noner   r   r   http_clientr  r  c          
       > [        U5      (       d.  U(       a!  UR                  [        :w  a  UR                  nO[        nUb6  [	        U[
        R                  5      (       d  [        S[        U5       35      e[        T	U ])  U[        [        U5      UUUUUS9  U=(       d    [        U[        [        U5      S9U l        g )NzOInvalid `http_client` argument; Expected an instance of `httpx.Client` but got )r  r   r	  r   r  r  r   r	  r   )r6   r   HTTPX_DEFAULT_TIMEOUTrE   r   r   Clientr   r]  r  rp   r   r%   r  r   )
rn   r  r	  r   r   r  r  r  r   rz   s
            ro   rp   SyncAPIClient.__init__e  s        {226KK%--)":k5<<+P+Pabfgrbsatu  	'*#%)(C 	 		
 # 
&<'*'
rs   c                .    U R                   R                  $ rk   r   r  r|   s    ro   r  SyncAPIClient.is_closed      ||%%%rs   c                \    [        U S5      (       a  U R                  R                  5         gg)PClose the underlying HTTPX client.

The client will *not* be usable after this.
r   N)hasattrr   r  r|   s    ro   r  SyncAPIClient.close  s&     4##LL  $rs   c                    U $ rk   rl   r|   s    ro   	__enter__SyncAPIClient.__enter__  s    rs   c                $    U R                  5         g rk   r  rn   exc_typeexcexc_tbs       ro   __exit__SyncAPIClient.__exit__  s     	

rs   c                    U$ z#Hook for mutating the given optionsrl   rn   r   s     ro   _prepare_optionsSyncAPIClient._prepare_options  s	    
 rs   c                    gzThis method is used as a callback for mutating the `Request` object
after it has been constructed.
This is useful for cases where you want to add certain headers based off of
the request properties, e.g. `url`, `method` etc.
Nrl   r  s     ro   _prepare_requestSyncAPIClient._prepare_request  s     rs   c               @    U R                   R                  " U4SU0UD6$ r  r   sendrn   r   r  rk  s       ro   _send_requestSyncAPIClient._send_request  s#     ||  BB6BBrs   c                   g rk   rl   rn   r|  r   r  
stream_clss        ro   r   SyncAPIClient.request  s     rs   Fr  c                   g rk   rl   rn   r|  r   r  s       ro   r   r#    s     rs   r  r"  c                   g rk   rl   r!  s        ro   r   r#    s      #rs   c          	        U R                  X5      n[        U5      nUR                  c3  UR                  R	                  5       S:w  a  U R                  5       Ul        S nUR                  U R                  5      nSn[        US-   5       GHh  n[        U5      nU R                  U5      nXx-
  n	U R                  X(S9n
U R                  U
5        0 nU R                  UR                  5      nUb  XS'   UR                  b  UR                  US'   [        R!                  SU
R                  U
R"                  5        S n U R$                  " U
4SU=(       d    U R'                  U
S	90UD6n[        R!                  SU
R                  U
R"                  UR6                  UR8                  UR:                  5        [        R!                  SUR:                  R=                  S5      5         UR?                  5           O   Uc   S5       eU RO                  UUUUUUS9$ ! [(        R*                   aW  n[        R!                  S
SS9  U	S:  a  U R-                  UUUS S9   S nAGM  [        R!                  S5        [/        U
S	9UeS nAf[0         a  nUeS nAf[2         aW  n[        R!                  SSS9  U	S:  a  U R-                  UUUS S9   S nAGM@  [        R!                  S5        [5        U
S	9UeS nAff = f! [(        R@                   a  n[        R!                  SSS9  U	S:  aS  U RC                  URD                  5      (       a3  URD                  RG                  5         U R-                  UUUUS9   S nAGM  URD                  RH                  (       d  URD                  RK                  5         [        R!                  S5        U RM                  URD                  5      S eS nAff = fNrU  r   r   r/  authr  zSending HTTP Request: %s %sr  )r   z"Encountered httpx.TimeoutExceptionT)exc_info)r0  r   r   r  zRaising timeout errorzEncountered ExceptionzRaising connection errorzHTTP Response: %s %s "%i %s" %szrequest_id: %szx-request-idz!Encountered httpx.HTTPStatusErrorzRe-raising status errorz0could not resolve response (should never happen))r|  r   r  r  r"  r0  )(r~  r:   r6  rW  r7  r  r  r   ranger  ro  r  r-  r%  r  rW   r[  re   r  r  r   TimeoutException_sleep_for_retryrR   rP   r  rS   r  reason_phraser2  rU  raise_for_statusHTTPStatusErrorr  r  r  r  r8  r  _process_response)rn   r|  r   r  r"  input_optionsr  r   r0  r  r   rk  r  r  s                 ro   r   r#    s    ..w@
 #7+((0]5I5I5O5O5QUZ5Z,0,A,A,CM)*.#33D4D4DE";?3M /G++G4G + ;))')OG!!'*$&F++G,<,<=K&!,v''3-4-E-E)*II3W^^W[[QH$C--!WT%F%Fw%F%W J II1$$&&   II&(8(8(<(<^(LMT))+, u 4x #W%WW#%%!' & 
 	
I )) @		>	N$q())&3$/ -!%	 *  		12%g6C? 	 C		1D	A$q())&3$/ -!%	 *  		45(9sBC6 (( T		=	M$q(T-?-?-M-MLL&&())&3$/ -!)	 *   ||--LL%%'		34;;CLLItS'Ts\   <+H#K1K.),I;I;;K.J

K.,K)
K))K.1OA&O2A&OOc               (   X!-
  nUS:X  a  [         R                  S5        O[         R                  SU5        U R                  XSU(       a  UR                  OS 5      n[         R	                  SUR
                  U5        [        R                  " U5        g Nr   z1 retry leftz%i retries leftz$Retrying request to %s in %f seconds)rW   r[  r  r2  r   re   r  sleeprn   r0  r   r   r  r  r   s          ro   r/  SyncAPIClient._sleep_for_retry_  sq     (7!IIn%II'):;//0A`hHL\L\nrs7gN

7rs   r   r/  c               t   UR                   R                  R                  [        5      S:X  a  [	        [
        [        UU UUUUUS95      $ [        U5      =(       d    Un[        R                  " U5      (       a  [        U[        5      (       a  U(       a7  [        UR                   R                  R                  [        5      5      (       aY  [        U[        5      (       d  [        S[         SU 35      e[	        SU5      n[	        [
        U" UU [        U5      UUUUS95      $ U[         R"                  :X  a  [	        [
        U5      $ [        UU [	        SU5      UUUUS9n	[        UR                   R                  R                  [        5      5      (       a  [	        [
        U	5      $ U	R%                  5       $ )Nr  rawr   r|  r  r"  r   r0  !API Response types must subclass ; Received type[BaseAPIResponse[Any]]r  )r   r2  rU  rI   r   r'   rV   r   r  r  r  rB   r   rA   r   rD   r   Responseparse
rn   r|  r   r  r  r"  r0  originresponse_clsapi_responses
             ro   r3  SyncAPIClient._process_responsem  s    ##''(;<F! #!)#"/  G$/ OOF##6?33 tH$4$4$<$<$@$@AT$UVVfk22"CK=P[\b[c dee <gFL 1,?!)#"/  enn$	8,,"*G4!'
   ((,,-@ABB	<00!!##rs   c                L   ^ ^^ SUUU 4S jjnUTl         T R                  UTSS9$ )Nc                *   > U R                  TTTS9  U $ )N)r   r   r   )r   )r   r   r   rn   s    ro   r   0SyncAPIClient._request_api_list.<locals>._parser  s&    (( ) 
 Krs   Fr$  )r   rX   r   rX   )r   r   )rn   r   r   r   r   s   `` ` ro   r   SyncAPIClient._request_api_list  s,    	 	 &||D'%|88rs   r   r  c                   g rk   rl   rn   pathr|  r   r  s        ro   rU  SyncAPIClient.get  s     rs   r   c                   g rk   rl   rn   rN  r|  r   r  r"  s         ro   rU  rO    s     rs   r   r"  c                   g rk   rl   rR  s         ro   rU  rO    s      #rs   r   r  r"  c          
     p    [         R                  " SSUS.UD6n[        [        U R	                  X&XES95      $ NrU  )rW  re   r'  rl   )r>   	constructr   r'   r   rn   rN  r|  r   r  r"  optss          ro   rU  rO    s:     #,,OEtOwO It||G&|`aars   )r  rJ  r   rV  r  c                   g rk   rl   )rn   rN  r|  r  rJ  r   rV  r  s           ro   postSyncAPIClient.post  s     rs   )r  rJ  r   rV  c                   g rk   rl   	rn   rN  r|  r  rJ  r   rV  r  r"  s	            ro   r\  r]    s     rs   )r  rJ  r   rV  r"  c                   g rk   rl   r_  s	            ro   r\  r]    s      #rs   )r  rJ  r   rV  r  r"  c          
     (   Ub  Ub  [        S5      eUb  Ub  [        S5      e[        U[        5      (       a  [        R                  " S[
        SS9  [        R                  " S	SXU[        U5      S.UD6n	[        [        U R                  X)XxS95      $ 
N2Passing both `body` and `content` is not supported3Passing both `files` and `content` is not supportedPassing raw bytes as `body` is deprecated and will be removed in a future version. Please pass raw bytes via the `content` parameter instead.   
stacklevelr\  rW  re   r   rJ  rV  r'  rl   )r   r   rg  warningswarnDeprecationWarningr>   rX  r   r   r'   r   )
rn   rN  r|  r  rJ  r   rV  r  r"  rZ  s
             ro   r\  r]    s      3PQQ!4QRRdE""MMM"	 #,, 
tWN[`La
el
 It||G&|`aars   r  rJ  rV  r   c          
        Ub  Ub  [        S5      eUb  Ub  [        S5      e[        U[        5      (       a  [        R                  " S[
        SS9  [        R                  " SSXU[        U5      S.UD6nU R                  X'5      $ 	Nrc  rd  re  rf  rg  patchri  rl   
r   r   rg  rj  rk  rl  r>   rX  r   r   rn   rN  r|  r  rJ  rV  r   rZ  s           ro   rp  SyncAPIClient.patch6  s      3PQQ!4QRRdE""MMM"	 #,, 
g^\aMb
fm
 ||G**rs   c          
        Ub  Ub  [        S5      eUb  Ub  [        S5      e[        U[        5      (       a  [        R                  " S[
        SS9  [        R                  " SSXU[        U5      S.UD6nU R                  X'5      $ 	Nrc  rd  re  rf  rg  putri  rl   rq  rr  s           ro   rv  SyncAPIClient.putP  s      3PQQ!4QRRdE""MMM"	 #,, 
dG>Z_K`
dk
 ||G**rs   r  rJ  r   c                   Ub  Ub  [        S5      e[        U[        5      (       a  [        R                  " S[
        SS9  [        R                  " SSXUS.UD6nU R                  X&5      $ Nrc  re  rf  rg  delete)rW  re   r   rJ  rl   	r   r   rg  rj  rk  rl  r>   rX  r   rn   rN  r|  r  rJ  r   rZ  s          ro   r{  SyncAPIClient.deletej  so      3PQQdE""MMM"	 #,,sH$`gskrs||G**rs   rU  r  r   rW  c               X    [         R                  " SXaUS.UD6nU R                  X#U5      $ N)rW  re   r   rl   r>   rX  r   rn   rN  r   r   r  r   rW  rZ  s           ro   get_api_listSyncAPIClient.get_api_list  3     #,,`FPT`X_`%%e488rs   )r   )r  r   r	  r  r   r   r   !float | Timeout | None | NotGivenr  zhttpx.Client | Noner  r  r  r  r   r   r   r   r   r  rn   r[   r   r[   r  ztype[BaseException] | Noner  zBaseException | Noner  zTracebackType | Noner   r   r   r>   r   r>   r   r  r   r   r   r  r  r   rk  zUnpack[HttpxSendArgs]r   r  )
r|  Type[ResponseT]r   r>   r  Literal[True]r"  zType[_StreamT]r   r^   r|  r  r   r>   r  Literal[False]r   r'   )
r|  r  r   r>   r  r   r"  zType[_StreamT] | Noner   ResponseT | _StreamT)
r|  r  r   r>   r  r   r"  type[_StreamT] | Noner   r  
r0  r   r   r   r   r>   r  zhttpx.Response | Noner   r   r|  r  r   r>   r  r  r  r   r"  z1type[Stream[Any]] | type[AsyncStream[Any]] | Noner0  r   r   r'   )r   Type[object]r   Type[SyncPageT]r   r>   r   rX   
rN  r   r|  r  r   r-   r  r  r   r'   )rN  r   r|  r  r   r-   r  r  r"  type[_StreamT]r   r^   )rN  r   r|  r  r   r-   r  r   r"  r  r   r  )rN  r   r|  r  r  Body | NonerJ  BinaryTypes | Noner   r-   rV  RequestFiles | Noner  r  r   r'   )rN  r   r|  r  r  r  rJ  r  r   r-   rV  r  r  r  r"  r  r   r^   )rN  r   r|  r  r  r  rJ  r  r   r-   rV  r  r  r   r"  r  r   r  )rN  r   r|  r  r  r  rJ  r  rV  r  r   r-   r   r'   )rN  r   r|  r  r  r  rJ  r  r   r-   r   r'   )rN  r   r   r  r   r  r  r  r   r-   rW  r   r   rX   )r{   r   r   r   r   r   rG   r1   rp   r  r  r  r  r  r  r  r   r   r/  r3  r   rU  r\  rp  rv  r{  r  r   r  r  s   @ro   r   r   a  se   4818 /5>+/3748,
 ,
 	,

 ,
 3,
 ),
 1,
 2,
 &*,
 
,
 ,
\&!, " %	
 
$ 
		 
	CC 	C
 (C 
C   %
  # 
   "'  %
  
   ,0# # %#
 # *# 
# # ,0z
 z
 %z

 z
 *z
 
z
x #25@S_t	, B$ !B$ %	B$
 !B$ B$ FB$ B$ 
B$H99 9 %	9
 
9$  #%!& !	
    
   #% !	
    # 
   #%,0## !	#
  # # *# 
# # #%,0bb !	b
  b b *b 
b  !&*"$%)!&

 !	

 
 $
  
 #
 
 

 
  !&*"$%) !	
  $   #  # 
   !&*"$%),0## !	#
 # $#  # ## # *# 
# #$ !&*"$%),0bb !	b
 b $b  b #b b *b 
bB !&*%)"$++ !	+
 + $+ #+  + 
+> !&*%)"$++ !	+
 + $+ #+  + 
+> !&*"$++ !	+
 + $+  + 
+6 !"$99 	9
 9 9  9 9 
9 9rs   r   c                  ,   ^  \ rS rSrSU 4S jjrSrU =r$ )_DefaultAsyncHttpxClienti  c                   > UR                  S[        5        UR                  S[        5        UR                  SS5        [        TU ]  " S0 UD6  g r  r  r  s     ro   rp   !_DefaultAsyncHttpxClient.__init__  r  rs   rl   r  r  r  s   @ro   r  r    r  rs   r  c                  ,   ^  \ rS rSrSU 4S jjrSrU =r$ )_DefaultAioHttpClienti  c                   > UR                  S[        5        UR                  S[        5        UR                  SS5        [        TU ]  " S0 UD6  g r  r  r  s     ro   rp   _DefaultAioHttpClient.__init__  sE    i9h(AB0$7G&v&rs   rl   r  r  r  s   @ro   r  r    s    	' 	'rs   r  c                      \ rS rSrSS jrSrg)r  i  c                    [        S5      e)NzVTo use the aiohttp client you must have installed the package with the `aiohttp` extra)r   )rn   _kwargss     ro   rp   r    s    wxxrs   rl   N)r  r   r   r   )r{   r   r   r   rp   r   rl   rs   ro   r  r    s    	yrs   c                      \ rS rSrSS jrSrg)AsyncHttpxClientWrapperi  c                    U R                   (       a  g  [        R                  " 5       R                  U R	                  5       5        g ! [
         a     g f = frk   )r  asyncioget_running_loopcreate_taskacloser  r|   s    ro   r  AsyncHttpxClientWrapper.__del__  s@    >>	$$&224;;=A 		s   2A 
AArl   Nr  r  rl   rs   ro   r  r    s    rs   r  c                    ^  \ rS rSr% S\S'   SrS\S'   \\SSSS.                 S5U 4S jjjrS6S	 jr	S7S
 jr
S8S jr        S9S jr    S:S jr    S;S jr        S<S jr\SS.       S=S jj5       r\          S>S j5       r\SS.         S?S jj5       rSSS.         S?S jjr          S@S jrSS.             SAS jjr        SBS jr\0 SS.         SCS jj5       r\0 S.           SDS  jj5       r\0 SS!.           SES" jj5       r0 SSS#.           SES$ jjr\SSS0 SS%.               SFS& jj5       r\SSS0 S'.                 SGS( jj5       r\SSS0 SS).                 SHS* jj5       rSSS0 SSS+.                 SHS, jjrSSS0 S'.             SIS- jjrSSS0 S'.             SIS. jjrSS0 S/.           SJS0 jjrS0 S1S2.             SKS3 jjrS4rU =r$ )Lr   i  zhttpx.AsyncClientr   Nztype[AsyncStream[Any]] | Noner   r  c          
       > [        U5      (       d.  U(       a!  UR                  [        :w  a  UR                  nO[        nUb6  [	        U[
        R                  5      (       d  [        S[        U5       35      e[        T	U ])  UU[        [        U5      UUUUS9  U=(       d    [        U[        [        U5      S9U l        g )NzTInvalid `http_client` argument; Expected an instance of `httpx.AsyncClient` but got )r  r	  r   r   r  r  r   r  )r6   r   r  rE   r   r   AsyncClientr   r]  r  rp   r   r%   r  r   )
rn   r  r	  r   r   r   r  r  r  rz   s
            ro   rp   AsyncAPIClient.__init__  s        {226KK%--)":k5CTCT+U+Ufgklwgxfyz  	'*#%)(C 	 		
 # 
&='*'
rs   c                .    U R                   R                  $ rk   r  r|   s    ro   r  AsyncAPIClient.is_closed  r  rs   c                T   #    U R                   R                  5       I Sh  vN   g N7f)r  N)r   r  r|   s    ro   r  AsyncAPIClient.close  s     
 ll!!###s   (&(c                   #    U $ 7frk   rl   r|   s    ro   
__aenter__AsyncAPIClient.__aenter__  s
        c                @   #    U R                  5       I S h  vN   g  N7frk   r
  r  s       ro   	__aexit__AsyncAPIClient.__aexit__  s      jjls   c                   #    U$ 7fr  rl   r  s     ro   r  AsyncAPIClient._prepare_options
  s     
 r  c                   #    g7fr  rl   r  s     ro   r  AsyncAPIClient._prepare_request  s
         c               \   #    U R                   R                  " U4SU0UD6I S h  vN $  N7fr  r  r  s       ro   r  AsyncAPIClient._send_request  s,      \\&&wHvHHHHHs   #,*,Fr$  c                  #    g 7frk   rl   r&  s       ro   r   AsyncAPIClient.request%  s
      r  c                  #    g 7frk   rl   r!  s        ro   r   r  .  s
      r  )r"  c                  #    g 7frk   rl   r!  s        ro   r   r  8  s
      %(r  r'  c          	       #    U R                   c!  [        [        5      " 5       I S h  vN U l         U R                  X5      n[	        U5      nUR
                  c3  UR                  R                  5       S:w  a  U R                  5       Ul        S nUR                  U R                  5      nSn[        US-   5       GHz  n[	        U5      nU R                  U5      I S h  vN nXx-
  n	U R                  X(S9n
U R                  U
5      I S h  vN   0 nU R                  b  U R                  US'   UR                   b  UR                   US'   ["        R%                  SU
R                  U
R&                  5        S n U R(                  " U
4SU=(       d    U R+                  U
S	90UD6I S h  vN n["        R%                  SU
R                  U
R&                  UR:                  UR<                  UR>                  5        ["        R%                  SUR>                  RA                  S5      5         URC                  5           O   Uc   S5       eU RS                  UUUUUUS9I S h  vN $  GN8 GN GN\ N! [,        R.                   a`  n["        R%                  S
SS9  U	S:  a"  U R1                  UUUS S9I S h  vN     S nAGM   ["        R%                  S5        [3        U
S	9UeS nAf[4         a  nUeS nAf[6         a`  n["        R%                  SSS9  U	S:  a"  U R1                  UUUS S9I S h  vN     S nAGMw  ["        R%                  S5        [9        U
S	9UeS nAff = f! [,        RD                   a  n["        R%                  SSS9  U	S:  ae  U RG                  URH                  5      (       aE  URH                  RK                  5       I S h  vN    U R1                  UUUUS9I S h  vN     S nAGM1  URH                  RL                  (       d#  URH                  RO                  5       I S h  vN    ["        R%                  S5        U RQ                  URH                  5      S eS nAff = f GN7fr*  )*r  r5   get_platformr~  r:   r6  rW  r7  r  r  r   r-  r  ro  r  r  r  rW   r[  re   r  r  r   r.  r/  rR   rP   r  rS   r  r0  r2  rU  r1  r2  r  r  r  r  areadr  r3  )rn   r|  r   r  r"  r4  r  r   r0  r  r   rk  r  s                ro   r   r  B  s-     >>! $,L#9#;;DN..w@
 #7+((0]5I5I5O5O5QUZ5Z,0,A,A,CM)*.#33D4D4DE";?3M /G 11'::G + ;))')OG''000$&F+!%!1!1v''3-4-E-E)*II3W^^W[[QH$C!%!3!3"!WT%F%Fw%F%W" " J II1$$&&   II&(8(8(<(<^(LMT))+, s 4v #W%WW#++!' , 
 
 	
Y <$ ; 1
 )) @		>	N$q(//&3$/ -!%	 0    		12%g6C? 	 C		1D	A$q(//&3$/ -!%	 0    		45(9sBC6 (( T		=	M$q(T-?-?-M-M,,--/////&3$/ -!)	 0     ||--,,,,...		34;;CLLItS'T0
s  %Q%IB5Q%I"+Q%	I%
A+Q%6.I*$I(%I*)A;Q%%M5%Q%Q"Q%"Q%%Q%(I**M>/K-J0.K3Q%:KM&K((M5/M$L'%M*Q%1MMQ%Q,AQOQO!Q$Q%+8Q#P&$6QQQ%c               D  #    X!-
  nUS:X  a  [         R                  S5        O[         R                  SU5        U R                  XSU(       a  UR                  OS 5      n[         R	                  SUR
                  U5        [        R                  " U5      I S h  vN   g  N7fr6  )rW   r[  r  r2  r   re   anyior7  r8  s          ro   r/  AsyncAPIClient._sleep_for_retry  sz      (7!IIn%II'):;//0A`hHL\L\nrs7gNkk'"""s   BB BB r   r/  c                 #    UR                   R                  R                  [        5      S:X  a  [	        [
        [        UU UUUUUS95      $ [        U5      =(       d    Un[        R                  " U5      (       a  [        U[        5      (       a  U(       a7  [        UR                   R                  R                  [        5      5      (       aU  [        U[        5      (       d  [        S[         SU 35      e[	        SU5      n[	        SU" UU [        U5      UUUUS95      $ U[         R"                  :X  a  [	        [
        U5      $ [        UU [	        SU5      UUUUS9n	[        UR                   R                  R                  [        5      5      (       a  [	        [
        U	5      $ U	R%                  5       I S h  vN $  N7f)Nr  r;  r=  r>  r?  r'   r  )r   r2  rU  rI   r   r'   rV   r   r  r  r  rB   r   rC   r   rD   r   r@  rA  rB  s
             ro   r3   AsyncAPIClient._process_response  s     ##''(;<F! #!)#"/  G$/ OOF##6?33 tH$4$4$<$<$@$@AT$UVVf&677"CDTCUU`ag`h ijj <gFL 1,?!)#"/  enn$	8,,'*G4!'
   ((,,-@ABB	<00!''))))s   F9G;G <Gc                    [        XX!S9$ )N)r   r   r   r   )r   )rn   r   r   r   s       ro   r    AsyncAPIClient._request_api_list  s     TTWWrs   rK  c                  #    g 7frk   rl   rM  s        ro   rU  AsyncAPIClient.get  s
      r  rP  c                  #    g 7frk   rl   rR  s         ro   rU  r  &  s
      r  rS  c                  #    g 7frk   rl   rR  s         ro   rU  r  1  s
      %(r  rU  c               p   #    [         R                  " SSUS.UD6nU R                  X&XES9I S h  vN $  N7frW  )r>   rX  r   rY  s          ro   rU  r  <  s:      #,,OEtOwO\\'\VVVVs   -646)r  rJ  rV  r   r  c                  #    g 7frk   rl   )rn   rN  r|  r  rJ  rV  r   r  s           ro   r\  AsyncAPIClient.postH  s
      r  rm  c                  #    g 7frk   rl   	rn   rN  r|  r  rJ  rV  r   r  r"  s	            ro   r\  r  U  s
      r  )r  rJ  rV  r   r"  c                  #    g 7frk   rl   r  s	            ro   r\  r  c  s
      %(r  )r  rJ  rV  r   r  r"  c          
     <  #    Ub  Ub  [        S5      eUb  Ub  [        S5      e[        U[        5      (       a  [        R                  " S[
        SS9  [        R                  " S	SXU[        U5      I S h  vN S.UD6n	U R                  X)XxS9I S h  vN $  N! N7frb  
r   r   rg  rj  rk  rl  r>   rX  r    r   )
rn   rN  r|  r  rJ  rV  r   r  r"  rZ  s
             ro   r\  r  q  s       3PQQ!4QRRdE""MMM"	 #,, 
tWRfglRmLm
qx
 \\'\VVV MnVs$   A4B6B7BBBBc          
     @  #    Ub  Ub  [        S5      eUb  Ub  [        S5      e[        U[        5      (       a  [        R                  " S[
        SS9  [        R                  " SSUUU[        U5      I S h  vN S.UD6nU R                  X'5      I S h  vN $  N" N7fro  r  rr  s           ro   rp  AsyncAPIClient.patch  s       3PQQ!4QRRdE""MMM"	 #,, 
,U33
 
 \\'000 4 1s$   A5B7B8BBBBc          
     >  #    Ub  Ub  [        S5      eUb  Ub  [        S5      e[        U[        5      (       a  [        R                  " S[
        SS9  [        R                  " SSXU[        U5      I S h  vN S.UD6nU R                  X'5      I S h  vN $  N" N7fru  r  rr  s           ro   rv  AsyncAPIClient.put  s       3PQQ!4QRRdE""MMM"	 #,, 
dGQefkQlKl
pw
 \\'000 Lm0s$   A4B6B7BBBBrx  c                  #    Ub  Ub  [        S5      e[        U[        5      (       a  [        R                  " S[
        SS9  [        R                  " SSXUS.UD6nU R                  X&5      I S h  vN $  N7frz  r|  r}  s          ro   r{  AsyncAPIClient.delete  sx       3PQQdE""MMM"	 #,,sH$`gskrs\\'0000s   A/A81A62A8rU  r  c               X    [         R                  " SXaUS.UD6nU R                  X#U5      $ r  r  r  s           ro   r  AsyncAPIClient.get_api_list  r  rs   )r   r  )r  r   r	  r  r   r   r   r   r   r  r  zhttpx.AsyncClient | Noner  r  r  r  r   r   r   r  r  r  r  r  r  r  )
r|  r  r   r>   r  r  r"  type[_AsyncStreamT]r   r_   )
r|  r  r   r>   r  r   r"  type[_AsyncStreamT] | Noner   ResponseT | _AsyncStreamTr  r  )r   r   r   r   r   r>   r   AsyncPaginator[_T, AsyncPageT]r  )rN  r   r|  r  r   r-   r  r  r"  r  r   r_   )rN  r   r|  r  r   r-   r  r   r"  r  r   r  )rN  r   r|  r  r  r  rJ  AsyncBinaryTypes | NonerV  r  r   r-   r  r  r   r'   )rN  r   r|  r  r  r  rJ  r  rV  r  r   r-   r  r  r"  r  r   r_   )rN  r   r|  r  r  r  rJ  r  rV  r  r   r-   r  r   r"  r  r   r  )rN  r   r|  r  r  r  rJ  r  rV  r  r   r-   r   r'   )rN  r   r|  r  r  r  rJ  r  r   r-   r   r'   )rN  r   r   r   r   r   r  r  r   r-   rW  r   r   r  )r{   r   r   r   r   r   rG   r1   rp   r  r  r  r  r  r  r  r   r   r/  r3  r   rU  r\  rp  rv  r{  r  r   r  r  s   @ro   r   r     sh   9=6= /5>043748,
 ,
 	,

 &*,
 ,
 3,
 .,
 1,
 2,
 
,
 ,
\&$, " %	
 
$ 
		 
	II 	I
 (I 
I  "'  %
  
    %
  ( 
   26( ( %(
 ( /( 
#( ( 15~
 ~
 %~

 ~
 /~
 
#~
@# ##25#@S#_t#	#, B* !B* %	B*
 !B* B* FB* B* 
B*HXX X %	X
 
(X  #%!& !	
    
   #% !	
    ( 
   #%15(( !	(
  ( ( /( 
#( ( #%15
W
W !	
W
  
W 
W /
W 
#
W  !+/%)"$!&

 !	

 
 )
 #
  
 
 

 
  !+/%)"$ !	
  ) #    ( 
   !+/%)"$15(( !	(
 ( )( #(  ( ( /( 
#( ($ !+/%)"$15WW !	W
 W )W #W  W W /W 
#WB !+/%)"$11 !	1
 1 )1 #1  1 
1H !+/%)"$11 !	1
 1 )1 #1  1 
1> !+/"$11 !	1
 1 )1  1 
16 !"$99 	9
 9 9  9 9 
(9 9rs   r   )	rc  extra_headersextra_query
extra_bodyr6  r   r   r%  synthesize_event_and_datac        	           0 n	Ub  XS'   Ub  [        [        U5      U	S'   U b  X	S'   Ub  0 U	R                  S0 5      EUEU	S'   [        U[        5      (       d  XYS'   Ub  XIS'   [        U5      (       a  XiS'   Ub  XyS'   Ub  XS'   U	$ )	zECreate a dict of type RequestOptions without keys of NotGiven values.r2  r\  rg   r   r6  r   r%  r  )r   r(   rU  r   r&   r6   )
rc  r  r  r  r6  r   r   r%  r  r   s
             ro   make_request_optionsr    s     !G *	 $Z <!Hw{{8R8HKHgx(($	"%4!"!,&
 ,/H+,Nrs   c                      \ rS rSrSS jrSrg)rb  i  c                    g)NTrl   r|   s    ro   __bool__ForceMultipartDict.__bool__  s    rs   rl   Nr   )r{   r   r   r   r  r   rl   rs   ro   rb  rb    s    rs   rb  c                  2    \ rS rSrSS jr\SS j5       rSrg)OtherPlatformi  c                    Xl         g rk   namern   r  s     ro   rp   OtherPlatform.__init__      	rs   c                     SU R                    3$ )NzOther:r  r|   s    ro   __str__OtherPlatform.__str__      		{##rs   r  Nr  r   r   r   r   r{   r   r   r   rp   r   r  r   rl   rs   ro   r  r         $ $rs   r  )MacOSLinuxWindowsFreeBSDOpenBSDiOSAndroidUnknownc                 n    [         R                  " 5       R                  5       n [         R                   " 5       R                  5       nSU;   d  SU;   a  gU S:X  a  gU S:X  a  gS	U;   a  g
U S:X  a$  [        R
                  " 5       nUS:X  a  gUS:X  a  ggU(       a  [        U5      $ g! [         a     gf = f)Nr  iphoneipadr
  darwinr  windowsr  androidr  linuxfreebsdr  openbsdr	  r  )r  systemr7  r  distroidr  )r  platform_name	distro_ids      ro   r  r  3  s    "((* ))+113 = Fm$;
 M! IIK		!	!]++G  s   AB' '
B43B4)maxsizec                   SU [        U=(       d
    [        5       5      [        [        5       5      [        5       [	        5       S.$ )Npython)zX-Stainless-LangzX-Stainless-Package-VersionzX-Stainless-OSzX-Stainless-ArchzX-Stainless-RuntimezX-Stainless-Runtime-Version)r   r  get_architectureget_python_runtimeget_python_version)r  r  s     ro   r  r  ]  s;     %'.h8,.9 0 2313'9'; rs   c                  2    \ rS rSrSS jr\SS j5       rSrg)	OtherArchii  c                    Xl         g rk   r  r  s     ro   rp   OtherArch.__init__j  r  rs   c                     SU R                    3$ )Nzother:r  r|   s    ro   r  OtherArch.__str__m  r  rs   r  Nr  r   r  rl   rs   ro   r"  r"  i  r  rs   r"  )x32x64armarm64unknownc                 N     [         R                  " 5       $ ! [         a     gf = fNr+  )r  python_implementationr  rl   rs   ro   r  r  u  s(    --//     
$$c                 N     [         R                  " 5       $ ! [         a     gf = fr-  )r  python_versionr  rl   rs   ro   r   r   |  s(    &&(( r/  c                      [         R                  " 5       R                  5       n U S;   a  gU S:X  a  gU S:X  a  g[        R
                  S::  a  gU (       a  [        U 5      $ g! [         a     gf = f)	Nr+  )r*  aarch64r*  r)  x86_64r(  l        r'  )r  machiner7  r  sysr  r"  )r5  s    ro   r  r    sz    ""$**, && %( {{e!!)  s   #A" "
A/.A/c                    0 U EUEnUR                  5        VVs0 s H  u  p4[        U[        5      (       a  M  X4_M      snn$ s  snnf )zMerge two mappings of the same type, removing any values that are instances of `Omit`.

In cases with duplicate keys the second mapping takes precedence.
)r   r   r"   )obj1obj2mergedrw  rx  s        ro   r3  r3    sA     F)/W:3z%QU?VJCJWWWs
   AA)rc  Query | Noner  zHeaders | Noner  r;  r  r  r6  r   r   z'float | httpx.Timeout | None | NotGivenr   zPostParser | NotGivenr%  zSecurityOptions | Noner  zbool | Noner   r-   )r   Platform)r  r   r  zPlatform | Noner   r  r   )r   Arch)r8  Mapping[_T_co, Union[_T, Omit]]r9  r>  r   zDict[_T_co, _T])
__future__r   r6  ri   r  r  r  r  r  rY  r  rj  email.utilstypesr   r   typingr   r   r   r	   r
   r   r   r   r   r   r   r   r   r   r   typing_extensionsr   r   r   r   r  r   r  r   r   r    r   _qsr   _filesr   r    _typesr!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   _utilsr2   r3   r4   r5   r6   r7   r8   _compatr9   r:   r;   _modelsr<   r=   r>   r?   r@   	_responserA   rB   rC   rD   
_constantsrE   rF   rG   rH   rI   rJ   rK   
_streamingrL   rM   rN   rO   rP   rQ   rR   rS   rT   _utils._jsonrU   _legacy_responserV   	getLoggerr{   rW   r   	addFilterrX   rZ   r[   r\   r^   r_   httpx._configr`   r  ImportErrorrb   r   r   r   r   r  r  r   r   r   r  DefaultHttpxClientr  r   r  httpx_aiohttpHttpxAiohttpClientr  DefaultAsyncHttpxClientDefaultAioHttpClientr  r   r  r   rb  r  r<  r  r  r"  r=  r  r   r  r3  rl   rs   ro   <module>rY     s   " 
                " D C          8    & h g g 8 8 f f    I H  ( /''1^ 1 $& ' K':;	\)=>
 T]4(:VC[1{3/?@ 3-Q0B 0Bf:6|WR[ :6z.a8B< .ab$WR^, $N&gHRL'"+ &gR uU\\5CTCT5T/UV+5kRUFV9V3WXQ878 Q8h#%,, #  -/ i9Ju||VC[89 i9X#u00 #'' @ @ ' #// !,,_60	5 	c9Z 1 1;s3C CD c9P $( $""&7@)2'+-1** "* 	*
 *  * 5* '* %*  +* *Zc4i 
$ $ 		
'T 4 $ $ Y GHHI4	X
)	X
)	X 	XSA  - '-F)  yy 1 1 yys$   !N %N. N+*N+.OO