<?php

namespace ContainerBnDMNJc;

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 getSulu_Content_Type_Block_GlobalBlockVisitorService extends App_KernelProdContainer
{
    /*
     * Gets the private 'sulu.content.type.block.global_block_visitor' shared service.
     *
     * @return \Sulu\Component\Content\Types\Metadata\GlobalBlocksTypedFormMetadataVisitor
     */
    public static function do($container, $lazyLoad = true)
    {
        $a = ($container->privates['sulu_admin.form_metadata_provider'] ?? $container->load('getSuluAdmin_FormMetadataProviderService'));

        if (isset($container->privates['sulu.content.type.block.global_block_visitor'])) {
            return $container->privates['sulu.content.type.block.global_block_visitor'];
        }
        $b = new \Sulu\Bundle\AdminBundle\Metadata\MetadataProviderRegistry();
        $b->addMetadataProvider('form', $a);
        $b->addMetadataProvider('list', new \Sulu\Bundle\AdminBundle\Metadata\ListMetadata\ListMetadataProvider(new RewindableGenerator(function () use ($container) {
            yield 0 => ($container->privates['sulu_admin.xml_list_metadata_loader'] ?? $container->load('getSuluAdmin_XmlListMetadataLoaderService'));
            yield 1 => ($container->privates['sulu_form.metadata.dynamic_list_metadata_loader'] ?? $container->load('getSuluForm_Metadata_DynamicListMetadataLoaderService'));
        }, 2), new RewindableGenerator(function () use ($container) {
            yield 0 => ($container->privates['sulu_activity.activities_list_metadata_visitor'] ??= new \Sulu\Bundle\ActivityBundle\Infrastructure\Sulu\Metadata\ActivitiesListMetadataVisitor());
            yield 1 => ($container->privates['sulu_admin.expression_list_metadata_visitor'] ?? $container->load('getSuluAdmin_ExpressionListMetadataVisitorService'));
        }, 2)));

        return $container->privates['sulu.content.type.block.global_block_visitor'] = new \Sulu\Component\Content\Types\Metadata\GlobalBlocksTypedFormMetadataVisitor($b);
    }
}
