<?xml version="1.0" encoding="UTF-8"?>
<container xmlns="http://symfony.com/schema/dic/services" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd">
    <services>
        <service id="sonata.admin.pool" class="Sonata\AdminBundle\Admin\Pool" public="true">
            <argument type="service" id="service_container"/>
            <argument/>
            <argument/>
            <argument type="collection"/>
            <argument type="service" id="property_accessor"/>
            <call method="setTemplateRegistry">
                <argument type="service" id="sonata.admin.global_template_registry"/>
            </call>
        </service>
        <service id="Sonata\AdminBundle\Admin\Pool" alias="sonata.admin.pool"/>
        <service id="sonata.admin.route_loader" class="Sonata\AdminBundle\Route\AdminPoolLoader" public="true">
            <argument type="service" id="sonata.admin.pool"/>
            <argument/>
            <argument type="service" id="service_container"/>
            <tag name="routing.loader"/>
        </service>
        <service id="Sonata\AdminBundle\Route\AdminPoolLoader" alias="sonata.admin.route_loader"/>
        <service id="sonata.admin.helper" class="Sonata\AdminBundle\Admin\AdminHelper" public="true">
            <argument type="service" id="sonata.admin.pool"/>
        </service>
        <service id="Sonata\AdminBundle\Admin\AdminHelper" alias="sonata.admin.helper"/>
        <service id="sonata.admin.builder.filter.factory" class="Sonata\AdminBundle\Filter\FilterFactory" public="true">
            <argument type="service" id="service_container"/>
            <argument/>
        </service>
        <service id="Sonata\AdminBundle\Filter\FilterFactory" alias="sonata.admin.builder.filter.factory"/>
        <service id="Sonata\AdminBundle\Filter\FilterFactoryInterface" alias="sonata.admin.builder.filter.factory"/>
        <service id="sonata.admin.breadcrumbs_builder" class="Sonata\AdminBundle\Admin\BreadcrumbsBuilder" public="true">
            <argument>%sonata.admin.configuration.breadcrumbs%</argument>
        </service>
        <service id="Sonata\AdminBundle\Admin\BreadcrumbsBuilder" alias="sonata.admin.breadcrumbs_builder"/>
        <service id="Sonata\AdminBundle\Admin\BreadcrumbsBuilderInterface" alias="sonata.admin.breadcrumbs_builder"/>
        <!-- Services used to format the label, default is sonata.admin.label.strategy.noop -->
        <service id="sonata.admin.label.strategy.bc" class="Sonata\AdminBundle\Translator\BCLabelTranslatorStrategy" public="true"/>
        <service id="Sonata\AdminBundle\Translator\BCLabelTranslatorStrategy" alias="sonata.admin.label.strategy.bc"/>
        <service id="sonata.admin.label.strategy.native" class="Sonata\AdminBundle\Translator\NativeLabelTranslatorStrategy" public="true"/>
        <service id="Sonata\AdminBundle\Translator\NativeLabelTranslatorStrategy" alias="sonata.admin.label.strategy.native"/>
        <service id="Sonata\AdminBundle\Translator\LabelTranslatorStrategyInterface" alias="sonata.admin.label.strategy.native"/>
        <service id="sonata.admin.label.strategy.noop" class="Sonata\AdminBundle\Translator\NoopLabelTranslatorStrategy" public="true"/>
        <service id="Sonata\AdminBundle\Translator\NoopLabelTranslatorStrategy" alias="sonata.admin.label.strategy.noop"/>
        <service id="sonata.admin.label.strategy.underscore" class="Sonata\AdminBundle\Translator\UnderscoreLabelTranslatorStrategy" public="true"/>
        <service id="Sonata\AdminBundle\Translator\UnderscoreLabelTranslatorStrategy" alias="sonata.admin.label.strategy.underscore"/>
        <service id="sonata.admin.label.strategy.form_component" class="Sonata\AdminBundle\Translator\FormLabelTranslatorStrategy" public="true"/>
        <service id="Sonata\AdminBundle\Translator\FormLabelTranslatorStrategy" alias="sonata.admin.label.strategy.form_component"/>
        <!-- Translation extractor -->
        <service id="sonata.admin.translator.extractor.jms_translator_bundle" class="Sonata\AdminBundle\Translator\Extractor\JMSTranslatorBundle\AdminExtractor" public="true">
            <tag name="jms_translation.extractor" alias="sonata_admin"/>
            <argument type="service" id="sonata.admin.pool"/>
            <argument type="service" id="logger" on-invalid="ignore"/>
            <call method="setBreadcrumbsBuilder">
                <argument type="service" id="sonata.admin.breadcrumbs_builder"/>
            </call>
        </service>
        <!-- controller as services -->
        <service id="sonata.admin.controller.admin" class="Sonata\AdminBundle\Controller\HelperController" public="true">
            <deprecated>The controller service "%service_id%" is deprecated in favor of several action services since version 3.38.0 and will be removed in 4.0.</deprecated>
            <argument type="service" id="twig"/>
            <argument type="service" id="sonata.admin.pool"/>
            <argument type="service" id="sonata.admin.helper"/>
            <argument type="service" id="validator"/>
        </service>
        <!-- audit manager -->
        <service id="sonata.admin.audit.manager" class="Sonata\AdminBundle\Model\AuditManager" public="true">
            <argument type="service" id="service_container"/>
        </service>
        <service id="Sonata\AdminBundle\Model\AuditManager" alias="sonata.admin.audit.manager"/>
        <service id="Sonata\AdminBundle\Model\AuditManagerInterface" alias="sonata.admin.audit.manager"/>
        <!-- NEXT_MAJOR : remove this service -->
        <service id="sonata.admin.exporter" class="Sonata\AdminBundle\Export\Exporter" public="true">
            <deprecated>The service "%service_id%" is deprecated in favor of the "sonata.exporter.exporter" service since version 3.14 and will be removed in 4.0.</deprecated>
        </service>
        <service id="sonata.admin.search.handler" class="Sonata\AdminBundle\Search\SearchHandler" public="true">
            <argument type="service" id="sonata.admin.pool"/>
            <argument>%sonata.admin.configuration.global_search.case_sensitive%</argument>
        </service>
        <service id="Sonata\AdminBundle\Search\SearchHandler" alias="sonata.admin.search.handler"/>
        <!-- event -->
        <service id="sonata.admin.event.extension" class="Sonata\AdminBundle\Event\AdminEventExtension" public="true">
            <argument type="service" id="event_dispatcher"/>
            <tag name="sonata.admin.extension" global="true"/>
        </service>
        <service id="Sonata\AdminBundle\Event\AdminEventExtension" alias="sonata.admin.event.extension"/>
        <!-- lock -->
        <service id="sonata.admin.lock.extension" class="Sonata\AdminBundle\Admin\Extension\LockExtension" public="true">
            <tag name="sonata.admin.extension" global="true"/>
        </service>
        <!-- twig -->
        <service id="sonata.admin.twig.global" class="Sonata\AdminBundle\Twig\GlobalVariables" public="true">
            <argument type="service" id="sonata.admin.pool"/>
            <argument>%sonata.admin.configuration.mosaic_background%</argument>
        </service>
        <service id="Sonata\AdminBundle\Twig\GlobalVariables" alias="sonata.admin.twig.global"/>
        <!-- filter persister -->
        <service id="sonata.admin.filter_persister.session" class="Sonata\AdminBundle\Filter\Persister\SessionFilterPersister">
            <argument type="service" id="session"/>
        </service>
        <service id="Sonata\AdminBundle\Filter\Persister\SessionFilterPersister" alias="sonata.admin.filter_persister.session"/>
        <service id="Sonata\AdminBundle\Filter\Persister\FilterPersisterInterface" alias="sonata.admin.filter_persister.session"/>
        <!-- templating -->
        <service id="sonata.admin.global_template_registry" class="Sonata\AdminBundle\Templating\TemplateRegistry" public="true">
            <argument>%sonata.admin.configuration.templates%</argument>
        </service>
        <service id="Sonata\AdminBundle\Templating\TemplateRegistry" alias="sonata.admin.global_template_registry"/>
        <service id="Sonata\AdminBundle\Templating\MutableTemplateRegistryInterface" alias="sonata.admin.global_template_registry"/>
    </services>
</container>
