<?php

namespace ContainerOQlxh73;

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 getAkeneo_Pim_Enrichment_Completeness_Query_GetProductMasksService extends KernelProdContainer
{
    /*
     * Gets the private 'akeneo.pim.enrichment.completeness.query.get_product_masks' shared service.
     *
     * @return \Akeneo\Pim\Enrichment\Bundle\Storage\Sql\Completeness\SqlGetCompletenessProductMasks
     */
    public static function do($container, $lazyLoad = true)
    {
        include_once \dirname(__DIR__, 4).'/vendor/akeneo/pim-community-dev/src/Akeneo/Pim/Enrichment/Component/Product/Completeness/Query/GetCompletenessProductMasks.php';
        include_once \dirname(__DIR__, 4).'/vendor/akeneo/pim-community-dev/src/Akeneo/Pim/Enrichment/Bundle/Storage/Sql/Completeness/SqlGetCompletenessProductMasks.php';
        include_once \dirname(__DIR__, 4).'/vendor/akeneo/pim-community-dev/src/Akeneo/Pim/Enrichment/Component/Product/Completeness/MaskItemGenerator/MaskItemGenerator.php';

        $a = ($container->services['doctrine.dbal.default_connection'] ?? $container->getDoctrine_Dbal_DefaultConnectionService());

        if (isset($container->privates['akeneo.pim.enrichment.completeness.query.get_product_masks'])) {
            return $container->privates['akeneo.pim.enrichment.completeness.query.get_product_masks'];
        }
        $b = ($container->privates['akeneo.pim.structure.query.sql_get_attributes'] ?? $container->load('getAkeneo_Pim_Structure_Query_SqlGetAttributesService'));

        if (isset($container->privates['akeneo.pim.enrichment.completeness.query.get_product_masks'])) {
            return $container->privates['akeneo.pim.enrichment.completeness.query.get_product_masks'];
        }

        return $container->privates['akeneo.pim.enrichment.completeness.query.get_product_masks'] = new \Akeneo\Pim\Enrichment\Bundle\Storage\Sql\Completeness\SqlGetCompletenessProductMasks($a, new \Akeneo\Pim\Enrichment\Component\Product\Completeness\MaskItemGenerator\MaskItemGenerator(new RewindableGenerator(function () use ($container) {
            yield 0 => ($container->privates['akeneo.pim.enrichment.completeness.mask_item_generator.default'] ?? ($container->privates['akeneo.pim.enrichment.completeness.mask_item_generator.default'] = new \Akeneo\Pim\Enrichment\Component\Product\Completeness\MaskItemGenerator\DefaultMaskItemGenerator()));
            yield 1 => ($container->privates['akeneo.pim.enrichment.completeness.mask_item_generator.price_collection'] ?? $container->load('getAkeneo_Pim_Enrichment_Completeness_MaskItemGenerator_PriceCollectionService'));
            yield 2 => ($container->privates['akeneo.pim.enrichment.completeness.mask_item_generator.metric'] ?? ($container->privates['akeneo.pim.enrichment.completeness.mask_item_generator.metric'] = new \Akeneo\Pim\Enrichment\Component\Product\Completeness\MaskItemGenerator\MetricMaskItemGenerator()));
        }, 3)), $b, ($container->privates['pim_catalog.normalizer.storage.product.product_values'] ?? $container->load('getPimCatalog_Normalizer_Storage_Product_ProductValuesService')));
    }
}
