<?php
@set_time_limit(1200);
@ini_set('memory_limit','1536M');

defined('CHAIRMAN_ROOT') || define('CHAIRMAN_ROOT', dirname(__DIR__));

$config = require CHAIRMAN_ROOT . '/config/chairman_config.php';

require_once CHAIRMAN_ROOT . '/bootstrap/chairman_helpers.php';

require_once CHAIRMAN_ROOT . '/interfaces/RankingInterface.php';
require_once CHAIRMAN_ROOT . '/interfaces/DecisionInterface.php';
require_once CHAIRMAN_ROOT . '/interfaces/CacheInterface.php';

require_once CHAIRMAN_ROOT . '/events/ChairmanEventDispatcher.php';

require_once CHAIRMAN_ROOT . '/repositories/RaceRepository.php';
require_once CHAIRMAN_ROOT . '/repositories/OptimizerRepository.php';
require_once CHAIRMAN_ROOT . '/repositories/ProductionRepository.php';

require_once CHAIRMAN_ROOT . '/engines/RankingEngine.php';
require_once CHAIRMAN_ROOT . '/engines/DecisionEngine.php';
require_once CHAIRMAN_ROOT . '/engines/CacheEngine.php';
require_once CHAIRMAN_ROOT . '/engines/ProductionEngine.php';


require_once CHAIRMAN_ROOT . '/services/ChairmanHealthService.php';
require_once CHAIRMAN_ROOT . '/services/ChairmanRaceService.php';
require_once CHAIRMAN_ROOT . '/services/ChairmanCacheService.php';
require_once CHAIRMAN_ROOT . '/services/ChairmanBridgeService.php';
require_once CHAIRMAN_ROOT . '/services/ChairmanContainer.php';

require_once CHAIRMAN_ROOT . '/bootstrap/chairman_core.php';
require_once CHAIRMAN_ROOT . '/bootstrap/chairman_factory.php';

$Chairman = ChairmanFactory::make($conn, $config);
