
    Cjy                    |   S SK Jr  S SKrS SKrS SKJrJrJrJrJ	r	J
r
JrJr  S SKJrJr  S SKrSSKJr  SSKJrJrJrJrJrJr  SSKJrJr  SS	KJrJr  SS
K J!r!  SSK"J#r#J$r$  SSK%J&r&  SSK'J(r(J)r)  SSK*J+r+  SSK,J-r-J.r.  \/" / SQ5      r0\	/ \14   r2\	/ S4   r3\" S\\Rh                  \Rj                  4   S9r6\" S\\(\   \)\   4   S9r7SRq                  / SQ5      r9S!S jr:S"S jr; " S S\+5      r< " S S\.\6\74   5      r= " S S\=\Rh                  \(\   4   \5      r> " S S \=\Rj                  \)\   4   \5      r?g)#    )annotationsN)AnyUnionMappingTypeVarCallable	Awaitablecastoverload)Selfoverride   )WorkloadIdentity)	NOT_GIVENOmitQueryHeadersTimeoutNotGiven)is_given
is_mapping)OpenAIAsyncOpenAI)
model_copy)SecurityOptionsFinalRequestOptions)	_Provider)StreamAsyncStream)OpenAIError)DEFAULT_MAX_RETRIES
BaseClient)z/completionsz/chat/completionsz/embeddingsz/audio/transcriptionsz/audio/translationsz/audio/speechz/images/generationsz/images/editszstr | Awaitable[str]_HttpxClientT)bound_DefaultStreamT )<zmissing API key>c                N   ^ TR                  5       m[        U4S jU  5       5      $ )Nc              3  H   >#    U  H  oR                  5       T:H  v   M     g 7fN)lower).0keyheaders     b/home/rurouni/.local/share/pipx/venvs/strix-agent/lib/python3.13/site-packages/openai/lib/azure.py	<genexpr>_has_header.<locals>.<genexpr>1   s     8yy{f$s   ")r,   any)headersr/   s    `r0   _has_headerr5   /   s    \\^F8888    c                @    [        U S5      =(       d    [        U S5      $ )NAuthorizationapi-key)r5   )r4   s    r0   _has_auth_headerr:   4   s    w0SK4SSr6   c                  ,   ^  \ rS rSrSU 4S jjrSrU =r$ )MutuallyExclusiveAuthError8   c                $   > [         TU ]  S5        g )NzThe `api_key`, `azure_ad_token` and `azure_ad_token_provider` arguments are mutually exclusive; Only one can be passed at a time)super__init__)self	__class__s    r0   r@   #MutuallyExclusiveAuthError.__init__9   s     O	
r6    )returnNone)__name__
__module____qualname____firstlineno__r@   __static_attributes____classcell__rB   s   @r0   r<   r<   8   s    
 
r6   r<   c                  x   ^  \ rS rSr% S\S'   S\S'   \SS.     SU 4S jjj5       r\SU 4S	 jj5       rS
rU =r	$ )BaseAzureClient?   zhttpx.URL | None_azure_endpoint
str | None_azure_deploymentr   retries_takenc               (  > UR                   [        ;   aq  [        UR                  5      (       aW  UR                  R	                  S5      nUb9  S[        U R                  R                  5      ;  a  SU UR                    3Ul         [        TU ]%  XS9$ )Nmodelz/deploymentsz/deployments/rT   )
url_deployments_endpointsr   	json_datagetstrbase_urlpathr?   _build_request)rA   optionsrU   rW   rB   s       r0   r_   BaseAzureClient._build_requestC   s}     ;;00Z@Q@Q5R5R%%))'2E ^3t}}?Q?Q;R%R -eWW[[MBw%g%KKr6   c                  > U R                   (       a  U R                  (       a  U[        ;  a  [        R                  " U5      nUR
                  (       a]  U R                  R                  R                  S5      S-   UR                  R                  S5      -   nU R                  R                  US9$ U$ [        TU ]-  U5      $ )zAdjust the URL if the client was configured with an Azure endpoint + deployment
and the API feature being called is **not** a deployments-based endpoint
(i.e. requires /deployments/deployment-name in the URL path).
   /s   /openai/raw_path)rS   rQ   rY   httpxURLis_relative_urlre   rstriplstrip	copy_withr?   _prepare_url)rA   rX   	merge_urlmerge_raw_pathrB   s       r0   rl   BaseAzureClient._prepare_urlQ   s     !!d&:&:sJ`?`		#I((((1188>LyOaOaOhOhimOnn  ++55~5NNw#C((r6   rD   )r`   r   rU   intrE   zhttpx.Request)rX   r\   rE   z	httpx.URL)
rG   rH   rI   rJ   __annotations__r   r_   rl   rK   rL   rM   s   @r0   rO   rO   ?   s[    %%!!
 	L$L 	L
 
L L ) )r6   rO   c                    ^  \ rS rSr\SSSSSSSSS\\SSSSSS.                                   SS jj5       r\SSSSSSSSS\\SSSSSS.                                 SS jj5       r\SSSSSSSS\\SSSSSS.                                 SS	 jj5       rSSSSSSSSSSSSS\\SSSSSS
.                                         SU 4S jjjr\SSS\SSSSSSSS\S\SSSSS0 S.                                           SU 4S jjj5       r	\	r
SS jr\SS j5       r\SS j5       r\SS j5       rSS jrSrU =r$ )AzureOpenAId   NFT)azure_deploymentapi_versionapi_keyadmin_api_keyazure_ad_tokenazure_ad_token_providerorganizationwebhook_secretwebsocket_base_urltimeoutmax_retriesdefault_headersdefault_queryhttp_client_strict_response_validation_enforce_credentialsc                   g r+   rD   )rA   azure_endpointru   rv   rw   rx   ry   rz   r{   r|   r}   r~   r   r   r   r   r   r   s                     r0   r@   AzureOpenAI.__init__e       * r6   c                   g r+   rD   )rA   ru   rv   rw   rx   ry   rz   r{   r|   r}   r~   r   r   r   r   r   r   s                    r0   r@   r   |       ( r6   )rv   rw   rx   ry   rz   r{   r|   r}   r~   r   r   r   r   r   r   c                   g r+   rD   )rA   r]   rv   rw   rx   ry   rz   r{   r|   r}   r~   r   r   r   r   r   r   s                    r0   r@   r      r   r6   )rv   r   ru   rw   rx   workload_identityry   rz   r{   projectr|   r}   r]   r~   r   r   r   r   r   r   c                 > Uc  [         R                  R                  S5      nUc  [         R                  R                  S5      nU(       a  Uc  Uc  Uc  [        S5      eUc  [         R                  R                  S5      nUc  [	        S5      eUc  SU0nO0 UESU0EnUc_  Uc  [         R                  R                  S5      nUc  [	        S	5      eUb  UR                  S
5       SU 3nO#UR                  S
5       S3nOUb  [	        S5      eUc  [        n[        TU ]!  UUU	U
UUUUUUUUUUS9  Xl	        Xpl
        Xl        U(       a  UOSU l        U(       a  [        R                  " U5      U l        gSU l        g)a  Construct a new synchronous azure openai client instance.

This automatically infers the following arguments from their corresponding environment variables if they are not provided:
- `api_key` from `AZURE_OPENAI_API_KEY`
- `organization` from `OPENAI_ORG_ID`
- `project` from `OPENAI_PROJECT_ID`
- `azure_ad_token` from `AZURE_OPENAI_AD_TOKEN`
- `api_version` from `OPENAI_API_VERSION`
- `azure_endpoint` from `AZURE_OPENAI_ENDPOINT`

Args:
    azure_endpoint: Your Azure endpoint, including the resource, e.g. `https://example-resource.azure.openai.com/`

    azure_ad_token: Your Azure Active Directory token, https://www.microsoft.com/en-us/security/business/identity-access/microsoft-entra-id

    azure_ad_token_provider: A function that returns an Azure Active Directory token, will be invoked on every request.

    azure_deployment: A model deployment, if given with `azure_endpoint`, sets the base client URL to include `/deployments/{azure_deployment}`.
        Not supported with Assistants APIs.
NAZURE_OPENAI_API_KEYAZURE_OPENAI_AD_TOKENMissing credentials. Please pass one of `api_key`, `azure_ad_token`, `azure_ad_token_provider`, or the `AZURE_OPENAI_API_KEY` or `AZURE_OPENAI_AD_TOKEN` environment variables.OPENAI_API_VERSION_Must provide either the `api_version` argument or the `OPENAI_API_VERSION` environment variableapi-versionAZURE_OPENAI_ENDPOINTuMust provide one of the `base_url` or `azure_endpoint` arguments, or the `AZURE_OPENAI_ENDPOINT` environment variable//openai/deployments//openai2base_url and azure_endpoint are mutually exclusiverw   rx   r{   r   r|   r]   r~   r   r   r   r   r}   r   r   osenvironr[   r    
ValueErrorri   API_KEY_SENTINELr?   r@   _api_version_azure_ad_token_azure_ad_token_providerrS   rf   rg   rQ   )rA   rv   r   ru   rw   rx   r   ry   rz   r{   r   r|   r}   r]   r~   r   r   r   r   r   r   rB   s                        r0   r@   r         Z ?jjnn%;<G!ZZ^^,CDNGO8NSjSr B  **..)=>Kq   *K8MI}Im[IM%!#0G!H%  L   +,33C899MN^M_`,33C89A) !UVV?&G'%)#+'#1(C!5 	 	
  (-(?%5C!1<Juyy8PTr6   rw   rx   r   providerr{   r   r|   r}   rv   ry   rz   r]   r~   r   r   r   set_default_headersr   set_default_queryr   _extra_kwargsc                  > [        U[        5      (       d  [        S5      e[        TU ]  UUUUUUUUUUUUUUUUU	=(       d    U R
                  U
=(       d    U R                  U=(       d    U R                  S.UES9$ )n
Create a new client instance re-using the same options given to the current client with optional overriding.
zFConfigure `provider` on `OpenAI`, not on `AzureOpenAI.with_options()`.rv   ry   rz   rw   rx   r   r{   r   r|   r}   r]   r~   r   r   r   r   r   r   r   r   
isinstancer   r    r?   copyr   r   r   rA   rw   rx   r   r   r{   r   r|   r}   rv   ry   rz   r]   r~   r   r   r   r   r   r   r   r   rB   s                         r0   r   AzureOpenAI.copy  s    : (H--fggw|'/%)1##+ 3'/!5*?d.?.?"0"HD4H4H+B+cdFcFc  	#  
 	
r6   c                    U R                   b  U R                   $ U R                  nUb3  U" 5       nU(       a  [        U[        5      (       d  [	        SU 35      eU$ g NzOExpected `azure_ad_token_provider` argument to return a string but it returned )r   r   r   r\   r   rA   r   tokens      r0   _get_azure_ad_tokenAzureOpenAI._get_azure_ad_tokenS  sd    +'''00JE
5# 6 6 efkelm  Lr6   c                    U R                   b  SSU R                    30$ U R                  (       a"  U R                  [        :w  a  SU R                  0$ 0 $ Nr8   Bearer r9   r   rw   r   rA   securitys     r0   _auth_headersAzureOpenAI._auth_headersb  N    +#wt/C/C.D%EFF<<DLL,<<t||,,	r6   c                Z    [        U5      (       d  [        U5      (       a  g [        S5      eNz"Could not resolve authentication method. Expected either api_key, azure_ad_token or azure_ad_token_provider to be set. Or for one of the `Authorization` or `api-key` headers to be explicitly supplied or omitted"r:   	TypeErrorrA   r4   custom_headerss      r0   _validate_headersAzureOpenAI._validate_headersl  .    G$$(8(H(H c
 	
r6   c                   [        UR                  5      (       a  0 UR                  EO0 n[        U5      nX!l        U R                  5       nUb  [	        US5      (       d  SU 3US'   U$ U R
                  (       a6  U R
                  [        :w  a"  [	        US5      (       d  U R
                  US'   U$ [        U5      (       d  [        U R                  5      (       a   U$ [        S5      eNr8   r   r9   zUnable to handle auth
r   r4   r   r   r5   rw   r   r:   r   r   rA   r`   r4   ry   s       r0   _prepare_optionsAzureOpenAI._prepare_optionsu  s    @H@Y@Y)<GOO)<_aW%!113%w88-4^4D+E(  \\dll.>>w	22%)\\	"  g&&*:4;O;O*P*P
  455r6   c                   0 n0 UEU R                   U R                  =(       d    US.EnU R                  (       a  U R                  S:w  a  SU R                  0nOU R                  5       nU(       a  SSU 30nU R                  bN  [
        R                  " U R                  5      nUR                  R                  S5      S-   nUR                  US9nO U R                  S	5      nUR                  S
S9nUR                  0 UES9n	X4$ N)r   
deploymentz<missing API key>r9   r8   r   rc   s	   /realtimerd   z	/realtimewss)scheme)paramsr   rS   rw   r   r}   rf   rg   re   ri   rk   rl   
rA   rW   extra_queryauth_headersqueryr   r]   rn   realtime_urlrX   s
             r0   _configure_realtimeAzureOpenAI._configure_realtime  s   

,,009E

 <<DLL,??%t||4L,,.E /75'1BC"".yy!8!89H%..55d;lJN#--~-FL((5H#--U-;L$$IuI$6  r6   r   r   r   rS   rQ   )$r   r\   ru   rR   rv   rR   rw   str | Callable[[], str] | Nonerx   rR   ry   rR   rz   AzureADTokenProvider | Noner{   rR   r|   rR   r}   str | httpx.URL | Noner~   !float | Timeout | None | NotGivenr   rp   r   Mapping[str, str] | Noner   Mapping[str, object] | Noner   httpx.Client | Noner   boolr   r   rE   rF   )"ru   rR   rv   rR   rw   r   rx   rR   ry   rR   rz   r   r{   rR   r|   rR   r}   r   r~   r   r   rp   r   r   r   r   r   r   r   r   r   r   rE   rF   )"r]   r\   rv   rR   rw   r   rx   rR   ry   rR   rz   r   r{   rR   r|   rR   r}   r   r~   r   r   rp   r   r   r   r   r   r   r   r   r   r   rE   rF   )*rv   rR   r   rR   ru   rR   rw   r   rx   rR   r   WorkloadIdentity | Nonery   rR   rz   r   r{   rR   r   rR   r|   rR   r}   r   r]   rR   r~   r   r   rp   r   r   r   r   r   r   r   r   r   r   rE   rF   ),rw   r   rx   rR   r   r   r   _Provider | None | NotGivenr{   rR   r   rR   r|   rR   r}   r   rv   rR   ry   rR   rz   r   r]   r   r~   r   r   r   r   int | NotGivenr   r   r   r   r   r   r   r   r   bool | Noner   Mapping[str, Any]rE   r   rE   rR   r   r   rE   zdict[str, str]r4   r   r   r   rE   rF   r`   r   rE   r   rW   r\   r   r   rE   z tuple[httpx.URL, dict[str, str]]rG   rH   rI   rJ   r   r   r!   r@   r   r   with_optionsr   r   r   r   r   rK   rL   rM   s   @r0   rs   rs   d   s   
 (,"&26$(%)?C#'%)595>.4859+/,1%)'  %	
   0 " # "= ! # 3 3  2  3!" )#$ &*%& #'( 
) ,  (,"&26$(%)?C#'%)595>.4859+/,1%)% %  	
 0 " # "= ! # 3 3  2 3  )!" &*#$ #%& 
' * 
 #'26$(%)?C#'%)595>.4859+/,1%)%   	
 0 " # "= ! # 3 3  2 3  )!" &*#$ #%& 
' 0 #'%)'+26$(59%)?C#'"%)59#5>.4859+/,1%)/nU  nU #	nU
 %nU 0nU "nU 3nU #nU "=nU !nU nU #nU 3nU  !nU" 3#nU$ %nU& 2'nU( 3)nU* )+nU, &*-nU. #/nU0 
1nU nU`  37$(5909#'"%)59"&%)?C+/5>+/&/488<599=,0+-/6
 06
 "	6

 36
 .6
 !6
 6
 #6
 36
  6
 #6
 "=6
 )6
 36
  )!6
" $#6
$ 2%6
& 6'6
( 3)6
* 7+6
, *-6
. )/6
0 
16
 6
p L   
 
  *! !r6   rs   c                  (  ^  \ rS rSr\SSSSSSSSSS\\SSSSSS.                                     SS jj5       r\SSSSSSSSSS\\SSSSSS.                                   SS jj5       r\SSSSSSSSS\\SSSSSS.                                   SS	 jj5       rSSSSSSSSSSSSS\\SSSSSS
.                                         SU 4S jjjr\SSS\SSSSSSSS\S\SSSSS0 S.                                           SU 4S jjj5       r	\	r
SS jr\SS j5       r\SS j5       r\SS j5       rSS jrSrU =r$ )AsyncAzureOpenAIi  NFT)ru   rv   rw   rx   ry   rz   r{   r   r|   r}   r~   r   r   r   r   r   r   c                   g r+   rD   )rA   r   ru   rv   rw   rx   ry   rz   r{   r   r|   r}   r~   r   r   r   r   r   r   s                      r0   r@   AsyncAzureOpenAI.__init__  s    , r6   c                   g r+   rD   )rA   ru   rv   rw   rx   ry   rz   r{   r   r|   r}   r~   r   r   r   r   r   r   s                     r0   r@   r     r   r6   )rv   rw   rx   ry   rz   r{   r   r|   r}   r~   r   r   r   r   r   r   c                   g r+   rD   )rA   r]   rv   rw   rx   ry   rz   r{   r   r|   r}   r~   r   r   r   r   r   r   s                     r0   r@   r     r   r6   )r   ru   rv   rw   rx   r   ry   rz   r{   r   r|   r]   r}   r~   r   r   r   r   r   r   c                 > Uc  [         R                  R                  S5      nUc  [         R                  R                  S5      nU(       a  Uc  Uc  Uc  [        S5      eUc  [         R                  R                  S5      nUc  [	        S5      eUc  SU0nO0 UESU0EnUc_  Uc  [         R                  R                  S5      nUc  [	        S	5      eUb  UR                  S
5       SU 3nO#UR                  S
5       S3nOUb  [	        S5      eUc  [        n[        TU ]!  UUU	U
UUUUUUUUUUS9  X0l	        Xpl
        Xl        U(       a  UOSU l        U(       a  [        R                  " U5      U l        gSU l        g)a  Construct a new asynchronous azure openai client instance.

This automatically infers the following arguments from their corresponding environment variables if they are not provided:
- `api_key` from `AZURE_OPENAI_API_KEY`
- `organization` from `OPENAI_ORG_ID`
- `project` from `OPENAI_PROJECT_ID`
- `azure_ad_token` from `AZURE_OPENAI_AD_TOKEN`
- `api_version` from `OPENAI_API_VERSION`
- `azure_endpoint` from `AZURE_OPENAI_ENDPOINT`

Args:
    azure_endpoint: Your Azure endpoint, including the resource, e.g. `https://example-resource.azure.openai.com/`

    azure_ad_token: Your Azure Active Directory token, https://www.microsoft.com/en-us/security/business/identity-access/microsoft-entra-id

    azure_ad_token_provider: A function that returns an Azure Active Directory token, will be invoked on every request.

    azure_deployment: A model deployment, if given with `azure_endpoint`, sets the base client URL to include `/deployments/{azure_deployment}`.
        Not supported with Assistants APIs.
Nr   r   r   r   r   r   r   r   r   r   r   r   r   r   )rA   r   ru   rv   rw   rx   r   ry   rz   r{   r   r|   r]   r}   r~   r   r   r   r   r   r   rB   s                        r0   r@   r     r   r6   r   c                  > [        U[        5      (       d  [        S5      e[        TU ]  UUUUUUUUUUUUUUUUU	=(       d    U R
                  U
=(       d    U R                  U=(       d    U R                  S.UES9$ )r   zPConfigure `provider` on `AsyncOpenAI`, not on `AsyncAzureOpenAI.with_options()`.r   r   r   r   s                         r0   r   AsyncAzureOpenAI.copy\  s    : (H--pqqw|'/%)1##+ 3'/!5*?d.?.?"0"HD4H4H+B+cdFcFc  	#  
 	
r6   c                >  #    U R                   b  U R                   $ U R                  nUbo  U" 5       n[        R                  " U5      (       a
  UI S h  vN nU(       a#  [	        [        [        U5      [        5      (       d  [        SU 35      e[        U5      $ g  NH7fr   )	r   r   inspectisawaitabler   r
   r   r\   r   r   s      r0   r   $AsyncAzureOpenAI._get_azure_ad_token  s     +'''00JE""5))#
4U+;S A A efkelm  u: $s   ABBA	Bc                    U R                   b  SSU R                    30$ U R                  (       a"  U R                  [        :w  a  SU R                  0$ 0 $ r   r   r   s     r0   r   AsyncAzureOpenAI._auth_headers  r   r6   c                Z    [        U5      (       d  [        U5      (       a  g [        S5      er   r   r   s      r0   r   "AsyncAzureOpenAI._validate_headers  r   r6   c                  #    [        UR                  5      (       a  0 UR                  EO0 n[        U5      nX!l        U R                  5       I S h  vN nUb  [	        US5      (       d  SU 3US'   U$ U R
                  (       a6  U R
                  [        :w  a"  [	        US5      (       d  U R
                  US'   U$ [        U5      (       d  [        U R                  5      (       a   U$ [        S5      e N7fr   r   r   s       r0   r   !AsyncAzureOpenAI._prepare_options  s     @H@Y@Y)<GOO)<_aW%!#7799%w88-4^4D+E(  \\dll.>>w	22%)\\	"  g&&*:4;O;O*P*P
  455 :s   AC5C3B"C5c                (  #    0 n0 UEU R                   U R                  =(       d    US.EnU R                  (       a  U R                  S:w  a  SU R                  0nO&U R                  5       I S h  vN nU(       a  SSU 30nU R                  bN  [
        R                  " U R                  5      nUR                  R                  S5      S-   nUR                  US9nO U R                  S	5      nUR                  S
S9nUR                  0 UES9n	X4$  N7fr   r   r   s
             r0   r   $AsyncAzureOpenAI._configure_realtime  s    

,,009E

 <<DLL,??%t||4L2244E /75'1BC"".yy!8!89H%..55d;lJN#--~-FL((5H#--U-;L$$IuI$6   5s   A,D.D/B"Dr   )&r   r\   ru   rR   rv   rR   rw   )str | Callable[[], Awaitable[str]] | Nonerx   rR   ry   rR   rz    AsyncAzureADTokenProvider | Noner{   rR   r   rR   r|   rR   r}   r   r~   r   r   rp   r   r   r   r   r   httpx.AsyncClient | Noner   r   r   r   rE   rF   )$ru   rR   rv   rR   rw   r	  rx   rR   ry   rR   rz   r
  r{   rR   r   rR   r|   rR   r}   r   r~   r   r   rp   r   r   r   r   r   r  r   r   r   r   rE   rF   )$r]   r\   rv   rR   rw   r	  rx   rR   ry   rR   rz   r
  r{   rR   r   rR   r|   rR   r}   r   r~   r   r   rp   r   r   r   r   r   r  r   r   r   r   rE   rF   )*r   rR   ru   rR   rv   rR   rw   r	  rx   rR   r   r   ry   rR   rz   r
  r{   rR   r   rR   r|   rR   r]   rR   r}   r   r~   r   r   rp   r   r   r   r   r   r  r   r   r   r   rE   rF   ),rw   r	  rx   rR   r   r   r   r   r{   rR   r   rR   r|   rR   r}   r   rv   rR   ry   rR   rz   r
  r]   r   r~   r   r   r  r   r   r   r   r   r   r   r   r   r   r   r   r   r   rE   r   r   r   r   r   r   r   rM   s   @r0   r   r     s   
 (,"&=A$(%)DH#'"%)595>.485904,1%))  %	
   ; " # "B !  # 3 3   2!" 3#$ .%& &*'( #)* 
+ .  (,"&=A$(%)DH#'"%)595>.485904,1%)' %  	
 ; " # "B !  # 3 3  2  3!" .#$ &*%& #'( 
) , 
 #'=A$(%)DH#'"%)595>.485904,1%)'   	
 ; " # "B !  # 3 3  2  3!" .#$ &*%& #'( 
) 2 &*'+"&=A$(59%)DH#'"%)#595>.485904,1%)/nU #nU %	nU
  nU ;nU "nU 3nU #nU "BnU !nU nU #nU nU  3!nU" 3#nU$ %nU& 2'nU( 3)nU* .+nU, &*-nU. #/nU0 
1nU nU`  >B$(5909#'"%)59"&%)DH+/5>04&/488<599=,0+-/6
 ;6
 "	6

 36
 .6
 !6
 6
 #6
 36
  6
 #6
 "B6
 )6
 36
  .!6
" $#6
$ 2%6
& 6'6
( 3)6
* 7+6
, *-6
. )/6
0 
16
 6
p L"   
 
  *! !r6   r   )r4   r   r/   r\   rE   r   )r4   r   rE   r   )@
__future__r   r   r   typingr   r   r   r   r   r	   r
   r   typing_extensionsr   r   rf   authr   _typesr   r   r   r   r   r   _utilsr   r   _clientr   r   _compatr   _modelsr   r   	_providerr   
_streamingr   r   _exceptionsr    _base_clientr!   r"   setrY   r\   AzureADTokenProviderAsyncAzureADTokenProviderClientAsyncClientr#   r%   joinr   r5   r:   r<   rO   rs   r   rD   r6   r0   <module>r     s9   " 	  T T T ,  # G G ) )   : ! , % :	   C( $R)?%?@ uU\\5CTCT5T/UV+5kRUFV9V3WX 7789 9
T
 
")j!?@ ")J~!/%,,s";<f ~!B
C!u'8'8+c:J'JK[ C!r6   