!C99Shell v. 2.5 [PHP 8 Update] [24.05.2025]!

Software: Apache. PHP/8.1.30 

uname -a: Linux server1.tuhinhossain.com 5.15.0-151-generic #161-Ubuntu SMP Tue Jul 22 14:25:40 UTC
2025 x86_64
 

uid=1002(picotech) gid=1003(picotech) groups=1003(picotech),0(root)  

Safe-mode: OFF (not secure)

/home/picotech/domains/multirest.picotech.app/public_html/vendor/bacon/bacon-qr-code/src/Common/   drwxr-xr-x
Free 28.21 GB of 117.98 GB (23.91%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Self remove    Logout    


Viewing file:     Version.php (21.36 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php
declare(strict_types 1);

namespace 
BaconQrCode\Common;

use 
BaconQrCode\Exception\InvalidArgumentException;
use 
SplFixedArray;

/**
 * Version representation.
 */
final class Version
{
    private const 
VERSION_DECODE_INFO = [
        
0x07c94,
        
0x085bc,
        
0x09a99,
        
0x0a4d3,
        
0x0bbf6,
        
0x0c762,
        
0x0d847,
        
0x0e60d,
        
0x0f928,
        
0x10b78,
        
0x1145d,
        
0x12a17,
        
0x13532,
        
0x149a6,
        
0x15683,
        
0x168c9,
        
0x177ec,
        
0x18ec4,
        
0x191e1,
        
0x1afab,
        
0x1b08e,
        
0x1cc1a,
        
0x1d33f,
        
0x1ed75,
        
0x1f250,
        
0x209d5,
        
0x216f0,
        
0x228ba,
        
0x2379f,
        
0x24b0b,
        
0x2542e,
        
0x26a64,
        
0x27541,
        
0x28c69,
    ];

    
/**
     * Version number of this version.
     *
     * @var int
     */
    
private $versionNumber;

    
/**
     * Alignment pattern centers.
     *
     * @var SplFixedArray
     */
    
private $alignmentPatternCenters;

    
/**
     * Error correction blocks.
     *
     * @var EcBlocks[]
     */
    
private $ecBlocks;

    
/**
     * Total number of codewords.
     *
     * @var int
     */
    
private $totalCodewords;

    
/**
     * Cached version instances.
     *
     * @var array<int, self>|null
     */
    
private static $versions;

    
/**
     * @param int[] $alignmentPatternCenters
     */
    
private function __construct(
        
int $versionNumber,
        array 
$alignmentPatternCenters,
        
EcBlocks ...$ecBlocks
    
) {
        
$this->versionNumber $versionNumber;
        
$this->alignmentPatternCenters $alignmentPatternCenters;
        
$this->ecBlocks $ecBlocks;

        
$totalCodewords 0;
        
$ecCodewords $ecBlocks[0]->getEcCodewordsPerBlock();

        foreach (
$ecBlocks[0]->getEcBlocks() as $ecBlock) {
            
$totalCodewords += $ecBlock->getCount() * ($ecBlock->getDataCodewords() + $ecCodewords);
        }

        
$this->totalCodewords $totalCodewords;
    }

    
/**
     * Returns the version number.
     */
    
public function getVersionNumber() : int
    
{
        return 
$this->versionNumber;
    }

    
/**
     * Returns the alignment pattern centers.
     *
     * @return int[]
     */
    
public function getAlignmentPatternCenters() : array
    {
        return 
$this->alignmentPatternCenters;
    }

    
/**
     * Returns the total number of codewords.
     */
    
public function getTotalCodewords() : int
    
{
        return 
$this->totalCodewords;
    }

    
/**
     * Calculates the dimension for the current version.
     */
    
public function getDimensionForVersion() : int
    
{
        return 
17 $this->versionNumber;
    }

    
/**
     * Returns the number of EC blocks for a specific EC level.
     */
    
public function getEcBlocksForLevel(ErrorCorrectionLevel $ecLevel) : EcBlocks
    
{
        return 
$this->ecBlocks[$ecLevel->ordinal()];
    }

    
/**
     * Gets a provisional version number for a specific dimension.
     *
     * @throws InvalidArgumentException if dimension is not 1 mod 4
     */
    
public static function getProvisionalVersionForDimension(int $dimension) : self
    
{
        if (
!== $dimension 4) {
            throw new 
InvalidArgumentException('Dimension is not 1 mod 4');
        }

        return 
self::getVersionForNumber(intdiv($dimension 174));
    }

    
/**
     * Gets a version instance for a specific version number.
     *
     * @throws InvalidArgumentException if version number is out of range
     */
    
public static function getVersionForNumber(int $versionNumber) : self
    
{
        if (
$versionNumber || $versionNumber 40) {
            throw new 
InvalidArgumentException('Version number must be between 1 and 40');
        }

        return 
self::versions()[$versionNumber 1];
    }

    
/**
     * Decodes version information from an integer and returns the version.
     */
    
public static function decodeVersionInformation(int $versionBits) : ?self
    
{
        
$bestDifference PHP_INT_MAX;
        
$bestVersion 0;

        foreach (
self::VERSION_DECODE_INFO as $i => $targetVersion) {
            if (
$targetVersion === $versionBits) {
                return 
self::getVersionForNumber($i 7);
            }

            
$bitsDifference FormatInformation::numBitsDiffering($versionBits$targetVersion);

            if (
$bitsDifference $bestDifference) {
                
$bestVersion $i 7;
                
$bestDifference $bitsDifference;
            }
        }

        if (
$bestDifference <= 3) {
            return 
self::getVersionForNumber($bestVersion);
        }

        return 
null;
    }

    
/**
     * Builds the function pattern for the current version.
     */
    
public function buildFunctionPattern() : BitMatrix
    
{
        
$dimension $this->getDimensionForVersion();
        
$bitMatrix = new BitMatrix($dimension);

        
// Top left finder pattern + separator + format
        
$bitMatrix->setRegion(0099);
        
// Top right finder pattern + separator + format
        
$bitMatrix->setRegion($dimension 8089);
        
// Bottom left finder pattern + separator + format
        
$bitMatrix->setRegion(0$dimension 898);

        
// Alignment patterns
        
$max count($this->alignmentPatternCenters);

        for (
$x 0$x $max; ++$x) {
            
$i $this->alignmentPatternCenters[$x] - 2;

            for (
$y 0$y $max; ++$y) {
                if ((
$x === && ($y === || $y === $max 1)) || ($x === $max && $y === 0)) {
                    
// No alignment patterns near the three finder paterns
                    
continue;
                }

                
$bitMatrix->setRegion($this->alignmentPatternCenters[$y] - 2$i55);
            }
        }

        
// Vertical timing pattern
        
$bitMatrix->setRegion(691$dimension 17);
        
// Horizontal timing pattern
        
$bitMatrix->setRegion(96$dimension 171);

        if (
$this->versionNumber 6) {
            
// Version info, top right
            
$bitMatrix->setRegion($dimension 11036);
            
// Version info, bottom left
            
$bitMatrix->setRegion(0$dimension 1163);
        }

        return 
$bitMatrix;
    }

    
/**
     * Returns a string representation for the version.
     */
    
public function __toString() : string
    
{
        return (string) 
$this->versionNumber;
    }

    
/**
     * Build and cache a specific version.
     *
     * See ISO 18004:2006 6.5.1 Table 9.
     *
     * @return array<int, self>
     */
    
private static function versions() : array
    {
        if (
null !== self::$versions) {
            return 
self::$versions;
        }

        return 
self::$versions = [
            new 
self(
                
1,
                [],
                new 
EcBlocks(7, new EcBlock(119)),
                new 
EcBlocks(10, new EcBlock(116)),
                new 
EcBlocks(13, new EcBlock(113)),
                new 
EcBlocks(17, new EcBlock(19))
            ),
            new 
self(
                
2,
                [
618],
                new 
EcBlocks(10, new EcBlock(134)),
                new 
EcBlocks(16, new EcBlock(128)),
                new 
EcBlocks(22, new EcBlock(122)),
                new 
EcBlocks(28, new EcBlock(116))
            ),
            new 
self(
                
3,
                [
622],
                new 
EcBlocks(15, new EcBlock(155)),
                new 
EcBlocks(26, new EcBlock(144)),
                new 
EcBlocks(18, new EcBlock(217)),
                new 
EcBlocks(22, new EcBlock(213))
            ),
            new 
self(
                
4,
                [
626],
                new 
EcBlocks(20, new EcBlock(180)),
                new 
EcBlocks(18, new EcBlock(232)),
                new 
EcBlocks(26, new EcBlock(324)),
                new 
EcBlocks(16, new EcBlock(49))
            ),
            new 
self(
                
5,
                [
630],
                new 
EcBlocks(26, new EcBlock(1108)),
                new 
EcBlocks(24, new EcBlock(243)),
                new 
EcBlocks(18, new EcBlock(215), new EcBlock(216)),
                new 
EcBlocks(22, new EcBlock(211), new EcBlock(212))
            ),
            new 
self(
                
6,
                [
634],
                new 
EcBlocks(18, new EcBlock(268)),
                new 
EcBlocks(16, new EcBlock(427)),
                new 
EcBlocks(24, new EcBlock(419)),
                new 
EcBlocks(28, new EcBlock(415))
            ),
            new 
self(
                
7,
                [
62238],
                new 
EcBlocks(20, new EcBlock(278)),
                new 
EcBlocks(18, new EcBlock(431)),
                new 
EcBlocks(18, new EcBlock(214), new EcBlock(415)),
                new 
EcBlocks(26, new EcBlock(413), new EcBlock(114))
            ),
            new 
self(
                
8,
                [
62442],
                new 
EcBlocks(24, new EcBlock(297)),
                new 
EcBlocks(22, new EcBlock(238), new EcBlock(239)),
                new 
EcBlocks(22, new EcBlock(418), new EcBlock(219)),
                new 
EcBlocks(26, new EcBlock(414), new EcBlock(215))
            ),
            new 
self(
                
9,
                [
62646],
                new 
EcBlocks(30, new EcBlock(2116)),
                new 
EcBlocks(22, new EcBlock(336), new EcBlock(237)),
                new 
EcBlocks(20, new EcBlock(416), new EcBlock(417)),
                new 
EcBlocks(24, new EcBlock(412), new EcBlock(413))
            ),
            new 
self(
                
10,
                [
62850],
                new 
EcBlocks(18, new EcBlock(268), new EcBlock(269)),
                new 
EcBlocks(26, new EcBlock(443), new EcBlock(144)),
                new 
EcBlocks(24, new EcBlock(619), new EcBlock(220)),
                new 
EcBlocks(28, new EcBlock(615), new EcBlock(216))
            ),
            new 
self(
                
11,
                [
63054],
                new 
EcBlocks(20, new EcBlock(481)),
                new 
EcBlocks(30, new EcBlock(150), new EcBlock(451)),
                new 
EcBlocks(28, new EcBlock(422), new EcBlock(423)),
                new 
EcBlocks(24, new EcBlock(312), new EcBlock(813))
            ),
            new 
self(
                
12,
                [
63258],
                new 
EcBlocks(24, new EcBlock(292), new EcBlock(293)),
                new 
EcBlocks(22, new EcBlock(636), new EcBlock(237)),
                new 
EcBlocks(26, new EcBlock(420), new EcBlock(621)),
                new 
EcBlocks(28, new EcBlock(714), new EcBlock(415))
            ),
            new 
self(
                
13,
                [
63462],
                new 
EcBlocks(26, new EcBlock(4107)),
                new 
EcBlocks(22, new EcBlock(837), new EcBlock(138)),
                new 
EcBlocks(24, new EcBlock(820), new EcBlock(421)),
                new 
EcBlocks(22, new EcBlock(1211), new EcBlock(412))
            ),
            new 
self(
                
14,
                [
6264666],
                new 
EcBlocks(30, new EcBlock(3115), new EcBlock(1116)),
                new 
EcBlocks(24, new EcBlock(440), new EcBlock(541)),
                new 
EcBlocks(20, new EcBlock(1116), new EcBlock(517)),
                new 
EcBlocks(24, new EcBlock(1112), new EcBlock(513))
            ),
            new 
self(
                
15,
                [
6264870],
                new 
EcBlocks(22, new EcBlock(587), new EcBlock(188)),
                new 
EcBlocks(24, new EcBlock(541), new EcBlock(542)),
                new 
EcBlocks(30, new EcBlock(524), new EcBlock(725)),
                new 
EcBlocks(24, new EcBlock(1112), new EcBlock(713))
            ),
            new 
self(
                
16,
                [
6265074],
                new 
EcBlocks(24, new EcBlock(598), new EcBlock(199)),
                new 
EcBlocks(28, new EcBlock(745), new EcBlock(346)),
                new 
EcBlocks(24, new EcBlock(1519), new EcBlock(220)),
                new 
EcBlocks(30, new EcBlock(315), new EcBlock(1316))
            ),
            new 
self(
                
17,
                [
6305478],
                new 
EcBlocks(28, new EcBlock(1107), new EcBlock(5108)),
                new 
EcBlocks(28, new EcBlock(1046), new EcBlock(147)),
                new 
EcBlocks(28, new EcBlock(122), new EcBlock(1523)),
                new 
EcBlocks(28, new EcBlock(214), new EcBlock(1715))
            ),
            new 
self(
                
18,
                [
6305682],
                new 
EcBlocks(30, new EcBlock(5120), new EcBlock(1121)),
                new 
EcBlocks(26, new EcBlock(943), new EcBlock(444)),
                new 
EcBlocks(28, new EcBlock(1722), new EcBlock(123)),
                new 
EcBlocks(28, new EcBlock(214), new EcBlock(1915))
            ),
            new 
self(
                
19,
                [
6305886],
                new 
EcBlocks(28, new EcBlock(3113), new EcBlock(4114)),
                new 
EcBlocks(26, new EcBlock(344), new EcBlock(1145)),
                new 
EcBlocks(26, new EcBlock(1721), new EcBlock(422)),
                new 
EcBlocks(26, new EcBlock(913), new EcBlock(1614))
            ),
            new 
self(
                
20,
                [
6346290],
                new 
EcBlocks(28, new EcBlock(3107), new EcBlock(5108)),
                new 
EcBlocks(26, new EcBlock(341), new EcBlock(1342)),
                new 
EcBlocks(30, new EcBlock(1524), new EcBlock(525)),
                new 
EcBlocks(28, new EcBlock(1515), new EcBlock(1016))
            ),
            new 
self(
                
21,
                [
628507294],
                new 
EcBlocks(28, new EcBlock(4116), new EcBlock(4117)),
                new 
EcBlocks(26, new EcBlock(1742)),
                new 
EcBlocks(28, new EcBlock(1722), new EcBlock(623)),
                new 
EcBlocks(30, new EcBlock(1916), new EcBlock(617))
            ),
            new 
self(
                
22,
                [
626507498],
                new 
EcBlocks(28, new EcBlock(2111), new EcBlock(7112)),
                new 
EcBlocks(28, new EcBlock(1746)),
                new 
EcBlocks(30, new EcBlock(724), new EcBlock(1625)),
                new 
EcBlocks(24, new EcBlock(3413))
            ),
            new 
self(
                
23,
                [
6305478102],
                new 
EcBlocks(30, new EcBlock(4121), new EcBlock(5122)),
                new 
EcBlocks(28, new EcBlock(447), new EcBlock(1448)),
                new 
EcBlocks(30, new EcBlock(1124), new EcBlock(1425)),
                new 
EcBlocks(30, new EcBlock(1615), new EcBlock(1416))
            ),
            new 
self(
                
24,
                [
6285480106],
                new 
EcBlocks(30, new EcBlock(6117), new EcBlock(4118)),
                new 
EcBlocks(28, new EcBlock(645), new EcBlock(1446)),
                new 
EcBlocks(30, new EcBlock(1124), new EcBlock(1625)),
                new 
EcBlocks(30, new EcBlock(3016), new EcBlock(217))
            ),
            new 
self(
                
25,
                [
6325884110],
                new 
EcBlocks(26, new EcBlock(8106), new EcBlock(4107)),
                new 
EcBlocks(28, new EcBlock(847), new EcBlock(1348)),
                new 
EcBlocks(30, new EcBlock(724), new EcBlock(2225)),
                new 
EcBlocks(30, new EcBlock(2215), new EcBlock(1316))
            ),
            new 
self(
                
26,
                [
6305886114],
                new 
EcBlocks(28, new EcBlock(10114), new EcBlock(2115)),
                new 
EcBlocks(28, new EcBlock(1946), new EcBlock(447)),
                new 
EcBlocks(28, new EcBlock(2822), new EcBlock(623)),
                new 
EcBlocks(30, new EcBlock(3316), new EcBlock(417))
            ),
            new 
self(
                
27,
                [
6346290118],
                new 
EcBlocks(30, new EcBlock(8122), new EcBlock(4123)),
                new 
EcBlocks(28, new EcBlock(2245), new EcBlock(346)),
                new 
EcBlocks(30, new EcBlock(823), new EcBlock(2624)),
                new 
EcBlocks(30, new EcBlock(1215), new EcBlock(2816))
            ),
            new 
self(
                
28,
                [
626507498122],
                new 
EcBlocks(30, new EcBlock(3117), new EcBlock(10118)),
                new 
EcBlocks(28, new EcBlock(345), new EcBlock(2346)),
                new 
EcBlocks(30, new EcBlock(424), new EcBlock(3125)),
                new 
EcBlocks(30, new EcBlock(1115), new EcBlock(3116))
            ),
            new 
self(
                
29,
                [
6305478102126],
                new 
EcBlocks(30, new EcBlock(7116), new EcBlock(7117)),
                new 
EcBlocks(28, new EcBlock(2145), new EcBlock(746)),
                new 
EcBlocks(30, new EcBlock(123), new EcBlock(3724)),
                new 
EcBlocks(30, new EcBlock(1915), new EcBlock(2616))
            ),
            new 
self(
                
30,
                [
6265278104130],
                new 
EcBlocks(30, new EcBlock(5115), new EcBlock(10116)),
                new 
EcBlocks(28, new EcBlock(1947), new EcBlock(1048)),
                new 
EcBlocks(30, new EcBlock(1524), new EcBlock(2525)),
                new 
EcBlocks(30, new EcBlock(2315), new EcBlock(2516))
            ),
            new 
self(
                
31,
                [
6305682108134],
                new 
EcBlocks(30, new EcBlock(13115), new EcBlock(3116)),
                new 
EcBlocks(28, new EcBlock(246), new EcBlock(2947)),
                new 
EcBlocks(30, new EcBlock(4224), new EcBlock(125)),
                new 
EcBlocks(30, new EcBlock(2315), new EcBlock(2816))
            ),
            new 
self(
                
32,
                [
6346086112138],
                new 
EcBlocks(30, new EcBlock(17115)),
                new 
EcBlocks(28, new EcBlock(1046), new EcBlock(2347)),
                new 
EcBlocks(30, new EcBlock(1024), new EcBlock(3525)),
                new 
EcBlocks(30, new EcBlock(1915), new EcBlock(3516))
            ),
            new 
self(
                
33,
                [
6305886114142],
                new 
EcBlocks(30, new EcBlock(17115), new EcBlock(1116)),
                new 
EcBlocks(28, new EcBlock(1446), new EcBlock(2147)),
                new 
EcBlocks(30, new EcBlock(2924), new EcBlock(1925)),
                new 
EcBlocks(30, new EcBlock(1115), new EcBlock(4616))
            ),
            new 
self(
                
34,
                [
6346290118146],
                new 
EcBlocks(30, new EcBlock(13115), new EcBlock(6116)),
                new 
EcBlocks(28, new EcBlock(1446), new EcBlock(2347)),
                new 
EcBlocks(30, new EcBlock(4424), new EcBlock(725)),
                new 
EcBlocks(30, new EcBlock(5916), new EcBlock(117))
            ),
            new 
self(
                
35,
                [
6305478102126150],
                new 
EcBlocks(30, new EcBlock(12121), new EcBlock(7122)),
                new 
EcBlocks(28, new EcBlock(1247), new EcBlock(2648)),
                new 
EcBlocks(30, new EcBlock(3924), new EcBlock(1425)),
                new 
EcBlocks(30, new EcBlock(2215), new EcBlock(4116))
            ),
            new 
self(
                
36,
                [
6245076102128154],
                new 
EcBlocks(30, new EcBlock(6121), new EcBlock(14122)),
                new 
EcBlocks(28, new EcBlock(647), new EcBlock(3448)),
                new 
EcBlocks(30, new EcBlock(4624), new EcBlock(1025)),
                new 
EcBlocks(30, new EcBlock(215), new EcBlock(6416))
            ),
            new 
self(
                
37,
                [
6285480106132158],
                new 
EcBlocks(30, new EcBlock(17122), new EcBlock(4123)),
                new 
EcBlocks(28, new EcBlock(2946), new EcBlock(1447)),
                new 
EcBlocks(30, new EcBlock(4924), new EcBlock(1025)),
                new 
EcBlocks(30, new EcBlock(2415), new EcBlock(4616))
            ),
            new 
self(
                
38,
                [
6325884110136162],
                new 
EcBlocks(30, new EcBlock(4122), new EcBlock(18123)),
                new 
EcBlocks(28, new EcBlock(1346), new EcBlock(3247)),
                new 
EcBlocks(30, new EcBlock(4824), new EcBlock(1425)),
                new 
EcBlocks(30, new EcBlock(4215), new EcBlock(3216))
            ),
            new 
self(
                
39,
                [
6265482110138166],
                new 
EcBlocks(30, new EcBlock(20117), new EcBlock(4118)),
                new 
EcBlocks(28, new EcBlock(4047), new EcBlock(748)),
                new 
EcBlocks(30, new EcBlock(4324), new EcBlock(2225)),
                new 
EcBlocks(30, new EcBlock(1015), new EcBlock(6716))
            ),
            new 
self(
                
40,
                [
6305886114142170],
                new 
EcBlocks(30, new EcBlock(19118), new EcBlock(6119)),
                new 
EcBlocks(28, new EcBlock(1847), new EcBlock(3148)),
                new 
EcBlocks(30, new EcBlock(3424), new EcBlock(3425)),
                new 
EcBlocks(30, new EcBlock(2015), new EcBlock(6116))
            ),
        ];
    }
}

:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ ok ]

:: Make Dir ::
 
[ ok ]
:: Make File ::
 
[ ok ]

:: Go Dir ::
 
:: Go File ::
 

--[ c99shell v. 2.5 [PHP 8 Update] [24.05.2025] | Generation time: 0.0053 ]--