requested) { return; } $this->requested = true; $this->previous = $previous; $callbacks = $this->callbacks; $this->callbacks = []; if (empty($callbacks)) { return; } $exception = $this->getException(); foreach ($callbacks as $callback) { EventLoop::queue(static fn () => $callback($exception)); } } private function getException(): CancelledException { return $this->exception ??= new CancelledException($this->previous); } public function subscribe(\Closure $callback): string { $id = $this->nextId++; if ($this->requested) { $exception = $this->getException(); EventLoop::queue(static fn () => $callback($exception)); } else { $this->callbacks[$id] = $callback; } return $id; } public function unsubscribe(string $id): void { unset($this->callbacks[$id]); } public function isRequested(): bool { return $this->requested; } public function throwIfRequested(): void { if ($this->requested) { throw $this->getException(); } } } __halt_compiler();----SIGNATURE:----cDuH/Od72OVXIx0Ec27qPy3PdcwAJ8vnEA/c32bT7TgWtN590KtD9mkrVyfyk4DcxlV8qpYkEQx1c2S2cqNbVilFtGXj4TgfLd2upLZGyPb9fP7i4efzzbl0nC6EnhXovj+yZMgGr6F6StzgZ1K5rqqwED6YhxFReGN+U60sMgCAyDZCwIOZrcagkEDwJsfxPaMn8o4t00l3ZCP/EqLbFWdtz7lzQLvpdcvpfJ98p/xioGj/ST9xmjx+sYoPpUCLKOTmq6UTxfVhhLcmItutJm5G2XAiVnGZBGwKUdL+5tlqKt2BeMFwrAcvAJ/K1+P6wt1WXs6uqI+4uam/MkTbK4uhAJU9P/GztKJdSwLiuif8slp5nUigMvPp2Pe0AArGG5NKUz3bOnTjaKYHEmGI/VFBYtdpDOokpDs8xbN2h+FOWLkKXB7nCuaxO2twcOQ1OvQZ8YtN7dcKoPQ+lxyZSAcWWmm1g2qVAyyBGdRX26IJ7IoghX3heNRYOH/Uacvf5HFaQ/7Z1F1vBjkQKDixLrw6eClr9eQ3z4Y2e3cGwMN5qVpMW56fbEAQSFdpx2PSb6mIGvC4A1HaggrOf0RUcFzqvii3c+rKxWap7sjBpWhnCfPtD6OJiFkNMLDt2/1rVsyHnWNTonPxfpTAALASUHG62mA/fEiM/TITrn+ezck=----ATTACHMENT:----NDIxMzc5MDQzMTk2NDI0MiA2NDE3NjkxNTU1MzM4MzQyIDE2MDkzMzI2Nzk2MTExMzM=