code: def parse_blocks(lines):  # type: (List[str]) -> List[List[str]]
      
      blocks = []
  
      while lines:
          if lines[0] == '':
              lines.pop(0)
          else:
              blocks.append(parse_block(lines))
  
      return blocks
docs: Parse and return all possible blocks, popping off the start of `lines`.
  
      :param lines: list of lines
      :return: list of blocks, where each block is a list of lines