diff --git a/ChangeLog b/ChangeLog
index 811c7848..4d8dd40b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,6 +1,10 @@
-Version 2.14.0.9 (dev) not released yet (2025-02-06)
+Version 2.14.0.9 (dev) not released yet (2025-02-07)
 ====================================================
 
+Changes
+-------
+- iso4217: remove 191 (HRK), 694 (SLL), 931 (CUC); add 926 (VED)
+
 Bugs
 ----
 - man page: fix Code 93 `--vers=1` hide -> show default check digits
diff --git a/backend/iso4217.h b/backend/iso4217.h
index ea692937..f827ee84 100644
--- a/backend/iso4217.h
+++ b/backend/iso4217.h
@@ -1,5 +1,7 @@
 /*
- * ISO 4217 currency codes generated by "backend/tools/gen_iso4217_h.php"
+ * ISO 4217 currency codes generated by "backend/tools/gen_iso4217_h.php" based on
+ * https://www.six-group.com/dam/download/financial-information/data-center/iso-currrency/lists/list-one.xml
+ * (published 2025-02-04)
  */
 /*
     libzint - the open source barcode library
@@ -40,7 +42,7 @@ static int iso4217_numeric(int cc) {
     static const unsigned char codes[125] = {
         0x00, 0x11, 0x00, 0x00, 0x11, 0x10, 0x1D, 0x10,
         0x11, 0x01, 0x10, 0x04, 0x01, 0x11, 0x10, 0x10,
-        0x10, 0x01, 0x01, 0x11, 0x00, 0x44, 0x00, 0x90,
+        0x10, 0x01, 0x01, 0x11, 0x00, 0x44, 0x00, 0x10,
         0x01, 0x08, 0x41, 0x40, 0x40, 0x41, 0x04, 0x00,
         0x40, 0x40, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00,
         0x11, 0x11, 0x10, 0x11, 0x11, 0x11, 0x01, 0x01,
@@ -48,11 +50,11 @@ static int iso4217_numeric(int cc) {
         0x40, 0x44, 0x00, 0x00, 0x11, 0x00, 0x05, 0x01,
         0x11, 0x10, 0x30, 0x00, 0x10, 0x44, 0x40, 0x00,
         0x04, 0x44, 0x40, 0x11, 0x01, 0x00, 0x00, 0x04,
-        0x48, 0x40, 0x00, 0x00, 0x00, 0x04, 0x44, 0x40,
+        0x48, 0x40, 0x00, 0x00, 0x00, 0x04, 0x04, 0x40,
         0x45, 0x00, 0x00, 0x01, 0x00, 0x10, 0x11, 0x11,
         0x00, 0x11, 0x11, 0x00, 0x81, 0x00, 0x04, 0x04,
         0x04, 0x01, 0x00, 0x14, 0x00, 0x00, 0x44, 0x00,
-        0x20, 0x00, 0x00, 0xB0, 0x6F, 0xB5, 0xFD, 0xFB,
+        0x20, 0x00, 0x00, 0xF0, 0x67, 0xB5, 0xFD, 0xFB,
         0xBF, 0xBF, 0x3F, 0x47, 0xA4,
     };
     int b = cc >> 3;
diff --git a/backend/tests/test_iso4217.c b/backend/tests/test_iso4217.c
index 8cedc041..7f363d3a 100644
--- a/backend/tests/test_iso4217.c
+++ b/backend/tests/test_iso4217.c
@@ -63,371 +63,986 @@ static void test_numeric(const testCtx *const p_ctx) {
         /* 20*/ { 19, 0 },
         /* 21*/ { 20, 0 },
         /* 22*/ { 21, 0 },
-        /* 23*/ { 31, 0 },
-        /* 24*/ { 32, 1 },
-        /* 25*/ { 33, 0 },
-        /* 26*/ { 34, 0 },
-        /* 27*/ { 35, 0 },
-        /* 28*/ { 36, 1 },
-        /* 29*/ { 37, 0 },
-        /* 30*/ { 43, 0 },
-        /* 31*/ { 44, 1 },
-        /* 32*/ { 45, 0 },
-        /* 33*/ { 49, 0 },
-        /* 34*/ { 50, 1 },
-        /* 35*/ { 51, 1 },
-        /* 36*/ { 52, 1 },
-        /* 37*/ { 53, 0 },
-        /* 38*/ { 59, 0 },
-        /* 39*/ { 60, 1 },
-        /* 40*/ { 61, 0 },
-        /* 41*/ { 62, 0 },
-        /* 42*/ { 63, 0 },
-        /* 43*/ { 64, 1 },
-        /* 44*/ { 65, 0 },
-        /* 45*/ { 66, 0 },
-        /* 46*/ { 67, 0 },
-        /* 47*/ { 68, 1 },
-        /* 48*/ { 69, 0 },
-        /* 49*/ { 70, 0 },
-        /* 50*/ { 71, 0 },
-        /* 51*/ { 72, 1 },
-        /* 52*/ { 73, 0 },
-        /* 53*/ { 80, 0 },
-        /* 54*/ { 81, 0 },
-        /* 55*/ { 82, 0 },
-        /* 56*/ { 83, 0 },
-        /* 57*/ { 84, 1 },
-        /* 58*/ { 85, 0 },
-        /* 59*/ { 89, 0 },
-        /* 60*/ { 90, 1 },
-        /* 61*/ { 91, 0 },
-        /* 62*/ { 99, 0 },
-        /* 63*/ { 100, 0 },
-        /* 64*/ { 101, 0 },
-        /* 65*/ { 102, 0 },
-        /* 66*/ { 103, 0 },
-        /* 67*/ { 104, 1 },
-        /* 68*/ { 105, 0 },
-        /* 69*/ { 110, 0 },
-        /* 70*/ { 120, 0 },
-        /* 71*/ { 130, 0 },
-        /* 72*/ { 131, 0 },
-        /* 73*/ { 132, 1 },
-        /* 74*/ { 133, 0 },
-        /* 75*/ { 143, 0 },
-        /* 76*/ { 144, 1 },
-        /* 77*/ { 145, 0 },
-        /* 78*/ { 146, 0 },
-        /* 79*/ { 147, 0 },
-        /* 80*/ { 148, 0 },
-        /* 81*/ { 149, 0 },
-        /* 82*/ { 150, 0 },
-        /* 83*/ { 160, 0 },
-        /* 84*/ { 169, 0 },
-        /* 85*/ { 170, 1 },
-        /* 86*/ { 171, 0 },
-        /* 87*/ { 180, 0 },
-        /* 88*/ { 190, 0 },
-        /* 89*/ { 191, 1 },
-        /* 90*/ { 192, 1 },
-        /* 91*/ { 193, 0 },
-        /* 92*/ { 200, 0 },
-        /* 93*/ { 210, 0 },
-        /* 94*/ { 220, 0 },
-        /* 95*/ { 221, 0 },
-        /* 96*/ { 222, 1 },
-        /* 97*/ { 223, 0 },
-        /* 98*/ { 229, 0 },
-        /* 99*/ { 230, 1 },
-        /*100*/ { 231, 0 },
-        /*101*/ { 232, 1 },
-        /*102*/ { 233, 0 },
-        /*103*/ { 234, 0 },
-        /*104*/ { 235, 0 },
-        /*105*/ { 236, 0 },
-        /*106*/ { 237, 0 },
-        /*107*/ { 238, 1 },
-        /*108*/ { 239, 0 },
-        /*109*/ { 240, 0 },
-        /*110*/ { 241, 0 },
-        /*111*/ { 242, 1 },
-        /*112*/ { 243, 0 },
-        /*113*/ { 250, 0 },
-        /*114*/ { 260, 0 },
-        /*115*/ { 269, 0 },
-        /*116*/ { 270, 1 },
-        /*117*/ { 271, 0 },
-        /*118*/ { 280, 0 },
-        /*119*/ { 290, 0 },
-        /*120*/ { 291, 0 },
-        /*121*/ { 292, 1 },
-        /*122*/ { 293, 0 },
-        /*123*/ { 300, 0 },
-        /*124*/ { 310, 0 },
-        /*125*/ { 319, 0 },
-        /*126*/ { 320, 1 },
-        /*127*/ { 321, 0 },
-        /*128*/ { 322, 0 },
-        /*129*/ { 323, 0 },
-        /*130*/ { 324, 1 },
-        /*131*/ { 325, 0 },
-        /*132*/ { 330, 0 },
-        /*133*/ { 331, 0 },
-        /*134*/ { 332, 1 },
-        /*135*/ { 333, 0 },
-        /*136*/ { 339, 0 },
-        /*137*/ { 340, 1 },
-        /*138*/ { 341, 0 },
-        /*139*/ { 350, 0 },
-        /*140*/ { 351, 0 },
-        /*141*/ { 352, 1 },
-        /*142*/ { 353, 0 },
-        /*143*/ { 359, 0 },
-        /*144*/ { 360, 1 },
-        /*145*/ { 361, 0 },
-        /*146*/ { 367, 0 },
-        /*147*/ { 368, 1 },
-        /*148*/ { 369, 0 },
-        /*149*/ { 370, 0 },
-        /*150*/ { 380, 0 },
-        /*151*/ { 390, 0 },
-        /*152*/ { 391, 0 },
-        /*153*/ { 392, 1 },
-        /*154*/ { 393, 0 },
-        /*155*/ { 397, 0 },
-        /*156*/ { 398, 1 },
-        /*157*/ { 399, 0 },
-        /*158*/ { 400, 1 },
-        /*159*/ { 401, 0 },
-        /*160*/ { 409, 0 },
-        /*161*/ { 410, 1 },
-        /*162*/ { 411, 0 },
-        /*163*/ { 425, 0 },
-        /*164*/ { 426, 1 },
-        /*165*/ { 427, 0 },
-        /*166*/ { 428, 0 },
-        /*167*/ { 429, 0 },
-        /*168*/ { 430, 1 },
-        /*169*/ { 431, 0 },
-        /*170*/ { 432, 0 },
-        /*171*/ { 433, 0 },
-        /*172*/ { 434, 1 },
-        /*173*/ { 435, 0 },
-        /*174*/ { 436, 0 },
-        /*175*/ { 437, 0 },
-        /*176*/ { 438, 0 },
-        /*177*/ { 439, 0 },
-        /*178*/ { 440, 0 },
-        /*179*/ { 441, 0 },
-        /*180*/ { 442, 0 },
-        /*181*/ { 443, 0 },
-        /*182*/ { 450, 0 },
-        /*183*/ { 460, 0 },
-        /*184*/ { 470, 0 },
-        /*185*/ { 479, 0 },
-        /*186*/ { 480, 1 },
-        /*187*/ { 481, 0 },
-        /*188*/ { 495, 0 },
-        /*189*/ { 496, 1 },
-        /*190*/ { 497, 0 },
-        /*191*/ { 498, 1 },
-        /*192*/ { 499, 0 },
-        /*193*/ { 500, 0 },
-        /*194*/ { 501, 0 },
-        /*195*/ { 502, 0 },
-        /*196*/ { 503, 0 },
-        /*197*/ { 504, 1 },
-        /*198*/ { 505, 0 },
-        /*199*/ { 510, 0 },
-        /*200*/ { 520, 0 },
-        /*201*/ { 530, 0 },
-        /*202*/ { 540, 0 },
-        /*203*/ { 550, 0 },
-        /*204*/ { 557, 0 },
-        /*205*/ { 558, 1 },
-        /*206*/ { 559, 0 },
-        /*207*/ { 560, 0 },
-        /*208*/ { 561, 0 },
-        /*209*/ { 562, 0 },
-        /*210*/ { 563, 0 },
-        /*211*/ { 564, 0 },
-        /*212*/ { 565, 0 },
-        /*213*/ { 566, 1 },
-        /*214*/ { 567, 0 },
-        /*215*/ { 570, 0 },
-        /*216*/ { 580, 0 },
-        /*217*/ { 589, 0 },
-        /*218*/ { 590, 1 },
-        /*219*/ { 591, 0 },
-        /*220*/ { 597, 0 },
-        /*221*/ { 598, 1 },
-        /*222*/ { 599, 0 },
-        /*223*/ { 600, 1 },
-        /*224*/ { 601, 0 },
-        /*225*/ { 610, 0 },
-        /*226*/ { 611, 0 },
-        /*227*/ { 612, 0 },
-        /*228*/ { 613, 0 },
-        /*229*/ { 620, 0 },
-        /*230*/ { 630, 0 },
-        /*231*/ { 640, 0 },
-        /*232*/ { 650, 0 },
-        /*233*/ { 660, 0 },
-        /*234*/ { 670, 0 },
-        /*235*/ { 677, 0 },
-        /*236*/ { 678, 0 },
-        /*237*/ { 679, 0 },
-        /*238*/ { 680, 0 },
-        /*239*/ { 681, 0 },
-        /*240*/ { 682, 1 },
-        /*241*/ { 683, 0 },
-        /*242*/ { 689, 0 },
-        /*243*/ { 690, 1 },
-        /*244*/ { 691, 0 },
-        /*245*/ { 700, 0 },
-        /*246*/ { 701, 0 },
-        /*247*/ { 702, 1 },
-        /*248*/ { 703, 0 },
-        /*249*/ { 704, 1 },
-        /*250*/ { 705, 0 },
-        /*251*/ { 706, 1 },
-        /*252*/ { 707, 0 },
-        /*253*/ { 708, 0 },
-        /*254*/ { 709, 0 },
-        /*255*/ { 710, 1 },
-        /*256*/ { 711, 0 },
-        /*257*/ { 720, 0 },
-        /*258*/ { 730, 0 },
-        /*259*/ { 740, 0 },
-        /*260*/ { 750, 0 },
-        /*261*/ { 751, 0 },
-        /*262*/ { 752, 1 },
-        /*263*/ { 753, 0 },
-        /*264*/ { 759, 0 },
-        /*265*/ { 760, 1 },
-        /*266*/ { 761, 0 },
-        /*267*/ { 770, 0 },
-        /*268*/ { 779, 0 },
-        /*269*/ { 780, 1 },
-        /*270*/ { 781, 0 },
-        /*271*/ { 790, 0 },
-        /*272*/ { 799, 0 },
-        /*273*/ { 800, 1 },
-        /*274*/ { 801, 0 },
-        /*275*/ { 810, 0 },
-        /*276*/ { 820, 0 },
-        /*277*/ { 830, 0 },
-        /*278*/ { 839, 0 },
-        /*279*/ { 840, 1 },
-        /*280*/ { 841, 0 },
-        /*281*/ { 857, 0 },
-        /*282*/ { 858, 1 },
-        /*283*/ { 859, 0 },
-        /*284*/ { 860, 1 },
-        /*285*/ { 861, 0 },
-        /*286*/ { 870, 0 },
-        /*287*/ { 880, 0 },
-        /*288*/ { 881, 0 },
-        /*289*/ { 882, 1 },
-        /*290*/ { 883, 0 },
-        /*291*/ { 884, 0 },
-        /*292*/ { 885, 0 },
-        /*293*/ { 886, 1 },
-        /*294*/ { 887, 0 },
-        /*295*/ { 888, 0 },
-        /*296*/ { 889, 0 },
-        /*297*/ { 890, 0 },
-        /*298*/ { 891, 0 },
-        /*299*/ { 892, 0 },
-        /*300*/ { 893, 0 },
-        /*301*/ { 894, 0 },
-        /*302*/ { 895, 0 },
-        /*303*/ { 896, 0 },
-        /*304*/ { 897, 0 },
-        /*305*/ { 898, 0 },
-        /*306*/ { 899, 0 },
-        /*307*/ { 900, 0 },
-        /*308*/ { 901, 1 },
-        /*309*/ { 902, 0 },
-        /*310*/ { 924, 1 },
-        /*311*/ { 925, 1 },
-        /*312*/ { 926, 0 },
-        /*313*/ { 927, 1 },
-        /*314*/ { 928, 1 },
-        /*315*/ { 929, 1 },
-        /*316*/ { 930, 1 },
-        /*317*/ { 931, 1 },
-        /*318*/ { 932, 0 },
-        /*319*/ { 933, 1 },
-        /*320*/ { 934, 1 },
-        /*321*/ { 935, 0 },
-        /*322*/ { 936, 1 },
-        /*323*/ { 937, 0 },
-        /*324*/ { 938, 1 },
-        /*325*/ { 939, 0 },
-        /*326*/ { 940, 1 },
-        /*327*/ { 941, 1 },
-        /*328*/ { 942, 0 },
-        /*329*/ { 943, 1 },
-        /*330*/ { 944, 1 },
-        /*331*/ { 945, 0 },
-        /*332*/ { 946, 1 },
-        /*333*/ { 947, 1 },
-        /*334*/ { 948, 1 },
-        /*335*/ { 949, 1 },
-        /*336*/ { 950, 1 },
-        /*337*/ { 951, 1 },
-        /*338*/ { 952, 1 },
-        /*339*/ { 953, 1 },
-        /*340*/ { 954, 0 },
-        /*341*/ { 955, 1 },
-        /*342*/ { 956, 1 },
-        /*343*/ { 957, 1 },
-        /*344*/ { 958, 1 },
-        /*345*/ { 959, 1 },
-        /*346*/ { 960, 1 },
-        /*347*/ { 961, 1 },
-        /*348*/ { 962, 1 },
-        /*349*/ { 963, 1 },
-        /*350*/ { 964, 1 },
-        /*351*/ { 965, 1 },
-        /*352*/ { 966, 0 },
-        /*353*/ { 967, 1 },
-        /*354*/ { 968, 1 },
-        /*355*/ { 969, 1 },
-        /*356*/ { 970, 1 },
-        /*357*/ { 971, 1 },
-        /*358*/ { 972, 1 },
-        /*359*/ { 973, 1 },
-        /*360*/ { 974, 0 },
-        /*361*/ { 975, 1 },
-        /*362*/ { 976, 1 },
-        /*363*/ { 977, 1 },
-        /*364*/ { 978, 1 },
-        /*365*/ { 979, 1 },
-        /*366*/ { 980, 1 },
-        /*367*/ { 981, 1 },
-        /*368*/ { 982, 0 },
-        /*369*/ { 983, 0 },
-        /*370*/ { 984, 1 },
-        /*371*/ { 985, 1 },
-        /*372*/ { 986, 1 },
-        /*373*/ { 987, 0 },
-        /*374*/ { 988, 0 },
-        /*375*/ { 989, 0 },
-        /*376*/ { 990, 1 },
-        /*377*/ { 991, 0 },
-        /*378*/ { 992, 0 },
-        /*379*/ { 993, 0 },
-        /*380*/ { 994, 1 },
-        /*381*/ { 995, 0 },
-        /*382*/ { 996, 0 },
-        /*383*/ { 997, 1 },
-        /*384*/ { 998, 0 },
-        /*385*/ { 999, 1 },
-        /*386*/ { 1000, 0 },
-        /*387*/ { 2000, 0 },
+        /* 23*/ { 22, 0 },
+        /* 24*/ { 23, 0 },
+        /* 25*/ { 24, 0 },
+        /* 26*/ { 25, 0 },
+        /* 27*/ { 26, 0 },
+        /* 28*/ { 27, 0 },
+        /* 29*/ { 28, 0 },
+        /* 30*/ { 29, 0 },
+        /* 31*/ { 30, 0 },
+        /* 32*/ { 31, 0 },
+        /* 33*/ { 32, 1 },
+        /* 34*/ { 33, 0 },
+        /* 35*/ { 34, 0 },
+        /* 36*/ { 35, 0 },
+        /* 37*/ { 36, 1 },
+        /* 38*/ { 37, 0 },
+        /* 39*/ { 38, 0 },
+        /* 40*/ { 39, 0 },
+        /* 41*/ { 40, 0 },
+        /* 42*/ { 41, 0 },
+        /* 43*/ { 42, 0 },
+        /* 44*/ { 43, 0 },
+        /* 45*/ { 44, 1 },
+        /* 46*/ { 45, 0 },
+        /* 47*/ { 46, 0 },
+        /* 48*/ { 47, 0 },
+        /* 49*/ { 48, 1 },
+        /* 50*/ { 49, 0 },
+        /* 51*/ { 50, 1 },
+        /* 52*/ { 51, 1 },
+        /* 53*/ { 52, 1 },
+        /* 54*/ { 53, 0 },
+        /* 55*/ { 54, 0 },
+        /* 56*/ { 55, 0 },
+        /* 57*/ { 56, 0 },
+        /* 58*/ { 57, 0 },
+        /* 59*/ { 58, 0 },
+        /* 60*/ { 59, 0 },
+        /* 61*/ { 60, 1 },
+        /* 62*/ { 61, 0 },
+        /* 63*/ { 62, 0 },
+        /* 64*/ { 63, 0 },
+        /* 65*/ { 64, 1 },
+        /* 66*/ { 65, 0 },
+        /* 67*/ { 66, 0 },
+        /* 68*/ { 67, 0 },
+        /* 69*/ { 68, 1 },
+        /* 70*/ { 69, 0 },
+        /* 71*/ { 70, 0 },
+        /* 72*/ { 71, 0 },
+        /* 73*/ { 72, 1 },
+        /* 74*/ { 73, 0 },
+        /* 75*/ { 74, 0 },
+        /* 76*/ { 75, 0 },
+        /* 77*/ { 76, 0 },
+        /* 78*/ { 77, 0 },
+        /* 79*/ { 78, 0 },
+        /* 80*/ { 79, 0 },
+        /* 81*/ { 80, 0 },
+        /* 82*/ { 81, 0 },
+        /* 83*/ { 82, 0 },
+        /* 84*/ { 83, 0 },
+        /* 85*/ { 84, 1 },
+        /* 86*/ { 85, 0 },
+        /* 87*/ { 86, 0 },
+        /* 88*/ { 87, 0 },
+        /* 89*/ { 88, 0 },
+        /* 90*/ { 89, 0 },
+        /* 91*/ { 90, 1 },
+        /* 92*/ { 91, 0 },
+        /* 93*/ { 92, 0 },
+        /* 94*/ { 93, 0 },
+        /* 95*/ { 94, 0 },
+        /* 96*/ { 95, 0 },
+        /* 97*/ { 96, 1 },
+        /* 98*/ { 97, 0 },
+        /* 99*/ { 98, 0 },
+        /*100*/ { 99, 0 },
+        /*101*/ { 100, 0 },
+        /*102*/ { 101, 0 },
+        /*103*/ { 102, 0 },
+        /*104*/ { 103, 0 },
+        /*105*/ { 104, 1 },
+        /*106*/ { 105, 0 },
+        /*107*/ { 106, 0 },
+        /*108*/ { 107, 0 },
+        /*109*/ { 108, 1 },
+        /*110*/ { 109, 0 },
+        /*111*/ { 110, 0 },
+        /*112*/ { 111, 0 },
+        /*113*/ { 112, 0 },
+        /*114*/ { 113, 0 },
+        /*115*/ { 114, 0 },
+        /*116*/ { 115, 0 },
+        /*117*/ { 116, 1 },
+        /*118*/ { 117, 0 },
+        /*119*/ { 118, 0 },
+        /*120*/ { 119, 0 },
+        /*121*/ { 120, 0 },
+        /*122*/ { 121, 0 },
+        /*123*/ { 122, 0 },
+        /*124*/ { 123, 0 },
+        /*125*/ { 124, 1 },
+        /*126*/ { 125, 0 },
+        /*127*/ { 126, 0 },
+        /*128*/ { 127, 0 },
+        /*129*/ { 128, 0 },
+        /*130*/ { 129, 0 },
+        /*131*/ { 130, 0 },
+        /*132*/ { 131, 0 },
+        /*133*/ { 132, 1 },
+        /*134*/ { 133, 0 },
+        /*135*/ { 134, 0 },
+        /*136*/ { 135, 0 },
+        /*137*/ { 136, 1 },
+        /*138*/ { 137, 0 },
+        /*139*/ { 138, 0 },
+        /*140*/ { 139, 0 },
+        /*141*/ { 140, 0 },
+        /*142*/ { 141, 0 },
+        /*143*/ { 142, 0 },
+        /*144*/ { 143, 0 },
+        /*145*/ { 144, 1 },
+        /*146*/ { 145, 0 },
+        /*147*/ { 146, 0 },
+        /*148*/ { 147, 0 },
+        /*149*/ { 148, 0 },
+        /*150*/ { 149, 0 },
+        /*151*/ { 150, 0 },
+        /*152*/ { 151, 0 },
+        /*153*/ { 152, 1 },
+        /*154*/ { 153, 0 },
+        /*155*/ { 154, 0 },
+        /*156*/ { 155, 0 },
+        /*157*/ { 156, 1 },
+        /*158*/ { 157, 0 },
+        /*159*/ { 158, 0 },
+        /*160*/ { 159, 0 },
+        /*161*/ { 160, 0 },
+        /*162*/ { 161, 0 },
+        /*163*/ { 162, 0 },
+        /*164*/ { 163, 0 },
+        /*165*/ { 164, 0 },
+        /*166*/ { 165, 0 },
+        /*167*/ { 166, 0 },
+        /*168*/ { 167, 0 },
+        /*169*/ { 168, 0 },
+        /*170*/ { 169, 0 },
+        /*171*/ { 170, 1 },
+        /*172*/ { 171, 0 },
+        /*173*/ { 172, 0 },
+        /*174*/ { 173, 0 },
+        /*175*/ { 174, 1 },
+        /*176*/ { 175, 0 },
+        /*177*/ { 176, 0 },
+        /*178*/ { 177, 0 },
+        /*179*/ { 178, 0 },
+        /*180*/ { 179, 0 },
+        /*181*/ { 180, 0 },
+        /*182*/ { 181, 0 },
+        /*183*/ { 182, 0 },
+        /*184*/ { 183, 0 },
+        /*185*/ { 184, 0 },
+        /*186*/ { 185, 0 },
+        /*187*/ { 186, 0 },
+        /*188*/ { 187, 0 },
+        /*189*/ { 188, 1 },
+        /*190*/ { 189, 0 },
+        /*191*/ { 190, 0 },
+        /*192*/ { 191, 0 },
+        /*193*/ { 192, 1 },
+        /*194*/ { 193, 0 },
+        /*195*/ { 194, 0 },
+        /*196*/ { 195, 0 },
+        /*197*/ { 196, 0 },
+        /*198*/ { 197, 0 },
+        /*199*/ { 198, 0 },
+        /*200*/ { 199, 0 },
+        /*201*/ { 200, 0 },
+        /*202*/ { 201, 0 },
+        /*203*/ { 202, 0 },
+        /*204*/ { 203, 1 },
+        /*205*/ { 204, 0 },
+        /*206*/ { 205, 0 },
+        /*207*/ { 206, 0 },
+        /*208*/ { 207, 0 },
+        /*209*/ { 208, 1 },
+        /*210*/ { 209, 0 },
+        /*211*/ { 210, 0 },
+        /*212*/ { 211, 0 },
+        /*213*/ { 212, 0 },
+        /*214*/ { 213, 0 },
+        /*215*/ { 214, 1 },
+        /*216*/ { 215, 0 },
+        /*217*/ { 216, 0 },
+        /*218*/ { 217, 0 },
+        /*219*/ { 218, 0 },
+        /*220*/ { 219, 0 },
+        /*221*/ { 220, 0 },
+        /*222*/ { 221, 0 },
+        /*223*/ { 222, 1 },
+        /*224*/ { 223, 0 },
+        /*225*/ { 224, 0 },
+        /*226*/ { 225, 0 },
+        /*227*/ { 226, 0 },
+        /*228*/ { 227, 0 },
+        /*229*/ { 228, 0 },
+        /*230*/ { 229, 0 },
+        /*231*/ { 230, 1 },
+        /*232*/ { 231, 0 },
+        /*233*/ { 232, 1 },
+        /*234*/ { 233, 0 },
+        /*235*/ { 234, 0 },
+        /*236*/ { 235, 0 },
+        /*237*/ { 236, 0 },
+        /*238*/ { 237, 0 },
+        /*239*/ { 238, 1 },
+        /*240*/ { 239, 0 },
+        /*241*/ { 240, 0 },
+        /*242*/ { 241, 0 },
+        /*243*/ { 242, 1 },
+        /*244*/ { 243, 0 },
+        /*245*/ { 244, 0 },
+        /*246*/ { 245, 0 },
+        /*247*/ { 246, 0 },
+        /*248*/ { 247, 0 },
+        /*249*/ { 248, 0 },
+        /*250*/ { 249, 0 },
+        /*251*/ { 250, 0 },
+        /*252*/ { 251, 0 },
+        /*253*/ { 252, 0 },
+        /*254*/ { 253, 0 },
+        /*255*/ { 254, 0 },
+        /*256*/ { 255, 0 },
+        /*257*/ { 256, 0 },
+        /*258*/ { 257, 0 },
+        /*259*/ { 258, 0 },
+        /*260*/ { 259, 0 },
+        /*261*/ { 260, 0 },
+        /*262*/ { 261, 0 },
+        /*263*/ { 262, 1 },
+        /*264*/ { 263, 0 },
+        /*265*/ { 264, 0 },
+        /*266*/ { 265, 0 },
+        /*267*/ { 266, 0 },
+        /*268*/ { 267, 0 },
+        /*269*/ { 268, 0 },
+        /*270*/ { 269, 0 },
+        /*271*/ { 270, 1 },
+        /*272*/ { 271, 0 },
+        /*273*/ { 272, 0 },
+        /*274*/ { 273, 0 },
+        /*275*/ { 274, 0 },
+        /*276*/ { 275, 0 },
+        /*277*/ { 276, 0 },
+        /*278*/ { 277, 0 },
+        /*279*/ { 278, 0 },
+        /*280*/ { 279, 0 },
+        /*281*/ { 280, 0 },
+        /*282*/ { 281, 0 },
+        /*283*/ { 282, 0 },
+        /*284*/ { 283, 0 },
+        /*285*/ { 284, 0 },
+        /*286*/ { 285, 0 },
+        /*287*/ { 286, 0 },
+        /*288*/ { 287, 0 },
+        /*289*/ { 288, 0 },
+        /*290*/ { 289, 0 },
+        /*291*/ { 290, 0 },
+        /*292*/ { 291, 0 },
+        /*293*/ { 292, 1 },
+        /*294*/ { 293, 0 },
+        /*295*/ { 294, 0 },
+        /*296*/ { 295, 0 },
+        /*297*/ { 296, 0 },
+        /*298*/ { 297, 0 },
+        /*299*/ { 298, 0 },
+        /*300*/ { 299, 0 },
+        /*301*/ { 300, 0 },
+        /*302*/ { 301, 0 },
+        /*303*/ { 302, 0 },
+        /*304*/ { 303, 0 },
+        /*305*/ { 304, 0 },
+        /*306*/ { 305, 0 },
+        /*307*/ { 306, 0 },
+        /*308*/ { 307, 0 },
+        /*309*/ { 308, 0 },
+        /*310*/ { 309, 0 },
+        /*311*/ { 310, 0 },
+        /*312*/ { 311, 0 },
+        /*313*/ { 312, 0 },
+        /*314*/ { 313, 0 },
+        /*315*/ { 314, 0 },
+        /*316*/ { 315, 0 },
+        /*317*/ { 316, 0 },
+        /*318*/ { 317, 0 },
+        /*319*/ { 318, 0 },
+        /*320*/ { 319, 0 },
+        /*321*/ { 320, 1 },
+        /*322*/ { 321, 0 },
+        /*323*/ { 322, 0 },
+        /*324*/ { 323, 0 },
+        /*325*/ { 324, 1 },
+        /*326*/ { 325, 0 },
+        /*327*/ { 326, 0 },
+        /*328*/ { 327, 0 },
+        /*329*/ { 328, 1 },
+        /*330*/ { 329, 0 },
+        /*331*/ { 330, 0 },
+        /*332*/ { 331, 0 },
+        /*333*/ { 332, 1 },
+        /*334*/ { 333, 0 },
+        /*335*/ { 334, 0 },
+        /*336*/ { 335, 0 },
+        /*337*/ { 336, 0 },
+        /*338*/ { 337, 0 },
+        /*339*/ { 338, 0 },
+        /*340*/ { 339, 0 },
+        /*341*/ { 340, 1 },
+        /*342*/ { 341, 0 },
+        /*343*/ { 342, 0 },
+        /*344*/ { 343, 0 },
+        /*345*/ { 344, 1 },
+        /*346*/ { 345, 0 },
+        /*347*/ { 346, 0 },
+        /*348*/ { 347, 0 },
+        /*349*/ { 348, 1 },
+        /*350*/ { 349, 0 },
+        /*351*/ { 350, 0 },
+        /*352*/ { 351, 0 },
+        /*353*/ { 352, 1 },
+        /*354*/ { 353, 0 },
+        /*355*/ { 354, 0 },
+        /*356*/ { 355, 0 },
+        /*357*/ { 356, 1 },
+        /*358*/ { 357, 0 },
+        /*359*/ { 358, 0 },
+        /*360*/ { 359, 0 },
+        /*361*/ { 360, 1 },
+        /*362*/ { 361, 0 },
+        /*363*/ { 362, 0 },
+        /*364*/ { 363, 0 },
+        /*365*/ { 364, 1 },
+        /*366*/ { 365, 0 },
+        /*367*/ { 366, 0 },
+        /*368*/ { 367, 0 },
+        /*369*/ { 368, 1 },
+        /*370*/ { 369, 0 },
+        /*371*/ { 370, 0 },
+        /*372*/ { 371, 0 },
+        /*373*/ { 372, 0 },
+        /*374*/ { 373, 0 },
+        /*375*/ { 374, 0 },
+        /*376*/ { 375, 0 },
+        /*377*/ { 376, 1 },
+        /*378*/ { 377, 0 },
+        /*379*/ { 378, 0 },
+        /*380*/ { 379, 0 },
+        /*381*/ { 380, 0 },
+        /*382*/ { 381, 0 },
+        /*383*/ { 382, 0 },
+        /*384*/ { 383, 0 },
+        /*385*/ { 384, 0 },
+        /*386*/ { 385, 0 },
+        /*387*/ { 386, 0 },
+        /*388*/ { 387, 0 },
+        /*389*/ { 388, 1 },
+        /*390*/ { 389, 0 },
+        /*391*/ { 390, 0 },
+        /*392*/ { 391, 0 },
+        /*393*/ { 392, 1 },
+        /*394*/ { 393, 0 },
+        /*395*/ { 394, 0 },
+        /*396*/ { 395, 0 },
+        /*397*/ { 396, 0 },
+        /*398*/ { 397, 0 },
+        /*399*/ { 398, 1 },
+        /*400*/ { 399, 0 },
+        /*401*/ { 400, 1 },
+        /*402*/ { 401, 0 },
+        /*403*/ { 402, 0 },
+        /*404*/ { 403, 0 },
+        /*405*/ { 404, 1 },
+        /*406*/ { 405, 0 },
+        /*407*/ { 406, 0 },
+        /*408*/ { 407, 0 },
+        /*409*/ { 408, 1 },
+        /*410*/ { 409, 0 },
+        /*411*/ { 410, 1 },
+        /*412*/ { 411, 0 },
+        /*413*/ { 412, 0 },
+        /*414*/ { 413, 0 },
+        /*415*/ { 414, 1 },
+        /*416*/ { 415, 0 },
+        /*417*/ { 416, 0 },
+        /*418*/ { 417, 1 },
+        /*419*/ { 418, 1 },
+        /*420*/ { 419, 0 },
+        /*421*/ { 420, 0 },
+        /*422*/ { 421, 0 },
+        /*423*/ { 422, 1 },
+        /*424*/ { 423, 0 },
+        /*425*/ { 424, 0 },
+        /*426*/ { 425, 0 },
+        /*427*/ { 426, 1 },
+        /*428*/ { 427, 0 },
+        /*429*/ { 428, 0 },
+        /*430*/ { 429, 0 },
+        /*431*/ { 430, 1 },
+        /*432*/ { 431, 0 },
+        /*433*/ { 432, 0 },
+        /*434*/ { 433, 0 },
+        /*435*/ { 434, 1 },
+        /*436*/ { 435, 0 },
+        /*437*/ { 436, 0 },
+        /*438*/ { 437, 0 },
+        /*439*/ { 438, 0 },
+        /*440*/ { 439, 0 },
+        /*441*/ { 440, 0 },
+        /*442*/ { 441, 0 },
+        /*443*/ { 442, 0 },
+        /*444*/ { 443, 0 },
+        /*445*/ { 444, 0 },
+        /*446*/ { 445, 0 },
+        /*447*/ { 446, 1 },
+        /*448*/ { 447, 0 },
+        /*449*/ { 448, 0 },
+        /*450*/ { 449, 0 },
+        /*451*/ { 450, 0 },
+        /*452*/ { 451, 0 },
+        /*453*/ { 452, 0 },
+        /*454*/ { 453, 0 },
+        /*455*/ { 454, 1 },
+        /*456*/ { 455, 0 },
+        /*457*/ { 456, 0 },
+        /*458*/ { 457, 0 },
+        /*459*/ { 458, 1 },
+        /*460*/ { 459, 0 },
+        /*461*/ { 460, 0 },
+        /*462*/ { 461, 0 },
+        /*463*/ { 462, 1 },
+        /*464*/ { 463, 0 },
+        /*465*/ { 464, 0 },
+        /*466*/ { 465, 0 },
+        /*467*/ { 466, 0 },
+        /*468*/ { 467, 0 },
+        /*469*/ { 468, 0 },
+        /*470*/ { 469, 0 },
+        /*471*/ { 470, 0 },
+        /*472*/ { 471, 0 },
+        /*473*/ { 472, 0 },
+        /*474*/ { 473, 0 },
+        /*475*/ { 474, 0 },
+        /*476*/ { 475, 0 },
+        /*477*/ { 476, 0 },
+        /*478*/ { 477, 0 },
+        /*479*/ { 478, 0 },
+        /*480*/ { 479, 0 },
+        /*481*/ { 480, 1 },
+        /*482*/ { 481, 0 },
+        /*483*/ { 482, 0 },
+        /*484*/ { 483, 0 },
+        /*485*/ { 484, 1 },
+        /*486*/ { 485, 0 },
+        /*487*/ { 486, 0 },
+        /*488*/ { 487, 0 },
+        /*489*/ { 488, 0 },
+        /*490*/ { 489, 0 },
+        /*491*/ { 490, 0 },
+        /*492*/ { 491, 0 },
+        /*493*/ { 492, 0 },
+        /*494*/ { 493, 0 },
+        /*495*/ { 494, 0 },
+        /*496*/ { 495, 0 },
+        /*497*/ { 496, 1 },
+        /*498*/ { 497, 0 },
+        /*499*/ { 498, 1 },
+        /*500*/ { 499, 0 },
+        /*501*/ { 500, 0 },
+        /*502*/ { 501, 0 },
+        /*503*/ { 502, 0 },
+        /*504*/ { 503, 0 },
+        /*505*/ { 504, 1 },
+        /*506*/ { 505, 0 },
+        /*507*/ { 506, 0 },
+        /*508*/ { 507, 0 },
+        /*509*/ { 508, 0 },
+        /*510*/ { 509, 0 },
+        /*511*/ { 510, 0 },
+        /*512*/ { 511, 0 },
+        /*513*/ { 512, 1 },
+        /*514*/ { 513, 0 },
+        /*515*/ { 514, 0 },
+        /*516*/ { 515, 0 },
+        /*517*/ { 516, 1 },
+        /*518*/ { 517, 0 },
+        /*519*/ { 518, 0 },
+        /*520*/ { 519, 0 },
+        /*521*/ { 520, 0 },
+        /*522*/ { 521, 0 },
+        /*523*/ { 522, 0 },
+        /*524*/ { 523, 0 },
+        /*525*/ { 524, 1 },
+        /*526*/ { 525, 0 },
+        /*527*/ { 526, 0 },
+        /*528*/ { 527, 0 },
+        /*529*/ { 528, 0 },
+        /*530*/ { 529, 0 },
+        /*531*/ { 530, 0 },
+        /*532*/ { 531, 0 },
+        /*533*/ { 532, 1 },
+        /*534*/ { 533, 1 },
+        /*535*/ { 534, 0 },
+        /*536*/ { 535, 0 },
+        /*537*/ { 536, 0 },
+        /*538*/ { 537, 0 },
+        /*539*/ { 538, 0 },
+        /*540*/ { 539, 0 },
+        /*541*/ { 540, 0 },
+        /*542*/ { 541, 0 },
+        /*543*/ { 542, 0 },
+        /*544*/ { 543, 0 },
+        /*545*/ { 544, 0 },
+        /*546*/ { 545, 0 },
+        /*547*/ { 546, 0 },
+        /*548*/ { 547, 0 },
+        /*549*/ { 548, 1 },
+        /*550*/ { 549, 0 },
+        /*551*/ { 550, 0 },
+        /*552*/ { 551, 0 },
+        /*553*/ { 552, 0 },
+        /*554*/ { 553, 0 },
+        /*555*/ { 554, 1 },
+        /*556*/ { 555, 0 },
+        /*557*/ { 556, 0 },
+        /*558*/ { 557, 0 },
+        /*559*/ { 558, 1 },
+        /*560*/ { 559, 0 },
+        /*561*/ { 560, 0 },
+        /*562*/ { 561, 0 },
+        /*563*/ { 562, 0 },
+        /*564*/ { 563, 0 },
+        /*565*/ { 564, 0 },
+        /*566*/ { 565, 0 },
+        /*567*/ { 566, 1 },
+        /*568*/ { 567, 0 },
+        /*569*/ { 568, 0 },
+        /*570*/ { 569, 0 },
+        /*571*/ { 570, 0 },
+        /*572*/ { 571, 0 },
+        /*573*/ { 572, 0 },
+        /*574*/ { 573, 0 },
+        /*575*/ { 574, 0 },
+        /*576*/ { 575, 0 },
+        /*577*/ { 576, 0 },
+        /*578*/ { 577, 0 },
+        /*579*/ { 578, 1 },
+        /*580*/ { 579, 0 },
+        /*581*/ { 580, 0 },
+        /*582*/ { 581, 0 },
+        /*583*/ { 582, 0 },
+        /*584*/ { 583, 0 },
+        /*585*/ { 584, 0 },
+        /*586*/ { 585, 0 },
+        /*587*/ { 586, 1 },
+        /*588*/ { 587, 0 },
+        /*589*/ { 588, 0 },
+        /*590*/ { 589, 0 },
+        /*591*/ { 590, 1 },
+        /*592*/ { 591, 0 },
+        /*593*/ { 592, 0 },
+        /*594*/ { 593, 0 },
+        /*595*/ { 594, 0 },
+        /*596*/ { 595, 0 },
+        /*597*/ { 596, 0 },
+        /*598*/ { 597, 0 },
+        /*599*/ { 598, 1 },
+        /*600*/ { 599, 0 },
+        /*601*/ { 600, 1 },
+        /*602*/ { 601, 0 },
+        /*603*/ { 602, 0 },
+        /*604*/ { 603, 0 },
+        /*605*/ { 604, 1 },
+        /*606*/ { 605, 0 },
+        /*607*/ { 606, 0 },
+        /*608*/ { 607, 0 },
+        /*609*/ { 608, 1 },
+        /*610*/ { 609, 0 },
+        /*611*/ { 610, 0 },
+        /*612*/ { 611, 0 },
+        /*613*/ { 612, 0 },
+        /*614*/ { 613, 0 },
+        /*615*/ { 614, 0 },
+        /*616*/ { 615, 0 },
+        /*617*/ { 616, 0 },
+        /*618*/ { 617, 0 },
+        /*619*/ { 618, 0 },
+        /*620*/ { 619, 0 },
+        /*621*/ { 620, 0 },
+        /*622*/ { 621, 0 },
+        /*623*/ { 622, 0 },
+        /*624*/ { 623, 0 },
+        /*625*/ { 624, 0 },
+        /*626*/ { 625, 0 },
+        /*627*/ { 626, 0 },
+        /*628*/ { 627, 0 },
+        /*629*/ { 628, 0 },
+        /*630*/ { 629, 0 },
+        /*631*/ { 630, 0 },
+        /*632*/ { 631, 0 },
+        /*633*/ { 632, 0 },
+        /*634*/ { 633, 0 },
+        /*635*/ { 634, 1 },
+        /*636*/ { 635, 0 },
+        /*637*/ { 636, 0 },
+        /*638*/ { 637, 0 },
+        /*639*/ { 638, 0 },
+        /*640*/ { 639, 0 },
+        /*641*/ { 640, 0 },
+        /*642*/ { 641, 0 },
+        /*643*/ { 642, 0 },
+        /*644*/ { 643, 1 },
+        /*645*/ { 644, 0 },
+        /*646*/ { 645, 0 },
+        /*647*/ { 646, 1 },
+        /*648*/ { 647, 0 },
+        /*649*/ { 648, 0 },
+        /*650*/ { 649, 0 },
+        /*651*/ { 650, 0 },
+        /*652*/ { 651, 0 },
+        /*653*/ { 652, 0 },
+        /*654*/ { 653, 0 },
+        /*655*/ { 654, 1 },
+        /*656*/ { 655, 0 },
+        /*657*/ { 656, 0 },
+        /*658*/ { 657, 0 },
+        /*659*/ { 658, 0 },
+        /*660*/ { 659, 0 },
+        /*661*/ { 660, 0 },
+        /*662*/ { 661, 0 },
+        /*663*/ { 662, 0 },
+        /*664*/ { 663, 0 },
+        /*665*/ { 664, 0 },
+        /*666*/ { 665, 0 },
+        /*667*/ { 666, 0 },
+        /*668*/ { 667, 0 },
+        /*669*/ { 668, 0 },
+        /*670*/ { 669, 0 },
+        /*671*/ { 670, 0 },
+        /*672*/ { 671, 0 },
+        /*673*/ { 672, 0 },
+        /*674*/ { 673, 0 },
+        /*675*/ { 674, 0 },
+        /*676*/ { 675, 0 },
+        /*677*/ { 676, 0 },
+        /*678*/ { 677, 0 },
+        /*679*/ { 678, 0 },
+        /*680*/ { 679, 0 },
+        /*681*/ { 680, 0 },
+        /*682*/ { 681, 0 },
+        /*683*/ { 682, 1 },
+        /*684*/ { 683, 0 },
+        /*685*/ { 684, 0 },
+        /*686*/ { 685, 0 },
+        /*687*/ { 686, 0 },
+        /*688*/ { 687, 0 },
+        /*689*/ { 688, 0 },
+        /*690*/ { 689, 0 },
+        /*691*/ { 690, 1 },
+        /*692*/ { 691, 0 },
+        /*693*/ { 692, 0 },
+        /*694*/ { 693, 0 },
+        /*695*/ { 694, 0 },
+        /*696*/ { 695, 0 },
+        /*697*/ { 696, 0 },
+        /*698*/ { 697, 0 },
+        /*699*/ { 698, 0 },
+        /*700*/ { 699, 0 },
+        /*701*/ { 700, 0 },
+        /*702*/ { 701, 0 },
+        /*703*/ { 702, 1 },
+        /*704*/ { 703, 0 },
+        /*705*/ { 704, 1 },
+        /*706*/ { 705, 0 },
+        /*707*/ { 706, 1 },
+        /*708*/ { 707, 0 },
+        /*709*/ { 708, 0 },
+        /*710*/ { 709, 0 },
+        /*711*/ { 710, 1 },
+        /*712*/ { 711, 0 },
+        /*713*/ { 712, 0 },
+        /*714*/ { 713, 0 },
+        /*715*/ { 714, 0 },
+        /*716*/ { 715, 0 },
+        /*717*/ { 716, 0 },
+        /*718*/ { 717, 0 },
+        /*719*/ { 718, 0 },
+        /*720*/ { 719, 0 },
+        /*721*/ { 720, 0 },
+        /*722*/ { 721, 0 },
+        /*723*/ { 722, 0 },
+        /*724*/ { 723, 0 },
+        /*725*/ { 724, 0 },
+        /*726*/ { 725, 0 },
+        /*727*/ { 726, 0 },
+        /*728*/ { 727, 0 },
+        /*729*/ { 728, 1 },
+        /*730*/ { 729, 0 },
+        /*731*/ { 730, 0 },
+        /*732*/ { 731, 0 },
+        /*733*/ { 732, 0 },
+        /*734*/ { 733, 0 },
+        /*735*/ { 734, 0 },
+        /*736*/ { 735, 0 },
+        /*737*/ { 736, 0 },
+        /*738*/ { 737, 0 },
+        /*739*/ { 738, 0 },
+        /*740*/ { 739, 0 },
+        /*741*/ { 740, 0 },
+        /*742*/ { 741, 0 },
+        /*743*/ { 742, 0 },
+        /*744*/ { 743, 0 },
+        /*745*/ { 744, 0 },
+        /*746*/ { 745, 0 },
+        /*747*/ { 746, 0 },
+        /*748*/ { 747, 0 },
+        /*749*/ { 748, 1 },
+        /*750*/ { 749, 0 },
+        /*751*/ { 750, 0 },
+        /*752*/ { 751, 0 },
+        /*753*/ { 752, 1 },
+        /*754*/ { 753, 0 },
+        /*755*/ { 754, 0 },
+        /*756*/ { 755, 0 },
+        /*757*/ { 756, 1 },
+        /*758*/ { 757, 0 },
+        /*759*/ { 758, 0 },
+        /*760*/ { 759, 0 },
+        /*761*/ { 760, 1 },
+        /*762*/ { 761, 0 },
+        /*763*/ { 762, 0 },
+        /*764*/ { 763, 0 },
+        /*765*/ { 764, 1 },
+        /*766*/ { 765, 0 },
+        /*767*/ { 766, 0 },
+        /*768*/ { 767, 0 },
+        /*769*/ { 768, 0 },
+        /*770*/ { 769, 0 },
+        /*771*/ { 770, 0 },
+        /*772*/ { 771, 0 },
+        /*773*/ { 772, 0 },
+        /*774*/ { 773, 0 },
+        /*775*/ { 774, 0 },
+        /*776*/ { 775, 0 },
+        /*777*/ { 776, 1 },
+        /*778*/ { 777, 0 },
+        /*779*/ { 778, 0 },
+        /*780*/ { 779, 0 },
+        /*781*/ { 780, 1 },
+        /*782*/ { 781, 0 },
+        /*783*/ { 782, 0 },
+        /*784*/ { 783, 0 },
+        /*785*/ { 784, 1 },
+        /*786*/ { 785, 0 },
+        /*787*/ { 786, 0 },
+        /*788*/ { 787, 0 },
+        /*789*/ { 788, 1 },
+        /*790*/ { 789, 0 },
+        /*791*/ { 790, 0 },
+        /*792*/ { 791, 0 },
+        /*793*/ { 792, 0 },
+        /*794*/ { 793, 0 },
+        /*795*/ { 794, 0 },
+        /*796*/ { 795, 0 },
+        /*797*/ { 796, 0 },
+        /*798*/ { 797, 0 },
+        /*799*/ { 798, 0 },
+        /*800*/ { 799, 0 },
+        /*801*/ { 800, 1 },
+        /*802*/ { 801, 0 },
+        /*803*/ { 802, 0 },
+        /*804*/ { 803, 0 },
+        /*805*/ { 804, 0 },
+        /*806*/ { 805, 0 },
+        /*807*/ { 806, 0 },
+        /*808*/ { 807, 1 },
+        /*809*/ { 808, 0 },
+        /*810*/ { 809, 0 },
+        /*811*/ { 810, 0 },
+        /*812*/ { 811, 0 },
+        /*813*/ { 812, 0 },
+        /*814*/ { 813, 0 },
+        /*815*/ { 814, 0 },
+        /*816*/ { 815, 0 },
+        /*817*/ { 816, 0 },
+        /*818*/ { 817, 0 },
+        /*819*/ { 818, 1 },
+        /*820*/ { 819, 0 },
+        /*821*/ { 820, 0 },
+        /*822*/ { 821, 0 },
+        /*823*/ { 822, 0 },
+        /*824*/ { 823, 0 },
+        /*825*/ { 824, 0 },
+        /*826*/ { 825, 0 },
+        /*827*/ { 826, 1 },
+        /*828*/ { 827, 0 },
+        /*829*/ { 828, 0 },
+        /*830*/ { 829, 0 },
+        /*831*/ { 830, 0 },
+        /*832*/ { 831, 0 },
+        /*833*/ { 832, 0 },
+        /*834*/ { 833, 0 },
+        /*835*/ { 834, 1 },
+        /*836*/ { 835, 0 },
+        /*837*/ { 836, 0 },
+        /*838*/ { 837, 0 },
+        /*839*/ { 838, 0 },
+        /*840*/ { 839, 0 },
+        /*841*/ { 840, 1 },
+        /*842*/ { 841, 0 },
+        /*843*/ { 842, 0 },
+        /*844*/ { 843, 0 },
+        /*845*/ { 844, 0 },
+        /*846*/ { 845, 0 },
+        /*847*/ { 846, 0 },
+        /*848*/ { 847, 0 },
+        /*849*/ { 848, 0 },
+        /*850*/ { 849, 0 },
+        /*851*/ { 850, 0 },
+        /*852*/ { 851, 0 },
+        /*853*/ { 852, 0 },
+        /*854*/ { 853, 0 },
+        /*855*/ { 854, 0 },
+        /*856*/ { 855, 0 },
+        /*857*/ { 856, 0 },
+        /*858*/ { 857, 0 },
+        /*859*/ { 858, 1 },
+        /*860*/ { 859, 0 },
+        /*861*/ { 860, 1 },
+        /*862*/ { 861, 0 },
+        /*863*/ { 862, 0 },
+        /*864*/ { 863, 0 },
+        /*865*/ { 864, 0 },
+        /*866*/ { 865, 0 },
+        /*867*/ { 866, 0 },
+        /*868*/ { 867, 0 },
+        /*869*/ { 868, 0 },
+        /*870*/ { 869, 0 },
+        /*871*/ { 870, 0 },
+        /*872*/ { 871, 0 },
+        /*873*/ { 872, 0 },
+        /*874*/ { 873, 0 },
+        /*875*/ { 874, 0 },
+        /*876*/ { 875, 0 },
+        /*877*/ { 876, 0 },
+        /*878*/ { 877, 0 },
+        /*879*/ { 878, 0 },
+        /*880*/ { 879, 0 },
+        /*881*/ { 880, 0 },
+        /*882*/ { 881, 0 },
+        /*883*/ { 882, 1 },
+        /*884*/ { 883, 0 },
+        /*885*/ { 884, 0 },
+        /*886*/ { 885, 0 },
+        /*887*/ { 886, 1 },
+        /*888*/ { 887, 0 },
+        /*889*/ { 888, 0 },
+        /*890*/ { 889, 0 },
+        /*891*/ { 890, 0 },
+        /*892*/ { 891, 0 },
+        /*893*/ { 892, 0 },
+        /*894*/ { 893, 0 },
+        /*895*/ { 894, 0 },
+        /*896*/ { 895, 0 },
+        /*897*/ { 896, 0 },
+        /*898*/ { 897, 0 },
+        /*899*/ { 898, 0 },
+        /*900*/ { 899, 0 },
+        /*901*/ { 900, 0 },
+        /*902*/ { 901, 1 },
+        /*903*/ { 902, 0 },
+        /*904*/ { 903, 0 },
+        /*905*/ { 904, 0 },
+        /*906*/ { 905, 0 },
+        /*907*/ { 906, 0 },
+        /*908*/ { 907, 0 },
+        /*909*/ { 908, 0 },
+        /*910*/ { 909, 0 },
+        /*911*/ { 910, 0 },
+        /*912*/ { 911, 0 },
+        /*913*/ { 912, 0 },
+        /*914*/ { 913, 0 },
+        /*915*/ { 914, 0 },
+        /*916*/ { 915, 0 },
+        /*917*/ { 916, 0 },
+        /*918*/ { 917, 0 },
+        /*919*/ { 918, 0 },
+        /*920*/ { 919, 0 },
+        /*921*/ { 920, 0 },
+        /*922*/ { 921, 0 },
+        /*923*/ { 922, 0 },
+        /*924*/ { 923, 0 },
+        /*925*/ { 924, 1 },
+        /*926*/ { 925, 1 },
+        /*927*/ { 926, 1 },
+        /*928*/ { 927, 1 },
+        /*929*/ { 928, 1 },
+        /*930*/ { 929, 1 },
+        /*931*/ { 930, 1 },
+        /*932*/ { 931, 0 },
+        /*933*/ { 932, 0 },
+        /*934*/ { 933, 1 },
+        /*935*/ { 934, 1 },
+        /*936*/ { 935, 0 },
+        /*937*/ { 936, 1 },
+        /*938*/ { 937, 0 },
+        /*939*/ { 938, 1 },
+        /*940*/ { 939, 0 },
+        /*941*/ { 940, 1 },
+        /*942*/ { 941, 1 },
+        /*943*/ { 942, 0 },
+        /*944*/ { 943, 1 },
+        /*945*/ { 944, 1 },
+        /*946*/ { 945, 0 },
+        /*947*/ { 946, 1 },
+        /*948*/ { 947, 1 },
+        /*949*/ { 948, 1 },
+        /*950*/ { 949, 1 },
+        /*951*/ { 950, 1 },
+        /*952*/ { 951, 1 },
+        /*953*/ { 952, 1 },
+        /*954*/ { 953, 1 },
+        /*955*/ { 954, 0 },
+        /*956*/ { 955, 1 },
+        /*957*/ { 956, 1 },
+        /*958*/ { 957, 1 },
+        /*959*/ { 958, 1 },
+        /*960*/ { 959, 1 },
+        /*961*/ { 960, 1 },
+        /*962*/ { 961, 1 },
+        /*963*/ { 962, 1 },
+        /*964*/ { 963, 1 },
+        /*965*/ { 964, 1 },
+        /*966*/ { 965, 1 },
+        /*967*/ { 966, 0 },
+        /*968*/ { 967, 1 },
+        /*969*/ { 968, 1 },
+        /*970*/ { 969, 1 },
+        /*971*/ { 970, 1 },
+        /*972*/ { 971, 1 },
+        /*973*/ { 972, 1 },
+        /*974*/ { 973, 1 },
+        /*975*/ { 974, 0 },
+        /*976*/ { 975, 1 },
+        /*977*/ { 976, 1 },
+        /*978*/ { 977, 1 },
+        /*979*/ { 978, 1 },
+        /*980*/ { 979, 1 },
+        /*981*/ { 980, 1 },
+        /*982*/ { 981, 1 },
+        /*983*/ { 982, 0 },
+        /*984*/ { 983, 0 },
+        /*985*/ { 984, 1 },
+        /*986*/ { 985, 1 },
+        /*987*/ { 986, 1 },
+        /*988*/ { 987, 0 },
+        /*989*/ { 988, 0 },
+        /*990*/ { 989, 0 },
+        /*991*/ { 990, 1 },
+        /*992*/ { 991, 0 },
+        /*993*/ { 992, 0 },
+        /*994*/ { 993, 0 },
+        /*995*/ { 994, 1 },
+        /*996*/ { 995, 0 },
+        /*997*/ { 996, 0 },
+        /*998*/ { 997, 1 },
+        /*999*/ { 998, 0 },
+        /*1000*/ { 999, 1 },
+        /*1001*/ { 1000, 0 },
+        /*1002*/ { 2000, 0 },
     };
     int data_size = ARRAY_SIZE(data);
     int i, ret;
@@ -447,25 +1062,25 @@ static void test_numeric(const testCtx *const p_ctx) {
 
 /* Binary chop version: Whether ISO 4217 numeric */
 static int bc_iso4217_numeric(int cc) {
-    static const short codes[181] = {
+    static const short codes[178] = {
         /*ALL*/   8, /*DZD*/  12, /*ARS*/  32, /*AUD*/  36, /*BSD*/  44, /*BHD*/  48, /*BDT*/  50, /*AMD*/  51, /*BBD*/  52, /*BMD*/  60,
         /*BTN*/  64, /*BOB*/  68, /*BWP*/  72, /*BZD*/  84, /*SBD*/  90, /*BND*/  96, /*MMK*/ 104, /*BIF*/ 108, /*KHR*/ 116, /*CAD*/ 124,
-        /*CVE*/ 132, /*KYD*/ 136, /*LKR*/ 144, /*CLP*/ 152, /*CNY*/ 156, /*COP*/ 170, /*KMF*/ 174, /*CRC*/ 188, /*HRK*/ 191, /*CUP*/ 192,
-        /*CZK*/ 203, /*DKK*/ 208, /*DOP*/ 214, /*SVC*/ 222, /*ETB*/ 230, /*ERN*/ 232, /*FKP*/ 238, /*FJD*/ 242, /*DJF*/ 262, /*GMD*/ 270,
-        /*GIP*/ 292, /*GTQ*/ 320, /*GNF*/ 324, /*GYD*/ 328, /*HTG*/ 332, /*HNL*/ 340, /*HKD*/ 344, /*HUF*/ 348, /*ISK*/ 352, /*INR*/ 356,
-        /*IDR*/ 360, /*IRR*/ 364, /*IQD*/ 368, /*ILS*/ 376, /*JMD*/ 388, /*JPY*/ 392, /*KZT*/ 398, /*JOD*/ 400, /*KES*/ 404, /*KPW*/ 408,
-        /*KRW*/ 410, /*KWD*/ 414, /*KGS*/ 417, /*LAK*/ 418, /*LBP*/ 422, /*LSL*/ 426, /*LRD*/ 430, /*LYD*/ 434, /*MOP*/ 446, /*MWK*/ 454,
-        /*MYR*/ 458, /*MVR*/ 462, /*MUR*/ 480, /*MXN*/ 484, /*MNT*/ 496, /*MDL*/ 498, /*MAD*/ 504, /*OMR*/ 512, /*NAD*/ 516, /*NPR*/ 524,
-        /*ANG*/ 532, /*AWG*/ 533, /*VUV*/ 548, /*NZD*/ 554, /*NIO*/ 558, /*NGN*/ 566, /*NOK*/ 578, /*PKR*/ 586, /*PAB*/ 590, /*PGK*/ 598,
-        /*PYG*/ 600, /*PEN*/ 604, /*PHP*/ 608, /*QAR*/ 634, /*RUB*/ 643, /*RWF*/ 646, /*SHP*/ 654, /*SAR*/ 682, /*SCR*/ 690, /*SLL*/ 694,
-        /*SGD*/ 702, /*VND*/ 704, /*SOS*/ 706, /*ZAR*/ 710, /*SSP*/ 728, /*SZL*/ 748, /*SEK*/ 752, /*CHF*/ 756, /*SYP*/ 760, /*THB*/ 764,
-        /*TOP*/ 776, /*TTD*/ 780, /*AED*/ 784, /*TND*/ 788, /*UGX*/ 800, /*MKD*/ 807, /*EGP*/ 818, /*GBP*/ 826, /*TZS*/ 834, /*USD*/ 840,
-        /*UYU*/ 858, /*UZS*/ 860, /*WST*/ 882, /*YER*/ 886, /*TWD*/ 901, /*ZWG*/ 924, /*SLE*/ 925, /*UYW*/ 927, /*VES*/ 928, /*MRU*/ 929,
-        /*STN*/ 930, /*CUC*/ 931, /*BYN*/ 933, /*TMT*/ 934, /*GHS*/ 936, /*SDG*/ 938, /*UYI*/ 940, /*RSD*/ 941, /*MZN*/ 943, /*AZN*/ 944,
-        /*RON*/ 946, /*CHE*/ 947, /*CHW*/ 948, /*TRY*/ 949, /*XAF*/ 950, /*XCD*/ 951, /*XOF*/ 952, /*XPF*/ 953, /*XBA*/ 955, /*XBB*/ 956,
-        /*XBC*/ 957, /*XBD*/ 958, /*XAU*/ 959, /*XDR*/ 960, /*XAG*/ 961, /*XPT*/ 962, /*XTS*/ 963, /*XPD*/ 964, /*XUA*/ 965, /*ZMW*/ 967,
-        /*SRD*/ 968, /*MGA*/ 969, /*COU*/ 970, /*AFN*/ 971, /*TJS*/ 972, /*AOA*/ 973, /*BGN*/ 975, /*CDF*/ 976, /*BAM*/ 977, /*EUR*/ 978,
-        /*MXV*/ 979, /*UAH*/ 980, /*GEL*/ 981, /*BOV*/ 984, /*PLN*/ 985, /*BRL*/ 986, /*CLF*/ 990, /*XSU*/ 994, /*USN*/ 997, /*XXX*/ 999,
+        /*CVE*/ 132, /*KYD*/ 136, /*LKR*/ 144, /*CLP*/ 152, /*CNY*/ 156, /*COP*/ 170, /*KMF*/ 174, /*CRC*/ 188, /*CUP*/ 192, /*CZK*/ 203,
+        /*DKK*/ 208, /*DOP*/ 214, /*SVC*/ 222, /*ETB*/ 230, /*ERN*/ 232, /*FKP*/ 238, /*FJD*/ 242, /*DJF*/ 262, /*GMD*/ 270, /*GIP*/ 292,
+        /*GTQ*/ 320, /*GNF*/ 324, /*GYD*/ 328, /*HTG*/ 332, /*HNL*/ 340, /*HKD*/ 344, /*HUF*/ 348, /*ISK*/ 352, /*INR*/ 356, /*IDR*/ 360,
+        /*IRR*/ 364, /*IQD*/ 368, /*ILS*/ 376, /*JMD*/ 388, /*JPY*/ 392, /*KZT*/ 398, /*JOD*/ 400, /*KES*/ 404, /*KPW*/ 408, /*KRW*/ 410,
+        /*KWD*/ 414, /*KGS*/ 417, /*LAK*/ 418, /*LBP*/ 422, /*LSL*/ 426, /*LRD*/ 430, /*LYD*/ 434, /*MOP*/ 446, /*MWK*/ 454, /*MYR*/ 458,
+        /*MVR*/ 462, /*MUR*/ 480, /*MXN*/ 484, /*MNT*/ 496, /*MDL*/ 498, /*MAD*/ 504, /*OMR*/ 512, /*NAD*/ 516, /*NPR*/ 524, /*ANG*/ 532,
+        /*AWG*/ 533, /*VUV*/ 548, /*NZD*/ 554, /*NIO*/ 558, /*NGN*/ 566, /*NOK*/ 578, /*PKR*/ 586, /*PAB*/ 590, /*PGK*/ 598, /*PYG*/ 600,
+        /*PEN*/ 604, /*PHP*/ 608, /*QAR*/ 634, /*RUB*/ 643, /*RWF*/ 646, /*SHP*/ 654, /*SAR*/ 682, /*SCR*/ 690, /*SGD*/ 702, /*VND*/ 704,
+        /*SOS*/ 706, /*ZAR*/ 710, /*SSP*/ 728, /*SZL*/ 748, /*SEK*/ 752, /*CHF*/ 756, /*SYP*/ 760, /*THB*/ 764, /*TOP*/ 776, /*TTD*/ 780,
+        /*AED*/ 784, /*TND*/ 788, /*UGX*/ 800, /*MKD*/ 807, /*EGP*/ 818, /*GBP*/ 826, /*TZS*/ 834, /*USD*/ 840, /*UYU*/ 858, /*UZS*/ 860,
+        /*WST*/ 882, /*YER*/ 886, /*TWD*/ 901, /*ZWG*/ 924, /*SLE*/ 925, /*VED*/ 926, /*UYW*/ 927, /*VES*/ 928, /*MRU*/ 929, /*STN*/ 930,
+        /*BYN*/ 933, /*TMT*/ 934, /*GHS*/ 936, /*SDG*/ 938, /*UYI*/ 940, /*RSD*/ 941, /*MZN*/ 943, /*AZN*/ 944, /*RON*/ 946, /*CHE*/ 947,
+        /*CHW*/ 948, /*TRY*/ 949, /*XAF*/ 950, /*XCD*/ 951, /*XOF*/ 952, /*XPF*/ 953, /*XBA*/ 955, /*XBB*/ 956, /*XBC*/ 957, /*XBD*/ 958,
+        /*XAU*/ 959, /*XDR*/ 960, /*XAG*/ 961, /*XPT*/ 962, /*XTS*/ 963, /*XPD*/ 964, /*XUA*/ 965, /*ZMW*/ 967, /*SRD*/ 968, /*MGA*/ 969,
+        /*COU*/ 970, /*AFN*/ 971, /*TJS*/ 972, /*AOA*/ 973, /*BGN*/ 975, /*CDF*/ 976, /*BAM*/ 977, /*EUR*/ 978, /*MXV*/ 979, /*UAH*/ 980,
+        /*GEL*/ 981, /*BOV*/ 984, /*PLN*/ 985, /*BRL*/ 986, /*CLF*/ 990, /*XSU*/ 994, /*USN*/ 997, /*XXX*/ 999,
     };
 
     int s = 0, e = ARRAY_SIZE(codes) - 1;
diff --git a/backend/tools/gen_iso4217_h.php b/backend/tools/gen_iso4217_h.php
index cb588a24..469c95b8 100644
--- a/backend/tools/gen_iso4217_h.php
+++ b/backend/tools/gen_iso4217_h.php
@@ -21,25 +21,26 @@ $print_copyright = isset($opts['c']) ? (bool) $opts['c'] : true;
 $print_h_guard = isset($opts['h']) ? (bool) $opts['h'] : true;
 $tab = isset($opts['t']) ? $opts['t'] : '    ';
 
+/* https://www.six-group.com/dam/download/financial-information/data-center/iso-currrency/lists/list-one.xml */
 $numeric = array(
         /*ALL*/   8, /*DZD*/  12, /*ARS*/  32, /*AUD*/  36, /*BSD*/  44, /*BHD*/  48, /*BDT*/  50, /*AMD*/  51, /*BBD*/  52, /*BMD*/  60,
         /*BTN*/  64, /*BOB*/  68, /*BWP*/  72, /*BZD*/  84, /*SBD*/  90, /*BND*/  96, /*MMK*/ 104, /*BIF*/ 108, /*KHR*/ 116, /*CAD*/ 124,
-        /*CVE*/ 132, /*KYD*/ 136, /*LKR*/ 144, /*CLP*/ 152, /*CNY*/ 156, /*COP*/ 170, /*KMF*/ 174, /*CRC*/ 188, /*HRK*/ 191, /*CUP*/ 192,
-        /*CZK*/ 203, /*DKK*/ 208, /*DOP*/ 214, /*SVC*/ 222, /*ETB*/ 230, /*ERN*/ 232, /*FKP*/ 238, /*FJD*/ 242, /*DJF*/ 262, /*GMD*/ 270,
-        /*GIP*/ 292, /*GTQ*/ 320, /*GNF*/ 324, /*GYD*/ 328, /*HTG*/ 332, /*HNL*/ 340, /*HKD*/ 344, /*HUF*/ 348, /*ISK*/ 352, /*INR*/ 356,
-        /*IDR*/ 360, /*IRR*/ 364, /*IQD*/ 368, /*ILS*/ 376, /*JMD*/ 388, /*JPY*/ 392, /*KZT*/ 398, /*JOD*/ 400, /*KES*/ 404, /*KPW*/ 408,
-        /*KRW*/ 410, /*KWD*/ 414, /*KGS*/ 417, /*LAK*/ 418, /*LBP*/ 422, /*LSL*/ 426, /*LRD*/ 430, /*LYD*/ 434, /*MOP*/ 446, /*MWK*/ 454,
-        /*MYR*/ 458, /*MVR*/ 462, /*MUR*/ 480, /*MXN*/ 484, /*MNT*/ 496, /*MDL*/ 498, /*MAD*/ 504, /*OMR*/ 512, /*NAD*/ 516, /*NPR*/ 524,
-        /*ANG*/ 532, /*AWG*/ 533, /*VUV*/ 548, /*NZD*/ 554, /*NIO*/ 558, /*NGN*/ 566, /*NOK*/ 578, /*PKR*/ 586, /*PAB*/ 590, /*PGK*/ 598,
-        /*PYG*/ 600, /*PEN*/ 604, /*PHP*/ 608, /*QAR*/ 634, /*RUB*/ 643, /*RWF*/ 646, /*SHP*/ 654, /*SAR*/ 682, /*SCR*/ 690, /*SLL*/ 694,
-        /*SGD*/ 702, /*VND*/ 704, /*SOS*/ 706, /*ZAR*/ 710, /*SSP*/ 728, /*SZL*/ 748, /*SEK*/ 752, /*CHF*/ 756, /*SYP*/ 760, /*THB*/ 764,
-        /*TOP*/ 776, /*TTD*/ 780, /*AED*/ 784, /*TND*/ 788, /*UGX*/ 800, /*MKD*/ 807, /*EGP*/ 818, /*GBP*/ 826, /*TZS*/ 834, /*USD*/ 840,
-        /*UYU*/ 858, /*UZS*/ 860, /*WST*/ 882, /*YER*/ 886, /*TWD*/ 901, /*ZWG*/ 924, /*SLE*/ 925, /*UYW*/ 927, /*VES*/ 928, /*MRU*/ 929,
-        /*STN*/ 930, /*CUC*/ 931, /*BYN*/ 933, /*TMT*/ 934, /*GHS*/ 936, /*SDG*/ 938, /*UYI*/ 940, /*RSD*/ 941, /*MZN*/ 943, /*AZN*/ 944,
-        /*RON*/ 946, /*CHE*/ 947, /*CHW*/ 948, /*TRY*/ 949, /*XAF*/ 950, /*XCD*/ 951, /*XOF*/ 952, /*XPF*/ 953, /*XBA*/ 955, /*XBB*/ 956,
-        /*XBC*/ 957, /*XBD*/ 958, /*XAU*/ 959, /*XDR*/ 960, /*XAG*/ 961, /*XPT*/ 962, /*XTS*/ 963, /*XPD*/ 964, /*XUA*/ 965, /*ZMW*/ 967,
-        /*SRD*/ 968, /*MGA*/ 969, /*COU*/ 970, /*AFN*/ 971, /*TJS*/ 972, /*AOA*/ 973, /*BGN*/ 975, /*CDF*/ 976, /*BAM*/ 977, /*EUR*/ 978,
-        /*MXV*/ 979, /*UAH*/ 980, /*GEL*/ 981, /*BOV*/ 984, /*PLN*/ 985, /*BRL*/ 986, /*CLF*/ 990, /*XSU*/ 994, /*USN*/ 997, /*XXX*/ 999,
+        /*CVE*/ 132, /*KYD*/ 136, /*LKR*/ 144, /*CLP*/ 152, /*CNY*/ 156, /*COP*/ 170, /*KMF*/ 174, /*CRC*/ 188, /*CUP*/ 192, /*CZK*/ 203,
+        /*DKK*/ 208, /*DOP*/ 214, /*SVC*/ 222, /*ETB*/ 230, /*ERN*/ 232, /*FKP*/ 238, /*FJD*/ 242, /*DJF*/ 262, /*GMD*/ 270, /*GIP*/ 292,
+        /*GTQ*/ 320, /*GNF*/ 324, /*GYD*/ 328, /*HTG*/ 332, /*HNL*/ 340, /*HKD*/ 344, /*HUF*/ 348, /*ISK*/ 352, /*INR*/ 356, /*IDR*/ 360,
+        /*IRR*/ 364, /*IQD*/ 368, /*ILS*/ 376, /*JMD*/ 388, /*JPY*/ 392, /*KZT*/ 398, /*JOD*/ 400, /*KES*/ 404, /*KPW*/ 408, /*KRW*/ 410,
+        /*KWD*/ 414, /*KGS*/ 417, /*LAK*/ 418, /*LBP*/ 422, /*LSL*/ 426, /*LRD*/ 430, /*LYD*/ 434, /*MOP*/ 446, /*MWK*/ 454, /*MYR*/ 458,
+        /*MVR*/ 462, /*MUR*/ 480, /*MXN*/ 484, /*MNT*/ 496, /*MDL*/ 498, /*MAD*/ 504, /*OMR*/ 512, /*NAD*/ 516, /*NPR*/ 524, /*ANG*/ 532,
+        /*AWG*/ 533, /*VUV*/ 548, /*NZD*/ 554, /*NIO*/ 558, /*NGN*/ 566, /*NOK*/ 578, /*PKR*/ 586, /*PAB*/ 590, /*PGK*/ 598, /*PYG*/ 600,
+        /*PEN*/ 604, /*PHP*/ 608, /*QAR*/ 634, /*RUB*/ 643, /*RWF*/ 646, /*SHP*/ 654, /*SAR*/ 682, /*SCR*/ 690, /*SGD*/ 702, /*VND*/ 704,
+        /*SOS*/ 706, /*ZAR*/ 710, /*SSP*/ 728, /*SZL*/ 748, /*SEK*/ 752, /*CHF*/ 756, /*SYP*/ 760, /*THB*/ 764, /*TOP*/ 776, /*TTD*/ 780,
+        /*AED*/ 784, /*TND*/ 788, /*UGX*/ 800, /*MKD*/ 807, /*EGP*/ 818, /*GBP*/ 826, /*TZS*/ 834, /*USD*/ 840, /*UYU*/ 858, /*UZS*/ 860,
+        /*WST*/ 882, /*YER*/ 886, /*TWD*/ 901, /*ZWG*/ 924, /*SLE*/ 925, /*VED*/ 926, /*UYW*/ 927, /*VES*/ 928, /*MRU*/ 929, /*STN*/ 930,
+        /*BYN*/ 933, /*TMT*/ 934, /*GHS*/ 936, /*SDG*/ 938, /*UYI*/ 940, /*RSD*/ 941, /*MZN*/ 943, /*AZN*/ 944, /*RON*/ 946, /*CHE*/ 947,
+        /*CHW*/ 948, /*TRY*/ 949, /*XAF*/ 950, /*XCD*/ 951, /*XOF*/ 952, /*XPF*/ 953, /*XBA*/ 955, /*XBB*/ 956, /*XBC*/ 957, /*XBD*/ 958,
+        /*XAU*/ 959, /*XDR*/ 960, /*XAG*/ 961, /*XPT*/ 962, /*XTS*/ 963, /*XPD*/ 964, /*XUA*/ 965, /*ZMW*/ 967, /*SRD*/ 968, /*MGA*/ 969,
+        /*COU*/ 970, /*AFN*/ 971, /*TJS*/ 972, /*AOA*/ 973, /*BGN*/ 975, /*CDF*/ 976, /*BAM*/ 977, /*EUR*/ 978, /*MXV*/ 979, /*UAH*/ 980,
+        /*GEL*/ 981, /*BOV*/ 984, /*PLN*/ 985, /*BRL*/ 986, /*CLF*/ 990, /*XSU*/ 994, /*USN*/ 997, /*XXX*/ 999,
 );
 
 $numeric_tab = array();
@@ -60,7 +61,9 @@ $numeric_cnt = count($numeric_tab);
 
 print <<<EOD
 /*
- * ISO 4217 currency codes generated by "$dirdirname/$basename"
+ * ISO 4217 currency codes generated by "$dirdirname/$basename" based on
+ * https://www.six-group.com/dam/download/financial-information/data-center/iso-currrency/lists/list-one.xml
+ * (published 2025-02-04)
  */
 
 EOD;