<?php

namespace Container0ndx4z1;

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 getProcessBouncesCommandService extends PhpList_Core_Core_ApplicationKernelDevDebugContainer
{
    /**
     * Gets the private 'PhpList\Core\Bounce\Command\ProcessBouncesCommand' shared autowired service.
     *
     * @return \PhpList\Core\Bounce\Command\ProcessBouncesCommand
     */
    public static function do($container, $lazyLoad = true)
    {
        include_once \dirname(__DIR__, 4).'/vendor/symfony/console/Command/Command.php';
        include_once \dirname(__DIR__, 4).'/vendor/phplist/core/src/Bounce/Command/ProcessBouncesCommand.php';
        include_once \dirname(__DIR__, 4).'/vendor/phplist/core/src/Bounce/Service/LockService.php';
        include_once \dirname(__DIR__, 4).'/vendor/phplist/core/src/Domain/Messaging/Service/Manager/SendProcessManager.php';
        include_once \dirname(__DIR__, 4).'/vendor/phplist/core/src/Bounce/Service/Processor/AdvancedBounceRulesProcessor.php';
        include_once \dirname(__DIR__, 4).'/vendor/phplist/core/src/Domain/Messaging/Service/Manager/BounceRuleManager.php';
        include_once \dirname(__DIR__, 4).'/vendor/phplist/core/src/Bounce/Service/BounceActionResolver.php';
        include_once \dirname(__DIR__, 4).'/vendor/phplist/core/src/Bounce/Service/Processor/UnidentifiedBounceReprocessor.php';
        include_once \dirname(__DIR__, 4).'/vendor/phplist/core/src/Bounce/Service/ConsecutiveBounceHandler.php';
        include_once \dirname(__DIR__, 4).'/vendor/phplist/core/src/Bounce/Service/SubscriberBlacklistService.php';

        $a = ($container->services['PhpList\\Core\\Domain\\Messaging\\Repository\\SendProcessRepository'] ?? $container->load('getSendProcessRepositoryService'));
        $b = ($container->services['doctrine.orm.default_entity_manager'] ?? self::getDoctrine_Orm_DefaultEntityManagerService($container));
        $c = ($container->privates['monolog.logger'] ?? self::getMonolog_LoggerService($container));
        $d = ($container->privates['PhpList\\Core\\Bounce\\Service\\Manager\\BounceManager'] ?? $container->load('getBounceManagerService'));
        $e = ($container->services['translator'] ?? self::getTranslatorService($container));
        $f = ($container->privates['PhpList\\Core\\Domain\\Subscription\\Service\\Manager\\SubscriberHistoryManager'] ?? $container->load('getSubscriberHistoryManagerService'));

        $container->privates['PhpList\\Core\\Bounce\\Command\\ProcessBouncesCommand'] = $instance = new \PhpList\Core\Bounce\Command\ProcessBouncesCommand(new \PhpList\Core\Bounce\Service\LockService($a, new \PhpList\Core\Domain\Messaging\Service\Manager\SendProcessManager($a, $b), $c), $c, new RewindableGenerator(function () use ($container) {
            yield 0 => ($container->privates['PhpList\\Core\\Bounce\\Service\\Processor\\PopBounceProcessor'] ?? $container->load('getPopBounceProcessorService'));
            yield 1 => ($container->privates['PhpList\\Core\\Bounce\\Service\\Processor\\MboxBounceProcessor'] ?? $container->load('getMboxBounceProcessorService'));
        }, 2), new \PhpList\Core\Bounce\Service\Processor\AdvancedBounceRulesProcessor($d, new \PhpList\Core\Domain\Messaging\Service\Manager\BounceRuleManager(($container->services['PhpList\\Core\\Domain\\Messaging\\Repository\\BounceRegexRepository'] ?? $container->load('getBounceRegexRepositoryService')), ($container->services['PhpList\\Core\\Domain\\Messaging\\Repository\\BounceRegexBounceRepository'] ?? $container->load('getBounceRegexBounceRepositoryService'))), new \PhpList\Core\Bounce\Service\BounceActionResolver(new RewindableGenerator(fn () => new \EmptyIterator(), 0)), ($container->privates['PhpList\\Core\\Domain\\Subscription\\Service\\Manager\\SubscriberManager'] ?? $container->load('getSubscriberManagerService')), $e), new \PhpList\Core\Bounce\Service\Processor\UnidentifiedBounceReprocessor($d, ($container->privates['PhpList\\Core\\Bounce\\Service\\MessageParser'] ?? $container->load('getMessageParserService')), ($container->privates['PhpList\\Core\\Bounce\\Service\\Processor\\BounceDataProcessor'] ?? $container->load('getBounceDataProcessorService')), $e), new \PhpList\Core\Bounce\Service\ConsecutiveBounceHandler($d, ($container->services['PhpList\\Core\\Domain\\Subscription\\Repository\\SubscriberRepository'] ?? self::getSubscriberRepositoryService($container)), $f, new \PhpList\Core\Bounce\Service\SubscriberBlacklistService($b, ($container->privates['PhpList\\Core\\Domain\\Subscription\\Service\\Manager\\SubscriberBlacklistManager'] ?? self::getSubscriberBlacklistManagerService($container)), $f, ($container->services['request_stack'] ??= new \Symfony\Component\HttpFoundation\RequestStack()), $e), $e, $container->getEnv('BOUNCE_IMAP_UNSUBSCRIBE_THRESHOLD'), $container->getEnv('BOUNCE_IMAP_BLACKLIST_THRESHOLD')), $e, $b);

        $instance->setName('phplist:bounces:process');
        $instance->setDescription('Process bounce mailbox');

        return $instance;
    }
}
