diff --git a/README.md b/README.md index 2823104b..ebb6c1fa 100644 --- a/README.md +++ b/README.md @@ -9,9 +9,9 @@ The goal is to generate virtually infinite data with adjustable complexity. ``` git clone https://github.com/open-thought/reasoning-gym.git ``` -2. Create a virtual environment(Here we use conda) +2. Create a virtual environment (here we use conda) ``` -conda create --name reasoning_gym python=3.12 -y +conda create --name reasoning_gym python=3.11 -y conda activate reasoning_gym ``` 3. Link project and install dependencies diff --git a/examples/OpenRLHF/custom_reward.py b/examples/OpenRLHF/custom_reward.py index 15b7ee1e..638cdc97 100644 --- a/examples/OpenRLHF/custom_reward.py +++ b/examples/OpenRLHF/custom_reward.py @@ -17,7 +17,6 @@ from openrlhf.trainer import PPOTrainer from openrlhf.trainer.ppo_utils.experience_maker import Experience, NaiveExperienceMaker, Samples from openrlhf.utils import blending_datasets, get_strategy, get_tokenizer from openrlhf.utils.logging_utils import init_logger - from torch.utils.data import Dataset from transformers.trainer import get_scheduler @@ -180,7 +179,7 @@ class AlgorithmicRewardExperienceMaker(NaiveExperienceMaker): value = None # determine outcome reward - completions = sequences[:, -action_mask.size(1):].cpu() + completions = sequences[:, -action_mask.size(1) :].cpu() completions = self.tokenizer.batch_decode(completions, skip_special_tokens=True) returns = [ self.dataset.score_answer(extract_answer(c, tag_name="answer"), entry=m) @@ -717,7 +716,7 @@ if __name__ == "__main__": args = parser.parse_args() if args.advantage_estimator not in ["gae"]: - args.critic_pretrain = None + args.critic_pretrain = None elif args.critic_pretrain is None: args.critic_pretrain = args.pretrain ## temp diff --git a/reasoning_gym/cognition/figlet_fonts.py b/reasoning_gym/cognition/figlet_fonts.py index 9558c5bd..82390bb1 100644 --- a/reasoning_gym/cognition/figlet_fonts.py +++ b/reasoning_gym/cognition/figlet_fonts.py @@ -1,11 +1,12 @@ from dataclasses import dataclass -import random -import re -import pyfiglet -from typing import List, Optional, Tuple, Dict +from random import Random +from typing import Dict, Optional + +import pyfiglet -from ..factory import ProceduralDataset, register_dataset from ..data.static import wordle_words +from ..factory import ProceduralDataset, register_dataset + @dataclass class FigletFontConfig: @@ -14,6 +15,9 @@ class FigletFontConfig: static_word: Optional[str] = None static_font: Optional[str] = None space_letters: bool = True + seed: Optional[int] = None + size: int = 500 + class FigletFontDataset(ProceduralDataset): """Generates FigletFont tasks""" @@ -23,7 +27,7 @@ class FigletFontDataset(ProceduralDataset): "What word does this say?\n\n{figlet_render}", "Please read the following figlet font:\n\n{figlet_render}", ] - super().__init__(config=config) + super().__init__(config=config, seed=config.seed, size=config.size) def __getitem__(self, idx: int) -> dict: """Generate a single FigletFont task @@ -34,34 +38,83 @@ class FigletFontDataset(ProceduralDataset): - answer: str, the figlet encoded word - metadata: dict with generation parameters """ + rng = Random(self.seed + idx) - word = self.config.static_word if self.config.static_word is not None else random.choice(wordle_words).upper() - if(self.config.space_letters): - render_word = ' '.join(word) + word = self.config.static_word if self.config.static_word is not None else rng.choice(wordle_words).upper() + if self.config.space_letters: + render_word = " ".join(word) else: render_word = word # These ones are funky and probably aren't good for train/testing bad_fonts = [ - 'pyramid', 'runyc', 'assalt_m', 'term', 'tengwar', 'heart_right', 'faces_of', 'heroboti', 'hieroglyphs', 'rainbow_', - 'notie_ca', 'ghost', 'rampage_', 'atc_____', 'pacos_pe', 'mad_nurs', 'icl-1900', 'joust___', 'dcs_bfmo', 'letter_w', - 'flyn_sh', 'fun_face', 'morse2', 'tecrvs__', 'ntgreek', 'tsalagi', 'etcrvs__', 'faces_of', 'future_8', 'efti_robot', - 'danc4', 'p_s_h_m_', 'smkeyboard', 'konto', 'odel_lak', 'courb', 'jerusalem', 'nfi1____', 'keyboard', 'konto_slant' - 'rot13', 'mirror', 'katakana', 'cards', 'eftichess', 'heart_left', 'trashman', 'morse', 'eftipiti', 'smtengwar', 'e__fist_', - 'mike', 'bear', 'hills___', 'rotated', 'wow', 'eftipiti', 'relief2' + "pyramid", + "runyc", + "assalt_m", + "term", + "tengwar", + "heart_right", + "faces_of", + "heroboti", + "hieroglyphs", + "rainbow_", + "notie_ca", + "ghost", + "rampage_", + "atc_____", + "pacos_pe", + "mad_nurs", + "icl-1900", + "joust___", + "dcs_bfmo", + "letter_w", + "flyn_sh", + "fun_face", + "morse2", + "tecrvs__", + "ntgreek", + "tsalagi", + "etcrvs__", + "faces_of", + "future_8", + "efti_robot", + "danc4", + "p_s_h_m_", + "smkeyboard", + "konto", + "odel_lak", + "courb", + "jerusalem", + "nfi1____", + "keyboard", + "konto_slant" "rot13", + "mirror", + "katakana", + "cards", + "eftichess", + "heart_left", + "trashman", + "morse", + "eftipiti", + "smtengwar", + "e__fist_", + "mike", + "bear", + "hills___", + "rotated", + "wow", + "eftipiti", + "relief2", ] all_fonts = pyfiglet.FigletFont.getFonts() ok_fonts = list(filter(lambda x: x not in bad_fonts, all_fonts)) - chosen_font = self.config.static_font if self.config.static_font is not None else random.choice(ok_fonts) + chosen_font = self.config.static_font if self.config.static_font is not None else rng.choice(ok_fonts) figlet_render = pyfiglet.figlet_format(render_word, font=chosen_font) return { - "question": random.choice(self._prompt_templates).format(figlet_render=figlet_render), + "question": rng.choice(self._prompt_templates).format(figlet_render=figlet_render), "answer": word, - "metadata": { - "font": chosen_font, - "space_letters": self.config.space_letters - }, + "metadata": {"font": chosen_font, "space_letters": self.config.space_letters}, } def score_answer(self, answer: Optional[str], entry: Dict[str, any]) -> float: @@ -83,20 +136,21 @@ class FigletFontDataset(ProceduralDataset): return 0.0 # No answer given # Normalize case - answer = answer.replace(' ', '').strip().lower() + answer = answer.replace(" ", "").strip().lower() correct_word = correct_word.strip().lower() if answer == correct_word: - return 1.0 # Correct! + return 1.0 # Correct! # Calculate similarity correct_count = sum(1 for a, b in zip(answer, correct_word) if a == b) max_length = max(len(correct_word), len(answer)) - + # Compute a partial score score = min(correct_count * 0.1, 1.0) return score + # Register the dataset -register_dataset("FigletFont", FigletFontDataset, FigletFontConfig) +register_dataset("figlet_font", FigletFontDataset, FigletFontConfig) diff --git a/reasoning_gym/cognition/rubiks_cube.py b/reasoning_gym/cognition/rubiks_cube.py index 622c9ecb..ad079ad5 100644 --- a/reasoning_gym/cognition/rubiks_cube.py +++ b/reasoning_gym/cognition/rubiks_cube.py @@ -1,9 +1,10 @@ +import re from dataclasses import dataclass from random import Random -import re +from typing import Dict, List, Optional + from magiccube.cube import Cube, CubeMove, CubeMoveType from magiccube.solver.basic.basic_solver import BasicSolver -from typing import List, Optional, Dict from ..factory import ProceduralDataset, register_dataset diff --git a/reasoning_gym/data/static.py b/reasoning_gym/data/static.py index a086ebf9..9742314d 100644 --- a/reasoning_gym/data/static.py +++ b/reasoning_gym/data/static.py @@ -1,2317 +1,2317 @@ wordle_words = [ - "cigar", - "rebut", - "sissy", - "humph", - "awake", - "blush", - "focal", - "evade", - "naval", - "serve", - "heath", - "dwarf", - "model", - "karma", - "stink", - "grade", - "quiet", - "bench", - "abate", - "feign", - "major", - "death", - "fresh", - "crust", - "stool", - "colon", - "abase", - "marry", - "react", - "batty", - "pride", - "floss", - "helix", - "croak", - "staff", - "paper", - "unfed", - "whelp", - "trawl", - "outdo", - "adobe", - "crazy", - "sower", - "repay", - "digit", - "crate", - "cluck", - "spike", - "mimic", - "pound", - "maxim", - "linen", - "unmet", - "flesh", - "booby", - "forth", - "first", - "stand", - "belly", - "ivory", - "seedy", - "print", - "yearn", - "drain", - "bribe", - "stout", - "panel", - "crass", - "flume", - "offal", - "agree", - "error", - "swirl", - "argue", - "bleed", - "delta", - "flick", - "totem", - "wooer", - "front", - "shrub", - "parry", - "biome", - "lapel", - "start", - "greet", - "goner", - "golem", - "lusty", - "loopy", - "round", - "audit", - "lying", - "gamma", - "labor", - "islet", - "civic", - "forge", - "corny", - "moult", - "basic", - "salad", - "agate", - "spicy", - "spray", - "essay", - "fjord", - "spend", - "kebab", - "guild", - "aback", - "motor", - "alone", - "hatch", - "hyper", - "thumb", - "dowry", - "ought", - "belch", - "dutch", - "pilot", - "tweed", - "comet", - "jaunt", - "enema", - "steed", - "abyss", - "growl", - "fling", - "dozen", - "boozy", - "erode", - "world", - "gouge", - "click", - "briar", - "great", - "altar", - "pulpy", - "blurt", - "coast", - "duchy", - "groin", - "fixer", - "group", - "rogue", - "badly", - "smart", - "pithy", - "gaudy", - "chill", - "heron", - "vodka", - "finer", - "surer", - "radio", - "rouge", - "perch", - "retch", - "wrote", - "clock", - "tilde", - "store", - "prove", - "bring", - "solve", - "cheat", - "grime", - "exult", - "usher", - "epoch", - "triad", - "break", - "rhino", - "viral", - "conic", - "masse", - "sonic", - "vital", - "trace", - "using", - "peach", - "champ", - "baton", - "brake", - "pluck", - "craze", - "gripe", - "weary", - "picky", - "acute", - "ferry", - "aside", - "tapir", - "troll", - "unify", - "rebus", - "boost", - "truss", - "siege", - "tiger", - "banal", - "slump", - "crank", - "gorge", - "query", - "drink", - "favor", - "abbey", - "tangy", - "panic", - "solar", - "shire", - "proxy", - "point", - "robot", - "prick", - "wince", - "crimp", - "knoll", - "sugar", - "whack", - "mount", - "perky", - "could", - "wrung", - "light", - "those", - "moist", - "shard", - "pleat", - "aloft", - "skill", - "elder", - "frame", - "humor", - "pause", - "ulcer", - "ultra", - "robin", - "cynic", - "agora", - "aroma", - "caulk", - "shake", - "pupal", - "dodge", - "swill", - "tacit", - "other", - "thorn", - "trove", - "bloke", - "vivid", - "spill", - "chant", - "choke", - "rupee", - "nasty", - "mourn", - "ahead", - "brine", - "cloth", - "hoard", - "sweet", - "month", - "lapse", - "watch", - "today", - "focus", - "smelt", - "tease", - "cater", - "movie", - "lynch", - "saute", - "allow", - "renew", - "their", - "slosh", - "purge", - "chest", - "depot", - "epoxy", - "nymph", - "found", - "shall", - "harry", - "stove", - "lowly", - "snout", - "trope", - "fewer", - "shawl", - "natal", - "fibre", - "comma", - "foray", - "scare", - "stair", - "black", - "squad", - "royal", - "chunk", - "mince", - "slave", - "shame", - "cheek", - "ample", - "flair", - "foyer", - "cargo", - "oxide", - "plant", - "olive", - "inert", - "askew", - "heist", - "shown", - "zesty", - "hasty", - "trash", - "fella", - "larva", - "forgo", - "story", - "hairy", - "train", - "homer", - "badge", - "midst", - "canny", - "fetus", - "butch", - "farce", - "slung", - "tipsy", - "metal", - "yield", - "delve", - "being", - "scour", - "glass", - "gamer", - "scrap", - "money", - "hinge", - "album", - "vouch", - "asset", - "tiara", - "crept", - "bayou", - "atoll", - "manor", - "creak", - "showy", - "phase", - "froth", - "depth", - "gloom", - "flood", - "trait", - "girth", - "piety", - "payer", - "goose", - "float", - "donor", - "atone", - "primo", - "apron", - "blown", - "cacao", - "loser", - "input", - "gloat", - "awful", - "brink", - "smite", - "beady", - "rusty", - "retro", - "droll", - "gawky", - "hutch", - "pinto", - "gaily", - "egret", - "lilac", - "sever", - "field", - "fluff", - "hydro", - "flack", - "agape", - "wench", - "voice", - "stead", - "stalk", - "berth", - "madam", - "night", - "bland", - "liver", - "wedge", - "augur", - "roomy", - "wacky", - "flock", - "angry", - "bobby", - "trite", - "aphid", - "tryst", - "midge", - "power", - "elope", - "cinch", - "motto", - "stomp", - "upset", - "bluff", - "cramp", - "quart", - "coyly", - "youth", - "rhyme", - "buggy", - "alien", - "smear", - "unfit", - "patty", - "cling", - "glean", - "label", - "hunky", - "khaki", - "poker", - "gruel", - "twice", - "twang", - "shrug", - "treat", - "unlit", - "waste", - "merit", - "woven", - "octal", - "needy", - "clown", - "widow", - "irony", - "ruder", - "gauze", - "chief", - "onset", - "prize", - "fungi", - "charm", - "gully", - "inter", - "whoop", - "taunt", - "leery", - "class", - "theme", - "lofty", - "tibia", - "booze", - "alpha", - "thyme", - "eclat", - "doubt", - "parer", - "chute", - "stick", - "trice", - "alike", - "sooth", - "recap", - "saint", - "liege", - "glory", - "grate", - "admit", - "brisk", - "soggy", - "usurp", - "scald", - "scorn", - "leave", - "twine", - "sting", - "bough", - "marsh", - "sloth", - "dandy", - "vigor", - "howdy", - "enjoy", - "valid", - "ionic", - "equal", - "unset", - "floor", - "catch", - "spade", - "stein", - "exist", - "quirk", - "denim", - "grove", - "spiel", - "mummy", - "fault", - "foggy", - "flout", - "carry", - "sneak", - "libel", - "waltz", - "aptly", - "piney", - "inept", - "aloud", - "photo", - "dream", - "stale", - "vomit", - "ombre", - "fanny", - "unite", - "snarl", - "baker", - "there", - "glyph", - "pooch", - "hippy", - "spell", - "folly", - "louse", - "gulch", - "vault", - "godly", - "threw", - "fleet", - "grave", - "inane", - "shock", - "crave", - "spite", - "valve", - "skimp", - "claim", - "rainy", - "musty", - "pique", - "daddy", - "quasi", - "arise", - "aging", - "valet", - "opium", - "avert", - "stuck", - "recut", - "mulch", - "genre", - "plume", - "rifle", - "count", - "incur", - "total", - "wrest", - "mocha", - "deter", - "study", - "lover", - "safer", - "rivet", - "funny", - "smoke", - "mound", - "undue", - "sedan", - "pagan", - "swine", - "guile", - "gusty", - "equip", - "tough", - "canoe", - "chaos", - "covet", - "human", - "udder", - "lunch", - "blast", - "stray", - "manga", - "melee", - "lefty", - "quick", - "paste", - "given", - "octet", - "risen", - "groan", - "leaky", - "grind", - "carve", - "loose", - "sadly", - "spilt", - "apple", - "slack", - "honey", - "final", - "sheen", - "eerie", - "minty", - "slick", - "derby", - "wharf", - "spelt", - "coach", - "erupt", - "singe", - "price", - "spawn", - "fairy", - "jiffy", - "filmy", - "stack", - "chose", - "sleep", - "ardor", - "nanny", - "niece", - "woozy", - "handy", - "grace", - "ditto", - "stank", - "cream", - "usual", - "diode", - "valor", - "angle", - "ninja", - "muddy", - "chase", - "reply", - "prone", - "spoil", - "heart", - "shade", - "diner", - "arson", - "onion", - "sleet", - "dowel", - "couch", - "palsy", - "bowel", - "smile", - "evoke", - "creek", - "lance", - "eagle", - "idiot", - "siren", - "built", - "embed", - "award", - "dross", - "annul", - "goody", - "frown", - "patio", - "laden", - "humid", - "elite", - "lymph", - "edify", - "might", - "reset", - "visit", - "gusto", - "purse", - "vapor", - "crock", - "write", - "sunny", - "loath", - "chaff", - "slide", - "queer", - "venom", - "stamp", - "sorry", - "still", - "acorn", - "aping", - "pushy", - "tamer", - "hater", - "mania", - "awoke", - "brawn", - "swift", - "exile", - "birch", - "lucky", - "freer", - "risky", - "ghost", - "plier", - "lunar", - "winch", - "snare", - "nurse", - "house", - "borax", - "nicer", - "lurch", - "exalt", - "about", - "savvy", - "toxin", - "tunic", - "pried", - "inlay", - "chump", - "lanky", - "cress", - "eater", - "elude", - "cycle", - "kitty", - "boule", - "moron", - "tenet", - "place", - "lobby", - "plush", - "vigil", - "index", - "blink", - "clung", - "qualm", - "croup", - "clink", - "juicy", - "stage", - "decay", - "nerve", - "flier", - "shaft", - "crook", - "clean", - "china", - "ridge", - "vowel", - "gnome", - "snuck", - "icing", - "spiny", - "rigor", - "snail", - "flown", - "rabid", - "prose", - "thank", - "poppy", - "budge", - "fiber", - "moldy", - "dowdy", - "kneel", - "track", - "caddy", - "quell", - "dumpy", - "paler", - "swore", - "rebar", - "scuba", - "splat", - "flyer", - "horny", - "mason", - "doing", - "ozone", - "amply", - "molar", - "ovary", - "beset", - "queue", - "cliff", - "magic", - "truce", - "sport", - "fritz", - "edict", - "twirl", - "verse", - "llama", - "eaten", - "range", - "whisk", - "hovel", - "rehab", - "macaw", - "sigma", - "spout", - "verve", - "sushi", - "dying", - "fetid", - "brain", - "buddy", - "thump", - "scion", - "candy", - "chord", - "basin", - "march", - "crowd", - "arbor", - "gayly", - "musky", - "stain", - "dally", - "bless", - "bravo", - "stung", - "title", - "ruler", - "kiosk", - "blond", - "ennui", - "layer", - "fluid", - "tatty", - "score", - "cutie", - "zebra", - "barge", - "matey", - "bluer", - "aider", - "shook", - "river", - "privy", - "betel", - "frisk", - "bongo", - "begun", - "azure", - "weave", - "genie", - "sound", - "glove", - "braid", - "scope", - "wryly", - "rover", - "assay", - "ocean", - "bloom", - "irate", - "later", - "woken", - "silky", - "wreck", - "dwelt", - "slate", - "smack", - "solid", - "amaze", - "hazel", - "wrist", - "jolly", - "globe", - "flint", - "rouse", - "civil", - "vista", - "relax", - "cover", - "alive", - "beech", - "jetty", - "bliss", - "vocal", - "often", - "dolly", - "eight", - "joker", - "since", - "event", - "ensue", - "shunt", - "diver", - "poser", - "worst", - "sweep", - "alley", - "creed", - "anime", - "leafy", - "bosom", - "dunce", - "stare", - "pudgy", - "waive", - "choir", - "stood", - "spoke", - "outgo", - "delay", - "bilge", - "ideal", - "clasp", - "seize", - "hotly", - "laugh", - "sieve", - "block", - "meant", - "grape", - "noose", - "hardy", - "shied", - "drawl", - "daisy", - "putty", - "strut", - "burnt", - "tulip", - "crick", - "idyll", - "vixen", - "furor", - "geeky", - "cough", - "naive", - "shoal", - "stork", - "bathe", - "aunty", - "check", - "prime", - "brass", - "outer", - "furry", - "razor", - "elect", - "evict", - "imply", - "demur", - "quota", - "haven", - "cavil", - "swear", - "crump", - "dough", - "gavel", - "wagon", - "salon", - "nudge", - "harem", - "pitch", - "sworn", - "pupil", - "excel", - "stony", - "cabin", - "unzip", - "queen", - "trout", - "polyp", - "earth", - "storm", - "until", - "taper", - "enter", - "child", - "adopt", - "minor", - "fatty", - "husky", - "brave", - "filet", - "slime", - "glint", - "tread", - "steal", - "regal", - "guest", - "every", - "murky", - "share", - "spore", - "hoist", - "buxom", - "inner", - "otter", - "dimly", - "level", - "sumac", - "donut", - "stilt", - "arena", - "sheet", - "scrub", - "fancy", - "slimy", - "pearl", - "silly", - "porch", - "dingo", - "sepia", - "amble", - "shady", - "bread", - "friar", - "reign", - "dairy", - "quill", - "cross", - "brood", - "tuber", - "shear", - "posit", - "blank", - "villa", - "shank", - "piggy", - "freak", - "which", - "among", - "fecal", - "shell", - "would", - "algae", - "large", - "rabbi", - "agony", - "amuse", - "bushy", - "copse", - "swoon", - "knife", - "pouch", - "ascot", - "plane", - "crown", - "urban", - "snide", - "relay", - "abide", - "viola", - "rajah", - "straw", - "dilly", - "crash", - "amass", - "third", - "trick", - "tutor", - "woody", - "blurb", - "grief", - "disco", - "where", - "sassy", - "beach", - "sauna", - "comic", - "clued", - "creep", - "caste", - "graze", - "snuff", - "frock", - "gonad", - "drunk", - "prong", - "lurid", - "steel", - "halve", - "buyer", - "vinyl", - "utile", - "smell", - "adage", - "worry", - "tasty", - "local", - "trade", - "finch", - "ashen", - "modal", - "gaunt", - "clove", - "enact", - "adorn", - "roast", - "speck", - "sheik", - "missy", - "grunt", - "snoop", - "party", - "touch", - "mafia", - "emcee", - "array", - "south", - "vapid", - "jelly", - "skulk", - "angst", - "tubal", - "lower", - "crest", - "sweat", - "cyber", - "adore", - "tardy", - "swami", - "notch", - "groom", - "roach", - "hitch", - "young", - "align", - "ready", - "frond", - "strap", - "puree", - "realm", - "venue", - "swarm", - "offer", - "seven", - "dryer", - "diary", - "dryly", - "drank", - "acrid", - "heady", - "theta", - "junto", - "pixie", - "quoth", - "bonus", - "shalt", - "penne", - "amend", - "datum", - "build", - "piano", - "shelf", - "lodge", - "suing", - "rearm", - "coral", - "ramen", - "worth", - "psalm", - "infer", - "overt", - "mayor", - "ovoid", - "glide", - "usage", - "poise", - "randy", - "chuck", - "prank", - "fishy", - "tooth", - "ether", - "drove", - "idler", - "swath", - "stint", - "while", - "begat", - "apply", - "slang", - "tarot", - "radar", - "credo", - "aware", - "canon", - "shift", - "timer", - "bylaw", - "serum", - "three", - "steak", - "iliac", - "shirk", - "blunt", - "puppy", - "penal", - "joist", - "bunny", - "shape", - "beget", - "wheel", - "adept", - "stunt", - "stole", - "topaz", - "chore", - "fluke", - "afoot", - "bloat", - "bully", - "dense", - "caper", - "sneer", - "boxer", - "jumbo", - "lunge", - "space", - "avail", - "short", - "slurp", - "loyal", - "flirt", - "pizza", - "conch", - "tempo", - "droop", - "plate", - "bible", - "plunk", - "afoul", - "savoy", - "steep", - "agile", - "stake", - "dwell", - "knave", - "beard", - "arose", - "motif", - "smash", - "broil", - "glare", - "shove", - "baggy", - "mammy", - "swamp", - "along", - "rugby", - "wager", - "quack", - "squat", - "snaky", - "debit", - "mange", - "skate", - "ninth", - "joust", - "tramp", - "spurn", - "medal", - "micro", - "rebel", - "flank", - "learn", - "nadir", - "maple", - "comfy", - "remit", - "gruff", - "ester", - "least", - "mogul", - "fetch", - "cause", - "oaken", - "aglow", - "meaty", - "gaffe", - "shyly", - "racer", - "prowl", - "thief", - "stern", - "poesy", - "rocky", - "tweet", - "waist", - "spire", - "grope", - "havoc", - "patsy", - "truly", - "forty", - "deity", - "uncle", - "swish", - "giver", - "preen", - "bevel", - "lemur", - "draft", - "slope", - "annoy", - "lingo", - "bleak", - "ditty", - "curly", - "cedar", - "dirge", - "grown", - "horde", - "drool", - "shuck", - "crypt", - "cumin", - "stock", - "gravy", - "locus", - "wider", - "breed", - "quite", - "chafe", - "cache", - "blimp", - "deign", - "fiend", - "logic", - "cheap", - "elide", - "rigid", - "false", - "renal", - "pence", - "rowdy", - "shoot", - "blaze", - "envoy", - "posse", - "brief", - "never", - "abort", - "mouse", - "mucky", - "sulky", - "fiery", - "media", - "trunk", - "yeast", - "clear", - "skunk", - "scalp", - "bitty", - "cider", - "koala", - "duvet", - "segue", - "creme", - "super", - "grill", - "after", - "owner", - "ember", - "reach", - "nobly", - "empty", - "speed", - "gipsy", - "recur", - "smock", - "dread", - "merge", - "burst", - "kappa", - "amity", - "shaky", - "hover", - "carol", - "snort", - "synod", - "faint", - "haunt", - "flour", - "chair", - "detox", - "shrew", - "tense", - "plied", - "quark", - "burly", - "novel", - "waxen", - "stoic", - "jerky", - "blitz", - "beefy", - "lyric", - "hussy", - "towel", - "quilt", - "below", - "bingo", - "wispy", - "brash", - "scone", - "toast", - "easel", - "saucy", - "value", - "spice", - "honor", - "route", - "sharp", - "bawdy", - "radii", - "skull", - "phony", - "issue", - "lager", - "swell", - "urine", - "gassy", - "trial", - "flora", - "upper", - "latch", - "wight", - "brick", - "retry", - "holly", - "decal", - "grass", - "shack", - "dogma", - "mover", - "defer", - "sober", - "optic", - "crier", - "vying", - "nomad", - "flute", - "hippo", - "shark", - "drier", - "obese", - "bugle", - "tawny", - "chalk", - "feast", - "ruddy", - "pedal", - "scarf", - "cruel", - "bleat", - "tidal", - "slush", - "semen", - "windy", - "dusty", - "sally", - "igloo", - "nerdy", - "jewel", - "shone", - "whale", - "hymen", - "abuse", - "fugue", - "elbow", - "crumb", - "pansy", - "welsh", - "syrup", - "terse", - "suave", - "gamut", - "swung", - "drake", - "freed", - "afire", - "shirt", - "grout", - "oddly", - "tithe", - "plaid", - "dummy", - "broom", - "blind", - "torch", - "enemy", - "again", - "tying", - "pesky", - "alter", - "gazer", - "noble", - "ethos", - "bride", - "extol", - "decor", - "hobby", - "beast", - "idiom", - "utter", - "these", - "sixth", - "alarm", - "erase", - "elegy", - "spunk", - "piper", - "scaly", - "scold", - "hefty", - "chick", - "sooty", - "canal", - "whiny", - "slash", - "quake", - "joint", - "swept", - "prude", - "heavy", - "wield", - "femme", - "lasso", - "maize", - "shale", - "screw", - "spree", - "smoky", - "whiff", - "scent", - "glade", - "spent", - "prism", - "stoke", - "riper", - "orbit", - "cocoa", - "guilt", - "humus", - "shush", - "table", - "smirk", - "wrong", - "noisy", - "alert", - "shiny", - "elate", - "resin", - "whole", - "hunch", - "pixel", - "polar", - "hotel", - "sword", - "cleat", - "mango", - "rumba", - "puffy", - "filly", - "billy", - "leash", - "clout", - "dance", - "ovate", - "facet", - "chili", - "paint", - "liner", - "curio", - "salty", - "audio", - "snake", - "fable", - "cloak", - "navel", - "spurt", - "pesto", - "balmy", - "flash", - "unwed", - "early", - "churn", - "weedy", - "stump", - "lease", - "witty", - "wimpy", - "spoof", - "saner", - "blend", - "salsa", - "thick", - "warty", - "manic", - "blare", - "squib", - "spoon", - "probe", - "crepe", - "knack", - "force", - "debut", - "order", - "haste", - "teeth", - "agent", - "widen", - "icily", - "slice", - "ingot", - "clash", - "juror", - "blood", - "abode", - "throw", - "unity", - "pivot", - "slept", - "troop", - "spare", - "sewer", - "parse", - "morph", - "cacti", - "tacky", - "spool", - "demon", - "moody", - "annex", - "begin", - "fuzzy", - "patch", - "water", - "lumpy", - "admin", - "omega", - "limit", - "tabby", - "macho", - "aisle", - "skiff", - "basis", - "plank", - "verge", - "botch", - "crawl", - "lousy", - "slain", - "cubic", - "raise", - "wrack", - "guide", - "foist", - "cameo", - "under", - "actor", - "revue", - "fraud", - "harpy", - "scoop", - "climb", - "refer", - "olden", - "clerk", - "debar", - "tally", - "ethic", - "cairn", - "tulle", - "ghoul", - "hilly", - "crude", - "apart", - "scale", - "older", - "plain", - "sperm", - "briny", - "abbot", - "rerun", - "quest", - "crisp", - "bound", - "befit", - "drawn", - "suite", - "itchy", - "cheer", - "bagel", - "guess", - "broad", - "axiom", - "chard", - "caput", - "leant", - "harsh", - "curse", - "proud", - "swing", - "opine", - "taste", - "lupus", - "gumbo", - "miner", - "green", - "chasm", - "lipid", - "topic", - "armor", - "brush", - "crane", - "mural", - "abled", - "habit", - "bossy", - "maker", - "dusky", - "dizzy", - "lithe", - "brook", - "jazzy", - "fifty", - "sense", - "giant", - "surly", - "legal", - "fatal", - "flunk", - "began", - "prune", - "small", - "slant", - "scoff", - "torus", - "ninny", - "covey", - "viper", - "taken", - "moral", - "vogue", - "owing", - "token", - "entry", - "booth", - "voter", - "chide", - "elfin", - "ebony", - "neigh", - "minim", - "melon", - "kneed", - "decoy", - "voila", - "ankle", - "arrow", - "mushy", - "tribe", - "cease", - "eager", - "birth", - "graph", - "odder", - "terra", - "weird", - "tried", - "clack", - "color", - "rough", - "weigh", - "uncut", - "ladle", - "strip", - "craft", - "minus", - "dicey", - "titan", - "lucid", - "vicar", - "dress", - "ditch", - "gypsy", - "pasta", - "taffy", - "flame", - "swoop", - "aloof", - "sight", - "broke", - "teary", - "chart", - "sixty", - "wordy", - "sheer", - "leper", - "nosey", - "bulge", - "savor", - "clamp", - "funky", - "foamy", - "toxic", - "brand", - "plumb", - "dingy", - "butte", - "drill", - "tripe", - "bicep", - "tenor", - "krill", - "worse", - "drama", - "hyena", - "think", - "ratio", - "cobra", - "basil", - "scrum", - "bused", - "phone", - "court", - "camel", - "proof", - "heard", - "angel", - "petal", - "pouty", - "throb", - "maybe", - "fetal", - "sprig", - "spine", - "shout", - "cadet", - "macro", - "dodgy", - "satyr", - "rarer", - "binge", - "trend", - "nutty", - "leapt", - "amiss", - "split", - "myrrh", - "width", - "sonar", - "tower", - "baron", - "fever", - "waver", - "spark", - "belie", - "sloop", - "expel", - "smote", - "baler", - "above", - "north", - "wafer", - "scant", - "frill", - "awash", - "snack", - "scowl", - "frail", - "drift", - "limbo", - "fence", - "motel", - "ounce", - "wreak", - "revel", - "talon", - "prior", - "knelt", - "cello", - "flake", - "debug", - "anode", - "crime", - "salve", - "scout", - "imbue", - "pinky", - "stave", - "vague", - "chock", - "fight", - "video", - "stone", - "teach", - "cleft", - "frost", - "prawn", - "booty", - "twist", - "apnea", - "stiff", - "plaza", - "ledge", - "tweak", - "board", - "grant", - "medic", - "bacon", - "cable", - "brawl", - "slunk", - "raspy", - "forum", - "drone", - "women", - "mucus", - "boast", - "toddy", - "coven", - "tumor", - "truer", - "wrath", - "stall", - "steam", - "axial", - "purer", - "daily", - "trail", - "niche", - "mealy", - "juice", - "nylon", - "plump", - "merry", - "flail", - "papal", - "wheat", - "berry", - "cower", - "erect", - "brute", - "leggy", - "snipe", - "sinew", - "skier", - "penny", - "jumpy", - "rally", - "umbra", - "scary", - "modem", - "gross", - "avian", - "greed", - "satin", - "tonic", - "parka", - "sniff", - "livid", - "stark", - "trump", - "giddy", - "reuse", - "taboo", - "avoid", - "quote", - "devil", - "liken", - "gloss", - "gayer", - "beret", - "noise", - "gland", - "dealt", - "sling", - "rumor", - "opera", - "thigh", - "tonga", - "flare", - "wound", - "white", - "bulky", - "etude", - "horse", - "circa", - "paddy", - "inbox", - "fizzy", - "grain", - "exert", - "surge", - "gleam", - "belle", - "salvo", - "crush", - "fruit", - "sappy", - "taker", - "tract", - "ovine", - "spiky", - "frank", - "reedy", - "filth", - "spasm", - "heave", - "mambo", - "right", - "clank", - "trust", - "lumen", - "borne", - "spook", - "sauce", - "amber", - "lathe", - "carat", - "corer", - "dirty", - "slyly", - "affix", - "alloy", - "taint", - "sheep", - "kinky", - "wooly", - "mauve", - "flung", - "yacht", - "fried", - "quail", - "brunt", - "grimy", - "curvy", - "cagey", - "rinse", - "deuce", - "state", - "grasp", - "milky", - "bison", - "graft", - "sandy", - "baste", - "flask", - "hedge", - "girly", - "swash", - "boney", - "coupe", - "endow", - "abhor", - "welch", - "blade", - "tight", - "geese", - "miser", - "mirth", - "cloud", - "cabal", - "leech", - "close", - "tenth", - "pecan", - "droit", - "grail", - "clone", - "guise", - "ralph", - "tango", - "biddy", - "smith", - "mower", - "payee", - "serif", - "drape", - "fifth", - "spank", - "glaze", - "allot", - "truck", - "kayak", - "virus", - "testy", - "tepee", - "fully", - "zonal", - "metro", - "curry", - "grand", - "banjo", - "axion", - "bezel", - "occur", - "chain", - "nasal", - "gooey", - "filer", - "brace", - "allay", - "pubic", - "raven", - "plead", - "gnash", - "flaky", - "munch", - "dully", - "eking", - "thing", - "slink", - "hurry", - "theft", - "shorn", - "pygmy", - "ranch", - "wring", - "lemon", - "shore", - "mamma", - "froze", - "newer", - "style", - "moose", - "antic", - "drown", - "vegan", - "chess", - "guppy", - "union", - "lever", - "lorry", - "image", - "cabby", - "druid", - "exact", - "truth", - "dopey", - "spear", - "cried", - "chime", - "crony", - "stunk", - "timid", - "batch", - "gauge", - "rotor", - "crack", - "curve", - "latte", - "witch", - "bunch", - "repel", - "anvil", - "soapy", - "meter", - "broth", - "madly", - "dried", - "scene", - "known", - "magma", - "roost", - "woman", - "thong", - "punch", - "pasty", - "downy", - "knead", - "whirl", - "rapid", - "clang", - "anger", - "drive", - "goofy", - "email", - "music", - "stuff", - "bleep", - "rider", - "mecca", - "folio", - "setup", - "verso", - "quash", - "fauna", - "gummy", - "happy", - "newly", - "fussy", - "relic", - "guava", - "ratty", - "fudge", - "femur", - "chirp", - "forte", - "alibi", - "whine", - "petty", - "golly", - "plait", - "fleck", - "felon", - "gourd", - "brown", - "thrum", - "ficus", - "stash", - "decry", - "wiser", - "junta", - "visor", - "daunt", - "scree", - "impel", - "await", - "press", - "whose", - "turbo", - "stoop", - "speak", - "mangy", - "eying", - "inlet", - "crone", - "pulse", - "mossy", - "staid", - "hence", - "pinch", - "teddy", - "sully", - "snore", - "ripen", - "snowy", - "attic", - "going", - "leach", - "mouth", - "hound", - "clump", - "tonal", - "bigot", - "peril", - "piece", - "blame", - "haute", - "spied", - "undid", - "intro", - "basal", - "shine", - "gecko", - "rodeo", - "guard", - "steer", - "loamy", - "scamp", - "scram", - "manly", - "hello", - "vaunt", - "organ", - "feral", - "knock", - "extra", - "condo", - "adapt", - "willy", - "polka", - "rayon", - "skirt", - "faith", - "torso", - "match", - "mercy", - "tepid", - "sleek", - "riser", - "twixt", - "peace", - "flush", - "catty", - "login", - "eject", - "roger", - "rival", - "untie", - "refit", - "aorta", - "adult", - "judge", - "rower", - "artsy", - "rural", - "shave" -] \ No newline at end of file + "cigar", + "rebut", + "sissy", + "humph", + "awake", + "blush", + "focal", + "evade", + "naval", + "serve", + "heath", + "dwarf", + "model", + "karma", + "stink", + "grade", + "quiet", + "bench", + "abate", + "feign", + "major", + "death", + "fresh", + "crust", + "stool", + "colon", + "abase", + "marry", + "react", + "batty", + "pride", + "floss", + "helix", + "croak", + "staff", + "paper", + "unfed", + "whelp", + "trawl", + "outdo", + "adobe", + "crazy", + "sower", + "repay", + "digit", + "crate", + "cluck", + "spike", + "mimic", + "pound", + "maxim", + "linen", + "unmet", + "flesh", + "booby", + "forth", + "first", + "stand", + "belly", + "ivory", + "seedy", + "print", + "yearn", + "drain", + "bribe", + "stout", + "panel", + "crass", + "flume", + "offal", + "agree", + "error", + "swirl", + "argue", + "bleed", + "delta", + "flick", + "totem", + "wooer", + "front", + "shrub", + "parry", + "biome", + "lapel", + "start", + "greet", + "goner", + "golem", + "lusty", + "loopy", + "round", + "audit", + "lying", + "gamma", + "labor", + "islet", + "civic", + "forge", + "corny", + "moult", + "basic", + "salad", + "agate", + "spicy", + "spray", + "essay", + "fjord", + "spend", + "kebab", + "guild", + "aback", + "motor", + "alone", + "hatch", + "hyper", + "thumb", + "dowry", + "ought", + "belch", + "dutch", + "pilot", + "tweed", + "comet", + "jaunt", + "enema", + "steed", + "abyss", + "growl", + "fling", + "dozen", + "boozy", + "erode", + "world", + "gouge", + "click", + "briar", + "great", + "altar", + "pulpy", + "blurt", + "coast", + "duchy", + "groin", + "fixer", + "group", + "rogue", + "badly", + "smart", + "pithy", + "gaudy", + "chill", + "heron", + "vodka", + "finer", + "surer", + "radio", + "rouge", + "perch", + "retch", + "wrote", + "clock", + "tilde", + "store", + "prove", + "bring", + "solve", + "cheat", + "grime", + "exult", + "usher", + "epoch", + "triad", + "break", + "rhino", + "viral", + "conic", + "masse", + "sonic", + "vital", + "trace", + "using", + "peach", + "champ", + "baton", + "brake", + "pluck", + "craze", + "gripe", + "weary", + "picky", + "acute", + "ferry", + "aside", + "tapir", + "troll", + "unify", + "rebus", + "boost", + "truss", + "siege", + "tiger", + "banal", + "slump", + "crank", + "gorge", + "query", + "drink", + "favor", + "abbey", + "tangy", + "panic", + "solar", + "shire", + "proxy", + "point", + "robot", + "prick", + "wince", + "crimp", + "knoll", + "sugar", + "whack", + "mount", + "perky", + "could", + "wrung", + "light", + "those", + "moist", + "shard", + "pleat", + "aloft", + "skill", + "elder", + "frame", + "humor", + "pause", + "ulcer", + "ultra", + "robin", + "cynic", + "agora", + "aroma", + "caulk", + "shake", + "pupal", + "dodge", + "swill", + "tacit", + "other", + "thorn", + "trove", + "bloke", + "vivid", + "spill", + "chant", + "choke", + "rupee", + "nasty", + "mourn", + "ahead", + "brine", + "cloth", + "hoard", + "sweet", + "month", + "lapse", + "watch", + "today", + "focus", + "smelt", + "tease", + "cater", + "movie", + "lynch", + "saute", + "allow", + "renew", + "their", + "slosh", + "purge", + "chest", + "depot", + "epoxy", + "nymph", + "found", + "shall", + "harry", + "stove", + "lowly", + "snout", + "trope", + "fewer", + "shawl", + "natal", + "fibre", + "comma", + "foray", + "scare", + "stair", + "black", + "squad", + "royal", + "chunk", + "mince", + "slave", + "shame", + "cheek", + "ample", + "flair", + "foyer", + "cargo", + "oxide", + "plant", + "olive", + "inert", + "askew", + "heist", + "shown", + "zesty", + "hasty", + "trash", + "fella", + "larva", + "forgo", + "story", + "hairy", + "train", + "homer", + "badge", + "midst", + "canny", + "fetus", + "butch", + "farce", + "slung", + "tipsy", + "metal", + "yield", + "delve", + "being", + "scour", + "glass", + "gamer", + "scrap", + "money", + "hinge", + "album", + "vouch", + "asset", + "tiara", + "crept", + "bayou", + "atoll", + "manor", + "creak", + "showy", + "phase", + "froth", + "depth", + "gloom", + "flood", + "trait", + "girth", + "piety", + "payer", + "goose", + "float", + "donor", + "atone", + "primo", + "apron", + "blown", + "cacao", + "loser", + "input", + "gloat", + "awful", + "brink", + "smite", + "beady", + "rusty", + "retro", + "droll", + "gawky", + "hutch", + "pinto", + "gaily", + "egret", + "lilac", + "sever", + "field", + "fluff", + "hydro", + "flack", + "agape", + "wench", + "voice", + "stead", + "stalk", + "berth", + "madam", + "night", + "bland", + "liver", + "wedge", + "augur", + "roomy", + "wacky", + "flock", + "angry", + "bobby", + "trite", + "aphid", + "tryst", + "midge", + "power", + "elope", + "cinch", + "motto", + "stomp", + "upset", + "bluff", + "cramp", + "quart", + "coyly", + "youth", + "rhyme", + "buggy", + "alien", + "smear", + "unfit", + "patty", + "cling", + "glean", + "label", + "hunky", + "khaki", + "poker", + "gruel", + "twice", + "twang", + "shrug", + "treat", + "unlit", + "waste", + "merit", + "woven", + "octal", + "needy", + "clown", + "widow", + "irony", + "ruder", + "gauze", + "chief", + "onset", + "prize", + "fungi", + "charm", + "gully", + "inter", + "whoop", + "taunt", + "leery", + "class", + "theme", + "lofty", + "tibia", + "booze", + "alpha", + "thyme", + "eclat", + "doubt", + "parer", + "chute", + "stick", + "trice", + "alike", + "sooth", + "recap", + "saint", + "liege", + "glory", + "grate", + "admit", + "brisk", + "soggy", + "usurp", + "scald", + "scorn", + "leave", + "twine", + "sting", + "bough", + "marsh", + "sloth", + "dandy", + "vigor", + "howdy", + "enjoy", + "valid", + "ionic", + "equal", + "unset", + "floor", + "catch", + "spade", + "stein", + "exist", + "quirk", + "denim", + "grove", + "spiel", + "mummy", + "fault", + "foggy", + "flout", + "carry", + "sneak", + "libel", + "waltz", + "aptly", + "piney", + "inept", + "aloud", + "photo", + "dream", + "stale", + "vomit", + "ombre", + "fanny", + "unite", + "snarl", + "baker", + "there", + "glyph", + "pooch", + "hippy", + "spell", + "folly", + "louse", + "gulch", + "vault", + "godly", + "threw", + "fleet", + "grave", + "inane", + "shock", + "crave", + "spite", + "valve", + "skimp", + "claim", + "rainy", + "musty", + "pique", + "daddy", + "quasi", + "arise", + "aging", + "valet", + "opium", + "avert", + "stuck", + "recut", + "mulch", + "genre", + "plume", + "rifle", + "count", + "incur", + "total", + "wrest", + "mocha", + "deter", + "study", + "lover", + "safer", + "rivet", + "funny", + "smoke", + "mound", + "undue", + "sedan", + "pagan", + "swine", + "guile", + "gusty", + "equip", + "tough", + "canoe", + "chaos", + "covet", + "human", + "udder", + "lunch", + "blast", + "stray", + "manga", + "melee", + "lefty", + "quick", + "paste", + "given", + "octet", + "risen", + "groan", + "leaky", + "grind", + "carve", + "loose", + "sadly", + "spilt", + "apple", + "slack", + "honey", + "final", + "sheen", + "eerie", + "minty", + "slick", + "derby", + "wharf", + "spelt", + "coach", + "erupt", + "singe", + "price", + "spawn", + "fairy", + "jiffy", + "filmy", + "stack", + "chose", + "sleep", + "ardor", + "nanny", + "niece", + "woozy", + "handy", + "grace", + "ditto", + "stank", + "cream", + "usual", + "diode", + "valor", + "angle", + "ninja", + "muddy", + "chase", + "reply", + "prone", + "spoil", + "heart", + "shade", + "diner", + "arson", + "onion", + "sleet", + "dowel", + "couch", + "palsy", + "bowel", + "smile", + "evoke", + "creek", + "lance", + "eagle", + "idiot", + "siren", + "built", + "embed", + "award", + "dross", + "annul", + "goody", + "frown", + "patio", + "laden", + "humid", + "elite", + "lymph", + "edify", + "might", + "reset", + "visit", + "gusto", + "purse", + "vapor", + "crock", + "write", + "sunny", + "loath", + "chaff", + "slide", + "queer", + "venom", + "stamp", + "sorry", + "still", + "acorn", + "aping", + "pushy", + "tamer", + "hater", + "mania", + "awoke", + "brawn", + "swift", + "exile", + "birch", + "lucky", + "freer", + "risky", + "ghost", + "plier", + "lunar", + "winch", + "snare", + "nurse", + "house", + "borax", + "nicer", + "lurch", + "exalt", + "about", + "savvy", + "toxin", + "tunic", + "pried", + "inlay", + "chump", + "lanky", + "cress", + "eater", + "elude", + "cycle", + "kitty", + "boule", + "moron", + "tenet", + "place", + "lobby", + "plush", + "vigil", + "index", + "blink", + "clung", + "qualm", + "croup", + "clink", + "juicy", + "stage", + "decay", + "nerve", + "flier", + "shaft", + "crook", + "clean", + "china", + "ridge", + "vowel", + "gnome", + "snuck", + "icing", + "spiny", + "rigor", + "snail", + "flown", + "rabid", + "prose", + "thank", + "poppy", + "budge", + "fiber", + "moldy", + "dowdy", + "kneel", + "track", + "caddy", + "quell", + "dumpy", + "paler", + "swore", + "rebar", + "scuba", + "splat", + "flyer", + "horny", + "mason", + "doing", + "ozone", + "amply", + "molar", + "ovary", + "beset", + "queue", + "cliff", + "magic", + "truce", + "sport", + "fritz", + "edict", + "twirl", + "verse", + "llama", + "eaten", + "range", + "whisk", + "hovel", + "rehab", + "macaw", + "sigma", + "spout", + "verve", + "sushi", + "dying", + "fetid", + "brain", + "buddy", + "thump", + "scion", + "candy", + "chord", + "basin", + "march", + "crowd", + "arbor", + "gayly", + "musky", + "stain", + "dally", + "bless", + "bravo", + "stung", + "title", + "ruler", + "kiosk", + "blond", + "ennui", + "layer", + "fluid", + "tatty", + "score", + "cutie", + "zebra", + "barge", + "matey", + "bluer", + "aider", + "shook", + "river", + "privy", + "betel", + "frisk", + "bongo", + "begun", + "azure", + "weave", + "genie", + "sound", + "glove", + "braid", + "scope", + "wryly", + "rover", + "assay", + "ocean", + "bloom", + "irate", + "later", + "woken", + "silky", + "wreck", + "dwelt", + "slate", + "smack", + "solid", + "amaze", + "hazel", + "wrist", + "jolly", + "globe", + "flint", + "rouse", + "civil", + "vista", + "relax", + "cover", + "alive", + "beech", + "jetty", + "bliss", + "vocal", + "often", + "dolly", + "eight", + "joker", + "since", + "event", + "ensue", + "shunt", + "diver", + "poser", + "worst", + "sweep", + "alley", + "creed", + "anime", + "leafy", + "bosom", + "dunce", + "stare", + "pudgy", + "waive", + "choir", + "stood", + "spoke", + "outgo", + "delay", + "bilge", + "ideal", + "clasp", + "seize", + "hotly", + "laugh", + "sieve", + "block", + "meant", + "grape", + "noose", + "hardy", + "shied", + "drawl", + "daisy", + "putty", + "strut", + "burnt", + "tulip", + "crick", + "idyll", + "vixen", + "furor", + "geeky", + "cough", + "naive", + "shoal", + "stork", + "bathe", + "aunty", + "check", + "prime", + "brass", + "outer", + "furry", + "razor", + "elect", + "evict", + "imply", + "demur", + "quota", + "haven", + "cavil", + "swear", + "crump", + "dough", + "gavel", + "wagon", + "salon", + "nudge", + "harem", + "pitch", + "sworn", + "pupil", + "excel", + "stony", + "cabin", + "unzip", + "queen", + "trout", + "polyp", + "earth", + "storm", + "until", + "taper", + "enter", + "child", + "adopt", + "minor", + "fatty", + "husky", + "brave", + "filet", + "slime", + "glint", + "tread", + "steal", + "regal", + "guest", + "every", + "murky", + "share", + "spore", + "hoist", + "buxom", + "inner", + "otter", + "dimly", + "level", + "sumac", + "donut", + "stilt", + "arena", + "sheet", + "scrub", + "fancy", + "slimy", + "pearl", + "silly", + "porch", + "dingo", + "sepia", + "amble", + "shady", + "bread", + "friar", + "reign", + "dairy", + "quill", + "cross", + "brood", + "tuber", + "shear", + "posit", + "blank", + "villa", + "shank", + "piggy", + "freak", + "which", + "among", + "fecal", + "shell", + "would", + "algae", + "large", + "rabbi", + "agony", + "amuse", + "bushy", + "copse", + "swoon", + "knife", + "pouch", + "ascot", + "plane", + "crown", + "urban", + "snide", + "relay", + "abide", + "viola", + "rajah", + "straw", + "dilly", + "crash", + "amass", + "third", + "trick", + "tutor", + "woody", + "blurb", + "grief", + "disco", + "where", + "sassy", + "beach", + "sauna", + "comic", + "clued", + "creep", + "caste", + "graze", + "snuff", + "frock", + "gonad", + "drunk", + "prong", + "lurid", + "steel", + "halve", + "buyer", + "vinyl", + "utile", + "smell", + "adage", + "worry", + "tasty", + "local", + "trade", + "finch", + "ashen", + "modal", + "gaunt", + "clove", + "enact", + "adorn", + "roast", + "speck", + "sheik", + "missy", + "grunt", + "snoop", + "party", + "touch", + "mafia", + "emcee", + "array", + "south", + "vapid", + "jelly", + "skulk", + "angst", + "tubal", + "lower", + "crest", + "sweat", + "cyber", + "adore", + "tardy", + "swami", + "notch", + "groom", + "roach", + "hitch", + "young", + "align", + "ready", + "frond", + "strap", + "puree", + "realm", + "venue", + "swarm", + "offer", + "seven", + "dryer", + "diary", + "dryly", + "drank", + "acrid", + "heady", + "theta", + "junto", + "pixie", + "quoth", + "bonus", + "shalt", + "penne", + "amend", + "datum", + "build", + "piano", + "shelf", + "lodge", + "suing", + "rearm", + "coral", + "ramen", + "worth", + "psalm", + "infer", + "overt", + "mayor", + "ovoid", + "glide", + "usage", + "poise", + "randy", + "chuck", + "prank", + "fishy", + "tooth", + "ether", + "drove", + "idler", + "swath", + "stint", + "while", + "begat", + "apply", + "slang", + "tarot", + "radar", + "credo", + "aware", + "canon", + "shift", + "timer", + "bylaw", + "serum", + "three", + "steak", + "iliac", + "shirk", + "blunt", + "puppy", + "penal", + "joist", + "bunny", + "shape", + "beget", + "wheel", + "adept", + "stunt", + "stole", + "topaz", + "chore", + "fluke", + "afoot", + "bloat", + "bully", + "dense", + "caper", + "sneer", + "boxer", + "jumbo", + "lunge", + "space", + "avail", + "short", + "slurp", + "loyal", + "flirt", + "pizza", + "conch", + "tempo", + "droop", + "plate", + "bible", + "plunk", + "afoul", + "savoy", + "steep", + "agile", + "stake", + "dwell", + "knave", + "beard", + "arose", + "motif", + "smash", + "broil", + "glare", + "shove", + "baggy", + "mammy", + "swamp", + "along", + "rugby", + "wager", + "quack", + "squat", + "snaky", + "debit", + "mange", + "skate", + "ninth", + "joust", + "tramp", + "spurn", + "medal", + "micro", + "rebel", + "flank", + "learn", + "nadir", + "maple", + "comfy", + "remit", + "gruff", + "ester", + "least", + "mogul", + "fetch", + "cause", + "oaken", + "aglow", + "meaty", + "gaffe", + "shyly", + "racer", + "prowl", + "thief", + "stern", + "poesy", + "rocky", + "tweet", + "waist", + "spire", + "grope", + "havoc", + "patsy", + "truly", + "forty", + "deity", + "uncle", + "swish", + "giver", + "preen", + "bevel", + "lemur", + "draft", + "slope", + "annoy", + "lingo", + "bleak", + "ditty", + "curly", + "cedar", + "dirge", + "grown", + "horde", + "drool", + "shuck", + "crypt", + "cumin", + "stock", + "gravy", + "locus", + "wider", + "breed", + "quite", + "chafe", + "cache", + "blimp", + "deign", + "fiend", + "logic", + "cheap", + "elide", + "rigid", + "false", + "renal", + "pence", + "rowdy", + "shoot", + "blaze", + "envoy", + "posse", + "brief", + "never", + "abort", + "mouse", + "mucky", + "sulky", + "fiery", + "media", + "trunk", + "yeast", + "clear", + "skunk", + "scalp", + "bitty", + "cider", + "koala", + "duvet", + "segue", + "creme", + "super", + "grill", + "after", + "owner", + "ember", + "reach", + "nobly", + "empty", + "speed", + "gipsy", + "recur", + "smock", + "dread", + "merge", + "burst", + "kappa", + "amity", + "shaky", + "hover", + "carol", + "snort", + "synod", + "faint", + "haunt", + "flour", + "chair", + "detox", + "shrew", + "tense", + "plied", + "quark", + "burly", + "novel", + "waxen", + "stoic", + "jerky", + "blitz", + "beefy", + "lyric", + "hussy", + "towel", + "quilt", + "below", + "bingo", + "wispy", + "brash", + "scone", + "toast", + "easel", + "saucy", + "value", + "spice", + "honor", + "route", + "sharp", + "bawdy", + "radii", + "skull", + "phony", + "issue", + "lager", + "swell", + "urine", + "gassy", + "trial", + "flora", + "upper", + "latch", + "wight", + "brick", + "retry", + "holly", + "decal", + "grass", + "shack", + "dogma", + "mover", + "defer", + "sober", + "optic", + "crier", + "vying", + "nomad", + "flute", + "hippo", + "shark", + "drier", + "obese", + "bugle", + "tawny", + "chalk", + "feast", + "ruddy", + "pedal", + "scarf", + "cruel", + "bleat", + "tidal", + "slush", + "semen", + "windy", + "dusty", + "sally", + "igloo", + "nerdy", + "jewel", + "shone", + "whale", + "hymen", + "abuse", + "fugue", + "elbow", + "crumb", + "pansy", + "welsh", + "syrup", + "terse", + "suave", + "gamut", + "swung", + "drake", + "freed", + "afire", + "shirt", + "grout", + "oddly", + "tithe", + "plaid", + "dummy", + "broom", + "blind", + "torch", + "enemy", + "again", + "tying", + "pesky", + "alter", + "gazer", + "noble", + "ethos", + "bride", + "extol", + "decor", + "hobby", + "beast", + "idiom", + "utter", + "these", + "sixth", + "alarm", + "erase", + "elegy", + "spunk", + "piper", + "scaly", + "scold", + "hefty", + "chick", + "sooty", + "canal", + "whiny", + "slash", + "quake", + "joint", + "swept", + "prude", + "heavy", + "wield", + "femme", + "lasso", + "maize", + "shale", + "screw", + "spree", + "smoky", + "whiff", + "scent", + "glade", + "spent", + "prism", + "stoke", + "riper", + "orbit", + "cocoa", + "guilt", + "humus", + "shush", + "table", + "smirk", + "wrong", + "noisy", + "alert", + "shiny", + "elate", + "resin", + "whole", + "hunch", + "pixel", + "polar", + "hotel", + "sword", + "cleat", + "mango", + "rumba", + "puffy", + "filly", + "billy", + "leash", + "clout", + "dance", + "ovate", + "facet", + "chili", + "paint", + "liner", + "curio", + "salty", + "audio", + "snake", + "fable", + "cloak", + "navel", + "spurt", + "pesto", + "balmy", + "flash", + "unwed", + "early", + "churn", + "weedy", + "stump", + "lease", + "witty", + "wimpy", + "spoof", + "saner", + "blend", + "salsa", + "thick", + "warty", + "manic", + "blare", + "squib", + "spoon", + "probe", + "crepe", + "knack", + "force", + "debut", + "order", + "haste", + "teeth", + "agent", + "widen", + "icily", + "slice", + "ingot", + "clash", + "juror", + "blood", + "abode", + "throw", + "unity", + "pivot", + "slept", + "troop", + "spare", + "sewer", + "parse", + "morph", + "cacti", + "tacky", + "spool", + "demon", + "moody", + "annex", + "begin", + "fuzzy", + "patch", + "water", + "lumpy", + "admin", + "omega", + "limit", + "tabby", + "macho", + "aisle", + "skiff", + "basis", + "plank", + "verge", + "botch", + "crawl", + "lousy", + "slain", + "cubic", + "raise", + "wrack", + "guide", + "foist", + "cameo", + "under", + "actor", + "revue", + "fraud", + "harpy", + "scoop", + "climb", + "refer", + "olden", + "clerk", + "debar", + "tally", + "ethic", + "cairn", + "tulle", + "ghoul", + "hilly", + "crude", + "apart", + "scale", + "older", + "plain", + "sperm", + "briny", + "abbot", + "rerun", + "quest", + "crisp", + "bound", + "befit", + "drawn", + "suite", + "itchy", + "cheer", + "bagel", + "guess", + "broad", + "axiom", + "chard", + "caput", + "leant", + "harsh", + "curse", + "proud", + "swing", + "opine", + "taste", + "lupus", + "gumbo", + "miner", + "green", + "chasm", + "lipid", + "topic", + "armor", + "brush", + "crane", + "mural", + "abled", + "habit", + "bossy", + "maker", + "dusky", + "dizzy", + "lithe", + "brook", + "jazzy", + "fifty", + "sense", + "giant", + "surly", + "legal", + "fatal", + "flunk", + "began", + "prune", + "small", + "slant", + "scoff", + "torus", + "ninny", + "covey", + "viper", + "taken", + "moral", + "vogue", + "owing", + "token", + "entry", + "booth", + "voter", + "chide", + "elfin", + "ebony", + "neigh", + "minim", + "melon", + "kneed", + "decoy", + "voila", + "ankle", + "arrow", + "mushy", + "tribe", + "cease", + "eager", + "birth", + "graph", + "odder", + "terra", + "weird", + "tried", + "clack", + "color", + "rough", + "weigh", + "uncut", + "ladle", + "strip", + "craft", + "minus", + "dicey", + "titan", + "lucid", + "vicar", + "dress", + "ditch", + "gypsy", + "pasta", + "taffy", + "flame", + "swoop", + "aloof", + "sight", + "broke", + "teary", + "chart", + "sixty", + "wordy", + "sheer", + "leper", + "nosey", + "bulge", + "savor", + "clamp", + "funky", + "foamy", + "toxic", + "brand", + "plumb", + "dingy", + "butte", + "drill", + "tripe", + "bicep", + "tenor", + "krill", + "worse", + "drama", + "hyena", + "think", + "ratio", + "cobra", + "basil", + "scrum", + "bused", + "phone", + "court", + "camel", + "proof", + "heard", + "angel", + "petal", + "pouty", + "throb", + "maybe", + "fetal", + "sprig", + "spine", + "shout", + "cadet", + "macro", + "dodgy", + "satyr", + "rarer", + "binge", + "trend", + "nutty", + "leapt", + "amiss", + "split", + "myrrh", + "width", + "sonar", + "tower", + "baron", + "fever", + "waver", + "spark", + "belie", + "sloop", + "expel", + "smote", + "baler", + "above", + "north", + "wafer", + "scant", + "frill", + "awash", + "snack", + "scowl", + "frail", + "drift", + "limbo", + "fence", + "motel", + "ounce", + "wreak", + "revel", + "talon", + "prior", + "knelt", + "cello", + "flake", + "debug", + "anode", + "crime", + "salve", + "scout", + "imbue", + "pinky", + "stave", + "vague", + "chock", + "fight", + "video", + "stone", + "teach", + "cleft", + "frost", + "prawn", + "booty", + "twist", + "apnea", + "stiff", + "plaza", + "ledge", + "tweak", + "board", + "grant", + "medic", + "bacon", + "cable", + "brawl", + "slunk", + "raspy", + "forum", + "drone", + "women", + "mucus", + "boast", + "toddy", + "coven", + "tumor", + "truer", + "wrath", + "stall", + "steam", + "axial", + "purer", + "daily", + "trail", + "niche", + "mealy", + "juice", + "nylon", + "plump", + "merry", + "flail", + "papal", + "wheat", + "berry", + "cower", + "erect", + "brute", + "leggy", + "snipe", + "sinew", + "skier", + "penny", + "jumpy", + "rally", + "umbra", + "scary", + "modem", + "gross", + "avian", + "greed", + "satin", + "tonic", + "parka", + "sniff", + "livid", + "stark", + "trump", + "giddy", + "reuse", + "taboo", + "avoid", + "quote", + "devil", + "liken", + "gloss", + "gayer", + "beret", + "noise", + "gland", + "dealt", + "sling", + "rumor", + "opera", + "thigh", + "tonga", + "flare", + "wound", + "white", + "bulky", + "etude", + "horse", + "circa", + "paddy", + "inbox", + "fizzy", + "grain", + "exert", + "surge", + "gleam", + "belle", + "salvo", + "crush", + "fruit", + "sappy", + "taker", + "tract", + "ovine", + "spiky", + "frank", + "reedy", + "filth", + "spasm", + "heave", + "mambo", + "right", + "clank", + "trust", + "lumen", + "borne", + "spook", + "sauce", + "amber", + "lathe", + "carat", + "corer", + "dirty", + "slyly", + "affix", + "alloy", + "taint", + "sheep", + "kinky", + "wooly", + "mauve", + "flung", + "yacht", + "fried", + "quail", + "brunt", + "grimy", + "curvy", + "cagey", + "rinse", + "deuce", + "state", + "grasp", + "milky", + "bison", + "graft", + "sandy", + "baste", + "flask", + "hedge", + "girly", + "swash", + "boney", + "coupe", + "endow", + "abhor", + "welch", + "blade", + "tight", + "geese", + "miser", + "mirth", + "cloud", + "cabal", + "leech", + "close", + "tenth", + "pecan", + "droit", + "grail", + "clone", + "guise", + "ralph", + "tango", + "biddy", + "smith", + "mower", + "payee", + "serif", + "drape", + "fifth", + "spank", + "glaze", + "allot", + "truck", + "kayak", + "virus", + "testy", + "tepee", + "fully", + "zonal", + "metro", + "curry", + "grand", + "banjo", + "axion", + "bezel", + "occur", + "chain", + "nasal", + "gooey", + "filer", + "brace", + "allay", + "pubic", + "raven", + "plead", + "gnash", + "flaky", + "munch", + "dully", + "eking", + "thing", + "slink", + "hurry", + "theft", + "shorn", + "pygmy", + "ranch", + "wring", + "lemon", + "shore", + "mamma", + "froze", + "newer", + "style", + "moose", + "antic", + "drown", + "vegan", + "chess", + "guppy", + "union", + "lever", + "lorry", + "image", + "cabby", + "druid", + "exact", + "truth", + "dopey", + "spear", + "cried", + "chime", + "crony", + "stunk", + "timid", + "batch", + "gauge", + "rotor", + "crack", + "curve", + "latte", + "witch", + "bunch", + "repel", + "anvil", + "soapy", + "meter", + "broth", + "madly", + "dried", + "scene", + "known", + "magma", + "roost", + "woman", + "thong", + "punch", + "pasty", + "downy", + "knead", + "whirl", + "rapid", + "clang", + "anger", + "drive", + "goofy", + "email", + "music", + "stuff", + "bleep", + "rider", + "mecca", + "folio", + "setup", + "verso", + "quash", + "fauna", + "gummy", + "happy", + "newly", + "fussy", + "relic", + "guava", + "ratty", + "fudge", + "femur", + "chirp", + "forte", + "alibi", + "whine", + "petty", + "golly", + "plait", + "fleck", + "felon", + "gourd", + "brown", + "thrum", + "ficus", + "stash", + "decry", + "wiser", + "junta", + "visor", + "daunt", + "scree", + "impel", + "await", + "press", + "whose", + "turbo", + "stoop", + "speak", + "mangy", + "eying", + "inlet", + "crone", + "pulse", + "mossy", + "staid", + "hence", + "pinch", + "teddy", + "sully", + "snore", + "ripen", + "snowy", + "attic", + "going", + "leach", + "mouth", + "hound", + "clump", + "tonal", + "bigot", + "peril", + "piece", + "blame", + "haute", + "spied", + "undid", + "intro", + "basal", + "shine", + "gecko", + "rodeo", + "guard", + "steer", + "loamy", + "scamp", + "scram", + "manly", + "hello", + "vaunt", + "organ", + "feral", + "knock", + "extra", + "condo", + "adapt", + "willy", + "polka", + "rayon", + "skirt", + "faith", + "torso", + "match", + "mercy", + "tepid", + "sleek", + "riser", + "twixt", + "peace", + "flush", + "catty", + "login", + "eject", + "roger", + "rival", + "untie", + "refit", + "aorta", + "adult", + "judge", + "rower", + "artsy", + "rural", + "shave", +] diff --git a/tests/test_figlet_fonts.py b/tests/test_figlet_fonts.py index 4f3d0e4e..c6b122a8 100644 --- a/tests/test_figlet_fonts.py +++ b/tests/test_figlet_fonts.py @@ -5,8 +5,7 @@ from reasoning_gym.cognition.figlet_fonts import FigletFontConfig, FigletFontDat def test_figlet(): """Test basic properties and solution of generated items""" - config = FigletFontConfig( - ) + config = FigletFontConfig(size=40) dataset = FigletFontDataset(config) for item in dataset: @@ -19,15 +18,12 @@ def test_figlet(): assert "font" in item["metadata"] # Test the scoring - assert dataset.score_answer(answer=item['answer'], entry=item) == 1.0 + assert dataset.score_answer(answer=item["answer"], entry=item) == 1.0 + def test_static_figlet(): """Test basic properties and solution of generated items""" - config = FigletFontConfig( - static_word="TESTY", - static_font="caligraphy", - space_letters=False - ) + config = FigletFontConfig(static_word="TESTY", static_font="caligraphy", space_letters=False, size=15) dataset = FigletFontDataset(config) # Test partial scoring @@ -35,4 +31,3 @@ def test_static_figlet(): assert dataset.score_answer(answer="TESTY", entry=item) == 1.0 assert dataset.score_answer(answer="WESTY", entry=item) == 0.4 assert dataset.score_answer(answer=None, entry=item) == 0 - break