text:
@testset "124.binary-tree-maximum-path-sum.jl" begin
    s = "nanny"
    t = "aloud"
    wl = [
        "ricky",
        "grind",
        "cubic",
        "panic",
        "lover",
        "farce",
        "gofer",
        "sales",
        "flint",
        "omens",
        "lipid",
        "briny",
        "cloth",
        "anted",
        "slime",
        "oaten",
        "harsh",
        "touts",
        "stoop",
        "cabal",
        "lazed",
        "elton",
        "skunk",
        "nicer",
        "pesky",
        "kusch",
        "bused",
        "kinda",
        "tunis",
        "enjoy",
        "aches",
        "prowl",
        "babar",
        "rooms",
        "burst",
        "slush",
        "pines",
        "urine",
        "pinky",
        "bayed",
        "mania",
        "light",
        "flare",
        "wares",
        "women",
        "verne",
        "moron",
        "shine",
        "bluer",
        "zeros",
        "bleak",
        "brief",
        "tamra",
        "vasts",
        "jamie",
        "lairs",
        "penal",
        "worst",
        "yowls",
        "pills",
        "taros",
        "addle",
        "alyce",
        "creep",
        "saber",
        "floyd",
        "cures",
        "soggy",
        "vexed",
        "vilma",
        "cabby",
        "verde",
        "euler",
        "cling",
        "wanna",
        "jenny",
        "donor",
        "stole",
        "sakha",
        "blake",
        "sanes",
        "riffs",
        "forge",
        "horus",
        "sered",
        "piked",
        "prosy",
        "wases",
        "glove",
        "onset",
        "spake",
        "benin",
        "talks",
        "sites",
        "biers",
        "wendy",
        "dante",
        "allan",
        "haven",
        "nears",
        "shaka",
        "sloth",
        "perky",
        "spear",
        "spend",
        "clint",
        "dears",
        "sadly",
        "units",
        "vista",
        "hinds",
        "marat",
        "natal",
        "least",
        "bough",
        "pales",
        "boole",
        "ditch",
        "greys",
        "slunk",
        "bitch",
        "belts",
        "sense",
        "skits",
        "monty",
        "yawns",
        "music",
        "hails",
        "alien",
        "gibes",
        "lille",
        "spacy",
        "argot",
        "wasps",
        "drubs",
        "poops",
        "bella",
        "clone",
        "beast",
        "emend",
        "iring",
        "start",
        "darla",
        "bells",
        "cults",
        "dhaka",
        "sniff",
        "seers",
        "bantu",
        "pages",
        "fever",
        "tacky",
        "hoses",
        "strop",
        "climb",
        "pairs",
        "later",
        "grant",
        "raven",
        "stael",
        "drips",
        "lucid",
        "awing",
        "dines",
        "balms",
        "della",
        "galen",
        "toned",
        "snips",
        "shady",
        "chili",
        "fears",
        "nurse",
        "joint",
        "plump",
        "micky",
        "lions",
        "jamal",
        "queer",
        "ruins",
        "frats",
        "spoof",
        "semen",
        "pulps",
        "oldie",
        "coors",
        "rhone",
        "papal",
        "seals",
        "spans",
        "scaly",
        "sieve",
        "klaus",
        "drums",
        "tided",
        "needs",
        "rider",
        "lures",
        "treks",
        "hares",
        "liner",
        "hokey",
        "boots",
        "primp",
        "laval",
        "limes",
        "putts",
        "fonda",
        "damon",
        "pikes",
        "hobbs",
        "specs",
        "greet",
        "ketch",
        "braid",
        "purer",
        "tsars",
        "berne",
        "tarts",
        "clean",
        "grate",
        "trips",
        "chefs",
        "timex",
        "vicky",
        "pares",
        "price",
        "every",
        "beret",
        "vices",
        "jodie",
        "fanny",
        "mails",
        "built",
        "bossy",
        "farms",
        "pubic",
        "gongs",
        "magma",
        "quads",
        "shell",
        "jocks",
        "woods",
        "waded",
        "parka",
        "jells",
        "worse",
        "diner",
        "risks",
        "bliss",
        "bryan",
        "terse",
        "crier",
        "incur",
        "murky",
        "gamed",
        "edges",
        "keens",
        "bread",
        "raced",
        "vetch",
        "glint",
        "zions",
        "porno",
        "sizes",
        "mends",
        "ached",
        "allie",
        "bands",
        "plank",
        "forth",
        "fuels",
        "rhyme",
        "wimpy",
        "peels",
        "foggy",
        "wings",
        "frill",
        "edgar",
        "slave",
        "lotus",
        "point",
        "hints",
        "germs",
        "clung",
        "limed",
        "loafs",
        "realm",
        "myron",
        "loopy",
        "plush",
        "volts",
        "bimbo",
        "smash",
        "windy",
        "sours",
        "choke",
        "karin",
        "boast",
        "whirr",
        "tiber",
        "dimes",
        "basel",
        "cutes",
        "pinto",
        "troll",
        "thumb",
        "decor",
        "craft",
        "tared",
        "split",
        "josue",
        "tramp",
        "screw",
        "label",
        "lenny",
        "apses",
        "slept",
        "sikhs",
        "child",
        "bouts",
        "cites",
        "swipe",
        "lurks",
        "seeds",
        "fists",
        "hoard",
        "steed",
        "reams",
        "spoil",
        "diego",
        "peale",
        "bevel",
        "flags",
        "mazes",
        "quart",
        "snipe",
        "latch",
        "lards",
        "acted",
        "falls",
        "busby",
        "holed",
        "mummy",
        "wrong",
        "wipes",
        "carlo",
        "leers",
        "wails",
        "night",
        "pasty",
        "eater",
        "flunk",
        "vedas",
        "curse",
        "tyros",
        "mirth",
        "jacky",
        "butte",
        "wired",
        "fixes",
        "tares",
        "vague",
        "roved",
        "stove",
        "swoon",
        "scour",
        "coked",
        "marge",
        "cants",
        "comic",
        "corns",
        "zilch",
        "typos",
        "lives",
        "truer",
        "comma",
        "gaily",
        "teals",
        "witty",
        "hyper",
        "croat",
        "sways",
        "tills",
        "hones",
        "dowel",
        "llano",
        "clefs",
        "fores",
        "cinch",
        "brock",
        "vichy",
        "bleed",
        "nuder",
        "hoyle",
        "slams",
        "macro",
        "arabs",
        "tauts",
        "eager",
        "croak",
        "scoop",
        "crime",
        "lurch",
        "weals",
        "fates",
        "clipt",
        "teens",
        "bulls",
        "domed",
        "ghana",
        "culls",
        "frame",
        "hanky",
        "jared",
        "swain",
        "truss",
        "drank",
        "lobby",
        "lumps",
        "pansy",
        "whews",
        "saris",
        "trite",
        "weeps",
        "dozes",
        "jeans",
        "flood",
        "chimu",
        "foxes",
        "gelds",
        "sects",
        "scoff",
        "poses",
        "mares",
        "famed",
        "peers",
        "hells",
        "laked",
        "zests",
        "wring",
        "steal",
        "snoot",
        "yodel",
        "scamp",
        "ellis",
        "bandy",
        "marry",
        "jives",
        "vises",
        "blurb",
        "relay",
        "patch",
        "haley",
        "cubit",
        "heine",
        "place",
        "touch",
        "grain",
        "gerry",
        "badly",
        "hooke",
        "fuchs",
        "savor",
        "apron",
        "judge",
        "loren",
        "britt",
        "smith",
        "tammy",
        "altar",
        "duels",
        "huber",
        "baton",
        "dived",
        "apace",
        "sedan",
        "basts",
        "clark",
        "mired",
        "perch",
        "hulks",
        "jolly",
        "welts",
        "quack",
        "spore",
        "alums",
        "shave",
        "singe",
        "lanny",
        "dread",
        "profs",
        "skeet",
        "flout",
        "darin",
        "newed",
        "steer",
        "taine",
        "salvo",
        "mites",
        "rules",
        "crash",
        "thorn",
        "olive",
        "saves",
        "yawed",
        "pique",
        "salon",
        "ovens",
        "dusty",
        "janie",
        "elise",
        "carve",
        "winds",
        "abash",
        "cheep",
        "strap",
        "fared",
        "discs",
        "poxed",
        "hoots",
        "catch",
        "combo",
        "maize",
        "repay",
        "mario",
        "snuff",
        "delve",
        "cored",
        "bards",
        "sudan",
        "shuns",
        "yukon",
        "jowls",
        "wayne",
        "torus",
        "gales",
        "creek",
        "prove",
        "needy",
        "wisps",
        "terri",
        "ranks",
        "books",
        "dicky",
        "tapes",
        "aping",
        "padre",
        "roads",
        "nines",
        "seats",
        "flats",
        "rains",
        "moira",
        "basic",
        "loves",
        "pulls",
        "tough",
        "gills",
        "codes",
        "chest",
        "teeny",
        "jolts",
        "woody",
        "flame",
        "asked",
        "dulls",
        "hotly",
        "glare",
        "mucky",
        "spite",
        "flake",
        "vines",
        "lindy",
        "butts",
        "froth",
        "beeps",
        "sills",
        "bunny",
        "flied",
        "shaun",
        "mawed",
        "velds",
        "voled",
        "doily",
        "patel",
        "snake",
        "thigh",
        "adler",
        "calks",
        "desks",
        "janus",
        "spunk",
        "baled",
        "match",
        "strip",
        "hosed",
        "nippy",
        "wrest",
        "whams",
        "calfs",
        "sleet",
        "wives",
        "boars",
        "chain",
        "table",
        "duked",
        "riped",
        "edens",
        "galas",
        "huffs",
        "biddy",
        "claps",
        "aleut",
        "yucks",
        "bangs",
        "quids",
        "glenn",
        "evert",
        "drunk",
        "lusts",
        "senna",
        "slate",
        "manet",
        "roted",
        "sleep",
        "loxes",
        "fluky",
        "fence",
        "clamp",
        "doted",
        "broad",
        "sager",
        "spark",
        "belch",
        "mandy",
        "deana",
        "beyer",
        "hoist",
        "leafy",
        "levee",
        "libel",
        "tonic",
        "aloes",
        "steam",
        "skews",
        "tides",
        "stall",
        "rifts",
        "saxon",
        "mavis",
        "asama",
        "might",
        "dotes",
        "tangs",
        "wroth",
        "kited",
        "salad",
        "liens",
        "clink",
        "glows",
        "balky",
        "taffy",
        "sided",
        "sworn",
        "oasis",
        "tenth",
        "blurt",
        "tower",
        "often",
        "walsh",
        "sonny",
        "andes",
        "slump",
        "scans",
        "boded",
        "chive",
        "finer",
        "ponce",
        "prune",
        "sloes",
        "dined",
        "chums",
        "dingo",
        "harte",
        "ahead",
        "event",
        "freer",
        "heart",
        "fetch",
        "sated",
        "soapy",
        "skins",
        "royal",
        "cuter",
        "loire",
        "minot",
        "aisle",
        "horny",
        "slued",
        "panel",
        "eight",
        "snoop",
        "pries",
        "clive",
        "pored",
        "wrist",
        "piped",
        "daren",
        "cells",
        "parks",
        "slugs",
        "cubed",
        "highs",
        "booze",
        "weary",
        "stain",
        "hoped",
        "finny",
        "weeds",
        "fetid",
        "racer",
        "tasks",
        "right",
        "saint",
        "shahs",
        "basis",
        "refer",
        "chart",
        "seize",
        "lulls",
        "slant",
        "belay",
        "clots",
        "jinny",
        "tours",
        "modes",
        "gloat",
        "dunks",
        "flute",
        "conch",
        "marts",
        "aglow",
        "gayer",
        "lazes",
        "dicks",
        "chime",
        "bears",
        "sharp",
        "hatch",
        "forms",
        "terry",
        "gouda",
        "thins",
        "janet",
        "tonya",
        "axons",
        "sewed",
        "danny",
        "rowdy",
        "dolts",
        "hurry",
        "opine",
        "fifty",
        "noisy",
        "spiky",
        "humid",
        "verna",
        "poles",
        "jayne",
        "pecos",
        "hooky",
        "haney",
        "shams",
        "snots",
        "sally",
        "ruder",
        "tempe",
        "plunk",
        "shaft",
        "scows",
        "essie",
        "dated",
        "fleet",
        "spate",
        "bunin",
        "hikes",
        "sodas",
        "filly",
        "thyme",
        "fiefs",
        "perks",
        "chary",
        "kiths",
        "lidia",
        "lefty",
        "wolff",
        "withe",
        "three",
        "crawl",
        "wotan",
        "brown",
        "japed",
        "tolls",
        "taken",
        "threw",
        "crave",
        "clash",
        "layer",
        "tends",
        "notes",
        "fudge",
        "musky",
        "bawdy",
        "aline",
        "matts",
        "shirr",
        "balks",
        "stash",
        "wicks",
        "crepe",
        "foods",
        "fares",
        "rotes",
        "party",
        "petty",
        "press",
        "dolly",
        "mangy",
        "leeks",
        "silly",
        "leant",
        "nooks",
        "chapt",
        "loose",
        "caged",
        "wages",
        "grist",
        "alert",
        "sheri",
        "moody",
        "tamps",
        "hefts",
        "souls",
        "rubes",
        "rolex",
        "skulk",
        "veeps",
        "nonce",
        "state",
        "level",
        "whirl",
        "bight",
        "grits",
        "reset",
        "faked",
        "spiny",
        "mixes",
        "hunks",
        "major",
        "missy",
        "arius",
        "damns",
        "fitly",
        "caped",
        "mucus",
        "trace",
        "surat",
        "lloyd",
        "furry",
        "colin",
        "texts",
        "livia",
        "reply",
        "twill",
        "ships",
        "peons",
        "shear",
        "norms",
        "jumbo",
        "bring",
        "masks",
        "zippy",
        "brine",
        "dorks",
        "roded",
        "sinks",
        "river",
        "wolfs",
        "strew",
        "myths",
        "pulpy",
        "prank",
        "veins",
        "flues",
        "minus",
        "phone",
        "banns",
        "spell",
        "burro",
        "brags",
        "boyle",
        "lambs",
        "sides",
        "knees",
        "clews",
        "aired",
        "skirt",
        "heavy",
        "dimer",
        "bombs",
        "scums",
        "hayes",
        "chaps",
        "snugs",
        "dusky",
        "loxed",
        "ellen",
        "while",
        "swank",
        "track",
        "minim",
        "wiled",
        "hazed",
        "roofs",
        "cantu",
        "sorry",
        "roach",
        "loser",
        "brass",
        "stint",
        "jerks",
        "dirks",
        "emory",
        "campy",
        "poise",
        "sexed",
        "gamer",
        "catty",
        "comte",
        "bilbo",
        "fasts",
        "ledge",
        "drier",
        "idles",
        "doors",
        "waged",
        "rizal",
        "pured",
        "weirs",
        "crisp",
        "tasty",
        "sored",
        "palmy",
        "parts",
        "ethel",
        "unify",
        "crows",
        "crest",
        "udder",
        "delis",
        "punks",
        "dowse",
        "totes",
        "emile",
        "coded",
        "shops",
        "poppa",
        "pours",
        "gushy",
        "tiffs",
        "shads",
        "birds",
        "coils",
        "areas",
        "boons",
        "hulls",
        "alter",
        "lobes",
        "pleat",
        "depth",
        "fires",
        "pones",
        "serra",
        "sweat",
        "kline",
        "malay",
        "ruled",
        "calve",
        "tired",
        "drabs",
        "tubed",
        "wryer",
        "slung",
        "union",
        "sonya",
        "aided",
        "hewed",
        "dicey",
        "grids",
        "nixed",
        "whits",
        "mills",
        "buffs",
        "yucky",
        "drops",
        "ready",
        "yuppy",
        "tweet",
        "napes",
        "cadre",
        "teach",
        "rasps",
        "dowdy",
        "hoary",
        "canto",
        "posed",
        "dumbo",
        "kooks",
        "reese",
        "snaky",
        "binge",
        "byron",
        "phony",
        "safer",
        "friar",
        "novel",
        "scale",
        "huron",
        "adorn",
        "carla",
        "fauna",
        "myers",
        "hobby",
        "purse",
        "flesh",
        "smock",
        "along",
        "boils",
        "pails",
        "times",
        "panza",
        "lodge",
        "clubs",
        "colby",
        "great",
        "thing",
        "peaks",
        "diana",
        "vance",
        "whets",
        "bergs",
        "sling",
        "spade",
        "soaks",
        "beach",
        "traps",
        "aspen",
        "romps",
        "boxed",
        "fakir",
        "weave",
        "nerds",
        "swazi",
        "dotty",
        "curls",
        "diver",
        "jonas",
        "waite",
        "verbs",
        "yeast",
        "lapel",
        "barth",
        "soars",
        "hooks",
        "taxed",
        "slews",
        "gouge",
        "slags",
        "chang",
        "chafe",
        "saved",
        "josie",
        "syncs",
        "fonds",
        "anion",
        "actor",
        "seems",
        "pyrex",
        "isiah",
        "glued",
        "groin",
        "goren",
        "waxes",
        "tonia",
        "whine",
        "scads",
        "knelt",
        "teaks",
        "satan",
        "tromp",
        "spats",
        "merry",
        "wordy",
        "stake",
        "gland",
        "canal",
        "donna",
        "lends",
        "filed",
        "sacks",
        "shied",
        "moors",
        "paths",
        "older",
        "pooch",
        "balsa",
        "riced",
        "facet",
        "decaf",
        "attic",
        "elder",
        "akron",
        "chomp",
        "chump",
        "picky",
        "money",
        "sheer",
        "bolls",
        "crabs",
        "dorms",
        "water",
        "veers",
        "tease",
        "dummy",
        "dumbs",
        "lethe",
        "halls",
        "rifer",
        "demon",
        "fucks",
        "whips",
        "plops",
        "fuses",
        "focal",
        "taces",
        "snout",
        "edict",
        "flush",
        "burps",
        "dawes",
        "lorry",
        "spews",
        "sprat",
        "click",
        "deann",
        "sited",
        "aunts",
        "quips",
        "godly",
        "pupil",
        "nanny",
        "funks",
        "shoon",
        "aimed",
        "stacy",
        "helms",
        "mints",
        "banks",
        "pinch",
        "local",
        "twine",
        "pacts",
        "deers",
        "halos",
        "slink",
        "preys",
        "potty",
        "ruffs",
        "pusan",
        "suits",
        "finks",
        "slash",
        "prods",
        "dense",
        "edsel",
        "heeds",
        "palls",
        "slats",
        "snits",
        "mower",
        "rares",
        "ailed",
        "rouge",
        "ellie",
        "gated",
        "lyons",
        "duded",
        "links",
        "oaths",
        "letha",
        "kicks",
        "firms",
        "gravy",
        "month",
        "kongo",
        "mused",
        "ducal",
        "toted",
        "vocal",
        "disks",
        "spied",
        "studs",
        "macao",
        "erick",
        "coupe",
        "starr",
        "reaps",
        "decoy",
        "rayon",
        "nicks",
        "breed",
        "cosby",
        "haunt",
        "typed",
        "plain",
        "trays",
        "muled",
        "saith",
        "drano",
        "cower",
        "snows",
        "buses",
        "jewry",
        "argus",
        "doers",
        "flays",
        "swish",
        "resin",
        "boobs",
        "sicks",
        "spies",
        "bails",
        "wowed",
        "mabel",
        "check",
        "vapid",
        "bacon",
        "wilda",
        "ollie",
        "loony",
        "irked",
        "fraud",
        "doles",
        "facts",
        "lists",
        "gazed",
        "furls",
        "sunks",
        "stows",
        "wilde",
        "brick",
        "bowed",
        "guise",
        "suing",
        "gates",
        "niter",
        "heros",
        "hyped",
        "clomp",
        "never",
        "lolls",
        "rangy",
        "paddy",
        "chant",
        "casts",
        "terns",
        "tunas",
        "poker",
        "scary",
        "maims",
        "saran",
        "devon",
        "tripe",
        "lingo",
        "paler",
        "coped",
        "bride",
        "voted",
        "dodge",
        "gross",
        "curds",
        "sames",
        "those",
        "tithe",
        "steep",
        "flaks",
        "close",
        "swops",
        "stare",
        "notch",
        "prays",
        "roles",
        "crush",
        "feuds",
        "nudge",
        "baned",
        "brake",
        "plans",
        "weepy",
        "dazed",
        "jenna",
        "weiss",
        "tomes",
        "stews",
        "whist",
        "gibed",
        "death",
        "clank",
        "cover",
        "peeks",
        "quick",
        "abler",
        "daddy",
        "calls",
        "scald",
        "lilia",
        "flask",
        "cheer",
        "grabs",
        "megan",
        "canes",
        "jules",
        "blots",
        "mossy",
        "begun",
        "freak",
        "caved",
        "hello",
        "hades",
        "theed",
        "wards",
        "darcy",
        "malta",
        "peter",
        "whorl",
        "break",
        "downs",
        "odder",
        "hoofs",
        "kiddo",
        "macho",
        "fords",
        "liked",
        "flees",
        "swing",
        "elect",
        "hoods",
        "pluck",
        "brook",
        "astir",
        "bland",
        "sward",
        "modal",
        "flown",
        "ahmad",
        "waled",
        "craps",
        "cools",
        "roods",
        "hided",
        "plath",
        "kings",
        "grips",
        "gives",
        "gnats",
        "tabby",
        "gauls",
        "think",
        "bully",
        "fogey",
        "sawed",
        "lints",
        "pushy",
        "banes",
        "drake",
        "trail",
        "moral",
        "daley",
        "balds",
        "chugs",
        "geeky",
        "darts",
        "soddy",
        "haves",
        "opens",
        "rends",
        "buggy",
        "moles",
        "freud",
        "gored",
        "shock",
        "angus",
        "puree",
        "raves",
        "johns",
        "armed",
        "packs",
        "minis",
        "reich",
        "slots",
        "totem",
        "clown",
        "popes",
        "brute",
        "hedge",
        "latin",
        "stoke",
        "blend",
        "pease",
        "rubik",
        "greer",
        "hindi",
        "betsy",
        "flows",
        "funky",
        "kelli",
        "humps",
        "chewy",
        "welds",
        "scowl",
        "yells",
        "cough",
        "sasha",
        "sheaf",
        "jokes",
        "coast",
        "words",
        "irate",
        "hales",
        "camry",
        "spits",
        "burma",
        "rhine",
        "bends",
        "spill",
        "stubs",
        "power",
        "voles",
        "learn",
        "knoll",
        "style",
        "twila",
        "drove",
        "dacca",
        "sheen",
        "papas",
        "shale",
        "jones",
        "duped",
        "tunny",
        "mouse",
        "floss",
        "corks",
        "skims",
        "swaps",
        "inned",
        "boxer",
        "synch",
        "skies",
        "strep",
        "bucks",
        "belau",
        "lower",
        "flaky",
        "quill",
        "aural",
        "rufus",
        "floes",
        "pokes",
        "sends",
        "sates",
        "dally",
        "boyer",
        "hurts",
        "foyer",
        "gowns",
        "torch",
        "luria",
        "fangs",
        "moats",
        "heinz",
        "bolts",
        "filet",
        "firth",
        "begot",
        "argue",
        "youth",
        "chimp",
        "frogs",
        "kraft",
        "smite",
        "loges",
        "loons",
        "spine",
        "domes",
        "pokey",
        "timur",
        "noddy",
        "doggy",
        "wades",
        "lanes",
        "hence",
        "louts",
        "turks",
        "lurid",
        "goths",
        "moist",
        "bated",
        "giles",
        "stood",
        "winos",
        "shins",
        "potts",
        "brant",
        "vised",
        "alice",
        "rosie",
        "dents",
        "babes",
        "softy",
        "decay",
        "meats",
        "tanya",
        "rusks",
        "pasts",
        "karat",
        "nuked",
        "gorge",
        "kinks",
        "skull",
        "noyce",
        "aimee",
        "watch",
        "cleat",
        "stuck",
        "china",
        "testy",
        "doses",
        "safes",
        "stage",
        "bayes",
        "twins",
        "limps",
        "denis",
        "chars",
        "flaps",
        "paces",
        "abase",
        "grays",
        "deans",
        "maria",
        "asset",
        "smuts",
        "serbs",
        "whigs",
        "vases",
        "robyn",
        "girls",
        "pents",
        "alike",
        "nodal",
        "molly",
        "swigs",
        "swill",
        "slums",
        "rajah",
        "bleep",
        "beget",
        "thanh",
        "finns",
        "clock",
        "wafts",
        "wafer",
        "spicy",
        "sorer",
        "reach",
        "beats",
        "baker",
        "crown",
        "drugs",
        "daisy",
        "mocks",
        "scots",
        "fests",
        "newer",
        "agate",
        "drift",
        "marta",
        "chino",
        "flirt",
        "homed",
        "bribe",
        "scram",
        "bulks",
        "servo",
        "vesta",
        "divas",
        "preps",
        "naval",
        "tally",
        "shove",
        "ragas",
        "blown",
        "droll",
        "tryst",
        "lucky",
        "leech",
        "lines",
        "sires",
        "pyxed",
        "taper",
        "trump",
        "payee",
        "midge",
        "paris",
        "bored",
        "loads",
        "shuts",
        "lived",
        "swath",
        "snare",
        "boned",
        "scars",
        "aeons",
        "grime",
        "writs",
        "paige",
        "rungs",
        "blent",
        "signs",
        "davis",
        "dials",
        "daubs",
        "rainy",
        "fawns",
        "wrier",
        "golds",
        "wrath",
        "ducks",
        "allow",
        "hosea",
        "spike",
        "meals",
        "haber",
        "muses",
        "timed",
        "broom",
        "burks",
        "louis",
        "gangs",
        "pools",
        "vales",
        "altai",
        "elope",
        "plied",
        "slain",
        "chasm",
        "entry",
        "slide",
        "bawls",
        "title",
        "sings",
        "grief",
        "viola",
        "doyle",
        "peach",
        "davit",
        "bench",
        "devil",
        "latex",
        "miles",
        "pasha",
        "tokes",
        "coves",
        "wheel",
        "tried",
        "verdi",
        "wanda",
        "sivan",
        "prior",
        "fryer",
        "plots",
        "kicky",
        "porch",
        "shill",
        "coats",
        "borne",
        "brink",
        "pawed",
        "erwin",
        "tense",
        "stirs",
        "wends",
        "waxen",
        "carts",
        "smear",
        "rival",
        "scare",
        "phase",
        "bragg",
        "crane",
        "hocks",
        "conan",
        "bests",
        "dares",
        "molls",
        "roots",
        "dunes",
        "slips",
        "waked",
        "fours",
        "bolds",
        "slosh",
        "yemen",
        "poole",
        "solid",
        "ports",
        "fades",
        "legal",
        "cedes",
        "green",
        "curie",
        "seedy",
        "riper",
        "poled",
        "glade",
        "hosts",
        "tools",
        "razes",
        "tarry",
        "muddy",
        "shims",
        "sword",
        "thine",
        "lasts",
        "bloat",
        "soled",
        "tardy",
        "foots",
        "skiff",
        "volta",
        "murks",
        "croci",
        "gooks",
        "gamey",
        "pyxes",
        "poems",
        "kayla",
        "larva",
        "slaps",
        "abuse",
        "pings",
        "plows",
        "geese",
        "minks",
        "derby",
        "super",
        "inked",
        "manic",
        "leaks",
        "flops",
        "lajos",
        "fuzes",
        "swabs",
        "twigs",
        "gummy",
        "pyres",
        "shrew",
        "islet",
        "doled",
        "wooly",
        "lefts",
        "hunts",
        "toast",
        "faith",
        "macaw",
        "sonia",
        "leafs",
        "colas",
        "conks",
        "altos",
        "wiped",
        "scene",
        "boors",
        "patsy",
        "meany",
        "chung",
        "wakes",
        "clear",
        "ropes",
        "tahoe",
        "zones",
        "crate",
        "tombs",
        "nouns",
        "garth",
        "puked",
        "chats",
        "hanks",
        "baked",
        "binds",
        "fully",
        "soaps",
        "newel",
        "yarns",
        "puers",
        "carps",
        "spelt",
        "lully",
        "towed",
        "scabs",
        "prime",
        "blest",
        "patty",
        "silky",
        "abner",
        "temps",
        "lakes",
        "tests",
        "alias",
        "mines",
        "chips",
        "funds",
        "caret",
        "splat",
        "perry",
        "turds",
        "junks",
        "cramp",
        "saned",
        "peary",
        "snarl",
        "fired",
        "stung",
        "nancy",
        "bulge",
        "styli",
        "seams",
        "hived",
        "feast",
        "triad",
        "jaded",
        "elvin",
        "canny",
        "birth",
        "routs",
        "rimed",
        "pusey",
        "laces",
        "taste",
        "basie",
        "malls",
        "shout",
        "prier",
        "prone",
        "finis",
        "claus",
        "loops",
        "heron",
        "frump",
        "spare",
        "menus",
        "ariel",
        "crams",
        "bloom",
        "foxed",
        "moons",
        "mince",
        "mixed",
        "piers",
        "deres",
        "tempt",
        "dryer",
        "atone",
        "heats",
        "dario",
        "hawed",
        "swims",
        "sheet",
        "tasha",
        "dings",
        "clare",
        "aging",
        "daffy",
        "wried",
        "foals",
        "lunar",
        "havel",
        "irony",
        "ronny",
        "naves",
        "selma",
        "gurus",
        "crust",
        "percy",
        "murat",
        "mauro",
        "cowed",
        "clang",
        "biker",
        "harms",
        "barry",
        "thump",
        "crude",
        "ulnae",
        "thong",
        "pager",
        "oases",
        "mered",
        "locke",
        "merle",
        "soave",
        "petal",
        "poser",
        "store",
        "winch",
        "wedge",
        "inlet",
        "nerdy",
        "utter",
        "filth",
        "spray",
        "drape",
        "pukes",
        "ewers",
        "kinds",
        "dates",
        "meier",
        "tammi",
        "spoor",
        "curly",
        "chill",
        "loped",
        "gooey",
        "boles",
        "genet",
        "boost",
        "beets",
        "heath",
        "feeds",
        "growl",
        "livid",
        "midst",
        "rinds",
        "fresh",
        "waxed",
        "yearn",
        "keeps",
        "rimes",
        "naked",
        "flick",
        "plies",
        "deeps",
        "dirty",
        "hefty",
        "messy",
        "hairy",
        "walks",
        "leper",
        "sykes",
        "nerve",
        "rover",
        "jived",
        "brisk",
        "lenin",
        "viper",
        "chuck",
        "sinus",
        "luger",
        "ricks",
        "hying",
        "rusty",
        "kathy",
        "herds",
        "wider",
        "getty",
        "roman",
        "sandy",
        "pends",
        "fezes",
        "trios",
        "bites",
        "pants",
        "bless",
        "diced",
        "earth",
        "shack",
        "hinge",
        "melds",
        "jonah",
        "chose",
        "liver",
        "salts",
        "ratty",
        "ashed",
        "wacky",
        "yokes",
        "wanly",
        "bruce",
        "vowel",
        "black",
        "grail",
        "lungs",
        "arise",
        "gluts",
        "gluey",
        "navel",
        "coyer",
        "ramps",
        "miter",
        "aldan",
        "booth",
        "musty",
        "rills",
        "darns",
        "tined",
        "straw",
        "kerri",
        "hared",
        "lucks",
        "metes",
        "penny",
        "radon",
        "palms",
        "deeds",
        "earls",
        "shard",
        "pried",
        "tampa",
        "blank",
        "gybes",
        "vicki",
        "drool",
        "groom",
        "curer",
        "cubes",
        "riggs",
        "lanky",
        "tuber",
        "caves",
        "acing",
        "golly",
        "hodge",
        "beard",
        "ginny",
        "jibed",
        "fumes",
        "astor",
        "quito",
        "cargo",
        "randi",
        "gawky",
        "zings",
        "blind",
        "dhoti",
        "sneak",
        "fatah",
        "fixer",
        "lapps",
        "cline",
        "grimm",
        "fakes",
        "maine",
        "erika",
        "dealt",
        "mitch",
        "olden",
        "joist",
        "gents",
        "likes",
        "shelf",
        "silts",
        "goats",
        "leads",
        "marin",
        "spire",
        "louie",
        "evans",
        "amuse",
        "belly",
        "nails",
        "snead",
        "model",
        "whats",
        "shari",
        "quote",
        "tacks",
        "nutty",
        "lames",
        "caste",
        "hexes",
        "cooks",
        "miner",
        "shawn",
        "anise",
        "drama",
        "trike",
        "prate",
        "ayers",
        "loans",
        "botch",
        "vests",
        "cilia",
        "ridge",
        "thugs",
        "outed",
        "jails",
        "moped",
        "plead",
        "tunes",
        "nosed",
        "wills",
        "lager",
        "lacks",
        "cried",
        "wince",
        "berle",
        "flaws",
        "boise",
        "tibet",
        "bided",
        "shred",
        "cocky",
        "brice",
        "delta",
        "congo",
        "holly",
        "hicks",
        "wraps",
        "cocks",
        "aisha",
        "heard",
        "cured",
        "sades",
        "horsy",
        "umped",
        "trice",
        "dorky",
        "curve",
        "ferry",
        "haler",
        "ninth",
        "pasta",
        "jason",
        "honer",
        "kevin",
        "males",
        "fowls",
        "awake",
        "pores",
        "meter",
        "skate",
        "drink",
        "pussy",
        "soups",
        "bases",
        "noyes",
        "torts",
        "bogus",
        "still",
        "soupy",
        "dance",
        "worry",
        "eldon",
        "stern",
        "menes",
        "dolls",
        "dumpy",
        "gaunt",
        "grove",
        "coops",
        "mules",
        "berry",
        "sower",
        "roams",
        "brawl",
        "greed",
        "stags",
        "blurs",
        "swift",
        "treed",
        "taney",
        "shame",
        "easel",
        "moves",
        "leger",
        "ville",
        "order",
        "spock",
        "nifty",
        "brian",
        "elias",
        "idler",
        "serve",
        "ashen",
        "bizet",
        "gilts",
        "spook",
        "eaten",
        "pumas",
        "cotes",
        "broke",
        "toxin",
        "groan",
        "laths",
        "joins",
        "spots",
        "hated",
        "tokay",
        "elite",
        "rawer",
        "fiats",
        "cards",
        "sassy",
        "milks",
        "roost",
        "glean",
        "lutes",
        "chins",
        "drown",
        "marks",
        "pined",
        "grace",
        "fifth",
        "lodes",
        "rusts",
        "terms",
        "maxes",
        "savvy",
        "choir",
        "savoy",
        "spoon",
        "halve",
        "chord",
        "hulas",
        "sarah",
        "celia",
        "deems",
        "ninny",
        "wines",
        "boggy",
        "birch",
        "raved",
        "wales",
        "beams",
        "vibes",
        "riots",
        "warty",
        "nigel",
        "askew",
        "faxes",
        "sedge",
        "sheol",
        "pucks",
        "cynic",
        "relax",
        "boers",
        "whims",
        "bents",
        "candy",
        "luann",
        "slogs",
        "bonny",
        "barns",
        "iambs",
        "fused",
        "duffy",
        "guilt",
        "bruin",
        "pawls",
        "penis",
        "poppy",
        "owing",
        "tribe",
        "tuner",
        "moray",
        "timid",
        "ceded",
        "geeks",
        "kites",
        "curio",
        "puffy",
        "perot",
        "caddy",
        "peeve",
        "cause",
        "dills",
        "gavel",
        "manse",
        "joker",
        "lynch",
        "crank",
        "golda",
        "waits",
        "wises",
        "hasty",
        "paves",
        "grown",
        "reedy",
        "crypt",
        "tonne",
        "jerky",
        "axing",
        "swept",
        "posse",
        "rings",
        "staff",
        "tansy",
        "pared",
        "glaze",
        "grebe",
        "gonna",
        "shark",
        "jumps",
        "vials",
        "unset",
        "hires",
        "tying",
        "lured",
        "motes",
        "linen",
        "locks",
        "mamas",
        "nasty",
        "mamie",
        "clout",
        "nader",
        "velma",
        "abate",
        "tight",
        "dales",
        "serer",
        "rives",
        "bales",
        "loamy",
        "warps",
        "plato",
        "hooch",
        "togae",
        "damps",
        "ofter",
        "plumb",
        "fifes",
        "filmy",
        "wiper",
        "chess",
        "lousy",
        "sails",
        "brahe",
        "ounce",
        "flits",
        "hindu",
        "manly",
        "beaux",
        "mimed",
        "liken",
        "forts",
        "jambs",
        "peeps",
        "lelia",
        "brews",
        "handy",
        "lusty",
        "brads",
        "marne",
        "pesos",
        "earle",
        "arson",
        "scout",
        "showy",
        "chile",
        "sumps",
        "hiked",
        "crook",
        "herbs",
        "silks",
        "alamo",
        "mores",
        "dunce",
        "blaze",
        "stank",
        "haste",
        "howls",
        "trots",
        "creon",
        "lisle",
        "pause",
        "hates",
        "mulch",
        "mined",
        "moder",
        "devin",
        "types",
        "cindy",
        "beech",
        "tuned",
        "mowed",
        "pitts",
        "chaos",
        "colds",
        "bidet",
        "tines",
        "sighs",
        "slimy",
        "brain",
        "belle",
        "leery",
        "morse",
        "ruben",
        "prows",
        "frown",
        "disco",
        "regal",
        "oaken",
        "sheds",
        "hives",
        "corny",
        "baser",
        "fated",
        "throe",
        "revel",
        "bores",
        "waved",
        "shits",
        "elvia",
        "ferns",
        "maids",
        "color",
        "coifs",
        "cohan",
        "draft",
        "hmong",
        "alton",
        "stine",
        "cluck",
        "nodes",
        "emily",
        "brave",
        "blair",
        "blued",
        "dress",
        "bunts",
        "holst",
        "clogs",
        "rally",
        "knack",
        "demos",
        "brady",
        "blues",
        "flash",
        "goofy",
        "blocs",
        "diane",
        "colic",
        "smile",
        "yules",
        "foamy",
        "splay",
        "bilge",
        "faker",
        "foils",
        "condo",
        "knell",
        "crack",
        "gallo",
        "purls",
        "auras",
        "cakes",
        "doves",
        "joust",
        "aides",
        "lades",
        "muggy",
        "tanks",
        "middy",
        "tarps",
        "slack",
        "capet",
        "frays",
        "donny",
        "venal",
        "yeats",
        "misty",
        "denim",
        "glass",
        "nudes",
        "seeps",
        "gibbs",
        "blows",
        "bobbi",
        "shane",
        "yards",
        "pimps",
        "clued",
        "quiet",
        "witch",
        "boxes",
        "prawn",
        "kerry",
        "torah",
        "kinko",
        "dingy",
        "emote",
        "honor",
        "jelly",
        "grins",
        "trope",
        "vined",
        "bagel",
        "arden",
        "rapid",
        "paged",
        "loved",
        "agape",
        "mural",
        "budge",
        "ticks",
        "suers",
        "wendi",
        "slice",
        "salve",
        "robin",
        "bleat",
        "batik",
        "myles",
        "teddy",
        "flatt",
        "puppy",
        "gelid",
        "largo",
        "attar",
        "polls",
        "glide",
        "serum",
        "fundy",
        "sucks",
        "shalt",
        "sewer",
        "wreak",
        "dames",
        "fonts",
        "toxic",
        "hines",
        "wormy",
        "grass",
        "louse",
        "bowls",
        "crass",
        "benny",
        "moire",
        "margo",
        "golfs",
        "smart",
        "roxie",
        "wight",
        "reign",
        "dairy",
        "clops",
        "paled",
        "oddly",
        "sappy",
        "flair",
        "shown",
        "bulgy",
        "benet",
        "larch",
        "curry",
        "gulfs",
        "fends",
        "lunch",
        "dukes",
        "doris",
        "spoke",
        "coins",
        "manna",
        "conga",
        "jinns",
        "eases",
        "dunno",
        "tisha",
        "swore",
        "rhino",
        "calms",
        "irvin",
        "clans",
        "gully",
        "liege",
        "mains",
        "besot",
        "serge",
        "being",
        "welch",
        "wombs",
        "draco",
        "lynda",
        "forty",
        "mumps",
        "bloch",
        "ogden",
        "knits",
        "fussy",
        "alder",
        "danes",
        "loyal",
        "valet",
        "wooer",
        "quire",
        "liefs",
        "shana",
        "toyed",
        "forks",
        "gages",
        "slims",
        "cloys",
        "yates",
        "rails",
        "sheep",
        "nacho",
        "divan",
        "honks",
        "stone",
        "snack",
        "added",
        "basal",
        "hasps",
        "focus",
        "alone",
        "laxes",
        "arose",
        "lamed",
        "wrapt",
        "frail",
        "clams",
        "plait",
        "hover",
        "tacos",
        "mooch",
        "fault",
        "teeth",
        "marva",
        "mucks",
        "tread",
        "waves",
        "purim",
        "boron",
        "horde",
        "smack",
        "bongo",
        "monte",
        "swirl",
        "deals",
        "mikes",
        "scold",
        "muter",
        "sties",
        "lawns",
        "fluke",
        "jilts",
        "meuse",
        "fives",
        "sulky",
        "molds",
        "snore",
        "timmy",
        "ditty",
        "gasps",
        "kills",
        "carey",
        "jawed",
        "byers",
        "tommy",
        "homer",
        "hexed",
        "dumas",
        "given",
        "mewls",
        "smelt",
        "weird",
        "speck",
        "merck",
        "keats",
        "draws",
        "trent",
        "agave",
        "wells",
        "chews",
        "blabs",
        "roves",
        "grieg",
        "evens",
        "alive",
        "mulls",
        "cared",
        "garbo",
        "fined",
        "happy",
        "trued",
        "rodes",
        "thurs",
        "cadet",
        "alvin",
        "busch",
        "moths",
        "guild",
        "staci",
        "lever",
        "widen",
        "props",
        "hussy",
        "lamer",
        "riley",
        "bauer",
        "chirp",
        "rants",
        "poxes",
        "shyer",
        "pelts",
        "funny",
        "slits",
        "tinge",
        "ramos",
        "shift",
        "caper",
        "credo",
        "renal",
        "veils",
        "covey",
        "elmer",
        "mated",
        "tykes",
        "wooed",
        "briar",
        "gears",
        "foley",
        "shoes",
        "decry",
        "hypes",
        "dells",
        "wilds",
        "runts",
        "wilts",
        "white",
        "easts",
        "comer",
        "sammy",
        "lochs",
        "favor",
        "lance",
        "dawns",
        "bushy",
        "muted",
        "elsie",
        "creel",
        "pocks",
        "tenet",
        "cagey",
        "rides",
        "socks",
        "ogled",
        "soils",
        "sofas",
        "janna",
        "exile",
        "barks",
        "frank",
        "takes",
        "zooms",
        "hakes",
        "sagan",
        "scull",
        "heaps",
        "augur",
        "pouch",
        "blare",
        "bulbs",
        "wryly",
        "homey",
        "tubas",
        "limbo",
        "hardy",
        "hoagy",
        "minds",
        "bared",
        "gabby",
        "bilks",
        "float",
        "limns",
        "clasp",
        "laura",
        "range",
        "brush",
        "tummy",
        "kilts",
        "cooed",
        "worms",
        "leary",
        "feats",
        "robes",
        "suite",
        "veals",
        "bosch",
        "moans",
        "dozen",
        "rarer",
        "slyer",
        "cabin",
        "craze",
        "sweet",
        "talon",
        "treat",
        "yanks",
        "react",
        "creed",
        "eliza",
        "sluts",
        "cruet",
        "hafts",
        "noise",
        "seder",
        "flies",
        "weeks",
        "venus",
        "backs",
        "eider",
        "uriel",
        "vouch",
        "robed",
        "hacks",
        "perth",
        "shiny",
        "stilt",
        "torte",
        "throb",
        "merer",
        "twits",
        "reeds",
        "shawl",
        "clara",
        "slurs",
        "mixer",
        "newts",
        "fried",
        "woolf",
        "swoop",
        "kaaba",
        "oozed",
        "mayer",
        "caned",
        "laius",
        "lunge",
        "chits",
        "kenny",
        "lifts",
        "mafia",
        "sowed",
        "piled",
        "stein",
        "whack",
        "colts",
        "warms",
        "cleft",
        "girds",
        "seeks",
        "poets",
        "angel",
        "trade",
        "parsi",
        "tiers",
        "rojas",
        "vexes",
        "bryce",
        "moots",
        "grunt",
        "drain",
        "lumpy",
        "stabs",
        "poohs",
        "leapt",
        "polly",
        "cuffs",
        "giddy",
        "towns",
        "dacha",
        "quoth",
        "provo",
        "dilly",
        "carly",
        "mewed",
        "tzars",
        "crock",
        "toked",
        "speak",
        "mayas",
        "pssts",
        "ocher",
        "motel",
        "vogue",
        "camps",
        "tharp",
        "taunt",
        "drone",
        "taint",
        "badge",
        "scott",
        "scats",
        "bakes",
        "antes",
        "gruel",
        "snort",
        "capes",
        "plate",
        "folly",
        "adobe",
        "yours",
        "papaw",
        "hench",
        "moods",
        "clunk",
        "chevy",
        "tomas",
        "narcs",
        "vonda",
        "wiles",
        "prigs",
        "chock",
        "laser",
        "viced",
        "stiff",
        "rouse",
        "helps",
        "knead",
        "gazer",
        "blade",
        "tumid",
        "avail",
        "anger",
        "egged",
        "guide",
        "goads",
        "rabin",
        "toddy",
        "gulps",
        "flank",
        "brats",
        "pedal",
        "junky",
        "marco",
        "tinny",
        "tires",
        "flier",
        "satin",
        "darth",
        "paley",
        "gumbo",
        "rared",
        "muffs",
        "rower",
        "prude",
        "frees",
        "quays",
        "homes",
        "munch",
        "beefs",
        "leash",
        "aston",
        "colon",
        "finch",
        "bogey",
        "leaps",
        "tempo",
        "posts",
        "lined",
        "gapes",
        "locus",
        "maori",
        "nixes",
        "liven",
        "songs",
        "opted",
        "babel",
        "wader",
        "barer",
        "farts",
        "lisps",
        "koran",
        "lathe",
        "trill",
        "smirk",
        "mamma",
        "viler",
        "scurf",
        "ravel",
        "brigs",
        "cooky",
        "sachs",
        "fulls",
        "goals",
        "turfs",
        "norse",
        "hauls",
        "cores",
        "fairy",
        "pluto",
        "kneed",
        "cheek",
        "pangs",
        "risen",
        "czars",
        "milne",
        "cribs",
        "genes",
        "wefts",
        "vents",
        "sages",
        "seres",
        "owens",
        "wiley",
        "flume",
        "haded",
        "auger",
        "tatty",
        "onion",
        "cater",
        "wolfe",
        "magic",
        "bodes",
        "gulls",
        "gazes",
        "dandy",
        "snags",
        "rowed",
        "quell",
        "spurn",
        "shore",
        "veldt",
        "turns",
        "slavs",
        "coach",
        "stalk",
        "snuck",
        "piles",
        "orate",
        "joyed",
        "daily",
        "crone",
        "wager",
        "solos",
        "earns",
        "stark",
        "lauds",
        "kasey",
        "villa",
        "gnaws",
        "scent",
        "wears",
        "fains",
        "laced",
        "tamer",
        "pipes",
        "plant",
        "lorie",
        "rivet",
        "tamed",
        "cozen",
        "theme",
        "lifer",
        "sunny",
        "shags",
        "flack",
        "gassy",
        "eased",
        "jeeps",
        "shire",
        "fargo",
        "timer",
        "brash",
        "behan",
        "basin",
        "volga",
        "krone",
        "swiss",
        "docks",
        "booed",
        "ebert",
        "gusty",
        "delay",
        "oared",
        "grady",
        "buick",
        "curbs",
        "crete",
        "lucas",
        "strum",
        "besom",
        "gorse",
        "troth",
        "donne",
        "chink",
        "faced",
        "ahmed",
        "texas",
        "longs",
        "aloud",
        "bethe",
        "cacao",
        "hilda",
        "eagle",
        "karyn",
        "harks",
        "adder",
        "verse",
        "drays",
        "cello",
        "taped",
        "snide",
        "taxis",
        "kinky",
        "penes",
        "wicca",
        "sonja",
        "aways",
        "dyers",
        "bolas",
        "elfin",
        "slope",
        "lamps",
        "hutch",
        "lobed",
        "baaed",
        "masts",
        "ashes",
        "ionic",
        "joyce",
        "payed",
        "brays",
        "malts",
        "dregs",
        "leaky",
        "runny",
        "fecal",
        "woven",
        "hurls",
        "jorge",
        "henna",
        "dolby",
        "booty",
        "brett",
        "dykes",
        "rural",
        "fight",
        "feels",
        "flogs",
        "brunt",
        "preen",
        "elvis",
        "dopey",
        "gripe",
        "garry",
        "gamma",
        "fling",
        "space",
        "mange",
        "storm",
        "arron",
        "hairs",
        "rogue",
        "repel",
        "elgar",
        "ruddy",
        "cross",
        "medan",
        "loses",
        "howdy",
        "foams",
        "piker",
        "halts",
        "jewel",
        "avery",
        "stool",
        "cruel",
        "cases",
        "ruses",
        "cathy",
        "harem",
        "flour",
        "meted",
        "faces",
        "hobos",
        "charm",
        "jamar",
        "cameo",
        "crape",
        "hooey",
        "reefs",
        "denny",
        "mitts",
        "sores",
        "smoky",
        "nopes",
        "sooty",
        "twirl",
        "toads",
        "vader",
        "julep",
        "licks",
        "arias",
        "wrote",
        "north",
        "bunks",
        "heady",
        "batch",
        "snaps",
        "claws",
        "fouls",
        "faded",
        "beans",
        "wimps",
        "idled",
        "pulse",
        "goons",
        "noose",
        "vowed",
        "ronda",
        "rajas",
        "roast",
        "allah",
        "punic",
        "slows",
        "hours",
        "metal",
        "slier",
        "meaty",
        "hanna",
        "curvy",
        "mussy",
        "truth",
        "troys",
        "block",
        "reels",
        "print",
        "miffs",
        "busts",
        "bytes",
        "cream",
        "otter",
        "grads",
        "siren",
        "kilos",
        "dross",
        "batty",
        "debts",
        "sully",
        "bares",
        "baggy",
        "hippy",
        "berth",
        "gorky",
        "argon",
        "wacko",
        "harry",
        "smoke",
        "fails",
        "perms",
        "score",
        "steps",
        "unity",
        "couch",
        "kelly",
        "rumps",
        "fines",
        "mouth",
        "broth",
        "knows",
        "becky",
        "quits",
        "lauri",
        "trust",
        "grows",
        "logos",
        "apter",
        "burrs",
        "zincs",
        "buyer",
        "bayer",
        "moose",
        "overt",
        "croon",
        "ousts",
        "lands",
        "lithe",
        "poach",
        "jamel",
        "waive",
        "wiser",
        "surly",
        "works",
        "paine",
        "medal",
        "glads",
        "gybed",
        "paint",
        "lorre",
        "meant",
        "smugs",
        "bryon",
        "jinni",
        "sever",
        "viols",
        "flubs",
        "melts",
        "heads",
        "peals",
        "aiken",
        "named",
        "teary",
        "yalta",
        "styes",
        "heist",
        "bongs",
        "slops",
        "pouts",
        "grape",
        "belie",
        "cloak",
        "rocks",
        "scone",
        "lydia",
        "goofs",
        "rents",
        "drive",
        "crony",
        "orlon",
        "narks",
        "plays",
        "blips",
        "pence",
        "march",
        "alger",
        "baste",
        "acorn",
        "billy",
        "croce",
        "boone",
        "aaron",
        "slobs",
        "idyls",
        "irwin",
        "elves",
        "stoat",
        "doing",
        "globe",
        "verve",
        "icons",
        "trial",
        "olsen",
        "pecks",
        "there",
        "blame",
        "tilde",
        "milky",
        "sells",
        "tangy",
        "wrack",
        "fills",
        "lofty",
        "truce",
        "quark",
        "delia",
        "stowe",
        "marty",
        "overs",
        "putty",
        "coral",
        "swine",
        "stats",
        "swags",
        "weans",
        "spout",
        "bulky",
        "farsi",
        "brest",
        "gleam",
        "beaks",
        "coons",
        "hater",
        "peony",
        "huffy",
        "exert",
        "clips",
        "riven",
        "payer",
        "doped",
        "salas",
        "meyer",
        "dryad",
        "thuds",
        "tilts",
        "quilt",
        "jetty",
        "brood",
        "gulch",
        "corps",
        "tunic",
        "hubby",
        "slang",
        "wreck",
        "purrs",
        "punch",
        "drags",
        "chide",
        "sulks",
        "tints",
        "huger",
        "roped",
        "dopes",
        "booby",
        "rosin",
        "outer",
        "gusto",
        "tents",
        "elude",
        "brows",
        "lease",
        "ceres",
        "laxer",
        "worth",
        "necks",
        "races",
        "corey",
        "trait",
        "stuns",
        "soles",
        "teems",
        "scrip",
        "privy",
        "sight",
        "minor",
        "alisa",
        "stray",
        "spank",
        "cress",
        "nukes",
        "rises",
        "gusts",
        "aurae",
        "karma",
        "icing",
        "prose",
        "biked",
        "grand",
        "grasp",
        "skein",
        "shaky",
        "clump",
        "rummy",
        "stock",
        "twain",
        "zoned",
        "offed",
        "ghats",
        "mover",
        "randy",
        "vault",
        "craws",
        "thees",
        "salem",
        "downy",
        "sangs",
        "chore",
        "cited",
        "grave",
        "spinx",
        "erica",
        "raspy",
        "dying",
        "skips",
        "clerk",
        "paste",
        "moved",
        "rooks",
        "intel",
        "moses",
        "avers",
        "staid",
        "yawls",
        "blast",
        "lyres",
        "monks",
        "gaits",
        "floor",
        "saner",
        "waver",
        "assam",
        "infer",
        "wands",
        "bunch",
        "dryly",
        "weedy",
        "honey",
        "baths",
        "leach",
        "shorn",
        "shows",
        "dream",
        "value",
        "dooms",
        "spiro",
        "raped",
        "shook",
        "stead",
        "moran",
        "ditto",
        "loots",
        "tapir",
        "looms",
        "clove",
        "stops",
        "pinks",
        "soppy",
        "ripen",
        "wench",
        "shone",
        "bauds",
        "doric",
        "leans",
        "nadia",
        "cries",
        "camus",
        "boozy",
        "maris",
        "fools",
        "morns",
        "bides",
        "greek",
        "gauss",
        "roget",
        "lamar",
        "hazes",
        "beefy",
        "dupes",
        "refed",
        "felts",
        "larry",
        "guile",
        "ables",
        "wants",
        "warns",
        "toils",
        "bathe",
        "edger",
        "paced",
        "rinks",
        "shoos",
        "erich",
        "whore",
        "tiger",
        "jumpy",
        "lamas",
        "stack",
        "among",
        "punts",
        "scalp",
        "alloy",
        "solon",
        "quite",
        "comas",
        "whole",
        "parse",
        "tries",
        "reeve",
        "tiled",
        "deena",
        "roomy",
        "rodin",
        "aster",
        "twice",
        "musts",
        "globs",
        "parch",
        "drawn",
        "filch",
        "bonds",
        "tells",
        "droop",
        "janis",
        "holds",
        "scant",
        "lopes",
        "based",
        "keven",
        "whiny",
        "aspic",
        "gains",
        "franz",
        "jerri",
        "steel",
        "rowel",
        "vends",
        "yelps",
        "begin",
        "logic",
        "tress",
        "sunni",
        "going",
        "barge",
        "blood",
        "burns",
        "basks",
        "waifs",
        "bones",
        "skill",
        "hewer",
        "burly",
        "clime",
        "eking",
        "withs",
        "capek",
        "berta",
        "cheap",
        "films",
        "scoot",
        "tweed",
        "sizer",
        "wheat",
        "acton",
        "flung",
        "ponds",
        "tracy",
        "fiver",
        "berra",
        "roger",
        "mutes",
        "burke",
        "miked",
        "valve",
        "whisk",
        "runes",
        "parry",
        "toots",
        "japes",
        "roars",
        "rough",
        "irons",
        "romeo",
        "cages",
        "reeks",
        "cigar",
        "saiph",
        "dully",
        "hangs",
        "chops",
        "rolls",
        "prick",
        "acuff",
        "spent",
        "sulla",
        "train",
        "swell",
        "frets",
        "names",
        "anita",
        "crazy",
        "sixth",
        "blunt",
        "fewer",
        "large",
        "brand",
        "slick",
        "spitz",
        "rears",
        "ogres",
        "toffy",
        "yolks",
        "flock",
        "gnawn",
        "eries",
        "blink",
        "skier",
        "feted",
        "tones",
        "snail",
        "ether",
        "barbs",
        "noses",
        "hears",
        "upset",
        "awash",
        "cloud",
        "trunk",
        "degas",
        "dungs",
        "rated",
        "shall",
        "yeahs",
        "coven",
        "sands",
        "susan",
        "fable",
        "gunny",
        "began",
        "serfs",
        "balls",
        "dinky",
        "madge",
        "prong",
        "spilt",
        "lilly",
        "brawn",
        "comet",
        "spins",
        "raids",
        "dries",
        "sorts",
        "makes",
        "mason",
        "mayra",
        "royce",
        "stout",
        "mealy",
        "pagan",
        "nasal",
        "folds",
        "libby",
        "coups",
        "photo",
        "mosey",
        "amens",
        "speed",
        "lords",
        "board",
        "fetal",
        "lagos",
        "scope",
        "raked",
        "bonus",
        "mutts",
        "willy",
        "sport",
        "bingo",
        "thant",
        "araby",
        "bette",
        "rebel",
        "gases",
        "small",
        "humus",
        "grosz",
        "beset",
        "slays",
        "steve",
        "scrap",
        "blahs",
        "south",
        "pride",
        "heels",
        "tubes",
        "beady",
        "lacey",
        "genus",
        "mauls",
        "vying",
        "spice",
        "sexes",
        "ester",
        "drams",
        "today",
        "comae",
        "under",
        "jests",
        "direr",
        "yoked",
        "tempi",
        "early",
        "boats",
        "jesus",
        "warts",
        "guppy",
        "gilda",
        "quota",
        "token",
        "edwin",
        "ringo",
        "gaped",
        "lemon",
        "hurst",
        "manor",
        "arrow",
        "mists",
        "prize",
        "silas",
        "blobs",
        "diets",
        "ervin",
        "stony",
        "buddy",
        "bates",
        "rabid",
        "ducat",
        "ewing",
        "jaunt",
        "beads",
        "doyen",
        "blush",
        "thoth",
        "tiles",
        "piper",
        "short",
        "peron",
        "alley",
        "decks",
        "shunt",
        "whirs",
        "cushy",
        "roils",
        "betty",
        "plugs",
        "woken",
        "jibes",
        "foray",
        "merak",
        "ruing",
        "becks",
        "whale",
        "shoot",
        "dwelt",
        "spawn",
        "fairs",
        "dozed",
        "celts",
        "blond",
        "tikes",
        "sabin",
        "feint",
        "vamps",
        "cokes",
        "willa",
        "slues",
        "bills",
        "force",
        "curst",
        "yokel",
        "surer",
        "miler",
        "fices",
        "arced",
        "douse",
        "hilly",
        "lucio",
        "tongs",
        "togas",
        "minty",
        "sagas",
        "pates",
        "welsh",
        "bruno",
        "decal",
        "elate",
        "linux",
        "gyros",
        "pryor",
        "mousy",
        "pains",
        "shake",
        "spica",
        "pupal",
        "probe",
        "mount",
        "shirk",
        "purus",
        "kilns",
        "rests",
        "graze",
        "hague",
        "spuds",
        "sweep",
        "momma",
        "burch",
        "maces",
        "samar",
        "brace",
        "riser",
        "booms",
        "build",
        "camel",
        "flyer",
        "synge",
        "sauna",
        "tonga",
        "tings",
        "promo",
        "hides",
        "clair",
        "elisa",
        "bower",
        "reins",
        "diann",
        "lubed",
        "nulls",
        "picks",
        "laban",
        "milch",
        "buber",
        "stomp",
        "bosom",
        "lying",
        "haled",
        "avert",
        "wries",
        "macon",
        "skids",
        "fumed",
        "ogles",
        "clods",
        "antic",
        "nosey",
        "crimp",
        "purge",
        "mommy",
        "cased",
        "taxes",
        "covet",
        "clack",
        "butch",
        "panty",
        "lents",
        "machs",
        "exude",
        "tooth",
        "adore",
        "shuck",
        "asses",
        "after",
        "terra",
        "dices",
        "aryan",
        "regor",
        "romes",
        "stile",
        "cairo",
        "maura",
        "flail",
        "eaves",
        "estes",
        "sousa",
        "visas",
        "baron",
        "civet",
        "kitty",
        "freed",
        "ralph",
        "tango",
        "gawks",
        "cheat",
        "study",
        "fancy",
        "fiber",
        "musks",
        "souse",
        "brims",
        "claim",
        "bikes",
        "venue",
        "sired",
        "thymi",
        "rivas",
        "skimp",
        "pleas",
        "woman",
        "gimpy",
        "cawed",
        "minos",
        "pints",
        "knock",
        "poked",
        "bowen",
        "risky",
        "towel",
        "oinks",
        "linus",
        "heals",
        "pears",
        "codas",
        "inner",
        "pitch",
        "harpy",
        "niger",
        "madly",
        "bumpy",
        "stair",
        "files",
        "nobel",
        "celli",
        "spars",
        "jades",
        "balmy",
        "kooky",
        "plums",
        "trues",
        "gloss",
        "trims",
        "daunt",
        "tubby",
        "dared",
        "wadis",
        "smell",
        "darby",
        "stink",
        "drill",
        "dover",
        "ruler",
        "laden",
        "dikes",
        "layla",
        "fells",
        "maker",
        "joked",
        "horns",
        "these",
        "baize",
        "spahn",
        "whens",
        "edged",
        "mushy",
        "plume",
        "tucks",
        "spurs",
        "husky",
        "dried",
        "bigot",
        "pupas",
        "drily",
        "aware",
        "hagar",
        "newly",
        "knots",
        "pratt",
        "feces",
        "sabik",
        "watts",
        "cooke",
        "riles",
        "seamy",
        "fleas",
        "dusts",
        "barfs",
        "roans",
        "pawns",
        "vivid",
        "kirks",
        "tania",
        "feral",
        "tubae",
        "horne",
        "aries",
        "brits",
        "combs",
        "chunk",
        "stork",
        "waned",
        "texan",
        "elide",
        "glens",
        "emery",
        "autos",
        "trams",
        "dosed",
        "cheri",
        "baits",
        "jacks",
        "whose",
        "fazed",
        "matte",
        "swans",
        "maxed",
        "write",
        "spays",
        "orion",
        "traci",
        "horse",
        "stars",
        "strut",
        "goods",
        "verge",
        "scuff",
        "award",
        "dives",
        "wires",
        "burnt",
        "dimly",
        "sleds",
        "mayan",
        "biped",
        "quirk",
        "sofia",
        "slabs",
        "waste",
        "robby",
        "mayor",
        "fatty",
        "items",
        "bowel",
        "mires",
        "swarm",
        "route",
        "swash",
        "sooth",
        "paved",
        "steak",
        "upend",
        "sough",
        "throw",
        "perts",
        "stave",
        "carry",
        "burgs",
        "hilts",
        "plane",
        "toady",
        "nadir",
        "stick",
        "foist",
        "gnarl",
        "spain",
        "enter",
        "sises",
        "story",
        "scarf",
        "ryder",
        "glums",
        "nappy",
        "sixes",
        "honed",
        "marcy",
        "offer",
        "kneel",
        "leeds",
        "lites",
        "voter",
        "vince",
        "bursa",
        "heave",
        "roses",
        "trees",
        "argos",
        "leann",
        "grimy",
        "zelma",
        "crick",
        "tract",
        "flips",
        "folks",
        "smote",
        "brier",
        "moore",
        "goose",
        "baden",
        "riled",
        "looks",
        "sober",
        "tusks",
        "house",
        "acmes",
        "lubes",
        "chows",
        "neath",
        "vivas",
        "defer",
        "allay",
        "casey",
        "kmart",
        "pests",
        "proms",
        "eying",
        "cider",
        "leave",
        "shush",
        "shots",
        "karla",
        "scorn",
        "gifts",
        "sneer",
        "mercy",
        "copes",
        "faxed",
        "spurt",
        "monet",
        "awoke",
        "rocky",
        "share",
        "gores",
        "drawl",
        "tears",
        "mooed",
        "nones",
        "wined",
        "wrens",
        "modem",
        "beria",
        "hovel",
        "retch",
        "mates",
        "hands",
        "stymy",
        "peace",
        "carat",
        "coots",
        "hotel",
        "karen",
        "hayed",
        "mamet",
        "cuing",
        "paper",
        "rages",
        "suave",
        "reuse",
        "auden",
        "costs",
        "loner",
        "rapes",
        "hazel",
        "rites",
        "brent",
        "pumps",
        "dutch",
        "puffs",
        "noons",
        "grams",
        "teats",
        "cease",
        "honda",
        "pricy",
        "forgo",
        "fleck",
        "hired",
        "silos",
        "merge",
        "rafts",
        "halon",
        "larks",
        "deere",
        "jello",
        "cunts",
        "sifts",
        "boner",
        "morin",
        "mimes",
        "bungs",
        "marie",
        "harts",
        "snobs",
        "sonic",
        "hippo",
        "comes",
        "crops",
        "mango",
        "wrung",
        "garbs",
        "natty",
        "cents",
        "fitch",
        "moldy",
        "adams",
        "sorta",
        "coeds",
        "gilds",
        "kiddy",
        "nervy",
        "slurp",
        "ramon",
        "fuzed",
        "hiker",
        "winks",
        "vanes",
        "goody",
        "hawks",
        "crowd",
        "bract",
        "marla",
        "limbs",
        "solve",
        "gloom",
        "sloop",
        "eaton",
        "memos",
        "tames",
        "heirs",
        "berms",
        "wanes",
        "faint",
        "numbs",
        "holes",
        "grubs",
        "rakes",
        "waist",
        "miser",
        "stays",
        "antis",
        "marsh",
        "skyed",
        "payne",
        "champ",
        "jimmy",
        "clues",
        "fatal",
        "shoed",
        "freon",
        "lopez",
        "snowy",
        "loins",
        "stale",
        "thank",
        "reads",
        "isles",
        "grill",
        "align",
        "saxes",
        "rubin",
        "rigel",
        "walls",
        "beers",
        "wispy",
        "topic",
        "alden",
        "anton",
        "ducts",
        "david",
        "duets",
        "fries",
        "oiled",
        "waken",
        "allot",
        "swats",
        "woozy",
        "tuxes",
        "inter",
        "dunne",
        "known",
        "axles",
        "graph",
        "bumps",
        "jerry",
        "hitch",
        "crews",
        "lucia",
        "banal",
        "grope",
        "valid",
        "meres",
        "thick",
        "lofts",
        "chaff",
        "taker",
        "glues",
        "snubs",
        "trawl",
        "keels",
        "liker",
        "stand",
        "harps",
        "casks",
        "nelly",
        "debby",
        "panes",
        "dumps",
        "norma",
        "racks",
        "scams",
        "forte",
        "dwell",
        "dudes",
        "hypos",
        "sissy",
        "swamp",
        "faust",
        "slake",
        "maven",
        "lowed",
        "lilts",
        "bobby",
        "gorey",
        "swear",
        "nests",
        "marci",
        "palsy",
        "siege",
        "oozes",
        "rates",
        "stunt",
        "herod",
        "wilma",
        "other",
        "girts",
        "conic",
        "goner",
        "peppy",
        "class",
        "sized",
        "games",
        "snell",
        "newsy",
        "amend",
        "solis",
        "duane",
        "troop",
        "linda",
        "tails",
        "woofs",
        "scuds",
        "shies",
        "patti",
        "stunk",
        "acres",
        "tevet",
        "allen",
        "carpi",
        "meets",
        "trend",
        "salty",
        "galls",
        "crept",
        "toner",
        "panda",
        "cohen",
        "chase",
        "james",
        "bravo",
        "styed",
        "coals",
        "oates",
        "swami",
        "staph",
        "frisk",
        "cares",
        "cords",
        "stems",
        "razed",
        "since",
        "mopes",
        "rices",
        "junes",
        "raged",
        "liter",
        "manes",
        "rearm",
        "naive",
        "tyree",
        "medic",
        "laded",
        "pearl",
        "inset",
        "graft",
        "chair",
        "votes",
        "saver",
        "cains",
        "knobs",
        "gamay",
        "hunch",
        "crags",
        "olson",
        "teams",
        "surge",
        "wests",
        "boney",
        "limos",
        "ploys",
        "algae",
        "gaols",
        "caked",
        "molts",
        "glops",
        "tarot",
        "wheal",
        "cysts",
        "husks",
        "vaunt",
        "beaus",
        "fauns",
        "jeers",
        "mitty",
        "stuff",
        "shape",
        "sears",
        "buffy",
        "maced",
        "fazes",
        "vegas",
        "stamp",
        "borer",
        "gaged",
        "shade",
        "finds",
        "frock",
        "plods",
        "skied",
        "stump",
        "ripes",
        "chick",
        "cones",
        "fixed",
        "coled",
        "rodeo",
        "basil",
        "dazes",
        "sting",
        "surfs",
        "mindy",
        "creak",
        "swung",
        "cadge",
        "franc",
        "seven",
        "sices",
        "weest",
        "unite",
        "codex",
        "trick",
        "fusty",
        "plaid",
        "hills",
        "truck",
        "spiel",
        "sleek",
        "anons",
        "pupae",
        "chiba",
        "hoops",
        "trash",
        "noted",
        "boris",
        "dough",
        "shirt",
        "cowls",
        "seine",
        "spool",
        "miens",
        "yummy",
        "grade",
        "proxy",
        "hopes",
        "girth",
        "deter",
        "dowry",
        "aorta",
        "paean",
        "corms",
        "giant",
        "shank",
        "where",
        "means",
        "years",
        "vegan",
        "derek",
        "tales",
    ]
    @test ladder_length(s, t, wl) == 20
    @test ladder_length("hit", "cog", ["hot", "dot", "dog", "lot", "log", "cog"]) == 5
    @test ladder_length("hit", "dog", ["hot", "dot", "dog", "lot", "log", "cog"]) == 4
    @test ladder_length("hit", "cog", ["hot", "dot", "dog", "lot", "log"]) == 0
end


text:
name: CI
on:
  push:
    branches: [master]
    tags: ["*"]
  pull_request:
jobs:
  test:
    name: Julia ${{ matrix.version }} - ${{ matrix.os }} - ${{ matrix.arch }} - ${{ github.event_name }}
    runs-on: ${{ matrix.os }}
    strategy:
      fail-fast: false
      matrix:
        version:
          - '1.0'
          - '1' # automatically expands to the latest stable 1.x release of Julia
          - nightly
        os:
          - ubuntu-latest
        arch:
          - x64
          - x86
        include:
          # test macOS and Windows with latest Julia only
          - os: macOS-latest
            arch: x64
            version: 1
          - os: windows-latest
            arch: x64
            version: 1
          - os: windows-latest
            arch: x86
            version: 1
    steps:
      - uses: actions/checkout@v2
      - uses: julia-actions/setup-julia@v1
        with:
          version: ${{ matrix.version }}
          arch: ${{ matrix.arch }}
      - uses: actions/cache@v1
        env:
          cache-name: cache-artifacts
        with:
          path: ~/.julia/artifacts
          key: ${{ runner.os }}-test-${{ env.cache-name }}-${{ hashFiles('**/Project.toml') }}
          restore-keys: |
            ${{ runner.os }}-test-${{ env.cache-name }}-
            ${{ runner.os }}-test-
            ${{ runner.os }}-
      - uses: julia-actions/julia-buildpkg@v1
      - uses: julia-actions/julia-runtest@v1
      - uses: julia-actions/julia-processcoverage@v1
      - uses: codecov/codecov-action@v1
        with:
          file: lcov.info
#  docs:
#    name: Documentation
#    runs-on: ubuntu-latest
#    steps:
#      - uses: actions/checkout@v2
#      - uses: julia-actions/julia-buildpkg@latest
#      - uses: julia-actions/julia-docdeploy@latest
#        env:
#          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
#          DOCUMENTER_KEY: ${{ secrets.DOCUMENTER_KEY }}

ext: jl


text:
using Test
using EarthModels

@testset "Inbuilt models" begin
    @testset "AK135" begin
        @test surface_radius(AK135) == 6371.0
        @test length(AK135.r) == 136
        @test vp(AK135, 0) ≈ 11.2622
        @test isanisotropic(AK135) == false
        @test !hasattenuation(AK135)
        @test_throws ArgumentError Qμ(AK135, 1000)
    end

    @testset "PREM" begin
        @test surface_radius(PREM) == 6371.0
        @test length(PREM.r) == 13
        @test isanisotropic(PREM) == true
        @test vp(PREM, 0) ≈ 11.2622
        @test hasattenuation(PREM)
        @test Qμ(PREM, 1000) ≈ 84.6
        @test moment_of_inertia(PREM)/(
            mass(PREM, surface_radius(PREM))*surface_radius(PREM)^2*1e6) ≈ 0.3308 atol=0.0001
    end
end


text:
module Day06

using AdventOfCode2019

struct Node
    name::String
    children::Vector{Node}
    parrent::Union{Nothing,Node}
end

function day06(input::String = readInput(joinpath(@__DIR__, "..", "data", "day06.txt")))
    pairs = split.(split(input), ")")
    tree = Node("COM", [], nothing)
    children = [x[2] for x in pairs if x[1] == "COM"]

    nodes = [tree]
    while length(nodes) != 0
        node = pop!(nodes)
        push!(node.children, [Node(x[2], [], node) for x in pairs if x[1] == node.name]...)
        push!(nodes, node.children...)
    end
    norbits = total_orbits(tree)

    san, sanDist = find(tree, "SAN")
    you, youDist = find(tree, "YOU")

    sanPath, youPath = [], []
    node = san
    while node != nothing
        push!(sanPath, node.name)
        node = node.parrent
    end
    node = you
    while node != nothing
        push!(youPath, node.name)
        node = node.parrent
    end

    nCommonAncestors = 0
    i = length(sanPath)
    j = length(youPath)
    while sanPath[i] == youPath[j]
        i -= 1
        j -= 1
        nCommonAncestors += 1
    end

    return [norbits, sanDist - nCommonAncestors + youDist - nCommonAncestors]
end

function total_orbits(tree::Node)
    count = 0
    node = tree
    children = [(x, 1) for x in node.children]
    while length(children) != 0
        node, depth = pop!(children)
        count += depth
        push!(children, [(x, depth + 1) for x in node.children]...)
    end
    return count
end

function find(tree::Node, name::String)
    if tree.name == name
        return (tree, 0)
    end
    node = tree
    nodes = [(x, 1) for x in node.children]
    while length(nodes) != 0
        node, dist = pop!(nodes)
        if node.name == name
            return (node, dist)
        end
        push!(nodes, [(x, dist + 1) for x in node.children]...)
    end
    return (nothing, -1)
end

end # module


text:
# Filter response functions

#
# Frequency response of a digital filter
#

using ..DSP: xcorr

"""
    H, w = freqresp(filter)

Frequency response `H` of a `filter` at (normalized) frequencies `w` in
radians/sample for a digital filter or radians/second for an analog filter
chosen as a reasonable default.
"""
function freqresp(filter::FilterCoefficients)
    w = _freqrange(filter)
    return (freqresp(filter, w), w)
end

"""
    freqresp(filter::FilterCoefficients{:z}, w)

Frequency response of digital `filter` at normalized frequency or
frequencies `w` in radians/sample.
"""
freqresp(filter::FilterCoefficients{:z}, w) = _freq(filter).(exp.(im .* w))

"""
    freqresp(filter::FilterCoefficients{:s}, w)

Frequency response of analog `filter` at frequency or frequencies `w` in
radians/second.
"""
freqresp(filter::FilterCoefficients{:s}, w) = _freq(filter).(im .* w)

_freq(filter::FilterCoefficients) = x::Number -> _freq(filter, x)

_freq(filter::FilterCoefficients, x::Number) =
    _freq(convert(PolynomialRatio, filter), x)
_freq(filter::PolynomialRatio, x::Number) = filter.b(x) ./ filter.a(x)
_freq(filter::ZeroPoleGain, x::Number) =
    filter.k * prod([x - z for z in filter.z]) / prod([x - p for p in filter.p])
_freq(filter::Biquad, x::Number) =
    ((filter.b0*x + filter.b1)*x + filter.b2) / ((x + filter.a1)*x  + filter.a2)
_freq(filter::SecondOrderSections, x::Number) =
    filter.g * prod([_freq(b, x) for b in filter.biquads])

"""
    phi, w = phaseresp(filter)

Phase response `phi` of a `filter` at (normalized) frequencies `w` in
radians/sample for a digital filter or radians/second for an analog filter
chosen as a reasonable default.
"""
function phaseresp(filter::FilterCoefficients)
    w = _freqrange(filter)
    return (phaseresp(filter, w), w)
end

"""
    phaseresp(filter, w)

Phase response of a `filter` at (normalized) frequency or frequencies `w` in
radians/sample for a digital filter or radians/second for an analog filter.
"""
function phaseresp(filter::FilterCoefficients, w)
    h = freqresp(filter, w)
    unwrap(angle.(h); dims=ndims(h))
end

"""
    tau, w = grpdelay(filter)

Group delay `tau` of a `filter` at (normalized) frequencies `w` in
radians/sample for a digital filter or radians/second for an analog filter
chosen as a reasonable default.
"""
function grpdelay(filter::FilterCoefficients)
    w = _freqrange(filter)
    return (grpdelay(filter, w), w)
end

"""
    grpdelay(fliter, w)

Group delay of a digital 'filter' at normalized frequency
or frequencies 'w' in radians/sample.
"""
function grpdelay(filter::FilterCoefficients{:z}, w)
    filter = convert(PolynomialRatio, filter)
    b, a = coefb(filter), coefa(filter)

    # Linear Phase FIR
    if (length(a) == 1) & (_is_sym(b) | _is_anti_sym(b))
        return fill((length(b)-1)/2, length(w))
    end

    c = xcorr(b, a; padmode = :none)
    cr = range(0, stop=length(c)-1) .* c
    ejw = exp.(-im .* w)
    num = Polynomial(cr).(ejw)
    den = Polynomial(c).(ejw)
    return real.(num ./ den) .- (length(a) - 1)
end

function grpdelay(filter::FilterCoefficients{:s}, w)
    filter = convert(PolynomialRatio, filter)
    b, a = filter.b, filter.a
    bd = derivative(b)
    ad = derivative(a)
    s = im .* w
    return real.((bd*a - ad*b).(s) ./ (a * b).(s))
end

"""
    impresp(filter, n=100)

Impulse response of a digital `filter` with `n` points.
"""
function impresp(filter::FilterCoefficients{:z}, n=100)
  i = [1; zeros(n-1)]
  filt(filter, i)
end

"""
    stepresp(filter, n=100)

Step response of a digital `filter` with `n` points.
"""
function stepresp(filter::FilterCoefficients{:z}, n=100)
  i = ones(n)
  filt(filter, i)
end

#
# Helper functions
#

function _is_sym(x::AbstractArray)
    n = length(x) ÷ 2
    return all(x[1+i] == x[end-i] for i in 0:n-1)
end

function _is_anti_sym(x::AbstractArray)
    n = length(x) ÷ 2
    return all(x[1+i] == -x[end-i] for i in 0:n)
end

_freqrange(::FilterCoefficients{:z}) = range(0, stop=π, length=257)
function _freqrange(filter::FilterCoefficients{:s})
    filter = convert(ZeroPoleGain, filter)
    w_interesting = sort!(Float64.(abs.([filter.p; filter.z])))
    include_zero = !isempty(w_interesting) && iszero(w_interesting[1])
    w_interesting = collect(Compat.Iterators.dropwhile(iszero, w_interesting))
    if isempty(w_interesting) # no non-zero poles or zeros
        if !include_zero || !isfinite(1/filter.k)
            return [0; 10 .^ (0:6)] # fallback
        end
        # include the point where |H|=1 (if any) and go further by factor 10
        return range(0.0, stop=10 * Float64(max(filter.k, 1/filter.k)), length=200)
    end
    # normal case: go from smalles to largest pole/zero, extended by factor 10
    w_min, w_max = w_interesting[[1,end]]
    w = 10 .^ range(log10(w_min)-1, stop=log10(w_max)+1, length=200)
    return include_zero ? [0.0; w] : w
end


text:
using OrdinaryDiffEq, DiffEqSensitivity, LinearAlgebra, Optimization, OptimizationFlux, Flux
nn = Chain(Dense(1,16),Dense(16,16,tanh),Dense(16,2))
initial,re = Flux.destructure(nn)

function ode2!(u, p, t)
    f1, f2 = re(p)([t])
    [-f1^2; f2]
end

tspan = (0.0, 10.0)
prob = ODEProblem(ode2!, Complex{Float64}[0;0], tspan, initial)

function loss(p)
  sol = last(solve(prob, Tsit5(), p=p, sensealg=BacksolveAdjoint(autojacvec=ZygoteVJP())))
  return norm(sol)
end

optf = Optimization.OptimizationFunction((x,p) -> loss(x), Optimization.AutoZygote())
optprob = Optimization.OptimizationProblem(optf, initial)
res = Optimization.solve(optprob, ADAM(0.1), maxiters = 100)


text:
function get_label(thing::AbstractThing)::String
    return thing.label;
end;
function get_label!(thing::AbstractArray{<:AbstractThing})::Array{<:String}
    broadcast(get_label, thing);
end;

max_stars_repo_name: daviddoret/julia-cybersecurity

max_issues_repo_name: daviddoret/julia-cybersecurity

max_forks_repo_name: daviddoret/julia-cybersecurity


text:
#---------------------------------------------------------------------
#*	only vapour phase
#*--------------------------------------------------------------------
type tank_vap
	tank_vap()=begin
		new(
			tank_basic(),
			[
				:(_base_1.Outletm.v = 1),
				:(_base_1.Outletm.h = _base_1.PP.VapourEnthalpy(_base_1.Outletm.T,_base_1.Outletm.P,_base_1.Outletm.z)),
				:(_base_1.Tank.V = _base_1.Mt*_base_1.PP.VapourVolume(_base_1.Outletm.T,_base_1.Outletm.P,_base_1.Outletm.z)),
				:(E = _base_1.Mt*_base_1.Outletm.h),
			],
			[
				"Vapourisation fraction","Vapour Enthalpy","Volume constraint","Total internal energy",
			],
		)
	end
	_base_1::tank_basic
	equations::Array{Expr,1}
	equationNames::Array{String,1}
	attributes::Dict{Symbol,Any}
end
export tank_vap
function setEquationFlow(in::tank_vap)
	addEquation(1)
	addEquation(2)
	addEquation(3)
	addEquation(4)
end
function atributes(in::tank_vap,_::Dict{Symbol,Any})
	fields::Dict{Symbol,Any}=Dict{Symbol,Any}()
	fields[:Brief]="Model of a generic vapour-phase tank"
	drive!(fields,_)
	return fields
end
tank_vap(_::Dict{Symbol,Any})=begin
	newModel=tank_vap()
	newModel.attributes=atributes(newModel,_)
	newModel
end


text:
# Test implementation for builtin types
using AbstractTrees
using AbstractTrees: repr_tree
using Test

@testset "Array" begin
    tree = Any[1,Any[2,3]]

    T = Vector{Any}  # This is printed as "Array{Any,1}" in older versions of Julia
    @test repr_tree(tree) == """
        $T
        ├─ 1
        └─ $T
           ├─ 2
           └─ 3
        """

    @test collect(Leaves(tree)) == [1,2,3]
    @test collect(Leaves(tree)) isa Vector{Int}
    @test collect(PostOrderDFS(tree)) == Any[1,2,3,Any[2,3],Any[1,Any[2,3]]]
    @test collect(StatelessBFS(tree)) == Any[Any[1,Any[2,3]],1,Any[2,3],2,3]

    @test treesize(tree) == 5
    @test treebreadth(tree) == 3
    @test treeheight(tree) == 2

    @test ischild(1, tree)
    @test !ischild(2, tree)
    @test ischild(tree[2], tree)
    @test !ischild(copy(tree[2]), tree)  # Should work on identity, not equality

    @test isdescendant(1, tree)
    @test isdescendant(2, tree)
    @test !isdescendant(4, tree)
    @test isdescendant(tree[2], tree)
    @test !isdescendant(copy(tree[2]), tree)
    @test !isdescendant(tree, tree)

    @test intree(1, tree)
    @test intree(2, tree)
    @test !intree(4, tree)
    @test intree(tree[2], tree)
    @test !intree(copy(tree[2]), tree)
    @test intree(tree, tree)

    tree2 = Any[Any[1,2],Any[3,4]]
    @test collect(PreOrderDFS(tree2)) == Any[tree2,Any[1,2],1,2,Any[3,4],3,4]

    @test treesize(tree2) == 7
    @test treebreadth(tree2) == 4
    @test treeheight(tree2) == 2

    tree3 = []
    for itr in [Leaves, PreOrderDFS, PostOrderDFS]
        @test collect(itr(tree3)) == [tree3]
    end

    @test treesize(tree3) == 1
    @test treebreadth(tree3) == 1
    @test treeheight(tree3) == 0
end

@testset "Expr" begin
    expr = :(foo(x^2 + 3))

    @test children(expr) == expr.args

    @test repr_tree(expr) == """
        Expr(:call)
        ├─ :foo
        └─ Expr(:call)
           ├─ :+
           ├─ Expr(:call)
           │  ├─ :^
           │  ├─ :x
           │  └─ 2
           └─ 3
        """

    @test collect(Leaves(expr)) == [:foo, :+, :^, :x, 2, 3]
end

if Base.VERSION >= v"1.6.0-DEV.1594"
    # Much of this is taken from julia/test/compiler/inference.jl
    @testset "Core.Compiler.Timings" begin
        matches(rex, str) = match(rex, str) !== nothing
        function time_inference(f)
            Core.Compiler.Timings.reset_timings()
            Core.Compiler.__set_measure_typeinf(true)
            f()
            Core.Compiler.__set_measure_typeinf(false)
            Core.Compiler.Timings.close_current_timer()
            return Core.Compiler.Timings._timings[1]
        end
        function eval_module()
            @eval module AbstractTreesTestInferenceTiming
                i(x) = x+5
                i2(x) = x+2
                h(a::Array) = i2(a[1]::Integer) + i(a[1]::Integer) + 2
                g(y::Integer, x) = h(Any[y]) + Int(x)
            end
        end
        # Define and make sure all "underlying" functions are compiled
        eval_module()
        AbstractTreesTestInferenceTiming.g(2, 3.0)
        # Now do the real test with a freshly-evaluated module
        eval_module()
        tinf = time_inference() do
            @eval AbstractTreesTestInferenceTiming.g(2, 3.0)
        end
        io = IOBuffer()
        print_tree(io, tinf)
        strs = split(chomp(String(take!(io))), '\n')
        rexf = "[0-9]*\\.?[0-9]*"
        thismod = "$(@__MODULE__)"
        @test any(strs) do str
            matches(Regex("$(rexf)ms: InferenceFrameInfo for Core\\.Compiler\\.Timings\\.ROOT\\(\\)"), str)
        end
        @test any(strs) do str
            matches(Regex("├─ $(rexf)ms: InferenceFrameInfo for $(thismod)\\.AbstractTreesTestInferenceTiming\\.g\\(::$Int, ::Float64\\)"), str)
        end
        @test any(strs) do str
            matches(Regex("│  └─ $(rexf)ms: InferenceFrameInfo for $(thismod)\\.AbstractTreesTestInferenceTiming\\.h\\(::Vector{Any}\\)"), str)
        end
        @test any(strs) do str
            matches(Regex("├─ $(rexf)ms: InferenceFrameInfo for $(thismod)\\.AbstractTreesTestInferenceTiming\\.i2\\(::Integer\\)"), str)
        end
        @test any(strs) do str
            matches(Regex("[└├]─ $(rexf)ms: InferenceFrameInfo for $(thismod)\\.AbstractTreesTestInferenceTiming\\.i\\(::Integer\\)"), str)
        end
        # These two do not have the pipe characters because we aren't sure which will be last
        @test any(strs) do str
            matches(Regex("$(rexf)ms: InferenceFrameInfo for $(thismod)\\.AbstractTreesTestInferenceTiming\\.i2\\(::$Int\\)"), str)
        end
        @test any(strs) do str
            matches(Regex("$(rexf)ms: InferenceFrameInfo for $(thismod)\\.AbstractTreesTestInferenceTiming\\.i\\(::$Int\\)"), str)
        end
    end
end


text:
function windowing_test_unit()
    test_windowing_same_day_length()
    test_windowing_different_day_length()
    test_windowing_zero_day()
    test_windowing_noop()
end

function test_windowing_same_day_length()
    # Pulled from courier 60 min data (Actual bike data aug 3 2015)
    input = Array[
        [0, 0, 0, 0, 2, 3, 4, 4, 4, 5, 4, 4, 4, 4, 3, 2, 1, 0, 0, 0, 0, 0, 0, 0],
        [0, 0, 0, 0, 2, 3, 4, 4, 4, 5, 4, 4, 4, 4, 3, 2, 1, 0, 0, 0, 0, 0, 0, 0],
        [0, 0, 0, 0, 2, 3, 4, 4, 4, 5, 4, 4, 4, 4, 3, 2, 1, 0, 0, 0, 0, 0, 0, 0],
        [0, 0, 0, 0, 2, 3, 4, 4, 4, 5, 4, 4, 4, 4, 3, 2, 1, 0, 0, 0, 0, 0, 0, 0],
        [0, 0, 0, 0, 2, 3, 4, 4, 4, 5, 4, 4, 4, 4, 3, 2, 1, 0, 0, 0, 0, 0, 0, 0],
        [0, 0, 0, 0, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0],
        [0, 0, 0, 0, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0]
    ]
    # (start_index, end_index, time_delta)
    expected = (5, 17, 11)

    actual = get_window(input)
    @test actual == expected
end

function test_windowing_different_day_length()
    # Pulled from courier 60 min data (Actual bike data aug 3 2015)
    input = Array[
        [0, 0, 0, 2, 2, 3, 4, 4, 4, 5, 4, 4, 4, 4, 3, 2, 1, 0, 0, 0, 0, 0, 0, 0],
        [0, 0, 0, 0, 0, 3, 4, 4, 4, 5, 4, 4, 4, 4, 3, 2, 1, 0, 0, 0, 0, 0, 0, 0],
        [0, 0, 0, 0, 2, 3, 4, 4, 0, 5, 4, 4, 4, 4, 3, 2, 1, 0, 0, 0, 0, 0, 0, 0],
        [0, 0, 0, 0, 2, 3, 4, 4, 4, 5, 4, 4, 4, 4, 3, 2, 1, 0, 0, 0, 0, 0, 0, 0],
        [0, 0, 0, 0, 2, 3, 4, 4, 4, 5, 4, 4, 4, 4, 3, 2, 1, 0, 0, 0, 0, 0, 0, 0],
        [0, 0, 0, 0, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0],
        [0, 0, 0, 0, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0]
    ]
    # (start_index, end_index, time_delta)
    expected = (4, 19, 8)

    actual = get_window(input)
    @test actual == expected
end

function test_windowing_zero_day()
    input = Array[
        [0, 0, 0, 0, 2, 3, 4, 4, 4, 5, 4, 4, 4, 4, 3, 2, 1, 0, 0, 0, 0, 0, 0, 0],
        [0, 0, 0, 0, 2, 3, 4, 4, 4, 5, 4, 4, 4, 4, 3, 2, 1, 0, 0, 0, 0, 0, 0, 0],
        [0, 0, 0, 0, 2, 3, 4, 4, 4, 5, 4, 4, 4, 4, 3, 2, 1, 0, 0, 0, 0, 0, 0, 0],
        [0, 0, 0, 0, 2, 3, 4, 4, 4, 5, 4, 4, 4, 4, 3, 2, 1, 0, 0, 0, 0, 0, 0, 0],
        [0, 0, 0, 0, 2, 3, 4, 4, 4, 5, 4, 4, 4, 4, 3, 2, 1, 0, 0, 0, 0, 0, 0, 0],
        # Zero day
        [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
        [0, 0, 0, 0, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0]
    ]

    # (start_index, end_index, time_delta)
    expected = (5, 17, 11)

    actual = get_window(input)
    @test actual == expected
end

function test_windowing_noop()
    input = Array[
        [2, 3, 4, 4, 4, 5, 4, 4, 4, 4, 3, 2, 1],
        [2, 3, 4, 4, 4, 5, 4, 4, 4, 4, 3, 2, 1],
        [2, 3, 4, 4, 4, 5, 4, 4, 4, 4, 3, 2, 1],
        [2, 3, 4, 4, 4, 5, 4, 4, 4, 4, 3, 2, 1],
        [2, 3, 4, 4, 4, 5, 4, 4, 4, 4, 3, 2, 1],
        [1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1],
        [1, 1, 1, 2, 2, 2, 0, 2, 2, 2, 1, 1, 0]
    ]

    expected = (1, 13, 0)

    actual = get_window(input)
    @test actual == expected
end

max_stars_repo_name: shdann/autoshift

max_issues_repo_name: shdann/autoshift

max_forks_repo_name: shdann/autoshift