{-# OPTIONS -fvia-C #-}
module Data.Char.Properties.CaseData where
{
	import Data.Map;
	import Prelude;

	toUpperCase :: Char -> Char;
	toUpperCase c = findWithDefault c c theMap where
	{
		theMap :: Map Char Char;
		theMap = fromList theList;
		
		theList :: [(Char,Char)];
		theList =
		[
			('\x0061','\x0041'),
			('\x0062','\x0042'),
			('\x0063','\x0043'),
			('\x0064','\x0044'),
			('\x0065','\x0045'),
			('\x0066','\x0046'),
			('\x0067','\x0047'),
			('\x0068','\x0048'),
			('\x0069','\x0049'),
			('\x006A','\x004A'),
			('\x006B','\x004B'),
			('\x006C','\x004C'),
			('\x006D','\x004D'),
			('\x006E','\x004E'),
			('\x006F','\x004F'),
			('\x0070','\x0050'),
			('\x0071','\x0051'),
			('\x0072','\x0052'),
			('\x0073','\x0053'),
			('\x0074','\x0054'),
			('\x0075','\x0055'),
			('\x0076','\x0056'),
			('\x0077','\x0057'),
			('\x0078','\x0058'),
			('\x0079','\x0059'),
			('\x007A','\x005A'),
			('\x00B5','\x039C'),
			('\x00E0','\x00C0'),
			('\x00E1','\x00C1'),
			('\x00E2','\x00C2'),
			('\x00E3','\x00C3'),
			('\x00E4','\x00C4'),
			('\x00E5','\x00C5'),
			('\x00E6','\x00C6'),
			('\x00E7','\x00C7'),
			('\x00E8','\x00C8'),
			('\x00E9','\x00C9'),
			('\x00EA','\x00CA'),
			('\x00EB','\x00CB'),
			('\x00EC','\x00CC'),
			('\x00ED','\x00CD'),
			('\x00EE','\x00CE'),
			('\x00EF','\x00CF'),
			('\x00F0','\x00D0'),
			('\x00F1','\x00D1'),
			('\x00F2','\x00D2'),
			('\x00F3','\x00D3'),
			('\x00F4','\x00D4'),
			('\x00F5','\x00D5'),
			('\x00F6','\x00D6'),
			('\x00F8','\x00D8'),
			('\x00F9','\x00D9'),
			('\x00FA','\x00DA'),
			('\x00FB','\x00DB'),
			('\x00FC','\x00DC'),
			('\x00FD','\x00DD'),
			('\x00FE','\x00DE'),
			('\x00FF','\x0178'),
			('\x0101','\x0100'),
			('\x0103','\x0102'),
			('\x0105','\x0104'),
			('\x0107','\x0106'),
			('\x0109','\x0108'),
			('\x010B','\x010A'),
			('\x010D','\x010C'),
			('\x010F','\x010E'),
			('\x0111','\x0110'),
			('\x0113','\x0112'),
			('\x0115','\x0114'),
			('\x0117','\x0116'),
			('\x0119','\x0118'),
			('\x011B','\x011A'),
			('\x011D','\x011C'),
			('\x011F','\x011E'),
			('\x0121','\x0120'),
			('\x0123','\x0122'),
			('\x0125','\x0124'),
			('\x0127','\x0126'),
			('\x0129','\x0128'),
			('\x012B','\x012A'),
			('\x012D','\x012C'),
			('\x012F','\x012E'),
			('\x0131','\x0049'),
			('\x0133','\x0132'),
			('\x0135','\x0134'),
			('\x0137','\x0136'),
			('\x013A','\x0139'),
			('\x013C','\x013B'),
			('\x013E','\x013D'),
			('\x0140','\x013F'),
			('\x0142','\x0141'),
			('\x0144','\x0143'),
			('\x0146','\x0145'),
			('\x0148','\x0147'),
			('\x014B','\x014A'),
			('\x014D','\x014C'),
			('\x014F','\x014E'),
			('\x0151','\x0150'),
			('\x0153','\x0152'),
			('\x0155','\x0154'),
			('\x0157','\x0156'),
			('\x0159','\x0158'),
			('\x015B','\x015A'),
			('\x015D','\x015C'),
			('\x015F','\x015E'),
			('\x0161','\x0160'),
			('\x0163','\x0162'),
			('\x0165','\x0164'),
			('\x0167','\x0166'),
			('\x0169','\x0168'),
			('\x016B','\x016A'),
			('\x016D','\x016C'),
			('\x016F','\x016E'),
			('\x0171','\x0170'),
			('\x0173','\x0172'),
			('\x0175','\x0174'),
			('\x0177','\x0176'),
			('\x017A','\x0179'),
			('\x017C','\x017B'),
			('\x017E','\x017D'),
			('\x017F','\x0053'),
			('\x0183','\x0182'),
			('\x0185','\x0184'),
			('\x0188','\x0187'),
			('\x018C','\x018B'),
			('\x0192','\x0191'),
			('\x0195','\x01F6'),
			('\x0199','\x0198'),
			('\x019E','\x0220'),
			('\x01A1','\x01A0'),
			('\x01A3','\x01A2'),
			('\x01A5','\x01A4'),
			('\x01A8','\x01A7'),
			('\x01AD','\x01AC'),
			('\x01B0','\x01AF'),
			('\x01B4','\x01B3'),
			('\x01B6','\x01B5'),
			('\x01B9','\x01B8'),
			('\x01BD','\x01BC'),
			('\x01BF','\x01F7'),
			('\x01C5','\x01C4'),
			('\x01C6','\x01C4'),
			('\x01C8','\x01C7'),
			('\x01C9','\x01C7'),
			('\x01CB','\x01CA'),
			('\x01CC','\x01CA'),
			('\x01CE','\x01CD'),
			('\x01D0','\x01CF'),
			('\x01D2','\x01D1'),
			('\x01D4','\x01D3'),
			('\x01D6','\x01D5'),
			('\x01D8','\x01D7'),
			('\x01DA','\x01D9'),
			('\x01DC','\x01DB'),
			('\x01DD','\x018E'),
			('\x01DF','\x01DE'),
			('\x01E1','\x01E0'),
			('\x01E3','\x01E2'),
			('\x01E5','\x01E4'),
			('\x01E7','\x01E6'),
			('\x01E9','\x01E8'),
			('\x01EB','\x01EA'),
			('\x01ED','\x01EC'),
			('\x01EF','\x01EE'),
			('\x01F2','\x01F1'),
			('\x01F3','\x01F1'),
			('\x01F5','\x01F4'),
			('\x01F9','\x01F8'),
			('\x01FB','\x01FA'),
			('\x01FD','\x01FC'),
			('\x01FF','\x01FE'),
			('\x0201','\x0200'),
			('\x0203','\x0202'),
			('\x0205','\x0204'),
			('\x0207','\x0206'),
			('\x0209','\x0208'),
			('\x020B','\x020A'),
			('\x020D','\x020C'),
			('\x020F','\x020E'),
			('\x0211','\x0210'),
			('\x0213','\x0212'),
			('\x0215','\x0214'),
			('\x0217','\x0216'),
			('\x0219','\x0218'),
			('\x021B','\x021A'),
			('\x021D','\x021C'),
			('\x021F','\x021E'),
			('\x0223','\x0222'),
			('\x0225','\x0224'),
			('\x0227','\x0226'),
			('\x0229','\x0228'),
			('\x022B','\x022A'),
			('\x022D','\x022C'),
			('\x022F','\x022E'),
			('\x0231','\x0230'),
			('\x0233','\x0232'),
			('\x0253','\x0181'),
			('\x0254','\x0186'),
			('\x0256','\x0189'),
			('\x0257','\x018A'),
			('\x0259','\x018F'),
			('\x025B','\x0190'),
			('\x0260','\x0193'),
			('\x0263','\x0194'),
			('\x0268','\x0197'),
			('\x0269','\x0196'),
			('\x026F','\x019C'),
			('\x0272','\x019D'),
			('\x0275','\x019F'),
			('\x0280','\x01A6'),
			('\x0283','\x01A9'),
			('\x0288','\x01AE'),
			('\x028A','\x01B1'),
			('\x028B','\x01B2'),
			('\x0292','\x01B7'),
			('\x0345','\x0399'),
			('\x03AC','\x0386'),
			('\x03AD','\x0388'),
			('\x03AE','\x0389'),
			('\x03AF','\x038A'),
			('\x03B1','\x0391'),
			('\x03B2','\x0392'),
			('\x03B3','\x0393'),
			('\x03B4','\x0394'),
			('\x03B5','\x0395'),
			('\x03B6','\x0396'),
			('\x03B7','\x0397'),
			('\x03B8','\x0398'),
			('\x03B9','\x0399'),
			('\x03BA','\x039A'),
			('\x03BB','\x039B'),
			('\x03BC','\x039C'),
			('\x03BD','\x039D'),
			('\x03BE','\x039E'),
			('\x03BF','\x039F'),
			('\x03C0','\x03A0'),
			('\x03C1','\x03A1'),
			('\x03C2','\x03A3'),
			('\x03C3','\x03A3'),
			('\x03C4','\x03A4'),
			('\x03C5','\x03A5'),
			('\x03C6','\x03A6'),
			('\x03C7','\x03A7'),
			('\x03C8','\x03A8'),
			('\x03C9','\x03A9'),
			('\x03CA','\x03AA'),
			('\x03CB','\x03AB'),
			('\x03CC','\x038C'),
			('\x03CD','\x038E'),
			('\x03CE','\x038F'),
			('\x03D0','\x0392'),
			('\x03D1','\x0398'),
			('\x03D5','\x03A6'),
			('\x03D6','\x03A0'),
			('\x03D9','\x03D8'),
			('\x03DB','\x03DA'),
			('\x03DD','\x03DC'),
			('\x03DF','\x03DE'),
			('\x03E1','\x03E0'),
			('\x03E3','\x03E2'),
			('\x03E5','\x03E4'),
			('\x03E7','\x03E6'),
			('\x03E9','\x03E8'),
			('\x03EB','\x03EA'),
			('\x03ED','\x03EC'),
			('\x03EF','\x03EE'),
			('\x03F0','\x039A'),
			('\x03F1','\x03A1'),
			('\x03F2','\x03A3'),
			('\x03F5','\x0395'),
			('\x0430','\x0410'),
			('\x0431','\x0411'),
			('\x0432','\x0412'),
			('\x0433','\x0413'),
			('\x0434','\x0414'),
			('\x0435','\x0415'),
			('\x0436','\x0416'),
			('\x0437','\x0417'),
			('\x0438','\x0418'),
			('\x0439','\x0419'),
			('\x043A','\x041A'),
			('\x043B','\x041B'),
			('\x043C','\x041C'),
			('\x043D','\x041D'),
			('\x043E','\x041E'),
			('\x043F','\x041F'),
			('\x0440','\x0420'),
			('\x0441','\x0421'),
			('\x0442','\x0422'),
			('\x0443','\x0423'),
			('\x0444','\x0424'),
			('\x0445','\x0425'),
			('\x0446','\x0426'),
			('\x0447','\x0427'),
			('\x0448','\x0428'),
			('\x0449','\x0429'),
			('\x044A','\x042A'),
			('\x044B','\x042B'),
			('\x044C','\x042C'),
			('\x044D','\x042D'),
			('\x044E','\x042E'),
			('\x044F','\x042F'),
			('\x0450','\x0400'),
			('\x0451','\x0401'),
			('\x0452','\x0402'),
			('\x0453','\x0403'),
			('\x0454','\x0404'),
			('\x0455','\x0405'),
			('\x0456','\x0406'),
			('\x0457','\x0407'),
			('\x0458','\x0408'),
			('\x0459','\x0409'),
			('\x045A','\x040A'),
			('\x045B','\x040B'),
			('\x045C','\x040C'),
			('\x045D','\x040D'),
			('\x045E','\x040E'),
			('\x045F','\x040F'),
			('\x0461','\x0460'),
			('\x0463','\x0462'),
			('\x0465','\x0464'),
			('\x0467','\x0466'),
			('\x0469','\x0468'),
			('\x046B','\x046A'),
			('\x046D','\x046C'),
			('\x046F','\x046E'),
			('\x0471','\x0470'),
			('\x0473','\x0472'),
			('\x0475','\x0474'),
			('\x0477','\x0476'),
			('\x0479','\x0478'),
			('\x047B','\x047A'),
			('\x047D','\x047C'),
			('\x047F','\x047E'),
			('\x0481','\x0480'),
			('\x048B','\x048A'),
			('\x048D','\x048C'),
			('\x048F','\x048E'),
			('\x0491','\x0490'),
			('\x0493','\x0492'),
			('\x0495','\x0494'),
			('\x0497','\x0496'),
			('\x0499','\x0498'),
			('\x049B','\x049A'),
			('\x049D','\x049C'),
			('\x049F','\x049E'),
			('\x04A1','\x04A0'),
			('\x04A3','\x04A2'),
			('\x04A5','\x04A4'),
			('\x04A7','\x04A6'),
			('\x04A9','\x04A8'),
			('\x04AB','\x04AA'),
			('\x04AD','\x04AC'),
			('\x04AF','\x04AE'),
			('\x04B1','\x04B0'),
			('\x04B3','\x04B2'),
			('\x04B5','\x04B4'),
			('\x04B7','\x04B6'),
			('\x04B9','\x04B8'),
			('\x04BB','\x04BA'),
			('\x04BD','\x04BC'),
			('\x04BF','\x04BE'),
			('\x04C2','\x04C1'),
			('\x04C4','\x04C3'),
			('\x04C6','\x04C5'),
			('\x04C8','\x04C7'),
			('\x04CA','\x04C9'),
			('\x04CC','\x04CB'),
			('\x04CE','\x04CD'),
			('\x04D1','\x04D0'),
			('\x04D3','\x04D2'),
			('\x04D5','\x04D4'),
			('\x04D7','\x04D6'),
			('\x04D9','\x04D8'),
			('\x04DB','\x04DA'),
			('\x04DD','\x04DC'),
			('\x04DF','\x04DE'),
			('\x04E1','\x04E0'),
			('\x04E3','\x04E2'),
			('\x04E5','\x04E4'),
			('\x04E7','\x04E6'),
			('\x04E9','\x04E8'),
			('\x04EB','\x04EA'),
			('\x04ED','\x04EC'),
			('\x04EF','\x04EE'),
			('\x04F1','\x04F0'),
			('\x04F3','\x04F2'),
			('\x04F5','\x04F4'),
			('\x04F9','\x04F8'),
			('\x0501','\x0500'),
			('\x0503','\x0502'),
			('\x0505','\x0504'),
			('\x0507','\x0506'),
			('\x0509','\x0508'),
			('\x050B','\x050A'),
			('\x050D','\x050C'),
			('\x050F','\x050E'),
			('\x0561','\x0531'),
			('\x0562','\x0532'),
			('\x0563','\x0533'),
			('\x0564','\x0534'),
			('\x0565','\x0535'),
			('\x0566','\x0536'),
			('\x0567','\x0537'),
			('\x0568','\x0538'),
			('\x0569','\x0539'),
			('\x056A','\x053A'),
			('\x056B','\x053B'),
			('\x056C','\x053C'),
			('\x056D','\x053D'),
			('\x056E','\x053E'),
			('\x056F','\x053F'),
			('\x0570','\x0540'),
			('\x0571','\x0541'),
			('\x0572','\x0542'),
			('\x0573','\x0543'),
			('\x0574','\x0544'),
			('\x0575','\x0545'),
			('\x0576','\x0546'),
			('\x0577','\x0547'),
			('\x0578','\x0548'),
			('\x0579','\x0549'),
			('\x057A','\x054A'),
			('\x057B','\x054B'),
			('\x057C','\x054C'),
			('\x057D','\x054D'),
			('\x057E','\x054E'),
			('\x057F','\x054F'),
			('\x0580','\x0550'),
			('\x0581','\x0551'),
			('\x0582','\x0552'),
			('\x0583','\x0553'),
			('\x0584','\x0554'),
			('\x0585','\x0555'),
			('\x0586','\x0556'),
			('\x1E01','\x1E00'),
			('\x1E03','\x1E02'),
			('\x1E05','\x1E04'),
			('\x1E07','\x1E06'),
			('\x1E09','\x1E08'),
			('\x1E0B','\x1E0A'),
			('\x1E0D','\x1E0C'),
			('\x1E0F','\x1E0E'),
			('\x1E11','\x1E10'),
			('\x1E13','\x1E12'),
			('\x1E15','\x1E14'),
			('\x1E17','\x1E16'),
			('\x1E19','\x1E18'),
			('\x1E1B','\x1E1A'),
			('\x1E1D','\x1E1C'),
			('\x1E1F','\x1E1E'),
			('\x1E21','\x1E20'),
			('\x1E23','\x1E22'),
			('\x1E25','\x1E24'),
			('\x1E27','\x1E26'),
			('\x1E29','\x1E28'),
			('\x1E2B','\x1E2A'),
			('\x1E2D','\x1E2C'),
			('\x1E2F','\x1E2E'),
			('\x1E31','\x1E30'),
			('\x1E33','\x1E32'),
			('\x1E35','\x1E34'),
			('\x1E37','\x1E36'),
			('\x1E39','\x1E38'),
			('\x1E3B','\x1E3A'),
			('\x1E3D','\x1E3C'),
			('\x1E3F','\x1E3E'),
			('\x1E41','\x1E40'),
			('\x1E43','\x1E42'),
			('\x1E45','\x1E44'),
			('\x1E47','\x1E46'),
			('\x1E49','\x1E48'),
			('\x1E4B','\x1E4A'),
			('\x1E4D','\x1E4C'),
			('\x1E4F','\x1E4E'),
			('\x1E51','\x1E50'),
			('\x1E53','\x1E52'),
			('\x1E55','\x1E54'),
			('\x1E57','\x1E56'),
			('\x1E59','\x1E58'),
			('\x1E5B','\x1E5A'),
			('\x1E5D','\x1E5C'),
			('\x1E5F','\x1E5E'),
			('\x1E61','\x1E60'),
			('\x1E63','\x1E62'),
			('\x1E65','\x1E64'),
			('\x1E67','\x1E66'),
			('\x1E69','\x1E68'),
			('\x1E6B','\x1E6A'),
			('\x1E6D','\x1E6C'),
			('\x1E6F','\x1E6E'),
			('\x1E71','\x1E70'),
			('\x1E73','\x1E72'),
			('\x1E75','\x1E74'),
			('\x1E77','\x1E76'),
			('\x1E79','\x1E78'),
			('\x1E7B','\x1E7A'),
			('\x1E7D','\x1E7C'),
			('\x1E7F','\x1E7E'),
			('\x1E81','\x1E80'),
			('\x1E83','\x1E82'),
			('\x1E85','\x1E84'),
			('\x1E87','\x1E86'),
			('\x1E89','\x1E88'),
			('\x1E8B','\x1E8A'),
			('\x1E8D','\x1E8C'),
			('\x1E8F','\x1E8E'),
			('\x1E91','\x1E90'),
			('\x1E93','\x1E92'),
			('\x1E95','\x1E94'),
			('\x1E9B','\x1E60'),
			('\x1EA1','\x1EA0'),
			('\x1EA3','\x1EA2'),
			('\x1EA5','\x1EA4'),
			('\x1EA7','\x1EA6'),
			('\x1EA9','\x1EA8'),
			('\x1EAB','\x1EAA'),
			('\x1EAD','\x1EAC'),
			('\x1EAF','\x1EAE'),
			('\x1EB1','\x1EB0'),
			('\x1EB3','\x1EB2'),
			('\x1EB5','\x1EB4'),
			('\x1EB7','\x1EB6'),
			('\x1EB9','\x1EB8'),
			('\x1EBB','\x1EBA'),
			('\x1EBD','\x1EBC'),
			('\x1EBF','\x1EBE'),
			('\x1EC1','\x1EC0'),
			('\x1EC3','\x1EC2'),
			('\x1EC5','\x1EC4'),
			('\x1EC7','\x1EC6'),
			('\x1EC9','\x1EC8'),
			('\x1ECB','\x1ECA'),
			('\x1ECD','\x1ECC'),
			('\x1ECF','\x1ECE'),
			('\x1ED1','\x1ED0'),
			('\x1ED3','\x1ED2'),
			('\x1ED5','\x1ED4'),
			('\x1ED7','\x1ED6'),
			('\x1ED9','\x1ED8'),
			('\x1EDB','\x1EDA'),
			('\x1EDD','\x1EDC'),
			('\x1EDF','\x1EDE'),
			('\x1EE1','\x1EE0'),
			('\x1EE3','\x1EE2'),
			('\x1EE5','\x1EE4'),
			('\x1EE7','\x1EE6'),
			('\x1EE9','\x1EE8'),
			('\x1EEB','\x1EEA'),
			('\x1EED','\x1EEC'),
			('\x1EEF','\x1EEE'),
			('\x1EF1','\x1EF0'),
			('\x1EF3','\x1EF2'),
			('\x1EF5','\x1EF4'),
			('\x1EF7','\x1EF6'),
			('\x1EF9','\x1EF8'),
			('\x1F00','\x1F08'),
			('\x1F01','\x1F09'),
			('\x1F02','\x1F0A'),
			('\x1F03','\x1F0B'),
			('\x1F04','\x1F0C'),
			('\x1F05','\x1F0D'),
			('\x1F06','\x1F0E'),
			('\x1F07','\x1F0F'),
			('\x1F10','\x1F18'),
			('\x1F11','\x1F19'),
			('\x1F12','\x1F1A'),
			('\x1F13','\x1F1B'),
			('\x1F14','\x1F1C'),
			('\x1F15','\x1F1D'),
			('\x1F20','\x1F28'),
			('\x1F21','\x1F29'),
			('\x1F22','\x1F2A'),
			('\x1F23','\x1F2B'),
			('\x1F24','\x1F2C'),
			('\x1F25','\x1F2D'),
			('\x1F26','\x1F2E'),
			('\x1F27','\x1F2F'),
			('\x1F30','\x1F38'),
			('\x1F31','\x1F39'),
			('\x1F32','\x1F3A'),
			('\x1F33','\x1F3B'),
			('\x1F34','\x1F3C'),
			('\x1F35','\x1F3D'),
			('\x1F36','\x1F3E'),
			('\x1F37','\x1F3F'),
			('\x1F40','\x1F48'),
			('\x1F41','\x1F49'),
			('\x1F42','\x1F4A'),
			('\x1F43','\x1F4B'),
			('\x1F44','\x1F4C'),
			('\x1F45','\x1F4D'),
			('\x1F51','\x1F59'),
			('\x1F53','\x1F5B'),
			('\x1F55','\x1F5D'),
			('\x1F57','\x1F5F'),
			('\x1F60','\x1F68'),
			('\x1F61','\x1F69'),
			('\x1F62','\x1F6A'),
			('\x1F63','\x1F6B'),
			('\x1F64','\x1F6C'),
			('\x1F65','\x1F6D'),
			('\x1F66','\x1F6E'),
			('\x1F67','\x1F6F'),
			('\x1F70','\x1FBA'),
			('\x1F71','\x1FBB'),
			('\x1F72','\x1FC8'),
			('\x1F73','\x1FC9'),
			('\x1F74','\x1FCA'),
			('\x1F75','\x1FCB'),
			('\x1F76','\x1FDA'),
			('\x1F77','\x1FDB'),
			('\x1F78','\x1FF8'),
			('\x1F79','\x1FF9'),
			('\x1F7A','\x1FEA'),
			('\x1F7B','\x1FEB'),
			('\x1F7C','\x1FFA'),
			('\x1F7D','\x1FFB'),
			('\x1F80','\x1F88'),
			('\x1F81','\x1F89'),
			('\x1F82','\x1F8A'),
			('\x1F83','\x1F8B'),
			('\x1F84','\x1F8C'),
			('\x1F85','\x1F8D'),
			('\x1F86','\x1F8E'),
			('\x1F87','\x1F8F'),
			('\x1F90','\x1F98'),
			('\x1F91','\x1F99'),
			('\x1F92','\x1F9A'),
			('\x1F93','\x1F9B'),
			('\x1F94','\x1F9C'),
			('\x1F95','\x1F9D'),
			('\x1F96','\x1F9E'),
			('\x1F97','\x1F9F'),
			('\x1FA0','\x1FA8'),
			('\x1FA1','\x1FA9'),
			('\x1FA2','\x1FAA'),
			('\x1FA3','\x1FAB'),
			('\x1FA4','\x1FAC'),
			('\x1FA5','\x1FAD'),
			('\x1FA6','\x1FAE'),
			('\x1FA7','\x1FAF'),
			('\x1FB0','\x1FB8'),
			('\x1FB1','\x1FB9'),
			('\x1FB3','\x1FBC'),
			('\x1FBE','\x0399'),
			('\x1FC3','\x1FCC'),
			('\x1FD0','\x1FD8'),
			('\x1FD1','\x1FD9'),
			('\x1FE0','\x1FE8'),
			('\x1FE1','\x1FE9'),
			('\x1FE5','\x1FEC'),
			('\x1FF3','\x1FFC'),
			('\x2170','\x2160'),
			('\x2171','\x2161'),
			('\x2172','\x2162'),
			('\x2173','\x2163'),
			('\x2174','\x2164'),
			('\x2175','\x2165'),
			('\x2176','\x2166'),
			('\x2177','\x2167'),
			('\x2178','\x2168'),
			('\x2179','\x2169'),
			('\x217A','\x216A'),
			('\x217B','\x216B'),
			('\x217C','\x216C'),
			('\x217D','\x216D'),
			('\x217E','\x216E'),
			('\x217F','\x216F'),
			('\x24D0','\x24B6'),
			('\x24D1','\x24B7'),
			('\x24D2','\x24B8'),
			('\x24D3','\x24B9'),
			('\x24D4','\x24BA'),
			('\x24D5','\x24BB'),
			('\x24D6','\x24BC'),
			('\x24D7','\x24BD'),
			('\x24D8','\x24BE'),
			('\x24D9','\x24BF'),
			('\x24DA','\x24C0'),
			('\x24DB','\x24C1'),
			('\x24DC','\x24C2'),
			('\x24DD','\x24C3'),
			('\x24DE','\x24C4'),
			('\x24DF','\x24C5'),
			('\x24E0','\x24C6'),
			('\x24E1','\x24C7'),
			('\x24E2','\x24C8'),
			('\x24E3','\x24C9'),
			('\x24E4','\x24CA'),
			('\x24E5','\x24CB'),
			('\x24E6','\x24CC'),
			('\x24E7','\x24CD'),
			('\x24E8','\x24CE'),
			('\x24E9','\x24CF'),
			('\xFF41','\xFF21'),
			('\xFF42','\xFF22'),
			('\xFF43','\xFF23'),
			('\xFF44','\xFF24'),
			('\xFF45','\xFF25'),
			('\xFF46','\xFF26'),
			('\xFF47','\xFF27'),
			('\xFF48','\xFF28'),
			('\xFF49','\xFF29'),
			('\xFF4A','\xFF2A'),
			('\xFF4B','\xFF2B'),
			('\xFF4C','\xFF2C'),
			('\xFF4D','\xFF2D'),
			('\xFF4E','\xFF2E'),
			('\xFF4F','\xFF2F'),
			('\xFF50','\xFF30'),
			('\xFF51','\xFF31'),
			('\xFF52','\xFF32'),
			('\xFF53','\xFF33'),
			('\xFF54','\xFF34'),
			('\xFF55','\xFF35'),
			('\xFF56','\xFF36'),
			('\xFF57','\xFF37'),
			('\xFF58','\xFF38'),
			('\xFF59','\xFF39'),
			('\xFF5A','\xFF3A'),
			('\x10428','\x10400'),
			('\x10429','\x10401'),
			('\x1042A','\x10402'),
			('\x1042B','\x10403'),
			('\x1042C','\x10404'),
			('\x1042D','\x10405'),
			('\x1042E','\x10406'),
			('\x1042F','\x10407'),
			('\x10430','\x10408'),
			('\x10431','\x10409'),
			('\x10432','\x1040A'),
			('\x10433','\x1040B'),
			('\x10434','\x1040C'),
			('\x10435','\x1040D'),
			('\x10436','\x1040E'),
			('\x10437','\x1040F'),
			('\x10438','\x10410'),
			('\x10439','\x10411'),
			('\x1043A','\x10412'),
			('\x1043B','\x10413'),
			('\x1043C','\x10414'),
			('\x1043D','\x10415'),
			('\x1043E','\x10416'),
			('\x1043F','\x10417'),
			('\x10440','\x10418'),
			('\x10441','\x10419'),
			('\x10442','\x1041A'),
			('\x10443','\x1041B'),
			('\x10444','\x1041C'),
			('\x10445','\x1041D'),
			('\x10446','\x1041E'),
			('\x10447','\x1041F'),
			('\x10448','\x10420'),
			('\x10449','\x10421'),
			('\x1044A','\x10422'),
			('\x1044B','\x10423'),
			('\x1044C','\x10424'),
			('\x1044D','\x10425'),
			('\x0','\x0')	-- just to terminate list
		];
	};

	toLowerCase :: Char -> Char;
	toLowerCase c = findWithDefault c c theMap where
	{
		theMap :: Map Char Char;
		theMap = fromList theList;
		
		theList :: [(Char,Char)];
		theList =
		[
			('\x0041','\x0061'),
			('\x0042','\x0062'),
			('\x0043','\x0063'),
			('\x0044','\x0064'),
			('\x0045','\x0065'),
			('\x0046','\x0066'),
			('\x0047','\x0067'),
			('\x0048','\x0068'),
			('\x0049','\x0069'),
			('\x004A','\x006A'),
			('\x004B','\x006B'),
			('\x004C','\x006C'),
			('\x004D','\x006D'),
			('\x004E','\x006E'),
			('\x004F','\x006F'),
			('\x0050','\x0070'),
			('\x0051','\x0071'),
			('\x0052','\x0072'),
			('\x0053','\x0073'),
			('\x0054','\x0074'),
			('\x0055','\x0075'),
			('\x0056','\x0076'),
			('\x0057','\x0077'),
			('\x0058','\x0078'),
			('\x0059','\x0079'),
			('\x005A','\x007A'),
			('\x00C0','\x00E0'),
			('\x00C1','\x00E1'),
			('\x00C2','\x00E2'),
			('\x00C3','\x00E3'),
			('\x00C4','\x00E4'),
			('\x00C5','\x00E5'),
			('\x00C6','\x00E6'),
			('\x00C7','\x00E7'),
			('\x00C8','\x00E8'),
			('\x00C9','\x00E9'),
			('\x00CA','\x00EA'),
			('\x00CB','\x00EB'),
			('\x00CC','\x00EC'),
			('\x00CD','\x00ED'),
			('\x00CE','\x00EE'),
			('\x00CF','\x00EF'),
			('\x00D0','\x00F0'),
			('\x00D1','\x00F1'),
			('\x00D2','\x00F2'),
			('\x00D3','\x00F3'),
			('\x00D4','\x00F4'),
			('\x00D5','\x00F5'),
			('\x00D6','\x00F6'),
			('\x00D8','\x00F8'),
			('\x00D9','\x00F9'),
			('\x00DA','\x00FA'),
			('\x00DB','\x00FB'),
			('\x00DC','\x00FC'),
			('\x00DD','\x00FD'),
			('\x00DE','\x00FE'),
			('\x0100','\x0101'),
			('\x0102','\x0103'),
			('\x0104','\x0105'),
			('\x0106','\x0107'),
			('\x0108','\x0109'),
			('\x010A','\x010B'),
			('\x010C','\x010D'),
			('\x010E','\x010F'),
			('\x0110','\x0111'),
			('\x0112','\x0113'),
			('\x0114','\x0115'),
			('\x0116','\x0117'),
			('\x0118','\x0119'),
			('\x011A','\x011B'),
			('\x011C','\x011D'),
			('\x011E','\x011F'),
			('\x0120','\x0121'),
			('\x0122','\x0123'),
			('\x0124','\x0125'),
			('\x0126','\x0127'),
			('\x0128','\x0129'),
			('\x012A','\x012B'),
			('\x012C','\x012D'),
			('\x012E','\x012F'),
			('\x0130','\x0069'),
			('\x0132','\x0133'),
			('\x0134','\x0135'),
			('\x0136','\x0137'),
			('\x0139','\x013A'),
			('\x013B','\x013C'),
			('\x013D','\x013E'),
			('\x013F','\x0140'),
			('\x0141','\x0142'),
			('\x0143','\x0144'),
			('\x0145','\x0146'),
			('\x0147','\x0148'),
			('\x014A','\x014B'),
			('\x014C','\x014D'),
			('\x014E','\x014F'),
			('\x0150','\x0151'),
			('\x0152','\x0153'),
			('\x0154','\x0155'),
			('\x0156','\x0157'),
			('\x0158','\x0159'),
			('\x015A','\x015B'),
			('\x015C','\x015D'),
			('\x015E','\x015F'),
			('\x0160','\x0161'),
			('\x0162','\x0163'),
			('\x0164','\x0165'),
			('\x0166','\x0167'),
			('\x0168','\x0169'),
			('\x016A','\x016B'),
			('\x016C','\x016D'),
			('\x016E','\x016F'),
			('\x0170','\x0171'),
			('\x0172','\x0173'),
			('\x0174','\x0175'),
			('\x0176','\x0177'),
			('\x0178','\x00FF'),
			('\x0179','\x017A'),
			('\x017B','\x017C'),
			('\x017D','\x017E'),
			('\x0181','\x0253'),
			('\x0182','\x0183'),
			('\x0184','\x0185'),
			('\x0186','\x0254'),
			('\x0187','\x0188'),
			('\x0189','\x0256'),
			('\x018A','\x0257'),
			('\x018B','\x018C'),
			('\x018E','\x01DD'),
			('\x018F','\x0259'),
			('\x0190','\x025B'),
			('\x0191','\x0192'),
			('\x0193','\x0260'),
			('\x0194','\x0263'),
			('\x0196','\x0269'),
			('\x0197','\x0268'),
			('\x0198','\x0199'),
			('\x019C','\x026F'),
			('\x019D','\x0272'),
			('\x019F','\x0275'),
			('\x01A0','\x01A1'),
			('\x01A2','\x01A3'),
			('\x01A4','\x01A5'),
			('\x01A6','\x0280'),
			('\x01A7','\x01A8'),
			('\x01A9','\x0283'),
			('\x01AC','\x01AD'),
			('\x01AE','\x0288'),
			('\x01AF','\x01B0'),
			('\x01B1','\x028A'),
			('\x01B2','\x028B'),
			('\x01B3','\x01B4'),
			('\x01B5','\x01B6'),
			('\x01B7','\x0292'),
			('\x01B8','\x01B9'),
			('\x01BC','\x01BD'),
			('\x01C4','\x01C6'),
			('\x01C5','\x01C6'),
			('\x01C7','\x01C9'),
			('\x01C8','\x01C9'),
			('\x01CA','\x01CC'),
			('\x01CB','\x01CC'),
			('\x01CD','\x01CE'),
			('\x01CF','\x01D0'),
			('\x01D1','\x01D2'),
			('\x01D3','\x01D4'),
			('\x01D5','\x01D6'),
			('\x01D7','\x01D8'),
			('\x01D9','\x01DA'),
			('\x01DB','\x01DC'),
			('\x01DE','\x01DF'),
			('\x01E0','\x01E1'),
			('\x01E2','\x01E3'),
			('\x01E4','\x01E5'),
			('\x01E6','\x01E7'),
			('\x01E8','\x01E9'),
			('\x01EA','\x01EB'),
			('\x01EC','\x01ED'),
			('\x01EE','\x01EF'),
			('\x01F1','\x01F3'),
			('\x01F2','\x01F3'),
			('\x01F4','\x01F5'),
			('\x01F6','\x0195'),
			('\x01F7','\x01BF'),
			('\x01F8','\x01F9'),
			('\x01FA','\x01FB'),
			('\x01FC','\x01FD'),
			('\x01FE','\x01FF'),
			('\x0200','\x0201'),
			('\x0202','\x0203'),
			('\x0204','\x0205'),
			('\x0206','\x0207'),
			('\x0208','\x0209'),
			('\x020A','\x020B'),
			('\x020C','\x020D'),
			('\x020E','\x020F'),
			('\x0210','\x0211'),
			('\x0212','\x0213'),
			('\x0214','\x0215'),
			('\x0216','\x0217'),
			('\x0218','\x0219'),
			('\x021A','\x021B'),
			('\x021C','\x021D'),
			('\x021E','\x021F'),
			('\x0220','\x019E'),
			('\x0222','\x0223'),
			('\x0224','\x0225'),
			('\x0226','\x0227'),
			('\x0228','\x0229'),
			('\x022A','\x022B'),
			('\x022C','\x022D'),
			('\x022E','\x022F'),
			('\x0230','\x0231'),
			('\x0232','\x0233'),
			('\x0386','\x03AC'),
			('\x0388','\x03AD'),
			('\x0389','\x03AE'),
			('\x038A','\x03AF'),
			('\x038C','\x03CC'),
			('\x038E','\x03CD'),
			('\x038F','\x03CE'),
			('\x0391','\x03B1'),
			('\x0392','\x03B2'),
			('\x0393','\x03B3'),
			('\x0394','\x03B4'),
			('\x0395','\x03B5'),
			('\x0396','\x03B6'),
			('\x0397','\x03B7'),
			('\x0398','\x03B8'),
			('\x0399','\x03B9'),
			('\x039A','\x03BA'),
			('\x039B','\x03BB'),
			('\x039C','\x03BC'),
			('\x039D','\x03BD'),
			('\x039E','\x03BE'),
			('\x039F','\x03BF'),
			('\x03A0','\x03C0'),
			('\x03A1','\x03C1'),
			('\x03A3','\x03C3'),
			('\x03A4','\x03C4'),
			('\x03A5','\x03C5'),
			('\x03A6','\x03C6'),
			('\x03A7','\x03C7'),
			('\x03A8','\x03C8'),
			('\x03A9','\x03C9'),
			('\x03AA','\x03CA'),
			('\x03AB','\x03CB'),
			('\x03D8','\x03D9'),
			('\x03DA','\x03DB'),
			('\x03DC','\x03DD'),
			('\x03DE','\x03DF'),
			('\x03E0','\x03E1'),
			('\x03E2','\x03E3'),
			('\x03E4','\x03E5'),
			('\x03E6','\x03E7'),
			('\x03E8','\x03E9'),
			('\x03EA','\x03EB'),
			('\x03EC','\x03ED'),
			('\x03EE','\x03EF'),
			('\x03F4','\x03B8'),
			('\x0400','\x0450'),
			('\x0401','\x0451'),
			('\x0402','\x0452'),
			('\x0403','\x0453'),
			('\x0404','\x0454'),
			('\x0405','\x0455'),
			('\x0406','\x0456'),
			('\x0407','\x0457'),
			('\x0408','\x0458'),
			('\x0409','\x0459'),
			('\x040A','\x045A'),
			('\x040B','\x045B'),
			('\x040C','\x045C'),
			('\x040D','\x045D'),
			('\x040E','\x045E'),
			('\x040F','\x045F'),
			('\x0410','\x0430'),
			('\x0411','\x0431'),
			('\x0412','\x0432'),
			('\x0413','\x0433'),
			('\x0414','\x0434'),
			('\x0415','\x0435'),
			('\x0416','\x0436'),
			('\x0417','\x0437'),
			('\x0418','\x0438'),
			('\x0419','\x0439'),
			('\x041A','\x043A'),
			('\x041B','\x043B'),
			('\x041C','\x043C'),
			('\x041D','\x043D'),
			('\x041E','\x043E'),
			('\x041F','\x043F'),
			('\x0420','\x0440'),
			('\x0421','\x0441'),
			('\x0422','\x0442'),
			('\x0423','\x0443'),
			('\x0424','\x0444'),
			('\x0425','\x0445'),
			('\x0426','\x0446'),
			('\x0427','\x0447'),
			('\x0428','\x0448'),
			('\x0429','\x0449'),
			('\x042A','\x044A'),
			('\x042B','\x044B'),
			('\x042C','\x044C'),
			('\x042D','\x044D'),
			('\x042E','\x044E'),
			('\x042F','\x044F'),
			('\x0460','\x0461'),
			('\x0462','\x0463'),
			('\x0464','\x0465'),
			('\x0466','\x0467'),
			('\x0468','\x0469'),
			('\x046A','\x046B'),
			('\x046C','\x046D'),
			('\x046E','\x046F'),
			('\x0470','\x0471'),
			('\x0472','\x0473'),
			('\x0474','\x0475'),
			('\x0476','\x0477'),
			('\x0478','\x0479'),
			('\x047A','\x047B'),
			('\x047C','\x047D'),
			('\x047E','\x047F'),
			('\x0480','\x0481'),
			('\x048A','\x048B'),
			('\x048C','\x048D'),
			('\x048E','\x048F'),
			('\x0490','\x0491'),
			('\x0492','\x0493'),
			('\x0494','\x0495'),
			('\x0496','\x0497'),
			('\x0498','\x0499'),
			('\x049A','\x049B'),
			('\x049C','\x049D'),
			('\x049E','\x049F'),
			('\x04A0','\x04A1'),
			('\x04A2','\x04A3'),
			('\x04A4','\x04A5'),
			('\x04A6','\x04A7'),
			('\x04A8','\x04A9'),
			('\x04AA','\x04AB'),
			('\x04AC','\x04AD'),
			('\x04AE','\x04AF'),
			('\x04B0','\x04B1'),
			('\x04B2','\x04B3'),
			('\x04B4','\x04B5'),
			('\x04B6','\x04B7'),
			('\x04B8','\x04B9'),
			('\x04BA','\x04BB'),
			('\x04BC','\x04BD'),
			('\x04BE','\x04BF'),
			('\x04C1','\x04C2'),
			('\x04C3','\x04C4'),
			('\x04C5','\x04C6'),
			('\x04C7','\x04C8'),
			('\x04C9','\x04CA'),
			('\x04CB','\x04CC'),
			('\x04CD','\x04CE'),
			('\x04D0','\x04D1'),
			('\x04D2','\x04D3'),
			('\x04D4','\x04D5'),
			('\x04D6','\x04D7'),
			('\x04D8','\x04D9'),
			('\x04DA','\x04DB'),
			('\x04DC','\x04DD'),
			('\x04DE','\x04DF'),
			('\x04E0','\x04E1'),
			('\x04E2','\x04E3'),
			('\x04E4','\x04E5'),
			('\x04E6','\x04E7'),
			('\x04E8','\x04E9'),
			('\x04EA','\x04EB'),
			('\x04EC','\x04ED'),
			('\x04EE','\x04EF'),
			('\x04F0','\x04F1'),
			('\x04F2','\x04F3'),
			('\x04F4','\x04F5'),
			('\x04F8','\x04F9'),
			('\x0500','\x0501'),
			('\x0502','\x0503'),
			('\x0504','\x0505'),
			('\x0506','\x0507'),
			('\x0508','\x0509'),
			('\x050A','\x050B'),
			('\x050C','\x050D'),
			('\x050E','\x050F'),
			('\x0531','\x0561'),
			('\x0532','\x0562'),
			('\x0533','\x0563'),
			('\x0534','\x0564'),
			('\x0535','\x0565'),
			('\x0536','\x0566'),
			('\x0537','\x0567'),
			('\x0538','\x0568'),
			('\x0539','\x0569'),
			('\x053A','\x056A'),
			('\x053B','\x056B'),
			('\x053C','\x056C'),
			('\x053D','\x056D'),
			('\x053E','\x056E'),
			('\x053F','\x056F'),
			('\x0540','\x0570'),
			('\x0541','\x0571'),
			('\x0542','\x0572'),
			('\x0543','\x0573'),
			('\x0544','\x0574'),
			('\x0545','\x0575'),
			('\x0546','\x0576'),
			('\x0547','\x0577'),
			('\x0548','\x0578'),
			('\x0549','\x0579'),
			('\x054A','\x057A'),
			('\x054B','\x057B'),
			('\x054C','\x057C'),
			('\x054D','\x057D'),
			('\x054E','\x057E'),
			('\x054F','\x057F'),
			('\x0550','\x0580'),
			('\x0551','\x0581'),
			('\x0552','\x0582'),
			('\x0553','\x0583'),
			('\x0554','\x0584'),
			('\x0555','\x0585'),
			('\x0556','\x0586'),
			('\x1E00','\x1E01'),
			('\x1E02','\x1E03'),
			('\x1E04','\x1E05'),
			('\x1E06','\x1E07'),
			('\x1E08','\x1E09'),
			('\x1E0A','\x1E0B'),
			('\x1E0C','\x1E0D'),
			('\x1E0E','\x1E0F'),
			('\x1E10','\x1E11'),
			('\x1E12','\x1E13'),
			('\x1E14','\x1E15'),
			('\x1E16','\x1E17'),
			('\x1E18','\x1E19'),
			('\x1E1A','\x1E1B'),
			('\x1E1C','\x1E1D'),
			('\x1E1E','\x1E1F'),
			('\x1E20','\x1E21'),
			('\x1E22','\x1E23'),
			('\x1E24','\x1E25'),
			('\x1E26','\x1E27'),
			('\x1E28','\x1E29'),
			('\x1E2A','\x1E2B'),
			('\x1E2C','\x1E2D'),
			('\x1E2E','\x1E2F'),
			('\x1E30','\x1E31'),
			('\x1E32','\x1E33'),
			('\x1E34','\x1E35'),
			('\x1E36','\x1E37'),
			('\x1E38','\x1E39'),
			('\x1E3A','\x1E3B'),
			('\x1E3C','\x1E3D'),
			('\x1E3E','\x1E3F'),
			('\x1E40','\x1E41'),
			('\x1E42','\x1E43'),
			('\x1E44','\x1E45'),
			('\x1E46','\x1E47'),
			('\x1E48','\x1E49'),
			('\x1E4A','\x1E4B'),
			('\x1E4C','\x1E4D'),
			('\x1E4E','\x1E4F'),
			('\x1E50','\x1E51'),
			('\x1E52','\x1E53'),
			('\x1E54','\x1E55'),
			('\x1E56','\x1E57'),
			('\x1E58','\x1E59'),
			('\x1E5A','\x1E5B'),
			('\x1E5C','\x1E5D'),
			('\x1E5E','\x1E5F'),
			('\x1E60','\x1E61'),
			('\x1E62','\x1E63'),
			('\x1E64','\x1E65'),
			('\x1E66','\x1E67'),
			('\x1E68','\x1E69'),
			('\x1E6A','\x1E6B'),
			('\x1E6C','\x1E6D'),
			('\x1E6E','\x1E6F'),
			('\x1E70','\x1E71'),
			('\x1E72','\x1E73'),
			('\x1E74','\x1E75'),
			('\x1E76','\x1E77'),
			('\x1E78','\x1E79'),
			('\x1E7A','\x1E7B'),
			('\x1E7C','\x1E7D'),
			('\x1E7E','\x1E7F'),
			('\x1E80','\x1E81'),
			('\x1E82','\x1E83'),
			('\x1E84','\x1E85'),
			('\x1E86','\x1E87'),
			('\x1E88','\x1E89'),
			('\x1E8A','\x1E8B'),
			('\x1E8C','\x1E8D'),
			('\x1E8E','\x1E8F'),
			('\x1E90','\x1E91'),
			('\x1E92','\x1E93'),
			('\x1E94','\x1E95'),
			('\x1EA0','\x1EA1'),
			('\x1EA2','\x1EA3'),
			('\x1EA4','\x1EA5'),
			('\x1EA6','\x1EA7'),
			('\x1EA8','\x1EA9'),
			('\x1EAA','\x1EAB'),
			('\x1EAC','\x1EAD'),
			('\x1EAE','\x1EAF'),
			('\x1EB0','\x1EB1'),
			('\x1EB2','\x1EB3'),
			('\x1EB4','\x1EB5'),
			('\x1EB6','\x1EB7'),
			('\x1EB8','\x1EB9'),
			('\x1EBA','\x1EBB'),
			('\x1EBC','\x1EBD'),
			('\x1EBE','\x1EBF'),
			('\x1EC0','\x1EC1'),
			('\x1EC2','\x1EC3'),
			('\x1EC4','\x1EC5'),
			('\x1EC6','\x1EC7'),
			('\x1EC8','\x1EC9'),
			('\x1ECA','\x1ECB'),
			('\x1ECC','\x1ECD'),
			('\x1ECE','\x1ECF'),
			('\x1ED0','\x1ED1'),
			('\x1ED2','\x1ED3'),
			('\x1ED4','\x1ED5'),
			('\x1ED6','\x1ED7'),
			('\x1ED8','\x1ED9'),
			('\x1EDA','\x1EDB'),
			('\x1EDC','\x1EDD'),
			('\x1EDE','\x1EDF'),
			('\x1EE0','\x1EE1'),
			('\x1EE2','\x1EE3'),
			('\x1EE4','\x1EE5'),
			('\x1EE6','\x1EE7'),
			('\x1EE8','\x1EE9'),
			('\x1EEA','\x1EEB'),
			('\x1EEC','\x1EED'),
			('\x1EEE','\x1EEF'),
			('\x1EF0','\x1EF1'),
			('\x1EF2','\x1EF3'),
			('\x1EF4','\x1EF5'),
			('\x1EF6','\x1EF7'),
			('\x1EF8','\x1EF9'),
			('\x1F08','\x1F00'),
			('\x1F09','\x1F01'),
			('\x1F0A','\x1F02'),
			('\x1F0B','\x1F03'),
			('\x1F0C','\x1F04'),
			('\x1F0D','\x1F05'),
			('\x1F0E','\x1F06'),
			('\x1F0F','\x1F07'),
			('\x1F18','\x1F10'),
			('\x1F19','\x1F11'),
			('\x1F1A','\x1F12'),
			('\x1F1B','\x1F13'),
			('\x1F1C','\x1F14'),
			('\x1F1D','\x1F15'),
			('\x1F28','\x1F20'),
			('\x1F29','\x1F21'),
			('\x1F2A','\x1F22'),
			('\x1F2B','\x1F23'),
			('\x1F2C','\x1F24'),
			('\x1F2D','\x1F25'),
			('\x1F2E','\x1F26'),
			('\x1F2F','\x1F27'),
			('\x1F38','\x1F30'),
			('\x1F39','\x1F31'),
			('\x1F3A','\x1F32'),
			('\x1F3B','\x1F33'),
			('\x1F3C','\x1F34'),
			('\x1F3D','\x1F35'),
			('\x1F3E','\x1F36'),
			('\x1F3F','\x1F37'),
			('\x1F48','\x1F40'),
			('\x1F49','\x1F41'),
			('\x1F4A','\x1F42'),
			('\x1F4B','\x1F43'),
			('\x1F4C','\x1F44'),
			('\x1F4D','\x1F45'),
			('\x1F59','\x1F51'),
			('\x1F5B','\x1F53'),
			('\x1F5D','\x1F55'),
			('\x1F5F','\x1F57'),
			('\x1F68','\x1F60'),
			('\x1F69','\x1F61'),
			('\x1F6A','\x1F62'),
			('\x1F6B','\x1F63'),
			('\x1F6C','\x1F64'),
			('\x1F6D','\x1F65'),
			('\x1F6E','\x1F66'),
			('\x1F6F','\x1F67'),
			('\x1F88','\x1F80'),
			('\x1F89','\x1F81'),
			('\x1F8A','\x1F82'),
			('\x1F8B','\x1F83'),
			('\x1F8C','\x1F84'),
			('\x1F8D','\x1F85'),
			('\x1F8E','\x1F86'),
			('\x1F8F','\x1F87'),
			('\x1F98','\x1F90'),
			('\x1F99','\x1F91'),
			('\x1F9A','\x1F92'),
			('\x1F9B','\x1F93'),
			('\x1F9C','\x1F94'),
			('\x1F9D','\x1F95'),
			('\x1F9E','\x1F96'),
			('\x1F9F','\x1F97'),
			('\x1FA8','\x1FA0'),
			('\x1FA9','\x1FA1'),
			('\x1FAA','\x1FA2'),
			('\x1FAB','\x1FA3'),
			('\x1FAC','\x1FA4'),
			('\x1FAD','\x1FA5'),
			('\x1FAE','\x1FA6'),
			('\x1FAF','\x1FA7'),
			('\x1FB8','\x1FB0'),
			('\x1FB9','\x1FB1'),
			('\x1FBA','\x1F70'),
			('\x1FBB','\x1F71'),
			('\x1FBC','\x1FB3'),
			('\x1FC8','\x1F72'),
			('\x1FC9','\x1F73'),
			('\x1FCA','\x1F74'),
			('\x1FCB','\x1F75'),
			('\x1FCC','\x1FC3'),
			('\x1FD8','\x1FD0'),
			('\x1FD9','\x1FD1'),
			('\x1FDA','\x1F76'),
			('\x1FDB','\x1F77'),
			('\x1FE8','\x1FE0'),
			('\x1FE9','\x1FE1'),
			('\x1FEA','\x1F7A'),
			('\x1FEB','\x1F7B'),
			('\x1FEC','\x1FE5'),
			('\x1FF8','\x1F78'),
			('\x1FF9','\x1F79'),
			('\x1FFA','\x1F7C'),
			('\x1FFB','\x1F7D'),
			('\x1FFC','\x1FF3'),
			('\x2126','\x03C9'),
			('\x212A','\x006B'),
			('\x212B','\x00E5'),
			('\x2160','\x2170'),
			('\x2161','\x2171'),
			('\x2162','\x2172'),
			('\x2163','\x2173'),
			('\x2164','\x2174'),
			('\x2165','\x2175'),
			('\x2166','\x2176'),
			('\x2167','\x2177'),
			('\x2168','\x2178'),
			('\x2169','\x2179'),
			('\x216A','\x217A'),
			('\x216B','\x217B'),
			('\x216C','\x217C'),
			('\x216D','\x217D'),
			('\x216E','\x217E'),
			('\x216F','\x217F'),
			('\x24B6','\x24D0'),
			('\x24B7','\x24D1'),
			('\x24B8','\x24D2'),
			('\x24B9','\x24D3'),
			('\x24BA','\x24D4'),
			('\x24BB','\x24D5'),
			('\x24BC','\x24D6'),
			('\x24BD','\x24D7'),
			('\x24BE','\x24D8'),
			('\x24BF','\x24D9'),
			('\x24C0','\x24DA'),
			('\x24C1','\x24DB'),
			('\x24C2','\x24DC'),
			('\x24C3','\x24DD'),
			('\x24C4','\x24DE'),
			('\x24C5','\x24DF'),
			('\x24C6','\x24E0'),
			('\x24C7','\x24E1'),
			('\x24C8','\x24E2'),
			('\x24C9','\x24E3'),
			('\x24CA','\x24E4'),
			('\x24CB','\x24E5'),
			('\x24CC','\x24E6'),
			('\x24CD','\x24E7'),
			('\x24CE','\x24E8'),
			('\x24CF','\x24E9'),
			('\xFF21','\xFF41'),
			('\xFF22','\xFF42'),
			('\xFF23','\xFF43'),
			('\xFF24','\xFF44'),
			('\xFF25','\xFF45'),
			('\xFF26','\xFF46'),
			('\xFF27','\xFF47'),
			('\xFF28','\xFF48'),
			('\xFF29','\xFF49'),
			('\xFF2A','\xFF4A'),
			('\xFF2B','\xFF4B'),
			('\xFF2C','\xFF4C'),
			('\xFF2D','\xFF4D'),
			('\xFF2E','\xFF4E'),
			('\xFF2F','\xFF4F'),
			('\xFF30','\xFF50'),
			('\xFF31','\xFF51'),
			('\xFF32','\xFF52'),
			('\xFF33','\xFF53'),
			('\xFF34','\xFF54'),
			('\xFF35','\xFF55'),
			('\xFF36','\xFF56'),
			('\xFF37','\xFF57'),
			('\xFF38','\xFF58'),
			('\xFF39','\xFF59'),
			('\xFF3A','\xFF5A'),
			('\x10400','\x10428'),
			('\x10401','\x10429'),
			('\x10402','\x1042A'),
			('\x10403','\x1042B'),
			('\x10404','\x1042C'),
			('\x10405','\x1042D'),
			('\x10406','\x1042E'),
			('\x10407','\x1042F'),
			('\x10408','\x10430'),
			('\x10409','\x10431'),
			('\x1040A','\x10432'),
			('\x1040B','\x10433'),
			('\x1040C','\x10434'),
			('\x1040D','\x10435'),
			('\x1040E','\x10436'),
			('\x1040F','\x10437'),
			('\x10410','\x10438'),
			('\x10411','\x10439'),
			('\x10412','\x1043A'),
			('\x10413','\x1043B'),
			('\x10414','\x1043C'),
			('\x10415','\x1043D'),
			('\x10416','\x1043E'),
			('\x10417','\x1043F'),
			('\x10418','\x10440'),
			('\x10419','\x10441'),
			('\x1041A','\x10442'),
			('\x1041B','\x10443'),
			('\x1041C','\x10444'),
			('\x1041D','\x10445'),
			('\x1041E','\x10446'),
			('\x1041F','\x10447'),
			('\x10420','\x10448'),
			('\x10421','\x10449'),
			('\x10422','\x1044A'),
			('\x10423','\x1044B'),
			('\x10424','\x1044C'),
			('\x10425','\x1044D'),
			('\x0','\x0')	-- just to terminate list
		];
	};

	toTitleCase :: Char -> Char;
	toTitleCase c = findWithDefault c c theMap where
	{
		theMap :: Map Char Char;
		theMap = fromList theList;
		
		theList :: [(Char,Char)];
		theList =
		[
			('\x0061','\x0041'),
			('\x0062','\x0042'),
			('\x0063','\x0043'),
			('\x0064','\x0044'),
			('\x0065','\x0045'),
			('\x0066','\x0046'),
			('\x0067','\x0047'),
			('\x0068','\x0048'),
			('\x0069','\x0049'),
			('\x006A','\x004A'),
			('\x006B','\x004B'),
			('\x006C','\x004C'),
			('\x006D','\x004D'),
			('\x006E','\x004E'),
			('\x006F','\x004F'),
			('\x0070','\x0050'),
			('\x0071','\x0051'),
			('\x0072','\x0052'),
			('\x0073','\x0053'),
			('\x0074','\x0054'),
			('\x0075','\x0055'),
			('\x0076','\x0056'),
			('\x0077','\x0057'),
			('\x0078','\x0058'),
			('\x0079','\x0059'),
			('\x007A','\x005A'),
			('\x00B5','\x039C'),
			('\x00E0','\x00C0'),
			('\x00E1','\x00C1'),
			('\x00E2','\x00C2'),
			('\x00E3','\x00C3'),
			('\x00E4','\x00C4'),
			('\x00E5','\x00C5'),
			('\x00E6','\x00C6'),
			('\x00E7','\x00C7'),
			('\x00E8','\x00C8'),
			('\x00E9','\x00C9'),
			('\x00EA','\x00CA'),
			('\x00EB','\x00CB'),
			('\x00EC','\x00CC'),
			('\x00ED','\x00CD'),
			('\x00EE','\x00CE'),
			('\x00EF','\x00CF'),
			('\x00F0','\x00D0'),
			('\x00F1','\x00D1'),
			('\x00F2','\x00D2'),
			('\x00F3','\x00D3'),
			('\x00F4','\x00D4'),
			('\x00F5','\x00D5'),
			('\x00F6','\x00D6'),
			('\x00F8','\x00D8'),
			('\x00F9','\x00D9'),
			('\x00FA','\x00DA'),
			('\x00FB','\x00DB'),
			('\x00FC','\x00DC'),
			('\x00FD','\x00DD'),
			('\x00FE','\x00DE'),
			('\x00FF','\x0178'),
			('\x0101','\x0100'),
			('\x0103','\x0102'),
			('\x0105','\x0104'),
			('\x0107','\x0106'),
			('\x0109','\x0108'),
			('\x010B','\x010A'),
			('\x010D','\x010C'),
			('\x010F','\x010E'),
			('\x0111','\x0110'),
			('\x0113','\x0112'),
			('\x0115','\x0114'),
			('\x0117','\x0116'),
			('\x0119','\x0118'),
			('\x011B','\x011A'),
			('\x011D','\x011C'),
			('\x011F','\x011E'),
			('\x0121','\x0120'),
			('\x0123','\x0122'),
			('\x0125','\x0124'),
			('\x0127','\x0126'),
			('\x0129','\x0128'),
			('\x012B','\x012A'),
			('\x012D','\x012C'),
			('\x012F','\x012E'),
			('\x0131','\x0049'),
			('\x0133','\x0132'),
			('\x0135','\x0134'),
			('\x0137','\x0136'),
			('\x013A','\x0139'),
			('\x013C','\x013B'),
			('\x013E','\x013D'),
			('\x0140','\x013F'),
			('\x0142','\x0141'),
			('\x0144','\x0143'),
			('\x0146','\x0145'),
			('\x0148','\x0147'),
			('\x014B','\x014A'),
			('\x014D','\x014C'),
			('\x014F','\x014E'),
			('\x0151','\x0150'),
			('\x0153','\x0152'),
			('\x0155','\x0154'),
			('\x0157','\x0156'),
			('\x0159','\x0158'),
			('\x015B','\x015A'),
			('\x015D','\x015C'),
			('\x015F','\x015E'),
			('\x0161','\x0160'),
			('\x0163','\x0162'),
			('\x0165','\x0164'),
			('\x0167','\x0166'),
			('\x0169','\x0168'),
			('\x016B','\x016A'),
			('\x016D','\x016C'),
			('\x016F','\x016E'),
			('\x0171','\x0170'),
			('\x0173','\x0172'),
			('\x0175','\x0174'),
			('\x0177','\x0176'),
			('\x017A','\x0179'),
			('\x017C','\x017B'),
			('\x017E','\x017D'),
			('\x017F','\x0053'),
			('\x0183','\x0182'),
			('\x0185','\x0184'),
			('\x0188','\x0187'),
			('\x018C','\x018B'),
			('\x0192','\x0191'),
			('\x0195','\x01F6'),
			('\x0199','\x0198'),
			('\x019E','\x0220'),
			('\x01A1','\x01A0'),
			('\x01A3','\x01A2'),
			('\x01A5','\x01A4'),
			('\x01A8','\x01A7'),
			('\x01AD','\x01AC'),
			('\x01B0','\x01AF'),
			('\x01B4','\x01B3'),
			('\x01B6','\x01B5'),
			('\x01B9','\x01B8'),
			('\x01BD','\x01BC'),
			('\x01BF','\x01F7'),
			('\x01C4','\x01C5'),
			('\x01C6','\x01C5'),
			('\x01C7','\x01C8'),
			('\x01C9','\x01C8'),
			('\x01CA','\x01CB'),
			('\x01CC','\x01CB'),
			('\x01CE','\x01CD'),
			('\x01D0','\x01CF'),
			('\x01D2','\x01D1'),
			('\x01D4','\x01D3'),
			('\x01D6','\x01D5'),
			('\x01D8','\x01D7'),
			('\x01DA','\x01D9'),
			('\x01DC','\x01DB'),
			('\x01DD','\x018E'),
			('\x01DF','\x01DE'),
			('\x01E1','\x01E0'),
			('\x01E3','\x01E2'),
			('\x01E5','\x01E4'),
			('\x01E7','\x01E6'),
			('\x01E9','\x01E8'),
			('\x01EB','\x01EA'),
			('\x01ED','\x01EC'),
			('\x01EF','\x01EE'),
			('\x01F1','\x01F2'),
			('\x01F3','\x01F2'),
			('\x01F5','\x01F4'),
			('\x01F9','\x01F8'),
			('\x01FB','\x01FA'),
			('\x01FD','\x01FC'),
			('\x01FF','\x01FE'),
			('\x0201','\x0200'),
			('\x0203','\x0202'),
			('\x0205','\x0204'),
			('\x0207','\x0206'),
			('\x0209','\x0208'),
			('\x020B','\x020A'),
			('\x020D','\x020C'),
			('\x020F','\x020E'),
			('\x0211','\x0210'),
			('\x0213','\x0212'),
			('\x0215','\x0214'),
			('\x0217','\x0216'),
			('\x0219','\x0218'),
			('\x021B','\x021A'),
			('\x021D','\x021C'),
			('\x021F','\x021E'),
			('\x0223','\x0222'),
			('\x0225','\x0224'),
			('\x0227','\x0226'),
			('\x0229','\x0228'),
			('\x022B','\x022A'),
			('\x022D','\x022C'),
			('\x022F','\x022E'),
			('\x0231','\x0230'),
			('\x0233','\x0232'),
			('\x0253','\x0181'),
			('\x0254','\x0186'),
			('\x0256','\x0189'),
			('\x0257','\x018A'),
			('\x0259','\x018F'),
			('\x025B','\x0190'),
			('\x0260','\x0193'),
			('\x0263','\x0194'),
			('\x0268','\x0197'),
			('\x0269','\x0196'),
			('\x026F','\x019C'),
			('\x0272','\x019D'),
			('\x0275','\x019F'),
			('\x0280','\x01A6'),
			('\x0283','\x01A9'),
			('\x0288','\x01AE'),
			('\x028A','\x01B1'),
			('\x028B','\x01B2'),
			('\x0292','\x01B7'),
			('\x0345','\x0399'),
			('\x03AC','\x0386'),
			('\x03AD','\x0388'),
			('\x03AE','\x0389'),
			('\x03AF','\x038A'),
			('\x03B1','\x0391'),
			('\x03B2','\x0392'),
			('\x03B3','\x0393'),
			('\x03B4','\x0394'),
			('\x03B5','\x0395'),
			('\x03B6','\x0396'),
			('\x03B7','\x0397'),
			('\x03B8','\x0398'),
			('\x03B9','\x0399'),
			('\x03BA','\x039A'),
			('\x03BB','\x039B'),
			('\x03BC','\x039C'),
			('\x03BD','\x039D'),
			('\x03BE','\x039E'),
			('\x03BF','\x039F'),
			('\x03C0','\x03A0'),
			('\x03C1','\x03A1'),
			('\x03C2','\x03A3'),
			('\x03C3','\x03A3'),
			('\x03C4','\x03A4'),
			('\x03C5','\x03A5'),
			('\x03C6','\x03A6'),
			('\x03C7','\x03A7'),
			('\x03C8','\x03A8'),
			('\x03C9','\x03A9'),
			('\x03CA','\x03AA'),
			('\x03CB','\x03AB'),
			('\x03CC','\x038C'),
			('\x03CD','\x038E'),
			('\x03CE','\x038F'),
			('\x03D0','\x0392'),
			('\x03D1','\x0398'),
			('\x03D5','\x03A6'),
			('\x03D6','\x03A0'),
			('\x03D9','\x03D8'),
			('\x03DB','\x03DA'),
			('\x03DD','\x03DC'),
			('\x03DF','\x03DE'),
			('\x03E1','\x03E0'),
			('\x03E3','\x03E2'),
			('\x03E5','\x03E4'),
			('\x03E7','\x03E6'),
			('\x03E9','\x03E8'),
			('\x03EB','\x03EA'),
			('\x03ED','\x03EC'),
			('\x03EF','\x03EE'),
			('\x03F0','\x039A'),
			('\x03F1','\x03A1'),
			('\x03F2','\x03A3'),
			('\x03F5','\x0395'),
			('\x0430','\x0410'),
			('\x0431','\x0411'),
			('\x0432','\x0412'),
			('\x0433','\x0413'),
			('\x0434','\x0414'),
			('\x0435','\x0415'),
			('\x0436','\x0416'),
			('\x0437','\x0417'),
			('\x0438','\x0418'),
			('\x0439','\x0419'),
			('\x043A','\x041A'),
			('\x043B','\x041B'),
			('\x043C','\x041C'),
			('\x043D','\x041D'),
			('\x043E','\x041E'),
			('\x043F','\x041F'),
			('\x0440','\x0420'),
			('\x0441','\x0421'),
			('\x0442','\x0422'),
			('\x0443','\x0423'),
			('\x0444','\x0424'),
			('\x0445','\x0425'),
			('\x0446','\x0426'),
			('\x0447','\x0427'),
			('\x0448','\x0428'),
			('\x0449','\x0429'),
			('\x044A','\x042A'),
			('\x044B','\x042B'),
			('\x044C','\x042C'),
			('\x044D','\x042D'),
			('\x044E','\x042E'),
			('\x044F','\x042F'),
			('\x0450','\x0400'),
			('\x0451','\x0401'),
			('\x0452','\x0402'),
			('\x0453','\x0403'),
			('\x0454','\x0404'),
			('\x0455','\x0405'),
			('\x0456','\x0406'),
			('\x0457','\x0407'),
			('\x0458','\x0408'),
			('\x0459','\x0409'),
			('\x045A','\x040A'),
			('\x045B','\x040B'),
			('\x045C','\x040C'),
			('\x045D','\x040D'),
			('\x045E','\x040E'),
			('\x045F','\x040F'),
			('\x0461','\x0460'),
			('\x0463','\x0462'),
			('\x0465','\x0464'),
			('\x0467','\x0466'),
			('\x0469','\x0468'),
			('\x046B','\x046A'),
			('\x046D','\x046C'),
			('\x046F','\x046E'),
			('\x0471','\x0470'),
			('\x0473','\x0472'),
			('\x0475','\x0474'),
			('\x0477','\x0476'),
			('\x0479','\x0478'),
			('\x047B','\x047A'),
			('\x047D','\x047C'),
			('\x047F','\x047E'),
			('\x0481','\x0480'),
			('\x048B','\x048A'),
			('\x048D','\x048C'),
			('\x048F','\x048E'),
			('\x0491','\x0490'),
			('\x0493','\x0492'),
			('\x0495','\x0494'),
			('\x0497','\x0496'),
			('\x0499','\x0498'),
			('\x049B','\x049A'),
			('\x049D','\x049C'),
			('\x049F','\x049E'),
			('\x04A1','\x04A0'),
			('\x04A3','\x04A2'),
			('\x04A5','\x04A4'),
			('\x04A7','\x04A6'),
			('\x04A9','\x04A8'),
			('\x04AB','\x04AA'),
			('\x04AD','\x04AC'),
			('\x04AF','\x04AE'),
			('\x04B1','\x04B0'),
			('\x04B3','\x04B2'),
			('\x04B5','\x04B4'),
			('\x04B7','\x04B6'),
			('\x04B9','\x04B8'),
			('\x04BB','\x04BA'),
			('\x04BD','\x04BC'),
			('\x04BF','\x04BE'),
			('\x04C2','\x04C1'),
			('\x04C4','\x04C3'),
			('\x04C6','\x04C5'),
			('\x04C8','\x04C7'),
			('\x04CA','\x04C9'),
			('\x04CC','\x04CB'),
			('\x04CE','\x04CD'),
			('\x04D1','\x04D0'),
			('\x04D3','\x04D2'),
			('\x04D5','\x04D4'),
			('\x04D7','\x04D6'),
			('\x04D9','\x04D8'),
			('\x04DB','\x04DA'),
			('\x04DD','\x04DC'),
			('\x04DF','\x04DE'),
			('\x04E1','\x04E0'),
			('\x04E3','\x04E2'),
			('\x04E5','\x04E4'),
			('\x04E7','\x04E6'),
			('\x04E9','\x04E8'),
			('\x04EB','\x04EA'),
			('\x04ED','\x04EC'),
			('\x04EF','\x04EE'),
			('\x04F1','\x04F0'),
			('\x04F3','\x04F2'),
			('\x04F5','\x04F4'),
			('\x04F9','\x04F8'),
			('\x0501','\x0500'),
			('\x0503','\x0502'),
			('\x0505','\x0504'),
			('\x0507','\x0506'),
			('\x0509','\x0508'),
			('\x050B','\x050A'),
			('\x050D','\x050C'),
			('\x050F','\x050E'),
			('\x0561','\x0531'),
			('\x0562','\x0532'),
			('\x0563','\x0533'),
			('\x0564','\x0534'),
			('\x0565','\x0535'),
			('\x0566','\x0536'),
			('\x0567','\x0537'),
			('\x0568','\x0538'),
			('\x0569','\x0539'),
			('\x056A','\x053A'),
			('\x056B','\x053B'),
			('\x056C','\x053C'),
			('\x056D','\x053D'),
			('\x056E','\x053E'),
			('\x056F','\x053F'),
			('\x0570','\x0540'),
			('\x0571','\x0541'),
			('\x0572','\x0542'),
			('\x0573','\x0543'),
			('\x0574','\x0544'),
			('\x0575','\x0545'),
			('\x0576','\x0546'),
			('\x0577','\x0547'),
			('\x0578','\x0548'),
			('\x0579','\x0549'),
			('\x057A','\x054A'),
			('\x057B','\x054B'),
			('\x057C','\x054C'),
			('\x057D','\x054D'),
			('\x057E','\x054E'),
			('\x057F','\x054F'),
			('\x0580','\x0550'),
			('\x0581','\x0551'),
			('\x0582','\x0552'),
			('\x0583','\x0553'),
			('\x0584','\x0554'),
			('\x0585','\x0555'),
			('\x0586','\x0556'),
			('\x1E01','\x1E00'),
			('\x1E03','\x1E02'),
			('\x1E05','\x1E04'),
			('\x1E07','\x1E06'),
			('\x1E09','\x1E08'),
			('\x1E0B','\x1E0A'),
			('\x1E0D','\x1E0C'),
			('\x1E0F','\x1E0E'),
			('\x1E11','\x1E10'),
			('\x1E13','\x1E12'),
			('\x1E15','\x1E14'),
			('\x1E17','\x1E16'),
			('\x1E19','\x1E18'),
			('\x1E1B','\x1E1A'),
			('\x1E1D','\x1E1C'),
			('\x1E1F','\x1E1E'),
			('\x1E21','\x1E20'),
			('\x1E23','\x1E22'),
			('\x1E25','\x1E24'),
			('\x1E27','\x1E26'),
			('\x1E29','\x1E28'),
			('\x1E2B','\x1E2A'),
			('\x1E2D','\x1E2C'),
			('\x1E2F','\x1E2E'),
			('\x1E31','\x1E30'),
			('\x1E33','\x1E32'),
			('\x1E35','\x1E34'),
			('\x1E37','\x1E36'),
			('\x1E39','\x1E38'),
			('\x1E3B','\x1E3A'),
			('\x1E3D','\x1E3C'),
			('\x1E3F','\x1E3E'),
			('\x1E41','\x1E40'),
			('\x1E43','\x1E42'),
			('\x1E45','\x1E44'),
			('\x1E47','\x1E46'),
			('\x1E49','\x1E48'),
			('\x1E4B','\x1E4A'),
			('\x1E4D','\x1E4C'),
			('\x1E4F','\x1E4E'),
			('\x1E51','\x1E50'),
			('\x1E53','\x1E52'),
			('\x1E55','\x1E54'),
			('\x1E57','\x1E56'),
			('\x1E59','\x1E58'),
			('\x1E5B','\x1E5A'),
			('\x1E5D','\x1E5C'),
			('\x1E5F','\x1E5E'),
			('\x1E61','\x1E60'),
			('\x1E63','\x1E62'),
			('\x1E65','\x1E64'),
			('\x1E67','\x1E66'),
			('\x1E69','\x1E68'),
			('\x1E6B','\x1E6A'),
			('\x1E6D','\x1E6C'),
			('\x1E6F','\x1E6E'),
			('\x1E71','\x1E70'),
			('\x1E73','\x1E72'),
			('\x1E75','\x1E74'),
			('\x1E77','\x1E76'),
			('\x1E79','\x1E78'),
			('\x1E7B','\x1E7A'),
			('\x1E7D','\x1E7C'),
			('\x1E7F','\x1E7E'),
			('\x1E81','\x1E80'),
			('\x1E83','\x1E82'),
			('\x1E85','\x1E84'),
			('\x1E87','\x1E86'),
			('\x1E89','\x1E88'),
			('\x1E8B','\x1E8A'),
			('\x1E8D','\x1E8C'),
			('\x1E8F','\x1E8E'),
			('\x1E91','\x1E90'),
			('\x1E93','\x1E92'),
			('\x1E95','\x1E94'),
			('\x1E9B','\x1E60'),
			('\x1EA1','\x1EA0'),
			('\x1EA3','\x1EA2'),
			('\x1EA5','\x1EA4'),
			('\x1EA7','\x1EA6'),
			('\x1EA9','\x1EA8'),
			('\x1EAB','\x1EAA'),
			('\x1EAD','\x1EAC'),
			('\x1EAF','\x1EAE'),
			('\x1EB1','\x1EB0'),
			('\x1EB3','\x1EB2'),
			('\x1EB5','\x1EB4'),
			('\x1EB7','\x1EB6'),
			('\x1EB9','\x1EB8'),
			('\x1EBB','\x1EBA'),
			('\x1EBD','\x1EBC'),
			('\x1EBF','\x1EBE'),
			('\x1EC1','\x1EC0'),
			('\x1EC3','\x1EC2'),
			('\x1EC5','\x1EC4'),
			('\x1EC7','\x1EC6'),
			('\x1EC9','\x1EC8'),
			('\x1ECB','\x1ECA'),
			('\x1ECD','\x1ECC'),
			('\x1ECF','\x1ECE'),
			('\x1ED1','\x1ED0'),
			('\x1ED3','\x1ED2'),
			('\x1ED5','\x1ED4'),
			('\x1ED7','\x1ED6'),
			('\x1ED9','\x1ED8'),
			('\x1EDB','\x1EDA'),
			('\x1EDD','\x1EDC'),
			('\x1EDF','\x1EDE'),
			('\x1EE1','\x1EE0'),
			('\x1EE3','\x1EE2'),
			('\x1EE5','\x1EE4'),
			('\x1EE7','\x1EE6'),
			('\x1EE9','\x1EE8'),
			('\x1EEB','\x1EEA'),
			('\x1EED','\x1EEC'),
			('\x1EEF','\x1EEE'),
			('\x1EF1','\x1EF0'),
			('\x1EF3','\x1EF2'),
			('\x1EF5','\x1EF4'),
			('\x1EF7','\x1EF6'),
			('\x1EF9','\x1EF8'),
			('\x1F00','\x1F08'),
			('\x1F01','\x1F09'),
			('\x1F02','\x1F0A'),
			('\x1F03','\x1F0B'),
			('\x1F04','\x1F0C'),
			('\x1F05','\x1F0D'),
			('\x1F06','\x1F0E'),
			('\x1F07','\x1F0F'),
			('\x1F10','\x1F18'),
			('\x1F11','\x1F19'),
			('\x1F12','\x1F1A'),
			('\x1F13','\x1F1B'),
			('\x1F14','\x1F1C'),
			('\x1F15','\x1F1D'),
			('\x1F20','\x1F28'),
			('\x1F21','\x1F29'),
			('\x1F22','\x1F2A'),
			('\x1F23','\x1F2B'),
			('\x1F24','\x1F2C'),
			('\x1F25','\x1F2D'),
			('\x1F26','\x1F2E'),
			('\x1F27','\x1F2F'),
			('\x1F30','\x1F38'),
			('\x1F31','\x1F39'),
			('\x1F32','\x1F3A'),
			('\x1F33','\x1F3B'),
			('\x1F34','\x1F3C'),
			('\x1F35','\x1F3D'),
			('\x1F36','\x1F3E'),
			('\x1F37','\x1F3F'),
			('\x1F40','\x1F48'),
			('\x1F41','\x1F49'),
			('\x1F42','\x1F4A'),
			('\x1F43','\x1F4B'),
			('\x1F44','\x1F4C'),
			('\x1F45','\x1F4D'),
			('\x1F51','\x1F59'),
			('\x1F53','\x1F5B'),
			('\x1F55','\x1F5D'),
			('\x1F57','\x1F5F'),
			('\x1F60','\x1F68'),
			('\x1F61','\x1F69'),
			('\x1F62','\x1F6A'),
			('\x1F63','\x1F6B'),
			('\x1F64','\x1F6C'),
			('\x1F65','\x1F6D'),
			('\x1F66','\x1F6E'),
			('\x1F67','\x1F6F'),
			('\x1F70','\x1FBA'),
			('\x1F71','\x1FBB'),
			('\x1F72','\x1FC8'),
			('\x1F73','\x1FC9'),
			('\x1F74','\x1FCA'),
			('\x1F75','\x1FCB'),
			('\x1F76','\x1FDA'),
			('\x1F77','\x1FDB'),
			('\x1F78','\x1FF8'),
			('\x1F79','\x1FF9'),
			('\x1F7A','\x1FEA'),
			('\x1F7B','\x1FEB'),
			('\x1F7C','\x1FFA'),
			('\x1F7D','\x1FFB'),
			('\x1F80','\x1F88'),
			('\x1F81','\x1F89'),
			('\x1F82','\x1F8A'),
			('\x1F83','\x1F8B'),
			('\x1F84','\x1F8C'),
			('\x1F85','\x1F8D'),
			('\x1F86','\x1F8E'),
			('\x1F87','\x1F8F'),
			('\x1F90','\x1F98'),
			('\x1F91','\x1F99'),
			('\x1F92','\x1F9A'),
			('\x1F93','\x1F9B'),
			('\x1F94','\x1F9C'),
			('\x1F95','\x1F9D'),
			('\x1F96','\x1F9E'),
			('\x1F97','\x1F9F'),
			('\x1FA0','\x1FA8'),
			('\x1FA1','\x1FA9'),
			('\x1FA2','\x1FAA'),
			('\x1FA3','\x1FAB'),
			('\x1FA4','\x1FAC'),
			('\x1FA5','\x1FAD'),
			('\x1FA6','\x1FAE'),
			('\x1FA7','\x1FAF'),
			('\x1FB0','\x1FB8'),
			('\x1FB1','\x1FB9'),
			('\x1FB3','\x1FBC'),
			('\x1FBE','\x0399'),
			('\x1FC3','\x1FCC'),
			('\x1FD0','\x1FD8'),
			('\x1FD1','\x1FD9'),
			('\x1FE0','\x1FE8'),
			('\x1FE1','\x1FE9'),
			('\x1FE5','\x1FEC'),
			('\x1FF3','\x1FFC'),
			('\x2170','\x2160'),
			('\x2171','\x2161'),
			('\x2172','\x2162'),
			('\x2173','\x2163'),
			('\x2174','\x2164'),
			('\x2175','\x2165'),
			('\x2176','\x2166'),
			('\x2177','\x2167'),
			('\x2178','\x2168'),
			('\x2179','\x2169'),
			('\x217A','\x216A'),
			('\x217B','\x216B'),
			('\x217C','\x216C'),
			('\x217D','\x216D'),
			('\x217E','\x216E'),
			('\x217F','\x216F'),
			('\x24D0','\x24B6'),
			('\x24D1','\x24B7'),
			('\x24D2','\x24B8'),
			('\x24D3','\x24B9'),
			('\x24D4','\x24BA'),
			('\x24D5','\x24BB'),
			('\x24D6','\x24BC'),
			('\x24D7','\x24BD'),
			('\x24D8','\x24BE'),
			('\x24D9','\x24BF'),
			('\x24DA','\x24C0'),
			('\x24DB','\x24C1'),
			('\x24DC','\x24C2'),
			('\x24DD','\x24C3'),
			('\x24DE','\x24C4'),
			('\x24DF','\x24C5'),
			('\x24E0','\x24C6'),
			('\x24E1','\x24C7'),
			('\x24E2','\x24C8'),
			('\x24E3','\x24C9'),
			('\x24E4','\x24CA'),
			('\x24E5','\x24CB'),
			('\x24E6','\x24CC'),
			('\x24E7','\x24CD'),
			('\x24E8','\x24CE'),
			('\x24E9','\x24CF'),
			('\xFF41','\xFF21'),
			('\xFF42','\xFF22'),
			('\xFF43','\xFF23'),
			('\xFF44','\xFF24'),
			('\xFF45','\xFF25'),
			('\xFF46','\xFF26'),
			('\xFF47','\xFF27'),
			('\xFF48','\xFF28'),
			('\xFF49','\xFF29'),
			('\xFF4A','\xFF2A'),
			('\xFF4B','\xFF2B'),
			('\xFF4C','\xFF2C'),
			('\xFF4D','\xFF2D'),
			('\xFF4E','\xFF2E'),
			('\xFF4F','\xFF2F'),
			('\xFF50','\xFF30'),
			('\xFF51','\xFF31'),
			('\xFF52','\xFF32'),
			('\xFF53','\xFF33'),
			('\xFF54','\xFF34'),
			('\xFF55','\xFF35'),
			('\xFF56','\xFF36'),
			('\xFF57','\xFF37'),
			('\xFF58','\xFF38'),
			('\xFF59','\xFF39'),
			('\xFF5A','\xFF3A'),
			('\x10428','\x10400'),
			('\x10429','\x10401'),
			('\x1042A','\x10402'),
			('\x1042B','\x10403'),
			('\x1042C','\x10404'),
			('\x1042D','\x10405'),
			('\x1042E','\x10406'),
			('\x1042F','\x10407'),
			('\x10430','\x10408'),
			('\x10431','\x10409'),
			('\x10432','\x1040A'),
			('\x10433','\x1040B'),
			('\x10434','\x1040C'),
			('\x10435','\x1040D'),
			('\x10436','\x1040E'),
			('\x10437','\x1040F'),
			('\x10438','\x10410'),
			('\x10439','\x10411'),
			('\x1043A','\x10412'),
			('\x1043B','\x10413'),
			('\x1043C','\x10414'),
			('\x1043D','\x10415'),
			('\x1043E','\x10416'),
			('\x1043F','\x10417'),
			('\x10440','\x10418'),
			('\x10441','\x10419'),
			('\x10442','\x1041A'),
			('\x10443','\x1041B'),
			('\x10444','\x1041C'),
			('\x10445','\x1041D'),
			('\x10446','\x1041E'),
			('\x10447','\x1041F'),
			('\x10448','\x10420'),
			('\x10449','\x10421'),
			('\x1044A','\x10422'),
			('\x1044B','\x10423'),
			('\x1044C','\x10424'),
			('\x1044D','\x10425'),
			('\x0','\x0')	-- just to terminate list
		];
	};
}