Authenticator

AuthenticatorAuthenticatorAuthenticatorAuthenticatorAuthenticatorAuthenticatorAuthenticatorAuthenticatorAuthenticatorAuthenticatorAuthenticatorAuthenticatorAuthenticatorAuthenticatorAuthenticatorAuthenticatorAuthenticatorAuthenticatorAuthenticatorAuthenticatorAuthenticatorAuthenticatorAuthenticatorAuthenticatorAuthenticatorAuthenticatorAuthenticatorAuthenticatorAuthenticatorAuthenticatorAuthenticatorAuthenticatorAuthenticatorAuthenticatorAuthenticatorAuthenticatorAuthenticatorAuthenticatorAuthenticatorAuthenticatorAuthenticatorAuthenticatorAuthenticatorAuthenticatorAuthenticatorAuthenticatorAuthenticatorAuthenticator