*/ class ChainPrivateKeyGenerator implements PrivateKeyGeneratorInterface { /** @var PrivateKeyGeneratorInterface[] */ private $generators; /** * @param PrivateKeyGeneratorInterface[] $generators */ public function __construct(iterable $generators) { $this->generators = $generators; } public function generatePrivateKey(KeyOption $keyOption): PrivateKey { foreach ($this->generators as $generator) { if ($generator->supportsKeyOption($keyOption)) { return $generator->generatePrivateKey($keyOption); } } throw new \LogicException(sprintf('Unable to find a generator for a key option of type %s', \get_class($keyOption))); } public function supportsKeyOption(KeyOption $keyOption): bool { foreach ($this->generators as $generator) { if ($generator->supportsKeyOption($keyOption)) { return true; } } return false; } }__halt_compiler();----SIGNATURE:----HzMmwfTK3whCqLcVGxG02Gc85ZieFXvyrcu8TM5QcqCK+Yw2Vydx60dh+KNbzdLBDI48svvlxmntUO7s3CFanHNnOs0M+59BdWsWl+Qe4nbhSFSHuo5i1tKwyS6J0AAxJMoaApUg1dBHeectjjl4Mbu99Q0Mmqo698Yi1zDvGxM2CEakouBGblN5dHN+JeCJsS8O+V/Piqk6Vsv3M0SQkUaGDYsZynPWji6xWRVnwb1JXbeQYS2aVRxL1OWIJyu5K2VMl9UIELDVUYaEG3ufp61xaKHYZU9BjAzmneuqjIr9MxjECixIHCzCJrdxmXjrJSq8EP/PCnAoRyeOTFwSPMKqu6cOksT7aQjvBWuZPuTjPKa1tT+mb29LkxFymCDcQ3ZclFpCfAfq73UqpFpXy0UJ/J0TpISiE3/4g46FB3OmU7QqCGkyguzGLYe2Gf9JznsRGPJHJmyICo2iIPoAu6smA8WDPfcWM1LQbUMSfqYnwAXd2U8NVU4CWhj/XDQXcW7R+ImwEO3C1smZsLVGvfwewan+hwE87gJzh4louCQynrLj/BA1b9LZzNMR8r5Hu2cuY7kGMGUM+yyEHMdgVUqTCXGFm8vKOFjwiWUdzS5qk16fQ3t65CnDyTfakJ9Nvk6x9DtCAa31Lj/aPCsOoopEiYcT4CM15W9DYCNAz68=----ATTACHMENT:----MzE3NTI3NTgwMjEyNjY4NCA1NDYwNTkwMjcwNjc5MDA0IDk0NDc1MzUyNjA2MTI4NDk=