code: def read_fenced_cell(token, cell_index, cell_type):
      """Parse (and validate) the full directive text."""
      content = token.content
      error_msg = "{} cell {} at line {} could not be read: ".format(
          cell_type, cell_index, token.map[0] + 1
      )
  
      body_lines, options = parse_directive_options(content, error_msg)
  
      # remove first line of body if blank
      # this is to allow space between the options and the content
      if body_lines and not body_lines[0].strip():
          body_lines = body_lines[1:]
  
      return options, body_lines
  
imports: import json
  import re
  import warnings
  from textwrap import dedent
  import nbformat
  import yaml
  from .cell_to_text import three_backticks_or_more
label_desc: Use image node_id 12 for calling a global function with example usage: read_fenced_cell(token, cell_index, cell_type) and returns: options,  body_lines