| 
<?phpuse ParagonIE\Chronicle\Chronicle;
 use ParagonIE\ConstantTime\Binary;
 
 if (!defined('CHRONICLE_APP_ROOT')) {
 define('CHRONICLE_APP_ROOT', __DIR__);
 }
 require_once CHRONICLE_APP_ROOT . '/vendor/autoload.php';
 
 if (!\class_exists(Chronicle::class)) {
 \spl_autoload_register(function ($class) {
 // Project-specific namespace prefix
 $prefix = 'ParagonIE\\Chronicle';
 // Base directory for the namespace prefix
 $base_dir = __DIR__ . DIRECTORY_SEPARATOR . 'src/Chronicle';
 // Does the class use the namespace prefix?
 $len = \strlen($prefix);
 if (\strncmp($prefix, $class, $len) !== 0) {
 // no, move to the next registered autoloader
 return;
 }
 // Get the relative class name
 $relative_class = \substr($class, $len);
 // Replace the namespace prefix with the base directory, replace namespace
 // separators with directory separators in the relative class name, append
 // with .php
 $file = $base_dir.
 \str_replace(
 ['\\', '_'],
 DIRECTORY_SEPARATOR,
 $relative_class
 ).'.php';
 // If the file exists, require it
 if (\file_exists($file)) {
 require $file;
 }
 }, false, true);
 }
 
 if (!function_exists('prompt')) {
 /**
 * @param $text
 * @return mixed
 */
 function prompt(string $text = ''): string
 {
 static $fp = null;
 if ($fp === null) {
 $fp = \fopen('php://stdin', 'r');
 }
 echo $text, ': ';
 return Binary::safeSubstr(\fgets($fp), 0, -1);
 }
 }
 
 |