
    U th
                      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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' d dl&m(Z( d	d
l)m*Z* d	dl+m,Z, d	dl-m.Z.m/Z/ d	dl0m1Z1m2Z2m3Z3m4Z4m5Z5m6Z6m7Z7m8Z8m9Z9m:Z:m;Z;m<Z<m=Z=m>Z>m?Z? d	dl@mAZAmBZBmCZCmDZDmEZEmFZFmGZG d	dlHmIZImJZJmKZK d	dlLmMZMmNZNmOZOmPZP d	dlQmRZRmSZSmTZTmUZU d	dlVmWZWmXZXmYZYmZZZm[Z[m\Z\m]Z] d	dl^m_Z_m`Z`maZambZb d	dl*mcZcmdZdmeZemfZf d	dlgmhZh  e	ji        ej          Zkdeld<   ekm                     eA                        edd          Zn edd          Zo ed          Zp edd           Zq ed!e_e                   Zr ed"eae                   Zser	d d#ltmuZu euZvn	 d d#ltmuZv n# ew$ r  e6d$          ZvY nw xY w G d% d&          Zx G d' d(eMeep                   Zy G d) d*eyep         eep                   Zz G d+ d,eepeof                   Z{ G d- d.eyep         eep                   Z| ed/ee$j}        e$j~        f                   Z ed0ee_e         eae         f                   Z G d1 d2eeef                   Z G d3 d4e$j}                  Zere$j}        ZneZ G d5 d6e          Z G d7 d8ee$j}        e_e         f                   Z G d9 d:e$j~                  Z	 d dlZ G d; d<ej                  Zn# ew$ r  G d= d<e$j~                  ZY nw xY were$j~        Z	 e$j~        ZneZeZ G d> d?e          Z G d@ dAee$j~        eae         f                   Zddddde1e1dBdmdRZ G dS dTeedf                   Z G dU dV          Zeee dW         f         ZdndYZ eFdZ          dod`            Z G da db          Zeee dc         f         ZdpddZdpdeZdqdgZdrdlZdS )s    )annotationsN)TracebackType)random)TYPE_CHECKINGAnyDictTypeUnionGenericMappingTypeVarIterableIteratorOptional	GeneratorAsyncIteratorcastoverload)Literaloverride
get_origin)URL)PrivateAttr   )_exceptionsQuerystring)to_httpx_filesasync_to_httpx_files)	NOT_GIVENBodyOmitQueryHeadersTimeoutNotGiven	ResponseT
AnyMapping
PostParserRequestFilesHttpxSendArgsRequestOptionsHttpxRequestFilesModelBuilderProtocol)SensitiveHeadersFilteris_dictis_listasyncifyis_given	lru_cache
is_mapping)PYDANTIC_V2
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<   ded<   edd            Zedd            Zedd            Ze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paramsBody | NotGivenjsonr   returnNonec                   d S N selfr^   s     g/var/www/html/mycamper/aliexpress-site/backend/venv/lib/python3.11/site-packages/openai/_base_client.py__init__zPageInfo.__init__~   	    
 s    r#   c                   d S rf   rg   )ri   r`   s     rj   rk   zPageInfo.__init__   rl   rm   r!   c                   d S rf   rg   )ri   rb   s     rj   rk   zPageInfo.__init__   rl   rm   r^   rb   r`   c               0    || _         || _        || _        d S rf   rp   )ri   r^   rb   r`   s       rj   rk   zPageInfo.__init__   s     	rm   strc                    | j         r| j        j         d| j          dS | j        r| j        j         d| j         dS | j        j         d| j         dS )Nz(url=)z(json=z(params=)r^   	__class____name__rb   r`   ri   s    rj   __repr__zPageInfo.__repr__   sr    8 	@n-??DH????9 	Bn-AATYAAAA.)AA4;AAAArm   N)r^   r   rc   rd   )r`   r#   rc   rd   )rb   r!   rc   rd   )r^   r]   rb   ra   r`   r_   rc   rd   rc   rr   )
rv   
__module____qualname____doc____annotations__r   rk   r    r   rx   rg   rm   rj   r\   r\   t   s          
    X    X    X ( )#,	 	 	 	 	 	 B B B XB B Brm   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]_modelrc   boolc                ^    |                                  }|sdS |                                 d uS )NF)_get_page_itemsnext_page_info)ri   itemss     rj   has_next_pagezBasePage.has_next_page   s7    $$&& 	5""$$D00rm   Optional[PageInfo]c                    d S rf   rg   rw   s    rj   r   zBasePage.next_page_info   s      rm   Iterable[_T]c                    d S rf   rg   rw   s    rj   r   zBasePage._get_page_items   s    rm   r^   r   httpx.QueryParamsc                    t          j        t          t          | j        j                                                |j                  S rf   )httpxQueryParamsr   r   r   r`   mergerh   s     rj   _params_from_urlzBasePage._params_from_url   s2     c4=+?!@!@AAGG
SSSrm   infor\   c                   t          | j                  }|                                 t          |j        t
                    si |j        |j        |_        |S t          |j        t
                    sd|                     |j                  }|j                            |          }t          |j                  |_        t          |          |_        |S t          |j        t
                    sst          |j                  st          d          |j        si |j        |_        n8t          |j                  st          d          i |j        |j        |_        |S t          d          )N)r`   z*Pagination is only supported with mappingszUnexpected PageInfo state)r7   r   _strip_raw_response_header
isinstancer`   r&   r^   r   	copy_withdictrr   rb   r5   	TypeError	json_data
ValueError)ri   r   optionsr`   r^   s        rj   _info_to_optionszBasePage._info_to_options   sV   T]++**,,,$+x00 	>>$+>GNN$(H-- 	**4844F($$F$33C!#*--GNc((GKN$)X.. 	di(( N LMMM$ G$1tyM!!!'"344 R#$PQQQ$Fw'8$FDI$F!N4555rm   Nrc   r   )rc   r   )rc   r   )r^   r   rc   r   )r   r\   rc   r:   )rv   rz   r{   r|   r   r   r}   r   r   r   r   r   r   rg   rm   rj   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 6rm   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:   rc   rd   c                n    t           rt          | dd           i | _        || _        || _        || _        d S N__pydantic_private__r6   getattrr   r   r   r   )ri   r   r   r   s       rj   _set_private_attributesz$BaseSyncPage._set_private_attributes   ?      	+74)?FFN(*D%rm   Iterator[_T]c              #  n   K   |                                  D ]}|                                D ]}|V  d S rf   
iter_pagesr   ri   pageitems      rj   __iter__zBaseSyncPage.__iter__   sT      OO%% 	 	D,,..  



	 	rm   ri   rR   Iterator[SyncPageT]c              #  l   K   | }	 |V  |                                 r|                                }nd S 0rf   r   get_next_pageri   r   s     rj   r   zBaseSyncPage.iter_pages  sJ      	JJJ!!## ))++	rm   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   ri   r   r   s      rj   r   zBaseSyncPage.get_next_page
  sg    ""$$ 	k   ''--|--dkX_-```rm   N)r   r   r   r   r   r:   rc   rd   )rc   r   )ri   rR   rc   r   )ri   rR   rc   rR   )rv   rz   r{   pydanticr   r   r}   r   r   r   r   rg   rm   rj   r   r      s         1X133G3333       *   
   a a a a a arm   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   rc   rd   c                >    || _         || _        || _        || _        d S rf   )r   r   r   	_page_cls)ri   r   r   r   r   s        rj   rk   zAsyncPaginator.__init__  s$     !rm    Generator[Any, None, AsyncPageT]c                N    |                                                                  S rf   )	_get_page	__await__rw   s    rj   r   zAsyncPaginator.__await__"  s    ~~))+++rm   rT   c                    K   d fd}| j         _         j                             j         j                    d {V S )NresprT   rc   c                V    |                      j        j        j                   | S )N)r   r   r   )r   r   r   r   )r   ri   s    rj   _parserz)AsyncPaginator._get_page.<locals>._parser&  s6    ((k| )   
 Krm   )r   rT   rc   rT   )r   post_parserr   requestr   )ri   r   s   ` rj   r   zAsyncPaginator._get_page%  s_      	 	 	 	 	 	 %,!\))$.$-HHHHHHHHHrm   AsyncIterator[_T]c               `   K   t          t          |  d {V           }|2 3 d {V }|W V  6 d S rf   )r   rT   r   s      rj   	__aiter__zAsyncPaginator.__aiter__2  sg      JJJJJJ
 
  	 	 	 	 	 	 	$JJJJJ $$s   -N)
r   r   r   r:   r   r   r   r   rc   rd   )rc   r   )rc   rT   rc   r   )rv   rz   r{   rk   r   r   r   rg   rm   rj   r   r     sh        
" 
" 
" 
", , , ,I I I I     rm   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:   rc   rd   c                n    t           rt          | dd           i | _        || _        || _        || _        d S r   r   )ri   r   r   r   s       rj   r   z%BaseAsyncPage._set_private_attributes?  r   rm   r   c               |   K   |                                  2 3 d {V }|                                D ]}|W V  $6 d S rf   r   r   s      rj   r   zBaseAsyncPage.__aiter__L  sp      //++ 	 	 	 	 	 	 	$,,..  




 ,++s   ;ri   rT   AsyncIterator[AsyncPageT]c               z   K   | }	 |W V  |                                 r|                                 d {V }nd S 7rf   r   r   s     rj   r   zBaseAsyncPage.iter_pagesQ  s^      	JJJJ!!## !//11111111	rm   c                   K   |                                  }|st          d          |                     |          }| j                            | j        | j        |           d {V S r   r   r   s      rj   r   zBaseAsyncPage.get_next_pageZ  s}      ""$$ 	k   ''--\33DKdn^e3fffffffffrm   N)r   r   r   r   r   r:   rc   rd   r   )ri   rT   rc   r   )ri   rT   rc   rT   )rv   rz   r{   r   r   r   r}   r   r   r   r   rg   rm   rj   r   r   <  s         2h244G4444          
   g g g g g grm   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Zded<   eedddd[dZd\dZd]d#Z	d^d(Z
d)d*d_d/Zd`d0Zdad2Zd)d*dbd4Zdcd8Zddd;Zded=Zdfd?ZedgdA            ZedhdC            ZedidE            ZedjdG            ZedkdH            ZdldKZedmdL            ZedndM            Zej        dodO            ZdpdQZdqdrdUZ	 dqdsdXZdtdYZ dmdZZ!dS )u
BaseClientr   r   rr   _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_queryversionbase_url	str | URLfloat | Timeout | Noner   Mapping[str, str] | Noner   Mapping[str, object] | Nonerc   rd   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   _custom_headers_custom_queryr   r   	_platformr   )ri   r   r   r   r   r   r   r   s           rj   rk   zBaseClient.__init__s  s      55c(mmDD&-3)/R+F(#' *. b   rm   r^   c                v    |j                             d          r|S |                    |j         dz             S )N   /raw_path)r   endswithr   rh   s     rj   r   z"BaseClient._enforce_trailing_slash  s:    <  && 	J}}clT&9}:::rm   responsehttpx.ResponserL   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striprb   loads	Exception_make_status_error)ri   r   r   err_msgerr_texts        rj    _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                      rf   )NotImplementedError)ri   r  r   r   s       rj   r  zBaseClient._make_status_error  s     "###rm   r   retries_takenr   r:   r  httpx.Headersc                  |j         pi }t          | j        |          }|                     ||           t	          j        |          }| j        }|r|j        r||vr
|j        ||<   d |D             }d|vrt          |          |d<   d|vrXt          |j
        t                    r| j
        n|j
        }t          |t                    r|j        }|t          |          |d<   |S )Nc                6    g | ]}|                                 S rg   )lower).0headers     rj   
<listcomp>z-BaseClient._build_headers.<locals>.<listcomp>  s     LLL6LLLrm   zx-stainless-retry-countzx-stainless-read-timeout)headers_merge_mappingsdefault_headers_validate_headersr   r$   r   idempotency_keyrr   r   r   r&   r%   read)	ri   r   r  r   headers_dictr  idempotency_headerlower_custom_headersr   s	            rj   _build_headerszBaseClient._build_headers  s    .B&t';^LL|^<<< ---!5 	B'"9 	B>PX_>_>_*1*AG&'  ML^LLL$,@@@14]1C1CG-.%-AAA&0(&K&K`dllQXQ`G'7++ '!,"69'll23rm   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   )ri   r^   	merge_urlmerge_raw_paths       rj   _prepare_urlzBaseClient._prepare_url  s[     HH	$ 	D!]3i6H6O6OPT6U6UUN=**N*CCCrm   SSEDecoder | SSEBytesDecoderc                    t                      S rf   )rI   rw   s    rj   _make_sse_decoderzBaseClient._make_sse_decoder  s    ||rm   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                                        dk    }
|
rtA          |          r|nd |d<   ||d<   n,|                    dd            |                    dd             | j!        j"        d|tG          |j$        tJ                    r| j$        n|j$        |j        |	|r?| j&        '                    t          tP          tR          tT          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getrb   files)r  r   methodr^   r`   rg   )+rQ   isEnabledForloggingDEBUGdebugr8   r   
extra_jsonr   r!   r5   r  r   typer   default_queryr`   r4  r5  
startswithpopr0   r   _serialize_multipartformr-   ForceMultipartDictr&  r^   hostreplacer6  r  r3   r   build_requestr   r   r&   qs	stringifyr   rr   r   )ri   r   r  kwargsr   r  r`   content_typer5  prepared_urlis_body_alloweds              rj   _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< !...00E9 	%*29*=*=GYY4F6N#F7OOKK---JJvt$$$ *t|) 
$.w$I$I^DLLw>
 JPY47$$T'#s(*;V%D%DEEEUY
 
 
 
 	
rm   r/  Mapping[object, object]dict[str, object]c                    | j                             |d          }i }|D ]N\  }}|                    |          }|s|||<   "t          |          r|                    |           G||g||<   O|S )Nbrackets)array_format)rE  stringify_itemsr4  r1   append)ri   r/  r   
serializedkeyvalueexistings          rj   r@  z#BaseClient._serialize_multipartform-  s    '' #	 ( 
 
 )+
 	4 	4JC!~~c**H "'
3 x   4&&&&#+U"3
3rm   cast_totype[ResponseT]c                   t          |j                  s|S t          |j                  }|                    t          t
                    }t          |          r'||_        t          t          t                   |          S |S rf   )	r3   r  r   r?  rF   r    r   r	   r'   )ri   rW  r   r  override_cast_tos        rj   _maybe_override_cast_toz"BaseClient._maybe_override_cast_toK  ss    (( 	N w''
 #;;'>	JJ$%% 	;%GOY)9:::rm   r   c                H    |j                             t                    dk    S )Nstream)r  r4  rE   ri   r   s     rj   _should_stream_response_bodyz'BaseClient._should_stream_response_body\  s    ""#6778CCrm   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   r/  )type_rU  )r   r   )r   r'   r
  inspectisclass
issubclassr.   buildr   r;   r<   r   ValidationErrorrO   )ri   r/  rW  r   errs        rj   _process_response_dataz!BaseClient._process_response_data_  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 rf   r   rw   s    rj   rE  zBaseClient.qsw  s    }}rm   httpx.Auth | Nonec                    d S rf   rg   rw   s    rj   custom_authzBaseClient.custom_auth{  s    trm   dict[str, str]c                    i S rf   rg   rw   s    rj   auth_headerszBaseClient.auth_headers  s    	rm   dict[str, str | Omit]c                \    dd| j         d|                                 | j        | j        S )Nzapplication/json)Acceptr-  z
User-Agent)
user_agentplatform_headersro  r   rw   s    rj   r  zBaseClient.default_headers  sN     )./
 
 ##%%	

 
 "
 	
rm   c                    i | j         S rf   )r   rw   s    rj   r=  zBaseClient.default_query  s    
 
 	
rm   r  r$   c                    dS )zaValidate the given default headers and custom headers.

        Does nothing by default.
        Nrg   )ri   r  r   s      rj   r  zBaseClient._validate_headers  s	     	rm   c                .    | j         j         d| j         S )Nz/Python )ru   rv   r   rw   s    rj   rs  zBaseClient.user_agent  s    .)BB4=BBBrm   c                    | j         S rf   )r   rw   s    rj   r   zBaseClient.base_url  s
    ~rm   	URL | strc                    |                      t          |t                    r|nt          |                    | _        d S rf   )r   r   r   r   rh   s     rj   r   zBaseClient.base_url  s8    55ZS=Q=Q6_ccWZ[^W_W_``rm   Dict[str, str]c                8    t          | j        | j                  S )N)platform)rt  r   r   rw   s    rj   rt  zBaseClient.platform_headers  s      GGGGrm   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)	r4  floatr   r   emailutilsparsedate_tz	mktime_tztime)ri   r~  retry_ms_headerretry_headerretry_date_tuple
retry_dates         rj   _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  minrD   powrB   r   )
ri   r  r   r~  r   retry_after
nb_retriessleep_secondsjitterr   s
             rj   _calculate_retry_timeoutz#BaseClient._calculate_retry_timeout  s     --d.>?? 445EFF"q;'<'<'<'<"'<'<'<'<'< '88$??
 /#c:2F2FFXX TFHH_$&(!Q,,wwA-rm   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  r4  rQ   r:  r  )ri   r   should_retry_headers      rj   _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		.!!!urm   c                .    dt          j                     S )Nzstainless-python-retry-)uuiduuid4rw   s    rj   _idempotency_keyzBaseClient._idempotency_key  s    7777rm   )r   rr   r   r   r   r   r   r   r   r   r   r   r   r   rc   rd   )r^   r   rc   r   )r   r   rc   rL   )r  rr   r   r
  r   r   rc   r  )r   r:   r  r   rc   r  )r^   rr   rc   r   )rc   r'  )r   r:   r  r   rc   r*  )r/  rL  rc   rM  )rW  rX  r   r:   rc   rX  )r   r*  rc   r   )r/  r
  rW  rX  r   r   rc   r'   )rc   r   )rc   rj  )rc   rm  )rc   rp  )rc   rM  )r  r$   r   r$   rc   rd   ry   )rc   r   )r^   ry  rc   rd   )rc   r{  rf   )r~  r  rc   r  )r  r   r   r:   r~  r  rc   r  )r   r   rc   r   )"rv   rz   r{   r}   r   rC   rA   rk   r   r	  r  r   r&  r)  rK  r@  r[  r_  rh  propertyrE  rl  ro  r  r=  r  rs  r   setterrt  r  r  r  r  rg   rm   rj   r   r   i  sH        MMMNNN((((%%%%####8<<<<< /*93748     4; ; ; ;
N N N N,$ $ $ $ TU      4       	P
 P
 P
 P
 P
 P
d   <   "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 8rm   r   c                        e Zd Zd fdZ xZS )_DefaultHttpxClientrG  r   rc   rd   c                    |                     dt                     |                     dt                     |                     dd            t                      j        di | d S Nr   limitsfollow_redirectsTrg   
setdefaultrA   rG   superrk   ri   rG  ru   s     rj   rk   z_DefaultHttpxClient.__init__  j    )_555($=>>>,d333""6"""""rm   rG  r   rc   rd   rv   rz   r{   rk   __classcell__ru   s   @rj   r  r    =        # # # # # # # # # #rm   r  c                      e Zd ZddZdS )SyncHttpxClientWrapperrc   rd   c                d    | j         rd S 	 |                                  d S # t          $ r Y d S w xY wrf   )r   closer  rw   s    rj   __del__zSyncHttpxClientWrapper.__del__'  sI    > 	F	JJLLLLL 	 	 	DD	s   ! 
//Nrc   rd   rv   rz   r{   r  rg   rm   rj   r  r  &  s(             rm   r  c                  0    e Zd ZU ded<   dZded<   eedddddn fdZdodZdpdZ	dqdZ
drd%Zdsd(Zdtd+Zedud3            Zed4d5dvd8            Zed4dd9dwd<            Zd4dd9dxd>ZdydBZdCdDdzdGZd{dMZei d4dNd|dQ            Zei dRd}dT            Zei ddUd~dV            Zi d4ddWd~dXZedi dd4dYdd^            Zedi dd_dd`            Zedi dddaddb            Zdi dd4ddcdddZdi deddfZddi dgddhZdi deddiZdi djdkddmZ xZS )r   zhttpx.Clientr   Nztype[Stream[Any]] | Noner   r   r   http_clientr   r   r   rr   r   r   r   r   r   !float | Timeout | None | NotGivenr  httpx.Client | Noner   r   r   r   r   r   rc   rd   c          	        t          |          s!|r|j        t          k    r|j        }nt          }|9t	          |t
          j                  st          dt          |                     t                      
                    |t          t          |          |||||           |p#t          |t          t          |                    | _        d S )NzOInvalid `http_client` argument; Expected an instance of `httpx.Client` but got )r   r   r   r   r   r   r   r   r   )r3   r   HTTPX_DEFAULT_TIMEOUTrA   r   r   Clientr   r<  r  rk   r   r%   r  r   )
ri   r   r   r   r   r  r   r   r   ru   s
            rj   rk   zSyncAPIClient.__init__5  s        	*  *{26KKK%-)":k5<+P+P"ubfgrbsbsuu   	'**#%)(C 	 		
 		
 		
 # 
&<'**'
 '
 '
rm   c                    | j         j        S rf   r   r   rw   s    rj   r   zSyncAPIClient.is_closedc      |%%rm   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    rj   r  zSyncAPIClient.closef  s:     4## 	!L     	! 	!rm   ri   rU   c                    | S rf   rg   rw   s    rj   	__enter__zSyncAPIClient.__enter__p  s    rm   exc_typetype[BaseException] | NoneexcBaseException | Noneexc_tbTracebackType | Nonec                .    |                                   d S rf   r  ri   r  r  r  s       rj   __exit__zSyncAPIClient.__exit__s  s     	

rm   r   r:   c                    |S z#Hook for mutating the given optionsrg   ri   r   s     rj   _prepare_optionszSyncAPIClient._prepare_options{  s	    
 rm   r   r*  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.
        Nrg   r^  s     rj   _prepare_requestzSyncAPIClient._prepare_request  s	     trm   rW  Type[ResponseT]r]  Literal[True]
stream_clsType[_StreamT]rX   c                   d S rf   rg   ri   rW  r   r]  r  s        rj   r   zSyncAPIClient.request  s	     3rm   Fr]  Literal[False]r'   c                   d S rf   rg   ri   rW  r   r]  s       rj   r   zSyncAPIClient.request  s	     Crm   r]  r  Type[_StreamT] | NoneResponseT | _StreamTc                   d S rf   rg   r  s        rj   r   zSyncAPIClient.request  s	      #srm   type[_StreamT] | Nonec          	        |                      ||          }t          |          }|j        6|j                                        dk    r|                                 |_        d }|                    | j                  }d}t          |dz             D ]2}t          |          }| 	                    |          }||z
  }	| 
                    ||          }
|                     |
           i }| j        
| j        |d<   |j        
|j        |d<   t                              d|
j        |
j                   d }	  | j        j        |
fd|p|                     |
	          i|}n# t(          j        $ rq}t                              d
d           |	dk    r|                     |||d            Y d }~!t                              d           t/          |
	          |d }~wt0          $ rq}t                              dd           |	dk    r|                     |||d            Y d }~t                              d           t3          |
	          |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    rR|                      |j!                  r8|j!        "                                 |                     ||||           Y d }~|j!        j#        s|j!        $                                 t                              d           | %                    |j!                  d d }~ww xY w |
J d            | &                    ||||||          S Nr4  r   r   r  authr  zSending HTTP Request: %s %sr]  )r   z"Encountered httpx.TimeoutExceptionT)exc_info)r  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))rW  r   r   r]  r  r  )'r[  r7   r  r6  r  r  r  r   ranger  rK  r  rl  r  rQ   r:  r^   r   sendr_  r   TimeoutException_sleep_for_retryrM   r  rN   r  reason_phraser  r4  raise_for_statusHTTPStatusErrorr  r   r  r   r  r	  _process_responseri   rW  r   r]  r  input_optionsr   r   r  r  r   rG  rg  s                rj   r   zSyncAPIClient.request  s    ..w@@
 #7++(0]5I5O5O5Q5QUZ5Z5Z,0,A,A,C,CM)*.#33D4DEE";?33 V	 V	M //G++G44G +m ;))')OOG!!'***$&F+!%!1v'3-4-E)*II3W^W[QQQH!C,4<, !WT%F%Fw%F%W%W  
 ) @ @ @		>	NNN$q(())&3$/ -!%	 *    HHHH		1222%g666C? C C C		1D	AAA$q(())&3$/ -!%	 *    HHHH		4555(999sBC II1$&    II&(8(<(<^(L(LMMMT))++++( T T T		=	MMM$q((T-?-?-M-M(L&&((())&3$/ -!)	 *    HHHH |- (L%%'''		3444;;CLIItS'T* ##%W###%%!' & 
 
 	
sP   8+E$$I3;G4+GI,;I-+IIK!!O0A.N>$AN>>Or  r   httpx.Response | Nonec               2   ||z
  }|dk    rt                               d           nt                               d|           |                     |||r|j        nd           }t                               d|j        |           t          j        |           d S Nr   z1 retry leftz%i retries leftz$Retrying request to %s in %f seconds)rQ   r:  r  r  r   r^   r  sleepri   r  r   r   r   r  r   s          rj   r  zSyncAPIClient._sleep_for_retry"  s     (-7!!IIn%%%%II'):;;;//0A7`hLrHL\L\nrss7gNNN
7rm   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                    r|r1t          |j         j                            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   rW  r]  r  r   r  !API Response types must subclass ; Received type[BaseAPIResponse[Any]]rX  )r   r  r4  rE   r   r'   rP   r   rb  rc  rd  r>   r   r=   r   r@   r   Responseparse
ri   rW  r   r   r]  r  r  originresponse_clsapi_responses
             rj   r  zSyncAPIClient._process_response0  s    #''(;<<FF! #!)#"/     G$$/ OF##	6?33	 	  $H$4$<$@$@AT$U$UVV	 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!!###rm   r   Type[object]r   Type[SyncPageT]rR   c                V     d fd}|_                              |d          S )Nr   rR   rc   c                8    |                                 | S )N)r   r   r   )r   )r   r   r   ri   s    rj   r   z0SyncAPIClient._request_api_list.<locals>._parserz  s0    (( )   
 Krm   Fr  )r   rR   rc   rR   )r   r   )ri   r   r   r   r   s   `` ` rj   r   zSyncAPIClient._request_api_listt  sO    	 	 	 	 	 	 	 	 &||D'%|888rm   r   r]  pathr,   c                   d S rf   rg   ri   r  rW  r   r]  s        rj   r4  zSyncAPIClient.get  s	     Crm   r   type[_StreamT]c                   d S rf   rg   ri   r  rW  r   r]  r  s         rj   r4  zSyncAPIClient.get  s	     3rm   r   r  c                   d S rf   rg   r  s         rj   r4  zSyncAPIClient.get  s	      #srm   r   r]  r  c          	         t          j        dd|d|}t          t          |                     ||||                    S Nr4  )r6  r^   r  rg   )r:   	constructr   r'   r   ri   r  rW  r   r]  r  optss          rj   r4  zSyncAPIClient.get  sH     #,OEtOOwOO It||GT&U_|``aaarm   )r   r   r5  r]  r   Body | Noner5  RequestFiles | Nonec                   d S rf   rg   )ri   r  rW  r   r   r5  r]  s          rj   postzSyncAPIClient.post  s	     Crm   )r   r   r5  c                   d S rf   rg   ri   r  rW  r   r   r5  r]  r  s           rj   r#  zSyncAPIClient.post  s	     3rm   )r   r   r5  r  c                   d S rf   rg   r%  s           rj   r#  zSyncAPIClient.post  s	      #srm   )r   r   r5  r]  r  c          	         t          j        dd||t          |          d|}t          t          |                     ||||                    S Nr#  r6  r^   r   r5  r  rg   )r:   r  r   r   r'   r   )	ri   r  rW  r   r   r5  r]  r  r  s	            rj   r#  zSyncAPIClient.post  s`     #, 
tt>%;P;P
 
T[
 
 It||GT&U_|``aaarm   r   r   c               X    t          j        dd||d|}|                     ||          S Npatchr6  r^   r   rg   r:   r  r   ri   r  rW  r   r   r  s         rj   r-  zSyncAPIClient.patch  s9     #,aGQUaaY`aa||GT***rm   r   r5  r   c          	     t    t          j        dd||t          |          d|}|                     ||          S Nputr)  rg   )r:   r  r   r   ri   r  rW  r   r5  r   r  s          rj   r4  zSyncAPIClient.put  sO     #, 
dd.:O:O
 
SZ
 
 ||GT***rm   c               X    t          j        dd||d|}|                     ||          S Ndeleter.  rg   r/  r0  s         rj   r8  zSyncAPIClient.delete  s9     #,bH$RVbbZabb||GT***rm   r4  r   r   r6  r6  c               Z    t          j        d|||d|}|                     |||          S Nr.  rg   r:   r  r   ri   r  r   r   r   r   r6  r  s           rj   get_api_listzSyncAPIClient.get_api_list  =     #,`FPT``X_``%%eT4888rm   )r   rr   r   r   r   r   r   r  r  r  r   r   r   r   r   r   rc   rd   r   r  ri   rU   rc   rU   r  r  r  r  r  r  rc   rd   r   r:   rc   r:   r   r*  rc   rd   )
rW  r  r   r:   r]  r  r  r  rc   rX   rW  r  r   r:   r]  r  rc   r'   )
rW  r  r   r:   r]  r   r  r  rc   r  )
rW  r  r   r:   r]  r   r  r  rc   r  
r  r   r   r   r   r:   r   r  rc   rd   rW  r  r   r:   r   r   r]  r   r  r  r  r   rc   r'   )r   r  r   r  r   r:   rc   rR   
r  rr   rW  r  r   r,   r]  r  rc   r'   )r  rr   rW  r  r   r,   r]  r  r  r  rc   rX   )r  rr   rW  r  r   r,   r]  r   r  r  rc   r  )r  rr   rW  r  r   r   r   r,   r5  r!  r]  r  rc   r'   )r  rr   rW  r  r   r   r   r,   r5  r!  r]  r  r  r  rc   rX   )r  rr   rW  r  r   r   r   r,   r5  r!  r]  r   r  r  rc   r  
r  rr   rW  r  r   r   r   r,   rc   r'   r  rr   rW  r  r   r   r5  r!  r   r,   rc   r'   )r  rr   r   r  r   r  r   r   r   r,   r6  rr   rc   rR   )rv   rz   r{   r}   r   rC   r    rk   r   r  r  r  r  r  r   r   r  r  r   r4  r#  r-  r4  r8  r>  r  r  s   @rj   r   r   1  s+        488888 /5>+/3748,
 ,
 ,
 ,
 ,
 ,
 ,
 ,
\& & & &! ! ! !         	 	 	 	    X  "'     X  ,0# # # # # X# ,0v
 v
 v
 v
 v
 v
p   , B$ B$ B$ B$ B$ B$H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 9rm   r   c                        e Zd Zd fdZ xZS )_DefaultAsyncHttpxClientrG  r   rc   rd   c                    |                     dt                     |                     dt                     |                     dd            t                      j        di | d S r  r  r  s     rj   rk   z!_DefaultAsyncHttpxClient.__init__  r  rm   r  r  r  s   @rj   rK  rK    r  rm   rK  c                        e Zd Zd fdZ xZS )_DefaultAioHttpClientrG  r   rc   rd   c                    |                     dt                     |                     dt                     |                     dd            t                      j        di | d S r  r  r  s     rj   rk   z_DefaultAioHttpClient.__init__.  sj    i999h(ABBB0$777EGG&&v&&&&&rm   r  r  r  s   @rj   rN  rN  -  s=        	' 	' 	' 	' 	' 	' 	' 	' 	' 	'rm   rN  c                      e Zd ZddZdS )rN  _kwargsr   rc   rd   c                     t          d          )NzVTo use the aiohttp client you must have installed the package with the `aiohttp` extra)r   )ri   rQ  s     rj   rk   z_DefaultAioHttpClient.__init__)  s    wxxxrm   N)rQ  r   rc   rd   )rv   rz   r{   rk   rg   rm   rj   rN  rN  (  s.        	y 	y 	y 	y 	y 	yrm   c                      e Zd ZddZdS )AsyncHttpxClientWrapperrc   rd   c                    | j         rd S 	 t          j                                        |                                            d S # t
          $ r Y d S w xY wrf   )r   asyncioget_running_loopcreate_taskacloser  rw   s    rj   r  zAsyncHttpxClientWrapper.__del__G  sc    > 	F	$&&224;;==AAAAA 	 	 	DD	s   8A 
AANr  r  rg   rm   rj   rT  rT  F  s(             rm   rT  c                  .    e Zd ZU ded<   dZded<   eedddddl fdZdmdZdndZ	dodZ
dpd%Zdqd(Zdrd+Zed,d-dsd3            Zedtd8            Zedd9dud<            Zd,dd=dud>ZdvdBZdCdDdwdGZdxdMZei d,dNdydQ            Zei dRdzdS            Zei ddTd{dU            Zi d,ddVd{dWZeddi d,dXd|d]            Zeddi d^d}d_            Zeddi dd`d~da            Zddi d,ddbd~dcZdi ddddeZddi d^ddfZdi ddddgZdi dhdiddk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  httpx.AsyncClient | Noner   r   r   r   rc   rd   c          	        t          |          s!|r|j        t          k    r|j        }nt          }|9t	          |t
          j                  st          dt          |                     t                      
                    ||t          t          |          ||||           |p#t          |t          t          |                    | _        d S )NzTInvalid `http_client` argument; Expected an instance of `httpx.AsyncClient` but got )r   r   r   r   r   r   r   r  )r3   r   r  rA   r   r   AsyncClientr   r<  r  rk   r   r%   rT  r   )
ri   r   r   r   r   r   r  r   r   ru   s
            rj   rk   zAsyncAPIClient.__init__V  s        	*  *{26KKK%-)":k5CT+U+U"zgklwgxgxzz   	'**#%)(C 	 		
 		
 		
 # 
&='**'
 '
 '
rm   c                    | j         j        S rf   r  rw   s    rj   r   zAsyncAPIClient.is_closed  r  rm   c                H   K   | j                                          d{V  dS )r  N)r   rY  rw   s    rj   r  zAsyncAPIClient.close  s4      
 l!!###########rm   ri   rU   c                
   K   | S rf   rg   rw   s    rj   
__aenter__zAsyncAPIClient.__aenter__  s      rm   r  r  r  r  r  r  c                >   K   |                                   d {V  d S rf   r  r  s       rj   	__aexit__zAsyncAPIClient.__aexit__  s.       jjllrm   r   r:   c                
   K   |S r  rg   r  s     rj   r  zAsyncAPIClient._prepare_options  s      
 rm   r   r*  c                
   K   dS r  rg   r^  s     rj   r  zAsyncAPIClient._prepare_request  s       trm   Fr  rW  r  r]  r  r'   c               
   K   d S rf   rg   r  s       rj   r   zAsyncAPIClient.request  s       Crm   r  r  type[_AsyncStreamT]rY   c               
   K   d S rf   rg   r  s        rj   r   zAsyncAPIClient.request  s       rm   )r  type[_AsyncStreamT] | NoneResponseT | _AsyncStreamTc               
   K   d S rf   rg   r  s        rj   r   zAsyncAPIClient.request  s       %(Crm   r  c          	       K   | j         ' t          t                                 d {V | _         |                     ||          }t	          |          }|j        6|j                                        dk    r|                                 |_        d }|	                    | j
                  }d}t          |dz             D ]c}t	          |          }|                     |           d {V }||z
  }	|                     ||          }
|                     |
           d {V  i }| j        
| j        |d<   |j        
|j        |d<   t"                              d|
j        |
j                   d }	  | j        j        |
fd|p|                     |
	          i| d {V }n# t.          j        $ rw}t"                              d
d           |	dk    r%|                     |||d            d {V  Y d }~:t"                              d           t5          |
	          |d }~wt6          $ rw}t"                              dd           |	dk    r%|                     |||d            d {V  Y d }~t"                              d           t9          |
	          |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$                  rD|j$        %                                 d {V  |                     ||||           d {V  Y d }~|j$        j&        s|j$        '                                 d {V  t"                              d           | (                    |j$                  d d }~ww xY w |
J d            | )                    ||||||           d {V S r  )*r   r2   get_platformr[  r7   r  r6  r  r  r  r   r  r  rK  r  rl  r  rQ   r:  r^   r   r  r_  r   r  r  rM   r  rN   r  r  r  r4  r  r  r  r   rY  r   areadr	  r  r  s                rj   r   zAsyncAPIClient.request  s      >! $:8L#9#9#;#;;;;;;;DN..w@@
 #7++(0]5I5O5O5Q5QUZ5Z5Z,0,A,A,C,CM)*.#33D4DEE";?33 V	 V	M //G 11'::::::::G +m ;))')OOG''000000000$&F+!%!1v'3-4-E)*II3W^W[QQQH!C!2!2" "!WT%F%Fw%F%W%W" " "      
 ) @ @ @		>	NNN$q((//&3$/ -!%	 0          HHHH		1222%g666C? C C C		1D	AAA$q((//&3$/ -!%	 0          HHHH		4555(999sBC II1$&    II&(8(<(<^(L(LMMMT))++++( T T T		=	MMM$q((T-?-?-M-M(,--///////////&3$/ -!)	 0          HHHH |- /,,,.........		3444;;CLIItS'T* ##%W###++!' , 
 
 
 
 
 
 
 
 	
sR   41F''J,6AH(=+H((J,5AJ'<+J''J,L00P$?A:P?A PP$r  r   r  c               B  K   ||z
  }|dk    rt                               d           nt                               d|           |                     |||r|j        nd           }t                               d|j        |           t          j        |           d {V  d S r  )rQ   r:  r  r  r   r^   anyior  r  s          rj   r  zAsyncAPIClient._sleep_for_retryE  s       (-7!!IIn%%%%II'):;;;//0A7`hLrHL\L\nrss7gNNNk'"""""""""""rm   r   r  r   r  c                 K   |j         j                            t                    dk    r)t	          t
          t          || |||||                    S t          |          p|}t          j	        |          rt          |t                    r|r1t          |j         j                            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'   rX  )r   r  r4  rE   r   r'   rP   r   rb  rc  rd  r>   r   r?   r   r@   r   r  r  r  s
             rj   r  z AsyncAPIClient._process_responseS  s
      #''(;<<FF! #!)#"/     G$$/ OF##	6?33	 	  $H$4$<$@$@AT$U$UVV	 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!'')))))))))rm   r   r   r   r   AsyncPaginator[_T, AsyncPageT]c                (    t          | |||          S )N)r   r   r   r   )r   )ri   r   r   r   s       rj   r   z AsyncAPIClient._request_api_list  s     T7TQVWWWWrm   r  r  r,   c               
   K   d S rf   rg   r  s        rj   r4  zAsyncAPIClient.get  s       Crm   r  c               
   K   d S rf   rg   r  s         rj   r4  zAsyncAPIClient.get  s       rm   r  c               
   K   d S rf   rg   r  s         rj   r4  zAsyncAPIClient.get  s       %(Crm   r  c               l   K   t          j        dd|d|}|                     ||||           d {V S r  r/  r  s          rj   r4  zAsyncAPIClient.get  sQ       #,OEtOOwOO\\'4:\VVVVVVVVVrm   )r   r5  r   r]  r   r   r5  r!  c               
   K   d S rf   rg   )ri   r  rW  r   r5  r   r]  s          rj   r#  zAsyncAPIClient.post  s       Crm   r1  c               
   K   d S rf   rg   ri   r  rW  r   r5  r   r]  r  s           rj   r#  zAsyncAPIClient.post  s       rm   )r   r5  r   r  c               
   K   d S rf   rg   rz  s           rj   r#  zAsyncAPIClient.post  s       %(Crm   )r   r5  r   r]  r  c          	        K   t          j        dd||t          |           d {V d|}|                     ||||           d {V S r(  r:   r  r   r   )	ri   r  rW  r   r5  r   r]  r  r  s	            rj   r#  zAsyncAPIClient.post  s       #, 
ttAUV[A\A\;\;\;\;\;\;\
 
`g
 
 \\'4:\VVVVVVVVVrm   r*  c               h   K   t          j        dd||d|}|                     ||           d {V S r,  r/  r0  s         rj   r-  zAsyncAPIClient.patch  sO       #,aGQUaaY`aa\\'4000000000rm   c          	        K   t          j        dd||t          |           d {V d|}|                     ||           d {V S r3  r}  r5  s          rj   r4  zAsyncAPIClient.put  sy       #, 
dd@TUZ@[@[:[:[:[:[:[:[
 
_f
 
 \\'4000000000rm   c               h   K   t          j        dd||d|}|                     ||           d {V S r7  r/  r0  s         rj   r8  zAsyncAPIClient.delete  sO       #,bH$RVbbZabb\\'4000000000rm   r4  r9  r6  c               Z    t          j        d|||d|}|                     |||          S r;  r<  r=  s           rj   r>  zAsyncAPIClient.get_api_list%  r?  rm   )r   rr   r   r   r   r   r   r   r   r  r  r[  r   r   r   r   rc   rd   r   r  r@  rA  rB  rC  rD  )
rW  r  r   r:   r]  r  r  rg  rc   rY   )
rW  r  r   r:   r]  r   r  ri  rc   rj  rE  rF  )r   r   r   r   r   r:   rc   rr  rG  )r  rr   rW  r  r   r,   r]  r  r  rg  rc   rY   )r  rr   rW  r  r   r,   r]  r   r  ri  rc   rj  )r  rr   rW  r  r   r   r5  r!  r   r,   r]  r  rc   r'   )r  rr   rW  r  r   r   r5  r!  r   r,   r]  r  r  rg  rc   rY   )r  rr   rW  r  r   r   r5  r!  r   r,   r]  r   r  ri  rc   rj  rH  rI  )r  rr   r   r   r   r   r   r   r   r,   r6  rr   rc   rr  )rv   rz   r{   r}   r   rC   r    rk   r   r  ra  rc  r  r  r   r   r  r  r   r4  r#  r-  r4  r8  r>  r  r  s   @rj   r   r   R  s,        9===== /5>043748,
 ,
 ,
 ,
 ,
 ,
 ,
 ,
\& & & &$ $ $ $         	 	 	 	  "'     X    X  26( ( ( ( ( X( 15{
 {
 {
 {
 {
 {
z# # # #, B* B* B* B* B* B*H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 9rm   r   )queryextra_headersextra_query
extra_bodyr  r   r   r  Query | Noner  Headers | Noner  r  r   r  r   r   'float | httpx.Timeout | None | NotGivenr   PostParser | NotGivenrc   r,   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  r;  r`   r   r  r   )r   r(   r4  r   r&   r3   )r  r  r  r  r  r   r   r   s           rj   make_request_optionsr  3  s     !G *	 $Z < <!Hw{{8R88HKHgx(( %$	"%4!" -!,Nrm   c                      e Zd ZddZdS )rA  rc   r   c                    dS )NTrg   rw   s    rj   __bool__zForceMultipartDict.__bool__Y  s    trm   Nr   )rv   rz   r{   r  rg   rm   rj   rA  rA  X  s(             rm   rA  c                  .    e Zd ZddZed	d            ZdS )
OtherPlatformnamerr   rc   rd   c                    || _         d S rf   r  ri   r  s     rj   rk   zOtherPlatform.__init__^      			rm   c                    d| j          S )NzOther:r  rw   s    rj   __str__zOtherPlatform.__str__a      #	###rm   Nr  rr   rc   rd   ry   rv   rz   r{   rk   r   r  rg   rm   rj   r  r  ]  H            $ $ $ X$ $ $rm   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      rj   rm  rm  u  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   rm  get_architectureget_python_runtimeget_python_version)r   r}  s     rj   rt  rt    sQ     %'.h8,..99 0 2 233133'9';';  rm   c                  .    e Zd ZddZed	d            ZdS )
	OtherArchr  rr   rc   rd   c                    || _         d S rf   r  r  s     rj   rk   zOtherArch.__init__  r  rm   c                    d| j          S )Nzother:r  rw   s    rj   r  zOtherArch.__str__  r  rm   Nr  ry   r  rg   rm   rj   r  r    r  rm   r  )x32x64armarm64unknownc                 L    	 t          j                    S # t          $ r Y dS w xY wNr  )r}  python_implementationr  rg   rm   rj   r  r    s8    -///   yy    
##c                 L    	 t          j                    S # t          $ r Y dS w xY wr  )r}  python_versionr  rg   rm   rj   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    rj   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 rg   )r   r"   )r  rT  rU  s      rj   
<dictcomp>z#_merge_mappings.<locals>.<dictcomp>  s.    WWW:3z%QU?V?VWCWWWrm   )r   )r  r  mergeds      rj   r  r    s/     FWWWWWWrm   )r  r  r  r  r  r  r  r   r  r   r   r  r   r  rc   r,   )rc   r  )r   rr   r}  r  rc   r{  ry   )rc   r  )r  r  r  r  rc   r  )
__future__r   r  rb   r  r  r  rV  rb  r8  r}  email.utilstypesr   r   typingr   r   r   r	   r
   r   r   r   r   r   r   r   r   r   r   typing_extensionsr   r   r   rp  r   r  r   r   r    r   _qsr   _filesr   r   _typesr    r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   _utilsr/   r0   r1   r2   r3   r4   r5   _compatr6   r7   r8   _modelsr9   r:   r;   r<   	_responser=   r>   r?   r@   
_constantsrA   rB   rC   rD   rE   rF   rG   
_streamingrH   rI   rJ   rK   rL   rM   rN   rO   _legacy_responserP   	getLoggerrv   rQ   r}   	addFilterrR   rT   rU   rV   rX   rY   httpx._configrZ   r  ImportErrorr\   r   r   r   r   r  r]  r   r   r   r  DefaultHttpxClientr  r   rK  httpx_aiohttpHttpxAiohttpClientrN  DefaultAsyncHttpxClientDefaultAioHttpClientrT  r   r  rr   rA  r  r  rm  rt  r  r  r  r  r  r  rg   rm   rj   <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 8 8 8 8 8 8 8 8 8 8 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/?@@@ -      3-QQQQQQQ - - - '-
0B 0B 0B 0B 0B 0B 0B 0Bf:6 :6 :6 :6 :6|WR[ :6 :6 :6z.a .a .a .a .a8B< .a .a .ab$ $ $ $ $WR^, $ $ $N&g &g &g &g &gHRL'"+ &g &g &gR uU\5CT5T/UVVV'+5kRUFV9V3WXXXf8 f8 f8 f8 f878 f8 f8 f8R# # # # #%, # # #  	- -    /   h9 h9 h9 h9 h9Ju|VC[89 h9 h9 h9V# # # # #u0 # # #'' ' ' ' ' @ ' ' ' '  y y yy y y y y 1 y y y y yy   1#/ !,_60	 	 	 	 	5 	 	 	^9 ^9 ^9 ^9 ^9Z 1;s3C CD ^9 ^9 ^9F $( $""&7@)2" " " " " "J    c4i   
$ $ $ $ $ $ $ $ 		
' ' ' 'T 4   $ $ $ $ $ $ $ $ Y GHHI         4	X 	X 	X 	X 	X 	Xs$   4F; ;GG7L L*)L*