<?php
/**
 * This class has been auto-generated by PHP-DI.
 */
class CompiledContainer extends DI\CompiledContainer{
    const METHOD_MAPPING = array (
  'Psr\\Http\\Message\\ResponseFactoryInterface' => 'get1',
  'Slim\\Interfaces\\RouteCollectorInterface' => 'get2',
  'Slim\\Interfaces\\RouteResolverInterface' => 'get3',
  'core\\router\\route_loader_interface' => 'get4',
  'core\\router\\response_validator_interface' => 'get5',
  'core\\router\\request_validator_interface' => 'get6',
  'moodle_database' => 'get7',
  'core_string_manager' => 'get8',
  'core\\clock' => 'get9',
  'Psr\\Clock\\ClockInterface' => 'get10',
  'libphonenumber\\PhoneNumberUtil' => 'get11',
  'Slim\\Routing\\RouteCollector' => 'get12',
  'subEntry1' => 'get13',
  'subEntry2' => 'get14',
  'core\\router\\route_resolver' => 'get15',
  'subEntry3' => 'get16',
  'core\\router\\route_loader' => 'get17',
  'core\\router\\response_validator' => 'get18',
  'core\\router\\request_validator' => 'get19',
);

    protected function get1()
    {
        return $this->resolveFactory([
            0 => 'Slim\\Factory\\AppFactory',
            1 => 'determineResponseFactory',
        ], 'Psr\\Http\\Message\\ResponseFactoryInterface');
    }

    protected function get2()
    {
        return $this->delegateContainer->get('Slim\\Routing\\RouteCollector');
    }

    protected function get3()
    {
        return $this->delegateContainer->get('core\\router\\route_resolver');
    }

    protected function get4()
    {
        return $this->delegateContainer->get('core\\router\\route_loader');
    }

    protected function get5()
    {
        return $this->delegateContainer->get('core\\router\\response_validator');
    }

    protected function get6()
    {
        return $this->delegateContainer->get('core\\router\\request_validator');
    }

    protected function get7()
    {
        return $this->resolveFactory(static function(): \moodle_database {
                global $DB;

                return $DB;
            }, 'moodle_database');
    }

    protected function get8()
    {
        return $this->resolveFactory(static fn() => get_string_manager(), 'core_string_manager');
    }

    protected function get9()
    {
        return $this->resolveFactory(static function () {
                global $CFG;

                // Web requests to the Behat site can use a frozen clock if configured.
                if (defined('BEHAT_SITE_RUNNING') && !empty($CFG->behat_frozen_clock)) {
                    require_once($CFG->libdir . '/testing/classes/frozen_clock.php');
                    return new \frozen_clock((int)$CFG->behat_frozen_clock);
                }
                return new \core\system_clock();
            }, 'core\\clock');
    }

    protected function get10()
    {
        return $this->delegateContainer->get('core\\clock');
    }

    protected function get11()
    {
        return $this->resolveFactory(static fn() => \libphonenumber\PhoneNumberUtil::getInstance(), 'libphonenumber\\PhoneNumberUtil');
    }

    protected function get13()
    {
        return $this->delegateContainer->get('Psr\\Http\\Message\\ResponseFactoryInterface');
    }

    protected function get14()
    {
        return $this->delegateContainer->get('Slim\\Interfaces\\CallableResolverInterface');
    }

    protected function get12()
    {
        $object = new Slim\Routing\RouteCollector($this->get13(), $this->get14(), NULL, NULL, NULL, NULL);
        return $object;
    }

    protected function get16()
    {
        return $this->delegateContainer->get('Slim\\Interfaces\\RouteCollectorInterface');
    }

    protected function get15()
    {
        $object = new core\router\route_resolver($this->get16(), NULL);
        return $object;
    }

    protected function get17()
    {
        $object = new core\router\route_loader();
        return $object;
    }

    protected function get18()
    {
        $object = new core\router\response_validator();
        return $object;
    }

    protected function get19()
    {
        $object = new core\router\request_validator();
        return $object;
    }

}
