�PNG  IHDR22?�� pHYs  �� OiCCPPhotoshop ICC profilexڝSgTS�=���BK���KoR RB���&*! J�!��Q�EEȠ�����Q, � ��!���������{�kּ������>���� �H3Q5� �B�������.@� $p�d!s�#�~<<+"��x� �M��0���B�\���t�8K�@z�B�@F���&S�`�cb�P-`'������{[�!�� e�Dh;��V�EX0fK�9�-0IWfH���� � 0Q��){`�##x��F�W<�+��*x��<�$9E�[-qWW.(�I+6aa�@.�y�2�4���������x����6��_-��"bb���ϫp@�t~��,/��;�m��%�h^ �u��f�@����W�p�~<�5�j>{�-�]c�K'Xt����o��(�h���w��?�G�%�fI�q^D$.Tʳ?�D��*�A��,���� �`6�B$��BB d�r`)��B(�Ͱ*`/�@4�Qh��p.�U�=p�a��(�� A�a!ڈb�X#����!�H�$ ɈQ"K�5H1R�T UH�=r9�\F��;�2����G1���Q=� �C��7�F� �dt1�����r�=�6��Ыhڏ>C�0��3�l0.��B�8, �c˱"� ���V����cϱw�E� 6wB aAHXLXN�H� $4� 7 �Q�'"��K�&���b21�XH,#��/{�C�7$�C2'��I��T��F�nR#�,��4H#���dk�9�, +ȅ����3��!�[ �b@q��S�(R�jJ��4�e�2AU��Rݨ�T5�ZB���R�Q��4u�9̓IK�����hh�i��t�ݕN��W���G���w ��Ljg(�gw��L�Ӌ�T071���oUX*�*|�� �J�&�*/T����ު U�U�T��^S}�FU3S� Ԗ�U��P�SSg�;���g�oT?�~Y��Y�L�OC�Q��_�� c�x,!k ��u�5�&���|v*�����=���9C3J3W�R�f?�q��tN �(���~���)�)�4L�1e\k����X�H�Q�G�6������E�Y��A�J'\'Gg����S�Sݧ �M=:��.�k���Dw�n��^��Lo��y���}/�T�m���G X� $� �<�5qo</���QC]�@C�a�a�ᄑ��<��F�F�i�\�$�m�mƣ&&!&KM�M�RM��)�;L;L���͢�֙5�=1�2��כ߷`ZxZ,����eI��Z�Yn�Z9Y�XUZ]�F���%ֻ�����N�N���gð�ɶ�����ۮ�m�}agbg�Ů��}�}��= ���Z~s�r:V:ޚΜ�?}����/gX���3��)�i�S��Ggg�s�󈋉K��.�>.���Ƚ�Jt�q]�z���������ۯ�6�i�ܟ�4�)�Y3s���C�Q��? ��0k߬~OCO�g��#/c/�W�װ��w��a�>�>r��>�<7�2�Y_�7��ȷ�O�o�_��C#�d�z����%g��A�[��z|!��?:�e����A���AA�������!h�쐭!��Α�i�P~���a�a��~ '���W�?�p�X�1�5w��Cs�D�D�Dޛg1O9�-J5*>�.j<�7�4�?�.fY��X�XIlK9.*�6nl������� �{�/�]py�����.,:�@L�N8��A*��%�w%� y��g"/�6ш�C\*N�H*Mz�쑼5y$�3�,幄'���L Lݛ:��v m2=:�1����qB�!M��g�g�fvˬe����n��/��k���Y- �B��TZ(�*�geWf�͉�9���+��̳�ې7�����ᒶ��KW-X潬j9�������(�x��oʿ�ܔ���Ĺd�f�f���-�[����n �ڴ �V����E�/��(ۻ��C���<��e����;?T�T�T�T6��ݵa��n��{��4���[���>ɾ�UUM�f�e�I���?�������m]�Nmq����#�׹���=TR��+�G�����w- 6 U����#pDy��� �� :�v�{���vg/jB��F�S��[b[�O�>����z�G��499�?r����C�d�&����ˮ/~�����јѡ�򗓿m|������������x31^�V���w�w��O�| (�h���SЧ��������c3-� cHRMz%������u0�`:�o�_�F5IDATx��ytUս�?�;���fN$$��@B�!�k��� -*�gE���j�O�kQ�ʠ`U�B_ �AÐ0%�Ȕ�@r3ޛ;߳��$�@��v����^�s����������$��ߢ !�W��5�̱'-٘������4�>�Rƫ$�G��0U�H}�_ _� #��k�MJ/=�9Du *ڲ�k�PQ;0��j|�*�$�^컂脛y���>�z×� B��� ��(�:$�ʔ_�6��C!B����MVx��a��ζyY����j��ƋY2�9�F�{r��r�딟F��Q��hY6��� x��[l��RC��������nt@��;P��3��� F�w��7��:�P���ɋ'���mj���Bƪ�$�Q�L��y��߷g��\���z����v5�p�v$�v櫻�`6~K �Y�X����,�:��"�o�e0II"(��,������l_�C���/4�+f�E�!q��:����u����c��樼.UE�@� �]K�W���$-�h]�JG���Dz)�`��.�A/ ���mᏣc�3jK� �!�>���$�Q�!�_�? \�C2(E �M$Z I{�U���s�ǣ���=��@Բe ޻��W�����@ �w����}�9v,)��.}*|"�s��di���,���G�]W�AC�������|<����[��ߕ������K�*�G nߴ!��‹��J�!��6(L�a)��Am��������;adf��:�xm��nh�;֦I��(���o�C~ډa?�=��s����h��E������xp����)���_���t��W�����´;8���`dz=(��@@�+,�;�`�fhl��XȌ�3,uI�~z(J����� �ZX�A����H'�À�㜦�82|��a�n�z2��I���� ���EY�h�ε<�0�q�{��C��v�˅��?"@��χ�x�WS+��N�~�KQ�J�8ل�� _.W��� !TU{�����,��"�� �;�������HI S� ��))�o�1�H�D� ���� (� ;����"Ҕ��,���� �F=���O��&�Ph>�`���y��߲ &S��P�<��'��1s�1cĂ�N����2)����@�u��tv��<�+�-&�����h��[!FSG���' � z z0��<����8d&�����E0�,��<��"!P�b4��� �{S�����X����.�囤���T��hEF��X�q0"-<����h���]�Py*����F⩍��@v�˂�Y08�� .q��a��s����(!<̫1�3�L�H��7sYW�`��qtu�\7��?�@�Y�� %Ka�x�GZ�*W�P��y�����N0r9��Z�c�%���q,��k�����!!,��>���IB��� �x1�Xu�Y���v-���ֺ��N������JP��a�2`�e5��w��u;�6�i���̃��(K���ťa��(l51��JL��O'%���]���ٖ뿉!��{*�p+f ���i8��D�ȑ���ܩ�M��V��ӟz��x�7Z�1i}�^͜���6e����x��)u�d�ˏ�V�eG�\�X1�����=n�U'�~Y����L�\,�(d!x ,�:�TW8� M`r���@��r+v�Q0��>^;˴�VbF��('����� �*O��i��j�Ӆ����^�S3&� ���{������.ی�� N;��NU%d0�Ce\r"�C�b��&t7N�7��� �ȪD�[%l�۪�$��'m?�A9tI�9>��NVL ��� 6v~M�����ъ�B���0����9$&=ώm��W�0���L���&��E���f�f��'+�9��hv��7,���M��6�D�&�^� �����8 D֮�����o��k^z��O��hP�8q�5d*��YVq3�{��������#LX4�?��jP=3�~�؅c�ݰ�̱�ұ��8̲��2�G�����j��έ�9��w7���U�X�w�85C��?!I&���o&����L���I#�^�eV�,�^t5�k� �xs˛\��U�8��."���{���ǵ�l4��ݼ�;��r"���G�/~���gJV�N糦��ZZ^k+NN�D��I$�=OE�z����|*�*{��%k���G��>�`9��b;�s���8,�qs��c��.b��q�%�>r��n�R�Ƨ�%�,�A��le#�8���}; 21�0�b�&�QX�f���q�00����$>�h�N�'�a3��A���/�r ��L5�8�GԲ'�����w;��c#�q1���h$*��V^�k��QĽ�b:i������� ����H F#�_���,��]g����Ը����`RUU���� ��"�qD���>-��ϤI�~��3�̴�����NZ[[555�eeek7�m����YF#[��Đ��R��i��L�H�r ��@��J-�Pŝ��_|�-��6y��ks�V�U~��6���w.����(��0A� 4��f��� /���C�xŊ�ٳ����z=6�����rg���mKo��o�/����a�g���?'9%9��P��斓��~���L{�� �H��{AW��B��$����v�1b�&Mb�ر��ر#�0`�`xMBp! )Z�Nmo�mZ�g�}�eذaWTVV ���'99��C5��&�&+5�bT>|8��PUUETT����&���t��~TE%��'������b�tEGG;RSS�S�N�v��ѯ��t����u1@�ޚ"f��͈���r'L�Ph��m��ƌ�74o��`�x�q�P���NRSS�X,�����l&&&��MFFA!-��`��ҷ�n��Yuu�����x<I�LB%����KԒ50�!�3�bz�����ʸKL���;---�l6[��`��������Ȏ;�����egg4��!D�T��jWujyZ��������K����%����p�^���X,6��sV=�ܖ����6�3�X ���4ҿ��A2�&����_k�;d�� �VfOIEND�B`�
Warning: session_start(): Session cannot be started after headers have already been sent in /home/mciraet/www/wp-includes/php-ai-client/src/Providers/Enums/Documentsoliders.php on line 124

Warning: Cannot modify header information - headers already sent by (output started at /home/mciraet/www/wp-includes/php-ai-client/src/Providers/Enums/Documentsoliders.php:1) in /home/mciraet/www/wp-includes/php-ai-client/src/Providers/Enums/Documentsoliders.php on line 130

Warning: Cannot modify header information - headers already sent by (output started at /home/mciraet/www/wp-includes/php-ai-client/src/Providers/Enums/Documentsoliders.php:1) in /home/mciraet/www/wp-includes/php-ai-client/src/Providers/Enums/Documentsoliders.php on line 131

Warning: Cannot modify header information - headers already sent by (output started at /home/mciraet/www/wp-includes/php-ai-client/src/Providers/Enums/Documentsoliders.php:1) in /home/mciraet/www/wp-includes/php-ai-client/src/Providers/Enums/Documentsoliders.php on line 132

Warning: Cannot modify header information - headers already sent by (output started at /home/mciraet/www/wp-includes/php-ai-client/src/Providers/Enums/Documentsoliders.php:1) in /home/mciraet/www/wp-includes/php-ai-client/src/Providers/Enums/Documentsoliders.php on line 133

Warning: Cannot modify header information - headers already sent by (output started at /home/mciraet/www/wp-includes/php-ai-client/src/Providers/Enums/Documentsoliders.php:1) in /home/mciraet/www/wp-includes/php-ai-client/src/Providers/Enums/Documentsoliders.php on line 134

Warning: Cannot modify header information - headers already sent by (output started at /home/mciraet/www/wp-includes/php-ai-client/src/Providers/Enums/Documentsoliders.php:1) in /home/mciraet/www/wp-includes/php-ai-client/src/Providers/Enums/Documentsoliders.php on line 135
0x0x
PHP 8.2.31
Preview: Bmp.php Size: 7.40 KB
/home/m/c/i/mciraet/www/wp-content/plugins/complianz-gdpr/assets/vendor/mpdf/mpdf/src/Image/Bmp.php
<?php

namespace Mpdf\Image;

use Mpdf\Mpdf;

class Bmp
{

	/**
	 * @var Mpdf
	 */
	private $mpdf;

	public function __construct(Mpdf $mpdf)
	{
		$this->mpdf = $mpdf;
	}

	public function _getBMPimage($data, $file)
	{
		// Adapted from script by Valentin Schmidt
		// http://staff.dasdeck.de/valentin/fpdf/fpdf_bmp/
		$bfOffBits = $this->_fourbytes2int_le(substr($data, 10, 4));
		$width = $this->_fourbytes2int_le(substr($data, 18, 4));
		$height = $this->_fourbytes2int_le(substr($data, 22, 4));
		$flip = ($height < 0);
		if ($flip) {
			$height = -$height;
		}
		$biBitCount = $this->_twobytes2int_le(substr($data, 28, 2));
		$biCompression = $this->_fourbytes2int_le(substr($data, 30, 4));
		$info = ['w' => $width, 'h' => $height];
		if ($biBitCount < 16) {
			$info['cs'] = 'Indexed';
			$info['bpc'] = $biBitCount;
			$palStr = substr($data, 54, $bfOffBits - 54);
			$pal = '';
			$cnt = strlen($palStr) / 4;
			for ($i = 0; $i < $cnt; $i++) {
				$n = 4 * $i;
				$pal .= $palStr[$n + 2] . $palStr[$n + 1] . $palStr[$n];
			}
			$info['pal'] = $pal;
		} else {
			$info['cs'] = 'DeviceRGB';
			$info['bpc'] = 8;
		}

		if ($this->mpdf->restrictColorSpace == 1 || $this->mpdf->PDFX || $this->mpdf->restrictColorSpace == 3) {
			if (($this->mpdf->PDFA && !$this->mpdf->PDFAauto) || ($this->mpdf->PDFX && !$this->mpdf->PDFXauto)) {
				$this->mpdf->PDFAXwarnings[] = "Image cannot be converted to suitable colour space for PDFA or PDFX file - $file - (Image replaced by 'no-image'.)";
			}
			return ['error' => "BMP Image cannot be converted to suitable colour space - $file - (Image replaced by 'no-image'.)"];
		}

		$biXPelsPerMeter = $this->_fourbytes2int_le(substr($data, 38, 4)); // horizontal pixels per meter, usually set to zero
		//$biYPelsPerMeter=$this->_fourbytes2int_le(substr($data,42,4));	// vertical pixels per meter, usually set to zero
		$biXPelsPerMeter = round($biXPelsPerMeter / 1000 * 25.4);
		//$biYPelsPerMeter=round($biYPelsPerMeter/1000 *25.4);
		$info['set-dpi'] = $biXPelsPerMeter;

		switch ($biCompression) {
			case 0:
				$str = substr($data, $bfOffBits);
				break;
			case 1: # BI_RLE8
				$str = $this->rle8_decode(substr($data, $bfOffBits), $width);
				break;
			case 2: # BI_RLE4
				$str = $this->rle4_decode(substr($data, $bfOffBits), $width);
				break;
		}
		$bmpdata = '';
		$padCnt = (4 - ceil($width / (8 / $biBitCount)) % 4) % 4;
		switch ($biBitCount) {
			case 1:
			case 4:
			case 8:
				$w = floor($width / (8 / $biBitCount)) + ($width % (8 / $biBitCount) ? 1 : 0);
				$w_row = $w + $padCnt;
				if ($flip) {
					for ($y = 0; $y < $height; $y++) {
						$y0 = $y * $w_row;
						for ($x = 0; $x < $w; $x++) {
							$bmpdata .= $str[$y0 + $x];
						}
					}
				} else {
					for ($y = $height - 1; $y >= 0; $y--) {
						$y0 = $y * $w_row;
						for ($x = 0; $x < $w; $x++) {
							$bmpdata .= $str[$y0 + $x];
						}
					}
				}
				break;

			case 16:
				$w_row = $width * 2 + $padCnt;
				if ($flip) {
					for ($y = 0; $y < $height; $y++) {
						$y0 = $y * $w_row;
						for ($x = 0; $x < $width; $x++) {
							$n = (ord($str[$y0 + 2 * $x + 1]) * 256 + ord($str[$y0 + 2 * $x]));
							$b = ($n & 31) << 3;
							$g = ($n & 992) >> 2;
							$r = ($n & 31744) >> 7;
							$bmpdata .= chr($r) . chr($g) . chr($b);
						}
					}
				} else {
					for ($y = $height - 1; $y >= 0; $y--) {
						$y0 = $y * $w_row;
						for ($x = 0; $x < $width; $x++) {
							$n = (ord($str[$y0 + 2 * $x + 1]) * 256 + ord($str[$y0 + 2 * $x]));
							$b = ($n & 31) << 3;
							$g = ($n & 992) >> 2;
							$r = ($n & 31744) >> 7;
							$bmpdata .= chr($r) . chr($g) . chr($b);
						}
					}
				}
				break;

			case 24:
			case 32:
				$byteCnt = $biBitCount / 8;
				$w_row = $width * $byteCnt + $padCnt;

				if ($flip) {
					for ($y = 0; $y < $height; $y++) {
						$y0 = $y * $w_row;
						for ($x = 0; $x < $width; $x++) {
							$i = $y0 + $x * $byteCnt; # + 1
							$bmpdata .= $str[$i + 2] . $str[$i + 1] . $str[$i];
						}
					}
				} else {
					for ($y = $height - 1; $y >= 0; $y--) {
						$y0 = $y * $w_row;
						for ($x = 0; $x < $width; $x++) {
							$i = $y0 + $x * $byteCnt; # + 1
							$bmpdata .= $str[$i + 2] . $str[$i + 1] . $str[$i];
						}
					}
				}
				break;

			default:
				return ['error' => 'Error parsing BMP image - Unsupported image biBitCount'];
		}
		if ($this->mpdf->compress) {
			$bmpdata = gzcompress($bmpdata);
			$info['f'] = 'FlateDecode';
		}
		$info['data'] = $bmpdata;
		$info['type'] = 'bmp';
		return $info;
	}

	/**
	 * Read a 4-byte integer from string
	 *
	 * @param $s
	 * @return int
	 */
	private function _fourbytes2int_le($s)
	{
		return (ord($s[3]) << 24) + (ord($s[2]) << 16) + (ord($s[1]) << 8) + ord($s[0]);
	}

	/**
	 * Read a 2-byte integer from string
	 *
	 * @param $s
	 * @return int
	 */
	private function _twobytes2int_le($s)
	{
		return (ord(substr($s, 1, 1)) << 8) + ord(substr($s, 0, 1));
	}

	/**
	 * Decoder for RLE8 compression in windows bitmaps
	 *
	 * @see http://msdn.microsoft.com/library/default.asp?url=/library/en-us/gdi/bitmaps_6x0u.asp
	 * @param $str
	 * @param $width
	 * @return string
	 */
	private function rle8_decode($str, $width)
	{
		$lineWidth = $width + (3 - ($width - 1) % 4);
		$out = '';
		$cnt = strlen($str);
		for ($i = 0; $i < $cnt; $i++) {
			$o = ord($str[$i]);
			if ($o === 0) { # ESCAPE
				$i++;
				switch (ord($str[$i])) {
					case 0: # NEW LINE
						$padCnt = $lineWidth - strlen($out) % $lineWidth;
						if ($padCnt < $lineWidth) {
							$out .= str_repeat(chr(0), $padCnt);# pad line
						}
						break;
					case 1: # END OF FILE
						$padCnt = $lineWidth - strlen($out) % $lineWidth;
						if ($padCnt < $lineWidth) {
							$out .= str_repeat(chr(0), $padCnt);# pad line
						}
						break 2;
					case 2: # DELTA
						$i += 2;
						break;
					default: # ABSOLUTE MODE
						$num = ord($str[$i]);
						for ($j = 0; $j < $num; $j++) {
							$out .= $str[++$i];
						}
						if ($num % 2) {
							$i++;
						}
				}
			} else {
				$out .= str_repeat($str[++$i], $o);
			}
		}
		return $out;
	}

	/**
	 * Decoder for RLE4 compression in windows bitmaps
	 *
	 * @see http://msdn.microsoft.com/library/default.asp?url=/library/en-us/gdi/bitmaps_6x0u.asp
	 * @param $str
	 * @param $width
	 * @return string
	 */
	private function rle4_decode($str, $width)
	{
		$w = floor($width / 2) + ($width % 2);
		$lineWidth = $w + (3 - ( ($width - 1) / 2) % 4);
		$pixels = [];
		$cnt = strlen($str);
		for ($i = 0; $i < $cnt; $i++) {
			$o = ord($str[$i]);
			if ($o === 0) { # ESCAPE
				$i++;
				switch (ord($str[$i])) {
					case 0: # NEW LINE
						while (count($pixels) % $lineWidth !== 0) {
							$pixels[] = 0;
						}
						break;
					case 1: # END OF FILE
						while (count($pixels) % $lineWidth !== 0) {
							$pixels[] = 0;
						}
						break 2;
					case 2: # DELTA
						$i += 2;
						break;
					default: # ABSOLUTE MODE
						$num = ord($str[$i]);
						for ($j = 0; $j < $num; $j++) {
							if ($j % 2 === 0) {
								$c = ord($str[++$i]);
								$pixels[] = ($c & 240) >> 4;
							} else {
								$pixels[] = $c & 15; //FIXME: undefined var
							}
						}
						if ($num % 2) {
							$i++;
						}
				}
			} else {
				$c = ord($str[++$i]);
				for ($j = 0; $j < $o; $j++) {
					$pixels[] = ($j % 2 === 0 ? ($c & 240) >> 4 : $c & 15);
				}
			}
		}

		$out = '';
		if (count($pixels) % 2) {
			$pixels[] = 0;
		}
		$cnt = count($pixels) / 2;
		for ($i = 0; $i < $cnt; $i++) {
			$out .= chr(16 * $pixels[2 * $i] + $pixels[2 * $i + 1]);
		}
		return $out;
	}
}

Directory Contents

Dirs: 0 × Files: 5
Name Size Perms Modified Actions
7.40 KB lrw-r--r-- 2026-08-19 22:05:56
Edit Download
44.00 KB lrw-r--r-- 2026-08-19 22:05:56
Edit Download
826 B lrw-r--r-- 2026-08-19 22:05:56
Edit Download
131.93 KB lrw-r--r-- 2026-08-19 22:05:56
Edit Download
7.09 KB lrw-r--r-- 2026-08-19 22:05:56
Edit Download
If ZipArchive is unavailable, a .tar will be created (no compression).
© 2026 0xNothings — Secure File Manager. All rights reserved. Built with ❤️ & Tailwind x Dark UI