<?xml version="1.0" ?>

<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="Shopware\Core\Content\Cms\CmsPageDefinition">
            <tag name="shopware.entity.definition"/>
        </service>

        <service id="Shopware\Core\Content\Cms\Aggregate\CmsPageTranslation\CmsPageTranslationDefinition">
            <tag name="shopware.entity.definition"/>
        </service>

        <service id="Shopware\Core\Content\Cms\Aggregate\CmsSection\CmsSectionDefinition">
            <tag name="shopware.entity.definition"/>
        </service>

        <service id="Shopware\Core\Content\Cms\Aggregate\CmsBlock\CmsBlockDefinition">
            <tag name="shopware.entity.definition"/>
        </service>

        <service id="Shopware\Core\Content\Cms\Aggregate\CmsSlot\CmsSlotDefinition">
            <tag name="shopware.entity.definition"/>
        </service>

        <service id="Shopware\Core\Content\Cms\Aggregate\CmsSlotTranslation\CmsSlotTranslationDefinition">
            <tag name="shopware.entity.definition"/>
        </service>

        <service id="Shopware\Core\Content\Cms\DataResolver\CmsSlotsDataResolver" public="true">
            <argument type="tagged_iterator" tag="shopware.cms.data_resolver"/>
            <argument type="collection">
                <argument type="service" key="product" id="sales_channel.product.repository" />
            </argument>
            <argument type="service" id="Shopware\Core\Framework\DataAbstractionLayer\DefinitionInstanceRegistry"/>
            <argument type="service" id="Shopware\Core\Framework\Extensions\ExtensionDispatcher"/>
        </service>

        <service id="Shopware\Core\Content\Cms\DataResolver\Element\TextCmsElementResolver">
            <argument type="service" id="Shopware\Core\Framework\Util\HtmlSanitizer"/>
            <tag name="shopware.cms.data_resolver"/>
        </service>

        <service id="Shopware\Core\Content\Cms\DataResolver\Element\HtmlCmsElementResolver">
            <tag name="shopware.cms.data_resolver"/>
        </service>

        <service id="Shopware\Core\Content\Cms\DataResolver\Element\FormCmsElementResolver">
            <tag name="shopware.cms.data_resolver"/>
            <argument type="service" id="Shopware\Core\System\Salutation\SalesChannel\SalutationRoute"/>
        </service>

        <service id="Shopware\Core\Content\Cms\DataAbstractionLayer\FieldSerializer\SlotConfigFieldSerializer">
            <argument type="service" id="validator" />
            <argument type="service" id="Shopware\Core\Framework\DataAbstractionLayer\DefinitionInstanceRegistry" />
            <tag name="shopware.field_serializer"/>
        </service>

        <service id="Shopware\Core\Content\Cms\SalesChannel\SalesChannelCmsPageLoader">
            <argument type="service" id="cms_page.repository"/>
            <argument type="service" id="Shopware\Core\Content\Cms\DataResolver\CmsSlotsDataResolver"/>
            <argument type="service" id="event_dispatcher"/>
            <argument type="service" id="Shopware\Core\Framework\Adapter\Cache\CacheTagCollector"/>
        </service>

        <service id="Shopware\Core\Content\Cms\SalesChannel\CmsRoute" public="true">
            <argument type="service" id="Shopware\Core\Content\Cms\SalesChannel\SalesChannelCmsPageLoader"/>
        </service>

        <service id="Shopware\Core\Content\Cms\Subscriber\CmsPageDefaultChangeSubscriber">
            <argument type="service" id="Doctrine\DBAL\Connection"/>
            <tag name="kernel.event_subscriber"/>
        </service>

        <service id="Shopware\Core\Content\Cms\Subscriber\UnusedMediaSubscriber">
            <argument type="service" id="Doctrine\DBAL\Connection"/>

            <tag name="kernel.event_subscriber"/>
        </service>

        <service id="Shopware\Core\Content\Cms\Subscriber\CmsVersionMergeSubscriber">
            <tag name="kernel.event_subscriber"/>
        </service>
    </services>
</container>
