<?php

include_once\dirname(__DIR__, 4).'/vendor/akeneo/pim-community-dev/src/Akeneo/UserManagement/Bundle/EventListener/UserPreferencesListener.php';
class UserPreferencesListener_f335a33 extends \Akeneo\UserManagement\Bundle\EventListener\UserPreferencesListener implements \ProxyManager\Proxy\VirtualProxyInterface
{
    private $valueHolder6881e = null;
    private $initializer4fa4d = null;
    private static $publicProperties728a2 = [
        
    ];
    public function onFlush(\Doctrine\ORM\Event\OnFlushEventArgs $args)
    {
        $this->initializer4fa4d && ($this->initializer4fa4d->__invoke($valueHolder6881e, $this, 'onFlush', array('args' => $args), $this->initializer4fa4d) || 1) && $this->valueHolder6881e = $valueHolder6881e;
        return $this->valueHolder6881e->onFlush($args);
    }
    public function postFlush(\Doctrine\ORM\Event\PostFlushEventArgs $args)
    {
        $this->initializer4fa4d && ($this->initializer4fa4d->__invoke($valueHolder6881e, $this, 'postFlush', array('args' => $args), $this->initializer4fa4d) || 1) && $this->valueHolder6881e = $valueHolder6881e;
        return $this->valueHolder6881e->postFlush($args);
    }
    public static function staticProxyConstructor($initializer)
    {
        static $reflection;
        $reflection = $reflection ?? new \ReflectionClass(__CLASS__);
        $instance = $reflection->newInstanceWithoutConstructor();
        unset($instance->metadata, $instance->deactivatedLocales);
        \Closure::bind(function (\Akeneo\UserManagement\Bundle\EventListener\UserPreferencesListener $instance) {
            unset($instance->categoryRepository, $instance->channelRepository, $instance->localeRepository, $instance->userRepository);
        }, $instance, 'Akeneo\\UserManagement\\Bundle\\EventListener\\UserPreferencesListener')->__invoke($instance);
        $instance->initializer4fa4d = $initializer;
        return $instance;
    }
    public function __construct(\Akeneo\Tool\Component\Classification\Repository\CategoryRepositoryInterface $categoryRepository, \Akeneo\Channel\Component\Repository\ChannelRepositoryInterface $channelRepository, \Akeneo\Channel\Component\Repository\LocaleRepositoryInterface $localeRepository, \Akeneo\UserManagement\Component\Repository\UserRepositoryInterface $userRepository)
    {
        static $reflection;
        if (! $this->valueHolder6881e) {
            $reflection = $reflection ?? new \ReflectionClass('Akeneo\\UserManagement\\Bundle\\EventListener\\UserPreferencesListener');
            $this->valueHolder6881e = $reflection->newInstanceWithoutConstructor();
        unset($this->metadata, $this->deactivatedLocales);
        \Closure::bind(function (\Akeneo\UserManagement\Bundle\EventListener\UserPreferencesListener $instance) {
            unset($instance->categoryRepository, $instance->channelRepository, $instance->localeRepository, $instance->userRepository);
        }, $this, 'Akeneo\\UserManagement\\Bundle\\EventListener\\UserPreferencesListener')->__invoke($this);
        }
        $this->valueHolder6881e->__construct($categoryRepository, $channelRepository, $localeRepository, $userRepository);
    }
    public function & __get($name)
    {
        $this->initializer4fa4d && ($this->initializer4fa4d->__invoke($valueHolder6881e, $this, '__get', ['name' => $name], $this->initializer4fa4d) || 1) && $this->valueHolder6881e = $valueHolder6881e;
        if (isset(self::$publicProperties728a2[$name])) {
            return $this->valueHolder6881e->$name;
        }
        $realInstanceReflection = new \ReflectionClass(get_parent_class($this));
        if (! $realInstanceReflection->hasProperty($name)) {
            $targetObject = $this->valueHolder6881e;
            $backtrace = debug_backtrace(false);
            trigger_error(
                sprintf(
                    'Undefined property: %s::$%s in %s on line %s',
                    get_parent_class($this),
                    $name,
                    $backtrace[0]['file'],
                    $backtrace[0]['line']
                ),
                \E_USER_NOTICE
            );
            return $targetObject->$name;
            return;
        }
        $targetObject = $this->valueHolder6881e;
        $accessor = function & () use ($targetObject, $name) {
            return $targetObject->$name;
        };
        $backtrace = debug_backtrace(true);
        $scopeObject = isset($backtrace[1]['object']) ? $backtrace[1]['object'] : new \ProxyManager\Stub\EmptyClassStub();
        $accessor = $accessor->bindTo($scopeObject, get_class($scopeObject));
        $returnValue = & $accessor();
        return $returnValue;
    }
    public function __set($name, $value)
    {
        $this->initializer4fa4d && ($this->initializer4fa4d->__invoke($valueHolder6881e, $this, '__set', array('name' => $name, 'value' => $value), $this->initializer4fa4d) || 1) && $this->valueHolder6881e = $valueHolder6881e;
        $realInstanceReflection = new \ReflectionClass(get_parent_class($this));
        if (! $realInstanceReflection->hasProperty($name)) {
            $targetObject = $this->valueHolder6881e;
            return $targetObject->$name = $value;
            return;
        }
        $targetObject = $this->valueHolder6881e;
        $accessor = function & () use ($targetObject, $name, $value) {
            return $targetObject->$name = $value;
        };
        $backtrace = debug_backtrace(true);
        $scopeObject = isset($backtrace[1]['object']) ? $backtrace[1]['object'] : new \ProxyManager\Stub\EmptyClassStub();
        $accessor = $accessor->bindTo($scopeObject, get_class($scopeObject));
        $returnValue = & $accessor();
        return $returnValue;
    }
    public function __isset($name)
    {
        $this->initializer4fa4d && ($this->initializer4fa4d->__invoke($valueHolder6881e, $this, '__isset', array('name' => $name), $this->initializer4fa4d) || 1) && $this->valueHolder6881e = $valueHolder6881e;
        $realInstanceReflection = new \ReflectionClass(get_parent_class($this));
        if (! $realInstanceReflection->hasProperty($name)) {
            $targetObject = $this->valueHolder6881e;
            return isset($targetObject->$name);
            return;
        }
        $targetObject = $this->valueHolder6881e;
        $accessor = function () use ($targetObject, $name) {
            return isset($targetObject->$name);
        };
        $backtrace = debug_backtrace(true);
        $scopeObject = isset($backtrace[1]['object']) ? $backtrace[1]['object'] : new \ProxyManager\Stub\EmptyClassStub();
        $accessor = $accessor->bindTo($scopeObject, get_class($scopeObject));
        $returnValue = $accessor();
        return $returnValue;
    }
    public function __unset($name)
    {
        $this->initializer4fa4d && ($this->initializer4fa4d->__invoke($valueHolder6881e, $this, '__unset', array('name' => $name), $this->initializer4fa4d) || 1) && $this->valueHolder6881e = $valueHolder6881e;
        $realInstanceReflection = new \ReflectionClass(get_parent_class($this));
        if (! $realInstanceReflection->hasProperty($name)) {
            $targetObject = $this->valueHolder6881e;
            unset($targetObject->$name);
            return;
        }
        $targetObject = $this->valueHolder6881e;
        $accessor = function () use ($targetObject, $name) {
            unset($targetObject->$name);
        };
        $backtrace = debug_backtrace(true);
        $scopeObject = isset($backtrace[1]['object']) ? $backtrace[1]['object'] : new \ProxyManager\Stub\EmptyClassStub();
        $accessor = $accessor->bindTo($scopeObject, get_class($scopeObject));
        $returnValue = $accessor();
        return $returnValue;
    }
    public function __clone()
    {
        $this->initializer4fa4d && ($this->initializer4fa4d->__invoke($valueHolder6881e, $this, '__clone', array(), $this->initializer4fa4d) || 1) && $this->valueHolder6881e = $valueHolder6881e;
        $this->valueHolder6881e = clone $this->valueHolder6881e;
    }
    public function __sleep()
    {
        $this->initializer4fa4d && ($this->initializer4fa4d->__invoke($valueHolder6881e, $this, '__sleep', array(), $this->initializer4fa4d) || 1) && $this->valueHolder6881e = $valueHolder6881e;
        return array('valueHolder6881e');
    }
    public function __wakeup()
    {
        unset($this->metadata, $this->deactivatedLocales);
        \Closure::bind(function (\Akeneo\UserManagement\Bundle\EventListener\UserPreferencesListener $instance) {
            unset($instance->categoryRepository, $instance->channelRepository, $instance->localeRepository, $instance->userRepository);
        }, $this, 'Akeneo\\UserManagement\\Bundle\\EventListener\\UserPreferencesListener')->__invoke($this);
    }
    public function setProxyInitializer(\Closure $initializer = null)
    {
        $this->initializer4fa4d = $initializer;
    }
    public function getProxyInitializer()
    {
        return $this->initializer4fa4d;
    }
    public function initializeProxy() : bool
    {
        return $this->initializer4fa4d && ($this->initializer4fa4d->__invoke($valueHolder6881e, $this, 'initializeProxy', array(), $this->initializer4fa4d) || 1) && $this->valueHolder6881e = $valueHolder6881e;
    }
    public function isProxyInitialized() : bool
    {
        return null !== $this->valueHolder6881e;
    }
    public function getWrappedValueHolderValue() : ?object
    {
        return $this->valueHolder6881e;
    }
}
