class_docstr: Override `HTMLExtractor` and create `etree` `Elements` for any elements which should have content parsed as
  Markdown.
code: def parse_html_declaration(self, i: int) -> int:
      if self.at_line_start() or self.intail or self.mdstack:
          # The same override exists in `HTMLExtractor` without the check
          # for `mdstack`. Therefore, use parent of `HTMLExtractor` instead.
          return super(HTMLExtractor, self).parse_html_declaration(i)
      # This is not the beginning of a raw block so treat as plain data
      # and avoid consuming any tags which may follow (see #1066).
      self.handle_data("<!")
      return i + 2
  
imports: from __future__ import annotations
  from .None import Extension
  from ..blockprocessors import BlockProcessor
  from ..preprocessors import Preprocessor
  from ..postprocessors import RawHtmlPostprocessor
  from ..None import util
  from ..htmlparser import HTMLExtractor, blank_line_re
  import xml.etree.ElementTree
  from typing import TYPE_CHECKING, Literal, Mapping
label_desc: Use image node_id 12 for calling the HTMLExtractorExtra obj's underlying member method code with example usage: obj.parse_html_declaration(i) and returns: unknown, super