<?php

namespace ContainerH4AHLTQ;

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

/*
 * @internal This class has been auto-generated by the Symfony Dependency Injection Component.
 */
class getSecurity_Acl_Voter_BasicPermissionsService extends KernelProdContainer
{
    /*
     * Gets the public 'security.acl.voter.basic_permissions' shared service.
     *
     * @return \Oro\Bundle\SecurityBundle\Acl\Voter\AclVoter
     */
    public static function do($container, $lazyLoad = true)
    {
        include_once \dirname(__DIR__, 4).'/vendor/symfony/security-core/Authorization/Voter/VoterInterface.php';
        include_once \dirname(__DIR__, 4).'/vendor/symfony/security-acl/Voter/AclVoter.php';
        include_once \dirname(__DIR__, 4).'/vendor/akeneo/pim-community-dev/src/Oro/Bundle/SecurityBundle/Acl/Domain/PermissionGrantingStrategyContextInterface.php';
        include_once \dirname(__DIR__, 4).'/vendor/akeneo/pim-community-dev/src/Oro/Bundle/SecurityBundle/Acl/Voter/AclVoter.php';
        include_once \dirname(__DIR__, 4).'/vendor/symfony/security-acl/Model/AclProviderInterface.php';
        include_once \dirname(__DIR__, 4).'/vendor/akeneo/pim-community-dev/src/Oro/Bundle/SecurityBundle/Acl/Domain/RootBasedAclProvider.php';
        include_once \dirname(__DIR__, 4).'/vendor/symfony/security-acl/Model/ObjectIdentityRetrievalStrategyInterface.php';
        include_once \dirname(__DIR__, 4).'/vendor/akeneo/pim-community-dev/src/Oro/Bundle/SecurityBundle/Acl/Domain/ObjectIdentityRetrievalStrategy.php';
        include_once \dirname(__DIR__, 4).'/vendor/symfony/security-acl/Model/SecurityIdentityRetrievalStrategyInterface.php';
        include_once \dirname(__DIR__, 4).'/vendor/symfony/security-acl/Domain/SecurityIdentityRetrievalStrategy.php';
        include_once \dirname(__DIR__, 4).'/vendor/symfony/security-core/Role/RoleHierarchyInterface.php';
        include_once \dirname(__DIR__, 4).'/vendor/symfony/security-core/Role/RoleHierarchy.php';
        include_once \dirname(__DIR__, 4).'/vendor/symfony/security-acl/Permission/PermissionMapInterface.php';
        include_once \dirname(__DIR__, 4).'/vendor/akeneo/pim-community-dev/src/Oro/Bundle/SecurityBundle/Acl/Permission/PermissionMap.php';

        $a = ($container->services['security.acl.provider'] ?? $container->load('getSecurity_Acl_ProviderService'));

        if (isset($container->services['security.acl.voter.basic_permissions'])) {
            return $container->services['security.acl.voter.basic_permissions'];
        }
        $b = ($container->privates['oro_security.acl.object_identity_factory'] ?? $container->getOroSecurity_Acl_ObjectIdentityFactoryService());

        $c = new \Oro\Bundle\SecurityBundle\Acl\Domain\RootBasedAclProvider($b);
        $c->setBaseAclProvider($a);
        $d = ($container->privates['oro_security.acl.extension_selector'] ?? $container->getOroSecurity_Acl_ExtensionSelectorService());

        $container->services['security.acl.voter.basic_permissions'] = $instance = new \Oro\Bundle\SecurityBundle\Acl\Voter\AclVoter($c, new \Oro\Bundle\SecurityBundle\Acl\Domain\ObjectIdentityRetrievalStrategy($b), new \Symfony\Component\Security\Acl\Domain\SecurityIdentityRetrievalStrategy(new \Symfony\Component\Security\Core\Role\RoleHierarchy([]), ($container->privates['security.authentication.trust_resolver'] ?? ($container->privates['security.authentication.trust_resolver'] = new \Symfony\Component\Security\Core\Authentication\AuthenticationTrustResolver()))), new \Oro\Bundle\SecurityBundle\Acl\Permission\PermissionMap($d), ($container->privates['monolog.logger.security'] ?? $container->getMonolog_Logger_SecurityService()), true);

        $instance->setAclExtensionSelector($d);

        return $instance;
    }
}
