import string, gettext
_ = gettext.gettext

try:
    frozenset
except NameError:
    # Import from the sets module for python 2.3
    from sets import Set as set
    from sets import ImmutableSet as frozenset

EOF = None

E = {
    "null-character": 
       _(u"Null character in input stream, replaced with U+FFFD."),
    "invalid-codepoint": 
       _(u"Invalid codepoint in stream."),
    "incorrectly-placed-solidus":
       _(u"Solidus (/) incorrectly placed in tag."),
    "incorrect-cr-newline-entity":
       _(u"Incorrect CR newline entity, replaced with LF."),
    "illegal-windows-1252-entity":
       _(u"Entity used with illegal number (windows-1252 reference)."),
    "cant-convert-numeric-entity":
       _(u"Numeric entity couldn't be converted to character "
         u"(codepoint U+%(charAsInt)08x)."),
    "illegal-codepoint-for-numeric-entity":
       _(u"Numeric entity represents an illegal codepoint: "
         u"U+%(charAsInt)08x."),
    "numeric-entity-without-semicolon":
       _(u"Numeric entity didn't end with ';'."),
    "expected-numeric-entity-but-got-eof":
       _(u"Numeric entity expected. Got end of file instead."),
    "expected-numeric-entity":
       _(u"Numeric entity expected but none found."),
    "named-entity-without-semicolon":
       _(u"Named entity didn't end with ';'."),
    "expected-named-entity":
       _(u"Named entity expected. Got none."),
    "attributes-in-end-tag":
       _(u"End tag contains unexpected attributes."),
    'self-closing-flag-on-end-tag':
        _(u"End tag contains unexpected self-closing flag."),
    "expected-tag-name-but-got-right-bracket":
       _(u"Expected tag name. Got '>' instead."),
    "expected-tag-name-but-got-question-mark":
       _(u"Expected tag name. Got '?' instead. (HTML doesn't "
         u"support processing instructions.)"),
    "expected-tag-name":
       _(u"Expected tag name. Got something else instead"),
    "expected-closing-tag-but-got-right-bracket":
       _(u"Expected closing tag. Got '>' instead. Ignoring '</>'."),
    "expected-closing-tag-but-got-eof":
       _(u"Expected closing tag. Unexpected end of file."),
    "expected-closing-tag-but-got-char":
       _(u"Expected closing tag. Unexpected character '%(data)s' found."),
    "eof-in-tag-name":
       _(u"Unexpected end of file in the tag name."),
    "expected-attribute-name-but-got-eof":
       _(u"Unexpected end of file. Expected attribute name instead."),
    "eof-in-attribute-name":
       _(u"Unexpected end of file in attribute name."),
    "invalid-character-in-attribute-name":
        _(u"Invalid chracter in attribute name"),
    "duplicate-attribute":
       _(u"Dropped duplicate attribute on tag."),
    "expected-end-of-tag-name-but-got-eof":
       _(u"Unexpected end of file. Expected = or end of tag."),
    "expected-attribute-value-but-got-eof":
       _(u"Unexpected end of file. Expected attribute value."),
    "expected-attribute-value-but-got-right-bracket":
       _(u"Expected attribute value. Got '>' instead."),
    'equals-in-unquoted-attribute-value':
        _(u"Unexpected = in unquoted attribute"),
    'unexpected-character-in-unquoted-attribute-value':
        _(u"Unexpected character in unquoted attribute"),
    "invalid-character-after-attribute-name":
       _(u"Unexpected character after attribute name."),
    "unexpected-character-after-attribute-value":
       _(u"Unexpected character after attribute value."),
    "eof-in-attribute-value-double-quote":
       _(u"Unexpected end of file in attribute value (\")."),
    "eof-in-attribute-value-single-quote":
       _(u"Unexpected end of file in attribute value (')."),
    "eof-in-attribute-value-no-quotes":
       _(u"Unexpected end of file in attribute value."),
    "unexpected-EOF-after-solidus-in-tag":
        _(u"Unexpected end of file in tag. Expected >"),
    "unexpected-character-after-soldius-in-tag":
        _(u"Unexpected character after / in tag. Expected >"),
    "expected-dashes-or-doctype":
       _(u"Expected '--' or 'DOCTYPE'. Not found."),
    "unexpected-bang-after-double-dash-in-comment":
        _(u"Unexpected ! after -- in comment"),
    "unexpected-space-after-double-dash-in-comment":
        _(u"Unexpected space after -- in comment"),
    "incorrect-comment":
       _(u"Incorrect comment."),
    "eof-in-comment":
       _(u"Unexpected end of file in comment."),
    "eof-in-comment-end-dash":
       _(u"Unexpected end of file in comment (-)"),
    "unexpected-dash-after-double-dash-in-comment":
       _(u"Unexpected '-' after '--' found in comment."),
    "eof-in-comment-double-dash":
       _(u"Unexpected end of file in comment (--)."),
    "eof-in-comment-end-space-state":
       _(u"Unexpected end of file in comment."),
    "eof-in-comment-end-bang-state":
       _(u"Unexpected end of file in comment."),
    "unexpected-char-in-comment":
       _(u"Unexpected character in comment found."),
    "need-space-after-doctype":
       _(u"No space after literal string 'DOCTYPE'."),
    "expected-doctype-name-but-got-right-bracket":
       _(u"Unexpected > character. Expected DOCTYPE name."),
    "expected-doctype-name-but-got-eof":
       _(u"Unexpected end of file. Expected DOCTYPE name."),
    "eof-in-doctype-name":
       _(u"Unexpected end of file in DOCTYPE name."),
    "eof-in-doctype":
       _(u"Unexpected end of file in DOCTYPE."),
    "expected-space-or-right-bracket-in-doctype":
       _(u"Expected space or '>'. Got '%(data)s'"),
    "unexpected-end-of-doctype":
       _(u"Unexpected end of DOCTYPE."),
    "unexpected-char-in-doctype":
       _(u"Unexpected character in DOCTYPE."),
    "eof-in-innerhtml":
       _(u"XXX innerHTML EOF"),
    "unexpected-doctype":
       _(u"Unexpected DOCTYPE. Ignored."),
    "non-html-root":
       _(u"html needs to be the first start tag."),
    "expected-doctype-but-got-eof":
       _(u"Unexpected End of file. Expected DOCTYPE."),
    "unknown-doctype":
       _(u"Erroneous DOCTYPE."),
    "expected-doctype-but-got-chars":
       _(u"Unexpected non-space characters. Expected DOCTYPE."),
    "expected-doctype-but-got-start-tag":
       _(u"Unexpected start tag (%(name)s). Expected DOCTYPE."),
    "expected-doctype-but-got-end-tag":
       _(u"Unexpected end tag (%(name)s). Expected DOCTYPE."),
    "end-tag-after-implied-root":
       _(u"Unexpected end tag (%(name)s) after the (implied) root element."),
    "expected-named-closing-tag-but-got-eof":
       _(u"Unexpected end of file. Expected end tag (%(name)s)."),
    "two-heads-are-not-better-than-one":
       _(u"Unexpected start tag head in existing head. Ignored."),
    "unexpected-end-tag":
       _(u"Unexpected end tag (%(name)s). Ignored."),
    "unexpected-start-tag-out-of-my-head":
       _(u"Unexpected start tag (%(name)s) that can be in head. Moved."),
    "unexpected-start-tag":
       _(u"Unexpected start tag (%(name)s)."),
    "missing-end-tag":
       _(u"Missing end tag (%(name)s)."),
    "missing-end-tags":
       _(u"Missing end tags (%(name)s)."),
    "unexpected-start-tag-implies-end-tag":
       _(u"Unexpected start tag (%(startName)s) "
         u"implies end tag (%(endName)s)."),
    "unexpected-start-tag-treated-as":
       _(u"Unexpected start tag (%(originalName)s). Treated as %(newName)s."),
    "deprecated-tag":
       _(u"Unexpected start tag %(name)s. Don't use it!"),
    "unexpected-start-tag-ignored":
       _(u"Unexpected start tag %(name)s. Ignored."),
    "expected-one-end-tag-but-got-another":
       _(u"Unexpected end tag (%(gotName)s). "
         u"Missing end tag (%(expectedName)s)."),
    "end-tag-too-early":
       _(u"End tag (%(name)s) seen too early. Expected other end tag."),
    "end-tag-too-early-named":
       _(u"Unexpected end tag (%(gotName)s). Expected end tag (%(expectedName)s)."),
    "end-tag-too-early-ignored":
       _(u"End tag (%(name)s) seen too early. Ignored."),
    "adoption-agency-1.1":
       _(u"End tag (%(name)s) violates step 1, "
         u"paragraph 1 of the adoption agency algorithm."),
    "adoption-agency-1.2":
       _(u"End tag (%(name)s) violates step 1, "
         u"paragraph 2 of the adoption agency algorithm."),
    "adoption-agency-1.3":
       _(u"End tag (%(name)s) violates step 1, "
         u"paragraph 3 of the adoption agency algorithm."),
    "unexpected-end-tag-treated-as":
       _(u"Unexpected end tag (%(originalName)s). Treated as %(newName)s."),
    "no-end-tag":
       _(u"This element (%(name)s) has no end tag."),
    "unexpected-implied-end-tag-in-table":
       _(u"Unexpected implied end tag (%(name)s) in the table phase."),
    "unexpected-implied-end-tag-in-table-body":
       _(u"Unexpected implied end tag (%(name)s) in the table body phase."),
    "unexpected-char-implies-table-voodoo":
       _(u"Unexpected non-space characters in "
         u"table context caused voodoo mode."),
    "unexpected-hidden-input-in-table":
       _(u"Unexpected input with type hidden in table context."),
    "unexpected-form-in-table":
       _(u"Unexpected form in table context."),
    "unexpected-start-tag-implies-table-voodoo":
       _(u"Unexpected start tag (%(name)s) in "
         u"table context caused voodoo mode."),
    "unexpected-end-tag-implies-table-voodoo":
       _(u"Unexpected end tag (%(name)s) in "
         u"table context caused voodoo mode."),
    "unexpected-cell-in-table-body":
       _(u"Unexpected table cell start tag (%(name)s) "
         u"in the table body phase."),
    "unexpected-cell-end-tag":
       _(u"Got table cell end tag (%(name)s) "
         u"while required end tags are missing."),
    "unexpected-end-tag-in-table-body":
       _(u"Unexpected end tag (%(name)s) in the table body phase. Ignored."),
    "unexpected-implied-end-tag-in-table-row":
       _(u"Unexpected implied end tag (%(name)s) in the table row phase."),
    "unexpected-end-tag-in-table-row":
       _(u"Unexpected end tag (%(name)s) in the table row phase. Ignored."),
    "unexpected-select-in-select":
       _(u"Unexpected select start tag in the select phase "
         u"treated as select end tag."),
    "unexpected-input-in-select":
       _(u"Unexpected input start tag in the select phase."),
    "unexpected-start-tag-in-select":
       _(u"Unexpected start tag token (%(name)s in the select phase. "
         u"Ignored."),
    "unexpected-end-tag-in-select":
       _(u"Unexpected end tag (%(name)s) in the select phase. Ignored."),
    "unexpected-table-element-start-tag-in-select-in-table":
       _(u"Unexpected table element start tag (%(name)s) in the select in table phase."),
    "unexpected-table-element-end-tag-in-select-in-table":
       _(u"Unexpected table element end tag (%(name)s) in the select in table phase."),
    "unexpected-char-after-body":
       _(u"Unexpected non-space characters in the after body phase."),
    "unexpected-start-tag-after-body":
       _(u"Unexpected start tag token (%(name)s)"
         u" in the after body phase."),
    "unexpected-end-tag-after-body":
       _(u"Unexpected end tag token (%(name)s)"
         u" in the after body phase."),
    "unexpected-char-in-frameset":
       _(u"Unepxected characters in the frameset phase. Characters ignored."),
    "unexpected-start-tag-in-frameset":
       _(u"Unexpected start tag token (%(name)s)"
         u" in the frameset phase. Ignored."),
    "unexpected-frameset-in-frameset-innerhtml":
       _(u"Unexpected end tag token (frameset) "
         u"in the frameset phase (innerHTML)."),
    "unexpected-end-tag-in-frameset":
       _(u"Unexpected end tag token (%(name)s)"
         u" in the frameset phase. Ignored."),
    "unexpected-char-after-frameset":
       _(u"Unexpected non-space characters in the "
         u"after frameset phase. Ignored."),
    "unexpected-start-tag-after-frameset":
       _(u"Unexpected start tag (%(name)s)"
         u" in the after frameset phase. Ignored."),
    "unexpected-end-tag-after-frameset":
       _(u"Unexpected end tag (%(name)s)"
         u" in the after frameset phase. Ignored."),
    "unexpected-end-tag-after-body-innerhtml":
       _(u"Unexpected end tag after body(innerHtml)"),
    "expected-eof-but-got-char":
       _(u"Unexpected non-space characters. Expected end of file."),
    "expected-eof-but-got-start-tag":
       _(u"Unexpected start tag (%(name)s)"
         u". Expected end of file."),
    "expected-eof-but-got-end-tag":
       _(u"Unexpected end tag (%(name)s)"
         u". Expected end of file."),
    "eof-in-table":
       _(u"Unexpected end of file. Expected table content."),
    "eof-in-select":
       _(u"Unexpected end of file. Expected select content."),
    "eof-in-frameset":
       _(u"Unexpected end of file. Expected frameset content."),
    "eof-in-script-in-script":
       _(u"Unexpected end of file. Expected script content."),
    "eof-in-foreign-lands":
       _(u"Unexpected end of file. Expected foreign content"),
    "non-void-element-with-trailing-solidus":
       _(u"Trailing solidus not allowed on element %(name)s"),
    "unexpected-html-element-in-foreign-content":
       _(u"Element %(name)s not allowed in a non-html context"),
    "unexpected-end-tag-before-html":
        _(u"Unexpected end tag (%(name)s) before html."),
    "XXX-undefined-error":
        (u"Undefined error (this sucks and should be fixed)"),
}

namespaces = {
    "html":"http://www.w3.org/1999/xhtml",
    "mathml":"http://www.w3.org/1998/Math/MathML",
    "svg":"http://www.w3.org/2000/svg",
    "xlink":"http://www.w3.org/1999/xlink",
    "xml":"http://www.w3.org/XML/1998/namespace",
    "xmlns":"http://www.w3.org/2000/xmlns/"
}

scopingElements = frozenset((
    (namespaces["html"], "applet"),
    (namespaces["html"], "caption"),
    (namespaces["html"], "html"),
    (namespaces["html"], "marquee"),
    (namespaces["html"], "object"),
    (namespaces["html"], "table"),
    (namespaces["html"], "td"),
    (namespaces["html"], "th"),
    (namespaces["mathml"], "mi"),
    (namespaces["mathml"], "mo"),
    (namespaces["mathml"], "mn"),
    (namespaces["mathml"], "ms"),
    (namespaces["mathml"], "mtext"),
    (namespaces["mathml"], "annotation-xml"),
    (namespaces["svg"], "foreignObject"),
    (namespaces["svg"], "desc"),
    (namespaces["svg"], "title"),
))

formattingElements = frozenset((
    (namespaces["html"], "a"),
    (namespaces["html"], "b"),
    (namespaces["html"], "big"),
    (namespaces["html"], "code"),
    (namespaces["html"], "em"),
    (namespaces["html"], "font"),
    (namespaces["html"], "i"),
    (namespaces["html"], "nobr"),
    (namespaces["html"], "s"),
    (namespaces["html"], "small"),
    (namespaces["html"], "strike"),
    (namespaces["html"], "strong"),
    (namespaces["html"], "tt"),
    (namespaces["html"], "u")
))

specialElements = frozenset((
    (namespaces["html"], "address"),
    (namespaces["html"], "applet"),
    (namespaces["html"], "area"),
    (namespaces["html"], "article"),
    (namespaces["html"], "aside"),
    (namespaces["html"], "base"),
    (namespaces["html"], "basefont"),
    (namespaces["html"], "bgsound"),
    (namespaces["html"], "blockquote"),
    (namespaces["html"], "body"),
    (namespaces["html"], "br"),
    (namespaces["html"], "button"),
    (namespaces["html"], "caption"),
    (namespaces["html"], "center"),
    (namespaces["html"], "col"),
    (namespaces["html"], "colgroup"),
    (namespaces["html"], "command"),
    (namespaces["html"], "dd"),
    (namespaces["html"], "details"),
    (namespaces["html"], "dir"),
    (namespaces["html"], "div"),
    (namespaces["html"], "dl"),
    (namespaces["html"], "dt"),
    (namespaces["html"], "embed"),
    (namespaces["html"], "fieldset"),
    (namespaces["html"], "figure"),
    (namespaces["html"], "footer"),
    (namespaces["html"], "form"),
    (namespaces["html"], "frame"),
    (namespaces["html"], "frameset"),
    (namespaces["html"], "h1"),
    (namespaces["html"], "h2"),
    (namespaces["html"], "h3"),
    (namespaces["html"], "h4"),
    (namespaces["html"], "h5"),
    (namespaces["html"], "h6"),
    (namespaces["html"], "head"),
    (namespaces["html"], "header"),
    (namespaces["html"], "hr"),
    (namespaces["html"], "html"),
    (namespaces["html"], "iframe"),
    # Note that image is commented out in the spec as "this isn't an
    # element that can end up on the stack, so it doesn't matter,"
    (namespaces["html"], "image"), 
    (namespaces["html"], "img"),
    (namespaces["html"], "input"),
    (namespaces["html"], "isindex"),
    (namespaces["html"], "li"),
    (namespaces["html"], "link"),
    (namespaces["html"], "listing"),
    (namespaces["html"], "marquee"),
    (namespaces["html"], "menu"),
    (namespaces["html"], "meta"),
    (namespaces["html"], "nav"),
    (namespaces["html"], "noembed"),
    (namespaces["html"], "noframes"),
    (namespaces["html"], "noscript"),
    (namespaces["html"], "object"),
    (namespaces["html"], "ol"),
    (namespaces["html"], "p"),
    (namespaces["html"], "param"),
    (namespaces["html"], "plaintext"),
    (namespaces["html"], "pre"),
    (namespaces["html"], "script"),
    (namespaces["html"], "section"),
    (namespaces["html"], "select"),
    (namespaces["html"], "style"),
    (namespaces["html"], "table"),
    (namespaces["html"], "tbody"),
    (namespaces["html"], "td"),
    (namespaces["html"], "textarea"),
    (namespaces["html"], "tfoot"),
    (namespaces["html"], "th"),
    (namespaces["html"], "thead"),
    (namespaces["html"], "title"),
    (namespaces["html"], "tr"),
    (namespaces["html"], "ul"),
    (namespaces["html"], "wbr"),
    (namespaces["html"], "xmp"),
    (namespaces["svg"], "foreignObject")
))

htmlIntegrationPointElements = frozenset((
    (namespaces["mathml"], "annotaion-xml"),
    (namespaces["svg"], "foreignObject"),
    (namespaces["svg"], "desc"),
    (namespaces["svg"], "title")
))

mathmlTextIntegrationPointElements = frozenset((
    (namespaces["mathml"], "mi"),
    (namespaces["mathml"], "mo"),
    (namespaces["mathml"], "mn"),
    (namespaces["mathml"], "ms"),
    (namespaces["mathml"], "mtext")
))

spaceCharacters = frozenset((
    u"\t",
    u"\n",
    u"\u000C",
    u" ",
    u"\r"
))

tableInsertModeElements = frozenset((
    "table",
    "tbody",
    "tfoot",
    "thead",
    "tr"
))

asciiLowercase = frozenset(string.ascii_lowercase)
asciiUppercase = frozenset(string.ascii_uppercase)
asciiLetters = frozenset(string.ascii_letters)
digits = frozenset(string.digits)
hexDigits = frozenset(string.hexdigits)

asciiUpper2Lower = dict([(ord(c),ord(c.lower()))
    for c in string.ascii_uppercase])

# Heading elements need to be ordered
headingElements = (
    "h1",
    "h2",
    "h3",
    "h4",
    "h5",
    "h6"
)

voidElements = frozenset((
    "base",
    "command",
    "event-source",
    "link",
    "meta",
    "hr",
    "br",
    "img",
    "embed",
    "param",
    "area",
    "col",
    "input",
    "source",
    "track"
))

cdataElements = frozenset(('title', 'textarea'))

rcdataElements = frozenset((
    'style',
    'script',
    'xmp',
    'iframe',
    'noembed',
    'noframes',
    'noscript'
))

booleanAttributes = {
    "": frozenset(("irrelevant",)),
    "style": frozenset(("scoped",)),
    "img": frozenset(("ismap",)),
    "audio": frozenset(("autoplay","controls")),
    "video": frozenset(("autoplay","controls")),
    "script": frozenset(("defer", "async")),
    "details": frozenset(("open",)),
    "datagrid": frozenset(("multiple", "disabled")),
    "command": frozenset(("hidden", "disabled", "checked", "default")),
    "hr": frozenset(("noshade")),
    "menu": frozenset(("autosubmit",)),
    "fieldset": frozenset(("disabled", "readonly")),
    "option": frozenset(("disabled", "readonly", "selected")),
    "optgroup": frozenset(("disabled", "readonly")),
    "button": frozenset(("disabled", "autofocus")),
    "input": frozenset(("disabled", "readonly", "required", "autofocus", "checked", "ismap")),
    "select": frozenset(("disabled", "readonly", "autofocus", "multiple")),
    "output": frozenset(("disabled", "readonly")),
}

# entitiesWindows1252 has to be _ordered_ and needs to have an index. It
# therefore can't be a frozenset.
entitiesWindows1252 = (
    8364,  # 0x80  0x20AC  EURO SIGN
    65533, # 0x81          UNDEFINED
    8218,  # 0x82  0x201A  SINGLE LOW-9 QUOTATION MARK
    402,   # 0x83  0x0192  LATIN SMALL LETTER F WITH HOOK
    8222,  # 0x84  0x201E  DOUBLE LOW-9 QUOTATION MARK
    8230,  # 0x85  0x2026  HORIZONTAL ELLIPSIS
    8224,  # 0x86  0x2020  DAGGER
    8225,  # 0x87  0x2021  DOUBLE DAGGER
    710,   # 0x88  0x02C6  MODIFIER LETTER CIRCUMFLEX ACCENT
    8240,  # 0x89  0x2030  PER MILLE SIGN
    352,   # 0x8A  0x0160  LATIN CAPITAL LETTER S WITH CARON
    8249,  # 0x8B  0x2039  SINGLE LEFT-POINTING ANGLE QUOTATION MARK
    338,   # 0x8C  0x0152  LATIN CAPITAL LIGATURE OE
    65533, # 0x8D          UNDEFINED
    381,   # 0x8E  0x017D  LATIN CAPITAL LETTER Z WITH CARON
    65533, # 0x8F          UNDEFINED
    65533, # 0x90          UNDEFINED
    8216,  # 0x91  0x2018  LEFT SINGLE QUOTATION MARK
    8217,  # 0x92  0x2019  RIGHT SINGLE QUOTATION MARK
    8220,  # 0x93  0x201C  LEFT DOUBLE QUOTATION MARK
    8221,  # 0x94  0x201D  RIGHT DOUBLE QUOTATION MARK
    8226,  # 0x95  0x2022  BULLET
    8211,  # 0x96  0x2013  EN DASH
    8212,  # 0x97  0x2014  EM DASH
    732,   # 0x98  0x02DC  SMALL TILDE
    8482,  # 0x99  0x2122  TRADE MARK SIGN
    353,   # 0x9A  0x0161  LATIN SMALL LETTER S WITH CARON
    8250,  # 0x9B  0x203A  SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
    339,   # 0x9C  0x0153  LATIN SMALL LIGATURE OE
    65533, # 0x9D          UNDEFINED
    382,   # 0x9E  0x017E  LATIN SMALL LETTER Z WITH CARON
    376    # 0x9F  0x0178  LATIN CAPITAL LETTER Y WITH DIAERESIS
)

xmlEntities = frozenset(('lt;', 'gt;', 'amp;', 'apos;', 'quot;'))

entities = {
    "AElig": u"\xc6",
    "AElig;": u"\xc6",
    "AMP": u"&",
    "AMP;": u"&",
    "Aacute": u"\xc1",
    "Aacute;": u"\xc1",
    "Abreve;": u"\u0102",
    "Acirc": u"\xc2",
    "Acirc;": u"\xc2",
    "Acy;": u"\u0410",
    "Afr;": u"\U0001d504",
    "Agrave": u"\xc0",
    "Agrave;": u"\xc0",
    "Alpha;": u"\u0391",
    "Amacr;": u"\u0100",
    "And;": u"\u2a53",
    "Aogon;": u"\u0104",
    "Aopf;": u"\U0001d538",
    "ApplyFunction;": u"\u2061",
    "Aring": u"\xc5",
    "Aring;": u"\xc5",
    "Ascr;": u"\U0001d49c",
    "Assign;": u"\u2254",
    "Atilde": u"\xc3",
    "Atilde;": u"\xc3",
    "Auml": u"\xc4",
    "Auml;": u"\xc4",
    "Backslash;": u"\u2216",
    "Barv;": u"\u2ae7",
    "Barwed;": u"\u2306",
    "Bcy;": u"\u0411",
    "Because;": u"\u2235",
    "Bernoullis;": u"\u212c",
    "Beta;": u"\u0392",
    "Bfr;": u"\U0001d505",
    "Bopf;": u"\U0001d539",
    "Breve;": u"\u02d8",
    "Bscr;": u"\u212c",
    "Bumpeq;": u"\u224e",
    "CHcy;": u"\u0427",
    "COPY": u"\xa9",
    "COPY;": u"\xa9",
    "Cacute;": u"\u0106",
    "Cap;": u"\u22d2",
    "CapitalDifferentialD;": u"\u2145",
    "Cayleys;": u"\u212d",
    "Ccaron;": u"\u010c",
    "Ccedil": u"\xc7",
    "Ccedil;": u"\xc7",
    "Ccirc;": u"\u0108",
    "Cconint;": u"\u2230",
    "Cdot;": u"\u010a",
    "Cedilla;": u"\xb8",
    "CenterDot;": u"\xb7",
    "Cfr;": u"\u212d",
    "Chi;": u"\u03a7",
    "CircleDot;": u"\u2299",
    "CircleMinus;": u"\u2296",
    "CirclePlus;": u"\u2295",
    "CircleTimes;": u"\u2297",
    "ClockwiseContourIntegral;": u"\u2232",
    "CloseCurlyDoubleQuote;": u"\u201d",
    "CloseCurlyQuote;": u"\u2019",
    "Colon;": u"\u2237",
    "Colone;": u"\u2a74",
    "Congruent;": u"\u2261",
    "Conint;": u"\u222f",
    "ContourIntegral;": u"\u222e",
    "Copf;": u"\u2102",
    "Coproduct;": u"\u2210",
    "CounterClockwiseContourIntegral;": u"\u2233",
    "Cross;": u"\u2a2f",
    "Cscr;": u"\U0001d49e",
    "Cup;": u"\u22d3",
    "CupCap;": u"\u224d",
    "DD;": u"\u2145",
    "DDotrahd;": u"\u2911",
    "DJcy;": u"\u0402",
    "DScy;": u"\u0405",
    "DZcy;": u"\u040f",
    "Dagger;": u"\u2021",
    "Darr;": u"\u21a1",
    "Dashv;": u"\u2ae4",
    "Dcaron;": u"\u010e",
    "Dcy;": u"\u0414",
    "Del;": u"\u2207",
    "Delta;": u"\u0394",
    "Dfr;": u"\U0001d507",
    "DiacriticalAcute;": u"\xb4",
    "DiacriticalDot;": u"\u02d9",
    "DiacriticalDoubleAcute;": u"\u02dd",
    "DiacriticalGrave;": u"`",
    "DiacriticalTilde;": u"\u02dc",
    "Diamond;": u"\u22c4",
    "DifferentialD;": u"\u2146",
    "Dopf;": u"\U0001d53b",
    "Dot;": u"\xa8",
    "DotDot;": u"\u20dc",
    "DotEqual;": u"\u2250",
    "DoubleContourIntegral;": u"\u222f",
    "DoubleDot;": u"\xa8",
    "DoubleDownArrow;": u"\u21d3",
    "DoubleLeftArrow;": u"\u21d0",
    "DoubleLeftRightArrow;": u"\u21d4",
    "DoubleLeftTee;": u"\u2ae4",
    "DoubleLongLeftArrow;": u"\u27f8",
    "DoubleLongLeftRightArrow;": u"\u27fa",
    "DoubleLongRightArrow;": u"\u27f9",
    "DoubleRightArrow;": u"\u21d2",
    "DoubleRightTee;": u"\u22a8",
    "DoubleUpArrow;": u"\u21d1",
    "DoubleUpDownArrow;": u"\u21d5",
    "DoubleVerticalBar;": u"\u2225",
    "DownArrow;": u"\u2193",
    "DownArrowBar;": u"\u2913",
    "DownArrowUpArrow;": u"\u21f5",
    "DownBreve;": u"\u0311",
    "DownLeftRightVector;": u"\u2950",
    "DownLeftTeeVector;": u"\u295e",
    "DownLeftVector;": u"\u21bd",
    "DownLeftVectorBar;": u"\u2956",
    "DownRightTeeVector;": u"\u295f",
    "DownRightVector;": u"\u21c1",
    "DownRightVectorBar;": u"\u2957",
    "DownTee;": u"\u22a4",
    "DownTeeArrow;": u"\u21a7",
    "Downarrow;": u"\u21d3",
    "Dscr;": u"\U0001d49f",
    "Dstrok;": u"\u0110",
    "ENG;": u"\u014a",
    "ETH": u"\xd0",
    "ETH;": u"\xd0",
    "Eacute": u"\xc9",
    "Eacute;": u"\xc9",
    "Ecaron;": u"\u011a",
    "Ecirc": u"\xca",
    "Ecirc;": u"\xca",
    "Ecy;": u"\u042d",
    "Edot;": u"\u0116",
    "Efr;": u"\U0001d508",
    "Egrave": u"\xc8",
    "Egrave;": u"\xc8",
    "Element;": u"\u2208",
    "Emacr;": u"\u0112",
    "EmptySmallSquare;": u"\u25fb",
    "EmptyVerySmallSquare;": u"\u25ab",
    "Eogon;": u"\u0118",
    "Eopf;": u"\U0001d53c",
    "Epsilon;": u"\u0395",
    "Equal;": u"\u2a75",
    "EqualTilde;": u"\u2242",
    "Equilibrium;": u"\u21cc",
    "Escr;": u"\u2130",
    "Esim;": u"\u2a73",
    "Eta;": u"\u0397",
    "Euml": u"\xcb",
    "Euml;": u"\xcb",
    "Exists;": u"\u2203",
    "ExponentialE;": u"\u2147",
    "Fcy;": u"\u0424",
    "Ffr;": u"\U0001d509",
    "FilledSmallSquare;": u"\u25fc",
    "FilledVerySmallSquare;": u"\u25aa",
    "Fopf;": u"\U0001d53d",
    "ForAll;": u"\u2200",
    "Fouriertrf;": u"\u2131",
    "Fscr;": u"\u2131",
    "GJcy;": u"\u0403",
    "GT": u">",
    "GT;": u">",
    "Gamma;": u"\u0393",
    "Gammad;": u"\u03dc",
    "Gbreve;": u"\u011e",
    "Gcedil;": u"\u0122",
    "Gcirc;": u"\u011c",
    "Gcy;": u"\u0413",
    "Gdot;": u"\u0120",
    "Gfr;": u"\U0001d50a",
    "Gg;": u"\u22d9",
    "Gopf;": u"\U0001d53e",
    "GreaterEqual;": u"\u2265",
    "GreaterEqualLess;": u"\u22db",
    "GreaterFullEqual;": u"\u2267",
    "GreaterGreater;": u"\u2aa2",
    "GreaterLess;": u"\u2277",
    "GreaterSlantEqual;": u"\u2a7e",
    "GreaterTilde;": u"\u2273",
    "Gscr;": u"\U0001d4a2",
    "Gt;": u"\u226b",
    "HARDcy;": u"\u042a",
    "Hacek;": u"\u02c7",
    "Hat;": u"^",
    "Hcirc;": u"\u0124",
    "Hfr;": u"\u210c",
    "HilbertSpace;": u"\u210b",
    "Hopf;": u"\u210d",
    "HorizontalLine;": u"\u2500",
    "Hscr;": u"\u210b",
    "Hstrok;": u"\u0126",
    "HumpDownHump;": u"\u224e",
    "HumpEqual;": u"\u224f",
    "IEcy;": u"\u0415",
    "IJlig;": u"\u0132",
    "IOcy;": u"\u0401",
    "Iacute": u"\xcd",
    "Iacute;": u"\xcd",
    "Icirc": u"\xce",
    "Icirc;": u"\xce",
    "Icy;": u"\u0418",
    "Idot;": u"\u0130",
    "Ifr;": u"\u2111",
    "Igrave": u"\xcc",
    "Igrave;": u"\xcc",
    "Im;": u"\u2111",
    "Imacr;": u"\u012a",
    "ImaginaryI;": u"\u2148",
    "Implies;": u"\u21d2",
    "Int;": u"\u222c",
    "Integral;": u"\u222b",
    "Intersection;": u"\u22c2",
    "InvisibleComma;": u"\u2063",
    "InvisibleTimes;": u"\u2062",
    "Iogon;": u"\u012e",
    "Iopf;": u"\U0001d540",
    "Iota;": u"\u0399",
    "Iscr;": u"\u2110",
    "Itilde;": u"\u0128",
    "Iukcy;": u"\u0406",
    "Iuml": u"\xcf",
    "Iuml;": u"\xcf",
    "Jcirc;": u"\u0134",
    "Jcy;": u"\u0419",
    "Jfr;": u"\U0001d50d",
    "Jopf;": u"\U0001d541",
    "Jscr;": u"\U0001d4a5",
    "Jsercy;": u"\u0408",
    "Jukcy;": u"\u0404",
    "KHcy;": u"\u0425",
    "KJcy;": u"\u040c",
    "Kappa;": u"\u039a",
    "Kcedil;": u"\u0136",
    "Kcy;": u"\u041a",
    "Kfr;": u"\U0001d50e",
    "Kopf;": u"\U0001d542",
    "Kscr;": u"\U0001d4a6",
    "LJcy;": u"\u0409",
    "LT": u"<",
    "LT;": u"<",
    "Lacute;": u"\u0139",
    "Lambda;": u"\u039b",
    "Lang;": u"\u27ea",
    "Laplacetrf;": u"\u2112",
    "Larr;": u"\u219e",
    "Lcaron;": u"\u013d",
    "Lcedil;": u"\u013b",
    "Lcy;": u"\u041b",
    "LeftAngleBracket;": u"\u27e8",
    "LeftArrow;": u"\u2190",
    "LeftArrowBar;": u"\u21e4",
    "LeftArrowRightArrow;": u"\u21c6",
    "LeftCeiling;": u"\u2308",
    "LeftDoubleBracket;": u"\u27e6",
    "LeftDownTeeVector;": u"\u2961",
    "LeftDownVector;": u"\u21c3",
    "LeftDownVectorBar;": u"\u2959",
    "LeftFloor;": u"\u230a",
    "LeftRightArrow;": u"\u2194",
    "LeftRightVector;": u"\u294e",
    "LeftTee;": u"\u22a3",
    "LeftTeeArrow;": u"\u21a4",
    "LeftTeeVector;": u"\u295a",
    "LeftTriangle;": u"\u22b2",
    "LeftTriangleBar;": u"\u29cf",
    "LeftTriangleEqual;": u"\u22b4",
    "LeftUpDownVector;": u"\u2951",
    "LeftUpTeeVector;": u"\u2960",
    "LeftUpVector;": u"\u21bf",
    "LeftUpVectorBar;": u"\u2958",
    "LeftVector;": u"\u21bc",
    "LeftVectorBar;": u"\u2952",
    "Leftarrow;": u"\u21d0",
    "Leftrightarrow;": u"\u21d4",
    "LessEqualGreater;": u"\u22da",
    "LessFullEqual;": u"\u2266",
    "LessGreater;": u"\u2276",
    "LessLess;": u"\u2aa1",
    "LessSlantEqual;": u"\u2a7d",
    "LessTilde;": u"\u2272",
    "Lfr;": u"\U0001d50f",
    "Ll;": u"\u22d8",
    "Lleftarrow;": u"\u21da",
    "Lmidot;": u"\u013f",
    "LongLeftArrow;": u"\u27f5",
    "LongLeftRightArrow;": u"\u27f7",
    "LongRightArrow;": u"\u27f6",
    "Longleftarrow;": u"\u27f8",
    "Longleftrightarrow;": u"\u27fa",
    "Longrightarrow;": u"\u27f9",
    "Lopf;": u"\U0001d543",
    "LowerLeftArrow;": u"\u2199",
    "LowerRightArrow;": u"\u2198",
    "Lscr;": u"\u2112",
    "Lsh;": u"\u21b0",
    "Lstrok;": u"\u0141",
    "Lt;": u"\u226a",
    "Map;": u"\u2905",
    "Mcy;": u"\u041c",
    "MediumSpace;": u"\u205f",
    "Mellintrf;": u"\u2133",
    "Mfr;": u"\U0001d510",
    "MinusPlus;": u"\u2213",
    "Mopf;": u"\U0001d544",
    "Mscr;": u"\u2133",
    "Mu;": u"\u039c",
    "NJcy;": u"\u040a",
    "Nacute;": u"\u0143",
    "Ncaron;": u"\u0147",
    "Ncedil;": u"\u0145",
    "Ncy;": u"\u041d",
    "NegativeMediumSpace;": u"\u200b",
    "NegativeThickSpace;": u"\u200b",
    "NegativeThinSpace;": u"\u200b",
    "NegativeVeryThinSpace;": u"\u200b",
    "NestedGreaterGreater;": u"\u226b",
    "NestedLessLess;": u"\u226a",
    "NewLine;": u"\n",
    "Nfr;": u"\U0001d511",
    "NoBreak;": u"\u2060",
    "NonBreakingSpace;": u"\xa0",
    "Nopf;": u"\u2115",
    "Not;": u"\u2aec",
    "NotCongruent;": u"\u2262",
    "NotCupCap;": u"\u226d",
    "NotDoubleVerticalBar;": u"\u2226",
    "NotElement;": u"\u2209",
    "NotEqual;": u"\u2260",
    "NotEqualTilde;": u"\u2242\u0338",
    "NotExists;": u"\u2204",
    "NotGreater;": u"\u226f",
    "NotGreaterEqual;": u"\u2271",
    "NotGreaterFullEqual;": u"\u2267\u0338",
    "NotGreaterGreater;": u"\u226b\u0338",
    "NotGreaterLess;": u"\u2279",
    "NotGreaterSlantEqual;": u"\u2a7e\u0338",
    "NotGreaterTilde;": u"\u2275",
    "NotHumpDownHump;": u"\u224e\u0338",
    "NotHumpEqual;": u"\u224f\u0338",
    "NotLeftTriangle;": u"\u22ea",
    "NotLeftTriangleBar;": u"\u29cf\u0338",
    "NotLeftTriangleEqual;": u"\u22ec",
    "NotLess;": u"\u226e",
    "NotLessEqual;": u"\u2270",
    "NotLessGreater;": u"\u2278",
    "NotLessLess;": u"\u226a\u0338",
    "NotLessSlantEqual;": u"\u2a7d\u0338",
    "NotLessTilde;": u"\u2274",
    "NotNestedGreaterGreater;": u"\u2aa2\u0338",
    "NotNestedLessLess;": u"\u2aa1\u0338",
    "NotPrecedes;": u"\u2280",
    "NotPrecedesEqual;": u"\u2aaf\u0338",
    "NotPrecedesSlantEqual;": u"\u22e0",
    "NotReverseElement;": u"\u220c",
    "NotRightTriangle;": u"\u22eb",
    "NotRightTriangleBar;": u"\u29d0\u0338",
    "NotRightTriangleEqual;": u"\u22ed",
    "NotSquareSubset;": u"\u228f\u0338",
    "NotSquareSubsetEqual;": u"\u22e2",
    "NotSquareSuperset;": u"\u2290\u0338",
    "NotSquareSupersetEqual;": u"\u22e3",
    "NotSubset;": u"\u2282\u20d2",
    "NotSubsetEqual;": u"\u2288",
    "NotSucceeds;": u"\u2281",
    "NotSucceedsEqual;": u"\u2ab0\u0338",
    "NotSucceedsSlantEqual;": u"\u22e1",
    "NotSucceedsTilde;": u"\u227f\u0338",
    "NotSuperset;": u"\u2283\u20d2",
    "NotSupersetEqual;": u"\u2289",
    "NotTilde;": u"\u2241",
    "NotTildeEqual;": u"\u2244",
    "NotTildeFullEqual;": u"\u2247",
    "NotTildeTilde;": u"\u2249",
    "NotVerticalBar;": u"\u2224",
    "Nscr;": u"\U0001d4a9",
    "Ntilde": u"\xd1",
    "Ntilde;": u"\xd1",
    "Nu;": u"\u039d",
    "OElig;": u"\u0152",
    "Oacute": u"\xd3",
    "Oacute;": u"\xd3",
    "Ocirc": u"\xd4",
    "Ocirc;": u"\xd4",
    "Ocy;": u"\u041e",
    "Odblac;": u"\u0150",
    "Ofr;": u"\U0001d512",
    "Ograve": u"\xd2",
    "Ograve;": u"\xd2",
    "Omacr;": u"\u014c",
    "Omega;": u"\u03a9",
    "Omicron;": u"\u039f",
    "Oopf;": u"\U0001d546",
    "OpenCurlyDoubleQuote;": u"\u201c",
    "OpenCurlyQuote;": u"\u2018",
    "Or;": u"\u2a54",
    "Oscr;": u"\U0001d4aa",
    "Oslash": u"\xd8",
    "Oslash;": u"\xd8",
    "Otilde": u"\xd5",
    "Otilde;": u"\xd5",
    "Otimes;": u"\u2a37",
    "Ouml": u"\xd6",
    "Ouml;": u"\xd6",
    "OverBar;": u"\u203e",
    "OverBrace;": u"\u23de",
    "OverBracket;": u"\u23b4",
    "OverParenthesis;": u"\u23dc",
    "PartialD;": u"\u2202",
    "Pcy;": u"\u041f",
    "Pfr;": u"\U0001d513",
    "Phi;": u"\u03a6",
    "Pi;": u"\u03a0",
    "PlusMinus;": u"\xb1",
    "Poincareplane;": u"\u210c",
    "Popf;": u"\u2119",
    "Pr;": u"\u2abb",
    "Precedes;": u"\u227a",
    "PrecedesEqual;": u"\u2aaf",
    "PrecedesSlantEqual;": u"\u227c",
    "PrecedesTilde;": u"\u227e",
    "Prime;": u"\u2033",
    "Product;": u"\u220f",
    "Proportion;": u"\u2237",
    "Proportional;": u"\u221d",
    "Pscr;": u"\U0001d4ab",
    "Psi;": u"\u03a8",
    "QUOT": u"\"",
    "QUOT;": u"\"",
    "Qfr;": u"\U0001d514",
    "Qopf;": u"\u211a",
    "Qscr;": u"\U0001d4ac",
    "RBarr;": u"\u2910",
    "REG": u"\xae",
    "REG;": u"\xae",
    "Racute;": u"\u0154",
    "Rang;": u"\u27eb",
    "Rarr;": u"\u21a0",
    "Rarrtl;": u"\u2916",
    "Rcaron;": u"\u0158",
    "Rcedil;": u"\u0156",
    "Rcy;": u"\u0420",
    "Re;": u"\u211c",
    "ReverseElement;": u"\u220b",
    "ReverseEquilibrium;": u"\u21cb",
    "ReverseUpEquilibrium;": u"\u296f",
    "Rfr;": u"\u211c",
    "Rho;": u"\u03a1",
    "RightAngleBracket;": u"\u27e9",
    "RightArrow;": u"\u2192",
    "RightArrowBar;": u"\u21e5",
    "RightArrowLeftArrow;": u"\u21c4",
    "RightCeiling;": u"\u2309",
    "RightDoubleBracket;": u"\u27e7",
    "RightDownTeeVector;": u"\u295d",
    "RightDownVector;": u"\u21c2",
    "RightDownVectorBar;": u"\u2955",
    "RightFloor;": u"\u230b",
    "RightTee;": u"\u22a2",
    "RightTeeArrow;": u"\u21a6",
    "RightTeeVector;": u"\u295b",
    "RightTriangle;": u"\u22b3",
    "RightTriangleBar;": u"\u29d0",
    "RightTriangleEqual;": u"\u22b5",
    "RightUpDownVector;": u"\u294f",
    "RightUpTeeVector;": u"\u295c",
    "RightUpVector;": u"\u21be",
    "RightUpVectorBar;": u"\u2954",
    "RightVector;": u"\u21c0",
    "RightVectorBar;": u"\u2953",
    "Rightarrow;": u"\u21d2",
    "Ropf;": u"\u211d",
    "RoundImplies;": u"\u2970",
    "Rrightarrow;": u"\u21db",
    "Rscr;": u"\u211b",
    "Rsh;": u"\u21b1",
    "RuleDelayed;": u"\u29f4",
    "SHCHcy;": u"\u0429",
    "SHcy;": u"\u0428",
    "SOFTcy;": u"\u042c",
    "Sacute;": u"\u015a",
    "Sc;": u"\u2abc",
    "Scaron;": u"\u0160",
    "Scedil;": u"\u015e",
    "Scirc;": u"\u015c",
    "Scy;": u"\u0421",
    "Sfr;": u"\U0001d516",
    "ShortDownArrow;": u"\u2193",
    "ShortLeftArrow;": u"\u2190",
    "ShortRightArrow;": u"\u2192",
    "ShortUpArrow;": u"\u2191",
    "Sigma;": u"\u03a3",
    "SmallCircle;": u"\u2218",
    "Sopf;": u"\U0001d54a",
    "Sqrt;": u"\u221a",
    "Square;": u"\u25a1",
    "SquareIntersection;": u"\u2293",
    "SquareSubset;": u"\u228f",
    "SquareSubsetEqual;": u"\u2291",
    "SquareSuperset;": u"\u2290",
    "SquareSupersetEqual;": u"\u2292",
    "SquareUnion;": u"\u2294",
    "Sscr;": u"\U0001d4ae",
    "Star;": u"\u22c6",
    "Sub;": u"\u22d0",
    "Subset;": u"\u22d0",
    "SubsetEqual;": u"\u2286",
    "Succeeds;": u"\u227b",
    "SucceedsEqual;": u"\u2ab0",
    "SucceedsSlantEqual;": u"\u227d",
    "SucceedsTilde;": u"\u227f",
    "SuchThat;": u"\u220b",
    "Sum;": u"\u2211",
    "Sup;": u"\u22d1",
    "Superset;": u"\u2283",
    "SupersetEqual;": u"\u2287",
    "Supset;": u"\u22d1",
    "THORN": u"\xde",
    "THORN;": u"\xde",
    "TRADE;": u"\u2122",
    "TSHcy;": u"\u040b",
    "TScy;": u"\u0426",
    "Tab;": u"\t",
    "Tau;": u"\u03a4",
    "Tcaron;": u"\u0164",
    "Tcedil;": u"\u0162",
    "Tcy;": u"\u0422",
    "Tfr;": u"\U0001d517",
    "Therefore;": u"\u2234",
    "Theta;": u"\u0398",
    "ThickSpace;": u"\u205f\u200a",
    "ThinSpace;": u"\u2009",
    "Tilde;": u"\u223c",
    "TildeEqual;": u"\u2243",
    "TildeFullEqual;": u"\u2245",
    "TildeTilde;": u"\u2248",
    "Topf;": u"\U0001d54b",
    "TripleDot;": u"\u20db",
    "Tscr;": u"\U0001d4af",
    "Tstrok;": u"\u0166",
    "Uacute": u"\xda",
    "Uacute;": u"\xda",
    "Uarr;": u"\u219f",
    "Uarrocir;": u"\u2949",
    "Ubrcy;": u"\u040e",
    "Ubreve;": u"\u016c",
    "Ucirc": u"\xdb",
    "Ucirc;": u"\xdb",
    "Ucy;": u"\u0423",
    "Udblac;": u"\u0170",
    "Ufr;": u"\U0001d518",
    "Ugrave": u"\xd9",
    "Ugrave;": u"\xd9",
    "Umacr;": u"\u016a",
    "UnderBar;": u"_",
    "UnderBrace;": u"\u23df",
    "UnderBracket;": u"\u23b5",
    "UnderParenthesis;": u"\u23dd",
    "Union;": u"\u22c3",
    "UnionPlus;": u"\u228e",
    "Uogon;": u"\u0172",
    "Uopf;": u"\U0001d54c",
    "UpArrow;": u"\u2191",
    "UpArrowBar;": u"\u2912",
    "UpArrowDownArrow;": u"\u21c5",
    "UpDownArrow;": u"\u2195",
    "UpEquilibrium;": u"\u296e",
    "UpTee;": u"\u22a5",
    "UpTeeArrow;": u"\u21a5",
    "Uparrow;": u"\u21d1",
    "Updownarrow;": u"\u21d5",
    "UpperLeftArrow;": u"\u2196",
    "UpperRightArrow;": u"\u2197",
    "Upsi;": u"\u03d2",
    "Upsilon;": u"\u03a5",
    "Uring;": u"\u016e",
    "Uscr;": u"\U0001d4b0",
    "Utilde;": u"\u0168",
    "Uuml": u"\xdc",
    "Uuml;": u"\xdc",
    "VDash;": u"\u22ab",
    "Vbar;": u"\u2aeb",
    "Vcy;": u"\u0412",
    "Vdash;": u"\u22a9",
    "Vdashl;": u"\u2ae6",
    "Vee;": u"\u22c1",
    "Verbar;": u"\u2016",
    "Vert;": u"\u2016",
    "VerticalBar;": u"\u2223",
    "VerticalLine;": u"|",
    "VerticalSeparator;": u"\u2758",
    "VerticalTilde;": u"\u2240",
    "VeryThinSpace;": u"\u200a",
    "Vfr;": u"\U0001d519",
    "Vopf;": u"\U0001d54d",
    "Vscr;": u"\U0001d4b1",
    "Vvdash;": u"\u22aa",
    "Wcirc;": u"\u0174",
    "Wedge;": u"\u22c0",
    "Wfr;": u"\U0001d51a",
    "Wopf;": u"\U0001d54e",
    "Wscr;": u"\U0001d4b2",
    "Xfr;": u"\U0001d51b",
    "Xi;": u"\u039e",
    "Xopf;": u"\U0001d54f",
    "Xscr;": u"\U0001d4b3",
    "YAcy;": u"\u042f",
    "YIcy;": u"\u0407",
    "YUcy;": u"\u042e",
    "Yacute": u"\xdd",
    "Yacute;": u"\xdd",
    "Ycirc;": u"\u0176",
    "Ycy;": u"\u042b",
    "Yfr;": u"\U0001d51c",
    "Yopf;": u"\U0001d550",
    "Yscr;": u"\U0001d4b4",
    "Yuml;": u"\u0178",
    "ZHcy;": u"\u0416",
    "Zacute;": u"\u0179",
    "Zcaron;": u"\u017d",
    "Zcy;": u"\u0417",
    "Zdot;": u"\u017b",
    "ZeroWidthSpace;": u"\u200b",
    "Zeta;": u"\u0396",
    "Zfr;": u"\u2128",
    "Zopf;": u"\u2124",
    "Zscr;": u"\U0001d4b5",
    "aacute": u"\xe1",
    "aacute;": u"\xe1",
    "abreve;": u"\u0103",
    "ac;": u"\u223e",
    "acE;": u"\u223e\u0333",
    "acd;": u"\u223f",
    "acirc": u"\xe2",
    "acirc;": u"\xe2",
    "acute": u"\xb4",
    "acute;": u"\xb4",
    "acy;": u"\u0430",
    "aelig": u"\xe6",
    "aelig;": u"\xe6",
    "af;": u"\u2061",
    "afr;": u"\U0001d51e",
    "agrave": u"\xe0",
    "agrave;": u"\xe0",
    "alefsym;": u"\u2135",
    "aleph;": u"\u2135",
    "alpha;": u"\u03b1",
    "amacr;": u"\u0101",
    "amalg;": u"\u2a3f",
    "amp": u"&",
    "amp;": u"&",
    "and;": u"\u2227",
    "andand;": u"\u2a55",
    "andd;": u"\u2a5c",
    "andslope;": u"\u2a58",
    "andv;": u"\u2a5a",
    "ang;": u"\u2220",
    "ange;": u"\u29a4",
    "angle;": u"\u2220",
    "angmsd;": u"\u2221",
    "angmsdaa;": u"\u29a8",
    "angmsdab;": u"\u29a9",
    "angmsdac;": u"\u29aa",
    "angmsdad;": u"\u29ab",
    "angmsdae;": u"\u29ac",
    "angmsdaf;": u"\u29ad",
    "angmsdag;": u"\u29ae",
    "angmsdah;": u"\u29af",
    "angrt;": u"\u221f",
    "angrtvb;": u"\u22be",
    "angrtvbd;": u"\u299d",
    "angsph;": u"\u2222",
    "angst;": u"\xc5",
    "angzarr;": u"\u237c",
    "aogon;": u"\u0105",
    "aopf;": u"\U0001d552",
    "ap;": u"\u2248",
    "apE;": u"\u2a70",
    "apacir;": u"\u2a6f",
    "ape;": u"\u224a",
    "apid;": u"\u224b",
    "apos;": u"'",
    "approx;": u"\u2248",
    "approxeq;": u"\u224a",
    "aring": u"\xe5",
    "aring;": u"\xe5",
    "ascr;": u"\U0001d4b6",
    "ast;": u"*",
    "asymp;": u"\u2248",
    "asympeq;": u"\u224d",
    "atilde": u"\xe3",
    "atilde;": u"\xe3",
    "auml": u"\xe4",
    "auml;": u"\xe4",
    "awconint;": u"\u2233",
    "awint;": u"\u2a11",
    "bNot;": u"\u2aed",
    "backcong;": u"\u224c",
    "backepsilon;": u"\u03f6",
    "backprime;": u"\u2035",
    "backsim;": u"\u223d",
    "backsimeq;": u"\u22cd",
    "barvee;": u"\u22bd",
    "barwed;": u"\u2305",
    "barwedge;": u"\u2305",
    "bbrk;": u"\u23b5",
    "bbrktbrk;": u"\u23b6",
    "bcong;": u"\u224c",
    "bcy;": u"\u0431",
    "bdquo;": u"\u201e",
    "becaus;": u"\u2235",
    "because;": u"\u2235",
    "bemptyv;": u"\u29b0",
    "bepsi;": u"\u03f6",
    "bernou;": u"\u212c",
    "beta;": u"\u03b2",
    "beth;": u"\u2136",
    "between;": u"\u226c",
    "bfr;": u"\U0001d51f",
    "bigcap;": u"\u22c2",
    "bigcirc;": u"\u25ef",
    "bigcup;": u"\u22c3",
    "bigodot;": u"\u2a00",
    "bigoplus;": u"\u2a01",
    "bigotimes;": u"\u2a02",
    "bigsqcup;": u"\u2a06",
    "bigstar;": u"\u2605",
    "bigtriangledown;": u"\u25bd",
    "bigtriangleup;": u"\u25b3",
    "biguplus;": u"\u2a04",
    "bigvee;": u"\u22c1",
    "bigwedge;": u"\u22c0",
    "bkarow;": u"\u290d",
    "blacklozenge;": u"\u29eb",
    "blacksquare;": u"\u25aa",
    "blacktriangle;": u"\u25b4",
    "blacktriangledown;": u"\u25be",
    "blacktriangleleft;": u"\u25c2",
    "blacktriangleright;": u"\u25b8",
    "blank;": u"\u2423",
    "blk12;": u"\u2592",
    "blk14;": u"\u2591",
    "blk34;": u"\u2593",
    "block;": u"\u2588",
    "bne;": u"=\u20e5",
    "bnequiv;": u"\u2261\u20e5",
    "bnot;": u"\u2310",
    "bopf;": u"\U0001d553",
    "bot;": u"\u22a5",
    "bottom;": u"\u22a5",
    "bowtie;": u"\u22c8",
    "boxDL;": u"\u2557",
    "boxDR;": u"\u2554",
    "boxDl;": u"\u2556",
    "boxDr;": u"\u2553",
    "boxH;": u"\u2550",
    "boxHD;": u"\u2566",
    "boxHU;": u"\u2569",
    "boxHd;": u"\u2564",
    "boxHu;": u"\u2567",
    "boxUL;": u"\u255d",
    "boxUR;": u"\u255a",
    "boxUl;": u"\u255c",
    "boxUr;": u"\u2559",
    "boxV;": u"\u2551",
    "boxVH;": u"\u256c",
    "boxVL;": u"\u2563",
    "boxVR;": u"\u2560",
    "boxVh;": u"\u256b",
    "boxVl;": u"\u2562",
    "boxVr;": u"\u255f",
    "boxbox;": u"\u29c9",
    "boxdL;": u"\u2555",
    "boxdR;": u"\u2552",
    "boxdl;": u"\u2510",
    "boxdr;": u"\u250c",
    "boxh;": u"\u2500",
    "boxhD;": u"\u2565",
    "boxhU;": u"\u2568",
    "boxhd;": u"\u252c",
    "boxhu;": u"\u2534",
    "boxminus;": u"\u229f",
    "boxplus;": u"\u229e",
    "boxtimes;": u"\u22a0",
    "boxuL;": u"\u255b",
    "boxuR;": u"\u2558",
    "boxul;": u"\u2518",
    "boxur;": u"\u2514",
    "boxv;": u"\u2502",
    "boxvH;": u"\u256a",
    "boxvL;": u"\u2561",
    "boxvR;": u"\u255e",
    "boxvh;": u"\u253c",
    "boxvl;": u"\u2524",
    "boxvr;": u"\u251c",
    "bprime;": u"\u2035",
    "breve;": u"\u02d8",
    "brvbar": u"\xa6",
    "brvbar;": u"\xa6",
    "bscr;": u"\U0001d4b7",
    "bsemi;": u"\u204f",
    "bsim;": u"\u223d",
    "bsime;": u"\u22cd",
    "bsol;": u"\\",
    "bsolb;": u"\u29c5",
    "bsolhsub;": u"\u27c8",
    "bull;": u"\u2022",
    "bullet;": u"\u2022",
    "bump;": u"\u224e",
    "bumpE;": u"\u2aae",
    "bumpe;": u"\u224f",
    "bumpeq;": u"\u224f",
    "cacute;": u"\u0107",
    "cap;": u"\u2229",
    "capand;": u"\u2a44",
    "capbrcup;": u"\u2a49",
    "capcap;": u"\u2a4b",
    "capcup;": u"\u2a47",
    "capdot;": u"\u2a40",
    "caps;": u"\u2229\ufe00",
    "caret;": u"\u2041",
    "caron;": u"\u02c7",
    "ccaps;": u"\u2a4d",
    "ccaron;": u"\u010d",
    "ccedil": u"\xe7",
    "ccedil;": u"\xe7",
    "ccirc;": u"\u0109",
    "ccups;": u"\u2a4c",
    "ccupssm;": u"\u2a50",
    "cdot;": u"\u010b",
    "cedil": u"\xb8",
    "cedil;": u"\xb8",
    "cemptyv;": u"\u29b2",
    "cent": u"\xa2",
    "cent;": u"\xa2",
    "centerdot;": u"\xb7",
    "cfr;": u"\U0001d520",
    "chcy;": u"\u0447",
    "check;": u"\u2713",
    "checkmark;": u"\u2713",
    "chi;": u"\u03c7",
    "cir;": u"\u25cb",
    "cirE;": u"\u29c3",
    "circ;": u"\u02c6",
    "circeq;": u"\u2257",
    "circlearrowleft;": u"\u21ba",
    "circlearrowright;": u"\u21bb",
    "circledR;": u"\xae",
    "circledS;": u"\u24c8",
    "circledast;": u"\u229b",
    "circledcirc;": u"\u229a",
    "circleddash;": u"\u229d",
    "cire;": u"\u2257",
    "cirfnint;": u"\u2a10",
    "cirmid;": u"\u2aef",
    "cirscir;": u"\u29c2",
    "clubs;": u"\u2663",
    "clubsuit;": u"\u2663",
    "colon;": u":",
    "colone;": u"\u2254",
    "coloneq;": u"\u2254",
    "comma;": u",",
    "commat;": u"@",
    "comp;": u"\u2201",
    "compfn;": u"\u2218",
    "complement;": u"\u2201",
    "complexes;": u"\u2102",
    "cong;": u"\u2245",
    "congdot;": u"\u2a6d",
    "conint;": u"\u222e",
    "copf;": u"\U0001d554",
    "coprod;": u"\u2210",
    "copy": u"\xa9",
    "copy;": u"\xa9",
    "copysr;": u"\u2117",
    "crarr;": u"\u21b5",
    "cross;": u"\u2717",
    "cscr;": u"\U0001d4b8",
    "csub;": u"\u2acf",
    "csube;": u"\u2ad1",
    "csup;": u"\u2ad0",
    "csupe;": u"\u2ad2",
    "ctdot;": u"\u22ef",
    "cudarrl;": u"\u2938",
    "cudarrr;": u"\u2935",
    "cuepr;": u"\u22de",
    "cuesc;": u"\u22df",
    "cularr;": u"\u21b6",
    "cularrp;": u"\u293d",
    "cup;": u"\u222a",
    "cupbrcap;": u"\u2a48",
    "cupcap;": u"\u2a46",
    "cupcup;": u"\u2a4a",
    "cupdot;": u"\u228d",
    "cupor;": u"\u2a45",
    "cups;": u"\u222a\ufe00",
    "curarr;": u"\u21b7",
    "curarrm;": u"\u293c",
    "curlyeqprec;": u"\u22de",
    "curlyeqsucc;": u"\u22df",
    "curlyvee;": u"\u22ce",
    "curlywedge;": u"\u22cf",
    "curren": u"\xa4",
    "curren;": u"\xa4",
    "curvearrowleft;": u"\u21b6",
    "curvearrowright;": u"\u21b7",
    "cuvee;": u"\u22ce",
    "cuwed;": u"\u22cf",
    "cwconint;": u"\u2232",
    "cwint;": u"\u2231",
    "cylcty;": u"\u232d",
    "dArr;": u"\u21d3",
    "dHar;": u"\u2965",
    "dagger;": u"\u2020",
    "daleth;": u"\u2138",
    "darr;": u"\u2193",
    "dash;": u"\u2010",
    "dashv;": u"\u22a3",
    "dbkarow;": u"\u290f",
    "dblac;": u"\u02dd",
    "dcaron;": u"\u010f",
    "dcy;": u"\u0434",
    "dd;": u"\u2146",
    "ddagger;": u"\u2021",
    "ddarr;": u"\u21ca",
    "ddotseq;": u"\u2a77",
    "deg": u"\xb0",
    "deg;": u"\xb0",
    "delta;": u"\u03b4",
    "demptyv;": u"\u29b1",
    "dfisht;": u"\u297f",
    "dfr;": u"\U0001d521",
    "dharl;": u"\u21c3",
    "dharr;": u"\u21c2",
    "diam;": u"\u22c4",
    "diamond;": u"\u22c4",
    "diamondsuit;": u"\u2666",
    "diams;": u"\u2666",
    "die;": u"\xa8",
    "digamma;": u"\u03dd",
    "disin;": u"\u22f2",
    "div;": u"\xf7",
    "divide": u"\xf7",
    "divide;": u"\xf7",
    "divideontimes;": u"\u22c7",
    "divonx;": u"\u22c7",
    "djcy;": u"\u0452",
    "dlcorn;": u"\u231e",
    "dlcrop;": u"\u230d",
    "dollar;": u"$",
    "dopf;": u"\U0001d555",
    "dot;": u"\u02d9",
    "doteq;": u"\u2250",
    "doteqdot;": u"\u2251",
    "dotminus;": u"\u2238",
    "dotplus;": u"\u2214",
    "dotsquare;": u"\u22a1",
    "doublebarwedge;": u"\u2306",
    "downarrow;": u"\u2193",
    "downdownarrows;": u"\u21ca",
    "downharpoonleft;": u"\u21c3",
    "downharpoonright;": u"\u21c2",
    "drbkarow;": u"\u2910",
    "drcorn;": u"\u231f",
    "drcrop;": u"\u230c",
    "dscr;": u"\U0001d4b9",
    "dscy;": u"\u0455",
    "dsol;": u"\u29f6",
    "dstrok;": u"\u0111",
    "dtdot;": u"\u22f1",
    "dtri;": u"\u25bf",
    "dtrif;": u"\u25be",
    "duarr;": u"\u21f5",
    "duhar;": u"\u296f",
    "dwangle;": u"\u29a6",
    "dzcy;": u"\u045f",
    "dzigrarr;": u"\u27ff",
    "eDDot;": u"\u2a77",
    "eDot;": u"\u2251",
    "eacute": u"\xe9",
    "eacute;": u"\xe9",
    "easter;": u"\u2a6e",
    "ecaron;": u"\u011b",
    "ecir;": u"\u2256",
    "ecirc": u"\xea",
    "ecirc;": u"\xea",
    "ecolon;": u"\u2255",
    "ecy;": u"\u044d",
    "edot;": u"\u0117",
    "ee;": u"\u2147",
    "efDot;": u"\u2252",
    "efr;": u"\U0001d522",
    "eg;": u"\u2a9a",
    "egrave": u"\xe8",
    "egrave;": u"\xe8",
    "egs;": u"\u2a96",
    "egsdot;": u"\u2a98",
    "el;": u"\u2a99",
    "elinters;": u"\u23e7",
    "ell;": u"\u2113",
    "els;": u"\u2a95",
    "elsdot;": u"\u2a97",
    "emacr;": u"\u0113",
    "empty;": u"\u2205",
    "emptyset;": u"\u2205",
    "emptyv;": u"\u2205",
    "emsp13;": u"\u2004",
    "emsp14;": u"\u2005",
    "emsp;": u"\u2003",
    "eng;": u"\u014b",
    "ensp;": u"\u2002",
    "eogon;": u"\u0119",
    "eopf;": u"\U0001d556",
    "epar;": u"\u22d5",
    "eparsl;": u"\u29e3",
    "eplus;": u"\u2a71",
    "epsi;": u"\u03b5",
    "epsilon;": u"\u03b5",
    "epsiv;": u"\u03f5",
    "eqcirc;": u"\u2256",
    "eqcolon;": u"\u2255",
    "eqsim;": u"\u2242",
    "eqslantgtr;": u"\u2a96",
    "eqslantless;": u"\u2a95",
    "equals;": u"=",
    "equest;": u"\u225f",
    "equiv;": u"\u2261",
    "equivDD;": u"\u2a78",
    "eqvparsl;": u"\u29e5",
    "erDot;": u"\u2253",
    "erarr;": u"\u2971",
    "escr;": u"\u212f",
    "esdot;": u"\u2250",
    "esim;": u"\u2242",
    "eta;": u"\u03b7",
    "eth": u"\xf0",
    "eth;": u"\xf0",
    "euml": u"\xeb",
    "euml;": u"\xeb",
    "euro;": u"\u20ac",
    "excl;": u"!",
    "exist;": u"\u2203",
    "expectation;": u"\u2130",
    "exponentiale;": u"\u2147",
    "fallingdotseq;": u"\u2252",
    "fcy;": u"\u0444",
    "female;": u"\u2640",
    "ffilig;": u"\ufb03",
    "fflig;": u"\ufb00",
    "ffllig;": u"\ufb04",
    "ffr;": u"\U0001d523",
    "filig;": u"\ufb01",
    "fjlig;": u"fj",
    "flat;": u"\u266d",
    "fllig;": u"\ufb02",
    "fltns;": u"\u25b1",
    "fnof;": u"\u0192",
    "fopf;": u"\U0001d557",
    "forall;": u"\u2200",
    "fork;": u"\u22d4",
    "forkv;": u"\u2ad9",
    "fpartint;": u"\u2a0d",
    "frac12": u"\xbd",
    "frac12;": u"\xbd",
    "frac13;": u"\u2153",
    "frac14": u"\xbc",
    "frac14;": u"\xbc",
    "frac15;": u"\u2155",
    "frac16;": u"\u2159",
    "frac18;": u"\u215b",
    "frac23;": u"\u2154",
    "frac25;": u"\u2156",
    "frac34": u"\xbe",
    "frac34;": u"\xbe",
    "frac35;": u"\u2157",
    "frac38;": u"\u215c",
    "frac45;": u"\u2158",
    "frac56;": u"\u215a",
    "frac58;": u"\u215d",
    "frac78;": u"\u215e",
    "frasl;": u"\u2044",
    "frown;": u"\u2322",
    "fscr;": u"\U0001d4bb",
    "gE;": u"\u2267",
    "gEl;": u"\u2a8c",
    "gacute;": u"\u01f5",
    "gamma;": u"\u03b3",
    "gammad;": u"\u03dd",
    "gap;": u"\u2a86",
    "gbreve;": u"\u011f",
    "gcirc;": u"\u011d",
    "gcy;": u"\u0433",
    "gdot;": u"\u0121",
    "ge;": u"\u2265",
    "gel;": u"\u22db",
    "geq;": u"\u2265",
    "geqq;": u"\u2267",
    "geqslant;": u"\u2a7e",
    "ges;": u"\u2a7e",
    "gescc;": u"\u2aa9",
    "gesdot;": u"\u2a80",
    "gesdoto;": u"\u2a82",
    "gesdotol;": u"\u2a84",
    "gesl;": u"\u22db\ufe00",
    "gesles;": u"\u2a94",
    "gfr;": u"\U0001d524",
    "gg;": u"\u226b",
    "ggg;": u"\u22d9",
    "gimel;": u"\u2137",
    "gjcy;": u"\u0453",
    "gl;": u"\u2277",
    "glE;": u"\u2a92",
    "gla;": u"\u2aa5",
    "glj;": u"\u2aa4",
    "gnE;": u"\u2269",
    "gnap;": u"\u2a8a",
    "gnapprox;": u"\u2a8a",
    "gne;": u"\u2a88",
    "gneq;": u"\u2a88",
    "gneqq;": u"\u2269",
    "gnsim;": u"\u22e7",
    "gopf;": u"\U0001d558",
    "grave;": u"`",
    "gscr;": u"\u210a",
    "gsim;": u"\u2273",
    "gsime;": u"\u2a8e",
    "gsiml;": u"\u2a90",
    "gt": u">",
    "gt;": u">",
    "gtcc;": u"\u2aa7",
    "gtcir;": u"\u2a7a",
    "gtdot;": u"\u22d7",
    "gtlPar;": u"\u2995",
    "gtquest;": u"\u2a7c",
    "gtrapprox;": u"\u2a86",
    "gtrarr;": u"\u2978",
    "gtrdot;": u"\u22d7",
    "gtreqless;": u"\u22db",
    "gtreqqless;": u"\u2a8c",
    "gtrless;": u"\u2277",
    "gtrsim;": u"\u2273",
    "gvertneqq;": u"\u2269\ufe00",
    "gvnE;": u"\u2269\ufe00",
    "hArr;": u"\u21d4",
    "hairsp;": u"\u200a",
    "half;": u"\xbd",
    "hamilt;": u"\u210b",
    "hardcy;": u"\u044a",
    "harr;": u"\u2194",
    "harrcir;": u"\u2948",
    "harrw;": u"\u21ad",
    "hbar;": u"\u210f",
    "hcirc;": u"\u0125",
    "hearts;": u"\u2665",
    "heartsuit;": u"\u2665",
    "hellip;": u"\u2026",
    "hercon;": u"\u22b9",
    "hfr;": u"\U0001d525",
    "hksearow;": u"\u2925",
    "hkswarow;": u"\u2926",
    "hoarr;": u"\u21ff",
    "homtht;": u"\u223b",
    "hookleftarrow;": u"\u21a9",
    "hookrightarrow;": u"\u21aa",
    "hopf;": u"\U0001d559",
    "horbar;": u"\u2015",
    "hscr;": u"\U0001d4bd",
    "hslash;": u"\u210f",
    "hstrok;": u"\u0127",
    "hybull;": u"\u2043",
    "hyphen;": u"\u2010",
    "iacute": u"\xed",
    "iacute;": u"\xed",
    "ic;": u"\u2063",
    "icirc": u"\xee",
    "icirc;": u"\xee",
    "icy;": u"\u0438",
    "iecy;": u"\u0435",
    "iexcl": u"\xa1",
    "iexcl;": u"\xa1",
    "iff;": u"\u21d4",
    "ifr;": u"\U0001d526",
    "igrave": u"\xec",
    "igrave;": u"\xec",
    "ii;": u"\u2148",
    "iiiint;": u"\u2a0c",
    "iiint;": u"\u222d",
    "iinfin;": u"\u29dc",
    "iiota;": u"\u2129",
    "ijlig;": u"\u0133",
    "imacr;": u"\u012b",
    "image;": u"\u2111",
    "imagline;": u"\u2110",
    "imagpart;": u"\u2111",
    "imath;": u"\u0131",
    "imof;": u"\u22b7",
    "imped;": u"\u01b5",
    "in;": u"\u2208",
    "incare;": u"\u2105",
    "infin;": u"\u221e",
    "infintie;": u"\u29dd",
    "inodot;": u"\u0131",
    "int;": u"\u222b",
    "intcal;": u"\u22ba",
    "integers;": u"\u2124",
    "intercal;": u"\u22ba",
    "intlarhk;": u"\u2a17",
    "intprod;": u"\u2a3c",
    "iocy;": u"\u0451",
    "iogon;": u"\u012f",
    "iopf;": u"\U0001d55a",
    "iota;": u"\u03b9",
    "iprod;": u"\u2a3c",
    "iquest": u"\xbf",
    "iquest;": u"\xbf",
    "iscr;": u"\U0001d4be",
    "isin;": u"\u2208",
    "isinE;": u"\u22f9",
    "isindot;": u"\u22f5",
    "isins;": u"\u22f4",
    "isinsv;": u"\u22f3",
    "isinv;": u"\u2208",
    "it;": u"\u2062",
    "itilde;": u"\u0129",
    "iukcy;": u"\u0456",
    "iuml": u"\xef",
    "iuml;": u"\xef",
    "jcirc;": u"\u0135",
    "jcy;": u"\u0439",
    "jfr;": u"\U0001d527",
    "jmath;": u"\u0237",
    "jopf;": u"\U0001d55b",
    "jscr;": u"\U0001d4bf",
    "jsercy;": u"\u0458",
    "jukcy;": u"\u0454",
    "kappa;": u"\u03ba",
    "kappav;": u"\u03f0",
    "kcedil;": u"\u0137",
    "kcy;": u"\u043a",
    "kfr;": u"\U0001d528",
    "kgreen;": u"\u0138",
    "khcy;": u"\u0445",
    "kjcy;": u"\u045c",
    "kopf;": u"\U0001d55c",
    "kscr;": u"\U0001d4c0",
    "lAarr;": u"\u21da",
    "lArr;": u"\u21d0",
    "lAtail;": u"\u291b",
    "lBarr;": u"\u290e",
    "lE;": u"\u2266",
    "lEg;": u"\u2a8b",
    "lHar;": u"\u2962",
    "lacute;": u"\u013a",
    "laemptyv;": u"\u29b4",
    "lagran;": u"\u2112",
    "lambda;": u"\u03bb",
    "lang;": u"\u27e8",
    "langd;": u"\u2991",
    "langle;": u"\u27e8",
    "lap;": u"\u2a85",
    "laquo": u"\xab",
    "laquo;": u"\xab",
    "larr;": u"\u2190",
    "larrb;": u"\u21e4",
    "larrbfs;": u"\u291f",
    "larrfs;": u"\u291d",
    "larrhk;": u"\u21a9",
    "larrlp;": u"\u21ab",
    "larrpl;": u"\u2939",
    "larrsim;": u"\u2973",
    "larrtl;": u"\u21a2",
    "lat;": u"\u2aab",
    "latail;": u"\u2919",
    "late;": u"\u2aad",
    "lates;": u"\u2aad\ufe00",
    "lbarr;": u"\u290c",
    "lbbrk;": u"\u2772",
    "lbrace;": u"{",
    "lbrack;": u"[",
    "lbrke;": u"\u298b",
    "lbrksld;": u"\u298f",
    "lbrkslu;": u"\u298d",
    "lcaron;": u"\u013e",
    "lcedil;": u"\u013c",
    "lceil;": u"\u2308",
    "lcub;": u"{",
    "lcy;": u"\u043b",
    "ldca;": u"\u2936",
    "ldquo;": u"\u201c",
    "ldquor;": u"\u201e",
    "ldrdhar;": u"\u2967",
    "ldrushar;": u"\u294b",
    "ldsh;": u"\u21b2",
    "le;": u"\u2264",
    "leftarrow;": u"\u2190",
    "leftarrowtail;": u"\u21a2",
    "leftharpoondown;": u"\u21bd",
    "leftharpoonup;": u"\u21bc",
    "leftleftarrows;": u"\u21c7",
    "leftrightarrow;": u"\u2194",
    "leftrightarrows;": u"\u21c6",
    "leftrightharpoons;": u"\u21cb",
    "leftrightsquigarrow;": u"\u21ad",
    "leftthreetimes;": u"\u22cb",
    "leg;": u"\u22da",
    "leq;": u"\u2264",
    "leqq;": u"\u2266",
    "leqslant;": u"\u2a7d",
    "les;": u"\u2a7d",
    "lescc;": u"\u2aa8",
    "lesdot;": u"\u2a7f",
    "lesdoto;": u"\u2a81",
    "lesdotor;": u"\u2a83",
    "lesg;": u"\u22da\ufe00",
    "lesges;": u"\u2a93",
    "lessapprox;": u"\u2a85",
    "lessdot;": u"\u22d6",
    "lesseqgtr;": u"\u22da",
    "lesseqqgtr;": u"\u2a8b",
    "lessgtr;": u"\u2276",
    "lesssim;": u"\u2272",
    "lfisht;": u"\u297c",
    "lfloor;": u"\u230a",
    "lfr;": u"\U0001d529",
    "lg;": u"\u2276",
    "lgE;": u"\u2a91",
    "lhard;": u"\u21bd",
    "lharu;": u"\u21bc",
    "lharul;": u"\u296a",
    "lhblk;": u"\u2584",
    "ljcy;": u"\u0459",
    "ll;": u"\u226a",
    "llarr;": u"\u21c7",
    "llcorner;": u"\u231e",
    "llhard;": u"\u296b",
    "lltri;": u"\u25fa",
    "lmidot;": u"\u0140",
    "lmoust;": u"\u23b0",
    "lmoustache;": u"\u23b0",
    "lnE;": u"\u2268",
    "lnap;": u"\u2a89",
    "lnapprox;": u"\u2a89",
    "lne;": u"\u2a87",
    "lneq;": u"\u2a87",
    "lneqq;": u"\u2268",
    "lnsim;": u"\u22e6",
    "loang;": u"\u27ec",
    "loarr;": u"\u21fd",
    "lobrk;": u"\u27e6",
    "longleftarrow;": u"\u27f5",
    "longleftrightarrow;": u"\u27f7",
    "longmapsto;": u"\u27fc",
    "longrightarrow;": u"\u27f6",
    "looparrowleft;": u"\u21ab",
    "looparrowright;": u"\u21ac",
    "lopar;": u"\u2985",
    "lopf;": u"\U0001d55d",
    "loplus;": u"\u2a2d",
    "lotimes;": u"\u2a34",
    "lowast;": u"\u2217",
    "lowbar;": u"_",
    "loz;": u"\u25ca",
    "lozenge;": u"\u25ca",
    "lozf;": u"\u29eb",
    "lpar;": u"(",
    "lparlt;": u"\u2993",
    "lrarr;": u"\u21c6",
    "lrcorner;": u"\u231f",
    "lrhar;": u"\u21cb",
    "lrhard;": u"\u296d",
    "lrm;": u"\u200e",
    "lrtri;": u"\u22bf",
    "lsaquo;": u"\u2039",
    "lscr;": u"\U0001d4c1",
    "lsh;": u"\u21b0",
    "lsim;": u"\u2272",
    "lsime;": u"\u2a8d",
    "lsimg;": u"\u2a8f",
    "lsqb;": u"[",
    "lsquo;": u"\u2018",
    "lsquor;": u"\u201a",
    "lstrok;": u"\u0142",
    "lt": u"<",
    "lt;": u"<",
    "ltcc;": u"\u2aa6",
    "ltcir;": u"\u2a79",
    "ltdot;": u"\u22d6",
    "lthree;": u"\u22cb",
    "ltimes;": u"\u22c9",
    "ltlarr;": u"\u2976",
    "ltquest;": u"\u2a7b",
    "ltrPar;": u"\u2996",
    "ltri;": u"\u25c3",
    "ltrie;": u"\u22b4",
    "ltrif;": u"\u25c2",
    "lurdshar;": u"\u294a",
    "luruhar;": u"\u2966",
    "lvertneqq;": u"\u2268\ufe00",
    "lvnE;": u"\u2268\ufe00",
    "mDDot;": u"\u223a",
    "macr": u"\xaf",
    "macr;": u"\xaf",
    "male;": u"\u2642",
    "malt;": u"\u2720",
    "maltese;": u"\u2720",
    "map;": u"\u21a6",
    "mapsto;": u"\u21a6",
    "mapstodown;": u"\u21a7",
    "mapstoleft;": u"\u21a4",
    "mapstoup;": u"\u21a5",
    "marker;": u"\u25ae",
    "mcomma;": u"\u2a29",
    "mcy;": u"\u043c",
    "mdash;": u"\u2014",
    "measuredangle;": u"\u2221",
    "mfr;": u"\U0001d52a",
    "mho;": u"\u2127",
    "micro": u"\xb5",
    "micro;": u"\xb5",
    "mid;": u"\u2223",
    "midast;": u"*",
    "midcir;": u"\u2af0",
    "middot": u"\xb7",
    "middot;": u"\xb7",
    "minus;": u"\u2212",
    "minusb;": u"\u229f",
    "minusd;": u"\u2238",
    "minusdu;": u"\u2a2a",
    "mlcp;": u"\u2adb",
    "mldr;": u"\u2026",
    "mnplus;": u"\u2213",
    "models;": u"\u22a7",
    "mopf;": u"\U0001d55e",
    "mp;": u"\u2213",
    "mscr;": u"\U0001d4c2",
    "mstpos;": u"\u223e",
    "mu;": u"\u03bc",
    "multimap;": u"\u22b8",
    "mumap;": u"\u22b8",
    "nGg;": u"\u22d9\u0338",
    "nGt;": u"\u226b\u20d2",
    "nGtv;": u"\u226b\u0338",
    "nLeftarrow;": u"\u21cd",
    "nLeftrightarrow;": u"\u21ce",
    "nLl;": u"\u22d8\u0338",
    "nLt;": u"\u226a\u20d2",
    "nLtv;": u"\u226a\u0338",
    "nRightarrow;": u"\u21cf",
    "nVDash;": u"\u22af",
    "nVdash;": u"\u22ae",
    "nabla;": u"\u2207",
    "nacute;": u"\u0144",
    "nang;": u"\u2220\u20d2",
    "nap;": u"\u2249",
    "napE;": u"\u2a70\u0338",
    "napid;": u"\u224b\u0338",
    "napos;": u"\u0149",
    "napprox;": u"\u2249",
    "natur;": u"\u266e",
    "natural;": u"\u266e",
    "naturals;": u"\u2115",
    "nbsp": u"\xa0",
    "nbsp;": u"\xa0",
    "nbump;": u"\u224e\u0338",
    "nbumpe;": u"\u224f\u0338",
    "ncap;": u"\u2a43",
    "ncaron;": u"\u0148",
    "ncedil;": u"\u0146",
    "ncong;": u"\u2247",
    "ncongdot;": u"\u2a6d\u0338",
    "ncup;": u"\u2a42",
    "ncy;": u"\u043d",
    "ndash;": u"\u2013",
    "ne;": u"\u2260",
    "neArr;": u"\u21d7",
    "nearhk;": u"\u2924",
    "nearr;": u"\u2197",
    "nearrow;": u"\u2197",
    "nedot;": u"\u2250\u0338",
    "nequiv;": u"\u2262",
    "nesear;": u"\u2928",
    "nesim;": u"\u2242\u0338",
    "nexist;": u"\u2204",
    "nexists;": u"\u2204",
    "nfr;": u"\U0001d52b",
    "ngE;": u"\u2267\u0338",
    "nge;": u"\u2271",
    "ngeq;": u"\u2271",
    "ngeqq;": u"\u2267\u0338",
    "ngeqslant;": u"\u2a7e\u0338",
    "nges;": u"\u2a7e\u0338",
    "ngsim;": u"\u2275",
    "ngt;": u"\u226f",
    "ngtr;": u"\u226f",
    "nhArr;": u"\u21ce",
    "nharr;": u"\u21ae",
    "nhpar;": u"\u2af2",
    "ni;": u"\u220b",
    "nis;": u"\u22fc",
    "nisd;": u"\u22fa",
    "niv;": u"\u220b",
    "njcy;": u"\u045a",
    "nlArr;": u"\u21cd",
    "nlE;": u"\u2266\u0338",
    "nlarr;": u"\u219a",
    "nldr;": u"\u2025",
    "nle;": u"\u2270",
    "nleftarrow;": u"\u219a",
    "nleftrightarrow;": u"\u21ae",
    "nleq;": u"\u2270",
    "nleqq;": u"\u2266\u0338",
    "nleqslant;": u"\u2a7d\u0338",
    "nles;": u"\u2a7d\u0338",
    "nless;": u"\u226e",
    "nlsim;": u"\u2274",
    "nlt;": u"\u226e",
    "nltri;": u"\u22ea",
    "nltrie;": u"\u22ec",
    "nmid;": u"\u2224",
    "nopf;": u"\U0001d55f",
    "not": u"\xac",
    "not;": u"\xac",
    "notin;": u"\u2209",
    "notinE;": u"\u22f9\u0338",
    "notindot;": u"\u22f5\u0338",
    "notinva;": u"\u2209",
    "notinvb;": u"\u22f7",
    "notinvc;": u"\u22f6",
    "notni;": u"\u220c",
    "notniva;": u"\u220c",
    "notnivb;": u"\u22fe",
    "notnivc;": u"\u22fd",
    "npar;": u"\u2226",
    "nparallel;": u"\u2226",
    "nparsl;": u"\u2afd\u20e5",
    "npart;": u"\u2202\u0338",
    "npolint;": u"\u2a14",
    "npr;": u"\u2280",
    "nprcue;": u"\u22e0",
    "npre;": u"\u2aaf\u0338",
    "nprec;": u"\u2280",
    "npreceq;": u"\u2aaf\u0338",
    "nrArr;": u"\u21cf",
    "nrarr;": u"\u219b",
    "nrarrc;": u"\u2933\u0338",
    "nrarrw;": u"\u219d\u0338",
    "nrightarrow;": u"\u219b",
    "nrtri;": u"\u22eb",
    "nrtrie;": u"\u22ed",
    "nsc;": u"\u2281",
    "nsccue;": u"\u22e1",
    "nsce;": u"\u2ab0\u0338",
    "nscr;": u"\U0001d4c3",
    "nshortmid;": u"\u2224",
    "nshortparallel;": u"\u2226",
    "nsim;": u"\u2241",
    "nsime;": u"\u2244",
    "nsimeq;": u"\u2244",
    "nsmid;": u"\u2224",
    "nspar;": u"\u2226",
    "nsqsube;": u"\u22e2",
    "nsqsupe;": u"\u22e3",
    "nsub;": u"\u2284",
    "nsubE;": u"\u2ac5\u0338",
    "nsube;": u"\u2288",
    "nsubset;": u"\u2282\u20d2",
    "nsubseteq;": u"\u2288",
    "nsubseteqq;": u"\u2ac5\u0338",
    "nsucc;": u"\u2281",
    "nsucceq;": u"\u2ab0\u0338",
    "nsup;": u"\u2285",
    "nsupE;": u"\u2ac6\u0338",
    "nsupe;": u"\u2289",
    "nsupset;": u"\u2283\u20d2",
    "nsupseteq;": u"\u2289",
    "nsupseteqq;": u"\u2ac6\u0338",
    "ntgl;": u"\u2279",
    "ntilde": u"\xf1",
    "ntilde;": u"\xf1",
    "ntlg;": u"\u2278",
    "ntriangleleft;": u"\u22ea",
    "ntrianglelefteq;": u"\u22ec",
    "ntriangleright;": u"\u22eb",
    "ntrianglerighteq;": u"\u22ed",
    "nu;": u"\u03bd",
    "num;": u"#",
    "numero;": u"\u2116",
    "numsp;": u"\u2007",
    "nvDash;": u"\u22ad",
    "nvHarr;": u"\u2904",
    "nvap;": u"\u224d\u20d2",
    "nvdash;": u"\u22ac",
    "nvge;": u"\u2265\u20d2",
    "nvgt;": u">\u20d2",
    "nvinfin;": u"\u29de",
    "nvlArr;": u"\u2902",
    "nvle;": u"\u2264\u20d2",
    "nvlt;": u"<\u20d2",
    "nvltrie;": u"\u22b4\u20d2",
    "nvrArr;": u"\u2903",
    "nvrtrie;": u"\u22b5\u20d2",
    "nvsim;": u"\u223c\u20d2",
    "nwArr;": u"\u21d6",
    "nwarhk;": u"\u2923",
    "nwarr;": u"\u2196",
    "nwarrow;": u"\u2196",
    "nwnear;": u"\u2927",
    "oS;": u"\u24c8",
    "oacute": u"\xf3",
    "oacute;": u"\xf3",
    "oast;": u"\u229b",
    "ocir;": u"\u229a",
    "ocirc": u"\xf4",
    "ocirc;": u"\xf4",
    "ocy;": u"\u043e",
    "odash;": u"\u229d",
    "odblac;": u"\u0151",
    "odiv;": u"\u2a38",
    "odot;": u"\u2299",
    "odsold;": u"\u29bc",
    "oelig;": u"\u0153",
    "ofcir;": u"\u29bf",
    "ofr;": u"\U0001d52c",
    "ogon;": u"\u02db",
    "ograve": u"\xf2",
    "ograve;": u"\xf2",
    "ogt;": u"\u29c1",
    "ohbar;": u"\u29b5",
    "ohm;": u"\u03a9",
    "oint;": u"\u222e",
    "olarr;": u"\u21ba",
    "olcir;": u"\u29be",
    "olcross;": u"\u29bb",
    "oline;": u"\u203e",
    "olt;": u"\u29c0",
    "omacr;": u"\u014d",
    "omega;": u"\u03c9",
    "omicron;": u"\u03bf",
    "omid;": u"\u29b6",
    "ominus;": u"\u2296",
    "oopf;": u"\U0001d560",
    "opar;": u"\u29b7",
    "operp;": u"\u29b9",
    "oplus;": u"\u2295",
    "or;": u"\u2228",
    "orarr;": u"\u21bb",
    "ord;": u"\u2a5d",
    "order;": u"\u2134",
    "orderof;": u"\u2134",
    "ordf": u"\xaa",
    "ordf;": u"\xaa",
    "ordm": u"\xba",
    "ordm;": u"\xba",
    "origof;": u"\u22b6",
    "oror;": u"\u2a56",
    "orslope;": u"\u2a57",
    "orv;": u"\u2a5b",
    "oscr;": u"\u2134",
    "oslash": u"\xf8",
    "oslash;": u"\xf8",
    "osol;": u"\u2298",
    "otilde": u"\xf5",
    "otilde;": u"\xf5",
    "otimes;": u"\u2297",
    "otimesas;": u"\u2a36",
    "ouml": u"\xf6",
    "ouml;": u"\xf6",
    "ovbar;": u"\u233d",
    "par;": u"\u2225",
    "para": u"\xb6",
    "para;": u"\xb6",
    "parallel;": u"\u2225",
    "parsim;": u"\u2af3",
    "parsl;": u"\u2afd",
    "part;": u"\u2202",
    "pcy;": u"\u043f",
    "percnt;": u"%",
    "period;": u".",
    "permil;": u"\u2030",
    "perp;": u"\u22a5",
    "pertenk;": u"\u2031",
    "pfr;": u"\U0001d52d",
    "phi;": u"\u03c6",
    "phiv;": u"\u03d5",
    "phmmat;": u"\u2133",
    "phone;": u"\u260e",
    "pi;": u"\u03c0",
    "pitchfork;": u"\u22d4",
    "piv;": u"\u03d6",
    "planck;": u"\u210f",
    "planckh;": u"\u210e",
    "plankv;": u"\u210f",
    "plus;": u"+",
    "plusacir;": u"\u2a23",
    "plusb;": u"\u229e",
    "pluscir;": u"\u2a22",
    "plusdo;": u"\u2214",
    "plusdu;": u"\u2a25",
    "pluse;": u"\u2a72",
    "plusmn": u"\xb1",
    "plusmn;": u"\xb1",
    "plussim;": u"\u2a26",
    "plustwo;": u"\u2a27",
    "pm;": u"\xb1",
    "pointint;": u"\u2a15",
    "popf;": u"\U0001d561",
    "pound": u"\xa3",
    "pound;": u"\xa3",
    "pr;": u"\u227a",
    "prE;": u"\u2ab3",
    "prap;": u"\u2ab7",
    "prcue;": u"\u227c",
    "pre;": u"\u2aaf",
    "prec;": u"\u227a",
    "precapprox;": u"\u2ab7",
    "preccurlyeq;": u"\u227c",
    "preceq;": u"\u2aaf",
    "precnapprox;": u"\u2ab9",
    "precneqq;": u"\u2ab5",
    "precnsim;": u"\u22e8",
    "precsim;": u"\u227e",
    "prime;": u"\u2032",
    "primes;": u"\u2119",
    "prnE;": u"\u2ab5",
    "prnap;": u"\u2ab9",
    "prnsim;": u"\u22e8",
    "prod;": u"\u220f",
    "profalar;": u"\u232e",
    "profline;": u"\u2312",
    "profsurf;": u"\u2313",
    "prop;": u"\u221d",
    "propto;": u"\u221d",
    "prsim;": u"\u227e",
    "prurel;": u"\u22b0",
    "pscr;": u"\U0001d4c5",
    "psi;": u"\u03c8",
    "puncsp;": u"\u2008",
    "qfr;": u"\U0001d52e",
    "qint;": u"\u2a0c",
    "qopf;": u"\U0001d562",
    "qprime;": u"\u2057",
    "qscr;": u"\U0001d4c6",
    "quaternions;": u"\u210d",
    "quatint;": u"\u2a16",
    "quest;": u"?",
    "questeq;": u"\u225f",
    "quot": u"\"",
    "quot;": u"\"",
    "rAarr;": u"\u21db",
    "rArr;": u"\u21d2",
    "rAtail;": u"\u291c",
    "rBarr;": u"\u290f",
    "rHar;": u"\u2964",
    "race;": u"\u223d\u0331",
    "racute;": u"\u0155",
    "radic;": u"\u221a",
    "raemptyv;": u"\u29b3",
    "rang;": u"\u27e9",
    "rangd;": u"\u2992",
    "range;": u"\u29a5",
    "rangle;": u"\u27e9",
    "raquo": u"\xbb",
    "raquo;": u"\xbb",
    "rarr;": u"\u2192",
    "rarrap;": u"\u2975",
    "rarrb;": u"\u21e5",
    "rarrbfs;": u"\u2920",
    "rarrc;": u"\u2933",
    "rarrfs;": u"\u291e",
    "rarrhk;": u"\u21aa",
    "rarrlp;": u"\u21ac",
    "rarrpl;": u"\u2945",
    "rarrsim;": u"\u2974",
    "rarrtl;": u"\u21a3",
    "rarrw;": u"\u219d",
    "ratail;": u"\u291a",
    "ratio;": u"\u2236",
    "rationals;": u"\u211a",
    "rbarr;": u"\u290d",
    "rbbrk;": u"\u2773",
    "rbrace;": u"}",
    "rbrack;": u"]",
    "rbrke;": u"\u298c",
    "rbrksld;": u"\u298e",
    "rbrkslu;": u"\u2990",
    "rcaron;": u"\u0159",
    "rcedil;": u"\u0157",
    "rceil;": u"\u2309",
    "rcub;": u"}",
    "rcy;": u"\u0440",
    "rdca;": u"\u2937",
    "rdldhar;": u"\u2969",
    "rdquo;": u"\u201d",
    "rdquor;": u"\u201d",
    "rdsh;": u"\u21b3",
    "real;": u"\u211c",
    "realine;": u"\u211b",
    "realpart;": u"\u211c",
    "reals;": u"\u211d",
    "rect;": u"\u25ad",
    "reg": u"\xae",
    "reg;": u"\xae",
    "rfisht;": u"\u297d",
    "rfloor;": u"\u230b",
    "rfr;": u"\U0001d52f",
    "rhard;": u"\u21c1",
    "rharu;": u"\u21c0",
    "rharul;": u"\u296c",
    "rho;": u"\u03c1",
    "rhov;": u"\u03f1",
    "rightarrow;": u"\u2192",
    "rightarrowtail;": u"\u21a3",
    "rightharpoondown;": u"\u21c1",
    "rightharpoonup;": u"\u21c0",
    "rightleftarrows;": u"\u21c4",
    "rightleftharpoons;": u"\u21cc",
    "rightrightarrows;": u"\u21c9",
    "rightsquigarrow;": u"\u219d",
    "rightthreetimes;": u"\u22cc",
    "ring;": u"\u02da",
    "risingdotseq;": u"\u2253",
    "rlarr;": u"\u21c4",
    "rlhar;": u"\u21cc",
    "rlm;": u"\u200f",
    "rmoust;": u"\u23b1",
    "rmoustache;": u"\u23b1",
    "rnmid;": u"\u2aee",
    "roang;": u"\u27ed",
    "roarr;": u"\u21fe",
    "robrk;": u"\u27e7",
    "ropar;": u"\u2986",
    "ropf;": u"\U0001d563",
    "roplus;": u"\u2a2e",
    "rotimes;": u"\u2a35",
    "rpar;": u")",
    "rpargt;": u"\u2994",
    "rppolint;": u"\u2a12",
    "rrarr;": u"\u21c9",
    "rsaquo;": u"\u203a",
    "rscr;": u"\U0001d4c7",
    "rsh;": u"\u21b1",
    "rsqb;": u"]",
    "rsquo;": u"\u2019",
    "rsquor;": u"\u2019",
    "rthree;": u"\u22cc",
    "rtimes;": u"\u22ca",
    "rtri;": u"\u25b9",
    "rtrie;": u"\u22b5",
    "rtrif;": u"\u25b8",
    "rtriltri;": u"\u29ce",
    "ruluhar;": u"\u2968",
    "rx;": u"\u211e",
    "sacute;": u"\u015b",
    "sbquo;": u"\u201a",
    "sc;": u"\u227b",
    "scE;": u"\u2ab4",
    "scap;": u"\u2ab8",
    "scaron;": u"\u0161",
    "sccue;": u"\u227d",
    "sce;": u"\u2ab0",
    "scedil;": u"\u015f",
    "scirc;": u"\u015d",
    "scnE;": u"\u2ab6",
    "scnap;": u"\u2aba",
    "scnsim;": u"\u22e9",
    "scpolint;": u"\u2a13",
    "scsim;": u"\u227f",
    "scy;": u"\u0441",
    "sdot;": u"\u22c5",
    "sdotb;": u"\u22a1",
    "sdote;": u"\u2a66",
    "seArr;": u"\u21d8",
    "searhk;": u"\u2925",
    "searr;": u"\u2198",
    "searrow;": u"\u2198",
    "sect": u"\xa7",
    "sect;": u"\xa7",
    "semi;": u";",
    "seswar;": u"\u2929",
    "setminus;": u"\u2216",
    "setmn;": u"\u2216",
    "sext;": u"\u2736",
    "sfr;": u"\U0001d530",
    "sfrown;": u"\u2322",
    "sharp;": u"\u266f",
    "shchcy;": u"\u0449",
    "shcy;": u"\u0448",
    "shortmid;": u"\u2223",
    "shortparallel;": u"\u2225",
    "shy": u"\xad",
    "shy;": u"\xad",
    "sigma;": u"\u03c3",
    "sigmaf;": u"\u03c2",
    "sigmav;": u"\u03c2",
    "sim;": u"\u223c",
    "simdot;": u"\u2a6a",
    "sime;": u"\u2243",
    "simeq;": u"\u2243",
    "simg;": u"\u2a9e",
    "simgE;": u"\u2aa0",
    "siml;": u"\u2a9d",
    "simlE;": u"\u2a9f",
    "simne;": u"\u2246",
    "simplus;": u"\u2a24",
    "simrarr;": u"\u2972",
    "slarr;": u"\u2190",
    "smallsetminus;": u"\u2216",
    "smashp;": u"\u2a33",
    "smeparsl;": u"\u29e4",
    "smid;": u"\u2223",
    "smile;": u"\u2323",
    "smt;": u"\u2aaa",
    "smte;": u"\u2aac",
    "smtes;": u"\u2aac\ufe00",
    "softcy;": u"\u044c",
    "sol;": u"/",
    "solb;": u"\u29c4",
    "solbar;": u"\u233f",
    "sopf;": u"\U0001d564",
    "spades;": u"\u2660",
    "spadesuit;": u"\u2660",
    "spar;": u"\u2225",
    "sqcap;": u"\u2293",
    "sqcaps;": u"\u2293\ufe00",
    "sqcup;": u"\u2294",
    "sqcups;": u"\u2294\ufe00",
    "sqsub;": u"\u228f",
    "sqsube;": u"\u2291",
    "sqsubset;": u"\u228f",
    "sqsubseteq;": u"\u2291",
    "sqsup;": u"\u2290",
    "sqsupe;": u"\u2292",
    "sqsupset;": u"\u2290",
    "sqsupseteq;": u"\u2292",
    "squ;": u"\u25a1",
    "square;": u"\u25a1",
    "squarf;": u"\u25aa",
    "squf;": u"\u25aa",
    "srarr;": u"\u2192",
    "sscr;": u"\U0001d4c8",
    "ssetmn;": u"\u2216",
    "ssmile;": u"\u2323",
    "sstarf;": u"\u22c6",
    "star;": u"\u2606",
    "starf;": u"\u2605",
    "straightepsilon;": u"\u03f5",
    "straightphi;": u"\u03d5",
    "strns;": u"\xaf",
    "sub;": u"\u2282",
    "subE;": u"\u2ac5",
    "subdot;": u"\u2abd",
    "sube;": u"\u2286",
    "subedot;": u"\u2ac3",
    "submult;": u"\u2ac1",
    "subnE;": u"\u2acb",
    "subne;": u"\u228a",
    "subplus;": u"\u2abf",
    "subrarr;": u"\u2979",
    "subset;": u"\u2282",
    "subseteq;": u"\u2286",
    "subseteqq;": u"\u2ac5",
    "subsetneq;": u"\u228a",
    "subsetneqq;": u"\u2acb",
    "subsim;": u"\u2ac7",
    "subsub;": u"\u2ad5",
    "subsup;": u"\u2ad3",
    "succ;": u"\u227b",
    "succapprox;": u"\u2ab8",
    "succcurlyeq;": u"\u227d",
    "succeq;": u"\u2ab0",
    "succnapprox;": u"\u2aba",
    "succneqq;": u"\u2ab6",
    "succnsim;": u"\u22e9",
    "succsim;": u"\u227f",
    "sum;": u"\u2211",
    "sung;": u"\u266a",
    "sup1": u"\xb9",
    "sup1;": u"\xb9",
    "sup2": u"\xb2",
    "sup2;": u"\xb2",
    "sup3": u"\xb3",
    "sup3;": u"\xb3",
    "sup;": u"\u2283",
    "supE;": u"\u2ac6",
    "supdot;": u"\u2abe",
    "supdsub;": u"\u2ad8",
    "supe;": u"\u2287",
    "supedot;": u"\u2ac4",
    "suphsol;": u"\u27c9",
    "suphsub;": u"\u2ad7",
    "suplarr;": u"\u297b",
    "supmult;": u"\u2ac2",
    "supnE;": u"\u2acc",
    "supne;": u"\u228b",
    "supplus;": u"\u2ac0",
    "supset;": u"\u2283",
    "supseteq;": u"\u2287",
    "supseteqq;": u"\u2ac6",
    "supsetneq;": u"\u228b",
    "supsetneqq;": u"\u2acc",
    "supsim;": u"\u2ac8",
    "supsub;": u"\u2ad4",
    "supsup;": u"\u2ad6",
    "swArr;": u"\u21d9",
    "swarhk;": u"\u2926",
    "swarr;": u"\u2199",
    "swarrow;": u"\u2199",
    "swnwar;": u"\u292a",
    "szlig": u"\xdf",
    "szlig;": u"\xdf",
    "target;": u"\u2316",
    "tau;": u"\u03c4",
    "tbrk;": u"\u23b4",
    "tcaron;": u"\u0165",
    "tcedil;": u"\u0163",
    "tcy;": u"\u0442",
    "tdot;": u"\u20db",
    "telrec;": u"\u2315",
    "tfr;": u"\U0001d531",
    "there4;": u"\u2234",
    "therefore;": u"\u2234",
    "theta;": u"\u03b8",
    "thetasym;": u"\u03d1",
    "thetav;": u"\u03d1",
    "thickapprox;": u"\u2248",
    "thicksim;": u"\u223c",
    "thinsp;": u"\u2009",
    "thkap;": u"\u2248",
    "thksim;": u"\u223c",
    "thorn": u"\xfe",
    "thorn;": u"\xfe",
    "tilde;": u"\u02dc",
    "times": u"\xd7",
    "times;": u"\xd7",
    "timesb;": u"\u22a0",
    "timesbar;": u"\u2a31",
    "timesd;": u"\u2a30",
    "tint;": u"\u222d",
    "toea;": u"\u2928",
    "top;": u"\u22a4",
    "topbot;": u"\u2336",
    "topcir;": u"\u2af1",
    "topf;": u"\U0001d565",
    "topfork;": u"\u2ada",
    "tosa;": u"\u2929",
    "tprime;": u"\u2034",
    "trade;": u"\u2122",
    "triangle;": u"\u25b5",
    "triangledown;": u"\u25bf",
    "triangleleft;": u"\u25c3",
    "trianglelefteq;": u"\u22b4",
    "triangleq;": u"\u225c",
    "triangleright;": u"\u25b9",
    "trianglerighteq;": u"\u22b5",
    "tridot;": u"\u25ec",
    "trie;": u"\u225c",
    "triminus;": u"\u2a3a",
    "triplus;": u"\u2a39",
    "trisb;": u"\u29cd",
    "tritime;": u"\u2a3b",
    "trpezium;": u"\u23e2",
    "tscr;": u"\U0001d4c9",
    "tscy;": u"\u0446",
    "tshcy;": u"\u045b",
    "tstrok;": u"\u0167",
    "twixt;": u"\u226c",
    "twoheadleftarrow;": u"\u219e",
    "twoheadrightarrow;": u"\u21a0",
    "uArr;": u"\u21d1",
    "uHar;": u"\u2963",
    "uacute": u"\xfa",
    "uacute;": u"\xfa",
    "uarr;": u"\u2191",
    "ubrcy;": u"\u045e",
    "ubreve;": u"\u016d",
    "ucirc": u"\xfb",
    "ucirc;": u"\xfb",
    "ucy;": u"\u0443",
    "udarr;": u"\u21c5",
    "udblac;": u"\u0171",
    "udhar;": u"\u296e",
    "ufisht;": u"\u297e",
    "ufr;": u"\U0001d532",
    "ugrave": u"\xf9",
    "ugrave;": u"\xf9",
    "uharl;": u"\u21bf",
    "uharr;": u"\u21be",
    "uhblk;": u"\u2580",
    "ulcorn;": u"\u231c",
    "ulcorner;": u"\u231c",
    "ulcrop;": u"\u230f",
    "ultri;": u"\u25f8",
    "umacr;": u"\u016b",
    "uml": u"\xa8",
    "uml;": u"\xa8",
    "uogon;": u"\u0173",
    "uopf;": u"\U0001d566",
    "uparrow;": u"\u2191",
    "updownarrow;": u"\u2195",
    "upharpoonleft;": u"\u21bf",
    "upharpoonright;": u"\u21be",
    "uplus;": u"\u228e",
    "upsi;": u"\u03c5",
    "upsih;": u"\u03d2",
    "upsilon;": u"\u03c5",
    "upuparrows;": u"\u21c8",
    "urcorn;": u"\u231d",
    "urcorner;": u"\u231d",
    "urcrop;": u"\u230e",
    "uring;": u"\u016f",
    "urtri;": u"\u25f9",
    "uscr;": u"\U0001d4ca",
    "utdot;": u"\u22f0",
    "utilde;": u"\u0169",
    "utri;": u"\u25b5",
    "utrif;": u"\u25b4",
    "uuarr;": u"\u21c8",
    "uuml": u"\xfc",
    "uuml;": u"\xfc",
    "uwangle;": u"\u29a7",
    "vArr;": u"\u21d5",
    "vBar;": u"\u2ae8",
    "vBarv;": u"\u2ae9",
    "vDash;": u"\u22a8",
    "vangrt;": u"\u299c",
    "varepsilon;": u"\u03f5",
    "varkappa;": u"\u03f0",
    "varnothing;": u"\u2205",
    "varphi;": u"\u03d5",
    "varpi;": u"\u03d6",
    "varpropto;": u"\u221d",
    "varr;": u"\u2195",
    "varrho;": u"\u03f1",
    "varsigma;": u"\u03c2",
    "varsubsetneq;": u"\u228a\ufe00",
    "varsubsetneqq;": u"\u2acb\ufe00",
    "varsupsetneq;": u"\u228b\ufe00",
    "varsupsetneqq;": u"\u2acc\ufe00",
    "vartheta;": u"\u03d1",
    "vartriangleleft;": u"\u22b2",
    "vartriangleright;": u"\u22b3",
    "vcy;": u"\u0432",
    "vdash;": u"\u22a2",
    "vee;": u"\u2228",
    "veebar;": u"\u22bb",
    "veeeq;": u"\u225a",
    "vellip;": u"\u22ee",
    "verbar;": u"|",
    "vert;": u"|",
    "vfr;": u"\U0001d533",
    "vltri;": u"\u22b2",
    "vnsub;": u"\u2282\u20d2",
    "vnsup;": u"\u2283\u20d2",
    "vopf;": u"\U0001d567",
    "vprop;": u"\u221d",
    "vrtri;": u"\u22b3",
    "vscr;": u"\U0001d4cb",
    "vsubnE;": u"\u2acb\ufe00",
    "vsubne;": u"\u228a\ufe00",
    "vsupnE;": u"\u2acc\ufe00",
    "vsupne;": u"\u228b\ufe00",
    "vzigzag;": u"\u299a",
    "wcirc;": u"\u0175",
    "wedbar;": u"\u2a5f",
    "wedge;": u"\u2227",
    "wedgeq;": u"\u2259",
    "weierp;": u"\u2118",
    "wfr;": u"\U0001d534",
    "wopf;": u"\U0001d568",
    "wp;": u"\u2118",
    "wr;": u"\u2240",
    "wreath;": u"\u2240",
    "wscr;": u"\U0001d4cc",
    "xcap;": u"\u22c2",
    "xcirc;": u"\u25ef",
    "xcup;": u"\u22c3",
    "xdtri;": u"\u25bd",
    "xfr;": u"\U0001d535",
    "xhArr;": u"\u27fa",
    "xharr;": u"\u27f7",
    "xi;": u"\u03be",
    "xlArr;": u"\u27f8",
    "xlarr;": u"\u27f5",
    "xmap;": u"\u27fc",
    "xnis;": u"\u22fb",
    "xodot;": u"\u2a00",
    "xopf;": u"\U0001d569",
    "xoplus;": u"\u2a01",
    "xotime;": u"\u2a02",
    "xrArr;": u"\u27f9",
    "xrarr;": u"\u27f6",
    "xscr;": u"\U0001d4cd",
    "xsqcup;": u"\u2a06",
    "xuplus;": u"\u2a04",
    "xutri;": u"\u25b3",
    "xvee;": u"\u22c1",
    "xwedge;": u"\u22c0",
    "yacute": u"\xfd",
    "yacute;": u"\xfd",
    "yacy;": u"\u044f",
    "ycirc;": u"\u0177",
    "ycy;": u"\u044b",
    "yen": u"\xa5",
    "yen;": u"\xa5",
    "yfr;": u"\U0001d536",
    "yicy;": u"\u0457",
    "yopf;": u"\U0001d56a",
    "yscr;": u"\U0001d4ce",
    "yucy;": u"\u044e",
    "yuml": u"\xff",
    "yuml;": u"\xff",
    "zacute;": u"\u017a",
    "zcaron;": u"\u017e",
    "zcy;": u"\u0437",
    "zdot;": u"\u017c",
    "zeetrf;": u"\u2128",
    "zeta;": u"\u03b6",
    "zfr;": u"\U0001d537",
    "zhcy;": u"\u0436",
    "zigrarr;": u"\u21dd",
    "zopf;": u"\U0001d56b",
    "zscr;": u"\U0001d4cf",
    "zwj;": u"\u200d",
    "zwnj;": u"\u200c",
}

replacementCharacters = {
    0x0:u"\uFFFD",
    0x0d:u"\u000D",
    0x80:u"\u20AC",
    0x81:u"\u0081",
    0x81:u"\u0081",
    0x82:u"\u201A",
    0x83:u"\u0192",
    0x84:u"\u201E",
    0x85:u"\u2026",
    0x86:u"\u2020",
    0x87:u"\u2021",
    0x88:u"\u02C6",
    0x89:u"\u2030",
    0x8A:u"\u0160",
    0x8B:u"\u2039",
    0x8C:u"\u0152",
    0x8D:u"\u008D",
    0x8E:u"\u017D",
    0x8F:u"\u008F",
    0x90:u"\u0090",
    0x91:u"\u2018",
    0x92:u"\u2019",
    0x93:u"\u201C",
    0x94:u"\u201D",
    0x95:u"\u2022",
    0x96:u"\u2013",
    0x97:u"\u2014",
    0x98:u"\u02DC",
    0x99:u"\u2122",
    0x9A:u"\u0161",
    0x9B:u"\u203A",
    0x9C:u"\u0153",
    0x9D:u"\u009D",
    0x9E:u"\u017E",
    0x9F:u"\u0178",
}

encodings = {
    '437': 'cp437',
    '850': 'cp850',
    '852': 'cp852',
    '855': 'cp855',
    '857': 'cp857',
    '860': 'cp860',
    '861': 'cp861',
    '862': 'cp862',
    '863': 'cp863',
    '865': 'cp865',
    '866': 'cp866',
    '869': 'cp869',
    'ansix341968': 'ascii',
    'ansix341986': 'ascii',
    'arabic': 'iso8859-6',
    'ascii': 'ascii',
    'asmo708': 'iso8859-6',
    'big5': 'big5',
    'big5hkscs': 'big5hkscs',
    'chinese': 'gbk',
    'cp037': 'cp037',
    'cp1026': 'cp1026',
    'cp154': 'ptcp154',
    'cp367': 'ascii',
    'cp424': 'cp424',
    'cp437': 'cp437',
    'cp500': 'cp500',
    'cp775': 'cp775',
    'cp819': 'windows-1252',
    'cp850': 'cp850',
    'cp852': 'cp852',
    'cp855': 'cp855',
    'cp857': 'cp857',
    'cp860': 'cp860',
    'cp861': 'cp861',
    'cp862': 'cp862',
    'cp863': 'cp863',
    'cp864': 'cp864',
    'cp865': 'cp865',
    'cp866': 'cp866',
    'cp869': 'cp869',
    'cp936': 'gbk',
    'cpgr': 'cp869',
    'cpis': 'cp861',
    'csascii': 'ascii',
    'csbig5': 'big5',
    'cseuckr': 'cp949',
    'cseucpkdfmtjapanese': 'euc_jp',
    'csgb2312': 'gbk',
    'cshproman8': 'hp-roman8',
    'csibm037': 'cp037',
    'csibm1026': 'cp1026',
    'csibm424': 'cp424',
    'csibm500': 'cp500',
    'csibm855': 'cp855',
    'csibm857': 'cp857',
    'csibm860': 'cp860',
    'csibm861': 'cp861',
    'csibm863': 'cp863',
    'csibm864': 'cp864',
    'csibm865': 'cp865',
    'csibm866': 'cp866',
    'csibm869': 'cp869',
    'csiso2022jp': 'iso2022_jp',
    'csiso2022jp2': 'iso2022_jp_2',
    'csiso2022kr': 'iso2022_kr',
    'csiso58gb231280': 'gbk',
    'csisolatin1': 'windows-1252',
    'csisolatin2': 'iso8859-2',
    'csisolatin3': 'iso8859-3',
    'csisolatin4': 'iso8859-4',
    'csisolatin5': 'windows-1254',
    'csisolatin6': 'iso8859-10',
    'csisolatinarabic': 'iso8859-6',
    'csisolatincyrillic': 'iso8859-5',
    'csisolatingreek': 'iso8859-7',
    'csisolatinhebrew': 'iso8859-8',
    'cskoi8r': 'koi8-r',
    'csksc56011987': 'cp949',
    'cspc775baltic': 'cp775',
    'cspc850multilingual': 'cp850',
    'cspc862latinhebrew': 'cp862',
    'cspc8codepage437': 'cp437',
    'cspcp852': 'cp852',
    'csptcp154': 'ptcp154',
    'csshiftjis': 'shift_jis',
    'csunicode11utf7': 'utf-7',
    'cyrillic': 'iso8859-5',
    'cyrillicasian': 'ptcp154',
    'ebcdiccpbe': 'cp500',
    'ebcdiccpca': 'cp037',
    'ebcdiccpch': 'cp500',
    'ebcdiccphe': 'cp424',
    'ebcdiccpnl': 'cp037',
    'ebcdiccpus': 'cp037',
    'ebcdiccpwt': 'cp037',
    'ecma114': 'iso8859-6',
    'ecma118': 'iso8859-7',
    'elot928': 'iso8859-7',
    'eucjp': 'euc_jp',
    'euckr': 'cp949',
    'extendedunixcodepackedformatforjapanese': 'euc_jp',
    'gb18030': 'gb18030',
    'gb2312': 'gbk',
    'gb231280': 'gbk',
    'gbk': 'gbk',
    'greek': 'iso8859-7',
    'greek8': 'iso8859-7',
    'hebrew': 'iso8859-8',
    'hproman8': 'hp-roman8',
    'hzgb2312': 'hz',
    'ibm037': 'cp037',
    'ibm1026': 'cp1026',
    'ibm367': 'ascii',
    'ibm424': 'cp424',
    'ibm437': 'cp437',
    'ibm500': 'cp500',
    'ibm775': 'cp775',
    'ibm819': 'windows-1252',
    'ibm850': 'cp850',
    'ibm852': 'cp852',
    'ibm855': 'cp855',
    'ibm857': 'cp857',
    'ibm860': 'cp860',
    'ibm861': 'cp861',
    'ibm862': 'cp862',
    'ibm863': 'cp863',
    'ibm864': 'cp864',
    'ibm865': 'cp865',
    'ibm866': 'cp866',
    'ibm869': 'cp869',
    'iso2022jp': 'iso2022_jp',
    'iso2022jp2': 'iso2022_jp_2',
    'iso2022kr': 'iso2022_kr',
    'iso646irv1991': 'ascii',
    'iso646us': 'ascii',
    'iso88591': 'windows-1252',
    'iso885910': 'iso8859-10',
    'iso8859101992': 'iso8859-10',
    'iso885911987': 'windows-1252',
    'iso885913': 'iso8859-13',
    'iso885914': 'iso8859-14',
    'iso8859141998': 'iso8859-14',
    'iso885915': 'iso8859-15',
    'iso885916': 'iso8859-16',
    'iso8859162001': 'iso8859-16',
    'iso88592': 'iso8859-2',
    'iso885921987': 'iso8859-2',
    'iso88593': 'iso8859-3',
    'iso885931988': 'iso8859-3',
    'iso88594': 'iso8859-4',
    'iso885941988': 'iso8859-4',
    'iso88595': 'iso8859-5',
    'iso885951988': 'iso8859-5',
    'iso88596': 'iso8859-6',
    'iso885961987': 'iso8859-6',
    'iso88597': 'iso8859-7',
    'iso885971987': 'iso8859-7',
    'iso88598': 'iso8859-8',
    'iso885981988': 'iso8859-8',
    'iso88599': 'windows-1254',
    'iso885991989': 'windows-1254',
    'isoceltic': 'iso8859-14',
    'isoir100': 'windows-1252',
    'isoir101': 'iso8859-2',
    'isoir109': 'iso8859-3',
    'isoir110': 'iso8859-4',
    'isoir126': 'iso8859-7',
    'isoir127': 'iso8859-6',
    'isoir138': 'iso8859-8',
    'isoir144': 'iso8859-5',
    'isoir148': 'windows-1254',
    'isoir149': 'cp949',
    'isoir157': 'iso8859-10',
    'isoir199': 'iso8859-14',
    'isoir226': 'iso8859-16',
    'isoir58': 'gbk',
    'isoir6': 'ascii',
    'koi8r': 'koi8-r',
    'koi8u': 'koi8-u',
    'korean': 'cp949',
    'ksc5601': 'cp949',
    'ksc56011987': 'cp949',
    'ksc56011989': 'cp949',
    'l1': 'windows-1252',
    'l10': 'iso8859-16',
    'l2': 'iso8859-2',
    'l3': 'iso8859-3',
    'l4': 'iso8859-4',
    'l5': 'windows-1254',
    'l6': 'iso8859-10',
    'l8': 'iso8859-14',
    'latin1': 'windows-1252',
    'latin10': 'iso8859-16',
    'latin2': 'iso8859-2',
    'latin3': 'iso8859-3',
    'latin4': 'iso8859-4',
    'latin5': 'windows-1254',
    'latin6': 'iso8859-10',
    'latin8': 'iso8859-14',
    'latin9': 'iso8859-15',
    'ms936': 'gbk',
    'mskanji': 'shift_jis',
    'pt154': 'ptcp154',
    'ptcp154': 'ptcp154',
    'r8': 'hp-roman8',
    'roman8': 'hp-roman8',
    'shiftjis': 'shift_jis',
    'tis620': 'cp874',
    'unicode11utf7': 'utf-7',
    'us': 'ascii',
    'usascii': 'ascii',
    'utf16': 'utf-16',
    'utf16be': 'utf-16-be',
    'utf16le': 'utf-16-le',
    'utf8': 'utf-8',
    'windows1250': 'cp1250',
    'windows1251': 'cp1251',
    'windows1252': 'cp1252',
    'windows1253': 'cp1253',
    'windows1254': 'cp1254',
    'windows1255': 'cp1255',
    'windows1256': 'cp1256',
    'windows1257': 'cp1257',
    'windows1258': 'cp1258',
    'windows936': 'gbk',
    'x-x-big5': 'big5'}

tokenTypes = {
    "Doctype":0,
    "Characters":1,
    "SpaceCharacters":2,
    "StartTag":3,
    "EndTag":4,
    "EmptyTag":5,
    "Comment":6,
    "ParseError":7
}

tagTokenTypes = frozenset((tokenTypes["StartTag"], tokenTypes["EndTag"], 
                           tokenTypes["EmptyTag"]))


prefixes = dict([(v,k) for k,v in namespaces.iteritems()])
prefixes["http://www.w3.org/1998/Math/MathML"] = "math"

class DataLossWarning(UserWarning):
    pass

class ReparseException(Exception):
    pass