Keysyms: Update using latest xorgproto
[platform/upstream/libxkbcommon.git] / src / ks_tables.h
index aa55fc1..5c6ced8 100644 (file)
@@ -5,8 +5,10 @@
  * https://raw.github.com/xkbcommon/libxkbcommon/master/src/ks_tables.h
  */
 
+#ifdef __GNUC__
 #pragma GCC diagnostic push
 #pragma GCC diagnostic ignored "-Woverlength-strings"
+#endif
 static const char *keysym_names =
     "0\0"
     "1\0"
@@ -611,6 +613,11 @@ static const char *keysym_names =
     "Codeinput\0"
     "colon\0"
     "ColonSign\0"
+    "combining_acute\0"
+    "combining_belowdot\0"
+    "combining_grave\0"
+    "combining_hook\0"
+    "combining_tilde\0"
     "comma\0"
     "containsas\0"
     "Control_L\0"
@@ -743,7 +750,6 @@ static const char *keysym_names =
     "dead_abovedot\0"
     "dead_abovereversedcomma\0"
     "dead_abovering\0"
-    "dead_aboveverticalline\0"
     "dead_acute\0"
     "dead_belowbreve\0"
     "dead_belowcircumflex\0"
@@ -753,7 +759,6 @@ static const char *keysym_names =
     "dead_belowmacron\0"
     "dead_belowring\0"
     "dead_belowtilde\0"
-    "dead_belowverticalline\0"
     "dead_breve\0"
     "dead_capital_schwa\0"
     "dead_caron\0"
@@ -768,20 +773,21 @@ static const char *keysym_names =
     "dead_E\0"
     "dead_grave\0"
     "dead_greek\0"
+    "dead_hamza\0"
     "dead_hook\0"
     "dead_horn\0"
     "dead_i\0"
     "dead_I\0"
     "dead_invertedbreve\0"
     "dead_iota\0"
-    "dead_longsolidusoverlay\0"
-    "dead_lowline\0"
     "dead_macron\0"
     "dead_o\0"
     "dead_O\0"
     "dead_ogonek\0"
     "dead_perispomeni\0"
     "dead_psili\0"
+    "dead_schwa\0"
+    "dead_SCHWA\0"
     "dead_semivoiced_sound\0"
     "dead_small_schwa\0"
     "dead_stroke\0"
@@ -1089,6 +1095,8 @@ static const char *keysym_names =
     "Greek_ZETA\0"
     "Greek_zeta\0"
     "guilder\0"
+    "guillemetleft\0"
+    "guillemetright\0"
     "guillemotleft\0"
     "guillemotright\0"
     "H\0"
@@ -1279,7 +1287,6 @@ static const char *keysym_names =
     "hpReset\0"
     "hpSystem\0"
     "hpUser\0"
-    "hpYdiaeresis\0"
     "Hstroke\0"
     "hstroke\0"
     "ht\0"
@@ -1659,6 +1666,7 @@ static const char *keysym_names =
     "opentribulletdown\0"
     "opentribulletup\0"
     "ordfeminine\0"
+    "ordmasculine\0"
     "osfActivate\0"
     "osfAddMode\0"
     "osfBackSpace\0"
@@ -2201,10 +2209,23 @@ static const char *keysym_names =
     "x\0"
     "Xabovedot\0"
     "xabovedot\0"
+    "XF8610ChannelsDown\0"
+    "XF8610ChannelsUp\0"
+    "XF863DMode\0"
     "XF86AddFavorite\0"
+    "XF86Addressbook\0"
+    "XF86ALSToggle\0"
     "XF86ApplicationLeft\0"
     "XF86ApplicationRight\0"
+    "XF86AppSelect\0"
+    "XF86AspectRatio\0"
+    "XF86Assistant\0"
+    "XF86AttendantOff\0"
+    "XF86AttendantOn\0"
+    "XF86AttendantToggle\0"
+    "XF86Audio\0"
     "XF86AudioCycleTrack\0"
+    "XF86AudioDesc\0"
     "XF86AudioForward\0"
     "XF86AudioLowerVolume\0"
     "XF86AudioMedia\0"
@@ -2221,6 +2242,7 @@ static const char *keysym_names =
     "XF86AudioRepeat\0"
     "XF86AudioRewind\0"
     "XF86AudioStop\0"
+    "XF86AutopilotEngageToggle\0"
     "XF86Away\0"
     "XF86Back\0"
     "XF86BackForward\0"
@@ -2228,40 +2250,91 @@ static const char *keysym_names =
     "XF86Blue\0"
     "XF86Bluetooth\0"
     "XF86Book\0"
+    "XF86Break\0"
     "XF86BrightnessAdjust\0"
+    "XF86BrightnessAuto\0"
+    "XF86BrightnessMax\0"
+    "XF86BrightnessMin\0"
+    "XF86Buttonconfig\0"
     "XF86Calculater\0"
     "XF86Calculator\0"
     "XF86Calendar\0"
+    "XF86CameraAccessDisable\0"
+    "XF86CameraAccessEnable\0"
+    "XF86CameraAccessToggle\0"
+    "XF86CameraDown\0"
+    "XF86CameraFocus\0"
+    "XF86CameraLeft\0"
+    "XF86CameraRight\0"
+    "XF86CameraUp\0"
+    "XF86CameraZoomIn\0"
+    "XF86CameraZoomOut\0"
     "XF86CD\0"
+    "XF86ChannelDown\0"
+    "XF86ChannelUp\0"
     "XF86Clear\0"
     "XF86ClearGrab\0"
+    "XF86ClearvuSonar\0"
     "XF86Close\0"
     "XF86Community\0"
+    "XF86ContextMenu\0"
     "XF86ContrastAdjust\0"
+    "XF86ControlPanel\0"
     "XF86Copy\0"
     "XF86Cut\0"
     "XF86CycleAngle\0"
+    "XF86Data\0"
+    "XF86Database\0"
+    "XF86Dictate\0"
     "XF86Display\0"
+    "XF86DisplayOff\0"
+    "XF86DisplayToggle\0"
     "XF86Documents\0"
     "XF86DOS\0"
+    "XF86DualRangeRadar\0"
+    "XF86DVD\0"
+    "XF86Editor\0"
     "XF86Eject\0"
+    "XF86EmojiPicker\0"
     "XF86Excel\0"
     "XF86Explorer\0"
+    "XF86FastReverse\0"
     "XF86Favorites\0"
     "XF86Finance\0"
+    "XF86FishingChart\0"
+    "XF86Fn\0"
+    "XF86Fn_Esc\0"
+    "XF86FnRightShift\0"
     "XF86Forward\0"
     "XF86FrameBack\0"
     "XF86FrameForward\0"
+    "XF86FullScreen\0"
     "XF86Game\0"
     "XF86Go\0"
+    "XF86GraphicsEditor\0"
     "XF86Green\0"
+    "XF86HangupPhone\0"
     "XF86Hibernate\0"
     "XF86History\0"
     "XF86HomePage\0"
     "XF86HotLinks\0"
+    "XF86Images\0"
+    "XF86Info\0"
     "XF86iTouch\0"
+    "XF86Journal\0"
     "XF86KbdBrightnessDown\0"
     "XF86KbdBrightnessUp\0"
+    "XF86KbdInputAssistAccept\0"
+    "XF86KbdInputAssistCancel\0"
+    "XF86KbdInputAssistNext\0"
+    "XF86KbdInputAssistNextgroup\0"
+    "XF86KbdInputAssistPrev\0"
+    "XF86KbdInputAssistPrevgroup\0"
+    "XF86KbdLcdMenu1\0"
+    "XF86KbdLcdMenu2\0"
+    "XF86KbdLcdMenu3\0"
+    "XF86KbdLcdMenu4\0"
+    "XF86KbdLcdMenu5\0"
     "XF86KbdLightOnOff\0"
     "XF86Keyboard\0"
     "XF86Launch0\0"
@@ -2280,64 +2353,149 @@ static const char *keysym_names =
     "XF86LaunchD\0"
     "XF86LaunchE\0"
     "XF86LaunchF\0"
+    "XF86LeftDown\0"
+    "XF86LeftUp\0"
     "XF86LightBulb\0"
+    "XF86LightsToggle\0"
     "XF86LogGrabInfo\0"
     "XF86LogOff\0"
     "XF86LogWindowTree\0"
+    "XF86Macro1\0"
+    "XF86Macro10\0"
+    "XF86Macro11\0"
+    "XF86Macro12\0"
+    "XF86Macro13\0"
+    "XF86Macro14\0"
+    "XF86Macro15\0"
+    "XF86Macro16\0"
+    "XF86Macro17\0"
+    "XF86Macro18\0"
+    "XF86Macro19\0"
+    "XF86Macro2\0"
+    "XF86Macro20\0"
+    "XF86Macro21\0"
+    "XF86Macro22\0"
+    "XF86Macro23\0"
+    "XF86Macro24\0"
+    "XF86Macro25\0"
+    "XF86Macro26\0"
+    "XF86Macro27\0"
+    "XF86Macro28\0"
+    "XF86Macro29\0"
+    "XF86Macro3\0"
+    "XF86Macro30\0"
+    "XF86Macro4\0"
+    "XF86Macro5\0"
+    "XF86Macro6\0"
+    "XF86Macro7\0"
+    "XF86Macro8\0"
+    "XF86Macro9\0"
+    "XF86MacroPreset1\0"
+    "XF86MacroPreset2\0"
+    "XF86MacroPreset3\0"
+    "XF86MacroPresetCycle\0"
+    "XF86MacroRecordStart\0"
+    "XF86MacroRecordStop\0"
     "XF86Mail\0"
     "XF86MailForward\0"
     "XF86Market\0"
+    "XF86MarkWaypoint\0"
+    "XF86MediaRepeat\0"
+    "XF86MediaTopMenu\0"
     "XF86Meeting\0"
     "XF86Memo\0"
     "XF86MenuKB\0"
     "XF86MenuPB\0"
     "XF86Messenger\0"
     "XF86ModeLock\0"
+    "XF86MonBrightnessCycle\0"
     "XF86MonBrightnessDown\0"
     "XF86MonBrightnessUp\0"
     "XF86Music\0"
     "XF86MyComputer\0"
     "XF86MySites\0"
+    "XF86NavChart\0"
+    "XF86NavInfo\0"
     "XF86New\0"
     "XF86News\0"
     "XF86Next_VMode\0"
+    "XF86NextElement\0"
+    "XF86NextFavorite\0"
+    "XF86NotificationCenter\0"
+    "XF86Numeric0\0"
+    "XF86Numeric1\0"
+    "XF86Numeric11\0"
+    "XF86Numeric12\0"
+    "XF86Numeric2\0"
+    "XF86Numeric3\0"
+    "XF86Numeric4\0"
+    "XF86Numeric5\0"
+    "XF86Numeric6\0"
+    "XF86Numeric7\0"
+    "XF86Numeric8\0"
+    "XF86Numeric9\0"
+    "XF86NumericA\0"
+    "XF86NumericB\0"
+    "XF86NumericC\0"
+    "XF86NumericD\0"
+    "XF86NumericPound\0"
+    "XF86NumericStar\0"
     "XF86OfficeHome\0"
+    "XF86OnScreenKeyboard\0"
     "XF86Open\0"
     "XF86OpenURL\0"
     "XF86Option\0"
     "XF86Paste\0"
+    "XF86PauseRecord\0"
     "XF86Phone\0"
+    "XF86PickupPhone\0"
     "XF86Pictures\0"
     "XF86PowerDown\0"
     "XF86PowerOff\0"
+    "XF86Presentation\0"
     "XF86Prev_VMode\0"
+    "XF86PreviousElement\0"
+    "XF86PrivacyScreenToggle\0"
     "XF86Q\0"
+    "XF86RadarOverlay\0"
     "XF86Red\0"
     "XF86Refresh\0"
     "XF86Reload\0"
     "XF86Reply\0"
     "XF86RFKill\0"
+    "XF86RightDown\0"
+    "XF86RightUp\0"
     "XF86RockerDown\0"
     "XF86RockerEnter\0"
     "XF86RockerUp\0"
+    "XF86RootMenu\0"
     "XF86RotateWindows\0"
     "XF86RotationKB\0"
+    "XF86RotationLockToggle\0"
     "XF86RotationPB\0"
     "XF86Save\0"
     "XF86ScreenSaver\0"
+    "XF86Screensaver\0"
     "XF86ScrollClick\0"
     "XF86ScrollDown\0"
     "XF86ScrollUp\0"
     "XF86Search\0"
     "XF86Select\0"
+    "XF86SelectiveScreenshot\0"
     "XF86Send\0"
     "XF86Shop\0"
+    "XF86SidevuSonar\0"
+    "XF86SingleRangeRadar\0"
     "XF86Sleep\0"
+    "XF86SlowReverse\0"
+    "XF86Sos\0"
     "XF86Spell\0"
+    "XF86SpellCheck\0"
     "XF86SplitScreen\0"
     "XF86Standby\0"
     "XF86Start\0"
     "XF86Stop\0"
+    "XF86StopRecord\0"
     "XF86Subtitle\0"
     "XF86Support\0"
     "XF86Suspend\0"
@@ -2353,6 +2511,7 @@ static const char *keysym_names =
     "XF86Switch_VT_7\0"
     "XF86Switch_VT_8\0"
     "XF86Switch_VT_9\0"
+    "XF86Taskmanager\0"
     "XF86TaskPane\0"
     "XF86Terminal\0"
     "XF86Time\0"
@@ -2362,26 +2521,34 @@ static const char *keysym_names =
     "XF86TouchpadOff\0"
     "XF86TouchpadOn\0"
     "XF86TouchpadToggle\0"
+    "XF86TraditionalSonar\0"
     "XF86Travel\0"
     "XF86Ungrab\0"
+    "XF86Unmute\0"
     "XF86User1KB\0"
     "XF86User2KB\0"
     "XF86UserPB\0"
     "XF86UWB\0"
     "XF86VendorHome\0"
     "XF86Video\0"
+    "XF86VideoPhone\0"
     "XF86View\0"
+    "XF86VOD\0"
+    "XF86VoiceCommand\0"
+    "XF86Voicemail\0"
     "XF86WakeUp\0"
     "XF86WebCam\0"
     "XF86WheelButton\0"
     "XF86WLAN\0"
     "XF86Word\0"
+    "XF86WPSButton\0"
     "XF86WWAN\0"
     "XF86WWW\0"
     "XF86Xfer\0"
     "XF86Yellow\0"
     "XF86ZoomIn\0"
     "XF86ZoomOut\0"
+    "XF86ZoomReset\0"
     "Y\0"
     "y\0"
     "Yacute\0"
@@ -2415,7 +2582,328 @@ static const char *keysym_names =
     "Zstroke\0"
     "zstroke\0"
 ;
+#ifdef __GNUC__
 #pragma GCC diagnostic pop
+#endif
+
+static const uint16_t keysym_name_G[] = {
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    0, 0, 0, 0, 0, 0, 0, 0, 487, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4320, 0, 0, 0,
+    0, 0, 0, 3487, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 911,
+    170, 0, 0, 0, 0, 0, 0, 0, 0, 0, 337, 2237, 0, 0, 1255, 0, 0, 0, 0, 0,
+    4586, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2587, 0, 0, 0, 0, 2095, 2473, 0, 0, 0,
+    0, 3660, 3155, 0, 4215, 0, 0, 0, 3269, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1233, 0, 938, 0, 0, 0, 0,
+    3024, 0, 0, 0, 0, 0, 0, 2140, 1323, 0, 0, 3357, 0, 0, 0, 0, 0, 0, 0, 0,
+    0, 0, 0, 0, 267, 0, 1334, 2206, 0, 0, 0, 0, 0, 0, 2223, 0, 0, 0, 0, 0,
+    2646, 0, 4468, 1654, 0, 3013, 0, 3827, 0, 0, 0, 754, 271, 0, 0, 0, 0,
+    0, 2138, 934, 2447, 3798, 623, 292, 0, 0, 0, 2078, 0, 0, 0, 0, 0, 0, 0,
+    0, 860, 614, 0, 1667, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1966, 2819,
+    1086, 0, 613, 0, 0, 0, 2392, 0, 2124, 0, 0, 0, 0, 0, 0, 0, 2683, 2902,
+    0, 0, 0, 0, 0, 0, 4054, 0, 0, 0, 0, 130, 884, 4346, 0, 0, 0, 0, 0, 0,
+    0, 0, 495, 0, 0, 0, 0, 0, 847, 0, 0, 0, 0, 2464, 4132, 1191, 0, 0, 0,
+    0, 0, 2897, 1235, 113, 4597, 0, 0, 1982, 0, 0, 0, 0, 0, 1276, 2857, 0,
+    0, 0, 0, 0, 0, 0, 0, 0, 2300, 0, 0, 0, 0, 0, 0, 0, 0, 2956, 0, 0, 0, 0,
+    0, 0, 0, 1500, 0, 0, 0, 3846, 2818, 0, 0, 1274, 0, 1751, 0, 0, 3872, 0,
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 181, 0, 0, 0, 0, 0, 0, 1902, 0, 0,
+    0, 0, 0, 0, 0, 1021, 935, 3867, 0, 0, 695, 0, 0, 2791, 1285, 959, 104,
+    3701, 0, 0, 0, 0, 148, 0, 0, 0, 0, 0, 1986, 249, 830, 0, 1101, 0, 0,
+    702, 0, 2373, 0, 3925, 0, 0, 17, 0, 2474, 1714, 661, 1143, 0, 0, 0, 0,
+    0, 0, 0, 0, 0, 3877, 0, 0, 0, 0, 0, 0, 1837, 3205, 0, 0, 0, 0, 0, 0, 0,
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 997, 0, 0, 2889, 0, 1001, 1103, 0, 0, 2906,
+    2247, 0, 0, 0, 0, 0, 3811, 2559, 1107, 0, 0, 0, 0, 1281, 1748, 766, 0,
+    478, 0, 794, 2034, 0, 0, 4078, 0, 1052, 43, 0, 0, 0, 0, 370, 0, 4344,
+    0, 336, 0, 2520, 0, 4354, 0, 0, 4115, 106, 0, 0, 0, 0, 4483, 0, 4133,
+    4146, 0, 362, 0, 0, 0, 0, 2155, 2025, 0, 2538, 1624, 1569, 524, 344,
+    4216, 0, 0, 1049, 0, 0, 0, 0, 0, 0, 3971, 0, 0, 0, 0, 0, 0, 0, 0, 3506,
+    134, 0, 1029, 0, 0, 0, 0, 1999, 0, 3959, 3052, 0, 0, 0, 0, 0, 190,
+    4269, 124, 1503, 0, 789, 0, 0, 3157, 1339, 0, 2987, 1230, 340, 2855,
+    3977, 0, 0, 0, 3572, 0, 4005, 0, 0, 3389, 56, 3158, 2568, 1126, 2237,
+    0, 0, 3137, 2064, 2000, 0, 0, 4194, 0, 2009, 0, 0, 0, 352, 333, 0, 699,
+    1725, 0, 0, 1095, 758, 931, 0, 0, 3395, 0, 0, 0, 2779, 4331, 0, 376,
+    2643, 786, 0, 0, 0, 1695, 4476, 250, 1346, 0, 1584, 1546, 0, 0, 0, 547,
+    0, 0, 0, 0, 185, 0, 0, 3138, 0, 0, 0, 780, 2326, 3641, 357, 2909, 0,
+    2744, 0, 0, 3782, 3851, 0, 0, 2410, 0, 165, 0, 3929, 0, 332, 0, 0, 0,
+    285, 0, 132, 0, 0, 0, 0, 614, 2413, 0, 2071, 4452, 0, 2932, 0, 0, 2154,
+    0, 0, 0, 0, 47, 2817, 378, 0, 0, 0, 0, 2675, 2532, 0, 4444, 0, 0, 0,
+    3801, 1146, 1503, 0, 0, 360, 0, 1844, 3762, 0, 0, 0, 0, 808, 1971, 0,
+    0, 0, 3447, 2133, 1130, 277, 0, 2150, 0, 0, 0, 2022, 0, 0, 842, 0,
+    4056, 1546, 0, 2903, 2961, 0, 0, 1147, 0, 0, 0, 0, 0, 178, 2494, 4293,
+    0, 2691, 373, 898, 0, 0, 0, 358, 0, 1566, 1952, 4315, 1333, 0, 0, 0, 0,
+    0, 0, 0, 9, 4181, 0, 0, 3233, 0, 4170, 1838, 0, 4213, 0, 0, 4162, 1623,
+    4072, 0, 0, 4274, 1135, 0, 0, 0, 4580, 0, 0, 4155, 0, 0, 2104, 0, 0, 0,
+    0, 0, 0, 448, 392, 1065, 0, 0, 0, 3992, 0, 0, 0, 0, 874, 1186, 0, 0,
+    3272, 0, 0, 0, 2602, 1968, 2263, 3121, 1106, 0, 3214, 3710, 1824, 0,
+    81, 0, 0, 491, 0, 0, 0, 2160, 0, 0, 0, 1550, 1499, 0, 0, 162, 0, 2511,
+    0, 1750, 938, 114, 28, 0, 0, 0, 4369, 1651, 0, 705, 2124, 3706, 0,
+    2823, 0, 2478, 0, 0, 0, 41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2047, 4270,
+    875, 2763, 2128, 0, 0, 3258, 0, 0, 0, 0, 0, 368, 0, 0, 0, 793, 0, 214,
+    3900, 905, 0, 406, 3898, 2054, 249, 0, 1331, 1784, 4611, 456, 501,
+    3088, 0, 0, 469, 0, 0, 2591, 0, 0, 0, 0, 1924, 55, 1167, 3760, 1818, 0,
+    0, 0, 1494, 0, 2654, 3852, 0, 0, 0, 0, 3028, 0, 0, 4508, 1985, 0, 0,
+    3133, 1856, 0, 0, 3109, 4002, 2283, 0, 0, 0, 4105, 187, 0, 0, 1929,
+    2367, 0, 0, 3757, 0, 845, 1521, 0, 0, 1719, 1103, 3287, 0, 2813, 1345,
+    4445, 3128, 0, 0, 1629, 1909, 1628, 0, 0, 1206, 0, 0, 0, 0, 2835, 681,
+    690, 901, 2977, 2564, 0, 2775, 548, 2437, 4559, 0, 0, 0, 0, 1736, 615,
+    2162, 3107, 1079, 0, 2046, 3020, 4365, 3527, 0, 1791, 0, 560, 0, 0,
+    1693, 0, 1508, 3077, 0, 3861, 3413, 0, 1644, 0, 2261, 0, 0, 4419, 0, 0,
+    0, 0, 1783, 1949, 670, 0, 2807, 0, 3264, 0, 0, 3500, 0, 3809, 0, 3710,
+    2708, 855, 779, 1897, 1327, 0, 89, 414, 0, 0, 0, 4593, 266, 2482, 0, 0,
+    0, 630, 2992, 598, 0, 0, 0, 0, 2746, 1263, 0, 0, 0, 928, 4158, 0, 0, 0,
+    2804, 0, 98, 2895, 1286, 1852, 1606, 0, 760, 3974, 0, 3593, 0, 2401, 0,
+    0, 0, 979, 1479, 0, 2460, 0, 0, 0, 4357, 0, 1179, 1816, 0, 0, 288, 504,
+    680, 1197, 0, 2419, 1491, 3478, 4381, 357, 2773, 0, 857, 0, 0, 0, 2017,
+    0, 0, 0, 41, 2934, 0, 567, 699, 0, 0, 168, 3581, 1598, 0, 4363, 1661,
+    0, 0, 0, 1962, 0, 2193, 0, 0, 0, 0, 0, 0, 654, 2195, 0, 0, 0, 689, 0,
+    30, 418, 0, 3789, 168, 0, 2310, 0, 1482, 1739, 0, 466, 2856, 1317, 0,
+    1474, 413, 0, 0, 203, 3930, 0, 2854, 0, 0, 0, 0, 0, 0, 939, 480, 0, 0,
+    0, 2769, 0, 3083, 322, 0, 0, 2912, 0, 0, 4317, 0, 1978, 0, 2739, 0, 0,
+    1692, 968, 2256, 2834, 2206, 0, 0, 2922, 4496, 0, 2023, 1618, 1558, 0,
+    0, 0, 3103, 0, 117, 0, 0, 1043, 0, 4545, 0, 1017, 3407, 0, 0, 0, 0, 0,
+    0, 0, 3337, 0, 37, 0, 2483, 0, 0, 3015, 0, 388, 4012, 1582, 0, 0, 0,
+    3336, 426, 0, 0, 0, 257, 0, 0, 2599, 0, 4247, 2006, 3047, 0, 2213, 509,
+    0, 0, 0, 4575, 0, 626, 468, 0, 1886, 41, 0, 4401, 1277, 699, 3046,
+    4021, 640, 216, 2983, 0, 0, 0, 0, 0, 512, 0, 0, 0, 3830, 2250, 0, 0, 0,
+    472, 1251, 580, 54, 1885, 752, 0, 2764, 0, 0, 0, 1136, 0, 0, 0, 0, 0,
+    0, 316, 0, 0, 755, 307, 2168, 0, 0, 0, 2039, 0, 1407, 1154, 3271, 317,
+    0, 3901, 0, 0, 3089, 0, 0, 1927, 2173, 2261, 0, 3960, 3945, 0, 0, 0,
+    3262, 0, 2300, 0, 0, 1050, 0, 4371, 263, 4212, 0, 1765, 490, 1231,
+    1733, 386, 3524, 0, 1741, 145, 3981, 0, 4225, 2019, 4364, 0, 362, 1949,
+    0, 0, 0, 0, 3135, 0, 3799, 17, 1898, 0, 0, 0, 1882, 3926, 0, 0, 906,
+    2272, 4078, 0, 0, 0, 1329, 0, 0, 3206, 2808, 1071, 12, 0, 1132, 826,
+    2189, 3585, 1315, 0, 1446, 0, 3355, 0, 0, 0, 0, 3454, 0, 0, 0, 0, 0,
+    1644, 0, 0, 1239, 0, 0, 0, 0, 0, 0, 0, 4270, 1803, 1120, 810, 3997, 0,
+    4208, 856, 0, 432, 0, 0, 0, 1577, 294, 546, 4593, 1840, 3008, 0, 2831,
+    0, 1024, 548, 432, 0, 0, 3271, 0, 0, 0, 743, 4454, 2733, 492, 3608,
+    450, 394, 0, 0, 0, 0, 0, 0, 3649, 3146, 0, 123, 2509, 0, 648, 0, 1140,
+    1576, 2452, 0, 4466, 0, 0, 0, 917, 2554, 2666, 820, 0, 0, 0, 3847,
+    4485, 1720, 0, 3395, 0, 4207, 1646, 0, 0, 3864, 2769, 0, 0, 0, 1922,
+    1148, 1154, 3890, 3356, 0, 4379, 1216, 3140, 3410, 104, 4133, 1961,
+    2117, 2542, 0, 35, 0, 0, 0, 0, 0, 4566, 1392, 78, 0, 0, 0, 0, 1497,
+    1127, 3475, 2131, 0, 1542, 115, 0, 0, 2423, 0, 1085, 0, 4107, 0, 0, 0,
+    670, 0, 0, 727, 3031, 496, 0, 57, 410, 0, 0, 792, 0, 0, 2294, 819,
+    2235, 0, 2932, 0, 0, 1187, 0, 2607, 0, 2644, 2662, 0, 3119, 754, 3518,
+    0, 4450, 2376, 3838, 0, 2746, 0, 0, 0, 2546, 0, 0, 4014, 0, 0, 773,
+    1800, 4341, 167, 557, 2228, 2192, 0, 3800, 0, 0, 0, 452, 0, 1653, 0,
+    3644, 0, 3310, 2402, 2016, 2197, 4126, 0, 49, 1010, 0, 184, 1760, 0, 0,
+    0, 175, 0, 4572, 2257, 0, 10, 0, 3065, 3576, 0, 4364, 0, 3932, 0, 3972,
+    0, 0, 0, 2929, 2748, 0, 777, 772, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3840, 0,
+    3686, 648, 4560, 2355, 0, 3810, 0, 1185, 3316, 0, 0, 0, 499, 114, 1648,
+    0, 0, 200, 755, 1904, 2791, 0, 0, 1895, 203, 324, 3235, 0, 914, 0,
+    2455, 433, 2094, 0, 1912, 1694, 1060, 0, 265, 1272, 3959, 0, 447, 0,
+    1764, 0, 3672, 0, 0, 879, 4279, 0, 4020, 4545, 2515, 0, 2117, 0, 0,
+    3962, 0, 921, 0, 0, 4294, 1896, 0, 2210, 3360, 1577, 0, 0, 0, 3977, 0,
+    0, 1144, 0, 826, 2324, 1132, 2034, 1158, 1135, 946, 956, 239, 0, 0,
+    3569, 3333, 89, 0, 277, 95, 0, 87, 0, 1121, 4175, 4315, 0, 0, 0, 4327,
+    3717, 0, 0, 1816, 0, 0, 1357, 2223, 4018, 402, 0, 2666, 0, 2433, 0, 62,
+    4019, 4126, 0, 2089, 1465, 0, 0, 0, 0, 1865, 2570, 0, 0, 3547, 0, 0,
+    1738, 2306, 0, 2554, 25, 4148, 0, 894, 44, 2761, 1014, 0, 683, 0, 0, 0,
+    0, 3662, 2450, 0, 386, 0, 0, 2787, 3177, 4183, 0, 938, 0, 0, 680, 1290,
+    2558, 2639, 3187, 0, 3103, 0, 3969, 0, 1322, 2924, 0, 2736, 2280, 0, 0,
+    1917, 1812, 203, 0, 0, 0, 2461, 0, 2593, 0, 0, 3621, 0, 1220, 1648,
+    106, 829, 3850, 0, 1075, 0, 606, 0, 0, 0, 0, 0, 0, 1920, 2590, 96,
+    2374, 0, 0, 0, 601, 1893, 954, 0, 4300, 0, 1536, 247, 0, 0, 22, 0,
+    2829, 2555, 4439, 0, 0, 1085, 0, 0, 0, 0, 0, 168, 2604, 2767, 746,
+    3025, 0, 0, 0, 1450, 322, 2587, 0, 3406, 4597, 4511, 4129, 0, 1978, 0,
+    0, 0, 0, 0, 4011, 0, 3285, 1026, 0, 0, 1323, 0, 0, 0, 0, 0, 0, 0, 2385,
+    4525, 4454, 0, 612, 0, 1005, 905, 1176, 4261, 0, 0, 0, 0, 0, 4024, 904,
+    1519, 2375, 1332, 2396, 3030, 3260, 0, 0, 1997, 0, 346, 805, 0, 882, 0,
+    0, 3798, 0, 1445, 3177, 0, 3276, 0, 0, 0, 3708, 1862, 0, 0, 1791, 2259,
+    0, 2541, 2344, 0, 1206, 0, 179, 2055, 0, 2004, 0, 2398, 2566, 4529, 0,
+    0, 4408, 3074, 759, 0, 1870, 2819, 480, 0, 1073, 0, 0, 54, 0, 0, 0,
+    3155, 0, 2157, 2647, 0, 4360, 1175, 0, 0, 0, 0, 1516, 0, 1412, 0, 0, 0,
+    3822, 0, 0, 208, 2376, 0, 0, 2470, 2285, 0, 3535, 0, 0, 0, 2189, 0,
+    3893, 0, 0, 2904, 1834, 0, 2047, 0, 1673, 0, 3400, 444, 2149, 0, 3722,
+    4374, 0, 0, 1765, 32, 0, 1845, 0, 2227, 0, 2218, 1189, 635, 0, 0, 4043,
+    0, 0, 1355, 546, 880, 1232, 0, 0, 979, 1026, 2994, 847, 4444, 1700, 0,
+    715, 2754, 1754, 1593, 2000, 2866, 75, 2984, 0, 3366, 0, 0, 4310, 0, 0,
+    1454, 1314, 2974, 1861, 0, 631, 0, 438, 0, 1356, 1, 0, 1741, 4142, 0,
+    2052, 0, 1413, 4150, 0, 0, 2030, 0, 0, 0, 2107, 3073, 0, 4274, 0, 3454,
+    0, 0, 0, 489, 0, 0, 1406, 240, 0, 4341, 0, 4521, 0, 779, 2086, 0, 147,
+    4363, 0, 1677, 3165, 94, 0, 0, 756, 0, 0, 2489, 0, 0, 348, 0, 2440,
+    3650, 0, 0, 0, 860, 0, 476, 4182, 0, 1660, 2876, 0, 614, 0, 2459, 2348,
+    1300, 869, 0, 0, 4191, 892, 0, 568, 1619, 1407, 0, 2008, 3378, 3560,
+    671, 0, 0, 1195, 2593, 1701, 0, 1066, 1386, 2346, 0, 157, 0, 1385, 0,
+    1539, 0, 4037, 0, 876, 470, 0, 0, 3501, 0, 2981, 0, 2518, 1965, 714,
+    742, 0, 1146, 4523, 925, 1750, 0, 793, 1214, 0, 0, 0, 986, 0, 1419, 0,
+    422, 0, 0, 3102, 0, 0, 1161, 0, 0, 1922, 384, 3114, 1338, 673, 2544,
+    1178, 0, 2655, 0, 0, 2115, 0, 0, 1186, 0, 1442, 0, 0, 1481, 0, 1249,
+    2298, 0, 654, 0, 2037, 2897, 44, 0, 980, 0, 2331, 237, 1433, 3625,
+    3499, 0, 0, 0, 0, 3647, 0, 4314, 0, 0, 3036, 2163, 0, 1508, 0, 0, 0,
+    3902, 1316, 0, 4039, 221, 2193, 0, 4408, 0, 2270, 1942, 0, 926, 0,
+    1357, 3155, 370, 3727, 2686, 486, 0, 2195, 0, 3232, 0, 2638, 3788, 0,
+    0, 4468, 0, 301, 2376, 1629, 0, 2617, 0, 0, 0, 0, 3051, 0, 0, 0, 2993,
+    1215, 1858, 2975, 2521, 3692, 0, 0, 0, 3415, 330, 0, 0, 0, 3843, 863,
+    783, 0, 1169, 0, 1959, 0, 1170, 0, 141, 962, 4052, 3117, 2148, 1529, 0,
+    2295, 199, 679, 1686, 0, 0, 0, 0, 0, 3989, 134, 0, 2985, 0, 2368, 1163,
+    0, 3044, 0, 0, 2082, 2087, 2363, 927, 1803, 2273, 0, 2139, 1758, 558,
+    2097, 3701, 2157, 0, 1072, 2318, 384, 697, 926, 0, 45, 4570, 1136, 0,
+    0, 0, 0, 1262, 131, 0, 1221, 509, 0, 0, 0, 2424, 2271, 0, 3312, 1760,
+    0, 3206, 1726, 0, 0, 0, 1191, 4271, 0, 1232, 1865, 0, 4273, 2759, 0,
+    73, 4001, 914, 1791, 0, 0, 0, 780, 2128, 4578, 2457, 718, 640, 0, 0,
+    4459, 2308, 0, 0, 1829, 786, 2262, 4353, 2218, 1066, 0, 3008, 0, 0,
+    1472, 413, 3432, 2224, 0, 928, 1456, 366, 0, 1833, 1960, 461, 401, 0,
+    1153, 4573, 4279, 0, 955, 0, 452, 0, 3923, 4321, 982, 0, 2740, 2306,
+    4436, 505, 475, 0, 0, 2155, 618, 2209, 0, 2294, 1073, 4372, 1727, 637,
+    3760, 1622, 0, 0, 1132, 24, 3006, 1848, 0, 0, 0, 2214, 498, 41, 0, 0,
+    0, 0, 1243, 0, 0, 0, 1408, 0, 1267, 590, 893, 3099, 219, 4387, 2079,
+    1046, 741, 1263, 0, 1591, 729, 4048, 4089, 0, 0, 0, 0, 4356, 1404,
+    4137, 0, 2006, 532, 4260, 2539, 0, 0, 3768, 0, 1365, 3632, 667, 0, 0,
+    0, 575, 1056, 0, 1940, 4403, 2407, 542, 477, 1672, 0, 0, 2115, 194,
+    1223, 3127, 232, 806, 1427, 465, 0, 1084, 4353, 1867, 2110, 916, 0, 0,
+    0, 189, 0, 0, 0, 1027, 0, 1941, 0, 507, 1250, 186, 0, 806, 1551, 0, 0,
+    3379, 0, 3241, 1046, 0, 0, 0, 4397, 0, 1879, 0, 0, 0, 1307, 500, 0,
+    269, 3410, 0, 0, 1704, 4066, 0, 1658, 0, 0, 2145, 0, 0, 67, 2385, 0,
+    2870, 1720, 3313, 135, 422, 3949, 416, 0, 0, 0, 0, 2383, 4498, 274,
+    3732, 4606, 1790, 4026, 455, 1208, 0, 0, 0, 1435, 4443, 1809, 688,
+    1261, 2208, 1162, 3110, 983, 614, 956, 0, 0, 2359, 546, 0, 1757, 1323,
+    3127, 1460, 1960, 0, 1618, 3415, 2671, 0, 0, 0, 0, 0, 1309, 4469, 3190,
+    0, 91, 1713, 0, 2493, 0, 3447, 3135, 756, 0, 1771, 83, 3691, 639, 0, 0,
+    1540, 0, 0, 1238, 901, 1278, 2740, 0, 1178, 0, 0, 763, 766, 198, 0,
+    1387, 953, 1489, 0, 0, 0, 0, 0, 2303, 223, 976, 0, 0, 4245, 307, 157,
+    1206, 1274, 0, 308, 0, 2383, 1239, 2282, 2427, 1263, 728, 0, 0, 0,
+    3416, 554, 3315, 676, 32, 2314, 3964, 2787, 0, 990, 94, 0, 2503, 0,
+    649, 4520, 2460, 1954, 1970, 0, 2239, 10, 2262, 489, 2114, 0, 4069,
+    1359, 0, 0, 0, 2238, 1574, 513, 778, 0, 1481, 1306, 2154, 1524, 0,
+    1874, 2319, 876, 3874, 803, 0, 0, 0, 791, 0, 2170, 4415, 932, 0, 43,
+    18, 1742, 0, 2177, 1260, 1831, 1251, 1863, 770, 236, 1431, 0, 0, 0,
+    2079, 2232, 1549, 0, 2576, 0, 259, 0, 621, 1145, 0, 82, 558, 1493, 0,
+    0, 0, 0, 0, 0, 268, 1885, 2256, 244, 0, 4446, 3820, 0, 0, 0, 378, 0,
+    1501, 0, 0, 0, 1514, 3959, 1176, 0, 672, 2850, 3333, 2604, 1491, 0,
+    168, 0, 0, 166, 0, 0, 232, 0, 0, 2038, 107, 72, 0, 1934, 548, 1752,
+    521, 686, 3319, 1870, 0, 908, 2282, 3795, 2507, 3130, 3193, 0, 718,
+    1719, 2524, 1009, 3547, 4434, 0, 2226, 1467, 2434, 0, 1492, 1703, 3906,
+    0, 3136, 0, 0, 0, 1982, 4083, 0, 0, 678, 4376, 820, 0, 1824, 1878,
+    4547, 3898, 0, 2474, 0, 3527, 0, 0, 0, 4300, 1984, 0, 1538, 609, 1871,
+    1057, 91, 754, 3623, 0, 81, 650, 0, 0, 0, 2511, 3336, 2943, 645, 582,
+    1540, 234, 3076, 0, 0, 0, 1182, 1626, 0, 135, 0, 0, 1070, 593, 3974,
+    1201, 3010, 841, 789, 2161, 0, 170, 0, 694, 0, 173, 1625, 151, 0, 74,
+    1739, 1396, 1562, 1660, 983, 0, 0, 4372, 795, 710, 1229, 0, 851, 0,
+    1560, 0, 1068, 864, 4015, 0, 0, 0, 1379, 2130, 1248, 2249, 1779, 0, 0,
+    2458, 0, 1571, 0, 0, 2801, 0, 1031, 2097, 0, 0, 0, 970, 2887, 3117,
+    3683, 0, 605, 1252, 2635, 561, 237, 0, 3399, 1219, 0, 0, 4338, 1551,
+    2682, 0, 0, 3866, 876, 2472, 1606, 3122, 4141, 0, 0, 1156, 1675, 0, 0,
+    2339, 0, 1178, 2992, 0, 481, 0, 1442, 2412, 0, 0, 0, 459, 0, 1969, 0,
+    1780, 1322, 2942, 0, 3040, 0, 100, 938, 1780, 0, 2221, 516, 803, 2692,
+    121, 0, 3620, 1321, 0, 324, 4171, 956, 1553, 4184, 2462, 3604, 411, 0,
+    1797, 0, 3767, 0, 343, 0, 4420, 4463, 2887, 139, 2146, 0, 1171, 921,
+    2470, 4567, 0, 895, 63, 4295, 915, 108, 0, 2499, 1618, 189, 508, 2479,
+    691, 0, 4492, 4387, 575, 0, 139, 1520, 0, 2553, 2328, 0, 0, 4163, 1443,
+    1328, 0, 0, 0, 98, 0, 1063, 0, 281, 2373, 1958, 0, 0, 2523, 0, 3045, 0,
+    3401, 905, 0, 0, 1459, 0, 2542, 1401, 4036, 0, 3986, 3804, 0, 448,
+    4199, 2354, 0, 0, 737, 875, 579, 3407, 2269, 3386, 3526, 856, 4502,
+    293, 4206, 1128, 0, 0, 4575, 0, 3408, 665, 0, 0, 0, 1975, 3768, 0, 895,
+    0, 4265, 0, 1137, 0, 1550, 2075, 1644, 375, 4072, 1565, 2881, 2203,
+    1994, 0, 2963, 0, 0, 768, 1782, 2777, 451, 673, 0, 944, 2569, 3292,
+    1887, 0, 0, 3424, 1252, 1678, 0, 4009, 4450, 0, 1854, 934, 2056, 3595,
+    0, 0, 1721, 2411, 474, 4124, 0, 3968, 0, 0, 0, 0, 3712, 2639, 4503,
+    266, 0, 683, 3452, 0, 2561, 2601, 0, 0, 0, 0, 0, 4449, 2045, 906, 0, 0,
+    0, 694, 785, 1675, 1568, 770, 0, 1077, 1802, 2977, 323, 2499, 0, 2224,
+    768, 0, 3199, 994, 0, 1415, 1651, 0, 4050, 3810, 1445, 0, 4008, 2352,
+    1227, 0, 0, 0, 1558, 0, 0, 3892, 1681, 2935, 3854, 0, 331, 1822, 0, 0,
+    0, 3075, 2244, 3397, 3740, 3817, 0, 887, 4000, 0, 0, 3958, 2295, 153,
+    2381, 841, 0, 4387, 0, 749, 0, 1102, 292, 2236, 0, 64, 4080, 4079,
+    2156, 1635, 0, 2280, 0, 4071, 3890, 0, 2728, 0, 2321, 0, 1329, 280,
+    2511, 0, 4325, 945, 0, 0, 1492, 1409, 3620, 3209, 4206, 0, 2380, 0,
+    3329, 0, 0, 595, 1188, 0, 355, 3644, 4412, 907, 2500, 0, 2756, 994,
+    4396, 0, 0, 2526, 2188, 0, 1071, 0, 3025, 2109, 0, 3108, 4118, 1275,
+    455, 0, 2185, 2656, 0, 4048, 1177, 0, 1783, 954, 0, 3029, 0, 0, 37, 0,
+    4485, 1684, 4352, 3102, 3215, 1982, 897, 0, 0, 217, 407, 2090, 0, 1018,
+    0, 2242, 0, 0, 4484, 243, 3005, 599, 0, 2170, 1477, 1183, 2268, 2219,
+    3091, 0, 0, 658, 922, 1663, 2237, 2354, 2133, 0, 1447, 0, 0, 0, 0,
+    2373, 1235, 0, 1254, 999, 481, 1986, 1841, 1749, 0, 2996, 0, 4305, 668,
+    4457, 0, 402, 0, 2073, 2492, 0, 1907, 0, 547, 3906, 1385, 4301, 610,
+    3710, 0, 4109, 662, 0, 0, 908, 973, 0, 0, 3643, 2278, 1562, 3749, 2077,
+    2, 1579, 0, 2054, 0, 255, 1572, 2428, 0, 0, 1245, 0, 2011, 2162, 0,
+    4464, 3666, 734, 0, 1410, 1654, 938, 0, 2308, 2319, 1105, 0, 1875, 0,
+    0, 1284, 2051, 1823, 0, 0, 0, 2044, 1989, 0, 0, 0, 2765, 0, 959, 2179,
+    1357, 2221, 0, 1178, 940, 776, 0, 0, 0, 2301, 0, 0, 1552, 1569, 1563,
+    2304, 0, 0, 2184, 0, 0, 1947, 250, 3985, 721, 2529, 0, 2484, 4077,
+    4190, 0, 0, 1330, 1155, 0, 0, 0, 1992, 1076, 0, 3109, 4209, 0, 1053,
+    1634, 0, 0, 2301, 1000, 846, 1990, 0, 3692, 891, 1498, 0, 1717, 1379,
+    0, 1602, 0, 0, 4296, 1184, 551, 3740, 0, 0, 0, 0, 3978, 0, 2819, 0,
+    798, 3737, 455, 455, 0, 868, 1172, 534, 1667, 1743, 259, 807, 185, 0,
+    691, 1809, 1818, 0, 2555, 3932, 0, 3603, 652, 3316, 406, 0, 4370, 2502,
+    0, 953, 1012, 0, 0, 1531, 405, 2297, 1287, 3925, 4421, 1211, 126, 0,
+    2239, 0, 2856, 3085, 0, 1565, 1837, 0, 4337, 0, 800, 4515, 4339, 0,
+    2503, 321, 1097, 76, 4378, 1654, 0, 0, 0, 0, 580, 760, 3993, 1708,
+    1048, 3113, 2204, 0, 0, 1478, 0, 1773, 0, 511, 1074, 2864, 0, 325, 0,
+    0, 0, 1611, 1410, 292, 0, 1106, 792, 215, 2126, 3979, 0, 2162, 0, 0,
+    1589, 888, 3080, 0, 370, 633, 0, 1925, 697, 2439, 1248, 1495, 2064, 0,
+    2557, 2312, 962, 4295, 1003, 0, 443, 0, 0, 0, 0, 1868, 3881, 0, 627, 0,
+    0, 2475, 0, 149, 2594, 3913, 427, 987, 0, 0, 1895, 548, 0, 0, 0, 0,
+    3841, 4400, 0, 1167, 1544, 3890, 904, 1509, 0, 327, 0, 0, 0, 0, 0,
+    1927, 1072, 0, 1020, 1417, 0, 2159, 0, 0, 0, 1488, 1053, 2508, 2253,
+    1070, 3787, 0, 1152, 0, 2926, 0, 0, 760, 62, 3666, 519, 2472, 2194,
+    1075, 3738, 786, 2312, 2225, 3012, 0, 0, 1963, 2184, 0, 0, 0, 0, 4377,
+    0, 4572, 2177, 4048, 0, 273, 3854, 0, 1722, 3730, 0, 345, 2198, 491, 0,
+    3223, 1644, 0, 318, 0, 0, 3276, 888, 21, 2501, 147, 0, 362, 3764, 0,
+    1434, 2518, 0, 0, 2196, 0, 0, 2302, 0, 1924, 0, 1452, 1322, 1938, 429,
+    2339, 0, 0, 1505, 0, 1108, 1526, 0, 0, 2565, 1295, 0, 3120, 0, 1576, 0,
+    1969, 0, 3235, 1777, 0, 436, 3493, 3407, 129, 4595, 1234, 0, 0, 1506,
+    2927, 4450, 0, 0, 231, 0, 2147, 2221, 0, 0, 3140, 3899, 0, 918, 0, 322,
+    3241, 2195, 596, 3441, 0, 1030, 1415, 0, 1457, 262, 1752, 3006, 0,
+    1991, 2081, 450, 320, 4468, 90, 119, 1462, 1115, 4372, 1478, 2432, 0,
+    1711, 3502, 47, 171, 27, 0, 1910, 4095, 4045, 0, 1530, 1386, 889, 1749,
+    2521, 0, 1211, 3177, 84, 860, 0, 0, 3532, 3302, 4243, 0, 0, 0, 0, 11,
+    0, 425, 0, 0, 1810, 4403, 170, 4534, 912, 121, 73, 1694, 1715, 1085, 0,
+    1211, 0, 1499, 2300, 0, 0, 0, 1155, 1482, 2392, 0, 2460, 44, 4257,
+    2192, 4279, 351, 4530, 0, 2947, 323, 441, 483, 1916, 2100, 136, 1619,
+    0, 2554, 0, 139, 3717, 0, 0, 2871, 4598, 4345, 3350, 377, 1592, 1126,
+    0, 3052, 330, 481, 0, 4228, 1776, 870, 0, 1589, 381, 742, 0, 2092, 0,
+    0, 67, 2552, 2961, 387, 0, 1513, 85, 0, 0, 0, 0, 0, 0, 497, 2744, 971,
+    3547, 890, 1655, 965, 0, 1978, 158, 1617, 0, 0, 2083, 0, 2133, 2142, 0,
+    122, 1918, 1517, 0, 420, 3896, 249, 4537, 3582, 2197, 0, 2269, 0, 0, 0,
+    3428, 0, 712, 0, 0, 0, 1990, 118, 0, 0, 0, 2158, 632, 1421, 4020, 2618,
+    0, 2551, 0, 1139, 853, 3202, 1747, 2556, 0, 0, 0, 1076, 1601, 3316,
+    2248, 2735, 331, 983, 2943, 1849, 0, 4239, 616, 854, 2714, 0, 71, 0, 0,
+    1699, 823, 1106, 2374, 696, 1427, 758, 3450, 2227, 651, 2022, 1777,
+    1485, 0, 3073, 4168, 4468, 0, 3297, 2232, 146, 2062, 2069, 1607, 2020,
+    0, 1111, 252, 807, 499, 19, 2068, 0, 859, 0, 2456, 0, 226, 2014, 4336,
+    3076, 1354, 2190, 1141, 4335, 0, 0, 0, 626, 1445, 0, 1323, 93, 551, 0,
+    3766, 3094, 4130, 0, 802, 851, 4357, 210, 4348, 155, 2173, 3068, 0,
+    576, 1015, 0, 1207, 0, 650, 1510, 0, 393, 4434, 0, 0, 2486, 0, 0, 881,
+    545, 1619, 2522, 0, 13, 0, 1439, 1072, 4538, 141, 875, 363, 3108, 1639,
+    2093, 1683, 0, 0, 1275, 1380, 0, 0, 2250, 1671, 383, 0, 735, 2113, 246,
+    0, 2571, 0, 0, 63, 4169, 2381, 0, 0, 0, 270, 0, 0, 0, 0, 597, 0, 1445,
+    161, 3611, 517, 858, 2565, 0, 898, 3906, 0, 724, 3848, 1292, 588, 4288,
+    0, 4289, 0, 2040, 4461, 2488, 902, 0, 1553, 4434, 0, 1634, 1660, 0,
+    227, 680, 351, 134, 0, 721, 552, 0, 0, 350, 2106, 2361, 1161, 0, 3509,
+    0, 2066, 3599, 2713, 0, 0, 0, 958, 0, 3985, 2235, 0, 3484, 1526, 0,
+    3997, 3856, 3705, 0, 1114, 478, 3496, 0, 2065, 1798, 0, 438, 2183,
+    3691, 2138, 0, 4347, 2773, 1812, 634, 653, 1352, 1167, 2857, 3336, 669,
+    0, 3571, 0, 0, 0, 4331, 1078, 3414, 321, 0, 1168, 605, 0, 0, 3475, 514,
+    3183, 0, 2396, 2752, 0, 0, 707, 502, 581, 861, 1139, 220, 0, 0, 2153,
+    0, 720, 3989, 588, 0, 0, 375, 1656, 0, 3602, 2160, 3452, 3644, 3271,
+    1107, 0, 1209, 0, 0, 1491, 0, 1956, 936, 3001, 0, 673, 3628, 0, 549,
+    166, 0, 0, 1052, 1940, 80, 4319, 817, 2753, 4416, 2497, 453, 3395,
+    2372, 0, 0, 0, 0, 3332, 0, 0, 4077, 695, 0, 112, 1483, 1263, 3434,
+    2098, 2184, 2076, 2041, 1784, 0, 2750, 1463, 1172, 1700, 629, 728,
+    1930, 1906, 397, 3282, 0, 1192, 4395, 1937, 4085, 2044, 0, 634, 201, 0,
+    0, 1702, 3943, 0, 0, 252, 1346, 3797, 2283, 0, 3054, 0, 1616, 0, 0,
+    352, 1218, 0, 748, 3804, 0, 0, 1573, 3709, 189, 894, 695, 4152, 3200,
+    0, 1870, 587, 0, 617, 2304, 715, 1375, 1033, 0, 0, 1555, 296, 620, 0,
+    3252, 406, 1015, 3277, 0, 4545, 6, 1495, 0
+};
+
+static size_t
+keysym_name_hash_f(const char *key, const char *T)
+{
+    size_t sum = 0;
+    for (size_t i = 0; key[i] != '\0'; i++)
+        sum += T[i % 32] * key[i];
+    return sum % 4612;
+}
+
+static size_t
+keysym_name_perfect_hash(const char *key)
+{
+    return (
+        keysym_name_G[keysym_name_hash_f(key, "kGpyFyaH2vL17QkpsHYTxpmPRdRQGX1d")] +
+        keysym_name_G[keysym_name_hash_f(key, "bvkOjMVxdRlqBmcnPnEdGTGOrfAJmDxh")]
+    ) % 4612;
+}
+
 
 struct name_keysym {
     xkb_keysym_t keysym;
@@ -3026,1829 +3514,1994 @@ static const struct name_keysym name_to_keysym[] = {
     { 0x0000ff37, 8654 }, /* Codeinput */
     { 0x0000003a, 8664 }, /* colon */
     { 0x010020a1, 8670 }, /* ColonSign */
-    { 0x0000002c, 8680 }, /* comma */
-    { 0x0100220b, 8686 }, /* containsas */
-    { 0x0000ffe3, 8697 }, /* Control_L */
-    { 0x0000ffe4, 8707 }, /* Control_R */
-    { 0x000000a9, 8717 }, /* copyright */
-    { 0x000009e4, 8727 }, /* cr */
-    { 0x000009ee, 8730 }, /* crossinglines */
-    { 0x010020a2, 8744 }, /* CruzeiroSign */
-    { 0x0100221b, 8757 }, /* cuberoot */
-    { 0x000000a4, 8766 }, /* currency */
-    { 0x00000aff, 8775 }, /* cursor */
-    { 0x000006c1, 8782 }, /* Cyrillic_a */
-    { 0x000006e1, 8793 }, /* Cyrillic_A */
-    { 0x000006c2, 8804 }, /* Cyrillic_be */
-    { 0x000006e2, 8816 }, /* Cyrillic_BE */
-    { 0x000006de, 8828 }, /* Cyrillic_che */
-    { 0x000006fe, 8841 }, /* Cyrillic_CHE */
-    { 0x010004b6, 8854 }, /* Cyrillic_CHE_descender */
-    { 0x010004b7, 8877 }, /* Cyrillic_che_descender */
-    { 0x010004b8, 8900 }, /* Cyrillic_CHE_vertstroke */
-    { 0x010004b9, 8924 }, /* Cyrillic_che_vertstroke */
-    { 0x000006c4, 8948 }, /* Cyrillic_de */
-    { 0x000006e4, 8960 }, /* Cyrillic_DE */
-    { 0x000006af, 8972 }, /* Cyrillic_dzhe */
-    { 0x000006bf, 8986 }, /* Cyrillic_DZHE */
-    { 0x000006dc, 9000 }, /* Cyrillic_e */
-    { 0x000006fc, 9011 }, /* Cyrillic_E */
-    { 0x000006c6, 9022 }, /* Cyrillic_ef */
-    { 0x000006e6, 9034 }, /* Cyrillic_EF */
-    { 0x000006cc, 9046 }, /* Cyrillic_el */
-    { 0x000006ec, 9058 }, /* Cyrillic_EL */
-    { 0x000006cd, 9070 }, /* Cyrillic_em */
-    { 0x000006ed, 9082 }, /* Cyrillic_EM */
-    { 0x000006ce, 9094 }, /* Cyrillic_en */
-    { 0x000006ee, 9106 }, /* Cyrillic_EN */
-    { 0x010004a2, 9118 }, /* Cyrillic_EN_descender */
-    { 0x010004a3, 9140 }, /* Cyrillic_en_descender */
-    { 0x000006d2, 9162 }, /* Cyrillic_er */
-    { 0x000006f2, 9174 }, /* Cyrillic_ER */
-    { 0x000006d3, 9186 }, /* Cyrillic_es */
-    { 0x000006f3, 9198 }, /* Cyrillic_ES */
-    { 0x000006c7, 9210 }, /* Cyrillic_ghe */
-    { 0x000006e7, 9223 }, /* Cyrillic_GHE */
-    { 0x01000492, 9236 }, /* Cyrillic_GHE_bar */
-    { 0x01000493, 9253 }, /* Cyrillic_ghe_bar */
-    { 0x000006c8, 9270 }, /* Cyrillic_ha */
-    { 0x000006e8, 9282 }, /* Cyrillic_HA */
-    { 0x010004b2, 9294 }, /* Cyrillic_HA_descender */
-    { 0x010004b3, 9316 }, /* Cyrillic_ha_descender */
-    { 0x000006df, 9338 }, /* Cyrillic_hardsign */
-    { 0x000006ff, 9356 }, /* Cyrillic_HARDSIGN */
-    { 0x000006c9, 9374 }, /* Cyrillic_i */
-    { 0x000006e9, 9385 }, /* Cyrillic_I */
-    { 0x010004e2, 9396 }, /* Cyrillic_I_macron */
-    { 0x010004e3, 9414 }, /* Cyrillic_i_macron */
-    { 0x000006c5, 9432 }, /* Cyrillic_ie */
-    { 0x000006e5, 9444 }, /* Cyrillic_IE */
-    { 0x000006a3, 9456 }, /* Cyrillic_io */
-    { 0x000006b3, 9468 }, /* Cyrillic_IO */
-    { 0x000006a8, 9480 }, /* Cyrillic_je */
-    { 0x000006b8, 9492 }, /* Cyrillic_JE */
-    { 0x000006cb, 9504 }, /* Cyrillic_ka */
-    { 0x000006eb, 9516 }, /* Cyrillic_KA */
-    { 0x0100049a, 9528 }, /* Cyrillic_KA_descender */
-    { 0x0100049b, 9550 }, /* Cyrillic_ka_descender */
-    { 0x0100049c, 9572 }, /* Cyrillic_KA_vertstroke */
-    { 0x0100049d, 9595 }, /* Cyrillic_ka_vertstroke */
-    { 0x000006a9, 9618 }, /* Cyrillic_lje */
-    { 0x000006b9, 9631 }, /* Cyrillic_LJE */
-    { 0x000006aa, 9644 }, /* Cyrillic_nje */
-    { 0x000006ba, 9657 }, /* Cyrillic_NJE */
-    { 0x000006cf, 9670 }, /* Cyrillic_o */
-    { 0x000006ef, 9681 }, /* Cyrillic_O */
-    { 0x010004e8, 9692 }, /* Cyrillic_O_bar */
-    { 0x010004e9, 9707 }, /* Cyrillic_o_bar */
-    { 0x000006d0, 9722 }, /* Cyrillic_pe */
-    { 0x000006f0, 9734 }, /* Cyrillic_PE */
-    { 0x010004d8, 9746 }, /* Cyrillic_SCHWA */
-    { 0x010004d9, 9761 }, /* Cyrillic_schwa */
-    { 0x000006db, 9776 }, /* Cyrillic_sha */
-    { 0x000006fb, 9789 }, /* Cyrillic_SHA */
-    { 0x000006dd, 9802 }, /* Cyrillic_shcha */
-    { 0x000006fd, 9817 }, /* Cyrillic_SHCHA */
-    { 0x010004ba, 9832 }, /* Cyrillic_SHHA */
-    { 0x010004bb, 9846 }, /* Cyrillic_shha */
-    { 0x000006ca, 9860 }, /* Cyrillic_shorti */
-    { 0x000006ea, 9876 }, /* Cyrillic_SHORTI */
-    { 0x000006d8, 9892 }, /* Cyrillic_softsign */
-    { 0x000006f8, 9910 }, /* Cyrillic_SOFTSIGN */
-    { 0x000006d4, 9928 }, /* Cyrillic_te */
-    { 0x000006f4, 9940 }, /* Cyrillic_TE */
-    { 0x000006c3, 9952 }, /* Cyrillic_tse */
-    { 0x000006e3, 9965 }, /* Cyrillic_TSE */
-    { 0x000006d5, 9978 }, /* Cyrillic_u */
-    { 0x000006f5, 9989 }, /* Cyrillic_U */
-    { 0x010004ee, 10000 }, /* Cyrillic_U_macron */
-    { 0x010004ef, 10018 }, /* Cyrillic_u_macron */
-    { 0x010004ae, 10036 }, /* Cyrillic_U_straight */
-    { 0x010004af, 10056 }, /* Cyrillic_u_straight */
-    { 0x010004b0, 10076 }, /* Cyrillic_U_straight_bar */
-    { 0x010004b1, 10100 }, /* Cyrillic_u_straight_bar */
-    { 0x000006d7, 10124 }, /* Cyrillic_ve */
-    { 0x000006f7, 10136 }, /* Cyrillic_VE */
-    { 0x000006d1, 10148 }, /* Cyrillic_ya */
-    { 0x000006f1, 10160 }, /* Cyrillic_YA */
-    { 0x000006d9, 10172 }, /* Cyrillic_yeru */
-    { 0x000006f9, 10186 }, /* Cyrillic_YERU */
-    { 0x000006c0, 10200 }, /* Cyrillic_yu */
-    { 0x000006e0, 10212 }, /* Cyrillic_YU */
-    { 0x000006da, 10224 }, /* Cyrillic_ze */
-    { 0x000006fa, 10236 }, /* Cyrillic_ZE */
-    { 0x000006d6, 10248 }, /* Cyrillic_zhe */
-    { 0x000006f6, 10261 }, /* Cyrillic_ZHE */
-    { 0x01000496, 10274 }, /* Cyrillic_ZHE_descender */
-    { 0x01000497, 10297 }, /* Cyrillic_zhe_descender */
-    { 0x00000044, 10320 }, /* D */
-    { 0x00000064, 10322 }, /* d */
-    { 0x01001e0a, 10324 }, /* Dabovedot */
-    { 0x01001e0b, 10334 }, /* dabovedot */
-    { 0x1000fe27, 10344 }, /* Dacute_accent */
-    { 0x00000af1, 10358 }, /* dagger */
-    { 0x000001cf, 10365 }, /* Dcaron */
-    { 0x000001ef, 10372 }, /* dcaron */
-    { 0x1000fe2c, 10379 }, /* Dcedilla_accent */
-    { 0x1000fe5e, 10395 }, /* Dcircumflex_accent */
-    { 0x1000fe22, 10414 }, /* Ddiaeresis */
-    { 0x0000fe80, 10425 }, /* dead_a */
-    { 0x0000fe81, 10432 }, /* dead_A */
-    { 0x0000fe64, 10439 }, /* dead_abovecomma */
-    { 0x0000fe56, 10455 }, /* dead_abovedot */
-    { 0x0000fe65, 10469 }, /* dead_abovereversedcomma */
-    { 0x0000fe58, 10493 }, /* dead_abovering */
-    { 0x0000fe91, 10508 }, /* dead_aboveverticalline */
-    { 0x0000fe51, 10531 }, /* dead_acute */
-    { 0x0000fe6b, 10542 }, /* dead_belowbreve */
-    { 0x0000fe69, 10558 }, /* dead_belowcircumflex */
-    { 0x0000fe6e, 10579 }, /* dead_belowcomma */
-    { 0x0000fe6c, 10595 }, /* dead_belowdiaeresis */
-    { 0x0000fe60, 10615 }, /* dead_belowdot */
-    { 0x0000fe68, 10629 }, /* dead_belowmacron */
-    { 0x0000fe67, 10646 }, /* dead_belowring */
-    { 0x0000fe6a, 10661 }, /* dead_belowtilde */
-    { 0x0000fe92, 10677 }, /* dead_belowverticalline */
-    { 0x0000fe55, 10700 }, /* dead_breve */
-    { 0x0000fe8b, 10711 }, /* dead_capital_schwa */
-    { 0x0000fe5a, 10730 }, /* dead_caron */
-    { 0x0000fe5b, 10741 }, /* dead_cedilla */
-    { 0x0000fe52, 10754 }, /* dead_circumflex */
-    { 0x0000fe6f, 10770 }, /* dead_currency */
-    { 0x0000fe65, 10784 }, /* dead_dasia */
-    { 0x0000fe57, 10795 }, /* dead_diaeresis */
-    { 0x0000fe59, 10810 }, /* dead_doubleacute */
-    { 0x0000fe66, 10827 }, /* dead_doublegrave */
-    { 0x0000fe82, 10844 }, /* dead_e */
-    { 0x0000fe83, 10851 }, /* dead_E */
-    { 0x0000fe50, 10858 }, /* dead_grave */
-    { 0x0000fe8c, 10869 }, /* dead_greek */
-    { 0x0000fe61, 10880 }, /* dead_hook */
-    { 0x0000fe62, 10890 }, /* dead_horn */
-    { 0x0000fe84, 10900 }, /* dead_i */
-    { 0x0000fe85, 10907 }, /* dead_I */
-    { 0x0000fe6d, 10914 }, /* dead_invertedbreve */
-    { 0x0000fe5d, 10933 }, /* dead_iota */
-    { 0x0000fe93, 10943 }, /* dead_longsolidusoverlay */
-    { 0x0000fe90, 10967 }, /* dead_lowline */
-    { 0x0000fe54, 10980 }, /* dead_macron */
-    { 0x0000fe86, 10992 }, /* dead_o */
-    { 0x0000fe87, 10999 }, /* dead_O */
-    { 0x0000fe5c, 11006 }, /* dead_ogonek */
-    { 0x0000fe53, 11018 }, /* dead_perispomeni */
-    { 0x0000fe64, 11035 }, /* dead_psili */
-    { 0x0000fe5f, 11046 }, /* dead_semivoiced_sound */
-    { 0x0000fe8a, 11068 }, /* dead_small_schwa */
-    { 0x0000fe63, 11085 }, /* dead_stroke */
-    { 0x0000fe53, 11097 }, /* dead_tilde */
-    { 0x0000fe88, 11108 }, /* dead_u */
-    { 0x0000fe89, 11115 }, /* dead_U */
-    { 0x0000fe5e, 11122 }, /* dead_voiced_sound */
-    { 0x00000abd, 11140 }, /* decimalpoint */
-    { 0x000000b0, 11153 }, /* degree */
-    { 0x0000ffff, 11160 }, /* Delete */
-    { 0x1000ff73, 11167 }, /* DeleteChar */
-    { 0x1000ff71, 11178 }, /* DeleteLine */
-    { 0x1000fe60, 11189 }, /* Dgrave_accent */
-    { 0x000000a8, 11203 }, /* diaeresis */
-    { 0x00000aed, 11213 }, /* diamond */
-    { 0x00000aa5, 11221 }, /* digitspace */
-    { 0x0100222c, 11232 }, /* dintegral */
-    { 0x000000f7, 11242 }, /* division */
-    { 0x00000024, 11251 }, /* dollar */
-    { 0x010020ab, 11258 }, /* DongSign */
-    { 0x00000aaf, 11267 }, /* doubbaselinedot */
-    { 0x000001bd, 11283 }, /* doubleacute */
-    { 0x00000af2, 11295 }, /* doubledagger */
-    { 0x00000afe, 11308 }, /* doublelowquotemark */
-    { 0x0000ff54, 11327 }, /* Down */
-    { 0x000008fe, 11332 }, /* downarrow */
-    { 0x00000ba8, 11342 }, /* downcaret */
-    { 0x00000bd6, 11352 }, /* downshoe */
-    { 0x00000bc4, 11361 }, /* downstile */
-    { 0x00000bc2, 11371 }, /* downtack */
-    { 0x1000ff00, 11380 }, /* DRemove */
-    { 0x1000feb0, 11388 }, /* Dring_accent */
-    { 0x000001d0, 11401 }, /* Dstroke */
-    { 0x000001f0, 11409 }, /* dstroke */
-    { 0x1000fe7e, 11417 }, /* Dtilde */
-    { 0x00000045, 11424 }, /* E */
-    { 0x00000065, 11426 }, /* e */
-    { 0x000003cc, 11428 }, /* Eabovedot */
-    { 0x000003ec, 11438 }, /* eabovedot */
-    { 0x000000c9, 11448 }, /* Eacute */
-    { 0x000000e9, 11455 }, /* eacute */
-    { 0x01001eb8, 11462 }, /* Ebelowdot */
-    { 0x01001eb9, 11472 }, /* ebelowdot */
-    { 0x000001cc, 11482 }, /* Ecaron */
-    { 0x000001ec, 11489 }, /* ecaron */
-    { 0x000000ca, 11496 }, /* Ecircumflex */
-    { 0x000000ea, 11508 }, /* ecircumflex */
-    { 0x01001ebe, 11520 }, /* Ecircumflexacute */
-    { 0x01001ebf, 11537 }, /* ecircumflexacute */
-    { 0x01001ec6, 11554 }, /* Ecircumflexbelowdot */
-    { 0x01001ec7, 11574 }, /* ecircumflexbelowdot */
-    { 0x01001ec0, 11594 }, /* Ecircumflexgrave */
-    { 0x01001ec1, 11611 }, /* ecircumflexgrave */
-    { 0x01001ec2, 11628 }, /* Ecircumflexhook */
-    { 0x01001ec3, 11644 }, /* ecircumflexhook */
-    { 0x01001ec4, 11660 }, /* Ecircumflextilde */
-    { 0x01001ec5, 11677 }, /* ecircumflextilde */
-    { 0x010020a0, 11694 }, /* EcuSign */
-    { 0x000000cb, 11702 }, /* Ediaeresis */
-    { 0x000000eb, 11713 }, /* ediaeresis */
-    { 0x000000c8, 11724 }, /* Egrave */
-    { 0x000000e8, 11731 }, /* egrave */
-    { 0x01001eba, 11738 }, /* Ehook */
-    { 0x01001ebb, 11744 }, /* ehook */
-    { 0x01002088, 11750 }, /* eightsubscript */
-    { 0x01002078, 11765 }, /* eightsuperior */
-    { 0x0000ff2f, 11779 }, /* Eisu_Shift */
-    { 0x0000ff30, 11790 }, /* Eisu_toggle */
-    { 0x01002208, 11802 }, /* elementof */
-    { 0x00000aae, 11812 }, /* ellipsis */
-    { 0x00000aa3, 11821 }, /* em3space */
-    { 0x00000aa4, 11830 }, /* em4space */
-    { 0x000003aa, 11839 }, /* Emacron */
-    { 0x000003ba, 11847 }, /* emacron */
-    { 0x00000aa9, 11855 }, /* emdash */
-    { 0x00000ade, 11862 }, /* emfilledcircle */
-    { 0x00000adf, 11877 }, /* emfilledrect */
-    { 0x00000ace, 11890 }, /* emopencircle */
-    { 0x00000acf, 11903 }, /* emopenrectangle */
-    { 0x01002205, 11919 }, /* emptyset */
-    { 0x00000aa1, 11928 }, /* emspace */
-    { 0x0000ff57, 11936 }, /* End */
-    { 0x00000aaa, 11940 }, /* endash */
-    { 0x00000ae6, 11947 }, /* enfilledcircbullet */
-    { 0x00000ae7, 11966 }, /* enfilledsqbullet */
-    { 0x000003bd, 11983 }, /* ENG */
-    { 0x000003bf, 11987 }, /* eng */
-    { 0x00000ae0, 11991 }, /* enopencircbullet */
-    { 0x00000ae1, 12008 }, /* enopensquarebullet */
-    { 0x00000aa2, 12027 }, /* enspace */
-    { 0x000001ca, 12035 }, /* Eogonek */
-    { 0x000001ea, 12043 }, /* eogonek */
-    { 0x0000003d, 12051 }, /* equal */
-    { 0x0000ff1b, 12057 }, /* Escape */
-    { 0x000000d0, 12064 }, /* ETH */
-    { 0x000000d0, 12068 }, /* Eth */
-    { 0x000000f0, 12072 }, /* eth */
-    { 0x01001ebc, 12076 }, /* Etilde */
-    { 0x01001ebd, 12083 }, /* etilde */
-    { 0x000020ac, 12090 }, /* EuroSign */
-    { 0x00000021, 12099 }, /* exclam */
-    { 0x000000a1, 12106 }, /* exclamdown */
-    { 0x0000ff62, 12117 }, /* Execute */
-    { 0x1000ff76, 12125 }, /* Ext16bit_L */
-    { 0x1000ff77, 12136 }, /* Ext16bit_R */
-    { 0x010001b7, 12147 }, /* EZH */
-    { 0x01000292, 12151 }, /* ezh */
-    { 0x00000046, 12155 }, /* F */
-    { 0x00000066, 12157 }, /* f */
-    { 0x0000ffbe, 12159 }, /* F1 */
-    { 0x0000ffc7, 12162 }, /* F10 */
-    { 0x0000ffc8, 12166 }, /* F11 */
-    { 0x0000ffc9, 12170 }, /* F12 */
-    { 0x0000ffca, 12174 }, /* F13 */
-    { 0x0000ffcb, 12178 }, /* F14 */
-    { 0x0000ffcc, 12182 }, /* F15 */
-    { 0x0000ffcd, 12186 }, /* F16 */
-    { 0x0000ffce, 12190 }, /* F17 */
-    { 0x0000ffcf, 12194 }, /* F18 */
-    { 0x0000ffd0, 12198 }, /* F19 */
-    { 0x0000ffbf, 12202 }, /* F2 */
-    { 0x0000ffd1, 12205 }, /* F20 */
-    { 0x0000ffd2, 12209 }, /* F21 */
-    { 0x0000ffd3, 12213 }, /* F22 */
-    { 0x0000ffd4, 12217 }, /* F23 */
-    { 0x0000ffd5, 12221 }, /* F24 */
-    { 0x0000ffd6, 12225 }, /* F25 */
-    { 0x0000ffd7, 12229 }, /* F26 */
-    { 0x0000ffd8, 12233 }, /* F27 */
-    { 0x0000ffd9, 12237 }, /* F28 */
-    { 0x0000ffda, 12241 }, /* F29 */
-    { 0x0000ffc0, 12245 }, /* F3 */
-    { 0x0000ffdb, 12248 }, /* F30 */
-    { 0x0000ffdc, 12252 }, /* F31 */
-    { 0x0000ffdd, 12256 }, /* F32 */
-    { 0x0000ffde, 12260 }, /* F33 */
-    { 0x0000ffdf, 12264 }, /* F34 */
-    { 0x0000ffe0, 12268 }, /* F35 */
-    { 0x0000ffc1, 12272 }, /* F4 */
-    { 0x0000ffc2, 12275 }, /* F5 */
-    { 0x0000ffc3, 12278 }, /* F6 */
-    { 0x0000ffc4, 12281 }, /* F7 */
-    { 0x0000ffc5, 12284 }, /* F8 */
-    { 0x0000ffc6, 12287 }, /* F9 */
-    { 0x01001e1e, 12290 }, /* Fabovedot */
-    { 0x01001e1f, 12300 }, /* fabovedot */
-    { 0x010006f0, 12310 }, /* Farsi_0 */
-    { 0x010006f1, 12318 }, /* Farsi_1 */
-    { 0x010006f2, 12326 }, /* Farsi_2 */
-    { 0x010006f3, 12334 }, /* Farsi_3 */
-    { 0x010006f4, 12342 }, /* Farsi_4 */
-    { 0x010006f5, 12350 }, /* Farsi_5 */
-    { 0x010006f6, 12358 }, /* Farsi_6 */
-    { 0x010006f7, 12366 }, /* Farsi_7 */
-    { 0x010006f8, 12374 }, /* Farsi_8 */
-    { 0x010006f9, 12382 }, /* Farsi_9 */
-    { 0x010006cc, 12390 }, /* Farsi_yeh */
-    { 0x00000af8, 12400 }, /* femalesymbol */
-    { 0x000009e3, 12413 }, /* ff */
-    { 0x010020a3, 12416 }, /* FFrancSign */
-    { 0x00000abb, 12427 }, /* figdash */
-    { 0x00000adc, 12435 }, /* filledlefttribullet */
-    { 0x00000adb, 12455 }, /* filledrectbullet */
-    { 0x00000add, 12472 }, /* filledrighttribullet */
-    { 0x00000ae9, 12493 }, /* filledtribulletdown */
-    { 0x00000ae8, 12513 }, /* filledtribulletup */
-    { 0x0000ff68, 12531 }, /* Find */
-    { 0x0000fed0, 12536 }, /* First_Virtual_Screen */
-    { 0x00000ac5, 12557 }, /* fiveeighths */
-    { 0x00000ab7, 12569 }, /* fivesixths */
-    { 0x01002085, 12580 }, /* fivesubscript */
-    { 0x01002075, 12594 }, /* fivesuperior */
-    { 0x00000ab5, 12607 }, /* fourfifths */
-    { 0x01002084, 12618 }, /* foursubscript */
-    { 0x01002074, 12632 }, /* foursuperior */
-    { 0x0100221c, 12645 }, /* fourthroot */
-    { 0x000008f6, 12656 }, /* function */
-    { 0x00000047, 12665 }, /* G */
-    { 0x00000067, 12667 }, /* g */
-    { 0x000002d5, 12669 }, /* Gabovedot */
-    { 0x000002f5, 12679 }, /* gabovedot */
-    { 0x000002ab, 12689 }, /* Gbreve */
-    { 0x000002bb, 12696 }, /* gbreve */
-    { 0x010001e6, 12703 }, /* Gcaron */
-    { 0x010001e7, 12710 }, /* gcaron */
-    { 0x000003ab, 12717 }, /* Gcedilla */
-    { 0x000003bb, 12726 }, /* gcedilla */
-    { 0x000002d8, 12735 }, /* Gcircumflex */
-    { 0x000002f8, 12747 }, /* gcircumflex */
-    { 0x010010d0, 12759 }, /* Georgian_an */
-    { 0x010010d1, 12771 }, /* Georgian_ban */
-    { 0x010010ea, 12784 }, /* Georgian_can */
-    { 0x010010ed, 12797 }, /* Georgian_char */
-    { 0x010010e9, 12811 }, /* Georgian_chin */
-    { 0x010010ec, 12825 }, /* Georgian_cil */
-    { 0x010010d3, 12838 }, /* Georgian_don */
-    { 0x010010d4, 12851 }, /* Georgian_en */
-    { 0x010010f6, 12863 }, /* Georgian_fi */
-    { 0x010010d2, 12875 }, /* Georgian_gan */
-    { 0x010010e6, 12888 }, /* Georgian_ghan */
-    { 0x010010f0, 12902 }, /* Georgian_hae */
-    { 0x010010f4, 12915 }, /* Georgian_har */
-    { 0x010010f1, 12928 }, /* Georgian_he */
-    { 0x010010f2, 12940 }, /* Georgian_hie */
-    { 0x010010f5, 12953 }, /* Georgian_hoe */
-    { 0x010010d8, 12966 }, /* Georgian_in */
-    { 0x010010ef, 12978 }, /* Georgian_jhan */
-    { 0x010010eb, 12992 }, /* Georgian_jil */
-    { 0x010010d9, 13005 }, /* Georgian_kan */
-    { 0x010010e5, 13018 }, /* Georgian_khar */
-    { 0x010010da, 13032 }, /* Georgian_las */
-    { 0x010010db, 13045 }, /* Georgian_man */
-    { 0x010010dc, 13058 }, /* Georgian_nar */
-    { 0x010010dd, 13071 }, /* Georgian_on */
-    { 0x010010de, 13083 }, /* Georgian_par */
-    { 0x010010e4, 13096 }, /* Georgian_phar */
-    { 0x010010e7, 13110 }, /* Georgian_qar */
-    { 0x010010e0, 13123 }, /* Georgian_rae */
-    { 0x010010e1, 13136 }, /* Georgian_san */
-    { 0x010010e8, 13149 }, /* Georgian_shin */
-    { 0x010010d7, 13163 }, /* Georgian_tan */
-    { 0x010010e2, 13176 }, /* Georgian_tar */
-    { 0x010010e3, 13189 }, /* Georgian_un */
-    { 0x010010d5, 13201 }, /* Georgian_vin */
-    { 0x010010f3, 13214 }, /* Georgian_we */
-    { 0x010010ee, 13226 }, /* Georgian_xan */
-    { 0x010010d6, 13239 }, /* Georgian_zen */
-    { 0x010010df, 13252 }, /* Georgian_zhar */
-    { 0x00000060, 13266 }, /* grave */
-    { 0x0000003e, 13272 }, /* greater */
-    { 0x000008be, 13280 }, /* greaterthanequal */
-    { 0x000007ae, 13297 }, /* Greek_accentdieresis */
-    { 0x000007c1, 13318 }, /* Greek_ALPHA */
-    { 0x000007e1, 13330 }, /* Greek_alpha */
-    { 0x000007a1, 13342 }, /* Greek_ALPHAaccent */
-    { 0x000007b1, 13360 }, /* Greek_alphaaccent */
-    { 0x000007c2, 13378 }, /* Greek_BETA */
-    { 0x000007e2, 13389 }, /* Greek_beta */
-    { 0x000007d7, 13400 }, /* Greek_CHI */
-    { 0x000007f7, 13410 }, /* Greek_chi */
-    { 0x000007c4, 13420 }, /* Greek_DELTA */
-    { 0x000007e4, 13432 }, /* Greek_delta */
-    { 0x000007c5, 13444 }, /* Greek_EPSILON */
-    { 0x000007e5, 13458 }, /* Greek_epsilon */
-    { 0x000007a2, 13472 }, /* Greek_EPSILONaccent */
-    { 0x000007b2, 13492 }, /* Greek_epsilonaccent */
-    { 0x000007c7, 13512 }, /* Greek_ETA */
-    { 0x000007e7, 13522 }, /* Greek_eta */
-    { 0x000007a3, 13532 }, /* Greek_ETAaccent */
-    { 0x000007b3, 13548 }, /* Greek_etaaccent */
-    { 0x000007f3, 13564 }, /* Greek_finalsmallsigma */
-    { 0x000007c3, 13586 }, /* Greek_GAMMA */
-    { 0x000007e3, 13598 }, /* Greek_gamma */
-    { 0x000007af, 13610 }, /* Greek_horizbar */
-    { 0x000007c9, 13625 }, /* Greek_IOTA */
-    { 0x000007e9, 13636 }, /* Greek_iota */
-    { 0x000007a4, 13647 }, /* Greek_IOTAaccent */
-    { 0x000007b4, 13664 }, /* Greek_iotaaccent */
-    { 0x000007b6, 13681 }, /* Greek_iotaaccentdieresis */
-    { 0x000007a5, 13706 }, /* Greek_IOTAdiaeresis */
-    { 0x000007a5, 13726 }, /* Greek_IOTAdieresis */
-    { 0x000007b5, 13745 }, /* Greek_iotadieresis */
-    { 0x000007ca, 13764 }, /* Greek_KAPPA */
-    { 0x000007ea, 13776 }, /* Greek_kappa */
-    { 0x000007cb, 13788 }, /* Greek_LAMBDA */
-    { 0x000007eb, 13801 }, /* Greek_lambda */
-    { 0x000007cb, 13814 }, /* Greek_LAMDA */
-    { 0x000007eb, 13826 }, /* Greek_lamda */
-    { 0x000007cc, 13838 }, /* Greek_MU */
-    { 0x000007ec, 13847 }, /* Greek_mu */
-    { 0x000007cd, 13856 }, /* Greek_NU */
-    { 0x000007ed, 13865 }, /* Greek_nu */
-    { 0x000007d9, 13874 }, /* Greek_OMEGA */
-    { 0x000007f9, 13886 }, /* Greek_omega */
-    { 0x000007ab, 13898 }, /* Greek_OMEGAaccent */
-    { 0x000007bb, 13916 }, /* Greek_omegaaccent */
-    { 0x000007cf, 13934 }, /* Greek_OMICRON */
-    { 0x000007ef, 13948 }, /* Greek_omicron */
-    { 0x000007a7, 13962 }, /* Greek_OMICRONaccent */
-    { 0x000007b7, 13982 }, /* Greek_omicronaccent */
-    { 0x000007d6, 14002 }, /* Greek_PHI */
-    { 0x000007f6, 14012 }, /* Greek_phi */
-    { 0x000007d0, 14022 }, /* Greek_PI */
-    { 0x000007f0, 14031 }, /* Greek_pi */
-    { 0x000007d8, 14040 }, /* Greek_PSI */
-    { 0x000007f8, 14050 }, /* Greek_psi */
-    { 0x000007d1, 14060 }, /* Greek_RHO */
-    { 0x000007f1, 14070 }, /* Greek_rho */
-    { 0x000007d2, 14080 }, /* Greek_SIGMA */
-    { 0x000007f2, 14092 }, /* Greek_sigma */
-    { 0x0000ff7e, 14104 }, /* Greek_switch */
-    { 0x000007d4, 14117 }, /* Greek_TAU */
-    { 0x000007f4, 14127 }, /* Greek_tau */
-    { 0x000007c8, 14137 }, /* Greek_THETA */
-    { 0x000007e8, 14149 }, /* Greek_theta */
-    { 0x000007d5, 14161 }, /* Greek_UPSILON */
-    { 0x000007f5, 14175 }, /* Greek_upsilon */
-    { 0x000007a8, 14189 }, /* Greek_UPSILONaccent */
-    { 0x000007b8, 14209 }, /* Greek_upsilonaccent */
-    { 0x000007ba, 14229 }, /* Greek_upsilonaccentdieresis */
-    { 0x000007a9, 14257 }, /* Greek_UPSILONdieresis */
-    { 0x000007b9, 14279 }, /* Greek_upsilondieresis */
-    { 0x000007ce, 14301 }, /* Greek_XI */
-    { 0x000007ee, 14310 }, /* Greek_xi */
-    { 0x000007c6, 14319 }, /* Greek_ZETA */
-    { 0x000007e6, 14330 }, /* Greek_zeta */
-    { 0x100000be, 14341 }, /* guilder */
-    { 0x000000ab, 14349 }, /* guillemotleft */
-    { 0x000000bb, 14363 }, /* guillemotright */
-    { 0x00000048, 14378 }, /* H */
-    { 0x00000068, 14380 }, /* h */
-    { 0x00000aa8, 14382 }, /* hairspace */
-    { 0x0000ff31, 14392 }, /* Hangul */
-    { 0x00000ebf, 14399 }, /* Hangul_A */
-    { 0x00000ec0, 14408 }, /* Hangul_AE */
-    { 0x00000ef6, 14418 }, /* Hangul_AraeA */
-    { 0x00000ef7, 14431 }, /* Hangul_AraeAE */
-    { 0x0000ff39, 14445 }, /* Hangul_Banja */
-    { 0x00000eba, 14458 }, /* Hangul_Cieuc */
-    { 0x0000ff37, 14471 }, /* Hangul_Codeinput */
-    { 0x00000ea7, 14488 }, /* Hangul_Dikeud */
-    { 0x00000ec4, 14502 }, /* Hangul_E */
-    { 0x0000ff33, 14511 }, /* Hangul_End */
-    { 0x00000ec3, 14522 }, /* Hangul_EO */
-    { 0x00000ed1, 14532 }, /* Hangul_EU */
-    { 0x0000ff34, 14542 }, /* Hangul_Hanja */
-    { 0x00000ebe, 14555 }, /* Hangul_Hieuh */
-    { 0x00000ed3, 14568 }, /* Hangul_I */
-    { 0x00000eb7, 14577 }, /* Hangul_Ieung */
-    { 0x00000eea, 14590 }, /* Hangul_J_Cieuc */
-    { 0x00000eda, 14605 }, /* Hangul_J_Dikeud */
-    { 0x00000eee, 14621 }, /* Hangul_J_Hieuh */
-    { 0x00000ee8, 14636 }, /* Hangul_J_Ieung */
-    { 0x00000ee9, 14651 }, /* Hangul_J_Jieuj */
-    { 0x00000eeb, 14666 }, /* Hangul_J_Khieuq */
-    { 0x00000ed4, 14682 }, /* Hangul_J_Kiyeog */
-    { 0x00000ed6, 14698 }, /* Hangul_J_KiyeogSios */
-    { 0x00000ef9, 14718 }, /* Hangul_J_KkogjiDalrinIeung */
-    { 0x00000ee3, 14745 }, /* Hangul_J_Mieum */
-    { 0x00000ed7, 14760 }, /* Hangul_J_Nieun */
-    { 0x00000ed9, 14775 }, /* Hangul_J_NieunHieuh */
-    { 0x00000ed8, 14795 }, /* Hangul_J_NieunJieuj */
-    { 0x00000ef8, 14815 }, /* Hangul_J_PanSios */
-    { 0x00000eed, 14832 }, /* Hangul_J_Phieuf */
-    { 0x00000ee4, 14848 }, /* Hangul_J_Pieub */
-    { 0x00000ee5, 14863 }, /* Hangul_J_PieubSios */
-    { 0x00000edb, 14882 }, /* Hangul_J_Rieul */
-    { 0x00000ee2, 14897 }, /* Hangul_J_RieulHieuh */
-    { 0x00000edc, 14917 }, /* Hangul_J_RieulKiyeog */
-    { 0x00000edd, 14938 }, /* Hangul_J_RieulMieum */
-    { 0x00000ee1, 14958 }, /* Hangul_J_RieulPhieuf */
-    { 0x00000ede, 14979 }, /* Hangul_J_RieulPieub */
-    { 0x00000edf, 14999 }, /* Hangul_J_RieulSios */
-    { 0x00000ee0, 15018 }, /* Hangul_J_RieulTieut */
-    { 0x00000ee6, 15038 }, /* Hangul_J_Sios */
-    { 0x00000ed5, 15052 }, /* Hangul_J_SsangKiyeog */
-    { 0x00000ee7, 15073 }, /* Hangul_J_SsangSios */
-    { 0x00000eec, 15092 }, /* Hangul_J_Tieut */
-    { 0x00000efa, 15107 }, /* Hangul_J_YeorinHieuh */
-    { 0x0000ff35, 15128 }, /* Hangul_Jamo */
-    { 0x0000ff38, 15140 }, /* Hangul_Jeonja */
-    { 0x00000eb8, 15154 }, /* Hangul_Jieuj */
-    { 0x00000ebb, 15167 }, /* Hangul_Khieuq */
-    { 0x00000ea1, 15181 }, /* Hangul_Kiyeog */
-    { 0x00000ea3, 15195 }, /* Hangul_KiyeogSios */
-    { 0x00000ef3, 15213 }, /* Hangul_KkogjiDalrinIeung */
-    { 0x00000eb1, 15238 }, /* Hangul_Mieum */
-    { 0x0000ff3d, 15251 }, /* Hangul_MultipleCandidate */
-    { 0x00000ea4, 15276 }, /* Hangul_Nieun */
-    { 0x00000ea6, 15289 }, /* Hangul_NieunHieuh */
-    { 0x00000ea5, 15307 }, /* Hangul_NieunJieuj */
-    { 0x00000ec7, 15325 }, /* Hangul_O */
-    { 0x00000eca, 15334 }, /* Hangul_OE */
-    { 0x00000ef2, 15344 }, /* Hangul_PanSios */
-    { 0x00000ebd, 15359 }, /* Hangul_Phieuf */
-    { 0x00000eb2, 15373 }, /* Hangul_Pieub */
-    { 0x00000eb4, 15386 }, /* Hangul_PieubSios */
-    { 0x0000ff3b, 15403 }, /* Hangul_PostHanja */
-    { 0x0000ff3a, 15420 }, /* Hangul_PreHanja */
-    { 0x0000ff3e, 15436 }, /* Hangul_PreviousCandidate */
-    { 0x00000ea9, 15461 }, /* Hangul_Rieul */
-    { 0x00000eb0, 15474 }, /* Hangul_RieulHieuh */
-    { 0x00000eaa, 15492 }, /* Hangul_RieulKiyeog */
-    { 0x00000eab, 15511 }, /* Hangul_RieulMieum */
-    { 0x00000eaf, 15529 }, /* Hangul_RieulPhieuf */
-    { 0x00000eac, 15548 }, /* Hangul_RieulPieub */
-    { 0x00000ead, 15566 }, /* Hangul_RieulSios */
-    { 0x00000eae, 15583 }, /* Hangul_RieulTieut */
-    { 0x00000eef, 15601 }, /* Hangul_RieulYeorinHieuh */
-    { 0x0000ff36, 15625 }, /* Hangul_Romaja */
-    { 0x0000ff3c, 15639 }, /* Hangul_SingleCandidate */
-    { 0x00000eb5, 15662 }, /* Hangul_Sios */
-    { 0x0000ff3f, 15674 }, /* Hangul_Special */
-    { 0x00000ea8, 15689 }, /* Hangul_SsangDikeud */
-    { 0x00000eb9, 15708 }, /* Hangul_SsangJieuj */
-    { 0x00000ea2, 15726 }, /* Hangul_SsangKiyeog */
-    { 0x00000eb3, 15745 }, /* Hangul_SsangPieub */
-    { 0x00000eb6, 15763 }, /* Hangul_SsangSios */
-    { 0x0000ff32, 15780 }, /* Hangul_Start */
-    { 0x00000ef0, 15793 }, /* Hangul_SunkyeongeumMieum */
-    { 0x00000ef4, 15818 }, /* Hangul_SunkyeongeumPhieuf */
-    { 0x00000ef1, 15844 }, /* Hangul_SunkyeongeumPieub */
-    { 0x0000ff7e, 15869 }, /* Hangul_switch */
-    { 0x00000ebc, 15883 }, /* Hangul_Tieut */
-    { 0x00000ecc, 15896 }, /* Hangul_U */
-    { 0x00000ec8, 15905 }, /* Hangul_WA */
-    { 0x00000ec9, 15915 }, /* Hangul_WAE */
-    { 0x00000ece, 15926 }, /* Hangul_WE */
-    { 0x00000ecd, 15936 }, /* Hangul_WEO */
-    { 0x00000ecf, 15947 }, /* Hangul_WI */
-    { 0x00000ec1, 15957 }, /* Hangul_YA */
-    { 0x00000ec2, 15967 }, /* Hangul_YAE */
-    { 0x00000ec6, 15978 }, /* Hangul_YE */
-    { 0x00000ec5, 15988 }, /* Hangul_YEO */
-    { 0x00000ef5, 15999 }, /* Hangul_YeorinHieuh */
-    { 0x00000ed2, 16018 }, /* Hangul_YI */
-    { 0x00000ecb, 16028 }, /* Hangul_YO */
-    { 0x00000ed0, 16038 }, /* Hangul_YU */
-    { 0x0000ff29, 16048 }, /* Hankaku */
-    { 0x000002a6, 16056 }, /* Hcircumflex */
-    { 0x000002b6, 16068 }, /* hcircumflex */
-    { 0x00000aee, 16080 }, /* heart */
-    { 0x00000ce0, 16086 }, /* hebrew_aleph */
-    { 0x00000cf2, 16099 }, /* hebrew_ayin */
-    { 0x00000ce1, 16111 }, /* hebrew_bet */
-    { 0x00000ce1, 16122 }, /* hebrew_beth */
-    { 0x00000ce7, 16134 }, /* hebrew_chet */
-    { 0x00000ce3, 16146 }, /* hebrew_dalet */
-    { 0x00000ce3, 16159 }, /* hebrew_daleth */
-    { 0x00000cdf, 16173 }, /* hebrew_doublelowline */
-    { 0x00000cea, 16194 }, /* hebrew_finalkaph */
-    { 0x00000ced, 16211 }, /* hebrew_finalmem */
-    { 0x00000cef, 16227 }, /* hebrew_finalnun */
-    { 0x00000cf3, 16243 }, /* hebrew_finalpe */
-    { 0x00000cf5, 16258 }, /* hebrew_finalzade */
-    { 0x00000cf5, 16275 }, /* hebrew_finalzadi */
-    { 0x00000ce2, 16292 }, /* hebrew_gimel */
-    { 0x00000ce2, 16305 }, /* hebrew_gimmel */
-    { 0x00000ce4, 16319 }, /* hebrew_he */
-    { 0x00000ce7, 16329 }, /* hebrew_het */
-    { 0x00000ceb, 16340 }, /* hebrew_kaph */
-    { 0x00000cf7, 16352 }, /* hebrew_kuf */
-    { 0x00000cec, 16363 }, /* hebrew_lamed */
-    { 0x00000cee, 16376 }, /* hebrew_mem */
-    { 0x00000cf0, 16387 }, /* hebrew_nun */
-    { 0x00000cf4, 16398 }, /* hebrew_pe */
-    { 0x00000cf7, 16408 }, /* hebrew_qoph */
-    { 0x00000cf8, 16420 }, /* hebrew_resh */
-    { 0x00000cf1, 16432 }, /* hebrew_samech */
-    { 0x00000cf1, 16446 }, /* hebrew_samekh */
-    { 0x00000cf9, 16460 }, /* hebrew_shin */
-    { 0x0000ff7e, 16472 }, /* Hebrew_switch */
-    { 0x00000cfa, 16486 }, /* hebrew_taf */
-    { 0x00000cfa, 16497 }, /* hebrew_taw */
-    { 0x00000ce8, 16508 }, /* hebrew_tet */
-    { 0x00000ce8, 16519 }, /* hebrew_teth */
-    { 0x00000ce5, 16531 }, /* hebrew_waw */
-    { 0x00000ce9, 16542 }, /* hebrew_yod */
-    { 0x00000cf6, 16553 }, /* hebrew_zade */
-    { 0x00000cf6, 16565 }, /* hebrew_zadi */
-    { 0x00000ce6, 16577 }, /* hebrew_zain */
-    { 0x00000ce6, 16589 }, /* hebrew_zayin */
-    { 0x0000ff6a, 16602 }, /* Help */
-    { 0x0000ff23, 16607 }, /* Henkan */
-    { 0x0000ff23, 16614 }, /* Henkan_Mode */
-    { 0x00000ada, 16626 }, /* hexagram */
-    { 0x0000ff25, 16635 }, /* Hiragana */
-    { 0x0000ff27, 16644 }, /* Hiragana_Katakana */
-    { 0x0000ff50, 16662 }, /* Home */
-    { 0x000008a3, 16667 }, /* horizconnector */
-    { 0x000009ef, 16682 }, /* horizlinescan1 */
-    { 0x000009f0, 16697 }, /* horizlinescan3 */
-    { 0x000009f1, 16712 }, /* horizlinescan5 */
-    { 0x000009f2, 16727 }, /* horizlinescan7 */
-    { 0x000009f3, 16742 }, /* horizlinescan9 */
-    { 0x1000ff74, 16757 }, /* hpBackTab */
-    { 0x100000fc, 16767 }, /* hpblock */
-    { 0x1000ff6f, 16775 }, /* hpClearLine */
-    { 0x1000ff73, 16787 }, /* hpDeleteChar */
-    { 0x1000ff71, 16800 }, /* hpDeleteLine */
-    { 0x100000be, 16813 }, /* hpguilder */
-    { 0x1000ff72, 16823 }, /* hpInsertChar */
-    { 0x1000ff70, 16836 }, /* hpInsertLine */
-    { 0x100000ee, 16849 }, /* hpIO */
-    { 0x1000ff75, 16854 }, /* hpKP_BackTab */
-    { 0x100000af, 16867 }, /* hplira */
-    { 0x100000f6, 16874 }, /* hplongminus */
-    { 0x1000ff48, 16886 }, /* hpModelock1 */
-    { 0x1000ff49, 16898 }, /* hpModelock2 */
-    { 0x100000a8, 16910 }, /* hpmute_acute */
-    { 0x100000aa, 16923 }, /* hpmute_asciicircum */
-    { 0x100000ac, 16942 }, /* hpmute_asciitilde */
-    { 0x100000ab, 16960 }, /* hpmute_diaeresis */
-    { 0x100000a9, 16977 }, /* hpmute_grave */
-    { 0x1000ff6c, 16990 }, /* hpReset */
-    { 0x1000ff6d, 16998 }, /* hpSystem */
-    { 0x1000ff6e, 17007 }, /* hpUser */
-    { 0x100000ee, 17014 }, /* hpYdiaeresis */
-    { 0x000002a1, 17027 }, /* Hstroke */
-    { 0x000002b1, 17035 }, /* hstroke */
-    { 0x000009e2, 17043 }, /* ht */
-    { 0x0000ffed, 17046 }, /* Hyper_L */
-    { 0x0000ffee, 17054 }, /* Hyper_R */
-    { 0x000000ad, 17062 }, /* hyphen */
-    { 0x00000049, 17069 }, /* I */
-    { 0x00000069, 17071 }, /* i */
-    { 0x000002a9, 17073 }, /* Iabovedot */
-    { 0x000000cd, 17083 }, /* Iacute */
-    { 0x000000ed, 17090 }, /* iacute */
-    { 0x01001eca, 17097 }, /* Ibelowdot */
-    { 0x01001ecb, 17107 }, /* ibelowdot */
-    { 0x0100012c, 17117 }, /* Ibreve */
-    { 0x0100012d, 17124 }, /* ibreve */
-    { 0x000000ce, 17131 }, /* Icircumflex */
-    { 0x000000ee, 17143 }, /* icircumflex */
-    { 0x000008cf, 17155 }, /* identical */
-    { 0x000000cf, 17165 }, /* Idiaeresis */
-    { 0x000000ef, 17176 }, /* idiaeresis */
-    { 0x000002b9, 17187 }, /* idotless */
-    { 0x000008cd, 17196 }, /* ifonlyif */
-    { 0x000000cc, 17205 }, /* Igrave */
-    { 0x000000ec, 17212 }, /* igrave */
-    { 0x01001ec8, 17219 }, /* Ihook */
-    { 0x01001ec9, 17225 }, /* ihook */
-    { 0x000003cf, 17231 }, /* Imacron */
-    { 0x000003ef, 17239 }, /* imacron */
-    { 0x000008ce, 17247 }, /* implies */
-    { 0x000008da, 17255 }, /* includedin */
-    { 0x000008db, 17266 }, /* includes */
-    { 0x000008c2, 17275 }, /* infinity */
-    { 0x0000ff63, 17284 }, /* Insert */
-    { 0x1000ff72, 17291 }, /* InsertChar */
-    { 0x1000ff70, 17302 }, /* InsertLine */
-    { 0x000008bf, 17313 }, /* integral */
-    { 0x000008dc, 17322 }, /* intersection */
-    { 0x100000ee, 17335 }, /* IO */
-    { 0x000003c7, 17338 }, /* Iogonek */
-    { 0x000003e7, 17346 }, /* iogonek */
-    { 0x0000fe33, 17354 }, /* ISO_Center_Object */
-    { 0x0000fe30, 17372 }, /* ISO_Continuous_Underline */
-    { 0x0000fe31, 17397 }, /* ISO_Discontinuous_Underline */
-    { 0x0000fe32, 17425 }, /* ISO_Emphasize */
-    { 0x0000fe34, 17439 }, /* ISO_Enter */
-    { 0x0000fe2f, 17449 }, /* ISO_Fast_Cursor_Down */
-    { 0x0000fe2c, 17470 }, /* ISO_Fast_Cursor_Left */
-    { 0x0000fe2d, 17491 }, /* ISO_Fast_Cursor_Right */
-    { 0x0000fe2e, 17513 }, /* ISO_Fast_Cursor_Up */
-    { 0x0000fe0c, 17532 }, /* ISO_First_Group */
-    { 0x0000fe0d, 17548 }, /* ISO_First_Group_Lock */
-    { 0x0000fe06, 17569 }, /* ISO_Group_Latch */
-    { 0x0000fe07, 17585 }, /* ISO_Group_Lock */
-    { 0x0000ff7e, 17600 }, /* ISO_Group_Shift */
-    { 0x0000fe0e, 17616 }, /* ISO_Last_Group */
-    { 0x0000fe0f, 17631 }, /* ISO_Last_Group_Lock */
-    { 0x0000fe20, 17651 }, /* ISO_Left_Tab */
-    { 0x0000fe02, 17664 }, /* ISO_Level2_Latch */
-    { 0x0000fe04, 17681 }, /* ISO_Level3_Latch */
-    { 0x0000fe05, 17698 }, /* ISO_Level3_Lock */
-    { 0x0000fe03, 17714 }, /* ISO_Level3_Shift */
-    { 0x0000fe12, 17731 }, /* ISO_Level5_Latch */
-    { 0x0000fe13, 17748 }, /* ISO_Level5_Lock */
-    { 0x0000fe11, 17764 }, /* ISO_Level5_Shift */
-    { 0x0000fe01, 17781 }, /* ISO_Lock */
-    { 0x0000fe22, 17790 }, /* ISO_Move_Line_Down */
-    { 0x0000fe21, 17809 }, /* ISO_Move_Line_Up */
-    { 0x0000fe08, 17826 }, /* ISO_Next_Group */
-    { 0x0000fe09, 17841 }, /* ISO_Next_Group_Lock */
-    { 0x0000fe24, 17861 }, /* ISO_Partial_Line_Down */
-    { 0x0000fe23, 17883 }, /* ISO_Partial_Line_Up */
-    { 0x0000fe25, 17903 }, /* ISO_Partial_Space_Left */
-    { 0x0000fe26, 17926 }, /* ISO_Partial_Space_Right */
-    { 0x0000fe0a, 17950 }, /* ISO_Prev_Group */
-    { 0x0000fe0b, 17965 }, /* ISO_Prev_Group_Lock */
-    { 0x0000fe2b, 17985 }, /* ISO_Release_Both_Margins */
-    { 0x0000fe29, 18010 }, /* ISO_Release_Margin_Left */
-    { 0x0000fe2a, 18034 }, /* ISO_Release_Margin_Right */
-    { 0x0000fe27, 18059 }, /* ISO_Set_Margin_Left */
-    { 0x0000fe28, 18079 }, /* ISO_Set_Margin_Right */
-    { 0x000003a5, 18100 }, /* Itilde */
-    { 0x000003b5, 18107 }, /* itilde */
-    { 0x0000004a, 18114 }, /* J */
-    { 0x0000006a, 18116 }, /* j */
-    { 0x000002ac, 18118 }, /* Jcircumflex */
-    { 0x000002bc, 18130 }, /* jcircumflex */
-    { 0x00000bca, 18142 }, /* jot */
-    { 0x0000004b, 18146 }, /* K */
-    { 0x0000006b, 18148 }, /* k */
-    { 0x000004a7, 18150 }, /* kana_a */
-    { 0x000004b1, 18157 }, /* kana_A */
-    { 0x000004c1, 18164 }, /* kana_CHI */
-    { 0x000004a3, 18173 }, /* kana_closingbracket */
-    { 0x000004a4, 18193 }, /* kana_comma */
-    { 0x000004a5, 18204 }, /* kana_conjunctive */
-    { 0x000004aa, 18221 }, /* kana_e */
-    { 0x000004b4, 18228 }, /* kana_E */
-    { 0x000004cc, 18235 }, /* kana_FU */
-    { 0x000004a1, 18243 }, /* kana_fullstop */
-    { 0x000004ca, 18257 }, /* kana_HA */
-    { 0x000004cd, 18265 }, /* kana_HE */
-    { 0x000004cb, 18273 }, /* kana_HI */
-    { 0x000004ce, 18281 }, /* kana_HO */
-    { 0x000004cc, 18289 }, /* kana_HU */
-    { 0x000004a8, 18297 }, /* kana_i */
-    { 0x000004b2, 18304 }, /* kana_I */
-    { 0x000004b6, 18311 }, /* kana_KA */
-    { 0x000004b9, 18319 }, /* kana_KE */
-    { 0x000004b7, 18327 }, /* kana_KI */
-    { 0x000004ba, 18335 }, /* kana_KO */
-    { 0x000004b8, 18343 }, /* kana_KU */
-    { 0x0000ff2d, 18351 }, /* Kana_Lock */
-    { 0x000004cf, 18361 }, /* kana_MA */
-    { 0x000004d2, 18369 }, /* kana_ME */
-    { 0x000004d0, 18377 }, /* kana_MI */
-    { 0x000004a5, 18385 }, /* kana_middledot */
-    { 0x000004d3, 18400 }, /* kana_MO */
-    { 0x000004d1, 18408 }, /* kana_MU */
-    { 0x000004dd, 18416 }, /* kana_N */
-    { 0x000004c5, 18423 }, /* kana_NA */
-    { 0x000004c8, 18431 }, /* kana_NE */
-    { 0x000004c6, 18439 }, /* kana_NI */
-    { 0x000004c9, 18447 }, /* kana_NO */
-    { 0x000004c7, 18455 }, /* kana_NU */
-    { 0x000004ab, 18463 }, /* kana_o */
-    { 0x000004b5, 18470 }, /* kana_O */
-    { 0x000004a2, 18477 }, /* kana_openingbracket */
-    { 0x000004d7, 18497 }, /* kana_RA */
-    { 0x000004da, 18505 }, /* kana_RE */
-    { 0x000004d8, 18513 }, /* kana_RI */
-    { 0x000004db, 18521 }, /* kana_RO */
-    { 0x000004d9, 18529 }, /* kana_RU */
-    { 0x000004bb, 18537 }, /* kana_SA */
-    { 0x000004be, 18545 }, /* kana_SE */
-    { 0x000004bc, 18553 }, /* kana_SHI */
-    { 0x0000ff2e, 18562 }, /* Kana_Shift */
-    { 0x000004bf, 18573 }, /* kana_SO */
-    { 0x000004bd, 18581 }, /* kana_SU */
-    { 0x0000ff7e, 18589 }, /* kana_switch */
-    { 0x000004c0, 18601 }, /* kana_TA */
-    { 0x000004c3, 18609 }, /* kana_TE */
-    { 0x000004c1, 18617 }, /* kana_TI */
-    { 0x000004c4, 18625 }, /* kana_TO */
-    { 0x000004af, 18633 }, /* kana_tsu */
-    { 0x000004c2, 18642 }, /* kana_TSU */
-    { 0x000004af, 18651 }, /* kana_tu */
-    { 0x000004c2, 18659 }, /* kana_TU */
-    { 0x000004a9, 18667 }, /* kana_u */
-    { 0x000004b3, 18674 }, /* kana_U */
-    { 0x000004dc, 18681 }, /* kana_WA */
-    { 0x000004a6, 18689 }, /* kana_WO */
-    { 0x000004ac, 18697 }, /* kana_ya */
-    { 0x000004d4, 18705 }, /* kana_YA */
-    { 0x000004ae, 18713 }, /* kana_yo */
-    { 0x000004d6, 18721 }, /* kana_YO */
-    { 0x000004ad, 18729 }, /* kana_yu */
-    { 0x000004d5, 18737 }, /* kana_YU */
-    { 0x0000ff21, 18745 }, /* Kanji */
-    { 0x0000ff37, 18751 }, /* Kanji_Bangou */
-    { 0x000003a2, 18764 }, /* kappa */
-    { 0x0000ff26, 18770 }, /* Katakana */
-    { 0x000003d3, 18779 }, /* Kcedilla */
-    { 0x000003f3, 18788 }, /* kcedilla */
-    { 0x00000eff, 18797 }, /* Korean_Won */
-    { 0x0000ffb0, 18808 }, /* KP_0 */
-    { 0x0000ffb1, 18813 }, /* KP_1 */
-    { 0x0000ffb2, 18818 }, /* KP_2 */
-    { 0x0000ffb3, 18823 }, /* KP_3 */
-    { 0x0000ffb4, 18828 }, /* KP_4 */
-    { 0x0000ffb5, 18833 }, /* KP_5 */
-    { 0x0000ffb6, 18838 }, /* KP_6 */
-    { 0x0000ffb7, 18843 }, /* KP_7 */
-    { 0x0000ffb8, 18848 }, /* KP_8 */
-    { 0x0000ffb9, 18853 }, /* KP_9 */
-    { 0x0000ffab, 18858 }, /* KP_Add */
-    { 0x1000ff75, 18865 }, /* KP_BackTab */
-    { 0x0000ff9d, 18876 }, /* KP_Begin */
-    { 0x0000ffae, 18885 }, /* KP_Decimal */
-    { 0x0000ff9f, 18896 }, /* KP_Delete */
-    { 0x0000ffaf, 18906 }, /* KP_Divide */
-    { 0x0000ff99, 18916 }, /* KP_Down */
-    { 0x0000ff9c, 18924 }, /* KP_End */
-    { 0x0000ff8d, 18931 }, /* KP_Enter */
-    { 0x0000ffbd, 18940 }, /* KP_Equal */
-    { 0x0000ff91, 18949 }, /* KP_F1 */
-    { 0x0000ff92, 18955 }, /* KP_F2 */
-    { 0x0000ff93, 18961 }, /* KP_F3 */
-    { 0x0000ff94, 18967 }, /* KP_F4 */
-    { 0x0000ff95, 18973 }, /* KP_Home */
-    { 0x0000ff9e, 18981 }, /* KP_Insert */
-    { 0x0000ff96, 18991 }, /* KP_Left */
-    { 0x0000ffaa, 18999 }, /* KP_Multiply */
-    { 0x0000ff9b, 19011 }, /* KP_Next */
-    { 0x0000ff9b, 19019 }, /* KP_Page_Down */
-    { 0x0000ff9a, 19032 }, /* KP_Page_Up */
-    { 0x0000ff9a, 19043 }, /* KP_Prior */
-    { 0x0000ff98, 19052 }, /* KP_Right */
-    { 0x0000ffac, 19061 }, /* KP_Separator */
-    { 0x0000ff80, 19074 }, /* KP_Space */
-    { 0x0000ffad, 19083 }, /* KP_Subtract */
-    { 0x0000ff89, 19095 }, /* KP_Tab */
-    { 0x0000ff97, 19102 }, /* KP_Up */
-    { 0x000003a2, 19108 }, /* kra */
-    { 0x0000004c, 19112 }, /* L */
-    { 0x0000006c, 19114 }, /* l */
-    { 0x0000ffc8, 19116 }, /* L1 */
-    { 0x0000ffd1, 19119 }, /* L10 */
-    { 0x0000ffc9, 19123 }, /* L2 */
-    { 0x0000ffca, 19126 }, /* L3 */
-    { 0x0000ffcb, 19129 }, /* L4 */
-    { 0x0000ffcc, 19132 }, /* L5 */
-    { 0x0000ffcd, 19135 }, /* L6 */
-    { 0x0000ffce, 19138 }, /* L7 */
-    { 0x0000ffcf, 19141 }, /* L8 */
-    { 0x0000ffd0, 19144 }, /* L9 */
-    { 0x000001c5, 19147 }, /* Lacute */
-    { 0x000001e5, 19154 }, /* lacute */
-    { 0x0000fed4, 19161 }, /* Last_Virtual_Screen */
-    { 0x00000ad9, 19181 }, /* latincross */
-    { 0x01001e36, 19192 }, /* Lbelowdot */
-    { 0x01001e37, 19202 }, /* lbelowdot */
-    { 0x000001a5, 19212 }, /* Lcaron */
-    { 0x000001b5, 19219 }, /* lcaron */
-    { 0x000003a6, 19226 }, /* Lcedilla */
-    { 0x000003b6, 19235 }, /* lcedilla */
-    { 0x0000ff51, 19244 }, /* Left */
-    { 0x00000abc, 19249 }, /* leftanglebracket */
-    { 0x000008fb, 19266 }, /* leftarrow */
-    { 0x00000ba3, 19276 }, /* leftcaret */
-    { 0x00000ad2, 19286 }, /* leftdoublequotemark */
-    { 0x000008af, 19306 }, /* leftmiddlecurlybrace */
-    { 0x00000acc, 19327 }, /* leftopentriangle */
-    { 0x00000aea, 19344 }, /* leftpointer */
-    { 0x000008a1, 19356 }, /* leftradical */
-    { 0x00000bda, 19368 }, /* leftshoe */
-    { 0x00000ad0, 19377 }, /* leftsinglequotemark */
-    { 0x000009f4, 19397 }, /* leftt */
-    { 0x00000bdc, 19403 }, /* lefttack */
-    { 0x0000003c, 19412 }, /* less */
-    { 0x000008bc, 19417 }, /* lessthanequal */
-    { 0x000009e5, 19431 }, /* lf */
-    { 0x0000ff0a, 19434 }, /* Linefeed */
-    { 0x100000af, 19443 }, /* lira */
-    { 0x010020a4, 19448 }, /* LiraSign */
-    { 0x000008de, 19457 }, /* logicaland */
-    { 0x000008df, 19468 }, /* logicalor */
-    { 0x100000f6, 19478 }, /* longminus */
-    { 0x000009ed, 19488 }, /* lowleftcorner */
-    { 0x000009ea, 19502 }, /* lowrightcorner */
-    { 0x000001a3, 19517 }, /* Lstroke */
-    { 0x000001b3, 19525 }, /* lstroke */
-    { 0x0000004d, 19533 }, /* M */
-    { 0x0000006d, 19535 }, /* m */
-    { 0x01001e40, 19537 }, /* Mabovedot */
-    { 0x01001e41, 19547 }, /* mabovedot */
-    { 0x000006a5, 19557 }, /* Macedonia_dse */
-    { 0x000006b5, 19571 }, /* Macedonia_DSE */
-    { 0x000006a2, 19585 }, /* Macedonia_gje */
-    { 0x000006b2, 19599 }, /* Macedonia_GJE */
-    { 0x000006ac, 19613 }, /* Macedonia_kje */
-    { 0x000006bc, 19627 }, /* Macedonia_KJE */
-    { 0x000000af, 19641 }, /* macron */
-    { 0x0000ff3e, 19648 }, /* Mae_Koho */
-    { 0x00000af7, 19657 }, /* malesymbol */
-    { 0x00000af0, 19668 }, /* maltesecross */
-    { 0x00000abf, 19681 }, /* marker */
-    { 0x000000ba, 19688 }, /* masculine */
-    { 0x0000ff2c, 19698 }, /* Massyo */
-    { 0x0000ff67, 19705 }, /* Menu */
-    { 0x0000ffe7, 19710 }, /* Meta_L */
-    { 0x0000ffe8, 19717 }, /* Meta_R */
-    { 0x010020a5, 19724 }, /* MillSign */
-    { 0x0000002d, 19733 }, /* minus */
-    { 0x00000ad6, 19739 }, /* minutes */
-    { 0x0000ff7e, 19747 }, /* Mode_switch */
-    { 0x0000fe77, 19759 }, /* MouseKeys_Accel_Enable */
-    { 0x0000fe76, 19782 }, /* MouseKeys_Enable */
-    { 0x000000b5, 19799 }, /* mu */
-    { 0x0000ff22, 19802 }, /* Muhenkan */
-    { 0x0000ff20, 19811 }, /* Multi_key */
-    { 0x0000ff3d, 19821 }, /* MultipleCandidate */
-    { 0x000000d7, 19839 }, /* multiply */
-    { 0x00000af6, 19848 }, /* musicalflat */
-    { 0x00000af5, 19860 }, /* musicalsharp */
-    { 0x100000a8, 19873 }, /* mute_acute */
-    { 0x100000aa, 19884 }, /* mute_asciicircum */
-    { 0x100000ac, 19901 }, /* mute_asciitilde */
-    { 0x100000ab, 19917 }, /* mute_diaeresis */
-    { 0x100000a9, 19932 }, /* mute_grave */
-    { 0x0000004e, 19943 }, /* N */
-    { 0x0000006e, 19945 }, /* n */
-    { 0x000008c5, 19947 }, /* nabla */
-    { 0x000001d1, 19953 }, /* Nacute */
-    { 0x000001f1, 19960 }, /* nacute */
-    { 0x010020a6, 19967 }, /* NairaSign */
-    { 0x000001d2, 19977 }, /* Ncaron */
-    { 0x000001f2, 19984 }, /* ncaron */
-    { 0x000003d1, 19991 }, /* Ncedilla */
-    { 0x000003f1, 20000 }, /* ncedilla */
-    { 0x010020aa, 20009 }, /* NewSheqelSign */
-    { 0x0000ff56, 20023 }, /* Next */
-    { 0x0000fed2, 20028 }, /* Next_Virtual_Screen */
-    { 0x01002089, 20048 }, /* ninesubscript */
-    { 0x01002079, 20062 }, /* ninesuperior */
-    { 0x000009e8, 20075 }, /* nl */
-    { 0x000000a0, 20078 }, /* nobreakspace */
-    { 0x00000000, 20091 }, /* NoSymbol */
-    { 0x01002247, 20100 }, /* notapproxeq */
-    { 0x01002209, 20112 }, /* notelementof */
-    { 0x000008bd, 20125 }, /* notequal */
-    { 0x01002262, 20134 }, /* notidentical */
-    { 0x000000ac, 20147 }, /* notsign */
-    { 0x000000d1, 20155 }, /* Ntilde */
-    { 0x000000f1, 20162 }, /* ntilde */
-    { 0x0000ff7f, 20169 }, /* Num_Lock */
-    { 0x00000023, 20178 }, /* numbersign */
-    { 0x000006b0, 20189 }, /* numerosign */
-    { 0x0000004f, 20200 }, /* O */
-    { 0x0000006f, 20202 }, /* o */
-    { 0x000000d3, 20204 }, /* Oacute */
-    { 0x000000f3, 20211 }, /* oacute */
-    { 0x0100019f, 20218 }, /* Obarred */
-    { 0x01000275, 20226 }, /* obarred */
-    { 0x01001ecc, 20234 }, /* Obelowdot */
-    { 0x01001ecd, 20244 }, /* obelowdot */
-    { 0x010001d1, 20254 }, /* Ocaron */
-    { 0x010001d2, 20261 }, /* ocaron */
-    { 0x000000d4, 20268 }, /* Ocircumflex */
-    { 0x000000f4, 20280 }, /* ocircumflex */
-    { 0x01001ed0, 20292 }, /* Ocircumflexacute */
-    { 0x01001ed1, 20309 }, /* ocircumflexacute */
-    { 0x01001ed8, 20326 }, /* Ocircumflexbelowdot */
-    { 0x01001ed9, 20346 }, /* ocircumflexbelowdot */
-    { 0x01001ed2, 20366 }, /* Ocircumflexgrave */
-    { 0x01001ed3, 20383 }, /* ocircumflexgrave */
-    { 0x01001ed4, 20400 }, /* Ocircumflexhook */
-    { 0x01001ed5, 20416 }, /* ocircumflexhook */
-    { 0x01001ed6, 20432 }, /* Ocircumflextilde */
-    { 0x01001ed7, 20449 }, /* ocircumflextilde */
-    { 0x000000d6, 20466 }, /* Odiaeresis */
-    { 0x000000f6, 20477 }, /* odiaeresis */
-    { 0x000001d5, 20488 }, /* Odoubleacute */
-    { 0x000001f5, 20501 }, /* odoubleacute */
-    { 0x000013bc, 20514 }, /* OE */
-    { 0x000013bd, 20517 }, /* oe */
-    { 0x000001b2, 20520 }, /* ogonek */
-    { 0x000000d2, 20527 }, /* Ograve */
-    { 0x000000f2, 20534 }, /* ograve */
-    { 0x01001ece, 20541 }, /* Ohook */
-    { 0x01001ecf, 20547 }, /* ohook */
-    { 0x010001a0, 20553 }, /* Ohorn */
-    { 0x010001a1, 20559 }, /* ohorn */
-    { 0x01001eda, 20565 }, /* Ohornacute */
-    { 0x01001edb, 20576 }, /* ohornacute */
-    { 0x01001ee2, 20587 }, /* Ohornbelowdot */
-    { 0x01001ee3, 20601 }, /* ohornbelowdot */
-    { 0x01001edc, 20615 }, /* Ohorngrave */
-    { 0x01001edd, 20626 }, /* ohorngrave */
-    { 0x01001ede, 20637 }, /* Ohornhook */
-    { 0x01001edf, 20647 }, /* ohornhook */
-    { 0x01001ee0, 20657 }, /* Ohorntilde */
-    { 0x01001ee1, 20668 }, /* ohorntilde */
-    { 0x000003d2, 20679 }, /* Omacron */
-    { 0x000003f2, 20687 }, /* omacron */
-    { 0x00000ac3, 20695 }, /* oneeighth */
-    { 0x00000ab2, 20705 }, /* onefifth */
-    { 0x000000bd, 20714 }, /* onehalf */
-    { 0x000000bc, 20722 }, /* onequarter */
-    { 0x00000ab6, 20733 }, /* onesixth */
-    { 0x01002081, 20742 }, /* onesubscript */
-    { 0x000000b9, 20755 }, /* onesuperior */
-    { 0x00000ab0, 20767 }, /* onethird */
-    { 0x000000d8, 20776 }, /* Ooblique */
-    { 0x000000f8, 20785 }, /* ooblique */
-    { 0x00000ae2, 20794 }, /* openrectbullet */
-    { 0x00000ae5, 20809 }, /* openstar */
-    { 0x00000ae4, 20818 }, /* opentribulletdown */
-    { 0x00000ae3, 20836 }, /* opentribulletup */
-    { 0x000000aa, 20852 }, /* ordfeminine */
-    { 0x1004ff44, 20864 }, /* osfActivate */
-    { 0x1004ff31, 20876 }, /* osfAddMode */
-    { 0x1004ff08, 20887 }, /* osfBackSpace */
-    { 0x1004ff07, 20900 }, /* osfBackTab */
-    { 0x1004ff5a, 20911 }, /* osfBeginData */
-    { 0x1004ff58, 20924 }, /* osfBeginLine */
-    { 0x1004ff69, 20937 }, /* osfCancel */
-    { 0x1004ff0b, 20947 }, /* osfClear */
-    { 0x1004ff02, 20956 }, /* osfCopy */
-    { 0x1004ff03, 20964 }, /* osfCut */
-    { 0x1004ffff, 20971 }, /* osfDelete */
-    { 0x1004ff72, 20981 }, /* osfDeselectAll */
-    { 0x1004ff54, 20996 }, /* osfDown */
-    { 0x1004ff59, 21004 }, /* osfEndData */
-    { 0x1004ff57, 21015 }, /* osfEndLine */
-    { 0x1004ff1b, 21026 }, /* osfEscape */
-    { 0x1004ff74, 21036 }, /* osfExtend */
-    { 0x1004ff6a, 21046 }, /* osfHelp */
-    { 0x1004ff63, 21054 }, /* osfInsert */
-    { 0x1004ff51, 21064 }, /* osfLeft */
-    { 0x1004ff67, 21072 }, /* osfMenu */
-    { 0x1004ff45, 21080 }, /* osfMenuBar */
-    { 0x1004ff5e, 21091 }, /* osfNextField */
-    { 0x1004ff5c, 21104 }, /* osfNextMenu */
-    { 0x1004ff42, 21116 }, /* osfPageDown */
-    { 0x1004ff40, 21128 }, /* osfPageLeft */
-    { 0x1004ff43, 21140 }, /* osfPageRight */
-    { 0x1004ff41, 21153 }, /* osfPageUp */
-    { 0x1004ff04, 21163 }, /* osfPaste */
-    { 0x1004ff5d, 21172 }, /* osfPrevField */
-    { 0x1004ff5b, 21185 }, /* osfPrevMenu */
-    { 0x1004ff32, 21197 }, /* osfPrimaryPaste */
-    { 0x1004ff33, 21213 }, /* osfQuickPaste */
-    { 0x1004ff73, 21227 }, /* osfReselect */
-    { 0x1004ff78, 21239 }, /* osfRestore */
-    { 0x1004ff53, 21250 }, /* osfRight */
-    { 0x1004ff60, 21259 }, /* osfSelect */
-    { 0x1004ff71, 21269 }, /* osfSelectAll */
-    { 0x1004ff65, 21282 }, /* osfUndo */
-    { 0x1004ff52, 21290 }, /* osfUp */
-    { 0x000000d8, 21296 }, /* Oslash */
-    { 0x000000f8, 21303 }, /* oslash */
-    { 0x000000d5, 21310 }, /* Otilde */
-    { 0x000000f5, 21317 }, /* otilde */
-    { 0x00000bc0, 21324 }, /* overbar */
-    { 0x0000fe78, 21332 }, /* Overlay1_Enable */
-    { 0x0000fe79, 21348 }, /* Overlay2_Enable */
-    { 0x0000047e, 21364 }, /* overline */
-    { 0x00000050, 21373 }, /* P */
-    { 0x00000070, 21375 }, /* p */
-    { 0x01001e56, 21377 }, /* Pabovedot */
-    { 0x01001e57, 21387 }, /* pabovedot */
-    { 0x0000ff56, 21397 }, /* Page_Down */
-    { 0x0000ff55, 21407 }, /* Page_Up */
-    { 0x000000b6, 21415 }, /* paragraph */
-    { 0x00000028, 21425 }, /* parenleft */
-    { 0x00000029, 21435 }, /* parenright */
-    { 0x01002202, 21446 }, /* partdifferential */
-    { 0x000008ef, 21463 }, /* partialderivative */
-    { 0x0000ff13, 21481 }, /* Pause */
-    { 0x00000025, 21487 }, /* percent */
-    { 0x0000002e, 21495 }, /* period */
-    { 0x000000b7, 21502 }, /* periodcentered */
-    { 0x00000ad5, 21517 }, /* permille */
-    { 0x010020a7, 21526 }, /* PesetaSign */
-    { 0x00000afb, 21537 }, /* phonographcopyright */
-    { 0x0000002b, 21557 }, /* plus */
-    { 0x000000b1, 21562 }, /* plusminus */
-    { 0x0000fefa, 21572 }, /* Pointer_Accelerate */
-    { 0x0000fee9, 21591 }, /* Pointer_Button1 */
-    { 0x0000feea, 21607 }, /* Pointer_Button2 */
-    { 0x0000feeb, 21623 }, /* Pointer_Button3 */
-    { 0x0000feec, 21639 }, /* Pointer_Button4 */
-    { 0x0000feed, 21655 }, /* Pointer_Button5 */
-    { 0x0000fee8, 21671 }, /* Pointer_Button_Dflt */
-    { 0x0000feef, 21691 }, /* Pointer_DblClick1 */
-    { 0x0000fef0, 21709 }, /* Pointer_DblClick2 */
-    { 0x0000fef1, 21727 }, /* Pointer_DblClick3 */
-    { 0x0000fef2, 21745 }, /* Pointer_DblClick4 */
-    { 0x0000fef3, 21763 }, /* Pointer_DblClick5 */
-    { 0x0000feee, 21781 }, /* Pointer_DblClick_Dflt */
-    { 0x0000fefb, 21803 }, /* Pointer_DfltBtnNext */
-    { 0x0000fefc, 21823 }, /* Pointer_DfltBtnPrev */
-    { 0x0000fee3, 21843 }, /* Pointer_Down */
-    { 0x0000fee6, 21856 }, /* Pointer_DownLeft */
-    { 0x0000fee7, 21873 }, /* Pointer_DownRight */
-    { 0x0000fef5, 21891 }, /* Pointer_Drag1 */
-    { 0x0000fef6, 21905 }, /* Pointer_Drag2 */
-    { 0x0000fef7, 21919 }, /* Pointer_Drag3 */
-    { 0x0000fef8, 21933 }, /* Pointer_Drag4 */
-    { 0x0000fefd, 21947 }, /* Pointer_Drag5 */
-    { 0x0000fef4, 21961 }, /* Pointer_Drag_Dflt */
-    { 0x0000fef9, 21979 }, /* Pointer_EnableKeys */
-    { 0x0000fee0, 21998 }, /* Pointer_Left */
-    { 0x0000fee1, 22011 }, /* Pointer_Right */
-    { 0x0000fee2, 22025 }, /* Pointer_Up */
-    { 0x0000fee4, 22036 }, /* Pointer_UpLeft */
-    { 0x0000fee5, 22051 }, /* Pointer_UpRight */
-    { 0x00000ad4, 22067 }, /* prescription */
-    { 0x0000fed1, 22080 }, /* Prev_Virtual_Screen */
-    { 0x0000ff3e, 22100 }, /* PreviousCandidate */
-    { 0x0000ff61, 22118 }, /* Print */
-    { 0x0000ff55, 22124 }, /* Prior */
-    { 0x000004b0, 22130 }, /* prolongedsound */
-    { 0x00000aa6, 22145 }, /* punctspace */
-    { 0x00000051, 22156 }, /* Q */
-    { 0x00000071, 22158 }, /* q */
-    { 0x00000bcc, 22160 }, /* quad */
-    { 0x0000003f, 22165 }, /* question */
-    { 0x000000bf, 22174 }, /* questiondown */
-    { 0x00000022, 22187 }, /* quotedbl */
-    { 0x00000060, 22196 }, /* quoteleft */
-    { 0x00000027, 22206 }, /* quoteright */
-    { 0x00000052, 22217 }, /* R */
-    { 0x00000072, 22219 }, /* r */
-    { 0x0000ffd2, 22221 }, /* R1 */
-    { 0x0000ffdb, 22224 }, /* R10 */
-    { 0x0000ffdc, 22228 }, /* R11 */
-    { 0x0000ffdd, 22232 }, /* R12 */
-    { 0x0000ffde, 22236 }, /* R13 */
-    { 0x0000ffdf, 22240 }, /* R14 */
-    { 0x0000ffe0, 22244 }, /* R15 */
-    { 0x0000ffd3, 22248 }, /* R2 */
-    { 0x0000ffd4, 22251 }, /* R3 */
-    { 0x0000ffd5, 22254 }, /* R4 */
-    { 0x0000ffd6, 22257 }, /* R5 */
-    { 0x0000ffd7, 22260 }, /* R6 */
-    { 0x0000ffd8, 22263 }, /* R7 */
-    { 0x0000ffd9, 22266 }, /* R8 */
-    { 0x0000ffda, 22269 }, /* R9 */
-    { 0x000001c0, 22272 }, /* Racute */
-    { 0x000001e0, 22279 }, /* racute */
-    { 0x000008d6, 22286 }, /* radical */
-    { 0x000001d8, 22294 }, /* Rcaron */
-    { 0x000001f8, 22301 }, /* rcaron */
-    { 0x000003a3, 22308 }, /* Rcedilla */
-    { 0x000003b3, 22317 }, /* rcedilla */
-    { 0x0000ff66, 22326 }, /* Redo */
-    { 0x000000ae, 22331 }, /* registered */
-    { 0x0000fe72, 22342 }, /* RepeatKeys_Enable */
-    { 0x1000ff6c, 22360 }, /* Reset */
-    { 0x0000ff0d, 22366 }, /* Return */
-    { 0x0000ff53, 22373 }, /* Right */
-    { 0x00000abe, 22379 }, /* rightanglebracket */
-    { 0x000008fd, 22397 }, /* rightarrow */
-    { 0x00000ba6, 22408 }, /* rightcaret */
-    { 0x00000ad3, 22419 }, /* rightdoublequotemark */
-    { 0x000008b0, 22440 }, /* rightmiddlecurlybrace */
-    { 0x000008b7, 22462 }, /* rightmiddlesummation */
-    { 0x00000acd, 22483 }, /* rightopentriangle */
-    { 0x00000aeb, 22501 }, /* rightpointer */
-    { 0x00000bd8, 22514 }, /* rightshoe */
-    { 0x00000ad1, 22524 }, /* rightsinglequotemark */
-    { 0x000009f5, 22545 }, /* rightt */
-    { 0x00000bfc, 22552 }, /* righttack */
-    { 0x0000ff24, 22562 }, /* Romaji */
-    { 0x010020a8, 22569 }, /* RupeeSign */
-    { 0x00000053, 22579 }, /* S */
-    { 0x00000073, 22581 }, /* s */
-    { 0x01001e60, 22583 }, /* Sabovedot */
-    { 0x01001e61, 22593 }, /* sabovedot */
-    { 0x000001a6, 22603 }, /* Sacute */
-    { 0x000001b6, 22610 }, /* sacute */
-    { 0x000001a9, 22617 }, /* Scaron */
-    { 0x000001b9, 22624 }, /* scaron */
-    { 0x000001aa, 22631 }, /* Scedilla */
-    { 0x000001ba, 22640 }, /* scedilla */
-    { 0x0100018f, 22649 }, /* SCHWA */
-    { 0x01000259, 22655 }, /* schwa */
-    { 0x000002de, 22661 }, /* Scircumflex */
-    { 0x000002fe, 22673 }, /* scircumflex */
-    { 0x0000ff7e, 22685 }, /* script_switch */
-    { 0x0000ff14, 22699 }, /* Scroll_Lock */
-    { 0x00000ad7, 22711 }, /* seconds */
-    { 0x000000a7, 22719 }, /* section */
-    { 0x0000ff60, 22727 }, /* Select */
-    { 0x0000003b, 22734 }, /* semicolon */
-    { 0x000004df, 22744 }, /* semivoicedsound */
-    { 0x000006a1, 22760 }, /* Serbian_dje */
-    { 0x000006b1, 22772 }, /* Serbian_DJE */
-    { 0x000006af, 22784 }, /* Serbian_dze */
-    { 0x000006bf, 22796 }, /* Serbian_DZE */
-    { 0x000006a8, 22808 }, /* Serbian_je */
-    { 0x000006b8, 22819 }, /* Serbian_JE */
-    { 0x000006a9, 22830 }, /* Serbian_lje */
-    { 0x000006b9, 22842 }, /* Serbian_LJE */
-    { 0x000006aa, 22854 }, /* Serbian_nje */
-    { 0x000006ba, 22866 }, /* Serbian_NJE */
-    { 0x000006ab, 22878 }, /* Serbian_tshe */
-    { 0x000006bb, 22891 }, /* Serbian_TSHE */
-    { 0x00000ac6, 22904 }, /* seveneighths */
-    { 0x01002087, 22917 }, /* sevensubscript */
-    { 0x01002077, 22932 }, /* sevensuperior */
-    { 0x0000ffe1, 22946 }, /* Shift_L */
-    { 0x0000ffe6, 22954 }, /* Shift_Lock */
-    { 0x0000ffe2, 22965 }, /* Shift_R */
-    { 0x00000aca, 22973 }, /* signaturemark */
-    { 0x00000aac, 22987 }, /* signifblank */
-    { 0x000008c9, 22999 }, /* similarequal */
-    { 0x0000ff3c, 23012 }, /* SingleCandidate */
-    { 0x00000afd, 23028 }, /* singlelowquotemark */
-    { 0x01000d85, 23047 }, /* Sinh_a */
-    { 0x01000d86, 23054 }, /* Sinh_aa */
-    { 0x01000dcf, 23062 }, /* Sinh_aa2 */
-    { 0x01000d87, 23071 }, /* Sinh_ae */
-    { 0x01000dd0, 23079 }, /* Sinh_ae2 */
-    { 0x01000d88, 23088 }, /* Sinh_aee */
-    { 0x01000dd1, 23097 }, /* Sinh_aee2 */
-    { 0x01000d93, 23107 }, /* Sinh_ai */
-    { 0x01000ddb, 23115 }, /* Sinh_ai2 */
-    { 0x01000dca, 23124 }, /* Sinh_al */
-    { 0x01000d96, 23132 }, /* Sinh_au */
-    { 0x01000dde, 23140 }, /* Sinh_au2 */
-    { 0x01000db6, 23149 }, /* Sinh_ba */
-    { 0x01000db7, 23157 }, /* Sinh_bha */
-    { 0x01000da0, 23166 }, /* Sinh_ca */
-    { 0x01000da1, 23174 }, /* Sinh_cha */
-    { 0x01000da9, 23183 }, /* Sinh_dda */
-    { 0x01000daa, 23192 }, /* Sinh_ddha */
-    { 0x01000daf, 23202 }, /* Sinh_dha */
-    { 0x01000db0, 23211 }, /* Sinh_dhha */
-    { 0x01000d91, 23221 }, /* Sinh_e */
-    { 0x01000dd9, 23228 }, /* Sinh_e2 */
-    { 0x01000d92, 23236 }, /* Sinh_ee */
-    { 0x01000dda, 23244 }, /* Sinh_ee2 */
-    { 0x01000dc6, 23253 }, /* Sinh_fa */
-    { 0x01000d9c, 23261 }, /* Sinh_ga */
-    { 0x01000d9d, 23269 }, /* Sinh_gha */
-    { 0x01000d83, 23278 }, /* Sinh_h2 */
-    { 0x01000dc4, 23286 }, /* Sinh_ha */
-    { 0x01000d89, 23294 }, /* Sinh_i */
-    { 0x01000dd2, 23301 }, /* Sinh_i2 */
-    { 0x01000d8a, 23309 }, /* Sinh_ii */
-    { 0x01000dd3, 23317 }, /* Sinh_ii2 */
-    { 0x01000da2, 23326 }, /* Sinh_ja */
-    { 0x01000da3, 23334 }, /* Sinh_jha */
-    { 0x01000da5, 23343 }, /* Sinh_jnya */
-    { 0x01000d9a, 23353 }, /* Sinh_ka */
-    { 0x01000d9b, 23361 }, /* Sinh_kha */
-    { 0x01000df4, 23370 }, /* Sinh_kunddaliya */
-    { 0x01000dbd, 23386 }, /* Sinh_la */
-    { 0x01000dc5, 23394 }, /* Sinh_lla */
-    { 0x01000d8f, 23403 }, /* Sinh_lu */
-    { 0x01000ddf, 23411 }, /* Sinh_lu2 */
-    { 0x01000d90, 23420 }, /* Sinh_luu */
-    { 0x01000df3, 23429 }, /* Sinh_luu2 */
-    { 0x01000db8, 23439 }, /* Sinh_ma */
-    { 0x01000db9, 23447 }, /* Sinh_mba */
-    { 0x01000db1, 23456 }, /* Sinh_na */
-    { 0x01000dac, 23464 }, /* Sinh_ndda */
-    { 0x01000db3, 23474 }, /* Sinh_ndha */
-    { 0x01000d82, 23484 }, /* Sinh_ng */
-    { 0x01000d9e, 23492 }, /* Sinh_ng2 */
-    { 0x01000d9f, 23501 }, /* Sinh_nga */
-    { 0x01000da6, 23510 }, /* Sinh_nja */
-    { 0x01000dab, 23519 }, /* Sinh_nna */
-    { 0x01000da4, 23528 }, /* Sinh_nya */
-    { 0x01000d94, 23537 }, /* Sinh_o */
-    { 0x01000ddc, 23544 }, /* Sinh_o2 */
-    { 0x01000d95, 23552 }, /* Sinh_oo */
-    { 0x01000ddd, 23560 }, /* Sinh_oo2 */
-    { 0x01000db4, 23569 }, /* Sinh_pa */
-    { 0x01000db5, 23577 }, /* Sinh_pha */
-    { 0x01000dbb, 23586 }, /* Sinh_ra */
-    { 0x01000d8d, 23594 }, /* Sinh_ri */
-    { 0x01000d8e, 23602 }, /* Sinh_rii */
-    { 0x01000dd8, 23611 }, /* Sinh_ru2 */
-    { 0x01000df2, 23620 }, /* Sinh_ruu2 */
-    { 0x01000dc3, 23630 }, /* Sinh_sa */
-    { 0x01000dc1, 23638 }, /* Sinh_sha */
-    { 0x01000dc2, 23647 }, /* Sinh_ssha */
-    { 0x01000dad, 23657 }, /* Sinh_tha */
-    { 0x01000dae, 23666 }, /* Sinh_thha */
-    { 0x01000da7, 23676 }, /* Sinh_tta */
-    { 0x01000da8, 23685 }, /* Sinh_ttha */
-    { 0x01000d8b, 23695 }, /* Sinh_u */
-    { 0x01000dd4, 23702 }, /* Sinh_u2 */
-    { 0x01000d8c, 23710 }, /* Sinh_uu */
-    { 0x01000dd6, 23718 }, /* Sinh_uu2 */
-    { 0x01000dc0, 23727 }, /* Sinh_va */
-    { 0x01000dba, 23735 }, /* Sinh_ya */
-    { 0x01002086, 23743 }, /* sixsubscript */
-    { 0x01002076, 23756 }, /* sixsuperior */
-    { 0x0000002f, 23768 }, /* slash */
-    { 0x0000fe73, 23774 }, /* SlowKeys_Enable */
-    { 0x000009e0, 23790 }, /* soliddiamond */
-    { 0x00000020, 23803 }, /* space */
-    { 0x0100221a, 23809 }, /* squareroot */
-    { 0x000000df, 23820 }, /* ssharp */
-    { 0x000000a3, 23827 }, /* sterling */
-    { 0x0000fe75, 23836 }, /* StickyKeys_Enable */
-    { 0x01002263, 23854 }, /* stricteq */
-    { 0x0000ff66, 23863 }, /* SunAgain */
-    { 0x0000ff7e, 23872 }, /* SunAltGraph */
-    { 0x1005ff77, 23884 }, /* SunAudioLowerVolume */
-    { 0x1005ff78, 23904 }, /* SunAudioMute */
-    { 0x1005ff79, 23917 }, /* SunAudioRaiseVolume */
-    { 0x0000ff20, 23937 }, /* SunCompose */
-    { 0x1005ff72, 23948 }, /* SunCopy */
-    { 0x1005ff75, 23956 }, /* SunCut */
-    { 0x1005ff10, 23963 }, /* SunF36 */
-    { 0x1005ff11, 23970 }, /* SunF37 */
-    { 0x1005ff03, 23977 }, /* SunFA_Acute */
-    { 0x1005ff05, 23989 }, /* SunFA_Cedilla */
-    { 0x1005ff01, 24003 }, /* SunFA_Circum */
-    { 0x1005ff04, 24016 }, /* SunFA_Diaeresis */
-    { 0x1005ff00, 24032 }, /* SunFA_Grave */
-    { 0x1005ff02, 24044 }, /* SunFA_Tilde */
-    { 0x0000ff68, 24056 }, /* SunFind */
-    { 0x1005ff71, 24064 }, /* SunFront */
-    { 0x1005ff73, 24073 }, /* SunOpen */
-    { 0x0000ff56, 24081 }, /* SunPageDown */
-    { 0x0000ff55, 24093 }, /* SunPageUp */
-    { 0x1005ff74, 24103 }, /* SunPaste */
-    { 0x1005ff76, 24112 }, /* SunPowerSwitch */
-    { 0x1005ff7d, 24127 }, /* SunPowerSwitchShift */
-    { 0x0000ff61, 24147 }, /* SunPrint_Screen */
-    { 0x1005ff70, 24163 }, /* SunProps */
-    { 0x0000ff69, 24172 }, /* SunStop */
-    { 0x1005ff60, 24180 }, /* SunSys_Req */
-    { 0x0000ff65, 24191 }, /* SunUndo */
-    { 0x1005ff7a, 24199 }, /* SunVideoDegauss */
-    { 0x1005ff7b, 24215 }, /* SunVideoLowerBrightness */
-    { 0x1005ff7c, 24239 }, /* SunVideoRaiseBrightness */
-    { 0x0000ffeb, 24263 }, /* Super_L */
-    { 0x0000ffec, 24271 }, /* Super_R */
-    { 0x0000ff15, 24279 }, /* Sys_Req */
-    { 0x1000ff6d, 24287 }, /* System */
-    { 0x00000054, 24294 }, /* T */
-    { 0x00000074, 24296 }, /* t */
-    { 0x0000ff09, 24298 }, /* Tab */
-    { 0x01001e6a, 24302 }, /* Tabovedot */
-    { 0x01001e6b, 24312 }, /* tabovedot */
-    { 0x000001ab, 24322 }, /* Tcaron */
-    { 0x000001bb, 24329 }, /* tcaron */
-    { 0x000001de, 24336 }, /* Tcedilla */
-    { 0x000001fe, 24345 }, /* tcedilla */
-    { 0x00000af9, 24354 }, /* telephone */
-    { 0x00000afa, 24364 }, /* telephonerecorder */
-    { 0x0000fed5, 24382 }, /* Terminate_Server */
-    { 0x00000ddf, 24399 }, /* Thai_baht */
-    { 0x00000dba, 24409 }, /* Thai_bobaimai */
-    { 0x00000da8, 24423 }, /* Thai_chochan */
-    { 0x00000daa, 24436 }, /* Thai_chochang */
-    { 0x00000da9, 24450 }, /* Thai_choching */
-    { 0x00000dac, 24464 }, /* Thai_chochoe */
-    { 0x00000dae, 24477 }, /* Thai_dochada */
-    { 0x00000db4, 24490 }, /* Thai_dodek */
-    { 0x00000dbd, 24501 }, /* Thai_fofa */
-    { 0x00000dbf, 24511 }, /* Thai_fofan */
-    { 0x00000dcb, 24522 }, /* Thai_hohip */
-    { 0x00000dce, 24533 }, /* Thai_honokhuk */
-    { 0x00000da2, 24547 }, /* Thai_khokhai */
-    { 0x00000da5, 24560 }, /* Thai_khokhon */
-    { 0x00000da3, 24573 }, /* Thai_khokhuat */
-    { 0x00000da4, 24587 }, /* Thai_khokhwai */
-    { 0x00000da6, 24601 }, /* Thai_khorakhang */
-    { 0x00000da1, 24617 }, /* Thai_kokai */
-    { 0x00000de5, 24628 }, /* Thai_lakkhangyao */
-    { 0x00000df7, 24645 }, /* Thai_lekchet */
-    { 0x00000df5, 24658 }, /* Thai_lekha */
-    { 0x00000df6, 24669 }, /* Thai_lekhok */
-    { 0x00000df9, 24681 }, /* Thai_lekkao */
-    { 0x00000df1, 24693 }, /* Thai_leknung */
-    { 0x00000df8, 24706 }, /* Thai_lekpaet */
-    { 0x00000df3, 24719 }, /* Thai_leksam */
-    { 0x00000df4, 24731 }, /* Thai_leksi */
-    { 0x00000df2, 24742 }, /* Thai_leksong */
-    { 0x00000df0, 24755 }, /* Thai_leksun */
-    { 0x00000dcc, 24767 }, /* Thai_lochula */
-    { 0x00000dc5, 24780 }, /* Thai_loling */
-    { 0x00000dc6, 24792 }, /* Thai_lu */
-    { 0x00000deb, 24800 }, /* Thai_maichattawa */
-    { 0x00000de8, 24817 }, /* Thai_maiek */
-    { 0x00000dd1, 24828 }, /* Thai_maihanakat */
-    { 0x00000dde, 24844 }, /* Thai_maihanakat_maitho */
-    { 0x00000de7, 24867 }, /* Thai_maitaikhu */
-    { 0x00000de9, 24882 }, /* Thai_maitho */
-    { 0x00000dea, 24894 }, /* Thai_maitri */
-    { 0x00000de6, 24906 }, /* Thai_maiyamok */
-    { 0x00000dc1, 24920 }, /* Thai_moma */
-    { 0x00000da7, 24930 }, /* Thai_ngongu */
-    { 0x00000ded, 24942 }, /* Thai_nikhahit */
-    { 0x00000db3, 24956 }, /* Thai_nonen */
-    { 0x00000db9, 24967 }, /* Thai_nonu */
-    { 0x00000dcd, 24977 }, /* Thai_oang */
-    { 0x00000dcf, 24987 }, /* Thai_paiyannoi */
-    { 0x00000dda, 25002 }, /* Thai_phinthu */
-    { 0x00000dbe, 25015 }, /* Thai_phophan */
-    { 0x00000dbc, 25028 }, /* Thai_phophung */
-    { 0x00000dc0, 25042 }, /* Thai_phosamphao */
-    { 0x00000dbb, 25058 }, /* Thai_popla */
-    { 0x00000dc3, 25069 }, /* Thai_rorua */
-    { 0x00000dc4, 25080 }, /* Thai_ru */
-    { 0x00000dd0, 25088 }, /* Thai_saraa */
-    { 0x00000dd2, 25099 }, /* Thai_saraaa */
-    { 0x00000de1, 25111 }, /* Thai_saraae */
-    { 0x00000de4, 25123 }, /* Thai_saraaimaimalai */
-    { 0x00000de3, 25143 }, /* Thai_saraaimaimuan */
-    { 0x00000dd3, 25162 }, /* Thai_saraam */
-    { 0x00000de0, 25174 }, /* Thai_sarae */
-    { 0x00000dd4, 25185 }, /* Thai_sarai */
-    { 0x00000dd5, 25196 }, /* Thai_saraii */
-    { 0x00000de2, 25208 }, /* Thai_sarao */
-    { 0x00000dd8, 25219 }, /* Thai_sarau */
-    { 0x00000dd6, 25230 }, /* Thai_saraue */
-    { 0x00000dd7, 25242 }, /* Thai_sarauee */
-    { 0x00000dd9, 25255 }, /* Thai_sarauu */
-    { 0x00000dc9, 25267 }, /* Thai_sorusi */
-    { 0x00000dc8, 25279 }, /* Thai_sosala */
-    { 0x00000dab, 25291 }, /* Thai_soso */
-    { 0x00000dca, 25301 }, /* Thai_sosua */
-    { 0x00000dec, 25312 }, /* Thai_thanthakhat */
-    { 0x00000db1, 25329 }, /* Thai_thonangmontho */
-    { 0x00000db2, 25348 }, /* Thai_thophuthao */
-    { 0x00000db7, 25364 }, /* Thai_thothahan */
-    { 0x00000db0, 25379 }, /* Thai_thothan */
-    { 0x00000db8, 25392 }, /* Thai_thothong */
-    { 0x00000db6, 25406 }, /* Thai_thothung */
-    { 0x00000daf, 25420 }, /* Thai_topatak */
-    { 0x00000db5, 25433 }, /* Thai_totao */
-    { 0x00000dc7, 25444 }, /* Thai_wowaen */
-    { 0x00000dc2, 25456 }, /* Thai_yoyak */
-    { 0x00000dad, 25467 }, /* Thai_yoying */
-    { 0x000008c0, 25479 }, /* therefore */
-    { 0x00000aa7, 25489 }, /* thinspace */
-    { 0x000000de, 25499 }, /* THORN */
-    { 0x000000de, 25505 }, /* Thorn */
-    { 0x000000fe, 25511 }, /* thorn */
-    { 0x00000ac4, 25517 }, /* threeeighths */
-    { 0x00000ab4, 25530 }, /* threefifths */
-    { 0x000000be, 25542 }, /* threequarters */
-    { 0x01002083, 25556 }, /* threesubscript */
-    { 0x000000b3, 25571 }, /* threesuperior */
-    { 0x0100222d, 25585 }, /* tintegral */
-    { 0x000008a4, 25595 }, /* topintegral */
-    { 0x000008ab, 25607 }, /* topleftparens */
-    { 0x000008a2, 25621 }, /* topleftradical */
-    { 0x000008a7, 25636 }, /* topleftsqbracket */
-    { 0x000008b1, 25653 }, /* topleftsummation */
-    { 0x000008ad, 25670 }, /* toprightparens */
-    { 0x000008a9, 25685 }, /* toprightsqbracket */
-    { 0x000008b5, 25703 }, /* toprightsummation */
-    { 0x000009f7, 25721 }, /* topt */
-    { 0x000008b3, 25726 }, /* topvertsummationconnector */
-    { 0x0000ff2b, 25752 }, /* Touroku */
-    { 0x00000ac9, 25760 }, /* trademark */
-    { 0x00000acb, 25770 }, /* trademarkincircle */
-    { 0x000003ac, 25788 }, /* Tslash */
-    { 0x000003bc, 25795 }, /* tslash */
-    { 0x00000ab3, 25802 }, /* twofifths */
-    { 0x01002082, 25812 }, /* twosubscript */
-    { 0x000000b2, 25825 }, /* twosuperior */
-    { 0x00000ab1, 25837 }, /* twothirds */
-    { 0x00000055, 25847 }, /* U */
-    { 0x00000075, 25849 }, /* u */
-    { 0x000000da, 25851 }, /* Uacute */
-    { 0x000000fa, 25858 }, /* uacute */
-    { 0x01001ee4, 25865 }, /* Ubelowdot */
-    { 0x01001ee5, 25875 }, /* ubelowdot */
-    { 0x000002dd, 25885 }, /* Ubreve */
-    { 0x000002fd, 25892 }, /* ubreve */
-    { 0x000000db, 25899 }, /* Ucircumflex */
-    { 0x000000fb, 25911 }, /* ucircumflex */
-    { 0x000000dc, 25923 }, /* Udiaeresis */
-    { 0x000000fc, 25934 }, /* udiaeresis */
-    { 0x000001db, 25945 }, /* Udoubleacute */
-    { 0x000001fb, 25958 }, /* udoubleacute */
-    { 0x000000d9, 25971 }, /* Ugrave */
-    { 0x000000f9, 25978 }, /* ugrave */
-    { 0x01001ee6, 25985 }, /* Uhook */
-    { 0x01001ee7, 25991 }, /* uhook */
-    { 0x010001af, 25997 }, /* Uhorn */
-    { 0x010001b0, 26003 }, /* uhorn */
-    { 0x01001ee8, 26009 }, /* Uhornacute */
-    { 0x01001ee9, 26020 }, /* uhornacute */
-    { 0x01001ef0, 26031 }, /* Uhornbelowdot */
-    { 0x01001ef1, 26045 }, /* uhornbelowdot */
-    { 0x01001eea, 26059 }, /* Uhorngrave */
-    { 0x01001eeb, 26070 }, /* uhorngrave */
-    { 0x01001eec, 26081 }, /* Uhornhook */
-    { 0x01001eed, 26091 }, /* uhornhook */
-    { 0x01001eee, 26101 }, /* Uhorntilde */
-    { 0x01001eef, 26112 }, /* uhorntilde */
-    { 0x000006ad, 26123 }, /* Ukrainian_ghe_with_upturn */
-    { 0x000006bd, 26149 }, /* Ukrainian_GHE_WITH_UPTURN */
-    { 0x000006a6, 26175 }, /* Ukrainian_i */
-    { 0x000006b6, 26187 }, /* Ukrainian_I */
-    { 0x000006a4, 26199 }, /* Ukrainian_ie */
-    { 0x000006b4, 26212 }, /* Ukrainian_IE */
-    { 0x000006a7, 26225 }, /* Ukrainian_yi */
-    { 0x000006b7, 26238 }, /* Ukrainian_YI */
-    { 0x000006a6, 26251 }, /* Ukranian_i */
-    { 0x000006b6, 26262 }, /* Ukranian_I */
-    { 0x000006a4, 26273 }, /* Ukranian_je */
-    { 0x000006b4, 26285 }, /* Ukranian_JE */
-    { 0x000006a7, 26297 }, /* Ukranian_yi */
-    { 0x000006b7, 26309 }, /* Ukranian_YI */
-    { 0x000003de, 26321 }, /* Umacron */
-    { 0x000003fe, 26329 }, /* umacron */
-    { 0x00000bc6, 26337 }, /* underbar */
-    { 0x0000005f, 26346 }, /* underscore */
-    { 0x0000ff65, 26357 }, /* Undo */
-    { 0x000008dd, 26362 }, /* union */
-    { 0x000003d9, 26368 }, /* Uogonek */
-    { 0x000003f9, 26376 }, /* uogonek */
-    { 0x0000ff52, 26384 }, /* Up */
-    { 0x000008fc, 26387 }, /* uparrow */
-    { 0x00000ba9, 26395 }, /* upcaret */
-    { 0x000009ec, 26403 }, /* upleftcorner */
-    { 0x000009eb, 26416 }, /* uprightcorner */
-    { 0x00000bc3, 26430 }, /* upshoe */
-    { 0x00000bd3, 26437 }, /* upstile */
-    { 0x00000bce, 26445 }, /* uptack */
-    { 0x000001d9, 26452 }, /* Uring */
-    { 0x000001f9, 26458 }, /* uring */
-    { 0x1000ff6e, 26464 }, /* User */
-    { 0x000003dd, 26469 }, /* Utilde */
-    { 0x000003fd, 26476 }, /* utilde */
-    { 0x00000056, 26483 }, /* V */
-    { 0x00000076, 26485 }, /* v */
-    { 0x000008c1, 26487 }, /* variation */
-    { 0x000009f8, 26497 }, /* vertbar */
-    { 0x000008a6, 26505 }, /* vertconnector */
-    { 0x000004de, 26519 }, /* voicedsound */
-    { 0x00ffffff, 26531 }, /* VoidSymbol */
-    { 0x000009e9, 26542 }, /* vt */
-    { 0x00000057, 26545 }, /* W */
-    { 0x00000077, 26547 }, /* w */
-    { 0x01001e82, 26549 }, /* Wacute */
-    { 0x01001e83, 26556 }, /* wacute */
-    { 0x01000174, 26563 }, /* Wcircumflex */
-    { 0x01000175, 26575 }, /* wcircumflex */
-    { 0x01001e84, 26587 }, /* Wdiaeresis */
-    { 0x01001e85, 26598 }, /* wdiaeresis */
-    { 0x01001e80, 26609 }, /* Wgrave */
-    { 0x01001e81, 26616 }, /* wgrave */
-    { 0x010020a9, 26623 }, /* WonSign */
-    { 0x00000058, 26631 }, /* X */
-    { 0x00000078, 26633 }, /* x */
-    { 0x01001e8a, 26635 }, /* Xabovedot */
-    { 0x01001e8b, 26645 }, /* xabovedot */
-    { 0x1008ff39, 26655 }, /* XF86AddFavorite */
-    { 0x1008ff50, 26671 }, /* XF86ApplicationLeft */
-    { 0x1008ff51, 26691 }, /* XF86ApplicationRight */
-    { 0x1008ff9b, 26712 }, /* XF86AudioCycleTrack */
-    { 0x1008ff97, 26732 }, /* XF86AudioForward */
-    { 0x1008ff11, 26749 }, /* XF86AudioLowerVolume */
-    { 0x1008ff32, 26770 }, /* XF86AudioMedia */
-    { 0x1008ffb2, 26785 }, /* XF86AudioMicMute */
-    { 0x1008ff12, 26802 }, /* XF86AudioMute */
-    { 0x1008ff17, 26816 }, /* XF86AudioNext */
-    { 0x1008ff31, 26830 }, /* XF86AudioPause */
-    { 0x1008ff14, 26845 }, /* XF86AudioPlay */
-    { 0x1008ffb6, 26859 }, /* XF86AudioPreset */
-    { 0x1008ff16, 26875 }, /* XF86AudioPrev */
-    { 0x1008ff13, 26889 }, /* XF86AudioRaiseVolume */
-    { 0x1008ff99, 26910 }, /* XF86AudioRandomPlay */
-    { 0x1008ff1c, 26930 }, /* XF86AudioRecord */
-    { 0x1008ff98, 26946 }, /* XF86AudioRepeat */
-    { 0x1008ff3e, 26962 }, /* XF86AudioRewind */
-    { 0x1008ff15, 26978 }, /* XF86AudioStop */
-    { 0x1008ff8d, 26992 }, /* XF86Away */
-    { 0x1008ff26, 27001 }, /* XF86Back */
-    { 0x1008ff3f, 27010 }, /* XF86BackForward */
-    { 0x1008ff93, 27026 }, /* XF86Battery */
-    { 0x1008ffa6, 27038 }, /* XF86Blue */
-    { 0x1008ff94, 27047 }, /* XF86Bluetooth */
-    { 0x1008ff52, 27061 }, /* XF86Book */
-    { 0x1008ff3b, 27070 }, /* XF86BrightnessAdjust */
-    { 0x1008ff54, 27091 }, /* XF86Calculater */
-    { 0x1008ff1d, 27106 }, /* XF86Calculator */
-    { 0x1008ff20, 27121 }, /* XF86Calendar */
-    { 0x1008ff53, 27134 }, /* XF86CD */
-    { 0x1008ff55, 27141 }, /* XF86Clear */
-    { 0x1008fe21, 27151 }, /* XF86ClearGrab */
-    { 0x1008ff56, 27165 }, /* XF86Close */
-    { 0x1008ff3d, 27175 }, /* XF86Community */
-    { 0x1008ff22, 27189 }, /* XF86ContrastAdjust */
-    { 0x1008ff57, 27208 }, /* XF86Copy */
-    { 0x1008ff58, 27217 }, /* XF86Cut */
-    { 0x1008ff9c, 27225 }, /* XF86CycleAngle */
-    { 0x1008ff59, 27240 }, /* XF86Display */
-    { 0x1008ff5b, 27252 }, /* XF86Documents */
-    { 0x1008ff5a, 27266 }, /* XF86DOS */
-    { 0x1008ff2c, 27274 }, /* XF86Eject */
-    { 0x1008ff5c, 27284 }, /* XF86Excel */
-    { 0x1008ff5d, 27294 }, /* XF86Explorer */
-    { 0x1008ff30, 27307 }, /* XF86Favorites */
-    { 0x1008ff3c, 27321 }, /* XF86Finance */
-    { 0x1008ff27, 27333 }, /* XF86Forward */
-    { 0x1008ff9d, 27345 }, /* XF86FrameBack */
-    { 0x1008ff9e, 27359 }, /* XF86FrameForward */
-    { 0x1008ff5e, 27376 }, /* XF86Game */
-    { 0x1008ff5f, 27385 }, /* XF86Go */
-    { 0x1008ffa4, 27392 }, /* XF86Green */
-    { 0x1008ffa8, 27402 }, /* XF86Hibernate */
-    { 0x1008ff37, 27416 }, /* XF86History */
-    { 0x1008ff18, 27428 }, /* XF86HomePage */
-    { 0x1008ff3a, 27441 }, /* XF86HotLinks */
-    { 0x1008ff60, 27454 }, /* XF86iTouch */
-    { 0x1008ff06, 27465 }, /* XF86KbdBrightnessDown */
-    { 0x1008ff05, 27487 }, /* XF86KbdBrightnessUp */
-    { 0x1008ff04, 27507 }, /* XF86KbdLightOnOff */
-    { 0x1008ffb3, 27525 }, /* XF86Keyboard */
-    { 0x1008ff40, 27538 }, /* XF86Launch0 */
-    { 0x1008ff41, 27550 }, /* XF86Launch1 */
-    { 0x1008ff42, 27562 }, /* XF86Launch2 */
-    { 0x1008ff43, 27574 }, /* XF86Launch3 */
-    { 0x1008ff44, 27586 }, /* XF86Launch4 */
-    { 0x1008ff45, 27598 }, /* XF86Launch5 */
-    { 0x1008ff46, 27610 }, /* XF86Launch6 */
-    { 0x1008ff47, 27622 }, /* XF86Launch7 */
-    { 0x1008ff48, 27634 }, /* XF86Launch8 */
-    { 0x1008ff49, 27646 }, /* XF86Launch9 */
-    { 0x1008ff4a, 27658 }, /* XF86LaunchA */
-    { 0x1008ff4b, 27670 }, /* XF86LaunchB */
-    { 0x1008ff4c, 27682 }, /* XF86LaunchC */
-    { 0x1008ff4d, 27694 }, /* XF86LaunchD */
-    { 0x1008ff4e, 27706 }, /* XF86LaunchE */
-    { 0x1008ff4f, 27718 }, /* XF86LaunchF */
-    { 0x1008ff35, 27730 }, /* XF86LightBulb */
-    { 0x1008fe25, 27744 }, /* XF86LogGrabInfo */
-    { 0x1008ff61, 27760 }, /* XF86LogOff */
-    { 0x1008fe24, 27771 }, /* XF86LogWindowTree */
-    { 0x1008ff19, 27789 }, /* XF86Mail */
-    { 0x1008ff90, 27798 }, /* XF86MailForward */
-    { 0x1008ff62, 27814 }, /* XF86Market */
-    { 0x1008ff63, 27825 }, /* XF86Meeting */
-    { 0x1008ff1e, 27837 }, /* XF86Memo */
-    { 0x1008ff65, 27846 }, /* XF86MenuKB */
-    { 0x1008ff66, 27857 }, /* XF86MenuPB */
-    { 0x1008ff8e, 27868 }, /* XF86Messenger */
-    { 0x1008ff01, 27882 }, /* XF86ModeLock */
-    { 0x1008ff03, 27895 }, /* XF86MonBrightnessDown */
-    { 0x1008ff02, 27917 }, /* XF86MonBrightnessUp */
-    { 0x1008ff92, 27937 }, /* XF86Music */
-    { 0x1008ff33, 27947 }, /* XF86MyComputer */
-    { 0x1008ff67, 27962 }, /* XF86MySites */
-    { 0x1008ff68, 27974 }, /* XF86New */
-    { 0x1008ff69, 27982 }, /* XF86News */
-    { 0x1008fe22, 27991 }, /* XF86Next_VMode */
-    { 0x1008ff6a, 28006 }, /* XF86OfficeHome */
-    { 0x1008ff6b, 28021 }, /* XF86Open */
-    { 0x1008ff38, 28030 }, /* XF86OpenURL */
-    { 0x1008ff6c, 28042 }, /* XF86Option */
-    { 0x1008ff6d, 28053 }, /* XF86Paste */
-    { 0x1008ff6e, 28063 }, /* XF86Phone */
-    { 0x1008ff91, 28073 }, /* XF86Pictures */
-    { 0x1008ff21, 28086 }, /* XF86PowerDown */
-    { 0x1008ff2a, 28100 }, /* XF86PowerOff */
-    { 0x1008fe23, 28113 }, /* XF86Prev_VMode */
-    { 0x1008ff70, 28128 }, /* XF86Q */
-    { 0x1008ffa3, 28134 }, /* XF86Red */
-    { 0x1008ff29, 28142 }, /* XF86Refresh */
-    { 0x1008ff73, 28154 }, /* XF86Reload */
-    { 0x1008ff72, 28165 }, /* XF86Reply */
-    { 0x1008ffb5, 28175 }, /* XF86RFKill */
-    { 0x1008ff24, 28186 }, /* XF86RockerDown */
-    { 0x1008ff25, 28201 }, /* XF86RockerEnter */
-    { 0x1008ff23, 28217 }, /* XF86RockerUp */
-    { 0x1008ff74, 28230 }, /* XF86RotateWindows */
-    { 0x1008ff76, 28248 }, /* XF86RotationKB */
-    { 0x1008ff75, 28263 }, /* XF86RotationPB */
-    { 0x1008ff77, 28278 }, /* XF86Save */
-    { 0x1008ff2d, 28287 }, /* XF86ScreenSaver */
-    { 0x1008ff7a, 28303 }, /* XF86ScrollClick */
-    { 0x1008ff79, 28319 }, /* XF86ScrollDown */
-    { 0x1008ff78, 28334 }, /* XF86ScrollUp */
-    { 0x1008ff1b, 28347 }, /* XF86Search */
-    { 0x1008ffa0, 28358 }, /* XF86Select */
-    { 0x1008ff7b, 28369 }, /* XF86Send */
-    { 0x1008ff36, 28378 }, /* XF86Shop */
-    { 0x1008ff2f, 28387 }, /* XF86Sleep */
-    { 0x1008ff7c, 28397 }, /* XF86Spell */
-    { 0x1008ff7d, 28407 }, /* XF86SplitScreen */
-    { 0x1008ff10, 28423 }, /* XF86Standby */
-    { 0x1008ff1a, 28435 }, /* XF86Start */
-    { 0x1008ff28, 28445 }, /* XF86Stop */
-    { 0x1008ff9a, 28454 }, /* XF86Subtitle */
-    { 0x1008ff7e, 28467 }, /* XF86Support */
-    { 0x1008ffa7, 28479 }, /* XF86Suspend */
-    { 0x1008fe01, 28491 }, /* XF86Switch_VT_1 */
-    { 0x1008fe0a, 28507 }, /* XF86Switch_VT_10 */
-    { 0x1008fe0b, 28524 }, /* XF86Switch_VT_11 */
-    { 0x1008fe0c, 28541 }, /* XF86Switch_VT_12 */
-    { 0x1008fe02, 28558 }, /* XF86Switch_VT_2 */
-    { 0x1008fe03, 28574 }, /* XF86Switch_VT_3 */
-    { 0x1008fe04, 28590 }, /* XF86Switch_VT_4 */
-    { 0x1008fe05, 28606 }, /* XF86Switch_VT_5 */
-    { 0x1008fe06, 28622 }, /* XF86Switch_VT_6 */
-    { 0x1008fe07, 28638 }, /* XF86Switch_VT_7 */
-    { 0x1008fe08, 28654 }, /* XF86Switch_VT_8 */
-    { 0x1008fe09, 28670 }, /* XF86Switch_VT_9 */
-    { 0x1008ff7f, 28686 }, /* XF86TaskPane */
-    { 0x1008ff80, 28699 }, /* XF86Terminal */
-    { 0x1008ff9f, 28712 }, /* XF86Time */
-    { 0x1008ff1f, 28721 }, /* XF86ToDoList */
-    { 0x1008ff81, 28734 }, /* XF86Tools */
-    { 0x1008ffa2, 28744 }, /* XF86TopMenu */
-    { 0x1008ffb1, 28756 }, /* XF86TouchpadOff */
-    { 0x1008ffb0, 28772 }, /* XF86TouchpadOn */
-    { 0x1008ffa9, 28787 }, /* XF86TouchpadToggle */
-    { 0x1008ff82, 28806 }, /* XF86Travel */
-    { 0x1008fe20, 28817 }, /* XF86Ungrab */
-    { 0x1008ff85, 28828 }, /* XF86User1KB */
-    { 0x1008ff86, 28840 }, /* XF86User2KB */
-    { 0x1008ff84, 28852 }, /* XF86UserPB */
-    { 0x1008ff96, 28863 }, /* XF86UWB */
-    { 0x1008ff34, 28871 }, /* XF86VendorHome */
-    { 0x1008ff87, 28886 }, /* XF86Video */
-    { 0x1008ffa1, 28896 }, /* XF86View */
-    { 0x1008ff2b, 28905 }, /* XF86WakeUp */
-    { 0x1008ff8f, 28916 }, /* XF86WebCam */
-    { 0x1008ff88, 28927 }, /* XF86WheelButton */
-    { 0x1008ff95, 28943 }, /* XF86WLAN */
-    { 0x1008ff89, 28952 }, /* XF86Word */
-    { 0x1008ffb4, 28961 }, /* XF86WWAN */
-    { 0x1008ff2e, 28970 }, /* XF86WWW */
-    { 0x1008ff8a, 28978 }, /* XF86Xfer */
-    { 0x1008ffa5, 28987 }, /* XF86Yellow */
-    { 0x1008ff8b, 28998 }, /* XF86ZoomIn */
-    { 0x1008ff8c, 29009 }, /* XF86ZoomOut */
-    { 0x00000059, 29021 }, /* Y */
-    { 0x00000079, 29023 }, /* y */
-    { 0x000000dd, 29025 }, /* Yacute */
-    { 0x000000fd, 29032 }, /* yacute */
-    { 0x01001ef4, 29039 }, /* Ybelowdot */
-    { 0x01001ef5, 29049 }, /* ybelowdot */
-    { 0x01000176, 29059 }, /* Ycircumflex */
-    { 0x01000177, 29071 }, /* ycircumflex */
-    { 0x000000ff, 29083 }, /* ydiaeresis */
-    { 0x000013be, 29094 }, /* Ydiaeresis */
-    { 0x000000a5, 29105 }, /* yen */
-    { 0x01001ef2, 29109 }, /* Ygrave */
-    { 0x01001ef3, 29116 }, /* ygrave */
-    { 0x01001ef6, 29123 }, /* Yhook */
-    { 0x01001ef7, 29129 }, /* yhook */
-    { 0x01001ef8, 29135 }, /* Ytilde */
-    { 0x01001ef9, 29142 }, /* ytilde */
-    { 0x0000005a, 29149 }, /* Z */
-    { 0x0000007a, 29151 }, /* z */
-    { 0x000001af, 29153 }, /* Zabovedot */
-    { 0x000001bf, 29163 }, /* zabovedot */
-    { 0x000001ac, 29173 }, /* Zacute */
-    { 0x000001bc, 29180 }, /* zacute */
-    { 0x000001ae, 29187 }, /* Zcaron */
-    { 0x000001be, 29194 }, /* zcaron */
-    { 0x0000ff3d, 29201 }, /* Zen_Koho */
-    { 0x0000ff28, 29210 }, /* Zenkaku */
-    { 0x0000ff2a, 29218 }, /* Zenkaku_Hankaku */
-    { 0x01002080, 29234 }, /* zerosubscript */
-    { 0x01002070, 29248 }, /* zerosuperior */
-    { 0x010001b5, 29261 }, /* Zstroke */
-    { 0x010001b6, 29269 }, /* zstroke */
+    { 0x01000301, 8680 }, /* combining_acute */
+    { 0x01000323, 8696 }, /* combining_belowdot */
+    { 0x01000300, 8715 }, /* combining_grave */
+    { 0x01000309, 8731 }, /* combining_hook */
+    { 0x01000303, 8746 }, /* combining_tilde */
+    { 0x0000002c, 8762 }, /* comma */
+    { 0x0100220b, 8768 }, /* containsas */
+    { 0x0000ffe3, 8779 }, /* Control_L */
+    { 0x0000ffe4, 8789 }, /* Control_R */
+    { 0x000000a9, 8799 }, /* copyright */
+    { 0x000009e4, 8809 }, /* cr */
+    { 0x000009ee, 8812 }, /* crossinglines */
+    { 0x010020a2, 8826 }, /* CruzeiroSign */
+    { 0x0100221b, 8839 }, /* cuberoot */
+    { 0x000000a4, 8848 }, /* currency */
+    { 0x00000aff, 8857 }, /* cursor */
+    { 0x000006c1, 8864 }, /* Cyrillic_a */
+    { 0x000006e1, 8875 }, /* Cyrillic_A */
+    { 0x000006c2, 8886 }, /* Cyrillic_be */
+    { 0x000006e2, 8898 }, /* Cyrillic_BE */
+    { 0x000006de, 8910 }, /* Cyrillic_che */
+    { 0x000006fe, 8923 }, /* Cyrillic_CHE */
+    { 0x010004b6, 8936 }, /* Cyrillic_CHE_descender */
+    { 0x010004b7, 8959 }, /* Cyrillic_che_descender */
+    { 0x010004b8, 8982 }, /* Cyrillic_CHE_vertstroke */
+    { 0x010004b9, 9006 }, /* Cyrillic_che_vertstroke */
+    { 0x000006c4, 9030 }, /* Cyrillic_de */
+    { 0x000006e4, 9042 }, /* Cyrillic_DE */
+    { 0x000006af, 9054 }, /* Cyrillic_dzhe */
+    { 0x000006bf, 9068 }, /* Cyrillic_DZHE */
+    { 0x000006dc, 9082 }, /* Cyrillic_e */
+    { 0x000006fc, 9093 }, /* Cyrillic_E */
+    { 0x000006c6, 9104 }, /* Cyrillic_ef */
+    { 0x000006e6, 9116 }, /* Cyrillic_EF */
+    { 0x000006cc, 9128 }, /* Cyrillic_el */
+    { 0x000006ec, 9140 }, /* Cyrillic_EL */
+    { 0x000006cd, 9152 }, /* Cyrillic_em */
+    { 0x000006ed, 9164 }, /* Cyrillic_EM */
+    { 0x000006ce, 9176 }, /* Cyrillic_en */
+    { 0x000006ee, 9188 }, /* Cyrillic_EN */
+    { 0x010004a2, 9200 }, /* Cyrillic_EN_descender */
+    { 0x010004a3, 9222 }, /* Cyrillic_en_descender */
+    { 0x000006d2, 9244 }, /* Cyrillic_er */
+    { 0x000006f2, 9256 }, /* Cyrillic_ER */
+    { 0x000006d3, 9268 }, /* Cyrillic_es */
+    { 0x000006f3, 9280 }, /* Cyrillic_ES */
+    { 0x000006c7, 9292 }, /* Cyrillic_ghe */
+    { 0x000006e7, 9305 }, /* Cyrillic_GHE */
+    { 0x01000492, 9318 }, /* Cyrillic_GHE_bar */
+    { 0x01000493, 9335 }, /* Cyrillic_ghe_bar */
+    { 0x000006c8, 9352 }, /* Cyrillic_ha */
+    { 0x000006e8, 9364 }, /* Cyrillic_HA */
+    { 0x010004b2, 9376 }, /* Cyrillic_HA_descender */
+    { 0x010004b3, 9398 }, /* Cyrillic_ha_descender */
+    { 0x000006df, 9420 }, /* Cyrillic_hardsign */
+    { 0x000006ff, 9438 }, /* Cyrillic_HARDSIGN */
+    { 0x000006c9, 9456 }, /* Cyrillic_i */
+    { 0x000006e9, 9467 }, /* Cyrillic_I */
+    { 0x010004e2, 9478 }, /* Cyrillic_I_macron */
+    { 0x010004e3, 9496 }, /* Cyrillic_i_macron */
+    { 0x000006c5, 9514 }, /* Cyrillic_ie */
+    { 0x000006e5, 9526 }, /* Cyrillic_IE */
+    { 0x000006a3, 9538 }, /* Cyrillic_io */
+    { 0x000006b3, 9550 }, /* Cyrillic_IO */
+    { 0x000006a8, 9562 }, /* Cyrillic_je */
+    { 0x000006b8, 9574 }, /* Cyrillic_JE */
+    { 0x000006cb, 9586 }, /* Cyrillic_ka */
+    { 0x000006eb, 9598 }, /* Cyrillic_KA */
+    { 0x0100049a, 9610 }, /* Cyrillic_KA_descender */
+    { 0x0100049b, 9632 }, /* Cyrillic_ka_descender */
+    { 0x0100049c, 9654 }, /* Cyrillic_KA_vertstroke */
+    { 0x0100049d, 9677 }, /* Cyrillic_ka_vertstroke */
+    { 0x000006a9, 9700 }, /* Cyrillic_lje */
+    { 0x000006b9, 9713 }, /* Cyrillic_LJE */
+    { 0x000006aa, 9726 }, /* Cyrillic_nje */
+    { 0x000006ba, 9739 }, /* Cyrillic_NJE */
+    { 0x000006cf, 9752 }, /* Cyrillic_o */
+    { 0x000006ef, 9763 }, /* Cyrillic_O */
+    { 0x010004e8, 9774 }, /* Cyrillic_O_bar */
+    { 0x010004e9, 9789 }, /* Cyrillic_o_bar */
+    { 0x000006d0, 9804 }, /* Cyrillic_pe */
+    { 0x000006f0, 9816 }, /* Cyrillic_PE */
+    { 0x010004d8, 9828 }, /* Cyrillic_SCHWA */
+    { 0x010004d9, 9843 }, /* Cyrillic_schwa */
+    { 0x000006db, 9858 }, /* Cyrillic_sha */
+    { 0x000006fb, 9871 }, /* Cyrillic_SHA */
+    { 0x000006dd, 9884 }, /* Cyrillic_shcha */
+    { 0x000006fd, 9899 }, /* Cyrillic_SHCHA */
+    { 0x010004ba, 9914 }, /* Cyrillic_SHHA */
+    { 0x010004bb, 9928 }, /* Cyrillic_shha */
+    { 0x000006ca, 9942 }, /* Cyrillic_shorti */
+    { 0x000006ea, 9958 }, /* Cyrillic_SHORTI */
+    { 0x000006d8, 9974 }, /* Cyrillic_softsign */
+    { 0x000006f8, 9992 }, /* Cyrillic_SOFTSIGN */
+    { 0x000006d4, 10010 }, /* Cyrillic_te */
+    { 0x000006f4, 10022 }, /* Cyrillic_TE */
+    { 0x000006c3, 10034 }, /* Cyrillic_tse */
+    { 0x000006e3, 10047 }, /* Cyrillic_TSE */
+    { 0x000006d5, 10060 }, /* Cyrillic_u */
+    { 0x000006f5, 10071 }, /* Cyrillic_U */
+    { 0x010004ee, 10082 }, /* Cyrillic_U_macron */
+    { 0x010004ef, 10100 }, /* Cyrillic_u_macron */
+    { 0x010004ae, 10118 }, /* Cyrillic_U_straight */
+    { 0x010004af, 10138 }, /* Cyrillic_u_straight */
+    { 0x010004b0, 10158 }, /* Cyrillic_U_straight_bar */
+    { 0x010004b1, 10182 }, /* Cyrillic_u_straight_bar */
+    { 0x000006d7, 10206 }, /* Cyrillic_ve */
+    { 0x000006f7, 10218 }, /* Cyrillic_VE */
+    { 0x000006d1, 10230 }, /* Cyrillic_ya */
+    { 0x000006f1, 10242 }, /* Cyrillic_YA */
+    { 0x000006d9, 10254 }, /* Cyrillic_yeru */
+    { 0x000006f9, 10268 }, /* Cyrillic_YERU */
+    { 0x000006c0, 10282 }, /* Cyrillic_yu */
+    { 0x000006e0, 10294 }, /* Cyrillic_YU */
+    { 0x000006da, 10306 }, /* Cyrillic_ze */
+    { 0x000006fa, 10318 }, /* Cyrillic_ZE */
+    { 0x000006d6, 10330 }, /* Cyrillic_zhe */
+    { 0x000006f6, 10343 }, /* Cyrillic_ZHE */
+    { 0x01000496, 10356 }, /* Cyrillic_ZHE_descender */
+    { 0x01000497, 10379 }, /* Cyrillic_zhe_descender */
+    { 0x00000044, 10402 }, /* D */
+    { 0x00000064, 10404 }, /* d */
+    { 0x01001e0a, 10406 }, /* Dabovedot */
+    { 0x01001e0b, 10416 }, /* dabovedot */
+    { 0x1000fe27, 10426 }, /* Dacute_accent */
+    { 0x00000af1, 10440 }, /* dagger */
+    { 0x000001cf, 10447 }, /* Dcaron */
+    { 0x000001ef, 10454 }, /* dcaron */
+    { 0x1000fe2c, 10461 }, /* Dcedilla_accent */
+    { 0x1000fe5e, 10477 }, /* Dcircumflex_accent */
+    { 0x1000fe22, 10496 }, /* Ddiaeresis */
+    { 0x0000fe80, 10507 }, /* dead_a */
+    { 0x0000fe81, 10514 }, /* dead_A */
+    { 0x0000fe64, 10521 }, /* dead_abovecomma */
+    { 0x0000fe56, 10537 }, /* dead_abovedot */
+    { 0x0000fe65, 10551 }, /* dead_abovereversedcomma */
+    { 0x0000fe58, 10575 }, /* dead_abovering */
+    { 0x0000fe51, 10590 }, /* dead_acute */
+    { 0x0000fe6b, 10601 }, /* dead_belowbreve */
+    { 0x0000fe69, 10617 }, /* dead_belowcircumflex */
+    { 0x0000fe6e, 10638 }, /* dead_belowcomma */
+    { 0x0000fe6c, 10654 }, /* dead_belowdiaeresis */
+    { 0x0000fe60, 10674 }, /* dead_belowdot */
+    { 0x0000fe68, 10688 }, /* dead_belowmacron */
+    { 0x0000fe67, 10705 }, /* dead_belowring */
+    { 0x0000fe6a, 10720 }, /* dead_belowtilde */
+    { 0x0000fe55, 10736 }, /* dead_breve */
+    { 0x0000fe8b, 10747 }, /* dead_capital_schwa */
+    { 0x0000fe5a, 10766 }, /* dead_caron */
+    { 0x0000fe5b, 10777 }, /* dead_cedilla */
+    { 0x0000fe52, 10790 }, /* dead_circumflex */
+    { 0x0000fe6f, 10806 }, /* dead_currency */
+    { 0x0000fe65, 10820 }, /* dead_dasia */
+    { 0x0000fe57, 10831 }, /* dead_diaeresis */
+    { 0x0000fe59, 10846 }, /* dead_doubleacute */
+    { 0x0000fe66, 10863 }, /* dead_doublegrave */
+    { 0x0000fe82, 10880 }, /* dead_e */
+    { 0x0000fe83, 10887 }, /* dead_E */
+    { 0x0000fe50, 10894 }, /* dead_grave */
+    { 0x0000fe8c, 10905 }, /* dead_greek */
+    { 0x0000fe8d, 10916 }, /* dead_hamza */
+    { 0x0000fe61, 10927 }, /* dead_hook */
+    { 0x0000fe62, 10937 }, /* dead_horn */
+    { 0x0000fe84, 10947 }, /* dead_i */
+    { 0x0000fe85, 10954 }, /* dead_I */
+    { 0x0000fe6d, 10961 }, /* dead_invertedbreve */
+    { 0x0000fe5d, 10980 }, /* dead_iota */
+    { 0x0000fe54, 10990 }, /* dead_macron */
+    { 0x0000fe86, 11002 }, /* dead_o */
+    { 0x0000fe87, 11009 }, /* dead_O */
+    { 0x0000fe5c, 11016 }, /* dead_ogonek */
+    { 0x0000fe53, 11028 }, /* dead_perispomeni */
+    { 0x0000fe64, 11045 }, /* dead_psili */
+    { 0x0000fe8a, 11056 }, /* dead_schwa */
+    { 0x0000fe8b, 11067 }, /* dead_SCHWA */
+    { 0x0000fe5f, 11078 }, /* dead_semivoiced_sound */
+    { 0x0000fe8a, 11100 }, /* dead_small_schwa */
+    { 0x0000fe63, 11117 }, /* dead_stroke */
+    { 0x0000fe53, 11129 }, /* dead_tilde */
+    { 0x0000fe88, 11140 }, /* dead_u */
+    { 0x0000fe89, 11147 }, /* dead_U */
+    { 0x0000fe5e, 11154 }, /* dead_voiced_sound */
+    { 0x00000abd, 11172 }, /* decimalpoint */
+    { 0x000000b0, 11185 }, /* degree */
+    { 0x0000ffff, 11192 }, /* Delete */
+    { 0x1000ff73, 11199 }, /* DeleteChar */
+    { 0x1000ff71, 11210 }, /* DeleteLine */
+    { 0x1000fe60, 11221 }, /* Dgrave_accent */
+    { 0x000000a8, 11235 }, /* diaeresis */
+    { 0x00000aed, 11245 }, /* diamond */
+    { 0x00000aa5, 11253 }, /* digitspace */
+    { 0x0100222c, 11264 }, /* dintegral */
+    { 0x000000f7, 11274 }, /* division */
+    { 0x00000024, 11283 }, /* dollar */
+    { 0x010020ab, 11290 }, /* DongSign */
+    { 0x00000aaf, 11299 }, /* doubbaselinedot */
+    { 0x000001bd, 11315 }, /* doubleacute */
+    { 0x00000af2, 11327 }, /* doubledagger */
+    { 0x00000afe, 11340 }, /* doublelowquotemark */
+    { 0x0000ff54, 11359 }, /* Down */
+    { 0x000008fe, 11364 }, /* downarrow */
+    { 0x00000ba8, 11374 }, /* downcaret */
+    { 0x00000bd6, 11384 }, /* downshoe */
+    { 0x00000bc4, 11393 }, /* downstile */
+    { 0x00000bc2, 11403 }, /* downtack */
+    { 0x1000ff00, 11412 }, /* DRemove */
+    { 0x1000feb0, 11420 }, /* Dring_accent */
+    { 0x000001d0, 11433 }, /* Dstroke */
+    { 0x000001f0, 11441 }, /* dstroke */
+    { 0x1000fe7e, 11449 }, /* Dtilde */
+    { 0x00000045, 11456 }, /* E */
+    { 0x00000065, 11458 }, /* e */
+    { 0x000003cc, 11460 }, /* Eabovedot */
+    { 0x000003ec, 11470 }, /* eabovedot */
+    { 0x000000c9, 11480 }, /* Eacute */
+    { 0x000000e9, 11487 }, /* eacute */
+    { 0x01001eb8, 11494 }, /* Ebelowdot */
+    { 0x01001eb9, 11504 }, /* ebelowdot */
+    { 0x000001cc, 11514 }, /* Ecaron */
+    { 0x000001ec, 11521 }, /* ecaron */
+    { 0x000000ca, 11528 }, /* Ecircumflex */
+    { 0x000000ea, 11540 }, /* ecircumflex */
+    { 0x01001ebe, 11552 }, /* Ecircumflexacute */
+    { 0x01001ebf, 11569 }, /* ecircumflexacute */
+    { 0x01001ec6, 11586 }, /* Ecircumflexbelowdot */
+    { 0x01001ec7, 11606 }, /* ecircumflexbelowdot */
+    { 0x01001ec0, 11626 }, /* Ecircumflexgrave */
+    { 0x01001ec1, 11643 }, /* ecircumflexgrave */
+    { 0x01001ec2, 11660 }, /* Ecircumflexhook */
+    { 0x01001ec3, 11676 }, /* ecircumflexhook */
+    { 0x01001ec4, 11692 }, /* Ecircumflextilde */
+    { 0x01001ec5, 11709 }, /* ecircumflextilde */
+    { 0x010020a0, 11726 }, /* EcuSign */
+    { 0x000000cb, 11734 }, /* Ediaeresis */
+    { 0x000000eb, 11745 }, /* ediaeresis */
+    { 0x000000c8, 11756 }, /* Egrave */
+    { 0x000000e8, 11763 }, /* egrave */
+    { 0x01001eba, 11770 }, /* Ehook */
+    { 0x01001ebb, 11776 }, /* ehook */
+    { 0x01002088, 11782 }, /* eightsubscript */
+    { 0x01002078, 11797 }, /* eightsuperior */
+    { 0x0000ff2f, 11811 }, /* Eisu_Shift */
+    { 0x0000ff30, 11822 }, /* Eisu_toggle */
+    { 0x01002208, 11834 }, /* elementof */
+    { 0x00000aae, 11844 }, /* ellipsis */
+    { 0x00000aa3, 11853 }, /* em3space */
+    { 0x00000aa4, 11862 }, /* em4space */
+    { 0x000003aa, 11871 }, /* Emacron */
+    { 0x000003ba, 11879 }, /* emacron */
+    { 0x00000aa9, 11887 }, /* emdash */
+    { 0x00000ade, 11894 }, /* emfilledcircle */
+    { 0x00000adf, 11909 }, /* emfilledrect */
+    { 0x00000ace, 11922 }, /* emopencircle */
+    { 0x00000acf, 11935 }, /* emopenrectangle */
+    { 0x01002205, 11951 }, /* emptyset */
+    { 0x00000aa1, 11960 }, /* emspace */
+    { 0x0000ff57, 11968 }, /* End */
+    { 0x00000aaa, 11972 }, /* endash */
+    { 0x00000ae6, 11979 }, /* enfilledcircbullet */
+    { 0x00000ae7, 11998 }, /* enfilledsqbullet */
+    { 0x000003bd, 12015 }, /* ENG */
+    { 0x000003bf, 12019 }, /* eng */
+    { 0x00000ae0, 12023 }, /* enopencircbullet */
+    { 0x00000ae1, 12040 }, /* enopensquarebullet */
+    { 0x00000aa2, 12059 }, /* enspace */
+    { 0x000001ca, 12067 }, /* Eogonek */
+    { 0x000001ea, 12075 }, /* eogonek */
+    { 0x0000003d, 12083 }, /* equal */
+    { 0x0000ff1b, 12089 }, /* Escape */
+    { 0x000000d0, 12096 }, /* ETH */
+    { 0x000000d0, 12100 }, /* Eth */
+    { 0x000000f0, 12104 }, /* eth */
+    { 0x01001ebc, 12108 }, /* Etilde */
+    { 0x01001ebd, 12115 }, /* etilde */
+    { 0x000020ac, 12122 }, /* EuroSign */
+    { 0x00000021, 12131 }, /* exclam */
+    { 0x000000a1, 12138 }, /* exclamdown */
+    { 0x0000ff62, 12149 }, /* Execute */
+    { 0x1000ff76, 12157 }, /* Ext16bit_L */
+    { 0x1000ff77, 12168 }, /* Ext16bit_R */
+    { 0x010001b7, 12179 }, /* EZH */
+    { 0x01000292, 12183 }, /* ezh */
+    { 0x00000046, 12187 }, /* F */
+    { 0x00000066, 12189 }, /* f */
+    { 0x0000ffbe, 12191 }, /* F1 */
+    { 0x0000ffc7, 12194 }, /* F10 */
+    { 0x0000ffc8, 12198 }, /* F11 */
+    { 0x0000ffc9, 12202 }, /* F12 */
+    { 0x0000ffca, 12206 }, /* F13 */
+    { 0x0000ffcb, 12210 }, /* F14 */
+    { 0x0000ffcc, 12214 }, /* F15 */
+    { 0x0000ffcd, 12218 }, /* F16 */
+    { 0x0000ffce, 12222 }, /* F17 */
+    { 0x0000ffcf, 12226 }, /* F18 */
+    { 0x0000ffd0, 12230 }, /* F19 */
+    { 0x0000ffbf, 12234 }, /* F2 */
+    { 0x0000ffd1, 12237 }, /* F20 */
+    { 0x0000ffd2, 12241 }, /* F21 */
+    { 0x0000ffd3, 12245 }, /* F22 */
+    { 0x0000ffd4, 12249 }, /* F23 */
+    { 0x0000ffd5, 12253 }, /* F24 */
+    { 0x0000ffd6, 12257 }, /* F25 */
+    { 0x0000ffd7, 12261 }, /* F26 */
+    { 0x0000ffd8, 12265 }, /* F27 */
+    { 0x0000ffd9, 12269 }, /* F28 */
+    { 0x0000ffda, 12273 }, /* F29 */
+    { 0x0000ffc0, 12277 }, /* F3 */
+    { 0x0000ffdb, 12280 }, /* F30 */
+    { 0x0000ffdc, 12284 }, /* F31 */
+    { 0x0000ffdd, 12288 }, /* F32 */
+    { 0x0000ffde, 12292 }, /* F33 */
+    { 0x0000ffdf, 12296 }, /* F34 */
+    { 0x0000ffe0, 12300 }, /* F35 */
+    { 0x0000ffc1, 12304 }, /* F4 */
+    { 0x0000ffc2, 12307 }, /* F5 */
+    { 0x0000ffc3, 12310 }, /* F6 */
+    { 0x0000ffc4, 12313 }, /* F7 */
+    { 0x0000ffc5, 12316 }, /* F8 */
+    { 0x0000ffc6, 12319 }, /* F9 */
+    { 0x01001e1e, 12322 }, /* Fabovedot */
+    { 0x01001e1f, 12332 }, /* fabovedot */
+    { 0x010006f0, 12342 }, /* Farsi_0 */
+    { 0x010006f1, 12350 }, /* Farsi_1 */
+    { 0x010006f2, 12358 }, /* Farsi_2 */
+    { 0x010006f3, 12366 }, /* Farsi_3 */
+    { 0x010006f4, 12374 }, /* Farsi_4 */
+    { 0x010006f5, 12382 }, /* Farsi_5 */
+    { 0x010006f6, 12390 }, /* Farsi_6 */
+    { 0x010006f7, 12398 }, /* Farsi_7 */
+    { 0x010006f8, 12406 }, /* Farsi_8 */
+    { 0x010006f9, 12414 }, /* Farsi_9 */
+    { 0x010006cc, 12422 }, /* Farsi_yeh */
+    { 0x00000af8, 12432 }, /* femalesymbol */
+    { 0x000009e3, 12445 }, /* ff */
+    { 0x010020a3, 12448 }, /* FFrancSign */
+    { 0x00000abb, 12459 }, /* figdash */
+    { 0x00000adc, 12467 }, /* filledlefttribullet */
+    { 0x00000adb, 12487 }, /* filledrectbullet */
+    { 0x00000add, 12504 }, /* filledrighttribullet */
+    { 0x00000ae9, 12525 }, /* filledtribulletdown */
+    { 0x00000ae8, 12545 }, /* filledtribulletup */
+    { 0x0000ff68, 12563 }, /* Find */
+    { 0x0000fed0, 12568 }, /* First_Virtual_Screen */
+    { 0x00000ac5, 12589 }, /* fiveeighths */
+    { 0x00000ab7, 12601 }, /* fivesixths */
+    { 0x01002085, 12612 }, /* fivesubscript */
+    { 0x01002075, 12626 }, /* fivesuperior */
+    { 0x00000ab5, 12639 }, /* fourfifths */
+    { 0x01002084, 12650 }, /* foursubscript */
+    { 0x01002074, 12664 }, /* foursuperior */
+    { 0x0100221c, 12677 }, /* fourthroot */
+    { 0x000008f6, 12688 }, /* function */
+    { 0x00000047, 12697 }, /* G */
+    { 0x00000067, 12699 }, /* g */
+    { 0x000002d5, 12701 }, /* Gabovedot */
+    { 0x000002f5, 12711 }, /* gabovedot */
+    { 0x000002ab, 12721 }, /* Gbreve */
+    { 0x000002bb, 12728 }, /* gbreve */
+    { 0x010001e6, 12735 }, /* Gcaron */
+    { 0x010001e7, 12742 }, /* gcaron */
+    { 0x000003ab, 12749 }, /* Gcedilla */
+    { 0x000003bb, 12758 }, /* gcedilla */
+    { 0x000002d8, 12767 }, /* Gcircumflex */
+    { 0x000002f8, 12779 }, /* gcircumflex */
+    { 0x010010d0, 12791 }, /* Georgian_an */
+    { 0x010010d1, 12803 }, /* Georgian_ban */
+    { 0x010010ea, 12816 }, /* Georgian_can */
+    { 0x010010ed, 12829 }, /* Georgian_char */
+    { 0x010010e9, 12843 }, /* Georgian_chin */
+    { 0x010010ec, 12857 }, /* Georgian_cil */
+    { 0x010010d3, 12870 }, /* Georgian_don */
+    { 0x010010d4, 12883 }, /* Georgian_en */
+    { 0x010010f6, 12895 }, /* Georgian_fi */
+    { 0x010010d2, 12907 }, /* Georgian_gan */
+    { 0x010010e6, 12920 }, /* Georgian_ghan */
+    { 0x010010f0, 12934 }, /* Georgian_hae */
+    { 0x010010f4, 12947 }, /* Georgian_har */
+    { 0x010010f1, 12960 }, /* Georgian_he */
+    { 0x010010f2, 12972 }, /* Georgian_hie */
+    { 0x010010f5, 12985 }, /* Georgian_hoe */
+    { 0x010010d8, 12998 }, /* Georgian_in */
+    { 0x010010ef, 13010 }, /* Georgian_jhan */
+    { 0x010010eb, 13024 }, /* Georgian_jil */
+    { 0x010010d9, 13037 }, /* Georgian_kan */
+    { 0x010010e5, 13050 }, /* Georgian_khar */
+    { 0x010010da, 13064 }, /* Georgian_las */
+    { 0x010010db, 13077 }, /* Georgian_man */
+    { 0x010010dc, 13090 }, /* Georgian_nar */
+    { 0x010010dd, 13103 }, /* Georgian_on */
+    { 0x010010de, 13115 }, /* Georgian_par */
+    { 0x010010e4, 13128 }, /* Georgian_phar */
+    { 0x010010e7, 13142 }, /* Georgian_qar */
+    { 0x010010e0, 13155 }, /* Georgian_rae */
+    { 0x010010e1, 13168 }, /* Georgian_san */
+    { 0x010010e8, 13181 }, /* Georgian_shin */
+    { 0x010010d7, 13195 }, /* Georgian_tan */
+    { 0x010010e2, 13208 }, /* Georgian_tar */
+    { 0x010010e3, 13221 }, /* Georgian_un */
+    { 0x010010d5, 13233 }, /* Georgian_vin */
+    { 0x010010f3, 13246 }, /* Georgian_we */
+    { 0x010010ee, 13258 }, /* Georgian_xan */
+    { 0x010010d6, 13271 }, /* Georgian_zen */
+    { 0x010010df, 13284 }, /* Georgian_zhar */
+    { 0x00000060, 13298 }, /* grave */
+    { 0x0000003e, 13304 }, /* greater */
+    { 0x000008be, 13312 }, /* greaterthanequal */
+    { 0x000007ae, 13329 }, /* Greek_accentdieresis */
+    { 0x000007c1, 13350 }, /* Greek_ALPHA */
+    { 0x000007e1, 13362 }, /* Greek_alpha */
+    { 0x000007a1, 13374 }, /* Greek_ALPHAaccent */
+    { 0x000007b1, 13392 }, /* Greek_alphaaccent */
+    { 0x000007c2, 13410 }, /* Greek_BETA */
+    { 0x000007e2, 13421 }, /* Greek_beta */
+    { 0x000007d7, 13432 }, /* Greek_CHI */
+    { 0x000007f7, 13442 }, /* Greek_chi */
+    { 0x000007c4, 13452 }, /* Greek_DELTA */
+    { 0x000007e4, 13464 }, /* Greek_delta */
+    { 0x000007c5, 13476 }, /* Greek_EPSILON */
+    { 0x000007e5, 13490 }, /* Greek_epsilon */
+    { 0x000007a2, 13504 }, /* Greek_EPSILONaccent */
+    { 0x000007b2, 13524 }, /* Greek_epsilonaccent */
+    { 0x000007c7, 13544 }, /* Greek_ETA */
+    { 0x000007e7, 13554 }, /* Greek_eta */
+    { 0x000007a3, 13564 }, /* Greek_ETAaccent */
+    { 0x000007b3, 13580 }, /* Greek_etaaccent */
+    { 0x000007f3, 13596 }, /* Greek_finalsmallsigma */
+    { 0x000007c3, 13618 }, /* Greek_GAMMA */
+    { 0x000007e3, 13630 }, /* Greek_gamma */
+    { 0x000007af, 13642 }, /* Greek_horizbar */
+    { 0x000007c9, 13657 }, /* Greek_IOTA */
+    { 0x000007e9, 13668 }, /* Greek_iota */
+    { 0x000007a4, 13679 }, /* Greek_IOTAaccent */
+    { 0x000007b4, 13696 }, /* Greek_iotaaccent */
+    { 0x000007b6, 13713 }, /* Greek_iotaaccentdieresis */
+    { 0x000007a5, 13738 }, /* Greek_IOTAdiaeresis */
+    { 0x000007a5, 13758 }, /* Greek_IOTAdieresis */
+    { 0x000007b5, 13777 }, /* Greek_iotadieresis */
+    { 0x000007ca, 13796 }, /* Greek_KAPPA */
+    { 0x000007ea, 13808 }, /* Greek_kappa */
+    { 0x000007cb, 13820 }, /* Greek_LAMBDA */
+    { 0x000007eb, 13833 }, /* Greek_lambda */
+    { 0x000007cb, 13846 }, /* Greek_LAMDA */
+    { 0x000007eb, 13858 }, /* Greek_lamda */
+    { 0x000007cc, 13870 }, /* Greek_MU */
+    { 0x000007ec, 13879 }, /* Greek_mu */
+    { 0x000007cd, 13888 }, /* Greek_NU */
+    { 0x000007ed, 13897 }, /* Greek_nu */
+    { 0x000007d9, 13906 }, /* Greek_OMEGA */
+    { 0x000007f9, 13918 }, /* Greek_omega */
+    { 0x000007ab, 13930 }, /* Greek_OMEGAaccent */
+    { 0x000007bb, 13948 }, /* Greek_omegaaccent */
+    { 0x000007cf, 13966 }, /* Greek_OMICRON */
+    { 0x000007ef, 13980 }, /* Greek_omicron */
+    { 0x000007a7, 13994 }, /* Greek_OMICRONaccent */
+    { 0x000007b7, 14014 }, /* Greek_omicronaccent */
+    { 0x000007d6, 14034 }, /* Greek_PHI */
+    { 0x000007f6, 14044 }, /* Greek_phi */
+    { 0x000007d0, 14054 }, /* Greek_PI */
+    { 0x000007f0, 14063 }, /* Greek_pi */
+    { 0x000007d8, 14072 }, /* Greek_PSI */
+    { 0x000007f8, 14082 }, /* Greek_psi */
+    { 0x000007d1, 14092 }, /* Greek_RHO */
+    { 0x000007f1, 14102 }, /* Greek_rho */
+    { 0x000007d2, 14112 }, /* Greek_SIGMA */
+    { 0x000007f2, 14124 }, /* Greek_sigma */
+    { 0x0000ff7e, 14136 }, /* Greek_switch */
+    { 0x000007d4, 14149 }, /* Greek_TAU */
+    { 0x000007f4, 14159 }, /* Greek_tau */
+    { 0x000007c8, 14169 }, /* Greek_THETA */
+    { 0x000007e8, 14181 }, /* Greek_theta */
+    { 0x000007d5, 14193 }, /* Greek_UPSILON */
+    { 0x000007f5, 14207 }, /* Greek_upsilon */
+    { 0x000007a8, 14221 }, /* Greek_UPSILONaccent */
+    { 0x000007b8, 14241 }, /* Greek_upsilonaccent */
+    { 0x000007ba, 14261 }, /* Greek_upsilonaccentdieresis */
+    { 0x000007a9, 14289 }, /* Greek_UPSILONdieresis */
+    { 0x000007b9, 14311 }, /* Greek_upsilondieresis */
+    { 0x000007ce, 14333 }, /* Greek_XI */
+    { 0x000007ee, 14342 }, /* Greek_xi */
+    { 0x000007c6, 14351 }, /* Greek_ZETA */
+    { 0x000007e6, 14362 }, /* Greek_zeta */
+    { 0x100000be, 14373 }, /* guilder */
+    { 0x000000ab, 14381 }, /* guillemetleft */
+    { 0x000000bb, 14395 }, /* guillemetright */
+    { 0x000000ab, 14410 }, /* guillemotleft */
+    { 0x000000bb, 14424 }, /* guillemotright */
+    { 0x00000048, 14439 }, /* H */
+    { 0x00000068, 14441 }, /* h */
+    { 0x00000aa8, 14443 }, /* hairspace */
+    { 0x0000ff31, 14453 }, /* Hangul */
+    { 0x00000ebf, 14460 }, /* Hangul_A */
+    { 0x00000ec0, 14469 }, /* Hangul_AE */
+    { 0x00000ef6, 14479 }, /* Hangul_AraeA */
+    { 0x00000ef7, 14492 }, /* Hangul_AraeAE */
+    { 0x0000ff39, 14506 }, /* Hangul_Banja */
+    { 0x00000eba, 14519 }, /* Hangul_Cieuc */
+    { 0x0000ff37, 14532 }, /* Hangul_Codeinput */
+    { 0x00000ea7, 14549 }, /* Hangul_Dikeud */
+    { 0x00000ec4, 14563 }, /* Hangul_E */
+    { 0x0000ff33, 14572 }, /* Hangul_End */
+    { 0x00000ec3, 14583 }, /* Hangul_EO */
+    { 0x00000ed1, 14593 }, /* Hangul_EU */
+    { 0x0000ff34, 14603 }, /* Hangul_Hanja */
+    { 0x00000ebe, 14616 }, /* Hangul_Hieuh */
+    { 0x00000ed3, 14629 }, /* Hangul_I */
+    { 0x00000eb7, 14638 }, /* Hangul_Ieung */
+    { 0x00000eea, 14651 }, /* Hangul_J_Cieuc */
+    { 0x00000eda, 14666 }, /* Hangul_J_Dikeud */
+    { 0x00000eee, 14682 }, /* Hangul_J_Hieuh */
+    { 0x00000ee8, 14697 }, /* Hangul_J_Ieung */
+    { 0x00000ee9, 14712 }, /* Hangul_J_Jieuj */
+    { 0x00000eeb, 14727 }, /* Hangul_J_Khieuq */
+    { 0x00000ed4, 14743 }, /* Hangul_J_Kiyeog */
+    { 0x00000ed6, 14759 }, /* Hangul_J_KiyeogSios */
+    { 0x00000ef9, 14779 }, /* Hangul_J_KkogjiDalrinIeung */
+    { 0x00000ee3, 14806 }, /* Hangul_J_Mieum */
+    { 0x00000ed7, 14821 }, /* Hangul_J_Nieun */
+    { 0x00000ed9, 14836 }, /* Hangul_J_NieunHieuh */
+    { 0x00000ed8, 14856 }, /* Hangul_J_NieunJieuj */
+    { 0x00000ef8, 14876 }, /* Hangul_J_PanSios */
+    { 0x00000eed, 14893 }, /* Hangul_J_Phieuf */
+    { 0x00000ee4, 14909 }, /* Hangul_J_Pieub */
+    { 0x00000ee5, 14924 }, /* Hangul_J_PieubSios */
+    { 0x00000edb, 14943 }, /* Hangul_J_Rieul */
+    { 0x00000ee2, 14958 }, /* Hangul_J_RieulHieuh */
+    { 0x00000edc, 14978 }, /* Hangul_J_RieulKiyeog */
+    { 0x00000edd, 14999 }, /* Hangul_J_RieulMieum */
+    { 0x00000ee1, 15019 }, /* Hangul_J_RieulPhieuf */
+    { 0x00000ede, 15040 }, /* Hangul_J_RieulPieub */
+    { 0x00000edf, 15060 }, /* Hangul_J_RieulSios */
+    { 0x00000ee0, 15079 }, /* Hangul_J_RieulTieut */
+    { 0x00000ee6, 15099 }, /* Hangul_J_Sios */
+    { 0x00000ed5, 15113 }, /* Hangul_J_SsangKiyeog */
+    { 0x00000ee7, 15134 }, /* Hangul_J_SsangSios */
+    { 0x00000eec, 15153 }, /* Hangul_J_Tieut */
+    { 0x00000efa, 15168 }, /* Hangul_J_YeorinHieuh */
+    { 0x0000ff35, 15189 }, /* Hangul_Jamo */
+    { 0x0000ff38, 15201 }, /* Hangul_Jeonja */
+    { 0x00000eb8, 15215 }, /* Hangul_Jieuj */
+    { 0x00000ebb, 15228 }, /* Hangul_Khieuq */
+    { 0x00000ea1, 15242 }, /* Hangul_Kiyeog */
+    { 0x00000ea3, 15256 }, /* Hangul_KiyeogSios */
+    { 0x00000ef3, 15274 }, /* Hangul_KkogjiDalrinIeung */
+    { 0x00000eb1, 15299 }, /* Hangul_Mieum */
+    { 0x0000ff3d, 15312 }, /* Hangul_MultipleCandidate */
+    { 0x00000ea4, 15337 }, /* Hangul_Nieun */
+    { 0x00000ea6, 15350 }, /* Hangul_NieunHieuh */
+    { 0x00000ea5, 15368 }, /* Hangul_NieunJieuj */
+    { 0x00000ec7, 15386 }, /* Hangul_O */
+    { 0x00000eca, 15395 }, /* Hangul_OE */
+    { 0x00000ef2, 15405 }, /* Hangul_PanSios */
+    { 0x00000ebd, 15420 }, /* Hangul_Phieuf */
+    { 0x00000eb2, 15434 }, /* Hangul_Pieub */
+    { 0x00000eb4, 15447 }, /* Hangul_PieubSios */
+    { 0x0000ff3b, 15464 }, /* Hangul_PostHanja */
+    { 0x0000ff3a, 15481 }, /* Hangul_PreHanja */
+    { 0x0000ff3e, 15497 }, /* Hangul_PreviousCandidate */
+    { 0x00000ea9, 15522 }, /* Hangul_Rieul */
+    { 0x00000eb0, 15535 }, /* Hangul_RieulHieuh */
+    { 0x00000eaa, 15553 }, /* Hangul_RieulKiyeog */
+    { 0x00000eab, 15572 }, /* Hangul_RieulMieum */
+    { 0x00000eaf, 15590 }, /* Hangul_RieulPhieuf */
+    { 0x00000eac, 15609 }, /* Hangul_RieulPieub */
+    { 0x00000ead, 15627 }, /* Hangul_RieulSios */
+    { 0x00000eae, 15644 }, /* Hangul_RieulTieut */
+    { 0x00000eef, 15662 }, /* Hangul_RieulYeorinHieuh */
+    { 0x0000ff36, 15686 }, /* Hangul_Romaja */
+    { 0x0000ff3c, 15700 }, /* Hangul_SingleCandidate */
+    { 0x00000eb5, 15723 }, /* Hangul_Sios */
+    { 0x0000ff3f, 15735 }, /* Hangul_Special */
+    { 0x00000ea8, 15750 }, /* Hangul_SsangDikeud */
+    { 0x00000eb9, 15769 }, /* Hangul_SsangJieuj */
+    { 0x00000ea2, 15787 }, /* Hangul_SsangKiyeog */
+    { 0x00000eb3, 15806 }, /* Hangul_SsangPieub */
+    { 0x00000eb6, 15824 }, /* Hangul_SsangSios */
+    { 0x0000ff32, 15841 }, /* Hangul_Start */
+    { 0x00000ef0, 15854 }, /* Hangul_SunkyeongeumMieum */
+    { 0x00000ef4, 15879 }, /* Hangul_SunkyeongeumPhieuf */
+    { 0x00000ef1, 15905 }, /* Hangul_SunkyeongeumPieub */
+    { 0x0000ff7e, 15930 }, /* Hangul_switch */
+    { 0x00000ebc, 15944 }, /* Hangul_Tieut */
+    { 0x00000ecc, 15957 }, /* Hangul_U */
+    { 0x00000ec8, 15966 }, /* Hangul_WA */
+    { 0x00000ec9, 15976 }, /* Hangul_WAE */
+    { 0x00000ece, 15987 }, /* Hangul_WE */
+    { 0x00000ecd, 15997 }, /* Hangul_WEO */
+    { 0x00000ecf, 16008 }, /* Hangul_WI */
+    { 0x00000ec1, 16018 }, /* Hangul_YA */
+    { 0x00000ec2, 16028 }, /* Hangul_YAE */
+    { 0x00000ec6, 16039 }, /* Hangul_YE */
+    { 0x00000ec5, 16049 }, /* Hangul_YEO */
+    { 0x00000ef5, 16060 }, /* Hangul_YeorinHieuh */
+    { 0x00000ed2, 16079 }, /* Hangul_YI */
+    { 0x00000ecb, 16089 }, /* Hangul_YO */
+    { 0x00000ed0, 16099 }, /* Hangul_YU */
+    { 0x0000ff29, 16109 }, /* Hankaku */
+    { 0x000002a6, 16117 }, /* Hcircumflex */
+    { 0x000002b6, 16129 }, /* hcircumflex */
+    { 0x00000aee, 16141 }, /* heart */
+    { 0x00000ce0, 16147 }, /* hebrew_aleph */
+    { 0x00000cf2, 16160 }, /* hebrew_ayin */
+    { 0x00000ce1, 16172 }, /* hebrew_bet */
+    { 0x00000ce1, 16183 }, /* hebrew_beth */
+    { 0x00000ce7, 16195 }, /* hebrew_chet */
+    { 0x00000ce3, 16207 }, /* hebrew_dalet */
+    { 0x00000ce3, 16220 }, /* hebrew_daleth */
+    { 0x00000cdf, 16234 }, /* hebrew_doublelowline */
+    { 0x00000cea, 16255 }, /* hebrew_finalkaph */
+    { 0x00000ced, 16272 }, /* hebrew_finalmem */
+    { 0x00000cef, 16288 }, /* hebrew_finalnun */
+    { 0x00000cf3, 16304 }, /* hebrew_finalpe */
+    { 0x00000cf5, 16319 }, /* hebrew_finalzade */
+    { 0x00000cf5, 16336 }, /* hebrew_finalzadi */
+    { 0x00000ce2, 16353 }, /* hebrew_gimel */
+    { 0x00000ce2, 16366 }, /* hebrew_gimmel */
+    { 0x00000ce4, 16380 }, /* hebrew_he */
+    { 0x00000ce7, 16390 }, /* hebrew_het */
+    { 0x00000ceb, 16401 }, /* hebrew_kaph */
+    { 0x00000cf7, 16413 }, /* hebrew_kuf */
+    { 0x00000cec, 16424 }, /* hebrew_lamed */
+    { 0x00000cee, 16437 }, /* hebrew_mem */
+    { 0x00000cf0, 16448 }, /* hebrew_nun */
+    { 0x00000cf4, 16459 }, /* hebrew_pe */
+    { 0x00000cf7, 16469 }, /* hebrew_qoph */
+    { 0x00000cf8, 16481 }, /* hebrew_resh */
+    { 0x00000cf1, 16493 }, /* hebrew_samech */
+    { 0x00000cf1, 16507 }, /* hebrew_samekh */
+    { 0x00000cf9, 16521 }, /* hebrew_shin */
+    { 0x0000ff7e, 16533 }, /* Hebrew_switch */
+    { 0x00000cfa, 16547 }, /* hebrew_taf */
+    { 0x00000cfa, 16558 }, /* hebrew_taw */
+    { 0x00000ce8, 16569 }, /* hebrew_tet */
+    { 0x00000ce8, 16580 }, /* hebrew_teth */
+    { 0x00000ce5, 16592 }, /* hebrew_waw */
+    { 0x00000ce9, 16603 }, /* hebrew_yod */
+    { 0x00000cf6, 16614 }, /* hebrew_zade */
+    { 0x00000cf6, 16626 }, /* hebrew_zadi */
+    { 0x00000ce6, 16638 }, /* hebrew_zain */
+    { 0x00000ce6, 16650 }, /* hebrew_zayin */
+    { 0x0000ff6a, 16663 }, /* Help */
+    { 0x0000ff23, 16668 }, /* Henkan */
+    { 0x0000ff23, 16675 }, /* Henkan_Mode */
+    { 0x00000ada, 16687 }, /* hexagram */
+    { 0x0000ff25, 16696 }, /* Hiragana */
+    { 0x0000ff27, 16705 }, /* Hiragana_Katakana */
+    { 0x0000ff50, 16723 }, /* Home */
+    { 0x000008a3, 16728 }, /* horizconnector */
+    { 0x000009ef, 16743 }, /* horizlinescan1 */
+    { 0x000009f0, 16758 }, /* horizlinescan3 */
+    { 0x000009f1, 16773 }, /* horizlinescan5 */
+    { 0x000009f2, 16788 }, /* horizlinescan7 */
+    { 0x000009f3, 16803 }, /* horizlinescan9 */
+    { 0x1000ff74, 16818 }, /* hpBackTab */
+    { 0x100000fc, 16828 }, /* hpblock */
+    { 0x1000ff6f, 16836 }, /* hpClearLine */
+    { 0x1000ff73, 16848 }, /* hpDeleteChar */
+    { 0x1000ff71, 16861 }, /* hpDeleteLine */
+    { 0x100000be, 16874 }, /* hpguilder */
+    { 0x1000ff72, 16884 }, /* hpInsertChar */
+    { 0x1000ff70, 16897 }, /* hpInsertLine */
+    { 0x100000ee, 16910 }, /* hpIO */
+    { 0x1000ff75, 16915 }, /* hpKP_BackTab */
+    { 0x100000af, 16928 }, /* hplira */
+    { 0x100000f6, 16935 }, /* hplongminus */
+    { 0x1000ff48, 16947 }, /* hpModelock1 */
+    { 0x1000ff49, 16959 }, /* hpModelock2 */
+    { 0x100000a8, 16971 }, /* hpmute_acute */
+    { 0x100000aa, 16984 }, /* hpmute_asciicircum */
+    { 0x100000ac, 17003 }, /* hpmute_asciitilde */
+    { 0x100000ab, 17021 }, /* hpmute_diaeresis */
+    { 0x100000a9, 17038 }, /* hpmute_grave */
+    { 0x1000ff6c, 17051 }, /* hpReset */
+    { 0x1000ff6d, 17059 }, /* hpSystem */
+    { 0x1000ff6e, 17068 }, /* hpUser */
+    { 0x000002a1, 17075 }, /* Hstroke */
+    { 0x000002b1, 17083 }, /* hstroke */
+    { 0x000009e2, 17091 }, /* ht */
+    { 0x0000ffed, 17094 }, /* Hyper_L */
+    { 0x0000ffee, 17102 }, /* Hyper_R */
+    { 0x000000ad, 17110 }, /* hyphen */
+    { 0x00000049, 17117 }, /* I */
+    { 0x00000069, 17119 }, /* i */
+    { 0x000002a9, 17121 }, /* Iabovedot */
+    { 0x000000cd, 17131 }, /* Iacute */
+    { 0x000000ed, 17138 }, /* iacute */
+    { 0x01001eca, 17145 }, /* Ibelowdot */
+    { 0x01001ecb, 17155 }, /* ibelowdot */
+    { 0x0100012c, 17165 }, /* Ibreve */
+    { 0x0100012d, 17172 }, /* ibreve */
+    { 0x000000ce, 17179 }, /* Icircumflex */
+    { 0x000000ee, 17191 }, /* icircumflex */
+    { 0x000008cf, 17203 }, /* identical */
+    { 0x000000cf, 17213 }, /* Idiaeresis */
+    { 0x000000ef, 17224 }, /* idiaeresis */
+    { 0x000002b9, 17235 }, /* idotless */
+    { 0x000008cd, 17244 }, /* ifonlyif */
+    { 0x000000cc, 17253 }, /* Igrave */
+    { 0x000000ec, 17260 }, /* igrave */
+    { 0x01001ec8, 17267 }, /* Ihook */
+    { 0x01001ec9, 17273 }, /* ihook */
+    { 0x000003cf, 17279 }, /* Imacron */
+    { 0x000003ef, 17287 }, /* imacron */
+    { 0x000008ce, 17295 }, /* implies */
+    { 0x000008da, 17303 }, /* includedin */
+    { 0x000008db, 17314 }, /* includes */
+    { 0x000008c2, 17323 }, /* infinity */
+    { 0x0000ff63, 17332 }, /* Insert */
+    { 0x1000ff72, 17339 }, /* InsertChar */
+    { 0x1000ff70, 17350 }, /* InsertLine */
+    { 0x000008bf, 17361 }, /* integral */
+    { 0x000008dc, 17370 }, /* intersection */
+    { 0x100000ee, 17383 }, /* IO */
+    { 0x000003c7, 17386 }, /* Iogonek */
+    { 0x000003e7, 17394 }, /* iogonek */
+    { 0x0000fe33, 17402 }, /* ISO_Center_Object */
+    { 0x0000fe30, 17420 }, /* ISO_Continuous_Underline */
+    { 0x0000fe31, 17445 }, /* ISO_Discontinuous_Underline */
+    { 0x0000fe32, 17473 }, /* ISO_Emphasize */
+    { 0x0000fe34, 17487 }, /* ISO_Enter */
+    { 0x0000fe2f, 17497 }, /* ISO_Fast_Cursor_Down */
+    { 0x0000fe2c, 17518 }, /* ISO_Fast_Cursor_Left */
+    { 0x0000fe2d, 17539 }, /* ISO_Fast_Cursor_Right */
+    { 0x0000fe2e, 17561 }, /* ISO_Fast_Cursor_Up */
+    { 0x0000fe0c, 17580 }, /* ISO_First_Group */
+    { 0x0000fe0d, 17596 }, /* ISO_First_Group_Lock */
+    { 0x0000fe06, 17617 }, /* ISO_Group_Latch */
+    { 0x0000fe07, 17633 }, /* ISO_Group_Lock */
+    { 0x0000ff7e, 17648 }, /* ISO_Group_Shift */
+    { 0x0000fe0e, 17664 }, /* ISO_Last_Group */
+    { 0x0000fe0f, 17679 }, /* ISO_Last_Group_Lock */
+    { 0x0000fe20, 17699 }, /* ISO_Left_Tab */
+    { 0x0000fe02, 17712 }, /* ISO_Level2_Latch */
+    { 0x0000fe04, 17729 }, /* ISO_Level3_Latch */
+    { 0x0000fe05, 17746 }, /* ISO_Level3_Lock */
+    { 0x0000fe03, 17762 }, /* ISO_Level3_Shift */
+    { 0x0000fe12, 17779 }, /* ISO_Level5_Latch */
+    { 0x0000fe13, 17796 }, /* ISO_Level5_Lock */
+    { 0x0000fe11, 17812 }, /* ISO_Level5_Shift */
+    { 0x0000fe01, 17829 }, /* ISO_Lock */
+    { 0x0000fe22, 17838 }, /* ISO_Move_Line_Down */
+    { 0x0000fe21, 17857 }, /* ISO_Move_Line_Up */
+    { 0x0000fe08, 17874 }, /* ISO_Next_Group */
+    { 0x0000fe09, 17889 }, /* ISO_Next_Group_Lock */
+    { 0x0000fe24, 17909 }, /* ISO_Partial_Line_Down */
+    { 0x0000fe23, 17931 }, /* ISO_Partial_Line_Up */
+    { 0x0000fe25, 17951 }, /* ISO_Partial_Space_Left */
+    { 0x0000fe26, 17974 }, /* ISO_Partial_Space_Right */
+    { 0x0000fe0a, 17998 }, /* ISO_Prev_Group */
+    { 0x0000fe0b, 18013 }, /* ISO_Prev_Group_Lock */
+    { 0x0000fe2b, 18033 }, /* ISO_Release_Both_Margins */
+    { 0x0000fe29, 18058 }, /* ISO_Release_Margin_Left */
+    { 0x0000fe2a, 18082 }, /* ISO_Release_Margin_Right */
+    { 0x0000fe27, 18107 }, /* ISO_Set_Margin_Left */
+    { 0x0000fe28, 18127 }, /* ISO_Set_Margin_Right */
+    { 0x000003a5, 18148 }, /* Itilde */
+    { 0x000003b5, 18155 }, /* itilde */
+    { 0x0000004a, 18162 }, /* J */
+    { 0x0000006a, 18164 }, /* j */
+    { 0x000002ac, 18166 }, /* Jcircumflex */
+    { 0x000002bc, 18178 }, /* jcircumflex */
+    { 0x00000bca, 18190 }, /* jot */
+    { 0x0000004b, 18194 }, /* K */
+    { 0x0000006b, 18196 }, /* k */
+    { 0x000004a7, 18198 }, /* kana_a */
+    { 0x000004b1, 18205 }, /* kana_A */
+    { 0x000004c1, 18212 }, /* kana_CHI */
+    { 0x000004a3, 18221 }, /* kana_closingbracket */
+    { 0x000004a4, 18241 }, /* kana_comma */
+    { 0x000004a5, 18252 }, /* kana_conjunctive */
+    { 0x000004aa, 18269 }, /* kana_e */
+    { 0x000004b4, 18276 }, /* kana_E */
+    { 0x000004cc, 18283 }, /* kana_FU */
+    { 0x000004a1, 18291 }, /* kana_fullstop */
+    { 0x000004ca, 18305 }, /* kana_HA */
+    { 0x000004cd, 18313 }, /* kana_HE */
+    { 0x000004cb, 18321 }, /* kana_HI */
+    { 0x000004ce, 18329 }, /* kana_HO */
+    { 0x000004cc, 18337 }, /* kana_HU */
+    { 0x000004a8, 18345 }, /* kana_i */
+    { 0x000004b2, 18352 }, /* kana_I */
+    { 0x000004b6, 18359 }, /* kana_KA */
+    { 0x000004b9, 18367 }, /* kana_KE */
+    { 0x000004b7, 18375 }, /* kana_KI */
+    { 0x000004ba, 18383 }, /* kana_KO */
+    { 0x000004b8, 18391 }, /* kana_KU */
+    { 0x0000ff2d, 18399 }, /* Kana_Lock */
+    { 0x000004cf, 18409 }, /* kana_MA */
+    { 0x000004d2, 18417 }, /* kana_ME */
+    { 0x000004d0, 18425 }, /* kana_MI */
+    { 0x000004a5, 18433 }, /* kana_middledot */
+    { 0x000004d3, 18448 }, /* kana_MO */
+    { 0x000004d1, 18456 }, /* kana_MU */
+    { 0x000004dd, 18464 }, /* kana_N */
+    { 0x000004c5, 18471 }, /* kana_NA */
+    { 0x000004c8, 18479 }, /* kana_NE */
+    { 0x000004c6, 18487 }, /* kana_NI */
+    { 0x000004c9, 18495 }, /* kana_NO */
+    { 0x000004c7, 18503 }, /* kana_NU */
+    { 0x000004ab, 18511 }, /* kana_o */
+    { 0x000004b5, 18518 }, /* kana_O */
+    { 0x000004a2, 18525 }, /* kana_openingbracket */
+    { 0x000004d7, 18545 }, /* kana_RA */
+    { 0x000004da, 18553 }, /* kana_RE */
+    { 0x000004d8, 18561 }, /* kana_RI */
+    { 0x000004db, 18569 }, /* kana_RO */
+    { 0x000004d9, 18577 }, /* kana_RU */
+    { 0x000004bb, 18585 }, /* kana_SA */
+    { 0x000004be, 18593 }, /* kana_SE */
+    { 0x000004bc, 18601 }, /* kana_SHI */
+    { 0x0000ff2e, 18610 }, /* Kana_Shift */
+    { 0x000004bf, 18621 }, /* kana_SO */
+    { 0x000004bd, 18629 }, /* kana_SU */
+    { 0x0000ff7e, 18637 }, /* kana_switch */
+    { 0x000004c0, 18649 }, /* kana_TA */
+    { 0x000004c3, 18657 }, /* kana_TE */
+    { 0x000004c1, 18665 }, /* kana_TI */
+    { 0x000004c4, 18673 }, /* kana_TO */
+    { 0x000004af, 18681 }, /* kana_tsu */
+    { 0x000004c2, 18690 }, /* kana_TSU */
+    { 0x000004af, 18699 }, /* kana_tu */
+    { 0x000004c2, 18707 }, /* kana_TU */
+    { 0x000004a9, 18715 }, /* kana_u */
+    { 0x000004b3, 18722 }, /* kana_U */
+    { 0x000004dc, 18729 }, /* kana_WA */
+    { 0x000004a6, 18737 }, /* kana_WO */
+    { 0x000004ac, 18745 }, /* kana_ya */
+    { 0x000004d4, 18753 }, /* kana_YA */
+    { 0x000004ae, 18761 }, /* kana_yo */
+    { 0x000004d6, 18769 }, /* kana_YO */
+    { 0x000004ad, 18777 }, /* kana_yu */
+    { 0x000004d5, 18785 }, /* kana_YU */
+    { 0x0000ff21, 18793 }, /* Kanji */
+    { 0x0000ff37, 18799 }, /* Kanji_Bangou */
+    { 0x000003a2, 18812 }, /* kappa */
+    { 0x0000ff26, 18818 }, /* Katakana */
+    { 0x000003d3, 18827 }, /* Kcedilla */
+    { 0x000003f3, 18836 }, /* kcedilla */
+    { 0x00000eff, 18845 }, /* Korean_Won */
+    { 0x0000ffb0, 18856 }, /* KP_0 */
+    { 0x0000ffb1, 18861 }, /* KP_1 */
+    { 0x0000ffb2, 18866 }, /* KP_2 */
+    { 0x0000ffb3, 18871 }, /* KP_3 */
+    { 0x0000ffb4, 18876 }, /* KP_4 */
+    { 0x0000ffb5, 18881 }, /* KP_5 */
+    { 0x0000ffb6, 18886 }, /* KP_6 */
+    { 0x0000ffb7, 18891 }, /* KP_7 */
+    { 0x0000ffb8, 18896 }, /* KP_8 */
+    { 0x0000ffb9, 18901 }, /* KP_9 */
+    { 0x0000ffab, 18906 }, /* KP_Add */
+    { 0x1000ff75, 18913 }, /* KP_BackTab */
+    { 0x0000ff9d, 18924 }, /* KP_Begin */
+    { 0x0000ffae, 18933 }, /* KP_Decimal */
+    { 0x0000ff9f, 18944 }, /* KP_Delete */
+    { 0x0000ffaf, 18954 }, /* KP_Divide */
+    { 0x0000ff99, 18964 }, /* KP_Down */
+    { 0x0000ff9c, 18972 }, /* KP_End */
+    { 0x0000ff8d, 18979 }, /* KP_Enter */
+    { 0x0000ffbd, 18988 }, /* KP_Equal */
+    { 0x0000ff91, 18997 }, /* KP_F1 */
+    { 0x0000ff92, 19003 }, /* KP_F2 */
+    { 0x0000ff93, 19009 }, /* KP_F3 */
+    { 0x0000ff94, 19015 }, /* KP_F4 */
+    { 0x0000ff95, 19021 }, /* KP_Home */
+    { 0x0000ff9e, 19029 }, /* KP_Insert */
+    { 0x0000ff96, 19039 }, /* KP_Left */
+    { 0x0000ffaa, 19047 }, /* KP_Multiply */
+    { 0x0000ff9b, 19059 }, /* KP_Next */
+    { 0x0000ff9b, 19067 }, /* KP_Page_Down */
+    { 0x0000ff9a, 19080 }, /* KP_Page_Up */
+    { 0x0000ff9a, 19091 }, /* KP_Prior */
+    { 0x0000ff98, 19100 }, /* KP_Right */
+    { 0x0000ffac, 19109 }, /* KP_Separator */
+    { 0x0000ff80, 19122 }, /* KP_Space */
+    { 0x0000ffad, 19131 }, /* KP_Subtract */
+    { 0x0000ff89, 19143 }, /* KP_Tab */
+    { 0x0000ff97, 19150 }, /* KP_Up */
+    { 0x000003a2, 19156 }, /* kra */
+    { 0x0000004c, 19160 }, /* L */
+    { 0x0000006c, 19162 }, /* l */
+    { 0x0000ffc8, 19164 }, /* L1 */
+    { 0x0000ffd1, 19167 }, /* L10 */
+    { 0x0000ffc9, 19171 }, /* L2 */
+    { 0x0000ffca, 19174 }, /* L3 */
+    { 0x0000ffcb, 19177 }, /* L4 */
+    { 0x0000ffcc, 19180 }, /* L5 */
+    { 0x0000ffcd, 19183 }, /* L6 */
+    { 0x0000ffce, 19186 }, /* L7 */
+    { 0x0000ffcf, 19189 }, /* L8 */
+    { 0x0000ffd0, 19192 }, /* L9 */
+    { 0x000001c5, 19195 }, /* Lacute */
+    { 0x000001e5, 19202 }, /* lacute */
+    { 0x0000fed4, 19209 }, /* Last_Virtual_Screen */
+    { 0x00000ad9, 19229 }, /* latincross */
+    { 0x01001e36, 19240 }, /* Lbelowdot */
+    { 0x01001e37, 19250 }, /* lbelowdot */
+    { 0x000001a5, 19260 }, /* Lcaron */
+    { 0x000001b5, 19267 }, /* lcaron */
+    { 0x000003a6, 19274 }, /* Lcedilla */
+    { 0x000003b6, 19283 }, /* lcedilla */
+    { 0x0000ff51, 19292 }, /* Left */
+    { 0x00000abc, 19297 }, /* leftanglebracket */
+    { 0x000008fb, 19314 }, /* leftarrow */
+    { 0x00000ba3, 19324 }, /* leftcaret */
+    { 0x00000ad2, 19334 }, /* leftdoublequotemark */
+    { 0x000008af, 19354 }, /* leftmiddlecurlybrace */
+    { 0x00000acc, 19375 }, /* leftopentriangle */
+    { 0x00000aea, 19392 }, /* leftpointer */
+    { 0x000008a1, 19404 }, /* leftradical */
+    { 0x00000bda, 19416 }, /* leftshoe */
+    { 0x00000ad0, 19425 }, /* leftsinglequotemark */
+    { 0x000009f4, 19445 }, /* leftt */
+    { 0x00000bdc, 19451 }, /* lefttack */
+    { 0x0000003c, 19460 }, /* less */
+    { 0x000008bc, 19465 }, /* lessthanequal */
+    { 0x000009e5, 19479 }, /* lf */
+    { 0x0000ff0a, 19482 }, /* Linefeed */
+    { 0x100000af, 19491 }, /* lira */
+    { 0x010020a4, 19496 }, /* LiraSign */
+    { 0x000008de, 19505 }, /* logicaland */
+    { 0x000008df, 19516 }, /* logicalor */
+    { 0x100000f6, 19526 }, /* longminus */
+    { 0x000009ed, 19536 }, /* lowleftcorner */
+    { 0x000009ea, 19550 }, /* lowrightcorner */
+    { 0x000001a3, 19565 }, /* Lstroke */
+    { 0x000001b3, 19573 }, /* lstroke */
+    { 0x0000004d, 19581 }, /* M */
+    { 0x0000006d, 19583 }, /* m */
+    { 0x01001e40, 19585 }, /* Mabovedot */
+    { 0x01001e41, 19595 }, /* mabovedot */
+    { 0x000006a5, 19605 }, /* Macedonia_dse */
+    { 0x000006b5, 19619 }, /* Macedonia_DSE */
+    { 0x000006a2, 19633 }, /* Macedonia_gje */
+    { 0x000006b2, 19647 }, /* Macedonia_GJE */
+    { 0x000006ac, 19661 }, /* Macedonia_kje */
+    { 0x000006bc, 19675 }, /* Macedonia_KJE */
+    { 0x000000af, 19689 }, /* macron */
+    { 0x0000ff3e, 19696 }, /* Mae_Koho */
+    { 0x00000af7, 19705 }, /* malesymbol */
+    { 0x00000af0, 19716 }, /* maltesecross */
+    { 0x00000abf, 19729 }, /* marker */
+    { 0x000000ba, 19736 }, /* masculine */
+    { 0x0000ff2c, 19746 }, /* Massyo */
+    { 0x0000ff67, 19753 }, /* Menu */
+    { 0x0000ffe7, 19758 }, /* Meta_L */
+    { 0x0000ffe8, 19765 }, /* Meta_R */
+    { 0x010020a5, 19772 }, /* MillSign */
+    { 0x0000002d, 19781 }, /* minus */
+    { 0x00000ad6, 19787 }, /* minutes */
+    { 0x0000ff7e, 19795 }, /* Mode_switch */
+    { 0x0000fe77, 19807 }, /* MouseKeys_Accel_Enable */
+    { 0x0000fe76, 19830 }, /* MouseKeys_Enable */
+    { 0x000000b5, 19847 }, /* mu */
+    { 0x0000ff22, 19850 }, /* Muhenkan */
+    { 0x0000ff20, 19859 }, /* Multi_key */
+    { 0x0000ff3d, 19869 }, /* MultipleCandidate */
+    { 0x000000d7, 19887 }, /* multiply */
+    { 0x00000af6, 19896 }, /* musicalflat */
+    { 0x00000af5, 19908 }, /* musicalsharp */
+    { 0x100000a8, 19921 }, /* mute_acute */
+    { 0x100000aa, 19932 }, /* mute_asciicircum */
+    { 0x100000ac, 19949 }, /* mute_asciitilde */
+    { 0x100000ab, 19965 }, /* mute_diaeresis */
+    { 0x100000a9, 19980 }, /* mute_grave */
+    { 0x0000004e, 19991 }, /* N */
+    { 0x0000006e, 19993 }, /* n */
+    { 0x000008c5, 19995 }, /* nabla */
+    { 0x000001d1, 20001 }, /* Nacute */
+    { 0x000001f1, 20008 }, /* nacute */
+    { 0x010020a6, 20015 }, /* NairaSign */
+    { 0x000001d2, 20025 }, /* Ncaron */
+    { 0x000001f2, 20032 }, /* ncaron */
+    { 0x000003d1, 20039 }, /* Ncedilla */
+    { 0x000003f1, 20048 }, /* ncedilla */
+    { 0x010020aa, 20057 }, /* NewSheqelSign */
+    { 0x0000ff56, 20071 }, /* Next */
+    { 0x0000fed2, 20076 }, /* Next_Virtual_Screen */
+    { 0x01002089, 20096 }, /* ninesubscript */
+    { 0x01002079, 20110 }, /* ninesuperior */
+    { 0x000009e8, 20123 }, /* nl */
+    { 0x000000a0, 20126 }, /* nobreakspace */
+    { 0x00000000, 20139 }, /* NoSymbol */
+    { 0x01002247, 20148 }, /* notapproxeq */
+    { 0x01002209, 20160 }, /* notelementof */
+    { 0x000008bd, 20173 }, /* notequal */
+    { 0x01002262, 20182 }, /* notidentical */
+    { 0x000000ac, 20195 }, /* notsign */
+    { 0x000000d1, 20203 }, /* Ntilde */
+    { 0x000000f1, 20210 }, /* ntilde */
+    { 0x0000ff7f, 20217 }, /* Num_Lock */
+    { 0x00000023, 20226 }, /* numbersign */
+    { 0x000006b0, 20237 }, /* numerosign */
+    { 0x0000004f, 20248 }, /* O */
+    { 0x0000006f, 20250 }, /* o */
+    { 0x000000d3, 20252 }, /* Oacute */
+    { 0x000000f3, 20259 }, /* oacute */
+    { 0x0100019f, 20266 }, /* Obarred */
+    { 0x01000275, 20274 }, /* obarred */
+    { 0x01001ecc, 20282 }, /* Obelowdot */
+    { 0x01001ecd, 20292 }, /* obelowdot */
+    { 0x010001d1, 20302 }, /* Ocaron */
+    { 0x010001d2, 20309 }, /* ocaron */
+    { 0x000000d4, 20316 }, /* Ocircumflex */
+    { 0x000000f4, 20328 }, /* ocircumflex */
+    { 0x01001ed0, 20340 }, /* Ocircumflexacute */
+    { 0x01001ed1, 20357 }, /* ocircumflexacute */
+    { 0x01001ed8, 20374 }, /* Ocircumflexbelowdot */
+    { 0x01001ed9, 20394 }, /* ocircumflexbelowdot */
+    { 0x01001ed2, 20414 }, /* Ocircumflexgrave */
+    { 0x01001ed3, 20431 }, /* ocircumflexgrave */
+    { 0x01001ed4, 20448 }, /* Ocircumflexhook */
+    { 0x01001ed5, 20464 }, /* ocircumflexhook */
+    { 0x01001ed6, 20480 }, /* Ocircumflextilde */
+    { 0x01001ed7, 20497 }, /* ocircumflextilde */
+    { 0x000000d6, 20514 }, /* Odiaeresis */
+    { 0x000000f6, 20525 }, /* odiaeresis */
+    { 0x000001d5, 20536 }, /* Odoubleacute */
+    { 0x000001f5, 20549 }, /* odoubleacute */
+    { 0x000013bc, 20562 }, /* OE */
+    { 0x000013bd, 20565 }, /* oe */
+    { 0x000001b2, 20568 }, /* ogonek */
+    { 0x000000d2, 20575 }, /* Ograve */
+    { 0x000000f2, 20582 }, /* ograve */
+    { 0x01001ece, 20589 }, /* Ohook */
+    { 0x01001ecf, 20595 }, /* ohook */
+    { 0x010001a0, 20601 }, /* Ohorn */
+    { 0x010001a1, 20607 }, /* ohorn */
+    { 0x01001eda, 20613 }, /* Ohornacute */
+    { 0x01001edb, 20624 }, /* ohornacute */
+    { 0x01001ee2, 20635 }, /* Ohornbelowdot */
+    { 0x01001ee3, 20649 }, /* ohornbelowdot */
+    { 0x01001edc, 20663 }, /* Ohorngrave */
+    { 0x01001edd, 20674 }, /* ohorngrave */
+    { 0x01001ede, 20685 }, /* Ohornhook */
+    { 0x01001edf, 20695 }, /* ohornhook */
+    { 0x01001ee0, 20705 }, /* Ohorntilde */
+    { 0x01001ee1, 20716 }, /* ohorntilde */
+    { 0x000003d2, 20727 }, /* Omacron */
+    { 0x000003f2, 20735 }, /* omacron */
+    { 0x00000ac3, 20743 }, /* oneeighth */
+    { 0x00000ab2, 20753 }, /* onefifth */
+    { 0x000000bd, 20762 }, /* onehalf */
+    { 0x000000bc, 20770 }, /* onequarter */
+    { 0x00000ab6, 20781 }, /* onesixth */
+    { 0x01002081, 20790 }, /* onesubscript */
+    { 0x000000b9, 20803 }, /* onesuperior */
+    { 0x00000ab0, 20815 }, /* onethird */
+    { 0x000000d8, 20824 }, /* Ooblique */
+    { 0x000000f8, 20833 }, /* ooblique */
+    { 0x00000ae2, 20842 }, /* openrectbullet */
+    { 0x00000ae5, 20857 }, /* openstar */
+    { 0x00000ae4, 20866 }, /* opentribulletdown */
+    { 0x00000ae3, 20884 }, /* opentribulletup */
+    { 0x000000aa, 20900 }, /* ordfeminine */
+    { 0x000000ba, 20912 }, /* ordmasculine */
+    { 0x1004ff44, 20925 }, /* osfActivate */
+    { 0x1004ff31, 20937 }, /* osfAddMode */
+    { 0x1004ff08, 20948 }, /* osfBackSpace */
+    { 0x1004ff07, 20961 }, /* osfBackTab */
+    { 0x1004ff5a, 20972 }, /* osfBeginData */
+    { 0x1004ff58, 20985 }, /* osfBeginLine */
+    { 0x1004ff69, 20998 }, /* osfCancel */
+    { 0x1004ff0b, 21008 }, /* osfClear */
+    { 0x1004ff02, 21017 }, /* osfCopy */
+    { 0x1004ff03, 21025 }, /* osfCut */
+    { 0x1004ffff, 21032 }, /* osfDelete */
+    { 0x1004ff72, 21042 }, /* osfDeselectAll */
+    { 0x1004ff54, 21057 }, /* osfDown */
+    { 0x1004ff59, 21065 }, /* osfEndData */
+    { 0x1004ff57, 21076 }, /* osfEndLine */
+    { 0x1004ff1b, 21087 }, /* osfEscape */
+    { 0x1004ff74, 21097 }, /* osfExtend */
+    { 0x1004ff6a, 21107 }, /* osfHelp */
+    { 0x1004ff63, 21115 }, /* osfInsert */
+    { 0x1004ff51, 21125 }, /* osfLeft */
+    { 0x1004ff67, 21133 }, /* osfMenu */
+    { 0x1004ff45, 21141 }, /* osfMenuBar */
+    { 0x1004ff5e, 21152 }, /* osfNextField */
+    { 0x1004ff5c, 21165 }, /* osfNextMenu */
+    { 0x1004ff42, 21177 }, /* osfPageDown */
+    { 0x1004ff40, 21189 }, /* osfPageLeft */
+    { 0x1004ff43, 21201 }, /* osfPageRight */
+    { 0x1004ff41, 21214 }, /* osfPageUp */
+    { 0x1004ff04, 21224 }, /* osfPaste */
+    { 0x1004ff5d, 21233 }, /* osfPrevField */
+    { 0x1004ff5b, 21246 }, /* osfPrevMenu */
+    { 0x1004ff32, 21258 }, /* osfPrimaryPaste */
+    { 0x1004ff33, 21274 }, /* osfQuickPaste */
+    { 0x1004ff73, 21288 }, /* osfReselect */
+    { 0x1004ff78, 21300 }, /* osfRestore */
+    { 0x1004ff53, 21311 }, /* osfRight */
+    { 0x1004ff60, 21320 }, /* osfSelect */
+    { 0x1004ff71, 21330 }, /* osfSelectAll */
+    { 0x1004ff65, 21343 }, /* osfUndo */
+    { 0x1004ff52, 21351 }, /* osfUp */
+    { 0x000000d8, 21357 }, /* Oslash */
+    { 0x000000f8, 21364 }, /* oslash */
+    { 0x000000d5, 21371 }, /* Otilde */
+    { 0x000000f5, 21378 }, /* otilde */
+    { 0x00000bc0, 21385 }, /* overbar */
+    { 0x0000fe78, 21393 }, /* Overlay1_Enable */
+    { 0x0000fe79, 21409 }, /* Overlay2_Enable */
+    { 0x0000047e, 21425 }, /* overline */
+    { 0x00000050, 21434 }, /* P */
+    { 0x00000070, 21436 }, /* p */
+    { 0x01001e56, 21438 }, /* Pabovedot */
+    { 0x01001e57, 21448 }, /* pabovedot */
+    { 0x0000ff56, 21458 }, /* Page_Down */
+    { 0x0000ff55, 21468 }, /* Page_Up */
+    { 0x000000b6, 21476 }, /* paragraph */
+    { 0x00000028, 21486 }, /* parenleft */
+    { 0x00000029, 21496 }, /* parenright */
+    { 0x01002202, 21507 }, /* partdifferential */
+    { 0x000008ef, 21524 }, /* partialderivative */
+    { 0x0000ff13, 21542 }, /* Pause */
+    { 0x00000025, 21548 }, /* percent */
+    { 0x0000002e, 21556 }, /* period */
+    { 0x000000b7, 21563 }, /* periodcentered */
+    { 0x00000ad5, 21578 }, /* permille */
+    { 0x010020a7, 21587 }, /* PesetaSign */
+    { 0x00000afb, 21598 }, /* phonographcopyright */
+    { 0x0000002b, 21618 }, /* plus */
+    { 0x000000b1, 21623 }, /* plusminus */
+    { 0x0000fefa, 21633 }, /* Pointer_Accelerate */
+    { 0x0000fee9, 21652 }, /* Pointer_Button1 */
+    { 0x0000feea, 21668 }, /* Pointer_Button2 */
+    { 0x0000feeb, 21684 }, /* Pointer_Button3 */
+    { 0x0000feec, 21700 }, /* Pointer_Button4 */
+    { 0x0000feed, 21716 }, /* Pointer_Button5 */
+    { 0x0000fee8, 21732 }, /* Pointer_Button_Dflt */
+    { 0x0000feef, 21752 }, /* Pointer_DblClick1 */
+    { 0x0000fef0, 21770 }, /* Pointer_DblClick2 */
+    { 0x0000fef1, 21788 }, /* Pointer_DblClick3 */
+    { 0x0000fef2, 21806 }, /* Pointer_DblClick4 */
+    { 0x0000fef3, 21824 }, /* Pointer_DblClick5 */
+    { 0x0000feee, 21842 }, /* Pointer_DblClick_Dflt */
+    { 0x0000fefb, 21864 }, /* Pointer_DfltBtnNext */
+    { 0x0000fefc, 21884 }, /* Pointer_DfltBtnPrev */
+    { 0x0000fee3, 21904 }, /* Pointer_Down */
+    { 0x0000fee6, 21917 }, /* Pointer_DownLeft */
+    { 0x0000fee7, 21934 }, /* Pointer_DownRight */
+    { 0x0000fef5, 21952 }, /* Pointer_Drag1 */
+    { 0x0000fef6, 21966 }, /* Pointer_Drag2 */
+    { 0x0000fef7, 21980 }, /* Pointer_Drag3 */
+    { 0x0000fef8, 21994 }, /* Pointer_Drag4 */
+    { 0x0000fefd, 22008 }, /* Pointer_Drag5 */
+    { 0x0000fef4, 22022 }, /* Pointer_Drag_Dflt */
+    { 0x0000fef9, 22040 }, /* Pointer_EnableKeys */
+    { 0x0000fee0, 22059 }, /* Pointer_Left */
+    { 0x0000fee1, 22072 }, /* Pointer_Right */
+    { 0x0000fee2, 22086 }, /* Pointer_Up */
+    { 0x0000fee4, 22097 }, /* Pointer_UpLeft */
+    { 0x0000fee5, 22112 }, /* Pointer_UpRight */
+    { 0x00000ad4, 22128 }, /* prescription */
+    { 0x0000fed1, 22141 }, /* Prev_Virtual_Screen */
+    { 0x0000ff3e, 22161 }, /* PreviousCandidate */
+    { 0x0000ff61, 22179 }, /* Print */
+    { 0x0000ff55, 22185 }, /* Prior */
+    { 0x000004b0, 22191 }, /* prolongedsound */
+    { 0x00000aa6, 22206 }, /* punctspace */
+    { 0x00000051, 22217 }, /* Q */
+    { 0x00000071, 22219 }, /* q */
+    { 0x00000bcc, 22221 }, /* quad */
+    { 0x0000003f, 22226 }, /* question */
+    { 0x000000bf, 22235 }, /* questiondown */
+    { 0x00000022, 22248 }, /* quotedbl */
+    { 0x00000060, 22257 }, /* quoteleft */
+    { 0x00000027, 22267 }, /* quoteright */
+    { 0x00000052, 22278 }, /* R */
+    { 0x00000072, 22280 }, /* r */
+    { 0x0000ffd2, 22282 }, /* R1 */
+    { 0x0000ffdb, 22285 }, /* R10 */
+    { 0x0000ffdc, 22289 }, /* R11 */
+    { 0x0000ffdd, 22293 }, /* R12 */
+    { 0x0000ffde, 22297 }, /* R13 */
+    { 0x0000ffdf, 22301 }, /* R14 */
+    { 0x0000ffe0, 22305 }, /* R15 */
+    { 0x0000ffd3, 22309 }, /* R2 */
+    { 0x0000ffd4, 22312 }, /* R3 */
+    { 0x0000ffd5, 22315 }, /* R4 */
+    { 0x0000ffd6, 22318 }, /* R5 */
+    { 0x0000ffd7, 22321 }, /* R6 */
+    { 0x0000ffd8, 22324 }, /* R7 */
+    { 0x0000ffd9, 22327 }, /* R8 */
+    { 0x0000ffda, 22330 }, /* R9 */
+    { 0x000001c0, 22333 }, /* Racute */
+    { 0x000001e0, 22340 }, /* racute */
+    { 0x000008d6, 22347 }, /* radical */
+    { 0x000001d8, 22355 }, /* Rcaron */
+    { 0x000001f8, 22362 }, /* rcaron */
+    { 0x000003a3, 22369 }, /* Rcedilla */
+    { 0x000003b3, 22378 }, /* rcedilla */
+    { 0x0000ff66, 22387 }, /* Redo */
+    { 0x000000ae, 22392 }, /* registered */
+    { 0x0000fe72, 22403 }, /* RepeatKeys_Enable */
+    { 0x1000ff6c, 22421 }, /* Reset */
+    { 0x0000ff0d, 22427 }, /* Return */
+    { 0x0000ff53, 22434 }, /* Right */
+    { 0x00000abe, 22440 }, /* rightanglebracket */
+    { 0x000008fd, 22458 }, /* rightarrow */
+    { 0x00000ba6, 22469 }, /* rightcaret */
+    { 0x00000ad3, 22480 }, /* rightdoublequotemark */
+    { 0x000008b0, 22501 }, /* rightmiddlecurlybrace */
+    { 0x000008b7, 22523 }, /* rightmiddlesummation */
+    { 0x00000acd, 22544 }, /* rightopentriangle */
+    { 0x00000aeb, 22562 }, /* rightpointer */
+    { 0x00000bd8, 22575 }, /* rightshoe */
+    { 0x00000ad1, 22585 }, /* rightsinglequotemark */
+    { 0x000009f5, 22606 }, /* rightt */
+    { 0x00000bfc, 22613 }, /* righttack */
+    { 0x0000ff24, 22623 }, /* Romaji */
+    { 0x010020a8, 22630 }, /* RupeeSign */
+    { 0x00000053, 22640 }, /* S */
+    { 0x00000073, 22642 }, /* s */
+    { 0x01001e60, 22644 }, /* Sabovedot */
+    { 0x01001e61, 22654 }, /* sabovedot */
+    { 0x000001a6, 22664 }, /* Sacute */
+    { 0x000001b6, 22671 }, /* sacute */
+    { 0x000001a9, 22678 }, /* Scaron */
+    { 0x000001b9, 22685 }, /* scaron */
+    { 0x000001aa, 22692 }, /* Scedilla */
+    { 0x000001ba, 22701 }, /* scedilla */
+    { 0x0100018f, 22710 }, /* SCHWA */
+    { 0x01000259, 22716 }, /* schwa */
+    { 0x000002de, 22722 }, /* Scircumflex */
+    { 0x000002fe, 22734 }, /* scircumflex */
+    { 0x0000ff7e, 22746 }, /* script_switch */
+    { 0x0000ff14, 22760 }, /* Scroll_Lock */
+    { 0x00000ad7, 22772 }, /* seconds */
+    { 0x000000a7, 22780 }, /* section */
+    { 0x0000ff60, 22788 }, /* Select */
+    { 0x0000003b, 22795 }, /* semicolon */
+    { 0x000004df, 22805 }, /* semivoicedsound */
+    { 0x000006a1, 22821 }, /* Serbian_dje */
+    { 0x000006b1, 22833 }, /* Serbian_DJE */
+    { 0x000006af, 22845 }, /* Serbian_dze */
+    { 0x000006bf, 22857 }, /* Serbian_DZE */
+    { 0x000006a8, 22869 }, /* Serbian_je */
+    { 0x000006b8, 22880 }, /* Serbian_JE */
+    { 0x000006a9, 22891 }, /* Serbian_lje */
+    { 0x000006b9, 22903 }, /* Serbian_LJE */
+    { 0x000006aa, 22915 }, /* Serbian_nje */
+    { 0x000006ba, 22927 }, /* Serbian_NJE */
+    { 0x000006ab, 22939 }, /* Serbian_tshe */
+    { 0x000006bb, 22952 }, /* Serbian_TSHE */
+    { 0x00000ac6, 22965 }, /* seveneighths */
+    { 0x01002087, 22978 }, /* sevensubscript */
+    { 0x01002077, 22993 }, /* sevensuperior */
+    { 0x0000ffe1, 23007 }, /* Shift_L */
+    { 0x0000ffe6, 23015 }, /* Shift_Lock */
+    { 0x0000ffe2, 23026 }, /* Shift_R */
+    { 0x00000aca, 23034 }, /* signaturemark */
+    { 0x00000aac, 23048 }, /* signifblank */
+    { 0x000008c9, 23060 }, /* similarequal */
+    { 0x0000ff3c, 23073 }, /* SingleCandidate */
+    { 0x00000afd, 23089 }, /* singlelowquotemark */
+    { 0x01000d85, 23108 }, /* Sinh_a */
+    { 0x01000d86, 23115 }, /* Sinh_aa */
+    { 0x01000dcf, 23123 }, /* Sinh_aa2 */
+    { 0x01000d87, 23132 }, /* Sinh_ae */
+    { 0x01000dd0, 23140 }, /* Sinh_ae2 */
+    { 0x01000d88, 23149 }, /* Sinh_aee */
+    { 0x01000dd1, 23158 }, /* Sinh_aee2 */
+    { 0x01000d93, 23168 }, /* Sinh_ai */
+    { 0x01000ddb, 23176 }, /* Sinh_ai2 */
+    { 0x01000dca, 23185 }, /* Sinh_al */
+    { 0x01000d96, 23193 }, /* Sinh_au */
+    { 0x01000dde, 23201 }, /* Sinh_au2 */
+    { 0x01000db6, 23210 }, /* Sinh_ba */
+    { 0x01000db7, 23218 }, /* Sinh_bha */
+    { 0x01000da0, 23227 }, /* Sinh_ca */
+    { 0x01000da1, 23235 }, /* Sinh_cha */
+    { 0x01000da9, 23244 }, /* Sinh_dda */
+    { 0x01000daa, 23253 }, /* Sinh_ddha */
+    { 0x01000daf, 23263 }, /* Sinh_dha */
+    { 0x01000db0, 23272 }, /* Sinh_dhha */
+    { 0x01000d91, 23282 }, /* Sinh_e */
+    { 0x01000dd9, 23289 }, /* Sinh_e2 */
+    { 0x01000d92, 23297 }, /* Sinh_ee */
+    { 0x01000dda, 23305 }, /* Sinh_ee2 */
+    { 0x01000dc6, 23314 }, /* Sinh_fa */
+    { 0x01000d9c, 23322 }, /* Sinh_ga */
+    { 0x01000d9d, 23330 }, /* Sinh_gha */
+    { 0x01000d83, 23339 }, /* Sinh_h2 */
+    { 0x01000dc4, 23347 }, /* Sinh_ha */
+    { 0x01000d89, 23355 }, /* Sinh_i */
+    { 0x01000dd2, 23362 }, /* Sinh_i2 */
+    { 0x01000d8a, 23370 }, /* Sinh_ii */
+    { 0x01000dd3, 23378 }, /* Sinh_ii2 */
+    { 0x01000da2, 23387 }, /* Sinh_ja */
+    { 0x01000da3, 23395 }, /* Sinh_jha */
+    { 0x01000da5, 23404 }, /* Sinh_jnya */
+    { 0x01000d9a, 23414 }, /* Sinh_ka */
+    { 0x01000d9b, 23422 }, /* Sinh_kha */
+    { 0x01000df4, 23431 }, /* Sinh_kunddaliya */
+    { 0x01000dbd, 23447 }, /* Sinh_la */
+    { 0x01000dc5, 23455 }, /* Sinh_lla */
+    { 0x01000d8f, 23464 }, /* Sinh_lu */
+    { 0x01000ddf, 23472 }, /* Sinh_lu2 */
+    { 0x01000d90, 23481 }, /* Sinh_luu */
+    { 0x01000df3, 23490 }, /* Sinh_luu2 */
+    { 0x01000db8, 23500 }, /* Sinh_ma */
+    { 0x01000db9, 23508 }, /* Sinh_mba */
+    { 0x01000db1, 23517 }, /* Sinh_na */
+    { 0x01000dac, 23525 }, /* Sinh_ndda */
+    { 0x01000db3, 23535 }, /* Sinh_ndha */
+    { 0x01000d82, 23545 }, /* Sinh_ng */
+    { 0x01000d9e, 23553 }, /* Sinh_ng2 */
+    { 0x01000d9f, 23562 }, /* Sinh_nga */
+    { 0x01000da6, 23571 }, /* Sinh_nja */
+    { 0x01000dab, 23580 }, /* Sinh_nna */
+    { 0x01000da4, 23589 }, /* Sinh_nya */
+    { 0x01000d94, 23598 }, /* Sinh_o */
+    { 0x01000ddc, 23605 }, /* Sinh_o2 */
+    { 0x01000d95, 23613 }, /* Sinh_oo */
+    { 0x01000ddd, 23621 }, /* Sinh_oo2 */
+    { 0x01000db4, 23630 }, /* Sinh_pa */
+    { 0x01000db5, 23638 }, /* Sinh_pha */
+    { 0x01000dbb, 23647 }, /* Sinh_ra */
+    { 0x01000d8d, 23655 }, /* Sinh_ri */
+    { 0x01000d8e, 23663 }, /* Sinh_rii */
+    { 0x01000dd8, 23672 }, /* Sinh_ru2 */
+    { 0x01000df2, 23681 }, /* Sinh_ruu2 */
+    { 0x01000dc3, 23691 }, /* Sinh_sa */
+    { 0x01000dc1, 23699 }, /* Sinh_sha */
+    { 0x01000dc2, 23708 }, /* Sinh_ssha */
+    { 0x01000dad, 23718 }, /* Sinh_tha */
+    { 0x01000dae, 23727 }, /* Sinh_thha */
+    { 0x01000da7, 23737 }, /* Sinh_tta */
+    { 0x01000da8, 23746 }, /* Sinh_ttha */
+    { 0x01000d8b, 23756 }, /* Sinh_u */
+    { 0x01000dd4, 23763 }, /* Sinh_u2 */
+    { 0x01000d8c, 23771 }, /* Sinh_uu */
+    { 0x01000dd6, 23779 }, /* Sinh_uu2 */
+    { 0x01000dc0, 23788 }, /* Sinh_va */
+    { 0x01000dba, 23796 }, /* Sinh_ya */
+    { 0x01002086, 23804 }, /* sixsubscript */
+    { 0x01002076, 23817 }, /* sixsuperior */
+    { 0x0000002f, 23829 }, /* slash */
+    { 0x0000fe73, 23835 }, /* SlowKeys_Enable */
+    { 0x000009e0, 23851 }, /* soliddiamond */
+    { 0x00000020, 23864 }, /* space */
+    { 0x0100221a, 23870 }, /* squareroot */
+    { 0x000000df, 23881 }, /* ssharp */
+    { 0x000000a3, 23888 }, /* sterling */
+    { 0x0000fe75, 23897 }, /* StickyKeys_Enable */
+    { 0x01002263, 23915 }, /* stricteq */
+    { 0x0000ff66, 23924 }, /* SunAgain */
+    { 0x0000ff7e, 23933 }, /* SunAltGraph */
+    { 0x1005ff77, 23945 }, /* SunAudioLowerVolume */
+    { 0x1005ff78, 23965 }, /* SunAudioMute */
+    { 0x1005ff79, 23978 }, /* SunAudioRaiseVolume */
+    { 0x0000ff20, 23998 }, /* SunCompose */
+    { 0x1005ff72, 24009 }, /* SunCopy */
+    { 0x1005ff75, 24017 }, /* SunCut */
+    { 0x1005ff10, 24024 }, /* SunF36 */
+    { 0x1005ff11, 24031 }, /* SunF37 */
+    { 0x1005ff03, 24038 }, /* SunFA_Acute */
+    { 0x1005ff05, 24050 }, /* SunFA_Cedilla */
+    { 0x1005ff01, 24064 }, /* SunFA_Circum */
+    { 0x1005ff04, 24077 }, /* SunFA_Diaeresis */
+    { 0x1005ff00, 24093 }, /* SunFA_Grave */
+    { 0x1005ff02, 24105 }, /* SunFA_Tilde */
+    { 0x0000ff68, 24117 }, /* SunFind */
+    { 0x1005ff71, 24125 }, /* SunFront */
+    { 0x1005ff73, 24134 }, /* SunOpen */
+    { 0x0000ff56, 24142 }, /* SunPageDown */
+    { 0x0000ff55, 24154 }, /* SunPageUp */
+    { 0x1005ff74, 24164 }, /* SunPaste */
+    { 0x1005ff76, 24173 }, /* SunPowerSwitch */
+    { 0x1005ff7d, 24188 }, /* SunPowerSwitchShift */
+    { 0x0000ff61, 24208 }, /* SunPrint_Screen */
+    { 0x1005ff70, 24224 }, /* SunProps */
+    { 0x0000ff69, 24233 }, /* SunStop */
+    { 0x1005ff60, 24241 }, /* SunSys_Req */
+    { 0x0000ff65, 24252 }, /* SunUndo */
+    { 0x1005ff7a, 24260 }, /* SunVideoDegauss */
+    { 0x1005ff7b, 24276 }, /* SunVideoLowerBrightness */
+    { 0x1005ff7c, 24300 }, /* SunVideoRaiseBrightness */
+    { 0x0000ffeb, 24324 }, /* Super_L */
+    { 0x0000ffec, 24332 }, /* Super_R */
+    { 0x0000ff15, 24340 }, /* Sys_Req */
+    { 0x1000ff6d, 24348 }, /* System */
+    { 0x00000054, 24355 }, /* T */
+    { 0x00000074, 24357 }, /* t */
+    { 0x0000ff09, 24359 }, /* Tab */
+    { 0x01001e6a, 24363 }, /* Tabovedot */
+    { 0x01001e6b, 24373 }, /* tabovedot */
+    { 0x000001ab, 24383 }, /* Tcaron */
+    { 0x000001bb, 24390 }, /* tcaron */
+    { 0x000001de, 24397 }, /* Tcedilla */
+    { 0x000001fe, 24406 }, /* tcedilla */
+    { 0x00000af9, 24415 }, /* telephone */
+    { 0x00000afa, 24425 }, /* telephonerecorder */
+    { 0x0000fed5, 24443 }, /* Terminate_Server */
+    { 0x00000ddf, 24460 }, /* Thai_baht */
+    { 0x00000dba, 24470 }, /* Thai_bobaimai */
+    { 0x00000da8, 24484 }, /* Thai_chochan */
+    { 0x00000daa, 24497 }, /* Thai_chochang */
+    { 0x00000da9, 24511 }, /* Thai_choching */
+    { 0x00000dac, 24525 }, /* Thai_chochoe */
+    { 0x00000dae, 24538 }, /* Thai_dochada */
+    { 0x00000db4, 24551 }, /* Thai_dodek */
+    { 0x00000dbd, 24562 }, /* Thai_fofa */
+    { 0x00000dbf, 24572 }, /* Thai_fofan */
+    { 0x00000dcb, 24583 }, /* Thai_hohip */
+    { 0x00000dce, 24594 }, /* Thai_honokhuk */
+    { 0x00000da2, 24608 }, /* Thai_khokhai */
+    { 0x00000da5, 24621 }, /* Thai_khokhon */
+    { 0x00000da3, 24634 }, /* Thai_khokhuat */
+    { 0x00000da4, 24648 }, /* Thai_khokhwai */
+    { 0x00000da6, 24662 }, /* Thai_khorakhang */
+    { 0x00000da1, 24678 }, /* Thai_kokai */
+    { 0x00000de5, 24689 }, /* Thai_lakkhangyao */
+    { 0x00000df7, 24706 }, /* Thai_lekchet */
+    { 0x00000df5, 24719 }, /* Thai_lekha */
+    { 0x00000df6, 24730 }, /* Thai_lekhok */
+    { 0x00000df9, 24742 }, /* Thai_lekkao */
+    { 0x00000df1, 24754 }, /* Thai_leknung */
+    { 0x00000df8, 24767 }, /* Thai_lekpaet */
+    { 0x00000df3, 24780 }, /* Thai_leksam */
+    { 0x00000df4, 24792 }, /* Thai_leksi */
+    { 0x00000df2, 24803 }, /* Thai_leksong */
+    { 0x00000df0, 24816 }, /* Thai_leksun */
+    { 0x00000dcc, 24828 }, /* Thai_lochula */
+    { 0x00000dc5, 24841 }, /* Thai_loling */
+    { 0x00000dc6, 24853 }, /* Thai_lu */
+    { 0x00000deb, 24861 }, /* Thai_maichattawa */
+    { 0x00000de8, 24878 }, /* Thai_maiek */
+    { 0x00000dd1, 24889 }, /* Thai_maihanakat */
+    { 0x00000dde, 24905 }, /* Thai_maihanakat_maitho */
+    { 0x00000de7, 24928 }, /* Thai_maitaikhu */
+    { 0x00000de9, 24943 }, /* Thai_maitho */
+    { 0x00000dea, 24955 }, /* Thai_maitri */
+    { 0x00000de6, 24967 }, /* Thai_maiyamok */
+    { 0x00000dc1, 24981 }, /* Thai_moma */
+    { 0x00000da7, 24991 }, /* Thai_ngongu */
+    { 0x00000ded, 25003 }, /* Thai_nikhahit */
+    { 0x00000db3, 25017 }, /* Thai_nonen */
+    { 0x00000db9, 25028 }, /* Thai_nonu */
+    { 0x00000dcd, 25038 }, /* Thai_oang */
+    { 0x00000dcf, 25048 }, /* Thai_paiyannoi */
+    { 0x00000dda, 25063 }, /* Thai_phinthu */
+    { 0x00000dbe, 25076 }, /* Thai_phophan */
+    { 0x00000dbc, 25089 }, /* Thai_phophung */
+    { 0x00000dc0, 25103 }, /* Thai_phosamphao */
+    { 0x00000dbb, 25119 }, /* Thai_popla */
+    { 0x00000dc3, 25130 }, /* Thai_rorua */
+    { 0x00000dc4, 25141 }, /* Thai_ru */
+    { 0x00000dd0, 25149 }, /* Thai_saraa */
+    { 0x00000dd2, 25160 }, /* Thai_saraaa */
+    { 0x00000de1, 25172 }, /* Thai_saraae */
+    { 0x00000de4, 25184 }, /* Thai_saraaimaimalai */
+    { 0x00000de3, 25204 }, /* Thai_saraaimaimuan */
+    { 0x00000dd3, 25223 }, /* Thai_saraam */
+    { 0x00000de0, 25235 }, /* Thai_sarae */
+    { 0x00000dd4, 25246 }, /* Thai_sarai */
+    { 0x00000dd5, 25257 }, /* Thai_saraii */
+    { 0x00000de2, 25269 }, /* Thai_sarao */
+    { 0x00000dd8, 25280 }, /* Thai_sarau */
+    { 0x00000dd6, 25291 }, /* Thai_saraue */
+    { 0x00000dd7, 25303 }, /* Thai_sarauee */
+    { 0x00000dd9, 25316 }, /* Thai_sarauu */
+    { 0x00000dc9, 25328 }, /* Thai_sorusi */
+    { 0x00000dc8, 25340 }, /* Thai_sosala */
+    { 0x00000dab, 25352 }, /* Thai_soso */
+    { 0x00000dca, 25362 }, /* Thai_sosua */
+    { 0x00000dec, 25373 }, /* Thai_thanthakhat */
+    { 0x00000db1, 25390 }, /* Thai_thonangmontho */
+    { 0x00000db2, 25409 }, /* Thai_thophuthao */
+    { 0x00000db7, 25425 }, /* Thai_thothahan */
+    { 0x00000db0, 25440 }, /* Thai_thothan */
+    { 0x00000db8, 25453 }, /* Thai_thothong */
+    { 0x00000db6, 25467 }, /* Thai_thothung */
+    { 0x00000daf, 25481 }, /* Thai_topatak */
+    { 0x00000db5, 25494 }, /* Thai_totao */
+    { 0x00000dc7, 25505 }, /* Thai_wowaen */
+    { 0x00000dc2, 25517 }, /* Thai_yoyak */
+    { 0x00000dad, 25528 }, /* Thai_yoying */
+    { 0x000008c0, 25540 }, /* therefore */
+    { 0x00000aa7, 25550 }, /* thinspace */
+    { 0x000000de, 25560 }, /* THORN */
+    { 0x000000de, 25566 }, /* Thorn */
+    { 0x000000fe, 25572 }, /* thorn */
+    { 0x00000ac4, 25578 }, /* threeeighths */
+    { 0x00000ab4, 25591 }, /* threefifths */
+    { 0x000000be, 25603 }, /* threequarters */
+    { 0x01002083, 25617 }, /* threesubscript */
+    { 0x000000b3, 25632 }, /* threesuperior */
+    { 0x0100222d, 25646 }, /* tintegral */
+    { 0x000008a4, 25656 }, /* topintegral */
+    { 0x000008ab, 25668 }, /* topleftparens */
+    { 0x000008a2, 25682 }, /* topleftradical */
+    { 0x000008a7, 25697 }, /* topleftsqbracket */
+    { 0x000008b1, 25714 }, /* topleftsummation */
+    { 0x000008ad, 25731 }, /* toprightparens */
+    { 0x000008a9, 25746 }, /* toprightsqbracket */
+    { 0x000008b5, 25764 }, /* toprightsummation */
+    { 0x000009f7, 25782 }, /* topt */
+    { 0x000008b3, 25787 }, /* topvertsummationconnector */
+    { 0x0000ff2b, 25813 }, /* Touroku */
+    { 0x00000ac9, 25821 }, /* trademark */
+    { 0x00000acb, 25831 }, /* trademarkincircle */
+    { 0x000003ac, 25849 }, /* Tslash */
+    { 0x000003bc, 25856 }, /* tslash */
+    { 0x00000ab3, 25863 }, /* twofifths */
+    { 0x01002082, 25873 }, /* twosubscript */
+    { 0x000000b2, 25886 }, /* twosuperior */
+    { 0x00000ab1, 25898 }, /* twothirds */
+    { 0x00000055, 25908 }, /* U */
+    { 0x00000075, 25910 }, /* u */
+    { 0x000000da, 25912 }, /* Uacute */
+    { 0x000000fa, 25919 }, /* uacute */
+    { 0x01001ee4, 25926 }, /* Ubelowdot */
+    { 0x01001ee5, 25936 }, /* ubelowdot */
+    { 0x000002dd, 25946 }, /* Ubreve */
+    { 0x000002fd, 25953 }, /* ubreve */
+    { 0x000000db, 25960 }, /* Ucircumflex */
+    { 0x000000fb, 25972 }, /* ucircumflex */
+    { 0x000000dc, 25984 }, /* Udiaeresis */
+    { 0x000000fc, 25995 }, /* udiaeresis */
+    { 0x000001db, 26006 }, /* Udoubleacute */
+    { 0x000001fb, 26019 }, /* udoubleacute */
+    { 0x000000d9, 26032 }, /* Ugrave */
+    { 0x000000f9, 26039 }, /* ugrave */
+    { 0x01001ee6, 26046 }, /* Uhook */
+    { 0x01001ee7, 26052 }, /* uhook */
+    { 0x010001af, 26058 }, /* Uhorn */
+    { 0x010001b0, 26064 }, /* uhorn */
+    { 0x01001ee8, 26070 }, /* Uhornacute */
+    { 0x01001ee9, 26081 }, /* uhornacute */
+    { 0x01001ef0, 26092 }, /* Uhornbelowdot */
+    { 0x01001ef1, 26106 }, /* uhornbelowdot */
+    { 0x01001eea, 26120 }, /* Uhorngrave */
+    { 0x01001eeb, 26131 }, /* uhorngrave */
+    { 0x01001eec, 26142 }, /* Uhornhook */
+    { 0x01001eed, 26152 }, /* uhornhook */
+    { 0x01001eee, 26162 }, /* Uhorntilde */
+    { 0x01001eef, 26173 }, /* uhorntilde */
+    { 0x000006ad, 26184 }, /* Ukrainian_ghe_with_upturn */
+    { 0x000006bd, 26210 }, /* Ukrainian_GHE_WITH_UPTURN */
+    { 0x000006a6, 26236 }, /* Ukrainian_i */
+    { 0x000006b6, 26248 }, /* Ukrainian_I */
+    { 0x000006a4, 26260 }, /* Ukrainian_ie */
+    { 0x000006b4, 26273 }, /* Ukrainian_IE */
+    { 0x000006a7, 26286 }, /* Ukrainian_yi */
+    { 0x000006b7, 26299 }, /* Ukrainian_YI */
+    { 0x000006a6, 26312 }, /* Ukranian_i */
+    { 0x000006b6, 26323 }, /* Ukranian_I */
+    { 0x000006a4, 26334 }, /* Ukranian_je */
+    { 0x000006b4, 26346 }, /* Ukranian_JE */
+    { 0x000006a7, 26358 }, /* Ukranian_yi */
+    { 0x000006b7, 26370 }, /* Ukranian_YI */
+    { 0x000003de, 26382 }, /* Umacron */
+    { 0x000003fe, 26390 }, /* umacron */
+    { 0x00000bc6, 26398 }, /* underbar */
+    { 0x0000005f, 26407 }, /* underscore */
+    { 0x0000ff65, 26418 }, /* Undo */
+    { 0x000008dd, 26423 }, /* union */
+    { 0x000003d9, 26429 }, /* Uogonek */
+    { 0x000003f9, 26437 }, /* uogonek */
+    { 0x0000ff52, 26445 }, /* Up */
+    { 0x000008fc, 26448 }, /* uparrow */
+    { 0x00000ba9, 26456 }, /* upcaret */
+    { 0x000009ec, 26464 }, /* upleftcorner */
+    { 0x000009eb, 26477 }, /* uprightcorner */
+    { 0x00000bc3, 26491 }, /* upshoe */
+    { 0x00000bd3, 26498 }, /* upstile */
+    { 0x00000bce, 26506 }, /* uptack */
+    { 0x000001d9, 26513 }, /* Uring */
+    { 0x000001f9, 26519 }, /* uring */
+    { 0x1000ff6e, 26525 }, /* User */
+    { 0x000003dd, 26530 }, /* Utilde */
+    { 0x000003fd, 26537 }, /* utilde */
+    { 0x00000056, 26544 }, /* V */
+    { 0x00000076, 26546 }, /* v */
+    { 0x000008c1, 26548 }, /* variation */
+    { 0x000009f8, 26558 }, /* vertbar */
+    { 0x000008a6, 26566 }, /* vertconnector */
+    { 0x000004de, 26580 }, /* voicedsound */
+    { 0x00ffffff, 26592 }, /* VoidSymbol */
+    { 0x000009e9, 26603 }, /* vt */
+    { 0x00000057, 26606 }, /* W */
+    { 0x00000077, 26608 }, /* w */
+    { 0x01001e82, 26610 }, /* Wacute */
+    { 0x01001e83, 26617 }, /* wacute */
+    { 0x01000174, 26624 }, /* Wcircumflex */
+    { 0x01000175, 26636 }, /* wcircumflex */
+    { 0x01001e84, 26648 }, /* Wdiaeresis */
+    { 0x01001e85, 26659 }, /* wdiaeresis */
+    { 0x01001e80, 26670 }, /* Wgrave */
+    { 0x01001e81, 26677 }, /* wgrave */
+    { 0x010020a9, 26684 }, /* WonSign */
+    { 0x00000058, 26692 }, /* X */
+    { 0x00000078, 26694 }, /* x */
+    { 0x01001e8a, 26696 }, /* Xabovedot */
+    { 0x01001e8b, 26706 }, /* xabovedot */
+    { 0x100811b9, 26716 }, /* XF8610ChannelsDown */
+    { 0x100811b8, 26735 }, /* XF8610ChannelsUp */
+    { 0x1008126f, 26752 }, /* XF863DMode */
+    { 0x1008ff39, 26763 }, /* XF86AddFavorite */
+    { 0x100811ad, 26779 }, /* XF86Addressbook */
+    { 0x10081230, 26795 }, /* XF86ALSToggle */
+    { 0x1008ff50, 26809 }, /* XF86ApplicationLeft */
+    { 0x1008ff51, 26829 }, /* XF86ApplicationRight */
+    { 0x10081244, 26850 }, /* XF86AppSelect */
+    { 0x10081177, 26864 }, /* XF86AspectRatio */
+    { 0x10081247, 26880 }, /* XF86Assistant */
+    { 0x1008121c, 26894 }, /* XF86AttendantOff */
+    { 0x1008121b, 26911 }, /* XF86AttendantOn */
+    { 0x1008121d, 26927 }, /* XF86AttendantToggle */
+    { 0x10081188, 26947 }, /* XF86Audio */
+    { 0x1008ff9b, 26957 }, /* XF86AudioCycleTrack */
+    { 0x1008126e, 26977 }, /* XF86AudioDesc */
+    { 0x1008ff97, 26991 }, /* XF86AudioForward */
+    { 0x1008ff11, 27008 }, /* XF86AudioLowerVolume */
+    { 0x1008ff32, 27029 }, /* XF86AudioMedia */
+    { 0x1008ffb2, 27044 }, /* XF86AudioMicMute */
+    { 0x1008ff12, 27061 }, /* XF86AudioMute */
+    { 0x1008ff17, 27075 }, /* XF86AudioNext */
+    { 0x1008ff31, 27089 }, /* XF86AudioPause */
+    { 0x1008ff14, 27104 }, /* XF86AudioPlay */
+    { 0x1008ffb6, 27118 }, /* XF86AudioPreset */
+    { 0x1008ff16, 27134 }, /* XF86AudioPrev */
+    { 0x1008ff13, 27148 }, /* XF86AudioRaiseVolume */
+    { 0x1008ff99, 27169 }, /* XF86AudioRandomPlay */
+    { 0x1008ff1c, 27189 }, /* XF86AudioRecord */
+    { 0x1008ff98, 27205 }, /* XF86AudioRepeat */
+    { 0x1008ff3e, 27221 }, /* XF86AudioRewind */
+    { 0x1008ff15, 27237 }, /* XF86AudioStop */
+    { 0x1008127d, 27251 }, /* XF86AutopilotEngageToggle */
+    { 0x1008ff8d, 27277 }, /* XF86Away */
+    { 0x1008ff26, 27286 }, /* XF86Back */
+    { 0x1008ff3f, 27295 }, /* XF86BackForward */
+    { 0x1008ff93, 27311 }, /* XF86Battery */
+    { 0x1008ffa6, 27323 }, /* XF86Blue */
+    { 0x1008ff94, 27332 }, /* XF86Bluetooth */
+    { 0x1008ff52, 27346 }, /* XF86Book */
+    { 0x1008119b, 27355 }, /* XF86Break */
+    { 0x1008ff3b, 27365 }, /* XF86BrightnessAdjust */
+    { 0x100810f4, 27386 }, /* XF86BrightnessAuto */
+    { 0x10081251, 27405 }, /* XF86BrightnessMax */
+    { 0x10081250, 27423 }, /* XF86BrightnessMin */
+    { 0x10081240, 27441 }, /* XF86Buttonconfig */
+    { 0x1008ff54, 27458 }, /* XF86Calculater */
+    { 0x1008ff1d, 27473 }, /* XF86Calculator */
+    { 0x1008ff20, 27488 }, /* XF86Calendar */
+    { 0x1008124c, 27501 }, /* XF86CameraAccessDisable */
+    { 0x1008124b, 27525 }, /* XF86CameraAccessEnable */
+    { 0x1008124d, 27548 }, /* XF86CameraAccessToggle */
+    { 0x10081218, 27571 }, /* XF86CameraDown */
+    { 0x10081210, 27586 }, /* XF86CameraFocus */
+    { 0x10081219, 27602 }, /* XF86CameraLeft */
+    { 0x1008121a, 27617 }, /* XF86CameraRight */
+    { 0x10081217, 27633 }, /* XF86CameraUp */
+    { 0x10081215, 27646 }, /* XF86CameraZoomIn */
+    { 0x10081216, 27663 }, /* XF86CameraZoomOut */
+    { 0x1008ff53, 27681 }, /* XF86CD */
+    { 0x10081193, 27688 }, /* XF86ChannelDown */
+    { 0x10081192, 27704 }, /* XF86ChannelUp */
+    { 0x1008ff55, 27718 }, /* XF86Clear */
+    { 0x1008fe21, 27728 }, /* XF86ClearGrab */
+    { 0x10081286, 27742 }, /* XF86ClearvuSonar */
+    { 0x1008ff56, 27759 }, /* XF86Close */
+    { 0x1008ff3d, 27769 }, /* XF86Community */
+    { 0x100811b6, 27783 }, /* XF86ContextMenu */
+    { 0x1008ff22, 27799 }, /* XF86ContrastAdjust */
+    { 0x10081243, 27818 }, /* XF86ControlPanel */
+    { 0x1008ff57, 27835 }, /* XF86Copy */
+    { 0x1008ff58, 27844 }, /* XF86Cut */
+    { 0x1008ff9c, 27852 }, /* XF86CycleAngle */
+    { 0x10081277, 27867 }, /* XF86Data */
+    { 0x100811aa, 27876 }, /* XF86Database */
+    { 0x1008124a, 27889 }, /* XF86Dictate */
+    { 0x1008ff59, 27901 }, /* XF86Display */
+    { 0x100810f5, 27913 }, /* XF86DisplayOff */
+    { 0x100811af, 27928 }, /* XF86DisplayToggle */
+    { 0x1008ff5b, 27946 }, /* XF86Documents */
+    { 0x1008ff5a, 27960 }, /* XF86DOS */
+    { 0x10081283, 27968 }, /* XF86DualRangeRadar */
+    { 0x10081185, 27987 }, /* XF86DVD */
+    { 0x100811a6, 27995 }, /* XF86Editor */
+    { 0x1008ff2c, 28006 }, /* XF86Eject */
+    { 0x10081249, 28016 }, /* XF86EmojiPicker */
+    { 0x1008ff5c, 28032 }, /* XF86Excel */
+    { 0x1008ff5d, 28042 }, /* XF86Explorer */
+    { 0x10081275, 28055 }, /* XF86FastReverse */
+    { 0x1008ff30, 28071 }, /* XF86Favorites */
+    { 0x1008ff3c, 28085 }, /* XF86Finance */
+    { 0x10081281, 28097 }, /* XF86FishingChart */
+    { 0x100811d0, 28114 }, /* XF86Fn */
+    { 0x100811d1, 28121 }, /* XF86Fn_Esc */
+    { 0x100811e5, 28132 }, /* XF86FnRightShift */
+    { 0x1008ff27, 28149 }, /* XF86Forward */
+    { 0x1008ff9d, 28161 }, /* XF86FrameBack */
+    { 0x1008ff9e, 28175 }, /* XF86FrameForward */
+    { 0x1008ffb8, 28192 }, /* XF86FullScreen */
+    { 0x1008ff5e, 28207 }, /* XF86Game */
+    { 0x1008ff5f, 28216 }, /* XF86Go */
+    { 0x100811a8, 28223 }, /* XF86GraphicsEditor */
+    { 0x1008ffa4, 28242 }, /* XF86Green */
+    { 0x100811be, 28252 }, /* XF86HangupPhone */
+    { 0x1008ffa8, 28268 }, /* XF86Hibernate */
+    { 0x1008ff37, 28282 }, /* XF86History */
+    { 0x1008ff18, 28294 }, /* XF86HomePage */
+    { 0x1008ff3a, 28307 }, /* XF86HotLinks */
+    { 0x100811ba, 28320 }, /* XF86Images */
+    { 0x10081166, 28331 }, /* XF86Info */
+    { 0x1008ff60, 28340 }, /* XF86iTouch */
+    { 0x10081242, 28351 }, /* XF86Journal */
+    { 0x1008ff06, 28363 }, /* XF86KbdBrightnessDown */
+    { 0x1008ff05, 28385 }, /* XF86KbdBrightnessUp */
+    { 0x10081264, 28405 }, /* XF86KbdInputAssistAccept */
+    { 0x10081265, 28430 }, /* XF86KbdInputAssistCancel */
+    { 0x10081261, 28455 }, /* XF86KbdInputAssistNext */
+    { 0x10081263, 28478 }, /* XF86KbdInputAssistNextgroup */
+    { 0x10081260, 28506 }, /* XF86KbdInputAssistPrev */
+    { 0x10081262, 28529 }, /* XF86KbdInputAssistPrevgroup */
+    { 0x100812b8, 28557 }, /* XF86KbdLcdMenu1 */
+    { 0x100812b9, 28573 }, /* XF86KbdLcdMenu2 */
+    { 0x100812ba, 28589 }, /* XF86KbdLcdMenu3 */
+    { 0x100812bb, 28605 }, /* XF86KbdLcdMenu4 */
+    { 0x100812bc, 28621 }, /* XF86KbdLcdMenu5 */
+    { 0x1008ff04, 28637 }, /* XF86KbdLightOnOff */
+    { 0x1008ffb3, 28655 }, /* XF86Keyboard */
+    { 0x1008ff40, 28668 }, /* XF86Launch0 */
+    { 0x1008ff41, 28680 }, /* XF86Launch1 */
+    { 0x1008ff42, 28692 }, /* XF86Launch2 */
+    { 0x1008ff43, 28704 }, /* XF86Launch3 */
+    { 0x1008ff44, 28716 }, /* XF86Launch4 */
+    { 0x1008ff45, 28728 }, /* XF86Launch5 */
+    { 0x1008ff46, 28740 }, /* XF86Launch6 */
+    { 0x1008ff47, 28752 }, /* XF86Launch7 */
+    { 0x1008ff48, 28764 }, /* XF86Launch8 */
+    { 0x1008ff49, 28776 }, /* XF86Launch9 */
+    { 0x1008ff4a, 28788 }, /* XF86LaunchA */
+    { 0x1008ff4b, 28800 }, /* XF86LaunchB */
+    { 0x1008ff4c, 28812 }, /* XF86LaunchC */
+    { 0x1008ff4d, 28824 }, /* XF86LaunchD */
+    { 0x1008ff4e, 28836 }, /* XF86LaunchE */
+    { 0x1008ff4f, 28848 }, /* XF86LaunchF */
+    { 0x10081269, 28860 }, /* XF86LeftDown */
+    { 0x10081268, 28873 }, /* XF86LeftUp */
+    { 0x1008ff35, 28884 }, /* XF86LightBulb */
+    { 0x1008121e, 28898 }, /* XF86LightsToggle */
+    { 0x1008fe25, 28915 }, /* XF86LogGrabInfo */
+    { 0x1008ff61, 28931 }, /* XF86LogOff */
+    { 0x1008fe24, 28942 }, /* XF86LogWindowTree */
+    { 0x10081290, 28960 }, /* XF86Macro1 */
+    { 0x10081299, 28971 }, /* XF86Macro10 */
+    { 0x1008129a, 28983 }, /* XF86Macro11 */
+    { 0x1008129b, 28995 }, /* XF86Macro12 */
+    { 0x1008129c, 29007 }, /* XF86Macro13 */
+    { 0x1008129d, 29019 }, /* XF86Macro14 */
+    { 0x1008129e, 29031 }, /* XF86Macro15 */
+    { 0x1008129f, 29043 }, /* XF86Macro16 */
+    { 0x100812a0, 29055 }, /* XF86Macro17 */
+    { 0x100812a1, 29067 }, /* XF86Macro18 */
+    { 0x100812a2, 29079 }, /* XF86Macro19 */
+    { 0x10081291, 29091 }, /* XF86Macro2 */
+    { 0x100812a3, 29102 }, /* XF86Macro20 */
+    { 0x100812a4, 29114 }, /* XF86Macro21 */
+    { 0x100812a5, 29126 }, /* XF86Macro22 */
+    { 0x100812a6, 29138 }, /* XF86Macro23 */
+    { 0x100812a7, 29150 }, /* XF86Macro24 */
+    { 0x100812a8, 29162 }, /* XF86Macro25 */
+    { 0x100812a9, 29174 }, /* XF86Macro26 */
+    { 0x100812aa, 29186 }, /* XF86Macro27 */
+    { 0x100812ab, 29198 }, /* XF86Macro28 */
+    { 0x100812ac, 29210 }, /* XF86Macro29 */
+    { 0x10081292, 29222 }, /* XF86Macro3 */
+    { 0x100812ad, 29233 }, /* XF86Macro30 */
+    { 0x10081293, 29245 }, /* XF86Macro4 */
+    { 0x10081294, 29256 }, /* XF86Macro5 */
+    { 0x10081295, 29267 }, /* XF86Macro6 */
+    { 0x10081296, 29278 }, /* XF86Macro7 */
+    { 0x10081297, 29289 }, /* XF86Macro8 */
+    { 0x10081298, 29300 }, /* XF86Macro9 */
+    { 0x100812b3, 29311 }, /* XF86MacroPreset1 */
+    { 0x100812b4, 29328 }, /* XF86MacroPreset2 */
+    { 0x100812b5, 29345 }, /* XF86MacroPreset3 */
+    { 0x100812b2, 29362 }, /* XF86MacroPresetCycle */
+    { 0x100812b0, 29383 }, /* XF86MacroRecordStart */
+    { 0x100812b1, 29404 }, /* XF86MacroRecordStop */
+    { 0x1008ff19, 29424 }, /* XF86Mail */
+    { 0x1008ff90, 29433 }, /* XF86MailForward */
+    { 0x1008ff62, 29449 }, /* XF86Market */
+    { 0x1008127e, 29460 }, /* XF86MarkWaypoint */
+    { 0x100811b7, 29477 }, /* XF86MediaRepeat */
+    { 0x1008126b, 29493 }, /* XF86MediaTopMenu */
+    { 0x1008ff63, 29510 }, /* XF86Meeting */
+    { 0x1008ff1e, 29522 }, /* XF86Memo */
+    { 0x1008ff65, 29531 }, /* XF86MenuKB */
+    { 0x1008ff66, 29542 }, /* XF86MenuPB */
+    { 0x1008ff8e, 29553 }, /* XF86Messenger */
+    { 0x1008ff01, 29567 }, /* XF86ModeLock */
+    { 0x1008ff07, 29580 }, /* XF86MonBrightnessCycle */
+    { 0x1008ff03, 29603 }, /* XF86MonBrightnessDown */
+    { 0x1008ff02, 29625 }, /* XF86MonBrightnessUp */
+    { 0x1008ff92, 29645 }, /* XF86Music */
+    { 0x1008ff33, 29655 }, /* XF86MyComputer */
+    { 0x1008ff67, 29670 }, /* XF86MySites */
+    { 0x10081280, 29682 }, /* XF86NavChart */
+    { 0x10081288, 29695 }, /* XF86NavInfo */
+    { 0x1008ff68, 29707 }, /* XF86New */
+    { 0x1008ff69, 29715 }, /* XF86News */
+    { 0x1008fe22, 29724 }, /* XF86Next_VMode */
+    { 0x1008127b, 29739 }, /* XF86NextElement */
+    { 0x10081270, 29755 }, /* XF86NextFavorite */
+    { 0x100811bc, 29772 }, /* XF86NotificationCenter */
+    { 0x10081200, 29795 }, /* XF86Numeric0 */
+    { 0x10081201, 29808 }, /* XF86Numeric1 */
+    { 0x1008126c, 29821 }, /* XF86Numeric11 */
+    { 0x1008126d, 29835 }, /* XF86Numeric12 */
+    { 0x10081202, 29849 }, /* XF86Numeric2 */
+    { 0x10081203, 29862 }, /* XF86Numeric3 */
+    { 0x10081204, 29875 }, /* XF86Numeric4 */
+    { 0x10081205, 29888 }, /* XF86Numeric5 */
+    { 0x10081206, 29901 }, /* XF86Numeric6 */
+    { 0x10081207, 29914 }, /* XF86Numeric7 */
+    { 0x10081208, 29927 }, /* XF86Numeric8 */
+    { 0x10081209, 29940 }, /* XF86Numeric9 */
+    { 0x1008120c, 29953 }, /* XF86NumericA */
+    { 0x1008120d, 29966 }, /* XF86NumericB */
+    { 0x1008120e, 29979 }, /* XF86NumericC */
+    { 0x1008120f, 29992 }, /* XF86NumericD */
+    { 0x1008120b, 30005 }, /* XF86NumericPound */
+    { 0x1008120a, 30022 }, /* XF86NumericStar */
+    { 0x1008ff6a, 30038 }, /* XF86OfficeHome */
+    { 0x10081278, 30053 }, /* XF86OnScreenKeyboard */
+    { 0x1008ff6b, 30074 }, /* XF86Open */
+    { 0x1008ff38, 30083 }, /* XF86OpenURL */
+    { 0x1008ff6c, 30095 }, /* XF86Option */
+    { 0x1008ff6d, 30106 }, /* XF86Paste */
+    { 0x10081272, 30116 }, /* XF86PauseRecord */
+    { 0x1008ff6e, 30132 }, /* XF86Phone */
+    { 0x100811bd, 30142 }, /* XF86PickupPhone */
+    { 0x1008ff91, 30158 }, /* XF86Pictures */
+    { 0x1008ff21, 30171 }, /* XF86PowerDown */
+    { 0x1008ff2a, 30185 }, /* XF86PowerOff */
+    { 0x100811a9, 30198 }, /* XF86Presentation */
+    { 0x1008fe23, 30215 }, /* XF86Prev_VMode */
+    { 0x1008127c, 30230 }, /* XF86PreviousElement */
+    { 0x10081279, 30250 }, /* XF86PrivacyScreenToggle */
+    { 0x1008ff70, 30274 }, /* XF86Q */
+    { 0x10081284, 30280 }, /* XF86RadarOverlay */
+    { 0x1008ffa3, 30297 }, /* XF86Red */
+    { 0x1008ff29, 30305 }, /* XF86Refresh */
+    { 0x1008ff73, 30317 }, /* XF86Reload */
+    { 0x1008ff72, 30328 }, /* XF86Reply */
+    { 0x1008ffb5, 30338 }, /* XF86RFKill */
+    { 0x10081267, 30349 }, /* XF86RightDown */
+    { 0x10081266, 30363 }, /* XF86RightUp */
+    { 0x1008ff24, 30375 }, /* XF86RockerDown */
+    { 0x1008ff25, 30390 }, /* XF86RockerEnter */
+    { 0x1008ff23, 30406 }, /* XF86RockerUp */
+    { 0x1008126a, 30419 }, /* XF86RootMenu */
+    { 0x1008ff74, 30432 }, /* XF86RotateWindows */
+    { 0x1008ff76, 30450 }, /* XF86RotationKB */
+    { 0x1008ffb7, 30465 }, /* XF86RotationLockToggle */
+    { 0x1008ff75, 30488 }, /* XF86RotationPB */
+    { 0x1008ff77, 30503 }, /* XF86Save */
+    { 0x1008ff2d, 30512 }, /* XF86ScreenSaver */
+    { 0x10081245, 30528 }, /* XF86Screensaver */
+    { 0x1008ff7a, 30544 }, /* XF86ScrollClick */
+    { 0x1008ff79, 30560 }, /* XF86ScrollDown */
+    { 0x1008ff78, 30575 }, /* XF86ScrollUp */
+    { 0x1008ff1b, 30588 }, /* XF86Search */
+    { 0x1008ffa0, 30599 }, /* XF86Select */
+    { 0x1008127a, 30610 }, /* XF86SelectiveScreenshot */
+    { 0x1008ff7b, 30634 }, /* XF86Send */
+    { 0x1008ff36, 30643 }, /* XF86Shop */
+    { 0x10081287, 30652 }, /* XF86SidevuSonar */
+    { 0x10081282, 30668 }, /* XF86SingleRangeRadar */
+    { 0x1008ff2f, 30689 }, /* XF86Sleep */
+    { 0x10081276, 30699 }, /* XF86SlowReverse */
+    { 0x1008127f, 30715 }, /* XF86Sos */
+    { 0x1008ff7c, 30723 }, /* XF86Spell */
+    { 0x100811b0, 30733 }, /* XF86SpellCheck */
+    { 0x1008ff7d, 30748 }, /* XF86SplitScreen */
+    { 0x1008ff10, 30764 }, /* XF86Standby */
+    { 0x1008ff1a, 30776 }, /* XF86Start */
+    { 0x1008ff28, 30786 }, /* XF86Stop */
+    { 0x10081271, 30795 }, /* XF86StopRecord */
+    { 0x1008ff9a, 30810 }, /* XF86Subtitle */
+    { 0x1008ff7e, 30823 }, /* XF86Support */
+    { 0x1008ffa7, 30835 }, /* XF86Suspend */
+    { 0x1008fe01, 30847 }, /* XF86Switch_VT_1 */
+    { 0x1008fe0a, 30863 }, /* XF86Switch_VT_10 */
+    { 0x1008fe0b, 30880 }, /* XF86Switch_VT_11 */
+    { 0x1008fe0c, 30897 }, /* XF86Switch_VT_12 */
+    { 0x1008fe02, 30914 }, /* XF86Switch_VT_2 */
+    { 0x1008fe03, 30930 }, /* XF86Switch_VT_3 */
+    { 0x1008fe04, 30946 }, /* XF86Switch_VT_4 */
+    { 0x1008fe05, 30962 }, /* XF86Switch_VT_5 */
+    { 0x1008fe06, 30978 }, /* XF86Switch_VT_6 */
+    { 0x1008fe07, 30994 }, /* XF86Switch_VT_7 */
+    { 0x1008fe08, 31010 }, /* XF86Switch_VT_8 */
+    { 0x1008fe09, 31026 }, /* XF86Switch_VT_9 */
+    { 0x10081241, 31042 }, /* XF86Taskmanager */
+    { 0x1008ff7f, 31058 }, /* XF86TaskPane */
+    { 0x1008ff80, 31071 }, /* XF86Terminal */
+    { 0x1008ff9f, 31084 }, /* XF86Time */
+    { 0x1008ff1f, 31093 }, /* XF86ToDoList */
+    { 0x1008ff81, 31106 }, /* XF86Tools */
+    { 0x1008ffa2, 31116 }, /* XF86TopMenu */
+    { 0x1008ffb1, 31128 }, /* XF86TouchpadOff */
+    { 0x1008ffb0, 31144 }, /* XF86TouchpadOn */
+    { 0x1008ffa9, 31159 }, /* XF86TouchpadToggle */
+    { 0x10081285, 31178 }, /* XF86TraditionalSonar */
+    { 0x1008ff82, 31199 }, /* XF86Travel */
+    { 0x1008fe20, 31210 }, /* XF86Ungrab */
+    { 0x10081274, 31221 }, /* XF86Unmute */
+    { 0x1008ff85, 31232 }, /* XF86User1KB */
+    { 0x1008ff86, 31244 }, /* XF86User2KB */
+    { 0x1008ff84, 31256 }, /* XF86UserPB */
+    { 0x1008ff96, 31267 }, /* XF86UWB */
+    { 0x1008ff34, 31275 }, /* XF86VendorHome */
+    { 0x1008ff87, 31290 }, /* XF86Video */
+    { 0x100811a0, 31300 }, /* XF86VideoPhone */
+    { 0x1008ffa1, 31315 }, /* XF86View */
+    { 0x10081273, 31324 }, /* XF86VOD */
+    { 0x10081246, 31332 }, /* XF86VoiceCommand */
+    { 0x100811ac, 31349 }, /* XF86Voicemail */
+    { 0x1008ff2b, 31363 }, /* XF86WakeUp */
+    { 0x1008ff8f, 31374 }, /* XF86WebCam */
+    { 0x1008ff88, 31385 }, /* XF86WheelButton */
+    { 0x1008ff95, 31401 }, /* XF86WLAN */
+    { 0x1008ff89, 31410 }, /* XF86Word */
+    { 0x10081211, 31419 }, /* XF86WPSButton */
+    { 0x1008ffb4, 31433 }, /* XF86WWAN */
+    { 0x1008ff2e, 31442 }, /* XF86WWW */
+    { 0x1008ff8a, 31450 }, /* XF86Xfer */
+    { 0x1008ffa5, 31459 }, /* XF86Yellow */
+    { 0x1008ff8b, 31470 }, /* XF86ZoomIn */
+    { 0x1008ff8c, 31481 }, /* XF86ZoomOut */
+    { 0x100811a4, 31493 }, /* XF86ZoomReset */
+    { 0x00000059, 31507 }, /* Y */
+    { 0x00000079, 31509 }, /* y */
+    { 0x000000dd, 31511 }, /* Yacute */
+    { 0x000000fd, 31518 }, /* yacute */
+    { 0x01001ef4, 31525 }, /* Ybelowdot */
+    { 0x01001ef5, 31535 }, /* ybelowdot */
+    { 0x01000176, 31545 }, /* Ycircumflex */
+    { 0x01000177, 31557 }, /* ycircumflex */
+    { 0x000000ff, 31569 }, /* ydiaeresis */
+    { 0x000013be, 31580 }, /* Ydiaeresis */
+    { 0x000000a5, 31591 }, /* yen */
+    { 0x01001ef2, 31595 }, /* Ygrave */
+    { 0x01001ef3, 31602 }, /* ygrave */
+    { 0x01001ef6, 31609 }, /* Yhook */
+    { 0x01001ef7, 31615 }, /* yhook */
+    { 0x01001ef8, 31621 }, /* Ytilde */
+    { 0x01001ef9, 31628 }, /* ytilde */
+    { 0x0000005a, 31635 }, /* Z */
+    { 0x0000007a, 31637 }, /* z */
+    { 0x000001af, 31639 }, /* Zabovedot */
+    { 0x000001bf, 31649 }, /* zabovedot */
+    { 0x000001ac, 31659 }, /* Zacute */
+    { 0x000001bc, 31666 }, /* zacute */
+    { 0x000001ae, 31673 }, /* Zcaron */
+    { 0x000001be, 31680 }, /* zcaron */
+    { 0x0000ff3d, 31687 }, /* Zen_Koho */
+    { 0x0000ff28, 31696 }, /* Zenkaku */
+    { 0x0000ff2a, 31704 }, /* Zenkaku_Hankaku */
+    { 0x01002080, 31720 }, /* zerosubscript */
+    { 0x01002070, 31734 }, /* zerosuperior */
+    { 0x010001b5, 31747 }, /* Zstroke */
+    { 0x010001b6, 31755 }, /* zstroke */
 };
 
 static const struct name_keysym keysym_to_name[] = {
-    { 0x00000000, 20091 }, /* NoSymbol */
-    { 0x00000020, 23803 }, /* space */
-    { 0x00000021, 12099 }, /* exclam */
-    { 0x00000022, 22187 }, /* quotedbl */
-    { 0x00000023, 20178 }, /* numbersign */
-    { 0x00000024, 11251 }, /* dollar */
-    { 0x00000025, 21487 }, /* percent */
+    { 0x00000000, 20139 }, /* NoSymbol */
+    { 0x00000020, 23864 }, /* space */
+    { 0x00000021, 12131 }, /* exclam */
+    { 0x00000022, 22248 }, /* quotedbl */
+    { 0x00000023, 20226 }, /* numbersign */
+    { 0x00000024, 11283 }, /* dollar */
+    { 0x00000025, 21548 }, /* percent */
     { 0x00000026, 908 }, /* ampersand */
     { 0x00000027, 934 }, /* apostrophe */
-    { 0x00000028, 21425 }, /* parenleft */
-    { 0x00000029, 21435 }, /* parenright */
+    { 0x00000028, 21486 }, /* parenleft */
+    { 0x00000029, 21496 }, /* parenright */
     { 0x0000002a, 3283 }, /* asterisk */
-    { 0x0000002b, 21557 }, /* plus */
-    { 0x0000002c, 8680 }, /* comma */
-    { 0x0000002d, 19733 }, /* minus */
-    { 0x0000002e, 21495 }, /* period */
-    { 0x0000002f, 23768 }, /* slash */
+    { 0x0000002b, 21618 }, /* plus */
+    { 0x0000002c, 8762 }, /* comma */
+    { 0x0000002d, 19781 }, /* minus */
+    { 0x0000002e, 21556 }, /* period */
+    { 0x0000002f, 23829 }, /* slash */
     { 0x00000030, 0 }, /* 0 */
     { 0x00000031, 2 }, /* 1 */
     { 0x00000032, 4 }, /* 2 */
@@ -4860,106 +5513,106 @@ static const struct name_keysym keysym_to_name[] = {
     { 0x00000038, 394 }, /* 8 */
     { 0x00000039, 396 }, /* 9 */
     { 0x0000003a, 8664 }, /* colon */
-    { 0x0000003b, 22734 }, /* semicolon */
-    { 0x0000003c, 19412 }, /* less */
-    { 0x0000003d, 12051 }, /* equal */
-    { 0x0000003e, 13272 }, /* greater */
-    { 0x0000003f, 22165 }, /* question */
+    { 0x0000003b, 22795 }, /* semicolon */
+    { 0x0000003c, 19460 }, /* less */
+    { 0x0000003d, 12083 }, /* equal */
+    { 0x0000003e, 13304 }, /* greater */
+    { 0x0000003f, 22226 }, /* question */
     { 0x00000040, 3292 }, /* at */
     { 0x00000041, 398 }, /* A */
     { 0x00000042, 3328 }, /* B */
     { 0x00000043, 8439 }, /* C */
-    { 0x00000044, 10320 }, /* D */
-    { 0x00000045, 11424 }, /* E */
-    { 0x00000046, 12155 }, /* F */
-    { 0x00000047, 12665 }, /* G */
-    { 0x00000048, 14378 }, /* H */
-    { 0x00000049, 17069 }, /* I */
-    { 0x0000004a, 18114 }, /* J */
-    { 0x0000004b, 18146 }, /* K */
-    { 0x0000004c, 19112 }, /* L */
-    { 0x0000004d, 19533 }, /* M */
-    { 0x0000004e, 19943 }, /* N */
-    { 0x0000004f, 20200 }, /* O */
-    { 0x00000050, 21373 }, /* P */
-    { 0x00000051, 22156 }, /* Q */
-    { 0x00000052, 22217 }, /* R */
-    { 0x00000053, 22579 }, /* S */
-    { 0x00000054, 24294 }, /* T */
-    { 0x00000055, 25847 }, /* U */
-    { 0x00000056, 26483 }, /* V */
-    { 0x00000057, 26545 }, /* W */
-    { 0x00000058, 26631 }, /* X */
-    { 0x00000059, 29021 }, /* Y */
-    { 0x0000005a, 29149 }, /* Z */
+    { 0x00000044, 10402 }, /* D */
+    { 0x00000045, 11456 }, /* E */
+    { 0x00000046, 12187 }, /* F */
+    { 0x00000047, 12697 }, /* G */
+    { 0x00000048, 14439 }, /* H */
+    { 0x00000049, 17117 }, /* I */
+    { 0x0000004a, 18162 }, /* J */
+    { 0x0000004b, 18194 }, /* K */
+    { 0x0000004c, 19160 }, /* L */
+    { 0x0000004d, 19581 }, /* M */
+    { 0x0000004e, 19991 }, /* N */
+    { 0x0000004f, 20248 }, /* O */
+    { 0x00000050, 21434 }, /* P */
+    { 0x00000051, 22217 }, /* Q */
+    { 0x00000052, 22278 }, /* R */
+    { 0x00000053, 22640 }, /* S */
+    { 0x00000054, 24355 }, /* T */
+    { 0x00000055, 25908 }, /* U */
+    { 0x00000056, 26544 }, /* V */
+    { 0x00000057, 26606 }, /* W */
+    { 0x00000058, 26692 }, /* X */
+    { 0x00000059, 31507 }, /* Y */
+    { 0x0000005a, 31635 }, /* Z */
     { 0x0000005b, 3603 }, /* bracketleft */
     { 0x0000005c, 3352 }, /* backslash */
     { 0x0000005d, 3615 }, /* bracketright */
     { 0x0000005e, 3260 }, /* asciicircum */
-    { 0x0000005f, 26346 }, /* underscore */
-    { 0x00000060, 13266 }, /* grave */
+    { 0x0000005f, 26407 }, /* underscore */
+    { 0x00000060, 13298 }, /* grave */
     { 0x00000061, 400 }, /* a */
     { 0x00000062, 3330 }, /* b */
     { 0x00000063, 8441 }, /* c */
-    { 0x00000064, 10322 }, /* d */
-    { 0x00000065, 11426 }, /* e */
-    { 0x00000066, 12157 }, /* f */
-    { 0x00000067, 12667 }, /* g */
-    { 0x00000068, 14380 }, /* h */
-    { 0x00000069, 17071 }, /* i */
-    { 0x0000006a, 18116 }, /* j */
-    { 0x0000006b, 18148 }, /* k */
-    { 0x0000006c, 19114 }, /* l */
-    { 0x0000006d, 19535 }, /* m */
-    { 0x0000006e, 19945 }, /* n */
-    { 0x0000006f, 20202 }, /* o */
-    { 0x00000070, 21375 }, /* p */
-    { 0x00000071, 22158 }, /* q */
-    { 0x00000072, 22219 }, /* r */
-    { 0x00000073, 22581 }, /* s */
-    { 0x00000074, 24296 }, /* t */
-    { 0x00000075, 25849 }, /* u */
-    { 0x00000076, 26485 }, /* v */
-    { 0x00000077, 26547 }, /* w */
-    { 0x00000078, 26633 }, /* x */
-    { 0x00000079, 29023 }, /* y */
-    { 0x0000007a, 29151 }, /* z */
+    { 0x00000064, 10404 }, /* d */
+    { 0x00000065, 11458 }, /* e */
+    { 0x00000066, 12189 }, /* f */
+    { 0x00000067, 12699 }, /* g */
+    { 0x00000068, 14441 }, /* h */
+    { 0x00000069, 17119 }, /* i */
+    { 0x0000006a, 18164 }, /* j */
+    { 0x0000006b, 18196 }, /* k */
+    { 0x0000006c, 19162 }, /* l */
+    { 0x0000006d, 19583 }, /* m */
+    { 0x0000006e, 19993 }, /* n */
+    { 0x0000006f, 20250 }, /* o */
+    { 0x00000070, 21436 }, /* p */
+    { 0x00000071, 22219 }, /* q */
+    { 0x00000072, 22280 }, /* r */
+    { 0x00000073, 22642 }, /* s */
+    { 0x00000074, 24357 }, /* t */
+    { 0x00000075, 25910 }, /* u */
+    { 0x00000076, 26546 }, /* v */
+    { 0x00000077, 26608 }, /* w */
+    { 0x00000078, 26694 }, /* x */
+    { 0x00000079, 31509 }, /* y */
+    { 0x0000007a, 31637 }, /* z */
     { 0x0000007b, 3582 }, /* braceleft */
     { 0x0000007c, 3392 }, /* bar */
     { 0x0000007d, 3592 }, /* braceright */
     { 0x0000007e, 3272 }, /* asciitilde */
-    { 0x000000a0, 20078 }, /* nobreakspace */
-    { 0x000000a1, 12106 }, /* exclamdown */
+    { 0x000000a0, 20126 }, /* nobreakspace */
+    { 0x000000a1, 12138 }, /* exclamdown */
     { 0x000000a2, 8589 }, /* cent */
-    { 0x000000a3, 23827 }, /* sterling */
-    { 0x000000a4, 8766 }, /* currency */
-    { 0x000000a5, 29105 }, /* yen */
+    { 0x000000a3, 23888 }, /* sterling */
+    { 0x000000a4, 8848 }, /* currency */
+    { 0x000000a5, 31591 }, /* yen */
     { 0x000000a6, 8389 }, /* brokenbar */
-    { 0x000000a7, 22719 }, /* section */
-    { 0x000000a8, 11203 }, /* diaeresis */
-    { 0x000000a9, 8717 }, /* copyright */
-    { 0x000000aa, 20852 }, /* ordfeminine */
-    { 0x000000ab, 14349 }, /* guillemotleft */
-    { 0x000000ac, 20147 }, /* notsign */
-    { 0x000000ad, 17062 }, /* hyphen */
-    { 0x000000ae, 22331 }, /* registered */
-    { 0x000000af, 19641 }, /* macron */
-    { 0x000000b0, 11153 }, /* degree */
-    { 0x000000b1, 21562 }, /* plusminus */
-    { 0x000000b2, 25825 }, /* twosuperior */
-    { 0x000000b3, 25571 }, /* threesuperior */
+    { 0x000000a7, 22780 }, /* section */
+    { 0x000000a8, 11235 }, /* diaeresis */
+    { 0x000000a9, 8799 }, /* copyright */
+    { 0x000000aa, 20900 }, /* ordfeminine */
+    { 0x000000ab, 14381 }, /* guillemetleft */
+    { 0x000000ac, 20195 }, /* notsign */
+    { 0x000000ad, 17110 }, /* hyphen */
+    { 0x000000ae, 22392 }, /* registered */
+    { 0x000000af, 19689 }, /* macron */
+    { 0x000000b0, 11185 }, /* degree */
+    { 0x000000b1, 21623 }, /* plusminus */
+    { 0x000000b2, 25886 }, /* twosuperior */
+    { 0x000000b3, 25632 }, /* threesuperior */
     { 0x000000b4, 820 }, /* acute */
-    { 0x000000b5, 19799 }, /* mu */
-    { 0x000000b6, 21415 }, /* paragraph */
-    { 0x000000b7, 21502 }, /* periodcentered */
+    { 0x000000b5, 19847 }, /* mu */
+    { 0x000000b6, 21476 }, /* paragraph */
+    { 0x000000b7, 21563 }, /* periodcentered */
     { 0x000000b8, 8581 }, /* cedilla */
-    { 0x000000b9, 20755 }, /* onesuperior */
-    { 0x000000ba, 19688 }, /* masculine */
-    { 0x000000bb, 14363 }, /* guillemotright */
-    { 0x000000bc, 20722 }, /* onequarter */
-    { 0x000000bd, 20714 }, /* onehalf */
-    { 0x000000be, 25542 }, /* threequarters */
-    { 0x000000bf, 22174 }, /* questiondown */
+    { 0x000000b9, 20803 }, /* onesuperior */
+    { 0x000000ba, 20912 }, /* ordmasculine */
+    { 0x000000bb, 14395 }, /* guillemetright */
+    { 0x000000bc, 20770 }, /* onequarter */
+    { 0x000000bd, 20762 }, /* onehalf */
+    { 0x000000be, 25603 }, /* threequarters */
+    { 0x000000bf, 22235 }, /* questiondown */
     { 0x000000c0, 854 }, /* Agrave */
     { 0x000000c1, 402 }, /* Aacute */
     { 0x000000c2, 622 }, /* Acircumflex */
@@ -4968,30 +5621,30 @@ static const struct name_keysym keysym_to_name[] = {
     { 0x000000c5, 2036 }, /* Aring */
     { 0x000000c6, 848 }, /* AE */
     { 0x000000c7, 8539 }, /* Ccedilla */
-    { 0x000000c8, 11724 }, /* Egrave */
-    { 0x000000c9, 11448 }, /* Eacute */
-    { 0x000000ca, 11496 }, /* Ecircumflex */
-    { 0x000000cb, 11702 }, /* Ediaeresis */
-    { 0x000000cc, 17205 }, /* Igrave */
-    { 0x000000cd, 17083 }, /* Iacute */
-    { 0x000000ce, 17131 }, /* Icircumflex */
-    { 0x000000cf, 17165 }, /* Idiaeresis */
-    { 0x000000d0, 12064 }, /* ETH */
-    { 0x000000d1, 20155 }, /* Ntilde */
-    { 0x000000d2, 20527 }, /* Ograve */
-    { 0x000000d3, 20204 }, /* Oacute */
-    { 0x000000d4, 20268 }, /* Ocircumflex */
-    { 0x000000d5, 21310 }, /* Otilde */
-    { 0x000000d6, 20466 }, /* Odiaeresis */
-    { 0x000000d7, 19839 }, /* multiply */
-    { 0x000000d8, 21296 }, /* Oslash */
-    { 0x000000d9, 25971 }, /* Ugrave */
-    { 0x000000da, 25851 }, /* Uacute */
-    { 0x000000db, 25899 }, /* Ucircumflex */
-    { 0x000000dc, 25923 }, /* Udiaeresis */
-    { 0x000000dd, 29025 }, /* Yacute */
-    { 0x000000de, 25499 }, /* THORN */
-    { 0x000000df, 23820 }, /* ssharp */
+    { 0x000000c8, 11756 }, /* Egrave */
+    { 0x000000c9, 11480 }, /* Eacute */
+    { 0x000000ca, 11528 }, /* Ecircumflex */
+    { 0x000000cb, 11734 }, /* Ediaeresis */
+    { 0x000000cc, 17253 }, /* Igrave */
+    { 0x000000cd, 17131 }, /* Iacute */
+    { 0x000000ce, 17179 }, /* Icircumflex */
+    { 0x000000cf, 17213 }, /* Idiaeresis */
+    { 0x000000d0, 12096 }, /* ETH */
+    { 0x000000d1, 20203 }, /* Ntilde */
+    { 0x000000d2, 20575 }, /* Ograve */
+    { 0x000000d3, 20252 }, /* Oacute */
+    { 0x000000d4, 20316 }, /* Ocircumflex */
+    { 0x000000d5, 21371 }, /* Otilde */
+    { 0x000000d6, 20514 }, /* Odiaeresis */
+    { 0x000000d7, 19887 }, /* multiply */
+    { 0x000000d8, 21357 }, /* Oslash */
+    { 0x000000d9, 26032 }, /* Ugrave */
+    { 0x000000da, 25912 }, /* Uacute */
+    { 0x000000db, 25960 }, /* Ucircumflex */
+    { 0x000000dc, 25984 }, /* Udiaeresis */
+    { 0x000000dd, 31511 }, /* Yacute */
+    { 0x000000de, 25560 }, /* THORN */
+    { 0x000000df, 23881 }, /* ssharp */
     { 0x000000e0, 861 }, /* agrave */
     { 0x000000e1, 409 }, /* aacute */
     { 0x000000e2, 634 }, /* acircumflex */
@@ -5000,208 +5653,208 @@ static const struct name_keysym keysym_to_name[] = {
     { 0x000000e5, 2042 }, /* aring */
     { 0x000000e6, 851 }, /* ae */
     { 0x000000e7, 8548 }, /* ccedilla */
-    { 0x000000e8, 11731 }, /* egrave */
-    { 0x000000e9, 11455 }, /* eacute */
-    { 0x000000ea, 11508 }, /* ecircumflex */
-    { 0x000000eb, 11713 }, /* ediaeresis */
-    { 0x000000ec, 17212 }, /* igrave */
-    { 0x000000ed, 17090 }, /* iacute */
-    { 0x000000ee, 17143 }, /* icircumflex */
-    { 0x000000ef, 17176 }, /* idiaeresis */
-    { 0x000000f0, 12072 }, /* eth */
-    { 0x000000f1, 20162 }, /* ntilde */
-    { 0x000000f2, 20534 }, /* ograve */
-    { 0x000000f3, 20211 }, /* oacute */
-    { 0x000000f4, 20280 }, /* ocircumflex */
-    { 0x000000f5, 21317 }, /* otilde */
-    { 0x000000f6, 20477 }, /* odiaeresis */
-    { 0x000000f7, 11242 }, /* division */
-    { 0x000000f8, 21303 }, /* oslash */
-    { 0x000000f9, 25978 }, /* ugrave */
-    { 0x000000fa, 25858 }, /* uacute */
-    { 0x000000fb, 25911 }, /* ucircumflex */
-    { 0x000000fc, 25934 }, /* udiaeresis */
-    { 0x000000fd, 29032 }, /* yacute */
-    { 0x000000fe, 25511 }, /* thorn */
-    { 0x000000ff, 29083 }, /* ydiaeresis */
+    { 0x000000e8, 11763 }, /* egrave */
+    { 0x000000e9, 11487 }, /* eacute */
+    { 0x000000ea, 11540 }, /* ecircumflex */
+    { 0x000000eb, 11745 }, /* ediaeresis */
+    { 0x000000ec, 17260 }, /* igrave */
+    { 0x000000ed, 17138 }, /* iacute */
+    { 0x000000ee, 17191 }, /* icircumflex */
+    { 0x000000ef, 17224 }, /* idiaeresis */
+    { 0x000000f0, 12104 }, /* eth */
+    { 0x000000f1, 20210 }, /* ntilde */
+    { 0x000000f2, 20582 }, /* ograve */
+    { 0x000000f3, 20259 }, /* oacute */
+    { 0x000000f4, 20328 }, /* ocircumflex */
+    { 0x000000f5, 21378 }, /* otilde */
+    { 0x000000f6, 20525 }, /* odiaeresis */
+    { 0x000000f7, 11274 }, /* division */
+    { 0x000000f8, 21364 }, /* oslash */
+    { 0x000000f9, 26039 }, /* ugrave */
+    { 0x000000fa, 25919 }, /* uacute */
+    { 0x000000fb, 25972 }, /* ucircumflex */
+    { 0x000000fc, 25995 }, /* udiaeresis */
+    { 0x000000fd, 31518 }, /* yacute */
+    { 0x000000fe, 25572 }, /* thorn */
+    { 0x000000ff, 31569 }, /* ydiaeresis */
     { 0x000001a1, 918 }, /* Aogonek */
     { 0x000001a2, 8383 }, /* breve */
-    { 0x000001a3, 19517 }, /* Lstroke */
-    { 0x000001a5, 19212 }, /* Lcaron */
-    { 0x000001a6, 22603 }, /* Sacute */
-    { 0x000001a9, 22617 }, /* Scaron */
-    { 0x000001aa, 22631 }, /* Scedilla */
-    { 0x000001ab, 24322 }, /* Tcaron */
-    { 0x000001ac, 29173 }, /* Zacute */
-    { 0x000001ae, 29187 }, /* Zcaron */
-    { 0x000001af, 29153 }, /* Zabovedot */
+    { 0x000001a3, 19565 }, /* Lstroke */
+    { 0x000001a5, 19260 }, /* Lcaron */
+    { 0x000001a6, 22664 }, /* Sacute */
+    { 0x000001a9, 22678 }, /* Scaron */
+    { 0x000001aa, 22692 }, /* Scedilla */
+    { 0x000001ab, 24383 }, /* Tcaron */
+    { 0x000001ac, 31659 }, /* Zacute */
+    { 0x000001ae, 31673 }, /* Zcaron */
+    { 0x000001af, 31639 }, /* Zabovedot */
     { 0x000001b1, 926 }, /* aogonek */
-    { 0x000001b2, 20520 }, /* ogonek */
-    { 0x000001b3, 19525 }, /* lstroke */
-    { 0x000001b5, 19219 }, /* lcaron */
-    { 0x000001b6, 22610 }, /* sacute */
+    { 0x000001b2, 20568 }, /* ogonek */
+    { 0x000001b3, 19573 }, /* lstroke */
+    { 0x000001b5, 19267 }, /* lcaron */
+    { 0x000001b6, 22671 }, /* sacute */
     { 0x000001b7, 8519 }, /* caron */
-    { 0x000001b9, 22624 }, /* scaron */
-    { 0x000001ba, 22640 }, /* scedilla */
-    { 0x000001bb, 24329 }, /* tcaron */
-    { 0x000001bc, 29180 }, /* zacute */
-    { 0x000001bd, 11283 }, /* doubleacute */
-    { 0x000001be, 29194 }, /* zcaron */
-    { 0x000001bf, 29163 }, /* zabovedot */
-    { 0x000001c0, 22272 }, /* Racute */
+    { 0x000001b9, 22685 }, /* scaron */
+    { 0x000001ba, 22701 }, /* scedilla */
+    { 0x000001bb, 24390 }, /* tcaron */
+    { 0x000001bc, 31666 }, /* zacute */
+    { 0x000001bd, 11315 }, /* doubleacute */
+    { 0x000001be, 31680 }, /* zcaron */
+    { 0x000001bf, 31649 }, /* zabovedot */
+    { 0x000001c0, 22333 }, /* Racute */
     { 0x000001c3, 445 }, /* Abreve */
-    { 0x000001c5, 19147 }, /* Lacute */
+    { 0x000001c5, 19195 }, /* Lacute */
     { 0x000001c6, 8475 }, /* Cacute */
     { 0x000001c8, 8525 }, /* Ccaron */
-    { 0x000001ca, 12035 }, /* Eogonek */
-    { 0x000001cc, 11482 }, /* Ecaron */
-    { 0x000001cf, 10365 }, /* Dcaron */
-    { 0x000001d0, 11401 }, /* Dstroke */
-    { 0x000001d1, 19953 }, /* Nacute */
-    { 0x000001d2, 19977 }, /* Ncaron */
-    { 0x000001d5, 20488 }, /* Odoubleacute */
-    { 0x000001d8, 22294 }, /* Rcaron */
-    { 0x000001d9, 26452 }, /* Uring */
-    { 0x000001db, 25945 }, /* Udoubleacute */
-    { 0x000001de, 24336 }, /* Tcedilla */
-    { 0x000001e0, 22279 }, /* racute */
+    { 0x000001ca, 12067 }, /* Eogonek */
+    { 0x000001cc, 11514 }, /* Ecaron */
+    { 0x000001cf, 10447 }, /* Dcaron */
+    { 0x000001d0, 11433 }, /* Dstroke */
+    { 0x000001d1, 20001 }, /* Nacute */
+    { 0x000001d2, 20025 }, /* Ncaron */
+    { 0x000001d5, 20536 }, /* Odoubleacute */
+    { 0x000001d8, 22355 }, /* Rcaron */
+    { 0x000001d9, 26513 }, /* Uring */
+    { 0x000001db, 26006 }, /* Udoubleacute */
+    { 0x000001de, 24397 }, /* Tcedilla */
+    { 0x000001e0, 22340 }, /* racute */
     { 0x000001e3, 452 }, /* abreve */
-    { 0x000001e5, 19154 }, /* lacute */
+    { 0x000001e5, 19202 }, /* lacute */
     { 0x000001e6, 8482 }, /* cacute */
     { 0x000001e8, 8532 }, /* ccaron */
-    { 0x000001ea, 12043 }, /* eogonek */
-    { 0x000001ec, 11489 }, /* ecaron */
-    { 0x000001ef, 10372 }, /* dcaron */
-    { 0x000001f0, 11409 }, /* dstroke */
-    { 0x000001f1, 19960 }, /* nacute */
-    { 0x000001f2, 19984 }, /* ncaron */
-    { 0x000001f5, 20501 }, /* odoubleacute */
-    { 0x000001f8, 22301 }, /* rcaron */
-    { 0x000001f9, 26458 }, /* uring */
-    { 0x000001fb, 25958 }, /* udoubleacute */
-    { 0x000001fe, 24345 }, /* tcedilla */
+    { 0x000001ea, 12075 }, /* eogonek */
+    { 0x000001ec, 11521 }, /* ecaron */
+    { 0x000001ef, 10454 }, /* dcaron */
+    { 0x000001f0, 11441 }, /* dstroke */
+    { 0x000001f1, 20008 }, /* nacute */
+    { 0x000001f2, 20032 }, /* ncaron */
+    { 0x000001f5, 20549 }, /* odoubleacute */
+    { 0x000001f8, 22362 }, /* rcaron */
+    { 0x000001f9, 26519 }, /* uring */
+    { 0x000001fb, 26019 }, /* udoubleacute */
+    { 0x000001fe, 24406 }, /* tcedilla */
     { 0x000001ff, 436 }, /* abovedot */
-    { 0x000002a1, 17027 }, /* Hstroke */
-    { 0x000002a6, 16056 }, /* Hcircumflex */
-    { 0x000002a9, 17073 }, /* Iabovedot */
-    { 0x000002ab, 12689 }, /* Gbreve */
-    { 0x000002ac, 18118 }, /* Jcircumflex */
-    { 0x000002b1, 17035 }, /* hstroke */
-    { 0x000002b6, 16068 }, /* hcircumflex */
-    { 0x000002b9, 17187 }, /* idotless */
-    { 0x000002bb, 12696 }, /* gbreve */
-    { 0x000002bc, 18130 }, /* jcircumflex */
+    { 0x000002a1, 17075 }, /* Hstroke */
+    { 0x000002a6, 16117 }, /* Hcircumflex */
+    { 0x000002a9, 17121 }, /* Iabovedot */
+    { 0x000002ab, 12721 }, /* Gbreve */
+    { 0x000002ac, 18166 }, /* Jcircumflex */
+    { 0x000002b1, 17083 }, /* hstroke */
+    { 0x000002b6, 16129 }, /* hcircumflex */
+    { 0x000002b9, 17235 }, /* idotless */
+    { 0x000002bb, 12728 }, /* gbreve */
+    { 0x000002bc, 18178 }, /* jcircumflex */
     { 0x000002c5, 8455 }, /* Cabovedot */
     { 0x000002c6, 8557 }, /* Ccircumflex */
-    { 0x000002d5, 12669 }, /* Gabovedot */
-    { 0x000002d8, 12735 }, /* Gcircumflex */
-    { 0x000002dd, 25885 }, /* Ubreve */
-    { 0x000002de, 22661 }, /* Scircumflex */
+    { 0x000002d5, 12701 }, /* Gabovedot */
+    { 0x000002d8, 12767 }, /* Gcircumflex */
+    { 0x000002dd, 25946 }, /* Ubreve */
+    { 0x000002de, 22722 }, /* Scircumflex */
     { 0x000002e5, 8465 }, /* cabovedot */
     { 0x000002e6, 8569 }, /* ccircumflex */
-    { 0x000002f5, 12679 }, /* gabovedot */
-    { 0x000002f8, 12747 }, /* gcircumflex */
-    { 0x000002fd, 25892 }, /* ubreve */
-    { 0x000002fe, 22673 }, /* scircumflex */
-    { 0x000003a2, 19108 }, /* kra */
-    { 0x000003a3, 22308 }, /* Rcedilla */
-    { 0x000003a5, 18100 }, /* Itilde */
-    { 0x000003a6, 19226 }, /* Lcedilla */
-    { 0x000003aa, 11839 }, /* Emacron */
-    { 0x000003ab, 12717 }, /* Gcedilla */
-    { 0x000003ac, 25788 }, /* Tslash */
-    { 0x000003b3, 22317 }, /* rcedilla */
-    { 0x000003b5, 18107 }, /* itilde */
-    { 0x000003b6, 19235 }, /* lcedilla */
-    { 0x000003ba, 11847 }, /* emacron */
-    { 0x000003bb, 12726 }, /* gcedilla */
-    { 0x000003bc, 25795 }, /* tslash */
-    { 0x000003bd, 11983 }, /* ENG */
-    { 0x000003bf, 11987 }, /* eng */
+    { 0x000002f5, 12711 }, /* gabovedot */
+    { 0x000002f8, 12779 }, /* gcircumflex */
+    { 0x000002fd, 25953 }, /* ubreve */
+    { 0x000002fe, 22734 }, /* scircumflex */
+    { 0x000003a2, 19156 }, /* kra */
+    { 0x000003a3, 22369 }, /* Rcedilla */
+    { 0x000003a5, 18148 }, /* Itilde */
+    { 0x000003a6, 19274 }, /* Lcedilla */
+    { 0x000003aa, 11871 }, /* Emacron */
+    { 0x000003ab, 12749 }, /* Gcedilla */
+    { 0x000003ac, 25849 }, /* Tslash */
+    { 0x000003b3, 22378 }, /* rcedilla */
+    { 0x000003b5, 18155 }, /* itilde */
+    { 0x000003b6, 19283 }, /* lcedilla */
+    { 0x000003ba, 11879 }, /* emacron */
+    { 0x000003bb, 12758 }, /* gcedilla */
+    { 0x000003bc, 25856 }, /* tslash */
+    { 0x000003bd, 12015 }, /* ENG */
+    { 0x000003bf, 12019 }, /* eng */
     { 0x000003c0, 892 }, /* Amacron */
-    { 0x000003c7, 17338 }, /* Iogonek */
-    { 0x000003cc, 11428 }, /* Eabovedot */
-    { 0x000003cf, 17231 }, /* Imacron */
-    { 0x000003d1, 19991 }, /* Ncedilla */
-    { 0x000003d2, 20679 }, /* Omacron */
-    { 0x000003d3, 18779 }, /* Kcedilla */
-    { 0x000003d9, 26368 }, /* Uogonek */
-    { 0x000003dd, 26469 }, /* Utilde */
-    { 0x000003de, 26321 }, /* Umacron */
+    { 0x000003c7, 17386 }, /* Iogonek */
+    { 0x000003cc, 11460 }, /* Eabovedot */
+    { 0x000003cf, 17279 }, /* Imacron */
+    { 0x000003d1, 20039 }, /* Ncedilla */
+    { 0x000003d2, 20727 }, /* Omacron */
+    { 0x000003d3, 18827 }, /* Kcedilla */
+    { 0x000003d9, 26429 }, /* Uogonek */
+    { 0x000003dd, 26530 }, /* Utilde */
+    { 0x000003de, 26382 }, /* Umacron */
     { 0x000003e0, 900 }, /* amacron */
-    { 0x000003e7, 17346 }, /* iogonek */
-    { 0x000003ec, 11438 }, /* eabovedot */
-    { 0x000003ef, 17239 }, /* imacron */
-    { 0x000003f1, 20000 }, /* ncedilla */
-    { 0x000003f2, 20687 }, /* omacron */
-    { 0x000003f3, 18788 }, /* kcedilla */
-    { 0x000003f9, 26376 }, /* uogonek */
-    { 0x000003fd, 26476 }, /* utilde */
-    { 0x000003fe, 26329 }, /* umacron */
-    { 0x0000047e, 21364 }, /* overline */
-    { 0x000004a1, 18243 }, /* kana_fullstop */
-    { 0x000004a2, 18477 }, /* kana_openingbracket */
-    { 0x000004a3, 18173 }, /* kana_closingbracket */
-    { 0x000004a4, 18193 }, /* kana_comma */
-    { 0x000004a5, 18204 }, /* kana_conjunctive */
-    { 0x000004a6, 18689 }, /* kana_WO */
-    { 0x000004a7, 18150 }, /* kana_a */
-    { 0x000004a8, 18297 }, /* kana_i */
-    { 0x000004a9, 18667 }, /* kana_u */
-    { 0x000004aa, 18221 }, /* kana_e */
-    { 0x000004ab, 18463 }, /* kana_o */
-    { 0x000004ac, 18697 }, /* kana_ya */
-    { 0x000004ad, 18729 }, /* kana_yu */
-    { 0x000004ae, 18713 }, /* kana_yo */
-    { 0x000004af, 18633 }, /* kana_tsu */
-    { 0x000004b0, 22130 }, /* prolongedsound */
-    { 0x000004b1, 18157 }, /* kana_A */
-    { 0x000004b2, 18304 }, /* kana_I */
-    { 0x000004b3, 18674 }, /* kana_U */
-    { 0x000004b4, 18228 }, /* kana_E */
-    { 0x000004b5, 18470 }, /* kana_O */
-    { 0x000004b6, 18311 }, /* kana_KA */
-    { 0x000004b7, 18327 }, /* kana_KI */
-    { 0x000004b8, 18343 }, /* kana_KU */
-    { 0x000004b9, 18319 }, /* kana_KE */
-    { 0x000004ba, 18335 }, /* kana_KO */
-    { 0x000004bb, 18537 }, /* kana_SA */
-    { 0x000004bc, 18553 }, /* kana_SHI */
-    { 0x000004bd, 18581 }, /* kana_SU */
-    { 0x000004be, 18545 }, /* kana_SE */
-    { 0x000004bf, 18573 }, /* kana_SO */
-    { 0x000004c0, 18601 }, /* kana_TA */
-    { 0x000004c1, 18164 }, /* kana_CHI */
-    { 0x000004c2, 18642 }, /* kana_TSU */
-    { 0x000004c3, 18609 }, /* kana_TE */
-    { 0x000004c4, 18625 }, /* kana_TO */
-    { 0x000004c5, 18423 }, /* kana_NA */
-    { 0x000004c6, 18439 }, /* kana_NI */
-    { 0x000004c7, 18455 }, /* kana_NU */
-    { 0x000004c8, 18431 }, /* kana_NE */
-    { 0x000004c9, 18447 }, /* kana_NO */
-    { 0x000004ca, 18257 }, /* kana_HA */
-    { 0x000004cb, 18273 }, /* kana_HI */
-    { 0x000004cc, 18235 }, /* kana_FU */
-    { 0x000004cd, 18265 }, /* kana_HE */
-    { 0x000004ce, 18281 }, /* kana_HO */
-    { 0x000004cf, 18361 }, /* kana_MA */
-    { 0x000004d0, 18377 }, /* kana_MI */
-    { 0x000004d1, 18408 }, /* kana_MU */
-    { 0x000004d2, 18369 }, /* kana_ME */
-    { 0x000004d3, 18400 }, /* kana_MO */
-    { 0x000004d4, 18705 }, /* kana_YA */
-    { 0x000004d5, 18737 }, /* kana_YU */
-    { 0x000004d6, 18721 }, /* kana_YO */
-    { 0x000004d7, 18497 }, /* kana_RA */
-    { 0x000004d8, 18513 }, /* kana_RI */
-    { 0x000004d9, 18529 }, /* kana_RU */
-    { 0x000004da, 18505 }, /* kana_RE */
-    { 0x000004db, 18521 }, /* kana_RO */
-    { 0x000004dc, 18681 }, /* kana_WA */
-    { 0x000004dd, 18416 }, /* kana_N */
-    { 0x000004de, 26519 }, /* voicedsound */
-    { 0x000004df, 22744 }, /* semivoicedsound */
+    { 0x000003e7, 17394 }, /* iogonek */
+    { 0x000003ec, 11470 }, /* eabovedot */
+    { 0x000003ef, 17287 }, /* imacron */
+    { 0x000003f1, 20048 }, /* ncedilla */
+    { 0x000003f2, 20735 }, /* omacron */
+    { 0x000003f3, 18836 }, /* kcedilla */
+    { 0x000003f9, 26437 }, /* uogonek */
+    { 0x000003fd, 26537 }, /* utilde */
+    { 0x000003fe, 26390 }, /* umacron */
+    { 0x0000047e, 21425 }, /* overline */
+    { 0x000004a1, 18291 }, /* kana_fullstop */
+    { 0x000004a2, 18525 }, /* kana_openingbracket */
+    { 0x000004a3, 18221 }, /* kana_closingbracket */
+    { 0x000004a4, 18241 }, /* kana_comma */
+    { 0x000004a5, 18252 }, /* kana_conjunctive */
+    { 0x000004a6, 18737 }, /* kana_WO */
+    { 0x000004a7, 18198 }, /* kana_a */
+    { 0x000004a8, 18345 }, /* kana_i */
+    { 0x000004a9, 18715 }, /* kana_u */
+    { 0x000004aa, 18269 }, /* kana_e */
+    { 0x000004ab, 18511 }, /* kana_o */
+    { 0x000004ac, 18745 }, /* kana_ya */
+    { 0x000004ad, 18777 }, /* kana_yu */
+    { 0x000004ae, 18761 }, /* kana_yo */
+    { 0x000004af, 18681 }, /* kana_tsu */
+    { 0x000004b0, 22191 }, /* prolongedsound */
+    { 0x000004b1, 18205 }, /* kana_A */
+    { 0x000004b2, 18352 }, /* kana_I */
+    { 0x000004b3, 18722 }, /* kana_U */
+    { 0x000004b4, 18276 }, /* kana_E */
+    { 0x000004b5, 18518 }, /* kana_O */
+    { 0x000004b6, 18359 }, /* kana_KA */
+    { 0x000004b7, 18375 }, /* kana_KI */
+    { 0x000004b8, 18391 }, /* kana_KU */
+    { 0x000004b9, 18367 }, /* kana_KE */
+    { 0x000004ba, 18383 }, /* kana_KO */
+    { 0x000004bb, 18585 }, /* kana_SA */
+    { 0x000004bc, 18601 }, /* kana_SHI */
+    { 0x000004bd, 18629 }, /* kana_SU */
+    { 0x000004be, 18593 }, /* kana_SE */
+    { 0x000004bf, 18621 }, /* kana_SO */
+    { 0x000004c0, 18649 }, /* kana_TA */
+    { 0x000004c1, 18212 }, /* kana_CHI */
+    { 0x000004c2, 18690 }, /* kana_TSU */
+    { 0x000004c3, 18657 }, /* kana_TE */
+    { 0x000004c4, 18673 }, /* kana_TO */
+    { 0x000004c5, 18471 }, /* kana_NA */
+    { 0x000004c6, 18487 }, /* kana_NI */
+    { 0x000004c7, 18503 }, /* kana_NU */
+    { 0x000004c8, 18479 }, /* kana_NE */
+    { 0x000004c9, 18495 }, /* kana_NO */
+    { 0x000004ca, 18305 }, /* kana_HA */
+    { 0x000004cb, 18321 }, /* kana_HI */
+    { 0x000004cc, 18283 }, /* kana_FU */
+    { 0x000004cd, 18313 }, /* kana_HE */
+    { 0x000004ce, 18329 }, /* kana_HO */
+    { 0x000004cf, 18409 }, /* kana_MA */
+    { 0x000004d0, 18425 }, /* kana_MI */
+    { 0x000004d1, 18456 }, /* kana_MU */
+    { 0x000004d2, 18417 }, /* kana_ME */
+    { 0x000004d3, 18448 }, /* kana_MO */
+    { 0x000004d4, 18753 }, /* kana_YA */
+    { 0x000004d5, 18785 }, /* kana_YU */
+    { 0x000004d6, 18769 }, /* kana_YO */
+    { 0x000004d7, 18545 }, /* kana_RA */
+    { 0x000004d8, 18561 }, /* kana_RI */
+    { 0x000004d9, 18577 }, /* kana_RU */
+    { 0x000004da, 18553 }, /* kana_RE */
+    { 0x000004db, 18569 }, /* kana_RO */
+    { 0x000004dc, 18729 }, /* kana_WA */
+    { 0x000004dd, 18464 }, /* kana_N */
+    { 0x000004de, 26580 }, /* voicedsound */
+    { 0x000004df, 22805 }, /* semivoicedsound */
     { 0x000005ac, 1109 }, /* Arabic_comma */
     { 0x000005bb, 1764 }, /* Arabic_semicolon */
     { 0x000005bf, 1698 }, /* Arabic_question_mark */
@@ -5250,555 +5903,555 @@ static const struct name_keysym keysym_to_name[] = {
     { 0x000005f0, 1515 }, /* Arabic_kasra */
     { 0x000005f1, 1781 }, /* Arabic_shadda */
     { 0x000005f2, 1808 }, /* Arabic_sukun */
-    { 0x000006a1, 22760 }, /* Serbian_dje */
-    { 0x000006a2, 19585 }, /* Macedonia_gje */
-    { 0x000006a3, 9456 }, /* Cyrillic_io */
-    { 0x000006a4, 26199 }, /* Ukrainian_ie */
-    { 0x000006a5, 19557 }, /* Macedonia_dse */
-    { 0x000006a6, 26175 }, /* Ukrainian_i */
-    { 0x000006a7, 26225 }, /* Ukrainian_yi */
-    { 0x000006a8, 9480 }, /* Cyrillic_je */
-    { 0x000006a9, 9618 }, /* Cyrillic_lje */
-    { 0x000006aa, 9644 }, /* Cyrillic_nje */
-    { 0x000006ab, 22878 }, /* Serbian_tshe */
-    { 0x000006ac, 19613 }, /* Macedonia_kje */
-    { 0x000006ad, 26123 }, /* Ukrainian_ghe_with_upturn */
+    { 0x000006a1, 22821 }, /* Serbian_dje */
+    { 0x000006a2, 19633 }, /* Macedonia_gje */
+    { 0x000006a3, 9538 }, /* Cyrillic_io */
+    { 0x000006a4, 26260 }, /* Ukrainian_ie */
+    { 0x000006a5, 19605 }, /* Macedonia_dse */
+    { 0x000006a6, 26236 }, /* Ukrainian_i */
+    { 0x000006a7, 26286 }, /* Ukrainian_yi */
+    { 0x000006a8, 9562 }, /* Cyrillic_je */
+    { 0x000006a9, 9700 }, /* Cyrillic_lje */
+    { 0x000006aa, 9726 }, /* Cyrillic_nje */
+    { 0x000006ab, 22939 }, /* Serbian_tshe */
+    { 0x000006ac, 19661 }, /* Macedonia_kje */
+    { 0x000006ad, 26184 }, /* Ukrainian_ghe_with_upturn */
     { 0x000006ae, 8399 }, /* Byelorussian_shortu */
-    { 0x000006af, 8972 }, /* Cyrillic_dzhe */
-    { 0x000006b0, 20189 }, /* numerosign */
-    { 0x000006b1, 22772 }, /* Serbian_DJE */
-    { 0x000006b2, 19599 }, /* Macedonia_GJE */
-    { 0x000006b3, 9468 }, /* Cyrillic_IO */
-    { 0x000006b4, 26212 }, /* Ukrainian_IE */
-    { 0x000006b5, 19571 }, /* Macedonia_DSE */
-    { 0x000006b6, 26187 }, /* Ukrainian_I */
-    { 0x000006b7, 26238 }, /* Ukrainian_YI */
-    { 0x000006b8, 9492 }, /* Cyrillic_JE */
-    { 0x000006b9, 9631 }, /* Cyrillic_LJE */
-    { 0x000006ba, 9657 }, /* Cyrillic_NJE */
-    { 0x000006bb, 22891 }, /* Serbian_TSHE */
-    { 0x000006bc, 19627 }, /* Macedonia_KJE */
-    { 0x000006bd, 26149 }, /* Ukrainian_GHE_WITH_UPTURN */
+    { 0x000006af, 9054 }, /* Cyrillic_dzhe */
+    { 0x000006b0, 20237 }, /* numerosign */
+    { 0x000006b1, 22833 }, /* Serbian_DJE */
+    { 0x000006b2, 19647 }, /* Macedonia_GJE */
+    { 0x000006b3, 9550 }, /* Cyrillic_IO */
+    { 0x000006b4, 26273 }, /* Ukrainian_IE */
+    { 0x000006b5, 19619 }, /* Macedonia_DSE */
+    { 0x000006b6, 26248 }, /* Ukrainian_I */
+    { 0x000006b7, 26299 }, /* Ukrainian_YI */
+    { 0x000006b8, 9574 }, /* Cyrillic_JE */
+    { 0x000006b9, 9713 }, /* Cyrillic_LJE */
+    { 0x000006ba, 9739 }, /* Cyrillic_NJE */
+    { 0x000006bb, 22952 }, /* Serbian_TSHE */
+    { 0x000006bc, 19675 }, /* Macedonia_KJE */
+    { 0x000006bd, 26210 }, /* Ukrainian_GHE_WITH_UPTURN */
     { 0x000006be, 8419 }, /* Byelorussian_SHORTU */
-    { 0x000006bf, 8986 }, /* Cyrillic_DZHE */
-    { 0x000006c0, 10200 }, /* Cyrillic_yu */
-    { 0x000006c1, 8782 }, /* Cyrillic_a */
-    { 0x000006c2, 8804 }, /* Cyrillic_be */
-    { 0x000006c3, 9952 }, /* Cyrillic_tse */
-    { 0x000006c4, 8948 }, /* Cyrillic_de */
-    { 0x000006c5, 9432 }, /* Cyrillic_ie */
-    { 0x000006c6, 9022 }, /* Cyrillic_ef */
-    { 0x000006c7, 9210 }, /* Cyrillic_ghe */
-    { 0x000006c8, 9270 }, /* Cyrillic_ha */
-    { 0x000006c9, 9374 }, /* Cyrillic_i */
-    { 0x000006ca, 9860 }, /* Cyrillic_shorti */
-    { 0x000006cb, 9504 }, /* Cyrillic_ka */
-    { 0x000006cc, 9046 }, /* Cyrillic_el */
-    { 0x000006cd, 9070 }, /* Cyrillic_em */
-    { 0x000006ce, 9094 }, /* Cyrillic_en */
-    { 0x000006cf, 9670 }, /* Cyrillic_o */
-    { 0x000006d0, 9722 }, /* Cyrillic_pe */
-    { 0x000006d1, 10148 }, /* Cyrillic_ya */
-    { 0x000006d2, 9162 }, /* Cyrillic_er */
-    { 0x000006d3, 9186 }, /* Cyrillic_es */
-    { 0x000006d4, 9928 }, /* Cyrillic_te */
-    { 0x000006d5, 9978 }, /* Cyrillic_u */
-    { 0x000006d6, 10248 }, /* Cyrillic_zhe */
-    { 0x000006d7, 10124 }, /* Cyrillic_ve */
-    { 0x000006d8, 9892 }, /* Cyrillic_softsign */
-    { 0x000006d9, 10172 }, /* Cyrillic_yeru */
-    { 0x000006da, 10224 }, /* Cyrillic_ze */
-    { 0x000006db, 9776 }, /* Cyrillic_sha */
-    { 0x000006dc, 9000 }, /* Cyrillic_e */
-    { 0x000006dd, 9802 }, /* Cyrillic_shcha */
-    { 0x000006de, 8828 }, /* Cyrillic_che */
-    { 0x000006df, 9338 }, /* Cyrillic_hardsign */
-    { 0x000006e0, 10212 }, /* Cyrillic_YU */
-    { 0x000006e1, 8793 }, /* Cyrillic_A */
-    { 0x000006e2, 8816 }, /* Cyrillic_BE */
-    { 0x000006e3, 9965 }, /* Cyrillic_TSE */
-    { 0x000006e4, 8960 }, /* Cyrillic_DE */
-    { 0x000006e5, 9444 }, /* Cyrillic_IE */
-    { 0x000006e6, 9034 }, /* Cyrillic_EF */
-    { 0x000006e7, 9223 }, /* Cyrillic_GHE */
-    { 0x000006e8, 9282 }, /* Cyrillic_HA */
-    { 0x000006e9, 9385 }, /* Cyrillic_I */
-    { 0x000006ea, 9876 }, /* Cyrillic_SHORTI */
-    { 0x000006eb, 9516 }, /* Cyrillic_KA */
-    { 0x000006ec, 9058 }, /* Cyrillic_EL */
-    { 0x000006ed, 9082 }, /* Cyrillic_EM */
-    { 0x000006ee, 9106 }, /* Cyrillic_EN */
-    { 0x000006ef, 9681 }, /* Cyrillic_O */
-    { 0x000006f0, 9734 }, /* Cyrillic_PE */
-    { 0x000006f1, 10160 }, /* Cyrillic_YA */
-    { 0x000006f2, 9174 }, /* Cyrillic_ER */
-    { 0x000006f3, 9198 }, /* Cyrillic_ES */
-    { 0x000006f4, 9940 }, /* Cyrillic_TE */
-    { 0x000006f5, 9989 }, /* Cyrillic_U */
-    { 0x000006f6, 10261 }, /* Cyrillic_ZHE */
-    { 0x000006f7, 10136 }, /* Cyrillic_VE */
-    { 0x000006f8, 9910 }, /* Cyrillic_SOFTSIGN */
-    { 0x000006f9, 10186 }, /* Cyrillic_YERU */
-    { 0x000006fa, 10236 }, /* Cyrillic_ZE */
-    { 0x000006fb, 9789 }, /* Cyrillic_SHA */
-    { 0x000006fc, 9011 }, /* Cyrillic_E */
-    { 0x000006fd, 9817 }, /* Cyrillic_SHCHA */
-    { 0x000006fe, 8841 }, /* Cyrillic_CHE */
-    { 0x000006ff, 9356 }, /* Cyrillic_HARDSIGN */
-    { 0x000007a1, 13342 }, /* Greek_ALPHAaccent */
-    { 0x000007a2, 13472 }, /* Greek_EPSILONaccent */
-    { 0x000007a3, 13532 }, /* Greek_ETAaccent */
-    { 0x000007a4, 13647 }, /* Greek_IOTAaccent */
-    { 0x000007a5, 13726 }, /* Greek_IOTAdieresis */
-    { 0x000007a7, 13962 }, /* Greek_OMICRONaccent */
-    { 0x000007a8, 14189 }, /* Greek_UPSILONaccent */
-    { 0x000007a9, 14257 }, /* Greek_UPSILONdieresis */
-    { 0x000007ab, 13898 }, /* Greek_OMEGAaccent */
-    { 0x000007ae, 13297 }, /* Greek_accentdieresis */
-    { 0x000007af, 13610 }, /* Greek_horizbar */
-    { 0x000007b1, 13360 }, /* Greek_alphaaccent */
-    { 0x000007b2, 13492 }, /* Greek_epsilonaccent */
-    { 0x000007b3, 13548 }, /* Greek_etaaccent */
-    { 0x000007b4, 13664 }, /* Greek_iotaaccent */
-    { 0x000007b5, 13745 }, /* Greek_iotadieresis */
-    { 0x000007b6, 13681 }, /* Greek_iotaaccentdieresis */
-    { 0x000007b7, 13982 }, /* Greek_omicronaccent */
-    { 0x000007b8, 14209 }, /* Greek_upsilonaccent */
-    { 0x000007b9, 14279 }, /* Greek_upsilondieresis */
-    { 0x000007ba, 14229 }, /* Greek_upsilonaccentdieresis */
-    { 0x000007bb, 13916 }, /* Greek_omegaaccent */
-    { 0x000007c1, 13318 }, /* Greek_ALPHA */
-    { 0x000007c2, 13378 }, /* Greek_BETA */
-    { 0x000007c3, 13586 }, /* Greek_GAMMA */
-    { 0x000007c4, 13420 }, /* Greek_DELTA */
-    { 0x000007c5, 13444 }, /* Greek_EPSILON */
-    { 0x000007c6, 14319 }, /* Greek_ZETA */
-    { 0x000007c7, 13512 }, /* Greek_ETA */
-    { 0x000007c8, 14137 }, /* Greek_THETA */
-    { 0x000007c9, 13625 }, /* Greek_IOTA */
-    { 0x000007ca, 13764 }, /* Greek_KAPPA */
-    { 0x000007cb, 13814 }, /* Greek_LAMDA */
-    { 0x000007cc, 13838 }, /* Greek_MU */
-    { 0x000007cd, 13856 }, /* Greek_NU */
-    { 0x000007ce, 14301 }, /* Greek_XI */
-    { 0x000007cf, 13934 }, /* Greek_OMICRON */
-    { 0x000007d0, 14022 }, /* Greek_PI */
-    { 0x000007d1, 14060 }, /* Greek_RHO */
-    { 0x000007d2, 14080 }, /* Greek_SIGMA */
-    { 0x000007d4, 14117 }, /* Greek_TAU */
-    { 0x000007d5, 14161 }, /* Greek_UPSILON */
-    { 0x000007d6, 14002 }, /* Greek_PHI */
-    { 0x000007d7, 13400 }, /* Greek_CHI */
-    { 0x000007d8, 14040 }, /* Greek_PSI */
-    { 0x000007d9, 13874 }, /* Greek_OMEGA */
-    { 0x000007e1, 13330 }, /* Greek_alpha */
-    { 0x000007e2, 13389 }, /* Greek_beta */
-    { 0x000007e3, 13598 }, /* Greek_gamma */
-    { 0x000007e4, 13432 }, /* Greek_delta */
-    { 0x000007e5, 13458 }, /* Greek_epsilon */
-    { 0x000007e6, 14330 }, /* Greek_zeta */
-    { 0x000007e7, 13522 }, /* Greek_eta */
-    { 0x000007e8, 14149 }, /* Greek_theta */
-    { 0x000007e9, 13636 }, /* Greek_iota */
-    { 0x000007ea, 13776 }, /* Greek_kappa */
-    { 0x000007eb, 13826 }, /* Greek_lamda */
-    { 0x000007ec, 13847 }, /* Greek_mu */
-    { 0x000007ed, 13865 }, /* Greek_nu */
-    { 0x000007ee, 14310 }, /* Greek_xi */
-    { 0x000007ef, 13948 }, /* Greek_omicron */
-    { 0x000007f0, 14031 }, /* Greek_pi */
-    { 0x000007f1, 14070 }, /* Greek_rho */
-    { 0x000007f2, 14092 }, /* Greek_sigma */
-    { 0x000007f3, 13564 }, /* Greek_finalsmallsigma */
-    { 0x000007f4, 14127 }, /* Greek_tau */
-    { 0x000007f5, 14175 }, /* Greek_upsilon */
-    { 0x000007f6, 14012 }, /* Greek_phi */
-    { 0x000007f7, 13410 }, /* Greek_chi */
-    { 0x000007f8, 14050 }, /* Greek_psi */
-    { 0x000007f9, 13886 }, /* Greek_omega */
-    { 0x000008a1, 19356 }, /* leftradical */
-    { 0x000008a2, 25621 }, /* topleftradical */
-    { 0x000008a3, 16667 }, /* horizconnector */
-    { 0x000008a4, 25595 }, /* topintegral */
+    { 0x000006bf, 9068 }, /* Cyrillic_DZHE */
+    { 0x000006c0, 10282 }, /* Cyrillic_yu */
+    { 0x000006c1, 8864 }, /* Cyrillic_a */
+    { 0x000006c2, 8886 }, /* Cyrillic_be */
+    { 0x000006c3, 10034 }, /* Cyrillic_tse */
+    { 0x000006c4, 9030 }, /* Cyrillic_de */
+    { 0x000006c5, 9514 }, /* Cyrillic_ie */
+    { 0x000006c6, 9104 }, /* Cyrillic_ef */
+    { 0x000006c7, 9292 }, /* Cyrillic_ghe */
+    { 0x000006c8, 9352 }, /* Cyrillic_ha */
+    { 0x000006c9, 9456 }, /* Cyrillic_i */
+    { 0x000006ca, 9942 }, /* Cyrillic_shorti */
+    { 0x000006cb, 9586 }, /* Cyrillic_ka */
+    { 0x000006cc, 9128 }, /* Cyrillic_el */
+    { 0x000006cd, 9152 }, /* Cyrillic_em */
+    { 0x000006ce, 9176 }, /* Cyrillic_en */
+    { 0x000006cf, 9752 }, /* Cyrillic_o */
+    { 0x000006d0, 9804 }, /* Cyrillic_pe */
+    { 0x000006d1, 10230 }, /* Cyrillic_ya */
+    { 0x000006d2, 9244 }, /* Cyrillic_er */
+    { 0x000006d3, 9268 }, /* Cyrillic_es */
+    { 0x000006d4, 10010 }, /* Cyrillic_te */
+    { 0x000006d5, 10060 }, /* Cyrillic_u */
+    { 0x000006d6, 10330 }, /* Cyrillic_zhe */
+    { 0x000006d7, 10206 }, /* Cyrillic_ve */
+    { 0x000006d8, 9974 }, /* Cyrillic_softsign */
+    { 0x000006d9, 10254 }, /* Cyrillic_yeru */
+    { 0x000006da, 10306 }, /* Cyrillic_ze */
+    { 0x000006db, 9858 }, /* Cyrillic_sha */
+    { 0x000006dc, 9082 }, /* Cyrillic_e */
+    { 0x000006dd, 9884 }, /* Cyrillic_shcha */
+    { 0x000006de, 8910 }, /* Cyrillic_che */
+    { 0x000006df, 9420 }, /* Cyrillic_hardsign */
+    { 0x000006e0, 10294 }, /* Cyrillic_YU */
+    { 0x000006e1, 8875 }, /* Cyrillic_A */
+    { 0x000006e2, 8898 }, /* Cyrillic_BE */
+    { 0x000006e3, 10047 }, /* Cyrillic_TSE */
+    { 0x000006e4, 9042 }, /* Cyrillic_DE */
+    { 0x000006e5, 9526 }, /* Cyrillic_IE */
+    { 0x000006e6, 9116 }, /* Cyrillic_EF */
+    { 0x000006e7, 9305 }, /* Cyrillic_GHE */
+    { 0x000006e8, 9364 }, /* Cyrillic_HA */
+    { 0x000006e9, 9467 }, /* Cyrillic_I */
+    { 0x000006ea, 9958 }, /* Cyrillic_SHORTI */
+    { 0x000006eb, 9598 }, /* Cyrillic_KA */
+    { 0x000006ec, 9140 }, /* Cyrillic_EL */
+    { 0x000006ed, 9164 }, /* Cyrillic_EM */
+    { 0x000006ee, 9188 }, /* Cyrillic_EN */
+    { 0x000006ef, 9763 }, /* Cyrillic_O */
+    { 0x000006f0, 9816 }, /* Cyrillic_PE */
+    { 0x000006f1, 10242 }, /* Cyrillic_YA */
+    { 0x000006f2, 9256 }, /* Cyrillic_ER */
+    { 0x000006f3, 9280 }, /* Cyrillic_ES */
+    { 0x000006f4, 10022 }, /* Cyrillic_TE */
+    { 0x000006f5, 10071 }, /* Cyrillic_U */
+    { 0x000006f6, 10343 }, /* Cyrillic_ZHE */
+    { 0x000006f7, 10218 }, /* Cyrillic_VE */
+    { 0x000006f8, 9992 }, /* Cyrillic_SOFTSIGN */
+    { 0x000006f9, 10268 }, /* Cyrillic_YERU */
+    { 0x000006fa, 10318 }, /* Cyrillic_ZE */
+    { 0x000006fb, 9871 }, /* Cyrillic_SHA */
+    { 0x000006fc, 9093 }, /* Cyrillic_E */
+    { 0x000006fd, 9899 }, /* Cyrillic_SHCHA */
+    { 0x000006fe, 8923 }, /* Cyrillic_CHE */
+    { 0x000006ff, 9438 }, /* Cyrillic_HARDSIGN */
+    { 0x000007a1, 13374 }, /* Greek_ALPHAaccent */
+    { 0x000007a2, 13504 }, /* Greek_EPSILONaccent */
+    { 0x000007a3, 13564 }, /* Greek_ETAaccent */
+    { 0x000007a4, 13679 }, /* Greek_IOTAaccent */
+    { 0x000007a5, 13758 }, /* Greek_IOTAdieresis */
+    { 0x000007a7, 13994 }, /* Greek_OMICRONaccent */
+    { 0x000007a8, 14221 }, /* Greek_UPSILONaccent */
+    { 0x000007a9, 14289 }, /* Greek_UPSILONdieresis */
+    { 0x000007ab, 13930 }, /* Greek_OMEGAaccent */
+    { 0x000007ae, 13329 }, /* Greek_accentdieresis */
+    { 0x000007af, 13642 }, /* Greek_horizbar */
+    { 0x000007b1, 13392 }, /* Greek_alphaaccent */
+    { 0x000007b2, 13524 }, /* Greek_epsilonaccent */
+    { 0x000007b3, 13580 }, /* Greek_etaaccent */
+    { 0x000007b4, 13696 }, /* Greek_iotaaccent */
+    { 0x000007b5, 13777 }, /* Greek_iotadieresis */
+    { 0x000007b6, 13713 }, /* Greek_iotaaccentdieresis */
+    { 0x000007b7, 14014 }, /* Greek_omicronaccent */
+    { 0x000007b8, 14241 }, /* Greek_upsilonaccent */
+    { 0x000007b9, 14311 }, /* Greek_upsilondieresis */
+    { 0x000007ba, 14261 }, /* Greek_upsilonaccentdieresis */
+    { 0x000007bb, 13948 }, /* Greek_omegaaccent */
+    { 0x000007c1, 13350 }, /* Greek_ALPHA */
+    { 0x000007c2, 13410 }, /* Greek_BETA */
+    { 0x000007c3, 13618 }, /* Greek_GAMMA */
+    { 0x000007c4, 13452 }, /* Greek_DELTA */
+    { 0x000007c5, 13476 }, /* Greek_EPSILON */
+    { 0x000007c6, 14351 }, /* Greek_ZETA */
+    { 0x000007c7, 13544 }, /* Greek_ETA */
+    { 0x000007c8, 14169 }, /* Greek_THETA */
+    { 0x000007c9, 13657 }, /* Greek_IOTA */
+    { 0x000007ca, 13796 }, /* Greek_KAPPA */
+    { 0x000007cb, 13846 }, /* Greek_LAMDA */
+    { 0x000007cc, 13870 }, /* Greek_MU */
+    { 0x000007cd, 13888 }, /* Greek_NU */
+    { 0x000007ce, 14333 }, /* Greek_XI */
+    { 0x000007cf, 13966 }, /* Greek_OMICRON */
+    { 0x000007d0, 14054 }, /* Greek_PI */
+    { 0x000007d1, 14092 }, /* Greek_RHO */
+    { 0x000007d2, 14112 }, /* Greek_SIGMA */
+    { 0x000007d4, 14149 }, /* Greek_TAU */
+    { 0x000007d5, 14193 }, /* Greek_UPSILON */
+    { 0x000007d6, 14034 }, /* Greek_PHI */
+    { 0x000007d7, 13432 }, /* Greek_CHI */
+    { 0x000007d8, 14072 }, /* Greek_PSI */
+    { 0x000007d9, 13906 }, /* Greek_OMEGA */
+    { 0x000007e1, 13362 }, /* Greek_alpha */
+    { 0x000007e2, 13421 }, /* Greek_beta */
+    { 0x000007e3, 13630 }, /* Greek_gamma */
+    { 0x000007e4, 13464 }, /* Greek_delta */
+    { 0x000007e5, 13490 }, /* Greek_epsilon */
+    { 0x000007e6, 14362 }, /* Greek_zeta */
+    { 0x000007e7, 13554 }, /* Greek_eta */
+    { 0x000007e8, 14181 }, /* Greek_theta */
+    { 0x000007e9, 13668 }, /* Greek_iota */
+    { 0x000007ea, 13808 }, /* Greek_kappa */
+    { 0x000007eb, 13858 }, /* Greek_lamda */
+    { 0x000007ec, 13879 }, /* Greek_mu */
+    { 0x000007ed, 13897 }, /* Greek_nu */
+    { 0x000007ee, 14342 }, /* Greek_xi */
+    { 0x000007ef, 13980 }, /* Greek_omicron */
+    { 0x000007f0, 14063 }, /* Greek_pi */
+    { 0x000007f1, 14102 }, /* Greek_rho */
+    { 0x000007f2, 14124 }, /* Greek_sigma */
+    { 0x000007f3, 13596 }, /* Greek_finalsmallsigma */
+    { 0x000007f4, 14159 }, /* Greek_tau */
+    { 0x000007f5, 14207 }, /* Greek_upsilon */
+    { 0x000007f6, 14044 }, /* Greek_phi */
+    { 0x000007f7, 13442 }, /* Greek_chi */
+    { 0x000007f8, 14082 }, /* Greek_psi */
+    { 0x000007f9, 13918 }, /* Greek_omega */
+    { 0x000008a1, 19404 }, /* leftradical */
+    { 0x000008a2, 25682 }, /* topleftradical */
+    { 0x000008a3, 16728 }, /* horizconnector */
+    { 0x000008a4, 25656 }, /* topintegral */
     { 0x000008a5, 3422 }, /* botintegral */
-    { 0x000008a6, 26505 }, /* vertconnector */
-    { 0x000008a7, 25636 }, /* topleftsqbracket */
+    { 0x000008a6, 26566 }, /* vertconnector */
+    { 0x000008a7, 25697 }, /* topleftsqbracket */
     { 0x000008a8, 3448 }, /* botleftsqbracket */
-    { 0x000008a9, 25685 }, /* toprightsqbracket */
+    { 0x000008a9, 25746 }, /* toprightsqbracket */
     { 0x000008aa, 3497 }, /* botrightsqbracket */
-    { 0x000008ab, 25607 }, /* topleftparens */
+    { 0x000008ab, 25668 }, /* topleftparens */
     { 0x000008ac, 3434 }, /* botleftparens */
-    { 0x000008ad, 25670 }, /* toprightparens */
+    { 0x000008ad, 25731 }, /* toprightparens */
     { 0x000008ae, 3482 }, /* botrightparens */
-    { 0x000008af, 19306 }, /* leftmiddlecurlybrace */
-    { 0x000008b0, 22440 }, /* rightmiddlecurlybrace */
-    { 0x000008b1, 25653 }, /* topleftsummation */
+    { 0x000008af, 19354 }, /* leftmiddlecurlybrace */
+    { 0x000008b0, 22501 }, /* rightmiddlecurlybrace */
+    { 0x000008b1, 25714 }, /* topleftsummation */
     { 0x000008b2, 3465 }, /* botleftsummation */
-    { 0x000008b3, 25726 }, /* topvertsummationconnector */
+    { 0x000008b3, 25787 }, /* topvertsummationconnector */
     { 0x000008b4, 3538 }, /* botvertsummationconnector */
-    { 0x000008b5, 25703 }, /* toprightsummation */
+    { 0x000008b5, 25764 }, /* toprightsummation */
     { 0x000008b6, 3515 }, /* botrightsummation */
-    { 0x000008b7, 22462 }, /* rightmiddlesummation */
-    { 0x000008bc, 19417 }, /* lessthanequal */
-    { 0x000008bd, 20125 }, /* notequal */
-    { 0x000008be, 13280 }, /* greaterthanequal */
-    { 0x000008bf, 17313 }, /* integral */
-    { 0x000008c0, 25479 }, /* therefore */
-    { 0x000008c1, 26487 }, /* variation */
-    { 0x000008c2, 17275 }, /* infinity */
-    { 0x000008c5, 19947 }, /* nabla */
+    { 0x000008b7, 22523 }, /* rightmiddlesummation */
+    { 0x000008bc, 19465 }, /* lessthanequal */
+    { 0x000008bd, 20173 }, /* notequal */
+    { 0x000008be, 13312 }, /* greaterthanequal */
+    { 0x000008bf, 17361 }, /* integral */
+    { 0x000008c0, 25540 }, /* therefore */
+    { 0x000008c1, 26548 }, /* variation */
+    { 0x000008c2, 17323 }, /* infinity */
+    { 0x000008c5, 19995 }, /* nabla */
     { 0x000008c8, 954 }, /* approximate */
-    { 0x000008c9, 22999 }, /* similarequal */
-    { 0x000008cd, 17196 }, /* ifonlyif */
-    { 0x000008ce, 17247 }, /* implies */
-    { 0x000008cf, 17155 }, /* identical */
-    { 0x000008d6, 22286 }, /* radical */
-    { 0x000008da, 17255 }, /* includedin */
-    { 0x000008db, 17266 }, /* includes */
-    { 0x000008dc, 17322 }, /* intersection */
-    { 0x000008dd, 26362 }, /* union */
-    { 0x000008de, 19457 }, /* logicaland */
-    { 0x000008df, 19468 }, /* logicalor */
-    { 0x000008ef, 21463 }, /* partialderivative */
-    { 0x000008f6, 12656 }, /* function */
-    { 0x000008fb, 19266 }, /* leftarrow */
-    { 0x000008fc, 26387 }, /* uparrow */
-    { 0x000008fd, 22397 }, /* rightarrow */
-    { 0x000008fe, 11332 }, /* downarrow */
+    { 0x000008c9, 23060 }, /* similarequal */
+    { 0x000008cd, 17244 }, /* ifonlyif */
+    { 0x000008ce, 17295 }, /* implies */
+    { 0x000008cf, 17203 }, /* identical */
+    { 0x000008d6, 22347 }, /* radical */
+    { 0x000008da, 17303 }, /* includedin */
+    { 0x000008db, 17314 }, /* includes */
+    { 0x000008dc, 17370 }, /* intersection */
+    { 0x000008dd, 26423 }, /* union */
+    { 0x000008de, 19505 }, /* logicaland */
+    { 0x000008df, 19516 }, /* logicalor */
+    { 0x000008ef, 21524 }, /* partialderivative */
+    { 0x000008f6, 12688 }, /* function */
+    { 0x000008fb, 19314 }, /* leftarrow */
+    { 0x000008fc, 26448 }, /* uparrow */
+    { 0x000008fd, 22458 }, /* rightarrow */
+    { 0x000008fe, 11364 }, /* downarrow */
     { 0x000009df, 3410 }, /* blank */
-    { 0x000009e0, 23790 }, /* soliddiamond */
+    { 0x000009e0, 23851 }, /* soliddiamond */
     { 0x000009e1, 8603 }, /* checkerboard */
-    { 0x000009e2, 17043 }, /* ht */
-    { 0x000009e3, 12413 }, /* ff */
-    { 0x000009e4, 8727 }, /* cr */
-    { 0x000009e5, 19431 }, /* lf */
-    { 0x000009e8, 20075 }, /* nl */
-    { 0x000009e9, 26542 }, /* vt */
-    { 0x000009ea, 19502 }, /* lowrightcorner */
-    { 0x000009eb, 26416 }, /* uprightcorner */
-    { 0x000009ec, 26403 }, /* upleftcorner */
-    { 0x000009ed, 19488 }, /* lowleftcorner */
-    { 0x000009ee, 8730 }, /* crossinglines */
-    { 0x000009ef, 16682 }, /* horizlinescan1 */
-    { 0x000009f0, 16697 }, /* horizlinescan3 */
-    { 0x000009f1, 16712 }, /* horizlinescan5 */
-    { 0x000009f2, 16727 }, /* horizlinescan7 */
-    { 0x000009f3, 16742 }, /* horizlinescan9 */
-    { 0x000009f4, 19397 }, /* leftt */
-    { 0x000009f5, 22545 }, /* rightt */
+    { 0x000009e2, 17091 }, /* ht */
+    { 0x000009e3, 12445 }, /* ff */
+    { 0x000009e4, 8809 }, /* cr */
+    { 0x000009e5, 19479 }, /* lf */
+    { 0x000009e8, 20123 }, /* nl */
+    { 0x000009e9, 26603 }, /* vt */
+    { 0x000009ea, 19550 }, /* lowrightcorner */
+    { 0x000009eb, 26477 }, /* uprightcorner */
+    { 0x000009ec, 26464 }, /* upleftcorner */
+    { 0x000009ed, 19536 }, /* lowleftcorner */
+    { 0x000009ee, 8812 }, /* crossinglines */
+    { 0x000009ef, 16743 }, /* horizlinescan1 */
+    { 0x000009f0, 16758 }, /* horizlinescan3 */
+    { 0x000009f1, 16773 }, /* horizlinescan5 */
+    { 0x000009f2, 16788 }, /* horizlinescan7 */
+    { 0x000009f3, 16803 }, /* horizlinescan9 */
+    { 0x000009f4, 19445 }, /* leftt */
+    { 0x000009f5, 22606 }, /* rightt */
     { 0x000009f6, 3533 }, /* bott */
-    { 0x000009f7, 25721 }, /* topt */
-    { 0x000009f8, 26497 }, /* vertbar */
-    { 0x00000aa1, 11928 }, /* emspace */
-    { 0x00000aa2, 12027 }, /* enspace */
-    { 0x00000aa3, 11821 }, /* em3space */
-    { 0x00000aa4, 11830 }, /* em4space */
-    { 0x00000aa5, 11221 }, /* digitspace */
-    { 0x00000aa6, 22145 }, /* punctspace */
-    { 0x00000aa7, 25489 }, /* thinspace */
-    { 0x00000aa8, 14382 }, /* hairspace */
-    { 0x00000aa9, 11855 }, /* emdash */
-    { 0x00000aaa, 11940 }, /* endash */
-    { 0x00000aac, 22987 }, /* signifblank */
-    { 0x00000aae, 11812 }, /* ellipsis */
-    { 0x00000aaf, 11267 }, /* doubbaselinedot */
-    { 0x00000ab0, 20767 }, /* onethird */
-    { 0x00000ab1, 25837 }, /* twothirds */
-    { 0x00000ab2, 20705 }, /* onefifth */
-    { 0x00000ab3, 25802 }, /* twofifths */
-    { 0x00000ab4, 25530 }, /* threefifths */
-    { 0x00000ab5, 12607 }, /* fourfifths */
-    { 0x00000ab6, 20733 }, /* onesixth */
-    { 0x00000ab7, 12569 }, /* fivesixths */
+    { 0x000009f7, 25782 }, /* topt */
+    { 0x000009f8, 26558 }, /* vertbar */
+    { 0x00000aa1, 11960 }, /* emspace */
+    { 0x00000aa2, 12059 }, /* enspace */
+    { 0x00000aa3, 11853 }, /* em3space */
+    { 0x00000aa4, 11862 }, /* em4space */
+    { 0x00000aa5, 11253 }, /* digitspace */
+    { 0x00000aa6, 22206 }, /* punctspace */
+    { 0x00000aa7, 25550 }, /* thinspace */
+    { 0x00000aa8, 14443 }, /* hairspace */
+    { 0x00000aa9, 11887 }, /* emdash */
+    { 0x00000aaa, 11972 }, /* endash */
+    { 0x00000aac, 23048 }, /* signifblank */
+    { 0x00000aae, 11844 }, /* ellipsis */
+    { 0x00000aaf, 11299 }, /* doubbaselinedot */
+    { 0x00000ab0, 20815 }, /* onethird */
+    { 0x00000ab1, 25898 }, /* twothirds */
+    { 0x00000ab2, 20753 }, /* onefifth */
+    { 0x00000ab3, 25863 }, /* twofifths */
+    { 0x00000ab4, 25591 }, /* threefifths */
+    { 0x00000ab5, 12639 }, /* fourfifths */
+    { 0x00000ab6, 20781 }, /* onesixth */
+    { 0x00000ab7, 12601 }, /* fivesixths */
     { 0x00000ab8, 8506 }, /* careof */
-    { 0x00000abb, 12427 }, /* figdash */
-    { 0x00000abc, 19249 }, /* leftanglebracket */
-    { 0x00000abd, 11140 }, /* decimalpoint */
-    { 0x00000abe, 22379 }, /* rightanglebracket */
-    { 0x00000abf, 19681 }, /* marker */
-    { 0x00000ac3, 20695 }, /* oneeighth */
-    { 0x00000ac4, 25517 }, /* threeeighths */
-    { 0x00000ac5, 12557 }, /* fiveeighths */
-    { 0x00000ac6, 22904 }, /* seveneighths */
-    { 0x00000ac9, 25760 }, /* trademark */
-    { 0x00000aca, 22973 }, /* signaturemark */
-    { 0x00000acb, 25770 }, /* trademarkincircle */
-    { 0x00000acc, 19327 }, /* leftopentriangle */
-    { 0x00000acd, 22483 }, /* rightopentriangle */
-    { 0x00000ace, 11890 }, /* emopencircle */
-    { 0x00000acf, 11903 }, /* emopenrectangle */
-    { 0x00000ad0, 19377 }, /* leftsinglequotemark */
-    { 0x00000ad1, 22524 }, /* rightsinglequotemark */
-    { 0x00000ad2, 19286 }, /* leftdoublequotemark */
-    { 0x00000ad3, 22419 }, /* rightdoublequotemark */
-    { 0x00000ad4, 22067 }, /* prescription */
-    { 0x00000ad5, 21517 }, /* permille */
-    { 0x00000ad6, 19739 }, /* minutes */
-    { 0x00000ad7, 22711 }, /* seconds */
-    { 0x00000ad9, 19181 }, /* latincross */
-    { 0x00000ada, 16626 }, /* hexagram */
-    { 0x00000adb, 12455 }, /* filledrectbullet */
-    { 0x00000adc, 12435 }, /* filledlefttribullet */
-    { 0x00000add, 12472 }, /* filledrighttribullet */
-    { 0x00000ade, 11862 }, /* emfilledcircle */
-    { 0x00000adf, 11877 }, /* emfilledrect */
-    { 0x00000ae0, 11991 }, /* enopencircbullet */
-    { 0x00000ae1, 12008 }, /* enopensquarebullet */
-    { 0x00000ae2, 20794 }, /* openrectbullet */
-    { 0x00000ae3, 20836 }, /* opentribulletup */
-    { 0x00000ae4, 20818 }, /* opentribulletdown */
-    { 0x00000ae5, 20809 }, /* openstar */
-    { 0x00000ae6, 11947 }, /* enfilledcircbullet */
-    { 0x00000ae7, 11966 }, /* enfilledsqbullet */
-    { 0x00000ae8, 12513 }, /* filledtribulletup */
-    { 0x00000ae9, 12493 }, /* filledtribulletdown */
-    { 0x00000aea, 19344 }, /* leftpointer */
-    { 0x00000aeb, 22501 }, /* rightpointer */
+    { 0x00000abb, 12459 }, /* figdash */
+    { 0x00000abc, 19297 }, /* leftanglebracket */
+    { 0x00000abd, 11172 }, /* decimalpoint */
+    { 0x00000abe, 22440 }, /* rightanglebracket */
+    { 0x00000abf, 19729 }, /* marker */
+    { 0x00000ac3, 20743 }, /* oneeighth */
+    { 0x00000ac4, 25578 }, /* threeeighths */
+    { 0x00000ac5, 12589 }, /* fiveeighths */
+    { 0x00000ac6, 22965 }, /* seveneighths */
+    { 0x00000ac9, 25821 }, /* trademark */
+    { 0x00000aca, 23034 }, /* signaturemark */
+    { 0x00000acb, 25831 }, /* trademarkincircle */
+    { 0x00000acc, 19375 }, /* leftopentriangle */
+    { 0x00000acd, 22544 }, /* rightopentriangle */
+    { 0x00000ace, 11922 }, /* emopencircle */
+    { 0x00000acf, 11935 }, /* emopenrectangle */
+    { 0x00000ad0, 19425 }, /* leftsinglequotemark */
+    { 0x00000ad1, 22585 }, /* rightsinglequotemark */
+    { 0x00000ad2, 19334 }, /* leftdoublequotemark */
+    { 0x00000ad3, 22480 }, /* rightdoublequotemark */
+    { 0x00000ad4, 22128 }, /* prescription */
+    { 0x00000ad5, 21578 }, /* permille */
+    { 0x00000ad6, 19787 }, /* minutes */
+    { 0x00000ad7, 22772 }, /* seconds */
+    { 0x00000ad9, 19229 }, /* latincross */
+    { 0x00000ada, 16687 }, /* hexagram */
+    { 0x00000adb, 12487 }, /* filledrectbullet */
+    { 0x00000adc, 12467 }, /* filledlefttribullet */
+    { 0x00000add, 12504 }, /* filledrighttribullet */
+    { 0x00000ade, 11894 }, /* emfilledcircle */
+    { 0x00000adf, 11909 }, /* emfilledrect */
+    { 0x00000ae0, 12023 }, /* enopencircbullet */
+    { 0x00000ae1, 12040 }, /* enopensquarebullet */
+    { 0x00000ae2, 20842 }, /* openrectbullet */
+    { 0x00000ae3, 20884 }, /* opentribulletup */
+    { 0x00000ae4, 20866 }, /* opentribulletdown */
+    { 0x00000ae5, 20857 }, /* openstar */
+    { 0x00000ae6, 11979 }, /* enfilledcircbullet */
+    { 0x00000ae7, 11998 }, /* enfilledsqbullet */
+    { 0x00000ae8, 12545 }, /* filledtribulletup */
+    { 0x00000ae9, 12525 }, /* filledtribulletdown */
+    { 0x00000aea, 19392 }, /* leftpointer */
+    { 0x00000aeb, 22562 }, /* rightpointer */
     { 0x00000aec, 8649 }, /* club */
-    { 0x00000aed, 11213 }, /* diamond */
-    { 0x00000aee, 16080 }, /* heart */
-    { 0x00000af0, 19668 }, /* maltesecross */
-    { 0x00000af1, 10358 }, /* dagger */
-    { 0x00000af2, 11295 }, /* doubledagger */
+    { 0x00000aed, 11245 }, /* diamond */
+    { 0x00000aee, 16141 }, /* heart */
+    { 0x00000af0, 19716 }, /* maltesecross */
+    { 0x00000af1, 10440 }, /* dagger */
+    { 0x00000af2, 11327 }, /* doubledagger */
     { 0x00000af3, 8616 }, /* checkmark */
     { 0x00000af4, 3380 }, /* ballotcross */
-    { 0x00000af5, 19860 }, /* musicalsharp */
-    { 0x00000af6, 19848 }, /* musicalflat */
-    { 0x00000af7, 19657 }, /* malesymbol */
-    { 0x00000af8, 12400 }, /* femalesymbol */
-    { 0x00000af9, 24354 }, /* telephone */
-    { 0x00000afa, 24364 }, /* telephonerecorder */
-    { 0x00000afb, 21537 }, /* phonographcopyright */
+    { 0x00000af5, 19908 }, /* musicalsharp */
+    { 0x00000af6, 19896 }, /* musicalflat */
+    { 0x00000af7, 19705 }, /* malesymbol */
+    { 0x00000af8, 12432 }, /* femalesymbol */
+    { 0x00000af9, 24415 }, /* telephone */
+    { 0x00000afa, 24425 }, /* telephonerecorder */
+    { 0x00000afb, 21598 }, /* phonographcopyright */
     { 0x00000afc, 8513 }, /* caret */
-    { 0x00000afd, 23028 }, /* singlelowquotemark */
-    { 0x00000afe, 11308 }, /* doublelowquotemark */
-    { 0x00000aff, 8775 }, /* cursor */
-    { 0x00000ba3, 19276 }, /* leftcaret */
-    { 0x00000ba6, 22408 }, /* rightcaret */
-    { 0x00000ba8, 11342 }, /* downcaret */
-    { 0x00000ba9, 26395 }, /* upcaret */
-    { 0x00000bc0, 21324 }, /* overbar */
-    { 0x00000bc2, 11371 }, /* downtack */
-    { 0x00000bc3, 26430 }, /* upshoe */
-    { 0x00000bc4, 11361 }, /* downstile */
-    { 0x00000bc6, 26337 }, /* underbar */
-    { 0x00000bca, 18142 }, /* jot */
-    { 0x00000bcc, 22160 }, /* quad */
-    { 0x00000bce, 26445 }, /* uptack */
+    { 0x00000afd, 23089 }, /* singlelowquotemark */
+    { 0x00000afe, 11340 }, /* doublelowquotemark */
+    { 0x00000aff, 8857 }, /* cursor */
+    { 0x00000ba3, 19324 }, /* leftcaret */
+    { 0x00000ba6, 22469 }, /* rightcaret */
+    { 0x00000ba8, 11374 }, /* downcaret */
+    { 0x00000ba9, 26456 }, /* upcaret */
+    { 0x00000bc0, 21385 }, /* overbar */
+    { 0x00000bc2, 11403 }, /* downtack */
+    { 0x00000bc3, 26491 }, /* upshoe */
+    { 0x00000bc4, 11393 }, /* downstile */
+    { 0x00000bc6, 26398 }, /* underbar */
+    { 0x00000bca, 18190 }, /* jot */
+    { 0x00000bcc, 22221 }, /* quad */
+    { 0x00000bce, 26506 }, /* uptack */
     { 0x00000bcf, 8626 }, /* circle */
-    { 0x00000bd3, 26437 }, /* upstile */
-    { 0x00000bd6, 11352 }, /* downshoe */
-    { 0x00000bd8, 22514 }, /* rightshoe */
-    { 0x00000bda, 19368 }, /* leftshoe */
-    { 0x00000bdc, 19403 }, /* lefttack */
-    { 0x00000bfc, 22552 }, /* righttack */
-    { 0x00000cdf, 16173 }, /* hebrew_doublelowline */
-    { 0x00000ce0, 16086 }, /* hebrew_aleph */
-    { 0x00000ce1, 16111 }, /* hebrew_bet */
-    { 0x00000ce2, 16292 }, /* hebrew_gimel */
-    { 0x00000ce3, 16146 }, /* hebrew_dalet */
-    { 0x00000ce4, 16319 }, /* hebrew_he */
-    { 0x00000ce5, 16531 }, /* hebrew_waw */
-    { 0x00000ce6, 16577 }, /* hebrew_zain */
-    { 0x00000ce7, 16134 }, /* hebrew_chet */
-    { 0x00000ce8, 16508 }, /* hebrew_tet */
-    { 0x00000ce9, 16542 }, /* hebrew_yod */
-    { 0x00000cea, 16194 }, /* hebrew_finalkaph */
-    { 0x00000ceb, 16340 }, /* hebrew_kaph */
-    { 0x00000cec, 16363 }, /* hebrew_lamed */
-    { 0x00000ced, 16211 }, /* hebrew_finalmem */
-    { 0x00000cee, 16376 }, /* hebrew_mem */
-    { 0x00000cef, 16227 }, /* hebrew_finalnun */
-    { 0x00000cf0, 16387 }, /* hebrew_nun */
-    { 0x00000cf1, 16432 }, /* hebrew_samech */
-    { 0x00000cf2, 16099 }, /* hebrew_ayin */
-    { 0x00000cf3, 16243 }, /* hebrew_finalpe */
-    { 0x00000cf4, 16398 }, /* hebrew_pe */
-    { 0x00000cf5, 16258 }, /* hebrew_finalzade */
-    { 0x00000cf6, 16553 }, /* hebrew_zade */
-    { 0x00000cf7, 16408 }, /* hebrew_qoph */
-    { 0x00000cf8, 16420 }, /* hebrew_resh */
-    { 0x00000cf9, 16460 }, /* hebrew_shin */
-    { 0x00000cfa, 16497 }, /* hebrew_taw */
-    { 0x00000da1, 24617 }, /* Thai_kokai */
-    { 0x00000da2, 24547 }, /* Thai_khokhai */
-    { 0x00000da3, 24573 }, /* Thai_khokhuat */
-    { 0x00000da4, 24587 }, /* Thai_khokhwai */
-    { 0x00000da5, 24560 }, /* Thai_khokhon */
-    { 0x00000da6, 24601 }, /* Thai_khorakhang */
-    { 0x00000da7, 24930 }, /* Thai_ngongu */
-    { 0x00000da8, 24423 }, /* Thai_chochan */
-    { 0x00000da9, 24450 }, /* Thai_choching */
-    { 0x00000daa, 24436 }, /* Thai_chochang */
-    { 0x00000dab, 25291 }, /* Thai_soso */
-    { 0x00000dac, 24464 }, /* Thai_chochoe */
-    { 0x00000dad, 25467 }, /* Thai_yoying */
-    { 0x00000dae, 24477 }, /* Thai_dochada */
-    { 0x00000daf, 25420 }, /* Thai_topatak */
-    { 0x00000db0, 25379 }, /* Thai_thothan */
-    { 0x00000db1, 25329 }, /* Thai_thonangmontho */
-    { 0x00000db2, 25348 }, /* Thai_thophuthao */
-    { 0x00000db3, 24956 }, /* Thai_nonen */
-    { 0x00000db4, 24490 }, /* Thai_dodek */
-    { 0x00000db5, 25433 }, /* Thai_totao */
-    { 0x00000db6, 25406 }, /* Thai_thothung */
-    { 0x00000db7, 25364 }, /* Thai_thothahan */
-    { 0x00000db8, 25392 }, /* Thai_thothong */
-    { 0x00000db9, 24967 }, /* Thai_nonu */
-    { 0x00000dba, 24409 }, /* Thai_bobaimai */
-    { 0x00000dbb, 25058 }, /* Thai_popla */
-    { 0x00000dbc, 25028 }, /* Thai_phophung */
-    { 0x00000dbd, 24501 }, /* Thai_fofa */
-    { 0x00000dbe, 25015 }, /* Thai_phophan */
-    { 0x00000dbf, 24511 }, /* Thai_fofan */
-    { 0x00000dc0, 25042 }, /* Thai_phosamphao */
-    { 0x00000dc1, 24920 }, /* Thai_moma */
-    { 0x00000dc2, 25456 }, /* Thai_yoyak */
-    { 0x00000dc3, 25069 }, /* Thai_rorua */
-    { 0x00000dc4, 25080 }, /* Thai_ru */
-    { 0x00000dc5, 24780 }, /* Thai_loling */
-    { 0x00000dc6, 24792 }, /* Thai_lu */
-    { 0x00000dc7, 25444 }, /* Thai_wowaen */
-    { 0x00000dc8, 25279 }, /* Thai_sosala */
-    { 0x00000dc9, 25267 }, /* Thai_sorusi */
-    { 0x00000dca, 25301 }, /* Thai_sosua */
-    { 0x00000dcb, 24522 }, /* Thai_hohip */
-    { 0x00000dcc, 24767 }, /* Thai_lochula */
-    { 0x00000dcd, 24977 }, /* Thai_oang */
-    { 0x00000dce, 24533 }, /* Thai_honokhuk */
-    { 0x00000dcf, 24987 }, /* Thai_paiyannoi */
-    { 0x00000dd0, 25088 }, /* Thai_saraa */
-    { 0x00000dd1, 24828 }, /* Thai_maihanakat */
-    { 0x00000dd2, 25099 }, /* Thai_saraaa */
-    { 0x00000dd3, 25162 }, /* Thai_saraam */
-    { 0x00000dd4, 25185 }, /* Thai_sarai */
-    { 0x00000dd5, 25196 }, /* Thai_saraii */
-    { 0x00000dd6, 25230 }, /* Thai_saraue */
-    { 0x00000dd7, 25242 }, /* Thai_sarauee */
-    { 0x00000dd8, 25219 }, /* Thai_sarau */
-    { 0x00000dd9, 25255 }, /* Thai_sarauu */
-    { 0x00000dda, 25002 }, /* Thai_phinthu */
-    { 0x00000dde, 24844 }, /* Thai_maihanakat_maitho */
-    { 0x00000ddf, 24399 }, /* Thai_baht */
-    { 0x00000de0, 25174 }, /* Thai_sarae */
-    { 0x00000de1, 25111 }, /* Thai_saraae */
-    { 0x00000de2, 25208 }, /* Thai_sarao */
-    { 0x00000de3, 25143 }, /* Thai_saraaimaimuan */
-    { 0x00000de4, 25123 }, /* Thai_saraaimaimalai */
-    { 0x00000de5, 24628 }, /* Thai_lakkhangyao */
-    { 0x00000de6, 24906 }, /* Thai_maiyamok */
-    { 0x00000de7, 24867 }, /* Thai_maitaikhu */
-    { 0x00000de8, 24817 }, /* Thai_maiek */
-    { 0x00000de9, 24882 }, /* Thai_maitho */
-    { 0x00000dea, 24894 }, /* Thai_maitri */
-    { 0x00000deb, 24800 }, /* Thai_maichattawa */
-    { 0x00000dec, 25312 }, /* Thai_thanthakhat */
-    { 0x00000ded, 24942 }, /* Thai_nikhahit */
-    { 0x00000df0, 24755 }, /* Thai_leksun */
-    { 0x00000df1, 24693 }, /* Thai_leknung */
-    { 0x00000df2, 24742 }, /* Thai_leksong */
-    { 0x00000df3, 24719 }, /* Thai_leksam */
-    { 0x00000df4, 24731 }, /* Thai_leksi */
-    { 0x00000df5, 24658 }, /* Thai_lekha */
-    { 0x00000df6, 24669 }, /* Thai_lekhok */
-    { 0x00000df7, 24645 }, /* Thai_lekchet */
-    { 0x00000df8, 24706 }, /* Thai_lekpaet */
-    { 0x00000df9, 24681 }, /* Thai_lekkao */
-    { 0x00000ea1, 15181 }, /* Hangul_Kiyeog */
-    { 0x00000ea2, 15726 }, /* Hangul_SsangKiyeog */
-    { 0x00000ea3, 15195 }, /* Hangul_KiyeogSios */
-    { 0x00000ea4, 15276 }, /* Hangul_Nieun */
-    { 0x00000ea5, 15307 }, /* Hangul_NieunJieuj */
-    { 0x00000ea6, 15289 }, /* Hangul_NieunHieuh */
-    { 0x00000ea7, 14488 }, /* Hangul_Dikeud */
-    { 0x00000ea8, 15689 }, /* Hangul_SsangDikeud */
-    { 0x00000ea9, 15461 }, /* Hangul_Rieul */
-    { 0x00000eaa, 15492 }, /* Hangul_RieulKiyeog */
-    { 0x00000eab, 15511 }, /* Hangul_RieulMieum */
-    { 0x00000eac, 15548 }, /* Hangul_RieulPieub */
-    { 0x00000ead, 15566 }, /* Hangul_RieulSios */
-    { 0x00000eae, 15583 }, /* Hangul_RieulTieut */
-    { 0x00000eaf, 15529 }, /* Hangul_RieulPhieuf */
-    { 0x00000eb0, 15474 }, /* Hangul_RieulHieuh */
-    { 0x00000eb1, 15238 }, /* Hangul_Mieum */
-    { 0x00000eb2, 15373 }, /* Hangul_Pieub */
-    { 0x00000eb3, 15745 }, /* Hangul_SsangPieub */
-    { 0x00000eb4, 15386 }, /* Hangul_PieubSios */
-    { 0x00000eb5, 15662 }, /* Hangul_Sios */
-    { 0x00000eb6, 15763 }, /* Hangul_SsangSios */
-    { 0x00000eb7, 14577 }, /* Hangul_Ieung */
-    { 0x00000eb8, 15154 }, /* Hangul_Jieuj */
-    { 0x00000eb9, 15708 }, /* Hangul_SsangJieuj */
-    { 0x00000eba, 14458 }, /* Hangul_Cieuc */
-    { 0x00000ebb, 15167 }, /* Hangul_Khieuq */
-    { 0x00000ebc, 15883 }, /* Hangul_Tieut */
-    { 0x00000ebd, 15359 }, /* Hangul_Phieuf */
-    { 0x00000ebe, 14555 }, /* Hangul_Hieuh */
-    { 0x00000ebf, 14399 }, /* Hangul_A */
-    { 0x00000ec0, 14408 }, /* Hangul_AE */
-    { 0x00000ec1, 15957 }, /* Hangul_YA */
-    { 0x00000ec2, 15967 }, /* Hangul_YAE */
-    { 0x00000ec3, 14522 }, /* Hangul_EO */
-    { 0x00000ec4, 14502 }, /* Hangul_E */
-    { 0x00000ec5, 15988 }, /* Hangul_YEO */
-    { 0x00000ec6, 15978 }, /* Hangul_YE */
-    { 0x00000ec7, 15325 }, /* Hangul_O */
-    { 0x00000ec8, 15905 }, /* Hangul_WA */
-    { 0x00000ec9, 15915 }, /* Hangul_WAE */
-    { 0x00000eca, 15334 }, /* Hangul_OE */
-    { 0x00000ecb, 16028 }, /* Hangul_YO */
-    { 0x00000ecc, 15896 }, /* Hangul_U */
-    { 0x00000ecd, 15936 }, /* Hangul_WEO */
-    { 0x00000ece, 15926 }, /* Hangul_WE */
-    { 0x00000ecf, 15947 }, /* Hangul_WI */
-    { 0x00000ed0, 16038 }, /* Hangul_YU */
-    { 0x00000ed1, 14532 }, /* Hangul_EU */
-    { 0x00000ed2, 16018 }, /* Hangul_YI */
-    { 0x00000ed3, 14568 }, /* Hangul_I */
-    { 0x00000ed4, 14682 }, /* Hangul_J_Kiyeog */
-    { 0x00000ed5, 15052 }, /* Hangul_J_SsangKiyeog */
-    { 0x00000ed6, 14698 }, /* Hangul_J_KiyeogSios */
-    { 0x00000ed7, 14760 }, /* Hangul_J_Nieun */
-    { 0x00000ed8, 14795 }, /* Hangul_J_NieunJieuj */
-    { 0x00000ed9, 14775 }, /* Hangul_J_NieunHieuh */
-    { 0x00000eda, 14605 }, /* Hangul_J_Dikeud */
-    { 0x00000edb, 14882 }, /* Hangul_J_Rieul */
-    { 0x00000edc, 14917 }, /* Hangul_J_RieulKiyeog */
-    { 0x00000edd, 14938 }, /* Hangul_J_RieulMieum */
-    { 0x00000ede, 14979 }, /* Hangul_J_RieulPieub */
-    { 0x00000edf, 14999 }, /* Hangul_J_RieulSios */
-    { 0x00000ee0, 15018 }, /* Hangul_J_RieulTieut */
-    { 0x00000ee1, 14958 }, /* Hangul_J_RieulPhieuf */
-    { 0x00000ee2, 14897 }, /* Hangul_J_RieulHieuh */
-    { 0x00000ee3, 14745 }, /* Hangul_J_Mieum */
-    { 0x00000ee4, 14848 }, /* Hangul_J_Pieub */
-    { 0x00000ee5, 14863 }, /* Hangul_J_PieubSios */
-    { 0x00000ee6, 15038 }, /* Hangul_J_Sios */
-    { 0x00000ee7, 15073 }, /* Hangul_J_SsangSios */
-    { 0x00000ee8, 14636 }, /* Hangul_J_Ieung */
-    { 0x00000ee9, 14651 }, /* Hangul_J_Jieuj */
-    { 0x00000eea, 14590 }, /* Hangul_J_Cieuc */
-    { 0x00000eeb, 14666 }, /* Hangul_J_Khieuq */
-    { 0x00000eec, 15092 }, /* Hangul_J_Tieut */
-    { 0x00000eed, 14832 }, /* Hangul_J_Phieuf */
-    { 0x00000eee, 14621 }, /* Hangul_J_Hieuh */
-    { 0x00000eef, 15601 }, /* Hangul_RieulYeorinHieuh */
-    { 0x00000ef0, 15793 }, /* Hangul_SunkyeongeumMieum */
-    { 0x00000ef1, 15844 }, /* Hangul_SunkyeongeumPieub */
-    { 0x00000ef2, 15344 }, /* Hangul_PanSios */
-    { 0x00000ef3, 15213 }, /* Hangul_KkogjiDalrinIeung */
-    { 0x00000ef4, 15818 }, /* Hangul_SunkyeongeumPhieuf */
-    { 0x00000ef5, 15999 }, /* Hangul_YeorinHieuh */
-    { 0x00000ef6, 14418 }, /* Hangul_AraeA */
-    { 0x00000ef7, 14431 }, /* Hangul_AraeAE */
-    { 0x00000ef8, 14815 }, /* Hangul_J_PanSios */
-    { 0x00000ef9, 14718 }, /* Hangul_J_KkogjiDalrinIeung */
-    { 0x00000efa, 15107 }, /* Hangul_J_YeorinHieuh */
-    { 0x00000eff, 18797 }, /* Korean_Won */
-    { 0x000013bc, 20514 }, /* OE */
-    { 0x000013bd, 20517 }, /* oe */
-    { 0x000013be, 29094 }, /* Ydiaeresis */
-    { 0x000020ac, 12090 }, /* EuroSign */
+    { 0x00000bd3, 26498 }, /* upstile */
+    { 0x00000bd6, 11384 }, /* downshoe */
+    { 0x00000bd8, 22575 }, /* rightshoe */
+    { 0x00000bda, 19416 }, /* leftshoe */
+    { 0x00000bdc, 19451 }, /* lefttack */
+    { 0x00000bfc, 22613 }, /* righttack */
+    { 0x00000cdf, 16234 }, /* hebrew_doublelowline */
+    { 0x00000ce0, 16147 }, /* hebrew_aleph */
+    { 0x00000ce1, 16172 }, /* hebrew_bet */
+    { 0x00000ce2, 16353 }, /* hebrew_gimel */
+    { 0x00000ce3, 16207 }, /* hebrew_dalet */
+    { 0x00000ce4, 16380 }, /* hebrew_he */
+    { 0x00000ce5, 16592 }, /* hebrew_waw */
+    { 0x00000ce6, 16638 }, /* hebrew_zain */
+    { 0x00000ce7, 16195 }, /* hebrew_chet */
+    { 0x00000ce8, 16569 }, /* hebrew_tet */
+    { 0x00000ce9, 16603 }, /* hebrew_yod */
+    { 0x00000cea, 16255 }, /* hebrew_finalkaph */
+    { 0x00000ceb, 16401 }, /* hebrew_kaph */
+    { 0x00000cec, 16424 }, /* hebrew_lamed */
+    { 0x00000ced, 16272 }, /* hebrew_finalmem */
+    { 0x00000cee, 16437 }, /* hebrew_mem */
+    { 0x00000cef, 16288 }, /* hebrew_finalnun */
+    { 0x00000cf0, 16448 }, /* hebrew_nun */
+    { 0x00000cf1, 16493 }, /* hebrew_samech */
+    { 0x00000cf2, 16160 }, /* hebrew_ayin */
+    { 0x00000cf3, 16304 }, /* hebrew_finalpe */
+    { 0x00000cf4, 16459 }, /* hebrew_pe */
+    { 0x00000cf5, 16319 }, /* hebrew_finalzade */
+    { 0x00000cf6, 16614 }, /* hebrew_zade */
+    { 0x00000cf7, 16469 }, /* hebrew_qoph */
+    { 0x00000cf8, 16481 }, /* hebrew_resh */
+    { 0x00000cf9, 16521 }, /* hebrew_shin */
+    { 0x00000cfa, 16558 }, /* hebrew_taw */
+    { 0x00000da1, 24678 }, /* Thai_kokai */
+    { 0x00000da2, 24608 }, /* Thai_khokhai */
+    { 0x00000da3, 24634 }, /* Thai_khokhuat */
+    { 0x00000da4, 24648 }, /* Thai_khokhwai */
+    { 0x00000da5, 24621 }, /* Thai_khokhon */
+    { 0x00000da6, 24662 }, /* Thai_khorakhang */
+    { 0x00000da7, 24991 }, /* Thai_ngongu */
+    { 0x00000da8, 24484 }, /* Thai_chochan */
+    { 0x00000da9, 24511 }, /* Thai_choching */
+    { 0x00000daa, 24497 }, /* Thai_chochang */
+    { 0x00000dab, 25352 }, /* Thai_soso */
+    { 0x00000dac, 24525 }, /* Thai_chochoe */
+    { 0x00000dad, 25528 }, /* Thai_yoying */
+    { 0x00000dae, 24538 }, /* Thai_dochada */
+    { 0x00000daf, 25481 }, /* Thai_topatak */
+    { 0x00000db0, 25440 }, /* Thai_thothan */
+    { 0x00000db1, 25390 }, /* Thai_thonangmontho */
+    { 0x00000db2, 25409 }, /* Thai_thophuthao */
+    { 0x00000db3, 25017 }, /* Thai_nonen */
+    { 0x00000db4, 24551 }, /* Thai_dodek */
+    { 0x00000db5, 25494 }, /* Thai_totao */
+    { 0x00000db6, 25467 }, /* Thai_thothung */
+    { 0x00000db7, 25425 }, /* Thai_thothahan */
+    { 0x00000db8, 25453 }, /* Thai_thothong */
+    { 0x00000db9, 25028 }, /* Thai_nonu */
+    { 0x00000dba, 24470 }, /* Thai_bobaimai */
+    { 0x00000dbb, 25119 }, /* Thai_popla */
+    { 0x00000dbc, 25089 }, /* Thai_phophung */
+    { 0x00000dbd, 24562 }, /* Thai_fofa */
+    { 0x00000dbe, 25076 }, /* Thai_phophan */
+    { 0x00000dbf, 24572 }, /* Thai_fofan */
+    { 0x00000dc0, 25103 }, /* Thai_phosamphao */
+    { 0x00000dc1, 24981 }, /* Thai_moma */
+    { 0x00000dc2, 25517 }, /* Thai_yoyak */
+    { 0x00000dc3, 25130 }, /* Thai_rorua */
+    { 0x00000dc4, 25141 }, /* Thai_ru */
+    { 0x00000dc5, 24841 }, /* Thai_loling */
+    { 0x00000dc6, 24853 }, /* Thai_lu */
+    { 0x00000dc7, 25505 }, /* Thai_wowaen */
+    { 0x00000dc8, 25340 }, /* Thai_sosala */
+    { 0x00000dc9, 25328 }, /* Thai_sorusi */
+    { 0x00000dca, 25362 }, /* Thai_sosua */
+    { 0x00000dcb, 24583 }, /* Thai_hohip */
+    { 0x00000dcc, 24828 }, /* Thai_lochula */
+    { 0x00000dcd, 25038 }, /* Thai_oang */
+    { 0x00000dce, 24594 }, /* Thai_honokhuk */
+    { 0x00000dcf, 25048 }, /* Thai_paiyannoi */
+    { 0x00000dd0, 25149 }, /* Thai_saraa */
+    { 0x00000dd1, 24889 }, /* Thai_maihanakat */
+    { 0x00000dd2, 25160 }, /* Thai_saraaa */
+    { 0x00000dd3, 25223 }, /* Thai_saraam */
+    { 0x00000dd4, 25246 }, /* Thai_sarai */
+    { 0x00000dd5, 25257 }, /* Thai_saraii */
+    { 0x00000dd6, 25291 }, /* Thai_saraue */
+    { 0x00000dd7, 25303 }, /* Thai_sarauee */
+    { 0x00000dd8, 25280 }, /* Thai_sarau */
+    { 0x00000dd9, 25316 }, /* Thai_sarauu */
+    { 0x00000dda, 25063 }, /* Thai_phinthu */
+    { 0x00000dde, 24905 }, /* Thai_maihanakat_maitho */
+    { 0x00000ddf, 24460 }, /* Thai_baht */
+    { 0x00000de0, 25235 }, /* Thai_sarae */
+    { 0x00000de1, 25172 }, /* Thai_saraae */
+    { 0x00000de2, 25269 }, /* Thai_sarao */
+    { 0x00000de3, 25204 }, /* Thai_saraaimaimuan */
+    { 0x00000de4, 25184 }, /* Thai_saraaimaimalai */
+    { 0x00000de5, 24689 }, /* Thai_lakkhangyao */
+    { 0x00000de6, 24967 }, /* Thai_maiyamok */
+    { 0x00000de7, 24928 }, /* Thai_maitaikhu */
+    { 0x00000de8, 24878 }, /* Thai_maiek */
+    { 0x00000de9, 24943 }, /* Thai_maitho */
+    { 0x00000dea, 24955 }, /* Thai_maitri */
+    { 0x00000deb, 24861 }, /* Thai_maichattawa */
+    { 0x00000dec, 25373 }, /* Thai_thanthakhat */
+    { 0x00000ded, 25003 }, /* Thai_nikhahit */
+    { 0x00000df0, 24816 }, /* Thai_leksun */
+    { 0x00000df1, 24754 }, /* Thai_leknung */
+    { 0x00000df2, 24803 }, /* Thai_leksong */
+    { 0x00000df3, 24780 }, /* Thai_leksam */
+    { 0x00000df4, 24792 }, /* Thai_leksi */
+    { 0x00000df5, 24719 }, /* Thai_lekha */
+    { 0x00000df6, 24730 }, /* Thai_lekhok */
+    { 0x00000df7, 24706 }, /* Thai_lekchet */
+    { 0x00000df8, 24767 }, /* Thai_lekpaet */
+    { 0x00000df9, 24742 }, /* Thai_lekkao */
+    { 0x00000ea1, 15242 }, /* Hangul_Kiyeog */
+    { 0x00000ea2, 15787 }, /* Hangul_SsangKiyeog */
+    { 0x00000ea3, 15256 }, /* Hangul_KiyeogSios */
+    { 0x00000ea4, 15337 }, /* Hangul_Nieun */
+    { 0x00000ea5, 15368 }, /* Hangul_NieunJieuj */
+    { 0x00000ea6, 15350 }, /* Hangul_NieunHieuh */
+    { 0x00000ea7, 14549 }, /* Hangul_Dikeud */
+    { 0x00000ea8, 15750 }, /* Hangul_SsangDikeud */
+    { 0x00000ea9, 15522 }, /* Hangul_Rieul */
+    { 0x00000eaa, 15553 }, /* Hangul_RieulKiyeog */
+    { 0x00000eab, 15572 }, /* Hangul_RieulMieum */
+    { 0x00000eac, 15609 }, /* Hangul_RieulPieub */
+    { 0x00000ead, 15627 }, /* Hangul_RieulSios */
+    { 0x00000eae, 15644 }, /* Hangul_RieulTieut */
+    { 0x00000eaf, 15590 }, /* Hangul_RieulPhieuf */
+    { 0x00000eb0, 15535 }, /* Hangul_RieulHieuh */
+    { 0x00000eb1, 15299 }, /* Hangul_Mieum */
+    { 0x00000eb2, 15434 }, /* Hangul_Pieub */
+    { 0x00000eb3, 15806 }, /* Hangul_SsangPieub */
+    { 0x00000eb4, 15447 }, /* Hangul_PieubSios */
+    { 0x00000eb5, 15723 }, /* Hangul_Sios */
+    { 0x00000eb6, 15824 }, /* Hangul_SsangSios */
+    { 0x00000eb7, 14638 }, /* Hangul_Ieung */
+    { 0x00000eb8, 15215 }, /* Hangul_Jieuj */
+    { 0x00000eb9, 15769 }, /* Hangul_SsangJieuj */
+    { 0x00000eba, 14519 }, /* Hangul_Cieuc */
+    { 0x00000ebb, 15228 }, /* Hangul_Khieuq */
+    { 0x00000ebc, 15944 }, /* Hangul_Tieut */
+    { 0x00000ebd, 15420 }, /* Hangul_Phieuf */
+    { 0x00000ebe, 14616 }, /* Hangul_Hieuh */
+    { 0x00000ebf, 14460 }, /* Hangul_A */
+    { 0x00000ec0, 14469 }, /* Hangul_AE */
+    { 0x00000ec1, 16018 }, /* Hangul_YA */
+    { 0x00000ec2, 16028 }, /* Hangul_YAE */
+    { 0x00000ec3, 14583 }, /* Hangul_EO */
+    { 0x00000ec4, 14563 }, /* Hangul_E */
+    { 0x00000ec5, 16049 }, /* Hangul_YEO */
+    { 0x00000ec6, 16039 }, /* Hangul_YE */
+    { 0x00000ec7, 15386 }, /* Hangul_O */
+    { 0x00000ec8, 15966 }, /* Hangul_WA */
+    { 0x00000ec9, 15976 }, /* Hangul_WAE */
+    { 0x00000eca, 15395 }, /* Hangul_OE */
+    { 0x00000ecb, 16089 }, /* Hangul_YO */
+    { 0x00000ecc, 15957 }, /* Hangul_U */
+    { 0x00000ecd, 15997 }, /* Hangul_WEO */
+    { 0x00000ece, 15987 }, /* Hangul_WE */
+    { 0x00000ecf, 16008 }, /* Hangul_WI */
+    { 0x00000ed0, 16099 }, /* Hangul_YU */
+    { 0x00000ed1, 14593 }, /* Hangul_EU */
+    { 0x00000ed2, 16079 }, /* Hangul_YI */
+    { 0x00000ed3, 14629 }, /* Hangul_I */
+    { 0x00000ed4, 14743 }, /* Hangul_J_Kiyeog */
+    { 0x00000ed5, 15113 }, /* Hangul_J_SsangKiyeog */
+    { 0x00000ed6, 14759 }, /* Hangul_J_KiyeogSios */
+    { 0x00000ed7, 14821 }, /* Hangul_J_Nieun */
+    { 0x00000ed8, 14856 }, /* Hangul_J_NieunJieuj */
+    { 0x00000ed9, 14836 }, /* Hangul_J_NieunHieuh */
+    { 0x00000eda, 14666 }, /* Hangul_J_Dikeud */
+    { 0x00000edb, 14943 }, /* Hangul_J_Rieul */
+    { 0x00000edc, 14978 }, /* Hangul_J_RieulKiyeog */
+    { 0x00000edd, 14999 }, /* Hangul_J_RieulMieum */
+    { 0x00000ede, 15040 }, /* Hangul_J_RieulPieub */
+    { 0x00000edf, 15060 }, /* Hangul_J_RieulSios */
+    { 0x00000ee0, 15079 }, /* Hangul_J_RieulTieut */
+    { 0x00000ee1, 15019 }, /* Hangul_J_RieulPhieuf */
+    { 0x00000ee2, 14958 }, /* Hangul_J_RieulHieuh */
+    { 0x00000ee3, 14806 }, /* Hangul_J_Mieum */
+    { 0x00000ee4, 14909 }, /* Hangul_J_Pieub */
+    { 0x00000ee5, 14924 }, /* Hangul_J_PieubSios */
+    { 0x00000ee6, 15099 }, /* Hangul_J_Sios */
+    { 0x00000ee7, 15134 }, /* Hangul_J_SsangSios */
+    { 0x00000ee8, 14697 }, /* Hangul_J_Ieung */
+    { 0x00000ee9, 14712 }, /* Hangul_J_Jieuj */
+    { 0x00000eea, 14651 }, /* Hangul_J_Cieuc */
+    { 0x00000eeb, 14727 }, /* Hangul_J_Khieuq */
+    { 0x00000eec, 15153 }, /* Hangul_J_Tieut */
+    { 0x00000eed, 14893 }, /* Hangul_J_Phieuf */
+    { 0x00000eee, 14682 }, /* Hangul_J_Hieuh */
+    { 0x00000eef, 15662 }, /* Hangul_RieulYeorinHieuh */
+    { 0x00000ef0, 15854 }, /* Hangul_SunkyeongeumMieum */
+    { 0x00000ef1, 15905 }, /* Hangul_SunkyeongeumPieub */
+    { 0x00000ef2, 15405 }, /* Hangul_PanSios */
+    { 0x00000ef3, 15274 }, /* Hangul_KkogjiDalrinIeung */
+    { 0x00000ef4, 15879 }, /* Hangul_SunkyeongeumPhieuf */
+    { 0x00000ef5, 16060 }, /* Hangul_YeorinHieuh */
+    { 0x00000ef6, 14479 }, /* Hangul_AraeA */
+    { 0x00000ef7, 14492 }, /* Hangul_AraeAE */
+    { 0x00000ef8, 14876 }, /* Hangul_J_PanSios */
+    { 0x00000ef9, 14779 }, /* Hangul_J_KkogjiDalrinIeung */
+    { 0x00000efa, 15168 }, /* Hangul_J_YeorinHieuh */
+    { 0x00000eff, 18845 }, /* Korean_Won */
+    { 0x000013bc, 20562 }, /* OE */
+    { 0x000013bd, 20565 }, /* oe */
+    { 0x000013be, 31580 }, /* Ydiaeresis */
+    { 0x000020ac, 12122 }, /* EuroSign */
     { 0x0000fd01, 125 }, /* 3270_Duplicate */
     { 0x0000fd02, 195 }, /* 3270_FieldMark */
     { 0x0000fd03, 343 }, /* 3270_Right2 */
@@ -5829,293 +6482,290 @@ static const struct name_keysym keysym_to_name[] = {
     { 0x0000fd1c, 91 }, /* 3270_CursorSelect */
     { 0x0000fd1d, 293 }, /* 3270_PrintScreen */
     { 0x0000fd1e, 140 }, /* 3270_Enter */
-    { 0x0000fe01, 17781 }, /* ISO_Lock */
-    { 0x0000fe02, 17664 }, /* ISO_Level2_Latch */
-    { 0x0000fe03, 17714 }, /* ISO_Level3_Shift */
-    { 0x0000fe04, 17681 }, /* ISO_Level3_Latch */
-    { 0x0000fe05, 17698 }, /* ISO_Level3_Lock */
-    { 0x0000fe06, 17569 }, /* ISO_Group_Latch */
-    { 0x0000fe07, 17585 }, /* ISO_Group_Lock */
-    { 0x0000fe08, 17826 }, /* ISO_Next_Group */
-    { 0x0000fe09, 17841 }, /* ISO_Next_Group_Lock */
-    { 0x0000fe0a, 17950 }, /* ISO_Prev_Group */
-    { 0x0000fe0b, 17965 }, /* ISO_Prev_Group_Lock */
-    { 0x0000fe0c, 17532 }, /* ISO_First_Group */
-    { 0x0000fe0d, 17548 }, /* ISO_First_Group_Lock */
-    { 0x0000fe0e, 17616 }, /* ISO_Last_Group */
-    { 0x0000fe0f, 17631 }, /* ISO_Last_Group_Lock */
-    { 0x0000fe11, 17764 }, /* ISO_Level5_Shift */
-    { 0x0000fe12, 17731 }, /* ISO_Level5_Latch */
-    { 0x0000fe13, 17748 }, /* ISO_Level5_Lock */
-    { 0x0000fe20, 17651 }, /* ISO_Left_Tab */
-    { 0x0000fe21, 17809 }, /* ISO_Move_Line_Up */
-    { 0x0000fe22, 17790 }, /* ISO_Move_Line_Down */
-    { 0x0000fe23, 17883 }, /* ISO_Partial_Line_Up */
-    { 0x0000fe24, 17861 }, /* ISO_Partial_Line_Down */
-    { 0x0000fe25, 17903 }, /* ISO_Partial_Space_Left */
-    { 0x0000fe26, 17926 }, /* ISO_Partial_Space_Right */
-    { 0x0000fe27, 18059 }, /* ISO_Set_Margin_Left */
-    { 0x0000fe28, 18079 }, /* ISO_Set_Margin_Right */
-    { 0x0000fe29, 18010 }, /* ISO_Release_Margin_Left */
-    { 0x0000fe2a, 18034 }, /* ISO_Release_Margin_Right */
-    { 0x0000fe2b, 17985 }, /* ISO_Release_Both_Margins */
-    { 0x0000fe2c, 17470 }, /* ISO_Fast_Cursor_Left */
-    { 0x0000fe2d, 17491 }, /* ISO_Fast_Cursor_Right */
-    { 0x0000fe2e, 17513 }, /* ISO_Fast_Cursor_Up */
-    { 0x0000fe2f, 17449 }, /* ISO_Fast_Cursor_Down */
-    { 0x0000fe30, 17372 }, /* ISO_Continuous_Underline */
-    { 0x0000fe31, 17397 }, /* ISO_Discontinuous_Underline */
-    { 0x0000fe32, 17425 }, /* ISO_Emphasize */
-    { 0x0000fe33, 17354 }, /* ISO_Center_Object */
-    { 0x0000fe34, 17439 }, /* ISO_Enter */
-    { 0x0000fe50, 10858 }, /* dead_grave */
-    { 0x0000fe51, 10531 }, /* dead_acute */
-    { 0x0000fe52, 10754 }, /* dead_circumflex */
-    { 0x0000fe53, 11097 }, /* dead_tilde */
-    { 0x0000fe54, 10980 }, /* dead_macron */
-    { 0x0000fe55, 10700 }, /* dead_breve */
-    { 0x0000fe56, 10455 }, /* dead_abovedot */
-    { 0x0000fe57, 10795 }, /* dead_diaeresis */
-    { 0x0000fe58, 10493 }, /* dead_abovering */
-    { 0x0000fe59, 10810 }, /* dead_doubleacute */
-    { 0x0000fe5a, 10730 }, /* dead_caron */
-    { 0x0000fe5b, 10741 }, /* dead_cedilla */
-    { 0x0000fe5c, 11006 }, /* dead_ogonek */
-    { 0x0000fe5d, 10933 }, /* dead_iota */
-    { 0x0000fe5e, 11122 }, /* dead_voiced_sound */
-    { 0x0000fe5f, 11046 }, /* dead_semivoiced_sound */
-    { 0x0000fe60, 10615 }, /* dead_belowdot */
-    { 0x0000fe61, 10880 }, /* dead_hook */
-    { 0x0000fe62, 10890 }, /* dead_horn */
-    { 0x0000fe63, 11085 }, /* dead_stroke */
-    { 0x0000fe64, 10439 }, /* dead_abovecomma */
-    { 0x0000fe65, 10469 }, /* dead_abovereversedcomma */
-    { 0x0000fe66, 10827 }, /* dead_doublegrave */
-    { 0x0000fe67, 10646 }, /* dead_belowring */
-    { 0x0000fe68, 10629 }, /* dead_belowmacron */
-    { 0x0000fe69, 10558 }, /* dead_belowcircumflex */
-    { 0x0000fe6a, 10661 }, /* dead_belowtilde */
-    { 0x0000fe6b, 10542 }, /* dead_belowbreve */
-    { 0x0000fe6c, 10595 }, /* dead_belowdiaeresis */
-    { 0x0000fe6d, 10914 }, /* dead_invertedbreve */
-    { 0x0000fe6e, 10579 }, /* dead_belowcomma */
-    { 0x0000fe6f, 10770 }, /* dead_currency */
+    { 0x0000fe01, 17829 }, /* ISO_Lock */
+    { 0x0000fe02, 17712 }, /* ISO_Level2_Latch */
+    { 0x0000fe03, 17762 }, /* ISO_Level3_Shift */
+    { 0x0000fe04, 17729 }, /* ISO_Level3_Latch */
+    { 0x0000fe05, 17746 }, /* ISO_Level3_Lock */
+    { 0x0000fe06, 17617 }, /* ISO_Group_Latch */
+    { 0x0000fe07, 17633 }, /* ISO_Group_Lock */
+    { 0x0000fe08, 17874 }, /* ISO_Next_Group */
+    { 0x0000fe09, 17889 }, /* ISO_Next_Group_Lock */
+    { 0x0000fe0a, 17998 }, /* ISO_Prev_Group */
+    { 0x0000fe0b, 18013 }, /* ISO_Prev_Group_Lock */
+    { 0x0000fe0c, 17580 }, /* ISO_First_Group */
+    { 0x0000fe0d, 17596 }, /* ISO_First_Group_Lock */
+    { 0x0000fe0e, 17664 }, /* ISO_Last_Group */
+    { 0x0000fe0f, 17679 }, /* ISO_Last_Group_Lock */
+    { 0x0000fe11, 17812 }, /* ISO_Level5_Shift */
+    { 0x0000fe12, 17779 }, /* ISO_Level5_Latch */
+    { 0x0000fe13, 17796 }, /* ISO_Level5_Lock */
+    { 0x0000fe20, 17699 }, /* ISO_Left_Tab */
+    { 0x0000fe21, 17857 }, /* ISO_Move_Line_Up */
+    { 0x0000fe22, 17838 }, /* ISO_Move_Line_Down */
+    { 0x0000fe23, 17931 }, /* ISO_Partial_Line_Up */
+    { 0x0000fe24, 17909 }, /* ISO_Partial_Line_Down */
+    { 0x0000fe25, 17951 }, /* ISO_Partial_Space_Left */
+    { 0x0000fe26, 17974 }, /* ISO_Partial_Space_Right */
+    { 0x0000fe27, 18107 }, /* ISO_Set_Margin_Left */
+    { 0x0000fe28, 18127 }, /* ISO_Set_Margin_Right */
+    { 0x0000fe29, 18058 }, /* ISO_Release_Margin_Left */
+    { 0x0000fe2a, 18082 }, /* ISO_Release_Margin_Right */
+    { 0x0000fe2b, 18033 }, /* ISO_Release_Both_Margins */
+    { 0x0000fe2c, 17518 }, /* ISO_Fast_Cursor_Left */
+    { 0x0000fe2d, 17539 }, /* ISO_Fast_Cursor_Right */
+    { 0x0000fe2e, 17561 }, /* ISO_Fast_Cursor_Up */
+    { 0x0000fe2f, 17497 }, /* ISO_Fast_Cursor_Down */
+    { 0x0000fe30, 17420 }, /* ISO_Continuous_Underline */
+    { 0x0000fe31, 17445 }, /* ISO_Discontinuous_Underline */
+    { 0x0000fe32, 17473 }, /* ISO_Emphasize */
+    { 0x0000fe33, 17402 }, /* ISO_Center_Object */
+    { 0x0000fe34, 17487 }, /* ISO_Enter */
+    { 0x0000fe50, 10894 }, /* dead_grave */
+    { 0x0000fe51, 10590 }, /* dead_acute */
+    { 0x0000fe52, 10790 }, /* dead_circumflex */
+    { 0x0000fe53, 11129 }, /* dead_tilde */
+    { 0x0000fe54, 10990 }, /* dead_macron */
+    { 0x0000fe55, 10736 }, /* dead_breve */
+    { 0x0000fe56, 10537 }, /* dead_abovedot */
+    { 0x0000fe57, 10831 }, /* dead_diaeresis */
+    { 0x0000fe58, 10575 }, /* dead_abovering */
+    { 0x0000fe59, 10846 }, /* dead_doubleacute */
+    { 0x0000fe5a, 10766 }, /* dead_caron */
+    { 0x0000fe5b, 10777 }, /* dead_cedilla */
+    { 0x0000fe5c, 11016 }, /* dead_ogonek */
+    { 0x0000fe5d, 10980 }, /* dead_iota */
+    { 0x0000fe5e, 11154 }, /* dead_voiced_sound */
+    { 0x0000fe5f, 11078 }, /* dead_semivoiced_sound */
+    { 0x0000fe60, 10674 }, /* dead_belowdot */
+    { 0x0000fe61, 10927 }, /* dead_hook */
+    { 0x0000fe62, 10937 }, /* dead_horn */
+    { 0x0000fe63, 11117 }, /* dead_stroke */
+    { 0x0000fe64, 10521 }, /* dead_abovecomma */
+    { 0x0000fe65, 10551 }, /* dead_abovereversedcomma */
+    { 0x0000fe66, 10863 }, /* dead_doublegrave */
+    { 0x0000fe67, 10705 }, /* dead_belowring */
+    { 0x0000fe68, 10688 }, /* dead_belowmacron */
+    { 0x0000fe69, 10617 }, /* dead_belowcircumflex */
+    { 0x0000fe6a, 10720 }, /* dead_belowtilde */
+    { 0x0000fe6b, 10601 }, /* dead_belowbreve */
+    { 0x0000fe6c, 10654 }, /* dead_belowdiaeresis */
+    { 0x0000fe6d, 10961 }, /* dead_invertedbreve */
+    { 0x0000fe6e, 10638 }, /* dead_belowcomma */
+    { 0x0000fe6f, 10806 }, /* dead_currency */
     { 0x0000fe70, 583 }, /* AccessX_Enable */
     { 0x0000fe71, 598 }, /* AccessX_Feedback_Enable */
-    { 0x0000fe72, 22342 }, /* RepeatKeys_Enable */
-    { 0x0000fe73, 23774 }, /* SlowKeys_Enable */
+    { 0x0000fe72, 22403 }, /* RepeatKeys_Enable */
+    { 0x0000fe73, 23835 }, /* SlowKeys_Enable */
     { 0x0000fe74, 3564 }, /* BounceKeys_Enable */
-    { 0x0000fe75, 23836 }, /* StickyKeys_Enable */
-    { 0x0000fe76, 19782 }, /* MouseKeys_Enable */
-    { 0x0000fe77, 19759 }, /* MouseKeys_Accel_Enable */
-    { 0x0000fe78, 21332 }, /* Overlay1_Enable */
-    { 0x0000fe79, 21348 }, /* Overlay2_Enable */
+    { 0x0000fe75, 23897 }, /* StickyKeys_Enable */
+    { 0x0000fe76, 19830 }, /* MouseKeys_Enable */
+    { 0x0000fe77, 19807 }, /* MouseKeys_Accel_Enable */
+    { 0x0000fe78, 21393 }, /* Overlay1_Enable */
+    { 0x0000fe79, 21409 }, /* Overlay2_Enable */
     { 0x0000fe7a, 3309 }, /* AudibleBell_Enable */
-    { 0x0000fe80, 10425 }, /* dead_a */
-    { 0x0000fe81, 10432 }, /* dead_A */
-    { 0x0000fe82, 10844 }, /* dead_e */
-    { 0x0000fe83, 10851 }, /* dead_E */
-    { 0x0000fe84, 10900 }, /* dead_i */
-    { 0x0000fe85, 10907 }, /* dead_I */
-    { 0x0000fe86, 10992 }, /* dead_o */
-    { 0x0000fe87, 10999 }, /* dead_O */
-    { 0x0000fe88, 11108 }, /* dead_u */
-    { 0x0000fe89, 11115 }, /* dead_U */
-    { 0x0000fe8a, 11068 }, /* dead_small_schwa */
-    { 0x0000fe8b, 10711 }, /* dead_capital_schwa */
-    { 0x0000fe8c, 10869 }, /* dead_greek */
-    { 0x0000fe90, 10967 }, /* dead_lowline */
-    { 0x0000fe91, 10508 }, /* dead_aboveverticalline */
-    { 0x0000fe92, 10677 }, /* dead_belowverticalline */
-    { 0x0000fe93, 10943 }, /* dead_longsolidusoverlay */
+    { 0x0000fe80, 10507 }, /* dead_a */
+    { 0x0000fe81, 10514 }, /* dead_A */
+    { 0x0000fe82, 10880 }, /* dead_e */
+    { 0x0000fe83, 10887 }, /* dead_E */
+    { 0x0000fe84, 10947 }, /* dead_i */
+    { 0x0000fe85, 10954 }, /* dead_I */
+    { 0x0000fe86, 11002 }, /* dead_o */
+    { 0x0000fe87, 11009 }, /* dead_O */
+    { 0x0000fe88, 11140 }, /* dead_u */
+    { 0x0000fe89, 11147 }, /* dead_U */
+    { 0x0000fe8a, 11056 }, /* dead_schwa */
+    { 0x0000fe8b, 11067 }, /* dead_SCHWA */
+    { 0x0000fe8c, 10905 }, /* dead_greek */
+    { 0x0000fe8d, 10916 }, /* dead_hamza */
     { 0x0000fea0, 8594 }, /* ch */
     { 0x0000fea1, 8597 }, /* Ch */
     { 0x0000fea2, 8600 }, /* CH */
     { 0x0000fea3, 8443 }, /* c_h */
     { 0x0000fea4, 8447 }, /* C_h */
     { 0x0000fea5, 8451 }, /* C_H */
-    { 0x0000fed0, 12536 }, /* First_Virtual_Screen */
-    { 0x0000fed1, 22080 }, /* Prev_Virtual_Screen */
-    { 0x0000fed2, 20028 }, /* Next_Virtual_Screen */
-    { 0x0000fed4, 19161 }, /* Last_Virtual_Screen */
-    { 0x0000fed5, 24382 }, /* Terminate_Server */
-    { 0x0000fee0, 21998 }, /* Pointer_Left */
-    { 0x0000fee1, 22011 }, /* Pointer_Right */
-    { 0x0000fee2, 22025 }, /* Pointer_Up */
-    { 0x0000fee3, 21843 }, /* Pointer_Down */
-    { 0x0000fee4, 22036 }, /* Pointer_UpLeft */
-    { 0x0000fee5, 22051 }, /* Pointer_UpRight */
-    { 0x0000fee6, 21856 }, /* Pointer_DownLeft */
-    { 0x0000fee7, 21873 }, /* Pointer_DownRight */
-    { 0x0000fee8, 21671 }, /* Pointer_Button_Dflt */
-    { 0x0000fee9, 21591 }, /* Pointer_Button1 */
-    { 0x0000feea, 21607 }, /* Pointer_Button2 */
-    { 0x0000feeb, 21623 }, /* Pointer_Button3 */
-    { 0x0000feec, 21639 }, /* Pointer_Button4 */
-    { 0x0000feed, 21655 }, /* Pointer_Button5 */
-    { 0x0000feee, 21781 }, /* Pointer_DblClick_Dflt */
-    { 0x0000feef, 21691 }, /* Pointer_DblClick1 */
-    { 0x0000fef0, 21709 }, /* Pointer_DblClick2 */
-    { 0x0000fef1, 21727 }, /* Pointer_DblClick3 */
-    { 0x0000fef2, 21745 }, /* Pointer_DblClick4 */
-    { 0x0000fef3, 21763 }, /* Pointer_DblClick5 */
-    { 0x0000fef4, 21961 }, /* Pointer_Drag_Dflt */
-    { 0x0000fef5, 21891 }, /* Pointer_Drag1 */
-    { 0x0000fef6, 21905 }, /* Pointer_Drag2 */
-    { 0x0000fef7, 21919 }, /* Pointer_Drag3 */
-    { 0x0000fef8, 21933 }, /* Pointer_Drag4 */
-    { 0x0000fef9, 21979 }, /* Pointer_EnableKeys */
-    { 0x0000fefa, 21572 }, /* Pointer_Accelerate */
-    { 0x0000fefb, 21803 }, /* Pointer_DfltBtnNext */
-    { 0x0000fefc, 21823 }, /* Pointer_DfltBtnPrev */
-    { 0x0000fefd, 21947 }, /* Pointer_Drag5 */
+    { 0x0000fed0, 12568 }, /* First_Virtual_Screen */
+    { 0x0000fed1, 22141 }, /* Prev_Virtual_Screen */
+    { 0x0000fed2, 20076 }, /* Next_Virtual_Screen */
+    { 0x0000fed4, 19209 }, /* Last_Virtual_Screen */
+    { 0x0000fed5, 24443 }, /* Terminate_Server */
+    { 0x0000fee0, 22059 }, /* Pointer_Left */
+    { 0x0000fee1, 22072 }, /* Pointer_Right */
+    { 0x0000fee2, 22086 }, /* Pointer_Up */
+    { 0x0000fee3, 21904 }, /* Pointer_Down */
+    { 0x0000fee4, 22097 }, /* Pointer_UpLeft */
+    { 0x0000fee5, 22112 }, /* Pointer_UpRight */
+    { 0x0000fee6, 21917 }, /* Pointer_DownLeft */
+    { 0x0000fee7, 21934 }, /* Pointer_DownRight */
+    { 0x0000fee8, 21732 }, /* Pointer_Button_Dflt */
+    { 0x0000fee9, 21652 }, /* Pointer_Button1 */
+    { 0x0000feea, 21668 }, /* Pointer_Button2 */
+    { 0x0000feeb, 21684 }, /* Pointer_Button3 */
+    { 0x0000feec, 21700 }, /* Pointer_Button4 */
+    { 0x0000feed, 21716 }, /* Pointer_Button5 */
+    { 0x0000feee, 21842 }, /* Pointer_DblClick_Dflt */
+    { 0x0000feef, 21752 }, /* Pointer_DblClick1 */
+    { 0x0000fef0, 21770 }, /* Pointer_DblClick2 */
+    { 0x0000fef1, 21788 }, /* Pointer_DblClick3 */
+    { 0x0000fef2, 21806 }, /* Pointer_DblClick4 */
+    { 0x0000fef3, 21824 }, /* Pointer_DblClick5 */
+    { 0x0000fef4, 22022 }, /* Pointer_Drag_Dflt */
+    { 0x0000fef5, 21952 }, /* Pointer_Drag1 */
+    { 0x0000fef6, 21966 }, /* Pointer_Drag2 */
+    { 0x0000fef7, 21980 }, /* Pointer_Drag3 */
+    { 0x0000fef8, 21994 }, /* Pointer_Drag4 */
+    { 0x0000fef9, 22040 }, /* Pointer_EnableKeys */
+    { 0x0000fefa, 21633 }, /* Pointer_Accelerate */
+    { 0x0000fefb, 21864 }, /* Pointer_DfltBtnNext */
+    { 0x0000fefc, 21884 }, /* Pointer_DfltBtnPrev */
+    { 0x0000fefd, 22008 }, /* Pointer_Drag5 */
     { 0x0000ff08, 3362 }, /* BackSpace */
-    { 0x0000ff09, 24298 }, /* Tab */
-    { 0x0000ff0a, 19434 }, /* Linefeed */
+    { 0x0000ff09, 24359 }, /* Tab */
+    { 0x0000ff0a, 19482 }, /* Linefeed */
     { 0x0000ff0b, 8633 }, /* Clear */
-    { 0x0000ff0d, 22366 }, /* Return */
-    { 0x0000ff13, 21481 }, /* Pause */
-    { 0x0000ff14, 22699 }, /* Scroll_Lock */
-    { 0x0000ff15, 24279 }, /* Sys_Req */
-    { 0x0000ff1b, 12057 }, /* Escape */
-    { 0x0000ff20, 19811 }, /* Multi_key */
-    { 0x0000ff21, 18745 }, /* Kanji */
-    { 0x0000ff22, 19802 }, /* Muhenkan */
-    { 0x0000ff23, 16614 }, /* Henkan_Mode */
-    { 0x0000ff24, 22562 }, /* Romaji */
-    { 0x0000ff25, 16635 }, /* Hiragana */
-    { 0x0000ff26, 18770 }, /* Katakana */
-    { 0x0000ff27, 16644 }, /* Hiragana_Katakana */
-    { 0x0000ff28, 29210 }, /* Zenkaku */
-    { 0x0000ff29, 16048 }, /* Hankaku */
-    { 0x0000ff2a, 29218 }, /* Zenkaku_Hankaku */
-    { 0x0000ff2b, 25752 }, /* Touroku */
-    { 0x0000ff2c, 19698 }, /* Massyo */
-    { 0x0000ff2d, 18351 }, /* Kana_Lock */
-    { 0x0000ff2e, 18562 }, /* Kana_Shift */
-    { 0x0000ff2f, 11779 }, /* Eisu_Shift */
-    { 0x0000ff30, 11790 }, /* Eisu_toggle */
-    { 0x0000ff31, 14392 }, /* Hangul */
-    { 0x0000ff32, 15780 }, /* Hangul_Start */
-    { 0x0000ff33, 14511 }, /* Hangul_End */
-    { 0x0000ff34, 14542 }, /* Hangul_Hanja */
-    { 0x0000ff35, 15128 }, /* Hangul_Jamo */
-    { 0x0000ff36, 15625 }, /* Hangul_Romaja */
+    { 0x0000ff0d, 22427 }, /* Return */
+    { 0x0000ff13, 21542 }, /* Pause */
+    { 0x0000ff14, 22760 }, /* Scroll_Lock */
+    { 0x0000ff15, 24340 }, /* Sys_Req */
+    { 0x0000ff1b, 12089 }, /* Escape */
+    { 0x0000ff20, 19859 }, /* Multi_key */
+    { 0x0000ff21, 18793 }, /* Kanji */
+    { 0x0000ff22, 19850 }, /* Muhenkan */
+    { 0x0000ff23, 16675 }, /* Henkan_Mode */
+    { 0x0000ff24, 22623 }, /* Romaji */
+    { 0x0000ff25, 16696 }, /* Hiragana */
+    { 0x0000ff26, 18818 }, /* Katakana */
+    { 0x0000ff27, 16705 }, /* Hiragana_Katakana */
+    { 0x0000ff28, 31696 }, /* Zenkaku */
+    { 0x0000ff29, 16109 }, /* Hankaku */
+    { 0x0000ff2a, 31704 }, /* Zenkaku_Hankaku */
+    { 0x0000ff2b, 25813 }, /* Touroku */
+    { 0x0000ff2c, 19746 }, /* Massyo */
+    { 0x0000ff2d, 18399 }, /* Kana_Lock */
+    { 0x0000ff2e, 18610 }, /* Kana_Shift */
+    { 0x0000ff2f, 11811 }, /* Eisu_Shift */
+    { 0x0000ff30, 11822 }, /* Eisu_toggle */
+    { 0x0000ff31, 14453 }, /* Hangul */
+    { 0x0000ff32, 15841 }, /* Hangul_Start */
+    { 0x0000ff33, 14572 }, /* Hangul_End */
+    { 0x0000ff34, 14603 }, /* Hangul_Hanja */
+    { 0x0000ff35, 15189 }, /* Hangul_Jamo */
+    { 0x0000ff36, 15686 }, /* Hangul_Romaja */
     { 0x0000ff37, 8654 }, /* Codeinput */
-    { 0x0000ff38, 15140 }, /* Hangul_Jeonja */
-    { 0x0000ff39, 14445 }, /* Hangul_Banja */
-    { 0x0000ff3a, 15420 }, /* Hangul_PreHanja */
-    { 0x0000ff3b, 15403 }, /* Hangul_PostHanja */
-    { 0x0000ff3c, 23012 }, /* SingleCandidate */
-    { 0x0000ff3d, 19821 }, /* MultipleCandidate */
-    { 0x0000ff3e, 22100 }, /* PreviousCandidate */
-    { 0x0000ff3f, 15674 }, /* Hangul_Special */
-    { 0x0000ff50, 16662 }, /* Home */
-    { 0x0000ff51, 19244 }, /* Left */
-    { 0x0000ff52, 26384 }, /* Up */
-    { 0x0000ff53, 22373 }, /* Right */
-    { 0x0000ff54, 11327 }, /* Down */
-    { 0x0000ff55, 22124 }, /* Prior */
-    { 0x0000ff56, 20023 }, /* Next */
-    { 0x0000ff57, 11936 }, /* End */
+    { 0x0000ff38, 15201 }, /* Hangul_Jeonja */
+    { 0x0000ff39, 14506 }, /* Hangul_Banja */
+    { 0x0000ff3a, 15481 }, /* Hangul_PreHanja */
+    { 0x0000ff3b, 15464 }, /* Hangul_PostHanja */
+    { 0x0000ff3c, 23073 }, /* SingleCandidate */
+    { 0x0000ff3d, 19869 }, /* MultipleCandidate */
+    { 0x0000ff3e, 22161 }, /* PreviousCandidate */
+    { 0x0000ff3f, 15735 }, /* Hangul_Special */
+    { 0x0000ff50, 16723 }, /* Home */
+    { 0x0000ff51, 19292 }, /* Left */
+    { 0x0000ff52, 26445 }, /* Up */
+    { 0x0000ff53, 22434 }, /* Right */
+    { 0x0000ff54, 11359 }, /* Down */
+    { 0x0000ff55, 22185 }, /* Prior */
+    { 0x0000ff56, 20071 }, /* Next */
+    { 0x0000ff57, 11968 }, /* End */
     { 0x0000ff58, 3404 }, /* Begin */
-    { 0x0000ff60, 22727 }, /* Select */
-    { 0x0000ff61, 22118 }, /* Print */
-    { 0x0000ff62, 12117 }, /* Execute */
-    { 0x0000ff63, 17284 }, /* Insert */
-    { 0x0000ff65, 26357 }, /* Undo */
-    { 0x0000ff66, 22326 }, /* Redo */
-    { 0x0000ff67, 19705 }, /* Menu */
-    { 0x0000ff68, 12531 }, /* Find */
+    { 0x0000ff60, 22788 }, /* Select */
+    { 0x0000ff61, 22179 }, /* Print */
+    { 0x0000ff62, 12149 }, /* Execute */
+    { 0x0000ff63, 17332 }, /* Insert */
+    { 0x0000ff65, 26418 }, /* Undo */
+    { 0x0000ff66, 22387 }, /* Redo */
+    { 0x0000ff67, 19753 }, /* Menu */
+    { 0x0000ff68, 12563 }, /* Find */
     { 0x0000ff69, 8489 }, /* Cancel */
-    { 0x0000ff6a, 16602 }, /* Help */
+    { 0x0000ff6a, 16663 }, /* Help */
     { 0x0000ff6b, 8377 }, /* Break */
-    { 0x0000ff7e, 19747 }, /* Mode_switch */
-    { 0x0000ff7f, 20169 }, /* Num_Lock */
-    { 0x0000ff80, 19074 }, /* KP_Space */
-    { 0x0000ff89, 19095 }, /* KP_Tab */
-    { 0x0000ff8d, 18931 }, /* KP_Enter */
-    { 0x0000ff91, 18949 }, /* KP_F1 */
-    { 0x0000ff92, 18955 }, /* KP_F2 */
-    { 0x0000ff93, 18961 }, /* KP_F3 */
-    { 0x0000ff94, 18967 }, /* KP_F4 */
-    { 0x0000ff95, 18973 }, /* KP_Home */
-    { 0x0000ff96, 18991 }, /* KP_Left */
-    { 0x0000ff97, 19102 }, /* KP_Up */
-    { 0x0000ff98, 19052 }, /* KP_Right */
-    { 0x0000ff99, 18916 }, /* KP_Down */
-    { 0x0000ff9a, 19043 }, /* KP_Prior */
-    { 0x0000ff9b, 19011 }, /* KP_Next */
-    { 0x0000ff9c, 18924 }, /* KP_End */
-    { 0x0000ff9d, 18876 }, /* KP_Begin */
-    { 0x0000ff9e, 18981 }, /* KP_Insert */
-    { 0x0000ff9f, 18896 }, /* KP_Delete */
-    { 0x0000ffaa, 18999 }, /* KP_Multiply */
-    { 0x0000ffab, 18858 }, /* KP_Add */
-    { 0x0000ffac, 19061 }, /* KP_Separator */
-    { 0x0000ffad, 19083 }, /* KP_Subtract */
-    { 0x0000ffae, 18885 }, /* KP_Decimal */
-    { 0x0000ffaf, 18906 }, /* KP_Divide */
-    { 0x0000ffb0, 18808 }, /* KP_0 */
-    { 0x0000ffb1, 18813 }, /* KP_1 */
-    { 0x0000ffb2, 18818 }, /* KP_2 */
-    { 0x0000ffb3, 18823 }, /* KP_3 */
-    { 0x0000ffb4, 18828 }, /* KP_4 */
-    { 0x0000ffb5, 18833 }, /* KP_5 */
-    { 0x0000ffb6, 18838 }, /* KP_6 */
-    { 0x0000ffb7, 18843 }, /* KP_7 */
-    { 0x0000ffb8, 18848 }, /* KP_8 */
-    { 0x0000ffb9, 18853 }, /* KP_9 */
-    { 0x0000ffbd, 18940 }, /* KP_Equal */
-    { 0x0000ffbe, 12159 }, /* F1 */
-    { 0x0000ffbf, 12202 }, /* F2 */
-    { 0x0000ffc0, 12245 }, /* F3 */
-    { 0x0000ffc1, 12272 }, /* F4 */
-    { 0x0000ffc2, 12275 }, /* F5 */
-    { 0x0000ffc3, 12278 }, /* F6 */
-    { 0x0000ffc4, 12281 }, /* F7 */
-    { 0x0000ffc5, 12284 }, /* F8 */
-    { 0x0000ffc6, 12287 }, /* F9 */
-    { 0x0000ffc7, 12162 }, /* F10 */
-    { 0x0000ffc8, 12166 }, /* F11 */
-    { 0x0000ffc9, 12170 }, /* F12 */
-    { 0x0000ffca, 12174 }, /* F13 */
-    { 0x0000ffcb, 12178 }, /* F14 */
-    { 0x0000ffcc, 12182 }, /* F15 */
-    { 0x0000ffcd, 12186 }, /* F16 */
-    { 0x0000ffce, 12190 }, /* F17 */
-    { 0x0000ffcf, 12194 }, /* F18 */
-    { 0x0000ffd0, 12198 }, /* F19 */
-    { 0x0000ffd1, 12205 }, /* F20 */
-    { 0x0000ffd2, 12209 }, /* F21 */
-    { 0x0000ffd3, 12213 }, /* F22 */
-    { 0x0000ffd4, 12217 }, /* F23 */
-    { 0x0000ffd5, 12221 }, /* F24 */
-    { 0x0000ffd6, 12225 }, /* F25 */
-    { 0x0000ffd7, 12229 }, /* F26 */
-    { 0x0000ffd8, 12233 }, /* F27 */
-    { 0x0000ffd9, 12237 }, /* F28 */
-    { 0x0000ffda, 12241 }, /* F29 */
-    { 0x0000ffdb, 12248 }, /* F30 */
-    { 0x0000ffdc, 12252 }, /* F31 */
-    { 0x0000ffdd, 12256 }, /* F32 */
-    { 0x0000ffde, 12260 }, /* F33 */
-    { 0x0000ffdf, 12264 }, /* F34 */
-    { 0x0000ffe0, 12268 }, /* F35 */
-    { 0x0000ffe1, 22946 }, /* Shift_L */
-    { 0x0000ffe2, 22965 }, /* Shift_R */
-    { 0x0000ffe3, 8697 }, /* Control_L */
-    { 0x0000ffe4, 8707 }, /* Control_R */
+    { 0x0000ff7e, 19795 }, /* Mode_switch */
+    { 0x0000ff7f, 20217 }, /* Num_Lock */
+    { 0x0000ff80, 19122 }, /* KP_Space */
+    { 0x0000ff89, 19143 }, /* KP_Tab */
+    { 0x0000ff8d, 18979 }, /* KP_Enter */
+    { 0x0000ff91, 18997 }, /* KP_F1 */
+    { 0x0000ff92, 19003 }, /* KP_F2 */
+    { 0x0000ff93, 19009 }, /* KP_F3 */
+    { 0x0000ff94, 19015 }, /* KP_F4 */
+    { 0x0000ff95, 19021 }, /* KP_Home */
+    { 0x0000ff96, 19039 }, /* KP_Left */
+    { 0x0000ff97, 19150 }, /* KP_Up */
+    { 0x0000ff98, 19100 }, /* KP_Right */
+    { 0x0000ff99, 18964 }, /* KP_Down */
+    { 0x0000ff9a, 19091 }, /* KP_Prior */
+    { 0x0000ff9b, 19059 }, /* KP_Next */
+    { 0x0000ff9c, 18972 }, /* KP_End */
+    { 0x0000ff9d, 18924 }, /* KP_Begin */
+    { 0x0000ff9e, 19029 }, /* KP_Insert */
+    { 0x0000ff9f, 18944 }, /* KP_Delete */
+    { 0x0000ffaa, 19047 }, /* KP_Multiply */
+    { 0x0000ffab, 18906 }, /* KP_Add */
+    { 0x0000ffac, 19109 }, /* KP_Separator */
+    { 0x0000ffad, 19131 }, /* KP_Subtract */
+    { 0x0000ffae, 18933 }, /* KP_Decimal */
+    { 0x0000ffaf, 18954 }, /* KP_Divide */
+    { 0x0000ffb0, 18856 }, /* KP_0 */
+    { 0x0000ffb1, 18861 }, /* KP_1 */
+    { 0x0000ffb2, 18866 }, /* KP_2 */
+    { 0x0000ffb3, 18871 }, /* KP_3 */
+    { 0x0000ffb4, 18876 }, /* KP_4 */
+    { 0x0000ffb5, 18881 }, /* KP_5 */
+    { 0x0000ffb6, 18886 }, /* KP_6 */
+    { 0x0000ffb7, 18891 }, /* KP_7 */
+    { 0x0000ffb8, 18896 }, /* KP_8 */
+    { 0x0000ffb9, 18901 }, /* KP_9 */
+    { 0x0000ffbd, 18988 }, /* KP_Equal */
+    { 0x0000ffbe, 12191 }, /* F1 */
+    { 0x0000ffbf, 12234 }, /* F2 */
+    { 0x0000ffc0, 12277 }, /* F3 */
+    { 0x0000ffc1, 12304 }, /* F4 */
+    { 0x0000ffc2, 12307 }, /* F5 */
+    { 0x0000ffc3, 12310 }, /* F6 */
+    { 0x0000ffc4, 12313 }, /* F7 */
+    { 0x0000ffc5, 12316 }, /* F8 */
+    { 0x0000ffc6, 12319 }, /* F9 */
+    { 0x0000ffc7, 12194 }, /* F10 */
+    { 0x0000ffc8, 12198 }, /* F11 */
+    { 0x0000ffc9, 12202 }, /* F12 */
+    { 0x0000ffca, 12206 }, /* F13 */
+    { 0x0000ffcb, 12210 }, /* F14 */
+    { 0x0000ffcc, 12214 }, /* F15 */
+    { 0x0000ffcd, 12218 }, /* F16 */
+    { 0x0000ffce, 12222 }, /* F17 */
+    { 0x0000ffcf, 12226 }, /* F18 */
+    { 0x0000ffd0, 12230 }, /* F19 */
+    { 0x0000ffd1, 12237 }, /* F20 */
+    { 0x0000ffd2, 12241 }, /* F21 */
+    { 0x0000ffd3, 12245 }, /* F22 */
+    { 0x0000ffd4, 12249 }, /* F23 */
+    { 0x0000ffd5, 12253 }, /* F24 */
+    { 0x0000ffd6, 12257 }, /* F25 */
+    { 0x0000ffd7, 12261 }, /* F26 */
+    { 0x0000ffd8, 12265 }, /* F27 */
+    { 0x0000ffd9, 12269 }, /* F28 */
+    { 0x0000ffda, 12273 }, /* F29 */
+    { 0x0000ffdb, 12280 }, /* F30 */
+    { 0x0000ffdc, 12284 }, /* F31 */
+    { 0x0000ffdd, 12288 }, /* F32 */
+    { 0x0000ffde, 12292 }, /* F33 */
+    { 0x0000ffdf, 12296 }, /* F34 */
+    { 0x0000ffe0, 12300 }, /* F35 */
+    { 0x0000ffe1, 23007 }, /* Shift_L */
+    { 0x0000ffe2, 23026 }, /* Shift_R */
+    { 0x0000ffe3, 8779 }, /* Control_L */
+    { 0x0000ffe4, 8789 }, /* Control_R */
     { 0x0000ffe5, 8496 }, /* Caps_Lock */
-    { 0x0000ffe6, 22954 }, /* Shift_Lock */
-    { 0x0000ffe7, 19710 }, /* Meta_L */
-    { 0x0000ffe8, 19717 }, /* Meta_R */
+    { 0x0000ffe6, 23015 }, /* Shift_Lock */
+    { 0x0000ffe7, 19758 }, /* Meta_L */
+    { 0x0000ffe8, 19765 }, /* Meta_R */
     { 0x0000ffe9, 880 }, /* Alt_L */
     { 0x0000ffea, 886 }, /* Alt_R */
-    { 0x0000ffeb, 24263 }, /* Super_L */
-    { 0x0000ffec, 24271 }, /* Super_R */
-    { 0x0000ffed, 17046 }, /* Hyper_L */
-    { 0x0000ffee, 17054 }, /* Hyper_R */
+    { 0x0000ffeb, 24324 }, /* Super_L */
+    { 0x0000ffec, 24332 }, /* Super_R */
+    { 0x0000ffed, 17094 }, /* Hyper_L */
+    { 0x0000ffee, 17102 }, /* Hyper_R */
     { 0x0000fff1, 3642 }, /* braille_dot_1 */
     { 0x0000fff2, 3671 }, /* braille_dot_2 */
     { 0x0000fff3, 3685 }, /* braille_dot_3 */
@@ -6126,60 +6776,65 @@ static const struct name_keysym keysym_to_name[] = {
     { 0x0000fff8, 3755 }, /* braille_dot_8 */
     { 0x0000fff9, 3769 }, /* braille_dot_9 */
     { 0x0000fffa, 3656 }, /* braille_dot_10 */
-    { 0x0000ffff, 11160 }, /* Delete */
-    { 0x00ffffff, 26531 }, /* VoidSymbol */
-    { 0x0100012c, 17117 }, /* Ibreve */
-    { 0x0100012d, 17124 }, /* ibreve */
-    { 0x01000174, 26563 }, /* Wcircumflex */
-    { 0x01000175, 26575 }, /* wcircumflex */
-    { 0x01000176, 29059 }, /* Ycircumflex */
-    { 0x01000177, 29071 }, /* ycircumflex */
-    { 0x0100018f, 22649 }, /* SCHWA */
-    { 0x0100019f, 20218 }, /* Obarred */
-    { 0x010001a0, 20553 }, /* Ohorn */
-    { 0x010001a1, 20559 }, /* ohorn */
-    { 0x010001af, 25997 }, /* Uhorn */
-    { 0x010001b0, 26003 }, /* uhorn */
-    { 0x010001b5, 29261 }, /* Zstroke */
-    { 0x010001b6, 29269 }, /* zstroke */
-    { 0x010001b7, 12147 }, /* EZH */
-    { 0x010001d1, 20254 }, /* Ocaron */
-    { 0x010001d2, 20261 }, /* ocaron */
-    { 0x010001e6, 12703 }, /* Gcaron */
-    { 0x010001e7, 12710 }, /* gcaron */
-    { 0x01000259, 22655 }, /* schwa */
-    { 0x01000275, 20226 }, /* obarred */
-    { 0x01000292, 12151 }, /* ezh */
-    { 0x01000492, 9236 }, /* Cyrillic_GHE_bar */
-    { 0x01000493, 9253 }, /* Cyrillic_ghe_bar */
-    { 0x01000496, 10274 }, /* Cyrillic_ZHE_descender */
-    { 0x01000497, 10297 }, /* Cyrillic_zhe_descender */
-    { 0x0100049a, 9528 }, /* Cyrillic_KA_descender */
-    { 0x0100049b, 9550 }, /* Cyrillic_ka_descender */
-    { 0x0100049c, 9572 }, /* Cyrillic_KA_vertstroke */
-    { 0x0100049d, 9595 }, /* Cyrillic_ka_vertstroke */
-    { 0x010004a2, 9118 }, /* Cyrillic_EN_descender */
-    { 0x010004a3, 9140 }, /* Cyrillic_en_descender */
-    { 0x010004ae, 10036 }, /* Cyrillic_U_straight */
-    { 0x010004af, 10056 }, /* Cyrillic_u_straight */
-    { 0x010004b0, 10076 }, /* Cyrillic_U_straight_bar */
-    { 0x010004b1, 10100 }, /* Cyrillic_u_straight_bar */
-    { 0x010004b2, 9294 }, /* Cyrillic_HA_descender */
-    { 0x010004b3, 9316 }, /* Cyrillic_ha_descender */
-    { 0x010004b6, 8854 }, /* Cyrillic_CHE_descender */
-    { 0x010004b7, 8877 }, /* Cyrillic_che_descender */
-    { 0x010004b8, 8900 }, /* Cyrillic_CHE_vertstroke */
-    { 0x010004b9, 8924 }, /* Cyrillic_che_vertstroke */
-    { 0x010004ba, 9832 }, /* Cyrillic_SHHA */
-    { 0x010004bb, 9846 }, /* Cyrillic_shha */
-    { 0x010004d8, 9746 }, /* Cyrillic_SCHWA */
-    { 0x010004d9, 9761 }, /* Cyrillic_schwa */
-    { 0x010004e2, 9396 }, /* Cyrillic_I_macron */
-    { 0x010004e3, 9414 }, /* Cyrillic_i_macron */
-    { 0x010004e8, 9692 }, /* Cyrillic_O_bar */
-    { 0x010004e9, 9707 }, /* Cyrillic_o_bar */
-    { 0x010004ee, 10000 }, /* Cyrillic_U_macron */
-    { 0x010004ef, 10018 }, /* Cyrillic_u_macron */
+    { 0x0000ffff, 11192 }, /* Delete */
+    { 0x00ffffff, 26592 }, /* VoidSymbol */
+    { 0x0100012c, 17165 }, /* Ibreve */
+    { 0x0100012d, 17172 }, /* ibreve */
+    { 0x01000174, 26624 }, /* Wcircumflex */
+    { 0x01000175, 26636 }, /* wcircumflex */
+    { 0x01000176, 31545 }, /* Ycircumflex */
+    { 0x01000177, 31557 }, /* ycircumflex */
+    { 0x0100018f, 22710 }, /* SCHWA */
+    { 0x0100019f, 20266 }, /* Obarred */
+    { 0x010001a0, 20601 }, /* Ohorn */
+    { 0x010001a1, 20607 }, /* ohorn */
+    { 0x010001af, 26058 }, /* Uhorn */
+    { 0x010001b0, 26064 }, /* uhorn */
+    { 0x010001b5, 31747 }, /* Zstroke */
+    { 0x010001b6, 31755 }, /* zstroke */
+    { 0x010001b7, 12179 }, /* EZH */
+    { 0x010001d1, 20302 }, /* Ocaron */
+    { 0x010001d2, 20309 }, /* ocaron */
+    { 0x010001e6, 12735 }, /* Gcaron */
+    { 0x010001e7, 12742 }, /* gcaron */
+    { 0x01000259, 22716 }, /* schwa */
+    { 0x01000275, 20274 }, /* obarred */
+    { 0x01000292, 12183 }, /* ezh */
+    { 0x01000300, 8715 }, /* combining_grave */
+    { 0x01000301, 8680 }, /* combining_acute */
+    { 0x01000303, 8746 }, /* combining_tilde */
+    { 0x01000309, 8731 }, /* combining_hook */
+    { 0x01000323, 8696 }, /* combining_belowdot */
+    { 0x01000492, 9318 }, /* Cyrillic_GHE_bar */
+    { 0x01000493, 9335 }, /* Cyrillic_ghe_bar */
+    { 0x01000496, 10356 }, /* Cyrillic_ZHE_descender */
+    { 0x01000497, 10379 }, /* Cyrillic_zhe_descender */
+    { 0x0100049a, 9610 }, /* Cyrillic_KA_descender */
+    { 0x0100049b, 9632 }, /* Cyrillic_ka_descender */
+    { 0x0100049c, 9654 }, /* Cyrillic_KA_vertstroke */
+    { 0x0100049d, 9677 }, /* Cyrillic_ka_vertstroke */
+    { 0x010004a2, 9200 }, /* Cyrillic_EN_descender */
+    { 0x010004a3, 9222 }, /* Cyrillic_en_descender */
+    { 0x010004ae, 10118 }, /* Cyrillic_U_straight */
+    { 0x010004af, 10138 }, /* Cyrillic_u_straight */
+    { 0x010004b0, 10158 }, /* Cyrillic_U_straight_bar */
+    { 0x010004b1, 10182 }, /* Cyrillic_u_straight_bar */
+    { 0x010004b2, 9376 }, /* Cyrillic_HA_descender */
+    { 0x010004b3, 9398 }, /* Cyrillic_ha_descender */
+    { 0x010004b6, 8936 }, /* Cyrillic_CHE_descender */
+    { 0x010004b7, 8959 }, /* Cyrillic_che_descender */
+    { 0x010004b8, 8982 }, /* Cyrillic_CHE_vertstroke */
+    { 0x010004b9, 9006 }, /* Cyrillic_che_vertstroke */
+    { 0x010004ba, 9914 }, /* Cyrillic_SHHA */
+    { 0x010004bb, 9928 }, /* Cyrillic_shha */
+    { 0x010004d8, 9828 }, /* Cyrillic_SCHWA */
+    { 0x010004d9, 9843 }, /* Cyrillic_schwa */
+    { 0x010004e2, 9478 }, /* Cyrillic_I_macron */
+    { 0x010004e3, 9496 }, /* Cyrillic_i_macron */
+    { 0x010004e8, 9774 }, /* Cyrillic_O_bar */
+    { 0x010004e9, 9789 }, /* Cyrillic_o_bar */
+    { 0x010004ee, 10082 }, /* Cyrillic_U_macron */
+    { 0x010004ef, 10100 }, /* Cyrillic_u_macron */
     { 0x01000531, 2124 }, /* Armenian_AYB */
     { 0x01000532, 2150 }, /* Armenian_BEN */
     { 0x01000533, 2374 }, /* Armenian_GIM */
@@ -6291,162 +6946,162 @@ static const struct name_keysym keysym_to_name[] = {
     { 0x010006ba, 1642 }, /* Arabic_noon_ghunna */
     { 0x010006be, 1442 }, /* Arabic_heh_doachashmee */
     { 0x010006c1, 1465 }, /* Arabic_heh_goal */
-    { 0x010006cc, 12390 }, /* Farsi_yeh */
+    { 0x010006cc, 12422 }, /* Farsi_yeh */
     { 0x010006d2, 1996 }, /* Arabic_yeh_baree */
     { 0x010006d4, 1242 }, /* Arabic_fullstop */
-    { 0x010006f0, 12310 }, /* Farsi_0 */
-    { 0x010006f1, 12318 }, /* Farsi_1 */
-    { 0x010006f2, 12326 }, /* Farsi_2 */
-    { 0x010006f3, 12334 }, /* Farsi_3 */
-    { 0x010006f4, 12342 }, /* Farsi_4 */
-    { 0x010006f5, 12350 }, /* Farsi_5 */
-    { 0x010006f6, 12358 }, /* Farsi_6 */
-    { 0x010006f7, 12366 }, /* Farsi_7 */
-    { 0x010006f8, 12374 }, /* Farsi_8 */
-    { 0x010006f9, 12382 }, /* Farsi_9 */
-    { 0x01000d82, 23484 }, /* Sinh_ng */
-    { 0x01000d83, 23278 }, /* Sinh_h2 */
-    { 0x01000d85, 23047 }, /* Sinh_a */
-    { 0x01000d86, 23054 }, /* Sinh_aa */
-    { 0x01000d87, 23071 }, /* Sinh_ae */
-    { 0x01000d88, 23088 }, /* Sinh_aee */
-    { 0x01000d89, 23294 }, /* Sinh_i */
-    { 0x01000d8a, 23309 }, /* Sinh_ii */
-    { 0x01000d8b, 23695 }, /* Sinh_u */
-    { 0x01000d8c, 23710 }, /* Sinh_uu */
-    { 0x01000d8d, 23594 }, /* Sinh_ri */
-    { 0x01000d8e, 23602 }, /* Sinh_rii */
-    { 0x01000d8f, 23403 }, /* Sinh_lu */
-    { 0x01000d90, 23420 }, /* Sinh_luu */
-    { 0x01000d91, 23221 }, /* Sinh_e */
-    { 0x01000d92, 23236 }, /* Sinh_ee */
-    { 0x01000d93, 23107 }, /* Sinh_ai */
-    { 0x01000d94, 23537 }, /* Sinh_o */
-    { 0x01000d95, 23552 }, /* Sinh_oo */
-    { 0x01000d96, 23132 }, /* Sinh_au */
-    { 0x01000d9a, 23353 }, /* Sinh_ka */
-    { 0x01000d9b, 23361 }, /* Sinh_kha */
-    { 0x01000d9c, 23261 }, /* Sinh_ga */
-    { 0x01000d9d, 23269 }, /* Sinh_gha */
-    { 0x01000d9e, 23492 }, /* Sinh_ng2 */
-    { 0x01000d9f, 23501 }, /* Sinh_nga */
-    { 0x01000da0, 23166 }, /* Sinh_ca */
-    { 0x01000da1, 23174 }, /* Sinh_cha */
-    { 0x01000da2, 23326 }, /* Sinh_ja */
-    { 0x01000da3, 23334 }, /* Sinh_jha */
-    { 0x01000da4, 23528 }, /* Sinh_nya */
-    { 0x01000da5, 23343 }, /* Sinh_jnya */
-    { 0x01000da6, 23510 }, /* Sinh_nja */
-    { 0x01000da7, 23676 }, /* Sinh_tta */
-    { 0x01000da8, 23685 }, /* Sinh_ttha */
-    { 0x01000da9, 23183 }, /* Sinh_dda */
-    { 0x01000daa, 23192 }, /* Sinh_ddha */
-    { 0x01000dab, 23519 }, /* Sinh_nna */
-    { 0x01000dac, 23464 }, /* Sinh_ndda */
-    { 0x01000dad, 23657 }, /* Sinh_tha */
-    { 0x01000dae, 23666 }, /* Sinh_thha */
-    { 0x01000daf, 23202 }, /* Sinh_dha */
-    { 0x01000db0, 23211 }, /* Sinh_dhha */
-    { 0x01000db1, 23456 }, /* Sinh_na */
-    { 0x01000db3, 23474 }, /* Sinh_ndha */
-    { 0x01000db4, 23569 }, /* Sinh_pa */
-    { 0x01000db5, 23577 }, /* Sinh_pha */
-    { 0x01000db6, 23149 }, /* Sinh_ba */
-    { 0x01000db7, 23157 }, /* Sinh_bha */
-    { 0x01000db8, 23439 }, /* Sinh_ma */
-    { 0x01000db9, 23447 }, /* Sinh_mba */
-    { 0x01000dba, 23735 }, /* Sinh_ya */
-    { 0x01000dbb, 23586 }, /* Sinh_ra */
-    { 0x01000dbd, 23386 }, /* Sinh_la */
-    { 0x01000dc0, 23727 }, /* Sinh_va */
-    { 0x01000dc1, 23638 }, /* Sinh_sha */
-    { 0x01000dc2, 23647 }, /* Sinh_ssha */
-    { 0x01000dc3, 23630 }, /* Sinh_sa */
-    { 0x01000dc4, 23286 }, /* Sinh_ha */
-    { 0x01000dc5, 23394 }, /* Sinh_lla */
-    { 0x01000dc6, 23253 }, /* Sinh_fa */
-    { 0x01000dca, 23124 }, /* Sinh_al */
-    { 0x01000dcf, 23062 }, /* Sinh_aa2 */
-    { 0x01000dd0, 23079 }, /* Sinh_ae2 */
-    { 0x01000dd1, 23097 }, /* Sinh_aee2 */
-    { 0x01000dd2, 23301 }, /* Sinh_i2 */
-    { 0x01000dd3, 23317 }, /* Sinh_ii2 */
-    { 0x01000dd4, 23702 }, /* Sinh_u2 */
-    { 0x01000dd6, 23718 }, /* Sinh_uu2 */
-    { 0x01000dd8, 23611 }, /* Sinh_ru2 */
-    { 0x01000dd9, 23228 }, /* Sinh_e2 */
-    { 0x01000dda, 23244 }, /* Sinh_ee2 */
-    { 0x01000ddb, 23115 }, /* Sinh_ai2 */
-    { 0x01000ddc, 23544 }, /* Sinh_o2 */
-    { 0x01000ddd, 23560 }, /* Sinh_oo2 */
-    { 0x01000dde, 23140 }, /* Sinh_au2 */
-    { 0x01000ddf, 23411 }, /* Sinh_lu2 */
-    { 0x01000df2, 23620 }, /* Sinh_ruu2 */
-    { 0x01000df3, 23429 }, /* Sinh_luu2 */
-    { 0x01000df4, 23370 }, /* Sinh_kunddaliya */
-    { 0x010010d0, 12759 }, /* Georgian_an */
-    { 0x010010d1, 12771 }, /* Georgian_ban */
-    { 0x010010d2, 12875 }, /* Georgian_gan */
-    { 0x010010d3, 12838 }, /* Georgian_don */
-    { 0x010010d4, 12851 }, /* Georgian_en */
-    { 0x010010d5, 13201 }, /* Georgian_vin */
-    { 0x010010d6, 13239 }, /* Georgian_zen */
-    { 0x010010d7, 13163 }, /* Georgian_tan */
-    { 0x010010d8, 12966 }, /* Georgian_in */
-    { 0x010010d9, 13005 }, /* Georgian_kan */
-    { 0x010010da, 13032 }, /* Georgian_las */
-    { 0x010010db, 13045 }, /* Georgian_man */
-    { 0x010010dc, 13058 }, /* Georgian_nar */
-    { 0x010010dd, 13071 }, /* Georgian_on */
-    { 0x010010de, 13083 }, /* Georgian_par */
-    { 0x010010df, 13252 }, /* Georgian_zhar */
-    { 0x010010e0, 13123 }, /* Georgian_rae */
-    { 0x010010e1, 13136 }, /* Georgian_san */
-    { 0x010010e2, 13176 }, /* Georgian_tar */
-    { 0x010010e3, 13189 }, /* Georgian_un */
-    { 0x010010e4, 13096 }, /* Georgian_phar */
-    { 0x010010e5, 13018 }, /* Georgian_khar */
-    { 0x010010e6, 12888 }, /* Georgian_ghan */
-    { 0x010010e7, 13110 }, /* Georgian_qar */
-    { 0x010010e8, 13149 }, /* Georgian_shin */
-    { 0x010010e9, 12811 }, /* Georgian_chin */
-    { 0x010010ea, 12784 }, /* Georgian_can */
-    { 0x010010eb, 12992 }, /* Georgian_jil */
-    { 0x010010ec, 12825 }, /* Georgian_cil */
-    { 0x010010ed, 12797 }, /* Georgian_char */
-    { 0x010010ee, 13226 }, /* Georgian_xan */
-    { 0x010010ef, 12978 }, /* Georgian_jhan */
-    { 0x010010f0, 12902 }, /* Georgian_hae */
-    { 0x010010f1, 12928 }, /* Georgian_he */
-    { 0x010010f2, 12940 }, /* Georgian_hie */
-    { 0x010010f3, 13214 }, /* Georgian_we */
-    { 0x010010f4, 12915 }, /* Georgian_har */
-    { 0x010010f5, 12953 }, /* Georgian_hoe */
-    { 0x010010f6, 12863 }, /* Georgian_fi */
+    { 0x010006f0, 12342 }, /* Farsi_0 */
+    { 0x010006f1, 12350 }, /* Farsi_1 */
+    { 0x010006f2, 12358 }, /* Farsi_2 */
+    { 0x010006f3, 12366 }, /* Farsi_3 */
+    { 0x010006f4, 12374 }, /* Farsi_4 */
+    { 0x010006f5, 12382 }, /* Farsi_5 */
+    { 0x010006f6, 12390 }, /* Farsi_6 */
+    { 0x010006f7, 12398 }, /* Farsi_7 */
+    { 0x010006f8, 12406 }, /* Farsi_8 */
+    { 0x010006f9, 12414 }, /* Farsi_9 */
+    { 0x01000d82, 23545 }, /* Sinh_ng */
+    { 0x01000d83, 23339 }, /* Sinh_h2 */
+    { 0x01000d85, 23108 }, /* Sinh_a */
+    { 0x01000d86, 23115 }, /* Sinh_aa */
+    { 0x01000d87, 23132 }, /* Sinh_ae */
+    { 0x01000d88, 23149 }, /* Sinh_aee */
+    { 0x01000d89, 23355 }, /* Sinh_i */
+    { 0x01000d8a, 23370 }, /* Sinh_ii */
+    { 0x01000d8b, 23756 }, /* Sinh_u */
+    { 0x01000d8c, 23771 }, /* Sinh_uu */
+    { 0x01000d8d, 23655 }, /* Sinh_ri */
+    { 0x01000d8e, 23663 }, /* Sinh_rii */
+    { 0x01000d8f, 23464 }, /* Sinh_lu */
+    { 0x01000d90, 23481 }, /* Sinh_luu */
+    { 0x01000d91, 23282 }, /* Sinh_e */
+    { 0x01000d92, 23297 }, /* Sinh_ee */
+    { 0x01000d93, 23168 }, /* Sinh_ai */
+    { 0x01000d94, 23598 }, /* Sinh_o */
+    { 0x01000d95, 23613 }, /* Sinh_oo */
+    { 0x01000d96, 23193 }, /* Sinh_au */
+    { 0x01000d9a, 23414 }, /* Sinh_ka */
+    { 0x01000d9b, 23422 }, /* Sinh_kha */
+    { 0x01000d9c, 23322 }, /* Sinh_ga */
+    { 0x01000d9d, 23330 }, /* Sinh_gha */
+    { 0x01000d9e, 23553 }, /* Sinh_ng2 */
+    { 0x01000d9f, 23562 }, /* Sinh_nga */
+    { 0x01000da0, 23227 }, /* Sinh_ca */
+    { 0x01000da1, 23235 }, /* Sinh_cha */
+    { 0x01000da2, 23387 }, /* Sinh_ja */
+    { 0x01000da3, 23395 }, /* Sinh_jha */
+    { 0x01000da4, 23589 }, /* Sinh_nya */
+    { 0x01000da5, 23404 }, /* Sinh_jnya */
+    { 0x01000da6, 23571 }, /* Sinh_nja */
+    { 0x01000da7, 23737 }, /* Sinh_tta */
+    { 0x01000da8, 23746 }, /* Sinh_ttha */
+    { 0x01000da9, 23244 }, /* Sinh_dda */
+    { 0x01000daa, 23253 }, /* Sinh_ddha */
+    { 0x01000dab, 23580 }, /* Sinh_nna */
+    { 0x01000dac, 23525 }, /* Sinh_ndda */
+    { 0x01000dad, 23718 }, /* Sinh_tha */
+    { 0x01000dae, 23727 }, /* Sinh_thha */
+    { 0x01000daf, 23263 }, /* Sinh_dha */
+    { 0x01000db0, 23272 }, /* Sinh_dhha */
+    { 0x01000db1, 23517 }, /* Sinh_na */
+    { 0x01000db3, 23535 }, /* Sinh_ndha */
+    { 0x01000db4, 23630 }, /* Sinh_pa */
+    { 0x01000db5, 23638 }, /* Sinh_pha */
+    { 0x01000db6, 23210 }, /* Sinh_ba */
+    { 0x01000db7, 23218 }, /* Sinh_bha */
+    { 0x01000db8, 23500 }, /* Sinh_ma */
+    { 0x01000db9, 23508 }, /* Sinh_mba */
+    { 0x01000dba, 23796 }, /* Sinh_ya */
+    { 0x01000dbb, 23647 }, /* Sinh_ra */
+    { 0x01000dbd, 23447 }, /* Sinh_la */
+    { 0x01000dc0, 23788 }, /* Sinh_va */
+    { 0x01000dc1, 23699 }, /* Sinh_sha */
+    { 0x01000dc2, 23708 }, /* Sinh_ssha */
+    { 0x01000dc3, 23691 }, /* Sinh_sa */
+    { 0x01000dc4, 23347 }, /* Sinh_ha */
+    { 0x01000dc5, 23455 }, /* Sinh_lla */
+    { 0x01000dc6, 23314 }, /* Sinh_fa */
+    { 0x01000dca, 23185 }, /* Sinh_al */
+    { 0x01000dcf, 23123 }, /* Sinh_aa2 */
+    { 0x01000dd0, 23140 }, /* Sinh_ae2 */
+    { 0x01000dd1, 23158 }, /* Sinh_aee2 */
+    { 0x01000dd2, 23362 }, /* Sinh_i2 */
+    { 0x01000dd3, 23378 }, /* Sinh_ii2 */
+    { 0x01000dd4, 23763 }, /* Sinh_u2 */
+    { 0x01000dd6, 23779 }, /* Sinh_uu2 */
+    { 0x01000dd8, 23672 }, /* Sinh_ru2 */
+    { 0x01000dd9, 23289 }, /* Sinh_e2 */
+    { 0x01000dda, 23305 }, /* Sinh_ee2 */
+    { 0x01000ddb, 23176 }, /* Sinh_ai2 */
+    { 0x01000ddc, 23605 }, /* Sinh_o2 */
+    { 0x01000ddd, 23621 }, /* Sinh_oo2 */
+    { 0x01000dde, 23201 }, /* Sinh_au2 */
+    { 0x01000ddf, 23472 }, /* Sinh_lu2 */
+    { 0x01000df2, 23681 }, /* Sinh_ruu2 */
+    { 0x01000df3, 23490 }, /* Sinh_luu2 */
+    { 0x01000df4, 23431 }, /* Sinh_kunddaliya */
+    { 0x010010d0, 12791 }, /* Georgian_an */
+    { 0x010010d1, 12803 }, /* Georgian_ban */
+    { 0x010010d2, 12907 }, /* Georgian_gan */
+    { 0x010010d3, 12870 }, /* Georgian_don */
+    { 0x010010d4, 12883 }, /* Georgian_en */
+    { 0x010010d5, 13233 }, /* Georgian_vin */
+    { 0x010010d6, 13271 }, /* Georgian_zen */
+    { 0x010010d7, 13195 }, /* Georgian_tan */
+    { 0x010010d8, 12998 }, /* Georgian_in */
+    { 0x010010d9, 13037 }, /* Georgian_kan */
+    { 0x010010da, 13064 }, /* Georgian_las */
+    { 0x010010db, 13077 }, /* Georgian_man */
+    { 0x010010dc, 13090 }, /* Georgian_nar */
+    { 0x010010dd, 13103 }, /* Georgian_on */
+    { 0x010010de, 13115 }, /* Georgian_par */
+    { 0x010010df, 13284 }, /* Georgian_zhar */
+    { 0x010010e0, 13155 }, /* Georgian_rae */
+    { 0x010010e1, 13168 }, /* Georgian_san */
+    { 0x010010e2, 13208 }, /* Georgian_tar */
+    { 0x010010e3, 13221 }, /* Georgian_un */
+    { 0x010010e4, 13128 }, /* Georgian_phar */
+    { 0x010010e5, 13050 }, /* Georgian_khar */
+    { 0x010010e6, 12920 }, /* Georgian_ghan */
+    { 0x010010e7, 13142 }, /* Georgian_qar */
+    { 0x010010e8, 13181 }, /* Georgian_shin */
+    { 0x010010e9, 12843 }, /* Georgian_chin */
+    { 0x010010ea, 12816 }, /* Georgian_can */
+    { 0x010010eb, 13024 }, /* Georgian_jil */
+    { 0x010010ec, 12857 }, /* Georgian_cil */
+    { 0x010010ed, 12829 }, /* Georgian_char */
+    { 0x010010ee, 13258 }, /* Georgian_xan */
+    { 0x010010ef, 13010 }, /* Georgian_jhan */
+    { 0x010010f0, 12934 }, /* Georgian_hae */
+    { 0x010010f1, 12960 }, /* Georgian_he */
+    { 0x010010f2, 12972 }, /* Georgian_hie */
+    { 0x010010f3, 13246 }, /* Georgian_we */
+    { 0x010010f4, 12947 }, /* Georgian_har */
+    { 0x010010f5, 12985 }, /* Georgian_hoe */
+    { 0x010010f6, 12895 }, /* Georgian_fi */
     { 0x01001e02, 3332 }, /* Babovedot */
     { 0x01001e03, 3342 }, /* babovedot */
-    { 0x01001e0a, 10324 }, /* Dabovedot */
-    { 0x01001e0b, 10334 }, /* dabovedot */
-    { 0x01001e1e, 12290 }, /* Fabovedot */
-    { 0x01001e1f, 12300 }, /* fabovedot */
-    { 0x01001e36, 19192 }, /* Lbelowdot */
-    { 0x01001e37, 19202 }, /* lbelowdot */
-    { 0x01001e40, 19537 }, /* Mabovedot */
-    { 0x01001e41, 19547 }, /* mabovedot */
-    { 0x01001e56, 21377 }, /* Pabovedot */
-    { 0x01001e57, 21387 }, /* pabovedot */
-    { 0x01001e60, 22583 }, /* Sabovedot */
-    { 0x01001e61, 22593 }, /* sabovedot */
-    { 0x01001e6a, 24302 }, /* Tabovedot */
-    { 0x01001e6b, 24312 }, /* tabovedot */
-    { 0x01001e80, 26609 }, /* Wgrave */
-    { 0x01001e81, 26616 }, /* wgrave */
-    { 0x01001e82, 26549 }, /* Wacute */
-    { 0x01001e83, 26556 }, /* wacute */
-    { 0x01001e84, 26587 }, /* Wdiaeresis */
-    { 0x01001e85, 26598 }, /* wdiaeresis */
-    { 0x01001e8a, 26635 }, /* Xabovedot */
-    { 0x01001e8b, 26645 }, /* xabovedot */
+    { 0x01001e0a, 10406 }, /* Dabovedot */
+    { 0x01001e0b, 10416 }, /* dabovedot */
+    { 0x01001e1e, 12322 }, /* Fabovedot */
+    { 0x01001e1f, 12332 }, /* fabovedot */
+    { 0x01001e36, 19240 }, /* Lbelowdot */
+    { 0x01001e37, 19250 }, /* lbelowdot */
+    { 0x01001e40, 19585 }, /* Mabovedot */
+    { 0x01001e41, 19595 }, /* mabovedot */
+    { 0x01001e56, 21438 }, /* Pabovedot */
+    { 0x01001e57, 21448 }, /* pabovedot */
+    { 0x01001e60, 22644 }, /* Sabovedot */
+    { 0x01001e61, 22654 }, /* sabovedot */
+    { 0x01001e6a, 24363 }, /* Tabovedot */
+    { 0x01001e6b, 24373 }, /* tabovedot */
+    { 0x01001e80, 26670 }, /* Wgrave */
+    { 0x01001e81, 26677 }, /* wgrave */
+    { 0x01001e82, 26610 }, /* Wacute */
+    { 0x01001e83, 26617 }, /* wacute */
+    { 0x01001e84, 26648 }, /* Wdiaeresis */
+    { 0x01001e85, 26659 }, /* wdiaeresis */
+    { 0x01001e8a, 26696 }, /* Xabovedot */
+    { 0x01001e8b, 26706 }, /* xabovedot */
     { 0x01001ea0, 416 }, /* Abelowdot */
     { 0x01001ea1, 426 }, /* abelowdot */
     { 0x01001ea2, 868 }, /* Ahook */
@@ -6471,116 +7126,116 @@ static const struct name_keysym keysym_to_name[] = {
     { 0x01001eb5, 571 }, /* abrevetilde */
     { 0x01001eb6, 483 }, /* Abrevebelowdot */
     { 0x01001eb7, 498 }, /* abrevebelowdot */
-    { 0x01001eb8, 11462 }, /* Ebelowdot */
-    { 0x01001eb9, 11472 }, /* ebelowdot */
-    { 0x01001eba, 11738 }, /* Ehook */
-    { 0x01001ebb, 11744 }, /* ehook */
-    { 0x01001ebc, 12076 }, /* Etilde */
-    { 0x01001ebd, 12083 }, /* etilde */
-    { 0x01001ebe, 11520 }, /* Ecircumflexacute */
-    { 0x01001ebf, 11537 }, /* ecircumflexacute */
-    { 0x01001ec0, 11594 }, /* Ecircumflexgrave */
-    { 0x01001ec1, 11611 }, /* ecircumflexgrave */
-    { 0x01001ec2, 11628 }, /* Ecircumflexhook */
-    { 0x01001ec3, 11644 }, /* ecircumflexhook */
-    { 0x01001ec4, 11660 }, /* Ecircumflextilde */
-    { 0x01001ec5, 11677 }, /* ecircumflextilde */
-    { 0x01001ec6, 11554 }, /* Ecircumflexbelowdot */
-    { 0x01001ec7, 11574 }, /* ecircumflexbelowdot */
-    { 0x01001ec8, 17219 }, /* Ihook */
-    { 0x01001ec9, 17225 }, /* ihook */
-    { 0x01001eca, 17097 }, /* Ibelowdot */
-    { 0x01001ecb, 17107 }, /* ibelowdot */
-    { 0x01001ecc, 20234 }, /* Obelowdot */
-    { 0x01001ecd, 20244 }, /* obelowdot */
-    { 0x01001ece, 20541 }, /* Ohook */
-    { 0x01001ecf, 20547 }, /* ohook */
-    { 0x01001ed0, 20292 }, /* Ocircumflexacute */
-    { 0x01001ed1, 20309 }, /* ocircumflexacute */
-    { 0x01001ed2, 20366 }, /* Ocircumflexgrave */
-    { 0x01001ed3, 20383 }, /* ocircumflexgrave */
-    { 0x01001ed4, 20400 }, /* Ocircumflexhook */
-    { 0x01001ed5, 20416 }, /* ocircumflexhook */
-    { 0x01001ed6, 20432 }, /* Ocircumflextilde */
-    { 0x01001ed7, 20449 }, /* ocircumflextilde */
-    { 0x01001ed8, 20326 }, /* Ocircumflexbelowdot */
-    { 0x01001ed9, 20346 }, /* ocircumflexbelowdot */
-    { 0x01001eda, 20565 }, /* Ohornacute */
-    { 0x01001edb, 20576 }, /* ohornacute */
-    { 0x01001edc, 20615 }, /* Ohorngrave */
-    { 0x01001edd, 20626 }, /* ohorngrave */
-    { 0x01001ede, 20637 }, /* Ohornhook */
-    { 0x01001edf, 20647 }, /* ohornhook */
-    { 0x01001ee0, 20657 }, /* Ohorntilde */
-    { 0x01001ee1, 20668 }, /* ohorntilde */
-    { 0x01001ee2, 20587 }, /* Ohornbelowdot */
-    { 0x01001ee3, 20601 }, /* ohornbelowdot */
-    { 0x01001ee4, 25865 }, /* Ubelowdot */
-    { 0x01001ee5, 25875 }, /* ubelowdot */
-    { 0x01001ee6, 25985 }, /* Uhook */
-    { 0x01001ee7, 25991 }, /* uhook */
-    { 0x01001ee8, 26009 }, /* Uhornacute */
-    { 0x01001ee9, 26020 }, /* uhornacute */
-    { 0x01001eea, 26059 }, /* Uhorngrave */
-    { 0x01001eeb, 26070 }, /* uhorngrave */
-    { 0x01001eec, 26081 }, /* Uhornhook */
-    { 0x01001eed, 26091 }, /* uhornhook */
-    { 0x01001eee, 26101 }, /* Uhorntilde */
-    { 0x01001eef, 26112 }, /* uhorntilde */
-    { 0x01001ef0, 26031 }, /* Uhornbelowdot */
-    { 0x01001ef1, 26045 }, /* uhornbelowdot */
-    { 0x01001ef2, 29109 }, /* Ygrave */
-    { 0x01001ef3, 29116 }, /* ygrave */
-    { 0x01001ef4, 29039 }, /* Ybelowdot */
-    { 0x01001ef5, 29049 }, /* ybelowdot */
-    { 0x01001ef6, 29123 }, /* Yhook */
-    { 0x01001ef7, 29129 }, /* yhook */
-    { 0x01001ef8, 29135 }, /* Ytilde */
-    { 0x01001ef9, 29142 }, /* ytilde */
-    { 0x01002070, 29248 }, /* zerosuperior */
-    { 0x01002074, 12632 }, /* foursuperior */
-    { 0x01002075, 12594 }, /* fivesuperior */
-    { 0x01002076, 23756 }, /* sixsuperior */
-    { 0x01002077, 22932 }, /* sevensuperior */
-    { 0x01002078, 11765 }, /* eightsuperior */
-    { 0x01002079, 20062 }, /* ninesuperior */
-    { 0x01002080, 29234 }, /* zerosubscript */
-    { 0x01002081, 20742 }, /* onesubscript */
-    { 0x01002082, 25812 }, /* twosubscript */
-    { 0x01002083, 25556 }, /* threesubscript */
-    { 0x01002084, 12618 }, /* foursubscript */
-    { 0x01002085, 12580 }, /* fivesubscript */
-    { 0x01002086, 23743 }, /* sixsubscript */
-    { 0x01002087, 22917 }, /* sevensubscript */
-    { 0x01002088, 11750 }, /* eightsubscript */
-    { 0x01002089, 20048 }, /* ninesubscript */
-    { 0x010020a0, 11694 }, /* EcuSign */
+    { 0x01001eb8, 11494 }, /* Ebelowdot */
+    { 0x01001eb9, 11504 }, /* ebelowdot */
+    { 0x01001eba, 11770 }, /* Ehook */
+    { 0x01001ebb, 11776 }, /* ehook */
+    { 0x01001ebc, 12108 }, /* Etilde */
+    { 0x01001ebd, 12115 }, /* etilde */
+    { 0x01001ebe, 11552 }, /* Ecircumflexacute */
+    { 0x01001ebf, 11569 }, /* ecircumflexacute */
+    { 0x01001ec0, 11626 }, /* Ecircumflexgrave */
+    { 0x01001ec1, 11643 }, /* ecircumflexgrave */
+    { 0x01001ec2, 11660 }, /* Ecircumflexhook */
+    { 0x01001ec3, 11676 }, /* ecircumflexhook */
+    { 0x01001ec4, 11692 }, /* Ecircumflextilde */
+    { 0x01001ec5, 11709 }, /* ecircumflextilde */
+    { 0x01001ec6, 11586 }, /* Ecircumflexbelowdot */
+    { 0x01001ec7, 11606 }, /* ecircumflexbelowdot */
+    { 0x01001ec8, 17267 }, /* Ihook */
+    { 0x01001ec9, 17273 }, /* ihook */
+    { 0x01001eca, 17145 }, /* Ibelowdot */
+    { 0x01001ecb, 17155 }, /* ibelowdot */
+    { 0x01001ecc, 20282 }, /* Obelowdot */
+    { 0x01001ecd, 20292 }, /* obelowdot */
+    { 0x01001ece, 20589 }, /* Ohook */
+    { 0x01001ecf, 20595 }, /* ohook */
+    { 0x01001ed0, 20340 }, /* Ocircumflexacute */
+    { 0x01001ed1, 20357 }, /* ocircumflexacute */
+    { 0x01001ed2, 20414 }, /* Ocircumflexgrave */
+    { 0x01001ed3, 20431 }, /* ocircumflexgrave */
+    { 0x01001ed4, 20448 }, /* Ocircumflexhook */
+    { 0x01001ed5, 20464 }, /* ocircumflexhook */
+    { 0x01001ed6, 20480 }, /* Ocircumflextilde */
+    { 0x01001ed7, 20497 }, /* ocircumflextilde */
+    { 0x01001ed8, 20374 }, /* Ocircumflexbelowdot */
+    { 0x01001ed9, 20394 }, /* ocircumflexbelowdot */
+    { 0x01001eda, 20613 }, /* Ohornacute */
+    { 0x01001edb, 20624 }, /* ohornacute */
+    { 0x01001edc, 20663 }, /* Ohorngrave */
+    { 0x01001edd, 20674 }, /* ohorngrave */
+    { 0x01001ede, 20685 }, /* Ohornhook */
+    { 0x01001edf, 20695 }, /* ohornhook */
+    { 0x01001ee0, 20705 }, /* Ohorntilde */
+    { 0x01001ee1, 20716 }, /* ohorntilde */
+    { 0x01001ee2, 20635 }, /* Ohornbelowdot */
+    { 0x01001ee3, 20649 }, /* ohornbelowdot */
+    { 0x01001ee4, 25926 }, /* Ubelowdot */
+    { 0x01001ee5, 25936 }, /* ubelowdot */
+    { 0x01001ee6, 26046 }, /* Uhook */
+    { 0x01001ee7, 26052 }, /* uhook */
+    { 0x01001ee8, 26070 }, /* Uhornacute */
+    { 0x01001ee9, 26081 }, /* uhornacute */
+    { 0x01001eea, 26120 }, /* Uhorngrave */
+    { 0x01001eeb, 26131 }, /* uhorngrave */
+    { 0x01001eec, 26142 }, /* Uhornhook */
+    { 0x01001eed, 26152 }, /* uhornhook */
+    { 0x01001eee, 26162 }, /* Uhorntilde */
+    { 0x01001eef, 26173 }, /* uhorntilde */
+    { 0x01001ef0, 26092 }, /* Uhornbelowdot */
+    { 0x01001ef1, 26106 }, /* uhornbelowdot */
+    { 0x01001ef2, 31595 }, /* Ygrave */
+    { 0x01001ef3, 31602 }, /* ygrave */
+    { 0x01001ef4, 31525 }, /* Ybelowdot */
+    { 0x01001ef5, 31535 }, /* ybelowdot */
+    { 0x01001ef6, 31609 }, /* Yhook */
+    { 0x01001ef7, 31615 }, /* yhook */
+    { 0x01001ef8, 31621 }, /* Ytilde */
+    { 0x01001ef9, 31628 }, /* ytilde */
+    { 0x01002070, 31734 }, /* zerosuperior */
+    { 0x01002074, 12664 }, /* foursuperior */
+    { 0x01002075, 12626 }, /* fivesuperior */
+    { 0x01002076, 23817 }, /* sixsuperior */
+    { 0x01002077, 22993 }, /* sevensuperior */
+    { 0x01002078, 11797 }, /* eightsuperior */
+    { 0x01002079, 20110 }, /* ninesuperior */
+    { 0x01002080, 31720 }, /* zerosubscript */
+    { 0x01002081, 20790 }, /* onesubscript */
+    { 0x01002082, 25873 }, /* twosubscript */
+    { 0x01002083, 25617 }, /* threesubscript */
+    { 0x01002084, 12650 }, /* foursubscript */
+    { 0x01002085, 12612 }, /* fivesubscript */
+    { 0x01002086, 23804 }, /* sixsubscript */
+    { 0x01002087, 22978 }, /* sevensubscript */
+    { 0x01002088, 11782 }, /* eightsubscript */
+    { 0x01002089, 20096 }, /* ninesubscript */
+    { 0x010020a0, 11726 }, /* EcuSign */
     { 0x010020a1, 8670 }, /* ColonSign */
-    { 0x010020a2, 8744 }, /* CruzeiroSign */
-    { 0x010020a3, 12416 }, /* FFrancSign */
-    { 0x010020a4, 19448 }, /* LiraSign */
-    { 0x010020a5, 19724 }, /* MillSign */
-    { 0x010020a6, 19967 }, /* NairaSign */
-    { 0x010020a7, 21526 }, /* PesetaSign */
-    { 0x010020a8, 22569 }, /* RupeeSign */
-    { 0x010020a9, 26623 }, /* WonSign */
-    { 0x010020aa, 20009 }, /* NewSheqelSign */
-    { 0x010020ab, 11258 }, /* DongSign */
-    { 0x01002202, 21446 }, /* partdifferential */
-    { 0x01002205, 11919 }, /* emptyset */
-    { 0x01002208, 11802 }, /* elementof */
-    { 0x01002209, 20112 }, /* notelementof */
-    { 0x0100220b, 8686 }, /* containsas */
-    { 0x0100221a, 23809 }, /* squareroot */
-    { 0x0100221b, 8757 }, /* cuberoot */
-    { 0x0100221c, 12645 }, /* fourthroot */
-    { 0x0100222c, 11232 }, /* dintegral */
-    { 0x0100222d, 25585 }, /* tintegral */
+    { 0x010020a2, 8826 }, /* CruzeiroSign */
+    { 0x010020a3, 12448 }, /* FFrancSign */
+    { 0x010020a4, 19496 }, /* LiraSign */
+    { 0x010020a5, 19772 }, /* MillSign */
+    { 0x010020a6, 20015 }, /* NairaSign */
+    { 0x010020a7, 21587 }, /* PesetaSign */
+    { 0x010020a8, 22630 }, /* RupeeSign */
+    { 0x010020a9, 26684 }, /* WonSign */
+    { 0x010020aa, 20057 }, /* NewSheqelSign */
+    { 0x010020ab, 11290 }, /* DongSign */
+    { 0x01002202, 21507 }, /* partdifferential */
+    { 0x01002205, 11951 }, /* emptyset */
+    { 0x01002208, 11834 }, /* elementof */
+    { 0x01002209, 20160 }, /* notelementof */
+    { 0x0100220b, 8768 }, /* containsas */
+    { 0x0100221a, 23870 }, /* squareroot */
+    { 0x0100221b, 8839 }, /* cuberoot */
+    { 0x0100221c, 12677 }, /* fourthroot */
+    { 0x0100222c, 11264 }, /* dintegral */
+    { 0x0100222d, 25646 }, /* tintegral */
     { 0x01002235, 3396 }, /* because */
-    { 0x01002247, 20100 }, /* notapproxeq */
+    { 0x01002247, 20148 }, /* notapproxeq */
     { 0x01002248, 945 }, /* approxeq */
-    { 0x01002262, 20134 }, /* notidentical */
-    { 0x01002263, 23854 }, /* stricteq */
+    { 0x01002262, 20182 }, /* notidentical */
+    { 0x01002263, 23915 }, /* stricteq */
     { 0x01002800, 3628 }, /* braille_blank */
     { 0x01002801, 3783 }, /* braille_dots_1 */
     { 0x01002802, 6151 }, /* braille_dots_2 */
@@ -6837,280 +7492,439 @@ static const struct name_keysym keysym_to_name[] = {
     { 0x010028fd, 5104 }, /* braille_dots_1345678 */
     { 0x010028fe, 6256 }, /* braille_dots_2345678 */
     { 0x010028ff, 3909 }, /* braille_dots_12345678 */
-    { 0x100000a8, 16910 }, /* hpmute_acute */
-    { 0x100000a9, 16977 }, /* hpmute_grave */
-    { 0x100000aa, 16923 }, /* hpmute_asciicircum */
-    { 0x100000ab, 16960 }, /* hpmute_diaeresis */
-    { 0x100000ac, 16942 }, /* hpmute_asciitilde */
-    { 0x100000af, 16867 }, /* hplira */
-    { 0x100000be, 16813 }, /* hpguilder */
-    { 0x100000ee, 17014 }, /* hpYdiaeresis */
-    { 0x100000f6, 16874 }, /* hplongminus */
-    { 0x100000fc, 16767 }, /* hpblock */
-    { 0x1000fe22, 10414 }, /* Ddiaeresis */
-    { 0x1000fe27, 10344 }, /* Dacute_accent */
-    { 0x1000fe2c, 10379 }, /* Dcedilla_accent */
-    { 0x1000fe5e, 10395 }, /* Dcircumflex_accent */
-    { 0x1000fe60, 11189 }, /* Dgrave_accent */
-    { 0x1000fe7e, 11417 }, /* Dtilde */
-    { 0x1000feb0, 11388 }, /* Dring_accent */
-    { 0x1000ff00, 11380 }, /* DRemove */
-    { 0x1000ff48, 16886 }, /* hpModelock1 */
-    { 0x1000ff49, 16898 }, /* hpModelock2 */
-    { 0x1000ff6c, 16990 }, /* hpReset */
-    { 0x1000ff6d, 16998 }, /* hpSystem */
-    { 0x1000ff6e, 17007 }, /* hpUser */
-    { 0x1000ff6f, 16775 }, /* hpClearLine */
-    { 0x1000ff70, 16836 }, /* hpInsertLine */
-    { 0x1000ff71, 16800 }, /* hpDeleteLine */
-    { 0x1000ff72, 16823 }, /* hpInsertChar */
-    { 0x1000ff73, 16787 }, /* hpDeleteChar */
-    { 0x1000ff74, 16757 }, /* hpBackTab */
-    { 0x1000ff75, 16854 }, /* hpKP_BackTab */
-    { 0x1000ff76, 12125 }, /* Ext16bit_L */
-    { 0x1000ff77, 12136 }, /* Ext16bit_R */
-    { 0x1004ff02, 20956 }, /* osfCopy */
-    { 0x1004ff03, 20964 }, /* osfCut */
-    { 0x1004ff04, 21163 }, /* osfPaste */
-    { 0x1004ff07, 20900 }, /* osfBackTab */
-    { 0x1004ff08, 20887 }, /* osfBackSpace */
-    { 0x1004ff0b, 20947 }, /* osfClear */
-    { 0x1004ff1b, 21026 }, /* osfEscape */
-    { 0x1004ff31, 20876 }, /* osfAddMode */
-    { 0x1004ff32, 21197 }, /* osfPrimaryPaste */
-    { 0x1004ff33, 21213 }, /* osfQuickPaste */
-    { 0x1004ff40, 21128 }, /* osfPageLeft */
-    { 0x1004ff41, 21153 }, /* osfPageUp */
-    { 0x1004ff42, 21116 }, /* osfPageDown */
-    { 0x1004ff43, 21140 }, /* osfPageRight */
-    { 0x1004ff44, 20864 }, /* osfActivate */
-    { 0x1004ff45, 21080 }, /* osfMenuBar */
-    { 0x1004ff51, 21064 }, /* osfLeft */
-    { 0x1004ff52, 21290 }, /* osfUp */
-    { 0x1004ff53, 21250 }, /* osfRight */
-    { 0x1004ff54, 20996 }, /* osfDown */
-    { 0x1004ff57, 21015 }, /* osfEndLine */
-    { 0x1004ff58, 20924 }, /* osfBeginLine */
-    { 0x1004ff59, 21004 }, /* osfEndData */
-    { 0x1004ff5a, 20911 }, /* osfBeginData */
-    { 0x1004ff5b, 21185 }, /* osfPrevMenu */
-    { 0x1004ff5c, 21104 }, /* osfNextMenu */
-    { 0x1004ff5d, 21172 }, /* osfPrevField */
-    { 0x1004ff5e, 21091 }, /* osfNextField */
-    { 0x1004ff60, 21259 }, /* osfSelect */
-    { 0x1004ff63, 21054 }, /* osfInsert */
-    { 0x1004ff65, 21282 }, /* osfUndo */
-    { 0x1004ff67, 21072 }, /* osfMenu */
-    { 0x1004ff69, 20937 }, /* osfCancel */
-    { 0x1004ff6a, 21046 }, /* osfHelp */
-    { 0x1004ff71, 21269 }, /* osfSelectAll */
-    { 0x1004ff72, 20981 }, /* osfDeselectAll */
-    { 0x1004ff73, 21227 }, /* osfReselect */
-    { 0x1004ff74, 21036 }, /* osfExtend */
-    { 0x1004ff78, 21239 }, /* osfRestore */
-    { 0x1004ffff, 20971 }, /* osfDelete */
-    { 0x1005ff00, 24032 }, /* SunFA_Grave */
-    { 0x1005ff01, 24003 }, /* SunFA_Circum */
-    { 0x1005ff02, 24044 }, /* SunFA_Tilde */
-    { 0x1005ff03, 23977 }, /* SunFA_Acute */
-    { 0x1005ff04, 24016 }, /* SunFA_Diaeresis */
-    { 0x1005ff05, 23989 }, /* SunFA_Cedilla */
-    { 0x1005ff10, 23963 }, /* SunF36 */
-    { 0x1005ff11, 23970 }, /* SunF37 */
-    { 0x1005ff60, 24180 }, /* SunSys_Req */
-    { 0x1005ff70, 24163 }, /* SunProps */
-    { 0x1005ff71, 24064 }, /* SunFront */
-    { 0x1005ff72, 23948 }, /* SunCopy */
-    { 0x1005ff73, 24073 }, /* SunOpen */
-    { 0x1005ff74, 24103 }, /* SunPaste */
-    { 0x1005ff75, 23956 }, /* SunCut */
-    { 0x1005ff76, 24112 }, /* SunPowerSwitch */
-    { 0x1005ff77, 23884 }, /* SunAudioLowerVolume */
-    { 0x1005ff78, 23904 }, /* SunAudioMute */
-    { 0x1005ff79, 23917 }, /* SunAudioRaiseVolume */
-    { 0x1005ff7a, 24199 }, /* SunVideoDegauss */
-    { 0x1005ff7b, 24215 }, /* SunVideoLowerBrightness */
-    { 0x1005ff7c, 24239 }, /* SunVideoRaiseBrightness */
-    { 0x1005ff7d, 24127 }, /* SunPowerSwitchShift */
-    { 0x1008fe01, 28491 }, /* XF86Switch_VT_1 */
-    { 0x1008fe02, 28558 }, /* XF86Switch_VT_2 */
-    { 0x1008fe03, 28574 }, /* XF86Switch_VT_3 */
-    { 0x1008fe04, 28590 }, /* XF86Switch_VT_4 */
-    { 0x1008fe05, 28606 }, /* XF86Switch_VT_5 */
-    { 0x1008fe06, 28622 }, /* XF86Switch_VT_6 */
-    { 0x1008fe07, 28638 }, /* XF86Switch_VT_7 */
-    { 0x1008fe08, 28654 }, /* XF86Switch_VT_8 */
-    { 0x1008fe09, 28670 }, /* XF86Switch_VT_9 */
-    { 0x1008fe0a, 28507 }, /* XF86Switch_VT_10 */
-    { 0x1008fe0b, 28524 }, /* XF86Switch_VT_11 */
-    { 0x1008fe0c, 28541 }, /* XF86Switch_VT_12 */
-    { 0x1008fe20, 28817 }, /* XF86Ungrab */
-    { 0x1008fe21, 27151 }, /* XF86ClearGrab */
-    { 0x1008fe22, 27991 }, /* XF86Next_VMode */
-    { 0x1008fe23, 28113 }, /* XF86Prev_VMode */
-    { 0x1008fe24, 27771 }, /* XF86LogWindowTree */
-    { 0x1008fe25, 27744 }, /* XF86LogGrabInfo */
-    { 0x1008ff01, 27882 }, /* XF86ModeLock */
-    { 0x1008ff02, 27917 }, /* XF86MonBrightnessUp */
-    { 0x1008ff03, 27895 }, /* XF86MonBrightnessDown */
-    { 0x1008ff04, 27507 }, /* XF86KbdLightOnOff */
-    { 0x1008ff05, 27487 }, /* XF86KbdBrightnessUp */
-    { 0x1008ff06, 27465 }, /* XF86KbdBrightnessDown */
-    { 0x1008ff10, 28423 }, /* XF86Standby */
-    { 0x1008ff11, 26749 }, /* XF86AudioLowerVolume */
-    { 0x1008ff12, 26802 }, /* XF86AudioMute */
-    { 0x1008ff13, 26889 }, /* XF86AudioRaiseVolume */
-    { 0x1008ff14, 26845 }, /* XF86AudioPlay */
-    { 0x1008ff15, 26978 }, /* XF86AudioStop */
-    { 0x1008ff16, 26875 }, /* XF86AudioPrev */
-    { 0x1008ff17, 26816 }, /* XF86AudioNext */
-    { 0x1008ff18, 27428 }, /* XF86HomePage */
-    { 0x1008ff19, 27789 }, /* XF86Mail */
-    { 0x1008ff1a, 28435 }, /* XF86Start */
-    { 0x1008ff1b, 28347 }, /* XF86Search */
-    { 0x1008ff1c, 26930 }, /* XF86AudioRecord */
-    { 0x1008ff1d, 27106 }, /* XF86Calculator */
-    { 0x1008ff1e, 27837 }, /* XF86Memo */
-    { 0x1008ff1f, 28721 }, /* XF86ToDoList */
-    { 0x1008ff20, 27121 }, /* XF86Calendar */
-    { 0x1008ff21, 28086 }, /* XF86PowerDown */
-    { 0x1008ff22, 27189 }, /* XF86ContrastAdjust */
-    { 0x1008ff23, 28217 }, /* XF86RockerUp */
-    { 0x1008ff24, 28186 }, /* XF86RockerDown */
-    { 0x1008ff25, 28201 }, /* XF86RockerEnter */
-    { 0x1008ff26, 27001 }, /* XF86Back */
-    { 0x1008ff27, 27333 }, /* XF86Forward */
-    { 0x1008ff28, 28445 }, /* XF86Stop */
-    { 0x1008ff29, 28142 }, /* XF86Refresh */
-    { 0x1008ff2a, 28100 }, /* XF86PowerOff */
-    { 0x1008ff2b, 28905 }, /* XF86WakeUp */
-    { 0x1008ff2c, 27274 }, /* XF86Eject */
-    { 0x1008ff2d, 28287 }, /* XF86ScreenSaver */
-    { 0x1008ff2e, 28970 }, /* XF86WWW */
-    { 0x1008ff2f, 28387 }, /* XF86Sleep */
-    { 0x1008ff30, 27307 }, /* XF86Favorites */
-    { 0x1008ff31, 26830 }, /* XF86AudioPause */
-    { 0x1008ff32, 26770 }, /* XF86AudioMedia */
-    { 0x1008ff33, 27947 }, /* XF86MyComputer */
-    { 0x1008ff34, 28871 }, /* XF86VendorHome */
-    { 0x1008ff35, 27730 }, /* XF86LightBulb */
-    { 0x1008ff36, 28378 }, /* XF86Shop */
-    { 0x1008ff37, 27416 }, /* XF86History */
-    { 0x1008ff38, 28030 }, /* XF86OpenURL */
-    { 0x1008ff39, 26655 }, /* XF86AddFavorite */
-    { 0x1008ff3a, 27441 }, /* XF86HotLinks */
-    { 0x1008ff3b, 27070 }, /* XF86BrightnessAdjust */
-    { 0x1008ff3c, 27321 }, /* XF86Finance */
-    { 0x1008ff3d, 27175 }, /* XF86Community */
-    { 0x1008ff3e, 26962 }, /* XF86AudioRewind */
-    { 0x1008ff3f, 27010 }, /* XF86BackForward */
-    { 0x1008ff40, 27538 }, /* XF86Launch0 */
-    { 0x1008ff41, 27550 }, /* XF86Launch1 */
-    { 0x1008ff42, 27562 }, /* XF86Launch2 */
-    { 0x1008ff43, 27574 }, /* XF86Launch3 */
-    { 0x1008ff44, 27586 }, /* XF86Launch4 */
-    { 0x1008ff45, 27598 }, /* XF86Launch5 */
-    { 0x1008ff46, 27610 }, /* XF86Launch6 */
-    { 0x1008ff47, 27622 }, /* XF86Launch7 */
-    { 0x1008ff48, 27634 }, /* XF86Launch8 */
-    { 0x1008ff49, 27646 }, /* XF86Launch9 */
-    { 0x1008ff4a, 27658 }, /* XF86LaunchA */
-    { 0x1008ff4b, 27670 }, /* XF86LaunchB */
-    { 0x1008ff4c, 27682 }, /* XF86LaunchC */
-    { 0x1008ff4d, 27694 }, /* XF86LaunchD */
-    { 0x1008ff4e, 27706 }, /* XF86LaunchE */
-    { 0x1008ff4f, 27718 }, /* XF86LaunchF */
-    { 0x1008ff50, 26671 }, /* XF86ApplicationLeft */
-    { 0x1008ff51, 26691 }, /* XF86ApplicationRight */
-    { 0x1008ff52, 27061 }, /* XF86Book */
-    { 0x1008ff53, 27134 }, /* XF86CD */
-    { 0x1008ff54, 27091 }, /* XF86Calculater */
-    { 0x1008ff55, 27141 }, /* XF86Clear */
-    { 0x1008ff56, 27165 }, /* XF86Close */
-    { 0x1008ff57, 27208 }, /* XF86Copy */
-    { 0x1008ff58, 27217 }, /* XF86Cut */
-    { 0x1008ff59, 27240 }, /* XF86Display */
-    { 0x1008ff5a, 27266 }, /* XF86DOS */
-    { 0x1008ff5b, 27252 }, /* XF86Documents */
-    { 0x1008ff5c, 27284 }, /* XF86Excel */
-    { 0x1008ff5d, 27294 }, /* XF86Explorer */
-    { 0x1008ff5e, 27376 }, /* XF86Game */
-    { 0x1008ff5f, 27385 }, /* XF86Go */
-    { 0x1008ff60, 27454 }, /* XF86iTouch */
-    { 0x1008ff61, 27760 }, /* XF86LogOff */
-    { 0x1008ff62, 27814 }, /* XF86Market */
-    { 0x1008ff63, 27825 }, /* XF86Meeting */
-    { 0x1008ff65, 27846 }, /* XF86MenuKB */
-    { 0x1008ff66, 27857 }, /* XF86MenuPB */
-    { 0x1008ff67, 27962 }, /* XF86MySites */
-    { 0x1008ff68, 27974 }, /* XF86New */
-    { 0x1008ff69, 27982 }, /* XF86News */
-    { 0x1008ff6a, 28006 }, /* XF86OfficeHome */
-    { 0x1008ff6b, 28021 }, /* XF86Open */
-    { 0x1008ff6c, 28042 }, /* XF86Option */
-    { 0x1008ff6d, 28053 }, /* XF86Paste */
-    { 0x1008ff6e, 28063 }, /* XF86Phone */
-    { 0x1008ff70, 28128 }, /* XF86Q */
-    { 0x1008ff72, 28165 }, /* XF86Reply */
-    { 0x1008ff73, 28154 }, /* XF86Reload */
-    { 0x1008ff74, 28230 }, /* XF86RotateWindows */
-    { 0x1008ff75, 28263 }, /* XF86RotationPB */
-    { 0x1008ff76, 28248 }, /* XF86RotationKB */
-    { 0x1008ff77, 28278 }, /* XF86Save */
-    { 0x1008ff78, 28334 }, /* XF86ScrollUp */
-    { 0x1008ff79, 28319 }, /* XF86ScrollDown */
-    { 0x1008ff7a, 28303 }, /* XF86ScrollClick */
-    { 0x1008ff7b, 28369 }, /* XF86Send */
-    { 0x1008ff7c, 28397 }, /* XF86Spell */
-    { 0x1008ff7d, 28407 }, /* XF86SplitScreen */
-    { 0x1008ff7e, 28467 }, /* XF86Support */
-    { 0x1008ff7f, 28686 }, /* XF86TaskPane */
-    { 0x1008ff80, 28699 }, /* XF86Terminal */
-    { 0x1008ff81, 28734 }, /* XF86Tools */
-    { 0x1008ff82, 28806 }, /* XF86Travel */
-    { 0x1008ff84, 28852 }, /* XF86UserPB */
-    { 0x1008ff85, 28828 }, /* XF86User1KB */
-    { 0x1008ff86, 28840 }, /* XF86User2KB */
-    { 0x1008ff87, 28886 }, /* XF86Video */
-    { 0x1008ff88, 28927 }, /* XF86WheelButton */
-    { 0x1008ff89, 28952 }, /* XF86Word */
-    { 0x1008ff8a, 28978 }, /* XF86Xfer */
-    { 0x1008ff8b, 28998 }, /* XF86ZoomIn */
-    { 0x1008ff8c, 29009 }, /* XF86ZoomOut */
-    { 0x1008ff8d, 26992 }, /* XF86Away */
-    { 0x1008ff8e, 27868 }, /* XF86Messenger */
-    { 0x1008ff8f, 28916 }, /* XF86WebCam */
-    { 0x1008ff90, 27798 }, /* XF86MailForward */
-    { 0x1008ff91, 28073 }, /* XF86Pictures */
-    { 0x1008ff92, 27937 }, /* XF86Music */
-    { 0x1008ff93, 27026 }, /* XF86Battery */
-    { 0x1008ff94, 27047 }, /* XF86Bluetooth */
-    { 0x1008ff95, 28943 }, /* XF86WLAN */
-    { 0x1008ff96, 28863 }, /* XF86UWB */
-    { 0x1008ff97, 26732 }, /* XF86AudioForward */
-    { 0x1008ff98, 26946 }, /* XF86AudioRepeat */
-    { 0x1008ff99, 26910 }, /* XF86AudioRandomPlay */
-    { 0x1008ff9a, 28454 }, /* XF86Subtitle */
-    { 0x1008ff9b, 26712 }, /* XF86AudioCycleTrack */
-    { 0x1008ff9c, 27225 }, /* XF86CycleAngle */
-    { 0x1008ff9d, 27345 }, /* XF86FrameBack */
-    { 0x1008ff9e, 27359 }, /* XF86FrameForward */
-    { 0x1008ff9f, 28712 }, /* XF86Time */
-    { 0x1008ffa0, 28358 }, /* XF86Select */
-    { 0x1008ffa1, 28896 }, /* XF86View */
-    { 0x1008ffa2, 28744 }, /* XF86TopMenu */
-    { 0x1008ffa3, 28134 }, /* XF86Red */
-    { 0x1008ffa4, 27392 }, /* XF86Green */
-    { 0x1008ffa5, 28987 }, /* XF86Yellow */
-    { 0x1008ffa6, 27038 }, /* XF86Blue */
-    { 0x1008ffa7, 28479 }, /* XF86Suspend */
-    { 0x1008ffa8, 27402 }, /* XF86Hibernate */
-    { 0x1008ffa9, 28787 }, /* XF86TouchpadToggle */
-    { 0x1008ffb0, 28772 }, /* XF86TouchpadOn */
-    { 0x1008ffb1, 28756 }, /* XF86TouchpadOff */
-    { 0x1008ffb2, 26785 }, /* XF86AudioMicMute */
-    { 0x1008ffb3, 27525 }, /* XF86Keyboard */
-    { 0x1008ffb4, 28961 }, /* XF86WWAN */
-    { 0x1008ffb5, 28175 }, /* XF86RFKill */
-    { 0x1008ffb6, 26859 }, /* XF86AudioPreset */
+    { 0x100000a8, 16971 }, /* hpmute_acute */
+    { 0x100000a9, 17038 }, /* hpmute_grave */
+    { 0x100000aa, 16984 }, /* hpmute_asciicircum */
+    { 0x100000ab, 17021 }, /* hpmute_diaeresis */
+    { 0x100000ac, 17003 }, /* hpmute_asciitilde */
+    { 0x100000af, 16928 }, /* hplira */
+    { 0x100000be, 16874 }, /* hpguilder */
+    { 0x100000ee, 16910 }, /* hpIO */
+    { 0x100000f6, 16935 }, /* hplongminus */
+    { 0x100000fc, 16828 }, /* hpblock */
+    { 0x1000fe22, 10496 }, /* Ddiaeresis */
+    { 0x1000fe27, 10426 }, /* Dacute_accent */
+    { 0x1000fe2c, 10461 }, /* Dcedilla_accent */
+    { 0x1000fe5e, 10477 }, /* Dcircumflex_accent */
+    { 0x1000fe60, 11221 }, /* Dgrave_accent */
+    { 0x1000fe7e, 11449 }, /* Dtilde */
+    { 0x1000feb0, 11420 }, /* Dring_accent */
+    { 0x1000ff00, 11412 }, /* DRemove */
+    { 0x1000ff48, 16947 }, /* hpModelock1 */
+    { 0x1000ff49, 16959 }, /* hpModelock2 */
+    { 0x1000ff6c, 17051 }, /* hpReset */
+    { 0x1000ff6d, 17059 }, /* hpSystem */
+    { 0x1000ff6e, 17068 }, /* hpUser */
+    { 0x1000ff6f, 16836 }, /* hpClearLine */
+    { 0x1000ff70, 16897 }, /* hpInsertLine */
+    { 0x1000ff71, 16861 }, /* hpDeleteLine */
+    { 0x1000ff72, 16884 }, /* hpInsertChar */
+    { 0x1000ff73, 16848 }, /* hpDeleteChar */
+    { 0x1000ff74, 16818 }, /* hpBackTab */
+    { 0x1000ff75, 16915 }, /* hpKP_BackTab */
+    { 0x1000ff76, 12157 }, /* Ext16bit_L */
+    { 0x1000ff77, 12168 }, /* Ext16bit_R */
+    { 0x1004ff02, 21017 }, /* osfCopy */
+    { 0x1004ff03, 21025 }, /* osfCut */
+    { 0x1004ff04, 21224 }, /* osfPaste */
+    { 0x1004ff07, 20961 }, /* osfBackTab */
+    { 0x1004ff08, 20948 }, /* osfBackSpace */
+    { 0x1004ff0b, 21008 }, /* osfClear */
+    { 0x1004ff1b, 21087 }, /* osfEscape */
+    { 0x1004ff31, 20937 }, /* osfAddMode */
+    { 0x1004ff32, 21258 }, /* osfPrimaryPaste */
+    { 0x1004ff33, 21274 }, /* osfQuickPaste */
+    { 0x1004ff40, 21189 }, /* osfPageLeft */
+    { 0x1004ff41, 21214 }, /* osfPageUp */
+    { 0x1004ff42, 21177 }, /* osfPageDown */
+    { 0x1004ff43, 21201 }, /* osfPageRight */
+    { 0x1004ff44, 20925 }, /* osfActivate */
+    { 0x1004ff45, 21141 }, /* osfMenuBar */
+    { 0x1004ff51, 21125 }, /* osfLeft */
+    { 0x1004ff52, 21351 }, /* osfUp */
+    { 0x1004ff53, 21311 }, /* osfRight */
+    { 0x1004ff54, 21057 }, /* osfDown */
+    { 0x1004ff57, 21076 }, /* osfEndLine */
+    { 0x1004ff58, 20985 }, /* osfBeginLine */
+    { 0x1004ff59, 21065 }, /* osfEndData */
+    { 0x1004ff5a, 20972 }, /* osfBeginData */
+    { 0x1004ff5b, 21246 }, /* osfPrevMenu */
+    { 0x1004ff5c, 21165 }, /* osfNextMenu */
+    { 0x1004ff5d, 21233 }, /* osfPrevField */
+    { 0x1004ff5e, 21152 }, /* osfNextField */
+    { 0x1004ff60, 21320 }, /* osfSelect */
+    { 0x1004ff63, 21115 }, /* osfInsert */
+    { 0x1004ff65, 21343 }, /* osfUndo */
+    { 0x1004ff67, 21133 }, /* osfMenu */
+    { 0x1004ff69, 20998 }, /* osfCancel */
+    { 0x1004ff6a, 21107 }, /* osfHelp */
+    { 0x1004ff71, 21330 }, /* osfSelectAll */
+    { 0x1004ff72, 21042 }, /* osfDeselectAll */
+    { 0x1004ff73, 21288 }, /* osfReselect */
+    { 0x1004ff74, 21097 }, /* osfExtend */
+    { 0x1004ff78, 21300 }, /* osfRestore */
+    { 0x1004ffff, 21032 }, /* osfDelete */
+    { 0x1005ff00, 24093 }, /* SunFA_Grave */
+    { 0x1005ff01, 24064 }, /* SunFA_Circum */
+    { 0x1005ff02, 24105 }, /* SunFA_Tilde */
+    { 0x1005ff03, 24038 }, /* SunFA_Acute */
+    { 0x1005ff04, 24077 }, /* SunFA_Diaeresis */
+    { 0x1005ff05, 24050 }, /* SunFA_Cedilla */
+    { 0x1005ff10, 24024 }, /* SunF36 */
+    { 0x1005ff11, 24031 }, /* SunF37 */
+    { 0x1005ff60, 24241 }, /* SunSys_Req */
+    { 0x1005ff70, 24224 }, /* SunProps */
+    { 0x1005ff71, 24125 }, /* SunFront */
+    { 0x1005ff72, 24009 }, /* SunCopy */
+    { 0x1005ff73, 24134 }, /* SunOpen */
+    { 0x1005ff74, 24164 }, /* SunPaste */
+    { 0x1005ff75, 24017 }, /* SunCut */
+    { 0x1005ff76, 24173 }, /* SunPowerSwitch */
+    { 0x1005ff77, 23945 }, /* SunAudioLowerVolume */
+    { 0x1005ff78, 23965 }, /* SunAudioMute */
+    { 0x1005ff79, 23978 }, /* SunAudioRaiseVolume */
+    { 0x1005ff7a, 24260 }, /* SunVideoDegauss */
+    { 0x1005ff7b, 24276 }, /* SunVideoLowerBrightness */
+    { 0x1005ff7c, 24300 }, /* SunVideoRaiseBrightness */
+    { 0x1005ff7d, 24188 }, /* SunPowerSwitchShift */
+    { 0x100810f4, 27386 }, /* XF86BrightnessAuto */
+    { 0x100810f5, 27913 }, /* XF86DisplayOff */
+    { 0x10081166, 28331 }, /* XF86Info */
+    { 0x10081177, 26864 }, /* XF86AspectRatio */
+    { 0x10081185, 27987 }, /* XF86DVD */
+    { 0x10081188, 26947 }, /* XF86Audio */
+    { 0x10081192, 27704 }, /* XF86ChannelUp */
+    { 0x10081193, 27688 }, /* XF86ChannelDown */
+    { 0x1008119b, 27355 }, /* XF86Break */
+    { 0x100811a0, 31300 }, /* XF86VideoPhone */
+    { 0x100811a4, 31493 }, /* XF86ZoomReset */
+    { 0x100811a6, 27995 }, /* XF86Editor */
+    { 0x100811a8, 28223 }, /* XF86GraphicsEditor */
+    { 0x100811a9, 30198 }, /* XF86Presentation */
+    { 0x100811aa, 27876 }, /* XF86Database */
+    { 0x100811ac, 31349 }, /* XF86Voicemail */
+    { 0x100811ad, 26779 }, /* XF86Addressbook */
+    { 0x100811af, 27928 }, /* XF86DisplayToggle */
+    { 0x100811b0, 30733 }, /* XF86SpellCheck */
+    { 0x100811b6, 27783 }, /* XF86ContextMenu */
+    { 0x100811b7, 29477 }, /* XF86MediaRepeat */
+    { 0x100811b8, 26735 }, /* XF8610ChannelsUp */
+    { 0x100811b9, 26716 }, /* XF8610ChannelsDown */
+    { 0x100811ba, 28320 }, /* XF86Images */
+    { 0x100811bc, 29772 }, /* XF86NotificationCenter */
+    { 0x100811bd, 30142 }, /* XF86PickupPhone */
+    { 0x100811be, 28252 }, /* XF86HangupPhone */
+    { 0x100811d0, 28114 }, /* XF86Fn */
+    { 0x100811d1, 28121 }, /* XF86Fn_Esc */
+    { 0x100811e5, 28132 }, /* XF86FnRightShift */
+    { 0x10081200, 29795 }, /* XF86Numeric0 */
+    { 0x10081201, 29808 }, /* XF86Numeric1 */
+    { 0x10081202, 29849 }, /* XF86Numeric2 */
+    { 0x10081203, 29862 }, /* XF86Numeric3 */
+    { 0x10081204, 29875 }, /* XF86Numeric4 */
+    { 0x10081205, 29888 }, /* XF86Numeric5 */
+    { 0x10081206, 29901 }, /* XF86Numeric6 */
+    { 0x10081207, 29914 }, /* XF86Numeric7 */
+    { 0x10081208, 29927 }, /* XF86Numeric8 */
+    { 0x10081209, 29940 }, /* XF86Numeric9 */
+    { 0x1008120a, 30022 }, /* XF86NumericStar */
+    { 0x1008120b, 30005 }, /* XF86NumericPound */
+    { 0x1008120c, 29953 }, /* XF86NumericA */
+    { 0x1008120d, 29966 }, /* XF86NumericB */
+    { 0x1008120e, 29979 }, /* XF86NumericC */
+    { 0x1008120f, 29992 }, /* XF86NumericD */
+    { 0x10081210, 27586 }, /* XF86CameraFocus */
+    { 0x10081211, 31419 }, /* XF86WPSButton */
+    { 0x10081215, 27646 }, /* XF86CameraZoomIn */
+    { 0x10081216, 27663 }, /* XF86CameraZoomOut */
+    { 0x10081217, 27633 }, /* XF86CameraUp */
+    { 0x10081218, 27571 }, /* XF86CameraDown */
+    { 0x10081219, 27602 }, /* XF86CameraLeft */
+    { 0x1008121a, 27617 }, /* XF86CameraRight */
+    { 0x1008121b, 26911 }, /* XF86AttendantOn */
+    { 0x1008121c, 26894 }, /* XF86AttendantOff */
+    { 0x1008121d, 26927 }, /* XF86AttendantToggle */
+    { 0x1008121e, 28898 }, /* XF86LightsToggle */
+    { 0x10081230, 26795 }, /* XF86ALSToggle */
+    { 0x10081240, 27441 }, /* XF86Buttonconfig */
+    { 0x10081241, 31042 }, /* XF86Taskmanager */
+    { 0x10081242, 28351 }, /* XF86Journal */
+    { 0x10081243, 27818 }, /* XF86ControlPanel */
+    { 0x10081244, 26850 }, /* XF86AppSelect */
+    { 0x10081245, 30528 }, /* XF86Screensaver */
+    { 0x10081246, 31332 }, /* XF86VoiceCommand */
+    { 0x10081247, 26880 }, /* XF86Assistant */
+    { 0x10081249, 28016 }, /* XF86EmojiPicker */
+    { 0x1008124a, 27889 }, /* XF86Dictate */
+    { 0x1008124b, 27525 }, /* XF86CameraAccessEnable */
+    { 0x1008124c, 27501 }, /* XF86CameraAccessDisable */
+    { 0x1008124d, 27548 }, /* XF86CameraAccessToggle */
+    { 0x10081250, 27423 }, /* XF86BrightnessMin */
+    { 0x10081251, 27405 }, /* XF86BrightnessMax */
+    { 0x10081260, 28506 }, /* XF86KbdInputAssistPrev */
+    { 0x10081261, 28455 }, /* XF86KbdInputAssistNext */
+    { 0x10081262, 28529 }, /* XF86KbdInputAssistPrevgroup */
+    { 0x10081263, 28478 }, /* XF86KbdInputAssistNextgroup */
+    { 0x10081264, 28405 }, /* XF86KbdInputAssistAccept */
+    { 0x10081265, 28430 }, /* XF86KbdInputAssistCancel */
+    { 0x10081266, 30363 }, /* XF86RightUp */
+    { 0x10081267, 30349 }, /* XF86RightDown */
+    { 0x10081268, 28873 }, /* XF86LeftUp */
+    { 0x10081269, 28860 }, /* XF86LeftDown */
+    { 0x1008126a, 30419 }, /* XF86RootMenu */
+    { 0x1008126b, 29493 }, /* XF86MediaTopMenu */
+    { 0x1008126c, 29821 }, /* XF86Numeric11 */
+    { 0x1008126d, 29835 }, /* XF86Numeric12 */
+    { 0x1008126e, 26977 }, /* XF86AudioDesc */
+    { 0x1008126f, 26752 }, /* XF863DMode */
+    { 0x10081270, 29755 }, /* XF86NextFavorite */
+    { 0x10081271, 30795 }, /* XF86StopRecord */
+    { 0x10081272, 30116 }, /* XF86PauseRecord */
+    { 0x10081273, 31324 }, /* XF86VOD */
+    { 0x10081274, 31221 }, /* XF86Unmute */
+    { 0x10081275, 28055 }, /* XF86FastReverse */
+    { 0x10081276, 30699 }, /* XF86SlowReverse */
+    { 0x10081277, 27867 }, /* XF86Data */
+    { 0x10081278, 30053 }, /* XF86OnScreenKeyboard */
+    { 0x10081279, 30250 }, /* XF86PrivacyScreenToggle */
+    { 0x1008127a, 30610 }, /* XF86SelectiveScreenshot */
+    { 0x1008127b, 29739 }, /* XF86NextElement */
+    { 0x1008127c, 30230 }, /* XF86PreviousElement */
+    { 0x1008127d, 27251 }, /* XF86AutopilotEngageToggle */
+    { 0x1008127e, 29460 }, /* XF86MarkWaypoint */
+    { 0x1008127f, 30715 }, /* XF86Sos */
+    { 0x10081280, 29682 }, /* XF86NavChart */
+    { 0x10081281, 28097 }, /* XF86FishingChart */
+    { 0x10081282, 30668 }, /* XF86SingleRangeRadar */
+    { 0x10081283, 27968 }, /* XF86DualRangeRadar */
+    { 0x10081284, 30280 }, /* XF86RadarOverlay */
+    { 0x10081285, 31178 }, /* XF86TraditionalSonar */
+    { 0x10081286, 27742 }, /* XF86ClearvuSonar */
+    { 0x10081287, 30652 }, /* XF86SidevuSonar */
+    { 0x10081288, 29695 }, /* XF86NavInfo */
+    { 0x10081290, 28960 }, /* XF86Macro1 */
+    { 0x10081291, 29091 }, /* XF86Macro2 */
+    { 0x10081292, 29222 }, /* XF86Macro3 */
+    { 0x10081293, 29245 }, /* XF86Macro4 */
+    { 0x10081294, 29256 }, /* XF86Macro5 */
+    { 0x10081295, 29267 }, /* XF86Macro6 */
+    { 0x10081296, 29278 }, /* XF86Macro7 */
+    { 0x10081297, 29289 }, /* XF86Macro8 */
+    { 0x10081298, 29300 }, /* XF86Macro9 */
+    { 0x10081299, 28971 }, /* XF86Macro10 */
+    { 0x1008129a, 28983 }, /* XF86Macro11 */
+    { 0x1008129b, 28995 }, /* XF86Macro12 */
+    { 0x1008129c, 29007 }, /* XF86Macro13 */
+    { 0x1008129d, 29019 }, /* XF86Macro14 */
+    { 0x1008129e, 29031 }, /* XF86Macro15 */
+    { 0x1008129f, 29043 }, /* XF86Macro16 */
+    { 0x100812a0, 29055 }, /* XF86Macro17 */
+    { 0x100812a1, 29067 }, /* XF86Macro18 */
+    { 0x100812a2, 29079 }, /* XF86Macro19 */
+    { 0x100812a3, 29102 }, /* XF86Macro20 */
+    { 0x100812a4, 29114 }, /* XF86Macro21 */
+    { 0x100812a5, 29126 }, /* XF86Macro22 */
+    { 0x100812a6, 29138 }, /* XF86Macro23 */
+    { 0x100812a7, 29150 }, /* XF86Macro24 */
+    { 0x100812a8, 29162 }, /* XF86Macro25 */
+    { 0x100812a9, 29174 }, /* XF86Macro26 */
+    { 0x100812aa, 29186 }, /* XF86Macro27 */
+    { 0x100812ab, 29198 }, /* XF86Macro28 */
+    { 0x100812ac, 29210 }, /* XF86Macro29 */
+    { 0x100812ad, 29233 }, /* XF86Macro30 */
+    { 0x100812b0, 29383 }, /* XF86MacroRecordStart */
+    { 0x100812b1, 29404 }, /* XF86MacroRecordStop */
+    { 0x100812b2, 29362 }, /* XF86MacroPresetCycle */
+    { 0x100812b3, 29311 }, /* XF86MacroPreset1 */
+    { 0x100812b4, 29328 }, /* XF86MacroPreset2 */
+    { 0x100812b5, 29345 }, /* XF86MacroPreset3 */
+    { 0x100812b8, 28557 }, /* XF86KbdLcdMenu1 */
+    { 0x100812b9, 28573 }, /* XF86KbdLcdMenu2 */
+    { 0x100812ba, 28589 }, /* XF86KbdLcdMenu3 */
+    { 0x100812bb, 28605 }, /* XF86KbdLcdMenu4 */
+    { 0x100812bc, 28621 }, /* XF86KbdLcdMenu5 */
+    { 0x1008fe01, 30847 }, /* XF86Switch_VT_1 */
+    { 0x1008fe02, 30914 }, /* XF86Switch_VT_2 */
+    { 0x1008fe03, 30930 }, /* XF86Switch_VT_3 */
+    { 0x1008fe04, 30946 }, /* XF86Switch_VT_4 */
+    { 0x1008fe05, 30962 }, /* XF86Switch_VT_5 */
+    { 0x1008fe06, 30978 }, /* XF86Switch_VT_6 */
+    { 0x1008fe07, 30994 }, /* XF86Switch_VT_7 */
+    { 0x1008fe08, 31010 }, /* XF86Switch_VT_8 */
+    { 0x1008fe09, 31026 }, /* XF86Switch_VT_9 */
+    { 0x1008fe0a, 30863 }, /* XF86Switch_VT_10 */
+    { 0x1008fe0b, 30880 }, /* XF86Switch_VT_11 */
+    { 0x1008fe0c, 30897 }, /* XF86Switch_VT_12 */
+    { 0x1008fe20, 31210 }, /* XF86Ungrab */
+    { 0x1008fe21, 27728 }, /* XF86ClearGrab */
+    { 0x1008fe22, 29724 }, /* XF86Next_VMode */
+    { 0x1008fe23, 30215 }, /* XF86Prev_VMode */
+    { 0x1008fe24, 28942 }, /* XF86LogWindowTree */
+    { 0x1008fe25, 28915 }, /* XF86LogGrabInfo */
+    { 0x1008ff01, 29567 }, /* XF86ModeLock */
+    { 0x1008ff02, 29625 }, /* XF86MonBrightnessUp */
+    { 0x1008ff03, 29603 }, /* XF86MonBrightnessDown */
+    { 0x1008ff04, 28637 }, /* XF86KbdLightOnOff */
+    { 0x1008ff05, 28385 }, /* XF86KbdBrightnessUp */
+    { 0x1008ff06, 28363 }, /* XF86KbdBrightnessDown */
+    { 0x1008ff07, 29580 }, /* XF86MonBrightnessCycle */
+    { 0x1008ff10, 30764 }, /* XF86Standby */
+    { 0x1008ff11, 27008 }, /* XF86AudioLowerVolume */
+    { 0x1008ff12, 27061 }, /* XF86AudioMute */
+    { 0x1008ff13, 27148 }, /* XF86AudioRaiseVolume */
+    { 0x1008ff14, 27104 }, /* XF86AudioPlay */
+    { 0x1008ff15, 27237 }, /* XF86AudioStop */
+    { 0x1008ff16, 27134 }, /* XF86AudioPrev */
+    { 0x1008ff17, 27075 }, /* XF86AudioNext */
+    { 0x1008ff18, 28294 }, /* XF86HomePage */
+    { 0x1008ff19, 29424 }, /* XF86Mail */
+    { 0x1008ff1a, 30776 }, /* XF86Start */
+    { 0x1008ff1b, 30588 }, /* XF86Search */
+    { 0x1008ff1c, 27189 }, /* XF86AudioRecord */
+    { 0x1008ff1d, 27473 }, /* XF86Calculator */
+    { 0x1008ff1e, 29522 }, /* XF86Memo */
+    { 0x1008ff1f, 31093 }, /* XF86ToDoList */
+    { 0x1008ff20, 27488 }, /* XF86Calendar */
+    { 0x1008ff21, 30171 }, /* XF86PowerDown */
+    { 0x1008ff22, 27799 }, /* XF86ContrastAdjust */
+    { 0x1008ff23, 30406 }, /* XF86RockerUp */
+    { 0x1008ff24, 30375 }, /* XF86RockerDown */
+    { 0x1008ff25, 30390 }, /* XF86RockerEnter */
+    { 0x1008ff26, 27286 }, /* XF86Back */
+    { 0x1008ff27, 28149 }, /* XF86Forward */
+    { 0x1008ff28, 30786 }, /* XF86Stop */
+    { 0x1008ff29, 30305 }, /* XF86Refresh */
+    { 0x1008ff2a, 30185 }, /* XF86PowerOff */
+    { 0x1008ff2b, 31363 }, /* XF86WakeUp */
+    { 0x1008ff2c, 28006 }, /* XF86Eject */
+    { 0x1008ff2d, 30512 }, /* XF86ScreenSaver */
+    { 0x1008ff2e, 31442 }, /* XF86WWW */
+    { 0x1008ff2f, 30689 }, /* XF86Sleep */
+    { 0x1008ff30, 28071 }, /* XF86Favorites */
+    { 0x1008ff31, 27089 }, /* XF86AudioPause */
+    { 0x1008ff32, 27029 }, /* XF86AudioMedia */
+    { 0x1008ff33, 29655 }, /* XF86MyComputer */
+    { 0x1008ff34, 31275 }, /* XF86VendorHome */
+    { 0x1008ff35, 28884 }, /* XF86LightBulb */
+    { 0x1008ff36, 30643 }, /* XF86Shop */
+    { 0x1008ff37, 28282 }, /* XF86History */
+    { 0x1008ff38, 30083 }, /* XF86OpenURL */
+    { 0x1008ff39, 26763 }, /* XF86AddFavorite */
+    { 0x1008ff3a, 28307 }, /* XF86HotLinks */
+    { 0x1008ff3b, 27365 }, /* XF86BrightnessAdjust */
+    { 0x1008ff3c, 28085 }, /* XF86Finance */
+    { 0x1008ff3d, 27769 }, /* XF86Community */
+    { 0x1008ff3e, 27221 }, /* XF86AudioRewind */
+    { 0x1008ff3f, 27295 }, /* XF86BackForward */
+    { 0x1008ff40, 28668 }, /* XF86Launch0 */
+    { 0x1008ff41, 28680 }, /* XF86Launch1 */
+    { 0x1008ff42, 28692 }, /* XF86Launch2 */
+    { 0x1008ff43, 28704 }, /* XF86Launch3 */
+    { 0x1008ff44, 28716 }, /* XF86Launch4 */
+    { 0x1008ff45, 28728 }, /* XF86Launch5 */
+    { 0x1008ff46, 28740 }, /* XF86Launch6 */
+    { 0x1008ff47, 28752 }, /* XF86Launch7 */
+    { 0x1008ff48, 28764 }, /* XF86Launch8 */
+    { 0x1008ff49, 28776 }, /* XF86Launch9 */
+    { 0x1008ff4a, 28788 }, /* XF86LaunchA */
+    { 0x1008ff4b, 28800 }, /* XF86LaunchB */
+    { 0x1008ff4c, 28812 }, /* XF86LaunchC */
+    { 0x1008ff4d, 28824 }, /* XF86LaunchD */
+    { 0x1008ff4e, 28836 }, /* XF86LaunchE */
+    { 0x1008ff4f, 28848 }, /* XF86LaunchF */
+    { 0x1008ff50, 26809 }, /* XF86ApplicationLeft */
+    { 0x1008ff51, 26829 }, /* XF86ApplicationRight */
+    { 0x1008ff52, 27346 }, /* XF86Book */
+    { 0x1008ff53, 27681 }, /* XF86CD */
+    { 0x1008ff54, 27458 }, /* XF86Calculater */
+    { 0x1008ff55, 27718 }, /* XF86Clear */
+    { 0x1008ff56, 27759 }, /* XF86Close */
+    { 0x1008ff57, 27835 }, /* XF86Copy */
+    { 0x1008ff58, 27844 }, /* XF86Cut */
+    { 0x1008ff59, 27901 }, /* XF86Display */
+    { 0x1008ff5a, 27960 }, /* XF86DOS */
+    { 0x1008ff5b, 27946 }, /* XF86Documents */
+    { 0x1008ff5c, 28032 }, /* XF86Excel */
+    { 0x1008ff5d, 28042 }, /* XF86Explorer */
+    { 0x1008ff5e, 28207 }, /* XF86Game */
+    { 0x1008ff5f, 28216 }, /* XF86Go */
+    { 0x1008ff60, 28340 }, /* XF86iTouch */
+    { 0x1008ff61, 28931 }, /* XF86LogOff */
+    { 0x1008ff62, 29449 }, /* XF86Market */
+    { 0x1008ff63, 29510 }, /* XF86Meeting */
+    { 0x1008ff65, 29531 }, /* XF86MenuKB */
+    { 0x1008ff66, 29542 }, /* XF86MenuPB */
+    { 0x1008ff67, 29670 }, /* XF86MySites */
+    { 0x1008ff68, 29707 }, /* XF86New */
+    { 0x1008ff69, 29715 }, /* XF86News */
+    { 0x1008ff6a, 30038 }, /* XF86OfficeHome */
+    { 0x1008ff6b, 30074 }, /* XF86Open */
+    { 0x1008ff6c, 30095 }, /* XF86Option */
+    { 0x1008ff6d, 30106 }, /* XF86Paste */
+    { 0x1008ff6e, 30132 }, /* XF86Phone */
+    { 0x1008ff70, 30274 }, /* XF86Q */
+    { 0x1008ff72, 30328 }, /* XF86Reply */
+    { 0x1008ff73, 30317 }, /* XF86Reload */
+    { 0x1008ff74, 30432 }, /* XF86RotateWindows */
+    { 0x1008ff75, 30488 }, /* XF86RotationPB */
+    { 0x1008ff76, 30450 }, /* XF86RotationKB */
+    { 0x1008ff77, 30503 }, /* XF86Save */
+    { 0x1008ff78, 30575 }, /* XF86ScrollUp */
+    { 0x1008ff79, 30560 }, /* XF86ScrollDown */
+    { 0x1008ff7a, 30544 }, /* XF86ScrollClick */
+    { 0x1008ff7b, 30634 }, /* XF86Send */
+    { 0x1008ff7c, 30723 }, /* XF86Spell */
+    { 0x1008ff7d, 30748 }, /* XF86SplitScreen */
+    { 0x1008ff7e, 30823 }, /* XF86Support */
+    { 0x1008ff7f, 31058 }, /* XF86TaskPane */
+    { 0x1008ff80, 31071 }, /* XF86Terminal */
+    { 0x1008ff81, 31106 }, /* XF86Tools */
+    { 0x1008ff82, 31199 }, /* XF86Travel */
+    { 0x1008ff84, 31256 }, /* XF86UserPB */
+    { 0x1008ff85, 31232 }, /* XF86User1KB */
+    { 0x1008ff86, 31244 }, /* XF86User2KB */
+    { 0x1008ff87, 31290 }, /* XF86Video */
+    { 0x1008ff88, 31385 }, /* XF86WheelButton */
+    { 0x1008ff89, 31410 }, /* XF86Word */
+    { 0x1008ff8a, 31450 }, /* XF86Xfer */
+    { 0x1008ff8b, 31470 }, /* XF86ZoomIn */
+    { 0x1008ff8c, 31481 }, /* XF86ZoomOut */
+    { 0x1008ff8d, 27277 }, /* XF86Away */
+    { 0x1008ff8e, 29553 }, /* XF86Messenger */
+    { 0x1008ff8f, 31374 }, /* XF86WebCam */
+    { 0x1008ff90, 29433 }, /* XF86MailForward */
+    { 0x1008ff91, 30158 }, /* XF86Pictures */
+    { 0x1008ff92, 29645 }, /* XF86Music */
+    { 0x1008ff93, 27311 }, /* XF86Battery */
+    { 0x1008ff94, 27332 }, /* XF86Bluetooth */
+    { 0x1008ff95, 31401 }, /* XF86WLAN */
+    { 0x1008ff96, 31267 }, /* XF86UWB */
+    { 0x1008ff97, 26991 }, /* XF86AudioForward */
+    { 0x1008ff98, 27205 }, /* XF86AudioRepeat */
+    { 0x1008ff99, 27169 }, /* XF86AudioRandomPlay */
+    { 0x1008ff9a, 30810 }, /* XF86Subtitle */
+    { 0x1008ff9b, 26957 }, /* XF86AudioCycleTrack */
+    { 0x1008ff9c, 27852 }, /* XF86CycleAngle */
+    { 0x1008ff9d, 28161 }, /* XF86FrameBack */
+    { 0x1008ff9e, 28175 }, /* XF86FrameForward */
+    { 0x1008ff9f, 31084 }, /* XF86Time */
+    { 0x1008ffa0, 30599 }, /* XF86Select */
+    { 0x1008ffa1, 31315 }, /* XF86View */
+    { 0x1008ffa2, 31116 }, /* XF86TopMenu */
+    { 0x1008ffa3, 30297 }, /* XF86Red */
+    { 0x1008ffa4, 28242 }, /* XF86Green */
+    { 0x1008ffa5, 31459 }, /* XF86Yellow */
+    { 0x1008ffa6, 27323 }, /* XF86Blue */
+    { 0x1008ffa7, 30835 }, /* XF86Suspend */
+    { 0x1008ffa8, 28268 }, /* XF86Hibernate */
+    { 0x1008ffa9, 31159 }, /* XF86TouchpadToggle */
+    { 0x1008ffb0, 31144 }, /* XF86TouchpadOn */
+    { 0x1008ffb1, 31128 }, /* XF86TouchpadOff */
+    { 0x1008ffb2, 27044 }, /* XF86AudioMicMute */
+    { 0x1008ffb3, 28655 }, /* XF86Keyboard */
+    { 0x1008ffb4, 31433 }, /* XF86WWAN */
+    { 0x1008ffb5, 30338 }, /* XF86RFKill */
+    { 0x1008ffb6, 27118 }, /* XF86AudioPreset */
+    { 0x1008ffb7, 30465 }, /* XF86RotationLockToggle */
+    { 0x1008ffb8, 28192 }, /* XF86FullScreen */
 };