use phf::phf_map;
#[rustfmt::skip]
pub const WORDS: [&str; 256] = [
"able", "acid", "also", "apex", "aqua", "arch", "atom", "aunt",
"away", "axis", "back", "bald", "barn", "belt", "beta", "bias",
"blue", "body", "brag", "brew", "bulb", "buzz", "calm", "cash",
"cats", "chef", "city", "claw", "code", "cola", "cook", "cost",
"crux", "curl", "cusp", "cyan", "dark", "data", "days", "deli",
"dice", "diet", "door", "down", "draw", "drop", "drum", "dull",
"duty", "each", "easy", "echo", "edge", "epic", "even", "exam",
"exit", "eyes", "fact", "fair", "fern", "figs", "film", "fish",
"fizz", "flap", "flew", "flux", "foxy", "free", "frog", "fuel",
"fund", "gala", "game", "gear", "gems", "gift", "girl", "glow",
"good", "gray", "grim", "guru", "gush", "gyro", "half", "hang",
"hard", "hawk", "heat", "help", "high", "hill", "holy", "hope",
"horn", "huts", "iced", "idea", "idle", "inch", "inky", "into",
"iris", "iron", "item", "jade", "jazz", "join", "jolt", "jowl",
"judo", "jugs", "jump", "junk", "jury", "keep", "keno", "kept",
"keys", "kick", "kiln", "king", "kite", "kiwi", "knob", "lamb",
"lava", "lazy", "leaf", "legs", "liar", "limp", "lion", "list",
"logo", "loud", "love", "luau", "luck", "lung", "main", "many",
"math", "maze", "memo", "menu", "meow", "mild", "mint", "miss",
"monk", "nail", "navy", "need", "news", "next", "noon", "note",
"numb", "obey", "oboe", "omit", "onyx", "open", "oval", "owls",
"paid", "part", "peck", "play", "plus", "poem", "pool", "pose",
"puff", "puma", "purr", "quad", "quiz", "race", "ramp", "real",
"redo", "rich", "road", "rock", "roof", "ruby", "ruin", "runs",
"rust", "safe", "saga", "scar", "sets", "silk", "skew", "slot",
"soap", "solo", "song", "stub", "surf", "swan", "taco", "task",
"taxi", "tent", "tied", "time", "tiny", "toil", "tomb", "toys",
"trip", "tuna", "twin", "ugly", "undo", "unit", "urge", "user",
"vast", "very", "veto", "vial", "vibe", "view", "visa", "void",
"vows", "wall", "wand", "warm", "wasp", "wave", "waxy", "webs",
"what", "when", "whiz", "wolf", "work", "yank", "yawn", "yell",
"yoga", "yurt", "zaps", "zero", "zest", "zinc", "zone", "zoom",
];
pub static WORD_IDXS: phf::Map<&'static str, u8> = phf_map! {
"able" => 0,
"acid" => 1,
"also" => 2,
"apex" => 3,
"aqua" => 4,
"arch" => 5,
"atom" => 6,
"aunt" => 7,
"away" => 8,
"axis" => 9,
"back" => 10,
"bald" => 11,
"barn" => 12,
"belt" => 13,
"beta" => 14,
"bias" => 15,
"blue" => 16,
"body" => 17,
"brag" => 18,
"brew" => 19,
"bulb" => 20,
"buzz" => 21,
"calm" => 22,
"cash" => 23,
"cats" => 24,
"chef" => 25,
"city" => 26,
"claw" => 27,
"code" => 28,
"cola" => 29,
"cook" => 30,
"cost" => 31,
"crux" => 32,
"curl" => 33,
"cusp" => 34,
"cyan" => 35,
"dark" => 36,
"data" => 37,
"days" => 38,
"deli" => 39,
"dice" => 40,
"diet" => 41,
"door" => 42,
"down" => 43,
"draw" => 44,
"drop" => 45,
"drum" => 46,
"dull" => 47,
"duty" => 48,
"each" => 49,
"easy" => 50,
"echo" => 51,
"edge" => 52,
"epic" => 53,
"even" => 54,
"exam" => 55,
"exit" => 56,
"eyes" => 57,
"fact" => 58,
"fair" => 59,
"fern" => 60,
"figs" => 61,
"film" => 62,
"fish" => 63,
"fizz" => 64,
"flap" => 65,
"flew" => 66,
"flux" => 67,
"foxy" => 68,
"free" => 69,
"frog" => 70,
"fuel" => 71,
"fund" => 72,
"gala" => 73,
"game" => 74,
"gear" => 75,
"gems" => 76,
"gift" => 77,
"girl" => 78,
"glow" => 79,
"good" => 80,
"gray" => 81,
"grim" => 82,
"guru" => 83,
"gush" => 84,
"gyro" => 85,
"half" => 86,
"hang" => 87,
"hard" => 88,
"hawk" => 89,
"heat" => 90,
"help" => 91,
"high" => 92,
"hill" => 93,
"holy" => 94,
"hope" => 95,
"horn" => 96,
"huts" => 97,
"iced" => 98,
"idea" => 99,
"idle" => 100,
"inch" => 101,
"inky" => 102,
"into" => 103,
"iris" => 104,
"iron" => 105,
"item" => 106,
"jade" => 107,
"jazz" => 108,
"join" => 109,
"jolt" => 110,
"jowl" => 111,
"judo" => 112,
"jugs" => 113,
"jump" => 114,
"junk" => 115,
"jury" => 116,
"keep" => 117,
"keno" => 118,
"kept" => 119,
"keys" => 120,
"kick" => 121,
"kiln" => 122,
"king" => 123,
"kite" => 124,
"kiwi" => 125,
"knob" => 126,
"lamb" => 127,
"lava" => 128,
"lazy" => 129,
"leaf" => 130,
"legs" => 131,
"liar" => 132,
"limp" => 133,
"lion" => 134,
"list" => 135,
"logo" => 136,
"loud" => 137,
"love" => 138,
"luau" => 139,
"luck" => 140,
"lung" => 141,
"main" => 142,
"many" => 143,
"math" => 144,
"maze" => 145,
"memo" => 146,
"menu" => 147,
"meow" => 148,
"mild" => 149,
"mint" => 150,
"miss" => 151,
"monk" => 152,
"nail" => 153,
"navy" => 154,
"need" => 155,
"news" => 156,
"next" => 157,
"noon" => 158,
"note" => 159,
"numb" => 160,
"obey" => 161,
"oboe" => 162,
"omit" => 163,
"onyx" => 164,
"open" => 165,
"oval" => 166,
"owls" => 167,
"paid" => 168,
"part" => 169,
"peck" => 170,
"play" => 171,
"plus" => 172,
"poem" => 173,
"pool" => 174,
"pose" => 175,
"puff" => 176,
"puma" => 177,
"purr" => 178,
"quad" => 179,
"quiz" => 180,
"race" => 181,
"ramp" => 182,
"real" => 183,
"redo" => 184,
"rich" => 185,
"road" => 186,
"rock" => 187,
"roof" => 188,
"ruby" => 189,
"ruin" => 190,
"runs" => 191,
"rust" => 192,
"safe" => 193,
"saga" => 194,
"scar" => 195,
"sets" => 196,
"silk" => 197,
"skew" => 198,
"slot" => 199,
"soap" => 200,
"solo" => 201,
"song" => 202,
"stub" => 203,
"surf" => 204,
"swan" => 205,
"taco" => 206,
"task" => 207,
"taxi" => 208,
"tent" => 209,
"tied" => 210,
"time" => 211,
"tiny" => 212,
"toil" => 213,
"tomb" => 214,
"toys" => 215,
"trip" => 216,
"tuna" => 217,
"twin" => 218,
"ugly" => 219,
"undo" => 220,
"unit" => 221,
"urge" => 222,
"user" => 223,
"vast" => 224,
"very" => 225,
"veto" => 226,
"vial" => 227,
"vibe" => 228,
"view" => 229,
"visa" => 230,
"void" => 231,
"vows" => 232,
"wall" => 233,
"wand" => 234,
"warm" => 235,
"wasp" => 236,
"wave" => 237,
"waxy" => 238,
"webs" => 239,
"what" => 240,
"when" => 241,
"whiz" => 242,
"wolf" => 243,
"work" => 244,
"yank" => 245,
"yawn" => 246,
"yell" => 247,
"yoga" => 248,
"yurt" => 249,
"zaps" => 250,
"zero" => 251,
"zest" => 252,
"zinc" => 253,
"zone" => 254,
"zoom" => 255,
};
#[rustfmt::skip]
pub const MINIMALS: [&str; 256] = [
"ae", "ad", "ao", "ax", "aa", "ah", "am", "at",
"ay", "as", "bk", "bd", "bn", "bt", "ba", "bs",
"be", "by", "bg", "bw", "bb", "bz", "cm", "ch",
"cs", "cf", "cy", "cw", "ce", "ca", "ck", "ct",
"cx", "cl", "cp", "cn", "dk", "da", "ds", "di",
"de", "dt", "dr", "dn", "dw", "dp", "dm", "dl",
"dy", "eh", "ey", "eo", "ee", "ec", "en", "em",
"et", "es", "ft", "fr", "fn", "fs", "fm", "fh",
"fz", "fp", "fw", "fx", "fy", "fe", "fg", "fl",
"fd", "ga", "ge", "gr", "gs", "gt", "gl", "gw",
"gd", "gy", "gm", "gu", "gh", "go", "hf", "hg",
"hd", "hk", "ht", "hp", "hh", "hl", "hy", "he",
"hn", "hs", "id", "ia", "ie", "ih", "iy", "io",
"is", "in", "im", "je", "jz", "jn", "jt", "jl",
"jo", "js", "jp", "jk", "jy", "kp", "ko", "kt",
"ks", "kk", "kn", "kg", "ke", "ki", "kb", "lb",
"la", "ly", "lf", "ls", "lr", "lp", "ln", "lt",
"lo", "ld", "le", "lu", "lk", "lg", "mn", "my",
"mh", "me", "mo", "mu", "mw", "md", "mt", "ms",
"mk", "nl", "ny", "nd", "ns", "nt", "nn", "ne",
"nb", "oy", "oe", "ot", "ox", "on", "ol", "os",
"pd", "pt", "pk", "py", "ps", "pm", "pl", "pe",
"pf", "pa", "pr", "qd", "qz", "re", "rp", "rl",
"ro", "rh", "rd", "rk", "rf", "ry", "rn", "rs",
"rt", "se", "sa", "sr", "ss", "sk", "sw", "st",
"sp", "so", "sg", "sb", "sf", "sn", "to", "tk",
"ti", "tt", "td", "te", "ty", "tl", "tb", "ts",
"tp", "ta", "tn", "uy", "uo", "ut", "ue", "ur",
"vt", "vy", "vo", "vl", "ve", "vw", "va", "vd",
"vs", "wl", "wd", "wm", "wp", "we", "wy", "ws",
"wt", "wn", "wz", "wf", "wk", "yk", "yn", "yl",
"ya", "yt", "zs", "zo", "zt", "zc", "ze", "zm",
];
pub static MINIMAL_IDXS: phf::Map<&'static str, u8> = phf_map! {
"ae" => 0,
"ad" => 1,
"ao" => 2,
"ax" => 3,
"aa" => 4,
"ah" => 5,
"am" => 6,
"at" => 7,
"ay" => 8,
"as" => 9,
"bk" => 10,
"bd" => 11,
"bn" => 12,
"bt" => 13,
"ba" => 14,
"bs" => 15,
"be" => 16,
"by" => 17,
"bg" => 18,
"bw" => 19,
"bb" => 20,
"bz" => 21,
"cm" => 22,
"ch" => 23,
"cs" => 24,
"cf" => 25,
"cy" => 26,
"cw" => 27,
"ce" => 28,
"ca" => 29,
"ck" => 30,
"ct" => 31,
"cx" => 32,
"cl" => 33,
"cp" => 34,
"cn" => 35,
"dk" => 36,
"da" => 37,
"ds" => 38,
"di" => 39,
"de" => 40,
"dt" => 41,
"dr" => 42,
"dn" => 43,
"dw" => 44,
"dp" => 45,
"dm" => 46,
"dl" => 47,
"dy" => 48,
"eh" => 49,
"ey" => 50,
"eo" => 51,
"ee" => 52,
"ec" => 53,
"en" => 54,
"em" => 55,
"et" => 56,
"es" => 57,
"ft" => 58,
"fr" => 59,
"fn" => 60,
"fs" => 61,
"fm" => 62,
"fh" => 63,
"fz" => 64,
"fp" => 65,
"fw" => 66,
"fx" => 67,
"fy" => 68,
"fe" => 69,
"fg" => 70,
"fl" => 71,
"fd" => 72,
"ga" => 73,
"ge" => 74,
"gr" => 75,
"gs" => 76,
"gt" => 77,
"gl" => 78,
"gw" => 79,
"gd" => 80,
"gy" => 81,
"gm" => 82,
"gu" => 83,
"gh" => 84,
"go" => 85,
"hf" => 86,
"hg" => 87,
"hd" => 88,
"hk" => 89,
"ht" => 90,
"hp" => 91,
"hh" => 92,
"hl" => 93,
"hy" => 94,
"he" => 95,
"hn" => 96,
"hs" => 97,
"id" => 98,
"ia" => 99,
"ie" => 100,
"ih" => 101,
"iy" => 102,
"io" => 103,
"is" => 104,
"in" => 105,
"im" => 106,
"je" => 107,
"jz" => 108,
"jn" => 109,
"jt" => 110,
"jl" => 111,
"jo" => 112,
"js" => 113,
"jp" => 114,
"jk" => 115,
"jy" => 116,
"kp" => 117,
"ko" => 118,
"kt" => 119,
"ks" => 120,
"kk" => 121,
"kn" => 122,
"kg" => 123,
"ke" => 124,
"ki" => 125,
"kb" => 126,
"lb" => 127,
"la" => 128,
"ly" => 129,
"lf" => 130,
"ls" => 131,
"lr" => 132,
"lp" => 133,
"ln" => 134,
"lt" => 135,
"lo" => 136,
"ld" => 137,
"le" => 138,
"lu" => 139,
"lk" => 140,
"lg" => 141,
"mn" => 142,
"my" => 143,
"mh" => 144,
"me" => 145,
"mo" => 146,
"mu" => 147,
"mw" => 148,
"md" => 149,
"mt" => 150,
"ms" => 151,
"mk" => 152,
"nl" => 153,
"ny" => 154,
"nd" => 155,
"ns" => 156,
"nt" => 157,
"nn" => 158,
"ne" => 159,
"nb" => 160,
"oy" => 161,
"oe" => 162,
"ot" => 163,
"ox" => 164,
"on" => 165,
"ol" => 166,
"os" => 167,
"pd" => 168,
"pt" => 169,
"pk" => 170,
"py" => 171,
"ps" => 172,
"pm" => 173,
"pl" => 174,
"pe" => 175,
"pf" => 176,
"pa" => 177,
"pr" => 178,
"qd" => 179,
"qz" => 180,
"re" => 181,
"rp" => 182,
"rl" => 183,
"ro" => 184,
"rh" => 185,
"rd" => 186,
"rk" => 187,
"rf" => 188,
"ry" => 189,
"rn" => 190,
"rs" => 191,
"rt" => 192,
"se" => 193,
"sa" => 194,
"sr" => 195,
"ss" => 196,
"sk" => 197,
"sw" => 198,
"st" => 199,
"sp" => 200,
"so" => 201,
"sg" => 202,
"sb" => 203,
"sf" => 204,
"sn" => 205,
"to" => 206,
"tk" => 207,
"ti" => 208,
"tt" => 209,
"td" => 210,
"te" => 211,
"ty" => 212,
"tl" => 213,
"tb" => 214,
"ts" => 215,
"tp" => 216,
"ta" => 217,
"tn" => 218,
"uy" => 219,
"uo" => 220,
"ut" => 221,
"ue" => 222,
"ur" => 223,
"vt" => 224,
"vy" => 225,
"vo" => 226,
"vl" => 227,
"ve" => 228,
"vw" => 229,
"va" => 230,
"vd" => 231,
"vs" => 232,
"wl" => 233,
"wd" => 234,
"wm" => 235,
"wp" => 236,
"we" => 237,
"wy" => 238,
"ws" => 239,
"wt" => 240,
"wn" => 241,
"wz" => 242,
"wf" => 243,
"wk" => 244,
"yk" => 245,
"yn" => 246,
"yl" => 247,
"ya" => 248,
"yt" => 249,
"zs" => 250,
"zo" => 251,
"zt" => 252,
"zc" => 253,
"ze" => 254,
"zm" => 255,
};