
    9?h              	           S r SSKrSSK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  S	r\" S
SS9 SS\S\\   S\\   4S jj5       rg)z5Implementing support for MySQL Authentication Plugins    N)	lru_cache)OptionalType   )NotSupportedErrorProgrammingError)logger)BaseAuthPluginzmysql.connector.plugins
   F)maxsizetypedplugin_nameauth_plugin_classreturnc                    [         nU (       a   [        R                  " SU5        [        R                  " SU 5        [        R                  " SU  3U5      nU(       a  [        X15      (       d  UR                  n[        R                  " SU5        [        X15      $ [        SU  S	35      e! [         a!  n[        R                  " SU5         SnAN5SnAf[         a  n[        SU 35      UeSnAff = f)
a  Return authentication class based on plugin name

This function returns the class for the authentication plugin plugin_name.
The returned class is a subclass of BaseAuthPlugin.

Args:
    plugin_name (str): Authentication plugin name.
    auth_plugin_class (str): Authentication plugin class name.

Raises:
    NotSupportedError: When plugin_name is not supported.

Returns:
    Subclass of `BaseAuthPlugin`.
zpackage: %szplugin_name: %s.zAUTHENTICATION_PLUGIN_CLASS: %sz"Requested Module was not found: %sNzInvalid module name: zAuthentication plugin 'z' is not supported)DEFAULT_PLUGINS_PKGr	   info	importlibimport_modulehasattrAUTHENTICATION_PLUGIN_CLASSgetattrModuleNotFoundErrorwarning
ValueErrorr   r   )r   r   packageplugin_moduleerrs        f/var/www/ev-aguas/ev-aguas-proceso/venv/lib/python3.13/site-packages/mysql/connector/authentication.pyget_auth_pluginr!   +   s    ( "G	KKKw/KK);7%33a}4EwOM$GM,U,U$1$M$M!KK9;LM=<<
 5k]BTU
VV	 # 	FNN?EE 	K"%:3%#@AsJ	Ks$   BB+ +
C25CC2C--C2)N)__doc__r   	functoolsr   typingr   r   errorsr   r   r	   pluginsr
   r   strr!        r    <module>r*      sj   : <   ! 7  #/  2U# (,!W!W}!W 
.!W $!Wr)   