summaryrefslogtreecommitdiff
path: root/apps/plugins
diff options
context:
space:
mode:
authorFranklin Wei <frankhwei536@gmail.com>2016-07-24 22:59:31 -0400
committerFranklin Wei <frankhwei536@gmail.com>2016-07-24 22:59:31 -0400
commitdb1fd5c355e4cbf3853415b8870d1cf29d252249 (patch)
tree0e7b23b27703e962832c6dbe042bff018164c5ba /apps/plugins
parentd6c012dd9b15173ae5f5deffb30c6c5adc91cf90 (diff)
downloadrockbox-db1fd5c355e4cbf3853415b8870d1cf29d252249.zip
rockbox-db1fd5c355e4cbf3853415b8870d1cf29d252249.tar.gz
rockbox-db1fd5c355e4cbf3853415b8870d1cf29d252249.tar.bz2
rockbox-db1fd5c355e4cbf3853415b8870d1cf29d252249.tar.xz
diceware passwords
Change-Id: I0b95850b4e3d5417ccfedec1474d60980d0cab4f
Diffstat (limited to 'apps/plugins')
-rw-r--r--apps/plugins/passmgr/SOURCES2
-rw-r--r--apps/plugins/passmgr/passmgr.c1055
-rw-r--r--apps/plugins/passmgr/passmgr.make6
-rw-r--r--apps/plugins/passmgr/wordlist.c7877
-rw-r--r--apps/plugins/passmgr/wordlist.h6
5 files changed, 8683 insertions, 263 deletions
diff --git a/apps/plugins/passmgr/SOURCES b/apps/plugins/passmgr/SOURCES
new file mode 100644
index 0000000..191b22a
--- /dev/null
+++ b/apps/plugins/passmgr/SOURCES
@@ -0,0 +1,2 @@
+passmgr.c
+wordlist.c
diff --git a/apps/plugins/passmgr/passmgr.c b/apps/plugins/passmgr/passmgr.c
index 1705077..1b483dd 100644
--- a/apps/plugins/passmgr/passmgr.c
+++ b/apps/plugins/passmgr/passmgr.c
@@ -31,21 +31,36 @@
#include "lib/pluginlib_exit.h"
#include "lib/sha1.h"
+#include "wordlist.h"
+
/* don't change these if you want to maintain backwards compatibility */
#define MAX_NAME 50
#define SECRET_MAX 256
#define URI_MAX (MAX_NAME + SECRET_MAX * 2 + 1)
#define ACCT_FILE PLUGIN_APPS_DATA_DIR "/passmgr.dat"
-#define PASS_MAX 64
+/* these can be changed without breaking anything */
+#define PASS_MAX 128
#define KDF_MIN 5000 /* minimum KDF iterations */
#define KDF_MAX 2500000
#define KDF_DEFAULT (HZ / 4) /* decryption will take about this long by default */
+/* convenience macros */
#define MAX(a, b) (((a)>(b))?(a):(b))
-
#define assert(x) (!(x)?assert_fail():0)
+/* buf should be at least 16 * DICEWARE_WORDS + 1 chars */
+/* 6 words gives about 78 bits of entropy with the current word list,
+ * about equivalent to a 12 character random alphanumeric password */
+
+/* we define these no matter what */
+#ifdef PASSMGR_DICEWARE
+#define DICEWARE_WORDS 6
+#else
+#define DICEWARE_WORDS 0
+#endif
+#define DICEWARE_BUF (16 * DICEWARE_WORDS + 1)
+
struct account_t {
char name[MAX_NAME];
@@ -79,7 +94,7 @@ static int kdf_iters = 0; // calculated on first run
static char encrypted = 0; // 0 = off, 1 = password, 2 = diceware
static char enc_password[PASS_MAX + 1]; // encryption password
-static char data_buf[MAX(MAX_NAME, MAX(SECRET_MAX * 2, MAX(20, MAX(URI_MAX, sizeof(struct account_t)))))];
+static char data_buf[MAX(MAX_NAME, MAX(SECRET_MAX * 2, MAX(20, MAX(URI_MAX, MAX(sizeof(struct account_t), DICEWARE_BUF)))))];
static char temp_sec[SECRET_MAX];
static long background_stack[2 * DEFAULT_STACK_SIZE / sizeof(long)];
@@ -163,6 +178,233 @@ static bool acct_exists(const char *name)
return false;
}
+/* diceware-related code */
+
+#ifdef PASSMGR_DICEWARE
+/* returns the index of the first element with a matching prefix, assumes sorted list */
+static int search_prefix(const char **list, size_t list_len, const char *prefix, int *last)
+{
+ int l = 0;
+ int r = list_len - 1;
+ int len = rb->strlen(prefix);
+ while(l <= r)
+ {
+ int m = (l + r) / 2;
+ int c = rb->strncmp(list[m], prefix, len);
+ if(c < 0)
+ l = m + 1;
+ else if(c > 0)
+ r = m - 1;
+ else
+ {
+ /* we can afford to be a bit slower here with a
+ * linear-time algorithm */
+
+ /* search forwards to find the last word with this
+ * prefix */
+
+ if(last)
+ {
+ int old_m = m;
+ while((unsigned)m < list_len - 1)
+ {
+ if(!rb->strncmp(list[m + 1], prefix, len))
+ m++;
+ else
+ break;
+ }
+ *last = m;
+ m = old_m;
+ }
+
+ /* search backwards */
+ while(m > 0)
+ {
+ if(!rb->strncmp(list[m - 1], prefix, len))
+ m--;
+ else
+ break;
+ }
+
+ return m;
+ }
+ }
+ return -1;
+}
+
+static const char* charlist_cb(int selected_item, void *data,
+ char *buffer, size_t buffer_len)
+{
+ char *str = data;
+ char c;
+ if(rb->strlen(data) == 0)
+ c = 'A' + selected_item;
+ else
+ c = 'a' + selected_item;
+ str[0] = toupper(str[0]);
+ rb->snprintf(buffer, buffer_len, "%s%c-", str, c);
+ str[0] = tolower(str[0]);
+ return buffer;
+}
+
+static const char* wordlist_cb(int selected_item, void *data,
+ char *buffer, size_t buffer_len)
+{
+ rb->snprintf(buffer, buffer_len, "%s", word_list[(int)data + selected_item]);
+ return buffer;
+}
+
+static char choose_letter(char *prefix, char selected, char *fmt, ...)
+{
+ va_list ap;
+ va_start(ap, fmt);
+ char str[32];
+ rb->vsnprintf(str, sizeof(str), fmt, ap);
+ va_end(ap);
+ struct gui_synclist list;
+
+ rb->gui_synclist_init(&list, &charlist_cb, prefix, false, 1, NULL);
+ rb->gui_synclist_set_icon_callback(&list, NULL);
+ rb->gui_synclist_set_nb_items(&list, 26);
+ rb->gui_synclist_limit_scroll(&list, false);
+
+ if(!selected)
+ rb->gui_synclist_select_item(&list, 0);
+ else
+ rb->gui_synclist_select_item(&list, selected - 'a');
+
+ bool done = false;
+ rb->gui_synclist_set_title(&list, str, NOICON);
+ while (!done)
+ {
+ rb->gui_synclist_draw(&list);
+ int button = rb->get_action(CONTEXT_LIST, TIMEOUT_BLOCK);
+ if(rb->gui_synclist_do_button(&list, &button, LIST_WRAP_ON))
+ continue;
+
+ switch (button)
+ {
+ case ACTION_STD_OK:
+ return 'a' + rb->gui_synclist_get_sel_pos(&list);
+ case ACTION_STD_PREV:
+ case ACTION_STD_CANCEL:
+ case ACTION_STD_MENU:
+ return '\0';
+ }
+ rb->yield();
+ }
+ return '\0';
+}
+
+/* prompt the user for a word from a list */
+/* returns 0 on success, negative on failure */
+static int choose_word(char *ret, size_t ret_len, const char **wordlist, size_t wordlist_len, int wordnr)
+{
+ char prefix[3], ch;
+
+first_letter:
+
+ rb->memset(prefix, 0, sizeof(prefix));
+
+ ch = choose_letter(prefix, prefix[0], "Choose First Letter of Word #%d", wordnr);
+ if(!ch)
+ return -1;
+ prefix[0] = ch;
+
+ if(search_prefix(wordlist, wordlist_len, prefix, NULL) < 0)
+ {
+ rb->splash(HZ, "No words with this prefix!");
+ goto first_letter;
+ }
+
+second_letter:
+
+ ch = choose_letter(prefix, prefix[1], "Choose Second Letter of Word #%d", wordnr);
+ if(!ch)
+ goto first_letter;
+ prefix[1] = ch;
+
+ if(search_prefix(wordlist, wordlist_len, prefix, NULL) < 0)
+ {
+ rb->splash(HZ, "No words with this prefix!");
+ prefix[1] = '\0';
+ goto second_letter;
+ }
+
+ int start, stop;
+ start = search_prefix(wordlist, wordlist_len, prefix, &stop);
+
+ /* now list the words with this prefix */
+
+ struct gui_synclist list;
+
+ rb->gui_synclist_init(&list, &wordlist_cb, (void*)start, false, 1, NULL);
+ rb->gui_synclist_set_icon_callback(&list, NULL);
+ rb->gui_synclist_set_nb_items(&list, stop - start + 1);
+ rb->gui_synclist_limit_scroll(&list, false);
+ rb->gui_synclist_select_item(&list, 0);
+
+ bool done = false;
+ int wordidx = -1;
+
+ char str[32];
+ rb->snprintf(str, sizeof(str), "Choose Word #%d", wordnr);
+ rb->gui_synclist_set_title(&list, str, NOICON);
+ while (!done)
+ {
+ rb->gui_synclist_draw(&list);
+ int button = rb->get_action(CONTEXT_LIST, TIMEOUT_BLOCK);
+ if (rb->gui_synclist_do_button(&list, &button, LIST_WRAP_ON))
+ continue;
+
+ switch (button)
+ {
+ case ACTION_STD_OK:
+ wordidx = start + rb->gui_synclist_get_sel_pos(&list);
+ done = true;
+ break;
+ case ACTION_STD_PREV:
+ case ACTION_STD_CANCEL:
+ case ACTION_STD_MENU:
+ prefix[1] = '\0';
+ goto second_letter;
+ }
+ rb->yield();
+ }
+
+ rb->strlcpy(ret, word_list[wordidx], ret_len);
+ return 0;
+}
+
+static int read_diceware_passphrase(char *buf, size_t buflen)
+{
+ /* assumes that no words are > 15 chars */
+ char words[DICEWARE_WORDS][16];
+
+ for(int i = 0; i < DICEWARE_WORDS; ++i)
+ {
+ int rc = choose_word(words[i], sizeof(words[i]), word_list, word_list_len, i + 1);
+ if(rc < 0)
+ {
+ if(!i)
+ return -1; /* failure */
+ else
+ i -= 2; /* back a word */
+ }
+ }
+
+ /* copy the words into the passphrase */
+ buf[0] = '\0';
+ for(int i = 0; i < DICEWARE_WORDS; ++i)
+ {
+ rb->strlcat(buf, words[i], buflen);
+ rb->strlcat(buf, " ", buflen);
+ }
+ return 0;
+}
+
+#endif /* #ifdef PASSMGR_DICEWARE */
+
// Base32 implementation
//
// Copyright 2010 Google Inc.
@@ -275,70 +517,39 @@ static bool browse( char *dst, int dst_size, const char *start )
return (browse.flags & BROWSE_SELECTED);
}
-/* word lists */
-
-/* prompt the user for a word from a list */
-static void choose_word(char *ret, size_t ret_len, const char **list, size_t list_len)
-{
- MENUITEM_STRINGLIST(char_menu, "Choose Letter", NULL,
- "A",
- "B",
- "C",
- "D",
- "E",
- "F",
- "G",
- "H",
- "I",
- "J",
- "K",
- "L",
- "M",
- "N",
- "O",
- "P",
- "Q",
- "R",
- "S",
- "T",
- "U",
- "V",
- "W",
- "X",
- "Y",
- "Z",);
- char prefix[3];
-
-first_letter:
+#if 0
+/* check an entered password/diceware passphrase with the actual
+ * one */
+/* used as a very weak security measure */
+static bool verify_password(void)
+{
+ char temp_pass[PASS_MAX];
- rb->memset(prefix, 0, sizeof(prefix));
- rb->splash(HZ, "Choose first letter:");
- while(1)
+ switch(encrypted)
{
- int ret = rb->do_menu(char_menu, NULL, NULL, false);
- if(ret >= 0)
- {
- prefix[0] = 'a' + ret;
- break;
- }
+ case 0:
+ return true;
+ case 1:
+ rb->splash(HZ, "Enter current password:");
+ if(rb->kbd_input(temp_pass, sizeof(temp_pass)) < 0)
+ return false;
+ break;
+#ifdef PASSMGR_DICEWARE
+ case 2:
+ rb->splash(HZ, "Enter current passphrase:");
+ if(read_diceware_passphrase(temp_pass, sizeof(temp_pass)) < 0)
+ return false;
+ break;
+#endif
}
-
- rb->splash(HZ, "Choose second letter:");
- while(1)
+ if(rb->strcmp(enc_password, temp_pass))
{
- int ret = rb->do_menu(char_menu, NULL, NULL, false);
- if(ret >= 0)
- {
- prefix[1] = 'a' + ret;
- break;
- }
- else
- goto first_letter;
+ rb->splashf(HZ * 2, "Wrong password!");
+ return false;
}
-
- /* do a binary search of the list to find the first word that
- * starts with the prefix */
+ return true;
}
+#endif
/* a simple AES128-CTR implementation */
@@ -551,7 +762,8 @@ static int calc_kdf_iters(long delay)
#ifdef HAVE_ADJUSTABLE_CPU_FREQ
rb->cpu_boost(true);
#endif
- while(ticks < 4 && iters < KDF_MAX)
+ /* calculate how many iterations make PBKDF2 take a certain time */
+ while(ticks < 4 && iters <= KDF_MAX)
{
char out[20];
char tmp[4 + 4];
@@ -570,11 +782,30 @@ static int calc_kdf_iters(long delay)
if(!ticks)
return KDF_MAX;
+ /* then extrapolate to the desired time */
int ret = (delay * iters) / ticks;
rb->lcd_update();
return ret < KDF_MIN ? KDF_MIN : ret;
}
+static int read_password_or_passphrase(char *buf, size_t len)
+{
+ buf[0] = '\0';
+ switch(encrypted)
+ {
+ case 1: /* plain password */
+ rb->splash(HZ, "Enter password:");
+ return rb->kbd_input(buf, len);
+ case 2: /* passphrase */
+#ifdef PASSMGR_DICEWARE
+ rb->splash(HZ, "Enter passphrase:");
+ return read_diceware_passphrase(buf, len);
+#endif
+ default:
+ return -1;
+ }
+}
+
static bool read_accts(void)
{
int fd = rb->open(ACCT_FILE, O_RDONLY);
@@ -622,9 +853,7 @@ static bool read_accts(void)
for(int i = 0; i < 3; ++i)
{
- rb->splash(HZ * 2, "Enter password:");
- enc_password[0] = '\0';
- if(rb->kbd_input(enc_password, sizeof(enc_password)) < 0)
+ if(read_password_or_passphrase(enc_password, sizeof(enc_password)) < 0)
{
rb->close(fd);
exit(PLUGIN_ERROR);
@@ -785,6 +1014,105 @@ static void save_accts(void)
quiet_save = false;
}
+/* generate a desired number of random bits */
+/* note that len must be a multiple of sizeof(long) and >= 20 */
+static void gather_entropy(void *out, size_t len)
+{
+ assert(len % sizeof(long) == 0);
+ assert(len >= 20);
+ rb->splash(0, "Gathering entropy... Please press the keys as randomly as possible.");
+ /* fill the buffer with a seed */
+ char buf[20];
+ long *ptr = (long*)buf;
+
+ /* mix in certain filesystem information such as the number of
+ * files in the root directory */
+ DIR *root = rb->opendir("/");
+ int count = 0;
+ while(rb->readdir(root))
+ count++;
+
+ for(unsigned i = 0; i < len / sizeof(long); ++i)
+ {
+ *ptr++ = *rb->current_tick ^ count;
+ rb->yield();
+ }
+
+ ptr = (long*)buf;
+
+ /* now we mix in the system settings and status */
+ hmac_sha1(rb->global_settings, sizeof(struct user_settings), ptr, 20, ptr);
+ hmac_sha1(rb->global_status, sizeof(struct system_status), ptr, 20, ptr);
+
+ /* mix the keypresses into the pool */
+ /* for now just gather a certain number of keypresses and their
+ * associated timestamps */
+ for(int keys = 0; keys < 80; ++keys)
+ {
+ uint32_t data = rb->button_get(true) ^ *rb->current_tick;
+#ifdef HAVE_WHEEL_POSITION
+ if(rb->wheel_status() >= 0)
+ data ^= rb->wheel_status();
+#endif
+
+ /* XOR in environmental conditions */
+ data ^= rb->audio_status() << 8;
+ data ^= rb->audio_get_file_pos() << 16;
+ data ^= rb->battery_voltage() << 24;
+
+#ifdef USEC_TIMER
+ /* we swap because we need more entropy in the high-order bits */
+ data ^= SWAP32_CONST(USEC_TIMER);
+#endif
+
+ rb->splashf(0, "Data is 0x%lx", data);
+
+ ptr = (long*)buf;
+
+ /* XOR the data in */
+ for(unsigned i = 0; i < len / sizeof(long); ++i)
+ *ptr++ ^= data;
+
+ long timestamp = *rb->current_tick;
+
+#if CONFIG_RTC
+ timestamp ^= get_utc();
+#endif
+
+ /* finally mix it all up with an HMAC */
+ hmac_sha1(&timestamp, sizeof(long), ptr, 20, ptr);
+ rb->yield();
+ }
+
+ /* as a final step we use PBKDF2 to stretch the 20 bytes we have
+ * to the desired length */
+ long salt = *rb->current_tick;
+ char tmp[sizeof(salt) + 4];
+ PBKDF2(buf, 20, &salt, sizeof(salt), 1, out, len, tmp);
+}
+
+static void generate_random_password(char *dest, size_t len)
+{
+ rb->memset(dest, 0, len);
+ const char *charset = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890-=!@#$%^&*()_+[]{}\\|,.<>/?`~'\"";
+ char seed[20];
+ gather_entropy(seed, sizeof(seed));
+
+ unsigned dest_idx = 0;
+
+ /* now, iterate over bytes of the seed and append characters that
+ * are in the character set */
+ while(dest_idx < len - 1)
+ {
+ for(unsigned i = 0; i < sizeof(seed) && dest_idx < len - 1; ++i)
+ {
+ if(rb->strchr(charset, seed[i]) && seed[i])
+ dest[dest_idx++] = seed[i];
+ }
+ sha1_buffer(seed, sizeof(seed), seed);
+ }
+}
+
static volatile bool kill_background SHAREDDATA_ATTR = false;
static volatile bool want_save SHAREDDATA_ATTR = false;
static int background_id = -1;
@@ -1042,21 +1370,40 @@ static void add_acct_manual(void)
case 2:
#if CONFIG_RTC
accounts[next_slot].type = TYPE_STATIC;
-#endif
break;
+#else
+ return;
+#endif
case 3:
default:
case GO_TO_PREVIOUS:
- break;
+ return;
}
+ char temp_buf[SECRET_MAX * 2];
+ rb->memset(temp_buf, 0, sizeof(temp_buf));
+
if(accounts[next_slot].type != TYPE_STATIC)
rb->splash(HZ * 2, "Enter Base32-encoded secret:");
else
- rb->splash(HZ * 2, "Enter account password:");
-
- char temp_buf[SECRET_MAX * 2];
- rb->memset(temp_buf, 0, sizeof(temp_buf));
+ {
+ MENUITEM_STRINGLIST(static_type, "Static Password Options", NULL,
+ "Enter password manually",
+ "Generate random password",
+ "Cancel");
+ switch(rb->do_menu(&static_type, NULL, NULL, false))
+ {
+ case 0:
+ rb->splash(HZ * 2, "Enter account password:");
+ break;
+ case 1:
+ generate_random_password(accounts[next_slot].secret, 32 + 1);
+ goto done;
+ case 2:
+ default:
+ return;
+ }
+ }
if(rb->kbd_input(temp_buf, sizeof(temp_buf)) < 0)
return;
@@ -1085,12 +1432,12 @@ static void add_acct_manual(void)
if(accounts[next_slot].type == TYPE_HOTP)
{
- rb->splash(HZ * 2, "Enter counter (0 is typical):");
+ rb->splash(HZ * 2, "Enter HOTP counter (0 is typical):");
temp_buf[0] = '0';
}
else if(accounts[next_slot].type == TYPE_TOTP)
{
- rb->splash(HZ * 2, "Enter time step (30 is typical):");
+ rb->splash(HZ * 2, "Enter TOTP period (30 is typical):");
temp_buf[0] = '3';
temp_buf[1] = '0';
}
@@ -1103,7 +1450,7 @@ static void add_acct_manual(void)
else
accounts[next_slot].totp_period = rb->atoi(temp_buf);
- rb->splash(HZ * 2, "Enter code length (6 is typical):");
+ rb->splash(HZ * 2, "Enter digit count (6 is typical):");
rb->memset(temp_buf, 0, sizeof(temp_buf));
temp_buf[0] = '6';
@@ -1135,7 +1482,7 @@ done:
static void add_acct(void)
{
- MENUITEM_STRINGLIST(menu, "Import Account(s)", NULL,
+ MENUITEM_STRINGLIST(menu, "Add Account(s)", NULL,
"From URI list or 'username:password' list",
"Manual Entry",
"Back");
@@ -1801,103 +2148,292 @@ static void kdf_delay_menu(void)
rb->splashf(HZ, "Using %d PBKDF2 iterations", kdf_iters);
}
-static void encrypt_menu(void)
+/* begin using a password for encryption */
+static bool change_password(void)
{
- MENUITEM_STRINGLIST(encrypt_menu_1, "Encryption", NULL,
- "Change Password",
- "Use a Passphrase",
- "Change KDF Delay",
- "Disable",
- "Back");
+ //if(!verify_password())
+ // return false;
+ char temp_pass[sizeof(enc_password)];
+ char temp_pass2[sizeof(enc_password)];
- MENUITEM_STRINGLIST(encrypt_menu_2, "Encryption", NULL,
- "Enable",
- "Back");
+ temp_pass[0] = '\0';
- const struct menu_item_ex *menu = encrypted ? &encrypt_menu_1 : &encrypt_menu_2;
+ rb->splash(HZ * 2, "Enter new password:");
- switch(rb->do_menu(menu, NULL, NULL, false))
- {
- case 0:
+ if(rb->kbd_input(temp_pass, sizeof(temp_pass)) < 0)
+ return false;
+
+ temp_pass2[0] = '\0';
+
+ rb->splash(HZ * 2, "Re-enter new password:");
+
+ if(rb->kbd_input(temp_pass2, sizeof(temp_pass2)) < 0)
+ return false;
+
+ if(rb->strcmp(temp_pass, temp_pass2))
{
- char temp_pass[sizeof(enc_password)];
- char temp_pass2[sizeof(enc_password)];
+ rb->splash(HZ * 2, "Passwords do not match!");
+ return false;
+ }
- temp_pass[0] = '\0';
+ rb->mutex_lock(&save_mutex);
- if(encrypted)
- {
- rb->splash(HZ * 2, "Enter current password:");
+ rb->strlcpy(enc_password, temp_pass, sizeof(enc_password));
- if(rb->kbd_input(temp_pass, sizeof(temp_pass)) < 0)
- break;
+ encrypted = 1;
- if(rb->strcmp(enc_password, temp_pass))
- {
- rb->splashf(HZ * 2, "Wrong password!");
- break;
- }
+ rb->mutex_unlock(&save_mutex);
- temp_pass[0] = '\0';
- }
+ background_save();
+
+ rb->splash(HZ, "Success.");
+ return true;
+}
- rb->splash(HZ * 2, "Enter new password:");
+#ifdef PASSMGR_DICEWARE
+static bool generate_random_passphrase(char *buf, size_t buflen)
+{
+ char key[20];
- if(rb->kbd_input(temp_pass, sizeof(temp_pass)) < 0)
- break;
+#ifdef HAVE_ADJUSTABLE_CPU_FREQ
+ rb->cpu_boost(true);
+#endif
- temp_pass2[0] = '\0';
+ gather_entropy(key, 20);
- rb->splash(HZ * 2, "Re-enter new password:");
+ /* give the user time to stop pressing keys */
+ rb->splash(HZ * 2, "Done.");
- if(rb->kbd_input(temp_pass2, sizeof(temp_pass2)) < 0)
- break;
+ rb->button_clear_queue();
- if(rb->strcmp(temp_pass, temp_pass2))
+#ifdef HAVE_ADJUSTABLE_CPU_FREQ
+ rb->cpu_boost(false);
+#endif
+
+ assert(DICEWARE_WORDS < 160/16);
+
+ uint16_t *ptr;
+
+ for(int i = 0; i < 10; ++i)
+ {
+ /* generate a passphrase until the user decides on one or we try 10 times */
+
+#ifdef HAVE_ADJUSTABLE_CPU_FREQ
+ rb->cpu_boost(true);
+#endif
+
+ ptr = (uint16_t*)key;
+ buf[0] = '\0';
+ rb->splash(0, "Generating...");
+ for(int i = 0; i < DICEWARE_WORDS; ++i)
{
- rb->splash(HZ * 2, "Passwords do not match!");
- break;
+ uint16_t rnd;
+ /* rehash until we get a good value */
+ /* this smells awfully like bitcoin mining */
+ do {
+ rnd = *ptr;
+ long timestamp = *rb->current_tick;
+ hmac_sha1(&timestamp, sizeof(long), key, 20, key);
+ } while(rnd >= word_list_len);
+
+ rb->strlcat(buf, word_list[rnd], buflen);
+ rb->strlcat(buf, " ", buflen);
+ rb->yield();
}
- rb->strlcpy(enc_password, temp_pass, sizeof(enc_password));
+#ifdef HAVE_ADJUSTABLE_CPU_FREQ
+ rb->cpu_boost(false);
+#endif
- encrypted = 1;
+ rb->backlight_set_timeout(0); /* no timeout */
- background_save();
+ struct text_message prompt = { (const char*[]) { "Your generated passphrase is:", buf, "Is this OK?" }, 3 };
+ enum yesno_res response = rb->gui_syncyesno_run(&prompt, NULL, NULL);
+ if(response == YESNO_NO)
+ {
+ long timestamp = *rb->current_tick;
- rb->splash(HZ, "Success.");
- break;
+ /* mix it with an HMAC */
+ hmac_sha1(&timestamp, sizeof(long), key, 20, key);
+ }
+ else
+ {
+ struct text_message prompt2 = { (const char*[]) { "Again, your passphrase is:", buf, "Please take time to commit this to memory.", "If you forget it, your data will be irretrievably lost!", "Continue?"}, 5 };
+ enum yesno_res response = rb->gui_syncyesno_run(&prompt2, NULL, NULL);
+ if(response == YESNO_YES)
+ return true;
+ }
}
- case 1:
+
+ return false;
+}
+
+/* use a passphrase */
+static bool change_passphrase(void)
+{
+ MENUITEM_STRINGLIST(mode_menu, "Choose Passphase Generation Method", NULL,
+ "Random Generation",
+ "Manual Entry (not recommended)",
+ "Cancel");
+
+ switch(rb->do_menu(&mode_menu, NULL, NULL, false))
{
- if(menu == &encrypt_menu_1)
- kdf_delay_menu();
+ case 0:
+ /* we need the data buffer */
+ rb->mutex_lock(&save_mutex);
+ if(!generate_random_passphrase(data_buf, sizeof(data_buf)))
+ {
+ rb->mutex_unlock(&save_mutex);
+ return false;
+ }
+ rb->mutex_unlock(&save_mutex);
+ break;
+ case 1:
+ rb->splash(HZ, "Enter new passphrase:");
+ rb->mutex_lock(&save_mutex);
+ if(read_diceware_passphrase(data_buf, sizeof(data_buf)))
+ {
+ /* failure */
+ rb->mutex_unlock(&save_mutex);
+ return false;
+ }
+ rb->mutex_unlock(&save_mutex);
break;
+ default:
+ return false;
}
- case 2:
- {
- char temp_pass[sizeof(enc_password)];
- temp_pass[0] = '\0';
- rb->splash(HZ * 2, "Enter current password:");
+ rb->mutex_lock(&save_mutex);
- if(rb->kbd_input(temp_pass, sizeof(temp_pass)) < 0)
- break;
+ rb->strlcpy(enc_password, data_buf, sizeof(enc_password));
+ encrypted = 2;
- if(rb->strcmp(enc_password, temp_pass))
- {
- rb->splash(HZ * 2, "Wrong password!");
- break;
- }
+ rb->mutex_unlock(&save_mutex);
- encrypted = 0;
+ background_save();
- background_save();
+ rb->splash(HZ, "Success.");
- rb->splash(HZ, "Success.");
+ return true;
+}
+#endif /* #ifdef PASSMGR_DICEWARE */
+
+static bool disable_encryption(void)
+{
+ //if(!verify_password())
+ // return false;
+ rb->mutex_lock(&save_mutex);
+ encrypted = 0;
+ rb->mutex_unlock(&save_mutex);
+ background_save();
+ rb->splash(HZ, "Success.");
+ return true;
+}
+
+static void encrypt_menu(void)
+{
+ /* 3 states for the menu */
+ MENUITEM_STRINGLIST(encrypt_menu_0, "Encryption", NULL,
+ "Enable",
+ "Back");
+
+ MENUITEM_STRINGLIST(encrypt_menu_1 , "Encryption", NULL,
+ "Change Password",
+ "Change KDF Delay",
+#ifdef PASSMGR_DICEWARE
+ "Use a Passphrase",
+#endif
+ "Disable",
+ "Back");
+
+#ifdef PASSMGR_DICEWARE
+ MENUITEM_STRINGLIST(encrypt_menu_2 , "Encryption", NULL,
+ "Change Passphrase",
+ "Change KDF Delay",
+ "Use a Password",
+ "Disable",
+ "Back");
+#endif
+
+ const struct menu_item_ex *menus[] = { &encrypt_menu_0,
+ &encrypt_menu_1,
+#ifdef PASSMGR_DICEWARE
+ &encrypt_menu_2,
+#endif
+ };
+
+ const struct menu_item_ex *menu;
+state_change:
+ menu = menus[(int)encrypted];
+
+ int sel = rb->do_menu(menu, NULL, NULL, false);
+ switch(encrypted)
+ {
+ case 0: /* disabled */
+ {
+ switch(sel)
+ {
+ case 0: /* enable, change type */
+ change_password();
+ goto state_change;
+ case 1: /* back */
+ default:
+ break;
}
break;
- case 3:
+ }
+ case 1: /* using a password */
+ {
+ switch(sel)
+ {
+ case 0: /* change password */
+ change_password();
+ break; /* no state change */
+ case 1: /* KDF delay */
+ kdf_delay_menu();
+ break;
+#ifdef PASSMGR_DICEWARE
+ case 2: /* use passphrase */
+ change_passphrase();
+ goto state_change;
+ case 3: /* disable */
+ disable_encryption();
+ goto state_change;
+ case 4: /* back */
+#else
+ case 2: /* disable */
+ disable_encryption();
+ goto state_change;
+ case 3: /* back */
+#endif
+ default:
+ break;
+ }
+ break;
+ }
+#ifdef PASSMGR_DICEWARE
+ case 2: /* we have a passphrase configured */
+ {
+ switch(sel)
+ {
+ case 0: /* change passphrase */
+ change_passphrase();
+ break;
+ case 1: /* KDF delay */
+ kdf_delay_menu();
+ break;
+ case 2: /* use a password */
+ change_password();
+ goto state_change;
+ case 3: /* disable */
+ disable_encryption();
+ goto state_change;
+ case 4:
+ default:
+ break;
+ }
+ }
+#endif
default:
break;
}
@@ -1967,6 +2503,126 @@ static void adv_menu(void)
}
}
+static char *help_text[] = { "Password Manager", "",
+ "",
+ "Introduction", "",
+ "This", "plugin", "allows", "you", "to", "generate", "one-time", "passwords", "as", "a", "second", "factor", "of", "authentication", "for", "online", "services", "which", "support", "it,", "such", "as", "GitHub", "and", "Google.",
+ "This", "plugin", "supports", "both", "counter-based", "(HOTP),", "and", "time-based", "(TOTP)", "password", "schemes.",
+ "It", "also", "supports", "storing", "static", "passwords", "securely.",
+ "",
+ "",
+ "Time Zone Configuration", "",
+ "On", "the", "first", "run", "of", "the", "plugin,", "you", "are", "asked", "for", "the", "time", "zone", "to", "which", "your", "system", "clock", "is", "set.",
+ "If", "you", "need", "to", "change", "this", "setting", "later,", "it", "is", "available", "under", "the", "'Advanced'", "menu", "option.",
+ "",
+ "",
+ "Account Setup", "",
+ "To", "add", "a", "new", "account,", "choose", "the", "'Add", "Account(s)'", "menu", "option.",
+ "There", "are", "two", "ways", "to", "add", "an", "account,", "either", "from", "a", "file", "containing", "account", "information", "in", "URI", "format,", "or", "manual", "entry.",
+ "",
+ "",
+ "URI Import", "",
+ "This", "method", "of", "adding", "an", "account", "reads", "a", "list", "of", "URIs", "from", "a", "file.",
+ "It", "expects", "each", "URI", "to", "be", "on", "a", "line", "by", "itself", "in", "the", "following", "format:", "",
+ "",
+ "otpauth://[hotp", "OR", "totp]/[account", "name]?secret=[Base32", "secret][&counter=X][&period=X][&digits=X]", "",
+ "",
+ "An", "example", "is", "shown", "below,", "provisioning", "a", "TOTP", "key", "for", "an", "account", "called", "``bob'':", "",
+ "",
+ "otpauth://totp/bob?secret=JBSWY3DPEHPK3PXP", "",
+ "",
+ "Any", "other", "URI", "options", "are", "not", "supported", "and", "will", "be", "ignored.",
+ "",
+ "Most", "services", "will", "provide", "a", "scannable", "QR", "code", "that", "encodes", "a", "OTP", "URI.",
+ "In", "order", "to", "use", "those,", "first", "scan", "the", "QR", "code", "separately", "and", "save", "the", "URI", "to", "a", "file", "on", "your", "device.",
+ "If", "necessary,", "rewrite", "the", "URI", "so", "it", "is", "in", "the", "format", "shown", "above.",
+ "For", "example,", "GitHub's", "URI", "has", "a", "slash", "after", "the", "provider.",
+ "In", "order", "for", "this", "URI", "to", "be", "properly", "parsed,", "you", "must", "rewrite", "the", "account", "name", "so", "that", "it", "does", "not", "contain", "a", "slash.",
+ "",
+ "",
+ "Manual Import", "",
+ "If", "direct", "URI", "import", "is", "not", "possible,", "the", "plugin", "supports", "the", "manual", "entry", "of", "data", "associated", "with", "an", "account.",
+ "After", "you", "select", "the", "'Manual", "Entry'", "option,", "it", "will", "prompt", "you", "for", "an", "account", "name.",
+ "You", "may", "type", "anything", "you", "wish,", "but", "it", "should", "be", "memorable.",
+ "It", "will", "then", "prompt", "you", "for", "the", "Base32-encoded", "secret.",
+ "Most", "services", "will", "provide", "this", "to", "you", "directly,", "but", "some", "may", "only", "provide", "you", "with", "a", "QR", "code.",
+ "In", "these", "cases,", "you", "must", "scan", "the", "QR", "code", "separately,", "and", "then", "enter", "the", "string", "following", "the", "'secret='", "parameter", "on", "your", "Rockbox", "device", "manually.",
+ "",
+ "On", "devices", "with", "a", "real-time", "clock,", "the", "plugin", "will", "ask", "whether", "the", "account", "is", "a", "time-based", "account", "(TOTP).",
+ "If", "you", "answer", "'yes'", "to", "this", "question,", "it", "will", "ask", "for", "further", "information", "regarding", "the", "account.",
+ "Usually", "it", "is", "safe", "to", "accept", "the", "defaults", "here.",
+ "However,", "if", "your", "device", "lacks", "a", "real-time", "clock,", "the", "plugin's", "functionality", "will", "be", "restricted", "to", "HMAC-based", "(HOTP)", "accounts", "only.",
+ "If", "this", "is", "the", "case,", "the", "plugin", "will", "prompt", "you", "for", "information", "regarding", "the", "HOTP", "setup.",
+ "Again,", "it", "is", "usually", "safe", "to", "accept", "the", "defaults.",
+ "",
+ "",
+ "Account Export", "",
+ "This", "plugin", "allows", "you", "to", "export", "account", "data", "to", "a", "file", "for", "backup", "and", "transfer", "purposes.",
+ "This", "option", "is", "located", "under", "the", "'Advanced'", "menu.",
+ "It", "will", "prompt", "for", "for", "a", "filename,", "and", "will", "write", "all", "your", "account", "data", "to", "the", "specified", "file.",
+ "This", "file", "can", "be", "imported", "by", "this", "plugin", "using", "the", "'From", "URI", "List'", "option", "when", "importing.",
+ "Please", "note", "that", "you", "should", "not", "attempt", "to", "copy", "the", "'passmgr.dat'", "from", "the", ".rockbox", "directory", "to", "another", "device.",
+ "",
+ "",
+ "Encryption", "",
+ "This", "plugin", "supports", "the", "optional", "encryption", "of", "account", "data", "while", "stored", "on", "disk.",
+ "This", "feature", "is", "located", "under", "the", "'Advanced'", "menu", "option.",
+ "Upon", "enabling", "this", "feature,", "you", "must", "enter", "an", "encryption", "password", "that", "will", "need", "to", "be", "entered", "each", "time", "the", "plugin", "starts", "up.",
+ "It", "is", "recommended", "that", "you", "use", "a", "strong,", "alphanumeric", "password", "of", "at", "least", "8", "characters", "in", "order", "to", "frustrate", "attempts", "to", "guess", "the", "password.",
+ "Be", "sure", "not", "to", "forget", "this", "password.",
+ "In", "the", "event", "that", "the", "password", "is", "lost,", "it", "is", "nearly", "impossible", "to", "recover", "your", "account", "data.",
+ "",
+ "",
+ "Implementation Details", "",
+ "Account", "data", "is", "encrypted", "with", "128-bit", "AES", "encryption", "in", "counter", "mode.",
+ "The", "key", "is", "derived", "from", "the", "your", "password", "and", "a", "nonce", "by", "using", "PBKDF2-HMAC-SHA1,", "with", "a", "variable", "number", "of", "iterations,", "calibrated", "by", "default", "to", "take", "250", "milliseconds.",
+ "This", "parameter", "can", "be", "adjusted", "using", "the", "'Change", "KDF", "Delay'", "option", "under", "the", "'Encryption'", "submenu.",
+ "The", "nonce", "is", "generated", "from", "the", "system's", "current", "tick", "and", "the", "real-time", "clock,", "if", "available,", "making", "collision", "unlikely.",
+ "Some", "later-model", "iPods", "have", "a", "hardware", "AES", "core", "with", "a", "hardcoded,", "device-specific", "key", "that", "cannot", "easily", "be", "extracted.",
+ "When", "available,", "the", "device-specific", "key", "is", "used", "to", "encrypt", "the", "actual", "encryption", "key,", "tying", "the", "ciphertext", "to", "the", "device,", "making", "a", "brute-force", "attack", "more", "difficult.",
+ "One", "should", "note", "that", "this", "does", "not", "rely", "completely", "rely", "on", "the", "hardware", "encryption", "key,", "it", "merely", "utilizes", "it", "as", "part", "of", "defense", "in", "depth.",
+ "",
+ "",
+ "Troubleshooting", "",
+ "If", "time-based", "passwords", "and", "not", "working", "properly,", "ensure", "that", "your", "system", "clock", "is", "accurate", "to", "within", "30", "seconds", "of", "the", "authenticating", "server's", "clock,", "and", "that", "the", "proper", "time", "zone", "is", "configured", "within", "the", "plugin.",
+ "Be", "sure", "to", "account", "for", "Daylight", "Savings", "Time,", "if", "applicable.",
+ "",
+ "",
+ "Supported Features", "",
+#if !CONFIG_RTC
+ "This", "device", "lacks", "a", "real-time", "clock,", "and", "thus", "time-based", "(TOTP)", "passwords", "are", "not", "supported.",
+ "",
+#endif
+#if CONFIG_CPU == S5L8702 && !defined(SIMULATOR)
+ "This", "device", "has", "a", "hardware", "AES", "core", "that", "will", "be", "used", "to", "further", "protect", "your", "data", "by", "tying", "it", "to", "this", "device.",
+ "",
+#else
+ "This", "device", "does", "not", "have", "a", "hardware", "AES", "core.",
+ "The", "security", "of", "the", "encryption", "thus", "relies", "solely", "on", "your", "password.",
+ "",
+#endif
+#ifdef USB_ENABLE_HID
+ "This", "device", "has", "the", "ability", "to", "type", "passwords", "directly", "to", "a", "host", "computer", "over", "the", "USB", "connection.",
+ "",
+#endif
+};
+
+struct style_text style[] = {
+ { 0, TEXT_CENTER | TEXT_UNDERLINE },
+ { 3, C_RED },
+ { 50, C_RED },
+ { 91, C_RED },
+ { 127, C_RED },
+ { 280, C_RED },
+ { 468, C_RED },
+ { 548, C_RED },
+ { 644, C_RED },
+ { 787, C_RED },
+ { 835, C_RED },
+ LAST_STYLE_ITEM
+};
+
+
/* displays the help text */
static void show_help(void)
{
@@ -1979,125 +2635,6 @@ static void show_help(void)
#ifdef HAVE_LCD_BITMAP
rb->lcd_setfont(FONT_UI);
#endif
-
- static char *help_text[] = { "Password Manager", "",
- "",
- "Introduction", "",
- "This", "plugin", "allows", "you", "to", "generate", "one-time", "passwords", "as", "a", "second", "factor", "of", "authentication", "for", "online", "services", "which", "support", "it,", "such", "as", "GitHub", "and", "Google.",
- "This", "plugin", "supports", "both", "counter-based", "(HOTP),", "and", "time-based", "(TOTP)", "password", "schemes.",
- "It", "also", "supports", "storing", "static", "passwords", "securely.",
- "",
- "",
- "Time Zone Configuration", "",
- "On", "the", "first", "run", "of", "the", "plugin,", "you", "are", "asked", "for", "the", "time", "zone", "to", "which", "your", "system", "clock", "is", "set.",
- "If", "you", "need", "to", "change", "this", "setting", "later,", "it", "is", "available", "under", "the", "'Advanced'", "menu", "option.",
- "",
- "",
- "Account Setup", "",
- "To", "add", "a", "new", "account,", "choose", "the", "'Import", "Account(s)'", "menu", "option.",
- "There", "are", "two", "ways", "to", "import", "an", "account,", "either", "from", "a", "file", "containing", "account", "information", "in", "URI", "format,", "or", "manual", "entry.",
- "",
- "",
- "URI Import", "",
- "This", "method", "of", "adding", "an", "account", "reads", "a", "list", "of", "URIs", "from", "a", "file.",
- "It", "expects", "each", "URI", "to", "be", "on", "a", "line", "by", "itself", "in", "the", "following", "format:", "",
- "",
- "otpauth://[hotp", "OR", "totp]/[account", "name]?secret=[Base32", "secret][&counter=X][&period=X][&digits=X]", "",
- "",
- "An", "example", "is", "shown", "below,", "provisioning", "a", "TOTP", "key", "for", "an", "account", "called", "``bob'':", "",
- "",
- "otpauth://totp/bob?secret=JBSWY3DPEHPK3PXP", "",
- "",
- "Any", "other", "URI", "options", "are", "not", "supported", "and", "will", "be", "ignored.",
- "",
- "Most", "services", "will", "provide", "a", "scannable", "QR", "code", "that", "encodes", "a", "OTP", "URI.",
- "In", "order", "to", "use", "those,", "first", "scan", "the", "QR", "code", "separately", "and", "save", "the", "URI", "to", "a", "file", "on", "your", "device.",
- "If", "necessary,", "rewrite", "the", "URI", "so", "it", "is", "in", "the", "format", "shown", "above.",
- "For", "example,", "GitHub's", "URI", "has", "a", "slash", "after", "the", "provider.",
- "In", "order", "for", "this", "URI", "to", "be", "properly", "parsed,", "you", "must", "rewrite", "the", "account", "name", "so", "that", "it", "does", "not", "contain", "a", "slash.",
- "",
- "",
- "Manual Import", "",
- "If", "direct", "URI", "import", "is", "not", "possible,", "the", "plugin", "supports", "the", "manual", "entry", "of", "data", "associated", "with", "an", "account.",
- "After", "you", "select", "the", "'Manual", "Entry'", "option,", "it", "will", "prompt", "you", "for", "an", "account", "name.",
- "You", "may", "type", "anything", "you", "wish,", "but", "it", "should", "be", "memorable.",
- "It", "will", "then", "prompt", "you", "for", "the", "Base32-encoded", "secret.",
- "Most", "services", "will", "provide", "this", "to", "you", "directly,", "but", "some", "may", "only", "provide", "you", "with", "a", "QR", "code.",
- "In", "these", "cases,", "you", "must", "scan", "the", "QR", "code", "separately,", "and", "then", "enter", "the", "string", "following", "the", "'secret='", "parameter", "on", "your", "Rockbox", "device", "manually.",
- "",
- "On", "devices", "with", "a", "real-time", "clock,", "the", "plugin", "will", "ask", "whether", "the", "account", "is", "a", "time-based", "account", "(TOTP).",
- "If", "you", "answer", "'yes'", "to", "this", "question,", "it", "will", "ask", "for", "further", "information", "regarding", "the", "account.",
- "Usually", "it", "is", "safe", "to", "accept", "the", "defaults", "here.",
- "However,", "if", "your", "device", "lacks", "a", "real-time", "clock,", "the", "plugin's", "functionality", "will", "be", "restricted", "to", "HMAC-based", "(HOTP)", "accounts", "only.",
- "If", "this", "is", "the", "case,", "the", "plugin", "will", "prompt", "you", "for", "information", "regarding", "the", "HOTP", "setup.",
- "Again,", "it", "is", "usually", "safe", "to", "accept", "the", "defaults.",
- "",
- "",
- "Account Export", "",
- "This", "plugin", "allows", "you", "to", "export", "account", "data", "to", "a", "file", "for", "backup", "and", "transfer", "purposes.",
- "This", "option", "is", "located", "under", "the", "'Advanced'", "menu.",
- "It", "will", "prompt", "for", "for", "a", "filename,", "and", "will", "write", "all", "your", "account", "data", "to", "the", "specified", "file.",
- "This", "file", "can", "be", "imported", "by", "this", "plugin", "using", "the", "'From", "URI", "List'", "option", "when", "importing.",
- "Please", "note", "that", "you", "should", "not", "attempt", "to", "copy", "the", "'passmgr.dat'", "from", "the", ".rockbox", "directory", "to", "another", "device.",
- "",
- "",
- "Encryption", "",
- "This", "plugin", "supports", "the", "optional", "encryption", "of", "account", "data", "while", "stored", "on", "disk.",
- "This", "feature", "is", "located", "under", "the", "'Advanced'", "menu", "option.",
- "Upon", "enabling", "this", "feature,", "you", "must", "enter", "an", "encryption", "password", "that", "will", "need", "to", "be", "entered", "each", "time", "the", "plugin", "starts", "up.",
- "It", "is", "recommended", "that", "you", "use", "a", "strong,", "alphanumeric", "password", "of", "at", "least", "8", "characters", "in", "order", "to", "frustrate", "attempts", "to", "guess", "the", "password.",
- "Be", "sure", "not", "to", "forget", "this", "password.",
- "In", "the", "event", "that", "the", "password", "is", "lost,", "it", "is", "nearly", "impossible", "to", "recover", "your", "account", "data.",
- "",
- "",
- "Implementation Details", "",
- "Account", "data", "is", "encrypted", "with", "128-bit", "AES", "encryption", "in", "counter", "mode.",
- "The", "key", "is", "derived", "from", "the", "your", "password", "and", "a", "nonce", "by", "using", "PBKDF2-HMAC-SHA1,", "with", "a", "variable", "number", "of", "iterations,", "calibrated", "by", "default", "to", "take", "250", "milliseconds.",
- "This", "parameter", "can", "be", "adjusted", "using", "the", "'Change", "KDF", "Delay'", "option", "under", "the", "'Encryption'", "submenu.",
- "The", "nonce", "is", "generated", "from", "the", "system's", "current", "tick", "and", "the", "real-time", "clock,", "if", "available,", "making", "collision", "unlikely.",
- "Some", "later-model", "iPods", "have", "a", "hardware", "AES", "core", "with", "a", "hardcoded,", "device-specific", "key", "that", "cannot", "easily", "be", "extracted.",
- "When", "available,", "the", "device-specific", "key", "is", "used", "to", "encrypt", "the", "actual", "encryption", "key,", "tying", "the", "ciphertext", "to", "the", "device,", "making", "a", "brute-force", "attack", "more", "difficult.",
- "One", "should", "note", "that", "this", "does", "not", "rely", "completely", "rely", "on", "the", "hardware", "encryption", "key,", "it", "merely", "utilizes", "it", "as", "part", "of", "defense", "in", "depth.",
- "",
- "",
- "Troubleshooting", "",
- "If", "time-based", "passwords", "and", "not", "working", "properly,", "ensure", "that", "your", "system", "clock", "is", "accurate", "to", "within", "30", "seconds", "of", "the", "authenticating", "server's", "clock,", "and", "that", "the", "proper", "time", "zone", "is", "configured", "within", "the", "plugin.",
- "Be", "sure", "to", "account", "for", "Daylight", "Savings", "Time,", "if", "applicable.",
- "",
- "",
- "Supported Features", "",
-#if !CONFIG_RTC
- "This", "device", "lacks", "a", "real-time", "clock,", "and", "thus", "time-based", "(TOTP)", "passwords", "are", "not", "supported.",
- "",
-#endif
-#if CONFIG_CPU == S5L8702 && !defined(SIMULATOR)
- "This", "device", "has", "a", "hardware", "AES", "core", "that", "will", "be", "used", "to", "further", "protect", "your", "data", "by", "tying", "it", "to", "this", "device.",
- "",
-#else
- "This", "device", "does", "not", "have", "a", "hardware", "AES", "core.",
- "The", "security", "of", "the", "encryption", "thus", "relies", "solely", "on", "your", "password.",
- "",
-#endif
-#ifdef USB_ENABLE_HID
- "This", "device", "has", "the", "ability", "to", "type", "passwords", "directly", "to", "a", "host", "computer", "over", "the", "USB", "connection.",
- "",
-#endif
- };
- struct style_text style[] = {
- { 0, TEXT_CENTER | TEXT_UNDERLINE },
- { 3, C_RED },
- { 50, C_RED },
- { 91, C_RED },
- { 127, C_RED },
- { 280, C_RED },
- { 468, C_RED },
- { 548, C_RED },
- { 644, C_RED },
- { 787, C_RED },
- { 835, C_RED },
- LAST_STYLE_ITEM
- };
-
display_text(ARRAYLEN(help_text), help_text, style, NULL, true);
}
@@ -2387,7 +2924,9 @@ static void acct_menu(char *title, void (*cb)(int acct))
{
rb->gui_synclist_draw(&list);
int button = rb->get_action(CONTEXT_LIST, TIMEOUT_BLOCK);
+
#ifdef USB_ENABLE_HID
+ /* ignore USB connections when in USB mode */
if(cb != type_code || button != SYS_USB_CONNECTED)
#endif
if (rb->gui_synclist_do_button(&list, &button, LIST_WRAP_ON))
@@ -2530,7 +3069,7 @@ enum plugin_status plugin_start(const void* parameter)
#ifdef USB_ENABLE_HID
"Type Password", // 1
#endif
- "Import Account(s)", // 1,2
+ "Add Account(s)", // 1,2
"Help", // 2,3
"Advanced", // 3,4
"Quit"); // 4,5
diff --git a/apps/plugins/passmgr/passmgr.make b/apps/plugins/passmgr/passmgr.make
index 341eb64..ee34783 100644
--- a/apps/plugins/passmgr/passmgr.make
+++ b/apps/plugins/passmgr/passmgr.make
@@ -18,10 +18,10 @@ PASSMGR_OBJ := $(call c2obj, $(PASSMGR_SRC))
# add source files to OTHER_SRC to get automatic dependencies
OTHER_SRC += $(PASSMGR_SRC)
-PASSMGRFLAGS = $(filter-out -O%,$(PLUGINFLAGS)) -O3
+PASSMGRFLAGS = $(filter-out -O%,$(PLUGINFLAGS)) -O2
$(PASSMGRBUILDDIR)/passmgr.rock: $(PASSMGR_OBJ)
$(PASSMGRBUILDDIR)/%.o: $(PASSMGRSRCDIR)/%.c $(PASSMGRSRCDIR)/passmgr.make
- $(SILENT)mkdir -p $(dir $@)
- $(call PRINTS,CC $(subst $(ROOTDIR)/,,$<))$(CC) -I$(dir $<) $(PASSMGRFLAGS) -c $< -o $@
+ $(SILENT)mkdir -p $(dir $@)
+ $(call PRINTS,CC $(subst $(ROOTDIR)/,,$<))$(CC) -I$(dir $<) $(PASSMGRFLAGS) -c $< -o $@
diff --git a/apps/plugins/passmgr/wordlist.c b/apps/plugins/passmgr/wordlist.c
index c87ec10..f38d261 100644
--- a/apps/plugins/passmgr/wordlist.c
+++ b/apps/plugins/passmgr/wordlist.c
@@ -1,3 +1,7876 @@
-const char *noun_list[] = { "abacus", "abase", "abbess", "abbey", "abbot", "abdicate", "abdomen", "abdominal", "abduction", "abed", "abet", "abeyance", "abhorrent", "abidance", "abject", "abjure", "able", "ablution", "abnegate", "abnormal", "abominate", "above", "abrade", "abrasion", "abridge", "abrogate", "abrupt", "abscess", "abscissa", "abscond", "absence", "absent", "absolute", "absolve", "absorb", "absorbed", "abstain", "abstruse", "absurd", "abundant", "abused", "abusive", "abut", "abyss", "academic", "academy", "accede", "acceded", "accedes", "accented", "accept", "accepted", "access", "accession", "accessory", "accident", "acclaim", "acclimate", "accompany", "accorded", "accordion", "accost", "accosts", "account", "accouter", "accredit", "accuracy", "accurate", "accursed", "accuse", "accusing", "accustom", "acerbity", "acetate", "acetic", "ache", "acid", "acidify", "ackee", "acme", "acoustic", "acquaint", "acquiesce", "acquire", "acquit", "acquittal", "acreage", "acreages", "acrid", "acrimony", "acrobat", "activate", "activist", "actuality", "actuary", "actuate", "acumen", "acute", "acutely", "adamant", "adaptable", "adapters", "added", "addendum", "addle", "addled", "address", "adduce", "adelgid", "adenoma", "adequate", "adhere", "adherence", "adherent", "adheres", "adhesion", "adieu", "adios", "adjacency", "adjacent", "adjudge", "adjunct", "adjutant", "admirals", "admonish", "ado", "adoration", "adorning", "adroit", "adulthood", "adumbrate", "advance", "advanced", "advancing", "advent", "adverse", "adversely", "adversity", "advert", "advisable", "adviser", "advisory", "advocacy", "advocate", "aerial", "aerobics", "aeronaut", "aerostat", "affable", "affect", "affected", "affiliate", "affinity", "affix", "afflict", "affluence", "affluent", "affront", "affronts", "afire", "afoot", "aforesaid", "afresh", "aft", "after", "afterward", "age", "aggravate", "aggregate", "aggress", "aggrieve", "aghast", "agile", "agility", "agitate", "agitated", "agitprop", "agnostic", "agog", "agonal", "agonized", "agrarian", "ague", "aid", "ailment", "aim", "airbag", "airfare", "airfield", "airspace", "airwaves", "airy", "akin", "alabaster", "alacrity", "albeit", "albino", "album", "alchemy", "alcohol", "alcove", "alder", "alderman", "alert", "algae", "algebra", "alias", "alien", "alienable", "alienate", "alike", "aliment", "alkali", "alkaline", "allay", "allege", "alleged", "allegory", "alleviate", "alley", "alleyway", "alliance", "allies", "allocate", "allot", "allotment", "allowed", "allude", "allusion", "allusive", "alluvion", "ally", "almanac", "almost", "alone", "aloof", "alpha", "alphabet", "altar", "alter", "altercate", "alternate", "although", "altitude", "alto", "altruism", "altruist", "amalgam", "amass", "amateur", "amatory", "amazed", "amber", "ambiguous", "ambitious", "ambrosia", "ambrosial", "ambulance", "ambulate", "ambush", "amenable", "amended", "amicable", "amish", "amity", "amongst", "amorous", "amorphous", "amount", "amour", "ampere", "ampersand", "amplified", "amplitude", "amply", "amputate", "amusement", "anagram", "analog", "analogous", "analogy", "analysed", "analyst", "analyze", "anarchy", "anathema", "anatomy", "ancestry", "anchor", "anchored", "ancient", "ancillary", "anecdote", "anemia", "anemic", "anew", "angel", "angelic", "angler", "angstrom", "anguish", "angular", "anhydrous", "animal", "animate", "anime", "animosity", "anklet", "annalist", "annals", "annex", "annexed", "annotate", "annual", "annuity", "anode", "anonymous", "another", "answer", "answering", "ante", "antecede", "antedate", "antenatal", "anterior", "anteroom", "anthem", "anthology", "antic", "antidote", "antilogy", "antiphon", "antiphony", "antipodes", "antiquary", "antiquate", "antique", "antitoxin", "antonym", "anxious", "anymore", "anyplace", "anything", "apart", "apathy", "aperitif", "aperture", "apex", "aphorism", "apiary", "apogee", "apology", "apostasy", "apostate", "apostle", "appall", "apparatus", "apparel", "apparent", "appeal", "appealed", "appease", "appellate", "append", "appertain", "appoint", "apposite", "appraise", "apprehend", "apprise", "approved", "aquarium", "aqueduct", "aqueous", "arachnid", "arb", "arbiter", "arbitrary", "arbitrate", "arbor", "arboreal", "arboretum", "arbs", "arcade", "arch", "archaic", "archaism", "archangel", "arched", "archetype", "archival", "archive", "archrival", "ardent", "ardor", "arid", "arise", "armada", "armament", "armature", "armful", "armistice", "armless", "armor", "armorers", "armory", "armrest", "arnica", "aroma", "around", "aroused", "arraign", "arrange", "arrant", "array", "arrayed", "arrear", "arrested", "arrival", "arrogant", "arrogate", "arrowing", "arsenate", "artery", "artful", "artifice", "artistry", "artless", "aryan", "ascendant", "ascension", "ascent", "ascetic", "ascribe", "asexual", "ashamed", "ashen", "ashore", "asiatic", "askance", "asking", "asperity", "aspirant", "aspire", "assailant", "assassin", "assault", "assay", "assent", "assertive", "assess", "assessor", "assets", "assiduous", "assignee", "associate", "assonance", "assonant", "assonate", "assuage", "assume", "assuredly", "asterisk", "asters", "asthma", "astronaut", "astute", "asylums", "atheism", "athirst", "athwart", "atomize", "atomizer", "atonal", "atone", "atonement", "atrocious", "atrocity", "attache", "attack", "attacked", "attain", "attend", "attest", "auburn", "auction", "auctions", "audacious", "audible", "audition", "auditory", "audits", "augment", "augur", "aura", "aural", "auricle", "auricular", "aurora", "auspice", "austere", "autarchy", "auteur", "authentic", "authority", "autocracy", "autocrat", "automaton", "autonomy", "autopsy", "autumn", "autumnal", "auxiliary", "avalanche", "avarice", "aver", "averse", "aversion", "avert", "aviaries", "aviary", "aviator", "avidity", "avidly", "avocation", "avow", "await", "awaits", "awaken", "awakened", "awards", "awash", "awesome", "awful", "awry", "aww", "axes", "axioms", "aye", "azalea", "azure", "babble", "babe", "baby", "babysit", "back", "backdrop", "backed", "backstop", "bacterium", "badger", "badgered", "baffle", "baffled", "bag", "bagel", "baggage", "baggier", "bagpipe", "bailiff", "bairn", "bait", "baize", "baked", "bakeware", "balancing", "baldly", "bale", "baleful", "ballad", "ballpark", "balm", "balsa", "balsam", "bamboo", "banal", "band", "banjo", "banned", "banquet", "banter", "baptisms", "baptize", "barbarian", "barbaric", "barbells", "barbeque", "barcarole", "barefoot", "bargain", "baritone", "barium", "bark", "barley", "barograph", "barometer", "barrages", "barrel", "barreled", "barrier", "barring", "barstool", "bask", "basket", "bass", "basso", "baste", "bastion", "batch", "bath", "bather", "baton", "batons", "battalion", "batten", "batter", "batting", "bauble", "bawl", "bawled", "bayonet", "beacon", "bead", "beaded", "beads", "bear", "bearer", "beatify", "beatitude", "beatnik", "beau", "becalm", "beck", "bedaub", "bedding", "bedeck", "bedlam", "bedside", "beep", "beeper", "befog", "before", "befriend", "befuddle", "beget", "beginner", "begrudge", "beguine", "behavior", "beheaded", "behemoth", "behest", "beholden", "belate", "belated", "belay", "belie", "believe", "belittle", "belle", "bellicose", "bellmen", "bellow", "belly", "beloved", "below", "bemoan", "bemoaned", "bench", "benched", "bended", "benefice", "benefit", "bengal", "benign", "benignant", "benignity", "benison", "bequeath", "bereave", "bereaved", "berth", "beseech", "beset", "besides", "besmear", "besmirch", "bespeak", "best", "bestial", "bestow", "bestrew", "bestride", "bethink", "betide", "betimes", "betrayed", "betroth", "betrothal", "better", "between", "betwixt", "bevel", "beveled", "bewilder", "bias", "bib", "bibulous", "bidding", "bide", "biennial", "bier", "bigamist", "bigamy", "biggie", "bight", "bigotry", "bike", "bilateral", "bile", "bilingual", "billfish", "billow", "billows", "billowy", "binding", "bingeing", "bio", "biograph", "biography", "biology", "biomes", "biped", "biryani", "bitter", "biz", "bizarre", "blab", "blabbing", "blackbird", "blacked", "blacklist", "blackness", "blank", "blanket", "blase", "blaspheme", "blatant", "blaze", "blazon", "bleak", "blemish", "blended", "blight", "blind", "blinded", "blink", "blipped", "blithe", "blitz", "blizzard", "blockade", "blocker", "blocking", "blond", "blonde", "bloodbath", "bloodied", "bloodily", "bloodline", "bloom", "bloomed", "blouses", "blousy", "blowhole", "blowtorch", "blue", "bluebird", "bluish", "blunder", "blunt", "blurb", "blurring", "blush", "bluster", "boards", "boatload", "boatswain", "boatyard", "bobble", "boded", "bodice", "bodily", "bog", "bogus", "bold", "bole", "bolero", "boll", "bolster", "bolts", "bomb", "bombard", "bombast", "bombings", "bomblets", "bombs", "bond", "bondsman", "boob", "boobs", "bookcase", "bookend", "bookmark", "bookworm", "boorish", "boost", "booster", "boot", "bootleg", "bordello", "bordering", "bore", "borers", "boring", "borough", "bosom", "boss", "botanical", "botanist", "botanize", "botany", "bothered", "bottles", "bottling", "bouffant", "bounce", "bouncing", "boundary", "bountiful", "bow", "bowel", "bowing", "bowl", "bowler", "boxing", "boxlike", "boxwood", "boycott", "brace", "brackets", "brae", "braggart", "brains", "brainwash", "branch", "brandish", "brassy", "bravado", "bravo", "brawl", "brawls", "brawny", "bray", "braze", "brazenly", "brazier", "breach", "breadth", "breakaway", "breakdown", "breaker", "breakfast", "breath", "breech", "breed", "brethren", "brevity", "bribery", "bridge", "bridle", "brief", "briefers", "briers", "brigade", "brigadier", "brigand", "brighten", "brightly", "brim", "brimstone", "brine", "bristle", "brittle", "broach", "broaches", "broadcast", "broader", "brochure", "brogan", "brogans", "brogue", "broil", "broiler", "brokerage", "brome", "bromine", "bronchus", "bronzers", "brooch", "brook", "broom", "broth", "brow", "browbeat", "brown", "brownie", "brownish", "bruised", "brushing", "brushy", "brusque", "bubble", "bubonic", "buck", "bucket", "buckled", "buff", "buffet", "buffeted", "buffoon", "bugging", "bugle", "build", "bulb", "bulbous", "bulging", "bulk", "bulldoze", "bulled", "bullets", "bullock", "bully", "bulrush", "bulwark", "bum", "bumper", "bumpers", "bumptious", "bumpy", "bunch", "bundle", "bunghole", "bungle", "bungled", "buoyancy", "buoyant", "burden", "bureau", "burger", "burgess", "burgher", "burgundy", "burlap", "burned", "burnet", "burnish", "burp", "burping", "burrows", "bursar", "busman", "bussed", "busses", "bust", "bustards", "busters", "bustier", "busting", "bustle", "busty", "busybody", "butcher", "butt", "butte", "buttered", "buttress", "buy", "buyouts", "buzzes", "byline", "cabal", "cabalism", "cabin", "cabinet", "cabriole", "cacao", "cacophony", "cactus", "caddies", "caddis", "caddy", "cadence", "cadenza", "cadet", "caitiff", "cajole", "cajolery", "calculus", "calf", "calibers", "calipers", "call", "called", "caller", "callosity", "callow", "calorie", "calumny", "came", "cameo", "camera", "camp", "campaign", "canadian", "canard", "canary", "candid", "candor", "canine", "canines", "canister", "cannon", "canny", "canon", "canonize", "canopy", "cant", "cantata", "canteen", "canto", "canvases", "canvass", "capable", "capably", "capacious", "capillary", "capital", "capo", "capon", "caprice", "capsizes", "caption", "captious", "captivate", "captor", "capture", "carbonate", "carbos", "carcass", "card", "cardiac", "cardinal", "care", "caret", "cargo", "cargoes", "caring", "carload", "carnage", "carnal", "carnival", "carotene", "carouse", "carped", "carpentry", "carpet", "carpeted", "carried", "carrion", "carrot", "cartilage", "cartload", "cartoons", "cartridge", "carve", "case", "cased", "caseload", "casement", "cases", "cashier", "cashmere", "casings", "cast", "caste", "castigate", "casting", "casual", "casualty", "cat", "cataclysm", "catalans", "catalyst", "catalyze", "cataract", "cathode", "catlike", "caucus", "caudal", "causal", "causally", "cause", "caused", "caustic", "cauterize", "caution", "caviar", "ceaseless", "cede", "celebrate", "celeriac", "cell", "cellar", "cenotaph", "censor", "census", "censuses", "cent", "centenary", "centrally", "centurion", "ceramic", "cereal", "cessation", "cession", "chafe", "chaff", "chagrin", "chain", "chair", "chalk", "chameleon", "champagne", "chancery", "channel", "chanting", "chaos", "chap", "chapel", "char", "charge", "charlatan", "charmed", "charming", "charred", "chasm", "chasten", "chastise", "chastity", "chasuble", "chateau", "chattel", "cheating", "check", "checkered", "checkup", "cheer", "cheerio", "cheesy", "cherished", "chervil", "chicano", "chick", "chief", "chieftain", "chiffon", "chill", "chilled", "chinaman", "ching", "chinooks", "chip", "chipmunk", "chipped", "chipping", "chirpy", "chisel", "chiseled", "chit", "chivalry", "chives", "choice", "choke", "cholera", "choleric", "choral", "christen", "chromatic", "chrome", "chromed", "chub", "chucking", "chuckle", "chug", "chump", "chunk", "chunky", "churlish", "churn", "cichlids", "cipher", "circular", "circulate", "citadel", "cite", "citizen", "civilize", "claim", "claimant", "claimed", "clambers", "clamorous", "clan", "clang", "clangor", "clank", "clap", "clarify", "clarion", "clasped", "clasping", "classic", "classify", "classroom", "classy", "clavicle", "claw", "clay", "clean", "cleansed", "clear", "clearance", "cleared", "clearing", "clearly", "cleaving", "clemency", "clement", "clergyman", "clique", "cloak", "clocks", "clockwork", "clogged", "cloister", "clomps", "cloned", "closer", "closeted", "closure", "clot", "clothe", "clothed", "clothier", "clouds", "cloudy", "clout", "clove", "cloying", "cluck", "clucks", "clue", "clumsier", "clumsy", "coagulant", "coagulate", "coalition", "coarsely", "coasted", "coat", "coated", "coax", "cob", "cobalt", "cobweb", "cocci", "cockpit", "coddle", "code", "codger", "codicil", "codify", "codon", "codpiece", "coerce", "coercion", "coercive", "coexist", "coffin", "cogent", "cognate", "cognizant", "cohere", "coherent", "cohesion", "cohesive", "cohost", "coifed", "coincide", "coined", "coital", "cold", "coldness", "coleus", "coliseum", "collapse", "collate", "colleague", "collector", "collegian", "collide", "collie", "collier", "collision", "colloquy", "collusion", "colon", "colossal", "colossus", "colt", "coltish", "columns", "comatose", "combat", "combated", "combed", "combers", "combine", "combos", "come", "comedic", "comedown", "comely", "comes", "comical", "commando", "commies", "commingle", "committal", "commodity", "commotion", "communist", "commute", "commuting", "compact", "company", "competent", "complain", "complex", "complexly", "compliant", "component", "comport", "compose", "composed", "composer", "compost", "composts", "composure", "compound", "compress", "comprise", "compute", "comrades", "con", "conative", "conceal", "concealed", "concede", "conceit", "conceive", "concerted", "concerto", "concierge", "concise", "concord", "concur", "condense", "conduce", "conducive", "conduit", "confer", "conferee", "confessor", "confetti", "confidant", "confide", "confident", "confine", "confluent", "conform", "confound", "confront", "confuse", "congeal", "congenial", "congest", "conjoin", "conjugal", "conjugate", "conjured", "connect", "connected", "connector", "connive", "connote", "connubial", "conquer", "conscious", "conscript", "consensus", "consent", "consign", "consignee", "consignor", "console", "consoled", "consonant", "consort", "conspire", "constable", "constancy", "constrict", "consul", "consulate", "contagion", "contains", "contender", "contessa", "contest", "continual", "contort", "contrail", "contrary", "contrite", "contrive", "control", "contumacy", "contuse", "contusion", "convene", "converge", "convert", "convex", "convivial", "convolute", "convolve", "convoy", "convulse", "cookbook", "cooked", "cookie", "cookout", "cool", "cooled", "cooperate", "coos", "coped", "copies", "copious", "copiously", "copout", "copped", "copper", "coquette", "cordon", "cork", "corkscrew", "corm", "corn", "cornered", "cornice", "cornmeal", "corollary", "coronet", "corporal", "corporate", "corporeal", "corps", "corpse", "corpulent", "corpuscle", "correctly", "correlate", "corrode", "corroded", "corrosion", "corrosive", "corrupted", "corset", "corseted", "cortical", "cosmetic", "cosmetics", "cosmic", "cosmogony", "cosmology", "cosmonaut", "cosmos", "countess", "couplers", "courage", "course", "courser", "courtesy", "cousin", "covenant", "cover", "covered", "covering", "covert", "covey", "cowardly", "cower", "cowled", "coxswain", "coy", "cozying", "crabs", "crack", "cracked", "cracker", "crackers", "crackpot", "craft", "crag", "cramp", "cramped", "crams", "cranberry", "cranium", "craps", "crapshoot", "crass", "crate", "craving", "craw", "crawly", "crazy", "creak", "cream", "creamery", "creaming", "creamy", "creator", "creche", "credence", "credible", "credibly", "credits", "credulous", "creed", "creep", "creepy", "crematory", "crescent", "cretan", "cretin", "crevasse", "crevice", "cribbage", "cried", "criers", "crimp", "crinkly", "crippled", "crippling", "crisped", "criteria", "criterion", "critical", "critique", "crocheted", "crockery", "crossbar", "crosshair", "crouched", "croup", "crow", "crowbar", "crowd", "crown", "crucible", "crude", "crudites", "cruelty", "cruise", "crumb", "crumpled", "crunch", "crunchy", "crusade", "crushed", "crusted", "crusts", "cry", "crybaby", "cub", "cube", "cubist", "cudgel", "cued", "cueing", "cuff", "culinary", "cull", "culpable", "culprit", "cultivar", "culture", "culvert", "cupful", "cupid", "cupidity", "curable", "curator", "curb", "cured", "curio", "curiously", "curl", "currency", "currently", "cursive", "cursor", "cursory", "curt", "curtail", "curtsy", "curve", "curved", "curving", "custards", "customer", "cutover", "cutting", "cuttings", "cycled", "cycling", "cycloid", "cygnet", "cynic", "cynical", "cynicism", "cynosure", "cyst", "dabbed", "dabs", "dagger", "daily", "dales", "dali", "dalliance", "dam", "dame", "dames", "damned", "damp", "dance", "dancing", "daring", "darkling", "darkly", "darling", "darn", "dashboard", "dashed", "dastard", "date", "dated", "dating", "datum", "dauber", "daunting", "dauntless", "daylight", "daypack", "daytime", "daywear", "dazed", "dazedly", "dazzle", "dazzled", "dba", "deadened", "deadlock", "deafening", "deal", "dearest", "dearth", "debase", "debatable", "debated", "debonair", "debrief", "debut", "decadence", "decagon", "decagram", "decaliter", "decalogue", "decameter", "decamp", "decapod", "decayed", "deceit", "deceitful", "deceive", "decency", "decent", "deception", "deceptive", "decide", "decides", "deciding", "deciduous", "decimal", "decimate", "decipher", "decisive", "decker", "decks", "decorate", "decorous", "decoy", "decoys", "decrease", "decreed", "decrepit", "decrying", "dedicate", "deduce", "deduces", "deed", "deep", "deepen", "deepens", "deer", "deface", "defalcate", "defame", "defamed", "defanged", "default", "defaults", "defective", "defendant", "defensive", "defer", "deference", "defiant", "deficient", "defiled", "definite", "deflate", "deflates", "deflect", "deforest", "deform", "deformed", "deformity", "defraud", "defray", "deft", "degrade", "degraded", "degrading", "dehydrate", "deified", "deify", "deign", "deist", "deists", "deity", "deject", "dejected", "dejection", "delay", "delayed", "delete", "delft", "deli", "delicacy", "delineate", "delirious", "delirium", "delivery", "delude", "deluge", "delusion", "demagogue", "demeanor", "demented", "demerit", "demise", "demo", "demolish", "demon", "demotic", "demulcent", "demur", "demurrage", "dendroid", "denial", "denizen", "denote", "denounce", "dented", "denude", "denuding", "deodorant", "depicted", "deplete", "deplore", "deploy", "deponent", "deport", "deposed", "depositor", "depot", "deprave", "deprecate", "depress", "depth", "deputy", "derby", "derelict", "deride", "derisible", "derision", "derive", "derives", "derrick", "derriere", "descent", "descry", "desert", "deserted", "deserved", "deserving", "desiccant", "designate", "designed", "desirous", "desist", "desktop", "desolate", "despair", "desperado", "desperate", "despite", "despond", "despot", "despotism", "dessert", "destiny", "destitute", "desultory", "detach", "deter", "deterrent", "detest", "detonator", "detract", "detriment", "detrude", "devastate", "develops", "deviance", "deviate", "device", "devices", "devilry", "deviltry", "devious", "devise", "devised", "devolve", "devout", "devoutly", "dexterity", "dhows", "diabolic", "diagnose", "diagnosis", "dial", "dialect", "dialed", "dialogue", "diarist", "diarists", "diarrhea", "diatomic", "diatribe", "dichotomy", "diction", "dictum", "didactic", "diddling", "diffident", "diffuse", "diffusion", "dignitary", "digraph", "digress", "dilate", "dilates", "dilatory", "dildos", "dilemma", "diligence", "dill", "dilute", "dimension", "dimly", "dims", "diner", "dinghies", "dinky", "dint", "diphthong", "diplomacy", "diplomat", "dipping", "direct", "directive", "direst", "dirtied", "disabled", "disagree", "disallow", "disappear", "disarm", "disarmed", "disavow", "disavowal", "disburden", "disburse", "discard", "discern", "disciple", "disclaim", "disco", "discolor", "discomfit", "discord", "discover", "discredit", "discreet", "disdain", "disembody", "disengage", "disfavor", "disfigure", "disgrace", "dish", "dishes", "dishonest", "disinfect", "dislocate", "dislodge", "dismal", "dismissal", "dismount", "disobeys", "disown", "disowned", "disparage", "disparity", "dispel", "dispirit", "displace", "displaced", "disposed", "disposer", "disputed", "disputes", "disquiet", "disregard", "disrepute", "disrobe", "disrupt", "dissect", "dissemble", "dissent", "dissever", "dissipate", "dissolute", "dissolve", "dissonant", "dissuade", "distance", "distant", "distemper", "distend", "distill", "distiller", "distort", "distorted", "distrain", "distrust", "disunion", "diurnal", "diver", "divergent", "diverse", "diversion", "diversity", "divert", "divest", "divide", "divided", "divider", "dividing", "divinely", "divinity", "divisible", "divisive", "divisor", "divulge", "dizzy", "docile", "docket", "dockside", "doctor", "doctorate", "document", "dodo", "doe", "doer", "doff", "dogfight", "doggedly", "doggie", "dogma", "dogmatic", "dogmatize", "dogsled", "dole", "doled", "doleful", "dolesome", "dollies", "dolor", "dolorous", "doltish", "dolts", "domain", "domicile", "dominance", "dominant", "dominate", "domineer", "donate", "donator", "donee", "donkey", "donor", "doodled", "doomsayer", "door", "doorpost", "dormant", "dorsal", "dosas", "dosed", "dotcom", "dotted", "double", "doublet", "doubling", "doubly", "doubt", "doubted", "doubter", "doughy", "dove", "down", "downer", "downgrade", "downplay", "downpour", "downward", "dowry", "doyen", "doyenne", "doze", "dozens", "dozes", "drabness", "drachma", "draft", "draftees", "drafty", "dragnet", "dragoon", "dragoons", "drain", "drainage", "dramatist", "dramatize", "drape", "drastic", "dream", "drearily", "drenches", "dress", "dressing", "dribble", "drill", "dripping", "drive", "driveway", "driving", "drizzle", "drone", "droning", "drool", "droopy", "droplet", "dropoff", "drought", "drowsy", "drudgery", "druids", "drummer", "drunk", "drunks", "dubbed", "dubious", "duckling", "ductile", "dud", "due", "duel", "duet", "dun", "dung", "dunk", "dupe", "duplex", "duplexer", "duplicity", "durance", "duration", "dusky", "dust", "duster", "dusting", "duteous", "dutiable", "dutiful", "dwarf", "dweeb", "dweller", "dwelling", "dwindle", "dyed", "dynamic", "dynamism", "dyne", "each", "eagerly", "eardrum", "eardrums", "earless", "earlier", "early", "earn", "earnest", "earplug", "earthwork", "eatable", "eave", "ebb", "ebullient", "eccentric", "ecclesia", "echo", "echoing", "eclipse", "ecliptic", "economize", "ecstasy", "ecstatic", "edible", "edict", "edify", "editorial", "educate", "educe", "efface", "effect", "effective", "effectual", "effete", "efficacy", "efficient", "effluvium", "effuse", "effusion", "egghead", "eggnog", "egoism", "egoist", "egotism", "egotist", "egregious", "egress", "egret", "eighteen", "eject", "ejecting", "ejector", "ejido", "ekes", "eland", "elapse", "elastics", "elbow", "eld", "elder", "elegy", "element", "elevation", "elicit", "eligible", "eliminate", "elite", "elixir", "ellagic", "elm", "elms", "elocution", "eloquence", "eloquent", "elucidate", "elude", "elusion", "elusive", "emaciate", "emanate", "embalmed", "embargo", "embark", "embarrass", "embedded", "embellish", "embezzle", "emblazon", "emblem", "embody", "embolden", "embolism", "embrace", "embroil", "emerge", "emergence", "emergent", "emeritus", "emigrant", "emigrate", "eminence", "eminent", "emit", "emitter", "emotions", "empathic", "emperor", "emphasis", "emphasize", "emphatic", "employed", "employee", "employer", "employs", "emporium", "empower", "empowers", "empty", "emulate", "emulated", "enact", "enamor", "encamp", "encased", "enchant", "enclave", "enclosed", "encomium", "encompass", "encore", "encourage", "encroach", "encumber", "endanger", "endear", "endeavor", "ended", "endemic", "endgame", "endlessly", "ends", "endue", "endurable", "endurance", "energetic", "enervate", "enfeeble", "engender", "engrave", "engraved", "engross", "engulfed", "enhance", "enhanced", "enigma", "enjoin", "enjoy", "enjoyment", "enkindle", "enlighten", "enlist", "enliven", "enmity", "ennoble", "enormity", "enormous", "enrage", "enrapture", "enriched", "enroll", "enshrine", "ensnare", "ensnared", "ensue", "ensuing", "entail", "entangle", "enthrall", "enthrone", "enthuse", "enticing", "entirety", "entitled", "entity", "entrails", "entrap", "entreaty", "entree", "entrench", "entrust", "entry", "entwine", "enumerate", "enviable", "envious", "envy", "envying", "ephemera", "epic", "epicure", "epicycle", "epidemic", "epidermis", "epigram", "epilogue", "epiphany", "episode", "episodic", "epitaph", "epithet", "epitome", "epizootic", "epoch", "epode", "eponym", "equaling", "equality", "equalize", "equate", "equitable", "equity", "equivocal", "eradicate", "erect", "errant", "erratic", "erroneous", "error", "erstwhile", "erudite", "erudition", "escapes", "escaping", "escarole", "eschew", "espionage", "espy", "esquire", "essayed", "essence", "essential", "esteemed", "esthetic", "estimable", "estrange", "estrogen", "estuary", "etcetera", "etch", "etiquette", "eugenic", "eulogize", "eulogy", "euphemism", "euphony", "eureka", "evade", "evanesce", "evasion", "even", "evensong", "event", "eventful", "eventual", "ever", "evergreen", "evert", "everyone", "evict", "eviction", "evidence", "evil", "evince", "evincing", "evoke", "evolution", "evolve", "evolves", "examiner", "excavate", "exceed", "excel", "excellent", "excels", "excepting", "excerpt", "excess", "excitable", "excitedly", "exclude", "excluded", "exclusion", "excretion", "excursion", "excusable", "excuse", "execrable", "executive", "executor", "exegesis", "exemplar", "exemplary", "exemplify", "exempt", "exempted", "exert", "exhale", "exhaled", "exhaust", "exhume", "exigency", "exigent", "existence", "existing", "exists", "exit", "exits", "exodus", "exonerate", "exorcise", "exotic", "expand", "expanse", "expansion", "expansive", "expect", "expected", "expedient", "expedite", "expend", "expense", "experts", "expiate", "expired", "explain", "explicate", "explicit", "explode", "exploding", "exploiter", "explosion", "explosive", "export", "exposure", "expulsion", "extant", "extempore", "extend", "extension", "extensive", "extensor", "extenuate", "exterior", "external", "extinct", "extol", "extort", "extortion", "extradite", "extremist", "extremity", "extricate", "extrude", "exuberant", "exurbs", "eyed", "eyelash", "eyelid", "eyesight", "fabled", "fables", "fabricate", "fabulous", "face", "faceless", "facelift", "facet", "facetious", "facial", "facile", "facility", "facsimile", "faction", "factious", "factual", "faculty", "fading", "fail", "faint", "fairly", "faith", "fake", "falcon", "fallacy", "fallback", "fallen", "fallible", "falling", "fallow", "family", "famine", "famish", "famished", "famous", "fanatic", "fancier", "fancies", "fanciless", "fancy", "fanfare", "fanned", "fannies", "far", "farm", "farming", "fart", "fashion", "fastball", "faster", "fatalism", "fathers", "fathom", "fatties", "fatuous", "faulty", "faun", "favor", "fawn", "fax", "faxes", "fealty", "fear", "feasible", "feasted", "feathered", "feature", "features", "febrile", "fecund", "federate", "fedora", "feeling", "feels", "feint", "felicity", "feline", "fell", "fellow", "felon", "felonious", "felony", "female", "feminine", "femoral", "fen", "fenced", "fencing", "fend", "fender", "fernery", "ferns", "ferocious", "ferocity", "ferry", "fervent", "fervid", "fervor", "fessed", "festal", "festive", "fetches", "fete", "fetus", "feudal", "feudalism", "fevers", "fez", "fiasco", "fibrotic", "fibs", "fickle", "fiction", "fiddler", "fidelity", "fiducial", "fief", "fiendish", "fiercely", "fifth", "fig", "figure", "filament", "filberts", "filers", "filet", "fill", "filmed", "filmy", "filtered", "filth", "final", "finale", "finales", "finality", "finally", "finance", "financial", "financier", "finery", "finesse", "finger", "finish", "finisher", "finite", "fireman", "fireplace", "fires", "firm", "first", "fiscal", "fishbone", "fishery", "fishes", "fissure", "fisting", "fit", "fitful", "fitted", "fix", "fixes", "fixture", "fizzles", "fjord", "flag", "flagpole", "flagrant", "flags", "flame", "flamed", "flanker", "flare", "flared", "flash", "flasher", "flatboat", "flaunted", "flavor", "flawless", "fleck", "flection", "fledged", "fledgling", "fleece", "fleeting", "fleshing", "flexible", "flicked", "flicks", "flimsy", "flippant", "flirts", "flit", "floating", "flocked", "floe", "flogged", "floods", "floozie", "flora", "floral", "florid", "florist", "flout", "flowing", "flu", "fluctuate", "flue", "fluent", "fluential", "fluffier", "fluidly", "fluke", "flunk", "flush", "fluted", "flutist", "flux", "fly", "flyer", "focal", "focally", "focus", "foe", "fog", "foggy", "foible", "foist", "folds", "foliage", "folic", "folio", "fond", "fondle", "fondly", "fondness", "foolery", "foolishly", "foolproof", "footed", "foothill", "footless", "footloose", "footprint", "footrest", "foppery", "foppish", "foray", "forby", "forces", "forcible", "fore", "forearm", "forebear", "forebode", "forecast", "foreclose", "forecourt", "forego", "forehead", "foreign", "foreigner", "forejudge", "foreman", "forepeak", "foreplay", "forerun", "foresail", "foresee", "foreshore", "foresight", "forestry", "forests", "foretell", "foretold", "forever", "foreword", "forfeit", "forfend", "forger", "forgery", "forget", "forgiving", "forgo", "fork", "forkful", "forklift", "format", "formation", "former", "formula", "forsakes", "forswear", "fort", "forte", "forth", "fortify", "fortitude", "fortnight", "forum", "forwards", "fostered", "fourfold", "foursome", "fourth", "fracture", "fragile", "frail", "frailty", "frame", "franchise", "frantic", "frat", "fraternal", "fraud", "fraught", "fray", "frazzle", "freak", "freaking", "freakish", "freaks", "free", "freed", "freelance", "freely", "freemason", "freeplay", "freesia", "freezer", "freight", "frenetic", "frequency", "fresco", "freshness", "fret", "fretful", "fries", "frigging", "fright", "frighten", "frightful", "frigid", "frilled", "frills", "fringe", "frivolity", "frivolous", "frizz", "frizzle", "frizzy", "frontier", "frostbite", "frowzy", "froze", "frozen", "frugal", "frugally", "fruiting", "fruition", "fruity", "frying", "fueled", "fugacious", "fulcrum", "fulminate", "fulsome", "fume", "fumigate", "funds", "funereal", "fungible", "fungous", "fungus", "funk", "funkiest", "funnies", "funny", "furbish", "furious", "furled", "furlong", "furlough", "furnish", "furrier", "further", "furtive", "fusarium", "fuse", "fusible", "fusillade", "fussed", "futile", "futurist", "gabbling", "gabled", "gaffer", "gagged", "gaggle", "gaiety", "gaily", "gained", "gaining", "gait", "gala", "gale", "gallant", "gallantly", "galore", "galvanic", "galvanism", "galvanize", "gamble", "gambol", "game", "gamebird", "gamester", "gamine", "gaming", "gamut", "gardens", "gargle", "garish", "garland", "garlic", "garlicky", "garner", "garnish", "garrison", "garrote", "garrulous", "gaseous", "gastric", "gastritis", "gather", "gathered", "gaudiest", "gaudy", "gauge", "gauges", "gawk", "gawks", "gay", "geared", "geezer", "gemsbok", "gendarme", "genealogy", "generally", "generate", "generic", "genesis", "genetics", "geniality", "genital", "genitive", "genomes", "genteel", "gentile", "gentle", "gentry", "genuine", "geology", "germane", "germinate", "gestalt", "gestation", "gesture", "gestured", "getaway", "geyser", "ghastly", "gherkin", "ghosting", "ghoulish", "giant", "gibbous", "gibe", "giddy", "gift", "gigantic", "ginseng", "girdle", "girlie", "git", "give", "given", "giver", "giving", "glacial", "glacier", "gladden", "gladioli", "glanced", "glances", "glassware", "glazier", "gleam", "glen", "glided", "glimmer", "glimpse", "glints", "glioma", "glittery", "globes", "globose", "globular", "globules", "gloom", "gloried", "glorify", "glorious", "glory", "glow", "glut", "glutinous", "glycemic", "gnash", "goalpost", "goat", "goatee", "goats", "gobble", "godly", "gold", "golly", "goodbye", "goodie", "goofily", "gook", "gopher", "gordian", "gorge", "gory", "gosling", "goslings", "gossamer", "gourd", "gourmand", "gown", "graceless", "gradation", "grade", "graded", "graders", "gradient", "gradual", "graffiti", "grail", "granary", "grand", "grandeur", "grandiose", "grandmom", "grandpa", "granny", "grantee", "grantor", "granular", "granulate", "granule", "grape", "graph", "graphic", "grapple", "grasp", "grasping", "grassy", "gratify", "gratuity", "gravelly", "gravity", "grayed", "graying", "greasier", "green", "greenback", "greeter", "grenadier", "greying", "greyness", "gridlike", "grief", "grievance", "grievous", "grimace", "grind", "grins", "grip", "gripes", "gripped", "grisly", "grit", "groggy", "groom", "groomers", "grope", "groped", "grotesque", "grotto", "ground", "grounding", "group", "grouping", "grousing", "growls", "growths", "grudge", "grueling", "grumble", "grumbled", "grumbling", "grumpy", "grungy", "guard", "guardrail", "guerrilla", "guess", "guessing", "guidance", "guidebook", "guided", "guile", "guileless", "guilty", "guinea", "guise", "gullible", "gumbo", "gummed", "gumption", "gunfight", "gunmetal", "gunships", "gunshot", "gunshots", "gurney", "gust", "gusto", "gusty", "gutter", "guy", "guzzle", "gym", "gyrate", "gyrating", "gyre", "gyroscope", "habitable", "habitant", "habitual", "habitude", "hack", "hackle", "hackney", "hackwork", "haggard", "haggling", "hair", "hairline", "hairpin", "hairy", "halcyon", "hale", "halfback", "halibut", "hallowed", "hammer", "hammering", "hamming", "hamper", "hampers", "handbag", "handball", "handedly", "handily", "handling", "handmade", "handout", "handy", "handyman", "hang", "hanger", "hanker", "hankering", "haole", "happened", "harangue", "harass", "harbinger", "harbour", "hardening", "hardier", "hardihood", "hardly", "harm", "harmless", "harness", "harvest", "harvests", "hashed", "hassle", "hassling", "hastily", "hasty", "hat", "hatch", "hater", "hatless", "haunt", "have", "havoc", "haw", "hawker", "hawking", "hawkish", "hawthorn", "hazard", "hazardous", "haziness", "head", "headed", "headland", "headrest", "heads", "headship", "heady", "heal", "healed", "healthful", "hearken", "hearsay", "hearted", "hearten", "heartless", "heated", "heathen", "heavy", "hectares", "hedge", "hedges", "heedless", "heifer", "height", "heinie", "heinous", "heist", "helicity", "hellcat", "helm", "helo", "helpful", "hen", "henchman", "henpeck", "heptagon", "heptarchy", "her", "herbarium", "hereby", "heredity", "heresy", "heretic", "herewith", "heritage", "hernia", "heroic", "herstory", "hesitancy", "hesitant", "hetero", "heterodox", "hexagon", "hexapod", "heyday", "hiatus", "hibernal", "hickory", "hideaway", "hideous", "hie", "high", "higher", "hightail", "hiker", "hilarious", "hillbilly", "hillock", "hillside", "hinder", "hindmost", "hindrance", "hint", "hints", "hippest", "hirsute", "his", "hissy", "history", "hitherto", "hive", "hmong", "hoard", "hoarse", "hobbit", "hobnob", "hock", "hockey", "hog", "holdover", "hole", "hollowed", "hollowly", "homage", "home", "homed", "homely", "homemade", "homemaker", "homespun", "homework", "homily", "homonym", "homophone", "homos", "honoree", "honorific", "hood", "hoodwink", "hook", "hooks", "hoot", "hopeless", "hopscotch", "horde", "hornless", "horny", "horribly", "hosed", "hosiery", "hosing", "hospice", "host", "hostility", "hot", "hotline", "howitzer", "huckster", "huddled", "huff", "huffed", "hum", "human", "humane", "humanize", "humbling", "humbug", "humiliate", "humming", "hummocks", "humorless", "humping", "hunch", "hunger", "hungry", "hunk", "hunks", "hunt", "hunts", "hurdle", "hurdler", "hurt", "hurting", "hurtle", "husband", "hussar", "hustle", "hustled", "hustlers", "hybrid", "hydra", "hydraulic", "hydride", "hydrous", "hygiene", "hygienist", "hyphal", "hypnosis", "hypnotic", "hypnotism", "hypnotize", "hypocrisy", "hypocrite", "hysteria", "icebox", "icecream", "iceman", "ichthyic", "icily", "iciness", "icon", "icy", "ideal", "idealize", "identify", "idiom", "idolize", "idylls", "ignoble", "ignore", "ignored", "iguana", "ill", "illegal", "illegible", "illiberal", "illicit", "illiquid", "illness", "illogical", "illumine", "illusion", "illusive", "illusory", "image", "imaginary", "imagine", "imago", "imbalance", "imbibe", "imbroglio", "imbrue", "imitation", "imitator", "immature", "immense", "immensity", "immerse", "immersion", "immigrant", "immigrate", "imminence", "imminent", "immodest", "immoral", "immovable", "immune", "immutable", "impact", "impair", "impaired", "impale", "impaling", "impartial", "impassive", "impatient", "impede", "impedes", "impel", "impend", "imperil", "imperiled", "imperious", "impetuous", "impetus", "impiety", "impinges", "impious", "impliable", "implicate", "implicit", "implode", "implore", "imply", "impolite", "impolitic", "important", "importune", "imposed", "impotent", "imprints", "impromptu", "improper", "improved", "improvise", "imprudent", "impudence", "impugn", "impulse", "impulsion", "impulsive", "impunity", "impure", "impurity", "impute", "inability", "inactive", "inane", "inanimate", "inapt", "inaudible", "inboard", "inborn", "inbred", "incentive", "inception", "inceptive", "incessant", "inchmeal", "inchoate", "incidence", "incident", "incipient", "incise", "incisor", "incite", "inciting", "include", "included", "incorrect", "increment", "indelible", "indepth", "index", "indians", "indicant", "indicator", "indict", "indigence", "indigent", "indignant", "indignity", "indolence", "indolent", "indoors", "induct", "induction", "indulgent", "inebriate", "inedible", "ineffable", "inept", "inequity", "inert", "inertia", "infamous", "infamy", "infancy", "infected", "inference", "inferior", "infernal", "infest", "infidel", "infinite", "infinity", "infirm", "infirmary", "infirmity", "inflamed", "inflects", "influence", "influx", "informant", "infringe", "infuse", "infusion", "ingenious", "ingenuity", "ingenuous", "ingraft", "ingrate", "inhabited", "inherence", "inherent", "inhibit", "inhuman", "inhume", "inimical", "iniquity", "initial", "initiate", "inject", "injustice", "inkling", "inky", "inland", "inlay", "inlet", "inmost", "innards", "innocuous", "innovate", "innuendo", "inquire", "inquiry", "inroad", "inroads", "inscribe", "insecure", "insertion", "inside", "insidious", "insight", "insinuate", "insipid", "insistent", "insolence", "insolent", "insomnia", "insomniac", "inspect", "inspector", "inspiring", "instance", "instant", "instigate", "instill", "insular", "insulate", "insult", "insulted", "insure", "insured", "insurgent", "intake", "integrity", "intellect", "intensely", "intension", "intensive", "intention", "interact", "intercede", "intercept", "interdict", "interface", "interim", "interior", "interlude", "intermit", "intermix", "interplay", "interpose", "interpret", "interrupt", "intersect", "interval", "intervale", "intervene", "interview", "intestacy", "intestate", "intestine", "intimacy", "intrepid", "intricacy", "intricate", "intrigue", "intrinsic", "intromit", "introvert", "intrude", "intrusion", "intrusive", "intubate", "intuition", "inundate", "inure", "invades", "invalid", "invasion", "invective", "inveigh", "inventive", "inverse", "inversion", "invert", "investing", "investor", "invidious", "invitee", "invoke", "involve", "inward", "inwardly", "ionized", "iota", "ipods", "irascible", "irate", "ire", "irk", "irksome", "ironclad", "ironed", "ironing", "irony", "irradiate", "irrigant", "irrigate", "irritable", "irritancy", "irritant", "irritate", "irruption", "isle", "islet", "isobar", "isolate", "isolated", "issuers", "issuing", "italic", "itch", "itches", "itemized", "itinerant", "itinerary", "itinerate", "jab", "jacked", "jail", "jailing", "jangle", "jar", "jargon", "jarring", "jaundice", "jauntily", "jawed", "jazz", "jazzy", "jealousy", "jeans", "jelly", "jested", "jewel", "jibe", "jiffy", "jiggle", "jiggles", "jigs", "jilted", "jingled", "jingoism", "jinx", "jockey", "jocks", "jocose", "jocular", "jogger", "joggle", "join", "joining", "joins", "joke", "jolly", "jostle", "jot", "joust", "jousting", "jovial", "juche", "judgment", "judicial", "judiciary", "judicious", "juggle", "jugglery", "jugular", "juice", "juicy", "juke", "jumble", "jumbled", "jump", "jumpsuit", "junction", "juncture", "junior", "juniper", "junker", "junket", "junky", "junta", "juntas", "juridical", "juristic", "juror", "jutting", "juvenile", "juxtapose", "kales", "kaput", "karate", "karma", "keen", "keeps", "keepsake", "kerchief", "kernel", "kerygma", "keystone", "khaki", "khakis", "kibbles", "kickball", "killing", "kiln", "kiloliter", "kilometer", "kilowatt", "kilted", "kimono", "kind", "kingling", "kingship", "kinking", "kinks", "kinsfolk", "kinsman", "kirtle", "kissed", "kitty", "knavery", "knead", "kneecaps", "kneejerk", "knife", "knight", "knitting", "knocked", "knot", "knotty", "knower", "knowingly", "knowledge", "knuckled", "kumbaya", "labeled", "labelled", "labial", "laborious", "labyrinth", "lace", "lacerate", "lack", "lactation", "lacteal", "lactic", "laddie", "ladle", "ladybugs", "laggard", "lags", "laid", "lake", "lambast", "lame", "lance", "landform", "landlord", "landmark", "landscape", "languid", "languor", "lap", "lapdog", "lapel", "lapse", "larder", "larders", "lark", "lash", "lashed", "lassie", "lassies", "lately", "latency", "latent", "later", "lateral", "latish", "lattice", "laud", "laudable", "laudation", "laudatory", "laughably", "laundress", "laureate", "lave", "lavish", "law", "lawfully", "lawgiver", "lawmaker", "lawsuit", "lax", "laxative", "lay", "laydown", "layman", "laze", "laziness", "lazy", "lea", "leadeth", "leaflet", "leafy", "leak", "leaked", "leaker", "leakers", "leaky", "leapers", "least", "leaven", "leaver", "lebanese", "leech", "leeward", "leftism", "legacy", "legalize", "legalized", "legally", "legging", "legible", "legionary", "legislate", "legume", "leisure", "lend", "lenders", "leniency", "lenient", "lens", "leonine", "leopard", "leprosy", "less", "lessen", "lest", "lethargy", "lettered", "leukemia", "levee", "lever", "leverage", "leviathan", "levity", "levy", "lewd", "lexicon", "liable", "liaisons", "libel", "liberal", "liberate", "librarian", "library", "licensed", "licit", "lick", "licorice", "liege", "lien", "lies", "lieu", "lifeless", "lifelike", "lifelong", "lifes", "lifetime", "ligament", "ligature", "light", "lightbulb", "lighter", "ligneous", "lik", "like", "likely", "liken", "likened", "likewise", "liking", "lilt", "liminal", "limousine", "limp", "limply", "limpness", "limps", "linear", "liner", "lingered", "lingo", "lingua", "lingual", "linguist", "liniment", "linseed", "lip", "liquefy", "liqueur", "liquidate", "liquor", "listed", "listen", "listened", "listless", "lite", "literacy", "literal", "literally", "literary", "lithe", "lithesome", "lithotype", "litigant", "litigate", "litigious", "litter", "littoral", "liturgy", "live", "liven", "livened", "liver", "livid", "loaf", "loam", "loamy", "loans", "loath", "loathe", "lobotomy", "local", "localized", "located", "locative", "loch", "loci", "lockers", "lockouts", "locks", "lode", "lodge", "lodgepole", "lodgers", "lodgment", "lofty", "logger", "logic", "logical", "logically", "logician", "loiterer", "lollipop", "long", "longer", "longevity", "longingly", "longitude", "looked", "loosely", "loosen", "loot", "lopping", "lordling", "lore", "losing", "loss", "lot", "lotus", "lough", "lounge", "lounges", "louse", "lousy", "lout", "louts", "lovable", "lovably", "loveable", "lovelorn", "loving", "lower", "lowly", "loyalist", "loyally", "loyalty", "lubricate", "lucid", "lucrative", "ludicrous", "lug", "lugged", "lukewarm", "lull", "lumber", "luminary", "luminous", "lunacy", "lunar", "lunatic", "lunch", "lune", "lupine", "lupines", "lurid", "lurking", "luscious", "lustful", "lustrous", "luxuriant", "luxuriate", "luxury", "lye", "lying", "lynch", "lyre", "lyres", "lyric", "ma'am", "machinery", "machinist", "mackerel", "macrocosm", "madden", "maestro", "magenta", "magic", "magical", "magician", "maglev", "magnate", "magnet", "magnetize", "magnitude", "maharaja", "mailbox", "mailing", "main", "mainline", "maintain", "maize", "makeshift", "makeup", "malady", "malaria", "malawian", "malay", "malign", "malignant", "malleable", "mallet", "malt", "malted", "maltreat", "mambo", "mammoth", "managed", "mandarin", "mandate", "mandated", "mandatory", "mane", "maneuver", "manger", "mangled", "mangos", "mangy", "manhole", "manhunt", "mania", "maniac", "manifest", "manifesto", "manlike", "manliness", "manna", "manned", "mannerism", "manor", "mans", "mantel", "mantle", "manumit", "map", "mappings", "marble", "marbled", "march", "marchers", "marijuana", "marinade", "marine", "maritime", "marked", "markers", "markings", "marksman", "marmalade", "maroon", "married", "marry", "martial", "martian", "martinis", "martyrdom", "marvel", "marxism", "mascara", "masked", "masonry", "massacre", "massage", "masses", "masseurs", "massive", "mastery", "mastiffs", "mastoid", "matched", "material", "maternal", "maternity", "matinee", "matricide", "matrimony", "matrix", "matter", "mature", "maudlin", "mausoleum", "maverick", "mawkish", "maxim", "maximize", "may", "maze", "mead", "meager", "meagerly", "mean", "meander", "meanies", "means", "measured", "measures", "mechanics", "medallion", "meddling", "medial", "mediate", "medicate", "medicine", "medieval", "mediocre", "meditate", "medium", "medley", "meek", "melded", "meliorate", "mellow", "melodious", "melodrama", "melted", "memento", "memorable", "men", "menace", "menagerie", "mend", "mendicant", "menfolk", "mental", "mentality", "mentally", "menthol", "mention", "mentor", "mentored", "mercenary", "merciful", "merciless", "mere", "merge", "merited", "mesmerize", "messed", "messieurs", "messing", "mestizo", "metal", "metaphor", "mete", "metonymy", "metric", "metronome", "mettle", "micro", "microchip", "microcosm", "middleman", "midges", "midlife", "midline", "midpoint", "midriff", "midriffs", "midsole", "midsummer", "midwife", "mien", "might", "mignon", "migrant", "migrate", "migration", "migratory", "mikes", "mil", "mileage", "miles", "milieu", "militant", "militate", "militia", "milk", "milking", "milky", "millet", "milling", "millionth", "mime", "mimic", "mimics", "minaret", "minces", "mind", "mindless", "mined", "mineral", "mingle", "miniature", "minimize", "minion", "ministry", "minivans", "minority", "minuet", "minus", "minute", "minutia", "mirage", "misbehave", "miscount", "miscreant", "misdeed", "miser", "miserly", "misfire", "misfit", "mishap", "mishmash", "mislaid", "mislay", "mismanage", "misnomer", "misogamy", "misogyny", "misplace", "misplaced", "misrule", "missal", "missile", "missive", "mistily", "mistrust", "misty", "misuse", "mite", "miter", "mitigate", "mixed", "mixture", "mnemonics", "moat", "mobocracy", "moccasin", "mocha", "mock", "mockery", "model", "moderate", "moderator", "modernity", "modernize", "modify", "modish", "modulate", "moduli", "moistly", "molar", "molecule", "molehill", "mollify", "molt", "momentary", "momentous", "momentum", "monarch", "monarchy", "monastery", "monetary", "monger", "mongrel", "monied", "monition", "monitory", "monks", "monocracy", "monogamy", "monogram", "monograph", "monolith", "monologue", "monomania", "monopoly", "monotone", "monotony", "monsieur", "monsoon", "monster", "mood", "moonbeam", "moonlit", "moored", "mooring", "mop", "moral", "morale", "moralist", "morality", "moralize", "moray", "morbid", "mordant", "more", "moreover", "morgue", "moribund", "mormon", "morn", "morning", "morose", "morph", "morsel", "mortar", "mortician", "mortise", "mosaic", "moslems", "motley", "motor", "motorcar", "motorist", "motto", "mound", "mounted", "mounting", "mourn", "mournful", "mouser", "mouth", "mouthed", "mouthful", "mouton", "move", "movement", "mower", "muddle", "muddled", "muffle", "muffler", "mug", "mulatto", "muleteer", "mull", "mullah", "multiform", "multiplex", "multiply", "mundane", "municipal", "murres", "muscle", "music", "musicale", "musically", "muskie", "mussels", "mustache", "muster", "mutagens", "mutation", "mute", "muted", "mutilate", "mutilated", "mutiny", "muzzling", "myriad", "mystic", "mystical", "myth", "mythology", "nabbed", "naked", "nameless", "namibian", "naming", "nanny", "nap", "naphtha", "narcos", "narrate", "narration", "narrative", "narrator", "narrow", "narrowed", "narrowly", "nasal", "nascent", "natal", "national", "native", "natty", "naturally", "naught", "naughty", "nausea", "nauseate", "nauseous", "nautical", "naval", "nave", "navel", "navies", "navigable", "navigate", "nay", "nearing", "nearside", "neaten", "neatnik", "nebula", "necessary", "necessity", "neck", "necklace", "necktie", "necrology", "necropsy", "necrosis", "nectar", "nectarine", "needed", "needy", "nefarious", "negate", "negation", "negligee", "negligent", "neighbor", "neocracy", "neology", "neophyte", "nerdy", "nestle", "nestled", "nestling", "nests", "net", "netball", "nettle", "network", "neural", "neurology", "neuter", "neutered", "neutral", "newborn", "newcomer", "news", "newsman", "newsstand", "next", "nexus", "nicety", "nicked", "nigerian", "niggardly", "nightmare", "nihilist", "nil", "nimble", "nine", "nit", "nitrate", "nitride", "nobody", "nocked", "nocturnal", "noise", "noiseless", "noisome", "noisy", "nomad", "nomads", "nomic", "nominal", "nominate", "nominee", "nonentity", "nonfarm", "nonmember", "nonpareil", "nonsense", "nonstop", "noon", "noose", "nope", "norm", "normalcy", "normally", "norse", "northern", "nosegay", "nostalgia", "nostalgic", "nostrum", "not", "notch", "notched", "nothing", "notion", "notorious", "novelty", "novice", "nowadays", "nowhere", "noxious", "nuance", "nub", "nubbly", "nubians", "nucleon", "nucleus", "nude", "nudge", "nudity", "nugatory", "nuggets", "nuisance", "nuking", "numeracy", "numerical", "numerous", "nunnery", "nuptial", "nurse", "nurture", "nurtured", "nutriment", "nutritive", "nuttier", "oaken", "oaks", "oakum", "oar", "obdurate", "obeisance", "obelisk", "obese", "obesity", "obey", "obituary", "objection", "objective", "objector", "obligate", "oblique", "oblivion", "oblong", "obnoxious", "obsequies", "observant", "obsolete", "obstinacy", "obstruct", "obtrude", "obtrusive", "obtuse", "obvert", "obviate", "occasion", "occlude", "occult", "occupant", "occupied", "occur", "oceanic", "ochre", "octagon", "octave", "octavo", "octet", "ocular", "oculist", "oddballs", "oddity", "ode", "odious", "odium", "odorants", "odorous", "oeuvre", "off", "offed", "offended", "offensive", "offhand", "officiate", "officious", "offload", "offshoot", "offsides", "ogre", "oil", "oiled", "ointment", "okapi", "okay", "oke", "oldie", "oldies", "olfactory", "omega", "omelette", "omen", "omicron", "ominous", "omission", "once", "oncology", "onerous", "ongoing", "onion", "online", "onrush", "onset", "onslaught", "onstage", "onus", "ooze", "opals", "opaque", "open", "opened", "openness", "operant", "operate", "operative", "operator", "operetta", "opinion", "opinions", "opium", "opponent", "opportune", "opposing", "opposite", "oppress", "optic", "optician", "optics", "optimism", "optimist", "option", "optometry", "opulence", "opulent", "oracular", "oral", "orange", "orate", "oration", "orator", "oratorio", "oratory", "orb", "orbiting", "ordains", "ordeal", "order", "ordinal", "ordinary", "ordnance", "ore", "orgies", "origin", "original", "originate", "ornate", "ornately", "orphanage", "orthodox", "orthodoxy", "oscillate", "osculate", "osmosis", "osprey", "ossify", "ostracism", "ostracize", "ostrich", "other", "others", "otter", "ought", "oust", "out", "outback", "outbreak", "outburst", "outcast", "outcome", "outcry", "outdo", "outdoor", "outfit", "outfox", "outlast", "outlasts", "outlaw", "outlawed", "outlay", "outlive", "outpaced", "outpost", "outrage", "outraged", "outreach", "outride", "outrigger", "outright", "outset", "outside", "outskirt", "outstrip", "outward", "outweigh", "oval", "ovary", "over", "overcome", "overdo", "overdose", "overeat", "overhang", "overhead", "overjoyed", "overlap", "overleap", "overload", "overlook", "overlord", "overpass", "overpay", "overpower", "overreach", "overrun", "oversee", "overseer", "oversold", "overtax", "overthrow", "overtime", "overtone", "overtook", "overture", "overview", "owner", "pacify", "package", "packet", "pact", "padding", "paddle", "pagan", "pageant", "paid", "pain", "painfully", "painting", "pair", "palate", "palatial", "palest", "palette", "palinode", "pall", "pallet", "palliate", "pallid", "palm", "palpable", "palsy", "paly", "pamper", "pamphlet", "panacea", "pandemic", "panegyric", "panel", "pangs", "panic", "panicky", "panoply", "panoptic", "panorama", "pantheism", "pantomime", "papacy", "papists", "papyri", "papyrus", "par", "parable", "parabolic", "parachute", "paradise", "paradox", "paragon", "parallel", "paralysis", "paralyze", "paramount", "paramour", "paranoid", "parasite", "parched", "pardons", "pare", "parentage", "parenting", "pares", "parfaits", "parietal", "parish", "parisian", "parities", "parity", "parlance", "parlay", "parley", "parlor", "parody", "paroxysm", "parricide", "parrot", "parry", "parse", "parsing", "part", "partible", "partisan", "partition", "parts", "pass", "passible", "passing", "passive", "past", "pastoral", "pat", "patched", "patent", "paternal", "paternity", "pathos", "patiently", "patina", "patriarch", "patrician", "patrimony", "patriot", "patriots", "patronize", "patter", "patting", "paucity", "pauper", "pauperism", "pave", "pavilion", "pawn", "pawned", "pawnshop", "payable", "payee", "peaceable", "peaceful", "pearl", "pec", "peccable", "peccant", "pectoral", "pecuniary", "pedagogue", "pedagogy", "pedal", "pedant", "peddle", "peddler", "pedestal", "pedigree", "peek", "peeks", "peels", "peep", "peer", "peerage", "peerless", "peeve", "peeved", "peeves", "peevish", "peg", "pegboard", "pelagic", "pellagra", "pellucid", "penalty", "penance", "penchant", "pendant", "pendants", "pending", "pendulous", "pendulum", "penetrate", "penitence", "penitent", "pennant", "penned", "pension", "pentad", "pentagon", "pentagram", "penthouse", "penurious", "penury", "peopled", "per", "perceive", "percolate", "perennial", "perfidy", "perforate", "perform", "perfumery", "perhaps", "perigee", "perineal", "perjure", "perjury", "permanent", "permeate", "permit", "peroxide", "perp", "persevere", "persist", "personage", "personal", "personify", "personnel", "perspire", "persuade", "pertinent", "perturb", "perusal", "pervade", "pervasion", "pervasive", "perverse", "pervert", "pervious", "pesky", "pestilent", "peter", "petrify", "petty", "petulance", "petulant", "pewter", "pharmacy", "phase", "philander", "philately", "philology", "phonemic", "phonetic", "phonic", "phonogram", "phonology", "phony", "physicist", "physics", "physique", "pianists", "pianos", "piazzas", "picayune", "piccolo", "picked", "picket", "picky", "piddling", "piece", "piecemeal", "pier", "piercing", "piety", "pig", "pigeon", "pile", "pillage", "pillaged", "pillar", "pillbox", "pillory", "pillowy", "pilot", "pimp", "pimped", "pin", "pincers", "pinchers", "pine", "pinecone", "pinheads", "pinions", "pinker", "pinnacle", "pinochle", "pinot", "pinstripe", "pinup", "pioneer", "pious", "pipa", "pipe", "pipefish", "piping", "pique", "piracy", "piranha", "piss", "pissing", "piste", "pistils", "pistol", "piston", "pitch", "pitchers", "pitching", "piteous", "pith", "pitiable", "pitiful", "pitifully", "pitiless", "pitot", "pittance", "pivoting", "pizza", "pizzas", "placate", "placid", "plagued", "plait", "plan", "plant", "platitude", "plaudit", "plausible", "playback", "playful", "playfully", "playing", "plea", "plead", "pleasant", "pleasing", "pleated", "plebeian", "pled", "pledgee", "pledgeor", "plenary", "plenitude", "plenteous", "plenty", "plethora", "pleura", "pliant", "plight", "plod", "plot", "plotted", "plover", "plowman", "pluck", "plug", "plumb", "plumber", "plume", "plumed", "plummet", "plump", "plunder", "plunger", "plunked", "plural", "plurality", "plusses", "plutonium", "pneumatic", "poacher", "pocked", "pocketed", "poesy", "poet", "poetaster", "poetic", "poetics", "poignancy", "poignant", "point", "poise", "poison", "poisoned", "poke", "polar", "polarity", "polemics", "police", "policy", "polish", "polished", "politic", "politics", "polled", "pollen", "pollute", "polluter", "polyarchy", "polycracy", "polygamy", "polyglot", "polygon", "pommel", "pomposity", "pompous", "poncho", "ponder", "ponderous", "ponds", "pontiff", "pontiffs", "pontoon", "poof", "pooled", "pooping", "poorly", "populace", "popularly", "populist", "populous", "pored", "porous", "port", "portable", "portend", "portent", "portfolio", "portion", "pose", "posit", "position", "positive", "posse", "posses", "possess", "possessor", "possible", "possibly", "postdate", "poster", "posterior", "postwar", "potassium", "potency", "potent", "potentate", "potential", "potholed", "potion", "potted", "pounding", "powder", "powdered", "powerless", "practiced", "praising", "prancing", "prate", "prattle", "pray", "preacher", "preachy", "preamble", "precede", "precedent", "precipice", "precise", "precision", "preclude", "precursor", "precut", "predatory", "predicate", "predict", "preempt", "preempts", "preengage", "preexist", "preface", "prefatory", "prefect", "prefer", "prefers", "prefix", "prejudice", "prelacy", "prelate", "prelude", "premature", "premier", "premise", "premium", "premiums", "prenatal", "preoccupy", "preordain", "prepaid", "presage", "presages", "preschool", "prescient", "prescript", "preserve", "presided", "pretend", "pretender", "pretest", "pretext", "pretty", "pretzel", "prevalent", "preview", "prey", "prickle", "pride", "prided", "priests", "priggish", "prim", "prima", "primate", "prime", "primer", "primeval", "primitive", "primrose", "principal", "principle", "print", "printer", "priory", "prisms", "pristine", "private", "privateer", "privilege", "privity", "privy", "prized", "prizing", "pro", "proactive", "probate", "probation", "probe", "probes", "probity", "procedure", "proceed", "proceeds", "processed", "proclaim", "proctor", "prodigal", "prodigy", "producer", "producing", "profane", "professor", "proffer", "profile", "profiteer", "profs", "profuse", "progeny", "program", "project", "projector", "prolific", "prolix", "prologue", "prolong", "prolonged", "prom", "promenade", "prominent", "promise", "promised", "promoter", "prompting", "promptly", "prone", "proofread", "propagate", "propane", "propel", "propeller", "property", "prophecy", "prophesy", "proposed", "proposes", "propound", "propriety", "prorated", "prosaic", "proscribe", "proselyte", "prosody", "prospect", "prostrate", "protean", "protect", "protector", "protege", "protester", "protocol", "prototype", "protract", "protrude", "proven", "proverb", "provident", "provider", "proviso", "provokes", "prow", "prowess", "prowl", "proxy", "prudence", "prudery", "prudish", "pruned", "prurient", "pseudo", "pseudonym", "psychic", "psychotic", "psychs", "puberty", "pudgy", "puerile", "puffs", "puissant", "pullback", "pulley", "pulling", "pulmonary", "pumas", "punches", "punctual", "puncture", "punctured", "pungency", "pungent", "punish", "punished", "punishing", "punitive", "punt", "pupa", "pupilage", "purchase", "purchased", "purebred", "purgatory", "puritan", "purity", "purl", "purloin", "purport", "purpose", "purrs", "pursued", "pursuer", "purveyor", "push", "pushcart", "pushers", "puzzle", "puzzles", "pyre", "pyromania", "pyx", "quackery", "quad", "quadrant", "quadrate", "quadruple", "quaint", "quainter", "quaintly", "qualify", "qualm", "quandary", "quant", "quantity", "quarrel", "quarter", "quarterly", "quartet", "quarto", "quartz", "quay", "queerest", "quelled", "queried", "querulous", "query", "question", "queue", "quibble", "quick", "quickly", "quiescent", "quiet", "quietism", "quietly", "quietus", "quills", "quintet", "quirk", "quit", "quite", "quixotic", "quoted", "rabbis", "rabid", "raccoons", "racist", "racy", "radiance", "radiate", "radical", "radiology", "radix", "raffle", "raft", "rage", "ragged", "raging", "raid", "raillery", "rainy", "raise", "rake", "raked", "ram", "rambler", "ramified", "ramify", "ramose", "rampaging", "rampant", "rampart", "ramparts", "rancor", "range", "rank", "ranked", "rankest", "rankle", "rankled", "ranks", "rap", "rapacious", "rapid", "rapine", "rapper", "rappers", "rapt", "raptorial", "rapturous", "rarebit", "rasa", "rash", "rasping", "raspy", "rat", "rated", "rather", "ratified", "ration", "rational", "rationed", "ratted", "rattles", "ratty", "raucous", "raunchy", "ravage", "ravaged", "ravenous", "raves", "ravine", "raving", "ravish", "raw", "reachable", "reactant", "reaction", "readable", "readily", "readjust", "ready", "realism", "realist", "realize", "realizes", "realm", "realtime", "realtor", "reamer", "reaper", "rear", "rearmed", "rearrange", "reasoned", "reassign", "reassure", "reawaken", "rebelled", "rebounds", "rebuff", "rebuffs", "rebuild", "rebuilt", "rebuke", "rebut", "rec", "recant", "recapture", "recast", "recede", "receding", "receive", "recent", "receptive", "recessive", "reck", "reckless", "reckons", "reclaim", "recline", "recluse", "reclusive", "reclusory", "recognize", "recoil", "recollect", "recording", "recouped", "recourse", "recover", "recreant", "recreate", "recruit", "rectify", "rectitude", "recur", "recure", "recurrent", "recused", "redder", "redeploy", "redesign", "redolence", "redolent", "redound", "redress", "reducible", "redundant", "reef", "refer", "referable", "referee", "refereed", "reference", "referrer", "refigure", "refinery", "reflected", "reflector", "reform", "reformer", "refract", "refrains", "refresh", "refusal", "refused", "refute", "refutes", "regal", "regale", "regalia", "regality", "regent", "regicide", "regime", "regimen", "regiment", "regnant", "regress", "regretful", "regularly", "rehabbed", "rehash", "rehearse", "reign", "reimburse", "rein", "reindeer", "reinstate", "reiterate", "reject", "rejected", "rejection", "rejoin", "relapse", "relapses", "relaxed", "relay", "relaying", "released", "relegate", "relent", "relevant", "reliable", "reliance", "reliant", "relies", "relieved", "reliquary", "relish", "reload", "reluctant", "remanded", "remarry", "remedy", "remiss", "remission", "remodel", "remotely", "renames", "render", "rendition", "renege", "renewal", "renovate", "renovated", "rent", "rents", "reopening", "repaint", "repair", "repairman", "reparable", "repartee", "repeal", "repel", "repellent", "repertory", "repine", "replace", "replay", "replenish", "replete", "replica", "replied", "reply", "report", "reports", "reposed", "reprehend", "repress", "repressed", "reprieve", "reprimand", "reprisal", "reprise", "reprobate", "reprocess", "reproduce", "reproof", "reptilian", "repudiate", "repugnant", "repulse", "repulsed", "repulsive", "repute", "request", "requested", "requiem", "requisite", "requital", "requite", "rerun", "resale", "rescind", "research", "reseat", "resent", "reserved", "reservoir", "reset", "resettle", "residue", "residuum", "resilient", "resistant", "resistive", "resolved", "resonance", "resonate", "resource", "respect", "respects", "respite", "rested", "restored", "rests", "resulted", "resupply", "resurgent", "retained", "retake", "retaliate", "retarded", "retch", "retched", "retells", "retention", "retest", "retests", "reticence", "reticent", "retinue", "retiring", "retitle", "retort", "retouch", "retrace", "retraces", "retract", "retrench", "retrieve", "retro", "return", "reunion", "reunite", "revealed", "reveler", "revelry", "revenant", "revenue", "revere", "reverend", "reverent", "reverse", "reversed", "reversion", "revert", "reverted", "review", "reviewer", "revile", "revisal", "revise", "revive", "revived", "revoke", "revoked", "revolting", "revolved", "revulsion", "rewarm", "rework", "rezoned", "rhapsodic", "rhapsody", "rhetoric", "rhinitis", "rhyme", "ribald", "ribbed", "ricochet", "riddance", "ridge", "ridicule", "riding", "rife", "riff", "riffing", "rig", "rightful", "rights", "rigidity", "rigmarole", "rigor", "rigorous", "rilles", "ringworm", "rip", "ripeness", "ripping", "ripple", "ripplet", "riser", "risible", "rituals", "ritzy", "rivalry", "riverbed", "rivets", "rivulet", "roadblock", "roast", "robe", "robot", "robust", "robusta", "rockers", "rodeo", "rogue", "roll", "roller", "rolloff", "rollouts", "romanced", "rondo", "rookery", "roommate", "rooms", "roosted", "root", "rope", "ropes", "rose", "rosemary", "rotary", "rotate", "rote", "rotten", "rotting", "rotund", "roughy", "round", "roundel", "rounding", "roundup", "roused", "rout", "routed", "routs", "rowdy", "royal", "royally", "rubato", "rubber", "rubric", "ruching", "ruckus", "rue", "ruffian", "ruffle", "ruffled", "rugby", "ruled", "ruminant", "ruminate", "rumor", "runaway", "runny", "runs", "rupee", "rupture", "rural", "rushed", "rust", "rustic", "rusts", "rusty", "rut", "ruth", "ruthless", "rutting", "saber", "sabre", "sac", "sack", "sacred", "sacrifice", "sacrilege", "sad", "saddle", "safari", "safaris", "safeguard", "safest", "sagacious", "sage", "sahelian", "sailor", "sainted", "salable", "salacious", "salami", "salary", "salience", "salient", "saline", "saltine", "salutary", "salvage", "salve", "salvo", "salvos", "same", "sameness", "sanction", "sanctity", "sand", "sandwich", "sane", "sanguine", "sap", "sapid", "sapience", "sapient", "saps", "sarcasm", "sardonic", "sari", "saris", "sartorial", "sashay", "sashays", "satiate", "satire", "satiric", "satirize", "saturate", "satyr", "sauce", "savage", "savaged", "savagely", "save", "savior", "savor", "savour", "saxon", "say", "scabbard", "scabs", "scalawag", "scale", "scaled", "scamming", "scams", "scapegoat", "scarcely", "scarcity", "scarfed", "scarier", "scarily", "scarred", "scat", "scenery", "scented", "schemed", "scholarly", "school", "schooled", "schooling", "schools", "science", "scimitar", "scintilla", "scoffed", "scofflaw", "scolded", "scone", "scoop", "scooting", "scope", "scoped", "scorching", "score", "scorer", "scoring", "scorn", "scorned", "scottish", "scoundrel", "scourged", "scouted", "scouting", "scowls", "scraggly", "screamer", "screeds", "screened", "screw", "scribble", "scribe", "scrim", "scrimp", "scrimped", "scrip", "script", "scrod", "scrubbed", "scrunch", "scruple", "scrutiny", "scum", "scuttle", "scuttled", "scythe", "seal", "sealed", "seance", "seaport", "seaports", "sear", "search", "season", "seasonal", "seatings", "seaweeds", "sebaceous", "secant", "secede", "seceded", "secession", "seclude", "seclusion", "secondary", "secondly", "secrecy", "secretary", "secrete", "secretive", "sect", "section", "secure", "sedate", "sedentary", "sediment", "sedition", "seditious", "seduce", "sedulous", "seeking", "seer", "seethe", "segment", "seignior", "seize", "seized", "selective", "selfish", "seller", "semblance", "seminar", "seminary", "senator", "senile", "senility", "seniority", "sensation", "sense", "sensible", "sensitive", "sensorium", "sensual", "sensuous", "sentence", "sentience", "sentient", "sentinel", "separable", "separate", "sepulcher", "sequel", "sequence", "sequent", "sequester", "serapes", "serenade", "sergeant", "serial", "seriously", "servant", "service", "servitude", "set", "setup", "sever", "severance", "severely", "severity", "sewing", "sexist", "sextet", "sextuple", "shabbily", "shade", "shades", "shading", "shaggy", "shaken", "shakeout", "shaker", "shakes", "shaky", "shallot", "shambles", "shame", "shanks", "shape", "shapely", "sharing", "sharpener", "sheaf", "sheath", "sheer", "shelf", "shell", "shellfish", "shelling", "shelter", "sherbet", "shift", "shiftless", "shimmied", "shimmy", "shin", "shingled", "ship", "shipwreck", "shirked", "shocking", "shod", "shoehorn", "shoot", "shootout", "shored", "shoreline", "short", "shortage", "shortly", "shotgun", "shoulder", "shove", "show", "showcase", "shower", "showman", "showpiece", "showtime", "shred", "shrewd", "shrewdly", "shriek", "shrink", "shrinkage", "shrivel", "shrubbery", "shrug", "shrugs", "shrunken", "shucks", "shuffle", "shutdown", "shutouts", "shutters", "shylock", "shyness", "sibilance", "sibilant", "sibilate", "sibling", "sick", "sickle", "sickness", "sickos", "sickout", "sidelong", "sidereal", "sidling", "siege", "sieges", "sieving", "sift", "sifted", "sighed", "sight", "sightseer", "signup", "silence", "silenced", "silkworm", "sill", "silly", "silos", "silt", "similar", "simile", "simple", "simplify", "simulate", "sinecure", "sinewy", "sinful", "sinfully", "singe", "singeing", "single", "sinister", "sinuosity", "sinuous", "sinus", "sir", "siren", "sirocco", "sit", "site", "situate", "sixteen", "sixteenth", "sixth", "size", "sizzled", "skald", "skate", "skater", "skeleton", "skeptic", "sketch", "skew", "skewed", "skewness", "skiff", "skim", "skimmed", "skirmish", "sky", "skycap", "skyways", "slack", "slain", "slash", "slashed", "slave", "slayer", "sleaze", "sleazy", "sledge", "sleeps", "sleighs", "sleight", "slew", "slews", "slider", "slight", "slimmed", "slimy", "sling", "slippage", "slipped", "slipping", "slob", "slobby", "slosh", "slothful", "slovaks", "slow", "sluggard", "slugger", "slugging", "slum", "slunk", "slurped", "slurred", "slut", "sly", "smacks", "small", "smartly", "smash", "smashed", "smeared", "smell", "smelting", "smock", "smoke", "smuggled", "smugly", "snack", "snacked", "snags", "snapped", "snarl", "snatch", "sneak", "sneeze", "snide", "snipe", "snippet", "snob", "snook", "snooze", "snorer", "snorts", "snowbank", "snowman", "snowmen", "snowy", "snuggle", "soaked", "soap", "soapy", "sobbed", "soberly", "sobriquet", "sociable", "socialism", "socialist", "socials", "sociology", "sodas", "sodomize", "software", "soil", "solace", "solar", "solder", "soldier", "soldiers", "sole", "solecism", "solemnly", "solicitor", "solidity", "soliloquy", "solitary", "solstice", "soluble", "solvable", "solvent", "somatic", "somber", "somebody", "somnolent", "sonata", "sonic", "sonnet", "sonorous", "soot", "soothes", "sop", "sophism", "sophistry", "soprano", "sorbet", "sorcery", "sordid", "sought", "soulmate", "sound", "sounds", "sourwood", "southern", "souvenir", "sow", "space", "spaceship", "spacing", "spacious", "spackle", "spade", "spake", "span", "spangled", "spank", "spar", "spark", "sparkly", "sparring", "sparse", "spasm", "spasmodic", "spatula", "spatulas", "spawn", "spawns", "spear", "special", "specialty", "specie", "species", "specific", "specify", "specimen", "specious", "speckled", "spectator", "specter", "spectres", "spectrum", "speculate", "speedily", "speeds", "spending", "spheroid", "spiced", "spiffy", "spigots", "spike", "spin", "spinous", "spinster", "spiraled", "spires", "spitball", "splashy", "splotch", "splurge", "sponsor", "spook", "spooling", "spoons", "sporting", "spot", "spotty", "sprayers", "spraying", "sprightly", "sprinkle", "sprint", "sprinted", "sprinter", "spry", "spume", "spurious", "spurned", "sputter", "spy", "squabble", "squadron", "squalid", "squalled", "squander", "squared", "squash", "squashed", "squatter", "squeaks", "squeezed", "squirm", "squish", "squishes", "staccato", "stack", "stacking", "staff", "stages", "stagger", "stagnant", "stagnate", "stagy", "staid", "stain", "stainless", "stair", "stairwell", "stalled", "stallion", "stamina", "stampede", "stance", "stanchion", "standoff", "standout", "stands", "stanza", "star", "starch", "stark", "starker", "starkly", "starless", "starring", "stars", "starter", "starters", "stash", "stashes", "stat", "static", "statics", "statuette", "stature", "statute", "stayers", "staying", "steadies", "steal", "stealth", "steam", "steamy", "steeled", "steep", "steeple", "steeples", "steer", "steering", "stellar", "stem", "stencil", "steppe", "stepwise", "sterling", "sternum", "steroids", "stew", "stick", "sticking", "stiff", "stifle", "stifled", "stigma", "stiletto", "still", "stilts", "stimulant", "stimulate", "stimulus", "stinging", "stingy", "stipend", "stir", "stirs", "stitched", "stock", "stockpile", "stodgy", "stoicism", "stolid", "stomped", "stoners", "stoop", "stop", "stopped", "store", "storyline", "stout", "straddle", "strain", "strait", "strand", "stranded", "stratagem", "stratum", "straw", "stray", "streamlet", "stressed", "stretch", "strewn", "stricken", "striders", "stringent", "stripe", "striped", "stripling", "strobe", "stud", "studded", "studious", "stultify", "stumble", "stumbling", "stunners", "stupidest", "stupidly", "stupor", "styling", "suasion", "suave", "subacid", "subjacent", "subjugate", "submarine", "submerge", "submittal", "subside", "subsidize", "subsist", "subsumes", "subtend", "subtests", "subtle", "subvert", "succeed", "success", "successor", "succinct", "succulent", "succumb", "suction", "sudden", "sue", "suffrage", "suffuse", "suffused", "sugar", "suits", "sulfate", "sulfurous", "sulkily", "sultan", "summary", "summation", "summed", "summited", "sumptuous", "sunbeam", "sunburst", "sunflower", "suns", "sunset", "sunsets", "sunshine", "sunward", "super", "superadd", "superb", "superheat", "supersede", "supervise", "supine", "supplant", "supple", "supply", "supposed", "supposing", "suppress", "supremo", "surcharge", "sureness", "surety", "surf", "surface", "surfeit", "surly", "surmise", "surmount", "surplus", "surprise", "surrender", "surrogate", "surround", "surveyor", "survives", "suspect", "suspects", "suspense", "sutra", "suture", "swab", "swale", "swallowed", "swamped", "swarm", "swarmed", "swarthy", "swat", "swath", "swathe", "swathed", "swatting", "swayed", "swearing", "sweat", "sweeping", "sweeps", "sweets", "swell", "swelled", "swelter", "swerving", "swigs", "swimsuit", "swindle", "swindler", "swinging", "swipe", "swipes", "swirled", "swirling", "switching", "swivel", "swoop", "swooped", "sword", "swore", "sycamore", "sycophant", "syllabic", "syllable", "syllabus", "sylph", "symbolic", "symmetry", "symphonic", "symphony", "symposium", "synagogue", "syndicate", "syndrome", "syneresis", "synergy", "synod", "synonym", "synopsis", "syrupy", "table", "tableau", "tableaus", "tabloid", "taboo", "tacit", "taciturn", "tack", "tacked", "tackle", "taco", "tact", "tactful", "tactician", "tactics", "taffeta", "tahini", "tail", "tailspin", "take", "talcum", "talk", "talking", "tallest", "tally", "talmudic", "tamarind", "tamely", "tan", "tandem", "tangency", "tangent", "tangible", "tango", "tankful", "tanned", "tanners", "tannery", "tantalize", "tape", "tapes", "tapestry", "taping", "taquitos", "tardiness", "target", "tarnish", "tarry", "tart", "tartlets", "tater", "tattler", "tattoos", "taupe", "taut", "tax", "taxation", "taxi", "taxicab", "taxidermy", "tea", "teachable", "teacher", "teal", "tearful", "tearooms", "tears", "teary", "tease", "teaser", "teasingly", "technic", "technique", "tedium", "tee", "teem", "teemed", "teenage", "tees", "teetering", "telco", "telecast", "telegraph", "telemetry", "telepathy", "telephony", "telescope", "teletype", "televise", "telltale", "temblors", "temerity", "temp", "temple", "temples", "temporal", "temporary", "temporize", "tempt", "tempter", "temptress", "tenacious", "tenant", "tendency", "tender", "tendril", "tenet", "tenfold", "tennis", "tenor", "tense", "tensest", "tensions", "tentative", "tenting", "tenure", "termagant", "terminal", "terminate", "terminus", "terms", "terrapin", "terribly", "terrier", "terrify", "terse", "testament", "testator", "tested", "testify", "tethers", "teutonic", "thanks", "thaw", "thaws", "thearchy", "theater", "theirs", "theism", "then", "thence", "theocracy", "theocrasy", "theology", "theorist", "theorize", "therefor", "therefore", "thereupon", "thermal", "thesis", "they", "thicket", "thievery", "thigh", "thin", "think", "third", "thirsty", "thirtieth", "thomism", "thong", "thorn", "though", "thousand", "thrall", "thread", "threes", "threshed", "threw", "thrilled", "throb", "throes", "throne", "through", "throw", "thrums", "thrush", "thrusting", "thump", "thumped", "thusly", "thwarted", "thy", "thyroids", "tibias", "tic", "tick", "tickle", "tidying", "tight", "tightness", "tile", "tills", "tilted", "tilth", "timbre", "timeline", "timeout", "timorous", "tincture", "tinge", "tinkle", "tintype", "tipoff", "tipsy", "tirade", "tired", "tireless", "tiresome", "titled", "toddies", "toenail", "togas", "toggle", "toggling", "toil", "toilsome", "token", "tolerable", "tolerance", "tolerant", "tolerate", "tolling", "tomb", "tome", "tonic", "too", "tool", "toot", "toothless", "tootling", "top", "topics", "toponyms", "topping", "tops", "topsail", "torch", "tornados", "torpedo", "torpor", "torrid", "torso", "tortious", "tortuous", "tortured", "torturous", "toss", "tosser", "totaled", "touchy", "toughed", "toured", "touring", "touristy", "tousled", "towel", "towels", "towering", "townie", "toy", "toys", "trace", "traces", "trachoma", "tracking", "tractable", "trail", "trait", "trammel", "tramp", "tramped", "trance", "tranquil", "transact", "transcend", "transfer", "transfix", "transfuse", "transient", "translate", "transmit", "transmute", "transpire", "trashing", "trattoria", "travail", "traveling", "travesty", "trawl", "treachery", "treatise", "treble", "trebly", "tremor", "tremulous", "trenchant", "trendier", "trestle", "triad", "triads", "tribal", "tribe", "tribesman", "tribunal", "tribune", "trick", "trickery", "trickle", "tricolor", "tricycle", "trident", "triennial", "trim", "trimness", "trinity", "trio", "triple", "tripled", "tripod", "tripped", "trippy", "trisect", "trite", "triumvir", "trivial", "trombone", "trophies", "trots", "trotted", "troubling", "troupe", "trouper", "trove", "trowel", "truckload", "truculent", "truism", "trumpet", "truncated", "trundle", "trussed", "trusted", "trusting", "trusty", "truthful", "trying", "trypsin", "tuba", "tubing", "tuesdays", "tug", "tumble", "tunafish", "tune", "tuned", "tuneup", "tunisian", "turbans", "turbos", "turgid", "turkey", "turn", "turnabout", "turning", "turpitude", "tushes", "tussle", "tussles", "tutee", "tutelage", "tutelar", "tutorship", "tutsi", "twice", "twiddle", "twine", "twinge", "twirl", "twisting", "twitch", "twoyear", "tycoon", "typed", "typhus", "typical", "typified", "typify", "tyranny", "tyro", "ugh", "ugly", "ulterior", "ultimate", "ultimatum", "umbrage", "unable", "unanimity", "unanimous", "unbalance", "unbeaten", "unbelief", "unbiased", "unbind", "unblock", "unbounded", "unbridled", "uncannily", "uncanny", "uncared", "unclaimed", "uncle", "uncommon", "uncork", "uncrowded", "unction", "unctuous", "uncut", "undeceive", "underlie", "underling", "underman", "undermine", "underpaid", "underrate", "undersell", "undertake", "undertow", "undimmed", "undivided", "undo", "undone", "undue", "undulate", "undulous", "uneasy", "unfairly", "unfolding", "ungainly", "unglued", "ungodly", "unguent", "unharmed", "unhelpful", "unholy", "unhook", "unhooked", "unibody", "unify", "uninjured", "uninvited", "unique", "unison", "unisonant", "unite", "united", "univocal", "unkept", "unknown", "unlawful", "unlearned", "unlimited", "unnamed", "unnatural", "unnoticed", "unopposed", "unpeeled", "unplugged", "unpopular", "unproved", "unravel", "unripe", "unroofed", "unsay", "unseat", "unsettle", "unshod", "unsound", "unstuck", "untaxed", "untenable", "untended", "until", "untilled", "untimely", "untoward", "untreated", "unvaried", "unvarying", "unveil", "unveiled", "unwieldy", "unwise", "unyoke", "upbraid", "upcast", "updated", "upends", "upheaval", "upheave", "uplifted", "uploads", "upmarket", "upon", "upped", "upper", "uppermost", "upright", "uprising", "uproar", "uproot", "upsetting", "upstage", "upstart", "upstate", "uptick", "uptown", "upturn", "upwardly", "urban", "urbanity", "urchin", "urge", "urgency", "urgent", "usage", "used", "useful", "usual", "usurers", "usurious", "usurp", "usurped", "usury", "utensil", "utility", "utmost", "utter", "utterly", "vacate", "vaccinate", "vacillate", "vacuous", "vacuum", "vagabond", "vaginal", "vagrant", "vain", "vainglory", "valance", "vale", "valet", "valiant", "valid", "validate", "valleys", "valorous", "value", "vampire", "vane", "vanities", "vapid", "vaporizer", "variable", "variance", "variant", "variates", "variation", "variegate", "vassal", "vastly", "vastness", "vaulting", "veal", "vectors", "veered", "veering", "vegetal", "vegetate", "vehement", "veil", "velar", "veldt", "velocity", "velvety", "venal", "vendible", "vendition", "vendor", "veneer", "venerable", "venerate", "venereal", "vengeance", "vengeful", "venial", "venison", "venom", "venous", "ventilate", "veracious", "veracity", "veranda", "verbatim", "verbiage", "verbose", "verdant", "verify", "verily", "verity", "vermin", "vernal", "versatile", "version", "vertex", "vertical", "vertigo", "verve", "very", "vespers", "vessels", "vested", "vestige", "vestiges", "vesting", "vestment", "vet", "veto", "viability", "vibe", "vicarious", "viceroy", "victim", "videotape", "vie", "views", "vigilance", "vigilant", "vigilante", "vignette", "vilify", "vincible", "vindicate", "vinery", "vining", "viol", "viola", "violate", "violated", "violation", "violator", "viper", "virago", "virile", "virtu", "virtual", "virtue", "virtuoso", "virulence", "virulent", "visage", "viscera", "viscose", "viscount", "vision", "visit", "vista", "visual", "visualize", "vital", "vitality", "vitalize", "vitally", "vitiate", "vitiated", "vivacity", "vivify", "vocable", "vocal", "vocalist", "vocative", "vodka", "vogue", "voice", "voiceless", "void", "voiding", "voids", "volant", "volar", "volatile", "volition", "volitive", "voluble", "vomit", "vomited", "vomiting", "vomits", "voracious", "vortex", "votary", "voter", "votive", "vouchsafe", "vow", "voyager", "vulgarity", "wacko", "wad", "wadded", "wading", "wads", "wage", "waif", "waistcoat", "waistline", "waiter", "waiting", "waive", "wake", "waked", "walkable", "walker", "walkers", "walking", "walled", "wallop", "wallow", "waltz", "wampum", "wane", "waned", "wanes", "wangled", "wannabe", "wanted", "wanting", "ward", "warden", "warehouse", "warhead", "warheads", "warily", "wariness", "warlike", "warmed", "warning", "warp", "warpath", "warrior", "wary", "wash", "washtub", "waste", "wasteful", "watchful", "waterline", "wavelet", "waxy", "way", "weakens", "weakest", "weakling", "weal", "wean", "wear", "wearied", "wearisome", "webcams", "website", "wed", "wee", "weedy", "weekly", "weepers", "weigh", "weirdest", "weirdly", "welcome", "well", "welt", "west", "westward", "whatnot", "wheel", "wheeze", "whereupon", "wherever", "wherewith", "whet", "while", "whiled", "whimper", "whimsical", "whine", "whip", "whipping", "whippy", "whirr", "whirred", "whistle", "white", "whittle", "whiz", "whodunit", "wholly", "whomever", "whoop", "whoops", "whooshes", "wide", "widening", "widowed", "widower", "wield", "wielders", "wiggle", "wiggly", "wild", "wildcard", "wile", "wilful", "willowy", "wills", "wimp", "winced", "windage", "windswept", "wingman", "winsome", "winter", "wintry", "wipeout", "wiper", "wires", "wiretap", "wiry", "wise", "wisecrack", "wiseguy", "wishful", "withered", "within", "witless", "witling", "witticism", "wittiest", "wittingly", "wizen", "womanly", "wondered", "wonders", "wondrous", "woodland", "woodshed", "woolly", "woozy", "wordplay", "worklife", "workspace", "wormed", "worried", "worrying", "worthy", "would", "wouldst", "wound", "wrack", "wrangle", "wrap", "wrapped", "wreak", "wreath", "wrest", "wrestle", "wrestler", "wretch", "wriggle", "wrinkle", "writhe", "writing", "wrong", "wry", "yank", "yard", "yardage", "yards", "yarn", "yarns", "yaw", "yearend", "yearling", "yearning", "yeast", "yell", "yelling", "yellowing", "yells", "yen", "yielded", "yielding", "yin", "yogurts", "yoke", "yon", "you", "your", "yowled", "yowling", "yum", "zealot", "zeitgeist", "zenith", "zephyr", "zephyrs", "zero", "ziggurat", "zigs", "zings", "zionists", "zip", "zipped", "zodiac", "zooming" };
+#include "wordlist.h"
-const size_t word_list_len = sizeof(word_list) / sizeof(const char*);
+#ifdef PASSMGR_DICEWARE
+const char *word_list[] = {
+ "aardvark",
+ "abacus",
+ "abase",
+ "abbess",
+ "abbey",
+ "abbot",
+ "abdicate",
+ "abdomen",
+ "abdominal",
+ "abduction",
+ "abed",
+ "abet",
+ "abeyance",
+ "abhorrent",
+ "abidance",
+ "abject",
+ "abjure",
+ "able",
+ "ablution",
+ "abnegate",
+ "abnormal",
+ "abominate",
+ "above",
+ "abrade",
+ "abrasion",
+ "abridge",
+ "abrogate",
+ "abrupt",
+ "abscess",
+ "abscissa",
+ "abscond",
+ "absence",
+ "absent",
+ "absolute",
+ "absolve",
+ "absorb",
+ "absorbed",
+ "abstain",
+ "abstruse",
+ "absurd",
+ "abundant",
+ "abused",
+ "abusive",
+ "abut",
+ "abyss",
+ "academic",
+ "academy",
+ "accede",
+ "acceded",
+ "accedes",
+ "accented",
+ "accept",
+ "accepted",
+ "access",
+ "accession",
+ "accessory",
+ "accident",
+ "acclaim",
+ "acclimate",
+ "accompany",
+ "accorded",
+ "accordion",
+ "accost",
+ "accosts",
+ "account",
+ "accouter",
+ "accredit",
+ "accuracy",
+ "accurate",
+ "accursed",
+ "accuse",
+ "accusing",
+ "accustom",
+ "acerbity",
+ "acetate",
+ "acetic",
+ "ache",
+ "acid",
+ "acidify",
+ "ackee",
+ "acme",
+ "acoustic",
+ "acquaint",
+ "acquiesce",
+ "acquire",
+ "acquit",
+ "acquittal",
+ "acreage",
+ "acreages",
+ "acrid",
+ "acrimony",
+ "acrobat",
+ "activate",
+ "activist",
+ "actuality",
+ "actuary",
+ "actuate",
+ "acumen",
+ "acute",
+ "acutely",
+ "adamant",
+ "adaptable",
+ "adapters",
+ "added",
+ "addendum",
+ "addle",
+ "addled",
+ "address",
+ "adduce",
+ "adelgid",
+ "adenoma",
+ "adequate",
+ "adhere",
+ "adherence",
+ "adherent",
+ "adheres",
+ "adhesion",
+ "adieu",
+ "adios",
+ "adjacency",
+ "adjacent",
+ "adjudge",
+ "adjunct",
+ "adjutant",
+ "admirals",
+ "admonish",
+ "ado",
+ "adoration",
+ "adorning",
+ "adroit",
+ "adulthood",
+ "adumbrate",
+ "advance",
+ "advanced",
+ "advancing",
+ "advent",
+ "adverse",
+ "adversely",
+ "adversity",
+ "advert",
+ "advisable",
+ "adviser",
+ "advisory",
+ "advocacy",
+ "advocate",
+ "aerial",
+ "aerobics",
+ "aeronaut",
+ "aerostat",
+ "affable",
+ "affect",
+ "affected",
+ "affiliate",
+ "affinity",
+ "affix",
+ "afflict",
+ "affluence",
+ "affluent",
+ "affront",
+ "affronts",
+ "afire",
+ "afoot",
+ "aforesaid",
+ "afresh",
+ "aft",
+ "after",
+ "afterward",
+ "age",
+ "aggravate",
+ "aggregate",
+ "aggress",
+ "aggrieve",
+ "aghast",
+ "agile",
+ "agility",
+ "agitate",
+ "agitated",
+ "agitprop",
+ "agnostic",
+ "agog",
+ "agonal",
+ "agonized",
+ "agrarian",
+ "ague",
+ "aid",
+ "ailment",
+ "aim",
+ "airbag",
+ "airfare",
+ "airfield",
+ "airspace",
+ "airwaves",
+ "airy",
+ "akin",
+ "alabaster",
+ "alacrity",
+ "albeit",
+ "albino",
+ "album",
+ "alchemy",
+ "alcohol",
+ "alcove",
+ "alder",
+ "alderman",
+ "alert",
+ "algae",
+ "algebra",
+ "alias",
+ "alien",
+ "alienable",
+ "alienate",
+ "alike",
+ "aliment",
+ "alkali",
+ "alkaline",
+ "allay",
+ "allege",
+ "alleged",
+ "allegory",
+ "alleviate",
+ "alley",
+ "alleyway",
+ "alliance",
+ "allies",
+ "allocate",
+ "allot",
+ "allotment",
+ "allowed",
+ "allude",
+ "allusion",
+ "allusive",
+ "alluvion",
+ "ally",
+ "almanac",
+ "almost",
+ "alone",
+ "aloof",
+ "alpha",
+ "alphabet",
+ "altar",
+ "alter",
+ "altercate",
+ "alternate",
+ "although",
+ "altitude",
+ "alto",
+ "altruism",
+ "altruist",
+ "amalgam",
+ "amass",
+ "amateur",
+ "amatory",
+ "amazed",
+ "amber",
+ "ambiguous",
+ "ambitious",
+ "ambrosia",
+ "ambrosial",
+ "ambulance",
+ "ambulate",
+ "ambush",
+ "amenable",
+ "amended",
+ "amicable",
+ "amish",
+ "amity",
+ "amongst",
+ "amorous",
+ "amorphous",
+ "amount",
+ "amour",
+ "ampere",
+ "ampersand",
+ "amplified",
+ "amplitude",
+ "amply",
+ "amputate",
+ "amusement",
+ "anagram",
+ "analog",
+ "analogous",
+ "analogy",
+ "analysed",
+ "analyst",
+ "analyze",
+ "anarchy",
+ "anathema",
+ "anatomy",
+ "ancestry",
+ "anchor",
+ "anchored",
+ "ancient",
+ "ancillary",
+ "anecdote",
+ "anemia",
+ "anemic",
+ "anew",
+ "angel",
+ "angelic",
+ "angler",
+ "angstrom",
+ "anguish",
+ "angular",
+ "anhydrous",
+ "animal",
+ "animate",
+ "anime",
+ "animosity",
+ "anklet",
+ "annalist",
+ "annals",
+ "annex",
+ "annexed",
+ "annotate",
+ "annual",
+ "annuity",
+ "anode",
+ "anonymous",
+ "another",
+ "answer",
+ "answering",
+ "ante",
+ "antecede",
+ "antedate",
+ "antenatal",
+ "anterior",
+ "anteroom",
+ "anthem",
+ "anthology",
+ "antic",
+ "antidote",
+ "antilogy",
+ "antiphon",
+ "antiphony",
+ "antipodes",
+ "antiquary",
+ "antiquate",
+ "antique",
+ "antitoxin",
+ "antonym",
+ "anxious",
+ "anymore",
+ "anyplace",
+ "anything",
+ "apart",
+ "apathy",
+ "aperitif",
+ "aperture",
+ "apex",
+ "aphorism",
+ "apiary",
+ "apogee",
+ "apology",
+ "apostasy",
+ "apostate",
+ "apostle",
+ "appall",
+ "apparatus",
+ "apparel",
+ "apparent",
+ "appeal",
+ "appealed",
+ "appease",
+ "appellate",
+ "append",
+ "appertain",
+ "appoint",
+ "apposite",
+ "appraise",
+ "apprehend",
+ "apprise",
+ "approved",
+ "aquarium",
+ "aqueduct",
+ "aqueous",
+ "arachnid",
+ "arb",
+ "arbiter",
+ "arbitrary",
+ "arbitrate",
+ "arbor",
+ "arboreal",
+ "arboretum",
+ "arbs",
+ "arcade",
+ "arch",
+ "archaic",
+ "archaism",
+ "archangel",
+ "arched",
+ "archetype",
+ "archival",
+ "archive",
+ "archrival",
+ "ardent",
+ "ardor",
+ "arid",
+ "arise",
+ "armada",
+ "armament",
+ "armature",
+ "armful",
+ "armistice",
+ "armless",
+ "armor",
+ "armorers",
+ "armory",
+ "armrest",
+ "arnica",
+ "aroma",
+ "around",
+ "aroused",
+ "arraign",
+ "arrange",
+ "arrant",
+ "array",
+ "arrayed",
+ "arrear",
+ "arrested",
+ "arrival",
+ "arrogant",
+ "arrogate",
+ "arrowing",
+ "arsenate",
+ "artery",
+ "artful",
+ "artifice",
+ "artistry",
+ "artless",
+ "aryan",
+ "ascendant",
+ "ascension",
+ "ascent",
+ "ascetic",
+ "ascribe",
+ "asexual",
+ "ashamed",
+ "ashen",
+ "ashore",
+ "asiatic",
+ "askance",
+ "asking",
+ "asperity",
+ "aspirant",
+ "aspire",
+ "assailant",
+ "assassin",
+ "assault",
+ "assay",
+ "assent",
+ "assertive",
+ "assess",
+ "assessor",
+ "assets",
+ "assiduous",
+ "assignee",
+ "associate",
+ "assonance",
+ "assonant",
+ "assonate",
+ "assuage",
+ "assume",
+ "assuredly",
+ "asterisk",
+ "asters",
+ "asthma",
+ "astronaut",
+ "astute",
+ "asylums",
+ "atheism",
+ "athirst",
+ "athwart",
+ "atomize",
+ "atomizer",
+ "atonal",
+ "atone",
+ "atonement",
+ "atrocious",
+ "atrocity",
+ "attache",
+ "attack",
+ "attacked",
+ "attain",
+ "attend",
+ "attest",
+ "auburn",
+ "auction",
+ "auctions",
+ "audacious",
+ "audible",
+ "audition",
+ "auditory",
+ "audits",
+ "augment",
+ "augur",
+ "aura",
+ "aural",
+ "auricle",
+ "auricular",
+ "aurora",
+ "auspice",
+ "austere",
+ "autarchy",
+ "auteur",
+ "authentic",
+ "authority",
+ "autocracy",
+ "autocrat",
+ "automaton",
+ "autonomy",
+ "autopsy",
+ "autumn",
+ "autumnal",
+ "auxiliary",
+ "avalanche",
+ "avarice",
+ "aver",
+ "averse",
+ "aversion",
+ "avert",
+ "aviaries",
+ "aviary",
+ "aviator",
+ "avidity",
+ "avidly",
+ "avocation",
+ "avow",
+ "await",
+ "awaits",
+ "awaken",
+ "awakened",
+ "awards",
+ "awash",
+ "awesome",
+ "awful",
+ "awry",
+ "aww",
+ "axes",
+ "axioms",
+ "aye",
+ "azalea",
+ "azure",
+ "babble",
+ "babe",
+ "baby",
+ "babysit",
+ "back",
+ "backdrop",
+ "backed",
+ "backstop",
+ "bacterium",
+ "badger",
+ "badgered",
+ "baffle",
+ "baffled",
+ "bag",
+ "bagel",
+ "baggage",
+ "baggier",
+ "bagpipe",
+ "bailiff",
+ "bairn",
+ "bait",
+ "baize",
+ "baked",
+ "bakeware",
+ "balancing",
+ "baldly",
+ "bale",
+ "baleful",
+ "ballad",
+ "ballpark",
+ "balm",
+ "balsa",
+ "balsam",
+ "bamboo",
+ "banal",
+ "band",
+ "banjo",
+ "banned",
+ "banquet",
+ "banter",
+ "baptisms",
+ "baptize",
+ "barbarian",
+ "barbaric",
+ "barbells",
+ "barbeque",
+ "barcarole",
+ "barefoot",
+ "bargain",
+ "baritone",
+ "barium",
+ "bark",
+ "barley",
+ "barograph",
+ "barometer",
+ "barrages",
+ "barrel",
+ "barreled",
+ "barrier",
+ "barring",
+ "barstool",
+ "bask",
+ "basket",
+ "bass",
+ "basso",
+ "baste",
+ "bastion",
+ "batch",
+ "bath",
+ "bather",
+ "baton",
+ "batons",
+ "battalion",
+ "batten",
+ "batter",
+ "batting",
+ "bauble",
+ "bawl",
+ "bawled",
+ "bayonet",
+ "beacon",
+ "bead",
+ "beaded",
+ "beads",
+ "bear",
+ "bearer",
+ "beatify",
+ "beatitude",
+ "beatnik",
+ "beau",
+ "becalm",
+ "beck",
+ "bedaub",
+ "bedding",
+ "bedeck",
+ "bedlam",
+ "bedside",
+ "beep",
+ "beeper",
+ "befog",
+ "before",
+ "befriend",
+ "befuddle",
+ "beget",
+ "beginner",
+ "begrudge",
+ "beguine",
+ "behavior",
+ "beheaded",
+ "behemoth",
+ "behest",
+ "beholden",
+ "belate",
+ "belated",
+ "belay",
+ "belie",
+ "believe",
+ "belittle",
+ "belle",
+ "bellicose",
+ "bellmen",
+ "bellow",
+ "belly",
+ "beloved",
+ "below",
+ "bemoan",
+ "bemoaned",
+ "bench",
+ "benched",
+ "bended",
+ "benefice",
+ "benefit",
+ "bengal",
+ "benign",
+ "benignant",
+ "benignity",
+ "benison",
+ "bequeath",
+ "bereave",
+ "bereaved",
+ "berth",
+ "beseech",
+ "beset",
+ "besides",
+ "besmear",
+ "besmirch",
+ "bespeak",
+ "best",
+ "bestial",
+ "bestow",
+ "bestrew",
+ "bestride",
+ "bethink",
+ "betide",
+ "betimes",
+ "betrayed",
+ "betroth",
+ "betrothal",
+ "better",
+ "between",
+ "betwixt",
+ "bevel",
+ "beveled",
+ "bewilder",
+ "bias",
+ "bib",
+ "bibulous",
+ "bidding",
+ "bide",
+ "biennial",
+ "bier",
+ "bigamist",
+ "bigamy",
+ "biggie",
+ "bight",
+ "bigotry",
+ "bike",
+ "bilateral",
+ "bile",
+ "bilingual",
+ "billfish",
+ "billow",
+ "billows",
+ "billowy",
+ "binding",
+ "bingeing",
+ "bio",
+ "biograph",
+ "biography",
+ "biology",
+ "biomes",
+ "biped",
+ "biryani",
+ "bitter",
+ "biz",
+ "bizarre",
+ "blab",
+ "blabbing",
+ "blackbird",
+ "blacked",
+ "blacklist",
+ "blackness",
+ "blank",
+ "blanket",
+ "blase",
+ "blaspheme",
+ "blatant",
+ "blaze",
+ "blazon",
+ "bleak",
+ "blemish",
+ "blended",
+ "blight",
+ "blind",
+ "blinded",
+ "blink",
+ "blipped",
+ "blithe",
+ "blitz",
+ "blizzard",
+ "blockade",
+ "blocker",
+ "blocking",
+ "blond",
+ "blonde",
+ "bloodbath",
+ "bloodied",
+ "bloodily",
+ "bloodline",
+ "bloom",
+ "bloomed",
+ "blouses",
+ "blousy",
+ "blowhole",
+ "blowtorch",
+ "blue",
+ "bluebird",
+ "bluish",
+ "blunder",
+ "blunt",
+ "blurb",
+ "blurring",
+ "blush",
+ "bluster",
+ "boards",
+ "boatload",
+ "boatswain",
+ "boatyard",
+ "bobble",
+ "boded",
+ "bodice",
+ "bodily",
+ "bog",
+ "bogus",
+ "bold",
+ "bole",
+ "bolero",
+ "boll",
+ "bolster",
+ "bolts",
+ "bomb",
+ "bombard",
+ "bombast",
+ "bombings",
+ "bomblets",
+ "bombs",
+ "bond",
+ "bondsman",
+ "boob",
+ "boobs",
+ "bookcase",
+ "bookend",
+ "bookmark",
+ "bookworm",
+ "boorish",
+ "boost",
+ "booster",
+ "boot",
+ "bootleg",
+ "bordello",
+ "bordering",
+ "bore",
+ "borers",
+ "boring",
+ "borough",
+ "bosom",
+ "boss",
+ "botanical",
+ "botanist",
+ "botanize",
+ "botany",
+ "bothered",
+ "bottles",
+ "bottling",
+ "bouffant",
+ "bounce",
+ "bouncing",
+ "boundary",
+ "bountiful",
+ "bow",
+ "bowel",
+ "bowing",
+ "bowl",
+ "bowler",
+ "boxing",
+ "boxlike",
+ "boxwood",
+ "boycott",
+ "brace",
+ "brackets",
+ "brae",
+ "braggart",
+ "brains",
+ "brainwash",
+ "branch",
+ "brandish",
+ "brassy",
+ "bravado",
+ "bravo",
+ "brawl",
+ "brawls",
+ "brawny",
+ "bray",
+ "braze",
+ "brazenly",
+ "brazier",
+ "breach",
+ "breadth",
+ "breakaway",
+ "breakdown",
+ "breaker",
+ "breakfast",
+ "breath",
+ "breech",
+ "breed",
+ "brethren",
+ "brevity",
+ "bribery",
+ "bridge",
+ "bridle",
+ "brief",
+ "briefers",
+ "briers",
+ "brigade",
+ "brigadier",
+ "brigand",
+ "brighten",
+ "brightly",
+ "brim",
+ "brimstone",
+ "brine",
+ "bristle",
+ "brittle",
+ "broach",
+ "broaches",
+ "broadcast",
+ "broader",
+ "brochure",
+ "brogan",
+ "brogans",
+ "brogue",
+ "broil",
+ "broiler",
+ "brokerage",
+ "brome",
+ "bromine",
+ "bronchus",
+ "bronzers",
+ "brooch",
+ "brook",
+ "broom",
+ "broth",
+ "brow",
+ "browbeat",
+ "brown",
+ "brownie",
+ "brownish",
+ "bruised",
+ "brushing",
+ "brushy",
+ "brusque",
+ "bubble",
+ "bubonic",
+ "buck",
+ "bucket",
+ "buckled",
+ "buff",
+ "buffet",
+ "buffeted",
+ "buffoon",
+ "bugging",
+ "bugle",
+ "build",
+ "bulb",
+ "bulbous",
+ "bulging",
+ "bulk",
+ "bulldoze",
+ "bulled",
+ "bullets",
+ "bullock",
+ "bully",
+ "bulrush",
+ "bulwark",
+ "bum",
+ "bumper",
+ "bumpers",
+ "bumptious",
+ "bumpy",
+ "bunch",
+ "bundle",
+ "bunghole",
+ "bungle",
+ "bungled",
+ "buoyancy",
+ "buoyant",
+ "burden",
+ "bureau",
+ "burger",
+ "burgess",
+ "burgher",
+ "burgundy",
+ "burlap",
+ "burned",
+ "burnet",
+ "burnish",
+ "burp",
+ "burping",
+ "burrows",
+ "bursar",
+ "busman",
+ "bussed",
+ "busses",
+ "bust",
+ "bustards",
+ "busters",
+ "bustier",
+ "busting",
+ "bustle",
+ "busty",
+ "busybody",
+ "butcher",
+ "butt",
+ "butte",
+ "buttered",
+ "buttress",
+ "buy",
+ "buyouts",
+ "buzzes",
+ "byline",
+ "cabal",
+ "cabalism",
+ "cabin",
+ "cabinet",
+ "cabriole",
+ "cacao",
+ "cacophony",
+ "cactus",
+ "caddies",
+ "caddis",
+ "caddy",
+ "cadence",
+ "cadenza",
+ "cadet",
+ "caitiff",
+ "cajole",
+ "cajolery",
+ "calculus",
+ "calf",
+ "calibers",
+ "calipers",
+ "call",
+ "called",
+ "caller",
+ "callosity",
+ "callow",
+ "calorie",
+ "calumny",
+ "came",
+ "cameo",
+ "camera",
+ "camp",
+ "campaign",
+ "canadian",
+ "canard",
+ "canary",
+ "candid",
+ "candor",
+ "canine",
+ "canines",
+ "canister",
+ "cannon",
+ "canny",
+ "canon",
+ "canonize",
+ "canopy",
+ "cant",
+ "cantata",
+ "canteen",
+ "canto",
+ "canvases",
+ "canvass",
+ "capable",
+ "capably",
+ "capacious",
+ "capillary",
+ "capital",
+ "capo",
+ "capon",
+ "caprice",
+ "capsizes",
+ "caption",
+ "captious",
+ "captivate",
+ "captor",
+ "capture",
+ "carbonate",
+ "carbos",
+ "carcass",
+ "card",
+ "cardiac",
+ "cardinal",
+ "care",
+ "caret",
+ "cargo",
+ "cargoes",
+ "caring",
+ "carload",
+ "carnage",
+ "carnal",
+ "carnival",
+ "carotene",
+ "carouse",
+ "carped",
+ "carpentry",
+ "carpet",
+ "carpeted",
+ "carried",
+ "carrion",
+ "carrot",
+ "cartilage",
+ "cartload",
+ "cartoons",
+ "cartridge",
+ "carve",
+ "case",
+ "cased",
+ "caseload",
+ "casement",
+ "cases",
+ "cashier",
+ "cashmere",
+ "casings",
+ "cast",
+ "caste",
+ "castigate",
+ "casting",
+ "casual",
+ "casualty",
+ "cat",
+ "cataclysm",
+ "catalans",
+ "catalyst",
+ "catalyze",
+ "cataract",
+ "cathode",
+ "catlike",
+ "caucus",
+ "caudal",
+ "causal",
+ "causally",
+ "cause",
+ "caused",
+ "caustic",
+ "cauterize",
+ "caution",
+ "caviar",
+ "ceaseless",
+ "cede",
+ "celebrate",
+ "celeriac",
+ "cell",
+ "cellar",
+ "cenotaph",
+ "censor",
+ "census",
+ "censuses",
+ "cent",
+ "centenary",
+ "centrally",
+ "centurion",
+ "ceramic",
+ "cereal",
+ "cessation",
+ "cession",
+ "chafe",
+ "chaff",
+ "chagrin",
+ "chain",
+ "chair",
+ "chalk",
+ "chameleon",
+ "champagne",
+ "chancery",
+ "channel",
+ "chanting",
+ "chaos",
+ "chap",
+ "chapel",
+ "char",
+ "charge",
+ "charlatan",
+ "charmed",
+ "charming",
+ "charred",
+ "chasm",
+ "chasten",
+ "chastise",
+ "chastity",
+ "chasuble",
+ "chateau",
+ "chattel",
+ "cheating",
+ "check",
+ "checkered",
+ "checkup",
+ "cheer",
+ "cheerio",
+ "cheesy",
+ "cherished",
+ "chervil",
+ "chicano",
+ "chick",
+ "chief",
+ "chieftain",
+ "chiffon",
+ "chill",
+ "chilled",
+ "chinaman",
+ "ching",
+ "chinooks",
+ "chip",
+ "chipmunk",
+ "chipped",
+ "chipping",
+ "chirpy",
+ "chisel",
+ "chiseled",
+ "chit",
+ "chivalry",
+ "chives",
+ "choice",
+ "choke",
+ "cholera",
+ "choleric",
+ "choral",
+ "christen",
+ "chromatic",
+ "chrome",
+ "chromed",
+ "chub",
+ "chucking",
+ "chuckle",
+ "chug",
+ "chump",
+ "chunk",
+ "chunky",
+ "churlish",
+ "churn",
+ "cichlids",
+ "cipher",
+ "circular",
+ "circulate",
+ "citadel",
+ "cite",
+ "citizen",
+ "civilize",
+ "claim",
+ "claimant",
+ "claimed",
+ "clambers",
+ "clamorous",
+ "clan",
+ "clang",
+ "clangor",
+ "clank",
+ "clap",
+ "clarify",
+ "clarion",
+ "clasped",
+ "clasping",
+ "classic",
+ "classify",
+ "classroom",
+ "classy",
+ "clavicle",
+ "claw",
+ "clay",
+ "clean",
+ "cleansed",
+ "clear",
+ "clearance",
+ "cleared",
+ "clearing",
+ "clearly",
+ "cleaving",
+ "clemency",
+ "clement",
+ "clergyman",
+ "clique",
+ "cloak",
+ "clocks",
+ "clockwork",
+ "clogged",
+ "cloister",
+ "clomps",
+ "cloned",
+ "closer",
+ "closeted",
+ "closure",
+ "clot",
+ "clothe",
+ "clothed",
+ "clothier",
+ "clouds",
+ "cloudy",
+ "clout",
+ "clove",
+ "cloying",
+ "cluck",
+ "clucks",
+ "clue",
+ "clumsier",
+ "clumsy",
+ "coagulant",
+ "coagulate",
+ "coalition",
+ "coarsely",
+ "coasted",
+ "coat",
+ "coated",
+ "coax",
+ "cob",
+ "cobalt",
+ "cobweb",
+ "cocci",
+ "cockpit",
+ "coddle",
+ "code",
+ "codger",
+ "codicil",
+ "codify",
+ "codon",
+ "codpiece",
+ "coerce",
+ "coercion",
+ "coercive",
+ "coexist",
+ "coffin",
+ "cogent",
+ "cognate",
+ "cognizant",
+ "cohere",
+ "coherent",
+ "cohesion",
+ "cohesive",
+ "cohost",
+ "coifed",
+ "coincide",
+ "coined",
+ "coital",
+ "cold",
+ "coldness",
+ "coleus",
+ "coliseum",
+ "collapse",
+ "collate",
+ "colleague",
+ "collector",
+ "collegian",
+ "collide",
+ "collie",
+ "collier",
+ "collision",
+ "colloquy",
+ "collusion",
+ "colon",
+ "colossal",
+ "colossus",
+ "colt",
+ "coltish",
+ "columns",
+ "comatose",
+ "combat",
+ "combated",
+ "combed",
+ "combers",
+ "combine",
+ "combos",
+ "come",
+ "comedic",
+ "comedown",
+ "comely",
+ "comes",
+ "comical",
+ "commando",
+ "commies",
+ "commingle",
+ "committal",
+ "commodity",
+ "commotion",
+ "communist",
+ "commute",
+ "commuting",
+ "compact",
+ "company",
+ "competent",
+ "complain",
+ "complex",
+ "complexly",
+ "compliant",
+ "component",
+ "comport",
+ "compose",
+ "composed",
+ "composer",
+ "compost",
+ "composts",
+ "composure",
+ "compound",
+ "compress",
+ "comprise",
+ "compute",
+ "comrades",
+ "con",
+ "conative",
+ "conceal",
+ "concealed",
+ "concede",
+ "conceit",
+ "conceive",
+ "concerted",
+ "concerto",
+ "concierge",
+ "concise",
+ "concord",
+ "concur",
+ "condense",
+ "conduce",
+ "conducive",
+ "conduit",
+ "confer",
+ "conferee",
+ "confessor",
+ "confetti",
+ "confidant",
+ "confide",
+ "confident",
+ "confine",
+ "confluent",
+ "conform",
+ "confound",
+ "confront",
+ "confuse",
+ "congeal",
+ "congenial",
+ "congest",
+ "conjoin",
+ "conjugal",
+ "conjugate",
+ "conjured",
+ "connect",
+ "connected",
+ "connector",
+ "connive",
+ "connote",
+ "connubial",
+ "conquer",
+ "conscious",
+ "conscript",
+ "consensus",
+ "consent",
+ "consign",
+ "consignee",
+ "consignor",
+ "console",
+ "consoled",
+ "consonant",
+ "consort",
+ "conspire",
+ "constable",
+ "constancy",
+ "constrict",
+ "consul",
+ "consulate",
+ "contagion",
+ "contains",
+ "contender",
+ "contessa",
+ "contest",
+ "continual",
+ "contort",
+ "contrail",
+ "contrary",
+ "contrite",
+ "contrive",
+ "control",
+ "contumacy",
+ "contuse",
+ "contusion",
+ "convene",
+ "converge",
+ "convert",
+ "convex",
+ "convivial",
+ "convolute",
+ "convolve",
+ "convoy",
+ "convulse",
+ "cookbook",
+ "cooked",
+ "cookie",
+ "cookout",
+ "cool",
+ "cooled",
+ "cooperate",
+ "coos",
+ "coped",
+ "copies",
+ "copious",
+ "copiously",
+ "copout",
+ "copped",
+ "copper",
+ "coquette",
+ "cordon",
+ "cork",
+ "corkscrew",
+ "corm",
+ "corn",
+ "cornered",
+ "cornice",
+ "cornmeal",
+ "corollary",
+ "coronet",
+ "corporal",
+ "corporate",
+ "corporeal",
+ "corps",
+ "corpse",
+ "corpulent",
+ "corpuscle",
+ "correctly",
+ "correlate",
+ "corrode",
+ "corroded",
+ "corrosion",
+ "corrosive",
+ "corrupted",
+ "corset",
+ "corseted",
+ "cortical",
+ "cosmetic",
+ "cosmetics",
+ "cosmic",
+ "cosmogony",
+ "cosmology",
+ "cosmonaut",
+ "cosmos",
+ "countess",
+ "couplers",
+ "courage",
+ "course",
+ "courser",
+ "courtesy",
+ "cousin",
+ "covenant",
+ "cover",
+ "covered",
+ "covering",
+ "covert",
+ "covey",
+ "cowardly",
+ "cower",
+ "cowled",
+ "coxswain",
+ "coy",
+ "cozying",
+ "crabs",
+ "crack",
+ "cracked",
+ "cracker",
+ "crackers",
+ "crackpot",
+ "craft",
+ "crag",
+ "cramp",
+ "cramped",
+ "crams",
+ "cranberry",
+ "cranium",
+ "craps",
+ "crapshoot",
+ "crass",
+ "crate",
+ "craving",
+ "craw",
+ "crawly",
+ "crazy",
+ "creak",
+ "cream",
+ "creamery",
+ "creaming",
+ "creamy",
+ "creator",
+ "creche",
+ "credence",
+ "credible",
+ "credibly",
+ "credits",
+ "credulous",
+ "creed",
+ "creep",
+ "creepy",
+ "crematory",
+ "crescent",
+ "cretan",
+ "cretin",
+ "crevasse",
+ "crevice",
+ "cribbage",
+ "cried",
+ "criers",
+ "crimp",
+ "crinkly",
+ "crippled",
+ "crippling",
+ "crisped",
+ "criteria",
+ "criterion",
+ "critical",
+ "critique",
+ "crocheted",
+ "crockery",
+ "crossbar",
+ "crosshair",
+ "crouched",
+ "croup",
+ "crow",
+ "crowbar",
+ "crowd",
+ "crown",
+ "crucible",
+ "crude",
+ "crudites",
+ "cruelty",
+ "cruise",
+ "crumb",
+ "crumpled",
+ "crunch",
+ "crunchy",
+ "crusade",
+ "crushed",
+ "crusted",
+ "crusts",
+ "cry",
+ "crybaby",
+ "cub",
+ "cube",
+ "cubist",
+ "cudgel",
+ "cued",
+ "cueing",
+ "cuff",
+ "culinary",
+ "cull",
+ "culpable",
+ "culprit",
+ "cultivar",
+ "culture",
+ "culvert",
+ "cupful",
+ "cupid",
+ "cupidity",
+ "curable",
+ "curator",
+ "curb",
+ "cured",
+ "curio",
+ "curiously",
+ "curl",
+ "currency",
+ "currently",
+ "cursive",
+ "cursor",
+ "cursory",
+ "curt",
+ "curtail",
+ "curtsy",
+ "curve",
+ "curved",
+ "curving",
+ "custards",
+ "customer",
+ "cutover",
+ "cutting",
+ "cuttings",
+ "cycled",
+ "cycling",
+ "cycloid",
+ "cygnet",
+ "cynic",
+ "cynical",
+ "cynicism",
+ "cynosure",
+ "cyst",
+ "dabbed",
+ "dabs",
+ "dagger",
+ "daily",
+ "dales",
+ "dali",
+ "dalliance",
+ "dam",
+ "dame",
+ "dames",
+ "damned",
+ "damp",
+ "dance",
+ "dancing",
+ "daring",
+ "darkling",
+ "darkly",
+ "darling",
+ "darn",
+ "dashboard",
+ "dashed",
+ "dastard",
+ "date",
+ "dated",
+ "dating",
+ "datum",
+ "dauber",
+ "daunting",
+ "dauntless",
+ "daylight",
+ "daypack",
+ "daytime",
+ "daywear",
+ "dazed",
+ "dazedly",
+ "dazzle",
+ "dazzled",
+ "dba",
+ "deadened",
+ "deadlock",
+ "deafening",
+ "deal",
+ "dearest",
+ "dearth",
+ "debase",
+ "debatable",
+ "debated",
+ "debonair",
+ "debrief",
+ "debut",
+ "decadence",
+ "decagon",
+ "decagram",
+ "decaliter",
+ "decalogue",
+ "decameter",
+ "decamp",
+ "decapod",
+ "decayed",
+ "deceit",
+ "deceitful",
+ "deceive",
+ "decency",
+ "decent",
+ "deception",
+ "deceptive",
+ "decide",
+ "decides",
+ "deciding",
+ "deciduous",
+ "decimal",
+ "decimate",
+ "decipher",
+ "decisive",
+ "decker",
+ "decks",
+ "decorate",
+ "decorous",
+ "decoy",
+ "decoys",
+ "decrease",
+ "decreed",
+ "decrepit",
+ "decrying",
+ "dedicate",
+ "deduce",
+ "deduces",
+ "deed",
+ "deep",
+ "deepen",
+ "deepens",
+ "deer",
+ "deface",
+ "defalcate",
+ "defame",
+ "defamed",
+ "defanged",
+ "default",
+ "defaults",
+ "defective",
+ "defendant",
+ "defensive",
+ "defer",
+ "deference",
+ "defiant",
+ "deficient",
+ "defiled",
+ "definite",
+ "deflate",
+ "deflates",
+ "deflect",
+ "deforest",
+ "deform",
+ "deformed",
+ "deformity",
+ "defraud",
+ "defray",
+ "deft",
+ "degrade",
+ "degraded",
+ "degrading",
+ "dehydrate",
+ "deified",
+ "deify",
+ "deign",
+ "deist",
+ "deists",
+ "deity",
+ "deject",
+ "dejected",
+ "dejection",
+ "delay",
+ "delayed",
+ "delete",
+ "delft",
+ "deli",
+ "delicacy",
+ "delineate",
+ "delirious",
+ "delirium",
+ "delivery",
+ "delude",
+ "deluge",
+ "delusion",
+ "demagogue",
+ "demeanor",
+ "demented",
+ "demerit",
+ "demise",
+ "demo",
+ "demolish",
+ "demon",
+ "demotic",
+ "demulcent",
+ "demur",
+ "demurrage",
+ "dendroid",
+ "denial",
+ "denizen",
+ "denote",
+ "denounce",
+ "dented",
+ "denude",
+ "denuding",
+ "deodorant",
+ "depicted",
+ "deplete",
+ "deplore",
+ "deploy",
+ "deponent",
+ "deport",
+ "deposed",
+ "depositor",
+ "depot",
+ "deprave",
+ "deprecate",
+ "depress",
+ "depth",
+ "deputy",
+ "derby",
+ "derelict",
+ "deride",
+ "derisible",
+ "derision",
+ "derive",
+ "derives",
+ "derrick",
+ "derriere",
+ "descent",
+ "descry",
+ "desert",
+ "deserted",
+ "deserved",
+ "deserving",
+ "desiccant",
+ "designate",
+ "designed",
+ "desirous",
+ "desist",
+ "desktop",
+ "desolate",
+ "despair",
+ "desperado",
+ "desperate",
+ "despite",
+ "despond",
+ "despot",
+ "despotism",
+ "dessert",
+ "destiny",
+ "destitute",
+ "desultory",
+ "detach",
+ "deter",
+ "deterrent",
+ "detest",
+ "detonator",
+ "detract",
+ "detriment",
+ "detrude",
+ "devastate",
+ "develops",
+ "deviance",
+ "deviate",
+ "device",
+ "devices",
+ "devilry",
+ "deviltry",
+ "devious",
+ "devise",
+ "devised",
+ "devolve",
+ "devout",
+ "devoutly",
+ "dexterity",
+ "dhows",
+ "diabolic",
+ "diagnose",
+ "diagnosis",
+ "dial",
+ "dialect",
+ "dialed",
+ "dialogue",
+ "diarist",
+ "diarists",
+ "diarrhea",
+ "diatomic",
+ "diatribe",
+ "dichotomy",
+ "diction",
+ "dictum",
+ "didactic",
+ "diddling",
+ "diffident",
+ "diffuse",
+ "diffusion",
+ "dignitary",
+ "digraph",
+ "digress",
+ "dilate",
+ "dilates",
+ "dilatory",
+ "dildos",
+ "dilemma",
+ "diligence",
+ "dill",
+ "dilute",
+ "dimension",
+ "dimly",
+ "dims",
+ "diner",
+ "dinghies",
+ "dinky",
+ "dint",
+ "diphthong",
+ "diplomacy",
+ "diplomat",
+ "dipping",
+ "direct",
+ "directive",
+ "direst",
+ "dirtied",
+ "disabled",
+ "disagree",
+ "disallow",
+ "disappear",
+ "disarm",
+ "disarmed",
+ "disavow",
+ "disavowal",
+ "disburden",
+ "disburse",
+ "discard",
+ "discern",
+ "disciple",
+ "disclaim",
+ "disco",
+ "discolor",
+ "discomfit",
+ "discord",
+ "discover",
+ "discredit",
+ "discreet",
+ "disdain",
+ "disembody",
+ "disengage",
+ "disfavor",
+ "disfigure",
+ "disgrace",
+ "dish",
+ "dishes",
+ "dishonest",
+ "disinfect",
+ "dislocate",
+ "dislodge",
+ "dismal",
+ "dismissal",
+ "dismount",
+ "disobeys",
+ "disown",
+ "disowned",
+ "disparage",
+ "disparity",
+ "dispel",
+ "dispirit",
+ "displace",
+ "displaced",
+ "disposed",
+ "disposer",
+ "disputed",
+ "disputes",
+ "disquiet",
+ "disregard",
+ "disrepute",
+ "disrobe",
+ "disrupt",
+ "dissect",
+ "dissemble",
+ "dissent",
+ "dissever",
+ "dissipate",
+ "dissolute",
+ "dissolve",
+ "dissonant",
+ "dissuade",
+ "distance",
+ "distant",
+ "distemper",
+ "distend",
+ "distill",
+ "distiller",
+ "distort",
+ "distorted",
+ "distrain",
+ "distrust",
+ "disunion",
+ "diurnal",
+ "diver",
+ "divergent",
+ "diverse",
+ "diversion",
+ "diversity",
+ "divert",
+ "divest",
+ "divide",
+ "divided",
+ "divider",
+ "dividing",
+ "divinely",
+ "divinity",
+ "divisible",
+ "divisive",
+ "divisor",
+ "divulge",
+ "dizzy",
+ "docile",
+ "docket",
+ "dockside",
+ "doctor",
+ "doctorate",
+ "document",
+ "dodo",
+ "doe",
+ "doer",
+ "doff",
+ "dogfight",
+ "doggedly",
+ "doggie",
+ "dogma",
+ "dogmatic",
+ "dogmatize",
+ "dogsled",
+ "dole",
+ "doled",
+ "doleful",
+ "dolesome",
+ "dollies",
+ "dolor",
+ "dolorous",
+ "doltish",
+ "dolts",
+ "domain",
+ "domicile",
+ "dominance",
+ "dominant",
+ "dominate",
+ "domineer",
+ "donate",
+ "donator",
+ "donee",
+ "donkey",
+ "donor",
+ "doodled",
+ "doomsayer",
+ "door",
+ "doorpost",
+ "dormant",
+ "dorsal",
+ "dosas",
+ "dosed",
+ "dotcom",
+ "dotted",
+ "double",
+ "doublet",
+ "doubling",
+ "doubly",
+ "doubt",
+ "doubted",
+ "doubter",
+ "doughy",
+ "dove",
+ "down",
+ "downer",
+ "downgrade",
+ "downplay",
+ "downpour",
+ "downward",
+ "dowry",
+ "doyen",
+ "doyenne",
+ "doze",
+ "dozens",
+ "dozes",
+ "drabness",
+ "drachma",
+ "draft",
+ "draftees",
+ "drafty",
+ "dragnet",
+ "dragoon",
+ "dragoons",
+ "drain",
+ "drainage",
+ "dramatist",
+ "dramatize",
+ "drape",
+ "drastic",
+ "dream",
+ "drearily",
+ "drenches",
+ "dress",
+ "dressing",
+ "dribble",
+ "drill",
+ "dripping",
+ "drive",
+ "driveway",
+ "driving",
+ "drizzle",
+ "drone",
+ "droning",
+ "drool",
+ "droopy",
+ "droplet",
+ "dropoff",
+ "drought",
+ "drowsy",
+ "drudgery",
+ "druids",
+ "drummer",
+ "drunk",
+ "drunks",
+ "dubbed",
+ "dubious",
+ "duckling",
+ "ductile",
+ "dud",
+ "due",
+ "duel",
+ "duet",
+ "dun",
+ "dung",
+ "dunk",
+ "dupe",
+ "duplex",
+ "duplexer",
+ "duplicity",
+ "durance",
+ "duration",
+ "dusky",
+ "dust",
+ "duster",
+ "dusting",
+ "duteous",
+ "dutiable",
+ "dutiful",
+ "dwarf",
+ "dweeb",
+ "dweller",
+ "dwelling",
+ "dwindle",
+ "dyed",
+ "dynamic",
+ "dynamism",
+ "dyne",
+ "each",
+ "eagerly",
+ "eardrum",
+ "eardrums",
+ "earless",
+ "earlier",
+ "early",
+ "earn",
+ "earnest",
+ "earplug",
+ "earthwork",
+ "eatable",
+ "eave",
+ "ebb",
+ "ebullient",
+ "eccentric",
+ "ecclesia",
+ "echo",
+ "echoing",
+ "eclipse",
+ "ecliptic",
+ "economize",
+ "ecstasy",
+ "ecstatic",
+ "edible",
+ "edict",
+ "edify",
+ "editorial",
+ "educate",
+ "educe",
+ "efface",
+ "effect",
+ "effective",
+ "effectual",
+ "effete",
+ "efficacy",
+ "efficient",
+ "effluvium",
+ "effuse",
+ "effusion",
+ "egghead",
+ "eggnog",
+ "egoism",
+ "egoist",
+ "egotism",
+ "egotist",
+ "egregious",
+ "egress",
+ "egret",
+ "eighteen",
+ "eject",
+ "ejecting",
+ "ejector",
+ "ejido",
+ "ekes",
+ "eland",
+ "elapse",
+ "elastics",
+ "elbow",
+ "eld",
+ "elder",
+ "elegy",
+ "element",
+ "elevation",
+ "elicit",
+ "eligible",
+ "eliminate",
+ "elite",
+ "elixir",
+ "ellagic",
+ "elm",
+ "elms",
+ "elocution",
+ "eloquence",
+ "eloquent",
+ "elucidate",
+ "elude",
+ "elusion",
+ "elusive",
+ "emaciate",
+ "emanate",
+ "embalmed",
+ "embargo",
+ "embark",
+ "embarrass",
+ "embedded",
+ "embellish",
+ "embezzle",
+ "emblazon",
+ "emblem",
+ "embody",
+ "embolden",
+ "embolism",
+ "embrace",
+ "embroil",
+ "emerge",
+ "emergence",
+ "emergent",
+ "emeritus",
+ "emigrant",
+ "emigrate",
+ "eminence",
+ "eminent",
+ "emit",
+ "emitter",
+ "emotions",
+ "empathic",
+ "emperor",
+ "emphasis",
+ "emphasize",
+ "emphatic",
+ "employed",
+ "employee",
+ "employer",
+ "employs",
+ "emporium",
+ "empower",
+ "empowers",
+ "empty",
+ "emulate",
+ "emulated",
+ "enact",
+ "enamor",
+ "encamp",
+ "encased",
+ "enchant",
+ "enclave",
+ "enclosed",
+ "encomium",
+ "encompass",
+ "encore",
+ "encourage",
+ "encroach",
+ "encumber",
+ "endanger",
+ "endear",
+ "endeavor",
+ "ended",
+ "endemic",
+ "endgame",
+ "endlessly",
+ "ends",
+ "endue",
+ "endurable",
+ "endurance",
+ "energetic",
+ "enervate",
+ "enfeeble",
+ "engender",
+ "engrave",
+ "engraved",
+ "engross",
+ "engulfed",
+ "enhance",
+ "enhanced",
+ "enigma",
+ "enjoin",
+ "enjoy",
+ "enjoyment",
+ "enkindle",
+ "enlighten",
+ "enlist",
+ "enliven",
+ "enmity",
+ "ennoble",
+ "enormity",
+ "enormous",
+ "enrage",
+ "enrapture",
+ "enriched",
+ "enroll",
+ "enshrine",
+ "ensnare",
+ "ensnared",
+ "ensue",
+ "ensuing",
+ "entail",
+ "entangle",
+ "enthrall",
+ "enthrone",
+ "enthuse",
+ "enticing",
+ "entirety",
+ "entitled",
+ "entity",
+ "entrails",
+ "entrap",
+ "entreaty",
+ "entree",
+ "entrench",
+ "entrust",
+ "entry",
+ "entwine",
+ "enumerate",
+ "enviable",
+ "envious",
+ "envy",
+ "envying",
+ "ephemera",
+ "epic",
+ "epicure",
+ "epicycle",
+ "epidemic",
+ "epidermis",
+ "epigram",
+ "epilogue",
+ "epiphany",
+ "episode",
+ "episodic",
+ "epitaph",
+ "epithet",
+ "epitome",
+ "epizootic",
+ "epoch",
+ "epode",
+ "eponym",
+ "equaling",
+ "equality",
+ "equalize",
+ "equate",
+ "equitable",
+ "equity",
+ "equivocal",
+ "eradicate",
+ "erect",
+ "errant",
+ "erratic",
+ "erroneous",
+ "error",
+ "erstwhile",
+ "erudite",
+ "erudition",
+ "escapes",
+ "escaping",
+ "escarole",
+ "eschew",
+ "espionage",
+ "espy",
+ "esquire",
+ "essayed",
+ "essence",
+ "essential",
+ "esteemed",
+ "esthetic",
+ "estimable",
+ "estrange",
+ "estrogen",
+ "estuary",
+ "etcetera",
+ "etch",
+ "etiquette",
+ "eugenic",
+ "eulogize",
+ "eulogy",
+ "euphemism",
+ "euphony",
+ "eureka",
+ "evade",
+ "evanesce",
+ "evasion",
+ "even",
+ "evensong",
+ "event",
+ "eventful",
+ "eventual",
+ "ever",
+ "evergreen",
+ "evert",
+ "everyone",
+ "evict",
+ "eviction",
+ "evidence",
+ "evil",
+ "evince",
+ "evincing",
+ "evoke",
+ "evolution",
+ "evolve",
+ "evolves",
+ "examiner",
+ "excavate",
+ "exceed",
+ "excel",
+ "excellent",
+ "excels",
+ "excepting",
+ "excerpt",
+ "excess",
+ "excitable",
+ "excitedly",
+ "exclude",
+ "excluded",
+ "exclusion",
+ "excretion",
+ "excursion",
+ "excusable",
+ "excuse",
+ "execrable",
+ "executive",
+ "executor",
+ "exegesis",
+ "exemplar",
+ "exemplary",
+ "exemplify",
+ "exempt",
+ "exempted",
+ "exert",
+ "exhale",
+ "exhaled",
+ "exhaust",
+ "exhume",
+ "exigency",
+ "exigent",
+ "existence",
+ "existing",
+ "exists",
+ "exit",
+ "exits",
+ "exodus",
+ "exonerate",
+ "exorcise",
+ "exotic",
+ "expand",
+ "expanse",
+ "expansion",
+ "expansive",
+ "expect",
+ "expected",
+ "expedient",
+ "expedite",
+ "expend",
+ "expense",
+ "experts",
+ "expiate",
+ "expired",
+ "explain",
+ "explicate",
+ "explicit",
+ "explode",
+ "exploding",
+ "exploiter",
+ "explosion",
+ "explosive",
+ "export",
+ "exposure",
+ "expulsion",
+ "extant",
+ "extempore",
+ "extend",
+ "extension",
+ "extensive",
+ "extensor",
+ "extenuate",
+ "exterior",
+ "external",
+ "extinct",
+ "extol",
+ "extort",
+ "extortion",
+ "extradite",
+ "extremist",
+ "extremity",
+ "extricate",
+ "extrude",
+ "exuberant",
+ "exurbs",
+ "eyed",
+ "eyelash",
+ "eyelid",
+ "eyesight",
+ "fabled",
+ "fables",
+ "fabricate",
+ "fabulous",
+ "face",
+ "faceless",
+ "facelift",
+ "facet",
+ "facetious",
+ "facial",
+ "facile",
+ "facility",
+ "facsimile",
+ "faction",
+ "factious",
+ "factual",
+ "faculty",
+ "fading",
+ "fail",
+ "faint",
+ "fairly",
+ "faith",
+ "fake",
+ "falcon",
+ "fallacy",
+ "fallback",
+ "fallen",
+ "fallible",
+ "falling",
+ "fallow",
+ "family",
+ "famine",
+ "famish",
+ "famished",
+ "famous",
+ "fanatic",
+ "fancier",
+ "fancies",
+ "fanciless",
+ "fancy",
+ "fanfare",
+ "fanned",
+ "fannies",
+ "far",
+ "farm",
+ "farming",
+ "fart",
+ "fashion",
+ "fastball",
+ "faster",
+ "fatalism",
+ "fathers",
+ "fathom",
+ "fatties",
+ "fatuous",
+ "faulty",
+ "faun",
+ "favor",
+ "fawn",
+ "fax",
+ "faxes",
+ "fealty",
+ "fear",
+ "feasible",
+ "feasted",
+ "feathered",
+ "feature",
+ "features",
+ "febrile",
+ "fecund",
+ "federate",
+ "fedora",
+ "feeling",
+ "feels",
+ "feint",
+ "felicity",
+ "feline",
+ "fell",
+ "fellow",
+ "felon",
+ "felonious",
+ "felony",
+ "female",
+ "feminine",
+ "femoral",
+ "fen",
+ "fenced",
+ "fencing",
+ "fend",
+ "fender",
+ "fernery",
+ "ferns",
+ "ferocious",
+ "ferocity",
+ "ferry",
+ "fervent",
+ "fervid",
+ "fervor",
+ "fessed",
+ "festal",
+ "festive",
+ "fetches",
+ "fete",
+ "fetus",
+ "feudal",
+ "feudalism",
+ "fevers",
+ "fez",
+ "fiasco",
+ "fibrotic",
+ "fibs",
+ "fickle",
+ "fiction",
+ "fiddler",
+ "fidelity",
+ "fiducial",
+ "fief",
+ "fiendish",
+ "fiercely",
+ "fifth",
+ "fig",
+ "figure",
+ "filament",
+ "filberts",
+ "filers",
+ "filet",
+ "fill",
+ "filmed",
+ "filmy",
+ "filtered",
+ "filth",
+ "final",
+ "finale",
+ "finales",
+ "finality",
+ "finally",
+ "finance",
+ "financial",
+ "financier",
+ "finery",
+ "finesse",
+ "finger",
+ "finish",
+ "finisher",
+ "finite",
+ "fireman",
+ "fireplace",
+ "fires",
+ "firm",
+ "first",
+ "fiscal",
+ "fishbone",
+ "fishery",
+ "fishes",
+ "fissure",
+ "fisting",
+ "fit",
+ "fitful",
+ "fitted",
+ "fix",
+ "fixes",
+ "fixture",
+ "fizzles",
+ "fjord",
+ "flag",
+ "flagpole",
+ "flagrant",
+ "flags",
+ "flame",
+ "flamed",
+ "flanker",
+ "flare",
+ "flared",
+ "flash",
+ "flasher",
+ "flatboat",
+ "flaunted",
+ "flavor",
+ "flawless",
+ "fleck",
+ "flection",
+ "fledged",
+ "fledgling",
+ "fleece",
+ "fleeting",
+ "fleshing",
+ "flexible",
+ "flicked",
+ "flicks",
+ "flimsy",
+ "flippant",
+ "flirts",
+ "flit",
+ "floating",
+ "flocked",
+ "floe",
+ "flogged",
+ "floods",
+ "floozie",
+ "flora",
+ "floral",
+ "florid",
+ "florist",
+ "flout",
+ "flowing",
+ "flu",
+ "fluctuate",
+ "flue",
+ "fluent",
+ "fluential",
+ "fluffier",
+ "fluidly",
+ "fluke",
+ "flunk",
+ "flush",
+ "fluted",
+ "flutist",
+ "flux",
+ "fly",
+ "flyer",
+ "focal",
+ "focally",
+ "focus",
+ "foe",
+ "fog",
+ "foggy",
+ "foible",
+ "foist",
+ "folds",
+ "foliage",
+ "folic",
+ "folio",
+ "fond",
+ "fondle",
+ "fondly",
+ "fondness",
+ "foolery",
+ "foolishly",
+ "foolproof",
+ "footed",
+ "foothill",
+ "footless",
+ "footloose",
+ "footprint",
+ "footrest",
+ "foppery",
+ "foppish",
+ "foray",
+ "forby",
+ "forces",
+ "forcible",
+ "fore",
+ "forearm",
+ "forebear",
+ "forebode",
+ "forecast",
+ "foreclose",
+ "forecourt",
+ "forego",
+ "forehead",
+ "foreign",
+ "foreigner",
+ "forejudge",
+ "foreman",
+ "forepeak",
+ "foreplay",
+ "forerun",
+ "foresail",
+ "foresee",
+ "foreshore",
+ "foresight",
+ "forestry",
+ "forests",
+ "foretell",
+ "foretold",
+ "forever",
+ "foreword",
+ "forfeit",
+ "forfend",
+ "forger",
+ "forgery",
+ "forget",
+ "forgiving",
+ "forgo",
+ "fork",
+ "forkful",
+ "forklift",
+ "format",
+ "formation",
+ "former",
+ "formula",
+ "forsakes",
+ "forswear",
+ "fort",
+ "forte",
+ "forth",
+ "fortify",
+ "fortitude",
+ "fortnight",
+ "forum",
+ "forwards",
+ "fostered",
+ "fourfold",
+ "foursome",
+ "fourth",
+ "fracture",
+ "fragile",
+ "frail",
+ "frailty",
+ "frame",
+ "franchise",
+ "frantic",
+ "frat",
+ "fraternal",
+ "fraud",
+ "fraught",
+ "fray",
+ "frazzle",
+ "freak",
+ "freaking",
+ "freakish",
+ "freaks",
+ "free",
+ "freed",
+ "freelance",
+ "freely",
+ "freemason",
+ "freeplay",
+ "freesia",
+ "freezer",
+ "freight",
+ "frenetic",
+ "frequency",
+ "fresco",
+ "freshness",
+ "fret",
+ "fretful",
+ "fries",
+ "frigging",
+ "fright",
+ "frighten",
+ "frightful",
+ "frigid",
+ "frilled",
+ "frills",
+ "fringe",
+ "frivolity",
+ "frivolous",
+ "frizz",
+ "frizzle",
+ "frizzy",
+ "frontier",
+ "frostbite",
+ "frowzy",
+ "froze",
+ "frozen",
+ "frugal",
+ "frugally",
+ "fruiting",
+ "fruition",
+ "fruity",
+ "frying",
+ "fueled",
+ "fugacious",
+ "fulcrum",
+ "fulminate",
+ "fulsome",
+ "fume",
+ "fumigate",
+ "funds",
+ "funereal",
+ "fungible",
+ "fungous",
+ "fungus",
+ "funk",
+ "funkiest",
+ "funnies",
+ "funny",
+ "furbish",
+ "furious",
+ "furled",
+ "furlong",
+ "furlough",
+ "furnish",
+ "furrier",
+ "further",
+ "furtive",
+ "fusarium",
+ "fuse",
+ "fusible",
+ "fusillade",
+ "fussed",
+ "futile",
+ "futurist",
+ "gabbling",
+ "gabled",
+ "gaffer",
+ "gagged",
+ "gaggle",
+ "gaiety",
+ "gaily",
+ "gained",
+ "gaining",
+ "gait",
+ "gala",
+ "gale",
+ "gallant",
+ "gallantly",
+ "galore",
+ "galvanic",
+ "galvanism",
+ "galvanize",
+ "gamble",
+ "gambol",
+ "game",
+ "gamebird",
+ "gamester",
+ "gamine",
+ "gaming",
+ "gamut",
+ "gardens",
+ "gargle",
+ "garish",
+ "garland",
+ "garlic",
+ "garlicky",
+ "garner",
+ "garnish",
+ "garrison",
+ "garrote",
+ "garrulous",
+ "gaseous",
+ "gastric",
+ "gastritis",
+ "gather",
+ "gathered",
+ "gaudiest",
+ "gaudy",
+ "gauge",
+ "gauges",
+ "gawk",
+ "gawks",
+ "gay",
+ "geared",
+ "geezer",
+ "gemsbok",
+ "gendarme",
+ "genealogy",
+ "generally",
+ "generate",
+ "generic",
+ "genesis",
+ "genetics",
+ "geniality",
+ "genital",
+ "genitive",
+ "genomes",
+ "genteel",
+ "gentile",
+ "gentle",
+ "gentry",
+ "genuine",
+ "geology",
+ "germane",
+ "germinate",
+ "gestalt",
+ "gestation",
+ "gesture",
+ "gestured",
+ "getaway",
+ "geyser",
+ "ghastly",
+ "gherkin",
+ "ghosting",
+ "ghoulish",
+ "giant",
+ "gibbous",
+ "gibe",
+ "giddy",
+ "gift",
+ "gigantic",
+ "ginseng",
+ "girdle",
+ "girlie",
+ "git",
+ "give",
+ "given",
+ "giver",
+ "giving",
+ "glacial",
+ "glacier",
+ "gladden",
+ "gladioli",
+ "glanced",
+ "glances",
+ "glassware",
+ "glazier",
+ "gleam",
+ "glen",
+ "glided",
+ "glimmer",
+ "glimpse",
+ "glints",
+ "glioma",
+ "glittery",
+ "globes",
+ "globose",
+ "globular",
+ "globules",
+ "gloom",
+ "gloried",
+ "glorify",
+ "glorious",
+ "glory",
+ "glow",
+ "glut",
+ "glutinous",
+ "glycemic",
+ "gnash",
+ "goalpost",
+ "goat",
+ "goatee",
+ "goats",
+ "gobble",
+ "godly",
+ "gold",
+ "golly",
+ "goodbye",
+ "goodie",
+ "goofily",
+ "gook",
+ "gopher",
+ "gordian",
+ "gorge",
+ "gory",
+ "gosling",
+ "goslings",
+ "gossamer",
+ "gourd",
+ "gourmand",
+ "gown",
+ "graceless",
+ "gradation",
+ "grade",
+ "graded",
+ "graders",
+ "gradient",
+ "gradual",
+ "graffiti",
+ "grail",
+ "granary",
+ "grand",
+ "grandeur",
+ "grandiose",
+ "grandmom",
+ "grandpa",
+ "granny",
+ "grantee",
+ "grantor",
+ "granular",
+ "granulate",
+ "granule",
+ "grape",
+ "graph",
+ "graphic",
+ "grapple",
+ "grasp",
+ "grasping",
+ "grassy",
+ "gratify",
+ "gratuity",
+ "gravelly",
+ "gravity",
+ "grayed",
+ "graying",
+ "greasier",
+ "green",
+ "greenback",
+ "greeter",
+ "grenadier",
+ "greying",
+ "greyness",
+ "gridlike",
+ "grief",
+ "grievance",
+ "grievous",
+ "grimace",
+ "grind",
+ "grins",
+ "grip",
+ "gripes",
+ "gripped",
+ "grisly",
+ "grit",
+ "groggy",
+ "groom",
+ "groomers",
+ "grope",
+ "groped",
+ "grotesque",
+ "grotto",
+ "ground",
+ "grounding",
+ "group",
+ "grouping",
+ "grousing",
+ "growls",
+ "growths",
+ "grudge",
+ "grueling",
+ "grumble",
+ "grumbled",
+ "grumbling",
+ "grumpy",
+ "grungy",
+ "guard",
+ "guardrail",
+ "guerrilla",
+ "guess",
+ "guessing",
+ "guidance",
+ "guidebook",
+ "guided",
+ "guile",
+ "guileless",
+ "guilty",
+ "guinea",
+ "guise",
+ "gullible",
+ "gumbo",
+ "gummed",
+ "gumption",
+ "gunfight",
+ "gunmetal",
+ "gunships",
+ "gunshot",
+ "gunshots",
+ "gurney",
+ "gust",
+ "gusto",
+ "gusty",
+ "gutter",
+ "guy",
+ "guzzle",
+ "gym",
+ "gyrate",
+ "gyrating",
+ "gyre",
+ "gyroscope",
+ "habitable",
+ "habitant",
+ "habitual",
+ "habitude",
+ "hack",
+ "hackle",
+ "hackney",
+ "hackwork",
+ "haggard",
+ "haggling",
+ "hair",
+ "hairline",
+ "hairpin",
+ "hairy",
+ "halcyon",
+ "hale",
+ "halfback",
+ "halibut",
+ "hallowed",
+ "hammer",
+ "hammering",
+ "hamming",
+ "hamper",
+ "hampers",
+ "handbag",
+ "handball",
+ "handedly",
+ "handily",
+ "handling",
+ "handmade",
+ "handout",
+ "handy",
+ "handyman",
+ "hang",
+ "hanger",
+ "hanker",
+ "hankering",
+ "haole",
+ "happened",
+ "harangue",
+ "harass",
+ "harbinger",
+ "harbour",
+ "hardening",
+ "hardier",
+ "hardihood",
+ "hardly",
+ "harm",
+ "harmless",
+ "harness",
+ "harvest",
+ "harvests",
+ "hashed",
+ "hassle",
+ "hassling",
+ "hastily",
+ "hasty",
+ "hat",
+ "hatch",
+ "hater",
+ "hatless",
+ "haunt",
+ "have",
+ "havoc",
+ "haw",
+ "hawker",
+ "hawking",
+ "hawkish",
+ "hawthorn",
+ "hazard",
+ "hazardous",
+ "haziness",
+ "head",
+ "headed",
+ "headland",
+ "headrest",
+ "heads",
+ "headship",
+ "heady",
+ "heal",
+ "healed",
+ "healthful",
+ "hearken",
+ "hearsay",
+ "hearted",
+ "hearten",
+ "heartless",
+ "heated",
+ "heathen",
+ "heavy",
+ "hectares",
+ "hedge",
+ "hedges",
+ "heedless",
+ "heifer",
+ "height",
+ "heinie",
+ "heinous",
+ "heist",
+ "helicity",
+ "hellcat",
+ "helm",
+ "helo",
+ "helpful",
+ "hen",
+ "henchman",
+ "henpeck",
+ "heptagon",
+ "heptarchy",
+ "her",
+ "herbarium",
+ "hereby",
+ "heredity",
+ "heresy",
+ "heretic",
+ "herewith",
+ "heritage",
+ "hernia",
+ "heroic",
+ "herstory",
+ "hesitancy",
+ "hesitant",
+ "hetero",
+ "heterodox",
+ "hexagon",
+ "hexapod",
+ "heyday",
+ "hiatus",
+ "hibernal",
+ "hickory",
+ "hideaway",
+ "hideous",
+ "hie",
+ "high",
+ "higher",
+ "hightail",
+ "hiker",
+ "hilarious",
+ "hillbilly",
+ "hillock",
+ "hillside",
+ "hinder",
+ "hindmost",
+ "hindrance",
+ "hint",
+ "hints",
+ "hippest",
+ "hirsute",
+ "his",
+ "hissy",
+ "history",
+ "hitherto",
+ "hive",
+ "hmong",
+ "hoard",
+ "hoarse",
+ "hobbit",
+ "hobnob",
+ "hock",
+ "hockey",
+ "hog",
+ "holdover",
+ "hole",
+ "hollowed",
+ "hollowly",
+ "homage",
+ "home",
+ "homed",
+ "homely",
+ "homemade",
+ "homemaker",
+ "homespun",
+ "homework",
+ "homily",
+ "homonym",
+ "homophone",
+ "homos",
+ "honoree",
+ "honorific",
+ "hood",
+ "hoodwink",
+ "hook",
+ "hooks",
+ "hoot",
+ "hopeless",
+ "hopscotch",
+ "horde",
+ "hornless",
+ "horny",
+ "horribly",
+ "hosed",
+ "hosiery",
+ "hosing",
+ "hospice",
+ "host",
+ "hostility",
+ "hot",
+ "hotline",
+ "howitzer",
+ "huckster",
+ "huddled",
+ "huff",
+ "huffed",
+ "hum",
+ "human",
+ "humane",
+ "humanize",
+ "humbling",
+ "humbug",
+ "humiliate",
+ "humming",
+ "hummocks",
+ "humorless",
+ "humping",
+ "hunch",
+ "hunger",
+ "hungry",
+ "hunk",
+ "hunks",
+ "hunt",
+ "hunts",
+ "hurdle",
+ "hurdler",
+ "hurt",
+ "hurting",
+ "hurtle",
+ "husband",
+ "hussar",
+ "hustle",
+ "hustled",
+ "hustlers",
+ "hybrid",
+ "hydra",
+ "hydraulic",
+ "hydride",
+ "hydrous",
+ "hygiene",
+ "hygienist",
+ "hyphal",
+ "hypnosis",
+ "hypnotic",
+ "hypnotism",
+ "hypnotize",
+ "hypocrisy",
+ "hypocrite",
+ "hysteria",
+ "icebox",
+ "icecream",
+ "iceman",
+ "ichthyic",
+ "icily",
+ "iciness",
+ "icon",
+ "icy",
+ "ideal",
+ "idealize",
+ "identify",
+ "idiom",
+ "idolize",
+ "idylls",
+ "ignoble",
+ "ignore",
+ "ignored",
+ "iguana",
+ "ill",
+ "illegal",
+ "illegible",
+ "illiberal",
+ "illicit",
+ "illiquid",
+ "illness",
+ "illogical",
+ "illumine",
+ "illusion",
+ "illusive",
+ "illusory",
+ "image",
+ "imaginary",
+ "imagine",
+ "imago",
+ "imbalance",
+ "imbibe",
+ "imbroglio",
+ "imbrue",
+ "imitation",
+ "imitator",
+ "immature",
+ "immense",
+ "immensity",
+ "immerse",
+ "immersion",
+ "immigrant",
+ "immigrate",
+ "imminence",
+ "imminent",
+ "immodest",
+ "immoral",
+ "immovable",
+ "immune",
+ "immutable",
+ "impact",
+ "impair",
+ "impaired",
+ "impale",
+ "impaling",
+ "impartial",
+ "impassive",
+ "impatient",
+ "impede",
+ "impedes",
+ "impel",
+ "impend",
+ "imperil",
+ "imperiled",
+ "imperious",
+ "impetuous",
+ "impetus",
+ "impiety",
+ "impinges",
+ "impious",
+ "impliable",
+ "implicate",
+ "implicit",
+ "implode",
+ "implore",
+ "imply",
+ "impolite",
+ "impolitic",
+ "important",
+ "importune",
+ "imposed",
+ "impotent",
+ "imprints",
+ "impromptu",
+ "improper",
+ "improved",
+ "improvise",
+ "imprudent",
+ "impudence",
+ "impugn",
+ "impulse",
+ "impulsion",
+ "impulsive",
+ "impunity",
+ "impure",
+ "impurity",
+ "impute",
+ "inability",
+ "inactive",
+ "inane",
+ "inanimate",
+ "inapt",
+ "inaudible",
+ "inboard",
+ "inborn",
+ "inbred",
+ "incentive",
+ "inception",
+ "inceptive",
+ "incessant",
+ "inchmeal",
+ "inchoate",
+ "incidence",
+ "incident",
+ "incipient",
+ "incise",
+ "incisor",
+ "incite",
+ "inciting",
+ "include",
+ "included",
+ "incorrect",
+ "increment",
+ "indelible",
+ "indepth",
+ "index",
+ "indians",
+ "indicant",
+ "indicator",
+ "indict",
+ "indigence",
+ "indigent",
+ "indignant",
+ "indignity",
+ "indolence",
+ "indolent",
+ "indoors",
+ "induct",
+ "induction",
+ "indulgent",
+ "inebriate",
+ "inedible",
+ "ineffable",
+ "inept",
+ "inequity",
+ "inert",
+ "inertia",
+ "infamous",
+ "infamy",
+ "infancy",
+ "infected",
+ "inference",
+ "inferior",
+ "infernal",
+ "infest",
+ "infidel",
+ "infinite",
+ "infinity",
+ "infirm",
+ "infirmary",
+ "infirmity",
+ "inflamed",
+ "inflects",
+ "influence",
+ "influx",
+ "informant",
+ "infringe",
+ "infuse",
+ "infusion",
+ "ingenious",
+ "ingenuity",
+ "ingenuous",
+ "ingraft",
+ "ingrate",
+ "inhabited",
+ "inherence",
+ "inherent",
+ "inhibit",
+ "inhuman",
+ "inhume",
+ "inimical",
+ "iniquity",
+ "initial",
+ "initiate",
+ "inject",
+ "injustice",
+ "inkling",
+ "inky",
+ "inland",
+ "inlay",
+ "inlet",
+ "inmost",
+ "innards",
+ "innocuous",
+ "innovate",
+ "innuendo",
+ "inquire",
+ "inquiry",
+ "inroad",
+ "inroads",
+ "inscribe",
+ "insecure",
+ "insertion",
+ "inside",
+ "insidious",
+ "insight",
+ "insinuate",
+ "insipid",
+ "insistent",
+ "insolence",
+ "insolent",
+ "insomnia",
+ "insomniac",
+ "inspect",
+ "inspector",
+ "inspiring",
+ "instance",
+ "instant",
+ "instigate",
+ "instill",
+ "insular",
+ "insulate",
+ "insult",
+ "insulted",
+ "insure",
+ "insured",
+ "insurgent",
+ "intake",
+ "integrity",
+ "intellect",
+ "intensely",
+ "intension",
+ "intensive",
+ "intention",
+ "interact",
+ "intercede",
+ "intercept",
+ "interdict",
+ "interface",
+ "interim",
+ "interior",
+ "interlude",
+ "intermit",
+ "intermix",
+ "interplay",
+ "interpose",
+ "interpret",
+ "interrupt",
+ "intersect",
+ "interval",
+ "intervale",
+ "intervene",
+ "interview",
+ "intestacy",
+ "intestate",
+ "intestine",
+ "intimacy",
+ "intrepid",
+ "intricacy",
+ "intricate",
+ "intrigue",
+ "intrinsic",
+ "intromit",
+ "introvert",
+ "intrude",
+ "intrusion",
+ "intrusive",
+ "intubate",
+ "intuition",
+ "inundate",
+ "inure",
+ "invades",
+ "invalid",
+ "invasion",
+ "invective",
+ "inveigh",
+ "inventive",
+ "inverse",
+ "inversion",
+ "invert",
+ "investing",
+ "investor",
+ "invidious",
+ "invitee",
+ "invoke",
+ "involve",
+ "inward",
+ "inwardly",
+ "ionized",
+ "iota",
+ "ipods",
+ "irascible",
+ "irate",
+ "ire",
+ "irk",
+ "irksome",
+ "ironclad",
+ "ironed",
+ "ironing",
+ "irony",
+ "irradiate",
+ "irrigant",
+ "irrigate",
+ "irritable",
+ "irritancy",
+ "irritant",
+ "irritate",
+ "irruption",
+ "isle",
+ "islet",
+ "isobar",
+ "isolate",
+ "isolated",
+ "issuers",
+ "issuing",
+ "italic",
+ "itch",
+ "itches",
+ "itemized",
+ "itinerant",
+ "itinerary",
+ "itinerate",
+ "jab",
+ "jacked",
+ "jail",
+ "jailing",
+ "jangle",
+ "jar",
+ "jargon",
+ "jarring",
+ "jaundice",
+ "jauntily",
+ "jawed",
+ "jazz",
+ "jazzy",
+ "jealousy",
+ "jeans",
+ "jelly",
+ "jested",
+ "jewel",
+ "jibe",
+ "jiffy",
+ "jiggle",
+ "jiggles",
+ "jigs",
+ "jilted",
+ "jingled",
+ "jingoism",
+ "jinx",
+ "jockey",
+ "jocks",
+ "jocose",
+ "jocular",
+ "jogger",
+ "joggle",
+ "join",
+ "joining",
+ "joins",
+ "joke",
+ "jolly",
+ "jostle",
+ "jot",
+ "joust",
+ "jousting",
+ "jovial",
+ "juche",
+ "judgment",
+ "judicial",
+ "judiciary",
+ "judicious",
+ "juggle",
+ "jugglery",
+ "jugular",
+ "juice",
+ "juicy",
+ "juke",
+ "jumble",
+ "jumbled",
+ "jump",
+ "jumpsuit",
+ "junction",
+ "juncture",
+ "junior",
+ "juniper",
+ "junker",
+ "junket",
+ "junky",
+ "junta",
+ "juntas",
+ "juridical",
+ "juristic",
+ "juror",
+ "jutting",
+ "juvenile",
+ "juxtapose",
+ "kales",
+ "kaput",
+ "karate",
+ "karma",
+ "keen",
+ "keeps",
+ "keepsake",
+ "kerchief",
+ "kernel",
+ "kerygma",
+ "keystone",
+ "khaki",
+ "khakis",
+ "kibbles",
+ "kickball",
+ "killing",
+ "kiln",
+ "kiloliter",
+ "kilometer",
+ "kilowatt",
+ "kilted",
+ "kimono",
+ "kind",
+ "kingling",
+ "kingship",
+ "kinking",
+ "kinks",
+ "kinsfolk",
+ "kinsman",
+ "kirtle",
+ "kissed",
+ "kitty",
+ "knavery",
+ "knead",
+ "kneecaps",
+ "kneejerk",
+ "knife",
+ "knight",
+ "knitting",
+ "knocked",
+ "knot",
+ "knotty",
+ "knower",
+ "knowingly",
+ "knowledge",
+ "knuckled",
+ "kumbaya",
+ "labeled",
+ "labelled",
+ "labial",
+ "laborious",
+ "labyrinth",
+ "lace",
+ "lacerate",
+ "lack",
+ "lactation",
+ "lacteal",
+ "lactic",
+ "laddie",
+ "ladle",
+ "ladybugs",
+ "laggard",
+ "lags",
+ "laid",
+ "lake",
+ "lambast",
+ "lame",
+ "lance",
+ "landform",
+ "landlord",
+ "landmark",
+ "landscape",
+ "languid",
+ "languor",
+ "lap",
+ "lapdog",
+ "lapel",
+ "lapse",
+ "larder",
+ "larders",
+ "lark",
+ "lash",
+ "lashed",
+ "lassie",
+ "lassies",
+ "lately",
+ "latency",
+ "latent",
+ "later",
+ "lateral",
+ "latish",
+ "lattice",
+ "laud",
+ "laudable",
+ "laudation",
+ "laudatory",
+ "laughably",
+ "laundress",
+ "laureate",
+ "lave",
+ "lavish",
+ "law",
+ "lawfully",
+ "lawgiver",
+ "lawmaker",
+ "lawsuit",
+ "lax",
+ "laxative",
+ "lay",
+ "laydown",
+ "layman",
+ "laze",
+ "laziness",
+ "lazy",
+ "lea",
+ "leadeth",
+ "leaflet",
+ "leafy",
+ "leak",
+ "leaked",
+ "leaker",
+ "leakers",
+ "leaky",
+ "leapers",
+ "least",
+ "leaven",
+ "leaver",
+ "lebanese",
+ "leech",
+ "leeward",
+ "leftism",
+ "legacy",
+ "legalize",
+ "legalized",
+ "legally",
+ "legging",
+ "legible",
+ "legionary",
+ "legislate",
+ "legume",
+ "leisure",
+ "lend",
+ "lenders",
+ "leniency",
+ "lenient",
+ "lens",
+ "leonine",
+ "leopard",
+ "leprosy",
+ "less",
+ "lessen",
+ "lest",
+ "lethargy",
+ "lettered",
+ "leukemia",
+ "levee",
+ "lever",
+ "leverage",
+ "leviathan",
+ "levity",
+ "levy",
+ "lewd",
+ "lexicon",
+ "liable",
+ "liaisons",
+ "libel",
+ "liberal",
+ "liberate",
+ "librarian",
+ "library",
+ "licensed",
+ "licit",
+ "lick",
+ "licorice",
+ "liege",
+ "lien",
+ "lies",
+ "lieu",
+ "lifeless",
+ "lifelike",
+ "lifelong",
+ "lifes",
+ "lifetime",
+ "ligament",
+ "ligature",
+ "light",
+ "lightbulb",
+ "lighter",
+ "ligneous",
+ "lik",
+ "like",
+ "likely",
+ "liken",
+ "likened",
+ "likewise",
+ "liking",
+ "lilt",
+ "liminal",
+ "limousine",
+ "limp",
+ "limply",
+ "limpness",
+ "limps",
+ "linear",
+ "liner",
+ "lingered",
+ "lingo",
+ "lingua",
+ "lingual",
+ "linguist",
+ "liniment",
+ "linseed",
+ "lip",
+ "liquefy",
+ "liqueur",
+ "liquidate",
+ "liquor",
+ "listed",
+ "listen",
+ "listened",
+ "listless",
+ "lite",
+ "literacy",
+ "literal",
+ "literally",
+ "literary",
+ "lithe",
+ "lithesome",
+ "lithotype",
+ "litigant",
+ "litigate",
+ "litigious",
+ "litter",
+ "littoral",
+ "liturgy",
+ "live",
+ "liven",
+ "livened",
+ "liver",
+ "livid",
+ "loaf",
+ "loam",
+ "loamy",
+ "loans",
+ "loath",
+ "loathe",
+ "lobotomy",
+ "local",
+ "localized",
+ "located",
+ "locative",
+ "loch",
+ "loci",
+ "lockers",
+ "lockouts",
+ "locks",
+ "lode",
+ "lodge",
+ "lodgepole",
+ "lodgers",
+ "lodgment",
+ "lofty",
+ "logger",
+ "logic",
+ "logical",
+ "logically",
+ "logician",
+ "loiterer",
+ "lollipop",
+ "long",
+ "longer",
+ "longevity",
+ "longingly",
+ "longitude",
+ "looked",
+ "loosely",
+ "loosen",
+ "loot",
+ "lopping",
+ "lordling",
+ "lore",
+ "losing",
+ "loss",
+ "lot",
+ "lotus",
+ "lough",
+ "lounge",
+ "lounges",
+ "louse",
+ "lousy",
+ "lout",
+ "louts",
+ "lovable",
+ "lovably",
+ "loveable",
+ "lovelorn",
+ "loving",
+ "lower",
+ "lowly",
+ "loyalist",
+ "loyally",
+ "loyalty",
+ "lubricate",
+ "lucid",
+ "lucrative",
+ "ludicrous",
+ "lug",
+ "lugged",
+ "lukewarm",
+ "lull",
+ "lumber",
+ "luminary",
+ "luminous",
+ "lunacy",
+ "lunar",
+ "lunatic",
+ "lunch",
+ "lune",
+ "lupine",
+ "lupines",
+ "lurid",
+ "lurking",
+ "luscious",
+ "lustful",
+ "lustrous",
+ "luxuriant",
+ "luxuriate",
+ "luxury",
+ "lye",
+ "lying",
+ "lynch",
+ "lyre",
+ "lyres",
+ "lyric",
+ "ma'am",
+ "machinery",
+ "machinist",
+ "mackerel",
+ "macrocosm",
+ "madden",
+ "maestro",
+ "magenta",
+ "magic",
+ "magical",
+ "magician",
+ "maglev",
+ "magnate",
+ "magnet",
+ "magnetize",
+ "magnitude",
+ "maharaja",
+ "mailbox",
+ "mailing",
+ "main",
+ "mainline",
+ "maintain",
+ "maize",
+ "makeshift",
+ "makeup",
+ "malady",
+ "malaria",
+ "malawian",
+ "malay",
+ "malign",
+ "malignant",
+ "malleable",
+ "mallet",
+ "malt",
+ "malted",
+ "maltreat",
+ "mambo",
+ "mammoth",
+ "managed",
+ "mandarin",
+ "mandate",
+ "mandated",
+ "mandatory",
+ "mane",
+ "maneuver",
+ "manger",
+ "mangled",
+ "mangos",
+ "mangy",
+ "manhole",
+ "manhunt",
+ "mania",
+ "maniac",
+ "manifest",
+ "manifesto",
+ "manlike",
+ "manliness",
+ "manna",
+ "manned",
+ "mannerism",
+ "manor",
+ "mans",
+ "mantel",
+ "mantle",
+ "manumit",
+ "map",
+ "mappings",
+ "marble",
+ "marbled",
+ "march",
+ "marchers",
+ "marijuana",
+ "marinade",
+ "marine",
+ "maritime",
+ "marked",
+ "markers",
+ "markings",
+ "marksman",
+ "marmalade",
+ "maroon",
+ "married",
+ "marry",
+ "martial",
+ "martian",
+ "martinis",
+ "martyrdom",
+ "marvel",
+ "marxism",
+ "mascara",
+ "masked",
+ "masonry",
+ "massacre",
+ "massage",
+ "masses",
+ "masseurs",
+ "massive",
+ "mastery",
+ "mastiffs",
+ "mastoid",
+ "matched",
+ "material",
+ "maternal",
+ "maternity",
+ "matinee",
+ "matricide",
+ "matrimony",
+ "matrix",
+ "matter",
+ "mature",
+ "maudlin",
+ "mausoleum",
+ "maverick",
+ "mawkish",
+ "maxim",
+ "maximize",
+ "may",
+ "maze",
+ "mead",
+ "meager",
+ "meagerly",
+ "mean",
+ "meander",
+ "meanies",
+ "means",
+ "measured",
+ "measures",
+ "mechanics",
+ "medallion",
+ "meddling",
+ "medial",
+ "mediate",
+ "medicate",
+ "medicine",
+ "medieval",
+ "mediocre",
+ "meditate",
+ "medium",
+ "medley",
+ "meek",
+ "melded",
+ "meliorate",
+ "mellow",
+ "melodious",
+ "melodrama",
+ "melted",
+ "memento",
+ "memorable",
+ "men",
+ "menace",
+ "menagerie",
+ "mend",
+ "mendicant",
+ "menfolk",
+ "mental",
+ "mentality",
+ "mentally",
+ "menthol",
+ "mention",
+ "mentor",
+ "mentored",
+ "mercenary",
+ "merciful",
+ "merciless",
+ "mere",
+ "merge",
+ "merited",
+ "mesmerize",
+ "messed",
+ "messieurs",
+ "messing",
+ "mestizo",
+ "metal",
+ "metaphor",
+ "mete",
+ "metonymy",
+ "metric",
+ "metronome",
+ "mettle",
+ "micro",
+ "microchip",
+ "microcosm",
+ "middleman",
+ "midges",
+ "midlife",
+ "midline",
+ "midpoint",
+ "midriff",
+ "midriffs",
+ "midsole",
+ "midsummer",
+ "midwife",
+ "mien",
+ "might",
+ "mignon",
+ "migrant",
+ "migrate",
+ "migration",
+ "migratory",
+ "mikes",
+ "mil",
+ "mileage",
+ "miles",
+ "milieu",
+ "militant",
+ "militate",
+ "militia",
+ "milk",
+ "milking",
+ "milky",
+ "millet",
+ "milling",
+ "millionth",
+ "mime",
+ "mimic",
+ "mimics",
+ "minaret",
+ "minces",
+ "mind",
+ "mindless",
+ "mined",
+ "mineral",
+ "mingle",
+ "miniature",
+ "minimize",
+ "minion",
+ "ministry",
+ "minivans",
+ "minority",
+ "minuet",
+ "minus",
+ "minute",
+ "minutia",
+ "mirage",
+ "misbehave",
+ "miscount",
+ "miscreant",
+ "misdeed",
+ "miser",
+ "miserly",
+ "misfire",
+ "misfit",
+ "mishap",
+ "mishmash",
+ "mislaid",
+ "mislay",
+ "mismanage",
+ "misnomer",
+ "misogamy",
+ "misogyny",
+ "misplace",
+ "misplaced",
+ "misrule",
+ "missal",
+ "missile",
+ "missive",
+ "mistily",
+ "mistrust",
+ "misty",
+ "misuse",
+ "mite",
+ "miter",
+ "mitigate",
+ "mixed",
+ "mixture",
+ "mnemonics",
+ "moat",
+ "mobocracy",
+ "moccasin",
+ "mocha",
+ "mock",
+ "mockery",
+ "model",
+ "moderate",
+ "moderator",
+ "modernity",
+ "modernize",
+ "modify",
+ "modish",
+ "modulate",
+ "moduli",
+ "moistly",
+ "molar",
+ "molecule",
+ "molehill",
+ "mollify",
+ "molt",
+ "momentary",
+ "momentous",
+ "momentum",
+ "monarch",
+ "monarchy",
+ "monastery",
+ "monetary",
+ "monger",
+ "mongrel",
+ "monied",
+ "monition",
+ "monitory",
+ "monks",
+ "monocracy",
+ "monogamy",
+ "monogram",
+ "monograph",
+ "monolith",
+ "monologue",
+ "monomania",
+ "monopoly",
+ "monotone",
+ "monotony",
+ "monsieur",
+ "monsoon",
+ "monster",
+ "mood",
+ "moonbeam",
+ "moonlit",
+ "moored",
+ "mooring",
+ "mop",
+ "moral",
+ "morale",
+ "moralist",
+ "morality",
+ "moralize",
+ "moray",
+ "morbid",
+ "mordant",
+ "more",
+ "moreover",
+ "morgue",
+ "moribund",
+ "mormon",
+ "morn",
+ "morning",
+ "morose",
+ "morph",
+ "morsel",
+ "mortar",
+ "mortician",
+ "mortise",
+ "mosaic",
+ "moslems",
+ "motley",
+ "motor",
+ "motorcar",
+ "motorist",
+ "motto",
+ "mound",
+ "mounted",
+ "mounting",
+ "mourn",
+ "mournful",
+ "mouser",
+ "mouth",
+ "mouthed",
+ "mouthful",
+ "mouton",
+ "move",
+ "movement",
+ "mower",
+ "muddle",
+ "muddled",
+ "muffle",
+ "muffler",
+ "mug",
+ "mulatto",
+ "muleteer",
+ "mull",
+ "mullah",
+ "multiform",
+ "multiplex",
+ "multiply",
+ "mundane",
+ "municipal",
+ "murres",
+ "muscle",
+ "music",
+ "musicale",
+ "musically",
+ "muskie",
+ "mussels",
+ "mustache",
+ "muster",
+ "mutagens",
+ "mutation",
+ "mute",
+ "muted",
+ "mutilate",
+ "mutilated",
+ "mutiny",
+ "muzzling",
+ "myriad",
+ "mystic",
+ "mystical",
+ "myth",
+ "mythology",
+ "nabbed",
+ "naked",
+ "nameless",
+ "namibian",
+ "naming",
+ "nanny",
+ "nap",
+ "naphtha",
+ "narcos",
+ "narrate",
+ "narration",
+ "narrative",
+ "narrator",
+ "narrow",
+ "narrowed",
+ "narrowly",
+ "nasal",
+ "nascent",
+ "natal",
+ "national",
+ "native",
+ "natty",
+ "naturally",
+ "naught",
+ "naughty",
+ "nausea",
+ "nauseate",
+ "nauseous",
+ "nautical",
+ "naval",
+ "nave",
+ "navel",
+ "navies",
+ "navigable",
+ "navigate",
+ "nay",
+ "nearing",
+ "nearside",
+ "neaten",
+ "neatnik",
+ "nebula",
+ "necessary",
+ "necessity",
+ "neck",
+ "necklace",
+ "necktie",
+ "necrology",
+ "necropsy",
+ "necrosis",
+ "nectar",
+ "nectarine",
+ "needed",
+ "needy",
+ "nefarious",
+ "negate",
+ "negation",
+ "negligee",
+ "negligent",
+ "neighbor",
+ "neocracy",
+ "neology",
+ "neophyte",
+ "nerdy",
+ "nestle",
+ "nestled",
+ "nestling",
+ "nests",
+ "net",
+ "netball",
+ "nettle",
+ "network",
+ "neural",
+ "neurology",
+ "neuter",
+ "neutered",
+ "neutral",
+ "newborn",
+ "newcomer",
+ "news",
+ "newsman",
+ "newsstand",
+ "next",
+ "nexus",
+ "nicety",
+ "nicked",
+ "nigerian",
+ "niggardly",
+ "nightmare",
+ "nihilist",
+ "nil",
+ "nimble",
+ "nine",
+ "nit",
+ "nitrate",
+ "nitride",
+ "nobody",
+ "nocked",
+ "nocturnal",
+ "noise",
+ "noiseless",
+ "noisome",
+ "noisy",
+ "nomad",
+ "nomads",
+ "nomic",
+ "nominal",
+ "nominate",
+ "nominee",
+ "nonentity",
+ "nonfarm",
+ "nonmember",
+ "nonpareil",
+ "nonsense",
+ "nonstop",
+ "noon",
+ "noose",
+ "nope",
+ "norm",
+ "normalcy",
+ "normally",
+ "norse",
+ "northern",
+ "nosegay",
+ "nostalgia",
+ "nostalgic",
+ "nostrum",
+ "not",
+ "notch",
+ "notched",
+ "nothing",
+ "notion",
+ "notorious",
+ "novelty",
+ "novice",
+ "nowadays",
+ "nowhere",
+ "noxious",
+ "nuance",
+ "nub",
+ "nubbly",
+ "nubians",
+ "nucleon",
+ "nucleus",
+ "nude",
+ "nudge",
+ "nudity",
+ "nugatory",
+ "nuggets",
+ "nuisance",
+ "nuking",
+ "numeracy",
+ "numerical",
+ "numerous",
+ "nunnery",
+ "nuptial",
+ "nurse",
+ "nurture",
+ "nurtured",
+ "nutriment",
+ "nutritive",
+ "nuttier",
+ "oaken",
+ "oaks",
+ "oakum",
+ "oar",
+ "obdurate",
+ "obeisance",
+ "obelisk",
+ "obese",
+ "obesity",
+ "obey",
+ "obituary",
+ "objection",
+ "objective",
+ "objector",
+ "obligate",
+ "oblique",
+ "oblivion",
+ "oblong",
+ "obnoxious",
+ "obsequies",
+ "observant",
+ "obsolete",
+ "obstinacy",
+ "obstruct",
+ "obtrude",
+ "obtrusive",
+ "obtuse",
+ "obvert",
+ "obviate",
+ "occasion",
+ "occlude",
+ "occult",
+ "occupant",
+ "occupied",
+ "occur",
+ "oceanic",
+ "ochre",
+ "octagon",
+ "octave",
+ "octavo",
+ "octet",
+ "ocular",
+ "oculist",
+ "oddballs",
+ "oddity",
+ "ode",
+ "odious",
+ "odium",
+ "odorants",
+ "odorous",
+ "oeuvre",
+ "off",
+ "offed",
+ "offended",
+ "offensive",
+ "offhand",
+ "officiate",
+ "officious",
+ "offload",
+ "offshoot",
+ "offsides",
+ "ogre",
+ "oil",
+ "oiled",
+ "ointment",
+ "okapi",
+ "okay",
+ "oke",
+ "oldie",
+ "oldies",
+ "olfactory",
+ "omega",
+ "omelette",
+ "omen",
+ "omicron",
+ "ominous",
+ "omission",
+ "once",
+ "oncology",
+ "onerous",
+ "ongoing",
+ "onion",
+ "online",
+ "onrush",
+ "onset",
+ "onslaught",
+ "onstage",
+ "onus",
+ "ooze",
+ "opals",
+ "opaque",
+ "open",
+ "opened",
+ "openness",
+ "operant",
+ "operate",
+ "operative",
+ "operator",
+ "operetta",
+ "opinion",
+ "opinions",
+ "opium",
+ "opponent",
+ "opportune",
+ "opposing",
+ "opposite",
+ "oppress",
+ "optic",
+ "optician",
+ "optics",
+ "optimism",
+ "optimist",
+ "option",
+ "optometry",
+ "opulence",
+ "opulent",
+ "oracular",
+ "oral",
+ "orange",
+ "orate",
+ "oration",
+ "orator",
+ "oratorio",
+ "oratory",
+ "orb",
+ "orbiting",
+ "ordains",
+ "ordeal",
+ "order",
+ "ordinal",
+ "ordinary",
+ "ordnance",
+ "ore",
+ "orgies",
+ "origin",
+ "original",
+ "originate",
+ "ornate",
+ "ornately",
+ "orphanage",
+ "orthodox",
+ "orthodoxy",
+ "oscillate",
+ "osculate",
+ "osmosis",
+ "osprey",
+ "ossify",
+ "ostracism",
+ "ostracize",
+ "ostrich",
+ "other",
+ "others",
+ "otter",
+ "ought",
+ "oust",
+ "out",
+ "outback",
+ "outbreak",
+ "outburst",
+ "outcast",
+ "outcome",
+ "outcry",
+ "outdo",
+ "outdoor",
+ "outfit",
+ "outfox",
+ "outlast",
+ "outlasts",
+ "outlaw",
+ "outlawed",
+ "outlay",
+ "outlive",
+ "outpaced",
+ "outpost",
+ "outrage",
+ "outraged",
+ "outreach",
+ "outride",
+ "outrigger",
+ "outright",
+ "outset",
+ "outside",
+ "outskirt",
+ "outstrip",
+ "outward",
+ "outweigh",
+ "oval",
+ "ovary",
+ "over",
+ "overcome",
+ "overdo",
+ "overdose",
+ "overeat",
+ "overhang",
+ "overhead",
+ "overjoyed",
+ "overlap",
+ "overleap",
+ "overload",
+ "overlook",
+ "overlord",
+ "overpass",
+ "overpay",
+ "overpower",
+ "overreach",
+ "overrun",
+ "oversee",
+ "overseer",
+ "oversold",
+ "overtax",
+ "overthrow",
+ "overtime",
+ "overtone",
+ "overtook",
+ "overture",
+ "overview",
+ "owner",
+ "pacify",
+ "package",
+ "packet",
+ "pact",
+ "padding",
+ "paddle",
+ "pagan",
+ "pageant",
+ "paid",
+ "pain",
+ "painfully",
+ "painting",
+ "pair",
+ "palate",
+ "palatial",
+ "palest",
+ "palette",
+ "palinode",
+ "pall",
+ "pallet",
+ "palliate",
+ "pallid",
+ "palm",
+ "palpable",
+ "palsy",
+ "paly",
+ "pamper",
+ "pamphlet",
+ "panacea",
+ "pandemic",
+ "panegyric",
+ "panel",
+ "pangs",
+ "panic",
+ "panicky",
+ "panoply",
+ "panoptic",
+ "panorama",
+ "pantheism",
+ "pantomime",
+ "papacy",
+ "papists",
+ "papyri",
+ "papyrus",
+ "par",
+ "parable",
+ "parabolic",
+ "parachute",
+ "paradise",
+ "paradox",
+ "paragon",
+ "parallel",
+ "paralysis",
+ "paralyze",
+ "paramount",
+ "paramour",
+ "paranoid",
+ "parasite",
+ "parched",
+ "pardons",
+ "pare",
+ "parentage",
+ "parenting",
+ "pares",
+ "parfaits",
+ "parietal",
+ "parish",
+ "parisian",
+ "parities",
+ "parity",
+ "parlance",
+ "parlay",
+ "parley",
+ "parlor",
+ "parody",
+ "paroxysm",
+ "parricide",
+ "parrot",
+ "parry",
+ "parse",
+ "parsing",
+ "part",
+ "partible",
+ "partisan",
+ "partition",
+ "parts",
+ "pass",
+ "passible",
+ "passing",
+ "passive",
+ "past",
+ "pastoral",
+ "pat",
+ "patched",
+ "patent",
+ "paternal",
+ "paternity",
+ "pathos",
+ "patiently",
+ "patina",
+ "patriarch",
+ "patrician",
+ "patrimony",
+ "patriot",
+ "patriots",
+ "patronize",
+ "patter",
+ "patting",
+ "paucity",
+ "pauper",
+ "pauperism",
+ "pave",
+ "pavilion",
+ "pawn",
+ "pawned",
+ "pawnshop",
+ "payable",
+ "payee",
+ "peaceable",
+ "peaceful",
+ "pearl",
+ "pec",
+ "peccable",
+ "peccant",
+ "pectoral",
+ "pecuniary",
+ "pedagogue",
+ "pedagogy",
+ "pedal",
+ "pedant",
+ "peddle",
+ "peddler",
+ "pedestal",
+ "pedigree",
+ "peek",
+ "peeks",
+ "peels",
+ "peep",
+ "peer",
+ "peerage",
+ "peerless",
+ "peeve",
+ "peeved",
+ "peeves",
+ "peevish",
+ "peg",
+ "pegboard",
+ "pelagic",
+ "pellagra",
+ "pellucid",
+ "penalty",
+ "penance",
+ "penchant",
+ "pendant",
+ "pendants",
+ "pending",
+ "pendulous",
+ "pendulum",
+ "penetrate",
+ "penitence",
+ "penitent",
+ "pennant",
+ "penned",
+ "pension",
+ "pentad",
+ "pentagon",
+ "pentagram",
+ "penthouse",
+ "penurious",
+ "penury",
+ "peopled",
+ "per",
+ "perceive",
+ "percolate",
+ "perennial",
+ "perfidy",
+ "perforate",
+ "perform",
+ "perfumery",
+ "perhaps",
+ "perigee",
+ "perineal",
+ "perjure",
+ "perjury",
+ "permanent",
+ "permeate",
+ "permit",
+ "peroxide",
+ "perp",
+ "persevere",
+ "persist",
+ "personage",
+ "personal",
+ "personify",
+ "personnel",
+ "perspire",
+ "persuade",
+ "pertinent",
+ "perturb",
+ "perusal",
+ "pervade",
+ "pervasion",
+ "pervasive",
+ "perverse",
+ "pervert",
+ "pervious",
+ "pesky",
+ "pestilent",
+ "peter",
+ "petrify",
+ "petty",
+ "petulance",
+ "petulant",
+ "pewter",
+ "pharmacy",
+ "phase",
+ "philander",
+ "philately",
+ "philology",
+ "phonemic",
+ "phonetic",
+ "phonic",
+ "phonogram",
+ "phonology",
+ "phony",
+ "physicist",
+ "physics",
+ "physique",
+ "pianists",
+ "pianos",
+ "piazzas",
+ "picayune",
+ "piccolo",
+ "picked",
+ "picket",
+ "picky",
+ "piddling",
+ "piece",
+ "piecemeal",
+ "pier",
+ "piercing",
+ "piety",
+ "pig",
+ "pigeon",
+ "pile",
+ "pillage",
+ "pillaged",
+ "pillar",
+ "pillbox",
+ "pillory",
+ "pillowy",
+ "pilot",
+ "pimp",
+ "pimped",
+ "pin",
+ "pincers",
+ "pinchers",
+ "pine",
+ "pinecone",
+ "pinheads",
+ "pinions",
+ "pinker",
+ "pinnacle",
+ "pinochle",
+ "pinot",
+ "pinstripe",
+ "pinup",
+ "pioneer",
+ "pious",
+ "pipa",
+ "pipe",
+ "pipefish",
+ "piping",
+ "pique",
+ "piracy",
+ "piranha",
+ "piss",
+ "pissing",
+ "piste",
+ "pistils",
+ "pistol",
+ "piston",
+ "pitch",
+ "pitchers",
+ "pitching",
+ "piteous",
+ "pith",
+ "pitiable",
+ "pitiful",
+ "pitifully",
+ "pitiless",
+ "pitot",
+ "pittance",
+ "pivoting",
+ "pizza",
+ "pizzas",
+ "placate",
+ "placid",
+ "plagued",
+ "plait",
+ "plan",
+ "plant",
+ "platitude",
+ "plaudit",
+ "plausible",
+ "playback",
+ "playful",
+ "playfully",
+ "playing",
+ "plea",
+ "plead",
+ "pleasant",
+ "pleasing",
+ "pleated",
+ "plebeian",
+ "pled",
+ "pledgee",
+ "pledgeor",
+ "plenary",
+ "plenitude",
+ "plenteous",
+ "plenty",
+ "plethora",
+ "pleura",
+ "pliant",
+ "plight",
+ "plod",
+ "plot",
+ "plotted",
+ "plover",
+ "plowman",
+ "pluck",
+ "plug",
+ "plumb",
+ "plumber",
+ "plume",
+ "plumed",
+ "plummet",
+ "plump",
+ "plunder",
+ "plunger",
+ "plunked",
+ "plural",
+ "plurality",
+ "plusses",
+ "plutonium",
+ "pneumatic",
+ "poacher",
+ "pocked",
+ "pocketed",
+ "poesy",
+ "poet",
+ "poetaster",
+ "poetic",
+ "poetics",
+ "poignancy",
+ "poignant",
+ "point",
+ "poise",
+ "poison",
+ "poisoned",
+ "poke",
+ "polar",
+ "polarity",
+ "polemics",
+ "police",
+ "policy",
+ "polish",
+ "polished",
+ "politic",
+ "politics",
+ "polled",
+ "pollen",
+ "pollute",
+ "polluter",
+ "polyarchy",
+ "polycracy",
+ "polygamy",
+ "polyglot",
+ "polygon",
+ "pommel",
+ "pomposity",
+ "pompous",
+ "poncho",
+ "ponder",
+ "ponderous",
+ "ponds",
+ "pontiff",
+ "pontiffs",
+ "pontoon",
+ "poof",
+ "pooled",
+ "pooping",
+ "poorly",
+ "populace",
+ "popularly",
+ "populist",
+ "populous",
+ "pored",
+ "porous",
+ "port",
+ "portable",
+ "portend",
+ "portent",
+ "portfolio",
+ "portion",
+ "pose",
+ "posit",
+ "position",
+ "positive",
+ "posse",
+ "posses",
+ "possess",
+ "possessor",
+ "possible",
+ "possibly",
+ "postdate",
+ "poster",
+ "posterior",
+ "postwar",
+ "potassium",
+ "potency",
+ "potent",
+ "potentate",
+ "potential",
+ "potholed",
+ "potion",
+ "potted",
+ "pounding",
+ "powder",
+ "powdered",
+ "powerless",
+ "practiced",
+ "praising",
+ "prancing",
+ "prate",
+ "prattle",
+ "pray",
+ "preacher",
+ "preachy",
+ "preamble",
+ "precede",
+ "precedent",
+ "precipice",
+ "precise",
+ "precision",
+ "preclude",
+ "precursor",
+ "precut",
+ "predatory",
+ "predicate",
+ "predict",
+ "preempt",
+ "preempts",
+ "preengage",
+ "preexist",
+ "preface",
+ "prefatory",
+ "prefect",
+ "prefer",
+ "prefers",
+ "prefix",
+ "prejudice",
+ "prelacy",
+ "prelate",
+ "prelude",
+ "premature",
+ "premier",
+ "premise",
+ "premium",
+ "premiums",
+ "prenatal",
+ "preoccupy",
+ "preordain",
+ "prepaid",
+ "presage",
+ "presages",
+ "preschool",
+ "prescient",
+ "prescript",
+ "preserve",
+ "presided",
+ "pretend",
+ "pretender",
+ "pretest",
+ "pretext",
+ "pretty",
+ "pretzel",
+ "prevalent",
+ "preview",
+ "prey",
+ "prickle",
+ "pride",
+ "prided",
+ "priests",
+ "priggish",
+ "prim",
+ "prima",
+ "primate",
+ "prime",
+ "primer",
+ "primeval",
+ "primitive",
+ "primrose",
+ "principal",
+ "principle",
+ "print",
+ "printer",
+ "priory",
+ "prisms",
+ "pristine",
+ "private",
+ "privateer",
+ "privilege",
+ "privity",
+ "privy",
+ "prized",
+ "prizing",
+ "pro",
+ "proactive",
+ "probate",
+ "probation",
+ "probe",
+ "probes",
+ "probity",
+ "procedure",
+ "proceed",
+ "proceeds",
+ "processed",
+ "proclaim",
+ "proctor",
+ "prodigal",
+ "prodigy",
+ "producer",
+ "producing",
+ "profane",
+ "professor",
+ "proffer",
+ "profile",
+ "profiteer",
+ "profs",
+ "profuse",
+ "progeny",
+ "program",
+ "project",
+ "projector",
+ "prolific",
+ "prolix",
+ "prologue",
+ "prolong",
+ "prolonged",
+ "prom",
+ "promenade",
+ "prominent",
+ "promise",
+ "promised",
+ "promoter",
+ "prompting",
+ "promptly",
+ "prone",
+ "proofread",
+ "propagate",
+ "propane",
+ "propel",
+ "propeller",
+ "property",
+ "prophecy",
+ "prophesy",
+ "proposed",
+ "proposes",
+ "propound",
+ "propriety",
+ "prorated",
+ "prosaic",
+ "proscribe",
+ "proselyte",
+ "prosody",
+ "prospect",
+ "prostrate",
+ "protean",
+ "protect",
+ "protector",
+ "protege",
+ "protester",
+ "protocol",
+ "prototype",
+ "protract",
+ "protrude",
+ "proven",
+ "proverb",
+ "provident",
+ "provider",
+ "proviso",
+ "provokes",
+ "prow",
+ "prowess",
+ "prowl",
+ "proxy",
+ "prudence",
+ "prudery",
+ "prudish",
+ "pruned",
+ "prurient",
+ "pseudo",
+ "pseudonym",
+ "psychic",
+ "psychotic",
+ "psychs",
+ "puberty",
+ "pudgy",
+ "puerile",
+ "puffs",
+ "puissant",
+ "pullback",
+ "pulley",
+ "pulling",
+ "pulmonary",
+ "pumas",
+ "punches",
+ "punctual",
+ "puncture",
+ "punctured",
+ "pungency",
+ "pungent",
+ "punish",
+ "punished",
+ "punishing",
+ "punitive",
+ "punt",
+ "pupa",
+ "pupilage",
+ "purchase",
+ "purchased",
+ "purebred",
+ "purgatory",
+ "puritan",
+ "purity",
+ "purl",
+ "purloin",
+ "purport",
+ "purpose",
+ "purrs",
+ "pursued",
+ "pursuer",
+ "purveyor",
+ "push",
+ "pushcart",
+ "pushers",
+ "puzzle",
+ "puzzles",
+ "pyre",
+ "pyromania",
+ "pyx",
+ "quackery",
+ "quad",
+ "quadrant",
+ "quadrate",
+ "quadruple",
+ "quaint",
+ "quainter",
+ "quaintly",
+ "qualify",
+ "qualm",
+ "quandary",
+ "quant",
+ "quantity",
+ "quarrel",
+ "quarter",
+ "quarterly",
+ "quartet",
+ "quarto",
+ "quartz",
+ "quay",
+ "queerest",
+ "quelled",
+ "queried",
+ "querulous",
+ "query",
+ "question",
+ "queue",
+ "quibble",
+ "quick",
+ "quickly",
+ "quiescent",
+ "quiet",
+ "quietism",
+ "quietly",
+ "quietus",
+ "quills",
+ "quintet",
+ "quirk",
+ "quit",
+ "quite",
+ "quixotic",
+ "quoted",
+ "rabbis",
+ "rabid",
+ "raccoons",
+ "racist",
+ "racy",
+ "radiance",
+ "radiate",
+ "radical",
+ "radiology",
+ "radix",
+ "raffle",
+ "raft",
+ "rage",
+ "ragged",
+ "raging",
+ "raid",
+ "raillery",
+ "rainy",
+ "raise",
+ "rake",
+ "raked",
+ "ram",
+ "rambler",
+ "ramified",
+ "ramify",
+ "ramose",
+ "rampaging",
+ "rampant",
+ "rampart",
+ "ramparts",
+ "rancor",
+ "range",
+ "rank",
+ "ranked",
+ "rankest",
+ "rankle",
+ "rankled",
+ "ranks",
+ "rap",
+ "rapacious",
+ "rapid",
+ "rapine",
+ "rapper",
+ "rappers",
+ "rapt",
+ "raptorial",
+ "rapturous",
+ "rarebit",
+ "rasa",
+ "rash",
+ "rasping",
+ "raspy",
+ "rat",
+ "rated",
+ "rather",
+ "ratified",
+ "ration",
+ "rational",
+ "rationed",
+ "ratted",
+ "rattles",
+ "ratty",
+ "raucous",
+ "raunchy",
+ "ravage",
+ "ravaged",
+ "ravenous",
+ "raves",
+ "ravine",
+ "raving",
+ "ravish",
+ "raw",
+ "reachable",
+ "reactant",
+ "reaction",
+ "readable",
+ "readily",
+ "readjust",
+ "ready",
+ "realism",
+ "realist",
+ "realize",
+ "realizes",
+ "realm",
+ "realtime",
+ "realtor",
+ "reamer",
+ "reaper",
+ "rear",
+ "rearmed",
+ "rearrange",
+ "reasoned",
+ "reassign",
+ "reassure",
+ "reawaken",
+ "rebelled",
+ "rebounds",
+ "rebuff",
+ "rebuffs",
+ "rebuild",
+ "rebuilt",
+ "rebuke",
+ "rebut",
+ "rec",
+ "recant",
+ "recapture",
+ "recast",
+ "recede",
+ "receding",
+ "receive",
+ "recent",
+ "receptive",
+ "recessive",
+ "reck",
+ "reckless",
+ "reckons",
+ "reclaim",
+ "recline",
+ "recluse",
+ "reclusive",
+ "reclusory",
+ "recognize",
+ "recoil",
+ "recollect",
+ "recording",
+ "recouped",
+ "recourse",
+ "recover",
+ "recreant",
+ "recreate",
+ "recruit",
+ "rectify",
+ "rectitude",
+ "recur",
+ "recure",
+ "recurrent",
+ "recused",
+ "redder",
+ "redeploy",
+ "redesign",
+ "redolence",
+ "redolent",
+ "redound",
+ "redress",
+ "reducible",
+ "redundant",
+ "reef",
+ "refer",
+ "referable",
+ "referee",
+ "refereed",
+ "reference",
+ "referrer",
+ "refigure",
+ "refinery",
+ "reflected",
+ "reflector",
+ "reform",
+ "reformer",
+ "refract",
+ "refrains",
+ "refresh",
+ "refusal",
+ "refused",
+ "refute",
+ "refutes",
+ "regal",
+ "regale",
+ "regalia",
+ "regality",
+ "regent",
+ "regicide",
+ "regime",
+ "regimen",
+ "regiment",
+ "regnant",
+ "regress",
+ "regretful",
+ "regularly",
+ "rehabbed",
+ "rehash",
+ "rehearse",
+ "reign",
+ "reimburse",
+ "rein",
+ "reindeer",
+ "reinstate",
+ "reiterate",
+ "reject",
+ "rejected",
+ "rejection",
+ "rejoin",
+ "relapse",
+ "relapses",
+ "relaxed",
+ "relay",
+ "relaying",
+ "released",
+ "relegate",
+ "relent",
+ "relevant",
+ "reliable",
+ "reliance",
+ "reliant",
+ "relies",
+ "relieved",
+ "reliquary",
+ "relish",
+ "reload",
+ "reluctant",
+ "remanded",
+ "remarry",
+ "remedy",
+ "remiss",
+ "remission",
+ "remodel",
+ "remotely",
+ "renames",
+ "render",
+ "rendition",
+ "renege",
+ "renewal",
+ "renovate",
+ "renovated",
+ "rent",
+ "rents",
+ "reopening",
+ "repaint",
+ "repair",
+ "repairman",
+ "reparable",
+ "repartee",
+ "repeal",
+ "repel",
+ "repellent",
+ "repertory",
+ "repine",
+ "replace",
+ "replay",
+ "replenish",
+ "replete",
+ "replica",
+ "replied",
+ "reply",
+ "report",
+ "reports",
+ "reposed",
+ "reprehend",
+ "repress",
+ "repressed",
+ "reprieve",
+ "reprimand",
+ "reprisal",
+ "reprise",
+ "reprobate",
+ "reprocess",
+ "reproduce",
+ "reproof",
+ "reptilian",
+ "repudiate",
+ "repugnant",
+ "repulse",
+ "repulsed",
+ "repulsive",
+ "repute",
+ "request",
+ "requested",
+ "requiem",
+ "requisite",
+ "requital",
+ "requite",
+ "rerun",
+ "resale",
+ "rescind",
+ "research",
+ "reseat",
+ "resent",
+ "reserved",
+ "reservoir",
+ "reset",
+ "resettle",
+ "residue",
+ "residuum",
+ "resilient",
+ "resistant",
+ "resistive",
+ "resolved",
+ "resonance",
+ "resonate",
+ "resource",
+ "respect",
+ "respects",
+ "respite",
+ "rested",
+ "restored",
+ "rests",
+ "resulted",
+ "resupply",
+ "resurgent",
+ "retained",
+ "retake",
+ "retaliate",
+ "retarded",
+ "retch",
+ "retched",
+ "retells",
+ "retention",
+ "retest",
+ "retests",
+ "reticence",
+ "reticent",
+ "retinue",
+ "retiring",
+ "retitle",
+ "retort",
+ "retouch",
+ "retrace",
+ "retraces",
+ "retract",
+ "retrench",
+ "retrieve",
+ "retro",
+ "return",
+ "reunion",
+ "reunite",
+ "revealed",
+ "reveler",
+ "revelry",
+ "revenant",
+ "revenue",
+ "revere",
+ "reverend",
+ "reverent",
+ "reverse",
+ "reversed",
+ "reversion",
+ "revert",
+ "reverted",
+ "review",
+ "reviewer",
+ "revile",
+ "revisal",
+ "revise",
+ "revive",
+ "revived",
+ "revoke",
+ "revoked",
+ "revolting",
+ "revolved",
+ "revulsion",
+ "rewarm",
+ "rework",
+ "rezoned",
+ "rhapsodic",
+ "rhapsody",
+ "rhetoric",
+ "rhinitis",
+ "rhyme",
+ "ribald",
+ "ribbed",
+ "ricochet",
+ "riddance",
+ "ridge",
+ "ridicule",
+ "riding",
+ "rife",
+ "riff",
+ "riffing",
+ "rig",
+ "rightful",
+ "rights",
+ "rigidity",
+ "rigmarole",
+ "rigor",
+ "rigorous",
+ "rilles",
+ "ringworm",
+ "rip",
+ "ripeness",
+ "ripping",
+ "ripple",
+ "ripplet",
+ "riser",
+ "risible",
+ "rituals",
+ "ritzy",
+ "rivalry",
+ "riverbed",
+ "rivets",
+ "rivulet",
+ "roadblock",
+ "roast",
+ "robe",
+ "robot",
+ "robust",
+ "robusta",
+ "rockers",
+ "rodeo",
+ "rogue",
+ "roll",
+ "roller",
+ "rolloff",
+ "rollouts",
+ "romanced",
+ "rondo",
+ "rookery",
+ "roommate",
+ "rooms",
+ "roosted",
+ "root",
+ "rope",
+ "ropes",
+ "rose",
+ "rosemary",
+ "rotary",
+ "rotate",
+ "rote",
+ "rotten",
+ "rotting",
+ "rotund",
+ "roughy",
+ "round",
+ "roundel",
+ "rounding",
+ "roundup",
+ "roused",
+ "rout",
+ "routed",
+ "routs",
+ "rowdy",
+ "royal",
+ "royally",
+ "rubato",
+ "rubber",
+ "rubric",
+ "ruching",
+ "ruckus",
+ "rue",
+ "ruffian",
+ "ruffle",
+ "ruffled",
+ "rugby",
+ "ruled",
+ "ruminant",
+ "ruminate",
+ "rumor",
+ "runaway",
+ "runny",
+ "runs",
+ "rupee",
+ "rupture",
+ "rural",
+ "rushed",
+ "rust",
+ "rustic",
+ "rusts",
+ "rusty",
+ "rut",
+ "ruth",
+ "ruthless",
+ "rutting",
+ "saber",
+ "sabre",
+ "sac",
+ "sack",
+ "sacred",
+ "sacrifice",
+ "sacrilege",
+ "sad",
+ "saddle",
+ "safari",
+ "safaris",
+ "safeguard",
+ "safest",
+ "sagacious",
+ "sage",
+ "sahelian",
+ "sailor",
+ "sainted",
+ "salable",
+ "salacious",
+ "salami",
+ "salary",
+ "salience",
+ "salient",
+ "saline",
+ "saltine",
+ "salutary",
+ "salvage",
+ "salve",
+ "salvo",
+ "salvos",
+ "same",
+ "sameness",
+ "sanction",
+ "sanctity",
+ "sand",
+ "sandwich",
+ "sane",
+ "sanguine",
+ "sap",
+ "sapid",
+ "sapience",
+ "sapient",
+ "saps",
+ "sarcasm",
+ "sardonic",
+ "sari",
+ "saris",
+ "sartorial",
+ "sashay",
+ "sashays",
+ "satiate",
+ "satire",
+ "satiric",
+ "satirize",
+ "saturate",
+ "satyr",
+ "sauce",
+ "savage",
+ "savaged",
+ "savagely",
+ "save",
+ "savior",
+ "savor",
+ "savour",
+ "saxon",
+ "say",
+ "scabbard",
+ "scabs",
+ "scalawag",
+ "scale",
+ "scaled",
+ "scamming",
+ "scams",
+ "scapegoat",
+ "scarcely",
+ "scarcity",
+ "scarfed",
+ "scarier",
+ "scarily",
+ "scarred",
+ "scat",
+ "scenery",
+ "scented",
+ "schemed",
+ "scholarly",
+ "school",
+ "schooled",
+ "schooling",
+ "schools",
+ "science",
+ "scimitar",
+ "scintilla",
+ "scoffed",
+ "scofflaw",
+ "scolded",
+ "scone",
+ "scoop",
+ "scooting",
+ "scope",
+ "scoped",
+ "scorching",
+ "score",
+ "scorer",
+ "scoring",
+ "scorn",
+ "scorned",
+ "scottish",
+ "scoundrel",
+ "scourged",
+ "scouted",
+ "scouting",
+ "scowls",
+ "scraggly",
+ "screamer",
+ "screeds",
+ "screened",
+ "screw",
+ "scribble",
+ "scribe",
+ "scrim",
+ "scrimp",
+ "scrimped",
+ "scrip",
+ "script",
+ "scrod",
+ "scrubbed",
+ "scrunch",
+ "scruple",
+ "scrutiny",
+ "scum",
+ "scuttle",
+ "scuttled",
+ "scythe",
+ "seal",
+ "sealed",
+ "seance",
+ "seaport",
+ "seaports",
+ "sear",
+ "search",
+ "season",
+ "seasonal",
+ "seatings",
+ "seaweeds",
+ "sebaceous",
+ "secant",
+ "secede",
+ "seceded",
+ "secession",
+ "seclude",
+ "seclusion",
+ "secondary",
+ "secondly",
+ "secrecy",
+ "secretary",
+ "secrete",
+ "secretive",
+ "sect",
+ "section",
+ "secure",
+ "sedate",
+ "sedentary",
+ "sediment",
+ "sedition",
+ "seditious",
+ "seduce",
+ "sedulous",
+ "seeking",
+ "seer",
+ "seethe",
+ "segment",
+ "seignior",
+ "seize",
+ "seized",
+ "selective",
+ "selfish",
+ "seller",
+ "semblance",
+ "seminar",
+ "seminary",
+ "senator",
+ "senile",
+ "senility",
+ "seniority",
+ "sensation",
+ "sense",
+ "sensible",
+ "sensitive",
+ "sensorium",
+ "sensual",
+ "sensuous",
+ "sentence",
+ "sentience",
+ "sentient",
+ "sentinel",
+ "separable",
+ "separate",
+ "sepulcher",
+ "sequel",
+ "sequence",
+ "sequent",
+ "sequester",
+ "serapes",
+ "serenade",
+ "sergeant",
+ "serial",
+ "seriously",
+ "servant",
+ "service",
+ "servitude",
+ "set",
+ "setup",
+ "sever",
+ "severance",
+ "severely",
+ "severity",
+ "sewing",
+ "sexist",
+ "sextet",
+ "sextuple",
+ "shabbily",
+ "shade",
+ "shades",
+ "shading",
+ "shaggy",
+ "shaken",
+ "shakeout",
+ "shaker",
+ "shakes",
+ "shaky",
+ "shallot",
+ "shambles",
+ "shame",
+ "shanks",
+ "shape",
+ "shapely",
+ "sharing",
+ "sharpener",
+ "sheaf",
+ "sheath",
+ "sheer",
+ "shelf",
+ "shell",
+ "shellfish",
+ "shelling",
+ "shelter",
+ "sherbet",
+ "shift",
+ "shiftless",
+ "shimmied",
+ "shimmy",
+ "shin",
+ "shingled",
+ "ship",
+ "shipwreck",
+ "shirked",
+ "shocking",
+ "shod",
+ "shoehorn",
+ "shoot",
+ "shootout",
+ "shored",
+ "shoreline",
+ "short",
+ "shortage",
+ "shortly",
+ "shotgun",
+ "shoulder",
+ "shove",
+ "show",
+ "showcase",
+ "shower",
+ "showman",
+ "showpiece",
+ "showtime",
+ "shred",
+ "shrewd",
+ "shrewdly",
+ "shriek",
+ "shrink",
+ "shrinkage",
+ "shrivel",
+ "shrubbery",
+ "shrug",
+ "shrugs",
+ "shrunken",
+ "shucks",
+ "shuffle",
+ "shutdown",
+ "shutouts",
+ "shutters",
+ "shylock",
+ "shyness",
+ "sibilance",
+ "sibilant",
+ "sibilate",
+ "sibling",
+ "sick",
+ "sickle",
+ "sickness",
+ "sickos",
+ "sickout",
+ "sidelong",
+ "sidereal",
+ "sidling",
+ "siege",
+ "sieges",
+ "sieving",
+ "sift",
+ "sifted",
+ "sighed",
+ "sight",
+ "sightseer",
+ "signup",
+ "silence",
+ "silenced",
+ "silkworm",
+ "sill",
+ "silly",
+ "silos",
+ "silt",
+ "similar",
+ "simile",
+ "simple",
+ "simplify",
+ "simulate",
+ "sinecure",
+ "sinewy",
+ "sinful",
+ "sinfully",
+ "singe",
+ "singeing",
+ "single",
+ "sinister",
+ "sinuosity",
+ "sinuous",
+ "sinus",
+ "sir",
+ "siren",
+ "sirocco",
+ "sit",
+ "site",
+ "situate",
+ "sixteen",
+ "sixteenth",
+ "sixth",
+ "size",
+ "sizzled",
+ "skald",
+ "skate",
+ "skater",
+ "skeleton",
+ "skeptic",
+ "sketch",
+ "skew",
+ "skewed",
+ "skewness",
+ "skiff",
+ "skim",
+ "skimmed",
+ "skirmish",
+ "sky",
+ "skycap",
+ "skyways",
+ "slack",
+ "slain",
+ "slash",
+ "slashed",
+ "slave",
+ "slayer",
+ "sleaze",
+ "sleazy",
+ "sledge",
+ "sleeps",
+ "sleighs",
+ "sleight",
+ "slew",
+ "slews",
+ "slider",
+ "slight",
+ "slimmed",
+ "slimy",
+ "sling",
+ "slippage",
+ "slipped",
+ "slipping",
+ "slob",
+ "slobby",
+ "slosh",
+ "slothful",
+ "slovaks",
+ "slow",
+ "sluggard",
+ "slugger",
+ "slugging",
+ "slum",
+ "slunk",
+ "slurped",
+ "slurred",
+ "slut",
+ "sly",
+ "smacks",
+ "small",
+ "smartly",
+ "smash",
+ "smashed",
+ "smeared",
+ "smell",
+ "smelting",
+ "smock",
+ "smoke",
+ "smuggled",
+ "smugly",
+ "snack",
+ "snacked",
+ "snags",
+ "snapped",
+ "snarl",
+ "snatch",
+ "sneak",
+ "sneeze",
+ "snide",
+ "snipe",
+ "snippet",
+ "snob",
+ "snook",
+ "snooze",
+ "snorer",
+ "snorts",
+ "snowbank",
+ "snowman",
+ "snowmen",
+ "snowy",
+ "snuggle",
+ "soaked",
+ "soap",
+ "soapy",
+ "sobbed",
+ "soberly",
+ "sobriquet",
+ "sociable",
+ "socialism",
+ "socialist",
+ "socials",
+ "sociology",
+ "sodas",
+ "sodomize",
+ "software",
+ "soil",
+ "solace",
+ "solar",
+ "solder",
+ "soldier",
+ "soldiers",
+ "sole",
+ "solecism",
+ "solemnly",
+ "solicitor",
+ "solidity",
+ "soliloquy",
+ "solitary",
+ "solstice",
+ "soluble",
+ "solvable",
+ "solvent",
+ "somatic",
+ "somber",
+ "somebody",
+ "somnolent",
+ "sonata",
+ "sonic",
+ "sonnet",
+ "sonorous",
+ "soot",
+ "soothes",
+ "sop",
+ "sophism",
+ "sophistry",
+ "soprano",
+ "sorbet",
+ "sorcery",
+ "sordid",
+ "sought",
+ "soulmate",
+ "sound",
+ "sounds",
+ "sourwood",
+ "southern",
+ "souvenir",
+ "sow",
+ "space",
+ "spaceship",
+ "spacing",
+ "spacious",
+ "spackle",
+ "spade",
+ "spake",
+ "span",
+ "spangled",
+ "spank",
+ "spar",
+ "spark",
+ "sparkly",
+ "sparring",
+ "sparse",
+ "spasm",
+ "spasmodic",
+ "spatula",
+ "spatulas",
+ "spawn",
+ "spawns",
+ "spear",
+ "special",
+ "specialty",
+ "specie",
+ "species",
+ "specific",
+ "specify",
+ "specimen",
+ "specious",
+ "speckled",
+ "spectator",
+ "specter",
+ "spectres",
+ "spectrum",
+ "speculate",
+ "speedily",
+ "speeds",
+ "spending",
+ "spheroid",
+ "spiced",
+ "spiffy",
+ "spigots",
+ "spike",
+ "spin",
+ "spinous",
+ "spinster",
+ "spiraled",
+ "spires",
+ "spitball",
+ "splashy",
+ "splotch",
+ "splurge",
+ "sponsor",
+ "spook",
+ "spooling",
+ "spoons",
+ "sporting",
+ "spot",
+ "spotty",
+ "sprayers",
+ "spraying",
+ "sprightly",
+ "sprinkle",
+ "sprint",
+ "sprinted",
+ "sprinter",
+ "spry",
+ "spume",
+ "spurious",
+ "spurned",
+ "sputter",
+ "spy",
+ "squabble",
+ "squadron",
+ "squalid",
+ "squalled",
+ "squander",
+ "squared",
+ "squash",
+ "squashed",
+ "squatter",
+ "squeaks",
+ "squeezed",
+ "squirm",
+ "squish",
+ "squishes",
+ "staccato",
+ "stack",
+ "stacking",
+ "staff",
+ "stages",
+ "stagger",
+ "stagnant",
+ "stagnate",
+ "stagy",
+ "staid",
+ "stain",
+ "stainless",
+ "stair",
+ "stairwell",
+ "stalled",
+ "stallion",
+ "stamina",
+ "stampede",
+ "stance",
+ "stanchion",
+ "standoff",
+ "standout",
+ "stands",
+ "stanza",
+ "star",
+ "starch",
+ "stark",
+ "starker",
+ "starkly",
+ "starless",
+ "starring",
+ "stars",
+ "starter",
+ "starters",
+ "stash",
+ "stashes",
+ "stat",
+ "static",
+ "statics",
+ "statuette",
+ "stature",
+ "statute",
+ "stayers",
+ "staying",
+ "steadies",
+ "steal",
+ "stealth",
+ "steam",
+ "steamy",
+ "steeled",
+ "steep",
+ "steeple",
+ "steeples",
+ "steer",
+ "steering",
+ "stellar",
+ "stem",
+ "stencil",
+ "steppe",
+ "stepwise",
+ "sterling",
+ "sternum",
+ "steroids",
+ "stew",
+ "stick",
+ "sticking",
+ "stiff",
+ "stifle",
+ "stifled",
+ "stigma",
+ "stiletto",
+ "still",
+ "stilts",
+ "stimulant",
+ "stimulate",
+ "stimulus",
+ "stinging",
+ "stingy",
+ "stipend",
+ "stir",
+ "stirs",
+ "stitched",
+ "stock",
+ "stockpile",
+ "stodgy",
+ "stoicism",
+ "stolid",
+ "stomped",
+ "stoners",
+ "stoop",
+ "stop",
+ "stopped",
+ "store",
+ "storyline",
+ "stout",
+ "straddle",
+ "strain",
+ "strait",
+ "strand",
+ "stranded",
+ "stratagem",
+ "stratum",
+ "straw",
+ "stray",
+ "streamlet",
+ "stressed",
+ "stretch",
+ "strewn",
+ "stricken",
+ "striders",
+ "stringent",
+ "stripe",
+ "striped",
+ "stripling",
+ "strobe",
+ "stud",
+ "studded",
+ "studious",
+ "stultify",
+ "stumble",
+ "stumbling",
+ "stunners",
+ "stupidest",
+ "stupidly",
+ "stupor",
+ "styling",
+ "suasion",
+ "suave",
+ "subacid",
+ "subjacent",
+ "subjugate",
+ "submarine",
+ "submerge",
+ "submittal",
+ "subside",
+ "subsidize",
+ "subsist",
+ "subsumes",
+ "subtend",
+ "subtests",
+ "subtle",
+ "subvert",
+ "succeed",
+ "success",
+ "successor",
+ "succinct",
+ "succulent",
+ "succumb",
+ "suction",
+ "sudden",
+ "sue",
+ "suffrage",
+ "suffuse",
+ "suffused",
+ "sugar",
+ "suits",
+ "sulfate",
+ "sulfurous",
+ "sulkily",
+ "sultan",
+ "summary",
+ "summation",
+ "summed",
+ "summited",
+ "sumptuous",
+ "sunbeam",
+ "sunburst",
+ "sunflower",
+ "suns",
+ "sunset",
+ "sunsets",
+ "sunshine",
+ "sunward",
+ "super",
+ "superadd",
+ "superb",
+ "superheat",
+ "supersede",
+ "supervise",
+ "supine",
+ "supplant",
+ "supple",
+ "supply",
+ "supposed",
+ "supposing",
+ "suppress",
+ "supremo",
+ "surcharge",
+ "sureness",
+ "surety",
+ "surf",
+ "surface",
+ "surfeit",
+ "surly",
+ "surmise",
+ "surmount",
+ "surplus",
+ "surprise",
+ "surrender",
+ "surrogate",
+ "surround",
+ "surveyor",
+ "survives",
+ "suspect",
+ "suspects",
+ "suspense",
+ "sutra",
+ "suture",
+ "swab",
+ "swale",
+ "swallowed",
+ "swamped",
+ "swarm",
+ "swarmed",
+ "swarthy",
+ "swat",
+ "swath",
+ "swathe",
+ "swathed",
+ "swatting",
+ "swayed",
+ "swearing",
+ "sweat",
+ "sweeping",
+ "sweeps",
+ "sweets",
+ "swell",
+ "swelled",
+ "swelter",
+ "swerving",
+ "swigs",
+ "swimsuit",
+ "swindle",
+ "swindler",
+ "swinging",
+ "swipe",
+ "swipes",
+ "swirled",
+ "swirling",
+ "switching",
+ "swivel",
+ "swoop",
+ "swooped",
+ "sword",
+ "swore",
+ "sycamore",
+ "sycophant",
+ "syllabic",
+ "syllable",
+ "syllabus",
+ "sylph",
+ "symbolic",
+ "symmetry",
+ "symphonic",
+ "symphony",
+ "symposium",
+ "synagogue",
+ "syndicate",
+ "syndrome",
+ "syneresis",
+ "synergy",
+ "synod",
+ "synonym",
+ "synopsis",
+ "syrupy",
+ "table",
+ "tableau",
+ "tableaus",
+ "tabloid",
+ "taboo",
+ "tacit",
+ "taciturn",
+ "tack",
+ "tacked",
+ "tackle",
+ "taco",
+ "tact",
+ "tactful",
+ "tactician",
+ "tactics",
+ "taffeta",
+ "tahini",
+ "tail",
+ "tailspin",
+ "take",
+ "talcum",
+ "talk",
+ "talking",
+ "tallest",
+ "tally",
+ "talmudic",
+ "tamarind",
+ "tamely",
+ "tan",
+ "tandem",
+ "tangency",
+ "tangent",
+ "tangible",
+ "tango",
+ "tankful",
+ "tanned",
+ "tanners",
+ "tannery",
+ "tantalize",
+ "tape",
+ "tapes",
+ "tapestry",
+ "taping",
+ "taquitos",
+ "tardiness",
+ "target",
+ "tarnish",
+ "tarry",
+ "tart",
+ "tartlets",
+ "tater",
+ "tattler",
+ "tattoos",
+ "taupe",
+ "taut",
+ "tax",
+ "taxation",
+ "taxi",
+ "taxicab",
+ "taxidermy",
+ "tea",
+ "teachable",
+ "teacher",
+ "teal",
+ "tearful",
+ "tearooms",
+ "tears",
+ "teary",
+ "tease",
+ "teaser",
+ "teasingly",
+ "technic",
+ "technique",
+ "tedium",
+ "tee",
+ "teem",
+ "teemed",
+ "teenage",
+ "tees",
+ "teetering",
+ "telco",
+ "telecast",
+ "telegraph",
+ "telemetry",
+ "telepathy",
+ "telephony",
+ "telescope",
+ "teletype",
+ "televise",
+ "telltale",
+ "temblors",
+ "temerity",
+ "temp",
+ "temple",
+ "temples",
+ "temporal",
+ "temporary",
+ "temporize",
+ "tempt",
+ "tempter",
+ "temptress",
+ "tenacious",
+ "tenant",
+ "tendency",
+ "tender",
+ "tendril",
+ "tenet",
+ "tenfold",
+ "tennis",
+ "tenor",
+ "tense",
+ "tensest",
+ "tensions",
+ "tentative",
+ "tenting",
+ "tenure",
+ "termagant",
+ "terminal",
+ "terminate",
+ "terminus",
+ "terms",
+ "terrapin",
+ "terribly",
+ "terrier",
+ "terrify",
+ "terse",
+ "testament",
+ "testator",
+ "tested",
+ "testify",
+ "tethers",
+ "teutonic",
+ "thanks",
+ "thaw",
+ "thaws",
+ "thearchy",
+ "theater",
+ "theirs",
+ "theism",
+ "then",
+ "thence",
+ "theocracy",
+ "theocrasy",
+ "theology",
+ "theorist",
+ "theorize",
+ "therefor",
+ "therefore",
+ "thereupon",
+ "thermal",
+ "thesis",
+ "they",
+ "thicket",
+ "thievery",
+ "thigh",
+ "thin",
+ "think",
+ "third",
+ "thirsty",
+ "thirtieth",
+ "thomism",
+ "thong",
+ "thorn",
+ "though",
+ "thousand",
+ "thrall",
+ "thread",
+ "threes",
+ "threshed",
+ "threw",
+ "thrilled",
+ "throb",
+ "throes",
+ "throne",
+ "through",
+ "throw",
+ "thrums",
+ "thrush",
+ "thrusting",
+ "thump",
+ "thumped",
+ "thusly",
+ "thwarted",
+ "thy",
+ "thyroids",
+ "tibias",
+ "tic",
+ "tick",
+ "tickle",
+ "tidying",
+ "tight",
+ "tightness",
+ "tile",
+ "tills",
+ "tilted",
+ "tilth",
+ "timbre",
+ "timeline",
+ "timeout",
+ "timorous",
+ "tincture",
+ "tinge",
+ "tinkle",
+ "tintype",
+ "tipoff",
+ "tipsy",
+ "tirade",
+ "tired",
+ "tireless",
+ "tiresome",
+ "titled",
+ "toddies",
+ "toenail",
+ "togas",
+ "toggle",
+ "toggling",
+ "toil",
+ "toilsome",
+ "token",
+ "tolerable",
+ "tolerance",
+ "tolerant",
+ "tolerate",
+ "tolling",
+ "tomb",
+ "tome",
+ "tonic",
+ "too",
+ "tool",
+ "toot",
+ "toothless",
+ "tootling",
+ "top",
+ "topics",
+ "toponyms",
+ "topping",
+ "tops",
+ "topsail",
+ "torch",
+ "tornados",
+ "torpedo",
+ "torpor",
+ "torrid",
+ "torso",
+ "tortious",
+ "tortuous",
+ "tortured",
+ "torturous",
+ "toss",
+ "tosser",
+ "totaled",
+ "touchy",
+ "toughed",
+ "toured",
+ "touring",
+ "touristy",
+ "tousled",
+ "towel",
+ "towels",
+ "towering",
+ "townie",
+ "toy",
+ "toys",
+ "trace",
+ "traces",
+ "trachoma",
+ "tracking",
+ "tractable",
+ "trail",
+ "trait",
+ "trammel",
+ "tramp",
+ "tramped",
+ "trance",
+ "tranquil",
+ "transact",
+ "transcend",
+ "transfer",
+ "transfix",
+ "transfuse",
+ "transient",
+ "translate",
+ "transmit",
+ "transmute",
+ "transpire",
+ "trashing",
+ "trattoria",
+ "travail",
+ "traveling",
+ "travesty",
+ "trawl",
+ "treachery",
+ "treatise",
+ "treble",
+ "trebly",
+ "tremor",
+ "tremulous",
+ "trenchant",
+ "trendier",
+ "trestle",
+ "triad",
+ "triads",
+ "tribal",
+ "tribe",
+ "tribesman",
+ "tribunal",
+ "tribune",
+ "trick",
+ "trickery",
+ "trickle",
+ "tricolor",
+ "tricycle",
+ "trident",
+ "triennial",
+ "trim",
+ "trimness",
+ "trinity",
+ "trio",
+ "triple",
+ "tripled",
+ "tripod",
+ "tripped",
+ "trippy",
+ "trisect",
+ "trite",
+ "triumvir",
+ "trivial",
+ "trombone",
+ "trophies",
+ "trots",
+ "trotted",
+ "troubling",
+ "troupe",
+ "trouper",
+ "trove",
+ "trowel",
+ "truckload",
+ "truculent",
+ "truism",
+ "trumpet",
+ "truncated",
+ "trundle",
+ "trussed",
+ "trusted",
+ "trusting",
+ "trusty",
+ "truthful",
+ "trying",
+ "trypsin",
+ "tuba",
+ "tubing",
+ "tuesdays",
+ "tug",
+ "tumble",
+ "tunafish",
+ "tune",
+ "tuned",
+ "tuneup",
+ "tunisian",
+ "turbans",
+ "turbos",
+ "turgid",
+ "turkey",
+ "turn",
+ "turnabout",
+ "turning",
+ "turpitude",
+ "tushes",
+ "tussle",
+ "tussles",
+ "tutee",
+ "tutelage",
+ "tutelar",
+ "tutorship",
+ "tutsi",
+ "twice",
+ "twiddle",
+ "twine",
+ "twinge",
+ "twirl",
+ "twisting",
+ "twitch",
+ "twoyear",
+ "tycoon",
+ "typed",
+ "typhus",
+ "typical",
+ "typified",
+ "typify",
+ "tyranny",
+ "tyro",
+ "ugh",
+ "ugly",
+ "ulterior",
+ "ultimate",
+ "ultimatum",
+ "umbrage",
+ "unable",
+ "unanimity",
+ "unanimous",
+ "unbalance",
+ "unbeaten",
+ "unbelief",
+ "unbiased",
+ "unbind",
+ "unblock",
+ "unbounded",
+ "unbridled",
+ "uncannily",
+ "uncanny",
+ "uncared",
+ "unclaimed",
+ "uncle",
+ "uncommon",
+ "uncork",
+ "uncrowded",
+ "unction",
+ "unctuous",
+ "uncut",
+ "undeceive",
+ "underlie",
+ "underling",
+ "underman",
+ "undermine",
+ "underpaid",
+ "underrate",
+ "undersell",
+ "undertake",
+ "undertow",
+ "undimmed",
+ "undivided",
+ "undo",
+ "undone",
+ "undue",
+ "undulate",
+ "undulous",
+ "uneasy",
+ "unfairly",
+ "unfolding",
+ "ungainly",
+ "unglued",
+ "ungodly",
+ "unguent",
+ "unharmed",
+ "unhelpful",
+ "unholy",
+ "unhook",
+ "unhooked",
+ "unibody",
+ "unify",
+ "uninjured",
+ "uninvited",
+ "unique",
+ "unison",
+ "unisonant",
+ "unite",
+ "united",
+ "univocal",
+ "unkept",
+ "unknown",
+ "unlawful",
+ "unlearned",
+ "unlimited",
+ "unnamed",
+ "unnatural",
+ "unnoticed",
+ "unopposed",
+ "unpeeled",
+ "unplugged",
+ "unpopular",
+ "unproved",
+ "unravel",
+ "unripe",
+ "unroofed",
+ "unsay",
+ "unseat",
+ "unsettle",
+ "unshod",
+ "unsound",
+ "unstuck",
+ "untaxed",
+ "untenable",
+ "untended",
+ "until",
+ "untilled",
+ "untimely",
+ "untoward",
+ "untreated",
+ "unvaried",
+ "unvarying",
+ "unveil",
+ "unveiled",
+ "unwieldy",
+ "unwise",
+ "unyoke",
+ "upbraid",
+ "upcast",
+ "updated",
+ "upends",
+ "upheaval",
+ "upheave",
+ "uplifted",
+ "uploads",
+ "upmarket",
+ "upon",
+ "upped",
+ "upper",
+ "uppermost",
+ "upright",
+ "uprising",
+ "uproar",
+ "uproot",
+ "upsetting",
+ "upstage",
+ "upstart",
+ "upstate",
+ "uptick",
+ "uptown",
+ "upturn",
+ "upwardly",
+ "urban",
+ "urbanity",
+ "urchin",
+ "urge",
+ "urgency",
+ "urgent",
+ "usage",
+ "used",
+ "useful",
+ "usual",
+ "usurers",
+ "usurious",
+ "usurp",
+ "usurped",
+ "usury",
+ "utensil",
+ "utility",
+ "utmost",
+ "utter",
+ "utterly",
+ "vacate",
+ "vaccinate",
+ "vacillate",
+ "vacuous",
+ "vacuum",
+ "vagabond",
+ "vagrant",
+ "vain",
+ "vainglory",
+ "valance",
+ "vale",
+ "valet",
+ "valiant",
+ "valid",
+ "validate",
+ "valleys",
+ "valorous",
+ "value",
+ "vampire",
+ "vane",
+ "vanities",
+ "vapid",
+ "vaporizer",
+ "variable",
+ "variance",
+ "variant",
+ "variates",
+ "variation",
+ "variegate",
+ "vassal",
+ "vastly",
+ "vastness",
+ "vaulting",
+ "veal",
+ "vectors",
+ "veered",
+ "veering",
+ "vegetal",
+ "vegetate",
+ "vehement",
+ "veil",
+ "velar",
+ "veldt",
+ "velocity",
+ "velvety",
+ "venal",
+ "vendible",
+ "vendition",
+ "vendor",
+ "veneer",
+ "venerable",
+ "venerate",
+ "venereal",
+ "vengeance",
+ "vengeful",
+ "venial",
+ "venison",
+ "venom",
+ "venous",
+ "ventilate",
+ "veracious",
+ "veracity",
+ "veranda",
+ "verbatim",
+ "verbiage",
+ "verbose",
+ "verdant",
+ "verify",
+ "verily",
+ "verity",
+ "vermin",
+ "vernal",
+ "versatile",
+ "version",
+ "vertex",
+ "vertical",
+ "vertigo",
+ "verve",
+ "very",
+ "vespers",
+ "vessels",
+ "vested",
+ "vestige",
+ "vestiges",
+ "vesting",
+ "vestment",
+ "vet",
+ "veto",
+ "viability",
+ "vibe",
+ "vicarious",
+ "viceroy",
+ "victim",
+ "videotape",
+ "vie",
+ "views",
+ "vigilance",
+ "vigilant",
+ "vigilante",
+ "vignette",
+ "vilify",
+ "vincible",
+ "vindicate",
+ "vinery",
+ "vining",
+ "viol",
+ "viola",
+ "violate",
+ "violated",
+ "violation",
+ "violator",
+ "viper",
+ "virago",
+ "virile",
+ "virtu",
+ "virtual",
+ "virtue",
+ "virtuoso",
+ "virulence",
+ "virulent",
+ "visage",
+ "viscera",
+ "viscose",
+ "viscount",
+ "vision",
+ "visit",
+ "vista",
+ "visual",
+ "visualize",
+ "vital",
+ "vitality",
+ "vitalize",
+ "vitally",
+ "vitiate",
+ "vitiated",
+ "vivacity",
+ "vivify",
+ "vocable",
+ "vocal",
+ "vocalist",
+ "vocative",
+ "vodka",
+ "vogue",
+ "voice",
+ "voiceless",
+ "void",
+ "voiding",
+ "voids",
+ "volant",
+ "volar",
+ "volatile",
+ "volition",
+ "volitive",
+ "voluble",
+ "vomit",
+ "vomited",
+ "vomiting",
+ "vomits",
+ "voracious",
+ "vortex",
+ "votary",
+ "voter",
+ "votive",
+ "vouchsafe",
+ "vow",
+ "voyager",
+ "vulgarity",
+ "wacko",
+ "wad",
+ "wadded",
+ "wading",
+ "wads",
+ "wage",
+ "waif",
+ "waistcoat",
+ "waistline",
+ "waiter",
+ "waiting",
+ "waive",
+ "wake",
+ "waked",
+ "walkable",
+ "walker",
+ "walkers",
+ "walking",
+ "walled",
+ "wallop",
+ "wallow",
+ "waltz",
+ "wampum",
+ "wane",
+ "waned",
+ "wanes",
+ "wangled",
+ "wannabe",
+ "wanted",
+ "wanting",
+ "ward",
+ "warden",
+ "warehouse",
+ "warhead",
+ "warheads",
+ "warily",
+ "wariness",
+ "warlike",
+ "warmed",
+ "warning",
+ "warp",
+ "warpath",
+ "warrior",
+ "wary",
+ "wash",
+ "washtub",
+ "waste",
+ "wasteful",
+ "watchful",
+ "waterline",
+ "wavelet",
+ "waxy",
+ "way",
+ "weakens",
+ "weakest",
+ "weakling",
+ "weal",
+ "wean",
+ "wear",
+ "wearied",
+ "wearisome",
+ "webcams",
+ "website",
+ "wed",
+ "wee",
+ "weedy",
+ "weekly",
+ "weepers",
+ "weigh",
+ "weirdest",
+ "weirdly",
+ "welcome",
+ "well",
+ "welt",
+ "west",
+ "westward",
+ "whatnot",
+ "wheel",
+ "wheeze",
+ "whereupon",
+ "wherever",
+ "wherewith",
+ "whet",
+ "while",
+ "whiled",
+ "whimper",
+ "whimsical",
+ "whine",
+ "whip",
+ "whipping",
+ "whippy",
+ "whirr",
+ "whirred",
+ "whistle",
+ "white",
+ "whittle",
+ "whiz",
+ "whodunit",
+ "wholly",
+ "whomever",
+ "whoop",
+ "whoops",
+ "whooshes",
+ "wide",
+ "widening",
+ "widowed",
+ "widower",
+ "wield",
+ "wielders",
+ "wiggle",
+ "wiggly",
+ "wild",
+ "wildcard",
+ "wile",
+ "wilful",
+ "willowy",
+ "wills",
+ "wimp",
+ "winced",
+ "windage",
+ "windswept",
+ "wingman",
+ "winsome",
+ "winter",
+ "wintry",
+ "wipeout",
+ "wiper",
+ "wires",
+ "wiretap",
+ "wiry",
+ "wise",
+ "wisecrack",
+ "wiseguy",
+ "wishful",
+ "withered",
+ "within",
+ "witless",
+ "witling",
+ "witticism",
+ "wittiest",
+ "wittingly",
+ "wizen",
+ "womanly",
+ "wondered",
+ "wonders",
+ "wondrous",
+ "woodland",
+ "woodshed",
+ "woolly",
+ "woozy",
+ "wordplay",
+ "worklife",
+ "workspace",
+ "wormed",
+ "worried",
+ "worrying",
+ "worthy",
+ "would",
+ "wouldst",
+ "wound",
+ "wrack",
+ "wrangle",
+ "wrap",
+ "wrapped",
+ "wreak",
+ "wreath",
+ "wrest",
+ "wrestle",
+ "wrestler",
+ "wretch",
+ "wriggle",
+ "wrinkle",
+ "writhe",
+ "writing",
+ "wrong",
+ "wry",
+ "yank",
+ "yard",
+ "yardage",
+ "yards",
+ "yarn",
+ "yarns",
+ "yaw",
+ "yearend",
+ "yearling",
+ "yearning",
+ "yeast",
+ "yell",
+ "yelling",
+ "yellowing",
+ "yells",
+ "yen",
+ "yielded",
+ "yielding",
+ "yin",
+ "yogurts",
+ "yoke",
+ "yon",
+ "you",
+ "your",
+ "yowled",
+ "yowling",
+ "yum",
+ "zealot",
+ "zeitgeist",
+ "zenith",
+ "zephyr",
+ "zephyrs",
+ "zero",
+ "ziggurat",
+ "zigs",
+ "zings",
+ "zionists",
+ "zip",
+ "zipped",
+ "zodiac",
+ "zooming",
+};
+
+const size_t word_list_len = ARRAYLEN(word_list);
+#endif
diff --git a/apps/plugins/passmgr/wordlist.h b/apps/plugins/passmgr/wordlist.h
index 8c59e89..9e6128b 100644
--- a/apps/plugins/passmgr/wordlist.h
+++ b/apps/plugins/passmgr/wordlist.h
@@ -1,2 +1,8 @@
+#include "plugin.h"
+
+/* the word list is BIG! */
+#if PLUGIN_BUFFER_SIZE > 0x8000
+#define PASSMGR_DICEWARE
extern const char *word_list[];
extern const size_t word_list_len;
+#endif