/*===- TableGen'erated file -------------------------------------*- C++ -*-===*\
|*                                                                            *|
|*A list of commands useable in documentation comments                        *|
|*                                                                            *|
|* Automatically generated file, do not edit!                                 *|
|*                                                                            *|
\*===----------------------------------------------------------------------===*/

namespace {
const CommandInfo Commands[] = {
  { "a", "", 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
  { "abstract", "", 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
  { "addtogroup", "", 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 },
  { "arg", "", 3, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
  { "attention", "", 4, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
  { "author", "", 5, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
  { "authors", "", 6, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
  { "b", "", 7, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
  { "brief", "", 8, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
  { "bug", "", 9, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
  { "c", "", 10, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
  { "callback", "", 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0 },
  { "category", "", 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0 },
  { "class", "", 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0 },
  { "classdesign", "", 14, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 },
  { "coclass", "", 15, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 },
  { "code", "endcode", 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 },
  { "endcode", "", 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 },
  { "const", "", 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0 },
  { "constant", "", 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0 },
  { "copyright", "", 20, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
  { "date", "", 21, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
  { "defgroup", "", 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 },
  { "dependency", "", 23, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 },
  { "deprecated", "", 24, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 },
  { "details", "", 25, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
  { "discussion", "", 26, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
  { "dot", "enddot", 27, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 },
  { "enddot", "", 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 },
  { "e", "", 29, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
  { "em", "", 30, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
  { "enum", "", 31, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0 },
  { "f{", "f}", 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 },
  { "f}", "", 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 },
  { "f[", "f]", 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 },
  { "f]", "", 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 },
  { "f$", "f$", 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 },
  { "fn", "", 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0 },
  { "function", "", 38, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0 },
  { "functiongroup", "", 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0 },
  { "headerfile", "", 40, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
  { "helper", "", 41, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 },
  { "helperclass", "", 42, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 },
  { "helps", "", 43, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 },
  { "htmlonly", "endhtmlonly", 44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 },
  { "endhtmlonly", "", 45, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 },
  { "ingroup", "", 46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 },
  { "instancesize", "", 47, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 },
  { "interface", "", 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0 },
  { "invariant", "", 49, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
  { "latexonly", "endlatexonly", 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 },
  { "endlatexonly", "", 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 },
  { "li", "", 52, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
  { "link", "/link", 53, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 },
  { "/link", "", 54, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 },
  { "mainpage", "", 55, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 },
  { "manonly", "endmanonly", 56, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 },
  { "endmanonly", "", 57, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 },
  { "method", "", 58, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0 },
  { "methodgroup", "", 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0 },
  { "msc", "endmsc", 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 },
  { "endmsc", "", 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 },
  { "name", "", 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 },
  { "namespace", "", 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0 },
  { "note", "", 64, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
  { "overload", "", 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0 },
  { "ownership", "", 66, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 },
  { "p", "", 67, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
  { "par", "", 68, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
  { "paragraph", "", 69, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 },
  { "param", "", 70, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
  { "performance", "", 71, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 },
  { "post", "", 72, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
  { "pre", "", 73, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
  { "property", "", 74, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0 },
  { "protocol", "", 75, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0 },
  { "ref", "", 76, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 },
  { "remark", "", 77, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
  { "remarks", "", 78, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
  { "result", "", 79, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
  { "return", "", 80, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
  { "returns", "", 81, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
  { "rtfonly", "endrtfonly", 82, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 },
  { "endrtfonly", "", 83, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 },
  { "sa", "", 84, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
  { "section", "", 85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 },
  { "security", "", 86, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 },
  { "see", "", 87, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
  { "seealso", "", 88, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
  { "short", "", 89, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
  { "since", "", 90, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
  { "struct", "", 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0 },
  { "subpage", "", 92, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 },
  { "subsection", "", 93, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 },
  { "subsubsection", "", 94, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 },
  { "superclass", "", 95, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 },
  { "template", "", 96, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0 },
  { "templatefield", "", 97, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
  { "textblock", "/textblock", 98, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 },
  { "/textblock", "", 99, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 },
  { "todo", "", 100, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
  { "tparam", "", 101, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
  { "typedef", "", 102, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0 },
  { "union", "", 103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0 },
  { "var", "", 104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0 },
  { "verbatim", "endverbatim", 105, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 },
  { "endverbatim", "", 106, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 },
  { "version", "", 107, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
  { "warning", "", 108, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
  { "weakgroup", "", 109, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 },
  { "xmlonly", "endxmlonly", 110, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 },
  { "endxmlonly", "", 111, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 }
};
} // unnamed namespace

const CommandInfo *CommandTraits::getBuiltinCommandInfo(
                                         StringRef Name) {
  switch (Name.size()) {
  default: break;
  case 1:	 // 5 strings to match.
    switch (Name[0]) {
    default: break;
    case 'a':	 // 1 string to match.
      return &Commands[0];	 // "a"
    case 'b':	 // 1 string to match.
      return &Commands[7];	 // "b"
    case 'c':	 // 1 string to match.
      return &Commands[10];	 // "c"
    case 'e':	 // 1 string to match.
      return &Commands[29];	 // "e"
    case 'p':	 // 1 string to match.
      return &Commands[67];	 // "p"
    }
    break;
  case 2:	 // 9 strings to match.
    switch (Name[0]) {
    default: break;
    case 'e':	 // 1 string to match.
      if (Name[1] != 'm')
        break;
      return &Commands[30];	 // "em"
    case 'f':	 // 6 strings to match.
      switch (Name[1]) {
      default: break;
      case '$':	 // 1 string to match.
        return &Commands[36];	 // "f$"
      case '[':	 // 1 string to match.
        return &Commands[34];	 // "f["
      case ']':	 // 1 string to match.
        return &Commands[35];	 // "f]"
      case 'n':	 // 1 string to match.
        return &Commands[37];	 // "fn"
      case '{':	 // 1 string to match.
        return &Commands[32];	 // "f{"
      case '}':	 // 1 string to match.
        return &Commands[33];	 // "f}"
      }
      break;
    case 'l':	 // 1 string to match.
      if (Name[1] != 'i')
        break;
      return &Commands[52];	 // "li"
    case 's':	 // 1 string to match.
      if (Name[1] != 'a')
        break;
      return &Commands[84];	 // "sa"
    }
    break;
  case 3:	 // 9 strings to match.
    switch (Name[0]) {
    default: break;
    case 'a':	 // 1 string to match.
      if (memcmp(Name.data()+1, "rg", 2))
        break;
      return &Commands[3];	 // "arg"
    case 'b':	 // 1 string to match.
      if (memcmp(Name.data()+1, "ug", 2))
        break;
      return &Commands[9];	 // "bug"
    case 'd':	 // 1 string to match.
      if (memcmp(Name.data()+1, "ot", 2))
        break;
      return &Commands[27];	 // "dot"
    case 'm':	 // 1 string to match.
      if (memcmp(Name.data()+1, "sc", 2))
        break;
      return &Commands[60];	 // "msc"
    case 'p':	 // 2 strings to match.
      switch (Name[1]) {
      default: break;
      case 'a':	 // 1 string to match.
        if (Name[2] != 'r')
          break;
        return &Commands[68];	 // "par"
      case 'r':	 // 1 string to match.
        if (Name[2] != 'e')
          break;
        return &Commands[73];	 // "pre"
      }
      break;
    case 'r':	 // 1 string to match.
      if (memcmp(Name.data()+1, "ef", 2))
        break;
      return &Commands[76];	 // "ref"
    case 's':	 // 1 string to match.
      if (memcmp(Name.data()+1, "ee", 2))
        break;
      return &Commands[87];	 // "see"
    case 'v':	 // 1 string to match.
      if (memcmp(Name.data()+1, "ar", 2))
        break;
      return &Commands[104];	 // "var"
    }
    break;
  case 4:	 // 8 strings to match.
    switch (Name[0]) {
    default: break;
    case 'c':	 // 1 string to match.
      if (memcmp(Name.data()+1, "ode", 3))
        break;
      return &Commands[16];	 // "code"
    case 'd':	 // 1 string to match.
      if (memcmp(Name.data()+1, "ate", 3))
        break;
      return &Commands[21];	 // "date"
    case 'e':	 // 1 string to match.
      if (memcmp(Name.data()+1, "num", 3))
        break;
      return &Commands[31];	 // "enum"
    case 'l':	 // 1 string to match.
      if (memcmp(Name.data()+1, "ink", 3))
        break;
      return &Commands[53];	 // "link"
    case 'n':	 // 2 strings to match.
      switch (Name[1]) {
      default: break;
      case 'a':	 // 1 string to match.
        if (memcmp(Name.data()+2, "me", 2))
          break;
        return &Commands[62];	 // "name"
      case 'o':	 // 1 string to match.
        if (memcmp(Name.data()+2, "te", 2))
          break;
        return &Commands[64];	 // "note"
      }
      break;
    case 'p':	 // 1 string to match.
      if (memcmp(Name.data()+1, "ost", 3))
        break;
      return &Commands[72];	 // "post"
    case 't':	 // 1 string to match.
      if (memcmp(Name.data()+1, "odo", 3))
        break;
      return &Commands[100];	 // "todo"
    }
    break;
  case 5:	 // 9 strings to match.
    switch (Name[0]) {
    default: break;
    case '/':	 // 1 string to match.
      if (memcmp(Name.data()+1, "link", 4))
        break;
      return &Commands[54];	 // "/link"
    case 'b':	 // 1 string to match.
      if (memcmp(Name.data()+1, "rief", 4))
        break;
      return &Commands[8];	 // "brief"
    case 'c':	 // 2 strings to match.
      switch (Name[1]) {
      default: break;
      case 'l':	 // 1 string to match.
        if (memcmp(Name.data()+2, "ass", 3))
          break;
        return &Commands[13];	 // "class"
      case 'o':	 // 1 string to match.
        if (memcmp(Name.data()+2, "nst", 3))
          break;
        return &Commands[18];	 // "const"
      }
      break;
    case 'h':	 // 1 string to match.
      if (memcmp(Name.data()+1, "elps", 4))
        break;
      return &Commands[43];	 // "helps"
    case 'p':	 // 1 string to match.
      if (memcmp(Name.data()+1, "aram", 4))
        break;
      return &Commands[70];	 // "param"
    case 's':	 // 2 strings to match.
      switch (Name[1]) {
      default: break;
      case 'h':	 // 1 string to match.
        if (memcmp(Name.data()+2, "ort", 3))
          break;
        return &Commands[89];	 // "short"
      case 'i':	 // 1 string to match.
        if (memcmp(Name.data()+2, "nce", 3))
          break;
        return &Commands[90];	 // "since"
      }
      break;
    case 'u':	 // 1 string to match.
      if (memcmp(Name.data()+1, "nion", 4))
        break;
      return &Commands[103];	 // "union"
    }
    break;
  case 6:	 // 10 strings to match.
    switch (Name[0]) {
    default: break;
    case 'a':	 // 1 string to match.
      if (memcmp(Name.data()+1, "uthor", 5))
        break;
      return &Commands[5];	 // "author"
    case 'e':	 // 2 strings to match.
      if (memcmp(Name.data()+1, "nd", 2))
        break;
      switch (Name[3]) {
      default: break;
      case 'd':	 // 1 string to match.
        if (memcmp(Name.data()+4, "ot", 2))
          break;
        return &Commands[28];	 // "enddot"
      case 'm':	 // 1 string to match.
        if (memcmp(Name.data()+4, "sc", 2))
          break;
        return &Commands[61];	 // "endmsc"
      }
      break;
    case 'h':	 // 1 string to match.
      if (memcmp(Name.data()+1, "elper", 5))
        break;
      return &Commands[41];	 // "helper"
    case 'm':	 // 1 string to match.
      if (memcmp(Name.data()+1, "ethod", 5))
        break;
      return &Commands[58];	 // "method"
    case 'r':	 // 3 strings to match.
      if (Name[1] != 'e')
        break;
      switch (Name[2]) {
      default: break;
      case 'm':	 // 1 string to match.
        if (memcmp(Name.data()+3, "ark", 3))
          break;
        return &Commands[77];	 // "remark"
      case 's':	 // 1 string to match.
        if (memcmp(Name.data()+3, "ult", 3))
          break;
        return &Commands[79];	 // "result"
      case 't':	 // 1 string to match.
        if (memcmp(Name.data()+3, "urn", 3))
          break;
        return &Commands[80];	 // "return"
      }
      break;
    case 's':	 // 1 string to match.
      if (memcmp(Name.data()+1, "truct", 5))
        break;
      return &Commands[91];	 // "struct"
    case 't':	 // 1 string to match.
      if (memcmp(Name.data()+1, "param", 5))
        break;
      return &Commands[101];	 // "tparam"
    }
    break;
  case 7:	 // 16 strings to match.
    switch (Name[0]) {
    default: break;
    case 'a':	 // 1 string to match.
      if (memcmp(Name.data()+1, "uthors", 6))
        break;
      return &Commands[6];	 // "authors"
    case 'c':	 // 1 string to match.
      if (memcmp(Name.data()+1, "oclass", 6))
        break;
      return &Commands[15];	 // "coclass"
    case 'd':	 // 1 string to match.
      if (memcmp(Name.data()+1, "etails", 6))
        break;
      return &Commands[25];	 // "details"
    case 'e':	 // 1 string to match.
      if (memcmp(Name.data()+1, "ndcode", 6))
        break;
      return &Commands[17];	 // "endcode"
    case 'i':	 // 1 string to match.
      if (memcmp(Name.data()+1, "ngroup", 6))
        break;
      return &Commands[46];	 // "ingroup"
    case 'm':	 // 1 string to match.
      if (memcmp(Name.data()+1, "anonly", 6))
        break;
      return &Commands[56];	 // "manonly"
    case 'r':	 // 3 strings to match.
      switch (Name[1]) {
      default: break;
      case 'e':	 // 2 strings to match.
        switch (Name[2]) {
        default: break;
        case 'm':	 // 1 string to match.
          if (memcmp(Name.data()+3, "arks", 4))
            break;
          return &Commands[78];	 // "remarks"
        case 't':	 // 1 string to match.
          if (memcmp(Name.data()+3, "urns", 4))
            break;
          return &Commands[81];	 // "returns"
        }
        break;
      case 't':	 // 1 string to match.
        if (memcmp(Name.data()+2, "fonly", 5))
          break;
        return &Commands[82];	 // "rtfonly"
      }
      break;
    case 's':	 // 3 strings to match.
      switch (Name[1]) {
      default: break;
      case 'e':	 // 2 strings to match.
        switch (Name[2]) {
        default: break;
        case 'c':	 // 1 string to match.
          if (memcmp(Name.data()+3, "tion", 4))
            break;
          return &Commands[85];	 // "section"
        case 'e':	 // 1 string to match.
          if (memcmp(Name.data()+3, "also", 4))
            break;
          return &Commands[88];	 // "seealso"
        }
        break;
      case 'u':	 // 1 string to match.
        if (memcmp(Name.data()+2, "bpage", 5))
          break;
        return &Commands[92];	 // "subpage"
      }
      break;
    case 't':	 // 1 string to match.
      if (memcmp(Name.data()+1, "ypedef", 6))
        break;
      return &Commands[102];	 // "typedef"
    case 'v':	 // 1 string to match.
      if (memcmp(Name.data()+1, "ersion", 6))
        break;
      return &Commands[107];	 // "version"
    case 'w':	 // 1 string to match.
      if (memcmp(Name.data()+1, "arning", 6))
        break;
      return &Commands[108];	 // "warning"
    case 'x':	 // 1 string to match.
      if (memcmp(Name.data()+1, "mlonly", 6))
        break;
      return &Commands[110];	 // "xmlonly"
    }
    break;
  case 8:	 // 14 strings to match.
    switch (Name[0]) {
    default: break;
    case 'a':	 // 1 string to match.
      if (memcmp(Name.data()+1, "bstract", 7))
        break;
      return &Commands[1];	 // "abstract"
    case 'c':	 // 3 strings to match.
      switch (Name[1]) {
      default: break;
      case 'a':	 // 2 strings to match.
        switch (Name[2]) {
        default: break;
        case 'l':	 // 1 string to match.
          if (memcmp(Name.data()+3, "lback", 5))
            break;
          return &Commands[11];	 // "callback"
        case 't':	 // 1 string to match.
          if (memcmp(Name.data()+3, "egory", 5))
            break;
          return &Commands[12];	 // "category"
        }
        break;
      case 'o':	 // 1 string to match.
        if (memcmp(Name.data()+2, "nstant", 6))
          break;
        return &Commands[19];	 // "constant"
      }
      break;
    case 'd':	 // 1 string to match.
      if (memcmp(Name.data()+1, "efgroup", 7))
        break;
      return &Commands[22];	 // "defgroup"
    case 'f':	 // 1 string to match.
      if (memcmp(Name.data()+1, "unction", 7))
        break;
      return &Commands[38];	 // "function"
    case 'h':	 // 1 string to match.
      if (memcmp(Name.data()+1, "tmlonly", 7))
        break;
      return &Commands[44];	 // "htmlonly"
    case 'm':	 // 1 string to match.
      if (memcmp(Name.data()+1, "ainpage", 7))
        break;
      return &Commands[55];	 // "mainpage"
    case 'o':	 // 1 string to match.
      if (memcmp(Name.data()+1, "verload", 7))
        break;
      return &Commands[65];	 // "overload"
    case 'p':	 // 2 strings to match.
      if (memcmp(Name.data()+1, "ro", 2))
        break;
      switch (Name[3]) {
      default: break;
      case 'p':	 // 1 string to match.
        if (memcmp(Name.data()+4, "erty", 4))
          break;
        return &Commands[74];	 // "property"
      case 't':	 // 1 string to match.
        if (memcmp(Name.data()+4, "ocol", 4))
          break;
        return &Commands[75];	 // "protocol"
      }
      break;
    case 's':	 // 1 string to match.
      if (memcmp(Name.data()+1, "ecurity", 7))
        break;
      return &Commands[86];	 // "security"
    case 't':	 // 1 string to match.
      if (memcmp(Name.data()+1, "emplate", 7))
        break;
      return &Commands[96];	 // "template"
    case 'v':	 // 1 string to match.
      if (memcmp(Name.data()+1, "erbatim", 7))
        break;
      return &Commands[105];	 // "verbatim"
    }
    break;
  case 9:	 // 10 strings to match.
    switch (Name[0]) {
    default: break;
    case 'a':	 // 1 string to match.
      if (memcmp(Name.data()+1, "ttention", 8))
        break;
      return &Commands[4];	 // "attention"
    case 'c':	 // 1 string to match.
      if (memcmp(Name.data()+1, "opyright", 8))
        break;
      return &Commands[20];	 // "copyright"
    case 'i':	 // 2 strings to match.
      if (Name[1] != 'n')
        break;
      switch (Name[2]) {
      default: break;
      case 't':	 // 1 string to match.
        if (memcmp(Name.data()+3, "erface", 6))
          break;
        return &Commands[48];	 // "interface"
      case 'v':	 // 1 string to match.
        if (memcmp(Name.data()+3, "ariant", 6))
          break;
        return &Commands[49];	 // "invariant"
      }
      break;
    case 'l':	 // 1 string to match.
      if (memcmp(Name.data()+1, "atexonly", 8))
        break;
      return &Commands[50];	 // "latexonly"
    case 'n':	 // 1 string to match.
      if (memcmp(Name.data()+1, "amespace", 8))
        break;
      return &Commands[63];	 // "namespace"
    case 'o':	 // 1 string to match.
      if (memcmp(Name.data()+1, "wnership", 8))
        break;
      return &Commands[66];	 // "ownership"
    case 'p':	 // 1 string to match.
      if (memcmp(Name.data()+1, "aragraph", 8))
        break;
      return &Commands[69];	 // "paragraph"
    case 't':	 // 1 string to match.
      if (memcmp(Name.data()+1, "extblock", 8))
        break;
      return &Commands[98];	 // "textblock"
    case 'w':	 // 1 string to match.
      if (memcmp(Name.data()+1, "eakgroup", 8))
        break;
      return &Commands[109];	 // "weakgroup"
    }
    break;
  case 10:	 // 11 strings to match.
    switch (Name[0]) {
    default: break;
    case '/':	 // 1 string to match.
      if (memcmp(Name.data()+1, "textblock", 9))
        break;
      return &Commands[99];	 // "/textblock"
    case 'a':	 // 1 string to match.
      if (memcmp(Name.data()+1, "ddtogroup", 9))
        break;
      return &Commands[2];	 // "addtogroup"
    case 'd':	 // 3 strings to match.
      switch (Name[1]) {
      default: break;
      case 'e':	 // 2 strings to match.
        if (Name[2] != 'p')
          break;
        switch (Name[3]) {
        default: break;
        case 'e':	 // 1 string to match.
          if (memcmp(Name.data()+4, "ndency", 6))
            break;
          return &Commands[23];	 // "dependency"
        case 'r':	 // 1 string to match.
          if (memcmp(Name.data()+4, "ecated", 6))
            break;
          return &Commands[24];	 // "deprecated"
        }
        break;
      case 'i':	 // 1 string to match.
        if (memcmp(Name.data()+2, "scussion", 8))
          break;
        return &Commands[26];	 // "discussion"
      }
      break;
    case 'e':	 // 3 strings to match.
      if (memcmp(Name.data()+1, "nd", 2))
        break;
      switch (Name[3]) {
      default: break;
      case 'm':	 // 1 string to match.
        if (memcmp(Name.data()+4, "anonly", 6))
          break;
        return &Commands[57];	 // "endmanonly"
      case 'r':	 // 1 string to match.
        if (memcmp(Name.data()+4, "tfonly", 6))
          break;
        return &Commands[83];	 // "endrtfonly"
      case 'x':	 // 1 string to match.
        if (memcmp(Name.data()+4, "mlonly", 6))
          break;
        return &Commands[111];	 // "endxmlonly"
      }
      break;
    case 'h':	 // 1 string to match.
      if (memcmp(Name.data()+1, "eaderfile", 9))
        break;
      return &Commands[40];	 // "headerfile"
    case 's':	 // 2 strings to match.
      if (Name[1] != 'u')
        break;
      switch (Name[2]) {
      default: break;
      case 'b':	 // 1 string to match.
        if (memcmp(Name.data()+3, "section", 7))
          break;
        return &Commands[93];	 // "subsection"
      case 'p':	 // 1 string to match.
        if (memcmp(Name.data()+3, "erclass", 7))
          break;
        return &Commands[95];	 // "superclass"
      }
      break;
    }
    break;
  case 11:	 // 6 strings to match.
    switch (Name[0]) {
    default: break;
    case 'c':	 // 1 string to match.
      if (memcmp(Name.data()+1, "lassdesign", 10))
        break;
      return &Commands[14];	 // "classdesign"
    case 'e':	 // 2 strings to match.
      if (memcmp(Name.data()+1, "nd", 2))
        break;
      switch (Name[3]) {
      default: break;
      case 'h':	 // 1 string to match.
        if (memcmp(Name.data()+4, "tmlonly", 7))
          break;
        return &Commands[45];	 // "endhtmlonly"
      case 'v':	 // 1 string to match.
        if (memcmp(Name.data()+4, "erbatim", 7))
          break;
        return &Commands[106];	 // "endverbatim"
      }
      break;
    case 'h':	 // 1 string to match.
      if (memcmp(Name.data()+1, "elperclass", 10))
        break;
      return &Commands[42];	 // "helperclass"
    case 'm':	 // 1 string to match.
      if (memcmp(Name.data()+1, "ethodgroup", 10))
        break;
      return &Commands[59];	 // "methodgroup"
    case 'p':	 // 1 string to match.
      if (memcmp(Name.data()+1, "erformance", 10))
        break;
      return &Commands[71];	 // "performance"
    }
    break;
  case 12:	 // 2 strings to match.
    switch (Name[0]) {
    default: break;
    case 'e':	 // 1 string to match.
      if (memcmp(Name.data()+1, "ndlatexonly", 11))
        break;
      return &Commands[51];	 // "endlatexonly"
    case 'i':	 // 1 string to match.
      if (memcmp(Name.data()+1, "nstancesize", 11))
        break;
      return &Commands[47];	 // "instancesize"
    }
    break;
  case 13:	 // 3 strings to match.
    switch (Name[0]) {
    default: break;
    case 'f':	 // 1 string to match.
      if (memcmp(Name.data()+1, "unctiongroup", 12))
        break;
      return &Commands[39];	 // "functiongroup"
    case 's':	 // 1 string to match.
      if (memcmp(Name.data()+1, "ubsubsection", 12))
        break;
      return &Commands[94];	 // "subsubsection"
    case 't':	 // 1 string to match.
      if (memcmp(Name.data()+1, "emplatefield", 12))
        break;
      return &Commands[97];	 // "templatefield"
    }
    break;
  }
  return NULL;
}

