o
    ùT·jb™  ã                   @  s6  d dl mZ d dlZd dlZd dlZd dlmZmZmZm	Z	m
Z
mZmZ d dlmZmZmZ d dlmZmZ d dlZddlmZmZ ddlmZmZmZ dd	lmZ dd
lmZm Z  ddl!m"Z" ddl#m$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.m/Z/m0Z0m1Z1m2Z2 e	g e3f Z4e	g df Z5ed Z6e7e6e
e8 f Z9e :d¡Z;edd�G dd„ dƒƒZ<edd�G dd„ dƒƒZ=d\dd„Z>d]d$d%„Z?d^d(d)„Z@d_d-d.„ZAd`d0d1„ZBdad8d9„ZCdbd:d;„ZDdd<œdcdDdE„ZEdddIdJ„ZFdedMdN„ZGdfdPdQ„ZHdgdSdT„ZIdgdUdV„ZJG dWdX„ dXeƒZKG dYdZ„ dZe ƒZLg d[¢ZMdS )hé    )ÚannotationsN)ÚAnyÚLiteralÚMappingÚCallableÚOptionalÚ	AwaitableÚcast)ÚfieldÚreplaceÚ	dataclass)ÚSelfÚoverrideé   )ÚWorkloadIdentityÚX509WorkloadIdentity)Ú	NOT_GIVENÚTimeoutÚNotGiven)Úis_given)ÚOpenAIÚAsyncOpenAI)Únormalize_httpx_url)ÚFinalRequestOptions)Ú	_ProviderÚ_configure_provider)ÚOpenAIError)ÚDEFAULT_MAX_RETRIES)ÚDataResidency)ÚAwsCredentialsProviderÚbedrockÚ_BedrockProviderRuntimeÚ _parse_bedrock_endpoint_hostnamezstr | Awaitable[str])ÚbearerÚtoken_providerÚawsé    T)Úfrozenc                   @  s8   e Zd ZU ded< ded< ded< edd�Zd	ed
< dS )Ú_LegacyRuntimeSignatureÚ_LegacyAuthModeÚmodeÚstrÚbase_urlú
str | NoneÚregionF©ÚreprÚobjectÚcredential_identityN)Ú__name__Ú
__module__Ú__qualname__Ú__annotations__r
   r2   © r7   r7   úU/home/dinkstrade/pdmp-scanner/venv/lib/python3.10/site-packages/openai/lib/bedrock.pyr(   $   s
   
 r(   c                   @  s¸   e Zd ZU edd�Zded< eddd�Zded< ded< d	ed
< ded< edd�Zded< edd�Zded< edd�Z	ded< eddd�Z
ded< d	ed< edd�Zded< d	ed< dS )Ú_LegacyBedrockStateFr/   r-   Úexplicit_api_key)r0   Úcompareú7BedrockTokenProvider | AsyncBedrockTokenProvider | Noner$   Ú
aws_regionÚboolÚregion_was_explicitÚaws_profileÚaws_access_key_idÚaws_secret_access_keyÚaws_session_tokenúAwsCredentialsProvider | NoneÚaws_credentials_providerÚuses_environment_bearerÚenvironment_bearer_tokenÚuses_region_derived_base_urlN)r3   r4   r5   r
   r:   r6   r$   rA   rB   rC   rE   rG   r7   r7   r7   r8   r9   ,   s   
 r9   ÚstateÚreturnr+   c                 C  s   | j p| jr	| jndpdS )NÚ )r:   rF   rG   )rI   r7   r7   r8   Ú_state_api_key<   s   rL   ÚconstructorúCallable[..., object]Únamer>   c              	   C  sH   zt  | ¡j}W n ttfy   Y dS w ||v p#tdd„ | ¡ D ƒƒS )NFc                 s  s   � | ]
}|j tjju V  qd S ©N)ÚkindÚinspectÚ	ParameterÚVAR_KEYWORD)Ú.0Ú	parameterr7   r7   r8   Ú	<genexpr>F   s   € 
ÿz/_constructor_accepts_keyword.<locals>.<genexpr>)rR   Ú	signatureÚ
parametersÚ	TypeErrorÚ
ValueErrorÚanyÚvalues)rM   rO   rY   r7   r7   r8   Ú_constructor_accepts_keyword@   s   ÿÿr^   r.   r-   c                 C  s8   | pt j d¡pt j d¡}|d ur| ¡ r| ¡ S d S )NÚ
AWS_REGIONÚAWS_DEFAULT_REGION)ÚosÚenvironÚgetÚstrip)r.   Ú
configuredr7   r7   r8   Ú_configured_regionK   s   rf   r,   ú"str | httpx2.URL | None | NotGivenúLiteral['mantle'] | Nonec                 C  sR   t | tƒrtj d¡n| }|d u st |tƒr| ¡ sd S tt|ƒj	ƒd ur'd S dS )NÚAWS_BEDROCK_BASE_URLÚmantle)
Ú
isinstancer   ra   rb   rc   r+   rd   r"   r   Úhost)r,   re   r7   r7   r8   Ú_legacy_endpointP   s   rm   ústr | httpx2.URL | Nonec                 C  s@   t | tƒr|  ¡ sd } | d urdS tj d¡}|d u p| ¡  S )NFri   )rk   r+   rd   ra   rb   rc   )r,   Úenvironment_base_urlr7   r7   r8   Ú_uses_region_derived_base_urlW   s   rp   r@   rA   rB   rC   rE   rD   c                 C  s   t dd„ | ||||fD ƒƒS )Nc                 s  s   � | ]}|d uV  qd S rP   r7   )rU   Úvaluer7   r7   r8   rW   i   s
   € ÿ
ÿz)_has_explicit_aws_auth.<locals>.<genexpr>)r\   ©r@   rA   rB   rC   rE   r7   r7   r8   Ú_has_explicit_aws_autha   s   ûþrs   c                  C  s   t j d¡} | stdƒ‚| S )NÚAWS_BEARER_TOKEN_BEDROCKzuCould not find credentials for Bedrock. Set `AWS_BEARER_TOKEN_BEDROCK` or configure the default AWS credential chain.)ra   rb   rc   r   )Útokenr7   r7   r8   Ú_environment_bearer_tokenu   s   ÿrv   )r?   Úapi_keyr$   r<   r=   r?   úbool | Noneú*tuple[_Provider, _LegacyBedrockState, str]c        
         C  s^  t tt| ƒƒrtdƒ‚| dkrtdƒ‚| d ur|d urtdƒ‚t|||||d�}
| d us0|d ur6|
r6tdƒ‚tj d¡}| d u oJ|d u oJ|
 oJt|ƒ}t	|ƒ}t
|ƒ}t|tƒr_| ¡ s_d }n	|d u rft}n|}tt|ƒ||| d urt| n|rx|nt||||||d�
}t| |||	d u r’t|o�| ¡ ƒn|	|||||||r�|nd |d�}||| p­|rª|ndp­dfS )	NúQPass refreshable Bedrock credentials via `bedrock_token_provider`, not `api_key`.rK   z)The `api_key` argument must not be empty.ú•Bedrock authentication is ambiguous. Configure exactly one explicit mode: bearer credential, static AWS credentials, profile, or credential provider.rr   rt   )
Úendpointr.   r,   rw   r$   Úaccess_key_idÚsecret_access_keyÚsession_tokenÚprofileÚcredential_provider)r:   r$   r=   r?   r@   rA   rB   rC   rE   rF   rG   rH   )Úcallabler	   r1   r   rs   ra   rb   rc   r>   rf   rp   rk   r+   rd   r   r    rm   r9   )rw   r$   r=   r@   rA   rB   rC   rE   r,   r?   Úexplicit_aws_authÚenvironment_tokenrF   Úresolved_regionrH   Úprovider_base_urlÚproviderrI   r7   r7   r8   Ú_legacy_provider   sp   ÿûÿÿö
òrˆ   Úclientú"BedrockOpenAI | AsyncBedrockOpenAIúFtuple[dict[str, object], _Provider | None, _LegacyBedrockState | None]c       	      
   C  s  t | ƒ | j}
| jpd}|
jd u o|t|
ƒk}t|||||d�}|d up'|d u}|r0|r0tdƒ‚|d ur6|n|r@|d u r@|s@|nd }|d upI|d u}|d upQ|	d u}|sc|sc|sct| ƒ i | j| jfS |rt|}|}d }d }d }d }d }n1|r…d }d }|}|}|}|}|}n |
j	}|
j}|
j
r–|
jp“tƒ }d }|
j}|
j}|
j}|
j}|
j}|d ur«|n| j}|d up´|
j}t|	tƒo¾|	 ¡  }|d usÇ|d urÔ|sÔ|sÔ|	d usÒ|
jsÔd }|d urá|d u rá|
jsád }|	d urè|	}n	|
jrîd}n| j}|||||||||dœ	}t| jjdƒ�r	||d< |d d fS )NrK   rr   r{   ©	rw   Úbedrock_token_providerr=   r@   rA   rB   rC   rE   r,   Ú_region_was_explicit)Ú!_synchronize_legacy_routing_stateÚ_bedrock_staterw   r$   rL   rs   r   Ú _refresh_legacy_provider_runtimeÚ_bedrock_providerr:   rF   rG   rv   r@   rA   rB   rC   rE   r=   r?   rk   r+   rd   rH   r,   r^   Ú	__class__Ú__init__)r‰   rw   r$   r=   r@   rA   rB   rC   rE   r,   rI   Úcurrent_api_keyÚapi_key_was_mutatedÚaws_overrideÚexplicit_bearer_overrideÚeffective_api_keyÚbearer_overrideÚrouting_overrideÚnext_api_keyÚnext_token_providerÚnext_profileÚnext_access_key_idÚnext_secret_access_keyÚnext_session_tokenÚnext_credentials_providerÚnext_regionÚnext_region_was_explicitÚ restores_region_derived_base_urlÚnext_base_urlÚprovider_kwargsr7   r7   r8   Ú_copy_configurationÑ   sª   
ûÿÿÿÿûÿþ÷
r¨   ÚconfigurationÚ_LegacyAuthConfigurationc                 C  sH   |\}}t |tƒrtj| ¡ td� ¡ nt|ƒ}t|t| j	ƒ| j
|d�S )N)Úkey)r*   r,   r.   r2   )rk   r+   ÚhashlibÚblake2sÚencodeÚ_LEGACY_SIGNATURE_KEYÚdigestÚidr(   r,   r=   )r‰   r©   r*   Ú
credentialr2   r7   r7   r8   Ú_legacy_runtime_signature?  s   ÿýür³   r   c              
   C  s¦   |\}}| j }|jr| jnd }|dkr*t|tƒr|stdƒ‚tt| jƒ|| j|d�S |dkr=tt| jƒ|| jt	d|ƒd�S tt| jƒ| j| j|j
|j|j|j|jd�S )Nr#   z0The Bedrock bearer credential must not be empty.)r|   r.   r,   rw   r$   ÚAsyncBedrockTokenProvider)r|   r.   r,   r$   )r|   r.   r,   r€   r}   r~   r   r�   )r�   r?   r=   rk   r+   r   r    rm   r,   r	   r@   rA   rB   rC   rE   )r‰   r©   r*   r²   rI   Úbearer_regionr7   r7   r8   Ú_provider_for_legacy_clientQ  s:   üüør¶   ÚNonec                 C  sŒ   | j }t| jƒ|jk}| j|jk}|rt| jdd�| _d| _|r@t| j| j| jd ud�| _| jjrB| jd urDd| j› d�| _d S d S d S d S )NF)rH   )r=   r?   zhttps://bedrock-mantle.z.api.aws/openai/v1)	Ú_bedrock_runtime_signaturer+   r,   r=   r.   r   r�   rp   rH   )r‰   Úprevious_signatureÚbase_url_changedÚregion_changedr7   r7   r8   r�   u  s    ýùr�   c                 C  s–   t | ƒ |  ¡ }t| |ƒ}|| jkrd S t| |ƒ}|| _|| _t|ƒ| _t	| jt
ƒrC| jd u rC| jjd urC| jj| _t| j| jd�| _t| |ƒ| _d S )N©r=   )r�   Ú_legacy_auth_configurationr³   r¸   r¶   r’   Ú	_providerr   Ú_provider_runtimerk   r!   r=   r.   r   r�   )r‰   r©   rX   r‡   r7   r7   r8   r‘   †  s    




ÿ

r‘   c                      ó  e Zd ZU dZded< ded< ded< ded	< d
ed< ded< dddddddddddddeedddddddddœdT‡ fd4d5„ZdUd7d8„ZdVd9d:„Z	e
dWd<d=„ƒZe
dX‡ fd@dA„ƒZe
dddedddddddddddedededddddi dBœdYdRdS„ƒZeZ‡  ZS )ZÚBedrockOpenAIzECompatibility client for Amazon Bedrock's OpenAI-compatible endpoint.r   r’   r9   r�   úBedrockTokenProvider | NoneÚ_bedrock_token_providerr>   rp   r(   r¸   r-   r=   NFT©rw   r�   r=   r@   rA   rB   rC   rE   ÚorganizationÚprojectÚwebhook_secretr,   Úwebsocket_base_urlÚtimeoutÚmax_retriesÚdefault_headersÚdefault_queryÚhttp_clientÚ_strict_response_validationÚ_enforce_credentialsr¾   Ú_staterŽ   rw   r�   r@   rA   rB   rC   rE   rD   rÅ   rÆ   rÇ   r,   rn   rÈ   rÉ   ú!float | Timeout | None | NotGivenrÊ   ÚintrË   úMapping[str, str] | NonerÌ   úMapping[str, object] | NonerÍ   úhttpx2.Client | NonerÎ   rÏ   r¾   ú_Provider | NonerÐ   ú_LegacyBedrockState | NonerŽ   rx   rJ   r·   c                  ó  |d u s|d u rt ||||||||||d�
\}}}n|jp&|jr#|jndp&d}tƒ j||	|
||||||||dd� || _|| _td|j	ƒ| _
|j| _t| jjƒ}t| jtƒrZ| jjnd }|jpj|pj|d uri|d nd | _t|| jd�| _|pwd| _t| |  ¡ ƒ| _d S )N©
rw   r$   r=   r@   rA   rB   rC   rE   r,   r?   rK   F©r‡   rÅ   rÆ   rÇ   rÈ   rÉ   rÊ   rË   rÌ   rÍ   rÎ   rÏ   rÂ   é   r¼   ©rˆ   r:   rF   rG   Úsuperr”   r’   r�   r	   r$   rÃ   rH   rp   r"   r,   rl   rk   r¿   r!   r.   r=   r   rw   r³   r½   r¸   ©Úselfrw   r�   r=   r@   rA   rB   rC   rE   rÅ   rÆ   rÇ   r,   rÈ   rÉ   rÊ   rË   rÌ   rÍ   rÎ   rÏ   r¾   rÐ   rŽ   Úpublic_api_keyÚcanonical_endpointÚprovider_region©r“   r7   r8   r”   ¥  óX   öÿýôÿÿ
zBedrockOpenAI.__init__rª   c                 C  ó<   | j d ur
d| j fS | jjd us| jjs| jrd| jfS dS ©Nr$   r#   )r%   N©rÃ   r�   r:   rF   rw   ©rß   r7   r7   r8   r½   ò  ó   

ÿþ
z(BedrockOpenAI._legacy_auth_configurationc                 C  ó(   | j jd u o| j o| jd u o| j j S rP   ©r�   r:   rw   rÃ   rF   rè   r7   r7   r8   Ú_uses_aws_authý  ó   ÿþüzBedrockOpenAI._uses_aws_authr+   c                 C  sf   | j jr| j jp	d}| jr| j|kr| jS |S | jd ur0tt|  ¡ ƒ}t|tƒr*|s.t	dƒ‚|S | jS ©NrK   zHExpected `bedrock_token_provider` argument to return a non-empty string.)
r�   rF   rG   rw   rÃ   r	   r1   rk   r+   r[   ©rß   Úcapturedru   r7   r7   r8   Ú_refresh_api_key  s   
zBedrockOpenAI._refresh_api_keyÚoptionsr   c                   s   t | ƒ tƒ  |¡S rP   ©r‘   rÝ   Ú_prepare_options©rß   rò   rã   r7   r8   rô     s   zBedrockOpenAI._prepare_options©rw   Úadmin_api_keyÚworkload_identityr‡   r�   r=   r@   rA   rB   rC   rE   rÅ   rÆ   rÇ   rÈ   r,   Údata_residencyrÉ   rÍ   rÊ   rË   Úset_default_headersrÌ   Úset_default_queryrÏ   Ú_extra_kwargsú!str | BedrockTokenProvider | Noner÷   rø   ú.WorkloadIdentity | X509WorkloadIdentity | Noner‡   ú_Provider | None | NotGivenrg   rù   úDataResidency | Noneúint | NotGivenrú   rû   rü   úMapping[str, Any]r   c          !        ó\  |d urt dƒ‚t|tƒrd n|}t|ƒrt dƒ‚t|tƒs"t dƒ‚|d us*|d ur.t dƒ‚|d ur:|d ur:tdƒ‚|d urF|d urFtdƒ‚ˆ j}|d urTi |¥|¥}n|d urZ|}ˆ j}|d urhi |¥|¥}n|d urn|}tˆ ||||||	|
||d�
\}}}i |¥|d urˆ|nˆ j|d ur�|nˆ j	|d ur˜|nˆ j
|d ur |nˆ jt|tƒrªˆ jn||p¯ˆ jt|ƒrµ|nˆ j|||d u r¿dn|d	œ
¥|¥} |d urÚtˆ jjd
ƒrÚ|| d
< || d< nL|d u�r| jˆ jjpèˆ jjˆ jjˆ jjˆ jjˆ jjˆ jjˆ jjˆ jjˆ jj�rdnˆ jd�	 ‡ fdd„|   ¡ D ƒ} nˆ jt!u�r&‡ fdd„|   ¡ D ƒ} ˆ jdi | ¤ŽS )Nú4`data_residency` is only supported by OpenAI clientsrz   zHConfigure `provider` on `OpenAI`, not on `BedrockOpenAI.with_options()`.zRBedrockOpenAI only supports Bedrock bearer token or AWS credential authentication.úPThe `default_headers` and `set_default_headers` arguments are mutually exclusiveúLThe `default_query` and `set_default_query` arguments are mutually exclusive©	rw   r$   r=   r@   rA   rB   rC   rE   r,   T©
rÅ   rÆ   rÇ   rÈ   rÉ   rÍ   rÊ   rË   rÌ   rÏ   r¾   rÐ   rK   rŒ   c                   ó$   i | ]\}}t ˆ jj|ƒr||“qS r7   ©r^   r“   r”   ©rU   rO   rq   rè   r7   r8   Ú
<dictcomp>w  ó    ýÿz&BedrockOpenAI.copy.<locals>.<dictcomp>c                   ó,   i | ]\}}|d ust ˆ jj|ƒr||“qS rP   r
  r  rè   r7   r8   r  }  ó
    þr7   )"r   rk   r   r‚   r[   Ú_custom_headersÚ_custom_queryr¨   rÅ   rÆ   rÇ   rÈ   rÉ   Ú_clientr   rÊ   r^   r“   r”   Úupdater�   r:   rG   r$   r=   r@   rA   rB   rC   rE   rH   r,   ÚitemsrÁ   ©!rß   rw   r÷   rø   r‡   r�   r=   r@   rA   rB   rC   rE   rÅ   rÆ   rÇ   rÈ   r,   rù   rÉ   rÍ   rÊ   rË   rú   rÌ   rû   rÏ   rü   ÚheadersÚparamsr§   Úinherited_providerÚinherited_stateÚconstructor_kwargsr7   rè   r8   Úcopy  ó”   
öÿõô

÷
þ
þzBedrockOpenAI.copy)0rw   r-   r�   rÂ   r=   r-   r@   r-   rA   r-   rB   r-   rC   r-   rE   rD   rÅ   r-   rÆ   r-   rÇ   r-   r,   rn   rÈ   rn   rÉ   rÑ   rÊ   rÒ   rË   rÓ   rÌ   rÔ   rÍ   rÕ   rÎ   r>   rÏ   r>   r¾   rÖ   rÐ   r×   rŽ   rx   rJ   r·   ©rJ   rª   ©rJ   r>   ©rJ   r+   ©rò   r   rJ   r   )6rw   rý   r÷   r-   rø   rþ   r‡   rÿ   r�   rÂ   r=   r-   r@   r-   rA   r-   rB   r-   rC   r-   rE   rD   rÅ   r-   rÆ   r-   rÇ   r-   rÈ   rn   r,   rg   rù   r   rÉ   rÑ   rÍ   rÕ   rÊ   r  rË   rÓ   rú   rÓ   rÌ   rÔ   rû   rÔ   rÏ   rx   rü   r  rJ   r   ©r3   r4   r5   Ú__doc__r6   r   r   r”   r½   rì   r   rñ   rô   r  Úwith_optionsÚ__classcell__r7   r7   rã   r8   rÁ   ›  s†   
 ç
M
ämrÁ   c                      rÀ   )ZÚAsyncBedrockOpenAIzKAsync compatibility client for Amazon Bedrock's OpenAI-compatible endpoint.r   r’   r9   r�   ú AsyncBedrockTokenProvider | NonerÃ   r>   rp   r(   r¸   r-   r=   NFTrÄ   rw   r�   r@   rA   rB   rC   rE   rD   rÅ   rÆ   rÇ   r,   rn   rÈ   rÉ   rÑ   rÊ   rÒ   rË   rÓ   rÌ   rÔ   rÍ   úhttpx2.AsyncClient | NonerÎ   rÏ   r¾   rÖ   rÐ   r×   rŽ   rx   rJ   r·   c                  rØ   )NrÙ   rK   FrÚ   r&  rÛ   r¼   rÜ   rÞ   rã   r7   r8   r”   ‘  rä   zAsyncBedrockOpenAI.__init__rª   c                 C  rå   ræ   rç   rè   r7   r7   r8   r½   Þ  ré   z-AsyncBedrockOpenAI._legacy_auth_configurationc                 C  rê   rP   rë   rè   r7   r7   r8   rì   é  rí   z!AsyncBedrockOpenAI._uses_aws_authr+   c                 Ã  s|   �| j jr| j jp
d}| jr| j|kr| jS |S | jd ur;tt|  ¡ ƒ}t |¡r.|I d H }t	|t
ƒr5|s9tdƒ‚|S | jS rî   )r�   rF   rG   rw   rÃ   r	   r1   rR   Úisawaitablerk   r+   r[   rï   r7   r7   r8   rñ   ñ  s   €


z#AsyncBedrockOpenAI._refresh_api_keyrò   r   c                 ƒ  s   �t | ƒ tƒ  |¡I d H S rP   ró   rõ   rã   r7   r8   rô   ÿ  s   €z#AsyncBedrockOpenAI._prepare_optionsrö   ú&str | AsyncBedrockTokenProvider | Noner÷   rø   rþ   r‡   rÿ   rg   rù   r   r  rú   rû   rü   r  r   c          !        r  )Nr  rz   zRConfigure `provider` on `AsyncOpenAI`, not on `AsyncBedrockOpenAI.with_options()`.zWAsyncBedrockOpenAI only supports Bedrock bearer token or AWS credential authentication.r  r  r  Tr  r¾   rÐ   rK   rŒ   c                   r	  r7   r
  r  rè   r7   r8   r  e  r  z+AsyncBedrockOpenAI.copy.<locals>.<dictcomp>c                   r  rP   r
  r  rè   r7   r8   r  k  r  r7   )"r   rk   r   r‚   r[   r  r  r¨   rÅ   rÆ   rÇ   rÈ   rÉ   r  r   rÊ   r^   r“   r”   r  r�   r:   rG   r$   r=   r@   rA   rB   rC   rE   rH   r,   r  r%  r  r7   rè   r8   r    r  zAsyncBedrockOpenAI.copy)0rw   r-   r�   r&  r=   r-   r@   r-   rA   r-   rB   r-   rC   r-   rE   rD   rÅ   r-   rÆ   r-   rÇ   r-   r,   rn   rÈ   rn   rÉ   rÑ   rÊ   rÒ   rË   rÓ   rÌ   rÔ   rÍ   r'  rÎ   r>   rÏ   r>   r¾   rÖ   rÐ   r×   rŽ   rx   rJ   r·   r  r  r  r   )6rw   r)  r÷   r-   rø   rþ   r‡   rÿ   r�   r&  r=   r-   r@   r-   rA   r-   rB   r-   rC   r-   rE   rD   rÅ   r-   rÆ   r-   rÇ   r-   rÈ   rn   r,   rg   rù   r   rÉ   rÑ   rÍ   r'  rÊ   r  rË   rÓ   rú   rÓ   rÌ   rÔ   rû   rÔ   rÏ   rx   rü   r  rJ   r   r!  r7   r7   rã   r8   r%  ‡  s†   
 ç
M
ämr%  )rÁ   r%  ÚBedrockTokenProviderr´   r   )rI   r9   rJ   r+   )rM   rN   rO   r+   rJ   r>   )r.   r-   rJ   r-   )r,   rg   rJ   rh   )r,   rn   rJ   r>   )r@   r-   rA   r-   rB   r-   rC   r-   rE   rD   rJ   r>   r  )rw   r-   r$   r<   r=   r-   r@   r-   rA   r-   rB   r-   rC   r-   rE   rD   r,   rn   r?   rx   rJ   ry   )r‰   rŠ   rw   r-   r$   r<   r=   r-   r@   r-   rA   r-   rB   r-   rC   r-   rE   rD   r,   rn   rJ   r‹   )r‰   rŠ   r©   rª   rJ   r(   )r‰   rŠ   r©   rª   rJ   r   )r‰   rŠ   rJ   r·   )NÚ
__future__r   ra   r¬   rR   Útypingr   r   r   r   r   r   r	   Údataclassesr
   r   r   Útyping_extensionsr   r   Úhttpx2Úauthr   r   Ú_typesr   r   r   Ú_utilsr   r  r   r   Ú_httpx2r   Ú_modelsr   r¾   r   r   Ú_exceptionsr   Ú_base_clientr   Ú_data_residencyr   Úproviders.bedrockr   r    r!   r"   r+   r*  r´   r)   Útupler1   rª   Úurandomr¯   r(   r9   rL   r^   rf   rm   rp   rs   rv   rˆ   r¨   r³   r¶   r�   r‘   rÁ   r%  Ú__all__r7   r7   r7   r8   Ú<module>   s^    $








õ
R
n

$
 m o