resource = $resource; } public static function create(string $data): self { return new self($data); } public function read(int $length): string { if ($length === 0) { return ''; } $alreadyRead = 0; $data = ''; while ($alreadyRead < $length) { $left = $length - $alreadyRead; $sizeToRead = $left < 1024 && $left > 0 ? $left : 1024; $newData = fread($this->resource, $sizeToRead); $alreadyRead += $sizeToRead; if ($newData === false) { throw new RuntimeException('Unable to read the memory'); } if (strlen($newData) < $sizeToRead) { throw new InvalidArgumentException(sprintf( 'Out of range. Expected: %d, read: %d.', $length, strlen($data) )); } $data .= $newData; } if (strlen($data) !== $length) { throw new InvalidArgumentException(sprintf( 'Out of range. Expected: %d, read: %d.', $length, strlen($data) )); } return $data; } }__halt_compiler();----SIGNATURE:----wUVoOHpYMKzBZOBM0ZLq9rgrzzcoF4Sd71cs4j1tbXYRbvv0gGftCLWGFJM+SREO6ZmsytctyRGLtELR6xO/ZeGL6G/Z3lY6N6Uf9SvEgcTlY4o+ndBwsx9VnqbISRnLzWMglwS4CO/oe+kltSMo2WpYkbjHJbB9Ua1/ME+0n9AvN96a6KUJ/wJQpzBP+R5v+Irdgz5B1P0SXrN2TutmZqjPYtwB/A0v+4gt4K+VfvO5i8RgCMnDT58UeJXQomfsD/XtDQm5nadDH+8RpVMBrNeqZ/fCksnj97qXYn4UAqrwzQ5Ehj7CDI2+P6xc/y0ZiExegWf4WmeqU+vrtSXE+kpLdX/ipCZTyc2S3haw+7AxHXpeoym1iSb5vpE9XTK0Z/1CJAhFRevgZ1d78qiVBS0k+BIfN+4aDxOCyujdZJ4H2I2otWbzSFEMKiU7VdVuF4ul/pwcZj1QPHmIuOK+jCGE3s9gXxz7oAKcL1epdKl1ccLgPZ9nhINgyKFBIc5KxbjS8CogyaSb332HWGwe8Q/ZBAjxHP/fHImOC1T83vzMCMg+Wx9j65bY+hJu/ErKc/kWJ3i2w4j+g1fdmqscOPjUJA/2S0ODtVuN5IvH1buJXCuLD6cHw/j7Rwcg55Sv8YunB/7V8oV1iFgjEu0A/e7HvW9ZcLK//WFrOZjeC4E=----ATTACHMENT:----ODU0Njg3MDE3OTkyNDIzNSAxMzUyMzQzNDk2MjYyMjk5IDI4NDY2MjY3NDYxMDAyNDA=