/*
* Copyright (c) 2012, 2020, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation. Oracle designates this
* particular file as subject to the "Classpath" exception as provided
* by Oracle in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
package com.sun.tools.javac.api;
import java.util.HashMap;
import com.sun.source.doctree.EntityTree;
import com.sun.tools.javac.util.StringUtils;
Table of entities defined in HTML 5.2.
Derived from the
Named character references
section of the HTML 5.2 specification.
This is NOT part of any supported API.
If you write code that depends on this, you do so at your own
risk. This code and its internal interfaces are subject to change
or deletion without notice.
/**
* Table of entities defined in HTML 5.2.
*
* <p> Derived from the
* <a href="https://www.w3.org/TR/html52/syntax.html#named-character-references">Named character references</a>
* section of the HTML 5.2 specification.
*
* <p><b>This is NOT part of any supported API.
* If you write code that depends on this, you do so at your own
* risk. This code and its internal interfaces are subject to change
* or deletion without notice.</b></p>
*/
class Entity {
private static final HashMap<String,String> entities = new HashMap<>();
static {
put("Aacute", '\u00C1');
put("aacute", '\u00E1');
put("Abreve", '\u0102');
put("abreve", '\u0103');
put("ac", '\u223E');
put("acd", '\u223F');
put("acE", '\u223E', '\u0333');
put("Acirc", '\u00C2');
put("acirc", '\u00E2');
put("acute", '\u00B4');
put("Acy", '\u0410');
put("acy", '\u0430');
put("AElig", '\u00C6');
put("aelig", '\u00E6');
put("af", '\u2061');
put("Afr", '\uD835', '\uDD04');
put("afr", '\uD835', '\uDD1E');
put("Agrave", '\u00C0');
put("agrave", '\u00E0');
put("alefsym", '\u2135');
put("aleph", '\u2135');
put("Alpha", '\u0391');
put("alpha", '\u03B1');
put("Amacr", '\u0100');
put("amacr", '\u0101');
put("amalg", '\u2A3F');
put("amp", '\u0026');
put("AMP", '\u0026');
put("andand", '\u2A55');
put("And", '\u2A53');
put("and", '\u2227');
put("andd", '\u2A5C');
put("andslope", '\u2A58');
put("andv", '\u2A5A');
put("ang", '\u2220');
put("ange", '\u29A4');
put("angle", '\u2220');
put("angmsdaa", '\u29A8');
put("angmsdab", '\u29A9');
put("angmsdac", '\u29AA');
put("angmsdad", '\u29AB');
put("angmsdae", '\u29AC');
put("angmsdaf", '\u29AD');
put("angmsdag", '\u29AE');
put("angmsdah", '\u29AF');
put("angmsd", '\u2221');
put("angrt", '\u221F');
put("angrtvb", '\u22BE');
put("angrtvbd", '\u299D');
put("angsph", '\u2222');
put("angst", '\u00C5');
put("angzarr", '\u237C');
put("Aogon", '\u0104');
put("aogon", '\u0105');
put("Aopf", '\uD835', '\uDD38');
put("aopf", '\uD835', '\uDD52');
put("apacir", '\u2A6F');
put("ap", '\u2248');
put("apE", '\u2A70');
put("ape", '\u224A');
put("apid", '\u224B');
put("apos", '\'');
put("ApplyFunction", '\u2061');
put("approx", '\u2248');
put("approxeq", '\u224A');
put("Aring", '\u00C5');
put("aring", '\u00E5');
put("Ascr", '\uD835', '\uDC9C');
put("ascr", '\uD835', '\uDCB6');
put("Assign", '\u2254');
put("ast", '\u002A');
put("asymp", '\u2248');
put("asympeq", '\u224D');
put("Atilde", '\u00C3');
put("atilde", '\u00E3');
put("Auml", '\u00C4');
put("auml", '\u00E4');
put("awconint", '\u2233');
put("awint", '\u2A11');
put("backcong", '\u224C');
put("backepsilon", '\u03F6');
put("backprime", '\u2035');
put("backsim", '\u223D');
put("backsimeq", '\u22CD');
put("Backslash", '\u2216');
put("Barv", '\u2AE7');
put("barvee", '\u22BD');
put("barwed", '\u2305');
put("Barwed", '\u2306');
put("barwedge", '\u2305');
put("bbrk", '\u23B5');
put("bbrktbrk", '\u23B6');
put("bcong", '\u224C');
put("Bcy", '\u0411');
put("bcy", '\u0431');
put("bdquo", '\u201E');
put("becaus", '\u2235');
put("because", '\u2235');
put("Because", '\u2235');
put("bemptyv", '\u29B0');
put("bepsi", '\u03F6');
put("bernou", '\u212C');
put("Bernoullis", '\u212C');
put("Beta", '\u0392');
put("beta", '\u03B2');
put("beth", '\u2136');
put("between", '\u226C');
put("Bfr", '\uD835', '\uDD05');
put("bfr", '\uD835', '\uDD1F');
put("bigcap", '\u22C2');
put("bigcirc", '\u25EF');
put("bigcup", '\u22C3');
put("bigodot", '\u2A00');
put("bigoplus", '\u2A01');
put("bigotimes", '\u2A02');
put("bigsqcup", '\u2A06');
put("bigstar", '\u2605');
put("bigtriangledown", '\u25BD');
put("bigtriangleup", '\u25B3');
put("biguplus", '\u2A04');
put("bigvee", '\u22C1');
put("bigwedge", '\u22C0');
put("bkarow", '\u290D');
put("blacklozenge", '\u29EB');
put("blacksquare", '\u25AA');
put("blacktriangle", '\u25B4');
put("blacktriangledown", '\u25BE');
put("blacktriangleleft", '\u25C2');
put("blacktriangleright", '\u25B8');
put("blank", '\u2423');
put("blk12", '\u2592');
put("blk14", '\u2591');
put("blk34", '\u2593');
put("block", '\u2588');
put("bne", '\u003D', '\u20E5');
put("bnequiv", '\u2261', '\u20E5');
put("bNot", '\u2AED');
put("bnot", '\u2310');
put("Bopf", '\uD835', '\uDD39');
put("bopf", '\uD835', '\uDD53');
put("bot", '\u22A5');
put("bottom", '\u22A5');
put("bowtie", '\u22C8');
put("boxbox", '\u29C9');
put("boxdl", '\u2510');
put("boxdL", '\u2555');
put("boxDl", '\u2556');
put("boxDL", '\u2557');
put("boxdr", '\u250C');
put("boxdR", '\u2552');
put("boxDr", '\u2553');
put("boxDR", '\u2554');
put("boxh", '\u2500');
put("boxH", '\u2550');
put("boxhd", '\u252C');
put("boxHd", '\u2564');
put("boxhD", '\u2565');
put("boxHD", '\u2566');
put("boxhu", '\u2534');
put("boxHu", '\u2567');
put("boxhU", '\u2568');
put("boxHU", '\u2569');
put("boxminus", '\u229F');
put("boxplus", '\u229E');
put("boxtimes", '\u22A0');
put("boxul", '\u2518');
put("boxuL", '\u255B');
put("boxUl", '\u255C');
put("boxUL", '\u255D');
put("boxur", '\u2514');
put("boxuR", '\u2558');
put("boxUr", '\u2559');
put("boxUR", '\u255A');
put("boxv", '\u2502');
put("boxV", '\u2551');
put("boxvh", '\u253C');
put("boxvH", '\u256A');
put("boxVh", '\u256B');
put("boxVH", '\u256C');
put("boxvl", '\u2524');
put("boxvL", '\u2561');
put("boxVl", '\u2562');
put("boxVL", '\u2563');
put("boxvr", '\u251C');
put("boxvR", '\u255E');
put("boxVr", '\u255F');
put("boxVR", '\u2560');
put("bprime", '\u2035');
put("breve", '\u02D8');
put("Breve", '\u02D8');
put("brvbar", '\u00A6');
put("bscr", '\uD835', '\uDCB7');
put("Bscr", '\u212C');
put("bsemi", '\u204F');
put("bsim", '\u223D');
put("bsime", '\u22CD');
put("bsolb", '\u29C5');
put("bsol", '\\');
put("bsolhsub", '\u27C8');
put("bull", '\u2022');
put("bullet", '\u2022');
put("bump", '\u224E');
put("bumpE", '\u2AAE');
put("bumpe", '\u224F');
put("Bumpeq", '\u224E');
put("bumpeq", '\u224F');
put("Cacute", '\u0106');
put("cacute", '\u0107');
put("capand", '\u2A44');
put("capbrcup", '\u2A49');
put("capcap", '\u2A4B');
put("cap", '\u2229');
put("Cap", '\u22D2');
put("capcup", '\u2A47');
put("capdot", '\u2A40');
put("CapitalDifferentialD", '\u2145');
put("caps", '\u2229', '\uFE00');
put("caret", '\u2041');
put("caron", '\u02C7');
put("Cayleys", '\u212D');
put("ccaps", '\u2A4D');
put("Ccaron", '\u010C');
put("ccaron", '\u010D');
put("Ccedil", '\u00C7');
put("ccedil", '\u00E7');
put("Ccirc", '\u0108');
put("ccirc", '\u0109');
put("Cconint", '\u2230');
put("ccups", '\u2A4C');
put("ccupssm", '\u2A50');
put("Cdot", '\u010A');
put("cdot", '\u010B');
put("cedil", '\u00B8');
put("Cedilla", '\u00B8');
put("cemptyv", '\u29B2');
put("cent", '\u00A2');
put("centerdot", '\u00B7');
put("CenterDot", '\u00B7');
put("cfr", '\uD835', '\uDD20');
put("Cfr", '\u212D');
put("CHcy", '\u0427');
put("chcy", '\u0447');
put("check", '\u2713');
put("checkmark", '\u2713');
put("Chi", '\u03A7');
put("chi", '\u03C7');
put("circ", '\u02C6');
put("circeq", '\u2257');
put("circlearrowleft", '\u21BA');
put("circlearrowright", '\u21BB');
put("circledast", '\u229B');
put("circledcirc", '\u229A');
put("circleddash", '\u229D');
put("CircleDot", '\u2299');
put("circledR", '\u00AE');
put("circledS", '\u24C8');
put("CircleMinus", '\u2296');
put("CirclePlus", '\u2295');
put("CircleTimes", '\u2297');
put("cir", '\u25CB');
put("cirE", '\u29C3');
put("cire", '\u2257');
put("cirfnint", '\u2A10');
put("cirmid", '\u2AEF');
put("cirscir", '\u29C2');
put("ClockwiseContourIntegral", '\u2232');
put("CloseCurlyDoubleQuote", '\u201D');
put("CloseCurlyQuote", '\u2019');
put("clubs", '\u2663');
put("clubsuit", '\u2663');
put("colon", '\u003A');
put("Colon", '\u2237');
put("Colone", '\u2A74');
put("colone", '\u2254');
put("coloneq", '\u2254');
put("comma", '\u002C');
put("commat", '\u0040');
put("comp", '\u2201');
put("compfn", '\u2218');
put("complement", '\u2201');
put("complexes", '\u2102');
put("cong", '\u2245');
put("congdot", '\u2A6D');
put("Congruent", '\u2261');
put("conint", '\u222E');
put("Conint", '\u222F');
put("ContourIntegral", '\u222E');
put("copf", '\uD835', '\uDD54');
put("Copf", '\u2102');
put("coprod", '\u2210');
put("Coproduct", '\u2210');
put("copy", '\u00A9');
put("COPY", '\u00A9');
put("copysr", '\u2117');
put("CounterClockwiseContourIntegral", '\u2233');
put("crarr", '\u21B5');
put("cross", '\u2717');
put("Cross", '\u2A2F');
put("Cscr", '\uD835', '\uDC9E');
put("cscr", '\uD835', '\uDCB8');
put("csub", '\u2ACF');
put("csube", '\u2AD1');
put("csup", '\u2AD0');
put("csupe", '\u2AD2');
put("ctdot", '\u22EF');
put("cudarrl", '\u2938');
put("cudarrr", '\u2935');
put("cuepr", '\u22DE');
put("cuesc", '\u22DF');
put("cularr", '\u21B6');
put("cularrp", '\u293D');
put("cupbrcap", '\u2A48');
put("cupcap", '\u2A46');
put("CupCap", '\u224D');
put("cup", '\u222A');
put("Cup", '\u22D3');
put("cupcup", '\u2A4A');
put("cupdot", '\u228D');
put("cupor", '\u2A45');
put("cups", '\u222A', '\uFE00');
put("curarr", '\u21B7');
put("curarrm", '\u293C');
put("curlyeqprec", '\u22DE');
put("curlyeqsucc", '\u22DF');
put("curlyvee", '\u22CE');
put("curlywedge", '\u22CF');
put("curren", '\u00A4');
put("curvearrowleft", '\u21B6');
put("curvearrowright", '\u21B7');
put("cuvee", '\u22CE');
put("cuwed", '\u22CF');
put("cwconint", '\u2232');
put("cwint", '\u2231');
put("cylcty", '\u232D');
put("dagger", '\u2020');
put("Dagger", '\u2021');
put("daleth", '\u2138');
put("darr", '\u2193');
put("Darr", '\u21A1');
put("dArr", '\u21D3');
put("dash", '\u2010');
put("Dashv", '\u2AE4');
put("dashv", '\u22A3');
put("dbkarow", '\u290F');
put("dblac", '\u02DD');
put("Dcaron", '\u010E');
put("dcaron", '\u010F');
put("Dcy", '\u0414');
put("dcy", '\u0434');
put("ddagger", '\u2021');
put("ddarr", '\u21CA');
put("DD", '\u2145');
put("dd", '\u2146');
put("DDotrahd", '\u2911');
put("ddotseq", '\u2A77');
put("deg", '\u00B0');
put("Del", '\u2207');
put("Delta", '\u0394');
put("delta", '\u03B4');
put("demptyv", '\u29B1');
put("dfisht", '\u297F');
put("Dfr", '\uD835', '\uDD07');
put("dfr", '\uD835', '\uDD21');
put("dHar", '\u2965');
put("dharl", '\u21C3');
put("dharr", '\u21C2');
put("DiacriticalAcute", '\u00B4');
put("DiacriticalDot", '\u02D9');
put("DiacriticalDoubleAcute", '\u02DD');
put("DiacriticalGrave", '\u0060');
put("DiacriticalTilde", '\u02DC');
put("diam", '\u22C4');
put("diamond", '\u22C4');
put("Diamond", '\u22C4');
put("diamondsuit", '\u2666');
put("diams", '\u2666');
put("die", '\u00A8');
put("DifferentialD", '\u2146');
put("digamma", '\u03DD');
put("disin", '\u22F2');
put("div", '\u00F7');
put("divide", '\u00F7');
put("divideontimes", '\u22C7');
put("divonx", '\u22C7');
put("DJcy", '\u0402');
put("djcy", '\u0452');
put("dlcorn", '\u231E');
put("dlcrop", '\u230D');
put("dollar", '\u0024');
put("Dopf", '\uD835', '\uDD3B');
put("dopf", '\uD835', '\uDD55');
put("Dot", '\u00A8');
put("dot", '\u02D9');
put("DotDot", '\u20DC');
put("doteq", '\u2250');
put("doteqdot", '\u2251');
put("DotEqual", '\u2250');
put("dotminus", '\u2238');
put("dotplus", '\u2214');
put("dotsquare", '\u22A1');
put("doublebarwedge", '\u2306');
put("DoubleContourIntegral", '\u222F');
put("DoubleDot", '\u00A8');
put("DoubleDownArrow", '\u21D3');
put("DoubleLeftArrow", '\u21D0');
put("DoubleLeftRightArrow", '\u21D4');
put("DoubleLeftTee", '\u2AE4');
put("DoubleLongLeftArrow", '\u27F8');
put("DoubleLongLeftRightArrow", '\u27FA');
put("DoubleLongRightArrow", '\u27F9');
put("DoubleRightArrow", '\u21D2');
put("DoubleRightTee", '\u22A8');
put("DoubleUpArrow", '\u21D1');
put("DoubleUpDownArrow", '\u21D5');
put("DoubleVerticalBar", '\u2225');
put("DownArrowBar", '\u2913');
put("downarrow", '\u2193');
put("DownArrow", '\u2193');
put("Downarrow", '\u21D3');
put("DownArrowUpArrow", '\u21F5');
put("DownBreve", '\u0311');
put("downdownarrows", '\u21CA');
put("downharpoonleft", '\u21C3');
put("downharpoonright", '\u21C2');
put("DownLeftRightVector", '\u2950');
put("DownLeftTeeVector", '\u295E');
put("DownLeftVectorBar", '\u2956');
put("DownLeftVector", '\u21BD');
put("DownRightTeeVector", '\u295F');
put("DownRightVectorBar", '\u2957');
put("DownRightVector", '\u21C1');
put("DownTeeArrow", '\u21A7');
put("DownTee", '\u22A4');
put("drbkarow", '\u2910');
put("drcorn", '\u231F');
put("drcrop", '\u230C');
put("Dscr", '\uD835', '\uDC9F');
put("dscr", '\uD835', '\uDCB9');
put("DScy", '\u0405');
put("dscy", '\u0455');
put("dsol", '\u29F6');
put("Dstrok", '\u0110');
put("dstrok", '\u0111');
put("dtdot", '\u22F1');
put("dtri", '\u25BF');
put("dtrif", '\u25BE');
put("duarr", '\u21F5');
put("duhar", '\u296F');
put("dwangle", '\u29A6');
put("DZcy", '\u040F');
put("dzcy", '\u045F');
put("dzigrarr", '\u27FF');
put("Eacute", '\u00C9');
put("eacute", '\u00E9');
put("easter", '\u2A6E');
put("Ecaron", '\u011A');
put("ecaron", '\u011B');
put("Ecirc", '\u00CA');
put("ecirc", '\u00EA');
put("ecir", '\u2256');
put("ecolon", '\u2255');
put("Ecy", '\u042D');
put("ecy", '\u044D');
put("eDDot", '\u2A77');
put("Edot", '\u0116');
put("edot", '\u0117');
put("eDot", '\u2251');
put("ee", '\u2147');
put("efDot", '\u2252');
put("Efr", '\uD835', '\uDD08');
put("efr", '\uD835', '\uDD22');
put("eg", '\u2A9A');
put("Egrave", '\u00C8');
put("egrave", '\u00E8');
put("egs", '\u2A96');
put("egsdot", '\u2A98');
put("el", '\u2A99');
put("Element", '\u2208');
put("elinters", '\u23E7');
put("ell", '\u2113');
put("els", '\u2A95');
put("elsdot", '\u2A97');
put("Emacr", '\u0112');
put("emacr", '\u0113');
put("empty", '\u2205');
put("emptyset", '\u2205');
put("EmptySmallSquare", '\u25FB');
put("emptyv", '\u2205');
put("EmptyVerySmallSquare", '\u25AB');
put("emsp13", '\u2004');
put("emsp14", '\u2005');
put("emsp", '\u2003');
put("ENG", '\u014A');
put("eng", '\u014B');
put("ensp", '\u2002');
put("Eogon", '\u0118');
put("eogon", '\u0119');
put("Eopf", '\uD835', '\uDD3C');
put("eopf", '\uD835', '\uDD56');
put("epar", '\u22D5');
put("eparsl", '\u29E3');
put("eplus", '\u2A71');
put("epsi", '\u03B5');
put("Epsilon", '\u0395');
put("epsilon", '\u03B5');
put("epsiv", '\u03F5');
put("eqcirc", '\u2256');
put("eqcolon", '\u2255');
put("eqsim", '\u2242');
put("eqslantgtr", '\u2A96');
put("eqslantless", '\u2A95');
put("Equal", '\u2A75');
put("equals", '\u003D');
put("EqualTilde", '\u2242');
put("equest", '\u225F');
put("Equilibrium", '\u21CC');
put("equiv", '\u2261');
put("equivDD", '\u2A78');
put("eqvparsl", '\u29E5');
put("erarr", '\u2971');
put("erDot", '\u2253');
put("escr", '\u212F');
put("Escr", '\u2130');
put("esdot", '\u2250');
put("Esim", '\u2A73');
put("esim", '\u2242');
put("Eta", '\u0397');
put("eta", '\u03B7');
put("ETH", '\u00D0');
put("eth", '\u00F0');
put("Euml", '\u00CB');
put("euml", '\u00EB');
put("euro", '\u20AC');
put("excl", '\u0021');
put("exist", '\u2203');
put("Exists", '\u2203');
put("expectation", '\u2130');
put("exponentiale", '\u2147');
put("ExponentialE", '\u2147');
put("fallingdotseq", '\u2252');
put("Fcy", '\u0424');
put("fcy", '\u0444');
put("female", '\u2640');
put("ffilig", '\uFB03');
put("fflig", '\uFB00');
put("ffllig", '\uFB04');
put("Ffr", '\uD835', '\uDD09');
put("ffr", '\uD835', '\uDD23');
put("filig", '\uFB01');
put("FilledSmallSquare", '\u25FC');
put("FilledVerySmallSquare", '\u25AA');
put("fjlig", '\u0066', '\u006A');
put("flat", '\u266D');
put("fllig", '\uFB02');
put("fltns", '\u25B1');
put("fnof", '\u0192');
put("Fopf", '\uD835', '\uDD3D');
put("fopf", '\uD835', '\uDD57');
put("forall", '\u2200');
put("ForAll", '\u2200');
put("fork", '\u22D4');
put("forkv", '\u2AD9');
put("Fouriertrf", '\u2131');
put("fpartint", '\u2A0D');
put("frac12", '\u00BD');
put("frac13", '\u2153');
put("frac14", '\u00BC');
put("frac15", '\u2155');
put("frac16", '\u2159');
put("frac18", '\u215B');
put("frac23", '\u2154');
put("frac25", '\u2156');
put("frac34", '\u00BE');
put("frac35", '\u2157');
put("frac38", '\u215C');
put("frac45", '\u2158');
put("frac56", '\u215A');
put("frac58", '\u215D');
put("frac78", '\u215E');
put("frasl", '\u2044');
put("frown", '\u2322');
put("fscr", '\uD835', '\uDCBB');
put("Fscr", '\u2131');
put("gacute", '\u01F5');
put("Gamma", '\u0393');
put("gamma", '\u03B3');
put("Gammad", '\u03DC');
put("gammad", '\u03DD');
put("gap", '\u2A86');
put("Gbreve", '\u011E');
put("gbreve", '\u011F');
put("Gcedil", '\u0122');
put("Gcirc", '\u011C');
put("gcirc", '\u011D');
put("Gcy", '\u0413');
put("gcy", '\u0433');
put("Gdot", '\u0120');
put("gdot", '\u0121');
put("ge", '\u2265');
put("gE", '\u2267');
put("gEl", '\u2A8C');
put("gel", '\u22DB');
put("geq", '\u2265');
put("geqq", '\u2267');
put("geqslant", '\u2A7E');
put("gescc", '\u2AA9');
put("ges", '\u2A7E');
put("gesdot", '\u2A80');
put("gesdoto", '\u2A82');
put("gesdotol", '\u2A84');
put("gesl", '\u22DB', '\uFE00');
put("gesles", '\u2A94');
put("Gfr", '\uD835', '\uDD0A');
put("gfr", '\uD835', '\uDD24');
put("gg", '\u226B');
put("Gg", '\u22D9');
put("ggg", '\u22D9');
put("gimel", '\u2137');
put("GJcy", '\u0403');
put("gjcy", '\u0453');
put("gla", '\u2AA5');
put("gl", '\u2277');
put("glE", '\u2A92');
put("glj", '\u2AA4');
put("gnap", '\u2A8A');
put("gnapprox", '\u2A8A');
put("gne", '\u2A88');
put("gnE", '\u2269');
put("gneq", '\u2A88');
put("gneqq", '\u2269');
put("gnsim", '\u22E7');
put("Gopf", '\uD835', '\uDD3E');
put("gopf", '\uD835', '\uDD58');
put("grave", '\u0060');
put("GreaterEqual", '\u2265');
put("GreaterEqualLess", '\u22DB');
put("GreaterFullEqual", '\u2267');
put("GreaterGreater", '\u2AA2');
put("GreaterLess", '\u2277');
put("GreaterSlantEqual", '\u2A7E');
put("GreaterTilde", '\u2273');
put("Gscr", '\uD835', '\uDCA2');
put("gscr", '\u210A');
put("gsim", '\u2273');
put("gsime", '\u2A8E');
put("gsiml", '\u2A90');
put("gtcc", '\u2AA7');
put("gtcir", '\u2A7A');
put("gt", '\u003E');
put("GT", '\u003E');
put("Gt", '\u226B');
put("gtdot", '\u22D7');
put("gtlPar", '\u2995');
put("gtquest", '\u2A7C');
put("gtrapprox", '\u2A86');
put("gtrarr", '\u2978');
put("gtrdot", '\u22D7');
put("gtreqless", '\u22DB');
put("gtreqqless", '\u2A8C');
put("gtrless", '\u2277');
put("gtrsim", '\u2273');
put("gvertneqq", '\u2269', '\uFE00');
put("gvnE", '\u2269', '\uFE00');
put("Hacek", '\u02C7');
put("hairsp", '\u200A');
put("half", '\u00BD');
put("hamilt", '\u210B');
put("HARDcy", '\u042A');
put("hardcy", '\u044A');
put("harrcir", '\u2948');
put("harr", '\u2194');
put("hArr", '\u21D4');
put("harrw", '\u21AD');
put("Hat", '\u005E');
put("hbar", '\u210F');
put("Hcirc", '\u0124');
put("hcirc", '\u0125');
put("hearts", '\u2665');
put("heartsuit", '\u2665');
put("hellip", '\u2026');
put("hercon", '\u22B9');
put("hfr", '\uD835', '\uDD25');
put("Hfr", '\u210C');
put("HilbertSpace", '\u210B');
put("hksearow", '\u2925');
put("hkswarow", '\u2926');
put("hoarr", '\u21FF');
put("homtht", '\u223B');
put("hookleftarrow", '\u21A9');
put("hookrightarrow", '\u21AA');
put("hopf", '\uD835', '\uDD59');
put("Hopf", '\u210D');
put("horbar", '\u2015');
put("HorizontalLine", '\u2500');
put("hscr", '\uD835', '\uDCBD');
put("Hscr", '\u210B');
put("hslash", '\u210F');
put("Hstrok", '\u0126');
put("hstrok", '\u0127');
put("HumpDownHump", '\u224E');
put("HumpEqual", '\u224F');
put("hybull", '\u2043');
put("hyphen", '\u2010');
put("Iacute", '\u00CD');
put("iacute", '\u00ED');
put("ic", '\u2063');
put("Icirc", '\u00CE');
put("icirc", '\u00EE');
put("Icy", '\u0418');
put("icy", '\u0438');
put("Idot", '\u0130');
put("IEcy", '\u0415');
put("iecy", '\u0435');
put("iexcl", '\u00A1');
put("iff", '\u21D4');
put("ifr", '\uD835', '\uDD26');
put("Ifr", '\u2111');
put("Igrave", '\u00CC');
put("igrave", '\u00EC');
put("ii", '\u2148');
put("iiiint", '\u2A0C');
put("iiint", '\u222D');
put("iinfin", '\u29DC');
put("iiota", '\u2129');
put("IJlig", '\u0132');
put("ijlig", '\u0133');
put("Imacr", '\u012A');
put("imacr", '\u012B');
put("image", '\u2111');
put("ImaginaryI", '\u2148');
put("imagline", '\u2110');
put("imagpart", '\u2111');
put("imath", '\u0131');
put("Im", '\u2111');
put("imof", '\u22B7');
put("imped", '\u01B5');
put("Implies", '\u21D2');
put("incare", '\u2105');
put("in", '\u2208');
put("infin", '\u221E');
put("infintie", '\u29DD');
put("inodot", '\u0131');
put("intcal", '\u22BA');
put("int", '\u222B');
put("Int", '\u222C');
put("integers", '\u2124');
put("Integral", '\u222B');
put("intercal", '\u22BA');
put("Intersection", '\u22C2');
put("intlarhk", '\u2A17');
put("intprod", '\u2A3C');
put("InvisibleComma", '\u2063');
put("InvisibleTimes", '\u2062');
put("IOcy", '\u0401');
put("iocy", '\u0451');
put("Iogon", '\u012E');
put("iogon", '\u012F');
put("Iopf", '\uD835', '\uDD40');
put("iopf", '\uD835', '\uDD5A');
put("Iota", '\u0399');
put("iota", '\u03B9');
put("iprod", '\u2A3C');
put("iquest", '\u00BF');
put("iscr", '\uD835', '\uDCBE');
put("Iscr", '\u2110');
put("isin", '\u2208');
put("isindot", '\u22F5');
put("isinE", '\u22F9');
put("isins", '\u22F4');
put("isinsv", '\u22F3');
put("isinv", '\u2208');
put("it", '\u2062');
put("Itilde", '\u0128');
put("itilde", '\u0129');
put("Iukcy", '\u0406');
put("iukcy", '\u0456');
put("Iuml", '\u00CF');
put("iuml", '\u00EF');
put("Jcirc", '\u0134');
put("jcirc", '\u0135');
put("Jcy", '\u0419');
put("jcy", '\u0439');
put("Jfr", '\uD835', '\uDD0D');
put("jfr", '\uD835', '\uDD27');
put("jmath", '\u0237');
put("Jopf", '\uD835', '\uDD41');
put("jopf", '\uD835', '\uDD5B');
put("Jscr", '\uD835', '\uDCA5');
put("jscr", '\uD835', '\uDCBF');
put("Jsercy", '\u0408');
put("jsercy", '\u0458');
put("Jukcy", '\u0404');
put("jukcy", '\u0454');
put("Kappa", '\u039A');
put("kappa", '\u03BA');
put("kappav", '\u03F0');
put("Kcedil", '\u0136');
put("kcedil", '\u0137');
put("Kcy", '\u041A');
put("kcy", '\u043A');
put("Kfr", '\uD835', '\uDD0E');
put("kfr", '\uD835', '\uDD28');
put("kgreen", '\u0138');
put("KHcy", '\u0425');
put("khcy", '\u0445');
put("KJcy", '\u040C');
put("kjcy", '\u045C');
put("Kopf", '\uD835', '\uDD42');
put("kopf", '\uD835', '\uDD5C');
put("Kscr", '\uD835', '\uDCA6');
put("kscr", '\uD835', '\uDCC0');
put("lAarr", '\u21DA');
put("Lacute", '\u0139');
put("lacute", '\u013A');
put("laemptyv", '\u29B4');
put("lagran", '\u2112');
put("Lambda", '\u039B');
put("lambda", '\u03BB');
put("lang", '\u27E8');
put("Lang", '\u27EA');
put("langd", '\u2991');
put("langle", '\u27E8');
put("lap", '\u2A85');
put("Laplacetrf", '\u2112');
put("laquo", '\u00AB');
put("larrb", '\u21E4');
put("larrbfs", '\u291F');
put("larr", '\u2190');
put("Larr", '\u219E');
put("lArr", '\u21D0');
put("larrfs", '\u291D');
put("larrhk", '\u21A9');
put("larrlp", '\u21AB');
put("larrpl", '\u2939');
put("larrsim", '\u2973');
put("larrtl", '\u21A2');
put("latail", '\u2919');
put("lAtail", '\u291B');
put("lat", '\u2AAB');
put("late", '\u2AAD');
put("lates", '\u2AAD', '\uFE00');
put("lbarr", '\u290C');
put("lBarr", '\u290E');
put("lbbrk", '\u2772');
put("lbrace", '\u007B');
put("lbrack", '\u005B');
put("lbrke", '\u298B');
put("lbrksld", '\u298F');
put("lbrkslu", '\u298D');
put("Lcaron", '\u013D');
put("lcaron", '\u013E');
put("Lcedil", '\u013B');
put("lcedil", '\u013C');
put("lceil", '\u2308');
put("lcub", '\u007B');
put("Lcy", '\u041B');
put("lcy", '\u043B');
put("ldca", '\u2936');
put("ldquo", '\u201C');
put("ldquor", '\u201E');
put("ldrdhar", '\u2967');
put("ldrushar", '\u294B');
put("ldsh", '\u21B2');
put("le", '\u2264');
put("lE", '\u2266');
put("LeftAngleBracket", '\u27E8');
put("LeftArrowBar", '\u21E4');
put("leftarrow", '\u2190');
put("LeftArrow", '\u2190');
put("Leftarrow", '\u21D0');
put("LeftArrowRightArrow", '\u21C6');
put("leftarrowtail", '\u21A2');
put("LeftCeiling", '\u2308');
put("LeftDoubleBracket", '\u27E6');
put("LeftDownTeeVector", '\u2961');
put("LeftDownVectorBar", '\u2959');
put("LeftDownVector", '\u21C3');
put("LeftFloor", '\u230A');
put("leftharpoondown", '\u21BD');
put("leftharpoonup", '\u21BC');
put("leftleftarrows", '\u21C7');
put("leftrightarrow", '\u2194');
put("LeftRightArrow", '\u2194');
put("Leftrightarrow", '\u21D4');
put("leftrightarrows", '\u21C6');
put("leftrightharpoons", '\u21CB');
put("leftrightsquigarrow", '\u21AD');
put("LeftRightVector", '\u294E');
put("LeftTeeArrow", '\u21A4');
put("LeftTee", '\u22A3');
put("LeftTeeVector", '\u295A');
put("leftthreetimes", '\u22CB');
put("LeftTriangleBar", '\u29CF');
put("LeftTriangle", '\u22B2');
put("LeftTriangleEqual", '\u22B4');
put("LeftUpDownVector", '\u2951');
put("LeftUpTeeVector", '\u2960');
put("LeftUpVectorBar", '\u2958');
put("LeftUpVector", '\u21BF');
put("LeftVectorBar", '\u2952');
put("LeftVector", '\u21BC');
put("lEg", '\u2A8B');
put("leg", '\u22DA');
put("leq", '\u2264');
put("leqq", '\u2266');
put("leqslant", '\u2A7D');
put("lescc", '\u2AA8');
put("les", '\u2A7D');
put("lesdot", '\u2A7F');
put("lesdoto", '\u2A81');
put("lesdotor", '\u2A83');
put("lesg", '\u22DA', '\uFE00');
put("lesges", '\u2A93');
put("lessapprox", '\u2A85');
put("lessdot", '\u22D6');
put("lesseqgtr", '\u22DA');
put("lesseqqgtr", '\u2A8B');
put("LessEqualGreater", '\u22DA');
put("LessFullEqual", '\u2266');
put("LessGreater", '\u2276');
put("lessgtr", '\u2276');
put("LessLess", '\u2AA1');
put("lesssim", '\u2272');
put("LessSlantEqual", '\u2A7D');
put("LessTilde", '\u2272');
put("lfisht", '\u297C');
put("lfloor", '\u230A');
put("Lfr", '\uD835', '\uDD0F');
put("lfr", '\uD835', '\uDD29');
put("lg", '\u2276');
put("lgE", '\u2A91');
put("lHar", '\u2962');
put("lhard", '\u21BD');
put("lharu", '\u21BC');
put("lharul", '\u296A');
put("lhblk", '\u2584');
put("LJcy", '\u0409');
put("ljcy", '\u0459');
put("llarr", '\u21C7');
put("ll", '\u226A');
put("Ll", '\u22D8');
put("llcorner", '\u231E');
put("Lleftarrow", '\u21DA');
put("llhard", '\u296B');
put("lltri", '\u25FA');
put("Lmidot", '\u013F');
put("lmidot", '\u0140');
put("lmoustache", '\u23B0');
put("lmoust", '\u23B0');
put("lnap", '\u2A89');
put("lnapprox", '\u2A89');
put("lne", '\u2A87');
put("lnE", '\u2268');
put("lneq", '\u2A87');
put("lneqq", '\u2268');
put("lnsim", '\u22E6');
put("loang", '\u27EC');
put("loarr", '\u21FD');
put("lobrk", '\u27E6');
put("longleftarrow", '\u27F5');
put("LongLeftArrow", '\u27F5');
put("Longleftarrow", '\u27F8');
put("longleftrightarrow", '\u27F7');
put("LongLeftRightArrow", '\u27F7');
put("Longleftrightarrow", '\u27FA');
put("longmapsto", '\u27FC');
put("longrightarrow", '\u27F6');
put("LongRightArrow", '\u27F6');
put("Longrightarrow", '\u27F9');
put("looparrowleft", '\u21AB');
put("looparrowright", '\u21AC');
put("lopar", '\u2985');
put("Lopf", '\uD835', '\uDD43');
put("lopf", '\uD835', '\uDD5D');
put("loplus", '\u2A2D');
put("lotimes", '\u2A34');
put("lowast", '\u2217');
put("lowbar", '\u005F');
put("LowerLeftArrow", '\u2199');
put("LowerRightArrow", '\u2198');
put("loz", '\u25CA');
put("lozenge", '\u25CA');
put("lozf", '\u29EB');
put("lpar", '\u0028');
put("lparlt", '\u2993');
put("lrarr", '\u21C6');
put("lrcorner", '\u231F');
put("lrhar", '\u21CB');
put("lrhard", '\u296D');
put("lrm", '\u200E');
put("lrtri", '\u22BF');
put("lsaquo", '\u2039');
put("lscr", '\uD835', '\uDCC1');
put("Lscr", '\u2112');
put("lsh", '\u21B0');
put("Lsh", '\u21B0');
put("lsim", '\u2272');
put("lsime", '\u2A8D');
put("lsimg", '\u2A8F');
put("lsqb", '\u005B');
put("lsquo", '\u2018');
put("lsquor", '\u201A');
put("Lstrok", '\u0141');
put("lstrok", '\u0142');
put("ltcc", '\u2AA6');
put("ltcir", '\u2A79');
put("lt", '\u003C');
put("LT", '\u003C');
put("Lt", '\u226A');
put("ltdot", '\u22D6');
put("lthree", '\u22CB');
put("ltimes", '\u22C9');
put("ltlarr", '\u2976');
put("ltquest", '\u2A7B');
put("ltri", '\u25C3');
put("ltrie", '\u22B4');
put("ltrif", '\u25C2');
put("ltrPar", '\u2996');
put("lurdshar", '\u294A');
put("luruhar", '\u2966');
put("lvertneqq", '\u2268', '\uFE00');
put("lvnE", '\u2268', '\uFE00');
put("macr", '\u00AF');
put("male", '\u2642');
put("malt", '\u2720');
put("maltese", '\u2720');
put("Map", '\u2905');
put("map", '\u21A6');
put("mapsto", '\u21A6');
put("mapstodown", '\u21A7');
put("mapstoleft", '\u21A4');
put("mapstoup", '\u21A5');
put("marker", '\u25AE');
put("mcomma", '\u2A29');
put("Mcy", '\u041C');
put("mcy", '\u043C');
put("mdash", '\u2014');
put("mDDot", '\u223A');
put("measuredangle", '\u2221');
put("MediumSpace", '\u205F');
put("Mellintrf", '\u2133');
put("Mfr", '\uD835', '\uDD10');
put("mfr", '\uD835', '\uDD2A');
put("mho", '\u2127');
put("micro", '\u00B5');
put("midast", '\u002A');
put("midcir", '\u2AF0');
put("mid", '\u2223');
put("middot", '\u00B7');
put("minusb", '\u229F');
put("minus", '\u2212');
put("minusd", '\u2238');
put("minusdu", '\u2A2A');
put("MinusPlus", '\u2213');
put("mlcp", '\u2ADB');
put("mldr", '\u2026');
put("mnplus", '\u2213');
put("models", '\u22A7');
put("Mopf", '\uD835', '\uDD44');
put("mopf", '\uD835', '\uDD5E');
put("mp", '\u2213');
put("mscr", '\uD835', '\uDCC2');
put("Mscr", '\u2133');
put("mstpos", '\u223E');
put("Mu", '\u039C');
put("mu", '\u03BC');
put("multimap", '\u22B8');
put("mumap", '\u22B8');
put("nabla", '\u2207');
put("Nacute", '\u0143');
put("nacute", '\u0144');
put("nang", '\u2220', '\u20D2');
put("nap", '\u2249');
put("napE", '\u2A70', '\u0338');
put("napid", '\u224B', '\u0338');
put("napos", '\u0149');
put("napprox", '\u2249');
put("natural", '\u266E');
put("naturals", '\u2115');
put("natur", '\u266E');
put("nbsp", '\u00A0');
put("nbump", '\u224E', '\u0338');
put("nbumpe", '\u224F', '\u0338');
put("ncap", '\u2A43');
put("Ncaron", '\u0147');
put("ncaron", '\u0148');
put("Ncedil", '\u0145');
put("ncedil", '\u0146');
put("ncong", '\u2247');
put("ncongdot", '\u2A6D', '\u0338');
put("ncup", '\u2A42');
put("Ncy", '\u041D');
put("ncy", '\u043D');
put("ndash", '\u2013');
put("nearhk", '\u2924');
put("nearr", '\u2197');
put("neArr", '\u21D7');
put("nearrow", '\u2197');
put("ne", '\u2260');
put("nedot", '\u2250', '\u0338');
put("NegativeMediumSpace", '\u200B');
put("NegativeThickSpace", '\u200B');
put("NegativeThinSpace", '\u200B');
put("NegativeVeryThinSpace", '\u200B');
put("nequiv", '\u2262');
put("nesear", '\u2928');
put("nesim", '\u2242', '\u0338');
put("NestedGreaterGreater", '\u226B');
put("NestedLessLess", '\u226A');
put("NewLine", '\n');
put("nexist", '\u2204');
put("nexists", '\u2204');
put("Nfr", '\uD835', '\uDD11');
put("nfr", '\uD835', '\uDD2B');
put("ngE", '\u2267', '\u0338');
put("nge", '\u2271');
put("ngeq", '\u2271');
put("ngeqq", '\u2267', '\u0338');
put("ngeqslant", '\u2A7E', '\u0338');
put("nges", '\u2A7E', '\u0338');
put("nGg", '\u22D9', '\u0338');
put("ngsim", '\u2275');
put("nGt", '\u226B', '\u20D2');
put("ngt", '\u226F');
put("ngtr", '\u226F');
put("nGtv", '\u226B', '\u0338');
put("nharr", '\u21AE');
put("nhArr", '\u21CE');
put("nhpar", '\u2AF2');
put("ni", '\u220B');
put("nis", '\u22FC');
put("nisd", '\u22FA');
put("niv", '\u220B');
put("NJcy", '\u040A');
put("njcy", '\u045A');
put("nlarr", '\u219A');
put("nlArr", '\u21CD');
put("nldr", '\u2025');
put("nlE", '\u2266', '\u0338');
put("nle", '\u2270');
put("nleftarrow", '\u219A');
put("nLeftarrow", '\u21CD');
put("nleftrightarrow", '\u21AE');
put("nLeftrightarrow", '\u21CE');
put("nleq", '\u2270');
put("nleqq", '\u2266', '\u0338');
put("nleqslant", '\u2A7D', '\u0338');
put("nles", '\u2A7D', '\u0338');
put("nless", '\u226E');
put("nLl", '\u22D8', '\u0338');
put("nlsim", '\u2274');
put("nLt", '\u226A', '\u20D2');
put("nlt", '\u226E');
put("nltri", '\u22EA');
put("nltrie", '\u22EC');
put("nLtv", '\u226A', '\u0338');
put("nmid", '\u2224');
put("NoBreak", '\u2060');
put("NonBreakingSpace", '\u00A0');
put("nopf", '\uD835', '\uDD5F');
put("Nopf", '\u2115');
put("Not", '\u2AEC');
put("not", '\u00AC');
put("NotCongruent", '\u2262');
put("NotCupCap", '\u226D');
put("NotDoubleVerticalBar", '\u2226');
put("NotElement", '\u2209');
put("NotEqual", '\u2260');
put("NotEqualTilde", '\u2242', '\u0338');
put("NotExists", '\u2204');
put("NotGreater", '\u226F');
put("NotGreaterEqual", '\u2271');
put("NotGreaterFullEqual", '\u2267', '\u0338');
put("NotGreaterGreater", '\u226B', '\u0338');
put("NotGreaterLess", '\u2279');
put("NotGreaterSlantEqual", '\u2A7E', '\u0338');
put("NotGreaterTilde", '\u2275');
put("NotHumpDownHump", '\u224E', '\u0338');
put("NotHumpEqual", '\u224F', '\u0338');
put("notin", '\u2209');
put("notindot", '\u22F5', '\u0338');
put("notinE", '\u22F9', '\u0338');
put("notinva", '\u2209');
put("notinvb", '\u22F7');
put("notinvc", '\u22F6');
put("NotLeftTriangleBar", '\u29CF', '\u0338');
put("NotLeftTriangle", '\u22EA');
put("NotLeftTriangleEqual", '\u22EC');
put("NotLess", '\u226E');
put("NotLessEqual", '\u2270');
put("NotLessGreater", '\u2278');
put("NotLessLess", '\u226A', '\u0338');
put("NotLessSlantEqual", '\u2A7D', '\u0338');
put("NotLessTilde", '\u2274');
put("NotNestedGreaterGreater", '\u2AA2', '\u0338');
put("NotNestedLessLess", '\u2AA1', '\u0338');
put("notni", '\u220C');
put("notniva", '\u220C');
put("notnivb", '\u22FE');
put("notnivc", '\u22FD');
put("NotPrecedes", '\u2280');
put("NotPrecedesEqual", '\u2AAF', '\u0338');
put("NotPrecedesSlantEqual", '\u22E0');
put("NotReverseElement", '\u220C');
put("NotRightTriangleBar", '\u29D0', '\u0338');
put("NotRightTriangle", '\u22EB');
put("NotRightTriangleEqual", '\u22ED');
put("NotSquareSubset", '\u228F', '\u0338');
put("NotSquareSubsetEqual", '\u22E2');
put("NotSquareSuperset", '\u2290', '\u0338');
put("NotSquareSupersetEqual", '\u22E3');
put("NotSubset", '\u2282', '\u20D2');
put("NotSubsetEqual", '\u2288');
put("NotSucceeds", '\u2281');
put("NotSucceedsEqual", '\u2AB0', '\u0338');
put("NotSucceedsSlantEqual", '\u22E1');
put("NotSucceedsTilde", '\u227F', '\u0338');
put("NotSuperset", '\u2283', '\u20D2');
put("NotSupersetEqual", '\u2289');
put("NotTilde", '\u2241');
put("NotTildeEqual", '\u2244');
put("NotTildeFullEqual", '\u2247');
put("NotTildeTilde", '\u2249');
put("NotVerticalBar", '\u2224');
put("nparallel", '\u2226');
put("npar", '\u2226');
put("nparsl", '\u2AFD', '\u20E5');
put("npart", '\u2202', '\u0338');
put("npolint", '\u2A14');
put("npr", '\u2280');
put("nprcue", '\u22E0');
put("nprec", '\u2280');
put("npreceq", '\u2AAF', '\u0338');
put("npre", '\u2AAF', '\u0338');
put("nrarrc", '\u2933', '\u0338');
put("nrarr", '\u219B');
put("nrArr", '\u21CF');
put("nrarrw", '\u219D', '\u0338');
put("nrightarrow", '\u219B');
put("nRightarrow", '\u21CF');
put("nrtri", '\u22EB');
put("nrtrie", '\u22ED');
put("nsc", '\u2281');
put("nsccue", '\u22E1');
put("nsce", '\u2AB0', '\u0338');
put("Nscr", '\uD835', '\uDCA9');
put("nscr", '\uD835', '\uDCC3');
put("nshortmid", '\u2224');
put("nshortparallel", '\u2226');
put("nsim", '\u2241');
put("nsime", '\u2244');
put("nsimeq", '\u2244');
put("nsmid", '\u2224');
put("nspar", '\u2226');
put("nsqsube", '\u22E2');
put("nsqsupe", '\u22E3');
put("nsub", '\u2284');
put("nsubE", '\u2AC5', '\u0338');
put("nsube", '\u2288');
put("nsubset", '\u2282', '\u20D2');
put("nsubseteq", '\u2288');
put("nsubseteqq", '\u2AC5', '\u0338');
put("nsucc", '\u2281');
put("nsucceq", '\u2AB0', '\u0338');
put("nsup", '\u2285');
put("nsupE", '\u2AC6', '\u0338');
put("nsupe", '\u2289');
put("nsupset", '\u2283', '\u20D2');
put("nsupseteq", '\u2289');
put("nsupseteqq", '\u2AC6', '\u0338');
put("ntgl", '\u2279');
put("Ntilde", '\u00D1');
put("ntilde", '\u00F1');
put("ntlg", '\u2278');
put("ntriangleleft", '\u22EA');
put("ntrianglelefteq", '\u22EC');
put("ntriangleright", '\u22EB');
put("ntrianglerighteq", '\u22ED');
put("Nu", '\u039D');
put("nu", '\u03BD');
put("num", '\u0023');
put("numero", '\u2116');
put("numsp", '\u2007');
put("nvap", '\u224D', '\u20D2');
put("nvdash", '\u22AC');
put("nvDash", '\u22AD');
put("nVdash", '\u22AE');
put("nVDash", '\u22AF');
put("nvge", '\u2265', '\u20D2');
put("nvgt", '\u003E', '\u20D2');
put("nvHarr", '\u2904');
put("nvinfin", '\u29DE');
put("nvlArr", '\u2902');
put("nvle", '\u2264', '\u20D2');
put("nvlt", '\u003C', '\u20D2');
put("nvltrie", '\u22B4', '\u20D2');
put("nvrArr", '\u2903');
put("nvrtrie", '\u22B5', '\u20D2');
put("nvsim", '\u223C', '\u20D2');
put("nwarhk", '\u2923');
put("nwarr", '\u2196');
put("nwArr", '\u21D6');
put("nwarrow", '\u2196');
put("nwnear", '\u2927');
put("Oacute", '\u00D3');
put("oacute", '\u00F3');
put("oast", '\u229B');
put("Ocirc", '\u00D4');
put("ocirc", '\u00F4');
put("ocir", '\u229A');
put("Ocy", '\u041E');
put("ocy", '\u043E');
put("odash", '\u229D');
put("Odblac", '\u0150');
put("odblac", '\u0151');
put("odiv", '\u2A38');
put("odot", '\u2299');
put("odsold", '\u29BC');
put("OElig", '\u0152');
put("oelig", '\u0153');
put("ofcir", '\u29BF');
put("Ofr", '\uD835', '\uDD12');
put("ofr", '\uD835', '\uDD2C');
put("ogon", '\u02DB');
put("Ograve", '\u00D2');
put("ograve", '\u00F2');
put("ogt", '\u29C1');
put("ohbar", '\u29B5');
put("ohm", '\u03A9');
put("oint", '\u222E');
put("olarr", '\u21BA');
put("olcir", '\u29BE');
put("olcross", '\u29BB');
put("oline", '\u203E');
put("olt", '\u29C0');
put("Omacr", '\u014C');
put("omacr", '\u014D');
put("Omega", '\u03A9');
put("omega", '\u03C9');
put("Omicron", '\u039F');
put("omicron", '\u03BF');
put("omid", '\u29B6');
put("ominus", '\u2296');
put("Oopf", '\uD835', '\uDD46');
put("oopf", '\uD835', '\uDD60');
put("opar", '\u29B7');
put("OpenCurlyDoubleQuote", '\u201C');
put("OpenCurlyQuote", '\u2018');
put("operp", '\u29B9');
put("oplus", '\u2295');
put("orarr", '\u21BB');
put("Or", '\u2A54');
put("or", '\u2228');
put("ord", '\u2A5D');
put("order", '\u2134');
put("orderof", '\u2134');
put("ordf", '\u00AA');
put("ordm", '\u00BA');
put("origof", '\u22B6');
put("oror", '\u2A56');
put("orslope", '\u2A57');
put("orv", '\u2A5B');
put("oS", '\u24C8');
put("Oscr", '\uD835', '\uDCAA');
put("oscr", '\u2134');
put("Oslash", '\u00D8');
put("oslash", '\u00F8');
put("osol", '\u2298');
put("Otilde", '\u00D5');
put("otilde", '\u00F5');
put("otimesas", '\u2A36');
put("Otimes", '\u2A37');
put("otimes", '\u2297');
put("Ouml", '\u00D6');
put("ouml", '\u00F6');
put("ovbar", '\u233D');
put("OverBar", '\u203E');
put("OverBrace", '\u23DE');
put("OverBracket", '\u23B4');
put("OverParenthesis", '\u23DC');
put("para", '\u00B6');
put("parallel", '\u2225');
put("par", '\u2225');
put("parsim", '\u2AF3');
put("parsl", '\u2AFD');
put("part", '\u2202');
put("PartialD", '\u2202');
put("Pcy", '\u041F');
put("pcy", '\u043F');
put("percnt", '\u0025');
put("period", '\u002E');
put("permil", '\u2030');
put("perp", '\u22A5');
put("pertenk", '\u2031');
put("Pfr", '\uD835', '\uDD13');
put("pfr", '\uD835', '\uDD2D');
put("Phi", '\u03A6');
put("phi", '\u03C6');
put("phiv", '\u03D5');
put("phmmat", '\u2133');
put("phone", '\u260E');
put("Pi", '\u03A0');
put("pi", '\u03C0');
put("pitchfork", '\u22D4');
put("piv", '\u03D6');
put("planck", '\u210F');
put("planckh", '\u210E');
put("plankv", '\u210F');
put("plusacir", '\u2A23');
put("plusb", '\u229E');
put("pluscir", '\u2A22');
put("plus", '\u002B');
put("plusdo", '\u2214');
put("plusdu", '\u2A25');
put("pluse", '\u2A72');
put("PlusMinus", '\u00B1');
put("plusmn", '\u00B1');
put("plussim", '\u2A26');
put("plustwo", '\u2A27');
put("pm", '\u00B1');
put("Poincareplane", '\u210C');
put("pointint", '\u2A15');
put("popf", '\uD835', '\uDD61');
put("Popf", '\u2119');
put("pound", '\u00A3');
put("prap", '\u2AB7');
put("Pr", '\u2ABB');
put("pr", '\u227A');
put("prcue", '\u227C');
put("precapprox", '\u2AB7');
put("prec", '\u227A');
put("preccurlyeq", '\u227C');
put("Precedes", '\u227A');
put("PrecedesEqual", '\u2AAF');
put("PrecedesSlantEqual", '\u227C');
put("PrecedesTilde", '\u227E');
put("preceq", '\u2AAF');
put("precnapprox", '\u2AB9');
put("precneqq", '\u2AB5');
put("precnsim", '\u22E8');
put("pre", '\u2AAF');
put("prE", '\u2AB3');
put("precsim", '\u227E');
put("prime", '\u2032');
put("Prime", '\u2033');
put("primes", '\u2119');
put("prnap", '\u2AB9');
put("prnE", '\u2AB5');
put("prnsim", '\u22E8');
put("prod", '\u220F');
put("Product", '\u220F');
put("profalar", '\u232E');
put("profline", '\u2312');
put("profsurf", '\u2313');
put("prop", '\u221D');
put("Proportional", '\u221D');
put("Proportion", '\u2237');
put("propto", '\u221D');
put("prsim", '\u227E');
put("prurel", '\u22B0');
put("Pscr", '\uD835', '\uDCAB');
put("pscr", '\uD835', '\uDCC5');
put("Psi", '\u03A8');
put("psi", '\u03C8');
put("puncsp", '\u2008');
put("Qfr", '\uD835', '\uDD14');
put("qfr", '\uD835', '\uDD2E');
put("qint", '\u2A0C');
put("qopf", '\uD835', '\uDD62');
put("Qopf", '\u211A');
put("qprime", '\u2057');
put("Qscr", '\uD835', '\uDCAC');
put("qscr", '\uD835', '\uDCC6');
put("quaternions", '\u210D');
put("quatint", '\u2A16');
put("quest", '\u003F');
put("questeq", '\u225F');
put("quot", '\"');
put("QUOT", '\"');
put("rAarr", '\u21DB');
put("race", '\u223D', '\u0331');
put("Racute", '\u0154');
put("racute", '\u0155');
put("radic", '\u221A');
put("raemptyv", '\u29B3');
put("rang", '\u27E9');
put("Rang", '\u27EB');
put("rangd", '\u2992');
put("range", '\u29A5');
put("rangle", '\u27E9');
put("raquo", '\u00BB');
put("rarrap", '\u2975');
put("rarrb", '\u21E5');
put("rarrbfs", '\u2920');
put("rarrc", '\u2933');
put("rarr", '\u2192');
put("Rarr", '\u21A0');
put("rArr", '\u21D2');
put("rarrfs", '\u291E');
put("rarrhk", '\u21AA');
put("rarrlp", '\u21AC');
put("rarrpl", '\u2945');
put("rarrsim", '\u2974');
put("Rarrtl", '\u2916');
put("rarrtl", '\u21A3');
put("rarrw", '\u219D');
put("ratail", '\u291A');
put("rAtail", '\u291C');
put("ratio", '\u2236');
put("rationals", '\u211A');
put("rbarr", '\u290D');
put("rBarr", '\u290F');
put("RBarr", '\u2910');
put("rbbrk", '\u2773');
put("rbrace", '\u007D');
put("rbrack", '\u005D');
put("rbrke", '\u298C');
put("rbrksld", '\u298E');
put("rbrkslu", '\u2990');
put("Rcaron", '\u0158');
put("rcaron", '\u0159');
put("Rcedil", '\u0156');
put("rcedil", '\u0157');
put("rceil", '\u2309');
put("rcub", '\u007D');
put("Rcy", '\u0420');
put("rcy", '\u0440');
put("rdca", '\u2937');
put("rdldhar", '\u2969');
put("rdquo", '\u201D');
put("rdquor", '\u201D');
put("rdsh", '\u21B3');
put("real", '\u211C');
put("realine", '\u211B');
put("realpart", '\u211C');
put("reals", '\u211D');
put("Re", '\u211C');
put("rect", '\u25AD');
put("reg", '\u00AE');
put("REG", '\u00AE');
put("ReverseElement", '\u220B');
put("ReverseEquilibrium", '\u21CB');
put("ReverseUpEquilibrium", '\u296F');
put("rfisht", '\u297D');
put("rfloor", '\u230B');
put("rfr", '\uD835', '\uDD2F');
put("Rfr", '\u211C');
put("rHar", '\u2964');
put("rhard", '\u21C1');
put("rharu", '\u21C0');
put("rharul", '\u296C');
put("Rho", '\u03A1');
put("rho", '\u03C1');
put("rhov", '\u03F1');
put("RightAngleBracket", '\u27E9');
put("RightArrowBar", '\u21E5');
put("rightarrow", '\u2192');
put("RightArrow", '\u2192');
put("Rightarrow", '\u21D2');
put("RightArrowLeftArrow", '\u21C4');
put("rightarrowtail", '\u21A3');
put("RightCeiling", '\u2309');
put("RightDoubleBracket", '\u27E7');
put("RightDownTeeVector", '\u295D');
put("RightDownVectorBar", '\u2955');
put("RightDownVector", '\u21C2');
put("RightFloor", '\u230B');
put("rightharpoondown", '\u21C1');
put("rightharpoonup", '\u21C0');
put("rightleftarrows", '\u21C4');
put("rightleftharpoons", '\u21CC');
put("rightrightarrows", '\u21C9');
put("rightsquigarrow", '\u219D');
put("RightTeeArrow", '\u21A6');
put("RightTee", '\u22A2');
put("RightTeeVector", '\u295B');
put("rightthreetimes", '\u22CC');
put("RightTriangleBar", '\u29D0');
put("RightTriangle", '\u22B3');
put("RightTriangleEqual", '\u22B5');
put("RightUpDownVector", '\u294F');
put("RightUpTeeVector", '\u295C');
put("RightUpVectorBar", '\u2954');
put("RightUpVector", '\u21BE');
put("RightVectorBar", '\u2953');
put("RightVector", '\u21C0');
put("ring", '\u02DA');
put("risingdotseq", '\u2253');
put("rlarr", '\u21C4');
put("rlhar", '\u21CC');
put("rlm", '\u200F');
put("rmoustache", '\u23B1');
put("rmoust", '\u23B1');
put("rnmid", '\u2AEE');
put("roang", '\u27ED');
put("roarr", '\u21FE');
put("robrk", '\u27E7');
put("ropar", '\u2986');
put("ropf", '\uD835', '\uDD63');
put("Ropf", '\u211D');
put("roplus", '\u2A2E');
put("rotimes", '\u2A35');
put("RoundImplies", '\u2970');
put("rpar", '\u0029');
put("rpargt", '\u2994');
put("rppolint", '\u2A12');
put("rrarr", '\u21C9');
put("Rrightarrow", '\u21DB');
put("rsaquo", '\u203A');
put("rscr", '\uD835', '\uDCC7');
put("Rscr", '\u211B');
put("rsh", '\u21B1');
put("Rsh", '\u21B1');
put("rsqb", '\u005D');
put("rsquo", '\u2019');
put("rsquor", '\u2019');
put("rthree", '\u22CC');
put("rtimes", '\u22CA');
put("rtri", '\u25B9');
put("rtrie", '\u22B5');
put("rtrif", '\u25B8');
put("rtriltri", '\u29CE');
put("RuleDelayed", '\u29F4');
put("ruluhar", '\u2968');
put("rx", '\u211E');
put("Sacute", '\u015A');
put("sacute", '\u015B');
put("sbquo", '\u201A');
put("scap", '\u2AB8');
put("Scaron", '\u0160');
put("scaron", '\u0161');
put("Sc", '\u2ABC');
put("sc", '\u227B');
put("sccue", '\u227D');
put("sce", '\u2AB0');
put("scE", '\u2AB4');
put("Scedil", '\u015E');
put("scedil", '\u015F');
put("Scirc", '\u015C');
put("scirc", '\u015D');
put("scnap", '\u2ABA');
put("scnE", '\u2AB6');
put("scnsim", '\u22E9');
put("scpolint", '\u2A13');
put("scsim", '\u227F');
put("Scy", '\u0421');
put("scy", '\u0441');
put("sdotb", '\u22A1');
put("sdot", '\u22C5');
put("sdote", '\u2A66');
put("searhk", '\u2925');
put("searr", '\u2198');
put("seArr", '\u21D8');
put("searrow", '\u2198');
put("sect", '\u00A7');
put("semi", '\u003B');
put("seswar", '\u2929');
put("setminus", '\u2216');
put("setmn", '\u2216');
put("sext", '\u2736');
put("Sfr", '\uD835', '\uDD16');
put("sfr", '\uD835', '\uDD30');
put("sfrown", '\u2322');
put("sharp", '\u266F');
put("SHCHcy", '\u0429');
put("shchcy", '\u0449');
put("SHcy", '\u0428');
put("shcy", '\u0448');
put("ShortDownArrow", '\u2193');
put("ShortLeftArrow", '\u2190');
put("shortmid", '\u2223');
put("shortparallel", '\u2225');
put("ShortRightArrow", '\u2192');
put("ShortUpArrow", '\u2191');
put("shy", '\u00AD');
put("Sigma", '\u03A3');
put("sigma", '\u03C3');
put("sigmaf", '\u03C2');
put("sigmav", '\u03C2');
put("sim", '\u223C');
put("simdot", '\u2A6A');
put("sime", '\u2243');
put("simeq", '\u2243');
put("simg", '\u2A9E');
put("simgE", '\u2AA0');
put("siml", '\u2A9D');
put("simlE", '\u2A9F');
put("simne", '\u2246');
put("simplus", '\u2A24');
put("simrarr", '\u2972');
put("slarr", '\u2190');
put("SmallCircle", '\u2218');
put("smallsetminus", '\u2216');
put("smashp", '\u2A33');
put("smeparsl", '\u29E4');
put("smid", '\u2223');
put("smile", '\u2323');
put("smt", '\u2AAA');
put("smte", '\u2AAC');
put("smtes", '\u2AAC', '\uFE00');
put("SOFTcy", '\u042C');
put("softcy", '\u044C');
put("solbar", '\u233F');
put("solb", '\u29C4');
put("sol", '\u002F');
put("Sopf", '\uD835', '\uDD4A');
put("sopf", '\uD835', '\uDD64');
put("spades", '\u2660');
put("spadesuit", '\u2660');
put("spar", '\u2225');
put("sqcap", '\u2293');
put("sqcaps", '\u2293', '\uFE00');
put("sqcup", '\u2294');
put("sqcups", '\u2294', '\uFE00');
put("Sqrt", '\u221A');
put("sqsub", '\u228F');
put("sqsube", '\u2291');
put("sqsubset", '\u228F');
put("sqsubseteq", '\u2291');
put("sqsup", '\u2290');
put("sqsupe", '\u2292');
put("sqsupset", '\u2290');
put("sqsupseteq", '\u2292');
put("square", '\u25A1');
put("Square", '\u25A1');
put("SquareIntersection", '\u2293');
put("SquareSubset", '\u228F');
put("SquareSubsetEqual", '\u2291');
put("SquareSuperset", '\u2290');
put("SquareSupersetEqual", '\u2292');
put("SquareUnion", '\u2294');
put("squarf", '\u25AA');
put("squ", '\u25A1');
put("squf", '\u25AA');
put("srarr", '\u2192');
put("Sscr", '\uD835', '\uDCAE');
put("sscr", '\uD835', '\uDCC8');
put("ssetmn", '\u2216');
put("ssmile", '\u2323');
put("sstarf", '\u22C6');
put("Star", '\u22C6');
put("star", '\u2606');
put("starf", '\u2605');
put("straightepsilon", '\u03F5');
put("straightphi", '\u03D5');
put("strns", '\u00AF');
put("sub", '\u2282');
put("Sub", '\u22D0');
put("subdot", '\u2ABD');
put("subE", '\u2AC5');
put("sube", '\u2286');
put("subedot", '\u2AC3');
put("submult", '\u2AC1');
put("subnE", '\u2ACB');
put("subne", '\u228A');
put("subplus", '\u2ABF');
put("subrarr", '\u2979');
put("subset", '\u2282');
put("Subset", '\u22D0');
put("subseteq", '\u2286');
put("subseteqq", '\u2AC5');
put("SubsetEqual", '\u2286');
put("subsetneq", '\u228A');
put("subsetneqq", '\u2ACB');
put("subsim", '\u2AC7');
put("subsub", '\u2AD5');
put("subsup", '\u2AD3');
put("succapprox", '\u2AB8');
put("succ", '\u227B');
put("succcurlyeq", '\u227D');
put("Succeeds", '\u227B');
put("SucceedsEqual", '\u2AB0');
put("SucceedsSlantEqual", '\u227D');
put("SucceedsTilde", '\u227F');
put("succeq", '\u2AB0');
put("succnapprox", '\u2ABA');
put("succneqq", '\u2AB6');
put("succnsim", '\u22E9');
put("succsim", '\u227F');
put("SuchThat", '\u220B');
put("sum", '\u2211');
put("Sum", '\u2211');
put("sung", '\u266A');
put("sup1", '\u00B9');
put("sup2", '\u00B2');
put("sup3", '\u00B3');
put("sup", '\u2283');
put("Sup", '\u22D1');
put("supdot", '\u2ABE');
put("supdsub", '\u2AD8');
put("supE", '\u2AC6');
put("supe", '\u2287');
put("supedot", '\u2AC4');
put("Superset", '\u2283');
put("SupersetEqual", '\u2287');
put("suphsol", '\u27C9');
put("suphsub", '\u2AD7');
put("suplarr", '\u297B');
put("supmult", '\u2AC2');
put("supnE", '\u2ACC');
put("supne", '\u228B');
put("supplus", '\u2AC0');
put("supset", '\u2283');
put("Supset", '\u22D1');
put("supseteq", '\u2287');
put("supseteqq", '\u2AC6');
put("supsetneq", '\u228B');
put("supsetneqq", '\u2ACC');
put("supsim", '\u2AC8');
put("supsub", '\u2AD4');
put("supsup", '\u2AD6');
put("swarhk", '\u2926');
put("swarr", '\u2199');
put("swArr", '\u21D9');
put("swarrow", '\u2199');
put("swnwar", '\u292A');
put("szlig", '\u00DF');
put("Tab", '\u0009');
put("target", '\u2316');
put("Tau", '\u03A4');
put("tau", '\u03C4');
put("tbrk", '\u23B4');
put("Tcaron", '\u0164');
put("tcaron", '\u0165');
put("Tcedil", '\u0162');
put("tcedil", '\u0163');
put("Tcy", '\u0422');
put("tcy", '\u0442');
put("tdot", '\u20DB');
put("telrec", '\u2315');
put("Tfr", '\uD835', '\uDD17');
put("tfr", '\uD835', '\uDD31');
put("there4", '\u2234');
put("therefore", '\u2234');
put("Therefore", '\u2234');
put("Theta", '\u0398');
put("theta", '\u03B8');
put("thetasym", '\u03D1');
put("thetav", '\u03D1');
put("thickapprox", '\u2248');
put("thicksim", '\u223C');
put("ThickSpace", '\u205F', '\u200A');
put("ThinSpace", '\u2009');
put("thinsp", '\u2009');
put("thkap", '\u2248');
put("thksim", '\u223C');
put("THORN", '\u00DE');
put("thorn", '\u00FE');
put("tilde", '\u02DC');
put("Tilde", '\u223C');
put("TildeEqual", '\u2243');
put("TildeFullEqual", '\u2245');
put("TildeTilde", '\u2248');
put("timesbar", '\u2A31');
put("timesb", '\u22A0');
put("times", '\u00D7');
put("timesd", '\u2A30');
put("tint", '\u222D');
put("toea", '\u2928');
put("topbot", '\u2336');
put("topcir", '\u2AF1');
put("top", '\u22A4');
put("Topf", '\uD835', '\uDD4B');
put("topf", '\uD835', '\uDD65');
put("topfork", '\u2ADA');
put("tosa", '\u2929');
put("tprime", '\u2034');
put("trade", '\u2122');
put("TRADE", '\u2122');
put("triangle", '\u25B5');
put("triangledown", '\u25BF');
put("triangleleft", '\u25C3');
put("trianglelefteq", '\u22B4');
put("triangleq", '\u225C');
put("triangleright", '\u25B9');
put("trianglerighteq", '\u22B5');
put("tridot", '\u25EC');
put("trie", '\u225C');
put("triminus", '\u2A3A');
put("TripleDot", '\u20DB');
put("triplus", '\u2A39');
put("trisb", '\u29CD');
put("tritime", '\u2A3B');
put("trpezium", '\u23E2');
put("Tscr", '\uD835', '\uDCAF');
put("tscr", '\uD835', '\uDCC9');
put("TScy", '\u0426');
put("tscy", '\u0446');
put("TSHcy", '\u040B');
put("tshcy", '\u045B');
put("Tstrok", '\u0166');
put("tstrok", '\u0167');
put("twixt", '\u226C');
put("twoheadleftarrow", '\u219E');
put("twoheadrightarrow", '\u21A0');
put("Uacute", '\u00DA');
put("uacute", '\u00FA');
put("uarr", '\u2191');
put("Uarr", '\u219F');
put("uArr", '\u21D1');
put("Uarrocir", '\u2949');
put("Ubrcy", '\u040E');
put("ubrcy", '\u045E');
put("Ubreve", '\u016C');
put("ubreve", '\u016D');
put("Ucirc", '\u00DB');
put("ucirc", '\u00FB');
put("Ucy", '\u0423');
put("ucy", '\u0443');
put("udarr", '\u21C5');
put("Udblac", '\u0170');
put("udblac", '\u0171');
put("udhar", '\u296E');
put("ufisht", '\u297E');
put("Ufr", '\uD835', '\uDD18');
put("ufr", '\uD835', '\uDD32');
put("Ugrave", '\u00D9');
put("ugrave", '\u00F9');
put("uHar", '\u2963');
put("uharl", '\u21BF');
put("uharr", '\u21BE');
put("uhblk", '\u2580');
put("ulcorn", '\u231C');
put("ulcorner", '\u231C');
put("ulcrop", '\u230F');
put("ultri", '\u25F8');
put("Umacr", '\u016A');
put("umacr", '\u016B');
put("uml", '\u00A8');
put("UnderBar", '\u005F');
put("UnderBrace", '\u23DF');
put("UnderBracket", '\u23B5');
put("UnderParenthesis", '\u23DD');
put("Union", '\u22C3');
put("UnionPlus", '\u228E');
put("Uogon", '\u0172');
put("uogon", '\u0173');
put("Uopf", '\uD835', '\uDD4C');
put("uopf", '\uD835', '\uDD66');
put("UpArrowBar", '\u2912');
put("uparrow", '\u2191');
put("UpArrow", '\u2191');
put("Uparrow", '\u21D1');
put("UpArrowDownArrow", '\u21C5');
put("updownarrow", '\u2195');
put("UpDownArrow", '\u2195');
put("Updownarrow", '\u21D5');
put("UpEquilibrium", '\u296E');
put("upharpoonleft", '\u21BF');
put("upharpoonright", '\u21BE');
put("uplus", '\u228E');
put("UpperLeftArrow", '\u2196');
put("UpperRightArrow", '\u2197');
put("upsi", '\u03C5');
put("Upsi", '\u03D2');
put("upsih", '\u03D2');
put("Upsilon", '\u03A5');
put("upsilon", '\u03C5');
put("UpTeeArrow", '\u21A5');
put("UpTee", '\u22A5');
put("upuparrows", '\u21C8');
put("urcorn", '\u231D');
put("urcorner", '\u231D');
put("urcrop", '\u230E');
put("Uring", '\u016E');
put("uring", '\u016F');
put("urtri", '\u25F9');
put("Uscr", '\uD835', '\uDCB0');
put("uscr", '\uD835', '\uDCCA');
put("utdot", '\u22F0');
put("Utilde", '\u0168');
put("utilde", '\u0169');
put("utri", '\u25B5');
put("utrif", '\u25B4');
put("uuarr", '\u21C8');
put("Uuml", '\u00DC');
put("uuml", '\u00FC');
put("uwangle", '\u29A7');
put("vangrt", '\u299C');
put("varepsilon", '\u03F5');
put("varkappa", '\u03F0');
put("varnothing", '\u2205');
put("varphi", '\u03D5');
put("varpi", '\u03D6');
put("varpropto", '\u221D');
put("varr", '\u2195');
put("vArr", '\u21D5');
put("varrho", '\u03F1');
put("varsigma", '\u03C2');
put("varsubsetneq", '\u228A', '\uFE00');
put("varsubsetneqq", '\u2ACB', '\uFE00');
put("varsupsetneq", '\u228B', '\uFE00');
put("varsupsetneqq", '\u2ACC', '\uFE00');
put("vartheta", '\u03D1');
put("vartriangleleft", '\u22B2');
put("vartriangleright", '\u22B3');
put("vBar", '\u2AE8');
put("Vbar", '\u2AEB');
put("vBarv", '\u2AE9');
put("Vcy", '\u0412');
put("vcy", '\u0432');
put("vdash", '\u22A2');
put("vDash", '\u22A8');
put("Vdash", '\u22A9');
put("VDash", '\u22AB');
put("Vdashl", '\u2AE6');
put("veebar", '\u22BB');
put("vee", '\u2228');
put("Vee", '\u22C1');
put("veeeq", '\u225A');
put("vellip", '\u22EE');
put("verbar", '\u007C');
put("Verbar", '\u2016');
put("vert", '\u007C');
put("Vert", '\u2016');
put("VerticalBar", '\u2223');
put("VerticalLine", '\u007C');
put("VerticalSeparator", '\u2758');
put("VerticalTilde", '\u2240');
put("VeryThinSpace", '\u200A');
put("Vfr", '\uD835', '\uDD19');
put("vfr", '\uD835', '\uDD33');
put("vltri", '\u22B2');
put("vnsub", '\u2282', '\u20D2');
put("vnsup", '\u2283', '\u20D2');
put("Vopf", '\uD835', '\uDD4D');
put("vopf", '\uD835', '\uDD67');
put("vprop", '\u221D');
put("vrtri", '\u22B3');
put("Vscr", '\uD835', '\uDCB1');
put("vscr", '\uD835', '\uDCCB');
put("vsubnE", '\u2ACB', '\uFE00');
put("vsubne", '\u228A', '\uFE00');
put("vsupnE", '\u2ACC', '\uFE00');
put("vsupne", '\u228B', '\uFE00');
put("Vvdash", '\u22AA');
put("vzigzag", '\u299A');
put("Wcirc", '\u0174');
put("wcirc", '\u0175');
put("wedbar", '\u2A5F');
put("wedge", '\u2227');
put("Wedge", '\u22C0');
put("wedgeq", '\u2259');
put("weierp", '\u2118');
put("Wfr", '\uD835', '\uDD1A');
put("wfr", '\uD835', '\uDD34');
put("Wopf", '\uD835', '\uDD4E');
put("wopf", '\uD835', '\uDD68');
put("wp", '\u2118');
put("wr", '\u2240');
put("wreath", '\u2240');
put("Wscr", '\uD835', '\uDCB2');
put("wscr", '\uD835', '\uDCCC');
put("xcap", '\u22C2');
put("xcirc", '\u25EF');
put("xcup", '\u22C3');
put("xdtri", '\u25BD');
put("Xfr", '\uD835', '\uDD1B');
put("xfr", '\uD835', '\uDD35');
put("xharr", '\u27F7');
put("xhArr", '\u27FA');
put("Xi", '\u039E');
put("xi", '\u03BE');
put("xlarr", '\u27F5');
put("xlArr", '\u27F8');
put("xmap", '\u27FC');
put("xnis", '\u22FB');
put("xodot", '\u2A00');
put("Xopf", '\uD835', '\uDD4F');
put("xopf", '\uD835', '\uDD69');
put("xoplus", '\u2A01');
put("xotime", '\u2A02');
put("xrarr", '\u27F6');
put("xrArr", '\u27F9');
put("Xscr", '\uD835', '\uDCB3');
put("xscr", '\uD835', '\uDCCD');
put("xsqcup", '\u2A06');
put("xuplus", '\u2A04');
put("xutri", '\u25B3');
put("xvee", '\u22C1');
put("xwedge", '\u22C0');
put("Yacute", '\u00DD');
put("yacute", '\u00FD');
put("YAcy", '\u042F');
put("yacy", '\u044F');
put("Ycirc", '\u0176');
put("ycirc", '\u0177');
put("Ycy", '\u042B');
put("ycy", '\u044B');
put("yen", '\u00A5');
put("Yfr", '\uD835', '\uDD1C');
put("yfr", '\uD835', '\uDD36');
put("YIcy", '\u0407');
put("yicy", '\u0457');
put("Yopf", '\uD835', '\uDD50');
put("yopf", '\uD835', '\uDD6A');
put("Yscr", '\uD835', '\uDCB4');
put("yscr", '\uD835', '\uDCCE');
put("YUcy", '\u042E');
put("yucy", '\u044E');
put("yuml", '\u00FF');
put("Yuml", '\u0178');
put("Zacute", '\u0179');
put("zacute", '\u017A');
put("Zcaron", '\u017D');
put("zcaron", '\u017E');
put("Zcy", '\u0417');
put("zcy", '\u0437');
put("Zdot", '\u017B');
put("zdot", '\u017C');
put("zeetrf", '\u2128');
put("ZeroWidthSpace", '\u200B');
put("Zeta", '\u0396');
put("zeta", '\u03B6');
put("zfr", '\uD835', '\uDD37');
put("Zfr", '\u2128');
put("ZHcy", '\u0416');
put("zhcy", '\u0436');
put("zigrarr", '\u21DD');
put("zopf", '\uD835', '\uDD6B');
put("Zopf", '\u2124');
put("Zscr", '\uD835', '\uDCB5');
put("zscr", '\uD835', '\uDCCF');
put("zwj", '\u200D');
put("zwnj", '\u200C');
}
private static void put(String name, char c) {
entities.put(name, String.valueOf(c));
}
private static void put(String name, char c1, char c2) {
entities.put(name, String.valueOf(new char[] { c1, c2 }));
}
static String getCharacters(EntityTree tree) {
String name = tree.getName().toString();
if (name.startsWith("#")) {
try {
int v = StringUtils.toLowerCase(name).startsWith("#x")
? Integer.parseInt(name.substring(2), 16)
: Integer.parseInt(name.substring(1), 10);
// See https://www.w3.org/TR/html52/syntax.html#character-references
if (Character.isDefined(v)
&& (!Character.isISOControl(v) || Character.isSpaceChar(v))
&& (v < 0xd800 || v > 0xdfff)) {
return String.valueOf((char) v);
}
} catch (NumberFormatException ex) {
//ignore
}
return null;
} else {
return entities.get(name);
}
}
}