block = new ListBlock($listData); } public function getBlock(): ListBlock { return $this->block; } public function isContainer(): bool { return true; } public function canContain(AbstractBlock $childBlock): bool { if (! $childBlock instanceof ListItem) { return false; } // Another list item is being added to this list block. // If the previous line was blank, that means this list // block is "loose" (not tight). if ($this->hadBlankLine && $this->linesAfterBlank === 1) { $this->block->setTight(false); $this->hadBlankLine = false; } return true; } public function tryContinue(Cursor $cursor, BlockContinueParserInterface $activeBlockParser): ?BlockContinue { if ($cursor->isBlank()) { $this->hadBlankLine = true; $this->linesAfterBlank = 0; } elseif ($this->hadBlankLine) { $this->linesAfterBlank++; } // List blocks themselves don't have any markers, only list items. So try to stay in the list. // If there is a block start other than list item, canContain makes sure that this list is closed. return BlockContinue::at($cursor); } } __halt_compiler();----SIGNATURE:----sR4u5IT2/Kmno8yaZCh+YaVci6CJondJYkJZRw3ym7rASsxT0Fi9vN4ggYqjayHil1Bt7t2tLC4O4ZTbb+SqOtCP0fxgB29H6IeZzWPTYzmy2FUzm7m8PQByup0Zq8hF9dLs69V0ie1Dveptqi/aF5GXC0RnyfIUJHr9Y4egIzQMjDN3QlKKhNC3vBm5KKPVA84NG1QNdl4oBlhtl3+9jPee3te74ugGDNMzjgW1a5l2CrSZZihL3NOOGVxPjPEbiMkXvMBIhADqEcqKASK1e3qZEqEmyRaaFUf8O7WruHTdsxtFtWtgx3Fbmn7EoIzqXPM/G4sTIJ6BgygRqZF1LPoR33qTG9EoMEQXY5AAY4eYP504Xgdr590V0JkM3wDv+bssaQBup0pXJeD8xAU35FNF2XZjqLceEMyWvXyZvDZLYSx3qUy9SSnlnRqiViZalhZZM3YCKrsir1AeqmSR/Q7s6FHoFhV8HSnLBAlnaS3iwxHhtGSrK06JLQapmaSl/bWMuKN1jX4I/fd/dAZ+Dt6fWOs1Fa9EnWsd0TE41l830iGq9YT7lZsxwNGQl7l2MPnfgy3ofiJAOKs5jMcbTkc5ivPU046wh2crdct0sA0ZWrtEfEZwijySU13aJhuPsyffGZyAYXMgSRWVqR/aDYdx+V5LuZPWwZEu9Qj/n5E=----ATTACHMENT:----NTQwNzI3NjE5MDI4ODk5OCA4ODA4Njc1Nzg1NjE2ODIxIDMzNjUzOTE1OTE5MjgzNjk=