From c37b0cbefb5e313eeed490d146cea13cf97876a1 Mon Sep 17 00:00:00 2001
From: Edward Welbourne <edward.welbourne@qt.io>
Date: Tue, 2 Apr 2024 20:40:33 +0200
Subject: [PATCH] Cope with CLDR's "day period" format specifiers

The LDML spec includes a 'b' pattern character which is like the 'a'
pattern, for AM and PM, but would rather use noon and midnight
indicators for those specific times. We don't support those and using
am/pm will be right enough of the time to be better than simply
discarding this option, if it ever gets used (which it currently
isn't), so treat as an alias for 'a'. No locale in CLDR currently uses
this.

CLDR also has a 'B' specifiers for "flexible day periods", including
things like "at night" and "in the day". At present only zh_Hant uses
'B'. As a result, this change only affects zh_Hant's formats for time
and datetime, which only zh_Hant_TW uses - zh_Hant_HK overrides them
to use am/pm markers and zh_Hant_MO inherits that from
zh_Hant_HK. Based on this and user feed-back, I've opted to treat 'B'
as another synonym of 'a'.

This removes an entry from the time_format_data[] table (it happened
to occupy one whole twelve-character row), causing many other locales'
offsets into that table to be shifted by 12. Only zh_Hant_TW has an
actual change to which entry in the table it uses.
Added a test-case.

[ChangeLog][QtCore][QLocale] CLDR's 'B' (flexible day period, e.g. "at
night" &c.) field, not currently supported, is now handled as a
synonym for the AM/PM field 'a', instead of leaving the B as literal
text. Only affects zh_TW at present.

Fixes: QTBUG-123872
Change-Id: I6ba008c0a048190bf7af8c7df7629a885b05804f
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
---
 src/corelib/text/qlocale_data_p.h             | 75 +++++++++----------
 .../auto/corelib/text/qlocale/tst_qlocale.cpp |  5 ++
 2 files changed, 42 insertions(+), 38 deletions(-)

diff --git a/src/corelib/text/qlocale_data_p.h b/src/corelib/text/qlocale_data_p.h
index 44e86fb0ff..f15c2f0bbd 100644
--- a/src/corelib/text/qlocale_data_p.h
+++ b/src/corelib/text/qlocale_data_p.h
@@ -76,7 +76,7 @@ struct LanguageCodeEntry {
 // GENERATED PART STARTS HERE
 
 /*
-    This part of the file was generated on 2024-01-09 from the
+    This part of the file was generated on 2024-04-04 from the
     Common Locale Data Repository v44.1
 
     http://www.unicode.org/cldr/
@@ -1493,7 +1493,7 @@ static constexpr QLocaleData locale_data[] = {
     {     58,   118,   210,  183,  183,  239,  239,    6,    0,    1,    2,    3,    4,    5,   10,   14,   15,   16,   17,  513,   78,  155,   27, 3148, 3148, 3188, 3188, 3175, 3175,  130,  126,  306,    5,   22,   10,  829,    2,    9,  989, 1013,  5,  5,  5,  5,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 13,  8, 11,  6, 27, 27, 20, 20, 13, 13,  2,  2,  2, 17, 23,  1,  4,  4,  6,  4,  3, {83,71,68},      2,     1,     7,     6,     7,     1,     3,     3 }, // Chinese/Simplified Han/Singapore
     {     58,   137,   107,  183,  183,  244,  244,    6,    0,    1,    2,    3,    4,    5,   10,   51,   52,   53,   54,  513,  129,  142,   27, 3148, 3148, 4166, 4166, 3175, 3175,  130,  126,  308,    5,   22,  142,  824,    2,    9, 1016, 1020,  5,  5,  5,  5,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 13,  8, 13,  6, 27, 27, 20, 20, 13, 13,  2,  2,  3, 17, 23,  3,  2,  4,  6,  4,  9, {72,75,68},      2,     1,     7,     6,     7,     1,     3,     3 }, // Chinese/Traditional Han/Hong Kong
     {     58,   137,   139,  183,  183,  244,  244,    6,    0,    1,    2,    3,    4,    5,   10,   51,   52,   53,   54,  513,  129,  142,   27, 3148, 3148, 4166, 4166, 3175, 3175,  130,  126,  308,    5,   22,  151,  833,    2,    9, 1016, 1029,  5,  5,  5,  5,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 13,  8, 13,  6, 27, 27, 20, 20, 13, 13,  2,  2,  3, 17, 23,  4,  3,  4,  6,  4,  9, {77,79,80},      2,     1,     7,     6,     7,     1,     3,     3 }, // Chinese/Traditional Han/Macao
-    {     58,   137,   228,  183,  183,  239,  239,    6,    0,    1,    2,    3,    4,    5,   10,   51,   52,   53,   54,  491,  505,  166,  166, 3148, 3148, 4166, 4166, 3175, 3175,  130,  126,    0,    5,   22,   10,  836,    2,    9, 1016, 1038,  5,  5,  5,  5,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 14,  8, 12,  5, 27, 27, 20, 20, 13, 13,  2,  2,  4, 17, 23,  1,  3,  4,  6,  4,  2, {84,87,68},      2,     0,     7,     6,     7,     1,     3,     3 }, // Chinese/Traditional Han/Taiwan
+    {     58,   137,   228,  183,  183,  239,  239,    6,    0,    1,    2,    3,    4,    5,   10,   51,   52,   53,   54,  491,  505,  142,   27, 3148, 3148, 4166, 4166, 3175, 3175,  130,  126,    0,    5,   22,   10,  836,    2,    9, 1016, 1038,  5,  5,  5,  5,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 14,  8, 13,  6, 27, 27, 20, 20, 13, 13,  2,  2,  4, 17, 23,  1,  3,  4,  6,  4,  2, {84,87,68},      2,     0,     7,     6,     7,     1,     3,     3 }, // Chinese/Traditional Han/Taiwan
     {     59,    27,   193,    0,    0,  249,  249,    6,    1,    9,    2,    3,    4,    5,   10,   11,   12,   13,   14,  573,  596,    0,    0, 4186, 4186, 4253, 4253, 4289, 4289,    0,    0,    0,    5,   22,  133,  839,    4,    0, 1040, 1059,  6,  6,  8,  8,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 23, 10, 10,  5, 67, 67, 36, 36, 13, 13,  2,  2,  4, 17, 23,  1, 18,  5,  0, 19,  7, {82,85,66},      2,     1,     1,     6,     7,     1,     3,     3 }, // Church/Cyrillic/Russia
     {     60,    27,   193,    0,    0,  257,  257,    6,    1,    9,    2,    3,    4,    5,   10,   11,   12,   13,   14,  606,   49,    0,    0, 4302, 4302, 4367, 4367, 4399, 4399,    0,    0,    0,    5,   22,  133,  857,    4,    0, 1066, 1071,  6,  6, 10, 10,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 22, 10, 10,  5, 65, 65, 32, 32, 13, 13,  2,  2,  4, 17, 23,  1, 12,  5,  0,  5,  6, {82,85,66},      2,     1,     1,     6,     7,     1,     3,     3 }, // Chuvash/Cyrillic/Russia
     {     61,    66,    91,    0,    0,  267,  267,    6,    1,    9,    2,    3,   48,    5,   63,   13,   14,   18,   16,  628,  423,    0,    0, 4412, 4412, 4483, 4483, 4510, 4510,  152,  152,    0,    5,   22,   22,   83,    4,    0, 1077, 1083,  6,  6,  8,  8,  1,  1,  1,  1,  1,  1,  1,  4,  1,  1,  1,  1, 23, 10, 10,  5, 71, 71, 27, 27, 13, 13, 16, 16,  4, 17, 23,  1,  4,  5,  0,  6, 11, {69,85,82},      2,     1,     1,     6,     7,     1,     3,     3 }, // Colognian/Latin/Germany
@@ -1502,8 +1502,8 @@ static constexpr QLocaleData locale_data[] = {
     {     66,    66,    60,    0,    0,  143,  143,    6,    1,    0,    2,    3,   48,    5,   10,   13,   14,   18,   16,  404,  676,   73,    0, 2699, 2699, 2756, 2756, 2783, 2796,    0,    0,  218,    5,   22,   22,  405,    4,    0, 1128, 1136,  6,  6,  7,  7,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 19, 13, 12,  5, 57, 57, 27, 27, 13, 13,  2,  2,  7, 17, 23,  1,  4,  5,  0,  8,  8, {69,85,82},      2,     1,     1,     6,     7,     1,     3,     3 }, // Croatian/Latin/Croatia
     {     66,    66,    29,    0,    0,  143,  143,    6,    1,    0,    2,    3,   48,    5,   10,   13,   14,   18,   16,  404,  689,   73,    0, 2699, 2699, 2756, 2756, 2796, 2796,    0,    0,  218,    5,   22,  135,  618,    4,    0, 1128,  686,  6,  6,  7,  7,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 19,  9, 12,  5, 57, 57, 27, 27, 13, 13,  2,  2,  7, 17, 23,  2, 19,  5,  0,  8, 19, {66,65,77},      2,     1,     1,     6,     7,     1,     3,     3 }, // Croatian/Latin/Bosnia and Herzegovina
     {     67,    66,    64,    0,    0,  282,  282,    6,    1,    9,    2,    3,    4,    5,   10,   13,   14,   18,   16,  698,   49,   86,    1, 4707, 4707, 4755, 4755, 4775, 4775,  172,  172,  311,    5,   22,  158,  869,    4,    0, 1144, 1151,  6,  6,  7,  7,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 17,  8, 10,  4, 48, 48, 20, 20, 13, 13,  4,  4,  5, 17, 23,  2, 12,  5,  0,  7,  5, {67,90,75},      2,     0,     1,     6,     7,     1,     3,     3 }, // Czech/Latin/Czechia
-    {     68,    66,    65,    0,    0,  289,  289,    6,    1,    0,    2,    3,    4,    5,   10,   14,   15,   16,   17,  715,   49,  178,  178, 4788, 4788, 4838, 4838, 4874, 4874,    0,    0,    0,    5,   22,  160,  881,    4,    0, 1156, 1161,  6,  6,  8,  8,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 23, 10, 10,  5, 50, 50, 36, 36, 13, 13,  2,  2,  5, 17, 23,  3, 11,  5,  0,  5,  7, {68,75,75},      2,     0,     1,     6,     7,     1,     3,     3 }, // Danish/Latin/Denmark
-    {     68,    66,    95,    0,    0,  289,  289,    6,    1,    0,    2,    3,    4,    5,   10,   14,   15,   16,   17,  715,   49,  178,  178, 4788, 4788, 4838, 4838, 4874, 4874,    0,    0,    0,    5,   22,  160,  881,    4,    0, 1156, 1168,  6,  6,  8,  8,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 23, 10, 10,  5, 50, 50, 36, 36, 13, 13,  2,  2,  5, 17, 23,  3, 11,  5,  0,  5,  8, {68,75,75},      2,     0,     1,     6,     7,     1,     3,     3 }, // Danish/Latin/Greenland
+    {     68,    66,    65,    0,    0,  289,  289,    6,    1,    0,    2,    3,    4,    5,   10,   14,   15,   16,   17,  715,   49,  166,  166, 4788, 4788, 4838, 4838, 4874, 4874,    0,    0,    0,    5,   22,  160,  881,    4,    0, 1156, 1161,  6,  6,  8,  8,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 23, 10, 10,  5, 50, 50, 36, 36, 13, 13,  2,  2,  5, 17, 23,  3, 11,  5,  0,  5,  7, {68,75,75},      2,     0,     1,     6,     7,     1,     3,     3 }, // Danish/Latin/Denmark
+    {     68,    66,    95,    0,    0,  289,  289,    6,    1,    0,    2,    3,    4,    5,   10,   14,   15,   16,   17,  715,   49,  166,  166, 4788, 4788, 4838, 4838, 4874, 4874,    0,    0,    0,    5,   22,  160,  881,    4,    0, 1156, 1168,  6,  6,  8,  8,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 23, 10, 10,  5, 50, 50, 36, 36, 13, 13,  2,  2,  5, 17, 23,  3, 11,  5,  0,  5,  8, {68,75,75},      2,     0,     1,     6,     7,     1,     3,     3 }, // Danish/Latin/Greenland
     {     69,   132,   144,    0,    0,    0,    0,    2,    0,    1,    2,    3,    4,    5,   10,   14,   15,   16,   17,  113,  283,    0,    0,   56,   56,   56,   56,   83,   83,    0,    0,    0,    5,   22,  163,    0,   15,    0, 1176, 1186,  6,  6,  6,  6,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 16,  6, 10,  5, 27, 27, 27, 27, 13, 13,  2,  2,  4, 17, 23,  2,  0,  5,  0, 10, 13, {77,86,82},      2,     1,     5,     6,     7,     1,     3,     3 }, // Divehi/Thaana/Maldives
     {     70,    29,   110,    0,    0,  297,  306,    6,    0,    1,    2,    3,    4,    5,   10,   14,   15,   16,   17,  738,  129,   42,   54, 4887, 4887, 4937, 4937, 4966, 4988,  176,  176,    0,    5,   22,  120,  892,    2,    0, 1199,  664,  6,  6,  9,  8,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 18,  6, 12,  7, 50, 50, 29, 29, 22, 24,  4,  9,  4, 17, 23,  1, 10,  4,  0,  5,  4, {73,78,82},      2,     1,     7,     7,     7,     1,     3,     3 }, // Dogri/Devanagari/India
     {     71,    66,    40,    0,    0,    0,    0,    6,    1,    9,    2,    3,    4,    5,   10,   11,   12,   16,   17,  113,  129,    0,    0, 5012, 5012, 5056, 5056, 5083, 5083,  180,  185,    0,    5,   22,   11,    0,    4,    0, 1204, 1209,  6,  6,  6,  6,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 16,  8, 10,  5, 44, 44, 27, 27, 13, 13,  5,  6,  4, 17, 23,  4,  0,  5,  0,  5,  8, {88,65,70},      0,     0,     1,     6,     7,     1,     3,     3 }, // Duala/Latin/Cameroon
@@ -1514,7 +1514,7 @@ static constexpr QLocaleData locale_data[] = {
     {     72,    66,    62,    0,    0,   16,   16,    6,    1,    0,    2,    3,    4,    5,   10,   16,   17,   16,   17,  113,  394,    0,    0, 5096, 5096, 5154, 5154, 5174, 5174,  168,  168,    0,    5,   22,  169,  936,   15,   58, 1217, 1263,  6,  6,  8,  8,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 16, 10, 10,  5, 58, 58, 20, 20, 13, 13,  4,  4,  4, 17, 23,  4, 30,  5,  7, 10,  7, {65,78,71},      2,     1,     1,     6,     7,     1,     3,     3 }, // Dutch/Latin/Curacao
     {     72,    66,   211,    0,    0,   16,   16,    6,    1,    0,    2,    3,    4,    5,   10,   16,   17,   16,   17,  113,  394,    0,    0, 5096, 5096, 5154, 5154, 5174, 5174,  168,  168,    0,    5,   22,  169,  936,   15,   58, 1217, 1270,  6,  6,  8,  8,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 16, 10, 10,  5, 58, 58, 20, 20, 13, 13,  4,  4,  4, 17, 23,  4, 30,  5,  7, 10, 12, {65,78,71},      2,     1,     1,     6,     7,     1,     3,     3 }, // Dutch/Latin/Sint Maarten
     {     72,    66,   223,    0,    0,   16,   16,    6,    1,    0,    2,    3,    4,    5,   10,   16,   17,   16,   17,  113,  394,    0,    0, 5096, 5096, 5154, 5154, 5174, 5174,  168,  168,    0,    5,   22,   10,  966,   15,   58, 1217, 1282,  6,  6,  8,  8,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 16, 10, 10,  5, 58, 58, 20, 20, 13, 13,  4,  4,  4, 17, 23,  1, 17,  5,  7, 10,  8, {83,82,68},      2,     1,     1,     6,     7,     1,     3,     3 }, // Dutch/Latin/Suriname
-    {     73,   134,    27,  314,  314,  314,  314,    6,    0,    1,    2,   67,    4,    5,   10,   14,   15,   16,   17,  756,  103,  188,  215, 5187, 5187, 5265, 5265, 5298, 5298,  185,  191,    0,    5,   22,  173,  983,    2,    0, 1290, 1296,  9,  9,  9,  9,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 30, 10, 27, 22, 78, 78, 33, 33, 26, 26,  5,  6,  4, 17, 23,  3,  8,  4,  0,  6,  5, {66,84,78},      2,     1,     7,     6,     7,     1,     2,     3 }, // Dzongkha/Tibetan/Bhutan
+    {     73,   134,    27,  314,  314,  314,  314,    6,    0,    1,    2,   67,    4,    5,   10,   14,   15,   16,   17,  756,  103,  176,  203, 5187, 5187, 5265, 5265, 5298, 5298,  185,  191,    0,    5,   22,  173,  983,    2,    0, 1290, 1296,  9,  9,  9,  9,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 30, 10, 27, 22, 78, 78, 33, 33, 26, 26,  5,  6,  4, 17, 23,  3,  8,  4,  0,  6,  5, {66,84,78},      2,     1,     7,     6,     7,     1,     2,     3 }, // Dzongkha/Tibetan/Bhutan
     {     74,    66,   124,    0,    0,    0,    0,    6,    0,    1,    2,    3,    4,    5,   10,   14,   15,   16,   17,    0,  186,    0,    0, 5324, 5324, 5387, 5387, 5414, 5414,  190,  197,    0,    5,   22,  176,  991,    2,    9, 1301, 1307,  6,  6,  6,  6,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 17, 10, 10,  5, 63, 63, 27, 27, 13, 13,  2,  2,  4, 17, 23,  3, 17,  4,  6,  6,  5, {75,69,83},      2,     1,     7,     6,     7,     1,     3,     3 }, // Embu/Latin/Kenya
     {     75,    66,   248,    0,    0,  323,  333,    6,    0,    1,    2,    3,    4,    5,   10,   14,   15,   16,   17,  549,  567,   10,   22,    0,    0,   56,   56,   83,   83,    0,    0,    0,    5,   22,   10, 1008,    2,    9, 1312,  964,  6,  6, 10,  9,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 18,  6, 12,  7, 56, 56, 27, 27, 13, 13,  2,  2,  5, 17, 23,  1,  9,  4,  6, 16, 13, {85,83,68},      2,     1,     7,     6,     7,     1,     3,     3 }, // English/Latin/United States
     {     75,    28,   248,    0,    0,    0,    0,    6,    0,    1,    2,    3,    4,    5,   10,   14,   15,   16,   17,  163,  103,    0,    0, 5427, 5427, 5511, 5511, 5559, 5559,  192,  199,    0,    5,   22,   10,    0,   15,    0, 1328, 1338,  6,  6,  6,  6,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 17, 10, 10,  5, 84, 84, 48, 48, 20, 20,  4,  4,  4, 17, 23,  1,  0,  5,  0, 10, 25, {85,83,68},      2,     1,     7,     6,     7,     1,     3,     3 }, // English/Deseret/United States
@@ -1539,7 +1539,7 @@ static constexpr QLocaleData locale_data[] = {
     {     75,    66,    53,    0,    0,  333,  333,    6,    0,    1,    2,    3,    4,    5,   10,   14,   15,   16,   17,    0,  186,    0,    0,    0,    0,   56,   56,   83,   83,   82,  203,    0,    5,   22,   10, 1038,    2,    9, 1321, 1589,  6,  6,  9,  9,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 17, 10, 10,  5, 56, 56, 27, 27, 13, 13,  2,  2,  5, 17, 23,  1, 17,  4,  6,  7, 23, {65,85,68},      2,     1,     1,     6,     7,     1,     3,     3 }, // English/Latin/Cocos Islands
     {     75,    66,    58,    0,    0,  333,  333,    6,    0,    1,    2,    3,    4,    5,   10,   14,   15,   16,   17,    0,  186,    0,    0,    0,    0,   56,   56,   83,   83,   82,  203,    0,    5,   22,   10, 1205,    2,    9, 1321, 1612,  6,  6,  9,  9,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 17, 10, 10,  5, 56, 56, 27, 27, 13, 13,  2,  2,  5, 17, 23,  1, 18,  4,  6,  7, 12, {78,90,68},      2,     1,     1,     6,     7,     1,     3,     3 }, // English/Latin/Cook Islands
     {     75,    66,    63,    0,    0,  333,  333,    6,    0,    1,    2,    3,    4,    5,   10,   14,   15,   16,   17,    0,  186,   10,   22,    0,    0,   56,   56,   83,   83,   82,  203,    0,    5,   22,   22,   83,    2,    9, 1321, 1624,  6,  6,  9,  9,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 17, 10, 12,  7, 56, 56, 27, 27, 13, 13,  2,  2,  5, 17, 23,  1,  4,  4,  6,  7,  6, {69,85,82},      2,     1,     1,     6,     7,     1,     3,     3 }, // English/Latin/Cyprus
-    {     75,    66,    65,    0,    0,  333,  333,    6,    1,    0,    2,    3,    4,    5,   10,   14,   15,   16,   17,    0,  186,  178,  178,    0,    0,   56,   56,   83,   83,   82,  203,    0,    5,   22,  160, 1223,    4,    0, 1321, 1630,  6,  6,  9,  9,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 17, 10, 10,  5, 56, 56, 27, 27, 13, 13,  2,  2,  5, 17, 23,  3, 12,  5,  0,  7,  7, {68,75,75},      2,     0,     1,     6,     7,     1,     3,     3 }, // English/Latin/Denmark
+    {     75,    66,    65,    0,    0,  333,  333,    6,    1,    0,    2,    3,    4,    5,   10,   14,   15,   16,   17,    0,  186,  166,  166,    0,    0,   56,   56,   83,   83,   82,  203,    0,    5,   22,  160, 1223,    4,    0, 1321, 1630,  6,  6,  9,  9,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 17, 10, 10,  5, 56, 56, 27, 27, 13, 13,  2,  2,  5, 17, 23,  3, 12,  5,  0,  7,  7, {68,75,75},      2,     0,     1,     6,     7,     1,     3,     3 }, // English/Latin/Denmark
     {     75,    66,    66,    0,    0,  333,  333,    6,    0,    1,    2,    3,    4,    5,   10,   14,   15,   16,   17,    0,  186,    0,    0,    0,    0,   56,   56,   83,   83,   82,  203,    0,    5,   22,  179, 1008,    2,    9, 1321, 1637,  6,  6,  9,  9,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 17, 10, 10,  5, 56, 56, 27, 27, 13, 13,  2,  2,  5, 17, 23,  3,  9,  4,  6,  7, 12, {85,83,68},      2,     1,     1,     6,     7,     1,     3,     3 }, // English/Latin/Diego Garcia
     {     75,    66,    68,    0,    0,  333,  333,    6,    0,    1,    2,    3,    4,    5,   10,   14,   15,   16,   17,    0,  186,   10,   22,    0,    0,   56,   56,   83,   83,   82,  203,    0,    5,   22,   10, 1017,    2,    9, 1321, 1649,  6,  6,  9,  9,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 17, 10, 12,  7, 56, 56, 27, 27, 13, 13,  2,  2,  5, 17, 23,  1, 21,  4,  6,  7,  8, {88,67,68},      2,     1,     7,     6,     7,     1,     3,     3 }, // English/Latin/Dominica
     {     75,    66,    74,    0,    0,  333,  333,    6,    0,    1,    2,    3,    4,    5,   10,   14,   15,   16,   17,    0,  186,   10,   22,    0,    0,   56,   56,   83,   83,   82,  203,    0,    5,   22,    6, 1235,    2,    9, 1321, 1657,  6,  6,  9,  9,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 17, 10, 12,  7, 56, 56, 27, 27, 13, 13,  2,  2,  5, 17, 23,  3, 14,  4,  6,  7,  7, {69,82,78},      2,     1,     1,     6,     7,     1,     3,     3 }, // English/Latin/Eritrea
@@ -1547,7 +1547,7 @@ static constexpr QLocaleData locale_data[] = {
     {     75,    66,    78,    0,    0,  333,  333,    6,    0,    1,    2,    3,    4,    5,   10,   14,   15,   16,   17,    0,  186,    0,    0,    0,    0,   56,   56,   83,   83,   82,  203,    0,    5,   22,    0,    0,    4,    0, 1321, 1672,  6,  6,  9,  9,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 17, 10, 10,  5, 56, 56, 27, 27, 13, 13,  2,  2,  5, 17, 23,  0,  0,  5,  0,  7,  6,    {0,0,0},      2,     1,     1,     6,     7,     1,     3,     3 }, // English/Latin/Europe
     {     75,    66,    80,    0,    0,  333,  333,    6,    0,    1,    2,    3,    4,    5,   10,   14,   15,   16,   17,    0,  186,    0,    0,    0,    0,   56,   56,   83,   83,   82,  203,    0,    5,   22,   94, 1264,    2,    9, 1321, 1678,  6,  6,  9,  9,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 17, 10, 10,  5, 56, 56, 27, 27, 13, 13,  2,  2,  5, 17, 23,  1, 22,  4,  6,  7, 16, {70,75,80},      2,     1,     1,     6,     7,     1,     3,     3 }, // English/Latin/Falkland Islands
     {     75,    66,    82,    0,    0,  333,  333,    6,    0,    1,    2,    3,    4,    5,   10,   14,   15,   16,   17,    0,  186,   10,   22,    0,    0,   56,   56,   83,   83,   82,  203,    0,    5,   22,   10, 1286,    2,    9, 1321, 1694,  6,  6,  9,  9,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 17, 10, 12,  7, 56, 56, 27, 27, 13, 13,  2,  2,  5, 17, 23,  1, 13,  4,  6,  7,  4, {70,74,68},      2,     1,     1,     6,     7,     1,     3,     3 }, // English/Latin/Fiji
-    {     75,    66,    83,    0,    0,  333,  333,    6,    1,    9,    2,    3,    4,    5,   10,   14,   15,   16,   17,    0,  186,  179,  179,    0,    0,   56,   56,   83,   83,   82,  203,    0,    5,   22,   22,   83,    4,    0, 1321, 1698,  6,  6,  9,  9,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 17, 10,  9,  4, 56, 56, 27, 27, 13, 13,  2,  2,  5, 17, 23,  1,  4,  5,  0,  7,  7, {69,85,82},      2,     1,     1,     6,     7,     1,     3,     3 }, // English/Latin/Finland
+    {     75,    66,    83,    0,    0,  333,  333,    6,    1,    9,    2,    3,    4,    5,   10,   14,   15,   16,   17,    0,  186,  167,  167,    0,    0,   56,   56,   83,   83,   82,  203,    0,    5,   22,   22,   83,    4,    0, 1321, 1698,  6,  6,  9,  9,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 17, 10,  9,  4, 56, 56, 27, 27, 13, 13,  2,  2,  5, 17, 23,  1,  4,  5,  0,  7,  7, {69,85,82},      2,     1,     1,     6,     7,     1,     3,     3 }, // English/Latin/Finland
     {     75,    66,    89,    0,    0,  333,  333,    6,    0,    1,    2,    3,    4,    5,   10,   14,   15,   16,   17,    0,  186,   10,   22,    0,    0,   56,   56,   83,   83,   82,  203,    0,    5,   22,  185, 1299,    2,    9, 1321, 1705,  6,  6,  9,  9,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 17, 10, 12,  7, 56, 56, 27, 27, 13, 13,  2,  2,  5, 17, 23,  1, 14,  4,  6,  7,  6, {71,77,68},      2,     1,     1,     6,     7,     1,     3,     3 }, // English/Latin/Gambia
     {     75,    66,    91,    0,    0,  333,  333,    6,    1,    0,    2,    3,    4,    5,   10,   14,   15,   16,   17,    0,  186,    0,    0,    0,    0,   56,   56,   83,   83,   82,  203,    0,    5,   22,   22,   83,    4,    0, 1321, 1711,  6,  6,  9,  9,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 17, 10, 10,  5, 56, 56, 27, 27, 13, 13,  2,  2,  5, 17, 23,  1,  4,  5,  0,  7,  7, {69,85,82},      2,     1,     1,     6,     7,     1,     3,     3 }, // English/Latin/Germany
     {     75,    66,    92,    0,    0,  333,  333,    6,    0,    1,    2,    3,    4,    5,   10,   14,   15,   16,   17,    0,  186,   10,   22,    0,    0,   56,   56,   83,   83,   82,  203,    0,    5,   22,   15, 1313,    2,    9, 1321, 1718,  6,  6,  9,  9,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 17, 10, 12,  7, 56, 56, 27, 27, 13, 13,  2,  2,  5, 17, 23,  3, 13,  4,  6,  7,  5, {71,72,83},      2,     1,     1,     6,     7,     1,     3,     3 }, // English/Latin/Ghana
@@ -1558,7 +1558,7 @@ static constexpr QLocaleData locale_data[] = {
     {     75,    66,   103,    0,    0,  333,  333,    6,    0,    1,    2,    3,    4,    5,   10,   14,   15,   16,   17,    0,  186,   10,   22,    0,    0,   56,   56,   83,   83,   82,  203,    0,    5,   22,   10, 1349,    2,    9, 1321, 1751,  6,  6,  9,  9,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 17, 10, 12,  7, 56, 56, 27, 27, 13, 13,  2,  2,  5, 17, 23,  1, 16,  4,  6,  7,  6, {71,89,68},      2,     0,     1,     6,     7,     1,     3,     3 }, // English/Latin/Guyana
     {     75,    66,   107,    0,    0,  333,  333,    6,    0,    1,    2,    3,    4,    5,   10,   14,   15,   16,   17,    0,  129,   10,   22,    0,    0,   56,   56,   83,   83,   82,  203,    0,    5,   22,  142, 1365,    2,    9, 1321, 1757,  6,  6,  9,  9,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 17,  8, 12,  7, 56, 56, 27, 27, 13, 13,  2,  2,  5, 17, 23,  3, 16,  4,  6,  7, 19, {72,75,68},      2,     1,     7,     6,     7,     1,     3,     3 }, // English/Latin/Hong Kong
     {     75,    66,   110,    0,    0,  333,  333,    6,    0,    1,    2,    3,    4,    5,   10,   14,   15,   16,   17,  804,   78,   10,   22,    0,    0,   56,   56,   83,   83,   82,  203,    0,    5,   22,  120, 1381,    2,    9, 1321, 1478,  6,  6,  9,  9,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 17,  8, 12,  7, 56, 56, 27, 27, 13, 13,  2,  2,  5, 17, 23,  1, 12,  4,  6,  7,  5, {73,78,82},      2,     1,     7,     7,     7,     1,     2,     3 }, // English/Latin/India
-    {     75,    66,   111,    0,    0,  333,  333,    6,    1,    0,    2,    3,    4,    5,   10,   14,   15,   16,   17,    0,  186,  178,  178,    0,    0,   56,   56,   83,   83,   82,  203,    0,    5,   22,  186, 1393,    2,    9, 1321, 1776,  6,  6,  9,  9,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 17, 10, 10,  5, 56, 56, 27, 27, 13, 13,  2,  2,  5, 17, 23,  2, 17,  4,  6,  7,  9, {73,68,82},      2,     0,     7,     6,     7,     1,     3,     3 }, // English/Latin/Indonesia
+    {     75,    66,   111,    0,    0,  333,  333,    6,    1,    0,    2,    3,    4,    5,   10,   14,   15,   16,   17,    0,  186,  166,  166,    0,    0,   56,   56,   83,   83,   82,  203,    0,    5,   22,  186, 1393,    2,    9, 1321, 1776,  6,  6,  9,  9,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 17, 10, 10,  5, 56, 56, 27, 27, 13, 13,  2,  2,  5, 17, 23,  2, 17,  4,  6,  7,  9, {73,68,82},      2,     0,     7,     6,     7,     1,     3,     3 }, // English/Latin/Indonesia
     {     75,    66,   114,    0,    0,  333,  333,    6,    0,    1,    2,    3,    4,    5,   10,   14,   15,   16,   17,  113,  186,    0,    0,    0,    0,   56,   56,   83,   83,  168,  168,    0,    5,   22,   22,   83,    2,    9, 1321, 1785,  6,  6,  9,  9,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 16, 10, 10,  5, 56, 56, 27, 27, 13, 13,  4,  4,  5, 17, 23,  1,  4,  4,  6,  7,  7, {69,85,82},      2,     1,     1,     6,     7,     1,     3,     3 }, // English/Latin/Ireland
     {     75,    66,   115,    0,    0,  333,  333,    6,    0,    1,    2,    3,    4,    5,   10,   14,   15,   16,   17,    0,  186,    0,    0,    0,    0,   56,   56,   83,   83,   82,  203,    0,    5,   22,   94, 1341,    2,    9, 1321, 1792,  6,  6,  9,  9,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 17, 10, 10,  5, 56, 56, 27, 27, 13, 13,  2,  2,  5, 17, 23,  1,  8,  4,  6,  7, 11, {71,66,80},      2,     1,     1,     6,     7,     1,     3,     3 }, // English/Latin/Isle of Man
     {     75,    66,   116,    0,    0,  333,  333,    6,    0,    1,    2,    3,    4,    5,   10,   14,   15,   16,   17,    0,  186,    1,    1,    0,    0,   56,   56,   83,   83,   82,  203,    0,    5,   22,   48, 1410,    2,    9, 1321, 1803,  6,  6,  9,  9,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 17, 10,  9,  4, 56, 56, 27, 27, 13, 13,  2,  2,  5, 17, 23,  1, 18,  4,  6,  7,  6, {73,76,83},      2,     1,     7,     5,     6,     1,     3,     3 }, // English/Latin/Israel
@@ -1628,21 +1628,21 @@ static constexpr QLocaleData locale_data[] = {
     {     76,    27,   193,    0,    0,    0,    0,    6,    0,    1,    2,    3,    4,    5,   10,   14,   15,   16,   17,  163,  103,    0,    0, 5751, 5811, 5892, 5892,   83,   83,    0,    0,    0,    5,   22,  133,    0,   15,    0, 2442, 2453,  6,  6,  6,  6,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 17, 10, 10,  5, 60, 81, 27, 27, 13, 13,  2,  2,  4, 17, 23,  1,  0,  5,  0, 11, 13, {82,85,66},      2,     1,     1,     6,     7,     1,     3,     3 }, // Erzya/Cyrillic/Russia
     {     77,    66,   258,    0,    0,  342,  342,    6,    1,    9,    2,    3,    4,    5,   10,   14,   15,   16,   17,  831,  105,    0,    0, 5919, 5919, 5969, 5969, 5989, 5989,  200,  209,  316,    5,   22,    0,    0,    4,    0, 2466, 2475,  6,  6,  9,  9,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 31,  8, 10,  5, 50, 50, 20, 20, 13, 13,  3,  3,  6, 17, 23,  0,  0,  5,  0,  9,  5,    {0,0,0},      2,     1,     1,     6,     7,     1,     3,     3 }, // Esperanto/Latin/world
     {     78,    66,    75,    0,    0,  351,  351,    6,    1,    9,    2,    3,   48,    5,   63,   13,   14,   18,   16,  404,   49,    0,    0, 6002, 6002, 6064, 6064, 6064, 6064,    0,    0,  322,    5,   22,   22,  405,    4,   20, 2480, 2485,  6,  6,  8,  8,  1,  1,  1,  1,  1,  1,  1,  4,  1,  1,  1,  1, 18,  8, 10,  5, 62, 62, 13, 13, 13, 13,  2,  2,  6, 17, 23,  1,  4,  5,  7,  5,  5, {69,85,82},      2,     1,     1,     6,     7,     2,     3,     3 }, // Estonian/Latin/Estonia
-    {     79,    66,    92,    0,    0,  359,  370,    6,    0,    1,    2,    3,    4,    5,   10,   14,   15,   16,   17,  862,  567,  237,  237, 6077, 6077, 6120, 6120, 6147, 6147,  203,  212,    0,    5,   22,   15, 1990,    2,    9, 2490, 2496,  6,  6, 11, 10,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 23,  6, 17, 12, 43, 43, 27, 27, 13, 13,  3,  5,  4, 17, 23,  3, 10,  4,  6,  6, 12, {71,72,83},      2,     1,     1,     6,     7,     3,     3,     3 }, // Ewe/Latin/Ghana
+    {     79,    66,    92,    0,    0,  359,  370,    6,    0,    1,    2,    3,    4,    5,   10,   14,   15,   16,   17,  862,  567,  225,  225, 6077, 6077, 6120, 6120, 6147, 6147,  203,  212,    0,    5,   22,   15, 1990,    2,    9, 2490, 2496,  6,  6, 11, 10,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 23,  6, 17, 12, 43, 43, 27, 27, 13, 13,  3,  5,  4, 17, 23,  3, 10,  4,  6,  6, 12, {71,72,83},      2,     1,     1,     6,     7,     3,     3,     3 }, // Ewe/Latin/Ghana
     {     79,    66,   233,    0,    0,  359,  370,    6,    0,    1,    2,    3,    4,    5,   10,   14,   15,   16,   17,  862,  567,    0,    0, 6077, 6077, 6120, 6120, 6147, 6147,  203,  212,    0,    5,   22,  127, 2000,    2,    9, 2490, 2508,  6,  6, 11, 10,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 23,  6, 10,  5, 43, 43, 27, 27, 13, 13,  3,  5,  4, 17, 23,  5, 33,  4,  6,  6, 11, {88,79,70},      0,     0,     1,     6,     7,     3,     3,     3 }, // Ewe/Latin/Togo
     {     80,    66,    40,    0,    0,    0,    0,    6,    1,    9,    2,    3,    4,    5,   10,   11,   12,   14,   15,  113,  129,    0,    0, 6160, 6160, 6244, 6244, 6273, 6273,  206,  217,    0,    5,   22,   11, 2033,    4,    0, 2519, 2525,  6,  6,  6,  6,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 16,  8, 10,  5, 84, 84, 29, 29, 13, 13,  7,  9,  4, 17, 23,  4, 16,  5,  0,  6,  7, {88,65,70},      0,     0,     1,     6,     7,     1,     3,     3 }, // Ewondo/Latin/Cameroon
     {     81,    66,    81,    0,    0,  380,  289,    6,    1,    0,    2,    3,   48,    5,   10,   14,   15,   16,   17,  404,   49,    0,    0, 6286, 6286, 6359, 6386, 6420, 6420,    0,    0,  328,    5,   22,  160, 2049,    4,   20, 2532, 2540,  6,  6,  9,  8,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 18,  8, 10,  5, 73, 73, 27, 34, 13, 13,  2,  2,  3, 17, 23,  2, 11,  5,  7,  8,  7, {68,75,75},      2,     0,     1,     6,     7,     1,     3,     3 }, // Faroese/Latin/Faroe Islands
     {     81,    66,    65,    0,    0,  380,  289,    6,    1,    0,    2,    3,   48,    5,   10,   14,   15,   16,   17,  404,   49,    0,    0, 6286, 6286, 6359, 6386, 6420, 6420,    0,    0,  328,    5,   22,  160, 2049,    4,   20, 2532, 1161,  6,  6,  9,  8,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 18,  8, 10,  5, 73, 73, 27, 34, 13, 13,  2,  2,  3, 17, 23,  3, 11,  5,  7,  8,  7, {68,75,75},      2,     0,     1,     6,     7,     1,     3,     3 }, // Faroese/Latin/Denmark
     {     83,    66,   185,    0,    0,  389,  398,    6,    0,    1,    2,    3,    4,    5,   10,   14,   15,   16,   17,  549,  567,   10,   22, 6433, 6433, 6487, 6487, 6487, 6487,    0,    0,    0,    5,   22,  146, 2060,    2,    9, 2547,  826,  6,  6,  9,  8,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 18,  6, 12,  7, 54, 54, 27, 27, 27, 27,  2,  2,  5, 17, 23,  1, 17,  4,  6,  8,  9, {80,72,80},      2,     1,     7,     6,     7,     1,     3,     3 }, // Filipino/Latin/Philippines
-    {     84,    66,    83,    0,    0,  351,  351,    6,    1,    9,    2,    3,   48,    5,   10,   15,   15,   17,   17,  698,  885,  179,  179, 6514, 6580, 6660, 6660, 6680, 6680,  213,  226,  331,  336,  353,   22,  405,    4,    0, 2555, 2560,  6,  6,  8,  8,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 17,  8,  9,  4, 66, 80, 20, 20, 13, 13,  3,  3,  5, 17, 23,  1,  4,  5,  0,  5,  5, {69,85,82},      2,     1,     1,     6,     7,     1,     3,     3 }, // Finnish/Latin/Finland
+    {     84,    66,    83,    0,    0,  351,  351,    6,    1,    9,    2,    3,   48,    5,   10,   15,   15,   17,   17,  698,  885,  167,  167, 6514, 6580, 6660, 6660, 6680, 6680,  213,  226,  331,  336,  353,   22,  405,    4,    0, 2555, 2560,  6,  6,  8,  8,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 17,  8,  9,  4, 66, 80, 20, 20, 13, 13,  3,  3,  5, 17, 23,  1,  4,  5,  0,  5,  5, {69,85,82},      2,     1,     1,     6,     7,     1,     3,     3 }, // Finnish/Latin/Finland
     {     85,    66,    84,    0,    0,  406,  406,    6,    1,   68,    2,    3,    4,    5,   10,   11,   12,   11,   12,  113,  186,    0,    0, 6693, 6693, 6744, 6744, 6778, 6778,    0,    0,  376,  232,  249,   22,  405,    4,   20, 2565, 2573,  6,  6,  8,  8,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 16, 10, 10,  5, 51, 51, 34, 34, 13, 13,  2,  2,  6, 17, 23,  1,  4,  5,  7,  8,  6, {69,85,82},      2,     1,     1,     6,     7,     1,     3,     3 }, // French/Latin/France
     {     85,    66,     4,    0,    0,  406,  406,    6,    1,   68,    2,    3,    4,    5,   10,   11,   12,   11,   12,  113,  186,   10,   22, 6693, 6693, 6744, 6744, 6778, 6778,    0,    0,  376,  232,  249,  209, 2077,    4,   20, 2565, 2579,  6,  6,  8,  8,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 16, 10, 12,  7, 51, 51, 34, 34, 13, 13,  2,  2,  6, 17, 23,  2, 14,  5,  7,  8,  7, {68,90,68},      2,     1,     6,     5,     6,     1,     3,     3 }, // French/Latin/Algeria
-    {     85,    66,    23,    0,    0,  406,  406,    6,    1,   68,    2,    3,    4,    5,   10,   11,   12,   11,   12,  113,   79,  254,    0, 6693, 6693, 6744, 6744, 6778, 6778,    0,    0,  376,  232,  249,   22,  405,    4,   20, 2565, 2586,  6,  6,  8,  8,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 16,  7, 23,  5, 51, 51, 34, 34, 13, 13,  2,  2,  6, 17, 23,  1,  4,  5,  7,  8,  8, {69,85,82},      2,     1,     1,     6,     7,     1,     3,     3 }, // French/Latin/Belgium
+    {     85,    66,    23,    0,    0,  406,  406,    6,    1,   68,    2,    3,    4,    5,   10,   11,   12,   11,   12,  113,   79,  242,    0, 6693, 6693, 6744, 6744, 6778, 6778,    0,    0,  376,  232,  249,   22,  405,    4,   20, 2565, 2586,  6,  6,  8,  8,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 16,  7, 23,  5, 51, 51, 34, 34, 13, 13,  2,  2,  6, 17, 23,  1,  4,  5,  7,  8,  8, {69,85,82},      2,     1,     1,     6,     7,     1,     3,     3 }, // French/Latin/Belgium
     {     85,    66,    25,    0,    0,  406,  406,    6,    1,   68,    2,    3,    4,    5,   10,   11,   12,   11,   12,  113,  186,    0,    0, 6693, 6693, 6744, 6744, 6778, 6778,    0,    0,  376,  232,  249,  127, 2091,    4,   20, 2565, 2594,  6,  6,  8,  8,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 16, 10, 10,  5, 51, 51, 34, 34, 13, 13,  2,  2,  6, 17, 23,  5, 17,  5,  7,  8,  5, {88,79,70},      0,     0,     1,     6,     7,     1,     3,     3 }, // French/Latin/Benin
     {     85,    66,    37,    0,    0,  406,  406,    6,    1,   68,    2,    3,    4,    5,   10,   11,   12,   11,   12,  113,  186,    0,    0, 6693, 6693, 6744, 6744, 6778, 6778,    0,    0,  376,  232,  249,  127, 2091,    4,   20, 2565, 2599,  6,  6,  8,  8,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 16, 10, 10,  5, 51, 51, 34, 34, 13, 13,  2,  2,  6, 17, 23,  5, 17,  5,  7,  8, 12, {88,79,70},      0,     0,     1,     6,     7,     1,     3,     3 }, // French/Latin/Burkina Faso
     {     85,    66,    38,    0,    0,  406,  406,    6,    1,   68,    2,    3,    4,    5,   10,   11,   12,   11,   12,  113,  186,    0,    0, 6693, 6693, 6744, 6744, 6778, 6778,    0,    0,  376,  232,  249,  182, 2108,    4,   20, 2565, 1522,  6,  6,  8,  8,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 16, 10, 10,  5, 51, 51, 34, 34, 13, 13,  2,  2,  6, 17, 23,  3, 15,  5,  7,  8,  7, {66,73,70},      0,     0,     1,     6,     7,     1,     3,     3 }, // French/Latin/Burundi
     {     85,    66,    40,    0,    0,  406,  406,    6,    1,   68,    2,    3,    4,    5,   10,   11,   12,   11,   12,  113,  186,    0,    0, 6693, 6693, 6744, 6744, 6778, 6778,  216,  229,  376,  232,  249,   11, 2123,    4,   20, 2565, 1209,  6,  6,  8,  8,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 16, 10, 10,  5, 51, 51, 34, 34, 13, 13,  5,  4,  6, 17, 23,  4, 16,  5,  7,  8,  8, {88,65,70},      0,     0,     1,     6,     7,     1,     3,     3 }, // French/Latin/Cameroon
-    {     85,    66,    41,    0,    0,  406,  406,    6,    1,    9,    2,    3,    4,    5,   10,   11,   12,   15,   14,  113,  103,  277,  277, 6693, 6693, 6744, 6744, 6778, 6778,  168,  168,  376,  232,  249,   10, 2139,    4,   20, 2611, 1553,  6,  6,  8,  8,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 16, 10, 24,  9, 51, 51, 34, 34, 13, 13,  4,  4,  6, 17, 23,  1, 15,  5,  7, 17,  6, {67,65,68},      2,     0,     7,     6,     7,     1,     3,     3 }, // French/Latin/Canada
+    {     85,    66,    41,    0,    0,  406,  406,    6,    1,    9,    2,    3,    4,    5,   10,   11,   12,   15,   14,  113,  103,  265,  265, 6693, 6693, 6744, 6744, 6778, 6778,  168,  168,  376,  232,  249,   10, 2139,    4,   20, 2611, 1553,  6,  6,  8,  8,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 16, 10, 24,  9, 51, 51, 34, 34, 13, 13,  4,  4,  6, 17, 23,  1, 15,  5,  7, 17,  6, {67,65,68},      2,     0,     7,     6,     7,     1,     3,     3 }, // French/Latin/Canada
     {     85,    66,    46,    0,    0,  406,  406,    6,    1,   68,    2,    3,    4,    5,   10,   11,   12,   11,   12,  113,  186,    0,    0, 6693, 6693, 6744, 6744, 6778, 6778,    0,    0,  376,  232,  249,   11, 2123,    4,   20, 2565, 2628,  6,  6,  8,  8,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 16, 10, 10,  5, 51, 51, 34, 34, 13, 13,  2,  2,  6, 17, 23,  4, 16,  5,  7,  8, 25, {88,65,70},      0,     0,     1,     6,     7,     1,     3,     3 }, // French/Latin/Central African Republic
     {     85,    66,    48,    0,    0,  406,  406,    6,    1,   68,    2,    3,    4,    5,   10,   11,   12,   11,   12,  113,  186,   10,   22, 6693, 6693, 6744, 6744, 6778, 6778,    0,    0,  376,  232,  249,   11, 2123,    4,   20, 2565, 2653,  6,  6,  8,  8,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 16, 10, 12,  7, 51, 51, 34, 34, 13, 13,  2,  2,  6, 17, 23,  4, 16,  5,  7,  8,  5, {88,65,70},      0,     0,     1,     6,     7,     1,     3,     3 }, // French/Latin/Chad
     {     85,    66,    55,    0,    0,  406,  406,    6,    1,   68,    2,    3,    4,    5,   10,   11,   12,   11,   12,  113,  186,    0,    0, 6693, 6693, 6744, 6744, 6778, 6778,    0,    0,  376,  232,  249,   12, 2154,    4,   20, 2565, 2658,  6,  6,  8,  8,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 16, 10, 10,  5, 51, 51, 34, 34, 13, 13,  2,  2,  6, 17, 23,  2, 14,  5,  7,  8,  7, {75,77,70},      0,     0,     1,     6,     7,     1,     3,     3 }, // French/Latin/Comoros
@@ -1675,7 +1675,7 @@ static constexpr QLocaleData locale_data[] = {
     {     85,    66,   200,    0,    0,  406,  406,    6,    1,   68,    2,    3,    4,    5,   10,   11,   12,   11,   12,  113,  186,    0,    0, 6693, 6693, 6744, 6744, 6778, 6778,    0,    0,  376,  232,  249,   22,  405,    4,   20, 2565, 2901,  6,  6,  8,  8,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 16, 10, 10,  5, 51, 51, 34, 34, 13, 13,  2,  2,  6, 17, 23,  1,  4,  5,  7,  8, 24, {69,85,82},      2,     1,     1,     6,     7,     1,     3,     3 }, // French/Latin/Saint Pierre and Miquelon
     {     85,    66,   206,    0,    0,  406,  406,    6,    1,   68,    2,    3,    4,    5,   10,   11,   12,   11,   12,  113,  186,    0,    0, 6693, 6693, 6744, 6744, 6778, 6778,    0,    0,  376,  232,  249,  127, 2091,    4,   20, 2565, 2925,  6,  6,  8,  8,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 16, 10, 10,  5, 51, 51, 34, 34, 13, 13,  2,  2,  6, 17, 23,  5, 17,  5,  7,  8,  7, {88,79,70},      0,     0,     1,     6,     7,     1,     3,     3 }, // French/Latin/Senegal
     {     85,    66,   208,    0,    0,  406,  406,    6,    1,   68,    2,    3,    4,    5,   10,   11,   12,   11,   12,  113,  186,    0,    0, 6693, 6693, 6744, 6744, 6778, 6778,    0,    0,  376,  232,  249,  203, 2318,    4,   20, 2565, 2157,  6,  6,  8,  8,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 16, 10, 10,  5, 51, 51, 34, 34, 13, 13,  2,  2,  6, 17, 23,  2, 21,  5,  7,  8, 10, {83,67,82},      2,     1,     1,     6,     7,     1,     3,     3 }, // French/Latin/Seychelles
-    {     85,    66,   226,    0,    0,  406,  406,    6,    1,   68,    2,    3,    4,    5,   10,   11,   12,   19,   20,    0,   49,  301,    0, 6693, 6693, 6744, 6744, 6778, 6778,    0,    0,  376,  232,  249,    0, 2339,    4,   20, 2932, 2947,  6,  6,  8,  8,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 17,  8, 14,  5, 51, 51, 34, 34, 13, 13,  2,  2,  6, 17, 23,  0, 12,  5,  7, 15,  6, {67,72,70},      2,     0,     1,     6,     7,     1,     3,     3 }, // French/Latin/Switzerland
+    {     85,    66,   226,    0,    0,  406,  406,    6,    1,   68,    2,    3,    4,    5,   10,   11,   12,   19,   20,    0,   49,  289,    0, 6693, 6693, 6744, 6744, 6778, 6778,    0,    0,  376,  232,  249,    0, 2339,    4,   20, 2932, 2947,  6,  6,  8,  8,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 17,  8, 14,  5, 51, 51, 34, 34, 13, 13,  2,  2,  6, 17, 23,  0, 12,  5,  7, 15,  6, {67,72,70},      2,     0,     1,     6,     7,     1,     3,     3 }, // French/Latin/Switzerland
     {     85,    66,   227,    0,    0,  406,  406,    6,    1,   68,    2,    3,    4,    5,   10,   11,   12,   11,   12,  113,  186,   10,   22, 6693, 6693, 6744, 6744, 6778, 6778,    0,    0,  376,  232,  249,  219, 2351,    4,   20, 2565, 2953,  6,  6,  8,  8,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 16, 10, 12,  7, 51, 51, 34, 34, 13, 13,  2,  2,  6, 17, 23,  2, 14,  5,  7,  8,  5, {83,89,80},      0,     0,     6,     5,     6,     1,     3,     3 }, // French/Latin/Syria
     {     85,    66,   233,    0,    0,  406,  406,    6,    1,   68,    2,    3,    4,    5,   10,   11,   12,   11,   12,  113,  186,    0,    0, 6693, 6693, 6744, 6744, 6778, 6778,    0,    0,  376,  232,  249,  127, 2091,    4,   20, 2565, 2508,  6,  6,  8,  8,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 16, 10, 10,  5, 51, 51, 34, 34, 13, 13,  2,  2,  6, 17, 23,  5, 17,  5,  7,  8,  4, {88,79,70},      0,     0,     1,     6,     7,     1,     3,     3 }, // French/Latin/Togo
     {     85,    66,   238,    0,    0,  406,  406,    6,    1,   68,    2,    3,    4,    5,   10,   11,   12,   11,   12,  113,  186,   10,   22, 6693, 6693, 6744, 6744, 6778, 6778,    0,    0,  376,  232,  249,  221, 2365,    4,   20, 2565, 2958,  6,  6,  8,  8,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 16, 10, 12,  7, 51, 51, 34, 34, 13, 13,  2,  2,  6, 17, 23,  2, 14,  5,  7,  8,  7, {84,78,68},      3,     0,     1,     6,     7,     1,     3,     3 }, // French/Latin/Tunisia
@@ -1723,7 +1723,7 @@ static constexpr QLocaleData locale_data[] = {
     {     96,    39,    94,    0,    0,  472,  472,    6,    1,    0,    2,    3,    4,    5,    6,   11,   12,   14,   15,  113,  129,   10,   22, 7791, 7791, 7845, 7845, 7872, 7872,  231,  244,    0,    5,   22,   22, 2877,    4,    0, 3457, 3465,  6,  6,  9,  9,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 16,  6, 12,  7, 54, 54, 27, 27, 13, 13,  4,  4,  4, 17, 23,  1,  4,  5,  0,  8,  6, {69,85,82},      2,     1,     1,     6,     7,     1,     3,     3 }, // Greek/Greek/Greece
     {     96,    39,    63,    0,    0,  472,  472,    6,    1,    0,    2,    3,    4,    5,    6,   11,   12,   14,   15,  113,  129,   10,   22, 7791, 7791, 7845, 7845, 7872, 7872,  231,  244,    0,    5,   22,   22, 2877,    4,    0, 3457, 3471,  6,  6,  9,  9,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 16,  6, 12,  7, 54, 54, 27, 27, 13, 13,  4,  4,  4, 17, 23,  1,  4,  5,  0,  8,  6, {69,85,82},      2,     1,     1,     6,     7,     1,     3,     3 }, // Greek/Greek/Cyprus
     {     97,    66,   183,    0,    0,    0,    0,    6,    1,    0,    2,    3,    4,    5,   10,   14,   15,   16,   17,  163,  103,    0,    0, 7885, 7885, 7885, 7885,   83,   83,    0,    0,    0,    5,   22,  237,    0,   15,    0, 3477, 3484,  6,  6,  6,  6,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 17, 10, 10,  5, 53, 53, 53, 53, 13, 13,  2,  2,  4, 17, 23,  1,  0,  5,  0,  7,  8, {80,89,71},      0,     0,     7,     6,     7,     1,     3,     3 }, // Guarani/Latin/Paraguay
-    {     98,    40,   110,    0,    0,  481,  481,    6,    0,    1,    2,    3,    4,    5,   10,   14,   15,   16,   17,  265,  129,  315,  328, 7938, 7938, 7990, 7990, 8021, 8021,    0,    0,  466,    5,   22,  120, 2881,    2,    9, 3492, 3499,  6,  6,  9,  9,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 18,  6, 13,  8, 52, 52, 31, 31, 18, 18,  2,  2,  4, 17, 23,  1, 13,  4,  6,  7,  4, {73,78,82},      2,     1,     7,     7,     7,     1,     2,     3 }, // Gujarati/Gujarati/India
+    {     98,    40,   110,    0,    0,  481,  481,    6,    0,    1,    2,    3,    4,    5,   10,   14,   15,   16,   17,  265,  129,  303,  316, 7938, 7938, 7990, 7990, 8021, 8021,    0,    0,  466,    5,   22,  120, 2881,    2,    9, 3492, 3499,  6,  6,  9,  9,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 18,  6, 13,  8, 52, 52, 31, 31, 18, 18,  2,  2,  4, 17, 23,  1, 13,  4,  6,  7,  4, {73,78,82},      2,     1,     7,     7,     7,     1,     2,     3 }, // Gujarati/Gujarati/India
     {     99,    66,   124,    0,    0,    0,    0,    6,    0,    1,    2,    3,    4,    5,   10,   14,   15,   16,   17,    0,  186,    0,    0, 8039, 8039, 8100, 8100, 8127, 8127,  235,  248,    0,    5,   22,  176,  991,    2,    9, 3503, 1307,  6,  6,  6,  6,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 17, 10, 10,  5, 61, 61, 27, 27, 13, 13,  6,  3,  4, 17, 23,  3, 17,  4,  6,  8,  5, {75,69,83},      2,     1,     7,     6,     7,     1,     3,     3 }, // Gusii/Latin/Kenya
     {    101,    66,   169,    0,    0,  490,  499,    6,    0,    1,    2,    3,    4,    5,   10,   14,   15,   16,   17,  804,  129,    0,    0, 8140, 8140, 8191, 8191, 8218, 8218,  241,  251,    0,  470,  511,  124, 2894,   15,    0, 3511, 3259,  6,  6,  9,  8,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 17,  6, 10,  5, 51, 51, 27, 27, 13, 13,  6,  5,  5, 41, 47,  1, 15,  5,  0,  5,  8, {78,71,78},      2,     1,     1,     6,     7,     1,     3,     3 }, // Hausa/Latin/Nigeria
     {    101,     4,   169,    0,    0,    0,    0,    6,    0,    1,    2,    3,    4,    5,   10,   14,   15,   16,   17,  163,  103,    0,    0, 8231, 8231, 8287, 8287,   83,   83,    0,    0,    0,    5,   22,  124, 2909,   15,    0,    0,    0,  6,  6,  6,  6,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 17, 10, 10,  5, 56, 56, 30, 30, 13, 13,  2,  2,  4, 17, 23,  1,  6,  5,  0,  0,  0, {78,71,78},      2,     1,     1,     6,     7,     1,     3,     3 }, // Hausa/Arabic/Nigeria
@@ -1738,8 +1738,8 @@ static constexpr QLocaleData locale_data[] = {
     {    108,    66,   109,    0,    0,  289,  289,    6,    1,    0,    2,    3,    4,    5,   10,   13,   14,   18,   16,  404,  885,    0,    0, 8833, 8833, 8913, 8913, 8947, 8947,  256,  264,  570,    5,   22,  160, 2989,    4,    0, 3601, 3609,  6,  6,  8,  8,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 18,  8, 10,  5, 80, 80, 34, 34, 13, 13,  4,  4,  4, 17, 23,  3, 13,  5,  0,  8,  6, {73,83,75},      0,     0,     1,     6,     7,     1,     3,     3 }, // Icelandic/Latin/Iceland
     {    109,    66,   258,    0,    0,    0,    0,    6,    0,    1,    2,    3,    4,    5,   10,   14,   15,   16,   17,  163,  103,    0,    0,   56,   56,   56,   56,   83,   83,    0,    0,    0,    5,   22,    0,    0,   15,    0, 3615,    0,  6,  6,  6,  6,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 17, 10, 10,  5, 27, 27, 27, 27, 13, 13,  2,  2,  4, 17, 23,  0,  0,  5,  0,  3,  0,    {0,0,0},      2,     1,     1,     6,     7,     1,     3,     3 }, // Ido/Latin/world
     {    110,    66,   169,    0,    0,  557,  566,    6,    0,    1,    2,    3,    4,    5,   10,   14,   15,   16,   17,    0,  129,    0,    0, 8960, 8960, 9013, 9013,   83,   83,  260,  268,    0,    5,   22,  124, 3002,    2,    9, 3618, 3622,  6,  6,  9,  8,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 17,  6, 10,  5, 53, 53, 28, 28, 13, 13,  7,  7,  4, 17, 23,  1,  5,  4,  6,  4,  8, {78,71,78},      2,     1,     1,     6,     7,     1,     3,     3 }, // Igbo/Latin/Nigeria
-    {    111,    66,    83,    0,    0,    0,    0,    6,    1,    9,    2,    3,    4,    5,   10,   14,   15,   16,   17, 1077,  885,  179,  179, 9041, 9110, 9182, 9182,   83, 9209,  267,  275,    0,    5,   22,   22,  405,    4,    0, 3630, 3641,  6,  6,  6,  6,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 18,  8,  9,  4, 69, 72, 27, 27, 13, 13,  3,  3,  4, 17, 23,  1,  4,  5,  0, 11,  5, {69,85,82},      2,     1,     1,     6,     7,     1,     3,     3 }, // Inari Sami/Latin/Finland
-    {    112,    66,   111,    0,    0,  574,  584,    6,    1,    0,    2,    3,    4,    5,   10,   14,   15,   16,   17,  786,   78,  178,  178, 9222, 9222, 9264, 9264, 9291, 9291,    0,    0,    0,    5,   22,  186, 3007,    2,    0, 1776, 1776,  6,  6, 10,  9,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 18,  8, 10,  5, 42, 42, 27, 27, 13, 13,  2,  2,  4, 17, 23,  2, 16,  4,  0,  9,  9, {73,68,82},      2,     0,     7,     6,     7,     1,     3,     3 }, // Indonesian/Latin/Indonesia
+    {    111,    66,    83,    0,    0,    0,    0,    6,    1,    9,    2,    3,    4,    5,   10,   14,   15,   16,   17, 1077,  885,  167,  167, 9041, 9110, 9182, 9182,   83, 9209,  267,  275,    0,    5,   22,   22,  405,    4,    0, 3630, 3641,  6,  6,  6,  6,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 18,  8,  9,  4, 69, 72, 27, 27, 13, 13,  3,  3,  4, 17, 23,  1,  4,  5,  0, 11,  5, {69,85,82},      2,     1,     1,     6,     7,     1,     3,     3 }, // Inari Sami/Latin/Finland
+    {    112,    66,   111,    0,    0,  574,  584,    6,    1,    0,    2,    3,    4,    5,   10,   14,   15,   16,   17,  786,   78,  166,  166, 9222, 9222, 9264, 9264, 9291, 9291,    0,    0,    0,    5,   22,  186, 3007,    2,    0, 1776, 1776,  6,  6, 10,  9,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 18,  8, 10,  5, 42, 42, 27, 27, 13, 13,  2,  2,  4, 17, 23,  2, 16,  4,  0,  9,  9, {73,68,82},      2,     0,     7,     6,     7,     1,     3,     3 }, // Indonesian/Latin/Indonesia
     {    114,    66,   258,    0,    0,  414,  414,    6,    1,    0,    2,    3,    4,    5,   10,   16,   17,   14,   15, 1095,  394,    0,    0, 9304, 9304, 9360, 9360, 9387, 9387,    0,    0,    0,    5,   22,    0,    0,   15,   58, 3646, 3657,  6,  6,  7,  7,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 26, 10, 10,  5, 56, 56, 27, 27, 13, 13,  2,  2,  5, 17, 23,  0,  0,  5,  7, 11,  5,    {0,0,0},      2,     1,     1,     6,     7,     2,     3,     3 }, // Interlingua/Latin/world
     {    115,    66,    75,    0,    0,    0,  414,    6,    1,    9,    2,    3,    4,    5,   10,   11,   12,   14,   15,  113,  180,    0,    0, 9400, 9400, 9451, 9451, 9485, 9485,  270,  278,  574,  232,  249,   22,  405,   15,   86, 3662, 3673,  6,  6,  6,  7,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 16,  6, 10,  5, 51, 51, 34, 34, 13, 13,  9,  8,  7, 17, 23,  1,  4,  5,  6, 11,  7, {69,85,82},      2,     1,     1,     6,     7,     2,     3,     3 }, // Interlingue/Latin/Estonia
     {    116,    18,    41,    0,    0,    0,    0,    6,    0,    1,    2,    3,    4,    5,   10,   14,   15,   16,   17,  549, 1121,   42,   54, 9498, 9498, 9498, 9498,   83,   83,    0,    0,    0,    5,   22,  240,    0,   15,    0, 3680, 3686,  6,  6,  6,  6,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 18, 10, 12,  7, 54, 54, 54, 54, 13, 13,  2,  2,  4, 17, 23,  3,  0,  5,  0,  6,  4, {67,65,68},      2,     0,     7,     6,     7,     1,     3,     3 }, // Inuktitut/Canadian Aboriginal/Canada
@@ -1750,17 +1750,17 @@ static constexpr QLocaleData locale_data[] = {
     {    119,    66,   203,    0,    0,  414,  414,    6,    1,    0,    2,    3,    4,    5,   10,   11,   12,   14,   15,  113,   78,    0,    0, 9675, 9675, 9731, 9731, 4694, 4694,    0,    0,    0,    5,   22,   22,  405,    4,    0, 3720, 3734,  6,  6,  7,  7,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 16,  8, 10,  5, 56, 56, 27, 27, 13, 13,  2,  2,  4, 17, 23,  1,  4,  5,  0,  8, 10, {69,85,82},      2,     1,     1,     6,     7,     1,     3,     3 }, // Italian/Latin/San Marino
     {    119,    66,   226,    0,    0,  414,  414,    6,    0,   17,    2,    3,    4,    5,   10,   11,   12,   19,   20,    0,   49,    0,    0, 9675, 9675, 9731, 9731, 4694, 4694,    0,    0,    0,    5,   22,    0, 3037,   15,   65, 3720, 3744,  6,  6,  7,  7,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 17,  8, 10,  5, 56, 56, 27, 27, 13, 13,  2,  2,  4, 17, 23,  0, 15,  5,  5,  8,  8, {67,72,70},      2,     0,     1,     6,     7,     1,     3,     3 }, // Italian/Latin/Switzerland
     {    119,    66,   253,    0,    0,  414,  414,    6,    1,    0,    2,    3,    4,    5,   10,   11,   12,   14,   15,  113,   78,    0,    0, 9675, 9675, 9731, 9731, 4694, 4694,    0,    0,    0,    5,   22,   22,  405,    4,    0, 3720, 3752,  6,  6,  7,  7,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 16,  8, 10,  5, 56, 56, 27, 27, 13, 13,  2,  2,  4, 17, 23,  1,  4,  5,  0,  8, 18, {69,85,82},      2,     1,     1,     6,     7,     1,     3,     3 }, // Italian/Latin/Vatican City
-    {    120,    53,   120,  183,  183,  183,  183,    6,    0,    1,    2,    3,    4,    5,   10,   51,   52,   53,   54,  513,  821,  336,    1, 9758, 9758, 9785, 9785, 9785, 9785,  283,  290,  587,  590,   22,  145, 3052,    2,    9, 3770, 3770,  5,  5,  5,  5,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 13, 10, 10,  4, 27, 27, 13, 13, 13, 13,  2,  2,  3, 17, 23,  1,  3,  4,  6,  3,  2, {74,80,89},      0,     0,     7,     6,     7,     1,     3,     3 }, // Japanese/Japanese/Japan
+    {    120,    53,   120,  183,  183,  183,  183,    6,    0,    1,    2,    3,    4,    5,   10,   51,   52,   53,   54,  513,  821,  324,    1, 9758, 9758, 9785, 9785, 9785, 9785,  283,  290,  587,  590,   22,  145, 3052,    2,    9, 3770, 3770,  5,  5,  5,  5,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 13, 10, 10,  4, 27, 27, 13, 13, 13, 13,  2,  2,  3, 17, 23,  1,  3,  4,  6,  3,  2, {74,80,89},      0,     0,     7,     6,     7,     1,     3,     3 }, // Japanese/Japanese/Japan
     {    121,    66,   111,    0,    0,  593,  603,    6,    1,    0,    2,    3,    4,    5,   10,   14,   15,   16,   17,    0,  394,    0,    0, 9798, 9798, 9838, 9838, 9866, 9866,  285,  292,  607,    5,   22,  186, 3007,   15,    0, 3773, 3777,  6,  6, 10,  9,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 17, 10, 10,  5, 40, 40, 28, 28, 13, 13,  4,  5,  4, 17, 23,  2, 16,  5,  0,  4,  9, {73,68,82},      2,     0,     7,     6,     7,     1,     3,     3 }, // Javanese/Latin/Indonesia
     {    122,    66,   169,    0,    0,    0,    0,    6,    0,    1,    2,    3,    4,    5,   10,   14,   15,   16,   17,  137,  155,    0,    0, 9879, 9879, 9922, 9922,   83,   83,    0,    0,    0,    5,   22,  124, 3055,   15,    0, 3786,    0,  6,  6,  6,  6,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 18,  8, 10,  5, 43, 43, 27, 27, 13, 13,  2,  2,  4, 17, 23,  1,  7,  5,  0,  4,  0, {78,71,78},      2,     1,     1,     6,     7,     1,     3,     3 }, // Jju/Latin/Nigeria
     {    123,    66,   206,    0,    0,    0,    0,    6,    1,    9,    2,    3,    4,    5,   10,   11,   12,   14,   15,  113,  129,    0,    0, 9949, 9949, 9998, 9998,10025,10025,    0,    0,    0,    5,   22,  127, 3062,    4,    0, 3790, 3795,  6,  6,  6,  6,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 16,  8, 10,  5, 49, 49, 27, 27, 13, 13,  2,  2,  4, 17, 23,  5, 16,  5,  0,  5,  7, {88,79,70},      0,     0,     1,     6,     7,     1,     3,     3 }, // Jola-Fonyi/Latin/Senegal
     {    124,    66,    43,    0,    0,  143,  143,    6,    1,    9,    2,    3,    4,    5,   10,   14,   15,   16,   17, 1131,  186,    0,    0,10038,10038,10110,10110,10137,10137,   82,  203,    0,    5,   22,  243, 3078,    4,   20, 3802, 3814,  6,  6,  7,  7,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 27, 10, 10,  5, 72, 72, 27, 27, 13, 13,  2,  2,  4, 17, 23,  1, 18,  5,  7, 12, 10, {67,86,69},      2,     1,     1,     6,     7,     1,     3,     3 }, // Kabuverdianu/Latin/Cape Verde
     {    125,    66,     4,    0,    0,  612,  620,    6,    1,    9,    2,    3,    4,    5,   10,   11,   12,   14,   15,  113,  129,   10,   22,10150,10183,10233,10260,10289,10302,  289,  297,  611,  618,   22,  209, 3096,    0,    0, 3824, 3833,  6,  6,  8,  7,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 16,  8, 12,  7, 33, 50, 27, 29, 13, 13,  7,  9,  7, 21, 23,  2, 14,  4,  0,  9,  8, {68,90,68},      2,     1,     6,     5,     6,     1,     3,     3 }, // Kabyle/Latin/Algeria
     {    126,    66,    40,    0,    0,    0,    0,    6,    1,    0,    2,    3,    4,    5,   10,   11,   12,   19,   20,   86, 1158,    0,    0,10315,10315,10315,10315,10368,10368,    0,    0,    0,    5,   22,   11, 3110,   15,    0, 3841, 3845,  6,  6,  6,  6,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 17, 10, 10,  5, 53, 53, 53, 53, 20, 20,  2,  2,  4, 17, 23,  4,  9,  5,  0,  4,  7, {88,65,70},      0,     0,     1,     6,     7,     1,     3,     3 }, // Kako/Latin/Cameroon
-    {    127,    66,    95,    0,    0,  627,  627,    6,    1,    0,    2,    3,   48,    5,   63,   12,   11,   20,   19,   86,  103,  178,  178,10388,10388,10485,10485,10512,10512,    0,    0,    0,    5,   22,  160, 3119,    2,   92, 3852, 3863,  6,  6, 11, 11,  1,  1,  1,  1,  1,  1,  1,  4,  1,  1,  1,  1, 17, 10, 10,  5, 97, 97, 27, 27, 13, 13,  2,  2,  4, 17, 23,  3, 19,  4,  5, 11, 16, {68,75,75},      2,     0,     1,     6,     7,     1,     3,     3 }, // Kalaallisut/Latin/Greenland
+    {    127,    66,    95,    0,    0,  627,  627,    6,    1,    0,    2,    3,   48,    5,   63,   12,   11,   20,   19,   86,  103,  166,  166,10388,10388,10485,10485,10512,10512,    0,    0,    0,    5,   22,  160, 3119,    2,   92, 3852, 3863,  6,  6, 11, 11,  1,  1,  1,  1,  1,  1,  1,  4,  1,  1,  1,  1, 17, 10, 10,  5, 97, 97, 27, 27, 13, 13,  2,  2,  4, 17, 23,  3, 19,  4,  5, 11, 16, {68,75,75},      2,     0,     1,     6,     7,     1,     3,     3 }, // Kalaallisut/Latin/Greenland
     {    128,    66,   124,    0,    0,    0,    0,    6,    0,    1,    2,    3,    4,    5,   10,   14,   15,   16,   17,    0,  186,    0,    0,10525,10525,10577,10577,10604,10604,  296,  306,    0,    5,   22,  176, 3138,    2,    9, 3879, 3887,  6,  6,  6,  6,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 17, 10, 10,  5, 52, 52, 27, 27, 13, 13,  6, 10,  4, 17, 23,  3, 19,  4,  6,  8, 12, {75,69,83},      2,     1,     7,     6,     7,     1,     3,     3 }, // Kalenjin/Latin/Kenya
     {    129,    66,   124,    0,    0,    0,    0,    6,    0,    1,    2,    3,    4,    5,   10,   14,   15,   16,   17,    0,  186,    0,    0,10617,10617,10690,10690,10717,10717,  302,  316,    0,    5,   22,  176, 3157,    2,    9, 3899, 1307,  6,  6,  6,  6,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 17, 10, 10,  5, 73, 73, 27, 27, 13, 13,  9,  7,  4, 17, 23,  3, 16,  4,  6,  7,  5, {75,69,83},      2,     1,     7,     6,     7,     1,     3,     3 }, // Kamba/Latin/Kenya
-    {    130,    56,   110,    0,    0,  638,  650,    6,    0,    1,    2,    3,    4,    5,   10,   14,   15,   16,   17,  549,  129,  315,  328,10730,10730,10783,10783,10815,10815,  311,  323,  639,  647,   22,  120, 3173,    2,    9, 3906, 3911,  6,  6, 12, 11,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 18,  6, 13,  8, 53, 53, 32, 32, 19, 19,  9,  7,  8, 35, 23,  1, 13,  4,  6,  5,  4, {73,78,82},      2,     1,     7,     7,     7,     1,     3,     3 }, // Kannada/Kannada/India
+    {    130,    56,   110,    0,    0,  638,  650,    6,    0,    1,    2,    3,    4,    5,   10,   14,   15,   16,   17,  549,  129,  303,  316,10730,10730,10783,10783,10815,10815,  311,  323,  639,  647,   22,  120, 3173,    2,    9, 3906, 3911,  6,  6, 12, 11,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 18,  6, 13,  8, 53, 53, 32, 32, 19, 19,  9,  7,  8, 35, 23,  1, 13,  4,  6,  5,  4, {73,78,82},      2,     1,     7,     7,     7,     1,     3,     3 }, // Kannada/Kannada/India
     {    132,     4,   110,  661,  661,  667,  677,   67,   21,   22,   23,   40,   35,   41,   44,   14,   15,   16,   17,  549,  567,   42,   54,10834,10834,10885,10885,10934,10934,  320,  330,    0,    5,   22,  120, 3186,    2,    0, 3915, 3920,  6,  6, 10,  9,  1,  1,  1,  1,  1,  3,  3,  4,  1,  1,  1,  1, 18,  6, 12,  7, 51, 51, 49, 49, 13, 13,  6,  6,  4, 17, 23,  1, 16,  4,  0,  5,  9, {73,78,82},      2,     1,     7,     7,     7,     1,     3,     3 }, // Kashmiri/Arabic/India
     {    132,    29,   110,    0,    0,  686,  695,    6,    0,    1,    2,    3,    4,    5,   10,   14,   15,   16,   17,    0,  129,   96,   96,10947,10996,10947,11045,11092,11092,  326,  336,    0,    5,   22,  120, 3202,   15,    0, 3929, 3934,  6,  6,  9,  8,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 17,  6, 12,  7, 49, 49, 49, 47, 13, 13,  5,  5,  4, 17, 23,  1, 11,  5,  0,  5, 10, {73,78,82},      2,     1,     7,     7,     7,     1,     3,     3 }, // Kashmiri/Devanagari/India
     {    133,    27,   123,    0,    0,    0,  703,    6,    1,    9,    2,    3,    4,    5,   10,   11,   12,   14,   15, 1168,   49,    0,    0,11105,11105,11160,11160,11180,11180,    0,    0,  196,  682,  699,  244, 3213,    4,    0, 3944, 3954,  6,  6,  6, 10,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 22,  8, 10,  5, 55, 55, 20, 20, 13, 13,  2,  2,  4, 17, 23,  1, 17,  5,  0, 10,  9, {75,90,84},      2,     1,     1,     6,     7,     1,     3,     3 }, // Kazakh/Cyrillic/Kazakhstan
@@ -1770,9 +1770,9 @@ static constexpr QLocaleData locale_data[] = {
     {    137,    66,   124,    0,    0,    0,    0,    6,    0,    1,    2,    3,    4,    5,   10,   14,   15,   16,   17,    0,  186,    0,    0,11336,11336,11398,11398,11425,11425,  331,  341,    0,    5,   22,  176, 3241,    2,    9, 3988, 1307,  6,  6,  6,  6,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 17, 10, 10,  5, 62, 62, 27, 27, 13, 13,  6,  8,  4, 17, 23,  3, 16,  4,  6,  6,  5, {75,69,83},      2,     1,     7,     6,     7,     1,     3,     3 }, // Kikuyu/Latin/Kenya
     {    138,    66,   194,    0,    0,    0,    0,    6,    1,    0,    2,    3,    4,    5,   10,   11,   12,   16,   17,  163,  103,    0,    0,11438,11438,11521,11521,   83,   83,    0,    0,    0,    5,   22,  198,    0,   15,    0, 3994, 4005,  6,  6,  6,  6,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 17, 10, 10,  5, 83, 83, 34, 34, 13, 13,  2,  2,  4, 17, 23,  2,  0,  5,  0, 11,  8, {82,87,70},      0,     0,     1,     6,     7,     1,     3,     3 }, // Kinyarwanda/Latin/Rwanda
     {    141,    29,   110,    0,    0,    0,    0,    6,    0,    1,    2,    3,    4,    5,   10,   14,   15,   16,   17,  113,  283,   42,   54,11555,11555,11555,11555,11605,11623,  337,  349,  724,    5,   22,  120, 2964,    2,    9, 4013,  664,  6,  6,  6,  6,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 16,  6, 12,  7, 50, 50, 50, 50, 18, 19,  4,  4,  4, 17, 23,  1, 12,  4,  6,  6,  4, {73,78,82},      2,     1,     7,     7,     7,     1,     3,     3 }, // Konkani/Devanagari/India
-    {    142,    63,   218,    0,    0,  731,  731,    6,    0,    1,    2,    3,    4,    5,   10,   14,   15,   16,   17, 1190, 1208,  346,   96,11642,11642,11669,11669,11669,11669,  341,  353,  728,    5,   22,  247, 3257,    2,    9, 4019, 4022,  6,  6,  7,  7,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 18,  9, 13,  7, 27, 27, 13, 13, 13, 13,  2,  2,  3, 17, 23,  1,  6,  4,  6,  3,  4, {75,82,87},      0,     0,     7,     6,     7,     1,     3,     3 }, // Korean/Korean/South Korea
+    {    142,    63,   218,    0,    0,  731,  731,    6,    0,    1,    2,    3,    4,    5,   10,   14,   15,   16,   17, 1190, 1208,  334,   96,11642,11642,11669,11669,11669,11669,  341,  353,  728,    5,   22,  247, 3257,    2,    9, 4019, 4022,  6,  6,  7,  7,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 18,  9, 13,  7, 27, 27, 13, 13, 13, 13,  2,  2,  3, 17, 23,  1,  6,  4,  6,  3,  4, {75,82,87},      0,     0,     7,     6,     7,     1,     3,     3 }, // Korean/Korean/South Korea
     {    142,    63,    50,    0,    0,  731,  731,    6,    0,    1,    2,    3,    4,    5,   10,   14,   15,   16,   17, 1190, 1208,  132,    0,11642,11642,11669,11669,11669,11669,  341,  353,  728,    5,   22,  248, 3263,    2,    9, 4019, 4026,  6,  6,  7,  7,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 18,  9, 10,  5, 27, 27, 13, 13, 13, 13,  2,  2,  3, 17, 23,  3,  6,  4,  6,  3,  2, {67,78,89},      2,     1,     1,     6,     7,     1,     3,     3 }, // Korean/Korean/China
-    {    142,    63,   174,    0,    0,  731,  731,    6,    0,    1,    2,    3,    4,    5,   10,   14,   15,   16,   17, 1190, 1208,  346,   96,11642,11642,11669,11669,11669,11669,  341,  353,  728,    5,   22,  247, 3269,    2,    9, 4019, 4028,  6,  6,  7,  7,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 18,  9, 13,  7, 27, 27, 13, 13, 13, 13,  2,  2,  3, 17, 23,  1, 16,  4,  6,  3, 11, {75,80,87},      0,     0,     1,     6,     7,     1,     3,     3 }, // Korean/Korean/North Korea
+    {    142,    63,   174,    0,    0,  731,  731,    6,    0,    1,    2,    3,    4,    5,   10,   14,   15,   16,   17, 1190, 1208,  334,   96,11642,11642,11669,11669,11669,11669,  341,  353,  728,    5,   22,  247, 3269,    2,    9, 4019, 4028,  6,  6,  7,  7,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 18,  9, 13,  7, 27, 27, 13, 13, 13, 13,  2,  2,  3, 17, 23,  1, 16,  4,  6,  3, 11, {75,80,87},      0,     0,     1,     6,     7,     1,     3,     3 }, // Korean/Korean/North Korea
     {    144,    66,   145,    0,    0,    0,    0,    6,    0,    9,    2,    3,    4,    5,   10,   14,   15,   16,   17,  113,  129,    0,    0,11682,11682,11735,11735,11762,11762,  343,  355,    0,    5,   22,  127, 3285,    0,    0, 4039, 4054,  6,  6,  6,  6,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 16,  8, 10,  5, 53, 53, 27, 27, 13, 13,  6,  6,  4, 17, 23,  5, 16,  4,  0, 15,  5, {88,79,70},      0,     0,     1,     6,     7,     1,     3,     3 }, // Koyraboro Senni/Latin/Mali
     {    145,    66,   145,    0,    0,    0,    0,    6,    0,    9,    2,    3,    4,    5,   10,   14,   15,   16,   17,  113,  129,    0,    0,11775,11775,11827,11827,11762,11762,  343,  355,    0,    5,   22,  127, 3285,    0,    0, 4059, 4054,  6,  6,  6,  6,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 16,  8, 10,  5, 52, 52, 27, 27, 13, 13,  6,  6,  4, 17, 23,  5, 16,  4,  0, 11,  5, {88,79,70},      0,     0,     1,     6,     7,     1,     3,     3 }, // Koyra Chiini/Latin/Mali
     {    146,    66,   134,    0,    0,    0,    0,    6,    0,    1,    2,    3,    4,    5,   10,   14,   15,   16,   17,  163,  103,   10,   22,   56,   56,   56,   56,   83,   83,    0,    0,    0,    5,   22,   10,    0,   15,    0, 4070,    0,  6,  6,  6,  6,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 17, 10, 12,  7, 27, 27, 27, 27, 13, 13,  2,  2,  4, 17, 23,  1,  0,  5,  0,  6,  0, {76,82,68},      2,     1,     1,     6,     7,     1,     3,     3 }, // Kpelle/Latin/Liberia
@@ -1782,7 +1782,7 @@ static constexpr QLocaleData locale_data[] = {
     {    150,    27,   128,    0,    0,  745,  745,    6,    1,    9,    2,    3,    4,    5,   10,   11,   12,   13,   14, 1244,  129,    0,    0,12066,12066,12122,12122,12159,12159,  355,  367,  196,  731,   22,  251, 3326,    4,    0, 4112, 4120,  6,  6, 10, 10,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 23,  6, 10,  5, 56, 56, 37, 37, 13, 13,  5, 14,  4, 18, 23,  3, 15,  5,  0,  8, 10, {75,71,83},      2,     1,     1,     6,     7,     1,     3,     3 }, // Kyrgyz/Cyrillic/Kyrgyzstan
     {    151,    66,   248,    0,    0,    0,    0,    6,    0,    1,    2,    3,    4,    5,   10,   14,   15,   16,   17,  549,  567,   10,   22,12172,12172,12172,12172,   83,12258,    0,    0,    0,    5,   22,   10,    0,   15,    0, 4130, 4142,  6,  6,  6,  6,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 18,  6, 12,  7, 86, 86, 86, 86, 13, 13,  2,  2,  4, 17, 23,  1,  0,  5,  0, 12, 22, {85,83,68},      2,     1,     7,     6,     7,     1,     3,     3 }, // Lakota/Latin/United States
     {    152,    66,   230,    0,    0,    0,    0,    6,    0,    1,    2,    3,    4,    5,   10,   15,   15,   17,   17,    0,  186,    0,    0,12271,12271,12333,12333,12368,12368,  360,  381,    0,    5,   22,  121, 3341,   15,    0, 4164, 4172,  6,  6,  6,  6,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 17, 10, 10,  5, 62, 62, 35, 35, 13, 13,  3,  3,  4, 17, 23,  3, 22,  5,  0,  8,  9, {84,90,83},      2,     0,     1,     6,     7,     1,     3,     3 }, // Langi/Latin/Tanzania
-    {    153,    65,   129,    0,    0,    0,  755,    6,    1,    0,    2,    3,    4,    5,   10,   14,   15,   16,   17, 1267,  129,  359,    1,12381,12381,12437,12437,12472,12472,  363,  384,    0,    5,   22,  254, 3363,    2,   65, 4181, 4181,  6,  6,  6,  9,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 19,  8, 24,  4, 56, 56, 35, 35, 16, 16,  8,  8,  4, 17, 23,  1,  7,  4,  5,  3,  3, {76,65,75},      0,     0,     7,     6,     7,     1,     3,     3 }, // Lao/Lao/Laos
+    {    153,    65,   129,    0,    0,    0,  755,    6,    1,    0,    2,    3,    4,    5,   10,   14,   15,   16,   17, 1267,  129,  347,    1,12381,12381,12437,12437,12472,12472,  363,  384,    0,    5,   22,  254, 3363,    2,   65, 4181, 4181,  6,  6,  6,  9,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 19,  8, 24,  4, 56, 56, 35, 35, 16, 16,  8,  8,  4, 17, 23,  1,  7,  4,  5,  3,  3, {76,65,75},      0,     0,     7,     6,     7,     1,     3,     3 }, // Lao/Lao/Laos
     {    154,    66,   253,    0,    0,  406,  406,    6,    1,    9,    2,    3,    4,    5,   10,   14,   15,   16,   17, 1286, 1309,    0,    0,12488,12488,12572,12572,   83,   83,    0,    0,    0,    5,   22,   22,   83,   15,    0, 4184, 4190,  6,  6,  8,  8,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 23,  8, 10,  5, 84, 84, 27, 27, 13, 13,  2,  2,  4, 17, 23,  1,  4,  5,  0,  6, 16, {69,85,82},      2,     1,     1,     6,     7,     1,     3,     3 }, // Latin/Latin/Vatican City
     {    155,    66,   131,    0,    0,  267,  267,    6,    1,    9,    2,    3,    4,    5,   10,   14,   15,   16,   17, 1317,   49,    0,    0,12599,12670,12741,12791,12841,12841,  371,  392,  749,    5,   22,   22, 3370,    4,    0, 4206, 4214,  6,  6,  8,  8,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 26,  8, 10,  5, 71, 71, 50, 50, 13, 13, 14, 11,  5, 17, 23,  1,  4,  5,  0,  8,  7, {69,85,82},      2,     1,     1,     6,     7,     2,     3,     3 }, // Latvian/Latin/Latvia
     {    158,    66,    57,    0,    0,  764,  764,    6,    1,    0,    2,    3,    4,    5,   10,   14,   15,   16,   17,  113,  129,    0,    0,12854,12854,12953,12953,12980,12980,  385,  403,    0,    5,   22,   11, 3374,    4,    0, 4221, 4228,  6,  6,  9,  9,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 16,  8, 10,  5, 99, 99, 27, 27, 13, 13,  8,  6,  4, 17, 23,  2, 16,  5,  0,  7, 30, {67,68,70},      2,     1,     1,     6,     7,     1,     3,     3 }, // Lingala/Latin/Congo - Kinshasa
@@ -1792,8 +1792,8 @@ static constexpr QLocaleData locale_data[] = {
     {    160,    66,   137,    0,    0,  773,  773,    6,    1,    9,    2,    3,   48,    5,   63,   13,   14,   13,   14, 1343,  103,    0,    0,12993,12993,13081,13081,13101,13101,  393,  409,  754,    5,   22,   22, 3422,    4,    0, 4295, 4303,  6,  6,  8,  8,  1,  1,  1,  1,  1,  1,  1,  4,  1,  1,  1,  1, 27, 10, 10,  5, 88, 88, 20, 20, 13, 13,  9,  6,  6, 17, 23,  1,  5,  5,  0,  8,  7, {69,85,82},      2,     1,     1,     6,     7,     1,     3,     3 }, // Lithuanian/Latin/Lithuania
     {    161,    66,   258,    0,    0,    0,    0,    6,    0,    1,    2,    3,    4,    5,   10,   14,   15,   16,   17,  163,  103,    0,    0,   56,   56,   56,   56,   83,   83,    0,    0,    0,    5,   22,    0,    0,   15,    0, 4310,    0,  6,  6,  6,  6,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 17, 10, 10,  5, 27, 27, 27, 27, 13, 13,  2,  2,  4, 17, 23,  0,  0,  5,  0, 11,  0,    {0,0,0},      2,     1,     1,     6,     7,     1,     3,     3 }, // Lojban/Latin/world
     {    162,    66,    91,    0,    0,  781,  781,    6,    1,    0,    2,    3,    4,    5,   10,   13,   14,   18,   16,  404,  180,    1,    1,13114,13114,13166,13166,13193,13193,  402,  415,    0,    5,   22,   22,  405,    4,    0, 4321, 4335,  6,  6,  7,  7,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 18,  6,  9,  4, 52, 52, 27, 27, 13, 13,  9, 10,  4, 17, 23,  1,  4,  5,  0, 14,  6, {69,85,82},      2,     1,     1,     6,     7,     1,     3,     3 }, // Lower Sorbian/Latin/Germany
-    {    163,    66,    91,    0,    0,  267,  267,    6,    1,    0,    2,    3,    4,    5,   10,   13,   14,   18,   16, 1370,   50,  383,  402,13206,13206,13270,13270, 4510, 4510,    0,    0,    0,    5,   22,   22,   83,    4,    0, 4341, 4355,  6,  6,  8,  8,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 23,  7, 19, 10, 64, 64, 27, 27, 13, 13,  2,  2,  4, 17, 23,  1,  4,  5,  0, 14, 11, {69,85,82},      2,     1,     1,     6,     7,     1,     3,     3 }, // Low German/Latin/Germany
-    {    163,    66,   165,    0,    0,  267,  267,    6,    1,    0,    2,    3,    4,    5,   10,   13,   14,   18,   16, 1370,   50,  383,  402,13206,13206,13270,13270, 4510, 4510,    0,    0,    0,    5,   22,   22,   83,    4,    0, 4341, 4366,  6,  6,  8,  8,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 23,  7, 19, 10, 64, 64, 27, 27, 13, 13,  2,  2,  4, 17, 23,  1,  4,  5,  0, 14, 12, {69,85,82},      2,     1,     1,     6,     7,     1,     3,     3 }, // Low German/Latin/Netherlands
+    {    163,    66,    91,    0,    0,  267,  267,    6,    1,    0,    2,    3,    4,    5,   10,   13,   14,   18,   16, 1370,   50,  371,  390,13206,13206,13270,13270, 4510, 4510,    0,    0,    0,    5,   22,   22,   83,    4,    0, 4341, 4355,  6,  6,  8,  8,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 23,  7, 19, 10, 64, 64, 27, 27, 13, 13,  2,  2,  4, 17, 23,  1,  4,  5,  0, 14, 11, {69,85,82},      2,     1,     1,     6,     7,     1,     3,     3 }, // Low German/Latin/Germany
+    {    163,    66,   165,    0,    0,  267,  267,    6,    1,    0,    2,    3,    4,    5,   10,   13,   14,   18,   16, 1370,   50,  371,  390,13206,13206,13270,13270, 4510, 4510,    0,    0,    0,    5,   22,   22,   83,    4,    0, 4341, 4366,  6,  6,  8,  8,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 23,  7, 19, 10, 64, 64, 27, 27, 13, 13,  2,  2,  4, 17, 23,  1,  4,  5,  0, 14, 12, {69,85,82},      2,     1,     1,     6,     7,     1,     3,     3 }, // Low German/Latin/Netherlands
     {    164,    66,    57,    0,    0,    0,    0,    6,    1,    0,    2,    3,    4,    5,   10,   14,   15,   16,   17,  113,  129,    0,    0,13297,13297,13346,13346,13373,13373,  411,  425,    0,    5,   22,   11, 3427,    0,    0, 4378, 4386,  6,  6,  6,  6,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 16,  8, 10,  5, 49, 49, 27, 27, 13, 13,  5,  6,  4, 17, 23,  2, 17,  4,  0,  8, 16, {67,68,70},      2,     1,     1,     6,     7,     1,     3,     3 }, // Luba-Katanga/Latin/Congo - Kinshasa
     {    165,    66,   225,    0,    0,    0,    0,    6,    0,    1,    2,    3,    4,    5,   10,   14,   15,   16,   17,  163,  103,    0,    0,   56,   56,   56,   56,   83,   83,    0,    0,    0,    5,   22,  160,    0,   15,    0, 4402,    0,  6,  6,  6,  6,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 17, 10, 10,  5, 27, 27, 27, 27, 13, 13,  2,  2,  4, 17, 23,  2,  0,  5,  0, 15,  0, {83,69,75},      2,     0,     1,     6,     7,     1,     3,     3 }, // Lule Sami/Latin/Sweden
     {    165,    66,   175,    0,    0,    0,    0,    6,    0,    1,    2,    3,    4,    5,   10,   14,   15,   16,   17,  163,  103,    0,    0,   56,   56,   56,   56,   83,   83,    0,    0,    0,    5,   22,  160,    0,   15,    0, 4402,    0,  6,  6,  6,  6,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 17, 10, 10,  5, 27, 27, 27, 27, 13, 13,  2,  2,  4, 17, 23,  2,  0,  5,  0, 15,  0, {78,79,75},      2,     0,     1,     6,     7,     1,     3,     3 }, // Lule Sami/Latin/Norway
@@ -1811,11 +1811,11 @@ static constexpr QLocaleData locale_data[] = {
     {    176,     4,    35,    0,    0,    0,    0,    6,    1,    0,    2,    3,    4,    5,   10,   15,   14,   17,   16,   91,   79,   42,   54,14640,14640,14640,14640,   83,   83,    0,    0,    0,    5,   22,   10, 3539,    2,    9, 4550, 4560,  6,  6,  6,  6,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 12,  7, 12,  7, 34, 34, 34, 34, 13, 13,  2,  2,  4, 17, 23,  1, 10,  4,  6, 10,  5, {66,78,68},      2,     1,     1,     6,     7,     1,     3,     3 }, // Malay/Arabic/Brunei
     {    176,     4,   143,    0,    0,    0,    0,    6,    0,    1,    2,    3,    4,    5,   10,   15,   14,   17,   16,  196,   79,   42,   54,14640,14640,14640,14640,   83,   83,    0,    0,    0,    5,   22,  192, 3549,    2,    9, 4550, 4565,  6,  6,  6,  6,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 17,  7, 12,  7, 34, 34, 34, 34, 13, 13,  2,  2,  4, 17, 23,  2, 13,  4,  6, 10,  6, {77,89,82},      2,     1,     1,     6,     7,     1,     3,     3 }, // Malay/Arabic/Malaysia
     {    176,    66,    35,    0,    0,  584,  584,    6,    1,    0,    2,    3,    4,    5,   10,   14,   15,   16,   17,   91,   79,   10,   22,14558,14558,14600,14600,14627,14627,  447,  470,  749,    5,   22,   10, 3562,    2,    9, 4544, 4571,  6,  6,  9,  9,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 12,  7, 12,  7, 42, 42, 27, 27, 13, 13,  2,  3,  4, 17, 23,  1, 12,  4,  6,  6,  6, {66,78,68},      2,     1,     1,     6,     7,     1,     3,     3 }, // Malay/Latin/Brunei
-    {    176,    66,   111,    0,    0,  584,  584,    6,    1,    0,    2,    3,    4,    5,   10,   14,   15,   16,   17,  786,   78,  178,  178,14558,14558,14600,14600,14627,14627,  447,  470,  749,    5,   22,  186, 3007,    2,    0, 4544, 1776,  6,  6,  9,  9,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 18,  8, 10,  5, 42, 42, 27, 27, 13, 13,  2,  3,  4, 17, 23,  2, 16,  4,  0,  6,  9, {73,68,82},      2,     0,     7,     6,     7,     1,     3,     3 }, // Malay/Latin/Indonesia
+    {    176,    66,   111,    0,    0,  584,  584,    6,    1,    0,    2,    3,    4,    5,   10,   14,   15,   16,   17,  786,   78,  166,  166,14558,14558,14600,14600,14627,14627,  447,  470,  749,    5,   22,  186, 3007,    2,    0, 4544, 1776,  6,  6,  9,  9,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 18,  8, 10,  5, 42, 42, 27, 27, 13, 13,  2,  3,  4, 17, 23,  2, 16,  4,  0,  6,  9, {73,68,82},      2,     0,     7,     6,     7,     1,     3,     3 }, // Malay/Latin/Indonesia
     {    176,    66,   210,    0,    0,  584,  584,    6,    0,    1,    2,    3,    4,    5,   10,   14,   15,   16,   17,    0,   79,   10,   22,14558,14558,14600,14600,14627,14627,  447,  470,  749,    5,   22,   10, 3574,    2,    9, 4544, 4577,  6,  6,  9,  9,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 17,  7, 12,  7, 42, 42, 27, 27, 13, 13,  2,  3,  4, 17, 23,  1, 15,  4,  6,  6,  9, {83,71,68},      2,     1,     7,     6,     7,     1,     3,     3 }, // Malay/Latin/Singapore
     {    177,    66,   146,    0,    0,  823,  831,    6,    0,    1,    2,    3,    4,    5,   10,   14,   15,   16,   17, 1411,  186,    0,    0,14674,14674,14736,14736,14763,14783,    0,    0,    0,    5,   22,   22, 3589,    2,    0, 4586, 1891,  6,  6,  8,  7,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 23, 10, 10,  5, 62, 62, 27, 27, 20, 19,  2,  2,  4, 17, 23,  1,  4,  4,  0,  5,  5, {69,85,82},      2,     1,     7,     6,     7,     1,     3,     3 }, // Maltese/Latin/Malta
     {    179,     9,   110,    0,    0,  838,  838,    6,    0,    1,    2,   39,    4,    5,   10,   14,   15,   16,   17, 1434,  129,   42,   54,14802,14802,14802,14802,14860,14885,  449,  473,    0,    5,   22,  120, 3593,   15,    0, 4591, 4599,  6,  6, 11, 11,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 18,  6, 12,  7, 58, 58, 58, 58, 25, 29,  4,  5,  4, 17, 23,  1, 14,  5,  0,  8,  8, {73,78,82},      2,     1,     7,     7,     7,     1,     3,     3 }, // Manipuri/Bangla/India
-    {    179,    78,   110,    0,    0,    0,    0,    6,    0,    1,    2,   75,    4,    5,   10,   14,   15,   16,   17,  265,  283,  412,  424,   56,   56,   56,   56,   83,   83,    0,    0,    0,    5,   22,  120,    0,   15,    0, 4607,    0,  6,  6,  6,  6,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 18,  8, 12,  8, 27, 27, 27, 27, 13, 13,  2,  2,  4, 17, 23,  1,  0,  5,  0,  7,  0, {73,78,82},      2,     1,     7,     7,     7,     1,     3,     3 }, // Manipuri/Meitei Mayek/India
+    {    179,    78,   110,    0,    0,    0,    0,    6,    0,    1,    2,   75,    4,    5,   10,   14,   15,   16,   17,  265,  283,  400,  412,   56,   56,   56,   56,   83,   83,    0,    0,    0,    5,   22,  120,    0,   15,    0, 4607,    0,  6,  6,  6,  6,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 18,  8, 12,  8, 27, 27, 27, 27, 13, 13,  2,  2,  4, 17, 23,  1,  0,  5,  0,  7,  0, {73,78,82},      2,     1,     7,     7,     7,     1,     3,     3 }, // Manipuri/Meitei Mayek/India
     {    180,    66,   115,    0,    0,    0,    0,    6,    0,    1,    2,    3,    4,    5,   10,   14,   15,   16,   17,   86,   78,    0,    0,14914,14914,14970,14970,   83,   83,  168,  168,    0,    5,   22,   94,    0,    2,    0, 4614, 4619,  6,  6,  6,  6,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 17,  8, 10,  5, 56, 56, 29, 29, 13, 13,  4,  4,  4, 17, 23,  1,  0,  4,  0,  5, 12, {71,66,80},      2,     1,     1,     6,     7,     1,     3,     3 }, // Manx/Latin/Isle of Man
     {    181,    66,   167,    0,    0,    0,    0,    6,    0,    1,    2,    3,    4,    5,   10,   14,   15,   16,   17,    0,  394,   10,   22,14999,14999,15046,15046,15073,15073,    0,    0,    0,    5,   22,   10, 3607,   15,    0, 4631, 4636,  6,  6,  6,  6,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 17, 10, 12,  7, 47, 47, 27, 27, 15, 15,  2,  2,  4, 17, 23,  1, 15,  5,  0,  5,  8, {78,90,68},      2,     1,     1,     6,     7,     1,     3,     3 }, // Maori/Latin/New Zealand
     {    182,    66,    49,    0,    0,    0,    0,    6,    0,    1,    2,    3,    4,    5,   10,   14,   15,   16,   17,  163,  103,    0,    0,   56,   56,   56,   56,   83,   83,    0,    0,    0,    5,   22,   10,    0,   15,    0, 4644,    0,  6,  6,  6,  6,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 17, 10, 10,  5, 27, 27, 27, 27, 13, 13,  2,  2,  4, 17, 23,  1,  0,  5,  0, 10,  0, {67,76,80},      0,     0,     1,     6,     7,     1,     3,     3 }, // Mapuche/Latin/Chile
@@ -1849,11 +1849,11 @@ static constexpr QLocaleData locale_data[] = {
     {    208,    66,   261,    0,    0,    0,    0,    6,    0,    1,    2,    3,    4,    5,   10,   14,   15,   16,   17,    0,  186,    0,    0,16872,16872,16921,16921,16948,16948,    0,    0,    0,    5,   22,  179, 3846,    2,    9, 4940, 2434,  6,  6,  6,  6,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 17, 10, 10,  5, 49, 49, 27, 27, 13, 13,  2,  2,  4, 17, 23,  3, 17,  4,  6, 10,  8, {85,83,68},      2,     1,     7,     6,     7,     1,     3,     3 }, // North Ndebele/Latin/Zimbabwe
     {    209,    66,   175,    0,    0,  289,  289,    6,    1,    9,    2,    3,   48,    5,   10,   11,   12,   16,   17,  698,   49,    0,    0, 4788, 4788,16961,16961, 4874, 4874,  168,  168,    0,    5,   22,  160, 3863,   15,   58, 4950, 4962,  6,  6,  8,  8,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 17, 10, 10,  5, 50, 50, 34, 34, 13, 13,  4,  4,  4, 17, 23,  2, 13,  5,  7, 12,  5, {78,79,75},      2,     0,     1,     6,     7,     1,     3,     3 }, // Norwegian Bokmal/Latin/Norway
     {    209,    66,   224,    0,    0,  289,  289,    6,    1,    9,    2,    3,   48,    5,   10,   11,   12,   16,   17,  698,   49,    0,    0, 4788, 4788,16961,16961, 4874, 4874,  168,  168,    0,    5,   22,  160, 3863,   15,   58, 4950, 4967,  6,  6,  8,  8,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 17, 10, 10,  5, 50, 50, 34, 34, 13, 13,  4,  4,  4, 17, 23,  2, 13,  5,  7, 12, 21, {78,79,75},      2,     0,     1,     6,     7,     1,     3,     3 }, // Norwegian Bokmal/Latin/Svalbard and Jan Mayen
-    {    210,    66,   175,    0,    0,  289,  289,    6,    1,    9,    2,    3,   48,    5,   10,   11,   12,   16,   17,  698,   49,  432,    0,16995,16995,17045,17072, 4874, 4874,  533,  555,    0,    5,   22,  160, 3863,    4,    0, 4988, 5001,  6,  6,  8,  8,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 17, 10, 16,  5, 50, 50, 27, 27, 13, 13,  4,  4,  4, 17, 23,  2, 13,  5,  0, 13,  5, {78,79,75},      2,     0,     1,     6,     7,     1,     3,     3 }, // Norwegian Nynorsk/Latin/Norway
-    {    211,    66,   219,    0,    0,    0,    0,    6,    0,    1,    2,    3,    4,    5,   10,   14,   15,   16,   17,  113,  187,  448,   22,17099,17099,17177,17177,17214,17214,  537,  559,    0,    5,   22,   94,    0,    2,    9, 5006,    0,  6,  6,  6,  6,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 16,  9, 12,  7, 78, 78, 37, 37, 13, 13,  2,  2,  4, 17, 23,  1,  0,  4,  6,  9,  0, {83,83,80},      2,     1,     1,     6,     7,     1,     3,     3 }, // Nuer/Latin/South Sudan
+    {    210,    66,   175,    0,    0,  289,  289,    6,    1,    9,    2,    3,   48,    5,   10,   11,   12,   16,   17,  698,   49,  420,    0,16995,16995,17045,17072, 4874, 4874,  533,  555,    0,    5,   22,  160, 3863,    4,    0, 4988, 5001,  6,  6,  8,  8,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 17, 10, 16,  5, 50, 50, 27, 27, 13, 13,  4,  4,  4, 17, 23,  2, 13,  5,  0, 13,  5, {78,79,75},      2,     0,     1,     6,     7,     1,     3,     3 }, // Norwegian Nynorsk/Latin/Norway
+    {    211,    66,   219,    0,    0,    0,    0,    6,    0,    1,    2,    3,    4,    5,   10,   14,   15,   16,   17,  113,  187,  436,   22,17099,17099,17177,17177,17214,17214,  537,  559,    0,    5,   22,   94,    0,    2,    9, 5006,    0,  6,  6,  6,  6,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 16,  9, 12,  7, 78, 78, 37, 37, 13, 13,  2,  2,  4, 17, 23,  1,  0,  4,  6,  9,  0, {83,83,80},      2,     1,     1,     6,     7,     1,     3,     3 }, // Nuer/Latin/South Sudan
     {    212,    66,   142,    0,    0,    0,    0,    6,    0,    1,    2,    3,    4,    5,   10,   14,   15,   16,   17,  163,  103,   10,   22,17227,17227,17293,17293,   83,   83,    0,    0,    0,    5,   22,    0, 1521,   15,    0, 5015,    0,  6,  6,  6,  6,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 17, 10, 12,  7, 66, 66, 27, 27, 13, 13,  2,  2,  4, 17, 23,  0, 15,  5,  0,  6,  0, {77,87,75},      2,     1,     1,     6,     7,     1,     3,     3 }, // Nyanja/Latin/Malawi
     {    213,    66,   243,    0,    0,    0,    0,    6,    0,    1,    2,    3,    4,    5,   10,   14,   15,   16,   17,    0,  186,    0,    0, 4053, 4053, 4126, 4126, 4153, 4153,    0,    0,    0,    5,   22,  147,  805,    2,    0, 5021,  983,  6,  6,  6,  6,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 17, 10, 10,  5, 73, 73, 27, 27, 13, 13,  2,  2,  4, 17, 23,  3, 19,  4,  0, 10,  6, {85,71,88},      0,     0,     1,     7,     7,     1,     3,     3 }, // Nyankole/Latin/Uganda
-    {    214,    66,    84,    0,    0,  414,  414,    6,    1,    9,    2,    3,    4,    5,   10,   11,   12,   11,   12, 1555,   79,    0,  460,17320,17320,17320,17320,17376,17376,    0,    0,  376,  232,  249,   22,  405,    0,   45, 5031,  807,  6,  6,  7,  7,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 21,  7, 10,  6, 56, 56, 56, 56, 20, 20,  2,  2,  6, 17, 23,  1,  4,  4,  6,  7,  6, {69,85,82},      2,     1,     1,     6,     7,     1,     3,     3 }, // Occitan/Latin/France
+    {    214,    66,    84,    0,    0,  414,  414,    6,    1,    9,    2,    3,    4,    5,   10,   11,   12,   11,   12, 1555,   79,    0,  448,17320,17320,17320,17320,17376,17376,    0,    0,  376,  232,  249,   22,  405,    0,   45, 5031,  807,  6,  6,  7,  7,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 21,  7, 10,  6, 56, 56, 56, 56, 20, 20,  2,  2,  6, 17, 23,  1,  4,  4,  6,  7,  6, {69,85,82},      2,     1,     1,     6,     7,     1,     3,     3 }, // Occitan/Latin/France
     {    214,    66,   220,    0,    0,  414,  414,    6,    0,    1,    2,    3,    4,    5,   10,   11,   12,   14,   15,  958,   79,   74,    1,17396,17396,17453,17453,17480,17480,    0,    0,  376,  232,  249,   22,  405,    0,    0, 5031, 5038,  6,  6,  7,  7,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 27,  7, 11,  4, 57, 57, 27, 27, 13, 13,  2,  2,  6, 17, 23,  1,  4,  4,  0,  7,  7, {69,85,82},      2,     1,     1,     6,     7,     2,     3,     3 }, // Occitan/Latin/Spain
     {    215,    91,   110,    0,    0,  923,  931,    6,    0,    1,    2,    3,    4,    5,   10,   14,   15,   16,   17,  549,  567,   42,   54,17493,17493,17546,17546,17578,17578,    0,    0,  885,    5,   22,  120, 3876,    2,    9, 5045, 5050,  6,  6,  8,  7,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 18,  6, 12,  7, 53, 53, 32, 32, 17, 17,  2,  2,  5, 17, 23,  1, 12,  4,  6,  5,  4, {73,78,82},      2,     1,     7,     7,     7,     1,     2,     3 }, // Odia/Odia/India
     {    220,    66,    77,    0,    0,    0,    0,    6,    0,    1,    2,    3,    4,    5,   10,   14,   15,   16,   17,  549,   78,   10,   22,17595,17595,17649,17649,   83,   83,  539,  561,    0,    5,   22,    1, 3888,    2,    0, 5054, 5060,  6,  6,  6,  6,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 18,  8, 12,  7, 54, 54, 27, 27, 13, 13,  2,  2,  4, 17, 23,  2, 17,  4,  0,  6, 10, {69,84,66},      2,     1,     7,     6,     7,     1,     3,     3 }, // Oromo/Latin/Ethiopia
@@ -1924,7 +1924,7 @@ static constexpr QLocaleData locale_data[] = {
     {    258,    66,   187,    0,    0,  143,  143,    6,    1,    9,    2,    3,    4,    5,   10,   13,   15,   12,   11,    0,   49,    0,    0,20970,20970,21030,21030,13193,13193,  649,  679,  311,    5,   22,  275,    0,   15,    0, 5729, 5161,  6,  6,  7,  7,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 17, 10, 10,  5, 60, 60, 27, 27, 13, 13, 11, 11,  5, 17, 23,  2,  0,  5,  0,  7,  6, {80,76,78},      2,     1,     1,     6,     7,     1,     3,     3 }, // Silesian/Latin/Poland
     {    259,     4,   178,    0,    0, 1041, 1049,   67,   21,   22,   23,   25,   26,   28,   59,   14,   15,   16,   17,  549,  103,   42,   54,21057,21057,21057,21057,21091,21091,  660,  690,  932,  938,   22,  196, 4634,    4,    0, 5736, 5740,  6,  6,  8,  7,  1,  1,  1,  2,  1,  2,  2,  2,  1,  1,  1,  1, 18, 10, 12,  7, 34, 34, 34, 34, 30, 30, 11, 11,  6, 25, 23,  2, 12,  5,  0,  4,  7, {80,75,82},      2,     0,     7,     6,     7,     1,     3,     3 }, // Sindhi/Arabic/Pakistan
     {    259,    29,   110,    0,    0,    0,    0,    6,    0,    1,    2,    3,    4,    5,   10,   14,   15,   16,   17,  549,  567,   42,   54,21121,21148,21189,21211,21239,21239,  671,  701,    0,    5,   22,  120, 4646,   15,    0, 5747,  664,  6,  6,  6,  6,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 18,  6, 12,  7, 27, 41, 22, 28, 20, 20,  8,  6,  4, 17, 23,  1, 17,  5,  0,  6,  4, {73,78,82},      2,     1,     7,     7,     7,     1,     3,     3 }, // Sindhi/Devanagari/India
-    {    260,   119,   221,    0,    0, 1056, 1065,    6,    0,    1,    2,    3,    4,    5,   10,   14,   15,   16,   17,  163,  103,  178,  178,21259,21259,21320,21320,21358,21358,  679,  707,  963,  968,   22,  287, 4663,    2,    9, 5753, 5758,  6,  6,  9,  8,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 17, 10, 10,  5, 61, 61, 38, 38, 18, 18,  5,  4,  5, 42, 23,  3, 17,  4,  6,  5, 11, {76,75,82},      2,     1,     1,     6,     7,     1,     3,     3 }, // Sinhala/Sinhala/Sri Lanka
+    {    260,   119,   221,    0,    0, 1056, 1065,    6,    0,    1,    2,    3,    4,    5,   10,   14,   15,   16,   17,  163,  103,  166,  166,21259,21259,21320,21320,21358,21358,  679,  707,  963,  968,   22,  287, 4663,    2,    9, 5753, 5758,  6,  6,  9,  8,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 17, 10, 10,  5, 61, 61, 38, 38, 18, 18,  5,  4,  5, 42, 23,  3, 17,  4,  6,  5, 11, {76,75,82},      2,     1,     1,     6,     7,     1,     3,     3 }, // Sinhala/Sinhala/Sri Lanka
     {    261,    66,    83,    0,    0,    0,    0,    6,    0,    1,    2,    3,    4,    5,   10,   14,   15,   16,   17,  163,  103,    0,    0,   56,   56,   56,   56,   83,   83,    0,    0,    0,    5,   22,   22,    0,   15,    0, 5769, 5779,  6,  6,  6,  6,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 17, 10, 10,  5, 27, 27, 27, 27, 13, 13,  2,  2,  4, 17, 23,  1,  0,  5,  0, 10, 12, {69,85,82},      2,     1,     1,     6,     7,     1,     3,     3 }, // Skolt Sami/Latin/Finland
     {    262,    66,   212,    0,    0,  781,  282,    6,    1,    9,    2,    3,    4,    5,    6,   13,   14,   18,   16,  698,  423,    1,    1,21376,21376,21427,21427,21447,21447,    0,    0,  311,    5,   22,   22,  405,    4,   20, 5791, 5801,  6,  6,  7,  7,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 17, 10,  9,  4, 51, 51, 20, 20, 13, 13,  2,  2,  5, 17, 23,  1,  4,  5,  7, 10,  9, {69,85,82},      2,     1,     1,     6,     7,     1,     3,     3 }, // Slovak/Latin/Slovakia
     {    263,    66,   213,    0,    0, 1073, 1073,    6,    1,    0,    2,    3,   48,    5,    6,   13,   14,   18,   16,  404,  423,    0,    0,21460,21460,21511,21511,21545,21545,  172,  711,   50,    5,   22,   22, 4680,    4,   20, 5810, 5821,  6,  6,  8,  8,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 18,  8, 10,  5, 51, 51, 34, 34, 13, 13,  4,  4,  4, 17, 23,  1,  4,  5,  7, 11,  9, {69,85,82},      2,     1,     1,     6,     7,     1,     3,     3 }, // Slovenian/Latin/Slovenia
@@ -1969,7 +1969,7 @@ static constexpr QLocaleData locale_data[] = {
     {    270,    66,   250,    0,    0,   68,   68,    6,    1,    0,    2,    3,    4,    5,   10,   14,   15,   16,   17,  958,  129,   10,   22,21937,21937,21989,21989, 6778, 6778,  132,  128,    0,    5,   22,   10, 5031,   15,   58, 5900, 6152,  6,  6,  7,  7,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 27,  6, 12,  7, 52, 52, 27, 27, 13, 13,  5,  5,  5, 17, 23,  1, 13,  5,  7,  7,  7, {85,89,85},      2,     1,     1,     6,     7,     1,     3,     3 }, // Spanish/Latin/Uruguay
     {    270,    66,   254,    0,    0,   68,   68,    6,    1,    0,    2,    3,    4,    5,   10,   14,   15,   16,   17,  958,  129,   10,   22,21937,21937,21989,21989, 6778, 6778,  132,  128,    0,    5,   22,  302, 5044,    2,   65, 5900, 6159,  6,  6,  7,  7,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 27,  6, 12,  7, 52, 52, 27, 27, 13, 13,  5,  5,  5, 17, 23,  4, 16,  4,  5,  7,  9, {86,69,83},      2,     1,     7,     6,     7,     1,     3,     3 }, // Spanish/Latin/Venezuela
     {    271,   135,   159,    0,    0,    0,    0,    6,    1,    9,    2,    3,    4,    5,   10,   11,   12,   13,   15,  113,  129,    0,    0,22029,22029,22076,22076,   83,   83,  692,  723,    0,    5,   22,    0, 5060,    0,    0, 6168, 6176,  6,  6,  6,  6,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 16,  8, 10,  5, 47, 47, 29, 29, 13, 13,  6,  8,  4, 17, 23,  0, 14,  4,  0,  8,  6, {77,65,68},      2,     1,     1,     6,     7,     1,     3,     3 }, // Standard Moroccan Tamazight/Tifinagh/Morocco
-    {    272,    66,   111,    0,    0, 1090, 1103,    6,    1,    0,    2,    3,    4,    5,   10,   14,   15,   16,   17,    0,  129,  179,  179,22105,22105,22148,22148, 9291, 9291,    0,    0,    0,    5,   22,  186, 5074,    2,    0, 6182, 1776,  6,  6, 13, 12,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 17,  6,  9,  4, 43, 43, 27, 27, 13, 13,  2,  2,  4, 17, 23,  2, 15,  4,  0, 10,  9, {73,68,82},      2,     0,     7,     6,     7,     1,     3,     3 }, // Sundanese/Latin/Indonesia
+    {    272,    66,   111,    0,    0, 1090, 1103,    6,    1,    0,    2,    3,    4,    5,   10,   14,   15,   16,   17,    0,  129,  167,  167,22105,22105,22148,22148, 9291, 9291,    0,    0,    0,    5,   22,  186, 5074,    2,    0, 6182, 1776,  6,  6, 13, 12,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 17,  6,  9,  4, 43, 43, 27, 27, 13, 13,  2,  2,  4, 17, 23,  2, 15,  4,  0, 10,  9, {73,68,82},      2,     0,     7,     6,     7,     1,     3,     3 }, // Sundanese/Latin/Indonesia
     {    273,    66,   230,    0,    0,  566,  566,    6,    0,    1,    2,    3,    4,    5,   10,   14,   15,   16,   17,    0,  186,    0,    0, 1198, 1198, 1198, 1198,   83,   83,    0,    0,  749, 1033,   22,  121, 3492,   15,    0, 6192, 2268,  6,  6,  8,  8,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 17, 10, 10,  5, 59, 59, 59, 59, 13, 13,  2,  2,  5, 51, 23,  3, 20,  5,  0,  9,  8, {84,90,83},      2,     0,     1,     6,     7,     1,     3,     3 }, // Swahili/Latin/Tanzania
     {    273,    66,    57,    0,    0,  566,  566,    6,    1,    0,    2,    3,    4,    5,   10,   14,   15,   16,   17,    0,  186,    0,    0, 1198, 1198, 1198, 1198,   83,   83,    0,    0,  749, 1033,   22,   11, 5089,   15,    0, 6192, 6201,  6,  6,  8,  8,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 17, 10, 10,  5, 59, 59, 59, 59, 13, 13,  2,  2,  5, 51, 23,  2, 16,  5,  0,  9, 32, {67,68,70},      2,     1,     1,     6,     7,     1,     3,     3 }, // Swahili/Latin/Congo - Kinshasa
     {    273,    66,   124,    0,    0,  566,  566,    6,    0,    1,    2,    3,    4,    5,   10,   14,   15,   16,   17,    0,  186,    0,    0, 1198, 1198, 1198, 1198,   83,   83,    0,    0,  749, 1033,   22,  176,  991,   15,    0, 6192, 1307,  6,  6,  8,  8,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 17, 10, 10,  5, 59, 59, 59, 59, 13, 13,  2,  2,  5, 51, 23,  3, 17,  5,  0,  9,  5, {75,69,83},      2,     1,     7,     6,     7,     1,     3,     3 }, // Swahili/Latin/Kenya
@@ -1999,13 +1999,13 @@ static constexpr QLocaleData locale_data[] = {
     {    287,   131,   110,    0,    0, 1152, 1152,    6,    0,    1,    2,    3,    4,    5,   10,   14,   15,   16,   17, 1798,  394,   42,   54,23307,23307,23366,23366,23397,23397,    0,    0, 1095, 1102,   22,  120, 5253,    2,    9, 6442, 6448,  6,  6, 11, 11,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 18,  8, 12,  7, 59, 59, 31, 31, 17, 17,  2,  2,  7, 29, 23,  1, 14,  4,  6,  6,  8, {73,78,82},      2,     1,     7,     7,     7,     1,     2,     3 }, // Telugu/Telugu/India
     {    288,    66,   243,    0,    0,    0,    0,    6,    0,    1,    2,    3,    4,    5,   10,   14,   15,   16,   17,    0,  186,    0,    0,23414,23414,23482,23482,23509,23509,  740,  784,    0,    5,   22,  147, 5267,    2,    9, 6456,  983,  6,  6,  6,  6,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 17, 10, 10,  5, 68, 68, 27, 27, 13, 13,  9,  6,  4, 17, 23,  3, 21,  4,  6,  6,  6, {85,71,88},      0,     0,     1,     7,     7,     1,     3,     3 }, // Teso/Latin/Uganda
     {    288,    66,   124,    0,    0,    0,    0,    6,    0,    1,    2,    3,    4,    5,   10,   14,   15,   16,   17,    0,  186,    0,    0,23414,23414,23482,23482,23509,23509,  740,  784,    0,    5,   22,  176, 5288,    2,    9, 6456, 6462,  6,  6,  6,  6,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 17, 10, 10,  5, 68, 68, 27, 27, 13, 13,  9,  6,  4, 17, 23,  3, 20,  4,  6,  6,  5, {75,69,83},      2,     1,     7,     6,     7,     1,     3,     3 }, // Teso/Latin/Kenya
-    {    289,   133,   231,   24,   24, 1163, 1171,    6,    0,    1,    2,    3,    4,    5,   10,   14,   15,   16,   17, 1816,  129,  466,    0,23522,23522,23589,23589,23611,23611,  749,  790, 1131,    5,   22,  317, 5308,    2,    9, 6467, 6467,  5,  5,  8,  7,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 19,  6, 28,  5, 67, 67, 22, 22, 15, 15, 10, 10,  4, 17, 23,  1,  3,  4,  6,  3,  3, {84,72,66},      2,     1,     7,     6,     7,     1,     3,     3 }, // Thai/Thai/Thailand
+    {    289,   133,   231,   24,   24, 1163, 1171,    6,    0,    1,    2,    3,    4,    5,   10,   14,   15,   16,   17, 1816,  129,  454,    0,23522,23522,23589,23589,23611,23611,  749,  790, 1131,    5,   22,  317, 5308,    2,    9, 6467, 6467,  5,  5,  8,  7,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 19,  6, 28,  5, 67, 67, 22, 22, 15, 15, 10, 10,  4, 17, 23,  1,  3,  4,  6,  3,  3, {84,72,66},      2,     1,     7,     6,     7,     1,     3,     3 }, // Thai/Thai/Thailand
     {    290,   134,    50,    0,    0,    0,    0,    6,    0,    1,    2,    3,    4,    5,   10,   14,   15,   16,   17, 1835,  103,    0,    0,23626,23626,23704,23704,23754,23754,  759,  800,    0,    5,   22,  150, 5311,   15,    0, 6470, 6478,  6,  6,  6,  6,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 23, 10, 10,  5, 78, 78, 50, 50, 26, 26,  7,  8,  4, 17, 23,  1,  6,  5,  0,  8,  6, {67,78,89},      2,     1,     1,     6,     7,     1,     3,     3 }, // Tibetan/Tibetan/China
     {    290,   134,   110,    0,    0,    0,    0,    6,    0,    1,    2,    3,    4,    5,   10,   14,   15,   16,   17, 1835,  103,   42,   54,23626,23626,23704,23704,23754,23754,  759,  800,    0,    5,   22,  120, 5317,   15,    0, 6470, 6484,  6,  6,  6,  6,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 23, 10, 12,  7, 78, 78, 50, 50, 26, 26,  7,  8,  4, 17, 23,  1, 12,  5,  0,  8,  7, {73,78,82},      2,     1,     7,     7,     7,     1,     3,     3 }, // Tibetan/Tibetan/India
     {    291,    33,    74,    0,    0,    0,    0,    6,    0,    1,    2,    3,    4,    5,   10,   14,   15,   16,   17, 1858,   78,   42,   54,23780,23780,23820,23820,23846,23846,    0,    0,    0,    5,   22,    6,    0,    2,    0, 6491,  671,  6,  6,  6,  6,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 21,  8, 12,  7, 40, 40, 26, 26, 13, 13,  2,  2,  4, 17, 23,  3,  0,  4,  0,  3,  4, {69,82,78},      2,     1,     1,     6,     7,     1,     3,     3 }, // Tigre/Ethiopic/Eritrea
     {    292,    33,    77,   38,   38, 1178, 1178,    6,    0,    1,    2,    3,    4,    5,   10,   11,   12,   14,   15, 1879,   78,   42,   54,23859,23859,23887,23887,23907,23907,  766,  808,    0,    5,   22,    1,  112,    2,    0, 6494,  143,  6,  6,  7,  7,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 17,  8, 12,  7, 28, 28, 20, 20, 13, 13,  4,  4,  4, 17, 23,  2,  2,  4,  0,  4,  5, {69,84,66},      2,     1,     7,     6,     7,     1,     3,     3 }, // Tigrinya/Ethiopic/Ethiopia
     {    292,    33,    74,   38,   38, 1178, 1178,    6,    0,    1,    2,    3,    4,    5,   10,   16,   17,   14,   15, 1879,   78,   42,   54,23859,23859,23887,23887,23907,23907,  766,  808,    0,    5,   22,    6, 5329,    2,    0, 6494,  671,  6,  6,  7,  7,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 17,  8, 12,  7, 28, 28, 20, 20, 13, 13,  4,  4,  4, 17, 23,  3,  3,  4,  0,  4,  4, {69,82,78},      2,     1,     1,     6,     7,     1,     3,     3 }, // Tigrinya/Ethiopic/Eritrea
-    {    294,    66,   182,    0,    0,    0,    0,    6,    0,    1,    2,    3,    4,    5,   10,   14,   15,   16,   17,  787,   78,  494,  507,23920,23920,23964,23964,   83,   83,    0,    0,    0,    5,   22,    0,    0,    4,    0, 6498, 6507,  6,  6,  6,  6,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 17,  8, 13,  8, 44, 44, 27, 27, 13, 13,  2,  2,  4, 17, 23,  0,  0,  5,  0,  9, 13, {80,71,75},      2,     1,     1,     6,     7,     1,     3,     3 }, // Tok Pisin/Latin/Papua New Guinea
+    {    294,    66,   182,    0,    0,    0,    0,    6,    0,    1,    2,    3,    4,    5,   10,   14,   15,   16,   17,  787,   78,  482,  495,23920,23920,23964,23964,   83,   83,    0,    0,    0,    5,   22,    0,    0,    4,    0, 6498, 6507,  6,  6,  6,  6,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 17,  8, 13,  8, 44, 44, 27, 27, 13, 13,  2,  2,  4, 17, 23,  0,  0,  5,  0,  9, 13, {80,71,75},      2,     1,     1,     6,     7,     1,     3,     3 }, // Tok Pisin/Latin/Papua New Guinea
     {    295,    66,   235, 1185, 1185, 1185, 1185,    6,    0,    1,    2,    3,    4,    5,   10,   14,   15,   16,   17,  113,  129,   10,   22,23991,23991,24050,24050,24078,24078,  770,  812, 1135, 1140, 1199,  205, 5332,   15,    0, 6520, 2283,  8,  8,  8,  8,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 16,  6, 12,  7, 59, 59, 28, 28, 13, 13, 10,  6,  5, 59, 65,  2, 17,  5,  0, 13,  5, {84,79,80},      2,     1,     1,     6,     7,     1,     3,     3 }, // Tongan/Latin/Tonga
     {    296,    66,   216,    0,    0,    0,    0,    6,    1,    9,    2,    3,    4,    5,   10,   16,   17,   14,   15,  163,  103,    0,    0,24091,24091,24162,24162,   83,   83,    0,    0,    0,    5,   22,    9,    0,   15,    0, 6533,    0,  6,  6,  6,  6,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 17, 10, 10,  5, 71, 71, 26, 26, 13, 13,  2,  2,  4, 17, 23,  1,  0,  5,  0,  8,  0, {90,65,82},      2,     1,     7,     6,     7,     1,     3,     3 }, // Tsonga/Latin/South Africa
     {    297,    66,   216,    0,    0,    0,    0,    6,    0,    9,    2,    3,    4,    5,   10,   16,   17,   14,   15,  163,  103,    0,    0,24188,24188,24251,24251,   83,   83,    0,    0,    0,    5,   22,    9,    0,    2,    0, 6541, 6549,  6,  6,  6,  6,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 17, 10, 10,  5, 63, 63, 31, 31, 13, 13,  2,  2,  4, 17, 23,  1,  0,  4,  0,  8, 13, {90,65,82},      2,     1,     7,     6,     7,     1,     3,     3 }, // Tswana/Latin/South Africa
@@ -2015,7 +2015,7 @@ static constexpr QLocaleData locale_data[] = {
     {    299,    66,   240,    0,    0, 1201, 1201,    6,    1,    9,    2,    3,    4,    5,   10,   14,   15,   14,   15, 1896,   49,    0,    0,24375,24428,24481,24508,24535,24535,  782,  820, 1264,    5,   22,    0, 5360,    4,    0, 6581, 6593,  6,  6,  8,  8,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 16, 10, 10,  5, 53, 53, 27, 27, 13, 13, 13, 14,  4, 17, 23,  0, 14,  5,  0, 12, 12, {84,77,84},      2,     1,     1,     6,     7,     1,     3,     3 }, // Turkmen/Latin/Turkmenistan
     {    301,    66,   169,    0,    0,    0,    0,    6,    0,    1,    2,    3,    4,    5,   10,   14,   15,   16,   17,  137,  155,    0,    0,24548,24548,24589,24589,   83,   83,    0,    0,    0,    5,   22,  124, 5374,   15,    0, 6605,    0,  6,  6,  6,  6,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 18,  8, 10,  5, 41, 41, 27, 27, 13, 13,  2,  2,  4, 17, 23,  1,  4,  5,  0,  5,  0, {78,71,78},      2,     1,     1,     6,     7,     1,     3,     3 }, // Tyap/Latin/Nigeria
     {    303,    27,   244,    0,    0,  117,  117,    6,    1,    9,    2,    3,    4,    5,   85,   11,   12,   13,   14, 1912,   49,    0,    0,24616,24671, 3049, 3049, 4289, 4289,  795,  834, 1268,  841,   22,  286, 5378,    4,    0, 6610, 6620,  6,  6,  7,  7,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 22,  8, 10,  5, 55, 55, 20, 20, 13, 13,  2,  2,  5, 17, 23,  1, 17,  5,  0, 10,  7, {85,65,72},      2,     1,     1,     6,     7,     1,     3,     3 }, // Ukrainian/Cyrillic/Ukraine
-    {    304,    66,    91,    0,    0,  781,  781,    6,    1,    0,    2,    3,    4,    5,   10,   13,   14,   18,   16,  404,  180,    1,  515,24726,24726,24778,24778,24805,24805,  402,  836, 1273,    5,   22,   22,  405,    4,    0, 6627, 6642,  6,  6,  7,  7,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 18,  6,  9, 12, 52, 52, 27, 27, 13, 13,  9,  9,  5, 17, 23,  1,  4,  5,  0, 15,  6, {69,85,82},      2,     1,     1,     6,     7,     1,     3,     3 }, // Upper Sorbian/Latin/Germany
+    {    304,    66,    91,    0,    0,  781,  781,    6,    1,    0,    2,    3,    4,    5,   10,   13,   14,   18,   16,  404,  180,    1,  503,24726,24726,24778,24778,24805,24805,  402,  836, 1273,    5,   22,   22,  405,    4,    0, 6627, 6642,  6,  6,  7,  7,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 18,  6,  9, 12, 52, 52, 27, 27, 13, 13,  9,  9,  5, 17, 23,  1,  4,  5,  0, 15,  6, {69,85,82},      2,     1,     1,     6,     7,     1,     3,     3 }, // Upper Sorbian/Latin/Germany
     {    305,     4,   178,  661,  661, 1209, 1219,    6,    0,    1,    2,    3,   35,   37,   10,   15,   14,   17,   16, 1934,  129,   42,   54,24818,24818,24818,24818,   83,   83,    0,    0, 1278, 1282,   22,  196, 5395,    2,    9, 6648, 5140,  6,  6, 10,  9,  1,  1,  1,  1,  1,  2,  2,  1,  1,  1,  1,  1, 18,  6, 12,  7, 35, 35, 35, 35, 13, 13,  2,  2,  4, 20, 23,  2, 14,  4,  6,  4,  7, {80,75,82},      2,     0,     7,     6,     7,     1,     3,     3 }, // Urdu/Arabic/Pakistan
     {    305,     4,   110,  661,  661, 1209, 1219,    6,   21,   22,    2,   40,   35,   41,   44,   15,   14,   17,   16, 1934,  129,   42,   54,24818,24818,24818,24818,   83,   83,    0,    0, 1278, 1282,   22,  120, 5409,    2,    9, 6648, 6652,  6,  6, 10,  9,  1,  1,  1,  1,  1,  3,  3,  4,  1,  1,  1,  1, 18,  6, 12,  7, 35, 35, 35, 35, 13, 13,  2,  2,  4, 20, 23,  1, 12,  4,  6,  4,  5, {73,78,82},      2,     1,     7,     7,     7,     1,     3,     3 }, // Urdu/Arabic/India
     {    306,     4,    50,    0,    0,  323,  333,    6,    0,    1,    2,    3,    4,    5,   10,   12,   11,   20,   19, 1952,  103,    0,    0,24853,24853,24907,24907,24927,24927,  797,  845,    0,    5,   22,  145, 5421,    2,    9, 6657, 6665,  6,  6, 10,  9,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 17, 10, 10,  5, 54, 54, 20, 20, 13, 13, 12, 12,  4, 17, 23,  1, 11,  4,  6,  8,  5, {67,78,89},      2,     1,     1,     6,     7,     1,     3,     3 }, // Uyghur/Arabic/China
@@ -2059,8 +2059,8 @@ static constexpr QLocaleData locale_data[] = {
     {    334,    66,   258,    0,    0,    0,    0,    6,    1,    9,    2,    3,    4,    5,   10,   14,   15,   16,   17,  163,  103,    0,    0,27235,27235,27235,27235,   83,   83,  860,  912,    0,    5,   22,    0,    0,    2,    0, 7103, 7112,  6,  6,  6,  6,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 17, 10, 10,  5, 90, 90, 90, 90, 13, 13, 12, 12,  4, 17, 23,  0,  0,  4,  0,  9,  6,    {0,0,0},      2,     1,     1,     6,     7,     1,     2,     2 }, // Toki Pona/Latin/world
     {    335,    66,   214,    0,    0,    0,    0,    6,    0,    1,    2,    3,    4,    5,   10,   14,   15,   16,   17,  163,  103,    0,    0,27325,27325,27325,27325,   83,   83,    0,    0,    0,    5,   22,   10,    0,   15,    0, 7118, 7123,  6,  6,  6,  6,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 17, 10, 10,  5, 46, 46, 46, 46, 13, 13,  2,  2,  4, 17, 23,  1,  0,  5,  0,  5, 13, {83,66,68},      2,     1,     1,     6,     7,     1,     3,     3 }, // Pijin/Latin/Solomon Islands
     {    336,    66,   169,    0,    0,    0,    0,    6,    0,    1,    2,    3,    4,    5,   10,   14,   15,   16,   17,  163,  103,    0,    0,   56,   56,   56,   56,   83,   83,    0,    0,    0,    5,   22,  124,    0,   15,    0, 7136,    0,  6,  6,  6,  6,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 17, 10, 10,  5, 27, 27, 27, 27, 13, 13,  2,  2,  4, 17, 23,  1,  0,  5,  0,  5,  0, {78,71,78},      2,     1,     1,     6,     7,     1,     3,     3 }, // Obolo/Latin/Nigeria
-    {    337,     4,   178,    0,    0,    0,    0,    6,    0,    1,    2,    3,    4,    5,   10,   14,   15,   16,   17,  265,  129,  315,  328,27371,27371,27417,27417,   83,   83,    0,    0,    0,    5,   22,  196, 5395,   15,    0, 7141, 5140,  6,  6,  6,  6,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 18,  6, 13,  8, 46, 46, 24, 24, 13, 13,  2,  2,  4, 17, 23,  2, 13,  5,  0,  5,  7, {80,75,82},      2,     0,     7,     6,     7,     1,     3,     3 }, // Baluchi/Arabic/Pakistan
-    {    337,    66,   178,    0,    0,    0,    0,    6,    0,    1,    2,    3,    4,    5,   10,   14,   15,   16,   17,  265,  129,  494,  507,27441,27441,27511,27511,   83,   83,    0,    0,    0,    5,   22,  196, 5740,   15,    0, 7146, 7153,  6,  6,  6,  6,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 18,  6, 13,  8, 70, 70, 26, 26, 13, 13,  2,  2,  4, 17, 23,  2, 14,  5,  0,  7,  8, {80,75,82},      2,     0,     7,     6,     7,     1,     3,     3 }, // Baluchi/Latin/Pakistan
+    {    337,     4,   178,    0,    0,    0,    0,    6,    0,    1,    2,    3,    4,    5,   10,   14,   15,   16,   17,  265,  129,  303,  316,27371,27371,27417,27417,   83,   83,    0,    0,    0,    5,   22,  196, 5395,   15,    0, 7141, 5140,  6,  6,  6,  6,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 18,  6, 13,  8, 46, 46, 24, 24, 13, 13,  2,  2,  4, 17, 23,  2, 13,  5,  0,  5,  7, {80,75,82},      2,     0,     7,     6,     7,     1,     3,     3 }, // Baluchi/Arabic/Pakistan
+    {    337,    66,   178,    0,    0,    0,    0,    6,    0,    1,    2,    3,    4,    5,   10,   14,   15,   16,   17,  265,  129,  482,  495,27441,27441,27511,27511,   83,   83,    0,    0,    0,    5,   22,  196, 5740,   15,    0, 7146, 7153,  6,  6,  6,  6,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 18,  6, 13,  8, 70, 70, 26, 26, 13, 13,  2,  2,  4, 17, 23,  2, 14,  5,  0,  7,  8, {80,75,82},      2,     0,     7,     6,     7,     1,     3,     3 }, // Baluchi/Latin/Pakistan
     {    338,    66,   117,    0,    0,  414,  414,    6,    1,    0,    2,    3,    4,    5,   10,   11,   12,   14,   15, 2140,   78,    0,    0,27537,27537,27591,27591,27625,27625,    0,    0,    0,    5,   22,   22,  405,    4,   20, 7161, 3728,  6,  6,  7,  7,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 21,  8, 10,  5, 54, 54, 34, 34, 13, 13,  2,  2,  4, 17, 23,  1,  4,  5,  7,  6,  6, {69,85,82},      2,     1,     1,     6,     7,     1,     3,     3 }, // Ligurian/Latin/Italy
     {    339,   142,   161,    0,    0,    0,    0,    6,    0,    1,    2,    3,    4,    5,   10,   14,   15,   16,   17,  163,  103,    0,    1,   56,   56,   56,   56,   83,   83,    0,    0,    0,    5,   22,  134,    0,   15,    0, 7167,    0,  6,  6,  6,  6,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 17, 10, 10,  4, 27, 27, 27, 27, 13, 13,  2,  2,  4, 17, 23,  1,  0,  5,  0, 18,  0, {77,77,75},      0,     0,     7,     6,     7,     1,     3,     3 }, // Rohingya/Hanifi/Myanmar
     {    339,   142,    20,    0,    0,    0,    0,    6,    0,    1,    2,    3,    4,    5,   10,   14,   15,   16,   17,  163,  103,   42,   54,   56,   56,   56,   56,   83,   83,    0,    0,    0,    5,   22,  132,    0,   15,    0, 7167,    0,  6,  6,  6,  6,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 17, 10, 12,  7, 27, 27, 27, 27, 13, 13,  2,  2,  4, 17, 23,  1,  0,  5,  0, 18,  0, {66,68,84},      2,     1,     7,     6,     7,     1,     3,     3 }, // Rohingya/Hanifi/Bangladesh
@@ -2399,8 +2399,7 @@ static constexpr char16_t time_format_data[] = {
 0x6d, 0x6d, 0x3a, 0x73, 0x73, 0x20, 0x27, 0x447, 0x27, 0x2e, 0x20, 0x74,
 0x74, 0x20, 0x48, 0x48, 0x3a, 0x6d, 0x6d, 0x3a, 0x73, 0x73, 0x41, 0x50,
 0x68, 0x3a, 0x6d, 0x6d, 0x3a, 0x73, 0x73, 0x20, 0x5b, 0x74, 0x5d, 0x74,
-0x20, 0x41, 0x50, 0x68, 0x3a, 0x6d, 0x6d, 0x3a, 0x73, 0x73, 0x42, 0x68,
-0x3a, 0x6d, 0x6d, 0x3a, 0x73, 0x73, 0x20, 0x5b, 0x74, 0x5d, 0x48, 0x48,
+0x20, 0x41, 0x50, 0x68, 0x3a, 0x6d, 0x6d, 0x3a, 0x73, 0x73, 0x48, 0x48,
 0x2e, 0x6d, 0x6d, 0x2e, 0x73, 0x73, 0x20, 0x74, 0xf46, 0xf74, 0xf0b, 0xf5a,
 0xf7c, 0xf51, 0xf0b, 0x20, 0x68, 0x20, 0xf66, 0xf90, 0xf62, 0xf0b, 0xf58, 0xf0b,
 0x20, 0x6d, 0x6d, 0x3a, 0x73, 0x73, 0x20, 0x41, 0x50, 0x20, 0x74, 0xf46,
diff --git a/tests/auto/corelib/text/qlocale/tst_qlocale.cpp b/tests/auto/corelib/text/qlocale/tst_qlocale.cpp
index bde19a6fca..7cbb51d6ab 100644
--- a/tests/auto/corelib/text/qlocale/tst_qlocale.cpp
+++ b/tests/auto/corelib/text/qlocale/tst_qlocale.cpp
@@ -3317,6 +3317,11 @@ void tst_QLocale::timeFormat()
     const QLocale bra("pt_BR");
     QCOMPARE(bra.timeFormat(QLocale::ShortFormat), QLatin1String("HH:mm"));
     QCOMPARE(bra.timeFormat(QLocale::LongFormat), QLatin1String("HH:mm:ss t"));
+
+    // QTBUG-123872 - we kludge CLDR's B to AP:
+    const QLocale tw("zh_TW");
+    QCOMPARE(tw.timeFormat(QLocale::ShortFormat), "APh:mm"_L1);
+    QCOMPARE(tw.timeFormat(QLocale::LongFormat), "APh:mm:ss [t]"_L1);
 }
 
 void tst_QLocale::dateTimeFormat()
-- 
2.44.0

