decDPD.h revision 169695
1169695Skan/* Binary Coded Decimal <--> Densely Packed Decimal lookup tables. 2169695Skan Copyright (C) 2005 Free Software Foundation, Inc. 3169695Skan Contributed by IBM Corporation. Author Mike Cowlishaw. 4169695Skan 5169695Skan This file is part of GCC. 6169695Skan 7169695Skan GCC is free software; you can redistribute it and/or modify it under 8169695Skan the terms of the GNU General Public License as published by the Free 9169695Skan Software Foundation; either version 2, or (at your option) any later 10169695Skan version. 11169695Skan 12169695Skan In addition to the permissions in the GNU General Public License, 13169695Skan the Free Software Foundation gives you unlimited permission to link 14169695Skan the compiled version of this file into combinations with other 15169695Skan programs, and to distribute those combinations without any 16169695Skan restriction coming from the use of this file. (The General Public 17169695Skan License restrictions do apply in other respects; for example, they 18169695Skan cover modification of the file, and distribution when not linked 19169695Skan into a combine executable.) 20169695Skan 21169695Skan GCC is distributed in the hope that it will be useful, but WITHOUT ANY 22169695Skan WARRANTY; without even the implied warranty of MERCHANTABILITY or 23169695Skan FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 24169695Skan for more details. 25169695Skan 26169695Skan You should have received a copy of the GNU General Public License 27169695Skan along with GCC; see the file COPYING. If not, write to the Free 28169695Skan Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 29169695Skan 02110-1301, USA. */ 30169695Skan 31169695Skan/* ------------------------------------------------------------------------ */ 32169695Skan/* For details, see: http://www2.hursley.ibm.com/decimal/DPDecimal.html */ 33169695Skan/* */ 34169695Skan/* This include file defines conversion tables for DPD, as follows. */ 35169695Skan/* */ 36169695Skan/* uint16_t BCD2DPD[2458]; // BCD -> DPD (0x999 => 2457) */ 37169695Skan/* uint16_t DPD2BCD[1024]; // DPD -> BCD (0x3FF => 0x999) */ 38169695Skan/* uint16_t BIN2DPD[1000]; // BIN -> DPD (999 => 2457) */ 39169695Skan/* uint16_t DPD2BIN[1024]; // DPD -> BIN (0x3FF => 999) */ 40169695Skan/* */ 41169695Skan/* In all cases the result (10 bits or 12 bits, or binary) is right-aligned */ 42169695Skan/* in the table entry. */ 43169695Skan/* */ 44169695Skan/* To use a table, its name, prefixed with DEC_, must be defined with a */ 45169695Skan/* value of 1 before this header file is included. For example: */ 46169695Skan/* #define DEC_BCD2DPD 1 */ 47169695Skan/* ------------------------------------------------------------------------ */ 48169695Skan 49169695Skan#if DEC_BCD2DPD==1 50169695Skan 51169695Skanconst uint16_t BCD2DPD[2458] = { 0, 1, 2, 3, 4, 5, 6, 7, 52169695Skan 8, 9, 0, 0, 0, 0, 0, 0, 16, 17, 18, 19, 20, 53169695Skan 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 32, 33, 54169695Skan 34, 35, 36, 37, 38, 39, 40, 41, 0, 0, 0, 0, 0, 55169695Skan 0, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 0, 0, 56169695Skan 0, 0, 0, 0, 64, 65, 66, 67, 68, 69, 70, 71, 72, 57169695Skan 73, 0, 0, 0, 0, 0, 0, 80, 81, 82, 83, 84, 85, 58169695Skan 86, 87, 88, 89, 0, 0, 0, 0, 0, 0, 96, 97, 98, 59169695Skan 99, 100, 101, 102, 103, 104, 105, 0, 0, 0, 0, 0, 0, 60169695Skan 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 0, 0, 0, 61169695Skan 0, 0, 0, 10, 11, 42, 43, 74, 75, 106, 107, 78, 79, 62169695Skan 0, 0, 0, 0, 0, 0, 26, 27, 58, 59, 90, 91, 122, 63169695Skan 123, 94, 95, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64169695Skan 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 65169695Skan 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66169695Skan 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67169695Skan 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68169695Skan 0, 0, 0, 0, 0, 0, 0, 0, 10, 11, 42, 43, 74, 69169695Skan 75, 106, 107, 78, 79, 0, 0, 0, 0, 0, 0, 0, 0, 70169695Skan 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 71169695Skan 0, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 0, 0, 72169695Skan 0, 0, 0, 0, 144, 145, 146, 147, 148, 149, 150, 151, 152, 73169695Skan 153, 0, 0, 0, 0, 0, 0, 160, 161, 162, 163, 164, 165, 74169695Skan 166, 167, 168, 169, 0, 0, 0, 0, 0, 0, 176, 177, 178, 75169695Skan 179, 180, 181, 182, 183, 184, 185, 0, 0, 0, 0, 0, 0, 76169695Skan 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 0, 0, 0, 77169695Skan 0, 0, 0, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 78169695Skan 0, 0, 0, 0, 0, 0, 224, 225, 226, 227, 228, 229, 230, 79169695Skan 231, 232, 233, 0, 0, 0, 0, 0, 0, 240, 241, 242, 243, 80169695Skan 244, 245, 246, 247, 248, 249, 0, 0, 0, 0, 0, 0, 138, 81169695Skan 139, 170, 171, 202, 203, 234, 235, 206, 207, 0, 0, 0, 0, 82169695Skan 0, 0, 154, 155, 186, 187, 218, 219, 250, 251, 222, 223, 0, 83169695Skan 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 84169695Skan 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 85169695Skan 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86169695Skan 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 87169695Skan 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88169695Skan 0, 0, 0, 0, 138, 139, 170, 171, 202, 203, 234, 235, 206, 89169695Skan 207, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 90169695Skan 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 256, 257, 258, 91169695Skan 259, 260, 261, 262, 263, 264, 265, 0, 0, 0, 0, 0, 0, 92169695Skan 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 0, 0, 0, 93169695Skan 0, 0, 0, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 94169695Skan 0, 0, 0, 0, 0, 0, 304, 305, 306, 307, 308, 309, 310, 95169695Skan 311, 312, 313, 0, 0, 0, 0, 0, 0, 320, 321, 322, 323, 96169695Skan 324, 325, 326, 327, 328, 329, 0, 0, 0, 0, 0, 0, 336, 97169695Skan 337, 338, 339, 340, 341, 342, 343, 344, 345, 0, 0, 0, 0, 98169695Skan 0, 0, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 0, 99169695Skan 0, 0, 0, 0, 0, 368, 369, 370, 371, 372, 373, 374, 375, 100169695Skan 376, 377, 0, 0, 0, 0, 0, 0, 266, 267, 298, 299, 330, 101169695Skan 331, 362, 363, 334, 335, 0, 0, 0, 0, 0, 0, 282, 283, 102169695Skan 314, 315, 346, 347, 378, 379, 350, 351, 0, 0, 0, 0, 0, 103169695Skan 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 104169695Skan 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 105169695Skan 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 106169695Skan 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 107169695Skan 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 108169695Skan 266, 267, 298, 299, 330, 331, 362, 363, 334, 335, 0, 0, 0, 109169695Skan 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 110169695Skan 0, 0, 0, 0, 0, 0, 384, 385, 386, 387, 388, 389, 390, 111169695Skan 391, 392, 393, 0, 0, 0, 0, 0, 0, 400, 401, 402, 403, 112169695Skan 404, 405, 406, 407, 408, 409, 0, 0, 0, 0, 0, 0, 416, 113169695Skan 417, 418, 419, 420, 421, 422, 423, 424, 425, 0, 0, 0, 0, 114169695Skan 0, 0, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 0, 115169695Skan 0, 0, 0, 0, 0, 448, 449, 450, 451, 452, 453, 454, 455, 116169695Skan 456, 457, 0, 0, 0, 0, 0, 0, 464, 465, 466, 467, 468, 117169695Skan 469, 470, 471, 472, 473, 0, 0, 0, 0, 0, 0, 480, 481, 118169695Skan 482, 483, 484, 485, 486, 487, 488, 489, 0, 0, 0, 0, 0, 119169695Skan 0, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 0, 0, 120169695Skan 0, 0, 0, 0, 394, 395, 426, 427, 458, 459, 490, 491, 462, 121169695Skan 463, 0, 0, 0, 0, 0, 0, 410, 411, 442, 443, 474, 475, 122169695Skan 506, 507, 478, 479, 0, 0, 0, 0, 0, 0, 0, 0, 0, 123169695Skan 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 124169695Skan 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 125169695Skan 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 126169695Skan 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 127169695Skan 0, 0, 0, 0, 0, 0, 0, 0, 0, 394, 395, 426, 427, 128169695Skan 458, 459, 490, 491, 462, 463, 0, 0, 0, 0, 0, 0, 0, 129169695Skan 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 130169695Skan 0, 0, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 0, 131169695Skan 0, 0, 0, 0, 0, 528, 529, 530, 531, 532, 533, 534, 535, 132169695Skan 536, 537, 0, 0, 0, 0, 0, 0, 544, 545, 546, 547, 548, 133169695Skan 549, 550, 551, 552, 553, 0, 0, 0, 0, 0, 0, 560, 561, 134169695Skan 562, 563, 564, 565, 566, 567, 568, 569, 0, 0, 0, 0, 0, 135169695Skan 0, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 0, 0, 136169695Skan 0, 0, 0, 0, 592, 593, 594, 595, 596, 597, 598, 599, 600, 137169695Skan 601, 0, 0, 0, 0, 0, 0, 608, 609, 610, 611, 612, 613, 138169695Skan 614, 615, 616, 617, 0, 0, 0, 0, 0, 0, 624, 625, 626, 139169695Skan 627, 628, 629, 630, 631, 632, 633, 0, 0, 0, 0, 0, 0, 140169695Skan 522, 523, 554, 555, 586, 587, 618, 619, 590, 591, 0, 0, 0, 141169695Skan 0, 0, 0, 538, 539, 570, 571, 602, 603, 634, 635, 606, 607, 142169695Skan 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 143169695Skan 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 144169695Skan 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 145169695Skan 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 146169695Skan 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 147169695Skan 0, 0, 0, 0, 0, 522, 523, 554, 555, 586, 587, 618, 619, 148169695Skan 590, 591, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 149169695Skan 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 640, 641, 150169695Skan 642, 643, 644, 645, 646, 647, 648, 649, 0, 0, 0, 0, 0, 151169695Skan 0, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 0, 0, 152169695Skan 0, 0, 0, 0, 672, 673, 674, 675, 676, 677, 678, 679, 680, 153169695Skan 681, 0, 0, 0, 0, 0, 0, 688, 689, 690, 691, 692, 693, 154169695Skan 694, 695, 696, 697, 0, 0, 0, 0, 0, 0, 704, 705, 706, 155169695Skan 707, 708, 709, 710, 711, 712, 713, 0, 0, 0, 0, 0, 0, 156169695Skan 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 0, 0, 0, 157169695Skan 0, 0, 0, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 158169695Skan 0, 0, 0, 0, 0, 0, 752, 753, 754, 755, 756, 757, 758, 159169695Skan 759, 760, 761, 0, 0, 0, 0, 0, 0, 650, 651, 682, 683, 160169695Skan 714, 715, 746, 747, 718, 719, 0, 0, 0, 0, 0, 0, 666, 161169695Skan 667, 698, 699, 730, 731, 762, 763, 734, 735, 0, 0, 0, 0, 162169695Skan 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 163169695Skan 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 164169695Skan 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 165169695Skan 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 166169695Skan 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 167169695Skan 0, 650, 651, 682, 683, 714, 715, 746, 747, 718, 719, 0, 0, 168169695Skan 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 169169695Skan 0, 0, 0, 0, 0, 0, 0, 768, 769, 770, 771, 772, 773, 170169695Skan 774, 775, 776, 777, 0, 0, 0, 0, 0, 0, 784, 785, 786, 171169695Skan 787, 788, 789, 790, 791, 792, 793, 0, 0, 0, 0, 0, 0, 172169695Skan 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 0, 0, 0, 173169695Skan 0, 0, 0, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 174169695Skan 0, 0, 0, 0, 0, 0, 832, 833, 834, 835, 836, 837, 838, 175169695Skan 839, 840, 841, 0, 0, 0, 0, 0, 0, 848, 849, 850, 851, 176169695Skan 852, 853, 854, 855, 856, 857, 0, 0, 0, 0, 0, 0, 864, 177169695Skan 865, 866, 867, 868, 869, 870, 871, 872, 873, 0, 0, 0, 0, 178169695Skan 0, 0, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 0, 179169695Skan 0, 0, 0, 0, 0, 778, 779, 810, 811, 842, 843, 874, 875, 180169695Skan 846, 847, 0, 0, 0, 0, 0, 0, 794, 795, 826, 827, 858, 181169695Skan 859, 890, 891, 862, 863, 0, 0, 0, 0, 0, 0, 0, 0, 182169695Skan 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 183169695Skan 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 184169695Skan 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 185169695Skan 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 186169695Skan 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 778, 779, 810, 187169695Skan 811, 842, 843, 874, 875, 846, 847, 0, 0, 0, 0, 0, 0, 188169695Skan 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 189169695Skan 0, 0, 0, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 190169695Skan 0, 0, 0, 0, 0, 0, 912, 913, 914, 915, 916, 917, 918, 191169695Skan 919, 920, 921, 0, 0, 0, 0, 0, 0, 928, 929, 930, 931, 192169695Skan 932, 933, 934, 935, 936, 937, 0, 0, 0, 0, 0, 0, 944, 193169695Skan 945, 946, 947, 948, 949, 950, 951, 952, 953, 0, 0, 0, 0, 194169695Skan 0, 0, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 0, 195169695Skan 0, 0, 0, 0, 0, 976, 977, 978, 979, 980, 981, 982, 983, 196169695Skan 984, 985, 0, 0, 0, 0, 0, 0, 992, 993, 994, 995, 996, 197169695Skan 997, 998, 999, 1000, 1001, 0, 0, 0, 0, 0, 0, 1008, 1009, 198169695Skan 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 0, 0, 0, 0, 0, 199169695Skan 0, 906, 907, 938, 939, 970, 971, 1002, 1003, 974, 975, 0, 0, 200169695Skan 0, 0, 0, 0, 922, 923, 954, 955, 986, 987, 1018, 1019, 990, 201169695Skan 991, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 202169695Skan 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 203169695Skan 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 204169695Skan 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 205169695Skan 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 206169695Skan 0, 0, 0, 0, 0, 0, 906, 907, 938, 939, 970, 971, 1002, 207169695Skan 1003, 974, 975, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 208169695Skan 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 209169695Skan 13, 268, 269, 524, 525, 780, 781, 46, 47, 0, 0, 0, 0, 210169695Skan 0, 0, 28, 29, 284, 285, 540, 541, 796, 797, 62, 63, 0, 211169695Skan 0, 0, 0, 0, 0, 44, 45, 300, 301, 556, 557, 812, 813, 212169695Skan 302, 303, 0, 0, 0, 0, 0, 0, 60, 61, 316, 317, 572, 213169695Skan 573, 828, 829, 318, 319, 0, 0, 0, 0, 0, 0, 76, 77, 214169695Skan 332, 333, 588, 589, 844, 845, 558, 559, 0, 0, 0, 0, 0, 215169695Skan 0, 92, 93, 348, 349, 604, 605, 860, 861, 574, 575, 0, 0, 216169695Skan 0, 0, 0, 0, 108, 109, 364, 365, 620, 621, 876, 877, 814, 217169695Skan 815, 0, 0, 0, 0, 0, 0, 124, 125, 380, 381, 636, 637, 218169695Skan 892, 893, 830, 831, 0, 0, 0, 0, 0, 0, 14, 15, 270, 219169695Skan 271, 526, 527, 782, 783, 110, 111, 0, 0, 0, 0, 0, 0, 220169695Skan 30, 31, 286, 287, 542, 543, 798, 799, 126, 127, 0, 0, 0, 221169695Skan 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 222169695Skan 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 223169695Skan 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 224169695Skan 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 225169695Skan 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 226169695Skan 0, 0, 14, 15, 270, 271, 526, 527, 782, 783, 110, 111, 0, 227169695Skan 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 228169695Skan 0, 0, 0, 0, 0, 0, 0, 0, 140, 141, 396, 397, 652, 229169695Skan 653, 908, 909, 174, 175, 0, 0, 0, 0, 0, 0, 156, 157, 230169695Skan 412, 413, 668, 669, 924, 925, 190, 191, 0, 0, 0, 0, 0, 231169695Skan 0, 172, 173, 428, 429, 684, 685, 940, 941, 430, 431, 0, 0, 232169695Skan 0, 0, 0, 0, 188, 189, 444, 445, 700, 701, 956, 957, 446, 233169695Skan 447, 0, 0, 0, 0, 0, 0, 204, 205, 460, 461, 716, 717, 234169695Skan 972, 973, 686, 687, 0, 0, 0, 0, 0, 0, 220, 221, 476, 235169695Skan 477, 732, 733, 988, 989, 702, 703, 0, 0, 0, 0, 0, 0, 236169695Skan 236, 237, 492, 493, 748, 749, 1004, 1005, 942, 943, 0, 0, 0, 237169695Skan 0, 0, 0, 252, 253, 508, 509, 764, 765, 1020, 1021, 958, 959, 238169695Skan 0, 0, 0, 0, 0, 0, 142, 143, 398, 399, 654, 655, 910, 239169695Skan 911, 238, 239, 0, 0, 0, 0, 0, 0, 158, 159, 414, 415, 240169695Skan 670, 671, 926, 927, 254, 255 241169695Skan}; 242169695Skan#endif 243169695Skan 244169695Skan#if DEC_DPD2BCD==1 245169695Skan 246169695Skanconst uint16_t DPD2BCD[1024] = { 0, 1, 2, 3, 4, 5, 6, 7, 247169695Skan 8, 9, 128, 129, 2048, 2049, 2176, 2177, 16, 17, 18, 19, 20, 248169695Skan 21, 22, 23, 24, 25, 144, 145, 2064, 2065, 2192, 2193, 32, 33, 249169695Skan 34, 35, 36, 37, 38, 39, 40, 41, 130, 131, 2080, 2081, 2056, 250169695Skan 2057, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 146, 147, 251169695Skan 2096, 2097, 2072, 2073, 64, 65, 66, 67, 68, 69, 70, 71, 72, 252169695Skan 73, 132, 133, 2112, 2113, 136, 137, 80, 81, 82, 83, 84, 85, 253169695Skan 86, 87, 88, 89, 148, 149, 2128, 2129, 152, 153, 96, 97, 98, 254169695Skan 99, 100, 101, 102, 103, 104, 105, 134, 135, 2144, 2145, 2184, 2185, 255169695Skan 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 150, 151, 2160, 256169695Skan 2161, 2200, 2201, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 257169695Skan 384, 385, 2304, 2305, 2432, 2433, 272, 273, 274, 275, 276, 277, 278, 258169695Skan 279, 280, 281, 400, 401, 2320, 2321, 2448, 2449, 288, 289, 290, 291, 259169695Skan 292, 293, 294, 295, 296, 297, 386, 387, 2336, 2337, 2312, 2313, 304, 260169695Skan 305, 306, 307, 308, 309, 310, 311, 312, 313, 402, 403, 2352, 2353, 261169695Skan 2328, 2329, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 388, 262169695Skan 389, 2368, 2369, 392, 393, 336, 337, 338, 339, 340, 341, 342, 343, 263169695Skan 344, 345, 404, 405, 2384, 2385, 408, 409, 352, 353, 354, 355, 356, 264169695Skan 357, 358, 359, 360, 361, 390, 391, 2400, 2401, 2440, 2441, 368, 369, 265169695Skan 370, 371, 372, 373, 374, 375, 376, 377, 406, 407, 2416, 2417, 2456, 266169695Skan 2457, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 640, 641, 267169695Skan 2050, 2051, 2178, 2179, 528, 529, 530, 531, 532, 533, 534, 535, 536, 268169695Skan 537, 656, 657, 2066, 2067, 2194, 2195, 544, 545, 546, 547, 548, 549, 269169695Skan 550, 551, 552, 553, 642, 643, 2082, 2083, 2088, 2089, 560, 561, 562, 270169695Skan 563, 564, 565, 566, 567, 568, 569, 658, 659, 2098, 2099, 2104, 2105, 271169695Skan 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 644, 645, 2114, 272169695Skan 2115, 648, 649, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 273169695Skan 660, 661, 2130, 2131, 664, 665, 608, 609, 610, 611, 612, 613, 614, 274169695Skan 615, 616, 617, 646, 647, 2146, 2147, 2184, 2185, 624, 625, 626, 627, 275169695Skan 628, 629, 630, 631, 632, 633, 662, 663, 2162, 2163, 2200, 2201, 768, 276169695Skan 769, 770, 771, 772, 773, 774, 775, 776, 777, 896, 897, 2306, 2307, 277169695Skan 2434, 2435, 784, 785, 786, 787, 788, 789, 790, 791, 792, 793, 912, 278169695Skan 913, 2322, 2323, 2450, 2451, 800, 801, 802, 803, 804, 805, 806, 807, 279169695Skan 808, 809, 898, 899, 2338, 2339, 2344, 2345, 816, 817, 818, 819, 820, 280169695Skan 821, 822, 823, 824, 825, 914, 915, 2354, 2355, 2360, 2361, 832, 833, 281169695Skan 834, 835, 836, 837, 838, 839, 840, 841, 900, 901, 2370, 2371, 904, 282169695Skan 905, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 916, 917, 283169695Skan 2386, 2387, 920, 921, 864, 865, 866, 867, 868, 869, 870, 871, 872, 284169695Skan 873, 902, 903, 2402, 2403, 2440, 2441, 880, 881, 882, 883, 884, 885, 285169695Skan 886, 887, 888, 889, 918, 919, 2418, 2419, 2456, 2457, 1024, 1025, 1026, 286169695Skan 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1152, 1153, 2052, 2053, 2180, 287169695Skan 2181, 288169695Skan 1040, 1041, 1042, 1043, 1044, 1045, 1046, 1047, 1048, 1049, 1168, 1169, 289169695Skan 2068, 290169695Skan 2069, 2196, 2197, 1056, 1057, 1058, 1059, 1060, 1061, 1062, 1063, 1064, 291169695Skan 1065, 292169695Skan 1154, 1155, 2084, 2085, 2120, 2121, 1072, 1073, 1074, 1075, 1076, 1077, 293169695Skan 1078, 294169695Skan 1079, 1080, 1081, 1170, 1171, 2100, 2101, 2136, 2137, 1088, 1089, 1090, 295169695Skan 1091, 296169695Skan 1092, 1093, 1094, 1095, 1096, 1097, 1156, 1157, 2116, 2117, 1160, 1161, 297169695Skan 1104, 298169695Skan 1105, 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1113, 1172, 1173, 2132, 299169695Skan 2133, 300169695Skan 1176, 1177, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1129, 301169695Skan 1158, 302169695Skan 1159, 2148, 2149, 2184, 2185, 1136, 1137, 1138, 1139, 1140, 1141, 1142, 303169695Skan 1143, 304169695Skan 1144, 1145, 1174, 1175, 2164, 2165, 2200, 2201, 1280, 1281, 1282, 1283, 305169695Skan 1284, 306169695Skan 1285, 1286, 1287, 1288, 1289, 1408, 1409, 2308, 2309, 2436, 2437, 1296, 307169695Skan 1297, 308169695Skan 1298, 1299, 1300, 1301, 1302, 1303, 1304, 1305, 1424, 1425, 2324, 2325, 309169695Skan 2452, 310169695Skan 2453, 1312, 1313, 1314, 1315, 1316, 1317, 1318, 1319, 1320, 1321, 1410, 311169695Skan 1411, 312169695Skan 2340, 2341, 2376, 2377, 1328, 1329, 1330, 1331, 1332, 1333, 1334, 1335, 313169695Skan 1336, 314169695Skan 1337, 1426, 1427, 2356, 2357, 2392, 2393, 1344, 1345, 1346, 1347, 1348, 315169695Skan 1349, 316169695Skan 1350, 1351, 1352, 1353, 1412, 1413, 2372, 2373, 1416, 1417, 1360, 1361, 317169695Skan 1362, 318169695Skan 1363, 1364, 1365, 1366, 1367, 1368, 1369, 1428, 1429, 2388, 2389, 1432, 319169695Skan 1433, 320169695Skan 1376, 1377, 1378, 1379, 1380, 1381, 1382, 1383, 1384, 1385, 1414, 1415, 321169695Skan 2404, 322169695Skan 2405, 2440, 2441, 1392, 1393, 1394, 1395, 1396, 1397, 1398, 1399, 1400, 323169695Skan 1401, 324169695Skan 1430, 1431, 2420, 2421, 2456, 2457, 1536, 1537, 1538, 1539, 1540, 1541, 325169695Skan 1542, 326169695Skan 1543, 1544, 1545, 1664, 1665, 2054, 2055, 2182, 2183, 1552, 1553, 1554, 327169695Skan 1555, 328169695Skan 1556, 1557, 1558, 1559, 1560, 1561, 1680, 1681, 2070, 2071, 2198, 2199, 329169695Skan 1568, 330169695Skan 1569, 1570, 1571, 1572, 1573, 1574, 1575, 1576, 1577, 1666, 1667, 2086, 331169695Skan 2087, 332169695Skan 2152, 2153, 1584, 1585, 1586, 1587, 1588, 1589, 1590, 1591, 1592, 1593, 333169695Skan 1682, 334169695Skan 1683, 2102, 2103, 2168, 2169, 1600, 1601, 1602, 1603, 1604, 1605, 1606, 335169695Skan 1607, 336169695Skan 1608, 1609, 1668, 1669, 2118, 2119, 1672, 1673, 1616, 1617, 1618, 1619, 337169695Skan 1620, 338169695Skan 1621, 1622, 1623, 1624, 1625, 1684, 1685, 2134, 2135, 1688, 1689, 1632, 339169695Skan 1633, 340169695Skan 1634, 1635, 1636, 1637, 1638, 1639, 1640, 1641, 1670, 1671, 2150, 2151, 341169695Skan 2184, 342169695Skan 2185, 1648, 1649, 1650, 1651, 1652, 1653, 1654, 1655, 1656, 1657, 1686, 343169695Skan 1687, 344169695Skan 2166, 2167, 2200, 2201, 1792, 1793, 1794, 1795, 1796, 1797, 1798, 1799, 345169695Skan 1800, 346169695Skan 1801, 1920, 1921, 2310, 2311, 2438, 2439, 1808, 1809, 1810, 1811, 1812, 347169695Skan 1813, 348169695Skan 1814, 1815, 1816, 1817, 1936, 1937, 2326, 2327, 2454, 2455, 1824, 1825, 349169695Skan 1826, 350169695Skan 1827, 1828, 1829, 1830, 1831, 1832, 1833, 1922, 1923, 2342, 2343, 2408, 351169695Skan 2409, 352169695Skan 1840, 1841, 1842, 1843, 1844, 1845, 1846, 1847, 1848, 1849, 1938, 1939, 353169695Skan 2358, 354169695Skan 2359, 2424, 2425, 1856, 1857, 1858, 1859, 1860, 1861, 1862, 1863, 1864, 355169695Skan 1865, 356169695Skan 1924, 1925, 2374, 2375, 1928, 1929, 1872, 1873, 1874, 1875, 1876, 1877, 357169695Skan 1878, 358169695Skan 1879, 1880, 1881, 1940, 1941, 2390, 2391, 1944, 1945, 1888, 1889, 1890, 359169695Skan 1891, 360169695Skan 1892, 1893, 1894, 1895, 1896, 1897, 1926, 1927, 2406, 2407, 2440, 2441, 361169695Skan 1904, 362169695Skan 1905, 1906, 1907, 1908, 1909, 1910, 1911, 1912, 1913, 1942, 1943, 2422, 363169695Skan 2423, 364169695Skan 2456, 2457 365169695Skan}; 366169695Skan#endif 367169695Skan 368169695Skan#if DEC_BIN2DPD==1 369169695Skan 370169695Skanconst uint16_t BIN2DPD[1000] = { 0, 1, 2, 3, 4, 5, 6, 7, 371169695Skan 8, 9, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 32, 372169695Skan 33, 34, 35, 36, 37, 38, 39, 40, 41, 48, 49, 50, 51, 373169695Skan 52, 53, 54, 55, 56, 57, 64, 65, 66, 67, 68, 69, 70, 374169695Skan 71, 72, 73, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 375169695Skan 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 112, 113, 114, 376169695Skan 115, 116, 117, 118, 119, 120, 121, 10, 11, 42, 43, 74, 75, 377169695Skan 106, 107, 78, 79, 26, 27, 58, 59, 90, 91, 122, 123, 94, 378169695Skan 95, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 144, 145, 379169695Skan 146, 147, 148, 149, 150, 151, 152, 153, 160, 161, 162, 163, 164, 380169695Skan 165, 166, 167, 168, 169, 176, 177, 178, 179, 180, 181, 182, 183, 381169695Skan 184, 185, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 208, 382169695Skan 209, 210, 211, 212, 213, 214, 215, 216, 217, 224, 225, 226, 227, 383169695Skan 228, 229, 230, 231, 232, 233, 240, 241, 242, 243, 244, 245, 246, 384169695Skan 247, 248, 249, 138, 139, 170, 171, 202, 203, 234, 235, 206, 207, 385169695Skan 154, 155, 186, 187, 218, 219, 250, 251, 222, 223, 256, 257, 258, 386169695Skan 259, 260, 261, 262, 263, 264, 265, 272, 273, 274, 275, 276, 277, 387169695Skan 278, 279, 280, 281, 288, 289, 290, 291, 292, 293, 294, 295, 296, 388169695Skan 297, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 320, 321, 389169695Skan 322, 323, 324, 325, 326, 327, 328, 329, 336, 337, 338, 339, 340, 390169695Skan 341, 342, 343, 344, 345, 352, 353, 354, 355, 356, 357, 358, 359, 391169695Skan 360, 361, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 266, 392169695Skan 267, 298, 299, 330, 331, 362, 363, 334, 335, 282, 283, 314, 315, 393169695Skan 346, 347, 378, 379, 350, 351, 384, 385, 386, 387, 388, 389, 390, 394169695Skan 391, 392, 393, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 395169695Skan 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 432, 433, 434, 396169695Skan 435, 436, 437, 438, 439, 440, 441, 448, 449, 450, 451, 452, 453, 397169695Skan 454, 455, 456, 457, 464, 465, 466, 467, 468, 469, 470, 471, 472, 398169695Skan 473, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 496, 497, 399169695Skan 498, 499, 500, 501, 502, 503, 504, 505, 394, 395, 426, 427, 458, 400169695Skan 459, 490, 491, 462, 463, 410, 411, 442, 443, 474, 475, 506, 507, 401169695Skan 478, 479, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 528, 402169695Skan 529, 530, 531, 532, 533, 534, 535, 536, 537, 544, 545, 546, 547, 403169695Skan 548, 549, 550, 551, 552, 553, 560, 561, 562, 563, 564, 565, 566, 404169695Skan 567, 568, 569, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 405169695Skan 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 608, 609, 610, 406169695Skan 611, 612, 613, 614, 615, 616, 617, 624, 625, 626, 627, 628, 629, 407169695Skan 630, 631, 632, 633, 522, 523, 554, 555, 586, 587, 618, 619, 590, 408169695Skan 591, 538, 539, 570, 571, 602, 603, 634, 635, 606, 607, 640, 641, 409169695Skan 642, 643, 644, 645, 646, 647, 648, 649, 656, 657, 658, 659, 660, 410169695Skan 661, 662, 663, 664, 665, 672, 673, 674, 675, 676, 677, 678, 679, 411169695Skan 680, 681, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 704, 412169695Skan 705, 706, 707, 708, 709, 710, 711, 712, 713, 720, 721, 722, 723, 413169695Skan 724, 725, 726, 727, 728, 729, 736, 737, 738, 739, 740, 741, 742, 414169695Skan 743, 744, 745, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 415169695Skan 650, 651, 682, 683, 714, 715, 746, 747, 718, 719, 666, 667, 698, 416169695Skan 699, 730, 731, 762, 763, 734, 735, 768, 769, 770, 771, 772, 773, 417169695Skan 774, 775, 776, 777, 784, 785, 786, 787, 788, 789, 790, 791, 792, 418169695Skan 793, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 816, 817, 419169695Skan 818, 819, 820, 821, 822, 823, 824, 825, 832, 833, 834, 835, 836, 420169695Skan 837, 838, 839, 840, 841, 848, 849, 850, 851, 852, 853, 854, 855, 421169695Skan 856, 857, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 880, 422169695Skan 881, 882, 883, 884, 885, 886, 887, 888, 889, 778, 779, 810, 811, 423169695Skan 842, 843, 874, 875, 846, 847, 794, 795, 826, 827, 858, 859, 890, 424169695Skan 891, 862, 863, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 425169695Skan 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 928, 929, 930, 426169695Skan 931, 932, 933, 934, 935, 936, 937, 944, 945, 946, 947, 948, 949, 427169695Skan 950, 951, 952, 953, 960, 961, 962, 963, 964, 965, 966, 967, 968, 428169695Skan 969, 976, 977, 978, 979, 980, 981, 982, 983, 984, 985, 992, 993, 429169695Skan 994, 995, 996, 997, 998, 999, 1000, 1001, 1008, 1009, 1010, 1011, 1012, 430169695Skan 1013, 1014, 1015, 1016, 1017, 906, 907, 938, 939, 970, 971, 1002, 1003, 431169695Skan 974, 975, 922, 923, 954, 955, 986, 987, 1018, 1019, 990, 991, 12, 432169695Skan 13, 268, 269, 524, 525, 780, 781, 46, 47, 28, 29, 284, 285, 433169695Skan 540, 541, 796, 797, 62, 63, 44, 45, 300, 301, 556, 557, 812, 434169695Skan 813, 302, 303, 60, 61, 316, 317, 572, 573, 828, 829, 318, 319, 435169695Skan 76, 77, 332, 333, 588, 589, 844, 845, 558, 559, 92, 93, 348, 436169695Skan 349, 604, 605, 860, 861, 574, 575, 108, 109, 364, 365, 620, 621, 437169695Skan 876, 877, 814, 815, 124, 125, 380, 381, 636, 637, 892, 893, 830, 438169695Skan 831, 14, 15, 270, 271, 526, 527, 782, 783, 110, 111, 30, 31, 439169695Skan 286, 287, 542, 543, 798, 799, 126, 127, 140, 141, 396, 397, 652, 440169695Skan 653, 908, 909, 174, 175, 156, 157, 412, 413, 668, 669, 924, 925, 441169695Skan 190, 191, 172, 173, 428, 429, 684, 685, 940, 941, 430, 431, 188, 442169695Skan 189, 444, 445, 700, 701, 956, 957, 446, 447, 204, 205, 460, 461, 443169695Skan 716, 717, 972, 973, 686, 687, 220, 221, 476, 477, 732, 733, 988, 444169695Skan 989, 702, 703, 236, 237, 492, 493, 748, 749, 1004, 1005, 942, 943, 445169695Skan 252, 253, 508, 509, 764, 765, 1020, 1021, 958, 959, 142, 143, 398, 446169695Skan 399, 654, 655, 910, 911, 238, 239, 158, 159, 414, 415, 670, 671, 447169695Skan 926, 927, 254, 255 448169695Skan}; 449169695Skan#endif 450169695Skan 451169695Skan#if DEC_DPD2BIN==1 452169695Skan 453169695Skanconst uint16_t DPD2BIN[1024] = { 0, 1, 2, 3, 4, 5, 6, 7, 454169695Skan 8, 9, 80, 81, 800, 801, 880, 881, 10, 11, 12, 13, 14, 455169695Skan 15, 16, 17, 18, 19, 90, 91, 810, 811, 890, 891, 20, 21, 456169695Skan 22, 23, 24, 25, 26, 27, 28, 29, 82, 83, 820, 821, 808, 457169695Skan 809, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 92, 93, 458169695Skan 830, 831, 818, 819, 40, 41, 42, 43, 44, 45, 46, 47, 48, 459169695Skan 49, 84, 85, 840, 841, 88, 89, 50, 51, 52, 53, 54, 55, 460169695Skan 56, 57, 58, 59, 94, 95, 850, 851, 98, 99, 60, 61, 62, 461169695Skan 63, 64, 65, 66, 67, 68, 69, 86, 87, 860, 861, 888, 889, 462169695Skan 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 96, 97, 870, 463169695Skan 871, 898, 899, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 464169695Skan 180, 181, 900, 901, 980, 981, 110, 111, 112, 113, 114, 115, 116, 465169695Skan 117, 118, 119, 190, 191, 910, 911, 990, 991, 120, 121, 122, 123, 466169695Skan 124, 125, 126, 127, 128, 129, 182, 183, 920, 921, 908, 909, 130, 467169695Skan 131, 132, 133, 134, 135, 136, 137, 138, 139, 192, 193, 930, 931, 468169695Skan 918, 919, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 184, 469169695Skan 185, 940, 941, 188, 189, 150, 151, 152, 153, 154, 155, 156, 157, 470169695Skan 158, 159, 194, 195, 950, 951, 198, 199, 160, 161, 162, 163, 164, 471169695Skan 165, 166, 167, 168, 169, 186, 187, 960, 961, 988, 989, 170, 171, 472169695Skan 172, 173, 174, 175, 176, 177, 178, 179, 196, 197, 970, 971, 998, 473169695Skan 999, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 280, 281, 474169695Skan 802, 803, 882, 883, 210, 211, 212, 213, 214, 215, 216, 217, 218, 475169695Skan 219, 290, 291, 812, 813, 892, 893, 220, 221, 222, 223, 224, 225, 476169695Skan 226, 227, 228, 229, 282, 283, 822, 823, 828, 829, 230, 231, 232, 477169695Skan 233, 234, 235, 236, 237, 238, 239, 292, 293, 832, 833, 838, 839, 478169695Skan 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 284, 285, 842, 479169695Skan 843, 288, 289, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 480169695Skan 294, 295, 852, 853, 298, 299, 260, 261, 262, 263, 264, 265, 266, 481169695Skan 267, 268, 269, 286, 287, 862, 863, 888, 889, 270, 271, 272, 273, 482169695Skan 274, 275, 276, 277, 278, 279, 296, 297, 872, 873, 898, 899, 300, 483169695Skan 301, 302, 303, 304, 305, 306, 307, 308, 309, 380, 381, 902, 903, 484169695Skan 982, 983, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 390, 485169695Skan 391, 912, 913, 992, 993, 320, 321, 322, 323, 324, 325, 326, 327, 486169695Skan 328, 329, 382, 383, 922, 923, 928, 929, 330, 331, 332, 333, 334, 487169695Skan 335, 336, 337, 338, 339, 392, 393, 932, 933, 938, 939, 340, 341, 488169695Skan 342, 343, 344, 345, 346, 347, 348, 349, 384, 385, 942, 943, 388, 489169695Skan 389, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 394, 395, 490169695Skan 952, 953, 398, 399, 360, 361, 362, 363, 364, 365, 366, 367, 368, 491169695Skan 369, 386, 387, 962, 963, 988, 989, 370, 371, 372, 373, 374, 375, 492169695Skan 376, 377, 378, 379, 396, 397, 972, 973, 998, 999, 400, 401, 402, 493169695Skan 403, 404, 405, 406, 407, 408, 409, 480, 481, 804, 805, 884, 885, 494169695Skan 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 490, 491, 814, 495169695Skan 815, 894, 895, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 496169695Skan 482, 483, 824, 825, 848, 849, 430, 431, 432, 433, 434, 435, 436, 497169695Skan 437, 438, 439, 492, 493, 834, 835, 858, 859, 440, 441, 442, 443, 498169695Skan 444, 445, 446, 447, 448, 449, 484, 485, 844, 845, 488, 489, 450, 499169695Skan 451, 452, 453, 454, 455, 456, 457, 458, 459, 494, 495, 854, 855, 500169695Skan 498, 499, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 486, 501169695Skan 487, 864, 865, 888, 889, 470, 471, 472, 473, 474, 475, 476, 477, 502169695Skan 478, 479, 496, 497, 874, 875, 898, 899, 500, 501, 502, 503, 504, 503169695Skan 505, 506, 507, 508, 509, 580, 581, 904, 905, 984, 985, 510, 511, 504169695Skan 512, 513, 514, 515, 516, 517, 518, 519, 590, 591, 914, 915, 994, 505169695Skan 995, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 582, 583, 506169695Skan 924, 925, 948, 949, 530, 531, 532, 533, 534, 535, 536, 537, 538, 507169695Skan 539, 592, 593, 934, 935, 958, 959, 540, 541, 542, 543, 544, 545, 508169695Skan 546, 547, 548, 549, 584, 585, 944, 945, 588, 589, 550, 551, 552, 509169695Skan 553, 554, 555, 556, 557, 558, 559, 594, 595, 954, 955, 598, 599, 510169695Skan 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 586, 587, 964, 511169695Skan 965, 988, 989, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 512169695Skan 596, 597, 974, 975, 998, 999, 600, 601, 602, 603, 604, 605, 606, 513169695Skan 607, 608, 609, 680, 681, 806, 807, 886, 887, 610, 611, 612, 613, 514169695Skan 614, 615, 616, 617, 618, 619, 690, 691, 816, 817, 896, 897, 620, 515169695Skan 621, 622, 623, 624, 625, 626, 627, 628, 629, 682, 683, 826, 827, 516169695Skan 868, 869, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 692, 517169695Skan 693, 836, 837, 878, 879, 640, 641, 642, 643, 644, 645, 646, 647, 518169695Skan 648, 649, 684, 685, 846, 847, 688, 689, 650, 651, 652, 653, 654, 519169695Skan 655, 656, 657, 658, 659, 694, 695, 856, 857, 698, 699, 660, 661, 520169695Skan 662, 663, 664, 665, 666, 667, 668, 669, 686, 687, 866, 867, 888, 521169695Skan 889, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 696, 697, 522169695Skan 876, 877, 898, 899, 700, 701, 702, 703, 704, 705, 706, 707, 708, 523169695Skan 709, 780, 781, 906, 907, 986, 987, 710, 711, 712, 713, 714, 715, 524169695Skan 716, 717, 718, 719, 790, 791, 916, 917, 996, 997, 720, 721, 722, 525169695Skan 723, 724, 725, 726, 727, 728, 729, 782, 783, 926, 927, 968, 969, 526169695Skan 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 792, 793, 936, 527169695Skan 937, 978, 979, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 528169695Skan 784, 785, 946, 947, 788, 789, 750, 751, 752, 753, 754, 755, 756, 529169695Skan 757, 758, 759, 794, 795, 956, 957, 798, 799, 760, 761, 762, 763, 530169695Skan 764, 765, 766, 767, 768, 769, 786, 787, 966, 967, 988, 989, 770, 531169695Skan 771, 772, 773, 774, 775, 776, 777, 778, 779, 796, 797, 976, 977, 532169695Skan 998, 999 533169695Skan}; 534169695Skan#endif 535