o
    àej‹2 ã                
   @  sÊ  U d dl mZ d dlZd dlZd dlZd dlZd dlZd dlZd dlZd dl	Z	d dl
Z
d dlZd dlZd dlmZ d dlmZ d dlmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ d dl m!Z!m"Z"m#Z#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/m0Z0m1Z1 d	dl2m3Z3m4Z4m5Z5m6Z6m7Z7m8Z8m9Z9m:Z:m;Z;m<Z<m=Z=m>Z>m?Z?m@Z@mAZAmBZBmCZC d	dlDmEZEmFZFmGZGmHZHmIZImJZJmKZK d	dlLmMZMmNZNmOZO d	dlPmQZQmRZRmSZSmTZTmUZUmVZVmWZWmXZX d	dlYmZZZm[Z[m\Z\m]Z]m^Z^ d	dl_m`Z`maZambZbmcZc d	dldmeZemfZfmgZgmhZhmiZimjZjmkZk d	dllmmZmmnZnmoZompZp d	dl,mqZqmrZrmsZsmtZtmuZu d	dlvmwZw d	dlxmyZy e	 ze{¡Z|de}d< e| ~eEƒ ¡ eddd�Zeddd�Z€edƒZ�ed d!d"�Z‚ed#eme d�Zƒed$eoe d�Z„e�r†d d%l…m†Z† e†Z‡nzd d%l…m†Z‡ W n eˆ�yœ   e7d&ƒZ‡Y nw G d'd(„ d(ƒZ‰G d)d*„ d*eZee� ƒZŠG d+d,„ d,eŠe� ee� ƒZ‹G d-d.„ d.ee�e€f ƒZŒG d/d0„ d0eŠe� ee� ƒZ�ed1ee&jŽe&j�f d�Z�ed2eeme eoe f d�Z‘G d3d4„ d4ee�e‘f ƒZ’G d5d6„ d6e&jŽƒZ“e�re&jŽZ”ne“Z”G d7d8„ d8e”ƒZ•G d9d:„ d:e’e&jŽeme f ƒZ–G d;d<„ d<e&j�ƒZ—ej˜d=k �r=G d>d?„ d?e&j�ƒZ™n#zd dlšZšW n eˆ�yV   G d@d?„ d?e&j�ƒZ™Y n
w G dAd?„ d?ešj›ƒZ™e�rke&j�Zœ	 e&j�Z�ne—Zœe™Z�G dBdC„ dCeœƒZžG dDdE„ dEe’e&j�eoe f ƒZŸdddddeCeCdddFœ	d|dZd[„Z G d\d]„ d]ee¡df ƒZ¢G d^d_„ d_ƒZ£ee£e"d` f Z¤d}dbdc„Z¥eJddd�d~djdk„ƒZ¦G dldm„ dmƒZ§ee§e"dn f Z¨ddodp„Z©ddqdr„Zªd€dtdu„Z«d�dzd{„Z¬dS )‚é    )ÚannotationsN)ÚTracebackType)Úrandom)ÚTYPE_CHECKINGÚAnyÚDictÚTypeÚUnionÚGenericÚMappingÚTypeVarÚIterableÚIteratorÚOptionalÚ	GeneratorÚAsyncIteratorÚcastÚoverload)ÚUnpackÚLiteralÚoverrideÚ
get_origin)ÚURL)ÚPrivateAttré   )Ú_exceptions©ÚQuerystring)Úto_httpx_filesÚasync_to_httpx_files)ÚBodyÚOmitÚQueryÚHeadersÚTimeoutÚNotGivenÚ	ResponseTÚ
AnyMappingÚ
PostParserÚBinaryTypesÚRequestFilesÚHttpxSendArgsÚRequestOptionsÚAsyncBinaryTypesÚHttpxRequestFilesÚModelBuilderProtocolÚ	not_given)ÚSensitiveHeadersFilterÚis_dictÚis_listÚasyncifyÚis_givenÚ	lru_cacheÚ
is_mapping)ÚPYDANTIC_V1Ú
model_copyÚ
model_dump)Ústatus_exceptionsÚtimeout_exceptionsÚnormalize_httpx_urlÚis_httpx2_sync_clientÚnormalize_httpx2_authÚis_httpx2_async_clientÚnormalize_httpx_timeoutÚnormalize_httpx2_timeout)ÚGenericModelÚSecurityOptionsÚFinalRequestOptionsÚvalidate_typeÚconstruct_type)ÚAPIResponseÚBaseAPIResponseÚAsyncAPIResponseÚextract_response_type)ÚDEFAULT_TIMEOUTÚMAX_RETRY_DELAYÚDEFAULT_MAX_RETRIESÚINITIAL_RETRY_DELAYÚRAW_RESPONSE_HEADERÚOVERRIDE_CAST_TO_HEADERÚDEFAULT_CONNECTION_LIMITS)ÚStreamÚ
SSEDecoderÚAsyncStreamÚSSEBytesDecoder)ÚOpenAIErrorÚAPIStatusErrorÚAPITimeoutErrorÚAPIConnectionErrorÚAPIResponseValidationError)Úopenapi_dumps)ÚLegacyAPIResponsezlogging.LoggerÚlogÚ	SyncPageTzBaseSyncPage[Any])ÚboundÚ
AsyncPageTzBaseAsyncPage[Any]Ú_TÚ_T_coT)Ú	covariantÚ_StreamTÚ_AsyncStreamT)ÚDEFAULT_TIMEOUT_CONFIGg      @c                   @  sv   e Zd ZU dZded< ded< ded< eddd„ƒZeddd„ƒZeddd„ƒZeeedœddd„Zeddd„ƒZ	dS )ÚPageInfoz€Stores the necessary information to build the request to retrieve the next page.

    Either `url` or `params` must be set.
    úURL | NotGivenÚurlúQuery | NotGivenÚparamsúBody | NotGivenÚjsonr   ÚreturnÚNonec                C  ó   d S ©N© ©Úselfrj   rs   rs   úS/var/www/html/choboyeo/PHP/venv/lib/python3.10/site-packages/openai/_base_client.pyÚ__init__�   ó   zPageInfo.__init__r"   c                C  rq   rr   rs   )ru   rl   rs   rs   rv   rw   ”   rx   r    c                C  rq   rr   rs   )ru   rn   rs   rs   rv   rw   ›   rx   ©rj   rn   rl   c                C  s   || _ || _|| _d S rr   ry   )ru   rj   rn   rl   rs   rs   rv   rw   ¢   s   
Ústrc                 C  sN   | j r| jj› d| j › d�S | jr| jj› d| j› d�S | jj› d| j› d�S )Nz(url=ú)z(json=z(params=)rj   Ú	__class__Ú__name__rn   rl   ©ru   rs   rs   rv   Ú__repr__­   s
   zPageInfo.__repr__N)rj   r   ro   rp   )rl   r"   ro   rp   )rn   r    ro   rp   )rj   ri   rn   rm   rl   rk   ro   rp   ©ro   rz   )
r}   Ú
__module__Ú__qualname__Ú__doc__Ú__annotations__r   rw   r0   r   r   rs   rs   rs   rv   rh   ƒ   s"   
 	ûrh   c                   @  s`   e Zd ZU dZeƒ Zded< eƒ Zded< ddd	„Zddd„Z	ddd„Z
ddd„Zd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
    rE   Ú_optionsúType[_T]Ú_modelro   Úboolc                 C  s   |   ¡ }|sdS |  ¡ d uS )NF)Ú_get_page_itemsÚnext_page_info)ru   Úitemsrs   rs   rv   Úhas_next_pageÅ   s   zBasePage.has_next_pageúOptional[PageInfo]c                 C  rq   rr   rs   r~   rs   rs   rv   r‹   Ë   s    zBasePage.next_page_infoúIterable[_T]c                 C  rq   rr   rs   r~   rs   rs   rv   rŠ   Í   ó   zBasePage._get_page_itemsrj   r   úhttpx.QueryParamsc                 C  s   t  tt| jjƒ¡ |j¡S rr   )ÚhttpxÚQueryParamsr   r   r†   rl   Úmergert   rs   rs   rv   Ú_params_from_urlÐ   s   zBasePage._params_from_urlÚinforh   c                 C  sØ   t | jƒ}| ¡  t|jtƒsi |j¥|j¥|_|S t|jtƒs:|  |j¡}|jj|d�}t	|jƒ|_t
|ƒ|_|S t|jtƒsht|jƒsItdƒ‚|jsTi |j¥|_|S t|jƒs]tdƒ‚i |j¥|j¥|_|S tdƒ‚)N)rl   z*Pagination is only supported with mappingszUnexpected PageInfo state)r9   r†   Ú_strip_raw_response_headerÚ
isinstancerl   r%   rj   r•   Ú	copy_withÚdictrz   rn   r7   Ú	TypeErrorÚ	json_dataÚ
ValueError)ru   r–   Úoptionsrl   rj   rs   rs   rv   Ú_info_to_optionsÔ   s,   



üzBasePage._info_to_optionsN©ro   r‰   )ro   rŽ   )ro   r�   )rj   r   ro   r‘   )r–   rh   ro   rE   )r}   r�   r‚   rƒ   r   r†   r„   rˆ   r�   r‹   rŠ   r•   rŸ   rs   rs   rs   rv   r…   ¶   s   
 



r…   c                   @  óF   e Zd ZU e ¡ Zded< dd
d„Zddd„Zddd„Z	ddd„Z
dS )ÚBaseSyncPageÚSyncAPIClientÚ_clientÚclientÚmodelr‡   rž   rE   ro   rp   c                 C  s0   t st| dd ƒd u ri | _|| _|| _|| _d S ©NÚ__pydantic_private__©r8   Úgetattrr¨   rˆ   r¤   r†   )ru   r¥   r¦   rž   rs   rs   rv   Ú_set_private_attributesö   ó
   
z$BaseSyncPage._set_private_attributesúIterator[_T]c                 c  s(   � |   ¡ D ]}| ¡ D ]}|V  qqd S rr   ©Ú
iter_pagesrŠ   ©ru   ÚpageÚitemrs   rs   rv   Ú__iter__  s   €ÿÿzBaseSyncPage.__iter__ru   r_   úIterator[SyncPageT]c                 c  s&   � | }	 |V  |  ¡ r| ¡ }nd S qrr   ©r�   Úget_next_page©ru   r±   rs   rs   rv   r¯     s   €
ûzBaseSyncPage.iter_pagesc                 C  s4   |   ¡ }|s
tdƒ‚|  |¡}| jj| j| j|d�S ©NzYNo next page expected; please check `.has_next_page()` before calling `.get_next_page()`.)r±   rž   ©r‹   ÚRuntimeErrorrŸ   r¤   Ú_request_api_listrˆ   r|   ©ru   r–   rž   rs   rs   rv   r¶     s   ÿ
zBaseSyncPage.get_next_pageN)r¥   r£   r¦   r‡   rž   rE   ro   rp   )ro   r­   )ru   r_   ro   r´   )ru   r_   ro   r_   )r}   r�   r‚   Úpydanticr   r¤   r„   r«   r³   r¯   r¶   rs   rs   rs   rv   r¢   ó   s   
 


	r¢   c                   @  s4   e Zd Zddd„Zddd„Zddd„Zddd„ZdS )ÚAsyncPaginatorr¥   ÚAsyncAPIClientrž   rE   Úpage_clsúType[AsyncPageT]r¦   r‡   ro   rp   c                 C  s   || _ || _|| _|| _d S rr   )rˆ   r¤   r†   Ú	_page_cls)ru   r¥   rž   rÀ   r¦   rs   rs   rv   rw   %  s   
zAsyncPaginator.__init__ú Generator[Any, None, AsyncPageT]c                 C  s   |   ¡  ¡ S rr   )Ú	_get_pageÚ	__await__r~   rs   rs   rv   rÅ   1  s   zAsyncPaginator.__await__ra   c                 ƒ  s0   �d‡ fdd„}|ˆ j _ˆ j ˆ jˆ j ¡I d H S )NÚrespra   ro   c                   s   | j ˆ jˆ jˆ jd� | S )N)r¦   rž   r¥   )r«   rˆ   r†   r¤   ©rÆ   r~   rs   rv   Ú_parser5  s   ýz)AsyncPaginator._get_page.<locals>._parser)rÆ   ra   ro   ra   )r†   Úpost_parserr¤   ÚrequestrÂ   )ru   rÈ   rs   r~   rv   rÄ   4  s   €zAsyncPaginator._get_pageúAsyncIterator[_T]c                 C s0   �t t| I d H ƒ}|2 z	3 d H W }|V  q6 d S rr   )r   ra   r°   rs   rs   rv   Ú	__aiter__A  s   €þÿzAsyncPaginator.__aiter__N)
r¥   r¿   rž   rE   rÀ   rÁ   r¦   r‡   ro   rp   )ro   rÃ   )ro   ra   ©ro   rË   )r}   r�   r‚   rw   rÅ   rÄ   rÌ   rs   rs   rs   rv   r¾   $  s
    


r¾   c                   @  r¡   )ÚBaseAsyncPager¿   r¤   r¦   r‡   r¥   rž   rE   ro   rp   c                 C  s0   t st| dd ƒd u ri | _|| _|| _|| _d S r§   r©   )ru   r¦   r¥   rž   rs   rs   rv   r«   N  r¬   z%BaseAsyncPage._set_private_attributesrË   c                 C s2   �|   ¡ 2 z3 d H W }| ¡ D ]}|V  qq6 d S rr   r®   r°   rs   rs   rv   rÌ   [  s   €ÿÿzBaseAsyncPage.__aiter__ru   ra   úAsyncIterator[AsyncPageT]c                 C s,   �| }	 |V  |  ¡ r| ¡ I d H }nd S qrr   rµ   r·   rs   rs   rv   r¯   `  s   €ûzBaseAsyncPage.iter_pagesc                 Ã  s<   �|   ¡ }|stdƒ‚|  |¡}| jj| j| j|d�I d H S r¸   r¹   r¼   rs   rs   rv   r¶   i  s   €ÿ
zBaseAsyncPage.get_next_pageN)r¦   r‡   r¥   r¿   rž   rE   ro   rp   rÍ   )ru   ra   ro   rÏ   )ru   ra   ro   ra   )r}   r�   r‚   r½   r   r¤   r„   r«   rÌ   r¯   r¶   rs   rs   rs   rv   rÎ   K  s   
 


	rÎ   Ú_HttpxClientTÚ_DefaultStreamTc                   @  s´  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d„Zd}d d!„Zd~d%d&„Z	dd+d,„Z
d€d0d1„Zd€d2d3„Zd�d5d6„Zd7d8œd‚d=d>„Zdƒd?d@„Zd„dBdC„Zd7d8œd…dEdF„Zd†dJdK„Zd‡dNdO„ZdˆdQdR„Zd‰dTdU„ZedŠdWdX„ƒZed‹dYdZ„ƒZedŒd[d\„ƒZed�d^d_„ƒZedŽd`da„ƒZd�ddde„Zed�dfdg„ƒZed‘dhdi„ƒZejd’dkdi„ƒZd“dmdn„Z d”d•drds„Z!	d”d–dvdw„Z"d—dxdy„Z#d�dzd{„Z$dS )˜Ú
BaseClientrÐ   r¤   rz   Ú_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] | Nonero   rp   c                C  s\   || _ |  t|ƒ¡| _|| _|| _|pi | _|pi | _|| _d | _	d | _
|d u r,tdƒ‚d S )NzÏmax_retries cannot be None. If you want to disable retries, pass `0`; if you want unlimited retries, pass `math.inf` or a very high number; if you want the default behavior, pass `openai.DEFAULT_MAX_RETRIES`)rÓ   Ú_enforce_trailing_slashr=   rÔ   rÖ   r×   Ú_custom_headersÚ_custom_queryrØ   rÚ   Ú	_platformr›   )ru   rÞ   rß   rØ   rÖ   r×   rÜ   rÝ   rs   rs   rv   rw   ‚  s   

ÿÿzBaseClient.__init__rj   c                 C  s"   |j  d¡r|S |j|j d d�S )Nó   /©Úraw_path)rê   Úendswithr™   rt   rs   rs   rv   rä   œ  s   z"BaseClient._enforce_trailing_slashÚresponseúhttpx.ResponserX   c                 C  s€   |j r|jsd }d|j› �}n)|j ¡ }|}zt |¡}d|j› d|› �}W n ty7   |p4d|j› �}Y nw | j|||d�S )NzError code: z - )Úbodyrì   )	Ú	is_closedÚis_stream_consumedÚstatus_codeÚtextÚstriprn   ÚloadsÚ	ExceptionÚ_make_status_error)ru   rì   rî   Úerr_msgÚerr_textrs   rs   rv   Ú _make_status_error_from_response¡  s   

ÿz+BaseClient._make_status_error_from_responser÷   rî   Úobjectú_exceptions.APIStatusErrorc                C  s   t ƒ ‚rr   )ÚNotImplementedError)ru   r÷   rî   rì   rs   rs   rv   rö   ·  s   zBaseClient._make_status_errorÚsecurityrD   údict[str, str]c                 C  ó   i S rr   rs   ©ru   rý   rs   rs   rv   Ú_auth_headersÀ  ó   zBaseClient._auth_headersc                 C  rÿ   rr   rs   r   rs   rs   rv   Ú_auth_queryÆ  r  zBaseClient._auth_queryúhttpx.Auth | Nonec                 C  rq   rr   rs   r   rs   rs   rv   Ú_custom_authÌ  r  zBaseClient._custom_authr   ©Úretries_takenrž   rE   r  úhttpx.Headersc          	      C  sÌ   |j pi }ti |  |j¡¥| j¥|ƒ}|  ||¡ t |¡}| j}|r/|j	r/||vr/|j	||< dd„ |D ƒ}d|vr@t
|ƒ|d< d|vrdtt|jtƒrN| jn|jƒ}t|tƒrZ|j}|d urdt
|ƒ|d< |S )Nc                 S  s   g | ]}|  ¡ ‘qS rs   )Úlower)Ú.0Úheaderrs   rs   rv   Ú
<listcomp>à  s    z-BaseClient._build_headers.<locals>.<listcomp>zx-stainless-retry-countzx-stainless-read-timeout)ÚheadersÚ_merge_mappingsr  rý   Údefault_headersÚ_validate_headersr’   r#   rÚ   Úidempotency_keyrz   rA   r˜   r×   r%   r$   Úread)	ru   rž   r  rÜ   Úheaders_dictr  Úidempotency_headerÚlower_custom_headersr×   rs   rs   rv   Ú_build_headersÒ  s&   


ÿ
zBaseClient._build_headersc                 C  s4   t |ƒ}|jr| jj|j d¡ }| jj|d�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™   )ru   rj   Ú	merge_urlÚmerge_raw_pathrs   rs   rv   Ú_prepare_urlî  s
   zBaseClient._prepare_urlúSSEDecoder | SSEBytesDecoderc                 C  ó   t ƒ S rr   )rT   r~   rs   rs   rv   Ú_make_sse_decoderû  s   zBaseClient._make_sse_decoderúhttpx.Requestc                C  sØ  t  tj¡rt  dt|dtrdhni d�¡ i }|j}|jd ur@|d u r+t	t
|jƒ}nt|ƒr6t||jƒ}n
tdt|ƒ› d�ƒ‚| j||d�}ti |  |j¡¥| j¥|jƒ}| d¡}|j}|d ur�| d	¡r�d
|vrp| d¡ |r‡t|ƒs€tdt|ƒ› d�ƒ‚|  |¡|d< |s�t	ttƒ ƒ}|  |j¡}	|r²|	jr²i t |	j !¡ ƒ¥|¥}|	j"|	j# $dd¡d d�}	d|	j%v rÂd|	j% &dd¡i|d< |j' (¡ dk}
|
�r|j)d urÙ|d urÙtdƒ‚|j)d uræ|d urætdƒ‚|j)d urñ|j)|d< nt*|t+ƒrû||d< n|�st,|ƒ�r|d u�rt-|ƒnd |d< ||d< n| dd ¡ | dd ¡ t*|j.t/ƒ�r+| j.n|j.}|	}|}t0| j1ƒ�s>t2| j1ƒ�rLt3|	ƒ}t4| 5¡ ƒ}t6|ƒ}| j1j7d|||j'||�re| j8 9t	t:t3t;f |ƒ¡nd dœ|¤ŽS )NzRequest options: %sTÚcontent)Úexclude_unsetÚexcludezUnexpected JSON data type, z , cannot merge with `extra_body`r  úContent-Typezmultipart/form-dataÚboundaryzGExpected query input to be a dictionary for multipart requests but got z	 instead.Údataó   ?r   r   ré   Ú_Úsni_hostnameú-Ú
extensionsÚgetz7Passing both `content` and `json_data` is not supportedz3Passing both `content` and `files` is not supportedÚfiles)r  r×   Úmethodrj   rl   rs   )<r^   ÚisEnabledForÚloggingÚDEBUGÚdebugr:   r8   rœ   Ú
extra_jsonr   r    r7   r  rº   Útyper  r  rý   Údefault_queryrl   r+  r,  Ú
startswithÚpopr2   r›   Ú_serialize_multipartformr.   ÚForceMultipartDictr  rj   Úqueryrš   rŒ   r™   rê   ÚsplitÚhostÚreplacer-  r	  r   r˜   Úbytesr5   r\   r×   r%   r>   r¤   r@   rz   ÚlistÚmulti_itemsrB   Úbuild_requestÚqsÚ	stringifyr   r   )ru   rž   r  Úkwargsrœ   r  rl   Úcontent_typer,  Úprepared_urlÚis_body_allowedr×   Úrequest_urlÚrequest_headersrs   rs   rv   Ú_build_requestþ  s’   ýÿøþ


ÿ




$
"÷
özBaseClient._build_requestr%  úMapping[object, object]údict[str, object]c                 C  s^   | j j|dd�}i }|D ] \}}| |¡}|s|||< qt|ƒr&| |¡ q||g||< q|S )NÚbrackets)Úarray_format)rA  Ústringify_itemsr+  r3   Úappend)ru   r%  rŒ   Ú
serializedÚkeyÚvalueÚexistingrs   rs   rv   r7  r  s   ü

z#BaseClient._serialize_multipartformÚcast_toútype[ResponseT]c                 C  sD   t |jƒs|S t|jƒ}| tt¡}t |ƒr ||_ttt |ƒS |S rr   )	r5   r  rš   r6  rQ   r0   r   r   r&   )ru   rT  rž   r  Úoverride_cast_tors   rs   rv   Ú_maybe_override_cast_to�  s   

z"BaseClient._maybe_override_cast_torÊ   c                 C  s   |j  t¡dkS ©NÚstream)r  r+  rP   ©ru   rÊ   rs   rs   rv   Ú_should_stream_response_body¡  s   z'BaseClient._should_stream_response_bodyr&   c             
   C  s¦   |d u r	t td ƒS |tu rt t|ƒS z,t |¡r(t|tƒr(t t|j||d�ƒW S | jr5t tt	||d�ƒW S t tt
||d�ƒW S  tjyR } zt||d�|‚d }~ww )N)rì   r%  )Útype_rR  )rì   rî   )r   r&   rú   ÚinspectÚisclassÚ
issubclassr/   ÚbuildrØ   rF   rG   r½   ÚValidationErrorr[   )ru   r%  rT  rì   Úerrrs   rs   rv   Ú_process_response_data¤  s   

€ÿz!BaseClient._process_response_datar   c                 C  r  rr   r   r~   rs   rs   rv   rA  ¼  ó   zBaseClient.qsc                 C  rq   rr   rs   r~   rs   rs   rv   Úcustom_authÀ  ó   zBaseClient.custom_authc                 C  rÿ   rr   rs   r~   rs   rs   rv   Úauth_headersÄ  rf  zBaseClient.auth_headersúdict[str, str | Omit]c                 C  s   dd| j dœ|  ¡ ¥| j¥S )Nzapplication/json)ÚAcceptr#  z
User-Agent)Ú
user_agentÚplatform_headersrå   r~   rs   rs   rv   r  È  s   ýüûzBaseClient.default_headersc                 C  s
   i | j ¥S rr   )ræ   r~   rs   rs   rv   r4  Ò  s   ÿzBaseClient.default_queryr  r#   c                 C  ó   dS )zaValidate the given default headers and custom headers.

        Does nothing by default.
        Nrs   )ru   r  rÜ   rs   rs   rv   r  Ø  ó   	zBaseClient._validate_headersc                 C  s   | j j› d| j› �S )Nz/Python )r|   r}   rÓ   r~   rs   rs   rv   rj  ã  ó   zBaseClient.user_agentc                 C  s   | j S rr   )rÔ   r~   rs   rs   rv   rß   ç  rd  zBaseClient.base_urlú	URL | strc                 C  s   |   t|ƒ¡| _d S rr   )rä   r=   rÔ   rt   rs   rs   rv   rß   ë  rn  úDict[str, str]c                 C  s   t | j| jd�S )N)Úplatform)rk  rÓ   rç   r~   rs   rs   rv   rk  ï  s   zBaseClient.platform_headersÚresponse_headersúOptional[httpx.Headers]úfloat | Nonec              	   C  sž   |du rdS z|  dd¡}t|ƒd W S  ttfy   Y nw |  d¡}zt|ƒW S  ttfy4   Y nw tj |¡}|du rAdS tj |¡}t|t ¡  ƒ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)ru   rr  Úretry_ms_headerÚretry_headerÚretry_date_tupleÚ
retry_daters   rs   rv   Ú_parse_retry_after_headerõ  s&   ÿ

ÿz$BaseClient._parse_retry_after_headerÚremaining_retriesrv  c           
      C  s~   |  | j¡}|  |¡}|d urd|  k rdkr|S  t|| dƒ}tttd|ƒ tƒ}ddtƒ   }|| }	|	dkr=|	S dS )Nr   é<   ru  g       @r   g      Ð?)Úget_max_retriesrÖ   r€  ÚminrO   ÚpowrM   r   )
ru   r�  rž   rr  rÖ   Úretry_afterÚ
nb_retriesÚsleep_secondsÚjitterr×   rs   rs   rv   Ú_calculate_retry_timeout  s   
ÿz#BaseClient._calculate_retry_timeoutc                 C  s¶   |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r8t d	|j¡ dS |jdkrFt d	|j¡ dS |jdkrTt 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+  r^   r1  rñ   )ru   rì   Úshould_retry_headerrs   rs   rv   Ú_should_retry/  s*   






zBaseClient._should_retryc                 C  s   dt  ¡ › �S )Nzstainless-python-retry-)ÚuuidÚuuid4r~   rs   rs   rv   Ú_idempotency_keyR  s   zBaseClient._idempotency_key)rÞ   rz   rß   rà   rØ   r‰   rÖ   rÕ   r×   rá   rÜ   râ   rÝ   rã   ro   rp   )rj   r   ro   r   )rì   rí   ro   rX   )r÷   rz   rî   rú   rì   rí   ro   rû   )rý   rD   ro   rþ   )rý   rD   ro   r  )rž   rE   r  rÕ   ro   r  )rj   rz   ro   r   )ro   r  )rž   rE   r  rÕ   ro   r  )r%  rJ  ro   rK  )rT  rU  rž   rE   ro   rU  )rÊ   r  ro   r‰   )r%  rú   rT  rU  rì   rí   ro   r&   )ro   r   )ro   r  )ro   rþ   )ro   rh  )ro   rK  )r  r#   rÜ   r#   ro   rp   r€   )ro   r   )rj   ro  ro   rp   )ro   rp  rr   )rr  rs  ro   rt  )r�  rÕ   rž   rE   rr  rs  ro   rv  )rì   rí   ro   r‰   )%r}   r�   r‚   r„   rÛ   rN   rL   rw   rä   rù   rö   r  r  r  r  r  r  rI  r7  rW  r[  rc  ÚpropertyrA  re  rg  r  r4  r  rj  rß   Úsetterrk  r€  rŠ  rŽ  r‘  rs   rs   rs   rv   rÒ   x  sh   
 ÷



	



ü
t


	

&ü
#rÒ   c                      ó   e Zd Zd‡ fdd„Z‡  ZS )Ú_DefaultHttpxClientrC  r   ro   rp   c                   ó:   |  dt¡ |  dt¡ |  dd¡ tƒ jdi |¤Ž d S ©Nr×   ÚlimitsÚfollow_redirectsTrs   ©Ú
setdefaultrL   rR   Úsuperrw   ©ru   rC  ©r|   rs   rv   rw   W  ó   z_DefaultHttpxClient.__init__©rC  r   ro   rp   ©r}   r�   r‚   rw   Ú__classcell__rs   rs   rž  rv   r•  V  ó    r•  c                   @  ó   e Zd Zddd„ZdS )ÚSyncHttpxClientWrapperro   rp   c                 C  s.   | j rd S z|  ¡  W d S  ty   Y d S w rr   )rï   Úcloserõ   r~   rs   rs   rv   Ú__del__k  s   ÿzSyncHttpxClientWrapper.__del__N©ro   rp   ©r}   r�   r‚   r§  rs   rs   rs   rv   r¥  j  ó    r¥  c                      s
  e Zd ZU ded< dZded< eeddddœd…‡ fdd„Zd†dd„Zd‡dd„Z	dˆd!d"„Z
d‰d)d*„ZdŠd-d.„Zd‹d1d2„ZdŒd7d8„Zed�d?d@„ƒZedAdBœdŽdEd@„ƒZedAddFœd�dId@„ƒZdAddFœd�dKd@„Zd‘dOdP„ZdQdRœd’dTdU„Zd“d[d\„Zei dAd]œd”d`da„ƒZei dbœd•ddda„ƒZei ddeœd–dfda„ƒZi dAddgœd–dhda„Zeddi ddAdiœd—dpdq„ƒZeddi ddrœd˜dsdq„ƒZeddi dddtœd™dudq„ƒZddi ddAddvœd™dwdq„Zdddi dxœdšdydz„Zdddi dxœdšd{d|„Zddi d}œd›d~d„Zdi d€d�œdœdƒd„„Z‡  ZS )�r£   zhttpx.Clientr¤   Nztype[Stream[Any]] | NonerÛ   ©rÖ   r×   Úhttp_clientrÜ   rÝ   rÞ   rz   rß   rà   rÖ   rÕ   r×   ú!float | Timeout | None | NotGivenr¬  úhttpx.Client | NonerÜ   râ   rÝ   rã   rØ   r‰   ro   rp   c          
   	     sš   t |ƒs|rt|jƒnd }	|r|	tkr|	}nt}|d ur/t|ƒs/t|tjƒs/t	dt
|ƒ› �ƒ‚tƒ j|tt|ƒ|||||d� |pIt|tt|ƒd�| _d S )NzbInvalid `http_client` argument; Expected an instance of `httpx.Client` or `httpx2.Client` but got )rÞ   r×   rß   rÖ   rÝ   rÜ   rØ   ©rß   r×   )r5   rA   r×   ÚHTTPX_DEFAULT_TIMEOUTrL   r>   r˜   r’   ÚClientr›   r3  rœ  rw   r   r$   r¥  r¤   )
ru   rÞ   rß   rÖ   r×   r¬  rÜ   rÝ   rØ   Úclient_timeoutrž  rs   rv   rw   y  s8   ÿ
þÿÿø
ýzSyncAPIClient.__init__c                 C  ó   | j jS rr   ©r¤   rï   r~   rs   rs   rv   rï   ­  ó   zSyncAPIClient.is_closedc                 C  s   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¦  r~   rs   rs   rv   r¦  °  s   
ÿzSyncAPIClient.closeru   rb   c                 C  s   | S rr   rs   r~   rs   rs   rv   Ú	__enter__º  r�   zSyncAPIClient.__enter__Úexc_typeútype[BaseException] | NoneÚexcúBaseException | NoneÚexc_tbúTracebackType | Nonec                 C  s   |   ¡  d S rr   ©r¦  ©ru   r¹  r»  r½  rs   rs   rv   Ú__exit__½  s   zSyncAPIClient.__exit__rž   rE   c                 C  s   |S ©z#Hook for mutating the given optionsrs   ©ru   rž   rs   rs   rv   Ú_prepare_optionsÅ  rx   zSyncAPIClient._prepare_optionsrÊ   r  c                 C  rl  ©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.
        Nrs   rZ  rs   rs   rv   Ú_prepare_requestÌ  rm  zSyncAPIClient._prepare_requestrY  rC  úUnpack[HttpxSendArgs]rí   c                K  s   | j j|fd|i|¤ŽS rX  ©r¤   Úsend©ru   rÊ   rY  rC  rs   rs   rv   Ú_send_request×  s   zSyncAPIClient._send_requestrT  úType[ResponseT]úLiteral[True]Ú
stream_clsúType[_StreamT]re   c                C  rq   rr   rs   ©ru   rT  rž   rY  rÎ  rs   rs   rv   rÊ   à  ó   zSyncAPIClient.requestF©rY  úLiteral[False]r&   c                C  rq   rr   rs   ©ru   rT  rž   rY  rs   rs   rv   rÊ   ê  s   ©rY  rÎ  úType[_StreamT] | NoneúResponseT | _StreamTc                C  rq   rr   rs   rÐ  rs   rs   rv   rÊ   ó  rÑ  útype[_StreamT] | Nonec                C  sð  |   ||¡}t|ƒ}|jd u r|j ¡ dkr|  ¡ |_d }| | j¡}d}t|d ƒD �]7}t|ƒ}|  	|¡}|| }	| j
||d�}
|  |
¡ i }|  |j¡}|d ur`t| jƒr\t|ƒn||d< |jd urj|j|d< t d|
j|
j¡ d }z| j|
fd|p‚| j|
d	�i|¤Ž}W no tƒ yº } z%tjd
dd� |	dkr«| j|||d d� W Y d }~q+t d¡ t|
d	�|‚d }~w tyÇ } z|‚d }~w ty÷ } z%tjddd� |	dkrè| j|||d d� W Y d }~q+t d¡ t|
d	�|‚d }~ww t d|
j|
j|j|j|j¡ t d|j  d¡¡ z| !¡  W nK t"ƒ �yb } z=tjddd� |	dk�rH|  #|j$¡�rH|j$ %¡  | j||||d� W Y d }~q+|j$j&�sR|j$ '¡  t d¡ |  (|j$¡d ‚d }~ww  |d u�smJ dƒ‚| j)||||||d�S ©Nr+  r   r   r  Úauthr™  zSending HTTP Request: %s %srY  )rÊ   zEncountered a timeout exceptionT)Úexc_info)r  rÖ   rž   rì   zRaising timeout errorzEncountered ExceptionzRaising connection errorzHTTP Response: %s %s "%i %s" %szrequest_id: %szx-request-idz Encountered an HTTP status errorzRe-raising status errorz0could not resolve response (should never happen))rT  rž   rì   rY  rÎ  r  )*rW  r9   r  r-  r	  r‘  rƒ  rÖ   ÚrangerÄ  rI  rÆ  r  rý   r>   r¤   r?   r™  r^   r1  rj   rË  r[  r<   Ú_sleep_for_retryrY   rW   rõ   rZ   rñ   Úreason_phraser  r+  Úraise_for_statusr;   rŽ  rì   r¦  rï   r  rù   Ú_process_response)ru   rT  rž   rY  rÎ  Úinput_optionsrì   rÖ   r  r�  rÊ   rC  re  rb  rs   rs   rv   rÊ   ý  sÄ   


ÿ

ÿþ
ýü
€€ü
€óú
ü


€íúr  rì   úhttpx.Response | Nonec                C  s^   || }|dkrt  d¡ nt  d|¡ |  |||r|jnd ¡}t  d|j|¡ t |¡ d S ©Nr   z1 retry leftz%i retries leftz$Retrying request to %s in %f seconds)r^   r1  rŠ  r  r–   rj   r{  Úsleep©ru   r  rÖ   rž   rì   r�  r×   rs   rs   rv   rÝ  {  s   zSyncAPIClient._sleep_for_retryr   r  ú1type[Stream[Any]] | type[AsyncStream[Any]] | Nonec          
      C  s   |j j t¡dkrttt|| |||||d�ƒS t|ƒp|}t 	|¡rVt
|tƒrV|r2t|j j t¡ƒrVt
|tƒsAtdt› d|› �ƒ‚td|ƒ}tt||| t|ƒ||||d�ƒS |tjkr`tt|ƒS t|| td|ƒ||||d�}	t|j j t¡ƒr|tt|	ƒS |	 ¡ S )Nr‹  ©Úrawr¥   rT  rY  rÎ  rž   r  ú!API Response types must subclass ú; Received útype[BaseAPIResponse[Any]]rU  )rÊ   r  r+  rP   r   r&   r]   r   r]  r^  r_  rI   r‰   rH   r›   rK   r’   ÚResponseÚparse©
ru   rT  rž   rì   rY  rÎ  r  ÚoriginÚresponse_clsÚapi_responsers   rs   rv   rà  ‰  sf   
ùþÿþúú

ùþ

ù	
zSyncAPIClient._process_responser¦   úType[object]r±   úType[SyncPageT]r_   c                   s(   d‡ ‡‡fdd„}|ˆ_ ˆj|ˆdd�S )	NrÆ   r_   ro   c                   s   | j ˆˆ ˆd� | S )N)r¥   r¦   rž   )r«   rÇ   ©r¦   rž   ru   rs   rv   rÈ   Ó  s   ýz0SyncAPIClient._request_api_list.<locals>._parserFrÒ  )rÆ   r_   ro   r_   )rÉ   rÊ   )ru   r¦   r±   rž   rÈ   rs   rô  rv   r»   Í  s   zSyncAPIClient._request_api_list©rž   rY  Úpathr,   c                C  rq   rr   rs   ©ru   rö  rT  rž   rY  rs   rs   rv   r+  ß  rÑ  zSyncAPIClient.get©rž   útype[_StreamT]c                C  rq   rr   rs   ©ru   rö  rT  rž   rY  rÎ  rs   rs   rv   r+  é  rm  ©rž   rÎ  c                C  rq   rr   rs   rú  rs   rs   rv   r+  ô  rm  ©rž   rY  rÎ  c                C  s.   t jdd|dœ|¤Ž}tt| j||||d�ƒS ©Nr+  )r-  rj   rÕ  rs   )rE   Ú	constructr   r&   rÊ   ©ru   rö  rT  rž   rY  rÎ  Úoptsrs   rs   rv   r+  ÿ  s   	)rî   r   rž   r,  rY  rî   úBody | Noner   úBinaryTypes | Noner,  úRequestFiles | Nonec                C  rq   rr   rs   )ru   rö  rT  rî   r   rž   r,  rY  rs   rs   rv   Úpost  s   zSyncAPIClient.post)rî   r   rž   r,  c          	      C  rq   rr   rs   ©	ru   rö  rT  rî   r   rž   r,  rY  rÎ  rs   rs   rv   r    ó   )rî   r   rž   r,  rÎ  c          	      C  rq   rr   rs   r  rs   rs   rv   r  (  r  )rî   r   rž   r,  rY  rÎ  c          
      C  s‚   |d ur|d urt dƒ‚|d ur|d urt dƒ‚t|tƒr%tjdtdd� tjd	d|||t|ƒdœ|¤Ž}	t	t
| j||	||d�ƒS ©
Nú2Passing both `body` and `content` is not supportedú3Passing both `files` and `content` is not supportedú�Passing raw bytes as `body` is deprecated and will be removed in a future version. Please pass raw bytes via the `content` parameter instead.é   ©Ú
stacklevelr  ©r-  rj   rœ   r   r,  rÕ  rs   )r›   r˜   r=  ÚwarningsÚwarnÚDeprecationWarningrE   rþ  r   r   r&   rÊ   )
ru   rö  rT  rî   r   rž   r,  rY  rÎ  r   rs   rs   rv   r  6  s    
üÿÿ©rî   r   r,  rž   c                C  óv   |d ur|d urt dƒ‚|d ur|d urt dƒ‚t|tƒr%tjdtdd� tjdd|||t|ƒdœ|¤Ž}|  	||¡S ©	Nr  r	  r
  r  r  Úpatchr  rs   ©
r›   r˜   r=  r  r  r  rE   rþ  r   rÊ   ©ru   rö  rT  rî   r   r,  rž   r   rs   rs   rv   r  R  ó    

üÿÿzSyncAPIClient.patchc                C  r  ©	Nr  r	  r
  r  r  Úputr  rs   r  r  rs   rs   rv   r  l  r  zSyncAPIClient.put©rî   r   rž   c                C  sX   |d ur|d urt dƒ‚t|tƒrtjdtdd� tjdd|||dœ|¤Ž}|  ||¡S ©Nr  r
  r  r  Údelete)r-  rj   rœ   r   rs   ©	r›   r˜   r=  r  r  r  rE   rþ  rÊ   ©ru   rö  rT  rî   r   rž   r   rs   rs   rv   r  †  s   	
üzSyncAPIClient.deleter+  ©rî   rž   r-  r-  c                C  ó&   t jd|||dœ|¤Ž}|  |||¡S ©N)r-  rj   rœ   rs   ©rE   rþ  r»   ©ru   rö  r¦   r±   rî   rž   r-  r   rs   rs   rv   Úget_api_list›  ó   
zSyncAPIClient.get_api_list)rÞ   rz   rß   rà   rÖ   rÕ   r×   r­  r¬  r®  rÜ   râ   rÝ   rã   rØ   r‰   ro   rp   r    r¨  ©ru   rb   ro   rb   ©r¹  rº  r»  r¼  r½  r¾  ro   rp   ©rž   rE   ro   rE   ©rÊ   r  ro   rp   ©rÊ   r  rY  r‰   rC  rÇ  ro   rí   )
rT  rÌ  rž   rE   rY  rÍ  rÎ  rÏ  ro   re   ©rT  rÌ  rž   rE   rY  rÓ  ro   r&   )
rT  rÌ  rž   rE   rY  r‰   rÎ  rÖ  ro   r×  )
rT  rÌ  rž   rE   rY  r‰   rÎ  rØ  ro   r×  ©
r  rÕ   rÖ   rÕ   rž   rE   rì   râ  ro   rp   ©rT  rÌ  rž   rE   rì   rí   rY  r‰   rÎ  ræ  r  rÕ   ro   r&   )r¦   rò  r±   ró  rž   rE   ro   r_   ©
rö  rz   rT  rÌ  rž   r,   rY  rÓ  ro   r&   )rö  rz   rT  rÌ  rž   r,   rY  rÍ  rÎ  rù  ro   re   )rö  rz   rT  rÌ  rž   r,   rY  r‰   rÎ  rØ  ro   r×  )rö  rz   rT  rÌ  rî   r  r   r  rž   r,   r,  r  rY  rÓ  ro   r&   )rö  rz   rT  rÌ  rî   r  r   r  rž   r,   r,  r  rY  rÍ  rÎ  rù  ro   re   )rö  rz   rT  rÌ  rî   r  r   r  rž   r,   r,  r  rY  r‰   rÎ  rØ  ro   r×  )rö  rz   rT  rÌ  rî   r  r   r  r,  r  rž   r,   ro   r&   )rö  rz   rT  rÌ  rî   r  r   r  rž   r,   ro   r&   )rö  rz   r¦   rò  r±   ró  rî   r  rž   r,   r-  rz   ro   r_   )r}   r�   r‚   r„   rÛ   rN   r0   rw   rï   r¦  r¸  rÁ  rÄ  rÆ  rË  r   rÊ   rÝ  rà  r»   r+  r  r  r  r  r%  r¢  rs   rs   rž  rv   r£   u  s¸   
 ÷
4






		ûúú
~ø
Dú	û
ùù÷øöö!øøùør£   c                      r”  )Ú_DefaultAsyncHttpxClientrC  r   ro   rp   c                   r–  r—  rš  r�  rž  rs   rv   rw   ª  rŸ  z!_DefaultAsyncHttpxClient.__init__r   r¡  rs   rs   rž  rv   r0  ©  r£  r0  )é   é
   c                   @  ó   e Zd Zddd„ZdS )	Ú_DefaultAioHttpClientÚ_kwargsr   ro   rp   c                 K  ó   t dƒ‚)Nz0The aiohttp client requires Python 3.10 or later©rº   ©ru   r5  rs   rs   rv   rw   ´  rµ  ú_DefaultAioHttpClient.__init__N©r5  r   ro   rp   ©r}   r�   r‚   rw   rs   rs   rs   rv   r4  ³  rª  r4  c                   @  r3  )	r4  r5  r   ro   rp   c                 K  r6  )NzVTo use the aiohttp client you must have installed the package with the `aiohttp` extrar7  r8  rs   rs   rv   rw   ¼  s   ÿr9  Nr:  r;  rs   rs   rs   rv   r4  »  rª  c                      r”  )r4  rC  r   ro   rp   c                   r–  r—  rš  r�  rž  rs   rv   rw   Ã  s   r9  r   r¡  rs   rs   rž  rv   r4  Â  r£  c                   @  r¤  )ÚAsyncHttpxClientWrapperro   rp   c                 C  s8   | j rd S zt ¡  |  ¡ ¡ W d S  ty   Y d S w rr   )rï   ÚasyncioÚget_running_loopÚcreate_taskÚacloserõ   r~   rs   rs   rv   r§  Ü  s   ÿzAsyncHttpxClientWrapper.__del__Nr¨  r©  rs   rs   rs   rv   r<  Û  rª  r<  c                      s  e Zd ZU ded< dZded< eeddddœdƒ‡ fdd„Zd„dd„Zd…dd„Z	d†d!d"„Z
d‡d)d*„Zdˆd-d.„Zd‰d1d2„ZdŠd7d8„Zed9d:œd‹d?d@„ƒZedŒdEd@„ƒZeddFœd�dId@„ƒZd9ddJœd�dKd@„ZdŽdOdP„ZdQdRœd�dTdU„Zd�d[d\„Zei d9d]œd‘d`da„ƒZei dbœd’dcda„ƒZei dddœd“deda„ƒZi d9ddfœd“dgda„Zedddi d9dhœd”dodp„ƒZedddi dqœd•drdp„ƒZedddi ddsœd–dtdp„ƒZdddi d9dduœd–dvdp„Zdddi dqœd—dwdx„Zdddi dqœd—dydz„Zddi d{œd˜d|d}„Zdi d~dœd™d�d‚„Z‡  ZS )šr¿   zhttpx.AsyncClientr¤   Nztype[AsyncStream[Any]] | NonerÛ   r«  rÞ   rz   rß   rà   rØ   r‰   rÖ   rÕ   r×   r­  r¬  úhttpx.AsyncClient | NonerÜ   râ   rÝ   rã   ro   rp   c          
   	     sš   t |ƒs|rt|jƒnd }	|r|	tkr|	}nt}|d ur/t|ƒs/t|tjƒs/t	dt
|ƒ› �ƒ‚tƒ j||tt|ƒ||||d� |pIt|tt|ƒd�| _d S )NzlInvalid `http_client` argument; Expected an instance of `httpx.AsyncClient` or `httpx2.AsyncClient` but got )rÞ   rß   r×   rÖ   rÝ   rÜ   rØ   r¯  )r5   rA   r×   r°  rL   r@   r˜   r’   ÚAsyncClientr›   r3  rœ  rw   r   r$   r<  r¤   )
ru   rÞ   rß   rØ   rÖ   r×   r¬  rÜ   rÝ   r²  rž  rs   rv   rw   ë  s8   ÿ
þÿÿø
ýzAsyncAPIClient.__init__c                 C  r³  rr   r´  r~   rs   rs   rv   rï     rµ  zAsyncAPIClient.is_closedc                 Ã  s   �| j  ¡ I dH  dS )r¶  N)r¤   r@  r~   rs   rs   rv   r¦  "  s   €zAsyncAPIClient.closeru   rb   c                 Ã  s   �| S rr   rs   r~   rs   rs   rv   Ú
__aenter__)  s   €zAsyncAPIClient.__aenter__r¹  rº  r»  r¼  r½  r¾  c                 Ã  s   �|   ¡ I d H  d S rr   r¿  rÀ  rs   rs   rv   Ú	__aexit__,  s   €zAsyncAPIClient.__aexit__rž   rE   c                 Ã  s   �|S rÂ  rs   rÃ  rs   rs   rv   rÄ  4  s   €zAsyncAPIClient._prepare_optionsrÊ   r  c                 Ã  s   �dS rÅ  rs   rZ  rs   rs   rv   rÆ  ;  ó   €	zAsyncAPIClient._prepare_requestrY  rC  rÇ  rí   c                Ë  s    �| j j|fd|i|¤ŽI d H S rX  rÈ  rÊ  rs   rs   rv   rË  F  s   €zAsyncAPIClient._send_requestFrÒ  rT  rÌ  rÓ  r&   c                Ã  ó   �d S rr   rs   rÔ  rs   rs   rv   rÊ   O  s   €zAsyncAPIClient.requestrÍ  rÎ  útype[_AsyncStreamT]rf   c                Ã  rF  rr   rs   rÐ  rs   rs   rv   rÊ   X  ó   €)rÎ  útype[_AsyncStreamT] | NoneúResponseT | _AsyncStreamTc                Ã  rF  rr   rs   rÐ  rs   rs   rv   rÊ   b  rH  rÕ  c                Ã  sB  �| j d u rttƒƒ I d H | _ |  ||¡}t|ƒ}|jd u r*|j ¡ dkr*|  ¡ |_d }| 	| j
¡}d}t|d ƒD �]N}t|ƒ}|  |¡I d H }|| }	| j||d�}
|  |
¡I d H  i }| jd urrt| jƒrmt| jƒn| j|d< |jd ur||j|d< t d|
j|
j¡ d }z| j|
fd|p”| j|
d	�i|¤ŽI d H }W nw tƒ yÒ } z(tjd
dd� |	dkrÃ| j|||d d�I d H  W Y d }~q:t d¡ t|
d	�|‚d }~w tyß } z|‚d }~w t�y } z)tjddd� |	dk�r| j|||d d�I d H  W Y d }~q:t d¡ t|
d	�|‚d }~ww t d|
j|
j|j|j |j!¡ t d|j! "d¡¡ z| #¡  W nT t$ƒ �yˆ } zFtjddd� |	dk�rk|  %|j&¡�rk|j& '¡ I d H  | j||||d�I d H  W Y d }~q:|j&j(�sx|j& )¡ I d H  t d¡ |  *|j&¡d ‚d }~ww  |d u�s“J dƒ‚| j+||||||d�I d H S rÙ  ),rç   r4   Úget_platformrW  r9   r  r-  r	  r‘  rƒ  rÖ   rÜ  rÄ  rI  rÆ  re  r@   r¤   r?   r™  r^   r1  rj   rË  r[  r<   rÝ  rY   rW   rõ   rZ   rñ   rÞ  r  r+  rß  r;   rŽ  rì   r@  rï   Úareadrù   rà  )ru   rT  rž   rY  rÎ  rá  rì   rÖ   r  r�  rÊ   rC  rb  rs   rs   rv   rÊ   l  sÌ   €


ÿý

ÿþýü
€€
ü
€óúü

€íúr  rì   râ  c                Ã  sf   �|| }|dkrt  d¡ nt  d|¡ |  |||r|jnd ¡}t  d|j|¡ t |¡I d H  d S rã  )r^   r1  rŠ  r  r–   rj   Úanyiorä  rå  rs   rs   rv   rÝ  ð  s   €zAsyncAPIClient._sleep_for_retryr   r  ræ  c          
      Ã  s  �|j j t¡dkrttt|| |||||d�ƒS t|ƒp|}t 	|¡rWt
|tƒrW|r3t|j j t¡ƒrWt
|tƒsBtdt› d|› �ƒ‚td|ƒ}td||| t|ƒ||||d�ƒS |tjkratt|ƒS t|| td|ƒ||||d�}	t|j j t¡ƒr}tt|	ƒS |	 ¡ I d H S )Nr‹  rç  ré  rê  rë  r&   rU  )rÊ   r  r+  rP   r   r&   r]   r   r]  r^  r_  rI   r‰   rJ   r›   rK   r’   rì  rí  rî  rs   rs   rv   rà  þ  sh   €
ùþÿþúú

ùþ

ù	
z AsyncAPIClient._process_responser¦   r‡   r±   rÁ   úAsyncPaginator[_T, AsyncPageT]c                 C  s   t | |||d�S )N)r¥   rž   rÀ   r¦   )r¾   )ru   r¦   r±   rž   rs   rs   rv   r»   B  s   z AsyncAPIClient._request_api_listrõ  rö  r,   c                Ã  rF  rr   rs   r÷  rs   rs   rv   r+  J  rH  zAsyncAPIClient.getrø  c                Ã  rF  rr   rs   rú  rs   rs   rv   r+  T  rE  rû  c                Ã  rF  rr   rs   rú  rs   rs   rv   r+  _  rE  rü  c                Ã  s0   �t jdd|dœ|¤Ž}| j||||d�I d H S rý  )rE   rþ  rÊ   rÿ  rs   rs   rv   r+  j  s   €	)rî   r   r,  rž   rY  rî   r  r   úAsyncBinaryTypes | Noner,  r  c                Ã  rF  rr   rs   )ru   rö  rT  rî   r   r,  rž   rY  rs   rs   rv   r  v  s   €zAsyncAPIClient.postr  c          	      Ã  rF  rr   rs   ©	ru   rö  rT  rî   r   r,  rž   rY  rÎ  rs   rs   rv   r  ƒ  ó   €)rî   r   r,  rž   rÎ  c          	      Ã  rF  rr   rs   rP  rs   rs   rv   r  ‘  rQ  )rî   r   r,  rž   rY  rÎ  c          
      Ã  sŠ   �|d ur|d urt dƒ‚|d ur|d urt dƒ‚t|tƒr&tjdtdd� tjd	d|||t|ƒI d H dœ|¤Ž}	| j	||	||d�I d H S r  ©
r›   r˜   r=  r  r  r  rE   rþ  r   rÊ   )
ru   rö  rT  rî   r   r,  rž   rY  rÎ  r   rs   rs   rv   r  Ÿ  s"   €
üÿÿc                Ã  ó„   �|d ur|d urt dƒ‚|d ur|d urt dƒ‚t|tƒr&tjdtdd� tjdd|||t|ƒI d H dœ|¤Ž}|  	||¡I d H S r  rR  r  rs   rs   rv   r  »  s*   €

üûúzAsyncAPIClient.patchc                Ã  rS  r  rR  r  rs   rs   rv   r  Ú  s"   €

üÿÿzAsyncAPIClient.putr  c                Ã  s`   �|d ur|d urt dƒ‚t|tƒrtjdtdd� tjdd|||dœ|¤Ž}|  ||¡I d H S r  r  r  rs   rs   rv   r  ô  s   €	
üzAsyncAPIClient.deleter+  r   r-  c                C  r!  r"  r#  r$  rs   rs   rv   r%  	  r&  zAsyncAPIClient.get_api_list)rÞ   rz   rß   rà   rØ   r‰   rÖ   rÕ   r×   r­  r¬  rA  rÜ   râ   rÝ   rã   ro   rp   r    r¨  r'  r(  r)  r*  r+  r,  )
rT  rÌ  rž   rE   rY  rÍ  rÎ  rG  ro   rf   )
rT  rÌ  rž   rE   rY  r‰   rÎ  rI  ro   rJ  r-  r.  )r¦   r‡   r±   rÁ   rž   rE   ro   rN  r/  )rö  rz   rT  rÌ  rž   r,   rY  rÍ  rÎ  rG  ro   rf   )rö  rz   rT  rÌ  rž   r,   rY  r‰   rÎ  rI  ro   rJ  )rö  rz   rT  rÌ  rî   r  r   rO  r,  r  rž   r,   rY  rÓ  ro   r&   )rö  rz   rT  rÌ  rî   r  r   rO  r,  r  rž   r,   rY  rÍ  rÎ  rG  ro   rf   )rö  rz   rT  rÌ  rî   r  r   rO  r,  r  rž   r,   rY  r‰   rÎ  rI  ro   rJ  )rö  rz   rT  rÌ  rî   r  r   rO  r,  r  rž   r,   ro   r&   )rö  rz   rT  rÌ  rî   r  r   rO  rž   r,   ro   r&   )rö  rz   r¦   r‡   r±   rÁ   rî   r  rž   r,   r-  rz   ro   rN  )r}   r�   r‚   r„   rÛ   rN   r0   rw   rï   r¦  rC  rD  rÄ  rÆ  rË  r   rÊ   rÝ  rà  r»   r+  r  r  r  r  r%  r¢  rs   rs   rž  rv   r¿   ç  s¸   
 ö
4





	û	úú 
ø
Dú	û
ùù÷øöö!ø$øùør¿   )	r9  Úextra_headersÚextra_queryÚ
extra_bodyr  r×   rÉ   rý   Úsynthesize_event_and_datar9  úQuery | NonerT  úHeaders | NonerU  rV  r  r  rÙ   r×   ú'float | httpx.Timeout | None | NotGivenrÉ   úPostParser | NotGivenrý   úSecurityOptions | NonerW  úbool | Nonero   r,   c        	   
      C  s°   i }	|dur
||	d< |durt t|ƒ|	d< | dur| |	d< |dur-i |	 di ¡¥|¥|	d< t|tƒs6||	d< |dur>||	d< t|ƒrF||	d< |durN||	d< |durV||	d	< |	S )
zECreate a dict of type RequestOptions without keys of NotGiven values.Nr  r2  rl   r×   r  rÉ   rý   rW  )r   r'   r+  r˜   r%   r5   )
r9  rT  rU  rV  r  r×   rÉ   rý   rW  rž   rs   rs   rv   Úmake_request_options  s(   
r^  c                   @  r¤  )r8  ro   r‰   c                 C  rl  )NTrs   r~   rs   rs   rv   Ú__bool__E  r�   zForceMultipartDict.__bool__Nr    )r}   r�   r‚   r_  rs   rs   rs   rv   r8  D  rª  r8  c                   @  ó$   e Zd Zd
dd„Zeddd„ƒZd	S )ÚOtherPlatformÚnamerz   ro   rp   c                 C  ó
   || _ d S rr   ©rb  ©ru   rb  rs   rs   rv   rw   J  ó   
zOtherPlatform.__init__c                 C  ó   d| j › �S )NzOther:rd  r~   rs   rs   rv   Ú__str__M  ó   zOtherPlatform.__str__N©rb  rz   ro   rp   r€   ©r}   r�   r‚   rw   r   rh  rs   rs   rs   rv   ra  I  ó    
ra  )ÚMacOSÚLinuxÚWindowsÚFreeBSDÚOpenBSDÚiOSÚAndroidÚUnknownÚPlatformc                  C  s¦   zt  ¡  ¡ } t   ¡  ¡ }W n
 ty   Y dS w d|v s!d|v r#dS | dkr)dS | dkr/dS d	|v r5d
S | dkrKt ¡ }|dkrCdS |dkrIdS dS |rQt|ƒS dS )Nrt  ÚiphoneÚipadrr  Údarwinrm  Úwindowsro  Úandroidrs  ÚlinuxÚfreebsdrp  Úopenbsdrq  rn  )rq  Úsystemr	  rõ   ÚdistroÚidra  )r~  Úplatform_nameÚ	distro_idrs   rs   rv   rK  a  s0   ÿrK  )ÚmaxsizerÞ   rz   rq  úPlatform | Nonerp  c                C  s&   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)rz   rK  Úget_architectureÚget_python_runtimeÚget_python_version)rÞ   rq  rs   rs   rv   rk  ‹  s   úrk  c                   @  r`  )Ú	OtherArchrb  rz   ro   rp   c                 C  rc  rr   rd  re  rs   rs   rv   rw   ˜  rf  zOtherArch.__init__c                 C  rg  )Nzother:rd  r~   rs   rs   rv   rh  ›  ri  zOtherArch.__str__Nrj  r€   rk  rs   rs   rs   rv   r‰  —  rl  r‰  )Úx32Úx64ÚarmÚarm64Úunknownc                   C  ó    zt  ¡ W S  ty   Y dS w ©NrŽ  )rq  Úpython_implementationrõ   rs   rs   rs   rv   r‡  £  ó
   
ÿr‡  c                   C  r�  r�  )rq  Úpython_versionrõ   rs   rs   rs   rv   rˆ  ª  r’  rˆ  ÚArchc                  C  sh   zt  ¡  ¡ } W n
 ty   Y dS w | dv rdS | dkrdS | dkr%dS tjdkr,dS | r2t| ƒS dS )	NrŽ  )r�  Úaarch64r�  rŒ  Úx86_64r‹  l        rŠ  )rq  Úmachiner	  rõ   Úsysrƒ  r‰  )r—  rs   rs   rv   r†  ±  s    ÿ
r†  Úobj1úMapping[_T_co, Union[_T, Omit]]Úobj2úDict[_T_co, _T]c                 C  s   i | ¥|¥}dd„ |  ¡ D ƒS )z¢Merge 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                 S  s    i | ]\}}t |tƒs||“qS rs   )r˜   r!   )r
  rQ  rR  rs   rs   rv   Ú
<dictcomp>Ô  s     z#_merge_mappings.<locals>.<dictcomp>)rŒ   )r™  r›  Úmergedrs   rs   rv   r  Ë  s   r  )r9  rX  rT  rY  rU  rX  rV  r  r  rÙ   r×   rZ  rÉ   r[  rý   r\  rW  r]  ro   r,   )ro   ru  )rÞ   rz   rq  r„  ro   rp  r€   )ro   r”  )r™  rš  r›  rš  ro   rœ  )­Ú
__future__r   r˜  rn   r{  r�  rw  r=  r]  r/  rq  r  Úemail.utilsÚtypesr   r   Útypingr   r   r   r   r	   r
   r   r   r   r   r   r   r   r   r   Útyping_extensionsr   r   r   r   rM  r’   r  r½   r   r   Ú r   Ú_qsr   Ú_filesr   r   Ú_typesr    r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   Ú_utilsr1   r2   r3   r4   r5   r6   r7   Ú_compatr8   r9   r:   Ú_httpx2r;   r<   r=   r>   r?   r@   rA   rB   Ú_modelsrC   rD   rE   rF   rG   Ú	_responserH   rI   rJ   rK   Ú
_constantsrL   rM   rN   rO   rP   rQ   rR   Ú
_streamingrS   rT   rU   rV   rW   rX   rY   rZ   r[   Ú_utils._jsonr\   Ú_legacy_responser]   Ú	getLoggerr}   r^   r„   Ú	addFilterr_   ra   rb   rc   re   rf   Úhttpx._configrg   r°  ÚImportErrorrh   r…   r¢   r¾   rÎ   r±  rB  rÐ   rÑ   rÒ   r•  ÚDefaultHttpxClientr¥  r£   r0  Úversion_infor4  Úhttpx_aiohttpÚHttpxAiohttpClientÚDefaultAsyncHttpxClientÚDefaultAioHttpClientr<  r¿   r^  rz   r8  ra  ru  rK  rk  r‰  r”  r‡  rˆ  r†  r  rs   rs   rs   rv   Ú<module>   sø    DL$(
$	þ3=1')   a    8þ		    6ö-	ÿÿÿ
*	


