summaryrefslogtreecommitdiff
path: root/static/js/katex.js
blob: b54cff104c66860a76e9582c9a38d45dc5fbfc54 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
1774
1775
1776
1777
1778
1779
1780
1781
1782
1783
1784
1785
1786
1787
1788
1789
1790
1791
1792
1793
1794
1795
1796
1797
1798
1799
1800
1801
1802
1803
1804
1805
1806
1807
1808
1809
1810
1811
1812
1813
1814
1815
1816
1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
1827
1828
1829
1830
1831
1832
1833
1834
1835
1836
1837
1838
1839
1840
1841
1842
1843
1844
1845
1846
1847
1848
1849
1850
1851
1852
1853
1854
1855
1856
1857
1858
1859
1860
1861
1862
1863
1864
1865
1866
1867
1868
1869
1870
1871
1872
1873
1874
1875
1876
1877
1878
1879
1880
1881
1882
1883
1884
1885
1886
1887
1888
1889
1890
1891
1892
1893
1894
1895
1896
1897
1898
1899
1900
1901
1902
1903
1904
1905
1906
1907
1908
1909
1910
1911
1912
1913
1914
1915
1916
1917
1918
1919
1920
1921
1922
1923
1924
1925
1926
1927
1928
1929
1930
1931
1932
1933
1934
1935
1936
1937
1938
1939
1940
1941
1942
1943
1944
1945
1946
1947
1948
1949
1950
1951
1952
1953
1954
1955
1956
1957
1958
1959
1960
1961
1962
1963
1964
1965
1966
1967
1968
1969
1970
1971
1972
1973
1974
1975
1976
1977
1978
1979
1980
1981
1982
1983
1984
1985
1986
1987
1988
1989
1990
1991
1992
1993
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
2027
2028
2029
2030
2031
2032
2033
2034
2035
2036
2037
2038
2039
2040
2041
2042
2043
2044
2045
2046
2047
2048
2049
2050
2051
2052
2053
2054
2055
2056
2057
2058
2059
2060
2061
2062
2063
2064
2065
2066
2067
2068
2069
2070
2071
2072
2073
2074
2075
2076
2077
2078
2079
2080
2081
2082
2083
2084
2085
2086
2087
2088
2089
2090
2091
2092
2093
2094
2095
2096
2097
2098
2099
2100
2101
2102
2103
2104
2105
2106
2107
2108
2109
2110
2111
2112
2113
2114
2115
2116
2117
2118
2119
2120
2121
2122
2123
2124
2125
2126
2127
2128
2129
2130
2131
2132
2133
2134
2135
2136
2137
2138
2139
2140
2141
2142
2143
2144
2145
2146
2147
2148
2149
2150
2151
2152
2153
2154
2155
2156
2157
2158
2159
2160
2161
2162
2163
2164
2165
2166
2167
2168
2169
2170
2171
2172
2173
2174
2175
2176
2177
2178
2179
2180
2181
2182
2183
2184
2185
2186
2187
2188
2189
2190
2191
2192
2193
2194
2195
2196
2197
2198
2199
2200
2201
2202
2203
2204
2205
2206
2207
2208
2209
2210
2211
2212
2213
2214
2215
2216
2217
2218
2219
2220
2221
2222
2223
2224
2225
2226
2227
2228
2229
2230
2231
2232
2233
2234
2235
2236
2237
2238
2239
2240
2241
2242
2243
2244
2245
2246
2247
2248
2249
2250
2251
2252
2253
2254
2255
2256
2257
2258
2259
2260
2261
2262
2263
2264
2265
2266
2267
2268
2269
2270
2271
2272
2273
2274
2275
2276
2277
2278
2279
2280
2281
2282
2283
2284
2285
2286
2287
2288
2289
2290
2291
2292
2293
2294
2295
2296
2297
2298
2299
2300
2301
2302
2303
2304
2305
2306
2307
2308
2309
2310
2311
2312
2313
2314
2315
2316
2317
2318
2319
2320
2321
2322
2323
2324
2325
2326
2327
2328
2329
2330
2331
2332
2333
2334
2335
2336
2337
2338
2339
2340
2341
2342
2343
2344
2345
2346
2347
2348
2349
2350
2351
2352
2353
2354
2355
2356
2357
2358
2359
2360
2361
2362
2363
2364
2365
2366
2367
2368
2369
2370
2371
2372
2373
2374
2375
2376
2377
2378
2379
2380
2381
2382
2383
2384
2385
2386
2387
2388
2389
2390
2391
2392
2393
2394
2395
2396
2397
2398
2399
2400
2401
2402
2403
2404
2405
2406
2407
2408
2409
2410
2411
2412
2413
2414
2415
2416
2417
2418
2419
2420
2421
2422
2423
2424
2425
2426
2427
2428
2429
2430
2431
2432
2433
2434
2435
2436
2437
2438
2439
2440
2441
2442
2443
2444
2445
2446
2447
2448
2449
2450
2451
2452
2453
2454
2455
2456
2457
2458
2459
2460
2461
2462
2463
2464
2465
2466
2467
2468
2469
2470
2471
2472
2473
2474
2475
2476
2477
2478
2479
2480
2481
2482
2483
2484
2485
2486
2487
2488
2489
2490
2491
2492
2493
2494
2495
2496
2497
2498
2499
2500
2501
2502
2503
2504
2505
2506
2507
2508
2509
2510
2511
2512
2513
2514
2515
2516
2517
2518
2519
2520
2521
2522
2523
2524
2525
2526
2527
2528
2529
2530
2531
2532
2533
2534
2535
2536
2537
2538
2539
2540
2541
2542
2543
2544
2545
2546
2547
2548
2549
2550
2551
2552
2553
2554
2555
2556
2557
2558
2559
2560
2561
2562
2563
2564
2565
2566
2567
2568
2569
2570
2571
2572
2573
2574
2575
2576
2577
2578
2579
2580
2581
2582
2583
2584
2585
2586
2587
2588
2589
2590
2591
2592
2593
2594
2595
2596
2597
2598
2599
2600
2601
2602
2603
2604
2605
2606
2607
2608
2609
2610
2611
2612
2613
2614
2615
2616
2617
2618
2619
2620
2621
2622
2623
2624
2625
2626
2627
2628
2629
2630
2631
2632
2633
2634
2635
2636
2637
2638
2639
2640
2641
2642
2643
2644
2645
2646
2647
2648
2649
2650
2651
2652
2653
2654
2655
2656
2657
2658
2659
2660
2661
2662
2663
2664
2665
2666
2667
2668
2669
2670
2671
2672
2673
2674
2675
2676
2677
2678
2679
2680
2681
2682
2683
2684
2685
2686
2687
2688
2689
2690
2691
2692
2693
2694
2695
2696
2697
2698
2699
2700
2701
2702
2703
2704
2705
2706
2707
2708
2709
2710
2711
2712
2713
2714
2715
2716
2717
2718
2719
2720
2721
2722
2723
2724
2725
2726
2727
2728
2729
2730
2731
2732
2733
2734
2735
2736
2737
2738
2739
2740
2741
2742
2743
2744
2745
2746
2747
2748
2749
2750
2751
2752
2753
2754
2755
2756
2757
2758
2759
2760
2761
2762
2763
2764
2765
2766
2767
2768
2769
2770
2771
2772
2773
2774
2775
2776
2777
2778
2779
2780
2781
2782
2783
2784
2785
2786
2787
2788
2789
2790
2791
2792
2793
2794
2795
2796
2797
2798
2799
2800
2801
2802
2803
2804
2805
2806
2807
2808
2809
2810
2811
2812
2813
2814
2815
2816
2817
2818
2819
2820
2821
2822
2823
2824
2825
2826
2827
2828
2829
2830
2831
2832
2833
2834
2835
2836
2837
2838
2839
2840
2841
2842
2843
2844
2845
2846
2847
2848
2849
2850
2851
2852
2853
2854
2855
2856
2857
2858
2859
2860
2861
2862
2863
2864
2865
2866
2867
2868
2869
2870
2871
2872
2873
2874
2875
2876
2877
2878
2879
2880
2881
2882
2883
2884
2885
2886
2887
2888
2889
2890
2891
2892
2893
2894
2895
2896
2897
2898
2899
2900
2901
2902
2903
2904
2905
2906
2907
2908
2909
2910
2911
2912
2913
2914
2915
2916
2917
2918
2919
2920
2921
2922
2923
2924
2925
2926
2927
2928
2929
2930
2931
2932
2933
2934
2935
2936
2937
2938
2939
2940
2941
2942
2943
2944
2945
2946
2947
2948
2949
2950
2951
2952
2953
2954
2955
2956
2957
2958
2959
2960
2961
2962
2963
2964
2965
2966
2967
2968
2969
2970
2971
2972
2973
2974
2975
2976
2977
2978
2979
2980
2981
2982
2983
2984
2985
2986
2987
2988
2989
2990
2991
2992
2993
2994
2995
2996
2997
2998
2999
3000
3001
3002
3003
3004
3005
3006
3007
3008
3009
3010
3011
3012
3013
3014
3015
3016
3017
3018
3019
3020
3021
3022
3023
3024
3025
3026
3027
3028
3029
3030
3031
3032
3033
3034
3035
3036
3037
3038
3039
3040
3041
3042
3043
3044
3045
3046
3047
3048
3049
3050
3051
3052
3053
3054
3055
3056
3057
3058
3059
3060
3061
3062
3063
3064
3065
3066
3067
3068
3069
3070
3071
3072
3073
3074
3075
3076
3077
3078
3079
3080
3081
3082
3083
3084
3085
3086
3087
3088
3089
3090
3091
3092
3093
3094
3095
3096
3097
3098
3099
3100
3101
3102
3103
3104
3105
3106
3107
3108
3109
3110
3111
3112
3113
3114
3115
3116
3117
3118
3119
3120
3121
3122
3123
3124
3125
3126
3127
3128
3129
3130
3131
3132
3133
3134
3135
3136
3137
3138
3139
3140
3141
3142
3143
3144
3145
3146
3147
3148
3149
3150
3151
3152
3153
3154
3155
3156
3157
3158
3159
3160
3161
3162
3163
3164
3165
3166
3167
3168
3169
3170
3171
3172
3173
3174
3175
3176
3177
3178
3179
3180
3181
3182
3183
3184
3185
3186
3187
3188
3189
3190
3191
3192
3193
3194
3195
3196
3197
3198
3199
3200
3201
3202
3203
3204
3205
3206
3207
3208
3209
3210
3211
3212
3213
3214
3215
3216
3217
3218
3219
3220
3221
3222
3223
3224
3225
3226
3227
3228
3229
3230
3231
3232
3233
3234
3235
3236
3237
3238
3239
3240
3241
3242
3243
3244
3245
3246
3247
3248
3249
3250
3251
3252
3253
3254
3255
3256
3257
3258
3259
3260
3261
3262
3263
3264
3265
3266
3267
3268
3269
3270
3271
3272
3273
3274
3275
3276
3277
3278
3279
3280
3281
3282
3283
3284
3285
3286
3287
3288
3289
3290
3291
3292
3293
3294
3295
3296
3297
3298
3299
3300
3301
3302
3303
3304
3305
3306
3307
3308
3309
3310
3311
3312
3313
3314
3315
3316
3317
3318
3319
3320
3321
3322
3323
3324
3325
3326
3327
3328
3329
3330
3331
3332
3333
3334
3335
3336
3337
3338
3339
3340
3341
3342
3343
3344
3345
3346
3347
3348
3349
3350
3351
3352
3353
3354
3355
3356
3357
3358
3359
3360
3361
3362
3363
3364
3365
3366
3367
3368
3369
3370
3371
3372
3373
3374
3375
3376
3377
3378
3379
3380
3381
3382
3383
3384
3385
3386
3387
3388
3389
3390
3391
3392
3393
3394
3395
3396
3397
3398
3399
3400
3401
3402
3403
3404
3405
3406
3407
3408
3409
3410
3411
3412
3413
3414
3415
3416
3417
3418
3419
3420
3421
3422
3423
3424
3425
3426
3427
3428
3429
3430
3431
3432
3433
3434
3435
3436
3437
3438
3439
3440
3441
3442
3443
3444
3445
3446
3447
3448
3449
3450
3451
3452
3453
3454
3455
3456
3457
3458
3459
3460
3461
3462
3463
3464
3465
3466
3467
3468
3469
3470
3471
3472
3473
3474
3475
3476
3477
3478
3479
3480
3481
3482
3483
3484
3485
3486
3487
3488
3489
3490
3491
3492
3493
3494
3495
3496
3497
3498
3499
3500
3501
3502
3503
3504
3505
3506
3507
3508
3509
3510
3511
3512
3513
3514
3515
3516
3517
3518
3519
3520
3521
3522
3523
3524
3525
3526
3527
3528
3529
3530
3531
3532
3533
3534
3535
3536
3537
3538
3539
3540
3541
3542
3543
3544
3545
3546
3547
3548
3549
3550
3551
3552
3553
3554
3555
3556
3557
3558
3559
3560
3561
3562
3563
3564
3565
3566
3567
3568
3569
3570
3571
3572
3573
3574
3575
3576
3577
3578
3579
3580
3581
3582
3583
3584
3585
3586
3587
3588
3589
3590
3591
3592
3593
3594
3595
3596
3597
3598
3599
3600
3601
3602
3603
3604
3605
3606
3607
3608
3609
3610
3611
3612
3613
3614
3615
3616
3617
3618
3619
3620
3621
3622
3623
3624
3625
3626
3627
3628
3629
3630
3631
3632
3633
3634
3635
3636
3637
3638
3639
3640
3641
3642
3643
3644
3645
3646
3647
3648
3649
3650
3651
3652
3653
3654
3655
3656
3657
3658
3659
3660
3661
3662
3663
3664
3665
3666
3667
3668
3669
3670
3671
3672
3673
3674
3675
3676
3677
3678
3679
3680
3681
3682
3683
3684
3685
3686
3687
3688
3689
3690
3691
3692
3693
3694
3695
3696
3697
3698
3699
3700
3701
3702
3703
3704
3705
3706
3707
3708
3709
3710
3711
3712
3713
3714
3715
3716
3717
3718
3719
3720
3721
3722
3723
3724
3725
3726
3727
3728
3729
3730
3731
3732
3733
3734
3735
3736
3737
3738
3739
3740
3741
3742
3743
3744
3745
3746
3747
3748
3749
3750
3751
3752
3753
3754
3755
3756
3757
3758
3759
3760
3761
3762
3763
3764
3765
3766
3767
3768
3769
3770
3771
3772
3773
3774
3775
3776
3777
3778
3779
3780
3781
3782
3783
3784
3785
3786
3787
3788
3789
3790
3791
3792
3793
3794
3795
3796
3797
3798
3799
3800
3801
3802
3803
3804
3805
3806
3807
3808
3809
3810
3811
3812
3813
3814
3815
3816
3817
3818
3819
3820
3821
3822
3823
3824
3825
3826
3827
3828
3829
3830
3831
3832
3833
3834
3835
3836
3837
3838
3839
3840
3841
3842
3843
3844
3845
3846
3847
3848
3849
3850
3851
3852
3853
3854
3855
3856
3857
3858
3859
3860
3861
3862
3863
3864
3865
3866
3867
3868
3869
3870
3871
3872
3873
3874
3875
3876
3877
3878
3879
3880
3881
3882
3883
3884
3885
3886
3887
3888
3889
3890
3891
3892
3893
3894
3895
3896
3897
3898
3899
3900
3901
3902
3903
3904
3905
3906
3907
3908
3909
3910
3911
3912
3913
3914
3915
3916
3917
3918
3919
3920
3921
3922
3923
3924
3925
3926
3927
3928
3929
3930
3931
3932
3933
3934
3935
3936
3937
3938
3939
3940
3941
3942
3943
3944
3945
3946
3947
3948
3949
3950
3951
3952
3953
3954
3955
3956
3957
3958
3959
3960
3961
3962
3963
3964
3965
3966
3967
3968
3969
3970
3971
3972
3973
3974
3975
3976
3977
3978
3979
3980
3981
3982
3983
3984
3985
3986
3987
3988
3989
3990
3991
3992
3993
3994
3995
3996
3997
3998
3999
4000
4001
4002
4003
4004
4005
4006
4007
4008
4009
4010
4011
4012
4013
4014
4015
4016
4017
4018
4019
4020
4021
4022
4023
4024
4025
4026
4027
4028
4029
4030
4031
4032
4033
4034
4035
4036
4037
4038
4039
4040
4041
4042
4043
4044
4045
4046
4047
4048
4049
4050
4051
4052
4053
4054
4055
4056
4057
4058
4059
4060
4061
4062
4063
4064
4065
4066
4067
4068
4069
4070
4071
4072
4073
4074
4075
4076
4077
4078
4079
4080
4081
4082
4083
4084
4085
4086
4087
4088
4089
4090
4091
4092
4093
4094
4095
4096
4097
4098
4099
4100
4101
4102
4103
4104
4105
4106
4107
4108
4109
4110
4111
4112
4113
4114
4115
4116
4117
4118
4119
4120
4121
4122
4123
4124
4125
4126
4127
4128
4129
4130
4131
4132
4133
4134
4135
4136
4137
4138
4139
4140
4141
4142
4143
4144
4145
4146
4147
4148
4149
4150
4151
4152
4153
4154
4155
4156
4157
4158
4159
4160
4161
4162
4163
4164
4165
4166
4167
4168
4169
4170
4171
4172
4173
4174
4175
4176
4177
4178
4179
4180
4181
4182
4183
4184
4185
4186
4187
4188
4189
4190
4191
4192
4193
4194
4195
4196
4197
4198
4199
4200
4201
4202
4203
4204
4205
4206
4207
4208
4209
4210
4211
4212
4213
4214
4215
4216
4217
4218
4219
4220
4221
4222
4223
4224
4225
4226
4227
4228
4229
4230
4231
4232
4233
4234
4235
4236
4237
4238
4239
4240
4241
4242
4243
4244
4245
4246
4247
4248
4249
4250
4251
4252
4253
4254
4255
4256
4257
4258
4259
4260
4261
4262
4263
4264
4265
4266
4267
4268
4269
4270
4271
4272
4273
4274
4275
4276
4277
4278
4279
4280
4281
4282
4283
4284
4285
4286
4287
4288
4289
4290
4291
4292
4293
4294
4295
4296
4297
4298
4299
4300
4301
4302
4303
4304
4305
4306
4307
4308
4309
4310
4311
4312
4313
4314
4315
4316
4317
4318
4319
4320
4321
4322
4323
4324
4325
4326
4327
4328
4329
4330
4331
4332
4333
4334
4335
4336
4337
4338
4339
4340
4341
4342
4343
4344
4345
4346
4347
4348
4349
4350
4351
4352
4353
4354
4355
4356
4357
4358
4359
4360
4361
4362
4363
4364
4365
4366
4367
4368
4369
4370
4371
4372
4373
4374
4375
4376
4377
4378
4379
4380
4381
4382
4383
4384
4385
4386
4387
4388
4389
4390
4391
4392
4393
4394
4395
4396
4397
4398
4399
4400
4401
4402
4403
4404
4405
4406
4407
4408
4409
4410
4411
4412
4413
4414
4415
4416
4417
4418
4419
4420
4421
4422
4423
4424
4425
4426
4427
4428
4429
4430
4431
4432
4433
4434
4435
4436
4437
4438
4439
4440
4441
4442
4443
4444
4445
4446
4447
4448
4449
4450
4451
4452
4453
4454
4455
4456
4457
4458
4459
4460
4461
4462
4463
4464
4465
4466
4467
4468
4469
4470
4471
4472
4473
4474
4475
4476
4477
4478
4479
4480
4481
4482
4483
4484
4485
4486
4487
4488
4489
4490
4491
4492
4493
4494
4495
4496
4497
4498
4499
4500
4501
4502
4503
4504
4505
4506
4507
4508
4509
4510
4511
4512
4513
4514
4515
4516
4517
4518
4519
4520
4521
4522
4523
4524
4525
4526
4527
4528
4529
4530
4531
4532
4533
4534
4535
4536
4537
4538
4539
4540
4541
4542
4543
4544
4545
4546
4547
4548
4549
4550
4551
4552
4553
4554
4555
4556
4557
4558
4559
4560
4561
4562
4563
4564
4565
4566
4567
4568
4569
4570
4571
4572
4573
4574
4575
4576
4577
4578
4579
4580
4581
4582
4583
4584
4585
4586
4587
4588
4589
4590
4591
4592
4593
4594
4595
4596
4597
4598
4599
4600
4601
4602
4603
4604
4605
4606
4607
4608
4609
4610
4611
4612
4613
4614
4615
4616
4617
4618
4619
4620
4621
4622
4623
4624
4625
4626
4627
4628
4629
4630
4631
4632
4633
4634
4635
4636
4637
4638
4639
4640
4641
4642
4643
4644
4645
4646
4647
4648
4649
4650
4651
4652
4653
4654
4655
4656
4657
4658
4659
4660
4661
4662
4663
4664
4665
4666
4667
4668
4669
4670
4671
4672
4673
4674
4675
4676
4677
4678
4679
4680
4681
4682
4683
4684
4685
4686
4687
4688
4689
4690
4691
4692
4693
4694
4695
4696
4697
4698
4699
4700
4701
4702
4703
4704
4705
4706
4707
4708
4709
4710
4711
4712
4713
4714
4715
4716
4717
4718
4719
4720
4721
4722
4723
4724
4725
4726
4727
4728
4729
4730
4731
4732
4733
4734
4735
4736
4737
4738
4739
4740
4741
4742
4743
4744
4745
4746
4747
4748
4749
4750
4751
4752
4753
4754
4755
4756
4757
4758
4759
4760
4761
4762
4763
4764
4765
4766
4767
4768
4769
4770
4771
4772
4773
4774
4775
4776
4777
4778
4779
4780
4781
4782
4783
4784
4785
4786
4787
4788
4789
4790
4791
4792
4793
4794
4795
4796
4797
4798
4799
4800
4801
4802
4803
4804
4805
4806
4807
4808
4809
4810
4811
4812
4813
4814
4815
4816
4817
4818
4819
4820
4821
4822
4823
4824
4825
4826
4827
4828
4829
4830
4831
4832
4833
4834
4835
4836
4837
4838
4839
4840
4841
4842
4843
4844
4845
4846
4847
4848
4849
4850
4851
4852
4853
4854
4855
4856
4857
4858
4859
4860
4861
4862
4863
4864
4865
4866
4867
4868
4869
4870
4871
4872
4873
4874
4875
4876
4877
4878
4879
4880
4881
4882
4883
4884
4885
4886
4887
4888
4889
4890
4891
4892
4893
4894
4895
4896
4897
4898
4899
4900
4901
4902
4903
4904
4905
4906
4907
4908
4909
4910
4911
4912
4913
4914
4915
4916
4917
4918
4919
4920
4921
4922
4923
4924
4925
4926
4927
4928
4929
4930
4931
4932
4933
4934
4935
4936
4937
4938
4939
4940
4941
4942
4943
4944
4945
4946
4947
4948
4949
4950
4951
4952
4953
4954
4955
4956
4957
4958
4959
4960
4961
4962
4963
4964
4965
4966
4967
4968
4969
4970
4971
4972
4973
4974
4975
4976
4977
4978
4979
4980
4981
4982
4983
4984
4985
4986
4987
4988
4989
4990
4991
4992
4993
4994
4995
4996
4997
4998
4999
5000
5001
5002
5003
5004
5005
5006
5007
5008
5009
5010
5011
5012
5013
5014
5015
5016
5017
5018
5019
5020
5021
5022
5023
5024
5025
5026
5027
5028
5029
5030
5031
5032
5033
5034
5035
5036
5037
5038
5039
5040
5041
5042
5043
5044
5045
5046
5047
5048
5049
5050
5051
5052
5053
5054
5055
5056
5057
5058
5059
5060
5061
5062
5063
5064
5065
5066
5067
5068
5069
5070
5071
5072
5073
5074
5075
5076
5077
5078
5079
5080
5081
5082
5083
5084
5085
5086
5087
5088
5089
5090
5091
5092
5093
5094
5095
5096
5097
5098
5099
5100
5101
5102
5103
5104
5105
5106
5107
5108
5109
5110
5111
5112
5113
5114
5115
5116
5117
5118
5119
5120
5121
5122
5123
5124
5125
5126
5127
5128
5129
5130
5131
5132
5133
5134
5135
5136
5137
5138
5139
5140
5141
5142
5143
5144
5145
5146
5147
5148
5149
5150
5151
5152
5153
5154
5155
5156
5157
5158
5159
5160
5161
5162
5163
5164
5165
5166
5167
5168
5169
5170
5171
5172
5173
5174
5175
5176
5177
5178
5179
5180
5181
5182
5183
5184
5185
5186
5187
5188
5189
5190
5191
5192
5193
5194
5195
5196
5197
5198
5199
5200
5201
5202
5203
5204
5205
5206
5207
5208
5209
5210
5211
5212
5213
5214
5215
5216
5217
5218
5219
5220
5221
5222
5223
5224
5225
5226
5227
5228
5229
5230
5231
5232
5233
5234
5235
5236
5237
5238
5239
5240
5241
5242
5243
5244
5245
5246
5247
5248
5249
5250
5251
5252
5253
5254
5255
5256
5257
5258
5259
5260
5261
5262
5263
5264
5265
5266
5267
5268
5269
5270
5271
5272
5273
5274
5275
5276
5277
5278
5279
5280
5281
5282
5283
5284
5285
5286
5287
5288
5289
5290
5291
5292
5293
5294
5295
5296
5297
5298
5299
5300
5301
5302
5303
5304
5305
5306
5307
5308
5309
5310
5311
5312
5313
5314
5315
5316
5317
5318
5319
5320
5321
5322
5323
5324
5325
5326
5327
5328
5329
5330
5331
5332
5333
5334
5335
5336
5337
5338
5339
5340
5341
5342
5343
5344
5345
5346
5347
5348
5349
5350
5351
5352
5353
5354
5355
5356
5357
5358
5359
5360
5361
5362
5363
5364
5365
5366
5367
5368
5369
5370
5371
5372
5373
5374
5375
5376
5377
5378
5379
5380
5381
5382
5383
5384
5385
5386
5387
5388
5389
5390
5391
5392
5393
5394
5395
5396
5397
5398
5399
5400
5401
5402
5403
5404
5405
5406
5407
5408
5409
5410
5411
5412
5413
5414
5415
5416
5417
5418
5419
5420
5421
5422
5423
5424
5425
5426
5427
5428
5429
5430
5431
5432
5433
5434
5435
5436
5437
5438
5439
5440
5441
5442
5443
5444
5445
5446
5447
5448
5449
5450
5451
5452
5453
5454
5455
5456
5457
5458
5459
5460
5461
5462
5463
5464
5465
5466
5467
5468
5469
5470
5471
5472
5473
5474
5475
5476
5477
5478
5479
5480
5481
5482
5483
5484
5485
5486
5487
5488
5489
5490
5491
5492
5493
5494
5495
5496
5497
5498
5499
5500
5501
5502
5503
5504
5505
5506
5507
5508
5509
5510
5511
5512
5513
5514
5515
5516
5517
5518
5519
5520
5521
5522
5523
5524
5525
5526
5527
5528
5529
5530
5531
5532
5533
5534
5535
5536
5537
5538
5539
5540
5541
5542
5543
5544
5545
5546
5547
5548
5549
5550
5551
5552
5553
5554
5555
5556
5557
5558
5559
5560
5561
5562
5563
5564
5565
5566
5567
5568
5569
5570
5571
5572
5573
5574
5575
5576
5577
5578
5579
5580
5581
5582
5583
5584
5585
5586
5587
5588
5589
5590
5591
5592
5593
5594
5595
5596
5597
5598
5599
5600
5601
5602
5603
5604
5605
5606
5607
5608
5609
5610
5611
5612
5613
5614
5615
5616
5617
5618
5619
5620
5621
5622
5623
5624
5625
5626
5627
5628
5629
5630
5631
5632
5633
5634
5635
5636
5637
5638
5639
5640
5641
5642
5643
5644
5645
5646
5647
5648
5649
5650
5651
5652
5653
5654
5655
5656
5657
5658
5659
5660
5661
5662
5663
5664
5665
5666
5667
5668
5669
5670
5671
5672
5673
5674
5675
5676
5677
5678
5679
5680
5681
5682
5683
5684
5685
5686
5687
5688
5689
5690
5691
5692
5693
5694
5695
5696
5697
5698
5699
5700
5701
5702
5703
5704
5705
5706
5707
5708
5709
5710
5711
5712
5713
5714
5715
5716
5717
5718
5719
5720
5721
5722
5723
5724
5725
5726
5727
5728
5729
5730
5731
5732
5733
5734
5735
5736
5737
5738
5739
5740
5741
5742
5743
5744
5745
5746
5747
5748
5749
5750
5751
5752
5753
5754
5755
5756
5757
5758
5759
5760
5761
5762
5763
5764
5765
5766
5767
5768
5769
5770
5771
5772
5773
5774
5775
5776
5777
5778
5779
5780
5781
5782
5783
5784
5785
5786
5787
5788
5789
5790
5791
5792
5793
5794
5795
5796
5797
5798
5799
5800
5801
5802
5803
5804
5805
5806
5807
5808
5809
5810
5811
5812
5813
5814
5815
5816
5817
5818
5819
5820
5821
5822
5823
5824
5825
5826
5827
5828
5829
5830
5831
5832
5833
5834
5835
5836
5837
5838
5839
5840
5841
5842
5843
5844
5845
5846
5847
5848
5849
5850
5851
5852
5853
5854
5855
5856
5857
5858
5859
5860
5861
5862
5863
5864
5865
5866
5867
5868
5869
5870
5871
5872
5873
5874
5875
5876
5877
5878
5879
5880
5881
5882
5883
5884
5885
5886
5887
5888
5889
5890
5891
5892
5893
5894
5895
5896
5897
5898
5899
5900
5901
5902
5903
5904
5905
5906
5907
5908
5909
5910
5911
5912
5913
5914
5915
5916
5917
5918
5919
5920
5921
5922
5923
5924
5925
5926
5927
5928
5929
5930
5931
5932
5933
5934
5935
5936
5937
5938
5939
5940
5941
5942
5943
5944
5945
5946
5947
5948
5949
5950
5951
5952
5953
5954
5955
5956
5957
5958
5959
5960
5961
5962
5963
5964
5965
5966
5967
5968
5969
5970
5971
5972
5973
5974
5975
5976
5977
5978
5979
5980
5981
5982
5983
5984
5985
5986
5987
5988
5989
5990
5991
5992
5993
5994
5995
5996
5997
5998
5999
6000
6001
6002
6003
6004
6005
6006
6007
6008
6009
6010
6011
6012
6013
6014
6015
6016
6017
6018
6019
6020
6021
6022
6023
6024
6025
6026
6027
6028
6029
6030
6031
6032
6033
6034
6035
6036
6037
6038
6039
6040
6041
6042
6043
6044
6045
6046
6047
6048
6049
6050
6051
6052
6053
6054
6055
6056
6057
6058
6059
6060
6061
6062
6063
6064
6065
6066
6067
6068
6069
6070
6071
6072
6073
6074
6075
6076
6077
6078
6079
6080
6081
6082
6083
6084
6085
6086
6087
6088
6089
6090
6091
6092
6093
6094
6095
6096
6097
6098
6099
6100
6101
6102
6103
6104
6105
6106
6107
6108
6109
6110
6111
6112
6113
6114
6115
6116
6117
6118
6119
6120
6121
6122
6123
6124
6125
6126
6127
6128
6129
6130
6131
6132
6133
6134
6135
6136
6137
6138
6139
6140
6141
6142
6143
6144
6145
6146
6147
6148
6149
6150
6151
6152
6153
6154
6155
6156
6157
6158
6159
6160
6161
6162
6163
6164
6165
6166
6167
6168
6169
6170
6171
6172
6173
6174
6175
6176
6177
6178
6179
6180
6181
6182
6183
6184
6185
6186
6187
6188
6189
6190
6191
6192
6193
6194
6195
6196
6197
6198
6199
6200
6201
6202
6203
6204
6205
6206
6207
6208
6209
6210
6211
6212
6213
6214
6215
6216
6217
6218
6219
6220
6221
6222
6223
6224
6225
6226
6227
6228
6229
6230
6231
6232
6233
6234
6235
6236
6237
6238
6239
6240
6241
6242
6243
6244
6245
6246
6247
6248
6249
6250
6251
6252
6253
6254
6255
6256
6257
6258
6259
6260
6261
6262
6263
6264
6265
6266
6267
6268
6269
6270
6271
6272
6273
6274
6275
6276
6277
6278
6279
6280
6281
6282
6283
6284
6285
6286
6287
6288
6289
6290
6291
6292
6293
6294
6295
6296
6297
6298
6299
6300
6301
6302
6303
6304
6305
6306
6307
6308
6309
6310
6311
6312
6313
6314
6315
6316
6317
6318
6319
6320
6321
6322
6323
6324
6325
6326
6327
6328
6329
6330
6331
6332
6333
6334
6335
6336
6337
6338
6339
6340
6341
6342
6343
6344
6345
6346
6347
6348
6349
6350
6351
6352
6353
6354
6355
6356
6357
6358
6359
6360
6361
6362
6363
6364
6365
6366
6367
6368
6369
6370
6371
6372
6373
6374
6375
6376
6377
6378
6379
6380
6381
6382
6383
6384
6385
6386
6387
6388
6389
6390
6391
6392
6393
6394
6395
6396
6397
6398
6399
6400
6401
6402
6403
6404
6405
6406
6407
6408
6409
6410
6411
6412
6413
6414
6415
6416
6417
6418
6419
6420
6421
6422
6423
6424
6425
6426
6427
6428
6429
6430
6431
6432
6433
6434
6435
6436
6437
6438
6439
6440
6441
6442
6443
6444
6445
6446
6447
6448
6449
6450
6451
6452
6453
6454
6455
6456
6457
6458
6459
6460
6461
6462
6463
6464
6465
6466
6467
6468
6469
6470
6471
6472
6473
6474
6475
6476
6477
6478
6479
6480
6481
6482
6483
6484
6485
6486
6487
6488
6489
6490
6491
6492
6493
6494
6495
6496
6497
6498
6499
6500
6501
6502
6503
6504
6505
6506
6507
6508
6509
6510
6511
6512
6513
6514
6515
6516
6517
6518
6519
6520
6521
6522
6523
6524
6525
6526
6527
6528
6529
6530
6531
6532
6533
6534
6535
6536
6537
6538
6539
6540
6541
6542
6543
6544
6545
6546
6547
6548
6549
6550
6551
6552
6553
6554
6555
6556
6557
6558
6559
6560
6561
6562
6563
6564
6565
6566
6567
6568
6569
6570
6571
6572
6573
6574
6575
6576
6577
6578
6579
6580
6581
6582
6583
6584
6585
6586
6587
6588
6589
6590
6591
6592
6593
6594
6595
6596
6597
6598
6599
6600
6601
6602
6603
6604
6605
6606
6607
6608
6609
6610
6611
6612
6613
6614
6615
6616
6617
6618
6619
6620
6621
6622
6623
6624
6625
6626
6627
6628
6629
6630
6631
6632
6633
6634
6635
6636
6637
6638
6639
6640
6641
6642
6643
6644
6645
6646
6647
6648
6649
6650
6651
6652
6653
6654
6655
6656
6657
6658
6659
6660
6661
6662
6663
6664
6665
6666
6667
6668
6669
6670
6671
6672
6673
6674
6675
6676
6677
6678
6679
6680
6681
6682
6683
6684
6685
6686
6687
6688
6689
6690
6691
6692
6693
6694
6695
6696
6697
6698
6699
6700
6701
6702
6703
6704
6705
6706
6707
6708
6709
6710
6711
6712
6713
6714
6715
6716
6717
6718
6719
6720
6721
6722
6723
6724
6725
6726
6727
6728
6729
6730
6731
6732
6733
6734
6735
6736
6737
6738
6739
6740
6741
6742
6743
6744
6745
6746
6747
6748
6749
6750
6751
6752
6753
6754
6755
6756
6757
6758
6759
6760
6761
6762
6763
6764
6765
6766
6767
6768
6769
6770
6771
6772
6773
6774
6775
6776
6777
6778
6779
6780
6781
6782
6783
6784
6785
6786
6787
6788
6789
6790
6791
6792
6793
6794
6795
6796
6797
6798
6799
6800
6801
6802
6803
6804
6805
6806
6807
6808
6809
6810
6811
6812
6813
6814
6815
6816
6817
6818
6819
6820
6821
6822
6823
6824
6825
6826
6827
6828
6829
6830
6831
6832
6833
6834
6835
6836
6837
6838
6839
6840
6841
6842
6843
6844
6845
6846
6847
6848
6849
6850
6851
6852
6853
6854
6855
6856
6857
6858
6859
6860
6861
6862
6863
6864
6865
6866
6867
6868
6869
6870
6871
6872
6873
6874
6875
6876
6877
6878
6879
6880
6881
6882
6883
6884
6885
6886
6887
6888
6889
6890
6891
6892
6893
6894
6895
6896
6897
6898
6899
6900
6901
6902
6903
6904
6905
6906
6907
6908
6909
6910
6911
6912
6913
6914
6915
6916
6917
6918
6919
6920
6921
6922
6923
6924
6925
6926
6927
6928
6929
6930
6931
6932
6933
6934
6935
6936
6937
6938
6939
6940
6941
6942
6943
6944
6945
6946
6947
6948
6949
6950
6951
6952
6953
6954
6955
6956
6957
6958
6959
6960
6961
6962
6963
6964
6965
6966
6967
6968
6969
6970
6971
6972
6973
6974
6975
6976
6977
6978
6979
6980
6981
6982
6983
6984
6985
6986
6987
6988
6989
6990
6991
6992
6993
6994
6995
6996
6997
6998
6999
7000
7001
7002
7003
7004
7005
7006
7007
7008
7009
7010
7011
7012
7013
7014
7015
7016
7017
7018
7019
7020
7021
7022
7023
7024
7025
7026
7027
7028
7029
7030
7031
7032
7033
7034
7035
7036
7037
7038
7039
7040
7041
7042
7043
7044
7045
7046
7047
7048
7049
7050
7051
7052
7053
7054
7055
7056
7057
7058
7059
7060
7061
7062
7063
7064
7065
7066
7067
7068
7069
7070
7071
7072
7073
7074
7075
7076
7077
7078
7079
7080
7081
7082
7083
7084
7085
7086
7087
7088
7089
7090
7091
7092
7093
7094
7095
7096
7097
7098
7099
7100
7101
7102
7103
7104
7105
7106
7107
7108
7109
7110
7111
7112
7113
7114
7115
7116
7117
7118
7119
7120
7121
7122
7123
7124
7125
7126
7127
7128
7129
7130
7131
7132
7133
7134
7135
7136
7137
7138
7139
7140
7141
7142
7143
7144
7145
7146
7147
7148
7149
7150
7151
7152
7153
7154
7155
7156
7157
7158
7159
7160
7161
7162
7163
7164
7165
7166
7167
7168
7169
7170
7171
7172
7173
7174
7175
7176
7177
7178
7179
7180
7181
7182
7183
7184
7185
7186
7187
7188
7189
7190
7191
7192
7193
7194
7195
7196
7197
7198
7199
7200
7201
7202
7203
7204
7205
7206
7207
7208
7209
7210
7211
7212
7213
7214
7215
7216
7217
7218
7219
7220
7221
7222
7223
7224
7225
7226
7227
7228
7229
7230
7231
7232
7233
7234
7235
7236
7237
7238
7239
7240
7241
7242
7243
7244
7245
7246
7247
7248
7249
7250
7251
7252
7253
7254
7255
7256
7257
7258
7259
7260
7261
7262
7263
7264
7265
7266
7267
7268
7269
7270
7271
7272
7273
7274
7275
7276
7277
7278
7279
7280
7281
7282
7283
7284
7285
7286
7287
7288
7289
7290
7291
7292
7293
7294
7295
7296
7297
7298
7299
7300
7301
7302
7303
7304
7305
7306
7307
7308
7309
7310
7311
7312
7313
7314
7315
7316
7317
7318
7319
7320
7321
7322
7323
7324
7325
7326
7327
7328
7329
7330
7331
7332
7333
7334
7335
7336
7337
7338
7339
7340
7341
7342
7343
7344
7345
7346
7347
7348
7349
7350
7351
7352
7353
7354
7355
7356
7357
7358
7359
7360
7361
7362
7363
7364
7365
7366
7367
7368
7369
7370
7371
7372
7373
7374
7375
7376
7377
7378
7379
7380
7381
7382
7383
7384
7385
7386
7387
7388
7389
7390
7391
7392
7393
7394
7395
7396
7397
7398
7399
7400
7401
7402
7403
7404
7405
7406
7407
7408
7409
7410
7411
7412
7413
7414
7415
7416
7417
7418
7419
7420
7421
7422
7423
7424
7425
7426
7427
7428
7429
7430
7431
7432
7433
7434
7435
7436
7437
7438
7439
7440
7441
7442
7443
7444
7445
7446
7447
7448
7449
7450
7451
7452
7453
7454
7455
7456
7457
7458
7459
7460
7461
7462
7463
7464
7465
7466
7467
7468
7469
7470
7471
7472
7473
7474
7475
7476
7477
7478
7479
7480
7481
7482
7483
7484
7485
7486
7487
7488
7489
7490
7491
7492
7493
7494
7495
7496
7497
7498
7499
7500
7501
7502
7503
7504
7505
7506
7507
7508
7509
7510
7511
7512
7513
7514
7515
7516
7517
7518
7519
7520
7521
7522
7523
7524
7525
7526
7527
7528
7529
7530
7531
7532
7533
7534
7535
7536
7537
7538
7539
7540
7541
7542
7543
7544
7545
7546
7547
7548
7549
7550
7551
7552
7553
7554
7555
7556
7557
7558
7559
7560
7561
7562
7563
7564
7565
7566
7567
7568
7569
7570
7571
7572
7573
7574
7575
7576
7577
7578
7579
7580
7581
7582
7583
7584
7585
7586
7587
7588
7589
7590
7591
7592
7593
7594
7595
7596
7597
7598
7599
7600
7601
7602
7603
7604
7605
7606
7607
7608
7609
7610
7611
7612
7613
7614
7615
7616
7617
7618
7619
7620
7621
7622
7623
7624
7625
7626
7627
7628
7629
7630
7631
7632
7633
7634
7635
7636
7637
7638
7639
7640
7641
7642
7643
7644
7645
7646
7647
7648
7649
7650
7651
7652
7653
7654
7655
7656
7657
7658
7659
7660
7661
7662
7663
7664
7665
7666
7667
7668
7669
7670
7671
7672
7673
7674
7675
7676
7677
7678
7679
7680
7681
7682
7683
7684
7685
7686
7687
7688
7689
7690
7691
7692
7693
7694
7695
7696
7697
7698
7699
7700
7701
7702
7703
7704
7705
7706
7707
7708
7709
7710
7711
7712
7713
7714
7715
7716
7717
7718
7719
7720
7721
7722
7723
7724
7725
7726
7727
7728
7729
7730
7731
7732
7733
7734
7735
7736
7737
7738
7739
7740
7741
7742
7743
7744
7745
7746
7747
7748
7749
7750
7751
7752
7753
7754
7755
7756
7757
7758
7759
7760
7761
7762
7763
7764
7765
7766
7767
7768
7769
7770
7771
7772
7773
7774
7775
7776
7777
7778
7779
7780
7781
7782
7783
7784
7785
7786
7787
7788
7789
7790
7791
7792
7793
7794
7795
7796
7797
7798
7799
7800
7801
7802
7803
7804
7805
7806
7807
7808
7809
7810
7811
7812
7813
7814
7815
7816
7817
7818
7819
7820
7821
7822
7823
7824
7825
7826
7827
7828
7829
7830
7831
7832
7833
7834
7835
7836
7837
7838
7839
7840
7841
7842
7843
7844
7845
7846
7847
7848
7849
7850
7851
7852
7853
7854
7855
7856
7857
7858
7859
7860
7861
7862
7863
7864
7865
7866
7867
7868
7869
7870
7871
7872
7873
7874
7875
7876
7877
7878
7879
7880
7881
7882
7883
7884
7885
7886
7887
7888
7889
7890
7891
7892
7893
7894
7895
7896
7897
7898
7899
7900
7901
7902
7903
7904
7905
7906
7907
7908
7909
7910
7911
7912
7913
7914
7915
7916
7917
7918
7919
7920
7921
7922
7923
7924
7925
7926
7927
7928
7929
7930
7931
7932
7933
7934
7935
7936
7937
7938
7939
7940
7941
7942
7943
7944
7945
7946
7947
7948
7949
7950
7951
7952
7953
7954
7955
7956
7957
7958
7959
7960
7961
7962
7963
7964
7965
7966
7967
7968
7969
7970
7971
7972
7973
7974
7975
7976
7977
7978
7979
7980
7981
7982
7983
7984
7985
7986
7987
7988
7989
7990
7991
7992
7993
7994
7995
7996
7997
7998
7999
8000
8001
8002
8003
8004
8005
8006
8007
8008
8009
8010
8011
8012
8013
8014
8015
8016
8017
8018
8019
8020
8021
8022
8023
8024
8025
8026
8027
8028
8029
8030
8031
8032
8033
8034
8035
8036
8037
8038
8039
8040
8041
8042
8043
8044
8045
8046
8047
8048
8049
8050
8051
8052
8053
8054
8055
8056
8057
8058
8059
8060
8061
8062
8063
8064
8065
8066
8067
8068
8069
8070
8071
8072
8073
8074
8075
8076
8077
8078
8079
8080
8081
8082
8083
8084
8085
8086
8087
8088
8089
8090
8091
8092
8093
8094
8095
8096
8097
8098
8099
8100
8101
8102
8103
8104
8105
8106
8107
8108
8109
8110
8111
8112
8113
8114
8115
8116
8117
8118
8119
8120
8121
8122
8123
8124
8125
8126
8127
8128
8129
8130
8131
8132
8133
8134
8135
8136
8137
8138
8139
8140
8141
8142
8143
8144
8145
8146
8147
8148
8149
8150
8151
8152
8153
8154
8155
8156
8157
8158
8159
8160
8161
8162
8163
8164
8165
8166
8167
8168
8169
8170
8171
8172
8173
8174
8175
8176
8177
8178
8179
8180
8181
8182
8183
8184
8185
8186
8187
8188
8189
8190
8191
8192
8193
8194
8195
8196
8197
8198
8199
8200
8201
8202
8203
8204
8205
8206
8207
8208
8209
8210
8211
8212
8213
8214
8215
8216
8217
8218
8219
8220
8221
8222
8223
8224
8225
8226
8227
8228
8229
8230
8231
8232
8233
8234
8235
8236
8237
8238
8239
8240
8241
8242
8243
8244
8245
8246
8247
8248
8249
8250
8251
8252
8253
8254
8255
8256
8257
8258
8259
8260
8261
8262
8263
8264
8265
8266
8267
8268
8269
8270
8271
8272
8273
8274
8275
8276
8277
8278
8279
8280
8281
8282
8283
8284
8285
8286
8287
8288
8289
8290
8291
8292
8293
8294
8295
8296
8297
8298
8299
8300
8301
8302
8303
8304
8305
8306
8307
8308
8309
8310
8311
8312
8313
8314
8315
8316
8317
8318
8319
8320
8321
8322
8323
8324
8325
8326
8327
8328
8329
8330
8331
8332
8333
8334
8335
8336
8337
8338
8339
8340
8341
8342
8343
8344
8345
8346
8347
8348
8349
8350
8351
8352
8353
8354
8355
8356
8357
8358
8359
8360
8361
8362
8363
8364
8365
8366
8367
8368
8369
8370
8371
8372
8373
8374
8375
8376
8377
8378
8379
8380
8381
8382
8383
8384
8385
8386
8387
8388
8389
8390
8391
8392
8393
8394
8395
8396
8397
8398
8399
8400
8401
8402
8403
8404
8405
8406
8407
8408
8409
8410
8411
8412
8413
8414
8415
8416
8417
8418
8419
8420
8421
8422
8423
8424
8425
8426
8427
8428
8429
8430
8431
8432
8433
8434
8435
8436
8437
8438
8439
8440
8441
8442
8443
8444
8445
8446
8447
8448
8449
8450
8451
8452
8453
8454
8455
8456
8457
8458
8459
8460
8461
8462
8463
8464
8465
8466
8467
8468
8469
8470
8471
8472
8473
8474
8475
8476
8477
8478
8479
8480
8481
8482
8483
8484
8485
8486
8487
8488
8489
8490
8491
8492
8493
8494
8495
8496
8497
8498
8499
8500
8501
8502
8503
8504
8505
8506
8507
8508
8509
8510
8511
8512
8513
8514
8515
8516
8517
8518
8519
8520
8521
8522
8523
8524
8525
8526
8527
8528
8529
8530
8531
8532
8533
8534
8535
8536
8537
8538
8539
8540
8541
8542
8543
8544
8545
8546
8547
8548
8549
8550
8551
8552
8553
8554
8555
8556
8557
8558
8559
8560
8561
8562
8563
8564
8565
8566
8567
8568
8569
8570
8571
8572
8573
8574
8575
8576
8577
8578
8579
8580
8581
8582
8583
8584
8585
8586
8587
8588
8589
8590
8591
8592
8593
8594
8595
8596
8597
8598
8599
8600
8601
8602
8603
8604
8605
8606
8607
8608
8609
8610
8611
8612
8613
8614
8615
8616
8617
8618
8619
8620
8621
8622
8623
8624
8625
8626
8627
8628
8629
8630
8631
8632
8633
8634
8635
8636
8637
8638
8639
8640
8641
8642
8643
8644
8645
8646
8647
8648
8649
8650
8651
8652
8653
8654
8655
8656
8657
8658
8659
8660
8661
8662
8663
8664
8665
8666
8667
8668
8669
8670
8671
8672
8673
8674
8675
8676
8677
8678
8679
8680
8681
8682
8683
8684
8685
8686
8687
8688
8689
8690
8691
8692
8693
8694
8695
8696
8697
8698
8699
8700
8701
8702
8703
8704
8705
8706
8707
8708
8709
8710
8711
8712
8713
8714
8715
8716
8717
8718
8719
8720
8721
8722
8723
8724
8725
8726
8727
8728
8729
8730
8731
8732
8733
8734
8735
8736
8737
8738
8739
8740
8741
8742
8743
8744
8745
8746
8747
8748
8749
8750
8751
8752
8753
8754
8755
8756
8757
8758
8759
8760
8761
8762
8763
8764
8765
8766
8767
8768
8769
8770
8771
8772
8773
8774
8775
8776
8777
8778
8779
8780
8781
8782
8783
8784
8785
8786
8787
8788
8789
8790
8791
8792
8793
8794
8795
8796
8797
8798
8799
8800
8801
8802
8803
8804
8805
8806
8807
8808
8809
8810
8811
8812
8813
8814
8815
8816
8817
8818
8819
8820
8821
8822
8823
8824
8825
8826
8827
8828
8829
8830
8831
8832
8833
8834
8835
8836
8837
8838
8839
8840
8841
8842
8843
8844
8845
8846
8847
8848
8849
8850
8851
8852
8853
8854
8855
8856
8857
8858
8859
8860
8861
8862
8863
8864
8865
8866
8867
8868
8869
8870
8871
8872
!(function (t, e) {
    "object" == typeof exports && "object" == typeof module ? (module.exports = e()) : "function" == typeof define && define.amd ? define([], e) : "object" == typeof exports ? (exports.katex = e()) : (t.katex = e());
})("undefined" != typeof self ? self : this, function () {
    return (function (t) {
        var e = {};
        function r(a) {
            if (e[a]) return e[a].exports;
            var n = (e[a] = { i: a, l: !1, exports: {} });
            return t[a].call(n.exports, n, n.exports, r), (n.l = !0), n.exports;
        }
        return (
            (r.m = t),
            (r.c = e),
            (r.d = function (t, e, a) {
                r.o(t, e) || Object.defineProperty(t, e, { enumerable: !0, get: a });
            }),
            (r.r = function (t) {
                "undefined" != typeof Symbol && Symbol.toStringTag && Object.defineProperty(t, Symbol.toStringTag, { value: "Module" }), Object.defineProperty(t, "__esModule", { value: !0 });
            }),
            (r.t = function (t, e) {
                if ((1 & e && (t = r(t)), 8 & e)) return t;
                if (4 & e && "object" == typeof t && t && t.__esModule) return t;
                var a = Object.create(null);
                if ((r.r(a), Object.defineProperty(a, "default", { enumerable: !0, value: t }), 2 & e && "string" != typeof t))
                    for (var n in t)
                        r.d(
                            a,
                            n,
                            function (e) {
                                return t[e];
                            }.bind(null, n)
                        );
                return a;
            }),
            (r.n = function (t) {
                var e =
                    t && t.__esModule
                        ? function () {
                              return t.default;
                          }
                        : function () {
                              return t;
                          };
                return r.d(e, "a", e), e;
            }),
            (r.o = function (t, e) {
                return Object.prototype.hasOwnProperty.call(t, e);
            }),
            (r.p = ""),
            r((r.s = 1))
        );
    })([
        function (t, e, r) {},
        function (t, e, r) {
            "use strict";
            r.r(e);
            r(0);
            var a = (function () {
                    function t(t, e, r) {
                        (this.lexer = void 0), (this.start = void 0), (this.end = void 0), (this.lexer = t), (this.start = e), (this.end = r);
                    }
                    return (
                        (t.range = function (e, r) {
                            return r ? (e && e.loc && r.loc && e.loc.lexer === r.loc.lexer ? new t(e.loc.lexer, e.loc.start, r.loc.end) : null) : e && e.loc;
                        }),
                        t
                    );
                })(),
                n = (function () {
                    function t(t, e) {
                        (this.text = void 0), (this.loc = void 0), (this.text = t), (this.loc = e);
                    }
                    return (
                        (t.prototype.range = function (e, r) {
                            return new t(r, a.range(this, e));
                        }),
                        t
                    );
                })(),
                i = function t(e, r) {
                    this.position = void 0;
                    var a,
                        n = "KaTeX parse error: " + e,
                        i = r && r.loc;
                    if (i && i.start <= i.end) {
                        var o = i.lexer.input;
                        a = i.start;
                        var s = i.end;
                        a === o.length ? (n += " at end of input: ") : (n += " at position " + (a + 1) + ": ");
                        var h = o.slice(a, s).replace(/[^]/g, "$&\u0332");
                        n += (a > 15 ? "\u2026" + o.slice(a - 15, a) : o.slice(0, a)) + h + (s + 15 < o.length ? o.slice(s, s + 15) + "\u2026" : o.slice(s));
                    }
                    var l = new Error(n);
                    return (l.name = "ParseError"), (l.__proto__ = t.prototype), (l.position = a), l;
                };
            i.prototype.__proto__ = Error.prototype;
            var o = i,
                s = /([A-Z])/g,
                h = { "&": "&amp;", ">": "&gt;", "<": "&lt;", '"': "&quot;", "'": "&#x27;" },
                l = /[&><"']/g;
            var m = function t(e) {
                    return "ordgroup" === e.type ? (1 === e.body.length ? t(e.body[0]) : e) : "color" === e.type ? (1 === e.body.length ? t(e.body[0]) : e) : "font" === e.type ? t(e.body) : e;
                },
                c = {
                    contains: function (t, e) {
                        return -1 !== t.indexOf(e);
                    },
                    deflt: function (t, e) {
                        return void 0 === t ? e : t;
                    },
                    escape: function (t) {
                        return String(t).replace(l, function (t) {
                            return h[t];
                        });
                    },
                    hyphenate: function (t) {
                        return t.replace(s, "-$1").toLowerCase();
                    },
                    getBaseElem: m,
                    isCharacterBox: function (t) {
                        var e = m(t);
                        return "mathord" === e.type || "textord" === e.type || "atom" === e.type;
                    },
                    protocolFromUrl: function (t) {
                        var e = /^\s*([^\\\/#]*?)(?::|&#0*58|&#x0*3a)/i.exec(t);
                        return null != e ? e[1] : "_relative";
                    },
                },
                u = (function () {
                    function t(t) {
                        (this.displayMode = void 0),
                            (this.output = void 0),
                            (this.leqno = void 0),
                            (this.fleqn = void 0),
                            (this.throwOnError = void 0),
                            (this.errorColor = void 0),
                            (this.macros = void 0),
                            (this.minRuleThickness = void 0),
                            (this.colorIsTextColor = void 0),
                            (this.strict = void 0),
                            (this.trust = void 0),
                            (this.maxSize = void 0),
                            (this.maxExpand = void 0),
                            (t = t || {}),
                            (this.displayMode = c.deflt(t.displayMode, !1)),
                            (this.output = c.deflt(t.output, "htmlAndMathml")),
                            (this.leqno = c.deflt(t.leqno, !1)),
                            (this.fleqn = c.deflt(t.fleqn, !1)),
                            (this.throwOnError = c.deflt(t.throwOnError, !0)),
                            (this.errorColor = c.deflt(t.errorColor, "#cc0000")),
                            (this.macros = t.macros || {}),
                            (this.minRuleThickness = Math.max(0, c.deflt(t.minRuleThickness, 0))),
                            (this.colorIsTextColor = c.deflt(t.colorIsTextColor, !1)),
                            (this.strict = c.deflt(t.strict, "warn")),
                            (this.trust = c.deflt(t.trust, !1)),
                            (this.maxSize = Math.max(0, c.deflt(t.maxSize, 1 / 0))),
                            (this.maxExpand = Math.max(0, c.deflt(t.maxExpand, 1e3)));
                    }
                    var e = t.prototype;
                    return (
                        (e.reportNonstrict = function (t, e, r) {
                            var a = this.strict;
                            if (("function" == typeof a && (a = a(t, e, r)), a && "ignore" !== a)) {
                                if (!0 === a || "error" === a) throw new o("LaTeX-incompatible input and strict mode is set to 'error': " + e + " [" + t + "]", r);
                                "warn" === a
                                    ? "undefined" != typeof console && console.warn("LaTeX-incompatible input and strict mode is set to 'warn': " + e + " [" + t + "]")
                                    : "undefined" != typeof console && console.warn("LaTeX-incompatible input and strict mode is set to unrecognized '" + a + "': " + e + " [" + t + "]");
                            }
                        }),
                        (e.useStrictBehavior = function (t, e, r) {
                            var a = this.strict;
                            if ("function" == typeof a)
                                try {
                                    a = a(t, e, r);
                                } catch (t) {
                                    a = "error";
                                }
                            return (
                                !(!a || "ignore" === a) &&
                                (!0 === a ||
                                    "error" === a ||
                                    ("warn" === a
                                        ? ("undefined" != typeof console && console.warn("LaTeX-incompatible input and strict mode is set to 'warn': " + e + " [" + t + "]"), !1)
                                        : ("undefined" != typeof console && console.warn("LaTeX-incompatible input and strict mode is set to unrecognized '" + a + "': " + e + " [" + t + "]"), !1)))
                            );
                        }),
                        (e.isTrusted = function (t) {
                            t.url && !t.protocol && (t.protocol = c.protocolFromUrl(t.url));
                            var e = "function" == typeof this.trust ? this.trust(t) : this.trust;
                            return Boolean(e);
                        }),
                        t
                    );
                })(),
                p = (function () {
                    function t(t, e, r) {
                        (this.id = void 0), (this.size = void 0), (this.cramped = void 0), (this.id = t), (this.size = e), (this.cramped = r);
                    }
                    var e = t.prototype;
                    return (
                        (e.sup = function () {
                            return d[f[this.id]];
                        }),
                        (e.sub = function () {
                            return d[g[this.id]];
                        }),
                        (e.fracNum = function () {
                            return d[x[this.id]];
                        }),
                        (e.fracDen = function () {
                            return d[v[this.id]];
                        }),
                        (e.cramp = function () {
                            return d[b[this.id]];
                        }),
                        (e.text = function () {
                            return d[y[this.id]];
                        }),
                        (e.isTight = function () {
                            return this.size >= 2;
                        }),
                        t
                    );
                })(),
                d = [new p(0, 0, !1), new p(1, 0, !0), new p(2, 1, !1), new p(3, 1, !0), new p(4, 2, !1), new p(5, 2, !0), new p(6, 3, !1), new p(7, 3, !0)],
                f = [4, 5, 4, 5, 6, 7, 6, 7],
                g = [5, 5, 5, 5, 7, 7, 7, 7],
                x = [2, 3, 4, 5, 6, 7, 6, 7],
                v = [3, 3, 5, 5, 7, 7, 7, 7],
                b = [1, 1, 3, 3, 5, 5, 7, 7],
                y = [0, 1, 2, 3, 2, 3, 2, 3],
                w = { DISPLAY: d[0], TEXT: d[2], SCRIPT: d[4], SCRIPTSCRIPT: d[6] },
                k = [
                    {
                        name: "latin",
                        blocks: [
                            [256, 591],
                            [768, 879],
                        ],
                    },
                    { name: "cyrillic", blocks: [[1024, 1279]] },
                    { name: "brahmic", blocks: [[2304, 4255]] },
                    { name: "georgian", blocks: [[4256, 4351]] },
                    {
                        name: "cjk",
                        blocks: [
                            [12288, 12543],
                            [19968, 40879],
                            [65280, 65376],
                        ],
                    },
                    { name: "hangul", blocks: [[44032, 55215]] },
                ];
            var S = [];
            function M(t) {
                for (var e = 0; e < S.length; e += 2) if (t >= S[e] && t <= S[e + 1]) return !0;
                return !1;
            }
            k.forEach(function (t) {
                return t.blocks.forEach(function (t) {
                    return S.push.apply(S, t);
                });
            });
            var z = {
                    doubleleftarrow:
                        "M262 157\nl10-10c34-36 62.7-77 86-123 3.3-8 5-13.3 5-16 0-5.3-6.7-8-20-8-7.3\n 0-12.2.5-14.5 1.5-2.3 1-4.8 4.5-7.5 10.5-49.3 97.3-121.7 169.3-217 216-28\n 14-57.3 25-88 33-6.7 2-11 3.8-13 5.5-2 1.7-3 4.2-3 7.5s1 5.8 3 7.5\nc2 1.7 6.3 3.5 13 5.5 68 17.3 128.2 47.8 180.5 91.5 52.3 43.7 93.8 96.2 124.5\n 157.5 9.3 8 15.3 12.3 18 13h6c12-.7 18-4 18-10 0-2-1.7-7-5-15-23.3-46-52-87\n-86-123l-10-10h399738v-40H218c328 0 0 0 0 0l-10-8c-26.7-20-65.7-43-117-69 2.7\n-2 6-3.7 10-5 36.7-16 72.3-37.3 107-64l10-8h399782v-40z\nm8 0v40h399730v-40zm0 194v40h399730v-40z",
                    doublerightarrow:
                        "M399738 392l\n-10 10c-34 36-62.7 77-86 123-3.3 8-5 13.3-5 16 0 5.3 6.7 8 20 8 7.3 0 12.2-.5\n 14.5-1.5 2.3-1 4.8-4.5 7.5-10.5 49.3-97.3 121.7-169.3 217-216 28-14 57.3-25 88\n-33 6.7-2 11-3.8 13-5.5 2-1.7 3-4.2 3-7.5s-1-5.8-3-7.5c-2-1.7-6.3-3.5-13-5.5-68\n-17.3-128.2-47.8-180.5-91.5-52.3-43.7-93.8-96.2-124.5-157.5-9.3-8-15.3-12.3-18\n-13h-6c-12 .7-18 4-18 10 0 2 1.7 7 5 15 23.3 46 52 87 86 123l10 10H0v40h399782\nc-328 0 0 0 0 0l10 8c26.7 20 65.7 43 117 69-2.7 2-6 3.7-10 5-36.7 16-72.3 37.3\n-107 64l-10 8H0v40zM0 157v40h399730v-40zm0 194v40h399730v-40z",
                    leftarrow:
                        "M400000 241H110l3-3c68.7-52.7 113.7-120\n 135-202 4-14.7 6-23 6-25 0-7.3-7-11-21-11-8 0-13.2.8-15.5 2.5-2.3 1.7-4.2 5.8\n-5.5 12.5-1.3 4.7-2.7 10.3-4 17-12 48.7-34.8 92-68.5 130S65.3 228.3 18 247\nc-10 4-16 7.7-18 11 0 8.7 6 14.3 18 17 47.3 18.7 87.8 47 121.5 85S196 441.3 208\n 490c.7 2 1.3 5 2 9s1.2 6.7 1.5 8c.3 1.3 1 3.3 2 6s2.2 4.5 3.5 5.5c1.3 1 3.3\n 1.8 6 2.5s6 1 10 1c14 0 21-3.7 21-11 0-2-2-10.3-6-25-20-79.3-65-146.7-135-202\n l-3-3h399890zM100 241v40h399900v-40z",
                    leftbrace: "M6 548l-6-6v-35l6-11c56-104 135.3-181.3 238-232 57.3-28.7 117\n-45 179-50h399577v120H403c-43.3 7-81 15-113 26-100.7 33-179.7 91-237 174-2.7\n 5-6 9-10 13-.7 1-7.3 1-20 1H6z",
                    leftbraceunder:
                        "M0 6l6-6h17c12.688 0 19.313.3 20 1 4 4 7.313 8.3 10 13\n 35.313 51.3 80.813 93.8 136.5 127.5 55.688 33.7 117.188 55.8 184.5 66.5.688\n 0 2 .3 4 1 18.688 2.7 76 4.3 172 5h399450v120H429l-6-1c-124.688-8-235-61.7\n-331-161C60.687 138.7 32.312 99.3 7 54L0 41V6z",
                    leftgroup: "M400000 80\nH435C64 80 168.3 229.4 21 260c-5.9 1.2-18 0-18 0-2 0-3-1-3-3v-38C76 61 257 0\n 435 0h399565z",
                    leftgroupunder: "M400000 262\nH435C64 262 168.3 112.6 21 82c-5.9-1.2-18 0-18 0-2 0-3 1-3 3v38c76 158 257 219\n 435 219h399565z",
                    leftharpoon:
                        "M0 267c.7 5.3 3 10 7 14h399993v-40H93c3.3\n-3.3 10.2-9.5 20.5-18.5s17.8-15.8 22.5-20.5c50.7-52 88-110.3 112-175 4-11.3 5\n-18.3 3-21-1.3-4-7.3-6-18-6-8 0-13 .7-15 2s-4.7 6.7-8 16c-42 98.7-107.3 174.7\n-196 228-6.7 4.7-10.7 8-12 10-1.3 2-2 5.7-2 11zm100-26v40h399900v-40z",
                    leftharpoonplus:
                        "M0 267c.7 5.3 3 10 7 14h399993v-40H93c3.3-3.3 10.2-9.5\n 20.5-18.5s17.8-15.8 22.5-20.5c50.7-52 88-110.3 112-175 4-11.3 5-18.3 3-21-1.3\n-4-7.3-6-18-6-8 0-13 .7-15 2s-4.7 6.7-8 16c-42 98.7-107.3 174.7-196 228-6.7 4.7\n-10.7 8-12 10-1.3 2-2 5.7-2 11zm100-26v40h399900v-40zM0 435v40h400000v-40z\nm0 0v40h400000v-40z",
                    leftharpoondown:
                        "M7 241c-4 4-6.333 8.667-7 14 0 5.333.667 9 2 11s5.333\n 5.333 12 10c90.667 54 156 130 196 228 3.333 10.667 6.333 16.333 9 17 2 .667 5\n 1 9 1h5c10.667 0 16.667-2 18-6 2-2.667 1-9.667-3-21-32-87.333-82.667-157.667\n-152-211l-3-3h399907v-40zM93 281 H400000 v-40L7 241z",
                    leftharpoondownplus:
                        "M7 435c-4 4-6.3 8.7-7 14 0 5.3.7 9 2 11s5.3 5.3 12\n 10c90.7 54 156 130 196 228 3.3 10.7 6.3 16.3 9 17 2 .7 5 1 9 1h5c10.7 0 16.7\n-2 18-6 2-2.7 1-9.7-3-21-32-87.3-82.7-157.7-152-211l-3-3h399907v-40H7zm93 0\nv40h399900v-40zM0 241v40h399900v-40zm0 0v40h399900v-40z",
                    lefthook:
                        "M400000 281 H103s-33-11.2-61-33.5S0 197.3 0 164s14.2-61.2 42.5\n-83.5C70.8 58.2 104 47 142 47 c16.7 0 25 6.7 25 20 0 12-8.7 18.7-26 20-40 3.3\n-68.7 15.7-86 37-10 12-15 25.3-15 40 0 22.7 9.8 40.7 29.5 54 19.7 13.3 43.5 21\n 71.5 23h399859zM103 281v-40h399897v40z",
                    leftlinesegment: "M40 281 V428 H0 V94 H40 V241 H400000 v40z\nM40 281 V428 H0 V94 H40 V241 H400000 v40z",
                    leftmapsto: "M40 281 V448H0V74H40V241H400000v40z\nM40 281 V448H0V74H40V241H400000v40z",
                    leftToFrom:
                        "M0 147h400000v40H0zm0 214c68 40 115.7 95.7 143 167h22c15.3 0 23\n-.3 23-1 0-1.3-5.3-13.7-16-37-18-35.3-41.3-69-70-101l-7-8h399905v-40H95l7-8\nc28.7-32 52-65.7 70-101 10.7-23.3 16-35.7 16-37 0-.7-7.7-1-23-1h-22C115.7 265.3\n 68 321 0 361zm0-174v-40h399900v40zm100 154v40h399900v-40z",
                    longequal: "M0 50 h400000 v40H0z m0 194h40000v40H0z\nM0 50 h400000 v40H0z m0 194h40000v40H0z",
                    midbrace:
                        "M200428 334\nc-100.7-8.3-195.3-44-280-108-55.3-42-101.7-93-139-153l-9-14c-2.7 4-5.7 8.7-9 14\n-53.3 86.7-123.7 153-211 199-66.7 36-137.3 56.3-212 62H0V214h199568c178.3-11.7\n 311.7-78.3 403-201 6-8 9.7-12 11-12 .7-.7 6.7-1 18-1s17.3.3 18 1c1.3 0 5 4 11\n 12 44.7 59.3 101.3 106.3 170 141s145.3 54.3 229 60h199572v120z",
                    midbraceunder:
                        "M199572 214\nc100.7 8.3 195.3 44 280 108 55.3 42 101.7 93 139 153l9 14c2.7-4 5.7-8.7 9-14\n 53.3-86.7 123.7-153 211-199 66.7-36 137.3-56.3 212-62h199568v120H200432c-178.3\n 11.7-311.7 78.3-403 201-6 8-9.7 12-11 12-.7.7-6.7 1-18 1s-17.3-.3-18-1c-1.3 0\n-5-4-11-12-44.7-59.3-101.3-106.3-170-141s-145.3-54.3-229-60H0V214z",
                    oiintSize1:
                        "M512.6 71.6c272.6 0 320.3 106.8 320.3 178.2 0 70.8-47.7 177.6\n-320.3 177.6S193.1 320.6 193.1 249.8c0-71.4 46.9-178.2 319.5-178.2z\nm368.1 178.2c0-86.4-60.9-215.4-368.1-215.4-306.4 0-367.3 129-367.3 215.4 0 85.8\n60.9 214.8 367.3 214.8 307.2 0 368.1-129 368.1-214.8z",
                    oiintSize2:
                        "M757.8 100.1c384.7 0 451.1 137.6 451.1 230 0 91.3-66.4 228.8\n-451.1 228.8-386.3 0-452.7-137.5-452.7-228.8 0-92.4 66.4-230 452.7-230z\nm502.4 230c0-111.2-82.4-277.2-502.4-277.2s-504 166-504 277.2\nc0 110 84 276 504 276s502.4-166 502.4-276z",
                    oiiintSize1:
                        "M681.4 71.6c408.9 0 480.5 106.8 480.5 178.2 0 70.8-71.6 177.6\n-480.5 177.6S202.1 320.6 202.1 249.8c0-71.4 70.5-178.2 479.3-178.2z\nm525.8 178.2c0-86.4-86.8-215.4-525.7-215.4-437.9 0-524.7 129-524.7 215.4 0\n85.8 86.8 214.8 524.7 214.8 438.9 0 525.7-129 525.7-214.8z",
                    oiiintSize2:
                        "M1021.2 53c603.6 0 707.8 165.8 707.8 277.2 0 110-104.2 275.8\n-707.8 275.8-606 0-710.2-165.8-710.2-275.8C311 218.8 415.2 53 1021.2 53z\nm770.4 277.1c0-131.2-126.4-327.6-770.5-327.6S248.4 198.9 248.4 330.1\nc0 130 128.8 326.4 772.7 326.4s770.5-196.4 770.5-326.4z",
                    rightarrow:
                        "M0 241v40h399891c-47.3 35.3-84 78-110 128\n-16.7 32-27.7 63.7-33 95 0 1.3-.2 2.7-.5 4-.3 1.3-.5 2.3-.5 3 0 7.3 6.7 11 20\n 11 8 0 13.2-.8 15.5-2.5 2.3-1.7 4.2-5.5 5.5-11.5 2-13.3 5.7-27 11-41 14.7-44.7\n 39-84.5 73-119.5s73.7-60.2 119-75.5c6-2 9-5.7 9-11s-3-9-9-11c-45.3-15.3-85\n-40.5-119-75.5s-58.3-74.8-73-119.5c-4.7-14-8.3-27.3-11-40-1.3-6.7-3.2-10.8-5.5\n-12.5-2.3-1.7-7.5-2.5-15.5-2.5-14 0-21 3.7-21 11 0 2 2 10.3 6 25 20.7 83.3 67\n 151.7 139 205zm0 0v40h399900v-40z",
                    rightbrace:
                        "M400000 542l\n-6 6h-17c-12.7 0-19.3-.3-20-1-4-4-7.3-8.3-10-13-35.3-51.3-80.8-93.8-136.5-127.5\ns-117.2-55.8-184.5-66.5c-.7 0-2-.3-4-1-18.7-2.7-76-4.3-172-5H0V214h399571l6 1\nc124.7 8 235 61.7 331 161 31.3 33.3 59.7 72.7 85 118l7 13v35z",
                    rightbraceunder: "M399994 0l6 6v35l-6 11c-56 104-135.3 181.3-238 232-57.3\n 28.7-117 45-179 50H-300V214h399897c43.3-7 81-15 113-26 100.7-33 179.7-91 237\n-174 2.7-5 6-9 10-13 .7-1 7.3-1 20-1h17z",
                    rightgroup: "M0 80h399565c371 0 266.7 149.4 414 180 5.9 1.2 18 0 18 0 2 0\n 3-1 3-3v-38c-76-158-257-219-435-219H0z",
                    rightgroupunder: "M0 262h399565c371 0 266.7-149.4 414-180 5.9-1.2 18 0 18\n 0 2 0 3 1 3 3v38c-76 158-257 219-435 219H0z",
                    rightharpoon:
                        "M0 241v40h399993c4.7-4.7 7-9.3 7-14 0-9.3\n-3.7-15.3-11-18-92.7-56.7-159-133.7-199-231-3.3-9.3-6-14.7-8-16-2-1.3-7-2-15-2\n-10.7 0-16.7 2-18 6-2 2.7-1 9.7 3 21 15.3 42 36.7 81.8 64 119.5 27.3 37.7 58\n 69.2 92 94.5zm0 0v40h399900v-40z",
                    rightharpoonplus:
                        "M0 241v40h399993c4.7-4.7 7-9.3 7-14 0-9.3-3.7-15.3-11\n-18-92.7-56.7-159-133.7-199-231-3.3-9.3-6-14.7-8-16-2-1.3-7-2-15-2-10.7 0-16.7\n 2-18 6-2 2.7-1 9.7 3 21 15.3 42 36.7 81.8 64 119.5 27.3 37.7 58 69.2 92 94.5z\nm0 0v40h399900v-40z m100 194v40h399900v-40zm0 0v40h399900v-40z",
                    rightharpoondown:
                        "M399747 511c0 7.3 6.7 11 20 11 8 0 13-.8 15-2.5s4.7-6.8\n 8-15.5c40-94 99.3-166.3 178-217 13.3-8 20.3-12.3 21-13 5.3-3.3 8.5-5.8 9.5\n-7.5 1-1.7 1.5-5.2 1.5-10.5s-2.3-10.3-7-15H0v40h399908c-34 25.3-64.7 57-92 95\n-27.3 38-48.7 77.7-64 119-3.3 8.7-5 14-5 16zM0 241v40h399900v-40z",
                    rightharpoondownplus:
                        "M399747 705c0 7.3 6.7 11 20 11 8 0 13-.8\n 15-2.5s4.7-6.8 8-15.5c40-94 99.3-166.3 178-217 13.3-8 20.3-12.3 21-13 5.3-3.3\n 8.5-5.8 9.5-7.5 1-1.7 1.5-5.2 1.5-10.5s-2.3-10.3-7-15H0v40h399908c-34 25.3\n-64.7 57-92 95-27.3 38-48.7 77.7-64 119-3.3 8.7-5 14-5 16zM0 435v40h399900v-40z\nm0-194v40h400000v-40zm0 0v40h400000v-40z",
                    righthook:
                        "M399859 241c-764 0 0 0 0 0 40-3.3 68.7-15.7 86-37 10-12 15-25.3\n 15-40 0-22.7-9.8-40.7-29.5-54-19.7-13.3-43.5-21-71.5-23-17.3-1.3-26-8-26-20 0\n-13.3 8.7-20 26-20 38 0 71 11.2 99 33.5 0 0 7 5.6 21 16.7 14 11.2 21 33.5 21\n 66.8s-14 61.2-42 83.5c-28 22.3-61 33.5-99 33.5L0 241z M0 281v-40h399859v40z",
                    rightlinesegment: "M399960 241 V94 h40 V428 h-40 V281 H0 v-40z\nM399960 241 V94 h40 V428 h-40 V281 H0 v-40z",
                    rightToFrom:
                        "M400000 167c-70.7-42-118-97.7-142-167h-23c-15.3 0-23 .3-23\n 1 0 1.3 5.3 13.7 16 37 18 35.3 41.3 69 70 101l7 8H0v40h399905l-7 8c-28.7 32\n-52 65.7-70 101-10.7 23.3-16 35.7-16 37 0 .7 7.7 1 23 1h23c24-69.3 71.3-125 142\n-167z M100 147v40h399900v-40zM0 341v40h399900v-40z",
                    twoheadleftarrow:
                        "M0 167c68 40\n 115.7 95.7 143 167h22c15.3 0 23-.3 23-1 0-1.3-5.3-13.7-16-37-18-35.3-41.3-69\n-70-101l-7-8h125l9 7c50.7 39.3 85 86 103 140h46c0-4.7-6.3-18.7-19-42-18-35.3\n-40-67.3-66-96l-9-9h399716v-40H284l9-9c26-28.7 48-60.7 66-96 12.7-23.333 19\n-37.333 19-42h-46c-18 54-52.3 100.7-103 140l-9 7H95l7-8c28.7-32 52-65.7 70-101\n 10.7-23.333 16-35.7 16-37 0-.7-7.7-1-23-1h-22C115.7 71.3 68 127 0 167z",
                    twoheadrightarrow:
                        "M400000 167\nc-68-40-115.7-95.7-143-167h-22c-15.3 0-23 .3-23 1 0 1.3 5.3 13.7 16 37 18 35.3\n 41.3 69 70 101l7 8h-125l-9-7c-50.7-39.3-85-86-103-140h-46c0 4.7 6.3 18.7 19 42\n 18 35.3 40 67.3 66 96l9 9H0v40h399716l-9 9c-26 28.7-48 60.7-66 96-12.7 23.333\n-19 37.333-19 42h46c18-54 52.3-100.7 103-140l9-7h125l-7 8c-28.7 32-52 65.7-70\n 101-10.7 23.333-16 35.7-16 37 0 .7 7.7 1 23 1h22c27.3-71.3 75-127 143-167z",
                    tilde1:
                        "M200 55.538c-77 0-168 73.953-177 73.953-3 0-7\n-2.175-9-5.437L2 97c-1-2-2-4-2-6 0-4 2-7 5-9l20-12C116 12 171 0 207 0c86 0\n 114 68 191 68 78 0 168-68 177-68 4 0 7 2 9 5l12 19c1 2.175 2 4.35 2 6.525 0\n 4.35-2 7.613-5 9.788l-19 13.05c-92 63.077-116.937 75.308-183 76.128\n-68.267.847-113-73.952-191-73.952z",
                    tilde2:
                        "M344 55.266c-142 0-300.638 81.316-311.5 86.418\n-8.01 3.762-22.5 10.91-23.5 5.562L1 120c-1-2-1-3-1-4 0-5 3-9 8-10l18.4-9C160.9\n 31.9 283 0 358 0c148 0 188 122 331 122s314-97 326-97c4 0 8 2 10 7l7 21.114\nc1 2.14 1 3.21 1 4.28 0 5.347-3 9.626-7 10.696l-22.3 12.622C852.6 158.372 751\n 181.476 676 181.476c-149 0-189-126.21-332-126.21z",
                    tilde3:
                        "M786 59C457 59 32 175.242 13 175.242c-6 0-10-3.457\n-11-10.37L.15 138c-1-7 3-12 10-13l19.2-6.4C378.4 40.7 634.3 0 804.3 0c337 0\n 411.8 157 746.8 157 328 0 754-112 773-112 5 0 10 3 11 9l1 14.075c1 8.066-.697\n 16.595-6.697 17.492l-21.052 7.31c-367.9 98.146-609.15 122.696-778.15 122.696\n -338 0-409-156.573-744-156.573z",
                    tilde4:
                        "M786 58C457 58 32 177.487 13 177.487c-6 0-10-3.345\n-11-10.035L.15 143c-1-7 3-12 10-13l22-6.7C381.2 35 637.15 0 807.15 0c337 0 409\n 177 744 177 328 0 754-127 773-127 5 0 10 3 11 9l1 14.794c1 7.805-3 13.38-9\n 14.495l-20.7 5.574c-366.85 99.79-607.3 139.372-776.3 139.372-338 0-409\n -175.236-744-175.236z",
                    vec:
                        "M377 20c0-5.333 1.833-10 5.5-14S391 0 397 0c4.667 0 8.667 1.667 12 5\n3.333 2.667 6.667 9 10 19 6.667 24.667 20.333 43.667 41 57 7.333 4.667 11\n10.667 11 18 0 6-1 10-3 12s-6.667 5-14 9c-28.667 14.667-53.667 35.667-75 63\n-1.333 1.333-3.167 3.5-5.5 6.5s-4 4.833-5 5.5c-1 .667-2.5 1.333-4.5 2s-4.333 1\n-7 1c-4.667 0-9.167-1.833-13.5-5.5S337 184 337 178c0-12.667 15.667-32.333 47-59\nH213l-171-1c-8.667-6-13-12.333-13-19 0-4.667 4.333-11.333 13-20h359\nc-16-25.333-24-45-24-59z",
                    widehat1: "M529 0h5l519 115c5 1 9 5 9 10 0 1-1 2-1 3l-4 22\nc-1 5-5 9-11 9h-2L532 67 19 159h-2c-5 0-9-4-11-9l-5-22c-1-6 2-12 8-13z",
                    widehat2: "M1181 0h2l1171 176c6 0 10 5 10 11l-2 23c-1 6-5 10\n-11 10h-1L1182 67 15 220h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z",
                    widehat3: "M1181 0h2l1171 236c6 0 10 5 10 11l-2 23c-1 6-5 10\n-11 10h-1L1182 67 15 280h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z",
                    widehat4: "M1181 0h2l1171 296c6 0 10 5 10 11l-2 23c-1 6-5 10\n-11 10h-1L1182 67 15 340h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z",
                    widecheck1: "M529,159h5l519,-115c5,-1,9,-5,9,-10c0,-1,-1,-2,-1,-3l-4,-22c-1,\n-5,-5,-9,-11,-9h-2l-512,92l-513,-92h-2c-5,0,-9,4,-11,9l-5,22c-1,6,2,12,8,13z",
                    widecheck2: "M1181,220h2l1171,-176c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10,\n-11,-10h-1l-1168,153l-1167,-153h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z",
                    widecheck3: "M1181,280h2l1171,-236c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10,\n-11,-10h-1l-1168,213l-1167,-213h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z",
                    widecheck4: "M1181,340h2l1171,-296c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10,\n-11,-10h-1l-1168,273l-1167,-273h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z",
                    baraboveleftarrow:
                        "M400000 620h-399890l3 -3c68.7 -52.7 113.7 -120 135 -202\nc4 -14.7 6 -23 6 -25c0 -7.3 -7 -11 -21 -11c-8 0 -13.2 0.8 -15.5 2.5\nc-2.3 1.7 -4.2 5.8 -5.5 12.5c-1.3 4.7 -2.7 10.3 -4 17c-12 48.7 -34.8 92 -68.5 130\ns-74.2 66.3 -121.5 85c-10 4 -16 7.7 -18 11c0 8.7 6 14.3 18 17c47.3 18.7 87.8 47\n121.5 85s56.5 81.3 68.5 130c0.7 2 1.3 5 2 9s1.2 6.7 1.5 8c0.3 1.3 1 3.3 2 6\ns2.2 4.5 3.5 5.5c1.3 1 3.3 1.8 6 2.5s6 1 10 1c14 0 21 -3.7 21 -11\nc0 -2 -2 -10.3 -6 -25c-20 -79.3 -65 -146.7 -135 -202l-3 -3h399890z\nM100 620v40h399900v-40z M0 241v40h399900v-40zM0 241v40h399900v-40z",
                    rightarrowabovebar:
                        "M0 241v40h399891c-47.3 35.3-84 78-110 128-16.7 32\n-27.7 63.7-33 95 0 1.3-.2 2.7-.5 4-.3 1.3-.5 2.3-.5 3 0 7.3 6.7 11 20 11 8 0\n13.2-.8 15.5-2.5 2.3-1.7 4.2-5.5 5.5-11.5 2-13.3 5.7-27 11-41 14.7-44.7 39\n-84.5 73-119.5s73.7-60.2 119-75.5c6-2 9-5.7 9-11s-3-9-9-11c-45.3-15.3-85-40.5\n-119-75.5s-58.3-74.8-73-119.5c-4.7-14-8.3-27.3-11-40-1.3-6.7-3.2-10.8-5.5\n-12.5-2.3-1.7-7.5-2.5-15.5-2.5-14 0-21 3.7-21 11 0 2 2 10.3 6 25 20.7 83.3 67\n151.7 139 205zm96 379h399894v40H0zm0 0h399904v40H0z",
                    baraboveshortleftharpoon:
                        "M507,435c-4,4,-6.3,8.7,-7,14c0,5.3,0.7,9,2,11\nc1.3,2,5.3,5.3,12,10c90.7,54,156,130,196,228c3.3,10.7,6.3,16.3,9,17\nc2,0.7,5,1,9,1c0,0,5,0,5,0c10.7,0,16.7,-2,18,-6c2,-2.7,1,-9.7,-3,-21\nc-32,-87.3,-82.7,-157.7,-152,-211c0,0,-3,-3,-3,-3l399351,0l0,-40\nc-398570,0,-399437,0,-399437,0z M593 435 v40 H399500 v-40z\nM0 281 v-40 H399908 v40z M0 281 v-40 H399908 v40z",
                    rightharpoonaboveshortbar:
                        "M0,241 l0,40c399126,0,399993,0,399993,0\nc4.7,-4.7,7,-9.3,7,-14c0,-9.3,-3.7,-15.3,-11,-18c-92.7,-56.7,-159,-133.7,-199,\n-231c-3.3,-9.3,-6,-14.7,-8,-16c-2,-1.3,-7,-2,-15,-2c-10.7,0,-16.7,2,-18,6\nc-2,2.7,-1,9.7,3,21c15.3,42,36.7,81.8,64,119.5c27.3,37.7,58,69.2,92,94.5z\nM0 241 v40 H399908 v-40z M0 475 v-40 H399500 v40z M0 475 v-40 H399500 v40z",
                    shortbaraboveleftharpoon:
                        "M7,435c-4,4,-6.3,8.7,-7,14c0,5.3,0.7,9,2,11\nc1.3,2,5.3,5.3,12,10c90.7,54,156,130,196,228c3.3,10.7,6.3,16.3,9,17c2,0.7,5,1,9,\n1c0,0,5,0,5,0c10.7,0,16.7,-2,18,-6c2,-2.7,1,-9.7,-3,-21c-32,-87.3,-82.7,-157.7,\n-152,-211c0,0,-3,-3,-3,-3l399907,0l0,-40c-399126,0,-399993,0,-399993,0z\nM93 435 v40 H400000 v-40z M500 241 v40 H400000 v-40z M500 241 v40 H400000 v-40z",
                    shortrightharpoonabovebar:
                        "M53,241l0,40c398570,0,399437,0,399437,0\nc4.7,-4.7,7,-9.3,7,-14c0,-9.3,-3.7,-15.3,-11,-18c-92.7,-56.7,-159,-133.7,-199,\n-231c-3.3,-9.3,-6,-14.7,-8,-16c-2,-1.3,-7,-2,-15,-2c-10.7,0,-16.7,2,-18,6\nc-2,2.7,-1,9.7,3,21c15.3,42,36.7,81.8,64,119.5c27.3,37.7,58,69.2,92,94.5z\nM500 241 v40 H399408 v-40z M500 435 v40 H400000 v-40z",
                },
                A = (function () {
                    function t(t) {
                        (this.children = void 0),
                            (this.classes = void 0),
                            (this.height = void 0),
                            (this.depth = void 0),
                            (this.maxFontSize = void 0),
                            (this.style = void 0),
                            (this.children = t),
                            (this.classes = []),
                            (this.height = 0),
                            (this.depth = 0),
                            (this.maxFontSize = 0),
                            (this.style = {});
                    }
                    var e = t.prototype;
                    return (
                        (e.hasClass = function (t) {
                            return c.contains(this.classes, t);
                        }),
                        (e.toNode = function () {
                            for (var t = document.createDocumentFragment(), e = 0; e < this.children.length; e++) t.appendChild(this.children[e].toNode());
                            return t;
                        }),
                        (e.toMarkup = function () {
                            for (var t = "", e = 0; e < this.children.length; e++) t += this.children[e].toMarkup();
                            return t;
                        }),
                        (e.toText = function () {
                            var t = function (t) {
                                return t.toText();
                            };
                            return this.children.map(t).join("");
                        }),
                        t
                    );
                })(),
                T = function (t) {
                    return t
                        .filter(function (t) {
                            return t;
                        })
                        .join(" ");
                },
                B = function (t, e, r) {
                    if (((this.classes = t || []), (this.attributes = {}), (this.height = 0), (this.depth = 0), (this.maxFontSize = 0), (this.style = r || {}), e)) {
                        e.style.isTight() && this.classes.push("mtight");
                        var a = e.getColor();
                        a && (this.style.color = a);
                    }
                },
                C = function (t) {
                    var e = document.createElement(t);
                    for (var r in ((e.className = T(this.classes)), this.style)) this.style.hasOwnProperty(r) && (e.style[r] = this.style[r]);
                    for (var a in this.attributes) this.attributes.hasOwnProperty(a) && e.setAttribute(a, this.attributes[a]);
                    for (var n = 0; n < this.children.length; n++) e.appendChild(this.children[n].toNode());
                    return e;
                },
                q = function (t) {
                    var e = "<" + t;
                    this.classes.length && (e += ' class="' + c.escape(T(this.classes)) + '"');
                    var r = "";
                    for (var a in this.style) this.style.hasOwnProperty(a) && (r += c.hyphenate(a) + ":" + this.style[a] + ";");
                    for (var n in (r && (e += ' style="' + c.escape(r) + '"'), this.attributes)) this.attributes.hasOwnProperty(n) && (e += " " + n + '="' + c.escape(this.attributes[n]) + '"');
                    e += ">";
                    for (var i = 0; i < this.children.length; i++) e += this.children[i].toMarkup();
                    return (e += "</" + t + ">");
                },
                N = (function () {
                    function t(t, e, r, a) {
                        (this.children = void 0),
                            (this.attributes = void 0),
                            (this.classes = void 0),
                            (this.height = void 0),
                            (this.depth = void 0),
                            (this.width = void 0),
                            (this.maxFontSize = void 0),
                            (this.style = void 0),
                            B.call(this, t, r, a),
                            (this.children = e || []);
                    }
                    var e = t.prototype;
                    return (
                        (e.setAttribute = function (t, e) {
                            this.attributes[t] = e;
                        }),
                        (e.hasClass = function (t) {
                            return c.contains(this.classes, t);
                        }),
                        (e.toNode = function () {
                            return C.call(this, "span");
                        }),
                        (e.toMarkup = function () {
                            return q.call(this, "span");
                        }),
                        t
                    );
                })(),
                I = (function () {
                    function t(t, e, r, a) {
                        (this.children = void 0),
                            (this.attributes = void 0),
                            (this.classes = void 0),
                            (this.height = void 0),
                            (this.depth = void 0),
                            (this.maxFontSize = void 0),
                            (this.style = void 0),
                            B.call(this, e, a),
                            (this.children = r || []),
                            this.setAttribute("href", t);
                    }
                    var e = t.prototype;
                    return (
                        (e.setAttribute = function (t, e) {
                            this.attributes[t] = e;
                        }),
                        (e.hasClass = function (t) {
                            return c.contains(this.classes, t);
                        }),
                        (e.toNode = function () {
                            return C.call(this, "a");
                        }),
                        (e.toMarkup = function () {
                            return q.call(this, "a");
                        }),
                        t
                    );
                })(),
                R = (function () {
                    function t(t, e, r) {
                        (this.src = void 0),
                            (this.alt = void 0),
                            (this.classes = void 0),
                            (this.height = void 0),
                            (this.depth = void 0),
                            (this.maxFontSize = void 0),
                            (this.style = void 0),
                            (this.alt = e),
                            (this.src = t),
                            (this.classes = ["mord"]),
                            (this.style = r);
                    }
                    var e = t.prototype;
                    return (
                        (e.hasClass = function (t) {
                            return c.contains(this.classes, t);
                        }),
                        (e.toNode = function () {
                            var t = document.createElement("img");
                            for (var e in ((t.src = this.src), (t.alt = this.alt), (t.className = "mord"), this.style)) this.style.hasOwnProperty(e) && (t.style[e] = this.style[e]);
                            return t;
                        }),
                        (e.toMarkup = function () {
                            var t = "<img  src='" + this.src + " 'alt='" + this.alt + "' ",
                                e = "";
                            for (var r in this.style) this.style.hasOwnProperty(r) && (e += c.hyphenate(r) + ":" + this.style[r] + ";");
                            return e && (t += ' style="' + c.escape(e) + '"'), (t += "'/>");
                        }),
                        t
                    );
                })(),
                O = { î: "\u0131\u0302", ï: "\u0131\u0308", í: "\u0131\u0301", ì: "\u0131\u0300" },
                E = (function () {
                    function t(t, e, r, a, n, i, o, s) {
                        (this.text = void 0),
                            (this.height = void 0),
                            (this.depth = void 0),
                            (this.italic = void 0),
                            (this.skew = void 0),
                            (this.width = void 0),
                            (this.maxFontSize = void 0),
                            (this.classes = void 0),
                            (this.style = void 0),
                            (this.text = t),
                            (this.height = e || 0),
                            (this.depth = r || 0),
                            (this.italic = a || 0),
                            (this.skew = n || 0),
                            (this.width = i || 0),
                            (this.classes = o || []),
                            (this.style = s || {}),
                            (this.maxFontSize = 0);
                        var h = (function (t) {
                            for (var e = 0; e < k.length; e++)
                                for (var r = k[e], a = 0; a < r.blocks.length; a++) {
                                    var n = r.blocks[a];
                                    if (t >= n[0] && t <= n[1]) return r.name;
                                }
                            return null;
                        })(this.text.charCodeAt(0));
                        h && this.classes.push(h + "_fallback"), /[\xee\xef\xed\xec]/.test(this.text) && (this.text = O[this.text]);
                    }
                    var e = t.prototype;
                    return (
                        (e.hasClass = function (t) {
                            return c.contains(this.classes, t);
                        }),
                        (e.toNode = function () {
                            var t = document.createTextNode(this.text),
                                e = null;
                            for (var r in (this.italic > 0 && ((e = document.createElement("span")).style.marginRight = this.italic + "em"),
                            this.classes.length > 0 && ((e = e || document.createElement("span")).className = T(this.classes)),
                            this.style))
                                this.style.hasOwnProperty(r) && ((e = e || document.createElement("span")).style[r] = this.style[r]);
                            return e ? (e.appendChild(t), e) : t;
                        }),
                        (e.toMarkup = function () {
                            var t = !1,
                                e = "<span";
                            this.classes.length && ((t = !0), (e += ' class="'), (e += c.escape(T(this.classes))), (e += '"'));
                            var r = "";
                            for (var a in (this.italic > 0 && (r += "margin-right:" + this.italic + "em;"), this.style)) this.style.hasOwnProperty(a) && (r += c.hyphenate(a) + ":" + this.style[a] + ";");
                            r && ((t = !0), (e += ' style="' + c.escape(r) + '"'));
                            var n = c.escape(this.text);
                            return t ? ((e += ">"), (e += n), (e += "</span>")) : n;
                        }),
                        t
                    );
                })(),
                L = (function () {
                    function t(t, e) {
                        (this.children = void 0), (this.attributes = void 0), (this.children = t || []), (this.attributes = e || {});
                    }
                    var e = t.prototype;
                    return (
                        (e.toNode = function () {
                            var t = document.createElementNS("http://www.w3.org/2000/svg", "svg");
                            for (var e in this.attributes) Object.prototype.hasOwnProperty.call(this.attributes, e) && t.setAttribute(e, this.attributes[e]);
                            for (var r = 0; r < this.children.length; r++) t.appendChild(this.children[r].toNode());
                            return t;
                        }),
                        (e.toMarkup = function () {
                            var t = "<svg";
                            for (var e in this.attributes) Object.prototype.hasOwnProperty.call(this.attributes, e) && (t += " " + e + "='" + this.attributes[e] + "'");
                            t += ">";
                            for (var r = 0; r < this.children.length; r++) t += this.children[r].toMarkup();
                            return (t += "</svg>");
                        }),
                        t
                    );
                })(),
                H = (function () {
                    function t(t, e) {
                        (this.pathName = void 0), (this.alternate = void 0), (this.pathName = t), (this.alternate = e);
                    }
                    var e = t.prototype;
                    return (
                        (e.toNode = function () {
                            var t = document.createElementNS("http://www.w3.org/2000/svg", "path");
                            return this.alternate ? t.setAttribute("d", this.alternate) : t.setAttribute("d", z[this.pathName]), t;
                        }),
                        (e.toMarkup = function () {
                            return this.alternate ? "<path d='" + this.alternate + "'/>" : "<path d='" + z[this.pathName] + "'/>";
                        }),
                        t
                    );
                })(),
                P = (function () {
                    function t(t) {
                        (this.attributes = void 0), (this.attributes = t || {});
                    }
                    var e = t.prototype;
                    return (
                        (e.toNode = function () {
                            var t = document.createElementNS("http://www.w3.org/2000/svg", "line");
                            for (var e in this.attributes) Object.prototype.hasOwnProperty.call(this.attributes, e) && t.setAttribute(e, this.attributes[e]);
                            return t;
                        }),
                        (e.toMarkup = function () {
                            var t = "<line";
                            for (var e in this.attributes) Object.prototype.hasOwnProperty.call(this.attributes, e) && (t += " " + e + "='" + this.attributes[e] + "'");
                            return (t += "/>");
                        }),
                        t
                    );
                })();
            function D(t) {
                if (t instanceof E) return t;
                throw new Error("Expected symbolNode but got " + String(t) + ".");
            }
            var F = {
                    "AMS-Regular": {
                        65: [0, 0.68889, 0, 0, 0.72222],
                        66: [0, 0.68889, 0, 0, 0.66667],
                        67: [0, 0.68889, 0, 0, 0.72222],
                        68: [0, 0.68889, 0, 0, 0.72222],
                        69: [0, 0.68889, 0, 0, 0.66667],
                        70: [0, 0.68889, 0, 0, 0.61111],
                        71: [0, 0.68889, 0, 0, 0.77778],
                        72: [0, 0.68889, 0, 0, 0.77778],
                        73: [0, 0.68889, 0, 0, 0.38889],
                        74: [0.16667, 0.68889, 0, 0, 0.5],
                        75: [0, 0.68889, 0, 0, 0.77778],
                        76: [0, 0.68889, 0, 0, 0.66667],
                        77: [0, 0.68889, 0, 0, 0.94445],
                        78: [0, 0.68889, 0, 0, 0.72222],
                        79: [0.16667, 0.68889, 0, 0, 0.77778],
                        80: [0, 0.68889, 0, 0, 0.61111],
                        81: [0.16667, 0.68889, 0, 0, 0.77778],
                        82: [0, 0.68889, 0, 0, 0.72222],
                        83: [0, 0.68889, 0, 0, 0.55556],
                        84: [0, 0.68889, 0, 0, 0.66667],
                        85: [0, 0.68889, 0, 0, 0.72222],
                        86: [0, 0.68889, 0, 0, 0.72222],
                        87: [0, 0.68889, 0, 0, 1],
                        88: [0, 0.68889, 0, 0, 0.72222],
                        89: [0, 0.68889, 0, 0, 0.72222],
                        90: [0, 0.68889, 0, 0, 0.66667],
                        107: [0, 0.68889, 0, 0, 0.55556],
                        165: [0, 0.675, 0.025, 0, 0.75],
                        174: [0.15559, 0.69224, 0, 0, 0.94666],
                        240: [0, 0.68889, 0, 0, 0.55556],
                        295: [0, 0.68889, 0, 0, 0.54028],
                        710: [0, 0.825, 0, 0, 2.33334],
                        732: [0, 0.9, 0, 0, 2.33334],
                        770: [0, 0.825, 0, 0, 2.33334],
                        771: [0, 0.9, 0, 0, 2.33334],
                        989: [0.08167, 0.58167, 0, 0, 0.77778],
                        1008: [0, 0.43056, 0.04028, 0, 0.66667],
                        8245: [0, 0.54986, 0, 0, 0.275],
                        8463: [0, 0.68889, 0, 0, 0.54028],
                        8487: [0, 0.68889, 0, 0, 0.72222],
                        8498: [0, 0.68889, 0, 0, 0.55556],
                        8502: [0, 0.68889, 0, 0, 0.66667],
                        8503: [0, 0.68889, 0, 0, 0.44445],
                        8504: [0, 0.68889, 0, 0, 0.66667],
                        8513: [0, 0.68889, 0, 0, 0.63889],
                        8592: [-0.03598, 0.46402, 0, 0, 0.5],
                        8594: [-0.03598, 0.46402, 0, 0, 0.5],
                        8602: [-0.13313, 0.36687, 0, 0, 1],
                        8603: [-0.13313, 0.36687, 0, 0, 1],
                        8606: [0.01354, 0.52239, 0, 0, 1],
                        8608: [0.01354, 0.52239, 0, 0, 1],
                        8610: [0.01354, 0.52239, 0, 0, 1.11111],
                        8611: [0.01354, 0.52239, 0, 0, 1.11111],
                        8619: [0, 0.54986, 0, 0, 1],
                        8620: [0, 0.54986, 0, 0, 1],
                        8621: [-0.13313, 0.37788, 0, 0, 1.38889],
                        8622: [-0.13313, 0.36687, 0, 0, 1],
                        8624: [0, 0.69224, 0, 0, 0.5],
                        8625: [0, 0.69224, 0, 0, 0.5],
                        8630: [0, 0.43056, 0, 0, 1],
                        8631: [0, 0.43056, 0, 0, 1],
                        8634: [0.08198, 0.58198, 0, 0, 0.77778],
                        8635: [0.08198, 0.58198, 0, 0, 0.77778],
                        8638: [0.19444, 0.69224, 0, 0, 0.41667],
                        8639: [0.19444, 0.69224, 0, 0, 0.41667],
                        8642: [0.19444, 0.69224, 0, 0, 0.41667],
                        8643: [0.19444, 0.69224, 0, 0, 0.41667],
                        8644: [0.1808, 0.675, 0, 0, 1],
                        8646: [0.1808, 0.675, 0, 0, 1],
                        8647: [0.1808, 0.675, 0, 0, 1],
                        8648: [0.19444, 0.69224, 0, 0, 0.83334],
                        8649: [0.1808, 0.675, 0, 0, 1],
                        8650: [0.19444, 0.69224, 0, 0, 0.83334],
                        8651: [0.01354, 0.52239, 0, 0, 1],
                        8652: [0.01354, 0.52239, 0, 0, 1],
                        8653: [-0.13313, 0.36687, 0, 0, 1],
                        8654: [-0.13313, 0.36687, 0, 0, 1],
                        8655: [-0.13313, 0.36687, 0, 0, 1],
                        8666: [0.13667, 0.63667, 0, 0, 1],
                        8667: [0.13667, 0.63667, 0, 0, 1],
                        8669: [-0.13313, 0.37788, 0, 0, 1],
                        8672: [-0.064, 0.437, 0, 0, 1.334],
                        8674: [-0.064, 0.437, 0, 0, 1.334],
                        8705: [0, 0.825, 0, 0, 0.5],
                        8708: [0, 0.68889, 0, 0, 0.55556],
                        8709: [0.08167, 0.58167, 0, 0, 0.77778],
                        8717: [0, 0.43056, 0, 0, 0.42917],
                        8722: [-0.03598, 0.46402, 0, 0, 0.5],
                        8724: [0.08198, 0.69224, 0, 0, 0.77778],
                        8726: [0.08167, 0.58167, 0, 0, 0.77778],
                        8733: [0, 0.69224, 0, 0, 0.77778],
                        8736: [0, 0.69224, 0, 0, 0.72222],
                        8737: [0, 0.69224, 0, 0, 0.72222],
                        8738: [0.03517, 0.52239, 0, 0, 0.72222],
                        8739: [0.08167, 0.58167, 0, 0, 0.22222],
                        8740: [0.25142, 0.74111, 0, 0, 0.27778],
                        8741: [0.08167, 0.58167, 0, 0, 0.38889],
                        8742: [0.25142, 0.74111, 0, 0, 0.5],
                        8756: [0, 0.69224, 0, 0, 0.66667],
                        8757: [0, 0.69224, 0, 0, 0.66667],
                        8764: [-0.13313, 0.36687, 0, 0, 0.77778],
                        8765: [-0.13313, 0.37788, 0, 0, 0.77778],
                        8769: [-0.13313, 0.36687, 0, 0, 0.77778],
                        8770: [-0.03625, 0.46375, 0, 0, 0.77778],
                        8774: [0.30274, 0.79383, 0, 0, 0.77778],
                        8776: [-0.01688, 0.48312, 0, 0, 0.77778],
                        8778: [0.08167, 0.58167, 0, 0, 0.77778],
                        8782: [0.06062, 0.54986, 0, 0, 0.77778],
                        8783: [0.06062, 0.54986, 0, 0, 0.77778],
                        8785: [0.08198, 0.58198, 0, 0, 0.77778],
                        8786: [0.08198, 0.58198, 0, 0, 0.77778],
                        8787: [0.08198, 0.58198, 0, 0, 0.77778],
                        8790: [0, 0.69224, 0, 0, 0.77778],
                        8791: [0.22958, 0.72958, 0, 0, 0.77778],
                        8796: [0.08198, 0.91667, 0, 0, 0.77778],
                        8806: [0.25583, 0.75583, 0, 0, 0.77778],
                        8807: [0.25583, 0.75583, 0, 0, 0.77778],
                        8808: [0.25142, 0.75726, 0, 0, 0.77778],
                        8809: [0.25142, 0.75726, 0, 0, 0.77778],
                        8812: [0.25583, 0.75583, 0, 0, 0.5],
                        8814: [0.20576, 0.70576, 0, 0, 0.77778],
                        8815: [0.20576, 0.70576, 0, 0, 0.77778],
                        8816: [0.30274, 0.79383, 0, 0, 0.77778],
                        8817: [0.30274, 0.79383, 0, 0, 0.77778],
                        8818: [0.22958, 0.72958, 0, 0, 0.77778],
                        8819: [0.22958, 0.72958, 0, 0, 0.77778],
                        8822: [0.1808, 0.675, 0, 0, 0.77778],
                        8823: [0.1808, 0.675, 0, 0, 0.77778],
                        8828: [0.13667, 0.63667, 0, 0, 0.77778],
                        8829: [0.13667, 0.63667, 0, 0, 0.77778],
                        8830: [0.22958, 0.72958, 0, 0, 0.77778],
                        8831: [0.22958, 0.72958, 0, 0, 0.77778],
                        8832: [0.20576, 0.70576, 0, 0, 0.77778],
                        8833: [0.20576, 0.70576, 0, 0, 0.77778],
                        8840: [0.30274, 0.79383, 0, 0, 0.77778],
                        8841: [0.30274, 0.79383, 0, 0, 0.77778],
                        8842: [0.13597, 0.63597, 0, 0, 0.77778],
                        8843: [0.13597, 0.63597, 0, 0, 0.77778],
                        8847: [0.03517, 0.54986, 0, 0, 0.77778],
                        8848: [0.03517, 0.54986, 0, 0, 0.77778],
                        8858: [0.08198, 0.58198, 0, 0, 0.77778],
                        8859: [0.08198, 0.58198, 0, 0, 0.77778],
                        8861: [0.08198, 0.58198, 0, 0, 0.77778],
                        8862: [0, 0.675, 0, 0, 0.77778],
                        8863: [0, 0.675, 0, 0, 0.77778],
                        8864: [0, 0.675, 0, 0, 0.77778],
                        8865: [0, 0.675, 0, 0, 0.77778],
                        8872: [0, 0.69224, 0, 0, 0.61111],
                        8873: [0, 0.69224, 0, 0, 0.72222],
                        8874: [0, 0.69224, 0, 0, 0.88889],
                        8876: [0, 0.68889, 0, 0, 0.61111],
                        8877: [0, 0.68889, 0, 0, 0.61111],
                        8878: [0, 0.68889, 0, 0, 0.72222],
                        8879: [0, 0.68889, 0, 0, 0.72222],
                        8882: [0.03517, 0.54986, 0, 0, 0.77778],
                        8883: [0.03517, 0.54986, 0, 0, 0.77778],
                        8884: [0.13667, 0.63667, 0, 0, 0.77778],
                        8885: [0.13667, 0.63667, 0, 0, 0.77778],
                        8888: [0, 0.54986, 0, 0, 1.11111],
                        8890: [0.19444, 0.43056, 0, 0, 0.55556],
                        8891: [0.19444, 0.69224, 0, 0, 0.61111],
                        8892: [0.19444, 0.69224, 0, 0, 0.61111],
                        8901: [0, 0.54986, 0, 0, 0.27778],
                        8903: [0.08167, 0.58167, 0, 0, 0.77778],
                        8905: [0.08167, 0.58167, 0, 0, 0.77778],
                        8906: [0.08167, 0.58167, 0, 0, 0.77778],
                        8907: [0, 0.69224, 0, 0, 0.77778],
                        8908: [0, 0.69224, 0, 0, 0.77778],
                        8909: [-0.03598, 0.46402, 0, 0, 0.77778],
                        8910: [0, 0.54986, 0, 0, 0.76042],
                        8911: [0, 0.54986, 0, 0, 0.76042],
                        8912: [0.03517, 0.54986, 0, 0, 0.77778],
                        8913: [0.03517, 0.54986, 0, 0, 0.77778],
                        8914: [0, 0.54986, 0, 0, 0.66667],
                        8915: [0, 0.54986, 0, 0, 0.66667],
                        8916: [0, 0.69224, 0, 0, 0.66667],
                        8918: [0.0391, 0.5391, 0, 0, 0.77778],
                        8919: [0.0391, 0.5391, 0, 0, 0.77778],
                        8920: [0.03517, 0.54986, 0, 0, 1.33334],
                        8921: [0.03517, 0.54986, 0, 0, 1.33334],
                        8922: [0.38569, 0.88569, 0, 0, 0.77778],
                        8923: [0.38569, 0.88569, 0, 0, 0.77778],
                        8926: [0.13667, 0.63667, 0, 0, 0.77778],
                        8927: [0.13667, 0.63667, 0, 0, 0.77778],
                        8928: [0.30274, 0.79383, 0, 0, 0.77778],
                        8929: [0.30274, 0.79383, 0, 0, 0.77778],
                        8934: [0.23222, 0.74111, 0, 0, 0.77778],
                        8935: [0.23222, 0.74111, 0, 0, 0.77778],
                        8936: [0.23222, 0.74111, 0, 0, 0.77778],
                        8937: [0.23222, 0.74111, 0, 0, 0.77778],
                        8938: [0.20576, 0.70576, 0, 0, 0.77778],
                        8939: [0.20576, 0.70576, 0, 0, 0.77778],
                        8940: [0.30274, 0.79383, 0, 0, 0.77778],
                        8941: [0.30274, 0.79383, 0, 0, 0.77778],
                        8994: [0.19444, 0.69224, 0, 0, 0.77778],
                        8995: [0.19444, 0.69224, 0, 0, 0.77778],
                        9416: [0.15559, 0.69224, 0, 0, 0.90222],
                        9484: [0, 0.69224, 0, 0, 0.5],
                        9488: [0, 0.69224, 0, 0, 0.5],
                        9492: [0, 0.37788, 0, 0, 0.5],
                        9496: [0, 0.37788, 0, 0, 0.5],
                        9585: [0.19444, 0.68889, 0, 0, 0.88889],
                        9586: [0.19444, 0.74111, 0, 0, 0.88889],
                        9632: [0, 0.675, 0, 0, 0.77778],
                        9633: [0, 0.675, 0, 0, 0.77778],
                        9650: [0, 0.54986, 0, 0, 0.72222],
                        9651: [0, 0.54986, 0, 0, 0.72222],
                        9654: [0.03517, 0.54986, 0, 0, 0.77778],
                        9660: [0, 0.54986, 0, 0, 0.72222],
                        9661: [0, 0.54986, 0, 0, 0.72222],
                        9664: [0.03517, 0.54986, 0, 0, 0.77778],
                        9674: [0.11111, 0.69224, 0, 0, 0.66667],
                        9733: [0.19444, 0.69224, 0, 0, 0.94445],
                        10003: [0, 0.69224, 0, 0, 0.83334],
                        10016: [0, 0.69224, 0, 0, 0.83334],
                        10731: [0.11111, 0.69224, 0, 0, 0.66667],
                        10846: [0.19444, 0.75583, 0, 0, 0.61111],
                        10877: [0.13667, 0.63667, 0, 0, 0.77778],
                        10878: [0.13667, 0.63667, 0, 0, 0.77778],
                        10885: [0.25583, 0.75583, 0, 0, 0.77778],
                        10886: [0.25583, 0.75583, 0, 0, 0.77778],
                        10887: [0.13597, 0.63597, 0, 0, 0.77778],
                        10888: [0.13597, 0.63597, 0, 0, 0.77778],
                        10889: [0.26167, 0.75726, 0, 0, 0.77778],
                        10890: [0.26167, 0.75726, 0, 0, 0.77778],
                        10891: [0.48256, 0.98256, 0, 0, 0.77778],
                        10892: [0.48256, 0.98256, 0, 0, 0.77778],
                        10901: [0.13667, 0.63667, 0, 0, 0.77778],
                        10902: [0.13667, 0.63667, 0, 0, 0.77778],
                        10933: [0.25142, 0.75726, 0, 0, 0.77778],
                        10934: [0.25142, 0.75726, 0, 0, 0.77778],
                        10935: [0.26167, 0.75726, 0, 0, 0.77778],
                        10936: [0.26167, 0.75726, 0, 0, 0.77778],
                        10937: [0.26167, 0.75726, 0, 0, 0.77778],
                        10938: [0.26167, 0.75726, 0, 0, 0.77778],
                        10949: [0.25583, 0.75583, 0, 0, 0.77778],
                        10950: [0.25583, 0.75583, 0, 0, 0.77778],
                        10955: [0.28481, 0.79383, 0, 0, 0.77778],
                        10956: [0.28481, 0.79383, 0, 0, 0.77778],
                        57350: [0.08167, 0.58167, 0, 0, 0.22222],
                        57351: [0.08167, 0.58167, 0, 0, 0.38889],
                        57352: [0.08167, 0.58167, 0, 0, 0.77778],
                        57353: [0, 0.43056, 0.04028, 0, 0.66667],
                        57356: [0.25142, 0.75726, 0, 0, 0.77778],
                        57357: [0.25142, 0.75726, 0, 0, 0.77778],
                        57358: [0.41951, 0.91951, 0, 0, 0.77778],
                        57359: [0.30274, 0.79383, 0, 0, 0.77778],
                        57360: [0.30274, 0.79383, 0, 0, 0.77778],
                        57361: [0.41951, 0.91951, 0, 0, 0.77778],
                        57366: [0.25142, 0.75726, 0, 0, 0.77778],
                        57367: [0.25142, 0.75726, 0, 0, 0.77778],
                        57368: [0.25142, 0.75726, 0, 0, 0.77778],
                        57369: [0.25142, 0.75726, 0, 0, 0.77778],
                        57370: [0.13597, 0.63597, 0, 0, 0.77778],
                        57371: [0.13597, 0.63597, 0, 0, 0.77778],
                    },
                    "Caligraphic-Regular": {
                        48: [0, 0.43056, 0, 0, 0.5],
                        49: [0, 0.43056, 0, 0, 0.5],
                        50: [0, 0.43056, 0, 0, 0.5],
                        51: [0.19444, 0.43056, 0, 0, 0.5],
                        52: [0.19444, 0.43056, 0, 0, 0.5],
                        53: [0.19444, 0.43056, 0, 0, 0.5],
                        54: [0, 0.64444, 0, 0, 0.5],
                        55: [0.19444, 0.43056, 0, 0, 0.5],
                        56: [0, 0.64444, 0, 0, 0.5],
                        57: [0.19444, 0.43056, 0, 0, 0.5],
                        65: [0, 0.68333, 0, 0.19445, 0.79847],
                        66: [0, 0.68333, 0.03041, 0.13889, 0.65681],
                        67: [0, 0.68333, 0.05834, 0.13889, 0.52653],
                        68: [0, 0.68333, 0.02778, 0.08334, 0.77139],
                        69: [0, 0.68333, 0.08944, 0.11111, 0.52778],
                        70: [0, 0.68333, 0.09931, 0.11111, 0.71875],
                        71: [0.09722, 0.68333, 0.0593, 0.11111, 0.59487],
                        72: [0, 0.68333, 0.00965, 0.11111, 0.84452],
                        73: [0, 0.68333, 0.07382, 0, 0.54452],
                        74: [0.09722, 0.68333, 0.18472, 0.16667, 0.67778],
                        75: [0, 0.68333, 0.01445, 0.05556, 0.76195],
                        76: [0, 0.68333, 0, 0.13889, 0.68972],
                        77: [0, 0.68333, 0, 0.13889, 1.2009],
                        78: [0, 0.68333, 0.14736, 0.08334, 0.82049],
                        79: [0, 0.68333, 0.02778, 0.11111, 0.79611],
                        80: [0, 0.68333, 0.08222, 0.08334, 0.69556],
                        81: [0.09722, 0.68333, 0, 0.11111, 0.81667],
                        82: [0, 0.68333, 0, 0.08334, 0.8475],
                        83: [0, 0.68333, 0.075, 0.13889, 0.60556],
                        84: [0, 0.68333, 0.25417, 0, 0.54464],
                        85: [0, 0.68333, 0.09931, 0.08334, 0.62583],
                        86: [0, 0.68333, 0.08222, 0, 0.61278],
                        87: [0, 0.68333, 0.08222, 0.08334, 0.98778],
                        88: [0, 0.68333, 0.14643, 0.13889, 0.7133],
                        89: [0.09722, 0.68333, 0.08222, 0.08334, 0.66834],
                        90: [0, 0.68333, 0.07944, 0.13889, 0.72473],
                    },
                    "Fraktur-Regular": {
                        33: [0, 0.69141, 0, 0, 0.29574],
                        34: [0, 0.69141, 0, 0, 0.21471],
                        38: [0, 0.69141, 0, 0, 0.73786],
                        39: [0, 0.69141, 0, 0, 0.21201],
                        40: [0.24982, 0.74947, 0, 0, 0.38865],
                        41: [0.24982, 0.74947, 0, 0, 0.38865],
                        42: [0, 0.62119, 0, 0, 0.27764],
                        43: [0.08319, 0.58283, 0, 0, 0.75623],
                        44: [0, 0.10803, 0, 0, 0.27764],
                        45: [0.08319, 0.58283, 0, 0, 0.75623],
                        46: [0, 0.10803, 0, 0, 0.27764],
                        47: [0.24982, 0.74947, 0, 0, 0.50181],
                        48: [0, 0.47534, 0, 0, 0.50181],
                        49: [0, 0.47534, 0, 0, 0.50181],
                        50: [0, 0.47534, 0, 0, 0.50181],
                        51: [0.18906, 0.47534, 0, 0, 0.50181],
                        52: [0.18906, 0.47534, 0, 0, 0.50181],
                        53: [0.18906, 0.47534, 0, 0, 0.50181],
                        54: [0, 0.69141, 0, 0, 0.50181],
                        55: [0.18906, 0.47534, 0, 0, 0.50181],
                        56: [0, 0.69141, 0, 0, 0.50181],
                        57: [0.18906, 0.47534, 0, 0, 0.50181],
                        58: [0, 0.47534, 0, 0, 0.21606],
                        59: [0.12604, 0.47534, 0, 0, 0.21606],
                        61: [-0.13099, 0.36866, 0, 0, 0.75623],
                        63: [0, 0.69141, 0, 0, 0.36245],
                        65: [0, 0.69141, 0, 0, 0.7176],
                        66: [0, 0.69141, 0, 0, 0.88397],
                        67: [0, 0.69141, 0, 0, 0.61254],
                        68: [0, 0.69141, 0, 0, 0.83158],
                        69: [0, 0.69141, 0, 0, 0.66278],
                        70: [0.12604, 0.69141, 0, 0, 0.61119],
                        71: [0, 0.69141, 0, 0, 0.78539],
                        72: [0.06302, 0.69141, 0, 0, 0.7203],
                        73: [0, 0.69141, 0, 0, 0.55448],
                        74: [0.12604, 0.69141, 0, 0, 0.55231],
                        75: [0, 0.69141, 0, 0, 0.66845],
                        76: [0, 0.69141, 0, 0, 0.66602],
                        77: [0, 0.69141, 0, 0, 1.04953],
                        78: [0, 0.69141, 0, 0, 0.83212],
                        79: [0, 0.69141, 0, 0, 0.82699],
                        80: [0.18906, 0.69141, 0, 0, 0.82753],
                        81: [0.03781, 0.69141, 0, 0, 0.82699],
                        82: [0, 0.69141, 0, 0, 0.82807],
                        83: [0, 0.69141, 0, 0, 0.82861],
                        84: [0, 0.69141, 0, 0, 0.66899],
                        85: [0, 0.69141, 0, 0, 0.64576],
                        86: [0, 0.69141, 0, 0, 0.83131],
                        87: [0, 0.69141, 0, 0, 1.04602],
                        88: [0, 0.69141, 0, 0, 0.71922],
                        89: [0.18906, 0.69141, 0, 0, 0.83293],
                        90: [0.12604, 0.69141, 0, 0, 0.60201],
                        91: [0.24982, 0.74947, 0, 0, 0.27764],
                        93: [0.24982, 0.74947, 0, 0, 0.27764],
                        94: [0, 0.69141, 0, 0, 0.49965],
                        97: [0, 0.47534, 0, 0, 0.50046],
                        98: [0, 0.69141, 0, 0, 0.51315],
                        99: [0, 0.47534, 0, 0, 0.38946],
                        100: [0, 0.62119, 0, 0, 0.49857],
                        101: [0, 0.47534, 0, 0, 0.40053],
                        102: [0.18906, 0.69141, 0, 0, 0.32626],
                        103: [0.18906, 0.47534, 0, 0, 0.5037],
                        104: [0.18906, 0.69141, 0, 0, 0.52126],
                        105: [0, 0.69141, 0, 0, 0.27899],
                        106: [0, 0.69141, 0, 0, 0.28088],
                        107: [0, 0.69141, 0, 0, 0.38946],
                        108: [0, 0.69141, 0, 0, 0.27953],
                        109: [0, 0.47534, 0, 0, 0.76676],
                        110: [0, 0.47534, 0, 0, 0.52666],
                        111: [0, 0.47534, 0, 0, 0.48885],
                        112: [0.18906, 0.52396, 0, 0, 0.50046],
                        113: [0.18906, 0.47534, 0, 0, 0.48912],
                        114: [0, 0.47534, 0, 0, 0.38919],
                        115: [0, 0.47534, 0, 0, 0.44266],
                        116: [0, 0.62119, 0, 0, 0.33301],
                        117: [0, 0.47534, 0, 0, 0.5172],
                        118: [0, 0.52396, 0, 0, 0.5118],
                        119: [0, 0.52396, 0, 0, 0.77351],
                        120: [0.18906, 0.47534, 0, 0, 0.38865],
                        121: [0.18906, 0.47534, 0, 0, 0.49884],
                        122: [0.18906, 0.47534, 0, 0, 0.39054],
                        8216: [0, 0.69141, 0, 0, 0.21471],
                        8217: [0, 0.69141, 0, 0, 0.21471],
                        58112: [0, 0.62119, 0, 0, 0.49749],
                        58113: [0, 0.62119, 0, 0, 0.4983],
                        58114: [0.18906, 0.69141, 0, 0, 0.33328],
                        58115: [0.18906, 0.69141, 0, 0, 0.32923],
                        58116: [0.18906, 0.47534, 0, 0, 0.50343],
                        58117: [0, 0.69141, 0, 0, 0.33301],
                        58118: [0, 0.62119, 0, 0, 0.33409],
                        58119: [0, 0.47534, 0, 0, 0.50073],
                    },
                    "Main-Bold": {
                        33: [0, 0.69444, 0, 0, 0.35],
                        34: [0, 0.69444, 0, 0, 0.60278],
                        35: [0.19444, 0.69444, 0, 0, 0.95833],
                        36: [0.05556, 0.75, 0, 0, 0.575],
                        37: [0.05556, 0.75, 0, 0, 0.95833],
                        38: [0, 0.69444, 0, 0, 0.89444],
                        39: [0, 0.69444, 0, 0, 0.31944],
                        40: [0.25, 0.75, 0, 0, 0.44722],
                        41: [0.25, 0.75, 0, 0, 0.44722],
                        42: [0, 0.75, 0, 0, 0.575],
                        43: [0.13333, 0.63333, 0, 0, 0.89444],
                        44: [0.19444, 0.15556, 0, 0, 0.31944],
                        45: [0, 0.44444, 0, 0, 0.38333],
                        46: [0, 0.15556, 0, 0, 0.31944],
                        47: [0.25, 0.75, 0, 0, 0.575],
                        48: [0, 0.64444, 0, 0, 0.575],
                        49: [0, 0.64444, 0, 0, 0.575],
                        50: [0, 0.64444, 0, 0, 0.575],
                        51: [0, 0.64444, 0, 0, 0.575],
                        52: [0, 0.64444, 0, 0, 0.575],
                        53: [0, 0.64444, 0, 0, 0.575],
                        54: [0, 0.64444, 0, 0, 0.575],
                        55: [0, 0.64444, 0, 0, 0.575],
                        56: [0, 0.64444, 0, 0, 0.575],
                        57: [0, 0.64444, 0, 0, 0.575],
                        58: [0, 0.44444, 0, 0, 0.31944],
                        59: [0.19444, 0.44444, 0, 0, 0.31944],
                        60: [0.08556, 0.58556, 0, 0, 0.89444],
                        61: [-0.10889, 0.39111, 0, 0, 0.89444],
                        62: [0.08556, 0.58556, 0, 0, 0.89444],
                        63: [0, 0.69444, 0, 0, 0.54305],
                        64: [0, 0.69444, 0, 0, 0.89444],
                        65: [0, 0.68611, 0, 0, 0.86944],
                        66: [0, 0.68611, 0, 0, 0.81805],
                        67: [0, 0.68611, 0, 0, 0.83055],
                        68: [0, 0.68611, 0, 0, 0.88194],
                        69: [0, 0.68611, 0, 0, 0.75555],
                        70: [0, 0.68611, 0, 0, 0.72361],
                        71: [0, 0.68611, 0, 0, 0.90416],
                        72: [0, 0.68611, 0, 0, 0.9],
                        73: [0, 0.68611, 0, 0, 0.43611],
                        74: [0, 0.68611, 0, 0, 0.59444],
                        75: [0, 0.68611, 0, 0, 0.90138],
                        76: [0, 0.68611, 0, 0, 0.69166],
                        77: [0, 0.68611, 0, 0, 1.09166],
                        78: [0, 0.68611, 0, 0, 0.9],
                        79: [0, 0.68611, 0, 0, 0.86388],
                        80: [0, 0.68611, 0, 0, 0.78611],
                        81: [0.19444, 0.68611, 0, 0, 0.86388],
                        82: [0, 0.68611, 0, 0, 0.8625],
                        83: [0, 0.68611, 0, 0, 0.63889],
                        84: [0, 0.68611, 0, 0, 0.8],
                        85: [0, 0.68611, 0, 0, 0.88472],
                        86: [0, 0.68611, 0.01597, 0, 0.86944],
                        87: [0, 0.68611, 0.01597, 0, 1.18888],
                        88: [0, 0.68611, 0, 0, 0.86944],
                        89: [0, 0.68611, 0.02875, 0, 0.86944],
                        90: [0, 0.68611, 0, 0, 0.70277],
                        91: [0.25, 0.75, 0, 0, 0.31944],
                        92: [0.25, 0.75, 0, 0, 0.575],
                        93: [0.25, 0.75, 0, 0, 0.31944],
                        94: [0, 0.69444, 0, 0, 0.575],
                        95: [0.31, 0.13444, 0.03194, 0, 0.575],
                        97: [0, 0.44444, 0, 0, 0.55902],
                        98: [0, 0.69444, 0, 0, 0.63889],
                        99: [0, 0.44444, 0, 0, 0.51111],
                        100: [0, 0.69444, 0, 0, 0.63889],
                        101: [0, 0.44444, 0, 0, 0.52708],
                        102: [0, 0.69444, 0.10903, 0, 0.35139],
                        103: [0.19444, 0.44444, 0.01597, 0, 0.575],
                        104: [0, 0.69444, 0, 0, 0.63889],
                        105: [0, 0.69444, 0, 0, 0.31944],
                        106: [0.19444, 0.69444, 0, 0, 0.35139],
                        107: [0, 0.69444, 0, 0, 0.60694],
                        108: [0, 0.69444, 0, 0, 0.31944],
                        109: [0, 0.44444, 0, 0, 0.95833],
                        110: [0, 0.44444, 0, 0, 0.63889],
                        111: [0, 0.44444, 0, 0, 0.575],
                        112: [0.19444, 0.44444, 0, 0, 0.63889],
                        113: [0.19444, 0.44444, 0, 0, 0.60694],
                        114: [0, 0.44444, 0, 0, 0.47361],
                        115: [0, 0.44444, 0, 0, 0.45361],
                        116: [0, 0.63492, 0, 0, 0.44722],
                        117: [0, 0.44444, 0, 0, 0.63889],
                        118: [0, 0.44444, 0.01597, 0, 0.60694],
                        119: [0, 0.44444, 0.01597, 0, 0.83055],
                        120: [0, 0.44444, 0, 0, 0.60694],
                        121: [0.19444, 0.44444, 0.01597, 0, 0.60694],
                        122: [0, 0.44444, 0, 0, 0.51111],
                        123: [0.25, 0.75, 0, 0, 0.575],
                        124: [0.25, 0.75, 0, 0, 0.31944],
                        125: [0.25, 0.75, 0, 0, 0.575],
                        126: [0.35, 0.34444, 0, 0, 0.575],
                        168: [0, 0.69444, 0, 0, 0.575],
                        172: [0, 0.44444, 0, 0, 0.76666],
                        176: [0, 0.69444, 0, 0, 0.86944],
                        177: [0.13333, 0.63333, 0, 0, 0.89444],
                        184: [0.17014, 0, 0, 0, 0.51111],
                        198: [0, 0.68611, 0, 0, 1.04166],
                        215: [0.13333, 0.63333, 0, 0, 0.89444],
                        216: [0.04861, 0.73472, 0, 0, 0.89444],
                        223: [0, 0.69444, 0, 0, 0.59722],
                        230: [0, 0.44444, 0, 0, 0.83055],
                        247: [0.13333, 0.63333, 0, 0, 0.89444],
                        248: [0.09722, 0.54167, 0, 0, 0.575],
                        305: [0, 0.44444, 0, 0, 0.31944],
                        338: [0, 0.68611, 0, 0, 1.16944],
                        339: [0, 0.44444, 0, 0, 0.89444],
                        567: [0.19444, 0.44444, 0, 0, 0.35139],
                        710: [0, 0.69444, 0, 0, 0.575],
                        711: [0, 0.63194, 0, 0, 0.575],
                        713: [0, 0.59611, 0, 0, 0.575],
                        714: [0, 0.69444, 0, 0, 0.575],
                        715: [0, 0.69444, 0, 0, 0.575],
                        728: [0, 0.69444, 0, 0, 0.575],
                        729: [0, 0.69444, 0, 0, 0.31944],
                        730: [0, 0.69444, 0, 0, 0.86944],
                        732: [0, 0.69444, 0, 0, 0.575],
                        733: [0, 0.69444, 0, 0, 0.575],
                        915: [0, 0.68611, 0, 0, 0.69166],
                        916: [0, 0.68611, 0, 0, 0.95833],
                        920: [0, 0.68611, 0, 0, 0.89444],
                        923: [0, 0.68611, 0, 0, 0.80555],
                        926: [0, 0.68611, 0, 0, 0.76666],
                        928: [0, 0.68611, 0, 0, 0.9],
                        931: [0, 0.68611, 0, 0, 0.83055],
                        933: [0, 0.68611, 0, 0, 0.89444],
                        934: [0, 0.68611, 0, 0, 0.83055],
                        936: [0, 0.68611, 0, 0, 0.89444],
                        937: [0, 0.68611, 0, 0, 0.83055],
                        8211: [0, 0.44444, 0.03194, 0, 0.575],
                        8212: [0, 0.44444, 0.03194, 0, 1.14999],
                        8216: [0, 0.69444, 0, 0, 0.31944],
                        8217: [0, 0.69444, 0, 0, 0.31944],
                        8220: [0, 0.69444, 0, 0, 0.60278],
                        8221: [0, 0.69444, 0, 0, 0.60278],
                        8224: [0.19444, 0.69444, 0, 0, 0.51111],
                        8225: [0.19444, 0.69444, 0, 0, 0.51111],
                        8242: [0, 0.55556, 0, 0, 0.34444],
                        8407: [0, 0.72444, 0.15486, 0, 0.575],
                        8463: [0, 0.69444, 0, 0, 0.66759],
                        8465: [0, 0.69444, 0, 0, 0.83055],
                        8467: [0, 0.69444, 0, 0, 0.47361],
                        8472: [0.19444, 0.44444, 0, 0, 0.74027],
                        8476: [0, 0.69444, 0, 0, 0.83055],
                        8501: [0, 0.69444, 0, 0, 0.70277],
                        8592: [-0.10889, 0.39111, 0, 0, 1.14999],
                        8593: [0.19444, 0.69444, 0, 0, 0.575],
                        8594: [-0.10889, 0.39111, 0, 0, 1.14999],
                        8595: [0.19444, 0.69444, 0, 0, 0.575],
                        8596: [-0.10889, 0.39111, 0, 0, 1.14999],
                        8597: [0.25, 0.75, 0, 0, 0.575],
                        8598: [0.19444, 0.69444, 0, 0, 1.14999],
                        8599: [0.19444, 0.69444, 0, 0, 1.14999],
                        8600: [0.19444, 0.69444, 0, 0, 1.14999],
                        8601: [0.19444, 0.69444, 0, 0, 1.14999],
                        8636: [-0.10889, 0.39111, 0, 0, 1.14999],
                        8637: [-0.10889, 0.39111, 0, 0, 1.14999],
                        8640: [-0.10889, 0.39111, 0, 0, 1.14999],
                        8641: [-0.10889, 0.39111, 0, 0, 1.14999],
                        8656: [-0.10889, 0.39111, 0, 0, 1.14999],
                        8657: [0.19444, 0.69444, 0, 0, 0.70277],
                        8658: [-0.10889, 0.39111, 0, 0, 1.14999],
                        8659: [0.19444, 0.69444, 0, 0, 0.70277],
                        8660: [-0.10889, 0.39111, 0, 0, 1.14999],
                        8661: [0.25, 0.75, 0, 0, 0.70277],
                        8704: [0, 0.69444, 0, 0, 0.63889],
                        8706: [0, 0.69444, 0.06389, 0, 0.62847],
                        8707: [0, 0.69444, 0, 0, 0.63889],
                        8709: [0.05556, 0.75, 0, 0, 0.575],
                        8711: [0, 0.68611, 0, 0, 0.95833],
                        8712: [0.08556, 0.58556, 0, 0, 0.76666],
                        8715: [0.08556, 0.58556, 0, 0, 0.76666],
                        8722: [0.13333, 0.63333, 0, 0, 0.89444],
                        8723: [0.13333, 0.63333, 0, 0, 0.89444],
                        8725: [0.25, 0.75, 0, 0, 0.575],
                        8726: [0.25, 0.75, 0, 0, 0.575],
                        8727: [-0.02778, 0.47222, 0, 0, 0.575],
                        8728: [-0.02639, 0.47361, 0, 0, 0.575],
                        8729: [-0.02639, 0.47361, 0, 0, 0.575],
                        8730: [0.18, 0.82, 0, 0, 0.95833],
                        8733: [0, 0.44444, 0, 0, 0.89444],
                        8734: [0, 0.44444, 0, 0, 1.14999],
                        8736: [0, 0.69224, 0, 0, 0.72222],
                        8739: [0.25, 0.75, 0, 0, 0.31944],
                        8741: [0.25, 0.75, 0, 0, 0.575],
                        8743: [0, 0.55556, 0, 0, 0.76666],
                        8744: [0, 0.55556, 0, 0, 0.76666],
                        8745: [0, 0.55556, 0, 0, 0.76666],
                        8746: [0, 0.55556, 0, 0, 0.76666],
                        8747: [0.19444, 0.69444, 0.12778, 0, 0.56875],
                        8764: [-0.10889, 0.39111, 0, 0, 0.89444],
                        8768: [0.19444, 0.69444, 0, 0, 0.31944],
                        8771: [0.00222, 0.50222, 0, 0, 0.89444],
                        8776: [0.02444, 0.52444, 0, 0, 0.89444],
                        8781: [0.00222, 0.50222, 0, 0, 0.89444],
                        8801: [0.00222, 0.50222, 0, 0, 0.89444],
                        8804: [0.19667, 0.69667, 0, 0, 0.89444],
                        8805: [0.19667, 0.69667, 0, 0, 0.89444],
                        8810: [0.08556, 0.58556, 0, 0, 1.14999],
                        8811: [0.08556, 0.58556, 0, 0, 1.14999],
                        8826: [0.08556, 0.58556, 0, 0, 0.89444],
                        8827: [0.08556, 0.58556, 0, 0, 0.89444],
                        8834: [0.08556, 0.58556, 0, 0, 0.89444],
                        8835: [0.08556, 0.58556, 0, 0, 0.89444],
                        8838: [0.19667, 0.69667, 0, 0, 0.89444],
                        8839: [0.19667, 0.69667, 0, 0, 0.89444],
                        8846: [0, 0.55556, 0, 0, 0.76666],
                        8849: [0.19667, 0.69667, 0, 0, 0.89444],
                        8850: [0.19667, 0.69667, 0, 0, 0.89444],
                        8851: [0, 0.55556, 0, 0, 0.76666],
                        8852: [0, 0.55556, 0, 0, 0.76666],
                        8853: [0.13333, 0.63333, 0, 0, 0.89444],
                        8854: [0.13333, 0.63333, 0, 0, 0.89444],
                        8855: [0.13333, 0.63333, 0, 0, 0.89444],
                        8856: [0.13333, 0.63333, 0, 0, 0.89444],
                        8857: [0.13333, 0.63333, 0, 0, 0.89444],
                        8866: [0, 0.69444, 0, 0, 0.70277],
                        8867: [0, 0.69444, 0, 0, 0.70277],
                        8868: [0, 0.69444, 0, 0, 0.89444],
                        8869: [0, 0.69444, 0, 0, 0.89444],
                        8900: [-0.02639, 0.47361, 0, 0, 0.575],
                        8901: [-0.02639, 0.47361, 0, 0, 0.31944],
                        8902: [-0.02778, 0.47222, 0, 0, 0.575],
                        8968: [0.25, 0.75, 0, 0, 0.51111],
                        8969: [0.25, 0.75, 0, 0, 0.51111],
                        8970: [0.25, 0.75, 0, 0, 0.51111],
                        8971: [0.25, 0.75, 0, 0, 0.51111],
                        8994: [-0.13889, 0.36111, 0, 0, 1.14999],
                        8995: [-0.13889, 0.36111, 0, 0, 1.14999],
                        9651: [0.19444, 0.69444, 0, 0, 1.02222],
                        9657: [-0.02778, 0.47222, 0, 0, 0.575],
                        9661: [0.19444, 0.69444, 0, 0, 1.02222],
                        9667: [-0.02778, 0.47222, 0, 0, 0.575],
                        9711: [0.19444, 0.69444, 0, 0, 1.14999],
                        9824: [0.12963, 0.69444, 0, 0, 0.89444],
                        9825: [0.12963, 0.69444, 0, 0, 0.89444],
                        9826: [0.12963, 0.69444, 0, 0, 0.89444],
                        9827: [0.12963, 0.69444, 0, 0, 0.89444],
                        9837: [0, 0.75, 0, 0, 0.44722],
                        9838: [0.19444, 0.69444, 0, 0, 0.44722],
                        9839: [0.19444, 0.69444, 0, 0, 0.44722],
                        10216: [0.25, 0.75, 0, 0, 0.44722],
                        10217: [0.25, 0.75, 0, 0, 0.44722],
                        10815: [0, 0.68611, 0, 0, 0.9],
                        10927: [0.19667, 0.69667, 0, 0, 0.89444],
                        10928: [0.19667, 0.69667, 0, 0, 0.89444],
                        57376: [0.19444, 0.69444, 0, 0, 0],
                    },
                    "Main-BoldItalic": {
                        33: [0, 0.69444, 0.11417, 0, 0.38611],
                        34: [0, 0.69444, 0.07939, 0, 0.62055],
                        35: [0.19444, 0.69444, 0.06833, 0, 0.94444],
                        37: [0.05556, 0.75, 0.12861, 0, 0.94444],
                        38: [0, 0.69444, 0.08528, 0, 0.88555],
                        39: [0, 0.69444, 0.12945, 0, 0.35555],
                        40: [0.25, 0.75, 0.15806, 0, 0.47333],
                        41: [0.25, 0.75, 0.03306, 0, 0.47333],
                        42: [0, 0.75, 0.14333, 0, 0.59111],
                        43: [0.10333, 0.60333, 0.03306, 0, 0.88555],
                        44: [0.19444, 0.14722, 0, 0, 0.35555],
                        45: [0, 0.44444, 0.02611, 0, 0.41444],
                        46: [0, 0.14722, 0, 0, 0.35555],
                        47: [0.25, 0.75, 0.15806, 0, 0.59111],
                        48: [0, 0.64444, 0.13167, 0, 0.59111],
                        49: [0, 0.64444, 0.13167, 0, 0.59111],
                        50: [0, 0.64444, 0.13167, 0, 0.59111],
                        51: [0, 0.64444, 0.13167, 0, 0.59111],
                        52: [0.19444, 0.64444, 0.13167, 0, 0.59111],
                        53: [0, 0.64444, 0.13167, 0, 0.59111],
                        54: [0, 0.64444, 0.13167, 0, 0.59111],
                        55: [0.19444, 0.64444, 0.13167, 0, 0.59111],
                        56: [0, 0.64444, 0.13167, 0, 0.59111],
                        57: [0, 0.64444, 0.13167, 0, 0.59111],
                        58: [0, 0.44444, 0.06695, 0, 0.35555],
                        59: [0.19444, 0.44444, 0.06695, 0, 0.35555],
                        61: [-0.10889, 0.39111, 0.06833, 0, 0.88555],
                        63: [0, 0.69444, 0.11472, 0, 0.59111],
                        64: [0, 0.69444, 0.09208, 0, 0.88555],
                        65: [0, 0.68611, 0, 0, 0.86555],
                        66: [0, 0.68611, 0.0992, 0, 0.81666],
                        67: [0, 0.68611, 0.14208, 0, 0.82666],
                        68: [0, 0.68611, 0.09062, 0, 0.87555],
                        69: [0, 0.68611, 0.11431, 0, 0.75666],
                        70: [0, 0.68611, 0.12903, 0, 0.72722],
                        71: [0, 0.68611, 0.07347, 0, 0.89527],
                        72: [0, 0.68611, 0.17208, 0, 0.8961],
                        73: [0, 0.68611, 0.15681, 0, 0.47166],
                        74: [0, 0.68611, 0.145, 0, 0.61055],
                        75: [0, 0.68611, 0.14208, 0, 0.89499],
                        76: [0, 0.68611, 0, 0, 0.69777],
                        77: [0, 0.68611, 0.17208, 0, 1.07277],
                        78: [0, 0.68611, 0.17208, 0, 0.8961],
                        79: [0, 0.68611, 0.09062, 0, 0.85499],
                        80: [0, 0.68611, 0.0992, 0, 0.78721],
                        81: [0.19444, 0.68611, 0.09062, 0, 0.85499],
                        82: [0, 0.68611, 0.02559, 0, 0.85944],
                        83: [0, 0.68611, 0.11264, 0, 0.64999],
                        84: [0, 0.68611, 0.12903, 0, 0.7961],
                        85: [0, 0.68611, 0.17208, 0, 0.88083],
                        86: [0, 0.68611, 0.18625, 0, 0.86555],
                        87: [0, 0.68611, 0.18625, 0, 1.15999],
                        88: [0, 0.68611, 0.15681, 0, 0.86555],
                        89: [0, 0.68611, 0.19803, 0, 0.86555],
                        90: [0, 0.68611, 0.14208, 0, 0.70888],
                        91: [0.25, 0.75, 0.1875, 0, 0.35611],
                        93: [0.25, 0.75, 0.09972, 0, 0.35611],
                        94: [0, 0.69444, 0.06709, 0, 0.59111],
                        95: [0.31, 0.13444, 0.09811, 0, 0.59111],
                        97: [0, 0.44444, 0.09426, 0, 0.59111],
                        98: [0, 0.69444, 0.07861, 0, 0.53222],
                        99: [0, 0.44444, 0.05222, 0, 0.53222],
                        100: [0, 0.69444, 0.10861, 0, 0.59111],
                        101: [0, 0.44444, 0.085, 0, 0.53222],
                        102: [0.19444, 0.69444, 0.21778, 0, 0.4],
                        103: [0.19444, 0.44444, 0.105, 0, 0.53222],
                        104: [0, 0.69444, 0.09426, 0, 0.59111],
                        105: [0, 0.69326, 0.11387, 0, 0.35555],
                        106: [0.19444, 0.69326, 0.1672, 0, 0.35555],
                        107: [0, 0.69444, 0.11111, 0, 0.53222],
                        108: [0, 0.69444, 0.10861, 0, 0.29666],
                        109: [0, 0.44444, 0.09426, 0, 0.94444],
                        110: [0, 0.44444, 0.09426, 0, 0.64999],
                        111: [0, 0.44444, 0.07861, 0, 0.59111],
                        112: [0.19444, 0.44444, 0.07861, 0, 0.59111],
                        113: [0.19444, 0.44444, 0.105, 0, 0.53222],
                        114: [0, 0.44444, 0.11111, 0, 0.50167],
                        115: [0, 0.44444, 0.08167, 0, 0.48694],
                        116: [0, 0.63492, 0.09639, 0, 0.385],
                        117: [0, 0.44444, 0.09426, 0, 0.62055],
                        118: [0, 0.44444, 0.11111, 0, 0.53222],
                        119: [0, 0.44444, 0.11111, 0, 0.76777],
                        120: [0, 0.44444, 0.12583, 0, 0.56055],
                        121: [0.19444, 0.44444, 0.105, 0, 0.56166],
                        122: [0, 0.44444, 0.13889, 0, 0.49055],
                        126: [0.35, 0.34444, 0.11472, 0, 0.59111],
                        163: [0, 0.69444, 0, 0, 0.86853],
                        168: [0, 0.69444, 0.11473, 0, 0.59111],
                        176: [0, 0.69444, 0, 0, 0.94888],
                        184: [0.17014, 0, 0, 0, 0.53222],
                        198: [0, 0.68611, 0.11431, 0, 1.02277],
                        216: [0.04861, 0.73472, 0.09062, 0, 0.88555],
                        223: [0.19444, 0.69444, 0.09736, 0, 0.665],
                        230: [0, 0.44444, 0.085, 0, 0.82666],
                        248: [0.09722, 0.54167, 0.09458, 0, 0.59111],
                        305: [0, 0.44444, 0.09426, 0, 0.35555],
                        338: [0, 0.68611, 0.11431, 0, 1.14054],
                        339: [0, 0.44444, 0.085, 0, 0.82666],
                        567: [0.19444, 0.44444, 0.04611, 0, 0.385],
                        710: [0, 0.69444, 0.06709, 0, 0.59111],
                        711: [0, 0.63194, 0.08271, 0, 0.59111],
                        713: [0, 0.59444, 0.10444, 0, 0.59111],
                        714: [0, 0.69444, 0.08528, 0, 0.59111],
                        715: [0, 0.69444, 0, 0, 0.59111],
                        728: [0, 0.69444, 0.10333, 0, 0.59111],
                        729: [0, 0.69444, 0.12945, 0, 0.35555],
                        730: [0, 0.69444, 0, 0, 0.94888],
                        732: [0, 0.69444, 0.11472, 0, 0.59111],
                        733: [0, 0.69444, 0.11472, 0, 0.59111],
                        915: [0, 0.68611, 0.12903, 0, 0.69777],
                        916: [0, 0.68611, 0, 0, 0.94444],
                        920: [0, 0.68611, 0.09062, 0, 0.88555],
                        923: [0, 0.68611, 0, 0, 0.80666],
                        926: [0, 0.68611, 0.15092, 0, 0.76777],
                        928: [0, 0.68611, 0.17208, 0, 0.8961],
                        931: [0, 0.68611, 0.11431, 0, 0.82666],
                        933: [0, 0.68611, 0.10778, 0, 0.88555],
                        934: [0, 0.68611, 0.05632, 0, 0.82666],
                        936: [0, 0.68611, 0.10778, 0, 0.88555],
                        937: [0, 0.68611, 0.0992, 0, 0.82666],
                        8211: [0, 0.44444, 0.09811, 0, 0.59111],
                        8212: [0, 0.44444, 0.09811, 0, 1.18221],
                        8216: [0, 0.69444, 0.12945, 0, 0.35555],
                        8217: [0, 0.69444, 0.12945, 0, 0.35555],
                        8220: [0, 0.69444, 0.16772, 0, 0.62055],
                        8221: [0, 0.69444, 0.07939, 0, 0.62055],
                    },
                    "Main-Italic": {
                        33: [0, 0.69444, 0.12417, 0, 0.30667],
                        34: [0, 0.69444, 0.06961, 0, 0.51444],
                        35: [0.19444, 0.69444, 0.06616, 0, 0.81777],
                        37: [0.05556, 0.75, 0.13639, 0, 0.81777],
                        38: [0, 0.69444, 0.09694, 0, 0.76666],
                        39: [0, 0.69444, 0.12417, 0, 0.30667],
                        40: [0.25, 0.75, 0.16194, 0, 0.40889],
                        41: [0.25, 0.75, 0.03694, 0, 0.40889],
                        42: [0, 0.75, 0.14917, 0, 0.51111],
                        43: [0.05667, 0.56167, 0.03694, 0, 0.76666],
                        44: [0.19444, 0.10556, 0, 0, 0.30667],
                        45: [0, 0.43056, 0.02826, 0, 0.35778],
                        46: [0, 0.10556, 0, 0, 0.30667],
                        47: [0.25, 0.75, 0.16194, 0, 0.51111],
                        48: [0, 0.64444, 0.13556, 0, 0.51111],
                        49: [0, 0.64444, 0.13556, 0, 0.51111],
                        50: [0, 0.64444, 0.13556, 0, 0.51111],
                        51: [0, 0.64444, 0.13556, 0, 0.51111],
                        52: [0.19444, 0.64444, 0.13556, 0, 0.51111],
                        53: [0, 0.64444, 0.13556, 0, 0.51111],
                        54: [0, 0.64444, 0.13556, 0, 0.51111],
                        55: [0.19444, 0.64444, 0.13556, 0, 0.51111],
                        56: [0, 0.64444, 0.13556, 0, 0.51111],
                        57: [0, 0.64444, 0.13556, 0, 0.51111],
                        58: [0, 0.43056, 0.0582, 0, 0.30667],
                        59: [0.19444, 0.43056, 0.0582, 0, 0.30667],
                        61: [-0.13313, 0.36687, 0.06616, 0, 0.76666],
                        63: [0, 0.69444, 0.1225, 0, 0.51111],
                        64: [0, 0.69444, 0.09597, 0, 0.76666],
                        65: [0, 0.68333, 0, 0, 0.74333],
                        66: [0, 0.68333, 0.10257, 0, 0.70389],
                        67: [0, 0.68333, 0.14528, 0, 0.71555],
                        68: [0, 0.68333, 0.09403, 0, 0.755],
                        69: [0, 0.68333, 0.12028, 0, 0.67833],
                        70: [0, 0.68333, 0.13305, 0, 0.65277],
                        71: [0, 0.68333, 0.08722, 0, 0.77361],
                        72: [0, 0.68333, 0.16389, 0, 0.74333],
                        73: [0, 0.68333, 0.15806, 0, 0.38555],
                        74: [0, 0.68333, 0.14028, 0, 0.525],
                        75: [0, 0.68333, 0.14528, 0, 0.76888],
                        76: [0, 0.68333, 0, 0, 0.62722],
                        77: [0, 0.68333, 0.16389, 0, 0.89666],
                        78: [0, 0.68333, 0.16389, 0, 0.74333],
                        79: [0, 0.68333, 0.09403, 0, 0.76666],
                        80: [0, 0.68333, 0.10257, 0, 0.67833],
                        81: [0.19444, 0.68333, 0.09403, 0, 0.76666],
                        82: [0, 0.68333, 0.03868, 0, 0.72944],
                        83: [0, 0.68333, 0.11972, 0, 0.56222],
                        84: [0, 0.68333, 0.13305, 0, 0.71555],
                        85: [0, 0.68333, 0.16389, 0, 0.74333],
                        86: [0, 0.68333, 0.18361, 0, 0.74333],
                        87: [0, 0.68333, 0.18361, 0, 0.99888],
                        88: [0, 0.68333, 0.15806, 0, 0.74333],
                        89: [0, 0.68333, 0.19383, 0, 0.74333],
                        90: [0, 0.68333, 0.14528, 0, 0.61333],
                        91: [0.25, 0.75, 0.1875, 0, 0.30667],
                        93: [0.25, 0.75, 0.10528, 0, 0.30667],
                        94: [0, 0.69444, 0.06646, 0, 0.51111],
                        95: [0.31, 0.12056, 0.09208, 0, 0.51111],
                        97: [0, 0.43056, 0.07671, 0, 0.51111],
                        98: [0, 0.69444, 0.06312, 0, 0.46],
                        99: [0, 0.43056, 0.05653, 0, 0.46],
                        100: [0, 0.69444, 0.10333, 0, 0.51111],
                        101: [0, 0.43056, 0.07514, 0, 0.46],
                        102: [0.19444, 0.69444, 0.21194, 0, 0.30667],
                        103: [0.19444, 0.43056, 0.08847, 0, 0.46],
                        104: [0, 0.69444, 0.07671, 0, 0.51111],
                        105: [0, 0.65536, 0.1019, 0, 0.30667],
                        106: [0.19444, 0.65536, 0.14467, 0, 0.30667],
                        107: [0, 0.69444, 0.10764, 0, 0.46],
                        108: [0, 0.69444, 0.10333, 0, 0.25555],
                        109: [0, 0.43056, 0.07671, 0, 0.81777],
                        110: [0, 0.43056, 0.07671, 0, 0.56222],
                        111: [0, 0.43056, 0.06312, 0, 0.51111],
                        112: [0.19444, 0.43056, 0.06312, 0, 0.51111],
                        113: [0.19444, 0.43056, 0.08847, 0, 0.46],
                        114: [0, 0.43056, 0.10764, 0, 0.42166],
                        115: [0, 0.43056, 0.08208, 0, 0.40889],
                        116: [0, 0.61508, 0.09486, 0, 0.33222],
                        117: [0, 0.43056, 0.07671, 0, 0.53666],
                        118: [0, 0.43056, 0.10764, 0, 0.46],
                        119: [0, 0.43056, 0.10764, 0, 0.66444],
                        120: [0, 0.43056, 0.12042, 0, 0.46389],
                        121: [0.19444, 0.43056, 0.08847, 0, 0.48555],
                        122: [0, 0.43056, 0.12292, 0, 0.40889],
                        126: [0.35, 0.31786, 0.11585, 0, 0.51111],
                        163: [0, 0.69444, 0, 0, 0.76909],
                        168: [0, 0.66786, 0.10474, 0, 0.51111],
                        176: [0, 0.69444, 0, 0, 0.83129],
                        184: [0.17014, 0, 0, 0, 0.46],
                        198: [0, 0.68333, 0.12028, 0, 0.88277],
                        216: [0.04861, 0.73194, 0.09403, 0, 0.76666],
                        223: [0.19444, 0.69444, 0.10514, 0, 0.53666],
                        230: [0, 0.43056, 0.07514, 0, 0.71555],
                        248: [0.09722, 0.52778, 0.09194, 0, 0.51111],
                        305: [0, 0.43056, 0, 0.02778, 0.32246],
                        338: [0, 0.68333, 0.12028, 0, 0.98499],
                        339: [0, 0.43056, 0.07514, 0, 0.71555],
                        567: [0.19444, 0.43056, 0, 0.08334, 0.38403],
                        710: [0, 0.69444, 0.06646, 0, 0.51111],
                        711: [0, 0.62847, 0.08295, 0, 0.51111],
                        713: [0, 0.56167, 0.10333, 0, 0.51111],
                        714: [0, 0.69444, 0.09694, 0, 0.51111],
                        715: [0, 0.69444, 0, 0, 0.51111],
                        728: [0, 0.69444, 0.10806, 0, 0.51111],
                        729: [0, 0.66786, 0.11752, 0, 0.30667],
                        730: [0, 0.69444, 0, 0, 0.83129],
                        732: [0, 0.66786, 0.11585, 0, 0.51111],
                        733: [0, 0.69444, 0.1225, 0, 0.51111],
                        915: [0, 0.68333, 0.13305, 0, 0.62722],
                        916: [0, 0.68333, 0, 0, 0.81777],
                        920: [0, 0.68333, 0.09403, 0, 0.76666],
                        923: [0, 0.68333, 0, 0, 0.69222],
                        926: [0, 0.68333, 0.15294, 0, 0.66444],
                        928: [0, 0.68333, 0.16389, 0, 0.74333],
                        931: [0, 0.68333, 0.12028, 0, 0.71555],
                        933: [0, 0.68333, 0.11111, 0, 0.76666],
                        934: [0, 0.68333, 0.05986, 0, 0.71555],
                        936: [0, 0.68333, 0.11111, 0, 0.76666],
                        937: [0, 0.68333, 0.10257, 0, 0.71555],
                        8211: [0, 0.43056, 0.09208, 0, 0.51111],
                        8212: [0, 0.43056, 0.09208, 0, 1.02222],
                        8216: [0, 0.69444, 0.12417, 0, 0.30667],
                        8217: [0, 0.69444, 0.12417, 0, 0.30667],
                        8220: [0, 0.69444, 0.1685, 0, 0.51444],
                        8221: [0, 0.69444, 0.06961, 0, 0.51444],
                        8463: [0, 0.68889, 0, 0, 0.54028],
                    },
                    "Main-Regular": {
                        32: [0, 0, 0, 0, 0.25],
                        33: [0, 0.69444, 0, 0, 0.27778],
                        34: [0, 0.69444, 0, 0, 0.5],
                        35: [0.19444, 0.69444, 0, 0, 0.83334],
                        36: [0.05556, 0.75, 0, 0, 0.5],
                        37: [0.05556, 0.75, 0, 0, 0.83334],
                        38: [0, 0.69444, 0, 0, 0.77778],
                        39: [0, 0.69444, 0, 0, 0.27778],
                        40: [0.25, 0.75, 0, 0, 0.38889],
                        41: [0.25, 0.75, 0, 0, 0.38889],
                        42: [0, 0.75, 0, 0, 0.5],
                        43: [0.08333, 0.58333, 0, 0, 0.77778],
                        44: [0.19444, 0.10556, 0, 0, 0.27778],
                        45: [0, 0.43056, 0, 0, 0.33333],
                        46: [0, 0.10556, 0, 0, 0.27778],
                        47: [0.25, 0.75, 0, 0, 0.5],
                        48: [0, 0.64444, 0, 0, 0.5],
                        49: [0, 0.64444, 0, 0, 0.5],
                        50: [0, 0.64444, 0, 0, 0.5],
                        51: [0, 0.64444, 0, 0, 0.5],
                        52: [0, 0.64444, 0, 0, 0.5],
                        53: [0, 0.64444, 0, 0, 0.5],
                        54: [0, 0.64444, 0, 0, 0.5],
                        55: [0, 0.64444, 0, 0, 0.5],
                        56: [0, 0.64444, 0, 0, 0.5],
                        57: [0, 0.64444, 0, 0, 0.5],
                        58: [0, 0.43056, 0, 0, 0.27778],
                        59: [0.19444, 0.43056, 0, 0, 0.27778],
                        60: [0.0391, 0.5391, 0, 0, 0.77778],
                        61: [-0.13313, 0.36687, 0, 0, 0.77778],
                        62: [0.0391, 0.5391, 0, 0, 0.77778],
                        63: [0, 0.69444, 0, 0, 0.47222],
                        64: [0, 0.69444, 0, 0, 0.77778],
                        65: [0, 0.68333, 0, 0, 0.75],
                        66: [0, 0.68333, 0, 0, 0.70834],
                        67: [0, 0.68333, 0, 0, 0.72222],
                        68: [0, 0.68333, 0, 0, 0.76389],
                        69: [0, 0.68333, 0, 0, 0.68056],
                        70: [0, 0.68333, 0, 0, 0.65278],
                        71: [0, 0.68333, 0, 0, 0.78472],
                        72: [0, 0.68333, 0, 0, 0.75],
                        73: [0, 0.68333, 0, 0, 0.36111],
                        74: [0, 0.68333, 0, 0, 0.51389],
                        75: [0, 0.68333, 0, 0, 0.77778],
                        76: [0, 0.68333, 0, 0, 0.625],
                        77: [0, 0.68333, 0, 0, 0.91667],
                        78: [0, 0.68333, 0, 0, 0.75],
                        79: [0, 0.68333, 0, 0, 0.77778],
                        80: [0, 0.68333, 0, 0, 0.68056],
                        81: [0.19444, 0.68333, 0, 0, 0.77778],
                        82: [0, 0.68333, 0, 0, 0.73611],
                        83: [0, 0.68333, 0, 0, 0.55556],
                        84: [0, 0.68333, 0, 0, 0.72222],
                        85: [0, 0.68333, 0, 0, 0.75],
                        86: [0, 0.68333, 0.01389, 0, 0.75],
                        87: [0, 0.68333, 0.01389, 0, 1.02778],
                        88: [0, 0.68333, 0, 0, 0.75],
                        89: [0, 0.68333, 0.025, 0, 0.75],
                        90: [0, 0.68333, 0, 0, 0.61111],
                        91: [0.25, 0.75, 0, 0, 0.27778],
                        92: [0.25, 0.75, 0, 0, 0.5],
                        93: [0.25, 0.75, 0, 0, 0.27778],
                        94: [0, 0.69444, 0, 0, 0.5],
                        95: [0.31, 0.12056, 0.02778, 0, 0.5],
                        97: [0, 0.43056, 0, 0, 0.5],
                        98: [0, 0.69444, 0, 0, 0.55556],
                        99: [0, 0.43056, 0, 0, 0.44445],
                        100: [0, 0.69444, 0, 0, 0.55556],
                        101: [0, 0.43056, 0, 0, 0.44445],
                        102: [0, 0.69444, 0.07778, 0, 0.30556],
                        103: [0.19444, 0.43056, 0.01389, 0, 0.5],
                        104: [0, 0.69444, 0, 0, 0.55556],
                        105: [0, 0.66786, 0, 0, 0.27778],
                        106: [0.19444, 0.66786, 0, 0, 0.30556],
                        107: [0, 0.69444, 0, 0, 0.52778],
                        108: [0, 0.69444, 0, 0, 0.27778],
                        109: [0, 0.43056, 0, 0, 0.83334],
                        110: [0, 0.43056, 0, 0, 0.55556],
                        111: [0, 0.43056, 0, 0, 0.5],
                        112: [0.19444, 0.43056, 0, 0, 0.55556],
                        113: [0.19444, 0.43056, 0, 0, 0.52778],
                        114: [0, 0.43056, 0, 0, 0.39167],
                        115: [0, 0.43056, 0, 0, 0.39445],
                        116: [0, 0.61508, 0, 0, 0.38889],
                        117: [0, 0.43056, 0, 0, 0.55556],
                        118: [0, 0.43056, 0.01389, 0, 0.52778],
                        119: [0, 0.43056, 0.01389, 0, 0.72222],
                        120: [0, 0.43056, 0, 0, 0.52778],
                        121: [0.19444, 0.43056, 0.01389, 0, 0.52778],
                        122: [0, 0.43056, 0, 0, 0.44445],
                        123: [0.25, 0.75, 0, 0, 0.5],
                        124: [0.25, 0.75, 0, 0, 0.27778],
                        125: [0.25, 0.75, 0, 0, 0.5],
                        126: [0.35, 0.31786, 0, 0, 0.5],
                        160: [0, 0, 0, 0, 0.25],
                        167: [0.19444, 0.69444, 0, 0, 0.44445],
                        168: [0, 0.66786, 0, 0, 0.5],
                        172: [0, 0.43056, 0, 0, 0.66667],
                        176: [0, 0.69444, 0, 0, 0.75],
                        177: [0.08333, 0.58333, 0, 0, 0.77778],
                        182: [0.19444, 0.69444, 0, 0, 0.61111],
                        184: [0.17014, 0, 0, 0, 0.44445],
                        198: [0, 0.68333, 0, 0, 0.90278],
                        215: [0.08333, 0.58333, 0, 0, 0.77778],
                        216: [0.04861, 0.73194, 0, 0, 0.77778],
                        223: [0, 0.69444, 0, 0, 0.5],
                        230: [0, 0.43056, 0, 0, 0.72222],
                        247: [0.08333, 0.58333, 0, 0, 0.77778],
                        248: [0.09722, 0.52778, 0, 0, 0.5],
                        305: [0, 0.43056, 0, 0, 0.27778],
                        338: [0, 0.68333, 0, 0, 1.01389],
                        339: [0, 0.43056, 0, 0, 0.77778],
                        567: [0.19444, 0.43056, 0, 0, 0.30556],
                        710: [0, 0.69444, 0, 0, 0.5],
                        711: [0, 0.62847, 0, 0, 0.5],
                        713: [0, 0.56778, 0, 0, 0.5],
                        714: [0, 0.69444, 0, 0, 0.5],
                        715: [0, 0.69444, 0, 0, 0.5],
                        728: [0, 0.69444, 0, 0, 0.5],
                        729: [0, 0.66786, 0, 0, 0.27778],
                        730: [0, 0.69444, 0, 0, 0.75],
                        732: [0, 0.66786, 0, 0, 0.5],
                        733: [0, 0.69444, 0, 0, 0.5],
                        915: [0, 0.68333, 0, 0, 0.625],
                        916: [0, 0.68333, 0, 0, 0.83334],
                        920: [0, 0.68333, 0, 0, 0.77778],
                        923: [0, 0.68333, 0, 0, 0.69445],
                        926: [0, 0.68333, 0, 0, 0.66667],
                        928: [0, 0.68333, 0, 0, 0.75],
                        931: [0, 0.68333, 0, 0, 0.72222],
                        933: [0, 0.68333, 0, 0, 0.77778],
                        934: [0, 0.68333, 0, 0, 0.72222],
                        936: [0, 0.68333, 0, 0, 0.77778],
                        937: [0, 0.68333, 0, 0, 0.72222],
                        8211: [0, 0.43056, 0.02778, 0, 0.5],
                        8212: [0, 0.43056, 0.02778, 0, 1],
                        8216: [0, 0.69444, 0, 0, 0.27778],
                        8217: [0, 0.69444, 0, 0, 0.27778],
                        8220: [0, 0.69444, 0, 0, 0.5],
                        8221: [0, 0.69444, 0, 0, 0.5],
                        8224: [0.19444, 0.69444, 0, 0, 0.44445],
                        8225: [0.19444, 0.69444, 0, 0, 0.44445],
                        8230: [0, 0.12, 0, 0, 1.172],
                        8242: [0, 0.55556, 0, 0, 0.275],
                        8407: [0, 0.71444, 0.15382, 0, 0.5],
                        8463: [0, 0.68889, 0, 0, 0.54028],
                        8465: [0, 0.69444, 0, 0, 0.72222],
                        8467: [0, 0.69444, 0, 0.11111, 0.41667],
                        8472: [0.19444, 0.43056, 0, 0.11111, 0.63646],
                        8476: [0, 0.69444, 0, 0, 0.72222],
                        8501: [0, 0.69444, 0, 0, 0.61111],
                        8592: [-0.13313, 0.36687, 0, 0, 1],
                        8593: [0.19444, 0.69444, 0, 0, 0.5],
                        8594: [-0.13313, 0.36687, 0, 0, 1],
                        8595: [0.19444, 0.69444, 0, 0, 0.5],
                        8596: [-0.13313, 0.36687, 0, 0, 1],
                        8597: [0.25, 0.75, 0, 0, 0.5],
                        8598: [0.19444, 0.69444, 0, 0, 1],
                        8599: [0.19444, 0.69444, 0, 0, 1],
                        8600: [0.19444, 0.69444, 0, 0, 1],
                        8601: [0.19444, 0.69444, 0, 0, 1],
                        8614: [0.011, 0.511, 0, 0, 1],
                        8617: [0.011, 0.511, 0, 0, 1.126],
                        8618: [0.011, 0.511, 0, 0, 1.126],
                        8636: [-0.13313, 0.36687, 0, 0, 1],
                        8637: [-0.13313, 0.36687, 0, 0, 1],
                        8640: [-0.13313, 0.36687, 0, 0, 1],
                        8641: [-0.13313, 0.36687, 0, 0, 1],
                        8652: [0.011, 0.671, 0, 0, 1],
                        8656: [-0.13313, 0.36687, 0, 0, 1],
                        8657: [0.19444, 0.69444, 0, 0, 0.61111],
                        8658: [-0.13313, 0.36687, 0, 0, 1],
                        8659: [0.19444, 0.69444, 0, 0, 0.61111],
                        8660: [-0.13313, 0.36687, 0, 0, 1],
                        8661: [0.25, 0.75, 0, 0, 0.61111],
                        8704: [0, 0.69444, 0, 0, 0.55556],
                        8706: [0, 0.69444, 0.05556, 0.08334, 0.5309],
                        8707: [0, 0.69444, 0, 0, 0.55556],
                        8709: [0.05556, 0.75, 0, 0, 0.5],
                        8711: [0, 0.68333, 0, 0, 0.83334],
                        8712: [0.0391, 0.5391, 0, 0, 0.66667],
                        8715: [0.0391, 0.5391, 0, 0, 0.66667],
                        8722: [0.08333, 0.58333, 0, 0, 0.77778],
                        8723: [0.08333, 0.58333, 0, 0, 0.77778],
                        8725: [0.25, 0.75, 0, 0, 0.5],
                        8726: [0.25, 0.75, 0, 0, 0.5],
                        8727: [-0.03472, 0.46528, 0, 0, 0.5],
                        8728: [-0.05555, 0.44445, 0, 0, 0.5],
                        8729: [-0.05555, 0.44445, 0, 0, 0.5],
                        8730: [0.2, 0.8, 0, 0, 0.83334],
                        8733: [0, 0.43056, 0, 0, 0.77778],
                        8734: [0, 0.43056, 0, 0, 1],
                        8736: [0, 0.69224, 0, 0, 0.72222],
                        8739: [0.25, 0.75, 0, 0, 0.27778],
                        8741: [0.25, 0.75, 0, 0, 0.5],
                        8743: [0, 0.55556, 0, 0, 0.66667],
                        8744: [0, 0.55556, 0, 0, 0.66667],
                        8745: [0, 0.55556, 0, 0, 0.66667],
                        8746: [0, 0.55556, 0, 0, 0.66667],
                        8747: [0.19444, 0.69444, 0.11111, 0, 0.41667],
                        8764: [-0.13313, 0.36687, 0, 0, 0.77778],
                        8768: [0.19444, 0.69444, 0, 0, 0.27778],
                        8771: [-0.03625, 0.46375, 0, 0, 0.77778],
                        8773: [-0.022, 0.589, 0, 0, 1],
                        8776: [-0.01688, 0.48312, 0, 0, 0.77778],
                        8781: [-0.03625, 0.46375, 0, 0, 0.77778],
                        8784: [-0.133, 0.67, 0, 0, 0.778],
                        8801: [-0.03625, 0.46375, 0, 0, 0.77778],
                        8804: [0.13597, 0.63597, 0, 0, 0.77778],
                        8805: [0.13597, 0.63597, 0, 0, 0.77778],
                        8810: [0.0391, 0.5391, 0, 0, 1],
                        8811: [0.0391, 0.5391, 0, 0, 1],
                        8826: [0.0391, 0.5391, 0, 0, 0.77778],
                        8827: [0.0391, 0.5391, 0, 0, 0.77778],
                        8834: [0.0391, 0.5391, 0, 0, 0.77778],
                        8835: [0.0391, 0.5391, 0, 0, 0.77778],
                        8838: [0.13597, 0.63597, 0, 0, 0.77778],
                        8839: [0.13597, 0.63597, 0, 0, 0.77778],
                        8846: [0, 0.55556, 0, 0, 0.66667],
                        8849: [0.13597, 0.63597, 0, 0, 0.77778],
                        8850: [0.13597, 0.63597, 0, 0, 0.77778],
                        8851: [0, 0.55556, 0, 0, 0.66667],
                        8852: [0, 0.55556, 0, 0, 0.66667],
                        8853: [0.08333, 0.58333, 0, 0, 0.77778],
                        8854: [0.08333, 0.58333, 0, 0, 0.77778],
                        8855: [0.08333, 0.58333, 0, 0, 0.77778],
                        8856: [0.08333, 0.58333, 0, 0, 0.77778],
                        8857: [0.08333, 0.58333, 0, 0, 0.77778],
                        8866: [0, 0.69444, 0, 0, 0.61111],
                        8867: [0, 0.69444, 0, 0, 0.61111],
                        8868: [0, 0.69444, 0, 0, 0.77778],
                        8869: [0, 0.69444, 0, 0, 0.77778],
                        8872: [0.249, 0.75, 0, 0, 0.867],
                        8900: [-0.05555, 0.44445, 0, 0, 0.5],
                        8901: [-0.05555, 0.44445, 0, 0, 0.27778],
                        8902: [-0.03472, 0.46528, 0, 0, 0.5],
                        8904: [0.005, 0.505, 0, 0, 0.9],
                        8942: [0.03, 0.9, 0, 0, 0.278],
                        8943: [-0.19, 0.31, 0, 0, 1.172],
                        8945: [-0.1, 0.82, 0, 0, 1.282],
                        8968: [0.25, 0.75, 0, 0, 0.44445],
                        8969: [0.25, 0.75, 0, 0, 0.44445],
                        8970: [0.25, 0.75, 0, 0, 0.44445],
                        8971: [0.25, 0.75, 0, 0, 0.44445],
                        8994: [-0.14236, 0.35764, 0, 0, 1],
                        8995: [-0.14236, 0.35764, 0, 0, 1],
                        9136: [0.244, 0.744, 0, 0, 0.412],
                        9137: [0.244, 0.744, 0, 0, 0.412],
                        9651: [0.19444, 0.69444, 0, 0, 0.88889],
                        9657: [-0.03472, 0.46528, 0, 0, 0.5],
                        9661: [0.19444, 0.69444, 0, 0, 0.88889],
                        9667: [-0.03472, 0.46528, 0, 0, 0.5],
                        9711: [0.19444, 0.69444, 0, 0, 1],
                        9824: [0.12963, 0.69444, 0, 0, 0.77778],
                        9825: [0.12963, 0.69444, 0, 0, 0.77778],
                        9826: [0.12963, 0.69444, 0, 0, 0.77778],
                        9827: [0.12963, 0.69444, 0, 0, 0.77778],
                        9837: [0, 0.75, 0, 0, 0.38889],
                        9838: [0.19444, 0.69444, 0, 0, 0.38889],
                        9839: [0.19444, 0.69444, 0, 0, 0.38889],
                        10216: [0.25, 0.75, 0, 0, 0.38889],
                        10217: [0.25, 0.75, 0, 0, 0.38889],
                        10222: [0.244, 0.744, 0, 0, 0.412],
                        10223: [0.244, 0.744, 0, 0, 0.412],
                        10229: [0.011, 0.511, 0, 0, 1.609],
                        10230: [0.011, 0.511, 0, 0, 1.638],
                        10231: [0.011, 0.511, 0, 0, 1.859],
                        10232: [0.024, 0.525, 0, 0, 1.609],
                        10233: [0.024, 0.525, 0, 0, 1.638],
                        10234: [0.024, 0.525, 0, 0, 1.858],
                        10236: [0.011, 0.511, 0, 0, 1.638],
                        10815: [0, 0.68333, 0, 0, 0.75],
                        10927: [0.13597, 0.63597, 0, 0, 0.77778],
                        10928: [0.13597, 0.63597, 0, 0, 0.77778],
                        57376: [0.19444, 0.69444, 0, 0, 0],
                    },
                    "Math-BoldItalic": {
                        65: [0, 0.68611, 0, 0, 0.86944],
                        66: [0, 0.68611, 0.04835, 0, 0.8664],
                        67: [0, 0.68611, 0.06979, 0, 0.81694],
                        68: [0, 0.68611, 0.03194, 0, 0.93812],
                        69: [0, 0.68611, 0.05451, 0, 0.81007],
                        70: [0, 0.68611, 0.15972, 0, 0.68889],
                        71: [0, 0.68611, 0, 0, 0.88673],
                        72: [0, 0.68611, 0.08229, 0, 0.98229],
                        73: [0, 0.68611, 0.07778, 0, 0.51111],
                        74: [0, 0.68611, 0.10069, 0, 0.63125],
                        75: [0, 0.68611, 0.06979, 0, 0.97118],
                        76: [0, 0.68611, 0, 0, 0.75555],
                        77: [0, 0.68611, 0.11424, 0, 1.14201],
                        78: [0, 0.68611, 0.11424, 0, 0.95034],
                        79: [0, 0.68611, 0.03194, 0, 0.83666],
                        80: [0, 0.68611, 0.15972, 0, 0.72309],
                        81: [0.19444, 0.68611, 0, 0, 0.86861],
                        82: [0, 0.68611, 0.00421, 0, 0.87235],
                        83: [0, 0.68611, 0.05382, 0, 0.69271],
                        84: [0, 0.68611, 0.15972, 0, 0.63663],
                        85: [0, 0.68611, 0.11424, 0, 0.80027],
                        86: [0, 0.68611, 0.25555, 0, 0.67778],
                        87: [0, 0.68611, 0.15972, 0, 1.09305],
                        88: [0, 0.68611, 0.07778, 0, 0.94722],
                        89: [0, 0.68611, 0.25555, 0, 0.67458],
                        90: [0, 0.68611, 0.06979, 0, 0.77257],
                        97: [0, 0.44444, 0, 0, 0.63287],
                        98: [0, 0.69444, 0, 0, 0.52083],
                        99: [0, 0.44444, 0, 0, 0.51342],
                        100: [0, 0.69444, 0, 0, 0.60972],
                        101: [0, 0.44444, 0, 0, 0.55361],
                        102: [0.19444, 0.69444, 0.11042, 0, 0.56806],
                        103: [0.19444, 0.44444, 0.03704, 0, 0.5449],
                        104: [0, 0.69444, 0, 0, 0.66759],
                        105: [0, 0.69326, 0, 0, 0.4048],
                        106: [0.19444, 0.69326, 0.0622, 0, 0.47083],
                        107: [0, 0.69444, 0.01852, 0, 0.6037],
                        108: [0, 0.69444, 0.0088, 0, 0.34815],
                        109: [0, 0.44444, 0, 0, 1.0324],
                        110: [0, 0.44444, 0, 0, 0.71296],
                        111: [0, 0.44444, 0, 0, 0.58472],
                        112: [0.19444, 0.44444, 0, 0, 0.60092],
                        113: [0.19444, 0.44444, 0.03704, 0, 0.54213],
                        114: [0, 0.44444, 0.03194, 0, 0.5287],
                        115: [0, 0.44444, 0, 0, 0.53125],
                        116: [0, 0.63492, 0, 0, 0.41528],
                        117: [0, 0.44444, 0, 0, 0.68102],
                        118: [0, 0.44444, 0.03704, 0, 0.56666],
                        119: [0, 0.44444, 0.02778, 0, 0.83148],
                        120: [0, 0.44444, 0, 0, 0.65903],
                        121: [0.19444, 0.44444, 0.03704, 0, 0.59028],
                        122: [0, 0.44444, 0.04213, 0, 0.55509],
                        915: [0, 0.68611, 0.15972, 0, 0.65694],
                        916: [0, 0.68611, 0, 0, 0.95833],
                        920: [0, 0.68611, 0.03194, 0, 0.86722],
                        923: [0, 0.68611, 0, 0, 0.80555],
                        926: [0, 0.68611, 0.07458, 0, 0.84125],
                        928: [0, 0.68611, 0.08229, 0, 0.98229],
                        931: [0, 0.68611, 0.05451, 0, 0.88507],
                        933: [0, 0.68611, 0.15972, 0, 0.67083],
                        934: [0, 0.68611, 0, 0, 0.76666],
                        936: [0, 0.68611, 0.11653, 0, 0.71402],
                        937: [0, 0.68611, 0.04835, 0, 0.8789],
                        945: [0, 0.44444, 0, 0, 0.76064],
                        946: [0.19444, 0.69444, 0.03403, 0, 0.65972],
                        947: [0.19444, 0.44444, 0.06389, 0, 0.59003],
                        948: [0, 0.69444, 0.03819, 0, 0.52222],
                        949: [0, 0.44444, 0, 0, 0.52882],
                        950: [0.19444, 0.69444, 0.06215, 0, 0.50833],
                        951: [0.19444, 0.44444, 0.03704, 0, 0.6],
                        952: [0, 0.69444, 0.03194, 0, 0.5618],
                        953: [0, 0.44444, 0, 0, 0.41204],
                        954: [0, 0.44444, 0, 0, 0.66759],
                        955: [0, 0.69444, 0, 0, 0.67083],
                        956: [0.19444, 0.44444, 0, 0, 0.70787],
                        957: [0, 0.44444, 0.06898, 0, 0.57685],
                        958: [0.19444, 0.69444, 0.03021, 0, 0.50833],
                        959: [0, 0.44444, 0, 0, 0.58472],
                        960: [0, 0.44444, 0.03704, 0, 0.68241],
                        961: [0.19444, 0.44444, 0, 0, 0.6118],
                        962: [0.09722, 0.44444, 0.07917, 0, 0.42361],
                        963: [0, 0.44444, 0.03704, 0, 0.68588],
                        964: [0, 0.44444, 0.13472, 0, 0.52083],
                        965: [0, 0.44444, 0.03704, 0, 0.63055],
                        966: [0.19444, 0.44444, 0, 0, 0.74722],
                        967: [0.19444, 0.44444, 0, 0, 0.71805],
                        968: [0.19444, 0.69444, 0.03704, 0, 0.75833],
                        969: [0, 0.44444, 0.03704, 0, 0.71782],
                        977: [0, 0.69444, 0, 0, 0.69155],
                        981: [0.19444, 0.69444, 0, 0, 0.7125],
                        982: [0, 0.44444, 0.03194, 0, 0.975],
                        1009: [0.19444, 0.44444, 0, 0, 0.6118],
                        1013: [0, 0.44444, 0, 0, 0.48333],
                    },
                    "Math-Italic": {
                        65: [0, 0.68333, 0, 0.13889, 0.75],
                        66: [0, 0.68333, 0.05017, 0.08334, 0.75851],
                        67: [0, 0.68333, 0.07153, 0.08334, 0.71472],
                        68: [0, 0.68333, 0.02778, 0.05556, 0.82792],
                        69: [0, 0.68333, 0.05764, 0.08334, 0.7382],
                        70: [0, 0.68333, 0.13889, 0.08334, 0.64306],
                        71: [0, 0.68333, 0, 0.08334, 0.78625],
                        72: [0, 0.68333, 0.08125, 0.05556, 0.83125],
                        73: [0, 0.68333, 0.07847, 0.11111, 0.43958],
                        74: [0, 0.68333, 0.09618, 0.16667, 0.55451],
                        75: [0, 0.68333, 0.07153, 0.05556, 0.84931],
                        76: [0, 0.68333, 0, 0.02778, 0.68056],
                        77: [0, 0.68333, 0.10903, 0.08334, 0.97014],
                        78: [0, 0.68333, 0.10903, 0.08334, 0.80347],
                        79: [0, 0.68333, 0.02778, 0.08334, 0.76278],
                        80: [0, 0.68333, 0.13889, 0.08334, 0.64201],
                        81: [0.19444, 0.68333, 0, 0.08334, 0.79056],
                        82: [0, 0.68333, 0.00773, 0.08334, 0.75929],
                        83: [0, 0.68333, 0.05764, 0.08334, 0.6132],
                        84: [0, 0.68333, 0.13889, 0.08334, 0.58438],
                        85: [0, 0.68333, 0.10903, 0.02778, 0.68278],
                        86: [0, 0.68333, 0.22222, 0, 0.58333],
                        87: [0, 0.68333, 0.13889, 0, 0.94445],
                        88: [0, 0.68333, 0.07847, 0.08334, 0.82847],
                        89: [0, 0.68333, 0.22222, 0, 0.58056],
                        90: [0, 0.68333, 0.07153, 0.08334, 0.68264],
                        97: [0, 0.43056, 0, 0, 0.52859],
                        98: [0, 0.69444, 0, 0, 0.42917],
                        99: [0, 0.43056, 0, 0.05556, 0.43276],
                        100: [0, 0.69444, 0, 0.16667, 0.52049],
                        101: [0, 0.43056, 0, 0.05556, 0.46563],
                        102: [0.19444, 0.69444, 0.10764, 0.16667, 0.48959],
                        103: [0.19444, 0.43056, 0.03588, 0.02778, 0.47697],
                        104: [0, 0.69444, 0, 0, 0.57616],
                        105: [0, 0.65952, 0, 0, 0.34451],
                        106: [0.19444, 0.65952, 0.05724, 0, 0.41181],
                        107: [0, 0.69444, 0.03148, 0, 0.5206],
                        108: [0, 0.69444, 0.01968, 0.08334, 0.29838],
                        109: [0, 0.43056, 0, 0, 0.87801],
                        110: [0, 0.43056, 0, 0, 0.60023],
                        111: [0, 0.43056, 0, 0.05556, 0.48472],
                        112: [0.19444, 0.43056, 0, 0.08334, 0.50313],
                        113: [0.19444, 0.43056, 0.03588, 0.08334, 0.44641],
                        114: [0, 0.43056, 0.02778, 0.05556, 0.45116],
                        115: [0, 0.43056, 0, 0.05556, 0.46875],
                        116: [0, 0.61508, 0, 0.08334, 0.36111],
                        117: [0, 0.43056, 0, 0.02778, 0.57246],
                        118: [0, 0.43056, 0.03588, 0.02778, 0.48472],
                        119: [0, 0.43056, 0.02691, 0.08334, 0.71592],
                        120: [0, 0.43056, 0, 0.02778, 0.57153],
                        121: [0.19444, 0.43056, 0.03588, 0.05556, 0.49028],
                        122: [0, 0.43056, 0.04398, 0.05556, 0.46505],
                        915: [0, 0.68333, 0.13889, 0.08334, 0.61528],
                        916: [0, 0.68333, 0, 0.16667, 0.83334],
                        920: [0, 0.68333, 0.02778, 0.08334, 0.76278],
                        923: [0, 0.68333, 0, 0.16667, 0.69445],
                        926: [0, 0.68333, 0.07569, 0.08334, 0.74236],
                        928: [0, 0.68333, 0.08125, 0.05556, 0.83125],
                        931: [0, 0.68333, 0.05764, 0.08334, 0.77986],
                        933: [0, 0.68333, 0.13889, 0.05556, 0.58333],
                        934: [0, 0.68333, 0, 0.08334, 0.66667],
                        936: [0, 0.68333, 0.11, 0.05556, 0.61222],
                        937: [0, 0.68333, 0.05017, 0.08334, 0.7724],
                        945: [0, 0.43056, 0.0037, 0.02778, 0.6397],
                        946: [0.19444, 0.69444, 0.05278, 0.08334, 0.56563],
                        947: [0.19444, 0.43056, 0.05556, 0, 0.51773],
                        948: [0, 0.69444, 0.03785, 0.05556, 0.44444],
                        949: [0, 0.43056, 0, 0.08334, 0.46632],
                        950: [0.19444, 0.69444, 0.07378, 0.08334, 0.4375],
                        951: [0.19444, 0.43056, 0.03588, 0.05556, 0.49653],
                        952: [0, 0.69444, 0.02778, 0.08334, 0.46944],
                        953: [0, 0.43056, 0, 0.05556, 0.35394],
                        954: [0, 0.43056, 0, 0, 0.57616],
                        955: [0, 0.69444, 0, 0, 0.58334],
                        956: [0.19444, 0.43056, 0, 0.02778, 0.60255],
                        957: [0, 0.43056, 0.06366, 0.02778, 0.49398],
                        958: [0.19444, 0.69444, 0.04601, 0.11111, 0.4375],
                        959: [0, 0.43056, 0, 0.05556, 0.48472],
                        960: [0, 0.43056, 0.03588, 0, 0.57003],
                        961: [0.19444, 0.43056, 0, 0.08334, 0.51702],
                        962: [0.09722, 0.43056, 0.07986, 0.08334, 0.36285],
                        963: [0, 0.43056, 0.03588, 0, 0.57141],
                        964: [0, 0.43056, 0.1132, 0.02778, 0.43715],
                        965: [0, 0.43056, 0.03588, 0.02778, 0.54028],
                        966: [0.19444, 0.43056, 0, 0.08334, 0.65417],
                        967: [0.19444, 0.43056, 0, 0.05556, 0.62569],
                        968: [0.19444, 0.69444, 0.03588, 0.11111, 0.65139],
                        969: [0, 0.43056, 0.03588, 0, 0.62245],
                        977: [0, 0.69444, 0, 0.08334, 0.59144],
                        981: [0.19444, 0.69444, 0, 0.08334, 0.59583],
                        982: [0, 0.43056, 0.02778, 0, 0.82813],
                        1009: [0.19444, 0.43056, 0, 0.08334, 0.51702],
                        1013: [0, 0.43056, 0, 0.05556, 0.4059],
                    },
                    "Math-Regular": {
                        65: [0, 0.68333, 0, 0.13889, 0.75],
                        66: [0, 0.68333, 0.05017, 0.08334, 0.75851],
                        67: [0, 0.68333, 0.07153, 0.08334, 0.71472],
                        68: [0, 0.68333, 0.02778, 0.05556, 0.82792],
                        69: [0, 0.68333, 0.05764, 0.08334, 0.7382],
                        70: [0, 0.68333, 0.13889, 0.08334, 0.64306],
                        71: [0, 0.68333, 0, 0.08334, 0.78625],
                        72: [0, 0.68333, 0.08125, 0.05556, 0.83125],
                        73: [0, 0.68333, 0.07847, 0.11111, 0.43958],
                        74: [0, 0.68333, 0.09618, 0.16667, 0.55451],
                        75: [0, 0.68333, 0.07153, 0.05556, 0.84931],
                        76: [0, 0.68333, 0, 0.02778, 0.68056],
                        77: [0, 0.68333, 0.10903, 0.08334, 0.97014],
                        78: [0, 0.68333, 0.10903, 0.08334, 0.80347],
                        79: [0, 0.68333, 0.02778, 0.08334, 0.76278],
                        80: [0, 0.68333, 0.13889, 0.08334, 0.64201],
                        81: [0.19444, 0.68333, 0, 0.08334, 0.79056],
                        82: [0, 0.68333, 0.00773, 0.08334, 0.75929],
                        83: [0, 0.68333, 0.05764, 0.08334, 0.6132],
                        84: [0, 0.68333, 0.13889, 0.08334, 0.58438],
                        85: [0, 0.68333, 0.10903, 0.02778, 0.68278],
                        86: [0, 0.68333, 0.22222, 0, 0.58333],
                        87: [0, 0.68333, 0.13889, 0, 0.94445],
                        88: [0, 0.68333, 0.07847, 0.08334, 0.82847],
                        89: [0, 0.68333, 0.22222, 0, 0.58056],
                        90: [0, 0.68333, 0.07153, 0.08334, 0.68264],
                        97: [0, 0.43056, 0, 0, 0.52859],
                        98: [0, 0.69444, 0, 0, 0.42917],
                        99: [0, 0.43056, 0, 0.05556, 0.43276],
                        100: [0, 0.69444, 0, 0.16667, 0.52049],
                        101: [0, 0.43056, 0, 0.05556, 0.46563],
                        102: [0.19444, 0.69444, 0.10764, 0.16667, 0.48959],
                        103: [0.19444, 0.43056, 0.03588, 0.02778, 0.47697],
                        104: [0, 0.69444, 0, 0, 0.57616],
                        105: [0, 0.65952, 0, 0, 0.34451],
                        106: [0.19444, 0.65952, 0.05724, 0, 0.41181],
                        107: [0, 0.69444, 0.03148, 0, 0.5206],
                        108: [0, 0.69444, 0.01968, 0.08334, 0.29838],
                        109: [0, 0.43056, 0, 0, 0.87801],
                        110: [0, 0.43056, 0, 0, 0.60023],
                        111: [0, 0.43056, 0, 0.05556, 0.48472],
                        112: [0.19444, 0.43056, 0, 0.08334, 0.50313],
                        113: [0.19444, 0.43056, 0.03588, 0.08334, 0.44641],
                        114: [0, 0.43056, 0.02778, 0.05556, 0.45116],
                        115: [0, 0.43056, 0, 0.05556, 0.46875],
                        116: [0, 0.61508, 0, 0.08334, 0.36111],
                        117: [0, 0.43056, 0, 0.02778, 0.57246],
                        118: [0, 0.43056, 0.03588, 0.02778, 0.48472],
                        119: [0, 0.43056, 0.02691, 0.08334, 0.71592],
                        120: [0, 0.43056, 0, 0.02778, 0.57153],
                        121: [0.19444, 0.43056, 0.03588, 0.05556, 0.49028],
                        122: [0, 0.43056, 0.04398, 0.05556, 0.46505],
                        915: [0, 0.68333, 0.13889, 0.08334, 0.61528],
                        916: [0, 0.68333, 0, 0.16667, 0.83334],
                        920: [0, 0.68333, 0.02778, 0.08334, 0.76278],
                        923: [0, 0.68333, 0, 0.16667, 0.69445],
                        926: [0, 0.68333, 0.07569, 0.08334, 0.74236],
                        928: [0, 0.68333, 0.08125, 0.05556, 0.83125],
                        931: [0, 0.68333, 0.05764, 0.08334, 0.77986],
                        933: [0, 0.68333, 0.13889, 0.05556, 0.58333],
                        934: [0, 0.68333, 0, 0.08334, 0.66667],
                        936: [0, 0.68333, 0.11, 0.05556, 0.61222],
                        937: [0, 0.68333, 0.05017, 0.08334, 0.7724],
                        945: [0, 0.43056, 0.0037, 0.02778, 0.6397],
                        946: [0.19444, 0.69444, 0.05278, 0.08334, 0.56563],
                        947: [0.19444, 0.43056, 0.05556, 0, 0.51773],
                        948: [0, 0.69444, 0.03785, 0.05556, 0.44444],
                        949: [0, 0.43056, 0, 0.08334, 0.46632],
                        950: [0.19444, 0.69444, 0.07378, 0.08334, 0.4375],
                        951: [0.19444, 0.43056, 0.03588, 0.05556, 0.49653],
                        952: [0, 0.69444, 0.02778, 0.08334, 0.46944],
                        953: [0, 0.43056, 0, 0.05556, 0.35394],
                        954: [0, 0.43056, 0, 0, 0.57616],
                        955: [0, 0.69444, 0, 0, 0.58334],
                        956: [0.19444, 0.43056, 0, 0.02778, 0.60255],
                        957: [0, 0.43056, 0.06366, 0.02778, 0.49398],
                        958: [0.19444, 0.69444, 0.04601, 0.11111, 0.4375],
                        959: [0, 0.43056, 0, 0.05556, 0.48472],
                        960: [0, 0.43056, 0.03588, 0, 0.57003],
                        961: [0.19444, 0.43056, 0, 0.08334, 0.51702],
                        962: [0.09722, 0.43056, 0.07986, 0.08334, 0.36285],
                        963: [0, 0.43056, 0.03588, 0, 0.57141],
                        964: [0, 0.43056, 0.1132, 0.02778, 0.43715],
                        965: [0, 0.43056, 0.03588, 0.02778, 0.54028],
                        966: [0.19444, 0.43056, 0, 0.08334, 0.65417],
                        967: [0.19444, 0.43056, 0, 0.05556, 0.62569],
                        968: [0.19444, 0.69444, 0.03588, 0.11111, 0.65139],
                        969: [0, 0.43056, 0.03588, 0, 0.62245],
                        977: [0, 0.69444, 0, 0.08334, 0.59144],
                        981: [0.19444, 0.69444, 0, 0.08334, 0.59583],
                        982: [0, 0.43056, 0.02778, 0, 0.82813],
                        1009: [0.19444, 0.43056, 0, 0.08334, 0.51702],
                        1013: [0, 0.43056, 0, 0.05556, 0.4059],
                    },
                    "SansSerif-Bold": {
                        33: [0, 0.69444, 0, 0, 0.36667],
                        34: [0, 0.69444, 0, 0, 0.55834],
                        35: [0.19444, 0.69444, 0, 0, 0.91667],
                        36: [0.05556, 0.75, 0, 0, 0.55],
                        37: [0.05556, 0.75, 0, 0, 1.02912],
                        38: [0, 0.69444, 0, 0, 0.83056],
                        39: [0, 0.69444, 0, 0, 0.30556],
                        40: [0.25, 0.75, 0, 0, 0.42778],
                        41: [0.25, 0.75, 0, 0, 0.42778],
                        42: [0, 0.75, 0, 0, 0.55],
                        43: [0.11667, 0.61667, 0, 0, 0.85556],
                        44: [0.10556, 0.13056, 0, 0, 0.30556],
                        45: [0, 0.45833, 0, 0, 0.36667],
                        46: [0, 0.13056, 0, 0, 0.30556],
                        47: [0.25, 0.75, 0, 0, 0.55],
                        48: [0, 0.69444, 0, 0, 0.55],
                        49: [0, 0.69444, 0, 0, 0.55],
                        50: [0, 0.69444, 0, 0, 0.55],
                        51: [0, 0.69444, 0, 0, 0.55],
                        52: [0, 0.69444, 0, 0, 0.55],
                        53: [0, 0.69444, 0, 0, 0.55],
                        54: [0, 0.69444, 0, 0, 0.55],
                        55: [0, 0.69444, 0, 0, 0.55],
                        56: [0, 0.69444, 0, 0, 0.55],
                        57: [0, 0.69444, 0, 0, 0.55],
                        58: [0, 0.45833, 0, 0, 0.30556],
                        59: [0.10556, 0.45833, 0, 0, 0.30556],
                        61: [-0.09375, 0.40625, 0, 0, 0.85556],
                        63: [0, 0.69444, 0, 0, 0.51945],
                        64: [0, 0.69444, 0, 0, 0.73334],
                        65: [0, 0.69444, 0, 0, 0.73334],
                        66: [0, 0.69444, 0, 0, 0.73334],
                        67: [0, 0.69444, 0, 0, 0.70278],
                        68: [0, 0.69444, 0, 0, 0.79445],
                        69: [0, 0.69444, 0, 0, 0.64167],
                        70: [0, 0.69444, 0, 0, 0.61111],
                        71: [0, 0.69444, 0, 0, 0.73334],
                        72: [0, 0.69444, 0, 0, 0.79445],
                        73: [0, 0.69444, 0, 0, 0.33056],
                        74: [0, 0.69444, 0, 0, 0.51945],
                        75: [0, 0.69444, 0, 0, 0.76389],
                        76: [0, 0.69444, 0, 0, 0.58056],
                        77: [0, 0.69444, 0, 0, 0.97778],
                        78: [0, 0.69444, 0, 0, 0.79445],
                        79: [0, 0.69444, 0, 0, 0.79445],
                        80: [0, 0.69444, 0, 0, 0.70278],
                        81: [0.10556, 0.69444, 0, 0, 0.79445],
                        82: [0, 0.69444, 0, 0, 0.70278],
                        83: [0, 0.69444, 0, 0, 0.61111],
                        84: [0, 0.69444, 0, 0, 0.73334],
                        85: [0, 0.69444, 0, 0, 0.76389],
                        86: [0, 0.69444, 0.01528, 0, 0.73334],
                        87: [0, 0.69444, 0.01528, 0, 1.03889],
                        88: [0, 0.69444, 0, 0, 0.73334],
                        89: [0, 0.69444, 0.0275, 0, 0.73334],
                        90: [0, 0.69444, 0, 0, 0.67223],
                        91: [0.25, 0.75, 0, 0, 0.34306],
                        93: [0.25, 0.75, 0, 0, 0.34306],
                        94: [0, 0.69444, 0, 0, 0.55],
                        95: [0.35, 0.10833, 0.03056, 0, 0.55],
                        97: [0, 0.45833, 0, 0, 0.525],
                        98: [0, 0.69444, 0, 0, 0.56111],
                        99: [0, 0.45833, 0, 0, 0.48889],
                        100: [0, 0.69444, 0, 0, 0.56111],
                        101: [0, 0.45833, 0, 0, 0.51111],
                        102: [0, 0.69444, 0.07639, 0, 0.33611],
                        103: [0.19444, 0.45833, 0.01528, 0, 0.55],
                        104: [0, 0.69444, 0, 0, 0.56111],
                        105: [0, 0.69444, 0, 0, 0.25556],
                        106: [0.19444, 0.69444, 0, 0, 0.28611],
                        107: [0, 0.69444, 0, 0, 0.53056],
                        108: [0, 0.69444, 0, 0, 0.25556],
                        109: [0, 0.45833, 0, 0, 0.86667],
                        110: [0, 0.45833, 0, 0, 0.56111],
                        111: [0, 0.45833, 0, 0, 0.55],
                        112: [0.19444, 0.45833, 0, 0, 0.56111],
                        113: [0.19444, 0.45833, 0, 0, 0.56111],
                        114: [0, 0.45833, 0.01528, 0, 0.37222],
                        115: [0, 0.45833, 0, 0, 0.42167],
                        116: [0, 0.58929, 0, 0, 0.40417],
                        117: [0, 0.45833, 0, 0, 0.56111],
                        118: [0, 0.45833, 0.01528, 0, 0.5],
                        119: [0, 0.45833, 0.01528, 0, 0.74445],
                        120: [0, 0.45833, 0, 0, 0.5],
                        121: [0.19444, 0.45833, 0.01528, 0, 0.5],
                        122: [0, 0.45833, 0, 0, 0.47639],
                        126: [0.35, 0.34444, 0, 0, 0.55],
                        168: [0, 0.69444, 0, 0, 0.55],
                        176: [0, 0.69444, 0, 0, 0.73334],
                        180: [0, 0.69444, 0, 0, 0.55],
                        184: [0.17014, 0, 0, 0, 0.48889],
                        305: [0, 0.45833, 0, 0, 0.25556],
                        567: [0.19444, 0.45833, 0, 0, 0.28611],
                        710: [0, 0.69444, 0, 0, 0.55],
                        711: [0, 0.63542, 0, 0, 0.55],
                        713: [0, 0.63778, 0, 0, 0.55],
                        728: [0, 0.69444, 0, 0, 0.55],
                        729: [0, 0.69444, 0, 0, 0.30556],
                        730: [0, 0.69444, 0, 0, 0.73334],
                        732: [0, 0.69444, 0, 0, 0.55],
                        733: [0, 0.69444, 0, 0, 0.55],
                        915: [0, 0.69444, 0, 0, 0.58056],
                        916: [0, 0.69444, 0, 0, 0.91667],
                        920: [0, 0.69444, 0, 0, 0.85556],
                        923: [0, 0.69444, 0, 0, 0.67223],
                        926: [0, 0.69444, 0, 0, 0.73334],
                        928: [0, 0.69444, 0, 0, 0.79445],
                        931: [0, 0.69444, 0, 0, 0.79445],
                        933: [0, 0.69444, 0, 0, 0.85556],
                        934: [0, 0.69444, 0, 0, 0.79445],
                        936: [0, 0.69444, 0, 0, 0.85556],
                        937: [0, 0.69444, 0, 0, 0.79445],
                        8211: [0, 0.45833, 0.03056, 0, 0.55],
                        8212: [0, 0.45833, 0.03056, 0, 1.10001],
                        8216: [0, 0.69444, 0, 0, 0.30556],
                        8217: [0, 0.69444, 0, 0, 0.30556],
                        8220: [0, 0.69444, 0, 0, 0.55834],
                        8221: [0, 0.69444, 0, 0, 0.55834],
                    },
                    "SansSerif-Italic": {
                        33: [0, 0.69444, 0.05733, 0, 0.31945],
                        34: [0, 0.69444, 0.00316, 0, 0.5],
                        35: [0.19444, 0.69444, 0.05087, 0, 0.83334],
                        36: [0.05556, 0.75, 0.11156, 0, 0.5],
                        37: [0.05556, 0.75, 0.03126, 0, 0.83334],
                        38: [0, 0.69444, 0.03058, 0, 0.75834],
                        39: [0, 0.69444, 0.07816, 0, 0.27778],
                        40: [0.25, 0.75, 0.13164, 0, 0.38889],
                        41: [0.25, 0.75, 0.02536, 0, 0.38889],
                        42: [0, 0.75, 0.11775, 0, 0.5],
                        43: [0.08333, 0.58333, 0.02536, 0, 0.77778],
                        44: [0.125, 0.08333, 0, 0, 0.27778],
                        45: [0, 0.44444, 0.01946, 0, 0.33333],
                        46: [0, 0.08333, 0, 0, 0.27778],
                        47: [0.25, 0.75, 0.13164, 0, 0.5],
                        48: [0, 0.65556, 0.11156, 0, 0.5],
                        49: [0, 0.65556, 0.11156, 0, 0.5],
                        50: [0, 0.65556, 0.11156, 0, 0.5],
                        51: [0, 0.65556, 0.11156, 0, 0.5],
                        52: [0, 0.65556, 0.11156, 0, 0.5],
                        53: [0, 0.65556, 0.11156, 0, 0.5],
                        54: [0, 0.65556, 0.11156, 0, 0.5],
                        55: [0, 0.65556, 0.11156, 0, 0.5],
                        56: [0, 0.65556, 0.11156, 0, 0.5],
                        57: [0, 0.65556, 0.11156, 0, 0.5],
                        58: [0, 0.44444, 0.02502, 0, 0.27778],
                        59: [0.125, 0.44444, 0.02502, 0, 0.27778],
                        61: [-0.13, 0.37, 0.05087, 0, 0.77778],
                        63: [0, 0.69444, 0.11809, 0, 0.47222],
                        64: [0, 0.69444, 0.07555, 0, 0.66667],
                        65: [0, 0.69444, 0, 0, 0.66667],
                        66: [0, 0.69444, 0.08293, 0, 0.66667],
                        67: [0, 0.69444, 0.11983, 0, 0.63889],
                        68: [0, 0.69444, 0.07555, 0, 0.72223],
                        69: [0, 0.69444, 0.11983, 0, 0.59722],
                        70: [0, 0.69444, 0.13372, 0, 0.56945],
                        71: [0, 0.69444, 0.11983, 0, 0.66667],
                        72: [0, 0.69444, 0.08094, 0, 0.70834],
                        73: [0, 0.69444, 0.13372, 0, 0.27778],
                        74: [0, 0.69444, 0.08094, 0, 0.47222],
                        75: [0, 0.69444, 0.11983, 0, 0.69445],
                        76: [0, 0.69444, 0, 0, 0.54167],
                        77: [0, 0.69444, 0.08094, 0, 0.875],
                        78: [0, 0.69444, 0.08094, 0, 0.70834],
                        79: [0, 0.69444, 0.07555, 0, 0.73611],
                        80: [0, 0.69444, 0.08293, 0, 0.63889],
                        81: [0.125, 0.69444, 0.07555, 0, 0.73611],
                        82: [0, 0.69444, 0.08293, 0, 0.64584],
                        83: [0, 0.69444, 0.09205, 0, 0.55556],
                        84: [0, 0.69444, 0.13372, 0, 0.68056],
                        85: [0, 0.69444, 0.08094, 0, 0.6875],
                        86: [0, 0.69444, 0.1615, 0, 0.66667],
                        87: [0, 0.69444, 0.1615, 0, 0.94445],
                        88: [0, 0.69444, 0.13372, 0, 0.66667],
                        89: [0, 0.69444, 0.17261, 0, 0.66667],
                        90: [0, 0.69444, 0.11983, 0, 0.61111],
                        91: [0.25, 0.75, 0.15942, 0, 0.28889],
                        93: [0.25, 0.75, 0.08719, 0, 0.28889],
                        94: [0, 0.69444, 0.0799, 0, 0.5],
                        95: [0.35, 0.09444, 0.08616, 0, 0.5],
                        97: [0, 0.44444, 0.00981, 0, 0.48056],
                        98: [0, 0.69444, 0.03057, 0, 0.51667],
                        99: [0, 0.44444, 0.08336, 0, 0.44445],
                        100: [0, 0.69444, 0.09483, 0, 0.51667],
                        101: [0, 0.44444, 0.06778, 0, 0.44445],
                        102: [0, 0.69444, 0.21705, 0, 0.30556],
                        103: [0.19444, 0.44444, 0.10836, 0, 0.5],
                        104: [0, 0.69444, 0.01778, 0, 0.51667],
                        105: [0, 0.67937, 0.09718, 0, 0.23889],
                        106: [0.19444, 0.67937, 0.09162, 0, 0.26667],
                        107: [0, 0.69444, 0.08336, 0, 0.48889],
                        108: [0, 0.69444, 0.09483, 0, 0.23889],
                        109: [0, 0.44444, 0.01778, 0, 0.79445],
                        110: [0, 0.44444, 0.01778, 0, 0.51667],
                        111: [0, 0.44444, 0.06613, 0, 0.5],
                        112: [0.19444, 0.44444, 0.0389, 0, 0.51667],
                        113: [0.19444, 0.44444, 0.04169, 0, 0.51667],
                        114: [0, 0.44444, 0.10836, 0, 0.34167],
                        115: [0, 0.44444, 0.0778, 0, 0.38333],
                        116: [0, 0.57143, 0.07225, 0, 0.36111],
                        117: [0, 0.44444, 0.04169, 0, 0.51667],
                        118: [0, 0.44444, 0.10836, 0, 0.46111],
                        119: [0, 0.44444, 0.10836, 0, 0.68334],
                        120: [0, 0.44444, 0.09169, 0, 0.46111],
                        121: [0.19444, 0.44444, 0.10836, 0, 0.46111],
                        122: [0, 0.44444, 0.08752, 0, 0.43472],
                        126: [0.35, 0.32659, 0.08826, 0, 0.5],
                        168: [0, 0.67937, 0.06385, 0, 0.5],
                        176: [0, 0.69444, 0, 0, 0.73752],
                        184: [0.17014, 0, 0, 0, 0.44445],
                        305: [0, 0.44444, 0.04169, 0, 0.23889],
                        567: [0.19444, 0.44444, 0.04169, 0, 0.26667],
                        710: [0, 0.69444, 0.0799, 0, 0.5],
                        711: [0, 0.63194, 0.08432, 0, 0.5],
                        713: [0, 0.60889, 0.08776, 0, 0.5],
                        714: [0, 0.69444, 0.09205, 0, 0.5],
                        715: [0, 0.69444, 0, 0, 0.5],
                        728: [0, 0.69444, 0.09483, 0, 0.5],
                        729: [0, 0.67937, 0.07774, 0, 0.27778],
                        730: [0, 0.69444, 0, 0, 0.73752],
                        732: [0, 0.67659, 0.08826, 0, 0.5],
                        733: [0, 0.69444, 0.09205, 0, 0.5],
                        915: [0, 0.69444, 0.13372, 0, 0.54167],
                        916: [0, 0.69444, 0, 0, 0.83334],
                        920: [0, 0.69444, 0.07555, 0, 0.77778],
                        923: [0, 0.69444, 0, 0, 0.61111],
                        926: [0, 0.69444, 0.12816, 0, 0.66667],
                        928: [0, 0.69444, 0.08094, 0, 0.70834],
                        931: [0, 0.69444, 0.11983, 0, 0.72222],
                        933: [0, 0.69444, 0.09031, 0, 0.77778],
                        934: [0, 0.69444, 0.04603, 0, 0.72222],
                        936: [0, 0.69444, 0.09031, 0, 0.77778],
                        937: [0, 0.69444, 0.08293, 0, 0.72222],
                        8211: [0, 0.44444, 0.08616, 0, 0.5],
                        8212: [0, 0.44444, 0.08616, 0, 1],
                        8216: [0, 0.69444, 0.07816, 0, 0.27778],
                        8217: [0, 0.69444, 0.07816, 0, 0.27778],
                        8220: [0, 0.69444, 0.14205, 0, 0.5],
                        8221: [0, 0.69444, 0.00316, 0, 0.5],
                    },
                    "SansSerif-Regular": {
                        33: [0, 0.69444, 0, 0, 0.31945],
                        34: [0, 0.69444, 0, 0, 0.5],
                        35: [0.19444, 0.69444, 0, 0, 0.83334],
                        36: [0.05556, 0.75, 0, 0, 0.5],
                        37: [0.05556, 0.75, 0, 0, 0.83334],
                        38: [0, 0.69444, 0, 0, 0.75834],
                        39: [0, 0.69444, 0, 0, 0.27778],
                        40: [0.25, 0.75, 0, 0, 0.38889],
                        41: [0.25, 0.75, 0, 0, 0.38889],
                        42: [0, 0.75, 0, 0, 0.5],
                        43: [0.08333, 0.58333, 0, 0, 0.77778],
                        44: [0.125, 0.08333, 0, 0, 0.27778],
                        45: [0, 0.44444, 0, 0, 0.33333],
                        46: [0, 0.08333, 0, 0, 0.27778],
                        47: [0.25, 0.75, 0, 0, 0.5],
                        48: [0, 0.65556, 0, 0, 0.5],
                        49: [0, 0.65556, 0, 0, 0.5],
                        50: [0, 0.65556, 0, 0, 0.5],
                        51: [0, 0.65556, 0, 0, 0.5],
                        52: [0, 0.65556, 0, 0, 0.5],
                        53: [0, 0.65556, 0, 0, 0.5],
                        54: [0, 0.65556, 0, 0, 0.5],
                        55: [0, 0.65556, 0, 0, 0.5],
                        56: [0, 0.65556, 0, 0, 0.5],
                        57: [0, 0.65556, 0, 0, 0.5],
                        58: [0, 0.44444, 0, 0, 0.27778],
                        59: [0.125, 0.44444, 0, 0, 0.27778],
                        61: [-0.13, 0.37, 0, 0, 0.77778],
                        63: [0, 0.69444, 0, 0, 0.47222],
                        64: [0, 0.69444, 0, 0, 0.66667],
                        65: [0, 0.69444, 0, 0, 0.66667],
                        66: [0, 0.69444, 0, 0, 0.66667],
                        67: [0, 0.69444, 0, 0, 0.63889],
                        68: [0, 0.69444, 0, 0, 0.72223],
                        69: [0, 0.69444, 0, 0, 0.59722],
                        70: [0, 0.69444, 0, 0, 0.56945],
                        71: [0, 0.69444, 0, 0, 0.66667],
                        72: [0, 0.69444, 0, 0, 0.70834],
                        73: [0, 0.69444, 0, 0, 0.27778],
                        74: [0, 0.69444, 0, 0, 0.47222],
                        75: [0, 0.69444, 0, 0, 0.69445],
                        76: [0, 0.69444, 0, 0, 0.54167],
                        77: [0, 0.69444, 0, 0, 0.875],
                        78: [0, 0.69444, 0, 0, 0.70834],
                        79: [0, 0.69444, 0, 0, 0.73611],
                        80: [0, 0.69444, 0, 0, 0.63889],
                        81: [0.125, 0.69444, 0, 0, 0.73611],
                        82: [0, 0.69444, 0, 0, 0.64584],
                        83: [0, 0.69444, 0, 0, 0.55556],
                        84: [0, 0.69444, 0, 0, 0.68056],
                        85: [0, 0.69444, 0, 0, 0.6875],
                        86: [0, 0.69444, 0.01389, 0, 0.66667],
                        87: [0, 0.69444, 0.01389, 0, 0.94445],
                        88: [0, 0.69444, 0, 0, 0.66667],
                        89: [0, 0.69444, 0.025, 0, 0.66667],
                        90: [0, 0.69444, 0, 0, 0.61111],
                        91: [0.25, 0.75, 0, 0, 0.28889],
                        93: [0.25, 0.75, 0, 0, 0.28889],
                        94: [0, 0.69444, 0, 0, 0.5],
                        95: [0.35, 0.09444, 0.02778, 0, 0.5],
                        97: [0, 0.44444, 0, 0, 0.48056],
                        98: [0, 0.69444, 0, 0, 0.51667],
                        99: [0, 0.44444, 0, 0, 0.44445],
                        100: [0, 0.69444, 0, 0, 0.51667],
                        101: [0, 0.44444, 0, 0, 0.44445],
                        102: [0, 0.69444, 0.06944, 0, 0.30556],
                        103: [0.19444, 0.44444, 0.01389, 0, 0.5],
                        104: [0, 0.69444, 0, 0, 0.51667],
                        105: [0, 0.67937, 0, 0, 0.23889],
                        106: [0.19444, 0.67937, 0, 0, 0.26667],
                        107: [0, 0.69444, 0, 0, 0.48889],
                        108: [0, 0.69444, 0, 0, 0.23889],
                        109: [0, 0.44444, 0, 0, 0.79445],
                        110: [0, 0.44444, 0, 0, 0.51667],
                        111: [0, 0.44444, 0, 0, 0.5],
                        112: [0.19444, 0.44444, 0, 0, 0.51667],
                        113: [0.19444, 0.44444, 0, 0, 0.51667],
                        114: [0, 0.44444, 0.01389, 0, 0.34167],
                        115: [0, 0.44444, 0, 0, 0.38333],
                        116: [0, 0.57143, 0, 0, 0.36111],
                        117: [0, 0.44444, 0, 0, 0.51667],
                        118: [0, 0.44444, 0.01389, 0, 0.46111],
                        119: [0, 0.44444, 0.01389, 0, 0.68334],
                        120: [0, 0.44444, 0, 0, 0.46111],
                        121: [0.19444, 0.44444, 0.01389, 0, 0.46111],
                        122: [0, 0.44444, 0, 0, 0.43472],
                        126: [0.35, 0.32659, 0, 0, 0.5],
                        168: [0, 0.67937, 0, 0, 0.5],
                        176: [0, 0.69444, 0, 0, 0.66667],
                        184: [0.17014, 0, 0, 0, 0.44445],
                        305: [0, 0.44444, 0, 0, 0.23889],
                        567: [0.19444, 0.44444, 0, 0, 0.26667],
                        710: [0, 0.69444, 0, 0, 0.5],
                        711: [0, 0.63194, 0, 0, 0.5],
                        713: [0, 0.60889, 0, 0, 0.5],
                        714: [0, 0.69444, 0, 0, 0.5],
                        715: [0, 0.69444, 0, 0, 0.5],
                        728: [0, 0.69444, 0, 0, 0.5],
                        729: [0, 0.67937, 0, 0, 0.27778],
                        730: [0, 0.69444, 0, 0, 0.66667],
                        732: [0, 0.67659, 0, 0, 0.5],
                        733: [0, 0.69444, 0, 0, 0.5],
                        915: [0, 0.69444, 0, 0, 0.54167],
                        916: [0, 0.69444, 0, 0, 0.83334],
                        920: [0, 0.69444, 0, 0, 0.77778],
                        923: [0, 0.69444, 0, 0, 0.61111],
                        926: [0, 0.69444, 0, 0, 0.66667],
                        928: [0, 0.69444, 0, 0, 0.70834],
                        931: [0, 0.69444, 0, 0, 0.72222],
                        933: [0, 0.69444, 0, 0, 0.77778],
                        934: [0, 0.69444, 0, 0, 0.72222],
                        936: [0, 0.69444, 0, 0, 0.77778],
                        937: [0, 0.69444, 0, 0, 0.72222],
                        8211: [0, 0.44444, 0.02778, 0, 0.5],
                        8212: [0, 0.44444, 0.02778, 0, 1],
                        8216: [0, 0.69444, 0, 0, 0.27778],
                        8217: [0, 0.69444, 0, 0, 0.27778],
                        8220: [0, 0.69444, 0, 0, 0.5],
                        8221: [0, 0.69444, 0, 0, 0.5],
                    },
                    "Script-Regular": {
                        65: [0, 0.7, 0.22925, 0, 0.80253],
                        66: [0, 0.7, 0.04087, 0, 0.90757],
                        67: [0, 0.7, 0.1689, 0, 0.66619],
                        68: [0, 0.7, 0.09371, 0, 0.77443],
                        69: [0, 0.7, 0.18583, 0, 0.56162],
                        70: [0, 0.7, 0.13634, 0, 0.89544],
                        71: [0, 0.7, 0.17322, 0, 0.60961],
                        72: [0, 0.7, 0.29694, 0, 0.96919],
                        73: [0, 0.7, 0.19189, 0, 0.80907],
                        74: [0.27778, 0.7, 0.19189, 0, 1.05159],
                        75: [0, 0.7, 0.31259, 0, 0.91364],
                        76: [0, 0.7, 0.19189, 0, 0.87373],
                        77: [0, 0.7, 0.15981, 0, 1.08031],
                        78: [0, 0.7, 0.3525, 0, 0.9015],
                        79: [0, 0.7, 0.08078, 0, 0.73787],
                        80: [0, 0.7, 0.08078, 0, 1.01262],
                        81: [0, 0.7, 0.03305, 0, 0.88282],
                        82: [0, 0.7, 0.06259, 0, 0.85],
                        83: [0, 0.7, 0.19189, 0, 0.86767],
                        84: [0, 0.7, 0.29087, 0, 0.74697],
                        85: [0, 0.7, 0.25815, 0, 0.79996],
                        86: [0, 0.7, 0.27523, 0, 0.62204],
                        87: [0, 0.7, 0.27523, 0, 0.80532],
                        88: [0, 0.7, 0.26006, 0, 0.94445],
                        89: [0, 0.7, 0.2939, 0, 0.70961],
                        90: [0, 0.7, 0.24037, 0, 0.8212],
                    },
                    "Size1-Regular": {
                        40: [0.35001, 0.85, 0, 0, 0.45834],
                        41: [0.35001, 0.85, 0, 0, 0.45834],
                        47: [0.35001, 0.85, 0, 0, 0.57778],
                        91: [0.35001, 0.85, 0, 0, 0.41667],
                        92: [0.35001, 0.85, 0, 0, 0.57778],
                        93: [0.35001, 0.85, 0, 0, 0.41667],
                        123: [0.35001, 0.85, 0, 0, 0.58334],
                        125: [0.35001, 0.85, 0, 0, 0.58334],
                        710: [0, 0.72222, 0, 0, 0.55556],
                        732: [0, 0.72222, 0, 0, 0.55556],
                        770: [0, 0.72222, 0, 0, 0.55556],
                        771: [0, 0.72222, 0, 0, 0.55556],
                        8214: [-99e-5, 0.601, 0, 0, 0.77778],
                        8593: [1e-5, 0.6, 0, 0, 0.66667],
                        8595: [1e-5, 0.6, 0, 0, 0.66667],
                        8657: [1e-5, 0.6, 0, 0, 0.77778],
                        8659: [1e-5, 0.6, 0, 0, 0.77778],
                        8719: [0.25001, 0.75, 0, 0, 0.94445],
                        8720: [0.25001, 0.75, 0, 0, 0.94445],
                        8721: [0.25001, 0.75, 0, 0, 1.05556],
                        8730: [0.35001, 0.85, 0, 0, 1],
                        8739: [-0.00599, 0.606, 0, 0, 0.33333],
                        8741: [-0.00599, 0.606, 0, 0, 0.55556],
                        8747: [0.30612, 0.805, 0.19445, 0, 0.47222],
                        8748: [0.306, 0.805, 0.19445, 0, 0.47222],
                        8749: [0.306, 0.805, 0.19445, 0, 0.47222],
                        8750: [0.30612, 0.805, 0.19445, 0, 0.47222],
                        8896: [0.25001, 0.75, 0, 0, 0.83334],
                        8897: [0.25001, 0.75, 0, 0, 0.83334],
                        8898: [0.25001, 0.75, 0, 0, 0.83334],
                        8899: [0.25001, 0.75, 0, 0, 0.83334],
                        8968: [0.35001, 0.85, 0, 0, 0.47222],
                        8969: [0.35001, 0.85, 0, 0, 0.47222],
                        8970: [0.35001, 0.85, 0, 0, 0.47222],
                        8971: [0.35001, 0.85, 0, 0, 0.47222],
                        9168: [-99e-5, 0.601, 0, 0, 0.66667],
                        10216: [0.35001, 0.85, 0, 0, 0.47222],
                        10217: [0.35001, 0.85, 0, 0, 0.47222],
                        10752: [0.25001, 0.75, 0, 0, 1.11111],
                        10753: [0.25001, 0.75, 0, 0, 1.11111],
                        10754: [0.25001, 0.75, 0, 0, 1.11111],
                        10756: [0.25001, 0.75, 0, 0, 0.83334],
                        10758: [0.25001, 0.75, 0, 0, 0.83334],
                    },
                    "Size2-Regular": {
                        40: [0.65002, 1.15, 0, 0, 0.59722],
                        41: [0.65002, 1.15, 0, 0, 0.59722],
                        47: [0.65002, 1.15, 0, 0, 0.81111],
                        91: [0.65002, 1.15, 0, 0, 0.47222],
                        92: [0.65002, 1.15, 0, 0, 0.81111],
                        93: [0.65002, 1.15, 0, 0, 0.47222],
                        123: [0.65002, 1.15, 0, 0, 0.66667],
                        125: [0.65002, 1.15, 0, 0, 0.66667],
                        710: [0, 0.75, 0, 0, 1],
                        732: [0, 0.75, 0, 0, 1],
                        770: [0, 0.75, 0, 0, 1],
                        771: [0, 0.75, 0, 0, 1],
                        8719: [0.55001, 1.05, 0, 0, 1.27778],
                        8720: [0.55001, 1.05, 0, 0, 1.27778],
                        8721: [0.55001, 1.05, 0, 0, 1.44445],
                        8730: [0.65002, 1.15, 0, 0, 1],
                        8747: [0.86225, 1.36, 0.44445, 0, 0.55556],
                        8748: [0.862, 1.36, 0.44445, 0, 0.55556],
                        8749: [0.862, 1.36, 0.44445, 0, 0.55556],
                        8750: [0.86225, 1.36, 0.44445, 0, 0.55556],
                        8896: [0.55001, 1.05, 0, 0, 1.11111],
                        8897: [0.55001, 1.05, 0, 0, 1.11111],
                        8898: [0.55001, 1.05, 0, 0, 1.11111],
                        8899: [0.55001, 1.05, 0, 0, 1.11111],
                        8968: [0.65002, 1.15, 0, 0, 0.52778],
                        8969: [0.65002, 1.15, 0, 0, 0.52778],
                        8970: [0.65002, 1.15, 0, 0, 0.52778],
                        8971: [0.65002, 1.15, 0, 0, 0.52778],
                        10216: [0.65002, 1.15, 0, 0, 0.61111],
                        10217: [0.65002, 1.15, 0, 0, 0.61111],
                        10752: [0.55001, 1.05, 0, 0, 1.51112],
                        10753: [0.55001, 1.05, 0, 0, 1.51112],
                        10754: [0.55001, 1.05, 0, 0, 1.51112],
                        10756: [0.55001, 1.05, 0, 0, 1.11111],
                        10758: [0.55001, 1.05, 0, 0, 1.11111],
                    },
                    "Size3-Regular": {
                        40: [0.95003, 1.45, 0, 0, 0.73611],
                        41: [0.95003, 1.45, 0, 0, 0.73611],
                        47: [0.95003, 1.45, 0, 0, 1.04445],
                        91: [0.95003, 1.45, 0, 0, 0.52778],
                        92: [0.95003, 1.45, 0, 0, 1.04445],
                        93: [0.95003, 1.45, 0, 0, 0.52778],
                        123: [0.95003, 1.45, 0, 0, 0.75],
                        125: [0.95003, 1.45, 0, 0, 0.75],
                        710: [0, 0.75, 0, 0, 1.44445],
                        732: [0, 0.75, 0, 0, 1.44445],
                        770: [0, 0.75, 0, 0, 1.44445],
                        771: [0, 0.75, 0, 0, 1.44445],
                        8730: [0.95003, 1.45, 0, 0, 1],
                        8968: [0.95003, 1.45, 0, 0, 0.58334],
                        8969: [0.95003, 1.45, 0, 0, 0.58334],
                        8970: [0.95003, 1.45, 0, 0, 0.58334],
                        8971: [0.95003, 1.45, 0, 0, 0.58334],
                        10216: [0.95003, 1.45, 0, 0, 0.75],
                        10217: [0.95003, 1.45, 0, 0, 0.75],
                    },
                    "Size4-Regular": {
                        40: [1.25003, 1.75, 0, 0, 0.79167],
                        41: [1.25003, 1.75, 0, 0, 0.79167],
                        47: [1.25003, 1.75, 0, 0, 1.27778],
                        91: [1.25003, 1.75, 0, 0, 0.58334],
                        92: [1.25003, 1.75, 0, 0, 1.27778],
                        93: [1.25003, 1.75, 0, 0, 0.58334],
                        123: [1.25003, 1.75, 0, 0, 0.80556],
                        125: [1.25003, 1.75, 0, 0, 0.80556],
                        710: [0, 0.825, 0, 0, 1.8889],
                        732: [0, 0.825, 0, 0, 1.8889],
                        770: [0, 0.825, 0, 0, 1.8889],
                        771: [0, 0.825, 0, 0, 1.8889],
                        8730: [1.25003, 1.75, 0, 0, 1],
                        8968: [1.25003, 1.75, 0, 0, 0.63889],
                        8969: [1.25003, 1.75, 0, 0, 0.63889],
                        8970: [1.25003, 1.75, 0, 0, 0.63889],
                        8971: [1.25003, 1.75, 0, 0, 0.63889],
                        9115: [0.64502, 1.155, 0, 0, 0.875],
                        9116: [1e-5, 0.6, 0, 0, 0.875],
                        9117: [0.64502, 1.155, 0, 0, 0.875],
                        9118: [0.64502, 1.155, 0, 0, 0.875],
                        9119: [1e-5, 0.6, 0, 0, 0.875],
                        9120: [0.64502, 1.155, 0, 0, 0.875],
                        9121: [0.64502, 1.155, 0, 0, 0.66667],
                        9122: [-99e-5, 0.601, 0, 0, 0.66667],
                        9123: [0.64502, 1.155, 0, 0, 0.66667],
                        9124: [0.64502, 1.155, 0, 0, 0.66667],
                        9125: [-99e-5, 0.601, 0, 0, 0.66667],
                        9126: [0.64502, 1.155, 0, 0, 0.66667],
                        9127: [1e-5, 0.9, 0, 0, 0.88889],
                        9128: [0.65002, 1.15, 0, 0, 0.88889],
                        9129: [0.90001, 0, 0, 0, 0.88889],
                        9130: [0, 0.3, 0, 0, 0.88889],
                        9131: [1e-5, 0.9, 0, 0, 0.88889],
                        9132: [0.65002, 1.15, 0, 0, 0.88889],
                        9133: [0.90001, 0, 0, 0, 0.88889],
                        9143: [0.88502, 0.915, 0, 0, 1.05556],
                        10216: [1.25003, 1.75, 0, 0, 0.80556],
                        10217: [1.25003, 1.75, 0, 0, 0.80556],
                        57344: [-0.00499, 0.605, 0, 0, 1.05556],
                        57345: [-0.00499, 0.605, 0, 0, 1.05556],
                        57680: [0, 0.12, 0, 0, 0.45],
                        57681: [0, 0.12, 0, 0, 0.45],
                        57682: [0, 0.12, 0, 0, 0.45],
                        57683: [0, 0.12, 0, 0, 0.45],
                    },
                    "Typewriter-Regular": {
                        32: [0, 0, 0, 0, 0.525],
                        33: [0, 0.61111, 0, 0, 0.525],
                        34: [0, 0.61111, 0, 0, 0.525],
                        35: [0, 0.61111, 0, 0, 0.525],
                        36: [0.08333, 0.69444, 0, 0, 0.525],
                        37: [0.08333, 0.69444, 0, 0, 0.525],
                        38: [0, 0.61111, 0, 0, 0.525],
                        39: [0, 0.61111, 0, 0, 0.525],
                        40: [0.08333, 0.69444, 0, 0, 0.525],
                        41: [0.08333, 0.69444, 0, 0, 0.525],
                        42: [0, 0.52083, 0, 0, 0.525],
                        43: [-0.08056, 0.53055, 0, 0, 0.525],
                        44: [0.13889, 0.125, 0, 0, 0.525],
                        45: [-0.08056, 0.53055, 0, 0, 0.525],
                        46: [0, 0.125, 0, 0, 0.525],
                        47: [0.08333, 0.69444, 0, 0, 0.525],
                        48: [0, 0.61111, 0, 0, 0.525],
                        49: [0, 0.61111, 0, 0, 0.525],
                        50: [0, 0.61111, 0, 0, 0.525],
                        51: [0, 0.61111, 0, 0, 0.525],
                        52: [0, 0.61111, 0, 0, 0.525],
                        53: [0, 0.61111, 0, 0, 0.525],
                        54: [0, 0.61111, 0, 0, 0.525],
                        55: [0, 0.61111, 0, 0, 0.525],
                        56: [0, 0.61111, 0, 0, 0.525],
                        57: [0, 0.61111, 0, 0, 0.525],
                        58: [0, 0.43056, 0, 0, 0.525],
                        59: [0.13889, 0.43056, 0, 0, 0.525],
                        60: [-0.05556, 0.55556, 0, 0, 0.525],
                        61: [-0.19549, 0.41562, 0, 0, 0.525],
                        62: [-0.05556, 0.55556, 0, 0, 0.525],
                        63: [0, 0.61111, 0, 0, 0.525],
                        64: [0, 0.61111, 0, 0, 0.525],
                        65: [0, 0.61111, 0, 0, 0.525],
                        66: [0, 0.61111, 0, 0, 0.525],
                        67: [0, 0.61111, 0, 0, 0.525],
                        68: [0, 0.61111, 0, 0, 0.525],
                        69: [0, 0.61111, 0, 0, 0.525],
                        70: [0, 0.61111, 0, 0, 0.525],
                        71: [0, 0.61111, 0, 0, 0.525],
                        72: [0, 0.61111, 0, 0, 0.525],
                        73: [0, 0.61111, 0, 0, 0.525],
                        74: [0, 0.61111, 0, 0, 0.525],
                        75: [0, 0.61111, 0, 0, 0.525],
                        76: [0, 0.61111, 0, 0, 0.525],
                        77: [0, 0.61111, 0, 0, 0.525],
                        78: [0, 0.61111, 0, 0, 0.525],
                        79: [0, 0.61111, 0, 0, 0.525],
                        80: [0, 0.61111, 0, 0, 0.525],
                        81: [0.13889, 0.61111, 0, 0, 0.525],
                        82: [0, 0.61111, 0, 0, 0.525],
                        83: [0, 0.61111, 0, 0, 0.525],
                        84: [0, 0.61111, 0, 0, 0.525],
                        85: [0, 0.61111, 0, 0, 0.525],
                        86: [0, 0.61111, 0, 0, 0.525],
                        87: [0, 0.61111, 0, 0, 0.525],
                        88: [0, 0.61111, 0, 0, 0.525],
                        89: [0, 0.61111, 0, 0, 0.525],
                        90: [0, 0.61111, 0, 0, 0.525],
                        91: [0.08333, 0.69444, 0, 0, 0.525],
                        92: [0.08333, 0.69444, 0, 0, 0.525],
                        93: [0.08333, 0.69444, 0, 0, 0.525],
                        94: [0, 0.61111, 0, 0, 0.525],
                        95: [0.09514, 0, 0, 0, 0.525],
                        96: [0, 0.61111, 0, 0, 0.525],
                        97: [0, 0.43056, 0, 0, 0.525],
                        98: [0, 0.61111, 0, 0, 0.525],
                        99: [0, 0.43056, 0, 0, 0.525],
                        100: [0, 0.61111, 0, 0, 0.525],
                        101: [0, 0.43056, 0, 0, 0.525],
                        102: [0, 0.61111, 0, 0, 0.525],
                        103: [0.22222, 0.43056, 0, 0, 0.525],
                        104: [0, 0.61111, 0, 0, 0.525],
                        105: [0, 0.61111, 0, 0, 0.525],
                        106: [0.22222, 0.61111, 0, 0, 0.525],
                        107: [0, 0.61111, 0, 0, 0.525],
                        108: [0, 0.61111, 0, 0, 0.525],
                        109: [0, 0.43056, 0, 0, 0.525],
                        110: [0, 0.43056, 0, 0, 0.525],
                        111: [0, 0.43056, 0, 0, 0.525],
                        112: [0.22222, 0.43056, 0, 0, 0.525],
                        113: [0.22222, 0.43056, 0, 0, 0.525],
                        114: [0, 0.43056, 0, 0, 0.525],
                        115: [0, 0.43056, 0, 0, 0.525],
                        116: [0, 0.55358, 0, 0, 0.525],
                        117: [0, 0.43056, 0, 0, 0.525],
                        118: [0, 0.43056, 0, 0, 0.525],
                        119: [0, 0.43056, 0, 0, 0.525],
                        120: [0, 0.43056, 0, 0, 0.525],
                        121: [0.22222, 0.43056, 0, 0, 0.525],
                        122: [0, 0.43056, 0, 0, 0.525],
                        123: [0.08333, 0.69444, 0, 0, 0.525],
                        124: [0.08333, 0.69444, 0, 0, 0.525],
                        125: [0.08333, 0.69444, 0, 0, 0.525],
                        126: [0, 0.61111, 0, 0, 0.525],
                        127: [0, 0.61111, 0, 0, 0.525],
                        160: [0, 0, 0, 0, 0.525],
                        176: [0, 0.61111, 0, 0, 0.525],
                        184: [0.19445, 0, 0, 0, 0.525],
                        305: [0, 0.43056, 0, 0, 0.525],
                        567: [0.22222, 0.43056, 0, 0, 0.525],
                        711: [0, 0.56597, 0, 0, 0.525],
                        713: [0, 0.56555, 0, 0, 0.525],
                        714: [0, 0.61111, 0, 0, 0.525],
                        715: [0, 0.61111, 0, 0, 0.525],
                        728: [0, 0.61111, 0, 0, 0.525],
                        730: [0, 0.61111, 0, 0, 0.525],
                        770: [0, 0.61111, 0, 0, 0.525],
                        771: [0, 0.61111, 0, 0, 0.525],
                        776: [0, 0.61111, 0, 0, 0.525],
                        915: [0, 0.61111, 0, 0, 0.525],
                        916: [0, 0.61111, 0, 0, 0.525],
                        920: [0, 0.61111, 0, 0, 0.525],
                        923: [0, 0.61111, 0, 0, 0.525],
                        926: [0, 0.61111, 0, 0, 0.525],
                        928: [0, 0.61111, 0, 0, 0.525],
                        931: [0, 0.61111, 0, 0, 0.525],
                        933: [0, 0.61111, 0, 0, 0.525],
                        934: [0, 0.61111, 0, 0, 0.525],
                        936: [0, 0.61111, 0, 0, 0.525],
                        937: [0, 0.61111, 0, 0, 0.525],
                        8216: [0, 0.61111, 0, 0, 0.525],
                        8217: [0, 0.61111, 0, 0, 0.525],
                        8242: [0, 0.61111, 0, 0, 0.525],
                        9251: [0.11111, 0.21944, 0, 0, 0.525],
                    },
                },
                V = {
                    slant: [0.25, 0.25, 0.25],
                    space: [0, 0, 0],
                    stretch: [0, 0, 0],
                    shrink: [0, 0, 0],
                    xHeight: [0.431, 0.431, 0.431],
                    quad: [1, 1.171, 1.472],
                    extraSpace: [0, 0, 0],
                    num1: [0.677, 0.732, 0.925],
                    num2: [0.394, 0.384, 0.387],
                    num3: [0.444, 0.471, 0.504],
                    denom1: [0.686, 0.752, 1.025],
                    denom2: [0.345, 0.344, 0.532],
                    sup1: [0.413, 0.503, 0.504],
                    sup2: [0.363, 0.431, 0.404],
                    sup3: [0.289, 0.286, 0.294],
                    sub1: [0.15, 0.143, 0.2],
                    sub2: [0.247, 0.286, 0.4],
                    supDrop: [0.386, 0.353, 0.494],
                    subDrop: [0.05, 0.071, 0.1],
                    delim1: [2.39, 1.7, 1.98],
                    delim2: [1.01, 1.157, 1.42],
                    axisHeight: [0.25, 0.25, 0.25],
                    defaultRuleThickness: [0.04, 0.049, 0.049],
                    bigOpSpacing1: [0.111, 0.111, 0.111],
                    bigOpSpacing2: [0.166, 0.166, 0.166],
                    bigOpSpacing3: [0.2, 0.2, 0.2],
                    bigOpSpacing4: [0.6, 0.611, 0.611],
                    bigOpSpacing5: [0.1, 0.143, 0.143],
                    sqrtRuleThickness: [0.04, 0.04, 0.04],
                    ptPerEm: [10, 10, 10],
                    doubleRuleSep: [0.2, 0.2, 0.2],
                    arrayRuleWidth: [0.04, 0.04, 0.04],
                    fboxsep: [0.3, 0.3, 0.3],
                    fboxrule: [0.04, 0.04, 0.04],
                },
                U = {
                    Å: "A",
                    Ç: "C",
                    Ð: "D",
                    Þ: "o",
                    å: "a",
                    ç: "c",
                    ð: "d",
                    þ: "o",
                    А: "A",
                    Б: "B",
                    В: "B",
                    Г: "F",
                    Д: "A",
                    Е: "E",
                    Ж: "K",
                    З: "3",
                    И: "N",
                    Й: "N",
                    К: "K",
                    Л: "N",
                    М: "M",
                    Н: "H",
                    О: "O",
                    П: "N",
                    Р: "P",
                    С: "C",
                    Т: "T",
                    У: "y",
                    Ф: "O",
                    Х: "X",
                    Ц: "U",
                    Ч: "h",
                    Ш: "W",
                    Щ: "W",
                    Ъ: "B",
                    Ы: "X",
                    Ь: "B",
                    Э: "3",
                    Ю: "X",
                    Я: "R",
                    а: "a",
                    б: "b",
                    в: "a",
                    г: "r",
                    д: "y",
                    е: "e",
                    ж: "m",
                    з: "e",
                    и: "n",
                    й: "n",
                    к: "n",
                    л: "n",
                    м: "m",
                    н: "n",
                    о: "o",
                    п: "n",
                    р: "p",
                    с: "c",
                    т: "o",
                    у: "y",
                    ф: "b",
                    х: "x",
                    ц: "n",
                    ч: "n",
                    ш: "w",
                    щ: "w",
                    ъ: "a",
                    ы: "m",
                    ь: "a",
                    э: "e",
                    ю: "m",
                    я: "r",
                };
            function G(t, e, r) {
                if (!F[e]) throw new Error("Font metrics not found for font: " + e + ".");
                var a = t.charCodeAt(0),
                    n = F[e][a];
                if ((!n && t[0] in U && ((a = U[t[0]].charCodeAt(0)), (n = F[e][a])), n || "text" !== r || (M(a) && (n = F[e][77])), n)) return { depth: n[0], height: n[1], italic: n[2], skew: n[3], width: n[4] };
            }
            var Y = {};
            var W = { bin: 1, close: 1, inner: 1, open: 1, punct: 1, rel: 1 },
                X = { "accent-token": 1, mathord: 1, "op-token": 1, spacing: 1, textord: 1 },
                _ = { math: {}, text: {} },
                j = _;
            function $(t, e, r, a, n, i) {
                (_[t][n] = { font: e, group: r, replace: a }), i && a && (_[t][a] = _[t][n]);
            }
            var Z = "main",
                K = "ams",
                J = "bin",
                Q = "mathord",
                tt = "op-token",
                et = "rel";
            $("math", Z, et, "\u2261", "\\equiv", !0),
                $("math", Z, et, "\u227a", "\\prec", !0),
                $("math", Z, et, "\u227b", "\\succ", !0),
                $("math", Z, et, "\u223c", "\\sim", !0),
                $("math", Z, et, "\u22a5", "\\perp"),
                $("math", Z, et, "\u2aaf", "\\preceq", !0),
                $("math", Z, et, "\u2ab0", "\\succeq", !0),
                $("math", Z, et, "\u2243", "\\simeq", !0),
                $("math", Z, et, "\u2223", "\\mid", !0),
                $("math", Z, et, "\u226a", "\\ll", !0),
                $("math", Z, et, "\u226b", "\\gg", !0),
                $("math", Z, et, "\u224d", "\\asymp", !0),
                $("math", Z, et, "\u2225", "\\parallel"),
                $("math", Z, et, "\u22c8", "\\bowtie", !0),
                $("math", Z, et, "\u2323", "\\smile", !0),
                $("math", Z, et, "\u2291", "\\sqsubseteq", !0),
                $("math", Z, et, "\u2292", "\\sqsupseteq", !0),
                $("math", Z, et, "\u2250", "\\doteq", !0),
                $("math", Z, et, "\u2322", "\\frown", !0),
                $("math", Z, et, "\u220b", "\\ni", !0),
                $("math", Z, et, "\u221d", "\\propto", !0),
                $("math", Z, et, "\u22a2", "\\vdash", !0),
                $("math", Z, et, "\u22a3", "\\dashv", !0),
                $("math", Z, et, "\u220b", "\\owns"),
                $("math", Z, "punct", ".", "\\ldotp"),
                $("math", Z, "punct", "\u22c5", "\\cdotp"),
                $("math", Z, "textord", "#", "\\#"),
                $("text", Z, "textord", "#", "\\#"),
                $("math", Z, "textord", "&", "\\&"),
                $("text", Z, "textord", "&", "\\&"),
                $("math", Z, "textord", "\u2135", "\\aleph", !0),
                $("math", Z, "textord", "\u2200", "\\forall", !0),
                $("math", Z, "textord", "\u210f", "\\hbar", !0),
                $("math", Z, "textord", "\u2203", "\\exists", !0),
                $("math", Z, "textord", "\u2207", "\\nabla", !0),
                $("math", Z, "textord", "\u266d", "\\flat", !0),
                $("math", Z, "textord", "\u2113", "\\ell", !0),
                $("math", Z, "textord", "\u266e", "\\natural", !0),
                $("math", Z, "textord", "\u2663", "\\clubsuit", !0),
                $("math", Z, "textord", "\u2118", "\\wp", !0),
                $("math", Z, "textord", "\u266f", "\\sharp", !0),
                $("math", Z, "textord", "\u2662", "\\diamondsuit", !0),
                $("math", Z, "textord", "\u211c", "\\Re", !0),
                $("math", Z, "textord", "\u2661", "\\heartsuit", !0),
                $("math", Z, "textord", "\u2111", "\\Im", !0),
                $("math", Z, "textord", "\u2660", "\\spadesuit", !0),
                $("text", Z, "textord", "\xa7", "\\S", !0),
                $("text", Z, "textord", "\xb6", "\\P", !0),
                $("math", Z, "textord", "\u2020", "\\dag"),
                $("text", Z, "textord", "\u2020", "\\dag"),
                $("text", Z, "textord", "\u2020", "\\textdagger"),
                $("math", Z, "textord", "\u2021", "\\ddag"),
                $("text", Z, "textord", "\u2021", "\\ddag"),
                $("text", Z, "textord", "\u2021", "\\textdaggerdbl"),
                $("math", Z, "close", "\u23b1", "\\rmoustache", !0),
                $("math", Z, "open", "\u23b0", "\\lmoustache", !0),
                $("math", Z, "close", "\u27ef", "\\rgroup", !0),
                $("math", Z, "open", "\u27ee", "\\lgroup", !0),
                $("math", Z, J, "\u2213", "\\mp", !0),
                $("math", Z, J, "\u2296", "\\ominus", !0),
                $("math", Z, J, "\u228e", "\\uplus", !0),
                $("math", Z, J, "\u2293", "\\sqcap", !0),
                $("math", Z, J, "\u2217", "\\ast"),
                $("math", Z, J, "\u2294", "\\sqcup", !0),
                $("math", Z, J, "\u25ef", "\\bigcirc"),
                $("math", Z, J, "\u2219", "\\bullet"),
                $("math", Z, J, "\u2021", "\\ddagger"),
                $("math", Z, J, "\u2240", "\\wr", !0),
                $("math", Z, J, "\u2a3f", "\\amalg"),
                $("math", Z, J, "&", "\\And"),
                $("math", Z, et, "\u27f5", "\\longleftarrow", !0),
                $("math", Z, et, "\u21d0", "\\Leftarrow", !0),
                $("math", Z, et, "\u27f8", "\\Longleftarrow", !0),
                $("math", Z, et, "\u27f6", "\\longrightarrow", !0),
                $("math", Z, et, "\u21d2", "\\Rightarrow", !0),
                $("math", Z, et, "\u27f9", "\\Longrightarrow", !0),
                $("math", Z, et, "\u2194", "\\leftrightarrow", !0),
                $("math", Z, et, "\u27f7", "\\longleftrightarrow", !0),
                $("math", Z, et, "\u21d4", "\\Leftrightarrow", !0),
                $("math", Z, et, "\u27fa", "\\Longleftrightarrow", !0),
                $("math", Z, et, "\u21a6", "\\mapsto", !0),
                $("math", Z, et, "\u27fc", "\\longmapsto", !0),
                $("math", Z, et, "\u2197", "\\nearrow", !0),
                $("math", Z, et, "\u21a9", "\\hookleftarrow", !0),
                $("math", Z, et, "\u21aa", "\\hookrightarrow", !0),
                $("math", Z, et, "\u2198", "\\searrow", !0),
                $("math", Z, et, "\u21bc", "\\leftharpoonup", !0),
                $("math", Z, et, "\u21c0", "\\rightharpoonup", !0),
                $("math", Z, et, "\u2199", "\\swarrow", !0),
                $("math", Z, et, "\u21bd", "\\leftharpoondown", !0),
                $("math", Z, et, "\u21c1", "\\rightharpoondown", !0),
                $("math", Z, et, "\u2196", "\\nwarrow", !0),
                $("math", Z, et, "\u21cc", "\\rightleftharpoons", !0),
                $("math", K, et, "\u226e", "\\nless", !0),
                $("math", K, et, "\ue010", "\\@nleqslant"),
                $("math", K, et, "\ue011", "\\@nleqq"),
                $("math", K, et, "\u2a87", "\\lneq", !0),
                $("math", K, et, "\u2268", "\\lneqq", !0),
                $("math", K, et, "\ue00c", "\\@lvertneqq"),
                $("math", K, et, "\u22e6", "\\lnsim", !0),
                $("math", K, et, "\u2a89", "\\lnapprox", !0),
                $("math", K, et, "\u2280", "\\nprec", !0),
                $("math", K, et, "\u22e0", "\\npreceq", !0),
                $("math", K, et, "\u22e8", "\\precnsim", !0),
                $("math", K, et, "\u2ab9", "\\precnapprox", !0),
                $("math", K, et, "\u2241", "\\nsim", !0),
                $("math", K, et, "\ue006", "\\@nshortmid"),
                $("math", K, et, "\u2224", "\\nmid", !0),
                $("math", K, et, "\u22ac", "\\nvdash", !0),
                $("math", K, et, "\u22ad", "\\nvDash", !0),
                $("math", K, et, "\u22ea", "\\ntriangleleft"),
                $("math", K, et, "\u22ec", "\\ntrianglelefteq", !0),
                $("math", K, et, "\u228a", "\\subsetneq", !0),
                $("math", K, et, "\ue01a", "\\@varsubsetneq"),
                $("math", K, et, "\u2acb", "\\subsetneqq", !0),
                $("math", K, et, "\ue017", "\\@varsubsetneqq"),
                $("math", K, et, "\u226f", "\\ngtr", !0),
                $("math", K, et, "\ue00f", "\\@ngeqslant"),
                $("math", K, et, "\ue00e", "\\@ngeqq"),
                $("math", K, et, "\u2a88", "\\gneq", !0),
                $("math", K, et, "\u2269", "\\gneqq", !0),
                $("math", K, et, "\ue00d", "\\@gvertneqq"),
                $("math", K, et, "\u22e7", "\\gnsim", !0),
                $("math", K, et, "\u2a8a", "\\gnapprox", !0),
                $("math", K, et, "\u2281", "\\nsucc", !0),
                $("math", K, et, "\u22e1", "\\nsucceq", !0),
                $("math", K, et, "\u22e9", "\\succnsim", !0),
                $("math", K, et, "\u2aba", "\\succnapprox", !0),
                $("math", K, et, "\u2246", "\\ncong", !0),
                $("math", K, et, "\ue007", "\\@nshortparallel"),
                $("math", K, et, "\u2226", "\\nparallel", !0),
                $("math", K, et, "\u22af", "\\nVDash", !0),
                $("math", K, et, "\u22eb", "\\ntriangleright"),
                $("math", K, et, "\u22ed", "\\ntrianglerighteq", !0),
                $("math", K, et, "\ue018", "\\@nsupseteqq"),
                $("math", K, et, "\u228b", "\\supsetneq", !0),
                $("math", K, et, "\ue01b", "\\@varsupsetneq"),
                $("math", K, et, "\u2acc", "\\supsetneqq", !0),
                $("math", K, et, "\ue019", "\\@varsupsetneqq"),
                $("math", K, et, "\u22ae", "\\nVdash", !0),
                $("math", K, et, "\u2ab5", "\\precneqq", !0),
                $("math", K, et, "\u2ab6", "\\succneqq", !0),
                $("math", K, et, "\ue016", "\\@nsubseteqq"),
                $("math", K, J, "\u22b4", "\\unlhd"),
                $("math", K, J, "\u22b5", "\\unrhd"),
                $("math", K, et, "\u219a", "\\nleftarrow", !0),
                $("math", K, et, "\u219b", "\\nrightarrow", !0),
                $("math", K, et, "\u21cd", "\\nLeftarrow", !0),
                $("math", K, et, "\u21cf", "\\nRightarrow", !0),
                $("math", K, et, "\u21ae", "\\nleftrightarrow", !0),
                $("math", K, et, "\u21ce", "\\nLeftrightarrow", !0),
                $("math", K, et, "\u25b3", "\\vartriangle"),
                $("math", K, "textord", "\u210f", "\\hslash"),
                $("math", K, "textord", "\u25bd", "\\triangledown"),
                $("math", K, "textord", "\u25ca", "\\lozenge"),
                $("math", K, "textord", "\u24c8", "\\circledS"),
                $("math", K, "textord", "\xae", "\\circledR"),
                $("text", K, "textord", "\xae", "\\circledR"),
                $("math", K, "textord", "\u2221", "\\measuredangle", !0),
                $("math", K, "textord", "\u2204", "\\nexists"),
                $("math", K, "textord", "\u2127", "\\mho"),
                $("math", K, "textord", "\u2132", "\\Finv", !0),
                $("math", K, "textord", "\u2141", "\\Game", !0),
                $("math", K, "textord", "\u2035", "\\backprime"),
                $("math", K, "textord", "\u25b2", "\\blacktriangle"),
                $("math", K, "textord", "\u25bc", "\\blacktriangledown"),
                $("math", K, "textord", "\u25a0", "\\blacksquare"),
                $("math", K, "textord", "\u29eb", "\\blacklozenge"),
                $("math", K, "textord", "\u2605", "\\bigstar"),
                $("math", K, "textord", "\u2222", "\\sphericalangle", !0),
                $("math", K, "textord", "\u2201", "\\complement", !0),
                $("math", K, "textord", "\xf0", "\\eth", !0),
                $("math", K, "textord", "\u2571", "\\diagup"),
                $("math", K, "textord", "\u2572", "\\diagdown"),
                $("math", K, "textord", "\u25a1", "\\square"),
                $("math", K, "textord", "\u25a1", "\\Box"),
                $("math", K, "textord", "\u25ca", "\\Diamond"),
                $("math", K, "textord", "\xa5", "\\yen", !0),
                $("text", K, "textord", "\xa5", "\\yen", !0),
                $("math", K, "textord", "\u2713", "\\checkmark", !0),
                $("text", K, "textord", "\u2713", "\\checkmark"),
                $("math", K, "textord", "\u2136", "\\beth", !0),
                $("math", K, "textord", "\u2138", "\\daleth", !0),
                $("math", K, "textord", "\u2137", "\\gimel", !0),
                $("math", K, "textord", "\u03dd", "\\digamma", !0),
                $("math", K, "textord", "\u03f0", "\\varkappa"),
                $("math", K, "open", "\u250c", "\\ulcorner", !0),
                $("math", K, "close", "\u2510", "\\urcorner", !0),
                $("math", K, "open", "\u2514", "\\llcorner", !0),
                $("math", K, "close", "\u2518", "\\lrcorner", !0),
                $("math", K, et, "\u2266", "\\leqq", !0),
                $("math", K, et, "\u2a7d", "\\leqslant", !0),
                $("math", K, et, "\u2a95", "\\eqslantless", !0),
                $("math", K, et, "\u2272", "\\lesssim", !0),
                $("math", K, et, "\u2a85", "\\lessapprox", !0),
                $("math", K, et, "\u224a", "\\approxeq", !0),
                $("math", K, J, "\u22d6", "\\lessdot"),
                $("math", K, et, "\u22d8", "\\lll", !0),
                $("math", K, et, "\u2276", "\\lessgtr", !0),
                $("math", K, et, "\u22da", "\\lesseqgtr", !0),
                $("math", K, et, "\u2a8b", "\\lesseqqgtr", !0),
                $("math", K, et, "\u2251", "\\doteqdot"),
                $("math", K, et, "\u2253", "\\risingdotseq", !0),
                $("math", K, et, "\u2252", "\\fallingdotseq", !0),
                $("math", K, et, "\u223d", "\\backsim", !0),
                $("math", K, et, "\u22cd", "\\backsimeq", !0),
                $("math", K, et, "\u2ac5", "\\subseteqq", !0),
                $("math", K, et, "\u22d0", "\\Subset", !0),
                $("math", K, et, "\u228f", "\\sqsubset", !0),
                $("math", K, et, "\u227c", "\\preccurlyeq", !0),
                $("math", K, et, "\u22de", "\\curlyeqprec", !0),
                $("math", K, et, "\u227e", "\\precsim", !0),
                $("math", K, et, "\u2ab7", "\\precapprox", !0),
                $("math", K, et, "\u22b2", "\\vartriangleleft"),
                $("math", K, et, "\u22b4", "\\trianglelefteq"),
                $("math", K, et, "\u22a8", "\\vDash", !0),
                $("math", K, et, "\u22aa", "\\Vvdash", !0),
                $("math", K, et, "\u2323", "\\smallsmile"),
                $("math", K, et, "\u2322", "\\smallfrown"),
                $("math", K, et, "\u224f", "\\bumpeq", !0),
                $("math", K, et, "\u224e", "\\Bumpeq", !0),
                $("math", K, et, "\u2267", "\\geqq", !0),
                $("math", K, et, "\u2a7e", "\\geqslant", !0),
                $("math", K, et, "\u2a96", "\\eqslantgtr", !0),
                $("math", K, et, "\u2273", "\\gtrsim", !0),
                $("math", K, et, "\u2a86", "\\gtrapprox", !0),
                $("math", K, J, "\u22d7", "\\gtrdot"),
                $("math", K, et, "\u22d9", "\\ggg", !0),
                $("math", K, et, "\u2277", "\\gtrless", !0),
                $("math", K, et, "\u22db", "\\gtreqless", !0),
                $("math", K, et, "\u2a8c", "\\gtreqqless", !0),
                $("math", K, et, "\u2256", "\\eqcirc", !0),
                $("math", K, et, "\u2257", "\\circeq", !0),
                $("math", K, et, "\u225c", "\\triangleq", !0),
                $("math", K, et, "\u223c", "\\thicksim"),
                $("math", K, et, "\u2248", "\\thickapprox"),
                $("math", K, et, "\u2ac6", "\\supseteqq", !0),
                $("math", K, et, "\u22d1", "\\Supset", !0),
                $("math", K, et, "\u2290", "\\sqsupset", !0),
                $("math", K, et, "\u227d", "\\succcurlyeq", !0),
                $("math", K, et, "\u22df", "\\curlyeqsucc", !0),
                $("math", K, et, "\u227f", "\\succsim", !0),
                $("math", K, et, "\u2ab8", "\\succapprox", !0),
                $("math", K, et, "\u22b3", "\\vartriangleright"),
                $("math", K, et, "\u22b5", "\\trianglerighteq"),
                $("math", K, et, "\u22a9", "\\Vdash", !0),
                $("math", K, et, "\u2223", "\\shortmid"),
                $("math", K, et, "\u2225", "\\shortparallel"),
                $("math", K, et, "\u226c", "\\between", !0),
                $("math", K, et, "\u22d4", "\\pitchfork", !0),
                $("math", K, et, "\u221d", "\\varpropto"),
                $("math", K, et, "\u25c0", "\\blacktriangleleft"),
                $("math", K, et, "\u2234", "\\therefore", !0),
                $("math", K, et, "\u220d", "\\backepsilon"),
                $("math", K, et, "\u25b6", "\\blacktriangleright"),
                $("math", K, et, "\u2235", "\\because", !0),
                $("math", K, et, "\u22d8", "\\llless"),
                $("math", K, et, "\u22d9", "\\gggtr"),
                $("math", K, J, "\u22b2", "\\lhd"),
                $("math", K, J, "\u22b3", "\\rhd"),
                $("math", K, et, "\u2242", "\\eqsim", !0),
                $("math", Z, et, "\u22c8", "\\Join"),
                $("math", K, et, "\u2251", "\\Doteq", !0),
                $("math", K, J, "\u2214", "\\dotplus", !0),
                $("math", K, J, "\u2216", "\\smallsetminus"),
                $("math", K, J, "\u22d2", "\\Cap", !0),
                $("math", K, J, "\u22d3", "\\Cup", !0),
                $("math", K, J, "\u2a5e", "\\doublebarwedge", !0),
                $("math", K, J, "\u229f", "\\boxminus", !0),
                $("math", K, J, "\u229e", "\\boxplus", !0),
                $("math", K, J, "\u22c7", "\\divideontimes", !0),
                $("math", K, J, "\u22c9", "\\ltimes", !0),
                $("math", K, J, "\u22ca", "\\rtimes", !0),
                $("math", K, J, "\u22cb", "\\leftthreetimes", !0),
                $("math", K, J, "\u22cc", "\\rightthreetimes", !0),
                $("math", K, J, "\u22cf", "\\curlywedge", !0),
                $("math", K, J, "\u22ce", "\\curlyvee", !0),
                $("math", K, J, "\u229d", "\\circleddash", !0),
                $("math", K, J, "\u229b", "\\circledast", !0),
                $("math", K, J, "\u22c5", "\\centerdot"),
                $("math", K, J, "\u22ba", "\\intercal", !0),
                $("math", K, J, "\u22d2", "\\doublecap"),
                $("math", K, J, "\u22d3", "\\doublecup"),
                $("math", K, J, "\u22a0", "\\boxtimes", !0),
                $("math", K, et, "\u21e2", "\\dashrightarrow", !0),
                $("math", K, et, "\u21e0", "\\dashleftarrow", !0),
                $("math", K, et, "\u21c7", "\\leftleftarrows", !0),
                $("math", K, et, "\u21c6", "\\leftrightarrows", !0),
                $("math", K, et, "\u21da", "\\Lleftarrow", !0),
                $("math", K, et, "\u219e", "\\twoheadleftarrow", !0),
                $("math", K, et, "\u21a2", "\\leftarrowtail", !0),
                $("math", K, et, "\u21ab", "\\looparrowleft", !0),
                $("math", K, et, "\u21cb", "\\leftrightharpoons", !0),
                $("math", K, et, "\u21b6", "\\curvearrowleft", !0),
                $("math", K, et, "\u21ba", "\\circlearrowleft", !0),
                $("math", K, et, "\u21b0", "\\Lsh", !0),
                $("math", K, et, "\u21c8", "\\upuparrows", !0),
                $("math", K, et, "\u21bf", "\\upharpoonleft", !0),
                $("math", K, et, "\u21c3", "\\downharpoonleft", !0),
                $("math", K, et, "\u22b8", "\\multimap", !0),
                $("math", K, et, "\u21ad", "\\leftrightsquigarrow", !0),
                $("math", K, et, "\u21c9", "\\rightrightarrows", !0),
                $("math", K, et, "\u21c4", "\\rightleftarrows", !0),
                $("math", K, et, "\u21a0", "\\twoheadrightarrow", !0),
                $("math", K, et, "\u21a3", "\\rightarrowtail", !0),
                $("math", K, et, "\u21ac", "\\looparrowright", !0),
                $("math", K, et, "\u21b7", "\\curvearrowright", !0),
                $("math", K, et, "\u21bb", "\\circlearrowright", !0),
                $("math", K, et, "\u21b1", "\\Rsh", !0),
                $("math", K, et, "\u21ca", "\\downdownarrows", !0),
                $("math", K, et, "\u21be", "\\upharpoonright", !0),
                $("math", K, et, "\u21c2", "\\downharpoonright", !0),
                $("math", K, et, "\u21dd", "\\rightsquigarrow", !0),
                $("math", K, et, "\u21dd", "\\leadsto"),
                $("math", K, et, "\u21db", "\\Rrightarrow", !0),
                $("math", K, et, "\u21be", "\\restriction"),
                $("math", Z, "textord", "\u2018", "`"),
                $("math", Z, "textord", "$", "\\$"),
                $("text", Z, "textord", "$", "\\$"),
                $("text", Z, "textord", "$", "\\textdollar"),
                $("math", Z, "textord", "%", "\\%"),
                $("text", Z, "textord", "%", "\\%"),
                $("math", Z, "textord", "_", "\\_"),
                $("text", Z, "textord", "_", "\\_"),
                $("text", Z, "textord", "_", "\\textunderscore"),
                $("math", Z, "textord", "\u2220", "\\angle", !0),
                $("math", Z, "textord", "\u221e", "\\infty", !0),
                $("math", Z, "textord", "\u2032", "\\prime"),
                $("math", Z, "textord", "\u25b3", "\\triangle"),
                $("math", Z, "textord", "\u0393", "\\Gamma", !0),
                $("math", Z, "textord", "\u0394", "\\Delta", !0),
                $("math", Z, "textord", "\u0398", "\\Theta", !0),
                $("math", Z, "textord", "\u039b", "\\Lambda", !0),
                $("math", Z, "textord", "\u039e", "\\Xi", !0),
                $("math", Z, "textord", "\u03a0", "\\Pi", !0),
                $("math", Z, "textord", "\u03a3", "\\Sigma", !0),
                $("math", Z, "textord", "\u03a5", "\\Upsilon", !0),
                $("math", Z, "textord", "\u03a6", "\\Phi", !0),
                $("math", Z, "textord", "\u03a8", "\\Psi", !0),
                $("math", Z, "textord", "\u03a9", "\\Omega", !0),
                $("math", Z, "textord", "A", "\u0391"),
                $("math", Z, "textord", "B", "\u0392"),
                $("math", Z, "textord", "E", "\u0395"),
                $("math", Z, "textord", "Z", "\u0396"),
                $("math", Z, "textord", "H", "\u0397"),
                $("math", Z, "textord", "I", "\u0399"),
                $("math", Z, "textord", "K", "\u039a"),
                $("math", Z, "textord", "M", "\u039c"),
                $("math", Z, "textord", "N", "\u039d"),
                $("math", Z, "textord", "O", "\u039f"),
                $("math", Z, "textord", "P", "\u03a1"),
                $("math", Z, "textord", "T", "\u03a4"),
                $("math", Z, "textord", "X", "\u03a7"),
                $("math", Z, "textord", "\xac", "\\neg", !0),
                $("math", Z, "textord", "\xac", "\\lnot"),
                $("math", Z, "textord", "\u22a4", "\\top"),
                $("math", Z, "textord", "\u22a5", "\\bot"),
                $("math", Z, "textord", "\u2205", "\\emptyset"),
                $("math", K, "textord", "\u2205", "\\varnothing"),
                $("math", Z, Q, "\u03b1", "\\alpha", !0),
                $("math", Z, Q, "\u03b2", "\\beta", !0),
                $("math", Z, Q, "\u03b3", "\\gamma", !0),
                $("math", Z, Q, "\u03b4", "\\delta", !0),
                $("math", Z, Q, "\u03f5", "\\epsilon", !0),
                $("math", Z, Q, "\u03b6", "\\zeta", !0),
                $("math", Z, Q, "\u03b7", "\\eta", !0),
                $("math", Z, Q, "\u03b8", "\\theta", !0),
                $("math", Z, Q, "\u03b9", "\\iota", !0),
                $("math", Z, Q, "\u03ba", "\\kappa", !0),
                $("math", Z, Q, "\u03bb", "\\lambda", !0),
                $("math", Z, Q, "\u03bc", "\\mu", !0),
                $("math", Z, Q, "\u03bd", "\\nu", !0),
                $("math", Z, Q, "\u03be", "\\xi", !0),
                $("math", Z, Q, "\u03bf", "\\omicron", !0),
                $("math", Z, Q, "\u03c0", "\\pi", !0),
                $("math", Z, Q, "\u03c1", "\\rho", !0),
                $("math", Z, Q, "\u03c3", "\\sigma", !0),
                $("math", Z, Q, "\u03c4", "\\tau", !0),
                $("math", Z, Q, "\u03c5", "\\upsilon", !0),
                $("math", Z, Q, "\u03d5", "\\phi", !0),
                $("math", Z, Q, "\u03c7", "\\chi", !0),
                $("math", Z, Q, "\u03c8", "\\psi", !0),
                $("math", Z, Q, "\u03c9", "\\omega", !0),
                $("math", Z, Q, "\u03b5", "\\varepsilon", !0),
                $("math", Z, Q, "\u03d1", "\\vartheta", !0),
                $("math", Z, Q, "\u03d6", "\\varpi", !0),
                $("math", Z, Q, "\u03f1", "\\varrho", !0),
                $("math", Z, Q, "\u03c2", "\\varsigma", !0),
                $("math", Z, Q, "\u03c6", "\\varphi", !0),
                $("math", Z, J, "\u2217", "*"),
                $("math", Z, J, "+", "+"),
                $("math", Z, J, "\u2212", "-"),
                $("math", Z, J, "\u22c5", "\\cdot", !0),
                $("math", Z, J, "\u2218", "\\circ"),
                $("math", Z, J, "\xf7", "\\div", !0),
                $("math", Z, J, "\xb1", "\\pm", !0),
                $("math", Z, J, "\xd7", "\\times", !0),
                $("math", Z, J, "\u2229", "\\cap", !0),
                $("math", Z, J, "\u222a", "\\cup", !0),
                $("math", Z, J, "\u2216", "\\setminus"),
                $("math", Z, J, "\u2227", "\\land"),
                $("math", Z, J, "\u2228", "\\lor"),
                $("math", Z, J, "\u2227", "\\wedge", !0),
                $("math", Z, J, "\u2228", "\\vee", !0),
                $("math", Z, "textord", "\u221a", "\\surd"),
                $("math", Z, "open", "(", "("),
                $("math", Z, "open", "[", "["),
                $("math", Z, "open", "\u27e8", "\\langle", !0),
                $("math", Z, "open", "\u2223", "\\lvert"),
                $("math", Z, "open", "\u2225", "\\lVert"),
                $("math", Z, "close", ")", ")"),
                $("math", Z, "close", "]", "]"),
                $("math", Z, "close", "?", "?"),
                $("math", Z, "close", "!", "!"),
                $("math", Z, "close", "\u27e9", "\\rangle", !0),
                $("math", Z, "close", "\u2223", "\\rvert"),
                $("math", Z, "close", "\u2225", "\\rVert"),
                $("math", Z, et, "=", "="),
                $("math", Z, et, "<", "<"),
                $("math", Z, et, ">", ">"),
                $("math", Z, et, ":", ":"),
                $("math", Z, et, "\u2248", "\\approx", !0),
                $("math", Z, et, "\u2245", "\\cong", !0),
                $("math", Z, et, "\u2265", "\\ge"),
                $("math", Z, et, "\u2265", "\\geq", !0),
                $("math", Z, et, "\u2190", "\\gets"),
                $("math", Z, et, ">", "\\gt"),
                $("math", Z, et, "\u2208", "\\in", !0),
                $("math", Z, et, "\ue020", "\\@not"),
                $("math", Z, et, "\u2282", "\\subset", !0),
                $("math", Z, et, "\u2283", "\\supset", !0),
                $("math", Z, et, "\u2286", "\\subseteq", !0),
                $("math", Z, et, "\u2287", "\\supseteq", !0),
                $("math", K, et, "\u2288", "\\nsubseteq", !0),
                $("math", K, et, "\u2289", "\\nsupseteq", !0),
                $("math", Z, et, "\u22a8", "\\models"),
                $("math", Z, et, "\u2190", "\\leftarrow", !0),
                $("math", Z, et, "\u2264", "\\le"),
                $("math", Z, et, "\u2264", "\\leq", !0),
                $("math", Z, et, "<", "\\lt"),
                $("math", Z, et, "\u2192", "\\rightarrow", !0),
                $("math", Z, et, "\u2192", "\\to"),
                $("math", K, et, "\u2271", "\\ngeq", !0),
                $("math", K, et, "\u2270", "\\nleq", !0),
                $("math", Z, "spacing", "\xa0", "\\ "),
                $("math", Z, "spacing", "\xa0", "~"),
                $("math", Z, "spacing", "\xa0", "\\space"),
                $("math", Z, "spacing", "\xa0", "\\nobreakspace"),
                $("text", Z, "spacing", "\xa0", "\\ "),
                $("text", Z, "spacing", "\xa0", "~"),
                $("text", Z, "spacing", "\xa0", "\\space"),
                $("text", Z, "spacing", "\xa0", "\\nobreakspace"),
                $("math", Z, "spacing", null, "\\nobreak"),
                $("math", Z, "spacing", null, "\\allowbreak"),
                $("math", Z, "punct", ",", ","),
                $("math", Z, "punct", ";", ";"),
                $("math", K, J, "\u22bc", "\\barwedge", !0),
                $("math", K, J, "\u22bb", "\\veebar", !0),
                $("math", Z, J, "\u2299", "\\odot", !0),
                $("math", Z, J, "\u2295", "\\oplus", !0),
                $("math", Z, J, "\u2297", "\\otimes", !0),
                $("math", Z, "textord", "\u2202", "\\partial", !0),
                $("math", Z, J, "\u2298", "\\oslash", !0),
                $("math", K, J, "\u229a", "\\circledcirc", !0),
                $("math", K, J, "\u22a1", "\\boxdot", !0),
                $("math", Z, J, "\u25b3", "\\bigtriangleup"),
                $("math", Z, J, "\u25bd", "\\bigtriangledown"),
                $("math", Z, J, "\u2020", "\\dagger"),
                $("math", Z, J, "\u22c4", "\\diamond"),
                $("math", Z, J, "\u22c6", "\\star"),
                $("math", Z, J, "\u25c3", "\\triangleleft"),
                $("math", Z, J, "\u25b9", "\\triangleright"),
                $("math", Z, "open", "{", "\\{"),
                $("text", Z, "textord", "{", "\\{"),
                $("text", Z, "textord", "{", "\\textbraceleft"),
                $("math", Z, "close", "}", "\\}"),
                $("text", Z, "textord", "}", "\\}"),
                $("text", Z, "textord", "}", "\\textbraceright"),
                $("math", Z, "open", "{", "\\lbrace"),
                $("math", Z, "close", "}", "\\rbrace"),
                $("math", Z, "open", "[", "\\lbrack"),
                $("text", Z, "textord", "[", "\\lbrack"),
                $("math", Z, "close", "]", "\\rbrack"),
                $("text", Z, "textord", "]", "\\rbrack"),
                $("math", Z, "open", "(", "\\lparen"),
                $("math", Z, "close", ")", "\\rparen"),
                $("text", Z, "textord", "<", "\\textless"),
                $("text", Z, "textord", ">", "\\textgreater"),
                $("math", Z, "open", "\u230a", "\\lfloor", !0),
                $("math", Z, "close", "\u230b", "\\rfloor", !0),
                $("math", Z, "open", "\u2308", "\\lceil", !0),
                $("math", Z, "close", "\u2309", "\\rceil", !0),
                $("math", Z, "textord", "\\", "\\backslash"),
                $("math", Z, "textord", "\u2223", "|"),
                $("math", Z, "textord", "\u2223", "\\vert"),
                $("text", Z, "textord", "|", "\\textbar"),
                $("math", Z, "textord", "\u2225", "\\|"),
                $("math", Z, "textord", "\u2225", "\\Vert"),
                $("text", Z, "textord", "\u2225", "\\textbardbl"),
                $("text", Z, "textord", "~", "\\textasciitilde"),
                $("text", Z, "textord", "\\", "\\textbackslash"),
                $("text", Z, "textord", "^", "\\textasciicircum"),
                $("math", Z, et, "\u2191", "\\uparrow", !0),
                $("math", Z, et, "\u21d1", "\\Uparrow", !0),
                $("math", Z, et, "\u2193", "\\downarrow", !0),
                $("math", Z, et, "\u21d3", "\\Downarrow", !0),
                $("math", Z, et, "\u2195", "\\updownarrow", !0),
                $("math", Z, et, "\u21d5", "\\Updownarrow", !0),
                $("math", Z, tt, "\u2210", "\\coprod"),
                $("math", Z, tt, "\u22c1", "\\bigvee"),
                $("math", Z, tt, "\u22c0", "\\bigwedge"),
                $("math", Z, tt, "\u2a04", "\\biguplus"),
                $("math", Z, tt, "\u22c2", "\\bigcap"),
                $("math", Z, tt, "\u22c3", "\\bigcup"),
                $("math", Z, tt, "\u222b", "\\int"),
                $("math", Z, tt, "\u222b", "\\intop"),
                $("math", Z, tt, "\u222c", "\\iint"),
                $("math", Z, tt, "\u222d", "\\iiint"),
                $("math", Z, tt, "\u220f", "\\prod"),
                $("math", Z, tt, "\u2211", "\\sum"),
                $("math", Z, tt, "\u2a02", "\\bigotimes"),
                $("math", Z, tt, "\u2a01", "\\bigoplus"),
                $("math", Z, tt, "\u2a00", "\\bigodot"),
                $("math", Z, tt, "\u222e", "\\oint"),
                $("math", Z, tt, "\u222f", "\\oiint"),
                $("math", Z, tt, "\u2230", "\\oiiint"),
                $("math", Z, tt, "\u2a06", "\\bigsqcup"),
                $("math", Z, tt, "\u222b", "\\smallint"),
                $("text", Z, "inner", "\u2026", "\\textellipsis"),
                $("math", Z, "inner", "\u2026", "\\mathellipsis"),
                $("text", Z, "inner", "\u2026", "\\ldots", !0),
                $("math", Z, "inner", "\u2026", "\\ldots", !0),
                $("math", Z, "inner", "\u22ef", "\\@cdots", !0),
                $("math", Z, "inner", "\u22f1", "\\ddots", !0),
                $("math", Z, "textord", "\u22ee", "\\varvdots"),
                $("math", Z, "accent-token", "\u02ca", "\\acute"),
                $("math", Z, "accent-token", "\u02cb", "\\grave"),
                $("math", Z, "accent-token", "\xa8", "\\ddot"),
                $("math", Z, "accent-token", "~", "\\tilde"),
                $("math", Z, "accent-token", "\u02c9", "\\bar"),
                $("math", Z, "accent-token", "\u02d8", "\\breve"),
                $("math", Z, "accent-token", "\u02c7", "\\check"),
                $("math", Z, "accent-token", "^", "\\hat"),
                $("math", Z, "accent-token", "\u20d7", "\\vec"),
                $("math", Z, "accent-token", "\u02d9", "\\dot"),
                $("math", Z, "accent-token", "\u02da", "\\mathring"),
                $("math", Z, Q, "\u0131", "\\imath", !0),
                $("math", Z, Q, "\u0237", "\\jmath", !0),
                $("text", Z, "textord", "\u0131", "\\i", !0),
                $("text", Z, "textord", "\u0237", "\\j", !0),
                $("text", Z, "textord", "\xdf", "\\ss", !0),
                $("text", Z, "textord", "\xe6", "\\ae", !0),
                $("text", Z, "textord", "\xe6", "\\ae", !0),
                $("text", Z, "textord", "\u0153", "\\oe", !0),
                $("text", Z, "textord", "\xf8", "\\o", !0),
                $("text", Z, "textord", "\xc6", "\\AE", !0),
                $("text", Z, "textord", "\u0152", "\\OE", !0),
                $("text", Z, "textord", "\xd8", "\\O", !0),
                $("text", Z, "accent-token", "\u02ca", "\\'"),
                $("text", Z, "accent-token", "\u02cb", "\\`"),
                $("text", Z, "accent-token", "\u02c6", "\\^"),
                $("text", Z, "accent-token", "\u02dc", "\\~"),
                $("text", Z, "accent-token", "\u02c9", "\\="),
                $("text", Z, "accent-token", "\u02d8", "\\u"),
                $("text", Z, "accent-token", "\u02d9", "\\."),
                $("text", Z, "accent-token", "\u02da", "\\r"),
                $("text", Z, "accent-token", "\u02c7", "\\v"),
                $("text", Z, "accent-token", "\xa8", '\\"'),
                $("text", Z, "accent-token", "\u02dd", "\\H"),
                $("text", Z, "accent-token", "\u25ef", "\\textcircled");
            var rt = { "--": !0, "---": !0, "``": !0, "''": !0 };
            $("text", Z, "textord", "\u2013", "--"),
                $("text", Z, "textord", "\u2013", "\\textendash"),
                $("text", Z, "textord", "\u2014", "---"),
                $("text", Z, "textord", "\u2014", "\\textemdash"),
                $("text", Z, "textord", "\u2018", "`"),
                $("text", Z, "textord", "\u2018", "\\textquoteleft"),
                $("text", Z, "textord", "\u2019", "'"),
                $("text", Z, "textord", "\u2019", "\\textquoteright"),
                $("text", Z, "textord", "\u201c", "``"),
                $("text", Z, "textord", "\u201c", "\\textquotedblleft"),
                $("text", Z, "textord", "\u201d", "''"),
                $("text", Z, "textord", "\u201d", "\\textquotedblright"),
                $("math", Z, "textord", "\xb0", "\\degree", !0),
                $("text", Z, "textord", "\xb0", "\\degree"),
                $("text", Z, "textord", "\xb0", "\\textdegree", !0),
                $("math", Z, Q, "\xa3", "\\pounds"),
                $("math", Z, Q, "\xa3", "\\mathsterling", !0),
                $("text", Z, Q, "\xa3", "\\pounds"),
                $("text", Z, Q, "\xa3", "\\textsterling", !0),
                $("math", K, "textord", "\u2720", "\\maltese"),
                $("text", K, "textord", "\u2720", "\\maltese"),
                $("text", Z, "spacing", "\xa0", "\\ "),
                $("text", Z, "spacing", "\xa0", " "),
                $("text", Z, "spacing", "\xa0", "~");
            for (var at = 0; at < '0123456789/@."'.length; at++) {
                var nt = '0123456789/@."'.charAt(at);
                $("math", Z, "textord", nt, nt);
            }
            for (var it = 0; it < '0123456789!@*()-=+[]<>|";:?/.,'.length; it++) {
                var ot = '0123456789!@*()-=+[]<>|";:?/.,'.charAt(it);
                $("text", Z, "textord", ot, ot);
            }
            for (var st = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz", ht = 0; ht < st.length; ht++) {
                var lt = st.charAt(ht);
                $("math", Z, Q, lt, lt), $("text", Z, "textord", lt, lt);
            }
            $("math", K, "textord", "C", "\u2102"),
                $("text", K, "textord", "C", "\u2102"),
                $("math", K, "textord", "H", "\u210d"),
                $("text", K, "textord", "H", "\u210d"),
                $("math", K, "textord", "N", "\u2115"),
                $("text", K, "textord", "N", "\u2115"),
                $("math", K, "textord", "P", "\u2119"),
                $("text", K, "textord", "P", "\u2119"),
                $("math", K, "textord", "Q", "\u211a"),
                $("text", K, "textord", "Q", "\u211a"),
                $("math", K, "textord", "R", "\u211d"),
                $("text", K, "textord", "R", "\u211d"),
                $("math", K, "textord", "Z", "\u2124"),
                $("text", K, "textord", "Z", "\u2124"),
                $("math", Z, Q, "h", "\u210e"),
                $("text", Z, Q, "h", "\u210e");
            for (var mt = "", ct = 0; ct < st.length; ct++) {
                var ut = st.charAt(ct);
                $("math", Z, Q, ut, (mt = String.fromCharCode(55349, 56320 + ct))),
                    $("text", Z, "textord", ut, mt),
                    $("math", Z, Q, ut, (mt = String.fromCharCode(55349, 56372 + ct))),
                    $("text", Z, "textord", ut, mt),
                    $("math", Z, Q, ut, (mt = String.fromCharCode(55349, 56424 + ct))),
                    $("text", Z, "textord", ut, mt),
                    $("math", Z, Q, ut, (mt = String.fromCharCode(55349, 56580 + ct))),
                    $("text", Z, "textord", ut, mt),
                    $("math", Z, Q, ut, (mt = String.fromCharCode(55349, 56736 + ct))),
                    $("text", Z, "textord", ut, mt),
                    $("math", Z, Q, ut, (mt = String.fromCharCode(55349, 56788 + ct))),
                    $("text", Z, "textord", ut, mt),
                    $("math", Z, Q, ut, (mt = String.fromCharCode(55349, 56840 + ct))),
                    $("text", Z, "textord", ut, mt),
                    $("math", Z, Q, ut, (mt = String.fromCharCode(55349, 56944 + ct))),
                    $("text", Z, "textord", ut, mt),
                    ct < 26 && ($("math", Z, Q, ut, (mt = String.fromCharCode(55349, 56632 + ct))), $("text", Z, "textord", ut, mt), $("math", Z, Q, ut, (mt = String.fromCharCode(55349, 56476 + ct))), $("text", Z, "textord", ut, mt));
            }
            $("math", Z, Q, "k", (mt = String.fromCharCode(55349, 56668))), $("text", Z, "textord", "k", mt);
            for (var pt = 0; pt < 10; pt++) {
                var dt = pt.toString();
                $("math", Z, Q, dt, (mt = String.fromCharCode(55349, 57294 + pt))),
                    $("text", Z, "textord", dt, mt),
                    $("math", Z, Q, dt, (mt = String.fromCharCode(55349, 57314 + pt))),
                    $("text", Z, "textord", dt, mt),
                    $("math", Z, Q, dt, (mt = String.fromCharCode(55349, 57324 + pt))),
                    $("text", Z, "textord", dt, mt),
                    $("math", Z, Q, dt, (mt = String.fromCharCode(55349, 57334 + pt))),
                    $("text", Z, "textord", dt, mt);
            }
            for (var ft = 0; ft < "\xc7\xd0\xde\xe7\xfe".length; ft++) {
                var gt = "\xc7\xd0\xde\xe7\xfe".charAt(ft);
                $("math", Z, Q, gt, gt), $("text", Z, "textord", gt, gt);
            }
            $("text", Z, "textord", "\xf0", "\xf0"),
                $("text", Z, "textord", "\u2013", "\u2013"),
                $("text", Z, "textord", "\u2014", "\u2014"),
                $("text", Z, "textord", "\u2018", "\u2018"),
                $("text", Z, "textord", "\u2019", "\u2019"),
                $("text", Z, "textord", "\u201c", "\u201c"),
                $("text", Z, "textord", "\u201d", "\u201d");
            var xt = [
                    ["mathbf", "textbf", "Main-Bold"],
                    ["mathbf", "textbf", "Main-Bold"],
                    ["mathdefault", "textit", "Math-Italic"],
                    ["mathdefault", "textit", "Math-Italic"],
                    ["boldsymbol", "boldsymbol", "Main-BoldItalic"],
                    ["boldsymbol", "boldsymbol", "Main-BoldItalic"],
                    ["mathscr", "textscr", "Script-Regular"],
                    ["", "", ""],
                    ["", "", ""],
                    ["", "", ""],
                    ["mathfrak", "textfrak", "Fraktur-Regular"],
                    ["mathfrak", "textfrak", "Fraktur-Regular"],
                    ["mathbb", "textbb", "AMS-Regular"],
                    ["mathbb", "textbb", "AMS-Regular"],
                    ["", "", ""],
                    ["", "", ""],
                    ["mathsf", "textsf", "SansSerif-Regular"],
                    ["mathsf", "textsf", "SansSerif-Regular"],
                    ["mathboldsf", "textboldsf", "SansSerif-Bold"],
                    ["mathboldsf", "textboldsf", "SansSerif-Bold"],
                    ["mathitsf", "textitsf", "SansSerif-Italic"],
                    ["mathitsf", "textitsf", "SansSerif-Italic"],
                    ["", "", ""],
                    ["", "", ""],
                    ["mathtt", "texttt", "Typewriter-Regular"],
                    ["mathtt", "texttt", "Typewriter-Regular"],
                ],
                vt = [
                    ["mathbf", "textbf", "Main-Bold"],
                    ["", "", ""],
                    ["mathsf", "textsf", "SansSerif-Regular"],
                    ["mathboldsf", "textboldsf", "SansSerif-Bold"],
                    ["mathtt", "texttt", "Typewriter-Regular"],
                ],
                bt = [
                    [1, 1, 1],
                    [2, 1, 1],
                    [3, 1, 1],
                    [4, 2, 1],
                    [5, 2, 1],
                    [6, 3, 1],
                    [7, 4, 2],
                    [8, 6, 3],
                    [9, 7, 6],
                    [10, 8, 7],
                    [11, 10, 9],
                ],
                yt = [0.5, 0.6, 0.7, 0.8, 0.9, 1, 1.2, 1.44, 1.728, 2.074, 2.488],
                wt = function (t, e) {
                    return e.size < 2 ? t : bt[t - 1][e.size - 1];
                },
                kt = (function () {
                    function t(e) {
                        (this.style = void 0),
                            (this.color = void 0),
                            (this.size = void 0),
                            (this.textSize = void 0),
                            (this.phantom = void 0),
                            (this.font = void 0),
                            (this.fontFamily = void 0),
                            (this.fontWeight = void 0),
                            (this.fontShape = void 0),
                            (this.sizeMultiplier = void 0),
                            (this.maxSize = void 0),
                            (this.minRuleThickness = void 0),
                            (this._fontMetrics = void 0),
                            (this.style = e.style),
                            (this.color = e.color),
                            (this.size = e.size || t.BASESIZE),
                            (this.textSize = e.textSize || this.size),
                            (this.phantom = !!e.phantom),
                            (this.font = e.font || ""),
                            (this.fontFamily = e.fontFamily || ""),
                            (this.fontWeight = e.fontWeight || ""),
                            (this.fontShape = e.fontShape || ""),
                            (this.sizeMultiplier = yt[this.size - 1]),
                            (this.maxSize = e.maxSize),
                            (this.minRuleThickness = e.minRuleThickness),
                            (this._fontMetrics = void 0);
                    }
                    var e = t.prototype;
                    return (
                        (e.extend = function (e) {
                            var r = {
                                style: this.style,
                                size: this.size,
                                textSize: this.textSize,
                                color: this.color,
                                phantom: this.phantom,
                                font: this.font,
                                fontFamily: this.fontFamily,
                                fontWeight: this.fontWeight,
                                fontShape: this.fontShape,
                                maxSize: this.maxSize,
                                minRuleThickness: this.minRuleThickness,
                            };
                            for (var a in e) e.hasOwnProperty(a) && (r[a] = e[a]);
                            return new t(r);
                        }),
                        (e.havingStyle = function (t) {
                            return this.style === t ? this : this.extend({ style: t, size: wt(this.textSize, t) });
                        }),
                        (e.havingCrampedStyle = function () {
                            return this.havingStyle(this.style.cramp());
                        }),
                        (e.havingSize = function (t) {
                            return this.size === t && this.textSize === t ? this : this.extend({ style: this.style.text(), size: t, textSize: t, sizeMultiplier: yt[t - 1] });
                        }),
                        (e.havingBaseStyle = function (e) {
                            e = e || this.style.text();
                            var r = wt(t.BASESIZE, e);
                            return this.size === r && this.textSize === t.BASESIZE && this.style === e ? this : this.extend({ style: e, size: r });
                        }),
                        (e.havingBaseSizing = function () {
                            var t;
                            switch (this.style.id) {
                                case 4:
                                case 5:
                                    t = 3;
                                    break;
                                case 6:
                                case 7:
                                    t = 1;
                                    break;
                                default:
                                    t = 6;
                            }
                            return this.extend({ style: this.style.text(), size: t });
                        }),
                        (e.withColor = function (t) {
                            return this.extend({ color: t });
                        }),
                        (e.withPhantom = function () {
                            return this.extend({ phantom: !0 });
                        }),
                        (e.withFont = function (t) {
                            return this.extend({ font: t });
                        }),
                        (e.withTextFontFamily = function (t) {
                            return this.extend({ fontFamily: t, font: "" });
                        }),
                        (e.withTextFontWeight = function (t) {
                            return this.extend({ fontWeight: t, font: "" });
                        }),
                        (e.withTextFontShape = function (t) {
                            return this.extend({ fontShape: t, font: "" });
                        }),
                        (e.sizingClasses = function (t) {
                            return t.size !== this.size ? ["sizing", "reset-size" + t.size, "size" + this.size] : [];
                        }),
                        (e.baseSizingClasses = function () {
                            return this.size !== t.BASESIZE ? ["sizing", "reset-size" + this.size, "size" + t.BASESIZE] : [];
                        }),
                        (e.fontMetrics = function () {
                            return (
                                this._fontMetrics ||
                                    (this._fontMetrics = (function (t) {
                                        var e;
                                        if (!Y[(e = t >= 5 ? 0 : t >= 3 ? 1 : 2)]) {
                                            var r = (Y[e] = { cssEmPerMu: V.quad[e] / 18 });
                                            for (var a in V) V.hasOwnProperty(a) && (r[a] = V[a][e]);
                                        }
                                        return Y[e];
                                    })(this.size)),
                                this._fontMetrics
                            );
                        }),
                        (e.getColor = function () {
                            return this.phantom ? "transparent" : this.color;
                        }),
                        t
                    );
                })();
            kt.BASESIZE = 6;
            var St = kt,
                Mt = { pt: 1, mm: 7227 / 2540, cm: 7227 / 254, in: 72.27, bp: 1.00375, pc: 12, dd: 1238 / 1157, cc: 14856 / 1157, nd: 685 / 642, nc: 1370 / 107, sp: 1 / 65536, px: 1.00375 },
                zt = { ex: !0, em: !0, mu: !0 },
                At = function (t) {
                    return "string" != typeof t && (t = t.unit), t in Mt || t in zt || "ex" === t;
                },
                Tt = function (t, e) {
                    var r;
                    if (t.unit in Mt) r = Mt[t.unit] / e.fontMetrics().ptPerEm / e.sizeMultiplier;
                    else if ("mu" === t.unit) r = e.fontMetrics().cssEmPerMu;
                    else {
                        var a;
                        if (((a = e.style.isTight() ? e.havingStyle(e.style.text()) : e), "ex" === t.unit)) r = a.fontMetrics().xHeight;
                        else {
                            if ("em" !== t.unit) throw new o("Invalid unit: '" + t.unit + "'");
                            r = a.fontMetrics().quad;
                        }
                        a !== e && (r *= a.sizeMultiplier / e.sizeMultiplier);
                    }
                    return Math.min(t.number * r, e.maxSize);
                },
                Bt = ["\\imath", "\u0131", "\\jmath", "\u0237", "\\pounds", "\\mathsterling", "\\textsterling", "\xa3"],
                Ct = function (t, e, r) {
                    return j[r][t] && j[r][t].replace && (t = j[r][t].replace), { value: t, metrics: G(t, e, r) };
                },
                qt = function (t, e, r, a, n) {
                    var i,
                        o = Ct(t, e, r),
                        s = o.metrics;
                    if (((t = o.value), s)) {
                        var h = s.italic;
                        ("text" === r || (a && "mathit" === a.font)) && (h = 0), (i = new E(t, s.height, s.depth, h, s.skew, s.width, n));
                    } else "undefined" != typeof console && console.warn("No character metrics for '" + t + "' in style '" + e + "' and mode '" + r + "'"), (i = new E(t, 0, 0, 0, 0, 0, n));
                    if (a) {
                        (i.maxFontSize = a.sizeMultiplier), a.style.isTight() && i.classes.push("mtight");
                        var l = a.getColor();
                        l && (i.style.color = l);
                    }
                    return i;
                },
                Nt = function (t, e) {
                    if (T(t.classes) !== T(e.classes) || t.skew !== e.skew || t.maxFontSize !== e.maxFontSize) return !1;
                    for (var r in t.style) if (t.style.hasOwnProperty(r) && t.style[r] !== e.style[r]) return !1;
                    for (var a in e.style) if (e.style.hasOwnProperty(a) && t.style[a] !== e.style[a]) return !1;
                    return !0;
                },
                It = function (t) {
                    for (var e = 0, r = 0, a = 0, n = 0; n < t.children.length; n++) {
                        var i = t.children[n];
                        i.height > e && (e = i.height), i.depth > r && (r = i.depth), i.maxFontSize > a && (a = i.maxFontSize);
                    }
                    (t.height = e), (t.depth = r), (t.maxFontSize = a);
                },
                Rt = function (t, e, r, a) {
                    var n = new N(t, e, r, a);
                    return It(n), n;
                },
                Ot = function (t, e, r, a) {
                    return new N(t, e, r, a);
                },
                Et = function (t) {
                    var e = new A(t);
                    return It(e), e;
                },
                Lt = function (t, e, r) {
                    var a = "";
                    switch (t) {
                        case "amsrm":
                            a = "AMS";
                            break;
                        case "textrm":
                            a = "Main";
                            break;
                        case "textsf":
                            a = "SansSerif";
                            break;
                        case "texttt":
                            a = "Typewriter";
                            break;
                        default:
                            a = t;
                    }
                    return a + "-" + ("textbf" === e && "textit" === r ? "BoldItalic" : "textbf" === e ? "Bold" : "textit" === e ? "Italic" : "Regular");
                },
                Ht = {
                    mathbf: { variant: "bold", fontName: "Main-Bold" },
                    mathrm: { variant: "normal", fontName: "Main-Regular" },
                    textit: { variant: "italic", fontName: "Main-Italic" },
                    mathit: { variant: "italic", fontName: "Main-Italic" },
                    mathbb: { variant: "double-struck", fontName: "AMS-Regular" },
                    mathcal: { variant: "script", fontName: "Caligraphic-Regular" },
                    mathfrak: { variant: "fraktur", fontName: "Fraktur-Regular" },
                    mathscr: { variant: "script", fontName: "Script-Regular" },
                    mathsf: { variant: "sans-serif", fontName: "SansSerif-Regular" },
                    mathtt: { variant: "monospace", fontName: "Typewriter-Regular" },
                },
                Pt = { vec: ["vec", 0.471, 0.714], oiintSize1: ["oiintSize1", 0.957, 0.499], oiintSize2: ["oiintSize2", 1.472, 0.659], oiiintSize1: ["oiiintSize1", 1.304, 0.499], oiiintSize2: ["oiiintSize2", 1.98, 0.659] },
                Dt = {
                    fontMap: Ht,
                    makeSymbol: qt,
                    mathsym: function (t, e, r, a) {
                        return (
                            void 0 === a && (a = []),
                            "boldsymbol" === r.font && Ct(t, "Main-Bold", e).metrics
                                ? qt(t, "Main-Bold", e, r, a.concat(["mathbf"]))
                                : "\\" === t || "main" === j[e][t].font
                                ? qt(t, "Main-Regular", e, r, a)
                                : qt(t, "AMS-Regular", e, r, a.concat(["amsrm"]))
                        );
                    },
                    makeSpan: Rt,
                    makeSvgSpan: Ot,
                    makeLineSpan: function (t, e, r) {
                        var a = Rt([t], [], e);
                        return (a.height = Math.max(r || e.fontMetrics().defaultRuleThickness, e.minRuleThickness)), (a.style.borderBottomWidth = a.height + "em"), (a.maxFontSize = 1), a;
                    },
                    makeAnchor: function (t, e, r, a) {
                        var n = new I(t, e, r, a);
                        return It(n), n;
                    },
                    makeFragment: Et,
                    wrapFragment: function (t, e) {
                        return t instanceof A ? Rt([], [t], e) : t;
                    },
                    makeVList: function (t, e) {
                        for (
                            var r = (function (t) {
                                    if ("individualShift" === t.positionType) {
                                        for (var e = t.children, r = [e[0]], a = -e[0].shift - e[0].elem.depth, n = a, i = 1; i < e.length; i++) {
                                            var o = -e[i].shift - n - e[i].elem.depth,
                                                s = o - (e[i - 1].elem.height + e[i - 1].elem.depth);
                                            (n += o), r.push({ type: "kern", size: s }), r.push(e[i]);
                                        }
                                        return { children: r, depth: a };
                                    }
                                    var h;
                                    if ("top" === t.positionType) {
                                        for (var l = t.positionData, m = 0; m < t.children.length; m++) {
                                            var c = t.children[m];
                                            l -= "kern" === c.type ? c.size : c.elem.height + c.elem.depth;
                                        }
                                        h = l;
                                    } else if ("bottom" === t.positionType) h = -t.positionData;
                                    else {
                                        var u = t.children[0];
                                        if ("elem" !== u.type) throw new Error('First child must have type "elem".');
                                        if ("shift" === t.positionType) h = -u.elem.depth - t.positionData;
                                        else {
                                            if ("firstBaseline" !== t.positionType) throw new Error("Invalid positionType " + t.positionType + ".");
                                            h = -u.elem.depth;
                                        }
                                    }
                                    return { children: t.children, depth: h };
                                })(t),
                                a = r.children,
                                n = r.depth,
                                i = 0,
                                o = 0;
                            o < a.length;
                            o++
                        ) {
                            var s = a[o];
                            if ("elem" === s.type) {
                                var h = s.elem;
                                i = Math.max(i, h.maxFontSize, h.height);
                            }
                        }
                        i += 2;
                        var l = Rt(["pstrut"], []);
                        l.style.height = i + "em";
                        for (var m = [], c = n, u = n, p = n, d = 0; d < a.length; d++) {
                            var f = a[d];
                            if ("kern" === f.type) p += f.size;
                            else {
                                var g = f.elem,
                                    x = f.wrapperClasses || [],
                                    v = f.wrapperStyle || {},
                                    b = Rt(x, [l, g], void 0, v);
                                (b.style.top = -i - p - g.depth + "em"), f.marginLeft && (b.style.marginLeft = f.marginLeft), f.marginRight && (b.style.marginRight = f.marginRight), m.push(b), (p += g.height + g.depth);
                            }
                            (c = Math.min(c, p)), (u = Math.max(u, p));
                        }
                        var y,
                            w = Rt(["vlist"], m);
                        if (((w.style.height = u + "em"), c < 0)) {
                            var k = Rt([], []),
                                S = Rt(["vlist"], [k]);
                            S.style.height = -c + "em";
                            var M = Rt(["vlist-s"], [new E("\u200b")]);
                            y = [Rt(["vlist-r"], [w, M]), Rt(["vlist-r"], [S])];
                        } else y = [Rt(["vlist-r"], [w])];
                        var z = Rt(["vlist-t"], y);
                        return 2 === y.length && z.classes.push("vlist-t2"), (z.height = u), (z.depth = -c), z;
                    },
                    makeOrd: function (t, e, r) {
                        var a,
                            n = t.mode,
                            i = t.text,
                            s = ["mord"],
                            h = "math" === n || ("text" === n && e.font),
                            l = h ? e.font : e.fontFamily;
                        if (55349 === i.charCodeAt(0)) {
                            var m = (function (t, e) {
                                    var r = 1024 * (t.charCodeAt(0) - 55296) + (t.charCodeAt(1) - 56320) + 65536,
                                        a = "math" === e ? 0 : 1;
                                    if (119808 <= r && r < 120484) {
                                        var n = Math.floor((r - 119808) / 26);
                                        return [xt[n][2], xt[n][a]];
                                    }
                                    if (120782 <= r && r <= 120831) {
                                        var i = Math.floor((r - 120782) / 10);
                                        return [vt[i][2], vt[i][a]];
                                    }
                                    if (120485 === r || 120486 === r) return [xt[0][2], xt[0][a]];
                                    if (120486 < r && r < 120782) return ["", ""];
                                    throw new o("Unsupported character: " + t);
                                })(i, n),
                                u = m[0],
                                p = m[1];
                            return qt(i, u, n, e, s.concat(p));
                        }
                        if (l) {
                            var d, f;
                            if ("boldsymbol" === l || "mathnormal" === l) {
                                var g =
                                    "boldsymbol" === l
                                        ? (function (t, e, r, a) {
                                              return Ct(t, "Math-BoldItalic", e).metrics ? { fontName: "Math-BoldItalic", fontClass: "boldsymbol" } : { fontName: "Main-Bold", fontClass: "mathbf" };
                                          })(i, n)
                                        : ((a = i),
                                          c.contains(Bt, a)
                                              ? { fontName: "Main-Italic", fontClass: "mathit" }
                                              : /[0-9]/.test(a.charAt(0))
                                              ? { fontName: "Caligraphic-Regular", fontClass: "mathcal" }
                                              : { fontName: "Math-Italic", fontClass: "mathdefault" });
                                (d = g.fontName), (f = [g.fontClass]);
                            } else c.contains(Bt, i) ? ((d = "Main-Italic"), (f = ["mathit"])) : h ? ((d = Ht[l].fontName), (f = [l])) : ((d = Lt(l, e.fontWeight, e.fontShape)), (f = [l, e.fontWeight, e.fontShape]));
                            if (Ct(i, d, n).metrics) return qt(i, d, n, e, s.concat(f));
                            if (rt.hasOwnProperty(i) && "Typewriter" === d.substr(0, 10)) {
                                for (var x = [], v = 0; v < i.length; v++) x.push(qt(i[v], d, n, e, s.concat(f)));
                                return Et(x);
                            }
                        }
                        if ("mathord" === r) {
                            var b = (function (t, e, r, a) {
                                return /[0-9]/.test(t.charAt(0)) || c.contains(Bt, t) ? { fontName: "Main-Italic", fontClass: "mathit" } : { fontName: "Math-Italic", fontClass: "mathdefault" };
                            })(i);
                            return qt(i, b.fontName, n, e, s.concat([b.fontClass]));
                        }
                        if ("textord" === r) {
                            var y = j[n][i] && j[n][i].font;
                            if ("ams" === y) {
                                var w = Lt("amsrm", e.fontWeight, e.fontShape);
                                return qt(i, w, n, e, s.concat("amsrm", e.fontWeight, e.fontShape));
                            }
                            if ("main" !== y && y) {
                                var k = Lt(y, e.fontWeight, e.fontShape);
                                return qt(i, k, n, e, s.concat(k, e.fontWeight, e.fontShape));
                            }
                            var S = Lt("textrm", e.fontWeight, e.fontShape);
                            return qt(i, S, n, e, s.concat(e.fontWeight, e.fontShape));
                        }
                        throw new Error("unexpected type: " + r + " in makeOrd");
                    },
                    makeGlue: function (t, e) {
                        var r = Rt(["mspace"], [], e),
                            a = Tt(t, e);
                        return (r.style.marginRight = a + "em"), r;
                    },
                    staticSvg: function (t, e) {
                        var r = Pt[t],
                            a = r[0],
                            n = r[1],
                            i = r[2],
                            o = new H(a),
                            s = new L([o], { width: n + "em", height: i + "em", style: "width:" + n + "em", viewBox: "0 0 " + 1e3 * n + " " + 1e3 * i, preserveAspectRatio: "xMinYMin" }),
                            h = Ot(["overlay"], [s], e);
                        return (h.height = i), (h.style.height = i + "em"), (h.style.width = n + "em"), h;
                    },
                    svgData: Pt,
                    tryCombineChars: function (t) {
                        for (var e = 0; e < t.length - 1; e++) {
                            var r = t[e],
                                a = t[e + 1];
                            r instanceof E && a instanceof E && Nt(r, a) && ((r.text += a.text), (r.height = Math.max(r.height, a.height)), (r.depth = Math.max(r.depth, a.depth)), (r.italic = a.italic), t.splice(e + 1, 1), e--);
                        }
                        return t;
                    },
                };
            function Ft(t, e) {
                var r = Vt(t, e);
                if (!r) throw new Error("Expected node of type " + e + ", but got " + (t ? "node of type " + t.type : String(t)));
                return r;
            }
            function Vt(t, e) {
                return t && t.type === e ? t : null;
            }
            function Ut(t, e) {
                var r = (function (t, e) {
                    return t && "atom" === t.type && t.family === e ? t : null;
                })(t, e);
                if (!r) throw new Error('Expected node of type "atom" and family "' + e + '", but got ' + (t ? ("atom" === t.type ? "atom of family " + t.family : "node of type " + t.type) : String(t)));
                return r;
            }
            function Gt(t) {
                var e = Yt(t);
                if (!e) throw new Error("Expected node of symbol group type, but got " + (t ? "node of type " + t.type : String(t)));
                return e;
            }
            function Yt(t) {
                return t && ("atom" === t.type || X.hasOwnProperty(t.type)) ? t : null;
            }
            var Wt = { number: 3, unit: "mu" },
                Xt = { number: 4, unit: "mu" },
                _t = { number: 5, unit: "mu" },
                jt = {
                    mord: { mop: Wt, mbin: Xt, mrel: _t, minner: Wt },
                    mop: { mord: Wt, mop: Wt, mrel: _t, minner: Wt },
                    mbin: { mord: Xt, mop: Xt, mopen: Xt, minner: Xt },
                    mrel: { mord: _t, mop: _t, mopen: _t, minner: _t },
                    mopen: {},
                    mclose: { mop: Wt, mbin: Xt, mrel: _t, minner: Wt },
                    mpunct: { mord: Wt, mop: Wt, mrel: _t, mopen: Wt, mclose: Wt, mpunct: Wt, minner: Wt },
                    minner: { mord: Wt, mop: Wt, mbin: Xt, mrel: _t, mopen: Wt, mpunct: Wt, minner: Wt },
                },
                $t = { mord: { mop: Wt }, mop: { mord: Wt, mop: Wt }, mbin: {}, mrel: {}, mopen: {}, mclose: { mop: Wt }, mpunct: {}, minner: { mop: Wt } },
                Zt = {},
                Kt = {},
                Jt = {};
            function Qt(t) {
                for (
                    var e = t.type,
                        r = t.names,
                        a = t.props,
                        n = t.handler,
                        i = t.htmlBuilder,
                        o = t.mathmlBuilder,
                        s = {
                            type: e,
                            numArgs: a.numArgs,
                            argTypes: a.argTypes,
                            greediness: void 0 === a.greediness ? 1 : a.greediness,
                            allowedInText: !!a.allowedInText,
                            allowedInMath: void 0 === a.allowedInMath || a.allowedInMath,
                            numOptionalArgs: a.numOptionalArgs || 0,
                            infix: !!a.infix,
                            handler: n,
                        },
                        h = 0;
                    h < r.length;
                    ++h
                )
                    Zt[r[h]] = s;
                e && (i && (Kt[e] = i), o && (Jt[e] = o));
            }
            function te(t) {
                Qt({
                    type: t.type,
                    names: [],
                    props: { numArgs: 0 },
                    handler: function () {
                        throw new Error("Should never be called.");
                    },
                    htmlBuilder: t.htmlBuilder,
                    mathmlBuilder: t.mathmlBuilder,
                });
            }
            var ee = function (t) {
                    var e = Vt(t, "ordgroup");
                    return e ? e.body : [t];
                },
                re = Dt.makeSpan,
                ae = ["leftmost", "mbin", "mopen", "mrel", "mop", "mpunct"],
                ne = ["rightmost", "mrel", "mclose", "mpunct"],
                ie = { display: w.DISPLAY, text: w.TEXT, script: w.SCRIPT, scriptscript: w.SCRIPTSCRIPT },
                oe = { mord: "mord", mop: "mop", mbin: "mbin", mrel: "mrel", mopen: "mopen", mclose: "mclose", mpunct: "mpunct", minner: "minner" },
                se = function (t, e, r, a) {
                    void 0 === a && (a = [null, null]);
                    for (var n = [], i = 0; i < t.length; i++) {
                        var o = ue(t[i], e);
                        if (o instanceof A) {
                            var s = o.children;
                            n.push.apply(n, s);
                        } else n.push(o);
                    }
                    if (!r) return n;
                    var h = e;
                    if (1 === t.length) {
                        var l = Vt(t[0], "sizing") || Vt(t[0], "styling");
                        l && ("sizing" === l.type ? (h = e.havingSize(l.size)) : "styling" === l.type && (h = e.havingStyle(ie[l.style])));
                    }
                    var m = re([a[0] || "leftmost"], [], e),
                        u = re([a[1] || "rightmost"], [], e);
                    return (
                        he(
                            n,
                            function (t, e) {
                                var r = e.classes[0],
                                    a = t.classes[0];
                                "mbin" === r && c.contains(ne, a) ? (e.classes[0] = "mord") : "mbin" === a && c.contains(ae, r) && (t.classes[0] = "mord");
                            },
                            { node: m },
                            u
                        ),
                        he(
                            n,
                            function (t, e) {
                                var r = me(e),
                                    a = me(t),
                                    n = r && a ? (t.hasClass("mtight") ? $t[r][a] : jt[r][a]) : null;
                                if (n) return Dt.makeGlue(n, h);
                            },
                            { node: m },
                            u
                        ),
                        n
                    );
                },
                he = function t(e, r, a, n) {
                    n && e.push(n);
                    for (var i = 0; i < e.length; i++) {
                        var o = e[i],
                            s = le(o);
                        if (s) t(s.children, r, a);
                        else if ("mspace" !== o.classes[0]) {
                            var h = r(o, a.node);
                            h && (a.insertAfter ? a.insertAfter(h) : (e.unshift(h), i++)),
                                (a.node = o),
                                (a.insertAfter = (function (t) {
                                    return function (r) {
                                        e.splice(t + 1, 0, r), i++;
                                    };
                                })(i));
                        }
                    }
                    n && e.pop();
                },
                le = function (t) {
                    return t instanceof A || t instanceof I ? t : null;
                },
                me = function (t, e) {
                    return t
                        ? (e &&
                              (t = (function t(e, r) {
                                  var a = le(e);
                                  if (a) {
                                      var n = a.children;
                                      if (n.length) {
                                          if ("right" === r) return t(n[n.length - 1], "right");
                                          if ("left" === r) return t(n[0], "left");
                                      }
                                  }
                                  return e;
                              })(t, e)),
                          oe[t.classes[0]] || null)
                        : null;
                },
                ce = function (t, e) {
                    var r = ["nulldelimiter"].concat(t.baseSizingClasses());
                    return re(e.concat(r));
                },
                ue = function (t, e, r) {
                    if (!t) return re();
                    if (Kt[t.type]) {
                        var a = Kt[t.type](t, e);
                        if (r && e.size !== r.size) {
                            a = re(e.sizingClasses(r), [a], e);
                            var n = e.sizeMultiplier / r.sizeMultiplier;
                            (a.height *= n), (a.depth *= n);
                        }
                        return a;
                    }
                    throw new o("Got group of unknown type: '" + t.type + "'");
                };
            function pe(t, e) {
                var r = re(["base"], t, e),
                    a = re(["strut"]);
                return (a.style.height = r.height + r.depth + "em"), (a.style.verticalAlign = -r.depth + "em"), r.children.unshift(a), r;
            }
            function de(t, e) {
                var r = null;
                1 === t.length && "tag" === t[0].type && ((r = t[0].tag), (t = t[0].body));
                for (var a, n = se(t, e, !0), i = [], o = [], s = 0; s < n.length; s++)
                    if ((o.push(n[s]), n[s].hasClass("mbin") || n[s].hasClass("mrel") || n[s].hasClass("allowbreak"))) {
                        for (var h = !1; s < n.length - 1 && n[s + 1].hasClass("mspace") && !n[s + 1].hasClass("newline"); ) s++, o.push(n[s]), n[s].hasClass("nobreak") && (h = !0);
                        h || (i.push(pe(o, e)), (o = []));
                    } else n[s].hasClass("newline") && (o.pop(), o.length > 0 && (i.push(pe(o, e)), (o = [])), i.push(n[s]));
                o.length > 0 && i.push(pe(o, e)), r && (((a = pe(se(r, e, !0))).classes = ["tag"]), i.push(a));
                var l = re(["katex-html"], i);
                if ((l.setAttribute("aria-hidden", "true"), a)) {
                    var m = a.children[0];
                    (m.style.height = l.height + l.depth + "em"), (m.style.verticalAlign = -l.depth + "em");
                }
                return l;
            }
            function fe(t) {
                return new A(t);
            }
            var ge = (function () {
                    function t(t, e) {
                        (this.type = void 0), (this.attributes = void 0), (this.children = void 0), (this.type = t), (this.attributes = {}), (this.children = e || []);
                    }
                    var e = t.prototype;
                    return (
                        (e.setAttribute = function (t, e) {
                            this.attributes[t] = e;
                        }),
                        (e.getAttribute = function (t) {
                            return this.attributes[t];
                        }),
                        (e.toNode = function () {
                            var t = document.createElementNS("http://www.w3.org/1998/Math/MathML", this.type);
                            for (var e in this.attributes) Object.prototype.hasOwnProperty.call(this.attributes, e) && t.setAttribute(e, this.attributes[e]);
                            for (var r = 0; r < this.children.length; r++) t.appendChild(this.children[r].toNode());
                            return t;
                        }),
                        (e.toMarkup = function () {
                            var t = "<" + this.type;
                            for (var e in this.attributes) Object.prototype.hasOwnProperty.call(this.attributes, e) && ((t += " " + e + '="'), (t += c.escape(this.attributes[e])), (t += '"'));
                            t += ">";
                            for (var r = 0; r < this.children.length; r++) t += this.children[r].toMarkup();
                            return (t += "</" + this.type + ">");
                        }),
                        (e.toText = function () {
                            return this.children
                                .map(function (t) {
                                    return t.toText();
                                })
                                .join("");
                        }),
                        t
                    );
                })(),
                xe = (function () {
                    function t(t) {
                        (this.text = void 0), (this.text = t);
                    }
                    var e = t.prototype;
                    return (
                        (e.toNode = function () {
                            return document.createTextNode(this.text);
                        }),
                        (e.toMarkup = function () {
                            return c.escape(this.toText());
                        }),
                        (e.toText = function () {
                            return this.text;
                        }),
                        t
                    );
                })(),
                ve = {
                    MathNode: ge,
                    TextNode: xe,
                    SpaceNode: (function () {
                        function t(t) {
                            (this.width = void 0),
                                (this.character = void 0),
                                (this.width = t),
                                (this.character =
                                    t >= 0.05555 && t <= 0.05556
                                        ? "\u200a"
                                        : t >= 0.1666 && t <= 0.1667
                                        ? "\u2009"
                                        : t >= 0.2222 && t <= 0.2223
                                        ? "\u2005"
                                        : t >= 0.2777 && t <= 0.2778
                                        ? "\u2005\u200a"
                                        : t >= -0.05556 && t <= -0.05555
                                        ? "\u200a\u2063"
                                        : t >= -0.1667 && t <= -0.1666
                                        ? "\u2009\u2063"
                                        : t >= -0.2223 && t <= -0.2222
                                        ? "\u205f\u2063"
                                        : t >= -0.2778 && t <= -0.2777
                                        ? "\u2005\u2063"
                                        : null);
                        }
                        var e = t.prototype;
                        return (
                            (e.toNode = function () {
                                if (this.character) return document.createTextNode(this.character);
                                var t = document.createElementNS("http://www.w3.org/1998/Math/MathML", "mspace");
                                return t.setAttribute("width", this.width + "em"), t;
                            }),
                            (e.toMarkup = function () {
                                return this.character ? "<mtext>" + this.character + "</mtext>" : '<mspace width="' + this.width + 'em"/>';
                            }),
                            (e.toText = function () {
                                return this.character ? this.character : " ";
                            }),
                            t
                        );
                    })(),
                    newDocumentFragment: fe,
                },
                be = function (t, e, r) {
                    return (
                        !j[e][t] || !j[e][t].replace || 55349 === t.charCodeAt(0) || (rt.hasOwnProperty(t) && r && ((r.fontFamily && "tt" === r.fontFamily.substr(4, 2)) || (r.font && "tt" === r.font.substr(4, 2)))) || (t = j[e][t].replace),
                        new ve.TextNode(t)
                    );
                },
                ye = function (t) {
                    return 1 === t.length ? t[0] : new ve.MathNode("mrow", t);
                },
                we = function (t, e) {
                    if ("texttt" === e.fontFamily) return "monospace";
                    if ("textsf" === e.fontFamily)
                        return "textit" === e.fontShape && "textbf" === e.fontWeight ? "sans-serif-bold-italic" : "textit" === e.fontShape ? "sans-serif-italic" : "textbf" === e.fontWeight ? "bold-sans-serif" : "sans-serif";
                    if ("textit" === e.fontShape && "textbf" === e.fontWeight) return "bold-italic";
                    if ("textit" === e.fontShape) return "italic";
                    if ("textbf" === e.fontWeight) return "bold";
                    var r = e.font;
                    if (!r || "mathnormal" === r) return null;
                    var a = t.mode;
                    if ("mathit" === r) return "italic";
                    if ("boldsymbol" === r) return "bold-italic";
                    if ("mathbf" === r) return "bold";
                    if ("mathbb" === r) return "double-struck";
                    if ("mathfrak" === r) return "fraktur";
                    if ("mathscr" === r || "mathcal" === r) return "script";
                    if ("mathsf" === r) return "sans-serif";
                    if ("mathtt" === r) return "monospace";
                    var n = t.text;
                    return c.contains(["\\imath", "\\jmath"], n) ? null : (j[a][n] && j[a][n].replace && (n = j[a][n].replace), G(n, Dt.fontMap[r].fontName, a) ? Dt.fontMap[r].variant : null);
                },
                ke = function (t, e, r) {
                    if (1 === t.length) {
                        var a = Me(t[0], e);
                        return r && a instanceof ge && "mo" === a.type && (a.setAttribute("lspace", "0em"), a.setAttribute("rspace", "0em")), [a];
                    }
                    for (var n, i = [], o = 0; o < t.length; o++) {
                        var s = Me(t[o], e);
                        if (s instanceof ge && n instanceof ge) {
                            if ("mtext" === s.type && "mtext" === n.type && s.getAttribute("mathvariant") === n.getAttribute("mathvariant")) {
                                var h;
                                (h = n.children).push.apply(h, s.children);
                                continue;
                            }
                            if ("mn" === s.type && "mn" === n.type) {
                                var l;
                                (l = n.children).push.apply(l, s.children);
                                continue;
                            }
                            if ("mi" === s.type && 1 === s.children.length && "mn" === n.type) {
                                var m = s.children[0];
                                if (m instanceof xe && "." === m.text) {
                                    var c;
                                    (c = n.children).push.apply(c, s.children);
                                    continue;
                                }
                            } else if ("mi" === n.type && 1 === n.children.length) {
                                var u = n.children[0];
                                if (u instanceof xe && "\u0338" === u.text && ("mo" === s.type || "mi" === s.type || "mn" === s.type)) {
                                    var p = s.children[0];
                                    p instanceof xe && p.text.length > 0 && ((p.text = p.text.slice(0, 1) + "\u0338" + p.text.slice(1)), i.pop());
                                }
                            }
                        }
                        i.push(s), (n = s);
                    }
                    return i;
                },
                Se = function (t, e, r) {
                    return ye(ke(t, e, r));
                },
                Me = function (t, e) {
                    if (!t) return new ve.MathNode("mrow");
                    if (Jt[t.type]) return Jt[t.type](t, e);
                    throw new o("Got group of unknown type: '" + t.type + "'");
                };
            function ze(t, e, r, a) {
                var n,
                    i = ke(t, r);
                n = 1 === i.length && i[0] instanceof ge && c.contains(["mrow", "mtable"], i[0].type) ? i[0] : new ve.MathNode("mrow", i);
                var o = new ve.MathNode("annotation", [new ve.TextNode(e)]);
                o.setAttribute("encoding", "application/x-tex");
                var s = new ve.MathNode("semantics", [n, o]),
                    h = new ve.MathNode("math", [s]);
                h.setAttribute("xmlns", "http://www.w3.org/1998/Math/MathML");
                var l = a ? "katex" : "katex-mathml";
                return Dt.makeSpan([l], [h]);
            }
            var Ae = function (t) {
                    return new St({ style: t.displayMode ? w.DISPLAY : w.TEXT, maxSize: t.maxSize, minRuleThickness: t.minRuleThickness });
                },
                Te = function (t, e) {
                    if (e.displayMode) {
                        var r = ["katex-display"];
                        e.leqno && r.push("leqno"), e.fleqn && r.push("fleqn"), (t = Dt.makeSpan(r, [t]));
                    }
                    return t;
                },
                Be = function (t, e, r) {
                    var a,
                        n = Ae(r);
                    if ("mathml" === r.output) return ze(t, e, n, !0);
                    if ("html" === r.output) {
                        var i = de(t, n);
                        a = Dt.makeSpan(["katex"], [i]);
                    } else {
                        var o = ze(t, e, n, !1),
                            s = de(t, n);
                        a = Dt.makeSpan(["katex"], [o, s]);
                    }
                    return Te(a, r);
                },
                Ce = {
                    widehat: "^",
                    widecheck: "\u02c7",
                    widetilde: "~",
                    utilde: "~",
                    overleftarrow: "\u2190",
                    underleftarrow: "\u2190",
                    xleftarrow: "\u2190",
                    overrightarrow: "\u2192",
                    underrightarrow: "\u2192",
                    xrightarrow: "\u2192",
                    underbrace: "\u23df",
                    overbrace: "\u23de",
                    overgroup: "\u23e0",
                    undergroup: "\u23e1",
                    overleftrightarrow: "\u2194",
                    underleftrightarrow: "\u2194",
                    xleftrightarrow: "\u2194",
                    Overrightarrow: "\u21d2",
                    xRightarrow: "\u21d2",
                    overleftharpoon: "\u21bc",
                    xleftharpoonup: "\u21bc",
                    overrightharpoon: "\u21c0",
                    xrightharpoonup: "\u21c0",
                    xLeftarrow: "\u21d0",
                    xLeftrightarrow: "\u21d4",
                    xhookleftarrow: "\u21a9",
                    xhookrightarrow: "\u21aa",
                    xmapsto: "\u21a6",
                    xrightharpoondown: "\u21c1",
                    xleftharpoondown: "\u21bd",
                    xrightleftharpoons: "\u21cc",
                    xleftrightharpoons: "\u21cb",
                    xtwoheadleftarrow: "\u219e",
                    xtwoheadrightarrow: "\u21a0",
                    xlongequal: "=",
                    xtofrom: "\u21c4",
                    xrightleftarrows: "\u21c4",
                    xrightequilibrium: "\u21cc",
                    xleftequilibrium: "\u21cb",
                },
                qe = {
                    overrightarrow: [["rightarrow"], 0.888, 522, "xMaxYMin"],
                    overleftarrow: [["leftarrow"], 0.888, 522, "xMinYMin"],
                    underrightarrow: [["rightarrow"], 0.888, 522, "xMaxYMin"],
                    underleftarrow: [["leftarrow"], 0.888, 522, "xMinYMin"],
                    xrightarrow: [["rightarrow"], 1.469, 522, "xMaxYMin"],
                    xleftarrow: [["leftarrow"], 1.469, 522, "xMinYMin"],
                    Overrightarrow: [["doublerightarrow"], 0.888, 560, "xMaxYMin"],
                    xRightarrow: [["doublerightarrow"], 1.526, 560, "xMaxYMin"],
                    xLeftarrow: [["doubleleftarrow"], 1.526, 560, "xMinYMin"],
                    overleftharpoon: [["leftharpoon"], 0.888, 522, "xMinYMin"],
                    xleftharpoonup: [["leftharpoon"], 0.888, 522, "xMinYMin"],
                    xleftharpoondown: [["leftharpoondown"], 0.888, 522, "xMinYMin"],
                    overrightharpoon: [["rightharpoon"], 0.888, 522, "xMaxYMin"],
                    xrightharpoonup: [["rightharpoon"], 0.888, 522, "xMaxYMin"],
                    xrightharpoondown: [["rightharpoondown"], 0.888, 522, "xMaxYMin"],
                    xlongequal: [["longequal"], 0.888, 334, "xMinYMin"],
                    xtwoheadleftarrow: [["twoheadleftarrow"], 0.888, 334, "xMinYMin"],
                    xtwoheadrightarrow: [["twoheadrightarrow"], 0.888, 334, "xMaxYMin"],
                    overleftrightarrow: [["leftarrow", "rightarrow"], 0.888, 522],
                    overbrace: [["leftbrace", "midbrace", "rightbrace"], 1.6, 548],
                    underbrace: [["leftbraceunder", "midbraceunder", "rightbraceunder"], 1.6, 548],
                    underleftrightarrow: [["leftarrow", "rightarrow"], 0.888, 522],
                    xleftrightarrow: [["leftarrow", "rightarrow"], 1.75, 522],
                    xLeftrightarrow: [["doubleleftarrow", "doublerightarrow"], 1.75, 560],
                    xrightleftharpoons: [["leftharpoondownplus", "rightharpoonplus"], 1.75, 716],
                    xleftrightharpoons: [["leftharpoonplus", "rightharpoondownplus"], 1.75, 716],
                    xhookleftarrow: [["leftarrow", "righthook"], 1.08, 522],
                    xhookrightarrow: [["lefthook", "rightarrow"], 1.08, 522],
                    overlinesegment: [["leftlinesegment", "rightlinesegment"], 0.888, 522],
                    underlinesegment: [["leftlinesegment", "rightlinesegment"], 0.888, 522],
                    overgroup: [["leftgroup", "rightgroup"], 0.888, 342],
                    undergroup: [["leftgroupunder", "rightgroupunder"], 0.888, 342],
                    xmapsto: [["leftmapsto", "rightarrow"], 1.5, 522],
                    xtofrom: [["leftToFrom", "rightToFrom"], 1.75, 528],
                    xrightleftarrows: [["baraboveleftarrow", "rightarrowabovebar"], 1.75, 901],
                    xrightequilibrium: [["baraboveshortleftharpoon", "rightharpoonaboveshortbar"], 1.75, 716],
                    xleftequilibrium: [["shortbaraboveleftharpoon", "shortrightharpoonabovebar"], 1.75, 716],
                },
                Ne = function (t) {
                    return "ordgroup" === t.type ? t.body.length : 1;
                },
                Ie = function (t, e, r, a) {
                    var n,
                        i = t.height + t.depth + 2 * r;
                    if (/fbox|color/.test(e)) {
                        if (((n = Dt.makeSpan(["stretchy", e], [], a)), "fbox" === e)) {
                            var o = a.color && a.getColor();
                            o && (n.style.borderColor = o);
                        }
                    } else {
                        var s = [];
                        /^[bx]cancel$/.test(e) && s.push(new P({ x1: "0", y1: "0", x2: "100%", y2: "100%", "stroke-width": "0.046em" })),
                            /^x?cancel$/.test(e) && s.push(new P({ x1: "0", y1: "100%", x2: "100%", y2: "0", "stroke-width": "0.046em" }));
                        var h = new L(s, { width: "100%", height: i + "em" });
                        n = Dt.makeSvgSpan([], [h], a);
                    }
                    return (n.height = i), (n.style.height = i + "em"), n;
                },
                Re = function (t) {
                    var e = new ve.MathNode("mo", [new ve.TextNode(Ce[t.substr(1)])]);
                    return e.setAttribute("stretchy", "true"), e;
                },
                Oe = function (t, e) {
                    var r = (function () {
                            var r = 4e5,
                                a = t.label.substr(1);
                            if (c.contains(["widehat", "widecheck", "widetilde", "utilde"], a)) {
                                var n,
                                    i,
                                    o,
                                    s = Ne(t.base);
                                if (s > 5) "widehat" === a || "widecheck" === a ? ((n = 420), (r = 2364), (o = 0.42), (i = a + "4")) : ((n = 312), (r = 2340), (o = 0.34), (i = "tilde4"));
                                else {
                                    var h = [1, 1, 2, 2, 3, 3][s];
                                    "widehat" === a || "widecheck" === a
                                        ? ((r = [0, 1062, 2364, 2364, 2364][h]), (n = [0, 239, 300, 360, 420][h]), (o = [0, 0.24, 0.3, 0.3, 0.36, 0.42][h]), (i = a + h))
                                        : ((r = [0, 600, 1033, 2339, 2340][h]), (n = [0, 260, 286, 306, 312][h]), (o = [0, 0.26, 0.286, 0.3, 0.306, 0.34][h]), (i = "tilde" + h));
                                }
                                var l = new H(i),
                                    m = new L([l], { width: "100%", height: o + "em", viewBox: "0 0 " + r + " " + n, preserveAspectRatio: "none" });
                                return { span: Dt.makeSvgSpan([], [m], e), minWidth: 0, height: o };
                            }
                            var u,
                                p,
                                d = [],
                                f = qe[a],
                                g = f[0],
                                x = f[1],
                                v = f[2],
                                b = v / 1e3,
                                y = g.length;
                            if (1 === y) (u = ["hide-tail"]), (p = [f[3]]);
                            else if (2 === y) (u = ["halfarrow-left", "halfarrow-right"]), (p = ["xMinYMin", "xMaxYMin"]);
                            else {
                                if (3 !== y) throw new Error("Correct katexImagesData or update code here to support\n                    " + y + " children.");
                                (u = ["brace-left", "brace-center", "brace-right"]), (p = ["xMinYMin", "xMidYMin", "xMaxYMin"]);
                            }
                            for (var w = 0; w < y; w++) {
                                var k = new H(g[w]),
                                    S = new L([k], { width: "400em", height: b + "em", viewBox: "0 0 " + r + " " + v, preserveAspectRatio: p[w] + " slice" }),
                                    M = Dt.makeSvgSpan([u[w]], [S], e);
                                if (1 === y) return { span: M, minWidth: x, height: b };
                                (M.style.height = b + "em"), d.push(M);
                            }
                            return { span: Dt.makeSpan(["stretchy"], d, e), minWidth: x, height: b };
                        })(),
                        a = r.span,
                        n = r.minWidth,
                        i = r.height;
                    return (a.height = i), (a.style.height = i + "em"), n > 0 && (a.style.minWidth = n + "em"), a;
                },
                Ee = function (t, e) {
                    var r,
                        a,
                        n,
                        i = Vt(t, "supsub");
                    i
                        ? ((r = (a = Ft(i.base, "accent")).base),
                          (i.base = r),
                          (n = (function (t) {
                              if (t instanceof N) return t;
                              throw new Error("Expected span<HtmlDomNode> but got " + String(t) + ".");
                          })(ue(i, e))),
                          (i.base = a))
                        : (r = (a = Ft(t, "accent")).base);
                    var o = ue(r, e.havingCrampedStyle()),
                        s = 0;
                    if (a.isShifty && c.isCharacterBox(r)) {
                        var h = c.getBaseElem(r);
                        s = D(ue(h, e.havingCrampedStyle())).skew;
                    }
                    var l,
                        m = Math.min(o.height, e.fontMetrics().xHeight);
                    if (a.isStretchy)
                        (l = Oe(a, e)),
                            (l = Dt.makeVList(
                                {
                                    positionType: "firstBaseline",
                                    children: [
                                        { type: "elem", elem: o },
                                        { type: "elem", elem: l, wrapperClasses: ["svg-align"], wrapperStyle: s > 0 ? { width: "calc(100% - " + 2 * s + "em)", marginLeft: 2 * s + "em" } : void 0 },
                                    ],
                                },
                                e
                            ));
                    else {
                        var u, p;
                        "\\vec" === a.label ? ((u = Dt.staticSvg("vec", e)), (p = Dt.svgData.vec[1])) : (((u = D((u = Dt.makeOrd({ mode: a.mode, text: a.label }, e, "textord")))).italic = 0), (p = u.width)),
                            (l = Dt.makeSpan(["accent-body"], [u]));
                        var d = "\\textcircled" === a.label;
                        d && (l.classes.push("accent-full"), (m = o.height));
                        var f = s;
                        d || (f -= p / 2),
                            (l.style.left = f + "em"),
                            "\\textcircled" === a.label && (l.style.top = ".2em"),
                            (l = Dt.makeVList(
                                {
                                    positionType: "firstBaseline",
                                    children: [
                                        { type: "elem", elem: o },
                                        { type: "kern", size: -m },
                                        { type: "elem", elem: l },
                                    ],
                                },
                                e
                            ));
                    }
                    var g = Dt.makeSpan(["mord", "accent"], [l], e);
                    return n ? ((n.children[0] = g), (n.height = Math.max(g.height, n.height)), (n.classes[0] = "mord"), n) : g;
                },
                Le = function (t, e) {
                    var r = t.isStretchy ? Re(t.label) : new ve.MathNode("mo", [be(t.label, t.mode)]),
                        a = new ve.MathNode("mover", [Me(t.base, e), r]);
                    return a.setAttribute("accent", "true"), a;
                },
                He = new RegExp(
                    ["\\acute", "\\grave", "\\ddot", "\\tilde", "\\bar", "\\breve", "\\check", "\\hat", "\\vec", "\\dot", "\\mathring"]
                        .map(function (t) {
                            return "\\" + t;
                        })
                        .join("|")
                );
            Qt({
                type: "accent",
                names: [
                    "\\acute",
                    "\\grave",
                    "\\ddot",
                    "\\tilde",
                    "\\bar",
                    "\\breve",
                    "\\check",
                    "\\hat",
                    "\\vec",
                    "\\dot",
                    "\\mathring",
                    "\\widecheck",
                    "\\widehat",
                    "\\widetilde",
                    "\\overrightarrow",
                    "\\overleftarrow",
                    "\\Overrightarrow",
                    "\\overleftrightarrow",
                    "\\overgroup",
                    "\\overlinesegment",
                    "\\overleftharpoon",
                    "\\overrightharpoon",
                ],
                props: { numArgs: 1 },
                handler: function (t, e) {
                    var r = e[0],
                        a = !He.test(t.funcName),
                        n = !a || "\\widehat" === t.funcName || "\\widetilde" === t.funcName || "\\widecheck" === t.funcName;
                    return { type: "accent", mode: t.parser.mode, label: t.funcName, isStretchy: a, isShifty: n, base: r };
                },
                htmlBuilder: Ee,
                mathmlBuilder: Le,
            }),
                Qt({
                    type: "accent",
                    names: ["\\'", "\\`", "\\^", "\\~", "\\=", "\\u", "\\.", '\\"', "\\r", "\\H", "\\v", "\\textcircled"],
                    props: { numArgs: 1, allowedInText: !0, allowedInMath: !1 },
                    handler: function (t, e) {
                        var r = e[0];
                        return { type: "accent", mode: t.parser.mode, label: t.funcName, isStretchy: !1, isShifty: !0, base: r };
                    },
                    htmlBuilder: Ee,
                    mathmlBuilder: Le,
                }),
                Qt({
                    type: "accentUnder",
                    names: ["\\underleftarrow", "\\underrightarrow", "\\underleftrightarrow", "\\undergroup", "\\underlinesegment", "\\utilde"],
                    props: { numArgs: 1 },
                    handler: function (t, e) {
                        var r = t.parser,
                            a = t.funcName,
                            n = e[0];
                        return { type: "accentUnder", mode: r.mode, label: a, base: n };
                    },
                    htmlBuilder: function (t, e) {
                        var r = ue(t.base, e),
                            a = Oe(t, e),
                            n = "\\utilde" === t.label ? 0.12 : 0,
                            i = Dt.makeVList(
                                {
                                    positionType: "bottom",
                                    positionData: a.height + n,
                                    children: [
                                        { type: "elem", elem: a, wrapperClasses: ["svg-align"] },
                                        { type: "kern", size: n },
                                        { type: "elem", elem: r },
                                    ],
                                },
                                e
                            );
                        return Dt.makeSpan(["mord", "accentunder"], [i], e);
                    },
                    mathmlBuilder: function (t, e) {
                        var r = Re(t.label),
                            a = new ve.MathNode("munder", [Me(t.base, e), r]);
                        return a.setAttribute("accentunder", "true"), a;
                    },
                });
            var Pe = function (t) {
                var e = new ve.MathNode("mpadded", t ? [t] : []);
                return e.setAttribute("width", "+0.6em"), e.setAttribute("lspace", "0.3em"), e;
            };
            Qt({
                type: "xArrow",
                names: [
                    "\\xleftarrow",
                    "\\xrightarrow",
                    "\\xLeftarrow",
                    "\\xRightarrow",
                    "\\xleftrightarrow",
                    "\\xLeftrightarrow",
                    "\\xhookleftarrow",
                    "\\xhookrightarrow",
                    "\\xmapsto",
                    "\\xrightharpoondown",
                    "\\xrightharpoonup",
                    "\\xleftharpoondown",
                    "\\xleftharpoonup",
                    "\\xrightleftharpoons",
                    "\\xleftrightharpoons",
                    "\\xlongequal",
                    "\\xtwoheadrightarrow",
                    "\\xtwoheadleftarrow",
                    "\\xtofrom",
                    "\\xrightleftarrows",
                    "\\xrightequilibrium",
                    "\\xleftequilibrium",
                ],
                props: { numArgs: 1, numOptionalArgs: 1 },
                handler: function (t, e, r) {
                    var a = t.parser,
                        n = t.funcName;
                    return { type: "xArrow", mode: a.mode, label: n, body: e[0], below: r[0] };
                },
                htmlBuilder: function (t, e) {
                    var r,
                        a = e.style,
                        n = e.havingStyle(a.sup()),
                        i = Dt.wrapFragment(ue(t.body, n, e), e);
                    i.classes.push("x-arrow-pad"), t.below && ((n = e.havingStyle(a.sub())), (r = Dt.wrapFragment(ue(t.below, n, e), e)).classes.push("x-arrow-pad"));
                    var o,
                        s = Oe(t, e),
                        h = -e.fontMetrics().axisHeight + 0.5 * s.height,
                        l = -e.fontMetrics().axisHeight - 0.5 * s.height - 0.111;
                    if (((i.depth > 0.25 || "\\xleftequilibrium" === t.label) && (l -= i.depth), r)) {
                        var m = -e.fontMetrics().axisHeight + r.height + 0.5 * s.height + 0.111;
                        o = Dt.makeVList(
                            {
                                positionType: "individualShift",
                                children: [
                                    { type: "elem", elem: i, shift: l },
                                    { type: "elem", elem: s, shift: h },
                                    { type: "elem", elem: r, shift: m },
                                ],
                            },
                            e
                        );
                    } else
                        o = Dt.makeVList(
                            {
                                positionType: "individualShift",
                                children: [
                                    { type: "elem", elem: i, shift: l },
                                    { type: "elem", elem: s, shift: h },
                                ],
                            },
                            e
                        );
                    return o.children[0].children[0].children[1].classes.push("svg-align"), Dt.makeSpan(["mrel", "x-arrow"], [o], e);
                },
                mathmlBuilder: function (t, e) {
                    var r,
                        a = Re(t.label);
                    if (t.body) {
                        var n = Pe(Me(t.body, e));
                        if (t.below) {
                            var i = Pe(Me(t.below, e));
                            r = new ve.MathNode("munderover", [a, i, n]);
                        } else r = new ve.MathNode("mover", [a, n]);
                    } else if (t.below) {
                        var o = Pe(Me(t.below, e));
                        r = new ve.MathNode("munder", [a, o]);
                    } else (r = Pe()), (r = new ve.MathNode("mover", [a, r]));
                    return r;
                },
            }),
                Qt({
                    type: "textord",
                    names: ["\\@char"],
                    props: { numArgs: 1, allowedInText: !0 },
                    handler: function (t, e) {
                        for (var r = t.parser, a = Ft(e[0], "ordgroup").body, n = "", i = 0; i < a.length; i++) {
                            n += Ft(a[i], "textord").text;
                        }
                        var s = parseInt(n);
                        if (isNaN(s)) throw new o("\\@char has non-numeric argument " + n);
                        return { type: "textord", mode: r.mode, text: String.fromCharCode(s) };
                    },
                });
            var De = function (t, e) {
                    var r = se(t.body, e.withColor(t.color), !1);
                    return Dt.makeFragment(r);
                },
                Fe = function (t, e) {
                    var r = ke(t.body, e.withColor(t.color)),
                        a = new ve.MathNode("mstyle", r);
                    return a.setAttribute("mathcolor", t.color), a;
                };
            Qt({
                type: "color",
                names: ["\\textcolor"],
                props: { numArgs: 2, allowedInText: !0, greediness: 3, argTypes: ["color", "original"] },
                handler: function (t, e) {
                    var r = t.parser,
                        a = Ft(e[0], "color-token").color,
                        n = e[1];
                    return { type: "color", mode: r.mode, color: a, body: ee(n) };
                },
                htmlBuilder: De,
                mathmlBuilder: Fe,
            }),
                Qt({
                    type: "color",
                    names: ["\\color"],
                    props: { numArgs: 1, allowedInText: !0, greediness: 3, argTypes: ["color"] },
                    handler: function (t, e) {
                        var r = t.parser,
                            a = t.breakOnTokenText,
                            n = Ft(e[0], "color-token").color;
                        r.gullet.macros.set("\\current@color", n);
                        var i = r.parseExpression(!0, a);
                        return { type: "color", mode: r.mode, color: n, body: i };
                    },
                    htmlBuilder: De,
                    mathmlBuilder: Fe,
                }),
                Qt({
                    type: "cr",
                    names: ["\\cr", "\\newline"],
                    props: { numArgs: 0, numOptionalArgs: 1, argTypes: ["size"], allowedInText: !0 },
                    handler: function (t, e, r) {
                        var a = t.parser,
                            n = t.funcName,
                            i = r[0],
                            o = "\\cr" === n,
                            s = !1;
                        return (
                            o || (s = !a.settings.displayMode || !a.settings.useStrictBehavior("newLineInDisplayMode", "In LaTeX, \\\\ or \\newline does nothing in display mode")),
                            { type: "cr", mode: a.mode, newLine: s, newRow: o, size: i && Ft(i, "size").value }
                        );
                    },
                    htmlBuilder: function (t, e) {
                        if (t.newRow) throw new o("\\cr valid only within a tabular/array environment");
                        var r = Dt.makeSpan(["mspace"], [], e);
                        return t.newLine && (r.classes.push("newline"), t.size && (r.style.marginTop = Tt(t.size, e) + "em")), r;
                    },
                    mathmlBuilder: function (t, e) {
                        var r = new ve.MathNode("mspace");
                        return t.newLine && (r.setAttribute("linebreak", "newline"), t.size && r.setAttribute("height", Tt(t.size, e) + "em")), r;
                    },
                });
            var Ve = function (t, e, r) {
                    var a = G((j.math[t] && j.math[t].replace) || t, e, r);
                    if (!a) throw new Error("Unsupported symbol " + t + " and font size " + e + ".");
                    return a;
                },
                Ue = function (t, e, r, a) {
                    var n = r.havingBaseStyle(e),
                        i = Dt.makeSpan(a.concat(n.sizingClasses(r)), [t], r),
                        o = n.sizeMultiplier / r.sizeMultiplier;
                    return (i.height *= o), (i.depth *= o), (i.maxFontSize = n.sizeMultiplier), i;
                },
                Ge = function (t, e, r) {
                    var a = e.havingBaseStyle(r),
                        n = (1 - e.sizeMultiplier / a.sizeMultiplier) * e.fontMetrics().axisHeight;
                    t.classes.push("delimcenter"), (t.style.top = n + "em"), (t.height -= n), (t.depth += n);
                },
                Ye = function (t, e, r, a, n, i) {
                    var o = (function (t, e, r, a) {
                            return Dt.makeSymbol(t, "Size" + e + "-Regular", r, a);
                        })(t, e, n, a),
                        s = Ue(Dt.makeSpan(["delimsizing", "size" + e], [o], a), w.TEXT, a, i);
                    return r && Ge(s, a, w.TEXT), s;
                },
                We = function (t, e, r) {
                    var a;
                    return (a = "Size1-Regular" === e ? "delim-size1" : "delim-size4"), { type: "elem", elem: Dt.makeSpan(["delimsizinginner", a], [Dt.makeSpan([], [Dt.makeSymbol(t, e, r)])]) };
                },
                Xe = { type: "kern", size: -0.005 },
                _e = function (t, e, r, a, n, i) {
                    var o, s, h, l;
                    (o = h = l = t), (s = null);
                    var m = "Size1-Regular";
                    "\\uparrow" === t
                        ? (h = l = "\u23d0")
                        : "\\Uparrow" === t
                        ? (h = l = "\u2016")
                        : "\\downarrow" === t
                        ? (o = h = "\u23d0")
                        : "\\Downarrow" === t
                        ? (o = h = "\u2016")
                        : "\\updownarrow" === t
                        ? ((o = "\\uparrow"), (h = "\u23d0"), (l = "\\downarrow"))
                        : "\\Updownarrow" === t
                        ? ((o = "\\Uparrow"), (h = "\u2016"), (l = "\\Downarrow"))
                        : "[" === t || "\\lbrack" === t
                        ? ((o = "\u23a1"), (h = "\u23a2"), (l = "\u23a3"), (m = "Size4-Regular"))
                        : "]" === t || "\\rbrack" === t
                        ? ((o = "\u23a4"), (h = "\u23a5"), (l = "\u23a6"), (m = "Size4-Regular"))
                        : "\\lfloor" === t || "\u230a" === t
                        ? ((h = o = "\u23a2"), (l = "\u23a3"), (m = "Size4-Regular"))
                        : "\\lceil" === t || "\u2308" === t
                        ? ((o = "\u23a1"), (h = l = "\u23a2"), (m = "Size4-Regular"))
                        : "\\rfloor" === t || "\u230b" === t
                        ? ((h = o = "\u23a5"), (l = "\u23a6"), (m = "Size4-Regular"))
                        : "\\rceil" === t || "\u2309" === t
                        ? ((o = "\u23a4"), (h = l = "\u23a5"), (m = "Size4-Regular"))
                        : "(" === t || "\\lparen" === t
                        ? ((o = "\u239b"), (h = "\u239c"), (l = "\u239d"), (m = "Size4-Regular"))
                        : ")" === t || "\\rparen" === t
                        ? ((o = "\u239e"), (h = "\u239f"), (l = "\u23a0"), (m = "Size4-Regular"))
                        : "\\{" === t || "\\lbrace" === t
                        ? ((o = "\u23a7"), (s = "\u23a8"), (l = "\u23a9"), (h = "\u23aa"), (m = "Size4-Regular"))
                        : "\\}" === t || "\\rbrace" === t
                        ? ((o = "\u23ab"), (s = "\u23ac"), (l = "\u23ad"), (h = "\u23aa"), (m = "Size4-Regular"))
                        : "\\lgroup" === t || "\u27ee" === t
                        ? ((o = "\u23a7"), (l = "\u23a9"), (h = "\u23aa"), (m = "Size4-Regular"))
                        : "\\rgroup" === t || "\u27ef" === t
                        ? ((o = "\u23ab"), (l = "\u23ad"), (h = "\u23aa"), (m = "Size4-Regular"))
                        : "\\lmoustache" === t || "\u23b0" === t
                        ? ((o = "\u23a7"), (l = "\u23ad"), (h = "\u23aa"), (m = "Size4-Regular"))
                        : ("\\rmoustache" !== t && "\u23b1" !== t) || ((o = "\u23ab"), (l = "\u23a9"), (h = "\u23aa"), (m = "Size4-Regular"));
                    var c = Ve(o, m, n),
                        u = c.height + c.depth,
                        p = Ve(h, m, n),
                        d = p.height + p.depth,
                        f = Ve(l, m, n),
                        g = f.height + f.depth,
                        x = 0,
                        v = 1;
                    if (null !== s) {
                        var b = Ve(s, m, n);
                        (x = b.height + b.depth), (v = 2);
                    }
                    var y = u + g + x,
                        k = Math.max(0, Math.ceil((e - y) / (v * d))),
                        S = y + k * v * d,
                        M = a.fontMetrics().axisHeight;
                    r && (M *= a.sizeMultiplier);
                    var z = S / 2 - M,
                        A = 0.005 * (k + 1) - d,
                        T = [];
                    if ((T.push(We(l, m, n)), null === s)) for (var B = 0; B < k; B++) T.push(Xe), T.push(We(h, m, n));
                    else {
                        for (var C = 0; C < k; C++) T.push(Xe), T.push(We(h, m, n));
                        T.push({ type: "kern", size: A }), T.push(We(h, m, n)), T.push(Xe), T.push(We(s, m, n));
                        for (var q = 0; q < k; q++) T.push(Xe), T.push(We(h, m, n));
                    }
                    T.push({ type: "kern", size: A }), T.push(We(h, m, n)), T.push(Xe), T.push(We(o, m, n));
                    var N = a.havingBaseStyle(w.TEXT),
                        I = Dt.makeVList({ positionType: "bottom", positionData: z, children: T }, N);
                    return Ue(Dt.makeSpan(["delimsizing", "mult"], [I], N), w.TEXT, a, i);
                },
                je = function (t, e, r, a, n) {
                    var i = (function (t, e, r) {
                            e *= 1e3;
                            var a = "";
                            switch (t) {
                                case "sqrtMain":
                                    a = (function (t, e) {
                                        return (
                                            "M95," +
                                            (622 + t + e) +
                                            "\nc-2.7,0,-7.17,-2.7,-13.5,-8c-5.8,-5.3,-9.5,-10,-9.5,-14\nc0,-2,0.3,-3.3,1,-4c1.3,-2.7,23.83,-20.7,67.5,-54\nc44.2,-33.3,65.8,-50.3,66.5,-51c1.3,-1.3,3,-2,5,-2c4.7,0,8.7,3.3,12,10\ns173,378,173,378c0.7,0,35.3,-71,104,-213c68.7,-142,137.5,-285,206.5,-429\nc69,-144,104.5,-217.7,106.5,-221\nl" +
                                            t / 2.075 +
                                            " -" +
                                            t +
                                            "\nc5.3,-9.3,12,-14,20,-14\nH400000v" +
                                            (40 + t) +
                                            "H845.2724\ns-225.272,467,-225.272,467s-235,486,-235,486c-2.7,4.7,-9,7,-19,7\nc-6,0,-10,-1,-12,-3s-194,-422,-194,-422s-65,47,-65,47z\nM" +
                                            (834 + t) +
                                            " " +
                                            e +
                                            "h400000v" +
                                            (40 + t) +
                                            "h-400000z"
                                        );
                                    })(e, 80);
                                    break;
                                case "sqrtSize1":
                                    a = (function (t, e) {
                                        return (
                                            "M263," +
                                            (601 + t + e) +
                                            "c0.7,0,18,39.7,52,119\nc34,79.3,68.167,158.7,102.5,238c34.3,79.3,51.8,119.3,52.5,120\nc340,-704.7,510.7,-1060.3,512,-1067\nl" +
                                            t / 2.084 +
                                            " -" +
                                            t +
                                            "\nc4.7,-7.3,11,-11,19,-11\nH40000v" +
                                            (40 + t) +
                                            "H1012.3\ns-271.3,567,-271.3,567c-38.7,80.7,-84,175,-136,283c-52,108,-89.167,185.3,-111.5,232\nc-22.3,46.7,-33.8,70.3,-34.5,71c-4.7,4.7,-12.3,7,-23,7s-12,-1,-12,-1\ns-109,-253,-109,-253c-72.7,-168,-109.3,-252,-110,-252c-10.7,8,-22,16.7,-34,26\nc-22,17.3,-33.3,26,-34,26s-26,-26,-26,-26s76,-59,76,-59s76,-60,76,-60z\nM" +
                                            (1001 + t) +
                                            " " +
                                            e +
                                            "h400000v" +
                                            (40 + t) +
                                            "h-400000z"
                                        );
                                    })(e, 80);
                                    break;
                                case "sqrtSize2":
                                    a = (function (t, e) {
                                        return (
                                            "M983 " +
                                            (10 + t + e) +
                                            "\nl" +
                                            t / 3.13 +
                                            " -" +
                                            t +
                                            "\nc4,-6.7,10,-10,18,-10 H400000v" +
                                            (40 + t) +
                                            "\nH1013.1s-83.4,268,-264.1,840c-180.7,572,-277,876.3,-289,913c-4.7,4.7,-12.7,7,-24,7\ns-12,0,-12,0c-1.3,-3.3,-3.7,-11.7,-7,-25c-35.3,-125.3,-106.7,-373.3,-214,-744\nc-10,12,-21,25,-33,39s-32,39,-32,39c-6,-5.3,-15,-14,-27,-26s25,-30,25,-30\nc26.7,-32.7,52,-63,76,-91s52,-60,52,-60s208,722,208,722\nc56,-175.3,126.3,-397.3,211,-666c84.7,-268.7,153.8,-488.2,207.5,-658.5\nc53.7,-170.3,84.5,-266.8,92.5,-289.5z\nM" +
                                            (1001 + t) +
                                            " " +
                                            e +
                                            "h400000v" +
                                            (40 + t) +
                                            "h-400000z"
                                        );
                                    })(e, 80);
                                    break;
                                case "sqrtSize3":
                                    a = (function (t, e) {
                                        return (
                                            "M424," +
                                            (2398 + t + e) +
                                            "\nc-1.3,-0.7,-38.5,-172,-111.5,-514c-73,-342,-109.8,-513.3,-110.5,-514\nc0,-2,-10.7,14.3,-32,49c-4.7,7.3,-9.8,15.7,-15.5,25c-5.7,9.3,-9.8,16,-12.5,20\ns-5,7,-5,7c-4,-3.3,-8.3,-7.7,-13,-13s-13,-13,-13,-13s76,-122,76,-122s77,-121,77,-121\ns209,968,209,968c0,-2,84.7,-361.7,254,-1079c169.3,-717.3,254.7,-1077.7,256,-1081\nl" +
                                            t / 4.223 +
                                            " -" +
                                            t +
                                            "c4,-6.7,10,-10,18,-10 H400000\nv" +
                                            (40 + t) +
                                            "H1014.6\ns-87.3,378.7,-272.6,1166c-185.3,787.3,-279.3,1182.3,-282,1185\nc-2,6,-10,9,-24,9\nc-8,0,-12,-0.7,-12,-2z M" +
                                            (1001 + t) +
                                            " " +
                                            e +
                                            "\nh400000v" +
                                            (40 + t) +
                                            "h-400000z"
                                        );
                                    })(e, 80);
                                    break;
                                case "sqrtSize4":
                                    a = (function (t, e) {
                                        return (
                                            "M473," +
                                            (2713 + t + e) +
                                            "\nc339.3,-1799.3,509.3,-2700,510,-2702 l" +
                                            t / 5.298 +
                                            " -" +
                                            t +
                                            "\nc3.3,-7.3,9.3,-11,18,-11 H400000v" +
                                            (40 + t) +
                                            "H1017.7\ns-90.5,478,-276.2,1466c-185.7,988,-279.5,1483,-281.5,1485c-2,6,-10,9,-24,9\nc-8,0,-12,-0.7,-12,-2c0,-1.3,-5.3,-32,-16,-92c-50.7,-293.3,-119.7,-693.3,-207,-1200\nc0,-1.3,-5.3,8.7,-16,30c-10.7,21.3,-21.3,42.7,-32,64s-16,33,-16,33s-26,-26,-26,-26\ns76,-153,76,-153s77,-151,77,-151c0.7,0.7,35.7,202,105,604c67.3,400.7,102,602.7,104,\n606zM" +
                                            (1001 + t) +
                                            " " +
                                            e +
                                            "h400000v" +
                                            (40 + t) +
                                            "H1017.7z"
                                        );
                                    })(e, 80);
                                    break;
                                case "sqrtTall":
                                    a = (function (t, e, r) {
                                        return (
                                            "M702 " +
                                            (t + e) +
                                            "H400000" +
                                            (40 + t) +
                                            "\nH742v" +
                                            (r - 54 - e - t) +
                                            "l-4 4-4 4c-.667.7 -2 1.5-4 2.5s-4.167 1.833-6.5 2.5-5.5 1-9.5 1\nh-12l-28-84c-16.667-52-96.667 -294.333-240-727l-212 -643 -85 170\nc-4-3.333-8.333-7.667-13 -13l-13-13l77-155 77-156c66 199.333 139 419.667\n219 661 l218 661zM702 " +
                                            e +
                                            "H400000v" +
                                            (40 + t) +
                                            "H742z"
                                        );
                                    })(e, 80, r);
                            }
                            return a;
                        })(t, a, r),
                        o = new H(t, i),
                        s = new L([o], { width: "400em", height: e + "em", viewBox: "0 0 400000 " + r, preserveAspectRatio: "xMinYMin slice" });
                    return Dt.makeSvgSpan(["hide-tail"], [s], n);
                },
                $e = ["(", "\\lparen", ")", "\\rparen", "[", "\\lbrack", "]", "\\rbrack", "\\{", "\\lbrace", "\\}", "\\rbrace", "\\lfloor", "\\rfloor", "\u230a", "\u230b", "\\lceil", "\\rceil", "\u2308", "\u2309", "\\surd"],
                Ze = [
                    "\\uparrow",
                    "\\downarrow",
                    "\\updownarrow",
                    "\\Uparrow",
                    "\\Downarrow",
                    "\\Updownarrow",
                    "|",
                    "\\|",
                    "\\vert",
                    "\\Vert",
                    "\\lvert",
                    "\\rvert",
                    "\\lVert",
                    "\\rVert",
                    "\\lgroup",
                    "\\rgroup",
                    "\u27ee",
                    "\u27ef",
                    "\\lmoustache",
                    "\\rmoustache",
                    "\u23b0",
                    "\u23b1",
                ],
                Ke = ["<", ">", "\\langle", "\\rangle", "/", "\\backslash", "\\lt", "\\gt"],
                Je = [0, 1.2, 1.8, 2.4, 3],
                Qe = [
                    { type: "small", style: w.SCRIPTSCRIPT },
                    { type: "small", style: w.SCRIPT },
                    { type: "small", style: w.TEXT },
                    { type: "large", size: 1 },
                    { type: "large", size: 2 },
                    { type: "large", size: 3 },
                    { type: "large", size: 4 },
                ],
                tr = [{ type: "small", style: w.SCRIPTSCRIPT }, { type: "small", style: w.SCRIPT }, { type: "small", style: w.TEXT }, { type: "stack" }],
                er = [
                    { type: "small", style: w.SCRIPTSCRIPT },
                    { type: "small", style: w.SCRIPT },
                    { type: "small", style: w.TEXT },
                    { type: "large", size: 1 },
                    { type: "large", size: 2 },
                    { type: "large", size: 3 },
                    { type: "large", size: 4 },
                    { type: "stack" },
                ],
                rr = function (t) {
                    if ("small" === t.type) return "Main-Regular";
                    if ("large" === t.type) return "Size" + t.size + "-Regular";
                    if ("stack" === t.type) return "Size4-Regular";
                    throw new Error("Add support for delim type '" + t.type + "' here.");
                },
                ar = function (t, e, r, a) {
                    for (var n = Math.min(2, 3 - a.style.size); n < r.length && "stack" !== r[n].type; n++) {
                        var i = Ve(t, rr(r[n]), "math"),
                            o = i.height + i.depth;
                        if (("small" === r[n].type && (o *= a.havingBaseStyle(r[n].style).sizeMultiplier), o > e)) return r[n];
                    }
                    return r[r.length - 1];
                },
                nr = function (t, e, r, a, n, i) {
                    var o;
                    "<" === t || "\\lt" === t || "\u27e8" === t ? (t = "\\langle") : (">" !== t && "\\gt" !== t && "\u27e9" !== t) || (t = "\\rangle"), (o = c.contains(Ke, t) ? Qe : c.contains($e, t) ? er : tr);
                    var s = ar(t, e, o, a);
                    return "small" === s.type
                        ? (function (t, e, r, a, n, i) {
                              var o = Dt.makeSymbol(t, "Main-Regular", n, a),
                                  s = Ue(o, e, a, i);
                              return r && Ge(s, a, e), s;
                          })(t, s.style, r, a, n, i)
                        : "large" === s.type
                        ? Ye(t, s.size, r, a, n, i)
                        : _e(t, e, r, a, n, i);
                },
                ir = function (t, e) {
                    var r,
                        a,
                        n = e.havingBaseSizing(),
                        i = ar("\\surd", t * n.sizeMultiplier, er, n),
                        o = n.sizeMultiplier,
                        s = Math.max(0, e.minRuleThickness - e.fontMetrics().sqrtRuleThickness),
                        h = 0,
                        l = 0,
                        m = 0;
                    return (
                        "small" === i.type
                            ? (t < 1 ? (o = 1) : t < 1.4 && (o = 0.7), (l = (1 + s) / o), ((r = je("sqrtMain", (h = (1 + s + 0.08) / o), (m = 1e3 + 1e3 * s + 80), s, e)).style.minWidth = "0.853em"), (a = 0.833 / o))
                            : "large" === i.type
                            ? ((m = 1080 * Je[i.size]), (l = (Je[i.size] + s) / o), (h = (Je[i.size] + s + 0.08) / o), ((r = je("sqrtSize" + i.size, h, m, s, e)).style.minWidth = "1.02em"), (a = 1 / o))
                            : ((h = t + s + 0.08), (l = t + s), (m = Math.floor(1e3 * t + s) + 80), ((r = je("sqrtTall", h, m, s, e)).style.minWidth = "0.742em"), (a = 1.056)),
                        (r.height = l),
                        (r.style.height = h + "em"),
                        { span: r, advanceWidth: a, ruleWidth: (e.fontMetrics().sqrtRuleThickness + s) * o }
                    );
                },
                or = function (t, e, r, a, n) {
                    if (("<" === t || "\\lt" === t || "\u27e8" === t ? (t = "\\langle") : (">" !== t && "\\gt" !== t && "\u27e9" !== t) || (t = "\\rangle"), c.contains($e, t) || c.contains(Ke, t))) return Ye(t, e, !1, r, a, n);
                    if (c.contains(Ze, t)) return _e(t, Je[e], !1, r, a, n);
                    throw new o("Illegal delimiter: '" + t + "'");
                },
                sr = nr,
                hr = function (t, e, r, a, n, i) {
                    var o = a.fontMetrics().axisHeight * a.sizeMultiplier,
                        s = 5 / a.fontMetrics().ptPerEm,
                        h = Math.max(e - o, r + o),
                        l = Math.max((h / 500) * 901, 2 * h - s);
                    return nr(t, l, !0, a, n, i);
                },
                lr = {
                    "\\bigl": { mclass: "mopen", size: 1 },
                    "\\Bigl": { mclass: "mopen", size: 2 },
                    "\\biggl": { mclass: "mopen", size: 3 },
                    "\\Biggl": { mclass: "mopen", size: 4 },
                    "\\bigr": { mclass: "mclose", size: 1 },
                    "\\Bigr": { mclass: "mclose", size: 2 },
                    "\\biggr": { mclass: "mclose", size: 3 },
                    "\\Biggr": { mclass: "mclose", size: 4 },
                    "\\bigm": { mclass: "mrel", size: 1 },
                    "\\Bigm": { mclass: "mrel", size: 2 },
                    "\\biggm": { mclass: "mrel", size: 3 },
                    "\\Biggm": { mclass: "mrel", size: 4 },
                    "\\big": { mclass: "mord", size: 1 },
                    "\\Big": { mclass: "mord", size: 2 },
                    "\\bigg": { mclass: "mord", size: 3 },
                    "\\Bigg": { mclass: "mord", size: 4 },
                },
                mr = [
                    "(",
                    "\\lparen",
                    ")",
                    "\\rparen",
                    "[",
                    "\\lbrack",
                    "]",
                    "\\rbrack",
                    "\\{",
                    "\\lbrace",
                    "\\}",
                    "\\rbrace",
                    "\\lfloor",
                    "\\rfloor",
                    "\u230a",
                    "\u230b",
                    "\\lceil",
                    "\\rceil",
                    "\u2308",
                    "\u2309",
                    "<",
                    ">",
                    "\\langle",
                    "\u27e8",
                    "\\rangle",
                    "\u27e9",
                    "\\lt",
                    "\\gt",
                    "\\lvert",
                    "\\rvert",
                    "\\lVert",
                    "\\rVert",
                    "\\lgroup",
                    "\\rgroup",
                    "\u27ee",
                    "\u27ef",
                    "\\lmoustache",
                    "\\rmoustache",
                    "\u23b0",
                    "\u23b1",
                    "/",
                    "\\backslash",
                    "|",
                    "\\vert",
                    "\\|",
                    "\\Vert",
                    "\\uparrow",
                    "\\Uparrow",
                    "\\downarrow",
                    "\\Downarrow",
                    "\\updownarrow",
                    "\\Updownarrow",
                    ".",
                ];
            function cr(t, e) {
                var r = Yt(t);
                if (r && c.contains(mr, r.text)) return r;
                throw new o("Invalid delimiter: '" + (r ? r.text : JSON.stringify(t)) + "' after '" + e.funcName + "'", t);
            }
            function ur(t) {
                if (!t.body) throw new Error("Bug: The leftright ParseNode wasn't fully parsed.");
            }
            Qt({
                type: "delimsizing",
                names: ["\\bigl", "\\Bigl", "\\biggl", "\\Biggl", "\\bigr", "\\Bigr", "\\biggr", "\\Biggr", "\\bigm", "\\Bigm", "\\biggm", "\\Biggm", "\\big", "\\Big", "\\bigg", "\\Bigg"],
                props: { numArgs: 1 },
                handler: function (t, e) {
                    var r = cr(e[0], t);
                    return { type: "delimsizing", mode: t.parser.mode, size: lr[t.funcName].size, mclass: lr[t.funcName].mclass, delim: r.text };
                },
                htmlBuilder: function (t, e) {
                    return "." === t.delim ? Dt.makeSpan([t.mclass]) : or(t.delim, t.size, e, t.mode, [t.mclass]);
                },
                mathmlBuilder: function (t) {
                    var e = [];
                    "." !== t.delim && e.push(be(t.delim, t.mode));
                    var r = new ve.MathNode("mo", e);
                    return "mopen" === t.mclass || "mclose" === t.mclass ? r.setAttribute("fence", "true") : r.setAttribute("fence", "false"), r;
                },
            }),
                Qt({
                    type: "leftright-right",
                    names: ["\\right"],
                    props: { numArgs: 1 },
                    handler: function (t, e) {
                        var r = t.parser.gullet.macros.get("\\current@color");
                        if (r && "string" != typeof r) throw new o("\\current@color set to non-string in \\right");
                        return { type: "leftright-right", mode: t.parser.mode, delim: cr(e[0], t).text, color: r };
                    },
                }),
                Qt({
                    type: "leftright",
                    names: ["\\left"],
                    props: { numArgs: 1 },
                    handler: function (t, e) {
                        var r = cr(e[0], t),
                            a = t.parser;
                        ++a.leftrightDepth;
                        var n = a.parseExpression(!1);
                        --a.leftrightDepth, a.expect("\\right", !1);
                        var i = Ft(a.parseFunction(), "leftright-right");
                        return { type: "leftright", mode: a.mode, body: n, left: r.text, right: i.delim, rightColor: i.color };
                    },
                    htmlBuilder: function (t, e) {
                        ur(t);
                        for (var r, a, n = se(t.body, e, !0, ["mopen", "mclose"]), i = 0, o = 0, s = !1, h = 0; h < n.length; h++) n[h].isMiddle ? (s = !0) : ((i = Math.max(n[h].height, i)), (o = Math.max(n[h].depth, o)));
                        if (((i *= e.sizeMultiplier), (o *= e.sizeMultiplier), (r = "." === t.left ? ce(e, ["mopen"]) : hr(t.left, i, o, e, t.mode, ["mopen"])), n.unshift(r), s))
                            for (var l = 1; l < n.length; l++) {
                                var m = n[l].isMiddle;
                                m && (n[l] = hr(m.delim, i, o, m.options, t.mode, []));
                            }
                        if ("." === t.right) a = ce(e, ["mclose"]);
                        else {
                            var c = t.rightColor ? e.withColor(t.rightColor) : e;
                            a = hr(t.right, i, o, c, t.mode, ["mclose"]);
                        }
                        return n.push(a), Dt.makeSpan(["minner"], n, e);
                    },
                    mathmlBuilder: function (t, e) {
                        ur(t);
                        var r = ke(t.body, e);
                        if ("." !== t.left) {
                            var a = new ve.MathNode("mo", [be(t.left, t.mode)]);
                            a.setAttribute("fence", "true"), r.unshift(a);
                        }
                        if ("." !== t.right) {
                            var n = new ve.MathNode("mo", [be(t.right, t.mode)]);
                            n.setAttribute("fence", "true"), t.rightColor && n.setAttribute("mathcolor", t.rightColor), r.push(n);
                        }
                        return ye(r);
                    },
                }),
                Qt({
                    type: "middle",
                    names: ["\\middle"],
                    props: { numArgs: 1 },
                    handler: function (t, e) {
                        var r = cr(e[0], t);
                        if (!t.parser.leftrightDepth) throw new o("\\middle without preceding \\left", r);
                        return { type: "middle", mode: t.parser.mode, delim: r.text };
                    },
                    htmlBuilder: function (t, e) {
                        var r;
                        if ("." === t.delim) r = ce(e, []);
                        else {
                            r = or(t.delim, 1, e, t.mode, []);
                            var a = { delim: t.delim, options: e };
                            r.isMiddle = a;
                        }
                        return r;
                    },
                    mathmlBuilder: function (t, e) {
                        var r = "\\vert" === t.delim || "|" === t.delim ? be("|", "text") : be(t.delim, t.mode),
                            a = new ve.MathNode("mo", [r]);
                        return a.setAttribute("fence", "true"), a.setAttribute("lspace", "0.05em"), a.setAttribute("rspace", "0.05em"), a;
                    },
                });
            var pr = function (t, e) {
                    var r,
                        a,
                        n = Dt.wrapFragment(ue(t.body, e), e),
                        i = t.label.substr(1),
                        o = e.sizeMultiplier,
                        s = 0,
                        h = c.isCharacterBox(t.body);
                    if ("sout" === i) ((r = Dt.makeSpan(["stretchy", "sout"])).height = e.fontMetrics().defaultRuleThickness / o), (s = -0.5 * e.fontMetrics().xHeight);
                    else {
                        /cancel/.test(i) ? h || n.classes.push("cancel-pad") : n.classes.push("boxpad");
                        var l = 0,
                            m = 0;
                        /box/.test(i) ? ((m = Math.max(e.fontMetrics().fboxrule, e.minRuleThickness)), (l = e.fontMetrics().fboxsep + ("colorbox" === i ? 0 : m))) : (l = h ? 0.2 : 0),
                            (r = Ie(n, i, l, e)),
                            /fbox|boxed|fcolorbox/.test(i) && ((r.style.borderStyle = "solid"), (r.style.borderWidth = m + "em")),
                            (s = n.depth + l),
                            t.backgroundColor && ((r.style.backgroundColor = t.backgroundColor), t.borderColor && (r.style.borderColor = t.borderColor));
                    }
                    return (
                        (a = t.backgroundColor
                            ? Dt.makeVList(
                                  {
                                      positionType: "individualShift",
                                      children: [
                                          { type: "elem", elem: r, shift: s },
                                          { type: "elem", elem: n, shift: 0 },
                                      ],
                                  },
                                  e
                              )
                            : Dt.makeVList(
                                  {
                                      positionType: "individualShift",
                                      children: [
                                          { type: "elem", elem: n, shift: 0 },
                                          { type: "elem", elem: r, shift: s, wrapperClasses: /cancel/.test(i) ? ["svg-align"] : [] },
                                      ],
                                  },
                                  e
                              )),
                        /cancel/.test(i) && ((a.height = n.height), (a.depth = n.depth)),
                        /cancel/.test(i) && !h ? Dt.makeSpan(["mord", "cancel-lap"], [a], e) : Dt.makeSpan(["mord"], [a], e)
                    );
                },
                dr = function (t, e) {
                    var r = 0,
                        a = new ve.MathNode(t.label.indexOf("colorbox") > -1 ? "mpadded" : "menclose", [Me(t.body, e)]);
                    switch (t.label) {
                        case "\\cancel":
                            a.setAttribute("notation", "updiagonalstrike");
                            break;
                        case "\\bcancel":
                            a.setAttribute("notation", "downdiagonalstrike");
                            break;
                        case "\\sout":
                            a.setAttribute("notation", "horizontalstrike");
                            break;
                        case "\\fbox":
                            a.setAttribute("notation", "box");
                            break;
                        case "\\fcolorbox":
                        case "\\colorbox":
                            if (
                                ((r = e.fontMetrics().fboxsep * e.fontMetrics().ptPerEm),
                                a.setAttribute("width", "+" + 2 * r + "pt"),
                                a.setAttribute("height", "+" + 2 * r + "pt"),
                                a.setAttribute("lspace", r + "pt"),
                                a.setAttribute("voffset", r + "pt"),
                                "\\fcolorbox" === t.label)
                            ) {
                                var n = Math.max(e.fontMetrics().fboxrule, e.minRuleThickness);
                                a.setAttribute("style", "border: " + n + "em solid " + String(t.borderColor));
                            }
                            break;
                        case "\\xcancel":
                            a.setAttribute("notation", "updiagonalstrike downdiagonalstrike");
                    }
                    return t.backgroundColor && a.setAttribute("mathbackground", t.backgroundColor), a;
                };
            Qt({
                type: "enclose",
                names: ["\\colorbox"],
                props: { numArgs: 2, allowedInText: !0, greediness: 3, argTypes: ["color", "text"] },
                handler: function (t, e, r) {
                    var a = t.parser,
                        n = t.funcName,
                        i = Ft(e[0], "color-token").color,
                        o = e[1];
                    return { type: "enclose", mode: a.mode, label: n, backgroundColor: i, body: o };
                },
                htmlBuilder: pr,
                mathmlBuilder: dr,
            }),
                Qt({
                    type: "enclose",
                    names: ["\\fcolorbox"],
                    props: { numArgs: 3, allowedInText: !0, greediness: 3, argTypes: ["color", "color", "text"] },
                    handler: function (t, e, r) {
                        var a = t.parser,
                            n = t.funcName,
                            i = Ft(e[0], "color-token").color,
                            o = Ft(e[1], "color-token").color,
                            s = e[2];
                        return { type: "enclose", mode: a.mode, label: n, backgroundColor: o, borderColor: i, body: s };
                    },
                    htmlBuilder: pr,
                    mathmlBuilder: dr,
                }),
                Qt({
                    type: "enclose",
                    names: ["\\fbox"],
                    props: { numArgs: 1, argTypes: ["hbox"], allowedInText: !0 },
                    handler: function (t, e) {
                        return { type: "enclose", mode: t.parser.mode, label: "\\fbox", body: e[0] };
                    },
                }),
                Qt({
                    type: "enclose",
                    names: ["\\cancel", "\\bcancel", "\\xcancel", "\\sout"],
                    props: { numArgs: 1 },
                    handler: function (t, e, r) {
                        var a = t.parser,
                            n = t.funcName,
                            i = e[0];
                        return { type: "enclose", mode: a.mode, label: n, body: i };
                    },
                    htmlBuilder: pr,
                    mathmlBuilder: dr,
                });
            var fr = {};
            function gr(t) {
                for (
                    var e = t.type, r = t.names, a = t.props, n = t.handler, i = t.htmlBuilder, o = t.mathmlBuilder, s = { type: e, numArgs: a.numArgs || 0, greediness: 1, allowedInText: !1, numOptionalArgs: 0, handler: n }, h = 0;
                    h < r.length;
                    ++h
                )
                    fr[r[h]] = s;
                i && (Kt[e] = i), o && (Jt[e] = o);
            }
            function xr(t) {
                var e = [];
                t.consumeSpaces();
                for (var r = t.fetch().text; "\\hline" === r || "\\hdashline" === r; ) t.consume(), e.push("\\hdashline" === r), t.consumeSpaces(), (r = t.fetch().text);
                return e;
            }
            function vr(t, e, r) {
                var a = e.hskipBeforeAndAfter,
                    n = e.addJot,
                    i = e.cols,
                    s = e.arraystretch,
                    h = e.colSeparationType;
                if ((t.gullet.beginGroup(), t.gullet.macros.set("\\\\", "\\cr"), !s)) {
                    var l = t.gullet.expandMacroAsText("\\arraystretch");
                    if (null == l) s = 1;
                    else if (!(s = parseFloat(l)) || s < 0) throw new o("Invalid \\arraystretch: " + l);
                }
                t.gullet.beginGroup();
                var m = [],
                    c = [m],
                    u = [],
                    p = [];
                for (p.push(xr(t)); ; ) {
                    var d = t.parseExpression(!1, "\\cr");
                    t.gullet.endGroup(), t.gullet.beginGroup(), (d = { type: "ordgroup", mode: t.mode, body: d }), r && (d = { type: "styling", mode: t.mode, style: r, body: [d] }), m.push(d);
                    var f = t.fetch().text;
                    if ("&" === f) t.consume();
                    else {
                        if ("\\end" === f) {
                            1 === m.length && "styling" === d.type && 0 === d.body[0].body.length && c.pop(), p.length < c.length + 1 && p.push([]);
                            break;
                        }
                        if ("\\cr" !== f) throw new o("Expected & or \\\\ or \\cr or \\end", t.nextToken);
                        var g = Ft(t.parseFunction(), "cr");
                        u.push(g.size), p.push(xr(t)), (m = []), c.push(m);
                    }
                }
                return t.gullet.endGroup(), t.gullet.endGroup(), { type: "array", mode: t.mode, addJot: n, arraystretch: s, body: c, cols: i, rowGaps: u, hskipBeforeAndAfter: a, hLinesBeforeRow: p, colSeparationType: h };
            }
            function br(t) {
                return "d" === t.substr(0, 1) ? "display" : "text";
            }
            var yr = function (t, e) {
                    var r,
                        a,
                        n = t.body.length,
                        i = t.hLinesBeforeRow,
                        s = 0,
                        h = new Array(n),
                        l = [],
                        m = Math.max(e.fontMetrics().arrayRuleWidth, e.minRuleThickness),
                        u = 1 / e.fontMetrics().ptPerEm,
                        p = 5 * u;
                    t.colSeparationType && "small" === t.colSeparationType && (p = (e.havingStyle(w.SCRIPT).sizeMultiplier / e.sizeMultiplier) * 0.2778);
                    var d = 12 * u,
                        f = 3 * u,
                        g = t.arraystretch * d,
                        x = 0.7 * g,
                        v = 0.3 * g,
                        b = 0;
                    function y(t) {
                        for (var e = 0; e < t.length; ++e) e > 0 && (b += 0.25), l.push({ pos: b, isDashed: t[e] });
                    }
                    for (y(i[0]), r = 0; r < t.body.length; ++r) {
                        var k = t.body[r],
                            S = x,
                            M = v;
                        s < k.length && (s = k.length);
                        var z = new Array(k.length);
                        for (a = 0; a < k.length; ++a) {
                            var A = ue(k[a], e);
                            M < A.depth && (M = A.depth), S < A.height && (S = A.height), (z[a] = A);
                        }
                        var T = t.rowGaps[r],
                            B = 0;
                        T && (B = Tt(T, e)) > 0 && (M < (B += v) && (M = B), (B = 0)), t.addJot && (M += f), (z.height = S), (z.depth = M), (b += S), (z.pos = b), (b += M + B), (h[r] = z), y(i[r + 1]);
                    }
                    var C,
                        q,
                        N = b / 2 + e.fontMetrics().axisHeight,
                        I = t.cols || [],
                        R = [];
                    for (a = 0, q = 0; a < s || q < I.length; ++a, ++q) {
                        for (var O = I[q] || {}, E = !0; "separator" === O.type; ) {
                            if ((E || (((C = Dt.makeSpan(["arraycolsep"], [])).style.width = e.fontMetrics().doubleRuleSep + "em"), R.push(C)), "|" !== O.separator && ":" !== O.separator))
                                throw new o("Invalid separator type: " + O.separator);
                            var L = "|" === O.separator ? "solid" : "dashed",
                                H = Dt.makeSpan(["vertical-separator"], [], e);
                            (H.style.height = b + "em"),
                                (H.style.borderRightWidth = m + "em"),
                                (H.style.borderRightStyle = L),
                                (H.style.margin = "0 -" + m / 2 + "em"),
                                (H.style.verticalAlign = -(b - N) + "em"),
                                R.push(H),
                                (O = I[++q] || {}),
                                (E = !1);
                        }
                        if (!(a >= s)) {
                            var P = void 0;
                            (a > 0 || t.hskipBeforeAndAfter) && 0 !== (P = c.deflt(O.pregap, p)) && (((C = Dt.makeSpan(["arraycolsep"], [])).style.width = P + "em"), R.push(C));
                            var D = [];
                            for (r = 0; r < n; ++r) {
                                var F = h[r],
                                    V = F[a];
                                if (V) {
                                    var U = F.pos - N;
                                    (V.depth = F.depth), (V.height = F.height), D.push({ type: "elem", elem: V, shift: U });
                                }
                            }
                            (D = Dt.makeVList({ positionType: "individualShift", children: D }, e)),
                                (D = Dt.makeSpan(["col-align-" + (O.align || "c")], [D])),
                                R.push(D),
                                (a < s - 1 || t.hskipBeforeAndAfter) && 0 !== (P = c.deflt(O.postgap, p)) && (((C = Dt.makeSpan(["arraycolsep"], [])).style.width = P + "em"), R.push(C));
                        }
                    }
                    if (((h = Dt.makeSpan(["mtable"], R)), l.length > 0)) {
                        for (var G = Dt.makeLineSpan("hline", e, m), Y = Dt.makeLineSpan("hdashline", e, m), W = [{ type: "elem", elem: h, shift: 0 }]; l.length > 0; ) {
                            var X = l.pop(),
                                _ = X.pos - N;
                            X.isDashed ? W.push({ type: "elem", elem: Y, shift: _ }) : W.push({ type: "elem", elem: G, shift: _ });
                        }
                        h = Dt.makeVList({ positionType: "individualShift", children: W }, e);
                    }
                    return Dt.makeSpan(["mord"], [h], e);
                },
                wr = { c: "center ", l: "left ", r: "right " },
                kr = function (t, e) {
                    var r = new ve.MathNode(
                            "mtable",
                            t.body.map(function (t) {
                                return new ve.MathNode(
                                    "mtr",
                                    t.map(function (t) {
                                        return new ve.MathNode("mtd", [Me(t, e)]);
                                    })
                                );
                            })
                        ),
                        a = 0.5 === t.arraystretch ? 0.1 : 0.16 + t.arraystretch - 1 + (t.addJot ? 0.09 : 0);
                    r.setAttribute("rowspacing", a + "em");
                    var n = "",
                        i = "";
                    if (t.cols) {
                        var o = t.cols,
                            s = "",
                            h = !1,
                            l = 0,
                            m = o.length;
                        "separator" === o[0].type && ((n += "top "), (l = 1)), "separator" === o[o.length - 1].type && ((n += "bottom "), (m -= 1));
                        for (var c = l; c < m; c++) "align" === o[c].type ? ((i += wr[o[c].align]), h && (s += "none "), (h = !0)) : "separator" === o[c].type && h && ((s += "|" === o[c].separator ? "solid " : "dashed "), (h = !1));
                        r.setAttribute("columnalign", i.trim()), /[sd]/.test(s) && r.setAttribute("columnlines", s.trim());
                    }
                    if ("align" === t.colSeparationType) {
                        for (var u = t.cols || [], p = "", d = 1; d < u.length; d++) p += d % 2 ? "0em " : "1em ";
                        r.setAttribute("columnspacing", p.trim());
                    } else "alignat" === t.colSeparationType ? r.setAttribute("columnspacing", "0em") : "small" === t.colSeparationType ? r.setAttribute("columnspacing", "0.2778em") : r.setAttribute("columnspacing", "1em");
                    var f = "",
                        g = t.hLinesBeforeRow;
                    (n += g[0].length > 0 ? "left " : ""), (n += g[g.length - 1].length > 0 ? "right " : "");
                    for (var x = 1; x < g.length - 1; x++) f += 0 === g[x].length ? "none " : g[x][0] ? "dashed " : "solid ";
                    return (
                        /[sd]/.test(f) && r.setAttribute("rowlines", f.trim()),
                        "" !== n && (r = new ve.MathNode("menclose", [r])).setAttribute("notation", n.trim()),
                        t.arraystretch && t.arraystretch < 1 && (r = new ve.MathNode("mstyle", [r])).setAttribute("scriptlevel", "1"),
                        r
                    );
                },
                Sr = function (t, e) {
                    var r,
                        a = [],
                        n = vr(t.parser, { cols: a, addJot: !0 }, "display"),
                        i = 0,
                        s = { type: "ordgroup", mode: t.mode, body: [] },
                        h = Vt(e[0], "ordgroup");
                    if (h) {
                        for (var l = "", m = 0; m < h.body.length; m++) {
                            l += Ft(h.body[m], "textord").text;
                        }
                        (r = Number(l)), (i = 2 * r);
                    }
                    var c = !i;
                    n.body.forEach(function (t) {
                        for (var e = 1; e < t.length; e += 2) {
                            var a = Ft(t[e], "styling");
                            Ft(a.body[0], "ordgroup").body.unshift(s);
                        }
                        if (c) i < t.length && (i = t.length);
                        else {
                            var n = t.length / 2;
                            if (r < n) throw new o("Too many math in a row: expected " + r + ", but got " + n, t[0]);
                        }
                    });
                    for (var u = 0; u < i; ++u) {
                        var p = "r",
                            d = 0;
                        u % 2 == 1 ? (p = "l") : u > 0 && c && (d = 1), (a[u] = { type: "align", align: p, pregap: d, postgap: 0 });
                    }
                    return (n.colSeparationType = c ? "align" : "alignat"), n;
                };
            gr({
                type: "array",
                names: ["array", "darray"],
                props: { numArgs: 1 },
                handler: function (t, e) {
                    var r = {
                        cols: (Yt(e[0]) ? [e[0]] : Ft(e[0], "ordgroup").body).map(function (t) {
                            var e = Gt(t).text;
                            if (-1 !== "lcr".indexOf(e)) return { type: "align", align: e };
                            if ("|" === e) return { type: "separator", separator: "|" };
                            if (":" === e) return { type: "separator", separator: ":" };
                            throw new o("Unknown column alignment: " + e, t);
                        }),
                        hskipBeforeAndAfter: !0,
                    };
                    return vr(t.parser, r, br(t.envName));
                },
                htmlBuilder: yr,
                mathmlBuilder: kr,
            }),
                gr({
                    type: "array",
                    names: ["matrix", "pmatrix", "bmatrix", "Bmatrix", "vmatrix", "Vmatrix"],
                    props: { numArgs: 0 },
                    handler: function (t) {
                        var e = { matrix: null, pmatrix: ["(", ")"], bmatrix: ["[", "]"], Bmatrix: ["\\{", "\\}"], vmatrix: ["|", "|"], Vmatrix: ["\\Vert", "\\Vert"] }[t.envName],
                            r = vr(t.parser, { hskipBeforeAndAfter: !1 }, br(t.envName));
                        return e ? { type: "leftright", mode: t.mode, body: [r], left: e[0], right: e[1], rightColor: void 0 } : r;
                    },
                    htmlBuilder: yr,
                    mathmlBuilder: kr,
                }),
                gr({
                    type: "array",
                    names: ["smallmatrix"],
                    props: { numArgs: 0 },
                    handler: function (t) {
                        var e = vr(t.parser, { arraystretch: 0.5 }, "script");
                        return (e.colSeparationType = "small"), e;
                    },
                    htmlBuilder: yr,
                    mathmlBuilder: kr,
                }),
                gr({
                    type: "array",
                    names: ["subarray"],
                    props: { numArgs: 1 },
                    handler: function (t, e) {
                        var r = (Yt(e[0]) ? [e[0]] : Ft(e[0], "ordgroup").body).map(function (t) {
                            var e = Gt(t).text;
                            if (-1 !== "lc".indexOf(e)) return { type: "align", align: e };
                            throw new o("Unknown column alignment: " + e, t);
                        });
                        if (r.length > 1) throw new o("{subarray} can contain only one column");
                        var a = { cols: r, hskipBeforeAndAfter: !1, arraystretch: 0.5 };
                        if ((a = vr(t.parser, a, "script")).body[0].length > 1) throw new o("{subarray} can contain only one column");
                        return a;
                    },
                    htmlBuilder: yr,
                    mathmlBuilder: kr,
                }),
                gr({
                    type: "array",
                    names: ["cases", "dcases"],
                    props: { numArgs: 0 },
                    handler: function (t) {
                        var e = vr(
                            t.parser,
                            {
                                arraystretch: 1.2,
                                cols: [
                                    { type: "align", align: "l", pregap: 0, postgap: 1 },
                                    { type: "align", align: "l", pregap: 0, postgap: 0 },
                                ],
                            },
                            br(t.envName)
                        );
                        return { type: "leftright", mode: t.mode, body: [e], left: "\\{", right: ".", rightColor: void 0 };
                    },
                    htmlBuilder: yr,
                    mathmlBuilder: kr,
                }),
                gr({ type: "array", names: ["aligned"], props: { numArgs: 0 }, handler: Sr, htmlBuilder: yr, mathmlBuilder: kr }),
                gr({
                    type: "array",
                    names: ["gathered"],
                    props: { numArgs: 0 },
                    handler: function (t) {
                        return vr(t.parser, { cols: [{ type: "align", align: "c" }], addJot: !0 }, "display");
                    },
                    htmlBuilder: yr,
                    mathmlBuilder: kr,
                }),
                gr({ type: "array", names: ["alignedat"], props: { numArgs: 1 }, handler: Sr, htmlBuilder: yr, mathmlBuilder: kr }),
                Qt({
                    type: "text",
                    names: ["\\hline", "\\hdashline"],
                    props: { numArgs: 0, allowedInText: !0, allowedInMath: !0 },
                    handler: function (t, e) {
                        throw new o(t.funcName + " valid only within array environment");
                    },
                });
            var Mr = fr;
            Qt({
                type: "environment",
                names: ["\\begin", "\\end"],
                props: { numArgs: 1, argTypes: ["text"] },
                handler: function (t, e) {
                    var r = t.parser,
                        a = t.funcName,
                        n = e[0];
                    if ("ordgroup" !== n.type) throw new o("Invalid environment name", n);
                    for (var i = "", s = 0; s < n.body.length; ++s) i += Ft(n.body[s], "textord").text;
                    if ("\\begin" === a) {
                        if (!Mr.hasOwnProperty(i)) throw new o("No such environment: " + i, n);
                        var h = Mr[i],
                            l = r.parseArguments("\\begin{" + i + "}", h),
                            m = l.args,
                            c = l.optArgs,
                            u = { mode: r.mode, envName: i, parser: r },
                            p = h.handler(u, m, c);
                        r.expect("\\end", !1);
                        var d = r.nextToken,
                            f = Ft(r.parseFunction(), "environment");
                        if (f.name !== i) throw new o("Mismatch: \\begin{" + i + "} matched by \\end{" + f.name + "}", d);
                        return p;
                    }
                    return { type: "environment", mode: r.mode, name: i, nameGroup: n };
                },
            });
            var zr = Dt.makeSpan;
            function Ar(t, e) {
                var r = se(t.body, e, !0);
                return zr([t.mclass], r, e);
            }
            function Tr(t, e) {
                var r,
                    a = ke(t.body, e);
                return "minner" === t.mclass
                    ? ve.newDocumentFragment(a)
                    : ("mord" === t.mclass
                          ? t.isCharacterBox
                              ? ((r = a[0]).type = "mi")
                              : (r = new ve.MathNode("mi", a))
                          : (t.isCharacterBox ? ((r = a[0]).type = "mo") : (r = new ve.MathNode("mo", a)),
                            "mbin" === t.mclass
                                ? ((r.attributes.lspace = "0.22em"), (r.attributes.rspace = "0.22em"))
                                : "mpunct" === t.mclass
                                ? ((r.attributes.lspace = "0em"), (r.attributes.rspace = "0.17em"))
                                : ("mopen" !== t.mclass && "mclose" !== t.mclass) || ((r.attributes.lspace = "0em"), (r.attributes.rspace = "0em"))),
                      r);
            }
            Qt({
                type: "mclass",
                names: ["\\mathord", "\\mathbin", "\\mathrel", "\\mathopen", "\\mathclose", "\\mathpunct", "\\mathinner"],
                props: { numArgs: 1 },
                handler: function (t, e) {
                    var r = t.parser,
                        a = t.funcName,
                        n = e[0];
                    return { type: "mclass", mode: r.mode, mclass: "m" + a.substr(5), body: ee(n), isCharacterBox: c.isCharacterBox(n) };
                },
                htmlBuilder: Ar,
                mathmlBuilder: Tr,
            });
            var Br = function (t) {
                var e = "ordgroup" === t.type && t.body.length ? t.body[0] : t;
                return "atom" !== e.type || ("bin" !== e.family && "rel" !== e.family) ? "mord" : "m" + e.family;
            };
            Qt({
                type: "mclass",
                names: ["\\@binrel"],
                props: { numArgs: 2 },
                handler: function (t, e) {
                    return { type: "mclass", mode: t.parser.mode, mclass: Br(e[0]), body: [e[1]], isCharacterBox: c.isCharacterBox(e[1]) };
                },
            }),
                Qt({
                    type: "mclass",
                    names: ["\\stackrel", "\\overset", "\\underset"],
                    props: { numArgs: 2 },
                    handler: function (t, e) {
                        var r,
                            a = t.parser,
                            n = t.funcName,
                            i = e[1],
                            o = e[0];
                        r = "\\stackrel" !== n ? Br(i) : "mrel";
                        var s = { type: "op", mode: i.mode, limits: !0, alwaysHandleSupSub: !0, parentIsSupSub: !1, symbol: !1, suppressBaseShift: "\\stackrel" !== n, body: ee(i) },
                            h = { type: "supsub", mode: o.mode, base: s, sup: "\\underset" === n ? null : o, sub: "\\underset" === n ? o : null };
                        return { type: "mclass", mode: a.mode, mclass: r, body: [h], isCharacterBox: c.isCharacterBox(h) };
                    },
                    htmlBuilder: Ar,
                    mathmlBuilder: Tr,
                });
            var Cr = function (t, e) {
                    var r = t.font,
                        a = e.withFont(r);
                    return ue(t.body, a);
                },
                qr = function (t, e) {
                    var r = t.font,
                        a = e.withFont(r);
                    return Me(t.body, a);
                },
                Nr = { "\\Bbb": "\\mathbb", "\\bold": "\\mathbf", "\\frak": "\\mathfrak", "\\bm": "\\boldsymbol" };
            Qt({
                type: "font",
                names: ["\\mathrm", "\\mathit", "\\mathbf", "\\mathnormal", "\\mathbb", "\\mathcal", "\\mathfrak", "\\mathscr", "\\mathsf", "\\mathtt", "\\Bbb", "\\bold", "\\frak"],
                props: { numArgs: 1, greediness: 2 },
                handler: function (t, e) {
                    var r = t.parser,
                        a = t.funcName,
                        n = e[0],
                        i = a;
                    return i in Nr && (i = Nr[i]), { type: "font", mode: r.mode, font: i.slice(1), body: n };
                },
                htmlBuilder: Cr,
                mathmlBuilder: qr,
            }),
                Qt({
                    type: "mclass",
                    names: ["\\boldsymbol", "\\bm"],
                    props: { numArgs: 1, greediness: 2 },
                    handler: function (t, e) {
                        var r = t.parser,
                            a = e[0],
                            n = c.isCharacterBox(a);
                        return { type: "mclass", mode: r.mode, mclass: Br(a), body: [{ type: "font", mode: r.mode, font: "boldsymbol", body: a }], isCharacterBox: n };
                    },
                }),
                Qt({
                    type: "font",
                    names: ["\\rm", "\\sf", "\\tt", "\\bf", "\\it"],
                    props: { numArgs: 0, allowedInText: !0 },
                    handler: function (t, e) {
                        var r = t.parser,
                            a = t.funcName,
                            n = t.breakOnTokenText,
                            i = r.mode,
                            o = r.parseExpression(!0, n);
                        return { type: "font", mode: i, font: "math" + a.slice(1), body: { type: "ordgroup", mode: r.mode, body: o } };
                    },
                    htmlBuilder: Cr,
                    mathmlBuilder: qr,
                });
            var Ir = function (t, e) {
                    var r = e;
                    return "display" === t ? (r = r.id >= w.SCRIPT.id ? r.text() : w.DISPLAY) : "text" === t && r.size === w.DISPLAY.size ? (r = w.TEXT) : "script" === t ? (r = w.SCRIPT) : "scriptscript" === t && (r = w.SCRIPTSCRIPT), r;
                },
                Rr = function (t, e) {
                    var r,
                        a = Ir(t.size, e.style),
                        n = a.fracNum(),
                        i = a.fracDen();
                    r = e.havingStyle(n);
                    var o = ue(t.numer, r, e);
                    if (t.continued) {
                        var s = 8.5 / e.fontMetrics().ptPerEm,
                            h = 3.5 / e.fontMetrics().ptPerEm;
                        (o.height = o.height < s ? s : o.height), (o.depth = o.depth < h ? h : o.depth);
                    }
                    r = e.havingStyle(i);
                    var l,
                        m,
                        c,
                        u,
                        p,
                        d,
                        f,
                        g,
                        x,
                        v,
                        b = ue(t.denom, r, e);
                    if (
                        (t.hasBarLine
                            ? (t.barSize ? ((m = Tt(t.barSize, e)), (l = Dt.makeLineSpan("frac-line", e, m))) : (l = Dt.makeLineSpan("frac-line", e)), (m = l.height), (c = l.height))
                            : ((l = null), (m = 0), (c = e.fontMetrics().defaultRuleThickness)),
                        a.size === w.DISPLAY.size || "display" === t.size
                            ? ((u = e.fontMetrics().num1), (p = m > 0 ? 3 * c : 7 * c), (d = e.fontMetrics().denom1))
                            : (m > 0 ? ((u = e.fontMetrics().num2), (p = c)) : ((u = e.fontMetrics().num3), (p = 3 * c)), (d = e.fontMetrics().denom2)),
                        l)
                    ) {
                        var y = e.fontMetrics().axisHeight;
                        u - o.depth - (y + 0.5 * m) < p && (u += p - (u - o.depth - (y + 0.5 * m))), y - 0.5 * m - (b.height - d) < p && (d += p - (y - 0.5 * m - (b.height - d)));
                        var k = -(y - 0.5 * m);
                        f = Dt.makeVList(
                            {
                                positionType: "individualShift",
                                children: [
                                    { type: "elem", elem: b, shift: d },
                                    { type: "elem", elem: l, shift: k },
                                    { type: "elem", elem: o, shift: -u },
                                ],
                            },
                            e
                        );
                    } else {
                        var S = u - o.depth - (b.height - d);
                        S < p && ((u += 0.5 * (p - S)), (d += 0.5 * (p - S))),
                            (f = Dt.makeVList(
                                {
                                    positionType: "individualShift",
                                    children: [
                                        { type: "elem", elem: b, shift: d },
                                        { type: "elem", elem: o, shift: -u },
                                    ],
                                },
                                e
                            ));
                    }
                    return (
                        (r = e.havingStyle(a)),
                        (f.height *= r.sizeMultiplier / e.sizeMultiplier),
                        (f.depth *= r.sizeMultiplier / e.sizeMultiplier),
                        (g = a.size === w.DISPLAY.size ? e.fontMetrics().delim1 : e.fontMetrics().delim2),
                        (x = null == t.leftDelim ? ce(e, ["mopen"]) : sr(t.leftDelim, g, !0, e.havingStyle(a), t.mode, ["mopen"])),
                        (v = t.continued ? Dt.makeSpan([]) : null == t.rightDelim ? ce(e, ["mclose"]) : sr(t.rightDelim, g, !0, e.havingStyle(a), t.mode, ["mclose"])),
                        Dt.makeSpan(["mord"].concat(r.sizingClasses(e)), [x, Dt.makeSpan(["mfrac"], [f]), v], e)
                    );
                },
                Or = function (t, e) {
                    var r = new ve.MathNode("mfrac", [Me(t.numer, e), Me(t.denom, e)]);
                    if (t.hasBarLine) {
                        if (t.barSize) {
                            var a = Tt(t.barSize, e);
                            r.setAttribute("linethickness", a + "em");
                        }
                    } else r.setAttribute("linethickness", "0px");
                    var n = Ir(t.size, e.style);
                    if (n.size !== e.style.size) {
                        r = new ve.MathNode("mstyle", [r]);
                        var i = n.size === w.DISPLAY.size ? "true" : "false";
                        r.setAttribute("displaystyle", i), r.setAttribute("scriptlevel", "0");
                    }
                    if (null != t.leftDelim || null != t.rightDelim) {
                        var o = [];
                        if (null != t.leftDelim) {
                            var s = new ve.MathNode("mo", [new ve.TextNode(t.leftDelim.replace("\\", ""))]);
                            s.setAttribute("fence", "true"), o.push(s);
                        }
                        if ((o.push(r), null != t.rightDelim)) {
                            var h = new ve.MathNode("mo", [new ve.TextNode(t.rightDelim.replace("\\", ""))]);
                            h.setAttribute("fence", "true"), o.push(h);
                        }
                        return ye(o);
                    }
                    return r;
                };
            Qt({
                type: "genfrac",
                names: ["\\cfrac", "\\dfrac", "\\frac", "\\tfrac", "\\dbinom", "\\binom", "\\tbinom", "\\\\atopfrac", "\\\\bracefrac", "\\\\brackfrac"],
                props: { numArgs: 2, greediness: 2 },
                handler: function (t, e) {
                    var r,
                        a = t.parser,
                        n = t.funcName,
                        i = e[0],
                        o = e[1],
                        s = null,
                        h = null,
                        l = "auto";
                    switch (n) {
                        case "\\cfrac":
                        case "\\dfrac":
                        case "\\frac":
                        case "\\tfrac":
                            r = !0;
                            break;
                        case "\\\\atopfrac":
                            r = !1;
                            break;
                        case "\\dbinom":
                        case "\\binom":
                        case "\\tbinom":
                            (r = !1), (s = "("), (h = ")");
                            break;
                        case "\\\\bracefrac":
                            (r = !1), (s = "\\{"), (h = "\\}");
                            break;
                        case "\\\\brackfrac":
                            (r = !1), (s = "["), (h = "]");
                            break;
                        default:
                            throw new Error("Unrecognized genfrac command");
                    }
                    switch (n) {
                        case "\\cfrac":
                        case "\\dfrac":
                        case "\\dbinom":
                            l = "display";
                            break;
                        case "\\tfrac":
                        case "\\tbinom":
                            l = "text";
                    }
                    return { type: "genfrac", mode: a.mode, continued: "\\cfrac" === n, numer: i, denom: o, hasBarLine: r, leftDelim: s, rightDelim: h, size: l, barSize: null };
                },
                htmlBuilder: Rr,
                mathmlBuilder: Or,
            }),
                Qt({
                    type: "infix",
                    names: ["\\over", "\\choose", "\\atop", "\\brace", "\\brack"],
                    props: { numArgs: 0, infix: !0 },
                    handler: function (t) {
                        var e,
                            r = t.parser,
                            a = t.funcName,
                            n = t.token;
                        switch (a) {
                            case "\\over":
                                e = "\\frac";
                                break;
                            case "\\choose":
                                e = "\\binom";
                                break;
                            case "\\atop":
                                e = "\\\\atopfrac";
                                break;
                            case "\\brace":
                                e = "\\\\bracefrac";
                                break;
                            case "\\brack":
                                e = "\\\\brackfrac";
                                break;
                            default:
                                throw new Error("Unrecognized infix genfrac command");
                        }
                        return { type: "infix", mode: r.mode, replaceWith: e, token: n };
                    },
                });
            var Er = ["display", "text", "script", "scriptscript"],
                Lr = function (t) {
                    var e = null;
                    return t.length > 0 && (e = "." === (e = t) ? null : e), e;
                };
            Qt({
                type: "genfrac",
                names: ["\\genfrac"],
                props: { numArgs: 6, greediness: 6, argTypes: ["math", "math", "size", "text", "math", "math"] },
                handler: function (t, e) {
                    var r = t.parser,
                        a = e[4],
                        n = e[5],
                        i = Vt(e[0], "atom");
                    i && (i = Ut(e[0], "open"));
                    var o = i ? Lr(i.text) : null,
                        s = Vt(e[1], "atom");
                    s && (s = Ut(e[1], "close"));
                    var h,
                        l = s ? Lr(s.text) : null,
                        m = Ft(e[2], "size"),
                        c = null;
                    h = !!m.isBlank || (c = m.value).number > 0;
                    var u = "auto",
                        p = Vt(e[3], "ordgroup");
                    if (p) {
                        if (p.body.length > 0) {
                            var d = Ft(p.body[0], "textord");
                            u = Er[Number(d.text)];
                        }
                    } else (p = Ft(e[3], "textord")), (u = Er[Number(p.text)]);
                    return { type: "genfrac", mode: r.mode, numer: a, denom: n, continued: !1, hasBarLine: h, barSize: c, leftDelim: o, rightDelim: l, size: u };
                },
                htmlBuilder: Rr,
                mathmlBuilder: Or,
            }),
                Qt({
                    type: "infix",
                    names: ["\\above"],
                    props: { numArgs: 1, argTypes: ["size"], infix: !0 },
                    handler: function (t, e) {
                        var r = t.parser,
                            a = (t.funcName, t.token);
                        return { type: "infix", mode: r.mode, replaceWith: "\\\\abovefrac", size: Ft(e[0], "size").value, token: a };
                    },
                }),
                Qt({
                    type: "genfrac",
                    names: ["\\\\abovefrac"],
                    props: { numArgs: 3, argTypes: ["math", "size", "math"] },
                    handler: function (t, e) {
                        var r = t.parser,
                            a = (t.funcName, e[0]),
                            n = (function (t) {
                                if (!t) throw new Error("Expected non-null, but got " + String(t));
                                return t;
                            })(Ft(e[1], "infix").size),
                            i = e[2],
                            o = n.number > 0;
                        return { type: "genfrac", mode: r.mode, numer: a, denom: i, continued: !1, hasBarLine: o, barSize: n, leftDelim: null, rightDelim: null, size: "auto" };
                    },
                    htmlBuilder: Rr,
                    mathmlBuilder: Or,
                });
            var Hr = function (t, e) {
                var r,
                    a,
                    n = e.style,
                    i = Vt(t, "supsub");
                i ? ((r = i.sup ? ue(i.sup, e.havingStyle(n.sup()), e) : ue(i.sub, e.havingStyle(n.sub()), e)), (a = Ft(i.base, "horizBrace"))) : (a = Ft(t, "horizBrace"));
                var o,
                    s = ue(a.base, e.havingBaseStyle(w.DISPLAY)),
                    h = Oe(a, e);
                if (
                    (a.isOver
                        ? (o = Dt.makeVList(
                              {
                                  positionType: "firstBaseline",
                                  children: [
                                      { type: "elem", elem: s },
                                      { type: "kern", size: 0.1 },
                                      { type: "elem", elem: h },
                                  ],
                              },
                              e
                          )).children[0].children[0].children[1].classes.push("svg-align")
                        : (o = Dt.makeVList(
                              {
                                  positionType: "bottom",
                                  positionData: s.depth + 0.1 + h.height,
                                  children: [
                                      { type: "elem", elem: h },
                                      { type: "kern", size: 0.1 },
                                      { type: "elem", elem: s },
                                  ],
                              },
                              e
                          )).children[0].children[0].children[0].classes.push("svg-align"),
                    r)
                ) {
                    var l = Dt.makeSpan(["mord", a.isOver ? "mover" : "munder"], [o], e);
                    o = a.isOver
                        ? Dt.makeVList(
                              {
                                  positionType: "firstBaseline",
                                  children: [
                                      { type: "elem", elem: l },
                                      { type: "kern", size: 0.2 },
                                      { type: "elem", elem: r },
                                  ],
                              },
                              e
                          )
                        : Dt.makeVList(
                              {
                                  positionType: "bottom",
                                  positionData: l.depth + 0.2 + r.height + r.depth,
                                  children: [
                                      { type: "elem", elem: r },
                                      { type: "kern", size: 0.2 },
                                      { type: "elem", elem: l },
                                  ],
                              },
                              e
                          );
                }
                return Dt.makeSpan(["mord", a.isOver ? "mover" : "munder"], [o], e);
            };
            Qt({
                type: "horizBrace",
                names: ["\\overbrace", "\\underbrace"],
                props: { numArgs: 1 },
                handler: function (t, e) {
                    var r = t.parser,
                        a = t.funcName;
                    return { type: "horizBrace", mode: r.mode, label: a, isOver: /^\\over/.test(a), base: e[0] };
                },
                htmlBuilder: Hr,
                mathmlBuilder: function (t, e) {
                    var r = Re(t.label);
                    return new ve.MathNode(t.isOver ? "mover" : "munder", [Me(t.base, e), r]);
                },
            }),
                Qt({
                    type: "href",
                    names: ["\\href"],
                    props: { numArgs: 2, argTypes: ["url", "original"], allowedInText: !0 },
                    handler: function (t, e) {
                        var r = t.parser,
                            a = e[1],
                            n = Ft(e[0], "url").url;
                        return r.settings.isTrusted({ command: "\\href", url: n }) ? { type: "href", mode: r.mode, href: n, body: ee(a) } : r.formatUnsupportedCmd("\\href");
                    },
                    htmlBuilder: function (t, e) {
                        var r = se(t.body, e, !1);
                        return Dt.makeAnchor(t.href, [], r, e);
                    },
                    mathmlBuilder: function (t, e) {
                        var r = Se(t.body, e);
                        return r instanceof ge || (r = new ge("mrow", [r])), r.setAttribute("href", t.href), r;
                    },
                }),
                Qt({
                    type: "href",
                    names: ["\\url"],
                    props: { numArgs: 1, argTypes: ["url"], allowedInText: !0 },
                    handler: function (t, e) {
                        var r = t.parser,
                            a = Ft(e[0], "url").url;
                        if (!r.settings.isTrusted({ command: "\\url", url: a })) return r.formatUnsupportedCmd("\\url");
                        for (var n = [], i = 0; i < a.length; i++) {
                            var o = a[i];
                            "~" === o && (o = "\\textasciitilde"), n.push({ type: "textord", mode: "text", text: o });
                        }
                        var s = { type: "text", mode: r.mode, font: "\\texttt", body: n };
                        return { type: "href", mode: r.mode, href: a, body: ee(s) };
                    },
                }),
                Qt({
                    type: "htmlmathml",
                    names: ["\\html@mathml"],
                    props: { numArgs: 2, allowedInText: !0 },
                    handler: function (t, e) {
                        return { type: "htmlmathml", mode: t.parser.mode, html: ee(e[0]), mathml: ee(e[1]) };
                    },
                    htmlBuilder: function (t, e) {
                        var r = se(t.html, e, !1);
                        return Dt.makeFragment(r);
                    },
                    mathmlBuilder: function (t, e) {
                        return Se(t.mathml, e);
                    },
                });
            var Pr = function (t) {
                if (/^[-+]? *(\d+(\.\d*)?|\.\d+)$/.test(t)) return { number: +t, unit: "bp" };
                var e = /([-+]?) *(\d+(?:\.\d*)?|\.\d+) *([a-z]{2})/.exec(t);
                if (!e) throw new o("Invalid size: '" + t + "' in \\includegraphics");
                var r = { number: +(e[1] + e[2]), unit: e[3] };
                if (!At(r)) throw new o("Invalid unit: '" + r.unit + "' in \\includegraphics.");
                return r;
            };
            Qt({
                type: "includegraphics",
                names: ["\\includegraphics"],
                props: { numArgs: 1, numOptionalArgs: 1, argTypes: ["raw", "url"], allowedInText: !1 },
                handler: function (t, e, r) {
                    var a = t.parser,
                        n = { number: 0, unit: "em" },
                        i = { number: 0.9, unit: "em" },
                        s = { number: 0, unit: "em" },
                        h = "";
                    if (r[0])
                        for (var l = Ft(r[0], "raw").string.split(","), m = 0; m < l.length; m++) {
                            var c = l[m].split("=");
                            if (2 === c.length) {
                                var u = c[1].trim();
                                switch (c[0].trim()) {
                                    case "alt":
                                        h = u;
                                        break;
                                    case "width":
                                        n = Pr(u);
                                        break;
                                    case "height":
                                        i = Pr(u);
                                        break;
                                    case "totalheight":
                                        s = Pr(u);
                                        break;
                                    default:
                                        throw new o("Invalid key: '" + c[0] + "' in \\includegraphics.");
                                }
                            }
                        }
                    var p = Ft(e[0], "url").url;
                    return (
                        "" === h && (h = (h = (h = p).replace(/^.*[\\\/]/, "")).substring(0, h.lastIndexOf("."))),
                        a.settings.isTrusted({ command: "\\includegraphics", url: p }) ? { type: "includegraphics", mode: a.mode, alt: h, width: n, height: i, totalheight: s, src: p } : a.formatUnsupportedCmd("\\includegraphics")
                    );
                },
                htmlBuilder: function (t, e) {
                    var r = Tt(t.height, e),
                        a = 0;
                    t.totalheight.number > 0 && ((a = Tt(t.totalheight, e) - r), (a = Number(a.toFixed(2))));
                    var n = 0;
                    t.width.number > 0 && (n = Tt(t.width, e));
                    var i = { height: r + a + "em" };
                    n > 0 && (i.width = n + "em"), a > 0 && (i.verticalAlign = -a + "em");
                    var o = new R(t.src, t.alt, i);
                    return (o.height = r), (o.depth = a), o;
                },
                mathmlBuilder: function (t, e) {
                    var r = new ve.MathNode("mglyph", []);
                    r.setAttribute("alt", t.alt);
                    var a = Tt(t.height, e),
                        n = 0;
                    if ((t.totalheight.number > 0 && ((n = (n = Tt(t.totalheight, e) - a).toFixed(2)), r.setAttribute("valign", "-" + n + "em")), r.setAttribute("height", a + n + "em"), t.width.number > 0)) {
                        var i = Tt(t.width, e);
                        r.setAttribute("width", i + "em");
                    }
                    return r.setAttribute("src", t.src), r;
                },
            }),
                Qt({
                    type: "kern",
                    names: ["\\kern", "\\mkern", "\\hskip", "\\mskip"],
                    props: { numArgs: 1, argTypes: ["size"], allowedInText: !0 },
                    handler: function (t, e) {
                        var r = t.parser,
                            a = t.funcName,
                            n = Ft(e[0], "size");
                        if (r.settings.strict) {
                            var i = "m" === a[1],
                                o = "mu" === n.value.unit;
                            i
                                ? (o || r.settings.reportNonstrict("mathVsTextUnits", "LaTeX's " + a + " supports only mu units, not " + n.value.unit + " units"),
                                  "math" !== r.mode && r.settings.reportNonstrict("mathVsTextUnits", "LaTeX's " + a + " works only in math mode"))
                                : o && r.settings.reportNonstrict("mathVsTextUnits", "LaTeX's " + a + " doesn't support mu units");
                        }
                        return { type: "kern", mode: r.mode, dimension: n.value };
                    },
                    htmlBuilder: function (t, e) {
                        return Dt.makeGlue(t.dimension, e);
                    },
                    mathmlBuilder: function (t, e) {
                        var r = Tt(t.dimension, e);
                        return new ve.SpaceNode(r);
                    },
                }),
                Qt({
                    type: "lap",
                    names: ["\\mathllap", "\\mathrlap", "\\mathclap"],
                    props: { numArgs: 1, allowedInText: !0 },
                    handler: function (t, e) {
                        var r = t.parser,
                            a = t.funcName,
                            n = e[0];
                        return { type: "lap", mode: r.mode, alignment: a.slice(5), body: n };
                    },
                    htmlBuilder: function (t, e) {
                        var r;
                        "clap" === t.alignment ? ((r = Dt.makeSpan([], [ue(t.body, e)])), (r = Dt.makeSpan(["inner"], [r], e))) : (r = Dt.makeSpan(["inner"], [ue(t.body, e)]));
                        var a = Dt.makeSpan(["fix"], []),
                            n = Dt.makeSpan([t.alignment], [r, a], e),
                            i = Dt.makeSpan(["strut"]);
                        return (
                            (i.style.height = n.height + n.depth + "em"),
                            (i.style.verticalAlign = -n.depth + "em"),
                            n.children.unshift(i),
                            (n = Dt.makeVList({ positionType: "firstBaseline", children: [{ type: "elem", elem: n }] }, e)),
                            Dt.makeSpan(["mord"], [n], e)
                        );
                    },
                    mathmlBuilder: function (t, e) {
                        var r = new ve.MathNode("mpadded", [Me(t.body, e)]);
                        if ("rlap" !== t.alignment) {
                            var a = "llap" === t.alignment ? "-1" : "-0.5";
                            r.setAttribute("lspace", a + "width");
                        }
                        return r.setAttribute("width", "0px"), r;
                    },
                }),
                Qt({
                    type: "styling",
                    names: ["\\(", "$"],
                    props: { numArgs: 0, allowedInText: !0, allowedInMath: !1 },
                    handler: function (t, e) {
                        var r = t.funcName,
                            a = t.parser,
                            n = a.mode;
                        a.switchMode("math");
                        var i = "\\(" === r ? "\\)" : "$",
                            o = a.parseExpression(!1, i);
                        return a.expect(i), a.switchMode(n), { type: "styling", mode: a.mode, style: "text", body: o };
                    },
                }),
                Qt({
                    type: "text",
                    names: ["\\)", "\\]"],
                    props: { numArgs: 0, allowedInText: !0, allowedInMath: !1 },
                    handler: function (t, e) {
                        throw new o("Mismatched " + t.funcName);
                    },
                });
            var Dr = function (t, e) {
                switch (e.style.size) {
                    case w.DISPLAY.size:
                        return t.display;
                    case w.TEXT.size:
                        return t.text;
                    case w.SCRIPT.size:
                        return t.script;
                    case w.SCRIPTSCRIPT.size:
                        return t.scriptscript;
                    default:
                        return t.text;
                }
            };
            Qt({
                type: "mathchoice",
                names: ["\\mathchoice"],
                props: { numArgs: 4 },
                handler: function (t, e) {
                    return { type: "mathchoice", mode: t.parser.mode, display: ee(e[0]), text: ee(e[1]), script: ee(e[2]), scriptscript: ee(e[3]) };
                },
                htmlBuilder: function (t, e) {
                    var r = Dr(t, e),
                        a = se(r, e, !1);
                    return Dt.makeFragment(a);
                },
                mathmlBuilder: function (t, e) {
                    var r = Dr(t, e);
                    return Se(r, e);
                },
            });
            var Fr = function (t, e, r, a, n, i, o) {
                    var s, h, l;
                    if (((t = Dt.makeSpan([], [t])), e)) {
                        var m = ue(e, a.havingStyle(n.sup()), a);
                        h = { elem: m, kern: Math.max(a.fontMetrics().bigOpSpacing1, a.fontMetrics().bigOpSpacing3 - m.depth) };
                    }
                    if (r) {
                        var c = ue(r, a.havingStyle(n.sub()), a);
                        s = { elem: c, kern: Math.max(a.fontMetrics().bigOpSpacing2, a.fontMetrics().bigOpSpacing4 - c.height) };
                    }
                    if (h && s) {
                        var u = a.fontMetrics().bigOpSpacing5 + s.elem.height + s.elem.depth + s.kern + t.depth + o;
                        l = Dt.makeVList(
                            {
                                positionType: "bottom",
                                positionData: u,
                                children: [
                                    { type: "kern", size: a.fontMetrics().bigOpSpacing5 },
                                    { type: "elem", elem: s.elem, marginLeft: -i + "em" },
                                    { type: "kern", size: s.kern },
                                    { type: "elem", elem: t },
                                    { type: "kern", size: h.kern },
                                    { type: "elem", elem: h.elem, marginLeft: i + "em" },
                                    { type: "kern", size: a.fontMetrics().bigOpSpacing5 },
                                ],
                            },
                            a
                        );
                    } else if (s) {
                        var p = t.height - o;
                        l = Dt.makeVList(
                            {
                                positionType: "top",
                                positionData: p,
                                children: [
                                    { type: "kern", size: a.fontMetrics().bigOpSpacing5 },
                                    { type: "elem", elem: s.elem, marginLeft: -i + "em" },
                                    { type: "kern", size: s.kern },
                                    { type: "elem", elem: t },
                                ],
                            },
                            a
                        );
                    } else {
                        if (!h) return t;
                        var d = t.depth + o;
                        l = Dt.makeVList(
                            {
                                positionType: "bottom",
                                positionData: d,
                                children: [
                                    { type: "elem", elem: t },
                                    { type: "kern", size: h.kern },
                                    { type: "elem", elem: h.elem, marginLeft: i + "em" },
                                    { type: "kern", size: a.fontMetrics().bigOpSpacing5 },
                                ],
                            },
                            a
                        );
                    }
                    return Dt.makeSpan(["mop", "op-limits"], [l], a);
                },
                Vr = ["\\smallint"],
                Ur = function (t, e) {
                    var r,
                        a,
                        n,
                        i = !1,
                        o = Vt(t, "supsub");
                    o ? ((r = o.sup), (a = o.sub), (n = Ft(o.base, "op")), (i = !0)) : (n = Ft(t, "op"));
                    var s,
                        h = e.style,
                        l = !1;
                    if ((h.size === w.DISPLAY.size && n.symbol && !c.contains(Vr, n.name) && (l = !0), n.symbol)) {
                        var m = l ? "Size2-Regular" : "Size1-Regular",
                            u = "";
                        if (
                            (("\\oiint" !== n.name && "\\oiiint" !== n.name) || ((u = n.name.substr(1)), (n.name = "oiint" === u ? "\\iint" : "\\iiint")),
                            (s = Dt.makeSymbol(n.name, m, "math", e, ["mop", "op-symbol", l ? "large-op" : "small-op"])),
                            u.length > 0)
                        ) {
                            var p = s.italic,
                                d = Dt.staticSvg(u + "Size" + (l ? "2" : "1"), e);
                            (s = Dt.makeVList(
                                {
                                    positionType: "individualShift",
                                    children: [
                                        { type: "elem", elem: s, shift: 0 },
                                        { type: "elem", elem: d, shift: l ? 0.08 : 0 },
                                    ],
                                },
                                e
                            )),
                                (n.name = "\\" + u),
                                s.classes.unshift("mop"),
                                (s.italic = p);
                        }
                    } else if (n.body) {
                        var f = se(n.body, e, !0);
                        1 === f.length && f[0] instanceof E ? ((s = f[0]).classes[0] = "mop") : (s = Dt.makeSpan(["mop"], Dt.tryCombineChars(f), e));
                    } else {
                        for (var g = [], x = 1; x < n.name.length; x++) g.push(Dt.mathsym(n.name[x], n.mode, e));
                        s = Dt.makeSpan(["mop"], g, e);
                    }
                    var v = 0,
                        b = 0;
                    return (
                        (s instanceof E || "\\oiint" === n.name || "\\oiiint" === n.name) && !n.suppressBaseShift && ((v = (s.height - s.depth) / 2 - e.fontMetrics().axisHeight), (b = s.italic)),
                        i ? Fr(s, r, a, e, h, b, v) : (v && ((s.style.position = "relative"), (s.style.top = v + "em")), s)
                    );
                },
                Gr = function (t, e) {
                    var r;
                    if (t.symbol) (r = new ge("mo", [be(t.name, t.mode)])), c.contains(Vr, t.name) && r.setAttribute("largeop", "false");
                    else if (t.body) r = new ge("mo", ke(t.body, e));
                    else {
                        r = new ge("mi", [new xe(t.name.slice(1))]);
                        var a = new ge("mo", [be("\u2061", "text")]);
                        r = t.parentIsSupSub ? new ge("mo", [r, a]) : fe([r, a]);
                    }
                    return r;
                },
                Yr = {
                    "\u220f": "\\prod",
                    "\u2210": "\\coprod",
                    "\u2211": "\\sum",
                    "\u22c0": "\\bigwedge",
                    "\u22c1": "\\bigvee",
                    "\u22c2": "\\bigcap",
                    "\u22c3": "\\bigcup",
                    "\u2a00": "\\bigodot",
                    "\u2a01": "\\bigoplus",
                    "\u2a02": "\\bigotimes",
                    "\u2a04": "\\biguplus",
                    "\u2a06": "\\bigsqcup",
                };
            Qt({
                type: "op",
                names: [
                    "\\coprod",
                    "\\bigvee",
                    "\\bigwedge",
                    "\\biguplus",
                    "\\bigcap",
                    "\\bigcup",
                    "\\intop",
                    "\\prod",
                    "\\sum",
                    "\\bigotimes",
                    "\\bigoplus",
                    "\\bigodot",
                    "\\bigsqcup",
                    "\\smallint",
                    "\u220f",
                    "\u2210",
                    "\u2211",
                    "\u22c0",
                    "\u22c1",
                    "\u22c2",
                    "\u22c3",
                    "\u2a00",
                    "\u2a01",
                    "\u2a02",
                    "\u2a04",
                    "\u2a06",
                ],
                props: { numArgs: 0 },
                handler: function (t, e) {
                    var r = t.parser,
                        a = t.funcName;
                    return 1 === a.length && (a = Yr[a]), { type: "op", mode: r.mode, limits: !0, parentIsSupSub: !1, symbol: !0, name: a };
                },
                htmlBuilder: Ur,
                mathmlBuilder: Gr,
            }),
                Qt({
                    type: "op",
                    names: ["\\mathop"],
                    props: { numArgs: 1 },
                    handler: function (t, e) {
                        var r = t.parser,
                            a = e[0];
                        return { type: "op", mode: r.mode, limits: !1, parentIsSupSub: !1, symbol: !1, body: ee(a) };
                    },
                    htmlBuilder: Ur,
                    mathmlBuilder: Gr,
                });
            var Wr = { "\u222b": "\\int", "\u222c": "\\iint", "\u222d": "\\iiint", "\u222e": "\\oint", "\u222f": "\\oiint", "\u2230": "\\oiiint" };
            Qt({
                type: "op",
                names: [
                    "\\arcsin",
                    "\\arccos",
                    "\\arctan",
                    "\\arctg",
                    "\\arcctg",
                    "\\arg",
                    "\\ch",
                    "\\cos",
                    "\\cosec",
                    "\\cosh",
                    "\\cot",
                    "\\cotg",
                    "\\coth",
                    "\\csc",
                    "\\ctg",
                    "\\cth",
                    "\\deg",
                    "\\dim",
                    "\\exp",
                    "\\hom",
                    "\\ker",
                    "\\lg",
                    "\\ln",
                    "\\log",
                    "\\sec",
                    "\\sin",
                    "\\sinh",
                    "\\sh",
                    "\\tan",
                    "\\tanh",
                    "\\tg",
                    "\\th",
                ],
                props: { numArgs: 0 },
                handler: function (t) {
                    var e = t.parser,
                        r = t.funcName;
                    return { type: "op", mode: e.mode, limits: !1, parentIsSupSub: !1, symbol: !1, name: r };
                },
                htmlBuilder: Ur,
                mathmlBuilder: Gr,
            }),
                Qt({
                    type: "op",
                    names: ["\\det", "\\gcd", "\\inf", "\\lim", "\\max", "\\min", "\\Pr", "\\sup"],
                    props: { numArgs: 0 },
                    handler: function (t) {
                        var e = t.parser,
                            r = t.funcName;
                        return { type: "op", mode: e.mode, limits: !0, parentIsSupSub: !1, symbol: !1, name: r };
                    },
                    htmlBuilder: Ur,
                    mathmlBuilder: Gr,
                }),
                Qt({
                    type: "op",
                    names: ["\\int", "\\iint", "\\iiint", "\\oint", "\\oiint", "\\oiiint", "\u222b", "\u222c", "\u222d", "\u222e", "\u222f", "\u2230"],
                    props: { numArgs: 0 },
                    handler: function (t) {
                        var e = t.parser,
                            r = t.funcName;
                        return 1 === r.length && (r = Wr[r]), { type: "op", mode: e.mode, limits: !1, parentIsSupSub: !1, symbol: !0, name: r };
                    },
                    htmlBuilder: Ur,
                    mathmlBuilder: Gr,
                });
            var Xr = function (t, e) {
                var r,
                    a,
                    n,
                    i,
                    o = !1,
                    s = Vt(t, "supsub");
                if ((s ? ((r = s.sup), (a = s.sub), (n = Ft(s.base, "operatorname")), (o = !0)) : (n = Ft(t, "operatorname")), n.body.length > 0)) {
                    for (
                        var h = n.body.map(function (t) {
                                var e = t.text;
                                return "string" == typeof e ? { type: "textord", mode: t.mode, text: e } : t;
                            }),
                            l = se(h, e.withFont("mathrm"), !0),
                            m = 0;
                        m < l.length;
                        m++
                    ) {
                        var c = l[m];
                        c instanceof E && (c.text = c.text.replace(/\u2212/, "-").replace(/\u2217/, "*"));
                    }
                    i = Dt.makeSpan(["mop"], l, e);
                } else i = Dt.makeSpan(["mop"], [], e);
                return o ? Fr(i, r, a, e, e.style, 0, 0) : i;
            };
            function _r(t, e, r) {
                for (var a = se(t, e, !1), n = e.sizeMultiplier / r.sizeMultiplier, i = 0; i < a.length; i++) {
                    var o = a[i].classes.indexOf("sizing");
                    o < 0 ? Array.prototype.push.apply(a[i].classes, e.sizingClasses(r)) : a[i].classes[o + 1] === "reset-size" + e.size && (a[i].classes[o + 1] = "reset-size" + r.size), (a[i].height *= n), (a[i].depth *= n);
                }
                return Dt.makeFragment(a);
            }
            Qt({
                type: "operatorname",
                names: ["\\operatorname", "\\operatorname*"],
                props: { numArgs: 1 },
                handler: function (t, e) {
                    var r = t.parser,
                        a = t.funcName,
                        n = e[0];
                    return { type: "operatorname", mode: r.mode, body: ee(n), alwaysHandleSupSub: "\\operatorname*" === a, limits: !1, parentIsSupSub: !1 };
                },
                htmlBuilder: Xr,
                mathmlBuilder: function (t, e) {
                    for (var r = ke(t.body, e.withFont("mathrm")), a = !0, n = 0; n < r.length; n++) {
                        var i = r[n];
                        if (i instanceof ve.SpaceNode);
                        else if (i instanceof ve.MathNode)
                            switch (i.type) {
                                case "mi":
                                case "mn":
                                case "ms":
                                case "mspace":
                                case "mtext":
                                    break;
                                case "mo":
                                    var o = i.children[0];
                                    1 === i.children.length && o instanceof ve.TextNode ? (o.text = o.text.replace(/\u2212/, "-").replace(/\u2217/, "*")) : (a = !1);
                                    break;
                                default:
                                    a = !1;
                            }
                        else a = !1;
                    }
                    if (a) {
                        var s = r
                            .map(function (t) {
                                return t.toText();
                            })
                            .join("");
                        r = [new ve.TextNode(s)];
                    }
                    var h = new ve.MathNode("mi", r);
                    h.setAttribute("mathvariant", "normal");
                    var l = new ve.MathNode("mo", [be("\u2061", "text")]);
                    return t.parentIsSupSub ? new ve.MathNode("mo", [h, l]) : ve.newDocumentFragment([h, l]);
                },
            }),
                te({
                    type: "ordgroup",
                    htmlBuilder: function (t, e) {
                        return t.semisimple ? Dt.makeFragment(se(t.body, e, !1)) : Dt.makeSpan(["mord"], se(t.body, e, !0), e);
                    },
                    mathmlBuilder: function (t, e) {
                        return Se(t.body, e, !0);
                    },
                }),
                Qt({
                    type: "overline",
                    names: ["\\overline"],
                    props: { numArgs: 1 },
                    handler: function (t, e) {
                        var r = t.parser,
                            a = e[0];
                        return { type: "overline", mode: r.mode, body: a };
                    },
                    htmlBuilder: function (t, e) {
                        var r = ue(t.body, e.havingCrampedStyle()),
                            a = Dt.makeLineSpan("overline-line", e),
                            n = e.fontMetrics().defaultRuleThickness,
                            i = Dt.makeVList(
                                {
                                    positionType: "firstBaseline",
                                    children: [
                                        { type: "elem", elem: r },
                                        { type: "kern", size: 3 * n },
                                        { type: "elem", elem: a },
                                        { type: "kern", size: n },
                                    ],
                                },
                                e
                            );
                        return Dt.makeSpan(["mord", "overline"], [i], e);
                    },
                    mathmlBuilder: function (t, e) {
                        var r = new ve.MathNode("mo", [new ve.TextNode("\u203e")]);
                        r.setAttribute("stretchy", "true");
                        var a = new ve.MathNode("mover", [Me(t.body, e), r]);
                        return a.setAttribute("accent", "true"), a;
                    },
                }),
                Qt({
                    type: "phantom",
                    names: ["\\phantom"],
                    props: { numArgs: 1, allowedInText: !0 },
                    handler: function (t, e) {
                        var r = t.parser,
                            a = e[0];
                        return { type: "phantom", mode: r.mode, body: ee(a) };
                    },
                    htmlBuilder: function (t, e) {
                        var r = se(t.body, e.withPhantom(), !1);
                        return Dt.makeFragment(r);
                    },
                    mathmlBuilder: function (t, e) {
                        var r = ke(t.body, e);
                        return new ve.MathNode("mphantom", r);
                    },
                }),
                Qt({
                    type: "hphantom",
                    names: ["\\hphantom"],
                    props: { numArgs: 1, allowedInText: !0 },
                    handler: function (t, e) {
                        var r = t.parser,
                            a = e[0];
                        return { type: "hphantom", mode: r.mode, body: a };
                    },
                    htmlBuilder: function (t, e) {
                        var r = Dt.makeSpan([], [ue(t.body, e.withPhantom())]);
                        if (((r.height = 0), (r.depth = 0), r.children)) for (var a = 0; a < r.children.length; a++) (r.children[a].height = 0), (r.children[a].depth = 0);
                        return (r = Dt.makeVList({ positionType: "firstBaseline", children: [{ type: "elem", elem: r }] }, e)), Dt.makeSpan(["mord"], [r], e);
                    },
                    mathmlBuilder: function (t, e) {
                        var r = ke(ee(t.body), e),
                            a = new ve.MathNode("mphantom", r),
                            n = new ve.MathNode("mpadded", [a]);
                        return n.setAttribute("height", "0px"), n.setAttribute("depth", "0px"), n;
                    },
                }),
                Qt({
                    type: "vphantom",
                    names: ["\\vphantom"],
                    props: { numArgs: 1, allowedInText: !0 },
                    handler: function (t, e) {
                        var r = t.parser,
                            a = e[0];
                        return { type: "vphantom", mode: r.mode, body: a };
                    },
                    htmlBuilder: function (t, e) {
                        var r = Dt.makeSpan(["inner"], [ue(t.body, e.withPhantom())]),
                            a = Dt.makeSpan(["fix"], []);
                        return Dt.makeSpan(["mord", "rlap"], [r, a], e);
                    },
                    mathmlBuilder: function (t, e) {
                        var r = ke(ee(t.body), e),
                            a = new ve.MathNode("mphantom", r),
                            n = new ve.MathNode("mpadded", [a]);
                        return n.setAttribute("width", "0px"), n;
                    },
                }),
                Qt({
                    type: "raisebox",
                    names: ["\\raisebox"],
                    props: { numArgs: 2, argTypes: ["size", "hbox"], allowedInText: !0 },
                    handler: function (t, e) {
                        var r = t.parser,
                            a = Ft(e[0], "size").value,
                            n = e[1];
                        return { type: "raisebox", mode: r.mode, dy: a, body: n };
                    },
                    htmlBuilder: function (t, e) {
                        var r = ue(t.body, e),
                            a = Tt(t.dy, e);
                        return Dt.makeVList({ positionType: "shift", positionData: -a, children: [{ type: "elem", elem: r }] }, e);
                    },
                    mathmlBuilder: function (t, e) {
                        var r = new ve.MathNode("mpadded", [Me(t.body, e)]),
                            a = t.dy.number + t.dy.unit;
                        return r.setAttribute("voffset", a), r;
                    },
                }),
                Qt({
                    type: "rule",
                    names: ["\\rule"],
                    props: { numArgs: 2, numOptionalArgs: 1, argTypes: ["size", "size", "size"] },
                    handler: function (t, e, r) {
                        var a = t.parser,
                            n = r[0],
                            i = Ft(e[0], "size"),
                            o = Ft(e[1], "size");
                        return { type: "rule", mode: a.mode, shift: n && Ft(n, "size").value, width: i.value, height: o.value };
                    },
                    htmlBuilder: function (t, e) {
                        var r = Dt.makeSpan(["mord", "rule"], [], e),
                            a = Tt(t.width, e),
                            n = Tt(t.height, e),
                            i = t.shift ? Tt(t.shift, e) : 0;
                        return (r.style.borderRightWidth = a + "em"), (r.style.borderTopWidth = n + "em"), (r.style.bottom = i + "em"), (r.width = a), (r.height = n + i), (r.depth = -i), (r.maxFontSize = 1.125 * n * e.sizeMultiplier), r;
                    },
                    mathmlBuilder: function (t, e) {
                        var r = Tt(t.width, e),
                            a = Tt(t.height, e),
                            n = t.shift ? Tt(t.shift, e) : 0,
                            i = (e.color && e.getColor()) || "black",
                            o = new ve.MathNode("mspace");
                        o.setAttribute("mathbackground", i), o.setAttribute("width", r + "em"), o.setAttribute("height", a + "em");
                        var s = new ve.MathNode("mpadded", [o]);
                        return n >= 0 ? s.setAttribute("height", "+" + n + "em") : (s.setAttribute("height", n + "em"), s.setAttribute("depth", "+" + -n + "em")), s.setAttribute("voffset", n + "em"), s;
                    },
                });
            var jr = ["\\tiny", "\\sixptsize", "\\scriptsize", "\\footnotesize", "\\small", "\\normalsize", "\\large", "\\Large", "\\LARGE", "\\huge", "\\Huge"];
            Qt({
                type: "sizing",
                names: jr,
                props: { numArgs: 0, allowedInText: !0 },
                handler: function (t, e) {
                    var r = t.breakOnTokenText,
                        a = t.funcName,
                        n = t.parser,
                        i = n.parseExpression(!1, r);
                    return { type: "sizing", mode: n.mode, size: jr.indexOf(a) + 1, body: i };
                },
                htmlBuilder: function (t, e) {
                    var r = e.havingSize(t.size);
                    return _r(t.body, r, e);
                },
                mathmlBuilder: function (t, e) {
                    var r = e.havingSize(t.size),
                        a = ke(t.body, r),
                        n = new ve.MathNode("mstyle", a);
                    return n.setAttribute("mathsize", r.sizeMultiplier + "em"), n;
                },
            }),
                Qt({
                    type: "smash",
                    names: ["\\smash"],
                    props: { numArgs: 1, numOptionalArgs: 1, allowedInText: !0 },
                    handler: function (t, e, r) {
                        var a = t.parser,
                            n = !1,
                            i = !1,
                            o = r[0] && Ft(r[0], "ordgroup");
                        if (o)
                            for (var s = "", h = 0; h < o.body.length; ++h) {
                                if ("t" === (s = o.body[h].text)) n = !0;
                                else {
                                    if ("b" !== s) {
                                        (n = !1), (i = !1);
                                        break;
                                    }
                                    i = !0;
                                }
                            }
                        else (n = !0), (i = !0);
                        var l = e[0];
                        return { type: "smash", mode: a.mode, body: l, smashHeight: n, smashDepth: i };
                    },
                    htmlBuilder: function (t, e) {
                        var r = Dt.makeSpan([], [ue(t.body, e)]);
                        if (!t.smashHeight && !t.smashDepth) return r;
                        if (t.smashHeight && ((r.height = 0), r.children)) for (var a = 0; a < r.children.length; a++) r.children[a].height = 0;
                        if (t.smashDepth && ((r.depth = 0), r.children)) for (var n = 0; n < r.children.length; n++) r.children[n].depth = 0;
                        var i = Dt.makeVList({ positionType: "firstBaseline", children: [{ type: "elem", elem: r }] }, e);
                        return Dt.makeSpan(["mord"], [i], e);
                    },
                    mathmlBuilder: function (t, e) {
                        var r = new ve.MathNode("mpadded", [Me(t.body, e)]);
                        return t.smashHeight && r.setAttribute("height", "0px"), t.smashDepth && r.setAttribute("depth", "0px"), r;
                    },
                }),
                Qt({
                    type: "sqrt",
                    names: ["\\sqrt"],
                    props: { numArgs: 1, numOptionalArgs: 1 },
                    handler: function (t, e, r) {
                        var a = t.parser,
                            n = r[0],
                            i = e[0];
                        return { type: "sqrt", mode: a.mode, body: i, index: n };
                    },
                    htmlBuilder: function (t, e) {
                        var r = ue(t.body, e.havingCrampedStyle());
                        0 === r.height && (r.height = e.fontMetrics().xHeight), (r = Dt.wrapFragment(r, e));
                        var a = e.fontMetrics().defaultRuleThickness,
                            n = a;
                        e.style.id < w.TEXT.id && (n = e.fontMetrics().xHeight);
                        var i = a + n / 4,
                            o = r.height + r.depth + i + a,
                            s = ir(o, e),
                            h = s.span,
                            l = s.ruleWidth,
                            m = s.advanceWidth,
                            c = h.height - l;
                        c > r.height + r.depth + i && (i = (i + c - r.height - r.depth) / 2);
                        var u = h.height - r.height - i - l;
                        r.style.paddingLeft = m + "em";
                        var p = Dt.makeVList(
                            {
                                positionType: "firstBaseline",
                                children: [
                                    { type: "elem", elem: r, wrapperClasses: ["svg-align"] },
                                    { type: "kern", size: -(r.height + u) },
                                    { type: "elem", elem: h },
                                    { type: "kern", size: l },
                                ],
                            },
                            e
                        );
                        if (t.index) {
                            var d = e.havingStyle(w.SCRIPTSCRIPT),
                                f = ue(t.index, d, e),
                                g = 0.6 * (p.height - p.depth),
                                x = Dt.makeVList({ positionType: "shift", positionData: -g, children: [{ type: "elem", elem: f }] }, e),
                                v = Dt.makeSpan(["root"], [x]);
                            return Dt.makeSpan(["mord", "sqrt"], [v, p], e);
                        }
                        return Dt.makeSpan(["mord", "sqrt"], [p], e);
                    },
                    mathmlBuilder: function (t, e) {
                        var r = t.body,
                            a = t.index;
                        return a ? new ve.MathNode("mroot", [Me(r, e), Me(a, e)]) : new ve.MathNode("msqrt", [Me(r, e)]);
                    },
                });
            var $r = { display: w.DISPLAY, text: w.TEXT, script: w.SCRIPT, scriptscript: w.SCRIPTSCRIPT };
            Qt({
                type: "styling",
                names: ["\\displaystyle", "\\textstyle", "\\scriptstyle", "\\scriptscriptstyle"],
                props: { numArgs: 0, allowedInText: !0 },
                handler: function (t, e) {
                    var r = t.breakOnTokenText,
                        a = t.funcName,
                        n = t.parser,
                        i = n.parseExpression(!0, r),
                        o = a.slice(1, a.length - 5);
                    return { type: "styling", mode: n.mode, style: o, body: i };
                },
                htmlBuilder: function (t, e) {
                    var r = $r[t.style],
                        a = e.havingStyle(r).withFont("");
                    return _r(t.body, a, e);
                },
                mathmlBuilder: function (t, e) {
                    var r = $r[t.style],
                        a = e.havingStyle(r),
                        n = ke(t.body, a),
                        i = new ve.MathNode("mstyle", n),
                        o = { display: ["0", "true"], text: ["0", "false"], script: ["1", "false"], scriptscript: ["2", "false"] }[t.style];
                    return i.setAttribute("scriptlevel", o[0]), i.setAttribute("displaystyle", o[1]), i;
                },
            });
            te({
                type: "supsub",
                htmlBuilder: function (t, e) {
                    var r = (function (t, e) {
                        var r = t.base;
                        return r
                            ? "op" === r.type
                                ? r.limits && (e.style.size === w.DISPLAY.size || r.alwaysHandleSupSub)
                                    ? Ur
                                    : null
                                : "operatorname" === r.type
                                ? r.alwaysHandleSupSub && (e.style.size === w.DISPLAY.size || r.limits)
                                    ? Xr
                                    : null
                                : "accent" === r.type
                                ? c.isCharacterBox(r.base)
                                    ? Ee
                                    : null
                                : "horizBrace" === r.type && !t.sub === r.isOver
                                ? Hr
                                : null
                            : null;
                    })(t, e);
                    if (r) return r(t, e);
                    var a,
                        n,
                        i,
                        o = t.base,
                        s = t.sup,
                        h = t.sub,
                        l = ue(o, e),
                        m = e.fontMetrics(),
                        u = 0,
                        p = 0,
                        d = o && c.isCharacterBox(o);
                    if (s) {
                        var f = e.havingStyle(e.style.sup());
                        (a = ue(s, f, e)), d || (u = l.height - (f.fontMetrics().supDrop * f.sizeMultiplier) / e.sizeMultiplier);
                    }
                    if (h) {
                        var g = e.havingStyle(e.style.sub());
                        (n = ue(h, g, e)), d || (p = l.depth + (g.fontMetrics().subDrop * g.sizeMultiplier) / e.sizeMultiplier);
                    }
                    i = e.style === w.DISPLAY ? m.sup1 : e.style.cramped ? m.sup3 : m.sup2;
                    var x,
                        v = e.sizeMultiplier,
                        b = 0.5 / m.ptPerEm / v + "em",
                        y = null;
                    if (n) {
                        var k = t.base && "op" === t.base.type && t.base.name && ("\\oiint" === t.base.name || "\\oiiint" === t.base.name);
                        (l instanceof E || k) && (y = -l.italic + "em");
                    }
                    if (a && n) {
                        (u = Math.max(u, i, a.depth + 0.25 * m.xHeight)), (p = Math.max(p, m.sub2));
                        var S = 4 * m.defaultRuleThickness;
                        if (u - a.depth - (n.height - p) < S) {
                            p = S - (u - a.depth) + n.height;
                            var M = 0.8 * m.xHeight - (u - a.depth);
                            M > 0 && ((u += M), (p -= M));
                        }
                        var z = [
                            { type: "elem", elem: n, shift: p, marginRight: b, marginLeft: y },
                            { type: "elem", elem: a, shift: -u, marginRight: b },
                        ];
                        x = Dt.makeVList({ positionType: "individualShift", children: z }, e);
                    } else if (n) {
                        p = Math.max(p, m.sub1, n.height - 0.8 * m.xHeight);
                        var A = [{ type: "elem", elem: n, marginLeft: y, marginRight: b }];
                        x = Dt.makeVList({ positionType: "shift", positionData: p, children: A }, e);
                    } else {
                        if (!a) throw new Error("supsub must have either sup or sub.");
                        (u = Math.max(u, i, a.depth + 0.25 * m.xHeight)), (x = Dt.makeVList({ positionType: "shift", positionData: -u, children: [{ type: "elem", elem: a, marginRight: b }] }, e));
                    }
                    var T = me(l, "right") || "mord";
                    return Dt.makeSpan([T], [l, Dt.makeSpan(["msupsub"], [x])], e);
                },
                mathmlBuilder: function (t, e) {
                    var r,
                        a = !1,
                        n = Vt(t.base, "horizBrace");
                    n && !!t.sup === n.isOver && ((a = !0), (r = n.isOver)), !t.base || ("op" !== t.base.type && "operatorname" !== t.base.type) || (t.base.parentIsSupSub = !0);
                    var i,
                        o = [Me(t.base, e)];
                    if ((t.sub && o.push(Me(t.sub, e)), t.sup && o.push(Me(t.sup, e)), a)) i = r ? "mover" : "munder";
                    else if (t.sub)
                        if (t.sup) {
                            var s = t.base;
                            i = s && "op" === s.type && s.limits && e.style === w.DISPLAY ? "munderover" : s && "operatorname" === s.type && s.alwaysHandleSupSub && (e.style === w.DISPLAY || s.limits) ? "munderover" : "msubsup";
                        } else {
                            var h = t.base;
                            i =
                                h && "op" === h.type && h.limits && (e.style === w.DISPLAY || h.alwaysHandleSupSub)
                                    ? "munder"
                                    : h && "operatorname" === h.type && h.alwaysHandleSupSub && (h.limits || e.style === w.DISPLAY)
                                    ? "munder"
                                    : "msub";
                        }
                    else {
                        var l = t.base;
                        i = l && "op" === l.type && l.limits && (e.style === w.DISPLAY || l.alwaysHandleSupSub) ? "mover" : l && "operatorname" === l.type && l.alwaysHandleSupSub && (l.limits || e.style === w.DISPLAY) ? "mover" : "msup";
                    }
                    return new ve.MathNode(i, o);
                },
            }),
                te({
                    type: "atom",
                    htmlBuilder: function (t, e) {
                        return Dt.mathsym(t.text, t.mode, e, ["m" + t.family]);
                    },
                    mathmlBuilder: function (t, e) {
                        var r = new ve.MathNode("mo", [be(t.text, t.mode)]);
                        if ("bin" === t.family) {
                            var a = we(t, e);
                            "bold-italic" === a && r.setAttribute("mathvariant", a);
                        } else "punct" === t.family ? r.setAttribute("separator", "true") : ("open" !== t.family && "close" !== t.family) || r.setAttribute("stretchy", "false");
                        return r;
                    },
                });
            var Zr = { mi: "italic", mn: "normal", mtext: "normal" };
            te({
                type: "mathord",
                htmlBuilder: function (t, e) {
                    return Dt.makeOrd(t, e, "mathord");
                },
                mathmlBuilder: function (t, e) {
                    var r = new ve.MathNode("mi", [be(t.text, t.mode, e)]),
                        a = we(t, e) || "italic";
                    return a !== Zr[r.type] && r.setAttribute("mathvariant", a), r;
                },
            }),
                te({
                    type: "textord",
                    htmlBuilder: function (t, e) {
                        return Dt.makeOrd(t, e, "textord");
                    },
                    mathmlBuilder: function (t, e) {
                        var r,
                            a = be(t.text, t.mode, e),
                            n = we(t, e) || "normal";
                        return (
                            (r = "text" === t.mode ? new ve.MathNode("mtext", [a]) : /[0-9]/.test(t.text) ? new ve.MathNode("mn", [a]) : "\\prime" === t.text ? new ve.MathNode("mo", [a]) : new ve.MathNode("mi", [a])),
                            n !== Zr[r.type] && r.setAttribute("mathvariant", n),
                            r
                        );
                    },
                });
            var Kr = { "\\nobreak": "nobreak", "\\allowbreak": "allowbreak" },
                Jr = { " ": {}, "\\ ": {}, "~": { className: "nobreak" }, "\\space": {}, "\\nobreakspace": { className: "nobreak" } };
            te({
                type: "spacing",
                htmlBuilder: function (t, e) {
                    if (Jr.hasOwnProperty(t.text)) {
                        var r = Jr[t.text].className || "";
                        if ("text" === t.mode) {
                            var a = Dt.makeOrd(t, e, "textord");
                            return a.classes.push(r), a;
                        }
                        return Dt.makeSpan(["mspace", r], [Dt.mathsym(t.text, t.mode, e)], e);
                    }
                    if (Kr.hasOwnProperty(t.text)) return Dt.makeSpan(["mspace", Kr[t.text]], [], e);
                    throw new o('Unknown type of space "' + t.text + '"');
                },
                mathmlBuilder: function (t, e) {
                    if (!Jr.hasOwnProperty(t.text)) {
                        if (Kr.hasOwnProperty(t.text)) return new ve.MathNode("mspace");
                        throw new o('Unknown type of space "' + t.text + '"');
                    }
                    return new ve.MathNode("mtext", [new ve.TextNode("\xa0")]);
                },
            });
            var Qr = function () {
                var t = new ve.MathNode("mtd", []);
                return t.setAttribute("width", "50%"), t;
            };
            te({
                type: "tag",
                mathmlBuilder: function (t, e) {
                    var r = new ve.MathNode("mtable", [new ve.MathNode("mtr", [Qr(), new ve.MathNode("mtd", [Se(t.body, e)]), Qr(), new ve.MathNode("mtd", [Se(t.tag, e)])])]);
                    return r.setAttribute("width", "100%"), r;
                },
            });
            var ta = { "\\text": void 0, "\\textrm": "textrm", "\\textsf": "textsf", "\\texttt": "texttt", "\\textnormal": "textrm" },
                ea = { "\\textbf": "textbf", "\\textmd": "textmd" },
                ra = { "\\textit": "textit", "\\textup": "textup" },
                aa = function (t, e) {
                    var r = t.font;
                    return r ? (ta[r] ? e.withTextFontFamily(ta[r]) : ea[r] ? e.withTextFontWeight(ea[r]) : e.withTextFontShape(ra[r])) : e;
                };
            Qt({
                type: "text",
                names: ["\\text", "\\textrm", "\\textsf", "\\texttt", "\\textnormal", "\\textbf", "\\textmd", "\\textit", "\\textup"],
                props: { numArgs: 1, argTypes: ["text"], greediness: 2, allowedInText: !0 },
                handler: function (t, e) {
                    var r = t.parser,
                        a = t.funcName,
                        n = e[0];
                    return { type: "text", mode: r.mode, body: ee(n), font: a };
                },
                htmlBuilder: function (t, e) {
                    var r = aa(t, e),
                        a = se(t.body, r, !0);
                    return Dt.makeSpan(["mord", "text"], Dt.tryCombineChars(a), r);
                },
                mathmlBuilder: function (t, e) {
                    var r = aa(t, e);
                    return Se(t.body, r);
                },
            }),
                Qt({
                    type: "underline",
                    names: ["\\underline"],
                    props: { numArgs: 1, allowedInText: !0 },
                    handler: function (t, e) {
                        return { type: "underline", mode: t.parser.mode, body: e[0] };
                    },
                    htmlBuilder: function (t, e) {
                        var r = ue(t.body, e),
                            a = Dt.makeLineSpan("underline-line", e),
                            n = e.fontMetrics().defaultRuleThickness,
                            i = Dt.makeVList(
                                {
                                    positionType: "top",
                                    positionData: r.height,
                                    children: [
                                        { type: "kern", size: n },
                                        { type: "elem", elem: a },
                                        { type: "kern", size: 3 * n },
                                        { type: "elem", elem: r },
                                    ],
                                },
                                e
                            );
                        return Dt.makeSpan(["mord", "underline"], [i], e);
                    },
                    mathmlBuilder: function (t, e) {
                        var r = new ve.MathNode("mo", [new ve.TextNode("\u203e")]);
                        r.setAttribute("stretchy", "true");
                        var a = new ve.MathNode("munder", [Me(t.body, e), r]);
                        return a.setAttribute("accentunder", "true"), a;
                    },
                }),
                Qt({
                    type: "verb",
                    names: ["\\verb"],
                    props: { numArgs: 0, allowedInText: !0 },
                    handler: function (t, e, r) {
                        throw new o("\\verb ended by end of line instead of matching delimiter");
                    },
                    htmlBuilder: function (t, e) {
                        for (var r = na(t), a = [], n = e.havingStyle(e.style.text()), i = 0; i < r.length; i++) {
                            var o = r[i];
                            "~" === o && (o = "\\textasciitilde"), a.push(Dt.makeSymbol(o, "Typewriter-Regular", t.mode, n, ["mord", "texttt"]));
                        }
                        return Dt.makeSpan(["mord", "text"].concat(n.sizingClasses(e)), Dt.tryCombineChars(a), n);
                    },
                    mathmlBuilder: function (t, e) {
                        var r = new ve.TextNode(na(t)),
                            a = new ve.MathNode("mtext", [r]);
                        return a.setAttribute("mathvariant", "monospace"), a;
                    },
                });
            var na = function (t) {
                    return t.body.replace(/ /g, t.star ? "\u2423" : "\xa0");
                },
                ia = Zt,
                oa = new RegExp("^(\\\\[a-zA-Z@]+)[ \r\n\t]*$"),
                sa = new RegExp("[\u0300-\u036f]+$"),
                ha =
                    "([ \r\n\t]+)|([!-\\[\\]-\u2027\u202a-\ud7ff\uf900-\uffff][\u0300-\u036f]*|[\ud800-\udbff][\udc00-\udfff][\u0300-\u036f]*|\\\\verb\\*([^]).*?\\3|\\\\verb([^*a-zA-Z]).*?\\4|\\\\operatorname\\*|\\\\[a-zA-Z@]+[ \r\n\t]*|\\\\[^\ud800-\udfff])",
                la = (function () {
                    function t(t, e) {
                        (this.input = void 0), (this.settings = void 0), (this.tokenRegex = void 0), (this.catcodes = void 0), (this.input = t), (this.settings = e), (this.tokenRegex = new RegExp(ha, "g")), (this.catcodes = { "%": 14 });
                    }
                    var e = t.prototype;
                    return (
                        (e.setCatcode = function (t, e) {
                            this.catcodes[t] = e;
                        }),
                        (e.lex = function () {
                            var t = this.input,
                                e = this.tokenRegex.lastIndex;
                            if (e === t.length) return new n("EOF", new a(this, e, e));
                            var r = this.tokenRegex.exec(t);
                            if (null === r || r.index !== e) throw new o("Unexpected character: '" + t[e] + "'", new n(t[e], new a(this, e, e + 1)));
                            var i = r[2] || " ";
                            if (14 === this.catcodes[i]) {
                                var s = t.indexOf("\n", this.tokenRegex.lastIndex);
                                return (
                                    -1 === s
                                        ? ((this.tokenRegex.lastIndex = t.length), this.settings.reportNonstrict("commentAtEnd", "% comment has no terminating newline; LaTeX would fail because of commenting the end of math mode (e.g. $)"))
                                        : (this.tokenRegex.lastIndex = s + 1),
                                    this.lex()
                                );
                            }
                            var h = i.match(oa);
                            return h && (i = h[1]), new n(i, new a(this, e, this.tokenRegex.lastIndex));
                        }),
                        t
                    );
                })(),
                ma = (function () {
                    function t(t, e) {
                        void 0 === t && (t = {}), void 0 === e && (e = {}), (this.current = void 0), (this.builtins = void 0), (this.undefStack = void 0), (this.current = e), (this.builtins = t), (this.undefStack = []);
                    }
                    var e = t.prototype;
                    return (
                        (e.beginGroup = function () {
                            this.undefStack.push({});
                        }),
                        (e.endGroup = function () {
                            if (0 === this.undefStack.length) throw new o("Unbalanced namespace destruction: attempt to pop global namespace; please report this as a bug");
                            var t = this.undefStack.pop();
                            for (var e in t) t.hasOwnProperty(e) && (void 0 === t[e] ? delete this.current[e] : (this.current[e] = t[e]));
                        }),
                        (e.has = function (t) {
                            return this.current.hasOwnProperty(t) || this.builtins.hasOwnProperty(t);
                        }),
                        (e.get = function (t) {
                            return this.current.hasOwnProperty(t) ? this.current[t] : this.builtins[t];
                        }),
                        (e.set = function (t, e, r) {
                            if ((void 0 === r && (r = !1), r)) {
                                for (var a = 0; a < this.undefStack.length; a++) delete this.undefStack[a][t];
                                this.undefStack.length > 0 && (this.undefStack[this.undefStack.length - 1][t] = e);
                            } else {
                                var n = this.undefStack[this.undefStack.length - 1];
                                n && !n.hasOwnProperty(t) && (n[t] = this.current[t]);
                            }
                            this.current[t] = e;
                        }),
                        t
                    );
                })(),
                ca = {},
                ua = ca;
            function pa(t, e) {
                ca[t] = e;
            }
            pa("\\@firstoftwo", function (t) {
                return { tokens: t.consumeArgs(2)[0], numArgs: 0 };
            }),
                pa("\\@secondoftwo", function (t) {
                    return { tokens: t.consumeArgs(2)[1], numArgs: 0 };
                }),
                pa("\\@ifnextchar", function (t) {
                    var e = t.consumeArgs(3),
                        r = t.future();
                    return 1 === e[0].length && e[0][0].text === r.text ? { tokens: e[1], numArgs: 0 } : { tokens: e[2], numArgs: 0 };
                }),
                pa("\\@ifstar", "\\@ifnextchar *{\\@firstoftwo{#1}}"),
                pa("\\TextOrMath", function (t) {
                    var e = t.consumeArgs(2);
                    return "text" === t.mode ? { tokens: e[0], numArgs: 0 } : { tokens: e[1], numArgs: 0 };
                });
            var da = { 0: 0, 1: 1, 2: 2, 3: 3, 4: 4, 5: 5, 6: 6, 7: 7, 8: 8, 9: 9, a: 10, A: 10, b: 11, B: 11, c: 12, C: 12, d: 13, D: 13, e: 14, E: 14, f: 15, F: 15 };
            pa("\\char", function (t) {
                var e,
                    r = t.popToken(),
                    a = "";
                if ("'" === r.text) (e = 8), (r = t.popToken());
                else if ('"' === r.text) (e = 16), (r = t.popToken());
                else if ("`" === r.text)
                    if ("\\" === (r = t.popToken()).text[0]) a = r.text.charCodeAt(1);
                    else {
                        if ("EOF" === r.text) throw new o("\\char` missing argument");
                        a = r.text.charCodeAt(0);
                    }
                else e = 10;
                if (e) {
                    if (null == (a = da[r.text]) || a >= e) throw new o("Invalid base-" + e + " digit " + r.text);
                    for (var n; null != (n = da[t.future().text]) && n < e; ) (a *= e), (a += n), t.popToken();
                }
                return "\\@char{" + a + "}";
            });
            var fa = function (t, e) {
                var r = t.consumeArgs(1)[0];
                if (1 !== r.length) throw new o("\\gdef's first argument must be a macro name");
                var a = r[0].text,
                    n = 0;
                for (r = t.consumeArgs(1)[0]; 1 === r.length && "#" === r[0].text; ) {
                    if (1 !== (r = t.consumeArgs(1)[0]).length) throw new o('Invalid argument number length "' + r.length + '"');
                    if (!/^[1-9]$/.test(r[0].text)) throw new o('Invalid argument number "' + r[0].text + '"');
                    if ((n++, parseInt(r[0].text) !== n)) throw new o('Argument number "' + r[0].text + '" out of order');
                    r = t.consumeArgs(1)[0];
                }
                return t.macros.set(a, { tokens: r, numArgs: n }, e), "";
            };
            pa("\\gdef", function (t) {
                return fa(t, !0);
            }),
                pa("\\def", function (t) {
                    return fa(t, !1);
                }),
                pa("\\global", function (t) {
                    var e = t.consumeArgs(1)[0];
                    if (1 !== e.length) throw new o("Invalid command after \\global");
                    var r = e[0].text;
                    if ("\\def" === r) return fa(t, !0);
                    throw new o("Invalid command '" + r + "' after \\global");
                });
            var ga = function (t, e, r) {
                var a = t.consumeArgs(1)[0];
                if (1 !== a.length) throw new o("\\newcommand's first argument must be a macro name");
                var n = a[0].text,
                    i = t.isDefined(n);
                if (i && !e) throw new o("\\newcommand{" + n + "} attempting to redefine " + n + "; use \\renewcommand");
                if (!i && !r) throw new o("\\renewcommand{" + n + "} when command " + n + " does not yet exist; use \\newcommand");
                var s = 0;
                if (1 === (a = t.consumeArgs(1)[0]).length && "[" === a[0].text) {
                    for (var h = "", l = t.expandNextToken(); "]" !== l.text && "EOF" !== l.text; ) (h += l.text), (l = t.expandNextToken());
                    if (!h.match(/^\s*[0-9]+\s*$/)) throw new o("Invalid number of arguments: " + h);
                    (s = parseInt(h)), (a = t.consumeArgs(1)[0]);
                }
                return t.macros.set(n, { tokens: a, numArgs: s }), "";
            };
            pa("\\newcommand", function (t) {
                return ga(t, !1, !0);
            }),
                pa("\\renewcommand", function (t) {
                    return ga(t, !0, !1);
                }),
                pa("\\providecommand", function (t) {
                    return ga(t, !0, !0);
                }),
                pa("\\bgroup", "{"),
                pa("\\egroup", "}"),
                pa("\\lq", "`"),
                pa("\\rq", "'"),
                pa("\\aa", "\\r a"),
                pa("\\AA", "\\r A"),
                pa("\\textcopyright", "\\html@mathml{\\textcircled{c}}{\\char`\xa9}"),
                pa("\\copyright", "\\TextOrMath{\\textcopyright}{\\text{\\textcopyright}}"),
                pa("\\textregistered", "\\html@mathml{\\textcircled{\\scriptsize R}}{\\char`\xae}"),
                pa("\u212c", "\\mathscr{B}"),
                pa("\u2130", "\\mathscr{E}"),
                pa("\u2131", "\\mathscr{F}"),
                pa("\u210b", "\\mathscr{H}"),
                pa("\u2110", "\\mathscr{I}"),
                pa("\u2112", "\\mathscr{L}"),
                pa("\u2133", "\\mathscr{M}"),
                pa("\u211b", "\\mathscr{R}"),
                pa("\u212d", "\\mathfrak{C}"),
                pa("\u210c", "\\mathfrak{H}"),
                pa("\u2128", "\\mathfrak{Z}"),
                pa("\\Bbbk", "\\Bbb{k}"),
                pa("\xb7", "\\cdotp"),
                pa("\\llap", "\\mathllap{\\textrm{#1}}"),
                pa("\\rlap", "\\mathrlap{\\textrm{#1}}"),
                pa("\\clap", "\\mathclap{\\textrm{#1}}"),
                pa("\\not", '\\html@mathml{\\mathrel{\\mathrlap\\@not}}{\\char"338}'),
                pa("\\neq", "\\html@mathml{\\mathrel{\\not=}}{\\mathrel{\\char`\u2260}}"),
                pa("\\ne", "\\neq"),
                pa("\u2260", "\\neq"),
                pa("\\notin", "\\html@mathml{\\mathrel{{\\in}\\mathllap{/\\mskip1mu}}}{\\mathrel{\\char`\u2209}}"),
                pa("\u2209", "\\notin"),
                pa("\u2258", "\\html@mathml{\\mathrel{=\\kern{-1em}\\raisebox{0.4em}{$\\scriptsize\\frown$}}}{\\mathrel{\\char`\u2258}}"),
                pa("\u2259", "\\html@mathml{\\stackrel{\\tiny\\wedge}{=}}{\\mathrel{\\char`\u2258}}"),
                pa("\u225a", "\\html@mathml{\\stackrel{\\tiny\\vee}{=}}{\\mathrel{\\char`\u225a}}"),
                pa("\u225b", "\\html@mathml{\\stackrel{\\scriptsize\\star}{=}}{\\mathrel{\\char`\u225b}}"),
                pa("\u225d", "\\html@mathml{\\stackrel{\\tiny\\mathrm{def}}{=}}{\\mathrel{\\char`\u225d}}"),
                pa("\u225e", "\\html@mathml{\\stackrel{\\tiny\\mathrm{m}}{=}}{\\mathrel{\\char`\u225e}}"),
                pa("\u225f", "\\html@mathml{\\stackrel{\\tiny?}{=}}{\\mathrel{\\char`\u225f}}"),
                pa("\u27c2", "\\perp"),
                pa("\u203c", "\\mathclose{!\\mkern-0.8mu!}"),
                pa("\u220c", "\\notni"),
                pa("\u231c", "\\ulcorner"),
                pa("\u231d", "\\urcorner"),
                pa("\u231e", "\\llcorner"),
                pa("\u231f", "\\lrcorner"),
                pa("\xa9", "\\copyright"),
                pa("\xae", "\\textregistered"),
                pa("\ufe0f", "\\textregistered"),
                pa("\\vdots", "\\mathord{\\varvdots\\rule{0pt}{15pt}}"),
                pa("\u22ee", "\\vdots"),
                pa("\\varGamma", "\\mathit{\\Gamma}"),
                pa("\\varDelta", "\\mathit{\\Delta}"),
                pa("\\varTheta", "\\mathit{\\Theta}"),
                pa("\\varLambda", "\\mathit{\\Lambda}"),
                pa("\\varXi", "\\mathit{\\Xi}"),
                pa("\\varPi", "\\mathit{\\Pi}"),
                pa("\\varSigma", "\\mathit{\\Sigma}"),
                pa("\\varUpsilon", "\\mathit{\\Upsilon}"),
                pa("\\varPhi", "\\mathit{\\Phi}"),
                pa("\\varPsi", "\\mathit{\\Psi}"),
                pa("\\varOmega", "\\mathit{\\Omega}"),
                pa("\\substack", "\\begin{subarray}{c}#1\\end{subarray}"),
                pa("\\colon", "\\nobreak\\mskip2mu\\mathpunct{}\\mathchoice{\\mkern-3mu}{\\mkern-3mu}{}{}{:}\\mskip6mu"),
                pa("\\boxed", "\\fbox{$\\displaystyle{#1}$}"),
                pa("\\iff", "\\DOTSB\\;\\Longleftrightarrow\\;"),
                pa("\\implies", "\\DOTSB\\;\\Longrightarrow\\;"),
                pa("\\impliedby", "\\DOTSB\\;\\Longleftarrow\\;");
            var xa = {
                ",": "\\dotsc",
                "\\not": "\\dotsb",
                "+": "\\dotsb",
                "=": "\\dotsb",
                "<": "\\dotsb",
                ">": "\\dotsb",
                "-": "\\dotsb",
                "*": "\\dotsb",
                ":": "\\dotsb",
                "\\DOTSB": "\\dotsb",
                "\\coprod": "\\dotsb",
                "\\bigvee": "\\dotsb",
                "\\bigwedge": "\\dotsb",
                "\\biguplus": "\\dotsb",
                "\\bigcap": "\\dotsb",
                "\\bigcup": "\\dotsb",
                "\\prod": "\\dotsb",
                "\\sum": "\\dotsb",
                "\\bigotimes": "\\dotsb",
                "\\bigoplus": "\\dotsb",
                "\\bigodot": "\\dotsb",
                "\\bigsqcup": "\\dotsb",
                "\\And": "\\dotsb",
                "\\longrightarrow": "\\dotsb",
                "\\Longrightarrow": "\\dotsb",
                "\\longleftarrow": "\\dotsb",
                "\\Longleftarrow": "\\dotsb",
                "\\longleftrightarrow": "\\dotsb",
                "\\Longleftrightarrow": "\\dotsb",
                "\\mapsto": "\\dotsb",
                "\\longmapsto": "\\dotsb",
                "\\hookrightarrow": "\\dotsb",
                "\\doteq": "\\dotsb",
                "\\mathbin": "\\dotsb",
                "\\mathrel": "\\dotsb",
                "\\relbar": "\\dotsb",
                "\\Relbar": "\\dotsb",
                "\\xrightarrow": "\\dotsb",
                "\\xleftarrow": "\\dotsb",
                "\\DOTSI": "\\dotsi",
                "\\int": "\\dotsi",
                "\\oint": "\\dotsi",
                "\\iint": "\\dotsi",
                "\\iiint": "\\dotsi",
                "\\iiiint": "\\dotsi",
                "\\idotsint": "\\dotsi",
                "\\DOTSX": "\\dotsx",
            };
            pa("\\dots", function (t) {
                var e = "\\dotso",
                    r = t.expandAfterFuture().text;
                return r in xa ? (e = xa[r]) : "\\not" === r.substr(0, 4) ? (e = "\\dotsb") : r in j.math && c.contains(["bin", "rel"], j.math[r].group) && (e = "\\dotsb"), e;
            });
            var va = {
                ")": !0,
                "]": !0,
                "\\rbrack": !0,
                "\\}": !0,
                "\\rbrace": !0,
                "\\rangle": !0,
                "\\rceil": !0,
                "\\rfloor": !0,
                "\\rgroup": !0,
                "\\rmoustache": !0,
                "\\right": !0,
                "\\bigr": !0,
                "\\biggr": !0,
                "\\Bigr": !0,
                "\\Biggr": !0,
                $: !0,
                ";": !0,
                ".": !0,
                ",": !0,
            };
            pa("\\dotso", function (t) {
                return t.future().text in va ? "\\ldots\\," : "\\ldots";
            }),
                pa("\\dotsc", function (t) {
                    var e = t.future().text;
                    return e in va && "," !== e ? "\\ldots\\," : "\\ldots";
                }),
                pa("\\cdots", function (t) {
                    return t.future().text in va ? "\\@cdots\\," : "\\@cdots";
                }),
                pa("\\dotsb", "\\cdots"),
                pa("\\dotsm", "\\cdots"),
                pa("\\dotsi", "\\!\\cdots"),
                pa("\\dotsx", "\\ldots\\,"),
                pa("\\DOTSI", "\\relax"),
                pa("\\DOTSB", "\\relax"),
                pa("\\DOTSX", "\\relax"),
                pa("\\tmspace", "\\TextOrMath{\\kern#1#3}{\\mskip#1#2}\\relax"),
                pa("\\,", "\\tmspace+{3mu}{.1667em}"),
                pa("\\thinspace", "\\,"),
                pa("\\>", "\\mskip{4mu}"),
                pa("\\:", "\\tmspace+{4mu}{.2222em}"),
                pa("\\medspace", "\\:"),
                pa("\\;", "\\tmspace+{5mu}{.2777em}"),
                pa("\\thickspace", "\\;"),
                pa("\\!", "\\tmspace-{3mu}{.1667em}"),
                pa("\\negthinspace", "\\!"),
                pa("\\negmedspace", "\\tmspace-{4mu}{.2222em}"),
                pa("\\negthickspace", "\\tmspace-{5mu}{.277em}"),
                pa("\\enspace", "\\kern.5em "),
                pa("\\enskip", "\\hskip.5em\\relax"),
                pa("\\quad", "\\hskip1em\\relax"),
                pa("\\qquad", "\\hskip2em\\relax"),
                pa("\\tag", "\\@ifstar\\tag@literal\\tag@paren"),
                pa("\\tag@paren", "\\tag@literal{({#1})}"),
                pa("\\tag@literal", function (t) {
                    if (t.macros.get("\\df@tag")) throw new o("Multiple \\tag");
                    return "\\gdef\\df@tag{\\text{#1}}";
                }),
                pa("\\bmod", "\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}\\mathbin{\\rm mod}\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}"),
                pa("\\pod", "\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern8mu}{\\mkern8mu}{\\mkern8mu}(#1)"),
                pa("\\pmod", "\\pod{{\\rm mod}\\mkern6mu#1}"),
                pa("\\mod", "\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern12mu}{\\mkern12mu}{\\mkern12mu}{\\rm mod}\\,\\,#1"),
                pa("\\pmb", "\\html@mathml{\\@binrel{#1}{\\mathrlap{#1}\\kern0.5px#1}}{\\mathbf{#1}}"),
                pa("\\\\", "\\newline"),
                pa("\\TeX", "\\textrm{\\html@mathml{T\\kern-.1667em\\raisebox{-.5ex}{E}\\kern-.125emX}{TeX}}");
            var ba = F["Main-Regular"]["T".charCodeAt(0)][1] - 0.7 * F["Main-Regular"]["A".charCodeAt(0)][1] + "em";
            pa("\\LaTeX", "\\textrm{\\html@mathml{L\\kern-.36em\\raisebox{" + ba + "}{\\scriptstyle A}\\kern-.15em\\TeX}{LaTeX}}"),
                pa("\\KaTeX", "\\textrm{\\html@mathml{K\\kern-.17em\\raisebox{" + ba + "}{\\scriptstyle A}\\kern-.15em\\TeX}{KaTeX}}"),
                pa("\\hspace", "\\@ifstar\\@hspacer\\@hspace"),
                pa("\\@hspace", "\\hskip #1\\relax"),
                pa("\\@hspacer", "\\rule{0pt}{0pt}\\hskip #1\\relax"),
                pa("\\ordinarycolon", ":"),
                pa("\\vcentcolon", "\\mathrel{\\mathop\\ordinarycolon}"),
                pa("\\dblcolon", '\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-.9mu}\\vcentcolon}}{\\mathop{\\char"2237}}'),
                pa("\\coloneqq", '\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}=}}{\\mathop{\\char"2254}}'),
                pa("\\Coloneqq", '\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}=}}{\\mathop{\\char"2237\\char"3d}}'),
                pa("\\coloneq", '\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}{\\mathop{\\char"3a\\char"2212}}'),
                pa("\\Coloneq", '\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}{\\mathop{\\char"2237\\char"2212}}'),
                pa("\\eqqcolon", '\\html@mathml{\\mathrel{=\\mathrel{\\mkern-1.2mu}\\vcentcolon}}{\\mathop{\\char"2255}}'),
                pa("\\Eqqcolon", '\\html@mathml{\\mathrel{=\\mathrel{\\mkern-1.2mu}\\dblcolon}}{\\mathop{\\char"3d\\char"2237}}'),
                pa("\\eqcolon", '\\html@mathml{\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\vcentcolon}}{\\mathop{\\char"2239}}'),
                pa("\\Eqcolon", '\\html@mathml{\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\dblcolon}}{\\mathop{\\char"2212\\char"2237}}'),
                pa("\\colonapprox", '\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\approx}}{\\mathop{\\char"3a\\char"2248}}'),
                pa("\\Colonapprox", '\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\approx}}{\\mathop{\\char"2237\\char"2248}}'),
                pa("\\colonsim", '\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\sim}}{\\mathop{\\char"3a\\char"223c}}'),
                pa("\\Colonsim", '\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\sim}}{\\mathop{\\char"2237\\char"223c}}'),
                pa("\u2237", "\\dblcolon"),
                pa("\u2239", "\\eqcolon"),
                pa("\u2254", "\\coloneqq"),
                pa("\u2255", "\\eqqcolon"),
                pa("\u2a74", "\\Coloneqq"),
                pa("\\ratio", "\\vcentcolon"),
                pa("\\coloncolon", "\\dblcolon"),
                pa("\\colonequals", "\\coloneqq"),
                pa("\\coloncolonequals", "\\Coloneqq"),
                pa("\\equalscolon", "\\eqqcolon"),
                pa("\\equalscoloncolon", "\\Eqqcolon"),
                pa("\\colonminus", "\\coloneq"),
                pa("\\coloncolonminus", "\\Coloneq"),
                pa("\\minuscolon", "\\eqcolon"),
                pa("\\minuscoloncolon", "\\Eqcolon"),
                pa("\\coloncolonapprox", "\\Colonapprox"),
                pa("\\coloncolonsim", "\\Colonsim"),
                pa("\\simcolon", "\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\vcentcolon}"),
                pa("\\simcoloncolon", "\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\dblcolon}"),
                pa("\\approxcolon", "\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\vcentcolon}"),
                pa("\\approxcoloncolon", "\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\dblcolon}"),
                pa("\\notni", "\\html@mathml{\\not\\ni}{\\mathrel{\\char`\u220c}}"),
                pa("\\limsup", "\\DOTSB\\operatorname*{lim\\,sup}"),
                pa("\\liminf", "\\DOTSB\\operatorname*{lim\\,inf}"),
                pa("\\gvertneqq", "\\html@mathml{\\@gvertneqq}{\u2269}"),
                pa("\\lvertneqq", "\\html@mathml{\\@lvertneqq}{\u2268}"),
                pa("\\ngeqq", "\\html@mathml{\\@ngeqq}{\u2271}"),
                pa("\\ngeqslant", "\\html@mathml{\\@ngeqslant}{\u2271}"),
                pa("\\nleqq", "\\html@mathml{\\@nleqq}{\u2270}"),
                pa("\\nleqslant", "\\html@mathml{\\@nleqslant}{\u2270}"),
                pa("\\nshortmid", "\\html@mathml{\\@nshortmid}{\u2224}"),
                pa("\\nshortparallel", "\\html@mathml{\\@nshortparallel}{\u2226}"),
                pa("\\nsubseteqq", "\\html@mathml{\\@nsubseteqq}{\u2288}"),
                pa("\\nsupseteqq", "\\html@mathml{\\@nsupseteqq}{\u2289}"),
                pa("\\varsubsetneq", "\\html@mathml{\\@varsubsetneq}{\u228a}"),
                pa("\\varsubsetneqq", "\\html@mathml{\\@varsubsetneqq}{\u2acb}"),
                pa("\\varsupsetneq", "\\html@mathml{\\@varsupsetneq}{\u228b}"),
                pa("\\varsupsetneqq", "\\html@mathml{\\@varsupsetneqq}{\u2acc}"),
                pa("\\llbracket", "\\html@mathml{\\mathopen{[\\mkern-3.2mu[}}{\\mathopen{\\char`\u27e6}}"),
                pa("\\rrbracket", "\\html@mathml{\\mathclose{]\\mkern-3.2mu]}}{\\mathclose{\\char`\u27e7}}"),
                pa("\u27e6", "\\llbracket"),
                pa("\u27e7", "\\rrbracket"),
                pa("\\lBrace", "\\html@mathml{\\mathopen{\\{\\mkern-3.2mu[}}{\\mathopen{\\char`\u2983}}"),
                pa("\\rBrace", "\\html@mathml{\\mathclose{]\\mkern-3.2mu\\}}}{\\mathclose{\\char`\u2984}}"),
                pa("\u2983", "\\lBrace"),
                pa("\u2984", "\\rBrace"),
                pa("\\darr", "\\downarrow"),
                pa("\\dArr", "\\Downarrow"),
                pa("\\Darr", "\\Downarrow"),
                pa("\\lang", "\\langle"),
                pa("\\rang", "\\rangle"),
                pa("\\uarr", "\\uparrow"),
                pa("\\uArr", "\\Uparrow"),
                pa("\\Uarr", "\\Uparrow"),
                pa("\\N", "\\mathbb{N}"),
                pa("\\R", "\\mathbb{R}"),
                pa("\\Z", "\\mathbb{Z}"),
                pa("\\alef", "\\aleph"),
                pa("\\alefsym", "\\aleph"),
                pa("\\Alpha", "\\mathrm{A}"),
                pa("\\Beta", "\\mathrm{B}"),
                pa("\\bull", "\\bullet"),
                pa("\\Chi", "\\mathrm{X}"),
                pa("\\clubs", "\\clubsuit"),
                pa("\\cnums", "\\mathbb{C}"),
                pa("\\Complex", "\\mathbb{C}"),
                pa("\\Dagger", "\\ddagger"),
                pa("\\diamonds", "\\diamondsuit"),
                pa("\\empty", "\\emptyset"),
                pa("\\Epsilon", "\\mathrm{E}"),
                pa("\\Eta", "\\mathrm{H}"),
                pa("\\exist", "\\exists"),
                pa("\\harr", "\\leftrightarrow"),
                pa("\\hArr", "\\Leftrightarrow"),
                pa("\\Harr", "\\Leftrightarrow"),
                pa("\\hearts", "\\heartsuit"),
                pa("\\image", "\\Im"),
                pa("\\infin", "\\infty"),
                pa("\\Iota", "\\mathrm{I}"),
                pa("\\isin", "\\in"),
                pa("\\Kappa", "\\mathrm{K}"),
                pa("\\larr", "\\leftarrow"),
                pa("\\lArr", "\\Leftarrow"),
                pa("\\Larr", "\\Leftarrow"),
                pa("\\lrarr", "\\leftrightarrow"),
                pa("\\lrArr", "\\Leftrightarrow"),
                pa("\\Lrarr", "\\Leftrightarrow"),
                pa("\\Mu", "\\mathrm{M}"),
                pa("\\natnums", "\\mathbb{N}"),
                pa("\\Nu", "\\mathrm{N}"),
                pa("\\Omicron", "\\mathrm{O}"),
                pa("\\plusmn", "\\pm"),
                pa("\\rarr", "\\rightarrow"),
                pa("\\rArr", "\\Rightarrow"),
                pa("\\Rarr", "\\Rightarrow"),
                pa("\\real", "\\Re"),
                pa("\\reals", "\\mathbb{R}"),
                pa("\\Reals", "\\mathbb{R}"),
                pa("\\Rho", "\\mathrm{P}"),
                pa("\\sdot", "\\cdot"),
                pa("\\sect", "\\S"),
                pa("\\spades", "\\spadesuit"),
                pa("\\sub", "\\subset"),
                pa("\\sube", "\\subseteq"),
                pa("\\supe", "\\supseteq"),
                pa("\\Tau", "\\mathrm{T}"),
                pa("\\thetasym", "\\vartheta"),
                pa("\\weierp", "\\wp"),
                pa("\\Zeta", "\\mathrm{Z}"),
                pa("\\argmin", "\\DOTSB\\operatorname*{arg\\,min}"),
                pa("\\argmax", "\\DOTSB\\operatorname*{arg\\,max}"),
                pa("\\plim", "\\DOTSB\\mathop{\\operatorname{plim}}\\limits"),
                pa("\\blue", "\\textcolor{##6495ed}{#1}"),
                pa("\\orange", "\\textcolor{##ffa500}{#1}"),
                pa("\\pink", "\\textcolor{##ff00af}{#1}"),
                pa("\\red", "\\textcolor{##df0030}{#1}"),
                pa("\\green", "\\textcolor{##28ae7b}{#1}"),
                pa("\\gray", "\\textcolor{gray}{#1}"),
                pa("\\purple", "\\textcolor{##9d38bd}{#1}"),
                pa("\\blueA", "\\textcolor{##ccfaff}{#1}"),
                pa("\\blueB", "\\textcolor{##80f6ff}{#1}"),
                pa("\\blueC", "\\textcolor{##63d9ea}{#1}"),
                pa("\\blueD", "\\textcolor{##11accd}{#1}"),
                pa("\\blueE", "\\textcolor{##0c7f99}{#1}"),
                pa("\\tealA", "\\textcolor{##94fff5}{#1}"),
                pa("\\tealB", "\\textcolor{##26edd5}{#1}"),
                pa("\\tealC", "\\textcolor{##01d1c1}{#1}"),
                pa("\\tealD", "\\textcolor{##01a995}{#1}"),
                pa("\\tealE", "\\textcolor{##208170}{#1}"),
                pa("\\greenA", "\\textcolor{##b6ffb0}{#1}"),
                pa("\\greenB", "\\textcolor{##8af281}{#1}"),
                pa("\\greenC", "\\textcolor{##74cf70}{#1}"),
                pa("\\greenD", "\\textcolor{##1fab54}{#1}"),
                pa("\\greenE", "\\textcolor{##0d923f}{#1}"),
                pa("\\goldA", "\\textcolor{##ffd0a9}{#1}"),
                pa("\\goldB", "\\textcolor{##ffbb71}{#1}"),
                pa("\\goldC", "\\textcolor{##ff9c39}{#1}"),
                pa("\\goldD", "\\textcolor{##e07d10}{#1}"),
                pa("\\goldE", "\\textcolor{##a75a05}{#1}"),
                pa("\\redA", "\\textcolor{##fca9a9}{#1}"),
                pa("\\redB", "\\textcolor{##ff8482}{#1}"),
                pa("\\redC", "\\textcolor{##f9685d}{#1}"),
                pa("\\redD", "\\textcolor{##e84d39}{#1}"),
                pa("\\redE", "\\textcolor{##bc2612}{#1}"),
                pa("\\maroonA", "\\textcolor{##ffbde0}{#1}"),
                pa("\\maroonB", "\\textcolor{##ff92c6}{#1}"),
                pa("\\maroonC", "\\textcolor{##ed5fa6}{#1}"),
                pa("\\maroonD", "\\textcolor{##ca337c}{#1}"),
                pa("\\maroonE", "\\textcolor{##9e034e}{#1}"),
                pa("\\purpleA", "\\textcolor{##ddd7ff}{#1}"),
                pa("\\purpleB", "\\textcolor{##c6b9fc}{#1}"),
                pa("\\purpleC", "\\textcolor{##aa87ff}{#1}"),
                pa("\\purpleD", "\\textcolor{##7854ab}{#1}"),
                pa("\\purpleE", "\\textcolor{##543b78}{#1}"),
                pa("\\mintA", "\\textcolor{##f5f9e8}{#1}"),
                pa("\\mintB", "\\textcolor{##edf2df}{#1}"),
                pa("\\mintC", "\\textcolor{##e0e5cc}{#1}"),
                pa("\\grayA", "\\textcolor{##f6f7f7}{#1}"),
                pa("\\grayB", "\\textcolor{##f0f1f2}{#1}"),
                pa("\\grayC", "\\textcolor{##e3e5e6}{#1}"),
                pa("\\grayD", "\\textcolor{##d6d8da}{#1}"),
                pa("\\grayE", "\\textcolor{##babec2}{#1}"),
                pa("\\grayF", "\\textcolor{##888d93}{#1}"),
                pa("\\grayG", "\\textcolor{##626569}{#1}"),
                pa("\\grayH", "\\textcolor{##3b3e40}{#1}"),
                pa("\\grayI", "\\textcolor{##21242c}{#1}"),
                pa("\\kaBlue", "\\textcolor{##314453}{#1}"),
                pa("\\kaGreen", "\\textcolor{##71B307}{#1}");
            var ya = { "\\relax": !0, "^": !0, _: !0, "\\limits": !0, "\\nolimits": !0 },
                wa = (function () {
                    function t(t, e, r) {
                        (this.settings = void 0),
                            (this.expansionCount = void 0),
                            (this.lexer = void 0),
                            (this.macros = void 0),
                            (this.stack = void 0),
                            (this.mode = void 0),
                            (this.settings = e),
                            (this.expansionCount = 0),
                            this.feed(t),
                            (this.macros = new ma(ua, e.macros)),
                            (this.mode = r),
                            (this.stack = []);
                    }
                    var e = t.prototype;
                    return (
                        (e.feed = function (t) {
                            this.lexer = new la(t, this.settings);
                        }),
                        (e.switchMode = function (t) {
                            this.mode = t;
                        }),
                        (e.beginGroup = function () {
                            this.macros.beginGroup();
                        }),
                        (e.endGroup = function () {
                            this.macros.endGroup();
                        }),
                        (e.future = function () {
                            return 0 === this.stack.length && this.pushToken(this.lexer.lex()), this.stack[this.stack.length - 1];
                        }),
                        (e.popToken = function () {
                            return this.future(), this.stack.pop();
                        }),
                        (e.pushToken = function (t) {
                            this.stack.push(t);
                        }),
                        (e.pushTokens = function (t) {
                            var e;
                            (e = this.stack).push.apply(e, t);
                        }),
                        (e.consumeSpaces = function () {
                            for (;;) {
                                if (" " !== this.future().text) break;
                                this.stack.pop();
                            }
                        }),
                        (e.consumeArgs = function (t) {
                            for (var e = [], r = 0; r < t; ++r) {
                                this.consumeSpaces();
                                var a = this.popToken();
                                if ("{" === a.text) {
                                    for (var n = [], i = 1; 0 !== i; ) {
                                        var s = this.popToken();
                                        if ((n.push(s), "{" === s.text)) ++i;
                                        else if ("}" === s.text) --i;
                                        else if ("EOF" === s.text) throw new o("End of input in macro argument", a);
                                    }
                                    n.pop(), n.reverse(), (e[r] = n);
                                } else {
                                    if ("EOF" === a.text) throw new o("End of input expecting macro argument");
                                    e[r] = [a];
                                }
                            }
                            return e;
                        }),
                        (e.expandOnce = function () {
                            var t = this.popToken(),
                                e = t.text,
                                r = this._getExpansion(e);
                            if (null == r) return this.pushToken(t), t;
                            if ((this.expansionCount++, this.expansionCount > this.settings.maxExpand)) throw new o("Too many expansions: infinite loop or need to increase maxExpand setting");
                            var a = r.tokens;
                            if (r.numArgs)
                                for (var n = this.consumeArgs(r.numArgs), i = (a = a.slice()).length - 1; i >= 0; --i) {
                                    var s = a[i];
                                    if ("#" === s.text) {
                                        if (0 === i) throw new o("Incomplete placeholder at end of macro body", s);
                                        if ("#" === (s = a[--i]).text) a.splice(i + 1, 1);
                                        else {
                                            if (!/^[1-9]$/.test(s.text)) throw new o("Not a valid argument number", s);
                                            var h;
                                            (h = a).splice.apply(h, [i, 2].concat(n[+s.text - 1]));
                                        }
                                    }
                                }
                            return this.pushTokens(a), a;
                        }),
                        (e.expandAfterFuture = function () {
                            return this.expandOnce(), this.future();
                        }),
                        (e.expandNextToken = function () {
                            for (;;) {
                                var t = this.expandOnce();
                                if (t instanceof n) {
                                    if ("\\relax" !== t.text) return this.stack.pop();
                                    this.stack.pop();
                                }
                            }
                            throw new Error();
                        }),
                        (e.expandMacro = function (t) {
                            if (this.macros.get(t)) {
                                var e = [],
                                    r = this.stack.length;
                                for (this.pushToken(new n(t)); this.stack.length > r; ) {
                                    this.expandOnce() instanceof n && e.push(this.stack.pop());
                                }
                                return e;
                            }
                        }),
                        (e.expandMacroAsText = function (t) {
                            var e = this.expandMacro(t);
                            return e
                                ? e
                                      .map(function (t) {
                                          return t.text;
                                      })
                                      .join("")
                                : e;
                        }),
                        (e._getExpansion = function (t) {
                            var e = this.macros.get(t);
                            if (null == e) return e;
                            var r = "function" == typeof e ? e(this) : e;
                            if ("string" == typeof r) {
                                var a = 0;
                                if (-1 !== r.indexOf("#")) for (var n = r.replace(/##/g, ""); -1 !== n.indexOf("#" + (a + 1)); ) ++a;
                                for (var i = new la(r, this.settings), o = [], s = i.lex(); "EOF" !== s.text; ) o.push(s), (s = i.lex());
                                return o.reverse(), { tokens: o, numArgs: a };
                            }
                            return r;
                        }),
                        (e.isDefined = function (t) {
                            return this.macros.has(t) || ia.hasOwnProperty(t) || j.math.hasOwnProperty(t) || j.text.hasOwnProperty(t) || ya.hasOwnProperty(t);
                        }),
                        t
                    );
                })(),
                ka = {
                    "\u0301": { text: "\\'", math: "\\acute" },
                    "\u0300": { text: "\\`", math: "\\grave" },
                    "\u0308": { text: '\\"', math: "\\ddot" },
                    "\u0303": { text: "\\~", math: "\\tilde" },
                    "\u0304": { text: "\\=", math: "\\bar" },
                    "\u0306": { text: "\\u", math: "\\breve" },
                    "\u030c": { text: "\\v", math: "\\check" },
                    "\u0302": { text: "\\^", math: "\\hat" },
                    "\u0307": { text: "\\.", math: "\\dot" },
                    "\u030a": { text: "\\r", math: "\\mathring" },
                    "\u030b": { text: "\\H" },
                },
                Sa = {
                    á: "a\u0301",
                    à: "a\u0300",
                    ä: "a\u0308",
                    ǟ: "a\u0308\u0304",
                    ã: "a\u0303",
                    ā: "a\u0304",
                    ă: "a\u0306",
                    ắ: "a\u0306\u0301",
                    ằ: "a\u0306\u0300",
                    ẵ: "a\u0306\u0303",
                    ǎ: "a\u030c",
                    â: "a\u0302",
                    ấ: "a\u0302\u0301",
                    ầ: "a\u0302\u0300",
                    ẫ: "a\u0302\u0303",
                    ȧ: "a\u0307",
                    ǡ: "a\u0307\u0304",
                    å: "a\u030a",
                    ǻ: "a\u030a\u0301",
                    ḃ: "b\u0307",
                    ć: "c\u0301",
                    č: "c\u030c",
                    ĉ: "c\u0302",
                    ċ: "c\u0307",
                    ď: "d\u030c",
                    ḋ: "d\u0307",
                    é: "e\u0301",
                    è: "e\u0300",
                    ë: "e\u0308",
                    ẽ: "e\u0303",
                    ē: "e\u0304",
                    ḗ: "e\u0304\u0301",
                    ḕ: "e\u0304\u0300",
                    ĕ: "e\u0306",
                    ě: "e\u030c",
                    ê: "e\u0302",
                    ế: "e\u0302\u0301",
                    ề: "e\u0302\u0300",
                    ễ: "e\u0302\u0303",
                    ė: "e\u0307",
                    ḟ: "f\u0307",
                    ǵ: "g\u0301",
                    ḡ: "g\u0304",
                    ğ: "g\u0306",
                    ǧ: "g\u030c",
                    ĝ: "g\u0302",
                    ġ: "g\u0307",
                    ḧ: "h\u0308",
                    ȟ: "h\u030c",
                    ĥ: "h\u0302",
                    ḣ: "h\u0307",
                    í: "i\u0301",
                    ì: "i\u0300",
                    ï: "i\u0308",
                    ḯ: "i\u0308\u0301",
                    ĩ: "i\u0303",
                    ī: "i\u0304",
                    ĭ: "i\u0306",
                    ǐ: "i\u030c",
                    î: "i\u0302",
                    ǰ: "j\u030c",
                    ĵ: "j\u0302",
                    ḱ: "k\u0301",
                    ǩ: "k\u030c",
                    ĺ: "l\u0301",
                    ľ: "l\u030c",
                    ḿ: "m\u0301",
                    ṁ: "m\u0307",
                    ń: "n\u0301",
                    ǹ: "n\u0300",
                    ñ: "n\u0303",
                    ň: "n\u030c",
                    ṅ: "n\u0307",
                    ó: "o\u0301",
                    ò: "o\u0300",
                    ö: "o\u0308",
                    ȫ: "o\u0308\u0304",
                    õ: "o\u0303",
                    ṍ: "o\u0303\u0301",
                    ṏ: "o\u0303\u0308",
                    ȭ: "o\u0303\u0304",
                    ō: "o\u0304",
                    ṓ: "o\u0304\u0301",
                    ṑ: "o\u0304\u0300",
                    ŏ: "o\u0306",
                    ǒ: "o\u030c",
                    ô: "o\u0302",
                    ố: "o\u0302\u0301",
                    ồ: "o\u0302\u0300",
                    ỗ: "o\u0302\u0303",
                    ȯ: "o\u0307",
                    ȱ: "o\u0307\u0304",
                    ő: "o\u030b",
                    ṕ: "p\u0301",
                    ṗ: "p\u0307",
                    ŕ: "r\u0301",
                    ř: "r\u030c",
                    ṙ: "r\u0307",
                    ś: "s\u0301",
                    ṥ: "s\u0301\u0307",
                    š: "s\u030c",
                    ṧ: "s\u030c\u0307",
                    ŝ: "s\u0302",
                    ṡ: "s\u0307",
                    ẗ: "t\u0308",
                    ť: "t\u030c",
                    ṫ: "t\u0307",
                    ú: "u\u0301",
                    ù: "u\u0300",
                    ü: "u\u0308",
                    ǘ: "u\u0308\u0301",
                    ǜ: "u\u0308\u0300",
                    ǖ: "u\u0308\u0304",
                    ǚ: "u\u0308\u030c",
                    ũ: "u\u0303",
                    ṹ: "u\u0303\u0301",
                    ū: "u\u0304",
                    ṻ: "u\u0304\u0308",
                    ŭ: "u\u0306",
                    ǔ: "u\u030c",
                    û: "u\u0302",
                    ů: "u\u030a",
                    ű: "u\u030b",
                    ṽ: "v\u0303",
                    ẃ: "w\u0301",
                    ẁ: "w\u0300",
                    ẅ: "w\u0308",
                    ŵ: "w\u0302",
                    ẇ: "w\u0307",
                    ẘ: "w\u030a",
                    ẍ: "x\u0308",
                    ẋ: "x\u0307",
                    ý: "y\u0301",
                    ỳ: "y\u0300",
                    ÿ: "y\u0308",
                    ỹ: "y\u0303",
                    ȳ: "y\u0304",
                    ŷ: "y\u0302",
                    ẏ: "y\u0307",
                    ẙ: "y\u030a",
                    ź: "z\u0301",
                    ž: "z\u030c",
                    ẑ: "z\u0302",
                    ż: "z\u0307",
                    Á: "A\u0301",
                    À: "A\u0300",
                    Ä: "A\u0308",
                    Ǟ: "A\u0308\u0304",
                    Ã: "A\u0303",
                    Ā: "A\u0304",
                    Ă: "A\u0306",
                    Ắ: "A\u0306\u0301",
                    Ằ: "A\u0306\u0300",
                    Ẵ: "A\u0306\u0303",
                    Ǎ: "A\u030c",
                    Â: "A\u0302",
                    Ấ: "A\u0302\u0301",
                    Ầ: "A\u0302\u0300",
                    Ẫ: "A\u0302\u0303",
                    Ȧ: "A\u0307",
                    Ǡ: "A\u0307\u0304",
                    Å: "A\u030a",
                    Ǻ: "A\u030a\u0301",
                    Ḃ: "B\u0307",
                    Ć: "C\u0301",
                    Č: "C\u030c",
                    Ĉ: "C\u0302",
                    Ċ: "C\u0307",
                    Ď: "D\u030c",
                    Ḋ: "D\u0307",
                    É: "E\u0301",
                    È: "E\u0300",
                    Ë: "E\u0308",
                    Ẽ: "E\u0303",
                    Ē: "E\u0304",
                    Ḗ: "E\u0304\u0301",
                    Ḕ: "E\u0304\u0300",
                    Ĕ: "E\u0306",
                    Ě: "E\u030c",
                    Ê: "E\u0302",
                    Ế: "E\u0302\u0301",
                    Ề: "E\u0302\u0300",
                    Ễ: "E\u0302\u0303",
                    Ė: "E\u0307",
                    Ḟ: "F\u0307",
                    Ǵ: "G\u0301",
                    Ḡ: "G\u0304",
                    Ğ: "G\u0306",
                    Ǧ: "G\u030c",
                    Ĝ: "G\u0302",
                    Ġ: "G\u0307",
                    Ḧ: "H\u0308",
                    Ȟ: "H\u030c",
                    Ĥ: "H\u0302",
                    Ḣ: "H\u0307",
                    Í: "I\u0301",
                    Ì: "I\u0300",
                    Ï: "I\u0308",
                    Ḯ: "I\u0308\u0301",
                    Ĩ: "I\u0303",
                    Ī: "I\u0304",
                    Ĭ: "I\u0306",
                    Ǐ: "I\u030c",
                    Î: "I\u0302",
                    İ: "I\u0307",
                    Ĵ: "J\u0302",
                    Ḱ: "K\u0301",
                    Ǩ: "K\u030c",
                    Ĺ: "L\u0301",
                    Ľ: "L\u030c",
                    Ḿ: "M\u0301",
                    Ṁ: "M\u0307",
                    Ń: "N\u0301",
                    Ǹ: "N\u0300",
                    Ñ: "N\u0303",
                    Ň: "N\u030c",
                    Ṅ: "N\u0307",
                    Ó: "O\u0301",
                    Ò: "O\u0300",
                    Ö: "O\u0308",
                    Ȫ: "O\u0308\u0304",
                    Õ: "O\u0303",
                    Ṍ: "O\u0303\u0301",
                    Ṏ: "O\u0303\u0308",
                    Ȭ: "O\u0303\u0304",
                    Ō: "O\u0304",
                    Ṓ: "O\u0304\u0301",
                    Ṑ: "O\u0304\u0300",
                    Ŏ: "O\u0306",
                    Ǒ: "O\u030c",
                    Ô: "O\u0302",
                    Ố: "O\u0302\u0301",
                    Ồ: "O\u0302\u0300",
                    Ỗ: "O\u0302\u0303",
                    Ȯ: "O\u0307",
                    Ȱ: "O\u0307\u0304",
                    Ő: "O\u030b",
                    Ṕ: "P\u0301",
                    Ṗ: "P\u0307",
                    Ŕ: "R\u0301",
                    Ř: "R\u030c",
                    Ṙ: "R\u0307",
                    Ś: "S\u0301",
                    Ṥ: "S\u0301\u0307",
                    Š: "S\u030c",
                    Ṧ: "S\u030c\u0307",
                    Ŝ: "S\u0302",
                    Ṡ: "S\u0307",
                    Ť: "T\u030c",
                    Ṫ: "T\u0307",
                    Ú: "U\u0301",
                    Ù: "U\u0300",
                    Ü: "U\u0308",
                    Ǘ: "U\u0308\u0301",
                    Ǜ: "U\u0308\u0300",
                    Ǖ: "U\u0308\u0304",
                    Ǚ: "U\u0308\u030c",
                    Ũ: "U\u0303",
                    Ṹ: "U\u0303\u0301",
                    Ū: "U\u0304",
                    Ṻ: "U\u0304\u0308",
                    Ŭ: "U\u0306",
                    Ǔ: "U\u030c",
                    Û: "U\u0302",
                    Ů: "U\u030a",
                    Ű: "U\u030b",
                    Ṽ: "V\u0303",
                    Ẃ: "W\u0301",
                    Ẁ: "W\u0300",
                    Ẅ: "W\u0308",
                    Ŵ: "W\u0302",
                    Ẇ: "W\u0307",
                    Ẍ: "X\u0308",
                    Ẋ: "X\u0307",
                    Ý: "Y\u0301",
                    Ỳ: "Y\u0300",
                    Ÿ: "Y\u0308",
                    Ỹ: "Y\u0303",
                    Ȳ: "Y\u0304",
                    Ŷ: "Y\u0302",
                    Ẏ: "Y\u0307",
                    Ź: "Z\u0301",
                    Ž: "Z\u030c",
                    Ẑ: "Z\u0302",
                    Ż: "Z\u0307",
                    ά: "\u03b1\u0301",
                    ὰ: "\u03b1\u0300",
                    ᾱ: "\u03b1\u0304",
                    ᾰ: "\u03b1\u0306",
                    έ: "\u03b5\u0301",
                    ὲ: "\u03b5\u0300",
                    ή: "\u03b7\u0301",
                    ὴ: "\u03b7\u0300",
                    ί: "\u03b9\u0301",
                    ὶ: "\u03b9\u0300",
                    ϊ: "\u03b9\u0308",
                    ΐ: "\u03b9\u0308\u0301",
                    ῒ: "\u03b9\u0308\u0300",
                    ῑ: "\u03b9\u0304",
                    ῐ: "\u03b9\u0306",
                    ό: "\u03bf\u0301",
                    ὸ: "\u03bf\u0300",
                    ύ: "\u03c5\u0301",
                    ὺ: "\u03c5\u0300",
                    ϋ: "\u03c5\u0308",
                    ΰ: "\u03c5\u0308\u0301",
                    ῢ: "\u03c5\u0308\u0300",
                    ῡ: "\u03c5\u0304",
                    ῠ: "\u03c5\u0306",
                    ώ: "\u03c9\u0301",
                    ὼ: "\u03c9\u0300",
                    Ύ: "\u03a5\u0301",
                    Ὺ: "\u03a5\u0300",
                    Ϋ: "\u03a5\u0308",
                    Ῡ: "\u03a5\u0304",
                    Ῠ: "\u03a5\u0306",
                    Ώ: "\u03a9\u0301",
                    Ὼ: "\u03a9\u0300",
                },
                Ma = (function () {
                    function t(t, e) {
                        (this.mode = void 0),
                            (this.gullet = void 0),
                            (this.settings = void 0),
                            (this.leftrightDepth = void 0),
                            (this.nextToken = void 0),
                            (this.mode = "math"),
                            (this.gullet = new wa(t, e, this.mode)),
                            (this.settings = e),
                            (this.leftrightDepth = 0);
                    }
                    var e = t.prototype;
                    return (
                        (e.expect = function (t, e) {
                            if ((void 0 === e && (e = !0), this.fetch().text !== t)) throw new o("Expected '" + t + "', got '" + this.fetch().text + "'", this.fetch());
                            e && this.consume();
                        }),
                        (e.consume = function () {
                            this.nextToken = null;
                        }),
                        (e.fetch = function () {
                            return null == this.nextToken && (this.nextToken = this.gullet.expandNextToken()), this.nextToken;
                        }),
                        (e.switchMode = function (t) {
                            (this.mode = t), this.gullet.switchMode(t);
                        }),
                        (e.parse = function () {
                            this.gullet.beginGroup(), this.settings.colorIsTextColor && this.gullet.macros.set("\\color", "\\textcolor");
                            var t = this.parseExpression(!1);
                            return this.expect("EOF"), this.gullet.endGroup(), t;
                        }),
                        (e.parseExpression = function (e, r) {
                            for (var a = []; ; ) {
                                "math" === this.mode && this.consumeSpaces();
                                var n = this.fetch();
                                if (-1 !== t.endOfExpression.indexOf(n.text)) break;
                                if (r && n.text === r) break;
                                if (e && ia[n.text] && ia[n.text].infix) break;
                                var i = this.parseAtom(r);
                                if (!i) break;
                                a.push(i);
                            }
                            return "text" === this.mode && this.formLigatures(a), this.handleInfixNodes(a);
                        }),
                        (e.handleInfixNodes = function (t) {
                            for (var e, r = -1, a = 0; a < t.length; a++) {
                                var n = Vt(t[a], "infix");
                                if (n) {
                                    if (-1 !== r) throw new o("only one infix operator per group", n.token);
                                    (r = a), (e = n.replaceWith);
                                }
                            }
                            if (-1 !== r && e) {
                                var i,
                                    s,
                                    h = t.slice(0, r),
                                    l = t.slice(r + 1);
                                return (
                                    (i = 1 === h.length && "ordgroup" === h[0].type ? h[0] : { type: "ordgroup", mode: this.mode, body: h }),
                                    (s = 1 === l.length && "ordgroup" === l[0].type ? l[0] : { type: "ordgroup", mode: this.mode, body: l }),
                                    ["\\\\abovefrac" === e ? this.callFunction(e, [i, t[r], s], []) : this.callFunction(e, [i, s], [])]
                                );
                            }
                            return t;
                        }),
                        (e.handleSupSubscript = function (e) {
                            var r = this.fetch(),
                                a = r.text;
                            this.consume();
                            var n = this.parseGroup(e, !1, t.SUPSUB_GREEDINESS, void 0, void 0, !0);
                            if (!n) throw new o("Expected group after '" + a + "'", r);
                            return n;
                        }),
                        (e.formatUnsupportedCmd = function (t) {
                            for (var e = [], r = 0; r < t.length; r++) e.push({ type: "textord", mode: "text", text: t[r] });
                            var a = { type: "text", mode: this.mode, body: e };
                            return { type: "color", mode: this.mode, color: this.settings.errorColor, body: [a] };
                        }),
                        (e.parseAtom = function (t) {
                            var e,
                                r,
                                a = this.parseGroup("atom", !1, null, t);
                            if ("text" === this.mode) return a;
                            for (;;) {
                                this.consumeSpaces();
                                var n = this.fetch();
                                if ("\\limits" === n.text || "\\nolimits" === n.text) {
                                    var i = Vt(a, "op");
                                    if (i) {
                                        var s = "\\limits" === n.text;
                                        (i.limits = s), (i.alwaysHandleSupSub = !0);
                                    } else {
                                        if (!(i = Vt(a, "operatorname")) || !i.alwaysHandleSupSub) throw new o("Limit controls must follow a math operator", n);
                                        var h = "\\limits" === n.text;
                                        i.limits = h;
                                    }
                                    this.consume();
                                } else if ("^" === n.text) {
                                    if (e) throw new o("Double superscript", n);
                                    e = this.handleSupSubscript("superscript");
                                } else if ("_" === n.text) {
                                    if (r) throw new o("Double subscript", n);
                                    r = this.handleSupSubscript("subscript");
                                } else {
                                    if ("'" !== n.text) break;
                                    if (e) throw new o("Double superscript", n);
                                    var l = { type: "textord", mode: this.mode, text: "\\prime" },
                                        m = [l];
                                    for (this.consume(); "'" === this.fetch().text; ) m.push(l), this.consume();
                                    "^" === this.fetch().text && m.push(this.handleSupSubscript("superscript")), (e = { type: "ordgroup", mode: this.mode, body: m });
                                }
                            }
                            return e || r ? { type: "supsub", mode: this.mode, base: a, sup: e, sub: r } : a;
                        }),
                        (e.parseFunction = function (t, e, r) {
                            var a = this.fetch(),
                                n = a.text,
                                i = ia[n];
                            if (!i) return null;
                            if ((this.consume(), null != r && i.greediness <= r)) throw new o("Got function '" + n + "' with no arguments" + (e ? " as " + e : ""), a);
                            if ("text" === this.mode && !i.allowedInText) throw new o("Can't use function '" + n + "' in text mode", a);
                            if ("math" === this.mode && !1 === i.allowedInMath) throw new o("Can't use function '" + n + "' in math mode", a);
                            var s = this.parseArguments(n, i),
                                h = s.args,
                                l = s.optArgs;
                            return this.callFunction(n, h, l, a, t);
                        }),
                        (e.callFunction = function (t, e, r, a, n) {
                            var i = { funcName: t, parser: this, token: a, breakOnTokenText: n },
                                s = ia[t];
                            if (s && s.handler) return s.handler(i, e, r);
                            throw new o("No function handler for " + t);
                        }),
                        (e.parseArguments = function (t, e) {
                            var r = e.numArgs + e.numOptionalArgs;
                            if (0 === r) return { args: [], optArgs: [] };
                            for (var a = e.greediness, n = [], i = [], s = 0; s < r; s++) {
                                var h = e.argTypes && e.argTypes[s],
                                    l = s < e.numOptionalArgs,
                                    m = (s > 0 && !l) || (0 === s && !l && "math" === this.mode),
                                    c = this.parseGroupOfType("argument to '" + t + "'", h, l, a, m);
                                if (!c) {
                                    if (l) {
                                        i.push(null);
                                        continue;
                                    }
                                    throw new o("Expected group after '" + t + "'", this.fetch());
                                }
                                (l ? i : n).push(c);
                            }
                            return { args: n, optArgs: i };
                        }),
                        (e.parseGroupOfType = function (t, e, r, a, n) {
                            switch (e) {
                                case "color":
                                    return n && this.consumeSpaces(), this.parseColorGroup(r);
                                case "size":
                                    return n && this.consumeSpaces(), this.parseSizeGroup(r);
                                case "url":
                                    return this.parseUrlGroup(r, n);
                                case "math":
                                case "text":
                                    return this.parseGroup(t, r, a, void 0, e, n);
                                case "hbox":
                                    var i = this.parseGroup(t, r, a, void 0, "text", n);
                                    return i ? { type: "styling", mode: i.mode, body: [i], style: "text" } : i;
                                case "raw":
                                    if ((n && this.consumeSpaces(), r && "{" === this.fetch().text)) return null;
                                    var s = this.parseStringGroup("raw", r, !0);
                                    if (s) return { type: "raw", mode: "text", string: s.text };
                                    throw new o("Expected raw group", this.fetch());
                                case "original":
                                case null:
                                case void 0:
                                    return this.parseGroup(t, r, a, void 0, void 0, n);
                                default:
                                    throw new o("Unknown group type as " + t, this.fetch());
                            }
                        }),
                        (e.consumeSpaces = function () {
                            for (; " " === this.fetch().text; ) this.consume();
                        }),
                        (e.parseStringGroup = function (t, e, r) {
                            var a = e ? "[" : "{",
                                n = e ? "]" : "}",
                                i = this.fetch();
                            if (i.text !== a) {
                                if (e) return null;
                                if (r && "EOF" !== i.text && /[^{}[\]]/.test(i.text)) return this.consume(), i;
                            }
                            var s = this.mode;
                            (this.mode = "text"), this.expect(a);
                            for (var h, l = "", m = this.fetch(), c = 0, u = m; (h = this.fetch()).text !== n || (r && c > 0); ) {
                                switch (h.text) {
                                    case "EOF":
                                        throw new o("Unexpected end of input in " + t, m.range(u, l));
                                    case a:
                                        c++;
                                        break;
                                    case n:
                                        c--;
                                }
                                (l += (u = h).text), this.consume();
                            }
                            return this.expect(n), (this.mode = s), m.range(u, l);
                        }),
                        (e.parseRegexGroup = function (t, e) {
                            var r = this.mode;
                            this.mode = "text";
                            for (var a, n = this.fetch(), i = n, s = ""; "EOF" !== (a = this.fetch()).text && t.test(s + a.text); ) (s += (i = a).text), this.consume();
                            if ("" === s) throw new o("Invalid " + e + ": '" + n.text + "'", n);
                            return (this.mode = r), n.range(i, s);
                        }),
                        (e.parseColorGroup = function (t) {
                            var e = this.parseStringGroup("color", t);
                            if (!e) return null;
                            var r = /^(#[a-f0-9]{3}|#?[a-f0-9]{6}|[a-z]+)$/i.exec(e.text);
                            if (!r) throw new o("Invalid color: '" + e.text + "'", e);
                            var a = r[0];
                            return /^[0-9a-f]{6}$/i.test(a) && (a = "#" + a), { type: "color-token", mode: this.mode, color: a };
                        }),
                        (e.parseSizeGroup = function (t) {
                            var e,
                                r = !1;
                            if (!(e = t || "{" === this.fetch().text ? this.parseStringGroup("size", t) : this.parseRegexGroup(/^[-+]? *(?:$|\d+|\d+\.\d*|\.\d*) *[a-z]{0,2} *$/, "size"))) return null;
                            t || 0 !== e.text.length || ((e.text = "0pt"), (r = !0));
                            var a = /([-+]?) *(\d+(?:\.\d*)?|\.\d+) *([a-z]{2})/.exec(e.text);
                            if (!a) throw new o("Invalid size: '" + e.text + "'", e);
                            var n = { number: +(a[1] + a[2]), unit: a[3] };
                            if (!At(n)) throw new o("Invalid unit: '" + n.unit + "'", e);
                            return { type: "size", mode: this.mode, value: n, isBlank: r };
                        }),
                        (e.parseUrlGroup = function (t, e) {
                            this.gullet.lexer.setCatcode("%", 13);
                            var r = this.parseStringGroup("url", t, !0);
                            if ((this.gullet.lexer.setCatcode("%", 14), !r)) return null;
                            var a = r.text.replace(/\\([#$%&~_^{}])/g, "$1");
                            return { type: "url", mode: this.mode, url: a };
                        }),
                        (e.parseGroup = function (e, r, n, i, s, h) {
                            var l = this.mode;
                            s && this.switchMode(s), h && this.consumeSpaces();
                            var m,
                                c = this.fetch(),
                                u = c.text;
                            if (r ? "[" === u : "{" === u || "\\begingroup" === u) {
                                this.consume();
                                var p = t.endOfGroup[u];
                                this.gullet.beginGroup();
                                var d = this.parseExpression(!1, p),
                                    f = this.fetch();
                                this.expect(p), this.gullet.endGroup(), (m = { type: "ordgroup", mode: this.mode, loc: a.range(c, f), body: d, semisimple: "\\begingroup" === u || void 0 });
                            } else if (r) m = null;
                            else if (null == (m = this.parseFunction(i, e, n) || this.parseSymbol()) && "\\" === u[0] && !ya.hasOwnProperty(u)) {
                                if (this.settings.throwOnError) throw new o("Undefined control sequence: " + u, c);
                                (m = this.formatUnsupportedCmd(u)), this.consume();
                            }
                            return s && this.switchMode(l), m;
                        }),
                        (e.formLigatures = function (t) {
                            for (var e = t.length - 1, r = 0; r < e; ++r) {
                                var n = t[r],
                                    i = n.text;
                                "-" === i &&
                                    "-" === t[r + 1].text &&
                                    (r + 1 < e && "-" === t[r + 2].text
                                        ? (t.splice(r, 3, { type: "textord", mode: "text", loc: a.range(n, t[r + 2]), text: "---" }), (e -= 2))
                                        : (t.splice(r, 2, { type: "textord", mode: "text", loc: a.range(n, t[r + 1]), text: "--" }), (e -= 1))),
                                    ("'" !== i && "`" !== i) || t[r + 1].text !== i || (t.splice(r, 2, { type: "textord", mode: "text", loc: a.range(n, t[r + 1]), text: i + i }), (e -= 1));
                            }
                        }),
                        (e.parseSymbol = function () {
                            var t = this.fetch(),
                                e = t.text;
                            if (/^\\verb[^a-zA-Z]/.test(e)) {
                                this.consume();
                                var r = e.slice(5),
                                    n = "*" === r.charAt(0);
                                if ((n && (r = r.slice(1)), r.length < 2 || r.charAt(0) !== r.slice(-1))) throw new o("\\verb assertion failed --\n                    please report what input caused this bug");
                                return { type: "verb", mode: "text", body: (r = r.slice(1, -1)), star: n };
                            }
                            Sa.hasOwnProperty(e[0]) &&
                                !j[this.mode][e[0]] &&
                                (this.settings.strict && "math" === this.mode && this.settings.reportNonstrict("unicodeTextInMathMode", 'Accented Unicode text character "' + e[0] + '" used in math mode', t), (e = Sa[e[0]] + e.substr(1)));
                            var i,
                                s = sa.exec(e);
                            if ((s && ("i" === (e = e.substring(0, s.index)) ? (e = "\u0131") : "j" === e && (e = "\u0237")), j[this.mode][e])) {
                                this.settings.strict &&
                                    "math" === this.mode &&
                                    "\xc7\xd0\xde\xe7\xfe".indexOf(e) >= 0 &&
                                    this.settings.reportNonstrict("unicodeTextInMathMode", 'Latin-1/Unicode text character "' + e[0] + '" used in math mode', t);
                                var h,
                                    l = j[this.mode][e].group,
                                    m = a.range(t);
                                if (W.hasOwnProperty(l)) {
                                    var c = l;
                                    h = { type: "atom", mode: this.mode, family: c, loc: m, text: e };
                                } else h = { type: l, mode: this.mode, loc: m, text: e };
                                i = h;
                            } else {
                                if (!(e.charCodeAt(0) >= 128)) return null;
                                this.settings.strict &&
                                    (M(e.charCodeAt(0))
                                        ? "math" === this.mode && this.settings.reportNonstrict("unicodeTextInMathMode", 'Unicode text character "' + e[0] + '" used in math mode', t)
                                        : this.settings.reportNonstrict("unknownSymbol", 'Unrecognized Unicode character "' + e[0] + '" (' + e.charCodeAt(0) + ")", t)),
                                    (i = { type: "textord", mode: "text", loc: a.range(t), text: e });
                            }
                            if ((this.consume(), s))
                                for (var u = 0; u < s[0].length; u++) {
                                    var p = s[0][u];
                                    if (!ka[p]) throw new o("Unknown accent ' " + p + "'", t);
                                    var d = ka[p][this.mode];
                                    if (!d) throw new o("Accent " + p + " unsupported in " + this.mode + " mode", t);
                                    i = { type: "accent", mode: this.mode, loc: a.range(t), label: d, isStretchy: !1, isShifty: !0, base: i };
                                }
                            return i;
                        }),
                        t
                    );
                })();
            (Ma.endOfExpression = ["}", "\\endgroup", "\\end", "\\right", "&"]), (Ma.endOfGroup = { "[": "]", "{": "}", "\\begingroup": "\\endgroup" }), (Ma.SUPSUB_GREEDINESS = 1);
            var za = function (t, e) {
                    if (!("string" == typeof t || t instanceof String)) throw new TypeError("KaTeX can only parse string typed expression");
                    var r = new Ma(t, e);
                    delete r.gullet.macros.current["\\df@tag"];
                    var a = r.parse();
                    if (r.gullet.macros.get("\\df@tag")) {
                        if (!e.displayMode) throw new o("\\tag works only in display equations");
                        r.gullet.feed("\\df@tag"), (a = [{ type: "tag", mode: "text", body: a, tag: r.parse() }]);
                    }
                    return a;
                },
                Aa = function (t, e, r) {
                    e.textContent = "";
                    var a = Ba(t, r).toNode();
                    e.appendChild(a);
                };
            "undefined" != typeof document &&
                "CSS1Compat" !== document.compatMode &&
                ("undefined" != typeof console && console.warn("Warning: KaTeX doesn't work in quirks mode. Make sure your website has a suitable doctype."),
                (Aa = function () {
                    throw new o("KaTeX doesn't work in quirks mode.");
                }));
            var Ta = function (t, e, r) {
                    if (r.throwOnError || !(t instanceof o)) throw t;
                    var a = Dt.makeSpan(["katex-error"], [new E(e)]);
                    return a.setAttribute("title", t.toString()), a.setAttribute("style", "color:" + r.errorColor), a;
                },
                Ba = function (t, e) {
                    var r = new u(e);
                    try {
                        var a = za(t, r);
                        return Be(a, t, r);
                    } catch (e) {
                        return Ta(e, t, r);
                    }
                },
                Ca = {
                    version: "0.11.1",
                    render: Aa,
                    renderToString: function (t, e) {
                        return Ba(t, e).toMarkup();
                    },
                    ParseError: o,
                    __parse: function (t, e) {
                        var r = new u(e);
                        return za(t, r);
                    },
                    __renderToDomTree: Ba,
                    __renderToHTMLTree: function (t, e) {
                        var r = new u(e);
                        try {
                            return (function (t, e, r) {
                                var a = de(t, Ae(r)),
                                    n = Dt.makeSpan(["katex"], [a]);
                                return Te(n, r);
                            })(za(t, r), 0, r);
                        } catch (e) {
                            return Ta(e, t, r);
                        }
                    },
                    __setFontMetrics: function (t, e) {
                        F[t] = e;
                    },
                    __defineSymbol: $,
                    __defineMacro: pa,
                    __domTree: { Span: N, Anchor: I, SymbolNode: E, SvgNode: L, PathNode: H, LineNode: P },
                };
            e.default = Ca;
        },
    ]).default;
});