<?php

namespace Container3lyDu81;

use Symfony\Component\DependencyInjection\Argument\RewindableGenerator;
use Symfony\Component\DependencyInjection\ContainerInterface;
use Symfony\Component\DependencyInjection\Exception\RuntimeException;

/*
 * @internal This class has been auto-generated by the Symfony Dependency Injection Component.
 */
class getSecurity_Authenticator_TwoFactor_MainService extends App_KernelProdContainer
{
    /*
     * Gets the private 'security.authenticator.two_factor.main' shared service.
     *
     * @return \Scheb\TwoFactorBundle\Security\Http\Authenticator\TwoFactorAuthenticator
     */
    public static function do($container, $lazyLoad = true)
    {
        include_once \dirname(__DIR__, 3).'/vendor/symfony/security-http/Authenticator/AuthenticatorInterface.php';
        include_once \dirname(__DIR__, 3).'/vendor/symfony/security-http/Authenticator/InteractiveAuthenticatorInterface.php';
        include_once \dirname(__DIR__, 3).'/vendor/scheb/2fa-bundle/Security/Http/Authenticator/TwoFactorAuthenticator.php';
        include_once \dirname(__DIR__, 3).'/vendor/symfony/security-http/Authentication/AuthenticationFailureHandlerInterface.php';
        include_once \dirname(__DIR__, 3).'/core/backend/Security/TwoFactor/TwoFactorAuthenticationFailureHandler.php';
        include_once \dirname(__DIR__, 3).'/vendor/scheb/2fa-bundle/Security/Http/Authentication/AuthenticationRequiredHandlerInterface.php';
        include_once \dirname(__DIR__, 3).'/core/backend/Security/TwoFactor/TwoFactorAuthenticationRequiredHandler.php';

        $a = ($container->services['2fa_success'] ?? $container->load('get2faSuccessService'));

        if (isset($container->privates['security.authenticator.two_factor.main'])) {
            return $container->privates['security.authenticator.two_factor.main'];
        }
        $b = ($container->services['event_dispatcher'] ?? self::getEventDispatcherService($container));

        if (isset($container->privates['security.authenticator.two_factor.main'])) {
            return $container->privates['security.authenticator.two_factor.main'];
        }

        return $container->privates['security.authenticator.two_factor.main'] = new \Scheb\TwoFactorBundle\Security\Http\Authenticator\TwoFactorAuthenticator(($container->privates['security.firewall_config.two_factor.main'] ?? self::getSecurity_FirewallConfig_TwoFactor_MainService($container)), ($container->privates['security.token_storage'] ?? self::getSecurity_TokenStorageService($container)), $a, ($container->services['2fa_failed'] ??= new \App\Security\TwoFactor\TwoFactorAuthenticationFailureHandler()), ($container->services['2fa_required'] ??= new \App\Security\TwoFactor\TwoFactorAuthenticationRequiredHandler()), $b, ($container->services['monolog.logger.security'] ?? self::getMonolog_Logger_SecurityService($container)));
    }
}
