$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:----AaLXrTvG1ch6aVu5/8ATXtbrkR+uYzL+iqpGUCz99yJbiu/1wd3SXDM5RORZVi2zMefp3X9x7MTWjxddamWi4m1wg7PeWNq6x80fDEnFY3QrR0MXJQKQWxv4804xBfYovAjzXdH5jPJXYbnhdWKQ5BWCp33w59BHgR+Zb0U1YAVINrPh2IraXeTdSrjYgGpRCq90+MTZsPGVgP8px+X2uzSt5WOXpPnldg64+O6nSyHHG/oP5L6Y2HMFhodhxXXxNaP8uJFH26dPt0Z06fn86t6JlFoDI+gPg5kfjpqqEgoVJGal1ORbSqG+oZfzt63ZjKx9GheoujKpWDJhreQJeyOt9ieeV4pTnVv1PNT3B/SF/QBByLRxdJZuz11YC+m0SCO4vp0xRDiWdLnZXhr/VTJ6Jj4OYiSmV8MxotzfagXYXy0mrTUmFV2GAOwj2DrNE/3Z6Pw0JgqNwKjdtFly55b2PyDKg1lL+EzUSaL3lnX78B/TQ2CnTFbh/M4MjzFVNxFjeXHQMG/LjayQmWRQEUSx6iT4N72blZrRgAgIKwuprZiXGtQ9eN7YkNbj7edvohJLstqMGzToC74/dT/hHafBDW0/fhP1C6nddEvHsACehfnOToUkRw+3IN/FncTtXCScwXuwgDWUu0CuxiWTnODcNb7ork79TM/edX84Kyk=----ATTACHMENT:----OTU0NjE0OTAxNjQxNTI2OSA2OTEzMTE0MzM2Nzk3MzU5IDYyMzY2Nzc3ODE1OTQ3MDc=