
    +h                    t   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  d dl!m"Z"m#Z# d dl$Z$d dl%Z%d dl&Z&d dl'Z'd dl%m(Z(m)Z) d d	l'm*Z* d
dl+m,Z, d
dl-m.Z. d
dl/m0Z0m1Z1 d
dl2m3Z3m4Z4m5Z5m6Z6m7Z7m8Z8m9Z9m:Z:m;Z;m<Z<m=Z=m>Z>m?Z?m@Z@mAZAmBZBmCZCmDZDmEZE d
dlFmGZGmHZHmIZI d
dlJmKZKmLZL d
dlMmNZNmOZOmPZPmQZQ d
dlRmSZS d
dlTmUZUmVZVmWZWmXZXmYZY d
dlZm[Z[m\Z\ d
dl,m]Z]m^Z^m_Z_m`Z`  ej                  eb      Zcdedd<    edd      Ze edd      Zf ed      Zg edd       Zh ed!e[e         Zi ed"e\e         Zjerd d#lkmlZm n	 d d#lkmlZm  G d% d&      Zo G d' d(eNee7         Zp G d) d*epe7   ee7         Zq G d+ d,ee7eff         Zr G d- d.epe7   ee7         Zs ed/ee%j                  e%j                  f         Zv ed0ee[e   e\e   f         Zw G d1 d2eevewf         Zx G d3 d4exe%j                  e[e   f         Zy G d5 d6exe%j                  e\e   f         Zzddddde3e3d7	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 dDd8Z{ G d9 d:      Z|ee|e"d;   f   Z}dEd<Z~ G d= d>      Zeee"d?   f   ZdFd@Z	 	 	 	 	 	 dGdAZ G dB dCeE      Zy# en$ r  e9d$      ZmY Aw xY w)H    )annotationsN)TracebackType)random)TYPE_CHECKINGAnyDictTypeUnionGenericMappingTypeVarIterableIteratorOptional	GeneratorAsyncIteratorcastoverload)	lru_cache)Literaloverride)URLLimits)PrivateAttr   )_exceptionsQuerystring)to_httpx_filesasync_to_httpx_files)	NOT_GIVENBodyOmitQueryModelTHeadersTimeoutNotGiven	ResponseT	Transport
AnyMapping
PostParserProxiesTypesRequestFilesAsyncTransportRequestOptionsUnknownResponseModelBuilderProtocolBinaryResponseContent)is_dictis_given
is_mapping)
model_copy
model_dump)GenericModelFinalRequestOptionsvalidate_typeconstruct_type)APIResponse)DEFAULT_LIMITSDEFAULT_TIMEOUTDEFAULT_MAX_RETRIESRAW_RESPONSE_HEADERSTREAMED_RAW_RESPONSE_HEADER)StreamAsyncStream)APIStatusErrorAPITimeoutErrorAPIConnectionErrorAPIResponseValidationErrorzlogging.Loggerlog	SyncPageTzBaseSyncPage[Any])bound
AsyncPageTzBaseAsyncPage[Any]_T_T_coT)	covariant_StreamT_AsyncStreamT)DEFAULT_TIMEOUT_CONFIGg      @c                  t    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y
)PageInfozStores the necesary information to build the request to retrieve the next page.

    Either `url` or `params` must be set.
    URL | NotGivenurlQuery | NotGivenparamsc                    y N selfrV   s     F/var/www/html/venv/lib/python3.12/site-packages/openai/_base_client.py__init__zPageInfo.__init__u        	    c                    y rZ   r[   )r]   rX   s     r^   r_   zPageInfo.__init__}   r`   ra   rV   rX   c                    || _         || _        y rZ   rc   )r]   rV   rX   s      r^   r_   zPageInfo.__init__   s     ra   N)rV   r   returnNone)rX   r$   re   rf   )rV   rU   rX   rW   re   rf   )__name__
__module____qualname____doc____annotations__r   r_   r!   r[   ra   r^   rT   rT   l   s    
 
  
	    
	  (#,	  !	
 
ra   rT   c                  j    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y)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[ModelT]_modelc                L    | j                         }|sy| j                         d uS )NF)_get_page_itemsnext_page_info)r]   itemss     r^   has_next_pagezBasePage.has_next_page   s*    $$&""$D00ra   c                     y rZ   r[   r]   s    r^   rs   zBasePage.next_page_info       ra   c                     y rZ   r[   rw   s    r^   rr   zBasePage._get_page_items   rx   ra   c                    t        j                  t        t        | j                  j
                              j                  |j
                        S rZ   )httpxQueryParamsr   r   rn   rX   merger\   s     r^   _params_from_urlzBasePage._params_from_url   s3      c4==+?+?!@AGG

SSra   c                   t        | j                        }|j                          t        |j                  t
              s!i |j                  |j                  |_        |S t        |j                  t
              sc| j                  |j                        }|j                  j                  |      }t        |j                        |_        t        |      |_        |S t        d      )N)rX   zUnexpected PageInfo state)r7   rn   _strip_raw_response_header
isinstancerX   r(   rV   r~   	copy_withdictstr
ValueError)r]   infooptionsrX   rV   s        r^   _info_to_optionszBasePage._info_to_options   s    T]]+**,$++x0>>$++>GNN$((H-**4884F(($$F$3C!#**-GNc(GKN455ra   Nre   bool)re   zOptional[PageInfo])re   zIterable[ModelT])rV   r   re   zhttpx.QueryParams)r   rT   re   r:   )rg   rh   ri   rj   r   rn   rk   rp   ru   rs   rr   r~   r   r[   ra   r^   rm   rm      s<    	 %0MH!1&=FL(1T6ra   rm   c                  j    e Zd ZU  ej                         Zded<   	 	 	 	 	 	 	 	 ddZd	dZd
dZ	ddZ
y)BaseSyncPageSyncAPIClient_clientc                .    || _         || _        || _        y rZ   rp   r   rn   )r]   clientmodelr   s       r^   _set_private_attributesz$BaseSyncPage._set_private_attributes        ra   c              #  h   K   | j                         D ]  }|j                         D ]  }|   y wrZ   
iter_pagesrr   r]   pageitems      r^   __iter__zBaseSyncPage.__iter__   s9     OO% 	D,,. 
	s   02c              #  ^   K   | }	 | |j                         r|j                         }ny 'wrZ   ru   get_next_pager]   r   s     r^   r   zBaseSyncPage.iter_pages   s5     J!!#))+ s   +-c                    | j                         }|st        d      | j                  |      }| j                  j	                  | j
                  | j                  |      S NzYNo next page expected; please check `.has_next_page()` before calling `.get_next_page()`.)r   r   rs   RuntimeErrorr   r   _request_api_listrp   	__class__r]   r   r   s      r^   r   zBaseSyncPage.get_next_page   sZ    ""$k  ''-||--dkkX_-``ra   N)r   r   r   ro   r   r:   re   rf   )re   zIterator[ModelT])r]   rJ   re   zIterator[SyncPageT])r]   rJ   re   rJ   )rg   rh   ri   pydanticr   r   rk   r   r   r   r   r[   ra   r^   r   r      sR    1X113G]3     %	 
 
 $
ara   r   c                  @    e Zd Z	 	 	 	 	 	 	 	 	 	 ddZddZddZd	dZy)
AsyncPaginatorc                <    || _         || _        || _        || _        y rZ   )rp   r   rn   	_page_cls)r]   r   r   page_clsr   s        r^   r_   zAsyncPaginator.__init__   s      !ra   c                >    | j                         j                         S rZ   )	_get_page	__await__rw   s    r^   r   zAsyncPaginator.__await__   s    ~~))++ra   c                    K   d fd}| j                   _         j                  j                   j                   j                          d {   S 7 w)Nc                l    | j                  j                  j                  j                         | S )N)r   r   r   )r   rp   rn   r   )respr]   s    r^   _parserz)AsyncPaginator._get_page.<locals>._parser   s2    ((kk|| ) 
 Kra   )r   rL   re   rL   )rn   post_parserr   requestr   )r]   r   s   ` r^   r   zAsyncPaginator._get_page   s?     	 %,!\\))$..$--HHHHs   AAAAc               h   K   t        t        |  d {         }|2 3 d {   }| 7 7 6 y wrZ   )r   rL   r   s      r^   	__aiter__zAsyncPaginator.__aiter__  s<     J
  	 	$J 	$s$   2,

20.0202N)
r   AsyncAPIClientr   r:   r   Type[AsyncPageT]r   ro   re   rf   )re   z Generator[Any, None, AsyncPageT])re   rL   re   zAsyncIterator[ModelT])rg   rh   ri   r_   r   r   r   r[   ra   r^   r   r      sG    
"
" %
" #	
"
 
" 

",Ira   r   c                  j    e Zd ZU  ej                         Zded<   	 	 	 	 	 	 	 	 ddZd	dZd
dZ	ddZ
y)BaseAsyncPager   r   c                .    || _         || _        || _        y rZ   r   )r]   r   r   r   s       r^   r   z%BaseAsyncPage._set_private_attributes  r   ra   c               z   K   | j                         2 3 d {   }|j                         D ]  }| 	 $7 6 y wrZ   r   r   s      r^   r   zBaseAsyncPage.__aiter__"  sB     //+ 	 	$,,. 
	+s   ;979;9;c               t   K   | }	 | |j                         r|j                          d {   }ny 07 wrZ   r   r   s     r^   r   zBaseAsyncPage.iter_pages'  s=     J!!#!//11  2s   ,868c                   K   | j                         }|st        d      | j                  |      }| j                  j	                  | j
                  | j                  |       d {   S 7 wr   r   r   s      r^   r   zBaseAsyncPage.get_next_page0  sd     ""$k  ''-\\33DKKdnn^e3ffffs   A$A-&A+'A-N)r   ro   r   r   r   r:   re   rf   r   )r]   rL   re   zAsyncIterator[AsyncPageT])r]   rL   re   rL   )rg   rh   ri   r   r   r   rk   r   r   r   r   r[   ra   r^   r   r     sR    2h224G^4     %	 
 
 
gra   r   _HttpxClientT_DefaultStreamTc                  Z   e Zd ZU ded<   ded<   ded<   ded<   d	ed
<   ded<   ded<   ded<   ded<   ded<   dZded<   eeddd	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 d2dZd3dZ	 	 	 	 d4dZ		 	 	 	 	 	 	 	 d5dZ
	 	 	 	 	 	 d6dZd7dZd8dZ	 	 	 	 d9d Zd:d!Z	 	 	 	 	 	 	 	 	 	 	 	 d;d"Z	 	 	 	 	 	 	 	 d<d#Zd=d$Zed>d%       Zed?d&       Zed@d'       ZedAd(       Z	 	 	 	 	 	 dBd)ZedCd*       ZedDd+       Zej6                  dEd,       Z ed-      dFd.       Z	 dG	 	 	 	 	 	 	 dHd/ZdId0ZdCd1Z y)J
BaseClientr   r   r   _versionr   	_base_urlintmax_retrieszUnion[float, Timeout, None]timeouthttpx.Limits_limitsProxiesTypes | None_proxies!Transport | AsyncTransport | None
_transportr   _strict_response_validation
str | None_idempotency_headerNztype[_DefaultStreamT] | None_default_stream_cls)r   r   custom_headerscustom_queryc       
            || _         | j                  t        |            | _        || _        || _        || _        || _        || _        |	xs i | _	        |
xs i | _
        || _        d | _        y rZ   )r   _enforce_trailing_slashr   r   r   r   r   r   r   _custom_headers_custom_queryr   r   )r]   versionbase_urlr   r   r   limits	transportproxiesr   r   s              r^   r_   zBaseClient.__init__L  so      55c(mD&#-3)/R+F(#' ra   c                z    |j                   j                  d      r|S |j                  |j                   dz         S )N   /raw_path)r   endswithr   r\   s     r^   r   z"BaseClient._enforce_trailing_slashf  s3    <<  &J}}cllT&9}::ra   c                J   |j                   r|j                  sd }d|j                   }nD|j                  j	                         }|}	 t        j                  |      }d|j                   d| }| j                  |||      S # t        $ r |xs d|j                   }Y 2w xY w)NzError code: z - )bodyresponse)		is_closedis_stream_consumedstatus_codetextstripjsonloads	Exception_make_status_error)r]   r   r   err_msgerr_texts        r^    _make_status_error_from_responsez+BaseClient._make_status_error_from_responsek  s     h&A&A D$X%9%9$:;G}}**,HDLzz(+()=)=(>c$H &&wTH&MM  L"KX5I5I4J&KLs   'B B"!B"c                   t               rZ   )NotImplementedError)r]   r   r   r   s       r^   r   zBaseClient._make_status_error  s     "##ra   c                @    ||S |j                  | j                        S rZ   )get_max_retriesr   )r]   remaining_retriesr   s      r^   _remaining_retrieszBaseClient._remaining_retries  s'    
 %6$A pwG^G^_c_o_oGppra   c                ^   |j                   xs i }t        | j                  |      }| j                  ||       t	        j
                  |      }| j                  }|rQ|j                  j                         dk7  r4||vr0|j                  s| j                         |_	        |j                  ||<   |S )Nget)headers_merge_mappingsdefault_headers_validate_headersr{   r&   r   methodloweridempotency_key_idempotency_key)r]   r   r   headers_dictr   idempotency_headers         r^   _build_headerszBaseClient._build_headers  s     .B&t';';^L|^<---!55'.."6"6"8E"AFX`gFg***.*?*?*A'*1*A*AG&'ra   c                    t        |      }|j                  rN| j                  j                  |j                  j	                  d      z   }| j                  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   )r]   rV   	merge_urlmerge_raw_paths       r^   _prepare_urlzBaseClient._prepare_url  sZ     H	$$!]]33i6H6H6O6OPT6UUN==**N*CCra   c                   t         j                  t        j                        r!t         j	                  dt        |d             i }|j                  }|j                  W|t        t        |j                        }n:t        |      rt        ||j                        }nt        dt        |       d      | j                  |      }t        | j                  |j                         }|j#                  d      dk(  rJ|j%                  d       |r7t'        |      st)        dt        |       d	      | j+                  |      |d
<    | j,                  j.                  d|t1        |j2                  t4              r| j2                  n|j2                  |j6                  | j9                  |j:                        |r6| j<                  j?                  t        t@        tB        tD        f   |            nd ||jF                  d|S )NzRequest options: %sT)exclude_unsetzUnexpected JSON data type, z , cannot merge with `extra_body`Content-Typezmultipart/form-datazGExpected query input to be a dictionary for multipart requests but got z	 instead.data)r   r   r   rV   rX   r   filesr[   )$rI   isEnabledForloggingDEBUGdebugr8   	json_data
extra_jsonr   r"   r6   r   r   typer  r   rX   r   popr4   	TypeError_serialize_multipartformr   build_requestr   r   r(   r   r  rV   qs	stringifyr   r   r   r  )r]   r   kwargsr  r   rX   s         r^   _build_requestzBaseClient._build_request  s    GMM*II+Zt-TU!#%%	)  w'9'9:	I&+Iw7I7IJ	"%@i@QQq#rss%%g. !3!3W^^D ;;~&*??KK' y)#abfgpbqarr{|  "&!>!>y!Iv *t||)) 
$.w$IDLLw>>!!'++.
 JP477$$T'#s(*;V%DEUY--
 
 	
ra   c                    | j                   j                  |d      }i }|D ]  \  }}||v rt        d| d      |||<    |S )Nbrackets)array_formatzDuplicate key encountered: z!; This behaviour is not supported)r  stringify_itemsr   )r]   r  rt   
serializedkeyvalues         r^   r  z#BaseClient._serialize_multipartform  sl    '' #	 ( 
 )+
 	$JCj  #>seCd!eff#JsO	$ ra   c                   t        || ||||      }|j                  j                  j                  t              dk(  rt        t        |      S |j                         S )N)rawr   cast_tostream
stream_clsr   true)r=   r   r   r   rA   r   r)   parse)r]   r)  r   r   r*  r+  api_responses          r^   _process_responsezBaseClient._process_response  s^     #!
 ##''(;<F	<00!!##ra   c                  |t        t        d       S |t        u rt        t        |      S 	 t        j                  |      r1t        |t              r!t        t        |j                  ||            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_r&  )r   r   )r   r)   r1   inspectisclass
issubclassr2   buildr   r;   r<   r   ValidationErrorrH   )r]   r  r)  r   errs        r^   _process_response_dataz!BaseClient._process_response_data	  s     <	4((o%	4((		Tw'Jw@T,UIw}}hT}'RSS//I}7$'OPP	>t#LMM'' 	T,hTJPSS	Ts$   AB4 2&B4 B4 4CCCc               J    |j                   j                  t              dk(  ryy)Nr,  TF)r   r   rB   r]   r   s     r^   _should_stream_response_bodyz'BaseClient._should_stream_response_body!  s     ??;<Fra   c                    t               S rZ   r   rw   s    r^   r  zBaseClient.qs'  s
    }ra   c                     y rZ   r[   rw   s    r^   custom_authzBaseClient.custom_auth+  s    ra   c                    i S rZ   r[   rw   s    r^   auth_headerszBaseClient.auth_headers/  s    	ra   c                r    dd| j                   d| j                         | j                  | j                  S )Nzapplication/json)Acceptr  z
User-Agent)
user_agentplatform_headersr@  r   rw   s    r^   r   zBaseClient.default_headers3  sN     ).//
 ##%	

 
 ""
 	
ra   c                     y)zaValidate the given default headers and custom headers.

        Does nothing by default.
        Nr[   )r]   r   r   s      r^   r   zBaseClient._validate_headers>  s     	ra   c                L    | j                   j                   d| j                   S )Nz/Python )r   rg   r   rw   s    r^   rC  zBaseClient.user_agentI  s"    ..))*(4==/BBra   c                    | j                   S rZ   )r   rw   s    r^   r   zBaseClient.base_urlM  s    ~~ra   c                z    | j                  t        |t              r|      | _        y t        |            | _        y rZ   )r   r   r   r   r\   s     r^   r   zBaseClient.base_urlQ  s-    55ZS=Qc`WZ[^W_`ra   )maxsizec                    d| j                   t        t                     t        t                     t	        j
                         t	        j                         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)r   r   get_platformget_architectureplatformpython_implementationpython_versionrw   s    r^   rD  zBaseClient.platform_headersU  sF     !)+/==!,.1 #$4$6 7#+#A#A#C+3+B+B+D
 	
ra   c                    |j                  | j                        }	 ||j                  d      }	 t        |      }nd}d|cxk  rdk  r|S  d}	d}
||z
  }t        |	t        d|      z  |
      }dd	t               z  z
  }||z  }|dk\  r|S dS # t        $ rf t
        j                  j                  |      }|d}n?t
        j                  j                  |      }t        |t        j                         z
        }Y w xY w# t        $ r d}Y w xY w)
Nzretry-afterr   <   g      ?g       @g       @r   g      ?)r   r   r   floatr   emailutilsparsedate_tz	mktime_tzr   timeminpowr   )r]   r   r   response_headersr   retry_headerretry_afterretry_date_tuple
retry_dateinitial_retry_delaymax_retry_delay
nb_retriessleep_secondsjitterr   s                  r^   _calculate_retry_timeoutz#BaseClient._calculate_retry_timeout`  s;    --d.>.>?	
  +/33MBD"'"5K ! { b  ! " #44
 /#c:2FFX TFH_$&(!Q,w-A-7 ! D',{{'?'?'M$'/&(%*[[%:%:;K%L
&)*tyy{*B&CD  	K	s4   C? B C? A,C<9C? ;C<<C? ?DDc                    |j                   j                  d      }|dk(  ry|dk(  ry|j                  dk(  ry|j                  dk(  ry|j                  dk(  ry|j                  d	k\  ryy)
Nzx-should-retryr,  TfalseFi  i  i  i  )r   r   r   )r]   r   should_retry_headers      r^   _should_retryzBaseClient._should_retry  s    &..223CD &(') 3& 3& 3& 3&ra   c                0    dt        j                          S )Nzstainless-python-retry-)uuiduuid4rw   s    r^   r  zBaseClient._idempotency_key  s    (77ra   )r   r   r   	str | URLr   r   r   r   r   zfloat | Timeout | Noner   r   r   r   r   r   r   Mapping[str, str] | Noner   Mapping[str, object] | Nonere   rf   )rV   r   re   r   )r   httpx.Responsere   rE   )r   r   r   objectr   rq  re   z_exceptions.APIStatusError)r   Optional[int]r   r:   re   r   )r   r:   re   zhttpx.Headers)rV   r   re   r   )r   r:   re   httpx.Request)r  zMapping[object, object]re   zdict[str, object])r)  Type[ResponseT]r   r:   r   rq  r*  r   r+  z1type[Stream[Any]] | type[AsyncStream[Any]] | Nonere   r)   )r  rr  r)  ztype[ResponseT]r   rq  re   r)   )r   rt  re   r   )re   r   )re   zhttpx.Auth | None)re   zdict[str, str])re   zdict[str, str | Omit])r   r&   r   r&   re   rf   re   r   )re   r   )rV   z	URL | strre   rf   )re   zDict[str, str]rZ   )r   r   r   r:   r\  zOptional[httpx.Headers]re   rT  )r   rq  re   r   )!rg   rh   ri   rk   r   r@   r?   r_   r   r   r   r   r  r  r  r  r/  r8  r;  propertyr  r>  r@  r   r   rC  r   setterr   rD  rf  rj  r  r[   ra   r^   r   r   ?  s   MN((!!11!%%##8<5< /*9 4848( ( 	(
 &*( ( (( ( 5( %( 1( 2( 
(4;
N N 
N,$$ 	$
 !$ 
$$q(q %q 
	q 4
$4
 
4
l$ !$ %	$
 !$ $ F$ 
$.T T !	T
 !T 
T0       
 
		  	 
		 C C   __a a t
 
 59	+.+. %+. 2	+.
 
+.Z88ra   r   c            	          e Zd ZU ded<   ded<   dZded<   eeddddddd	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 d2 fd	Zd3d
Zd4dZ	d5dZ
	 	 	 	 	 	 	 	 d6dZ	 	 	 	 d7dZ	 	 	 	 d8dZe	 d9	 	 	 	 	 	 	 	 	 	 	 d:d       Ze	 d9dd	 	 	 	 	 	 	 	 	 d;d       Ze	 d9ddd	 	 	 	 	 	 	 	 	 	 	 d<d       Z	 d9ddd	 	 	 	 	 	 	 	 	 	 	 d=dZ	 	 	 	 	 	 	 	 	 	 	 	 d>dZ	 	 	 	 	 	 	 	 	 	 	 	 	 	 d?dZ	 	 	 	 	 	 	 	 d@dZei dd	 	 	 	 	 	 	 	 	 dAd       Zei d	 	 	 	 	 	 	 	 	 	 	 dBd       Zei dd	 	 	 	 	 	 	 	 	 	 	 dCd       Zi ddd 	 	 	 	 	 	 	 	 	 	 	 dCd!Zedi ddd"	 	 	 	 	 	 	 	 	 	 	 	 	 dDd#       Zedi dd$	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 dEd%       Zedi ddd&	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 dFd'       Zdi dddd(	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 dFd)Zdi d*	 	 	 	 	 	 	 	 	 dGd+Zddi d,	 	 	 	 	 	 	 	 	 	 	 dHd-Zdi d*	 	 	 	 	 	 	 	 	 dGd.Zdi d/d0	 	 	 	 	 	 	 	 	 	 	 	 	 dId1Z xZS )Jr   zhttpx.Clientr   r   _has_custom_http_clientNztype[Stream[Any]] | Noner   r   r   r   r   r   http_clientr   r   c               J   |)t        j                  dt        d       |t        d      t        }|)t        j                  dt        d       |t        d      |)t        j                  dt        d       |t        d      t        |      s(|r |j                  t        k7  r|j                  }nt        }t        | )  ||t        t        |      |||||
|	|	
       |xs( t        j                  |t        t        |      |||
      | _        t!        |      | _        y )NhThe `connection_pool_limits` argument is deprecated. The `http_client` argument should be passed instead   category
stacklevelNThe `http_client` argument is mutually exclusive with `connection_pool_limits`[The `transport` argument is deprecated. The `http_client` argument should be passed insteadAThe `http_client` argument is mutually exclusive with `transport`YThe `proxies` argument is deprecated. The `http_client` argument should be passed instead?The `http_client` argument is mutually exclusive with `proxies`)
r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   )warningswarnDeprecationWarningr   r>   r5   r   HTTPX_DEFAULT_TIMEOUTr?   superr_   r   r'   r{   Clientr   r   rz  )r]   r   r   r   r   r   r   r   r|  r   r   r   r   s               r^   r_   zSyncAPIClient.__init__  s7    MMz+
 & !qrr#F MMm+
 & !deeMMk+
 & !bcc  {226KK%--)'*#%)(C 	 	
 # 
ell'*'
 (,K'8$ra   c                .    | j                   j                  S rZ   r   r   rw   s    r^   r   zSyncAPIClient.is_closed      ||%%%ra   c                R    t        | d      r| j                  j                          yy)`Close the underlying HTTPX client.

        The client will *not* be usable after this.
        r   N)hasattrr   closerw   s    r^   r  zSyncAPIClient.close  s#     4#LL  $ra   c                    | S rZ   r[   rw   s    r^   	__enter__zSyncAPIClient.__enter__  s    ra   c                $    | j                          y rZ   r  r]   exc_typeexcexc_tbs       r^   __exit__zSyncAPIClient.__exit__  s     	

ra   c                     yz#Hook for mutating the given optionsNr[   r]   r   s     r^   _prepare_optionszSyncAPIClient._prepare_options  s    
 ra   c                     y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.
        Nr[   r:  s     r^   _prepare_requestzSyncAPIClient._prepare_request!  s     ra   c                    y rZ   r[   r]   r)  r   r   r*  r+  s         r^   r   zSyncAPIClient.request,       	ra   Fr*  c                    y rZ   r[   )r]   r)  r   r   r*  s        r^   r   zSyncAPIClient.request8       	ra   r*  r+  c                    y rZ   r[   r  s         r^   r   zSyncAPIClient.requestC  r  ra   c               .    | j                  |||||      S N)r)  r   r*  r+  r   _requestr  s         r^   r   zSyncAPIClient.requestO  s)     }}!/  
 	
ra   c          	        | j                  |       | j                  ||      }| j                  |      }| j                  |       d }	 | j                  j                  || j                  |xs | j                  |            }t        j                  d|j                  |j                  |j                  |j                         |j                          | j;                  |||||      S # t        j                   $ r}	|dkD  re| j#                  |	j$                        rJ|	j$                  j'                          | j)                  ||||	j$                  j*                  ||      cY d }	~	S |	j$                  j,                  s|	j$                  j/                          | j1                  |	j$                        d d }	~	wt        j2                  $ rS}	||j'                          |dkD  r*| j)                  |||||||j*                  nd       cY d }	~	S t5        |      |	d }	~	wt6        $ rS}	||j'                          |dkD  r*| j)                  |||||||j*                  nd       cY d }	~	S t9        |      |	d }	~	ww xY wN)r   )authr*  zHTTP Request: %s %s "%i %s"r   r  )r*  r+  r\  )r)  r   r   r*  r+  )r  r   r  r  r   sendr>  r;  rI   r  r   rV   r   reason_phraseraise_for_statusr{   HTTPStatusErrorrj  r   r  _retry_requestr   r   readr   TimeoutExceptionrF   r   rG   r/  )
r]   r)  r   r   r*  r+  retriesr   r   r7  s
             r^   r  zSyncAPIClient._request`  sn    	g&))*;WE%%g.g&9	?||((%%S!B!B7!B!S ) H
 II-w~~w{{HL`L`bjbxbx %%'d %%! & 
 	
c $$ 	P{t11#,,?""$**LL((!) +   <<))!!#77E4O%% 	<# {**!)9A9MX%5%5SW +   "'2; 	?# {**!)9A9MX%5%5SW +   %W53>	?sW   	BC, ,I8?A$F5#I8)AF55I8;HI8HI8%;I3 I8&I33I8c                   |dz
  }| j                  |||      }t        j                  d|j                  |       t	        j
                  |       | j                  |||||      S Nr   z$Retrying request to %s in %f seconds)r   r)  r   r*  r+  )rf  rI   r   rV   rY  sleepr  	r]   r   r)  r   r\  r*  r+  	remainingr   s	            r^   r  zSyncAPIClient._retry_request  sk     &)	//	7DTU7gN 	

7}}'!  
 	
ra   c                N     d fd}|_          j                  |d      S )Nc                0    | j                         | S )N)r   r   r   )r   )r   r   r   r]   s    r^   r   z0SyncAPIClient._request_api_list.<locals>._parser  s&    (( ) 
 Kra   Fr  )r   rJ   re   rJ   )r   r   )r]   r   r   r   r   s   `` ` r^   r   zSyncAPIClient._request_api_list  s'    	 &||D'%|88ra   r   r*  c                    y rZ   r[   r]   pathr)  r   r*  s        r^   r   zSyncAPIClient.get  r  ra   r   c                    y rZ   r[   r]   r  r)  r   r*  r+  s         r^   r   zSyncAPIClient.get  r  ra   r   r+  c                    y rZ   r[   r  s         r^   r   zSyncAPIClient.get  r  ra   r   r*  r+  c          	     x    t        j                  dd|d|}t        t        | j	                  ||||            S Nr   )r   rV   r  r[   )r:   	constructr   r)   r   r]   r  r)  r   r*  r+  optss          r^   r   zSyncAPIClient.get  s?     #,,OEtOwO It||GT&U_|`aara   )r   r   r  r*  c                    y rZ   r[   )r]   r  r)  r   r   r  r*  s          r^   postzSyncAPIClient.post  s     	ra   )r   r   r  c                    y rZ   r[   r]   r  r)  r   r   r  r*  r+  s           r^   r  zSyncAPIClient.post       	ra   )r   r   r  r+  c                    y rZ   r[   r  s           r^   r  zSyncAPIClient.post,  r  ra   )r   r   r  r*  r+  c          	         t        j                  dd||t        |      d|}t        t        | j                  ||||            S Nr  r   rV   r  r  r  r[   )r:   r  r   r   r)   r   )	r]   r  r)  r   r   r  r*  r+  r  s	            r^   r  zSyncAPIClient.post:  sP     #,, 
tt>%;P
T[
 It||GT&U_|`aara   r   r   c               X    t        j                  dd||d|}| j                  ||      S Npatchr   rV   r  r[   r:   r  r   r]   r  r)  r   r   r  s         r^   r  zSyncAPIClient.patchJ  s3     #,,aGQUaY`a||GT**ra   r   r  r   c          	     l    t        j                  dd||t        |      d|}| j                  ||      S Nputr  r[   )r:   r  r   r   r]   r  r)  r   r  r   r  s          r^   r  zSyncAPIClient.putU  sB     #,, 
dd.:O
SZ
 ||GT**ra   c               X    t        j                  dd||d|}| j                  ||      S Ndeleter  r[   r  r  s         r^   r  zSyncAPIClient.deletec  s3     #,,bH$RVbZab||GT**ra   r   r   r   r   c               Z    t        j                  d|||d|}| j                  |||      S Nr  r[   r:   r  r   r]   r  r   r   r   r   r   r  s           r^   get_api_listzSyncAPIClient.get_api_listn  s7     #,,`FPT`X_`%%eT488ra   )r   r   r   rn  r   r   r   !float | Timeout | None | NotGivenr   zTransport | Noner   r   r   Limits | Noner|  zhttpx.Client | Noner   ro  r   rp  r   r   re   rf   r   re   rf   r]   rM   re   rM   r  ztype[BaseException] | Noner  zBaseException | Noner  zTracebackType | Nonere   rf   r   r:   re   rf   r   rt  re   rf   rZ   )r)  ru  r   r:   r   rs  r*  Literal[True]r+  zType[_StreamT]re   rP   )
r)  ru  r   r:   r   rs  r*  Literal[False]re   r)   )r)  ru  r   r:   r   rs  r*  r   r+  zType[_StreamT] | Nonere   ResponseT | _StreamT)r)  ru  r   r:   r   rs  r*  r   r+  type[_StreamT] | Nonere   r  )r)  ru  r   r:   r   
int | Noner*  r   r+  r  re   r  )r   r:   r)  ru  r   r   r\  httpx.Headers | Noner*  r   r+  r  re   r  )r   ro   r   Type[SyncPageT]r   r:   re   rJ   
r  r   r)  ru  r   r0   r*  r  re   r)   )r  r   r)  ru  r   r0   r*  r  r+  type[_StreamT]re   rP   )r  r   r)  ru  r   r0   r*  r   r+  r  re   r  )r  r   r)  ru  r   Body | Noner   r0   r  RequestFiles | Noner*  r  re   r)   )r  r   r)  ru  r   r  r   r0   r  r  r*  r  r+  r   re   rP   )r  r   r)  ru  r   r  r   r0   r  r  r*  r   r+  r  re   r  
r  r   r)  ru  r   r  r   r0   re   r)   r  r   r)  ru  r   r  r  r  r   r0   re   r)   )r  r   r   ro   r   r  r   r  r   r0   r   r   re   rJ   )rg   rh   ri   rk   r   r@   r!   r_   r   r  r  r  r  r  r   r   r  r  r   r   r  r  r  r  r  __classcell__r   s   @r^   r   r     sJ   !!4818 /5>&*'+ $+/3748N9 N9 	N9
 N9 3N9 $N9 %N9 N9 )N9 1N9 2N9 &*N9 
N9`&!, " %	
 
$ 
		 
	 
 ,0		 	 %	 )		 	 #	 
	 	 
 ,0	 "'  % )	  
  
 ,0		 ,0	 	 %	 )		 	 *	 
	 	 ,0	
 ,0
 
 %
 )	
 
 *
 

"R
 !R
 %	R

 &R
 R
 *R
 
R
h
$
 !
 	

 /
 
 *
 

499 9 %	9
 
9$  #%!& !	
    
   #%		 !		
  	 	 #	 
	 	  #%,0		 !		
  	 	 *	 
	 	  #%,0bb !	b
  b b *b 
b  !"$%)!&

 !	

 
  
 #
 
 

 
  !"$%) !	
    #  # 
   !"$%),0 !	
    #  * 
 $ !"$%),0bb !	b
 b  b #b b *b 
b* !"$	+	+ !		+
 	+  	+ 
	+  !%)"$++ !	+
 + #+  + 
+& !"$	+	+ !		+
 	+  	+ 
	+" !"$99 	9
 9 9  9 9 
9ra   r   c            	          e Zd ZU ded<   ded<   dZded<   eeddddddd	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 d3 fd	Zd4d
Zd5dZ	d6dZ
	 	 	 	 	 	 	 	 d7dZ	 	 	 	 d8dZ	 	 	 	 d9dZeddd	 	 	 	 	 	 	 	 	 d:d       Zedd	 	 	 	 	 	 	 	 	 	 	 d;d       Zeddd	 	 	 	 	 	 	 	 	 	 	 d<d       Zdddd	 	 	 	 	 	 	 	 	 	 	 d<dZ	 	 	 	 	 	 	 	 	 	 	 	 d=dZ	 	 	 	 	 	 	 	 	 	 	 	 	 	 d>dZ	 	 	 	 	 	 	 	 d?dZei dd	 	 	 	 	 	 	 	 	 d@d       Zei d	 	 	 	 	 	 	 	 	 	 	 dAd       Zei dd 	 	 	 	 	 	 	 	 	 	 	 dBd!       Zi ddd"	 	 	 	 	 	 	 	 	 	 	 dBd#Zeddi dd$	 	 	 	 	 	 	 	 	 	 	 	 	 dCd%       Zeddi d&	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 dDd'       Zeddi dd(	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 dEd)       Zddi ddd*	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 dEd+Zdi d,	 	 	 	 	 	 	 	 	 dFd-Zddi d&	 	 	 	 	 	 	 	 	 	 	 dGd.Zdi d,	 	 	 	 	 	 	 	 	 dFd/Zdi d0d1	 	 	 	 	 	 	 	 	 	 	 	 	 dHd2Z xZS )Ir   zhttpx.AsyncClientr   r   rz  Nztype[AsyncStream[Any]] | Noner   r{  c               J   |)t        j                  dt        d       |	t        d      t        }|)t        j                  dt        d       |	t        d      |)t        j                  dt        d       |	t        d      t        |      s(|	r |	j                  t        k7  r|	j                  }nt        }t        | )  |||t        t        |      |||||
|	
       |	xs( t        j                  |t        t        |      |||
      | _        t!        |	      | _        y )Nr~  r  r  r  r  r  r  r  )
r   r   r   r   r   r   r   r   r   r   r  )r  r  r  r   r>   r5   r   r  r?   r  r_   r   r'   r{   AsyncClientr   r   rz  )r]   r   r   r   r   r   r   r   r   r|  r   r   r   s               r^   r_   zAsyncAPIClient.__init__  s9    MMz+
 & !qrr#F MMm+
 & !deeMMk+
 & !bcc  {226KK%--)'*#%)(C 	 	
 # 
e&7&7'*'
 (,K'8$ra   c                .    | j                   j                  S rZ   r  rw   s    r^   r   zAsyncAPIClient.is_closed  r  ra   c                T   K   | j                   j                          d{    y7 w)r  N)r   acloserw   s    r^   r  zAsyncAPIClient.close  s     
 ll!!###s   (&(c                   K   | S wrZ   r[   rw   s    r^   
__aenter__zAsyncAPIClient.__aenter__  s     s   c                @   K   | j                          d {    y 7 wrZ   r  r  s       r^   	__aexit__zAsyncAPIClient.__aexit__  s      jjls   c                   K   ywr  r[   r  s     r^   r  zAsyncAPIClient._prepare_options  s     
    c                   K   ywr  r[   r:  s     r^   r  zAsyncAPIClient._prepare_request  s      r  F)r*  r   c                  K   y wrZ   r[   )r]   r)  r   r*  r   s        r^   r   zAsyncAPIClient.request        	r  )r   c                  K   y wrZ   r[   r]   r)  r   r*  r+  r   s         r^   r   zAsyncAPIClient.request        	r  )r+  r   c                  K   y wrZ   r[   r  s         r^   r   zAsyncAPIClient.request  r  r  )r*  r+  r   c               J   K   | j                  |||||       d {   S 7 wr  r  r  s         r^   r   zAsyncAPIClient.request  s7      ]]!/ # 
 
 	
 
s   #!#c          	       K   | j                  |       d {    | j                  ||      }| j                  |      }| j                  |       d {    d }	 | j                  j                  || j                  |xs | j                  |             d {   }t        j                  d|j                  |j                  |j                  |j                         |j                          | j;                  |||||      S 7 7 7 o# t        j                   $ r}	|dkD  rw| j#                  |	j$                        r\|	j$                  j'                          d {  7   | j)                  ||||	j$                  j*                  ||       d {  7  cY d }	~	S |	j$                  j,                  s#|	j$                  j/                          d {  7   | j1                  |	j$                        d d }	~	wt        j2                  $ re}	||j'                          d {  7   |dkD  r3| j)                  |||||||j*                  nd        d {  7  cY d }	~	S t5        |      |	d }	~	wt6        $ re}	||j'                          d {  7   |dkD  r3| j)                  |||||||j*                  nd        d {  7  cY d }	~	S t9        |      |	d }	~	ww xY wwr  )r  r   r  r  r   r  r>  r;  rI   r  r   rV   r   r  r  r{   r  rj  r   r  r  r   r   areadr   r  rF   r   rG   r/  )
r]   r)  r   r*  r+  r   r  r   r   r7  s
             r^   r  zAsyncAPIClient._request,  s     ##G,,,))*;WE%%g.##G,,,9	?!\\..%%S!B!B7!B!S /  H
 II-w~~w{{HL`L`bjbxbx %%'d %%! & 
 	
G 	- 	-
 $$ 	P{t11#,,?ll))+++!00LL((!) 1     <<))ll((***77E4O%% 	<#oo'''{!00!)9A9MX%5%5SW 1     "'2; 	?#oo'''{!00!)9A9MX%5%5SW 1     %W53>	?s   KD;KDK?D D
AD 0KK
D K=G0E3G0FG0KK3G0G!G00KI&H2I&II&KKI&&K2KJ
2K:J=;K?K KKKKc                  K   |dz
  }| j                  |||      }t        j                  d|j                  |       t	        j
                  |       d {    | j                  |||||       d {   S 7 "7 wr  )rf  rI   r   rV   anyior  r  r  s	            r^   r  zAsyncAPIClient._retry_request  s      &)	//	7DTU7gNkk'"""]]'! # 
 
 	
 	#
s$   AA;A7A;2A93A;9A;c                     t        | |||      S )N)r   r   r   r   )r   )r]   r   r   r   s       r^   r   z AsyncAPIClient._request_api_list  s     T7TQVWWra   r  c                  K   y wrZ   r[   r  s        r^   r   zAsyncAPIClient.get  r  r  r  c                  K   y wrZ   r[   r  s         r^   r   zAsyncAPIClient.get  r  r  r  c                  K   y wrZ   r[   r  s         r^   r   zAsyncAPIClient.get  r  r  r  c               x   K   t        j                  dd|d|}| j                  ||||       d {   S 7 wr  r  r  s          r^   r   zAsyncAPIClient.get  s?      #,,OEtOwO\\'4:\VVVVs   1:8:)r   r  r   r*  c                  K   y wrZ   r[   )r]   r  r)  r   r  r   r*  s          r^   r  zAsyncAPIClient.post  s      	r  r  c                  K   y wrZ   r[   r]   r  r)  r   r  r   r*  r+  s           r^   r  zAsyncAPIClient.post        	r  )r   r  r   r+  c                  K   y wrZ   r[   r&  s           r^   r  zAsyncAPIClient.post  r'  r  )r   r  r   r*  r+  c          	        K   t        j                  dd||t        |       d {   d|}| j                  ||||       d {   S 7 &7 wr  r:   r  r    r   )	r]   r  r)  r   r  r   r*  r+  r  s	            r^   r  zAsyncAPIClient.post  s^      #,, 
ttAUV[A\;\
`g
 \\'4:\VVV <]Vs!   "AA!AAAAr  c               t   K   t        j                  dd||d|}| j                  ||       d {   S 7 wr  r  r  s         r^   r  zAsyncAPIClient.patch  s=      #,,aGQUaY`a\\'40000   /868c          	        K   t        j                  dd||t        |       d {   d|}| j                  ||       d {   S 7 #7 wr  r*  r  s          r^   r  zAsyncAPIClient.put  sX      #,, 
dd@TUZ@[:[
_f
 \\'4000 ;\0s!   "AAAA
A
Ac               t   K   t        j                  dd||d|}| j                  ||       d {   S 7 wr  r  r  s         r^   r  zAsyncAPIClient.delete!  s=      #,,bH$RVbZab\\'40000r,  r   r  c               Z    t        j                  d|||d|}| j                  |||      S r  r  r  s           r^   r  zAsyncAPIClient.get_api_list,  s7     #,,`FPT`X_`%%eT488ra   )r   r   r   rn  r   r   r   r   r   r  r   zAsyncTransport | Noner   r   r   r  r|  zhttpx.AsyncClient | Noner   ro  r   rp  re   rf   r   r  r  r  r  r  )
r)  ru  r   r:   r*  r  r   rs  re   r)   )r)  ru  r   r:   r*  r  r+  type[_AsyncStreamT]r   rs  re   rQ   )r)  ru  r   r:   r*  r   r+  type[_AsyncStreamT] | Noner   rs  re   ResponseT | _AsyncStreamT)r)  ru  r   r:   r*  r   r+  r1  r   r  re   r2  )r   r:   r)  ru  r   r   r\  r  r*  r   r+  r1  re   r2  )r   ro   r   r   r   r:   re   "AsyncPaginator[ModelT, AsyncPageT]r  )r  r   r)  ru  r   r0   r*  r  r+  r0  re   rQ   )r  r   r)  ru  r   r0   r*  r   r+  r1  re   r2  )r  r   r)  ru  r   r  r  r  r   r0   r*  r  re   r)   )r  r   r)  ru  r   r  r  r  r   r0   r*  r  r+  r0  re   rQ   )r  r   r)  ru  r   r  r  r  r   r0   r*  r   r+  r1  re   r2  r  r  )r  r   r   ro   r   r   r   r  r   r0   r   r   re   r3  )rg   rh   ri   rk   r   r@   r!   r_   r   r  r  r  r  r  r   r   r  r  r   r   r  r  r  r  r  r  r  s   @r^   r   r   |  s5   !!9=6= /5>+/'+ $043748N9 N9 	N9
 &*N9 N9 3N9 )N9 %N9 N9 .N9 1N9 2N9 
N9`&$, " %	
 
$ 
		 
	  "'+/  %
  ) 
   ,0	 	 %	
 	 (	 )	 
	 	  26+/	 	 %	
 	 /	 )	 
#	 	  15+/
 
 %

 
 /
 )
 
#
"R
 R
 %R

 R
 /R
 &R
 
#R
h
$
 !
 	

 /
 
 /
 
#
0XX X %	X
 
,X  #%!& !	
    
   #%		 !		
  	 	 (	 
	 	  #%15		 !		
  	 	 /	 
#	 	  #%15
W
W !	
W
  
W 
W /
W 
#
W  !%)"$!&

 !	

 
 #
  
 
 

 
  !%)"$ !	
  #    ( 
   !%)"$15 !	
  #    / 
# $ !%)"$15WW !	W
 W #W  W W /W 
#W* !"$	1	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 
,9ra   r   )queryextra_headersextra_query
extra_bodyr  r   r   c                    i }|||d<   |t        t        |      |d<   | | |d<   |i |j                  di       ||d<   t        |t              s||d<   |||d<   t        |      r||d<   |S )zECreate a dict of type RequestOptions without keys of NotGiven values.r   r  rX   r   r  r   )r   r+   r   r   r(   r5   )r4  r5  r6  r7  r  r   r   r   s           r^   make_request_optionsr9  ;  s     !G *	 $Z <!Hw{{8R8HKHgx($	"%4!"!,Nra   c                  &    e Zd ZddZedd       Zy)OtherPlatformc                    || _         y rZ   namer]   r>  s     r^   r_   zOtherPlatform.__init__a  	    	ra   c                     d| j                    S )NzOther:r=  rw   s    r^   __str__zOtherPlatform.__str__d      		{##ra   Nr>  r   re   rf   rv  rg   rh   ri   r_   r   rB  r[   ra   r^   r;  r;  `       $ $ra   r;  )MacOSLinuxWindowsFreeBSDOpenBSDiOSAndroidUnknownc                 &   t        j                         j                         } t        j                          j                         }d|v sd|v ry| dk(  ry| dk(  ryd|v ry	| d
k(  r!t        j                         }|dk(  ry|dk(  ryy|rt        |      S y)NiphoneipadrL  darwinrG  windowsrI  androidrM  linuxfreebsdrJ  openbsdrK  rH  rN  )rN  systemr   distroidr;  )rX  platform_name	distro_ids      r^   rL  rL  x  s    __$$&F%%'--/M= Fm$;
 M! IIK		!	!]++ra   c                  &    e Zd ZddZedd       Zy)	OtherArchc                    || _         y rZ   r=  r?  s     r^   r_   zOtherArch.__init__  r@  ra   c                     d| j                    S )Nzother:r=  rw   s    r^   rB  zOtherArch.__str__  rC  ra   NrD  rv  rE  r[   ra   r^   r^  r^    rF  ra   r^  )x32x64armarm64unknownc                     t        j                         \  } }t        j                         j                         }|dv ry|dk(  ry|dk(  ry| dk(  ry|rt	        |      S y)	N)rd  aarch64rd  rc  x86_64rb  32bitra  re  )rN  architecturemachiner   r^  )python_bitness_rk  s      r^   rM  rM    sn     --/NA &&(G&& %(  !!ra   c                    i | |}|j                         D ci c]  \  }}t        |t              r|| c}}S c c}}w )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.
    )rt   r   r#   )obj1obj2mergedr%  r&  s        r^   r   r     s?     F)/W:3z%QU?VCJWWWs   <<c                     e Zd ZU ded<   ddZeedd              Zeedd              Zeedd              Z	eedd              Z
edd       Zedd	       Zeddd       Zedd d       Zed!d       Zeddd       Zed
d	 	 	 	 	 d"d       Zed#d       Zedd       Zedd$d       Zedd%d       Zed&d       Zedd$d       Zed
d	 	 	 	 	 d"d       Zed#d       Zy
)'HttpxBinaryResponseContentrq  r   c                    || _         y rZ   )r   )r]   r   s     r^   r_   z#HttpxBinaryResponseContent.__init__  s	     ra   c                .    | j                   j                  S rZ   )r   contentrw   s    r^   rv  z"HttpxBinaryResponseContent.content  s     }}$$$ra   c                .    | j                   j                  S rZ   )r   r   rw   s    r^   r   zHttpxBinaryResponseContent.text  s     }}!!!ra   c                .    | j                   j                  S rZ   )r   encodingrw   s    r^   ry  z#HttpxBinaryResponseContent.encoding  s     }}%%%ra   c                .    | j                   j                  S rZ   )r   charset_encodingrw   s    r^   r{  z+HttpxBinaryResponseContent.charset_encoding  s     }}---ra   c                :     | j                   j                  di |S )Nr[   )r   r   )r]   r  s     r^   r   zHttpxBinaryResponseContent.json  s    !t}}!!+F++ra   c                6    | j                   j                         S rZ   )r   r  rw   s    r^   r  zHttpxBinaryResponseContent.read  s    }}!!##ra   Nc                8    | j                   j                  |      S rZ   )r   
iter_bytesr]   
chunk_sizes     r^   r  z%HttpxBinaryResponseContent.iter_bytes  s    }}''
33ra   c                8    | j                   j                  |      S rZ   )r   	iter_textr  s     r^   r  z$HttpxBinaryResponseContent.iter_text  s    }}&&z22ra   c                6    | j                   j                         S rZ   )r   
iter_linesrw   s    r^   r  z%HttpxBinaryResponseContent.iter_lines  s    }}''))ra   c                8    | j                   j                  |      S rZ   )r   iter_rawr  s     r^   r  z#HttpxBinaryResponseContent.iter_raw  s    }}%%j11ra   )r  c                   t        |d      5 }| j                  j                  |      D ]  }|j                  |        	 d d d        y # 1 sw Y   y xY wNwb)mode)openr   r  write)r]   filer  fr  s        r^   stream_to_filez)HttpxBinaryResponseContent.stream_to_file  sN     $T" 	a00< 	 	 	s   2A

Ac                6    | j                   j                         S rZ   )r   r  rw   s    r^   r  z HttpxBinaryResponseContent.close
  s    }}""$$ra   c                R   K   | j                   j                          d {   S 7 wrZ   )r   r  rw   s    r^   r  z HttpxBinaryResponseContent.aread  s     ]]((****   '%'c                @   K   | j                   j                  |      S wrZ   )r   aiter_bytesr  s     r^   r  z&HttpxBinaryResponseContent.aiter_bytes  s     }}((44   c                @   K   | j                   j                  |      S wrZ   )r   
aiter_textr  s     r^   r  z%HttpxBinaryResponseContent.aiter_text  s     }}''
33r  c                >   K   | j                   j                         S wrZ   )r   aiter_linesrw   s    r^   r  z&HttpxBinaryResponseContent.aiter_lines  s     }}((**s   c                @   K   | j                   j                  |      S wrZ   )r   	aiter_rawr  s     r^   r  z$HttpxBinaryResponseContent.aiter_raw  s     }}&&z22r  c               V  K   t        j                  |      }|j                  d       d {   4 d {   }| j                  j	                  |      2 3 d {   }|j                  |       d {    #7 K7 D7 "7 6 d d d       d {  7   y # 1 d {  7  sw Y   y xY wwr  )r  Pathr  r   r  r  )r]   r  r  r  r  r  s         r^   astream_to_filez*HttpxBinaryResponseContent.astream_to_file"  s      zz$-- 	$ 	$"mm77
C $ $dggdm## . 	$$# D	$ 	$ 	$ 	$ 	$s   +B)A9B)A;B)BBA=BB3A?4B9B);B)=B?BBB)BB)B&BB&"B)c                R   K   | j                   j                          d {   S 7 wrZ   )r   r  rw   s    r^   r  z!HttpxBinaryResponseContent.aclose.  s     ]]))++++r  )r   rq  re   rf   )re   bytesrv  )re   zOptional[str])r  r   re   r   rZ   )r  rs  re   zIterator[bytes])r  rs  re   Iterator[str])re   r  )r  zstr | os.PathLike[str]r  r  re   rf   r  )r  rs  re   zAsyncIterator[bytes])r  rs  re   AsyncIterator[str])re   r  )rg   rh   ri   rk   r_   rw  r   rv  r   ry  r{  r   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r[   ra   r^   rs  rs    s   ! %  % "  " &  & .  . , , $ $ 4 4 3 3 * * 2 2 
 "&	$ 	
 
  % % + + 5 5 4 4 + + 3 3 
 "&		$$	$ 		$
 
	$ 	$ , ,ra   rs  )r4  Query | Noner5  zHeaders | Noner6  r  r7  r  r  r   r   z'float | httpx.Timeout | None | NotGivenr   zPostParser | NotGivenre   r0   )re   Platform)re   Arch)ro  Mapping[_T_co, Union[_T, Omit]]rp  r  re   zDict[_T_co, _T])
__future__r   osr   rY  rl  rU  r2  r  rN  r  email.utilstypesr   r   typingr   r   r   r	   r
   r   r   r   r   r   r   r   r   r   r   	functoolsr   typing_extensionsr   r   r  r{   rY  r   r   r   r    r   _qsr   _filesr   r    _typesr!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   _utilsr4   r5   r6   _compatr7   r8   _modelsr9   r:   r;   r<   	_responser=   
_constantsr>   r?   r@   rA   rB   
_streamingrC   rD   rE   rF   rG   rH   	getLoggerrg   rI   rk   rJ   rL   rM   rN   rP   rQ   httpx._configrR   r  ImportErrorrT   rm   r   r   r   r  r	  r   r   r   r   r   r9  r;  r  rL  r^  r  rM  r   rs  r[   ra   r^   <module>r     sH   " 	               "   /          8     * 2 1 + U U "  ,  (g''1^ 1 K':;	\)=>
 T]4(:VC[1{3/?@M-Q   F.6|WV_ .6b+a8F#WV_ +a\$WVZ/0 $N#gHV$gfo #gL uU\\5CTCT5T/UV+5kRUFV9V3WXk878 k8\L9Ju||VC[89 L9^|9Z 1 1;s3C CD |9B $( $""&7@)2"" "" 	"
 "  " 5" '" "J$ $ 		
#L$ $ Y GHHI.	X
)	X
)	X 	Xc,!6 c,M3  - '-s   /J& &J76J7