
    yg                   p   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#ltmuZv n	 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~                  Zere$j~        ZneZ G d; d<e          Z G d= d>ee$j~        eae         f                   Zddddde1e1d?djdOZ G dP dQeedf                   Z G dR dS          Zeee dT         f         ZdkdVZ eFd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)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<   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 selfr^   s     N/var/www/html/nourish/venv/lib/python3.11/site-packages/openai/_base_client.py__init__zPageInfo.__init__y   	    
 s    r#   c                   d S rd   re   )rg   r`   s     rh   ri   zPageInfo.__init__   rj   rk   r^   r`   c               "    || _         || _        d S rd   rm   )rg   r^   r`   s      rh   ri   zPageInfo.__init__   s     rk   strc                l    | j         r| j        j         d| j          dS | j        j         d| j         dS )Nz(url=)z(params=)r^   	__class____name__r`   rg   s    rh   __repr__zPageInfo.__repr__   sI    8 	@n-??DH????.)AA4;AAAArk   N)r^   r   ra   rb   )r`   r#   ra   rb   )r^   r]   r`   r_   ra   rb   ra   ro   )
rs   
__module____qualname____doc____annotations__r   ri   r    r   ru   re   rk   rh   r\   r\   p   s          
    X    X (#,	      B B B XB B Brk   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]_modelra   boolc                ^    |                                  }|sdS |                                 d uS )NF)_get_page_itemsnext_page_info)rg   itemss     rh   has_next_pagezBasePage.has_next_page   s7    $$&& 	5""$$D00rk   Optional[PageInfo]c                    d S rd   re   rt   s    rh   r   zBasePage.next_page_info   s      rk   Iterable[_T]c                    d S rd   re   rt   s    rh   r   zBasePage._get_page_items   s    rk   r^   r   httpx.QueryParamsc                    t          j        t          t          | j        j                                                |j                  S rd   )httpxQueryParamsr   r   r}   r`   mergerf   s     rh   _params_from_urlzBasePage._params_from_url   s2     c4=+?!@!@AAGG
SSSrk   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)r`   zUnexpected PageInfo state)r7   r}   _strip_raw_response_header
isinstancer`   r&   r^   r   	copy_withdictro   
ValueError)rg   r   optionsr`   r^   s        rh   _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5rk   Nra   r   )ra   r   )ra   r   )r^   r   ra   r   )r   r\   ra   r:   )rs   rw   rx   ry   r   r}   rz   r   r   r   r   r   r   re   rk   rh   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 6rk   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:   ra   rb   c                n    t           rt          | dd           i | _        || _        || _        || _        d S N__pydantic_private__r6   getattrr   r   r   r}   )rg   r   r   r   s       rh   _set_private_attributesz$BaseSyncPage._set_private_attributes   ?      	+74)?FFN(*D%rk   Iterator[_T]c              #  n   K   |                                  D ]}|                                D ]}|V  d S rd   
iter_pagesr   rg   pageitems      rh   __iter__zBaseSyncPage.__iter__   sT      OO%% 	 	D,,..  



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




 ,++s   ;rg   rT   AsyncIterator[AsyncPageT]c               z   K   | }	 |W V  |                                 r|                                 d {V }nd S 7rd   r   r   s     rh   r   zBaseAsyncPage.iter_pages4  s^      	JJJJ!!## !//11111111	rk   c                   K   |                                  }|st          d          |                     |          }| j                            | j        | j        |           d {V S r   r   r   s      rh   r   zBaseAsyncPage.get_next_page=  s}      ""$$ 	k   ''--\33DKdn^e3fffffffffrk   N)r   r~   r   r   r   r:   ra   rb   r   )rg   rT   ra   r   )rg   rT   ra   rT   )rs   rw   rx   r   r   r   rz   r   r   r   r   re   rk   rh   r   r     s         2h244G4444          
   g g g g g grk   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   ro   _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] | Nonera   rb   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   	_platform	TypeError)rg   r   r   r   r   r   r   r   s           rh   ri   zBaseClient.__init__V  s      55c(mmDD&-3)/R+F(#' *. b   rk   r^   c                v    |j                             d          r|S |                    |j         dz             S )N   /raw_path)r   endswithr   rf   s     rh   r   z"BaseClient._enforce_trailing_slashp  s:    <  && 	J}}clT&9}:::rk   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stripjsonloads	Exception_make_status_error)rg   r   r   err_msgerr_texts        rh    _make_status_error_from_responsez+BaseClient._make_status_error_from_responseu  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                      rd   )NotImplementedError)rg   r  r   r   s       rh   r  zBaseClient._make_status_error  s     "###rk   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 re   )lower).0headers     rh   
<listcomp>z-BaseClient._build_headers.<locals>.<listcomp>  s     LLL6LLLrk   zx-stainless-retry-countzx-stainless-read-timeout)headers_merge_mappingsdefault_headers_validate_headersr   r$   r   methodr  idempotency_key_idempotency_keyro   r   r   r&   r%   read)	rg   r   r  r   headers_dictr  idempotency_headerlower_custom_headersr   s	            rh   _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rk   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   )rg   r^   	merge_urlmerge_raw_paths       rh   _prepare_urlzBaseClient._prepare_url  s[     HH	$ 	D!]3i6H6O6OPT6U6UUN=**N*CCCrk   SSEDecoder | SSEBytesDecoderc                    t                      S rd   )rI   rt   s    rh   _make_sse_decoderzBaseClient._make_sse_decoder  s    ||rk   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 tS          |          r|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  r^   r`   r   filesre   )*rQ   isEnabledForloggingDEBUGdebugr8   	json_data
extra_jsonr   r!   r5   r  r   typer   default_queryr`   r  r4  
startswithpopr0   r   _serialize_multipartformr-   ForceMultipartDictr&  r^   hostreplacer   build_requestr   r   r&   r  qs	stringifyr   ro   r   r3   )
rg   r   r  kwargsr9  r  r`   content_typer4  prepared_urls
             rh   _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&y11;t
 
 
 
 	
rk   r/  Mapping[object, object]dict[str, object]c                    | j                             |d          }i }|D ]N\  }}|                    |          }|s|||<   "t          |          r|                    |           G||g||<   O|S )Nbrackets)array_format)rD  stringify_itemsr  r1   append)rg   r/  r   
serializedkeyvalueexistings          rh   r?  z#BaseClient._serialize_multipartform	  s    '' #	 ( 
 
 )+
 	4 	4JC!~~c**H "'
3 x   4&&&&#+U"3
3rk   cast_totype[ResponseT]c                   t          |j                  s|S t          |j                  }|                    t          t
                    }t          |          r'||_        t          t          t                   |          S |S rd   )	r3   r  r   r>  rF   r    r   r	   r'   )rg   rU  r   r  override_cast_tos        rh   _maybe_override_cast_toz"BaseClient._maybe_override_cast_to'  ss    (( 	N w''
 #;;'>	JJ$%% 	;%GOY)9:::rk   r   c                H    |j                             t                    dk    S )Nstream)r  r  rE   rg   r   s     rh   _should_stream_response_bodyz'BaseClient._should_stream_response_body8  s    ""#6778CCrk   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_rS  )r   r   )r   r'   r  inspectisclass
issubclassr.   buildr   r;   r<   r   ValidationErrorrO   )rg   r/  rU  r   errs        rh   _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 rd   r   rt   s    rh   rD  zBaseClient.qsS  s    }}rk   httpx.Auth | Nonec                    d S rd   re   rt   s    rh   custom_authzBaseClient.custom_authW  s    trk   dict[str, str]c                    i S rd   re   rt   s    rh   auth_headerszBaseClient.auth_headers[  s    	rk   dict[str, str | Omit]c                \    dd| j         d|                                 | j        | j        S )Nzapplication/json)Acceptr-  z
User-Agent)
user_agentplatform_headersrm  r   rt   s    rh   r  zBaseClient.default_headers_  sN     )./
 
 ##%%	

 
 "
 	
rk   c                    i | j         S rd   )r   rt   s    rh   r<  zBaseClient.default_queryj  s    
 
 	
rk   r  r$   c                    dS )zaValidate the given default headers and custom headers.

        Does nothing by default.
        Nre   )rg   r  r   s      rh   r  zBaseClient._validate_headersp  s	     	rk   c                .    | j         j         d| j         S )Nz/Python )rr   rs   r   rt   s    rh   rq  zBaseClient.user_agent{  s    .)BB4=BBBrk   c                    | j         S rd   )r   rt   s    rh   r   zBaseClient.base_url  s
    ~rk   	URL | strc                    |                      t          |t                    r|nt          |                    | _        d S rd   )r   r   r   r   rf   s     rh   r   zBaseClient.base_url  s8    55ZS=Q=Q6_ccWZ[^W_W_``rk   Dict[str, str]c                8    t          | j        | j                  S )N)platform)rr  r   r   rt   s    rh   rr  zBaseClient.platform_headers  s      GGGGrk   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)rg   r|  retry_ms_headerretry_headerretry_date_tuple
retry_dates         rh   _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   )
rg   r  r   r|  r   retry_after
nb_retriessleep_secondsjitterr   s
             rh   _calculate_retry_timeoutz#BaseClient._calculate_retry_timeout  s     --d.>?? 445EFF"q;'<'<'<'<"'<'<'<'<'< '88$??
 /#c:2F2FFXX TFHH_$&(!Q,,wwA-rk   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  rQ   r8  r   )rg   r   should_retry_headers      rh   _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		.!!!urk   c                .    dt          j                     S )Nzstainless-python-retry-)uuiduuid4rt   s    rh   r  zBaseClient._idempotency_key  s    7777rk   )r   ro   r   r   r   r   r   r   r   r   r   r   r   r   ra   rb   )r^   r   ra   r   )r   r   ra   rL   )r  ro   r   r  r   r   ra   r  )r   r:   r  r   ra   r  )r^   ro   ra   r   )ra   r'  )r   r:   r  r   ra   r*  )r/  rJ  ra   rK  )rU  rV  r   r:   ra   rV  )r   r*  ra   r   )r/  r  rU  rV  r   r   ra   r'   )ra   r   )ra   rh  )ra   rk  )ra   rn  )ra   rK  )r  r$   r   r$   ra   rb   rv   )ra   r   )r^   rw  ra   rb   )ra   ry  rd   )r|  r}  ra   r~  )r  r   r   r:   r|  r}  ra   r  )r   r   ra   r   )"rs   rw   rx   rz   r   rC   rA   ri   r   r  r  r   r&  r)  rI  r?  rY  r]  rf  propertyrD  rj  rm  r  r<  r  rq  r   setterrr  r  r  r  r  re   rk   rh   r   r   L  sH        MMMNNN((((%%%%####8<<<<< /*93748     4; ; ; ;
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 8rk   r   c                        e Zd Zd fdZ xZS )_DefaultHttpxClientrF  r   ra   rb   c                    |                     dt                     |                     dt                     |                     dd            t                      j        di | d S Nr   limitsfollow_redirectsTre   
setdefaultrA   rG   superri   rg   rF  rr   s     rh   ri   z_DefaultHttpxClient.__init__  j    )_555($=>>>,d333""6"""""rk   rF  r   ra   rb   rs   rw   rx   ri   __classcell__rr   s   @rh   r  r    =        # # # # # # # # # #rk   r  c                      e Zd ZddZdS )SyncHttpxClientWrapperra   rb   c                d    | j         rd S 	 |                                  d S # t          $ r Y d S w xY wrd   )r   closer  rt   s    rh   __del__zSyncHttpxClientWrapper.__del__  sI    > 	F	JJLLLLL 	 	 	DD	s   ! 
//Nra   rb   rs   rw   rx   r  re   rk   rh   r  r    s(             rk   r  c                  H    e Zd ZU ded<   dZded<   eedddddr fdZdsdZdtdZ	dudZ
dvd%Zdwd(Zdxd+Ze	 dydzd5            Ze	 dyd6d7d{d:            Ze	 dyd6dd;d|d>            Z	 dyd6dd;d}d@Zd~dBZddEZdFdGddKZddQZei d6dRddU            Zei dVddX            Zei ddYddZ            Zi d6dd[dd\Zedi dd6d]ddb            Zedi ddcddd            Zedi dddeddf            Zdi dd6ddgddhZdi diddjZddi dkddlZdi diddmZdi dndoddqZ xZS )r   zhttpx.Clientr   Nztype[Stream[Any]] | Noner   r   r   http_clientr   r   r   ro   r   r   r   r   r   !float | Timeout | None | NotGivenr  httpx.Client | Noner   r   r   r   r   r   ra   rb   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  ri   r   r%   r  r   )
rg   r   r   r   r   r  r   r   r   rr   s
            rh   ri   zSyncAPIClient.__init__  s        	*  *{26KKK%-)":k5<+P+P"ubfgrbsbsuu   	'**#%)(C 	 		
 		
 		
 # 
&<'**'
 '
 '
rk   c                    | j         j        S rd   r   r   rt   s    rh   r   zSyncAPIClient.is_closed?      |%%rk   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  rt   s    rh   r  zSyncAPIClient.closeB  s:     4## 	!L     	! 	!rk   rg   rU   c                    | S rd   re   rt   s    rh   	__enter__zSyncAPIClient.__enter__L  s    rk   exc_typetype[BaseException] | NoneexcBaseException | Noneexc_tbTracebackType | Nonec                .    |                                   d S rd   r  rg   r  r  r  s       rh   __exit__zSyncAPIClient.__exit__O  s     	

rk   r   r:   c                    |S z#Hook for mutating the given optionsre   rg   r   s     rh   _prepare_optionszSyncAPIClient._prepare_optionsW  s	    
 rk   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.
        Nre   r\  s     rh   _prepare_requestzSyncAPIClient._prepare_request^  s	     trk   rU  Type[ResponseT]r  Optional[int]r[  Literal[True]
stream_clsType[_StreamT]rX   c                   d S rd   re   rg   rU  r   r  r[  r  s         rh   r   zSyncAPIClient.requesti  	     3rk   Fr[  Literal[False]r'   c                   d S rd   re   )rg   rU  r   r  r[  s        rh   r   zSyncAPIClient.requestt  	     Crk   r[  r  Type[_StreamT] | NoneResponseT | _StreamTc                   d S rd   re   r  s         rh   r   zSyncAPIClient.request~  	      #srk   type[_StreamT] | Nonec               z    ||                     | j                  |z
  }nd}|                     |||||          S Nr   )rU  r   r[  r  r  r  r   _request)rg   rU  r   r  r[  r  r  s          rh   r   zSyncAPIClient.request  sW     (#33D4DEEHYYMMM}}!'  
 
 	
rk   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 %sr[  r   "Encountered httpx.TimeoutExceptionTexc_infor   r  r[  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|  r[  r  Re-raising status errorrU  r   r   r[  r  r  )"r7   rY  r  r  r   rI  r  rj  rQ   r8  r  r^   r   sendr]  r   TimeoutException_retry_requestrM   r  rN   r   reason_phraser  r  raise_for_statusHTTPStatusErrorr  r   r  r   r  r  _process_response)rg   rU  r   r  r[  r  input_optionsr  r   rF  r   re  s               rh   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   rU  r  r[  r  )
r  r   rQ   r8  r  r   r^   r  sleepr  	rg   r   rU  r  r|  r[  r  r  r   s	            rh   r   zSyncAPIClient._retry_request
  s     $33D4DEEU!!IIn%%%%II'):;;;//0A7L\]]7gNNN 	
7}}'!+!  
 
 	
rk   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   rU  r[  r  r   r  !API Response types must subclass ; Received type[BaseAPIResponse[Any]]rV  )r   r  r  rE   r   r'   rP   r   r`  ra  rb  r>   r=   r   r@   r   Responser   parse
rg   rU  r   r   r[  r  r  originresponse_clsapi_responses
             rh   r  zSyncAPIClient._process_response)  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!!###rk   r   Type[object]r   Type[SyncPageT]rR   c                V     d fd}|_                              |d          S )Nr   rR   ra   c                8    |                                 | S )N)r   r   r   )r   )r   r   r   rg   s    rh   r   z0SyncAPIClient._request_api_list.<locals>._parserl  s0    (( )   
 Krk   Fr  )r   rR   ra   rR   )r   r   )rg   r   r   r   r   s   `` ` rh   r   zSyncAPIClient._request_api_listf  sO    	 	 	 	 	 	 	 	 &||D'%|888rk   r   r[  pathr,   c                   d S rd   re   rg   r  rU  r   r[  s        rh   r  zSyncAPIClient.getx  r  rk   r   type[_StreamT]c                   d S rd   re   rg   r  rU  r   r[  r  s         rh   r  zSyncAPIClient.get  r  rk   r   r  c                   d S rd   re   r#  s         rh   r  zSyncAPIClient.get  r  rk   r   r[  r  c          	         t          j        dd|d|}t          t          |                     ||||                    S Nr  )r  r^   r  re   )r:   	constructr   r'   r   rg   r  rU  r   r[  r  optss          rh   r  zSyncAPIClient.get  sH     #,OEtOOwOO It||GT&U_|``aaark   )r   r   r4  r[  r   Body | Noner4  RequestFiles | Nonec                   d S rd   re   )rg   r  rU  r   r   r4  r[  s          rh   postzSyncAPIClient.post  s	     Crk   )r   r   r4  c                   d S rd   re   rg   r  rU  r   r   r4  r[  r  s           rh   r/  zSyncAPIClient.post  s	     3rk   )r   r   r4  r  c                   d S rd   re   r1  s           rh   r/  zSyncAPIClient.post  s	      #srk   )r   r   r4  r[  r  c          	         t          j        dd||t          |          d|}t          t          |                     ||||                    S Nr/  r  r^   r9  r4  r  re   )r:   r)  r   r   r'   r   )	rg   r  rU  r   r   r4  r[  r  r+  s	            rh   r/  zSyncAPIClient.post  s`     #, 
tt>%;P;P
 
T[
 
 It||GT&U_|``aaark   r   r   c               X    t          j        dd||d|}|                     ||          S Npatchr  r^   r9  re   r:   r)  r   rg   r  rU  r   r   r+  s         rh   r9  zSyncAPIClient.patch  s9     #,aGQUaaY`aa||GT***rk   r   r4  r   c          	     t    t          j        dd||t          |          d|}|                     ||          S Nputr5  re   )r:   r)  r   r   rg   r  rU  r   r4  r   r+  s          rh   r@  zSyncAPIClient.put  sO     #, 
dd.:O:O
 
SZ
 
 ||GT***rk   c               X    t          j        dd||d|}|                     ||          S Ndeleter:  re   r;  r<  s         rh   rD  zSyncAPIClient.delete  s9     #,bH$RVbbZabb||GT***rk   r  r   r   r  r  c               Z    t          j        d|||d|}|                     |||          S Nr:  re   r:   r)  r   rg   r  r   r   r   r   r  r+  s           rh   get_api_listzSyncAPIClient.get_api_list   =     #,`FPT``X_``%%eT4888rk   )r   ro   r   r   r   r   r   r  r  r  r   r   r   r   r   r   ra   rb   r   r  rg   rU   ra   rU   r  r  r  r  r  r  ra   rb   r   r:   ra   r:   r   r*  ra   rb   rd   )rU  r  r   r:   r  r  r[  r  r  r  ra   rX   )
rU  r  r   r:   r  r  r[  r  ra   r'   )rU  r  r   r:   r  r  r[  r   r  r  ra   r  )rU  r  r   r:   r  r  r[  r   r  r  ra   r  )rU  r  r   r:   r  r   r[  r   r  r  ra   r  )r   r:   rU  r  r  r   r|  r  r[  r   r  r  ra   r  rU  r  r   r:   r   r   r[  r   r  r  r  r   ra   r'   )r   r  r   r  r   r:   ra   rR   
r  ro   rU  r  r   r,   r[  r  ra   r'   )r  ro   rU  r  r   r,   r[  r  r  r!  ra   rX   )r  ro   rU  r  r   r,   r[  r   r  r  ra   r  )r  ro   rU  r  r   r,  r   r,   r4  r-  r[  r  ra   r'   )r  ro   rU  r  r   r,  r   r,   r4  r-  r[  r  r  r!  ra   rX   )r  ro   rU  r  r   r,  r   r,   r4  r-  r[  r   r  r  ra   r  
r  ro   rU  r  r   r,  r   r,   ra   r'   r  ro   rU  r  r   r,  r4  r-  r   r,   ra   r'   )r  ro   r   r  r   r  r   r,  r   r,   r  ro   ra   rR   )rs   rw   rx   rz   r   rC   r    ri   r   r  r  r  r  r  r   r   r  r   r  r   r  r/  r9  r@  rD  rJ  r  r  s   @rh   r   r     s`        488888 /5>+/3748,
 ,
 ,
 ,
 ,
 ,
 ,
 ,
\& & & &! ! ! !         	 	 	 	 
 ,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 9rk   r   c                        e Zd Zd fdZ xZS )_DefaultAsyncHttpxClientrF  r   ra   rb   c                    |                     dt                     |                     dt                     |                     dd            t                      j        di | d S r  r  r  s     rh   ri   z!_DefaultAsyncHttpxClient.__init__  r  rk   r  r  r  s   @rh   rU  rU    r  rk   rU  c                      e Zd ZddZdS )AsyncHttpxClientWrapperra   rb   c                    | j         rd S 	 t          j                                        |                                            d S # t
          $ r Y d S w xY wrd   )r   asyncioget_running_loopcreate_taskacloser  rt   s    rh   r  zAsyncHttpxClientWrapper.__del__#  sc    > 	F	$&&224;;==AAAAA 	 	 	DD	s   8A 
AANr  r  re   rk   rh   rX  rX  "  s(             rk   rX  c                  B    e Zd ZU ded<   dZded<   eedddddq fdZdrdZdsdZ	dtdZ
dud%Zdvd(Zdwd+Zed,dd-dxd5            Zedd6dyd;            Zeddd<dzd?            Zd,ddd@dzdAZd{dCZd|dFZdGdHd}dLZd~dRZei d,dSddV            Zei dWddX            Zei ddYddZ            Zi d,dd[dd\Zeddi d,d]ddb            Zeddi dcddd            Zeddi ddeddf            Zddi d,ddgddhZdi diddjZddi dcddkZdi diddlZdi dmdnddpZ xZS )r   zhttpx.AsyncClientr   Nztype[AsyncStream[Any]] | Noner   r  r   ro   r   r   r   r   r   r   r   r  r  httpx.AsyncClient | Noner   r   r   r   ra   rb   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  ri   r   r%   rX  r   )
rg   r   r   r   r   r   r  r   r   rr   s
            rh   ri   zAsyncAPIClient.__init__2  s        	*  *{26KKK%-)":k5CT+U+U"zgklwgxgxzz   	'**#%)(C 	 		
 		
 		
 # 
&='**'
 '
 '
rk   c                    | j         j        S rd   r  rt   s    rh   r   zAsyncAPIClient.is_closed`  r  rk   c                H   K   | j                                          d{V  dS )r  N)r   r]  rt   s    rh   r  zAsyncAPIClient.closec  s4      
 l!!###########rk   rg   rU   c                
   K   | S rd   re   rt   s    rh   
__aenter__zAsyncAPIClient.__aenter__j  s      rk   r  r  r  r  r  r  c                >   K   |                                   d {V  d S rd   r  r  s       rh   	__aexit__zAsyncAPIClient.__aexit__m  s.       jjllrk   r   r:   c                
   K   |S r  re   r  s     rh   r  zAsyncAPIClient._prepare_optionsu  s      
 rk   r   r*  c                
   K   dS r  re   r\  s     rh   r  zAsyncAPIClient._prepare_request|  s       trk   F)r[  r  rU  r  r[  r  r  r  r'   c               
   K   d S rd   re   )rg   rU  r   r[  r  s        rh   r   zAsyncAPIClient.request         Crk   )r  r  r  type[_AsyncStreamT]rY   c               
   K   d S rd   re   rg   rU  r   r[  r  r  s         rh   r   zAsyncAPIClient.request         rk   )r  r  type[_AsyncStreamT] | NoneResponseT | _AsyncStreamTc               
   K   d S rd   re   rn  s         rh   r   zAsyncAPIClient.request         %(Crk   )r[  r  r  c                  K   ||                     | j                  |z
  }nd}|                     |||||           d {V S r  r  )rg   rU  r   r[  r  r  r  s          rh   r   zAsyncAPIClient.request  sy       (#33D4DEEHYYMMM]]!' # 
 
 
 
 
 
 
 
 	
rk   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  r[  r  r  Tr  r   r  r  r  r  zHTTP Request: %s %s "%i %s"r  r  r  r  )$r   r2   get_platformr7   rY  r  r  r   rI  r  rj  r   r  r]  r   r  rQ   r8  r   rM   r  rN   r  r^   r   r  r  r  r  r   r]  r  r   areadr  r  )rg   rU  r   r[  r  r  r  r  r   rF  r   re  s               rh   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   rQ   r8  r  r   r^   anyior	  r  r
  s	            rh   r   zAsyncAPIClient._retry_request%  s       $33D4DEEU!!IIn%%%%II'):;;;//0A7L\]]7gNNNk'"""""""""]]'!+! # 
 
 
 
 
 
 
 
 	
rk   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'   rV  )r   r  r  rE   r   r'   rP   r   r`  ra  rb  r>   r?   r   r@   r   r  r   r  r  s
             rh   r  z AsyncAPIClient._process_responseB  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!'')))))))))rk   r   r~   r   r   AsyncPaginator[_T, AsyncPageT]c                (    t          | |||          S )N)r   r   r   r   )r   )rg   r   r   r   s       rh   r   z AsyncAPIClient._request_api_list  s     T7TQVWWWWrk   r  r  r,   c               
   K   d S rd   re   r  s        rh   r  zAsyncAPIClient.get  rk  rk   r   c               
   K   d S rd   re   r#  s         rh   r  zAsyncAPIClient.get  ro  rk   r$  c               
   K   d S rd   re   r#  s         rh   r  zAsyncAPIClient.get  rs  rk   r&  c               l   K   t          j        dd|d|}|                     ||||           d {V S r(  r;  r*  s          rh   r  zAsyncAPIClient.get  sQ       #,OEtOOwOO\\'4:\VVVVVVVVVrk   )r   r4  r   r[  r   r,  r4  r-  c               
   K   d S rd   re   )rg   r  rU  r   r4  r   r[  s          rh   r/  zAsyncAPIClient.post  s       Crk   r=  c               
   K   d S rd   re   rg   r  rU  r   r4  r   r[  r  s           rh   r/  zAsyncAPIClient.post  s       rk   )r   r4  r   r  c               
   K   d S rd   re   r  s           rh   r/  zAsyncAPIClient.post  s       %(Crk   )r   r4  r   r[  r  c          	        K   t          j        dd||t          |           d {V d|}|                     ||||           d {V S r4  r:   r)  r   r   )	rg   r  rU  r   r4  r   r[  r  r+  s	            rh   r/  zAsyncAPIClient.post  s       #, 
ttAUV[A\A\;\;\;\;\;\;\
 
`g
 
 \\'4:\VVVVVVVVVrk   r6  c               h   K   t          j        dd||d|}|                     ||           d {V S r8  r;  r<  s         rh   r9  zAsyncAPIClient.patch  sO       #,aGQUaaY`aa\\'4000000000rk   c          	        K   t          j        dd||t          |           d {V d|}|                     ||           d {V S r?  r  rA  s          rh   r@  zAsyncAPIClient.put  sy       #, 
dd@TUZ@[@[:[:[:[:[:[:[
 
_f
 
 \\'4000000000rk   c               h   K   t          j        dd||d|}|                     ||           d {V S rC  r;  r<  s         rh   rD  zAsyncAPIClient.delete  sO       #,bH$RVbbZabb\\'4000000000rk   r  rE  r  c               Z    t          j        d|||d|}|                     |||          S rG  rH  rI  s           rh   rJ  zAsyncAPIClient.get_api_list  rK  rk   )r   ro   r   r   r   r   r   r   r   r  r  r_  r   r   r   r   ra   rb   r   r  rL  rM  rN  rO  )
rU  r  r   r:   r[  r  r  r  ra   r'   )rU  r  r   r:   r[  r  r  rl  r  r  ra   rY   )rU  r  r   r:   r[  r   r  rp  r  r  ra   rq  )rU  r  r   r:   r[  r   r  rp  r  r   ra   rq  )r   r:   rU  r  r  r   r|  r  r[  r   r  rp  ra   rq  rP  )r   r~   r   r   r   r:   ra   r{  rQ  )r  ro   rU  r  r   r,   r[  r  r  rl  ra   rY   )r  ro   rU  r  r   r,   r[  r   r  rp  ra   rq  )r  ro   rU  r  r   r,  r4  r-  r   r,   r[  r  ra   r'   )r  ro   rU  r  r   r,  r4  r-  r   r,   r[  r  r  rl  ra   rY   )r  ro   rU  r  r   r,  r4  r-  r   r,   r[  r   r  rp  ra   rq  rR  rS  )r  ro   r   r~   r   r   r   r,  r   r,   r  ro   ra   r{  )rs   rw   rx   rz   r   rC   r    ri   r   r  re  rg  r  r  r   r   r  r   r  r   r  r/  r9  r@  rD  rJ  r  r  s   @rh   r   r   .  sQ        9===== /5>043748,
 ,
 ,
 ,
 ,
 ,
 ,
 ,
\& & & &$ $ $ $         	 	 	 	  "'+/     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 9rk   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 | NotGivenra   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(   r  r   r&   r3   )r  r  r  r  r  r   r   r   s           rh   make_request_optionsr    s     !G *	 $Z < <!Hw{{8R88HKHgx(( %$	"%4!" -!,Nrk   c                      e Zd ZddZdS )r@  ra   r   c                    dS )NTre   rt   s    rh   __bool__zForceMultipartDict.__bool__A  s    trk   Nr   )rs   rw   rx   r  re   rk   rh   r@  r@  @  s(             rk   r@  c                  .    e Zd ZddZed	d            ZdS )
OtherPlatformnamero   ra   rb   c                    || _         d S rd   r  rg   r  s     rh   ri   zOtherPlatform.__init__F      			rk   c                    d| j          S )NzOther:r  rt   s    rh   __str__zOtherPlatform.__str__I      #	###rk   Nr  ro   ra   rb   rv   rs   rw   rx   ri   r   r  re   rk   rh   r  r  E  H            $ $ $ X$ $ $rk   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      rh   rv  rv  ]  s   ""((** )++1133   yy =  Fm$;$;
 uwyM!! yIKK		!!9	!!9w ,]+++9s   A
A 
AA)maxsizer   ro   r{  Platform | Nonery  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)ro   rv  get_architectureget_python_runtimeget_python_version)r   r{  s     rh   rr  rr    sQ     %'.h8,..99 0 2 233133'9';';  rk   c                  .    e Zd ZddZed	d            ZdS )
	OtherArchr  ro   ra   rb   c                    || _         d S rd   r  r  s     rh   ri   zOtherArch.__init__  r  rk   c                    d| j          S )Nzother:r  rt   s    rh   r  zOtherArch.__str__  r  rk   Nr  rv   r  re   rk   rh   r  r    r  rk   r  )x32x64armarm64unknownc                 L    	 t          j                    S # t          $ r Y dS w xY wNr  )r{  python_implementationr  re   rk   rh   r  r    s8    -///   yy    
##c                 L    	 t          j                    S # t          $ r Y dS w xY wr  )r{  python_versionr  re   rk   rh   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    rh   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 re   )r   r"   )r  rR  rS  s      rh   
<dictcomp>z#_merge_mappings.<locals>.<dictcomp>  s.    WWW:3z%QU?V?VWCWWWrk   )r   )r  r  mergeds      rh   r  r    s/     FWWWWWWrk   )r  r  r  r  r  r  r  r,  r  r   r   r  r   r  ra   r,   )ra   r  )r   ro   r{  r  ra   ry  rv   )ra   r  )r  r  r  r  ra   r  )
__future__r   r  r   r  r  r  rZ  r`  r6  r{  email.utilstypesr   r   typingr   r   r   r	   r
   r   r   r   r   r   r   r   r   r   r   typing_extensionsr   r   r   ry  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   	getLoggerrs   rQ   rz   	addFilterrR   rT   rU   rV   rX   rY   httpx._configrZ   r  ImportErrorr\   r|   r   r   r   r  ra  r   r   r   r  DefaultHttpxClientr  r   rU  DefaultAsyncHttpxClientrX  r   r  ro   r@  r  r  rv  rr  r  r  r  r  r  r  re   rk   rh   <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/?@@@ -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b$ $ $ $ $WR^, $ $ $N&g &g &g &g &gHRL'"+ &g &g &gR uU\5CT5T/UVVV'+5kRUFV9V3WXXX_8 _8 _8 _8 _878 _8 _8 _8D# # # # #%, # # #  	- -    /   ~9 ~9 ~9 ~9 ~9Ju|VC[89 ~9 ~9 ~9B# # # # #u0 # # #  	7#/ 7	 	 	 	 	5 	 	 	j9 j9 j9 j9 j9Z 1;s3C CD j9 j9 j9^ $( $""&7@)2" " " " " "J    c4i   
$ $ $ $ $ $ $ $ 		
' ' ' 'T 4   $ $ $ $ $ $ $ $ Y GHHI         4	X 	X 	X 	X 	X 	Xs   2F9 9GG