@elmethis/vue 0.5.1 → 0.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/index.vue.cjs +2 -2
- package/lib/index.vue.mjs +745 -450
- package/lib/style.css +1 -1
- package/lib-types/components/a2ui/catalog/block-catalog.d.ts.map +1 -1
- package/lib-types/components/form/elm-button.d.ts.map +1 -1
- package/lib-types/components/media/elm-audio-player.d.ts +103 -0
- package/lib-types/components/media/elm-audio-player.d.ts.map +1 -0
- package/lib-types/index.d.ts +1 -0
- package/lib-types/index.d.ts.map +1 -1
- package/package.json +4 -4
package/lib/index.vue.mjs
CHANGED
|
@@ -1,32 +1,32 @@
|
|
|
1
1
|
import "@elmethis/core/tokens.css";
|
|
2
2
|
import { Fragment as e, computed as t, createTextVNode as n, createVNode as r, defineComponent as i, h as a, inject as o, isVNode as s, mergeProps as c, onBeforeUnmount as l, onMounted as u, onUnmounted as d, provide as f, ref as p, shallowRef as m, useId as h, watch as g } from "vue";
|
|
3
3
|
import { Catalog as ee, ComponentContext as te, MessageProcessor as ne } from "@a2ui/web_core/v0_9";
|
|
4
|
-
import { AudioPlayerApi as re, BASIC_COMPONENTS as ie, BASIC_FUNCTIONS as ae, ButtonApi as
|
|
5
|
-
import { clsx as
|
|
6
|
-
import { useClipboard as
|
|
4
|
+
import { AudioPlayerApi as re, BASIC_COMPONENTS as ie, BASIC_FUNCTIONS as ae, ButtonApi as _, CardApi as oe, CheckBoxApi as se, ChoicePickerApi as ce, ColumnApi as le, DateTimeInputApi as ue, DividerApi as de, IconApi as fe, ImageApi as pe, ListApi as me, ModalApi as he, RowApi as ge, SliderApi as _e, TabsApi as ve, TextApi as ye, TextFieldApi as be, VideoApi as xe } from "@a2ui/web_core/v0_9/basic_catalog";
|
|
5
|
+
import { clsx as v } from "clsx";
|
|
6
|
+
import { useClipboard as Se, useClipboardItems as Ce, useVModel as we } from "@vueuse/core";
|
|
7
7
|
import "zod";
|
|
8
|
-
import { renderToString as
|
|
9
|
-
import { mdiAlert as De, mdiAlertOctagram as Oe, mdiApplicationOutline as ke, mdiArrowDownDropCircleOutline as Ae, mdiCheckCircle as je, mdiCheckCircleOutline as Me, mdiChevronRight as Ne, mdiClipboardCheckOutline as Pe, mdiClipboardOutline as Fe, mdiCodeTags as Ie, mdiDownload as Le, mdiEyeOffOutline as Re, mdiEyeOutline as ze,
|
|
10
|
-
import { BlockImageApi as
|
|
11
|
-
import { codeToHtml as
|
|
12
|
-
import
|
|
13
|
-
import
|
|
14
|
-
import { marked as
|
|
15
|
-
var
|
|
8
|
+
import { renderToString as Te } from "katex";
|
|
9
|
+
import { mdiAlert as Ee, mdiAlertCircleOutline as De, mdiAlertOctagram as Oe, mdiApplicationOutline as ke, mdiArrowDownDropCircleOutline as Ae, mdiCheckCircle as je, mdiCheckCircleOutline as Me, mdiChevronRight as Ne, mdiClipboardCheckOutline as Pe, mdiClipboardOutline as Fe, mdiCodeTags as Ie, mdiDownload as Le, mdiEyeOffOutline as Re, mdiEyeOutline as ze, mdiFastForward10 as Be, mdiFile as Ve, mdiFolderOpen as He, mdiFormatColorFill as Ue, mdiFormatQuoteClose as We, mdiFormatQuoteOpen as Ge, mdiHexadecimal as Ke, mdiHome as qe, mdiInformation as Je, mdiLightbulbOn as Ye, mdiLinkVariant as Xe, mdiMenuDown as Ze, mdiMessageImageOutline as Qe, mdiMusicNote as $e, mdiPause as et, mdiPlay as tt, mdiPlus as nt, mdiRewind10 as rt, mdiShieldAlert as it, mdiText as at, mdiTextLong as ot, mdiTrashCanOutline as st, mdiVolumeHigh as ct, mdiVolumeLow as lt, mdiVolumeMedium as ut, mdiVolumeOff as dt } from "@mdi/js";
|
|
10
|
+
import { AudioApi as ft, BlockImageApi as pt, BlockQuoteApi as mt, BookmarkApi as ht, CalloutApi as gt, CodeBlockApi as _t, ColumnApi as vt, ColumnListApi as yt, ContentTabApi as bt, ContentTabsApi as xt, DividerApi as St, FileApi as Ct, HeadingApi as wt, IconApi as Tt, KatexApi as Et, LANGUAGES as Dt, LinkTextApi as Ot, ListApi as kt, ListItemApi as At, MermaidApi as jt, ParagraphApi as Mt, RichTextApi as Nt, TableApi as Pt, TableCellApi as Ft, TableRowApi as It, ToggleApi as Lt, UnsupportedApi as Rt, VideoApi as zt, languageIcons as Bt, normalizeLanguage as Vt } from "@elmethis/core";
|
|
11
|
+
import { codeToHtml as Ht } from "shiki";
|
|
12
|
+
import Ut from "@46ki75/ikuma-theme/dark";
|
|
13
|
+
import Wt from "@46ki75/ikuma-theme/light";
|
|
14
|
+
import { marked as Gt } from "marked";
|
|
15
|
+
var y = {
|
|
16
16
|
"elm-tabs": "_elm-tabs_1fco0_1",
|
|
17
17
|
"tab-container": "_tab-container_1fco0_14",
|
|
18
18
|
tab: "_tab_1fco0_14",
|
|
19
19
|
active: "_active_1fco0_37",
|
|
20
20
|
"tab-content": "_tab-content_1fco0_48",
|
|
21
21
|
"tab-content-inner": "_tab-content-inner_1fco0_53"
|
|
22
|
-
},
|
|
22
|
+
}, b = {
|
|
23
23
|
"elm-collapse": "_elm-collapse_12wiu_1",
|
|
24
24
|
row: "_row_12wiu_5",
|
|
25
25
|
open: "_open_12wiu_11",
|
|
26
26
|
column: "_column_12wiu_16",
|
|
27
27
|
both: "_both_12wiu_27",
|
|
28
28
|
inner: "_inner_12wiu_44"
|
|
29
|
-
},
|
|
29
|
+
}, Kt = /* @__PURE__ */ i({
|
|
30
30
|
name: "ElmCollapse",
|
|
31
31
|
props: {
|
|
32
32
|
isOpen: {
|
|
@@ -44,26 +44,26 @@ var v = {
|
|
|
44
44
|
},
|
|
45
45
|
setup(e, { slots: t }) {
|
|
46
46
|
return () => r("div", {
|
|
47
|
-
class:
|
|
47
|
+
class: v(b["elm-collapse"], e.isOpen && b.open, e.direction === "row" && b.row, e.direction === "column" && b.column, e.direction === "both" && b.both),
|
|
48
48
|
style: { "--elmethis-scoped-transition-timing-function": e.transitionTimingFunction }
|
|
49
|
-
}, [r("div", { class:
|
|
49
|
+
}, [r("div", { class: b.inner }, [t.default?.()])]);
|
|
50
50
|
}
|
|
51
51
|
});
|
|
52
52
|
//#endregion
|
|
53
53
|
//#region src/hooks/use-bindable-signal.ts
|
|
54
|
-
function
|
|
54
|
+
function qt(e) {
|
|
55
55
|
let { props: t, key: n, emit: r, defaultValue: i } = e;
|
|
56
|
-
return
|
|
56
|
+
return we(t, n, r, {
|
|
57
57
|
passive: !0,
|
|
58
58
|
defaultValue: i
|
|
59
59
|
});
|
|
60
60
|
}
|
|
61
61
|
//#endregion
|
|
62
62
|
//#region src/components/containments/tabs-context.ts
|
|
63
|
-
var
|
|
63
|
+
var Jt = Symbol("elm.tabs"), Yt = (e) => {
|
|
64
64
|
if (e == null) throw Error("ElmTabs subcomponents must be used within <ElmTabs>");
|
|
65
65
|
return e;
|
|
66
|
-
},
|
|
66
|
+
}, Xt = /* @__PURE__ */ i({
|
|
67
67
|
name: "ElmTabs",
|
|
68
68
|
props: {
|
|
69
69
|
value: {
|
|
@@ -81,13 +81,13 @@ var Lt = Symbol("elm.tabs"), Rt = (e) => {
|
|
|
81
81
|
},
|
|
82
82
|
emits: ["update:value"],
|
|
83
83
|
setup(e, { emit: t, slots: n }) {
|
|
84
|
-
let i =
|
|
84
|
+
let i = qt({
|
|
85
85
|
props: e,
|
|
86
86
|
key: "value",
|
|
87
87
|
emit: t,
|
|
88
88
|
defaultValue: e.defaultValue ?? ""
|
|
89
89
|
});
|
|
90
|
-
return f(
|
|
90
|
+
return f(Jt, {
|
|
91
91
|
selectedValue: i,
|
|
92
92
|
setSelectedValue: (e) => {
|
|
93
93
|
i.value = e;
|
|
@@ -95,41 +95,41 @@ var Lt = Symbol("elm.tabs"), Rt = (e) => {
|
|
|
95
95
|
get transitionTimingFunction() {
|
|
96
96
|
return e.transitionTimingFunction;
|
|
97
97
|
}
|
|
98
|
-
}), () => r("div", { class:
|
|
98
|
+
}), () => r("div", { class: v(y["elm-tabs"]) }, [n.default?.()]);
|
|
99
99
|
}
|
|
100
|
-
}),
|
|
100
|
+
}), Zt = /* @__PURE__ */ i({
|
|
101
101
|
name: "ElmTabList",
|
|
102
102
|
setup(e, { slots: t }) {
|
|
103
|
-
return () => r("div", { class:
|
|
103
|
+
return () => r("div", { class: v(y["tab-container"]) }, [t.default?.()]);
|
|
104
104
|
}
|
|
105
|
-
}),
|
|
105
|
+
}), Qt = /* @__PURE__ */ i({
|
|
106
106
|
name: "ElmTab",
|
|
107
107
|
props: { value: {
|
|
108
108
|
type: String,
|
|
109
109
|
required: !0
|
|
110
110
|
} },
|
|
111
111
|
setup(e, { slots: t }) {
|
|
112
|
-
let n =
|
|
112
|
+
let n = Yt(o(Jt));
|
|
113
113
|
return () => r("div", {
|
|
114
|
-
class:
|
|
114
|
+
class: v(y.tab, n.selectedValue.value === e.value && y.active),
|
|
115
115
|
onClick: () => n.setSelectedValue(e.value)
|
|
116
116
|
}, [t.default?.()]);
|
|
117
117
|
}
|
|
118
|
-
}),
|
|
118
|
+
}), $t = /* @__PURE__ */ i({
|
|
119
119
|
name: "ElmTabPanel",
|
|
120
120
|
props: { value: {
|
|
121
121
|
type: String,
|
|
122
122
|
required: !0
|
|
123
123
|
} },
|
|
124
124
|
setup(e, { slots: t }) {
|
|
125
|
-
let n =
|
|
126
|
-
return () => r("div", { class:
|
|
125
|
+
let n = Yt(o(Jt));
|
|
126
|
+
return () => r("div", { class: v(y["tab-content"]) }, [r(Kt, {
|
|
127
127
|
direction: "row",
|
|
128
128
|
isOpen: n.selectedValue.value === e.value,
|
|
129
129
|
transitionTimingFunction: n.transitionTimingFunction
|
|
130
|
-
}, { default: () => [r("div", { class:
|
|
130
|
+
}, { default: () => [r("div", { class: y["tab-content-inner"] }, [t.default?.()])] })]);
|
|
131
131
|
}
|
|
132
|
-
}),
|
|
132
|
+
}), en = {
|
|
133
133
|
"elm-heading": "_elm-heading_9vw8y_1",
|
|
134
134
|
h1: "_h1_9vw8y_13",
|
|
135
135
|
h2: "_h2_9vw8y_35",
|
|
@@ -138,7 +138,7 @@ var Lt = Symbol("elm.tabs"), Rt = (e) => {
|
|
|
138
138
|
h4: "_h4_9vw8y_87",
|
|
139
139
|
h5: "_h5_9vw8y_91",
|
|
140
140
|
h6: "_h6_9vw8y_95"
|
|
141
|
-
},
|
|
141
|
+
}, x = { text: "_text_zme4t_1" }, tn = { "elm-fragment-identifier": "_elm-fragment-identifier_xb2v4_1" }, nn = /* @__PURE__ */ i({
|
|
142
142
|
name: "ElmFragmentIdentifier",
|
|
143
143
|
inheritAttrs: !1,
|
|
144
144
|
props: { id: {
|
|
@@ -153,19 +153,19 @@ var Lt = Symbol("elm.tabs"), Rt = (e) => {
|
|
|
153
153
|
return () => {
|
|
154
154
|
let { class: a, ...o } = t;
|
|
155
155
|
return r("span", c({
|
|
156
|
-
class:
|
|
156
|
+
class: v(tn["elm-fragment-identifier"], a),
|
|
157
157
|
onClick: () => i(e.id)
|
|
158
158
|
}, o), [n("#")]);
|
|
159
159
|
};
|
|
160
160
|
}
|
|
161
|
-
}),
|
|
161
|
+
}), rn = Object.freeze({
|
|
162
162
|
1: 1.5,
|
|
163
163
|
2: 1.4,
|
|
164
164
|
3: 1.3,
|
|
165
165
|
4: 1.2,
|
|
166
166
|
5: 1.15,
|
|
167
167
|
6: 1.1
|
|
168
|
-
}),
|
|
168
|
+
}), S = /* @__PURE__ */ i({
|
|
169
169
|
name: "ElmHeading",
|
|
170
170
|
props: {
|
|
171
171
|
level: {
|
|
@@ -183,20 +183,20 @@ var Lt = Symbol("elm.tabs"), Rt = (e) => {
|
|
|
183
183
|
},
|
|
184
184
|
setup(e, { slots: t }) {
|
|
185
185
|
return () => r(`h${e.level}`, {
|
|
186
|
-
class:
|
|
187
|
-
style: { "--elmethis-scoped-font-size": `${
|
|
186
|
+
class: v(en["elm-heading"], x.text, en[`h${e.level}`]),
|
|
187
|
+
style: { "--elmethis-scoped-font-size": `${rn[e.level]}em` },
|
|
188
188
|
id: e.id
|
|
189
189
|
}, { default: () => [
|
|
190
190
|
r("span", null, [e.text]),
|
|
191
191
|
t.default?.(),
|
|
192
|
-
e.id && r("span", { style: { padding: "0.5rem" } }, [r(
|
|
192
|
+
e.id && r("span", { style: { padding: "0.5rem" } }, [r(nn, { id: e.id }, null)]),
|
|
193
193
|
e.level === 2 && r("span", {
|
|
194
|
-
class:
|
|
194
|
+
class: en["h2-underline"],
|
|
195
195
|
"aria-hidden": "true"
|
|
196
196
|
}, null)
|
|
197
197
|
] });
|
|
198
198
|
}
|
|
199
|
-
}),
|
|
199
|
+
}), an = {
|
|
200
200
|
"elm-inline-text": "_elm-inline-text_uf3sg_1",
|
|
201
201
|
code: "_code_uf3sg_13",
|
|
202
202
|
kbd: "_kbd_uf3sg_25",
|
|
@@ -205,7 +205,7 @@ var Lt = Symbol("elm.tabs"), Rt = (e) => {
|
|
|
205
205
|
"ogp-text": "_ogp-text_uf3sg_104",
|
|
206
206
|
"ogp-title": "_ogp-title_uf3sg_109",
|
|
207
207
|
"ogp-description": "_ogp-description_uf3sg_115"
|
|
208
|
-
},
|
|
208
|
+
}, on = { "elm-inline-icon": "_elm-inline-icon_1qs0i_1" }, C = /* @__PURE__ */ i({
|
|
209
209
|
name: "ElmInlineIcon",
|
|
210
210
|
inheritAttrs: !1,
|
|
211
211
|
props: {
|
|
@@ -233,10 +233,10 @@ var Lt = Symbol("elm.tabs"), Rt = (e) => {
|
|
|
233
233
|
setup(e, { attrs: t }) {
|
|
234
234
|
return () => {
|
|
235
235
|
let { class: n, ...i } = t;
|
|
236
|
-
return r("span", c({ class:
|
|
236
|
+
return r("span", c({ class: v(on["elm-inline-icon"], n) }, i), [r("img", {
|
|
237
237
|
src: e.src,
|
|
238
238
|
alt: e.alt,
|
|
239
|
-
class:
|
|
239
|
+
class: on["elm-inline-icon"],
|
|
240
240
|
width: e.width ?? e.size,
|
|
241
241
|
height: e.height ?? e.size
|
|
242
242
|
}, null)]);
|
|
@@ -299,7 +299,7 @@ var Lt = Symbol("elm.tabs"), Rt = (e) => {
|
|
|
299
299
|
return () => {
|
|
300
300
|
let { class: i, style: a, ...o } = t, s = n.default?.();
|
|
301
301
|
return e.href && (s = r("a", {
|
|
302
|
-
class:
|
|
302
|
+
class: an.link,
|
|
303
303
|
href: e.href,
|
|
304
304
|
target: "_blank",
|
|
305
305
|
rel: "noopener noreferrer"
|
|
@@ -308,7 +308,7 @@ var Lt = Symbol("elm.tabs"), Rt = (e) => {
|
|
|
308
308
|
alt: "favicon"
|
|
309
309
|
}, null), s])), e.kbd && ((function() {
|
|
310
310
|
return s;
|
|
311
|
-
})(), s = r("kbd", { class:
|
|
311
|
+
})(), s = r("kbd", { class: an.kbd }, [s])), e.strikethrough && ((function() {
|
|
312
312
|
return s;
|
|
313
313
|
})(), s = r("del", null, [s])), e.italic && ((function() {
|
|
314
314
|
return s;
|
|
@@ -318,8 +318,8 @@ var Lt = Symbol("elm.tabs"), Rt = (e) => {
|
|
|
318
318
|
return s;
|
|
319
319
|
})(), s = r("strong", null, [s])), e.code && ((function() {
|
|
320
320
|
return s;
|
|
321
|
-
})(), s = r("code", { class:
|
|
322
|
-
class:
|
|
321
|
+
})(), s = r("code", { class: an.code }, [s])), e.ruby && (s = r("ruby", { class: an["elm-inline-text"] }, [r("span", null, [s]), r("rt", null, [e.ruby])])), r("span", c({
|
|
322
|
+
class: v(an["elm-inline-text"], x.text, i),
|
|
323
323
|
style: [a, {
|
|
324
324
|
"--elmethis-scoped-color": e.color,
|
|
325
325
|
"--elmethis-scoped-font-size": e.size,
|
|
@@ -328,7 +328,7 @@ var Lt = Symbol("elm.tabs"), Rt = (e) => {
|
|
|
328
328
|
}, o), [s]);
|
|
329
329
|
};
|
|
330
330
|
}
|
|
331
|
-
}),
|
|
331
|
+
}), sn = { "elm-paragraph": "_elm-paragraph_rbsk5_1" }, cn = /* @__PURE__ */ i({
|
|
332
332
|
name: "ElmParagraph",
|
|
333
333
|
inheritAttrs: !1,
|
|
334
334
|
props: {
|
|
@@ -345,7 +345,7 @@ var Lt = Symbol("elm.tabs"), Rt = (e) => {
|
|
|
345
345
|
return () => {
|
|
346
346
|
let { class: i, style: a, ...o } = t;
|
|
347
347
|
return r("p", c({
|
|
348
|
-
class:
|
|
348
|
+
class: v(sn["elm-paragraph"], x.text, i),
|
|
349
349
|
style: [a, {
|
|
350
350
|
"--elmethis-scoped-color": e.color,
|
|
351
351
|
"--elmethis-scoped-background-color": e.backgroundColor
|
|
@@ -394,36 +394,36 @@ var Lt = Symbol("elm.tabs"), Rt = (e) => {
|
|
|
394
394
|
};
|
|
395
395
|
//#endregion
|
|
396
396
|
//#region \0@oxc-project+runtime@0.123.0/helpers/typeof.js
|
|
397
|
-
function
|
|
397
|
+
function ln(e) {
|
|
398
398
|
"@babel/helpers - typeof";
|
|
399
|
-
return
|
|
399
|
+
return ln = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function(e) {
|
|
400
400
|
return typeof e;
|
|
401
401
|
} : function(e) {
|
|
402
402
|
return e && typeof Symbol == "function" && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e;
|
|
403
|
-
},
|
|
403
|
+
}, ln(e);
|
|
404
404
|
}
|
|
405
405
|
//#endregion
|
|
406
406
|
//#region \0@oxc-project+runtime@0.123.0/helpers/toPrimitive.js
|
|
407
|
-
function
|
|
408
|
-
if (
|
|
407
|
+
function un(e, t) {
|
|
408
|
+
if (ln(e) != "object" || !e) return e;
|
|
409
409
|
var n = e[Symbol.toPrimitive];
|
|
410
410
|
if (n !== void 0) {
|
|
411
411
|
var r = n.call(e, t || "default");
|
|
412
|
-
if (
|
|
412
|
+
if (ln(r) != "object") return r;
|
|
413
413
|
throw TypeError("@@toPrimitive must return a primitive value.");
|
|
414
414
|
}
|
|
415
415
|
return (t === "string" ? String : Number)(e);
|
|
416
416
|
}
|
|
417
417
|
//#endregion
|
|
418
418
|
//#region \0@oxc-project+runtime@0.123.0/helpers/toPropertyKey.js
|
|
419
|
-
function
|
|
420
|
-
var t =
|
|
421
|
-
return
|
|
419
|
+
function dn(e) {
|
|
420
|
+
var t = un(e, "string");
|
|
421
|
+
return ln(t) == "symbol" ? t : t + "";
|
|
422
422
|
}
|
|
423
423
|
//#endregion
|
|
424
424
|
//#region \0@oxc-project+runtime@0.123.0/helpers/defineProperty.js
|
|
425
|
-
function
|
|
426
|
-
return (t =
|
|
425
|
+
function fn(e, t, n) {
|
|
426
|
+
return (t = dn(t)) in e ? Object.defineProperty(e, t, {
|
|
427
427
|
value: n,
|
|
428
428
|
enumerable: !0,
|
|
429
429
|
configurable: !0,
|
|
@@ -432,15 +432,15 @@ function Qt(e, t, n) {
|
|
|
432
432
|
}
|
|
433
433
|
//#endregion
|
|
434
434
|
//#region src/components/a2ui/catalog/catalog.ts
|
|
435
|
-
function
|
|
435
|
+
function E(e, t) {
|
|
436
436
|
return {
|
|
437
437
|
name: e.name,
|
|
438
438
|
render: t
|
|
439
439
|
};
|
|
440
440
|
}
|
|
441
|
-
var
|
|
441
|
+
var pn = class e {
|
|
442
442
|
constructor(e = []) {
|
|
443
|
-
|
|
443
|
+
fn(this, "entries", void 0);
|
|
444
444
|
let t = /* @__PURE__ */ new Map();
|
|
445
445
|
for (let n of e) t.set(n.name, n);
|
|
446
446
|
this.entries = t;
|
|
@@ -457,7 +457,7 @@ var $t = class e {
|
|
|
457
457
|
else n.set(r.name, r);
|
|
458
458
|
return new e(n.values());
|
|
459
459
|
}
|
|
460
|
-
},
|
|
460
|
+
}, mn = {
|
|
461
461
|
start: "flex-start",
|
|
462
462
|
end: "flex-end",
|
|
463
463
|
center: "center",
|
|
@@ -465,32 +465,32 @@ var $t = class e {
|
|
|
465
465
|
spaceAround: "space-around",
|
|
466
466
|
spaceEvenly: "space-evenly",
|
|
467
467
|
stretch: "stretch"
|
|
468
|
-
},
|
|
468
|
+
}, hn = {
|
|
469
469
|
start: "flex-start",
|
|
470
470
|
end: "flex-end",
|
|
471
471
|
center: "center",
|
|
472
472
|
stretch: "stretch"
|
|
473
|
-
},
|
|
473
|
+
}, gn = {
|
|
474
474
|
contain: "contain",
|
|
475
475
|
cover: "cover",
|
|
476
476
|
fill: "fill",
|
|
477
477
|
none: "none",
|
|
478
478
|
scaleDown: "scale-down"
|
|
479
479
|
};
|
|
480
|
-
function
|
|
480
|
+
function D(e) {
|
|
481
481
|
return e === 0 ? { marginBlockStart: 0 } : void 0;
|
|
482
482
|
}
|
|
483
483
|
//#endregion
|
|
484
484
|
//#region src/components/a2ui/catalog/basic-catalog.tsx
|
|
485
|
-
function
|
|
485
|
+
function O(e) {
|
|
486
486
|
return typeof e == "function" || Object.prototype.toString.call(e) === "[object Object]" && !s(e);
|
|
487
487
|
}
|
|
488
|
-
var
|
|
488
|
+
var _n = {
|
|
489
489
|
shortText: "text",
|
|
490
490
|
number: "number",
|
|
491
491
|
obscured: "password"
|
|
492
492
|
};
|
|
493
|
-
function
|
|
493
|
+
function vn(e) {
|
|
494
494
|
switch (e) {
|
|
495
495
|
case "h1": return 1;
|
|
496
496
|
case "h2": return 2;
|
|
@@ -500,49 +500,49 @@ function an(e) {
|
|
|
500
500
|
default: return 1;
|
|
501
501
|
}
|
|
502
502
|
}
|
|
503
|
-
var
|
|
504
|
-
|
|
503
|
+
var yn = new pn([
|
|
504
|
+
E(ye, ({ props: e, resolve: t }) => {
|
|
505
505
|
let n = t(e.text), i = e.variant ?? "body";
|
|
506
|
-
return i === "caption" ? r(w, null,
|
|
506
|
+
return i === "caption" ? r(w, null, O(n) ? n : { default: () => [n] }) : i === "body" ? r(cn, null, O(n) ? n : { default: () => [n] }) : r(S, { level: vn(i) }, O(n) ? n : { default: () => [n] });
|
|
507
507
|
}),
|
|
508
|
-
|
|
508
|
+
E(ge, ({ props: e, childRefs: t, renderChild: n }) => r("div", {
|
|
509
509
|
class: T.row,
|
|
510
510
|
style: {
|
|
511
|
-
justifyContent:
|
|
512
|
-
alignItems:
|
|
511
|
+
justifyContent: mn[e.justify ?? "start"],
|
|
512
|
+
alignItems: hn[e.align ?? "center"]
|
|
513
513
|
}
|
|
514
514
|
}, [t(e.children).map(({ id: e, path: t }, i) => r("span", {
|
|
515
515
|
key: `${e}:${i}`,
|
|
516
516
|
class: T["child-wrap"]
|
|
517
517
|
}, [n(e, t, i)]))])),
|
|
518
|
-
|
|
518
|
+
E(le, ({ props: e, childRefs: t, renderChild: n }) => r("div", {
|
|
519
519
|
class: T.column,
|
|
520
520
|
style: { "--margin-block": "2rem" }
|
|
521
521
|
}, [t(e.children).map(({ id: e, path: t }, i) => r("span", {
|
|
522
522
|
key: `${e}:${i}`,
|
|
523
523
|
class: T["child-wrap"]
|
|
524
524
|
}, [n(e, t, i)]))])),
|
|
525
|
-
|
|
525
|
+
E(me, ({ props: e, childRefs: t, renderChild: n }) => r("div", { class: v(T.list, e.direction === "horizontal" && T["list-horizontal"]) }, [t(e.children).map(({ id: e, path: t }, i) => r("div", {
|
|
526
526
|
key: `${e}:${i}`,
|
|
527
527
|
class: T["list-item"]
|
|
528
528
|
}, [n(e, t, i)]))])),
|
|
529
|
-
|
|
530
|
-
|
|
529
|
+
E(oe, ({ props: e, renderChild: t }) => r("div", { class: T.card }, [t(e.child)])),
|
|
530
|
+
E(_, ({ props: e, renderChild: t, dispatchAction: n }) => r("div", {
|
|
531
531
|
role: "button",
|
|
532
532
|
tabindex: 0,
|
|
533
|
-
class:
|
|
533
|
+
class: v(T.button, e.variant === "primary" && T["button-primary"]),
|
|
534
534
|
onClick: e.action ? () => n("action") : void 0,
|
|
535
535
|
onKeydown: e.action ? (e) => {
|
|
536
536
|
(e.key === "Enter" || e.key === " ") && (e.preventDefault(), n("action"));
|
|
537
537
|
} : void 0
|
|
538
538
|
}, [t(e.child)])),
|
|
539
|
-
|
|
539
|
+
E(pe, ({ props: e, resolve: t }) => r("img", {
|
|
540
540
|
class: T.image,
|
|
541
541
|
src: t(e.url),
|
|
542
542
|
alt: e.description ? t(e.description) : "",
|
|
543
|
-
style: { objectFit:
|
|
543
|
+
style: { objectFit: gn[e.fit ?? "cover"] }
|
|
544
544
|
}, null)),
|
|
545
|
-
|
|
545
|
+
E(fe, ({ props: e, resolve: t }) => {
|
|
546
546
|
let n = t(e.name);
|
|
547
547
|
return r("span", {
|
|
548
548
|
class: T.icon,
|
|
@@ -550,11 +550,11 @@ var on = new $t([
|
|
|
550
550
|
"data-icon": n
|
|
551
551
|
}, null);
|
|
552
552
|
}),
|
|
553
|
-
|
|
554
|
-
class:
|
|
553
|
+
E(de, ({ props: e }) => r("div", {
|
|
554
|
+
class: v(T.divider, e.axis === "vertical" && T["divider-vertical"]),
|
|
555
555
|
role: "separator"
|
|
556
556
|
}, null)),
|
|
557
|
-
|
|
557
|
+
E(be, ({ props: e, resolve: t, setBinding: n }) => {
|
|
558
558
|
let i = e.variant ?? "shortText", a = e.value ? t(e.value) : "";
|
|
559
559
|
return r("div", { class: T["text-field"] }, [r("label", { class: T.label }, [t(e.label)]), i === "longText" ? r("textarea", {
|
|
560
560
|
class: T.input,
|
|
@@ -563,13 +563,13 @@ var on = new $t([
|
|
|
563
563
|
onChange: (e) => n("value", e.target.value)
|
|
564
564
|
}, null) : r("input", {
|
|
565
565
|
class: T.input,
|
|
566
|
-
type:
|
|
566
|
+
type: _n[i] ?? "text",
|
|
567
567
|
value: a,
|
|
568
568
|
onInput: (e) => n("value", e.target.value),
|
|
569
569
|
onChange: (e) => n("value", e.target.value)
|
|
570
570
|
}, null)]);
|
|
571
571
|
}),
|
|
572
|
-
|
|
572
|
+
E(se, ({ props: e, ctx: t, resolve: n, setBinding: i }) => {
|
|
573
573
|
let a = e.value, o = typeof a == "boolean" ? a : !!(t.dataContext.resolveDynamicValue(a) ?? !1);
|
|
574
574
|
return r("label", { class: T.checkbox }, [r("input", {
|
|
575
575
|
type: "checkbox",
|
|
@@ -577,7 +577,7 @@ var on = new $t([
|
|
|
577
577
|
onChange: (e) => i("value", e.target.checked)
|
|
578
578
|
}, null), r("span", { class: T["checkbox-label"] }, [n(e.label)])]);
|
|
579
579
|
}),
|
|
580
|
-
|
|
580
|
+
E(_e, ({ props: e, ctx: t, setBinding: n }) => {
|
|
581
581
|
let i = e.value, a = typeof i == "number" ? i : Number(t.dataContext.resolveDynamicValue(i) ?? 0);
|
|
582
582
|
return r("input", {
|
|
583
583
|
class: T.slider,
|
|
@@ -589,34 +589,34 @@ var on = new $t([
|
|
|
589
589
|
onChange: (e) => n("value", Number(e.target.value))
|
|
590
590
|
}, null);
|
|
591
591
|
}),
|
|
592
|
-
|
|
592
|
+
E(ve, ({ props: e, resolve: t, renderChild: n }) => {
|
|
593
593
|
let i;
|
|
594
|
-
return r(
|
|
594
|
+
return r(Xt, { defaultValue: "0" }, { default: () => [r(Zt, null, O(i = e.tabs.map((e, n) => {
|
|
595
595
|
let i;
|
|
596
|
-
return r(
|
|
596
|
+
return r(Qt, {
|
|
597
597
|
key: n,
|
|
598
598
|
value: String(n)
|
|
599
|
-
},
|
|
599
|
+
}, O(i = t(e.title)) ? i : { default: () => [i] });
|
|
600
600
|
})) ? i : { default: () => [i] }), e.tabs.map((e, t) => {
|
|
601
601
|
let i;
|
|
602
|
-
return r(
|
|
602
|
+
return r($t, {
|
|
603
603
|
key: t,
|
|
604
604
|
value: String(t)
|
|
605
|
-
},
|
|
605
|
+
}, O(i = n(e.child)) ? i : { default: () => [i] });
|
|
606
606
|
})] });
|
|
607
607
|
}),
|
|
608
|
-
|
|
609
|
-
|
|
608
|
+
E(he, ({ props: e, renderChild: t }) => r("div", { class: T.modal }, [t(e.trigger), r("div", { class: T["modal-content"] }, [t(e.content)])])),
|
|
609
|
+
E(xe, ({ props: e, resolve: t }) => r("video", {
|
|
610
610
|
class: T.video,
|
|
611
611
|
controls: !0,
|
|
612
612
|
src: t(e.url)
|
|
613
613
|
}, null)),
|
|
614
|
-
|
|
614
|
+
E(re, ({ props: e, resolve: t }) => r("audio", {
|
|
615
615
|
class: T.audio,
|
|
616
616
|
controls: !0,
|
|
617
617
|
src: t(e.url)
|
|
618
618
|
}, null)),
|
|
619
|
-
|
|
619
|
+
E(ce, ({ props: e, componentId: t, ctx: n, resolve: i, setBinding: a }) => {
|
|
620
620
|
let o = e.value, s = Array.isArray(o) ? o : n.dataContext.resolveDynamicValue(o) ?? [], c = Array.isArray(s) ? s : [], l = (e.variant ?? "mutuallyExclusive") === "multipleSelection";
|
|
621
621
|
return r("div", {
|
|
622
622
|
class: T["choice-picker"],
|
|
@@ -635,7 +635,7 @@ var on = new $t([
|
|
|
635
635
|
checked: c.includes(e.value)
|
|
636
636
|
}, null), r("span", null, [i(e.label)])]))])]);
|
|
637
637
|
}),
|
|
638
|
-
|
|
638
|
+
E(ue, ({ props: e, resolve: t, setBinding: n }) => {
|
|
639
639
|
let i = e.enableDate ?? !1, a = e.enableTime ?? !1, o = i && a ? "datetime-local" : i ? "date" : a ? "time" : "text";
|
|
640
640
|
return r("div", { class: T["datetime-input"] }, [e.label ? r("label", { class: T.label }, [t(e.label)]) : null, r("input", {
|
|
641
641
|
class: T.input,
|
|
@@ -647,7 +647,7 @@ var on = new $t([
|
|
|
647
647
|
onChange: (e) => n("value", e.target.value)
|
|
648
648
|
}, null)]);
|
|
649
649
|
})
|
|
650
|
-
]),
|
|
650
|
+
]), bn = "root", xn = Symbol("elmethis.a2ui.surface"), Sn = Symbol("elmethis.a2ui.catalog"), Cn = Symbol("elmethis.a2ui.ancestors"), wn = /* @__PURE__ */ i({
|
|
651
651
|
name: "ComponentHost",
|
|
652
652
|
props: {
|
|
653
653
|
id: {
|
|
@@ -664,8 +664,8 @@ var on = new $t([
|
|
|
664
664
|
}
|
|
665
665
|
},
|
|
666
666
|
setup(e) {
|
|
667
|
-
let t = o(
|
|
668
|
-
f(
|
|
667
|
+
let t = o(xn, void 0), i = o(Sn, void 0), a = o(Cn, []), s = a.includes(e.id);
|
|
668
|
+
f(Cn, [...a, e.id]);
|
|
669
669
|
let c = p(0), l = p(!1), m = [], h = null;
|
|
670
670
|
return u(() => {
|
|
671
671
|
if (!t) return;
|
|
@@ -723,7 +723,7 @@ var on = new $t([
|
|
|
723
723
|
})) : [];
|
|
724
724
|
}
|
|
725
725
|
return [];
|
|
726
|
-
}, p = (t, n = e.basePath, i = 0) => r(
|
|
726
|
+
}, p = (t, n = e.basePath, i = 0) => r(wn, {
|
|
727
727
|
key: t,
|
|
728
728
|
id: t,
|
|
729
729
|
basePath: n,
|
|
@@ -774,7 +774,7 @@ var on = new $t([
|
|
|
774
774
|
});
|
|
775
775
|
//#endregion
|
|
776
776
|
//#region src/components/a2ui/stream-json-lines.ts
|
|
777
|
-
async function
|
|
777
|
+
async function Tn(e, { signal: t, onMessage: n, onError: r }) {
|
|
778
778
|
if (t?.aborted) return;
|
|
779
779
|
let i = e.getReader(), a = new TextDecoder(), o = "", s = () => {
|
|
780
780
|
i.cancel().catch(() => {});
|
|
@@ -807,22 +807,22 @@ async function fn(e, { signal: t, onMessage: n, onError: r }) {
|
|
|
807
807
|
}
|
|
808
808
|
//#endregion
|
|
809
809
|
//#region src/components/a2ui/elm-a2ui.tsx
|
|
810
|
-
var
|
|
810
|
+
var En = "https://a2ui.org/specification/v0_9/basic_catalog.json", Dn = /* @__PURE__ */ i({
|
|
811
811
|
name: "A2uiSurfaceView",
|
|
812
812
|
props: { surface: {
|
|
813
813
|
type: Object,
|
|
814
814
|
required: !0
|
|
815
815
|
} },
|
|
816
816
|
setup(e) {
|
|
817
|
-
return f(
|
|
817
|
+
return f(xn, e.surface), f(Cn, []), () => r("div", {
|
|
818
818
|
class: T.surface,
|
|
819
819
|
style: { "--elmethis-margin-block-start": "2rem" }
|
|
820
|
-
}, [r(
|
|
821
|
-
id:
|
|
820
|
+
}, [r(wn, {
|
|
821
|
+
id: bn,
|
|
822
822
|
basePath: "/"
|
|
823
823
|
}, null)]);
|
|
824
824
|
}
|
|
825
|
-
}),
|
|
825
|
+
}), On = /* @__PURE__ */ i({
|
|
826
826
|
name: "A2uiSurface",
|
|
827
827
|
props: {
|
|
828
828
|
surface: {
|
|
@@ -835,15 +835,15 @@ var pn = "https://a2ui.org/specification/v0_9/basic_catalog.json", mn = /* @__PU
|
|
|
835
835
|
}
|
|
836
836
|
},
|
|
837
837
|
setup(e) {
|
|
838
|
-
return f(
|
|
838
|
+
return f(Sn, e.catalog ?? yn), f(xn, e.surface), f(Cn, []), () => r("div", {
|
|
839
839
|
class: T.surface,
|
|
840
840
|
style: { "--elmethis-margin-block-start": "2rem" }
|
|
841
|
-
}, [r(
|
|
842
|
-
id:
|
|
841
|
+
}, [r(wn, {
|
|
842
|
+
id: bn,
|
|
843
843
|
basePath: "/"
|
|
844
844
|
}, null)]);
|
|
845
845
|
}
|
|
846
|
-
}),
|
|
846
|
+
}), kn = /* @__PURE__ */ i({
|
|
847
847
|
name: "ElmA2ui",
|
|
848
848
|
props: {
|
|
849
849
|
url: {
|
|
@@ -868,7 +868,7 @@ var pn = "https://a2ui.org/specification/v0_9/basic_catalog.json", mn = /* @__PU
|
|
|
868
868
|
}
|
|
869
869
|
},
|
|
870
870
|
setup(e) {
|
|
871
|
-
f(
|
|
871
|
+
f(Sn, e.catalog ?? yn);
|
|
872
872
|
let t = p([]), n = p(0), i = /* @__PURE__ */ new Map(), a = null, o = async () => {
|
|
873
873
|
let r = e.catalogId, o = e.messages ? [...e.messages] : [...t.value], s = a;
|
|
874
874
|
if (s !== null && s.catalogId === r && o.length >= s.messages.length && s.messages.every((e, t) => e === o[t]) && s) {
|
|
@@ -886,7 +886,7 @@ var pn = "https://a2ui.org/specification/v0_9/basic_catalog.json", mn = /* @__PU
|
|
|
886
886
|
for (let e of s.subs) e.unsubscribe();
|
|
887
887
|
s.processor.model.dispose();
|
|
888
888
|
}
|
|
889
|
-
let c = new Set([
|
|
889
|
+
let c = new Set([En]);
|
|
890
890
|
r && c.add(r);
|
|
891
891
|
for (let e of o) if (e && typeof e == "object" && "createSurface" in e) {
|
|
892
892
|
let t = e.createSurface?.catalogId;
|
|
@@ -927,7 +927,7 @@ var pn = "https://a2ui.org/specification/v0_9/basic_catalog.json", mn = /* @__PU
|
|
|
927
927
|
headers: e.headers,
|
|
928
928
|
signal: n
|
|
929
929
|
}).then(async (e) => {
|
|
930
|
-
e.body && await
|
|
930
|
+
e.body && await Tn(e.body, {
|
|
931
931
|
signal: n,
|
|
932
932
|
onMessage: (e) => {
|
|
933
933
|
e && typeof e == "object" && t.value.push(e);
|
|
@@ -944,12 +944,12 @@ var pn = "https://a2ui.org/specification/v0_9/basic_catalog.json", mn = /* @__PU
|
|
|
944
944
|
for (let e of a.subs) e.unsubscribe();
|
|
945
945
|
a.processor.model.dispose();
|
|
946
946
|
}
|
|
947
|
-
}), () => (n.value, r("div", { class: T["elm-a2ui"] }, [Array.from(i.values()).map((e) => r(
|
|
947
|
+
}), () => (n.value, r("div", { class: T["elm-a2ui"] }, [Array.from(i.values()).map((e) => r(Dn, {
|
|
948
948
|
key: e.id,
|
|
949
949
|
surface: e
|
|
950
950
|
}, null))]));
|
|
951
951
|
}
|
|
952
|
-
}),
|
|
952
|
+
}), An = { "elm-katex": "_elm-katex_189xe_1" }, jn = /* @__PURE__ */ i({
|
|
953
953
|
name: "ElmKatex",
|
|
954
954
|
props: {
|
|
955
955
|
expression: {
|
|
@@ -962,27 +962,27 @@ var pn = "https://a2ui.org/specification/v0_9/basic_catalog.json", mn = /* @__PU
|
|
|
962
962
|
}
|
|
963
963
|
},
|
|
964
964
|
setup(e) {
|
|
965
|
-
let n = t(() =>
|
|
965
|
+
let n = t(() => Te(e.expression, {
|
|
966
966
|
displayMode: e.block,
|
|
967
967
|
output: "mathml"
|
|
968
968
|
}));
|
|
969
969
|
return () => r("div", {
|
|
970
|
-
class:
|
|
970
|
+
class: v(x.text, e.block ? An["elm-katex"] : void 0),
|
|
971
971
|
innerHTML: n.value
|
|
972
972
|
}, null);
|
|
973
973
|
}
|
|
974
|
-
}),
|
|
974
|
+
}), k = {
|
|
975
975
|
"elm-code-block": "_elm-code-block_xdmlc_1",
|
|
976
976
|
"language-icon": "_language-icon_xdmlc_17",
|
|
977
977
|
caption: "_caption_xdmlc_22",
|
|
978
978
|
"copy-icon": "_copy-icon_xdmlc_29",
|
|
979
979
|
divider: "_divider_xdmlc_33",
|
|
980
980
|
code: "_code_xdmlc_40"
|
|
981
|
-
},
|
|
981
|
+
}, Mn = (e, t, n) => t === "id" ? `${e}-${n}` : e.replace(/url\(#([^)]+)\)/g, `url(#$1-${n})`), Nn = (e, t) => {
|
|
982
982
|
let n = {};
|
|
983
|
-
for (let [r, i] of Object.entries(e.attrs ?? {})) n[r] =
|
|
984
|
-
return e.style && (n.style = e.style), a(e.tag, n, e.children?.map((e) =>
|
|
985
|
-
},
|
|
983
|
+
for (let [r, i] of Object.entries(e.attrs ?? {})) n[r] = Mn(i, r, t);
|
|
984
|
+
return e.style && (n.style = e.style), a(e.tag, n, e.children?.map((e) => Nn(e, t)));
|
|
985
|
+
}, Pn = /* @__PURE__ */ i({
|
|
986
986
|
name: "LanguageGlyph",
|
|
987
987
|
props: {
|
|
988
988
|
icon: {
|
|
@@ -1002,9 +1002,9 @@ var pn = "https://a2ui.org/specification/v0_9/basic_catalog.json", mn = /* @__PU
|
|
|
1002
1002
|
width: e.size,
|
|
1003
1003
|
height: e.size,
|
|
1004
1004
|
...e.icon.attrs
|
|
1005
|
-
}, e.icon.children.map((e) =>
|
|
1005
|
+
}, e.icon.children.map((e) => Nn(e, t)));
|
|
1006
1006
|
}
|
|
1007
|
-
}),
|
|
1007
|
+
}), Fn = { "elm-mdi-icon": "_elm-mdi-icon_ihskx_1" }, A = /* @__PURE__ */ i({
|
|
1008
1008
|
name: "ElmMdiIcon",
|
|
1009
1009
|
inheritAttrs: !1,
|
|
1010
1010
|
props: {
|
|
@@ -1033,7 +1033,7 @@ var pn = "https://a2ui.org/specification/v0_9/basic_catalog.json", mn = /* @__PU
|
|
|
1033
1033
|
return () => {
|
|
1034
1034
|
let { class: n, style: i, ...a } = t;
|
|
1035
1035
|
return r("svg", c({
|
|
1036
|
-
class:
|
|
1036
|
+
class: v(Fn["elm-mdi-icon"], n),
|
|
1037
1037
|
style: [{
|
|
1038
1038
|
"--elmethis-scoped-color": e.lightColor ?? e.color,
|
|
1039
1039
|
"--dark-color": e.darkColor ?? e.color
|
|
@@ -1048,7 +1048,7 @@ var pn = "https://a2ui.org/specification/v0_9/basic_catalog.json", mn = /* @__PU
|
|
|
1048
1048
|
}, a), [r("path", { d: e.d }, null)]);
|
|
1049
1049
|
};
|
|
1050
1050
|
}
|
|
1051
|
-
}),
|
|
1051
|
+
}), In = /* @__PURE__ */ i({
|
|
1052
1052
|
name: "ElmLanguageIcon",
|
|
1053
1053
|
props: {
|
|
1054
1054
|
size: {
|
|
@@ -1062,17 +1062,17 @@ var pn = "https://a2ui.org/specification/v0_9/basic_catalog.json", mn = /* @__PU
|
|
|
1062
1062
|
},
|
|
1063
1063
|
setup(e) {
|
|
1064
1064
|
return () => {
|
|
1065
|
-
let t =
|
|
1066
|
-
return t === "file" ? r(
|
|
1065
|
+
let t = Vt(e.language);
|
|
1066
|
+
return t === "file" ? r(A, {
|
|
1067
1067
|
d: Ie,
|
|
1068
1068
|
size: String(e.size)
|
|
1069
|
-
}, null) : a(
|
|
1070
|
-
icon:
|
|
1069
|
+
}, null) : a(Pn, {
|
|
1070
|
+
icon: Bt[t],
|
|
1071
1071
|
size: e.size
|
|
1072
1072
|
});
|
|
1073
1073
|
};
|
|
1074
1074
|
}
|
|
1075
|
-
}),
|
|
1075
|
+
}), Ln = { "elm-shiki-highlighter": "_elm-shiki-highlighter_j5tas_1" }, Rn = /* @__PURE__ */ i({
|
|
1076
1076
|
name: "ElmShikiHighlighter",
|
|
1077
1077
|
inheritAttrs: !1,
|
|
1078
1078
|
props: {
|
|
@@ -1092,11 +1092,11 @@ var pn = "https://a2ui.org/specification/v0_9/basic_catalog.json", mn = /* @__PU
|
|
|
1092
1092
|
return;
|
|
1093
1093
|
}
|
|
1094
1094
|
try {
|
|
1095
|
-
let i = await
|
|
1095
|
+
let i = await Ht(e, {
|
|
1096
1096
|
lang: t,
|
|
1097
1097
|
themes: {
|
|
1098
|
-
dark:
|
|
1099
|
-
light:
|
|
1098
|
+
dark: Ut,
|
|
1099
|
+
light: Wt
|
|
1100
1100
|
},
|
|
1101
1101
|
defaultColor: !1,
|
|
1102
1102
|
colorReplacements: {
|
|
@@ -1117,16 +1117,16 @@ var pn = "https://a2ui.org/specification/v0_9/basic_catalog.json", mn = /* @__PU
|
|
|
1117
1117
|
}, { immediate: !0 }), () => {
|
|
1118
1118
|
let { class: e, ...i } = t;
|
|
1119
1119
|
return r("pre", c({
|
|
1120
|
-
class:
|
|
1120
|
+
class: v(Ln["elm-shiki-highlighter"], e),
|
|
1121
1121
|
innerHTML: n.value
|
|
1122
1122
|
}, i), null);
|
|
1123
1123
|
};
|
|
1124
1124
|
}
|
|
1125
|
-
}),
|
|
1125
|
+
}), zn = {
|
|
1126
1126
|
"use-clipboard": "_use-clipboard_mb0qt_1",
|
|
1127
1127
|
"use-clipboard-icon-copied": "_use-clipboard-icon-copied_mb0qt_15"
|
|
1128
|
-
},
|
|
1129
|
-
let n = e.delay ?? 1500, a =
|
|
1128
|
+
}, Bn = (e) => {
|
|
1129
|
+
let n = e.delay ?? 1500, a = Se({ copiedDuring: n }), o = Ce({ copiedDuring: n }), s = t(() => a.copied.value || o.copied.value), c = async () => {
|
|
1130
1130
|
let t = e.content;
|
|
1131
1131
|
typeof t == "string" ? await a.copy(t) : await o.copy(t.map((e) => new ClipboardItem(e)));
|
|
1132
1132
|
};
|
|
@@ -1136,18 +1136,18 @@ var pn = "https://a2ui.org/specification/v0_9/basic_catalog.json", mn = /* @__PU
|
|
|
1136
1136
|
name: "CopyButton",
|
|
1137
1137
|
setup() {
|
|
1138
1138
|
return () => r("span", {
|
|
1139
|
-
class:
|
|
1139
|
+
class: v(zn["use-clipboard"], e.class),
|
|
1140
1140
|
style: e.style,
|
|
1141
1141
|
onClick: c
|
|
1142
|
-
}, [r(
|
|
1143
|
-
class:
|
|
1142
|
+
}, [r(A, {
|
|
1143
|
+
class: v(s.value && zn["use-clipboard-icon-copied"]),
|
|
1144
1144
|
d: s.value ? Pe : Fe,
|
|
1145
1145
|
size: "1.25rem"
|
|
1146
1146
|
}, null)]);
|
|
1147
1147
|
}
|
|
1148
1148
|
})
|
|
1149
1149
|
};
|
|
1150
|
-
},
|
|
1150
|
+
}, Vn = /* @__PURE__ */ i({
|
|
1151
1151
|
name: "ElmCodeBlock",
|
|
1152
1152
|
props: {
|
|
1153
1153
|
code: {
|
|
@@ -1164,18 +1164,285 @@ var pn = "https://a2ui.org/specification/v0_9/basic_catalog.json", mn = /* @__PU
|
|
|
1164
1164
|
}
|
|
1165
1165
|
},
|
|
1166
1166
|
setup(e, { slots: t }) {
|
|
1167
|
-
let { CopyButton: n } =
|
|
1168
|
-
return () => r("figure", { class:
|
|
1169
|
-
r("span", { class:
|
|
1170
|
-
r("span", { class:
|
|
1171
|
-
r("div", { class:
|
|
1172
|
-
r("hr", { class:
|
|
1173
|
-
r("div", { class:
|
|
1167
|
+
let { CopyButton: n } = Bn({ content: e.code });
|
|
1168
|
+
return () => r("figure", { class: v(k["elm-code-block"]) }, [
|
|
1169
|
+
r("span", { class: k["language-icon"] }, [r(In, { language: e.language }, null)]),
|
|
1170
|
+
r("span", { class: k.caption }, [r(w, null, { default: () => [e.caption || e.language, t.default?.()] })]),
|
|
1171
|
+
r("div", { class: k["copy-icon"] }, [a(n)]),
|
|
1172
|
+
r("hr", { class: k.divider }, null),
|
|
1173
|
+
r("div", { class: k.code }, [r(Rn, {
|
|
1174
1174
|
code: e.code,
|
|
1175
1175
|
language: e.language
|
|
1176
1176
|
}, null)])
|
|
1177
1177
|
]);
|
|
1178
1178
|
}
|
|
1179
|
+
}), j = {
|
|
1180
|
+
"elm-audio-player": "_elm-audio-player_p7xym_1",
|
|
1181
|
+
loading: "_loading_p7xym_34",
|
|
1182
|
+
header: "_header_p7xym_40",
|
|
1183
|
+
artwork: "_artwork_p7xym_46",
|
|
1184
|
+
"artwork-error": "_artwork-error_p7xym_63",
|
|
1185
|
+
meta: "_meta_p7xym_69",
|
|
1186
|
+
title: "_title_p7xym_77",
|
|
1187
|
+
artist: "_artist_p7xym_87",
|
|
1188
|
+
equalizer: "_equalizer_p7xym_99",
|
|
1189
|
+
playing: "_playing_p7xym_116",
|
|
1190
|
+
"elm-eq": "_elm-eq_p7xym_1",
|
|
1191
|
+
seekbar: "_seekbar_p7xym_151",
|
|
1192
|
+
track: "_track_p7xym_167",
|
|
1193
|
+
fill: "_fill_p7xym_176",
|
|
1194
|
+
thumb: "_thumb_p7xym_189",
|
|
1195
|
+
"hover-thumb": "_hover-thumb_p7xym_209",
|
|
1196
|
+
"elm-pulse": "_elm-pulse_p7xym_1",
|
|
1197
|
+
controls: "_controls_p7xym_248",
|
|
1198
|
+
time: "_time_p7xym_254",
|
|
1199
|
+
"time-current": "_time-current_p7xym_264",
|
|
1200
|
+
"time-total": "_time-total_p7xym_269",
|
|
1201
|
+
transport: "_transport_p7xym_273",
|
|
1202
|
+
"icon-button": "_icon-button_p7xym_281",
|
|
1203
|
+
"play-button": "_play-button_p7xym_312",
|
|
1204
|
+
volume: "_volume_p7xym_359",
|
|
1205
|
+
"volume-slider": "_volume-slider_p7xym_366",
|
|
1206
|
+
errored: "_errored_p7xym_412",
|
|
1207
|
+
"error-notice": "_error-notice_p7xym_421",
|
|
1208
|
+
"error-message": "_error-message_p7xym_431"
|
|
1209
|
+
}, Hn = (e) => {
|
|
1210
|
+
(!Number.isFinite(e) || e < 0) && (e = 0);
|
|
1211
|
+
let t = Math.floor(e), n = Math.floor(t / 3600), r = Math.floor(t % 3600 / 60), i = t % 60, a = `${n > 0 ? String(r).padStart(2, "0") : String(r)}:${String(i).padStart(2, "0")}`;
|
|
1212
|
+
return n > 0 ? `${n}:${a}` : a;
|
|
1213
|
+
}, Un = (e) => {
|
|
1214
|
+
let t = e.split(/[?#]/)[0].split("/").filter(Boolean).pop() ?? e;
|
|
1215
|
+
try {
|
|
1216
|
+
return decodeURIComponent(t);
|
|
1217
|
+
} catch {
|
|
1218
|
+
return t;
|
|
1219
|
+
}
|
|
1220
|
+
}, Wn = /* @__PURE__ */ i({
|
|
1221
|
+
name: "ElmAudioPlayer",
|
|
1222
|
+
props: {
|
|
1223
|
+
src: {
|
|
1224
|
+
type: String,
|
|
1225
|
+
required: !0
|
|
1226
|
+
},
|
|
1227
|
+
title: {
|
|
1228
|
+
type: String,
|
|
1229
|
+
default: void 0
|
|
1230
|
+
},
|
|
1231
|
+
artist: {
|
|
1232
|
+
type: String,
|
|
1233
|
+
default: void 0
|
|
1234
|
+
},
|
|
1235
|
+
errorMessage: {
|
|
1236
|
+
type: String,
|
|
1237
|
+
default: "This audio couldn't be loaded."
|
|
1238
|
+
},
|
|
1239
|
+
seekStep: {
|
|
1240
|
+
type: Number,
|
|
1241
|
+
default: 10
|
|
1242
|
+
},
|
|
1243
|
+
loop: {
|
|
1244
|
+
type: Boolean,
|
|
1245
|
+
default: void 0
|
|
1246
|
+
},
|
|
1247
|
+
autoplay: {
|
|
1248
|
+
type: Boolean,
|
|
1249
|
+
default: void 0
|
|
1250
|
+
}
|
|
1251
|
+
},
|
|
1252
|
+
setup(n) {
|
|
1253
|
+
let i = p(null), a = p(null), o = null, s = p(!1), c = p(!0), u = p(!1), d = p(0), f = p(0), m = p(1), h = p(!1), g = p(null), ee = t(() => d.value > 0 ? Math.min(1, f.value / d.value) : 0), te = t(() => h.value || m.value === 0 ? dt : m.value < .34 ? lt : m.value < .67 ? ut : ct), ne = t(() => n.title ?? Un(n.src)), re = () => {
|
|
1254
|
+
if (o != null) return;
|
|
1255
|
+
let e = () => {
|
|
1256
|
+
i.value && (f.value = i.value.currentTime), o = requestAnimationFrame(e);
|
|
1257
|
+
};
|
|
1258
|
+
o = requestAnimationFrame(e);
|
|
1259
|
+
}, ie = () => {
|
|
1260
|
+
o != null && (cancelAnimationFrame(o), o = null);
|
|
1261
|
+
};
|
|
1262
|
+
l(ie);
|
|
1263
|
+
let ae = () => {
|
|
1264
|
+
let e = i.value;
|
|
1265
|
+
e && (e.paused ? e.play().catch(() => s.value = !1) : e.pause());
|
|
1266
|
+
}, _ = (e) => {
|
|
1267
|
+
let t = i.value;
|
|
1268
|
+
if (!t || !Number.isFinite(d.value) || d.value <= 0) return;
|
|
1269
|
+
let n = Math.max(0, Math.min(d.value, e));
|
|
1270
|
+
t.currentTime = n, f.value = n;
|
|
1271
|
+
}, oe = (e) => {
|
|
1272
|
+
let t = a.value;
|
|
1273
|
+
if (!t) return 0;
|
|
1274
|
+
let n = t.getBoundingClientRect();
|
|
1275
|
+
return n.width === 0 ? 0 : Math.max(0, Math.min(1, (e - n.left) / n.width));
|
|
1276
|
+
}, se = (e) => {
|
|
1277
|
+
e.currentTarget.setPointerCapture(e.pointerId), _(oe(e.clientX) * d.value);
|
|
1278
|
+
}, ce = (e) => {
|
|
1279
|
+
let t = oe(e.clientX);
|
|
1280
|
+
g.value = t, e.currentTarget.hasPointerCapture(e.pointerId) && _(t * d.value);
|
|
1281
|
+
}, le = (e) => {
|
|
1282
|
+
e.key === "ArrowRight" ? (e.preventDefault(), _(f.value + n.seekStep)) : e.key === "ArrowLeft" ? (e.preventDefault(), _(f.value - n.seekStep)) : e.key === "Home" ? (e.preventDefault(), _(0)) : e.key === "End" && (e.preventDefault(), _(d.value));
|
|
1283
|
+
}, ue = (e) => {
|
|
1284
|
+
let t = i.value, n = Math.max(0, Math.min(1, e));
|
|
1285
|
+
t && (t.volume = n, t.muted = n === 0), m.value = n, h.value = n === 0;
|
|
1286
|
+
}, de = () => {
|
|
1287
|
+
let e = i.value;
|
|
1288
|
+
if (!e) return;
|
|
1289
|
+
let t = !e.muted;
|
|
1290
|
+
e.muted = t, h.value = t;
|
|
1291
|
+
};
|
|
1292
|
+
return () => r("div", {
|
|
1293
|
+
class: v(j["elm-audio-player"], s.value && j.playing, c.value && j.loading, u.value && j.errored),
|
|
1294
|
+
style: {
|
|
1295
|
+
"--elmethis-scoped-progress": ee.value,
|
|
1296
|
+
"--elmethis-scoped-hover": g.value ?? 0
|
|
1297
|
+
}
|
|
1298
|
+
}, [
|
|
1299
|
+
r("audio", {
|
|
1300
|
+
ref: i,
|
|
1301
|
+
src: n.src,
|
|
1302
|
+
loop: n.loop,
|
|
1303
|
+
autoplay: n.autoplay,
|
|
1304
|
+
preload: "metadata",
|
|
1305
|
+
onLoadedmetadata: () => {
|
|
1306
|
+
let e = i.value;
|
|
1307
|
+
e && (d.value = e.duration, m.value = e.volume, h.value = e.muted, c.value = !1);
|
|
1308
|
+
},
|
|
1309
|
+
onDurationchange: () => {
|
|
1310
|
+
i.value && (d.value = i.value.duration);
|
|
1311
|
+
},
|
|
1312
|
+
onCanplay: () => c.value = !1,
|
|
1313
|
+
onWaiting: () => c.value = !0,
|
|
1314
|
+
onPlaying: () => c.value = !1,
|
|
1315
|
+
onTimeupdate: () => {
|
|
1316
|
+
o == null && i.value && (f.value = i.value.currentTime);
|
|
1317
|
+
},
|
|
1318
|
+
onPlay: () => {
|
|
1319
|
+
s.value = !0, re();
|
|
1320
|
+
},
|
|
1321
|
+
onPause: () => {
|
|
1322
|
+
s.value = !1, ie();
|
|
1323
|
+
},
|
|
1324
|
+
onEnded: () => {
|
|
1325
|
+
s.value = !1, ie();
|
|
1326
|
+
},
|
|
1327
|
+
onVolumechange: () => {
|
|
1328
|
+
let e = i.value;
|
|
1329
|
+
e && (m.value = e.volume, h.value = e.muted);
|
|
1330
|
+
},
|
|
1331
|
+
onError: () => {
|
|
1332
|
+
u.value = !0, c.value = !1;
|
|
1333
|
+
}
|
|
1334
|
+
}, null),
|
|
1335
|
+
r("div", { class: j.header }, [
|
|
1336
|
+
r("span", {
|
|
1337
|
+
class: v(j.artwork, u.value && j["artwork-error"]),
|
|
1338
|
+
"aria-hidden": "true"
|
|
1339
|
+
}, [r(A, {
|
|
1340
|
+
d: u.value ? De : $e,
|
|
1341
|
+
size: "1.25rem"
|
|
1342
|
+
}, null)]),
|
|
1343
|
+
r("div", { class: j.meta }, [r("span", {
|
|
1344
|
+
class: j.title,
|
|
1345
|
+
title: ne.value
|
|
1346
|
+
}, [ne.value]), n.artist && r("span", { class: j.artist }, [n.artist])]),
|
|
1347
|
+
r("span", {
|
|
1348
|
+
class: j.equalizer,
|
|
1349
|
+
"aria-hidden": "true"
|
|
1350
|
+
}, [
|
|
1351
|
+
r("i", null, null),
|
|
1352
|
+
r("i", null, null),
|
|
1353
|
+
r("i", null, null),
|
|
1354
|
+
r("i", null, null)
|
|
1355
|
+
])
|
|
1356
|
+
]),
|
|
1357
|
+
u.value ? r("div", {
|
|
1358
|
+
class: j["error-notice"],
|
|
1359
|
+
role: "alert"
|
|
1360
|
+
}, [r(A, {
|
|
1361
|
+
d: De,
|
|
1362
|
+
size: "1.25rem"
|
|
1363
|
+
}, null), r("span", { class: j["error-message"] }, [n.errorMessage])]) : r(e, null, [r("div", {
|
|
1364
|
+
ref: a,
|
|
1365
|
+
class: j.seekbar,
|
|
1366
|
+
role: "slider",
|
|
1367
|
+
tabindex: 0,
|
|
1368
|
+
"aria-label": "Seek",
|
|
1369
|
+
"aria-valuemin": 0,
|
|
1370
|
+
"aria-valuemax": Math.round(d.value) || 0,
|
|
1371
|
+
"aria-valuenow": Math.round(f.value),
|
|
1372
|
+
"aria-valuetext": `${Hn(f.value)} of ${Hn(d.value)}`,
|
|
1373
|
+
onPointerdown: se,
|
|
1374
|
+
onPointermove: ce,
|
|
1375
|
+
onPointerleave: () => g.value = null,
|
|
1376
|
+
onKeydown: le
|
|
1377
|
+
}, [
|
|
1378
|
+
r("div", {
|
|
1379
|
+
class: j.track,
|
|
1380
|
+
"aria-hidden": "true"
|
|
1381
|
+
}, [r("div", { class: j.fill }, null)]),
|
|
1382
|
+
r("span", {
|
|
1383
|
+
class: j["hover-thumb"],
|
|
1384
|
+
"aria-hidden": "true"
|
|
1385
|
+
}, null),
|
|
1386
|
+
r("span", {
|
|
1387
|
+
class: j.thumb,
|
|
1388
|
+
"aria-hidden": "true"
|
|
1389
|
+
}, null)
|
|
1390
|
+
]), r("div", { class: j.controls }, [
|
|
1391
|
+
r("span", { class: v(j.time, j["time-current"]) }, [Hn(f.value)]),
|
|
1392
|
+
r("div", { class: j.transport }, [
|
|
1393
|
+
r("button", {
|
|
1394
|
+
type: "button",
|
|
1395
|
+
class: j["icon-button"],
|
|
1396
|
+
onClick: () => _(f.value - n.seekStep),
|
|
1397
|
+
"aria-label": `Back ${n.seekStep} seconds`
|
|
1398
|
+
}, [r(A, {
|
|
1399
|
+
d: rt,
|
|
1400
|
+
size: "1.25rem"
|
|
1401
|
+
}, null)]),
|
|
1402
|
+
r("button", {
|
|
1403
|
+
type: "button",
|
|
1404
|
+
class: j["play-button"],
|
|
1405
|
+
onClick: ae,
|
|
1406
|
+
"aria-label": s.value ? "Pause" : "Play",
|
|
1407
|
+
"aria-pressed": s.value
|
|
1408
|
+
}, [r(A, {
|
|
1409
|
+
d: s.value ? et : tt,
|
|
1410
|
+
size: "1.5rem"
|
|
1411
|
+
}, null)]),
|
|
1412
|
+
r("button", {
|
|
1413
|
+
type: "button",
|
|
1414
|
+
class: j["icon-button"],
|
|
1415
|
+
onClick: () => _(f.value + n.seekStep),
|
|
1416
|
+
"aria-label": `Forward ${n.seekStep} seconds`
|
|
1417
|
+
}, [r(A, {
|
|
1418
|
+
d: Be,
|
|
1419
|
+
size: "1.25rem"
|
|
1420
|
+
}, null)])
|
|
1421
|
+
]),
|
|
1422
|
+
r("div", { class: j.volume }, [r("button", {
|
|
1423
|
+
type: "button",
|
|
1424
|
+
class: j["icon-button"],
|
|
1425
|
+
onClick: de,
|
|
1426
|
+
"aria-label": h.value ? "Unmute" : "Mute",
|
|
1427
|
+
"aria-pressed": h.value
|
|
1428
|
+
}, [r(A, {
|
|
1429
|
+
d: te.value,
|
|
1430
|
+
size: "1.25rem"
|
|
1431
|
+
}, null)]), r("input", {
|
|
1432
|
+
class: j["volume-slider"],
|
|
1433
|
+
type: "range",
|
|
1434
|
+
min: 0,
|
|
1435
|
+
max: 1,
|
|
1436
|
+
step: .01,
|
|
1437
|
+
value: h.value ? 0 : m.value,
|
|
1438
|
+
"aria-label": "Volume",
|
|
1439
|
+
onInput: (e) => ue(e.target.valueAsNumber),
|
|
1440
|
+
style: { "--elmethis-scoped-volume": h.value ? 0 : m.value }
|
|
1441
|
+
}, null)]),
|
|
1442
|
+
r("span", { class: v(j.time, j["time-total"]) }, [Hn(d.value)])
|
|
1443
|
+
])])
|
|
1444
|
+
]);
|
|
1445
|
+
}
|
|
1179
1446
|
}), M = {
|
|
1180
1447
|
"elm-block-image": "_elm-block-image_kwjx3_1",
|
|
1181
1448
|
"image-container": "_image-container_kwjx3_12",
|
|
@@ -1183,21 +1450,21 @@ var pn = "https://a2ui.org/specification/v0_9/basic_catalog.json", mn = /* @__PU
|
|
|
1183
1450
|
fallback: "_fallback_kwjx3_36",
|
|
1184
1451
|
"caption-box": "_caption-box_kwjx3_46",
|
|
1185
1452
|
"caption-icon": "_caption-icon_kwjx3_57"
|
|
1186
|
-
},
|
|
1453
|
+
}, Gn = {
|
|
1187
1454
|
"elm-rectangle-wave": "_elm-rectangle-wave_70gad_21",
|
|
1188
1455
|
wave: "_wave_70gad_1"
|
|
1189
|
-
},
|
|
1456
|
+
}, Kn = /* @__PURE__ */ i({
|
|
1190
1457
|
name: "ElmRectangleWave",
|
|
1191
1458
|
setup() {
|
|
1192
1459
|
return () => r("div", {
|
|
1193
1460
|
"aria-hidden": "true",
|
|
1194
|
-
class:
|
|
1461
|
+
class: v(Gn["elm-rectangle-wave"])
|
|
1195
1462
|
}, null);
|
|
1196
1463
|
}
|
|
1197
|
-
}),
|
|
1464
|
+
}), qn = {
|
|
1198
1465
|
"elm-modal": "_elm-modal_12j1m_1",
|
|
1199
1466
|
shown: "_shown_12j1m_18"
|
|
1200
|
-
},
|
|
1467
|
+
}, Jn = /* @__PURE__ */ i({
|
|
1201
1468
|
name: "ElmModal",
|
|
1202
1469
|
inheritAttrs: !1,
|
|
1203
1470
|
props: {
|
|
@@ -1235,13 +1502,13 @@ var pn = "https://a2ui.org/specification/v0_9/basic_catalog.json", mn = /* @__PU
|
|
|
1235
1502
|
let { class: o, style: s, ...l } = t;
|
|
1236
1503
|
return r("dialog", c({
|
|
1237
1504
|
ref: i,
|
|
1238
|
-
class:
|
|
1505
|
+
class: v(qn["elm-modal"], a.value && qn.shown, o),
|
|
1239
1506
|
onClick: d,
|
|
1240
1507
|
style: [{ "--elmethis-scoped-modal-delay": `${e.delay}ms` }, s]
|
|
1241
1508
|
}, { closedby: "none" }, l), [r("div", { onClick: (e) => e.stopPropagation() }, [n.default?.()])]);
|
|
1242
1509
|
};
|
|
1243
1510
|
}
|
|
1244
|
-
}),
|
|
1511
|
+
}), Yn = (e = {}) => {
|
|
1245
1512
|
let t = p(!1), n = () => {
|
|
1246
1513
|
t.value = !0;
|
|
1247
1514
|
}, a = () => {
|
|
@@ -1251,7 +1518,7 @@ var pn = "https://a2ui.org/specification/v0_9/basic_catalog.json", mn = /* @__PU
|
|
|
1251
1518
|
Modal: /* @__PURE__ */ i({
|
|
1252
1519
|
name: "Modal",
|
|
1253
1520
|
setup(n, { slots: i }) {
|
|
1254
|
-
return () => r(
|
|
1521
|
+
return () => r(Jn, {
|
|
1255
1522
|
isOpen: t.value,
|
|
1256
1523
|
delay: e.delay,
|
|
1257
1524
|
onClose: a
|
|
@@ -1265,7 +1532,7 @@ var pn = "https://a2ui.org/specification/v0_9/basic_catalog.json", mn = /* @__PU
|
|
|
1265
1532
|
t.value = !t.value;
|
|
1266
1533
|
}
|
|
1267
1534
|
};
|
|
1268
|
-
},
|
|
1535
|
+
}, Xn = /* @__PURE__ */ i({
|
|
1269
1536
|
name: "ElmBlockImage",
|
|
1270
1537
|
props: {
|
|
1271
1538
|
src: {
|
|
@@ -1302,7 +1569,7 @@ var pn = "https://a2ui.org/specification/v0_9/basic_catalog.json", mn = /* @__PU
|
|
|
1302
1569
|
}
|
|
1303
1570
|
},
|
|
1304
1571
|
setup(e) {
|
|
1305
|
-
let t = p(!0), { Modal: n, isOpen: i, show: o, hide: s } =
|
|
1572
|
+
let t = p(!0), { Modal: n, isOpen: i, show: o, hide: s } = Yn(), l = p(null), d = () => {
|
|
1306
1573
|
l.value?.decode().then(() => t.value = !1, () => {});
|
|
1307
1574
|
};
|
|
1308
1575
|
u(d), g(() => e.src, d);
|
|
@@ -1326,34 +1593,34 @@ var pn = "https://a2ui.org/specification/v0_9/basic_catalog.json", mn = /* @__PU
|
|
|
1326
1593
|
"--elmethis-scoped-aspect-ratio": e.width && e.height ? `${e.width} / ${e.height}` : "auto"
|
|
1327
1594
|
}
|
|
1328
1595
|
}, { fetchpriority: n ? "low" : "auto" }), null);
|
|
1329
|
-
return () => r("figure", { class:
|
|
1596
|
+
return () => r("figure", { class: v(M["elm-block-image"]) }, [
|
|
1330
1597
|
r("div", {
|
|
1331
1598
|
class: M["image-container"],
|
|
1332
1599
|
style: { "--elmethis-scoped-opacity": t.value ? 1 : .01 },
|
|
1333
1600
|
onClick: f
|
|
1334
|
-
}, [h(!1), r("div", { class: M.fallback }, [r(
|
|
1601
|
+
}, [h(!1), r("div", { class: M.fallback }, [r(Kn, null, null)])]),
|
|
1335
1602
|
e.caption && r("figcaption", {
|
|
1336
1603
|
class: M["caption-box"],
|
|
1337
1604
|
style: { "--elmethis-scoped-opacity": t.value ? .01 : 1 }
|
|
1338
|
-
}, [r("span", { class: M["caption-icon"] }, [r(
|
|
1339
|
-
d:
|
|
1605
|
+
}, [r("span", { class: M["caption-icon"] }, [r(A, {
|
|
1606
|
+
d: Qe,
|
|
1340
1607
|
size: "1.25rem"
|
|
1341
1608
|
}, null)]), r(w, { size: "1rem" }, { default: () => [e.caption] })]),
|
|
1342
1609
|
a(n, null, { default: () => i.value ? h(!0) : null })
|
|
1343
1610
|
]);
|
|
1344
1611
|
}
|
|
1345
|
-
}),
|
|
1612
|
+
}), Zn = {
|
|
1346
1613
|
"elm-file": "_elm-file_1oen6_1",
|
|
1347
1614
|
"file-size": "_file-size_1oen6_13",
|
|
1348
1615
|
"download-icon": "_download-icon_1oen6_18"
|
|
1349
1616
|
};
|
|
1350
1617
|
//#endregion
|
|
1351
1618
|
//#region src/components/media/elm-file.tsx
|
|
1352
|
-
function
|
|
1619
|
+
function Qn(e) {
|
|
1353
1620
|
let t = e.split(/[?#]/)[0].split("/").filter(Boolean);
|
|
1354
1621
|
return t.length > 0 ? t[t.length - 1] : null;
|
|
1355
1622
|
}
|
|
1356
|
-
var
|
|
1623
|
+
var $n = /* @__PURE__ */ i({
|
|
1357
1624
|
name: "ElmFile",
|
|
1358
1625
|
props: {
|
|
1359
1626
|
name: {
|
|
@@ -1376,24 +1643,24 @@ var Ln = /* @__PURE__ */ i({
|
|
|
1376
1643
|
let n = await fetch(e.src);
|
|
1377
1644
|
if (!n.ok) throw Error("Failed to download file");
|
|
1378
1645
|
let r = await n.blob();
|
|
1379
|
-
t = document.createElement("a"), t.href = URL.createObjectURL(r), t.download = e.name ??
|
|
1646
|
+
t = document.createElement("a"), t.href = URL.createObjectURL(r), t.download = e.name ?? Qn(e.src) ?? "file", t.click();
|
|
1380
1647
|
} catch (e) {
|
|
1381
1648
|
console.error("ERROR:", e);
|
|
1382
1649
|
} finally {
|
|
1383
1650
|
t && URL.revokeObjectURL(t.href);
|
|
1384
1651
|
}
|
|
1385
1652
|
};
|
|
1386
|
-
return () => r("div", { class:
|
|
1387
|
-
r("div", null, [r(
|
|
1388
|
-
d:
|
|
1653
|
+
return () => r("div", { class: v(Zn["elm-file"]) }, [
|
|
1654
|
+
r("div", null, [r(A, {
|
|
1655
|
+
d: Ve,
|
|
1389
1656
|
size: "1.25rem"
|
|
1390
1657
|
}, null)]),
|
|
1391
|
-
r("div", null, [r(w, null, { default: () => [e.name ??
|
|
1392
|
-
r("div", { class:
|
|
1658
|
+
r("div", null, [r(w, null, { default: () => [e.name ?? Qn(e.src)] })]),
|
|
1659
|
+
r("div", { class: Zn["file-size"] }, [r(w, null, { default: () => [e.filesize] })]),
|
|
1393
1660
|
r("div", {
|
|
1394
|
-
class:
|
|
1661
|
+
class: Zn["download-icon"],
|
|
1395
1662
|
onClick: t
|
|
1396
|
-
}, [r(
|
|
1663
|
+
}, [r(A, {
|
|
1397
1664
|
d: Le,
|
|
1398
1665
|
size: "1.25rem"
|
|
1399
1666
|
}, null)])
|
|
@@ -1407,10 +1674,10 @@ var Ln = /* @__PURE__ */ i({
|
|
|
1407
1674
|
title: "_title_67069_72",
|
|
1408
1675
|
description: "_description_67069_76",
|
|
1409
1676
|
link: "_link_67069_81"
|
|
1410
|
-
},
|
|
1677
|
+
}, er = {
|
|
1411
1678
|
visibility: "hidden",
|
|
1412
1679
|
width: "0"
|
|
1413
|
-
},
|
|
1680
|
+
}, tr = /* @__PURE__ */ i({
|
|
1414
1681
|
name: "ElmBookmark",
|
|
1415
1682
|
props: {
|
|
1416
1683
|
title: {
|
|
@@ -1436,7 +1703,7 @@ var Ln = /* @__PURE__ */ i({
|
|
|
1436
1703
|
},
|
|
1437
1704
|
setup(e) {
|
|
1438
1705
|
let t = p(!1);
|
|
1439
|
-
return () => r("div", { class:
|
|
1706
|
+
return () => r("div", { class: v(N["elm-bookmark"]) }, [r("a", {
|
|
1440
1707
|
class: N.container,
|
|
1441
1708
|
href: e.url,
|
|
1442
1709
|
target: "_blank",
|
|
@@ -1446,12 +1713,12 @@ var Ln = /* @__PURE__ */ i({
|
|
|
1446
1713
|
src: e.image,
|
|
1447
1714
|
alt: "OGP Image",
|
|
1448
1715
|
onError: () => t.value = !0,
|
|
1449
|
-
style: t.value || e.image == null ?
|
|
1716
|
+
style: t.value || e.image == null ? er : {}
|
|
1450
1717
|
}, null), r("div", { class: N.content }, [
|
|
1451
1718
|
r("div", { class: N.title }, [r(w, { bold: !0 }, { default: () => [e.title] })]),
|
|
1452
1719
|
r("div", { class: N.description }, [r(w, { size: "0.75rem" }, { default: () => [e.description] })]),
|
|
1453
|
-
r("div", { class: N.link }, [e.favicon ? r(C, { src: e.favicon }, null) : r(
|
|
1454
|
-
d:
|
|
1720
|
+
r("div", { class: N.link }, [e.favicon ? r(C, { src: e.favicon }, null) : r(A, {
|
|
1721
|
+
d: Xe,
|
|
1455
1722
|
color: "var(--elmethis-color-accent-info)"
|
|
1456
1723
|
}, null), r(w, { size: "0.75rem" }, { default: () => [e.url] })])
|
|
1457
1724
|
])])]);
|
|
@@ -1466,7 +1733,7 @@ var Ln = /* @__PURE__ */ i({
|
|
|
1466
1733
|
cross: "_cross_d59g8_63",
|
|
1467
1734
|
border: "_border_d59g8_77",
|
|
1468
1735
|
content: "_content_d59g8_85"
|
|
1469
|
-
},
|
|
1736
|
+
}, nr = /* @__PURE__ */ i({
|
|
1470
1737
|
name: "ElmToggle",
|
|
1471
1738
|
props: {
|
|
1472
1739
|
summary: {
|
|
@@ -1488,33 +1755,33 @@ var Ln = /* @__PURE__ */ i({
|
|
|
1488
1755
|
},
|
|
1489
1756
|
emits: ["update:isOpen"],
|
|
1490
1757
|
setup(e, { emit: t, slots: n }) {
|
|
1491
|
-
let i =
|
|
1758
|
+
let i = qt({
|
|
1492
1759
|
props: e,
|
|
1493
1760
|
key: "isOpen",
|
|
1494
1761
|
emit: t,
|
|
1495
1762
|
defaultValue: e.defaultIsOpen ?? !1
|
|
1496
1763
|
});
|
|
1497
|
-
return () => r("div", { class:
|
|
1764
|
+
return () => r("div", { class: v(P["elm-toggle"], i.value && P.open) }, [
|
|
1498
1765
|
r("div", {
|
|
1499
1766
|
class: P.summary,
|
|
1500
1767
|
onClick: (e) => {
|
|
1501
1768
|
e.preventDefault(), i.value = !i.value;
|
|
1502
1769
|
}
|
|
1503
1770
|
}, [
|
|
1504
|
-
r("div", { class: P["summary-left"] }, [r("span", { class:
|
|
1771
|
+
r("div", { class: P["summary-left"] }, [r("span", { class: v(P.chevron, i.value && P.open) }, [r(A, {
|
|
1505
1772
|
d: Ne,
|
|
1506
1773
|
color: e.monochrome ? "var(--elmethis-color-neutral-weak)" : "var(--elmethis-color-primary)",
|
|
1507
1774
|
size: "1rem"
|
|
1508
1775
|
}, null)]), r("div", null, [e.summary == null ? n.summary?.() : r(w, null, { default: () => [e.summary] })])]),
|
|
1509
1776
|
r("hr", { class: P.divider }, null),
|
|
1510
|
-
r("span", { class:
|
|
1511
|
-
d:
|
|
1777
|
+
r("span", { class: v(P.cross, i.value && P.open) }, [r(A, {
|
|
1778
|
+
d: nt,
|
|
1512
1779
|
size: "1rem",
|
|
1513
1780
|
color: e.monochrome ? "var(--elmethis-color-neutral-weak)" : i.value ? "var(--elmethis-color-accent-error)" : "var(--elmethis-color-primary)"
|
|
1514
1781
|
}, null)])
|
|
1515
1782
|
]),
|
|
1516
1783
|
r("div", { class: P.border }, null),
|
|
1517
|
-
r("div", { class:
|
|
1784
|
+
r("div", { class: v(P.content, i.value && P.open) }, [n.default?.()])
|
|
1518
1785
|
]);
|
|
1519
1786
|
}
|
|
1520
1787
|
}), F = {
|
|
@@ -1523,13 +1790,13 @@ var Ln = /* @__PURE__ */ i({
|
|
|
1523
1790
|
icon: "_icon_lqbme_25",
|
|
1524
1791
|
"icon-top-left": "_icon-top-left_lqbme_30",
|
|
1525
1792
|
"icon-bottom-right": "_icon-bottom-right_lqbme_34"
|
|
1526
|
-
},
|
|
1793
|
+
}, rr = /* @__PURE__ */ i({
|
|
1527
1794
|
name: "ElmBlockQuote",
|
|
1528
1795
|
setup(e, { slots: t }) {
|
|
1529
|
-
return () => r("blockquote", { class:
|
|
1530
|
-
r("div", { class:
|
|
1796
|
+
return () => r("blockquote", { class: v(F["elm-block-quote"], x.text) }, [
|
|
1797
|
+
r("div", { class: v(F.icon, F["icon-top-left"]) }, [r(A, { d: Ge }, null)]),
|
|
1531
1798
|
r("div", { class: F.body }, [t.default?.()]),
|
|
1532
|
-
r("div", { class:
|
|
1799
|
+
r("div", { class: v(F.icon, F["icon-bottom-right"]) }, [r(A, { d: We }, null)])
|
|
1533
1800
|
]);
|
|
1534
1801
|
}
|
|
1535
1802
|
}), I = {
|
|
@@ -1542,53 +1809,53 @@ var Ln = /* @__PURE__ */ i({
|
|
|
1542
1809
|
important: "_important_1xydl_53",
|
|
1543
1810
|
warning: "_warning_1xydl_57",
|
|
1544
1811
|
caution: "_caution_1xydl_61"
|
|
1545
|
-
},
|
|
1546
|
-
note:
|
|
1547
|
-
tip:
|
|
1548
|
-
important:
|
|
1549
|
-
warning:
|
|
1812
|
+
}, ir = Object.freeze({
|
|
1813
|
+
note: Je,
|
|
1814
|
+
tip: Ye,
|
|
1815
|
+
important: it,
|
|
1816
|
+
warning: Ee,
|
|
1550
1817
|
caution: Oe
|
|
1551
|
-
}),
|
|
1818
|
+
}), ar = /* @__PURE__ */ i({
|
|
1552
1819
|
name: "ElmCallout",
|
|
1553
1820
|
props: { type: {
|
|
1554
1821
|
type: String,
|
|
1555
1822
|
default: "note"
|
|
1556
1823
|
} },
|
|
1557
1824
|
setup(e, { slots: t }) {
|
|
1558
|
-
return () => r("aside", { class:
|
|
1825
|
+
return () => r("aside", { class: v(I["elm-callout"], I[e.type]) }, [r("div", { class: I.header }, [r(A, {
|
|
1559
1826
|
class: I.icon,
|
|
1560
|
-
d:
|
|
1827
|
+
d: ir[e.type],
|
|
1561
1828
|
size: "1.25rem"
|
|
1562
1829
|
}, null), r("span", null, [e.type])]), r("div", { class: I.content }, [t.default?.()])]);
|
|
1563
1830
|
}
|
|
1564
|
-
}),
|
|
1831
|
+
}), or = { "elm-divider": "_elm-divider_8xkqn_1" }, sr = /* @__PURE__ */ i({
|
|
1565
1832
|
name: "ElmDivider",
|
|
1566
1833
|
inheritAttrs: !1,
|
|
1567
1834
|
setup(e, { attrs: t }) {
|
|
1568
1835
|
return () => {
|
|
1569
1836
|
let { class: e, ...n } = t;
|
|
1570
|
-
return r("hr", c({ class:
|
|
1837
|
+
return r("hr", c({ class: v(or["elm-divider"], e) }, n), null);
|
|
1571
1838
|
};
|
|
1572
1839
|
}
|
|
1573
|
-
}),
|
|
1840
|
+
}), cr = {
|
|
1574
1841
|
"elm-list": "_elm-list_n8430_1",
|
|
1575
1842
|
bulleted: "_bulleted_n8430_9",
|
|
1576
1843
|
numbered: "_numbered_n8430_58"
|
|
1577
|
-
},
|
|
1844
|
+
}, lr = /* @__PURE__ */ i({
|
|
1578
1845
|
name: "ElmList",
|
|
1579
1846
|
props: { listStyle: {
|
|
1580
1847
|
type: String,
|
|
1581
1848
|
default: "unordered"
|
|
1582
1849
|
} },
|
|
1583
1850
|
setup(e, { slots: t }) {
|
|
1584
|
-
return () => e.listStyle === "ordered" ? r("ol", { class:
|
|
1851
|
+
return () => e.listStyle === "ordered" ? r("ol", { class: v(x.text, cr["elm-list"], cr.numbered) }, [t.default?.()]) : r("ul", { class: v(x.text, cr["elm-list"], cr.bulleted) }, [t.default?.()]);
|
|
1585
1852
|
}
|
|
1586
1853
|
}), L = {
|
|
1587
1854
|
"elm-table": "_elm-table_14qfo_1",
|
|
1588
1855
|
caption: "_caption_14qfo_8",
|
|
1589
1856
|
"caption-inner": "_caption-inner_14qfo_18",
|
|
1590
1857
|
spacing: "_spacing_14qfo_25"
|
|
1591
|
-
},
|
|
1858
|
+
}, ur = Symbol("elm.table.HasRowHeader"), dr = Symbol("elm.table.Section"), fr = /* @__PURE__ */ i({
|
|
1592
1859
|
name: "ElmTable",
|
|
1593
1860
|
props: {
|
|
1594
1861
|
caption: {
|
|
@@ -1601,22 +1868,22 @@ var Ln = /* @__PURE__ */ i({
|
|
|
1601
1868
|
}
|
|
1602
1869
|
},
|
|
1603
1870
|
setup(e, { slots: n }) {
|
|
1604
|
-
return f(
|
|
1871
|
+
return f(ur, t(() => e.hasRowHeader)), () => r("table", { class: v(L["elm-table"], x.text) }, [e.caption && r("caption", null, [r("span", { class: L.caption }, [
|
|
1605
1872
|
r("span", { class: L.spacing }, null),
|
|
1606
1873
|
r("span", { class: L["caption-inner"] }, [r(w, null, { default: () => [e.caption] })]),
|
|
1607
1874
|
r("span", { class: L.spacing }, null)
|
|
1608
1875
|
])]), n.default?.()]);
|
|
1609
1876
|
}
|
|
1610
|
-
}),
|
|
1877
|
+
}), pr = /* @__PURE__ */ i({
|
|
1611
1878
|
name: "ElmTableBody",
|
|
1612
1879
|
setup(e, { slots: t }) {
|
|
1613
|
-
return f(
|
|
1880
|
+
return f(dr, "body"), () => r("tbody", null, [t.default?.()]);
|
|
1614
1881
|
}
|
|
1615
|
-
}),
|
|
1882
|
+
}), mr = {
|
|
1616
1883
|
"elm-table-cell": "_elm-table-cell_1a21f_1",
|
|
1617
1884
|
td: "_td_1a21f_20",
|
|
1618
1885
|
th: "_th_1a21f_25"
|
|
1619
|
-
},
|
|
1886
|
+
}, hr = /* @__PURE__ */ i({
|
|
1620
1887
|
name: "ElmTableCell",
|
|
1621
1888
|
inheritAttrs: !1,
|
|
1622
1889
|
props: {
|
|
@@ -1638,35 +1905,35 @@ var Ln = /* @__PURE__ */ i({
|
|
|
1638
1905
|
}
|
|
1639
1906
|
},
|
|
1640
1907
|
setup(e, { attrs: t, slots: n }) {
|
|
1641
|
-
let i = o(
|
|
1908
|
+
let i = o(dr, "body"), a = o(ur, p(!1));
|
|
1642
1909
|
return () => {
|
|
1643
1910
|
let { class: o, style: s, ...l } = t, u = i === "head", d = !u && !e.isHeader && e.columnIndex === 0 && a.value, f = u || e.isHeader || d, p = e.scope ?? (u ? "col" : d ? "row" : void 0), m = e.text == null ? n.default?.() : e.text;
|
|
1644
1911
|
return f ? r("th", c({
|
|
1645
|
-
class:
|
|
1912
|
+
class: v(mr["elm-table-cell"], mr.th, o),
|
|
1646
1913
|
style: s,
|
|
1647
1914
|
scope: p
|
|
1648
1915
|
}, l), [m]) : r("td", c({
|
|
1649
|
-
class:
|
|
1916
|
+
class: v(mr["elm-table-cell"], mr.td, o),
|
|
1650
1917
|
style: s
|
|
1651
1918
|
}, l), [m]);
|
|
1652
1919
|
};
|
|
1653
1920
|
}
|
|
1654
|
-
}),
|
|
1921
|
+
}), gr = { "elm-table-header": "_elm-table-header_jhft7_1" }, _r = /* @__PURE__ */ i({
|
|
1655
1922
|
name: "ElmTableHeader",
|
|
1656
1923
|
setup(e, { slots: t }) {
|
|
1657
|
-
return f(
|
|
1924
|
+
return f(dr, "head"), () => r("thead", { class: v(gr["elm-table-header"]) }, [t.default?.()]);
|
|
1658
1925
|
}
|
|
1659
|
-
}),
|
|
1926
|
+
}), vr = { "elm-table-row": "_elm-table-row_mkm0q_1" }, yr = /* @__PURE__ */ i({
|
|
1660
1927
|
name: "ElmTableRow",
|
|
1661
1928
|
setup(e, { slots: t }) {
|
|
1662
|
-
return () => r("tr", { class:
|
|
1929
|
+
return () => r("tr", { class: v(vr["elm-table-row"]) }, [t.default?.()]);
|
|
1663
1930
|
}
|
|
1664
|
-
}),
|
|
1931
|
+
}), br = {
|
|
1665
1932
|
"elm-unsupported-block": "_elm-unsupported-block_xdddx_1",
|
|
1666
1933
|
message: "_message_xdddx_14",
|
|
1667
1934
|
icon: "_icon_xdddx_21",
|
|
1668
1935
|
details: "_details_xdddx_25"
|
|
1669
|
-
},
|
|
1936
|
+
}, xr = /* @__PURE__ */ i({
|
|
1670
1937
|
name: "ElmUnsupportedBlock",
|
|
1671
1938
|
inheritAttrs: !1,
|
|
1672
1939
|
props: { details: {
|
|
@@ -1676,12 +1943,12 @@ var Ln = /* @__PURE__ */ i({
|
|
|
1676
1943
|
setup(e, { attrs: t }) {
|
|
1677
1944
|
return () => {
|
|
1678
1945
|
let { class: i, ...a } = t;
|
|
1679
|
-
return r("div", c({ class:
|
|
1946
|
+
return r("div", c({ class: v(br["elm-unsupported-block"], i) }, a), [r("div", { class: br.message }, [r("svg", {
|
|
1680
1947
|
viewBox: "0 0 24 24",
|
|
1681
1948
|
width: "1.25rem",
|
|
1682
1949
|
height: "1.25rem",
|
|
1683
|
-
class:
|
|
1684
|
-
}, [r("path", { d: "M13,9H11V7H13M13,17H11V11H13M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2Z" }, null)]), r(w, null, { default: () => [n("UNSUPPORTED BLOCK")] })]), e.details && r("div", { class:
|
|
1950
|
+
class: br.icon
|
|
1951
|
+
}, [r("path", { d: "M13,9H11V7H13M13,17H11V11H13M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2Z" }, null)]), r(w, null, { default: () => [n("UNSUPPORTED BLOCK")] })]), e.details && r("div", { class: br.details }, [r(w, null, { default: () => [e.details] })])]);
|
|
1685
1952
|
};
|
|
1686
1953
|
}
|
|
1687
1954
|
});
|
|
@@ -1690,10 +1957,10 @@ var Ln = /* @__PURE__ */ i({
|
|
|
1690
1957
|
function R(e) {
|
|
1691
1958
|
return typeof e == "function" || Object.prototype.toString.call(e) === "[object Object]" && !s(e);
|
|
1692
1959
|
}
|
|
1693
|
-
function
|
|
1960
|
+
function Sr(e) {
|
|
1694
1961
|
return Array.isArray(e) ? e.filter((e) => typeof e == "string") : [];
|
|
1695
1962
|
}
|
|
1696
|
-
var
|
|
1963
|
+
var Cr = {
|
|
1697
1964
|
boxSizing: "content-box",
|
|
1698
1965
|
paddingBlock: "0.25rem",
|
|
1699
1966
|
width: "100%",
|
|
@@ -1702,9 +1969,9 @@ var sr = {
|
|
|
1702
1969
|
gap: "0.25rem",
|
|
1703
1970
|
justifyContent: "space-around",
|
|
1704
1971
|
overflowX: "auto"
|
|
1705
|
-
},
|
|
1972
|
+
}, wr = yn.extend(E(Nt, ({ props: e, resolve: t }) => {
|
|
1706
1973
|
let n = t(e.text), i = e.decoration ?? [];
|
|
1707
|
-
return i.includes("katex") ? r(
|
|
1974
|
+
return i.includes("katex") ? r(jn, {
|
|
1708
1975
|
expression: n,
|
|
1709
1976
|
block: !1
|
|
1710
1977
|
}, null) : r(w, {
|
|
@@ -1716,69 +1983,97 @@ var sr = {
|
|
|
1716
1983
|
color: e.color,
|
|
1717
1984
|
ruby: e.ruby
|
|
1718
1985
|
}, R(n) ? n : { default: () => [n] });
|
|
1719
|
-
}),
|
|
1986
|
+
}), E(Ot, ({ props: e, resolve: t }) => {
|
|
1720
1987
|
let n;
|
|
1721
1988
|
return r(w, {
|
|
1722
1989
|
href: e.href,
|
|
1723
1990
|
favicon: e.favicon
|
|
1724
1991
|
}, R(n = t(e.text)) ? n : { default: () => [n] });
|
|
1725
|
-
}),
|
|
1992
|
+
}), E(Tt, ({ props: e, resolve: t }) => r(C, {
|
|
1726
1993
|
src: t(e.src),
|
|
1727
1994
|
alt: e.alt
|
|
1728
|
-
}, null)),
|
|
1995
|
+
}, null)), E(vt, ({ props: e, index: t, childRefs: n, renderChild: i }) => r("div", { style: {
|
|
1729
1996
|
display: "flex",
|
|
1730
1997
|
flexDirection: "column",
|
|
1731
|
-
justifyContent:
|
|
1732
|
-
alignItems:
|
|
1998
|
+
justifyContent: mn[e.justify ?? "start"],
|
|
1999
|
+
alignItems: hn[e.align ?? "stretch"],
|
|
1733
2000
|
flex: e.widthRatio == null ? void 0 : String(e.widthRatio),
|
|
1734
2001
|
boxSizing: "border-box",
|
|
1735
2002
|
padding: "0.125rem",
|
|
1736
|
-
...
|
|
1737
|
-
} }, [n(e.children).map(({ id: e, path: t }, n) => r("span", { key: `${e}:${n}` }, [i(e, t, n)]))])),
|
|
1738
|
-
...
|
|
1739
|
-
...
|
|
1740
|
-
} }, [i(t.children).map(({ id: t, path: n }, i) => r(e, { key: `${t}:${i}` }, [a(t, n, i)]))])),
|
|
2003
|
+
...D(t)
|
|
2004
|
+
} }, [n(e.children).map(({ id: e, path: t }, n) => r("span", { key: `${e}:${n}` }, [i(e, t, n)]))])), E(yt, ({ props: t, index: n, childRefs: i, renderChild: a }) => r("div", { style: {
|
|
2005
|
+
...Cr,
|
|
2006
|
+
...D(n)
|
|
2007
|
+
} }, [i(t.children).map(({ id: t, path: n }, i) => r(e, { key: `${t}:${i}` }, [a(t, n, i)]))])), E(wt, ({ props: t, index: n, childRefs: i, renderChild: a }) => {
|
|
1741
2008
|
let o;
|
|
1742
|
-
return r(
|
|
2009
|
+
return r(S, {
|
|
1743
2010
|
level: t.level,
|
|
1744
|
-
style:
|
|
2011
|
+
style: D(n)
|
|
1745
2012
|
}, R(o = i(t.children).map(({ id: t, path: n }, i) => r(e, { key: `${t}:${i}` }, [a(t, n, i)]))) ? o : { default: () => [o] });
|
|
1746
|
-
}),
|
|
2013
|
+
}), E(Mt, ({ props: e, index: t, childRefs: n, renderChild: i }) => {
|
|
1747
2014
|
let a;
|
|
1748
|
-
return r(
|
|
2015
|
+
return r(cn, {
|
|
1749
2016
|
color: e.color,
|
|
1750
2017
|
backgroundColor: e.backgroundColor,
|
|
1751
|
-
style:
|
|
2018
|
+
style: D(t)
|
|
1752
2019
|
}, R(a = n(e.children).map(({ id: e, path: t }, n) => r("span", { key: `${e}:${n}` }, [i(e, t, n)]))) ? a : { default: () => [a] });
|
|
1753
|
-
}),
|
|
2020
|
+
}), E(kt, ({ props: e, index: t, childRefs: n, renderChild: i }) => {
|
|
1754
2021
|
let a;
|
|
1755
|
-
return r(
|
|
2022
|
+
return r(lr, {
|
|
1756
2023
|
listStyle: e.style ?? "unordered",
|
|
1757
|
-
style:
|
|
2024
|
+
style: D(t)
|
|
1758
2025
|
}, R(a = n(e.children).map(({ id: e, path: t }, n) => r("li", { key: `${e}:${n}` }, [i(e, t, n)]))) ? a : { default: () => [a] });
|
|
1759
|
-
}),
|
|
2026
|
+
}), E(At, ({ props: t, childRefs: n, renderChild: i }) => r(e, null, [n(t.children).map(({ id: t, path: n }, a) => r(e, { key: `${t}:${a}` }, [i(t, n, a)]))])), E(mt, ({ props: t, index: n, childRefs: i, renderChild: a }) => {
|
|
1760
2027
|
let o;
|
|
1761
|
-
return r(
|
|
1762
|
-
}),
|
|
2028
|
+
return r(rr, c({ cite: t.cite }, { style: D(n) }), R(o = i(t.children).map(({ id: t, path: n }, i) => r(e, { key: `${t}:${i}` }, [a(t, n, i)]))) ? o : { default: () => [o] });
|
|
2029
|
+
}), E(gt, ({ props: t, index: n, childRefs: i, renderChild: a }) => {
|
|
1763
2030
|
let o;
|
|
1764
|
-
return r(
|
|
2031
|
+
return r(ar, {
|
|
1765
2032
|
type: t.type,
|
|
1766
|
-
style:
|
|
2033
|
+
style: D(n)
|
|
1767
2034
|
}, R(o = i(t.children).map(({ id: t, path: n }, i) => r(e, { key: `${t}:${i}` }, [a(t, n, i)]))) ? o : { default: () => [o] });
|
|
1768
|
-
}),
|
|
2035
|
+
}), E(St, ({ index: e }) => r(sr, { style: D(e) }, null)), E(Lt, ({ props: t, index: n, childRefs: i, renderChild: a }) => r(nr, { style: D(n) }, {
|
|
1769
2036
|
summary: () => i(t.summary).map(({ id: e, path: t }, n) => r("span", { key: `${e}:${n}` }, [a(e, t, n)])),
|
|
1770
2037
|
default: () => i(t.children).map(({ id: t, path: n }, i) => r(e, { key: `${t}:${i}` }, [a(t, n, i)]))
|
|
1771
|
-
})),
|
|
2038
|
+
})), E(ht, ({ props: e, index: t, resolve: n }) => r(tr, {
|
|
1772
2039
|
url: n(e.url),
|
|
1773
2040
|
title: e.title ? n(e.title) : void 0,
|
|
1774
2041
|
description: e.description ? n(e.description) : void 0,
|
|
1775
2042
|
image: e.image ? n(e.image) : void 0,
|
|
1776
|
-
style:
|
|
1777
|
-
}, null)),
|
|
2043
|
+
style: D(t)
|
|
2044
|
+
}, null)), E(Ct, ({ props: e, index: t, resolve: n }) => r($n, {
|
|
1778
2045
|
src: n(e.src),
|
|
1779
2046
|
name: e.name ? n(e.name) : void 0,
|
|
1780
|
-
style:
|
|
1781
|
-
}, null)),
|
|
2047
|
+
style: D(t)
|
|
2048
|
+
}, null)), E(ft, ({ props: e, index: t, resolve: n }) => r(Wn, {
|
|
2049
|
+
src: n(e.src),
|
|
2050
|
+
title: e.title ? n(e.title) : void 0,
|
|
2051
|
+
artist: e.artist ? n(e.artist) : void 0,
|
|
2052
|
+
seekStep: e.seekStep,
|
|
2053
|
+
loop: e.loop,
|
|
2054
|
+
autoplay: e.autoPlay,
|
|
2055
|
+
style: D(t)
|
|
2056
|
+
}, null)), E(zt, ({ props: e, index: t, resolve: n }) => {
|
|
2057
|
+
let i = e.caption ? n(e.caption) : void 0;
|
|
2058
|
+
return r("figure", { style: {
|
|
2059
|
+
...D(t),
|
|
2060
|
+
margin: 0
|
|
2061
|
+
} }, [r("video", {
|
|
2062
|
+
src: n(e.src),
|
|
2063
|
+
poster: e.poster ? n(e.poster) : void 0,
|
|
2064
|
+
title: e.title ? n(e.title) : void 0,
|
|
2065
|
+
width: e.width,
|
|
2066
|
+
height: e.height,
|
|
2067
|
+
loop: e.loop,
|
|
2068
|
+
autoplay: e.autoPlay,
|
|
2069
|
+
muted: e.muted,
|
|
2070
|
+
controls: !0,
|
|
2071
|
+
style: {
|
|
2072
|
+
maxWidth: "100%",
|
|
2073
|
+
height: "auto"
|
|
2074
|
+
}
|
|
2075
|
+
}, null), i ? r("figcaption", null, [i]) : null]);
|
|
2076
|
+
}), E(pt, ({ props: e, index: t, resolve: n }) => r(Xn, {
|
|
1782
2077
|
src: n(e.src),
|
|
1783
2078
|
alt: e.alt ? n(e.alt) : void 0,
|
|
1784
2079
|
width: e.width,
|
|
@@ -1787,68 +2082,68 @@ var sr = {
|
|
|
1787
2082
|
sizes: e.sizes ? n(e.sizes) : void 0,
|
|
1788
2083
|
caption: e.caption ? n(e.caption) : void 0,
|
|
1789
2084
|
enableModal: !0,
|
|
1790
|
-
style:
|
|
1791
|
-
}, null)),
|
|
2085
|
+
style: D(t)
|
|
2086
|
+
}, null)), E(_t, ({ props: e, index: t, resolve: n }) => r(Vn, {
|
|
1792
2087
|
code: n(e.code),
|
|
1793
2088
|
language: e.language ? n(e.language) : void 0,
|
|
1794
2089
|
caption: e.caption ? n(e.caption) : void 0,
|
|
1795
|
-
style:
|
|
1796
|
-
}, null)),
|
|
2090
|
+
style: D(t)
|
|
2091
|
+
}, null)), E(Et, ({ props: e, index: t, resolve: n }) => r(jn, {
|
|
1797
2092
|
expression: n(e.expression),
|
|
1798
2093
|
block: !0,
|
|
1799
|
-
style:
|
|
1800
|
-
}, null)),
|
|
2094
|
+
style: D(t)
|
|
2095
|
+
}, null)), E(jt, ({ props: e, index: t, resolve: n }) => r(Vn, {
|
|
1801
2096
|
code: n(e.code),
|
|
1802
2097
|
language: "mermaid",
|
|
1803
|
-
style:
|
|
1804
|
-
}, null)),
|
|
2098
|
+
style: D(t)
|
|
2099
|
+
}, null)), E(bt, () => null), E(xt, ({ props: t, index: n, surface: i, renderChild: a }) => {
|
|
1805
2100
|
let o, s = (Array.isArray(t.children) ? t.children : []).map((e) => {
|
|
1806
2101
|
let t = i.componentsModel.get(e);
|
|
1807
2102
|
return {
|
|
1808
2103
|
tabId: e,
|
|
1809
|
-
labelIds:
|
|
1810
|
-
contentIds:
|
|
2104
|
+
labelIds: Sr(t?.properties.label),
|
|
2105
|
+
contentIds: Sr(t?.properties.content)
|
|
1811
2106
|
};
|
|
1812
2107
|
});
|
|
1813
|
-
return r(
|
|
2108
|
+
return r(Xt, {
|
|
1814
2109
|
defaultValue: "0",
|
|
1815
|
-
style:
|
|
1816
|
-
}, { default: () => [r(
|
|
2110
|
+
style: D(n)
|
|
2111
|
+
}, { default: () => [r(Zt, null, R(o = s.map(({ tabId: t, labelIds: n }, i) => {
|
|
1817
2112
|
let o;
|
|
1818
|
-
return r(
|
|
2113
|
+
return r(Qt, {
|
|
1819
2114
|
key: t,
|
|
1820
2115
|
value: String(i)
|
|
1821
2116
|
}, R(o = n.map((t, n) => r(e, { key: `${t}:${n}` }, [a(t, "/", n)]))) ? o : { default: () => [o] });
|
|
1822
2117
|
})) ? o : { default: () => [o] }), s.map(({ tabId: t, contentIds: n }, i) => {
|
|
1823
2118
|
let o;
|
|
1824
|
-
return r(
|
|
2119
|
+
return r($t, {
|
|
1825
2120
|
key: t,
|
|
1826
2121
|
value: String(i)
|
|
1827
2122
|
}, R(o = n.map((t, n) => r(e, { key: `${t}:${n}` }, [a(t, "/", n)]))) ? o : { default: () => [o] });
|
|
1828
2123
|
})] });
|
|
1829
|
-
}),
|
|
2124
|
+
}), E(Pt, ({ props: t, index: n, childRefs: i, renderChild: a }) => {
|
|
1830
2125
|
let o, s;
|
|
1831
|
-
return r(
|
|
2126
|
+
return r(fr, {
|
|
1832
2127
|
caption: t.caption ? String(t.caption) : void 0,
|
|
1833
2128
|
hasRowHeader: t.hasRowHeader,
|
|
1834
|
-
style:
|
|
1835
|
-
}, { default: () => [t.header && t.header.length > 0 && r(
|
|
1836
|
-
}),
|
|
2129
|
+
style: D(n)
|
|
2130
|
+
}, { default: () => [t.header && t.header.length > 0 && r(_r, null, R(o = i(t.header).map(({ id: t, path: n }, i) => r(e, { key: `${t}:${i}` }, [a(t, n, i)]))) ? o : { default: () => [o] }), r(pr, null, R(s = i(t.body).map(({ id: t, path: n }, i) => r(e, { key: `${t}:${i}` }, [a(t, n, i)]))) ? s : { default: () => [s] })] });
|
|
2131
|
+
}), E(It, ({ props: t, childRefs: n, renderChild: i }) => {
|
|
1837
2132
|
let a;
|
|
1838
|
-
return r(
|
|
1839
|
-
}),
|
|
2133
|
+
return r(yr, null, R(a = n(t.children).map(({ id: t, path: n }, a) => r(e, { key: `${t}:${a}` }, [i(t, n, a)]))) ? a : { default: () => [a] });
|
|
2134
|
+
}), E(Ft, ({ props: e, index: t, childRefs: n, renderChild: i }) => {
|
|
1840
2135
|
let a;
|
|
1841
|
-
return r(
|
|
2136
|
+
return r(hr, {
|
|
1842
2137
|
isHeader: e.isHeader,
|
|
1843
2138
|
columnIndex: t
|
|
1844
2139
|
}, R(a = n(e.children).map(({ id: e, path: t }, n) => r("span", { key: `${e}:${n}` }, [i(e, t, n)]))) ? a : { default: () => [a] });
|
|
1845
|
-
}),
|
|
2140
|
+
}), E(Rt, ({ props: e, index: t }) => r(xr, {
|
|
1846
2141
|
details: e.details ? `Unsupported component type: ${String(e.details)}` : "Unsupported component type",
|
|
1847
|
-
style:
|
|
1848
|
-
}, null))),
|
|
2142
|
+
style: D(t)
|
|
2143
|
+
}, null))), Tr = {
|
|
1849
2144
|
"parallax-watcher": "_parallax-watcher_z693a_1",
|
|
1850
2145
|
parallax: "_parallax_z693a_1"
|
|
1851
|
-
},
|
|
2146
|
+
}, Er = /* @__PURE__ */ i({
|
|
1852
2147
|
name: "ElmParallax",
|
|
1853
2148
|
props: { images: {
|
|
1854
2149
|
type: Array,
|
|
@@ -1858,9 +2153,9 @@ var sr = {
|
|
|
1858
2153
|
let t = p(0), n = () => {
|
|
1859
2154
|
t.value = window.scrollY;
|
|
1860
2155
|
};
|
|
1861
|
-
return u(() => window.addEventListener("scroll", n)), l(() => window.removeEventListener("scroll", n)), () => r("div", null, [r("div", { class:
|
|
2156
|
+
return u(() => window.addEventListener("scroll", n)), l(() => window.removeEventListener("scroll", n)), () => r("div", null, [r("div", { class: Tr["parallax-watcher"] }, null), e.images.map((e, n) => r("div", {
|
|
1862
2157
|
key: n,
|
|
1863
|
-
class:
|
|
2158
|
+
class: Tr.parallax,
|
|
1864
2159
|
style: {
|
|
1865
2160
|
backgroundImage: `url(${e})`,
|
|
1866
2161
|
transform: `scale(1.2) translateY(${t.value / (1e3 * (n + 1))}%)`,
|
|
@@ -1868,11 +2163,11 @@ var sr = {
|
|
|
1868
2163
|
}
|
|
1869
2164
|
}, null))]);
|
|
1870
2165
|
}
|
|
1871
|
-
}),
|
|
2166
|
+
}), Dr = {
|
|
1872
2167
|
"elm-tooltip": "_elm-tooltip_1b13f_1",
|
|
1873
2168
|
tooltip: "_tooltip_1b13f_5",
|
|
1874
2169
|
show: "_show_1b13f_18"
|
|
1875
|
-
},
|
|
2170
|
+
}, Or = /* @__PURE__ */ i({
|
|
1876
2171
|
name: "ElmTooltip",
|
|
1877
2172
|
setup(e, { slots: t }) {
|
|
1878
2173
|
let n = p(null), i = p(!1), a = !1, o, s = p({}), c = () => {
|
|
@@ -1894,19 +2189,19 @@ var sr = {
|
|
|
1894
2189
|
};
|
|
1895
2190
|
return () => r("span", {
|
|
1896
2191
|
ref: n,
|
|
1897
|
-
class:
|
|
2192
|
+
class: v(Dr["elm-tooltip"]),
|
|
1898
2193
|
onMouseover: c,
|
|
1899
2194
|
onMouseleave: l
|
|
1900
2195
|
}, [t.original?.(), r("div", {
|
|
1901
|
-
class:
|
|
2196
|
+
class: v(Dr.tooltip, i.value && Dr.show),
|
|
1902
2197
|
style: s.value
|
|
1903
2198
|
}, [t.tooltip?.()])]);
|
|
1904
2199
|
}
|
|
1905
|
-
}),
|
|
2200
|
+
}), kr = { "elm-block-fallback": "_elm-block-fallback_1sx02_1" }, Ar = {
|
|
1906
2201
|
"elm-dot-loading-icon": "_elm-dot-loading-icon_qjgj2_15",
|
|
1907
2202
|
dot: "_dot_qjgj2_25",
|
|
1908
2203
|
bounce: "_bounce_qjgj2_1"
|
|
1909
|
-
},
|
|
2204
|
+
}, jr = /* @__PURE__ */ i({
|
|
1910
2205
|
name: "ElmDotLoadingIcon",
|
|
1911
2206
|
inheritAttrs: !1,
|
|
1912
2207
|
props: { size: {
|
|
@@ -1917,25 +2212,25 @@ var sr = {
|
|
|
1917
2212
|
return () => {
|
|
1918
2213
|
let { class: n, style: i, ...a } = t;
|
|
1919
2214
|
return r("span", c({
|
|
1920
|
-
class:
|
|
2215
|
+
class: v(Ar["elm-dot-loading-icon"], n),
|
|
1921
2216
|
style: [{ "--elmethis-scoped-size": e.size }, i]
|
|
1922
2217
|
}, a), [
|
|
1923
2218
|
r("span", {
|
|
1924
|
-
class:
|
|
2219
|
+
class: Ar.dot,
|
|
1925
2220
|
"aria-hidden": "true"
|
|
1926
2221
|
}, null),
|
|
1927
2222
|
r("span", {
|
|
1928
|
-
class:
|
|
2223
|
+
class: Ar.dot,
|
|
1929
2224
|
"aria-hidden": "true"
|
|
1930
2225
|
}, null),
|
|
1931
2226
|
r("span", {
|
|
1932
|
-
class:
|
|
2227
|
+
class: Ar.dot,
|
|
1933
2228
|
"aria-hidden": "true"
|
|
1934
2229
|
}, null)
|
|
1935
2230
|
]);
|
|
1936
2231
|
};
|
|
1937
2232
|
}
|
|
1938
|
-
}),
|
|
2233
|
+
}), Mr = /* @__PURE__ */ i({
|
|
1939
2234
|
name: "ElmBlockFallback",
|
|
1940
2235
|
props: { height: {
|
|
1941
2236
|
type: String,
|
|
@@ -1943,9 +2238,9 @@ var sr = {
|
|
|
1943
2238
|
} },
|
|
1944
2239
|
setup(e) {
|
|
1945
2240
|
return () => r("div", {
|
|
1946
|
-
class:
|
|
2241
|
+
class: v(kr["elm-block-fallback"]),
|
|
1947
2242
|
style: { "--elmethis-scoped-height": e.height }
|
|
1948
|
-
}, [r(
|
|
2243
|
+
}, [r(jr, null, null), r(Kn, null, null)]);
|
|
1949
2244
|
}
|
|
1950
2245
|
}), z = {
|
|
1951
2246
|
"elm-button": "_elm-button_9qh0y_1",
|
|
@@ -1956,7 +2251,7 @@ var sr = {
|
|
|
1956
2251
|
flex: "_flex_9qh0y_59",
|
|
1957
2252
|
ripple: "_ripple_9qh0y_83",
|
|
1958
2253
|
"button-ripple": "_button-ripple_9qh0y_1"
|
|
1959
|
-
},
|
|
2254
|
+
}, Nr = /* @__PURE__ */ i({
|
|
1960
2255
|
name: "ElmButton",
|
|
1961
2256
|
inheritAttrs: !1,
|
|
1962
2257
|
props: {
|
|
@@ -1982,23 +2277,23 @@ var sr = {
|
|
|
1982
2277
|
}
|
|
1983
2278
|
},
|
|
1984
2279
|
setup(e, { attrs: t, slots: n }) {
|
|
1985
|
-
let i = p(!1);
|
|
1986
|
-
return () => {
|
|
1987
|
-
let { class:
|
|
2280
|
+
let i = p(!1), a;
|
|
2281
|
+
return d(() => clearTimeout(a)), () => {
|
|
2282
|
+
let { class: o, style: s, onClick: l, ...u } = t;
|
|
1988
2283
|
return r("button", c({
|
|
1989
2284
|
onClick: (t) => {
|
|
1990
|
-
!e.isLoading && !e.disabled && typeof
|
|
2285
|
+
!e.isLoading && !e.disabled && typeof l == "function" && (i.value = !0, clearTimeout(a), a = setTimeout(() => i.value = !1, 300), l(t));
|
|
1991
2286
|
},
|
|
1992
2287
|
disabled: e.disabled,
|
|
1993
|
-
class:
|
|
2288
|
+
class: v(z["elm-button"], !e.isLoading && !e.disabled && z.enable, e.color && z.colored, !e.color && !e.primary && z.normal, !e.color && e.primary && z.primary, o),
|
|
1994
2289
|
style: [{
|
|
1995
2290
|
display: e.block ? "flex" : "inline-flex",
|
|
1996
2291
|
width: e.block ? "100%" : "auto",
|
|
1997
2292
|
cursor: e.disabled ? "not-allowed" : e.isLoading ? "progress" : "pointer",
|
|
1998
2293
|
"--elmethis-scoped-opacity": e.disabled || e.isLoading ? .6 : void 0,
|
|
1999
2294
|
"--elmethis-scoped-color": e.color
|
|
2000
|
-
},
|
|
2001
|
-
},
|
|
2295
|
+
}, s]
|
|
2296
|
+
}, u), [i.value && r("span", { class: z.ripple }, null), e.isLoading ? r(jr, { size: "1.5rem" }, null) : r("span", { class: z.flex }, [n.default?.()])]);
|
|
2002
2297
|
};
|
|
2003
2298
|
}
|
|
2004
2299
|
}), B = {
|
|
@@ -2011,7 +2306,7 @@ var sr = {
|
|
|
2011
2306
|
"loading-dot": "_loading-dot_18dfs_39",
|
|
2012
2307
|
"check-line": "_check-line_18dfs_54",
|
|
2013
2308
|
"elmethis-checkbox-check-line": "_elmethis-checkbox-check-line_18dfs_1"
|
|
2014
|
-
},
|
|
2309
|
+
}, Pr = /* @__PURE__ */ i({
|
|
2015
2310
|
name: "ElmCheckbox",
|
|
2016
2311
|
inheritAttrs: !1,
|
|
2017
2312
|
props: {
|
|
@@ -2038,7 +2333,7 @@ var sr = {
|
|
|
2038
2333
|
},
|
|
2039
2334
|
emits: ["update:checked"],
|
|
2040
2335
|
setup(e, { attrs: t, emit: n }) {
|
|
2041
|
-
let i =
|
|
2336
|
+
let i = qt({
|
|
2042
2337
|
props: e,
|
|
2043
2338
|
key: "checked",
|
|
2044
2339
|
emit: n,
|
|
@@ -2047,7 +2342,7 @@ var sr = {
|
|
|
2047
2342
|
return () => {
|
|
2048
2343
|
let { class: n, ...a } = t;
|
|
2049
2344
|
return r("div", c({
|
|
2050
|
-
class:
|
|
2345
|
+
class: v(B["elm-checkbox"], e.disabled && B.disabled, n),
|
|
2051
2346
|
onClick: () => {
|
|
2052
2347
|
!e.isLoading && !e.disabled && (i.value = !i.value);
|
|
2053
2348
|
}
|
|
@@ -2107,7 +2402,7 @@ var sr = {
|
|
|
2107
2402
|
y: "4",
|
|
2108
2403
|
width: "16",
|
|
2109
2404
|
height: "16",
|
|
2110
|
-
class:
|
|
2405
|
+
class: v(B.rect, i.value && B.checked, e.isLoading && B.loading),
|
|
2111
2406
|
"stroke-width": "0.8"
|
|
2112
2407
|
}, null),
|
|
2113
2408
|
i.value && r("polyline", {
|
|
@@ -2190,10 +2485,10 @@ var sr = {
|
|
|
2190
2485
|
};
|
|
2191
2486
|
//#endregion
|
|
2192
2487
|
//#region src/components/form/elm-select.tsx
|
|
2193
|
-
function
|
|
2488
|
+
function Fr(e) {
|
|
2194
2489
|
return typeof e == "function" || Object.prototype.toString.call(e) === "[object Object]" && !s(e);
|
|
2195
2490
|
}
|
|
2196
|
-
var
|
|
2491
|
+
var Ir = /* @__PURE__ */ i({
|
|
2197
2492
|
name: "ElmSelect",
|
|
2198
2493
|
props: {
|
|
2199
2494
|
label: {
|
|
@@ -2227,7 +2522,7 @@ var br = /* @__PURE__ */ i({
|
|
|
2227
2522
|
},
|
|
2228
2523
|
emits: ["update:selectedOptionId"],
|
|
2229
2524
|
setup(e, { emit: t, slots: n }) {
|
|
2230
|
-
let i =
|
|
2525
|
+
let i = we(e, "selectedOptionId", t, {
|
|
2231
2526
|
passive: !0,
|
|
2232
2527
|
defaultValue: e.defaultSelectedOptionId ?? null
|
|
2233
2528
|
}), a = p(!1), o = p(null), s = (e) => {
|
|
@@ -2241,28 +2536,28 @@ var br = /* @__PURE__ */ i({
|
|
|
2241
2536
|
let t, s = e.options.find((e) => e.id === i.value) ?? null;
|
|
2242
2537
|
return r("div", {
|
|
2243
2538
|
ref: o,
|
|
2244
|
-
class:
|
|
2539
|
+
class: v(V["elm-select"], a.value && V.active, (e.disabled || e.isLoading) && V.disabled),
|
|
2245
2540
|
onClick: c
|
|
2246
|
-
}, [r("span", { class:
|
|
2541
|
+
}, [r("span", { class: v(V.label, a.value && V["label-active"]) }, [n.icon?.() ?? r(A, {
|
|
2247
2542
|
d: Ae,
|
|
2248
2543
|
size: "0.75rem"
|
|
2249
2544
|
}, null), e.label]), r("div", { class: V.body }, [
|
|
2250
|
-
r("div", { class:
|
|
2251
|
-
r(
|
|
2252
|
-
d:
|
|
2545
|
+
r("div", { class: v(V["selected-option"], x.text) }, [s ? r("div", { class: V["option-content"] }, [s.icon && r(C, { src: s.icon }, null), r(w, null, { default: () => [s.label] })]) : r("div", { class: V.fallback }, [r("span", null, [e.placeholder ?? "Select an option"])])]),
|
|
2546
|
+
r(A, {
|
|
2547
|
+
d: Ze,
|
|
2253
2548
|
size: "1.5rem"
|
|
2254
2549
|
}, null),
|
|
2255
|
-
r(
|
|
2550
|
+
r(Kt, {
|
|
2256
2551
|
isOpen: a.value,
|
|
2257
2552
|
class: V.pulldown
|
|
2258
|
-
},
|
|
2553
|
+
}, Fr(t = e.options.map((e) => r("div", {
|
|
2259
2554
|
key: e.id,
|
|
2260
|
-
class:
|
|
2555
|
+
class: v(V.option, x.text),
|
|
2261
2556
|
onClick: (t) => {
|
|
2262
2557
|
t.stopPropagation(), i.value = e.id, a.value = !1;
|
|
2263
2558
|
}
|
|
2264
2559
|
}, [
|
|
2265
|
-
r(
|
|
2560
|
+
r(A, {
|
|
2266
2561
|
d: Ne,
|
|
2267
2562
|
color: "var(--elmethis-color-primary-weak)",
|
|
2268
2563
|
size: "0.75em"
|
|
@@ -2279,7 +2574,7 @@ var br = /* @__PURE__ */ i({
|
|
|
2279
2574
|
checked: "_checked_9s4vz_21",
|
|
2280
2575
|
disabled: "_disabled_9s4vz_26",
|
|
2281
2576
|
circle: "_circle_9s4vz_31"
|
|
2282
|
-
},
|
|
2577
|
+
}, Lr = /* @__PURE__ */ i({
|
|
2283
2578
|
name: "ElmSwitch",
|
|
2284
2579
|
props: {
|
|
2285
2580
|
color: {
|
|
@@ -2316,7 +2611,7 @@ var br = /* @__PURE__ */ i({
|
|
|
2316
2611
|
type: "checkbox",
|
|
2317
2612
|
checked: e.checked,
|
|
2318
2613
|
disabled: e.disabled
|
|
2319
|
-
}, null), r("div", { class:
|
|
2614
|
+
}, null), r("div", { class: v(H.bar, e.checked && H.checked, e.disabled && H.disabled) }, [r("div", { class: v(H.circle, e.checked && H.checked, e.disabled && H.disabled) }, null)])]);
|
|
2320
2615
|
}
|
|
2321
2616
|
}), U = {
|
|
2322
2617
|
loading: "_loading_lgmx3_23",
|
|
@@ -2328,7 +2623,7 @@ var br = /* @__PURE__ */ i({
|
|
|
2328
2623
|
requierd: "_requierd_lgmx3_90",
|
|
2329
2624
|
body: "_body_lgmx3_96",
|
|
2330
2625
|
textarea: "_textarea_lgmx3_101"
|
|
2331
|
-
},
|
|
2626
|
+
}, Rr = /* @__PURE__ */ i({
|
|
2332
2627
|
name: "ElmTextArea",
|
|
2333
2628
|
inheritAttrs: !1,
|
|
2334
2629
|
props: {
|
|
@@ -2375,12 +2670,12 @@ var br = /* @__PURE__ */ i({
|
|
|
2375
2670
|
return () => {
|
|
2376
2671
|
let { class: t, style: p, onFocus: m, onBlur: h, ...g } = i;
|
|
2377
2672
|
return r("label", {
|
|
2378
|
-
class:
|
|
2673
|
+
class: v(U["elm-text-area"], s.value && U.active, (e.disabled || e.isLoading) && U.disabled, t),
|
|
2379
2674
|
style: p
|
|
2380
2675
|
}, [
|
|
2381
|
-
r("span", { class:
|
|
2382
|
-
o.icon?.() ?? r(
|
|
2383
|
-
d:
|
|
2676
|
+
r("span", { class: v(U.header, s.value && U["label-active"]) }, [
|
|
2677
|
+
o.icon?.() ?? r(A, {
|
|
2678
|
+
d: ot,
|
|
2384
2679
|
size: "0.75rem"
|
|
2385
2680
|
}, null),
|
|
2386
2681
|
r("span", null, [e.label, e.required && r("span", { class: U.requierd }, [n("*")])]),
|
|
@@ -2429,7 +2724,7 @@ var br = /* @__PURE__ */ i({
|
|
|
2429
2724
|
"right-icon-box": "_right-icon-box_11box_121",
|
|
2430
2725
|
"clickable-icon": "_clickable-icon_11box_126",
|
|
2431
2726
|
"prefix-suffix": "_prefix-suffix_11box_142"
|
|
2432
|
-
},
|
|
2727
|
+
}, zr = /* @__PURE__ */ i({
|
|
2433
2728
|
name: "ElmTextField",
|
|
2434
2729
|
inheritAttrs: !1,
|
|
2435
2730
|
props: {
|
|
@@ -2483,12 +2778,12 @@ var br = /* @__PURE__ */ i({
|
|
|
2483
2778
|
return () => {
|
|
2484
2779
|
let { class: d, style: f, onFocus: p, onBlur: m, ...h } = t, g = e.value == null ? 0 : String(e.value).length;
|
|
2485
2780
|
return r("label", {
|
|
2486
|
-
class:
|
|
2781
|
+
class: v(W["elm-text-field"], s.value && W.active, (e.disabled || e.isLoading) && W.disabled, d),
|
|
2487
2782
|
style: f
|
|
2488
2783
|
}, [
|
|
2489
|
-
r("span", { class:
|
|
2490
|
-
a.icon?.() ?? r(
|
|
2491
|
-
d:
|
|
2784
|
+
r("span", { class: v(W.header, s.value && W["label-active"]) }, [
|
|
2785
|
+
a.icon?.() ?? r(A, {
|
|
2786
|
+
d: at,
|
|
2492
2787
|
size: "0.75rem"
|
|
2493
2788
|
}, null),
|
|
2494
2789
|
r("span", null, [e.label, e.required && r("span", { class: W.requierd }, [n("*")])]),
|
|
@@ -2525,7 +2820,7 @@ var br = /* @__PURE__ */ i({
|
|
|
2525
2820
|
onClick: () => {
|
|
2526
2821
|
!e.isLoading && !e.disabled && (l.value = l.value === "text" ? "password" : "text");
|
|
2527
2822
|
}
|
|
2528
|
-
}, [r(
|
|
2823
|
+
}, [r(A, {
|
|
2529
2824
|
d: l.value === "text" ? ze : Re,
|
|
2530
2825
|
size: "1.25rem",
|
|
2531
2826
|
color: "gray"
|
|
@@ -2535,8 +2830,8 @@ var br = /* @__PURE__ */ i({
|
|
|
2535
2830
|
onClick: () => {
|
|
2536
2831
|
!e.isLoading && !e.disabled && u("");
|
|
2537
2832
|
}
|
|
2538
|
-
}, [r(
|
|
2539
|
-
d:
|
|
2833
|
+
}, [r(A, {
|
|
2834
|
+
d: st,
|
|
2540
2835
|
size: "1.25rem",
|
|
2541
2836
|
color: "gray"
|
|
2542
2837
|
}, null)])
|
|
@@ -2549,7 +2844,7 @@ var br = /* @__PURE__ */ i({
|
|
|
2549
2844
|
]);
|
|
2550
2845
|
};
|
|
2551
2846
|
}
|
|
2552
|
-
}),
|
|
2847
|
+
}), Br = { "elm-validation": "_elm-validation_1cigg_1" }, Vr = /* @__PURE__ */ i({
|
|
2553
2848
|
name: "ElmValidation",
|
|
2554
2849
|
props: {
|
|
2555
2850
|
text: {
|
|
@@ -2567,14 +2862,14 @@ var br = /* @__PURE__ */ i({
|
|
|
2567
2862
|
},
|
|
2568
2863
|
setup(e) {
|
|
2569
2864
|
return () => r("div", {
|
|
2570
|
-
class:
|
|
2865
|
+
class: v(Br["elm-validation"]),
|
|
2571
2866
|
style: { "--elmethis-scoped-opacity": e.isValid ? 1 : .5 }
|
|
2572
|
-
}, [r(
|
|
2867
|
+
}, [r(A, {
|
|
2573
2868
|
d: e.isValid ? je : Me,
|
|
2574
2869
|
color: e.isValid ? e.validColor : void 0
|
|
2575
2870
|
}, null), r(w, { color: e.isValid ? e.validColor : void 0 }, { default: () => [e.text] })]);
|
|
2576
2871
|
}
|
|
2577
|
-
}),
|
|
2872
|
+
}), Hr = /* @__PURE__ */ i({
|
|
2578
2873
|
name: "ElmCopyIcon",
|
|
2579
2874
|
inheritAttrs: !1,
|
|
2580
2875
|
props: { content: {
|
|
@@ -2582,18 +2877,18 @@ var br = /* @__PURE__ */ i({
|
|
|
2582
2877
|
required: !0
|
|
2583
2878
|
} },
|
|
2584
2879
|
setup(e, { attrs: t }) {
|
|
2585
|
-
let { CopyButton: n } =
|
|
2880
|
+
let { CopyButton: n } = Bn({
|
|
2586
2881
|
class: t.class,
|
|
2587
2882
|
style: t.style,
|
|
2588
2883
|
content: e.content
|
|
2589
2884
|
});
|
|
2590
2885
|
return () => a(n);
|
|
2591
2886
|
}
|
|
2592
|
-
}),
|
|
2887
|
+
}), Ur = {
|
|
2593
2888
|
"elm-square-loading-icon": "_elm-square-loading-icon_m72nq_19",
|
|
2594
2889
|
square: "_square_m72nq_28",
|
|
2595
2890
|
appear: "_appear_m72nq_1"
|
|
2596
|
-
},
|
|
2891
|
+
}, Wr = /* @__PURE__ */ i({
|
|
2597
2892
|
name: "ElmSquareLoadingIcon",
|
|
2598
2893
|
inheritAttrs: !1,
|
|
2599
2894
|
props: {
|
|
@@ -2611,11 +2906,11 @@ var br = /* @__PURE__ */ i({
|
|
|
2611
2906
|
let { class: n, style: i, ...a } = t, o = 1200, s = o / (e.dimensions * 3), l = [];
|
|
2612
2907
|
for (let t = 0; t < e.dimensions; t++) for (let n = 0; n < e.dimensions; n++) l.push(r("span", {
|
|
2613
2908
|
key: `${t}-${n}`,
|
|
2614
|
-
class:
|
|
2909
|
+
class: Ur.square,
|
|
2615
2910
|
style: { "--elmethis-scoped-delay": `${s * (t + n)}ms` }
|
|
2616
2911
|
}, null));
|
|
2617
2912
|
return r("span", c({
|
|
2618
|
-
class:
|
|
2913
|
+
class: v(Ur["elm-square-loading-icon"], n),
|
|
2619
2914
|
style: [{
|
|
2620
2915
|
"--elmethis-scoped-size": e.size,
|
|
2621
2916
|
"--elmethis-scoped-dimensions": e.dimensions,
|
|
@@ -2624,33 +2919,33 @@ var br = /* @__PURE__ */ i({
|
|
|
2624
2919
|
}, a), [l]);
|
|
2625
2920
|
};
|
|
2626
2921
|
}
|
|
2627
|
-
}), G = "elmethis-theme",
|
|
2922
|
+
}), G = "elmethis-theme", Gr = "elmethis-theme-change", Kr = (e) => e === "dark" ? "dark" : e === "light" ? "light" : null, qr = () => typeof matchMedia < "u" && matchMedia("(prefers-color-scheme: dark)").matches, Jr = (e, t) => {
|
|
2628
2923
|
let n = document.documentElement;
|
|
2629
|
-
e == null ? (n.style.removeProperty("color-scheme"), n.removeAttribute("data-theme"), t && typeof localStorage < "u" && localStorage.removeItem(G)) : (n.style.colorScheme = e, n.setAttribute("data-theme", e), t && typeof localStorage < "u" && localStorage.setItem(G, e)), window.dispatchEvent(new CustomEvent(
|
|
2630
|
-
},
|
|
2924
|
+
e == null ? (n.style.removeProperty("color-scheme"), n.removeAttribute("data-theme"), t && typeof localStorage < "u" && localStorage.removeItem(G)) : (n.style.colorScheme = e, n.setAttribute("data-theme", e), t && typeof localStorage < "u" && localStorage.setItem(G, e)), window.dispatchEvent(new CustomEvent(Gr, { detail: e }));
|
|
2925
|
+
}, Yr = () => {
|
|
2631
2926
|
if (typeof window > "u") return !1;
|
|
2632
|
-
let e =
|
|
2633
|
-
return e == null ?
|
|
2927
|
+
let e = Kr(localStorage.getItem(G));
|
|
2928
|
+
return e == null ? qr() : e === "dark";
|
|
2634
2929
|
};
|
|
2635
|
-
function
|
|
2636
|
-
let e = p(
|
|
2637
|
-
e.value = !e.value,
|
|
2930
|
+
function Xr() {
|
|
2931
|
+
let e = p(Yr()), t = () => {
|
|
2932
|
+
e.value = !e.value, Jr(e.value ? "dark" : "light", !0);
|
|
2638
2933
|
}, n = (t) => {
|
|
2639
2934
|
let n = t.detail;
|
|
2640
|
-
e.value = n == null ?
|
|
2935
|
+
e.value = n == null ? qr() : n === "dark";
|
|
2641
2936
|
}, r = (t) => {
|
|
2642
2937
|
if (t.key !== G) return;
|
|
2643
|
-
let n =
|
|
2644
|
-
e.value = n == null ?
|
|
2938
|
+
let n = Kr(t.newValue);
|
|
2939
|
+
e.value = n == null ? qr() : n === "dark", Jr(n, !1);
|
|
2645
2940
|
}, i, a = (t) => {
|
|
2646
|
-
|
|
2941
|
+
Kr(localStorage.getItem(G)) ?? (e.value = t.matches);
|
|
2647
2942
|
};
|
|
2648
2943
|
return u(() => {
|
|
2649
|
-
window.addEventListener(
|
|
2650
|
-
let e =
|
|
2651
|
-
e != null &&
|
|
2944
|
+
window.addEventListener(Gr, n), window.addEventListener("storage", r);
|
|
2945
|
+
let e = Kr(localStorage.getItem(G));
|
|
2946
|
+
e != null && Jr(e, !1), typeof matchMedia < "u" && (i = matchMedia("(prefers-color-scheme: dark)"), i.addEventListener("change", a));
|
|
2652
2947
|
}), l(() => {
|
|
2653
|
-
window.removeEventListener(
|
|
2948
|
+
window.removeEventListener(Gr, n), window.removeEventListener("storage", r), i?.removeEventListener("change", a);
|
|
2654
2949
|
}), {
|
|
2655
2950
|
isDarkTheme: e,
|
|
2656
2951
|
toggleTheme: t
|
|
@@ -2658,20 +2953,20 @@ function Pr() {
|
|
|
2658
2953
|
}
|
|
2659
2954
|
//#endregion
|
|
2660
2955
|
//#region src/components/icon/elm-toggle-theme.module.css
|
|
2661
|
-
var
|
|
2956
|
+
var Zr = { "elm-toggle-theme": "_elm-toggle-theme_11awq_1" }, Qr = /* @__PURE__ */ i({
|
|
2662
2957
|
name: "ElmToggleTheme",
|
|
2663
2958
|
props: { size: {
|
|
2664
2959
|
type: [String, Number],
|
|
2665
2960
|
default: "2rem"
|
|
2666
2961
|
} },
|
|
2667
2962
|
setup(e) {
|
|
2668
|
-
let { isDarkTheme: t, toggleTheme: n } =
|
|
2963
|
+
let { isDarkTheme: t, toggleTheme: n } = Xr();
|
|
2669
2964
|
return () => t.value ? r("svg", {
|
|
2670
2965
|
xmlns: "http://www.w3.org/2000/svg",
|
|
2671
2966
|
width: e.size,
|
|
2672
2967
|
height: e.size,
|
|
2673
2968
|
viewBox: "0 0 24 24",
|
|
2674
|
-
class:
|
|
2969
|
+
class: v(Zr["elm-toggle-theme"]),
|
|
2675
2970
|
onClick: n
|
|
2676
2971
|
}, [
|
|
2677
2972
|
r("path", {
|
|
@@ -2883,7 +3178,7 @@ var Fr = { "elm-toggle-theme": "_elm-toggle-theme_11awq_1" }, Ir = /* @__PURE__
|
|
|
2883
3178
|
width: e.size,
|
|
2884
3179
|
height: e.size,
|
|
2885
3180
|
viewBox: "0 0 24 24",
|
|
2886
|
-
class:
|
|
3181
|
+
class: v(Zr["elm-toggle-theme"]),
|
|
2887
3182
|
onClick: n
|
|
2888
3183
|
}, [
|
|
2889
3184
|
r("g", {
|
|
@@ -3055,31 +3350,31 @@ var Fr = { "elm-toggle-theme": "_elm-toggle-theme_11awq_1" }, Ir = /* @__PURE__
|
|
|
3055
3350
|
}, null)])
|
|
3056
3351
|
]);
|
|
3057
3352
|
}
|
|
3058
|
-
}),
|
|
3353
|
+
}), $r = {
|
|
3059
3354
|
"elm-breadcrumb": "_elm-breadcrumb_13oke_1",
|
|
3060
3355
|
"link-container": "_link-container_13oke_9",
|
|
3061
3356
|
icon: "_icon_13oke_23",
|
|
3062
3357
|
chunk: "_chunk_13oke_36",
|
|
3063
3358
|
chevron: "_chevron_13oke_41"
|
|
3064
|
-
},
|
|
3359
|
+
}, ei = /* @__PURE__ */ i({
|
|
3065
3360
|
name: "ElmBreadcrumb",
|
|
3066
3361
|
props: { links: {
|
|
3067
3362
|
type: Array,
|
|
3068
3363
|
required: !0
|
|
3069
3364
|
} },
|
|
3070
3365
|
setup(e) {
|
|
3071
|
-
return () => r("nav", { class:
|
|
3366
|
+
return () => r("nav", { class: v($r["elm-breadcrumb"]) }, [e.links.map((t, n) => r("span", {
|
|
3072
3367
|
key: n,
|
|
3073
3368
|
style: { display: "contents" }
|
|
3074
3369
|
}, [r("span", {
|
|
3075
|
-
class:
|
|
3370
|
+
class: $r["link-container"],
|
|
3076
3371
|
onClick: t.onClick
|
|
3077
|
-
}, [r(
|
|
3078
|
-
class:
|
|
3079
|
-
d: n === 0 ?
|
|
3372
|
+
}, [r(A, {
|
|
3373
|
+
class: $r.icon,
|
|
3374
|
+
d: n === 0 ? qe : n === e.links.length - 1 ? ke : He,
|
|
3080
3375
|
size: "1rem"
|
|
3081
|
-
}, null), r("span", { class:
|
|
3082
|
-
class:
|
|
3376
|
+
}, null), r("span", { class: $r.chunk }, [t.text])]), e.links.length !== n + 1 && r(A, {
|
|
3377
|
+
class: $r.chevron,
|
|
3083
3378
|
d: Ne,
|
|
3084
3379
|
size: "1rem"
|
|
3085
3380
|
}, null)]))]);
|
|
@@ -3090,7 +3385,7 @@ var Fr = { "elm-toggle-theme": "_elm-toggle-theme_11awq_1" }, Ir = /* @__PURE__
|
|
|
3090
3385
|
visible: "_visible_18d6m_30",
|
|
3091
3386
|
partial: "_partial_18d6m_37",
|
|
3092
3387
|
text: "_text_18d6m_74"
|
|
3093
|
-
},
|
|
3388
|
+
}, ti = /* @__PURE__ */ i({
|
|
3094
3389
|
name: "ElmPageTop",
|
|
3095
3390
|
props: { position: {
|
|
3096
3391
|
type: String,
|
|
@@ -3110,7 +3405,7 @@ var Fr = { "elm-toggle-theme": "_elm-toggle-theme_11awq_1" }, Ir = /* @__PURE__
|
|
|
3110
3405
|
});
|
|
3111
3406
|
};
|
|
3112
3407
|
return () => r("nav", {
|
|
3113
|
-
class:
|
|
3408
|
+
class: v(K["elm-page-top"], t.value && K.visible),
|
|
3114
3409
|
style: {
|
|
3115
3410
|
"--elmethis-scoped-size": "64px",
|
|
3116
3411
|
left: e.position === "left" ? "0" : "auto",
|
|
@@ -3144,7 +3439,7 @@ var Fr = { "elm-toggle-theme": "_elm-toggle-theme_11awq_1" }, Ir = /* @__PURE__
|
|
|
3144
3439
|
swatch: "_swatch_vuro0_52",
|
|
3145
3440
|
"swatch-name": "_swatch-name_vuro0_55",
|
|
3146
3441
|
"swatch-bg": "_swatch-bg_vuro0_60"
|
|
3147
|
-
},
|
|
3442
|
+
}, ni = (e) => {
|
|
3148
3443
|
let t = e.match(/\d+(\.\d+)?/g);
|
|
3149
3444
|
if (!t || t.length < 3) return null;
|
|
3150
3445
|
let n = (e) => Math.round(Number(e)).toString(16).padStart(2, "0");
|
|
@@ -3153,7 +3448,7 @@ var Fr = { "elm-toggle-theme": "_elm-toggle-theme_11awq_1" }, Ir = /* @__PURE__
|
|
|
3153
3448
|
100,
|
|
3154
3449
|
500,
|
|
3155
3450
|
900
|
|
3156
|
-
],
|
|
3451
|
+
], ri = [
|
|
3157
3452
|
100,
|
|
3158
3453
|
200,
|
|
3159
3454
|
300,
|
|
@@ -3163,7 +3458,7 @@ var Fr = { "elm-toggle-theme": "_elm-toggle-theme_11awq_1" }, Ir = /* @__PURE__
|
|
|
3163
3458
|
700,
|
|
3164
3459
|
800,
|
|
3165
3460
|
900
|
|
3166
|
-
],
|
|
3461
|
+
], ii = [
|
|
3167
3462
|
{
|
|
3168
3463
|
hue: "red",
|
|
3169
3464
|
steps: J
|
|
@@ -3198,13 +3493,13 @@ var Fr = { "elm-toggle-theme": "_elm-toggle-theme_11awq_1" }, Ir = /* @__PURE__
|
|
|
3198
3493
|
},
|
|
3199
3494
|
{
|
|
3200
3495
|
hue: "slate",
|
|
3201
|
-
steps:
|
|
3496
|
+
steps: ri
|
|
3202
3497
|
},
|
|
3203
3498
|
{
|
|
3204
3499
|
hue: "gold",
|
|
3205
|
-
steps:
|
|
3500
|
+
steps: ri
|
|
3206
3501
|
}
|
|
3207
|
-
],
|
|
3502
|
+
], ai = /* @__PURE__ */ i({
|
|
3208
3503
|
name: "ElmColorPrimitiveSample",
|
|
3209
3504
|
setup() {
|
|
3210
3505
|
let e = p(null), t = p("variable"), i;
|
|
@@ -3218,7 +3513,7 @@ var Fr = { "elm-toggle-theme": "_elm-toggle-theme_11awq_1" }, Ir = /* @__PURE__
|
|
|
3218
3513
|
if (t.value === "hex") {
|
|
3219
3514
|
let e = r.closest("[data-theme]") ?? document.documentElement, t = document.createElement("span");
|
|
3220
3515
|
t.style.color = `var(${a})`, t.style.display = "none", e.appendChild(t);
|
|
3221
|
-
let n =
|
|
3516
|
+
let n = ni(window.getComputedStyle(t).color);
|
|
3222
3517
|
t.remove(), n && (o = n);
|
|
3223
3518
|
}
|
|
3224
3519
|
await window.navigator.clipboard.writeText(o), i !== void 0 && clearTimeout(i), e.value = a, i = setTimeout(() => {
|
|
@@ -3226,7 +3521,7 @@ var Fr = { "elm-toggle-theme": "_elm-toggle-theme_11awq_1" }, Ir = /* @__PURE__
|
|
|
3226
3521
|
}, 1500);
|
|
3227
3522
|
};
|
|
3228
3523
|
return () => r("div", {
|
|
3229
|
-
class:
|
|
3524
|
+
class: v(q["elm-color-primitive-sample"]),
|
|
3230
3525
|
onClick: (e) => {
|
|
3231
3526
|
a(e);
|
|
3232
3527
|
}
|
|
@@ -3237,14 +3532,14 @@ var Fr = { "elm-toggle-theme": "_elm-toggle-theme_11awq_1" }, Ir = /* @__PURE__
|
|
|
3237
3532
|
t.value = t.value === "variable" ? "hex" : "variable";
|
|
3238
3533
|
}
|
|
3239
3534
|
}, [
|
|
3240
|
-
r(
|
|
3535
|
+
r(A, {
|
|
3241
3536
|
class: q["mode-toggle-icon"],
|
|
3242
|
-
d: t.value === "hex" ?
|
|
3537
|
+
d: t.value === "hex" ? Ke : Ue,
|
|
3243
3538
|
size: "1.25rem"
|
|
3244
3539
|
}, null),
|
|
3245
3540
|
n("Copy: "),
|
|
3246
3541
|
t.value === "hex" ? "hex value" : "variable name"
|
|
3247
|
-
])]),
|
|
3542
|
+
])]), ii.map(({ hue: t, steps: n }) => r("div", {
|
|
3248
3543
|
key: t,
|
|
3249
3544
|
class: q.group
|
|
3250
3545
|
}, [r("span", { class: q["section-title"] }, [t]), r("div", { class: q.scale }, [n.map((n) => {
|
|
@@ -3280,16 +3575,16 @@ var Fr = { "elm-toggle-theme": "_elm-toggle-theme_11awq_1" }, Ir = /* @__PURE__
|
|
|
3280
3575
|
"color-sample": "_color-sample_6i1j1_112",
|
|
3281
3576
|
"color-sample-bg": "_color-sample-bg_6i1j1_121",
|
|
3282
3577
|
"color-sample-name": "_color-sample-name_6i1j1_127"
|
|
3283
|
-
},
|
|
3578
|
+
}, oi = (e) => {
|
|
3284
3579
|
let t = e.match(/\d+(\.\d+)?/g);
|
|
3285
3580
|
if (!t || t.length < 3) return null;
|
|
3286
3581
|
let n = (e) => Math.round(Number(e)).toString(16).padStart(2, "0");
|
|
3287
3582
|
return `#${n(t[0])}${n(t[1])}${n(t[2])}`;
|
|
3288
|
-
},
|
|
3583
|
+
}, si = [
|
|
3289
3584
|
"--elmethis-color-surface-sunken",
|
|
3290
3585
|
"--elmethis-color-surface-base",
|
|
3291
3586
|
"--elmethis-color-surface-raised"
|
|
3292
|
-
],
|
|
3587
|
+
], ci = [
|
|
3293
3588
|
"--elmethis-color-neutral-weak",
|
|
3294
3589
|
"--elmethis-color-neutral",
|
|
3295
3590
|
"--elmethis-color-neutral-strong",
|
|
@@ -3298,15 +3593,15 @@ var Fr = { "elm-toggle-theme": "_elm-toggle-theme_11awq_1" }, Ir = /* @__PURE__
|
|
|
3298
3593
|
"--elmethis-color-primary-strong",
|
|
3299
3594
|
"--elmethis-color-accent-link",
|
|
3300
3595
|
"--elmethis-color-accent-link-visited"
|
|
3301
|
-
],
|
|
3596
|
+
], li = [
|
|
3302
3597
|
"--elmethis-color-neutral-weak",
|
|
3303
3598
|
"--elmethis-color-neutral",
|
|
3304
3599
|
"--elmethis-color-neutral-strong"
|
|
3305
|
-
],
|
|
3600
|
+
], ui = [
|
|
3306
3601
|
"--elmethis-color-primary-weak",
|
|
3307
3602
|
"--elmethis-color-primary",
|
|
3308
3603
|
"--elmethis-color-primary-strong"
|
|
3309
|
-
],
|
|
3604
|
+
], di = [
|
|
3310
3605
|
{
|
|
3311
3606
|
fg: "--elmethis-color-accent-info",
|
|
3312
3607
|
surface: "--elmethis-color-accent-info-surface"
|
|
@@ -3327,7 +3622,7 @@ var Fr = { "elm-toggle-theme": "_elm-toggle-theme_11awq_1" }, Ir = /* @__PURE__
|
|
|
3327
3622
|
fg: "--elmethis-color-accent-error",
|
|
3328
3623
|
surface: "--elmethis-color-accent-error-surface"
|
|
3329
3624
|
}
|
|
3330
|
-
],
|
|
3625
|
+
], fi = [
|
|
3331
3626
|
"red",
|
|
3332
3627
|
"orange",
|
|
3333
3628
|
"yellow",
|
|
@@ -3338,7 +3633,7 @@ var Fr = { "elm-toggle-theme": "_elm-toggle-theme_11awq_1" }, Ir = /* @__PURE__
|
|
|
3338
3633
|
].map((e) => ({
|
|
3339
3634
|
fg: `--elmethis-color-display-${e}`,
|
|
3340
3635
|
surface: `--elmethis-color-display-${e}-surface`
|
|
3341
|
-
})),
|
|
3636
|
+
})), pi = /* @__PURE__ */ i({
|
|
3342
3637
|
name: "ElmColorSemanticSample",
|
|
3343
3638
|
setup() {
|
|
3344
3639
|
let e = p(null), t = p("variable"), i;
|
|
@@ -3352,7 +3647,7 @@ var Fr = { "elm-toggle-theme": "_elm-toggle-theme_11awq_1" }, Ir = /* @__PURE__
|
|
|
3352
3647
|
if (t.value === "hex") {
|
|
3353
3648
|
let e = r.closest("[data-theme]") ?? document.documentElement, t = document.createElement("span");
|
|
3354
3649
|
t.style.color = `var(${a})`, t.style.display = "none", e.appendChild(t);
|
|
3355
|
-
let n =
|
|
3650
|
+
let n = oi(window.getComputedStyle(t).color);
|
|
3356
3651
|
t.remove(), n && (o = n);
|
|
3357
3652
|
}
|
|
3358
3653
|
await window.navigator.clipboard.writeText(o), i !== void 0 && clearTimeout(i), e.value = a, i = setTimeout(() => {
|
|
@@ -3376,19 +3671,19 @@ var Fr = { "elm-toggle-theme": "_elm-toggle-theme_11awq_1" }, Ir = /* @__PURE__
|
|
|
3376
3671
|
class: Y.header,
|
|
3377
3672
|
style: { backgroundColor: "var(--elmethis-color-surface-sunken)" }
|
|
3378
3673
|
}, [r("span", { "data-copy-token": "--elmethis-color-surface-sunken" }, [o("--elmethis-color-surface-sunken")])]), r("div", { class: Y.body }, [
|
|
3379
|
-
r("div", { class: Y.group }, [r("span", { class: Y["section-title"] }, [n("Surface")]),
|
|
3674
|
+
r("div", { class: Y.group }, [r("span", { class: Y["section-title"] }, [n("Surface")]), si.map((e) => r("div", {
|
|
3380
3675
|
key: e,
|
|
3381
3676
|
class: Y.surface,
|
|
3382
3677
|
style: { backgroundColor: `var(${e})` },
|
|
3383
3678
|
"data-copy-token": e
|
|
3384
3679
|
}, [o(e)]))]),
|
|
3385
|
-
r("div", { class: Y.group }, [r("span", { class: Y["section-title"] }, [n("Foreground")]),
|
|
3680
|
+
r("div", { class: Y.group }, [r("span", { class: Y["section-title"] }, [n("Foreground")]), ci.map((e) => r("span", {
|
|
3386
3681
|
key: e,
|
|
3387
3682
|
class: Y.foreground,
|
|
3388
3683
|
style: { color: `var(${e})` },
|
|
3389
3684
|
"data-copy-token": e
|
|
3390
3685
|
}, [o(e)]))]),
|
|
3391
|
-
r("div", { class: Y.group }, [r("span", { class: Y["section-title"] }, [n("Accent")]),
|
|
3686
|
+
r("div", { class: Y.group }, [r("span", { class: Y["section-title"] }, [n("Accent")]), di.map(({ fg: e, surface: t }) => r("div", {
|
|
3392
3687
|
key: e,
|
|
3393
3688
|
class: Y["accent-pair"],
|
|
3394
3689
|
style: {
|
|
@@ -3396,9 +3691,9 @@ var Fr = { "elm-toggle-theme": "_elm-toggle-theme_11awq_1" }, Ir = /* @__PURE__
|
|
|
3396
3691
|
backgroundColor: `var(${t})`
|
|
3397
3692
|
}
|
|
3398
3693
|
}, [r("span", { "data-copy-token": e }, [o(e)]), r("span", { "data-copy-token": t }, [o(t)])]))]),
|
|
3399
|
-
r("div", { class: Y.group }, [r("span", { class: Y["section-title"] }, [n("Neutral")]), s(
|
|
3400
|
-
r("div", { class: Y.group }, [r("span", { class: Y["section-title"] }, [n("Primary")]), s(
|
|
3401
|
-
r("div", { class: Y.group }, [r("span", { class: Y["section-title"] }, [n("Display")]),
|
|
3694
|
+
r("div", { class: Y.group }, [r("span", { class: Y["section-title"] }, [n("Neutral")]), s(li)]),
|
|
3695
|
+
r("div", { class: Y.group }, [r("span", { class: Y["section-title"] }, [n("Primary")]), s(ui)]),
|
|
3696
|
+
r("div", { class: Y.group }, [r("span", { class: Y["section-title"] }, [n("Display")]), fi.map(({ fg: e, surface: t }) => r("div", {
|
|
3402
3697
|
key: e,
|
|
3403
3698
|
class: Y["accent-pair"],
|
|
3404
3699
|
style: {
|
|
@@ -3407,16 +3702,16 @@ var Fr = { "elm-toggle-theme": "_elm-toggle-theme_11awq_1" }, Ir = /* @__PURE__
|
|
|
3407
3702
|
}
|
|
3408
3703
|
}, [r("span", { "data-copy-token": e }, [o(e)]), r("span", { "data-copy-token": t }, [o(t)])]))])
|
|
3409
3704
|
])])]);
|
|
3410
|
-
return () => r("div", { class:
|
|
3705
|
+
return () => r("div", { class: v(Y["elm-color-semantic-sample"]) }, [r("div", { class: Y.toolbar }, [r("button", {
|
|
3411
3706
|
type: "button",
|
|
3412
3707
|
class: Y["mode-toggle"],
|
|
3413
3708
|
onClick: () => {
|
|
3414
3709
|
t.value = t.value === "variable" ? "hex" : "variable";
|
|
3415
3710
|
}
|
|
3416
3711
|
}, [
|
|
3417
|
-
r(
|
|
3712
|
+
r(A, {
|
|
3418
3713
|
class: Y["mode-toggle-icon"],
|
|
3419
|
-
d: t.value === "hex" ?
|
|
3714
|
+
d: t.value === "hex" ? Ke : Ue,
|
|
3420
3715
|
size: "1.25rem"
|
|
3421
3716
|
}, null),
|
|
3422
3717
|
n("Copy: "),
|
|
@@ -3428,7 +3723,7 @@ var Fr = { "elm-toggle-theme": "_elm-toggle-theme_11awq_1" }, Ir = /* @__PURE__
|
|
|
3428
3723
|
}
|
|
3429
3724
|
}, [c("light"), c("dark")])]);
|
|
3430
3725
|
}
|
|
3431
|
-
}),
|
|
3726
|
+
}), mi = { "elm-markdown": "_elm-markdown_14gxe_1" };
|
|
3432
3727
|
//#endregion
|
|
3433
3728
|
//#region src/components/others/elm-markdown.tsx
|
|
3434
3729
|
function X(e) {
|
|
@@ -3442,14 +3737,14 @@ var Z = (e) => {
|
|
|
3442
3737
|
case "blockquote":
|
|
3443
3738
|
if (c.tokens && c.tokens.length !== 0) {
|
|
3444
3739
|
let e;
|
|
3445
|
-
o.push(r(
|
|
3740
|
+
o.push(r(rr, { key: s }, X(e = Z(c.tokens)) ? e : { default: () => [e] }));
|
|
3446
3741
|
}
|
|
3447
3742
|
break;
|
|
3448
3743
|
case "br":
|
|
3449
3744
|
o.push(r("br", { key: s }, null));
|
|
3450
3745
|
break;
|
|
3451
3746
|
case "code":
|
|
3452
|
-
o.push(r(
|
|
3747
|
+
o.push(r(Vn, {
|
|
3453
3748
|
key: s,
|
|
3454
3749
|
code: c.text.trim(),
|
|
3455
3750
|
language: c.lang
|
|
@@ -3485,11 +3780,11 @@ var Z = (e) => {
|
|
|
3485
3780
|
let e = c.depth;
|
|
3486
3781
|
if (c.tokens && c.tokens.length !== 0) {
|
|
3487
3782
|
let t;
|
|
3488
|
-
o.push(r(
|
|
3783
|
+
o.push(r(S, {
|
|
3489
3784
|
key: s,
|
|
3490
3785
|
level: e
|
|
3491
3786
|
}, X(t = Z(c.tokens)) ? t : { default: () => [t] }));
|
|
3492
|
-
} else o.push(r(
|
|
3787
|
+
} else o.push(r(S, {
|
|
3493
3788
|
key: s,
|
|
3494
3789
|
level: e,
|
|
3495
3790
|
text: c.text
|
|
@@ -3497,11 +3792,11 @@ var Z = (e) => {
|
|
|
3497
3792
|
break;
|
|
3498
3793
|
}
|
|
3499
3794
|
case "hr":
|
|
3500
|
-
o.push(r(
|
|
3795
|
+
o.push(r(sr, { key: s }, null));
|
|
3501
3796
|
break;
|
|
3502
3797
|
case "html": break;
|
|
3503
3798
|
case "image":
|
|
3504
|
-
o.push(r(
|
|
3799
|
+
o.push(r(Xn, {
|
|
3505
3800
|
key: s,
|
|
3506
3801
|
enableModal: !0,
|
|
3507
3802
|
src: c.href,
|
|
@@ -3519,7 +3814,7 @@ var Z = (e) => {
|
|
|
3519
3814
|
break;
|
|
3520
3815
|
case "list": {
|
|
3521
3816
|
let e = c.items.map((e, t) => r("li", { key: t }, [Z(e.tokens)]));
|
|
3522
|
-
o.push(r(
|
|
3817
|
+
o.push(r(lr, {
|
|
3523
3818
|
key: s,
|
|
3524
3819
|
listStyle: c.ordered ? "ordered" : "unordered"
|
|
3525
3820
|
}, X(e) ? e : { default: () => [e] }));
|
|
@@ -3529,7 +3824,7 @@ var Z = (e) => {
|
|
|
3529
3824
|
o.push(r("li", { key: s }, [c.tokens && c.tokens.length !== 0 ? Z(c.tokens) : c.text]));
|
|
3530
3825
|
break;
|
|
3531
3826
|
case "paragraph":
|
|
3532
|
-
o.push(r(
|
|
3827
|
+
o.push(r(cn, { key: s }, { default: () => [c.tokens && c.tokens.length !== 0 ? Z(c.tokens) : c.text] }));
|
|
3533
3828
|
break;
|
|
3534
3829
|
case "space": break;
|
|
3535
3830
|
case "strong":
|
|
@@ -3544,12 +3839,12 @@ var Z = (e) => {
|
|
|
3544
3839
|
case "table": {
|
|
3545
3840
|
let e, t = (e) => e.map((e, t) => {
|
|
3546
3841
|
let n;
|
|
3547
|
-
return r(
|
|
3548
|
-
}), n = r(
|
|
3842
|
+
return r(hr, { key: t }, X(n = Z(e.tokens)) ? n : { default: () => [n] });
|
|
3843
|
+
}), n = r(yr, null, X(e = t(c.header)) ? e : { default: () => [e] }), i = c.rows.map((e, n) => {
|
|
3549
3844
|
let i;
|
|
3550
|
-
return r(
|
|
3845
|
+
return r(yr, { key: n }, X(i = t(e)) ? i : { default: () => [i] });
|
|
3551
3846
|
});
|
|
3552
|
-
o.push(r(
|
|
3847
|
+
o.push(r(fr, { key: s }, { default: () => [r(_r, null, X(n) ? n : { default: () => [n] }), r(pr, null, X(i) ? i : { default: () => [i] })] }));
|
|
3553
3848
|
break;
|
|
3554
3849
|
}
|
|
3555
3850
|
case "text":
|
|
@@ -3559,7 +3854,7 @@ var Z = (e) => {
|
|
|
3559
3854
|
}
|
|
3560
3855
|
}
|
|
3561
3856
|
return o;
|
|
3562
|
-
},
|
|
3857
|
+
}, hi = /* @__PURE__ */ i({
|
|
3563
3858
|
name: "ElmMarkdownStable",
|
|
3564
3859
|
props: { tokens: {
|
|
3565
3860
|
type: Array,
|
|
@@ -3568,7 +3863,7 @@ var Z = (e) => {
|
|
|
3568
3863
|
setup(e) {
|
|
3569
3864
|
return () => Z(e.tokens);
|
|
3570
3865
|
}
|
|
3571
|
-
}),
|
|
3866
|
+
}), gi = /* @__PURE__ */ i({
|
|
3572
3867
|
name: "ElmMarkdown",
|
|
3573
3868
|
props: {
|
|
3574
3869
|
markdown: {
|
|
@@ -3583,12 +3878,12 @@ var Z = (e) => {
|
|
|
3583
3878
|
setup(e) {
|
|
3584
3879
|
let t = m([]), n = m([]);
|
|
3585
3880
|
return g(() => e.markdown, (r) => {
|
|
3586
|
-
let i =
|
|
3881
|
+
let i = Gt.setOptions({ gfm: !0 }).lexer(r);
|
|
3587
3882
|
if (e.isStreaming && i.length > 0) {
|
|
3588
3883
|
let e = i.slice(0, -1);
|
|
3589
3884
|
e.length !== t.value.length && (t.value = e), n.value = i.slice(-1);
|
|
3590
3885
|
} else t.value = i, n.value = [];
|
|
3591
|
-
}, { immediate: !0 }), () => r("div", { class:
|
|
3886
|
+
}, { immediate: !0 }), () => r("div", { class: mi["elm-markdown"] }, [r(hi, { tokens: t.value }, null), Z(n.value)]);
|
|
3592
3887
|
}
|
|
3593
3888
|
}), Q = {
|
|
3594
3889
|
"elm-wordle": "_elm-wordle_1llms_1",
|
|
@@ -3611,14 +3906,14 @@ var Z = (e) => {
|
|
|
3611
3906
|
"reset-container": "_reset-container_1llms_156",
|
|
3612
3907
|
hidden: "_hidden_1llms_159",
|
|
3613
3908
|
"reset-button": "_reset-button_1llms_164"
|
|
3614
|
-
}, ti = /* @__PURE__ */ "which.there.their.about.would.these.other.words.could.write.first.water.after.where.right.think.three.years.place.sound.great.again.still.every.small.found.those.never.under.might.while.house.world.below.asked.going.large.until.along.shall.being.often.earth.began.since.study.night.light.above.paper.parts.young.story.point.times.heard.whole.white.given.means.music.miles.thing.today.later.using.money.lines.order.group.among.learn.known.space.table.early.trees.short.hands.state.black.shown.stood.front.voice.kinds.makes.comes.close.power.lived.vowel.taken.built.heart.ready.quite.class.bring.round.horse.shows.piece.green.stand.birds.start.river.tried.least.field.whose.girls.leave.added.color.third.hours.moved.plant.doing.names.forms.heavy.ideas.cried.check.floor.begin.woman.alone.plane.spell.watch.carry.wrote.clear.named.books.child.glass.human.takes.party.build.seems.blood.sides.seven.mouth.solve.north.value.death.maybe.happy.tells.gives.looks.shape.lives.steps.areas.sense.speak.force.ocean.speed.women.metal.south.grass.scale.cells.lower.sleep.wrong.pages.ships.needs.rocks.eight.major.level.total.ahead.reach.stars.store.sight.terms.catch.works.board.cover.songs.equal.stone.waves.guess.dance.spoke.break.cause.radio.weeks.lands.basic.liked.trade.fresh.final.fight.meant.drive.spent.local.waxes.knows.train.bread.homes.teeth.coast.thick.brown.clean.quiet.sugar.facts.steel.forth.rules.notes.units.peace.month.verbs.seeds.helps.sharp.visit.woods.chief.walls.cross.wings.grown.cases.foods.crops.fruit.stick.wants.stage.sheep.nouns.plain.drink.bones.apart.turns.moves.touch.angle.based.range.marks.tired.older.farms.spend.shoes.goods.chair.twice.cents.empty.alike.style.broke.pairs.count.enjoy.score.shore.roots.paint.heads.shook.serve.angry.crowd.wheel.quick.dress.share.alive.noise.solid.cloth.signs.hills.types.drawn.worth.truck.piano.upper.loved.usual.faces.drove.cabin.boats.towns.proud.court.model.prime.fifty.plans.yards.prove.tools.price.sheet.smell.boxes.raise.match.truth.roads.threw.enemy.lunch.chart.scene.graph.doubt.guide.winds.block.grain.smoke.mixed.games.wagon.sweet.topic.extra.plate.title.knife.fence.falls.cloud.wheat.plays.enter.broad.steam.atoms.press.lying.basis.clock.taste.grows.thank.storm.agree.brain.track.smile.funny.beach.stock.hurry.saved.sorry.giant.trail.offer.ought.rough.daily.avoid.keeps.throw.allow.cream.laugh.edges.teach.frame.bells.dream.magic.occur.ended.chord.false.skill.holes.dozen.brave.apple.climb.outer.pitch.ruler.holds.fixed.costs.calls.blank.staff.labor.eaten.youth.tones.honor.globe.gases.doors.poles.loose.apply.tears.exact.brush.chest.layer.whale.minor.faith.tests.judge.items.worry.waste.hoped.strip.begun.aside.lakes.bound.depth.candy.event.worse.aware.shell.rooms.ranch.image.snake.aloud.dried.likes.motor.pound.knees.refer.fully.chain.shirt.flour.drops.spite.orbit.banks.shoot.curve.tribe.tight.blind.slept.shade.claim.flies.theme.queen.fifth.union.hence.straw.entry.issue.birth.feels.anger.brief.rhyme.glory.guard.flows.flesh.owned.trick.yours.sizes.noted.width.burst.route.lungs.uncle.bears.royal.kings.forty.trial.cards.brass.opera.chose.owner.vapor.beats.mouse.tough.wires.meter.tower.finds.inner.stuck.arrow.poems.label.swing.solar.truly.tense.beans.split.rises.weigh.hotel.stems.pride.swung.grade.digit.badly.boots.pilot.sales.swept.lucky.prize.stove.tubes.acres.wound.steep.slide.trunk.error.porch.slave.exist.faced.mines.marry.juice.raced.waved.goose.trust.fewer.favor.mills.views.joint.eager.spots.blend.rings.adult.index.nails.horns.balls.flame.rates.drill.trace.skins.waxed.seats.stuff.ratio.minds.dirty.silly.coins.hello.trips.leads.rifle.hopes.bases.shine.bench.moral.fires.meals.shake.shops.cycle.movie.slope.canoe.teams.folks.fired.bands.thumb.shout.canal.habit.reply.ruled.fever.crust.shelf.walks.midst.crack.print.tales.coach.stiff.flood.verse.awake.rocky.march.fault.swift.faint.civil.ghost.feast.blade.limit.germs.reads.ducks.dairy.worst.gifts.lists.stops.rapid.brick.claws.beads.beast.skirt.cakes.lions.frogs.tries.nerve.grand.armed.treat.honey.moist.legal.penny.crown.shock.taxes.sixty.altar.pulls.sport.drums.talks.dying.dates.drank.blows.lever.wages.proof.drugs.tanks.sings.tails.pause.herds.arose.hated.clues.novel.shame.burnt.races.flash.weary.heels.token.coats.spare.shiny.alarm.dimes.sixth.clerk.mercy.sunny.guest.float.shone.pipes.worms.bills.sweat.suits.smart.upset.rains.sandy.rainy.parks.sadly.fancy.rider.unity.bunch.rolls.crash.craft.newly.gates.hatch.paths.funds.wider.grace.grave.tides.admit.shift.sails.pupil.tiger.angel.cruel.agent.drama.urged.patch.nests.vital.sword.blame.weeds.screw.vocal.bacon.chalk.cargo.crazy.acted.goats.arise.witch.loves.queer.dwell.backs.ropes.shots.merry.phone.cheek.peaks.ideal.beard.eagle.creek.cries.ashes.stall.yield.mayor.opens.input.fleet.tooth.cubic.wives.burns.poets.apron.spear.organ.cliff.stamp.paste.rural.baked.chase.slice.slant.knock.noisy.sorts.stays.wiped.blown.piled.clubs.cheer.widow.twist.tenth.hides.comma.sweep.spoon.stern.crept.maple.deeds.rides.muddy.crime.jelly.ridge.drift.dusty.devil.tempo.humor.sends.steal.tents.waist.roses.reign.noble.cheap.dense.linen.geese.woven.posts.hired.wrath.salad.bowed.tires.shark.belts.grasp.blast.polar.fungi.tends.pearl.loads.jokes.veins.frost.hears.loses.hosts.diver.phase.toads.alert.tasks.seams.coral.focus.naked.puppy.jumps.spoil.quart.macro.fears.flung.spark.vivid.brook.steer.spray.decay.ports.socks.urban.goals.grant.minus.films.tunes.shaft.firms.skies.bride.wreck.flock.stare.hobby.bonds.dared.faded.thief.crude.pants.flute.votes.tonal.radar.wells.skull.hairs.argue.wears.dolls.voted.caves.cared.broom.scent.panel.fairy.olive.bends.prism.lamps.cable.peach.ruins.rally.schwa.lambs.sells.cools.draft.charm.limbs.brake.gazed.cubes.delay.beams.fetch.ranks.array.harsh.camel.vines.picks.naval.purse.rigid.crawl.toast.soils.sauce.basin.ponds.twins.wrist.fluid.pools.brand.stalk.robot.reeds.hoofs.buses.sheer.grief.bloom.dwelt.melts.risen.flags.knelt.fiber.roofs.freed.armor.piles.aimed.algae.twigs.lemon.ditch.drunk.rests.chill.slain.panic.cords.tuned.crisp.ledge.dived.swamp.clung.stole.molds.yarns.liver.gauge.breed.stool.gulls.awoke.gross.diary.rails.belly.trend.flask.stake.fried.draws.actor.handy.bowls.haste.scope.deals.knots.moons.essay.thump.hangs.bliss.dealt.gains.bombs.clown.palms.cones.roast.tidal.bored.chant.acids.dough.camps.swore.lover.hooks.males.cocoa.punch.award.reins.ninth.noses.links.drain.fills.nylon.lunar.pulse.flown.elbow.fatal.sites.moths.meats.foxes.mined.attic.fiery.mount.usage.swear.snowy.rusty.scare.traps.relax.react.valid.robin.cease.gills.prior.safer.polio.loyal.swell.salty.marsh.vague.weave.mound.seals.mules.virus.scout.acute.windy.stout.folds.seize.hilly.joins.pluck.stack.lords.dunes.burro.hawks.trout.feeds.scarf.halls.coals.towel.souls.elect.buggy.pumps.loans.spins.files.oxide.pains.photo.rival.flats.syrup.rodeo.sands.moose.pints.curly.comic.cloak.onion.clams.scrap.didst.couch.codes.fails.ounce.lodge.greet.gypsy.utter.paved.zones.fours.alley.tiles.bless.crest.elder.kills.yeast.erect.bugle.medal.roles.hound.snail.alter.ankle.relay.loops.zeros.bites.modes.debts.realm.glove.rayon.swims.poked.stray.lifts.maker.lumps.graze.dread.barns.docks.masts.pours.wharf.curse.plump.robes.seeks.cedar.curls.jolly.myths.cages.gloom.locks.pedal.beets.crows.anode.slash.creep.rowed.chips.fists.wines.cares.valve.newer.motel.ivory.necks.clamp.barge.blues.alien.frown.strap.crews.shack.gonna.saves.stump.ferry.idols.cooks.juicy.glare.carts.alloy.bulbs.lawns.lasts.fuels.oddly.crane.filed.weird.shawl.slips.troop.bolts.suite.sleek.quilt.tramp.blaze.atlas.odors.scrub.crabs.probe.logic.adobe.exile.rebel.grind.sting.spine.cling.desks.grove.leaps.prose.lofty.agony.snare.tusks.bulls.moods.humid.finer.dimly.plank.china.pines.guilt.sacks.brace.quote.lathe.gaily.fonts.scalp.adopt.foggy.ferns.grams.clump.perch.tumor.teens.crank.fable.hedge.genes.sober.boast.tract.cigar.unite.owing.thigh.haiku.swish.dikes.wedge.booth.eased.frail.cough.tombs.darts.forts.choir.pouch.pinch.hairy.buyer.torch.vigor.waltz.heats.herbs.users.flint.click.madam.bleak.blunt.aided.lacks.masks.waded.risks.nurse.chaos.sewed.cured.ample.lease.steak.sinks.merit.bluff.bathe.gleam.bonus.colts.shear.gland.silky.skate.birch.anvil.sleds.groan.maids.meets.speck.hymns.hints.drown.bosom.slick.quest.coils.spied.snows.stead.snack.plows.blond.tamed.thorn.waits.glued.banjo.tease.arena.bulky.carve.stunt.warms.shady.razor.folly.leafy.notch.fools.otter.pears.flush.genus.ached.fives.flaps.spout.smote.fumes.adapt.cuffs.tasty.stoop.clips.disks.sniff.lanes.brisk.imply.demon.super.furry.raged.growl.texts.hardy.stung.typed.hates.wiser.timid.serum.beaks.rotor.casts.baths.glide.plots.trait.resin.slums.lyric.puffs.decks.brood.mourn.aloft.abuse.whirl.edged.ovary.quack.heaps.slang.await.civic.saint.bevel.sonar.aunts.packs.froze.tonic.corps.swarm.frank.repay.gaunt.wired.niece.cello.needy.chuck.stony.media.surge.hurts.repel.husky.dated.hunts.mists.exert.dries.mates.sworn.baker.spice.oasis.boils.spurs.doves.sneak.paces.colon.siege.strum.drier.cacao.humus.bales.piped.nasty.rinse.boxer.shrub.amuse.tacks.cited.slung.delta.laden.larva.rents.yells.spool.spill.crush.jewel.snaps.stain.kicks.tying.slits.rated.eerie.smash.plums.zebra.earns.bushy.scary.squad.tutor.silks.slabs.bumps.evils.fangs.snout.peril.pivot.yacht.lobby.jeans.grins.viola.liner.comet.scars.chops.raids.eater.slate.skips.soles.misty.urine.knobs.sleet.holly.pests.forks.grill.trays.pails.borne.tenor.wares.carol.woody.canon.wakes.kitty.miner.polls.shaky.nasal.scorn.chess.taxis.crate.shyly.tulip.forge.nymph.budge.lowly.abide.depot.oases.asses.sheds.fudge.pills.rivet.thine.groom.lanky.boost.broth.heave.gravy.beech.timed.quail.inert.gears.chick.hinge.trash.clash.sighs.renew.bough.dwarf.slows.quill.shave.spore.sixes.chunk.madly.paced.braid.fuzzy.motto.spies.slack.mucus.magma.awful.discs.erase.posed.asset.cider.taper.theft.churn.satin.slots.taxed.bully.sloth.shale.tread.raked.curds.manor.aisle.bulge.loins.stair.tapes.leans.bunks.squat.towed.lance.panes.sakes.heirs.caste.dummy.pores.fauna.crook.poise.epoch.risky.warns.fling.berry.grape.flank.drags.squid.pelts.icing.irony.irons.barks.whoop.choke.diets.whips.tally.dozed.twine.kites.bikes.ticks.riots.roars.vault.looms.scold.blink.dandy.pupae.sieve.spike.ducts.lends.pizza.brink.widen.plumb.pagan.feats.bison.soggy.scoop.argon.nudge.skiff.amber.sexes.rouse.salts.hitch.exalt.leash.dined.chute.snort.gusts.melon.cheat.reefs.llama.lasso.debut.quota.oaths.prone.mixes.rafts.dives.stale.inlet.flick.pinto.brows.untie.batch.greed.chore.stirs.blush.onset.barbs.volts.beige.swoop.paddy.laced.shove.jerky.poppy.leaks.fares.dodge.godly.squaw.affix.brute.nicer.undue.snarl.merge.doses.showy.daddy.roost.vases.swirl.petty.colds.curry.cobra.genie.flare.messy.cores.soaks.ripen.whine.amino.plaid.spiny.mowed.baton.peers.vowed.pious.swans.exits.afoot.plugs.idiom.chili.rites.serfs.cleft.berth.grubs.annex.dizzy.hasty.latch.wasps.mirth.baron.plead.aloof.aging.pixel.bared.mummy.hotly.auger.buddy.chaps.badge.stark.fairs.gully.mumps.emery.filly.ovens.drone.gauze.idiot.fussy.annoy.shank.gouge.bleed.elves.roped.unfit.baggy.mower.scant.grabs.fleas.lousy.album.sawed.cooky.murky.infer.burly.waged.dingy.brine.kneel.creak.vanes.smoky.spurt.combs.easel.laces.humps.rumor.aroma.horde.swiss.leapt.opium.slime.afire.pansy.mares.soaps.husks.snips.hazel.lined.cafes.naive.wraps.sized.piers.beset.agile.tongs.steed.fraud.booty.valor.downy.witty.mossy.psalm.scuba.tours.polka.milky.gaudy.shrug.tufts.wilds.laser.truss.hares.creed.lilac.siren.tarry.bribe.swine.muted.flips.cures.sinew.boxed.hoops.gasps.hoods.niche.yucca.glows.sewer.whack.fuses.gowns.droop.bucks.pangs.mails.whisk.haven.clasp.sling.stint.urges.champ.piety.chirp.pleat.posse.sunup.menus.howls.quake.knack.plaza.fiend.caked.bangs.erupt.poker.olden.cramp.voter.poses.manly.slump.fined.grips.gaped.purge.hiked.maize.fluff.strut.sloop.prowl.roach.cocks.bland.dials.plume.slaps.soups.dully.wills.foams.solos.skier.eaves.totem.fused.latex.veils.mused.mains.myrrh.racks.galls.gnats.bouts.sisal.shuts.hoses.dryly.hover.gloss.seeps.denim.putty.guppy.leaky.dusky.filth.oboes.spans.fowls.adorn.glaze.haunt.dares.obeys.bakes.abyss.smelt.gangs.aches.trawl.claps.undid.spicy.hoist.fades.vicar.acorn.pussy.gruff.musty.tarts.snuff.hunch.truce.tweed.dryer.loser.sheaf.moles.lapse.tawny.vexed.autos.wager.domes.sheen.clang.spade.sowed.broil.slyly.studs.grunt.donor.slugs.aspen.homer.croak.tithe.halts.avert.havoc.hogan.glint.ruddy.jeeps.flaky.ladle.taunt.snore.fines.props.prune.pesos.radii.pokes.tiled.daisy.heron.villa.farce.binds.cites.fixes.jerks.livid.waked.inked.booms.chews.licks.hyena.scoff.lusty.sonic.smith.usher.tucks.vigil.molts.sects.spars.dumps.scaly.wisps.sores.mince.panda.flier.axles.plied.booby.patio.rabbi.petal.polyp.tints.grate.troll.tolls.relic.phony.bleat.flaws.flake.snags.aptly.drawl.ulcer.soapy.bossy.monks.crags.caged.twang.diner.taped.cadet.grids.spawn.guile.noose.mores.girth.slimy.aides.spasm.burrs.alibi.lymph.saucy.muggy.liter.joked.goofy.exams.enact.stork.lured.toxic.omens.nears.covet.wrung.forum.venom.moody.alder.sassy.flair.guild.prays.wrens.hauls.stave.tilts.pecks.stomp.gales.tempt.capes.mesas.omits.tepee.harry.wring.evoke.limes.cluck.lunge.highs.canes.giddy.lithe.verge.khaki.queue.loath.foyer.outdo.fared.deter.crumb.astir.spire.jumpy.extol.buoys.stubs.lucid.thong.afore.whiff.maxim.hulls.clogs.slats.jiffy.arbor.cinch.igloo.goody.gazes.dowel.calms.bitch.scowl.gulps.coded.waver.mason.lobes.ebony.flail.isles.clods.dazed.adept.oozed.sedan.clays.warts.ketch.skunk.manes.adore.sneer.mango.fiord.flora.roomy.minks.thaws.watts.freer.exult.plush.paled.twain.clink.scamp.pawed.grope.bravo.gable.stink.sever.waned.rarer.regal.wards.fawns.babes.unify.amend.oaken.glade.visor.hefty.nines.throb.pecan.butts.pence.sills.jails.flyer.saber.nomad.miter.beeps.domed.gulfs.curbs.heath.moors.aorta.larks.tangy.wryly.cheep.rages.evade.lures.freak.vogue.tunic.slams.knits.dumpy.mania.spits.firth.hikes.trots.nosed.clank.dogma.bloat.balsa.graft.middy.stile.keyed.finch.sperm.chaff.wiles.amigo.copra.amiss.eying.twirl.lurch.popes.chins.smock.tines.guise.grits.junks.shoal.cache.tapir.atoll.deity.toils.spree.mocks.scans.shorn.revel.raven.hoary.reels.scuff.mimic.weedy.corny.truer.rouge.ember.floes.torso.wipes.edict.sulky.recur.groin.baste.kinks.surer.piggy.moldy.franc.liars.inept.gusty.facet.jetty.equip.leper.slink.soars.cater.dowry.sided.yearn.decoy.taboo.ovals.heals.pleas.beret.spilt.gayly.rover.endow.pygmy.carat.abbey.vents.waken.chimp.fumed.sodas.vinyl.clout.wades.mites.smirk.bores.bunny.surly.frock.foray.purer.milks.query.mired.blare.froth.gruel.navel.paler.puffy.casks.grime.derby.mamma.gavel.teddy.vomit.moans.allot.defer.wield.viper.louse.erred.hewed.abhor.wrest.waxen.adage.ardor.stabs.pored.rondo.loped.fishy.bible.hires.foals.feuds.jambs.thuds.jeers.knead.quirk.rugby.expel.greys.rigor.ester.lyres.aback.glues.lotus.lurid.rungs.hutch.thyme.valet.tommy.yokes.epics.trill.pikes.ozone.caper.chime.frees.famed.leech.smite.neigh.erode.robed.hoard.salve.conic.gawky.craze.jacks.gloat.mushy.rumps.fetus.wince.pinks.shalt.toots.glens.cooed.rusts.stews.shred.parka.chugs.winks.clots.shrew.booed.filmy.juror.dents.gummy.grays.hooky.butte.dogie.poled.reams.fifes.spank.gayer.tepid.spook.taint.flirt.rogue.spiky.opals.miser.cocky.coyly.balmy.slosh.brawl.aphid.faked.hydra.brags.chide.yanks.allay.video.altos.eases.meted.chasm.longs.excel.taffy.impel.savor.koala.quays.dawns.proxy.clove.duets.dregs.tardy.briar.grimy.ultra.meaty.halve.wails.suede.mauve.envoy.arson.coves.gooey.brews.sofas.chums.amaze.zooms.abbot.halos.scour.suing.cribs.sagas.enema.wordy.harps.coupe.molar.flops.weeps.mints.ashen.felts.askew.munch.mewed.divan.vices.jumbo.blobs.blots.spunk.acrid.topaz.cubed.clans.flees.slurs.gnaws.welds.fords.emits.agate.pumas.mends.darks.dukes.plies.canny.hoots.oozes.lamed.fouls.clefs.nicks.mated.skims.brunt.tuber.tinge.fates.ditty.thins.frets.eider.bayou.mulch.fasts.amass.damps.morns.friar.palsy.vista.croon.conch.udder.tacos.skits.mikes.quits.preen.aster.adder.elegy.pulpy.scows.baled.hovel.lavas.crave.optic.welts.busts.knave.razed.shins.totes.scoot.dears.crock.mutes.trims.skein.doted.shuns.veers.fakes.yoked.wooed.hacks.sprig.wands.lulls.seers.snobs.nooks.pined.perky.mooed.frill.dines.booze.tripe.prong.drips.odder.levee.antic.sidle.pithy.corks.yelps.joker.fleck.buffs.scram.tiers.bogey.doled.irate.vales.coped.hails.elude.bulks.aired.vying.stags.strew.cocci.pacts.scabs.silos.dusts.yodel.terse.jaded.baser.jibes.foils.sways.forgo.slays.preys.treks.quell.peeks.assay.lurks.eject.boars.trite.belch.gnash.wanes.lutes.whims.dosed.chewy.snipe.umbra.teems.dozes.kelps.upped.brawn.doped.shush.rinds.slush.moron.voile.woken.fjord.sheik.jests.kayak.slews.toted.saner.drape.patty.raves.sulfa.grist.skied.vixen.civet.vouch.tiara.homey.moped.runts.serge.kinky.rills.corns.brats.pries.amble.fries.loons.tsars.datum.musky.pigmy.gnome.ravel.ovule.icily.liken.lemur.frays.silts.sifts.plods.ramps.tress.earls.dudes.waive.karat.jolts.peons.beers.horny.pales.wreak.lairs.lynch.stank.swoon.idler.abort.blitz.ensue.atone.bingo.roves.kilts.scald.adios.cynic.dulls.memos.elfin.dales.peels.peals.bares.sinus.crone.sable.hinds.shirk.enrol.wilts.roams.duped.cysts.mitts.safes.spats.coops.filet.knell.refit.covey.punks.kilns.fitly.abate.talcs.heeds.duels.wanly.ruffs.gauss.lapel.jaunt.whelp.cleat.gauzy.dirge.edits.wormy.moats.smear.prods.bowel.frisk.vests.bayed.rasps.tames.delve.embed.befit.wafer.ceded.novas.feign.spews.larch.huffs.doles.mamas.hulks.pried.brims.irked.aspic.swipe.mealy.skimp.bluer.slake.dowdy.penis.brays.pupas.egret.flunk.phlox.gripe.peony.douse.blurs.darns.slunk.lefts.chats.inane.vials.stilt.rinks.woofs.wowed.bongs.frond.ingot.evict.singe.shyer.flied.slops.dolts.drool.dells.whelk.hippy.feted.ether.cocos.hives.jibed.mazes.trios.sirup.squab.laths.leers.pasta.rifts.lopes.alias.whirs.diced.slags.lodes.foxed.idled.prows.plait.malts.chafe.cower.toyed.chefs.keels.sties.racer.etude.sucks.sulks.micas.czars.copse.ailed.abler.rabid.golds.croup.snaky.visas.palls.mopes.boned.wispy.raved.swaps.junky.doily.pawns.tamer.poach.baits.damns.gumbo.daunt.prank.hunks.buxom.heres.honks.stows.unbar.idles.routs.sages.goads.remit.copes.deign.culls.girds.haves.lucks.stunk.dodos.shams.snubs.icons.usurp.dooms.hells.soled.comas.paves.maths.perks.limps.wombs.blurb.daubs.cokes.sours.stuns.cased.musts.coeds.cowed.aping.zoned.rummy.fetes.skulk.quaff.rajah.deans.reaps.galas.tills.roved.kudos.toned.pared.scull.vexes.punts.snoop.bails.dames.hazes.lores.marts.voids.ameba.rakes.adzes.harms.rears.satyr.swill.hexes.colic.leeks.hurls.yowls.ivies.plops.musks.papaw.jells.bused.cruet.bided.filch.zests.rooks.laxly.rends.loams.basks.sires.carps.pokey.flits.muses.bawls.shuck.viler.lisps.peeps.sorer.lolls.prude.diked.floss.flogs.scums.dopes.bogie.pinky.leafs.tubas.scads.lowed.yeses.biked.qualm.evens.caned.gawks.whits.wooly.gluts.romps.bests.dunce.crony.joist.tunas.boner.malls.parch.avers.crams.pares.dally.bigot.kales.flays.leach.gushy.pooch.huger.slyer.golfs.mires.flues.loafs.arced.acnes.neons.fiefs.dints.dazes.pouts.cored.yules.lilts.beefs.mutts.fells.cowls.spuds.lames.jawed.dupes.deads.bylaw.noons.nifty.clued.vireo.gapes.metes.cuter.maims.droll.cupid.mauls.sedge.papas.wheys.eking.loots.hilts.meows.beaus.dices.peppy.riper.fogey.gists.yogas.gilts.skews.cedes.zeals.alums.okays.elope.grump.wafts.soots.blimp.hefts.mulls.hosed.cress.doffs.ruder.pixie.waifs.ousts.pucks.biers.gulch.suets.hobos.lints.brans.teals.garbs.pewee.helms.turfs.quips.wends.banes.napes.icier.swats.bagel.hexed.ogres.goner.gilds.pyres.lards.bides.paged.talon.flout.medic.veals.putts.dirks.dotes.tippy.blurt.piths.acing.barer.whets.gaits.wools.dunks.heros.swabs.dirts.jutes.hemps.surfs.okapi.chows.shoos.dusks.parry.decal.furls.cilia.sears.novae.murks.warps.slues.lamer.saris.weans.purrs.dills.togas.newts.meany.bunts.razes.goons.wicks.ruses.vends.geode.drake.judos.lofts.pulps.lauds.mucks.vises.mocha.oiled.roman.ethyl.gotta.fugue.smack.gourd.bumpy.radix.fatty.borax.cubit.cacti.gamma.focal.avail.papal.golly.elite.versa.billy.adieu.annum.howdy.rhino.norms.bobby.axiom.setup.yolks.terns.mixer.genre.knoll.abode.junta.gorge.combo.alpha.overt.kinda.spelt.prick.nobly.ephod.audio.modal.veldt.warty.fluke.bonny.bream.rosin.bolls.doers.downs.beady.motif.humph.fella.mould.crepe.kerns.aloha.glyph.azure.riser.blest.locus.lumpy.beryl.wanna.brier.tuner.rowdy.mural.timer.canst.krill.quoth.lemme.triad.tenon.amply.deeps.padre.leant.pacer.octal.dolly.trans.sumac.foamy.lolly.giver.quipu.codex.manna.unwed.vodka.ferny.salon.duple.boron.revue.crier.alack.inter.dilly.whist.cults.spake.reset.loess.decor.mover.verve.ethic.gamut.lingo.dunno.align.sissy.incur.reedy.avant.piper.waxer.calyx.basil.coons.seine.piney.lemma.trams.winch.whirr.saith.ionic.heady.harem.tummy.sally.shied.dross.farad.saver.tilde.jingo.bower.serif.facto.belle.inset.bogus.caved.forte.sooty.bongo.toves.credo.basal.yella.aglow.glean.gusto.hymen.ethos.terra.brash.scrip.swash.aleph.tinny.itchy.wanta.trice.jowls.gongs.garde.boric.twill.sower.henry.awash.libel.spurn.sabre.rebut.penal.obese.sonny.quirt.mebbe.tacit.greek.xenon.hullo.pique.roger.negro.hadst.gecko.beget.uncut.aloes.louis.quint.clunk.raped.salvo.diode.matey.hertz.xylem.kiosk.apace.cawed.peter.wench.cohos.sorta.gamba.bytes.tango.nutty.axial.aleck.natal.clomp.gored.siree.bandy.gunny.runic.whizz.rupee.fated.wiper.bards.briny.staid.hocks.ochre.yummy.gents.soupy.roper.swath.cameo.edger.spate.gimme.ebbed.breve.theta.deems.dykes.servo.telly.tabby.tares.blocs.welch.ghoul.vitae.cumin.dinky.bronc.tabor.teeny.comer.borer.sired.privy.mammy.deary.gyros.sprit.conga.quire.thugs.furor.bloke.runes.bawdy.cadre.toxin.annul.egged.anion.nodes.picky.stein.jello.audit.echos.fagot.letup.eyrie.fount.caped.axons.amuck.banal.riled.petit.umber.miler.fibre.agave.bated.bilge.vitro.feint.pudgy.mater.manic.umped.pesky.strep.slurp.pylon.puree.caret.temps.newel.yawns.seedy.treed.coups.rangy.brads.mangy.loner.circa.tibia.afoul.mommy.titer.carne.kooky.motes.amity.suave.hippo.curvy.samba.newsy.anise.imams.tulle.aways.liven.hallo.wales.opted.canto.idyll.bodes.curio.wrack.hiker.chive.yokel.dotty.demur.cusps.specs.quads.laity.toner.decry.writs.saute.clack.aught.logos.tipsy.natty.ducal.bidet.bulgy.metre.lusts.unary.goeth.baler.sited.shies.hasps.brung.holed.swank.looky.melee.huffy.loamy.pimps.titan.binge.shunt.femur.libra.seder.honed.annas.coypu.shims.zowie.jihad.savvy.nadir.basso.monic.maned.mousy.omega.laver.prima.picas.folio.mecca.reals.troth.testy.balky.crimp.chink.abets.splat.abaci.vaunt.cutie.pasty.moray.levis.ratty.islet.joust.motet.viral.nukes.grads.comfy.voila.woozy.blued.whomp.sward.metro.skeet.chine.aerie.bowie.tubby.emirs.coati.unzip.slobs.trike.funky.ducat.dewey.skoal.wadis.oomph.taker.minim.getup.stoic.synod.runty.flyby.braze.inlay.venue.louts.peaty.orlon.humpy.radon.beaut.raspy.unfed.crick.nappy.vizor.yipes.rebus.divot.kiwis.vetch.squib.sitar.kiddo.dyers.cotta.matzo.lager.zebus.crass.dacha.kneed.dicta.fakir.knurl.runny.unpin.julep.globs.nudes.sushi.tacky.stoke.kaput.butch.hulas.croft.achoo.genii.nodal.outgo.spiel.viols.fetid.cagey.fudgy.epoxy.leggy.hanky.lapis.felon.beefy.coots.melba.caddy.segue.betel.frizz.drear.kooks.turbo.hoagy.moult.helix.zonal.arias.nosey.paean.lacey.banns.swain.fryer.retch.tenet.gigas.whiny.ogled.rumen.begot.cruse.abuts.riven.balks.sines.sigma.abase.ennui.gores.unset.augur.sated.odium.latin.dings.moire.scion.henna.kraut.dicks.lifer.prigs.bebop.gages.gazer.fanny.gibes.aural.tempi.hooch.rapes.snuck.harts.techs.emend.ninny.guava.scarp.liege.tufty.sepia.tomes.carob.emcee.prams.poser.verso.hubba.joule.baize.blips.scrim.cubby.clave.winos.rearm.liens.lumen.chump.nanny.trump.fichu.chomp.homos.purty.maser.woosh.patsy.shill.rusks.avast.swami.boded.ahhhh.lobed.natch.shish.tansy.snoot.payer.altho.sappy.laxer.hubby.aegis.riles.ditto.jazzy.dingo.quasi.septa.peaky.lorry.heerd.bitty.payee.seamy.apses.imbue.belie.chary.spoof.phyla.clime.babel.wacky.sumps.skids.khans.crypt.inure.nonce.outen.faire.hooey.anole.kazoo.calve.limbo.argot.ducky.faker.vibes.gassy.unlit.nervy.femme.biter.fiche.boors.gaffe.saxes.recap.synch.facie.dicey.ouija.hewer.legit.gurus.edify.tweak.caron.typos.rerun.polly.surds.hamza.nulls.hater.lefty.mogul.mafia.debug.pates.blabs.splay.talus.porno.moola.nixed.kilos.snide.horsy.gesso.jaggy.trove.nixes.creel.pater.iotas.cadge.skyed.hokum.furze.ankhs.curie.nutsy.hilum.remix.angst.burls.jimmy.veiny.tryst.codon.befog.gamed.flume.axman.doozy.lubes.rheas.bozos.butyl.kelly.mynah.jocks.donut.avian.wurst.chock.quash.quals.hayed.bombe.cushy.spacy.puked.leery.thews.prink.amens.tesla.intro.fiver.frump.capos.opine.coder.namer.jowly.pukes.haled.chard.duffs.bruin.reuse.whang.toons.frats.silty.telex.cutup.nisei.neato.decaf.softy.bimbo.adlib.loony.shoed.agues.peeve.noway.gamey.sarge.reran.epact.potty.coned.upend.narco.ikats.whorl.jinks.tizzy.weepy.posit.marge.vegan.clops.numbs.reeks.rubes.rower.biped.tiffs.hocus.hammy.bunco.fixit.tykes.chaws.yucky.hokey.resew.maven.adman.scuzz.slogs.souse.nacho.mimed.melds.boffo.debit.pinup.vagus.gulag.randy.bosun.educe.faxes.auras.pesto.antsy.betas.fizzy.dorky.snits.moxie.thane.mylar.nobby.gamin.gouty.esses.goyim.paned.druid.jades.rehab.gofer.tzars.octet.homed.socko.dorks.eared.anted.elide.fazes.oxbow.dowse.situs.macaw.scone.drily.hyper.salsa.mooch.gated.unjam.lipid.mitre.venal.knish.ritzy.divas.torus.mange.dimer.recut.meson.wined.fends.phage.fiats.caulk.cavil.panty.roans.bilks.hones.botch.estop.sully.sooth.gelds.ahold.raper.pager.fixer.infix.hicks.tuxes.plebe.twits.abash.twixt.wacko.primp.nabla.girts.miffs.emote.xerox.rebid.shahs.rutty.grout.grift.deify.biddy.kopek.semis.bries.acmes.piton.hussy.torts.disco.whore.boozy.gibed.vamps.amour.soppy.gonzo.durst.wader.tutus.perms.catty.glitz.brigs.nerds.barmy.gizmo.owlet.sayer.molls.shard.whops.comps.corer.colas.matte.droid.ploys.vapid.cairn.deism.mixup.yikes.prosy.raker.flubs.whish.reify.craps.shags.clone.hazed.macho.recto.refix.drams.biker.aquas.porky.doyen.exude.goofs.divvy.noels.jived.hulky.cager.harpy.oldie.vivas.admix.codas.zilch.deist.orcas.retro.pilaf.parse.rants.zingy.toddy.chiff.micro.veeps.girly.nexus.demos.bibbs.antes.lulus.gnarl.zippy.ivied.epees.wimps.tromp.grail.yoyos.poufs.hales.roust.cabal.rawer.pampa.mosey.kefir.burgs.unmet.cuspy.boobs.boons.hypes.dynes.nards.lanai.yogis.sepal.quark.toked.prate.ayins.hawed.swigs.vitas.toker.doper.bossa.linty.foist.mondo.stash.kayos.twerp.zesty.capon.wimpy.rewed.fungo.tarot.frosh.kabob.pinko.redid.mimeo.heist.tarps.lamas.sutra.dinar.whams.busty.spays.mambo.nabob.preps.odour.cabby.conks.sluff.dados.houri.swart.balms.gutsy.faxed.egads.pushy.retry.agora.drubs.daffy.chits.mufti.karma.lotto.toffs.burps.deuce.zings.kappa.clads.doggy.duper.scams.ogler.mimes.throe.zetas.waled.promo.blats.muffs.oinks.viand.coset.finks.faddy.minis.snafu.sauna.usury.muxes.craws.stats.condo.coxes.loopy.dorms.ascot.dippy.execs.dopey.envoi.umpty.gismo.fazed.strop.jives.slims.batik.pings.sonly.leggo.pekoe.prawn.luaus.campy.oodle.prexy.proms.touts.ogles.tweet.toady.naiad.hider.nuked.fatso.sluts.obits.narcs.tyros.delis.wooer.hyped.poset.byway.texas.scrod.avows.futon.torte.tuple.carom.kebab.tamps.jilts.duals.artsy.repro.modem.toped.psych.sicko.klutz.tarns.coxed.drays.cloys.anded.piker.aimer.suras.limos.flack.hapax.dutch.mucky.shire.klieg.staph.layup.tokes.axing.toper.duvet.cowry.profs.blahs.addle.sudsy.batty.coifs.suety.gabby.hafta.pitas.gouda.deice.taupe.topes.duchy.nitro.carny.limey.orals.hirer.taxer.roils.ruble.elate.dolor.wryer.snots.quais.coked.gimel.gorse.minas.goest.agape.manta.jings.iliac.admen.offen.cills.offal.lotta.bolas.thwap.alway.boggy.donna.locos.belay.gluey.bitsy.mimsy.hilar.outta.vroom.fetal.raths.renal.dyads.crocs.vires.culpa.kivas.feist.teats.thats.yawls.whens.abaca.ohhhh.aphis.fusty.eclat.perdu.mayst.exeat.molly.supra.wetly.plasm.buffa.semen.pukka.tagua.paras.stoat.secco.carte.haute.molal.shads.forma.ovoid.pions.modus.bueno.rheum.scurf.parer.ephah.doest.sprue.flams.molto.dieth.choos.miked.bronx.goopy.bally.plumy.moony.morts.yourn.bipod.spume.algal.ambit.mucho.spued.dozer.harum.groat.skint.laude.thrum.pappy.oncet.rimed.gigue.limed.plein.redly.humpf.lites.seest.grebe.absit.thanx.pshaw.yawps.plats.payed.areal.tilth.youse.gwine.thees.watsa.lento.spitz.yawed.gipsy.sprat.cornu.amahs.blowy.wahoo.lubra.mecum.whooo.coqui.sabra.edema.mrads.dicot.astro.kited.ouzel.didos.grata.bonne.axmen.klunk.summa.laves.purls.yawny.teary.masse.largo.bazar.pssst.sylph.lulab.toque.fugit.plunk.ortho.lucre.cooch.whipt.folky.tyres.wheee.corky.injun.solon.didot.kerfs.rayed.wassa.chile.begat.nippy.litre.magna.rebox.hydro.milch.brent.gyves.lazed.feued.mavis.inapt.baulk.casus.scrum.wised.fossa.dower.kyrie.bhoys.scuse.feuar.ohmic.juste.ukase.beaux.tusky.orate.musta.lardy.intra.quiff.epsom.neath.ocher.tared.homme.mezzo.corms.psoas.beaky.terry.infra.spivs.tuans.belli.bergs.anima.weirs.mahua.scops.manse.titre.curia.kebob.cycad.talky.fucks.tapis.amide.dolce.sloes.jakes.russe.blash.tutti.pruta.panga.blebs.tench.swarf.herem.missy.merse.pawky.limen.vivre.chert.unsee.tiros.brack.foots.welsh.fosse.knops.ileum.noire.firma.podgy.laird.thunk.shute.rowan.shoji.poesy.uncap.fames.glees.costa.turps.fores.solum.imago.byres.fondu.coney.polis.dictu.kraal.sherd.mumbo.wroth.chars.unbox.vacuo.slued.weest.hades.wiled.syncs.muser.excon.hoars.sibyl.passe.joeys.lotsa.lepta.shays.bocks.endue.darer.nones.ileus.plash.busby.wheal.buffo.yobbo.biles.poxes.rooty.licit.terce.bromo.hayey.dweeb.imbed.saran.bruit.punky.softs.biffs.loppy.agars.aquae.livre.biome.bunds.shews.diems.ginny.degum.polos.desex.unman.dungy.vitam.wedgy.glebe.apers.ridgy.roids.wifey.vapes.whoas.bunko.yolky.ulnas.reeky.bodge.brant.davit.deque.liker.jenny.tacts.fulls.treap.ligne.acked.refry.vower.aargh.churl.momma.gaols.whump.arras.marls.tiler.grogs.memes.midis.tided.haler.duces.twiny.poste.unrig.prise.drabs.quids.facer.spier.baric.geoid.remap.trier.gunks.steno.stoma.airer.ovate.torah.apian.smuts.pocks.yurts.exurb.defog.nuder.bosky.nimbi.mothy.joyed.labia.pards.jammy.bigly.faxer.hoppy.nurbs.cotes.dishy.vised.celeb.pismo.casas.withs.dodgy.scudi.mungs.muons.ureas.ioctl.unhip.krone.sager.verst.expat.gronk.uvula.shawm.bilgy.braes.cento.webby.lippy.gamic.lordy.mazed.tings.shoat.faery.wirer.diazo.carer.rater.greps.rente.zloty.viers.unapt.poops.fecal.kepis.taxon.eyers.wonts.spina.stoae.yenta.pooey.buret.japan.bedew.hafts.selfs.oared.herby.pryer.oakum.dinks.titty.sepoy.penes.fusee.winey.gimps.nihil.rille.giber.ousel.umiak.cuppy.hames.shits.azine.glads.tacet.bumph.coyer.honky.gamer.gooky.waspy.sedgy.bents.varia.djinn.junco.pubic.wilco.lazes.idyls.lupus.rives.snood.schmo.spazz.finis.noter.pavan.orbed.bates.pipet.baddy.goers.shako.stets.sebum.seeth.lobar.raver.ajuga.riced.velds.dribs.ville.dhows.unsew.halma.krona.limby.jiffs.treys.bauds.pffft.mimer.plebs.caner.jiber.cuppa.washy.chuff.unarm.yukky.styes.waker.flaks.maces.rimes.gimpy.guano.liras.kapok.scuds.bwana.oring.aider.prier.klugy.monte.golem.velar.firer.pieta.umbel.campo.unpeg.fovea.abeam.boson.asker.goths.vocab.vined.trows.tikis.loper.indie.boffs.spang.grapy.tater.ichor.kilty.lochs.supes.degas.flics.torsi.beths.weber.resaw.lawny.coven.mujik.relet.therm.heigh.shnor.trued.zayin.liest.barfs.bassi.qophs.roily.flabs.punny.okras.hanks.dipso.nerfs.fauns.calla.pseud.lurer.magus.obeah.atria.twink.palmy.pocky.pends.recta.plonk.slaws.keens.nicad.pones.inker.whews.groks.mosts.trews.ulnar.gyppy.cocas.expos.eruct.oiler.vacua.dreck.dater.arums.tubal.voxel.dixit.beery.assai.lades.actin.ghoti.buzzy.meads.grody.ribby.clews.creme.email.pyxie.kulak.bocci.rived.duddy.hoper.lapin.wonks.petri.phial.fugal.holon.boomy.duomo.musos.shier.hayer.porgy.hived.litho.fisty.stagy.luvya.maria.smogs.asana.yogic.slomo.fawny.amine.wefts.gonad.twirp.brava.plyer.fermi.loges.niter.revet.unate.gyved.totty.zappy.honer.giros.dicer.calks.luxes.monad.cruft.quoin.fumer.amped.shlep.vinca.yahoo.vulva.zooey.dryad.nixie.moper.iambs.lunes.nudie.limns.weals.nohow.miaow.gouts.mynas.mazer.kikes.oxeye.stoup.jujus.debar.pubes.taels.defun.rands.blear.paver.goosy.sprog.oleos.toffy.pawer.maced.crits.kluge.tubed.sahib.ganef.scats.sputa.vaned.acned.taxol.plink.oweth.tribs.resay.boule.thous.haply.glans.maxis.bezel.antis.porks.quoit.alkyd.glary.beamy.hexad.bonks.tecum.kerbs.filar.frier.redux.abuzz.fader.shoer.couth.trues.guyed.goony.booky.fuzes.hurly.genet.hodad.calix.filer.pawls.iodic.utero.henge.unsay.liers.piing.weald.sexed.folic.poxed.cunts.anile.kiths.becks.tatty.plena.rebar.abled.toyer.attar.teaks.aioli.awing.anent.feces.redip.wists.prats.mesne.muter.smurf.owest.bahts.lossy.ftped.hunky.hoers.slier.sicks.fatly.delft.hiver.himbo.pengo.busks.loxes.zonks.ilium.aport.ikons.mulct.reeve.civvy.canna.barfy.kaiak.scudo.knout.gaper.bhang.pease.uteri.lases.paten.rasae.axels.stoas.ombre.styli.gunky.hazer.kenaf.ahoys.ammos.weeny.urger.kudzu.paren.bolos.fetor.nitty.techy.lieth.somas.darky.villi.gluon.janes.cants.farts.socle.jinns.ruing.slily.ricer.hadda.wowee.rices.nerts.cauls.swive.lilty.micks.arity.pasha.finif.oinky.gutty.tetra.wises.wolds.balds.picot.whats.shiki.bungs.snarf.legos.dungs.stogy.berms.tangs.vails.roods.morel.sware.elans.latus.gules.razer.doxie.buena.overs.gutta.zincs.nates.kirks.tikes.donee.jerry.mohel.ceder.doges.unmap.folia.rawly.snark.topoi.ceils.immix.yores.diest.bubba.pomps.forky.turdy.lawzy.poohs.worts.gloms.beano.muley.barky.tunny.auric.funks.gaffs.cordy.curdy.lisle.toric.soyas.reman.mungy.carpy.apish.oaten.gappy.aurae.bract.rooky.axled.burry.sizer.proem.turfy.impro.mashy.miens.nonny.olios.grook.sates.agley.corgi.dashy.doser.dildo.apsos.xored.laker.playa.selah.malty.dulse.frigs.demit.whoso.rials.sawer.spics.bedim.snugs.fanin.azoic.icers.suers.wizen.koine.topos.shirr.rifer.feral.laded.lased.turds.swede.easts.cozen.unhit.pally.aitch.sedum.coper.ruche.geeks.swags.etext.algin.offed.ninja.holer.doter.toter.besot.dicut.macer.peens.pewit.redox.poler.yecch.fluky.doeth.twats.cruds.bebug.bider.stele.hexer.wests.gluer.pilau.abaft.whelm.lacer.inode.tabus.gator.cuing.refly.luted.cukes.bairn.bight.arses.crump.loggy.blini.spoor.toyon.harks.wazoo.fenny.naves.keyer.tufas.morph.rajas.typal.spiff.oxlip.unban.mussy.finny.rimer.login.molas.cirri.huzza.agone.unsex.unwon.peats.toile.zombi.dewed.nooky.alkyl.ixnay.dovey.holey.cuber.amyls.podia.chino.apnea.prims.lycra.johns.primo.fatwa.egger.hempy.snook.hying.fuzed.barms.crink.moots.yerba.rhumb.unarc.direr.munge.eland.nares.wrier.noddy.atilt.jukes.ender.thens.unfix.doggo.zooks.diddy.shmoo.brusk.prest.curer.pasts.kelpy.bocce.kicky.taros.lings.dicky.nerdy.abend.stela.biggy.laved.baldy.pubis.gooks.wonky.stied.hypos.assed.spumy.osier.roble.rumba.biffy.pupal".split("."), ni = /* @__PURE__ */ "aahed.aalii.aargh.aarti.abaca.abaci.abacs.abaft.abaka.abamp.aband.abash.abask.abaya.abbas.abbed.abbes.abcee.abeam.abear.abele.abers.abets.abies.abler.ables.ablet.ablow.abmho.abohm.aboil.aboma.aboon.abord.abore.abram.abray.abrim.abrin.abris.absey.absit.abuna.abune.abuts.abuzz.abyes.abysm.acais.acari.accas.accoy.acerb.acers.aceta.achar.ached.aches.achoo.acids.acidy.acing.acini.ackee.acker.acmes.acmic.acned.acnes.acock.acold.acred.acres.acros.acted.actin.acton.acyls.adaws.adays.adbot.addax.added.adder.addio.addle.adeem.adhan.adieu.adios.adits.adman.admen.admix.adobo.adown.adoze.adrad.adred.adsum.aduki.adunc.adust.advew.adyta.adzed.adzes.aecia.aedes.aegis.aeons.aerie.aeros.aesir.afald.afara.afars.afear.aflaj.afore.afrit.afros.agama.agami.agars.agast.agave.agaze.agene.agers.agger.aggie.aggri.aggro.aggry.aghas.agila.agios.agism.agist.agita.aglee.aglet.agley.agloo.aglus.agmas.agoge.agone.agons.agood.agria.agrin.agros.agued.agues.aguna.aguti.aheap.ahent.ahigh.ahind.ahing.ahint.ahold.ahull.ahuru.aidas.aided.aides.aidoi.aidos.aiery.aigas.aight.ailed.aimed.aimer.ainee.ainga.aioli.aired.airer.airns.airth.airts.aitch.aitus.aiver.aiyee.aizle.ajies.ajiva.ajuga.ajwan.akees.akela.akene.aking.akita.akkas.alaap.alack.alamo.aland.alane.alang.alans.alant.alapa.alaps.alary.alate.alays.albas.albee.alcid.alcos.aldea.alder.aldol.aleck.alecs.alefs.aleft.aleph.alews.aleye.alfas.algal.algas.algid.algin.algor.algum.alias.alifs.aline.alist.aliya.alkie.alkos.alkyd.alkyl.allee.allel.allis.allod.allyl.almah.almas.almeh.almes.almud.almug.alods.aloed.aloes.aloha.aloin.aloos.alowe.altho.altos.alula.alums.alure.alvar.alway.amahs.amain.amate.amaut.amban.ambit.ambos.ambry.ameba.ameer.amene.amens.ament.amias.amice.amici.amide.amido.amids.amies.amiga.amigo.amine.amino.amins.amirs.amlas.amman.ammon.ammos.amnia.amnic.amnio.amoks.amole.amort.amour.amove.amowt.amped.ampul.amrit.amuck.amyls.anana.anata.ancho.ancle.ancon.andro.anear.anele.anent.angas.anglo.anigh.anile.anils.anima.animi.anion.anise.anker.ankhs.ankus.anlas.annal.annas.annat.anoas.anole.anomy.ansae.antae.antar.antas.anted.antes.antis.antra.antre.antsy.anura.anyon.apace.apage.apaid.apayd.apays.apeak.apeek.apers.apert.apery.apgar.aphis.apian.apiol.apish.apism.apode.apods.apoop.aport.appal.appay.appel.appro.appui.appuy.apres.apses.apsis.apsos.apted.apter.aquae.aquas.araba.araks.arame.arars.arbas.arced.archi.arcos.arcus.ardeb.ardri.aread.areae.areal.arear.areas.areca.aredd.arede.arefy.areic.arene.arepa.arere.arete.arets.arett.argal.argan.argil.argle.argol.argon.argot.argus.arhat.arias.ariel.ariki.arils.ariot.arish.arked.arled.arles.armed.armer.armet.armil.arnas.arnut.aroba.aroha.aroid.arpas.arpen.arrah.arras.arret.arris.arroz.arsed.arses.arsey.arsis.artal.artel.artic.artis.aruhe.arums.arval.arvee.arvos.aryls.asana.ascon.ascus.asdic.ashed.ashes.ashet.asked.asker.askoi.askos.aspen.asper.aspic.aspie.aspis.aspro.assai.assam.asses.assez.assot.aster.astir.astun.asura.asway.aswim.asyla.ataps.ataxy.atigi.atilt.atimy.atlas.atman.atmas.atmos.atocs.atoke.atoks.atoms.atomy.atony.atopy.atria.atrip.attap.attar.atuas.audad.auger.aught.aulas.aulic.auloi.aulos.aumil.aunes.aunts.aurae.aural.aurar.auras.aurei.aures.auric.auris.aurum.autos.auxin.avale.avant.avast.avels.avens.avers.avgas.avine.avion.avise.aviso.avize.avows.avyze.awarn.awato.awave.aways.awdls.aweel.aweto.awing.awmry.awned.awner.awols.awork.axels.axile.axils.axing.axite.axled.axles.axman.axmen.axoid.axone.axons.ayahs.ayaya.ayelp.aygre.ayins.ayont.ayres.ayrie.azans.azide.azido.azine.azlon.azoic.azole.azons.azote.azoth.azuki.azurn.azury.azygy.azyme.azyms.baaed.baals.babas.babel.babes.babka.baboo.babul.babus.bacca.bacco.baccy.bacha.bachs.backs.baddy.baels.baffs.baffy.bafts.baghs.bagie.bahts.bahus.bahut.bails.bairn.baisa.baith.baits.baiza.baize.bajan.bajra.bajri.bajus.baked.baken.bakes.bakra.balas.balds.baldy.baled.bales.balks.balky.balls.bally.balms.baloo.balsa.balti.balun.balus.bambi.banak.banco.bancs.banda.bandh.bands.bandy.baned.banes.bangs.bania.banks.banns.bants.bantu.banty.banya.bapus.barbe.barbs.barby.barca.barde.bardo.bards.bardy.bared.barer.bares.barfi.barfs.baric.barks.barky.barms.barmy.barns.barny.barps.barra.barre.barro.barry.barye.basan.based.basen.baser.bases.basho.basij.basks.bason.basse.bassi.basso.bassy.basta.basti.basto.basts.bated.bates.baths.batik.batta.batts.battu.bauds.bauks.baulk.baurs.bavin.bawds.bawks.bawls.bawns.bawrs.bawty.bayed.bayer.bayes.bayle.bayts.bazar.bazoo.beads.beaks.beaky.beals.beams.beamy.beano.beans.beany.beare.bears.beath.beats.beaty.beaus.beaut.beaux.bebop.becap.becke.becks.bedad.bedel.bedes.bedew.bedim.bedye.beedi.beefs.beeps.beers.beery.beets.befog.begad.begar.begem.begot.begum.beige.beigy.beins.bekah.belah.belar.belay.belee.belga.bells.belon.belts.bemad.bemas.bemix.bemud.bends.bendy.benes.benet.benga.benis.benne.benni.benny.bento.bents.benty.bepat.beray.beres.bergs.berko.berks.berme.berms.berob.beryl.besat.besaw.besee.beses.besit.besom.besot.besti.bests.betas.beted.betes.beths.betid.beton.betta.betty.bever.bevor.bevue.bevvy.bewet.bewig.bezes.bezil.bezzy.bhais.bhaji.bhang.bhats.bhels.bhoot.bhuna.bhuts.biach.biali.bialy.bibbs.bibes.biccy.bices.bided.bider.bides.bidet.bidis.bidon.bield.biers.biffo.biffs.biffy.bifid.bigae.biggs.biggy.bigha.bight.bigly.bigos.bijou.biked.biker.bikes.bikie.bilbo.bilby.biled.biles.bilgy.bilks.bills.bimah.bimas.bimbo.binal.bindi.binds.biner.bines.bings.bingy.binit.binks.bints.biogs.biont.biota.biped.bipod.birds.birks.birle.birls.biros.birrs.birse.birsy.bises.bisks.bisom.bitch.biter.bites.bitos.bitou.bitsy.bitte.bitts.bivia.bivvy.bizes.bizzo.bizzy.blabs.blads.blady.blaer.blaes.blaff.blags.blahs.blain.blams.blart.blase.blash.blate.blats.blatt.blaud.blawn.blaws.blays.blear.blebs.blech.blees.blent.blert.blest.blets.bleys.blimy.bling.blini.blins.bliny.blips.blist.blite.blits.blive.blobs.blocs.blogs.blook.bloop.blore.blots.blows.blowy.blubs.blude.bluds.bludy.blued.blues.bluet.bluey.bluid.blume.blunk.blurs.blype.boabs.boaks.boars.boart.boats.bobac.bobak.bobas.bobol.bobos.bocca.bocce.bocci.boche.bocks.boded.bodes.bodge.bodhi.bodle.boeps.boets.boeuf.boffo.boffs.bogan.bogey.boggy.bogie.bogle.bogue.bogus.bohea.bohos.boils.boing.boink.boite.boked.bokeh.bokes.bokos.bolar.bolas.bolds.boles.bolix.bolls.bolos.bolts.bolus.bomas.bombe.bombo.bombs.bonce.bonds.boned.boner.bones.bongs.bonie.bonks.bonne.bonny.bonza.bonze.booai.booay.boobs.boody.booed.boofy.boogy.boohs.books.booky.bools.booms.boomy.boong.boons.boord.boors.boose.boots.boppy.borak.boral.boras.borde.bords.bored.boree.borel.borer.bores.borgo.boric.borks.borms.borna.boron.borts.borty.bortz.bosie.bosks.bosky.boson.bosun.botas.botel.botes.bothy.botte.botts.botty.bouge.bouks.boult.bouns.bourd.bourg.bourn.bouse.bousy.bouts.bovid.bowat.bowed.bower.bowes.bowet.bowie.bowls.bowne.bowrs.bowse.boxed.boxen.boxes.boxla.boxty.boyar.boyau.boyed.boyfs.boygs.boyla.boyos.boysy.bozos.braai.brach.brack.bract.brads.braes.brags.brail.braks.braky.brame.brane.brank.brans.brant.brast.brats.brava.bravi.braws.braxy.brays.braza.braze.bream.brede.breds.breem.breer.brees.breid.breis.breme.brens.brent.brere.brers.breve.brews.breys.brier.bries.brigs.briki.briks.brill.brims.brins.brios.brise.briss.brith.brits.britt.brize.broch.brock.brods.brogh.brogs.brome.bromo.bronc.brond.brool.broos.brose.brosy.brows.brugh.bruin.bruit.brule.brume.brung.brusk.brust.bruts.buats.buaze.bubal.bubas.bubba.bubbe.bubby.bubus.buchu.bucko.bucks.bucku.budas.budis.budos.buffa.buffe.buffi.buffo.buffs.buffy.bufos.bufty.buhls.buhrs.buiks.buist.bukes.bulbs.bulgy.bulks.bulla.bulls.bulse.bumbo.bumfs.bumph.bumps.bumpy.bunas.bunce.bunco.bunde.bundh.bunds.bundt.bundu.bundy.bungs.bungy.bunia.bunje.bunjy.bunko.bunks.bunns.bunts.bunty.bunya.buoys.buppy.buran.buras.burbs.burds.buret.burfi.burgh.burgs.burin.burka.burke.burks.burls.burns.buroo.burps.burqa.burro.burrs.burry.bursa.burse.busby.buses.busks.busky.bussu.busti.busts.busty.buteo.butes.butle.butoh.butts.butty.butut.butyl.buzzy.bwana.bwazi.byded.bydes.byked.bykes.byres.byrls.byssi.bytes.byway.caaed.cabas.caber.cabob.caboc.cabre.cacas.cacks.cacky.cadee.cades.cadge.cadgy.cadie.cadis.cadre.caeca.caese.cafes.caffs.caged.cager.cages.cagot.cahow.caids.cains.caird.cajon.cajun.caked.cakes.cakey.calfs.calid.calif.calix.calks.calla.calls.calms.calmy.calos.calpa.calps.calve.calyx.caman.camas.cames.camis.camos.campi.campo.camps.campy.camus.caned.caneh.caner.canes.cangs.canid.canna.canns.canso.canst.canto.cants.canty.capas.caped.capes.capex.caphs.capiz.caple.capon.capos.capot.capri.capul.carap.carbo.carbs.carby.cardi.cards.cardy.cared.carer.cares.caret.carex.carks.carle.carls.carns.carny.carob.carom.caron.carpi.carps.carrs.carse.carta.carte.carts.carvy.casas.casco.cased.cases.casks.casky.casts.casus.cates.cauda.cauks.cauld.cauls.caums.caups.cauri.causa.cavas.caved.cavel.caver.caves.cavie.cawed.cawks.caxon.ceaze.cebid.cecal.cecum.ceded.ceder.cedes.cedis.ceiba.ceili.ceils.celeb.cella.celli.cells.celom.celts.cense.cento.cents.centu.ceorl.cepes.cerci.cered.ceres.cerge.ceria.ceric.cerne.ceroc.ceros.certs.certy.cesse.cesta.cesti.cetes.cetyl.cezve.chace.chack.chaco.chado.chads.chaft.chais.chals.chams.chana.chang.chank.chape.chaps.chapt.chara.chare.chark.charr.chars.chary.chats.chave.chavs.chawk.chaws.chaya.chays.cheep.chefs.cheka.chela.chelp.chemo.chems.chere.chert.cheth.chevy.chews.chewy.chiao.chias.chibs.chica.chich.chico.chics.chiel.chiks.chile.chimb.chimo.chimp.chine.ching.chink.chino.chins.chips.chirk.chirl.chirm.chiro.chirr.chirt.chiru.chits.chive.chivs.chivy.chizz.choco.chocs.chode.chogs.choil.choko.choky.chola.choli.cholo.chomp.chons.choof.chook.choom.choon.chops.chota.chott.chout.choux.chowk.chows.chubs.chufa.chuff.chugs.chums.churl.churr.chuse.chuts.chyle.chyme.chynd.cibol.cided.cides.ciels.ciggy.cilia.cills.cimar.cimex.cinct.cines.cinqs.cions.cippi.circs.cires.cirls.cirri.cisco.cissy.cists.cital.cited.citer.cites.cives.civet.civie.civvy.clach.clade.clads.claes.clags.clame.clams.clans.claps.clapt.claro.clart.clary.clast.clats.claut.clave.clavi.claws.clays.cleck.cleek.cleep.clefs.clegs.cleik.clems.clepe.clept.cleve.clews.clied.clies.clift.clime.cline.clint.clipe.clips.clipt.clits.cloam.clods.cloff.clogs.cloke.clomb.clomp.clonk.clons.cloop.cloot.clops.clote.clots.clour.clous.clows.cloye.cloys.cloze.clubs.clues.cluey.clunk.clype.cnida.coact.coady.coala.coals.coaly.coapt.coarb.coate.coati.coats.cobbs.cobby.cobia.coble.cobza.cocas.cocci.cocco.cocks.cocky.cocos.codas.codec.coded.coden.coder.codes.codex.codon.coeds.coffs.cogie.cogon.cogue.cohab.cohen.cohoe.cohog.cohos.coifs.coign.coils.coins.coirs.coits.coked.cokes.colas.colby.colds.coled.coles.coley.colic.colin.colls.colly.colog.colts.colza.comae.comal.comas.combe.combi.combo.combs.comby.comer.comes.comix.commo.comms.commy.compo.comps.compt.comte.comus.coned.cones.coney.confs.conga.conge.congo.conia.conin.conks.conky.conne.conns.conte.conto.conus.convo.cooch.cooed.cooee.cooer.cooey.coofs.cooks.cooky.cools.cooly.coomb.cooms.coomy.coons.coops.coopt.coost.coots.cooze.copal.copay.coped.copen.coper.copes.coppy.copra.copsy.coqui.coram.corbe.corby.cords.cored.cores.corey.corgi.coria.corks.corky.corms.corni.corno.corns.cornu.corps.corse.corso.cosec.cosed.coses.coset.cosey.cosie.costa.coste.costs.cotan.coted.cotes.coths.cotta.cotts.coude.coups.courb.courd.coure.cours.couta.couth.coved.coves.covin.cowal.cowan.cowed.cowks.cowls.cowps.cowry.coxae.coxal.coxed.coxes.coxib.coyau.coyed.coyer.coypu.cozed.cozen.cozes.cozey.cozie.craal.crabs.crags.craic.craig.crake.crame.crams.crans.crape.craps.crapy.crare.craws.crays.creds.creel.crees.crems.crena.creps.crepy.crewe.crews.crias.cribs.cries.crims.crine.crios.cripe.crips.crise.crith.crits.croci.crocs.croft.crogs.cromb.crome.cronk.crons.crool.croon.crops.crore.crost.crout.crows.croze.cruck.crudo.cruds.crudy.crues.cruet.cruft.crunk.cruor.crura.cruse.crusy.cruve.crwth.cryer.ctene.cubby.cubeb.cubed.cuber.cubes.cubit.cuddy.cuffo.cuffs.cuifs.cuing.cuish.cuits.cukes.culch.culet.culex.culls.cully.culms.culpa.culti.cults.culty.cumec.cundy.cunei.cunit.cunts.cupel.cupid.cuppa.cuppy.curat.curbs.curch.curds.curdy.cured.curer.cures.curet.curfs.curia.curie.curli.curls.curns.curny.currs.cursi.curst.cusec.cushy.cusks.cusps.cuspy.cusso.cusum.cutch.cuter.cutes.cutey.cutin.cutis.cutto.cutty.cutup.cuvee.cuzes.cwtch.cyano.cyans.cycad.cycas.cyclo.cyder.cylix.cymae.cymar.cymas.cymes.cymol.cysts.cytes.cyton.czars.daals.dabba.daces.dacha.dacks.dadah.dadas.dados.daffs.daffy.dagga.daggy.dagos.dahls.daiko.daine.daint.daker.daled.dales.dalis.dalle.dalts.daman.damar.dames.damme.damns.damps.dampy.dancy.dangs.danio.danks.danny.dants.daraf.darbs.darcy.dared.darer.dares.darga.dargs.daric.daris.darks.darky.darns.darre.darts.darzi.dashi.dashy.datal.dated.dater.dates.datos.datto.daube.daubs.dauby.dauds.dault.daurs.dauts.daven.davit.dawah.dawds.dawed.dawen.dawks.dawns.dawts.dayan.daych.daynt.dazed.dazer.dazes.deads.deair.deals.deans.deare.dearn.dears.deary.deash.deave.deaws.deawy.debag.debby.debel.debes.debts.debud.debur.debus.debye.decad.decaf.decan.decko.decks.decos.dedal.deeds.deedy.deely.deems.deens.deeps.deere.deers.deets.deeve.deevs.defat.deffo.defis.defog.degas.degum.degus.deice.deids.deify.deils.deism.deist.deked.dekes.dekko.deled.deles.delfs.delft.delis.dells.delly.delos.delph.delts.deman.demes.demic.demit.demob.demoi.demos.dempt.denar.denay.dench.denes.denet.denis.dents.deoxy.derat.deray.dered.deres.derig.derma.derms.derns.derny.deros.derro.derry.derth.dervs.desex.deshi.desis.desks.desse.devas.devel.devis.devon.devos.devot.dewan.dewar.dewax.dewed.dexes.dexie.dhaba.dhaks.dhals.dhikr.dhobi.dhole.dholl.dhols.dhoti.dhows.dhuti.diact.dials.diane.diazo.dibbs.diced.dicer.dices.dicht.dicks.dicky.dicot.dicta.dicts.dicty.diddy.didie.didos.didst.diebs.diels.diene.diets.diffs.dight.dikas.diked.diker.dikes.dikey.dildo.dilli.dills.dimbo.dimer.dimes.dimps.dinar.dined.dines.dinge.dings.dinic.dinks.dinky.dinna.dinos.dints.diols.diota.dippy.dipso.diram.direr.dirke.dirks.dirls.dirts.disas.disci.discs.dishy.disks.disme.dital.ditas.dited.dites.ditsy.ditts.ditzy.divan.divas.dived.dives.divis.divna.divos.divot.divvy.diwan.dixie.dixit.diyas.dizen.djinn.djins.doabs.doats.dobby.dobes.dobie.dobla.dobra.dobro.docht.docks.docos.docus.doddy.dodos.doeks.doers.doest.doeth.doffs.dogan.doges.dogey.doggo.doggy.dogie.dohyo.doilt.doily.doits.dojos.dolce.dolci.doled.doles.dolia.dolls.dolma.dolor.dolos.dolts.domal.domed.domes.domic.donah.donas.donee.doner.donga.dongs.donko.donna.donne.donny.donsy.doobs.dooce.doody.dooks.doole.dools.dooly.dooms.doomy.doona.doorn.doors.doozy.dopas.doped.doper.dopes.dorad.dorba.dorbs.doree.dores.doric.doris.dorks.dorky.dorms.dormy.dorps.dorrs.dorsa.dorse.dorts.dorty.dosai.dosas.dosed.doseh.doser.doses.dosha.dotal.doted.doter.dotes.dotty.douar.douce.doucs.douks.doula.douma.doums.doups.doura.douse.douts.doved.doven.dover.doves.dovie.dowar.dowds.dowed.dower.dowie.dowle.dowls.dowly.downa.downs.dowps.dowse.dowts.doxed.doxes.doxie.doyen.doyly.dozed.dozer.dozes.drabs.drack.draco.draff.drags.drail.drams.drant.draps.drats.drave.draws.drays.drear.dreck.dreed.dreer.drees.dregs.dreks.drent.drere.drest.dreys.dribs.drice.dries.drily.drips.dript.droid.droil.droke.drole.drome.drony.droob.droog.drook.drops.dropt.drouk.drows.drubs.drugs.drums.drupe.druse.drusy.druxy.dryad.dryas.dsobo.dsomo.duads.duals.duans.duars.dubbo.ducal.ducat.duces.ducks.ducky.ducts.duddy.duded.dudes.duels.duets.duett.duffs.dufus.duing.duits.dukas.duked.dukes.dukka.dulce.dules.dulia.dulls.dulse.dumas.dumbo.dumbs.dumka.dumky.dumps.dunam.dunch.dunes.dungs.dungy.dunks.dunno.dunny.dunsh.dunts.duomi.duomo.duped.duper.dupes.duple.duply.duppy.dural.duras.dured.dures.durgy.durns.duroc.duros.duroy.durra.durrs.durry.durst.durum.durzi.dusks.dusts.duxes.dwaal.dwale.dwalm.dwams.dwang.dwaum.dweeb.dwile.dwine.dyads.dyers.dyked.dykes.dykey.dykon.dynel.dynes.dzhos.eagre.ealed.eales.eaned.eards.eared.earls.earns.earnt.earst.eased.easer.eases.easle.easts.eathe.eaved.eaves.ebbed.ebbet.ebons.ebook.ecads.eched.eches.echos.ecrus.edema.edged.edger.edges.edile.edits.educe.educt.eejit.eensy.eeven.eevns.effed.egads.egers.egest.eggar.egged.egger.egmas.ehing.eider.eidos.eigne.eiked.eikon.eilds.eisel.ejido.ekkas.elain.eland.elans.elchi.eldin.elemi.elfed.eliad.elint.elmen.eloge.elogy.eloin.elops.elpee.elsin.elute.elvan.elven.elver.elves.emacs.embar.embay.embog.embow.embox.embus.emeer.emend.emerg.emery.emeus.emics.emirs.emits.emmas.emmer.emmet.emmew.emmys.emoji.emong.emote.emove.empts.emule.emure.emyde.emyds.enarm.enate.ended.ender.endew.endue.enews.enfix.eniac.enlit.enmew.ennog.enoki.enols.enorm.enows.enrol.ensew.ensky.entia.enure.enurn.envoi.enzym.eorls.eosin.epact.epees.ephah.ephas.ephod.ephor.epics.epode.epopt.epris.eques.equid.erbia.erevs.ergon.ergos.ergot.erhus.erica.erick.erics.ering.erned.ernes.erose.erred.erses.eruct.erugo.eruvs.erven.ervil.escar.escot.esile.eskar.esker.esnes.esses.estoc.estop.estro.etage.etape.etats.etens.ethal.ethne.ethyl.etics.etnas.ettin.ettle.etuis.etwee.etyma.eughs.euked.eupad.euros.eusol.evens.evert.evets.evhoe.evils.evite.evohe.ewers.ewest.ewhow.ewked.exams.exeat.execs.exeem.exeme.exfil.exies.exine.exing.exits.exode.exome.exons.expat.expos.exude.exuls.exurb.eyass.eyers.eyots.eyras.eyres.eyrie.eyrir.ezine.fabby.faced.facer.faces.facia.facta.facts.faddy.faded.fader.fades.fadge.fados.faena.faery.faffs.faffy.faggy.fagin.fagot.faiks.fails.faine.fains.fairs.faked.faker.fakes.fakey.fakie.fakir.falaj.falls.famed.fames.fanal.fands.fanes.fanga.fango.fangs.fanks.fanon.fanos.fanum.faqir.farad.farci.farcy.fards.fared.farer.fares.farle.farls.farms.faros.farro.farse.farts.fasci.fasti.fasts.fated.fates.fatly.fatso.fatwa.faugh.fauld.fauns.faurd.fauts.fauve.favas.favel.faver.faves.favus.fawns.fawny.faxed.faxes.fayed.fayer.fayne.fayre.fazed.fazes.feals.feare.fears.feart.fease.feats.feaze.feces.fecht.fecit.fecks.fedex.feebs.feeds.feels.feens.feers.feese.feeze.fehme.feint.feist.felch.felid.fells.felly.felts.felty.femal.femes.femmy.fends.fendy.fenis.fenks.fenny.fents.feods.feoff.ferer.feres.feria.ferly.fermi.ferms.ferns.ferny.fesse.festa.fests.festy.fetas.feted.fetes.fetor.fetta.fetts.fetwa.feuar.feuds.feued.feyed.feyer.feyly.fezes.fezzy.fiars.fiats.fibro.fices.fiche.fichu.ficin.ficos.fides.fidge.fidos.fiefs.fient.fiere.fiers.fiest.fifed.fifer.fifes.fifis.figgy.figos.fiked.fikes.filar.filch.filed.files.filii.filks.fille.fillo.fills.filmi.films.filos.filum.finca.finds.fined.fines.finis.finks.finny.finos.fiord.fiqhs.fique.fired.firer.fires.firie.firks.firms.firns.firry.firth.fiscs.fisks.fists.fisty.fitch.fitly.fitna.fitte.fitts.fiver.fives.fixed.fixes.fixit.fjeld.flabs.flaff.flags.flaks.flamm.flams.flamy.flane.flans.flaps.flary.flats.flava.flawn.flaws.flawy.flaxy.flays.fleam.fleas.fleek.fleer.flees.flegs.fleme.fleur.flews.flexi.flexo.fleys.flics.flied.flies.flimp.flims.flips.flirs.flisk.flite.flits.flitt.flobs.flocs.floes.flogs.flong.flops.flors.flory.flosh.flota.flote.flows.flubs.flued.flues.fluey.fluky.flump.fluor.flurr.fluty.fluyt.flyby.flype.flyte.foals.foams.foehn.fogey.fogie.fogle.fogou.fohns.foids.foils.foins.folds.foley.folia.folic.folie.folks.folky.fomes.fonda.fonds.fondu.fones.fonly.fonts.foods.foody.fools.foots.footy.foram.forbs.forby.fordo.fords.forel.fores.forex.forks.forky.forme.forms.forts.forza.forze.fossa.fosse.fouat.fouds.fouer.fouet.foule.fouls.fount.fours.fouth.fovea.fowls.fowth.foxed.foxes.foxie.foyle.foyne.frabs.frack.fract.frags.fraim.franc.frape.fraps.frass.frate.frati.frats.fraus.frays.frees.freet.freit.fremd.frena.freon.frere.frets.fribs.frier.fries.frigs.frise.frist.frith.frits.fritt.frize.frizz.froes.frogs.frons.frore.frorn.frory.frosh.frows.frowy.frugs.frump.frush.frust.fryer.fubar.fubby.fubsy.fucks.fucus.fuddy.fudgy.fuels.fuero.fuffs.fuffy.fugal.fuggy.fugie.fugio.fugle.fugly.fugus.fujis.fulls.fumed.fumer.fumes.fumet.fundi.funds.fundy.fungo.fungs.funks.fural.furan.furca.furls.furol.furrs.furth.furze.furzy.fused.fusee.fusel.fuses.fusil.fusks.fusts.fusty.futon.fuzed.fuzee.fuzes.fuzil.fyces.fyked.fykes.fyles.fyrds.fytte.gabba.gabby.gable.gaddi.gades.gadge.gadid.gadis.gadje.gadjo.gadso.gaffs.gaged.gager.gages.gaids.gains.gairs.gaita.gaits.gaitt.gajos.galah.galas.galax.galea.galed.gales.galls.gally.galop.galut.galvo.gamas.gamay.gamba.gambe.gambo.gambs.gamed.games.gamey.gamic.gamin.gamme.gammy.gamps.ganch.gandy.ganef.ganev.gangs.ganja.ganof.gants.gaols.gaped.gaper.gapes.gapos.gappy.garbe.garbo.garbs.garda.gares.garis.garms.garni.garre.garth.garum.gases.gasps.gaspy.gasts.gatch.gated.gater.gates.gaths.gator.gauch.gaucy.gauds.gauje.gault.gaums.gaumy.gaups.gaurs.gauss.gauzy.gavot.gawcy.gawds.gawks.gawps.gawsy.gayal.gazal.gazar.gazed.gazes.gazon.gazoo.geals.geans.geare.gears.geats.gebur.gecks.geeks.geeps.geest.geist.geits.gelds.gelee.gelid.gelly.gelts.gemel.gemma.gemmy.gemot.genal.genas.genes.genet.genic.genii.genip.genny.genoa.genom.genro.gents.genty.genua.genus.geode.geoid.gerah.gerbe.geres.gerle.germs.germy.gerne.gesse.gesso.geste.gests.getas.getup.geums.geyan.geyer.ghast.ghats.ghaut.ghazi.ghees.ghest.ghyll.gibed.gibel.giber.gibes.gibli.gibus.gifts.gigas.gighe.gigot.gigue.gilas.gilds.gilet.gills.gilly.gilpy.gilts.gimel.gimme.gimps.gimpy.ginch.ginge.gings.ginks.ginny.ginzo.gipon.gippo.gippy.girds.girls.girns.giron.giros.girrs.girsh.girts.gismo.gisms.gists.gitch.gites.giust.gived.gives.gizmo.glace.glads.glady.glaik.glair.glams.glans.glary.glaum.glaur.glazy.gleba.glebe.gleby.glede.gleds.gleed.gleek.glees.gleet.gleis.glens.glent.gleys.glial.glias.glibs.gliff.glift.glike.glime.glims.glisk.glits.glitz.gloam.globi.globs.globy.glode.glogg.gloms.gloop.glops.glost.glout.glows.gloze.glued.gluer.glues.gluey.glugs.glume.glums.gluon.glute.gluts.gnarl.gnarr.gnars.gnats.gnawn.gnaws.gnows.goads.goafs.goals.goary.goats.goaty.goban.gobar.gobbi.gobbo.gobby.gobis.gobos.godet.godso.goels.goers.goest.goeth.goety.gofer.goffs.gogga.gogos.goier.gojis.golds.goldy.goles.golfs.golpe.golps.gombo.gomer.gompa.gonch.gonef.gongs.gonia.gonif.gonks.gonna.gonof.gonys.gonzo.gooby.goods.goofs.googs.gooks.gooky.goold.gools.gooly.goons.goony.goops.goopy.goors.goory.goosy.gopak.gopik.goral.goras.gored.gores.goris.gorms.gormy.gorps.gorse.gorsy.gosht.gosse.gotch.goths.gothy.gotta.gouch.gouks.goura.gouts.gouty.gowan.gowds.gowfs.gowks.gowls.gowns.goxes.goyim.goyle.graal.grabs.grads.graff.graip.grama.grame.gramp.grams.grana.grans.grapy.gravs.grays.grebe.grebo.grece.greek.grees.grege.grego.grein.grens.grese.greve.grews.greys.grice.gride.grids.griff.grift.grigs.grike.grins.griot.grips.gript.gripy.grise.grist.grisy.grith.grits.grize.groat.grody.grogs.groks.groma.grone.groof.grosz.grots.grouf.grovy.grows.grrls.grrrl.grubs.grued.grues.grufe.grume.grump.grund.gryce.gryde.gryke.grype.grypt.guaco.guana.guano.guans.guars.gucks.gucky.gudes.guffs.gugas.guids.guimp.guiro.gulag.gular.gulas.gules.gulet.gulfs.gulfy.gulls.gulph.gulps.gulpy.gumma.gummi.gumps.gundy.gunge.gungy.gunks.gunky.gunny.guqin.gurdy.gurge.gurls.gurly.gurns.gurry.gursh.gurus.gushy.gusla.gusle.gusli.gussy.gusts.gutsy.gutta.gutty.guyed.guyle.guyot.guyse.gwine.gyals.gyans.gybed.gybes.gyeld.gymps.gynae.gynie.gynny.gynos.gyoza.gypos.gyppo.gyppy.gyral.gyred.gyres.gyron.gyros.gyrus.gytes.gyved.gyves.haafs.haars.hable.habus.hacek.hacks.hadal.haded.hades.hadji.hadst.haems.haets.haffs.hafiz.hafts.haggs.hahas.haick.haika.haiks.haiku.hails.haily.hains.haint.hairs.haith.hajes.hajis.hajji.hakam.hakas.hakea.hakes.hakim.hakus.halal.haled.haler.hales.halfa.halfs.halid.hallo.halls.halma.halms.halon.halos.halse.halts.halva.halwa.hamal.hamba.hamed.hames.hammy.hamza.hanap.hance.hanch.hands.hangi.hangs.hanks.hanky.hansa.hanse.hants.haole.haoma.hapax.haply.happi.hapus.haram.hards.hared.hares.harim.harks.harls.harms.harns.haros.harps.harts.hashy.hasks.hasps.hasta.hated.hates.hatha.hauds.haufs.haugh.hauld.haulm.hauls.hault.hauns.hause.haver.haves.hawed.hawks.hawms.hawse.hayed.hayer.hayey.hayle.hazan.hazed.hazer.hazes.heads.heald.heals.heame.heaps.heapy.heare.hears.heast.heats.heben.hebes.hecht.hecks.heder.hedgy.heeds.heedy.heels.heeze.hefte.hefts.heids.heigh.heils.heirs.hejab.hejra.heled.heles.helio.hells.helms.helos.helot.helps.helve.hemal.hemes.hemic.hemin.hemps.hempy.hench.hends.henge.henna.henny.henry.hents.hepar.herbs.herby.herds.heres.herls.herma.herms.herns.heros.herry.herse.hertz.herye.hesps.hests.hetes.heths.heuch.heugh.hevea.hewed.hewer.hewgh.hexad.hexed.hexer.hexes.hexyl.heyed.hiant.hicks.hided.hider.hides.hiems.highs.hight.hijab.hijra.hiked.hiker.hikes.hikoi.hilar.hilch.hillo.hills.hilts.hilum.hilus.himbo.hinau.hinds.hings.hinky.hinny.hints.hiois.hiply.hired.hiree.hirer.hires.hissy.hists.hithe.hived.hiver.hives.hizen.hoaed.hoagy.hoars.hoary.hoast.hobos.hocks.hocus.hodad.hodja.hoers.hogan.hogen.hoggs.hoghs.hohed.hoick.hoied.hoiks.hoing.hoise.hokas.hoked.hokes.hokey.hokis.hokku.hokum.holds.holed.holes.holey.holks.holla.hollo.holme.holms.holon.holos.holts.homas.homed.homes.homey.homie.homme.homos.honan.honda.honds.honed.honer.hones.hongi.hongs.honks.honky.hooch.hoods.hoody.hooey.hoofs.hooka.hooks.hooky.hooly.hoons.hoops.hoord.hoors.hoosh.hoots.hooty.hoove.hopak.hoped.hoper.hopes.hoppy.horah.horal.horas.horis.horks.horme.horns.horst.horsy.hosed.hosel.hosen.hoser.hoses.hosey.hosta.hosts.hotch.hoten.hotty.houff.houfs.hough.houri.hours.houts.hovea.hoved.hoven.hoves.howbe.howes.howff.howfs.howks.howls.howre.howso.hoxed.hoxes.hoyas.hoyed.hoyle.hubby.hucks.hudna.hudud.huers.huffs.huffy.huger.huggy.huhus.huias.hulas.hules.hulks.hulky.hullo.hulls.hully.humas.humfs.humic.humps.humpy.hunks.hunts.hurds.hurls.hurly.hurra.hurst.hurts.hushy.husks.husos.hutia.huzza.huzzy.hwyls.hydra.hyens.hygge.hying.hykes.hylas.hyleg.hyles.hylic.hymns.hynde.hyoid.hyped.hypes.hypha.hyphy.hypos.hyrax.hyson.hythe.iambi.iambs.ibrik.icers.iched.iches.ichor.icier.icker.ickle.icons.ictal.ictic.ictus.idant.ideas.idees.ident.idled.idles.idola.idols.idyls.iftar.igapo.igged.iglus.ihram.ikans.ikats.ikons.ileac.ileal.ileum.ileus.iliad.ilial.ilium.iller.illth.imago.imams.imari.imaum.imbar.imbed.imide.imido.imids.imine.imino.immew.immit.immix.imped.impis.impot.impro.imshi.imshy.inapt.inarm.inbye.incel.incle.incog.incus.incut.indew.india.indie.indol.indow.indri.indue.inerm.infix.infos.infra.ingan.ingle.inion.inked.inker.inkle.inned.innit.inorb.inrun.inset.inspo.intel.intil.intis.intra.inula.inure.inurn.inust.invar.inwit.iodic.iodid.iodin.iotas.ippon.irade.irids.iring.irked.iroko.irone.irons.isbas.ishes.isled.isles.isnae.issei.istle.items.ither.ivied.ivies.ixias.ixnay.ixora.ixtle.izard.izars.izzat.jaaps.jabot.jacal.jacks.jacky.jaded.jades.jafas.jaffa.jagas.jager.jaggs.jaggy.jagir.jagra.jails.jaker.jakes.jakey.jalap.jalop.jambe.jambo.jambs.jambu.james.jammy.jamon.janes.janns.janny.janty.japan.japed.japer.japes.jarks.jarls.jarps.jarta.jarul.jasey.jaspe.jasps.jatos.jauks.jaups.javas.javel.jawan.jawed.jaxie.jeans.jeats.jebel.jedis.jeels.jeely.jeeps.jeers.jeeze.jefes.jeffs.jehad.jehus.jelab.jello.jells.jembe.jemmy.jenny.jeons.jerid.jerks.jerry.jesse.jests.jesus.jetes.jeton.jeune.jewed.jewie.jhala.jiaos.jibba.jibbs.jibed.jiber.jibes.jiffs.jiggy.jigot.jihad.jills.jilts.jimmy.jimpy.jingo.jinks.jinne.jinni.jinns.jirds.jirga.jirre.jisms.jived.jiver.jives.jivey.jnana.jobed.jobes.jocko.jocks.jocky.jocos.jodel.joeys.johns.joins.joked.jokes.jokey.jokol.joled.joles.jolls.jolts.jolty.jomon.jomos.jones.jongs.jonty.jooks.joram.jorum.jotas.jotty.jotun.joual.jougs.jouks.joule.jours.jowar.jowed.jowls.jowly.joyed.jubas.jubes.jucos.judas.judgy.judos.jugal.jugum.jujus.juked.jukes.jukus.julep.jumar.jumby.jumps.junco.junks.junky.jupes.jupon.jural.jurat.jurel.jures.justs.jutes.jutty.juves.juvie.kaama.kabab.kabar.kabob.kacha.kacks.kadai.kades.kadis.kafir.kagos.kagus.kahal.kaiak.kaids.kaies.kaifs.kaika.kaiks.kails.kaims.kaing.kains.kakas.kakis.kalam.kales.kalif.kalis.kalpa.kamas.kames.kamik.kamis.kamme.kanae.kanas.kandy.kaneh.kanes.kanga.kangs.kanji.kants.kanzu.kaons.kapas.kaphs.kapok.kapow.kapus.kaput.karas.karat.karks.karns.karoo.karos.karri.karst.karsy.karts.karzy.kasha.kasme.katal.katas.katis.katti.kaugh.kauri.kauru.kaury.kaval.kavas.kawas.kawau.kawed.kayle.kayos.kazis.kazoo.kbars.kebar.kebob.kecks.kedge.kedgy.keech.keefs.keeks.keels.keema.keeno.keens.keeps.keets.keeve.kefir.kehua.keirs.kelep.kelim.kells.kelly.kelps.kelpy.kelts.kelty.kembo.kembs.kemps.kempt.kempy.kenaf.kench.kendo.kenos.kente.kents.kepis.kerbs.kerel.kerfs.kerky.kerma.kerne.kerns.keros.kerry.kerve.kesar.kests.ketas.ketch.ketes.ketol.kevel.kevil.kexes.keyed.keyer.khadi.khafs.khans.khaph.khats.khaya.khazi.kheda.kheth.khets.khoja.khors.khoum.khuds.kiaat.kiack.kiang.kibbe.kibbi.kibei.kibes.kibla.kicks.kicky.kiddo.kiddy.kidel.kidge.kiefs.kiers.kieve.kievs.kight.kikes.kikoi.kiley.kilim.kills.kilns.kilos.kilps.kilts.kilty.kimbo.kinas.kinda.kinds.kindy.kines.kings.kinin.kinks.kinos.kiore.kipes.kippa.kipps.kirby.kirks.kirns.kirri.kisan.kissy.kists.kited.kiter.kites.kithe.kiths.kitul.kivas.kiwis.klang.klaps.klett.klick.klieg.kliks.klong.kloof.kluge.klutz.knags.knaps.knarl.knars.knaur.knawe.knees.knell.knish.knits.knive.knobs.knops.knosp.knots.knout.knowe.knows.knubs.knurl.knurr.knurs.knuts.koans.koaps.koban.kobos.koels.koffs.kofta.kogal.kohas.kohen.kohls.koine.kojis.kokam.kokas.koker.kokra.kokum.kolas.kolos.kombu.konbu.kondo.konks.kooks.kooky.koori.kopek.kophs.kopje.koppa.korai.koras.korat.kores.korma.koros.korun.korus.koses.kotch.kotos.kotow.koura.kraal.krabs.kraft.krais.krait.krang.krans.kranz.kraut.krays.kreep.kreng.krewe.krona.krone.kroon.krubi.krunk.ksars.kubie.kudos.kudus.kudzu.kufis.kugel.kuias.kukri.kukus.kulak.kulan.kulas.kulfi.kumis.kumys.kuris.kurre.kurta.kurus.kusso.kutas.kutch.kutis.kutus.kuzus.kvass.kvell.kwela.kyack.kyaks.kyang.kyars.kyats.kybos.kydst.kyles.kylie.kylin.kylix.kyloe.kynde.kynds.kypes.kyrie.kytes.kythe.laari.labda.labia.labis.labra.laced.lacer.laces.lacet.lacey.lacks.laddy.laded.lader.lades.laers.laevo.lagan.lahal.lahar.laich.laics.laids.laigh.laika.laiks.laird.lairs.lairy.laith.laity.laked.laker.lakes.lakhs.lakin.laksa.laldy.lalls.lamas.lambs.lamby.lamed.lamer.lames.lamia.lammy.lamps.lanai.lanas.lanch.lande.lands.lanes.lanks.lants.lapin.lapis.lapje.larch.lards.lardy.laree.lares.largo.laris.larks.larky.larns.larnt.larum.lased.laser.lases.lassi.lassu.lassy.lasts.latah.lated.laten.latex.lathi.laths.lathy.latke.latus.lauan.lauch.lauds.laufs.laund.laura.laval.lavas.laved.laver.laves.lavra.lavvy.lawed.lawer.lawin.lawks.lawns.lawny.laxed.laxer.laxes.laxly.layed.layin.layup.lazar.lazed.lazes.lazos.lazzi.lazzo.leads.leady.leafs.leaks.leams.leans.leany.leaps.leare.lears.leary.leats.leavy.leaze.leben.leccy.ledes.ledgy.ledum.leear.leeks.leeps.leers.leese.leets.leeze.lefte.lefts.leger.leges.legge.leggo.legit.lehrs.lehua.leirs.leish.leman.lemed.lemel.lemes.lemma.lemme.lends.lenes.lengs.lenis.lenos.lense.lenti.lento.leone.lepid.lepra.lepta.lered.leres.lerps.lesbo.leses.lests.letch.lethe.letup.leuch.leuco.leuds.leugh.levas.levee.leves.levin.levis.lewis.lexes.lexis.lezes.lezza.lezzy.liana.liane.liang.liard.liars.liart.liber.libra.libri.lichi.licht.licit.licks.lidar.lidos.liefs.liens.liers.lieus.lieve.lifer.lifes.lifts.ligan.liger.ligge.ligne.liked.liker.likes.likin.lills.lilos.lilts.liman.limas.limax.limba.limbi.limbs.limby.limed.limen.limes.limey.limma.limns.limos.limpa.limps.linac.linch.linds.lindy.lined.lines.liney.linga.lings.lingy.linin.links.linky.linns.linny.linos.lints.linty.linum.linux.lions.lipas.lipes.lipin.lipos.lippy.liras.lirks.lirot.lisks.lisle.lisps.lists.litai.litas.lited.liter.lites.litho.liths.litre.lived.liven.lives.livor.livre.llano.loach.loads.loafs.loams.loans.loast.loave.lobar.lobed.lobes.lobos.lobus.loche.lochs.locie.locis.locks.locos.locum.loden.lodes.loess.lofts.logan.loges.loggy.logia.logie.logoi.logon.logos.lohan.loids.loins.loipe.loirs.lokes.lolls.lolly.lolog.lomas.lomed.lomes.loner.longa.longe.longs.looby.looed.looey.loofa.loofs.looie.looks.looky.looms.loons.loony.loops.loord.loots.loped.loper.lopes.loppy.loral.loran.lords.lordy.lorel.lores.loric.loris.losed.losel.losen.loses.lossy.lotah.lotas.lotes.lotic.lotos.lotsa.lotta.lotte.lotto.lotus.loued.lough.louie.louis.louma.lound.louns.loupe.loups.loure.lours.loury.louts.lovat.loved.loves.lovey.lovie.lowan.lowed.lowes.lownd.lowne.lowns.lowps.lowry.lowse.lowts.loxed.loxes.lozen.luach.luaus.lubed.lubes.lubra.luces.lucks.lucre.ludes.ludic.ludos.luffa.luffs.luged.luger.luges.lulls.lulus.lumas.lumbi.lumme.lummy.lumps.lunas.lunes.lunet.lungi.lungs.lunks.lunts.lupin.lured.lurer.lures.lurex.lurgi.lurgy.lurks.lurry.lurve.luser.lushy.lusks.lusts.lusus.lutea.luted.luter.lutes.luvvy.luxed.luxer.luxes.lweis.lyams.lyard.lyart.lyase.lycea.lycee.lycra.lymes.lynes.lyres.lysed.lyses.lysin.lysis.lysol.lyssa.lyted.lytes.lythe.lytic.lytta.maaed.maare.maars.mabes.macas.maced.macer.maces.mache.machi.machs.macks.macle.macon.madge.madid.madre.maerl.mafic.mages.maggs.magot.magus.mahoe.mahua.mahwa.maids.maiko.maiks.maile.maill.mails.maims.mains.maire.mairs.maise.maist.makar.makes.makis.makos.malam.malar.malas.malax.males.malic.malik.malis.malls.malms.malmy.malts.malty.malus.malva.malwa.mamas.mamba.mamee.mamey.mamie.manas.manat.mandi.maneb.maned.maneh.manes.manet.mangs.manis.manky.manna.manos.manse.manta.manto.manty.manul.manus.mapau.maqui.marae.marah.maras.marcs.mardy.mares.marge.margs.maria.marid.marka.marks.marle.marls.marly.marms.maron.maror.marra.marri.marse.marts.marvy.masas.mased.maser.mases.mashy.masks.massa.massy.masts.masty.masus.matai.mated.mater.mates.maths.matin.matlo.matte.matts.matza.matzo.mauby.mauds.mauls.maund.mauri.mausy.mauts.mauzy.maven.mavie.mavin.mavis.mawed.mawks.mawky.mawns.mawrs.maxed.maxes.maxis.mayan.mayas.mayed.mayos.mayst.mazed.mazer.mazes.mazey.mazut.mbira.meads.meals.meane.means.meany.meare.mease.meath.meats.mebos.mechs.mecks.medii.medle.meeds.meers.meets.meffs.meins.meint.meiny.meith.mekka.melas.melba.melds.melic.melik.mells.melts.melty.memes.memos.menad.mends.mened.menes.menge.mengs.mensa.mense.mensh.menta.mento.menus.meous.meows.merch.mercs.merde.mered.merel.merer.meres.meril.meris.merks.merle.merls.merse.mesal.mesas.mesel.meses.meshy.mesic.mesne.meson.messy.mesto.meted.metes.metho.meths.metic.metif.metis.metol.metre.meuse.meved.meves.mewed.mewls.meynt.mezes.mezze.mezzo.mhorr.miaou.miaow.miasm.miaul.micas.miche.micht.micks.micky.micos.micra.middy.midgy.midis.miens.mieve.miffs.miffy.mifty.miggs.mihas.mihis.miked.mikes.mikra.mikva.milch.milds.miler.miles.milfs.milia.milko.milks.mille.mills.milor.milos.milpa.milts.milty.miltz.mimed.mimeo.mimer.mimes.mimsy.minae.minar.minas.mincy.minds.mined.mines.minge.mings.mingy.minis.minke.minks.minny.minos.mints.mired.mires.mirex.mirid.mirin.mirks.mirky.mirly.miros.mirvs.mirza.misch.misdo.mises.misgo.misos.missa.mists.misty.mitch.miter.mites.mitis.mitre.mitts.mixed.mixen.mixer.mixes.mixte.mixup.mizen.mizzy.mneme.moans.moats.mobby.mobes.mobey.mobie.moble.mochi.mochs.mochy.mocks.moder.modes.modge.modii.modus.moers.mofos.moggy.mohel.mohos.mohrs.mohua.mohur.moile.moils.moira.moire.moits.mojos.mokes.mokis.mokos.molal.molas.molds.moled.moles.molla.molls.molly.molto.molts.molys.momes.momma.mommy.momus.monad.monal.monas.monde.mondo.moner.mongo.mongs.monic.monie.monks.monos.monte.monty.moobs.mooch.moods.mooed.mooks.moola.mooli.mools.mooly.moong.moons.moony.moops.moors.moory.moots.moove.moped.moper.mopes.mopey.moppy.mopsy.mopus.morae.moras.morat.moray.morel.mores.moria.morne.morns.morra.morro.morse.morts.mosed.moses.mosey.mosks.mosso.moste.mosts.moted.moten.motes.motet.motey.moths.mothy.motis.motte.motts.motty.motus.motza.mouch.moues.mould.mouls.moups.moust.mousy.moved.moves.mowas.mowed.mowra.moxas.moxie.moyas.moyle.moyls.mozed.mozes.mozos.mpret.mucho.mucic.mucid.mucin.mucks.mucor.mucro.mudge.mudir.mudra.muffs.mufti.mugga.muggs.muggy.muhly.muids.muils.muirs.muist.mujik.mulct.muled.mules.muley.mulga.mulie.mulla.mulls.mulse.mulsh.mumms.mumps.mumsy.mumus.munga.munge.mungo.mungs.munis.munts.muntu.muons.muras.mured.mures.murex.murid.murks.murls.murly.murra.murre.murri.murrs.murry.murti.murva.musar.musca.mused.muser.muses.muset.musha.musit.musks.musos.musse.mussy.musth.musts.mutch.muted.muter.mutes.mutha.mutis.muton.mutts.muxed.muxes.muzak.muzzy.mvule.myall.mylar.mynah.mynas.myoid.myoma.myope.myops.myopy.mysid.mythi.myths.mythy.myxos.mzees.naams.naans.nabes.nabis.nabks.nabla.nabob.nache.nacho.nacre.nadas.naeve.naevi.naffs.nagas.naggy.nagor.nahal.naiad.naifs.naiks.nails.naira.nairu.naked.naker.nakfa.nalas.naled.nalla.named.namer.names.namma.namus.nanas.nance.nancy.nandu.nanna.nanos.nanua.napas.naped.napes.napoo.nappa.nappe.nappy.naras.narco.narcs.nards.nares.naric.naris.narks.narky.narre.nashi.natch.nates.natis.natty.nauch.naunt.navar.naves.navew.navvy.nawab.nazes.nazir.nazis.nduja.neafe.neals.neaps.nears.neath.neats.nebek.nebel.necks.neddy.needs.neeld.neele.neemb.neems.neeps.neese.neeze.negro.negus.neifs.neist.neive.nelis.nelly.nemas.nemns.nempt.nenes.neons.neper.nepit.neral.nerds.nerka.nerks.nerol.nerts.nertz.nervy.nests.netes.netop.netts.netty.neuks.neume.neums.nevel.neves.nevus.newbs.newed.newel.newie.newsy.newts.nexts.nexus.ngaio.ngana.ngati.ngoma.ngwee.nicad.nicht.nicks.nicol.nidal.nided.nides.nidor.nidus.niefs.nieve.nifes.niffs.niffy.nifty.niger.nighs.nihil.nikab.nikah.nikau.nills.nimbi.nimbs.nimps.niner.nines.ninon.nipas.nippy.niqab.nirls.nirly.nisei.nisse.nisus.niter.nites.nitid.niton.nitre.nitro.nitry.nitty.nival.nixed.nixer.nixes.nixie.nizam.nkosi.noahs.nobby.nocks.nodal.noddy.nodes.nodus.noels.noggs.nohow.noils.noily.noint.noirs.noles.nolls.nolos.nomas.nomen.nomes.nomic.nomoi.nomos.nonas.nonce.nones.nonet.nongs.nonis.nonny.nonyl.noobs.nooit.nooks.nooky.noons.noops.nopal.noria.noris.norks.norma.norms.nosed.noser.noses.notal.noted.noter.notes.notum.nould.noule.nouls.nouns.nouny.noups.novae.novas.novum.noway.nowed.nowls.nowts.nowty.noxal.noxes.noyau.noyed.noyes.nubby.nubia.nucha.nuddy.nuder.nudes.nudie.nudzh.nuffs.nugae.nuked.nukes.nulla.nulls.numbs.numen.nummy.nunny.nurds.nurdy.nurls.nurrs.nutso.nutsy.nyaff.nyala.nying.nyssa.oaked.oaker.oakum.oared.oases.oasis.oasts.oaten.oater.oaths.oaves.obang.obeah.obeli.obeys.obias.obied.obiit.obits.objet.oboes.obole.oboli.obols.occam.ocher.oches.ochre.ochry.ocker.ocrea.octad.octan.octas.octyl.oculi.odahs.odals.odeon.odeum.odism.odist.odium.odors.odour.odyle.odyls.ofays.offed.offie.oflag.ofter.ogams.ogeed.ogees.oggin.ogham.ogive.ogled.ogler.ogles.ogmic.ogres.ohias.ohing.ohmic.ohone.oidia.oiled.oiler.oinks.oints.ojime.okapi.okays.okehs.okras.oktas.oldie.oleic.olein.olent.oleos.oleum.olios.ollas.ollav.oller.ollie.ology.olpae.olpes.omasa.omber.ombus.omens.omers.omits.omlah.omovs.omrah.oncer.onces.oncet.oncus.onely.oners.onery.onium.onkus.onlay.onned.ontic.oobit.oohed.oomph.oonts.ooped.oorie.ooses.ootid.oozed.oozes.opahs.opals.opens.opepe.oping.oppos.opsin.opted.opter.orach.oracy.orals.orang.orant.orate.orbed.orcas.orcin.ordos.oread.orfes.orgia.orgic.orgue.oribi.oriel.orixa.orles.orlon.orlop.ormer.ornis.orpin.orris.ortho.orval.orzos.oscar.oshac.osier.osmic.osmol.ossia.ostia.otaku.otary.ottar.ottos.oubit.oucht.ouens.ouija.oulks.oumas.oundy.oupas.ouped.ouphe.ouphs.ourie.ousel.ousts.outby.outed.outre.outro.outta.ouzel.ouzos.ovals.ovels.ovens.overs.ovist.ovoli.ovolo.ovule.owche.owies.owled.owler.owlet.owned.owres.owrie.owsen.oxbow.oxers.oxeye.oxids.oxies.oxime.oxims.oxlip.oxter.oyers.ozeki.ozzie.paals.paans.pacas.paced.pacer.paces.pacey.pacha.packs.pacos.pacta.pacts.padis.padle.padma.padre.padri.paean.paedo.paeon.paged.pager.pages.pagle.pagod.pagri.paiks.pails.pains.paire.pairs.paisa.paise.pakka.palas.palay.palea.paled.pales.palet.palis.palki.palla.palls.pally.palms.palmy.palpi.palps.palsa.pampa.panax.pance.panda.pands.pandy.paned.panes.panga.pangs.panim.panko.panne.panni.panto.pants.panty.paoli.paolo.papas.papaw.papes.pappi.pappy.parae.paras.parch.pardi.pards.pardy.pared.paren.pareo.pares.pareu.parev.parge.pargo.paris.parki.parks.parky.parle.parly.parma.parol.parps.parra.parrs.parti.parts.parve.parvo.paseo.pases.pasha.pashm.paska.paspy.passe.pasts.pated.paten.pater.pates.paths.patin.patka.patly.patte.patus.pauas.pauls.pavan.paved.paven.paver.paves.pavid.pavin.pavis.pawas.pawaw.pawed.pawer.pawks.pawky.pawls.pawns.paxes.payed.payor.paysd.peage.peags.peaks.peaky.peals.peans.peare.pears.peart.pease.peats.peaty.peavy.peaze.pebas.pechs.pecke.pecks.pecky.pedes.pedis.pedro.peece.peeks.peels.peens.peeoy.peepe.peeps.peers.peery.peeve.peggy.peghs.peins.peise.peize.pekan.pekes.pekin.pekoe.pelas.pelau.peles.pelfs.pells.pelma.pelon.pelta.pelts.pends.pendu.pened.penes.pengo.penie.penis.penks.penna.penni.pents.peons.peony.pepla.pepos.peppy.pepsi.perai.perce.percs.perdu.perdy.perea.peres.peris.perks.perms.perns.perog.perps.perry.perse.perst.perts.perve.pervo.pervs.pervy.pesos.pests.pesty.petar.peter.petit.petre.petri.petti.petto.pewee.pewit.peyse.phage.phang.phare.pharm.pheer.phene.pheon.phese.phial.phish.phizz.phlox.phoca.phono.phons.phots.phpht.phuts.phyla.phyle.piani.pians.pibal.pical.picas.piccy.picks.picot.picra.picul.piend.piers.piert.pieta.piets.piezo.pight.pigmy.piing.pikas.pikau.piked.piker.pikes.pikey.pikis.pikul.pilae.pilaf.pilao.pilar.pilau.pilaw.pilch.pilea.piled.pilei.piler.piles.pilis.pills.pilow.pilum.pilus.pimas.pimps.pinas.pined.pines.pingo.pings.pinko.pinks.pinna.pinny.pinon.pinot.pinta.pints.pinup.pions.piony.pious.pioye.pioys.pipal.pipas.piped.pipes.pipet.pipis.pipit.pippy.pipul.pirai.pirls.pirns.pirog.pisco.pises.pisky.pisos.pissy.piste.pitas.piths.piton.pitot.pitta.piums.pixes.pized.pizes.plaas.plack.plage.plans.plaps.plash.plasm.plast.plats.platt.platy.playa.plays.pleas.plebe.plebs.plena.pleon.plesh.plews.plica.plies.plims.pling.plink.ploat.plods.plong.plonk.plook.plops.plots.plotz.plouk.plows.ploye.ploys.plues.pluff.plugs.plums.plumy.pluot.pluto.plyer.poach.poaka.poake.poboy.pocks.pocky.podal.poddy.podex.podge.podgy.podia.poems.poeps.poets.pogey.pogge.pogos.pohed.poilu.poind.pokal.poked.pokes.pokey.pokie.poled.poler.poles.poley.polio.polis.polje.polks.polls.polly.polos.polts.polys.pombe.pomes.pommy.pomos.pomps.ponce.poncy.ponds.pones.poney.ponga.pongo.pongs.pongy.ponks.ponts.ponty.ponzu.poods.pooed.poofs.poofy.poohs.pooja.pooka.pooks.pools.poons.poops.poopy.poori.poort.poots.poove.poovy.popes.poppa.popsy.porae.poral.pored.porer.pores.porge.porgy.porin.porks.porky.porno.porns.porny.porta.ports.porty.posed.poses.posey.posho.posts.potae.potch.poted.potes.potin.potoo.potsy.potto.potts.potty.pouff.poufs.pouke.pouks.poule.poulp.poult.poupe.poupt.pours.pouts.powan.powin.pownd.powns.powny.powre.poxed.poxes.poynt.poyou.poyse.pozzy.praam.prads.prahu.prams.prana.prang.praos.prase.prate.prats.pratt.praty.praus.prays.predy.preed.prees.preif.prems.premy.prent.preon.preop.preps.presa.prese.prest.preve.prexy.preys.prial.pricy.prief.prier.pries.prigs.prill.prima.primi.primp.prims.primy.prink.prion.prise.priss.proas.probs.prods.proem.profs.progs.proin.proke.prole.proll.promo.proms.pronk.props.prore.proso.pross.prost.prosy.proto.proul.prows.proyn.prunt.pruta.pryer.pryse.pseud.pshaw.psion.psoae.psoai.psoas.psora.psych.psyop.pubco.pubes.pubis.pucan.pucer.puces.pucka.pucks.puddy.pudge.pudic.pudor.pudsy.pudus.puers.puffa.puffs.puggy.pugil.puhas.pujah.pujas.pukas.puked.puker.pukes.pukey.pukka.pukus.pulao.pulas.puled.puler.pules.pulik.pulis.pulka.pulks.pulli.pulls.pully.pulmo.pulps.pulus.pumas.pumie.pumps.punas.punce.punga.pungs.punji.punka.punks.punky.punny.punto.punts.punty.pupae.pupas.pupus.purda.pured.pures.purin.puris.purls.purpy.purrs.pursy.purty.puses.pusle.pussy.putid.puton.putti.putto.putts.puzel.pwned.pyats.pyets.pygal.pyins.pylon.pyned.pynes.pyoid.pyots.pyral.pyran.pyres.pyrex.pyric.pyros.pyxed.pyxes.pyxie.pyxis.pzazz.qadis.qaids.qajaq.qanat.qapik.qibla.qophs.qorma.quads.quaff.quags.quair.quais.quaky.quale.quant.quare.quass.quate.quats.quayd.quays.qubit.quean.queme.quena.quern.queyn.queys.quich.quids.quiff.quims.quina.quine.quino.quins.quint.quipo.quips.quipu.quire.quirt.quist.quits.quoad.quods.quoif.quoin.quoit.quoll.quonk.quops.qursh.quyte.rabat.rabic.rabis.raced.races.rache.racks.racon.radge.radix.radon.raffs.rafts.ragas.ragde.raged.ragee.rager.rages.ragga.raggs.raggy.ragis.ragus.rahed.rahui.raias.raids.raiks.raile.rails.raine.rains.raird.raita.raits.rajas.rajes.raked.rakee.raker.rakes.rakia.rakis.rakus.rales.ramal.ramee.ramet.ramie.ramin.ramis.rammy.ramps.ramus.ranas.rance.rands.ranee.ranga.rangi.rangs.rangy.ranid.ranis.ranke.ranks.rants.raped.raper.rapes.raphe.rappe.rared.raree.rares.rarks.rased.raser.rases.rasps.rasse.rasta.ratal.ratan.ratas.ratch.rated.ratel.rater.rates.ratha.rathe.raths.ratoo.ratos.ratus.rauns.raupo.raved.ravel.raver.raves.ravey.ravin.rawer.rawin.rawly.rawns.raxed.raxes.rayah.rayas.rayed.rayle.rayne.razed.razee.razer.razes.razoo.readd.reads.reais.reaks.realo.reals.reame.reams.reamy.reans.reaps.rears.reast.reata.reate.reave.rebbe.rebec.rebid.rebit.rebop.rebuy.recal.recce.recco.reccy.recit.recks.recon.recta.recti.recto.redan.redds.reddy.reded.redes.redia.redid.redip.redly.redon.redos.redox.redry.redub.redux.redye.reech.reede.reeds.reefs.reefy.reeks.reeky.reels.reens.reest.reeve.refed.refel.reffo.refis.refix.refly.refry.regar.reges.reggo.regie.regma.regna.regos.regur.rehem.reifs.reify.reiki.reiks.reink.reins.reird.reist.reive.rejig.rejon.reked.rekes.rekey.relet.relie.relit.rello.reman.remap.remen.remet.remex.remix.renay.rends.reney.renga.renig.renin.renne.renos.rente.rents.reoil.reorg.repeg.repin.repla.repos.repot.repps.repro.reran.rerig.resat.resaw.resay.resee.reses.resew.resid.resit.resod.resow.resto.rests.resty.resus.retag.retax.retem.retia.retie.retox.revet.revie.rewan.rewax.rewed.rewet.rewin.rewon.rewth.rexes.rezes.rheas.rheme.rheum.rhies.rhime.rhine.rhody.rhomb.rhone.rhumb.rhyne.rhyta.riads.rials.riant.riata.ribas.ribby.ribes.riced.ricer.rices.ricey.richt.ricin.ricks.rides.ridgy.ridic.riels.riems.rieve.rifer.riffs.rifte.rifts.rifty.riggs.rigol.riled.riles.riley.rille.rills.rimae.rimed.rimer.rimes.rimus.rinds.rindy.rines.rings.rinks.rioja.riots.riped.ripes.ripps.rises.rishi.risks.risps.risus.rites.ritts.ritzy.rivas.rived.rivel.riven.rives.riyal.rizas.roads.roams.roans.roars.roary.roate.robed.robes.roble.rocks.roded.rodes.roguy.rohes.roids.roils.roily.roins.roist.rojak.rojis.roked.roker.rokes.rolag.roles.rolfs.rolls.romal.roman.romeo.romps.ronde.rondo.roneo.rones.ronin.ronne.ronte.ronts.roods.roofs.roofy.rooks.rooky.rooms.roons.roops.roopy.roosa.roose.roots.rooty.roped.roper.ropes.ropey.roque.roral.rores.roric.rorid.rorie.rorts.rorty.rosed.roses.roset.roshi.rosin.rosit.rosti.rosts.rotal.rotan.rotas.rotch.roted.rotes.rotis.rotls.roton.rotos.rotte.rouen.roues.roule.rouls.roums.roups.roupy.roust.routh.routs.roved.roven.roves.rowan.rowed.rowel.rowen.rowie.rowme.rownd.rowth.rowts.royne.royst.rozet.rozit.ruana.rubai.rubby.rubel.rubes.rubin.ruble.rubli.rubus.ruche.rucks.rudas.rudds.rudes.rudie.rudis.rueda.ruers.ruffe.ruffs.rugae.rugal.ruggy.ruing.ruins.rukhs.ruled.rules.rumal.rumbo.rumen.rumes.rumly.rummy.rumpo.rumps.rumpy.runch.runds.runed.runes.rungs.runic.runny.runts.runty.rupia.rurps.rurus.rusas.ruses.rushy.rusks.rusma.russe.rusts.ruths.rutin.rutty.ryals.rybat.ryked.rykes.rymme.rynds.ryots.ryper.saags.sabal.sabed.saber.sabes.sabha.sabin.sabir.sable.sabot.sabra.sabre.sacks.sacra.saddo.sades.sadhe.sadhu.sadis.sados.sadza.safed.safes.sagas.sager.sages.saggy.sagos.sagum.saheb.sahib.saice.saick.saics.saids.saiga.sails.saims.saine.sains.sairs.saist.saith.sajou.sakai.saker.sakes.sakia.sakis.sakti.salal.salat.salep.sales.salet.salic.salix.salle.salmi.salol.salop.salpa.salps.salse.salto.salts.salue.salut.saman.samas.samba.sambo.samek.samel.samen.sames.samey.samfu.sammy.sampi.samps.sands.saned.sanes.sanga.sangh.sango.sangs.sanko.sansa.santo.sants.saola.sapan.sapid.sapor.saran.sards.sared.saree.sarge.sargo.sarin.saris.sarks.sarky.sarod.saros.sarus.saser.sasin.sasse.satai.satay.sated.satem.sates.satis.sauba.sauch.saugh.sauls.sault.saunt.saury.sauts.saved.saver.saves.savey.savin.sawah.sawed.sawer.saxes.sayed.sayer.sayid.sayne.sayon.sayst.sazes.scabs.scads.scaff.scags.scail.scala.scall.scams.scand.scans.scapa.scape.scapi.scarp.scars.scart.scath.scats.scatt.scaud.scaup.scaur.scaws.sceat.scena.scend.schav.schmo.schul.schwa.sclim.scody.scogs.scoog.scoot.scopa.scops.scots.scoug.scoup.scowp.scows.scrab.scrae.scrag.scran.scrat.scraw.scray.scrim.scrip.scrob.scrod.scrog.scrow.scudi.scudo.scuds.scuff.scuft.scugs.sculk.scull.sculp.sculs.scums.scups.scurf.scurs.scuse.scuta.scute.scuts.scuzz.scyes.sdayn.sdein.seals.seame.seams.seamy.seans.seare.sears.sease.seats.seaze.sebum.secco.sechs.sects.seder.sedes.sedge.sedgy.sedum.seeds.seeks.seeld.seels.seely.seems.seeps.seepy.seers.sefer.segar.segni.segno.segol.segos.sehri.seifs.seils.seine.seirs.seise.seism.seity.seiza.sekos.sekts.selah.seles.selfs.sella.selle.sells.selva.semee.semes.semie.semis.senas.sends.senes.sengi.senna.senor.sensa.sensi.sente.senti.sents.senvy.senza.sepad.sepal.sepic.sepoy.septa.septs.serac.serai.seral.sered.serer.seres.serfs.serge.seric.serin.serks.seron.serow.serra.serre.serrs.serry.servo.sesey.sessa.setae.setal.seton.setts.sewan.sewar.sewed.sewel.sewen.sewin.sexed.sexer.sexes.sexto.sexts.seyen.shads.shags.shahs.shako.shakt.shalm.shaly.shama.shams.shand.shans.shaps.sharn.shash.shaul.shawm.shawn.shaws.shaya.shays.shchi.sheaf.sheal.sheas.sheds.sheel.shend.shent.sheol.sherd.shere.shero.shets.sheva.shewn.shews.shiai.shiel.shier.shies.shill.shily.shims.shins.ships.shirr.shirs.shish.shiso.shist.shite.shits.shiur.shiva.shive.shivs.shlep.shlub.shmek.shmoe.shoat.shoed.shoer.shoes.shogi.shogs.shoji.shojo.shola.shool.shoon.shoos.shope.shops.shorl.shote.shots.shott.showd.shows.shoyu.shred.shris.shrow.shtik.shtum.shtup.shule.shuln.shuls.shuns.shura.shute.shuts.shwas.shyer.sials.sibbs.sibyl.sices.sicht.sicko.sicks.sicky.sidas.sided.sider.sides.sidha.sidhe.sidle.sield.siens.sient.sieth.sieur.sifts.sighs.sigil.sigla.signa.signs.sijos.sikas.siker.sikes.silds.siled.silen.siler.siles.silex.silks.sills.silos.silts.silty.silva.simar.simas.simba.simis.simps.simul.sinds.sined.sines.sings.sinhs.sinks.sinky.sinus.siped.sipes.sippy.sired.siree.sires.sirih.siris.siroc.sirra.sirup.sisal.sises.sista.sists.sitar.sited.sites.sithe.sitka.situp.situs.siver.sixer.sixes.sixmo.sixte.sizar.sized.sizel.sizer.sizes.skags.skail.skald.skank.skart.skats.skatt.skaws.skean.skear.skeds.skeed.skeef.skeen.skeer.skees.skeet.skegg.skegs.skein.skelf.skell.skelm.skelp.skene.skens.skeos.skeps.skers.skets.skews.skids.skied.skies.skiey.skimo.skims.skink.skins.skint.skios.skips.skirl.skirr.skite.skits.skive.skivy.sklim.skoal.skody.skoff.skogs.skols.skool.skort.skosh.skran.skrik.skuas.skugs.skyed.skyer.skyey.skyfs.skyre.skyrs.skyte.slabs.slade.slaes.slags.slaid.slake.slams.slane.slank.slaps.slart.slats.slaty.slaws.slays.slebs.sleds.sleer.slews.sleys.slier.slily.slims.slipe.slips.slipt.slish.slits.slive.sloan.slobs.sloes.slogs.sloid.slojd.slomo.sloom.sloot.slops.slopy.slorm.slots.slove.slows.sloyd.slubb.slubs.slued.slues.sluff.slugs.sluit.slums.slurb.slurs.sluse.sluts.slyer.slype.smaak.smaik.smalm.smalt.smarm.smaze.smeek.smees.smeik.smeke.smerk.smews.smirr.smirs.smits.smogs.smoko.smolt.smoor.smoot.smore.smorg.smout.smowt.smugs.smurs.smush.smuts.snabs.snafu.snags.snaps.snarf.snark.snars.snary.snash.snath.snaws.snead.sneap.snebs.sneck.sneds.sneed.snees.snell.snibs.snick.snies.snift.snigs.snips.snipy.snirt.snits.snobs.snods.snoek.snoep.snogs.snoke.snood.snook.snool.snoot.snots.snowk.snows.snubs.snugs.snush.snyes.soaks.soaps.soare.soars.soave.sobas.socas.soces.socko.socks.socle.sodas.soddy.sodic.sodom.sofar.sofas.softa.softs.softy.soger.sohur.soils.soily.sojas.sojus.sokah.soken.sokes.sokol.solah.solan.solas.solde.soldi.soldo.solds.soled.solei.soler.soles.solon.solos.solum.solus.soman.somas.sonce.sonde.sones.songs.sonly.sonne.sonny.sonse.sonsy.sooey.sooks.sooky.soole.sools.sooms.soops.soote.soots.sophs.sophy.sopor.soppy.sopra.soral.soras.sorbo.sorbs.sorda.sordo.sords.sored.soree.sorel.sorer.sores.sorex.sorgo.sorns.sorra.sorta.sorts.sorus.soths.sotol.souce.souct.sough.souks.souls.soums.soups.soupy.sours.souse.souts.sowar.sowce.sowed.sowff.sowfs.sowle.sowls.sowms.sownd.sowne.sowps.sowse.sowth.soyas.soyle.soyuz.sozin.spacy.spado.spaed.spaer.spaes.spags.spahi.spail.spain.spait.spake.spald.spale.spall.spalt.spams.spane.spang.spans.spard.spars.spart.spate.spats.spaul.spawl.spaws.spayd.spays.spaza.spazz.speal.spean.speat.specs.spect.speel.speer.speil.speir.speks.speld.spelk.speos.spets.speug.spews.spewy.spial.spica.spick.spics.spide.spier.spies.spiff.spifs.spiks.spile.spims.spina.spink.spins.spirt.spiry.spits.spitz.spivs.splay.splog.spode.spods.spoom.spoor.spoot.spork.sposh.spots.sprad.sprag.sprat.spred.sprew.sprit.sprod.sprog.sprue.sprug.spuds.spued.spuer.spues.spugs.spule.spume.spumy.spurs.sputa.spyal.spyre.squab.squaw.squeg.squid.squit.squiz.stabs.stade.stags.stagy.staig.stane.stang.staph.staps.starn.starr.stars.stats.staun.staws.stays.stean.stear.stedd.stede.steds.steek.steem.steen.steil.stela.stele.stell.steme.stems.stend.steno.stens.stent.steps.stept.stere.stets.stews.stewy.steys.stich.stied.sties.stilb.stile.stime.stims.stimy.stipa.stipe.stire.stirk.stirp.stirs.stive.stivy.stoae.stoai.stoas.stoat.stobs.stoep.stogy.stoit.stoln.stoma.stond.stong.stonk.stonn.stook.stoor.stope.stops.stopt.stoss.stots.stott.stoun.stoup.stour.stown.stowp.stows.strad.strae.strag.strak.strep.strew.stria.strig.strim.strop.strow.stroy.strum.stubs.stude.studs.stull.stulm.stumm.stums.stuns.stupa.stupe.sture.sturt.styed.styes.styli.stylo.styme.stymy.styre.styte.subah.subas.subby.suber.subha.succi.sucks.sucky.sucre.sudds.sudor.sudsy.suede.suent.suers.suete.suets.suety.sugan.sughs.sugos.suhur.suids.suint.suits.sujee.sukhs.sukuk.sulci.sulfa.sulfo.sulks.sulph.sulus.sumis.summa.sumos.sumph.sumps.sunis.sunks.sunna.sunns.sunup.supes.supra.surah.sural.suras.surat.surds.sured.sures.surfs.surfy.surgy.surra.sused.suses.susus.sutor.sutra.sutta.swabs.swack.swads.swage.swags.swail.swain.swale.swaly.swamy.swang.swank.swans.swaps.swapt.sward.sware.swarf.swart.swats.swayl.sways.sweal.swede.sweed.sweel.sweer.swees.sweir.swelt.swerf.sweys.swies.swigs.swile.swims.swink.swipe.swire.swiss.swith.swits.swive.swizz.swobs.swole.swoln.swops.swopt.swots.swoun.sybbe.sybil.syboe.sybow.sycee.syces.sycon.syens.syker.sykes.sylis.sylph.sylva.symar.synch.syncs.synds.syned.synes.synth.syped.sypes.syphs.syrah.syren.sysop.sythe.syver.taals.taata.taber.tabes.tabid.tabis.tabla.tabor.tabun.tabus.tacan.taces.tacet.tache.tacho.tachs.tacks.tacos.tacts.taels.tafia.taggy.tagma.tahas.tahrs.taiga.taigs.taiko.tails.tains.taira.taish.taits.tajes.takas.takes.takhi.takin.takis.takky.talak.talaq.talar.talas.talcs.talcy.talea.taler.tales.talks.talky.talls.talma.talpa.taluk.talus.tamal.tamed.tames.tamin.tamis.tammy.tamps.tanas.tanga.tangi.tangs.tanhs.tanka.tanks.tanky.tanna.tansy.tanti.tanto.tanty.tapas.taped.tapen.tapes.tapet.tapis.tappa.tapus.taras.tardo.tared.tares.targa.targe.tarns.taroc.tarok.taros.tarps.tarre.tarry.tarsi.tarts.tarty.tasar.tased.taser.tases.tasks.tassa.tasse.tasso.tatar.tater.tates.taths.tatie.tatou.tatts.tatus.taube.tauld.tauon.taupe.tauts.tavah.tavas.taver.tawai.tawas.tawed.tawer.tawie.tawse.tawts.taxed.taxer.taxes.taxis.taxol.taxon.taxor.taxus.tayra.tazza.tazze.teade.teads.teaed.teaks.teals.teams.tears.teats.teaze.techs.techy.tecta.teels.teems.teend.teene.teens.teeny.teers.teffs.teggs.tegua.tegus.tehrs.teiid.teils.teind.teins.telae.telco.teles.telex.telia.telic.tells.telly.teloi.telos.temed.temes.tempi.temps.tempt.temse.tench.tends.tendu.tenes.tenge.tenia.tenne.tenno.tenny.tenon.tents.tenty.tenue.tepal.tepas.tepoy.terai.teras.terce.terek.teres.terfe.terfs.terga.terms.terne.terns.terry.terts.tesla.testa.teste.tests.tetes.teths.tetra.tetri.teuch.teugh.tewed.tewel.tewit.texas.texes.texts.thack.thagi.thaim.thale.thali.thana.thane.thang.thans.thanx.tharm.thars.thaws.thawy.thebe.theca.theed.theek.thees.thegn.theic.thein.thelf.thema.thens.theow.therm.thesp.thete.thews.thewy.thigs.thilk.thill.thine.thins.thiol.thirl.thoft.thole.tholi.thoro.thorp.thous.thowl.thrae.thraw.thrid.thrip.throe.thuds.thugs.thuja.thunk.thurl.thuya.thymi.thymy.tians.tiars.tical.ticca.ticed.tices.tichy.ticks.ticky.tiddy.tided.tides.tiers.tiffs.tifos.tifts.tiges.tigon.tikas.tikes.tikis.tikka.tilak.tiled.tiler.tiles.tills.tilly.tilth.tilts.timbo.timed.times.timon.timps.tinas.tinct.tinds.tinea.tined.tines.tinge.tings.tinks.tinny.tints.tinty.tipis.tippy.tired.tires.tirls.tiros.tirrs.titch.titer.titis.titre.titty.titup.tiyin.tiyns.tizes.tizzy.toads.toady.toaze.tocks.tocky.tocos.todde.toeas.toffs.toffy.tofts.tofus.togae.togas.toged.toges.togue.tohos.toile.toils.toing.toise.toits.tokay.toked.toker.tokes.tokos.tolan.tolar.tolas.toled.toles.tolls.tolly.tolts.tolus.tolyl.toman.tombs.tomes.tomia.tommy.tomos.tondi.tondo.toned.toner.tones.toney.tongs.tonka.tonks.tonne.tonus.tools.tooms.toons.toots.toped.topee.topek.toper.topes.tophe.tophi.tophs.topis.topoi.topos.toppy.toque.torah.toran.toras.torcs.tores.toric.torii.toros.torot.torrs.torse.torsi.torsk.torta.torte.torts.tosas.tosed.toses.toshy.tossy.toted.toter.totes.totty.touks.touns.tours.touse.tousy.touts.touze.touzy.towed.towie.towns.towny.towse.towsy.towts.towze.towzy.toyed.toyer.toyon.toyos.tozed.tozes.tozie.trabs.trads.tragi.traik.trams.trank.tranq.trans.trant.trape.traps.trapt.trass.trats.tratt.trave.trayf.trays.treck.treed.treen.trees.trefa.treif.treks.trema.trems.tress.trest.trets.trews.treyf.treys.triac.tride.trier.tries.triff.trigo.trigs.trike.trild.trill.trims.trine.trins.triol.trior.trios.trips.tripy.trist.troad.troak.troat.trock.trode.trods.trogs.trois.troke.tromp.trona.tronc.trone.tronk.trons.trooz.troth.trots.trows.troys.trued.trues.trugo.trugs.trull.tryer.tryke.tryma.tryps.tsade.tsadi.tsars.tsked.tsuba.tsubo.tuans.tuart.tuath.tubae.tubar.tubas.tubby.tubed.tubes.tucks.tufas.tuffe.tuffs.tufts.tufty.tugra.tuile.tuina.tuism.tuktu.tules.tulpa.tulsi.tumid.tummy.tumps.tumpy.tunas.tunds.tuned.tuner.tunes.tungs.tunny.tupek.tupik.tuple.tuque.turds.turfs.turfy.turks.turme.turms.turns.turnt.turps.turrs.tushy.tusks.tusky.tutee.tutti.tutty.tutus.tuxes.tuyer.twaes.twain.twals.twank.twats.tways.tweel.tween.tweep.tweer.twerk.twerp.twier.twigs.twill.twilt.twink.twins.twiny.twire.twirp.twite.twits.twoer.twyer.tyees.tyers.tyiyn.tykes.tyler.tymps.tynde.tyned.tynes.typal.typed.types.typey.typic.typos.typps.typto.tyran.tyred.tyres.tyros.tythe.tzars.udals.udons.ugali.ugged.uhlan.uhuru.ukase.ulama.ulans.ulema.ulmin.ulnad.ulnae.ulnar.ulnas.ulpan.ulvas.ulyie.ulzie.umami.umbel.umber.umble.umbos.umbre.umiac.umiak.umiaq.ummah.ummas.ummed.umped.umphs.umpie.umpty.umrah.umras.unais.unapt.unarm.unary.unaus.unbag.unban.unbar.unbed.unbid.unbox.uncap.unces.uncia.uncos.uncoy.uncus.undam.undee.undos.undug.uneth.unfix.ungag.unget.ungod.ungot.ungum.unhat.unhip.unica.units.unjam.unked.unket.unkid.unlaw.unlay.unled.unlet.unlid.unman.unmew.unmix.unpay.unpeg.unpen.unpin.unred.unrid.unrig.unrip.unsaw.unsay.unsee.unsew.unsex.unsod.untax.untin.unwet.unwit.unwon.upbow.upbye.updos.updry.upend.upjet.uplay.upled.uplit.upped.upran.uprun.upsee.upsey.uptak.upter.uptie.uraei.urali.uraos.urare.urari.urase.urate.urbex.urbia.urdee.ureal.ureas.uredo.ureic.urena.urent.urged.urger.urges.urial.urite.urman.urnal.urned.urped.ursae.ursid.urson.urubu.urvas.users.usnea.usque.usure.usury.uteri.uveal.uveas.uvula.vacua.vaded.vades.vagal.vagus.vails.vaire.vairs.vairy.vakas.vakil.vales.valis.valse.vamps.vampy.vanda.vaned.vanes.vangs.vants.vaped.vaper.vapes.varan.varas.vardy.varec.vares.varia.varix.varna.varus.varve.vasal.vases.vasts.vasty.vatic.vatus.vauch.vaute.vauts.vawte.vaxes.veale.veals.vealy.veena.veeps.veers.veery.vegas.veges.vegie.vegos.vehme.veils.veily.veins.veiny.velar.velds.veldt.veles.vells.velum.venae.venal.vends.vendu.veney.venge.venin.vents.venus.verbs.verra.verry.verst.verts.vertu.vespa.vesta.vests.vetch.vexed.vexer.vexes.vexil.vezir.vials.viand.vibes.vibex.vibey.viced.vices.vichy.viers.views.viewy.vifda.viffs.vigas.vigia.vilde.viler.villi.vills.vimen.vinal.vinas.vinca.vined.viner.vines.vinew.vinic.vinos.vints.viold.viols.vired.vireo.vires.virga.virge.virid.virls.virtu.visas.vised.vises.visie.visne.vison.visto.vitae.vitas.vitex.vitro.vitta.vivas.vivat.vivda.viver.vives.vizir.vizor.vleis.vlies.vlogs.voars.vocab.voces.voddy.vodou.vodun.voema.vogie.voids.voile.voips.volae.volar.voled.voles.volet.volks.volta.volte.volti.volts.volva.volve.vomer.voted.votes.vouge.voulu.vowed.vower.voxel.vozhd.vraic.vrils.vroom.vrous.vrouw.vrows.vuggs.vuggy.vughs.vughy.vulgo.vulns.vulva.vutty.waacs.wacke.wacko.wacks.wadds.waddy.waded.wader.wades.wadge.wadis.wadts.waffs.wafts.waged.wages.wagga.wagyu.wahoo.waide.waifs.waift.wails.wains.wairs.waite.waits.wakas.waked.waken.waker.wakes.wakfs.waldo.walds.waled.waler.wales.walie.walis.walks.walla.walls.wally.walty.wamed.wames.wamus.wands.waned.wanes.waney.wangs.wanks.wanky.wanle.wanly.wanna.wants.wanty.wanze.waqfs.warbs.warby.wards.wared.wares.warez.warks.warms.warns.warps.warre.warst.warts.wases.washy.wasms.wasps.waspy.wasts.watap.watts.wauff.waugh.wauks.waulk.wauls.waurs.waved.waves.wavey.wawas.wawes.wawls.waxed.waxer.waxes.wayed.wazir.wazoo.weald.weals.weamb.weans.wears.webby.weber.wecht.wedel.wedgy.weeds.weeke.weeks.weels.weems.weens.weeny.weeps.weepy.weest.weete.weets.wefte.wefts.weids.weils.weirs.weise.weize.wekas.welds.welke.welks.welkt.wells.welly.welts.wembs.wends.wenge.wenny.wents.weros.wersh.wests.wetas.wetly.wexed.wexes.whamo.whams.whang.whaps.whare.whata.whats.whaup.whaur.wheal.whear.wheen.wheep.wheft.whelk.whelm.whens.whets.whews.wheys.whids.whift.whigs.whilk.whims.whins.whios.whips.whipt.whirr.whirs.whish.whiss.whist.whits.whity.whizz.whomp.whoof.whoot.whops.whore.whorl.whort.whoso.whows.whump.whups.whyda.wicca.wicks.wicky.widdy.wides.wiels.wifed.wifes.wifey.wifie.wifty.wigan.wigga.wiggy.wikis.wilco.wilds.wiled.wiles.wilga.wilis.wilja.wills.wilts.wimps.winds.wined.wines.winey.winge.wings.wingy.winks.winna.winns.winos.winze.wiped.wiper.wipes.wired.wirer.wires.wirra.wised.wises.wisha.wisht.wisps.wists.witan.wited.wites.withe.withs.withy.wived.wiver.wives.wizen.wizes.woads.woald.wocks.wodge.woful.wojus.woker.wokka.wolds.wolfs.wolly.wolve.wombs.womby.womyn.wonga.wongi.wonks.wonky.wonts.woods.wooed.woofs.woofy.woold.wools.woons.woops.woopy.woose.woosh.wootz.words.works.worms.wormy.worts.wowed.wowee.woxen.wrang.wraps.wrapt.wrast.wrate.wrawl.wrens.wrick.wried.wrier.wries.writs.wroke.wroot.wroth.wryer.wuddy.wudus.wulls.wurst.wuses.wushu.wussy.wuxia.wyled.wyles.wynds.wynns.wyted.wytes.xebec.xenia.xenic.xenon.xeric.xerox.xerus.xoana.xrays.xylan.xylem.xylic.xylol.xylyl.xysti.xysts.yaars.yabas.yabba.yabby.yacca.yacka.yacks.yaffs.yager.yages.yagis.yahoo.yaird.yakka.yakow.yales.yamen.yampy.yamun.yangs.yanks.yapok.yapon.yapps.yappy.yarak.yarco.yards.yarer.yarfa.yarks.yarns.yarrs.yarta.yarto.yates.yauds.yauld.yaups.yawed.yawey.yawls.yawns.yawny.yawps.ybore.yclad.ycled.ycond.ydrad.ydred.yeads.yeahs.yealm.yeans.yeard.years.yecch.yechs.yechy.yedes.yeeds.yeesh.yeggs.yelks.yells.yelms.yelps.yelts.yenta.yente.yerba.yerds.yerks.yeses.yesks.yests.yesty.yetis.yetts.yeuks.yeuky.yeven.yeves.yewen.yexed.yexes.yfere.yiked.yikes.yills.yince.yipes.yippy.yirds.yirks.yirrs.yirth.yites.yitie.ylems.ylike.ylkes.ymolt.ympes.yobbo.yobby.yocks.yodel.yodhs.yodle.yogas.yogee.yoghs.yogic.yogin.yogis.yoick.yojan.yoked.yokel.yoker.yokes.yokul.yolks.yolky.yomim.yomps.yonic.yonis.yonks.yoofs.yoops.yores.yorks.yorps.youks.yourn.yours.yourt.youse.yowed.yowes.yowie.yowls.yowza.yrapt.yrent.yrivd.yrneh.ysame.ytost.yuans.yucas.yucca.yucch.yucko.yucks.yucky.yufts.yugas.yuked.yukes.yukky.yukos.yulan.yules.yummo.yummy.yumps.yupon.yuppy.yurta.yurts.yuzus.zabra.zacks.zaida.zaidy.zaire.zakat.zaman.zambo.zamia.zanja.zante.zanza.zanze.zappy.zarfs.zaris.zatis.zaxes.zayin.zazen.zeals.zebec.zebub.zebus.zedas.zeins.zendo.zerda.zerks.zeros.zests.zetas.zexes.zezes.zhomo.zibet.ziffs.zigan.zilas.zilch.zilla.zills.zimbi.zimbs.zinco.zincs.zincy.zineb.zines.zings.zingy.zinke.zinky.zippo.zippy.ziram.zitis.zizel.zizit.zlote.zloty.zoaea.zobos.zobus.zocco.zoeae.zoeal.zoeas.zoism.zoist.zombi.zonae.zonda.zoned.zoner.zones.zonks.zooea.zooey.zooid.zooks.zooms.zoons.zooty.zoppa.zoppo.zoril.zoris.zorro.zouks.zowee.zowie.zulus.zupan.zupas.zuppa.zurfs.zuzim.zygal.zygon.zymes.zymic".split("."), $ = 5, ri = 6, ii = Object.freeze(new Set([...ni, ...ti]));
|
|
3615
|
-
function
|
|
3616
|
-
return
|
|
3909
|
+
}, _i = /* @__PURE__ */ "which.there.their.about.would.these.other.words.could.write.first.water.after.where.right.think.three.years.place.sound.great.again.still.every.small.found.those.never.under.might.while.house.world.below.asked.going.large.until.along.shall.being.often.earth.began.since.study.night.light.above.paper.parts.young.story.point.times.heard.whole.white.given.means.music.miles.thing.today.later.using.money.lines.order.group.among.learn.known.space.table.early.trees.short.hands.state.black.shown.stood.front.voice.kinds.makes.comes.close.power.lived.vowel.taken.built.heart.ready.quite.class.bring.round.horse.shows.piece.green.stand.birds.start.river.tried.least.field.whose.girls.leave.added.color.third.hours.moved.plant.doing.names.forms.heavy.ideas.cried.check.floor.begin.woman.alone.plane.spell.watch.carry.wrote.clear.named.books.child.glass.human.takes.party.build.seems.blood.sides.seven.mouth.solve.north.value.death.maybe.happy.tells.gives.looks.shape.lives.steps.areas.sense.speak.force.ocean.speed.women.metal.south.grass.scale.cells.lower.sleep.wrong.pages.ships.needs.rocks.eight.major.level.total.ahead.reach.stars.store.sight.terms.catch.works.board.cover.songs.equal.stone.waves.guess.dance.spoke.break.cause.radio.weeks.lands.basic.liked.trade.fresh.final.fight.meant.drive.spent.local.waxes.knows.train.bread.homes.teeth.coast.thick.brown.clean.quiet.sugar.facts.steel.forth.rules.notes.units.peace.month.verbs.seeds.helps.sharp.visit.woods.chief.walls.cross.wings.grown.cases.foods.crops.fruit.stick.wants.stage.sheep.nouns.plain.drink.bones.apart.turns.moves.touch.angle.based.range.marks.tired.older.farms.spend.shoes.goods.chair.twice.cents.empty.alike.style.broke.pairs.count.enjoy.score.shore.roots.paint.heads.shook.serve.angry.crowd.wheel.quick.dress.share.alive.noise.solid.cloth.signs.hills.types.drawn.worth.truck.piano.upper.loved.usual.faces.drove.cabin.boats.towns.proud.court.model.prime.fifty.plans.yards.prove.tools.price.sheet.smell.boxes.raise.match.truth.roads.threw.enemy.lunch.chart.scene.graph.doubt.guide.winds.block.grain.smoke.mixed.games.wagon.sweet.topic.extra.plate.title.knife.fence.falls.cloud.wheat.plays.enter.broad.steam.atoms.press.lying.basis.clock.taste.grows.thank.storm.agree.brain.track.smile.funny.beach.stock.hurry.saved.sorry.giant.trail.offer.ought.rough.daily.avoid.keeps.throw.allow.cream.laugh.edges.teach.frame.bells.dream.magic.occur.ended.chord.false.skill.holes.dozen.brave.apple.climb.outer.pitch.ruler.holds.fixed.costs.calls.blank.staff.labor.eaten.youth.tones.honor.globe.gases.doors.poles.loose.apply.tears.exact.brush.chest.layer.whale.minor.faith.tests.judge.items.worry.waste.hoped.strip.begun.aside.lakes.bound.depth.candy.event.worse.aware.shell.rooms.ranch.image.snake.aloud.dried.likes.motor.pound.knees.refer.fully.chain.shirt.flour.drops.spite.orbit.banks.shoot.curve.tribe.tight.blind.slept.shade.claim.flies.theme.queen.fifth.union.hence.straw.entry.issue.birth.feels.anger.brief.rhyme.glory.guard.flows.flesh.owned.trick.yours.sizes.noted.width.burst.route.lungs.uncle.bears.royal.kings.forty.trial.cards.brass.opera.chose.owner.vapor.beats.mouse.tough.wires.meter.tower.finds.inner.stuck.arrow.poems.label.swing.solar.truly.tense.beans.split.rises.weigh.hotel.stems.pride.swung.grade.digit.badly.boots.pilot.sales.swept.lucky.prize.stove.tubes.acres.wound.steep.slide.trunk.error.porch.slave.exist.faced.mines.marry.juice.raced.waved.goose.trust.fewer.favor.mills.views.joint.eager.spots.blend.rings.adult.index.nails.horns.balls.flame.rates.drill.trace.skins.waxed.seats.stuff.ratio.minds.dirty.silly.coins.hello.trips.leads.rifle.hopes.bases.shine.bench.moral.fires.meals.shake.shops.cycle.movie.slope.canoe.teams.folks.fired.bands.thumb.shout.canal.habit.reply.ruled.fever.crust.shelf.walks.midst.crack.print.tales.coach.stiff.flood.verse.awake.rocky.march.fault.swift.faint.civil.ghost.feast.blade.limit.germs.reads.ducks.dairy.worst.gifts.lists.stops.rapid.brick.claws.beads.beast.skirt.cakes.lions.frogs.tries.nerve.grand.armed.treat.honey.moist.legal.penny.crown.shock.taxes.sixty.altar.pulls.sport.drums.talks.dying.dates.drank.blows.lever.wages.proof.drugs.tanks.sings.tails.pause.herds.arose.hated.clues.novel.shame.burnt.races.flash.weary.heels.token.coats.spare.shiny.alarm.dimes.sixth.clerk.mercy.sunny.guest.float.shone.pipes.worms.bills.sweat.suits.smart.upset.rains.sandy.rainy.parks.sadly.fancy.rider.unity.bunch.rolls.crash.craft.newly.gates.hatch.paths.funds.wider.grace.grave.tides.admit.shift.sails.pupil.tiger.angel.cruel.agent.drama.urged.patch.nests.vital.sword.blame.weeds.screw.vocal.bacon.chalk.cargo.crazy.acted.goats.arise.witch.loves.queer.dwell.backs.ropes.shots.merry.phone.cheek.peaks.ideal.beard.eagle.creek.cries.ashes.stall.yield.mayor.opens.input.fleet.tooth.cubic.wives.burns.poets.apron.spear.organ.cliff.stamp.paste.rural.baked.chase.slice.slant.knock.noisy.sorts.stays.wiped.blown.piled.clubs.cheer.widow.twist.tenth.hides.comma.sweep.spoon.stern.crept.maple.deeds.rides.muddy.crime.jelly.ridge.drift.dusty.devil.tempo.humor.sends.steal.tents.waist.roses.reign.noble.cheap.dense.linen.geese.woven.posts.hired.wrath.salad.bowed.tires.shark.belts.grasp.blast.polar.fungi.tends.pearl.loads.jokes.veins.frost.hears.loses.hosts.diver.phase.toads.alert.tasks.seams.coral.focus.naked.puppy.jumps.spoil.quart.macro.fears.flung.spark.vivid.brook.steer.spray.decay.ports.socks.urban.goals.grant.minus.films.tunes.shaft.firms.skies.bride.wreck.flock.stare.hobby.bonds.dared.faded.thief.crude.pants.flute.votes.tonal.radar.wells.skull.hairs.argue.wears.dolls.voted.caves.cared.broom.scent.panel.fairy.olive.bends.prism.lamps.cable.peach.ruins.rally.schwa.lambs.sells.cools.draft.charm.limbs.brake.gazed.cubes.delay.beams.fetch.ranks.array.harsh.camel.vines.picks.naval.purse.rigid.crawl.toast.soils.sauce.basin.ponds.twins.wrist.fluid.pools.brand.stalk.robot.reeds.hoofs.buses.sheer.grief.bloom.dwelt.melts.risen.flags.knelt.fiber.roofs.freed.armor.piles.aimed.algae.twigs.lemon.ditch.drunk.rests.chill.slain.panic.cords.tuned.crisp.ledge.dived.swamp.clung.stole.molds.yarns.liver.gauge.breed.stool.gulls.awoke.gross.diary.rails.belly.trend.flask.stake.fried.draws.actor.handy.bowls.haste.scope.deals.knots.moons.essay.thump.hangs.bliss.dealt.gains.bombs.clown.palms.cones.roast.tidal.bored.chant.acids.dough.camps.swore.lover.hooks.males.cocoa.punch.award.reins.ninth.noses.links.drain.fills.nylon.lunar.pulse.flown.elbow.fatal.sites.moths.meats.foxes.mined.attic.fiery.mount.usage.swear.snowy.rusty.scare.traps.relax.react.valid.robin.cease.gills.prior.safer.polio.loyal.swell.salty.marsh.vague.weave.mound.seals.mules.virus.scout.acute.windy.stout.folds.seize.hilly.joins.pluck.stack.lords.dunes.burro.hawks.trout.feeds.scarf.halls.coals.towel.souls.elect.buggy.pumps.loans.spins.files.oxide.pains.photo.rival.flats.syrup.rodeo.sands.moose.pints.curly.comic.cloak.onion.clams.scrap.didst.couch.codes.fails.ounce.lodge.greet.gypsy.utter.paved.zones.fours.alley.tiles.bless.crest.elder.kills.yeast.erect.bugle.medal.roles.hound.snail.alter.ankle.relay.loops.zeros.bites.modes.debts.realm.glove.rayon.swims.poked.stray.lifts.maker.lumps.graze.dread.barns.docks.masts.pours.wharf.curse.plump.robes.seeks.cedar.curls.jolly.myths.cages.gloom.locks.pedal.beets.crows.anode.slash.creep.rowed.chips.fists.wines.cares.valve.newer.motel.ivory.necks.clamp.barge.blues.alien.frown.strap.crews.shack.gonna.saves.stump.ferry.idols.cooks.juicy.glare.carts.alloy.bulbs.lawns.lasts.fuels.oddly.crane.filed.weird.shawl.slips.troop.bolts.suite.sleek.quilt.tramp.blaze.atlas.odors.scrub.crabs.probe.logic.adobe.exile.rebel.grind.sting.spine.cling.desks.grove.leaps.prose.lofty.agony.snare.tusks.bulls.moods.humid.finer.dimly.plank.china.pines.guilt.sacks.brace.quote.lathe.gaily.fonts.scalp.adopt.foggy.ferns.grams.clump.perch.tumor.teens.crank.fable.hedge.genes.sober.boast.tract.cigar.unite.owing.thigh.haiku.swish.dikes.wedge.booth.eased.frail.cough.tombs.darts.forts.choir.pouch.pinch.hairy.buyer.torch.vigor.waltz.heats.herbs.users.flint.click.madam.bleak.blunt.aided.lacks.masks.waded.risks.nurse.chaos.sewed.cured.ample.lease.steak.sinks.merit.bluff.bathe.gleam.bonus.colts.shear.gland.silky.skate.birch.anvil.sleds.groan.maids.meets.speck.hymns.hints.drown.bosom.slick.quest.coils.spied.snows.stead.snack.plows.blond.tamed.thorn.waits.glued.banjo.tease.arena.bulky.carve.stunt.warms.shady.razor.folly.leafy.notch.fools.otter.pears.flush.genus.ached.fives.flaps.spout.smote.fumes.adapt.cuffs.tasty.stoop.clips.disks.sniff.lanes.brisk.imply.demon.super.furry.raged.growl.texts.hardy.stung.typed.hates.wiser.timid.serum.beaks.rotor.casts.baths.glide.plots.trait.resin.slums.lyric.puffs.decks.brood.mourn.aloft.abuse.whirl.edged.ovary.quack.heaps.slang.await.civic.saint.bevel.sonar.aunts.packs.froze.tonic.corps.swarm.frank.repay.gaunt.wired.niece.cello.needy.chuck.stony.media.surge.hurts.repel.husky.dated.hunts.mists.exert.dries.mates.sworn.baker.spice.oasis.boils.spurs.doves.sneak.paces.colon.siege.strum.drier.cacao.humus.bales.piped.nasty.rinse.boxer.shrub.amuse.tacks.cited.slung.delta.laden.larva.rents.yells.spool.spill.crush.jewel.snaps.stain.kicks.tying.slits.rated.eerie.smash.plums.zebra.earns.bushy.scary.squad.tutor.silks.slabs.bumps.evils.fangs.snout.peril.pivot.yacht.lobby.jeans.grins.viola.liner.comet.scars.chops.raids.eater.slate.skips.soles.misty.urine.knobs.sleet.holly.pests.forks.grill.trays.pails.borne.tenor.wares.carol.woody.canon.wakes.kitty.miner.polls.shaky.nasal.scorn.chess.taxis.crate.shyly.tulip.forge.nymph.budge.lowly.abide.depot.oases.asses.sheds.fudge.pills.rivet.thine.groom.lanky.boost.broth.heave.gravy.beech.timed.quail.inert.gears.chick.hinge.trash.clash.sighs.renew.bough.dwarf.slows.quill.shave.spore.sixes.chunk.madly.paced.braid.fuzzy.motto.spies.slack.mucus.magma.awful.discs.erase.posed.asset.cider.taper.theft.churn.satin.slots.taxed.bully.sloth.shale.tread.raked.curds.manor.aisle.bulge.loins.stair.tapes.leans.bunks.squat.towed.lance.panes.sakes.heirs.caste.dummy.pores.fauna.crook.poise.epoch.risky.warns.fling.berry.grape.flank.drags.squid.pelts.icing.irony.irons.barks.whoop.choke.diets.whips.tally.dozed.twine.kites.bikes.ticks.riots.roars.vault.looms.scold.blink.dandy.pupae.sieve.spike.ducts.lends.pizza.brink.widen.plumb.pagan.feats.bison.soggy.scoop.argon.nudge.skiff.amber.sexes.rouse.salts.hitch.exalt.leash.dined.chute.snort.gusts.melon.cheat.reefs.llama.lasso.debut.quota.oaths.prone.mixes.rafts.dives.stale.inlet.flick.pinto.brows.untie.batch.greed.chore.stirs.blush.onset.barbs.volts.beige.swoop.paddy.laced.shove.jerky.poppy.leaks.fares.dodge.godly.squaw.affix.brute.nicer.undue.snarl.merge.doses.showy.daddy.roost.vases.swirl.petty.colds.curry.cobra.genie.flare.messy.cores.soaks.ripen.whine.amino.plaid.spiny.mowed.baton.peers.vowed.pious.swans.exits.afoot.plugs.idiom.chili.rites.serfs.cleft.berth.grubs.annex.dizzy.hasty.latch.wasps.mirth.baron.plead.aloof.aging.pixel.bared.mummy.hotly.auger.buddy.chaps.badge.stark.fairs.gully.mumps.emery.filly.ovens.drone.gauze.idiot.fussy.annoy.shank.gouge.bleed.elves.roped.unfit.baggy.mower.scant.grabs.fleas.lousy.album.sawed.cooky.murky.infer.burly.waged.dingy.brine.kneel.creak.vanes.smoky.spurt.combs.easel.laces.humps.rumor.aroma.horde.swiss.leapt.opium.slime.afire.pansy.mares.soaps.husks.snips.hazel.lined.cafes.naive.wraps.sized.piers.beset.agile.tongs.steed.fraud.booty.valor.downy.witty.mossy.psalm.scuba.tours.polka.milky.gaudy.shrug.tufts.wilds.laser.truss.hares.creed.lilac.siren.tarry.bribe.swine.muted.flips.cures.sinew.boxed.hoops.gasps.hoods.niche.yucca.glows.sewer.whack.fuses.gowns.droop.bucks.pangs.mails.whisk.haven.clasp.sling.stint.urges.champ.piety.chirp.pleat.posse.sunup.menus.howls.quake.knack.plaza.fiend.caked.bangs.erupt.poker.olden.cramp.voter.poses.manly.slump.fined.grips.gaped.purge.hiked.maize.fluff.strut.sloop.prowl.roach.cocks.bland.dials.plume.slaps.soups.dully.wills.foams.solos.skier.eaves.totem.fused.latex.veils.mused.mains.myrrh.racks.galls.gnats.bouts.sisal.shuts.hoses.dryly.hover.gloss.seeps.denim.putty.guppy.leaky.dusky.filth.oboes.spans.fowls.adorn.glaze.haunt.dares.obeys.bakes.abyss.smelt.gangs.aches.trawl.claps.undid.spicy.hoist.fades.vicar.acorn.pussy.gruff.musty.tarts.snuff.hunch.truce.tweed.dryer.loser.sheaf.moles.lapse.tawny.vexed.autos.wager.domes.sheen.clang.spade.sowed.broil.slyly.studs.grunt.donor.slugs.aspen.homer.croak.tithe.halts.avert.havoc.hogan.glint.ruddy.jeeps.flaky.ladle.taunt.snore.fines.props.prune.pesos.radii.pokes.tiled.daisy.heron.villa.farce.binds.cites.fixes.jerks.livid.waked.inked.booms.chews.licks.hyena.scoff.lusty.sonic.smith.usher.tucks.vigil.molts.sects.spars.dumps.scaly.wisps.sores.mince.panda.flier.axles.plied.booby.patio.rabbi.petal.polyp.tints.grate.troll.tolls.relic.phony.bleat.flaws.flake.snags.aptly.drawl.ulcer.soapy.bossy.monks.crags.caged.twang.diner.taped.cadet.grids.spawn.guile.noose.mores.girth.slimy.aides.spasm.burrs.alibi.lymph.saucy.muggy.liter.joked.goofy.exams.enact.stork.lured.toxic.omens.nears.covet.wrung.forum.venom.moody.alder.sassy.flair.guild.prays.wrens.hauls.stave.tilts.pecks.stomp.gales.tempt.capes.mesas.omits.tepee.harry.wring.evoke.limes.cluck.lunge.highs.canes.giddy.lithe.verge.khaki.queue.loath.foyer.outdo.fared.deter.crumb.astir.spire.jumpy.extol.buoys.stubs.lucid.thong.afore.whiff.maxim.hulls.clogs.slats.jiffy.arbor.cinch.igloo.goody.gazes.dowel.calms.bitch.scowl.gulps.coded.waver.mason.lobes.ebony.flail.isles.clods.dazed.adept.oozed.sedan.clays.warts.ketch.skunk.manes.adore.sneer.mango.fiord.flora.roomy.minks.thaws.watts.freer.exult.plush.paled.twain.clink.scamp.pawed.grope.bravo.gable.stink.sever.waned.rarer.regal.wards.fawns.babes.unify.amend.oaken.glade.visor.hefty.nines.throb.pecan.butts.pence.sills.jails.flyer.saber.nomad.miter.beeps.domed.gulfs.curbs.heath.moors.aorta.larks.tangy.wryly.cheep.rages.evade.lures.freak.vogue.tunic.slams.knits.dumpy.mania.spits.firth.hikes.trots.nosed.clank.dogma.bloat.balsa.graft.middy.stile.keyed.finch.sperm.chaff.wiles.amigo.copra.amiss.eying.twirl.lurch.popes.chins.smock.tines.guise.grits.junks.shoal.cache.tapir.atoll.deity.toils.spree.mocks.scans.shorn.revel.raven.hoary.reels.scuff.mimic.weedy.corny.truer.rouge.ember.floes.torso.wipes.edict.sulky.recur.groin.baste.kinks.surer.piggy.moldy.franc.liars.inept.gusty.facet.jetty.equip.leper.slink.soars.cater.dowry.sided.yearn.decoy.taboo.ovals.heals.pleas.beret.spilt.gayly.rover.endow.pygmy.carat.abbey.vents.waken.chimp.fumed.sodas.vinyl.clout.wades.mites.smirk.bores.bunny.surly.frock.foray.purer.milks.query.mired.blare.froth.gruel.navel.paler.puffy.casks.grime.derby.mamma.gavel.teddy.vomit.moans.allot.defer.wield.viper.louse.erred.hewed.abhor.wrest.waxen.adage.ardor.stabs.pored.rondo.loped.fishy.bible.hires.foals.feuds.jambs.thuds.jeers.knead.quirk.rugby.expel.greys.rigor.ester.lyres.aback.glues.lotus.lurid.rungs.hutch.thyme.valet.tommy.yokes.epics.trill.pikes.ozone.caper.chime.frees.famed.leech.smite.neigh.erode.robed.hoard.salve.conic.gawky.craze.jacks.gloat.mushy.rumps.fetus.wince.pinks.shalt.toots.glens.cooed.rusts.stews.shred.parka.chugs.winks.clots.shrew.booed.filmy.juror.dents.gummy.grays.hooky.butte.dogie.poled.reams.fifes.spank.gayer.tepid.spook.taint.flirt.rogue.spiky.opals.miser.cocky.coyly.balmy.slosh.brawl.aphid.faked.hydra.brags.chide.yanks.allay.video.altos.eases.meted.chasm.longs.excel.taffy.impel.savor.koala.quays.dawns.proxy.clove.duets.dregs.tardy.briar.grimy.ultra.meaty.halve.wails.suede.mauve.envoy.arson.coves.gooey.brews.sofas.chums.amaze.zooms.abbot.halos.scour.suing.cribs.sagas.enema.wordy.harps.coupe.molar.flops.weeps.mints.ashen.felts.askew.munch.mewed.divan.vices.jumbo.blobs.blots.spunk.acrid.topaz.cubed.clans.flees.slurs.gnaws.welds.fords.emits.agate.pumas.mends.darks.dukes.plies.canny.hoots.oozes.lamed.fouls.clefs.nicks.mated.skims.brunt.tuber.tinge.fates.ditty.thins.frets.eider.bayou.mulch.fasts.amass.damps.morns.friar.palsy.vista.croon.conch.udder.tacos.skits.mikes.quits.preen.aster.adder.elegy.pulpy.scows.baled.hovel.lavas.crave.optic.welts.busts.knave.razed.shins.totes.scoot.dears.crock.mutes.trims.skein.doted.shuns.veers.fakes.yoked.wooed.hacks.sprig.wands.lulls.seers.snobs.nooks.pined.perky.mooed.frill.dines.booze.tripe.prong.drips.odder.levee.antic.sidle.pithy.corks.yelps.joker.fleck.buffs.scram.tiers.bogey.doled.irate.vales.coped.hails.elude.bulks.aired.vying.stags.strew.cocci.pacts.scabs.silos.dusts.yodel.terse.jaded.baser.jibes.foils.sways.forgo.slays.preys.treks.quell.peeks.assay.lurks.eject.boars.trite.belch.gnash.wanes.lutes.whims.dosed.chewy.snipe.umbra.teems.dozes.kelps.upped.brawn.doped.shush.rinds.slush.moron.voile.woken.fjord.sheik.jests.kayak.slews.toted.saner.drape.patty.raves.sulfa.grist.skied.vixen.civet.vouch.tiara.homey.moped.runts.serge.kinky.rills.corns.brats.pries.amble.fries.loons.tsars.datum.musky.pigmy.gnome.ravel.ovule.icily.liken.lemur.frays.silts.sifts.plods.ramps.tress.earls.dudes.waive.karat.jolts.peons.beers.horny.pales.wreak.lairs.lynch.stank.swoon.idler.abort.blitz.ensue.atone.bingo.roves.kilts.scald.adios.cynic.dulls.memos.elfin.dales.peels.peals.bares.sinus.crone.sable.hinds.shirk.enrol.wilts.roams.duped.cysts.mitts.safes.spats.coops.filet.knell.refit.covey.punks.kilns.fitly.abate.talcs.heeds.duels.wanly.ruffs.gauss.lapel.jaunt.whelp.cleat.gauzy.dirge.edits.wormy.moats.smear.prods.bowel.frisk.vests.bayed.rasps.tames.delve.embed.befit.wafer.ceded.novas.feign.spews.larch.huffs.doles.mamas.hulks.pried.brims.irked.aspic.swipe.mealy.skimp.bluer.slake.dowdy.penis.brays.pupas.egret.flunk.phlox.gripe.peony.douse.blurs.darns.slunk.lefts.chats.inane.vials.stilt.rinks.woofs.wowed.bongs.frond.ingot.evict.singe.shyer.flied.slops.dolts.drool.dells.whelk.hippy.feted.ether.cocos.hives.jibed.mazes.trios.sirup.squab.laths.leers.pasta.rifts.lopes.alias.whirs.diced.slags.lodes.foxed.idled.prows.plait.malts.chafe.cower.toyed.chefs.keels.sties.racer.etude.sucks.sulks.micas.czars.copse.ailed.abler.rabid.golds.croup.snaky.visas.palls.mopes.boned.wispy.raved.swaps.junky.doily.pawns.tamer.poach.baits.damns.gumbo.daunt.prank.hunks.buxom.heres.honks.stows.unbar.idles.routs.sages.goads.remit.copes.deign.culls.girds.haves.lucks.stunk.dodos.shams.snubs.icons.usurp.dooms.hells.soled.comas.paves.maths.perks.limps.wombs.blurb.daubs.cokes.sours.stuns.cased.musts.coeds.cowed.aping.zoned.rummy.fetes.skulk.quaff.rajah.deans.reaps.galas.tills.roved.kudos.toned.pared.scull.vexes.punts.snoop.bails.dames.hazes.lores.marts.voids.ameba.rakes.adzes.harms.rears.satyr.swill.hexes.colic.leeks.hurls.yowls.ivies.plops.musks.papaw.jells.bused.cruet.bided.filch.zests.rooks.laxly.rends.loams.basks.sires.carps.pokey.flits.muses.bawls.shuck.viler.lisps.peeps.sorer.lolls.prude.diked.floss.flogs.scums.dopes.bogie.pinky.leafs.tubas.scads.lowed.yeses.biked.qualm.evens.caned.gawks.whits.wooly.gluts.romps.bests.dunce.crony.joist.tunas.boner.malls.parch.avers.crams.pares.dally.bigot.kales.flays.leach.gushy.pooch.huger.slyer.golfs.mires.flues.loafs.arced.acnes.neons.fiefs.dints.dazes.pouts.cored.yules.lilts.beefs.mutts.fells.cowls.spuds.lames.jawed.dupes.deads.bylaw.noons.nifty.clued.vireo.gapes.metes.cuter.maims.droll.cupid.mauls.sedge.papas.wheys.eking.loots.hilts.meows.beaus.dices.peppy.riper.fogey.gists.yogas.gilts.skews.cedes.zeals.alums.okays.elope.grump.wafts.soots.blimp.hefts.mulls.hosed.cress.doffs.ruder.pixie.waifs.ousts.pucks.biers.gulch.suets.hobos.lints.brans.teals.garbs.pewee.helms.turfs.quips.wends.banes.napes.icier.swats.bagel.hexed.ogres.goner.gilds.pyres.lards.bides.paged.talon.flout.medic.veals.putts.dirks.dotes.tippy.blurt.piths.acing.barer.whets.gaits.wools.dunks.heros.swabs.dirts.jutes.hemps.surfs.okapi.chows.shoos.dusks.parry.decal.furls.cilia.sears.novae.murks.warps.slues.lamer.saris.weans.purrs.dills.togas.newts.meany.bunts.razes.goons.wicks.ruses.vends.geode.drake.judos.lofts.pulps.lauds.mucks.vises.mocha.oiled.roman.ethyl.gotta.fugue.smack.gourd.bumpy.radix.fatty.borax.cubit.cacti.gamma.focal.avail.papal.golly.elite.versa.billy.adieu.annum.howdy.rhino.norms.bobby.axiom.setup.yolks.terns.mixer.genre.knoll.abode.junta.gorge.combo.alpha.overt.kinda.spelt.prick.nobly.ephod.audio.modal.veldt.warty.fluke.bonny.bream.rosin.bolls.doers.downs.beady.motif.humph.fella.mould.crepe.kerns.aloha.glyph.azure.riser.blest.locus.lumpy.beryl.wanna.brier.tuner.rowdy.mural.timer.canst.krill.quoth.lemme.triad.tenon.amply.deeps.padre.leant.pacer.octal.dolly.trans.sumac.foamy.lolly.giver.quipu.codex.manna.unwed.vodka.ferny.salon.duple.boron.revue.crier.alack.inter.dilly.whist.cults.spake.reset.loess.decor.mover.verve.ethic.gamut.lingo.dunno.align.sissy.incur.reedy.avant.piper.waxer.calyx.basil.coons.seine.piney.lemma.trams.winch.whirr.saith.ionic.heady.harem.tummy.sally.shied.dross.farad.saver.tilde.jingo.bower.serif.facto.belle.inset.bogus.caved.forte.sooty.bongo.toves.credo.basal.yella.aglow.glean.gusto.hymen.ethos.terra.brash.scrip.swash.aleph.tinny.itchy.wanta.trice.jowls.gongs.garde.boric.twill.sower.henry.awash.libel.spurn.sabre.rebut.penal.obese.sonny.quirt.mebbe.tacit.greek.xenon.hullo.pique.roger.negro.hadst.gecko.beget.uncut.aloes.louis.quint.clunk.raped.salvo.diode.matey.hertz.xylem.kiosk.apace.cawed.peter.wench.cohos.sorta.gamba.bytes.tango.nutty.axial.aleck.natal.clomp.gored.siree.bandy.gunny.runic.whizz.rupee.fated.wiper.bards.briny.staid.hocks.ochre.yummy.gents.soupy.roper.swath.cameo.edger.spate.gimme.ebbed.breve.theta.deems.dykes.servo.telly.tabby.tares.blocs.welch.ghoul.vitae.cumin.dinky.bronc.tabor.teeny.comer.borer.sired.privy.mammy.deary.gyros.sprit.conga.quire.thugs.furor.bloke.runes.bawdy.cadre.toxin.annul.egged.anion.nodes.picky.stein.jello.audit.echos.fagot.letup.eyrie.fount.caped.axons.amuck.banal.riled.petit.umber.miler.fibre.agave.bated.bilge.vitro.feint.pudgy.mater.manic.umped.pesky.strep.slurp.pylon.puree.caret.temps.newel.yawns.seedy.treed.coups.rangy.brads.mangy.loner.circa.tibia.afoul.mommy.titer.carne.kooky.motes.amity.suave.hippo.curvy.samba.newsy.anise.imams.tulle.aways.liven.hallo.wales.opted.canto.idyll.bodes.curio.wrack.hiker.chive.yokel.dotty.demur.cusps.specs.quads.laity.toner.decry.writs.saute.clack.aught.logos.tipsy.natty.ducal.bidet.bulgy.metre.lusts.unary.goeth.baler.sited.shies.hasps.brung.holed.swank.looky.melee.huffy.loamy.pimps.titan.binge.shunt.femur.libra.seder.honed.annas.coypu.shims.zowie.jihad.savvy.nadir.basso.monic.maned.mousy.omega.laver.prima.picas.folio.mecca.reals.troth.testy.balky.crimp.chink.abets.splat.abaci.vaunt.cutie.pasty.moray.levis.ratty.islet.joust.motet.viral.nukes.grads.comfy.voila.woozy.blued.whomp.sward.metro.skeet.chine.aerie.bowie.tubby.emirs.coati.unzip.slobs.trike.funky.ducat.dewey.skoal.wadis.oomph.taker.minim.getup.stoic.synod.runty.flyby.braze.inlay.venue.louts.peaty.orlon.humpy.radon.beaut.raspy.unfed.crick.nappy.vizor.yipes.rebus.divot.kiwis.vetch.squib.sitar.kiddo.dyers.cotta.matzo.lager.zebus.crass.dacha.kneed.dicta.fakir.knurl.runny.unpin.julep.globs.nudes.sushi.tacky.stoke.kaput.butch.hulas.croft.achoo.genii.nodal.outgo.spiel.viols.fetid.cagey.fudgy.epoxy.leggy.hanky.lapis.felon.beefy.coots.melba.caddy.segue.betel.frizz.drear.kooks.turbo.hoagy.moult.helix.zonal.arias.nosey.paean.lacey.banns.swain.fryer.retch.tenet.gigas.whiny.ogled.rumen.begot.cruse.abuts.riven.balks.sines.sigma.abase.ennui.gores.unset.augur.sated.odium.latin.dings.moire.scion.henna.kraut.dicks.lifer.prigs.bebop.gages.gazer.fanny.gibes.aural.tempi.hooch.rapes.snuck.harts.techs.emend.ninny.guava.scarp.liege.tufty.sepia.tomes.carob.emcee.prams.poser.verso.hubba.joule.baize.blips.scrim.cubby.clave.winos.rearm.liens.lumen.chump.nanny.trump.fichu.chomp.homos.purty.maser.woosh.patsy.shill.rusks.avast.swami.boded.ahhhh.lobed.natch.shish.tansy.snoot.payer.altho.sappy.laxer.hubby.aegis.riles.ditto.jazzy.dingo.quasi.septa.peaky.lorry.heerd.bitty.payee.seamy.apses.imbue.belie.chary.spoof.phyla.clime.babel.wacky.sumps.skids.khans.crypt.inure.nonce.outen.faire.hooey.anole.kazoo.calve.limbo.argot.ducky.faker.vibes.gassy.unlit.nervy.femme.biter.fiche.boors.gaffe.saxes.recap.synch.facie.dicey.ouija.hewer.legit.gurus.edify.tweak.caron.typos.rerun.polly.surds.hamza.nulls.hater.lefty.mogul.mafia.debug.pates.blabs.splay.talus.porno.moola.nixed.kilos.snide.horsy.gesso.jaggy.trove.nixes.creel.pater.iotas.cadge.skyed.hokum.furze.ankhs.curie.nutsy.hilum.remix.angst.burls.jimmy.veiny.tryst.codon.befog.gamed.flume.axman.doozy.lubes.rheas.bozos.butyl.kelly.mynah.jocks.donut.avian.wurst.chock.quash.quals.hayed.bombe.cushy.spacy.puked.leery.thews.prink.amens.tesla.intro.fiver.frump.capos.opine.coder.namer.jowly.pukes.haled.chard.duffs.bruin.reuse.whang.toons.frats.silty.telex.cutup.nisei.neato.decaf.softy.bimbo.adlib.loony.shoed.agues.peeve.noway.gamey.sarge.reran.epact.potty.coned.upend.narco.ikats.whorl.jinks.tizzy.weepy.posit.marge.vegan.clops.numbs.reeks.rubes.rower.biped.tiffs.hocus.hammy.bunco.fixit.tykes.chaws.yucky.hokey.resew.maven.adman.scuzz.slogs.souse.nacho.mimed.melds.boffo.debit.pinup.vagus.gulag.randy.bosun.educe.faxes.auras.pesto.antsy.betas.fizzy.dorky.snits.moxie.thane.mylar.nobby.gamin.gouty.esses.goyim.paned.druid.jades.rehab.gofer.tzars.octet.homed.socko.dorks.eared.anted.elide.fazes.oxbow.dowse.situs.macaw.scone.drily.hyper.salsa.mooch.gated.unjam.lipid.mitre.venal.knish.ritzy.divas.torus.mange.dimer.recut.meson.wined.fends.phage.fiats.caulk.cavil.panty.roans.bilks.hones.botch.estop.sully.sooth.gelds.ahold.raper.pager.fixer.infix.hicks.tuxes.plebe.twits.abash.twixt.wacko.primp.nabla.girts.miffs.emote.xerox.rebid.shahs.rutty.grout.grift.deify.biddy.kopek.semis.bries.acmes.piton.hussy.torts.disco.whore.boozy.gibed.vamps.amour.soppy.gonzo.durst.wader.tutus.perms.catty.glitz.brigs.nerds.barmy.gizmo.owlet.sayer.molls.shard.whops.comps.corer.colas.matte.droid.ploys.vapid.cairn.deism.mixup.yikes.prosy.raker.flubs.whish.reify.craps.shags.clone.hazed.macho.recto.refix.drams.biker.aquas.porky.doyen.exude.goofs.divvy.noels.jived.hulky.cager.harpy.oldie.vivas.admix.codas.zilch.deist.orcas.retro.pilaf.parse.rants.zingy.toddy.chiff.micro.veeps.girly.nexus.demos.bibbs.antes.lulus.gnarl.zippy.ivied.epees.wimps.tromp.grail.yoyos.poufs.hales.roust.cabal.rawer.pampa.mosey.kefir.burgs.unmet.cuspy.boobs.boons.hypes.dynes.nards.lanai.yogis.sepal.quark.toked.prate.ayins.hawed.swigs.vitas.toker.doper.bossa.linty.foist.mondo.stash.kayos.twerp.zesty.capon.wimpy.rewed.fungo.tarot.frosh.kabob.pinko.redid.mimeo.heist.tarps.lamas.sutra.dinar.whams.busty.spays.mambo.nabob.preps.odour.cabby.conks.sluff.dados.houri.swart.balms.gutsy.faxed.egads.pushy.retry.agora.drubs.daffy.chits.mufti.karma.lotto.toffs.burps.deuce.zings.kappa.clads.doggy.duper.scams.ogler.mimes.throe.zetas.waled.promo.blats.muffs.oinks.viand.coset.finks.faddy.minis.snafu.sauna.usury.muxes.craws.stats.condo.coxes.loopy.dorms.ascot.dippy.execs.dopey.envoi.umpty.gismo.fazed.strop.jives.slims.batik.pings.sonly.leggo.pekoe.prawn.luaus.campy.oodle.prexy.proms.touts.ogles.tweet.toady.naiad.hider.nuked.fatso.sluts.obits.narcs.tyros.delis.wooer.hyped.poset.byway.texas.scrod.avows.futon.torte.tuple.carom.kebab.tamps.jilts.duals.artsy.repro.modem.toped.psych.sicko.klutz.tarns.coxed.drays.cloys.anded.piker.aimer.suras.limos.flack.hapax.dutch.mucky.shire.klieg.staph.layup.tokes.axing.toper.duvet.cowry.profs.blahs.addle.sudsy.batty.coifs.suety.gabby.hafta.pitas.gouda.deice.taupe.topes.duchy.nitro.carny.limey.orals.hirer.taxer.roils.ruble.elate.dolor.wryer.snots.quais.coked.gimel.gorse.minas.goest.agape.manta.jings.iliac.admen.offen.cills.offal.lotta.bolas.thwap.alway.boggy.donna.locos.belay.gluey.bitsy.mimsy.hilar.outta.vroom.fetal.raths.renal.dyads.crocs.vires.culpa.kivas.feist.teats.thats.yawls.whens.abaca.ohhhh.aphis.fusty.eclat.perdu.mayst.exeat.molly.supra.wetly.plasm.buffa.semen.pukka.tagua.paras.stoat.secco.carte.haute.molal.shads.forma.ovoid.pions.modus.bueno.rheum.scurf.parer.ephah.doest.sprue.flams.molto.dieth.choos.miked.bronx.goopy.bally.plumy.moony.morts.yourn.bipod.spume.algal.ambit.mucho.spued.dozer.harum.groat.skint.laude.thrum.pappy.oncet.rimed.gigue.limed.plein.redly.humpf.lites.seest.grebe.absit.thanx.pshaw.yawps.plats.payed.areal.tilth.youse.gwine.thees.watsa.lento.spitz.yawed.gipsy.sprat.cornu.amahs.blowy.wahoo.lubra.mecum.whooo.coqui.sabra.edema.mrads.dicot.astro.kited.ouzel.didos.grata.bonne.axmen.klunk.summa.laves.purls.yawny.teary.masse.largo.bazar.pssst.sylph.lulab.toque.fugit.plunk.ortho.lucre.cooch.whipt.folky.tyres.wheee.corky.injun.solon.didot.kerfs.rayed.wassa.chile.begat.nippy.litre.magna.rebox.hydro.milch.brent.gyves.lazed.feued.mavis.inapt.baulk.casus.scrum.wised.fossa.dower.kyrie.bhoys.scuse.feuar.ohmic.juste.ukase.beaux.tusky.orate.musta.lardy.intra.quiff.epsom.neath.ocher.tared.homme.mezzo.corms.psoas.beaky.terry.infra.spivs.tuans.belli.bergs.anima.weirs.mahua.scops.manse.titre.curia.kebob.cycad.talky.fucks.tapis.amide.dolce.sloes.jakes.russe.blash.tutti.pruta.panga.blebs.tench.swarf.herem.missy.merse.pawky.limen.vivre.chert.unsee.tiros.brack.foots.welsh.fosse.knops.ileum.noire.firma.podgy.laird.thunk.shute.rowan.shoji.poesy.uncap.fames.glees.costa.turps.fores.solum.imago.byres.fondu.coney.polis.dictu.kraal.sherd.mumbo.wroth.chars.unbox.vacuo.slued.weest.hades.wiled.syncs.muser.excon.hoars.sibyl.passe.joeys.lotsa.lepta.shays.bocks.endue.darer.nones.ileus.plash.busby.wheal.buffo.yobbo.biles.poxes.rooty.licit.terce.bromo.hayey.dweeb.imbed.saran.bruit.punky.softs.biffs.loppy.agars.aquae.livre.biome.bunds.shews.diems.ginny.degum.polos.desex.unman.dungy.vitam.wedgy.glebe.apers.ridgy.roids.wifey.vapes.whoas.bunko.yolky.ulnas.reeky.bodge.brant.davit.deque.liker.jenny.tacts.fulls.treap.ligne.acked.refry.vower.aargh.churl.momma.gaols.whump.arras.marls.tiler.grogs.memes.midis.tided.haler.duces.twiny.poste.unrig.prise.drabs.quids.facer.spier.baric.geoid.remap.trier.gunks.steno.stoma.airer.ovate.torah.apian.smuts.pocks.yurts.exurb.defog.nuder.bosky.nimbi.mothy.joyed.labia.pards.jammy.bigly.faxer.hoppy.nurbs.cotes.dishy.vised.celeb.pismo.casas.withs.dodgy.scudi.mungs.muons.ureas.ioctl.unhip.krone.sager.verst.expat.gronk.uvula.shawm.bilgy.braes.cento.webby.lippy.gamic.lordy.mazed.tings.shoat.faery.wirer.diazo.carer.rater.greps.rente.zloty.viers.unapt.poops.fecal.kepis.taxon.eyers.wonts.spina.stoae.yenta.pooey.buret.japan.bedew.hafts.selfs.oared.herby.pryer.oakum.dinks.titty.sepoy.penes.fusee.winey.gimps.nihil.rille.giber.ousel.umiak.cuppy.hames.shits.azine.glads.tacet.bumph.coyer.honky.gamer.gooky.waspy.sedgy.bents.varia.djinn.junco.pubic.wilco.lazes.idyls.lupus.rives.snood.schmo.spazz.finis.noter.pavan.orbed.bates.pipet.baddy.goers.shako.stets.sebum.seeth.lobar.raver.ajuga.riced.velds.dribs.ville.dhows.unsew.halma.krona.limby.jiffs.treys.bauds.pffft.mimer.plebs.caner.jiber.cuppa.washy.chuff.unarm.yukky.styes.waker.flaks.maces.rimes.gimpy.guano.liras.kapok.scuds.bwana.oring.aider.prier.klugy.monte.golem.velar.firer.pieta.umbel.campo.unpeg.fovea.abeam.boson.asker.goths.vocab.vined.trows.tikis.loper.indie.boffs.spang.grapy.tater.ichor.kilty.lochs.supes.degas.flics.torsi.beths.weber.resaw.lawny.coven.mujik.relet.therm.heigh.shnor.trued.zayin.liest.barfs.bassi.qophs.roily.flabs.punny.okras.hanks.dipso.nerfs.fauns.calla.pseud.lurer.magus.obeah.atria.twink.palmy.pocky.pends.recta.plonk.slaws.keens.nicad.pones.inker.whews.groks.mosts.trews.ulnar.gyppy.cocas.expos.eruct.oiler.vacua.dreck.dater.arums.tubal.voxel.dixit.beery.assai.lades.actin.ghoti.buzzy.meads.grody.ribby.clews.creme.email.pyxie.kulak.bocci.rived.duddy.hoper.lapin.wonks.petri.phial.fugal.holon.boomy.duomo.musos.shier.hayer.porgy.hived.litho.fisty.stagy.luvya.maria.smogs.asana.yogic.slomo.fawny.amine.wefts.gonad.twirp.brava.plyer.fermi.loges.niter.revet.unate.gyved.totty.zappy.honer.giros.dicer.calks.luxes.monad.cruft.quoin.fumer.amped.shlep.vinca.yahoo.vulva.zooey.dryad.nixie.moper.iambs.lunes.nudie.limns.weals.nohow.miaow.gouts.mynas.mazer.kikes.oxeye.stoup.jujus.debar.pubes.taels.defun.rands.blear.paver.goosy.sprog.oleos.toffy.pawer.maced.crits.kluge.tubed.sahib.ganef.scats.sputa.vaned.acned.taxol.plink.oweth.tribs.resay.boule.thous.haply.glans.maxis.bezel.antis.porks.quoit.alkyd.glary.beamy.hexad.bonks.tecum.kerbs.filar.frier.redux.abuzz.fader.shoer.couth.trues.guyed.goony.booky.fuzes.hurly.genet.hodad.calix.filer.pawls.iodic.utero.henge.unsay.liers.piing.weald.sexed.folic.poxed.cunts.anile.kiths.becks.tatty.plena.rebar.abled.toyer.attar.teaks.aioli.awing.anent.feces.redip.wists.prats.mesne.muter.smurf.owest.bahts.lossy.ftped.hunky.hoers.slier.sicks.fatly.delft.hiver.himbo.pengo.busks.loxes.zonks.ilium.aport.ikons.mulct.reeve.civvy.canna.barfy.kaiak.scudo.knout.gaper.bhang.pease.uteri.lases.paten.rasae.axels.stoas.ombre.styli.gunky.hazer.kenaf.ahoys.ammos.weeny.urger.kudzu.paren.bolos.fetor.nitty.techy.lieth.somas.darky.villi.gluon.janes.cants.farts.socle.jinns.ruing.slily.ricer.hadda.wowee.rices.nerts.cauls.swive.lilty.micks.arity.pasha.finif.oinky.gutty.tetra.wises.wolds.balds.picot.whats.shiki.bungs.snarf.legos.dungs.stogy.berms.tangs.vails.roods.morel.sware.elans.latus.gules.razer.doxie.buena.overs.gutta.zincs.nates.kirks.tikes.donee.jerry.mohel.ceder.doges.unmap.folia.rawly.snark.topoi.ceils.immix.yores.diest.bubba.pomps.forky.turdy.lawzy.poohs.worts.gloms.beano.muley.barky.tunny.auric.funks.gaffs.cordy.curdy.lisle.toric.soyas.reman.mungy.carpy.apish.oaten.gappy.aurae.bract.rooky.axled.burry.sizer.proem.turfy.impro.mashy.miens.nonny.olios.grook.sates.agley.corgi.dashy.doser.dildo.apsos.xored.laker.playa.selah.malty.dulse.frigs.demit.whoso.rials.sawer.spics.bedim.snugs.fanin.azoic.icers.suers.wizen.koine.topos.shirr.rifer.feral.laded.lased.turds.swede.easts.cozen.unhit.pally.aitch.sedum.coper.ruche.geeks.swags.etext.algin.offed.ninja.holer.doter.toter.besot.dicut.macer.peens.pewit.redox.poler.yecch.fluky.doeth.twats.cruds.bebug.bider.stele.hexer.wests.gluer.pilau.abaft.whelm.lacer.inode.tabus.gator.cuing.refly.luted.cukes.bairn.bight.arses.crump.loggy.blini.spoor.toyon.harks.wazoo.fenny.naves.keyer.tufas.morph.rajas.typal.spiff.oxlip.unban.mussy.finny.rimer.login.molas.cirri.huzza.agone.unsex.unwon.peats.toile.zombi.dewed.nooky.alkyl.ixnay.dovey.holey.cuber.amyls.podia.chino.apnea.prims.lycra.johns.primo.fatwa.egger.hempy.snook.hying.fuzed.barms.crink.moots.yerba.rhumb.unarc.direr.munge.eland.nares.wrier.noddy.atilt.jukes.ender.thens.unfix.doggo.zooks.diddy.shmoo.brusk.prest.curer.pasts.kelpy.bocce.kicky.taros.lings.dicky.nerdy.abend.stela.biggy.laved.baldy.pubis.gooks.wonky.stied.hypos.assed.spumy.osier.roble.rumba.biffy.pupal".split("."), vi = /* @__PURE__ */ "aahed.aalii.aargh.aarti.abaca.abaci.abacs.abaft.abaka.abamp.aband.abash.abask.abaya.abbas.abbed.abbes.abcee.abeam.abear.abele.abers.abets.abies.abler.ables.ablet.ablow.abmho.abohm.aboil.aboma.aboon.abord.abore.abram.abray.abrim.abrin.abris.absey.absit.abuna.abune.abuts.abuzz.abyes.abysm.acais.acari.accas.accoy.acerb.acers.aceta.achar.ached.aches.achoo.acids.acidy.acing.acini.ackee.acker.acmes.acmic.acned.acnes.acock.acold.acred.acres.acros.acted.actin.acton.acyls.adaws.adays.adbot.addax.added.adder.addio.addle.adeem.adhan.adieu.adios.adits.adman.admen.admix.adobo.adown.adoze.adrad.adred.adsum.aduki.adunc.adust.advew.adyta.adzed.adzes.aecia.aedes.aegis.aeons.aerie.aeros.aesir.afald.afara.afars.afear.aflaj.afore.afrit.afros.agama.agami.agars.agast.agave.agaze.agene.agers.agger.aggie.aggri.aggro.aggry.aghas.agila.agios.agism.agist.agita.aglee.aglet.agley.agloo.aglus.agmas.agoge.agone.agons.agood.agria.agrin.agros.agued.agues.aguna.aguti.aheap.ahent.ahigh.ahind.ahing.ahint.ahold.ahull.ahuru.aidas.aided.aides.aidoi.aidos.aiery.aigas.aight.ailed.aimed.aimer.ainee.ainga.aioli.aired.airer.airns.airth.airts.aitch.aitus.aiver.aiyee.aizle.ajies.ajiva.ajuga.ajwan.akees.akela.akene.aking.akita.akkas.alaap.alack.alamo.aland.alane.alang.alans.alant.alapa.alaps.alary.alate.alays.albas.albee.alcid.alcos.aldea.alder.aldol.aleck.alecs.alefs.aleft.aleph.alews.aleye.alfas.algal.algas.algid.algin.algor.algum.alias.alifs.aline.alist.aliya.alkie.alkos.alkyd.alkyl.allee.allel.allis.allod.allyl.almah.almas.almeh.almes.almud.almug.alods.aloed.aloes.aloha.aloin.aloos.alowe.altho.altos.alula.alums.alure.alvar.alway.amahs.amain.amate.amaut.amban.ambit.ambos.ambry.ameba.ameer.amene.amens.ament.amias.amice.amici.amide.amido.amids.amies.amiga.amigo.amine.amino.amins.amirs.amlas.amman.ammon.ammos.amnia.amnic.amnio.amoks.amole.amort.amour.amove.amowt.amped.ampul.amrit.amuck.amyls.anana.anata.ancho.ancle.ancon.andro.anear.anele.anent.angas.anglo.anigh.anile.anils.anima.animi.anion.anise.anker.ankhs.ankus.anlas.annal.annas.annat.anoas.anole.anomy.ansae.antae.antar.antas.anted.antes.antis.antra.antre.antsy.anura.anyon.apace.apage.apaid.apayd.apays.apeak.apeek.apers.apert.apery.apgar.aphis.apian.apiol.apish.apism.apode.apods.apoop.aport.appal.appay.appel.appro.appui.appuy.apres.apses.apsis.apsos.apted.apter.aquae.aquas.araba.araks.arame.arars.arbas.arced.archi.arcos.arcus.ardeb.ardri.aread.areae.areal.arear.areas.areca.aredd.arede.arefy.areic.arene.arepa.arere.arete.arets.arett.argal.argan.argil.argle.argol.argon.argot.argus.arhat.arias.ariel.ariki.arils.ariot.arish.arked.arled.arles.armed.armer.armet.armil.arnas.arnut.aroba.aroha.aroid.arpas.arpen.arrah.arras.arret.arris.arroz.arsed.arses.arsey.arsis.artal.artel.artic.artis.aruhe.arums.arval.arvee.arvos.aryls.asana.ascon.ascus.asdic.ashed.ashes.ashet.asked.asker.askoi.askos.aspen.asper.aspic.aspie.aspis.aspro.assai.assam.asses.assez.assot.aster.astir.astun.asura.asway.aswim.asyla.ataps.ataxy.atigi.atilt.atimy.atlas.atman.atmas.atmos.atocs.atoke.atoks.atoms.atomy.atony.atopy.atria.atrip.attap.attar.atuas.audad.auger.aught.aulas.aulic.auloi.aulos.aumil.aunes.aunts.aurae.aural.aurar.auras.aurei.aures.auric.auris.aurum.autos.auxin.avale.avant.avast.avels.avens.avers.avgas.avine.avion.avise.aviso.avize.avows.avyze.awarn.awato.awave.aways.awdls.aweel.aweto.awing.awmry.awned.awner.awols.awork.axels.axile.axils.axing.axite.axled.axles.axman.axmen.axoid.axone.axons.ayahs.ayaya.ayelp.aygre.ayins.ayont.ayres.ayrie.azans.azide.azido.azine.azlon.azoic.azole.azons.azote.azoth.azuki.azurn.azury.azygy.azyme.azyms.baaed.baals.babas.babel.babes.babka.baboo.babul.babus.bacca.bacco.baccy.bacha.bachs.backs.baddy.baels.baffs.baffy.bafts.baghs.bagie.bahts.bahus.bahut.bails.bairn.baisa.baith.baits.baiza.baize.bajan.bajra.bajri.bajus.baked.baken.bakes.bakra.balas.balds.baldy.baled.bales.balks.balky.balls.bally.balms.baloo.balsa.balti.balun.balus.bambi.banak.banco.bancs.banda.bandh.bands.bandy.baned.banes.bangs.bania.banks.banns.bants.bantu.banty.banya.bapus.barbe.barbs.barby.barca.barde.bardo.bards.bardy.bared.barer.bares.barfi.barfs.baric.barks.barky.barms.barmy.barns.barny.barps.barra.barre.barro.barry.barye.basan.based.basen.baser.bases.basho.basij.basks.bason.basse.bassi.basso.bassy.basta.basti.basto.basts.bated.bates.baths.batik.batta.batts.battu.bauds.bauks.baulk.baurs.bavin.bawds.bawks.bawls.bawns.bawrs.bawty.bayed.bayer.bayes.bayle.bayts.bazar.bazoo.beads.beaks.beaky.beals.beams.beamy.beano.beans.beany.beare.bears.beath.beats.beaty.beaus.beaut.beaux.bebop.becap.becke.becks.bedad.bedel.bedes.bedew.bedim.bedye.beedi.beefs.beeps.beers.beery.beets.befog.begad.begar.begem.begot.begum.beige.beigy.beins.bekah.belah.belar.belay.belee.belga.bells.belon.belts.bemad.bemas.bemix.bemud.bends.bendy.benes.benet.benga.benis.benne.benni.benny.bento.bents.benty.bepat.beray.beres.bergs.berko.berks.berme.berms.berob.beryl.besat.besaw.besee.beses.besit.besom.besot.besti.bests.betas.beted.betes.beths.betid.beton.betta.betty.bever.bevor.bevue.bevvy.bewet.bewig.bezes.bezil.bezzy.bhais.bhaji.bhang.bhats.bhels.bhoot.bhuna.bhuts.biach.biali.bialy.bibbs.bibes.biccy.bices.bided.bider.bides.bidet.bidis.bidon.bield.biers.biffo.biffs.biffy.bifid.bigae.biggs.biggy.bigha.bight.bigly.bigos.bijou.biked.biker.bikes.bikie.bilbo.bilby.biled.biles.bilgy.bilks.bills.bimah.bimas.bimbo.binal.bindi.binds.biner.bines.bings.bingy.binit.binks.bints.biogs.biont.biota.biped.bipod.birds.birks.birle.birls.biros.birrs.birse.birsy.bises.bisks.bisom.bitch.biter.bites.bitos.bitou.bitsy.bitte.bitts.bivia.bivvy.bizes.bizzo.bizzy.blabs.blads.blady.blaer.blaes.blaff.blags.blahs.blain.blams.blart.blase.blash.blate.blats.blatt.blaud.blawn.blaws.blays.blear.blebs.blech.blees.blent.blert.blest.blets.bleys.blimy.bling.blini.blins.bliny.blips.blist.blite.blits.blive.blobs.blocs.blogs.blook.bloop.blore.blots.blows.blowy.blubs.blude.bluds.bludy.blued.blues.bluet.bluey.bluid.blume.blunk.blurs.blype.boabs.boaks.boars.boart.boats.bobac.bobak.bobas.bobol.bobos.bocca.bocce.bocci.boche.bocks.boded.bodes.bodge.bodhi.bodle.boeps.boets.boeuf.boffo.boffs.bogan.bogey.boggy.bogie.bogle.bogue.bogus.bohea.bohos.boils.boing.boink.boite.boked.bokeh.bokes.bokos.bolar.bolas.bolds.boles.bolix.bolls.bolos.bolts.bolus.bomas.bombe.bombo.bombs.bonce.bonds.boned.boner.bones.bongs.bonie.bonks.bonne.bonny.bonza.bonze.booai.booay.boobs.boody.booed.boofy.boogy.boohs.books.booky.bools.booms.boomy.boong.boons.boord.boors.boose.boots.boppy.borak.boral.boras.borde.bords.bored.boree.borel.borer.bores.borgo.boric.borks.borms.borna.boron.borts.borty.bortz.bosie.bosks.bosky.boson.bosun.botas.botel.botes.bothy.botte.botts.botty.bouge.bouks.boult.bouns.bourd.bourg.bourn.bouse.bousy.bouts.bovid.bowat.bowed.bower.bowes.bowet.bowie.bowls.bowne.bowrs.bowse.boxed.boxen.boxes.boxla.boxty.boyar.boyau.boyed.boyfs.boygs.boyla.boyos.boysy.bozos.braai.brach.brack.bract.brads.braes.brags.brail.braks.braky.brame.brane.brank.brans.brant.brast.brats.brava.bravi.braws.braxy.brays.braza.braze.bream.brede.breds.breem.breer.brees.breid.breis.breme.brens.brent.brere.brers.breve.brews.breys.brier.bries.brigs.briki.briks.brill.brims.brins.brios.brise.briss.brith.brits.britt.brize.broch.brock.brods.brogh.brogs.brome.bromo.bronc.brond.brool.broos.brose.brosy.brows.brugh.bruin.bruit.brule.brume.brung.brusk.brust.bruts.buats.buaze.bubal.bubas.bubba.bubbe.bubby.bubus.buchu.bucko.bucks.bucku.budas.budis.budos.buffa.buffe.buffi.buffo.buffs.buffy.bufos.bufty.buhls.buhrs.buiks.buist.bukes.bulbs.bulgy.bulks.bulla.bulls.bulse.bumbo.bumfs.bumph.bumps.bumpy.bunas.bunce.bunco.bunde.bundh.bunds.bundt.bundu.bundy.bungs.bungy.bunia.bunje.bunjy.bunko.bunks.bunns.bunts.bunty.bunya.buoys.buppy.buran.buras.burbs.burds.buret.burfi.burgh.burgs.burin.burka.burke.burks.burls.burns.buroo.burps.burqa.burro.burrs.burry.bursa.burse.busby.buses.busks.busky.bussu.busti.busts.busty.buteo.butes.butle.butoh.butts.butty.butut.butyl.buzzy.bwana.bwazi.byded.bydes.byked.bykes.byres.byrls.byssi.bytes.byway.caaed.cabas.caber.cabob.caboc.cabre.cacas.cacks.cacky.cadee.cades.cadge.cadgy.cadie.cadis.cadre.caeca.caese.cafes.caffs.caged.cager.cages.cagot.cahow.caids.cains.caird.cajon.cajun.caked.cakes.cakey.calfs.calid.calif.calix.calks.calla.calls.calms.calmy.calos.calpa.calps.calve.calyx.caman.camas.cames.camis.camos.campi.campo.camps.campy.camus.caned.caneh.caner.canes.cangs.canid.canna.canns.canso.canst.canto.cants.canty.capas.caped.capes.capex.caphs.capiz.caple.capon.capos.capot.capri.capul.carap.carbo.carbs.carby.cardi.cards.cardy.cared.carer.cares.caret.carex.carks.carle.carls.carns.carny.carob.carom.caron.carpi.carps.carrs.carse.carta.carte.carts.carvy.casas.casco.cased.cases.casks.casky.casts.casus.cates.cauda.cauks.cauld.cauls.caums.caups.cauri.causa.cavas.caved.cavel.caver.caves.cavie.cawed.cawks.caxon.ceaze.cebid.cecal.cecum.ceded.ceder.cedes.cedis.ceiba.ceili.ceils.celeb.cella.celli.cells.celom.celts.cense.cento.cents.centu.ceorl.cepes.cerci.cered.ceres.cerge.ceria.ceric.cerne.ceroc.ceros.certs.certy.cesse.cesta.cesti.cetes.cetyl.cezve.chace.chack.chaco.chado.chads.chaft.chais.chals.chams.chana.chang.chank.chape.chaps.chapt.chara.chare.chark.charr.chars.chary.chats.chave.chavs.chawk.chaws.chaya.chays.cheep.chefs.cheka.chela.chelp.chemo.chems.chere.chert.cheth.chevy.chews.chewy.chiao.chias.chibs.chica.chich.chico.chics.chiel.chiks.chile.chimb.chimo.chimp.chine.ching.chink.chino.chins.chips.chirk.chirl.chirm.chiro.chirr.chirt.chiru.chits.chive.chivs.chivy.chizz.choco.chocs.chode.chogs.choil.choko.choky.chola.choli.cholo.chomp.chons.choof.chook.choom.choon.chops.chota.chott.chout.choux.chowk.chows.chubs.chufa.chuff.chugs.chums.churl.churr.chuse.chuts.chyle.chyme.chynd.cibol.cided.cides.ciels.ciggy.cilia.cills.cimar.cimex.cinct.cines.cinqs.cions.cippi.circs.cires.cirls.cirri.cisco.cissy.cists.cital.cited.citer.cites.cives.civet.civie.civvy.clach.clade.clads.claes.clags.clame.clams.clans.claps.clapt.claro.clart.clary.clast.clats.claut.clave.clavi.claws.clays.cleck.cleek.cleep.clefs.clegs.cleik.clems.clepe.clept.cleve.clews.clied.clies.clift.clime.cline.clint.clipe.clips.clipt.clits.cloam.clods.cloff.clogs.cloke.clomb.clomp.clonk.clons.cloop.cloot.clops.clote.clots.clour.clous.clows.cloye.cloys.cloze.clubs.clues.cluey.clunk.clype.cnida.coact.coady.coala.coals.coaly.coapt.coarb.coate.coati.coats.cobbs.cobby.cobia.coble.cobza.cocas.cocci.cocco.cocks.cocky.cocos.codas.codec.coded.coden.coder.codes.codex.codon.coeds.coffs.cogie.cogon.cogue.cohab.cohen.cohoe.cohog.cohos.coifs.coign.coils.coins.coirs.coits.coked.cokes.colas.colby.colds.coled.coles.coley.colic.colin.colls.colly.colog.colts.colza.comae.comal.comas.combe.combi.combo.combs.comby.comer.comes.comix.commo.comms.commy.compo.comps.compt.comte.comus.coned.cones.coney.confs.conga.conge.congo.conia.conin.conks.conky.conne.conns.conte.conto.conus.convo.cooch.cooed.cooee.cooer.cooey.coofs.cooks.cooky.cools.cooly.coomb.cooms.coomy.coons.coops.coopt.coost.coots.cooze.copal.copay.coped.copen.coper.copes.coppy.copra.copsy.coqui.coram.corbe.corby.cords.cored.cores.corey.corgi.coria.corks.corky.corms.corni.corno.corns.cornu.corps.corse.corso.cosec.cosed.coses.coset.cosey.cosie.costa.coste.costs.cotan.coted.cotes.coths.cotta.cotts.coude.coups.courb.courd.coure.cours.couta.couth.coved.coves.covin.cowal.cowan.cowed.cowks.cowls.cowps.cowry.coxae.coxal.coxed.coxes.coxib.coyau.coyed.coyer.coypu.cozed.cozen.cozes.cozey.cozie.craal.crabs.crags.craic.craig.crake.crame.crams.crans.crape.craps.crapy.crare.craws.crays.creds.creel.crees.crems.crena.creps.crepy.crewe.crews.crias.cribs.cries.crims.crine.crios.cripe.crips.crise.crith.crits.croci.crocs.croft.crogs.cromb.crome.cronk.crons.crool.croon.crops.crore.crost.crout.crows.croze.cruck.crudo.cruds.crudy.crues.cruet.cruft.crunk.cruor.crura.cruse.crusy.cruve.crwth.cryer.ctene.cubby.cubeb.cubed.cuber.cubes.cubit.cuddy.cuffo.cuffs.cuifs.cuing.cuish.cuits.cukes.culch.culet.culex.culls.cully.culms.culpa.culti.cults.culty.cumec.cundy.cunei.cunit.cunts.cupel.cupid.cuppa.cuppy.curat.curbs.curch.curds.curdy.cured.curer.cures.curet.curfs.curia.curie.curli.curls.curns.curny.currs.cursi.curst.cusec.cushy.cusks.cusps.cuspy.cusso.cusum.cutch.cuter.cutes.cutey.cutin.cutis.cutto.cutty.cutup.cuvee.cuzes.cwtch.cyano.cyans.cycad.cycas.cyclo.cyder.cylix.cymae.cymar.cymas.cymes.cymol.cysts.cytes.cyton.czars.daals.dabba.daces.dacha.dacks.dadah.dadas.dados.daffs.daffy.dagga.daggy.dagos.dahls.daiko.daine.daint.daker.daled.dales.dalis.dalle.dalts.daman.damar.dames.damme.damns.damps.dampy.dancy.dangs.danio.danks.danny.dants.daraf.darbs.darcy.dared.darer.dares.darga.dargs.daric.daris.darks.darky.darns.darre.darts.darzi.dashi.dashy.datal.dated.dater.dates.datos.datto.daube.daubs.dauby.dauds.dault.daurs.dauts.daven.davit.dawah.dawds.dawed.dawen.dawks.dawns.dawts.dayan.daych.daynt.dazed.dazer.dazes.deads.deair.deals.deans.deare.dearn.dears.deary.deash.deave.deaws.deawy.debag.debby.debel.debes.debts.debud.debur.debus.debye.decad.decaf.decan.decko.decks.decos.dedal.deeds.deedy.deely.deems.deens.deeps.deere.deers.deets.deeve.deevs.defat.deffo.defis.defog.degas.degum.degus.deice.deids.deify.deils.deism.deist.deked.dekes.dekko.deled.deles.delfs.delft.delis.dells.delly.delos.delph.delts.deman.demes.demic.demit.demob.demoi.demos.dempt.denar.denay.dench.denes.denet.denis.dents.deoxy.derat.deray.dered.deres.derig.derma.derms.derns.derny.deros.derro.derry.derth.dervs.desex.deshi.desis.desks.desse.devas.devel.devis.devon.devos.devot.dewan.dewar.dewax.dewed.dexes.dexie.dhaba.dhaks.dhals.dhikr.dhobi.dhole.dholl.dhols.dhoti.dhows.dhuti.diact.dials.diane.diazo.dibbs.diced.dicer.dices.dicht.dicks.dicky.dicot.dicta.dicts.dicty.diddy.didie.didos.didst.diebs.diels.diene.diets.diffs.dight.dikas.diked.diker.dikes.dikey.dildo.dilli.dills.dimbo.dimer.dimes.dimps.dinar.dined.dines.dinge.dings.dinic.dinks.dinky.dinna.dinos.dints.diols.diota.dippy.dipso.diram.direr.dirke.dirks.dirls.dirts.disas.disci.discs.dishy.disks.disme.dital.ditas.dited.dites.ditsy.ditts.ditzy.divan.divas.dived.dives.divis.divna.divos.divot.divvy.diwan.dixie.dixit.diyas.dizen.djinn.djins.doabs.doats.dobby.dobes.dobie.dobla.dobra.dobro.docht.docks.docos.docus.doddy.dodos.doeks.doers.doest.doeth.doffs.dogan.doges.dogey.doggo.doggy.dogie.dohyo.doilt.doily.doits.dojos.dolce.dolci.doled.doles.dolia.dolls.dolma.dolor.dolos.dolts.domal.domed.domes.domic.donah.donas.donee.doner.donga.dongs.donko.donna.donne.donny.donsy.doobs.dooce.doody.dooks.doole.dools.dooly.dooms.doomy.doona.doorn.doors.doozy.dopas.doped.doper.dopes.dorad.dorba.dorbs.doree.dores.doric.doris.dorks.dorky.dorms.dormy.dorps.dorrs.dorsa.dorse.dorts.dorty.dosai.dosas.dosed.doseh.doser.doses.dosha.dotal.doted.doter.dotes.dotty.douar.douce.doucs.douks.doula.douma.doums.doups.doura.douse.douts.doved.doven.dover.doves.dovie.dowar.dowds.dowed.dower.dowie.dowle.dowls.dowly.downa.downs.dowps.dowse.dowts.doxed.doxes.doxie.doyen.doyly.dozed.dozer.dozes.drabs.drack.draco.draff.drags.drail.drams.drant.draps.drats.drave.draws.drays.drear.dreck.dreed.dreer.drees.dregs.dreks.drent.drere.drest.dreys.dribs.drice.dries.drily.drips.dript.droid.droil.droke.drole.drome.drony.droob.droog.drook.drops.dropt.drouk.drows.drubs.drugs.drums.drupe.druse.drusy.druxy.dryad.dryas.dsobo.dsomo.duads.duals.duans.duars.dubbo.ducal.ducat.duces.ducks.ducky.ducts.duddy.duded.dudes.duels.duets.duett.duffs.dufus.duing.duits.dukas.duked.dukes.dukka.dulce.dules.dulia.dulls.dulse.dumas.dumbo.dumbs.dumka.dumky.dumps.dunam.dunch.dunes.dungs.dungy.dunks.dunno.dunny.dunsh.dunts.duomi.duomo.duped.duper.dupes.duple.duply.duppy.dural.duras.dured.dures.durgy.durns.duroc.duros.duroy.durra.durrs.durry.durst.durum.durzi.dusks.dusts.duxes.dwaal.dwale.dwalm.dwams.dwang.dwaum.dweeb.dwile.dwine.dyads.dyers.dyked.dykes.dykey.dykon.dynel.dynes.dzhos.eagre.ealed.eales.eaned.eards.eared.earls.earns.earnt.earst.eased.easer.eases.easle.easts.eathe.eaved.eaves.ebbed.ebbet.ebons.ebook.ecads.eched.eches.echos.ecrus.edema.edged.edger.edges.edile.edits.educe.educt.eejit.eensy.eeven.eevns.effed.egads.egers.egest.eggar.egged.egger.egmas.ehing.eider.eidos.eigne.eiked.eikon.eilds.eisel.ejido.ekkas.elain.eland.elans.elchi.eldin.elemi.elfed.eliad.elint.elmen.eloge.elogy.eloin.elops.elpee.elsin.elute.elvan.elven.elver.elves.emacs.embar.embay.embog.embow.embox.embus.emeer.emend.emerg.emery.emeus.emics.emirs.emits.emmas.emmer.emmet.emmew.emmys.emoji.emong.emote.emove.empts.emule.emure.emyde.emyds.enarm.enate.ended.ender.endew.endue.enews.enfix.eniac.enlit.enmew.ennog.enoki.enols.enorm.enows.enrol.ensew.ensky.entia.enure.enurn.envoi.enzym.eorls.eosin.epact.epees.ephah.ephas.ephod.ephor.epics.epode.epopt.epris.eques.equid.erbia.erevs.ergon.ergos.ergot.erhus.erica.erick.erics.ering.erned.ernes.erose.erred.erses.eruct.erugo.eruvs.erven.ervil.escar.escot.esile.eskar.esker.esnes.esses.estoc.estop.estro.etage.etape.etats.etens.ethal.ethne.ethyl.etics.etnas.ettin.ettle.etuis.etwee.etyma.eughs.euked.eupad.euros.eusol.evens.evert.evets.evhoe.evils.evite.evohe.ewers.ewest.ewhow.ewked.exams.exeat.execs.exeem.exeme.exfil.exies.exine.exing.exits.exode.exome.exons.expat.expos.exude.exuls.exurb.eyass.eyers.eyots.eyras.eyres.eyrie.eyrir.ezine.fabby.faced.facer.faces.facia.facta.facts.faddy.faded.fader.fades.fadge.fados.faena.faery.faffs.faffy.faggy.fagin.fagot.faiks.fails.faine.fains.fairs.faked.faker.fakes.fakey.fakie.fakir.falaj.falls.famed.fames.fanal.fands.fanes.fanga.fango.fangs.fanks.fanon.fanos.fanum.faqir.farad.farci.farcy.fards.fared.farer.fares.farle.farls.farms.faros.farro.farse.farts.fasci.fasti.fasts.fated.fates.fatly.fatso.fatwa.faugh.fauld.fauns.faurd.fauts.fauve.favas.favel.faver.faves.favus.fawns.fawny.faxed.faxes.fayed.fayer.fayne.fayre.fazed.fazes.feals.feare.fears.feart.fease.feats.feaze.feces.fecht.fecit.fecks.fedex.feebs.feeds.feels.feens.feers.feese.feeze.fehme.feint.feist.felch.felid.fells.felly.felts.felty.femal.femes.femmy.fends.fendy.fenis.fenks.fenny.fents.feods.feoff.ferer.feres.feria.ferly.fermi.ferms.ferns.ferny.fesse.festa.fests.festy.fetas.feted.fetes.fetor.fetta.fetts.fetwa.feuar.feuds.feued.feyed.feyer.feyly.fezes.fezzy.fiars.fiats.fibro.fices.fiche.fichu.ficin.ficos.fides.fidge.fidos.fiefs.fient.fiere.fiers.fiest.fifed.fifer.fifes.fifis.figgy.figos.fiked.fikes.filar.filch.filed.files.filii.filks.fille.fillo.fills.filmi.films.filos.filum.finca.finds.fined.fines.finis.finks.finny.finos.fiord.fiqhs.fique.fired.firer.fires.firie.firks.firms.firns.firry.firth.fiscs.fisks.fists.fisty.fitch.fitly.fitna.fitte.fitts.fiver.fives.fixed.fixes.fixit.fjeld.flabs.flaff.flags.flaks.flamm.flams.flamy.flane.flans.flaps.flary.flats.flava.flawn.flaws.flawy.flaxy.flays.fleam.fleas.fleek.fleer.flees.flegs.fleme.fleur.flews.flexi.flexo.fleys.flics.flied.flies.flimp.flims.flips.flirs.flisk.flite.flits.flitt.flobs.flocs.floes.flogs.flong.flops.flors.flory.flosh.flota.flote.flows.flubs.flued.flues.fluey.fluky.flump.fluor.flurr.fluty.fluyt.flyby.flype.flyte.foals.foams.foehn.fogey.fogie.fogle.fogou.fohns.foids.foils.foins.folds.foley.folia.folic.folie.folks.folky.fomes.fonda.fonds.fondu.fones.fonly.fonts.foods.foody.fools.foots.footy.foram.forbs.forby.fordo.fords.forel.fores.forex.forks.forky.forme.forms.forts.forza.forze.fossa.fosse.fouat.fouds.fouer.fouet.foule.fouls.fount.fours.fouth.fovea.fowls.fowth.foxed.foxes.foxie.foyle.foyne.frabs.frack.fract.frags.fraim.franc.frape.fraps.frass.frate.frati.frats.fraus.frays.frees.freet.freit.fremd.frena.freon.frere.frets.fribs.frier.fries.frigs.frise.frist.frith.frits.fritt.frize.frizz.froes.frogs.frons.frore.frorn.frory.frosh.frows.frowy.frugs.frump.frush.frust.fryer.fubar.fubby.fubsy.fucks.fucus.fuddy.fudgy.fuels.fuero.fuffs.fuffy.fugal.fuggy.fugie.fugio.fugle.fugly.fugus.fujis.fulls.fumed.fumer.fumes.fumet.fundi.funds.fundy.fungo.fungs.funks.fural.furan.furca.furls.furol.furrs.furth.furze.furzy.fused.fusee.fusel.fuses.fusil.fusks.fusts.fusty.futon.fuzed.fuzee.fuzes.fuzil.fyces.fyked.fykes.fyles.fyrds.fytte.gabba.gabby.gable.gaddi.gades.gadge.gadid.gadis.gadje.gadjo.gadso.gaffs.gaged.gager.gages.gaids.gains.gairs.gaita.gaits.gaitt.gajos.galah.galas.galax.galea.galed.gales.galls.gally.galop.galut.galvo.gamas.gamay.gamba.gambe.gambo.gambs.gamed.games.gamey.gamic.gamin.gamme.gammy.gamps.ganch.gandy.ganef.ganev.gangs.ganja.ganof.gants.gaols.gaped.gaper.gapes.gapos.gappy.garbe.garbo.garbs.garda.gares.garis.garms.garni.garre.garth.garum.gases.gasps.gaspy.gasts.gatch.gated.gater.gates.gaths.gator.gauch.gaucy.gauds.gauje.gault.gaums.gaumy.gaups.gaurs.gauss.gauzy.gavot.gawcy.gawds.gawks.gawps.gawsy.gayal.gazal.gazar.gazed.gazes.gazon.gazoo.geals.geans.geare.gears.geats.gebur.gecks.geeks.geeps.geest.geist.geits.gelds.gelee.gelid.gelly.gelts.gemel.gemma.gemmy.gemot.genal.genas.genes.genet.genic.genii.genip.genny.genoa.genom.genro.gents.genty.genua.genus.geode.geoid.gerah.gerbe.geres.gerle.germs.germy.gerne.gesse.gesso.geste.gests.getas.getup.geums.geyan.geyer.ghast.ghats.ghaut.ghazi.ghees.ghest.ghyll.gibed.gibel.giber.gibes.gibli.gibus.gifts.gigas.gighe.gigot.gigue.gilas.gilds.gilet.gills.gilly.gilpy.gilts.gimel.gimme.gimps.gimpy.ginch.ginge.gings.ginks.ginny.ginzo.gipon.gippo.gippy.girds.girls.girns.giron.giros.girrs.girsh.girts.gismo.gisms.gists.gitch.gites.giust.gived.gives.gizmo.glace.glads.glady.glaik.glair.glams.glans.glary.glaum.glaur.glazy.gleba.glebe.gleby.glede.gleds.gleed.gleek.glees.gleet.gleis.glens.glent.gleys.glial.glias.glibs.gliff.glift.glike.glime.glims.glisk.glits.glitz.gloam.globi.globs.globy.glode.glogg.gloms.gloop.glops.glost.glout.glows.gloze.glued.gluer.glues.gluey.glugs.glume.glums.gluon.glute.gluts.gnarl.gnarr.gnars.gnats.gnawn.gnaws.gnows.goads.goafs.goals.goary.goats.goaty.goban.gobar.gobbi.gobbo.gobby.gobis.gobos.godet.godso.goels.goers.goest.goeth.goety.gofer.goffs.gogga.gogos.goier.gojis.golds.goldy.goles.golfs.golpe.golps.gombo.gomer.gompa.gonch.gonef.gongs.gonia.gonif.gonks.gonna.gonof.gonys.gonzo.gooby.goods.goofs.googs.gooks.gooky.goold.gools.gooly.goons.goony.goops.goopy.goors.goory.goosy.gopak.gopik.goral.goras.gored.gores.goris.gorms.gormy.gorps.gorse.gorsy.gosht.gosse.gotch.goths.gothy.gotta.gouch.gouks.goura.gouts.gouty.gowan.gowds.gowfs.gowks.gowls.gowns.goxes.goyim.goyle.graal.grabs.grads.graff.graip.grama.grame.gramp.grams.grana.grans.grapy.gravs.grays.grebe.grebo.grece.greek.grees.grege.grego.grein.grens.grese.greve.grews.greys.grice.gride.grids.griff.grift.grigs.grike.grins.griot.grips.gript.gripy.grise.grist.grisy.grith.grits.grize.groat.grody.grogs.groks.groma.grone.groof.grosz.grots.grouf.grovy.grows.grrls.grrrl.grubs.grued.grues.grufe.grume.grump.grund.gryce.gryde.gryke.grype.grypt.guaco.guana.guano.guans.guars.gucks.gucky.gudes.guffs.gugas.guids.guimp.guiro.gulag.gular.gulas.gules.gulet.gulfs.gulfy.gulls.gulph.gulps.gulpy.gumma.gummi.gumps.gundy.gunge.gungy.gunks.gunky.gunny.guqin.gurdy.gurge.gurls.gurly.gurns.gurry.gursh.gurus.gushy.gusla.gusle.gusli.gussy.gusts.gutsy.gutta.gutty.guyed.guyle.guyot.guyse.gwine.gyals.gyans.gybed.gybes.gyeld.gymps.gynae.gynie.gynny.gynos.gyoza.gypos.gyppo.gyppy.gyral.gyred.gyres.gyron.gyros.gyrus.gytes.gyved.gyves.haafs.haars.hable.habus.hacek.hacks.hadal.haded.hades.hadji.hadst.haems.haets.haffs.hafiz.hafts.haggs.hahas.haick.haika.haiks.haiku.hails.haily.hains.haint.hairs.haith.hajes.hajis.hajji.hakam.hakas.hakea.hakes.hakim.hakus.halal.haled.haler.hales.halfa.halfs.halid.hallo.halls.halma.halms.halon.halos.halse.halts.halva.halwa.hamal.hamba.hamed.hames.hammy.hamza.hanap.hance.hanch.hands.hangi.hangs.hanks.hanky.hansa.hanse.hants.haole.haoma.hapax.haply.happi.hapus.haram.hards.hared.hares.harim.harks.harls.harms.harns.haros.harps.harts.hashy.hasks.hasps.hasta.hated.hates.hatha.hauds.haufs.haugh.hauld.haulm.hauls.hault.hauns.hause.haver.haves.hawed.hawks.hawms.hawse.hayed.hayer.hayey.hayle.hazan.hazed.hazer.hazes.heads.heald.heals.heame.heaps.heapy.heare.hears.heast.heats.heben.hebes.hecht.hecks.heder.hedgy.heeds.heedy.heels.heeze.hefte.hefts.heids.heigh.heils.heirs.hejab.hejra.heled.heles.helio.hells.helms.helos.helot.helps.helve.hemal.hemes.hemic.hemin.hemps.hempy.hench.hends.henge.henna.henny.henry.hents.hepar.herbs.herby.herds.heres.herls.herma.herms.herns.heros.herry.herse.hertz.herye.hesps.hests.hetes.heths.heuch.heugh.hevea.hewed.hewer.hewgh.hexad.hexed.hexer.hexes.hexyl.heyed.hiant.hicks.hided.hider.hides.hiems.highs.hight.hijab.hijra.hiked.hiker.hikes.hikoi.hilar.hilch.hillo.hills.hilts.hilum.hilus.himbo.hinau.hinds.hings.hinky.hinny.hints.hiois.hiply.hired.hiree.hirer.hires.hissy.hists.hithe.hived.hiver.hives.hizen.hoaed.hoagy.hoars.hoary.hoast.hobos.hocks.hocus.hodad.hodja.hoers.hogan.hogen.hoggs.hoghs.hohed.hoick.hoied.hoiks.hoing.hoise.hokas.hoked.hokes.hokey.hokis.hokku.hokum.holds.holed.holes.holey.holks.holla.hollo.holme.holms.holon.holos.holts.homas.homed.homes.homey.homie.homme.homos.honan.honda.honds.honed.honer.hones.hongi.hongs.honks.honky.hooch.hoods.hoody.hooey.hoofs.hooka.hooks.hooky.hooly.hoons.hoops.hoord.hoors.hoosh.hoots.hooty.hoove.hopak.hoped.hoper.hopes.hoppy.horah.horal.horas.horis.horks.horme.horns.horst.horsy.hosed.hosel.hosen.hoser.hoses.hosey.hosta.hosts.hotch.hoten.hotty.houff.houfs.hough.houri.hours.houts.hovea.hoved.hoven.hoves.howbe.howes.howff.howfs.howks.howls.howre.howso.hoxed.hoxes.hoyas.hoyed.hoyle.hubby.hucks.hudna.hudud.huers.huffs.huffy.huger.huggy.huhus.huias.hulas.hules.hulks.hulky.hullo.hulls.hully.humas.humfs.humic.humps.humpy.hunks.hunts.hurds.hurls.hurly.hurra.hurst.hurts.hushy.husks.husos.hutia.huzza.huzzy.hwyls.hydra.hyens.hygge.hying.hykes.hylas.hyleg.hyles.hylic.hymns.hynde.hyoid.hyped.hypes.hypha.hyphy.hypos.hyrax.hyson.hythe.iambi.iambs.ibrik.icers.iched.iches.ichor.icier.icker.ickle.icons.ictal.ictic.ictus.idant.ideas.idees.ident.idled.idles.idola.idols.idyls.iftar.igapo.igged.iglus.ihram.ikans.ikats.ikons.ileac.ileal.ileum.ileus.iliad.ilial.ilium.iller.illth.imago.imams.imari.imaum.imbar.imbed.imide.imido.imids.imine.imino.immew.immit.immix.imped.impis.impot.impro.imshi.imshy.inapt.inarm.inbye.incel.incle.incog.incus.incut.indew.india.indie.indol.indow.indri.indue.inerm.infix.infos.infra.ingan.ingle.inion.inked.inker.inkle.inned.innit.inorb.inrun.inset.inspo.intel.intil.intis.intra.inula.inure.inurn.inust.invar.inwit.iodic.iodid.iodin.iotas.ippon.irade.irids.iring.irked.iroko.irone.irons.isbas.ishes.isled.isles.isnae.issei.istle.items.ither.ivied.ivies.ixias.ixnay.ixora.ixtle.izard.izars.izzat.jaaps.jabot.jacal.jacks.jacky.jaded.jades.jafas.jaffa.jagas.jager.jaggs.jaggy.jagir.jagra.jails.jaker.jakes.jakey.jalap.jalop.jambe.jambo.jambs.jambu.james.jammy.jamon.janes.janns.janny.janty.japan.japed.japer.japes.jarks.jarls.jarps.jarta.jarul.jasey.jaspe.jasps.jatos.jauks.jaups.javas.javel.jawan.jawed.jaxie.jeans.jeats.jebel.jedis.jeels.jeely.jeeps.jeers.jeeze.jefes.jeffs.jehad.jehus.jelab.jello.jells.jembe.jemmy.jenny.jeons.jerid.jerks.jerry.jesse.jests.jesus.jetes.jeton.jeune.jewed.jewie.jhala.jiaos.jibba.jibbs.jibed.jiber.jibes.jiffs.jiggy.jigot.jihad.jills.jilts.jimmy.jimpy.jingo.jinks.jinne.jinni.jinns.jirds.jirga.jirre.jisms.jived.jiver.jives.jivey.jnana.jobed.jobes.jocko.jocks.jocky.jocos.jodel.joeys.johns.joins.joked.jokes.jokey.jokol.joled.joles.jolls.jolts.jolty.jomon.jomos.jones.jongs.jonty.jooks.joram.jorum.jotas.jotty.jotun.joual.jougs.jouks.joule.jours.jowar.jowed.jowls.jowly.joyed.jubas.jubes.jucos.judas.judgy.judos.jugal.jugum.jujus.juked.jukes.jukus.julep.jumar.jumby.jumps.junco.junks.junky.jupes.jupon.jural.jurat.jurel.jures.justs.jutes.jutty.juves.juvie.kaama.kabab.kabar.kabob.kacha.kacks.kadai.kades.kadis.kafir.kagos.kagus.kahal.kaiak.kaids.kaies.kaifs.kaika.kaiks.kails.kaims.kaing.kains.kakas.kakis.kalam.kales.kalif.kalis.kalpa.kamas.kames.kamik.kamis.kamme.kanae.kanas.kandy.kaneh.kanes.kanga.kangs.kanji.kants.kanzu.kaons.kapas.kaphs.kapok.kapow.kapus.kaput.karas.karat.karks.karns.karoo.karos.karri.karst.karsy.karts.karzy.kasha.kasme.katal.katas.katis.katti.kaugh.kauri.kauru.kaury.kaval.kavas.kawas.kawau.kawed.kayle.kayos.kazis.kazoo.kbars.kebar.kebob.kecks.kedge.kedgy.keech.keefs.keeks.keels.keema.keeno.keens.keeps.keets.keeve.kefir.kehua.keirs.kelep.kelim.kells.kelly.kelps.kelpy.kelts.kelty.kembo.kembs.kemps.kempt.kempy.kenaf.kench.kendo.kenos.kente.kents.kepis.kerbs.kerel.kerfs.kerky.kerma.kerne.kerns.keros.kerry.kerve.kesar.kests.ketas.ketch.ketes.ketol.kevel.kevil.kexes.keyed.keyer.khadi.khafs.khans.khaph.khats.khaya.khazi.kheda.kheth.khets.khoja.khors.khoum.khuds.kiaat.kiack.kiang.kibbe.kibbi.kibei.kibes.kibla.kicks.kicky.kiddo.kiddy.kidel.kidge.kiefs.kiers.kieve.kievs.kight.kikes.kikoi.kiley.kilim.kills.kilns.kilos.kilps.kilts.kilty.kimbo.kinas.kinda.kinds.kindy.kines.kings.kinin.kinks.kinos.kiore.kipes.kippa.kipps.kirby.kirks.kirns.kirri.kisan.kissy.kists.kited.kiter.kites.kithe.kiths.kitul.kivas.kiwis.klang.klaps.klett.klick.klieg.kliks.klong.kloof.kluge.klutz.knags.knaps.knarl.knars.knaur.knawe.knees.knell.knish.knits.knive.knobs.knops.knosp.knots.knout.knowe.knows.knubs.knurl.knurr.knurs.knuts.koans.koaps.koban.kobos.koels.koffs.kofta.kogal.kohas.kohen.kohls.koine.kojis.kokam.kokas.koker.kokra.kokum.kolas.kolos.kombu.konbu.kondo.konks.kooks.kooky.koori.kopek.kophs.kopje.koppa.korai.koras.korat.kores.korma.koros.korun.korus.koses.kotch.kotos.kotow.koura.kraal.krabs.kraft.krais.krait.krang.krans.kranz.kraut.krays.kreep.kreng.krewe.krona.krone.kroon.krubi.krunk.ksars.kubie.kudos.kudus.kudzu.kufis.kugel.kuias.kukri.kukus.kulak.kulan.kulas.kulfi.kumis.kumys.kuris.kurre.kurta.kurus.kusso.kutas.kutch.kutis.kutus.kuzus.kvass.kvell.kwela.kyack.kyaks.kyang.kyars.kyats.kybos.kydst.kyles.kylie.kylin.kylix.kyloe.kynde.kynds.kypes.kyrie.kytes.kythe.laari.labda.labia.labis.labra.laced.lacer.laces.lacet.lacey.lacks.laddy.laded.lader.lades.laers.laevo.lagan.lahal.lahar.laich.laics.laids.laigh.laika.laiks.laird.lairs.lairy.laith.laity.laked.laker.lakes.lakhs.lakin.laksa.laldy.lalls.lamas.lambs.lamby.lamed.lamer.lames.lamia.lammy.lamps.lanai.lanas.lanch.lande.lands.lanes.lanks.lants.lapin.lapis.lapje.larch.lards.lardy.laree.lares.largo.laris.larks.larky.larns.larnt.larum.lased.laser.lases.lassi.lassu.lassy.lasts.latah.lated.laten.latex.lathi.laths.lathy.latke.latus.lauan.lauch.lauds.laufs.laund.laura.laval.lavas.laved.laver.laves.lavra.lavvy.lawed.lawer.lawin.lawks.lawns.lawny.laxed.laxer.laxes.laxly.layed.layin.layup.lazar.lazed.lazes.lazos.lazzi.lazzo.leads.leady.leafs.leaks.leams.leans.leany.leaps.leare.lears.leary.leats.leavy.leaze.leben.leccy.ledes.ledgy.ledum.leear.leeks.leeps.leers.leese.leets.leeze.lefte.lefts.leger.leges.legge.leggo.legit.lehrs.lehua.leirs.leish.leman.lemed.lemel.lemes.lemma.lemme.lends.lenes.lengs.lenis.lenos.lense.lenti.lento.leone.lepid.lepra.lepta.lered.leres.lerps.lesbo.leses.lests.letch.lethe.letup.leuch.leuco.leuds.leugh.levas.levee.leves.levin.levis.lewis.lexes.lexis.lezes.lezza.lezzy.liana.liane.liang.liard.liars.liart.liber.libra.libri.lichi.licht.licit.licks.lidar.lidos.liefs.liens.liers.lieus.lieve.lifer.lifes.lifts.ligan.liger.ligge.ligne.liked.liker.likes.likin.lills.lilos.lilts.liman.limas.limax.limba.limbi.limbs.limby.limed.limen.limes.limey.limma.limns.limos.limpa.limps.linac.linch.linds.lindy.lined.lines.liney.linga.lings.lingy.linin.links.linky.linns.linny.linos.lints.linty.linum.linux.lions.lipas.lipes.lipin.lipos.lippy.liras.lirks.lirot.lisks.lisle.lisps.lists.litai.litas.lited.liter.lites.litho.liths.litre.lived.liven.lives.livor.livre.llano.loach.loads.loafs.loams.loans.loast.loave.lobar.lobed.lobes.lobos.lobus.loche.lochs.locie.locis.locks.locos.locum.loden.lodes.loess.lofts.logan.loges.loggy.logia.logie.logoi.logon.logos.lohan.loids.loins.loipe.loirs.lokes.lolls.lolly.lolog.lomas.lomed.lomes.loner.longa.longe.longs.looby.looed.looey.loofa.loofs.looie.looks.looky.looms.loons.loony.loops.loord.loots.loped.loper.lopes.loppy.loral.loran.lords.lordy.lorel.lores.loric.loris.losed.losel.losen.loses.lossy.lotah.lotas.lotes.lotic.lotos.lotsa.lotta.lotte.lotto.lotus.loued.lough.louie.louis.louma.lound.louns.loupe.loups.loure.lours.loury.louts.lovat.loved.loves.lovey.lovie.lowan.lowed.lowes.lownd.lowne.lowns.lowps.lowry.lowse.lowts.loxed.loxes.lozen.luach.luaus.lubed.lubes.lubra.luces.lucks.lucre.ludes.ludic.ludos.luffa.luffs.luged.luger.luges.lulls.lulus.lumas.lumbi.lumme.lummy.lumps.lunas.lunes.lunet.lungi.lungs.lunks.lunts.lupin.lured.lurer.lures.lurex.lurgi.lurgy.lurks.lurry.lurve.luser.lushy.lusks.lusts.lusus.lutea.luted.luter.lutes.luvvy.luxed.luxer.luxes.lweis.lyams.lyard.lyart.lyase.lycea.lycee.lycra.lymes.lynes.lyres.lysed.lyses.lysin.lysis.lysol.lyssa.lyted.lytes.lythe.lytic.lytta.maaed.maare.maars.mabes.macas.maced.macer.maces.mache.machi.machs.macks.macle.macon.madge.madid.madre.maerl.mafic.mages.maggs.magot.magus.mahoe.mahua.mahwa.maids.maiko.maiks.maile.maill.mails.maims.mains.maire.mairs.maise.maist.makar.makes.makis.makos.malam.malar.malas.malax.males.malic.malik.malis.malls.malms.malmy.malts.malty.malus.malva.malwa.mamas.mamba.mamee.mamey.mamie.manas.manat.mandi.maneb.maned.maneh.manes.manet.mangs.manis.manky.manna.manos.manse.manta.manto.manty.manul.manus.mapau.maqui.marae.marah.maras.marcs.mardy.mares.marge.margs.maria.marid.marka.marks.marle.marls.marly.marms.maron.maror.marra.marri.marse.marts.marvy.masas.mased.maser.mases.mashy.masks.massa.massy.masts.masty.masus.matai.mated.mater.mates.maths.matin.matlo.matte.matts.matza.matzo.mauby.mauds.mauls.maund.mauri.mausy.mauts.mauzy.maven.mavie.mavin.mavis.mawed.mawks.mawky.mawns.mawrs.maxed.maxes.maxis.mayan.mayas.mayed.mayos.mayst.mazed.mazer.mazes.mazey.mazut.mbira.meads.meals.meane.means.meany.meare.mease.meath.meats.mebos.mechs.mecks.medii.medle.meeds.meers.meets.meffs.meins.meint.meiny.meith.mekka.melas.melba.melds.melic.melik.mells.melts.melty.memes.memos.menad.mends.mened.menes.menge.mengs.mensa.mense.mensh.menta.mento.menus.meous.meows.merch.mercs.merde.mered.merel.merer.meres.meril.meris.merks.merle.merls.merse.mesal.mesas.mesel.meses.meshy.mesic.mesne.meson.messy.mesto.meted.metes.metho.meths.metic.metif.metis.metol.metre.meuse.meved.meves.mewed.mewls.meynt.mezes.mezze.mezzo.mhorr.miaou.miaow.miasm.miaul.micas.miche.micht.micks.micky.micos.micra.middy.midgy.midis.miens.mieve.miffs.miffy.mifty.miggs.mihas.mihis.miked.mikes.mikra.mikva.milch.milds.miler.miles.milfs.milia.milko.milks.mille.mills.milor.milos.milpa.milts.milty.miltz.mimed.mimeo.mimer.mimes.mimsy.minae.minar.minas.mincy.minds.mined.mines.minge.mings.mingy.minis.minke.minks.minny.minos.mints.mired.mires.mirex.mirid.mirin.mirks.mirky.mirly.miros.mirvs.mirza.misch.misdo.mises.misgo.misos.missa.mists.misty.mitch.miter.mites.mitis.mitre.mitts.mixed.mixen.mixer.mixes.mixte.mixup.mizen.mizzy.mneme.moans.moats.mobby.mobes.mobey.mobie.moble.mochi.mochs.mochy.mocks.moder.modes.modge.modii.modus.moers.mofos.moggy.mohel.mohos.mohrs.mohua.mohur.moile.moils.moira.moire.moits.mojos.mokes.mokis.mokos.molal.molas.molds.moled.moles.molla.molls.molly.molto.molts.molys.momes.momma.mommy.momus.monad.monal.monas.monde.mondo.moner.mongo.mongs.monic.monie.monks.monos.monte.monty.moobs.mooch.moods.mooed.mooks.moola.mooli.mools.mooly.moong.moons.moony.moops.moors.moory.moots.moove.moped.moper.mopes.mopey.moppy.mopsy.mopus.morae.moras.morat.moray.morel.mores.moria.morne.morns.morra.morro.morse.morts.mosed.moses.mosey.mosks.mosso.moste.mosts.moted.moten.motes.motet.motey.moths.mothy.motis.motte.motts.motty.motus.motza.mouch.moues.mould.mouls.moups.moust.mousy.moved.moves.mowas.mowed.mowra.moxas.moxie.moyas.moyle.moyls.mozed.mozes.mozos.mpret.mucho.mucic.mucid.mucin.mucks.mucor.mucro.mudge.mudir.mudra.muffs.mufti.mugga.muggs.muggy.muhly.muids.muils.muirs.muist.mujik.mulct.muled.mules.muley.mulga.mulie.mulla.mulls.mulse.mulsh.mumms.mumps.mumsy.mumus.munga.munge.mungo.mungs.munis.munts.muntu.muons.muras.mured.mures.murex.murid.murks.murls.murly.murra.murre.murri.murrs.murry.murti.murva.musar.musca.mused.muser.muses.muset.musha.musit.musks.musos.musse.mussy.musth.musts.mutch.muted.muter.mutes.mutha.mutis.muton.mutts.muxed.muxes.muzak.muzzy.mvule.myall.mylar.mynah.mynas.myoid.myoma.myope.myops.myopy.mysid.mythi.myths.mythy.myxos.mzees.naams.naans.nabes.nabis.nabks.nabla.nabob.nache.nacho.nacre.nadas.naeve.naevi.naffs.nagas.naggy.nagor.nahal.naiad.naifs.naiks.nails.naira.nairu.naked.naker.nakfa.nalas.naled.nalla.named.namer.names.namma.namus.nanas.nance.nancy.nandu.nanna.nanos.nanua.napas.naped.napes.napoo.nappa.nappe.nappy.naras.narco.narcs.nards.nares.naric.naris.narks.narky.narre.nashi.natch.nates.natis.natty.nauch.naunt.navar.naves.navew.navvy.nawab.nazes.nazir.nazis.nduja.neafe.neals.neaps.nears.neath.neats.nebek.nebel.necks.neddy.needs.neeld.neele.neemb.neems.neeps.neese.neeze.negro.negus.neifs.neist.neive.nelis.nelly.nemas.nemns.nempt.nenes.neons.neper.nepit.neral.nerds.nerka.nerks.nerol.nerts.nertz.nervy.nests.netes.netop.netts.netty.neuks.neume.neums.nevel.neves.nevus.newbs.newed.newel.newie.newsy.newts.nexts.nexus.ngaio.ngana.ngati.ngoma.ngwee.nicad.nicht.nicks.nicol.nidal.nided.nides.nidor.nidus.niefs.nieve.nifes.niffs.niffy.nifty.niger.nighs.nihil.nikab.nikah.nikau.nills.nimbi.nimbs.nimps.niner.nines.ninon.nipas.nippy.niqab.nirls.nirly.nisei.nisse.nisus.niter.nites.nitid.niton.nitre.nitro.nitry.nitty.nival.nixed.nixer.nixes.nixie.nizam.nkosi.noahs.nobby.nocks.nodal.noddy.nodes.nodus.noels.noggs.nohow.noils.noily.noint.noirs.noles.nolls.nolos.nomas.nomen.nomes.nomic.nomoi.nomos.nonas.nonce.nones.nonet.nongs.nonis.nonny.nonyl.noobs.nooit.nooks.nooky.noons.noops.nopal.noria.noris.norks.norma.norms.nosed.noser.noses.notal.noted.noter.notes.notum.nould.noule.nouls.nouns.nouny.noups.novae.novas.novum.noway.nowed.nowls.nowts.nowty.noxal.noxes.noyau.noyed.noyes.nubby.nubia.nucha.nuddy.nuder.nudes.nudie.nudzh.nuffs.nugae.nuked.nukes.nulla.nulls.numbs.numen.nummy.nunny.nurds.nurdy.nurls.nurrs.nutso.nutsy.nyaff.nyala.nying.nyssa.oaked.oaker.oakum.oared.oases.oasis.oasts.oaten.oater.oaths.oaves.obang.obeah.obeli.obeys.obias.obied.obiit.obits.objet.oboes.obole.oboli.obols.occam.ocher.oches.ochre.ochry.ocker.ocrea.octad.octan.octas.octyl.oculi.odahs.odals.odeon.odeum.odism.odist.odium.odors.odour.odyle.odyls.ofays.offed.offie.oflag.ofter.ogams.ogeed.ogees.oggin.ogham.ogive.ogled.ogler.ogles.ogmic.ogres.ohias.ohing.ohmic.ohone.oidia.oiled.oiler.oinks.oints.ojime.okapi.okays.okehs.okras.oktas.oldie.oleic.olein.olent.oleos.oleum.olios.ollas.ollav.oller.ollie.ology.olpae.olpes.omasa.omber.ombus.omens.omers.omits.omlah.omovs.omrah.oncer.onces.oncet.oncus.onely.oners.onery.onium.onkus.onlay.onned.ontic.oobit.oohed.oomph.oonts.ooped.oorie.ooses.ootid.oozed.oozes.opahs.opals.opens.opepe.oping.oppos.opsin.opted.opter.orach.oracy.orals.orang.orant.orate.orbed.orcas.orcin.ordos.oread.orfes.orgia.orgic.orgue.oribi.oriel.orixa.orles.orlon.orlop.ormer.ornis.orpin.orris.ortho.orval.orzos.oscar.oshac.osier.osmic.osmol.ossia.ostia.otaku.otary.ottar.ottos.oubit.oucht.ouens.ouija.oulks.oumas.oundy.oupas.ouped.ouphe.ouphs.ourie.ousel.ousts.outby.outed.outre.outro.outta.ouzel.ouzos.ovals.ovels.ovens.overs.ovist.ovoli.ovolo.ovule.owche.owies.owled.owler.owlet.owned.owres.owrie.owsen.oxbow.oxers.oxeye.oxids.oxies.oxime.oxims.oxlip.oxter.oyers.ozeki.ozzie.paals.paans.pacas.paced.pacer.paces.pacey.pacha.packs.pacos.pacta.pacts.padis.padle.padma.padre.padri.paean.paedo.paeon.paged.pager.pages.pagle.pagod.pagri.paiks.pails.pains.paire.pairs.paisa.paise.pakka.palas.palay.palea.paled.pales.palet.palis.palki.palla.palls.pally.palms.palmy.palpi.palps.palsa.pampa.panax.pance.panda.pands.pandy.paned.panes.panga.pangs.panim.panko.panne.panni.panto.pants.panty.paoli.paolo.papas.papaw.papes.pappi.pappy.parae.paras.parch.pardi.pards.pardy.pared.paren.pareo.pares.pareu.parev.parge.pargo.paris.parki.parks.parky.parle.parly.parma.parol.parps.parra.parrs.parti.parts.parve.parvo.paseo.pases.pasha.pashm.paska.paspy.passe.pasts.pated.paten.pater.pates.paths.patin.patka.patly.patte.patus.pauas.pauls.pavan.paved.paven.paver.paves.pavid.pavin.pavis.pawas.pawaw.pawed.pawer.pawks.pawky.pawls.pawns.paxes.payed.payor.paysd.peage.peags.peaks.peaky.peals.peans.peare.pears.peart.pease.peats.peaty.peavy.peaze.pebas.pechs.pecke.pecks.pecky.pedes.pedis.pedro.peece.peeks.peels.peens.peeoy.peepe.peeps.peers.peery.peeve.peggy.peghs.peins.peise.peize.pekan.pekes.pekin.pekoe.pelas.pelau.peles.pelfs.pells.pelma.pelon.pelta.pelts.pends.pendu.pened.penes.pengo.penie.penis.penks.penna.penni.pents.peons.peony.pepla.pepos.peppy.pepsi.perai.perce.percs.perdu.perdy.perea.peres.peris.perks.perms.perns.perog.perps.perry.perse.perst.perts.perve.pervo.pervs.pervy.pesos.pests.pesty.petar.peter.petit.petre.petri.petti.petto.pewee.pewit.peyse.phage.phang.phare.pharm.pheer.phene.pheon.phese.phial.phish.phizz.phlox.phoca.phono.phons.phots.phpht.phuts.phyla.phyle.piani.pians.pibal.pical.picas.piccy.picks.picot.picra.picul.piend.piers.piert.pieta.piets.piezo.pight.pigmy.piing.pikas.pikau.piked.piker.pikes.pikey.pikis.pikul.pilae.pilaf.pilao.pilar.pilau.pilaw.pilch.pilea.piled.pilei.piler.piles.pilis.pills.pilow.pilum.pilus.pimas.pimps.pinas.pined.pines.pingo.pings.pinko.pinks.pinna.pinny.pinon.pinot.pinta.pints.pinup.pions.piony.pious.pioye.pioys.pipal.pipas.piped.pipes.pipet.pipis.pipit.pippy.pipul.pirai.pirls.pirns.pirog.pisco.pises.pisky.pisos.pissy.piste.pitas.piths.piton.pitot.pitta.piums.pixes.pized.pizes.plaas.plack.plage.plans.plaps.plash.plasm.plast.plats.platt.platy.playa.plays.pleas.plebe.plebs.plena.pleon.plesh.plews.plica.plies.plims.pling.plink.ploat.plods.plong.plonk.plook.plops.plots.plotz.plouk.plows.ploye.ploys.plues.pluff.plugs.plums.plumy.pluot.pluto.plyer.poach.poaka.poake.poboy.pocks.pocky.podal.poddy.podex.podge.podgy.podia.poems.poeps.poets.pogey.pogge.pogos.pohed.poilu.poind.pokal.poked.pokes.pokey.pokie.poled.poler.poles.poley.polio.polis.polje.polks.polls.polly.polos.polts.polys.pombe.pomes.pommy.pomos.pomps.ponce.poncy.ponds.pones.poney.ponga.pongo.pongs.pongy.ponks.ponts.ponty.ponzu.poods.pooed.poofs.poofy.poohs.pooja.pooka.pooks.pools.poons.poops.poopy.poori.poort.poots.poove.poovy.popes.poppa.popsy.porae.poral.pored.porer.pores.porge.porgy.porin.porks.porky.porno.porns.porny.porta.ports.porty.posed.poses.posey.posho.posts.potae.potch.poted.potes.potin.potoo.potsy.potto.potts.potty.pouff.poufs.pouke.pouks.poule.poulp.poult.poupe.poupt.pours.pouts.powan.powin.pownd.powns.powny.powre.poxed.poxes.poynt.poyou.poyse.pozzy.praam.prads.prahu.prams.prana.prang.praos.prase.prate.prats.pratt.praty.praus.prays.predy.preed.prees.preif.prems.premy.prent.preon.preop.preps.presa.prese.prest.preve.prexy.preys.prial.pricy.prief.prier.pries.prigs.prill.prima.primi.primp.prims.primy.prink.prion.prise.priss.proas.probs.prods.proem.profs.progs.proin.proke.prole.proll.promo.proms.pronk.props.prore.proso.pross.prost.prosy.proto.proul.prows.proyn.prunt.pruta.pryer.pryse.pseud.pshaw.psion.psoae.psoai.psoas.psora.psych.psyop.pubco.pubes.pubis.pucan.pucer.puces.pucka.pucks.puddy.pudge.pudic.pudor.pudsy.pudus.puers.puffa.puffs.puggy.pugil.puhas.pujah.pujas.pukas.puked.puker.pukes.pukey.pukka.pukus.pulao.pulas.puled.puler.pules.pulik.pulis.pulka.pulks.pulli.pulls.pully.pulmo.pulps.pulus.pumas.pumie.pumps.punas.punce.punga.pungs.punji.punka.punks.punky.punny.punto.punts.punty.pupae.pupas.pupus.purda.pured.pures.purin.puris.purls.purpy.purrs.pursy.purty.puses.pusle.pussy.putid.puton.putti.putto.putts.puzel.pwned.pyats.pyets.pygal.pyins.pylon.pyned.pynes.pyoid.pyots.pyral.pyran.pyres.pyrex.pyric.pyros.pyxed.pyxes.pyxie.pyxis.pzazz.qadis.qaids.qajaq.qanat.qapik.qibla.qophs.qorma.quads.quaff.quags.quair.quais.quaky.quale.quant.quare.quass.quate.quats.quayd.quays.qubit.quean.queme.quena.quern.queyn.queys.quich.quids.quiff.quims.quina.quine.quino.quins.quint.quipo.quips.quipu.quire.quirt.quist.quits.quoad.quods.quoif.quoin.quoit.quoll.quonk.quops.qursh.quyte.rabat.rabic.rabis.raced.races.rache.racks.racon.radge.radix.radon.raffs.rafts.ragas.ragde.raged.ragee.rager.rages.ragga.raggs.raggy.ragis.ragus.rahed.rahui.raias.raids.raiks.raile.rails.raine.rains.raird.raita.raits.rajas.rajes.raked.rakee.raker.rakes.rakia.rakis.rakus.rales.ramal.ramee.ramet.ramie.ramin.ramis.rammy.ramps.ramus.ranas.rance.rands.ranee.ranga.rangi.rangs.rangy.ranid.ranis.ranke.ranks.rants.raped.raper.rapes.raphe.rappe.rared.raree.rares.rarks.rased.raser.rases.rasps.rasse.rasta.ratal.ratan.ratas.ratch.rated.ratel.rater.rates.ratha.rathe.raths.ratoo.ratos.ratus.rauns.raupo.raved.ravel.raver.raves.ravey.ravin.rawer.rawin.rawly.rawns.raxed.raxes.rayah.rayas.rayed.rayle.rayne.razed.razee.razer.razes.razoo.readd.reads.reais.reaks.realo.reals.reame.reams.reamy.reans.reaps.rears.reast.reata.reate.reave.rebbe.rebec.rebid.rebit.rebop.rebuy.recal.recce.recco.reccy.recit.recks.recon.recta.recti.recto.redan.redds.reddy.reded.redes.redia.redid.redip.redly.redon.redos.redox.redry.redub.redux.redye.reech.reede.reeds.reefs.reefy.reeks.reeky.reels.reens.reest.reeve.refed.refel.reffo.refis.refix.refly.refry.regar.reges.reggo.regie.regma.regna.regos.regur.rehem.reifs.reify.reiki.reiks.reink.reins.reird.reist.reive.rejig.rejon.reked.rekes.rekey.relet.relie.relit.rello.reman.remap.remen.remet.remex.remix.renay.rends.reney.renga.renig.renin.renne.renos.rente.rents.reoil.reorg.repeg.repin.repla.repos.repot.repps.repro.reran.rerig.resat.resaw.resay.resee.reses.resew.resid.resit.resod.resow.resto.rests.resty.resus.retag.retax.retem.retia.retie.retox.revet.revie.rewan.rewax.rewed.rewet.rewin.rewon.rewth.rexes.rezes.rheas.rheme.rheum.rhies.rhime.rhine.rhody.rhomb.rhone.rhumb.rhyne.rhyta.riads.rials.riant.riata.ribas.ribby.ribes.riced.ricer.rices.ricey.richt.ricin.ricks.rides.ridgy.ridic.riels.riems.rieve.rifer.riffs.rifte.rifts.rifty.riggs.rigol.riled.riles.riley.rille.rills.rimae.rimed.rimer.rimes.rimus.rinds.rindy.rines.rings.rinks.rioja.riots.riped.ripes.ripps.rises.rishi.risks.risps.risus.rites.ritts.ritzy.rivas.rived.rivel.riven.rives.riyal.rizas.roads.roams.roans.roars.roary.roate.robed.robes.roble.rocks.roded.rodes.roguy.rohes.roids.roils.roily.roins.roist.rojak.rojis.roked.roker.rokes.rolag.roles.rolfs.rolls.romal.roman.romeo.romps.ronde.rondo.roneo.rones.ronin.ronne.ronte.ronts.roods.roofs.roofy.rooks.rooky.rooms.roons.roops.roopy.roosa.roose.roots.rooty.roped.roper.ropes.ropey.roque.roral.rores.roric.rorid.rorie.rorts.rorty.rosed.roses.roset.roshi.rosin.rosit.rosti.rosts.rotal.rotan.rotas.rotch.roted.rotes.rotis.rotls.roton.rotos.rotte.rouen.roues.roule.rouls.roums.roups.roupy.roust.routh.routs.roved.roven.roves.rowan.rowed.rowel.rowen.rowie.rowme.rownd.rowth.rowts.royne.royst.rozet.rozit.ruana.rubai.rubby.rubel.rubes.rubin.ruble.rubli.rubus.ruche.rucks.rudas.rudds.rudes.rudie.rudis.rueda.ruers.ruffe.ruffs.rugae.rugal.ruggy.ruing.ruins.rukhs.ruled.rules.rumal.rumbo.rumen.rumes.rumly.rummy.rumpo.rumps.rumpy.runch.runds.runed.runes.rungs.runic.runny.runts.runty.rupia.rurps.rurus.rusas.ruses.rushy.rusks.rusma.russe.rusts.ruths.rutin.rutty.ryals.rybat.ryked.rykes.rymme.rynds.ryots.ryper.saags.sabal.sabed.saber.sabes.sabha.sabin.sabir.sable.sabot.sabra.sabre.sacks.sacra.saddo.sades.sadhe.sadhu.sadis.sados.sadza.safed.safes.sagas.sager.sages.saggy.sagos.sagum.saheb.sahib.saice.saick.saics.saids.saiga.sails.saims.saine.sains.sairs.saist.saith.sajou.sakai.saker.sakes.sakia.sakis.sakti.salal.salat.salep.sales.salet.salic.salix.salle.salmi.salol.salop.salpa.salps.salse.salto.salts.salue.salut.saman.samas.samba.sambo.samek.samel.samen.sames.samey.samfu.sammy.sampi.samps.sands.saned.sanes.sanga.sangh.sango.sangs.sanko.sansa.santo.sants.saola.sapan.sapid.sapor.saran.sards.sared.saree.sarge.sargo.sarin.saris.sarks.sarky.sarod.saros.sarus.saser.sasin.sasse.satai.satay.sated.satem.sates.satis.sauba.sauch.saugh.sauls.sault.saunt.saury.sauts.saved.saver.saves.savey.savin.sawah.sawed.sawer.saxes.sayed.sayer.sayid.sayne.sayon.sayst.sazes.scabs.scads.scaff.scags.scail.scala.scall.scams.scand.scans.scapa.scape.scapi.scarp.scars.scart.scath.scats.scatt.scaud.scaup.scaur.scaws.sceat.scena.scend.schav.schmo.schul.schwa.sclim.scody.scogs.scoog.scoot.scopa.scops.scots.scoug.scoup.scowp.scows.scrab.scrae.scrag.scran.scrat.scraw.scray.scrim.scrip.scrob.scrod.scrog.scrow.scudi.scudo.scuds.scuff.scuft.scugs.sculk.scull.sculp.sculs.scums.scups.scurf.scurs.scuse.scuta.scute.scuts.scuzz.scyes.sdayn.sdein.seals.seame.seams.seamy.seans.seare.sears.sease.seats.seaze.sebum.secco.sechs.sects.seder.sedes.sedge.sedgy.sedum.seeds.seeks.seeld.seels.seely.seems.seeps.seepy.seers.sefer.segar.segni.segno.segol.segos.sehri.seifs.seils.seine.seirs.seise.seism.seity.seiza.sekos.sekts.selah.seles.selfs.sella.selle.sells.selva.semee.semes.semie.semis.senas.sends.senes.sengi.senna.senor.sensa.sensi.sente.senti.sents.senvy.senza.sepad.sepal.sepic.sepoy.septa.septs.serac.serai.seral.sered.serer.seres.serfs.serge.seric.serin.serks.seron.serow.serra.serre.serrs.serry.servo.sesey.sessa.setae.setal.seton.setts.sewan.sewar.sewed.sewel.sewen.sewin.sexed.sexer.sexes.sexto.sexts.seyen.shads.shags.shahs.shako.shakt.shalm.shaly.shama.shams.shand.shans.shaps.sharn.shash.shaul.shawm.shawn.shaws.shaya.shays.shchi.sheaf.sheal.sheas.sheds.sheel.shend.shent.sheol.sherd.shere.shero.shets.sheva.shewn.shews.shiai.shiel.shier.shies.shill.shily.shims.shins.ships.shirr.shirs.shish.shiso.shist.shite.shits.shiur.shiva.shive.shivs.shlep.shlub.shmek.shmoe.shoat.shoed.shoer.shoes.shogi.shogs.shoji.shojo.shola.shool.shoon.shoos.shope.shops.shorl.shote.shots.shott.showd.shows.shoyu.shred.shris.shrow.shtik.shtum.shtup.shule.shuln.shuls.shuns.shura.shute.shuts.shwas.shyer.sials.sibbs.sibyl.sices.sicht.sicko.sicks.sicky.sidas.sided.sider.sides.sidha.sidhe.sidle.sield.siens.sient.sieth.sieur.sifts.sighs.sigil.sigla.signa.signs.sijos.sikas.siker.sikes.silds.siled.silen.siler.siles.silex.silks.sills.silos.silts.silty.silva.simar.simas.simba.simis.simps.simul.sinds.sined.sines.sings.sinhs.sinks.sinky.sinus.siped.sipes.sippy.sired.siree.sires.sirih.siris.siroc.sirra.sirup.sisal.sises.sista.sists.sitar.sited.sites.sithe.sitka.situp.situs.siver.sixer.sixes.sixmo.sixte.sizar.sized.sizel.sizer.sizes.skags.skail.skald.skank.skart.skats.skatt.skaws.skean.skear.skeds.skeed.skeef.skeen.skeer.skees.skeet.skegg.skegs.skein.skelf.skell.skelm.skelp.skene.skens.skeos.skeps.skers.skets.skews.skids.skied.skies.skiey.skimo.skims.skink.skins.skint.skios.skips.skirl.skirr.skite.skits.skive.skivy.sklim.skoal.skody.skoff.skogs.skols.skool.skort.skosh.skran.skrik.skuas.skugs.skyed.skyer.skyey.skyfs.skyre.skyrs.skyte.slabs.slade.slaes.slags.slaid.slake.slams.slane.slank.slaps.slart.slats.slaty.slaws.slays.slebs.sleds.sleer.slews.sleys.slier.slily.slims.slipe.slips.slipt.slish.slits.slive.sloan.slobs.sloes.slogs.sloid.slojd.slomo.sloom.sloot.slops.slopy.slorm.slots.slove.slows.sloyd.slubb.slubs.slued.slues.sluff.slugs.sluit.slums.slurb.slurs.sluse.sluts.slyer.slype.smaak.smaik.smalm.smalt.smarm.smaze.smeek.smees.smeik.smeke.smerk.smews.smirr.smirs.smits.smogs.smoko.smolt.smoor.smoot.smore.smorg.smout.smowt.smugs.smurs.smush.smuts.snabs.snafu.snags.snaps.snarf.snark.snars.snary.snash.snath.snaws.snead.sneap.snebs.sneck.sneds.sneed.snees.snell.snibs.snick.snies.snift.snigs.snips.snipy.snirt.snits.snobs.snods.snoek.snoep.snogs.snoke.snood.snook.snool.snoot.snots.snowk.snows.snubs.snugs.snush.snyes.soaks.soaps.soare.soars.soave.sobas.socas.soces.socko.socks.socle.sodas.soddy.sodic.sodom.sofar.sofas.softa.softs.softy.soger.sohur.soils.soily.sojas.sojus.sokah.soken.sokes.sokol.solah.solan.solas.solde.soldi.soldo.solds.soled.solei.soler.soles.solon.solos.solum.solus.soman.somas.sonce.sonde.sones.songs.sonly.sonne.sonny.sonse.sonsy.sooey.sooks.sooky.soole.sools.sooms.soops.soote.soots.sophs.sophy.sopor.soppy.sopra.soral.soras.sorbo.sorbs.sorda.sordo.sords.sored.soree.sorel.sorer.sores.sorex.sorgo.sorns.sorra.sorta.sorts.sorus.soths.sotol.souce.souct.sough.souks.souls.soums.soups.soupy.sours.souse.souts.sowar.sowce.sowed.sowff.sowfs.sowle.sowls.sowms.sownd.sowne.sowps.sowse.sowth.soyas.soyle.soyuz.sozin.spacy.spado.spaed.spaer.spaes.spags.spahi.spail.spain.spait.spake.spald.spale.spall.spalt.spams.spane.spang.spans.spard.spars.spart.spate.spats.spaul.spawl.spaws.spayd.spays.spaza.spazz.speal.spean.speat.specs.spect.speel.speer.speil.speir.speks.speld.spelk.speos.spets.speug.spews.spewy.spial.spica.spick.spics.spide.spier.spies.spiff.spifs.spiks.spile.spims.spina.spink.spins.spirt.spiry.spits.spitz.spivs.splay.splog.spode.spods.spoom.spoor.spoot.spork.sposh.spots.sprad.sprag.sprat.spred.sprew.sprit.sprod.sprog.sprue.sprug.spuds.spued.spuer.spues.spugs.spule.spume.spumy.spurs.sputa.spyal.spyre.squab.squaw.squeg.squid.squit.squiz.stabs.stade.stags.stagy.staig.stane.stang.staph.staps.starn.starr.stars.stats.staun.staws.stays.stean.stear.stedd.stede.steds.steek.steem.steen.steil.stela.stele.stell.steme.stems.stend.steno.stens.stent.steps.stept.stere.stets.stews.stewy.steys.stich.stied.sties.stilb.stile.stime.stims.stimy.stipa.stipe.stire.stirk.stirp.stirs.stive.stivy.stoae.stoai.stoas.stoat.stobs.stoep.stogy.stoit.stoln.stoma.stond.stong.stonk.stonn.stook.stoor.stope.stops.stopt.stoss.stots.stott.stoun.stoup.stour.stown.stowp.stows.strad.strae.strag.strak.strep.strew.stria.strig.strim.strop.strow.stroy.strum.stubs.stude.studs.stull.stulm.stumm.stums.stuns.stupa.stupe.sture.sturt.styed.styes.styli.stylo.styme.stymy.styre.styte.subah.subas.subby.suber.subha.succi.sucks.sucky.sucre.sudds.sudor.sudsy.suede.suent.suers.suete.suets.suety.sugan.sughs.sugos.suhur.suids.suint.suits.sujee.sukhs.sukuk.sulci.sulfa.sulfo.sulks.sulph.sulus.sumis.summa.sumos.sumph.sumps.sunis.sunks.sunna.sunns.sunup.supes.supra.surah.sural.suras.surat.surds.sured.sures.surfs.surfy.surgy.surra.sused.suses.susus.sutor.sutra.sutta.swabs.swack.swads.swage.swags.swail.swain.swale.swaly.swamy.swang.swank.swans.swaps.swapt.sward.sware.swarf.swart.swats.swayl.sways.sweal.swede.sweed.sweel.sweer.swees.sweir.swelt.swerf.sweys.swies.swigs.swile.swims.swink.swipe.swire.swiss.swith.swits.swive.swizz.swobs.swole.swoln.swops.swopt.swots.swoun.sybbe.sybil.syboe.sybow.sycee.syces.sycon.syens.syker.sykes.sylis.sylph.sylva.symar.synch.syncs.synds.syned.synes.synth.syped.sypes.syphs.syrah.syren.sysop.sythe.syver.taals.taata.taber.tabes.tabid.tabis.tabla.tabor.tabun.tabus.tacan.taces.tacet.tache.tacho.tachs.tacks.tacos.tacts.taels.tafia.taggy.tagma.tahas.tahrs.taiga.taigs.taiko.tails.tains.taira.taish.taits.tajes.takas.takes.takhi.takin.takis.takky.talak.talaq.talar.talas.talcs.talcy.talea.taler.tales.talks.talky.talls.talma.talpa.taluk.talus.tamal.tamed.tames.tamin.tamis.tammy.tamps.tanas.tanga.tangi.tangs.tanhs.tanka.tanks.tanky.tanna.tansy.tanti.tanto.tanty.tapas.taped.tapen.tapes.tapet.tapis.tappa.tapus.taras.tardo.tared.tares.targa.targe.tarns.taroc.tarok.taros.tarps.tarre.tarry.tarsi.tarts.tarty.tasar.tased.taser.tases.tasks.tassa.tasse.tasso.tatar.tater.tates.taths.tatie.tatou.tatts.tatus.taube.tauld.tauon.taupe.tauts.tavah.tavas.taver.tawai.tawas.tawed.tawer.tawie.tawse.tawts.taxed.taxer.taxes.taxis.taxol.taxon.taxor.taxus.tayra.tazza.tazze.teade.teads.teaed.teaks.teals.teams.tears.teats.teaze.techs.techy.tecta.teels.teems.teend.teene.teens.teeny.teers.teffs.teggs.tegua.tegus.tehrs.teiid.teils.teind.teins.telae.telco.teles.telex.telia.telic.tells.telly.teloi.telos.temed.temes.tempi.temps.tempt.temse.tench.tends.tendu.tenes.tenge.tenia.tenne.tenno.tenny.tenon.tents.tenty.tenue.tepal.tepas.tepoy.terai.teras.terce.terek.teres.terfe.terfs.terga.terms.terne.terns.terry.terts.tesla.testa.teste.tests.tetes.teths.tetra.tetri.teuch.teugh.tewed.tewel.tewit.texas.texes.texts.thack.thagi.thaim.thale.thali.thana.thane.thang.thans.thanx.tharm.thars.thaws.thawy.thebe.theca.theed.theek.thees.thegn.theic.thein.thelf.thema.thens.theow.therm.thesp.thete.thews.thewy.thigs.thilk.thill.thine.thins.thiol.thirl.thoft.thole.tholi.thoro.thorp.thous.thowl.thrae.thraw.thrid.thrip.throe.thuds.thugs.thuja.thunk.thurl.thuya.thymi.thymy.tians.tiars.tical.ticca.ticed.tices.tichy.ticks.ticky.tiddy.tided.tides.tiers.tiffs.tifos.tifts.tiges.tigon.tikas.tikes.tikis.tikka.tilak.tiled.tiler.tiles.tills.tilly.tilth.tilts.timbo.timed.times.timon.timps.tinas.tinct.tinds.tinea.tined.tines.tinge.tings.tinks.tinny.tints.tinty.tipis.tippy.tired.tires.tirls.tiros.tirrs.titch.titer.titis.titre.titty.titup.tiyin.tiyns.tizes.tizzy.toads.toady.toaze.tocks.tocky.tocos.todde.toeas.toffs.toffy.tofts.tofus.togae.togas.toged.toges.togue.tohos.toile.toils.toing.toise.toits.tokay.toked.toker.tokes.tokos.tolan.tolar.tolas.toled.toles.tolls.tolly.tolts.tolus.tolyl.toman.tombs.tomes.tomia.tommy.tomos.tondi.tondo.toned.toner.tones.toney.tongs.tonka.tonks.tonne.tonus.tools.tooms.toons.toots.toped.topee.topek.toper.topes.tophe.tophi.tophs.topis.topoi.topos.toppy.toque.torah.toran.toras.torcs.tores.toric.torii.toros.torot.torrs.torse.torsi.torsk.torta.torte.torts.tosas.tosed.toses.toshy.tossy.toted.toter.totes.totty.touks.touns.tours.touse.tousy.touts.touze.touzy.towed.towie.towns.towny.towse.towsy.towts.towze.towzy.toyed.toyer.toyon.toyos.tozed.tozes.tozie.trabs.trads.tragi.traik.trams.trank.tranq.trans.trant.trape.traps.trapt.trass.trats.tratt.trave.trayf.trays.treck.treed.treen.trees.trefa.treif.treks.trema.trems.tress.trest.trets.trews.treyf.treys.triac.tride.trier.tries.triff.trigo.trigs.trike.trild.trill.trims.trine.trins.triol.trior.trios.trips.tripy.trist.troad.troak.troat.trock.trode.trods.trogs.trois.troke.tromp.trona.tronc.trone.tronk.trons.trooz.troth.trots.trows.troys.trued.trues.trugo.trugs.trull.tryer.tryke.tryma.tryps.tsade.tsadi.tsars.tsked.tsuba.tsubo.tuans.tuart.tuath.tubae.tubar.tubas.tubby.tubed.tubes.tucks.tufas.tuffe.tuffs.tufts.tufty.tugra.tuile.tuina.tuism.tuktu.tules.tulpa.tulsi.tumid.tummy.tumps.tumpy.tunas.tunds.tuned.tuner.tunes.tungs.tunny.tupek.tupik.tuple.tuque.turds.turfs.turfy.turks.turme.turms.turns.turnt.turps.turrs.tushy.tusks.tusky.tutee.tutti.tutty.tutus.tuxes.tuyer.twaes.twain.twals.twank.twats.tways.tweel.tween.tweep.tweer.twerk.twerp.twier.twigs.twill.twilt.twink.twins.twiny.twire.twirp.twite.twits.twoer.twyer.tyees.tyers.tyiyn.tykes.tyler.tymps.tynde.tyned.tynes.typal.typed.types.typey.typic.typos.typps.typto.tyran.tyred.tyres.tyros.tythe.tzars.udals.udons.ugali.ugged.uhlan.uhuru.ukase.ulama.ulans.ulema.ulmin.ulnad.ulnae.ulnar.ulnas.ulpan.ulvas.ulyie.ulzie.umami.umbel.umber.umble.umbos.umbre.umiac.umiak.umiaq.ummah.ummas.ummed.umped.umphs.umpie.umpty.umrah.umras.unais.unapt.unarm.unary.unaus.unbag.unban.unbar.unbed.unbid.unbox.uncap.unces.uncia.uncos.uncoy.uncus.undam.undee.undos.undug.uneth.unfix.ungag.unget.ungod.ungot.ungum.unhat.unhip.unica.units.unjam.unked.unket.unkid.unlaw.unlay.unled.unlet.unlid.unman.unmew.unmix.unpay.unpeg.unpen.unpin.unred.unrid.unrig.unrip.unsaw.unsay.unsee.unsew.unsex.unsod.untax.untin.unwet.unwit.unwon.upbow.upbye.updos.updry.upend.upjet.uplay.upled.uplit.upped.upran.uprun.upsee.upsey.uptak.upter.uptie.uraei.urali.uraos.urare.urari.urase.urate.urbex.urbia.urdee.ureal.ureas.uredo.ureic.urena.urent.urged.urger.urges.urial.urite.urman.urnal.urned.urped.ursae.ursid.urson.urubu.urvas.users.usnea.usque.usure.usury.uteri.uveal.uveas.uvula.vacua.vaded.vades.vagal.vagus.vails.vaire.vairs.vairy.vakas.vakil.vales.valis.valse.vamps.vampy.vanda.vaned.vanes.vangs.vants.vaped.vaper.vapes.varan.varas.vardy.varec.vares.varia.varix.varna.varus.varve.vasal.vases.vasts.vasty.vatic.vatus.vauch.vaute.vauts.vawte.vaxes.veale.veals.vealy.veena.veeps.veers.veery.vegas.veges.vegie.vegos.vehme.veils.veily.veins.veiny.velar.velds.veldt.veles.vells.velum.venae.venal.vends.vendu.veney.venge.venin.vents.venus.verbs.verra.verry.verst.verts.vertu.vespa.vesta.vests.vetch.vexed.vexer.vexes.vexil.vezir.vials.viand.vibes.vibex.vibey.viced.vices.vichy.viers.views.viewy.vifda.viffs.vigas.vigia.vilde.viler.villi.vills.vimen.vinal.vinas.vinca.vined.viner.vines.vinew.vinic.vinos.vints.viold.viols.vired.vireo.vires.virga.virge.virid.virls.virtu.visas.vised.vises.visie.visne.vison.visto.vitae.vitas.vitex.vitro.vitta.vivas.vivat.vivda.viver.vives.vizir.vizor.vleis.vlies.vlogs.voars.vocab.voces.voddy.vodou.vodun.voema.vogie.voids.voile.voips.volae.volar.voled.voles.volet.volks.volta.volte.volti.volts.volva.volve.vomer.voted.votes.vouge.voulu.vowed.vower.voxel.vozhd.vraic.vrils.vroom.vrous.vrouw.vrows.vuggs.vuggy.vughs.vughy.vulgo.vulns.vulva.vutty.waacs.wacke.wacko.wacks.wadds.waddy.waded.wader.wades.wadge.wadis.wadts.waffs.wafts.waged.wages.wagga.wagyu.wahoo.waide.waifs.waift.wails.wains.wairs.waite.waits.wakas.waked.waken.waker.wakes.wakfs.waldo.walds.waled.waler.wales.walie.walis.walks.walla.walls.wally.walty.wamed.wames.wamus.wands.waned.wanes.waney.wangs.wanks.wanky.wanle.wanly.wanna.wants.wanty.wanze.waqfs.warbs.warby.wards.wared.wares.warez.warks.warms.warns.warps.warre.warst.warts.wases.washy.wasms.wasps.waspy.wasts.watap.watts.wauff.waugh.wauks.waulk.wauls.waurs.waved.waves.wavey.wawas.wawes.wawls.waxed.waxer.waxes.wayed.wazir.wazoo.weald.weals.weamb.weans.wears.webby.weber.wecht.wedel.wedgy.weeds.weeke.weeks.weels.weems.weens.weeny.weeps.weepy.weest.weete.weets.wefte.wefts.weids.weils.weirs.weise.weize.wekas.welds.welke.welks.welkt.wells.welly.welts.wembs.wends.wenge.wenny.wents.weros.wersh.wests.wetas.wetly.wexed.wexes.whamo.whams.whang.whaps.whare.whata.whats.whaup.whaur.wheal.whear.wheen.wheep.wheft.whelk.whelm.whens.whets.whews.wheys.whids.whift.whigs.whilk.whims.whins.whios.whips.whipt.whirr.whirs.whish.whiss.whist.whits.whity.whizz.whomp.whoof.whoot.whops.whore.whorl.whort.whoso.whows.whump.whups.whyda.wicca.wicks.wicky.widdy.wides.wiels.wifed.wifes.wifey.wifie.wifty.wigan.wigga.wiggy.wikis.wilco.wilds.wiled.wiles.wilga.wilis.wilja.wills.wilts.wimps.winds.wined.wines.winey.winge.wings.wingy.winks.winna.winns.winos.winze.wiped.wiper.wipes.wired.wirer.wires.wirra.wised.wises.wisha.wisht.wisps.wists.witan.wited.wites.withe.withs.withy.wived.wiver.wives.wizen.wizes.woads.woald.wocks.wodge.woful.wojus.woker.wokka.wolds.wolfs.wolly.wolve.wombs.womby.womyn.wonga.wongi.wonks.wonky.wonts.woods.wooed.woofs.woofy.woold.wools.woons.woops.woopy.woose.woosh.wootz.words.works.worms.wormy.worts.wowed.wowee.woxen.wrang.wraps.wrapt.wrast.wrate.wrawl.wrens.wrick.wried.wrier.wries.writs.wroke.wroot.wroth.wryer.wuddy.wudus.wulls.wurst.wuses.wushu.wussy.wuxia.wyled.wyles.wynds.wynns.wyted.wytes.xebec.xenia.xenic.xenon.xeric.xerox.xerus.xoana.xrays.xylan.xylem.xylic.xylol.xylyl.xysti.xysts.yaars.yabas.yabba.yabby.yacca.yacka.yacks.yaffs.yager.yages.yagis.yahoo.yaird.yakka.yakow.yales.yamen.yampy.yamun.yangs.yanks.yapok.yapon.yapps.yappy.yarak.yarco.yards.yarer.yarfa.yarks.yarns.yarrs.yarta.yarto.yates.yauds.yauld.yaups.yawed.yawey.yawls.yawns.yawny.yawps.ybore.yclad.ycled.ycond.ydrad.ydred.yeads.yeahs.yealm.yeans.yeard.years.yecch.yechs.yechy.yedes.yeeds.yeesh.yeggs.yelks.yells.yelms.yelps.yelts.yenta.yente.yerba.yerds.yerks.yeses.yesks.yests.yesty.yetis.yetts.yeuks.yeuky.yeven.yeves.yewen.yexed.yexes.yfere.yiked.yikes.yills.yince.yipes.yippy.yirds.yirks.yirrs.yirth.yites.yitie.ylems.ylike.ylkes.ymolt.ympes.yobbo.yobby.yocks.yodel.yodhs.yodle.yogas.yogee.yoghs.yogic.yogin.yogis.yoick.yojan.yoked.yokel.yoker.yokes.yokul.yolks.yolky.yomim.yomps.yonic.yonis.yonks.yoofs.yoops.yores.yorks.yorps.youks.yourn.yours.yourt.youse.yowed.yowes.yowie.yowls.yowza.yrapt.yrent.yrivd.yrneh.ysame.ytost.yuans.yucas.yucca.yucch.yucko.yucks.yucky.yufts.yugas.yuked.yukes.yukky.yukos.yulan.yules.yummo.yummy.yumps.yupon.yuppy.yurta.yurts.yuzus.zabra.zacks.zaida.zaidy.zaire.zakat.zaman.zambo.zamia.zanja.zante.zanza.zanze.zappy.zarfs.zaris.zatis.zaxes.zayin.zazen.zeals.zebec.zebub.zebus.zedas.zeins.zendo.zerda.zerks.zeros.zests.zetas.zexes.zezes.zhomo.zibet.ziffs.zigan.zilas.zilch.zilla.zills.zimbi.zimbs.zinco.zincs.zincy.zineb.zines.zings.zingy.zinke.zinky.zippo.zippy.ziram.zitis.zizel.zizit.zlote.zloty.zoaea.zobos.zobus.zocco.zoeae.zoeal.zoeas.zoism.zoist.zombi.zonae.zonda.zoned.zoner.zones.zonks.zooea.zooey.zooid.zooks.zooms.zoons.zooty.zoppa.zoppo.zoril.zoris.zorro.zouks.zowee.zowie.zulus.zupan.zupas.zuppa.zurfs.zuzim.zygal.zygon.zymes.zymic".split("."), $ = 5, yi = 6, bi = Object.freeze(new Set([...vi, ..._i]));
|
|
3910
|
+
function xi() {
|
|
3911
|
+
return _i[Math.floor(Math.random() * _i.length)];
|
|
3617
3912
|
}
|
|
3618
|
-
function
|
|
3619
|
-
return
|
|
3913
|
+
function Si(e) {
|
|
3914
|
+
return bi.has(e);
|
|
3620
3915
|
}
|
|
3621
|
-
function
|
|
3916
|
+
function Ci(e, t) {
|
|
3622
3917
|
let n = Array.from({ length: $ }, (t, n) => ({
|
|
3623
3918
|
letter: e[n],
|
|
3624
3919
|
status: "absent"
|
|
@@ -3632,7 +3927,7 @@ function si(e, t) {
|
|
|
3632
3927
|
}
|
|
3633
3928
|
return n;
|
|
3634
3929
|
}
|
|
3635
|
-
var
|
|
3930
|
+
var wi = [
|
|
3636
3931
|
[
|
|
3637
3932
|
"Q",
|
|
3638
3933
|
"W",
|
|
@@ -3668,7 +3963,7 @@ var ci = [
|
|
|
3668
3963
|
"⌫"
|
|
3669
3964
|
]
|
|
3670
3965
|
];
|
|
3671
|
-
function
|
|
3966
|
+
function Ti(e, t) {
|
|
3672
3967
|
switch (t.type) {
|
|
3673
3968
|
case "addLetter": return e.gameStatus !== "playing" || e.currentGuess.length >= $ ? e : {
|
|
3674
3969
|
...e,
|
|
@@ -3687,17 +3982,17 @@ function li(e, t) {
|
|
|
3687
3982
|
...e,
|
|
3688
3983
|
errorMessage: "Not enough letters"
|
|
3689
3984
|
};
|
|
3690
|
-
if (!
|
|
3985
|
+
if (!Si(t)) return {
|
|
3691
3986
|
...e,
|
|
3692
3987
|
errorMessage: "Not in word list"
|
|
3693
3988
|
};
|
|
3694
|
-
let n =
|
|
3989
|
+
let n = Ci(t, e.answer), r = [...e.board, n], i = { ...e.letterStatuses };
|
|
3695
3990
|
for (let { letter: e, status: t } of n) {
|
|
3696
3991
|
let n = i[e];
|
|
3697
3992
|
n !== "correct" && (t === "correct" || n !== "present") && (i[e] = t);
|
|
3698
3993
|
}
|
|
3699
3994
|
let a = e.gameStatus;
|
|
3700
|
-
return t === e.answer ? a = "won" : r.length >=
|
|
3995
|
+
return t === e.answer ? a = "won" : r.length >= yi && (a = "lost"), {
|
|
3701
3996
|
...e,
|
|
3702
3997
|
board: r,
|
|
3703
3998
|
letterStatuses: i,
|
|
@@ -3717,22 +4012,22 @@ function li(e, t) {
|
|
|
3717
4012
|
default: return e;
|
|
3718
4013
|
}
|
|
3719
4014
|
}
|
|
3720
|
-
var
|
|
4015
|
+
var Ei = (e) => {
|
|
3721
4016
|
let a = p({
|
|
3722
|
-
answer: e?.initialWord ??
|
|
4017
|
+
answer: e?.initialWord ?? xi(),
|
|
3723
4018
|
board: [],
|
|
3724
4019
|
currentGuess: "",
|
|
3725
4020
|
gameStatus: "playing",
|
|
3726
4021
|
letterStatuses: {},
|
|
3727
4022
|
errorMessage: ""
|
|
3728
4023
|
}), o = (e) => {
|
|
3729
|
-
a.value =
|
|
4024
|
+
a.value = Ti(a.value, e);
|
|
3730
4025
|
}, s = (e) => o({
|
|
3731
4026
|
type: "addLetter",
|
|
3732
4027
|
letter: e
|
|
3733
4028
|
}), c = () => o({ type: "removeLetter" }), d = () => o({ type: "submit" }), f = () => o({
|
|
3734
4029
|
type: "reset",
|
|
3735
|
-
answer:
|
|
4030
|
+
answer: xi()
|
|
3736
4031
|
}), m = /* @__PURE__ */ i({
|
|
3737
4032
|
name: "Wordle",
|
|
3738
4033
|
setup() {
|
|
@@ -3741,12 +4036,12 @@ var ui = (e) => {
|
|
|
3741
4036
|
n || r || i || (t === "Enter" ? d() : t === "Backspace" ? c() : /^[a-zA-Z]$/.test(t) && s(t));
|
|
3742
4037
|
};
|
|
3743
4038
|
return u(() => document.addEventListener("keydown", e)), l(() => document.removeEventListener("keydown", e)), () => {
|
|
3744
|
-
let { answer: e, board: t, currentGuess: i, gameStatus: o, letterStatuses: l, errorMessage: u } = a.value, p = Array.from({ length:
|
|
4039
|
+
let { answer: e, board: t, currentGuess: i, gameStatus: o, letterStatuses: l, errorMessage: u } = a.value, p = Array.from({ length: yi }, (e, n) => {
|
|
3745
4040
|
let a = t[n], s = n === t.length && o === "playing", c = Array.from({ length: $ }, (e, t) => {
|
|
3746
4041
|
let n = "", o = "empty";
|
|
3747
4042
|
return a ? (n = a[t].letter.toUpperCase(), o = a[t].status) : s && (n = (i[t] ?? "").toUpperCase(), o = n ? "tbd" : "empty"), r("div", {
|
|
3748
4043
|
key: t,
|
|
3749
|
-
class:
|
|
4044
|
+
class: v(Q.cell, o === "correct" && Q.correct, o === "present" && Q.present, o === "absent" && Q.absent, o === "tbd" && Q.tbd, o === "empty" && Q.empty)
|
|
3750
4045
|
}, [n]);
|
|
3751
4046
|
});
|
|
3752
4047
|
return r("div", {
|
|
@@ -3756,7 +4051,7 @@ var ui = (e) => {
|
|
|
3756
4051
|
});
|
|
3757
4052
|
return r("div", { class: Q["elm-wordle"] }, [
|
|
3758
4053
|
r("div", {
|
|
3759
|
-
class:
|
|
4054
|
+
class: v(Q["message-area"], u ? Q.error : o === "playing" ? void 0 : Q.status),
|
|
3760
4055
|
"aria-live": "polite"
|
|
3761
4056
|
}, [u || (o === "won" ? `🎉 You won in ${t.length} ${t.length === 1 ? "guess" : "guesses"}!` : o === "lost" ? `😢 The word was "${e.toUpperCase()}"` : null)]),
|
|
3762
4057
|
r("div", { class: Q.board }, [p]),
|
|
@@ -3766,7 +4061,7 @@ var ui = (e) => {
|
|
|
3766
4061
|
let t = e.target.closest("button[data-key]")?.dataset.key;
|
|
3767
4062
|
t && (t === "Enter" ? d() : t === "⌫" ? c() : s(t));
|
|
3768
4063
|
}
|
|
3769
|
-
}, [
|
|
4064
|
+
}, [wi.map((e, t) => r("div", {
|
|
3770
4065
|
key: t,
|
|
3771
4066
|
class: Q["keyboard-row"]
|
|
3772
4067
|
}, [e.map((e) => {
|
|
@@ -3774,10 +4069,10 @@ var ui = (e) => {
|
|
|
3774
4069
|
return r("button", {
|
|
3775
4070
|
key: e,
|
|
3776
4071
|
"data-key": e,
|
|
3777
|
-
class:
|
|
4072
|
+
class: v(Q.key, e === "Enter" && Q.wide, e === "⌫" && Q.wide, t === "correct" && Q.correct, t === "present" && Q.present, t === "absent" && Q.absent)
|
|
3778
4073
|
}, [e]);
|
|
3779
4074
|
})]))]),
|
|
3780
|
-
r("div", { class:
|
|
4075
|
+
r("div", { class: v(Q["reset-container"], o === "playing" && Q.hidden) }, [r("button", {
|
|
3781
4076
|
class: Q["reset-button"],
|
|
3782
4077
|
onClick: f
|
|
3783
4078
|
}, [n("Play Again")])])
|
|
@@ -3800,4 +4095,4 @@ var ui = (e) => {
|
|
|
3800
4095
|
};
|
|
3801
4096
|
};
|
|
3802
4097
|
//#endregion
|
|
3803
|
-
export {
|
|
4098
|
+
export { On as A2uiSurface, pn as CatalogRenderer, kn as ElmA2ui, Wn as ElmAudioPlayer, Mr as ElmBlockFallback, Xn as ElmBlockImage, rr as ElmBlockQuote, tr as ElmBookmark, ei as ElmBreadcrumb, Nr as ElmButton, ar as ElmCallout, Pr as ElmCheckbox, Vn as ElmCodeBlock, Kt as ElmCollapse, ai as ElmColorPrimitiveSample, pi as ElmColorSemanticSample, Hr as ElmCopyIcon, sr as ElmDivider, jr as ElmDotLoadingIcon, $n as ElmFile, nn as ElmFragmentIdentifier, S as ElmHeading, C as ElmInlineIcon, w as ElmInlineText, jn as ElmKatex, In as ElmLanguageIcon, lr as ElmList, gi as ElmMarkdown, A as ElmMdiIcon, Jn as ElmModal, ti as ElmPageTop, cn as ElmParagraph, Er as ElmParallax, Kn as ElmRectangleWave, Ir as ElmSelect, Rn as ElmShikiHighlighter, Wr as ElmSquareLoadingIcon, Lr as ElmSwitch, Qt as ElmTab, Zt as ElmTabList, $t as ElmTabPanel, fr as ElmTable, pr as ElmTableBody, hr as ElmTableCell, _r as ElmTableHeader, yr as ElmTableRow, Xt as ElmTabs, Rr as ElmTextArea, zr as ElmTextField, nr as ElmToggle, Qr as ElmToggleTheme, Or as ElmTooltip, xr as ElmUnsupportedBlock, Vr as ElmValidation, ur as HasRowHeaderContext, Dt as LANGUAGES, Gr as THEME_CHANGE_EVENT, dr as TableSectionContext, yn as basicCatalog, wr as blockCatalog, E as defineRenderer, Bn as useClipboard, Xr as useElmethisTheme, Yn as useModal, Ei as useWordle };
|