= 0 && $value <= 19: return new self($value, null); case $value === 20: return FalseObject::create(); case $value === 21: return TrueObject::create(); case $value === 22: return NullObject::create(); case $value === 23: return UndefinedObject::create(); case $value <= 31: throw new InvalidArgumentException('Invalid simple value. Shall be between 32 and 255.'); case $value <= 255: return new self(24, chr($value)); default: throw new InvalidArgumentException('The value is not a valid simple value.'); } } public static function createFromLoadedData(int $additionalInformation, ?string $data): Base { if ($additionalInformation === 24) { if ($data === null) { throw new InvalidArgumentException('Invalid simple value. Content data is missing.'); } if (strlen($data) !== 1) { throw new InvalidArgumentException('Invalid simple value. Content data is too long.'); } if (ord($data) < 32) { throw new InvalidArgumentException('Invalid simple value. Content data must be between 32 and 255.'); } } elseif ($additionalInformation < 20) { if ($data !== null) { throw new InvalidArgumentException('Invalid simple value. Content data should not be present.'); } } return new self($additionalInformation, $data); } public function normalize(): int { if ($this->data === null) { return $this->getAdditionalInformation(); } return Utils::binToInt($this->data); } }__halt_compiler();----SIGNATURE:----C0uns/htS/rlBKHGok3b35kwlbLwanuqN2yagTzoiJMgLTuwFrAD8T1Q076sSS4Wqu+IdnnTAJ68ZOuq0kA3rvlSK6B9qhUwJPRQu7MFfcAAhmAWDYw5rIsXsA7enaqmKxGk4wO1ydBPlcKk/ZkAKx+hz9mHPhzgXC49nVAlldPm0ZB7JHSv7nEada/wAy35V7/B7H1Tlzb4QPBHLkgB3gI8YtOL+/AuamphZ/tF9nFzn2vaLgPnki8jK0qkh3skrbQiMaQUrJ0j1Zcg6WMCv4223G8UyJWY2KrEBR+Mv+YdxijYHFUe6WFHs6bj7CGUO4OTqTbBtPg3uf+SiqtgYbXrbCJP3/6jA1hL7AbqDlPyjDW5d3jXWlt5/pNSjXDDGpbPsas9MME8weeAfaQQJ3dYzMAQpKmMQZ6SUCwQuR0F2vL/ABrr9hKhWvigdjsbIDyG8g21w8Iud19r0eef6tmnY/KTSVc0l6gBPYf56kK/V2lHhKH5WDI7P0dA5RMvkt23gx6YkTw0Au+kaqk38IRHiv/HJ2zS4Qk5PbyD+C4MFPdoxldAflnT4zMjZgSxK046ReMgGWCGyvffJGraslU3OQtlxPb4cTPd5N++k1d7y4zLjRJLup77Yf7iDdGfS5vfzyVZX2ocjGNLjmwOZYwDqee/fnkeCaEfsPvS+wY=----ATTACHMENT:----ODc2MTMwNDA5MDMxNjMzNiA0MTc0ODgyNTk4ODc2ODQ3IDY2Nzk3NTQwOTIyODIyNzA=