$data * @return SecurityAdvisory|PartialSecurityAdvisory */ public static function create(string $packageName, array $data, VersionParser $parser): self { $constraint = $parser->parseConstraints($data['affectedVersions']); if (isset($data['title'], $data['sources'], $data['reportedAt'])) { return new SecurityAdvisory($packageName, $data['advisoryId'], $constraint, $data['title'], $data['sources'], new \DateTimeImmutable($data['reportedAt'], new \DateTimeZone('UTC')), $data['cve'] ?? null, $data['link'] ?? null); } return new self($packageName, $data['advisoryId'], $constraint); } public function __construct(string $packageName, string $advisoryId, ConstraintInterface $affectedVersions) { $this->advisoryId = $advisoryId; $this->packageName = $packageName; $this->affectedVersions = $affectedVersions; } /** * @return mixed */ #[\ReturnTypeWillChange] public function jsonSerialize() { $data = (array) $this; $data['affectedVersions'] = $data['affectedVersions']->getPrettyString(); return $data; } } __halt_compiler();----SIGNATURE:----pyR5pbCc/xUFu3xASTcV2v5hUPgKFi572wXC2O5HDv0dYuVyx/VHEq0zNXYK8KAz0jB2f1nrJExfa5OOkTmjkJqh/VbI4ibEnMJ/i2RC5VF71WBFT7VWT96w6sPU4hZHLblxowYZQrW3+tZBrUDCiw+LX5UMNLBoypHQpnr4iprfGWnc9P/JrP+9YYMRkcL3LQFnCNf4jOvVLv0X6w6nAEdHr7ki6zOEsaZuKRAY1uMIFJiye2AX/tfSLJ1fkfreImw9oG0pxvVn8PMBuJ6DX7QlNNIqmpteNFrnq++MRCZnyBSWPqD3GE6s6dyJtYbNtpJccmPO5/wx4kLDYCG9VhmVr52aAWUByAtljPq975BFsJqlfduJUuhJvHST/aAvCnwaIXdpzI4FnxmU4KFY/tOakYA31+Xhnq0RodKf6eyukFwLiri3GYKIO6hmiZ2P1lFMJ59GkPsRTaY+3ooyaJDYkN1NpccbIA9d+cFabeyRz+tZsJul2NqnhRmkfmsQrBHn9fucN8HdxhwWoNAGeeJU+Q7rLYKaZJyD12UB0rqM+Rcrk+K9thiJe0ftXuaaKLiN4h+qsKCSObEYQjctVoXeKrL6h5Q5AoqWH+mzh7/2E4iXXwI0Ta0kZ5yyipsbdIUKvPGyE5YeKICEtLv6E7HOSNasdgloQcZ4byYCUh8=----ATTACHMENT:----NzQ0OTMxODcxNTQ2NjM0MyAxNjUxNjI2NTcwMzQ3MzQzIDUzNTI3MjYzMzI2Njc2ODQ=