--- /dev/null
+bool IsIdentifierContinue(unsigned v){return false||v>=0x0030&&0x0039>=v||v>=0x0041&&0x005A>=v||v==0x005F||v>=0x0061&&0x007A>=v||v==0x00AA||v==0x00B5||v==0x00B7||v==0x00BA||v>=0x00C0&&0x00D6>=v||v>=0x00D8&&0x00F6>=v||v>=0x00F8&&0x01BA>=v||v==0x01BB||v>=0x01BC&&0x01BF>=v||v>=0x01C0&&0x01C3>=v||v>=0x01C4&&0x0293>=v||v==0x0294||v>=0x0295&&0x02AF>=v||v>=0x02B0&&0x02C1>=v||v>=0x02C6&&0x02D1>=v||v>=0x02E0&&0x02E4>=v||v==0x02EC||v==0x02EE||v>=0x0300&&0x036F>=v||v>=0x0370&&0x0373>=v||v==0x0374||v>=0x0376&&0x0377>=v||v==0x037A||v>=0x037B&&0x037D>=v||v==0x037F||v==0x0386||v==0x0387||v>=0x0388&&0x038A>=v||v==0x038C||v>=0x038E&&0x03A1>=v||v>=0x03A3&&0x03F5>=v||v>=0x03F7&&0x0481>=v||v>=0x0483&&0x0487>=v||v>=0x048A&&0x052F>=v||v>=0x0531&&0x0556>=v||v==0x0559||v>=0x0561&&0x0587>=v||v>=0x0591&&0x05BD>=v||v==0x05BF||v>=0x05C1&&0x05C2>=v||v>=0x05C4&&0x05C5>=v||v==0x05C7||v>=0x05D0&&0x05EA>=v||v>=0x05F0&&0x05F2>=v||v>=0x0610&&0x061A>=v||v>=0x0620&&0x063F>=v||v==0x0640||v>=0x0641&&0x064A>=v||v>=0x064B&&0x065F>=v||v>=0x0660&&0x0669>=v||v>=0x066E&&0x066F>=v||v==0x0670||v>=0x0671&&0x06D3>=v||v==0x06D5||v>=0x06D6&&0x06DC>=v||v>=0x06DF&&0x06E4>=v||v>=0x06E5&&0x06E6>=v||v>=0x06E7&&0x06E8>=v||v>=0x06EA&&0x06ED>=v||v>=0x06EE&&0x06EF>=v||v>=0x06F0&&0x06F9>=v||v>=0x06FA&&0x06FC>=v||v==0x06FF||v==0x0710||v==0x0711||v>=0x0712&&0x072F>=v||v>=0x0730&&0x074A>=v||v>=0x074D&&0x07A5>=v||v>=0x07A6&&0x07B0>=v||v==0x07B1||v>=0x07C0&&0x07C9>=v||v>=0x07CA&&0x07EA>=v||v>=0x07EB&&0x07F3>=v||v>=0x07F4&&0x07F5>=v||v==0x07FA||v>=0x0800&&0x0815>=v||v>=0x0816&&0x0819>=v||v==0x081A||v>=0x081B&&0x0823>=v||v==0x0824||v>=0x0825&&0x0827>=v||v==0x0828||v>=0x0829&&0x082D>=v||v>=0x0840&&0x0858>=v||v>=0x0859&&0x085B>=v||v>=0x08A0&&0x08B4>=v||v>=0x08E3&&0x0902>=v||v==0x0903||v>=0x0904&&0x0939>=v||v==0x093A||v==0x093B||v==0x093C||v==0x093D||v>=0x093E&&0x0940>=v||v>=0x0941&&0x0948>=v||v>=0x0949&&0x094C>=v||v==0x094D||v>=0x094E&&0x094F>=v||v==0x0950||v>=0x0951&&0x0957>=v||v>=0x0958&&0x0961>=v||v>=0x0962&&0x0963>=v||v>=0x0966&&0x096F>=v||v==0x0971||v>=0x0972&&0x0980>=v||v==0x0981||v>=0x0982&&0x0983>=v||v>=0x0985&&0x098C>=v||v>=0x098F&&0x0990>=v||v>=0x0993&&0x09A8>=v||v>=0x09AA&&0x09B0>=v||v==0x09B2||v>=0x09B6&&0x09B9>=v||v==0x09BC||v==0x09BD||v>=0x09BE&&0x09C0>=v||v>=0x09C1&&0x09C4>=v||v>=0x09C7&&0x09C8>=v||v>=0x09CB&&0x09CC>=v||v==0x09CD||v==0x09CE||v==0x09D7||v>=0x09DC&&0x09DD>=v||v>=0x09DF&&0x09E1>=v||v>=0x09E2&&0x09E3>=v||v>=0x09E6&&0x09EF>=v||v>=0x09F0&&0x09F1>=v||v>=0x0A01&&0x0A02>=v||v==0x0A03||v>=0x0A05&&0x0A0A>=v||v>=0x0A0F&&0x0A10>=v||v>=0x0A13&&0x0A28>=v||v>=0x0A2A&&0x0A30>=v||v>=0x0A32&&0x0A33>=v||v>=0x0A35&&0x0A36>=v||v>=0x0A38&&0x0A39>=v||v==0x0A3C||v>=0x0A3E&&0x0A40>=v||v>=0x0A41&&0x0A42>=v||v>=0x0A47&&0x0A48>=v||v>=0x0A4B&&0x0A4D>=v||v==0x0A51||v>=0x0A59&&0x0A5C>=v||v==0x0A5E||v>=0x0A66&&0x0A6F>=v||v>=0x0A70&&0x0A71>=v||v>=0x0A72&&0x0A74>=v||v==0x0A75||v>=0x0A81&&0x0A82>=v||v==0x0A83||v>=0x0A85&&0x0A8D>=v||v>=0x0A8F&&0x0A91>=v||v>=0x0A93&&0x0AA8>=v||v>=0x0AAA&&0x0AB0>=v||v>=0x0AB2&&0x0AB3>=v||v>=0x0AB5&&0x0AB9>=v||v==0x0ABC||v==0x0ABD||v>=0x0ABE&&0x0AC0>=v||v>=0x0AC1&&0x0AC5>=v||v>=0x0AC7&&0x0AC8>=v||v==0x0AC9||v>=0x0ACB&&0x0ACC>=v||v==0x0ACD||v==0x0AD0||v>=0x0AE0&&0x0AE1>=v||v>=0x0AE2&&0x0AE3>=v||v>=0x0AE6&&0x0AEF>=v||v==0x0AF9||v==0x0B01||v>=0x0B02&&0x0B03>=v||v>=0x0B05&&0x0B0C>=v||v>=0x0B0F&&0x0B10>=v||v>=0x0B13&&0x0B28>=v||v>=0x0B2A&&0x0B30>=v||v>=0x0B32&&0x0B33>=v||v>=0x0B35&&0x0B39>=v||v==0x0B3C||v==0x0B3D||v==0x0B3E||v==0x0B3F||v==0x0B40||v>=0x0B41&&0x0B44>=v||v>=0x0B47&&0x0B48>=v||v>=0x0B4B&&0x0B4C>=v||v==0x0B4D||v==0x0B56||v==0x0B57||v>=0x0B5C&&0x0B5D>=v||v>=0x0B5F&&0x0B61>=v||v>=0x0B62&&0x0B63>=v||v>=0x0B66&&0x0B6F>=v||v==0x0B71||v==0x0B82||v==0x0B83||v>=0x0B85&&0x0B8A>=v||v>=0x0B8E&&0x0B90>=v||v>=0x0B92&&0x0B95>=v||v>=0x0B99&&0x0B9A>=v||v==0x0B9C||v>=0x0B9E&&0x0B9F>=v||v>=0x0BA3&&0x0BA4>=v||v>=0x0BA8&&0x0BAA>=v||v>=0x0BAE&&0x0BB9>=v||v>=0x0BBE&&0x0BBF>=v||v==0x0BC0||v>=0x0BC1&&0x0BC2>=v||v>=0x0BC6&&0x0BC8>=v||v>=0x0BCA&&0x0BCC>=v||v==0x0BCD||v==0x0BD0||v==0x0BD7||v>=0x0BE6&&0x0BEF>=v||v==0x0C00||v>=0x0C01&&0x0C03>=v||v>=0x0C05&&0x0C0C>=v||v>=0x0C0E&&0x0C10>=v||v>=0x0C12&&0x0C28>=v||v>=0x0C2A&&0x0C39>=v||v==0x0C3D||v>=0x0C3E&&0x0C40>=v||v>=0x0C41&&0x0C44>=v||v>=0x0C46&&0x0C48>=v||v>=0x0C4A&&0x0C4D>=v||v>=0x0C55&&0x0C56>=v||v>=0x0C58&&0x0C5A>=v||v>=0x0C60&&0x0C61>=v||v>=0x0C62&&0x0C63>=v||v>=0x0C66&&0x0C6F>=v||v==0x0C81||v>=0x0C82&&0x0C83>=v||v>=0x0C85&&0x0C8C>=v||v>=0x0C8E&&0x0C90>=v||v>=0x0C92&&0x0CA8>=v||v>=0x0CAA&&0x0CB3>=v||v>=0x0CB5&&0x0CB9>=v||v==0x0CBC||v==0x0CBD||v==0x0CBE||v==0x0CBF||v>=0x0CC0&&0x0CC4>=v||v==0x0CC6||v>=0x0CC7&&0x0CC8>=v||v>=0x0CCA&&0x0CCB>=v||v>=0x0CCC&&0x0CCD>=v||v>=0x0CD5&&0x0CD6>=v||v==0x0CDE||v>=0x0CE0&&0x0CE1>=v||v>=0x0CE2&&0x0CE3>=v||v>=0x0CE6&&0x0CEF>=v||v>=0x0CF1&&0x0CF2>=v||v==0x0D01||v>=0x0D02&&0x0D03>=v||v>=0x0D05&&0x0D0C>=v||v>=0x0D0E&&0x0D10>=v||v>=0x0D12&&0x0D3A>=v||v==0x0D3D||v>=0x0D3E&&0x0D40>=v||v>=0x0D41&&0x0D44>=v||v>=0x0D46&&0x0D48>=v||v>=0x0D4A&&0x0D4C>=v||v==0x0D4D||v==0x0D4E||v==0x0D57||v>=0x0D5F&&0x0D61>=v||v>=0x0D62&&0x0D63>=v||v>=0x0D66&&0x0D6F>=v||v>=0x0D7A&&0x0D7F>=v||v>=0x0D82&&0x0D83>=v||v>=0x0D85&&0x0D96>=v||v>=0x0D9A&&0x0DB1>=v||v>=0x0DB3&&0x0DBB>=v||v==0x0DBD||v>=0x0DC0&&0x0DC6>=v||v==0x0DCA||v>=0x0DCF&&0x0DD1>=v||v>=0x0DD2&&0x0DD4>=v||v==0x0DD6||v>=0x0DD8&&0x0DDF>=v||v>=0x0DE6&&0x0DEF>=v||v>=0x0DF2&&0x0DF3>=v||v>=0x0E01&&0x0E30>=v||v==0x0E31||v>=0x0E32&&0x0E33>=v||v>=0x0E34&&0x0E3A>=v||v>=0x0E40&&0x0E45>=v||v==0x0E46||v>=0x0E47&&0x0E4E>=v||v>=0x0E50&&0x0E59>=v||v>=0x0E81&&0x0E82>=v||v==0x0E84||v>=0x0E87&&0x0E88>=v||v==0x0E8A||v==0x0E8D||v>=0x0E94&&0x0E97>=v||v>=0x0E99&&0x0E9F>=v||v>=0x0EA1&&0x0EA3>=v||v==0x0EA5||v==0x0EA7||v>=0x0EAA&&0x0EAB>=v||v>=0x0EAD&&0x0EB0>=v||v==0x0EB1||v>=0x0EB2&&0x0EB3>=v||v>=0x0EB4&&0x0EB9>=v||v>=0x0EBB&&0x0EBC>=v||v==0x0EBD||v>=0x0EC0&&0x0EC4>=v||v==0x0EC6||v>=0x0EC8&&0x0ECD>=v||v>=0x0ED0&&0x0ED9>=v||v>=0x0EDC&&0x0EDF>=v||v==0x0F00||v>=0x0F18&&0x0F19>=v||v>=0x0F20&&0x0F29>=v||v==0x0F35||v==0x0F37||v==0x0F39||v>=0x0F3E&&0x0F3F>=v||v>=0x0F40&&0x0F47>=v||v>=0x0F49&&0x0F6C>=v||v>=0x0F71&&0x0F7E>=v||v==0x0F7F||v>=0x0F80&&0x0F84>=v||v>=0x0F86&&0x0F87>=v||v>=0x0F88&&0x0F8C>=v||v>=0x0F8D&&0x0F97>=v||v>=0x0F99&&0x0FBC>=v||v==0x0FC6||v>=0x1000&&0x102A>=v||v>=0x102B&&0x102C>=v||v>=0x102D&&0x1030>=v||v==0x1031||v>=0x1032&&0x1037>=v||v==0x1038||v>=0x1039&&0x103A>=v||v>=0x103B&&0x103C>=v||v>=0x103D&&0x103E>=v||v==0x103F||v>=0x1040&&0x1049>=v||v>=0x1050&&0x1055>=v||v>=0x1056&&0x1057>=v||v>=0x1058&&0x1059>=v||v>=0x105A&&0x105D>=v||v>=0x105E&&0x1060>=v||v==0x1061||v>=0x1062&&0x1064>=v||v>=0x1065&&0x1066>=v||v>=0x1067&&0x106D>=v||v>=0x106E&&0x1070>=v||v>=0x1071&&0x1074>=v||v>=0x1075&&0x1081>=v||v==0x1082||v>=0x1083&&0x1084>=v||v>=0x1085&&0x1086>=v||v>=0x1087&&0x108C>=v||v==0x108D||v==0x108E||v==0x108F||v>=0x1090&&0x1099>=v||v>=0x109A&&0x109C>=v||v==0x109D||v>=0x10A0&&0x10C5>=v||v==0x10C7||v==0x10CD||v>=0x10D0&&0x10FA>=v||v==0x10FC||v>=0x10FD&&0x1248>=v||v>=0x124A&&0x124D>=v||v>=0x1250&&0x1256>=v||v==0x1258||v>=0x125A&&0x125D>=v||v>=0x1260&&0x1288>=v||v>=0x128A&&0x128D>=v||v>=0x1290&&0x12B0>=v||v>=0x12B2&&0x12B5>=v||v>=0x12B8&&0x12BE>=v||v==0x12C0||v>=0x12C2&&0x12C5>=v||v>=0x12C8&&0x12D6>=v||v>=0x12D8&&0x1310>=v||v>=0x1312&&0x1315>=v||v>=0x1318&&0x135A>=v||v>=0x135D&&0x135F>=v||v>=0x1369&&0x1371>=v||v>=0x1380&&0x138F>=v||v>=0x13A0&&0x13F5>=v||v>=0x13F8&&0x13FD>=v||v>=0x1401&&0x166C>=v||v>=0x166F&&0x167F>=v||v>=0x1681&&0x169A>=v||v>=0x16A0&&0x16EA>=v||v>=0x16EE&&0x16F0>=v||v>=0x16F1&&0x16F8>=v||v>=0x1700&&0x170C>=v||v>=0x170E&&0x1711>=v||v>=0x1712&&0x1714>=v||v>=0x1720&&0x1731>=v||v>=0x1732&&0x1734>=v||v>=0x1740&&0x1751>=v||v>=0x1752&&0x1753>=v||v>=0x1760&&0x176C>=v||v>=0x176E&&0x1770>=v||v>=0x1772&&0x1773>=v||v>=0x1780&&0x17B3>=v||v>=0x17B4&&0x17B5>=v||v==0x17B6||v>=0x17B7&&0x17BD>=v||v>=0x17BE&&0x17C5>=v||v==0x17C6||v>=0x17C7&&0x17C8>=v||v>=0x17C9&&0x17D3>=v||v==0x17D7||v==0x17DC||v==0x17DD||v>=0x17E0&&0x17E9>=v||v>=0x180B&&0x180D>=v||v>=0x1810&&0x1819>=v||v>=0x1820&&0x1842>=v||v==0x1843||v>=0x1844&&0x1877>=v||v>=0x1880&&0x18A8>=v||v==0x18A9||v==0x18AA||v>=0x18B0&&0x18F5>=v||v>=0x1900&&0x191E>=v||v>=0x1920&&0x1922>=v||v>=0x1923&&0x1926>=v||v>=0x1927&&0x1928>=v||v>=0x1929&&0x192B>=v||v>=0x1930&&0x1931>=v||v==0x1932||v>=0x1933&&0x1938>=v||v>=0x1939&&0x193B>=v||v>=0x1946&&0x194F>=v||v>=0x1950&&0x196D>=v||v>=0x1970&&0x1974>=v||v>=0x1980&&0x19AB>=v||v>=0x19B0&&0x19C9>=v||v>=0x19D0&&0x19D9>=v||v==0x19DA||v>=0x1A00&&0x1A16>=v||v>=0x1A17&&0x1A18>=v||v>=0x1A19&&0x1A1A>=v||v==0x1A1B||v>=0x1A20&&0x1A54>=v||v==0x1A55||v==0x1A56||v==0x1A57||v>=0x1A58&&0x1A5E>=v||v==0x1A60||v==0x1A61||v==0x1A62||v>=0x1A63&&0x1A64>=v||v>=0x1A65&&0x1A6C>=v||v>=0x1A6D&&0x1A72>=v||v>=0x1A73&&0x1A7C>=v||v==0x1A7F||v>=0x1A80&&0x1A89>=v||v>=0x1A90&&0x1A99>=v||v==0x1AA7||v>=0x1AB0&&0x1ABD>=v||v>=0x1B00&&0x1B03>=v||v==0x1B04||v>=0x1B05&&0x1B33>=v||v==0x1B34||v==0x1B35||v>=0x1B36&&0x1B3A>=v||v==0x1B3B||v==0x1B3C||v>=0x1B3D&&0x1B41>=v||v==0x1B42||v>=0x1B43&&0x1B44>=v||v>=0x1B45&&0x1B4B>=v||v>=0x1B50&&0x1B59>=v||v>=0x1B6B&&0x1B73>=v||v>=0x1B80&&0x1B81>=v||v==0x1B82||v>=0x1B83&&0x1BA0>=v||v==0x1BA1||v>=0x1BA2&&0x1BA5>=v||v>=0x1BA6&&0x1BA7>=v||v>=0x1BA8&&0x1BA9>=v||v==0x1BAA||v>=0x1BAB&&0x1BAD>=v||v>=0x1BAE&&0x1BAF>=v||v>=0x1BB0&&0x1BB9>=v||v>=0x1BBA&&0x1BE5>=v||v==0x1BE6||v==0x1BE7||v>=0x1BE8&&0x1BE9>=v||v>=0x1BEA&&0x1BEC>=v||v==0x1BED||v==0x1BEE||v>=0x1BEF&&0x1BF1>=v||v>=0x1BF2&&0x1BF3>=v||v>=0x1C00&&0x1C23>=v||v>=0x1C24&&0x1C2B>=v||v>=0x1C2C&&0x1C33>=v||v>=0x1C34&&0x1C35>=v||v>=0x1C36&&0x1C37>=v||v>=0x1C40&&0x1C49>=v||v>=0x1C4D&&0x1C4F>=v||v>=0x1C50&&0x1C59>=v||v>=0x1C5A&&0x1C77>=v||v>=0x1C78&&0x1C7D>=v||v>=0x1CD0&&0x1CD2>=v||v>=0x1CD4&&0x1CE0>=v||v==0x1CE1||v>=0x1CE2&&0x1CE8>=v||v>=0x1CE9&&0x1CEC>=v||v==0x1CED||v>=0x1CEE&&0x1CF1>=v||v>=0x1CF2&&0x1CF3>=v||v==0x1CF4||v>=0x1CF5&&0x1CF6>=v||v>=0x1CF8&&0x1CF9>=v||v>=0x1D00&&0x1D2B>=v||v>=0x1D2C&&0x1D6A>=v||v>=0x1D6B&&0x1D77>=v||v==0x1D78||v>=0x1D79&&0x1D9A>=v||v>=0x1D9B&&0x1DBF>=v||v>=0x1DC0&&0x1DF5>=v||v>=0x1DFC&&0x1DFF>=v||v>=0x1E00&&0x1F15>=v||v>=0x1F18&&0x1F1D>=v||v>=0x1F20&&0x1F45>=v||v>=0x1F48&&0x1F4D>=v||v>=0x1F50&&0x1F57>=v||v==0x1F59||v==0x1F5B||v==0x1F5D||v>=0x1F5F&&0x1F7D>=v||v>=0x1F80&&0x1FB4>=v||v>=0x1FB6&&0x1FBC>=v||v==0x1FBE||v>=0x1FC2&&0x1FC4>=v||v>=0x1FC6&&0x1FCC>=v||v>=0x1FD0&&0x1FD3>=v||v>=0x1FD6&&0x1FDB>=v||v>=0x1FE0&&0x1FEC>=v||v>=0x1FF2&&0x1FF4>=v||v>=0x1FF6&&0x1FFC>=v||v>=0x203F&&0x2040>=v||v==0x2054||v==0x2071||v==0x207F||v>=0x2090&&0x209C>=v||v>=0x20D0&&0x20DC>=v||v==0x20E1||v>=0x20E5&&0x20F0>=v||v==0x2102||v==0x2107||v>=0x210A&&0x2113>=v||v==0x2115||v==0x2118||v>=0x2119&&0x211D>=v||v==0x2124||v==0x2126||v==0x2128||v>=0x212A&&0x212D>=v||v==0x212E||v>=0x212F&&0x2134>=v||v>=0x2135&&0x2138>=v||v==0x2139||v>=0x213C&&0x213F>=v||v>=0x2145&&0x2149>=v||v==0x214E||v>=0x2160&&0x2182>=v||v>=0x2183&&0x2184>=v||v>=0x2185&&0x2188>=v||v>=0x2C00&&0x2C2E>=v||v>=0x2C30&&0x2C5E>=v||v>=0x2C60&&0x2C7B>=v||v>=0x2C7C&&0x2C7D>=v||v>=0x2C7E&&0x2CE4>=v||v>=0x2CEB&&0x2CEE>=v||v>=0x2CEF&&0x2CF1>=v||v>=0x2CF2&&0x2CF3>=v||v>=0x2D00&&0x2D25>=v||v==0x2D27||v==0x2D2D||v>=0x2D30&&0x2D67>=v||v==0x2D6F||v==0x2D7F||v>=0x2D80&&0x2D96>=v||v>=0x2DA0&&0x2DA6>=v||v>=0x2DA8&&0x2DAE>=v||v>=0x2DB0&&0x2DB6>=v||v>=0x2DB8&&0x2DBE>=v||v>=0x2DC0&&0x2DC6>=v||v>=0x2DC8&&0x2DCE>=v||v>=0x2DD0&&0x2DD6>=v||v>=0x2DD8&&0x2DDE>=v||v>=0x2DE0&&0x2DFF>=v||v==0x3005||v==0x3006||v==0x3007||v>=0x3021&&0x3029>=v||v>=0x302A&&0x302D>=v||v>=0x302E&&0x302F>=v||v>=0x3031&&0x3035>=v||v>=0x3038&&0x303A>=v||v==0x303B||v==0x303C||v>=0x3041&&0x3096>=v||v>=0x3099&&0x309A>=v||v>=0x309B&&0x309C>=v||v>=0x309D&&0x309E>=v||v==0x309F||v>=0x30A1&&0x30FA>=v||v>=0x30FC&&0x30FE>=v||v==0x30FF||v>=0x3105&&0x312D>=v||v>=0x3131&&0x318E>=v||v>=0x31A0&&0x31BA>=v||v>=0x31F0&&0x31FF>=v||v>=0x3400&&0x4DB5>=v||v>=0x4E00&&0x9FD5>=v||v>=0xA000&&0xA014>=v||v==0xA015||v>=0xA016&&0xA48C>=v||v>=0xA4D0&&0xA4F7>=v||v>=0xA4F8&&0xA4FD>=v||v>=0xA500&&0xA60B>=v||v==0xA60C||v>=0xA610&&0xA61F>=v||v>=0xA620&&0xA629>=v||v>=0xA62A&&0xA62B>=v||v>=0xA640&&0xA66D>=v||v==0xA66E||v==0xA66F||v>=0xA674&&0xA67D>=v||v==0xA67F||v>=0xA680&&0xA69B>=v||v>=0xA69C&&0xA69D>=v||v>=0xA69E&&0xA69F>=v||v>=0xA6A0&&0xA6E5>=v||v>=0xA6E6&&0xA6EF>=v||v>=0xA6F0&&0xA6F1>=v||v>=0xA717&&0xA71F>=v||v>=0xA722&&0xA76F>=v||v==0xA770||v>=0xA771&&0xA787>=v||v==0xA788||v>=0xA78B&&0xA78E>=v||v==0xA78F||v>=0xA790&&0xA7AD>=v||v>=0xA7B0&&0xA7B7>=v||v==0xA7F7||v>=0xA7F8&&0xA7F9>=v||v==0xA7FA||v>=0xA7FB&&0xA801>=v||v==0xA802||v>=0xA803&&0xA805>=v||v==0xA806||v>=0xA807&&0xA80A>=v||v==0xA80B||v>=0xA80C&&0xA822>=v||v>=0xA823&&0xA824>=v||v>=0xA825&&0xA826>=v||v==0xA827||v>=0xA840&&0xA873>=v||v>=0xA880&&0xA881>=v||v>=0xA882&&0xA8B3>=v||v>=0xA8B4&&0xA8C3>=v||v==0xA8C4||v>=0xA8D0&&0xA8D9>=v||v>=0xA8E0&&0xA8F1>=v||v>=0xA8F2&&0xA8F7>=v||v==0xA8FB||v==0xA8FD||v>=0xA900&&0xA909>=v||v>=0xA90A&&0xA925>=v||v>=0xA926&&0xA92D>=v||v>=0xA930&&0xA946>=v||v>=0xA947&&0xA951>=v||v>=0xA952&&0xA953>=v||v>=0xA960&&0xA97C>=v||v>=0xA980&&0xA982>=v||v==0xA983||v>=0xA984&&0xA9B2>=v||v==0xA9B3||v>=0xA9B4&&0xA9B5>=v||v>=0xA9B6&&0xA9B9>=v||v>=0xA9BA&&0xA9BB>=v||v==0xA9BC||v>=0xA9BD&&0xA9C0>=v||v==0xA9CF||v>=0xA9D0&&0xA9D9>=v||v>=0xA9E0&&0xA9E4>=v||v==0xA9E5||v==0xA9E6||v>=0xA9E7&&0xA9EF>=v||v>=0xA9F0&&0xA9F9>=v||v>=0xA9FA&&0xA9FE>=v||v>=0xAA00&&0xAA28>=v||v>=0xAA29&&0xAA2E>=v||v>=0xAA2F&&0xAA30>=v||v>=0xAA31&&0xAA32>=v||v>=0xAA33&&0xAA34>=v||v>=0xAA35&&0xAA36>=v||v>=0xAA40&&0xAA42>=v||v==0xAA43||v>=0xAA44&&0xAA4B>=v||v==0xAA4C||v==0xAA4D||v>=0xAA50&&0xAA59>=v||v>=0xAA60&&0xAA6F>=v||v==0xAA70||v>=0xAA71&&0xAA76>=v||v==0xAA7A||v==0xAA7B||v==0xAA7C||v==0xAA7D||v>=0xAA7E&&0xAAAF>=v||v==0xAAB0||v==0xAAB1||v>=0xAAB2&&0xAAB4>=v||v>=0xAAB5&&0xAAB6>=v||v>=0xAAB7&&0xAAB8>=v||v>=0xAAB9&&0xAABD>=v||v>=0xAABE&&0xAABF>=v||v==0xAAC0||v==0xAAC1||v==0xAAC2||v>=0xAADB&&0xAADC>=v||v==0xAADD||v>=0xAAE0&&0xAAEA>=v||v==0xAAEB||v>=0xAAEC&&0xAAED>=v||v>=0xAAEE&&0xAAEF>=v||v==0xAAF2||v>=0xAAF3&&0xAAF4>=v||v==0xAAF5||v==0xAAF6||v>=0xAB01&&0xAB06>=v||v>=0xAB09&&0xAB0E>=v||v>=0xAB11&&0xAB16>=v||v>=0xAB20&&0xAB26>=v||v>=0xAB28&&0xAB2E>=v||v>=0xAB30&&0xAB5A>=v||v>=0xAB5C&&0xAB5F>=v||v>=0xAB60&&0xAB65>=v||v>=0xAB70&&0xABBF>=v||v>=0xABC0&&0xABE2>=v||v>=0xABE3&&0xABE4>=v||v==0xABE5||v>=0xABE6&&0xABE7>=v||v==0xABE8||v>=0xABE9&&0xABEA>=v||v==0xABEC||v==0xABED||v>=0xABF0&&0xABF9>=v||v>=0xAC00&&0xD7A3>=v||v>=0xD7B0&&0xD7C6>=v||v>=0xD7CB&&0xD7FB>=v||v>=0xF900&&0xFA6D>=v||v>=0xFA70&&0xFAD9>=v||v>=0xFB00&&0xFB06>=v||v>=0xFB13&&0xFB17>=v||v==0xFB1D||v==0xFB1E||v>=0xFB1F&&0xFB28>=v||v>=0xFB2A&&0xFB36>=v||v>=0xFB38&&0xFB3C>=v||v==0xFB3E||v>=0xFB40&&0xFB41>=v||v>=0xFB43&&0xFB44>=v||v>=0xFB46&&0xFBB1>=v||v>=0xFBD3&&0xFD3D>=v||v>=0xFD50&&0xFD8F>=v||v>=0xFD92&&0xFDC7>=v||v>=0xFDF0&&0xFDFB>=v||v>=0xFE00&&0xFE0F>=v||v>=0xFE20&&0xFE2F>=v||v>=0xFE33&&0xFE34>=v||v>=0xFE4D&&0xFE4F>=v||v>=0xFE70&&0xFE74>=v||v>=0xFE76&&0xFEFC>=v||v>=0xFF10&&0xFF19>=v||v>=0xFF21&&0xFF3A>=v||v==0xFF3F||v>=0xFF41&&0xFF5A>=v||v>=0xFF66&&0xFF6F>=v||v==0xFF70||v>=0xFF71&&0xFF9D>=v||v>=0xFF9E&&0xFF9F>=v||v>=0xFFA0&&0xFFBE>=v||v>=0xFFC2&&0xFFC7>=v||v>=0xFFCA&&0xFFCF>=v||v>=0xFFD2&&0xFFD7>=v||v>=0xFFDA&&0xFFDC>=v||v>=0x10000&&0x1000B>=v||v>=0x1000D&&0x10026>=v||v>=0x10028&&0x1003A>=v||v>=0x1003C&&0x1003D>=v||v>=0x1003F&&0x1004D>=v||v>=0x10050&&0x1005D>=v||v>=0x10080&&0x100FA>=v||v>=0x10140&&0x10174>=v||v==0x101FD||v>=0x10280&&0x1029C>=v||v>=0x102A0&&0x102D0>=v||v==0x102E0||v>=0x10300&&0x1031F>=v||v>=0x10330&&0x10340>=v||v==0x10341||v>=0x10342&&0x10349>=v||v==0x1034A||v>=0x10350&&0x10375>=v||v>=0x10376&&0x1037A>=v||v>=0x10380&&0x1039D>=v||v>=0x103A0&&0x103C3>=v||v>=0x103C8&&0x103CF>=v||v>=0x103D1&&0x103D5>=v||v>=0x10400&&0x1044F>=v||v>=0x10450&&0x1049D>=v||v>=0x104A0&&0x104A9>=v||v>=0x10500&&0x10527>=v||v>=0x10530&&0x10563>=v||v>=0x10600&&0x10736>=v||v>=0x10740&&0x10755>=v||v>=0x10760&&0x10767>=v||v>=0x10800&&0x10805>=v||v==0x10808||v>=0x1080A&&0x10835>=v||v>=0x10837&&0x10838>=v||v==0x1083C||v>=0x1083F&&0x10855>=v||v>=0x10860&&0x10876>=v||v>=0x10880&&0x1089E>=v||v>=0x108E0&&0x108F2>=v||v>=0x108F4&&0x108F5>=v||v>=0x10900&&0x10915>=v||v>=0x10920&&0x10939>=v||v>=0x10980&&0x109B7>=v||v>=0x109BE&&0x109BF>=v||v==0x10A00||v>=0x10A01&&0x10A03>=v||v>=0x10A05&&0x10A06>=v||v>=0x10A0C&&0x10A0F>=v||v>=0x10A10&&0x10A13>=v||v>=0x10A15&&0x10A17>=v||v>=0x10A19&&0x10A33>=v||v>=0x10A38&&0x10A3A>=v||v==0x10A3F||v>=0x10A60&&0x10A7C>=v||v>=0x10A80&&0x10A9C>=v||v>=0x10AC0&&0x10AC7>=v||v>=0x10AC9&&0x10AE4>=v||v>=0x10AE5&&0x10AE6>=v||v>=0x10B00&&0x10B35>=v||v>=0x10B40&&0x10B55>=v||v>=0x10B60&&0x10B72>=v||v>=0x10B80&&0x10B91>=v||v>=0x10C00&&0x10C48>=v||v>=0x10C80&&0x10CB2>=v||v>=0x10CC0&&0x10CF2>=v||v==0x11000||v==0x11001||v==0x11002||v>=0x11003&&0x11037>=v||v>=0x11038&&0x11046>=v||v>=0x11066&&0x1106F>=v||v>=0x1107F&&0x11081>=v||v==0x11082||v>=0x11083&&0x110AF>=v||v>=0x110B0&&0x110B2>=v||v>=0x110B3&&0x110B6>=v||v>=0x110B7&&0x110B8>=v||v>=0x110B9&&0x110BA>=v||v>=0x110D0&&0x110E8>=v||v>=0x110F0&&0x110F9>=v||v>=0x11100&&0x11102>=v||v>=0x11103&&0x11126>=v||v>=0x11127&&0x1112B>=v||v==0x1112C||v>=0x1112D&&0x11134>=v||v>=0x11136&&0x1113F>=v||v>=0x11150&&0x11172>=v||v==0x11173||v==0x11176||v>=0x11180&&0x11181>=v||v==0x11182||v>=0x11183&&0x111B2>=v||v>=0x111B3&&0x111B5>=v||v>=0x111B6&&0x111BE>=v||v>=0x111BF&&0x111C0>=v||v>=0x111C1&&0x111C4>=v||v>=0x111CA&&0x111CC>=v||v>=0x111D0&&0x111D9>=v||v==0x111DA||v==0x111DC||v>=0x11200&&0x11211>=v||v>=0x11213&&0x1122B>=v||v>=0x1122C&&0x1122E>=v||v>=0x1122F&&0x11231>=v||v>=0x11232&&0x11233>=v||v==0x11234||v==0x11235||v>=0x11236&&0x11237>=v||v>=0x11280&&0x11286>=v||v==0x11288||v>=0x1128A&&0x1128D>=v||v>=0x1128F&&0x1129D>=v||v>=0x1129F&&0x112A8>=v||v>=0x112B0&&0x112DE>=v||v==0x112DF||v>=0x112E0&&0x112E2>=v||v>=0x112E3&&0x112EA>=v||v>=0x112F0&&0x112F9>=v||v>=0x11300&&0x11301>=v||v>=0x11302&&0x11303>=v||v>=0x11305&&0x1130C>=v||v>=0x1130F&&0x11310>=v||v>=0x11313&&0x11328>=v||v>=0x1132A&&0x11330>=v||v>=0x11332&&0x11333>=v||v>=0x11335&&0x11339>=v||v==0x1133C||v==0x1133D||v>=0x1133E&&0x1133F>=v||v==0x11340||v>=0x11341&&0x11344>=v||v>=0x11347&&0x11348>=v||v>=0x1134B&&0x1134D>=v||v==0x11350||v==0x11357||v>=0x1135D&&0x11361>=v||v>=0x11362&&0x11363>=v||v>=0x11366&&0x1136C>=v||v>=0x11370&&0x11374>=v||v>=0x11480&&0x114AF>=v||v>=0x114B0&&0x114B2>=v||v>=0x114B3&&0x114B8>=v||v==0x114B9||v==0x114BA||v>=0x114BB&&0x114BE>=v||v>=0x114BF&&0x114C0>=v||v==0x114C1||v>=0x114C2&&0x114C3>=v||v>=0x114C4&&0x114C5>=v||v==0x114C7||v>=0x114D0&&0x114D9>=v||v>=0x11580&&0x115AE>=v||v>=0x115AF&&0x115B1>=v||v>=0x115B2&&0x115B5>=v||v>=0x115B8&&0x115BB>=v||v>=0x115BC&&0x115BD>=v||v==0x115BE||v>=0x115BF&&0x115C0>=v||v>=0x115D8&&0x115DB>=v||v>=0x115DC&&0x115DD>=v||v>=0x11600&&0x1162F>=v||v>=0x11630&&0x11632>=v||v>=0x11633&&0x1163A>=v||v>=0x1163B&&0x1163C>=v||v==0x1163D||v==0x1163E||v>=0x1163F&&0x11640>=v||v==0x11644||v>=0x11650&&0x11659>=v||v>=0x11680&&0x116AA>=v||v==0x116AB||v==0x116AC||v==0x116AD||v>=0x116AE&&0x116AF>=v||v>=0x116B0&&0x116B5>=v||v==0x116B6||v==0x116B7||v>=0x116C0&&0x116C9>=v||v>=0x11700&&0x11719>=v||v>=0x1171D&&0x1171F>=v||v>=0x11720&&0x11721>=v||v>=0x11722&&0x11725>=v||v==0x11726||v>=0x11727&&0x1172B>=v||v>=0x11730&&0x11739>=v||v>=0x118A0&&0x118DF>=v||v>=0x118E0&&0x118E9>=v||v==0x118FF||v>=0x11AC0&&0x11AF8>=v||v>=0x12000&&0x12399>=v||v>=0x12400&&0x1246E>=v||v>=0x12480&&0x12543>=v||v>=0x13000&&0x1342E>=v||v>=0x14400&&0x14646>=v||v>=0x16800&&0x16A38>=v||v>=0x16A40&&0x16A5E>=v||v>=0x16A60&&0x16A69>=v||v>=0x16AD0&&0x16AED>=v||v>=0x16AF0&&0x16AF4>=v||v>=0x16B00&&0x16B2F>=v||v>=0x16B30&&0x16B36>=v||v>=0x16B40&&0x16B43>=v||v>=0x16B50&&0x16B59>=v||v>=0x16B63&&0x16B77>=v||v>=0x16B7D&&0x16B8F>=v||v>=0x16F00&&0x16F44>=v||v==0x16F50||v>=0x16F51&&0x16F7E>=v||v>=0x16F8F&&0x16F92>=v||v>=0x16F93&&0x16F9F>=v||v>=0x1B000&&0x1B001>=v||v>=0x1BC00&&0x1BC6A>=v||v>=0x1BC70&&0x1BC7C>=v||v>=0x1BC80&&0x1BC88>=v||v>=0x1BC90&&0x1BC99>=v||v>=0x1BC9D&&0x1BC9E>=v||v>=0x1D165&&0x1D166>=v||v>=0x1D167&&0x1D169>=v||v>=0x1D16D&&0x1D172>=v||v>=0x1D17B&&0x1D182>=v||v>=0x1D185&&0x1D18B>=v||v>=0x1D1AA&&0x1D1AD>=v||v>=0x1D242&&0x1D244>=v||v>=0x1D400&&0x1D454>=v||v>=0x1D456&&0x1D49C>=v||v>=0x1D49E&&0x1D49F>=v||v==0x1D4A2||v>=0x1D4A5&&0x1D4A6>=v||v>=0x1D4A9&&0x1D4AC>=v||v>=0x1D4AE&&0x1D4B9>=v||v==0x1D4BB||v>=0x1D4BD&&0x1D4C3>=v||v>=0x1D4C5&&0x1D505>=v||v>=0x1D507&&0x1D50A>=v||v>=0x1D50D&&0x1D514>=v||v>=0x1D516&&0x1D51C>=v||v>=0x1D51E&&0x1D539>=v||v>=0x1D53B&&0x1D53E>=v||v>=0x1D540&&0x1D544>=v||v==0x1D546||v>=0x1D54A&&0x1D550>=v||v>=0x1D552&&0x1D6A5>=v||v>=0x1D6A8&&0x1D6C0>=v||v>=0x1D6C2&&0x1D6DA>=v||v>=0x1D6DC&&0x1D6FA>=v||v>=0x1D6FC&&0x1D714>=v||v>=0x1D716&&0x1D734>=v||v>=0x1D736&&0x1D74E>=v||v>=0x1D750&&0x1D76E>=v||v>=0x1D770&&0x1D788>=v||v>=0x1D78A&&0x1D7A8>=v||v>=0x1D7AA&&0x1D7C2>=v||v>=0x1D7C4&&0x1D7CB>=v||v>=0x1D7CE&&0x1D7FF>=v||v>=0x1DA00&&0x1DA36>=v||v>=0x1DA3B&&0x1DA6C>=v||v==0x1DA75||v==0x1DA84||v>=0x1DA9B&&0x1DA9F>=v||v>=0x1DAA1&&0x1DAAF>=v||v>=0x1E800&&0x1E8C4>=v||v>=0x1E8D0&&0x1E8D6>=v||v>=0x1EE00&&0x1EE03>=v||v>=0x1EE05&&0x1EE1F>=v||v>=0x1EE21&&0x1EE22>=v||v==0x1EE24||v==0x1EE27||v>=0x1EE29&&0x1EE32>=v||v>=0x1EE34&&0x1EE37>=v||v==0x1EE39||v==0x1EE3B||v==0x1EE42||v==0x1EE47||v==0x1EE49||v==0x1EE4B||v>=0x1EE4D&&0x1EE4F>=v||v>=0x1EE51&&0x1EE52>=v||v==0x1EE54||v==0x1EE57||v==0x1EE59||v==0x1EE5B||v==0x1EE5D||v==0x1EE5F||v>=0x1EE61&&0x1EE62>=v||v==0x1EE64||v>=0x1EE67&&0x1EE6A>=v||v>=0x1EE6C&&0x1EE72>=v||v>=0x1EE74&&0x1EE77>=v||v>=0x1EE79&&0x1EE7C>=v||v==0x1EE7E||v>=0x1EE80&&0x1EE89>=v||v>=0x1EE8B&&0x1EE9B>=v||v>=0x1EEA1&&0x1EEA3>=v||v>=0x1EEA5&&0x1EEA9>=v||v>=0x1EEAB&&0x1EEBB>=v||v>=0x20000&&0x2A6D6>=v||v>=0x2A700&&0x2B734>=v||v>=0x2B740&&0x2B81D>=v||v>=0x2B820&&0x2CEA1>=v||v>=0x2F800&&0x2FA1D>=v||v>=0xE0100&&0xE01EF>=v||v==0x00B7||v==0x0387||v>=0x1369&&0x1371>=v||v==0x19DA||v==0x0024||v>=0x200C&&0x200D>=v;}
--- /dev/null
+bool IsIdentifierStart(unsigned v){return false||v>=0x0041&&0x005A>=v||v>=0x0061&&0x007A>=v||v==0x00AA||v==0x00B5||v==0x00BA||v>=0x00C0&&0x00D6>=v||v>=0x00D8&&0x00F6>=v||v>=0x00F8&&0x01BA>=v||v==0x01BB||v>=0x01BC&&0x01BF>=v||v>=0x01C0&&0x01C3>=v||v>=0x01C4&&0x0293>=v||v==0x0294||v>=0x0295&&0x02AF>=v||v>=0x02B0&&0x02C1>=v||v>=0x02C6&&0x02D1>=v||v>=0x02E0&&0x02E4>=v||v==0x02EC||v==0x02EE||v>=0x0370&&0x0373>=v||v==0x0374||v>=0x0376&&0x0377>=v||v==0x037A||v>=0x037B&&0x037D>=v||v==0x037F||v==0x0386||v>=0x0388&&0x038A>=v||v==0x038C||v>=0x038E&&0x03A1>=v||v>=0x03A3&&0x03F5>=v||v>=0x03F7&&0x0481>=v||v>=0x048A&&0x052F>=v||v>=0x0531&&0x0556>=v||v==0x0559||v>=0x0561&&0x0587>=v||v>=0x05D0&&0x05EA>=v||v>=0x05F0&&0x05F2>=v||v>=0x0620&&0x063F>=v||v==0x0640||v>=0x0641&&0x064A>=v||v>=0x066E&&0x066F>=v||v>=0x0671&&0x06D3>=v||v==0x06D5||v>=0x06E5&&0x06E6>=v||v>=0x06EE&&0x06EF>=v||v>=0x06FA&&0x06FC>=v||v==0x06FF||v==0x0710||v>=0x0712&&0x072F>=v||v>=0x074D&&0x07A5>=v||v==0x07B1||v>=0x07CA&&0x07EA>=v||v>=0x07F4&&0x07F5>=v||v==0x07FA||v>=0x0800&&0x0815>=v||v==0x081A||v==0x0824||v==0x0828||v>=0x0840&&0x0858>=v||v>=0x08A0&&0x08B4>=v||v>=0x0904&&0x0939>=v||v==0x093D||v==0x0950||v>=0x0958&&0x0961>=v||v==0x0971||v>=0x0972&&0x0980>=v||v>=0x0985&&0x098C>=v||v>=0x098F&&0x0990>=v||v>=0x0993&&0x09A8>=v||v>=0x09AA&&0x09B0>=v||v==0x09B2||v>=0x09B6&&0x09B9>=v||v==0x09BD||v==0x09CE||v>=0x09DC&&0x09DD>=v||v>=0x09DF&&0x09E1>=v||v>=0x09F0&&0x09F1>=v||v>=0x0A05&&0x0A0A>=v||v>=0x0A0F&&0x0A10>=v||v>=0x0A13&&0x0A28>=v||v>=0x0A2A&&0x0A30>=v||v>=0x0A32&&0x0A33>=v||v>=0x0A35&&0x0A36>=v||v>=0x0A38&&0x0A39>=v||v>=0x0A59&&0x0A5C>=v||v==0x0A5E||v>=0x0A72&&0x0A74>=v||v>=0x0A85&&0x0A8D>=v||v>=0x0A8F&&0x0A91>=v||v>=0x0A93&&0x0AA8>=v||v>=0x0AAA&&0x0AB0>=v||v>=0x0AB2&&0x0AB3>=v||v>=0x0AB5&&0x0AB9>=v||v==0x0ABD||v==0x0AD0||v>=0x0AE0&&0x0AE1>=v||v==0x0AF9||v>=0x0B05&&0x0B0C>=v||v>=0x0B0F&&0x0B10>=v||v>=0x0B13&&0x0B28>=v||v>=0x0B2A&&0x0B30>=v||v>=0x0B32&&0x0B33>=v||v>=0x0B35&&0x0B39>=v||v==0x0B3D||v>=0x0B5C&&0x0B5D>=v||v>=0x0B5F&&0x0B61>=v||v==0x0B71||v==0x0B83||v>=0x0B85&&0x0B8A>=v||v>=0x0B8E&&0x0B90>=v||v>=0x0B92&&0x0B95>=v||v>=0x0B99&&0x0B9A>=v||v==0x0B9C||v>=0x0B9E&&0x0B9F>=v||v>=0x0BA3&&0x0BA4>=v||v>=0x0BA8&&0x0BAA>=v||v>=0x0BAE&&0x0BB9>=v||v==0x0BD0||v>=0x0C05&&0x0C0C>=v||v>=0x0C0E&&0x0C10>=v||v>=0x0C12&&0x0C28>=v||v>=0x0C2A&&0x0C39>=v||v==0x0C3D||v>=0x0C58&&0x0C5A>=v||v>=0x0C60&&0x0C61>=v||v>=0x0C85&&0x0C8C>=v||v>=0x0C8E&&0x0C90>=v||v>=0x0C92&&0x0CA8>=v||v>=0x0CAA&&0x0CB3>=v||v>=0x0CB5&&0x0CB9>=v||v==0x0CBD||v==0x0CDE||v>=0x0CE0&&0x0CE1>=v||v>=0x0CF1&&0x0CF2>=v||v>=0x0D05&&0x0D0C>=v||v>=0x0D0E&&0x0D10>=v||v>=0x0D12&&0x0D3A>=v||v==0x0D3D||v==0x0D4E||v>=0x0D5F&&0x0D61>=v||v>=0x0D7A&&0x0D7F>=v||v>=0x0D85&&0x0D96>=v||v>=0x0D9A&&0x0DB1>=v||v>=0x0DB3&&0x0DBB>=v||v==0x0DBD||v>=0x0DC0&&0x0DC6>=v||v>=0x0E01&&0x0E30>=v||v>=0x0E32&&0x0E33>=v||v>=0x0E40&&0x0E45>=v||v==0x0E46||v>=0x0E81&&0x0E82>=v||v==0x0E84||v>=0x0E87&&0x0E88>=v||v==0x0E8A||v==0x0E8D||v>=0x0E94&&0x0E97>=v||v>=0x0E99&&0x0E9F>=v||v>=0x0EA1&&0x0EA3>=v||v==0x0EA5||v==0x0EA7||v>=0x0EAA&&0x0EAB>=v||v>=0x0EAD&&0x0EB0>=v||v>=0x0EB2&&0x0EB3>=v||v==0x0EBD||v>=0x0EC0&&0x0EC4>=v||v==0x0EC6||v>=0x0EDC&&0x0EDF>=v||v==0x0F00||v>=0x0F40&&0x0F47>=v||v>=0x0F49&&0x0F6C>=v||v>=0x0F88&&0x0F8C>=v||v>=0x1000&&0x102A>=v||v==0x103F||v>=0x1050&&0x1055>=v||v>=0x105A&&0x105D>=v||v==0x1061||v>=0x1065&&0x1066>=v||v>=0x106E&&0x1070>=v||v>=0x1075&&0x1081>=v||v==0x108E||v>=0x10A0&&0x10C5>=v||v==0x10C7||v==0x10CD||v>=0x10D0&&0x10FA>=v||v==0x10FC||v>=0x10FD&&0x1248>=v||v>=0x124A&&0x124D>=v||v>=0x1250&&0x1256>=v||v==0x1258||v>=0x125A&&0x125D>=v||v>=0x1260&&0x1288>=v||v>=0x128A&&0x128D>=v||v>=0x1290&&0x12B0>=v||v>=0x12B2&&0x12B5>=v||v>=0x12B8&&0x12BE>=v||v==0x12C0||v>=0x12C2&&0x12C5>=v||v>=0x12C8&&0x12D6>=v||v>=0x12D8&&0x1310>=v||v>=0x1312&&0x1315>=v||v>=0x1318&&0x135A>=v||v>=0x1380&&0x138F>=v||v>=0x13A0&&0x13F5>=v||v>=0x13F8&&0x13FD>=v||v>=0x1401&&0x166C>=v||v>=0x166F&&0x167F>=v||v>=0x1681&&0x169A>=v||v>=0x16A0&&0x16EA>=v||v>=0x16EE&&0x16F0>=v||v>=0x16F1&&0x16F8>=v||v>=0x1700&&0x170C>=v||v>=0x170E&&0x1711>=v||v>=0x1720&&0x1731>=v||v>=0x1740&&0x1751>=v||v>=0x1760&&0x176C>=v||v>=0x176E&&0x1770>=v||v>=0x1780&&0x17B3>=v||v==0x17D7||v==0x17DC||v>=0x1820&&0x1842>=v||v==0x1843||v>=0x1844&&0x1877>=v||v>=0x1880&&0x18A8>=v||v==0x18AA||v>=0x18B0&&0x18F5>=v||v>=0x1900&&0x191E>=v||v>=0x1950&&0x196D>=v||v>=0x1970&&0x1974>=v||v>=0x1980&&0x19AB>=v||v>=0x19B0&&0x19C9>=v||v>=0x1A00&&0x1A16>=v||v>=0x1A20&&0x1A54>=v||v==0x1AA7||v>=0x1B05&&0x1B33>=v||v>=0x1B45&&0x1B4B>=v||v>=0x1B83&&0x1BA0>=v||v>=0x1BAE&&0x1BAF>=v||v>=0x1BBA&&0x1BE5>=v||v>=0x1C00&&0x1C23>=v||v>=0x1C4D&&0x1C4F>=v||v>=0x1C5A&&0x1C77>=v||v>=0x1C78&&0x1C7D>=v||v>=0x1CE9&&0x1CEC>=v||v>=0x1CEE&&0x1CF1>=v||v>=0x1CF5&&0x1CF6>=v||v>=0x1D00&&0x1D2B>=v||v>=0x1D2C&&0x1D6A>=v||v>=0x1D6B&&0x1D77>=v||v==0x1D78||v>=0x1D79&&0x1D9A>=v||v>=0x1D9B&&0x1DBF>=v||v>=0x1E00&&0x1F15>=v||v>=0x1F18&&0x1F1D>=v||v>=0x1F20&&0x1F45>=v||v>=0x1F48&&0x1F4D>=v||v>=0x1F50&&0x1F57>=v||v==0x1F59||v==0x1F5B||v==0x1F5D||v>=0x1F5F&&0x1F7D>=v||v>=0x1F80&&0x1FB4>=v||v>=0x1FB6&&0x1FBC>=v||v==0x1FBE||v>=0x1FC2&&0x1FC4>=v||v>=0x1FC6&&0x1FCC>=v||v>=0x1FD0&&0x1FD3>=v||v>=0x1FD6&&0x1FDB>=v||v>=0x1FE0&&0x1FEC>=v||v>=0x1FF2&&0x1FF4>=v||v>=0x1FF6&&0x1FFC>=v||v==0x2071||v==0x207F||v>=0x2090&&0x209C>=v||v==0x2102||v==0x2107||v>=0x210A&&0x2113>=v||v==0x2115||v==0x2118||v>=0x2119&&0x211D>=v||v==0x2124||v==0x2126||v==0x2128||v>=0x212A&&0x212D>=v||v==0x212E||v>=0x212F&&0x2134>=v||v>=0x2135&&0x2138>=v||v==0x2139||v>=0x213C&&0x213F>=v||v>=0x2145&&0x2149>=v||v==0x214E||v>=0x2160&&0x2182>=v||v>=0x2183&&0x2184>=v||v>=0x2185&&0x2188>=v||v>=0x2C00&&0x2C2E>=v||v>=0x2C30&&0x2C5E>=v||v>=0x2C60&&0x2C7B>=v||v>=0x2C7C&&0x2C7D>=v||v>=0x2C7E&&0x2CE4>=v||v>=0x2CEB&&0x2CEE>=v||v>=0x2CF2&&0x2CF3>=v||v>=0x2D00&&0x2D25>=v||v==0x2D27||v==0x2D2D||v>=0x2D30&&0x2D67>=v||v==0x2D6F||v>=0x2D80&&0x2D96>=v||v>=0x2DA0&&0x2DA6>=v||v>=0x2DA8&&0x2DAE>=v||v>=0x2DB0&&0x2DB6>=v||v>=0x2DB8&&0x2DBE>=v||v>=0x2DC0&&0x2DC6>=v||v>=0x2DC8&&0x2DCE>=v||v>=0x2DD0&&0x2DD6>=v||v>=0x2DD8&&0x2DDE>=v||v==0x3005||v==0x3006||v==0x3007||v>=0x3021&&0x3029>=v||v>=0x3031&&0x3035>=v||v>=0x3038&&0x303A>=v||v==0x303B||v==0x303C||v>=0x3041&&0x3096>=v||v>=0x309B&&0x309C>=v||v>=0x309D&&0x309E>=v||v==0x309F||v>=0x30A1&&0x30FA>=v||v>=0x30FC&&0x30FE>=v||v==0x30FF||v>=0x3105&&0x312D>=v||v>=0x3131&&0x318E>=v||v>=0x31A0&&0x31BA>=v||v>=0x31F0&&0x31FF>=v||v>=0x3400&&0x4DB5>=v||v>=0x4E00&&0x9FD5>=v||v>=0xA000&&0xA014>=v||v==0xA015||v>=0xA016&&0xA48C>=v||v>=0xA4D0&&0xA4F7>=v||v>=0xA4F8&&0xA4FD>=v||v>=0xA500&&0xA60B>=v||v==0xA60C||v>=0xA610&&0xA61F>=v||v>=0xA62A&&0xA62B>=v||v>=0xA640&&0xA66D>=v||v==0xA66E||v==0xA67F||v>=0xA680&&0xA69B>=v||v>=0xA69C&&0xA69D>=v||v>=0xA6A0&&0xA6E5>=v||v>=0xA6E6&&0xA6EF>=v||v>=0xA717&&0xA71F>=v||v>=0xA722&&0xA76F>=v||v==0xA770||v>=0xA771&&0xA787>=v||v==0xA788||v>=0xA78B&&0xA78E>=v||v==0xA78F||v>=0xA790&&0xA7AD>=v||v>=0xA7B0&&0xA7B7>=v||v==0xA7F7||v>=0xA7F8&&0xA7F9>=v||v==0xA7FA||v>=0xA7FB&&0xA801>=v||v>=0xA803&&0xA805>=v||v>=0xA807&&0xA80A>=v||v>=0xA80C&&0xA822>=v||v>=0xA840&&0xA873>=v||v>=0xA882&&0xA8B3>=v||v>=0xA8F2&&0xA8F7>=v||v==0xA8FB||v==0xA8FD||v>=0xA90A&&0xA925>=v||v>=0xA930&&0xA946>=v||v>=0xA960&&0xA97C>=v||v>=0xA984&&0xA9B2>=v||v==0xA9CF||v>=0xA9E0&&0xA9E4>=v||v==0xA9E6||v>=0xA9E7&&0xA9EF>=v||v>=0xA9FA&&0xA9FE>=v||v>=0xAA00&&0xAA28>=v||v>=0xAA40&&0xAA42>=v||v>=0xAA44&&0xAA4B>=v||v>=0xAA60&&0xAA6F>=v||v==0xAA70||v>=0xAA71&&0xAA76>=v||v==0xAA7A||v>=0xAA7E&&0xAAAF>=v||v==0xAAB1||v>=0xAAB5&&0xAAB6>=v||v>=0xAAB9&&0xAABD>=v||v==0xAAC0||v==0xAAC2||v>=0xAADB&&0xAADC>=v||v==0xAADD||v>=0xAAE0&&0xAAEA>=v||v==0xAAF2||v>=0xAAF3&&0xAAF4>=v||v>=0xAB01&&0xAB06>=v||v>=0xAB09&&0xAB0E>=v||v>=0xAB11&&0xAB16>=v||v>=0xAB20&&0xAB26>=v||v>=0xAB28&&0xAB2E>=v||v>=0xAB30&&0xAB5A>=v||v>=0xAB5C&&0xAB5F>=v||v>=0xAB60&&0xAB65>=v||v>=0xAB70&&0xABBF>=v||v>=0xABC0&&0xABE2>=v||v>=0xAC00&&0xD7A3>=v||v>=0xD7B0&&0xD7C6>=v||v>=0xD7CB&&0xD7FB>=v||v>=0xF900&&0xFA6D>=v||v>=0xFA70&&0xFAD9>=v||v>=0xFB00&&0xFB06>=v||v>=0xFB13&&0xFB17>=v||v==0xFB1D||v>=0xFB1F&&0xFB28>=v||v>=0xFB2A&&0xFB36>=v||v>=0xFB38&&0xFB3C>=v||v==0xFB3E||v>=0xFB40&&0xFB41>=v||v>=0xFB43&&0xFB44>=v||v>=0xFB46&&0xFBB1>=v||v>=0xFBD3&&0xFD3D>=v||v>=0xFD50&&0xFD8F>=v||v>=0xFD92&&0xFDC7>=v||v>=0xFDF0&&0xFDFB>=v||v>=0xFE70&&0xFE74>=v||v>=0xFE76&&0xFEFC>=v||v>=0xFF21&&0xFF3A>=v||v>=0xFF41&&0xFF5A>=v||v>=0xFF66&&0xFF6F>=v||v==0xFF70||v>=0xFF71&&0xFF9D>=v||v>=0xFF9E&&0xFF9F>=v||v>=0xFFA0&&0xFFBE>=v||v>=0xFFC2&&0xFFC7>=v||v>=0xFFCA&&0xFFCF>=v||v>=0xFFD2&&0xFFD7>=v||v>=0xFFDA&&0xFFDC>=v||v>=0x10000&&0x1000B>=v||v>=0x1000D&&0x10026>=v||v>=0x10028&&0x1003A>=v||v>=0x1003C&&0x1003D>=v||v>=0x1003F&&0x1004D>=v||v>=0x10050&&0x1005D>=v||v>=0x10080&&0x100FA>=v||v>=0x10140&&0x10174>=v||v>=0x10280&&0x1029C>=v||v>=0x102A0&&0x102D0>=v||v>=0x10300&&0x1031F>=v||v>=0x10330&&0x10340>=v||v==0x10341||v>=0x10342&&0x10349>=v||v==0x1034A||v>=0x10350&&0x10375>=v||v>=0x10380&&0x1039D>=v||v>=0x103A0&&0x103C3>=v||v>=0x103C8&&0x103CF>=v||v>=0x103D1&&0x103D5>=v||v>=0x10400&&0x1044F>=v||v>=0x10450&&0x1049D>=v||v>=0x10500&&0x10527>=v||v>=0x10530&&0x10563>=v||v>=0x10600&&0x10736>=v||v>=0x10740&&0x10755>=v||v>=0x10760&&0x10767>=v||v>=0x10800&&0x10805>=v||v==0x10808||v>=0x1080A&&0x10835>=v||v>=0x10837&&0x10838>=v||v==0x1083C||v>=0x1083F&&0x10855>=v||v>=0x10860&&0x10876>=v||v>=0x10880&&0x1089E>=v||v>=0x108E0&&0x108F2>=v||v>=0x108F4&&0x108F5>=v||v>=0x10900&&0x10915>=v||v>=0x10920&&0x10939>=v||v>=0x10980&&0x109B7>=v||v>=0x109BE&&0x109BF>=v||v==0x10A00||v>=0x10A10&&0x10A13>=v||v>=0x10A15&&0x10A17>=v||v>=0x10A19&&0x10A33>=v||v>=0x10A60&&0x10A7C>=v||v>=0x10A80&&0x10A9C>=v||v>=0x10AC0&&0x10AC7>=v||v>=0x10AC9&&0x10AE4>=v||v>=0x10B00&&0x10B35>=v||v>=0x10B40&&0x10B55>=v||v>=0x10B60&&0x10B72>=v||v>=0x10B80&&0x10B91>=v||v>=0x10C00&&0x10C48>=v||v>=0x10C80&&0x10CB2>=v||v>=0x10CC0&&0x10CF2>=v||v>=0x11003&&0x11037>=v||v>=0x11083&&0x110AF>=v||v>=0x110D0&&0x110E8>=v||v>=0x11103&&0x11126>=v||v>=0x11150&&0x11172>=v||v==0x11176||v>=0x11183&&0x111B2>=v||v>=0x111C1&&0x111C4>=v||v==0x111DA||v==0x111DC||v>=0x11200&&0x11211>=v||v>=0x11213&&0x1122B>=v||v>=0x11280&&0x11286>=v||v==0x11288||v>=0x1128A&&0x1128D>=v||v>=0x1128F&&0x1129D>=v||v>=0x1129F&&0x112A8>=v||v>=0x112B0&&0x112DE>=v||v>=0x11305&&0x1130C>=v||v>=0x1130F&&0x11310>=v||v>=0x11313&&0x11328>=v||v>=0x1132A&&0x11330>=v||v>=0x11332&&0x11333>=v||v>=0x11335&&0x11339>=v||v==0x1133D||v==0x11350||v>=0x1135D&&0x11361>=v||v>=0x11480&&0x114AF>=v||v>=0x114C4&&0x114C5>=v||v==0x114C7||v>=0x11580&&0x115AE>=v||v>=0x115D8&&0x115DB>=v||v>=0x11600&&0x1162F>=v||v==0x11644||v>=0x11680&&0x116AA>=v||v>=0x11700&&0x11719>=v||v>=0x118A0&&0x118DF>=v||v==0x118FF||v>=0x11AC0&&0x11AF8>=v||v>=0x12000&&0x12399>=v||v>=0x12400&&0x1246E>=v||v>=0x12480&&0x12543>=v||v>=0x13000&&0x1342E>=v||v>=0x14400&&0x14646>=v||v>=0x16800&&0x16A38>=v||v>=0x16A40&&0x16A5E>=v||v>=0x16AD0&&0x16AED>=v||v>=0x16B00&&0x16B2F>=v||v>=0x16B40&&0x16B43>=v||v>=0x16B63&&0x16B77>=v||v>=0x16B7D&&0x16B8F>=v||v>=0x16F00&&0x16F44>=v||v==0x16F50||v>=0x16F93&&0x16F9F>=v||v>=0x1B000&&0x1B001>=v||v>=0x1BC00&&0x1BC6A>=v||v>=0x1BC70&&0x1BC7C>=v||v>=0x1BC80&&0x1BC88>=v||v>=0x1BC90&&0x1BC99>=v||v>=0x1D400&&0x1D454>=v||v>=0x1D456&&0x1D49C>=v||v>=0x1D49E&&0x1D49F>=v||v==0x1D4A2||v>=0x1D4A5&&0x1D4A6>=v||v>=0x1D4A9&&0x1D4AC>=v||v>=0x1D4AE&&0x1D4B9>=v||v==0x1D4BB||v>=0x1D4BD&&0x1D4C3>=v||v>=0x1D4C5&&0x1D505>=v||v>=0x1D507&&0x1D50A>=v||v>=0x1D50D&&0x1D514>=v||v>=0x1D516&&0x1D51C>=v||v>=0x1D51E&&0x1D539>=v||v>=0x1D53B&&0x1D53E>=v||v>=0x1D540&&0x1D544>=v||v==0x1D546||v>=0x1D54A&&0x1D550>=v||v>=0x1D552&&0x1D6A5>=v||v>=0x1D6A8&&0x1D6C0>=v||v>=0x1D6C2&&0x1D6DA>=v||v>=0x1D6DC&&0x1D6FA>=v||v>=0x1D6FC&&0x1D714>=v||v>=0x1D716&&0x1D734>=v||v>=0x1D736&&0x1D74E>=v||v>=0x1D750&&0x1D76E>=v||v>=0x1D770&&0x1D788>=v||v>=0x1D78A&&0x1D7A8>=v||v>=0x1D7AA&&0x1D7C2>=v||v>=0x1D7C4&&0x1D7CB>=v||v>=0x1E800&&0x1E8C4>=v||v>=0x1EE00&&0x1EE03>=v||v>=0x1EE05&&0x1EE1F>=v||v>=0x1EE21&&0x1EE22>=v||v==0x1EE24||v==0x1EE27||v>=0x1EE29&&0x1EE32>=v||v>=0x1EE34&&0x1EE37>=v||v==0x1EE39||v==0x1EE3B||v==0x1EE42||v==0x1EE47||v==0x1EE49||v==0x1EE4B||v>=0x1EE4D&&0x1EE4F>=v||v>=0x1EE51&&0x1EE52>=v||v==0x1EE54||v==0x1EE57||v==0x1EE59||v==0x1EE5B||v==0x1EE5D||v==0x1EE5F||v>=0x1EE61&&0x1EE62>=v||v==0x1EE64||v>=0x1EE67&&0x1EE6A>=v||v>=0x1EE6C&&0x1EE72>=v||v>=0x1EE74&&0x1EE77>=v||v>=0x1EE79&&0x1EE7C>=v||v==0x1EE7E||v>=0x1EE80&&0x1EE89>=v||v>=0x1EE8B&&0x1EE9B>=v||v>=0x1EEA1&&0x1EEA3>=v||v>=0x1EEA5&&0x1EEA9>=v||v>=0x1EEAB&&0x1EEBB>=v||v>=0x20000&&0x2A6D6>=v||v>=0x2A700&&0x2B734>=v||v>=0x2B740&&0x2B81D>=v||v>=0x2B820&&0x2CEA1>=v||v>=0x2F800&&0x2FA1D>=v||v==0x2118||v==0x212E||v>=0x309B&&0x309C>=v||v==0x0024||v==0x005F||v>=0x200C&&0x200D>=v;}
--- /dev/null
+0024 ; JavaScript_ID_Start # Sc DOLLAR SIGN
+0024 ; JavaScript_ID_Continue # Sc DOLLAR SIGN
+005F ; JavaScript_ID_Start # Pc LOW LINE
+200C..200D ; JavaScript_ID_Start # Cf [2] ZERO WIDTH NON-JOINER..ZERO WIDTH JOINER
+200C..200D ; JavaScript_ID_Continue # Cf [2] ZERO WIDTH NON-JOINER..ZERO WIDTH JOINER
! grep -n '^ jam-transitions: ' lex.backup | grep -v ': EOF \[\(\]\| \\2\)'
! grep -F ': warning, ' Scanner.output || true
-Scanner.lo: Parser.hpp
+Scanner.lo: Parser.hpp IdentifierStart.h IdentifierContinue.h
CLEANFILES += Parser.cpp Parser.hpp stack.hh Parser.output
Parser.cpp Parser.hpp stack.hh Parser.output: Parser.ypp
! grep -n '^ jam-transitions: ' lex.backup | grep -v ': EOF \[\(\]\| \\2\)'
! grep -F ': warning, ' Scanner.output || true
-Scanner.lo: Parser.hpp
+Scanner.lo: Parser.hpp IdentifierStart.h IdentifierContinue.h
Parser.cpp Parser.hpp stack.hh Parser.output: Parser.ypp
$(BISON) -v --report=state -Werror -o Parser.cpp $<
! grep -n '^State [0-9]* conflicts:' Parser.output
-NotLineTerminator [\xc2-\xdf][\x80-\xbf]|\xe0[\xa0-\xbf][\x80-\xbf]|\xe2\x80[\x80-\xa7\xa9-\xbf]|\xe2[\x81-\xbf][\x80-\xbf]|[\xe1\xe3-\xef][\x80-\xbf][\x80-\xbf]|\xf0[\x90-\xbf][\x80-\xbf][\x80-\xbf]|\xf4[\x80-\x8f][\x80-\xbf][\x80-\xbf]|[\xf1-\xf3][\x80-\xbf][\x80-\xbf][\x80-\xbf]
+NotLineTerminator [\xc2-\xdf][\x80-\xbf]|\xe0[\xa0-\xbf][\x80-\xbf]|\xe2\x80[\x80-\xa7\xaa-\xbf]|\xe2[\x81-\xbf][\x80-\xbf]|[\xe1\xe3-\xef][\x80-\xbf]{2}|\xf0[\x90-\xbf][\x80-\xbf]{2}|\xf4[\x80-\x8f][\x80-\xbf]{2}|[\xf1-\xf3][\x80-\xbf]{3}
#include "Highlight.hpp"
+#include "IdentifierStart.h"
+#include "IdentifierContinue.h"
+
#define YY_EXTRA_TYPE CYDriver *
#define F(value, highlight) do { \
} else _assert(false);
}
-static void U(char *&local, const char *text, yy_size_t &i) {
+static unsigned U(char *&local, const char *text, yy_size_t &i) {
unsigned point;
char next(text[++i]);
}
U(local, point);
+ return point;
}
#define CYLexBufferPoint(point) do { \
char next(yytext[i]);
if (next != '\\')
*local++ = next;
- else
- U(local, yytext, ++i);
+ else {
+ bool (*is)(unsigned) = (i == 0 ? &IsIdentifierStart : &IsIdentifierContinue);
+ unsigned point(U(local, yytext, ++i));
+ if (!is(point))
+ E("invalid character");
+ }
}
*local = '\0';
-UnicodeIDContinue_0 [\x30-\x39\x41-\x5a\x5f\x61-\x7a]|\xc2[\xaa\xba\xb5\xb7]|\xc3[\x80-\x96\x98-\xb6\xb8-\xbf]|\xcb[\x80\x81\xa2\xa3\xa1\x86-\x91\xac\xae\xa0\xa4]|\xcd[\x80-\xb4\xb6\xb7\xba-\xbd\xbf]|\xce[\x86-\x8a\x8c\x8e-\xa1\xa3-\xbf]|\xcf[\x80-\xb5\xb7-\xbf]|\xd2[\x80\x81\x83-\x87\x8a-\xbf]|\xd4[\x80-\xaf\xb1-\xbf]|\xd5[\x80-\x96\x99\xa1-\xbf]|\xd6[\x80-\x87\x91-\xbd\xbf]|\xd7[\x81\x82\x84\x85\x87\x90-\xaa\xb0-\xb2]|\xd8[\x90-\x9a\xa0-\xbf]|\xd9[\x80-\xa9\xae-\xbf]|\xdb[\x80-\x93\x95-\x9c\x9f-\xa8\xaa-\xbc\xbf]|\xdc[\x90-\xbf]|\xdd[\x80-\x8a\x8d-\xbf]|\xde[\x80-\xb1]|\xdf[\x80-\xb5\xba]|[\xc4-\xca\xcc\xd0\xd1\xd3\xda][\x80-\xbf]|\xe0\xa0[\x80-\xad]|\xe0\xa1[\x80-\x9b]|\xe0\xa2[\xa0-\xb4]|\xe0\xa3[\xa3-\xbf]|\xe0\xa5[\x80-\xa3\xa6-\xaf\xb1-\xbf]|\xe0\xa6[\x80-\x83\x85-\x8c\x8f\x90\x93-\xa8\xaa-\xb0\xb2\xb6-\xb9\xbc-\xbf]|\xe0\xa7[\x80-\x84\x87\x88\x8b-\x8e\x97\x9c\x9d\x9f-\xa3\xa6-\xb1]|\xe0\xa8[\x81-\x83\x85-\x8a\x8f\x90\x93-\xa8\xaa-\xb0\xb2\xb3\xb5\xb6\xb8\xb9\xbc\xbe\xbf]|\xe0\xa9[\x80-\x82\x87\x88\x8b-\x8d\x91\x99-\x9c\x9e\xa6-\xb5]
+UnicodeIDContinue_0 [\x30-\x39\x41-\x5a\x5f\x61-\x7a]|\xc2[\xaa\xb5\xb7\xba]|\xc3[\x80-\x96\x98-\xb6\xb8-\xbf]|\xcb[\x80\x81\x86-\x91\xa0-\xa4\xac\xae]|\xcd[\x80-\xb4\xb6\xb7\xba-\xbd\xbf]|\xce[\x86-\x8a\x8c\x8e-\xa1\xa3-\xbf]|\xcf[\x80-\xb5\xb7-\xbf]|\xd2[\x80\x81\x83-\x87\x8a-\xbf]|\xd4[\x80-\xaf\xb1-\xbf]|\xd5[\x80-\x96\x99\xa1-\xbf]|\xd6[\x80-\x87\x91-\xbd\xbf]|\xd7[\x81\x82\x84\x85\x87\x90-\xaa\xb0-\xb2]|\xd8[\x90-\x9a\xa0-\xbf]|\xd9[\x80-\xa9\xae-\xbf]|\xdb[\x80-\x93\x95-\x9c\x9f-\xa8\xaa-\xbc\xbf]|\xdc[\x90-\xbf]|\xdd[\x80-\x8a\x8d-\xbf]|\xde[\x80-\xb1]|\xdf[\x80-\xb5\xba]|[\xc4-\xca\xcc\xd0\xd1\xd3\xda][\x80-\xbf]|\xe0\xa0[\x80-\xad]|\xe0\xa1[\x80-\x9b]|\xe0\xa2[\xa0-\xb4]|\xe0\xa3[\xa3-\xbf]|\xe0\xa5[\x80-\xa3\xa6-\xaf\xb1-\xbf]|\xe0\xa6[\x80-\x83\x85-\x8c\x8f\x90\x93-\xa8\xaa-\xb0\xb2\xb6-\xb9\xbc-\xbf]|\xe0\xa7[\x80-\x84\x87\x88\x8b-\x8e\x97\x9c\x9d\x9f-\xa3\xa6-\xb1]|\xe0\xa8[\x81-\x83\x85-\x8a\x8f\x90\x93-\xa8\xaa-\xb0\xb2\xb3\xb5\xb6\xb8\xb9\xbc\xbe\xbf]|\xe0\xa9[\x80-\x82\x87\x88\x8b-\x8d\x91\x99-\x9c\x9e\xa6-\xb5]
UnicodeIDContinue_1 \xe0\xaa[\x81-\x83\x85-\x8d\x8f-\x91\x93-\xa8\xaa-\xb0\xb2\xb3\xb5-\xb9\xbc-\xbf]|\xe0\xab[\x80-\x85\x87-\x89\x8b-\x8d\x90\xa0-\xa3\xa6-\xaf\xb9]|\xe0\xac[\x81-\x83\x85-\x8c\x8f\x90\x93-\xa8\xaa-\xb0\xb2\xb3\xb5-\xb9\xbc-\xbf]|\xe0\xad[\x80-\x84\x87\x88\x8b-\x8d\x96\x97\x9c\x9d\x9f-\xa3\xa6-\xaf\xb1]|\xe0\xae[\x82\x83\x85-\x8a\x8e-\x90\x92-\x95\x99\x9a\x9c\x9e\x9f\xa3\xa4\xa8-\xaa\xae-\xb9\xbe\xbf]|\xe0\xaf[\x80-\x82\x86-\x88\x8a-\x8d\x90\x97\xa6-\xaf]|\xe0\xb0[\x80-\x83\x85-\x8c\x8e-\x90\x92-\xa8\xaa-\xb9\xbd-\xbf]|\xe0\xb1[\x80-\x84\x86-\x88\x8a-\x8d\x95\x96\x98-\x9a\xa0-\xa3\xa6-\xaf]|\xe0\xb2[\x81-\x83\x85-\x8c\x8e-\x90\x92-\xa8\xaa-\xb3\xb5-\xb9\xbc-\xbf]|\xe0\xb3[\x80-\x84\x86-\x88\x8a-\x8d\x95\x96\x9e\xa0-\xa3\xa6-\xaf\xb1\xb2]|\xe0\xb4[\x81-\x83\x85-\x8c\x8e-\x90\x92-\xba\xbd-\xbf]|\xe0\xb5[\x80-\x84\x86-\x88\x8a-\x8e\x97\x9f-\xa3\xa6-\xaf\xba-\xbf]|\xe0\xb6[\x82\x83\x85-\x96\x9a-\xb1\xb3-\xbb\xbd]|\xe0\xb7[\x80-\x86\x8a\x8f-\x94\x96\x98-\x9f\xa6-\xaf\xb2\xb3]|\xe0\xb8[\x81-\xba]
-UnicodeIDContinue_2 \xe0\xb9[\x80-\x8e\x90-\x99]|\xe0\xba[\x81\x82\x84\x87\x88\x8a\x8d\x94-\x97\x99-\x9f\xa1-\xa3\xa5\xa7\xaa\xab\xad-\xb9\xbb-\xbd]|\xe0\xbb[\x80-\x84\x86\x88-\x8d\x90-\x99\x9c-\x9f]|\xe0\xbc[\x80\xa0\xa2-\xa6\xa1\xa8\xa9\xa7\xbe\xb5\xb7\x98\x99\xb9\xbf]|\xe0\xbd[\x80-\x87\x89-\xac\xb1-\xbf]|\xe0\xbe[\x80-\x84\x86-\x97\x99-\xbc]|\xe0\xbf[\x86]|\xe0[\xa4][\x80-\xbf]|\xe1\x81[\x80-\x89\x90-\xbf]|\xe1\x82[\x80-\x9d\xa0-\xbf]|\xe1\x83[\x80-\x85\x87\x8d\x90-\xba\xbc-\xbf]|\xe1\x89[\x80-\x88\x8a-\x8d\x90-\x96\x98\x9a-\x9d\xa0-\xbf]|\xe1\x8a[\x80-\x88\x8a-\x8d\x90-\xb0\xb2-\xb5\xb8-\xbe]|\xe1\x8b[\x80\x82-\x85\x88-\x96\x98-\xbf]|\xe1\x8c[\x80-\x90\x92-\x95\x98-\xbf]|\xe1\x8d[\x80-\x9a\x9d-\x9f\xa9-\xb1]|\xe1\x8e[\x80-\x8f\xa0-\xbf]|\xe1\x8f[\x80-\xb5\xb8-\xbd]|\xe1\x90[\x81-\xbf]|\xe1\x99[\x80-\xac\xaf-\xbf]|\xe1\x9a[\x81-\x9a\xa0-\xbf]|\xe1\x9b[\x80-\xaa\xae-\xb8]|\xe1\x9c[\x80-\x8c\x8e-\x94\xa0-\xb4]|\xe1\x9d[\x80-\x93\xa0-\xac\xae-\xb0\xb2\xb3]|\xe1\x9f[\x80-\x93\x97\x9c\x9d\xa0-\xa9]|\xe1\xa0[\x8b-\x8d\x90-\x99\xa0-\xbf]
-UnicodeIDContinue_3 \xe1\xa1[\x80-\xb7]|\xe1\xa2[\x80-\xaa\xb0-\xbf]|\xe1\xa3[\x80-\xb5]|\xe1\xa4[\x80-\x9e\xa0-\xab\xb0-\xbb]|\xe1\xa5[\x86-\xad\xb0-\xb4]|\xe1\xa6[\x80-\xab\xb0-\xbf]|\xe1\xa7[\x80-\x89\x90-\x9a]|\xe1\xa8[\x80-\x9b\xa0-\xbf]|\xe1\xa9[\x80-\x9e\xa0-\xbc\xbf]|\xe1\xaa[\x80-\x89\x90-\x99\xa7\xb0-\xbd]|\xe1\xad[\x80-\x8b\x90-\x99\xab-\xb3]|\xe1\xaf[\x80-\xb3]|\xe1\xb0[\x80-\xb7]|\xe1\xb1[\x80-\x89\x8d-\xbd]|\xe1\xb3[\x90-\x92\x94-\xb6\xb8\xb9]|\xe1\xb7[\x80-\xb5\xbc-\xbf]|\xe1\xbc[\x80-\x95\x98-\x9d\xa0-\xbf]|\xe1\xbd[\x80-\x85\x88-\x8d\x90-\x97\x99\x9b\x9d\x9f-\xbd]|\xe1\xbe[\x80-\xb4\xb6-\xbc\xbe]|\xe1\xbf[\x82-\x84\x86-\x8c\x90-\x93\x96-\x9b\xa0-\xac\xb2-\xb4\xb6-\xbc]|\xe1[\x80\x84-\x88\x91-\x98\x9e\xac\xae\xb4-\xb6\xb8-\xbb][\x80-\xbf]|\xe2\x80[\xbf]|\xe2\x81[\x80\xb1\x94\xbf]|\xe2\x82[\x90-\x9c]|\xe2\x83[\x90-\x9c\xa1\xa5-\xb0]|\xe2\x84[\x82\x87\x8a-\x93\x95\x98-\x9d\xa4\xa6\xa8\xaa-\xb9\xbc-\xbf]|\xe2\x85[\x85-\x89\x8e\xa0-\xbf]|\xe2\x86[\x80-\x88]|\xe2\xb0[\x80-\xae\xb0-\xbf]|\xe2\xb1[\x80-\x9e\xa0-\xbf]
+UnicodeIDContinue_2 \xe0\xb9[\x80-\x8e\x90-\x99]|\xe0\xba[\x81\x82\x84\x87\x88\x8a\x8d\x94-\x97\x99-\x9f\xa1-\xa3\xa5\xa7\xaa\xab\xad-\xb9\xbb-\xbd]|\xe0\xbb[\x80-\x84\x86\x88-\x8d\x90-\x99\x9c-\x9f]|\xe0\xbc[\x80\x98\x99\xa0-\xa9\xb5\xb7\xb9\xbe\xbf]|\xe0\xbd[\x80-\x87\x89-\xac\xb1-\xbf]|\xe0\xbe[\x80-\x84\x86-\x97\x99-\xbc]|\xe0\xbf[\x86]|\xe0[\xa4][\x80-\xbf]|\xe1\x81[\x80-\x89\x90-\xbf]|\xe1\x82[\x80-\x9d\xa0-\xbf]|\xe1\x83[\x80-\x85\x87\x8d\x90-\xba\xbc-\xbf]|\xe1\x89[\x80-\x88\x8a-\x8d\x90-\x96\x98\x9a-\x9d\xa0-\xbf]|\xe1\x8a[\x80-\x88\x8a-\x8d\x90-\xb0\xb2-\xb5\xb8-\xbe]|\xe1\x8b[\x80\x82-\x85\x88-\x96\x98-\xbf]|\xe1\x8c[\x80-\x90\x92-\x95\x98-\xbf]|\xe1\x8d[\x80-\x9a\x9d-\x9f\xa9-\xb1]|\xe1\x8e[\x80-\x8f\xa0-\xbf]|\xe1\x8f[\x80-\xb5\xb8-\xbd]|\xe1\x90[\x81-\xbf]|\xe1\x99[\x80-\xac\xaf-\xbf]|\xe1\x9a[\x81-\x9a\xa0-\xbf]|\xe1\x9b[\x80-\xaa\xae-\xb8]|\xe1\x9c[\x80-\x8c\x8e-\x94\xa0-\xb4]|\xe1\x9d[\x80-\x93\xa0-\xac\xae-\xb0\xb2\xb3]|\xe1\x9f[\x80-\x93\x97\x9c\x9d\xa0-\xa9]|\xe1\xa0[\x8b-\x8d\x90-\x99\xa0-\xbf]
+UnicodeIDContinue_3 \xe1\xa1[\x80-\xb7]|\xe1\xa2[\x80-\xaa\xb0-\xbf]|\xe1\xa3[\x80-\xb5]|\xe1\xa4[\x80-\x9e\xa0-\xab\xb0-\xbb]|\xe1\xa5[\x86-\xad\xb0-\xb4]|\xe1\xa6[\x80-\xab\xb0-\xbf]|\xe1\xa7[\x80-\x89\x90-\x9a]|\xe1\xa8[\x80-\x9b\xa0-\xbf]|\xe1\xa9[\x80-\x9e\xa0-\xbc\xbf]|\xe1\xaa[\x80-\x89\x90-\x99\xa7\xb0-\xbd]|\xe1\xad[\x80-\x8b\x90-\x99\xab-\xb3]|\xe1\xaf[\x80-\xb3]|\xe1\xb0[\x80-\xb7]|\xe1\xb1[\x80-\x89\x8d-\xbd]|\xe1\xb3[\x90-\x92\x94-\xb6\xb8\xb9]|\xe1\xb7[\x80-\xb5\xbc-\xbf]|\xe1\xbc[\x80-\x95\x98-\x9d\xa0-\xbf]|\xe1\xbd[\x80-\x85\x88-\x8d\x90-\x97\x99\x9b\x9d\x9f-\xbd]|\xe1\xbe[\x80-\xb4\xb6-\xbc\xbe]|\xe1\xbf[\x82-\x84\x86-\x8c\x90-\x93\x96-\x9b\xa0-\xac\xb2-\xb4\xb6-\xbc]|\xe1[\x80\x84-\x88\x91-\x98\x9e\xac\xae\xb4-\xb6\xb8-\xbb][\x80-\xbf]|\xe2\x80[\xbf]|\xe2\x81[\x80\x94\xb1\xbf]|\xe2\x82[\x90-\x9c]|\xe2\x83[\x90-\x9c\xa1\xa5-\xb0]|\xe2\x84[\x82\x87\x8a-\x93\x95\x98-\x9d\xa4\xa6\xa8\xaa-\xb9\xbc-\xbf]|\xe2\x85[\x85-\x89\x8e\xa0-\xbf]|\xe2\x86[\x80-\x88]|\xe2\xb0[\x80-\xae\xb0-\xbf]|\xe2\xb1[\x80-\x9e\xa0-\xbf]
UnicodeIDContinue_4 \xe2\xb3[\x80-\xa4\xab-\xb3]|\xe2\xb4[\x80-\xa5\xa7\xad\xb0-\xbf]|\xe2\xb5[\x80-\xa7\xaf\xbf]|\xe2\xb6[\x80-\x96\xa0-\xa6\xa8-\xae\xb0-\xb6\xb8-\xbe]|\xe2\xb7[\x80-\x86\x88-\x8e\x90-\x96\x98-\x9e\xa0-\xbf]|\xe2[\xb2][\x80-\xbf]|\xe3\x80[\x85-\x87\xa1-\xaf\xb1-\xb5\xb8-\xbc]|\xe3\x81[\x81-\xbf]|\xe3\x82[\x80-\x96\x99-\x9f\xa1-\xbf]|\xe3\x83[\x80-\xba\xbc-\xbf]|\xe3\x84[\x85-\xad\xb1-\xbf]|\xe3\x86[\x80-\x8e\xa0-\xba]|\xe3\x87[\xb0-\xbf]|\xe3[\x85\x90-\xbf][\x80-\xbf]|\xe4\xb6[\x80-\xb5]|\xe4[\x80-\xb5\xb8-\xbf][\x80-\xbf]|\xe9\xbf[\x80-\x95]|\xe9[\x80-\xbe][\x80-\xbf]|\xea\x92[\x80-\x8c]|\xea\x93[\x90-\xbd]|\xea\x98[\x80-\x8c\x90-\xab]|\xea\x99[\x80-\xaf\xb4-\xbd\xbf]|\xea\x9b[\x80-\xb1]|\xea\x9c[\x97-\x9f\xa2-\xbf]|\xea\x9e[\x80-\x88\x8b-\xad\xb0-\xb7]|\xea\x9f[\xb7-\xbf]|\xea\xa0[\x80-\xa7]|\xea\xa1[\x80-\xb3]|\xea\xa3[\x80-\x84\x90-\x99\xa0-\xb7\xbb\xbd]|\xea\xa4[\x80-\xad\xb0-\xbf]|\xea\xa5[\x80-\x93\xa0-\xbc]|\xea\xa7[\x80\x8f-\x99\xa0-\xbe]|\xea\xa8[\x80-\xb6]|\xea\xa9[\x80-\x8d\x90-\x99\xa0-\xb6\xba-\xbf]
-UnicodeIDContinue_5 \xea\xab[\x80-\x82\x9b-\x9d\xa0-\xaf\xb2-\xb6]|\xea\xac[\x81-\x86\x89-\x8e\x91-\x96\xa0-\xa6\xa8-\xae\xb0-\xbf]|\xea\xad[\x80-\x9a\x9c-\xa5\xb0-\xbf]|\xea\xaf[\x80-\xaa\xac\xad\xb0-\xb9]|\xea[\x80-\x91\x94-\x97\x9a\x9d\xa2\xa6\xaa\xae\xb0-\xbf][\x80-\xbf]|\xed\x9e[\x80-\xa3\xb0-\xbf]|\xed\x9f[\x80-\x86\x8b-\xbb]|\xed[\x80-\x9d][\x80-\xbf]|\xef\xa9[\x80-\xad\xb0-\xbf]|\xef\xab[\x80-\x99]|\xef\xac[\x80-\x86\x93-\x97\x9d-\xa8\xaa-\xb6\xb8-\xbc\xbe]|\xef\xad[\x80\x81\x83\x84\x86-\xbf]|\xef\xae[\x80-\xb1]|\xef\xaf[\x93-\xbf]|\xef\xb4[\x80-\xbd]|\xef\xb5[\x90-\xbf]|\xef\xb6[\x80-\x8f\x92-\xbf]|\xef\xb7[\x80-\x87\xb0-\xbb]|\xef\xb8[\x80-\x8f\xa0-\xaf\xb3\xb4]|\xef\xb9[\x8d-\x8f\xb0-\xb4\xb6-\xbf]|\xef\xbb[\x80-\xbc]|\xef\xbc[\x90-\x99\xa1-\xba\xbf]|\xef\xbd[\x81-\x9a\xa6-\xbf]|\xef\xbe[\x80-\xbe]|\xef\xbf[\x82-\x87\x8a-\x8f\x92-\x97\x9a-\x9c]|\xef[\xa4-\xa8\xaa\xb0-\xb3\xba][\x80-\xbf]|[\xe5-\xe8\xeb\xec][\x80-\xbf][\x80-\xbf]|\xf0\x90\x80[\x80-\x8b\x8d-\xa6\xa8-\xba\xbc\xbd\xbf]|\xf0\x90\x81[\x80-\x8d\x90-\x9d]
-UnicodeIDContinue_6 \xf0\x90\x83[\x80-\xba]|\xf0\x90\x85[\x80-\xb4]|\xf0\x90\x87[\xbd]|\xf0\x90\x8a[\x80-\x9c\xa0-\xbf]|\xf0\x90\x8b[\x80-\x90\xa0]|\xf0\x90\x8c[\x80-\x9f\xb0-\xbf]|\xf0\x90\x8d[\x80-\x8a\x90-\xba]|\xf0\x90\x8e[\x80-\x9d\xa0-\xbf]|\xf0\x90\x8f[\x80-\x83\x88-\x8f\x91-\x95]|\xf0\x90\x92[\x80-\x9d\xa0-\xa9]|\xf0\x90\x94[\x80-\xa7\xb0-\xbf]|\xf0\x90\x95[\x80-\xa3]|\xf0\x90\x9c[\x80-\xb6]|\xf0\x90\x9d[\x80-\x95\xa0-\xa7]|\xf0\x90\xa0[\x80-\x85\x88\x8a-\xb5\xb7\xb8\xbc\xbf]|\xf0\x90\xa1[\x80-\x95\xa0-\xb6]|\xf0\x90\xa2[\x80-\x9e]|\xf0\x90\xa3[\xa0-\xb2\xb4\xb5]|\xf0\x90\xa4[\x80-\x95\xa0-\xb9]|\xf0\x90\xa6[\x80-\xb7\xbe\xbf]|\xf0\x90\xa8[\x80-\x83\x85\x86\x8c-\x93\x95-\x97\x99-\xb3\xb8-\xba\xbf]|\xf0\x90\xa9[\xa0-\xbc]|\xf0\x90\xaa[\x80-\x9c]|\xf0\x90\xab[\x80-\x87\x89-\xa6]|\xf0\x90\xac[\x80-\xb5]|\xf0\x90\xad[\x80-\x95\xa0-\xb2]|\xf0\x90\xae[\x80-\x91]|\xf0\x90\xb1[\x80-\x88]|\xf0\x90\xb2[\x80-\xb2]|\xf0\x90\xb3[\x80-\xb2]|\xf0\x90[\x82\x90\x91\x98-\x9b\xb0][\x80-\xbf]|\xf0\x91\x81[\x80-\x86\xa7-\xaf\xbf\xa6]
+UnicodeIDContinue_5 \xea\xab[\x80-\x82\x9b-\x9d\xa0-\xaf\xb2-\xb6]|\xea\xac[\x81-\x86\x89-\x8e\x91-\x96\xa0-\xa6\xa8-\xae\xb0-\xbf]|\xea\xad[\x80-\x9a\x9c-\xa5\xb0-\xbf]|\xea\xaf[\x80-\xaa\xac\xad\xb0-\xb9]|\xea[\x80-\x91\x94-\x97\x9a\x9d\xa2\xa6\xaa\xae\xb0-\xbf][\x80-\xbf]|\xed\x9e[\x80-\xa3\xb0-\xbf]|\xed\x9f[\x80-\x86\x8b-\xbb]|\xed[\x80-\x9d][\x80-\xbf]|\xef\xa9[\x80-\xad\xb0-\xbf]|\xef\xab[\x80-\x99]|\xef\xac[\x80-\x86\x93-\x97\x9d-\xa8\xaa-\xb6\xb8-\xbc\xbe]|\xef\xad[\x80\x81\x83\x84\x86-\xbf]|\xef\xae[\x80-\xb1]|\xef\xaf[\x93-\xbf]|\xef\xb4[\x80-\xbd]|\xef\xb5[\x90-\xbf]|\xef\xb6[\x80-\x8f\x92-\xbf]|\xef\xb7[\x80-\x87\xb0-\xbb]|\xef\xb8[\x80-\x8f\xa0-\xaf\xb3\xb4]|\xef\xb9[\x8d-\x8f\xb0-\xb4\xb6-\xbf]|\xef\xbb[\x80-\xbc]|\xef\xbc[\x90-\x99\xa1-\xba\xbf]|\xef\xbd[\x81-\x9a\xa6-\xbf]|\xef\xbe[\x80-\xbe]|\xef\xbf[\x82-\x87\x8a-\x8f\x92-\x97\x9a-\x9c]|\xef[\xa4-\xa8\xaa\xb0-\xb3\xba][\x80-\xbf]|[\xe5-\xe8\xeb\xec][\x80-\xbf]{2}|\xf0\x90\x80[\x80-\x8b\x8d-\xa6\xa8-\xba\xbc\xbd\xbf]|\xf0\x90\x81[\x80-\x8d\x90-\x9d]
+UnicodeIDContinue_6 \xf0\x90\x83[\x80-\xba]|\xf0\x90\x85[\x80-\xb4]|\xf0\x90\x87[\xbd]|\xf0\x90\x8a[\x80-\x9c\xa0-\xbf]|\xf0\x90\x8b[\x80-\x90\xa0]|\xf0\x90\x8c[\x80-\x9f\xb0-\xbf]|\xf0\x90\x8d[\x80-\x8a\x90-\xba]|\xf0\x90\x8e[\x80-\x9d\xa0-\xbf]|\xf0\x90\x8f[\x80-\x83\x88-\x8f\x91-\x95]|\xf0\x90\x92[\x80-\x9d\xa0-\xa9]|\xf0\x90\x94[\x80-\xa7\xb0-\xbf]|\xf0\x90\x95[\x80-\xa3]|\xf0\x90\x9c[\x80-\xb6]|\xf0\x90\x9d[\x80-\x95\xa0-\xa7]|\xf0\x90\xa0[\x80-\x85\x88\x8a-\xb5\xb7\xb8\xbc\xbf]|\xf0\x90\xa1[\x80-\x95\xa0-\xb6]|\xf0\x90\xa2[\x80-\x9e]|\xf0\x90\xa3[\xa0-\xb2\xb4\xb5]|\xf0\x90\xa4[\x80-\x95\xa0-\xb9]|\xf0\x90\xa6[\x80-\xb7\xbe\xbf]|\xf0\x90\xa8[\x80-\x83\x85\x86\x8c-\x93\x95-\x97\x99-\xb3\xb8-\xba\xbf]|\xf0\x90\xa9[\xa0-\xbc]|\xf0\x90\xaa[\x80-\x9c]|\xf0\x90\xab[\x80-\x87\x89-\xa6]|\xf0\x90\xac[\x80-\xb5]|\xf0\x90\xad[\x80-\x95\xa0-\xb2]|\xf0\x90\xae[\x80-\x91]|\xf0\x90\xb1[\x80-\x88]|\xf0\x90\xb2[\x80-\xb2]|\xf0\x90\xb3[\x80-\xb2]|\xf0\x90[\x82\x90\x91\x98-\x9b\xb0][\x80-\xbf]|\xf0\x91\x81[\x80-\x86\xa6-\xaf\xbf]
UnicodeIDContinue_7 \xf0\x91\x82[\x80-\xba]|\xf0\x91\x83[\x90-\xa8\xb0-\xb9]|\xf0\x91\x84[\x80-\xb4\xb6-\xbf]|\xf0\x91\x85[\x90-\xb3\xb6]|\xf0\x91\x87[\x80-\x84\x8a-\x8c\x90-\x9a\x9c]|\xf0\x91\x88[\x80-\x91\x93-\xb7]|\xf0\x91\x8a[\x80-\x86\x88\x8a-\x8d\x8f-\x9d\x9f-\xa8\xb0-\xbf]|\xf0\x91\x8b[\x80-\xaa\xb0-\xb9]|\xf0\x91\x8c[\x80-\x83\x85-\x8c\x8f\x90\x93-\xa8\xaa-\xb0\xb2\xb3\xb5-\xb9\xbc-\xbf]|\xf0\x91\x8d[\x80-\x84\x87\x88\x8b-\x8d\x90\x97\x9d-\xa3\xa6-\xac\xb0-\xb4]|\xf0\x91\x93[\x80-\x85\x87\x90-\x99]|\xf0\x91\x96[\x80-\xb5\xb8-\xbf]|\xf0\x91\x97[\x80\x98-\x9d]|\xf0\x91\x99[\x80\x84\x90-\x99]|\xf0\x91\x9a[\x80-\xb7]|\xf0\x91\x9b[\x80-\x89]|\xf0\x91\x9c[\x80-\x99\x9d-\xab\xb0-\xb9]|\xf0\x91\xa2[\xa0-\xbf]|\xf0\x91\xa3[\x80-\xa9\xbf]|\xf0\x91\xab[\x80-\xb8]|\xf0\x91[\x80\x86\x92\x98][\x80-\xbf]|\xf0\x92\x8e[\x80-\x99]|\xf0\x92\x91[\x80-\xae]|\xf0\x92\x95[\x80-\x83]|\xf0\x92[\x80-\x8d\x90\x92-\x94][\x80-\xbf]|\xf0\x93\x90[\x80-\xae]|\xf0\x93[\x80-\x8f][\x80-\xbf]|\xf0\x94\x99[\x80-\x86]|\xf0\x94[\x90-\x98][\x80-\xbf]
-UnicodeIDContinue_8 \xf0\x96\xa8[\x80-\xb8]|\xf0\x96\xa9[\x80-\x9e\xa0-\xa9]|\xf0\x96\xab[\x90-\xad\xb0-\xb4]|\xf0\x96\xac[\x80-\xb6]|\xf0\x96\xad[\x80-\x83\x90-\x99\xa3-\xb7\xbd-\xbf]|\xf0\x96\xae[\x80-\x8f]|\xf0\x96\xbd[\x80-\x84\x90-\xbe]|\xf0\x96\xbe[\x8f-\x9f]|\xf0\x96[\xa0-\xa7\xbc][\x80-\xbf]|\xf0\x9b\x80[\x80\x81]|\xf0\x9b\xb2[\x80-\x88\x90-\x99\x9d\x9e]|\xf0\x9b\xb1[\x80-\xaa\xb0-\xbc]|\xf0\x9b[\xb0][\x80-\xbf]|\xf0\x9d\x85[\xa5-\xa9\xad-\xb2\xbb-\xbf]|\xf0\x9d\x86[\x80-\x82\xab\x85-\x8b\xac\xad\xaa]|\xf0\x9d\x89[\x82-\x84]|\xf0\x9d\x91[\x80-\x94\x96-\xbf]|\xf0\x9d\x92[\x80-\x9c\x9e\x9f\xa2\xa5\xa6\xa9-\xac\xae-\xb9\xbb\xbd-\xbf]|\xf0\x9d\x93[\x80-\x83\x85-\xbf]|\xf0\x9d\x94[\x80-\x85\x87-\x8a\x8d-\x94\x96-\x9c\x9e-\xb9\xbb-\xbe]|\xf0\x9d\x95[\x80-\x84\x86\x8a-\x90\x92-\xbf]|\xf0\x9d\x9a[\x80-\xa5\xa8-\xbf]|\xf0\x9d\x9b[\x80\x82-\x9a\x9c-\xba\xbc-\xbf]|\xf0\x9d\x9c[\x80-\x94\x96-\xb4\xb6-\xbf]|\xf0\x9d\x9d[\x80-\x8e\x90-\xae\xb0-\xbf]|\xf0\x9d\x9e[\x80-\x88\x8a-\xa8\xaa-\xbf]|\xf0\x9d\x9f[\x80-\x82\x84-\x8b\x8e-\xbf]
-UnicodeIDContinue {UnicodeIDContinue_0}|{UnicodeIDContinue_1}|{UnicodeIDContinue_2}|{UnicodeIDContinue_3}|{UnicodeIDContinue_4}|{UnicodeIDContinue_5}|{UnicodeIDContinue_6}|{UnicodeIDContinue_7}|{UnicodeIDContinue_8}|\xf0\x9d\xa8[\x80-\xb6\xbb-\xbf]|\xf0\x9d\xa9[\x80-\xac\xb5]|\xf0\x9d\xaa[\xa1-\xa3\x84\xa5-\xaf\xa4\x9b-\x9f]|\xf0\x9d[\x90\x96-\x99][\x80-\xbf]|\xf0\x9e\xa3[\x80-\x84\x90-\x96]|\xf0\x9e\xb8[\x80-\x83\x85-\x9f\xa1\xa2\xa4\xa7\xa9-\xb2\xb4-\xb7\xb9\xbb]|\xf0\x9e\xb9[\x82\x87\x89\x8b\x8d-\x8f\x91\x92\x94\x97\x99\x9b\x9d\x9f\xa1\xa2\xa4\xa7-\xaa\xac-\xb2\xb4-\xb7\xb9-\xbc\xbe]|\xf0\x9e\xba[\x80-\x89\x8b-\x9b\xa1-\xa3\xa5-\xa9\xab-\xbb]|\xf0\x9e[\xa0-\xa2][\x80-\xbf]|\xf0\xaa\x9b[\x80-\x96]|\xf0\xaa[\x80-\x9a\x9c-\xbf][\x80-\xbf]|\xf0\xab\x9c[\x80-\xb4]|\xf0\xab\xa0[\x80-\x9d\xa0-\xbf]|\xf0\xab[\x80-\x9b\x9d-\x9f\xa1-\xbf][\x80-\xbf]|\xf0\xac\xba[\x80-\xa1]|\xf0\xac[\x80-\xb9][\x80-\xbf]|\xf0\xaf\xa8[\x80-\x9d]|\xf0\xaf[\xa0-\xa7][\x80-\xbf]|\xf0[\xa0-\xa9][\x80-\xbf][\x80-\xbf]|\xf3\xa0\x87[\x80-\xaf]|\xf3\xa0[\x84-\x86][\x80-\xbf]
+UnicodeIDContinue_8 \xf0\x96\xa8[\x80-\xb8]|\xf0\x96\xa9[\x80-\x9e\xa0-\xa9]|\xf0\x96\xab[\x90-\xad\xb0-\xb4]|\xf0\x96\xac[\x80-\xb6]|\xf0\x96\xad[\x80-\x83\x90-\x99\xa3-\xb7\xbd-\xbf]|\xf0\x96\xae[\x80-\x8f]|\xf0\x96\xbd[\x80-\x84\x90-\xbe]|\xf0\x96\xbe[\x8f-\x9f]|\xf0\x96[\xa0-\xa7\xbc][\x80-\xbf]|\xf0\x9b\x80[\x80\x81]|\xf0\x9b\xb1[\x80-\xaa\xb0-\xbc]|\xf0\x9b\xb2[\x80-\x88\x90-\x99\x9d\x9e]|\xf0\x9b[\xb0][\x80-\xbf]|\xf0\x9d\x85[\xa5-\xa9\xad-\xb2\xbb-\xbf]|\xf0\x9d\x86[\x80-\x82\x85-\x8b\xaa-\xad]|\xf0\x9d\x89[\x82-\x84]|\xf0\x9d\x91[\x80-\x94\x96-\xbf]|\xf0\x9d\x92[\x80-\x9c\x9e\x9f\xa2\xa5\xa6\xa9-\xac\xae-\xb9\xbb\xbd-\xbf]|\xf0\x9d\x93[\x80-\x83\x85-\xbf]|\xf0\x9d\x94[\x80-\x85\x87-\x8a\x8d-\x94\x96-\x9c\x9e-\xb9\xbb-\xbe]|\xf0\x9d\x95[\x80-\x84\x86\x8a-\x90\x92-\xbf]|\xf0\x9d\x9a[\x80-\xa5\xa8-\xbf]|\xf0\x9d\x9b[\x80\x82-\x9a\x9c-\xba\xbc-\xbf]|\xf0\x9d\x9c[\x80-\x94\x96-\xb4\xb6-\xbf]|\xf0\x9d\x9d[\x80-\x8e\x90-\xae\xb0-\xbf]|\xf0\x9d\x9e[\x80-\x88\x8a-\xa8\xaa-\xbf]|\xf0\x9d\x9f[\x80-\x82\x84-\x8b\x8e-\xbf]
+UnicodeIDContinue {UnicodeIDContinue_0}|{UnicodeIDContinue_1}|{UnicodeIDContinue_2}|{UnicodeIDContinue_3}|{UnicodeIDContinue_4}|{UnicodeIDContinue_5}|{UnicodeIDContinue_6}|{UnicodeIDContinue_7}|{UnicodeIDContinue_8}|\xf0\x9d\xa8[\x80-\xb6\xbb-\xbf]|\xf0\x9d\xa9[\x80-\xac\xb5]|\xf0\x9d\xaa[\x84\x9b-\x9f\xa1-\xaf]|\xf0\x9d[\x90\x96-\x99][\x80-\xbf]|\xf0\x9e\xa3[\x80-\x84\x90-\x96]|\xf0\x9e\xb8[\x80-\x83\x85-\x9f\xa1\xa2\xa4\xa7\xa9-\xb2\xb4-\xb7\xb9\xbb]|\xf0\x9e\xb9[\x82\x87\x89\x8b\x8d-\x8f\x91\x92\x94\x97\x99\x9b\x9d\x9f\xa1\xa2\xa4\xa7-\xaa\xac-\xb2\xb4-\xb7\xb9-\xbc\xbe]|\xf0\x9e\xba[\x80-\x89\x8b-\x9b\xa1-\xa3\xa5-\xa9\xab-\xbb]|\xf0\x9e[\xa0-\xa2][\x80-\xbf]|\xf0\xaa\x9b[\x80-\x96]|\xf0\xaa[\x80-\x9a\x9c-\xbf][\x80-\xbf]|\xf0\xab\x9c[\x80-\xb4]|\xf0\xab\xa0[\x80-\x9d\xa0-\xbf]|\xf0\xab[\x80-\x9b\x9d-\x9f\xa1-\xbf][\x80-\xbf]|\xf0\xac\xba[\x80-\xa1]|\xf0\xac[\x80-\xb9][\x80-\xbf]|\xf0\xaf\xa8[\x80-\x9d]|\xf0\xaf[\xa0-\xa7][\x80-\xbf]|\xf0[\xa0-\xa9][\x80-\xbf]{2}|\xf3\xa0\x87[\x80-\xaf]|\xf3\xa0[\x84-\x86][\x80-\xbf]
-UnicodeIDStart_0 [\x41-\x5a\x61-\x7a]|\xc2[\xaa\xb5\xba]|\xc3[\x80-\x96\x98-\xb6\xb8-\xbf]|\xcb[\x80\x81\xa2\xa3\xa1\x86-\x91\xac\xae\xa0\xa4]|\xcd[\xb0-\xb4\xb6\xb7\xba-\xbd\xbf]|\xce[\x86\x88-\x8a\x8c\x8e-\xa1\xa3-\xbf]|\xcf[\x80-\xb5\xb7-\xbf]|\xd2[\x80\x81\x8a-\xbf]|\xd4[\x80-\xaf\xb1-\xbf]|\xd5[\x80-\x96\x99\xa1-\xbf]|\xd6[\x80-\x87]|\xd7[\x90-\xaa\xb0-\xb2]|\xd8[\xa0-\xbf]|\xd9[\x80-\x8a\xae\xaf\xb1-\xbf]|\xdb[\x80-\x93\x95\xa5\xa6\xae\xaf\xba-\xbc\xbf]|\xdc[\x90\x92-\xaf]|\xdd[\x8d-\xbf]|\xde[\x80-\xa5\xb1]|\xdf[\x8a-\xaa\xb4\xb5\xba]|[\xc4-\xca\xd0\xd1\xd3\xda][\x80-\xbf]|\xe0\xa0[\x80-\x95\x9a\xa4\xa8]|\xe0\xa1[\x80-\x98]|\xe0\xa2[\xa0-\xb4]|\xe0\xa4[\x84-\xb9\xbd]|\xe0\xa5[\x90\x98-\xa1\xb1-\xbf]|\xe0\xa6[\x80\x85-\x8c\x8f\x90\x93-\xa8\xaa-\xb0\xb2\xb6-\xb9\xbd]|\xe0\xa7[\xa0\xa1\x8e\xb0\xb1\x9c\x9d\x9f]|\xe0\xa8[\x85-\x8a\x8f\x90\x93-\xa8\xaa-\xb0\xb2\xb3\xb5\xb6\xb8\xb9]|\xe0\xa9[\xb2-\xb4\x99-\x9c\x9e]|\xe0\xaa[\x85-\x8d\x8f-\x91\x93-\xa8\xaa-\xb0\xb2\xb3\xb5-\xb9\xbd]|\xe0\xab[\x90\xa0\xb9\xa1]
-UnicodeIDStart_1 \xe0\xac[\x85-\x8c\x8f\x90\x93-\xa8\xaa-\xb0\xb2\xb3\xb5-\xb9\xbd]|\xe0\xad[\xa0\xa1\xb1\x9c\x9d\x9f]|\xe0\xae[\x83\x85-\x8a\x8e-\x90\x92-\x95\x99\x9a\x9c\x9e\x9f\xa3\xa4\xa8-\xaa\xae-\xb9]|\xe0\xaf[\x90]|\xe0\xb0[\x85-\x8c\x8e-\x90\x92-\xa8\xaa-\xb9\xbd]|\xe0\xb1[\x98-\x9a\xa0\xa1]|\xe0\xb2[\x85-\x8c\x8e-\x90\x92-\xa8\xaa-\xb3\xb5-\xb9\xbd]|\xe0\xb3[\xa0\xa1\xb2\x9e\xb1]|\xe0\xb4[\x85-\x8c\x8e-\x90\x92-\xba\xbd]|\xe0\xb5[\xa0\xa1\xbf\x8e\xba-\xbe\x9f]|\xe0\xb6[\x85-\x96\x9a-\xb1\xb3-\xbb\xbd]|\xe0\xb7[\x80-\x86]|\xe0\xb8[\x81-\xb0\xb2\xb3]|\xe0\xb9[\x80-\x86]|\xe0\xba[\x81\x82\x84\x87\x88\x8a\x8d\x94-\x97\x99-\x9f\xa1-\xa3\xa5\xa7\xaa\xab\xad-\xb0\xb2\xb3\xbd]|\xe0\xbb[\x80-\x84\x86\x9c-\x9f]|\xe0\xbc[\x80]|\xe0\xbd[\x80-\x87\x89-\xac]|\xe0\xbe[\x88-\x8c]|\xe1\x80[\x80-\xaa\xbf]|\xe1\x81[\x90-\x95\x9a-\x9d\xa1\xa5\xa6\xae-\xb0\xb5-\xbf]|\xe1\x82[\x80\x81\x8e\xa0-\xbf]|\xe1\x83[\x80-\x85\x87\x8d\x90-\xba\xbc-\xbf]|\xe1\x89[\x80-\x88\x8a-\x8d\x90-\x96\x98\x9a-\x9d\xa0-\xbf]|\xe1\x8a[\x80-\x88\x8a-\x8d\x90-\xb0\xb2-\xb5\xb8-\xbe]
-UnicodeIDStart_2 \xe1\x8b[\x80\x82-\x85\x88-\x96\x98-\xbf]|\xe1\x8c[\x80-\x90\x92-\x95\x98-\xbf]|\xe1\x8d[\x80-\x9a]|\xe1\x8e[\x80-\x8f\xa0-\xbf]|\xe1\x8f[\x80-\xb5\xb8-\xbd]|\xe1\x90[\x81-\xbf]|\xe1\x99[\x80-\xac\xaf-\xbf]|\xe1\x9a[\x81-\x9a\xa0-\xbf]|\xe1\x9b[\x80-\xaa\xae-\xb8]|\xe1\x9c[\x80-\x8c\x8e-\x91\xa0-\xb1]|\xe1\x9d[\x80-\x91\xa0-\xac\xae-\xb0]|\xe1\x9e[\x80-\xb3]|\xe1\x9f[\x9c\x97]|\xe1\xa0[\xa0-\xbf]|\xe1\xa1[\x80-\xb7]|\xe1\xa2[\x80-\xa8\xaa\xb0-\xbf]|\xe1\xa3[\x80-\xb5]|\xe1\xa4[\x80-\x9e]|\xe1\xa5[\x90-\xad\xb0-\xb4]|\xe1\xa6[\x80-\xab\xb0-\xbf]|\xe1\xa7[\x80-\x89]|\xe1\xa8[\x80-\x96\xa0-\xbf]|\xe1\xa9[\x80-\x94]|\xe1\xaa[\xa7]|\xe1\xac[\x85-\xb3]|\xe1\xad[\x85-\x8b]|\xe1\xae[\x83-\xa0\xae\xaf\xba-\xbf]|\xe1\xaf[\x80-\xa5]|\xe1\xb0[\x80-\xa3]|\xe1\xb1[\x8d-\x8f\x9a-\xbd]|\xe1\xb3[\xa9-\xac\xae-\xb1\xb5\xb6]|\xe1\xbc[\x80-\x95\x98-\x9d\xa0-\xbf]|\xe1\xbd[\x80-\x85\x88-\x8d\x90-\x97\x99\x9b\x9d\x9f-\xbd]|\xe1\xbe[\x80-\xb4\xb6-\xbc\xbe]|\xe1\xbf[\x82-\x84\x86-\x8c\x90-\x93\x96-\x9b\xa0-\xac\xb2-\xb4\xb6-\xbc]
-UnicodeIDStart_3 \xe1[\x84-\x88\x91-\x98\xb4-\xb6\xb8-\xbb][\x80-\xbf]|\xe2\x81[\xb1\xbf]|\xe2\x82[\x90-\x9c]|\xe2\x84[\x82\x87\x8a-\x93\x95\x98-\x9d\xa4\xa6\xa8\xaa-\xb9\xbc-\xbf]|\xe2\x85[\x85-\x89\x8e\xa0-\xbf]|\xe2\x86[\x80-\x88]|\xe2\xb0[\x80-\xae\xb0-\xbf]|\xe2\xb1[\x80-\x9e\xa0-\xbf]|\xe2\xb3[\x80-\xa4\xab-\xae\xb2\xb3]|\xe2\xb4[\x80-\xa5\xa7\xad\xb0-\xbf]|\xe2\xb5[\x80-\xa7\xaf]|\xe2\xb6[\x80-\x96\xa0-\xa6\xa8-\xae\xb0-\xb6\xb8-\xbe]|\xe2\xb7[\x80-\x86\x88-\x8e\x90-\x96\x98-\x9e]|\xe2[\xb2][\x80-\xbf]|\xe3\x80[\x85-\x87\xa1-\xa9\xb1-\xb5\xb8-\xbc]|\xe3\x81[\x81-\xbf]|\xe3\x82[\x80-\x96\x9b-\x9f\xa1-\xbf]|\xe3\x83[\x80-\xba\xbc-\xbf]|\xe3\x84[\x85-\xad\xb1-\xbf]|\xe3\x86[\x80-\x8e\xa0-\xba]|\xe3\x87[\xb0-\xbf]|\xe3[\x85\x90-\xbf][\x80-\xbf]|\xe4\xb6[\x80-\xb5]|\xe4[\x80-\xb5\xb8-\xbf][\x80-\xbf]|\xe9\xbf[\x80-\x95]|\xe9[\x80-\xbe][\x80-\xbf]|\xea\x92[\x80-\x8c]|\xea\x93[\x90-\xbd]|\xea\x98[\x80-\x8c\x90-\x9f\xaa\xab]|\xea\x99[\x80-\xae\xbf]|\xea\x9a[\x80-\x9d\xa0-\xbf]|\xea\x9b[\x80-\xaf]|\xea\x9c[\x97-\x9f\xa2-\xbf]
-UnicodeIDStart_4 \xea\x9e[\x80-\x88\x8b-\xad\xb0-\xb7]|\xea\x9f[\xb7-\xbf]|\xea\xa0[\x80\x81\x83-\x85\x87-\x8a\x8c-\xa2]|\xea\xa1[\x80-\xb3]|\xea\xa2[\x82-\xb3]|\xea\xa3[\xb2-\xb7\xbb\xbd]|\xea\xa4[\x8a-\xa5\xb0-\xbf]|\xea\xa5[\x80-\x86\xa0-\xbc]|\xea\xa6[\x84-\xb2]|\xea\xa7[\xa0-\xa4\xa6-\xae\x8f\xbb\xba\xaf\xbc-\xbe]|\xea\xa8[\x80-\xa8]|\xea\xa9[\x80-\x82\x84-\x8b\xa0-\xb6\xba\xbe\xbf]|\xea\xaa[\x80-\xaf\xb1\xb5\xb6\xb9-\xbd]|\xea\xab[\x80\xa0\x82\xa3-\xa6\xa1\xa8-\xaa\xa7\xa2\xb2-\xb4\x9b-\x9d]|\xea\xac[\x81-\x86\x89-\x8e\x91-\x96\xa0-\xa6\xa8-\xae\xb0-\xbf]|\xea\xad[\x80-\x9a\x9c-\xa5\xb0-\xbf]|\xea\xaf[\x80-\xa2]|\xea[\x80-\x91\x94-\x97\x9d\xae\xb0-\xbf][\x80-\xbf]|\xed\x9e[\x80-\xa3\xb0-\xbf]|\xed\x9f[\x80-\x86\x8b-\xbb]|\xed[\x80-\x9d][\x80-\xbf]|\xef\xa9[\x80-\xad\xb0-\xbf]|\xef\xab[\x80-\x99]|\xef\xac[\x80-\x86\x93-\x97\x9d\x9f-\xa8\xaa-\xb6\xb8-\xbc\xbe]|\xef\xad[\x80\x81\x83\x84\x86-\xbf]|\xef\xae[\x80-\xb1]|\xef\xaf[\x93-\xbf]|\xef\xb4[\x80-\xbd]|\xef\xb5[\x90-\xbf]|\xef\xb6[\x80-\x8f\x92-\xbf]
-UnicodeIDStart_5 \xef\xb7[\x80-\x87\xb0-\xbb]|\xef\xb9[\xb0-\xb4\xb6-\xbf]|\xef\xbb[\x80-\xbc]|\xef\xbc[\xa1-\xba]|\xef\xbd[\x81-\x9a\xa6-\xbf]|\xef\xbe[\x80-\xbe]|\xef\xbf[\x82-\x87\x8a-\x8f\x92-\x97\x9a-\x9c]|\xef[\xa4-\xa8\xaa\xb0-\xb3\xba][\x80-\xbf]|[\xe5-\xe8\xeb\xec][\x80-\xbf][\x80-\xbf]|\xf0\x90\x80[\x80-\x8b\x8d-\xa6\xa8-\xba\xbc\xbd\xbf]|\xf0\x90\x81[\x80-\x8d\x90-\x9d]|\xf0\x90\x83[\x80-\xba]|\xf0\x90\x85[\x80-\xb4]|\xf0\x90\x8a[\x80-\x9c\xa0-\xbf]|\xf0\x90\x8b[\x80-\x90]|\xf0\x90\x8c[\x80-\x9f\xb0-\xbf]|\xf0\x90\x8d[\x80-\x8a\x90-\xb5]|\xf0\x90\x8e[\x80-\x9d\xa0-\xbf]|\xf0\x90\x8f[\x80-\x83\x88-\x8f\x91-\x95]|\xf0\x90\x92[\x80-\x9d]|\xf0\x90\x94[\x80-\xa7\xb0-\xbf]|\xf0\x90\x95[\x80-\xa3]|\xf0\x90\x9c[\x80-\xb6]|\xf0\x90\x9d[\x80-\x95\xa0-\xa7]|\xf0\x90\xa0[\x80-\x85\x88\x8a-\xb5\xb7\xb8\xbc\xbf]|\xf0\x90\xa1[\x80-\x95\xa0-\xb6]|\xf0\x90\xa2[\x80-\x9e]|\xf0\x90\xa3[\xa0-\xb2\xb4\xb5]|\xf0\x90\xa4[\x80-\x95\xa0-\xb9]|\xf0\x90\xa6[\x80-\xb7\xbe\xbf]|\xf0\x90\xa8[\x80\x90-\x93\x95-\x97\x99-\xb3]
-UnicodeIDStart_6 \xf0\x90\xa9[\xa0-\xbc]|\xf0\x90\xaa[\x80-\x9c]|\xf0\x90\xab[\x80-\x87\x89-\xa4]|\xf0\x90\xac[\x80-\xb5]|\xf0\x90\xad[\x80-\x95\xa0-\xb2]|\xf0\x90\xae[\x80-\x91]|\xf0\x90\xb1[\x80-\x88]|\xf0\x90\xb2[\x80-\xb2]|\xf0\x90\xb3[\x80-\xb2]|\xf0\x90[\x82\x90\x91\x98-\x9b\xb0][\x80-\xbf]|\xf0\x91\x80[\x83-\xb7]|\xf0\x91\x82[\x83-\xaf]|\xf0\x91\x83[\x90-\xa8]|\xf0\x91\x84[\x83-\xa6]|\xf0\x91\x85[\x90-\xb2\xb6]|\xf0\x91\x86[\x83-\xb2]|\xf0\x91\x87[\x81-\x84\x9a\x9c]|\xf0\x91\x88[\x80-\x91\x93-\xab]|\xf0\x91\x8a[\x80-\x86\x88\x8a-\x8d\x8f-\x9d\x9f-\xa8\xb0-\xbf]|\xf0\x91\x8b[\x80-\x9e]|\xf0\x91\x8c[\x85-\x8c\x8f\x90\x93-\xa8\xaa-\xb0\xb2\xb3\xb5-\xb9\xbd]|\xf0\x91\x8d[\xa0\xa1\x90\x9d-\x9f]|\xf0\x91\x92[\x80-\xaf]|\xf0\x91\x93[\x84\x85\x87]|\xf0\x91\x96[\x80-\xae]|\xf0\x91\x97[\x98-\x9b]|\xf0\x91\x98[\x80-\xaf]|\xf0\x91\x99[\x84]|\xf0\x91\x9a[\x80-\xaa]|\xf0\x91\x9c[\x80-\x99]|\xf0\x91\xa2[\xa0-\xbf]|\xf0\x91\xa3[\x80-\x9f\xbf]|\xf0\x91\xab[\x80-\xb8]|\xf0\x92\x8e[\x80-\x99]|\xf0\x92\x91[\x80-\xae]
-UnicodeIDStart_7 \xf0\x92\x95[\x80-\x83]|\xf0\x92[\x80-\x8d\x90\x92-\x94][\x80-\xbf]|\xf0\x93\x90[\x80-\xae]|\xf0\x93[\x80-\x8f][\x80-\xbf]|\xf0\x94\x99[\x80-\x86]|\xf0\x94[\x90-\x98][\x80-\xbf]|\xf0\x96\xa8[\x80-\xb8]|\xf0\x96\xa9[\x80-\x9e]|\xf0\x96\xab[\x90-\xad]|\xf0\x96\xac[\x80-\xaf]|\xf0\x96\xad[\x80-\x83\xa3-\xb7\xbd-\xbf]|\xf0\x96\xae[\x80-\x8f]|\xf0\x96\xbd[\x80-\x84\x90]|\xf0\x96\xbe[\x93-\x9f]|\xf0\x96[\xa0-\xa7\xbc][\x80-\xbf]|\xf0\x9b\x80[\x80\x81]|\xf0\x9b\xb2[\x80-\x88\x90-\x99]|\xf0\x9b\xb1[\x80-\xaa\xb0-\xbc]|\xf0\x9b[\xb0][\x80-\xbf]|\xf0\x9d\x91[\x80-\x94\x96-\xbf]|\xf0\x9d\x92[\x80-\x9c\x9e\x9f\xa2\xa5\xa6\xa9-\xac\xae-\xb9\xbb\xbd-\xbf]|\xf0\x9d\x93[\x80-\x83\x85-\xbf]|\xf0\x9d\x94[\x80-\x85\x87-\x8a\x8d-\x94\x96-\x9c\x9e-\xb9\xbb-\xbe]|\xf0\x9d\x95[\x80-\x84\x86\x8a-\x90\x92-\xbf]|\xf0\x9d\x9a[\x80-\xa5\xa8-\xbf]|\xf0\x9d\x9b[\x80\x82-\x9a\x9c-\xba\xbc-\xbf]|\xf0\x9d\x9c[\x80-\x94\x96-\xb4\xb6-\xbf]|\xf0\x9d\x9d[\x80-\x8e\x90-\xae\xb0-\xbf]|\xf0\x9d\x9e[\x80-\x88\x8a-\xa8\xaa-\xbf]
-UnicodeIDStart {UnicodeIDStart_0}|{UnicodeIDStart_1}|{UnicodeIDStart_2}|{UnicodeIDStart_3}|{UnicodeIDStart_4}|{UnicodeIDStart_5}|{UnicodeIDStart_6}|{UnicodeIDStart_7}|\xf0\x9d\x9f[\x80-\x82\x84-\x8b]|\xf0\x9d[\x90\x96-\x99][\x80-\xbf]|\xf0\x9e\xa3[\x80-\x84]|\xf0\x9e\xb8[\x80-\x83\x85-\x9f\xa1\xa2\xa4\xa7\xa9-\xb2\xb4-\xb7\xb9\xbb]|\xf0\x9e\xb9[\x82\x87\x89\x8b\x8d-\x8f\x91\x92\x94\x97\x99\x9b\x9d\x9f\xa1\xa2\xa4\xa7-\xaa\xac-\xb2\xb4-\xb7\xb9-\xbc\xbe]|\xf0\x9e\xba[\x80-\x89\x8b-\x9b\xa1-\xa3\xa5-\xa9\xab-\xbb]|\xf0\x9e[\xa0-\xa2][\x80-\xbf]|\xf0\xaa\x9b[\x80-\x96]|\xf0\xaa[\x80-\x9a\x9c-\xbf][\x80-\xbf]|\xf0\xab\x9c[\x80-\xb4]|\xf0\xab\xa0[\x80-\x9d\xa0-\xbf]|\xf0\xab[\x80-\x9b\x9d-\x9f\xa1-\xbf][\x80-\xbf]|\xf0\xac\xba[\x80-\xa1]|\xf0\xac[\x80-\xb9][\x80-\xbf]|\xf0\xaf\xa8[\x80-\x9d]|\xf0\xaf[\xa0-\xa7][\x80-\xbf]|\xf0[\xa0-\xa9][\x80-\xbf][\x80-\xbf]
+UnicodeIDStart_0 [\x41-\x5a\x61-\x7a]|\xc2[\xaa\xb5\xba]|\xc3[\x80-\x96\x98-\xb6\xb8-\xbf]|\xcb[\x80\x81\x86-\x91\xa0-\xa4\xac\xae]|\xcd[\xb0-\xb4\xb6\xb7\xba-\xbd\xbf]|\xce[\x86\x88-\x8a\x8c\x8e-\xa1\xa3-\xbf]|\xcf[\x80-\xb5\xb7-\xbf]|\xd2[\x80\x81\x8a-\xbf]|\xd4[\x80-\xaf\xb1-\xbf]|\xd5[\x80-\x96\x99\xa1-\xbf]|\xd6[\x80-\x87]|\xd7[\x90-\xaa\xb0-\xb2]|\xd8[\xa0-\xbf]|\xd9[\x80-\x8a\xae\xaf\xb1-\xbf]|\xdb[\x80-\x93\x95\xa5\xa6\xae\xaf\xba-\xbc\xbf]|\xdc[\x90\x92-\xaf]|\xdd[\x8d-\xbf]|\xde[\x80-\xa5\xb1]|\xdf[\x8a-\xaa\xb4\xb5\xba]|[\xc4-\xca\xd0\xd1\xd3\xda][\x80-\xbf]|\xe0\xa0[\x80-\x95\x9a\xa4\xa8]|\xe0\xa1[\x80-\x98]|\xe0\xa2[\xa0-\xb4]|\xe0\xa4[\x84-\xb9\xbd]|\xe0\xa5[\x90\x98-\xa1\xb1-\xbf]|\xe0\xa6[\x80\x85-\x8c\x8f\x90\x93-\xa8\xaa-\xb0\xb2\xb6-\xb9\xbd]|\xe0\xa7[\x8e\x9c\x9d\x9f-\xa1\xb0\xb1]|\xe0\xa8[\x85-\x8a\x8f\x90\x93-\xa8\xaa-\xb0\xb2\xb3\xb5\xb6\xb8\xb9]|\xe0\xa9[\x99-\x9c\x9e\xb2-\xb4]|\xe0\xaa[\x85-\x8d\x8f-\x91\x93-\xa8\xaa-\xb0\xb2\xb3\xb5-\xb9\xbd]|\xe0\xab[\x90\xa0\xa1\xb9]|\xe0\xac[\x85-\x8c\x8f\x90\x93-\xa8\xaa-\xb0\xb2\xb3\xb5-\xb9\xbd]
+UnicodeIDStart_1 \xe0\xad[\x9c\x9d\x9f-\xa1\xb1]|\xe0\xae[\x83\x85-\x8a\x8e-\x90\x92-\x95\x99\x9a\x9c\x9e\x9f\xa3\xa4\xa8-\xaa\xae-\xb9]|\xe0\xaf[\x90]|\xe0\xb0[\x85-\x8c\x8e-\x90\x92-\xa8\xaa-\xb9\xbd]|\xe0\xb1[\x98-\x9a\xa0\xa1]|\xe0\xb2[\x85-\x8c\x8e-\x90\x92-\xa8\xaa-\xb3\xb5-\xb9\xbd]|\xe0\xb3[\x9e\xa0\xa1\xb1\xb2]|\xe0\xb4[\x85-\x8c\x8e-\x90\x92-\xba\xbd]|\xe0\xb5[\x8e\x9f-\xa1\xba-\xbf]|\xe0\xb6[\x85-\x96\x9a-\xb1\xb3-\xbb\xbd]|\xe0\xb7[\x80-\x86]|\xe0\xb8[\x81-\xb0\xb2\xb3]|\xe0\xb9[\x80-\x86]|\xe0\xba[\x81\x82\x84\x87\x88\x8a\x8d\x94-\x97\x99-\x9f\xa1-\xa3\xa5\xa7\xaa\xab\xad-\xb0\xb2\xb3\xbd]|\xe0\xbb[\x80-\x84\x86\x9c-\x9f]|\xe0\xbc[\x80]|\xe0\xbd[\x80-\x87\x89-\xac]|\xe0\xbe[\x88-\x8c]|\xe1\x80[\x80-\xaa\xbf]|\xe1\x81[\x90-\x95\x9a-\x9d\xa1\xa5\xa6\xae-\xb0\xb5-\xbf]|\xe1\x82[\x80\x81\x8e\xa0-\xbf]|\xe1\x83[\x80-\x85\x87\x8d\x90-\xba\xbc-\xbf]|\xe1\x89[\x80-\x88\x8a-\x8d\x90-\x96\x98\x9a-\x9d\xa0-\xbf]|\xe1\x8a[\x80-\x88\x8a-\x8d\x90-\xb0\xb2-\xb5\xb8-\xbe]|\xe1\x8b[\x80\x82-\x85\x88-\x96\x98-\xbf]
+UnicodeIDStart_2 \xe1\x8c[\x80-\x90\x92-\x95\x98-\xbf]|\xe1\x8d[\x80-\x9a]|\xe1\x8e[\x80-\x8f\xa0-\xbf]|\xe1\x8f[\x80-\xb5\xb8-\xbd]|\xe1\x90[\x81-\xbf]|\xe1\x99[\x80-\xac\xaf-\xbf]|\xe1\x9a[\x81-\x9a\xa0-\xbf]|\xe1\x9b[\x80-\xaa\xae-\xb8]|\xe1\x9c[\x80-\x8c\x8e-\x91\xa0-\xb1]|\xe1\x9d[\x80-\x91\xa0-\xac\xae-\xb0]|\xe1\x9e[\x80-\xb3]|\xe1\x9f[\x97\x9c]|\xe1\xa0[\xa0-\xbf]|\xe1\xa1[\x80-\xb7]|\xe1\xa2[\x80-\xa8\xaa\xb0-\xbf]|\xe1\xa3[\x80-\xb5]|\xe1\xa4[\x80-\x9e]|\xe1\xa5[\x90-\xad\xb0-\xb4]|\xe1\xa6[\x80-\xab\xb0-\xbf]|\xe1\xa7[\x80-\x89]|\xe1\xa8[\x80-\x96\xa0-\xbf]|\xe1\xa9[\x80-\x94]|\xe1\xaa[\xa7]|\xe1\xac[\x85-\xb3]|\xe1\xad[\x85-\x8b]|\xe1\xae[\x83-\xa0\xae\xaf\xba-\xbf]|\xe1\xaf[\x80-\xa5]|\xe1\xb0[\x80-\xa3]|\xe1\xb1[\x8d-\x8f\x9a-\xbd]|\xe1\xb3[\xa9-\xac\xae-\xb1\xb5\xb6]|\xe1\xbc[\x80-\x95\x98-\x9d\xa0-\xbf]|\xe1\xbd[\x80-\x85\x88-\x8d\x90-\x97\x99\x9b\x9d\x9f-\xbd]|\xe1\xbe[\x80-\xb4\xb6-\xbc\xbe]|\xe1\xbf[\x82-\x84\x86-\x8c\x90-\x93\x96-\x9b\xa0-\xac\xb2-\xb4\xb6-\xbc]|\xe1[\x84-\x88\x91-\x98\xb4-\xb6\xb8-\xbb][\x80-\xbf]
+UnicodeIDStart_3 \xe2\x81[\xb1\xbf]|\xe2\x82[\x90-\x9c]|\xe2\x84[\x82\x87\x8a-\x93\x95\x98-\x9d\xa4\xa6\xa8\xaa-\xb9\xbc-\xbf]|\xe2\x85[\x85-\x89\x8e\xa0-\xbf]|\xe2\x86[\x80-\x88]|\xe2\xb0[\x80-\xae\xb0-\xbf]|\xe2\xb1[\x80-\x9e\xa0-\xbf]|\xe2\xb3[\x80-\xa4\xab-\xae\xb2\xb3]|\xe2\xb4[\x80-\xa5\xa7\xad\xb0-\xbf]|\xe2\xb5[\x80-\xa7\xaf]|\xe2\xb6[\x80-\x96\xa0-\xa6\xa8-\xae\xb0-\xb6\xb8-\xbe]|\xe2\xb7[\x80-\x86\x88-\x8e\x90-\x96\x98-\x9e]|\xe2[\xb2][\x80-\xbf]|\xe3\x80[\x85-\x87\xa1-\xa9\xb1-\xb5\xb8-\xbc]|\xe3\x81[\x81-\xbf]|\xe3\x82[\x80-\x96\x9b-\x9f\xa1-\xbf]|\xe3\x83[\x80-\xba\xbc-\xbf]|\xe3\x84[\x85-\xad\xb1-\xbf]|\xe3\x86[\x80-\x8e\xa0-\xba]|\xe3\x87[\xb0-\xbf]|\xe3[\x85\x90-\xbf][\x80-\xbf]|\xe4\xb6[\x80-\xb5]|\xe4[\x80-\xb5\xb8-\xbf][\x80-\xbf]|\xe9\xbf[\x80-\x95]|\xe9[\x80-\xbe][\x80-\xbf]|\xea\x92[\x80-\x8c]|\xea\x93[\x90-\xbd]|\xea\x98[\x80-\x8c\x90-\x9f\xaa\xab]|\xea\x99[\x80-\xae\xbf]|\xea\x9a[\x80-\x9d\xa0-\xbf]|\xea\x9b[\x80-\xaf]|\xea\x9c[\x97-\x9f\xa2-\xbf]|\xea\x9e[\x80-\x88\x8b-\xad\xb0-\xb7]
+UnicodeIDStart_4 \xea\x9f[\xb7-\xbf]|\xea\xa0[\x80\x81\x83-\x85\x87-\x8a\x8c-\xa2]|\xea\xa1[\x80-\xb3]|\xea\xa2[\x82-\xb3]|\xea\xa3[\xb2-\xb7\xbb\xbd]|\xea\xa4[\x8a-\xa5\xb0-\xbf]|\xea\xa5[\x80-\x86\xa0-\xbc]|\xea\xa6[\x84-\xb2]|\xea\xa7[\x8f\xa0-\xa4\xa6-\xaf\xba-\xbe]|\xea\xa8[\x80-\xa8]|\xea\xa9[\x80-\x82\x84-\x8b\xa0-\xb6\xba\xbe\xbf]|\xea\xaa[\x80-\xaf\xb1\xb5\xb6\xb9-\xbd]|\xea\xab[\x80\x82\x9b-\x9d\xa0-\xaa\xb2-\xb4]|\xea\xac[\x81-\x86\x89-\x8e\x91-\x96\xa0-\xa6\xa8-\xae\xb0-\xbf]|\xea\xad[\x80-\x9a\x9c-\xa5\xb0-\xbf]|\xea\xaf[\x80-\xa2]|\xea[\x80-\x91\x94-\x97\x9d\xae\xb0-\xbf][\x80-\xbf]|\xed\x9e[\x80-\xa3\xb0-\xbf]|\xed\x9f[\x80-\x86\x8b-\xbb]|\xed[\x80-\x9d][\x80-\xbf]|\xef\xa9[\x80-\xad\xb0-\xbf]|\xef\xab[\x80-\x99]|\xef\xac[\x80-\x86\x93-\x97\x9d\x9f-\xa8\xaa-\xb6\xb8-\xbc\xbe]|\xef\xad[\x80\x81\x83\x84\x86-\xbf]|\xef\xae[\x80-\xb1]|\xef\xaf[\x93-\xbf]|\xef\xb4[\x80-\xbd]|\xef\xb5[\x90-\xbf]|\xef\xb6[\x80-\x8f\x92-\xbf]|\xef\xb7[\x80-\x87\xb0-\xbb]|\xef\xb9[\xb0-\xb4\xb6-\xbf]|\xef\xbb[\x80-\xbc]
+UnicodeIDStart_5 \xef\xbc[\xa1-\xba]|\xef\xbd[\x81-\x9a\xa6-\xbf]|\xef\xbe[\x80-\xbe]|\xef\xbf[\x82-\x87\x8a-\x8f\x92-\x97\x9a-\x9c]|\xef[\xa4-\xa8\xaa\xb0-\xb3\xba][\x80-\xbf]|[\xe5-\xe8\xeb\xec][\x80-\xbf]{2}|\xf0\x90\x80[\x80-\x8b\x8d-\xa6\xa8-\xba\xbc\xbd\xbf]|\xf0\x90\x81[\x80-\x8d\x90-\x9d]|\xf0\x90\x83[\x80-\xba]|\xf0\x90\x85[\x80-\xb4]|\xf0\x90\x8a[\x80-\x9c\xa0-\xbf]|\xf0\x90\x8b[\x80-\x90]|\xf0\x90\x8c[\x80-\x9f\xb0-\xbf]|\xf0\x90\x8d[\x80-\x8a\x90-\xb5]|\xf0\x90\x8e[\x80-\x9d\xa0-\xbf]|\xf0\x90\x8f[\x80-\x83\x88-\x8f\x91-\x95]|\xf0\x90\x92[\x80-\x9d]|\xf0\x90\x94[\x80-\xa7\xb0-\xbf]|\xf0\x90\x95[\x80-\xa3]|\xf0\x90\x9c[\x80-\xb6]|\xf0\x90\x9d[\x80-\x95\xa0-\xa7]|\xf0\x90\xa0[\x80-\x85\x88\x8a-\xb5\xb7\xb8\xbc\xbf]|\xf0\x90\xa1[\x80-\x95\xa0-\xb6]|\xf0\x90\xa2[\x80-\x9e]|\xf0\x90\xa3[\xa0-\xb2\xb4\xb5]|\xf0\x90\xa4[\x80-\x95\xa0-\xb9]|\xf0\x90\xa6[\x80-\xb7\xbe\xbf]|\xf0\x90\xa8[\x80\x90-\x93\x95-\x97\x99-\xb3]|\xf0\x90\xa9[\xa0-\xbc]|\xf0\x90\xaa[\x80-\x9c]|\xf0\x90\xab[\x80-\x87\x89-\xa4]|\xf0\x90\xac[\x80-\xb5]
+UnicodeIDStart_6 \xf0\x90\xad[\x80-\x95\xa0-\xb2]|\xf0\x90\xae[\x80-\x91]|\xf0\x90\xb1[\x80-\x88]|\xf0\x90\xb2[\x80-\xb2]|\xf0\x90\xb3[\x80-\xb2]|\xf0\x90[\x82\x90\x91\x98-\x9b\xb0][\x80-\xbf]|\xf0\x91\x80[\x83-\xb7]|\xf0\x91\x82[\x83-\xaf]|\xf0\x91\x83[\x90-\xa8]|\xf0\x91\x84[\x83-\xa6]|\xf0\x91\x85[\x90-\xb2\xb6]|\xf0\x91\x86[\x83-\xb2]|\xf0\x91\x87[\x81-\x84\x9a\x9c]|\xf0\x91\x88[\x80-\x91\x93-\xab]|\xf0\x91\x8a[\x80-\x86\x88\x8a-\x8d\x8f-\x9d\x9f-\xa8\xb0-\xbf]|\xf0\x91\x8b[\x80-\x9e]|\xf0\x91\x8c[\x85-\x8c\x8f\x90\x93-\xa8\xaa-\xb0\xb2\xb3\xb5-\xb9\xbd]|\xf0\x91\x8d[\x90\x9d-\xa1]|\xf0\x91\x92[\x80-\xaf]|\xf0\x91\x93[\x84\x85\x87]|\xf0\x91\x96[\x80-\xae]|\xf0\x91\x97[\x98-\x9b]|\xf0\x91\x98[\x80-\xaf]|\xf0\x91\x99[\x84]|\xf0\x91\x9a[\x80-\xaa]|\xf0\x91\x9c[\x80-\x99]|\xf0\x91\xa2[\xa0-\xbf]|\xf0\x91\xa3[\x80-\x9f\xbf]|\xf0\x91\xab[\x80-\xb8]|\xf0\x92\x8e[\x80-\x99]|\xf0\x92\x91[\x80-\xae]|\xf0\x92\x95[\x80-\x83]|\xf0\x92[\x80-\x8d\x90\x92-\x94][\x80-\xbf]|\xf0\x93\x90[\x80-\xae]|\xf0\x93[\x80-\x8f][\x80-\xbf]
+UnicodeIDStart_7 \xf0\x94\x99[\x80-\x86]|\xf0\x94[\x90-\x98][\x80-\xbf]|\xf0\x96\xa8[\x80-\xb8]|\xf0\x96\xa9[\x80-\x9e]|\xf0\x96\xab[\x90-\xad]|\xf0\x96\xac[\x80-\xaf]|\xf0\x96\xad[\x80-\x83\xa3-\xb7\xbd-\xbf]|\xf0\x96\xae[\x80-\x8f]|\xf0\x96\xbd[\x80-\x84\x90]|\xf0\x96\xbe[\x93-\x9f]|\xf0\x96[\xa0-\xa7\xbc][\x80-\xbf]|\xf0\x9b\x80[\x80\x81]|\xf0\x9b\xb1[\x80-\xaa\xb0-\xbc]|\xf0\x9b\xb2[\x80-\x88\x90-\x99]|\xf0\x9b[\xb0][\x80-\xbf]|\xf0\x9d\x91[\x80-\x94\x96-\xbf]|\xf0\x9d\x92[\x80-\x9c\x9e\x9f\xa2\xa5\xa6\xa9-\xac\xae-\xb9\xbb\xbd-\xbf]|\xf0\x9d\x93[\x80-\x83\x85-\xbf]|\xf0\x9d\x94[\x80-\x85\x87-\x8a\x8d-\x94\x96-\x9c\x9e-\xb9\xbb-\xbe]|\xf0\x9d\x95[\x80-\x84\x86\x8a-\x90\x92-\xbf]|\xf0\x9d\x9a[\x80-\xa5\xa8-\xbf]|\xf0\x9d\x9b[\x80\x82-\x9a\x9c-\xba\xbc-\xbf]|\xf0\x9d\x9c[\x80-\x94\x96-\xb4\xb6-\xbf]|\xf0\x9d\x9d[\x80-\x8e\x90-\xae\xb0-\xbf]|\xf0\x9d\x9e[\x80-\x88\x8a-\xa8\xaa-\xbf]|\xf0\x9d\x9f[\x80-\x82\x84-\x8b]|\xf0\x9d[\x90\x96-\x99][\x80-\xbf]|\xf0\x9e\xa3[\x80-\x84]|\xf0\x9e\xb8[\x80-\x83\x85-\x9f\xa1\xa2\xa4\xa7\xa9-\xb2\xb4-\xb7\xb9\xbb]
+UnicodeIDStart {UnicodeIDStart_0}|{UnicodeIDStart_1}|{UnicodeIDStart_2}|{UnicodeIDStart_3}|{UnicodeIDStart_4}|{UnicodeIDStart_5}|{UnicodeIDStart_6}|{UnicodeIDStart_7}|\xf0\x9e\xb9[\x82\x87\x89\x8b\x8d-\x8f\x91\x92\x94\x97\x99\x9b\x9d\x9f\xa1\xa2\xa4\xa7-\xaa\xac-\xb2\xb4-\xb7\xb9-\xbc\xbe]|\xf0\x9e\xba[\x80-\x89\x8b-\x9b\xa1-\xa3\xa5-\xa9\xab-\xbb]|\xf0\x9e[\xa0-\xa2][\x80-\xbf]|\xf0\xaa\x9b[\x80-\x96]|\xf0\xaa[\x80-\x9a\x9c-\xbf][\x80-\xbf]|\xf0\xab\x9c[\x80-\xb4]|\xf0\xab\xa0[\x80-\x9d\xa0-\xbf]|\xf0\xab[\x80-\x9b\x9d-\x9f\xa1-\xbf][\x80-\xbf]|\xf0\xac\xba[\x80-\xa1]|\xf0\xac[\x80-\xb9][\x80-\xbf]|\xf0\xaf\xa8[\x80-\x9d]|\xf0\xaf[\xa0-\xa7][\x80-\xbf]|\xf0[\xa0-\xa9][\x80-\xbf]{2}
--- /dev/null
+#!/bin/bash
+echo -ne "bool Is$1(unsigned v){return false"
+sed -e 's/ .*//;/\.\./!{s/^/||v==0x/};/\.\./{s//\&\&0x/;s/^/||v>=0x/;s/$/>=v/};' | tr -d $'\n'
+echo ";}"
--- /dev/null
+#!/usr/bin/python
+
+# Cycript - Optimizing JavaScript Compiler/Runtime
+# Copyright (C) 2009-2015 Jay Freeman (saurik)
+
+# GNU Affero General Public License, Version 3 {{{
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Affero General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Affero General Public License for more details.
+#
+# You should have received a copy of the GNU Affero General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+# }}}
+
+import sys
+
+escape = False
+
+trees = [dict(), dict(), dict(), dict(), dict()]
+
+def insert(point):
+ point = list(point)
+ tree = trees[len(point) - 1]
+ for unit in point:
+ unit = ord(unit)
+ tree = tree.setdefault(unit, dict())
+
+def insertmore(point, prefix=''):
+ if len(point) == 0:
+ return insert(prefix)
+
+ next = point[0]
+ point = point[1:]
+ insertmore(point, prefix + next)
+
+ upper = next.upper()
+ if upper != next:
+ insertmore(point, prefix + upper)
+
+for line in sys.stdin:
+ line = line[0:14]
+ line = line.rstrip(' \n')
+ line = line.split('..')
+ if len(line) == 1:
+ line.append(line[0])
+ line = [int(end, 16) for end in line]
+ for point in range(line[0], line[1] + 1):
+ if escape:
+ point = format(point, 'x')
+ insertmore(point)
+ else:
+ # http://stackoverflow.com/questions/7105874/
+ point = "\\U%08x" % point
+ point = point.decode('unicode-escape')
+ point = point.encode('utf-8')
+ insert(point)
+
+items = []
+
+def encode(value):
+ if escape:
+ if ord('A') <= value <= ord('Z') or ord('a') <= value <= ord('z') or ord('0') <= value <= ord('9'):
+ return chr(value)
+ return '\\x%02x' % value
+
+def build(index, tree, units, wrap=()):
+ if index == 0:
+ keys = sorted(tree.keys())
+ else:
+ keys = []
+ for unit, tree in sorted(tree.items()):
+ if build(index - 1, tree, units + [unit], wrap):
+ keys.append(unit)
+
+ if len(keys) == 0:
+ return False
+
+ if escape:
+ if len(keys) == 10 + 6 + 6:
+ return True
+ else:
+ if len(keys) == 0xc0 - 0x80:
+ return True
+
+ item = ''
+ for unit in units:
+ item += encode(unit)
+ item += '['
+
+ first = -1
+ last = -1
+
+ assert len(keys) != 0
+ for unit in keys + [-1]:
+ if unit != -1:
+ if first == -1:
+ first = unit
+ last = unit
+ continue
+ if unit == last + 1:
+ last = unit
+ continue
+
+ item += encode(first)
+ if first != last:
+ if last != first + 1:
+ item += '-'
+ item += encode(last)
+
+ first = unit
+ last = unit
+
+ item += ']'
+
+ if index != 0:
+ if escape:
+ item += '[0-9A-Fa-f]'
+ else:
+ item += '[\\x80-\\xbf]'
+ if index != 1:
+ item += '{' + str(index) + '}'
+
+ if False:
+ item = item.replace('[\\x00-\\x7f]', '{U1}')
+ item = item.replace('[\\x80-\\xbf]', '{U0}')
+ item = item.replace('[\\xc2-\\xdf]', '{U2}')
+ item = item.replace('[\\xe0-\\xef]', '{U3}')
+ item = item.replace('[\\xf0-\\xf4]', '{U4}')
+
+ count = len(units) + 1 + index
+ if wrap == ():
+ if not escape:
+ wrap = ('', '')
+ elif count > 4:
+ return False
+ else:
+ wrap = ('0' * (4 - count), '')
+
+ items.append(wrap[0] + item + wrap[1])
+ return False
+
+for index, tree in enumerate(trees):
+ build(index, tree, [])
+ if escape:
+ build(index, tree, [], ('\\{0*', '\\}'))
+
+name = sys.argv[1]
+parts = []
+part = []
+length = 0
+index = 0
+for item in items:
+ part += [item]
+ length += len(item) + 1
+ if length > 1000:
+ indexed = name + '_' + str(index)
+ index += 1
+ print indexed, '|'.join(part)
+ parts += ['{' + indexed + '}']
+ part = []
+ length = 0
+parts += part
+print name, '|'.join(parts)
.DELETE_ON_ERROR:
-unicode := unicode.sh unicode.py
+unicode := unicode.sh
unicode += DerivedCoreProperties.txt
unicode += PropList.txt
+unicode += JavaScript.txt
-all: NotLineTerminator.l UnicodeIDStart.l UnicodeIDContinue.l
+files :=
+
+all: NotLineTerminator.l UnicodeIDStart.l UnicodeIDContinue.l IdentifierStart.h IdentifierContinue.h
%.txt:
wget -qc http://www.unicode.org/Public/UCD/latest/ucd/$@
-NotLineTerminator.l: unicode.py
- printf '80..2027\n2029..10ffff\n' | ./unicode.py NotLineTerminator >$@
+files += NotLineTerminator.l
+NotLineTerminator.l: unicode-l.py
+ printf '80..2027\n202a..10ffff\n' | ./unicode-l.py NotLineTerminator >$@
+
+files += UnicodeIDStart.l
+UnicodeIDStart.l: $(unicode) unicode-l.py
+ ./unicode.sh ID_Start DerivedCoreProperties.txt Other_ID_Start PropList.txt | ./unicode-l.py UnicodeIDStart >$@
+
+files += UnicodeIDContinue.l
+UnicodeIDContinue.l: $(unicode) unicode-l.py
+ ./unicode.sh ID_Continue DerivedCoreProperties.txt Other_ID_Continue PropList.txt | ./unicode-l.py UnicodeIDContinue >$@
+
+files += IdentifierStart.h
+IdentifierStart.h: $(unicode) unicode-c.sh
+ ./unicode.sh ID_Start DerivedCoreProperties.txt Other_ID_Start PropList.txt JavaScript_ID_Start JavaScript.txt | ./unicode-c.sh IdentifierStart >$@
-UnicodeIDStart.l: $(unicode)
- ./unicode.sh UnicodeIDStart ID_Start DerivedCoreProperties.txt Other_ID_Start PropList.txt >$@
+files += IdentifierContinue.h
+IdentifierContinue.h: $(unicode) unicode-c.sh
+ ./unicode.sh ID_Continue DerivedCoreProperties.txt Other_ID_Continue PropList.txt JavaScript_ID_Continue JavaScript.txt | ./unicode-c.sh IdentifierContinue >$@
-UnicodeIDContinue.l: $(unicode)
- ./unicode.sh UnicodeIDContinue ID_Continue DerivedCoreProperties.txt Other_ID_Continue PropList.txt >$@
+clean:
+ rm -f $(files)
-.PHONY: all
+.PHONY: all clean
+++ /dev/null
-#!/usr/bin/python
-
-# Cycript - Optimizing JavaScript Compiler/Runtime
-# Copyright (C) 2009-2015 Jay Freeman (saurik)
-
-# GNU Affero General Public License, Version 3 {{{
-#
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Affero General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Affero General Public License for more details.
-#
-# You should have received a copy of the GNU Affero General Public License
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
-# }}}
-
-import sys
-
-trees = [dict(), dict(), dict(), dict()]
-
-for line in sys.stdin:
- line = line[0:14]
- line = line.rstrip(' \n')
- line = line.split('..')
- if len(line) == 1:
- line.append(line[0])
- line = [int(end, 16) for end in line]
- for point in range(line[0], line[1] + 1):
- # http://stackoverflow.com/questions/7105874/
- point = "\\U%08x" % point
- point = point.decode('unicode-escape')
- point = point.encode('utf-8')
- point = list(point)
- tree = trees[len(point) - 1]
- for unit in point:
- unit = ord(unit)
- tree = tree.setdefault(unit, dict())
-
-items = []
-
-def build(index, tree, units):
- if index == 0:
- keys = tree.keys()
- else:
- keys = []
- for unit, tree in tree.iteritems():
- if build(index - 1, tree, units + [unit]):
- keys.append(unit)
-
- if len(keys) == 0:
- return False
- if len(keys) == 0xc0 - 0x80:
- return True
-
- item = ''
- for unit in units:
- item += '\\x%02x' % unit
- item += '['
-
- first = -1
- last = -1
-
- assert len(keys) != 0
- for unit in keys + [-1]:
- if unit != -1:
- if first == -1:
- first = unit
- last = unit
- continue
- if unit == last + 1:
- last = unit
- continue
-
- item += '\\x%02x' % first
- if first != last:
- if last != first + 1:
- item += '-'
- item += '\\x%02x' % last
-
- first = unit
- last = unit
-
- item += ']'
-
- for i in range(0, index):
- item += '[\\x80-\\xbf]'
-
- if False:
- item = item.replace('[\\x00-\\x7f]', '{U1}')
- item = item.replace('[\\x80-\\xbf]', '{U0}')
- item = item.replace('[\\xc2-\\xdf]', '{U2}')
- item = item.replace('[\\xe0-\\xef]', '{U3}')
- item = item.replace('[\\xf0-\\xf4]', '{U4}')
-
- items.append(item)
- return False
-
-for index, tree in enumerate(trees):
- build(index, tree, [])
-
-name = sys.argv[1]
-parts = []
-part = []
-length = 0
-index = 0
-for item in items:
- part += [item]
- length += len(item) + 1
- if length > 1000:
- indexed = name + '_' + str(index)
- index += 1
- print indexed, '|'.join(part)
- parts += ['{' + indexed + '}']
- part = []
- length = 0
-parts += part
-print name, '|'.join(parts)
set -e
-name=$1
-shift 1
-
while [[ $# != 0 ]]; do
prop=$1
data=$2
shift 2
grep -F "; ${prop} #" "${data}"
-done | ./unicode.py "${name}"
+done