• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // This file is part of ICU4X. For terms of use, please see the file
2 // called LICENSE at the top level of the ICU4X source tree
3 // (online at: https://github.com/unicode-org/icu4x/blob/main/LICENSE ).
4 
5 use litemap::LiteMap;
6 
single_byte_intermediate_value(x: u8) -> u87 const fn single_byte_intermediate_value(x: u8) -> u8 {
8     debug_assert!(x <= 0b00001111);
9     x | 0b10000000
10 }
11 
12 use single_byte_intermediate_value as single_byte_short_value;
13 
single_byte_branch_equal(x: u8) -> u814 const fn single_byte_branch_equal(x: u8) -> u8 {
15     debug_assert!(x <= 0b00001111);
16     x | 0b11000000
17 }
18 
19 use single_byte_branch_equal as single_byte_short_match;
20 
21 #[allow(dead_code)]
strings_to_litemap<'a>(strings: &[&'a str]) -> LiteMap<&'a [u8], usize>22 pub fn strings_to_litemap<'a>(strings: &[&'a str]) -> LiteMap<&'a [u8], usize> {
23     strings
24         .iter()
25         .copied()
26         .map(|x| x.as_bytes())
27         .enumerate()
28         .map(|(i, s)| (s, i))
29         .collect()
30 }
31 
32 #[allow(dead_code)]
33 pub mod basic {
34     use super::*;
35     pub static TRIE_ASCII: &[u8] = &[
36         b'a',
37         b'b',
38         single_byte_short_value(1),
39         b'c',
40         single_byte_short_value(2),
41         // Begin Match Node
42         single_byte_short_match(3),
43         b'd',
44         b'e',
45         b'f',
46         5,
47         8,
48         // End Match Node
49         // subslice @ 0
50         single_byte_short_value(3),
51         b'g',
52         b'h',
53         b'i',
54         single_byte_short_value(4),
55         // subslice @ 5
56         b'j',
57         b'k',
58         single_byte_short_value(5),
59         // subslice @ 8
60         // Begin Match Node
61         single_byte_short_match(2),
62         b'l',
63         b'm',
64         1,
65         // End Match Node
66         // subsubslice @ 0
67         single_byte_short_value(6),
68         // subsubslice @ 1
69         b'n',
70         single_byte_short_value(7),
71     ];
72     pub static DATA_ASCII: &[(&[u8], usize)] = &[
73         (b"ab", 1),
74         (b"abc", 2),
75         (b"abcd", 3),
76         (b"abcdghi", 4),
77         (b"abcejk", 5),
78         (b"abcfl", 6),
79         (b"abcfmn", 7),
80     ];
81 
82     pub static TRIE_UNICODE: &[u8] = &[
83         196, 100, 102, 103, 107, 12, 17, 23, 195, 97, 101, 105, 2, 4, 115, 129, 114, 130, 101, 131,
84         162, 195, 188, 114, 132, 114, 111, 162, 195, 159, 133, 162, 195, 182, 110, 110, 101, 110,
85         134,
86     ];
87     pub static DATA_UNICODE: &[(&[u8], usize)] = &[
88         ("das".as_bytes(), 1),
89         ("der".as_bytes(), 2),
90         ("die".as_bytes(), 3),
91         ("für".as_bytes(), 4),
92         ("groß".as_bytes(), 5),
93         ("können".as_bytes(), 6),
94     ];
95 
96     pub static TRIE_BINARY: &[u8] = &[
97         196, 0, 129, 144, 240, 3, 9, 12, 161, 144, 131, 194, 130, 131, 1, 129, 130, 161, 144, 132,
98         161, 255, 133, 161, 255, 134,
99     ];
100     pub static DATA_BINARY: &[(&[u8], usize)] = &[
101         (b"\0\x90", 3),
102         (b"\x81\x82", 1),
103         (b"\x81\x83", 2),
104         (b"\x90\x90", 4),
105         (b"\xF0\xFF", 5),
106         (b"\xF0\xFF\xFF", 6),
107     ];
108 
109     // Note: Cow and ZeroVec have the same serialized form
110     pub static JSON_STR_ASCII: &str = "{\"trie\":{\"ab\":1,\"abc\":2,\"abcd\":3,\"abcdghi\":4,\"abcejk\":5,\"abcfl\":6,\"abcfmn\":7}}";
111     pub static JSON_STR_UNICODE: &str =
112         "{\"trie\":{\"das\":1,\"der\":2,\"die\":3,\"für\":4,\"groß\":5,\"können\":6}}";
113     pub static JSON_STR_BINARY: &str = "{\"trie\":[[[0,144],3],[[129,130],1],[[129,131],2],[[144,144],4],[[240,255],5],[[240,255,255],6]]}";
114     pub static BINCODE_BYTES_ASCII: &[u8] = &[
115         97, 98, 129, 99, 130, 195, 100, 101, 102, 5, 8, 131, 103, 104,
116         105, 132, 106, 107, 133, 194, 108, 109, 1, 134, 110, 135,
117     ];
118     pub static BINCODE_BYTES_UNICODE: &[u8] = &[
119         196, 100, 102, 103, 107, 12, 17, 23, 195, 97, 101, 105, 2, 4, 115,
120         129, 114, 130, 101, 131, 162, 195, 188, 114, 132, 114, 111, 162, 195, 159, 133, 162, 195,
121         182, 110, 110, 101, 110, 134,
122     ];
123     pub static BINCODE_BYTES_BINARY: &[u8] = &[
124         196, 0, 129, 144, 240, 3, 9, 12, 161, 144, 131, 194, 130, 131, 1,
125         129, 130, 161, 144, 132, 161, 255, 133, 161, 255, 134,
126     ];
127 }
128 
129 #[allow(dead_code)]
130 pub mod short_subtags {
131     pub static STRINGS: &[&str] = &[
132         "aa",
133         "aai",
134         "aak",
135         "aau",
136         "ab",
137         "abi",
138         "abq",
139         "abr",
140         "abt",
141         "aby",
142         "acd",
143         "ace",
144         "ach",
145         "ada",
146         "ade",
147         "adj",
148         "adp",
149         "ady",
150         "adz",
151         "ae",
152         "aeb",
153         "aey",
154         "af",
155         "agc",
156         "agd",
157         "agg",
158         "agm",
159         "ago",
160         "agq",
161         "aha",
162         "ahl",
163         "aho",
164         "ajg",
165         "ak",
166         "akk",
167         "ala",
168         "ali",
169         "aln",
170         "alt",
171         "am",
172         "amm",
173         "amn",
174         "amo",
175         "amp",
176         "an",
177         "anc",
178         "ank",
179         "ann",
180         "any",
181         "aoj",
182         "aom",
183         "aoz",
184         "apc",
185         "apd",
186         "ape",
187         "apr",
188         "aps",
189         "apz",
190         "ar",
191         "arc",
192         "arc-Nbat",
193         "arc-Palm",
194         "arh",
195         "arn",
196         "aro",
197         "arq",
198         "ars",
199         "ary",
200         "arz",
201         "as",
202         "asa",
203         "ase",
204         "asg",
205         "aso",
206         "ast",
207         "ata",
208         "atg",
209         "atj",
210         "auy",
211         "av",
212         "avl",
213         "avn",
214         "avt",
215         "avu",
216         "awa",
217         "awb",
218         "awo",
219         "awx",
220         "ay",
221         "ayb",
222         "az",
223         "az-Arab",
224         "az-IQ",
225         "az-IR",
226         "az-RU",
227         "ba",
228         "bal",
229         "ban",
230         "bap",
231         "bar",
232         "bas",
233         "bav",
234         "bax",
235         "bba",
236         "bbb",
237         "bbc",
238         "bbd",
239         "bbj",
240         "bbp",
241         "bbr",
242         "bcf",
243         "bch",
244         "bci",
245         "bcm",
246         "bcn",
247         "bco",
248         "bcq",
249         "bcu",
250         "bdd",
251         "be",
252         "bef",
253         "beh",
254         "bej",
255         "bem",
256         "bet",
257         "bew",
258         "bex",
259         "bez",
260         "bfd",
261         "bfq",
262         "bft",
263         "bfy",
264         "bg",
265         "bgc",
266         "bgn",
267         "bgx",
268         "bhb",
269         "bhg",
270         "bhi",
271         "bhl",
272         "bho",
273         "bhy",
274         "bi",
275         "bib",
276         "big",
277         "bik",
278         "bim",
279         "bin",
280         "bio",
281         "biq",
282         "bjh",
283         "bji",
284         "bjj",
285         "bjn",
286         "bjo",
287         "bjr",
288         "bjt",
289         "bjz",
290         "bkc",
291         "bkm",
292         "bkq",
293         "bku",
294         "bkv",
295         "bla",
296         "blg",
297         "blt",
298         "bm",
299         "bmh",
300         "bmk",
301         "bmq",
302         "bmu",
303         "bn",
304         "bng",
305         "bnm",
306         "bnp",
307         "bo",
308         "boj",
309         "bom",
310         "bon",
311         "bpy",
312         "bqc",
313         "bqi",
314         "bqp",
315         "bqv",
316         "br",
317         "bra",
318         "brh",
319         "brx",
320         "brz",
321         "bs",
322         "bsj",
323         "bsq",
324         "bss",
325         "bst",
326         "bto",
327         "btt",
328         "btv",
329         "bua",
330         "buc",
331         "bud",
332         "bug",
333         "buk",
334         "bum",
335         "buo",
336         "bus",
337         "buu",
338         "bvb",
339         "bwd",
340         "bwr",
341         "bxh",
342         "bye",
343         "byn",
344         "byr",
345         "bys",
346         "byv",
347         "byx",
348         "bza",
349         "bze",
350         "bzf",
351         "bzh",
352         "bzw",
353         "ca",
354         "cad",
355         "can",
356         "cbj",
357         "cch",
358         "ccp",
359         "ce",
360         "ceb",
361         "cfa",
362         "cgg",
363         "ch",
364         "chk",
365         "chm",
366         "cho",
367         "chp",
368         "chr",
369         "cic",
370         "cja",
371         "cjm",
372         "cjv",
373         "ckb",
374         "ckl",
375         "cko",
376         "cky",
377         "cla",
378         "clc",
379         "cme",
380         "cmg",
381         "co",
382         "cop",
383         "cps",
384         "cr",
385         "crg",
386         "crh",
387         "crk",
388         "crl",
389         "crs",
390         "cs",
391         "csb",
392         "csw",
393         "ctd",
394         "cu",
395         "cu-Glag",
396         "cv",
397         "cy",
398         "da",
399         "dad",
400         "daf",
401         "dag",
402         "dah",
403         "dak",
404         "dar",
405         "dav",
406         "dbd",
407         "dbq",
408         "dcc",
409         "ddn",
410         "de",
411         "ded",
412         "den",
413         "dga",
414         "dgh",
415         "dgi",
416         "dgl",
417         "dgr",
418         "dgz",
419         "dia",
420         "dje",
421         "dmf",
422         "dnj",
423         "dob",
424         "doi",
425         "dop",
426         "dow",
427         "drh",
428         "dri",
429         "drs",
430         "dsb",
431         "dtm",
432         "dtp",
433         "dts",
434         "dty",
435         "dua",
436         "duc",
437         "dud",
438         "dug",
439         "dv",
440         "dva",
441         "dww",
442         "dyo",
443         "dyu",
444         "dz",
445         "dzg",
446         "ebu",
447         "ee",
448         "efi",
449         "egl",
450         "egy",
451         "eka",
452         "eky",
453         "el",
454         "ema",
455         "emi",
456         "en",
457         "en-Shaw",
458         "enn",
459         "enq",
460         "eo",
461         "eri",
462         "es",
463         "esg",
464         "esu",
465         "et",
466         "etr",
467         "ett",
468         "etu",
469         "etx",
470         "eu",
471         "ewo",
472         "ext",
473         "eza",
474         "fa",
475         "faa",
476         "fab",
477         "fag",
478         "fai",
479         "fan",
480         "ff",
481         "ff-Adlm",
482         "ffi",
483         "ffm",
484         "fi",
485         "fia",
486         "fil",
487         "fit",
488         "fj",
489         "flr",
490         "fmp",
491         "fo",
492         "fod",
493         "fon",
494         "for",
495         "fpe",
496         "fqs",
497         "fr",
498         "frc",
499         "frp",
500         "frr",
501         "frs",
502         "fub",
503         "fud",
504         "fue",
505         "fuf",
506         "fuh",
507         "fuq",
508         "fur",
509         "fuv",
510         "fuy",
511         "fvr",
512         "fy",
513         "ga",
514         "gaa",
515         "gaf",
516         "gag",
517         "gah",
518         "gaj",
519         "gam",
520         "gan",
521         "gaw",
522         "gay",
523         "gba",
524         "gbf",
525         "gbm",
526         "gby",
527         "gbz",
528         "gcr",
529         "gd",
530         "gde",
531         "gdn",
532         "gdr",
533         "geb",
534         "gej",
535         "gel",
536         "gez",
537         "gfk",
538         "ggn",
539         "ghs",
540         "gil",
541         "gim",
542         "gjk",
543         "gjn",
544         "gju",
545         "gkn",
546         "gkp",
547         "gl",
548         "glk",
549         "gmm",
550         "gmv",
551         "gn",
552         "gnd",
553         "gng",
554         "god",
555         "gof",
556         "goi",
557         "gom",
558         "gon",
559         "gor",
560         "gos",
561         "got",
562         "grb",
563         "grc",
564         "grc-Linb",
565         "grt",
566         "grw",
567         "gsw",
568         "gu",
569         "gub",
570         "guc",
571         "gud",
572         "gur",
573         "guw",
574         "gux",
575         "guz",
576         "gv",
577         "gvf",
578         "gvr",
579         "gvs",
580         "gwc",
581         "gwi",
582         "gwt",
583         "gyi",
584         "ha",
585         "ha-CM",
586         "ha-SD",
587         "hag",
588         "hak",
589         "ham",
590         "haw",
591         "haz",
592         "hbb",
593         "hdy",
594         "he",
595         "hhy",
596         "hi",
597         "hi-Latn",
598         "hia",
599         "hif",
600         "hig",
601         "hih",
602         "hil",
603         "hla",
604         "hlu",
605         "hmd",
606         "hmt",
607         "hnd",
608         "hne",
609         "hnj",
610         "hnn",
611         "hno",
612         "ho",
613         "hoc",
614         "hoj",
615         "hot",
616         "hr",
617         "hsb",
618         "hsn",
619         "ht",
620         "hu",
621         "hui",
622         "hur",
623         "hy",
624         "hz",
625         "ia",
626         "ian",
627         "iar",
628         "iba",
629         "ibb",
630         "iby",
631         "ica",
632         "ich",
633         "id",
634         "idd",
635         "idi",
636         "idu",
637         "ife",
638         "ig",
639         "igb",
640         "ige",
641         "ii",
642         "ijj",
643         "ik",
644         "ikk",
645         "ikw",
646         "ikx",
647         "ilo",
648         "imo",
649         "in",
650         "inh",
651         "io",
652         "iou",
653         "iri",
654         "is",
655         "it",
656         "iu",
657         "iw",
658         "iwm",
659         "iws",
660         "izh",
661         "izi",
662         "ja",
663         "jab",
664         "jam",
665         "jar",
666         "jbo",
667         "jbu",
668         "jen",
669         "jgk",
670         "jgo",
671         "ji",
672         "jib",
673         "jmc",
674         "jml",
675         "jra",
676         "jut",
677         "jv",
678         "jw",
679         "ka",
680         "kaa",
681         "kab",
682         "kac",
683         "kad",
684         "kai",
685         "kaj",
686         "kam",
687         "kao",
688         "kaw",
689         "kbd",
690         "kbm",
691         "kbp",
692         "kbq",
693         "kbx",
694         "kby",
695         "kcg",
696         "kck",
697         "kcl",
698         "kct",
699         "kde",
700         "kdh",
701         "kdl",
702         "kdt",
703         "kea",
704         "ken",
705         "kez",
706         "kfo",
707         "kfr",
708         "kfy",
709         "kg",
710         "kge",
711         "kgf",
712         "kgp",
713         "kha",
714         "khb",
715         "khn",
716         "khq",
717         "khs",
718         "kht",
719         "khw",
720         "khz",
721         "ki",
722         "kij",
723         "kiu",
724         "kiw",
725         "kj",
726         "kjd",
727         "kjg",
728         "kjs",
729         "kjy",
730         "kk",
731         "kk-AF",
732         "kk-Arab",
733         "kk-CN",
734         "kk-IR",
735         "kk-MN",
736         "kkc",
737         "kkj",
738         "kl",
739         "kln",
740         "klq",
741         "klt",
742         "klx",
743         "km",
744         "kmb",
745         "kmh",
746         "kmo",
747         "kms",
748         "kmu",
749         "kmw",
750         "kn",
751         "knf",
752         "knp",
753         "ko",
754         "koi",
755         "kok",
756         "kol",
757         "kos",
758         "koz",
759         "kpe",
760         "kpf",
761         "kpo",
762         "kpr",
763         "kpx",
764         "kqb",
765         "kqf",
766         "kqs",
767         "kqy",
768         "kr",
769         "krc",
770         "kri",
771         "krj",
772         "krl",
773         "krs",
774         "kru",
775         "ks",
776         "ksb",
777         "ksd",
778         "ksf",
779         "ksh",
780         "ksj",
781         "ksr",
782         "ktb",
783         "ktm",
784         "kto",
785         "ktr",
786         "ku",
787         "ku-Arab",
788         "ku-LB",
789         "ku-Yezi",
790         "kub",
791         "kud",
792         "kue",
793         "kuj",
794         "kum",
795         "kun",
796         "kup",
797         "kus",
798         "kv",
799         "kvg",
800         "kvr",
801         "kvx",
802         "kw",
803         "kwj",
804         "kwk",
805         "kwo",
806         "kwq",
807         "kxa",
808         "kxc",
809         "kxe",
810         "kxl",
811         "kxm",
812         "kxp",
813         "kxw",
814         "kxz",
815         "ky",
816         "ky-Arab",
817         "ky-CN",
818         "ky-Latn",
819         "ky-TR",
820         "kye",
821         "kyx",
822         "kzh",
823         "kzj",
824         "kzr",
825         "kzt",
826         "la",
827         "lab",
828         "lad",
829         "lag",
830         "lah",
831         "laj",
832         "las",
833         "lb",
834         "lbe",
835         "lbu",
836         "lbw",
837         "lcm",
838         "lcp",
839         "ldb",
840         "led",
841         "lee",
842         "lem",
843         "lep",
844         "leq",
845         "leu",
846         "lez",
847         "lg",
848         "lgg",
849         "li",
850         "lia",
851         "lid",
852         "lif",
853         "lif-Limb",
854         "lig",
855         "lih",
856         "lij",
857         "lil",
858         "lis",
859         "ljp",
860         "lki",
861         "lkt",
862         "lle",
863         "lln",
864         "lmn",
865         "lmo",
866         "lmp",
867         "ln",
868         "lns",
869         "lnu",
870         "lo",
871         "loj",
872         "lok",
873         "lol",
874         "lor",
875         "los",
876         "loz",
877         "lrc",
878         "lt",
879         "ltg",
880         "lu",
881         "lua",
882         "luo",
883         "luy",
884         "luz",
885         "lv",
886         "lwl",
887         "lzh",
888         "lzz",
889         "mad",
890         "maf",
891         "mag",
892         "mai",
893         "mak",
894         "man",
895         "man-GN",
896         "man-Nkoo",
897         "mas",
898         "maw",
899         "maz",
900         "mbh",
901         "mbo",
902         "mbq",
903         "mbu",
904         "mbw",
905         "mci",
906         "mcp",
907         "mcq",
908         "mcr",
909         "mcu",
910         "mda",
911         "mde",
912         "mdf",
913         "mdh",
914         "mdj",
915         "mdr",
916         "mdx",
917         "med",
918         "mee",
919         "mek",
920         "men",
921         "mer",
922         "met",
923         "meu",
924         "mfa",
925         "mfe",
926         "mfn",
927         "mfo",
928         "mfq",
929         "mg",
930         "mgh",
931         "mgl",
932         "mgo",
933         "mgp",
934         "mgy",
935         "mh",
936         "mhi",
937         "mhl",
938         "mi",
939         "mic",
940         "mif",
941         "min",
942         "miw",
943         "mk",
944         "mki",
945         "mkl",
946         "mkp",
947         "mkw",
948         "ml",
949         "mle",
950         "mlp",
951         "mls",
952         "mmo",
953         "mmu",
954         "mmx",
955         "mn",
956         "mn-CN",
957         "mn-Mong",
958         "mna",
959         "mnf",
960         "mni",
961         "mnw",
962         "mo",
963         "moa",
964         "moe",
965         "moh",
966         "mos",
967         "mox",
968         "mpp",
969         "mps",
970         "mpt",
971         "mpx",
972         "mql",
973         "mr",
974         "mrd",
975         "mrj",
976         "mro",
977         "ms",
978         "ms-CC",
979         "mt",
980         "mtc",
981         "mtf",
982         "mti",
983         "mtr",
984         "mua",
985         "mur",
986         "mus",
987         "mva",
988         "mvn",
989         "mvy",
990         "mwk",
991         "mwr",
992         "mwv",
993         "mww",
994         "mxc",
995         "mxm",
996         "my",
997         "myk",
998         "mym",
999         "myv",
1000         "myw",
1001         "myx",
1002         "myz",
1003         "mzk",
1004         "mzm",
1005         "mzn",
1006         "mzp",
1007         "mzw",
1008         "mzz",
1009         "na",
1010         "nac",
1011         "naf",
1012         "nak",
1013         "nan",
1014         "nap",
1015         "naq",
1016         "nas",
1017         "nb",
1018         "nca",
1019         "nce",
1020         "ncf",
1021         "nch",
1022         "nco",
1023         "ncu",
1024         "nd",
1025         "ndc",
1026         "nds",
1027         "ne",
1028         "neb",
1029         "new",
1030         "nex",
1031         "nfr",
1032         "ng",
1033         "nga",
1034         "ngb",
1035         "ngl",
1036         "nhb",
1037         "nhe",
1038         "nhw",
1039         "nif",
1040         "nii",
1041         "nij",
1042         "nin",
1043         "niu",
1044         "niy",
1045         "niz",
1046         "njo",
1047         "nkg",
1048         "nko",
1049         "nl",
1050         "nmg",
1051         "nmz",
1052         "nn",
1053         "nnf",
1054         "nnh",
1055         "nnk",
1056         "nnm",
1057         "nnp",
1058         "no",
1059         "nod",
1060         "noe",
1061         "non",
1062         "nop",
1063         "nou",
1064         "nqo",
1065         "nr",
1066         "nrb",
1067         "nsk",
1068         "nsn",
1069         "nso",
1070         "nss",
1071         "nst",
1072         "ntm",
1073         "ntr",
1074         "nui",
1075         "nup",
1076         "nus",
1077         "nuv",
1078         "nux",
1079         "nv",
1080         "nwb",
1081         "nxq",
1082         "nxr",
1083         "ny",
1084         "nym",
1085         "nyn",
1086         "nzi",
1087         "oc",
1088         "ogc",
1089         "oj",
1090         "ojs",
1091         "oka",
1092         "okr",
1093         "okv",
1094         "om",
1095         "ong",
1096         "onn",
1097         "ons",
1098         "opm",
1099         "or",
1100         "oro",
1101         "oru",
1102         "os",
1103         "osa",
1104         "ota",
1105         "otk",
1106         "oui",
1107         "ozm",
1108         "pa",
1109         "pa-Arab",
1110         "pa-PK",
1111         "pag",
1112         "pal",
1113         "pal-Phlp",
1114         "pam",
1115         "pap",
1116         "pau",
1117         "pbi",
1118         "pcd",
1119         "pcm",
1120         "pdc",
1121         "pdt",
1122         "ped",
1123         "peo",
1124         "pex",
1125         "pfl",
1126         "phl",
1127         "phn",
1128         "pil",
1129         "pip",
1130         "pka",
1131         "pko",
1132         "pl",
1133         "pla",
1134         "pms",
1135         "png",
1136         "pnn",
1137         "pnt",
1138         "pon",
1139         "ppa",
1140         "ppo",
1141         "pqm",
1142         "pra",
1143         "prd",
1144         "prg",
1145         "ps",
1146         "pss",
1147         "pt",
1148         "ptp",
1149         "puu",
1150         "pwa",
1151         "qu",
1152         "quc",
1153         "qug",
1154         "rai",
1155         "raj",
1156         "rao",
1157         "rcf",
1158         "rej",
1159         "rel",
1160         "res",
1161         "rgn",
1162         "rhg",
1163         "ria",
1164         "rif",
1165         "rif-NL",
1166         "rjs",
1167         "rkt",
1168         "rm",
1169         "rmf",
1170         "rmo",
1171         "rmt",
1172         "rmu",
1173         "rn",
1174         "rna",
1175         "rng",
1176         "ro",
1177         "rob",
1178         "rof",
1179         "roo",
1180         "rro",
1181         "rtm",
1182         "ru",
1183         "rue",
1184         "rug",
1185         "rw",
1186         "rwk",
1187         "rwo",
1188         "ryu",
1189         "sa",
1190         "saf",
1191         "sah",
1192         "saq",
1193         "sas",
1194         "sat",
1195         "sav",
1196         "saz",
1197         "sba",
1198         "sbe",
1199         "sbp",
1200         "sc",
1201         "sck",
1202         "scl",
1203         "scn",
1204         "sco",
1205         "sd",
1206         "sd-Deva",
1207         "sd-IN",
1208         "sd-Khoj",
1209         "sd-Sind",
1210         "sdc",
1211         "sdh",
1212         "se",
1213         "sef",
1214         "seh",
1215         "sei",
1216         "ses",
1217         "sg",
1218         "sga",
1219         "sgs",
1220         "sgw",
1221         "sgz",
1222         "shi",
1223         "shk",
1224         "shn",
1225         "shu",
1226         "si",
1227         "sid",
1228         "sig",
1229         "sil",
1230         "sim",
1231         "sjr",
1232         "sk",
1233         "skc",
1234         "skr",
1235         "sks",
1236         "sl",
1237         "sld",
1238         "sli",
1239         "sll",
1240         "sly",
1241         "sm",
1242         "sma",
1243         "smj",
1244         "smn",
1245         "smp",
1246         "smq",
1247         "sms",
1248         "sn",
1249         "snc",
1250         "snk",
1251         "snp",
1252         "snx",
1253         "sny",
1254         "so",
1255         "sog",
1256         "sok",
1257         "soq",
1258         "sou",
1259         "soy",
1260         "spd",
1261         "spl",
1262         "sps",
1263         "sq",
1264         "sr",
1265         "sr-ME",
1266         "sr-RO",
1267         "sr-RU",
1268         "sr-TR",
1269         "srb",
1270         "srn",
1271         "srr",
1272         "srx",
1273         "ss",
1274         "ssd",
1275         "ssg",
1276         "ssy",
1277         "st",
1278         "stk",
1279         "stq",
1280         "su",
1281         "sua",
1282         "sue",
1283         "suk",
1284         "sur",
1285         "sus",
1286         "sv",
1287         "sw",
1288         "swb",
1289         "swc",
1290         "swg",
1291         "swp",
1292         "swv",
1293         "sxn",
1294         "sxw",
1295         "syl",
1296         "syr",
1297         "szl",
1298         "ta",
1299         "taj",
1300         "tal",
1301         "tan",
1302         "taq",
1303         "tbc",
1304         "tbd",
1305         "tbf",
1306         "tbg",
1307         "tbo",
1308         "tbw",
1309         "tbz",
1310         "tci",
1311         "tcy",
1312         "tdd",
1313         "tdg",
1314         "tdh",
1315         "tdu",
1316         "te",
1317         "ted",
1318         "tem",
1319         "teo",
1320         "tet",
1321         "tfi",
1322         "tg",
1323         "tg-Arab",
1324         "tg-PK",
1325         "tgc",
1326         "tgo",
1327         "tgu",
1328         "th",
1329         "thl",
1330         "thq",
1331         "thr",
1332         "ti",
1333         "tif",
1334         "tig",
1335         "tik",
1336         "tim",
1337         "tio",
1338         "tiv",
1339         "tk",
1340         "tkl",
1341         "tkr",
1342         "tkt",
1343         "tl",
1344         "tlf",
1345         "tlx",
1346         "tly",
1347         "tmh",
1348         "tmy",
1349         "tn",
1350         "tnh",
1351         "to",
1352         "tof",
1353         "tog",
1354         "toq",
1355         "tpi",
1356         "tpm",
1357         "tpz",
1358         "tqo",
1359         "tr",
1360         "tru",
1361         "trv",
1362         "trw",
1363         "ts",
1364         "tsd",
1365         "tsf",
1366         "tsg",
1367         "tsj",
1368         "tsw",
1369         "tt",
1370         "ttd",
1371         "tte",
1372         "ttj",
1373         "ttr",
1374         "tts",
1375         "ttt",
1376         "tuh",
1377         "tul",
1378         "tum",
1379         "tuq",
1380         "tvd",
1381         "tvl",
1382         "tvu",
1383         "twh",
1384         "twq",
1385         "txg",
1386         "txo",
1387         "ty",
1388         "tya",
1389         "tyv",
1390         "tzm",
1391         "ubu",
1392         "udi",
1393         "udm",
1394         "ug",
1395         "ug-Cyrl",
1396         "ug-KZ",
1397         "ug-MN",
1398         "uga",
1399         "uk",
1400         "uli",
1401         "umb",
1402         "und",
1403         "und-002",
1404         "und-003",
1405         "und-005",
1406         "und-009",
1407         "und-011",
1408         "und-013",
1409         "und-014",
1410         "und-015",
1411         "und-017",
1412         "und-018",
1413         "und-019",
1414         "und-021",
1415         "und-029",
1416         "und-030",
1417         "und-034",
1418         "und-035",
1419         "und-039",
1420         "und-053",
1421         "und-054",
1422         "und-057",
1423         "und-061",
1424         "und-142",
1425         "und-143",
1426         "und-145",
1427         "und-150",
1428         "und-151",
1429         "und-154",
1430         "und-155",
1431         "und-202",
1432         "und-419",
1433         "und-AD",
1434         "und-Adlm",
1435         "und-AE",
1436         "und-AF",
1437         "und-Aghb",
1438         "und-Ahom",
1439         "und-AL",
1440         "und-AM",
1441         "und-AO",
1442         "und-AQ",
1443         "und-AR",
1444         "und-Arab",
1445         "und-Arab-CC",
1446         "und-Arab-CN",
1447         "und-Arab-GB",
1448         "und-Arab-ID",
1449         "und-Arab-IN",
1450         "und-Arab-KH",
1451         "und-Arab-MM",
1452         "und-Arab-MN",
1453         "und-Arab-MU",
1454         "und-Arab-NG",
1455         "und-Arab-PK",
1456         "und-Arab-TG",
1457         "und-Arab-TH",
1458         "und-Arab-TJ",
1459         "und-Arab-TR",
1460         "und-Arab-YT",
1461         "und-Armi",
1462         "und-Armn",
1463         "und-AS",
1464         "und-AT",
1465         "und-Avst",
1466         "und-AW",
1467         "und-AX",
1468         "und-AZ",
1469         "und-BA",
1470         "und-Bali",
1471         "und-Bamu",
1472         "und-Bass",
1473         "und-Batk",
1474         "und-BD",
1475         "und-BE",
1476         "und-Beng",
1477         "und-BF",
1478         "und-BG",
1479         "und-BH",
1480         "und-Bhks",
1481         "und-BI",
1482         "und-BJ",
1483         "und-BL",
1484         "und-BN",
1485         "und-BO",
1486         "und-Bopo",
1487         "und-BQ",
1488         "und-BR",
1489         "und-Brah",
1490         "und-Brai",
1491         "und-BT",
1492         "und-Bugi",
1493         "und-Buhd",
1494         "und-BV",
1495         "und-BY",
1496         "und-Cakm",
1497         "und-Cans",
1498         "und-Cari",
1499         "und-CD",
1500         "und-CF",
1501         "und-CG",
1502         "und-CH",
1503         "und-Cham",
1504         "und-Cher",
1505         "und-Chrs",
1506         "und-CI",
1507         "und-CL",
1508         "und-CM",
1509         "und-CN",
1510         "und-CO",
1511         "und-Copt",
1512         "und-CP",
1513         "und-Cpmn",
1514         "und-Cpmn-CY",
1515         "und-Cprt",
1516         "und-CR",
1517         "und-CU",
1518         "und-CV",
1519         "und-CW",
1520         "und-CY",
1521         "und-Cyrl",
1522         "und-Cyrl-AL",
1523         "und-Cyrl-BA",
1524         "und-Cyrl-GE",
1525         "und-Cyrl-GR",
1526         "und-Cyrl-MD",
1527         "und-Cyrl-RO",
1528         "und-Cyrl-SK",
1529         "und-Cyrl-TR",
1530         "und-Cyrl-XK",
1531         "und-CZ",
1532         "und-DE",
1533         "und-Deva",
1534         "und-Deva-BT",
1535         "und-Deva-FJ",
1536         "und-Deva-MU",
1537         "und-Deva-PK",
1538         "und-Diak",
1539         "und-DJ",
1540         "und-DK",
1541         "und-DO",
1542         "und-Dogr",
1543         "und-Dupl",
1544         "und-DZ",
1545         "und-EA",
1546         "und-EC",
1547         "und-EE",
1548         "und-EG",
1549         "und-Egyp",
1550         "und-EH",
1551         "und-Elba",
1552         "und-Elym",
1553         "und-ER",
1554         "und-ES",
1555         "und-ET",
1556         "und-Ethi",
1557         "und-EU",
1558         "und-EZ",
1559         "und-FI",
1560         "und-FO",
1561         "und-FR",
1562         "und-GA",
1563         "und-GE",
1564         "und-Geor",
1565         "und-GF",
1566         "und-GH",
1567         "und-GL",
1568         "und-Glag",
1569         "und-GN",
1570         "und-Gong",
1571         "und-Gonm",
1572         "und-Goth",
1573         "und-GP",
1574         "und-GQ",
1575         "und-GR",
1576         "und-Gran",
1577         "und-Grek",
1578         "und-Grek-TR",
1579         "und-GS",
1580         "und-GT",
1581         "und-Gujr",
1582         "und-Guru",
1583         "und-GW",
1584         "und-Hanb",
1585         "und-Hang",
1586         "und-Hani",
1587         "und-Hano",
1588         "und-Hans",
1589         "und-Hant",
1590         "und-Hant-CA",
1591         "und-Hebr",
1592         "und-Hebr-SE",
1593         "und-Hebr-UA",
1594         "und-Hebr-US",
1595         "und-Hira",
1596         "und-HK",
1597         "und-Hluw",
1598         "und-HM",
1599         "und-Hmng",
1600         "und-Hmnp",
1601         "und-HN",
1602         "und-HR",
1603         "und-HT",
1604         "und-HU",
1605         "und-Hung",
1606         "und-IC",
1607         "und-ID",
1608         "und-IL",
1609         "und-IN",
1610         "und-IQ",
1611         "und-IR",
1612         "und-IS",
1613         "und-IT",
1614         "und-Ital",
1615         "und-Jamo",
1616         "und-Java",
1617         "und-JO",
1618         "und-JP",
1619         "und-Jpan",
1620         "und-Kali",
1621         "und-Kana",
1622         "und-Kawi",
1623         "und-KE",
1624         "und-KG",
1625         "und-KH",
1626         "und-Khar",
1627         "und-Khmr",
1628         "und-Khoj",
1629         "und-Kits",
1630         "und-KM",
1631         "und-Knda",
1632         "und-Kore",
1633         "und-KP",
1634         "und-KR",
1635         "und-Kthi",
1636         "und-KW",
1637         "und-KZ",
1638         "und-LA",
1639         "und-Lana",
1640         "und-Laoo",
1641         "und-Latn-AF",
1642         "und-Latn-AM",
1643         "und-Latn-CN",
1644         "und-Latn-CY",
1645         "und-Latn-DZ",
1646         "und-Latn-ET",
1647         "und-Latn-GE",
1648         "und-Latn-IR",
1649         "und-Latn-KM",
1650         "und-Latn-MA",
1651         "und-Latn-MK",
1652         "und-Latn-MM",
1653         "und-Latn-MO",
1654         "und-Latn-MR",
1655         "und-Latn-RU",
1656         "und-Latn-SY",
1657         "und-Latn-TN",
1658         "und-Latn-TW",
1659         "und-Latn-UA",
1660         "und-LB",
1661         "und-Lepc",
1662         "und-LI",
1663         "und-Limb",
1664         "und-Lina",
1665         "und-Linb",
1666         "und-Lisu",
1667         "und-LK",
1668         "und-LS",
1669         "und-LT",
1670         "und-LU",
1671         "und-LV",
1672         "und-LY",
1673         "und-Lyci",
1674         "und-Lydi",
1675         "und-MA",
1676         "und-Mahj",
1677         "und-Maka",
1678         "und-Mand",
1679         "und-Mani",
1680         "und-Marc",
1681         "und-MC",
1682         "und-MD",
1683         "und-ME",
1684         "und-Medf",
1685         "und-Mend",
1686         "und-Merc",
1687         "und-Mero",
1688         "und-MF",
1689         "und-MG",
1690         "und-MK",
1691         "und-ML",
1692         "und-Mlym",
1693         "und-MM",
1694         "und-MN",
1695         "und-MO",
1696         "und-Modi",
1697         "und-Mong",
1698         "und-MQ",
1699         "und-MR",
1700         "und-Mroo",
1701         "und-MT",
1702         "und-Mtei",
1703         "und-MU",
1704         "und-Mult",
1705         "und-MV",
1706         "und-MX",
1707         "und-MY",
1708         "und-Mymr",
1709         "und-Mymr-IN",
1710         "und-Mymr-TH",
1711         "und-MZ",
1712         "und-NA",
1713         "und-Nagm",
1714         "und-Nand",
1715         "und-Narb",
1716         "und-Nbat",
1717         "und-NC",
1718         "und-NE",
1719         "und-Newa",
1720         "und-NI",
1721         "und-Nkoo",
1722         "und-NL",
1723         "und-NO",
1724         "und-NP",
1725         "und-Nshu",
1726         "und-Ogam",
1727         "und-Olck",
1728         "und-OM",
1729         "und-Orkh",
1730         "und-Orya",
1731         "und-Osge",
1732         "und-Osma",
1733         "und-Ougr",
1734         "und-PA",
1735         "und-Palm",
1736         "und-Pauc",
1737         "und-PE",
1738         "und-Perm",
1739         "und-PF",
1740         "und-PG",
1741         "und-PH",
1742         "und-Phag",
1743         "und-Phli",
1744         "und-Phlp",
1745         "und-Phnx",
1746         "und-PK",
1747         "und-PL",
1748         "und-Plrd",
1749         "und-PM",
1750         "und-PR",
1751         "und-Prti",
1752         "und-PS",
1753         "und-PT",
1754         "und-PW",
1755         "und-PY",
1756         "und-QA",
1757         "und-QO",
1758         "und-RE",
1759         "und-Rjng",
1760         "und-RO",
1761         "und-Rohg",
1762         "und-RS",
1763         "und-RU",
1764         "und-Runr",
1765         "und-RW",
1766         "und-SA",
1767         "und-Samr",
1768         "und-Sarb",
1769         "und-Saur",
1770         "und-SC",
1771         "und-SD",
1772         "und-SE",
1773         "und-Sgnw",
1774         "und-Shaw",
1775         "und-Shrd",
1776         "und-SI",
1777         "und-Sidd",
1778         "und-Sind",
1779         "und-Sinh",
1780         "und-SJ",
1781         "und-SK",
1782         "und-SM",
1783         "und-SN",
1784         "und-SO",
1785         "und-Sogd",
1786         "und-Sogo",
1787         "und-Sora",
1788         "und-Soyo",
1789         "und-SR",
1790         "und-ST",
1791         "und-Sund",
1792         "und-SV",
1793         "und-SY",
1794         "und-Sylo",
1795         "und-Syrc",
1796         "und-Tagb",
1797         "und-Takr",
1798         "und-Tale",
1799         "und-Talu",
1800         "und-Taml",
1801         "und-Tang",
1802         "und-Tavt",
1803         "und-TD",
1804         "und-Telu",
1805         "und-TF",
1806         "und-Tfng",
1807         "und-TG",
1808         "und-Tglg",
1809         "und-TH",
1810         "und-Thaa",
1811         "und-Thai",
1812         "und-Thai-CN",
1813         "und-Thai-KH",
1814         "und-Thai-LA",
1815         "und-Tibt",
1816         "und-Tirh",
1817         "und-TJ",
1818         "und-TK",
1819         "und-TL",
1820         "und-TM",
1821         "und-TN",
1822         "und-Tnsa",
1823         "und-TO",
1824         "und-Toto",
1825         "und-TR",
1826         "und-TV",
1827         "und-TW",
1828         "und-TZ",
1829         "und-UA",
1830         "und-UG",
1831         "und-Ugar",
1832         "und-UY",
1833         "und-UZ",
1834         "und-VA",
1835         "und-Vaii",
1836         "und-VE",
1837         "und-Vith",
1838         "und-VN",
1839         "und-VU",
1840         "und-Wara",
1841         "und-Wcho",
1842         "und-WF",
1843         "und-WS",
1844         "und-XK",
1845         "und-Xpeo",
1846         "und-Xsux",
1847         "und-YE",
1848         "und-Yezi",
1849         "und-Yiii",
1850         "und-YT",
1851         "und-Zanb",
1852         "und-ZW",
1853         "unr",
1854         "unr-Deva",
1855         "unr-NP",
1856         "unx",
1857         "uok",
1858         "ur",
1859         "uri",
1860         "urt",
1861         "urw",
1862         "usa",
1863         "uth",
1864         "utr",
1865         "uvh",
1866         "uvl",
1867         "uz",
1868         "uz-AF",
1869         "uz-Arab",
1870         "uz-CN",
1871         "vag",
1872         "vai",
1873         "van",
1874         "ve",
1875         "vec",
1876         "vep",
1877         "vi",
1878         "vic",
1879         "viv",
1880         "vls",
1881         "vmf",
1882         "vmw",
1883         "vo",
1884         "vot",
1885         "vro",
1886         "vun",
1887         "vut",
1888         "wa",
1889         "wae",
1890         "waj",
1891         "wal",
1892         "wan",
1893         "war",
1894         "wbp",
1895         "wbq",
1896         "wbr",
1897         "wci",
1898         "wer",
1899         "wgi",
1900         "whg",
1901         "wib",
1902         "wiu",
1903         "wiv",
1904         "wja",
1905         "wji",
1906         "wls",
1907         "wmo",
1908         "wnc",
1909         "wni",
1910         "wnu",
1911         "wo",
1912         "wob",
1913         "wos",
1914         "wrs",
1915         "wsg",
1916         "wsk",
1917         "wtm",
1918         "wuu",
1919         "wuv",
1920         "wwa",
1921         "xav",
1922         "xbi",
1923         "xco",
1924         "xcr",
1925         "xes",
1926         "xh",
1927         "xla",
1928         "xlc",
1929         "xld",
1930         "xmf",
1931         "xmn",
1932         "xmr",
1933         "xna",
1934         "xnr",
1935         "xog",
1936         "xon",
1937         "xpr",
1938         "xrb",
1939         "xsa",
1940         "xsi",
1941         "xsm",
1942         "xsr",
1943         "xwe",
1944         "yam",
1945         "yao",
1946         "yap",
1947         "yas",
1948         "yat",
1949         "yav",
1950         "yay",
1951         "yaz",
1952         "yba",
1953         "ybb",
1954         "yby",
1955         "yer",
1956         "ygr",
1957         "ygw",
1958         "yi",
1959         "yko",
1960         "yle",
1961         "ylg",
1962         "yll",
1963         "yml",
1964         "yo",
1965         "yon",
1966         "yrb",
1967         "yre",
1968         "yrl",
1969         "yss",
1970         "yua",
1971         "yue",
1972         "yue-CN",
1973         "yue-Hans",
1974         "yuj",
1975         "yut",
1976         "yuw",
1977         "za",
1978         "zag",
1979         "zdj",
1980         "zea",
1981         "zgh",
1982         "zh",
1983         "zh-AU",
1984         "zh-BN",
1985         "zh-Bopo",
1986         "zh-GB",
1987         "zh-GF",
1988         "zh-Hanb",
1989         "zh-Hant",
1990         "zh-HK",
1991         "zh-ID",
1992         "zh-MO",
1993         "zh-PA",
1994         "zh-PF",
1995         "zh-PH",
1996         "zh-SR",
1997         "zh-TH",
1998         "zh-TW",
1999         "zh-US",
2000         "zh-VN",
2001         "zhx",
2002         "zia",
2003         "zkt",
2004         "zlm",
2005         "zmi",
2006         "zne",
2007         "zu",
2008         "zza",
2009     ];
2010 }
2011 
2012 #[allow(dead_code)]
2013 pub mod short_subtags_10pct {
2014     pub static STRINGS: &[&str] = &[
2015         "aa",
2016         "acd",
2017         "aeb",
2018         "ahl",
2019         "amm",
2020         "aom",
2021         "arc-Nbat",
2022         "asa",
2023         "avl",
2024         "az",
2025         "bas",
2026         "bcf",
2027         "bef",
2028         "bft",
2029         "bho",
2030         "bjh",
2031         "bkq",
2032         "bmu",
2033         "bqc",
2034         "bsj",
2035         "bug",
2036         "bye",
2037         "bzw",
2038         "cgg",
2039         "cjv",
2040         "cop",
2041         "csw",
2042         "dah",
2043         "den",
2044         "dnj",
2045         "dtp",
2046         "dyo",
2047         "eky",
2048         "es",
2049         "ext",
2050         "ffi",
2051         "fod",
2052         "fub",
2053         "fy",
2054         "gay",
2055         "gdr",
2056         "gjk",
2057         "gnd",
2058         "grb",
2059         "gur",
2060         "gwt",
2061         "hbb",
2062         "hil",
2063         "ho",
2064         "hur",
2065         "ich",
2066         "ijj",
2067         "iou",
2068         "ja",
2069         "jib",
2070         "kac",
2071         "kbq",
2072         "kdt",
2073         "kgp",
2074         "kij",
2075         "kk-Arab",
2076         "klx",
2077         "knp",
2078         "kpr",
2079         "krl",
2080         "ktb",
2081         "kue",
2082         "kw",
2083         "kxp",
2084         "kzh",
2085         "las",
2086         "lem",
2087         "lif",
2088         "lle",
2089         "lok",
2090         "luo",
2091         "mai",
2092         "mbq",
2093         "mdf",
2094         "met",
2095         "mgo",
2096         "miw",
2097         "mmo",
2098         "mo",
2099         "mql",
2100         "mti",
2101         "mwv",
2102         "myz",
2103         "nak",
2104         "nco",
2105         "ng",
2106         "nin",
2107         "nn",
2108         "nop",
2109         "ntm",
2110         "nxr",
2111         "okr",
2112         "os",
2113         "pal",
2114         "ped",
2115         "pl",
2116         "pra",
2117         "quc",
2118         "rhg",
2119         "rmu",
2120         "ru",
2121         "saq",
2122         "scl",
2123         "se",
2124         "shi",
2125         "sk",
2126         "sma",
2127         "snx",
2128         "sps",
2129         "srx",
2130         "sue",
2131         "swv",
2132         "taq",
2133         "tdd",
2134         "tg",
2135         "ti",
2136         "tkt",
2137         "tof",
2138         "trw",
2139         "ttj",
2140         "tvu",
2141         "udi",
2142         "und",
2143         "und-018",
2144         "und-057",
2145         "und-419",
2146         "und-AQ",
2147         "und-Arab-MN",
2148         "und-Armn",
2149         "und-Bass",
2150         "und-BJ",
2151         "und-Bugi",
2152         "und-CH",
2153         "und-CP",
2154         "und-Cyrl-AL",
2155         "und-DE",
2156         "und-Dogr",
2157         "und-Elym",
2158         "und-GA",
2159         "und-Goth",
2160         "und-Guru",
2161         "und-Hebr-SE",
2162         "und-HR",
2163         "und-IS",
2164         "und-Kawi",
2165         "und-Kore",
2166         "und-Latn-AM",
2167         "und-Latn-MM",
2168         "und-LI",
2169         "und-LY",
2170         "und-MD",
2171         "und-Mlym",
2172         "und-Mtei",
2173         "und-NA",
2174         "und-NL",
2175         "und-Osma",
2176         "und-Phag",
2177         "und-PS",
2178         "und-RS",
2179         "und-SE",
2180         "und-SM",
2181         "und-SV",
2182         "und-Tavt",
2183         "und-Thai-CN",
2184         "und-Tnsa",
2185         "und-UY",
2186         "und-WF",
2187         "und-ZW",
2188         "usa",
2189         "vai",
2190         "vmw",
2191         "wan",
2192         "wiu",
2193         "wob",
2194         "xbi",
2195         "xmr",
2196         "xsr",
2197         "yba",
2198         "yll",
2199         "yue-CN",
2200         "zh",
2201         "zh-MO",
2202         "zia",
2203     ];
2204 }
2205 
2206 #[allow(dead_code)]
2207 pub mod locales_with_aux {
2208     pub static NUM_UNIQUE_BLOBS: usize = 411;
2209     pub static STRINGS: &[&str] = &["af-x-3", "af-x-3s", "af-x-4", "af-x-4s", "af-x-5", "af-x-5s", "am-x-3", "am-x-3s", "am-x-4", "am-x-4s", "am-x-5", "am-x-5s", "ar-DZ-x-3", "ar-DZ-x-3s", "ar-DZ-x-4", "ar-DZ-x-4s", "ar-DZ-x-5", "ar-DZ-x-5s", "ar-IQ-x-3", "ar-IQ-x-3s", "ar-IQ-x-4", "ar-IQ-x-4s", "ar-IQ-x-5", "ar-IQ-x-5s", "ar-JO-x-3", "ar-JO-x-3s", "ar-JO-x-4", "ar-JO-x-4s", "ar-JO-x-5", "ar-JO-x-5s", "ar-LB-x-3", "ar-LB-x-3s", "ar-LB-x-4", "ar-LB-x-4s", "ar-LB-x-5", "ar-LB-x-5s", "ar-MA-x-3", "ar-MA-x-3s", "ar-MA-x-4", "ar-MA-x-4s", "ar-MA-x-5", "ar-MA-x-5s", "ar-MR-x-3", "ar-MR-x-3s", "ar-MR-x-4", "ar-MR-x-4s", "ar-MR-x-5", "ar-MR-x-5s", "ar-PS-x-3", "ar-PS-x-3s", "ar-PS-x-4", "ar-PS-x-4s", "ar-PS-x-5", "ar-PS-x-5s", "ar-SY-x-3", "ar-SY-x-3s", "ar-SY-x-4", "ar-SY-x-4s", "ar-SY-x-5", "ar-SY-x-5s", "ar-TN-x-3", "ar-TN-x-3s", "ar-TN-x-4", "ar-TN-x-4s", "ar-TN-x-5", "ar-TN-x-5s", "ar-x-3", "ar-x-3s", "ar-x-4", "ar-x-4s", "ar-x-5", "ar-x-5s", "as-x-3", "as-x-3s", "as-x-4", "as-x-4s", "as-x-5", "as-x-5s", "ast-x-3", "ast-x-3s", "ast-x-4", "ast-x-4s", "ast-x-5", "ast-x-5s", "az-x-3", "az-x-3s", "az-x-5", "az-x-5s", "be-x-3", "be-x-3s", "be-x-4", "be-x-4s", "be-x-5", "be-x-5s", "bg-x-3", "bg-x-3s", "bg-x-4", "bg-x-4s", "bg-x-5", "bg-x-5s", "bgc-x-3", "bgc-x-3s", "bgc-x-5", "bgc-x-5s", "bho-x-3", "bho-x-3s", "bho-x-5", "bho-x-5s", "bn-IN-x-3", "bn-IN-x-3s", "bn-IN-x-4", "bn-IN-x-4s", "bn-x-3", "bn-x-3s", "bn-x-4", "bn-x-4s", "bn-x-5", "bn-x-5s", "br-x-3", "br-x-3s", "br-x-4", "br-x-4s", "br-x-5", "br-x-5s", "brx-x-3", "brx-x-3s", "brx-x-4", "brx-x-4s", "brx-x-5", "brx-x-5s", "bs-Cyrl-x-3", "bs-Cyrl-x-3s", "bs-Cyrl-x-4", "bs-Cyrl-x-4s", "bs-Cyrl-x-5", "bs-Cyrl-x-5s", "bs-x-3", "bs-x-3s", "bs-x-4", "bs-x-4s", "bs-x-5", "bs-x-5s", "ca-x-3", "ca-x-3s", "ca-x-4", "ca-x-4s", "ca-x-5", "ca-x-5s", "ceb-x-3", "ceb-x-3s", "ceb-x-4", "ceb-x-4s", "ceb-x-5", "ceb-x-5s", "chr-x-3", "chr-x-3s", "chr-x-4", "chr-x-4s", "chr-x-5", "chr-x-5s", "cs-x-3", "cs-x-3s", "cs-x-5", "cs-x-5s", "cv-x-3", "cv-x-3s", "cv-x-4", "cv-x-4s", "cv-x-5", "cv-x-5s", "cy-x-3", "cy-x-3s", "cy-x-4", "cy-x-4s", "cy-x-5", "cy-x-5s", "da-x-3", "da-x-3s", "da-x-4", "da-x-4s", "da-x-5", "da-x-5s", "de-AT-x-3", "de-AT-x-3s", "de-AT-x-5", "de-AT-x-5s", "de-IT-x-3", "de-IT-x-3s", "de-IT-x-5", "de-IT-x-5s", "de-x-3", "de-x-3s", "de-x-4", "de-x-4s", "de-x-5", "de-x-5s", "doi-x-3", "doi-x-3s", "doi-x-4", "doi-x-4s", "doi-x-5", "doi-x-5s", "dsb-x-3", "dsb-x-3s", "dsb-x-4", "dsb-x-4s", "dsb-x-5", "dsb-x-5s", "el-polyton-x-3", "el-polyton-x-5", "el-polyton-x-5s", "el-x-3", "el-x-3s", "el-x-4", "el-x-4s", "el-x-5", "el-x-5s", "en-001-x-3", "en-001-x-3s", "en-150-x-3", "en-150-x-3s", "en-AG-x-3", "en-AG-x-3s", "en-AI-x-3", "en-AI-x-3s", "en-AT-x-3", "en-AT-x-3s", "en-AU-x-3", "en-AU-x-3s", "en-BB-x-3", "en-BB-x-3s", "en-BE-x-3", "en-BE-x-3s", "en-BM-x-3", "en-BM-x-3s", "en-BS-x-3", "en-BS-x-3s", "en-BW-x-3", "en-BW-x-3s", "en-BZ-x-3", "en-BZ-x-3s", "en-CC-x-3", "en-CC-x-3s", "en-CH-x-3", "en-CH-x-3s", "en-CK-x-3", "en-CK-x-3s", "en-CM-x-3", "en-CM-x-3s", "en-CX-x-3", "en-CX-x-3s", "en-CY-x-3", "en-CY-x-3s", "en-DE-x-3", "en-DE-x-3s", "en-DG-x-3", "en-DG-x-3s", "en-DK-x-3", "en-DK-x-3s", "en-DM-x-3", "en-DM-x-3s", "en-ER-x-3", "en-ER-x-3s", "en-FI-x-3", "en-FI-x-3s", "en-FJ-x-3", "en-FJ-x-3s", "en-FK-x-3", "en-FK-x-3s", "en-FM-x-3", "en-FM-x-3s", "en-GB-x-3", "en-GB-x-3s", "en-GD-x-3", "en-GD-x-3s", "en-GG-x-3", "en-GG-x-3s", "en-GH-x-3", "en-GH-x-3s", "en-GI-x-3", "en-GI-x-3s", "en-GM-x-3", "en-GM-x-3s", "en-GY-x-3", "en-GY-x-3s", "en-HK-x-3", "en-HK-x-3s", "en-IE-x-3", "en-IE-x-3s", "en-IL-x-3", "en-IL-x-3s", "en-IM-x-3", "en-IM-x-3s", "en-IN-x-3", "en-IN-x-3s", "en-IO-x-3", "en-IO-x-3s", "en-JE-x-3", "en-JE-x-3s", "en-JM-x-3", "en-JM-x-3s", "en-KE-x-3", "en-KE-x-3s", "en-KI-x-3", "en-KI-x-3s", "en-KN-x-3", "en-KN-x-3s", "en-KY-x-3", "en-KY-x-3s", "en-LC-x-3", "en-LC-x-3s", "en-LR-x-3", "en-LR-x-3s", "en-LS-x-3", "en-LS-x-3s", "en-MG-x-3", "en-MG-x-3s", "en-MO-x-3", "en-MO-x-3s", "en-MS-x-3", "en-MS-x-3s", "en-MT-x-3", "en-MT-x-3s", "en-MU-x-3", "en-MU-x-3s", "en-MV-x-3", "en-MV-x-3s", "en-MW-x-3", "en-MW-x-3s", "en-MY-x-3", "en-MY-x-3s", "en-NA-x-3", "en-NA-x-3s", "en-NF-x-3", "en-NF-x-3s", "en-NG-x-3", "en-NG-x-3s", "en-NL-x-3", "en-NL-x-3s", "en-NR-x-3", "en-NR-x-3s", "en-NU-x-3", "en-NU-x-3s", "en-NZ-x-3", "en-NZ-x-3s", "en-PG-x-3", "en-PG-x-3s", "en-PK-x-3", "en-PK-x-3s", "en-PN-x-3", "en-PN-x-3s", "en-PW-x-3", "en-PW-x-3s", "en-RW-x-3", "en-RW-x-3s", "en-SB-x-3", "en-SB-x-3s", "en-SC-x-3", "en-SC-x-3s", "en-SD-x-3", "en-SD-x-3s", "en-SE-x-3", "en-SE-x-3s", "en-SG-x-3", "en-SG-x-3s", "en-SH-x-3", "en-SH-x-3s", "en-SI-x-3", "en-SI-x-3s", "en-SL-x-3", "en-SL-x-3s", "en-SS-x-3", "en-SS-x-3s", "en-SX-x-3", "en-SX-x-3s", "en-SZ-x-3", "en-SZ-x-3s", "en-TC-x-3", "en-TC-x-3s", "en-TK-x-3", "en-TK-x-3s", "en-TO-x-3", "en-TO-x-3s", "en-TT-x-3", "en-TT-x-3s", "en-TV-x-3", "en-TV-x-3s", "en-TZ-x-3", "en-TZ-x-3s", "en-UG-x-3", "en-UG-x-3s", "en-VC-x-3", "en-VC-x-3s", "en-VG-x-3", "en-VG-x-3s", "en-VU-x-3", "en-VU-x-3s", "en-WS-x-3", "en-WS-x-3s", "en-ZA-x-3", "en-ZA-x-3s", "en-ZM-x-3", "en-ZM-x-3s", "en-ZW-x-3", "en-ZW-x-3s", "en-x-3", "en-x-3s", "en-x-4", "en-x-4s", "en-x-5", "en-x-5s", "es-CL-x-3s", "es-CO-x-3s", "es-PE-x-3", "es-PE-x-3s", "es-PE-x-5", "es-PE-x-5s", "es-PY-x-3", "es-PY-x-3s", "es-UY-x-3", "es-UY-x-3s", "es-UY-x-5", "es-UY-x-5s", "es-VE-x-3", "es-VE-x-3s", "es-x-3", "es-x-3s", "es-x-4", "es-x-4s", "es-x-5", "es-x-5s", "et-x-3", "et-x-3s", "et-x-4", "et-x-4s", "et-x-5", "et-x-5s", "eu-x-3", "eu-x-3s", "eu-x-4", "eu-x-4s", "eu-x-5", "eu-x-5s", "fa-AF-x-3", "fa-AF-x-3s", "fa-AF-x-4", "fa-AF-x-4s", "fa-AF-x-5", "fa-AF-x-5s", "fa-x-3", "fa-x-3s", "fa-x-4", "fa-x-4s", "fa-x-5", "fa-x-5s", "ff-Adlm-x-3", "ff-Adlm-x-3s", "ff-Adlm-x-4", "ff-Adlm-x-4s", "ff-Adlm-x-5", "ff-Adlm-x-5s", "fi-x-3", "fi-x-3s", "fi-x-4", "fi-x-4s", "fi-x-5", "fi-x-5s", "fil-x-3", "fil-x-3s", "fil-x-4", "fil-x-4s", "fil-x-5", "fil-x-5s", "fo-x-3", "fo-x-3s", "fo-x-4", "fo-x-4s", "fo-x-5", "fo-x-5s", "fr-CA-x-3", "fr-CA-x-3s", "fr-MA-x-3", "fr-MA-x-3s", "fr-x-3", "fr-x-3s", "fr-x-4", "fr-x-4s", "fr-x-5", "fr-x-5s", "ga-x-3", "ga-x-3s", "ga-x-4", "ga-x-4s", "ga-x-5", "ga-x-5s", "gd-x-3", "gd-x-3s", "gd-x-4", "gd-x-4s", "gd-x-5", "gd-x-5s", "gl-x-3", "gl-x-3s", "gl-x-4", "gl-x-4s", "gl-x-5", "gl-x-5s", "gu-x-3", "gu-x-3s", "gu-x-4", "gu-x-4s", "gu-x-5", "gu-x-5s", "ha-x-3", "ha-x-3s", "ha-x-4", "ha-x-4s", "ha-x-5", "ha-x-5s", "he-x-3", "he-x-3s", "he-x-5", "he-x-5s", "hi-Latn-x-3", "hi-Latn-x-3s", "hi-Latn-x-4", "hi-Latn-x-4s", "hi-Latn-x-5", "hi-Latn-x-5s", "hi-x-3", "hi-x-3s", "hi-x-4", "hi-x-4s", "hi-x-5", "hi-x-5s", "hr-x-3", "hr-x-3s", "hr-x-4", "hr-x-4s", "hr-x-5", "hr-x-5s", "hsb-x-3", "hsb-x-3s", "hsb-x-4", "hsb-x-4s", "hsb-x-5", "hsb-x-5s", "hu-x-3", "hu-x-3s", "hu-x-4", "hu-x-4s", "hu-x-5", "hu-x-5s", "hy-x-3", "hy-x-3s", "hy-x-4", "hy-x-4s", "hy-x-5", "hy-x-5s", "ia-x-3", "ia-x-3s", "ia-x-4", "ia-x-5", "ia-x-5s", "id-x-3", "id-x-3s", "id-x-4", "id-x-4s", "id-x-5", "id-x-5s", "ig-x-3", "ig-x-3s", "ig-x-4", "ig-x-4s", "ig-x-5", "ig-x-5s", "is-x-3", "is-x-3s", "is-x-4", "is-x-4s", "is-x-5", "is-x-5s", "it-x-3", "it-x-3s", "it-x-4", "it-x-4s", "it-x-5", "it-x-5s", "ja-x-3", "ja-x-3s", "ja-x-5", "ja-x-5s", "jv-x-3", "jv-x-3s", "jv-x-4", "jv-x-4s", "jv-x-5", "jv-x-5s", "ka-x-3", "ka-x-3s", "ka-x-4", "ka-x-4s", "ka-x-5", "ka-x-5s", "kea-x-3", "kea-x-3s", "kea-x-4", "kea-x-4s", "kea-x-5", "kea-x-5s", "kgp-x-3", "kgp-x-3s", "kgp-x-4", "kgp-x-4s", "kgp-x-5", "kgp-x-5s", "kk-x-3", "kk-x-3s", "kk-x-4", "kk-x-4s", "kk-x-5", "kk-x-5s", "km-x-3", "km-x-3s", "km-x-4", "km-x-4s", "km-x-5", "km-x-5s", "kn-x-3", "kn-x-3s", "kn-x-4", "kn-x-4s", "kn-x-5", "kn-x-5s", "ko-x-3", "ko-x-3s", "ko-x-4", "ko-x-4s", "ko-x-5", "ko-x-5s", "kok-x-3", "kok-x-3s", "kok-x-5", "kok-x-5s", "ks-Deva-x-3", "ks-Deva-x-3s", "ks-Deva-x-4", "ks-Deva-x-4s", "ks-Deva-x-5", "ks-Deva-x-5s", "ks-x-3", "ks-x-3s", "ks-x-4", "ks-x-4s", "ks-x-5", "ks-x-5s", "ky-x-3", "ky-x-3s", "ky-x-4", "ky-x-4s", "ky-x-5", "ky-x-5s", "lo-x-3", "lo-x-3s", "lo-x-5", "lo-x-5s", "lt-x-3", "lt-x-3s", "lt-x-4", "lt-x-4s", "lt-x-5", "lt-x-5s", "lv-x-3", "lv-x-3s", "lv-x-4", "lv-x-4s", "lv-x-5", "lv-x-5s", "mai-x-3", "mai-x-3s", "mai-x-4", "mai-x-4s", "mai-x-5", "mai-x-5s", "mi-x-3", "mi-x-3s", "mi-x-4", "mi-x-4s", "mi-x-5", "mi-x-5s", "mk-x-3", "mk-x-3s", "mk-x-4", "mk-x-4s", "mk-x-5", "mk-x-5s", "ml-x-3", "ml-x-3s", "ml-x-4", "ml-x-4s", "ml-x-5", "ml-x-5s", "mn-x-3", "mn-x-3s", "mn-x-4", "mn-x-4s", "mn-x-5", "mn-x-5s", "mni-x-3", "mni-x-3s", "mni-x-4", "mni-x-4s", "mni-x-5", "mni-x-5s", "mr-x-3", "mr-x-3s", "mr-x-4", "mr-x-4s", "mr-x-5", "mr-x-5s", "ms-x-3", "ms-x-3s", "ms-x-4", "ms-x-4s", "ms-x-5", "ms-x-5s", "my-x-3", "my-x-3s", "my-x-4", "my-x-4s", "my-x-5", "my-x-5s", "nb-x-3", "nb-x-3s", "nb-x-4", "nb-x-4s", "nb-x-5", "nb-x-5s", "ne-x-3", "ne-x-3s", "ne-x-4", "ne-x-4s", "ne-x-5", "ne-x-5s", "nl-x-3", "nl-x-3s", "nl-x-4", "nl-x-4s", "nl-x-5", "nl-x-5s", "nn-x-3", "nn-x-3s", "nn-x-4", "nn-x-4s", "nn-x-5", "nn-x-5s", "no-x-3", "no-x-3s", "no-x-4", "no-x-4s", "no-x-5", "no-x-5s", "or-x-3", "or-x-3s", "or-x-4", "or-x-4s", "or-x-5", "or-x-5s", "pa-x-3", "pa-x-3s", "pa-x-4", "pa-x-4s", "pa-x-5", "pa-x-5s", "pcm-x-3", "pcm-x-3s", "pcm-x-4", "pcm-x-4s", "pcm-x-5", "pcm-x-5s", "pl-x-3", "pl-x-3s", "pl-x-4", "pl-x-4s", "pl-x-5", "pl-x-5s", "ps-x-3", "ps-x-3s", "ps-x-4", "ps-x-5", "ps-x-5s", "pt-x-3", "pt-x-3s", "pt-x-4", "pt-x-4s", "pt-x-5", "pt-x-5s", "qu-x-3", "qu-x-3s", "qu-x-5", "qu-x-5s", "raj-x-3", "raj-x-3s", "raj-x-5", "raj-x-5s", "rm-x-3", "rm-x-3s", "rm-x-4", "rm-x-4s", "rm-x-5", "rm-x-5s", "ro-x-3", "ro-x-3s", "ro-x-4", "ro-x-4s", "ro-x-5", "ro-x-5s", "ru-x-3", "ru-x-3s", "ru-x-4", "ru-x-4s", "ru-x-5", "ru-x-5s", "sa-x-3", "sa-x-3s", "sa-x-4", "sa-x-5", "sa-x-5s", "sat-x-3", "sat-x-3s", "sat-x-4", "sat-x-4s", "sat-x-5", "sat-x-5s", "sc-x-3", "sc-x-3s", "sc-x-4", "sc-x-4s", "sc-x-5", "sc-x-5s", "sd-Deva-x-3", "sd-Deva-x-3s", "sd-Deva-x-4", "sd-Deva-x-4s", "sd-Deva-x-5", "sd-Deva-x-5s", "sd-x-3", "sd-x-3s", "sd-x-4", "sd-x-4s", "sd-x-5", "sd-x-5s", "si-x-3", "si-x-3s", "si-x-4", "si-x-4s", "si-x-5", "si-x-5s", "sk-x-3", "sk-x-3s", "sk-x-4", "sk-x-4s", "sk-x-5", "sk-x-5s", "sl-x-3", "sl-x-3s", "sl-x-4", "sl-x-4s", "sl-x-5", "sl-x-5s", "so-x-3", "so-x-3s", "so-x-4", "so-x-4s", "so-x-5", "so-x-5s", "sq-x-3", "sq-x-3s", "sq-x-4", "sq-x-4s", "sq-x-5", "sq-x-5s", "sr-Latn-XK-x-3", "sr-Latn-XK-x-3s", "sr-Latn-x-3", "sr-Latn-x-3s", "sr-Latn-x-4", "sr-Latn-x-4s", "sr-Latn-x-5", "sr-Latn-x-5s", "sr-ME-x-3", "sr-ME-x-3s", "sr-XK-x-3", "sr-XK-x-3s", "sr-x-3", "sr-x-3s", "sr-x-4", "sr-x-4s", "sr-x-5", "sr-x-5s", "su-x-3", "su-x-3s", "su-x-4", "su-x-4s", "su-x-5", "su-x-5s", "sv-x-3", "sv-x-3s", "sv-x-4", "sv-x-4s", "sv-x-5", "sv-x-5s", "sw-x-3", "sw-x-3s", "sw-x-4", "sw-x-4s", "sw-x-5", "sw-x-5s", "ta-x-3", "ta-x-3s", "ta-x-4", "ta-x-4s", "ta-x-5", "ta-x-5s", "te-x-3", "te-x-3s", "te-x-4", "te-x-4s", "te-x-5", "te-x-5s", "tg-x-3", "tg-x-3s", "tg-x-4", "tg-x-4s", "tg-x-5", "tg-x-5s", "th-x-3", "th-x-3s", "th-x-4", "th-x-4s", "th-x-5", "th-x-5s", "ti-x-3", "ti-x-3s", "ti-x-4", "ti-x-4s", "ti-x-5", "ti-x-5s", "tk-x-3", "tk-x-3s", "tk-x-4", "tk-x-4s", "tk-x-5", "tk-x-5s", "to-x-3", "to-x-3s", "to-x-4", "to-x-4s", "to-x-5", "to-x-5s", "tr-x-3", "tr-x-3s", "tr-x-4", "tr-x-4s", "tr-x-5", "tr-x-5s", "tt-x-3", "tt-x-3s", "tt-x-5", "tt-x-5s", "uk-x-3", "uk-x-3s", "uk-x-4", "uk-x-4s", "uk-x-5", "uk-x-5s", "und-x-3", "und-x-3s", "und-x-4", "und-x-4s", "und-x-5", "und-x-5s", "ur-x-3", "ur-x-3s", "ur-x-4", "ur-x-4s", "ur-x-5", "ur-x-5s", "uz-Cyrl-x-3", "uz-Cyrl-x-3s", "uz-Cyrl-x-4", "uz-Cyrl-x-4s", "uz-Cyrl-x-5", "uz-Cyrl-x-5s", "uz-x-3", "uz-x-3s", "uz-x-4", "uz-x-4s", "uz-x-5", "uz-x-5s", "vi-x-3", "vi-x-3s", "vi-x-5", "vi-x-5s", "wo-x-3", "wo-x-3s", "wo-x-5", "wo-x-5s", "xh-x-3", "xh-x-3s", "xh-x-5", "xh-x-5s", "yo-BJ-x-3", "yo-BJ-x-3s", "yo-BJ-x-4", "yo-BJ-x-4s", "yo-BJ-x-5", "yo-BJ-x-5s", "yo-x-3", "yo-x-3s", "yo-x-4", "yo-x-4s", "yo-x-5", "yo-x-5s", "yrl-x-3", "yrl-x-3s", "yrl-x-4", "yrl-x-4s", "yrl-x-5", "yrl-x-5s", "yue-Hans-x-3", "yue-Hans-x-3s", "yue-Hans-x-5", "yue-Hans-x-5s", "yue-x-3", "yue-x-3s", "yue-x-5", "yue-x-5s", "zh-Hant-x-3", "zh-Hant-x-3s", "zh-Hant-x-5", "zh-Hant-x-5s", "zh-x-3", "zh-x-3s", "zh-x-5", "zh-x-5s", "zu-x-3", "zu-x-3s", "zu-x-4", "zu-x-4s", "zu-x-5", "zu-x-5s"];
2210 }
2211