summaryrefslogtreecommitdiff
path: root/requests
diff options
context:
space:
mode:
authorCory Benfield <lukasaoz@gmail.com>2017-05-09 09:36:27 +0100
committerCory Benfield <lukasaoz@gmail.com>2017-05-09 09:36:27 +0100
commitdebc5de6d4cf77f85f261d55f41084729e25f928 (patch)
tree466a68c4aa3a08209b4d4a4569df2d08a530d207 /requests
parent4bad52caa224a83b3e49b2063fcb21e7b85bbae9 (diff)
downloadpython-requests-debc5de6d4cf77f85f261d55f41084729e25f928.tar.gz
Update idna to v2.5
Diffstat (limited to 'requests')
-rw-r--r--requests/packages/idna/core.py20
-rw-r--r--requests/packages/idna/idnadata.py3120
-rw-r--r--requests/packages/idna/intranges.py17
3 files changed, 1582 insertions, 1575 deletions
diff --git a/requests/packages/idna/core.py b/requests/packages/idna/core.py
index ff3b38d6..b55b6645 100644
--- a/requests/packages/idna/core.py
+++ b/requests/packages/idna/core.py
@@ -156,9 +156,9 @@ def valid_contextj(label, pos):
ok = False
for i in range(pos-1, -1, -1):
joining_type = idnadata.joining_types.get(ord(label[i]))
- if joining_type == 'T':
+ if joining_type == ord('T'):
continue
- if joining_type in ['L', 'D']:
+ if joining_type in [ord('L'), ord('D')]:
ok = True
break
@@ -168,9 +168,9 @@ def valid_contextj(label, pos):
ok = False
for i in range(pos+1, len(label)):
joining_type = idnadata.joining_types.get(ord(label[i]))
- if joining_type == 'T':
+ if joining_type == ord('T'):
continue
- if joining_type in ['R', 'D']:
+ if joining_type in [ord('R'), ord('D')]:
ok = True
break
return ok
@@ -211,9 +211,9 @@ def valid_contexto(label, pos, exception=False):
for cp in label:
if cp == u'\u30fb':
continue
- if not _is_script(cp, 'Hiragana') and not _is_script(cp, 'Katakana') and not _is_script(cp, 'Han'):
- return False
- return True
+ if _is_script(cp, 'Hiragana') or _is_script(cp, 'Katakana') or _is_script(cp, 'Han'):
+ return True
+ return False
elif 0x660 <= cp_value <= 0x669:
for cp in label:
@@ -261,12 +261,12 @@ def alabel(label):
label = label.encode('ascii')
try:
ulabel(label)
- except:
+ except IDNAError:
raise IDNAError('The label {0} is not a valid A-label'.format(label))
if not valid_label_length(label):
raise IDNAError('Label too long')
return label
- except UnicodeError:
+ except UnicodeEncodeError:
pass
if not label:
@@ -288,7 +288,7 @@ def ulabel(label):
if not isinstance(label, (bytes, bytearray)):
try:
label = label.encode('ascii')
- except UnicodeError:
+ except UnicodeEncodeError:
check_label(label)
return label
diff --git a/requests/packages/idna/idnadata.py b/requests/packages/idna/idnadata.py
index 2bffe527..2ff30fee 100644
--- a/requests/packages/idna/idnadata.py
+++ b/requests/packages/idna/idnadata.py
@@ -2,1583 +2,1583 @@
scripts = {
'Greek': (
- (0x370, 0x374),
- (0x375, 0x378),
- (0x37a, 0x37e),
- (0x384, 0x385),
- (0x386, 0x387),
- (0x388, 0x38b),
- (0x38c, 0x38d),
- (0x38e, 0x3a2),
- (0x3a3, 0x3e2),
- (0x3f0, 0x400),
- (0x1d26, 0x1d2b),
- (0x1d5d, 0x1d62),
- (0x1d66, 0x1d6b),
- (0x1dbf, 0x1dc0),
- (0x1f00, 0x1f16),
- (0x1f18, 0x1f1e),
- (0x1f20, 0x1f46),
- (0x1f48, 0x1f4e),
- (0x1f50, 0x1f58),
- (0x1f59, 0x1f5a),
- (0x1f5b, 0x1f5c),
- (0x1f5d, 0x1f5e),
- (0x1f5f, 0x1f7e),
- (0x1f80, 0x1fb5),
- (0x1fb6, 0x1fc5),
- (0x1fc6, 0x1fd4),
- (0x1fd6, 0x1fdc),
- (0x1fdd, 0x1ff0),
- (0x1ff2, 0x1ff5),
- (0x1ff6, 0x1fff),
- (0x2126, 0x2127),
- (0x10140, 0x1018b),
- (0x1d200, 0x1d246),
+ 0x37000000374,
+ 0x37500000378,
+ 0x37a0000037e,
+ 0x38400000385,
+ 0x38600000387,
+ 0x3880000038b,
+ 0x38c0000038d,
+ 0x38e000003a2,
+ 0x3a3000003e2,
+ 0x3f000000400,
+ 0x1d2600001d2b,
+ 0x1d5d00001d62,
+ 0x1d6600001d6b,
+ 0x1dbf00001dc0,
+ 0x1f0000001f16,
+ 0x1f1800001f1e,
+ 0x1f2000001f46,
+ 0x1f4800001f4e,
+ 0x1f5000001f58,
+ 0x1f5900001f5a,
+ 0x1f5b00001f5c,
+ 0x1f5d00001f5e,
+ 0x1f5f00001f7e,
+ 0x1f8000001fb5,
+ 0x1fb600001fc5,
+ 0x1fc600001fd4,
+ 0x1fd600001fdc,
+ 0x1fdd00001ff0,
+ 0x1ff200001ff5,
+ 0x1ff600001fff,
+ 0x212600002127,
+ 0x101400001018b,
+ 0x1d2000001d246,
),
'Han': (
- (0x2e80, 0x2e9a),
- (0x2e9b, 0x2ef4),
- (0x2f00, 0x2fd6),
- (0x3005, 0x3006),
- (0x3007, 0x3008),
- (0x3021, 0x302a),
- (0x3038, 0x303c),
- (0x3400, 0x4db6),
- (0x4e00, 0x9fcd),
- (0xf900, 0xfa6e),
- (0xfa70, 0xfada),
- (0x20000, 0x2a6d7),
- (0x2a700, 0x2b735),
- (0x2b740, 0x2b81e),
- (0x2f800, 0x2fa1e),
+ 0x2e8000002e9a,
+ 0x2e9b00002ef4,
+ 0x2f0000002fd6,
+ 0x300500003006,
+ 0x300700003008,
+ 0x30210000302a,
+ 0x30380000303c,
+ 0x340000004db6,
+ 0x4e0000009fcd,
+ 0xf9000000fa6e,
+ 0xfa700000fada,
+ 0x200000002a6d7,
+ 0x2a7000002b735,
+ 0x2b7400002b81e,
+ 0x2f8000002fa1e,
),
'Hebrew': (
- (0x591, 0x5c8),
- (0x5d0, 0x5eb),
- (0x5f0, 0x5f5),
- (0xfb1d, 0xfb37),
- (0xfb38, 0xfb3d),
- (0xfb3e, 0xfb3f),
- (0xfb40, 0xfb42),
- (0xfb43, 0xfb45),
- (0xfb46, 0xfb50),
+ 0x591000005c8,
+ 0x5d0000005eb,
+ 0x5f0000005f5,
+ 0xfb1d0000fb37,
+ 0xfb380000fb3d,
+ 0xfb3e0000fb3f,
+ 0xfb400000fb42,
+ 0xfb430000fb45,
+ 0xfb460000fb50,
),
'Hiragana': (
- (0x3041, 0x3097),
- (0x309d, 0x30a0),
- (0x1b001, 0x1b002),
- (0x1f200, 0x1f201),
+ 0x304100003097,
+ 0x309d000030a0,
+ 0x1b0010001b002,
+ 0x1f2000001f201,
),
'Katakana': (
- (0x30a1, 0x30fb),
- (0x30fd, 0x3100),
- (0x31f0, 0x3200),
- (0x32d0, 0x32ff),
- (0x3300, 0x3358),
- (0xff66, 0xff70),
- (0xff71, 0xff9e),
- (0x1b000, 0x1b001),
+ 0x30a1000030fb,
+ 0x30fd00003100,
+ 0x31f000003200,
+ 0x32d0000032ff,
+ 0x330000003358,
+ 0xff660000ff70,
+ 0xff710000ff9e,
+ 0x1b0000001b001,
),
}
joining_types = {
- 0x600: 'U',
- 0x601: 'U',
- 0x602: 'U',
- 0x603: 'U',
- 0x604: 'U',
- 0x608: 'U',
- 0x60b: 'U',
- 0x620: 'D',
- 0x621: 'U',
- 0x622: 'R',
- 0x623: 'R',
- 0x624: 'R',
- 0x625: 'R',
- 0x626: 'D',
- 0x627: 'R',
- 0x628: 'D',
- 0x629: 'R',
- 0x62a: 'D',
- 0x62b: 'D',
- 0x62c: 'D',
- 0x62d: 'D',
- 0x62e: 'D',
- 0x62f: 'R',
- 0x630: 'R',
- 0x631: 'R',
- 0x632: 'R',
- 0x633: 'D',
- 0x634: 'D',
- 0x635: 'D',
- 0x636: 'D',
- 0x637: 'D',
- 0x638: 'D',
- 0x639: 'D',
- 0x63a: 'D',
- 0x63b: 'D',
- 0x63c: 'D',
- 0x63d: 'D',
- 0x63e: 'D',
- 0x63f: 'D',
- 0x640: 'C',
- 0x641: 'D',
- 0x642: 'D',
- 0x643: 'D',
- 0x644: 'D',
- 0x645: 'D',
- 0x646: 'D',
- 0x647: 'D',
- 0x648: 'R',
- 0x649: 'D',
- 0x64a: 'D',
- 0x66e: 'D',
- 0x66f: 'D',
- 0x671: 'R',
- 0x672: 'R',
- 0x673: 'R',
- 0x674: 'U',
- 0x675: 'R',
- 0x676: 'R',
- 0x677: 'R',
- 0x678: 'D',
- 0x679: 'D',
- 0x67a: 'D',
- 0x67b: 'D',
- 0x67c: 'D',
- 0x67d: 'D',
- 0x67e: 'D',
- 0x67f: 'D',
- 0x680: 'D',
- 0x681: 'D',
- 0x682: 'D',
- 0x683: 'D',
- 0x684: 'D',
- 0x685: 'D',
- 0x686: 'D',
- 0x687: 'D',
- 0x688: 'R',
- 0x689: 'R',
- 0x68a: 'R',
- 0x68b: 'R',
- 0x68c: 'R',
- 0x68d: 'R',
- 0x68e: 'R',
- 0x68f: 'R',
- 0x690: 'R',
- 0x691: 'R',
- 0x692: 'R',
- 0x693: 'R',
- 0x694: 'R',
- 0x695: 'R',
- 0x696: 'R',
- 0x697: 'R',
- 0x698: 'R',
- 0x699: 'R',
- 0x69a: 'D',
- 0x69b: 'D',
- 0x69c: 'D',
- 0x69d: 'D',
- 0x69e: 'D',
- 0x69f: 'D',
- 0x6a0: 'D',
- 0x6a1: 'D',
- 0x6a2: 'D',
- 0x6a3: 'D',
- 0x6a4: 'D',
- 0x6a5: 'D',
- 0x6a6: 'D',
- 0x6a7: 'D',
- 0x6a8: 'D',
- 0x6a9: 'D',
- 0x6aa: 'D',
- 0x6ab: 'D',
- 0x6ac: 'D',
- 0x6ad: 'D',
- 0x6ae: 'D',
- 0x6af: 'D',
- 0x6b0: 'D',
- 0x6b1: 'D',
- 0x6b2: 'D',
- 0x6b3: 'D',
- 0x6b4: 'D',
- 0x6b5: 'D',
- 0x6b6: 'D',
- 0x6b7: 'D',
- 0x6b8: 'D',
- 0x6b9: 'D',
- 0x6ba: 'D',
- 0x6bb: 'D',
- 0x6bc: 'D',
- 0x6bd: 'D',
- 0x6be: 'D',
- 0x6bf: 'D',
- 0x6c0: 'R',
- 0x6c1: 'D',
- 0x6c2: 'D',
- 0x6c3: 'R',
- 0x6c4: 'R',
- 0x6c5: 'R',
- 0x6c6: 'R',
- 0x6c7: 'R',
- 0x6c8: 'R',
- 0x6c9: 'R',
- 0x6ca: 'R',
- 0x6cb: 'R',
- 0x6cc: 'D',
- 0x6cd: 'R',
- 0x6ce: 'D',
- 0x6cf: 'R',
- 0x6d0: 'D',
- 0x6d1: 'D',
- 0x6d2: 'R',
- 0x6d3: 'R',
- 0x6d5: 'R',
- 0x6dd: 'U',
- 0x6ee: 'R',
- 0x6ef: 'R',
- 0x6fa: 'D',
- 0x6fb: 'D',
- 0x6fc: 'D',
- 0x6ff: 'D',
- 0x710: 'R',
- 0x712: 'D',
- 0x713: 'D',
- 0x714: 'D',
- 0x715: 'R',
- 0x716: 'R',
- 0x717: 'R',
- 0x718: 'R',
- 0x719: 'R',
- 0x71a: 'D',
- 0x71b: 'D',
- 0x71c: 'D',
- 0x71d: 'D',
- 0x71e: 'R',
- 0x71f: 'D',
- 0x720: 'D',
- 0x721: 'D',
- 0x722: 'D',
- 0x723: 'D',
- 0x724: 'D',
- 0x725: 'D',
- 0x726: 'D',
- 0x727: 'D',
- 0x728: 'R',
- 0x729: 'D',
- 0x72a: 'R',
- 0x72b: 'D',
- 0x72c: 'R',
- 0x72d: 'D',
- 0x72e: 'D',
- 0x72f: 'R',
- 0x74d: 'R',
- 0x74e: 'D',
- 0x74f: 'D',
- 0x750: 'D',
- 0x751: 'D',
- 0x752: 'D',
- 0x753: 'D',
- 0x754: 'D',
- 0x755: 'D',
- 0x756: 'D',
- 0x757: 'D',
- 0x758: 'D',
- 0x759: 'R',
- 0x75a: 'R',
- 0x75b: 'R',
- 0x75c: 'D',
- 0x75d: 'D',
- 0x75e: 'D',
- 0x75f: 'D',
- 0x760: 'D',
- 0x761: 'D',
- 0x762: 'D',
- 0x763: 'D',
- 0x764: 'D',
- 0x765: 'D',
- 0x766: 'D',
- 0x767: 'D',
- 0x768: 'D',
- 0x769: 'D',
- 0x76a: 'D',
- 0x76b: 'R',
- 0x76c: 'R',
- 0x76d: 'D',
- 0x76e: 'D',
- 0x76f: 'D',
- 0x770: 'D',
- 0x771: 'R',
- 0x772: 'D',
- 0x773: 'R',
- 0x774: 'R',
- 0x775: 'D',
- 0x776: 'D',
- 0x777: 'D',
- 0x778: 'R',
- 0x779: 'R',
- 0x77a: 'D',
- 0x77b: 'D',
- 0x77c: 'D',
- 0x77d: 'D',
- 0x77e: 'D',
- 0x77f: 'D',
- 0x7ca: 'D',
- 0x7cb: 'D',
- 0x7cc: 'D',
- 0x7cd: 'D',
- 0x7ce: 'D',
- 0x7cf: 'D',
- 0x7d0: 'D',
- 0x7d1: 'D',
- 0x7d2: 'D',
- 0x7d3: 'D',
- 0x7d4: 'D',
- 0x7d5: 'D',
- 0x7d6: 'D',
- 0x7d7: 'D',
- 0x7d8: 'D',
- 0x7d9: 'D',
- 0x7da: 'D',
- 0x7db: 'D',
- 0x7dc: 'D',
- 0x7dd: 'D',
- 0x7de: 'D',
- 0x7df: 'D',
- 0x7e0: 'D',
- 0x7e1: 'D',
- 0x7e2: 'D',
- 0x7e3: 'D',
- 0x7e4: 'D',
- 0x7e5: 'D',
- 0x7e6: 'D',
- 0x7e7: 'D',
- 0x7e8: 'D',
- 0x7e9: 'D',
- 0x7ea: 'D',
- 0x7fa: 'C',
- 0x840: 'R',
- 0x841: 'D',
- 0x842: 'D',
- 0x843: 'D',
- 0x844: 'D',
- 0x845: 'D',
- 0x846: 'R',
- 0x847: 'D',
- 0x848: 'D',
- 0x849: 'R',
- 0x84a: 'D',
- 0x84b: 'D',
- 0x84c: 'D',
- 0x84d: 'D',
- 0x84e: 'D',
- 0x84f: 'R',
- 0x850: 'D',
- 0x851: 'D',
- 0x852: 'D',
- 0x853: 'D',
- 0x854: 'R',
- 0x855: 'D',
- 0x856: 'U',
- 0x857: 'U',
- 0x858: 'U',
- 0x8a0: 'D',
- 0x8a2: 'D',
- 0x8a3: 'D',
- 0x8a4: 'D',
- 0x8a5: 'D',
- 0x8a6: 'D',
- 0x8a7: 'D',
- 0x8a8: 'D',
- 0x8a9: 'D',
- 0x8aa: 'R',
- 0x8ab: 'R',
- 0x8ac: 'R',
- 0x1806: 'U',
- 0x1807: 'D',
- 0x180a: 'C',
- 0x180e: 'U',
- 0x1820: 'D',
- 0x1821: 'D',
- 0x1822: 'D',
- 0x1823: 'D',
- 0x1824: 'D',
- 0x1825: 'D',
- 0x1826: 'D',
- 0x1827: 'D',
- 0x1828: 'D',
- 0x1829: 'D',
- 0x182a: 'D',
- 0x182b: 'D',
- 0x182c: 'D',
- 0x182d: 'D',
- 0x182e: 'D',
- 0x182f: 'D',
- 0x1830: 'D',
- 0x1831: 'D',
- 0x1832: 'D',
- 0x1833: 'D',
- 0x1834: 'D',
- 0x1835: 'D',
- 0x1836: 'D',
- 0x1837: 'D',
- 0x1838: 'D',
- 0x1839: 'D',
- 0x183a: 'D',
- 0x183b: 'D',
- 0x183c: 'D',
- 0x183d: 'D',
- 0x183e: 'D',
- 0x183f: 'D',
- 0x1840: 'D',
- 0x1841: 'D',
- 0x1842: 'D',
- 0x1843: 'D',
- 0x1844: 'D',
- 0x1845: 'D',
- 0x1846: 'D',
- 0x1847: 'D',
- 0x1848: 'D',
- 0x1849: 'D',
- 0x184a: 'D',
- 0x184b: 'D',
- 0x184c: 'D',
- 0x184d: 'D',
- 0x184e: 'D',
- 0x184f: 'D',
- 0x1850: 'D',
- 0x1851: 'D',
- 0x1852: 'D',
- 0x1853: 'D',
- 0x1854: 'D',
- 0x1855: 'D',
- 0x1856: 'D',
- 0x1857: 'D',
- 0x1858: 'D',
- 0x1859: 'D',
- 0x185a: 'D',
- 0x185b: 'D',
- 0x185c: 'D',
- 0x185d: 'D',
- 0x185e: 'D',
- 0x185f: 'D',
- 0x1860: 'D',
- 0x1861: 'D',
- 0x1862: 'D',
- 0x1863: 'D',
- 0x1864: 'D',
- 0x1865: 'D',
- 0x1866: 'D',
- 0x1867: 'D',
- 0x1868: 'D',
- 0x1869: 'D',
- 0x186a: 'D',
- 0x186b: 'D',
- 0x186c: 'D',
- 0x186d: 'D',
- 0x186e: 'D',
- 0x186f: 'D',
- 0x1870: 'D',
- 0x1871: 'D',
- 0x1872: 'D',
- 0x1873: 'D',
- 0x1874: 'D',
- 0x1875: 'D',
- 0x1876: 'D',
- 0x1877: 'D',
- 0x1880: 'U',
- 0x1881: 'U',
- 0x1882: 'U',
- 0x1883: 'U',
- 0x1884: 'U',
- 0x1885: 'U',
- 0x1886: 'U',
- 0x1887: 'D',
- 0x1888: 'D',
- 0x1889: 'D',
- 0x188a: 'D',
- 0x188b: 'D',
- 0x188c: 'D',
- 0x188d: 'D',
- 0x188e: 'D',
- 0x188f: 'D',
- 0x1890: 'D',
- 0x1891: 'D',
- 0x1892: 'D',
- 0x1893: 'D',
- 0x1894: 'D',
- 0x1895: 'D',
- 0x1896: 'D',
- 0x1897: 'D',
- 0x1898: 'D',
- 0x1899: 'D',
- 0x189a: 'D',
- 0x189b: 'D',
- 0x189c: 'D',
- 0x189d: 'D',
- 0x189e: 'D',
- 0x189f: 'D',
- 0x18a0: 'D',
- 0x18a1: 'D',
- 0x18a2: 'D',
- 0x18a3: 'D',
- 0x18a4: 'D',
- 0x18a5: 'D',
- 0x18a6: 'D',
- 0x18a7: 'D',
- 0x18a8: 'D',
- 0x18aa: 'D',
- 0x200c: 'U',
- 0x200d: 'C',
- 0x2066: 'U',
- 0x2067: 'U',
- 0x2068: 'U',
- 0x2069: 'U',
- 0xa840: 'D',
- 0xa841: 'D',
- 0xa842: 'D',
- 0xa843: 'D',
- 0xa844: 'D',
- 0xa845: 'D',
- 0xa846: 'D',
- 0xa847: 'D',
- 0xa848: 'D',
- 0xa849: 'D',
- 0xa84a: 'D',
- 0xa84b: 'D',
- 0xa84c: 'D',
- 0xa84d: 'D',
- 0xa84e: 'D',
- 0xa84f: 'D',
- 0xa850: 'D',
- 0xa851: 'D',
- 0xa852: 'D',
- 0xa853: 'D',
- 0xa854: 'D',
- 0xa855: 'D',
- 0xa856: 'D',
- 0xa857: 'D',
- 0xa858: 'D',
- 0xa859: 'D',
- 0xa85a: 'D',
- 0xa85b: 'D',
- 0xa85c: 'D',
- 0xa85d: 'D',
- 0xa85e: 'D',
- 0xa85f: 'D',
- 0xa860: 'D',
- 0xa861: 'D',
- 0xa862: 'D',
- 0xa863: 'D',
- 0xa864: 'D',
- 0xa865: 'D',
- 0xa866: 'D',
- 0xa867: 'D',
- 0xa868: 'D',
- 0xa869: 'D',
- 0xa86a: 'D',
- 0xa86b: 'D',
- 0xa86c: 'D',
- 0xa86d: 'D',
- 0xa86e: 'D',
- 0xa86f: 'D',
- 0xa870: 'D',
- 0xa871: 'D',
- 0xa872: 'L',
- 0xa873: 'U',
+ 0x600: 85,
+ 0x601: 85,
+ 0x602: 85,
+ 0x603: 85,
+ 0x604: 85,
+ 0x608: 85,
+ 0x60b: 85,
+ 0x620: 68,
+ 0x621: 85,
+ 0x622: 82,
+ 0x623: 82,
+ 0x624: 82,
+ 0x625: 82,
+ 0x626: 68,
+ 0x627: 82,
+ 0x628: 68,
+ 0x629: 82,
+ 0x62a: 68,
+ 0x62b: 68,
+ 0x62c: 68,
+ 0x62d: 68,
+ 0x62e: 68,
+ 0x62f: 82,
+ 0x630: 82,
+ 0x631: 82,
+ 0x632: 82,
+ 0x633: 68,
+ 0x634: 68,
+ 0x635: 68,
+ 0x636: 68,
+ 0x637: 68,
+ 0x638: 68,
+ 0x639: 68,
+ 0x63a: 68,
+ 0x63b: 68,
+ 0x63c: 68,
+ 0x63d: 68,
+ 0x63e: 68,
+ 0x63f: 68,
+ 0x640: 67,
+ 0x641: 68,
+ 0x642: 68,
+ 0x643: 68,
+ 0x644: 68,
+ 0x645: 68,
+ 0x646: 68,
+ 0x647: 68,
+ 0x648: 82,
+ 0x649: 68,
+ 0x64a: 68,
+ 0x66e: 68,
+ 0x66f: 68,
+ 0x671: 82,
+ 0x672: 82,
+ 0x673: 82,
+ 0x674: 85,
+ 0x675: 82,
+ 0x676: 82,
+ 0x677: 82,
+ 0x678: 68,
+ 0x679: 68,
+ 0x67a: 68,
+ 0x67b: 68,
+ 0x67c: 68,
+ 0x67d: 68,
+ 0x67e: 68,
+ 0x67f: 68,
+ 0x680: 68,
+ 0x681: 68,
+ 0x682: 68,
+ 0x683: 68,
+ 0x684: 68,
+ 0x685: 68,
+ 0x686: 68,
+ 0x687: 68,
+ 0x688: 82,
+ 0x689: 82,
+ 0x68a: 82,
+ 0x68b: 82,
+ 0x68c: 82,
+ 0x68d: 82,
+ 0x68e: 82,
+ 0x68f: 82,
+ 0x690: 82,
+ 0x691: 82,
+ 0x692: 82,
+ 0x693: 82,
+ 0x694: 82,
+ 0x695: 82,
+ 0x696: 82,
+ 0x697: 82,
+ 0x698: 82,
+ 0x699: 82,
+ 0x69a: 68,
+ 0x69b: 68,
+ 0x69c: 68,
+ 0x69d: 68,
+ 0x69e: 68,
+ 0x69f: 68,
+ 0x6a0: 68,
+ 0x6a1: 68,
+ 0x6a2: 68,
+ 0x6a3: 68,
+ 0x6a4: 68,
+ 0x6a5: 68,
+ 0x6a6: 68,
+ 0x6a7: 68,
+ 0x6a8: 68,
+ 0x6a9: 68,
+ 0x6aa: 68,
+ 0x6ab: 68,
+ 0x6ac: 68,
+ 0x6ad: 68,
+ 0x6ae: 68,
+ 0x6af: 68,
+ 0x6b0: 68,
+ 0x6b1: 68,
+ 0x6b2: 68,
+ 0x6b3: 68,
+ 0x6b4: 68,
+ 0x6b5: 68,
+ 0x6b6: 68,
+ 0x6b7: 68,
+ 0x6b8: 68,
+ 0x6b9: 68,
+ 0x6ba: 68,
+ 0x6bb: 68,
+ 0x6bc: 68,
+ 0x6bd: 68,
+ 0x6be: 68,
+ 0x6bf: 68,
+ 0x6c0: 82,
+ 0x6c1: 68,
+ 0x6c2: 68,
+ 0x6c3: 82,
+ 0x6c4: 82,
+ 0x6c5: 82,
+ 0x6c6: 82,
+ 0x6c7: 82,
+ 0x6c8: 82,
+ 0x6c9: 82,
+ 0x6ca: 82,
+ 0x6cb: 82,
+ 0x6cc: 68,
+ 0x6cd: 82,
+ 0x6ce: 68,
+ 0x6cf: 82,
+ 0x6d0: 68,
+ 0x6d1: 68,
+ 0x6d2: 82,
+ 0x6d3: 82,
+ 0x6d5: 82,
+ 0x6dd: 85,
+ 0x6ee: 82,
+ 0x6ef: 82,
+ 0x6fa: 68,
+ 0x6fb: 68,
+ 0x6fc: 68,
+ 0x6ff: 68,
+ 0x710: 82,
+ 0x712: 68,
+ 0x713: 68,
+ 0x714: 68,
+ 0x715: 82,
+ 0x716: 82,
+ 0x717: 82,
+ 0x718: 82,
+ 0x719: 82,
+ 0x71a: 68,
+ 0x71b: 68,
+ 0x71c: 68,
+ 0x71d: 68,
+ 0x71e: 82,
+ 0x71f: 68,
+ 0x720: 68,
+ 0x721: 68,
+ 0x722: 68,
+ 0x723: 68,
+ 0x724: 68,
+ 0x725: 68,
+ 0x726: 68,
+ 0x727: 68,
+ 0x728: 82,
+ 0x729: 68,
+ 0x72a: 82,
+ 0x72b: 68,
+ 0x72c: 82,
+ 0x72d: 68,
+ 0x72e: 68,
+ 0x72f: 82,
+ 0x74d: 82,
+ 0x74e: 68,
+ 0x74f: 68,
+ 0x750: 68,
+ 0x751: 68,
+ 0x752: 68,
+ 0x753: 68,
+ 0x754: 68,
+ 0x755: 68,
+ 0x756: 68,
+ 0x757: 68,
+ 0x758: 68,
+ 0x759: 82,
+ 0x75a: 82,
+ 0x75b: 82,
+ 0x75c: 68,
+ 0x75d: 68,
+ 0x75e: 68,
+ 0x75f: 68,
+ 0x760: 68,
+ 0x761: 68,
+ 0x762: 68,
+ 0x763: 68,
+ 0x764: 68,
+ 0x765: 68,
+ 0x766: 68,
+ 0x767: 68,
+ 0x768: 68,
+ 0x769: 68,
+ 0x76a: 68,
+ 0x76b: 82,
+ 0x76c: 82,
+ 0x76d: 68,
+ 0x76e: 68,
+ 0x76f: 68,
+ 0x770: 68,
+ 0x771: 82,
+ 0x772: 68,
+ 0x773: 82,
+ 0x774: 82,
+ 0x775: 68,
+ 0x776: 68,
+ 0x777: 68,
+ 0x778: 82,
+ 0x779: 82,
+ 0x77a: 68,
+ 0x77b: 68,
+ 0x77c: 68,
+ 0x77d: 68,
+ 0x77e: 68,
+ 0x77f: 68,
+ 0x7ca: 68,
+ 0x7cb: 68,
+ 0x7cc: 68,
+ 0x7cd: 68,
+ 0x7ce: 68,
+ 0x7cf: 68,
+ 0x7d0: 68,
+ 0x7d1: 68,
+ 0x7d2: 68,
+ 0x7d3: 68,
+ 0x7d4: 68,
+ 0x7d5: 68,
+ 0x7d6: 68,
+ 0x7d7: 68,
+ 0x7d8: 68,
+ 0x7d9: 68,
+ 0x7da: 68,
+ 0x7db: 68,
+ 0x7dc: 68,
+ 0x7dd: 68,
+ 0x7de: 68,
+ 0x7df: 68,
+ 0x7e0: 68,
+ 0x7e1: 68,
+ 0x7e2: 68,
+ 0x7e3: 68,
+ 0x7e4: 68,
+ 0x7e5: 68,
+ 0x7e6: 68,
+ 0x7e7: 68,
+ 0x7e8: 68,
+ 0x7e9: 68,
+ 0x7ea: 68,
+ 0x7fa: 67,
+ 0x840: 82,
+ 0x841: 68,
+ 0x842: 68,
+ 0x843: 68,
+ 0x844: 68,
+ 0x845: 68,
+ 0x846: 82,
+ 0x847: 68,
+ 0x848: 68,
+ 0x849: 82,
+ 0x84a: 68,
+ 0x84b: 68,
+ 0x84c: 68,
+ 0x84d: 68,
+ 0x84e: 68,
+ 0x84f: 82,
+ 0x850: 68,
+ 0x851: 68,
+ 0x852: 68,
+ 0x853: 68,
+ 0x854: 82,
+ 0x855: 68,
+ 0x856: 85,
+ 0x857: 85,
+ 0x858: 85,
+ 0x8a0: 68,
+ 0x8a2: 68,
+ 0x8a3: 68,
+ 0x8a4: 68,
+ 0x8a5: 68,
+ 0x8a6: 68,
+ 0x8a7: 68,
+ 0x8a8: 68,
+ 0x8a9: 68,
+ 0x8aa: 82,
+ 0x8ab: 82,
+ 0x8ac: 82,
+ 0x1806: 85,
+ 0x1807: 68,
+ 0x180a: 67,
+ 0x180e: 85,
+ 0x1820: 68,
+ 0x1821: 68,
+ 0x1822: 68,
+ 0x1823: 68,
+ 0x1824: 68,
+ 0x1825: 68,
+ 0x1826: 68,
+ 0x1827: 68,
+ 0x1828: 68,
+ 0x1829: 68,
+ 0x182a: 68,
+ 0x182b: 68,
+ 0x182c: 68,
+ 0x182d: 68,
+ 0x182e: 68,
+ 0x182f: 68,
+ 0x1830: 68,
+ 0x1831: 68,
+ 0x1832: 68,
+ 0x1833: 68,
+ 0x1834: 68,
+ 0x1835: 68,
+ 0x1836: 68,
+ 0x1837: 68,
+ 0x1838: 68,
+ 0x1839: 68,
+ 0x183a: 68,
+ 0x183b: 68,
+ 0x183c: 68,
+ 0x183d: 68,
+ 0x183e: 68,
+ 0x183f: 68,
+ 0x1840: 68,
+ 0x1841: 68,
+ 0x1842: 68,
+ 0x1843: 68,
+ 0x1844: 68,
+ 0x1845: 68,
+ 0x1846: 68,
+ 0x1847: 68,
+ 0x1848: 68,
+ 0x1849: 68,
+ 0x184a: 68,
+ 0x184b: 68,
+ 0x184c: 68,
+ 0x184d: 68,
+ 0x184e: 68,
+ 0x184f: 68,
+ 0x1850: 68,
+ 0x1851: 68,
+ 0x1852: 68,
+ 0x1853: 68,
+ 0x1854: 68,
+ 0x1855: 68,
+ 0x1856: 68,
+ 0x1857: 68,
+ 0x1858: 68,
+ 0x1859: 68,
+ 0x185a: 68,
+ 0x185b: 68,
+ 0x185c: 68,
+ 0x185d: 68,
+ 0x185e: 68,
+ 0x185f: 68,
+ 0x1860: 68,
+ 0x1861: 68,
+ 0x1862: 68,
+ 0x1863: 68,
+ 0x1864: 68,
+ 0x1865: 68,
+ 0x1866: 68,
+ 0x1867: 68,
+ 0x1868: 68,
+ 0x1869: 68,
+ 0x186a: 68,
+ 0x186b: 68,
+ 0x186c: 68,
+ 0x186d: 68,
+ 0x186e: 68,
+ 0x186f: 68,
+ 0x1870: 68,
+ 0x1871: 68,
+ 0x1872: 68,
+ 0x1873: 68,
+ 0x1874: 68,
+ 0x1875: 68,
+ 0x1876: 68,
+ 0x1877: 68,
+ 0x1880: 85,
+ 0x1881: 85,
+ 0x1882: 85,
+ 0x1883: 85,
+ 0x1884: 85,
+ 0x1885: 85,
+ 0x1886: 85,
+ 0x1887: 68,
+ 0x1888: 68,
+ 0x1889: 68,
+ 0x188a: 68,
+ 0x188b: 68,
+ 0x188c: 68,
+ 0x188d: 68,
+ 0x188e: 68,
+ 0x188f: 68,
+ 0x1890: 68,
+ 0x1891: 68,
+ 0x1892: 68,
+ 0x1893: 68,
+ 0x1894: 68,
+ 0x1895: 68,
+ 0x1896: 68,
+ 0x1897: 68,
+ 0x1898: 68,
+ 0x1899: 68,
+ 0x189a: 68,
+ 0x189b: 68,
+ 0x189c: 68,
+ 0x189d: 68,
+ 0x189e: 68,
+ 0x189f: 68,
+ 0x18a0: 68,
+ 0x18a1: 68,
+ 0x18a2: 68,
+ 0x18a3: 68,
+ 0x18a4: 68,
+ 0x18a5: 68,
+ 0x18a6: 68,
+ 0x18a7: 68,
+ 0x18a8: 68,
+ 0x18aa: 68,
+ 0x200c: 85,
+ 0x200d: 67,
+ 0x2066: 85,
+ 0x2067: 85,
+ 0x2068: 85,
+ 0x2069: 85,
+ 0xa840: 68,
+ 0xa841: 68,
+ 0xa842: 68,
+ 0xa843: 68,
+ 0xa844: 68,
+ 0xa845: 68,
+ 0xa846: 68,
+ 0xa847: 68,
+ 0xa848: 68,
+ 0xa849: 68,
+ 0xa84a: 68,
+ 0xa84b: 68,
+ 0xa84c: 68,
+ 0xa84d: 68,
+ 0xa84e: 68,
+ 0xa84f: 68,
+ 0xa850: 68,
+ 0xa851: 68,
+ 0xa852: 68,
+ 0xa853: 68,
+ 0xa854: 68,
+ 0xa855: 68,
+ 0xa856: 68,
+ 0xa857: 68,
+ 0xa858: 68,
+ 0xa859: 68,
+ 0xa85a: 68,
+ 0xa85b: 68,
+ 0xa85c: 68,
+ 0xa85d: 68,
+ 0xa85e: 68,
+ 0xa85f: 68,
+ 0xa860: 68,
+ 0xa861: 68,
+ 0xa862: 68,
+ 0xa863: 68,
+ 0xa864: 68,
+ 0xa865: 68,
+ 0xa866: 68,
+ 0xa867: 68,
+ 0xa868: 68,
+ 0xa869: 68,
+ 0xa86a: 68,
+ 0xa86b: 68,
+ 0xa86c: 68,
+ 0xa86d: 68,
+ 0xa86e: 68,
+ 0xa86f: 68,
+ 0xa870: 68,
+ 0xa871: 68,
+ 0xa872: 76,
+ 0xa873: 85,
}
codepoint_classes = {
'PVALID': (
- (0x2d, 0x2e),
- (0x30, 0x3a),
- (0x61, 0x7b),
- (0xdf, 0xf7),
- (0xf8, 0x100),
- (0x101, 0x102),
- (0x103, 0x104),
- (0x105, 0x106),
- (0x107, 0x108),
- (0x109, 0x10a),
- (0x10b, 0x10c),
- (0x10d, 0x10e),
- (0x10f, 0x110),
- (0x111, 0x112),
- (0x113, 0x114),
- (0x115, 0x116),
- (0x117, 0x118),
- (0x119, 0x11a),
- (0x11b, 0x11c),
- (0x11d, 0x11e),
- (0x11f, 0x120),
- (0x121, 0x122),
- (0x123, 0x124),
- (0x125, 0x126),
- (0x127, 0x128),
- (0x129, 0x12a),
- (0x12b, 0x12c),
- (0x12d, 0x12e),
- (0x12f, 0x130),
- (0x131, 0x132),
- (0x135, 0x136),
- (0x137, 0x139),
- (0x13a, 0x13b),
- (0x13c, 0x13d),
- (0x13e, 0x13f),
- (0x142, 0x143),
- (0x144, 0x145),
- (0x146, 0x147),
- (0x148, 0x149),
- (0x14b, 0x14c),
- (0x14d, 0x14e),
- (0x14f, 0x150),
- (0x151, 0x152),
- (0x153, 0x154),
- (0x155, 0x156),
- (0x157, 0x158),
- (0x159, 0x15a),
- (0x15b, 0x15c),
- (0x15d, 0x15e),
- (0x15f, 0x160),
- (0x161, 0x162),
- (0x163, 0x164),
- (0x165, 0x166),
- (0x167, 0x168),
- (0x169, 0x16a),
- (0x16b, 0x16c),
- (0x16d, 0x16e),
- (0x16f, 0x170),
- (0x171, 0x172),
- (0x173, 0x174),
- (0x175, 0x176),
- (0x177, 0x178),
- (0x17a, 0x17b),
- (0x17c, 0x17d),
- (0x17e, 0x17f),
- (0x180, 0x181),
- (0x183, 0x184),
- (0x185, 0x186),
- (0x188, 0x189),
- (0x18c, 0x18e),
- (0x192, 0x193),
- (0x195, 0x196),
- (0x199, 0x19c),
- (0x19e, 0x19f),
- (0x1a1, 0x1a2),
- (0x1a3, 0x1a4),
- (0x1a5, 0x1a6),
- (0x1a8, 0x1a9),
- (0x1aa, 0x1ac),
- (0x1ad, 0x1ae),
- (0x1b0, 0x1b1),
- (0x1b4, 0x1b5),
- (0x1b6, 0x1b7),
- (0x1b9, 0x1bc),
- (0x1bd, 0x1c4),
- (0x1ce, 0x1cf),
- (0x1d0, 0x1d1),
- (0x1d2, 0x1d3),
- (0x1d4, 0x1d5),
- (0x1d6, 0x1d7),
- (0x1d8, 0x1d9),
- (0x1da, 0x1db),
- (0x1dc, 0x1de),
- (0x1df, 0x1e0),
- (0x1e1, 0x1e2),
- (0x1e3, 0x1e4),
- (0x1e5, 0x1e6),
- (0x1e7, 0x1e8),
- (0x1e9, 0x1ea),
- (0x1eb, 0x1ec),
- (0x1ed, 0x1ee),
- (0x1ef, 0x1f1),
- (0x1f5, 0x1f6),
- (0x1f9, 0x1fa),
- (0x1fb, 0x1fc),
- (0x1fd, 0x1fe),
- (0x1ff, 0x200),
- (0x201, 0x202),
- (0x203, 0x204),
- (0x205, 0x206),
- (0x207, 0x208),
- (0x209, 0x20a),
- (0x20b, 0x20c),
- (0x20d, 0x20e),
- (0x20f, 0x210),
- (0x211, 0x212),
- (0x213, 0x214),
- (0x215, 0x216),
- (0x217, 0x218),
- (0x219, 0x21a),
- (0x21b, 0x21c),
- (0x21d, 0x21e),
- (0x21f, 0x220),
- (0x221, 0x222),
- (0x223, 0x224),
- (0x225, 0x226),
- (0x227, 0x228),
- (0x229, 0x22a),
- (0x22b, 0x22c),
- (0x22d, 0x22e),
- (0x22f, 0x230),
- (0x231, 0x232),
- (0x233, 0x23a),
- (0x23c, 0x23d),
- (0x23f, 0x241),
- (0x242, 0x243),
- (0x247, 0x248),
- (0x249, 0x24a),
- (0x24b, 0x24c),
- (0x24d, 0x24e),
- (0x24f, 0x2b0),
- (0x2b9, 0x2c2),
- (0x2c6, 0x2d2),
- (0x2ec, 0x2ed),
- (0x2ee, 0x2ef),
- (0x300, 0x340),
- (0x342, 0x343),
- (0x346, 0x34f),
- (0x350, 0x370),
- (0x371, 0x372),
- (0x373, 0x374),
- (0x377, 0x378),
- (0x37b, 0x37e),
- (0x390, 0x391),
- (0x3ac, 0x3cf),
- (0x3d7, 0x3d8),
- (0x3d9, 0x3da),
- (0x3db, 0x3dc),
- (0x3dd, 0x3de),
- (0x3df, 0x3e0),
- (0x3e1, 0x3e2),
- (0x3e3, 0x3e4),
- (0x3e5, 0x3e6),
- (0x3e7, 0x3e8),
- (0x3e9, 0x3ea),
- (0x3eb, 0x3ec),
- (0x3ed, 0x3ee),
- (0x3ef, 0x3f0),
- (0x3f3, 0x3f4),
- (0x3f8, 0x3f9),
- (0x3fb, 0x3fd),
- (0x430, 0x460),
- (0x461, 0x462),
- (0x463, 0x464),
- (0x465, 0x466),
- (0x467, 0x468),
- (0x469, 0x46a),
- (0x46b, 0x46c),
- (0x46d, 0x46e),
- (0x46f, 0x470),
- (0x471, 0x472),
- (0x473, 0x474),
- (0x475, 0x476),
- (0x477, 0x478),
- (0x479, 0x47a),
- (0x47b, 0x47c),
- (0x47d, 0x47e),
- (0x47f, 0x480),
- (0x481, 0x482),
- (0x483, 0x488),
- (0x48b, 0x48c),
- (0x48d, 0x48e),
- (0x48f, 0x490),
- (0x491, 0x492),
- (0x493, 0x494),
- (0x495, 0x496),
- (0x497, 0x498),
- (0x499, 0x49a),
- (0x49b, 0x49c),
- (0x49d, 0x49e),
- (0x49f, 0x4a0),
- (0x4a1, 0x4a2),
- (0x4a3, 0x4a4),
- (0x4a5, 0x4a6),
- (0x4a7, 0x4a8),
- (0x4a9, 0x4aa),
- (0x4ab, 0x4ac),
- (0x4ad, 0x4ae),
- (0x4af, 0x4b0),
- (0x4b1, 0x4b2),
- (0x4b3, 0x4b4),
- (0x4b5, 0x4b6),
- (0x4b7, 0x4b8),
- (0x4b9, 0x4ba),
- (0x4bb, 0x4bc),
- (0x4bd, 0x4be),
- (0x4bf, 0x4c0),
- (0x4c2, 0x4c3),
- (0x4c4, 0x4c5),
- (0x4c6, 0x4c7),
- (0x4c8, 0x4c9),
- (0x4ca, 0x4cb),
- (0x4cc, 0x4cd),
- (0x4ce, 0x4d0),
- (0x4d1, 0x4d2),
- (0x4d3, 0x4d4),
- (0x4d5, 0x4d6),
- (0x4d7, 0x4d8),
- (0x4d9, 0x4da),
- (0x4db, 0x4dc),
- (0x4dd, 0x4de),
- (0x4df, 0x4e0),
- (0x4e1, 0x4e2),
- (0x4e3, 0x4e4),
- (0x4e5, 0x4e6),
- (0x4e7, 0x4e8),
- (0x4e9, 0x4ea),
- (0x4eb, 0x4ec),
- (0x4ed, 0x4ee),
- (0x4ef, 0x4f0),
- (0x4f1, 0x4f2),
- (0x4f3, 0x4f4),
- (0x4f5, 0x4f6),
- (0x4f7, 0x4f8),
- (0x4f9, 0x4fa),
- (0x4fb, 0x4fc),
- (0x4fd, 0x4fe),
- (0x4ff, 0x500),
- (0x501, 0x502),
- (0x503, 0x504),
- (0x505, 0x506),
- (0x507, 0x508),
- (0x509, 0x50a),
- (0x50b, 0x50c),
- (0x50d, 0x50e),
- (0x50f, 0x510),
- (0x511, 0x512),
- (0x513, 0x514),
- (0x515, 0x516),
- (0x517, 0x518),
- (0x519, 0x51a),
- (0x51b, 0x51c),
- (0x51d, 0x51e),
- (0x51f, 0x520),
- (0x521, 0x522),
- (0x523, 0x524),
- (0x525, 0x526),
- (0x527, 0x528),
- (0x559, 0x55a),
- (0x561, 0x587),
- (0x591, 0x5be),
- (0x5bf, 0x5c0),
- (0x5c1, 0x5c3),
- (0x5c4, 0x5c6),
- (0x5c7, 0x5c8),
- (0x5d0, 0x5eb),
- (0x5f0, 0x5f3),
- (0x610, 0x61b),
- (0x620, 0x640),
- (0x641, 0x660),
- (0x66e, 0x675),
- (0x679, 0x6d4),
- (0x6d5, 0x6dd),
- (0x6df, 0x6e9),
- (0x6ea, 0x6f0),
- (0x6fa, 0x700),
- (0x710, 0x74b),
- (0x74d, 0x7b2),
- (0x7c0, 0x7f6),
- (0x800, 0x82e),
- (0x840, 0x85c),
- (0x8a0, 0x8a1),
- (0x8a2, 0x8ad),
- (0x8e4, 0x8ff),
- (0x900, 0x958),
- (0x960, 0x964),
- (0x966, 0x970),
- (0x971, 0x978),
- (0x979, 0x980),
- (0x981, 0x984),
- (0x985, 0x98d),
- (0x98f, 0x991),
- (0x993, 0x9a9),
- (0x9aa, 0x9b1),
- (0x9b2, 0x9b3),
- (0x9b6, 0x9ba),
- (0x9bc, 0x9c5),
- (0x9c7, 0x9c9),
- (0x9cb, 0x9cf),
- (0x9d7, 0x9d8),
- (0x9e0, 0x9e4),
- (0x9e6, 0x9f2),
- (0xa01, 0xa04),
- (0xa05, 0xa0b),
- (0xa0f, 0xa11),
- (0xa13, 0xa29),
- (0xa2a, 0xa31),
- (0xa32, 0xa33),
- (0xa35, 0xa36),
- (0xa38, 0xa3a),
- (0xa3c, 0xa3d),
- (0xa3e, 0xa43),
- (0xa47, 0xa49),
- (0xa4b, 0xa4e),
- (0xa51, 0xa52),
- (0xa5c, 0xa5d),
- (0xa66, 0xa76),
- (0xa81, 0xa84),
- (0xa85, 0xa8e),
- (0xa8f, 0xa92),
- (0xa93, 0xaa9),
- (0xaaa, 0xab1),
- (0xab2, 0xab4),
- (0xab5, 0xaba),
- (0xabc, 0xac6),
- (0xac7, 0xaca),
- (0xacb, 0xace),
- (0xad0, 0xad1),
- (0xae0, 0xae4),
- (0xae6, 0xaf0),
- (0xb01, 0xb04),
- (0xb05, 0xb0d),
- (0xb0f, 0xb11),
- (0xb13, 0xb29),
- (0xb2a, 0xb31),
- (0xb32, 0xb34),
- (0xb35, 0xb3a),
- (0xb3c, 0xb45),
- (0xb47, 0xb49),
- (0xb4b, 0xb4e),
- (0xb56, 0xb58),
- (0xb5f, 0xb64),
- (0xb66, 0xb70),
- (0xb71, 0xb72),
- (0xb82, 0xb84),
- (0xb85, 0xb8b),
- (0xb8e, 0xb91),
- (0xb92, 0xb96),
- (0xb99, 0xb9b),
- (0xb9c, 0xb9d),
- (0xb9e, 0xba0),
- (0xba3, 0xba5),
- (0xba8, 0xbab),
- (0xbae, 0xbba),
- (0xbbe, 0xbc3),
- (0xbc6, 0xbc9),
- (0xbca, 0xbce),
- (0xbd0, 0xbd1),
- (0xbd7, 0xbd8),
- (0xbe6, 0xbf0),
- (0xc01, 0xc04),
- (0xc05, 0xc0d),
- (0xc0e, 0xc11),
- (0xc12, 0xc29),
- (0xc2a, 0xc34),
- (0xc35, 0xc3a),
- (0xc3d, 0xc45),
- (0xc46, 0xc49),
- (0xc4a, 0xc4e),
- (0xc55, 0xc57),
- (0xc58, 0xc5a),
- (0xc60, 0xc64),
- (0xc66, 0xc70),
- (0xc82, 0xc84),
- (0xc85, 0xc8d),
- (0xc8e, 0xc91),
- (0xc92, 0xca9),
- (0xcaa, 0xcb4),
- (0xcb5, 0xcba),
- (0xcbc, 0xcc5),
- (0xcc6, 0xcc9),
- (0xcca, 0xcce),
- (0xcd5, 0xcd7),
- (0xcde, 0xcdf),
- (0xce0, 0xce4),
- (0xce6, 0xcf0),
- (0xcf1, 0xcf3),
- (0xd02, 0xd04),
- (0xd05, 0xd0d),
- (0xd0e, 0xd11),
- (0xd12, 0xd3b),
- (0xd3d, 0xd45),
- (0xd46, 0xd49),
- (0xd4a, 0xd4f),
- (0xd57, 0xd58),
- (0xd60, 0xd64),
- (0xd66, 0xd70),
- (0xd7a, 0xd80),
- (0xd82, 0xd84),
- (0xd85, 0xd97),
- (0xd9a, 0xdb2),
- (0xdb3, 0xdbc),
- (0xdbd, 0xdbe),
- (0xdc0, 0xdc7),
- (0xdca, 0xdcb),
- (0xdcf, 0xdd5),
- (0xdd6, 0xdd7),
- (0xdd8, 0xde0),
- (0xdf2, 0xdf4),
- (0xe01, 0xe33),
- (0xe34, 0xe3b),
- (0xe40, 0xe4f),
- (0xe50, 0xe5a),
- (0xe81, 0xe83),
- (0xe84, 0xe85),
- (0xe87, 0xe89),
- (0xe8a, 0xe8b),
- (0xe8d, 0xe8e),
- (0xe94, 0xe98),
- (0xe99, 0xea0),
- (0xea1, 0xea4),
- (0xea5, 0xea6),
- (0xea7, 0xea8),
- (0xeaa, 0xeac),
- (0xead, 0xeb3),
- (0xeb4, 0xeba),
- (0xebb, 0xebe),
- (0xec0, 0xec5),
- (0xec6, 0xec7),
- (0xec8, 0xece),
- (0xed0, 0xeda),
- (0xede, 0xee0),
- (0xf00, 0xf01),
- (0xf0b, 0xf0c),
- (0xf18, 0xf1a),
- (0xf20, 0xf2a),
- (0xf35, 0xf36),
- (0xf37, 0xf38),
- (0xf39, 0xf3a),
- (0xf3e, 0xf43),
- (0xf44, 0xf48),
- (0xf49, 0xf4d),
- (0xf4e, 0xf52),
- (0xf53, 0xf57),
- (0xf58, 0xf5c),
- (0xf5d, 0xf69),
- (0xf6a, 0xf6d),
- (0xf71, 0xf73),
- (0xf74, 0xf75),
- (0xf7a, 0xf81),
- (0xf82, 0xf85),
- (0xf86, 0xf93),
- (0xf94, 0xf98),
- (0xf99, 0xf9d),
- (0xf9e, 0xfa2),
- (0xfa3, 0xfa7),
- (0xfa8, 0xfac),
- (0xfad, 0xfb9),
- (0xfba, 0xfbd),
- (0xfc6, 0xfc7),
- (0x1000, 0x104a),
- (0x1050, 0x109e),
- (0x10d0, 0x10fb),
- (0x10fd, 0x1100),
- (0x1200, 0x1249),
- (0x124a, 0x124e),
- (0x1250, 0x1257),
- (0x1258, 0x1259),
- (0x125a, 0x125e),
- (0x1260, 0x1289),
- (0x128a, 0x128e),
- (0x1290, 0x12b1),
- (0x12b2, 0x12b6),
- (0x12b8, 0x12bf),
- (0x12c0, 0x12c1),
- (0x12c2, 0x12c6),
- (0x12c8, 0x12d7),
- (0x12d8, 0x1311),
- (0x1312, 0x1316),
- (0x1318, 0x135b),
- (0x135d, 0x1360),
- (0x1380, 0x1390),
- (0x13a0, 0x13f5),
- (0x1401, 0x166d),
- (0x166f, 0x1680),
- (0x1681, 0x169b),
- (0x16a0, 0x16eb),
- (0x1700, 0x170d),
- (0x170e, 0x1715),
- (0x1720, 0x1735),
- (0x1740, 0x1754),
- (0x1760, 0x176d),
- (0x176e, 0x1771),
- (0x1772, 0x1774),
- (0x1780, 0x17b4),
- (0x17b6, 0x17d4),
- (0x17d7, 0x17d8),
- (0x17dc, 0x17de),
- (0x17e0, 0x17ea),
- (0x1810, 0x181a),
- (0x1820, 0x1878),
- (0x1880, 0x18ab),
- (0x18b0, 0x18f6),
- (0x1900, 0x191d),
- (0x1920, 0x192c),
- (0x1930, 0x193c),
- (0x1946, 0x196e),
- (0x1970, 0x1975),
- (0x1980, 0x19ac),
- (0x19b0, 0x19ca),
- (0x19d0, 0x19da),
- (0x1a00, 0x1a1c),
- (0x1a20, 0x1a5f),
- (0x1a60, 0x1a7d),
- (0x1a7f, 0x1a8a),
- (0x1a90, 0x1a9a),
- (0x1aa7, 0x1aa8),
- (0x1b00, 0x1b4c),
- (0x1b50, 0x1b5a),
- (0x1b6b, 0x1b74),
- (0x1b80, 0x1bf4),
- (0x1c00, 0x1c38),
- (0x1c40, 0x1c4a),
- (0x1c4d, 0x1c7e),
- (0x1cd0, 0x1cd3),
- (0x1cd4, 0x1cf7),
- (0x1d00, 0x1d2c),
- (0x1d2f, 0x1d30),
- (0x1d3b, 0x1d3c),
- (0x1d4e, 0x1d4f),
- (0x1d6b, 0x1d78),
- (0x1d79, 0x1d9b),
- (0x1dc0, 0x1de7),
- (0x1dfc, 0x1e00),
- (0x1e01, 0x1e02),
- (0x1e03, 0x1e04),
- (0x1e05, 0x1e06),
- (0x1e07, 0x1e08),
- (0x1e09, 0x1e0a),
- (0x1e0b, 0x1e0c),
- (0x1e0d, 0x1e0e),
- (0x1e0f, 0x1e10),
- (0x1e11, 0x1e12),
- (0x1e13, 0x1e14),
- (0x1e15, 0x1e16),
- (0x1e17, 0x1e18),
- (0x1e19, 0x1e1a),
- (0x1e1b, 0x1e1c),
- (0x1e1d, 0x1e1e),
- (0x1e1f, 0x1e20),
- (0x1e21, 0x1e22),
- (0x1e23, 0x1e24),
- (0x1e25, 0x1e26),
- (0x1e27, 0x1e28),
- (0x1e29, 0x1e2a),
- (0x1e2b, 0x1e2c),
- (0x1e2d, 0x1e2e),
- (0x1e2f, 0x1e30),
- (0x1e31, 0x1e32),
- (0x1e33, 0x1e34),
- (0x1e35, 0x1e36),
- (0x1e37, 0x1e38),
- (0x1e39, 0x1e3a),
- (0x1e3b, 0x1e3c),
- (0x1e3d, 0x1e3e),
- (0x1e3f, 0x1e40),
- (0x1e41, 0x1e42),
- (0x1e43, 0x1e44),
- (0x1e45, 0x1e46),
- (0x1e47, 0x1e48),
- (0x1e49, 0x1e4a),
- (0x1e4b, 0x1e4c),
- (0x1e4d, 0x1e4e),
- (0x1e4f, 0x1e50),
- (0x1e51, 0x1e52),
- (0x1e53, 0x1e54),
- (0x1e55, 0x1e56),
- (0x1e57, 0x1e58),
- (0x1e59, 0x1e5a),
- (0x1e5b, 0x1e5c),
- (0x1e5d, 0x1e5e),
- (0x1e5f, 0x1e60),
- (0x1e61, 0x1e62),
- (0x1e63, 0x1e64),
- (0x1e65, 0x1e66),
- (0x1e67, 0x1e68),
- (0x1e69, 0x1e6a),
- (0x1e6b, 0x1e6c),
- (0x1e6d, 0x1e6e),
- (0x1e6f, 0x1e70),
- (0x1e71, 0x1e72),
- (0x1e73, 0x1e74),
- (0x1e75, 0x1e76),
- (0x1e77, 0x1e78),
- (0x1e79, 0x1e7a),
- (0x1e7b, 0x1e7c),
- (0x1e7d, 0x1e7e),
- (0x1e7f, 0x1e80),
- (0x1e81, 0x1e82),
- (0x1e83, 0x1e84),
- (0x1e85, 0x1e86),
- (0x1e87, 0x1e88),
- (0x1e89, 0x1e8a),
- (0x1e8b, 0x1e8c),
- (0x1e8d, 0x1e8e),
- (0x1e8f, 0x1e90),
- (0x1e91, 0x1e92),
- (0x1e93, 0x1e94),
- (0x1e95, 0x1e9a),
- (0x1e9c, 0x1e9e),
- (0x1e9f, 0x1ea0),
- (0x1ea1, 0x1ea2),
- (0x1ea3, 0x1ea4),
- (0x1ea5, 0x1ea6),
- (0x1ea7, 0x1ea8),
- (0x1ea9, 0x1eaa),
- (0x1eab, 0x1eac),
- (0x1ead, 0x1eae),
- (0x1eaf, 0x1eb0),
- (0x1eb1, 0x1eb2),
- (0x1eb3, 0x1eb4),
- (0x1eb5, 0x1eb6),
- (0x1eb7, 0x1eb8),
- (0x1eb9, 0x1eba),
- (0x1ebb, 0x1ebc),
- (0x1ebd, 0x1ebe),
- (0x1ebf, 0x1ec0),
- (0x1ec1, 0x1ec2),
- (0x1ec3, 0x1ec4),
- (0x1ec5, 0x1ec6),
- (0x1ec7, 0x1ec8),
- (0x1ec9, 0x1eca),
- (0x1ecb, 0x1ecc),
- (0x1ecd, 0x1ece),
- (0x1ecf, 0x1ed0),
- (0x1ed1, 0x1ed2),
- (0x1ed3, 0x1ed4),
- (0x1ed5, 0x1ed6),
- (0x1ed7, 0x1ed8),
- (0x1ed9, 0x1eda),
- (0x1edb, 0x1edc),
- (0x1edd, 0x1ede),
- (0x1edf, 0x1ee0),
- (0x1ee1, 0x1ee2),
- (0x1ee3, 0x1ee4),
- (0x1ee5, 0x1ee6),
- (0x1ee7, 0x1ee8),
- (0x1ee9, 0x1eea),
- (0x1eeb, 0x1eec),
- (0x1eed, 0x1eee),
- (0x1eef, 0x1ef0),
- (0x1ef1, 0x1ef2),
- (0x1ef3, 0x1ef4),
- (0x1ef5, 0x1ef6),
- (0x1ef7, 0x1ef8),
- (0x1ef9, 0x1efa),
- (0x1efb, 0x1efc),
- (0x1efd, 0x1efe),
- (0x1eff, 0x1f08),
- (0x1f10, 0x1f16),
- (0x1f20, 0x1f28),
- (0x1f30, 0x1f38),
- (0x1f40, 0x1f46),
- (0x1f50, 0x1f58),
- (0x1f60, 0x1f68),
- (0x1f70, 0x1f71),
- (0x1f72, 0x1f73),
- (0x1f74, 0x1f75),
- (0x1f76, 0x1f77),
- (0x1f78, 0x1f79),
- (0x1f7a, 0x1f7b),
- (0x1f7c, 0x1f7d),
- (0x1fb0, 0x1fb2),
- (0x1fb6, 0x1fb7),
- (0x1fc6, 0x1fc7),
- (0x1fd0, 0x1fd3),
- (0x1fd6, 0x1fd8),
- (0x1fe0, 0x1fe3),
- (0x1fe4, 0x1fe8),
- (0x1ff6, 0x1ff7),
- (0x214e, 0x214f),
- (0x2184, 0x2185),
- (0x2c30, 0x2c5f),
- (0x2c61, 0x2c62),
- (0x2c65, 0x2c67),
- (0x2c68, 0x2c69),
- (0x2c6a, 0x2c6b),
- (0x2c6c, 0x2c6d),
- (0x2c71, 0x2c72),
- (0x2c73, 0x2c75),
- (0x2c76, 0x2c7c),
- (0x2c81, 0x2c82),
- (0x2c83, 0x2c84),
- (0x2c85, 0x2c86),
- (0x2c87, 0x2c88),
- (0x2c89, 0x2c8a),
- (0x2c8b, 0x2c8c),
- (0x2c8d, 0x2c8e),
- (0x2c8f, 0x2c90),
- (0x2c91, 0x2c92),
- (0x2c93, 0x2c94),
- (0x2c95, 0x2c96),
- (0x2c97, 0x2c98),
- (0x2c99, 0x2c9a),
- (0x2c9b, 0x2c9c),
- (0x2c9d, 0x2c9e),
- (0x2c9f, 0x2ca0),
- (0x2ca1, 0x2ca2),
- (0x2ca3, 0x2ca4),
- (0x2ca5, 0x2ca6),
- (0x2ca7, 0x2ca8),
- (0x2ca9, 0x2caa),
- (0x2cab, 0x2cac),
- (0x2cad, 0x2cae),
- (0x2caf, 0x2cb0),
- (0x2cb1, 0x2cb2),
- (0x2cb3, 0x2cb4),
- (0x2cb5, 0x2cb6),
- (0x2cb7, 0x2cb8),
- (0x2cb9, 0x2cba),
- (0x2cbb, 0x2cbc),
- (0x2cbd, 0x2cbe),
- (0x2cbf, 0x2cc0),
- (0x2cc1, 0x2cc2),
- (0x2cc3, 0x2cc4),
- (0x2cc5, 0x2cc6),
- (0x2cc7, 0x2cc8),
- (0x2cc9, 0x2cca),
- (0x2ccb, 0x2ccc),
- (0x2ccd, 0x2cce),
- (0x2ccf, 0x2cd0),
- (0x2cd1, 0x2cd2),
- (0x2cd3, 0x2cd4),
- (0x2cd5, 0x2cd6),
- (0x2cd7, 0x2cd8),
- (0x2cd9, 0x2cda),
- (0x2cdb, 0x2cdc),
- (0x2cdd, 0x2cde),
- (0x2cdf, 0x2ce0),
- (0x2ce1, 0x2ce2),
- (0x2ce3, 0x2ce5),
- (0x2cec, 0x2ced),
- (0x2cee, 0x2cf2),
- (0x2cf3, 0x2cf4),
- (0x2d00, 0x2d26),
- (0x2d27, 0x2d28),
- (0x2d2d, 0x2d2e),
- (0x2d30, 0x2d68),
- (0x2d7f, 0x2d97),
- (0x2da0, 0x2da7),
- (0x2da8, 0x2daf),
- (0x2db0, 0x2db7),
- (0x2db8, 0x2dbf),
- (0x2dc0, 0x2dc7),
- (0x2dc8, 0x2dcf),
- (0x2dd0, 0x2dd7),
- (0x2dd8, 0x2ddf),
- (0x2de0, 0x2e00),
- (0x2e2f, 0x2e30),
- (0x3005, 0x3008),
- (0x302a, 0x302e),
- (0x303c, 0x303d),
- (0x3041, 0x3097),
- (0x3099, 0x309b),
- (0x309d, 0x309f),
- (0x30a1, 0x30fb),
- (0x30fc, 0x30ff),
- (0x3105, 0x312e),
- (0x31a0, 0x31bb),
- (0x31f0, 0x3200),
- (0x3400, 0x4db6),
- (0x4e00, 0x9fcd),
- (0xa000, 0xa48d),
- (0xa4d0, 0xa4fe),
- (0xa500, 0xa60d),
- (0xa610, 0xa62c),
- (0xa641, 0xa642),
- (0xa643, 0xa644),
- (0xa645, 0xa646),
- (0xa647, 0xa648),
- (0xa649, 0xa64a),
- (0xa64b, 0xa64c),
- (0xa64d, 0xa64e),
- (0xa64f, 0xa650),
- (0xa651, 0xa652),
- (0xa653, 0xa654),
- (0xa655, 0xa656),
- (0xa657, 0xa658),
- (0xa659, 0xa65a),
- (0xa65b, 0xa65c),
- (0xa65d, 0xa65e),
- (0xa65f, 0xa660),
- (0xa661, 0xa662),
- (0xa663, 0xa664),
- (0xa665, 0xa666),
- (0xa667, 0xa668),
- (0xa669, 0xa66a),
- (0xa66b, 0xa66c),
- (0xa66d, 0xa670),
- (0xa674, 0xa67e),
- (0xa67f, 0xa680),
- (0xa681, 0xa682),
- (0xa683, 0xa684),
- (0xa685, 0xa686),
- (0xa687, 0xa688),
- (0xa689, 0xa68a),
- (0xa68b, 0xa68c),
- (0xa68d, 0xa68e),
- (0xa68f, 0xa690),
- (0xa691, 0xa692),
- (0xa693, 0xa694),
- (0xa695, 0xa696),
- (0xa697, 0xa698),
- (0xa69f, 0xa6e6),
- (0xa6f0, 0xa6f2),
- (0xa717, 0xa720),
- (0xa723, 0xa724),
- (0xa725, 0xa726),
- (0xa727, 0xa728),
- (0xa729, 0xa72a),
- (0xa72b, 0xa72c),
- (0xa72d, 0xa72e),
- (0xa72f, 0xa732),
- (0xa733, 0xa734),
- (0xa735, 0xa736),
- (0xa737, 0xa738),
- (0xa739, 0xa73a),
- (0xa73b, 0xa73c),
- (0xa73d, 0xa73e),
- (0xa73f, 0xa740),
- (0xa741, 0xa742),
- (0xa743, 0xa744),
- (0xa745, 0xa746),
- (0xa747, 0xa748),
- (0xa749, 0xa74a),
- (0xa74b, 0xa74c),
- (0xa74d, 0xa74e),
- (0xa74f, 0xa750),
- (0xa751, 0xa752),
- (0xa753, 0xa754),
- (0xa755, 0xa756),
- (0xa757, 0xa758),
- (0xa759, 0xa75a),
- (0xa75b, 0xa75c),
- (0xa75d, 0xa75e),
- (0xa75f, 0xa760),
- (0xa761, 0xa762),
- (0xa763, 0xa764),
- (0xa765, 0xa766),
- (0xa767, 0xa768),
- (0xa769, 0xa76a),
- (0xa76b, 0xa76c),
- (0xa76d, 0xa76e),
- (0xa76f, 0xa770),
- (0xa771, 0xa779),
- (0xa77a, 0xa77b),
- (0xa77c, 0xa77d),
- (0xa77f, 0xa780),
- (0xa781, 0xa782),
- (0xa783, 0xa784),
- (0xa785, 0xa786),
- (0xa787, 0xa789),
- (0xa78c, 0xa78d),
- (0xa78e, 0xa78f),
- (0xa791, 0xa792),
- (0xa793, 0xa794),
- (0xa7a1, 0xa7a2),
- (0xa7a3, 0xa7a4),
- (0xa7a5, 0xa7a6),
- (0xa7a7, 0xa7a8),
- (0xa7a9, 0xa7aa),
- (0xa7fa, 0xa828),
- (0xa840, 0xa874),
- (0xa880, 0xa8c5),
- (0xa8d0, 0xa8da),
- (0xa8e0, 0xa8f8),
- (0xa8fb, 0xa8fc),
- (0xa900, 0xa92e),
- (0xa930, 0xa954),
- (0xa980, 0xa9c1),
- (0xa9cf, 0xa9da),
- (0xaa00, 0xaa37),
- (0xaa40, 0xaa4e),
- (0xaa50, 0xaa5a),
- (0xaa60, 0xaa77),
- (0xaa7a, 0xaa7c),
- (0xaa80, 0xaac3),
- (0xaadb, 0xaade),
- (0xaae0, 0xaaf0),
- (0xaaf2, 0xaaf7),
- (0xab01, 0xab07),
- (0xab09, 0xab0f),
- (0xab11, 0xab17),
- (0xab20, 0xab27),
- (0xab28, 0xab2f),
- (0xabc0, 0xabeb),
- (0xabec, 0xabee),
- (0xabf0, 0xabfa),
- (0xac00, 0xd7a4),
- (0xfa0e, 0xfa10),
- (0xfa11, 0xfa12),
- (0xfa13, 0xfa15),
- (0xfa1f, 0xfa20),
- (0xfa21, 0xfa22),
- (0xfa23, 0xfa25),
- (0xfa27, 0xfa2a),
- (0xfb1e, 0xfb1f),
- (0xfe20, 0xfe27),
- (0xfe73, 0xfe74),
- (0x10000, 0x1000c),
- (0x1000d, 0x10027),
- (0x10028, 0x1003b),
- (0x1003c, 0x1003e),
- (0x1003f, 0x1004e),
- (0x10050, 0x1005e),
- (0x10080, 0x100fb),
- (0x101fd, 0x101fe),
- (0x10280, 0x1029d),
- (0x102a0, 0x102d1),
- (0x10300, 0x1031f),
- (0x10330, 0x10341),
- (0x10342, 0x1034a),
- (0x10380, 0x1039e),
- (0x103a0, 0x103c4),
- (0x103c8, 0x103d0),
- (0x10428, 0x1049e),
- (0x104a0, 0x104aa),
- (0x10800, 0x10806),
- (0x10808, 0x10809),
- (0x1080a, 0x10836),
- (0x10837, 0x10839),
- (0x1083c, 0x1083d),
- (0x1083f, 0x10856),
- (0x10900, 0x10916),
- (0x10920, 0x1093a),
- (0x10980, 0x109b8),
- (0x109be, 0x109c0),
- (0x10a00, 0x10a04),
- (0x10a05, 0x10a07),
- (0x10a0c, 0x10a14),
- (0x10a15, 0x10a18),
- (0x10a19, 0x10a34),
- (0x10a38, 0x10a3b),
- (0x10a3f, 0x10a40),
- (0x10a60, 0x10a7d),
- (0x10b00, 0x10b36),
- (0x10b40, 0x10b56),
- (0x10b60, 0x10b73),
- (0x10c00, 0x10c49),
- (0x11000, 0x11047),
- (0x11066, 0x11070),
- (0x11080, 0x110bb),
- (0x110d0, 0x110e9),
- (0x110f0, 0x110fa),
- (0x11100, 0x11135),
- (0x11136, 0x11140),
- (0x11180, 0x111c5),
- (0x111d0, 0x111da),
- (0x11680, 0x116b8),
- (0x116c0, 0x116ca),
- (0x12000, 0x1236f),
- (0x13000, 0x1342f),
- (0x16800, 0x16a39),
- (0x16f00, 0x16f45),
- (0x16f50, 0x16f7f),
- (0x16f8f, 0x16fa0),
- (0x1b000, 0x1b002),
- (0x20000, 0x2a6d7),
- (0x2a700, 0x2b735),
- (0x2b740, 0x2b81e),
+ 0x2d0000002e,
+ 0x300000003a,
+ 0x610000007b,
+ 0xdf000000f7,
+ 0xf800000100,
+ 0x10100000102,
+ 0x10300000104,
+ 0x10500000106,
+ 0x10700000108,
+ 0x1090000010a,
+ 0x10b0000010c,
+ 0x10d0000010e,
+ 0x10f00000110,
+ 0x11100000112,
+ 0x11300000114,
+ 0x11500000116,
+ 0x11700000118,
+ 0x1190000011a,
+ 0x11b0000011c,
+ 0x11d0000011e,
+ 0x11f00000120,
+ 0x12100000122,
+ 0x12300000124,
+ 0x12500000126,
+ 0x12700000128,
+ 0x1290000012a,
+ 0x12b0000012c,
+ 0x12d0000012e,
+ 0x12f00000130,
+ 0x13100000132,
+ 0x13500000136,
+ 0x13700000139,
+ 0x13a0000013b,
+ 0x13c0000013d,
+ 0x13e0000013f,
+ 0x14200000143,
+ 0x14400000145,
+ 0x14600000147,
+ 0x14800000149,
+ 0x14b0000014c,
+ 0x14d0000014e,
+ 0x14f00000150,
+ 0x15100000152,
+ 0x15300000154,
+ 0x15500000156,
+ 0x15700000158,
+ 0x1590000015a,
+ 0x15b0000015c,
+ 0x15d0000015e,
+ 0x15f00000160,
+ 0x16100000162,
+ 0x16300000164,
+ 0x16500000166,
+ 0x16700000168,
+ 0x1690000016a,
+ 0x16b0000016c,
+ 0x16d0000016e,
+ 0x16f00000170,
+ 0x17100000172,
+ 0x17300000174,
+ 0x17500000176,
+ 0x17700000178,
+ 0x17a0000017b,
+ 0x17c0000017d,
+ 0x17e0000017f,
+ 0x18000000181,
+ 0x18300000184,
+ 0x18500000186,
+ 0x18800000189,
+ 0x18c0000018e,
+ 0x19200000193,
+ 0x19500000196,
+ 0x1990000019c,
+ 0x19e0000019f,
+ 0x1a1000001a2,
+ 0x1a3000001a4,
+ 0x1a5000001a6,
+ 0x1a8000001a9,
+ 0x1aa000001ac,
+ 0x1ad000001ae,
+ 0x1b0000001b1,
+ 0x1b4000001b5,
+ 0x1b6000001b7,
+ 0x1b9000001bc,
+ 0x1bd000001c4,
+ 0x1ce000001cf,
+ 0x1d0000001d1,
+ 0x1d2000001d3,
+ 0x1d4000001d5,
+ 0x1d6000001d7,
+ 0x1d8000001d9,
+ 0x1da000001db,
+ 0x1dc000001de,
+ 0x1df000001e0,
+ 0x1e1000001e2,
+ 0x1e3000001e4,
+ 0x1e5000001e6,
+ 0x1e7000001e8,
+ 0x1e9000001ea,
+ 0x1eb000001ec,
+ 0x1ed000001ee,
+ 0x1ef000001f1,
+ 0x1f5000001f6,
+ 0x1f9000001fa,
+ 0x1fb000001fc,
+ 0x1fd000001fe,
+ 0x1ff00000200,
+ 0x20100000202,
+ 0x20300000204,
+ 0x20500000206,
+ 0x20700000208,
+ 0x2090000020a,
+ 0x20b0000020c,
+ 0x20d0000020e,
+ 0x20f00000210,
+ 0x21100000212,
+ 0x21300000214,
+ 0x21500000216,
+ 0x21700000218,
+ 0x2190000021a,
+ 0x21b0000021c,
+ 0x21d0000021e,
+ 0x21f00000220,
+ 0x22100000222,
+ 0x22300000224,
+ 0x22500000226,
+ 0x22700000228,
+ 0x2290000022a,
+ 0x22b0000022c,
+ 0x22d0000022e,
+ 0x22f00000230,
+ 0x23100000232,
+ 0x2330000023a,
+ 0x23c0000023d,
+ 0x23f00000241,
+ 0x24200000243,
+ 0x24700000248,
+ 0x2490000024a,
+ 0x24b0000024c,
+ 0x24d0000024e,
+ 0x24f000002b0,
+ 0x2b9000002c2,
+ 0x2c6000002d2,
+ 0x2ec000002ed,
+ 0x2ee000002ef,
+ 0x30000000340,
+ 0x34200000343,
+ 0x3460000034f,
+ 0x35000000370,
+ 0x37100000372,
+ 0x37300000374,
+ 0x37700000378,
+ 0x37b0000037e,
+ 0x39000000391,
+ 0x3ac000003cf,
+ 0x3d7000003d8,
+ 0x3d9000003da,
+ 0x3db000003dc,
+ 0x3dd000003de,
+ 0x3df000003e0,
+ 0x3e1000003e2,
+ 0x3e3000003e4,
+ 0x3e5000003e6,
+ 0x3e7000003e8,
+ 0x3e9000003ea,
+ 0x3eb000003ec,
+ 0x3ed000003ee,
+ 0x3ef000003f0,
+ 0x3f3000003f4,
+ 0x3f8000003f9,
+ 0x3fb000003fd,
+ 0x43000000460,
+ 0x46100000462,
+ 0x46300000464,
+ 0x46500000466,
+ 0x46700000468,
+ 0x4690000046a,
+ 0x46b0000046c,
+ 0x46d0000046e,
+ 0x46f00000470,
+ 0x47100000472,
+ 0x47300000474,
+ 0x47500000476,
+ 0x47700000478,
+ 0x4790000047a,
+ 0x47b0000047c,
+ 0x47d0000047e,
+ 0x47f00000480,
+ 0x48100000482,
+ 0x48300000488,
+ 0x48b0000048c,
+ 0x48d0000048e,
+ 0x48f00000490,
+ 0x49100000492,
+ 0x49300000494,
+ 0x49500000496,
+ 0x49700000498,
+ 0x4990000049a,
+ 0x49b0000049c,
+ 0x49d0000049e,
+ 0x49f000004a0,
+ 0x4a1000004a2,
+ 0x4a3000004a4,
+ 0x4a5000004a6,
+ 0x4a7000004a8,
+ 0x4a9000004aa,
+ 0x4ab000004ac,
+ 0x4ad000004ae,
+ 0x4af000004b0,
+ 0x4b1000004b2,
+ 0x4b3000004b4,
+ 0x4b5000004b6,
+ 0x4b7000004b8,
+ 0x4b9000004ba,
+ 0x4bb000004bc,
+ 0x4bd000004be,
+ 0x4bf000004c0,
+ 0x4c2000004c3,
+ 0x4c4000004c5,
+ 0x4c6000004c7,
+ 0x4c8000004c9,
+ 0x4ca000004cb,
+ 0x4cc000004cd,
+ 0x4ce000004d0,
+ 0x4d1000004d2,
+ 0x4d3000004d4,
+ 0x4d5000004d6,
+ 0x4d7000004d8,
+ 0x4d9000004da,
+ 0x4db000004dc,
+ 0x4dd000004de,
+ 0x4df000004e0,
+ 0x4e1000004e2,
+ 0x4e3000004e4,
+ 0x4e5000004e6,
+ 0x4e7000004e8,
+ 0x4e9000004ea,
+ 0x4eb000004ec,
+ 0x4ed000004ee,
+ 0x4ef000004f0,
+ 0x4f1000004f2,
+ 0x4f3000004f4,
+ 0x4f5000004f6,
+ 0x4f7000004f8,
+ 0x4f9000004fa,
+ 0x4fb000004fc,
+ 0x4fd000004fe,
+ 0x4ff00000500,
+ 0x50100000502,
+ 0x50300000504,
+ 0x50500000506,
+ 0x50700000508,
+ 0x5090000050a,
+ 0x50b0000050c,
+ 0x50d0000050e,
+ 0x50f00000510,
+ 0x51100000512,
+ 0x51300000514,
+ 0x51500000516,
+ 0x51700000518,
+ 0x5190000051a,
+ 0x51b0000051c,
+ 0x51d0000051e,
+ 0x51f00000520,
+ 0x52100000522,
+ 0x52300000524,
+ 0x52500000526,
+ 0x52700000528,
+ 0x5590000055a,
+ 0x56100000587,
+ 0x591000005be,
+ 0x5bf000005c0,
+ 0x5c1000005c3,
+ 0x5c4000005c6,
+ 0x5c7000005c8,
+ 0x5d0000005eb,
+ 0x5f0000005f3,
+ 0x6100000061b,
+ 0x62000000640,
+ 0x64100000660,
+ 0x66e00000675,
+ 0x679000006d4,
+ 0x6d5000006dd,
+ 0x6df000006e9,
+ 0x6ea000006f0,
+ 0x6fa00000700,
+ 0x7100000074b,
+ 0x74d000007b2,
+ 0x7c0000007f6,
+ 0x8000000082e,
+ 0x8400000085c,
+ 0x8a0000008a1,
+ 0x8a2000008ad,
+ 0x8e4000008ff,
+ 0x90000000958,
+ 0x96000000964,
+ 0x96600000970,
+ 0x97100000978,
+ 0x97900000980,
+ 0x98100000984,
+ 0x9850000098d,
+ 0x98f00000991,
+ 0x993000009a9,
+ 0x9aa000009b1,
+ 0x9b2000009b3,
+ 0x9b6000009ba,
+ 0x9bc000009c5,
+ 0x9c7000009c9,
+ 0x9cb000009cf,
+ 0x9d7000009d8,
+ 0x9e0000009e4,
+ 0x9e6000009f2,
+ 0xa0100000a04,
+ 0xa0500000a0b,
+ 0xa0f00000a11,
+ 0xa1300000a29,
+ 0xa2a00000a31,
+ 0xa3200000a33,
+ 0xa3500000a36,
+ 0xa3800000a3a,
+ 0xa3c00000a3d,
+ 0xa3e00000a43,
+ 0xa4700000a49,
+ 0xa4b00000a4e,
+ 0xa5100000a52,
+ 0xa5c00000a5d,
+ 0xa6600000a76,
+ 0xa8100000a84,
+ 0xa8500000a8e,
+ 0xa8f00000a92,
+ 0xa9300000aa9,
+ 0xaaa00000ab1,
+ 0xab200000ab4,
+ 0xab500000aba,
+ 0xabc00000ac6,
+ 0xac700000aca,
+ 0xacb00000ace,
+ 0xad000000ad1,
+ 0xae000000ae4,
+ 0xae600000af0,
+ 0xb0100000b04,
+ 0xb0500000b0d,
+ 0xb0f00000b11,
+ 0xb1300000b29,
+ 0xb2a00000b31,
+ 0xb3200000b34,
+ 0xb3500000b3a,
+ 0xb3c00000b45,
+ 0xb4700000b49,
+ 0xb4b00000b4e,
+ 0xb5600000b58,
+ 0xb5f00000b64,
+ 0xb6600000b70,
+ 0xb7100000b72,
+ 0xb8200000b84,
+ 0xb8500000b8b,
+ 0xb8e00000b91,
+ 0xb9200000b96,
+ 0xb9900000b9b,
+ 0xb9c00000b9d,
+ 0xb9e00000ba0,
+ 0xba300000ba5,
+ 0xba800000bab,
+ 0xbae00000bba,
+ 0xbbe00000bc3,
+ 0xbc600000bc9,
+ 0xbca00000bce,
+ 0xbd000000bd1,
+ 0xbd700000bd8,
+ 0xbe600000bf0,
+ 0xc0100000c04,
+ 0xc0500000c0d,
+ 0xc0e00000c11,
+ 0xc1200000c29,
+ 0xc2a00000c34,
+ 0xc3500000c3a,
+ 0xc3d00000c45,
+ 0xc4600000c49,
+ 0xc4a00000c4e,
+ 0xc5500000c57,
+ 0xc5800000c5a,
+ 0xc6000000c64,
+ 0xc6600000c70,
+ 0xc8200000c84,
+ 0xc8500000c8d,
+ 0xc8e00000c91,
+ 0xc9200000ca9,
+ 0xcaa00000cb4,
+ 0xcb500000cba,
+ 0xcbc00000cc5,
+ 0xcc600000cc9,
+ 0xcca00000cce,
+ 0xcd500000cd7,
+ 0xcde00000cdf,
+ 0xce000000ce4,
+ 0xce600000cf0,
+ 0xcf100000cf3,
+ 0xd0200000d04,
+ 0xd0500000d0d,
+ 0xd0e00000d11,
+ 0xd1200000d3b,
+ 0xd3d00000d45,
+ 0xd4600000d49,
+ 0xd4a00000d4f,
+ 0xd5700000d58,
+ 0xd6000000d64,
+ 0xd6600000d70,
+ 0xd7a00000d80,
+ 0xd8200000d84,
+ 0xd8500000d97,
+ 0xd9a00000db2,
+ 0xdb300000dbc,
+ 0xdbd00000dbe,
+ 0xdc000000dc7,
+ 0xdca00000dcb,
+ 0xdcf00000dd5,
+ 0xdd600000dd7,
+ 0xdd800000de0,
+ 0xdf200000df4,
+ 0xe0100000e33,
+ 0xe3400000e3b,
+ 0xe4000000e4f,
+ 0xe5000000e5a,
+ 0xe8100000e83,
+ 0xe8400000e85,
+ 0xe8700000e89,
+ 0xe8a00000e8b,
+ 0xe8d00000e8e,
+ 0xe9400000e98,
+ 0xe9900000ea0,
+ 0xea100000ea4,
+ 0xea500000ea6,
+ 0xea700000ea8,
+ 0xeaa00000eac,
+ 0xead00000eb3,
+ 0xeb400000eba,
+ 0xebb00000ebe,
+ 0xec000000ec5,
+ 0xec600000ec7,
+ 0xec800000ece,
+ 0xed000000eda,
+ 0xede00000ee0,
+ 0xf0000000f01,
+ 0xf0b00000f0c,
+ 0xf1800000f1a,
+ 0xf2000000f2a,
+ 0xf3500000f36,
+ 0xf3700000f38,
+ 0xf3900000f3a,
+ 0xf3e00000f43,
+ 0xf4400000f48,
+ 0xf4900000f4d,
+ 0xf4e00000f52,
+ 0xf5300000f57,
+ 0xf5800000f5c,
+ 0xf5d00000f69,
+ 0xf6a00000f6d,
+ 0xf7100000f73,
+ 0xf7400000f75,
+ 0xf7a00000f81,
+ 0xf8200000f85,
+ 0xf8600000f93,
+ 0xf9400000f98,
+ 0xf9900000f9d,
+ 0xf9e00000fa2,
+ 0xfa300000fa7,
+ 0xfa800000fac,
+ 0xfad00000fb9,
+ 0xfba00000fbd,
+ 0xfc600000fc7,
+ 0x10000000104a,
+ 0x10500000109e,
+ 0x10d0000010fb,
+ 0x10fd00001100,
+ 0x120000001249,
+ 0x124a0000124e,
+ 0x125000001257,
+ 0x125800001259,
+ 0x125a0000125e,
+ 0x126000001289,
+ 0x128a0000128e,
+ 0x1290000012b1,
+ 0x12b2000012b6,
+ 0x12b8000012bf,
+ 0x12c0000012c1,
+ 0x12c2000012c6,
+ 0x12c8000012d7,
+ 0x12d800001311,
+ 0x131200001316,
+ 0x13180000135b,
+ 0x135d00001360,
+ 0x138000001390,
+ 0x13a0000013f5,
+ 0x14010000166d,
+ 0x166f00001680,
+ 0x16810000169b,
+ 0x16a0000016eb,
+ 0x17000000170d,
+ 0x170e00001715,
+ 0x172000001735,
+ 0x174000001754,
+ 0x17600000176d,
+ 0x176e00001771,
+ 0x177200001774,
+ 0x1780000017b4,
+ 0x17b6000017d4,
+ 0x17d7000017d8,
+ 0x17dc000017de,
+ 0x17e0000017ea,
+ 0x18100000181a,
+ 0x182000001878,
+ 0x1880000018ab,
+ 0x18b0000018f6,
+ 0x19000000191d,
+ 0x19200000192c,
+ 0x19300000193c,
+ 0x19460000196e,
+ 0x197000001975,
+ 0x1980000019ac,
+ 0x19b0000019ca,
+ 0x19d0000019da,
+ 0x1a0000001a1c,
+ 0x1a2000001a5f,
+ 0x1a6000001a7d,
+ 0x1a7f00001a8a,
+ 0x1a9000001a9a,
+ 0x1aa700001aa8,
+ 0x1b0000001b4c,
+ 0x1b5000001b5a,
+ 0x1b6b00001b74,
+ 0x1b8000001bf4,
+ 0x1c0000001c38,
+ 0x1c4000001c4a,
+ 0x1c4d00001c7e,
+ 0x1cd000001cd3,
+ 0x1cd400001cf7,
+ 0x1d0000001d2c,
+ 0x1d2f00001d30,
+ 0x1d3b00001d3c,
+ 0x1d4e00001d4f,
+ 0x1d6b00001d78,
+ 0x1d7900001d9b,
+ 0x1dc000001de7,
+ 0x1dfc00001e00,
+ 0x1e0100001e02,
+ 0x1e0300001e04,
+ 0x1e0500001e06,
+ 0x1e0700001e08,
+ 0x1e0900001e0a,
+ 0x1e0b00001e0c,
+ 0x1e0d00001e0e,
+ 0x1e0f00001e10,
+ 0x1e1100001e12,
+ 0x1e1300001e14,
+ 0x1e1500001e16,
+ 0x1e1700001e18,
+ 0x1e1900001e1a,
+ 0x1e1b00001e1c,
+ 0x1e1d00001e1e,
+ 0x1e1f00001e20,
+ 0x1e2100001e22,
+ 0x1e2300001e24,
+ 0x1e2500001e26,
+ 0x1e2700001e28,
+ 0x1e2900001e2a,
+ 0x1e2b00001e2c,
+ 0x1e2d00001e2e,
+ 0x1e2f00001e30,
+ 0x1e3100001e32,
+ 0x1e3300001e34,
+ 0x1e3500001e36,
+ 0x1e3700001e38,
+ 0x1e3900001e3a,
+ 0x1e3b00001e3c,
+ 0x1e3d00001e3e,
+ 0x1e3f00001e40,
+ 0x1e4100001e42,
+ 0x1e4300001e44,
+ 0x1e4500001e46,
+ 0x1e4700001e48,
+ 0x1e4900001e4a,
+ 0x1e4b00001e4c,
+ 0x1e4d00001e4e,
+ 0x1e4f00001e50,
+ 0x1e5100001e52,
+ 0x1e5300001e54,
+ 0x1e5500001e56,
+ 0x1e5700001e58,
+ 0x1e5900001e5a,
+ 0x1e5b00001e5c,
+ 0x1e5d00001e5e,
+ 0x1e5f00001e60,
+ 0x1e6100001e62,
+ 0x1e6300001e64,
+ 0x1e6500001e66,
+ 0x1e6700001e68,
+ 0x1e6900001e6a,
+ 0x1e6b00001e6c,
+ 0x1e6d00001e6e,
+ 0x1e6f00001e70,
+ 0x1e7100001e72,
+ 0x1e7300001e74,
+ 0x1e7500001e76,
+ 0x1e7700001e78,
+ 0x1e7900001e7a,
+ 0x1e7b00001e7c,
+ 0x1e7d00001e7e,
+ 0x1e7f00001e80,
+ 0x1e8100001e82,
+ 0x1e8300001e84,
+ 0x1e8500001e86,
+ 0x1e8700001e88,
+ 0x1e8900001e8a,
+ 0x1e8b00001e8c,
+ 0x1e8d00001e8e,
+ 0x1e8f00001e90,
+ 0x1e9100001e92,
+ 0x1e9300001e94,
+ 0x1e9500001e9a,
+ 0x1e9c00001e9e,
+ 0x1e9f00001ea0,
+ 0x1ea100001ea2,
+ 0x1ea300001ea4,
+ 0x1ea500001ea6,
+ 0x1ea700001ea8,
+ 0x1ea900001eaa,
+ 0x1eab00001eac,
+ 0x1ead00001eae,
+ 0x1eaf00001eb0,
+ 0x1eb100001eb2,
+ 0x1eb300001eb4,
+ 0x1eb500001eb6,
+ 0x1eb700001eb8,
+ 0x1eb900001eba,
+ 0x1ebb00001ebc,
+ 0x1ebd00001ebe,
+ 0x1ebf00001ec0,
+ 0x1ec100001ec2,
+ 0x1ec300001ec4,
+ 0x1ec500001ec6,
+ 0x1ec700001ec8,
+ 0x1ec900001eca,
+ 0x1ecb00001ecc,
+ 0x1ecd00001ece,
+ 0x1ecf00001ed0,
+ 0x1ed100001ed2,
+ 0x1ed300001ed4,
+ 0x1ed500001ed6,
+ 0x1ed700001ed8,
+ 0x1ed900001eda,
+ 0x1edb00001edc,
+ 0x1edd00001ede,
+ 0x1edf00001ee0,
+ 0x1ee100001ee2,
+ 0x1ee300001ee4,
+ 0x1ee500001ee6,
+ 0x1ee700001ee8,
+ 0x1ee900001eea,
+ 0x1eeb00001eec,
+ 0x1eed00001eee,
+ 0x1eef00001ef0,
+ 0x1ef100001ef2,
+ 0x1ef300001ef4,
+ 0x1ef500001ef6,
+ 0x1ef700001ef8,
+ 0x1ef900001efa,
+ 0x1efb00001efc,
+ 0x1efd00001efe,
+ 0x1eff00001f08,
+ 0x1f1000001f16,
+ 0x1f2000001f28,
+ 0x1f3000001f38,
+ 0x1f4000001f46,
+ 0x1f5000001f58,
+ 0x1f6000001f68,
+ 0x1f7000001f71,
+ 0x1f7200001f73,
+ 0x1f7400001f75,
+ 0x1f7600001f77,
+ 0x1f7800001f79,
+ 0x1f7a00001f7b,
+ 0x1f7c00001f7d,
+ 0x1fb000001fb2,
+ 0x1fb600001fb7,
+ 0x1fc600001fc7,
+ 0x1fd000001fd3,
+ 0x1fd600001fd8,
+ 0x1fe000001fe3,
+ 0x1fe400001fe8,
+ 0x1ff600001ff7,
+ 0x214e0000214f,
+ 0x218400002185,
+ 0x2c3000002c5f,
+ 0x2c6100002c62,
+ 0x2c6500002c67,
+ 0x2c6800002c69,
+ 0x2c6a00002c6b,
+ 0x2c6c00002c6d,
+ 0x2c7100002c72,
+ 0x2c7300002c75,
+ 0x2c7600002c7c,
+ 0x2c8100002c82,
+ 0x2c8300002c84,
+ 0x2c8500002c86,
+ 0x2c8700002c88,
+ 0x2c8900002c8a,
+ 0x2c8b00002c8c,
+ 0x2c8d00002c8e,
+ 0x2c8f00002c90,
+ 0x2c9100002c92,
+ 0x2c9300002c94,
+ 0x2c9500002c96,
+ 0x2c9700002c98,
+ 0x2c9900002c9a,
+ 0x2c9b00002c9c,
+ 0x2c9d00002c9e,
+ 0x2c9f00002ca0,
+ 0x2ca100002ca2,
+ 0x2ca300002ca4,
+ 0x2ca500002ca6,
+ 0x2ca700002ca8,
+ 0x2ca900002caa,
+ 0x2cab00002cac,
+ 0x2cad00002cae,
+ 0x2caf00002cb0,
+ 0x2cb100002cb2,
+ 0x2cb300002cb4,
+ 0x2cb500002cb6,
+ 0x2cb700002cb8,
+ 0x2cb900002cba,
+ 0x2cbb00002cbc,
+ 0x2cbd00002cbe,
+ 0x2cbf00002cc0,
+ 0x2cc100002cc2,
+ 0x2cc300002cc4,
+ 0x2cc500002cc6,
+ 0x2cc700002cc8,
+ 0x2cc900002cca,
+ 0x2ccb00002ccc,
+ 0x2ccd00002cce,
+ 0x2ccf00002cd0,
+ 0x2cd100002cd2,
+ 0x2cd300002cd4,
+ 0x2cd500002cd6,
+ 0x2cd700002cd8,
+ 0x2cd900002cda,
+ 0x2cdb00002cdc,
+ 0x2cdd00002cde,
+ 0x2cdf00002ce0,
+ 0x2ce100002ce2,
+ 0x2ce300002ce5,
+ 0x2cec00002ced,
+ 0x2cee00002cf2,
+ 0x2cf300002cf4,
+ 0x2d0000002d26,
+ 0x2d2700002d28,
+ 0x2d2d00002d2e,
+ 0x2d3000002d68,
+ 0x2d7f00002d97,
+ 0x2da000002da7,
+ 0x2da800002daf,
+ 0x2db000002db7,
+ 0x2db800002dbf,
+ 0x2dc000002dc7,
+ 0x2dc800002dcf,
+ 0x2dd000002dd7,
+ 0x2dd800002ddf,
+ 0x2de000002e00,
+ 0x2e2f00002e30,
+ 0x300500003008,
+ 0x302a0000302e,
+ 0x303c0000303d,
+ 0x304100003097,
+ 0x30990000309b,
+ 0x309d0000309f,
+ 0x30a1000030fb,
+ 0x30fc000030ff,
+ 0x31050000312e,
+ 0x31a0000031bb,
+ 0x31f000003200,
+ 0x340000004db6,
+ 0x4e0000009fcd,
+ 0xa0000000a48d,
+ 0xa4d00000a4fe,
+ 0xa5000000a60d,
+ 0xa6100000a62c,
+ 0xa6410000a642,
+ 0xa6430000a644,
+ 0xa6450000a646,
+ 0xa6470000a648,
+ 0xa6490000a64a,
+ 0xa64b0000a64c,
+ 0xa64d0000a64e,
+ 0xa64f0000a650,
+ 0xa6510000a652,
+ 0xa6530000a654,
+ 0xa6550000a656,
+ 0xa6570000a658,
+ 0xa6590000a65a,
+ 0xa65b0000a65c,
+ 0xa65d0000a65e,
+ 0xa65f0000a660,
+ 0xa6610000a662,
+ 0xa6630000a664,
+ 0xa6650000a666,
+ 0xa6670000a668,
+ 0xa6690000a66a,
+ 0xa66b0000a66c,
+ 0xa66d0000a670,
+ 0xa6740000a67e,
+ 0xa67f0000a680,
+ 0xa6810000a682,
+ 0xa6830000a684,
+ 0xa6850000a686,
+ 0xa6870000a688,
+ 0xa6890000a68a,
+ 0xa68b0000a68c,
+ 0xa68d0000a68e,
+ 0xa68f0000a690,
+ 0xa6910000a692,
+ 0xa6930000a694,
+ 0xa6950000a696,
+ 0xa6970000a698,
+ 0xa69f0000a6e6,
+ 0xa6f00000a6f2,
+ 0xa7170000a720,
+ 0xa7230000a724,
+ 0xa7250000a726,
+ 0xa7270000a728,
+ 0xa7290000a72a,
+ 0xa72b0000a72c,
+ 0xa72d0000a72e,
+ 0xa72f0000a732,
+ 0xa7330000a734,
+ 0xa7350000a736,
+ 0xa7370000a738,
+ 0xa7390000a73a,
+ 0xa73b0000a73c,
+ 0xa73d0000a73e,
+ 0xa73f0000a740,
+ 0xa7410000a742,
+ 0xa7430000a744,
+ 0xa7450000a746,
+ 0xa7470000a748,
+ 0xa7490000a74a,
+ 0xa74b0000a74c,
+ 0xa74d0000a74e,
+ 0xa74f0000a750,
+ 0xa7510000a752,
+ 0xa7530000a754,
+ 0xa7550000a756,
+ 0xa7570000a758,
+ 0xa7590000a75a,
+ 0xa75b0000a75c,
+ 0xa75d0000a75e,
+ 0xa75f0000a760,
+ 0xa7610000a762,
+ 0xa7630000a764,
+ 0xa7650000a766,
+ 0xa7670000a768,
+ 0xa7690000a76a,
+ 0xa76b0000a76c,
+ 0xa76d0000a76e,
+ 0xa76f0000a770,
+ 0xa7710000a779,
+ 0xa77a0000a77b,
+ 0xa77c0000a77d,
+ 0xa77f0000a780,
+ 0xa7810000a782,
+ 0xa7830000a784,
+ 0xa7850000a786,
+ 0xa7870000a789,
+ 0xa78c0000a78d,
+ 0xa78e0000a78f,
+ 0xa7910000a792,
+ 0xa7930000a794,
+ 0xa7a10000a7a2,
+ 0xa7a30000a7a4,
+ 0xa7a50000a7a6,
+ 0xa7a70000a7a8,
+ 0xa7a90000a7aa,
+ 0xa7fa0000a828,
+ 0xa8400000a874,
+ 0xa8800000a8c5,
+ 0xa8d00000a8da,
+ 0xa8e00000a8f8,
+ 0xa8fb0000a8fc,
+ 0xa9000000a92e,
+ 0xa9300000a954,
+ 0xa9800000a9c1,
+ 0xa9cf0000a9da,
+ 0xaa000000aa37,
+ 0xaa400000aa4e,
+ 0xaa500000aa5a,
+ 0xaa600000aa77,
+ 0xaa7a0000aa7c,
+ 0xaa800000aac3,
+ 0xaadb0000aade,
+ 0xaae00000aaf0,
+ 0xaaf20000aaf7,
+ 0xab010000ab07,
+ 0xab090000ab0f,
+ 0xab110000ab17,
+ 0xab200000ab27,
+ 0xab280000ab2f,
+ 0xabc00000abeb,
+ 0xabec0000abee,
+ 0xabf00000abfa,
+ 0xac000000d7a4,
+ 0xfa0e0000fa10,
+ 0xfa110000fa12,
+ 0xfa130000fa15,
+ 0xfa1f0000fa20,
+ 0xfa210000fa22,
+ 0xfa230000fa25,
+ 0xfa270000fa2a,
+ 0xfb1e0000fb1f,
+ 0xfe200000fe27,
+ 0xfe730000fe74,
+ 0x100000001000c,
+ 0x1000d00010027,
+ 0x100280001003b,
+ 0x1003c0001003e,
+ 0x1003f0001004e,
+ 0x100500001005e,
+ 0x10080000100fb,
+ 0x101fd000101fe,
+ 0x102800001029d,
+ 0x102a0000102d1,
+ 0x103000001031f,
+ 0x1033000010341,
+ 0x103420001034a,
+ 0x103800001039e,
+ 0x103a0000103c4,
+ 0x103c8000103d0,
+ 0x104280001049e,
+ 0x104a0000104aa,
+ 0x1080000010806,
+ 0x1080800010809,
+ 0x1080a00010836,
+ 0x1083700010839,
+ 0x1083c0001083d,
+ 0x1083f00010856,
+ 0x1090000010916,
+ 0x109200001093a,
+ 0x10980000109b8,
+ 0x109be000109c0,
+ 0x10a0000010a04,
+ 0x10a0500010a07,
+ 0x10a0c00010a14,
+ 0x10a1500010a18,
+ 0x10a1900010a34,
+ 0x10a3800010a3b,
+ 0x10a3f00010a40,
+ 0x10a6000010a7d,
+ 0x10b0000010b36,
+ 0x10b4000010b56,
+ 0x10b6000010b73,
+ 0x10c0000010c49,
+ 0x1100000011047,
+ 0x1106600011070,
+ 0x11080000110bb,
+ 0x110d0000110e9,
+ 0x110f0000110fa,
+ 0x1110000011135,
+ 0x1113600011140,
+ 0x11180000111c5,
+ 0x111d0000111da,
+ 0x11680000116b8,
+ 0x116c0000116ca,
+ 0x120000001236f,
+ 0x130000001342f,
+ 0x1680000016a39,
+ 0x16f0000016f45,
+ 0x16f5000016f7f,
+ 0x16f8f00016fa0,
+ 0x1b0000001b002,
+ 0x200000002a6d7,
+ 0x2a7000002b735,
+ 0x2b7400002b81e,
),
'CONTEXTJ': (
- (0x200c, 0x200e),
+ 0x200c0000200e,
),
'CONTEXTO': (
- (0xb7, 0xb8),
- (0x375, 0x376),
- (0x5f3, 0x5f5),
- (0x660, 0x66a),
- (0x6f0, 0x6fa),
- (0x30fb, 0x30fc),
+ 0xb7000000b8,
+ 0x37500000376,
+ 0x5f3000005f5,
+ 0x6600000066a,
+ 0x6f0000006fa,
+ 0x30fb000030fc,
),
}
diff --git a/requests/packages/idna/intranges.py b/requests/packages/idna/intranges.py
index ee8a175d..fa8a7356 100644
--- a/requests/packages/idna/intranges.py
+++ b/requests/packages/idna/intranges.py
@@ -11,6 +11,8 @@ def intranges_from_list(list_):
"""Represent a list of integers as a sequence of ranges:
((start_0, end_0), (start_1, end_1), ...), such that the original
integers are exactly those x such that start_i <= x < end_i for some i.
+
+ Ranges are encoded as single integers (start << 32 | end), not as tuples.
"""
sorted_list = sorted(list_)
@@ -21,26 +23,31 @@ def intranges_from_list(list_):
if sorted_list[i] == sorted_list[i+1]-1:
continue
current_range = sorted_list[last_write+1:i+1]
- range_tuple = (current_range[0], current_range[-1] + 1)
- ranges.append(range_tuple)
+ ranges.append(_encode_range(current_range[0], current_range[-1] + 1))
last_write = i
return tuple(ranges)
+def _encode_range(start, end):
+ return (start << 32) | end
+
+def _decode_range(r):
+ return (r >> 32), (r & ((1 << 32) - 1))
+
def intranges_contain(int_, ranges):
"""Determine if `int_` falls into one of the ranges in `ranges`."""
- tuple_ = (int_, int_)
+ tuple_ = _encode_range(int_, 0)
pos = bisect.bisect_left(ranges, tuple_)
# we could be immediately ahead of a tuple (start, end)
# with start < int_ <= end
if pos > 0:
- left, right = ranges[pos-1]
+ left, right = _decode_range(ranges[pos-1])
if left <= int_ < right:
return True
# or we could be immediately behind a tuple (int_, end)
if pos < len(ranges):
- left, _ = ranges[pos]
+ left, _ = _decode_range(ranges[pos])
if left == int_:
return True
return False