
    g                      U d dl mZ d dlZd dlZd dlZd dlZd dlZd dlZd dlZd dl	Z	d dl
Z
d dlZd dlZd dlmZ d dlmZ d dlmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ d dl m!Z!m"Z"m#Z# d dl$Z$d dl%Z%d dl&Z&d dl'Z'd dl%m(Z(m)Z) d dl'm*Z* d	d
l+m,Z, d	dl-m.Z. d	dl/m0Z0m1Z1 d	dl2m3Z3m4Z4m5Z5m6Z6m7Z7m8Z8m9Z9m:Z:m;Z;m<Z<m=Z=m>Z>m?Z?m@Z@mAZAmBZBmCZCmDZD d	dlEmFZFmGZGmHZHmIZImJZJmKZKmLZL d	dlMmNZNmOZO d	dlPmQZQmRZRmSZSmTZT d	dlUmVZVmWZWmXZXmYZY d	dlZm[Z[m\Z\m]Z]m^Z^m_Z_m`Z`maZa d	dlbmcZcmdZdmeZemfZf d	dl,mgZgmhZhmiZimjZj d	dlkmlZl  e	jm        en          Zodepd<   eoq                     eF                        edd          Zr edd          Zs ed          Zt edd           Zu ed!ece                   Zv ed"eee                   Zwerd d#lxmyZz n	 d d#lxmyZz n# e{$ r  e8d$          ZzY nw xY w G d% d&          Z| G d' d(eQeet                   Z} G d) d*e}et         eet                   Z~ G d+ d,eetesf                   Z G d- d.e}et         eet                   Z ed/ee%j        e%j        f                   Z ed0eece         eee         f                   Z G d1 d2eeef                   Z G d3 d4e%j                  Zere%j        ZneZ G d5 d6e          Z G d7 d8ee%j        ece         f                   Z G d9 d:e%j                  Zere%j        ZneZ G d; d<e          Z G d= d>ee%j        eee         f                   Zddddde3e3d?djdOZ G dP dQeedf                   Z G dR dS          Zeee!dT         f         ZdkdVZ eKdW          dld]            Z G d^ d_          Zeee!d`         f         ZdmdaZdmdbZdnddZdodiZdS )p    )annotationsN)TracebackType)random)TYPE_CHECKINGAnyDictTypeUnionGenericMappingTypeVarIterableIteratorOptional	GeneratorAsyncIteratorcastoverload)Literaloverride
get_origin)URLLimits)PrivateAttr   )_exceptionsQuerystring)to_httpx_filesasync_to_httpx_files)	NOT_GIVENBodyOmitQueryHeadersTimeoutNotGiven	ResponseT	Transport
AnyMapping
PostParserProxiesTypesRequestFilesHttpxSendArgsAsyncTransportRequestOptionsHttpxRequestFilesModelBuilderProtocol)SensitiveHeadersFilteris_dictis_listasyncifyis_given	lru_cache
is_mapping)
model_copy
model_dump)GenericModel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)APIStatusErrorAPITimeoutErrorAPIConnectionErrorAPIResponseValidationError)LegacyAPIResponsezlogging.Loggerlog	SyncPageTzBaseSyncPage[Any])bound
AsyncPageTzBaseAsyncPage[Any]_T_T_coT)	covariant_StreamT_AsyncStreamT)DEFAULT_TIMEOUT_CONFIGg      @c                      e Zd ZU dZded<   ded<   edd	            Zedd            ZeedddZedd            Z	dS )PageInfozStores the necessary information to build the request to retrieve the next page.

    Either `url` or `params` must be set.
    URL | NotGivenurlQuery | NotGivenparamsr   returnNonec                   d S N selfra   s     Q/var/www/html/mpstechhub/venv/lib/python3.11/site-packages/openai/_base_client.py__init__zPageInfo.__init__}   	    
 s    r$   c                   d S rg   rh   )rj   rc   s     rk   rl   zPageInfo.__init__   rm   rn   ra   rc   c               "    || _         || _        d S rg   rp   )rj   ra   rc   s      rk   rl   zPageInfo.__init__   s     rn   strc                l    | j         r| j        j         d| j          dS | j        j         d| j         dS )Nz(url=)z(params=)ra   	__class____name__rc   rj   s    rk   __repr__zPageInfo.__repr__   sI    8 	@n-??DH????.)AA4;AAAArn   N)ra   r   rd   re   )rc   r$   rd   re   )ra   r`   rc   rb   rd   re   rd   rr   )
rv   
__module____qualname____doc____annotations__r   rl   r!   r   rx   rh   rn   rk   r_   r_   t   s          
    X    X (#,	      B B B XB B Brn   r_   c                  x    e Zd ZU dZ e            Zded<    e            Zded<   ddZdd
Z	ddZ
ddZddZdS )BasePagea<  
    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]_modelrd   boolc                ^    |                                  }|sdS |                                 d uS )NF)_get_page_itemsnext_page_info)rj   itemss     rk   has_next_pagezBasePage.has_next_page   s7    $$&& 	5""$$D00rn   Optional[PageInfo]c                    d S rg   rh   rw   s    rk   r   zBasePage.next_page_info   s      rn   Iterable[_T]c                    d S rg   rh   rw   s    rk   r   zBasePage._get_page_items   s    rn   ra   r   httpx.QueryParamsc                    t          j        t          t          | j        j                                                |j                  S rg   )httpxQueryParamsr   r   r   rc   mergeri   s     rk   _params_from_urlzBasePage._params_from_url   s2     c4=+?!@!@AAGG
SSSrn   infor_   c                   t          | j                  }|                                 t          |j        t
                    si |j        |j        |_        |S t          |j        t
                    sd|                     |j                  }|j                            |          }t          |j                  |_        t          |          |_        |S t          d          )N)rc   zUnexpected PageInfo state)r:   r   _strip_raw_response_header
isinstancerc   r'   ra   r   	copy_withdictrr   
ValueError)rj   r   optionsrc   ra   s        rk   _info_to_optionszBasePage._info_to_options   s    T]++**,,,$+x00 	>>$+>GNN$(H-- 	**4844F($$F$33C!#*--GNc((GKN4555rn   Nrd   r   )rd   r   )rd   r   )ra   r   rd   r   )r   r_   rd   r=   )rv   rz   r{   r|   r   r   r}   r   r   r   r   r   r   rh   rn   rk   r   r      s         	 	 %0KMMH1111"{}}F$$$$1 1 1 1 8777   T T T T6 6 6 6 6 6rn   r   c                  X    e Zd ZU  ej                    Zded<   dd
ZddZddZ	ddZ
dS )BaseSyncPageSyncAPIClient_clientclientmodelr   r   r=   rd   re   c                0    || _         || _        || _        d S rg   r   r   r   )rj   r   r   r   s       rk   _set_private_attributesz$BaseSyncPage._set_private_attributes        rn   Iterator[_T]c              #  n   K   |                                  D ]}|                                D ]}|V  d S rg   
iter_pagesr   rj   pageitems      rk   __iter__zBaseSyncPage.__iter__   sT      OO%% 	 	D,,..  



	 	rn   rj   rU   Iterator[SyncPageT]c              #  l   K   | }	 |V  |                                 r|                                }nd S 0rg   r   get_next_pagerj   r   s     rk   r   zBaseSyncPage.iter_pages   sJ      	JJJ!!## ))++	rn   c                    |                                  }|st          d          |                     |          }| j                            | j        | j        |          S NzYNo next page expected; please check `.has_next_page()` before calling `.get_next_page()`.)r   r   r   RuntimeErrorr   r   _request_api_listr   ru   rj   r   r   s      rk   r   zBaseSyncPage.get_next_page   sg    ""$$ 	k   ''--|--dkX_-```rn   N)r   r   r   r   r   r=   rd   re   )rd   r   )rj   rU   rd   r   )rj   rU   rd   rU   )rv   rz   r{   pydanticr   r   r}   r   r   r   r   rh   rn   rk   r   r      s         1X133G3333       $   
   a a a a a arn   r   c                  .    e Zd ZddZddZddZddZdS )AsyncPaginatorr   AsyncAPIClientr   r=   page_clsType[AsyncPageT]r   r   rd   re   c                >    || _         || _        || _        || _        d S rg   )r   r   r   	_page_cls)rj   r   r   r   r   s        rk   rl   zAsyncPaginator.__init__   s$     !rn    Generator[Any, None, AsyncPageT]c                N    |                                                                  S rg   )	_get_page	__await__rw   s    rk   r   zAsyncPaginator.__await__  s    ~~))+++rn   rW   c                    K   d fd}| j         _         j                             j         j                    d {V S )NresprW   rd   c                V    |                      j        j        j                   | S )N)r   r   r   )r   r   r   r   )r   rj   s    rk   _parserz)AsyncPaginator._get_page.<locals>._parser
  s6    ((k| )   
 Krn   )r   rW   rd   rW   )r   post_parserr   requestr   )rj   r   s   ` rk   r   zAsyncPaginator._get_page	  s_      	 	 	 	 	 	 %,!\))$.$-HHHHHHHHHrn   AsyncIterator[_T]c               `   K   t          t          |  d {V           }|2 3 d {V }|W V  6 d S rg   )r   rW   r   s      rk   	__aiter__zAsyncPaginator.__aiter__  sg      JJJJJJ
 
  	 	 	 	 	 	 	$JJJJJ $$s   -N)
r   r   r   r=   r   r   r   r   rd   re   )rd   r   )rd   rW   rd   r   )rv   rz   r{   rl   r   r   r   rh   rn   rk   r   r      sh        
" 
" 
" 
", , , ,I I I I     rn   r   c                  X    e Zd ZU  ej                    Zded<   dd
ZddZddZ	ddZ
dS )BaseAsyncPager   r   r   r   r   r   r=   rd   re   c                0    || _         || _        || _        d S rg   r   )rj   r   r   r   s       rk   r   z%BaseAsyncPage._set_private_attributes#  r   rn   r   c               |   K   |                                  2 3 d {V }|                                D ]}|W V  $6 d S rg   r   r   s      rk   r   zBaseAsyncPage.__aiter__-  sp      //++ 	 	 	 	 	 	 	$,,..  




 ,++s   ;rj   rW   AsyncIterator[AsyncPageT]c               z   K   | }	 |W V  |                                 r|                                 d {V }nd S 7rg   r   r   s     rk   r   zBaseAsyncPage.iter_pages2  s^      	JJJJ!!## !//11111111	rn   c                   K   |                                  }|st          d          |                     |          }| j                            | j        | j        |           d {V S r   r   r   s      rk   r   zBaseAsyncPage.get_next_page;  s}      ""$$ 	k   ''--\33DKdn^e3fffffffffrn   N)r   r   r   r   r   r=   rd   re   r   )rj   rW   rd   r   )rj   rW   rd   rW   )rv   rz   r{   r   r   r   r}   r   r   r   r   rh   rn   rk   r   r      s         2h244G4444          
   g g g g g grn   r   _HttpxClientT_DefaultStreamTc                     e Zd ZU ded<   ded<   ded<   ded<   d	ed
<   ded<   ded<   ded<   ded<   ded<   dZded<   eedddddd&Zded(Zdfd,Z	dgd1Z
d2d3dhd8Zdid9Zdjd;Zd2d3dkd=ZdldAZdmdDZdndFZdodHZedpdJ            ZedqdL            ZedrdN            ZedsdP            ZedtdQ            ZdudTZedvdU            ZedwdV            Zej        dxdX            ZdydZZdzd{d^Z	 dzd|daZd}dbZ dvdcZ!dS )~
BaseClientr   r   rr   _versionr   	_base_urlintmax_retrieszUnion[float, Timeout, None]timeouthttpx.Limits_limitsProxiesTypes | None_proxies!Transport | AsyncTransport | None
_transportr   _strict_response_validation
str | None_idempotency_headerNztype[_DefaultStreamT] | None_default_stream_cls)r   r   custom_headerscustom_queryversionbase_url	str | URLfloat | Timeout | Nonelimits	transportproxiesr   Mapping[str, str] | Noner   Mapping[str, object] | Nonerd   re   c       
           || _         |                     t          |                    | _        || _        || _        || _        || _        || _        |	pi | _	        |
pi | _
        || _        d | _        d | _        |t          d          d S )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   r   r   r   _custom_headers_custom_queryr   r   	_platform	TypeError)rj   r   r   r   r   r   r   r   r   r   r   s              rk   rl   zBaseClient.__init__W  s      55c(mmDD&#-3)/R+F(#' *. b   rn   ra   c                v    |j                             d          r|S |                    |j         dz             S )N   /raw_path)r   endswithr   ri   s     rk   r   z"BaseClient._enforce_trailing_slashw  s:    <  && 	J}}clT&9}:::rn   responsehttpx.ResponserO   c                   |j         r|j        sd }d|j         }nZ|j                                        }|}	 t          j        |          }d|j         d| }n# t          $ r |p	d|j         }Y nw xY w|                     |||          S )NzError code: z - )bodyr   )		is_closedis_stream_consumedstatus_codetextstripjsonloads	Exception_make_status_error)rj   r   r  err_msgerr_texts        rk    _make_status_error_from_responsez+BaseClient._make_status_error_from_response|  s      	Lh&A 	L D;X%9;;GG}**,,HDLz(++H)=HH$HH L L L"K&KX5I&K&KL &&wTH&MMMs   !A A32A3r  r  object_exceptions.APIStatusErrorc                   t                      rg   )NotImplementedError)rj   r  r  r   s       rk   r  zBaseClient._make_status_error  s     "###rn   r   retries_takenr   r=   r  httpx.Headersc               "   |j         pi }t          | j        |          }|                     ||           t	          j        |          }| j        }|r?|j                                        dk    r"||vr|j	        p| 
                                ||<   d |D             }d|vrt          |          |d<   d|vrXt          |j        t                    r| j        n|j        }t          |t                    r|j        }|t          |          |d<   |S )Ngetc                6    g | ]}|                                 S rh   )lower).0headers     rk   
<listcomp>z-BaseClient._build_headers.<locals>.<listcomp>  s     LLL6LLLrn   zx-stainless-retry-countzx-stainless-read-timeout)headers_merge_mappingsdefault_headers_validate_headersr   r%   r   methodr  idempotency_key_idempotency_keyrr   r   r   r'   r&   read)	rj   r   r  r   headers_dictr  idempotency_headerlower_custom_headersr   s	            rk   _build_headerszBaseClient._build_headers  s3    .B&t';^LL|^<<< ---!5 	]'."6"6"8"8E"A"AFX`gFgFg*1*A*\TEZEZE\E\G&'  ML^LLL$,@@@14]1C1CG-.%-AAA&0(&K&K`dllQXQ`G'7++ '!,"69'll23rn   c                    t          |          }|j        rB| j        j        |j                            d          z   }| j                            |          S |S )z
        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   )rj   ra   	merge_urlmerge_raw_paths       rk   _prepare_urlzBaseClient._prepare_url  s[     HH	$ 	D!]3i6H6O6OPT6U6UUN=**N*CCCrn   SSEDecoder | SSEBytesDecoderc                    t                      S rg   )rL   rw   s    rk   _make_sse_decoderzBaseClient._make_sse_decoder  s    ||rn   httpx.Requestc                  t                               t          j                  r*t                               dt          |d                     i }|j        }|j        b|t          t          |j                  }nEt          |          rt          ||j                  }n t          dt          |           d          |                     ||          }t          | j        |j                  }|                    d          }|j        }||                    d          rd	|vr|                    d           |rGt+          |          s t-          d
t          |           d          |                     |          |d<   |s!t          t0          t3                                }|                     |j                  }	d|	j        v r d|	j                            dd          i|d<    | j        j        d|tA          |j!        tD                    r| j!        n|j!        |j#        |	|r?| j$        %                    t          tL          tN          tP          f         |                    nd ||d|S )NzRequest options: %sT)exclude_unsetz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_sni_hostname-
extensions)r  r   r"  ra   rc   r	  filesrh   ))rT   isEnabledForloggingDEBUGdebugr;   	json_data
extra_jsonr   r"   r9   r  r   typer)  default_queryrc   r  r=  
startswithpopr4   r   _serialize_multipartformr1   ForceMultipartDictr/  ra   hostreplacer   build_requestr   r   r'   r"  qs	stringifyr   rr   r   )
rj   r   r  kwargsrB  r  rc   content_typer=  prepared_urls
             rk   _build_requestzBaseClient._build_request  s    GM** 	VII+Zt-T-T-TUUU!#%	)  w'9::		I&& t+Iw7IJJ		"#ri#r#r#rsss%%g]%KK !3W^DD{{>22 #(?(?@U(V(V#-- N+++  Jy)) #|bfgpbqbq|||   "&!>!>y!I!Iv  F.0B0D0DEE((55,###$2L4E4M4McSV4W4W#XF<  *t|) 
$.w$I$I^DLLw>
 JPY47$$T'#s(*;V%D%DEEEUY
 
 
 
 	
rn   r8  Mapping[object, object]dict[str, object]c                    | j                             |d          }i }|D ]N\  }}|                    |          }|s|||<   "t          |          r|                    |           G||g||<   O|S )Nbrackets)array_format)rM  stringify_itemsr  r5   append)rj   r8  r   
serializedkeyvalueexistings          rk   rH  z#BaseClient._serialize_multipartform  s    '' #	 ( 
 
 )+
 	4 	4JC!~~c**H "'
3 x   4&&&&#+U"3
3rn   cast_totype[ResponseT]c                   t          |j                  s|S t          |j                  }|                    t          t
                    }t          |          r'||_        t          t          t                   |          S |S rg   )	r7   r  r   rG  rI   r!   r   r	   r(   )rj   r^  r   r  override_cast_tos        rk   _maybe_override_cast_toz"BaseClient._maybe_override_cast_to.  ss    (( 	N w''
 #;;'>	JJ$%% 	;%GOY)9:::rn   r   c                H    |j                             t                    dk    S )Nstream)r  r  rH   rj   r   s     rk   _should_stream_response_bodyz'BaseClient._should_stream_response_body?  s    ""#6778CCrn   r(   c                  |t          t          d           S |t          u rt          t          |          S 	 t          j        |          r?t          |t                    r*t          t          |                    ||                    S | j        r$t          t          t          ||                    S t          t          t          ||                    S # t          j        $ r}t          ||          |d }~ww xY w)N)r   r8  )type_r\  )r   r  )r   r(   r  inspectisclass
issubclassr2   buildr   r>   r?   r   ValidationErrorrR   )rj   r8  r^  r   errs        rk   _process_response_dataz!BaseClient._process_response_dataB  s    <	4(((f	4(((		Tw'' TJw@T,U,U TIw}}hT}'R'RSSS/ QI}7$'O'O'OPPP	>t#L#L#LMMM' 	T 	T 	T,hTJJJPSS	Ts$   AC 
*C 5#C C?(C::C?r   c                    t                      S rg   r   rw   s    rk   rM  zBaseClient.qsZ  s    }}rn   httpx.Auth | Nonec                    d S rg   rh   rw   s    rk   custom_authzBaseClient.custom_auth^  s    trn   dict[str, str]c                    i S rg   rh   rw   s    rk   auth_headerszBaseClient.auth_headersb  s    	rn   dict[str, str | Omit]c                \    dd| j         d|                                 | j        | j        S )Nzapplication/json)Acceptr6  z
User-Agent)
user_agentplatform_headersrv  r   rw   s    rk   r   zBaseClient.default_headersf  sN     )./
 
 ##%%	

 
 "
 	
rn   c                    i | j         S rg   )r   rw   s    rk   rE  zBaseClient.default_queryq  s    
 
 	
rn   r  r%   c                    dS )zaValidate the given default headers and custom headers.

        Does nothing by default.
        Nrh   )rj   r  r   s      rk   r!  zBaseClient._validate_headersw  s	     	rn   c                .    | j         j         d| j         S )Nz/Python )ru   rv   r   rw   s    rk   rz  zBaseClient.user_agent  s    .)BB4=BBBrn   c                    | j         S rg   )r   rw   s    rk   r   zBaseClient.base_url  s
    ~rn   	URL | strc                    |                      t          |t                    r|nt          |                    | _        d S rg   )r   r   r   r   ri   s     rk   r   zBaseClient.base_url  s8    55ZS=Q=Q6_ccWZ[^W_W_``rn   Dict[str, str]c                8    t          | j        | j                  S )N)platform)r{  r   r   rw   s    rk   r{  zBaseClient.platform_headers  s      GGGGrn   response_headersOptional[httpx.Headers]float | Nonec                   |dS 	 |                     dd          }t          |          dz  S # t          t          f$ r Y nw xY w|                     d          }	 t          |          S # t          t          f$ r Y nw xY wt          j                            |          }|dS t          j                            |          }t          |t          j                    z
            S )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)	r  floatr   r   emailutilsparsedate_tz	mktime_tztime)rj   r  retry_ms_headerretry_headerretry_date_tuple
retry_dates         rk   _parse_retry_after_headerz$BaseClient._parse_retry_after_header  s    #4	.223CTJJO))D00:& 	 	 	D	 (++M::	 &&&:& 	 	 	D	 !;33LAA#4[**+;<<
Z$)++-...s!   '. AAA* *A>=A>remaining_retriesr  c                J   |                     | j                  }|                     |          }|d|cxk     rdk    rn n|S t          ||z
  d          }t          t          t          d|          z  t                    }ddt                      z  z
  }||z  }	|	dk    r|	ndS )Nr   <   r  g       @r   g      ?)get_max_retriesr   r  minrG   powrE   r   )
rj   r  r   r  r   retry_after
nb_retriessleep_secondsjitterr   s
             rk   _calculate_retry_timeoutz#BaseClient._calculate_retry_timeout  s     --d.>?? 445EFF"q;'<'<'<'<"'<'<'<'<'< '88$??
 /#c:2F2FFXX TFHH_$&(!Q,,wwA-rn   c                ^   |j                             d          }|dk    rt                              d           dS |dk    rt                              d           dS |j        dk    r"t                              d	|j                   dS |j        d
k    r"t                              d	|j                   dS |j        dk    r"t                              d	|j                   dS |j        dk    r"t                              d	|j                   dS t                              d           dS )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)r  r  rT   rA  r  )rj   r   should_retry_headers      rk   _should_retryzBaseClient._should_retry  s-   &.223CDD &((IILMMM4'))IIQRRR5 3&&II68LMMM4 3&&II68LMMM4 3&&II68LMMM4 3&&II68LMMM4		.!!!urn   c                .    dt          j                     S )Nzstainless-python-retry-)uuiduuid4rw   s    rk   r$  zBaseClient._idempotency_key  s    7777rn   )r   rr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   rd   re   )ra   r   rd   r   )r   r  rd   rO   )r  rr   r  r  r   r  rd   r  )r   r=   r  r   rd   r  )ra   rr   rd   r   )rd   r0  )r   r=   r  r   rd   r3  )r8  rS  rd   rT  )r^  r_  r   r=   rd   r_  )r   r3  rd   r   )r8  r  r^  r_  r   r  rd   r(   )rd   r   )rd   rq  )rd   rt  )rd   rw  )rd   rT  )r  r%   r   r%   rd   re   ry   )rd   r   )ra   r  rd   re   )rd   r  rg   )r  r  rd   r  )r  r   r   r=   r  r  rd   r  )r   r  rd   r   )"rv   rz   r{   r}   r   rF   rD   rl   r   r  r  r)  r/  r2  rR  rH  rb  rf  ro  propertyrM  rs  rv  r   rE  r!  rz  r   setterr{  r  r  r  r$  rh   rn   rk   r   r   J  so        MMMNNN((((!!!!1111%%%%####8<<<<< /*9 4848     @; ; ; ;
N N N N,$ $ $ $ TU      4       	I
 I
 I
 I
 I
 I
V   <   "D D D DT T T T0    X    X    X 
 
 
 X
 
 
 
 X

	 	 	 	 C C C XC    X _a a a _aH H H H /  /  /  /  /L 59	. . . . .0! ! ! !F8 8 8 8 8 8rn   r   c                        e Zd Zd fdZ xZS )_DefaultHttpxClientrO  r   rd   re   c                    |                     dt                     |                     dt                     |                     dd            t                      j        di | d S Nr   r   follow_redirectsTrh   
setdefaultrD   rJ   superrl   rj   rO  ru   s     rk   rl   z_DefaultHttpxClient.__init__  j    )_555($=>>>,d333""6"""""rn   rO  r   rd   re   rv   rz   r{   rl   __classcell__ru   s   @rk   r  r    =        # # # # # # # # # #rn   r  c                      e Zd ZddZdS )SyncHttpxClientWrapperrd   re   c                d    | j         rd S 	 |                                  d S # t          $ r Y d S w xY wrg   )r  closer  rw   s    rk   __del__zSyncHttpxClientWrapper.__del__
  sI    > 	F	JJLLLLL 	 	 	DD	s   ! 
//Nrd   re   rv   rz   r{   r  rh   rn   rk   r  r  	  s(             rn   r  c            	      N    e Zd ZU ded<   dZded<   eeddddddddx fdZdyd Zdzd!Z	d{d$Z
d|d+Zd}d.Zd~d1Ze	 ddd;            Ze	 dd<d=dd@            Ze	 dd<ddAddD            Z	 dd<ddAddFZddHZddKZdLdMddQZddWZei d<dXdd[            Zei d\dd^            Zei dd_dd`            Zi d<ddaddbZedi dd<dcddh            Zedi ddiddj            Zedi dddkddl            Zdi dd<ddmddnZdi doddpZddi dqddrZdi doddsZdi dtduddwZ xZS )r   zhttpx.Clientr   Nztype[Stream[Any]] | Noner   r   r   r   r   r   http_clientr   r   r   rr   r   r   r   r   r   !float | Timeout | None | NotGivenr   Transport | Noner   r   r   Limits | Noner  httpx.Client | Noner   r   r   r   r   r   rd   re   c                  i }|.t          j        dt          d           |t          d          nt          }|2||d<   t          j        dt          d           |t          d          |2||d<   t          j        d	t          d           |t          d
          t          |          s!|r|j        t          k    r|j        }nt          }|9t          |t          j                  st          dt          |                     t                                          ||t!          t"          |          |||||
|	|
  
         |p#t%          d|t!          t"          |          |dd|| _        d S )NhThe `connection_pool_limits` argument is deprecated. The `http_client` argument should be passed instead   category
stacklevelNThe `http_client` argument is mutually exclusive with `connection_pool_limits`r   [The `transport` argument is deprecated. The `http_client` argument should be passed insteadAThe `http_client` argument is mutually exclusive with `transport`r   YThe `proxies` argument is deprecated. The `http_client` argument should be passed instead?The `http_client` argument is mutually exclusive with `proxies`zOInvalid `http_client` argument; Expected an instance of `httpx.Client` but got )
r   r   r   r   r   r   r   r   r   r   Tr   r   r   r  rh   )warningswarnDeprecationWarningr   rJ   r7   r   HTTPX_DEFAULT_TIMEOUTrD   r   r   Clientr   rD  r  rl   r   r&   r  r   )rj   r   r   r   r   r   r   r   r  r   r   r   rO  ru   s                rk   rl   zSyncAPIClient.__init__  s    "$Mz+   
 & !qrrr ' /F "+F;Mm+   
 & !deee 'F9Mk+   
 & !bccc   	*  *{26KKK%-)":k5<+P+P"ubfgrbsbsuu   	'**#%)(C 	 	
 	
 	
 # 
&< '
'**!'
 '
 '
 '
rn   c                    | j         j        S rg   r   r  rw   s    rk   r  zSyncAPIClient.is_closedo      |%%rn   c                \    t          | d          r| j                                         dS dS )`Close the underlying HTTPX client.

        The client will *not* be usable after this.
        r   N)hasattrr   r  rw   s    rk   r  zSyncAPIClient.closer  s:     4## 	!L     	! 	!rn   rj   rX   c                    | S rg   rh   rw   s    rk   	__enter__zSyncAPIClient.__enter__|  s    rn   exc_typetype[BaseException] | NoneexcBaseException | Noneexc_tbTracebackType | Nonec                .    |                                   d S rg   r  rj   r  r  r  s       rk   __exit__zSyncAPIClient.__exit__  s     	

rn   r   r=   c                    |S z#Hook for mutating the given optionsrh   rj   r   s     rk   _prepare_optionszSyncAPIClient._prepare_options  s	    
 rn   r   r3  c                    dS a  This 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.
        Nrh   re  s     rk   _prepare_requestzSyncAPIClient._prepare_request  s	     trn   r^  Type[ResponseT]r  Optional[int]rd  Literal[True]
stream_clsType[_StreamT]r[   c                   d S rg   rh   rj   r^  r   r  rd  r  s         rk   r   zSyncAPIClient.request  	     3rn   Frd  Literal[False]r(   c                   d S rg   rh   )rj   r^  r   r  rd  s        rk   r   zSyncAPIClient.request  	     Crn   rd  r  Type[_StreamT] | NoneResponseT | _StreamTc                   d S rg   rh   r  s         rk   r   zSyncAPIClient.request  	      #srn   type[_StreamT] | Nonec               z    ||                     | j                  |z
  }nd}|                     |||||          S Nr   )r^  r   rd  r  r  r  r   _request)rj   r^  r   r  rd  r  r  s          rk   r   zSyncAPIClient.request  sW     (#33D4DEEHYYMMM}}!'  
 
 	
rn   r  c          	        t          |          }|                     ||          }|                     |          }|                    | j                  |z
  }|                     ||          }|                     |           i }	| j        
| j        |	d<   t          	                    d|j
        |j                   	  | j        j        |fd|p|                     |          i|	}
n# t          j        $ rr}t          	                    dd           |d	k    r |                     |||||d 
          cY d }~S t          	                    d           t%          |          |d }~wt&          $ rr}t          	                    dd           |d	k    r |                     |||||d 
          cY d }~S t          	                    d           t)          |          |d }~ww xY wt          	                    d|j
        |j        |
j        |
j        |
j                   t          	                    d|
j                            d                     	 |
                                 n# t          j        $ r}t          	                    dd           |d	k    r]|                     |j                  rC|j                                         |                     ||||j        j        ||          cY d }~S |j        j        s|j                                         t          	                    d           |                      |j                  d d }~ww xY w| !                    |||
|||          S )Nr  authzSending HTTP Request: %s %srd  r   "Encountered httpx.TimeoutExceptionTexc_infor   r  rd  r  r  Raising timeout errorEncountered ExceptionRaising connection errorzHTTP Response: %s %s "%i %s" %szrequest_id: %szx-request-id!Encountered httpx.HTTPStatusErrorr  r  rd  r  Re-raising status errorr^  r   r   rd  r  r  )"r:   rb  r  r  r   rR  r  rs  rT   rA  r"  ra   r   sendrf  r   TimeoutException_retry_requestrP   r  rQ   r  reason_phraser  r  raise_for_statusHTTPStatusErrorr  r   r  r  r%  r  _process_response)rj   r^  r   r  rd  r  input_optionsr  r   rO  r   rn  s               rk   r  zSyncAPIClient._request  s    #7++..w@@''00#33D4DEEU%%g]%KKg&&& "'!-F6N		/MMM#	?(t|( S!B!B7!B!S!S  HH
 % 	< 	< 	<II:TIJJJ 1$$**!"/!)%) +         II-...!'222; 	? 	? 	?II-I=== 1$$**!"/!)%) +         II0111$W5553>	?  			-NK "	
 	
 	
 			"H$4$8$8$H$HIII	P%%''''$ 	P 	P 	PII9DIIII 1$$););CL)I)I$""$$$**!"/%(\%9!) +         <) $!!###II/00077EE4O)	P, %%!' & 
 
 	
sb   >+C* *G%9<E&5G%;+E&&G%3<G /G%5+G  G%I) )M8A9M1M7AMMr  httpx.Headers | Nonec                  |                     | j                  |z
  }|dk    rt                              d           nt                              d|           |                     |||          }t                              d|j        |           t          j        |           | 	                    |||dz   ||          S Nr   z1 retry leftz%i retries leftz$Retrying request to %s in %f seconds)r   r^  r  rd  r  )
r  r   rT   rA  r  r   ra   r  sleepr  	rj   r   r^  r  r  rd  r  r  r   s	            rk   r  zSyncAPIClient._retry_request:  s     $33D4DEEU!!IIn%%%%II'):;;;//0A7L\]]7gNNN 	
7}}'!+!  
 
 	
rn   r   r  r   r  1type[Stream[Any]] | type[AsyncStream[Any]] | Nonec               @   |j         j                            t                    dk    r)t	          t
          t          || |||||                    S t          |          p|}t          j	        |          rt          |t                    rqt          |t                    st          dt           d|           t	          d|          }t	          t
           ||| t          |          ||||                    S |t          j        k    rt	          t
          |          S t          || t	          d|          ||||          }	t#          |j         j                            t                              rt	          t
          |	          S |	                                S )Nr  rawr   r^  rd  r  r   r  !API Response types must subclass ; Received type[BaseAPIResponse[Any]]r_  )r   r  r  rH   r   r(   rS   r   ri  rj  rk  rA   r@   r   rC   r   Responser   parse
rj   r^  r   r   rd  r  r  originresponse_clsapi_responses
             rk   r  zSyncAPIClient._process_responseY  s    #''(;<<FF! #!)#"/     G$$/?6"" 	z&/'J'J 	fk22 f dK d d\b d deee <gFFL 1,??!)#"/     en$$	8,,,"*G44!'
 
 
  (,,-@AABB 	1	<000!!###rn   r   Type[object]r   Type[SyncPageT]rU   c                V     d fd}|_                              |d          S )Nr   rU   rd   c                8    |                                 | S )N)r   r   r   )r   )r   r   r   rj   s    rk   r   z0SyncAPIClient._request_api_list.<locals>._parser  s0    (( )   
 Krn   Fr  )r   rU   rd   rU   )r   r   )rj   r   r   r   r   s   `` ` rk   r   zSyncAPIClient._request_api_list  sO    	 	 	 	 	 	 	 	 &||D'%|888rn   r   rd  pathr0   c                   d S rg   rh   rj   r4  r^  r   rd  s        rk   r  zSyncAPIClient.get  r  rn   r   type[_StreamT]c                   d S rg   rh   rj   r4  r^  r   rd  r  s         rk   r  zSyncAPIClient.get  r  rn   r   r  c                   d S rg   rh   r:  s         rk   r  zSyncAPIClient.get  r  rn   r   rd  r  c          	         t          j        dd|d|}t          t          |                     ||||                    S Nr  )r"  ra   r  rh   )r=   	constructr   r(   r   rj   r4  r^  r   rd  r  optss          rk   r  zSyncAPIClient.get  sH     #,OEtOOwOO It||GT&U_|``aaarn   )r  r   r=  rd  r  Body | Noner=  RequestFiles | Nonec                   d S rg   rh   )rj   r4  r^  r  r   r=  rd  s          rk   postzSyncAPIClient.post  s	     Crn   )r  r   r=  c                   d S rg   rh   rj   r4  r^  r  r   r=  rd  r  s           rk   rF  zSyncAPIClient.post  s	     3rn   )r  r   r=  r  c                   d S rg   rh   rH  s           rk   rF  zSyncAPIClient.post  s	      #srn   )r  r   r=  rd  r  c          	         t          j        dd||t          |          d|}t          t          |                     ||||                    S NrF  r"  ra   rB  r=  r  rh   )r=   r@  r   r   r(   r   )	rj   r4  r^  r  r   r=  rd  r  rB  s	            rk   rF  zSyncAPIClient.post  s`     #, 
tt>%;P;P
 
T[
 
 It||GT&U_|``aaarn   r  r   c               X    t          j        dd||d|}|                     ||          S Npatchr"  ra   rB  rh   r=   r@  r   rj   r4  r^  r  r   rB  s         rk   rP  zSyncAPIClient.patch  s9     #,aGQUaaY`aa||GT***rn   r  r=  r   c          	     t    t          j        dd||t          |          d|}|                     ||          S NputrL  rh   )r=   r@  r   r   rj   r4  r^  r  r=  r   rB  s          rk   rW  zSyncAPIClient.put  sO     #, 
dd.:O:O
 
SZ
 
 ||GT***rn   c               X    t          j        dd||d|}|                     ||          S NdeleterQ  rh   rR  rS  s         rk   r[  zSyncAPIClient.delete%  s9     #,bH$RVbbZabb||GT***rn   r  r  r   r"  r"  c               Z    t          j        d|||d|}|                     |||          S NrQ  rh   r=   r@  r   rj   r4  r   r   r  r   r"  rB  s           rk   get_api_listzSyncAPIClient.get_api_list0  =     #,`FPT``X_``%%eT4888rn   )r   rr   r   r   r   r   r   r  r   r  r   r   r   r  r  r  r   r   r   r   r   r   rd   re   r   r  rj   rX   rd   rX   r  r  r  r  r  r  rd   re   r   r=   rd   r=   r   r3  rd   re   rg   )r^  r  r   r=   r  r  rd  r  r  r  rd   r[   )
r^  r  r   r=   r  r  rd  r  rd   r(   )r^  r  r   r=   r  r  rd  r   r  r  rd   r  )r^  r  r   r=   r  r  rd  r   r  r  rd   r  )r^  r  r   r=   r  r   rd  r   r  r  rd   r  )r   r=   r^  r  r  r   r  r  rd  r   r  r  rd   r  r^  r  r   r=   r   r  rd  r   r  r"  r  r   rd   r(   )r   r/  r   r0  r   r=   rd   rU   
r4  rr   r^  r  r   r0   rd  r  rd   r(   )r4  rr   r^  r  r   r0   rd  r  r  r8  rd   r[   )r4  rr   r^  r  r   r0   rd  r   r  r  rd   r  )r4  rr   r^  r  r  rC  r   r0   r=  rD  rd  r  rd   r(   )r4  rr   r^  r  r  rC  r   r0   r=  rD  rd  r  r  r8  rd   r[   )r4  rr   r^  r  r  rC  r   r0   r=  rD  rd  r   r  r  rd   r  
r4  rr   r^  r  r  rC  r   r0   rd   r(   r4  rr   r^  r  r  rC  r=  rD  r   r0   rd   r(   )r4  rr   r   r/  r   r0  r  rC  r   r0   r"  rr   rd   rU   )rv   rz   r{   r}   r   rF   r!   rl   r  r  r  r  r  r  r   r   r  r  r  r   r  rF  rP  rW  r[  ra  r  r  s   @rk   r   r     sq        488888 /5>&*'+ $+/3748U
 U
 U
 U
 U
 U
 U
 U
n& & & &! ! ! !         	 	 	 	 
 ,0	    X 
 ,0	 "'     X 
 ,0	# ,0# # # # # X# ,0	
 ,0
 
 
 
 
 
,i
 i
 i
 i
V
 
 
 
N ;$ ;$ ;$ ;$ ;$ ;$z9 9 9 9$  #%!&     X  #%     X  #%,0# # # # # X# #%,0b b b b b b  !"$%)!&	 	 	 	 	 X	  !"$%)
 
 
 
 
 X
  !"$%),0
# 
# 
# 
# 
# X
#" !"$%),0b b b b b b* !"$	+ 	+ 	+ 	+ 	+ 	+  !%)"$+ + + + + +& !"$	+ 	+ 	+ 	+ 	+ 	+" !"$9 9 9 9 9 9 9 9 9 9rn   r   c                        e Zd Zd fdZ xZS )_DefaultAsyncHttpxClientrO  r   rd   re   c                    |                     dt                     |                     dt                     |                     dd            t                      j        di | d S r  r  r  s     rk   rl   z!_DefaultAsyncHttpxClient.__init__?  r  rn   r  r  r  s   @rk   rl  rl  >  r  rn   rl  c                      e Zd ZddZdS )AsyncHttpxClientWrapperrd   re   c                    | j         rd S 	 t          j                                        |                                            d S # t
          $ r Y d S w xY wrg   )r  asyncioget_running_loopcreate_taskacloser  rw   s    rk   r  zAsyncHttpxClientWrapper.__del__S  sc    > 	F	$&&224;;==AAAAA 	 	 	DD	s   8A 
AANr  r  rh   rn   rk   ro  ro  R  s(             rn   ro  c            	      H    e Zd ZU ded<   dZded<   eeddddddddw fdZdxd Zdyd!Z	dzd$Z
d{d+Zd|d.Zd}d1Zed2dd3d~d;            Zedd<ddA            ZedddBddE            Zd2dddFddGZddIZddLZdMdNddRZddXZei d2dYdd\            Zei d]dd^            Zei dd_dd`            Zi d2ddaddbZeddi d2dcddh            Zeddi diddj            Zeddi ddkddl            Zddi d2ddmddnZdi doddpZddi diddqZdi doddrZdi dsdtddvZ xZS )r   zhttpx.AsyncClientr   Nztype[AsyncStream[Any]] | Noner   r  r   rr   r   r   r   r   r   r   r   r  r   AsyncTransport | Noner   r   r   r  r  httpx.AsyncClient | Noner   r   r   r   rd   re   c                  i }|.t          j        dt          d           |	t          d          nt          }|2||d<   t          j        dt          d           |	t          d          |2||d<   t          j        d	t          d           |	t          d
          t          |          s!|	r|	j        t          k    r|	j        }nt          }|	9t          |	t          j                  st          dt          |	                     t                                          |||t!          t"          |          |||||
|
  
         |	p#t%          d|t!          t"          |          |dd|| _        d S )Nr  r  r  r  r   r  r  r   r  r  zTInvalid `http_client` argument; Expected an instance of `httpx.AsyncClient` but got )
r   r   r   r   r   r   r   r   r   r   Tr  rh   )r  r  r  r   rJ   r7   r   r  rD   r   r   AsyncClientr   rD  r  rl   r   r&   ro  r   )rj   r   r   r   r   r   r   r   r   r  r   r   rO  ru   s                rk   rl   zAsyncAPIClient.__init__b  s    "$Mz+   
 & !qrrr ' /F "+F;Mm+   
 & !deee 'F9Mk+   
 & !bccc   	*  *{26KKK%-)":k5CT+U+U"zgklwgxgxzz   	'**#%)(C 	 	
 	
 	
 # 
&= '
'**!'
 '
 '
 '
rn   c                    | j         j        S rg   r  rw   s    rk   r  zAsyncAPIClient.is_closed  r  rn   c                H   K   | j                                          d{V  dS )r  N)r   rt  rw   s    rk   r  zAsyncAPIClient.close  s4      
 l!!###########rn   rj   rX   c                
   K   | S rg   rh   rw   s    rk   
__aenter__zAsyncAPIClient.__aenter__  s      rn   r  r  r  r  r  r  c                >   K   |                                   d {V  d S rg   r  r  s       rk   	__aexit__zAsyncAPIClient.__aexit__  s.       jjllrn   r   r=   c                
   K   |S r  rh   r  s     rk   r  zAsyncAPIClient._prepare_options  s      
 rn   r   r3  c                
   K   dS r  rh   re  s     rk   r  zAsyncAPIClient._prepare_request  s       trn   F)rd  r  r^  r  rd  r  r  r  r(   c               
   K   d S rg   rh   )rj   r^  r   rd  r  s        rk   r   zAsyncAPIClient.request         Crn   )r  r  r  type[_AsyncStreamT]r\   c               
   K   d S rg   rh   rj   r^  r   rd  r  r  s         rk   r   zAsyncAPIClient.request         rn   )r  r  type[_AsyncStreamT] | NoneResponseT | _AsyncStreamTc               
   K   d S rg   rh   r  s         rk   r   zAsyncAPIClient.request         %(Crn   )rd  r  r  c                  K   ||                     | j                  |z
  }nd}|                     |||||           d {V S r  r  )rj   r^  r   rd  r  r  r  s          rk   r   zAsyncAPIClient.request   sy       (#33D4DEEHYYMMM]]!' # 
 
 
 
 
 
 
 
 	
rn   r  c          	       K   | j         ' t          t                                 d {V | _         t          |          }|                     ||          }|                     |           d {V }|                    | j                  |z
  }|                     ||          }| 	                    |           d {V  i }	| j
        
| j
        |	d<   	  | j        j        |fd|p|                     |          i|	 d {V }
n
# t          j        $ rx}t                               dd           |dk    r&|                     |||||d 	           d {V cY d }~S t                               d
           t'          |          |d }~wt(          $ rx}t                               dd           |dk    r&|                     |||||d 	           d {V cY d }~S t                               d           t+          |          |d }~ww xY wt                               d|j        |j        |
j        |
j                   	 |
                                 n# t          j        $ r}t                               dd           |dk    ri|                     |j                  rO|j                                         d {V  |                     ||||j        j        ||           d {V cY d }~S |j        j         s|j        !                                 d {V  t                               d           | "                    |j                  d d }~ww xY w| #                    |||
|||           d {V S )Nr  r  rd  r	  r
  Tr  r   r  r  r  r  zHTTP Request: %s %s "%i %s"r  r  r  r  )$r   r6   get_platformr:   rb  r  r  r   rR  r  rs  r   r  rf  r   r  rT   rA  r  rP   r  rQ   r"  ra   r  r  r  r  r  r   rt  r  r  areadr  r  )rj   r^  r   rd  r  r  r  r  r   rO  r   rn  s               rk   r  zAsyncAPIClient._request  s      >! $:8L#9#9#;#;;;;;;;DN
 #7++..w@@--g66666666#33D4DEEU%%g]%KK##G,,,,,,,,, "'!-F6N#	?.T\. S!B!B7!B!S!S        HH
 % 	< 	< 	<II:TIJJJ 1$$!00!"/!)%) 1               II-...!'222; 	? 	? 	?II-I=== 1$$!00!"/!)%) 1               II0111$W5553>	?  			)7>7;H\^f^t	
 	
 	
	P%%''''$ 	P 	P 	PII9DIIII 1$$););CL)I)I$l))+++++++++!00!"/%(\%9!) 1               <) +l((*********II/00077EE4O)	P, ++!' , 
 
 
 
 
 
 
 
 	
sd   1D HAF	H+F		HAH	H+H		HI M)BM.M4A MMr  r  c                 K   |                     | j                  |z
  }|dk    rt                              d           nt                              d|           |                     |||          }t                              d|j        |           t          j        |           d {V  | 	                    |||dz   ||           d {V S r  )
r  r   rT   rA  r  r   ra   anyior   r  r!  s	            rk   r  zAsyncAPIClient._retry_request~  s       $33D4DEEU!!IIn%%%%II'):;;;//0A7L\]]7gNNNk'"""""""""]]'!+! # 
 
 
 
 
 
 
 
 	
rn   r   r  r   r  r"  c               F  K   |j         j                            t                    dk    r)t	          t
          t          || |||||                    S t          |          p|}t          j	        |          rt          |t                    rlt          |t                    st          dt           d|           t	          d|          }t	          d ||| t          |          ||||                    S |t          j        k    rt	          t
          |          S t          || t	          d|          ||||          }	t#          |j         j                            t                              rt	          t
          |	          S |	                                 d {V S )Nr  r$  r&  r'  r(  r(   r_  )r   r  r  rH   r   r(   rS   r   ri  rj  rk  rA   rB   r   rC   r   r)  r   r*  r+  s
             rk   r  z AsyncAPIClient._process_response  s      #''(;<<FF! #!)#"/     G$$/?6"" 	z&/'J'J 	f&677 k iDT i iag i ijjj <gFFL 1,??!)#"/     en$$	8,,,'*G44!'
 
 
  (,,-@AABB 	1	<000!'')))))))))rn   r   r   r   r   AsyncPaginator[_T, AsyncPageT]c                (    t          | |||          S )N)r   r   r   r   )r   )rj   r   r   r   s       rk   r   z AsyncAPIClient._request_api_list  s     T7TQVWWWWrn   r3  r4  r0   c               
   K   d S rg   rh   r6  s        rk   r  zAsyncAPIClient.get  r  rn   r7  c               
   K   d S rg   rh   r:  s         rk   r  zAsyncAPIClient.get  r  rn   r;  c               
   K   d S rg   rh   r:  s         rk   r  zAsyncAPIClient.get  r  rn   r=  c               l   K   t          j        dd|d|}|                     ||||           d {V S r?  rR  rA  s          rk   r  zAsyncAPIClient.get   sQ       #,OEtOOwOO\\'4:\VVVVVVVVVrn   )r  r=  r   rd  r  rC  r=  rD  c               
   K   d S rg   rh   )rj   r4  r^  r  r=  r   rd  s          rk   rF  zAsyncAPIClient.post  s       Crn   rT  c               
   K   d S rg   rh   rj   r4  r^  r  r=  r   rd  r  s           rk   rF  zAsyncAPIClient.post  s       rn   )r  r=  r   r  c               
   K   d S rg   rh   r  s           rk   rF  zAsyncAPIClient.post%  s       %(Crn   )r  r=  r   rd  r  c          	        K   t          j        dd||t          |           d {V d|}|                     ||||           d {V S rK  r=   r@  r    r   )	rj   r4  r^  r  r=  r   rd  r  rB  s	            rk   rF  zAsyncAPIClient.post2  s       #, 
ttAUV[A\A\;\;\;\;\;\;\
 
`g
 
 \\'4:\VVVVVVVVVrn   rM  c               h   K   t          j        dd||d|}|                     ||           d {V S rO  rR  rS  s         rk   rP  zAsyncAPIClient.patchB  sO       #,aGQUaaY`aa\\'4000000000rn   c          	        K   t          j        dd||t          |           d {V d|}|                     ||           d {V S rV  r  rX  s          rk   rW  zAsyncAPIClient.putM  sy       #, 
dd@TUZ@[@[:[:[:[:[:[:[
 
_f
 
 \\'4000000000rn   c               h   K   t          j        dd||d|}|                     ||           d {V S rZ  rR  rS  s         rk   r[  zAsyncAPIClient.delete[  sO       #,bH$RVbbZabb\\'4000000000rn   r  r\  r"  c               Z    t          j        d|||d|}|                     |||          S r^  r_  r`  s           rk   ra  zAsyncAPIClient.get_api_listf  rb  rn   )r   rr   r   r   r   r   r   r   r   r  r   rv  r   r   r   r  r  rw  r   r   r   r   rd   re   r   r  rc  rd  re  rf  )
r^  r  r   r=   rd  r  r  r  rd   r(   )r^  r  r   r=   rd  r  r  r  r  r  rd   r\   )r^  r  r   r=   rd  r   r  r  r  r  rd   r  )r^  r  r   r=   rd  r   r  r  r  r   rd   r  )r   r=   r^  r  r  r   r  r  rd  r   r  r  rd   r  rg  )r   r   r   r   r   r=   rd   r  rh  )r4  rr   r^  r  r   r0   rd  r  r  r  rd   r\   )r4  rr   r^  r  r   r0   rd  r   r  r  rd   r  )r4  rr   r^  r  r  rC  r=  rD  r   r0   rd  r  rd   r(   )r4  rr   r^  r  r  rC  r=  rD  r   r0   rd  r  r  r  rd   r\   )r4  rr   r^  r  r  rC  r=  rD  r   r0   rd  r   r  r  rd   r  ri  rj  )r4  rr   r   r   r   r   r  rC  r   r0   r"  rr   rd   r  )rv   rz   r{   r}   r   rF   r!   rl   r  r  r}  r  r  r  r   r   r  r  r  r   r  rF  rP  rW  r[  ra  r  r  s   @rk   r   r   ^  sb        9===== /5>+/'+ $043748U
 U
 U
 U
 U
 U
 U
 U
n& & & &$ $ $ $         	 	 	 	  "'+/     X  ,0     X  26+/( ( ( ( ( X( 15+/
 
 
 
 
 
,f
 f
 f
 f
P
 
 
 
J ;* ;* ;* ;* ;* ;*zX X X X  #%!&     X  #%     X  #%15( ( ( ( ( X( #%15
W 
W 
W 
W 
W 
W  !%)"$!&	 	 	 	 	 X	  !%)"$
 
 
 
 
 X
  !%)"$15
( 
( 
( 
( 
( X
(" !%)"$15W W W W W W* !"$	1 	1 	1 	1 	1 	1  !%)"$1 1 1 1 1 1& !"$	1 	1 	1 	1 	1 	1" !"$9 9 9 9 9 9 9 9 9 9rn   r   )queryextra_headersextra_query
extra_bodyr#  r   r   r  Query | Noner  Headers | Noner  r  rC  r#  r   r   'float | httpx.Timeout | None | NotGivenr   PostParser | NotGivenrd   r0   c                   i }|||d<   |t          t          |          |d<   | | |d<   |i |                    di           ||d<   t          |t                    s||d<   |||d<   t          |          r||d<   |S )zECreate a dict of type RequestOptions without keys of NotGiven values.Nr  rC  rc   r   r#  r   )r   r*   r  r   r'   r7   )r  r  r  r  r#  r   r   r   s           rk   make_request_optionsr  t  s     !G *	 $Z < <!Hw{{8R88HKHgx(( %$	"%4!" -!,Nrn   c                      e Zd ZddZdS )rI  rd   r   c                    dS )NTrh   rw   s    rk   __bool__zForceMultipartDict.__bool__  s    trn   Nr   )rv   rz   r{   r  rh   rn   rk   rI  rI    s(             rn   rI  c                  .    e Zd ZddZed	d            ZdS )
OtherPlatformnamerr   rd   re   c                    || _         d S rg   r  rj   r  s     rk   rl   zOtherPlatform.__init__      			rn   c                    d| j          S )NzOther:r  rw   s    rk   __str__zOtherPlatform.__str__      #	###rn   Nr  rr   rd   re   ry   rv   rz   r{   rl   r   r  rh   rn   rk   r  r    H            $ $ $ X$ $ $rn   r  )MacOSLinuxWindowsFreeBSDOpenBSDiOSAndroidUnknownPlatformc                 x   	 t          j                                                    } t          j                                                     }n# t          $ r Y dS w xY wd|v sd|v rdS | dk    rdS | dk    rdS d	|v rd
S | dk    r%t	          j                    }|dk    rdS |dk    rdS dS |rt          |          S dS )Nr  iphoneipadr  darwinr  windowsr  androidr  linuxfreebsdr  openbsdr  r  )r  systemr  r  distroidr  )r  platform_name	distro_ids      rk   r  r    s   ""((** )++1133   yy =  Fm$;$;
 uwyM!! yIKK		!!9	!!9w ,]+++9s   A
A 
AA)maxsizer   rr   r  Platform | Noner  c                   d| t          |pt                                t          t                                t                      t	                      dS )Npython)zX-Stainless-LangzX-Stainless-Package-VersionzX-Stainless-OSzX-Stainless-ArchzX-Stainless-RuntimezX-Stainless-Runtime-Version)rr   r  get_architectureget_python_runtimeget_python_version)r   r  s     rk   r{  r{    sQ     %'.h8,..99 0 2 233133'9';';  rn   c                  .    e Zd ZddZed	d            ZdS )
	OtherArchr  rr   rd   re   c                    || _         d S rg   r  r  s     rk   rl   zOtherArch.__init__  r  rn   c                    d| j          S )Nzother:r  rw   s    rk   r  zOtherArch.__str__  r  rn   Nr  ry   r  rh   rn   rk   r  r    r  rn   r  )x32x64armarm64unknownc                 L    	 t          j                    S # t          $ r Y dS w xY wNr  )r  python_implementationr  rh   rn   rk   r  r    s8    -///   yy    
##c                 L    	 t          j                    S # t          $ r Y dS w xY wr  )r  python_versionr  rh   rn   rk   r  r    s8    &(((   yyr  Archc                     	 t          j                                                    } n# t          $ r Y dS w xY w| dv rdS | dk    rdS | dk    rdS t          j        dk    rdS | rt          |           S dS )	Nr  )r  aarch64r  r  x86_64r  l        r  )r  machiner  r  sysr  r  )r  s    rk   r  r    s    "$$**,,   yy &&&w %u(u {eu "!!!9s   %( 
66obj1Mapping[_T_co, Union[_T, Omit]]obj2Dict[_T_co, _T]c                J    i | |}d |                                 D             S )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.
    c                D    i | ]\  }}t          |t                    ||S rh   )r   r#   )r  r[  r\  s      rk   
<dictcomp>z#_merge_mappings.<locals>.<dictcomp>)  s.    WWW:3z%QU?V?VWCWWWrn   )r   )r  r  mergeds      rk   r  r     s/     FWWWWWWrn   )r  r  r  r  r  r  r  rC  r#  r   r   r  r   r  rd   r0   )rd   r  )r   rr   r  r  rd   r  ry   )rd   r  )r  r  r  r  rd   r  )
__future__r   r  r	  r  r  r  rq  ri  r?  r  r  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   r2   _utilsr3   r4   r5   r6   r7   r8   r9   _compatr:   r;   _modelsr<   r=   r>   r?   	_responser@   rA   rB   rC   
_constantsrD   rE   rF   rG   rH   rI   rJ   
_streamingrK   rL   rM   rN   rO   rP   rQ   rR   _legacy_responserS   	getLoggerrv   rT   r}   	addFilterrU   rW   rX   rY   r[   r\   httpx._configr]   r  ImportErrorr_   r   r   r   r   r  ry  r   r   r   r  DefaultHttpxClientr  r   rl  DefaultAsyncHttpxClientro  r   r  rr   rI  r  r  r  r{  r  r  r  r  r  r  rh   rn   rk   <module>r     s
   " " " " " " " 



                                                          " < ; ; ; ; ; ; ; ; ;                                     8 8 8 8 8 8 8 8                                       ( h g g g g g g g g g g g g g g g g g + + + + + + + + U U U U U U U U U U U U                             I H H H H H H H H H H H            0 / / / / /'g'11 1 1 1 1 $$&& ' ' ' GK':;;;	W\)=>>>
 WT]]4(((7:VC[111{3/?@@@ -MMMMMMM-QQQQQQQ - - - '-
$B $B $B $B $B $B $B $BN-6 -6 -6 -6 -6|WR[ -6 -6 -6`+a +a +a +a +a8B< +a +a +a\$ $ $ $ $WR^, $ $ $N#g #g #g #g #gHRL'"+ #g #g #gL uU\5CT5T/UVVV'+5kRUFV9V3WXXXh8 h8 h8 h8 h878 h8 h8 h8V# # # # #%, # # #  	- -    /   g9 g9 g9 g9 g9Ju|VC[89 g9 g9 g9T# # # # #u0 # # #  	7#/ 7	 	 	 	 	5 	 	 	S9 S9 S9 S9 S9Z 1;s3C CD S9 S9 S9p $( $""&7@)2" " " " " "J    c4i   
$ $ $ $ $ $ $ $ 		
' ' ' 'T 4   $ $ $ $ $ $ $ $ Y GHHI         4	X 	X 	X 	X 	X 	Xs   <G GG