1// Copyright 2011 Google Inc. All Rights Reserved.
2//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
6//
7//     http://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14//
15// Author: jdtang@google.com (Jonathan Tang)
16//
17// This is a Ragel state machine re-implementation of the original char_ref.c,
18// rewritten to improve efficiency.  To generate the .c file from it,
19//
20// $ ragel -F0 char_ref.rl
21//
22// The generated source is also checked into source control so that most people
23// hacking on the parser do not need to install ragel.
24
25#include "char_ref.h"
26
27#include <assert.h>
28#include <stddef.h>
29#include <stdio.h>
30#include <string.h>     // Only for debug assertions at present.
31
32#include "error.h"
33#include "string_piece.h"
34#include "utf8.h"
35#include "util.h"
36
37struct GumboInternalParser;
38
39const int kGumboNoChar = -1;
40
41// Table of replacement characters.  The spec specifies that any occurrence of
42// the first character should be replaced by the second character, and a parse
43// error recorded.
44typedef struct {
45  int from_char;
46  int to_char;
47} CharReplacement;
48
49static const CharReplacement kCharReplacements[] = {
50  { 0x00, 0xfffd },
51  { 0x0d, 0x000d },
52  { 0x80, 0x20ac },
53  { 0x81, 0x0081 },
54  { 0x82, 0x201A },
55  { 0x83, 0x0192 },
56  { 0x84, 0x201E },
57  { 0x85, 0x2026 },
58  { 0x86, 0x2020 },
59  { 0x87, 0x2021 },
60  { 0x88, 0x02C6 },
61  { 0x89, 0x2030 },
62  { 0x8A, 0x0160 },
63  { 0x8B, 0x2039 },
64  { 0x8C, 0x0152 },
65  { 0x8D, 0x008D },
66  { 0x8E, 0x017D },
67  { 0x8F, 0x008F },
68  { 0x90, 0x0090 },
69  { 0x91, 0x2018 },
70  { 0x92, 0x2019 },
71  { 0x93, 0x201C },
72  { 0x94, 0x201D },
73  { 0x95, 0x2022 },
74  { 0x96, 0x2013 },
75  { 0x97, 0x2014 },
76  { 0x98, 0x02DC },
77  { 0x99, 0x2122 },
78  { 0x9A, 0x0161 },
79  { 0x9B, 0x203A },
80  { 0x9C, 0x0153 },
81  { 0x9D, 0x009D },
82  { 0x9E, 0x017E },
83  { 0x9F, 0x0178 },
84  // Terminator.
85  { -1, -1 }
86};
87
88static int parse_digit(int c, bool allow_hex) {
89  if (c >= '0' && c <= '9') {
90    return c - '0';
91  }
92  if (allow_hex && c >= 'a' && c <= 'f') {
93    return c - 'a' + 10;
94  }
95  if (allow_hex && c >= 'A' && c <= 'F') {
96    return c - 'A' + 10;
97  }
98  return -1;
99}
100
101static void add_no_digit_error(
102    struct GumboInternalParser* parser, Utf8Iterator* input) {
103  GumboError* error = gumbo_add_error(parser);
104  if (!error) {
105    return;
106  }
107  utf8iterator_fill_error_at_mark(input, error);
108  error->type = GUMBO_ERR_NUMERIC_CHAR_REF_NO_DIGITS;
109}
110
111static void add_codepoint_error(
112    struct GumboInternalParser* parser, Utf8Iterator* input,
113    GumboErrorType type, int codepoint) {
114  GumboError* error = gumbo_add_error(parser);
115  if (!error) {
116    return;
117  }
118  utf8iterator_fill_error_at_mark(input, error);
119  error->type = type;
120  error->v.codepoint = codepoint;
121}
122
123static void add_named_reference_error(
124    struct GumboInternalParser* parser, Utf8Iterator* input,
125    GumboErrorType type, GumboStringPiece text) {
126  GumboError* error = gumbo_add_error(parser);
127  if (!error) {
128    return;
129  }
130  utf8iterator_fill_error_at_mark(input, error);
131  error->type = type;
132  error->v.text = text;
133}
134
135static int maybe_replace_codepoint(int codepoint) {
136  for (int i = 0; kCharReplacements[i].from_char != -1; ++i) {
137    if (kCharReplacements[i].from_char == codepoint) {
138      return kCharReplacements[i].to_char;
139    }
140  }
141  return -1;
142}
143
144static bool consume_numeric_ref(
145    struct GumboInternalParser* parser, Utf8Iterator* input, int* output) {
146  utf8iterator_next(input);
147  bool is_hex = false;
148  int c = utf8iterator_current(input);
149  if (c == 'x' || c == 'X') {
150    is_hex = true;
151    utf8iterator_next(input);
152    c = utf8iterator_current(input);
153  }
154
155  int digit = parse_digit(c, is_hex);
156  if (digit == -1) {
157    // First digit was invalid; add a parse error and return.
158    add_no_digit_error(parser, input);
159    utf8iterator_reset(input);
160    *output = kGumboNoChar;
161    return false;
162  }
163
164  int codepoint = 0;
165  bool status = true;
166  do {
167    if (codepoint <= 0x10ffff) codepoint = (codepoint * (is_hex ? 16 : 10)) + digit;
168    utf8iterator_next(input);
169    digit = parse_digit(utf8iterator_current(input), is_hex);
170  } while (digit != -1);
171
172  if (utf8iterator_current(input) != ';') {
173    add_codepoint_error(
174        parser, input, GUMBO_ERR_NUMERIC_CHAR_REF_WITHOUT_SEMICOLON, codepoint);
175    status = false;
176  } else {
177    utf8iterator_next(input);
178  }
179
180  int replacement = maybe_replace_codepoint(codepoint);
181  if (replacement != -1) {
182    add_codepoint_error(
183        parser, input, GUMBO_ERR_NUMERIC_CHAR_REF_INVALID, codepoint);
184    *output = replacement;
185    return false;
186  }
187
188  if ((codepoint >= 0xd800 && codepoint <= 0xdfff) || codepoint > 0x10ffff) {
189    add_codepoint_error(
190        parser, input, GUMBO_ERR_NUMERIC_CHAR_REF_INVALID, codepoint);
191    *output = 0xfffd;
192    return false;
193  }
194
195  if (utf8_is_invalid_code_point(codepoint) || codepoint == 0xb) {
196    add_codepoint_error(
197        parser, input, GUMBO_ERR_NUMERIC_CHAR_REF_INVALID, codepoint);
198    status = false;
199    // But return it anyway, per spec.
200  }
201  *output = codepoint;
202  return status;
203}
204
205static bool maybe_add_invalid_named_reference(
206    struct GumboInternalParser* parser, Utf8Iterator* input) {
207  // The iterator will always be reset in this code path, so we don't need to
208  // worry about consuming characters.
209  const char* start = utf8iterator_get_char_pointer(input);
210  int c = utf8iterator_current(input);
211  while ((c >= 'a' && c <= 'z') ||
212         (c >= 'A' && c <= 'Z') ||
213         (c >= '0' && c <= '9')) {
214    utf8iterator_next(input);
215    c = utf8iterator_current(input);
216  }
217  if (c == ';') {
218    GumboStringPiece bad_ref;
219    bad_ref.data = start;
220    bad_ref.length = utf8iterator_get_char_pointer(input) - start;
221    add_named_reference_error(
222        parser, input, GUMBO_ERR_NAMED_CHAR_REF_INVALID, bad_ref);
223    return false;
224  }
225  return true;
226}
227
228%%{
229machine char_ref;
230
231valid_named_ref := |*
232  'AElig;' => { output->first = 0xc6; fbreak; };
233  'AElig' => { output->first = 0xc6; fbreak; };
234  'AMP;' => { output->first = 0x26; fbreak; };
235  'AMP' => { output->first = 0x26; fbreak; };
236  'Aacute;' => { output->first = 0xc1; fbreak; };
237  'Aacute' => { output->first = 0xc1; fbreak; };
238  'Abreve;' => { output->first = 0x0102; fbreak; };
239  'Acirc;' => { output->first = 0xc2; fbreak; };
240  'Acirc' => { output->first = 0xc2; fbreak; };
241  'Acy;' => { output->first = 0x0410; fbreak; };
242  'Afr;' => { output->first = 0x0001d504; fbreak; };
243  'Agrave;' => { output->first = 0xc0; fbreak; };
244  'Agrave' => { output->first = 0xc0; fbreak; };
245  'Alpha;' => { output->first = 0x0391; fbreak; };
246  'Amacr;' => { output->first = 0x0100; fbreak; };
247  'And;' => { output->first = 0x2a53; fbreak; };
248  'Aogon;' => { output->first = 0x0104; fbreak; };
249  'Aopf;' => { output->first = 0x0001d538; fbreak; };
250  'ApplyFunction;' => { output->first = 0x2061; fbreak; };
251  'Aring;' => { output->first = 0xc5; fbreak; };
252  'Aring' => { output->first = 0xc5; fbreak; };
253  'Ascr;' => { output->first = 0x0001d49c; fbreak; };
254  'Assign;' => { output->first = 0x2254; fbreak; };
255  'Atilde;' => { output->first = 0xc3; fbreak; };
256  'Atilde' => { output->first = 0xc3; fbreak; };
257  'Auml;' => { output->first = 0xc4; fbreak; };
258  'Auml' => { output->first = 0xc4; fbreak; };
259  'Backslash;' => { output->first = 0x2216; fbreak; };
260  'Barv;' => { output->first = 0x2ae7; fbreak; };
261  'Barwed;' => { output->first = 0x2306; fbreak; };
262  'Bcy;' => { output->first = 0x0411; fbreak; };
263  'Because;' => { output->first = 0x2235; fbreak; };
264  'Bernoullis;' => { output->first = 0x212c; fbreak; };
265  'Beta;' => { output->first = 0x0392; fbreak; };
266  'Bfr;' => { output->first = 0x0001d505; fbreak; };
267  'Bopf;' => { output->first = 0x0001d539; fbreak; };
268  'Breve;' => { output->first = 0x02d8; fbreak; };
269  'Bscr;' => { output->first = 0x212c; fbreak; };
270  'Bumpeq;' => { output->first = 0x224e; fbreak; };
271  'CHcy;' => { output->first = 0x0427; fbreak; };
272  'COPY;' => { output->first = 0xa9; fbreak; };
273  'COPY' => { output->first = 0xa9; fbreak; };
274  'Cacute;' => { output->first = 0x0106; fbreak; };
275  'Cap;' => { output->first = 0x22d2; fbreak; };
276  'CapitalDifferentialD;' => { output->first = 0x2145; fbreak; };
277  'Cayleys;' => { output->first = 0x212d; fbreak; };
278  'Ccaron;' => { output->first = 0x010c; fbreak; };
279  'Ccedil;' => { output->first = 0xc7; fbreak; };
280  'Ccedil' => { output->first = 0xc7; fbreak; };
281  'Ccirc;' => { output->first = 0x0108; fbreak; };
282  'Cconint;' => { output->first = 0x2230; fbreak; };
283  'Cdot;' => { output->first = 0x010a; fbreak; };
284  'Cedilla;' => { output->first = 0xb8; fbreak; };
285  'CenterDot;' => { output->first = 0xb7; fbreak; };
286  'Cfr;' => { output->first = 0x212d; fbreak; };
287  'Chi;' => { output->first = 0x03a7; fbreak; };
288  'CircleDot;' => { output->first = 0x2299; fbreak; };
289  'CircleMinus;' => { output->first = 0x2296; fbreak; };
290  'CirclePlus;' => { output->first = 0x2295; fbreak; };
291  'CircleTimes;' => { output->first = 0x2297; fbreak; };
292  'ClockwiseContourIntegral;' => { output->first = 0x2232; fbreak; };
293  'CloseCurlyDoubleQuote;' => { output->first = 0x201d; fbreak; };
294  'CloseCurlyQuote;' => { output->first = 0x2019; fbreak; };
295  'Colon;' => { output->first = 0x2237; fbreak; };
296  'Colone;' => { output->first = 0x2a74; fbreak; };
297  'Congruent;' => { output->first = 0x2261; fbreak; };
298  'Conint;' => { output->first = 0x222f; fbreak; };
299  'ContourIntegral;' => { output->first = 0x222e; fbreak; };
300  'Copf;' => { output->first = 0x2102; fbreak; };
301  'Coproduct;' => { output->first = 0x2210; fbreak; };
302  'CounterClockwiseContourIntegral;' => { output->first = 0x2233; fbreak; };
303  'Cross;' => { output->first = 0x2a2f; fbreak; };
304  'Cscr;' => { output->first = 0x0001d49e; fbreak; };
305  'Cup;' => { output->first = 0x22d3; fbreak; };
306  'CupCap;' => { output->first = 0x224d; fbreak; };
307  'DD;' => { output->first = 0x2145; fbreak; };
308  'DDotrahd;' => { output->first = 0x2911; fbreak; };
309  'DJcy;' => { output->first = 0x0402; fbreak; };
310  'DScy;' => { output->first = 0x0405; fbreak; };
311  'DZcy;' => { output->first = 0x040f; fbreak; };
312  'Dagger;' => { output->first = 0x2021; fbreak; };
313  'Darr;' => { output->first = 0x21a1; fbreak; };
314  'Dashv;' => { output->first = 0x2ae4; fbreak; };
315  'Dcaron;' => { output->first = 0x010e; fbreak; };
316  'Dcy;' => { output->first = 0x0414; fbreak; };
317  'Del;' => { output->first = 0x2207; fbreak; };
318  'Delta;' => { output->first = 0x0394; fbreak; };
319  'Dfr;' => { output->first = 0x0001d507; fbreak; };
320  'DiacriticalAcute;' => { output->first = 0xb4; fbreak; };
321  'DiacriticalDot;' => { output->first = 0x02d9; fbreak; };
322  'DiacriticalDoubleAcute;' => { output->first = 0x02dd; fbreak; };
323  'DiacriticalGrave;' => { output->first = 0x60; fbreak; };
324  'DiacriticalTilde;' => { output->first = 0x02dc; fbreak; };
325  'Diamond;' => { output->first = 0x22c4; fbreak; };
326  'DifferentialD;' => { output->first = 0x2146; fbreak; };
327  'Dopf;' => { output->first = 0x0001d53b; fbreak; };
328  'Dot;' => { output->first = 0xa8; fbreak; };
329  'DotDot;' => { output->first = 0x20dc; fbreak; };
330  'DotEqual;' => { output->first = 0x2250; fbreak; };
331  'DoubleContourIntegral;' => { output->first = 0x222f; fbreak; };
332  'DoubleDot;' => { output->first = 0xa8; fbreak; };
333  'DoubleDownArrow;' => { output->first = 0x21d3; fbreak; };
334  'DoubleLeftArrow;' => { output->first = 0x21d0; fbreak; };
335  'DoubleLeftRightArrow;' => { output->first = 0x21d4; fbreak; };
336  'DoubleLeftTee;' => { output->first = 0x2ae4; fbreak; };
337  'DoubleLongLeftArrow;' => { output->first = 0x27f8; fbreak; };
338  'DoubleLongLeftRightArrow;' => { output->first = 0x27fa; fbreak; };
339  'DoubleLongRightArrow;' => { output->first = 0x27f9; fbreak; };
340  'DoubleRightArrow;' => { output->first = 0x21d2; fbreak; };
341  'DoubleRightTee;' => { output->first = 0x22a8; fbreak; };
342  'DoubleUpArrow;' => { output->first = 0x21d1; fbreak; };
343  'DoubleUpDownArrow;' => { output->first = 0x21d5; fbreak; };
344  'DoubleVerticalBar;' => { output->first = 0x2225; fbreak; };
345  'DownArrow;' => { output->first = 0x2193; fbreak; };
346  'DownArrowBar;' => { output->first = 0x2913; fbreak; };
347  'DownArrowUpArrow;' => { output->first = 0x21f5; fbreak; };
348  'DownBreve;' => { output->first = 0x0311; fbreak; };
349  'DownLeftRightVector;' => { output->first = 0x2950; fbreak; };
350  'DownLeftTeeVector;' => { output->first = 0x295e; fbreak; };
351  'DownLeftVector;' => { output->first = 0x21bd; fbreak; };
352  'DownLeftVectorBar;' => { output->first = 0x2956; fbreak; };
353  'DownRightTeeVector;' => { output->first = 0x295f; fbreak; };
354  'DownRightVector;' => { output->first = 0x21c1; fbreak; };
355  'DownRightVectorBar;' => { output->first = 0x2957; fbreak; };
356  'DownTee;' => { output->first = 0x22a4; fbreak; };
357  'DownTeeArrow;' => { output->first = 0x21a7; fbreak; };
358  'Downarrow;' => { output->first = 0x21d3; fbreak; };
359  'Dscr;' => { output->first = 0x0001d49f; fbreak; };
360  'Dstrok;' => { output->first = 0x0110; fbreak; };
361  'ENG;' => { output->first = 0x014a; fbreak; };
362  'ETH;' => { output->first = 0xd0; fbreak; };
363  'ETH' => { output->first = 0xd0; fbreak; };
364  'Eacute;' => { output->first = 0xc9; fbreak; };
365  'Eacute' => { output->first = 0xc9; fbreak; };
366  'Ecaron;' => { output->first = 0x011a; fbreak; };
367  'Ecirc;' => { output->first = 0xca; fbreak; };
368  'Ecirc' => { output->first = 0xca; fbreak; };
369  'Ecy;' => { output->first = 0x042d; fbreak; };
370  'Edot;' => { output->first = 0x0116; fbreak; };
371  'Efr;' => { output->first = 0x0001d508; fbreak; };
372  'Egrave;' => { output->first = 0xc8; fbreak; };
373  'Egrave' => { output->first = 0xc8; fbreak; };
374  'Element;' => { output->first = 0x2208; fbreak; };
375  'Emacr;' => { output->first = 0x0112; fbreak; };
376  'EmptySmallSquare;' => { output->first = 0x25fb; fbreak; };
377  'EmptyVerySmallSquare;' => { output->first = 0x25ab; fbreak; };
378  'Eogon;' => { output->first = 0x0118; fbreak; };
379  'Eopf;' => { output->first = 0x0001d53c; fbreak; };
380  'Epsilon;' => { output->first = 0x0395; fbreak; };
381  'Equal;' => { output->first = 0x2a75; fbreak; };
382  'EqualTilde;' => { output->first = 0x2242; fbreak; };
383  'Equilibrium;' => { output->first = 0x21cc; fbreak; };
384  'Escr;' => { output->first = 0x2130; fbreak; };
385  'Esim;' => { output->first = 0x2a73; fbreak; };
386  'Eta;' => { output->first = 0x0397; fbreak; };
387  'Euml;' => { output->first = 0xcb; fbreak; };
388  'Euml' => { output->first = 0xcb; fbreak; };
389  'Exists;' => { output->first = 0x2203; fbreak; };
390  'ExponentialE;' => { output->first = 0x2147; fbreak; };
391  'Fcy;' => { output->first = 0x0424; fbreak; };
392  'Ffr;' => { output->first = 0x0001d509; fbreak; };
393  'FilledSmallSquare;' => { output->first = 0x25fc; fbreak; };
394  'FilledVerySmallSquare;' => { output->first = 0x25aa; fbreak; };
395  'Fopf;' => { output->first = 0x0001d53d; fbreak; };
396  'ForAll;' => { output->first = 0x2200; fbreak; };
397  'Fouriertrf;' => { output->first = 0x2131; fbreak; };
398  'Fscr;' => { output->first = 0x2131; fbreak; };
399  'GJcy;' => { output->first = 0x0403; fbreak; };
400  'GT;' => { output->first = 0x3e; fbreak; };
401  'GT' => { output->first = 0x3e; fbreak; };
402  'Gamma;' => { output->first = 0x0393; fbreak; };
403  'Gammad;' => { output->first = 0x03dc; fbreak; };
404  'Gbreve;' => { output->first = 0x011e; fbreak; };
405  'Gcedil;' => { output->first = 0x0122; fbreak; };
406  'Gcirc;' => { output->first = 0x011c; fbreak; };
407  'Gcy;' => { output->first = 0x0413; fbreak; };
408  'Gdot;' => { output->first = 0x0120; fbreak; };
409  'Gfr;' => { output->first = 0x0001d50a; fbreak; };
410  'Gg;' => { output->first = 0x22d9; fbreak; };
411  'Gopf;' => { output->first = 0x0001d53e; fbreak; };
412  'GreaterEqual;' => { output->first = 0x2265; fbreak; };
413  'GreaterEqualLess;' => { output->first = 0x22db; fbreak; };
414  'GreaterFullEqual;' => { output->first = 0x2267; fbreak; };
415  'GreaterGreater;' => { output->first = 0x2aa2; fbreak; };
416  'GreaterLess;' => { output->first = 0x2277; fbreak; };
417  'GreaterSlantEqual;' => { output->first = 0x2a7e; fbreak; };
418  'GreaterTilde;' => { output->first = 0x2273; fbreak; };
419  'Gscr;' => { output->first = 0x0001d4a2; fbreak; };
420  'Gt;' => { output->first = 0x226b; fbreak; };
421  'HARDcy;' => { output->first = 0x042a; fbreak; };
422  'Hacek;' => { output->first = 0x02c7; fbreak; };
423  'Hat;' => { output->first = 0x5e; fbreak; };
424  'Hcirc;' => { output->first = 0x0124; fbreak; };
425  'Hfr;' => { output->first = 0x210c; fbreak; };
426  'HilbertSpace;' => { output->first = 0x210b; fbreak; };
427  'Hopf;' => { output->first = 0x210d; fbreak; };
428  'HorizontalLine;' => { output->first = 0x2500; fbreak; };
429  'Hscr;' => { output->first = 0x210b; fbreak; };
430  'Hstrok;' => { output->first = 0x0126; fbreak; };
431  'HumpDownHump;' => { output->first = 0x224e; fbreak; };
432  'HumpEqual;' => { output->first = 0x224f; fbreak; };
433  'IEcy;' => { output->first = 0x0415; fbreak; };
434  'IJlig;' => { output->first = 0x0132; fbreak; };
435  'IOcy;' => { output->first = 0x0401; fbreak; };
436  'Iacute;' => { output->first = 0xcd; fbreak; };
437  'Iacute' => { output->first = 0xcd; fbreak; };
438  'Icirc;' => { output->first = 0xce; fbreak; };
439  'Icirc' => { output->first = 0xce; fbreak; };
440  'Icy;' => { output->first = 0x0418; fbreak; };
441  'Idot;' => { output->first = 0x0130; fbreak; };
442  'Ifr;' => { output->first = 0x2111; fbreak; };
443  'Igrave;' => { output->first = 0xcc; fbreak; };
444  'Igrave' => { output->first = 0xcc; fbreak; };
445  'Im;' => { output->first = 0x2111; fbreak; };
446  'Imacr;' => { output->first = 0x012a; fbreak; };
447  'ImaginaryI;' => { output->first = 0x2148; fbreak; };
448  'Implies;' => { output->first = 0x21d2; fbreak; };
449  'Int;' => { output->first = 0x222c; fbreak; };
450  'Integral;' => { output->first = 0x222b; fbreak; };
451  'Intersection;' => { output->first = 0x22c2; fbreak; };
452  'InvisibleComma;' => { output->first = 0x2063; fbreak; };
453  'InvisibleTimes;' => { output->first = 0x2062; fbreak; };
454  'Iogon;' => { output->first = 0x012e; fbreak; };
455  'Iopf;' => { output->first = 0x0001d540; fbreak; };
456  'Iota;' => { output->first = 0x0399; fbreak; };
457  'Iscr;' => { output->first = 0x2110; fbreak; };
458  'Itilde;' => { output->first = 0x0128; fbreak; };
459  'Iukcy;' => { output->first = 0x0406; fbreak; };
460  'Iuml;' => { output->first = 0xcf; fbreak; };
461  'Iuml' => { output->first = 0xcf; fbreak; };
462  'Jcirc;' => { output->first = 0x0134; fbreak; };
463  'Jcy;' => { output->first = 0x0419; fbreak; };
464  'Jfr;' => { output->first = 0x0001d50d; fbreak; };
465  'Jopf;' => { output->first = 0x0001d541; fbreak; };
466  'Jscr;' => { output->first = 0x0001d4a5; fbreak; };
467  'Jsercy;' => { output->first = 0x0408; fbreak; };
468  'Jukcy;' => { output->first = 0x0404; fbreak; };
469  'KHcy;' => { output->first = 0x0425; fbreak; };
470  'KJcy;' => { output->first = 0x040c; fbreak; };
471  'Kappa;' => { output->first = 0x039a; fbreak; };
472  'Kcedil;' => { output->first = 0x0136; fbreak; };
473  'Kcy;' => { output->first = 0x041a; fbreak; };
474  'Kfr;' => { output->first = 0x0001d50e; fbreak; };
475  'Kopf;' => { output->first = 0x0001d542; fbreak; };
476  'Kscr;' => { output->first = 0x0001d4a6; fbreak; };
477  'LJcy;' => { output->first = 0x0409; fbreak; };
478  'LT;' => { output->first = 0x3c; fbreak; };
479  'LT' => { output->first = 0x3c; fbreak; };
480  'Lacute;' => { output->first = 0x0139; fbreak; };
481  'Lambda;' => { output->first = 0x039b; fbreak; };
482  'Lang;' => { output->first = 0x27ea; fbreak; };
483  'Laplacetrf;' => { output->first = 0x2112; fbreak; };
484  'Larr;' => { output->first = 0x219e; fbreak; };
485  'Lcaron;' => { output->first = 0x013d; fbreak; };
486  'Lcedil;' => { output->first = 0x013b; fbreak; };
487  'Lcy;' => { output->first = 0x041b; fbreak; };
488  'LeftAngleBracket;' => { output->first = 0x27e8; fbreak; };
489  'LeftArrow;' => { output->first = 0x2190; fbreak; };
490  'LeftArrowBar;' => { output->first = 0x21e4; fbreak; };
491  'LeftArrowRightArrow;' => { output->first = 0x21c6; fbreak; };
492  'LeftCeiling;' => { output->first = 0x2308; fbreak; };
493  'LeftDoubleBracket;' => { output->first = 0x27e6; fbreak; };
494  'LeftDownTeeVector;' => { output->first = 0x2961; fbreak; };
495  'LeftDownVector;' => { output->first = 0x21c3; fbreak; };
496  'LeftDownVectorBar;' => { output->first = 0x2959; fbreak; };
497  'LeftFloor;' => { output->first = 0x230a; fbreak; };
498  'LeftRightArrow;' => { output->first = 0x2194; fbreak; };
499  'LeftRightVector;' => { output->first = 0x294e; fbreak; };
500  'LeftTee;' => { output->first = 0x22a3; fbreak; };
501  'LeftTeeArrow;' => { output->first = 0x21a4; fbreak; };
502  'LeftTeeVector;' => { output->first = 0x295a; fbreak; };
503  'LeftTriangle;' => { output->first = 0x22b2; fbreak; };
504  'LeftTriangleBar;' => { output->first = 0x29cf; fbreak; };
505  'LeftTriangleEqual;' => { output->first = 0x22b4; fbreak; };
506  'LeftUpDownVector;' => { output->first = 0x2951; fbreak; };
507  'LeftUpTeeVector;' => { output->first = 0x2960; fbreak; };
508  'LeftUpVector;' => { output->first = 0x21bf; fbreak; };
509  'LeftUpVectorBar;' => { output->first = 0x2958; fbreak; };
510  'LeftVector;' => { output->first = 0x21bc; fbreak; };
511  'LeftVectorBar;' => { output->first = 0x2952; fbreak; };
512  'Leftarrow;' => { output->first = 0x21d0; fbreak; };
513  'Leftrightarrow;' => { output->first = 0x21d4; fbreak; };
514  'LessEqualGreater;' => { output->first = 0x22da; fbreak; };
515  'LessFullEqual;' => { output->first = 0x2266; fbreak; };
516  'LessGreater;' => { output->first = 0x2276; fbreak; };
517  'LessLess;' => { output->first = 0x2aa1; fbreak; };
518  'LessSlantEqual;' => { output->first = 0x2a7d; fbreak; };
519  'LessTilde;' => { output->first = 0x2272; fbreak; };
520  'Lfr;' => { output->first = 0x0001d50f; fbreak; };
521  'Ll;' => { output->first = 0x22d8; fbreak; };
522  'Lleftarrow;' => { output->first = 0x21da; fbreak; };
523  'Lmidot;' => { output->first = 0x013f; fbreak; };
524  'LongLeftArrow;' => { output->first = 0x27f5; fbreak; };
525  'LongLeftRightArrow;' => { output->first = 0x27f7; fbreak; };
526  'LongRightArrow;' => { output->first = 0x27f6; fbreak; };
527  'Longleftarrow;' => { output->first = 0x27f8; fbreak; };
528  'Longleftrightarrow;' => { output->first = 0x27fa; fbreak; };
529  'Longrightarrow;' => { output->first = 0x27f9; fbreak; };
530  'Lopf;' => { output->first = 0x0001d543; fbreak; };
531  'LowerLeftArrow;' => { output->first = 0x2199; fbreak; };
532  'LowerRightArrow;' => { output->first = 0x2198; fbreak; };
533  'Lscr;' => { output->first = 0x2112; fbreak; };
534  'Lsh;' => { output->first = 0x21b0; fbreak; };
535  'Lstrok;' => { output->first = 0x0141; fbreak; };
536  'Lt;' => { output->first = 0x226a; fbreak; };
537  'Map;' => { output->first = 0x2905; fbreak; };
538  'Mcy;' => { output->first = 0x041c; fbreak; };
539  'MediumSpace;' => { output->first = 0x205f; fbreak; };
540  'Mellintrf;' => { output->first = 0x2133; fbreak; };
541  'Mfr;' => { output->first = 0x0001d510; fbreak; };
542  'MinusPlus;' => { output->first = 0x2213; fbreak; };
543  'Mopf;' => { output->first = 0x0001d544; fbreak; };
544  'Mscr;' => { output->first = 0x2133; fbreak; };
545  'Mu;' => { output->first = 0x039c; fbreak; };
546  'NJcy;' => { output->first = 0x040a; fbreak; };
547  'Nacute;' => { output->first = 0x0143; fbreak; };
548  'Ncaron;' => { output->first = 0x0147; fbreak; };
549  'Ncedil;' => { output->first = 0x0145; fbreak; };
550  'Ncy;' => { output->first = 0x041d; fbreak; };
551  'NegativeMediumSpace;' => { output->first = 0x200b; fbreak; };
552  'NegativeThickSpace;' => { output->first = 0x200b; fbreak; };
553  'NegativeThinSpace;' => { output->first = 0x200b; fbreak; };
554  'NegativeVeryThinSpace;' => { output->first = 0x200b; fbreak; };
555  'NestedGreaterGreater;' => { output->first = 0x226b; fbreak; };
556  'NestedLessLess;' => { output->first = 0x226a; fbreak; };
557  'NewLine;' => { output->first = 0x0a; fbreak; };
558  'Nfr;' => { output->first = 0x0001d511; fbreak; };
559  'NoBreak;' => { output->first = 0x2060; fbreak; };
560  'NonBreakingSpace;' => { output->first = 0xa0; fbreak; };
561  'Nopf;' => { output->first = 0x2115; fbreak; };
562  'Not;' => { output->first = 0x2aec; fbreak; };
563  'NotCongruent;' => { output->first = 0x2262; fbreak; };
564  'NotCupCap;' => { output->first = 0x226d; fbreak; };
565  'NotDoubleVerticalBar;' => { output->first = 0x2226; fbreak; };
566  'NotElement;' => { output->first = 0x2209; fbreak; };
567  'NotEqual;' => { output->first = 0x2260; fbreak; };
568  'NotEqualTilde;' => { output->first = 0x2242; output->second = 0x0338; fbreak; };
569  'NotExists;' => { output->first = 0x2204; fbreak; };
570  'NotGreater;' => { output->first = 0x226f; fbreak; };
571  'NotGreaterEqual;' => { output->first = 0x2271; fbreak; };
572  'NotGreaterFullEqual;' => { output->first = 0x2267; output->second = 0x0338; fbreak; };
573  'NotGreaterGreater;' => { output->first = 0x226b; output->second = 0x0338; fbreak; };
574  'NotGreaterLess;' => { output->first = 0x2279; fbreak; };
575  'NotGreaterSlantEqual;' => { output->first = 0x2a7e; output->second = 0x0338; fbreak; };
576  'NotGreaterTilde;' => { output->first = 0x2275; fbreak; };
577  'NotHumpDownHump;' => { output->first = 0x224e; output->second = 0x0338; fbreak; };
578  'NotHumpEqual;' => { output->first = 0x224f; output->second = 0x0338; fbreak; };
579  'NotLeftTriangle;' => { output->first = 0x22ea; fbreak; };
580  'NotLeftTriangleBar;' => { output->first = 0x29cf; output->second = 0x0338; fbreak; };
581  'NotLeftTriangleEqual;' => { output->first = 0x22ec; fbreak; };
582  'NotLess;' => { output->first = 0x226e; fbreak; };
583  'NotLessEqual;' => { output->first = 0x2270; fbreak; };
584  'NotLessGreater;' => { output->first = 0x2278; fbreak; };
585  'NotLessLess;' => { output->first = 0x226a; output->second = 0x0338; fbreak; };
586  'NotLessSlantEqual;' => { output->first = 0x2a7d; output->second = 0x0338; fbreak; };
587  'NotLessTilde;' => { output->first = 0x2274; fbreak; };
588  'NotNestedGreaterGreater;' => { output->first = 0x2aa2; output->second = 0x0338; fbreak; };
589  'NotNestedLessLess;' => { output->first = 0x2aa1; output->second = 0x0338; fbreak; };
590  'NotPrecedes;' => { output->first = 0x2280; fbreak; };
591  'NotPrecedesEqual;' => { output->first = 0x2aaf; output->second = 0x0338; fbreak; };
592  'NotPrecedesSlantEqual;' => { output->first = 0x22e0; fbreak; };
593  'NotReverseElement;' => { output->first = 0x220c; fbreak; };
594  'NotRightTriangle;' => { output->first = 0x22eb; fbreak; };
595  'NotRightTriangleBar;' => { output->first = 0x29d0; output->second = 0x0338; fbreak; };
596  'NotRightTriangleEqual;' => { output->first = 0x22ed; fbreak; };
597  'NotSquareSubset;' => { output->first = 0x228f; output->second = 0x0338; fbreak; };
598  'NotSquareSubsetEqual;' => { output->first = 0x22e2; fbreak; };
599  'NotSquareSuperset;' => { output->first = 0x2290; output->second = 0x0338; fbreak; };
600  'NotSquareSupersetEqual;' => { output->first = 0x22e3; fbreak; };
601  'NotSubset;' => { output->first = 0x2282; output->second = 0x20d2; fbreak; };
602  'NotSubsetEqual;' => { output->first = 0x2288; fbreak; };
603  'NotSucceeds;' => { output->first = 0x2281; fbreak; };
604  'NotSucceedsEqual;' => { output->first = 0x2ab0; output->second = 0x0338; fbreak; };
605  'NotSucceedsSlantEqual;' => { output->first = 0x22e1; fbreak; };
606  'NotSucceedsTilde;' => { output->first = 0x227f; output->second = 0x0338; fbreak; };
607  'NotSuperset;' => { output->first = 0x2283; output->second = 0x20d2; fbreak; };
608  'NotSupersetEqual;' => { output->first = 0x2289; fbreak; };
609  'NotTilde;' => { output->first = 0x2241; fbreak; };
610  'NotTildeEqual;' => { output->first = 0x2244; fbreak; };
611  'NotTildeFullEqual;' => { output->first = 0x2247; fbreak; };
612  'NotTildeTilde;' => { output->first = 0x2249; fbreak; };
613  'NotVerticalBar;' => { output->first = 0x2224; fbreak; };
614  'Nscr;' => { output->first = 0x0001d4a9; fbreak; };
615  'Ntilde;' => { output->first = 0xd1; fbreak; };
616  'Ntilde' => { output->first = 0xd1; fbreak; };
617  'Nu;' => { output->first = 0x039d; fbreak; };
618  'OElig;' => { output->first = 0x0152; fbreak; };
619  'Oacute;' => { output->first = 0xd3; fbreak; };
620  'Oacute' => { output->first = 0xd3; fbreak; };
621  'Ocirc;' => { output->first = 0xd4; fbreak; };
622  'Ocirc' => { output->first = 0xd4; fbreak; };
623  'Ocy;' => { output->first = 0x041e; fbreak; };
624  'Odblac;' => { output->first = 0x0150; fbreak; };
625  'Ofr;' => { output->first = 0x0001d512; fbreak; };
626  'Ograve;' => { output->first = 0xd2; fbreak; };
627  'Ograve' => { output->first = 0xd2; fbreak; };
628  'Omacr;' => { output->first = 0x014c; fbreak; };
629  'Omega;' => { output->first = 0x03a9; fbreak; };
630  'Omicron;' => { output->first = 0x039f; fbreak; };
631  'Oopf;' => { output->first = 0x0001d546; fbreak; };
632  'OpenCurlyDoubleQuote;' => { output->first = 0x201c; fbreak; };
633  'OpenCurlyQuote;' => { output->first = 0x2018; fbreak; };
634  'Or;' => { output->first = 0x2a54; fbreak; };
635  'Oscr;' => { output->first = 0x0001d4aa; fbreak; };
636  'Oslash;' => { output->first = 0xd8; fbreak; };
637  'Oslash' => { output->first = 0xd8; fbreak; };
638  'Otilde;' => { output->first = 0xd5; fbreak; };
639  'Otilde' => { output->first = 0xd5; fbreak; };
640  'Otimes;' => { output->first = 0x2a37; fbreak; };
641  'Ouml;' => { output->first = 0xd6; fbreak; };
642  'Ouml' => { output->first = 0xd6; fbreak; };
643  'OverBar;' => { output->first = 0x203e; fbreak; };
644  'OverBrace;' => { output->first = 0x23de; fbreak; };
645  'OverBracket;' => { output->first = 0x23b4; fbreak; };
646  'OverParenthesis;' => { output->first = 0x23dc; fbreak; };
647  'PartialD;' => { output->first = 0x2202; fbreak; };
648  'Pcy;' => { output->first = 0x041f; fbreak; };
649  'Pfr;' => { output->first = 0x0001d513; fbreak; };
650  'Phi;' => { output->first = 0x03a6; fbreak; };
651  'Pi;' => { output->first = 0x03a0; fbreak; };
652  'PlusMinus;' => { output->first = 0xb1; fbreak; };
653  'Poincareplane;' => { output->first = 0x210c; fbreak; };
654  'Popf;' => { output->first = 0x2119; fbreak; };
655  'Pr;' => { output->first = 0x2abb; fbreak; };
656  'Precedes;' => { output->first = 0x227a; fbreak; };
657  'PrecedesEqual;' => { output->first = 0x2aaf; fbreak; };
658  'PrecedesSlantEqual;' => { output->first = 0x227c; fbreak; };
659  'PrecedesTilde;' => { output->first = 0x227e; fbreak; };
660  'Prime;' => { output->first = 0x2033; fbreak; };
661  'Product;' => { output->first = 0x220f; fbreak; };
662  'Proportion;' => { output->first = 0x2237; fbreak; };
663  'Proportional;' => { output->first = 0x221d; fbreak; };
664  'Pscr;' => { output->first = 0x0001d4ab; fbreak; };
665  'Psi;' => { output->first = 0x03a8; fbreak; };
666  'QUOT;' => { output->first = 0x22; fbreak; };
667  'QUOT' => { output->first = 0x22; fbreak; };
668  'Qfr;' => { output->first = 0x0001d514; fbreak; };
669  'Qopf;' => { output->first = 0x211a; fbreak; };
670  'Qscr;' => { output->first = 0x0001d4ac; fbreak; };
671  'RBarr;' => { output->first = 0x2910; fbreak; };
672  'REG;' => { output->first = 0xae; fbreak; };
673  'REG' => { output->first = 0xae; fbreak; };
674  'Racute;' => { output->first = 0x0154; fbreak; };
675  'Rang;' => { output->first = 0x27eb; fbreak; };
676  'Rarr;' => { output->first = 0x21a0; fbreak; };
677  'Rarrtl;' => { output->first = 0x2916; fbreak; };
678  'Rcaron;' => { output->first = 0x0158; fbreak; };
679  'Rcedil;' => { output->first = 0x0156; fbreak; };
680  'Rcy;' => { output->first = 0x0420; fbreak; };
681  'Re;' => { output->first = 0x211c; fbreak; };
682  'ReverseElement;' => { output->first = 0x220b; fbreak; };
683  'ReverseEquilibrium;' => { output->first = 0x21cb; fbreak; };
684  'ReverseUpEquilibrium;' => { output->first = 0x296f; fbreak; };
685  'Rfr;' => { output->first = 0x211c; fbreak; };
686  'Rho;' => { output->first = 0x03a1; fbreak; };
687  'RightAngleBracket;' => { output->first = 0x27e9; fbreak; };
688  'RightArrow;' => { output->first = 0x2192; fbreak; };
689  'RightArrowBar;' => { output->first = 0x21e5; fbreak; };
690  'RightArrowLeftArrow;' => { output->first = 0x21c4; fbreak; };
691  'RightCeiling;' => { output->first = 0x2309; fbreak; };
692  'RightDoubleBracket;' => { output->first = 0x27e7; fbreak; };
693  'RightDownTeeVector;' => { output->first = 0x295d; fbreak; };
694  'RightDownVector;' => { output->first = 0x21c2; fbreak; };
695  'RightDownVectorBar;' => { output->first = 0x2955; fbreak; };
696  'RightFloor;' => { output->first = 0x230b; fbreak; };
697  'RightTee;' => { output->first = 0x22a2; fbreak; };
698  'RightTeeArrow;' => { output->first = 0x21a6; fbreak; };
699  'RightTeeVector;' => { output->first = 0x295b; fbreak; };
700  'RightTriangle;' => { output->first = 0x22b3; fbreak; };
701  'RightTriangleBar;' => { output->first = 0x29d0; fbreak; };
702  'RightTriangleEqual;' => { output->first = 0x22b5; fbreak; };
703  'RightUpDownVector;' => { output->first = 0x294f; fbreak; };
704  'RightUpTeeVector;' => { output->first = 0x295c; fbreak; };
705  'RightUpVector;' => { output->first = 0x21be; fbreak; };
706  'RightUpVectorBar;' => { output->first = 0x2954; fbreak; };
707  'RightVector;' => { output->first = 0x21c0; fbreak; };
708  'RightVectorBar;' => { output->first = 0x2953; fbreak; };
709  'Rightarrow;' => { output->first = 0x21d2; fbreak; };
710  'Ropf;' => { output->first = 0x211d; fbreak; };
711  'RoundImplies;' => { output->first = 0x2970; fbreak; };
712  'Rrightarrow;' => { output->first = 0x21db; fbreak; };
713  'Rscr;' => { output->first = 0x211b; fbreak; };
714  'Rsh;' => { output->first = 0x21b1; fbreak; };
715  'RuleDelayed;' => { output->first = 0x29f4; fbreak; };
716  'SHCHcy;' => { output->first = 0x0429; fbreak; };
717  'SHcy;' => { output->first = 0x0428; fbreak; };
718  'SOFTcy;' => { output->first = 0x042c; fbreak; };
719  'Sacute;' => { output->first = 0x015a; fbreak; };
720  'Sc;' => { output->first = 0x2abc; fbreak; };
721  'Scaron;' => { output->first = 0x0160; fbreak; };
722  'Scedil;' => { output->first = 0x015e; fbreak; };
723  'Scirc;' => { output->first = 0x015c; fbreak; };
724  'Scy;' => { output->first = 0x0421; fbreak; };
725  'Sfr;' => { output->first = 0x0001d516; fbreak; };
726  'ShortDownArrow;' => { output->first = 0x2193; fbreak; };
727  'ShortLeftArrow;' => { output->first = 0x2190; fbreak; };
728  'ShortRightArrow;' => { output->first = 0x2192; fbreak; };
729  'ShortUpArrow;' => { output->first = 0x2191; fbreak; };
730  'Sigma;' => { output->first = 0x03a3; fbreak; };
731  'SmallCircle;' => { output->first = 0x2218; fbreak; };
732  'Sopf;' => { output->first = 0x0001d54a; fbreak; };
733  'Sqrt;' => { output->first = 0x221a; fbreak; };
734  'Square;' => { output->first = 0x25a1; fbreak; };
735  'SquareIntersection;' => { output->first = 0x2293; fbreak; };
736  'SquareSubset;' => { output->first = 0x228f; fbreak; };
737  'SquareSubsetEqual;' => { output->first = 0x2291; fbreak; };
738  'SquareSuperset;' => { output->first = 0x2290; fbreak; };
739  'SquareSupersetEqual;' => { output->first = 0x2292; fbreak; };
740  'SquareUnion;' => { output->first = 0x2294; fbreak; };
741  'Sscr;' => { output->first = 0x0001d4ae; fbreak; };
742  'Star;' => { output->first = 0x22c6; fbreak; };
743  'Sub;' => { output->first = 0x22d0; fbreak; };
744  'Subset;' => { output->first = 0x22d0; fbreak; };
745  'SubsetEqual;' => { output->first = 0x2286; fbreak; };
746  'Succeeds;' => { output->first = 0x227b; fbreak; };
747  'SucceedsEqual;' => { output->first = 0x2ab0; fbreak; };
748  'SucceedsSlantEqual;' => { output->first = 0x227d; fbreak; };
749  'SucceedsTilde;' => { output->first = 0x227f; fbreak; };
750  'SuchThat;' => { output->first = 0x220b; fbreak; };
751  'Sum;' => { output->first = 0x2211; fbreak; };
752  'Sup;' => { output->first = 0x22d1; fbreak; };
753  'Superset;' => { output->first = 0x2283; fbreak; };
754  'SupersetEqual;' => { output->first = 0x2287; fbreak; };
755  'Supset;' => { output->first = 0x22d1; fbreak; };
756  'THORN;' => { output->first = 0xde; fbreak; };
757  'THORN' => { output->first = 0xde; fbreak; };
758  'TRADE;' => { output->first = 0x2122; fbreak; };
759  'TSHcy;' => { output->first = 0x040b; fbreak; };
760  'TScy;' => { output->first = 0x0426; fbreak; };
761  'Tab;' => { output->first = 0x09; fbreak; };
762  'Tau;' => { output->first = 0x03a4; fbreak; };
763  'Tcaron;' => { output->first = 0x0164; fbreak; };
764  'Tcedil;' => { output->first = 0x0162; fbreak; };
765  'Tcy;' => { output->first = 0x0422; fbreak; };
766  'Tfr;' => { output->first = 0x0001d517; fbreak; };
767  'Therefore;' => { output->first = 0x2234; fbreak; };
768  'Theta;' => { output->first = 0x0398; fbreak; };
769  'ThickSpace;' => { output->first = 0x205f; output->second = 0x200a; fbreak; };
770  'ThinSpace;' => { output->first = 0x2009; fbreak; };
771  'Tilde;' => { output->first = 0x223c; fbreak; };
772  'TildeEqual;' => { output->first = 0x2243; fbreak; };
773  'TildeFullEqual;' => { output->first = 0x2245; fbreak; };
774  'TildeTilde;' => { output->first = 0x2248; fbreak; };
775  'Topf;' => { output->first = 0x0001d54b; fbreak; };
776  'TripleDot;' => { output->first = 0x20db; fbreak; };
777  'Tscr;' => { output->first = 0x0001d4af; fbreak; };
778  'Tstrok;' => { output->first = 0x0166; fbreak; };
779  'Uacute;' => { output->first = 0xda; fbreak; };
780  'Uacute' => { output->first = 0xda; fbreak; };
781  'Uarr;' => { output->first = 0x219f; fbreak; };
782  'Uarrocir;' => { output->first = 0x2949; fbreak; };
783  'Ubrcy;' => { output->first = 0x040e; fbreak; };
784  'Ubreve;' => { output->first = 0x016c; fbreak; };
785  'Ucirc;' => { output->first = 0xdb; fbreak; };
786  'Ucirc' => { output->first = 0xdb; fbreak; };
787  'Ucy;' => { output->first = 0x0423; fbreak; };
788  'Udblac;' => { output->first = 0x0170; fbreak; };
789  'Ufr;' => { output->first = 0x0001d518; fbreak; };
790  'Ugrave;' => { output->first = 0xd9; fbreak; };
791  'Ugrave' => { output->first = 0xd9; fbreak; };
792  'Umacr;' => { output->first = 0x016a; fbreak; };
793  'UnderBar;' => { output->first = 0x5f; fbreak; };
794  'UnderBrace;' => { output->first = 0x23df; fbreak; };
795  'UnderBracket;' => { output->first = 0x23b5; fbreak; };
796  'UnderParenthesis;' => { output->first = 0x23dd; fbreak; };
797  'Union;' => { output->first = 0x22c3; fbreak; };
798  'UnionPlus;' => { output->first = 0x228e; fbreak; };
799  'Uogon;' => { output->first = 0x0172; fbreak; };
800  'Uopf;' => { output->first = 0x0001d54c; fbreak; };
801  'UpArrow;' => { output->first = 0x2191; fbreak; };
802  'UpArrowBar;' => { output->first = 0x2912; fbreak; };
803  'UpArrowDownArrow;' => { output->first = 0x21c5; fbreak; };
804  'UpDownArrow;' => { output->first = 0x2195; fbreak; };
805  'UpEquilibrium;' => { output->first = 0x296e; fbreak; };
806  'UpTee;' => { output->first = 0x22a5; fbreak; };
807  'UpTeeArrow;' => { output->first = 0x21a5; fbreak; };
808  'Uparrow;' => { output->first = 0x21d1; fbreak; };
809  'Updownarrow;' => { output->first = 0x21d5; fbreak; };
810  'UpperLeftArrow;' => { output->first = 0x2196; fbreak; };
811  'UpperRightArrow;' => { output->first = 0x2197; fbreak; };
812  'Upsi;' => { output->first = 0x03d2; fbreak; };
813  'Upsilon;' => { output->first = 0x03a5; fbreak; };
814  'Uring;' => { output->first = 0x016e; fbreak; };
815  'Uscr;' => { output->first = 0x0001d4b0; fbreak; };
816  'Utilde;' => { output->first = 0x0168; fbreak; };
817  'Uuml;' => { output->first = 0xdc; fbreak; };
818  'Uuml' => { output->first = 0xdc; fbreak; };
819  'VDash;' => { output->first = 0x22ab; fbreak; };
820  'Vbar;' => { output->first = 0x2aeb; fbreak; };
821  'Vcy;' => { output->first = 0x0412; fbreak; };
822  'Vdash;' => { output->first = 0x22a9; fbreak; };
823  'Vdashl;' => { output->first = 0x2ae6; fbreak; };
824  'Vee;' => { output->first = 0x22c1; fbreak; };
825  'Verbar;' => { output->first = 0x2016; fbreak; };
826  'Vert;' => { output->first = 0x2016; fbreak; };
827  'VerticalBar;' => { output->first = 0x2223; fbreak; };
828  'VerticalLine;' => { output->first = 0x7c; fbreak; };
829  'VerticalSeparator;' => { output->first = 0x2758; fbreak; };
830  'VerticalTilde;' => { output->first = 0x2240; fbreak; };
831  'VeryThinSpace;' => { output->first = 0x200a; fbreak; };
832  'Vfr;' => { output->first = 0x0001d519; fbreak; };
833  'Vopf;' => { output->first = 0x0001d54d; fbreak; };
834  'Vscr;' => { output->first = 0x0001d4b1; fbreak; };
835  'Vvdash;' => { output->first = 0x22aa; fbreak; };
836  'Wcirc;' => { output->first = 0x0174; fbreak; };
837  'Wedge;' => { output->first = 0x22c0; fbreak; };
838  'Wfr;' => { output->first = 0x0001d51a; fbreak; };
839  'Wopf;' => { output->first = 0x0001d54e; fbreak; };
840  'Wscr;' => { output->first = 0x0001d4b2; fbreak; };
841  'Xfr;' => { output->first = 0x0001d51b; fbreak; };
842  'Xi;' => { output->first = 0x039e; fbreak; };
843  'Xopf;' => { output->first = 0x0001d54f; fbreak; };
844  'Xscr;' => { output->first = 0x0001d4b3; fbreak; };
845  'YAcy;' => { output->first = 0x042f; fbreak; };
846  'YIcy;' => { output->first = 0x0407; fbreak; };
847  'YUcy;' => { output->first = 0x042e; fbreak; };
848  'Yacute;' => { output->first = 0xdd; fbreak; };
849  'Yacute' => { output->first = 0xdd; fbreak; };
850  'Ycirc;' => { output->first = 0x0176; fbreak; };
851  'Ycy;' => { output->first = 0x042b; fbreak; };
852  'Yfr;' => { output->first = 0x0001d51c; fbreak; };
853  'Yopf;' => { output->first = 0x0001d550; fbreak; };
854  'Yscr;' => { output->first = 0x0001d4b4; fbreak; };
855  'Yuml;' => { output->first = 0x0178; fbreak; };
856  'ZHcy;' => { output->first = 0x0416; fbreak; };
857  'Zacute;' => { output->first = 0x0179; fbreak; };
858  'Zcaron;' => { output->first = 0x017d; fbreak; };
859  'Zcy;' => { output->first = 0x0417; fbreak; };
860  'Zdot;' => { output->first = 0x017b; fbreak; };
861  'ZeroWidthSpace;' => { output->first = 0x200b; fbreak; };
862  'Zeta;' => { output->first = 0x0396; fbreak; };
863  'Zfr;' => { output->first = 0x2128; fbreak; };
864  'Zopf;' => { output->first = 0x2124; fbreak; };
865  'Zscr;' => { output->first = 0x0001d4b5; fbreak; };
866  'aacute;' => { output->first = 0xe1; fbreak; };
867  'aacute' => { output->first = 0xe1; fbreak; };
868  'abreve;' => { output->first = 0x0103; fbreak; };
869  'ac;' => { output->first = 0x223e; fbreak; };
870  'acE;' => { output->first = 0x223e; output->second = 0x0333; fbreak; };
871  'acd;' => { output->first = 0x223f; fbreak; };
872  'acirc;' => { output->first = 0xe2; fbreak; };
873  'acirc' => { output->first = 0xe2; fbreak; };
874  'acute;' => { output->first = 0xb4; fbreak; };
875  'acute' => { output->first = 0xb4; fbreak; };
876  'acy;' => { output->first = 0x0430; fbreak; };
877  'aelig;' => { output->first = 0xe6; fbreak; };
878  'aelig' => { output->first = 0xe6; fbreak; };
879  'af;' => { output->first = 0x2061; fbreak; };
880  'afr;' => { output->first = 0x0001d51e; fbreak; };
881  'agrave;' => { output->first = 0xe0; fbreak; };
882  'agrave' => { output->first = 0xe0; fbreak; };
883  'alefsym;' => { output->first = 0x2135; fbreak; };
884  'aleph;' => { output->first = 0x2135; fbreak; };
885  'alpha;' => { output->first = 0x03b1; fbreak; };
886  'amacr;' => { output->first = 0x0101; fbreak; };
887  'amalg;' => { output->first = 0x2a3f; fbreak; };
888  'amp;' => { output->first = 0x26; fbreak; };
889  'amp' => { output->first = 0x26; fbreak; };
890  'and;' => { output->first = 0x2227; fbreak; };
891  'andand;' => { output->first = 0x2a55; fbreak; };
892  'andd;' => { output->first = 0x2a5c; fbreak; };
893  'andslope;' => { output->first = 0x2a58; fbreak; };
894  'andv;' => { output->first = 0x2a5a; fbreak; };
895  'ang;' => { output->first = 0x2220; fbreak; };
896  'ange;' => { output->first = 0x29a4; fbreak; };
897  'angle;' => { output->first = 0x2220; fbreak; };
898  'angmsd;' => { output->first = 0x2221; fbreak; };
899  'angmsdaa;' => { output->first = 0x29a8; fbreak; };
900  'angmsdab;' => { output->first = 0x29a9; fbreak; };
901  'angmsdac;' => { output->first = 0x29aa; fbreak; };
902  'angmsdad;' => { output->first = 0x29ab; fbreak; };
903  'angmsdae;' => { output->first = 0x29ac; fbreak; };
904  'angmsdaf;' => { output->first = 0x29ad; fbreak; };
905  'angmsdag;' => { output->first = 0x29ae; fbreak; };
906  'angmsdah;' => { output->first = 0x29af; fbreak; };
907  'angrt;' => { output->first = 0x221f; fbreak; };
908  'angrtvb;' => { output->first = 0x22be; fbreak; };
909  'angrtvbd;' => { output->first = 0x299d; fbreak; };
910  'angsph;' => { output->first = 0x2222; fbreak; };
911  'angst;' => { output->first = 0xc5; fbreak; };
912  'angzarr;' => { output->first = 0x237c; fbreak; };
913  'aogon;' => { output->first = 0x0105; fbreak; };
914  'aopf;' => { output->first = 0x0001d552; fbreak; };
915  'ap;' => { output->first = 0x2248; fbreak; };
916  'apE;' => { output->first = 0x2a70; fbreak; };
917  'apacir;' => { output->first = 0x2a6f; fbreak; };
918  'ape;' => { output->first = 0x224a; fbreak; };
919  'apid;' => { output->first = 0x224b; fbreak; };
920  'apos;' => { output->first = 0x27; fbreak; };
921  'approx;' => { output->first = 0x2248; fbreak; };
922  'approxeq;' => { output->first = 0x224a; fbreak; };
923  'aring;' => { output->first = 0xe5; fbreak; };
924  'aring' => { output->first = 0xe5; fbreak; };
925  'ascr;' => { output->first = 0x0001d4b6; fbreak; };
926  'ast;' => { output->first = 0x2a; fbreak; };
927  'asymp;' => { output->first = 0x2248; fbreak; };
928  'asympeq;' => { output->first = 0x224d; fbreak; };
929  'atilde;' => { output->first = 0xe3; fbreak; };
930  'atilde' => { output->first = 0xe3; fbreak; };
931  'auml;' => { output->first = 0xe4; fbreak; };
932  'auml' => { output->first = 0xe4; fbreak; };
933  'awconint;' => { output->first = 0x2233; fbreak; };
934  'awint;' => { output->first = 0x2a11; fbreak; };
935  'bNot;' => { output->first = 0x2aed; fbreak; };
936  'backcong;' => { output->first = 0x224c; fbreak; };
937  'backepsilon;' => { output->first = 0x03f6; fbreak; };
938  'backprime;' => { output->first = 0x2035; fbreak; };
939  'backsim;' => { output->first = 0x223d; fbreak; };
940  'backsimeq;' => { output->first = 0x22cd; fbreak; };
941  'barvee;' => { output->first = 0x22bd; fbreak; };
942  'barwed;' => { output->first = 0x2305; fbreak; };
943  'barwedge;' => { output->first = 0x2305; fbreak; };
944  'bbrk;' => { output->first = 0x23b5; fbreak; };
945  'bbrktbrk;' => { output->first = 0x23b6; fbreak; };
946  'bcong;' => { output->first = 0x224c; fbreak; };
947  'bcy;' => { output->first = 0x0431; fbreak; };
948  'bdquo;' => { output->first = 0x201e; fbreak; };
949  'becaus;' => { output->first = 0x2235; fbreak; };
950  'because;' => { output->first = 0x2235; fbreak; };
951  'bemptyv;' => { output->first = 0x29b0; fbreak; };
952  'bepsi;' => { output->first = 0x03f6; fbreak; };
953  'bernou;' => { output->first = 0x212c; fbreak; };
954  'beta;' => { output->first = 0x03b2; fbreak; };
955  'beth;' => { output->first = 0x2136; fbreak; };
956  'between;' => { output->first = 0x226c; fbreak; };
957  'bfr;' => { output->first = 0x0001d51f; fbreak; };
958  'bigcap;' => { output->first = 0x22c2; fbreak; };
959  'bigcirc;' => { output->first = 0x25ef; fbreak; };
960  'bigcup;' => { output->first = 0x22c3; fbreak; };
961  'bigodot;' => { output->first = 0x2a00; fbreak; };
962  'bigoplus;' => { output->first = 0x2a01; fbreak; };
963  'bigotimes;' => { output->first = 0x2a02; fbreak; };
964  'bigsqcup;' => { output->first = 0x2a06; fbreak; };
965  'bigstar;' => { output->first = 0x2605; fbreak; };
966  'bigtriangledown;' => { output->first = 0x25bd; fbreak; };
967  'bigtriangleup;' => { output->first = 0x25b3; fbreak; };
968  'biguplus;' => { output->first = 0x2a04; fbreak; };
969  'bigvee;' => { output->first = 0x22c1; fbreak; };
970  'bigwedge;' => { output->first = 0x22c0; fbreak; };
971  'bkarow;' => { output->first = 0x290d; fbreak; };
972  'blacklozenge;' => { output->first = 0x29eb; fbreak; };
973  'blacksquare;' => { output->first = 0x25aa; fbreak; };
974  'blacktriangle;' => { output->first = 0x25b4; fbreak; };
975  'blacktriangledown;' => { output->first = 0x25be; fbreak; };
976  'blacktriangleleft;' => { output->first = 0x25c2; fbreak; };
977  'blacktriangleright;' => { output->first = 0x25b8; fbreak; };
978  'blank;' => { output->first = 0x2423; fbreak; };
979  'blk12;' => { output->first = 0x2592; fbreak; };
980  'blk14;' => { output->first = 0x2591; fbreak; };
981  'blk34;' => { output->first = 0x2593; fbreak; };
982  'block;' => { output->first = 0x2588; fbreak; };
983  'bne;' => { output->first = 0x3d; output->second = 0x20e5; fbreak; };
984  'bnequiv;' => { output->first = 0x2261; output->second = 0x20e5; fbreak; };
985  'bnot;' => { output->first = 0x2310; fbreak; };
986  'bopf;' => { output->first = 0x0001d553; fbreak; };
987  'bot;' => { output->first = 0x22a5; fbreak; };
988  'bottom;' => { output->first = 0x22a5; fbreak; };
989  'bowtie;' => { output->first = 0x22c8; fbreak; };
990  'boxDL;' => { output->first = 0x2557; fbreak; };
991  'boxDR;' => { output->first = 0x2554; fbreak; };
992  'boxDl;' => { output->first = 0x2556; fbreak; };
993  'boxDr;' => { output->first = 0x2553; fbreak; };
994  'boxH;' => { output->first = 0x2550; fbreak; };
995  'boxHD;' => { output->first = 0x2566; fbreak; };
996  'boxHU;' => { output->first = 0x2569; fbreak; };
997  'boxHd;' => { output->first = 0x2564; fbreak; };
998  'boxHu;' => { output->first = 0x2567; fbreak; };
999  'boxUL;' => { output->first = 0x255d; fbreak; };
1000  'boxUR;' => { output->first = 0x255a; fbreak; };
1001  'boxUl;' => { output->first = 0x255c; fbreak; };
1002  'boxUr;' => { output->first = 0x2559; fbreak; };
1003  'boxV;' => { output->first = 0x2551; fbreak; };
1004  'boxVH;' => { output->first = 0x256c; fbreak; };
1005  'boxVL;' => { output->first = 0x2563; fbreak; };
1006  'boxVR;' => { output->first = 0x2560; fbreak; };
1007  'boxVh;' => { output->first = 0x256b; fbreak; };
1008  'boxVl;' => { output->first = 0x2562; fbreak; };
1009  'boxVr;' => { output->first = 0x255f; fbreak; };
1010  'boxbox;' => { output->first = 0x29c9; fbreak; };
1011  'boxdL;' => { output->first = 0x2555; fbreak; };
1012  'boxdR;' => { output->first = 0x2552; fbreak; };
1013  'boxdl;' => { output->first = 0x2510; fbreak; };
1014  'boxdr;' => { output->first = 0x250c; fbreak; };
1015  'boxh;' => { output->first = 0x2500; fbreak; };
1016  'boxhD;' => { output->first = 0x2565; fbreak; };
1017  'boxhU;' => { output->first = 0x2568; fbreak; };
1018  'boxhd;' => { output->first = 0x252c; fbreak; };
1019  'boxhu;' => { output->first = 0x2534; fbreak; };
1020  'boxminus;' => { output->first = 0x229f; fbreak; };
1021  'boxplus;' => { output->first = 0x229e; fbreak; };
1022  'boxtimes;' => { output->first = 0x22a0; fbreak; };
1023  'boxuL;' => { output->first = 0x255b; fbreak; };
1024  'boxuR;' => { output->first = 0x2558; fbreak; };
1025  'boxul;' => { output->first = 0x2518; fbreak; };
1026  'boxur;' => { output->first = 0x2514; fbreak; };
1027  'boxv;' => { output->first = 0x2502; fbreak; };
1028  'boxvH;' => { output->first = 0x256a; fbreak; };
1029  'boxvL;' => { output->first = 0x2561; fbreak; };
1030  'boxvR;' => { output->first = 0x255e; fbreak; };
1031  'boxvh;' => { output->first = 0x253c; fbreak; };
1032  'boxvl;' => { output->first = 0x2524; fbreak; };
1033  'boxvr;' => { output->first = 0x251c; fbreak; };
1034  'bprime;' => { output->first = 0x2035; fbreak; };
1035  'breve;' => { output->first = 0x02d8; fbreak; };
1036  'brvbar;' => { output->first = 0xa6; fbreak; };
1037  'brvbar' => { output->first = 0xa6; fbreak; };
1038  'bscr;' => { output->first = 0x0001d4b7; fbreak; };
1039  'bsemi;' => { output->first = 0x204f; fbreak; };
1040  'bsim;' => { output->first = 0x223d; fbreak; };
1041  'bsime;' => { output->first = 0x22cd; fbreak; };
1042  'bsol;' => { output->first = 0x5c; fbreak; };
1043  'bsolb;' => { output->first = 0x29c5; fbreak; };
1044  'bsolhsub;' => { output->first = 0x27c8; fbreak; };
1045  'bull;' => { output->first = 0x2022; fbreak; };
1046  'bullet;' => { output->first = 0x2022; fbreak; };
1047  'bump;' => { output->first = 0x224e; fbreak; };
1048  'bumpE;' => { output->first = 0x2aae; fbreak; };
1049  'bumpe;' => { output->first = 0x224f; fbreak; };
1050  'bumpeq;' => { output->first = 0x224f; fbreak; };
1051  'cacute;' => { output->first = 0x0107; fbreak; };
1052  'cap;' => { output->first = 0x2229; fbreak; };
1053  'capand;' => { output->first = 0x2a44; fbreak; };
1054  'capbrcup;' => { output->first = 0x2a49; fbreak; };
1055  'capcap;' => { output->first = 0x2a4b; fbreak; };
1056  'capcup;' => { output->first = 0x2a47; fbreak; };
1057  'capdot;' => { output->first = 0x2a40; fbreak; };
1058  'caps;' => { output->first = 0x2229; output->second = 0xfe00; fbreak; };
1059  'caret;' => { output->first = 0x2041; fbreak; };
1060  'caron;' => { output->first = 0x02c7; fbreak; };
1061  'ccaps;' => { output->first = 0x2a4d; fbreak; };
1062  'ccaron;' => { output->first = 0x010d; fbreak; };
1063  'ccedil;' => { output->first = 0xe7; fbreak; };
1064  'ccedil' => { output->first = 0xe7; fbreak; };
1065  'ccirc;' => { output->first = 0x0109; fbreak; };
1066  'ccups;' => { output->first = 0x2a4c; fbreak; };
1067  'ccupssm;' => { output->first = 0x2a50; fbreak; };
1068  'cdot;' => { output->first = 0x010b; fbreak; };
1069  'cedil;' => { output->first = 0xb8; fbreak; };
1070  'cedil' => { output->first = 0xb8; fbreak; };
1071  'cemptyv;' => { output->first = 0x29b2; fbreak; };
1072  'cent;' => { output->first = 0xa2; fbreak; };
1073  'cent' => { output->first = 0xa2; fbreak; };
1074  'centerdot;' => { output->first = 0xb7; fbreak; };
1075  'cfr;' => { output->first = 0x0001d520; fbreak; };
1076  'chcy;' => { output->first = 0x0447; fbreak; };
1077  'check;' => { output->first = 0x2713; fbreak; };
1078  'checkmark;' => { output->first = 0x2713; fbreak; };
1079  'chi;' => { output->first = 0x03c7; fbreak; };
1080  'cir;' => { output->first = 0x25cb; fbreak; };
1081  'cirE;' => { output->first = 0x29c3; fbreak; };
1082  'circ;' => { output->first = 0x02c6; fbreak; };
1083  'circeq;' => { output->first = 0x2257; fbreak; };
1084  'circlearrowleft;' => { output->first = 0x21ba; fbreak; };
1085  'circlearrowright;' => { output->first = 0x21bb; fbreak; };
1086  'circledR;' => { output->first = 0xae; fbreak; };
1087  'circledS;' => { output->first = 0x24c8; fbreak; };
1088  'circledast;' => { output->first = 0x229b; fbreak; };
1089  'circledcirc;' => { output->first = 0x229a; fbreak; };
1090  'circleddash;' => { output->first = 0x229d; fbreak; };
1091  'cire;' => { output->first = 0x2257; fbreak; };
1092  'cirfnint;' => { output->first = 0x2a10; fbreak; };
1093  'cirmid;' => { output->first = 0x2aef; fbreak; };
1094  'cirscir;' => { output->first = 0x29c2; fbreak; };
1095  'clubs;' => { output->first = 0x2663; fbreak; };
1096  'clubsuit;' => { output->first = 0x2663; fbreak; };
1097  'colon;' => { output->first = 0x3a; fbreak; };
1098  'colone;' => { output->first = 0x2254; fbreak; };
1099  'coloneq;' => { output->first = 0x2254; fbreak; };
1100  'comma;' => { output->first = 0x2c; fbreak; };
1101  'commat;' => { output->first = 0x40; fbreak; };
1102  'comp;' => { output->first = 0x2201; fbreak; };
1103  'compfn;' => { output->first = 0x2218; fbreak; };
1104  'complement;' => { output->first = 0x2201; fbreak; };
1105  'complexes;' => { output->first = 0x2102; fbreak; };
1106  'cong;' => { output->first = 0x2245; fbreak; };
1107  'congdot;' => { output->first = 0x2a6d; fbreak; };
1108  'conint;' => { output->first = 0x222e; fbreak; };
1109  'copf;' => { output->first = 0x0001d554; fbreak; };
1110  'coprod;' => { output->first = 0x2210; fbreak; };
1111  'copy;' => { output->first = 0xa9; fbreak; };
1112  'copy' => { output->first = 0xa9; fbreak; };
1113  'copysr;' => { output->first = 0x2117; fbreak; };
1114  'crarr;' => { output->first = 0x21b5; fbreak; };
1115  'cross;' => { output->first = 0x2717; fbreak; };
1116  'cscr;' => { output->first = 0x0001d4b8; fbreak; };
1117  'csub;' => { output->first = 0x2acf; fbreak; };
1118  'csube;' => { output->first = 0x2ad1; fbreak; };
1119  'csup;' => { output->first = 0x2ad0; fbreak; };
1120  'csupe;' => { output->first = 0x2ad2; fbreak; };
1121  'ctdot;' => { output->first = 0x22ef; fbreak; };
1122  'cudarrl;' => { output->first = 0x2938; fbreak; };
1123  'cudarrr;' => { output->first = 0x2935; fbreak; };
1124  'cuepr;' => { output->first = 0x22de; fbreak; };
1125  'cuesc;' => { output->first = 0x22df; fbreak; };
1126  'cularr;' => { output->first = 0x21b6; fbreak; };
1127  'cularrp;' => { output->first = 0x293d; fbreak; };
1128  'cup;' => { output->first = 0x222a; fbreak; };
1129  'cupbrcap;' => { output->first = 0x2a48; fbreak; };
1130  'cupcap;' => { output->first = 0x2a46; fbreak; };
1131  'cupcup;' => { output->first = 0x2a4a; fbreak; };
1132  'cupdot;' => { output->first = 0x228d; fbreak; };
1133  'cupor;' => { output->first = 0x2a45; fbreak; };
1134  'cups;' => { output->first = 0x222a; output->second = 0xfe00; fbreak; };
1135  'curarr;' => { output->first = 0x21b7; fbreak; };
1136  'curarrm;' => { output->first = 0x293c; fbreak; };
1137  'curlyeqprec;' => { output->first = 0x22de; fbreak; };
1138  'curlyeqsucc;' => { output->first = 0x22df; fbreak; };
1139  'curlyvee;' => { output->first = 0x22ce; fbreak; };
1140  'curlywedge;' => { output->first = 0x22cf; fbreak; };
1141  'curren;' => { output->first = 0xa4; fbreak; };
1142  'curren' => { output->first = 0xa4; fbreak; };
1143  'curvearrowleft;' => { output->first = 0x21b6; fbreak; };
1144  'curvearrowright;' => { output->first = 0x21b7; fbreak; };
1145  'cuvee;' => { output->first = 0x22ce; fbreak; };
1146  'cuwed;' => { output->first = 0x22cf; fbreak; };
1147  'cwconint;' => { output->first = 0x2232; fbreak; };
1148  'cwint;' => { output->first = 0x2231; fbreak; };
1149  'cylcty;' => { output->first = 0x232d; fbreak; };
1150  'dArr;' => { output->first = 0x21d3; fbreak; };
1151  'dHar;' => { output->first = 0x2965; fbreak; };
1152  'dagger;' => { output->first = 0x2020; fbreak; };
1153  'daleth;' => { output->first = 0x2138; fbreak; };
1154  'darr;' => { output->first = 0x2193; fbreak; };
1155  'dash;' => { output->first = 0x2010; fbreak; };
1156  'dashv;' => { output->first = 0x22a3; fbreak; };
1157  'dbkarow;' => { output->first = 0x290f; fbreak; };
1158  'dblac;' => { output->first = 0x02dd; fbreak; };
1159  'dcaron;' => { output->first = 0x010f; fbreak; };
1160  'dcy;' => { output->first = 0x0434; fbreak; };
1161  'dd;' => { output->first = 0x2146; fbreak; };
1162  'ddagger;' => { output->first = 0x2021; fbreak; };
1163  'ddarr;' => { output->first = 0x21ca; fbreak; };
1164  'ddotseq;' => { output->first = 0x2a77; fbreak; };
1165  'deg;' => { output->first = 0xb0; fbreak; };
1166  'deg' => { output->first = 0xb0; fbreak; };
1167  'delta;' => { output->first = 0x03b4; fbreak; };
1168  'demptyv;' => { output->first = 0x29b1; fbreak; };
1169  'dfisht;' => { output->first = 0x297f; fbreak; };
1170  'dfr;' => { output->first = 0x0001d521; fbreak; };
1171  'dharl;' => { output->first = 0x21c3; fbreak; };
1172  'dharr;' => { output->first = 0x21c2; fbreak; };
1173  'diam;' => { output->first = 0x22c4; fbreak; };
1174  'diamond;' => { output->first = 0x22c4; fbreak; };
1175  'diamondsuit;' => { output->first = 0x2666; fbreak; };
1176  'diams;' => { output->first = 0x2666; fbreak; };
1177  'die;' => { output->first = 0xa8; fbreak; };
1178  'digamma;' => { output->first = 0x03dd; fbreak; };
1179  'disin;' => { output->first = 0x22f2; fbreak; };
1180  'div;' => { output->first = 0xf7; fbreak; };
1181  'divide;' => { output->first = 0xf7; fbreak; };
1182  'divide' => { output->first = 0xf7; fbreak; };
1183  'divideontimes;' => { output->first = 0x22c7; fbreak; };
1184  'divonx;' => { output->first = 0x22c7; fbreak; };
1185  'djcy;' => { output->first = 0x0452; fbreak; };
1186  'dlcorn;' => { output->first = 0x231e; fbreak; };
1187  'dlcrop;' => { output->first = 0x230d; fbreak; };
1188  'dollar;' => { output->first = 0x24; fbreak; };
1189  'dopf;' => { output->first = 0x0001d555; fbreak; };
1190  'dot;' => { output->first = 0x02d9; fbreak; };
1191  'doteq;' => { output->first = 0x2250; fbreak; };
1192  'doteqdot;' => { output->first = 0x2251; fbreak; };
1193  'dotminus;' => { output->first = 0x2238; fbreak; };
1194  'dotplus;' => { output->first = 0x2214; fbreak; };
1195  'dotsquare;' => { output->first = 0x22a1; fbreak; };
1196  'doublebarwedge;' => { output->first = 0x2306; fbreak; };
1197  'downarrow;' => { output->first = 0x2193; fbreak; };
1198  'downdownarrows;' => { output->first = 0x21ca; fbreak; };
1199  'downharpoonleft;' => { output->first = 0x21c3; fbreak; };
1200  'downharpoonright;' => { output->first = 0x21c2; fbreak; };
1201  'drbkarow;' => { output->first = 0x2910; fbreak; };
1202  'drcorn;' => { output->first = 0x231f; fbreak; };
1203  'drcrop;' => { output->first = 0x230c; fbreak; };
1204  'dscr;' => { output->first = 0x0001d4b9; fbreak; };
1205  'dscy;' => { output->first = 0x0455; fbreak; };
1206  'dsol;' => { output->first = 0x29f6; fbreak; };
1207  'dstrok;' => { output->first = 0x0111; fbreak; };
1208  'dtdot;' => { output->first = 0x22f1; fbreak; };
1209  'dtri;' => { output->first = 0x25bf; fbreak; };
1210  'dtrif;' => { output->first = 0x25be; fbreak; };
1211  'duarr;' => { output->first = 0x21f5; fbreak; };
1212  'duhar;' => { output->first = 0x296f; fbreak; };
1213  'dwangle;' => { output->first = 0x29a6; fbreak; };
1214  'dzcy;' => { output->first = 0x045f; fbreak; };
1215  'dzigrarr;' => { output->first = 0x27ff; fbreak; };
1216  'eDDot;' => { output->first = 0x2a77; fbreak; };
1217  'eDot;' => { output->first = 0x2251; fbreak; };
1218  'eacute;' => { output->first = 0xe9; fbreak; };
1219  'eacute' => { output->first = 0xe9; fbreak; };
1220  'easter;' => { output->first = 0x2a6e; fbreak; };
1221  'ecaron;' => { output->first = 0x011b; fbreak; };
1222  'ecir;' => { output->first = 0x2256; fbreak; };
1223  'ecirc;' => { output->first = 0xea; fbreak; };
1224  'ecirc' => { output->first = 0xea; fbreak; };
1225  'ecolon;' => { output->first = 0x2255; fbreak; };
1226  'ecy;' => { output->first = 0x044d; fbreak; };
1227  'edot;' => { output->first = 0x0117; fbreak; };
1228  'ee;' => { output->first = 0x2147; fbreak; };
1229  'efDot;' => { output->first = 0x2252; fbreak; };
1230  'efr;' => { output->first = 0x0001d522; fbreak; };
1231  'eg;' => { output->first = 0x2a9a; fbreak; };
1232  'egrave;' => { output->first = 0xe8; fbreak; };
1233  'egrave' => { output->first = 0xe8; fbreak; };
1234  'egs;' => { output->first = 0x2a96; fbreak; };
1235  'egsdot;' => { output->first = 0x2a98; fbreak; };
1236  'el;' => { output->first = 0x2a99; fbreak; };
1237  'elinters;' => { output->first = 0x23e7; fbreak; };
1238  'ell;' => { output->first = 0x2113; fbreak; };
1239  'els;' => { output->first = 0x2a95; fbreak; };
1240  'elsdot;' => { output->first = 0x2a97; fbreak; };
1241  'emacr;' => { output->first = 0x0113; fbreak; };
1242  'empty;' => { output->first = 0x2205; fbreak; };
1243  'emptyset;' => { output->first = 0x2205; fbreak; };
1244  'emptyv;' => { output->first = 0x2205; fbreak; };
1245  'emsp13;' => { output->first = 0x2004; fbreak; };
1246  'emsp14;' => { output->first = 0x2005; fbreak; };
1247  'emsp;' => { output->first = 0x2003; fbreak; };
1248  'eng;' => { output->first = 0x014b; fbreak; };
1249  'ensp;' => { output->first = 0x2002; fbreak; };
1250  'eogon;' => { output->first = 0x0119; fbreak; };
1251  'eopf;' => { output->first = 0x0001d556; fbreak; };
1252  'epar;' => { output->first = 0x22d5; fbreak; };
1253  'eparsl;' => { output->first = 0x29e3; fbreak; };
1254  'eplus;' => { output->first = 0x2a71; fbreak; };
1255  'epsi;' => { output->first = 0x03b5; fbreak; };
1256  'epsilon;' => { output->first = 0x03b5; fbreak; };
1257  'epsiv;' => { output->first = 0x03f5; fbreak; };
1258  'eqcirc;' => { output->first = 0x2256; fbreak; };
1259  'eqcolon;' => { output->first = 0x2255; fbreak; };
1260  'eqsim;' => { output->first = 0x2242; fbreak; };
1261  'eqslantgtr;' => { output->first = 0x2a96; fbreak; };
1262  'eqslantless;' => { output->first = 0x2a95; fbreak; };
1263  'equals;' => { output->first = 0x3d; fbreak; };
1264  'equest;' => { output->first = 0x225f; fbreak; };
1265  'equiv;' => { output->first = 0x2261; fbreak; };
1266  'equivDD;' => { output->first = 0x2a78; fbreak; };
1267  'eqvparsl;' => { output->first = 0x29e5; fbreak; };
1268  'erDot;' => { output->first = 0x2253; fbreak; };
1269  'erarr;' => { output->first = 0x2971; fbreak; };
1270  'escr;' => { output->first = 0x212f; fbreak; };
1271  'esdot;' => { output->first = 0x2250; fbreak; };
1272  'esim;' => { output->first = 0x2242; fbreak; };
1273  'eta;' => { output->first = 0x03b7; fbreak; };
1274  'eth;' => { output->first = 0xf0; fbreak; };
1275  'eth' => { output->first = 0xf0; fbreak; };
1276  'euml;' => { output->first = 0xeb; fbreak; };
1277  'euml' => { output->first = 0xeb; fbreak; };
1278  'euro;' => { output->first = 0x20ac; fbreak; };
1279  'excl;' => { output->first = 0x21; fbreak; };
1280  'exist;' => { output->first = 0x2203; fbreak; };
1281  'expectation;' => { output->first = 0x2130; fbreak; };
1282  'exponentiale;' => { output->first = 0x2147; fbreak; };
1283  'fallingdotseq;' => { output->first = 0x2252; fbreak; };
1284  'fcy;' => { output->first = 0x0444; fbreak; };
1285  'female;' => { output->first = 0x2640; fbreak; };
1286  'ffilig;' => { output->first = 0xfb03; fbreak; };
1287  'fflig;' => { output->first = 0xfb00; fbreak; };
1288  'ffllig;' => { output->first = 0xfb04; fbreak; };
1289  'ffr;' => { output->first = 0x0001d523; fbreak; };
1290  'filig;' => { output->first = 0xfb01; fbreak; };
1291  'fjlig;' => { output->first = 0x66; output->second = 0x6a; fbreak; };
1292  'flat;' => { output->first = 0x266d; fbreak; };
1293  'fllig;' => { output->first = 0xfb02; fbreak; };
1294  'fltns;' => { output->first = 0x25b1; fbreak; };
1295  'fnof;' => { output->first = 0x0192; fbreak; };
1296  'fopf;' => { output->first = 0x0001d557; fbreak; };
1297  'forall;' => { output->first = 0x2200; fbreak; };
1298  'fork;' => { output->first = 0x22d4; fbreak; };
1299  'forkv;' => { output->first = 0x2ad9; fbreak; };
1300  'fpartint;' => { output->first = 0x2a0d; fbreak; };
1301  'frac12;' => { output->first = 0xbd; fbreak; };
1302  'frac12' => { output->first = 0xbd; fbreak; };
1303  'frac13;' => { output->first = 0x2153; fbreak; };
1304  'frac14;' => { output->first = 0xbc; fbreak; };
1305  'frac14' => { output->first = 0xbc; fbreak; };
1306  'frac15;' => { output->first = 0x2155; fbreak; };
1307  'frac16;' => { output->first = 0x2159; fbreak; };
1308  'frac18;' => { output->first = 0x215b; fbreak; };
1309  'frac23;' => { output->first = 0x2154; fbreak; };
1310  'frac25;' => { output->first = 0x2156; fbreak; };
1311  'frac34;' => { output->first = 0xbe; fbreak; };
1312  'frac34' => { output->first = 0xbe; fbreak; };
1313  'frac35;' => { output->first = 0x2157; fbreak; };
1314  'frac38;' => { output->first = 0x215c; fbreak; };
1315  'frac45;' => { output->first = 0x2158; fbreak; };
1316  'frac56;' => { output->first = 0x215a; fbreak; };
1317  'frac58;' => { output->first = 0x215d; fbreak; };
1318  'frac78;' => { output->first = 0x215e; fbreak; };
1319  'frasl;' => { output->first = 0x2044; fbreak; };
1320  'frown;' => { output->first = 0x2322; fbreak; };
1321  'fscr;' => { output->first = 0x0001d4bb; fbreak; };
1322  'gE;' => { output->first = 0x2267; fbreak; };
1323  'gEl;' => { output->first = 0x2a8c; fbreak; };
1324  'gacute;' => { output->first = 0x01f5; fbreak; };
1325  'gamma;' => { output->first = 0x03b3; fbreak; };
1326  'gammad;' => { output->first = 0x03dd; fbreak; };
1327  'gap;' => { output->first = 0x2a86; fbreak; };
1328  'gbreve;' => { output->first = 0x011f; fbreak; };
1329  'gcirc;' => { output->first = 0x011d; fbreak; };
1330  'gcy;' => { output->first = 0x0433; fbreak; };
1331  'gdot;' => { output->first = 0x0121; fbreak; };
1332  'ge;' => { output->first = 0x2265; fbreak; };
1333  'gel;' => { output->first = 0x22db; fbreak; };
1334  'geq;' => { output->first = 0x2265; fbreak; };
1335  'geqq;' => { output->first = 0x2267; fbreak; };
1336  'geqslant;' => { output->first = 0x2a7e; fbreak; };
1337  'ges;' => { output->first = 0x2a7e; fbreak; };
1338  'gescc;' => { output->first = 0x2aa9; fbreak; };
1339  'gesdot;' => { output->first = 0x2a80; fbreak; };
1340  'gesdoto;' => { output->first = 0x2a82; fbreak; };
1341  'gesdotol;' => { output->first = 0x2a84; fbreak; };
1342  'gesl;' => { output->first = 0x22db; output->second = 0xfe00; fbreak; };
1343  'gesles;' => { output->first = 0x2a94; fbreak; };
1344  'gfr;' => { output->first = 0x0001d524; fbreak; };
1345  'gg;' => { output->first = 0x226b; fbreak; };
1346  'ggg;' => { output->first = 0x22d9; fbreak; };
1347  'gimel;' => { output->first = 0x2137; fbreak; };
1348  'gjcy;' => { output->first = 0x0453; fbreak; };
1349  'gl;' => { output->first = 0x2277; fbreak; };
1350  'glE;' => { output->first = 0x2a92; fbreak; };
1351  'gla;' => { output->first = 0x2aa5; fbreak; };
1352  'glj;' => { output->first = 0x2aa4; fbreak; };
1353  'gnE;' => { output->first = 0x2269; fbreak; };
1354  'gnap;' => { output->first = 0x2a8a; fbreak; };
1355  'gnapprox;' => { output->first = 0x2a8a; fbreak; };
1356  'gne;' => { output->first = 0x2a88; fbreak; };
1357  'gneq;' => { output->first = 0x2a88; fbreak; };
1358  'gneqq;' => { output->first = 0x2269; fbreak; };
1359  'gnsim;' => { output->first = 0x22e7; fbreak; };
1360  'gopf;' => { output->first = 0x0001d558; fbreak; };
1361  'grave;' => { output->first = 0x60; fbreak; };
1362  'gscr;' => { output->first = 0x210a; fbreak; };
1363  'gsim;' => { output->first = 0x2273; fbreak; };
1364  'gsime;' => { output->first = 0x2a8e; fbreak; };
1365  'gsiml;' => { output->first = 0x2a90; fbreak; };
1366  'gt;' => { output->first = 0x3e; fbreak; };
1367  'gt' => { output->first = 0x3e; fbreak; };
1368  'gtcc;' => { output->first = 0x2aa7; fbreak; };
1369  'gtcir;' => { output->first = 0x2a7a; fbreak; };
1370  'gtdot;' => { output->first = 0x22d7; fbreak; };
1371  'gtlPar;' => { output->first = 0x2995; fbreak; };
1372  'gtquest;' => { output->first = 0x2a7c; fbreak; };
1373  'gtrapprox;' => { output->first = 0x2a86; fbreak; };
1374  'gtrarr;' => { output->first = 0x2978; fbreak; };
1375  'gtrdot;' => { output->first = 0x22d7; fbreak; };
1376  'gtreqless;' => { output->first = 0x22db; fbreak; };
1377  'gtreqqless;' => { output->first = 0x2a8c; fbreak; };
1378  'gtrless;' => { output->first = 0x2277; fbreak; };
1379  'gtrsim;' => { output->first = 0x2273; fbreak; };
1380  'gvertneqq;' => { output->first = 0x2269; output->second = 0xfe00; fbreak; };
1381  'gvnE;' => { output->first = 0x2269; output->second = 0xfe00; fbreak; };
1382  'hArr;' => { output->first = 0x21d4; fbreak; };
1383  'hairsp;' => { output->first = 0x200a; fbreak; };
1384  'half;' => { output->first = 0xbd; fbreak; };
1385  'hamilt;' => { output->first = 0x210b; fbreak; };
1386  'hardcy;' => { output->first = 0x044a; fbreak; };
1387  'harr;' => { output->first = 0x2194; fbreak; };
1388  'harrcir;' => { output->first = 0x2948; fbreak; };
1389  'harrw;' => { output->first = 0x21ad; fbreak; };
1390  'hbar;' => { output->first = 0x210f; fbreak; };
1391  'hcirc;' => { output->first = 0x0125; fbreak; };
1392  'hearts;' => { output->first = 0x2665; fbreak; };
1393  'heartsuit;' => { output->first = 0x2665; fbreak; };
1394  'hellip;' => { output->first = 0x2026; fbreak; };
1395  'hercon;' => { output->first = 0x22b9; fbreak; };
1396  'hfr;' => { output->first = 0x0001d525; fbreak; };
1397  'hksearow;' => { output->first = 0x2925; fbreak; };
1398  'hkswarow;' => { output->first = 0x2926; fbreak; };
1399  'hoarr;' => { output->first = 0x21ff; fbreak; };
1400  'homtht;' => { output->first = 0x223b; fbreak; };
1401  'hookleftarrow;' => { output->first = 0x21a9; fbreak; };
1402  'hookrightarrow;' => { output->first = 0x21aa; fbreak; };
1403  'hopf;' => { output->first = 0x0001d559; fbreak; };
1404  'horbar;' => { output->first = 0x2015; fbreak; };
1405  'hscr;' => { output->first = 0x0001d4bd; fbreak; };
1406  'hslash;' => { output->first = 0x210f; fbreak; };
1407  'hstrok;' => { output->first = 0x0127; fbreak; };
1408  'hybull;' => { output->first = 0x2043; fbreak; };
1409  'hyphen;' => { output->first = 0x2010; fbreak; };
1410  'iacute;' => { output->first = 0xed; fbreak; };
1411  'iacute' => { output->first = 0xed; fbreak; };
1412  'ic;' => { output->first = 0x2063; fbreak; };
1413  'icirc;' => { output->first = 0xee; fbreak; };
1414  'icirc' => { output->first = 0xee; fbreak; };
1415  'icy;' => { output->first = 0x0438; fbreak; };
1416  'iecy;' => { output->first = 0x0435; fbreak; };
1417  'iexcl;' => { output->first = 0xa1; fbreak; };
1418  'iexcl' => { output->first = 0xa1; fbreak; };
1419  'iff;' => { output->first = 0x21d4; fbreak; };
1420  'ifr;' => { output->first = 0x0001d526; fbreak; };
1421  'igrave;' => { output->first = 0xec; fbreak; };
1422  'igrave' => { output->first = 0xec; fbreak; };
1423  'ii;' => { output->first = 0x2148; fbreak; };
1424  'iiiint;' => { output->first = 0x2a0c; fbreak; };
1425  'iiint;' => { output->first = 0x222d; fbreak; };
1426  'iinfin;' => { output->first = 0x29dc; fbreak; };
1427  'iiota;' => { output->first = 0x2129; fbreak; };
1428  'ijlig;' => { output->first = 0x0133; fbreak; };
1429  'imacr;' => { output->first = 0x012b; fbreak; };
1430  'image;' => { output->first = 0x2111; fbreak; };
1431  'imagline;' => { output->first = 0x2110; fbreak; };
1432  'imagpart;' => { output->first = 0x2111; fbreak; };
1433  'imath;' => { output->first = 0x0131; fbreak; };
1434  'imof;' => { output->first = 0x22b7; fbreak; };
1435  'imped;' => { output->first = 0x01b5; fbreak; };
1436  'in;' => { output->first = 0x2208; fbreak; };
1437  'incare;' => { output->first = 0x2105; fbreak; };
1438  'infin;' => { output->first = 0x221e; fbreak; };
1439  'infintie;' => { output->first = 0x29dd; fbreak; };
1440  'inodot;' => { output->first = 0x0131; fbreak; };
1441  'int;' => { output->first = 0x222b; fbreak; };
1442  'intcal;' => { output->first = 0x22ba; fbreak; };
1443  'integers;' => { output->first = 0x2124; fbreak; };
1444  'intercal;' => { output->first = 0x22ba; fbreak; };
1445  'intlarhk;' => { output->first = 0x2a17; fbreak; };
1446  'intprod;' => { output->first = 0x2a3c; fbreak; };
1447  'iocy;' => { output->first = 0x0451; fbreak; };
1448  'iogon;' => { output->first = 0x012f; fbreak; };
1449  'iopf;' => { output->first = 0x0001d55a; fbreak; };
1450  'iota;' => { output->first = 0x03b9; fbreak; };
1451  'iprod;' => { output->first = 0x2a3c; fbreak; };
1452  'iquest;' => { output->first = 0xbf; fbreak; };
1453  'iquest' => { output->first = 0xbf; fbreak; };
1454  'iscr;' => { output->first = 0x0001d4be; fbreak; };
1455  'isin;' => { output->first = 0x2208; fbreak; };
1456  'isinE;' => { output->first = 0x22f9; fbreak; };
1457  'isindot;' => { output->first = 0x22f5; fbreak; };
1458  'isins;' => { output->first = 0x22f4; fbreak; };
1459  'isinsv;' => { output->first = 0x22f3; fbreak; };
1460  'isinv;' => { output->first = 0x2208; fbreak; };
1461  'it;' => { output->first = 0x2062; fbreak; };
1462  'itilde;' => { output->first = 0x0129; fbreak; };
1463  'iukcy;' => { output->first = 0x0456; fbreak; };
1464  'iuml;' => { output->first = 0xef; fbreak; };
1465  'iuml' => { output->first = 0xef; fbreak; };
1466  'jcirc;' => { output->first = 0x0135; fbreak; };
1467  'jcy;' => { output->first = 0x0439; fbreak; };
1468  'jfr;' => { output->first = 0x0001d527; fbreak; };
1469  'jmath;' => { output->first = 0x0237; fbreak; };
1470  'jopf;' => { output->first = 0x0001d55b; fbreak; };
1471  'jscr;' => { output->first = 0x0001d4bf; fbreak; };
1472  'jsercy;' => { output->first = 0x0458; fbreak; };
1473  'jukcy;' => { output->first = 0x0454; fbreak; };
1474  'kappa;' => { output->first = 0x03ba; fbreak; };
1475  'kappav;' => { output->first = 0x03f0; fbreak; };
1476  'kcedil;' => { output->first = 0x0137; fbreak; };
1477  'kcy;' => { output->first = 0x043a; fbreak; };
1478  'kfr;' => { output->first = 0x0001d528; fbreak; };
1479  'kgreen;' => { output->first = 0x0138; fbreak; };
1480  'khcy;' => { output->first = 0x0445; fbreak; };
1481  'kjcy;' => { output->first = 0x045c; fbreak; };
1482  'kopf;' => { output->first = 0x0001d55c; fbreak; };
1483  'kscr;' => { output->first = 0x0001d4c0; fbreak; };
1484  'lAarr;' => { output->first = 0x21da; fbreak; };
1485  'lArr;' => { output->first = 0x21d0; fbreak; };
1486  'lAtail;' => { output->first = 0x291b; fbreak; };
1487  'lBarr;' => { output->first = 0x290e; fbreak; };
1488  'lE;' => { output->first = 0x2266; fbreak; };
1489  'lEg;' => { output->first = 0x2a8b; fbreak; };
1490  'lHar;' => { output->first = 0x2962; fbreak; };
1491  'lacute;' => { output->first = 0x013a; fbreak; };
1492  'laemptyv;' => { output->first = 0x29b4; fbreak; };
1493  'lagran;' => { output->first = 0x2112; fbreak; };
1494  'lambda;' => { output->first = 0x03bb; fbreak; };
1495  'lang;' => { output->first = 0x27e8; fbreak; };
1496  'langd;' => { output->first = 0x2991; fbreak; };
1497  'langle;' => { output->first = 0x27e8; fbreak; };
1498  'lap;' => { output->first = 0x2a85; fbreak; };
1499  'laquo;' => { output->first = 0xab; fbreak; };
1500  'laquo' => { output->first = 0xab; fbreak; };
1501  'larr;' => { output->first = 0x2190; fbreak; };
1502  'larrb;' => { output->first = 0x21e4; fbreak; };
1503  'larrbfs;' => { output->first = 0x291f; fbreak; };
1504  'larrfs;' => { output->first = 0x291d; fbreak; };
1505  'larrhk;' => { output->first = 0x21a9; fbreak; };
1506  'larrlp;' => { output->first = 0x21ab; fbreak; };
1507  'larrpl;' => { output->first = 0x2939; fbreak; };
1508  'larrsim;' => { output->first = 0x2973; fbreak; };
1509  'larrtl;' => { output->first = 0x21a2; fbreak; };
1510  'lat;' => { output->first = 0x2aab; fbreak; };
1511  'latail;' => { output->first = 0x2919; fbreak; };
1512  'late;' => { output->first = 0x2aad; fbreak; };
1513  'lates;' => { output->first = 0x2aad; output->second = 0xfe00; fbreak; };
1514  'lbarr;' => { output->first = 0x290c; fbreak; };
1515  'lbbrk;' => { output->first = 0x2772; fbreak; };
1516  'lbrace;' => { output->first = 0x7b; fbreak; };
1517  'lbrack;' => { output->first = 0x5b; fbreak; };
1518  'lbrke;' => { output->first = 0x298b; fbreak; };
1519  'lbrksld;' => { output->first = 0x298f; fbreak; };
1520  'lbrkslu;' => { output->first = 0x298d; fbreak; };
1521  'lcaron;' => { output->first = 0x013e; fbreak; };
1522  'lcedil;' => { output->first = 0x013c; fbreak; };
1523  'lceil;' => { output->first = 0x2308; fbreak; };
1524  'lcub;' => { output->first = 0x7b; fbreak; };
1525  'lcy;' => { output->first = 0x043b; fbreak; };
1526  'ldca;' => { output->first = 0x2936; fbreak; };
1527  'ldquo;' => { output->first = 0x201c; fbreak; };
1528  'ldquor;' => { output->first = 0x201e; fbreak; };
1529  'ldrdhar;' => { output->first = 0x2967; fbreak; };
1530  'ldrushar;' => { output->first = 0x294b; fbreak; };
1531  'ldsh;' => { output->first = 0x21b2; fbreak; };
1532  'le;' => { output->first = 0x2264; fbreak; };
1533  'leftarrow;' => { output->first = 0x2190; fbreak; };
1534  'leftarrowtail;' => { output->first = 0x21a2; fbreak; };
1535  'leftharpoondown;' => { output->first = 0x21bd; fbreak; };
1536  'leftharpoonup;' => { output->first = 0x21bc; fbreak; };
1537  'leftleftarrows;' => { output->first = 0x21c7; fbreak; };
1538  'leftrightarrow;' => { output->first = 0x2194; fbreak; };
1539  'leftrightarrows;' => { output->first = 0x21c6; fbreak; };
1540  'leftrightharpoons;' => { output->first = 0x21cb; fbreak; };
1541  'leftrightsquigarrow;' => { output->first = 0x21ad; fbreak; };
1542  'leftthreetimes;' => { output->first = 0x22cb; fbreak; };
1543  'leg;' => { output->first = 0x22da; fbreak; };
1544  'leq;' => { output->first = 0x2264; fbreak; };
1545  'leqq;' => { output->first = 0x2266; fbreak; };
1546  'leqslant;' => { output->first = 0x2a7d; fbreak; };
1547  'les;' => { output->first = 0x2a7d; fbreak; };
1548  'lescc;' => { output->first = 0x2aa8; fbreak; };
1549  'lesdot;' => { output->first = 0x2a7f; fbreak; };
1550  'lesdoto;' => { output->first = 0x2a81; fbreak; };
1551  'lesdotor;' => { output->first = 0x2a83; fbreak; };
1552  'lesg;' => { output->first = 0x22da; output->second = 0xfe00; fbreak; };
1553  'lesges;' => { output->first = 0x2a93; fbreak; };
1554  'lessapprox;' => { output->first = 0x2a85; fbreak; };
1555  'lessdot;' => { output->first = 0x22d6; fbreak; };
1556  'lesseqgtr;' => { output->first = 0x22da; fbreak; };
1557  'lesseqqgtr;' => { output->first = 0x2a8b; fbreak; };
1558  'lessgtr;' => { output->first = 0x2276; fbreak; };
1559  'lesssim;' => { output->first = 0x2272; fbreak; };
1560  'lfisht;' => { output->first = 0x297c; fbreak; };
1561  'lfloor;' => { output->first = 0x230a; fbreak; };
1562  'lfr;' => { output->first = 0x0001d529; fbreak; };
1563  'lg;' => { output->first = 0x2276; fbreak; };
1564  'lgE;' => { output->first = 0x2a91; fbreak; };
1565  'lhard;' => { output->first = 0x21bd; fbreak; };
1566  'lharu;' => { output->first = 0x21bc; fbreak; };
1567  'lharul;' => { output->first = 0x296a; fbreak; };
1568  'lhblk;' => { output->first = 0x2584; fbreak; };
1569  'ljcy;' => { output->first = 0x0459; fbreak; };
1570  'll;' => { output->first = 0x226a; fbreak; };
1571  'llarr;' => { output->first = 0x21c7; fbreak; };
1572  'llcorner;' => { output->first = 0x231e; fbreak; };
1573  'llhard;' => { output->first = 0x296b; fbreak; };
1574  'lltri;' => { output->first = 0x25fa; fbreak; };
1575  'lmidot;' => { output->first = 0x0140; fbreak; };
1576  'lmoust;' => { output->first = 0x23b0; fbreak; };
1577  'lmoustache;' => { output->first = 0x23b0; fbreak; };
1578  'lnE;' => { output->first = 0x2268; fbreak; };
1579  'lnap;' => { output->first = 0x2a89; fbreak; };
1580  'lnapprox;' => { output->first = 0x2a89; fbreak; };
1581  'lne;' => { output->first = 0x2a87; fbreak; };
1582  'lneq;' => { output->first = 0x2a87; fbreak; };
1583  'lneqq;' => { output->first = 0x2268; fbreak; };
1584  'lnsim;' => { output->first = 0x22e6; fbreak; };
1585  'loang;' => { output->first = 0x27ec; fbreak; };
1586  'loarr;' => { output->first = 0x21fd; fbreak; };
1587  'lobrk;' => { output->first = 0x27e6; fbreak; };
1588  'longleftarrow;' => { output->first = 0x27f5; fbreak; };
1589  'longleftrightarrow;' => { output->first = 0x27f7; fbreak; };
1590  'longmapsto;' => { output->first = 0x27fc; fbreak; };
1591  'longrightarrow;' => { output->first = 0x27f6; fbreak; };
1592  'looparrowleft;' => { output->first = 0x21ab; fbreak; };
1593  'looparrowright;' => { output->first = 0x21ac; fbreak; };
1594  'lopar;' => { output->first = 0x2985; fbreak; };
1595  'lopf;' => { output->first = 0x0001d55d; fbreak; };
1596  'loplus;' => { output->first = 0x2a2d; fbreak; };
1597  'lotimes;' => { output->first = 0x2a34; fbreak; };
1598  'lowast;' => { output->first = 0x2217; fbreak; };
1599  'lowbar;' => { output->first = 0x5f; fbreak; };
1600  'loz;' => { output->first = 0x25ca; fbreak; };
1601  'lozenge;' => { output->first = 0x25ca; fbreak; };
1602  'lozf;' => { output->first = 0x29eb; fbreak; };
1603  'lpar;' => { output->first = 0x28; fbreak; };
1604  'lparlt;' => { output->first = 0x2993; fbreak; };
1605  'lrarr;' => { output->first = 0x21c6; fbreak; };
1606  'lrcorner;' => { output->first = 0x231f; fbreak; };
1607  'lrhar;' => { output->first = 0x21cb; fbreak; };
1608  'lrhard;' => { output->first = 0x296d; fbreak; };
1609  'lrm;' => { output->first = 0x200e; fbreak; };
1610  'lrtri;' => { output->first = 0x22bf; fbreak; };
1611  'lsaquo;' => { output->first = 0x2039; fbreak; };
1612  'lscr;' => { output->first = 0x0001d4c1; fbreak; };
1613  'lsh;' => { output->first = 0x21b0; fbreak; };
1614  'lsim;' => { output->first = 0x2272; fbreak; };
1615  'lsime;' => { output->first = 0x2a8d; fbreak; };
1616  'lsimg;' => { output->first = 0x2a8f; fbreak; };
1617  'lsqb;' => { output->first = 0x5b; fbreak; };
1618  'lsquo;' => { output->first = 0x2018; fbreak; };
1619  'lsquor;' => { output->first = 0x201a; fbreak; };
1620  'lstrok;' => { output->first = 0x0142; fbreak; };
1621  'lt;' => { output->first = 0x3c; fbreak; };
1622  'lt' => { output->first = 0x3c; fbreak; };
1623  'ltcc;' => { output->first = 0x2aa6; fbreak; };
1624  'ltcir;' => { output->first = 0x2a79; fbreak; };
1625  'ltdot;' => { output->first = 0x22d6; fbreak; };
1626  'lthree;' => { output->first = 0x22cb; fbreak; };
1627  'ltimes;' => { output->first = 0x22c9; fbreak; };
1628  'ltlarr;' => { output->first = 0x2976; fbreak; };
1629  'ltquest;' => { output->first = 0x2a7b; fbreak; };
1630  'ltrPar;' => { output->first = 0x2996; fbreak; };
1631  'ltri;' => { output->first = 0x25c3; fbreak; };
1632  'ltrie;' => { output->first = 0x22b4; fbreak; };
1633  'ltrif;' => { output->first = 0x25c2; fbreak; };
1634  'lurdshar;' => { output->first = 0x294a; fbreak; };
1635  'luruhar;' => { output->first = 0x2966; fbreak; };
1636  'lvertneqq;' => { output->first = 0x2268; output->second = 0xfe00; fbreak; };
1637  'lvnE;' => { output->first = 0x2268; output->second = 0xfe00; fbreak; };
1638  'mDDot;' => { output->first = 0x223a; fbreak; };
1639  'macr;' => { output->first = 0xaf; fbreak; };
1640  'macr' => { output->first = 0xaf; fbreak; };
1641  'male;' => { output->first = 0x2642; fbreak; };
1642  'malt;' => { output->first = 0x2720; fbreak; };
1643  'maltese;' => { output->first = 0x2720; fbreak; };
1644  'map;' => { output->first = 0x21a6; fbreak; };
1645  'mapsto;' => { output->first = 0x21a6; fbreak; };
1646  'mapstodown;' => { output->first = 0x21a7; fbreak; };
1647  'mapstoleft;' => { output->first = 0x21a4; fbreak; };
1648  'mapstoup;' => { output->first = 0x21a5; fbreak; };
1649  'marker;' => { output->first = 0x25ae; fbreak; };
1650  'mcomma;' => { output->first = 0x2a29; fbreak; };
1651  'mcy;' => { output->first = 0x043c; fbreak; };
1652  'mdash;' => { output->first = 0x2014; fbreak; };
1653  'measuredangle;' => { output->first = 0x2221; fbreak; };
1654  'mfr;' => { output->first = 0x0001d52a; fbreak; };
1655  'mho;' => { output->first = 0x2127; fbreak; };
1656  'micro;' => { output->first = 0xb5; fbreak; };
1657  'micro' => { output->first = 0xb5; fbreak; };
1658  'mid;' => { output->first = 0x2223; fbreak; };
1659  'midast;' => { output->first = 0x2a; fbreak; };
1660  'midcir;' => { output->first = 0x2af0; fbreak; };
1661  'middot;' => { output->first = 0xb7; fbreak; };
1662  'middot' => { output->first = 0xb7; fbreak; };
1663  'minus;' => { output->first = 0x2212; fbreak; };
1664  'minusb;' => { output->first = 0x229f; fbreak; };
1665  'minusd;' => { output->first = 0x2238; fbreak; };
1666  'minusdu;' => { output->first = 0x2a2a; fbreak; };
1667  'mlcp;' => { output->first = 0x2adb; fbreak; };
1668  'mldr;' => { output->first = 0x2026; fbreak; };
1669  'mnplus;' => { output->first = 0x2213; fbreak; };
1670  'models;' => { output->first = 0x22a7; fbreak; };
1671  'mopf;' => { output->first = 0x0001d55e; fbreak; };
1672  'mp;' => { output->first = 0x2213; fbreak; };
1673  'mscr;' => { output->first = 0x0001d4c2; fbreak; };
1674  'mstpos;' => { output->first = 0x223e; fbreak; };
1675  'mu;' => { output->first = 0x03bc; fbreak; };
1676  'multimap;' => { output->first = 0x22b8; fbreak; };
1677  'mumap;' => { output->first = 0x22b8; fbreak; };
1678  'nGg;' => { output->first = 0x22d9; output->second = 0x0338; fbreak; };
1679  'nGt;' => { output->first = 0x226b; output->second = 0x20d2; fbreak; };
1680  'nGtv;' => { output->first = 0x226b; output->second = 0x0338; fbreak; };
1681  'nLeftarrow;' => { output->first = 0x21cd; fbreak; };
1682  'nLeftrightarrow;' => { output->first = 0x21ce; fbreak; };
1683  'nLl;' => { output->first = 0x22d8; output->second = 0x0338; fbreak; };
1684  'nLt;' => { output->first = 0x226a; output->second = 0x20d2; fbreak; };
1685  'nLtv;' => { output->first = 0x226a; output->second = 0x0338; fbreak; };
1686  'nRightarrow;' => { output->first = 0x21cf; fbreak; };
1687  'nVDash;' => { output->first = 0x22af; fbreak; };
1688  'nVdash;' => { output->first = 0x22ae; fbreak; };
1689  'nabla;' => { output->first = 0x2207; fbreak; };
1690  'nacute;' => { output->first = 0x0144; fbreak; };
1691  'nang;' => { output->first = 0x2220; output->second = 0x20d2; fbreak; };
1692  'nap;' => { output->first = 0x2249; fbreak; };
1693  'napE;' => { output->first = 0x2a70; output->second = 0x0338; fbreak; };
1694  'napid;' => { output->first = 0x224b; output->second = 0x0338; fbreak; };
1695  'napos;' => { output->first = 0x0149; fbreak; };
1696  'napprox;' => { output->first = 0x2249; fbreak; };
1697  'natur;' => { output->first = 0x266e; fbreak; };
1698  'natural;' => { output->first = 0x266e; fbreak; };
1699  'naturals;' => { output->first = 0x2115; fbreak; };
1700  'nbsp;' => { output->first = 0xa0; fbreak; };
1701  'nbsp' => { output->first = 0xa0; fbreak; };
1702  'nbump;' => { output->first = 0x224e; output->second = 0x0338; fbreak; };
1703  'nbumpe;' => { output->first = 0x224f; output->second = 0x0338; fbreak; };
1704  'ncap;' => { output->first = 0x2a43; fbreak; };
1705  'ncaron;' => { output->first = 0x0148; fbreak; };
1706  'ncedil;' => { output->first = 0x0146; fbreak; };
1707  'ncong;' => { output->first = 0x2247; fbreak; };
1708  'ncongdot;' => { output->first = 0x2a6d; output->second = 0x0338; fbreak; };
1709  'ncup;' => { output->first = 0x2a42; fbreak; };
1710  'ncy;' => { output->first = 0x043d; fbreak; };
1711  'ndash;' => { output->first = 0x2013; fbreak; };
1712  'ne;' => { output->first = 0x2260; fbreak; };
1713  'neArr;' => { output->first = 0x21d7; fbreak; };
1714  'nearhk;' => { output->first = 0x2924; fbreak; };
1715  'nearr;' => { output->first = 0x2197; fbreak; };
1716  'nearrow;' => { output->first = 0x2197; fbreak; };
1717  'nedot;' => { output->first = 0x2250; output->second = 0x0338; fbreak; };
1718  'nequiv;' => { output->first = 0x2262; fbreak; };
1719  'nesear;' => { output->first = 0x2928; fbreak; };
1720  'nesim;' => { output->first = 0x2242; output->second = 0x0338; fbreak; };
1721  'nexist;' => { output->first = 0x2204; fbreak; };
1722  'nexists;' => { output->first = 0x2204; fbreak; };
1723  'nfr;' => { output->first = 0x0001d52b; fbreak; };
1724  'ngE;' => { output->first = 0x2267; output->second = 0x0338; fbreak; };
1725  'nge;' => { output->first = 0x2271; fbreak; };
1726  'ngeq;' => { output->first = 0x2271; fbreak; };
1727  'ngeqq;' => { output->first = 0x2267; output->second = 0x0338; fbreak; };
1728  'ngeqslant;' => { output->first = 0x2a7e; output->second = 0x0338; fbreak; };
1729  'nges;' => { output->first = 0x2a7e; output->second = 0x0338; fbreak; };
1730  'ngsim;' => { output->first = 0x2275; fbreak; };
1731  'ngt;' => { output->first = 0x226f; fbreak; };
1732  'ngtr;' => { output->first = 0x226f; fbreak; };
1733  'nhArr;' => { output->first = 0x21ce; fbreak; };
1734  'nharr;' => { output->first = 0x21ae; fbreak; };
1735  'nhpar;' => { output->first = 0x2af2; fbreak; };
1736  'ni;' => { output->first = 0x220b; fbreak; };
1737  'nis;' => { output->first = 0x22fc; fbreak; };
1738  'nisd;' => { output->first = 0x22fa; fbreak; };
1739  'niv;' => { output->first = 0x220b; fbreak; };
1740  'njcy;' => { output->first = 0x045a; fbreak; };
1741  'nlArr;' => { output->first = 0x21cd; fbreak; };
1742  'nlE;' => { output->first = 0x2266; output->second = 0x0338; fbreak; };
1743  'nlarr;' => { output->first = 0x219a; fbreak; };
1744  'nldr;' => { output->first = 0x2025; fbreak; };
1745  'nle;' => { output->first = 0x2270; fbreak; };
1746  'nleftarrow;' => { output->first = 0x219a; fbreak; };
1747  'nleftrightarrow;' => { output->first = 0x21ae; fbreak; };
1748  'nleq;' => { output->first = 0x2270; fbreak; };
1749  'nleqq;' => { output->first = 0x2266; output->second = 0x0338; fbreak; };
1750  'nleqslant;' => { output->first = 0x2a7d; output->second = 0x0338; fbreak; };
1751  'nles;' => { output->first = 0x2a7d; output->second = 0x0338; fbreak; };
1752  'nless;' => { output->first = 0x226e; fbreak; };
1753  'nlsim;' => { output->first = 0x2274; fbreak; };
1754  'nlt;' => { output->first = 0x226e; fbreak; };
1755  'nltri;' => { output->first = 0x22ea; fbreak; };
1756  'nltrie;' => { output->first = 0x22ec; fbreak; };
1757  'nmid;' => { output->first = 0x2224; fbreak; };
1758  'nopf;' => { output->first = 0x0001d55f; fbreak; };
1759  'not;' => { output->first = 0xac; fbreak; };
1760  'notin;' => { output->first = 0x2209; fbreak; };
1761  'notinE;' => { output->first = 0x22f9; output->second = 0x0338; fbreak; };
1762  'notindot;' => { output->first = 0x22f5; output->second = 0x0338; fbreak; };
1763  'notinva;' => { output->first = 0x2209; fbreak; };
1764  'notinvb;' => { output->first = 0x22f7; fbreak; };
1765  'notinvc;' => { output->first = 0x22f6; fbreak; };
1766  'notni;' => { output->first = 0x220c; fbreak; };
1767  'notniva;' => { output->first = 0x220c; fbreak; };
1768  'notnivb;' => { output->first = 0x22fe; fbreak; };
1769  'notnivc;' => { output->first = 0x22fd; fbreak; };
1770  'not' => { output->first = 0xac; fbreak; };
1771  'npar;' => { output->first = 0x2226; fbreak; };
1772  'nparallel;' => { output->first = 0x2226; fbreak; };
1773  'nparsl;' => { output->first = 0x2afd; output->second = 0x20e5; fbreak; };
1774  'npart;' => { output->first = 0x2202; output->second = 0x0338; fbreak; };
1775  'npolint;' => { output->first = 0x2a14; fbreak; };
1776  'npr;' => { output->first = 0x2280; fbreak; };
1777  'nprcue;' => { output->first = 0x22e0; fbreak; };
1778  'npre;' => { output->first = 0x2aaf; output->second = 0x0338; fbreak; };
1779  'nprec;' => { output->first = 0x2280; fbreak; };
1780  'npreceq;' => { output->first = 0x2aaf; output->second = 0x0338; fbreak; };
1781  'nrArr;' => { output->first = 0x21cf; fbreak; };
1782  'nrarr;' => { output->first = 0x219b; fbreak; };
1783  'nrarrc;' => { output->first = 0x2933; output->second = 0x0338; fbreak; };
1784  'nrarrw;' => { output->first = 0x219d; output->second = 0x0338; fbreak; };
1785  'nrightarrow;' => { output->first = 0x219b; fbreak; };
1786  'nrtri;' => { output->first = 0x22eb; fbreak; };
1787  'nrtrie;' => { output->first = 0x22ed; fbreak; };
1788  'nsc;' => { output->first = 0x2281; fbreak; };
1789  'nsccue;' => { output->first = 0x22e1; fbreak; };
1790  'nsce;' => { output->first = 0x2ab0; output->second = 0x0338; fbreak; };
1791  'nscr;' => { output->first = 0x0001d4c3; fbreak; };
1792  'nshortmid;' => { output->first = 0x2224; fbreak; };
1793  'nshortparallel;' => { output->first = 0x2226; fbreak; };
1794  'nsim;' => { output->first = 0x2241; fbreak; };
1795  'nsime;' => { output->first = 0x2244; fbreak; };
1796  'nsimeq;' => { output->first = 0x2244; fbreak; };
1797  'nsmid;' => { output->first = 0x2224; fbreak; };
1798  'nspar;' => { output->first = 0x2226; fbreak; };
1799  'nsqsube;' => { output->first = 0x22e2; fbreak; };
1800  'nsqsupe;' => { output->first = 0x22e3; fbreak; };
1801  'nsub;' => { output->first = 0x2284; fbreak; };
1802  'nsubE;' => { output->first = 0x2ac5; output->second = 0x0338; fbreak; };
1803  'nsube;' => { output->first = 0x2288; fbreak; };
1804  'nsubset;' => { output->first = 0x2282; output->second = 0x20d2; fbreak; };
1805  'nsubseteq;' => { output->first = 0x2288; fbreak; };
1806  'nsubseteqq;' => { output->first = 0x2ac5; output->second = 0x0338; fbreak; };
1807  'nsucc;' => { output->first = 0x2281; fbreak; };
1808  'nsucceq;' => { output->first = 0x2ab0; output->second = 0x0338; fbreak; };
1809  'nsup;' => { output->first = 0x2285; fbreak; };
1810  'nsupE;' => { output->first = 0x2ac6; output->second = 0x0338; fbreak; };
1811  'nsupe;' => { output->first = 0x2289; fbreak; };
1812  'nsupset;' => { output->first = 0x2283; output->second = 0x20d2; fbreak; };
1813  'nsupseteq;' => { output->first = 0x2289; fbreak; };
1814  'nsupseteqq;' => { output->first = 0x2ac6; output->second = 0x0338; fbreak; };
1815  'ntgl;' => { output->first = 0x2279; fbreak; };
1816  'ntilde;' => { output->first = 0xf1; fbreak; };
1817  'ntilde' => { output->first = 0xf1; fbreak; };
1818  'ntlg;' => { output->first = 0x2278; fbreak; };
1819  'ntriangleleft;' => { output->first = 0x22ea; fbreak; };
1820  'ntrianglelefteq;' => { output->first = 0x22ec; fbreak; };
1821  'ntriangleright;' => { output->first = 0x22eb; fbreak; };
1822  'ntrianglerighteq;' => { output->first = 0x22ed; fbreak; };
1823  'nu;' => { output->first = 0x03bd; fbreak; };
1824  'num;' => { output->first = 0x23; fbreak; };
1825  'numero;' => { output->first = 0x2116; fbreak; };
1826  'numsp;' => { output->first = 0x2007; fbreak; };
1827  'nvDash;' => { output->first = 0x22ad; fbreak; };
1828  'nvHarr;' => { output->first = 0x2904; fbreak; };
1829  'nvap;' => { output->first = 0x224d; output->second = 0x20d2; fbreak; };
1830  'nvdash;' => { output->first = 0x22ac; fbreak; };
1831  'nvge;' => { output->first = 0x2265; output->second = 0x20d2; fbreak; };
1832  'nvgt;' => { output->first = 0x3e; output->second = 0x20d2; fbreak; };
1833  'nvinfin;' => { output->first = 0x29de; fbreak; };
1834  'nvlArr;' => { output->first = 0x2902; fbreak; };
1835  'nvle;' => { output->first = 0x2264; output->second = 0x20d2; fbreak; };
1836  'nvlt;' => { output->first = 0x3c; output->second = 0x20d2; fbreak; };
1837  'nvltrie;' => { output->first = 0x22b4; output->second = 0x20d2; fbreak; };
1838  'nvrArr;' => { output->first = 0x2903; fbreak; };
1839  'nvrtrie;' => { output->first = 0x22b5; output->second = 0x20d2; fbreak; };
1840  'nvsim;' => { output->first = 0x223c; output->second = 0x20d2; fbreak; };
1841  'nwArr;' => { output->first = 0x21d6; fbreak; };
1842  'nwarhk;' => { output->first = 0x2923; fbreak; };
1843  'nwarr;' => { output->first = 0x2196; fbreak; };
1844  'nwarrow;' => { output->first = 0x2196; fbreak; };
1845  'nwnear;' => { output->first = 0x2927; fbreak; };
1846  'oS;' => { output->first = 0x24c8; fbreak; };
1847  'oacute;' => { output->first = 0xf3; fbreak; };
1848  'oacute' => { output->first = 0xf3; fbreak; };
1849  'oast;' => { output->first = 0x229b; fbreak; };
1850  'ocir;' => { output->first = 0x229a; fbreak; };
1851  'ocirc;' => { output->first = 0xf4; fbreak; };
1852  'ocirc' => { output->first = 0xf4; fbreak; };
1853  'ocy;' => { output->first = 0x043e; fbreak; };
1854  'odash;' => { output->first = 0x229d; fbreak; };
1855  'odblac;' => { output->first = 0x0151; fbreak; };
1856  'odiv;' => { output->first = 0x2a38; fbreak; };
1857  'odot;' => { output->first = 0x2299; fbreak; };
1858  'odsold;' => { output->first = 0x29bc; fbreak; };
1859  'oelig;' => { output->first = 0x0153; fbreak; };
1860  'ofcir;' => { output->first = 0x29bf; fbreak; };
1861  'ofr;' => { output->first = 0x0001d52c; fbreak; };
1862  'ogon;' => { output->first = 0x02db; fbreak; };
1863  'ograve;' => { output->first = 0xf2; fbreak; };
1864  'ograve' => { output->first = 0xf2; fbreak; };
1865  'ogt;' => { output->first = 0x29c1; fbreak; };
1866  'ohbar;' => { output->first = 0x29b5; fbreak; };
1867  'ohm;' => { output->first = 0x03a9; fbreak; };
1868  'oint;' => { output->first = 0x222e; fbreak; };
1869  'olarr;' => { output->first = 0x21ba; fbreak; };
1870  'olcir;' => { output->first = 0x29be; fbreak; };
1871  'olcross;' => { output->first = 0x29bb; fbreak; };
1872  'oline;' => { output->first = 0x203e; fbreak; };
1873  'olt;' => { output->first = 0x29c0; fbreak; };
1874  'omacr;' => { output->first = 0x014d; fbreak; };
1875  'omega;' => { output->first = 0x03c9; fbreak; };
1876  'omicron;' => { output->first = 0x03bf; fbreak; };
1877  'omid;' => { output->first = 0x29b6; fbreak; };
1878  'ominus;' => { output->first = 0x2296; fbreak; };
1879  'oopf;' => { output->first = 0x0001d560; fbreak; };
1880  'opar;' => { output->first = 0x29b7; fbreak; };
1881  'operp;' => { output->first = 0x29b9; fbreak; };
1882  'oplus;' => { output->first = 0x2295; fbreak; };
1883  'or;' => { output->first = 0x2228; fbreak; };
1884  'orarr;' => { output->first = 0x21bb; fbreak; };
1885  'ord;' => { output->first = 0x2a5d; fbreak; };
1886  'order;' => { output->first = 0x2134; fbreak; };
1887  'orderof;' => { output->first = 0x2134; fbreak; };
1888  'ordf;' => { output->first = 0xaa; fbreak; };
1889  'ordf' => { output->first = 0xaa; fbreak; };
1890  'ordm;' => { output->first = 0xba; fbreak; };
1891  'ordm' => { output->first = 0xba; fbreak; };
1892  'origof;' => { output->first = 0x22b6; fbreak; };
1893  'oror;' => { output->first = 0x2a56; fbreak; };
1894  'orslope;' => { output->first = 0x2a57; fbreak; };
1895  'orv;' => { output->first = 0x2a5b; fbreak; };
1896  'oscr;' => { output->first = 0x2134; fbreak; };
1897  'oslash;' => { output->first = 0xf8; fbreak; };
1898  'oslash' => { output->first = 0xf8; fbreak; };
1899  'osol;' => { output->first = 0x2298; fbreak; };
1900  'otilde;' => { output->first = 0xf5; fbreak; };
1901  'otilde' => { output->first = 0xf5; fbreak; };
1902  'otimes;' => { output->first = 0x2297; fbreak; };
1903  'otimesas;' => { output->first = 0x2a36; fbreak; };
1904  'ouml;' => { output->first = 0xf6; fbreak; };
1905  'ouml' => { output->first = 0xf6; fbreak; };
1906  'ovbar;' => { output->first = 0x233d; fbreak; };
1907  'par;' => { output->first = 0x2225; fbreak; };
1908  'para;' => { output->first = 0xb6; fbreak; };
1909  'para' => { output->first = 0xb6; fbreak; };
1910  'parallel;' => { output->first = 0x2225; fbreak; };
1911  'parsim;' => { output->first = 0x2af3; fbreak; };
1912  'parsl;' => { output->first = 0x2afd; fbreak; };
1913  'part;' => { output->first = 0x2202; fbreak; };
1914  'pcy;' => { output->first = 0x043f; fbreak; };
1915  'percnt;' => { output->first = 0x25; fbreak; };
1916  'period;' => { output->first = 0x2e; fbreak; };
1917  'permil;' => { output->first = 0x2030; fbreak; };
1918  'perp;' => { output->first = 0x22a5; fbreak; };
1919  'pertenk;' => { output->first = 0x2031; fbreak; };
1920  'pfr;' => { output->first = 0x0001d52d; fbreak; };
1921  'phi;' => { output->first = 0x03c6; fbreak; };
1922  'phiv;' => { output->first = 0x03d5; fbreak; };
1923  'phmmat;' => { output->first = 0x2133; fbreak; };
1924  'phone;' => { output->first = 0x260e; fbreak; };
1925  'pi;' => { output->first = 0x03c0; fbreak; };
1926  'pitchfork;' => { output->first = 0x22d4; fbreak; };
1927  'piv;' => { output->first = 0x03d6; fbreak; };
1928  'planck;' => { output->first = 0x210f; fbreak; };
1929  'planckh;' => { output->first = 0x210e; fbreak; };
1930  'plankv;' => { output->first = 0x210f; fbreak; };
1931  'plus;' => { output->first = 0x2b; fbreak; };
1932  'plusacir;' => { output->first = 0x2a23; fbreak; };
1933  'plusb;' => { output->first = 0x229e; fbreak; };
1934  'pluscir;' => { output->first = 0x2a22; fbreak; };
1935  'plusdo;' => { output->first = 0x2214; fbreak; };
1936  'plusdu;' => { output->first = 0x2a25; fbreak; };
1937  'pluse;' => { output->first = 0x2a72; fbreak; };
1938  'plusmn;' => { output->first = 0xb1; fbreak; };
1939  'plusmn' => { output->first = 0xb1; fbreak; };
1940  'plussim;' => { output->first = 0x2a26; fbreak; };
1941  'plustwo;' => { output->first = 0x2a27; fbreak; };
1942  'pm;' => { output->first = 0xb1; fbreak; };
1943  'pointint;' => { output->first = 0x2a15; fbreak; };
1944  'popf;' => { output->first = 0x0001d561; fbreak; };
1945  'pound;' => { output->first = 0xa3; fbreak; };
1946  'pound' => { output->first = 0xa3; fbreak; };
1947  'pr;' => { output->first = 0x227a; fbreak; };
1948  'prE;' => { output->first = 0x2ab3; fbreak; };
1949  'prap;' => { output->first = 0x2ab7; fbreak; };
1950  'prcue;' => { output->first = 0x227c; fbreak; };
1951  'pre;' => { output->first = 0x2aaf; fbreak; };
1952  'prec;' => { output->first = 0x227a; fbreak; };
1953  'precapprox;' => { output->first = 0x2ab7; fbreak; };
1954  'preccurlyeq;' => { output->first = 0x227c; fbreak; };
1955  'preceq;' => { output->first = 0x2aaf; fbreak; };
1956  'precnapprox;' => { output->first = 0x2ab9; fbreak; };
1957  'precneqq;' => { output->first = 0x2ab5; fbreak; };
1958  'precnsim;' => { output->first = 0x22e8; fbreak; };
1959  'precsim;' => { output->first = 0x227e; fbreak; };
1960  'prime;' => { output->first = 0x2032; fbreak; };
1961  'primes;' => { output->first = 0x2119; fbreak; };
1962  'prnE;' => { output->first = 0x2ab5; fbreak; };
1963  'prnap;' => { output->first = 0x2ab9; fbreak; };
1964  'prnsim;' => { output->first = 0x22e8; fbreak; };
1965  'prod;' => { output->first = 0x220f; fbreak; };
1966  'profalar;' => { output->first = 0x232e; fbreak; };
1967  'profline;' => { output->first = 0x2312; fbreak; };
1968  'profsurf;' => { output->first = 0x2313; fbreak; };
1969  'prop;' => { output->first = 0x221d; fbreak; };
1970  'propto;' => { output->first = 0x221d; fbreak; };
1971  'prsim;' => { output->first = 0x227e; fbreak; };
1972  'prurel;' => { output->first = 0x22b0; fbreak; };
1973  'pscr;' => { output->first = 0x0001d4c5; fbreak; };
1974  'psi;' => { output->first = 0x03c8; fbreak; };
1975  'puncsp;' => { output->first = 0x2008; fbreak; };
1976  'qfr;' => { output->first = 0x0001d52e; fbreak; };
1977  'qint;' => { output->first = 0x2a0c; fbreak; };
1978  'qopf;' => { output->first = 0x0001d562; fbreak; };
1979  'qprime;' => { output->first = 0x2057; fbreak; };
1980  'qscr;' => { output->first = 0x0001d4c6; fbreak; };
1981  'quaternions;' => { output->first = 0x210d; fbreak; };
1982  'quatint;' => { output->first = 0x2a16; fbreak; };
1983  'quest;' => { output->first = 0x3f; fbreak; };
1984  'questeq;' => { output->first = 0x225f; fbreak; };
1985  'quot;' => { output->first = 0x22; fbreak; };
1986  'quot' => { output->first = 0x22; fbreak; };
1987  'rAarr;' => { output->first = 0x21db; fbreak; };
1988  'rArr;' => { output->first = 0x21d2; fbreak; };
1989  'rAtail;' => { output->first = 0x291c; fbreak; };
1990  'rBarr;' => { output->first = 0x290f; fbreak; };
1991  'rHar;' => { output->first = 0x2964; fbreak; };
1992  'race;' => { output->first = 0x223d; output->second = 0x0331; fbreak; };
1993  'racute;' => { output->first = 0x0155; fbreak; };
1994  'radic;' => { output->first = 0x221a; fbreak; };
1995  'raemptyv;' => { output->first = 0x29b3; fbreak; };
1996  'rang;' => { output->first = 0x27e9; fbreak; };
1997  'rangd;' => { output->first = 0x2992; fbreak; };
1998  'range;' => { output->first = 0x29a5; fbreak; };
1999  'rangle;' => { output->first = 0x27e9; fbreak; };
2000  'raquo;' => { output->first = 0xbb; fbreak; };
2001  'raquo' => { output->first = 0xbb; fbreak; };
2002  'rarr;' => { output->first = 0x2192; fbreak; };
2003  'rarrap;' => { output->first = 0x2975; fbreak; };
2004  'rarrb;' => { output->first = 0x21e5; fbreak; };
2005  'rarrbfs;' => { output->first = 0x2920; fbreak; };
2006  'rarrc;' => { output->first = 0x2933; fbreak; };
2007  'rarrfs;' => { output->first = 0x291e; fbreak; };
2008  'rarrhk;' => { output->first = 0x21aa; fbreak; };
2009  'rarrlp;' => { output->first = 0x21ac; fbreak; };
2010  'rarrpl;' => { output->first = 0x2945; fbreak; };
2011  'rarrsim;' => { output->first = 0x2974; fbreak; };
2012  'rarrtl;' => { output->first = 0x21a3; fbreak; };
2013  'rarrw;' => { output->first = 0x219d; fbreak; };
2014  'ratail;' => { output->first = 0x291a; fbreak; };
2015  'ratio;' => { output->first = 0x2236; fbreak; };
2016  'rationals;' => { output->first = 0x211a; fbreak; };
2017  'rbarr;' => { output->first = 0x290d; fbreak; };
2018  'rbbrk;' => { output->first = 0x2773; fbreak; };
2019  'rbrace;' => { output->first = 0x7d; fbreak; };
2020  'rbrack;' => { output->first = 0x5d; fbreak; };
2021  'rbrke;' => { output->first = 0x298c; fbreak; };
2022  'rbrksld;' => { output->first = 0x298e; fbreak; };
2023  'rbrkslu;' => { output->first = 0x2990; fbreak; };
2024  'rcaron;' => { output->first = 0x0159; fbreak; };
2025  'rcedil;' => { output->first = 0x0157; fbreak; };
2026  'rceil;' => { output->first = 0x2309; fbreak; };
2027  'rcub;' => { output->first = 0x7d; fbreak; };
2028  'rcy;' => { output->first = 0x0440; fbreak; };
2029  'rdca;' => { output->first = 0x2937; fbreak; };
2030  'rdldhar;' => { output->first = 0x2969; fbreak; };
2031  'rdquo;' => { output->first = 0x201d; fbreak; };
2032  'rdquor;' => { output->first = 0x201d; fbreak; };
2033  'rdsh;' => { output->first = 0x21b3; fbreak; };
2034  'real;' => { output->first = 0x211c; fbreak; };
2035  'realine;' => { output->first = 0x211b; fbreak; };
2036  'realpart;' => { output->first = 0x211c; fbreak; };
2037  'reals;' => { output->first = 0x211d; fbreak; };
2038  'rect;' => { output->first = 0x25ad; fbreak; };
2039  'reg;' => { output->first = 0xae; fbreak; };
2040  'reg' => { output->first = 0xae; fbreak; };
2041  'rfisht;' => { output->first = 0x297d; fbreak; };
2042  'rfloor;' => { output->first = 0x230b; fbreak; };
2043  'rfr;' => { output->first = 0x0001d52f; fbreak; };
2044  'rhard;' => { output->first = 0x21c1; fbreak; };
2045  'rharu;' => { output->first = 0x21c0; fbreak; };
2046  'rharul;' => { output->first = 0x296c; fbreak; };
2047  'rho;' => { output->first = 0x03c1; fbreak; };
2048  'rhov;' => { output->first = 0x03f1; fbreak; };
2049  'rightarrow;' => { output->first = 0x2192; fbreak; };
2050  'rightarrowtail;' => { output->first = 0x21a3; fbreak; };
2051  'rightharpoondown;' => { output->first = 0x21c1; fbreak; };
2052  'rightharpoonup;' => { output->first = 0x21c0; fbreak; };
2053  'rightleftarrows;' => { output->first = 0x21c4; fbreak; };
2054  'rightleftharpoons;' => { output->first = 0x21cc; fbreak; };
2055  'rightrightarrows;' => { output->first = 0x21c9; fbreak; };
2056  'rightsquigarrow;' => { output->first = 0x219d; fbreak; };
2057  'rightthreetimes;' => { output->first = 0x22cc; fbreak; };
2058  'ring;' => { output->first = 0x02da; fbreak; };
2059  'risingdotseq;' => { output->first = 0x2253; fbreak; };
2060  'rlarr;' => { output->first = 0x21c4; fbreak; };
2061  'rlhar;' => { output->first = 0x21cc; fbreak; };
2062  'rlm;' => { output->first = 0x200f; fbreak; };
2063  'rmoust;' => { output->first = 0x23b1; fbreak; };
2064  'rmoustache;' => { output->first = 0x23b1; fbreak; };
2065  'rnmid;' => { output->first = 0x2aee; fbreak; };
2066  'roang;' => { output->first = 0x27ed; fbreak; };
2067  'roarr;' => { output->first = 0x21fe; fbreak; };
2068  'robrk;' => { output->first = 0x27e7; fbreak; };
2069  'ropar;' => { output->first = 0x2986; fbreak; };
2070  'ropf;' => { output->first = 0x0001d563; fbreak; };
2071  'roplus;' => { output->first = 0x2a2e; fbreak; };
2072  'rotimes;' => { output->first = 0x2a35; fbreak; };
2073  'rpar;' => { output->first = 0x29; fbreak; };
2074  'rpargt;' => { output->first = 0x2994; fbreak; };
2075  'rppolint;' => { output->first = 0x2a12; fbreak; };
2076  'rrarr;' => { output->first = 0x21c9; fbreak; };
2077  'rsaquo;' => { output->first = 0x203a; fbreak; };
2078  'rscr;' => { output->first = 0x0001d4c7; fbreak; };
2079  'rsh;' => { output->first = 0x21b1; fbreak; };
2080  'rsqb;' => { output->first = 0x5d; fbreak; };
2081  'rsquo;' => { output->first = 0x2019; fbreak; };
2082  'rsquor;' => { output->first = 0x2019; fbreak; };
2083  'rthree;' => { output->first = 0x22cc; fbreak; };
2084  'rtimes;' => { output->first = 0x22ca; fbreak; };
2085  'rtri;' => { output->first = 0x25b9; fbreak; };
2086  'rtrie;' => { output->first = 0x22b5; fbreak; };
2087  'rtrif;' => { output->first = 0x25b8; fbreak; };
2088  'rtriltri;' => { output->first = 0x29ce; fbreak; };
2089  'ruluhar;' => { output->first = 0x2968; fbreak; };
2090  'rx;' => { output->first = 0x211e; fbreak; };
2091  'sacute;' => { output->first = 0x015b; fbreak; };
2092  'sbquo;' => { output->first = 0x201a; fbreak; };
2093  'sc;' => { output->first = 0x227b; fbreak; };
2094  'scE;' => { output->first = 0x2ab4; fbreak; };
2095  'scap;' => { output->first = 0x2ab8; fbreak; };
2096  'scaron;' => { output->first = 0x0161; fbreak; };
2097  'sccue;' => { output->first = 0x227d; fbreak; };
2098  'sce;' => { output->first = 0x2ab0; fbreak; };
2099  'scedil;' => { output->first = 0x015f; fbreak; };
2100  'scirc;' => { output->first = 0x015d; fbreak; };
2101  'scnE;' => { output->first = 0x2ab6; fbreak; };
2102  'scnap;' => { output->first = 0x2aba; fbreak; };
2103  'scnsim;' => { output->first = 0x22e9; fbreak; };
2104  'scpolint;' => { output->first = 0x2a13; fbreak; };
2105  'scsim;' => { output->first = 0x227f; fbreak; };
2106  'scy;' => { output->first = 0x0441; fbreak; };
2107  'sdot;' => { output->first = 0x22c5; fbreak; };
2108  'sdotb;' => { output->first = 0x22a1; fbreak; };
2109  'sdote;' => { output->first = 0x2a66; fbreak; };
2110  'seArr;' => { output->first = 0x21d8; fbreak; };
2111  'searhk;' => { output->first = 0x2925; fbreak; };
2112  'searr;' => { output->first = 0x2198; fbreak; };
2113  'searrow;' => { output->first = 0x2198; fbreak; };
2114  'sect;' => { output->first = 0xa7; fbreak; };
2115  'sect' => { output->first = 0xa7; fbreak; };
2116  'semi;' => { output->first = 0x3b; fbreak; };
2117  'seswar;' => { output->first = 0x2929; fbreak; };
2118  'setminus;' => { output->first = 0x2216; fbreak; };
2119  'setmn;' => { output->first = 0x2216; fbreak; };
2120  'sext;' => { output->first = 0x2736; fbreak; };
2121  'sfr;' => { output->first = 0x0001d530; fbreak; };
2122  'sfrown;' => { output->first = 0x2322; fbreak; };
2123  'sharp;' => { output->first = 0x266f; fbreak; };
2124  'shchcy;' => { output->first = 0x0449; fbreak; };
2125  'shcy;' => { output->first = 0x0448; fbreak; };
2126  'shortmid;' => { output->first = 0x2223; fbreak; };
2127  'shortparallel;' => { output->first = 0x2225; fbreak; };
2128  'shy;' => { output->first = 0xad; fbreak; };
2129  'shy' => { output->first = 0xad; fbreak; };
2130  'sigma;' => { output->first = 0x03c3; fbreak; };
2131  'sigmaf;' => { output->first = 0x03c2; fbreak; };
2132  'sigmav;' => { output->first = 0x03c2; fbreak; };
2133  'sim;' => { output->first = 0x223c; fbreak; };
2134  'simdot;' => { output->first = 0x2a6a; fbreak; };
2135  'sime;' => { output->first = 0x2243; fbreak; };
2136  'simeq;' => { output->first = 0x2243; fbreak; };
2137  'simg;' => { output->first = 0x2a9e; fbreak; };
2138  'simgE;' => { output->first = 0x2aa0; fbreak; };
2139  'siml;' => { output->first = 0x2a9d; fbreak; };
2140  'simlE;' => { output->first = 0x2a9f; fbreak; };
2141  'simne;' => { output->first = 0x2246; fbreak; };
2142  'simplus;' => { output->first = 0x2a24; fbreak; };
2143  'simrarr;' => { output->first = 0x2972; fbreak; };
2144  'slarr;' => { output->first = 0x2190; fbreak; };
2145  'smallsetminus;' => { output->first = 0x2216; fbreak; };
2146  'smashp;' => { output->first = 0x2a33; fbreak; };
2147  'smeparsl;' => { output->first = 0x29e4; fbreak; };
2148  'smid;' => { output->first = 0x2223; fbreak; };
2149  'smile;' => { output->first = 0x2323; fbreak; };
2150  'smt;' => { output->first = 0x2aaa; fbreak; };
2151  'smte;' => { output->first = 0x2aac; fbreak; };
2152  'smtes;' => { output->first = 0x2aac; output->second = 0xfe00; fbreak; };
2153  'softcy;' => { output->first = 0x044c; fbreak; };
2154  'sol;' => { output->first = 0x2f; fbreak; };
2155  'solb;' => { output->first = 0x29c4; fbreak; };
2156  'solbar;' => { output->first = 0x233f; fbreak; };
2157  'sopf;' => { output->first = 0x0001d564; fbreak; };
2158  'spades;' => { output->first = 0x2660; fbreak; };
2159  'spadesuit;' => { output->first = 0x2660; fbreak; };
2160  'spar;' => { output->first = 0x2225; fbreak; };
2161  'sqcap;' => { output->first = 0x2293; fbreak; };
2162  'sqcaps;' => { output->first = 0x2293; output->second = 0xfe00; fbreak; };
2163  'sqcup;' => { output->first = 0x2294; fbreak; };
2164  'sqcups;' => { output->first = 0x2294; output->second = 0xfe00; fbreak; };
2165  'sqsub;' => { output->first = 0x228f; fbreak; };
2166  'sqsube;' => { output->first = 0x2291; fbreak; };
2167  'sqsubset;' => { output->first = 0x228f; fbreak; };
2168  'sqsubseteq;' => { output->first = 0x2291; fbreak; };
2169  'sqsup;' => { output->first = 0x2290; fbreak; };
2170  'sqsupe;' => { output->first = 0x2292; fbreak; };
2171  'sqsupset;' => { output->first = 0x2290; fbreak; };
2172  'sqsupseteq;' => { output->first = 0x2292; fbreak; };
2173  'squ;' => { output->first = 0x25a1; fbreak; };
2174  'square;' => { output->first = 0x25a1; fbreak; };
2175  'squarf;' => { output->first = 0x25aa; fbreak; };
2176  'squf;' => { output->first = 0x25aa; fbreak; };
2177  'srarr;' => { output->first = 0x2192; fbreak; };
2178  'sscr;' => { output->first = 0x0001d4c8; fbreak; };
2179  'ssetmn;' => { output->first = 0x2216; fbreak; };
2180  'ssmile;' => { output->first = 0x2323; fbreak; };
2181  'sstarf;' => { output->first = 0x22c6; fbreak; };
2182  'star;' => { output->first = 0x2606; fbreak; };
2183  'starf;' => { output->first = 0x2605; fbreak; };
2184  'straightepsilon;' => { output->first = 0x03f5; fbreak; };
2185  'straightphi;' => { output->first = 0x03d5; fbreak; };
2186  'strns;' => { output->first = 0xaf; fbreak; };
2187  'sub;' => { output->first = 0x2282; fbreak; };
2188  'subE;' => { output->first = 0x2ac5; fbreak; };
2189  'subdot;' => { output->first = 0x2abd; fbreak; };
2190  'sube;' => { output->first = 0x2286; fbreak; };
2191  'subedot;' => { output->first = 0x2ac3; fbreak; };
2192  'submult;' => { output->first = 0x2ac1; fbreak; };
2193  'subnE;' => { output->first = 0x2acb; fbreak; };
2194  'subne;' => { output->first = 0x228a; fbreak; };
2195  'subplus;' => { output->first = 0x2abf; fbreak; };
2196  'subrarr;' => { output->first = 0x2979; fbreak; };
2197  'subset;' => { output->first = 0x2282; fbreak; };
2198  'subseteq;' => { output->first = 0x2286; fbreak; };
2199  'subseteqq;' => { output->first = 0x2ac5; fbreak; };
2200  'subsetneq;' => { output->first = 0x228a; fbreak; };
2201  'subsetneqq;' => { output->first = 0x2acb; fbreak; };
2202  'subsim;' => { output->first = 0x2ac7; fbreak; };
2203  'subsub;' => { output->first = 0x2ad5; fbreak; };
2204  'subsup;' => { output->first = 0x2ad3; fbreak; };
2205  'succ;' => { output->first = 0x227b; fbreak; };
2206  'succapprox;' => { output->first = 0x2ab8; fbreak; };
2207  'succcurlyeq;' => { output->first = 0x227d; fbreak; };
2208  'succeq;' => { output->first = 0x2ab0; fbreak; };
2209  'succnapprox;' => { output->first = 0x2aba; fbreak; };
2210  'succneqq;' => { output->first = 0x2ab6; fbreak; };
2211  'succnsim;' => { output->first = 0x22e9; fbreak; };
2212  'succsim;' => { output->first = 0x227f; fbreak; };
2213  'sum;' => { output->first = 0x2211; fbreak; };
2214  'sung;' => { output->first = 0x266a; fbreak; };
2215  'sup1;' => { output->first = 0xb9; fbreak; };
2216  'sup1' => { output->first = 0xb9; fbreak; };
2217  'sup2;' => { output->first = 0xb2; fbreak; };
2218  'sup2' => { output->first = 0xb2; fbreak; };
2219  'sup3;' => { output->first = 0xb3; fbreak; };
2220  'sup3' => { output->first = 0xb3; fbreak; };
2221  'sup;' => { output->first = 0x2283; fbreak; };
2222  'supE;' => { output->first = 0x2ac6; fbreak; };
2223  'supdot;' => { output->first = 0x2abe; fbreak; };
2224  'supdsub;' => { output->first = 0x2ad8; fbreak; };
2225  'supe;' => { output->first = 0x2287; fbreak; };
2226  'supedot;' => { output->first = 0x2ac4; fbreak; };
2227  'suphsol;' => { output->first = 0x27c9; fbreak; };
2228  'suphsub;' => { output->first = 0x2ad7; fbreak; };
2229  'suplarr;' => { output->first = 0x297b; fbreak; };
2230  'supmult;' => { output->first = 0x2ac2; fbreak; };
2231  'supnE;' => { output->first = 0x2acc; fbreak; };
2232  'supne;' => { output->first = 0x228b; fbreak; };
2233  'supplus;' => { output->first = 0x2ac0; fbreak; };
2234  'supset;' => { output->first = 0x2283; fbreak; };
2235  'supseteq;' => { output->first = 0x2287; fbreak; };
2236  'supseteqq;' => { output->first = 0x2ac6; fbreak; };
2237  'supsetneq;' => { output->first = 0x228b; fbreak; };
2238  'supsetneqq;' => { output->first = 0x2acc; fbreak; };
2239  'supsim;' => { output->first = 0x2ac8; fbreak; };
2240  'supsub;' => { output->first = 0x2ad4; fbreak; };
2241  'supsup;' => { output->first = 0x2ad6; fbreak; };
2242  'swArr;' => { output->first = 0x21d9; fbreak; };
2243  'swarhk;' => { output->first = 0x2926; fbreak; };
2244  'swarr;' => { output->first = 0x2199; fbreak; };
2245  'swarrow;' => { output->first = 0x2199; fbreak; };
2246  'swnwar;' => { output->first = 0x292a; fbreak; };
2247  'szlig;' => { output->first = 0xdf; fbreak; };
2248  'szlig' => { output->first = 0xdf; fbreak; };
2249  'target;' => { output->first = 0x2316; fbreak; };
2250  'tau;' => { output->first = 0x03c4; fbreak; };
2251  'tbrk;' => { output->first = 0x23b4; fbreak; };
2252  'tcaron;' => { output->first = 0x0165; fbreak; };
2253  'tcedil;' => { output->first = 0x0163; fbreak; };
2254  'tcy;' => { output->first = 0x0442; fbreak; };
2255  'tdot;' => { output->first = 0x20db; fbreak; };
2256  'telrec;' => { output->first = 0x2315; fbreak; };
2257  'tfr;' => { output->first = 0x0001d531; fbreak; };
2258  'there4;' => { output->first = 0x2234; fbreak; };
2259  'therefore;' => { output->first = 0x2234; fbreak; };
2260  'theta;' => { output->first = 0x03b8; fbreak; };
2261  'thetasym;' => { output->first = 0x03d1; fbreak; };
2262  'thetav;' => { output->first = 0x03d1; fbreak; };
2263  'thickapprox;' => { output->first = 0x2248; fbreak; };
2264  'thicksim;' => { output->first = 0x223c; fbreak; };
2265  'thinsp;' => { output->first = 0x2009; fbreak; };
2266  'thkap;' => { output->first = 0x2248; fbreak; };
2267  'thksim;' => { output->first = 0x223c; fbreak; };
2268  'thorn;' => { output->first = 0xfe; fbreak; };
2269  'thorn' => { output->first = 0xfe; fbreak; };
2270  'tilde;' => { output->first = 0x02dc; fbreak; };
2271  'times;' => { output->first = 0xd7; fbreak; };
2272  'times' => { output->first = 0xd7; fbreak; };
2273  'timesb;' => { output->first = 0x22a0; fbreak; };
2274  'timesbar;' => { output->first = 0x2a31; fbreak; };
2275  'timesd;' => { output->first = 0x2a30; fbreak; };
2276  'tint;' => { output->first = 0x222d; fbreak; };
2277  'toea;' => { output->first = 0x2928; fbreak; };
2278  'top;' => { output->first = 0x22a4; fbreak; };
2279  'topbot;' => { output->first = 0x2336; fbreak; };
2280  'topcir;' => { output->first = 0x2af1; fbreak; };
2281  'topf;' => { output->first = 0x0001d565; fbreak; };
2282  'topfork;' => { output->first = 0x2ada; fbreak; };
2283  'tosa;' => { output->first = 0x2929; fbreak; };
2284  'tprime;' => { output->first = 0x2034; fbreak; };
2285  'trade;' => { output->first = 0x2122; fbreak; };
2286  'triangle;' => { output->first = 0x25b5; fbreak; };
2287  'triangledown;' => { output->first = 0x25bf; fbreak; };
2288  'triangleleft;' => { output->first = 0x25c3; fbreak; };
2289  'trianglelefteq;' => { output->first = 0x22b4; fbreak; };
2290  'triangleq;' => { output->first = 0x225c; fbreak; };
2291  'triangleright;' => { output->first = 0x25b9; fbreak; };
2292  'trianglerighteq;' => { output->first = 0x22b5; fbreak; };
2293  'tridot;' => { output->first = 0x25ec; fbreak; };
2294  'trie;' => { output->first = 0x225c; fbreak; };
2295  'triminus;' => { output->first = 0x2a3a; fbreak; };
2296  'triplus;' => { output->first = 0x2a39; fbreak; };
2297  'trisb;' => { output->first = 0x29cd; fbreak; };
2298  'tritime;' => { output->first = 0x2a3b; fbreak; };
2299  'trpezium;' => { output->first = 0x23e2; fbreak; };
2300  'tscr;' => { output->first = 0x0001d4c9; fbreak; };
2301  'tscy;' => { output->first = 0x0446; fbreak; };
2302  'tshcy;' => { output->first = 0x045b; fbreak; };
2303  'tstrok;' => { output->first = 0x0167; fbreak; };
2304  'twixt;' => { output->first = 0x226c; fbreak; };
2305  'twoheadleftarrow;' => { output->first = 0x219e; fbreak; };
2306  'twoheadrightarrow;' => { output->first = 0x21a0; fbreak; };
2307  'uArr;' => { output->first = 0x21d1; fbreak; };
2308  'uHar;' => { output->first = 0x2963; fbreak; };
2309  'uacute;' => { output->first = 0xfa; fbreak; };
2310  'uacute' => { output->first = 0xfa; fbreak; };
2311  'uarr;' => { output->first = 0x2191; fbreak; };
2312  'ubrcy;' => { output->first = 0x045e; fbreak; };
2313  'ubreve;' => { output->first = 0x016d; fbreak; };
2314  'ucirc;' => { output->first = 0xfb; fbreak; };
2315  'ucirc' => { output->first = 0xfb; fbreak; };
2316  'ucy;' => { output->first = 0x0443; fbreak; };
2317  'udarr;' => { output->first = 0x21c5; fbreak; };
2318  'udblac;' => { output->first = 0x0171; fbreak; };
2319  'udhar;' => { output->first = 0x296e; fbreak; };
2320  'ufisht;' => { output->first = 0x297e; fbreak; };
2321  'ufr;' => { output->first = 0x0001d532; fbreak; };
2322  'ugrave;' => { output->first = 0xf9; fbreak; };
2323  'ugrave' => { output->first = 0xf9; fbreak; };
2324  'uharl;' => { output->first = 0x21bf; fbreak; };
2325  'uharr;' => { output->first = 0x21be; fbreak; };
2326  'uhblk;' => { output->first = 0x2580; fbreak; };
2327  'ulcorn;' => { output->first = 0x231c; fbreak; };
2328  'ulcorner;' => { output->first = 0x231c; fbreak; };
2329  'ulcrop;' => { output->first = 0x230f; fbreak; };
2330  'ultri;' => { output->first = 0x25f8; fbreak; };
2331  'umacr;' => { output->first = 0x016b; fbreak; };
2332  'uml;' => { output->first = 0xa8; fbreak; };
2333  'uml' => { output->first = 0xa8; fbreak; };
2334  'uogon;' => { output->first = 0x0173; fbreak; };
2335  'uopf;' => { output->first = 0x0001d566; fbreak; };
2336  'uparrow;' => { output->first = 0x2191; fbreak; };
2337  'updownarrow;' => { output->first = 0x2195; fbreak; };
2338  'upharpoonleft;' => { output->first = 0x21bf; fbreak; };
2339  'upharpoonright;' => { output->first = 0x21be; fbreak; };
2340  'uplus;' => { output->first = 0x228e; fbreak; };
2341  'upsi;' => { output->first = 0x03c5; fbreak; };
2342  'upsih;' => { output->first = 0x03d2; fbreak; };
2343  'upsilon;' => { output->first = 0x03c5; fbreak; };
2344  'upuparrows;' => { output->first = 0x21c8; fbreak; };
2345  'urcorn;' => { output->first = 0x231d; fbreak; };
2346  'urcorner;' => { output->first = 0x231d; fbreak; };
2347  'urcrop;' => { output->first = 0x230e; fbreak; };
2348  'uring;' => { output->first = 0x016f; fbreak; };
2349  'urtri;' => { output->first = 0x25f9; fbreak; };
2350  'uscr;' => { output->first = 0x0001d4ca; fbreak; };
2351  'utdot;' => { output->first = 0x22f0; fbreak; };
2352  'utilde;' => { output->first = 0x0169; fbreak; };
2353  'utri;' => { output->first = 0x25b5; fbreak; };
2354  'utrif;' => { output->first = 0x25b4; fbreak; };
2355  'uuarr;' => { output->first = 0x21c8; fbreak; };
2356  'uuml;' => { output->first = 0xfc; fbreak; };
2357  'uuml' => { output->first = 0xfc; fbreak; };
2358  'uwangle;' => { output->first = 0x29a7; fbreak; };
2359  'vArr;' => { output->first = 0x21d5; fbreak; };
2360  'vBar;' => { output->first = 0x2ae8; fbreak; };
2361  'vBarv;' => { output->first = 0x2ae9; fbreak; };
2362  'vDash;' => { output->first = 0x22a8; fbreak; };
2363  'vangrt;' => { output->first = 0x299c; fbreak; };
2364  'varepsilon;' => { output->first = 0x03f5; fbreak; };
2365  'varkappa;' => { output->first = 0x03f0; fbreak; };
2366  'varnothing;' => { output->first = 0x2205; fbreak; };
2367  'varphi;' => { output->first = 0x03d5; fbreak; };
2368  'varpi;' => { output->first = 0x03d6; fbreak; };
2369  'varpropto;' => { output->first = 0x221d; fbreak; };
2370  'varr;' => { output->first = 0x2195; fbreak; };
2371  'varrho;' => { output->first = 0x03f1; fbreak; };
2372  'varsigma;' => { output->first = 0x03c2; fbreak; };
2373  'varsubsetneq;' => { output->first = 0x228a; output->second = 0xfe00; fbreak; };
2374  'varsubsetneqq;' => { output->first = 0x2acb; output->second = 0xfe00; fbreak; };
2375  'varsupsetneq;' => { output->first = 0x228b; output->second = 0xfe00; fbreak; };
2376  'varsupsetneqq;' => { output->first = 0x2acc; output->second = 0xfe00; fbreak; };
2377  'vartheta;' => { output->first = 0x03d1; fbreak; };
2378  'vartriangleleft;' => { output->first = 0x22b2; fbreak; };
2379  'vartriangleright;' => { output->first = 0x22b3; fbreak; };
2380  'vcy;' => { output->first = 0x0432; fbreak; };
2381  'vdash;' => { output->first = 0x22a2; fbreak; };
2382  'vee;' => { output->first = 0x2228; fbreak; };
2383  'veebar;' => { output->first = 0x22bb; fbreak; };
2384  'veeeq;' => { output->first = 0x225a; fbreak; };
2385  'vellip;' => { output->first = 0x22ee; fbreak; };
2386  'verbar;' => { output->first = 0x7c; fbreak; };
2387  'vert;' => { output->first = 0x7c; fbreak; };
2388  'vfr;' => { output->first = 0x0001d533; fbreak; };
2389  'vltri;' => { output->first = 0x22b2; fbreak; };
2390  'vnsub;' => { output->first = 0x2282; output->second = 0x20d2; fbreak; };
2391  'vnsup;' => { output->first = 0x2283; output->second = 0x20d2; fbreak; };
2392  'vopf;' => { output->first = 0x0001d567; fbreak; };
2393  'vprop;' => { output->first = 0x221d; fbreak; };
2394  'vrtri;' => { output->first = 0x22b3; fbreak; };
2395  'vscr;' => { output->first = 0x0001d4cb; fbreak; };
2396  'vsubnE;' => { output->first = 0x2acb; output->second = 0xfe00; fbreak; };
2397  'vsubne;' => { output->first = 0x228a; output->second = 0xfe00; fbreak; };
2398  'vsupnE;' => { output->first = 0x2acc; output->second = 0xfe00; fbreak; };
2399  'vsupne;' => { output->first = 0x228b; output->second = 0xfe00; fbreak; };
2400  'vzigzag;' => { output->first = 0x299a; fbreak; };
2401  'wcirc;' => { output->first = 0x0175; fbreak; };
2402  'wedbar;' => { output->first = 0x2a5f; fbreak; };
2403  'wedge;' => { output->first = 0x2227; fbreak; };
2404  'wedgeq;' => { output->first = 0x2259; fbreak; };
2405  'weierp;' => { output->first = 0x2118; fbreak; };
2406  'wfr;' => { output->first = 0x0001d534; fbreak; };
2407  'wopf;' => { output->first = 0x0001d568; fbreak; };
2408  'wp;' => { output->first = 0x2118; fbreak; };
2409  'wr;' => { output->first = 0x2240; fbreak; };
2410  'wreath;' => { output->first = 0x2240; fbreak; };
2411  'wscr;' => { output->first = 0x0001d4cc; fbreak; };
2412  'xcap;' => { output->first = 0x22c2; fbreak; };
2413  'xcirc;' => { output->first = 0x25ef; fbreak; };
2414  'xcup;' => { output->first = 0x22c3; fbreak; };
2415  'xdtri;' => { output->first = 0x25bd; fbreak; };
2416  'xfr;' => { output->first = 0x0001d535; fbreak; };
2417  'xhArr;' => { output->first = 0x27fa; fbreak; };
2418  'xharr;' => { output->first = 0x27f7; fbreak; };
2419  'xi;' => { output->first = 0x03be; fbreak; };
2420  'xlArr;' => { output->first = 0x27f8; fbreak; };
2421  'xlarr;' => { output->first = 0x27f5; fbreak; };
2422  'xmap;' => { output->first = 0x27fc; fbreak; };
2423  'xnis;' => { output->first = 0x22fb; fbreak; };
2424  'xodot;' => { output->first = 0x2a00; fbreak; };
2425  'xopf;' => { output->first = 0x0001d569; fbreak; };
2426  'xoplus;' => { output->first = 0x2a01; fbreak; };
2427  'xotime;' => { output->first = 0x2a02; fbreak; };
2428  'xrArr;' => { output->first = 0x27f9; fbreak; };
2429  'xrarr;' => { output->first = 0x27f6; fbreak; };
2430  'xscr;' => { output->first = 0x0001d4cd; fbreak; };
2431  'xsqcup;' => { output->first = 0x2a06; fbreak; };
2432  'xuplus;' => { output->first = 0x2a04; fbreak; };
2433  'xutri;' => { output->first = 0x25b3; fbreak; };
2434  'xvee;' => { output->first = 0x22c1; fbreak; };
2435  'xwedge;' => { output->first = 0x22c0; fbreak; };
2436  'yacute;' => { output->first = 0xfd; fbreak; };
2437  'yacute' => { output->first = 0xfd; fbreak; };
2438  'yacy;' => { output->first = 0x044f; fbreak; };
2439  'ycirc;' => { output->first = 0x0177; fbreak; };
2440  'ycy;' => { output->first = 0x044b; fbreak; };
2441  'yen;' => { output->first = 0xa5; fbreak; };
2442  'yen' => { output->first = 0xa5; fbreak; };
2443  'yfr;' => { output->first = 0x0001d536; fbreak; };
2444  'yicy;' => { output->first = 0x0457; fbreak; };
2445  'yopf;' => { output->first = 0x0001d56a; fbreak; };
2446  'yscr;' => { output->first = 0x0001d4ce; fbreak; };
2447  'yucy;' => { output->first = 0x044e; fbreak; };
2448  'yuml;' => { output->first = 0xff; fbreak; };
2449  'yuml' => { output->first = 0xff; fbreak; };
2450  'zacute;' => { output->first = 0x017a; fbreak; };
2451  'zcaron;' => { output->first = 0x017e; fbreak; };
2452  'zcy;' => { output->first = 0x0437; fbreak; };
2453  'zdot;' => { output->first = 0x017c; fbreak; };
2454  'zeetrf;' => { output->first = 0x2128; fbreak; };
2455  'zeta;' => { output->first = 0x03b6; fbreak; };
2456  'zfr;' => { output->first = 0x0001d537; fbreak; };
2457  'zhcy;' => { output->first = 0x0436; fbreak; };
2458  'zigrarr;' => { output->first = 0x21dd; fbreak; };
2459  'zopf;' => { output->first = 0x0001d56b; fbreak; };
2460  'zscr;' => { output->first = 0x0001d4cf; fbreak; };
2461  'zwj;' => { output->first = 0x200d; fbreak; };
2462  'zwnj;' => { output->first = 0x200c; fbreak; };
2463*|;
2464}%%
2465
2466%% write data;
2467
2468static inline bool is_attr_ok(unsigned char c) {
2469    switch(c) {
2470        case '=':
2471        case 'a':
2472        case 'b':
2473        case 'c':
2474        case 'd':
2475        case 'e':
2476        case 'f':
2477        case 'g':
2478        case 'h':
2479        case 'i':
2480        case 'j':
2481        case 'k':
2482        case 'l':
2483        case 'm':
2484        case 'n':
2485        case 'o':
2486        case 'p':
2487        case 'q':
2488        case 'r':
2489        case 's':
2490        case 't':
2491        case 'u':
2492        case 'v':
2493        case 'w':
2494        case 'x':
2495        case 'y':
2496        case 'z':
2497        case 'A':
2498        case 'B':
2499        case 'C':
2500        case 'D':
2501        case 'E':
2502        case 'F':
2503        case 'G':
2504        case 'H':
2505        case 'I':
2506        case 'J':
2507        case 'K':
2508        case 'L':
2509        case 'M':
2510        case 'N':
2511        case 'O':
2512        case 'P':
2513        case 'Q':
2514        case 'R':
2515        case 'S':
2516        case 'T':
2517        case 'U':
2518        case 'V':
2519        case 'W':
2520        case 'X':
2521        case 'Y':
2522        case 'Z':
2523        case '0':
2524        case '1':
2525        case '2':
2526        case '3':
2527        case '4':
2528        case '5':
2529        case '6':
2530        case '7':
2531        case '8':
2532        case '9':
2533            return true;
2534            break;
2535        default:
2536            break;
2537    }
2538    return false;
2539}
2540
2541static bool consume_named_ref(
2542    struct GumboInternalParser* parser, Utf8Iterator* input, bool is_in_attribute,
2543    OneOrTwoCodepoints* output) {
2544  assert(output->first == kGumboNoChar);
2545  const char* p = utf8iterator_get_char_pointer(input);
2546  const char* pe = utf8iterator_get_end_pointer(input);
2547  const char* eof = pe;
2548  const char* te = 0;
2549  const char *ts, *start;
2550  int cs, act;
2551  bool matched;
2552
2553  %% write init;
2554  // Avoid unused variable warnings.
2555  (void) act;
2556  (void) ts;
2557  (void) matched;
2558
2559  start = p;
2560  %% write exec;
2561
2562  if (cs >= %%{ write first_final; }%%) {
2563    assert(output->first != kGumboNoChar);
2564    char last_char = *(te - 1);
2565    int len = te - start;
2566    if (last_char == ';') {
2567      matched = utf8iterator_maybe_consume_match(input, start, len, true);
2568      assert(matched);
2569      return true;
2570    } else if (is_in_attribute && (is_attr_ok(*te))) {
2571      output->first = kGumboNoChar;
2572      output->second = kGumboNoChar;
2573      utf8iterator_reset(input);
2574      return true;
2575    } else {
2576      GumboStringPiece bad_ref;
2577      bad_ref.length = te - start;
2578      bad_ref.data = start;
2579      add_named_reference_error(
2580          parser, input, GUMBO_ERR_NAMED_CHAR_REF_WITHOUT_SEMICOLON, bad_ref);
2581      matched = utf8iterator_maybe_consume_match(input, start, len, true);
2582      assert(matched);
2583      return false;
2584    }
2585  } else {
2586    output->first = kGumboNoChar;
2587    output->second = kGumboNoChar;
2588    bool status = maybe_add_invalid_named_reference(parser, input);
2589    utf8iterator_reset(input);
2590    return status;
2591  }
2592}
2593
2594bool consume_char_ref(
2595    struct GumboInternalParser* parser, struct GumboInternalUtf8Iterator* input,
2596    int additional_allowed_char, bool is_in_attribute,
2597    OneOrTwoCodepoints* output) {
2598  utf8iterator_mark(input);
2599  utf8iterator_next(input);
2600  int c = utf8iterator_current(input);
2601  output->first = kGumboNoChar;
2602  output->second = kGumboNoChar;
2603  if (c == additional_allowed_char) {
2604    utf8iterator_reset(input);
2605    output->first = kGumboNoChar;
2606    return true;
2607  }
2608  switch (utf8iterator_current(input)) {
2609    case '\t':
2610    case '\n':
2611    case '\f':
2612    case ' ':
2613    case '<':
2614    case '&':
2615    case -1:
2616      utf8iterator_reset(input);
2617      return true;
2618    case '#':
2619      return consume_numeric_ref(parser, input, &output->first);
2620    default:
2621      return consume_named_ref(parser, input, is_in_attribute, output);
2622  }
2623}
2624