ur 0.3.0

A Rust implementation of Uniform Resources
Documentation
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,
};