1 /************************************************************************/ 2 /* */ 3 /* �ե饰�����ơ��ȿ���DAA�Υơ��֥� */ 4 /* */ 5 /* SZ_table[n] �� �黻��̤� n �λ��Ρ�Z��S �ե饰�ξ��� */ 6 /* SZP_table[n] �� �黻��̤� n �λ��Ρ�P/V��Z��S �ե饰�ξ��� */ 7 /* */ 8 /* ̿��˱����ơ��ɤΥơ��֥뤫��ե饰���������Ф�����Ȥ�ʬ���롣 */ 9 /* */ 10 /* state_table[n] �� �̾�̿��Υ��ơ��ȿ� */ 11 /* state_CB_table[n] �� CB XX ̿��Υ��ơ��ȿ� */ 12 /* state_ED_table[n] �� ED XX ̿��Υ��ơ��ȿ� */ 13 /* state_XX_table[n] �� DD/FD XX ̿��Υ��ơ��ȿ� */ 14 /* state_XXCB_table[n] �� DD/FD CB XX XX ̿��Υ��ơ��ȿ� */ 15 /* */ 16 /* DAA_table[] �� DAA ̿��κݤˡ�AF�쥸������������� */ 17 /* */ 18 /************************************************************************/ 19 20 static byte SZ_table[256] = 21 { 22 #define Z Z_FLAG 23 #define S S_FLAG 24 Z, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32 S, S, S, S, S, S, S, S, S, S, S, S, S, S, S, S, 33 S, S, S, S, S, S, S, S, S, S, S, S, S, S, S, S, 34 S, S, S, S, S, S, S, S, S, S, S, S, S, S, S, S, 35 S, S, S, S, S, S, S, S, S, S, S, S, S, S, S, S, 36 S, S, S, S, S, S, S, S, S, S, S, S, S, S, S, S, 37 S, S, S, S, S, S, S, S, S, S, S, S, S, S, S, S, 38 S, S, S, S, S, S, S, S, S, S, S, S, S, S, S, S, 39 S, S, S, S, S, S, S, S, S, S, S, S, S, S, S, S, 40 #undef S 41 #undef Z 42 }; 43 44 static byte SZP_table[256] = 45 { 46 #define Z Z_FLAG 47 #define S S_FLAG 48 #define P P_FLAG 49 Z|P, 0 , 0 , 0|P, 0 , 0|P, 0|P, 0 , 50 0 , 0|P, 0|P, 0 , 0|P, 0 , 0 , 0|P, 51 0 , 0|P, 0|P, 0 , 0|P, 0 , 0 , 0|P, 52 0|P, 0 , 0 , 0|P, 0 , 0|P, 0|P, 0 , 53 0 , 0|P, 0|P, 0 , 0|P, 0 , 0 , 0|P, 54 0|P, 0 , 0 , 0|P, 0 , 0|P, 0|P, 0 , 55 0|P, 0 , 0 , 0|P, 0 , 0|P, 0|P, 0 , 56 0 , 0|P, 0|P, 0 , 0|P, 0 , 0 , 0|P, 57 0 , 0|P, 0|P, 0 , 0|P, 0 , 0 , 0|P, 58 0|P, 0 , 0 , 0|P, 0 , 0|P, 0|P, 0 , 59 0|P, 0 , 0 , 0|P, 0 , 0|P, 0|P, 0 , 60 0 , 0|P, 0|P, 0 , 0|P, 0 , 0 , 0|P, 61 0|P, 0 , 0 , 0|P, 0 , 0|P, 0|P, 0 , 62 0 , 0|P, 0|P, 0 , 0|P, 0 , 0 , 0|P, 63 0 , 0|P, 0|P, 0 , 0|P, 0 , 0 , 0|P, 64 0|P, 0 , 0 , 0|P, 0 , 0|P, 0|P, 0 , 65 S , S|P, S|P, S , S|P, S , S , S|P, 66 S|P, S , S , S|P, S , S|P, S|P, S , 67 S|P, S , S , S|P, S , S|P, S|P, S , 68 S , S|P, S|P, S , S|P, S , S , S|P, 69 S|P, S , S , S|P, S , S|P, S|P, S , 70 S , S|P, S|P, S , S|P, S , S , S|P, 71 S , S|P, S|P, S , S|P, S , S , S|P, 72 S|P, S , S , S|P, S , S|P, S|P, S , 73 S|P, S , S , S|P, S , S|P, S|P, S , 74 S , S|P, S|P, S , S|P, S , S , S|P, 75 S , S|P, S|P, S , S|P, S , S , S|P, 76 S|P, S , S , S|P, S , S|P, S|P, S , 77 S , S|P, S|P, S , S|P, S , S , S|P, 78 S|P, S , S , S|P, S , S|P, S|P, S , 79 S|P, S , S , S|P, S , S|P, S|P, S , 80 S , S|P, S|P, S , S|P, S , S , S|P, 81 #undef P 82 #undef S 83 #undef Z 84 }; 85 86 /* ���Х����� (JR, JR C/Z/NC/NZ, DJNZ) �ϡ�ʬ�����ˡ�+5 */ 87 /* ������̿�� (CALL, CALL C/Z/P/PE/NC/NZ/M/PO ) �ϡ�ʬ�����ˡ�+7 */ 88 /* �����̿�� (RET, RET C/Z/P/PE/NC/NZ/M/PO, RETI/N ) �ϡ�ʬ�����ˡ�+6 */ 89 /* �֥�å�̿�� (LD*R, CP*R, IN*R, OT*R) �ϡ������֤����ˡ�+5 */ 90 91 static int state_table[256] = 92 { 93 4,10, 7, 6, 4, 4, 7, 4, 4,11, 7, 6, 4, 4, 7, 4, 94 8,10, 7, 6, 4, 4, 7, 4, 7,11, 7, 6, 4, 4, 7, 4, 95 7,10,16, 6, 4, 4, 7, 4, 7,11,16, 6, 4, 4, 7, 4, 96 7,10,13, 6,11,11,10, 4, 7,11,13, 6, 4, 4, 7, 4, 97 4, 4, 4, 4, 4, 4, 7, 4, 4, 4, 4, 4, 4, 4, 7, 4, 98 4, 4, 4, 4, 4, 4, 7, 4, 4, 4, 4, 4, 4, 4, 7, 4, 99 4, 4, 4, 4, 4, 4, 7, 4, 4, 4, 4, 4, 4, 4, 7, 4, 100 7, 7, 7, 7, 7, 7, 4, 7, 4, 4, 4, 4, 4, 4, 7, 4, 101 4, 4, 4, 4, 4, 4, 7, 4, 4, 4, 4, 4, 4, 4, 7, 4, 102 4, 4, 4, 4, 4, 4, 7, 4, 4, 4, 4, 4, 4, 4, 7, 4, 103 4, 4, 4, 4, 4, 4, 7, 4, 4, 4, 4, 4, 4, 4, 7, 4, 104 4, 4, 4, 4, 4, 4, 7, 4, 4, 4, 4, 4, 4, 4, 7, 4, 105 5,10,10,10,10,11, 7,11, 5, 4,10, 0,10,10, 7,11, 106 5,10,10,11,10,11, 7,11, 5, 4,10,11,10, 0, 7,11, 107 5,10,10,19,10,11, 7,11, 5, 4,10, 4,10, 0, 7,11, 108 5,10,10, 4,10,11, 7,11, 5, 6,10, 4,10, 0, 7,11 109 }; 110 111 static int state_CB_table[256] = 112 { 113 8, 8, 8, 8, 8, 8,15, 8, 8, 8, 8, 8, 8, 8,15, 8, 114 8, 8, 8, 8, 8, 8,15, 8, 8, 8, 8, 8, 8, 8,15, 8, 115 8, 8, 8, 8, 8, 8,15, 8, 8, 8, 8, 8, 8, 8,15, 8, 116 8, 8, 8, 8, 8, 8,15, 8, 8, 8, 8, 8, 8, 8,15, 8, 117 8, 8, 8, 8, 8, 8,12, 8, 8, 8, 8, 8, 8, 8,12, 8, 118 8, 8, 8, 8, 8, 8,12, 8, 8, 8, 8, 8, 8, 8,12, 8, 119 8, 8, 8, 8, 8, 8,12, 8, 8, 8, 8, 8, 8, 8,12, 8, 120 8, 8, 8, 8, 8, 8,12, 8, 8, 8, 8, 8, 8, 8,12, 8, 121 8, 8, 8, 8, 8, 8,15, 8, 8, 8, 8, 8, 8, 8,15, 8, 122 8, 8, 8, 8, 8, 8,15, 8, 8, 8, 8, 8, 8, 8,15, 8, 123 8, 8, 8, 8, 8, 8,15, 8, 8, 8, 8, 8, 8, 8,15, 8, 124 8, 8, 8, 8, 8, 8,15, 8, 8, 8, 8, 8, 8, 8,15, 8, 125 8, 8, 8, 8, 8, 8,15, 8, 8, 8, 8, 8, 8, 8,15, 8, 126 8, 8, 8, 8, 8, 8,15, 8, 8, 8, 8, 8, 8, 8,15, 8, 127 8, 8, 8, 8, 8, 8,15, 8, 8, 8, 8, 8, 8, 8,15, 8, 128 8, 8, 8, 8, 8, 8,15, 8, 8, 8, 8, 8, 8, 8,15, 8 129 }; 130 131 static int state_ED_table[256] = 132 { 133 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 134 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 135 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 136 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 137 12,12,15,20, 8, 8, 8, 9,12,12,15,20, 8, 8, 8, 9, 138 12,12,15,20, 8, 8, 8, 9,12,12,15,20, 8, 8, 8, 9, 139 12,12,15,20, 8, 8, 8,18,12,12,15,20, 8, 8, 8,18, 140 12,12,15,20, 8, 8, 8, 0,12,12,15,20, 8, 8, 8, 0, 141 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 142 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 143 16,16,16,16, 0, 0, 0, 0,16,16,16,16, 0, 0, 0, 0, 144 16,16,16,16, 0, 0, 0, 0,16,16,16,16, 0, 0, 0, 0, 145 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 146 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 147 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 148 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 149 }; 150 151 static int state_XX_table[256] = 152 { 153 0, 0, 0, 0, 0, 0, 0, 0, 0,15, 0, 0, 0, 0, 0, 0, 154 0, 0, 0, 0, 0, 0, 0, 0, 0,15, 0, 0, 0, 0, 0, 0, 155 0,14,20,10, 8, 8,11, 0, 0,15,20,10, 8, 8,11, 0, 156 0, 0, 0, 0,23,23,19, 0, 0,15, 0, 0, 0, 0, 0, 0, 157 0, 0, 0, 0, 8, 8,19, 0, 0, 0, 0, 0, 8, 8,19, 0, 158 0, 0, 0, 0, 8, 8,19, 0, 0, 0, 0, 0, 8, 8,19, 0, 159 8, 8, 8, 8, 8, 8,19, 8, 8, 8, 8, 8, 8, 8,19, 8, 160 19,19,19,19,19,19, 0,19, 0, 0, 0, 0, 8, 8,19, 0, 161 0, 0, 0, 0, 8, 8,19, 0, 0, 0, 0, 0, 8, 8,19, 0, 162 0, 0, 0, 0, 8, 8,19, 0, 0, 0, 0, 0, 8, 8,19, 0, 163 0, 0, 0, 0, 8, 8,19, 0, 0, 0, 0, 0, 8, 8,19, 0, 164 0, 0, 0, 0, 8, 8,19, 0, 0, 0, 0, 0, 8, 8,19, 0, 165 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 166 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 167 0,14, 0,23, 0,15, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 168 0, 0, 0, 0, 0, 0, 0, 0, 0,10, 0, 0, 0, 0, 0, 0 169 }; 170 171 static int state_XXCB_table[256] = 172 { 173 23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23, 174 23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23, 175 23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23, 176 23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23, 177 20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20, 178 20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20, 179 20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20, 180 20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20, 181 23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23, 182 23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23, 183 23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23, 184 23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23, 185 23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23, 186 23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23, 187 23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23, 188 23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23 189 }; 190 191 192 193 static word DAA_table[2048] = 194 { 195 0x0044,0x0100,0x0200,0x0304,0x0400,0x0504,0x0604,0x0700, 196 0x0808,0x090C,0x1010,0x1114,0x1214,0x1310,0x1414,0x1510, 197 0x1000,0x1104,0x1204,0x1300,0x1404,0x1500,0x1600,0x1704, 198 0x180C,0x1908,0x2030,0x2134,0x2234,0x2330,0x2434,0x2530, 199 0x2020,0x2124,0x2224,0x2320,0x2424,0x2520,0x2620,0x2724, 200 0x282C,0x2928,0x3034,0x3130,0x3230,0x3334,0x3430,0x3534, 201 0x3024,0x3120,0x3220,0x3324,0x3420,0x3524,0x3624,0x3720, 202 0x3828,0x392C,0x4010,0x4114,0x4214,0x4310,0x4414,0x4510, 203 0x4000,0x4104,0x4204,0x4300,0x4404,0x4500,0x4600,0x4704, 204 0x480C,0x4908,0x5014,0x5110,0x5210,0x5314,0x5410,0x5514, 205 0x5004,0x5100,0x5200,0x5304,0x5400,0x5504,0x5604,0x5700, 206 0x5808,0x590C,0x6034,0x6130,0x6230,0x6334,0x6430,0x6534, 207 0x6024,0x6120,0x6220,0x6324,0x6420,0x6524,0x6624,0x6720, 208 0x6828,0x692C,0x7030,0x7134,0x7234,0x7330,0x7434,0x7530, 209 0x7020,0x7124,0x7224,0x7320,0x7424,0x7520,0x7620,0x7724, 210 0x782C,0x7928,0x8090,0x8194,0x8294,0x8390,0x8494,0x8590, 211 0x8080,0x8184,0x8284,0x8380,0x8484,0x8580,0x8680,0x8784, 212 0x888C,0x8988,0x9094,0x9190,0x9290,0x9394,0x9490,0x9594, 213 0x9084,0x9180,0x9280,0x9384,0x9480,0x9584,0x9684,0x9780, 214 0x9888,0x998C,0x0055,0x0111,0x0211,0x0315,0x0411,0x0515, 215 0x0045,0x0101,0x0201,0x0305,0x0401,0x0505,0x0605,0x0701, 216 0x0809,0x090D,0x1011,0x1115,0x1215,0x1311,0x1415,0x1511, 217 0x1001,0x1105,0x1205,0x1301,0x1405,0x1501,0x1601,0x1705, 218 0x180D,0x1909,0x2031,0x2135,0x2235,0x2331,0x2435,0x2531, 219 0x2021,0x2125,0x2225,0x2321,0x2425,0x2521,0x2621,0x2725, 220 0x282D,0x2929,0x3035,0x3131,0x3231,0x3335,0x3431,0x3535, 221 0x3025,0x3121,0x3221,0x3325,0x3421,0x3525,0x3625,0x3721, 222 0x3829,0x392D,0x4011,0x4115,0x4215,0x4311,0x4415,0x4511, 223 0x4001,0x4105,0x4205,0x4301,0x4405,0x4501,0x4601,0x4705, 224 0x480D,0x4909,0x5015,0x5111,0x5211,0x5315,0x5411,0x5515, 225 0x5005,0x5101,0x5201,0x5305,0x5401,0x5505,0x5605,0x5701, 226 0x5809,0x590D,0x6035,0x6131,0x6231,0x6335,0x6431,0x6535, 227 0x6025,0x6121,0x6221,0x6325,0x6421,0x6525,0x6625,0x6721, 228 0x6829,0x692D,0x7031,0x7135,0x7235,0x7331,0x7435,0x7531, 229 0x7021,0x7125,0x7225,0x7321,0x7425,0x7521,0x7621,0x7725, 230 0x782D,0x7929,0x8091,0x8195,0x8295,0x8391,0x8495,0x8591, 231 0x8081,0x8185,0x8285,0x8381,0x8485,0x8581,0x8681,0x8785, 232 0x888D,0x8989,0x9095,0x9191,0x9291,0x9395,0x9491,0x9595, 233 0x9085,0x9181,0x9281,0x9385,0x9481,0x9585,0x9685,0x9781, 234 0x9889,0x998D,0xA0B5,0xA1B1,0xA2B1,0xA3B5,0xA4B1,0xA5B5, 235 0xA0A5,0xA1A1,0xA2A1,0xA3A5,0xA4A1,0xA5A5,0xA6A5,0xA7A1, 236 0xA8A9,0xA9AD,0xB0B1,0xB1B5,0xB2B5,0xB3B1,0xB4B5,0xB5B1, 237 0xB0A1,0xB1A5,0xB2A5,0xB3A1,0xB4A5,0xB5A1,0xB6A1,0xB7A5, 238 0xB8AD,0xB9A9,0xC095,0xC191,0xC291,0xC395,0xC491,0xC595, 239 0xC085,0xC181,0xC281,0xC385,0xC481,0xC585,0xC685,0xC781, 240 0xC889,0xC98D,0xD091,0xD195,0xD295,0xD391,0xD495,0xD591, 241 0xD081,0xD185,0xD285,0xD381,0xD485,0xD581,0xD681,0xD785, 242 0xD88D,0xD989,0xE0B1,0xE1B5,0xE2B5,0xE3B1,0xE4B5,0xE5B1, 243 0xE0A1,0xE1A5,0xE2A5,0xE3A1,0xE4A5,0xE5A1,0xE6A1,0xE7A5, 244 0xE8AD,0xE9A9,0xF0B5,0xF1B1,0xF2B1,0xF3B5,0xF4B1,0xF5B5, 245 0xF0A5,0xF1A1,0xF2A1,0xF3A5,0xF4A1,0xF5A5,0xF6A5,0xF7A1, 246 0xF8A9,0xF9AD,0x0055,0x0111,0x0211,0x0315,0x0411,0x0515, 247 0x0045,0x0101,0x0201,0x0305,0x0401,0x0505,0x0605,0x0701, 248 0x0809,0x090D,0x1011,0x1115,0x1215,0x1311,0x1415,0x1511, 249 0x1001,0x1105,0x1205,0x1301,0x1405,0x1501,0x1601,0x1705, 250 0x180D,0x1909,0x2031,0x2135,0x2235,0x2331,0x2435,0x2531, 251 0x2021,0x2125,0x2225,0x2321,0x2425,0x2521,0x2621,0x2725, 252 0x282D,0x2929,0x3035,0x3131,0x3231,0x3335,0x3431,0x3535, 253 0x3025,0x3121,0x3221,0x3325,0x3421,0x3525,0x3625,0x3721, 254 0x3829,0x392D,0x4011,0x4115,0x4215,0x4311,0x4415,0x4511, 255 0x4001,0x4105,0x4205,0x4301,0x4405,0x4501,0x4601,0x4705, 256 0x480D,0x4909,0x5015,0x5111,0x5211,0x5315,0x5411,0x5515, 257 0x5005,0x5101,0x5201,0x5305,0x5401,0x5505,0x5605,0x5701, 258 0x5809,0x590D,0x6035,0x6131,0x6231,0x6335,0x6431,0x6535, 259 0x0604,0x0700,0x0808,0x090C,0x0A0C,0x0B08,0x0C0C,0x0D08, 260 0x0E08,0x0F0C,0x1010,0x1114,0x1214,0x1310,0x1414,0x1510, 261 0x1600,0x1704,0x180C,0x1908,0x1A08,0x1B0C,0x1C08,0x1D0C, 262 0x1E0C,0x1F08,0x2030,0x2134,0x2234,0x2330,0x2434,0x2530, 263 0x2620,0x2724,0x282C,0x2928,0x2A28,0x2B2C,0x2C28,0x2D2C, 264 0x2E2C,0x2F28,0x3034,0x3130,0x3230,0x3334,0x3430,0x3534, 265 0x3624,0x3720,0x3828,0x392C,0x3A2C,0x3B28,0x3C2C,0x3D28, 266 0x3E28,0x3F2C,0x4010,0x4114,0x4214,0x4310,0x4414,0x4510, 267 0x4600,0x4704,0x480C,0x4908,0x4A08,0x4B0C,0x4C08,0x4D0C, 268 0x4E0C,0x4F08,0x5014,0x5110,0x5210,0x5314,0x5410,0x5514, 269 0x5604,0x5700,0x5808,0x590C,0x5A0C,0x5B08,0x5C0C,0x5D08, 270 0x5E08,0x5F0C,0x6034,0x6130,0x6230,0x6334,0x6430,0x6534, 271 0x6624,0x6720,0x6828,0x692C,0x6A2C,0x6B28,0x6C2C,0x6D28, 272 0x6E28,0x6F2C,0x7030,0x7134,0x7234,0x7330,0x7434,0x7530, 273 0x7620,0x7724,0x782C,0x7928,0x7A28,0x7B2C,0x7C28,0x7D2C, 274 0x7E2C,0x7F28,0x8090,0x8194,0x8294,0x8390,0x8494,0x8590, 275 0x8680,0x8784,0x888C,0x8988,0x8A88,0x8B8C,0x8C88,0x8D8C, 276 0x8E8C,0x8F88,0x9094,0x9190,0x9290,0x9394,0x9490,0x9594, 277 0x9684,0x9780,0x9888,0x998C,0x9A8C,0x9B88,0x9C8C,0x9D88, 278 0x9E88,0x9F8C,0x0055,0x0111,0x0211,0x0315,0x0411,0x0515, 279 0x0605,0x0701,0x0809,0x090D,0x0A0D,0x0B09,0x0C0D,0x0D09, 280 0x0E09,0x0F0D,0x1011,0x1115,0x1215,0x1311,0x1415,0x1511, 281 0x1601,0x1705,0x180D,0x1909,0x1A09,0x1B0D,0x1C09,0x1D0D, 282 0x1E0D,0x1F09,0x2031,0x2135,0x2235,0x2331,0x2435,0x2531, 283 0x2621,0x2725,0x282D,0x2929,0x2A29,0x2B2D,0x2C29,0x2D2D, 284 0x2E2D,0x2F29,0x3035,0x3131,0x3231,0x3335,0x3431,0x3535, 285 0x3625,0x3721,0x3829,0x392D,0x3A2D,0x3B29,0x3C2D,0x3D29, 286 0x3E29,0x3F2D,0x4011,0x4115,0x4215,0x4311,0x4415,0x4511, 287 0x4601,0x4705,0x480D,0x4909,0x4A09,0x4B0D,0x4C09,0x4D0D, 288 0x4E0D,0x4F09,0x5015,0x5111,0x5211,0x5315,0x5411,0x5515, 289 0x5605,0x5701,0x5809,0x590D,0x5A0D,0x5B09,0x5C0D,0x5D09, 290 0x5E09,0x5F0D,0x6035,0x6131,0x6231,0x6335,0x6431,0x6535, 291 0x6625,0x6721,0x6829,0x692D,0x6A2D,0x6B29,0x6C2D,0x6D29, 292 0x6E29,0x6F2D,0x7031,0x7135,0x7235,0x7331,0x7435,0x7531, 293 0x7621,0x7725,0x782D,0x7929,0x7A29,0x7B2D,0x7C29,0x7D2D, 294 0x7E2D,0x7F29,0x8091,0x8195,0x8295,0x8391,0x8495,0x8591, 295 0x8681,0x8785,0x888D,0x8989,0x8A89,0x8B8D,0x8C89,0x8D8D, 296 0x8E8D,0x8F89,0x9095,0x9191,0x9291,0x9395,0x9491,0x9595, 297 0x9685,0x9781,0x9889,0x998D,0x9A8D,0x9B89,0x9C8D,0x9D89, 298 0x9E89,0x9F8D,0xA0B5,0xA1B1,0xA2B1,0xA3B5,0xA4B1,0xA5B5, 299 0xA6A5,0xA7A1,0xA8A9,0xA9AD,0xAAAD,0xABA9,0xACAD,0xADA9, 300 0xAEA9,0xAFAD,0xB0B1,0xB1B5,0xB2B5,0xB3B1,0xB4B5,0xB5B1, 301 0xB6A1,0xB7A5,0xB8AD,0xB9A9,0xBAA9,0xBBAD,0xBCA9,0xBDAD, 302 0xBEAD,0xBFA9,0xC095,0xC191,0xC291,0xC395,0xC491,0xC595, 303 0xC685,0xC781,0xC889,0xC98D,0xCA8D,0xCB89,0xCC8D,0xCD89, 304 0xCE89,0xCF8D,0xD091,0xD195,0xD295,0xD391,0xD495,0xD591, 305 0xD681,0xD785,0xD88D,0xD989,0xDA89,0xDB8D,0xDC89,0xDD8D, 306 0xDE8D,0xDF89,0xE0B1,0xE1B5,0xE2B5,0xE3B1,0xE4B5,0xE5B1, 307 0xE6A1,0xE7A5,0xE8AD,0xE9A9,0xEAA9,0xEBAD,0xECA9,0xEDAD, 308 0xEEAD,0xEFA9,0xF0B5,0xF1B1,0xF2B1,0xF3B5,0xF4B1,0xF5B5, 309 0xF6A5,0xF7A1,0xF8A9,0xF9AD,0xFAAD,0xFBA9,0xFCAD,0xFDA9, 310 0xFEA9,0xFFAD,0x0055,0x0111,0x0211,0x0315,0x0411,0x0515, 311 0x0605,0x0701,0x0809,0x090D,0x0A0D,0x0B09,0x0C0D,0x0D09, 312 0x0E09,0x0F0D,0x1011,0x1115,0x1215,0x1311,0x1415,0x1511, 313 0x1601,0x1705,0x180D,0x1909,0x1A09,0x1B0D,0x1C09,0x1D0D, 314 0x1E0D,0x1F09,0x2031,0x2135,0x2235,0x2331,0x2435,0x2531, 315 0x2621,0x2725,0x282D,0x2929,0x2A29,0x2B2D,0x2C29,0x2D2D, 316 0x2E2D,0x2F29,0x3035,0x3131,0x3231,0x3335,0x3431,0x3535, 317 0x3625,0x3721,0x3829,0x392D,0x3A2D,0x3B29,0x3C2D,0x3D29, 318 0x3E29,0x3F2D,0x4011,0x4115,0x4215,0x4311,0x4415,0x4511, 319 0x4601,0x4705,0x480D,0x4909,0x4A09,0x4B0D,0x4C09,0x4D0D, 320 0x4E0D,0x4F09,0x5015,0x5111,0x5211,0x5315,0x5411,0x5515, 321 0x5605,0x5701,0x5809,0x590D,0x5A0D,0x5B09,0x5C0D,0x5D09, 322 0x5E09,0x5F0D,0x6035,0x6131,0x6231,0x6335,0x6431,0x6535, 323 0x0046,0x0102,0x0202,0x0306,0x0402,0x0506,0x0606,0x0702, 324 0x080A,0x090E,0x0402,0x0506,0x0606,0x0702,0x080A,0x090E, 325 0x1002,0x1106,0x1206,0x1302,0x1406,0x1502,0x1602,0x1706, 326 0x180E,0x190A,0x1406,0x1502,0x1602,0x1706,0x180E,0x190A, 327 0x2022,0x2126,0x2226,0x2322,0x2426,0x2522,0x2622,0x2726, 328 0x282E,0x292A,0x2426,0x2522,0x2622,0x2726,0x282E,0x292A, 329 0x3026,0x3122,0x3222,0x3326,0x3422,0x3526,0x3626,0x3722, 330 0x382A,0x392E,0x3422,0x3526,0x3626,0x3722,0x382A,0x392E, 331 0x4002,0x4106,0x4206,0x4302,0x4406,0x4502,0x4602,0x4706, 332 0x480E,0x490A,0x4406,0x4502,0x4602,0x4706,0x480E,0x490A, 333 0x5006,0x5102,0x5202,0x5306,0x5402,0x5506,0x5606,0x5702, 334 0x580A,0x590E,0x5402,0x5506,0x5606,0x5702,0x580A,0x590E, 335 0x6026,0x6122,0x6222,0x6326,0x6422,0x6526,0x6626,0x6722, 336 0x682A,0x692E,0x6422,0x6526,0x6626,0x6722,0x682A,0x692E, 337 0x7022,0x7126,0x7226,0x7322,0x7426,0x7522,0x7622,0x7726, 338 0x782E,0x792A,0x7426,0x7522,0x7622,0x7726,0x782E,0x792A, 339 0x8082,0x8186,0x8286,0x8382,0x8486,0x8582,0x8682,0x8786, 340 0x888E,0x898A,0x8486,0x8582,0x8682,0x8786,0x888E,0x898A, 341 0x9086,0x9182,0x9282,0x9386,0x9482,0x9586,0x9686,0x9782, 342 0x988A,0x998E,0x3423,0x3527,0x3627,0x3723,0x382B,0x392F, 343 0x4003,0x4107,0x4207,0x4303,0x4407,0x4503,0x4603,0x4707, 344 0x480F,0x490B,0x4407,0x4503,0x4603,0x4707,0x480F,0x490B, 345 0x5007,0x5103,0x5203,0x5307,0x5403,0x5507,0x5607,0x5703, 346 0x580B,0x590F,0x5403,0x5507,0x5607,0x5703,0x580B,0x590F, 347 0x6027,0x6123,0x6223,0x6327,0x6423,0x6527,0x6627,0x6723, 348 0x682B,0x692F,0x6423,0x6527,0x6627,0x6723,0x682B,0x692F, 349 0x7023,0x7127,0x7227,0x7323,0x7427,0x7523,0x7623,0x7727, 350 0x782F,0x792B,0x7427,0x7523,0x7623,0x7727,0x782F,0x792B, 351 0x8083,0x8187,0x8287,0x8383,0x8487,0x8583,0x8683,0x8787, 352 0x888F,0x898B,0x8487,0x8583,0x8683,0x8787,0x888F,0x898B, 353 0x9087,0x9183,0x9283,0x9387,0x9483,0x9587,0x9687,0x9783, 354 0x988B,0x998F,0x9483,0x9587,0x9687,0x9783,0x988B,0x998F, 355 0xA0A7,0xA1A3,0xA2A3,0xA3A7,0xA4A3,0xA5A7,0xA6A7,0xA7A3, 356 0xA8AB,0xA9AF,0xA4A3,0xA5A7,0xA6A7,0xA7A3,0xA8AB,0xA9AF, 357 0xB0A3,0xB1A7,0xB2A7,0xB3A3,0xB4A7,0xB5A3,0xB6A3,0xB7A7, 358 0xB8AF,0xB9AB,0xB4A7,0xB5A3,0xB6A3,0xB7A7,0xB8AF,0xB9AB, 359 0xC087,0xC183,0xC283,0xC387,0xC483,0xC587,0xC687,0xC783, 360 0xC88B,0xC98F,0xC483,0xC587,0xC687,0xC783,0xC88B,0xC98F, 361 0xD083,0xD187,0xD287,0xD383,0xD487,0xD583,0xD683,0xD787, 362 0xD88F,0xD98B,0xD487,0xD583,0xD683,0xD787,0xD88F,0xD98B, 363 0xE0A3,0xE1A7,0xE2A7,0xE3A3,0xE4A7,0xE5A3,0xE6A3,0xE7A7, 364 0xE8AF,0xE9AB,0xE4A7,0xE5A3,0xE6A3,0xE7A7,0xE8AF,0xE9AB, 365 0xF0A7,0xF1A3,0xF2A3,0xF3A7,0xF4A3,0xF5A7,0xF6A7,0xF7A3, 366 0xF8AB,0xF9AF,0xF4A3,0xF5A7,0xF6A7,0xF7A3,0xF8AB,0xF9AF, 367 0x0047,0x0103,0x0203,0x0307,0x0403,0x0507,0x0607,0x0703, 368 0x080B,0x090F,0x0403,0x0507,0x0607,0x0703,0x080B,0x090F, 369 0x1003,0x1107,0x1207,0x1303,0x1407,0x1503,0x1603,0x1707, 370 0x180F,0x190B,0x1407,0x1503,0x1603,0x1707,0x180F,0x190B, 371 0x2023,0x2127,0x2227,0x2323,0x2427,0x2523,0x2623,0x2727, 372 0x282F,0x292B,0x2427,0x2523,0x2623,0x2727,0x282F,0x292B, 373 0x3027,0x3123,0x3223,0x3327,0x3423,0x3527,0x3627,0x3723, 374 0x382B,0x392F,0x3423,0x3527,0x3627,0x3723,0x382B,0x392F, 375 0x4003,0x4107,0x4207,0x4303,0x4407,0x4503,0x4603,0x4707, 376 0x480F,0x490B,0x4407,0x4503,0x4603,0x4707,0x480F,0x490B, 377 0x5007,0x5103,0x5203,0x5307,0x5403,0x5507,0x5607,0x5703, 378 0x580B,0x590F,0x5403,0x5507,0x5607,0x5703,0x580B,0x590F, 379 0x6027,0x6123,0x6223,0x6327,0x6423,0x6527,0x6627,0x6723, 380 0x682B,0x692F,0x6423,0x6527,0x6627,0x6723,0x682B,0x692F, 381 0x7023,0x7127,0x7227,0x7323,0x7427,0x7523,0x7623,0x7727, 382 0x782F,0x792B,0x7427,0x7523,0x7623,0x7727,0x782F,0x792B, 383 0x8083,0x8187,0x8287,0x8383,0x8487,0x8583,0x8683,0x8787, 384 0x888F,0x898B,0x8487,0x8583,0x8683,0x8787,0x888F,0x898B, 385 0x9087,0x9183,0x9283,0x9387,0x9483,0x9587,0x9687,0x9783, 386 0x988B,0x998F,0x9483,0x9587,0x9687,0x9783,0x988B,0x998F, 387 0xFABE,0xFBBA,0xFCBE,0xFDBA,0xFEBA,0xFFBE,0x0046,0x0102, 388 0x0202,0x0306,0x0402,0x0506,0x0606,0x0702,0x080A,0x090E, 389 0x0A1E,0x0B1A,0x0C1E,0x0D1A,0x0E1A,0x0F1E,0x1002,0x1106, 390 0x1206,0x1302,0x1406,0x1502,0x1602,0x1706,0x180E,0x190A, 391 0x1A1A,0x1B1E,0x1C1A,0x1D1E,0x1E1E,0x1F1A,0x2022,0x2126, 392 0x2226,0x2322,0x2426,0x2522,0x2622,0x2726,0x282E,0x292A, 393 0x2A3A,0x2B3E,0x2C3A,0x2D3E,0x2E3E,0x2F3A,0x3026,0x3122, 394 0x3222,0x3326,0x3422,0x3526,0x3626,0x3722,0x382A,0x392E, 395 0x3A3E,0x3B3A,0x3C3E,0x3D3A,0x3E3A,0x3F3E,0x4002,0x4106, 396 0x4206,0x4302,0x4406,0x4502,0x4602,0x4706,0x480E,0x490A, 397 0x4A1A,0x4B1E,0x4C1A,0x4D1E,0x4E1E,0x4F1A,0x5006,0x5102, 398 0x5202,0x5306,0x5402,0x5506,0x5606,0x5702,0x580A,0x590E, 399 0x5A1E,0x5B1A,0x5C1E,0x5D1A,0x5E1A,0x5F1E,0x6026,0x6122, 400 0x6222,0x6326,0x6422,0x6526,0x6626,0x6722,0x682A,0x692E, 401 0x6A3E,0x6B3A,0x6C3E,0x6D3A,0x6E3A,0x6F3E,0x7022,0x7126, 402 0x7226,0x7322,0x7426,0x7522,0x7622,0x7726,0x782E,0x792A, 403 0x7A3A,0x7B3E,0x7C3A,0x7D3E,0x7E3E,0x7F3A,0x8082,0x8186, 404 0x8286,0x8382,0x8486,0x8582,0x8682,0x8786,0x888E,0x898A, 405 0x8A9A,0x8B9E,0x8C9A,0x8D9E,0x8E9E,0x8F9A,0x9086,0x9182, 406 0x9282,0x9386,0x3423,0x3527,0x3627,0x3723,0x382B,0x392F, 407 0x3A3F,0x3B3B,0x3C3F,0x3D3B,0x3E3B,0x3F3F,0x4003,0x4107, 408 0x4207,0x4303,0x4407,0x4503,0x4603,0x4707,0x480F,0x490B, 409 0x4A1B,0x4B1F,0x4C1B,0x4D1F,0x4E1F,0x4F1B,0x5007,0x5103, 410 0x5203,0x5307,0x5403,0x5507,0x5607,0x5703,0x580B,0x590F, 411 0x5A1F,0x5B1B,0x5C1F,0x5D1B,0x5E1B,0x5F1F,0x6027,0x6123, 412 0x6223,0x6327,0x6423,0x6527,0x6627,0x6723,0x682B,0x692F, 413 0x6A3F,0x6B3B,0x6C3F,0x6D3B,0x6E3B,0x6F3F,0x7023,0x7127, 414 0x7227,0x7323,0x7427,0x7523,0x7623,0x7727,0x782F,0x792B, 415 0x7A3B,0x7B3F,0x7C3B,0x7D3F,0x7E3F,0x7F3B,0x8083,0x8187, 416 0x8287,0x8383,0x8487,0x8583,0x8683,0x8787,0x888F,0x898B, 417 0x8A9B,0x8B9F,0x8C9B,0x8D9F,0x8E9F,0x8F9B,0x9087,0x9183, 418 0x9283,0x9387,0x9483,0x9587,0x9687,0x9783,0x988B,0x998F, 419 0x9A9F,0x9B9B,0x9C9F,0x9D9B,0x9E9B,0x9F9F,0xA0A7,0xA1A3, 420 0xA2A3,0xA3A7,0xA4A3,0xA5A7,0xA6A7,0xA7A3,0xA8AB,0xA9AF, 421 0xAABF,0xABBB,0xACBF,0xADBB,0xAEBB,0xAFBF,0xB0A3,0xB1A7, 422 0xB2A7,0xB3A3,0xB4A7,0xB5A3,0xB6A3,0xB7A7,0xB8AF,0xB9AB, 423 0xBABB,0xBBBF,0xBCBB,0xBDBF,0xBEBF,0xBFBB,0xC087,0xC183, 424 0xC283,0xC387,0xC483,0xC587,0xC687,0xC783,0xC88B,0xC98F, 425 0xCA9F,0xCB9B,0xCC9F,0xCD9B,0xCE9B,0xCF9F,0xD083,0xD187, 426 0xD287,0xD383,0xD487,0xD583,0xD683,0xD787,0xD88F,0xD98B, 427 0xDA9B,0xDB9F,0xDC9B,0xDD9F,0xDE9F,0xDF9B,0xE0A3,0xE1A7, 428 0xE2A7,0xE3A3,0xE4A7,0xE5A3,0xE6A3,0xE7A7,0xE8AF,0xE9AB, 429 0xEABB,0xEBBF,0xECBB,0xEDBF,0xEEBF,0xEFBB,0xF0A7,0xF1A3, 430 0xF2A3,0xF3A7,0xF4A3,0xF5A7,0xF6A7,0xF7A3,0xF8AB,0xF9AF, 431 0xFABF,0xFBBB,0xFCBF,0xFDBB,0xFEBB,0xFFBF,0x0047,0x0103, 432 0x0203,0x0307,0x0403,0x0507,0x0607,0x0703,0x080B,0x090F, 433 0x0A1F,0x0B1B,0x0C1F,0x0D1B,0x0E1B,0x0F1F,0x1003,0x1107, 434 0x1207,0x1303,0x1407,0x1503,0x1603,0x1707,0x180F,0x190B, 435 0x1A1B,0x1B1F,0x1C1B,0x1D1F,0x1E1F,0x1F1B,0x2023,0x2127, 436 0x2227,0x2323,0x2427,0x2523,0x2623,0x2727,0x282F,0x292B, 437 0x2A3B,0x2B3F,0x2C3B,0x2D3F,0x2E3F,0x2F3B,0x3027,0x3123, 438 0x3223,0x3327,0x3423,0x3527,0x3627,0x3723,0x382B,0x392F, 439 0x3A3F,0x3B3B,0x3C3F,0x3D3B,0x3E3B,0x3F3F,0x4003,0x4107, 440 0x4207,0x4303,0x4407,0x4503,0x4603,0x4707,0x480F,0x490B, 441 0x4A1B,0x4B1F,0x4C1B,0x4D1F,0x4E1F,0x4F1B,0x5007,0x5103, 442 0x5203,0x5307,0x5403,0x5507,0x5607,0x5703,0x580B,0x590F, 443 0x5A1F,0x5B1B,0x5C1F,0x5D1B,0x5E1B,0x5F1F,0x6027,0x6123, 444 0x6223,0x6327,0x6423,0x6527,0x6627,0x6723,0x682B,0x692F, 445 0x6A3F,0x6B3B,0x6C3F,0x6D3B,0x6E3B,0x6F3F,0x7023,0x7127, 446 0x7227,0x7323,0x7427,0x7523,0x7623,0x7727,0x782F,0x792B, 447 0x7A3B,0x7B3F,0x7C3B,0x7D3F,0x7E3F,0x7F3B,0x8083,0x8187, 448 0x8287,0x8383,0x8487,0x8583,0x8683,0x8787,0x888F,0x898B, 449 0x8A9B,0x8B9F,0x8C9B,0x8D9F,0x8E9F,0x8F9B,0x9087,0x9183, 450 0x9283,0x9387,0x9483,0x9587,0x9687,0x9783,0x988B,0x998F 451 }; 452