§
     �’jÝœ  ã                  óÀ  — 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         Z9 ej:        d¦  «        Z; ed¬¦  «         G d„ d¦  «        ¦   «         Z< ed¬¦  «         G d„ d¦  «        ¦   «         Z=dOd„Z>dPd#„Z?dQd&„Z@dRd*„ZAdSd,„ZBdTd3„ZCdUd4„ZDdd5œdVd=„ZEdWdA„ZFdXdD„ZGdYdF„ZHdZdH„ZIdZdI„ZJ G dJ„ dKe¦  «        ZK G dL„ dMe ¦  «        ZLg dN¢ZMdS )[é    )Ú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                  óP   — e Zd ZU ded<   ded<   ded<    e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   r4   © ó    ú@C:\Projects\DSCons\.venv\Lib\site-packages\openai\lib\bedrock.pyr*   r*   $   sR   € € € € € € àÐÐÑØ€M€M�MØÐÐÑØ"' %¨UÐ"3Ñ"3Ô"3ÐÐ3Ð3Ð3Ñ3Ð3Ð3r:   r*   c                  ó4  — e Zd ZU  ed¬¦  «        Zded<    edd¬¦  «        Zded<   ded<   d	ed
<   ded<    ed¬¦  «        Zded<    ed¬¦  «        Zded<    ed¬¦  «        Z	ded<    edd¬¦  «        Z
ded<   d	ed<    ed¬¦  «        Zded<   d	ed<   dS )Ú_LegacyBedrockStateFr1   r/   Úexplicit_api_key)r2   Ú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)r5   r6   r7   r   r>   r8   r%   rE   rF   rG   rI   rK   r9   r:   r;   r=   r=   ,   s-  € € € € € € à#( 5¨eÐ#4Ñ#4Ô#4ÐÐ4Ð4Ð4Ñ4ØNSÈeÐY^ÐhmÐNnÑNnÔNn€NÐnÐnÐnÑnØÐÐÑØÐÐÑØÐÐÑØ$) E¨uÐ$5Ñ$5Ô$5ÐÐ5Ð5Ð5Ñ5Ø(-¨°5Ð(9Ñ(9Ô(9ÐÐ9Ð9Ð9Ñ9Ø$) E¨uÐ$5Ñ$5Ô$5ÐÐ5Ð5Ð5Ñ5Ø>C¸eÈÐX]Ð>^Ñ>^Ô>^ÐÐ^Ð^Ð^Ñ^Ø!Ð!Ð!Ñ!Ø+0¨5°eÐ+<Ñ+<Ô+<ÐÐ<Ð<Ð<Ñ<Ø&Ð&Ð&Ñ&Ð&Ð&r:   r=   ÚstateÚreturnr-   c                ó4   — | j         p| j        r| j        ndpdS )NÚ )r>   rJ   rK   )rM   s    r;   Ú_state_api_keyrQ   <   s'   € ØÔ!ÐtÈÔHeÐ&m eÔ&DÐ&DÐkmÐtÐrtÐtr:   ÚconstructorúCallable[..., object]ÚnamerB   c                óÆ   — 	 t          j        | ¦  «        j        }n# t          t          f$ r Y dS w xY w||v p*t          d„ |                     ¦   «         D ¦   «         ¦  «        S )NFc              3  óF   K  — | ]}|j         t          j        j        u V — Œd S ©N)ÚkindÚinspectÚ	ParameterÚVAR_KEYWORD)Ú.0Ú	parameters     r;   ú	<genexpr>z/_constructor_accepts_keyword.<locals>.<genexpr>F   s@   è è € ð %ð %Ø<Eˆ	Œ�'Ô+Ô7Ð7ð%ð %ð %ð %ð %ð %r:   )rY   Ú	signatureÚ
parametersÚ	TypeErrorÚ
ValueErrorÚanyÚvalues)rR   rT   r`   s      r;   Ú_constructor_accepts_keywordre   @   s‹   € ðÝÔ& {Ñ3Ô3Ô>ˆ
ˆ
øÝ•zÐ"ð ð ð Øˆuˆuðøøøð �:Ðð ¥ð %ð %ØIS×IZÒIZÑI\ÔI\ð%ñ %ô %ñ "ô "ð s   ‚ œ1°1r0   r/   c                óÚ   — | p=t           j                             d¦  «        pt           j                             d¦  «        }|�(|                     ¦   «         r|                     ¦   «         nd S )NÚ
AWS_REGIONÚAWS_DEFAULT_REGION)ÚosÚenvironÚgetÚstrip)r0   Ú
configureds     r;   Ú_configured_regionrn   K   s\   € ØÐ_�2œ:Ÿ>š>¨,Ñ7Ô7Ð_½2¼:¿>º>ÐJ^Ñ;_Ô;_€JØ!+Ð!7¸J×<LÒ<LÑ<NÔ<NÐ!7ˆ:×ÒÑÔÐÐTXÐXr:   r.   ú"str | httpx2.URL | None | NotGivenúLiteral['mantle'] | Nonec                ó  — t          | t          ¦  «        rt          j                             d¦  «        n| }|�)t          |t
          ¦  «        r|                     ¦   «         sd S t          t          |¦  «        j	        ¦  «        �d ndS )NÚAWS_BEDROCK_BASE_URLÚmantle)
Ú
isinstancer   ri   rj   rk   r-   rl   r#   r   Úhost)r.   rm   s     r;   Ú_legacy_endpointrv   P   s{   € Ý;EÀhÕPXÑ;YÔ;YÐg•”—’Ð 6Ñ7Ô7Ð7Ð_g€JØÐ�Z¨
µCÑ8Ô8ÐÀ×AQÒAQÑASÔASÐØˆtÝ3Õ4GÈ
Ñ4SÔ4SÔ4XÑYÔYÐeˆ4ˆ4ÐksÐsr:   ústr | httpx2.URL | Nonec                óÐ   — t          | t          ¦  «        r|                      ¦   «         sd } | �dS t          j                             d¦  «        }|d u p|                     ¦   «          S )NFrr   )rt   r-   rl   ri   rj   rk   )r.   Úenvironment_base_urls     r;   Ú_uses_region_derived_base_urlrz   W   sj   € Ý�(�CÑ Ô ð ¨¯ªÑ)9Ô)9ð ØˆØÐØˆuåœ:Ÿ>š>Ð*@ÑAÔAÐØ 4Ð'ÐKÐ/C×/IÒ/IÑ/KÔ/KÐ+KÐKr:   rD   rE   rF   rG   rI   rH   c                ó>   — t          d„ | ||||fD ¦   «         ¦  «        S )Nc              3  ó   K  — | ]}|d uV — Œ	d S rW   r9   )r\   Úvalues     r;   r^   z)_has_explicit_aws_auth.<locals>.<genexpr>i   s;   è è € ð 	ð 	àð 	�TÐð	ð 	ð 	ð 	ð 	ð 	r:   )rc   ©rD   rE   rF   rG   rI   s        r;   Ú_has_explicit_aws_authr   a   sE   € õ ð 	ð 	ð ØØ!ØØ$ð
ð	ñ 	ô 	ñ 	ô 	ð 	r:   c                 óf   — 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.)ri   rj   rk   r   )Útokens    r;   Ú_environment_bearer_tokenrƒ   u   s<   € ÝŒJ�NŠNÐ5Ñ6Ô6€EØð 
Ýð$ñ
ô 
ð 	
ð €Lr:   )rC   Úapi_keyr%   r@   rA   rC   úbool | Noneú*tuple[_Provider, _LegacyBedrockState, str]c        
        ó,  — t          t          t          | ¦  «        ¦  «        rt          d¦  «        ‚| dk    rt          d¦  «        ‚| �|�t          d¦  «        ‚t	          |||||¬¦  «        }
| €|�|
rt          d¦  «        ‚t
          j                             d¦  «        }| d u o|d u o|
 ot          |¦  «        }t          |¦  «        }t          |¦  «        }t          |t          ¦  «        r|                     ¦   «         sd }n|€t          }n|}t          t!          |¦  «        ||| �| n
|r|nt          ||||||¬¦
  «
        }t#          | |||	€#t          |o|                     ¦   «         ¦  «        n|	|||||||r|nd |¬¦  «        }||| p|r|ndpdfS )	NúQPass refreshable Bedrock credentials via `bedrock_token_provider`, not `api_key`.rP   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.r~   r�   )
Úendpointr0   r.   r„   r%   Úaccess_key_idÚsecret_access_keyÚsession_tokenÚprofileÚcredential_provider)r>   r%   rA   rC   rD   rE   rF   rG   rI   rJ   rK   rL   )Úcallabler
   r3   r   r   ri   rj   rk   rB   rn   rz   rt   r-   rl   r   r!   rv   r=   )r„   r%   rA   rD   rE   rF   rG   rI   r.   rC   Úexplicit_aws_authÚenvironment_tokenrJ   Úresolved_regionrL   Úprovider_base_urlÚproviderrM   s                     r;   Ú_legacy_providerr–      sA  € õ ••V˜WÑ%Ô%Ñ&Ô&ð oÝÐmÑnÔnÐnØ�"‚}€}ÝÐEÑFÔFÐFØÐ˜~Ð9ÝðGñ
ô 
ð 	
õ
 /ØØ+Ø3Ø+Ø!9ðñ ô Ðð 	Ð˜~Ð9Ð?PÐ9ÝðGñ
ô 
ð 	
õ
 œ
ŸšÐ'AÑBÔBÐà�4ˆÐh˜N¨dÐ2ÐhÐ;LÐ7LÐhÕQUÐVgÑQhÔQhð õ )¨Ñ4Ô4€OÝ#@ÀÑ#JÔ#JÐ õ �(�CÑ Ô ð %¨¯ªÑ)9Ô)9ð %Ø ÐÐØ	Ð	Ý%ÐÐà$ÐåÝ!Ð"3Ñ4Ô4ØØ"Ø"Ð.��ÐI`Ð4oÐ4EÐ4EÕfoØ%Ø'Ø/Ø'ØØ4ðñ ô €Hõ  Ø Ø%Ø"à7JÐ7R�D�Ð2 
× 0Ò 0Ñ 2Ô 2Ñ3Ô3Ð3ÐXkàØ+Ø3Ø+Ø!9Ø 7Ø6MÐ!WÐ!2Ð!2ÐSWØ%Aðñ ô €Eð  �U˜GÐcÐ=TÐ(\Ð(9Ð(9ÐZ\ÐcÐacÐcÐcr:   Úclientú"BedrockOpenAI | AsyncBedrockOpenAIúFtuple[dict[str, object], _Provider | None, _LegacyBedrockState | None]c       	   
     óˆ  — t          | ¦  «         | j        }
| j        pd}|
j        d u o|t	          |
¦  «        k    }t          |||||¬¦  «        }|d up|d u}|r|rt          d¦  «        ‚|�|n	|r|€|s|nd }|d up|d u}|d up|	d u}|s"|s |st          | ¦  «         i | j        | j        fS |r|}|}d }d }d }d }d }n`|rd }d }|}|}|}|}|}nO|
j	        }|
j        }|
j
        r|
j        pt          ¦   «         }d }|
j        }|
j        }|
j        }|
j        }|
j        }|�|n| j        }|d up|
j        }t)          |	t*          ¦  «        o|	                     ¦   «          }|€|�|s|s|	€|
j        sd }|�|€	|
j        sd }|	�|	}n|
j        rd}n| j        }|||||||||dœ	}t3          | j        j        d¦  «        r||d<   |d d fS )NrP   r~   r‰   ©	r„   Úbedrock_token_providerrA   rD   rE   rF   rG   rI   r.   Ú_region_was_explicit)Ú!_synchronize_legacy_routing_stateÚ_bedrock_stater„   r%   rQ   r   r   Ú _refresh_legacy_provider_runtimeÚ_bedrock_providerr>   rJ   rK   rƒ   rD   rE   rF   rG   rI   rA   rC   rt   r-   rl   rL   r.   re   Ú	__class__Ú__init__)r—   r„   r%   rA   rD   rE   rF   rG   rI   r.   rM   Ú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_kwargss                                 r;   Ú_copy_configurationr·   Ñ   s  € õ & fÑ-Ô-Ð-ØÔ!€EØ”nÐ*¨€OØÔ.°$Ð6Ðc¸?ÍnÐ]bÑNcÔNcÒ;cÐÝ)ØØ+Ø3Ø+Ø!9ðñ ô €Lð  '¨dÐ2ÐP°nÈDÐ6PÐØð 
 Lð 
ÝðGñ
ô 
ð 	
ð Ðð 	ˆð ðØ#1Ð#9À,Ð#9ð ˆ_àð ð (¨tÐ3ÐQ°~ÈTÐ7Q€Oà!¨Ð-ÐE°ÀÐ1EÐØð C <ð CÐ8Hð CÝ(¨Ñ0Ô0Ð0Ø�6Ô+¨VÔ-BÐBÐBàð CØ(ˆØ,ÐØˆØ!ÐØ!%ÐØ!ÐØ$(Ð!Ð!Ø	ð CØˆØ"ÐØ"ˆØ.ÐØ!6ÐØ.ÐØ$<Ð!Ð!àÔ-ˆØ#Ô2ÐØÔ(ð 	'Ø Ô9ÐXÕ=VÑ=XÔ=XˆLØ"&ÐØÔ(ˆØ"Ô4ÐØ!&Ô!<ÐØ"Ô4ÐØ$)Ô$BÐ!à *Ð 6�*�*¸FÔ<M€KØ)°Ð5ÐR¸Ô9RÐÝ'1°(½CÑ'@Ô'@Ð'YÈÏÊÑIYÔIYÐEYÐ$à	Ð	!Ð%8Ð%DØ(ð &Eà0ð &Eð Ð!¨Ô)KÐ!àˆØÐ :Ð#5¸eÔ>WÐ#5ØˆàÐØ19ˆˆØ	Ô	+ð (Øˆˆàœˆð  Ø"5Ø!Ø#Ø/Ø!7Ø/Ø$=Ø!ð
*ð 
*€Oõ $ FÔ$4Ô$=Ð?UÑVÔVð KØ2JˆÐ.Ñ/à˜D $Ð&Ð&r:   ÚconfigurationÚ_LegacyAuthConfigurationc                ó&  — |\  }}t          |t          ¦  «        r?t          j        |                     ¦   «         t
          ¬¦  «                             ¦   «         nt          |¦  «        }t          |t          | j	        ¦  «        | j
        |¬¦  «        S )N)Úkey)r,   r.   r0   r4   )rt   r-   ÚhashlibÚblake2sÚencodeÚ_LEGACY_SIGNATURE_KEYÚdigestÚidr*   r.   rA   )r—   r¸   r,   Ú
credentialr4   s        r;   Ú_legacy_runtime_signaturerÃ   ?  s�   € ð %Ñ€Dˆ*õ �j¥#Ñ&Ô&ð	�Œ˜
×)Ò)Ñ+Ô+Õ1FÐGÑGÔG×NÒNÑPÔPÐPå�
‰^Œ^ð õ
 #ØÝ�V”_Ñ%Ô%ØÔ Ø/ð	ñ ô ð r:   r   c           
     óú  — |\  }}| j         }|j        r| j        nd }|dk    rPt          |t          ¦  «        r|st          d¦  «        ‚t          t          | j        ¦  «        || j        |¬¦  «        S |dk    r8t          t          | j        ¦  «        || j        t          d|¦  «        ¬¦  «        S t          t          | j        ¦  «        | j        | j        |j
        |j        |j        |j        |j        ¬¦  «        S )Nr$   z0The Bedrock bearer credential must not be empty.)rŠ   r0   r.   r„   r%   ÚAsyncBedrockTokenProvider)rŠ   r0   r.   r%   )rŠ   r0   r.   rŽ   r‹   rŒ   r�   r�   )rŸ   rC   rA   rt   r-   r   r!   rv   r.   r
   rD   rE   rF   rG   rI   )r—   r¸   r,   rÂ   rM   Úbearer_regions         r;   Ú_provider_for_legacy_clientrÇ   Q  s&  € ð %Ñ€Dˆ*ØÔ!€EØ).Ô)BÐL�FÔ%Ð%È€MØˆxÒÐÝ˜*¥cÑ*Ô*ð 	R°*ð 	RÝÐPÑQÔQÐQÝÝ% f¤oÑ6Ô6Ø Ø”_Øð	
ñ 
ô 
ð 	
ð ÐÒÐÝÝ% f¤oÑ6Ô6Ø Ø”_ÝÐ ;¸ZÑHÔHð	
ñ 
ô 
ð 	
õ Ý! &¤/Ñ2Ô2ØÔ Ø”ØÔ!ØÔ-ØÔ5ØÔ-Ø!Ô:ð	ñ 	ô 	ð 	r:   ÚNonec                ó\  — | j         }t          | j        ¦  «        |j        k    }| j        |j        k    }|r"t          | j        d¬¦  «        | _        d| _        |rMt          | j        | j        | j        d u¬¦  «        | _        | j        j        r| j        �d| j        › d�| _        d S d S d S d S )NF)rL   )rA   rC   zhttps://bedrock-mantle.z.api.aws/openai/v1)	Ú_bedrock_runtime_signaturer-   r.   rA   r0   r   rŸ   rz   rL   )r—   Úprevious_signatureÚbase_url_changedÚregion_changeds       r;   rž   rž   u  så   € ØÔ:ÐÝ˜6œ?Ñ+Ô+Ð/AÔ/JÒJÐØÔ&Ð*<Ô*CÒC€NØð 5Ý '¨Ô(=Ð\aÐ bÑ bÔ bˆÔØ/4ˆÔ,Øð ^Ý 'ØÔ!ØÔ(Ø &Ô 1¸Ð =ð!
ñ !
ô !
ˆÔð
 Ô Ô=ð 	^À&ÔBSÐB_Ø]¸Ô8IÐ]Ð]Ð]ˆFŒOˆOˆOð^ð ^ð	^ð 	^ÐB_ÐB_r:   c                óÐ  — t          | ¦  «         |                      ¦   «         }t          | |¦  «        }|| j        k    rd S t	          | |¦  «        }|| _        || _        t          |¦  «        | _        t          | j        t          ¦  «        rD| j        €=| j        j        �1| j        j        | _        t          | j        | j        ¬¦  «        | _        t          | |¦  «        | _        d S )N©rA   )rž   Ú_legacy_auth_configurationrÃ   rÊ   rÇ   r¡   Ú	_providerr   Ú_provider_runtimert   r"   rA   r0   r   rŸ   )r—   r¸   r_   r•   s       r;   r    r    †  sß   € Ý% fÑ-Ô-Ð-Ø×5Ò5Ñ7Ô7€MÝ)¨&°-Ñ@Ô@€IØ�FÔ5Ò5Ð5Øˆå*¨6°=ÑAÔA€HØ'€FÔØ€FÔÝ2°8Ñ<Ô<€FÔå�6Ô+Õ-DÑEÔEð]àÔÐ%ØÔ$Ô+Ð7à"Ô4Ô;ˆÔÝ '¨Ô(=È&ÔJ[Ð \Ñ \Ô \ˆÔÝ(AÀ&È-Ñ(XÔ(X€FÔ%Ð%Ð%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œdNˆ fd4„ZdOd6„ZdPd7„Z	e
dQd9„¦   «         Ze
dRˆ fd<„¦   «         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 d=œdSdM„¦   «         ZeZˆ xZS )TÚBedrockOpenAIzECompatibility client for Amazon Bedrock's OpenAI-compatible endpoint.r   r¡   r=   rŸ   úBedrockTokenProvider | NoneÚ_bedrock_token_providerrB   rz   r*   rÊ   r/   rA   NFT©r„   rœ   rA   rD   rE   rF   rG   rI   ÚorganizationÚprojectÚwebhook_secretr.   Úwebsocket_base_urlÚtimeoutÚmax_retriesÚdefault_headersÚdefault_queryÚhttp_clientÚ_strict_response_validationÚ_enforce_credentialsrÑ   Ú_stater�   r„   rœ   rD   rE   rF   rG   rI   rH   rØ   rÙ   rÚ   r.   rw   rÛ   rÜ   ú!float | Timeout | None | NotGivenrÝ   ÚintrÞ   úMapping[str, str] | Nonerß   úMapping[str, object] | Nonerà   úhttpx2.Client | Nonerá   râ   rÑ   ú_Provider | Nonerã   ú_LegacyBedrockState | Noner�   r…   rN   rÈ   c               óŒ  •— |�|€t          ||||||||||¬¦
  «
        \  }}}n|j        p|j        r|j        ndpd}t	          ¦   «                              ||	|
||||||||d¬¦  «         || _        || _        t          d|j	        ¦  «        | _
        |j        | _        t          | j        j        ¦  «        }t!          | j        t$          ¦  «        r| j        j        nd }|j        p|p|�|d         nd | _        t+          || j        ¬¦  «        | _        |pd| _        t/          | |                      ¦   «         ¦  «        | _        d S )N©
r„   r%   rA   rD   rE   rF   rG   rI   r.   rC   rP   F©r•   rØ   rÙ   rÚ   rÛ   rÜ   rÝ   rÞ   rß   rà   rá   râ   rÕ   é   rÏ   ©r–   r>   rJ   rK   Úsuperr£   r¡   rŸ   r
   r%   rÖ   rL   rz   r#   r.   ru   rt   rÒ   r"   r0   rA   r   r„   rÃ   rÐ   rÊ   ©Úselfr„   rœ   rA   rD   rE   rF   rG   rI   rØ   rÙ   rÚ   r.   rÛ   rÜ   rÝ   rÞ   rß   rà   rá   râ   rÑ   rã   r�   Úpublic_api_keyÚcanonical_endpointÚprovider_regionr¢   s                              €r;   r£   zBedrockOpenAI.__init__¥  s   ø€ ð6 Ð  Ý0@ØØ5Ø%Ø'Ø"3Ø&;Ø"3Ø)AØ!Ø$8ð1ñ 1ô 1Ñ-ˆI�v˜~˜~ð Ô'ð Ø7=Ô7UÐ]�FÔ3Ð3Ð[]ðàð õ 	‰Œ×ÒØØ%ØØ)Ø1ØØ#Ø+Ø'Ø#Ø(CØ!&ð 	ñ 	
ô 	
ð 	
ð "+ˆÔØ$ˆÔÝ'+Ð,IÈ6ÔK`Ñ'aÔ'aˆÔ$Ø-3Ô-PˆÔ*Ý=¸d¼mÔ>PÑQÔQÐå-7¸Ô8NÕPgÑ-hÔ-hÐrˆDÔ"Ô)Ð)Ðnrð 	ð ÔÐw ÐwÐN`ÐNlÐ5GÈÔ5JÐ5JÐrvð 	Œõ & f¸¼ÐIÑIÔIˆÔØ%Ð+¨ˆŒÝ*CÀDÈ$×JiÒJiÑJkÔJkÑ*lÔ*lˆÔ'Ð'Ð'r:   r¹   c                óv   — | j         �	d| j         fS | j        j        €| j        j        s| j        r	d| j        fS dS ©Nr%   r$   )r&   N©rÖ   rŸ   r>   rJ   r„   ©rò   s    r;   rÐ   z(BedrockOpenAI._legacy_auth_configurationò  óQ   € ØÔ'Ð3Ø$ dÔ&BÐCÐCàÔÔ0Ð<ØÔ"Ô:ð =àŒ|ð =ð ˜dœlÐ+Ð+Øˆ}r:   c                óZ   — | j         j        d u o| j         o| j        d u o| j         j         S rW   ©rŸ   r>   r„   rÖ   rJ   rù   s    r;   Ú_uses_aws_authzBedrockOpenAI._uses_aws_authý  óH   € àÔÔ0°DÐ8ð @Ø”LÐ ð@àÔ,°Ð4ð@ð Ô'Ô?Ð?ð		
r:   r-   c                ó&  — | j         j        r)| j         j        pd}| j        r| j        |k    r| j        n|S | j        �Ot          t          |                      ¦   «         ¦  «        }t          |t          ¦  «        r|st          d¦  «        ‚|S | j        S ©NrP   zHExpected `bedrock_token_provider` argument to return a non-empty string.)
rŸ   rJ   rK   r„   rÖ   r
   r3   rt   r-   rb   ©rò   Úcapturedr‚   s      r;   Ú_refresh_api_keyzBedrockOpenAI._refresh_api_key  sœ   € àÔÔ6ð 	[ØÔ*ÔCÐIÀrˆHØ#'¤<ÐZ°D´LÀHÒ4LÐ4L�4”<�<ÐRZÐZØÔ'Ð3Ý� ×!=Ò!=Ñ!?Ô!?Ñ@Ô@ˆEÝ˜e¥SÑ)Ô)ð m°ð mÝ Ð!kÑlÔlÐlØˆLØŒ|Ðr:   Úoptionsr   c                ód   •— t          | ¦  «         t          ¦   «                              |¦  «        S rW   ©r    rð   Ú_prepare_options©rò   r  r¢   s     €r;   r  zBedrockOpenAI._prepare_options  s)   ø€ å(¨Ñ.Ô.Ð.Ý‰wŒw×'Ò'¨Ñ0Ô0Ð0r:   ©r„   Úadmin_api_keyÚworkload_identityr•   rœ   rA   rD   rE   rF   rG   rI   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 | NotGivenro   r  úDataResidency | Noneúint | NotGivenr  r  r  úMapping[str, Any]r   c               óä  ‡ — |�t          d¦  «        ‚t          |t          ¦  «        rd n|}t          |¦  «        rt          d¦  «        ‚t          |t          ¦  «        st          d¦  «        ‚|€|�t          d¦  «        ‚|�|�t	          d¦  «        ‚|�|�t	          d¦  «        ‚‰ j        }|�i |¥|¥}n|�|}‰ j        }|�i |¥|¥}n|�|}t          ‰ ||||||	|
||¬¦
  «
        \  }}}i |¥|�|n‰ j        |�|n‰ j	        |�|n‰ j
        |�|n‰ j        t          |t          ¦  «        r‰ j        n||p‰ j        t          |¦  «        r|n‰ j        |||€dn|d	œ
¥|¥} |�%t!          ‰ j        j        d
¦  «        r|| d
<   || d<   nÞ|�®|                      ‰ 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        ¬¦	  «	         ˆ fd„|                       ¦   «         D ¦   «         } n.‰ j        tB          ur ˆ fd„|                       ¦   «         D ¦   «         }  ‰ j        di | ¤ŽS )Nú4`data_residency` is only supported by OpenAI clientsrˆ   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©	r„   r%   rA   rD   rE   rF   rG   rI   r.   T©
rØ   rÙ   rÚ   rÛ   rÜ   rà   rÝ   rÞ   rß   râ   rÑ   rã   rP   r›   c                óP   •— i | ]"\  }}t          ‰j        j        |¦  «        ¯||“Œ#S r9   ©re   r¢   r£   ©r\   rT   r}   rò   s      €r;   ú
<dictcomp>z&BedrockOpenAI.copy.<locals>.<dictcomp>w  óD   ø€ ð "ð "ð "á�D˜%Ý/°´Ô0GÈÑNÔNð"Ø�eð"ð "ð "r:   c                óT   •— i | ]$\  }}|€t          ‰j        j        |¦  «        ¯!||“Œ%S rW   r  r  s      €r;   r  z&BedrockOpenAI.copy.<locals>.<dictcomp>}  óE   ø€ ð "ð "ð "á�D˜%ØÐ$Õ(DÀTÄ^ÔE\Ð^bÑ(cÔ(cÐ$ð �eà$Ð$Ð$r:   r9   )"r   rt   r   r�   rb   Ú_custom_headersÚ_custom_queryr·   rØ   rÙ   rÚ   rÛ   rÜ   Ú_clientr   rÝ   re   r¢   r£   ÚupdaterŸ   r>   rK   r%   rA   rD   rE   rF   rG   rI   rL   r.   ÚitemsrÔ   ©!rò   r„   r
  r  r•   rœ   rA   rD   rE   rF   rG   rI   rØ   rÙ   rÚ   rÛ   r.   r  rÜ   rà   rÝ   rÞ   r  rß   r  râ   r  ÚheadersÚparamsr¶   Úinherited_providerÚinherited_stateÚconstructor_kwargss!   `                                r;   ÚcopyzBedrockOpenAI.copy  sd  ø€ ð> Ð%ÝÐTÑUÔUÐUÝ% hµÑ9Ô9ÐG�4�4¸xˆÝ�GÑÔð 	sÝÐqÑrÔrÐrÝ˜(¥HÑ-Ô-ð 	jÝÐhÑiÔiÐiØÐ$Ð(9Ð(EÝÐrÑsÔsÐsØÐ&Ð+>Ð+JÝÐoÑpÔpÐpØÐ$Ð):Ð)FÝÐkÑlÔlÐlàÔ&ˆØÐ&Ø4˜Ð4 OÐ4ˆGˆGØ Ð,Ø)ˆGØÔ#ˆØÐ$Ø0˜Ð0 -Ð0ˆFˆFØÐ*Ø&ˆFå?RØØØ1Ø!Ø#Ø/Ø"7Ø/Ø%=Øð@
ñ @
ô @
Ñ<ˆÐ+¨_ð.
Øð.
à,8Ð,D˜L˜LÈ$ÔJ[Ø")Ð"5�w�w¸4¼<Ø0>Ð0J˜n˜nÐPTÔPcØ8JÐ8VÐ"4Ð"4Ð\`Ô\sÝ'1°'½8Ñ'DÔ'DÐQ�t”|�|È'Ø&Ð6¨$¬,Ý*2°;Ñ*?Ô*?ÐU˜;˜;ÀTÔEUØ&Ø#Ø,@Ð,H D DÐNbð.
ð .
ð .
ð ð.
Ðð Ð)Õ.JÈ4Ì>ÔKbÐdoÑ.pÔ.pÐ)Ø.@Ð˜{Ñ+Ø+:Ð˜xÑ(Ð(ØÐ+Ø×%Ò%ØÔ+Ô<ÐlÀÔ@SÔ@lØ'+Ô':Ô'IØÔ.Ô9Ø Ô/Ô;Ø"&Ô"5Ô"GØ&*Ô&9Ô&OØ"&Ô"5Ô"GØ)-Ô)<Ô)UØ#Ô2ÔOÐb˜˜ÐUYÔUbð &ñ 
ô 
ð 
ð"ð "ð "ð "à#5×#;Ò#;Ñ#=Ô#=ð"ñ "ô "ÐÐð
 Œ^¥=Ð0Ð0ð"ð "ð "ð "à#5×#;Ò#;Ñ#=Ô#=ð"ñ "ô "Ðð
 ˆtŒ~Ð3Ð3Ð 2Ð3Ð3Ð3r:   )0r„   r/   rœ   rÕ   rA   r/   rD   r/   rE   r/   rF   r/   rG   r/   rI   rH   rØ   r/   rÙ   r/   rÚ   r/   r.   rw   rÛ   rw   rÜ   rä   rÝ   rå   rÞ   ræ   rß   rç   rà   rè   rá   rB   râ   rB   rÑ   ré   rã   rê   r�   r…   rN   rÈ   ©rN   r¹   ©rN   rB   ©rN   r-   ©r  r   rN   r   )6r„   r  r
  r/   r  r  r•   r  rœ   rÕ   rA   r/   rD   r/   rE   r/   rF   r/   rG   r/   rI   rH   rØ   r/   rÙ   r/   rÚ   r/   rÛ   rw   r.   ro   r  r  rÜ   rä   rà   rè   rÝ   r  rÞ   ræ   r  ræ   rß   rç   r  rç   râ   r…   r  r  rN   r   ©r5   r6   r7   Ú__doc__r8   r   r   r£   rÐ   rý   r   r  r  r.  Úwith_optionsÚ__classcell__©r¢   s   @r;   rÔ   rÔ   ›  sÝ  ø€ € € € € € ØOÐOà Ð Ð Ñ Ø'Ð'Ð'Ñ'Ø8Ð8Ð8Ñ8Ø'Ð'Ð'Ñ'Ø7Ð7Ð7Ñ7ØÐÐÑð
 #Ø>BØ!%Ø"&Ø(,Ø,0Ø(,ØBFØ#'Ø"Ø%)Ø,0Ø6:Ø5>Ø.Ø48Ø59Ø,0Ø,1Ø%)Ø&*Ø-1Ø,0ð3Kmð Kmð Kmð Kmð Kmð Kmð Kmð KmðZ	ð 	ð 	ð 	ð
ð 
ð 
ð 
ð ð	ð 	ð 	ñ „Xð	ð ð1ð 1ð 1ð 1ð 1ñ „Xð1ð ð 6:Ø$(ØLPØ09Ø>BØ!%Ø"&Ø(,Ø,0Ø(,ØBFØ#'Ø"Ø%)Ø6:Ø7@Ø/3Ø5>Ø,0Ø&/Ø48Ø8<Ø59Ø9=Ø,0Ø+-ð9k4ð k4ð k4ð k4ð k4ñ „Xðk4ðZ €L€L€L€L€Lr:   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œdNˆ fd4„ZdOd6„ZdPd7„Z	e
dQd9„¦   «         Ze
dRˆ fd<„¦   «         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 d=œdSdM„¦   «         ZeZˆ xZS )TÚAsyncBedrockOpenAIzKAsync compatibility client for Amazon Bedrock's OpenAI-compatible endpoint.r   r¡   r=   rŸ   ú AsyncBedrockTokenProvider | NonerÖ   rB   rz   r*   rÊ   r/   rA   NFTr×   r„   rœ   rD   rE   rF   rG   rI   rH   rØ   rÙ   rÚ   r.   rw   rÛ   rÜ   rä   rÝ   rå   rÞ   ræ   rß   rç   rà   úhttpx2.AsyncClient | Nonerá   râ   rÑ   ré   rã   rê   r�   r…   rN   rÈ   c               óŒ  •— |�|€t          ||||||||||¬¦
  «
        \  }}}n|j        p|j        r|j        ndpd}t	          ¦   «                              ||	|
||||||||d¬¦  «         || _        || _        t          d|j	        ¦  «        | _
        |j        | _        t          | j        j        ¦  «        }t!          | j        t$          ¦  «        r| j        j        nd }|j        p|p|�|d         nd | _        t+          || j        ¬¦  «        | _        |pd| _        t/          | |                      ¦   «         ¦  «        | _        d S )Nrì   rP   Frí   r:  rî   rÏ   rï   rñ   s                              €r;   r£   zAsyncBedrockOpenAI.__init__‘  s¡  ø€ ð6 Ð  Ý0@ØØ5Ø%Ø'Ø"3Ø&;Ø"3Ø)AØ!Ø$8ð1ñ 1ô 1Ñ-ˆI�v˜~˜~ð Ô'ð Ø7=Ô7UÐ]�FÔ3Ð3Ð[]ðàð õ 	‰Œ×ÒØØ%ØØ)Ø1ØØ#Ø+Ø'Ø#Ø(CØ!&ð 	ñ 	
ô 	
ð 	
ð "+ˆÔØ$ˆÔÝ'+Ð,NÐPVÔPeÑ'fÔ'fˆÔ$Ø-3Ô-PˆÔ*Ý=¸d¼mÔ>PÑQÔQÐå-7¸Ô8NÕPgÑ-hÔ-hÐrˆDÔ"Ô)Ð)Ðnrð 	ð ÔÐw ÐwÐN`ÐNlÐ5GÈÔ5JÐ5JÐrvð 	Œõ & f¸¼ÐIÑIÔIˆÔØ%Ð+¨ˆŒÝ*CÀDÈ$×JiÒJiÑJkÔJkÑ*lÔ*lˆÔ'Ð'Ð'r:   r¹   c                óv   — | j         �	d| j         fS | j        j        €| j        j        s| j        r	d| j        fS dS r÷   rø   rù   s    r;   rÐ   z-AsyncBedrockOpenAI._legacy_auth_configurationÞ  rú   r:   c                óZ   — | j         j        d u o| j         o| j        d u o| j         j         S rW   rü   rù   s    r;   rý   z!AsyncBedrockOpenAI._uses_aws_authé  rþ   r:   r-   c              ƒ  ób  K  — | j         j        r)| j         j        pd}| j        r| j        |k    r| j        n|S | j        �kt          t          |                      ¦   «         ¦  «        }t          j        |¦  «        r|ƒ d {V —†}t          |t          ¦  «        r|st          d¦  «        ‚|S | j        S r   )rŸ   rJ   rK   r„   rÖ   r
   r3   rY   Úisawaitablert   r-   rb   r  s      r;   r  z#AsyncBedrockOpenAI._refresh_api_keyñ  sÄ   è è € àÔÔ6ð 	[ØÔ*ÔCÐIÀrˆHØ#'¤<ÐZ°D´LÀHÒ4LÐ4L�4”<�<ÐRZÐZØÔ'Ð3Ý� ×!=Ò!=Ñ!?Ô!?Ñ@Ô@ˆEÝÔ" 5Ñ)Ô)ð $Ø#˜˜˜˜˜˜�Ý˜e¥SÑ)Ô)ð m°ð mÝ Ð!kÑlÔlÐlØˆLØŒ|Ðr:   r  r   c              ƒ  ót   •K  — t          | ¦  «         t          ¦   «                              |¦  «        ƒ d {V —†S rW   r  r  s     €r;   r  z#AsyncBedrockOpenAI._prepare_optionsÿ  s?   øè è € å(¨Ñ.Ô.Ð.Ý‘W”W×-Ò-¨gÑ6Ô6Ð6Ð6Ð6Ð6Ð6Ð6Ð6r:   r	  ú&str | AsyncBedrockTokenProvider | Noner
  r  r  r•   r  ro   r  r  r  r  r  r  r  r   c               óä  ‡ — |�t          d¦  «        ‚t          |t          ¦  «        rd n|}t          |¦  «        rt          d¦  «        ‚t          |t          ¦  «        st          d¦  «        ‚|€|�t          d¦  «        ‚|�|�t	          d¦  «        ‚|�|�t	          d¦  «        ‚‰ j        }|�i |¥|¥}n|�|}‰ j        }|�i |¥|¥}n|�|}t          ‰ ||||||	|
||¬¦
  «
        \  }}}i |¥|�|n‰ j        |�|n‰ j	        |�|n‰ j
        |�|n‰ j        t          |t          ¦  «        r‰ j        n||p‰ j        t          |¦  «        r|n‰ j        |||€dn|d	œ
¥|¥} |�%t!          ‰ j        j        d
¦  «        r|| d
<   || d<   nÞ|�®|                      ‰ 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        ¬¦	  «	         ˆ fd„|                       ¦   «         D ¦   «         } n.‰ j        tB          ur ˆ fd„|                       ¦   «         D ¦   «         }  ‰ j        di | ¤ŽS )Nr  rˆ   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ã   rP   r›   c                óP   •— i | ]"\  }}t          ‰j        j        |¦  «        ¯||“Œ#S r9   r  r  s      €r;   r  z+AsyncBedrockOpenAI.copy.<locals>.<dictcomp>e  r   r:   c                óT   •— i | ]$\  }}|€t          ‰j        j        |¦  «        ¯!||“Œ%S rW   r  r  s      €r;   r  z+AsyncBedrockOpenAI.copy.<locals>.<dictcomp>k  r"  r:   r9   )"r   rt   r   r�   rb   r#  r$  r·   rØ   rÙ   rÚ   rÛ   rÜ   r%  r   rÝ   re   r¢   r£   r&  rŸ   r>   rK   r%   rA   rD   rE   rF   rG   rI   rL   r.   r'  r9  r(  s!   `                                r;   r.  zAsyncBedrockOpenAI.copy  se  ø€ ð> Ð%ÝÐTÑUÔUÐUÝ% hµÑ9Ô9ÐG�4�4¸xˆÝ�GÑÔð 	sÝÐqÑrÔrÐrÝ˜(¥HÑ-Ô-ð 	tÝÐrÑsÔsÐsØÐ$Ð(9Ð(EÝÐwÑxÔxÐxØÐ&Ð+>Ð+JÝÐoÑpÔpÐpØÐ$Ð):Ð)FÝÐkÑlÔlÐlàÔ&ˆØÐ&Ø4˜Ð4 OÐ4ˆGˆGØ Ð,Ø)ˆGØÔ#ˆØÐ$Ø0˜Ð0 -Ð0ˆFˆFØÐ*Ø&ˆFå?RØØØ1Ø!Ø#Ø/Ø"7Ø/Ø%=Øð@
ñ @
ô @
Ñ<ˆÐ+¨_ð.
Øð.
à,8Ð,D˜L˜LÈ$ÔJ[Ø")Ð"5�w�w¸4¼<Ø0>Ð0J˜n˜nÐPTÔPcØ8JÐ8VÐ"4Ð"4Ð\`Ô\sÝ'1°'½8Ñ'DÔ'DÐQ�t”|�|È'Ø&Ð6¨$¬,Ý*2°;Ñ*?Ô*?ÐU˜;˜;ÀTÔEUØ&Ø#Ø,@Ð,H D DÐNbð.
ð .
ð .
ð ð.
Ðð Ð)Õ.JÈ4Ì>ÔKbÐdoÑ.pÔ.pÐ)Ø.@Ð˜{Ñ+Ø+:Ð˜xÑ(Ð(ØÐ+Ø×%Ò%ØÔ+Ô<ÐlÀÔ@SÔ@lØ'+Ô':Ô'IØÔ.Ô9Ø Ô/Ô;Ø"&Ô"5Ô"GØ&*Ô&9Ô&OØ"&Ô"5Ô"GØ)-Ô)<Ô)UØ#Ô2ÔOÐb˜˜ÐUYÔUbð &ñ 
ô 
ð 
ð"ð "ð "ð "à#5×#;Ò#;Ñ#=Ô#=ð"ñ "ô "ÐÐð
 Œ^Õ#5Ð5Ð5ð"ð "ð "ð "à#5×#;Ò#;Ñ#=Ô#=ð"ñ "ô "Ðð
 ˆtŒ~Ð3Ð3Ð 2Ð3Ð3Ð3r:   )0r„   r/   rœ   r:  rA   r/   rD   r/   rE   r/   rF   r/   rG   r/   rI   rH   rØ   r/   rÙ   r/   rÚ   r/   r.   rw   rÛ   rw   rÜ   rä   rÝ   rå   rÞ   ræ   rß   rç   rà   r;  rá   rB   râ   rB   rÑ   ré   rã   rê   r�   r…   rN   rÈ   r/  r0  r1  r2  )6r„   rB  r
  r/   r  r  r•   r  rœ   r:  rA   r/   rD   r/   rE   r/   rF   r/   rG   r/   rI   rH   rØ   r/   rÙ   r/   rÚ   r/   rÛ   rw   r.   ro   r  r  rÜ   rä   rà   r;  rÝ   r  rÞ   ræ   r  ræ   rß   rç   r  rç   râ   r…   r  r  rN   r   r3  r7  s   @r;   r9  r9  ‡  sÝ  ø€ € € € € € ØUÐUà Ð Ð Ñ Ø'Ð'Ð'Ñ'Ø=Ð=Ð=Ñ=Ø'Ð'Ð'Ñ'Ø7Ð7Ð7Ñ7ØÐÐÑð
 #ØCGØ!%Ø"&Ø(,Ø,0Ø(,ØBFØ#'Ø"Ø%)Ø,0Ø6:Ø5>Ø.Ø48Ø59Ø15Ø,1Ø%)Ø&*Ø-1Ø,0ð3Kmð Kmð Kmð Kmð Kmð Kmð Kmð KmðZ	ð 	ð 	ð 	ð
ð 
ð 
ð 
ð ðð ð ñ „Xðð ð7ð 7ð 7ð 7ð 7ñ „Xð7ð ð ;?Ø$(ØLPØ09ØCGØ!%Ø"&Ø(,Ø,0Ø(,ØBFØ#'Ø"Ø%)Ø6:Ø7@Ø/3Ø5>Ø15Ø&/Ø48Ø8<Ø59Ø9=Ø,0Ø+-ð9k4ð k4ð k4ð k4ð k4ñ „Xðk4ðZ €L€L€L€L€Lr:   r9  )rÔ   r9  ÚBedrockTokenProviderrÅ   r    )rM   r=   rN   r-   )rR   rS   rT   r-   rN   rB   )r0   r/   rN   r/   )r.   ro   rN   rp   )r.   rw   rN   rB   )rD   r/   rE   r/   rF   r/   rG   r/   rI   rH   rN   rB   r1  )r„   r/   r%   r@   rA   r/   rD   r/   rE   r/   rF   r/   rG   r/   rI   rH   r.   rw   rC   r…   rN   r†   )r—   r˜   r„   r/   r%   r@   rA   r/   rD   r/   rE   r/   rF   r/   rG   r/   rI   rH   r.   rw   rN   r™   )r—   r˜   r¸   r¹   rN   r*   )r—   r˜   r¸   r¹   rN   r   )r—   r˜   rN   rÈ   )NÚ
__future__r   ri   r¼   rY   Ú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-   rF  rÅ   r+   Útupler3   r¹   Úurandomr¿   r*   r=   rQ   re   rn   rv   rz   r   rƒ   r–   r·   rÃ   rÇ   rž   r    rÔ   r9  Ú__all__r9   r:   r;   ú<module>rX     sD  ðØ "Ð "Ð "Ð "Ð "Ð "à 	€	€	€	Ø €€€Ø €€€Ø MÐ MÐ MÐ MÐ MÐ MÐ MÐ MÐ MÐ MÐ MÐ MÐ MÐ MÐ MÐ MÐ MÐ MØ 1Ð 1Ð 1Ð 1Ð 1Ð 1Ð 1Ð 1Ð 1Ð 1Ø ,Ð ,Ð ,Ð ,Ð ,Ð ,Ð ,Ð ,à €€€à 9Ð 9Ð 9Ð 9Ð 9Ð 9Ð 9Ð 9Ø 1Ð 1Ð 1Ð 1Ð 1Ð 1Ð 1Ð 1Ð 1Ð 1Ø Ð Ð Ð Ð Ð Ø )Ð )Ð )Ð )Ð )Ð )Ð )Ð )Ø )Ð )Ð )Ð )Ð )Ð )Ø )Ð )Ð )Ð )Ð )Ð )Ø 6Ð 6Ð 6Ð 6Ð 6Ð 6Ð 6Ð 6Ø %Ð %Ð %Ð %Ð %Ð %Ø .Ð .Ð .Ð .Ð .Ð .Ø +Ð +Ð +Ð +Ð +Ð +ðð ð ð ð ð ð ð ð ð ð ð ð    C Ô(Ð Ø$ RÐ)?Ð%?Ô@Ð ØÐ;Ô<€Ø  °(¸6Ô2BÐ!BÔCÐ Ø"˜œ
 2™œÐ ð €�$ÐÑÔð4ð 4ð 4ð 4ð 4ñ 4ô 4ñ Ôð4ð €�$ÐÑÔð'ð 'ð 'ð 'ð 'ñ 'ô 'ñ Ôð'ðuð uð uð uðð ð ð ðYð Yð Yð Yð
tð tð tð tðLð Lð Lð Lðð ð ð ð(ð ð ð ð* (,ðOdð Odð Odð Odð Odð Odðdk'ð k'ð k'ð k'ð\ð ð ð ð$!ð !ð !ð !ðH^ð ^ð ^ð ^ð"Yð Yð Yð Yð*ið ið ið ið i�Fñ iô ið iðXkð kð kð kð k˜ñ kô kð kð\ð ð €€€r:   