-
Notifications
You must be signed in to change notification settings - Fork 60
Expand file tree
/
Copy pathwordle-it.js
More file actions
1639 lines (1563 loc) · 160 KB
/
wordle-it.js
File metadata and controls
1639 lines (1563 loc) · 160 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
this.wordle = this.wordle || {}, this.wordle.bundle = function(e) {
"use strict";
function a(e) {
return (a = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(e) {
return typeof e
} : function(e) {
return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
})(e)
}
function s(e, a) {
if (!(e instanceof a)) throw new TypeError("Cannot call a class as a function")
}
function t(e, a) {
for (var s = 0; s < a.length; s++) {
var t = a[s];
t.enumerable = t.enumerable || !1, t.configurable = !0, "value" in t && (t.writable = !0), Object.defineProperty(e, t.key, t)
}
}
function o(e, a, s) {
return a && t(e.prototype, a), s && t(e, s), e
}
function r(e, a, s) {
return a in e ? Object.defineProperty(e, a, {
value: s,
enumerable: !0,
configurable: !0,
writable: !0
}) : e[a] = s, e
}
function n(e, a) {
if ("function" != typeof a && null !== a) throw new TypeError("Super expression must either be null or a function");
e.prototype = Object.create(a && a.prototype, {
constructor: {
value: e,
writable: !0,
configurable: !0
}
}), a && l(e, a)
}
function i(e) {
return (i = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
return e.__proto__ || Object.getPrototypeOf(e)
})(e)
}
function l(e, a) {
return (l = Object.setPrototypeOf || function(e, a) {
return e.__proto__ = a, e
})(e, a)
}
function d() {
if ("undefined" == typeof Reflect || !Reflect.construct) return !1;
if (Reflect.construct.sham) return !1;
if ("function" == typeof Proxy) return !0;
try {
return Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], (function() {}))), !0
} catch (e) {
return !1
}
}
function u(e, a, s) {
return (u = d() ? Reflect.construct : function(e, a, s) {
var t = [null];
t.push.apply(t, a);
var o = new(Function.bind.apply(e, t));
return s && l(o, s.prototype), o
}).apply(null, arguments)
}
function c(e) {
var a = "function" == typeof Map ? new Map : void 0;
return (c = function(e) {
if (null === e || (s = e, -1 === Function.toString.call(s).indexOf("[native code]"))) return e;
var s;
if ("function" != typeof e) throw new TypeError("Super expression must either be null or a function");
if (void 0 !== a) {
if (a.has(e)) return a.get(e);
a.set(e, t)
}
function t() {
return u(e, arguments, i(this).constructor)
}
return t.prototype = Object.create(e.prototype, {
constructor: {
value: t,
enumerable: !1,
writable: !0,
configurable: !0
}
}), l(t, e)
})(e)
}
function p(e) {
if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
return e
}
function m(e, a) {
return !a || "object" != typeof a && "function" != typeof a ? p(e) : a
}
function h(e) {
var a = d();
return function() {
var s, t = i(e);
if (a) {
var o = i(this).constructor;
s = Reflect.construct(t, arguments, o)
} else s = t.apply(this, arguments);
return m(this, s)
}
}
function y(e, a) {
return function(e) {
if (Array.isArray(e)) return e
}(e) || function(e, a) {
var s = null == e ? null : "undefined" != typeof Symbol && e[Symbol.iterator] || e["@@iterator"];
if (null == s) return;
var t, o, r = [],
n = !0,
i = !1;
try {
for (s = s.call(e); !(n = (t = s.next()).done) && (r.push(t.value), !a || r.length !== a); n = !0);
} catch (e) {
i = !0, o = e
} finally {
try {
n || null == s.return || s.return()
} finally {
if (i) throw o
}
}
return r
}(e, a) || b(e, a) || function() {
throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")
}()
}
function g(e) {
return function(e) {
if (Array.isArray(e)) return f(e)
}(e) || function(e) {
if ("undefined" != typeof Symbol && null != e[Symbol.iterator] || null != e["@@iterator"]) return Array.from(e)
}(e) || b(e) || function() {
throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")
}()
}
function b(e, a) {
if (e) {
if ("string" == typeof e) return f(e, a);
var s = Object.prototype.toString.call(e).slice(8, -1);
return "Object" === s && e.constructor && (s = e.constructor.name), "Map" === s || "Set" === s ? Array.from(e) : "Arguments" === s || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(s) ? f(e, a) : void 0
}
}
function f(e, a) {
(null == a || a > e.length) && (a = e.length);
for (var s = 0, t = new Array(a); s < a; s++) t[s] = e[s];
return t
}
var k = document.createElement("template");
k.innerHTML = "\n<style>\n :host {\n display: inline-block;\n }\n .tile {\n width: 100%;\n display: inline-flex;\n justify-content: center;\n align-items: center;\n font-size: 2rem;\n line-height: 2rem;\n font-weight: bold;\n vertical-align: middle;\n box-sizing: border-box;\n color: var(--tile-text-color);\n text-transform: uppercase;\n user-select: none;\n }\n .tile::before {\n content: '';\n display: inline-block;\n padding-bottom: 100%;\n }\n\n .tile[data-state='empty'] {\n border: 2px solid var(--color-tone-4);\n }\n .tile[data-state='tbd'] {\n background-color: var(--color-tone-7);\n border: 2px solid var(--color-tone-3);\n color: var(--color-tone-1);\n }\n .tile[data-state='correct'] {\n background-color: var(--color-correct);\n }\n .tile[data-state='present'] {\n background-color: var(--color-present);\n }\n .tile[data-state='absent'] {\n background-color: var(--color-absent);\n }\n\n .tile[data-animation='pop'] {\n animation-name: PopIn;\n animation-duration: 100ms;\n }\n\n @keyframes PopIn {\n from {\n transform: scale(0.8);\n opacity: 0;\n }\n\n 40% {\n transform: scale(1.1);\n opacity: 1;\n }\n }\n .tile[data-animation='flip-in'] {\n animation-name: FlipIn;\n animation-duration: 250ms;\n animation-timing-function: ease-in;\n }\n @keyframes FlipIn {\n 0% {\n transform: rotateX(0);\n }\n 100% {\n transform: rotateX(-90deg);\n }\n }\n .tile[data-animation='flip-out'] {\n animation-name: FlipOut;\n animation-duration: 250ms;\n animation-timing-function: ease-in;\n }\n @keyframes FlipOut {\n 0% {\n transform: rotateX(-90deg);\n }\n 100% {\n transform: rotateX(0);\n }\n }\n</style>\n<div class=\"tile\" data-state=\"empty\" data-animation=\"idle\"></div>\n";
var v = function(e) {
n(t, e);
var a = h(t);
function t() {
var e;
return s(this, t), r(p(e = a.call(this)), "_letter", ""), r(p(e), "_state", "empty"), r(p(e), "_animation", "idle"), r(p(e), "_last", !1), r(p(e), "_reveal", !1), e.attachShadow({
mode: "open"
}), e
}
return o(t, [{
key: "last",
set: function(e) {
this._last = e
}
}, {
key: "connectedCallback",
value: function() {
var e = this;
this.shadowRoot.appendChild(k.content.cloneNode(!0)), this.$tile = this.shadowRoot.querySelector(".tile"), this.$tile.addEventListener("animationend", (function(a) {
"PopIn" === a.animationName && (e._animation = "idle"), "FlipIn" === a.animationName && (e.$tile.dataset.state = e._state, e._animation = "flip-out"), "FlipOut" === a.animationName && (e._animation = "idle", e._last && e.dispatchEvent(new CustomEvent("game-last-tile-revealed-in-row", {
bubbles: !0,
composed: !0
}))), e._render()
})), this._render()
}
}, {
key: "attributeChangedCallback",
value: function(e, a, s) {
switch (e) {
case "letter":
if (s === a) break;
var t = "null" === s ? "" : s;
this._letter = t, this._state = t ? "tbd" : "empty", this._animation = t ? "pop" : "idle";
break;
case "evaluation":
if (!s) break;
this._state = s;
break;
case "reveal":
this._animation = "flip-in", this._reveal = !0
}
this._render()
}
}, {
key: "_render",
value: function() {
this.$tile && (this.$tile.textContent = this._letter, ["empty", "tbd"].includes(this._state) && (this.$tile.dataset.state = this._state), (["empty", "tbd"].includes(this._state) || this._reveal) && this.$tile.dataset.animation != this._animation && (this.$tile.dataset.animation = this._animation))
}
}], [{
key: "observedAttributes",
get: function() {
return ["letter", "evaluation", "reveal"]
}
}]), t
}(c(HTMLElement));
customElements.define("game-tile", v);
var w = document.createElement("template");
w.innerHTML = '\n <style>\n :host {\n display: block;\n }\n :host([invalid]){\n animation-name: Shake;\n animation-duration: 600ms;\n }\n .row {\n display: grid;\n grid-template-columns: repeat(5, 1fr);\n grid-gap: 5px;\n }\n .win {\n animation-name: Bounce;\n animation-duration: 1000ms;\n }\n\n @keyframes Bounce {\n 0%, 20% {\n transform: translateY(0);\n }\n 40% {\n transform: translateY(-30px);\n }\n 50% {\n transform: translateY(5px);\n }\n 60% {\n transform: translateY(-15px);\n }\n 80% {\n transform: translateY(2px);\n }\n 100% {\n transform: translateY(0);\n }\n }\n\n @keyframes Shake {\n 10%,\n 90% {\n transform: translateX(-1px);\n }\n\n 20%,\n 80% {\n transform: translateX(2px);\n }\n\n 30%,\n 50%,\n 70% {\n transform: translateX(-4px);\n }\n\n 40%,\n 60% {\n transform: translateX(4px);\n }\n }\n </style>\n <div class="row"></div>\n';
var x = function(e) {
n(t, e);
var a = h(t);
function t() {
var e;
return s(this, t), (e = a.call(this)).attachShadow({
mode: "open"
}), e._letters = "", e._evaluation = [], e._length, e
}
return o(t, [{
key: "evaluation",
get: function() {
return this._evaluation
},
set: function(e) {
var a = this;
this._evaluation = e, this.$tiles && this.$tiles.forEach((function(e, s) {
e.setAttribute("evaluation", a._evaluation[s]), setTimeout((function() {
e.setAttribute("reveal", "")
}), 300 * s)
}))
}
}, {
key: "connectedCallback",
value: function() {
var e = this;
this.shadowRoot.appendChild(w.content.cloneNode(!0)), this.$row = this.shadowRoot.querySelector(".row");
for (var a = function(a) {
var s = document.createElement("game-tile"),
t = e._letters[a];
(t && s.setAttribute("letter", t), e._evaluation[a]) && (s.setAttribute("evaluation", e._evaluation[a]), setTimeout((function() {
s.setAttribute("reveal", "")
}), 100 * a));
a === e._length - 1 && (s.last = !0), e.$row.appendChild(s)
}, s = 0; s < this._length; s++) a(s);
this.$tiles = this.shadowRoot.querySelectorAll("game-tile"), this.addEventListener("animationend", (function(a) {
"Shake" === a.animationName && e.removeAttribute("invalid")
}))
}
}, {
key: "attributeChangedCallback",
value: function(e, a, s) {
switch (e) {
case "letters":
this._letters = s || "";
break;
case "length":
this._length = parseInt(s, 10);
break;
case "win":
if (null === s) {
this.$tiles.forEach((function(e) {
e.classList.remove("win")
}));
break
}
this.$tiles.forEach((function(e, a) {
e.classList.add("win"), e.style.animationDelay = "".concat(100 * a, "ms")
}))
}
this._render()
}
}, {
key: "_render",
value: function() {
var e = this;
this.$row && this.$tiles.forEach((function(a, s) {
var t = e._letters[s];
t ? a.setAttribute("letter", t) : a.removeAttribute("letter")
}))
}
}], [{
key: "observedAttributes",
get: function() {
return ["letters", "length", "invalid", "win"]
}
}]), t
}(c(HTMLElement));
customElements.define("game-row", x);
var z = document.createElement("template");
z.innerHTML = "\n <slot></slot>\n";
var j = "darkTheme",
S = "colorBlindTheme",
_ = function(e) {
n(t, e);
var a = h(t);
function t() {
var e;
s(this, t), r(p(e = a.call(this)), "isDarkTheme", !1), r(p(e), "isColorBlindTheme", !1), e.attachShadow({
mode: "open"
});
var o = JSON.parse(window.localStorage.getItem(j)),
n = window.matchMedia("(prefers-color-scheme: dark)").matches,
i = JSON.parse(window.localStorage.getItem(S));
return !0 === o || !1 === o ? e.setDarkTheme(o) : n && e.setDarkTheme(!0), !0 !== i && !1 !== i || e.setColorBlindTheme(i), e
}
return o(t, [{
key: "setDarkTheme",
value: function(e) {
var a = document.querySelector("body");
e && !a.classList.contains("nightmode") ? a.classList.add("nightmode") : a.classList.remove("nightmode"), this.isDarkTheme = e, window.localStorage.setItem(j, JSON.stringify(e))
}
}, {
key: "setColorBlindTheme",
value: function(e) {
var a = document.querySelector("body");
e && !a.classList.contains("colorblind") ? a.classList.add("colorblind") : a.classList.remove("colorblind"), this.isColorBlindTheme = e, window.localStorage.setItem(S, JSON.stringify(e))
}
}, {
key: "connectedCallback",
value: function() {
var e = this;
this.shadowRoot.appendChild(z.content.cloneNode(!0)), this.shadowRoot.addEventListener("game-setting-change", (function(a) {
var s = a.detail,
t = s.name,
o = s.checked;
switch (t) {
case "dark-theme":
return void e.setDarkTheme(o);
case "color-blind-theme":
return void e.setColorBlindTheme(o)
}
}))
}
}]), t
}(c(HTMLElement));
function q(e, a) {
return e === a || e != e && a != a
}
function E(e, a) {
for (var s = e.length; s--;)
if (q(e[s][0], a)) return s;
return -1
}
customElements.define("game-theme-manager", _);
var A = Array.prototype.splice;
function L(e) {
var a = -1,
s = null == e ? 0 : e.length;
for (this.clear(); ++a < s;) {
var t = e[a];
this.set(t[0], t[1])
}
}
L.prototype.clear = function() {
this.__data__ = [], this.size = 0
}, L.prototype.delete = function(e) {
var a = this.__data__,
s = E(a, e);
return !(s < 0) && (s == a.length - 1 ? a.pop() : A.call(a, s, 1), --this.size, !0)
}, L.prototype.get = function(e) {
var a = this.__data__,
s = E(a, e);
return s < 0 ? void 0 : a[s][1]
}, L.prototype.has = function(e) {
return E(this.__data__, e) > -1
}, L.prototype.set = function(e, a) {
var s = this.__data__,
t = E(s, e);
return t < 0 ? (++this.size, s.push([e, a])) : s[t][1] = a, this
};
var T = "object" == ("undefined" == typeof global ? "undefined" : a(global)) && global && global.Object === Object && global,
I = "object" == ("undefined" == typeof self ? "undefined" : a(self)) && self && self.Object === Object && self,
C = T || I || Function("return this")(),
M = C.Symbol,
O = Object.prototype,
R = O.hasOwnProperty,
$ = O.toString,
P = M ? M.toStringTag : void 0;
var N = Object.prototype.toString;
var H = M ? M.toStringTag : void 0;
function G(e) {
return null == e ? void 0 === e ? "[object Undefined]" : "[object Null]" : H && H in Object(e) ? function(e) {
var a = R.call(e, P),
s = e[P];
try {
e[P] = void 0;
var t = !0
} catch (e) {}
var o = $.call(e);
return t && (a ? e[P] = s : delete e[P]), o
}(e) : function(e) {
return N.call(e)
}(e)
}
function D(e) {
var s = a(e);
return null != e && ("object" == s || "function" == s)
}
function B(e) {
if (!D(e)) return !1;
var a = G(e);
return "[object Function]" == a || "[object GeneratorFunction]" == a || "[object AsyncFunction]" == a || "[object Proxy]" == a
}
var F, W = C["__core-js_shared__"],
Y = (F = /[^.]+$/.exec(W && W.keys && W.keys.IE_PROTO || "")) ? "Symbol(src)_1." + F : "";
var J = Function.prototype.toString;
var U = /^\[object .+?Constructor\]$/,
X = Function.prototype,
K = Object.prototype,
V = X.toString,
Q = K.hasOwnProperty,
Z = RegExp("^" + V.call(Q).replace(/[\\^$.*+?()[\]{}|]/g, "\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, "$1.*?") + "$");
function ee(e) {
return !(!D(e) || (a = e, Y && Y in a)) && (B(e) ? Z : U).test(function(e) {
if (null != e) {
try {
return J.call(e)
} catch (e) {}
try {
return e + ""
} catch (e) {}
}
return ""
}(e));
var a
}
function ae(e, a) {
var s = function(e, a) {
return null == e ? void 0 : e[a]
}(e, a);
return ee(s) ? s : void 0
}
var se = ae(C, "Map"),
te = ae(Object, "create");
var oe = Object.prototype.hasOwnProperty;
var re = Object.prototype.hasOwnProperty;
function ne(e) {
var a = -1,
s = null == e ? 0 : e.length;
for (this.clear(); ++a < s;) {
var t = e[a];
this.set(t[0], t[1])
}
}
function ie(e, s) {
var t, o, r = e.__data__;
return ("string" == (o = a(t = s)) || "number" == o || "symbol" == o || "boolean" == o ? "__proto__" !== t : null === t) ? r["string" == typeof s ? "string" : "hash"] : r.map
}
function le(e) {
var a = -1,
s = null == e ? 0 : e.length;
for (this.clear(); ++a < s;) {
var t = e[a];
this.set(t[0], t[1])
}
}
ne.prototype.clear = function() {
this.__data__ = te ? te(null) : {}, this.size = 0
}, ne.prototype.delete = function(e) {
var a = this.has(e) && delete this.__data__[e];
return this.size -= a ? 1 : 0, a
}, ne.prototype.get = function(e) {
var a = this.__data__;
if (te) {
var s = a[e];
return "__lodash_hash_undefined__" === s ? void 0 : s
}
return oe.call(a, e) ? a[e] : void 0
}, ne.prototype.has = function(e) {
var a = this.__data__;
return te ? void 0 !== a[e] : re.call(a, e)
}, ne.prototype.set = function(e, a) {
var s = this.__data__;
return this.size += this.has(e) ? 0 : 1, s[e] = te && void 0 === a ? "__lodash_hash_undefined__" : a, this
}, le.prototype.clear = function() {
this.size = 0, this.__data__ = {
hash: new ne,
map: new(se || L),
string: new ne
}
}, le.prototype.delete = function(e) {
var a = ie(this, e).delete(e);
return this.size -= a ? 1 : 0, a
}, le.prototype.get = function(e) {
return ie(this, e).get(e)
}, le.prototype.has = function(e) {
return ie(this, e).has(e)
}, le.prototype.set = function(e, a) {
var s = ie(this, e),
t = s.size;
return s.set(e, a), this.size += s.size == t ? 0 : 1, this
};
function de(e) {
var a = this.__data__ = new L(e);
this.size = a.size
}
de.prototype.clear = function() {
this.__data__ = new L, this.size = 0
}, de.prototype.delete = function(e) {
var a = this.__data__,
s = a.delete(e);
return this.size = a.size, s
}, de.prototype.get = function(e) {
return this.__data__.get(e)
}, de.prototype.has = function(e) {
return this.__data__.has(e)
}, de.prototype.set = function(e, a) {
var s = this.__data__;
if (s instanceof L) {
var t = s.__data__;
if (!se || t.length < 199) return t.push([e, a]), this.size = ++s.size, this;
s = this.__data__ = new le(t)
}
return s.set(e, a), this.size = s.size, this
};
var ue = function() {
try {
var e = ae(Object, "defineProperty");
return e({}, "", {}), e
} catch (e) {}
}();
function ce(e, a, s) {
"__proto__" == a && ue ? ue(e, a, {
configurable: !0,
enumerable: !0,
value: s,
writable: !0
}) : e[a] = s
}
function pe(e, a, s) {
(void 0 !== s && !q(e[a], s) || void 0 === s && !(a in e)) && ce(e, a, s)
}
var me, he = function(e, a, s) {
for (var t = -1, o = Object(e), r = s(e), n = r.length; n--;) {
var i = r[me ? n : ++t];
if (!1 === a(o[i], i, o)) break
}
return e
},
ye = "object" == (void 0 === e ? "undefined" : a(e)) && e && !e.nodeType && e,
ge = ye && "object" == ("undefined" == typeof module ? "undefined" : a(module)) && module && !module.nodeType && module,
be = ge && ge.exports === ye ? C.Buffer : void 0,
fe = be ? be.allocUnsafe : void 0;
var ke = C.Uint8Array;
function ve(e, a) {
var s, t, o = a ? (s = e.buffer, t = new s.constructor(s.byteLength), new ke(t).set(new ke(s)), t) : e.buffer;
return new e.constructor(o, e.byteOffset, e.length)
}
var we = Object.create,
xe = function() {
function e() {}
return function(a) {
if (!D(a)) return {};
if (we) return we(a);
e.prototype = a;
var s = new e;
return e.prototype = void 0, s
}
}();
var ze, je, Se = (ze = Object.getPrototypeOf, je = Object, function(e) {
return ze(je(e))
}),
_e = Object.prototype;
function qe(e) {
var a = e && e.constructor;
return e === ("function" == typeof a && a.prototype || _e)
}
function Ee(e) {
return null != e && "object" == a(e)
}
function Ae(e) {
return Ee(e) && "[object Arguments]" == G(e)
}
var Le = Object.prototype,
Te = Le.hasOwnProperty,
Ie = Le.propertyIsEnumerable,
Ce = Ae(function() {
return arguments
}()) ? Ae : function(e) {
return Ee(e) && Te.call(e, "callee") && !Ie.call(e, "callee")
},
Me = Array.isArray;
function Oe(e) {
return "number" == typeof e && e > -1 && e % 1 == 0 && e <= 9007199254740991
}
function Re(e) {
return null != e && Oe(e.length) && !B(e)
}
var $e = "object" == (void 0 === e ? "undefined" : a(e)) && e && !e.nodeType && e,
Pe = $e && "object" == ("undefined" == typeof module ? "undefined" : a(module)) && module && !module.nodeType && module,
Ne = Pe && Pe.exports === $e ? C.Buffer : void 0,
He = (Ne ? Ne.isBuffer : void 0) || function() {
return !1
},
Ge = Function.prototype,
De = Object.prototype,
Be = Ge.toString,
Fe = De.hasOwnProperty,
We = Be.call(Object);
var Ye = {};
Ye["[object Float32Array]"] = Ye["[object Float64Array]"] = Ye["[object Int8Array]"] = Ye["[object Int16Array]"] = Ye["[object Int32Array]"] = Ye["[object Uint8Array]"] = Ye["[object Uint8ClampedArray]"] = Ye["[object Uint16Array]"] = Ye["[object Uint32Array]"] = !0, Ye["[object Arguments]"] = Ye["[object Array]"] = Ye["[object ArrayBuffer]"] = Ye["[object Boolean]"] = Ye["[object DataView]"] = Ye["[object Date]"] = Ye["[object Error]"] = Ye["[object Function]"] = Ye["[object Map]"] = Ye["[object Number]"] = Ye["[object Object]"] = Ye["[object RegExp]"] = Ye["[object Set]"] = Ye["[object String]"] = Ye["[object WeakMap]"] = !1;
var Je = "object" == (void 0 === e ? "undefined" : a(e)) && e && !e.nodeType && e,
Ue = Je && "object" == ("undefined" == typeof module ? "undefined" : a(module)) && module && !module.nodeType && module,
Xe = Ue && Ue.exports === Je && T.process,
Ke = function() {
try {
var e = Ue && Ue.require && Ue.require("util").types;
return e || Xe && Xe.binding && Xe.binding("util")
} catch (e) {}
}(),
Ve = Ke && Ke.isTypedArray,
Qe = Ve ? function(e) {
return function(a) {
return e(a)
}
}(Ve) : function(e) {
return Ee(e) && Oe(e.length) && !!Ye[G(e)]
};
function Ze(e, a) {
if (("constructor" !== a || "function" != typeof e[a]) && "__proto__" != a) return e[a]
}
var ea = Object.prototype.hasOwnProperty;
function aa(e, a, s) {
var t = e[a];
ea.call(e, a) && q(t, s) && (void 0 !== s || a in e) || ce(e, a, s)
}
var sa = /^(?:0|[1-9]\d*)$/;
function ta(e, s) {
var t = a(e);
return !!(s = null == s ? 9007199254740991 : s) && ("number" == t || "symbol" != t && sa.test(e)) && e > -1 && e % 1 == 0 && e < s
}
var oa = Object.prototype.hasOwnProperty;
function ra(e, a) {
var s = Me(e),
t = !s && Ce(e),
o = !s && !t && He(e),
r = !s && !t && !o && Qe(e),
n = s || t || o || r,
i = n ? function(e, a) {
for (var s = -1, t = Array(e); ++s < e;) t[s] = a(s);
return t
}(e.length, String) : [],
l = i.length;
for (var d in e) !a && !oa.call(e, d) || n && ("length" == d || o && ("offset" == d || "parent" == d) || r && ("buffer" == d || "byteLength" == d || "byteOffset" == d) || ta(d, l)) || i.push(d);
return i
}
var na = Object.prototype.hasOwnProperty;
function ia(e) {
if (!D(e)) return function(e) {
var a = [];
if (null != e)
for (var s in Object(e)) a.push(s);
return a
}(e);
var a = qe(e),
s = [];
for (var t in e)("constructor" != t || !a && na.call(e, t)) && s.push(t);
return s
}
function la(e) {
return Re(e) ? ra(e, !0) : ia(e)
}
function da(e) {
return function(e, a, s, t) {
var o = !s;
s || (s = {});
for (var r = -1, n = a.length; ++r < n;) {
var i = a[r],
l = t ? t(s[i], e[i], i, s, e) : void 0;
void 0 === l && (l = e[i]), o ? ce(s, i, l) : aa(s, i, l)
}
return s
}(e, la(e))
}
function ua(e, a, s, t, o, r, n) {
var i = Ze(e, s),
l = Ze(a, s),
d = n.get(l);
if (d) pe(e, s, d);
else {
var u, c = r ? r(i, l, s + "", e, a, n) : void 0,
p = void 0 === c;
if (p) {
var m = Me(l),
h = !m && He(l),
y = !m && !h && Qe(l);
c = l, m || h || y ? Me(i) ? c = i : Ee(u = i) && Re(u) ? c = function(e, a) {
var s = -1,
t = e.length;
for (a || (a = Array(t)); ++s < t;) a[s] = e[s];
return a
}(i) : h ? (p = !1, c = function(e, a) {
if (a) return e.slice();
var s = e.length,
t = fe ? fe(s) : new e.constructor(s);
return e.copy(t), t
}(l, !0)) : y ? (p = !1, c = ve(l, !0)) : c = [] : function(e) {
if (!Ee(e) || "[object Object]" != G(e)) return !1;
var a = Se(e);
if (null === a) return !0;
var s = Fe.call(a, "constructor") && a.constructor;
return "function" == typeof s && s instanceof s && Be.call(s) == We
}(l) || Ce(l) ? (c = i, Ce(i) ? c = da(i) : D(i) && !B(i) || (c = function(e) {
return "function" != typeof e.constructor || qe(e) ? {} : xe(Se(e))
}(l))) : p = !1
}
p && (n.set(l, c), o(c, l, t, r, n), n.delete(l)), pe(e, s, c)
}
}
function ca(e, a, s, t, o) {
e !== a && he(a, (function(r, n) {
if (o || (o = new de), D(r)) ua(e, a, n, s, ca, t, o);
else {
var i = t ? t(Ze(e, n), r, n + "", e, a, o) : void 0;
void 0 === i && (i = r), pe(e, n, i)
}
}), la)
}
function pa(e) {
return e
}
function ma(e, a, s) {
switch (s.length) {
case 0:
return e.call(a);
case 1:
return e.call(a, s[0]);
case 2:
return e.call(a, s[0], s[1]);
case 3:
return e.call(a, s[0], s[1], s[2])
}
return e.apply(a, s)
}
var ha = Math.max;
var ya = ue ? function(e, a) {
return ue(e, "toString", {
configurable: !0,
enumerable: !1,
value: (s = a, function() {
return s
}),
writable: !0
});
var s
} : pa,
ga = Date.now;
var ba = function(e) {
var a = 0,
s = 0;
return function() {
var t = ga(),
o = 16 - (t - s);
if (s = t, o > 0) {
if (++a >= 800) return arguments[0]
} else a = 0;
return e.apply(void 0, arguments)
}
}(ya);
function fa(e, a) {
return ba(function(e, a, s) {
return a = ha(void 0 === a ? e.length - 1 : a, 0),
function() {
for (var t = arguments, o = -1, r = ha(t.length - a, 0), n = Array(r); ++o < r;) n[o] = t[a + o];
o = -1;
for (var i = Array(a + 1); ++o < a;) i[o] = t[o];
return i[a] = s(n), ma(e, this, i)
}
}(e, a, pa), e + "")
}
var ka, va = (ka = function(e, a, s) {
ca(e, a, s)
}, fa((function(e, s) {
var t = -1,
o = s.length,
r = o > 1 ? s[o - 1] : void 0,
n = o > 2 ? s[2] : void 0;
for (r = ka.length > 3 && "function" == typeof r ? (o--, r) : void 0, n && function(e, s, t) {
if (!D(t)) return !1;
var o = a(s);
return !!("number" == o ? Re(t) && ta(s, t.length) : "string" == o && s in t) && q(t[s], e)
}(s[0], s[1], n) && (r = o < 3 ? void 0 : r, o = 1), e = Object(e); ++t < o;) {
var i = s[t];
i && ka(e, i, t, r)
}
return e
}))),
wa = "gameState",
xa = {
boardState: null,
evaluations: null,
rowIndex: null,
solution: null,
gameStatus: null,
lastPlayedTs: null,
lastCompletedTs: null,
restoringFromLocalStorage: null,
hardMode: !1
};
function za() {
var e = window.localStorage.getItem(wa) || JSON.stringify(xa);
return JSON.parse(e)
}
function ja(e) {
var a = za();
! function(e) {
window.localStorage.setItem(wa, JSON.stringify(e))
}(va(a, e))
}
var Sa = document.createElement("template");
Sa.innerHTML = '\n <style>\n .setting {\n display: flex;\n justify-content: space-between;\n align-items: center;\n border-bottom: 1px solid var(--color-tone-4);\n padding: 16px 0;\n }\n\n a, a:visited {\n color: var(--color-tone-2);\n }\n\n .title {\n font-size: 18px;\n }\n .text {\n padding-right: 8px;\n }\n .description {\n font-size: 12px;\n color: var(--color-tone-2);\n }\n\n #footnote {\n position: absolute;\n bottom: 0;\n right: 0;\n padding: 16px;\n color: var(--color-tone-2);\n font-size: 12px;\n text-align: right;\n }\n\n @media only screen and (min-device-width : 320px) and (max-device-width : 480px) {\n .setting {\n padding: 16px;\n }\n }\n\n </style>\n <div class="sections">\n <section>\n <div class="setting">\n <div class="text">\n <div class="title">Il gioco si fa duro</div>\n <div class="description">Ogni lettera nota deve essere usata nei tentativi successivi</div>\n </div>\n <div class="control">\n <game-switch id="hard-mode" name="hard-mode"></game-switch>\n </div>\n </div>\n <div class="setting">\n <div class="text">\n <div class="title">Tema nero</div>\n </div>\n <div class="control">\n <game-switch id="dark-theme" name="dark-theme"></game-switch>\n </div>\n </div>\n <div class="setting">\n <div class="text">\n <div class="title">Colori ad alto contrasto</div>\n </div>\n <div class="control">\n <game-switch id="color-blind-theme" name="color-blind-theme"></game-switch>\n </div>\n </div>\n </section>\n\n <section>\n <div class="setting">\n <div class="text">\n <div class="title">Feedback</div>\n </div>\n <div class="control">\n <a href="https://github.com/pietroppeter/wordle-it/issues/new" target="blank" title="github.com/pietroppeter/wordle-it">Github</a>\n |\n <a href="https://twitter.com/intent/tweet?screen_name=pietroppeter" target="blank" title="@pietroppeter">Twitter</a>\n </div>\n </div>\n </section>\n </div>\n <div id="footnote">\n <div id="puzzle-number"></div>\n <div id="hash"></div>\n <div>\n';
var _a = function(e) {
n(t, e);
var a = h(t);
function t() {
var e;
return s(this, t), r(p(e = a.call(this)), "gameApp", void 0), e.attachShadow({
mode: "open"
}), e
}
return o(t, [{
key: "connectedCallback",
value: function() {
var e, a = this;
this.shadowRoot.appendChild(Sa.content.cloneNode(!0)), this.shadowRoot.querySelector("#hash").textContent = null === (e = window.wordle) || void 0 === e ? void 0 : e.hash, this.shadowRoot.querySelector("#puzzle-number").textContent = "#".concat(this.gameApp.dayOffset), this.shadowRoot.addEventListener("game-switch-change", (function(e) {
e.stopPropagation();
var s = e.detail,
t = s.name,
o = s.checked,
r = s.disabled;
a.dispatchEvent(new CustomEvent("game-setting-change", {
bubbles: !0,
composed: !0,
detail: {
name: t,
checked: o,
disabled: r
}
})), a.render()
})), this.render()
}
}, {
key: "render",
value: function() {
var e = document.querySelector("body");
e.classList.contains("nightmode") && this.shadowRoot.querySelector("#dark-theme").setAttribute("checked", ""), e.classList.contains("colorblind") && this.shadowRoot.querySelector("#color-blind-theme").setAttribute("checked", "");
var a = za();
a.hardMode && this.shadowRoot.querySelector("#hard-mode").setAttribute("checked", ""), a.hardMode || "IN_PROGRESS" !== a.gameStatus || 0 === a.rowIndex || (this.shadowRoot.querySelector("#hard-mode").removeAttribute("checked"), this.shadowRoot.querySelector("#hard-mode").setAttribute("disabled", ""))
}
}]), t
}(c(HTMLElement));
customElements.define("game-settings", _a);
var qa = document.createElement("template");
qa.innerHTML = '\n <style>\n .toast {\n position: relative;\n margin: 16px;\n background-color: var(--color-tone-1);\n color: var(--color-tone-7);\n padding: 16px;\n border: none;\n border-radius: 4px;\n opacity: 1;\n transition: opacity 300ms cubic-bezier(0.645, 0.045, 0.355, 1);\n font-weight: 700;\n }\n .win {\n background-color: var(--color-correct);\n color: var(--tile-text-color);\n }\n .fade {\n opacity: 0;\n }\n </style>\n <div class="toast"></div>\n';
var Ea = function(e) {
n(t, e);
var a = h(t);
function t() {
var e;
return s(this, t), r(p(e = a.call(this)), "_duration", void 0), e.attachShadow({
mode: "open"
}), e
}
return o(t, [{
key: "connectedCallback",
value: function() {
var e = this;
this.shadowRoot.appendChild(qa.content.cloneNode(!0));
var a = this.shadowRoot.querySelector(".toast");
a.textContent = this.getAttribute("text"), this._duration = this.getAttribute("duration") || 1e3, "Infinity" !== this._duration && setTimeout((function() {
a.classList.add("fade")
}), this._duration), a.addEventListener("transitionend", (function(a) {
e.parentNode.removeChild(e)
}))
}
}]), t
}(c(HTMLElement));
customElements.define("game-toast", Ea);
var Aa = ["oncia", "dubbi", "corra", "litro", "sparo", "carta", "nasce", "punti", "rasoi", "muffa", "ritmi", "lorde", "carne", "snodi", "borie", "calco", "crepe", "eredi", "tosai", "sugli", "disto", "dirmi", "nuovo", "mandi", "giace", "odino", "zolfo", "umana", "scali", "farne", "dogma", "rompa", "arida", "ressa", "puzzi", "vuole", "pigro", "fogne", "panno", "gioco", "rozza", "porge", "linfa", "zinco", "regia", "acino", "dighe", "stelo", "bacio", "balsa", "leghe", "omega", "nonio", "conca", "talea", "gambo", "sella", "afona", "prono", "tremo", "mallo", "piuma", "gradi", "aglio", "fulva", "dieta", "fioca", "zuppa", "nanna", "epoca", "greve", "motto", "tassa", "pochi", "folle", "rocca", "iodio", "cargo", "girai", "tenni", "gnosi", "mambo", "bachi", "omero", "mitra", "conga", "corna", "farsa", "dorma", "denso", "mania", "miele", "mille", "cicca", "falce", "frigo", "bande", "serro", "vista", "rutto", "sfila", "sesso", "sasso", "servi", "astio", "porre", "prude", "torme", "sansa", "faina", "netto", "conte", "secca", "conto", "garza", "ditta", "brina", "madre", "forum", "sudai", "boato", "culto", "spago", "curai", "badai", "roghi", "bieco", "lanci", "ovvio", "bitta", "obesi", "cavai", "massa", "ruota", "lerci", "penna", "tacco", "natia", "togli", "vinti", "mogio", "scala", "ampio", "lembo", "onice", "nomea", "stare", "giogo", "rughe", "retro", "audio", "rissa", "offro", "pecca", "testa", "turbe", "gonna", "aroma", "ruolo", "rebbi", "tanfo", "tarme", "borgo", "ragno", "tetto", "tenia", "piano", "copia", "torce", "orafe", "spera", "cucio", "viola", "sacre", "muovi", "crisi", "muoio", "liana", "curva", "tolda", "bugie", "bidet", "bozza", "altra", "parco", "salmo", "eroso", "fetta", "spine", "libro", "buffa", "sorci", "sonno", "cosmo", "laghi", "solfa", "sappi", "pugni", "adori", "mangi", "sopra", "borsa", "verga", "seppi", "pegni", "avari", "azoto", "nevai", "avolo", "peplo", "sorso", "turno", "ostia", "fauci", "secco", "avito", "amaro", "patta", "zoppo", "upupa", "nervi", "pista", "freno", "salsa", "lince", "tozza", "vacuo", "idolo", "mango", "lombi", "mucca", "bosco", "blesa", "nylon", "sabba", "monca", "fitto", "palmo", "dimmi", "peana", "casba", "ogiva", "cauto", "viale", "opino", "doghe", "rogge", "carte", "zeppa", "forca", "verbo", "prove", "cedro", "ulivo", "acuti", "larva", "feudo", "ceduo", "agave", "piaga", "brame", "nonna", "golfo", "negai", "aceto", "esito", "palla", "scavo", "marca", "cloro", "orata", "esile", "sorge", "abbai", "bizze", "spola", "sputo", "polio", "legno", "amici", "ebete", "dazio", "sinti", "bacca", "torre", "entra", "zebra", "asino", "relax", "antro", "cadde", "masai", "cucce", "beghe", "tonti", "nuoto", "sedia", "cirri", "alice", "rumba", "patio", "lizza", "frate", "udito", "balia", "curry", "fatto", "cenci", "zonzo", "pecco", "dieci", "urina", "manzo", "notai", "terzo", "gotta", "bollo", "arabi", "succo", "cenno", "spada", "poggi", "scure", "coevo", "alveo", "tacca", "avere", "mosca", "nenia", "vasca", "manca", "ancia", "barai", "anche", "furia", "invio", "univa", "viole", "aiuto", "bocce", "pezzo", "salma", "prole", "baule", "epuro", "losco", "vasto", "occhi", "sacco", "voghi", "collo", "totem", "avvio", "volai", "canoa", "festa", "purga", "nuora", "orgia", "zucca", "fiabe", "seggi", "germe", "doppi", "ceffo", "gamma", "pesce", "cetra", "villa", "piace", "vello", "marna", "cesio", "setta", "fuori", "brace", "modem", "cippo", "talpa", "ambra", "lisca", "pareo", "mogli", "varie", "cella", "diade", "bisca", "radio", "udiva", "bruno", "niveo", "prora", "china", "abusa", "ricco", "cocci", "coesa", "stesa", "utero", "asola", "ninja", "metto", "cozzo", "sfizi", "tetro", "serbo", "reame", "porci", "zirlo", "visto", "fummo", "trama", "cielo", "campa", "reato", "polpa", "etnea", "fiuto", "laico", "gamba", "ciuco", "carme", "norme", "nerbo", "acume", "colon", "primo", "gente", "terme", "tedio", "pizza", "aerea", "orari", "bazza", "grana", "cesso", "scopa", "acqua", "morsa", "cocco", "volpe", "ernia", "stiro", "retto", "sunto", "posso", "certa", "puffi", "aprii", "drupa", "otite", "renna", "fallo", "taiga", "capii", "siepe", "marce", "siero", "usato", "album", "volto", "basta", "fanno", "siamo", "perno", "farro", "grama", "emoji", "magro", "dalia", "mesta", "ridda", "passi", "curia", "annuo", "tappo", "vuoti", "pigio", "balle", "abbia", "desco", "eremo", "fusto", "slogo", "ebreo", "grafo", "valgo", "fondo", "miope", "venia", "colpe", "zompo", "casse", "terga", "cenge", "onore", "fesso", "ovale", "pende", "tosse", "zuffa", "sughi", "eludo", "agape", "costa", "tasto", "bocca", "marzo", "tende", "banca", "fungo", "bagno", "fiero", "clava", "pensa", "azero", "domai", "mezzo", "svelo", "canto", "mecca", "diari", "ghiro", "gocce", "colai", "recai", "espio", "punge", "pongo", "bruti", "frase", "vulva", "fiera", "corpo", "vanga", "lieta", "smise", "fogli", "amala", "beone", "scolo", "pollo", "cunei", "rodeo", "mossa", "quasi", "sanno", "fresa", "goffe", "merlo", "verza", "sobri", "robot", "sagra", "fuoco", "abaco", "utile", "preda", "colza", "fichi", "nuche", "rebus", "svago", "liceo", "donna", "petto", "opera", "tonfo", "setto", "cachi", "tuono", "panne", "quale", "tocca", "galea", "baffi", "lenza", "tizio", "covai", "tenda", "eroga", "sorbo", "jeans", "afoso", "beato", "mosto", "stola", "detto", "punta", "posai", "umile", "spore", "arpie", "budda", "corda", "treno", "lotta", "cinta", "gergo", "lardo", "grida", "poema", "luogo", "fiato", "vinai", "bongo", "furba", "sport", "pinta", "crema", "frode", "trono", "clero", "mozzi", "dolce", "turco", "ordii", "venti", "tanto", "ovini", "colla", "conio", "vocio", "ansia", "bolla", "zolla", "serpe", "nuoce", "ruppe", "prode", "latte", "ossia", "regno", "fatuo", "teche", "corvi", "righe", "posta", "anelo", "casta", "falso", "emana", "milza", "extra", "morbo", "cuore", "cosca", "faggi", "solco", "grigi", "pinne", "suino", "astro", "volge", "asilo", "multa", "rione", "balzo", "forza", "frasi", "torso", "pulsa", "anice", "ronfa", "trito", "belva", "trota", "animo", "ormai", "bario", "busta", "dardo", "esche", "vendo", "litio", "sigla", "cigli", "panda", "sommo", "colse", "vetta", "lecci", "baldo", "alone", "rullo", "pruno", "reale", "draga", "drone", "ovile", "oblio", "pelle", "bulbo", "clone", "tappe", "firma", "sogno", "sigma", "sisma", "fonte", "diodo", "grumo", "birra", "lasci", "sceso", "pelli", "parve", "dicco", "tango", "parte", "busti", "elogi", "paura", "negli", "gechi", "ebbro", "buchi", "pulce", "etimo", "bello", "morso", "barra", "gomma", "pazzi", "vinco", "duole", "usano", "breve", "selci", "penne", "canna", "berlo", "fosco", "cesta", "senno", "nause", "cervo", "messa", "daino", "vaghe", "cecio", "drago", "umida", "etnia", "spuma", "piega", "micio", "opaco", "vibra", "tilde", "ossea", "rauca", "falco", "cifra", "studi", "tomba", "ratto", "carpa", "barca", "rocce", "sturo", "folla", "bruco", "targa", "molla", "ballo", "tagli", "bruci", "benda", "malga", "aduso", "ubbia", "vasai", "rango", "oneri", "clima", "pizzo", "selva", "carro", "croda", "velai", "cosce", "ceppo", "brano", "usare", "scemi", "tarso", "evoco", "agito", "pozza", "gobba", "legge", "vieto", "desio", "belga", "adagi", "zanne", "denti", "lacca", "olive", "vegli", "facce", "atrio", "coppa", "pesto", "fante", "parti", "volta", "poppa", "disfa", "crasi", "bivio", "pance", "cerco", "celti", "nafta", "alcol", "abile", "reggo", "emulo", "avuto", "fosse", "alibi", "ombra", "cameo", "pioli", "copri", "stima", "corsa", "estro", "lucci", "greco", "funge", "piena", "tigli", "burro", "gatto", "razzo", "faida", "tosta", "lucro", "banco", "aureo", "bullo", "vermi", "censo", "lutto", "ilare", "utili", "melma", "tibia", "bisce", "colta", "umori", "celia", "cromo", "cespo", "cacio", "cappa", "badia", "malta", "parlo", "nappa", "passa", "salve", "teppa", "frana", "ponte", "letto", "etica", "sonda", "lista", "serra", "palle", "bazar", "paria", "lusso", "crepi", "cobra", "pesco", "ferro", "corte", "fisco", "baita", "polpo", "calca", "stufo", "scova", "butta", "campo", "epica", "tigna", "trave", "fasce", "quota", "causa", "imita", "porro", "forra", "pigli", "lonza", "avrai", "suono", "sozza", "lesso", "premi", "merce", "museo", "hanno", "calai", "amaca", "uggia", "sento", "volle", "gelso", "anodo", "pigna", "legai", "svito", "docce", "sosta", "rampa", "gesti", "perso", "coffa", "mughi", "bioma", "nesso", "soldi", "preso", "glifo", "lenta", "sesto", "gigli", "hotel", "bardo", "archi", "tallo", "nocca", "sodio", "fibra", "ugola", "morti", "mirto", "erica", "testo", "ninfa", "mazza", "alate", "oziai", "lesta", "basso", "piada", "ardua", "slego", "mappa", "bucce", "vieni", "grano", "culla", "zitti", "oppio", "tarlo", "fiume", "rotta", "degna", "scafo", "fango", "tinta", "carie", "arare", "carso", "bordi", "rupia", "odore", "prete", "udire", "colpi", "magma", "presa", "omone", "segno", "sarti", "cenai", "salpo", "oltre", "duchi", "genio", "forse", "abate", "fiala", "cacao", "perla", "pinza", "rubai", "pelai", "ritto", "vespa", "ruzzo", "aspri", "amavo", "bimba", "adito", "felpa", "palma", "croce", "morda", "etere", "maghi", "porta", "cento", "esame", "ligio", "fughe", "icona", "piede", "unico", "grata", "passo", "apice", "conci", "giuro", "forma", "limbo", "fossa", "zecca", "colmo", "forte", "costi", "masso", "mensa", "casco", "liuto", "afidi", "leggo", "torve", "raggi", "porto", "cruda", "lecca", "gesso", "visse", "samba", "etano", "bambu", "cozze", "oliai", "palio", "orcio", "media", "lunga", "linea", "orchi", "tesse", "sfuso", "guado", "stona", "metro", "tulle", "toppa", "acero", "rospo", "foibe", "pesca", "blusa", "alghe", "usura", "cheta", "adipe", "vanno", "frega", "prima", "basco", "riuso", "edema", "finto", "chela", "tarpo", "tardi", "vento", "vetro", "fermo", "panna", "sette", "becco", "barba", "calze", "sotto", "zaino", "croco", "tempo", "vezzo", "foche", "spiga", "ameni", "egizi", "sbuca", "stile", "circa", "cisti", "sarde", "prato", "marea", "aneto", "lepri", "mafia", "solai", "tasca", "zeppo", "versi", "manna", "perde", "clown", "annoi", "calli", "pacca", "citai", "calci", "lacci", "tirai", "ferie", "rosea", "evaso", "avido", "elica", "vizio", "siedi", "dossi", "colui", "parto", "cagna", "cuoca", "amato", "fammi", "capra", "arnia", "tordo", "saghe", "video", "risma", "suore", "santa", "soffi", "fauna", "fobia", "tatto", "isola", "babbo", "penai", "celai", "evita", "muone", "legna", "vizzo", "nassa", "esule", "bigia", "molti", "curda", "paese", "esoso", "paggi", "trino", "finge", "erigo", "sfida", "fremo", "pieve", "atomo", "erano", "inizi", "osare", "soave", "linda", "tecno", "peste", "gusci", "cuoio", "raspa", "tersa", "vacca", "manto", "danza", "guida", "mosci", "efebo", "ruspa", "circo", "regio", "suola", "gogna", "lemma", "scudo", "poeta", "errai", "alito", "bieta", "valle", "duale", "misto", "russo", "folto", "colma", "briga", "pampa", "biada", "venga", "ricci", "batte", "elevo", "meteo", "agire", "ratti", "schwa", "lieve", "parso", "nutre", "senza", "lagna", "stato", "tasso", "berci", "sidro", "creta", "razza", "crani", "marmo", "stiva", "padre", "bravi", "croma", "busso", "suolo", "obolo", "corso", "verde", "droga", "tutte", "teste", "sarei", "gonfi", "vitto", "sorto", "ostro", "torta", "rombo", "gemma", "addio", "fieno", "spesa", "ganci", "obice", "prego", "seguo", "terra", "cinse", "pasto", "resto", "tonda", "buono", "probo", "emiro", "aorta", "remai", "seghe", "fumai", "pinna", "disco", "mamma", "umore", "laser", "rubli", "educa", "andai", "cruna", "rossa", "calva", "leone", "cassa", "posto", "figli", "botti", "agile", "abito", "lotti", "sposi", "trova", "slavi", "palco", "vispa", "sfera", "ciclo", "tento", "sciai", "senso", "sazio", "polso", "foste", "ovaia", "alzai", "ascia", "optai", "magia", "ebano", "marre", "scade", "cigno", "lavai", "salto", "ponfo", "flora", "gonzo", "fissa", "tieni", "cieca", "direi", "ladro", "arena", "omise", "tolta", "calce", "brodo", "serie", "pompa", "sosia", "veste", "panca", "bomba", "pesai", "tonno", "iella", "acari", "paghe", "svaso", "canea", "iride", "micce", "cambi", "sauna", "agata", "corto", "amore", "terna", "urlai", "ameba", "monte", "varco", "saggi", "serio", "desta", "gozzo", "tatuo", "gazza", "sbafo", "coppi", "danno", "tuffo", "roche", "randa", "patto", "sfamo", "sordi", "credo", "kappa", "istmo", "furto", "creai", "ronda", "sugna", "karma", "largo", "torba", "edile", "edera", "esigo", "colgo", "sfogo", "adula", "apnea", "vanto", "grato", "palpo", "beffa", "globo", "ghisa", "dillo", "sfumo", "comma", "duomo", "pozzi", "basto", "virus", "guano", "adone", "gorgo", "spira", "ribes", "picco", "svevo", "ganzo", "koala", "falde", "cibai", "fiore", "somma", "scusa", "matto", "lance", "cerro", "uscio", "saldo", "babau", "flebo", "greto", "guaio", "ovulo", "ulula", "tengo", "lampo", "cavia", "ovest", "gassa", "latta", "raspo", "camma", "lasco", "bruma", "cotta", "burla", "mento", "stavi", "unire", "fruga", "sbavi", "dammi", "nulla", "nembo", "turpe", "speck", "vigna", "torto", "pacco", "chilo", "ozono", "gusto", "fregi", "giada", "crine", "toghe", "birba", "torni", "getto", "mazzo", "talco", "rogna", "mutuo", "mance", "podio", "verso", "pausa", "dotta", "botte", "pasta", "brado", "savio", "piove", "privo", "assai", "abeti", "pappa", "gallo", "igneo", "zampa", "forno", "grave", "plico", "mondo", "scena", "prosa", "felce", "stadi", "agone", "conta", "gioia", "calme", "amido", "aereo", "scopo", "esodo", "cardo", "gnomo", "spelo", "narri", "tigre", "orale", "notte", "giova", "retta", "tenue", "curio", "omino", "lobby", "usavi", "lisci", "avena", "menta", "dorso", "tazza", "caldo", "nozze", "armai", "plebe", "spazi", "riffa", "zozze", "zappa", "unito", "leale", "socio", "vinse", "giara", "rende", "acida", "garbo"],
La = ["abata", "abati", "abato", "abavi", "abavo", "abaya", "abbui", "abete", "abili", "abita", "abiti", "abuna", "abusi", "abuso", "acaro", "acati", "acato", "acazi", "accia", "accio", "aceri", "acese", "acesi", "aceta", "aceti", "achea", "achee", "achei", "acheo", "acide", "acidi", "acido", "acile", "acili", "acini", "acori", "acoro", "acque", "acqui", "acquo", "actea", "actee", "acuii", "acumi", "acuta", "acute", "acuto", "adale", "adali", "addai", "addii", "addua", "addui", "adduo", "adesa", "adese", "adesi", "adeso", "adima", "adimi", "adimo", "adipi", "adira", "adire", "adiri", "adiro", "adita", "adite", "aditi", "adiva", "adivi", "adivo", "adobe", "adona", "adoni", "adono", "adora", "adoro", "adoxa", "adoxe", "aduli", "adulo", "aduna", "aduni", "aduno", "adusa", "aduse", "adusi", "aequo", "aerai", "aeree", "aerei", "afaca", "afata", "afate", "afati", "afato", "afeli", "afeta", "afeti", "afide", "afnii", "afnio", "afone", "afoni", "afono", "afosa", "afose", "afosi", "agama", "agame", "agami", "agamo", "agapi", "agate", "agavi", "aggio", "agiai", "agili", "agino", "agita", "agite", "agiti", "agiva", "agivi", "agivo", "agoni", "agora", "aguti", "aiace", "aiaci", "aiata", "aiate", "aiola", "aiole", "aioli", "aiolo", "aione", "aioni", "aitai", "aiuga", "aiuta", "aiuti", "aizza", "aizzi", "aizzo", "alaci", "alala", "alale", "alali", "alalo", "alami", "alane", "alani", "alano", "alare", "alari", "alata", "alati", "alato", "alava", "alavi", "alavo", "albio", "alcea", "alcee", "alche", "aldio", "aleph", "alesa", "alese", "alesi", "aleso", "algia", "algie", "aliai", "alias", "alici", "alida", "alide", "alidi", "alido", "alimi", "alimo", "alino", "alita", "alite", "aliti", "allea", "allee", "allei", "alleo", "almea", "almee", "alobi", "alona", "aloni", "alono", "alosa", "alose", "alpha", "altea", "altee", "altre", "altri", "altro", "alula", "alule", "alvei", "amaci", "amale", "amali", "amalo", "amami", "amane", "amano", "amara", "amare", "amari", "amasi", "amata", "amate", "amati", "amava", "amavi", "ambia", "ambii", "ambio", "ambre", "amebe", "amena", "amene", "ameno", "amica", "amico", "amida", "amide", "amidi", "amiga", "amigo", "amile", "amili", "amina", "amine", "amino", "ammai", "amnii", "amnio", "amomi", "amomo", "amori", "ampia", "ampie", "ampli", "amuli", "amulo", "anale", "anali", "anari", "anela", "anele", "aneli", "aneti", "angla", "angle", "angli", "anglo", "angue", "angui", "anici", "anile", "anili", "anima", "anime", "animi", "annua", "annue", "annui", "anobi", "anodi", "anona", "anone", "ansai", "ansie", "ansio", "antri", "anura", "anure", "anuri", "anuro", "aonia", "aonie", "aonio", "aorte", "apale", "apali", "apate", "apici", "apide", "apidi", "apina", "apine", "apira", "apire", "apiri", "apiro", "apnee", "apoda", "apode", "apodi", "apodo", "appai", "appia", "appie", "appio", "apula", "apule", "apuli", "apulo", "araba", "arabe", "arabo", "araci", "arala", "arale", "arali", "aralo", "arama", "arame", "arami", "aramo", "arane", "arano", "arara", "arata", "arate", "arati", "arato", "arava", "aravi", "aravo", "arcai", "arche", "arcua", "arcui", "arcuo", "ardea", "ardee", "ardii", "ardue", "ardui", "arduo", "areai", "areca", "arene", "areni", "areno", "arese", "aresi", "argea", "argee", "argei", "argeo", "arghi", "argon", "aride", "aridi", "arido", "arile", "arili", "arino", "arnie", "aromi", "arpia", "arsii", "artai", "artoa", "artoe", "artoi", "artoo", "asada", "asado", "asana", "asari", "asaro", "aschi", "ascio", "asili", "asina", "asine", "asini", "asole", "asoli", "asolo", "aspra", "aspre", "aspro", "astia", "astri", "atava", "atave", "atavi", "atavo", "atele", "ateli", "atomi", "atona", "atone", "atoni", "atono", "atout", "atrii", "attai", "attea", "attee", "attei", "atteo", "attua", "attui", "attuo", "audit", "auffa", "augna", "augni", "augno", "aulii", "aurai", "aurea", "auree", "aurei", "avana", "avara", "avare", "avaro", "avene", "averi", "avete", "aveva", "avevi", "avevo", "avida", "avide", "avidi", "avita", "avite", "aviti", "avoca", "avoco", "avola", "avole", "avoli", "avori", "avrei", "avuta", "avute", "avuti", "avvia", "avvii", "axone", "axoni", "azera", "azere", "azeri", "azide", "azidi", "azima", "azime", "azimi", "azimo", "azina", "azine", "azoni", "azota", "azoti", "azuki", "babao", "babbi", "bacai", "bacco", "bacia", "bacie", "bacii", "badge", "badgi", "badie", "baele", "baeli", "baffo", "bagel", "bagli", "bagna", "bagne", "bagni", "baiai", "baili", "bailo", "baino", "baite", "bakka", "bakke", "bakki", "bakko", "balba", "balbe", "balbi", "balbo", "balco", "balda", "balde", "baldi", "balie", "balii", "balio", "balla", "balli", "balma", "balme", "balse", "balta", "balte", "balti", "balto", "balza", "balze", "balzi", "bamba", "bambe", "bambi", "bambo", "banaa", "banae", "banai", "banao", "banda", "bandi", "bando", "bangi", "banjo", "banna", "banni", "banno", "bantu", "barbe", "barbi", "barbo", "barco", "barda", "barde", "bardi", "baria", "barie", "barii", "barre", "barri", "barro", "basai", "basca", "basii", "bassa", "basse", "bassi", "baste", "basti", "batta", "batti", "batto", "batua", "baula", "bauli", "baulo", "bauta", "baute", "bazze", "beaci", "beala", "beale", "beali", "bealo", "beami", "beane", "beano", "beare", "beata", "beate", "beati", "beava", "beavi", "beavo", "bebop", "becca", "beffe", "beffi", "beffo", "begai", "beggi", "beghi", "begia", "begli", "beige", "beigi", "beino", "beisa", "beise", "belai", "belgi", "belii", "belio", "bella", "belle", "belli", "belta", "belve", "benai", "bende", "bendi", "bendo", "benna", "benne", "beola", "beole", "beona", "beoni", "beota", "beote", "beoti", "berla", "berle", "berli", "berma", "berme", "bermi", "berne", "bersi", "berta", "berte", "berti", "bervi", "besce", "besci", "bessa", "besse", "bessi", "besso", "betta", "bette", "beuta", "beute", "bevei", "bevve", "bevvi", "bezzi", "bezzo", "biade", "biadi", "biado", "biava", "biave", "biavi", "biavo", "bibbi", "biche", "bieca", "biete", "biffa", "biffe", "biffi", "biffo", "bighe", "bighi", "bigie", "bigio", "bigne", "bilia", "bilie", "bimbe", "bimbi", "bimbo", "binai", "binda", "binde", "bindi", "binga", "binge", "bingo", "biodi", "biodo", "biomi", "biosi", "biova", "biove", "birbe", "birbi", "birbo", "birce", "birci", "birre", "birri", "birro", "bissa", "bissi", "bisso", "bista", "biste", "bisti", "bitte", "bitti", "bitto", "biuta", "biute", "biuti", "biuto", "bizza", "blese", "blesi", "bleso", "blini", "blitz", "blumi", "blumo", "bluse", "boari", "boaro", "boati", "bobba", "bobbi", "bobbo", "bocci", "bocco", "bocia", "boema", "boeme", "boemi", "boemo", "boera", "boere", "boeri", "boero", "boghe", "boide", "boidi", "boite", "boldi", "boldo", "bolge", "bolle", "bolli", "bolsa", "bolse", "bolsi", "bolso", "bombe", "bombi", "bombo", "bonne", "bonta", "bonza", "bonze", "bonzi", "bonzo", "borda", "borde", "bordo", "borea", "borei", "boria", "borii", "borio", "borni", "borra", "borre", "borri", "borro", "borse", "bossi", "bosso", "botri", "botro", "botta", "botto", "boule", "boxai", "bozze", "bozzi", "bozzo", "braca", "braci", "braco", "brada", "brade", "bradi", "braga", "brago", "braii", "brama", "brami", "bramo", "brani", "brasa", "brasi", "braso", "brava", "brave", "bravo", "bremi", "bremo", "breva", "brevi", "brice", "brici", "brida", "bride", "brige", "brigi", "brigo", "brine", "brini", "brino", "broda", "brode", "brodi", "broge", "brogi", "broli", "brolo", "bromi", "bromo", "brova", "brovi", "brovo", "bruca", "brugi", "brugo", "bruii", "brume", "bruna", "brune", "bruni", "bruta", "brute", "bruto", "bruzi", "bubai", "bucai", "bucci", "buche", "bucio", "buddi", "bufai", "buffe", "buffi", "buffo", "bugia", "bugio", "bugli", "bugna", "bugne", "bugni", "bugno", "buina", "buine", "bulai", "bulbi", "bulla", "bulle", "bulli", "bumba", "bumbe", "buona", "buone", "buoni", "burba", "burbe", "burga", "burka", "burle", "burli", "burlo", "burqa", "burri", "busaa", "busae", "busai", "busao", "busca", "busco", "bushi", "bussa", "busse", "bussi", "buste", "busto", "butte", "butti", "butto", "buzza", "buzze", "buzzi", "buzzo", "bwaka", "bwana", "caaba", "cabla", "cabli", "cablo", "cabra", "cabri", "cabro", "cacai", "cacca", "cacce", "cacci", "cache", "cacia", "cacti", "cacto", "caddi", "cadmi", "caffa", "caffe", "caffi", "caffo", "cafra", "cafre", "cafri", "cafro", "cagai", "caghi", "cagli", "cagne", "caiba", "caibe", "caina", "caine", "caini", "caino", "calao", "calda", "calde", "caldi", "calia", "calie", "calla", "calle", "callo", "calma", "calmi", "calmo", "calse", "calta", "calte", "calve", "calvi", "calvo", "calza", "calzi", "calzo", "camei", "camme", "campi", "canai", "canee", "canga", "cange", "cangi", "canne", "canni", "canno", "canoe", "cansa", "cansi", "canso", "canta", "canti", "capai", "cappe", "cappi", "cappo", "capre", "capri", "capro", "capta", "capti", "capto", "carca", "carco", "carda", "carde", "cardi", "caria", "cario", "carmi", "carna", "carni", "carno", "carpe", "carpi", "carpo", "carri", "carsi", "carvi", "casbe", "casca", "casci", "casei", "caseo", "caspa", "caspe", "caspi", "cassi", "casso", "caste", "casti", "casto", "catta", "catte", "catti", "catto", "caule", "cauli", "cauri", "cause", "causi", "causo", "cauta", "caute", "cauti", "cavea", "cavee", "cavie", "cazza", "cazze", "cazzi", "cazzo", "cecai", "cecca", "ceche", "cechi", "cedei", "cedra", "cedri", "cedua", "cedue", "cedui", "ceffa", "ceffi", "ceiba", "ceibe", "celie", "celio", "celle", "celli", "cello", "celta", "celte", "celto", "celzi", "cengi", "cenna", "cenni", "censi", "ceppa", "ceppe", "ceppi", "cerai", "cerca", "cerci", "cerea", "ceree", "cerei", "cereo", "cerii", "cerio", "cerna", "cerne", "cerni", "cerno", "cerri", "certe", "certi", "certo", "cerva", "cerve", "cervi", "cesia", "cesie", "cespi", "cessa", "cesse", "cessi", "ceste", "cesti", "cesto", "cetre", "chele", "cheli", "chete", "cheti", "cheto", "chile", "chili", "chimi", "chimo", "chine", "chini", "chino", "chita", "chiti", "chito", "cholo", "chope", "ciaba", "ciabi", "ciabo", "ciana", "ciane", "ciani", "ciano", "ciati", "ciato", "ciazi", "cicce", "cicci", "cicco", "ciche", "cicli", "cidia", "cidie", "cidio", "cieco", "cieli", "ciesa", "ciese", "cifre", "cifri", "cifro", "cigna", "cigne", "cigni", "cimai", "cimba", "cimbe", "cince", "cinga", "cinge", "cingi", "cingo", "cinsi", "cinte", "cinti", "cinto", "cinzi", "cioce", "ciofi", "ciofo", "cippi", "cipri", "circe", "circi", "cirro", "cisio", "cispa", "cispe", "cista", "ciste", "cisto", "citta", "citte", "citti", "citto", "ciuca", "ciula", "ciuli", "ciulo", "clade", "cladi", "clama", "clami", "clamo", "clave", "clavi", "clavo", "cleri", "climi", "cline", "clini", "clino", "clivi", "clivo", "clona", "cloni", "clono", "clora", "clori", "cloze", "clune", "cluni", "cnidi", "coala", "coana", "coane", "coati", "cobea", "cobee", "cobla", "coble", "cocca", "cocce", "coche", "codia", "codio", "coese", "coesi", "coeso", "coeva", "coeve", "coevi", "coffe", "cofta", "cofte", "cofti", "cofto", "cogli", "cogni", "cogno", "coiai", "coipi", "coipo", "coire", "coita", "coite", "coiti", "coito", "coiva", "coivi", "coivo", "colca", "colco", "colei", "colga", "colia", "colie", "colle", "colli", "colme", "colmi", "colpa", "colpo", "colsi", "colte", "colti", "colto", "colze", "comba", "combe", "combo", "commi", "commo", "compi", "conce", "congi", "conia", "conie", "conne", "conni", "conno", "consa", "conso", "conti", "cooba", "coobi", "coobo", "copie", "copio", "coppe", "coppo", "copra", "copre", "copro", "copta", "copte", "copti", "copto", "coque", "corai", "corba", "corbe", "corca", "corco", "corde", "corea", "coree", "corei", "coreo", "corio", "cormi", "cormo", "corni", "corno", "corpi", "corre", "corri", "corro", "corse", "corsi", "corta", "corti", "corvo", "cosai", "cosci", "cosfi", "cosmi", "cosse", "cossi", "cosso", "coste", "costo", "cotte", "cotti", "cotto", "cousi", "couso", "covid", "cozza", "cozzi", "crace", "craci", "crapa", "crape", "creda", "crede", "credi", "creme", "cremi", "cremo", "crena", "crene", "creni", "creno", "crepa", "crepo", "cresi", "creso", "crete", "crime", "crimi", "crina", "crini", "crino", "croci", "crode", "croia", "croie", "croio", "crome", "cromi", "crono", "cruci", "crude", "crudi", "crudo", "crune", "ctoni", "cubai", "cubia", "cubie", "cucca", "cucci", "cucco", "cucia", "cucii", "cueva", "cugna", "cugne", "culai", "culle", "culli", "cullo", "culmi", "culmo", "culpa", "culta", "culte", "culti", "cunca", "cunce", "cunci", "cunco", "cuneo", "cuoce", "cuoci", "cuoco", "cuoia", "cuora", "cuori", "curde", "curdi", "curdo", "curie", "curii", "curri", "curro", "curve", "curvi", "curvo", "cusco", "cussi", "cusso", "dacci", "dache", "dacia", "dacie", "dafne", "dafni", "daghe", "dagli", "daina", "daine", "daini", "dalai", "dalie", "dalla", "dalle", "dalli", "dallo", "damai", "damma", "damme", "dance", "danda", "dande", "dando", "danna", "danne", "danni", "dante", "danti", "danze", "danzi", "danzo", "darai", "darci", "dardi", "darei", "darla", "darle", "darli", "darlo", "darmi", "darne", "darsi", "darti", "darvi", "daspo", "datai", "datti", "dauni", "dazia", "debba", "debbi", "debbo", "deche", "deghi", "degli", "degne", "degni", "degno", "delia", "delie", "delio", "della", "delle", "dello", "delta", "demmo", "densa", "dense", "densi", "denta", "dente", "dento", "derby", "derma", "dermi", "derno", "desia", "desii", "dessa", "desse", "dessi", "desso", "deste", "desti", "desto", "detox", "detta", "dette", "detti", "devia", "devie", "devii", "devio", "diadi", "diale", "diali", "diamo", "diana", "diane", "diano", "diapa", "diape", "diapi", "diapo", "diate", "diaza", "diaze", "diazi", "diazo", "dicai", "dicci", "diche", "dichi", "dicta", "diede", "diedi", "diene", "dieni", "dieri", "diesa", "diesi", "dieso", "diete", "dieti", "dieto", "digli", "dildi", "dildo", "dilla", "dille", "dilli", "dimoi", "dindi", "dindo", "dingo", "dinka", "dinne", "diodi", "dioli", "diolo", "diosi", "dipoi", "dirai", "dirci", "dirla", "dirle", "dirli", "dirlo", "dirne", "dirsi", "dirti", "dirvi", "disfi", "disfo", "disia", "disii", "disio", "disse", "dissi", "dista", "disti", "ditte", "ditti", "diula", "djaga", "doagi", "doari", "dobla", "doble", "dobli", "doblo", "dobra", "docci", "docmi", "dogai", "doghi", "dogli", "dogmi", "dogre", "dolai", "dolca", "dolci", "dolco", "dolga", "dolgo", "dolio", "dolse", "dolsi", "dolta", "dolte", "dolti", "dolto", "domma", "dommi", "donai", "donde", "donne", "donni", "donno", "dopai", "dorai", "doria", "dorio", "dorme", "dormi", "dormo", "dorsi", "dosai", "dosso", "dotai", "dotte", "dotti", "dotto", "doula", "doule", "dovei", "draba", "drabe", "draco", "drena", "dreni", "dreno", "drive", "drogo", "droma", "drome", "dromi", "dromo", "droni", "druda", "drude", "drudi", "drudo", "drupe", "drusa", "druse", "drusi", "druso", "duagi", "duali", "ducai", "ducea", "ducee", "duina", "duine", "duini", "duino", "dulia", "dulie", "duoli", "duolo", "duomi", "dupla", "duple", "dupli", "duplo", "durai", "durio", "durra", "durre", "duvet", "dviii", "ebani", "ebbio", "ebbra", "ebbre", "ebbri", "ebeni", "ebeno", "ebeta", "ebeti", "ebeto", "ebola", "ebole", "ebook", "ebrea", "ebree", "ebrei", "ebuli", "ebulo", "echei", "echeo", "echio", "ecidi", "edace", "edaci", "edemi", "edere", "edili", "edipi", "edipo", "edita", "edite", "editi", "edito", "edona", "edone", "edoni", "edono", "educe", "educi", "educo", "edule", "eduli", "efebi", "efesi", "efori", "eforo", "egena", "egene", "egeni", "egeno", "egida", "egide", "egira", "egire", "ekiti", "elafe", "elafi", "eleni", "eleva", "elevi", "elice", "elici", "elida", "elide", "elidi", "elido", "eliea", "eliee", "elima", "elime", "elimi", "elimo", "elisa", "elise", "elisi", "eliso", "eluda", "elude", "eludi", "eluii", "elusa", "eluse", "elusi", "eluso", "eluvi", "emaci", "email", "emale", "emali", "emani", "emano", "emeri", "emero", "emesi", "emica", "emici", "emico", "emide", "emidi", "emina", "emine", "emiri", "emise", "emisi", "emoni", "empia", "empie", "empii", "empio", "emula", "emule", "emuli", "enema", "enemi", "enfia", "enfie", "enfio", "engri", "ennea", "ennee", "ennei", "enneo", "enoli", "enolo", "entri", "entro", "enula", "enule", "eolia", "eolie", "eolio", "epici", "epico", "epodi", "epodo", "epura", "epuri", "equai", "erada", "erade", "eradi", "erado", "erari", "erasa", "erase", "erasi", "eraso", "erbai", "erbio", "erebi", "erebo", "ereda", "erede", "eredo", "eremi", "ereta", "ereti", "ereto", "eriga", "erige", "erigi", "ernie", "ernio", "eroda", "erode", "erodi", "erodo", "erogo", "erosa", "erose", "erosi", "eruca", "erula", "erule", "eruli", "erulo", "erzya", "esala", "esali", "esalo", "esami", "esani", "esano", "eschi", "esiga", "esige", "esigi", "esili", "esima", "esime", "esimi", "esimo", "esipi", "esipo", "esita", "esiti", "esizi", "esodi", "esone", "esoni", "esora", "esori", "esoro", "esosa", "esose", "esosi", "espia", "espii", "essai", "estia", "estie", "estii", "estio", "estri", "estua", "estui", "estuo", "esula", "esuli", "esulo", "esuma", "esumi", "esumo", "etani", "etate", "etati", "etene", "eteni", "etera", "eteri", "etero", "etesi", "ethos", "etici", "etico", "etile", "etili", "etimi", "etini", "etino", "etnee", "etnei", "etneo", "etnie", "etola", "etole", "etoli", "etolo", "eutri", "evada", "evade", "evadi", "evado", "evasa", "evase", "evasi", "evira", "eviri", "eviro", "eviti", "evito", "evoca", "fabri", "fabro", "facci", "facto", "fagli", "faide", "faine", "falba", "falbe", "falbi", "falbo", "falca", "falci", "falda", "faldi", "faldo", "falla", "falle", "falli", "falsa", "false", "falsi", "famai", "fanga", "fanne", "fanti", "farad", "farai", "farce", "farci", "farda", "farde", "farea", "farei", "farla", "farle", "farli", "farlo", "farmi", "farri", "farse", "farsi", "farso", "farti", "farvi", "fasai", "fasci", "fasta", "faste", "fasti", "fasto", "fatai", "fatta", "fatte", "fatti", "fatua", "fatue", "fatui", "fatwa", "fauce", "faune", "fauni", "fauno", "fauve", "favai", "faxai", "feace", "feaci", "febea", "febee", "febei", "febeo", "fecce", "fedai", "felci", "fella", "felle", "felli", "fello", "felpe", "felpi", "felpo", "felse", "felsi", "felze", "felzi", "femme", "fence", "fenda", "fende", "fendi", "fendo", "feria", "ferii", "ferla", "ferle", "ferma", "ferme", "fermi", "ferra", "ferri", "fersa", "ferse", "ferva", "ferve", "fervi", "fervo", "ferza", "ferze", "ferzi", "ferzo", "fessa", "fesse", "fessi", "feste", "festi", "festo", "fette", "feudi", "fiaba", "fiale", "fiani", "fiano", "fiata", "fiate", "fiati", "fibre", "ficca", "ficco", "ficea", "ficee", "fiche", "ficus", "fidai", "fiele", "fieli", "fieni", "fiere", "fieri", "fighe", "fighi", "filai", "filli", "fillo", "filma", "filmi", "filmo", "filza", "filze", "finca", "finga", "fingi", "fingo", "finii", "finna", "finne", "finni", "finno", "finse", "finsi", "finta", "finte", "finti", "fioco", "fiora", "fiori", "fioro", "fiote", "fioti", "firme", "firmi", "firmo", "fisai", "fisse", "fissi", "fisso", "fitta", "fitte", "fitti", "fiumi", "fiuta", "fiuti", "flake", "flana", "flani", "flano", "flash", "flati", "flato", "flava", "flave", "flavi", "flavo", "fleti", "fleto", "flirt", "flore", "fluii", "fobie", "focea", "focee", "focei", "foceo", "fochi", "focus", "fodri", "fodro", "fogge", "foggi", "foghe", "fogna", "fogni", "fogno", "foiba", "folce", "folco", "folio", "folli", "follo", "folta", "folte", "folti", "fonai", "fonda", "fonde", "fondi", "fonia", "fonie", "fonti", "forai", "force", "forci", "forge", "forgi", "forme", "formi", "formo", "forni", "forre", "forti", "forze", "forzi", "forzo", "fosca", "fossi", "fosso", "fosti", "fotta", "fotte", "fotti", "fotto", "fovea", "fovee", "foyer", "fraga", "frale", "frali", "frame", "frane", "frani", "frano", "frati", "frego", "frema", "freme", "fremi", "frena", "freni", "freon", "frese", "fresi", "freso", "frigi", "frine", "frini", "frisa", "frisi", "friso", "froda", "frodi", "frodo", "froge", "frugo", "fruii", "ftori", "ftoro", "fuchi", "fuffa", "fuffe", "fugai", "fugga", "fugge", "fuggi", "fuggo", "fughi", "fulbe", "fulbi", "fulga", "fulge", "fulgi", "fulgo", "fulsa", "fulse", "fulsi", "fulso", "fulve", "fulvi", "fulvo", "fumea", "fumee", "fumei", "fumeo", "fumma", "fummi", "funai", "fundo", "funga", "fungi", "funky", "funse", "funsi", "funta", "funte", "funti", "funto", "furai", "furbe", "furbi", "furbo", "furca", "furie", "furio", "furti", "fusai", "fusta", "fuste", "fusti", "futon", "fuxia", "fuxie", "fuzzy", "gabba", "gabbi", "gabbo", "gaela", "gaele", "gaeli", "gaelo", "gaffa", "gaffe", "gagge", "gaggi", "galee", "galei", "galeo", "galgo", "galio", "galla", "galle", "galli", "gambe", "gambi", "gamia", "gamie", "gamme", "ganda", "gande", "ganga", "gange", "ganza", "ganze", "ganzi", "garba", "garbe", "garbi", "garga", "gargo", "garni", "garze", "garzi", "garzo", "gasai", "gasco", "gasse", "gassi", "gasso", "gatta", "gatte", "gatti", "gauda", "gaude", "gaudi", "gaudo", "gauge", "gauli", "gaulo", "gauta", "gaute", "gauti", "gauto", "gazai", "gazze", "gazzi", "gazzo", "gelai", "gelao", "gelsa", "gelse", "gelsi", "gemei", "gemme", "gemmi", "gemmo", "genai", "genia", "genie", "genoa", "genti", "genue", "geode", "geodi", "geomi", "gerba", "gerbe", "gerla", "gerle", "gerli", "gerlo", "germa", "germi", "gessa", "gessi", "gesta", "gesto", "getta", "getti", "ghali", "ghega", "ghegi", "ghego", "ghiri", "ghise", "giaci", "giaco", "giade", "giani", "giano", "giare", "giava", "giave", "gibbi", "gibbo", "gighe", "gilda", "gilde", "gilet", "gimmo", "ginna", "ginni", "ginno", "gioca", "gioie", "gioii", "gioio", "giovi", "giovo", "girci", "girei", "girii", "girio", "girla", "girle", "girli", "girlo", "girmi", "girne", "girsi", "girti", "girvi", "gisse", "gissi", "giste", "gisti", "gitta", "gitti", "gitto", "giuba", "giube", "giuda", "giuli", "giura", "giure", "giuri", "giuso", "gladi", "gleba", "glebe", "glena", "glene", "gleni", "glifi", "globe", "globi", "glomi", "glomo", "glori", "gluma", "glume", "gnidi", "gnome", "gnomi", "gnuda", "gnude", "gnudi", "gnudo", "gobbe", "gobbi", "gobbo", "gocci", "godei", "godii", "godio", "goffa", "goffi", "goffo", "gogne", "goldi", "golea", "golei", "goleo", "golfi", "golia", "golpe", "gombe", "gombi", "gombo", "gomme", "gommi", "gommo", "gonda", "gonde", "gondi", "gondo", "gonfa", "gonfe", "gonfo", "gonga", "gonio", "gonja", "gonne", "gonza", "gonze", "gonzi", "gordi", "gorga", "gorge", "gorna", "gorne", "gotha", "gotte", "gotti", "gotto", "gouda", "gozzi", "grada", "grade", "grado", "grafi", "graia", "graie", "graii", "graio", "grame", "grami", "gramo", "grane", "grani", "grate", "grati", "grava", "gravi", "gravo", "grazi", "greca", "greci", "gremi", "greti", "grevi", "grica", "grici", "grico", "gride", "gridi", "grido", "grifa", "grifi", "grifo", "grola", "grole", "groma", "grome", "grufa", "grufi", "grufo", "gruga", "grugo", "gruma", "grume", "grumi", "grusi", "guaco", "guada", "guade", "guadi", "guaii", "guani", "guari", "guata", "guati", "guato", "gufai", "guide", "guidi", "guido", "guina", "guini", "guino", "guisa", "guise", "gulag", "gurge", "gurgi", "gusla", "gusta", "gusti", "gutea", "gutee", "gutei", "guteo", "gutti", "gutto", "guzla", "guzle", "gwari", "hafni", "haida", "haiku", "hakka", "hallo", "hamza", "harem", "haute", "hedge", "hello", "henna", "henne", "hertz", "hevea", "hevee", "hijab", "hindi", "hobby", "hokka", "hokke", "hokki", "hokko", "holmi", "house", "huave", "huavi", "huchi", "hudna", "iacea", "iacee", "iarda", "iarde", "ibera", "ibere", "iberi", "ibero", "iblea", "iblee", "iblei", "ibleo", "icari", "icena", "icene", "iceni", "iceno", "icone", "icore", "icori", "ictus", "idali", "iddia", "iddie", "iddio", "ideai", "idoli", "idria", "idrie", "ielle", "iesta", "ieste", "iesti", "iesto", "ietta", "ietti", "ietto", "ifale", "ifali", "ifema", "ifemi", "igloo", "ignea", "ignee", "ignei", "ilari", "ilice", "ilici", "ilide", "ilidi", "illea", "illee", "illei", "illeo", "ilota", "ilote", "iloti", "image", "imago", "imani", "imano", "imati", "imene", "imeni", "imiti", "imito", "inala", "inali", "inalo", "inane", "inani", "incoa", "incoi", "incoo", "india", "indie", "indio", "infoi", "infra", "ingoi", "ingri", "inlei", "inlui", "inmia", "inmio", "inoli", "inoma", "inomi", "inope", "inopi", "insce", "insci", "insta", "insti", "insto", "intra", "intro", "inula", "inule", "inuma", "inumi", "inumo", "invai", "invia", "invii", "iodai", "ioide", "ioidi", "iolla", "iolle", "ionia", "ionie", "ionio", "ipate", "ipati", "ippia", "ippie", "ippii", "ippio", "irace", "iraci", "irata", "irate", "irati", "irato", "irchi", "irida", "iridi", "irido", "irite", "iriti", "iroki", "iroko", "irosa", "irose", "irosi", "iroso", "irula", "ischi", "islam", "isodi", "isole", "isoli", "isolo", "isopi", "isopo", "issai", "istai", "istle", "istmi", "isuri", "isuro", "itaci", "itaco", "itala", "itale", "itali", "italo", "itera", "iteri", "itero", "iucca", "iulca", "iulco", "iurta", "iurte", "ivata", "ivate", "ivati", "ivato", "jihad", "jolly", "joule", "jumbo", "junci", "junco", "kaaba", "kakwa", "kamti", "kanji", "kansa", "kaone", "kaoni", "kasba", "kayak", "kebab", "kendo", "khasi", "kiowa", "kissi", "kitai", "kiwai", "konde", "kondi", "konga", "konge", "kongi", "kongo", "konta", "kulla", "kulle", "kulli", "kullo", "kunta", "kurda", "kurde", "kurdi", "kurdo", "kwena", "kyrie", "labbi", "labbo", "labda", "labio", "labri", "labro", "lacce", "lacco", "ladra", "ladre", "ladri", "lagne", "lagni", "lagno", "laica", "laici", "laida", "laide", "laidi", "laido", "lamai", "lamba", "lambe", "lambi", "lambo", "lamia", "lamie", "lamio", "lampa", "lampe", "lampi", "lanca", "landa", "lande", "lanea", "lanee", "lanei", "laneo", "lanfa", "lanfe", "langa", "lange", "lania", "lanio", "lanzi", "lanzo", "lapis", "lappa", "lappe", "lappi", "lappo", "larda", "lardi", "larga", "large", "larve", "larvi", "larvo", "lasca", "lassa", "lasse", "lassi", "lasso", "lasta", "laste", "latra", "latri", "latro", "latti", "latto", "lauda", "laude", "laudi", "laura", "laure", "lauri", "lauro", "lauta", "laute", "lauti", "lauto", "lavia", "lavie", "lavra", "lavre", "lazza", "lazze", "lazzi", "lazzo", "leali", "lebbi", "lecce", "lecco", "legga", "leggi", "leghi", "legni", "lella", "lelle", "lelli", "lello", "lembi", "lemme", "lemmi", "lemmo", "lemna", "lemne", "lenca", "lenci", "lenea", "lenee", "lenei", "leneo", "lenii", "lente", "lenti", "lento", "lenze", "lenzi", "lenzo", "leoni", "leppa", "leppi", "leppo", "lepra", "lepre", "lerce", "lesbi", "lesbo", "lesca", "lessa", "lesse", "lessi", "leste", "lesti", "lesto", "letea", "letee", "letei", "leteo", "letri", "letro", "letta", "lette", "letti", "leuca", "leuci", "leuco", "leuti", "leuto", "levai", "lezia", "lezie", "lezio", "lezza", "lezze", "lezzi", "lezzo", "liane", "libai", "libra", "libre", "libri", "licci", "licei", "licia", "licie", "licio", "lidar", "lidia", "lidie", "lidio", "liete", "lieti", "lieto", "lievi", "lifta", "lifti", "lifto", "ligei", "ligeo", "ligia", "ligie", "ligre", "ligri", "lilla", "limai", "limbi", "limii", "limio", "limma", "limmi", "linai", "linci", "linde", "lindi", "lindo", "linee", "linei", "lineo", "linfe", "lingi", "linka", "linki", "linko", "lippa", "lippe", "lippi", "lippo", "liqua", "liqui", "liquo", "lisai", "lisce", "lissa", "lisse", "lissi", "lisso", "liste", "listi", "listo", "litai", "litra", "litre", "litri", "litta", "litte", "litui", "lituo", "liuti", "lizze", "lizzi", "lizzo", "locai", "locca", "locco", "lochi", "lodai", "loden", "lodge", "loffa", "loffe", "loffi", "loffo", "lofio", "logga", "logge", "loggo", "loghi", "logia", "logli", "logra", "logri", "logro", "loica", "loici", "loico", "lolla", "lolle", "lombo", "lompi", "lompo", "longa", "longo", "lonze", "loppa", "loppe", "loppi", "loppo", "lorda", "lordi", "lordo", "lorio", "losca", "lotte", "lotto", "lucco", "lucea", "lucei", "luchi", "lucia", "lucie", "lucra", "lucri", "ludra", "ludre", "ludri", "ludro", "luena", "luese", "luesi", "luffa", "luffe", "lugli", "lugre", "lugri", "lugro", "luigi", "lulla", "lulle", "lumai", "lumia", "lumie", "lumpi", "lumpo", "lunda", "lungi", "lungo", "lurca", "lurco", "lusca", "lusco", "lussa", "lussi", "lutai", "lutea", "lutee", "lutei", "luteo", "lutta", "lutti", "luvia", "luvie", "luvii", "luvio", "lycra", "macao", "macca", "macco", "machi", "macho", "macia", "macie", "macro", "madia", "madie", "madri", "mafie", "mafio", "magai", "maggi", "maghe", "magie", "magio", "magli", "magmi", "magna", "magne", "magni", "magno", "magra", "magre", "magri", "maide", "maidi", "maina", "maini", "maino", "malgo", "malia", "malie", "malli", "malte", "malti", "malto", "malva", "malve", "mamba", "mambi", "mamme", "mammi", "mammo", "manaa", "manae", "manai", "manao", "manco", "manda", "mande", "mando", "manga", "manie", "manne", "mansa", "manse", "mansi", "manso", "manta", "mante", "manti", "manza", "manze", "manzi", "maona", "maone", "maori", "mappe", "mappi", "mappo", "marci", "marco", "maree", "margi", "margo", "marma", "marmi", "marne", "marni", "marno", "marra", "marsa", "marse", "marsi", "marso", "marza", "marze", "marzi", "masse", "massi", "masti", "matta", "matte", "matti", "maura", "maure", "mauri", "mauro", "mauve", "mauvi", "mazze", "mazzi", "mbaka", "mbaya", "meaci", "meala", "meale", "meali", "mealo", "meami", "meane", "meano", "meare", "meata", "meate", "meati", "meato", "meava", "meavi", "meavo", "medie", "medio", "meino", "mekea", "mekee", "mekei", "mekeo", "melai", "melba", "melda", "melde", "meldi", "meldo", "melia", "melie", "melii", "melio", "melme", "meloe", "meloi", "menai", "mence", "menci", "menda", "mende", "mendi", "mendo", "menga", "menri", "mense", "mente", "menti", "meoni", "meoti", "merca", "merci", "merco", "merda", "merde", "merga", "merge", "mergi", "mergo", "meria", "merie", "merio", "merla", "merle", "merli", "mersa", "merse", "mersi", "merso", "mesca", "mesce", "mesci", "mesco", "messe", "messi", "messo", "meste", "mesti", "mesto", "metri", "metta", "mette", "metti", "mezza", "mezze", "mezzi", "miasi", "micca", "micci", "micco", "miche", "micia", "micie", "micro", "mieli", "mieta", "miete", "mieti", "mieto", "migma", "migmi", "migra", "migri", "migro", "milia", "milio", "milze", "mimai", "mimma", "mimme", "mimmi", "mimmo", "minai", "minea", "minee", "minei", "mineo", "minga", "minge", "mingi", "mingo", "minia", "minio", "minna", "minne", "minse", "minsi", "mioma", "miomi", "miopi", "miosi", "mirai", "mirra", "mirre", "mirri", "mirro", "mirti", "misia", "misie", "misii", "misio", "missa", "missi", "misso", "mista", "miste", "misti", "mitre", "mitri", "mitro", "mitti", "mitto", "mixai", "mixer", "mocci", "mochi", "mocoa", "modio", "moggi", "mogia", "mogie", "moina", "moine", "moira", "moire", "molai", "molca", "molce", "molle", "molli", "mollo", "molta", "molte", "molto", "molva", "molve", "monco", "monda", "monde", "mondi", "monna", "monne", "monta", "monti", "monto", "moqui", "morai", "morbi", "morde", "mordi", "mordo", "morfi", "morfo", "moria", "morie", "morii", "morra", "morre", "morse", "morsi", "morta", "morte", "morto", "morva", "morve", "mosce", "mosco", "mosse", "mossi", "mosso", "mosti", "motta", "motte", "motti", "mouse", "movie", "mozza", "mozze", "mozzo", "mucci", "mucco", "muchi", "mudai", "muffe", "muffi", "muffo", "mufti", "mugli", "mulsi", "mulso", "multe", "multi", "multo", "mundi", "munga", "munge", "mungi", "mungo", "munii", "munse", "munsi", "munta", "munte", "munti", "munto", "muoia", "muoni", "muore", "muori", "muova", "muove", "muovo", "murai", "murge", "muria", "murie", "murmi", "murra", "murre", "musai", "musco", "musei", "mussa", "musse", "mussi", "musso", "mutai", "mutua", "mutue", "mutui", "nabla", "nabli", "nadir", "nafte", "nahua", "naibi", "naide", "naidi", "naira", "nakfa", "nanfa", "nanfe", "nanne", "nante", "nanzi", "napea", "napee", "nappe", "nappi", "nappo", "narco", "nardi", "nardo", "narra", "narro", "nasai", "nasca", "nasci", "nasco", "nashi", "naspi", "naspo", "nasse", "nassi", "nasso", "nasua", "nasue", "natai", "natie", "natii", "natio", "natta", "natte", "nauta", "nauti", "ndoga", "ndoge", "ndogi", "ndogo", "nebbi", "necai", "necce", "necci", "nechi", "neghi", "nella", "nelle", "nello", "nembi", "nemea", "nemee", "nemei", "nemeo", "nence", "nenci", "nenie", "nerba", "nerbi", "nervo", "nesce", "nesci", "nessi", "nesta", "nesti", "nesto", "netta", "nette", "netti", "neuma", "neumi", "neura", "neure", "neuri", "neuro", "ngala", "nguni", "nibbi", "nicce", "nicci", "niego", "nievi", "nievo", "nimbi", "nimbo", "ninfe", "ninna", "ninne", "ninni", "ninno", "niobi", "nisba", "nitra", "nitri", "nitro", "niuna", "niune", "niuni", "niuno", "nivea", "nivee", "nivei", "nobel", "noema", "noemi", "noesi", "nogai", "noghi", "nomai", "nomee", "nonne", "nonni", "nonno", "noria", "norie", "norma", "normi", "normo", "norna", "norne", "notta", "notti", "notto", "novai", "novio", "nudai", "nugae", "nulle", "nulli", "nullo", "nummi", "nummo", "nunci", "nunzi", "nuoci", "nuore", "nuota", "nuoti", "nuova", "nuove", "nuovi", "nurse", "nutka", "nutra", "nutri", "nutro", "nyala", "obbli", "obeli", "obelo", "obera", "oberi", "obero", "obesa", "obese", "obeso", "obici", "obiti", "obito", "oblai", "oblia", "oblii", "oboli", "ocche", "ocimi", "ocimo", "ocrea", "ocree", "oculi", "oculo", "odano", "oddio", "odiai", "odici", "odila", "odile", "odili", "odilo", "odimi", "odine", "odire", "odita", "odite", "oditi", "odito", "odiva", "odivi", "odivo", "odono", "odora", "odori", "odoro", "odrai", "oecio", "offra", "offre", "offri", "ofide", "ofidi", "ofite", "ofiti", "ogive", "oiana", "oidio", "okapi", "oleai", "olfai", "olino", "olire", "olita", "olite", "oliti", "olito", "oliva", "olivi", "olivo", "olmio", "olona", "olone", "olora", "olore", "olori", "oloro", "oltra", "omaha", "omani", "omano", "omari", "omaro", "omasi", "omaso", "ombre", "ombri", "ombro", "omeri", "omese", "omesi", "omini", "omisi", "omnia", "omoni", "ondai", "onera", "onere", "onero", "onese", "onesi", "onici", "onora", "onori", "onoro", "onrai", "opaca", "opaci", "opale", "opali", "opata", "opere", "operi", "opero", "opica", "opici", "opico", "opima", "opime", "opimi", "opimo", "opina", "opini", "oppia", "oraci", "orafa", "orafi", "orafo", "orala", "orali", "oralo", "orami", "orane", "orano", "orare", "orate", "orati", "orato", "orava", "oravi", "oravo", "orbai", "orche", "orfea", "orfee", "oribi", "orice", "orici", "orige", "origi", "orina", "orine", "orini", "orino", "orlai", "ornai", "orobi", "oroci", "oroki", "oroma", "orome", "oromi", "oromo", "orrea", "orree", "orrei", "orreo", "orrii", "orzai", "osaci", "osage", "osagi", "osala", "osale", "osali", "osalo", "osami", "osane", "osano", "osata", "osate", "osati", "osato", "osava", "osavi", "osavo", "oscar", "osche", "osino", "osmio", "ossee", "ossei", "osseo", "ostai", "osteo", "ostie", "ostio", "ostri", "otica", "otici", "otico", "otide", "otidi", "otiti", "ottri", "ovaie", "ovaio", "ovali", "ovari", "ovata", "ovate", "ovati", "ovato", "ovili", "ovina", "ovine", "ovino", "ovoli", "ovolo", "ovula", "ovuli", "ovvia", "ovvie", "ovvii", "oyana", "ozena", "ozene", "ozino", "ozoni", "pabbi", "pacai", "pachi", "pacia", "pacio", "pacta", "padda", "padri", "paesi", "pafia", "pafie", "pafii", "pafio", "pagai", "paghi", "pagri", "pagro", "paini", "paino", "paisa", "palai", "palea", "palee", "palei", "paleo", "palli", "pallo", "palme", "palmi", "palpa", "palpi", "palta", "palte", "panai", "pande", "pandi", "pando", "pania", "panie", "panni", "pansa", "panse", "pansi", "panso", "panza", "panze", "paoli", "paolo", "pappe", "pappi", "pappo", "papua", "parai", "parca", "parce", "parci", "pardi", "pardo", "parei", "parie", "parii", "pario", "parka", "parla", "parli", "parma", "parme", "parra", "parre", "parsa", "parse", "parsi", "parta", "parva", "parvi", "parvo", "pasca", "pasce", "pasci", "pasco", "passe", "paste", "pasti", "patia", "patie", "patii", "patre", "patri", "patte", "patti", "paure", "pause", "pausi", "pauso", "pavia", "pavie", "pazza", "pazze", "pazzo", "peace", "peaci", "peani", "peata", "peate", "pecce", "pecci", "pechi", "pecia", "pecie", "pedio", "pegno", "pekoe", "pelea", "pelee", "pelei", "peleo", "pelta", "pelte", "pelvi", "penda", "pendi", "pendo", "penei", "peneo", "pensi", "penso", "penta", "pente", "penti", "pento", "peoci", "peone", "peoni", "peota", "peote", "pepai", "pepli", "pepsi", "perca", "perda", "perdi", "perdo", "perii", "perle", "perni", "persa", "perse", "persi", "pervi", "pesci", "pesta", "pesti", "petai", "petti", "pezza", "pezze", "pezzi", "phone", "photo", "phyla", "piaci", "piade", "piago", "piala", "piale", "piali", "pialo", "piami", "piamo", "piana", "piane", "piani", "piare", "piata", "piate", "piati", "piato", "piava", "piavi", "piavo", "picca", "picce", "picea", "picee", "picei", "piceo", "piche", "pichi", "picio", "piedi", "piego", "piene", "pieni", "pieno", "pieri", "piese", "piesi", "pieta", "piete", "pievi", "pighi", "pigia", "pigii", "pigne", "pigra", "pigre", "pigri", "piino", "pilai", "pilei", "pileo", "pilla", "pilli", "pillo", "pinai", "pinca", "pince", "pinco", "pinea", "pinee", "pinei", "pineo", "pinsa", "pinse", "pinte", "pinti", "pinto", "pinze", "pinzi", "pinzo", "pioda", "piode", "piola", "piole", "piolo", "pione", "pioni", "piota", "piote", "pioti", "pioto", "piova", "piovi", "piovo", "pipai", "pipia", "pipio", "pippa", "pippe", "pippi", "pippo", "pipra", "pipre", "pirla", "pirli", "pirlo", "pisce", "pisci", "pissi", "piste", "pitia", "pitie", "pitta", "pitte", "pitti", "pitto", "piume", "piumi", "piumo", "pizia", "pizie", "pizio", "pizze", "pizzi", "placa", "place", "placo", "plaga", "plagi", "plana", "plani", "plano", "plebi", "plica", "ploia", "ploie", "plora", "plori", "ploro", "ploti", "ploto", "plugo", "pluvi", "pocci", "poche", "podza", "podze", "podzi", "podzo", "poemi", "poeti", "poeto", "pogai", "pogge", "poghi", "poise", "poker", "polca", "polii", "polka", "polke", "polla", "polle", "polli", "polpe", "polpi", "polsi", "polta", "polte", "polve", "polvi", "pomai", "pomfi", "pomfo", "pompe", "pompi", "pompo", "ponce", "ponci", "ponda", "pondi", "pondo", "ponfi", "ponga", "ponta", "ponti", "ponto", "ponza", "ponzi", "ponzo", "poppe", "poppi", "poppo", "porca", "porco", "porga", "porgi", "porgo", "porla", "porle", "porli", "porlo", "pormi", "porne", "porno", "porri", "porse", "porsi", "porte", "porti", "porvi", "posca", "possa", "posse", "possi", "poste", "posti", "potai", "potei", "potta", "potte", "poule", "pozze", "pozzo", "praho", "prana", "prasi", "prati", "prava", "prave", "pravi", "pravo", "prece", "preci", "preco", "prede", "predi", "predo", "prega", "pregi", "preli", "prema", "preme", "premo", "prese", "presi", "preti", "previ", "price", "pride", "prime", "primi", "priva", "prive", "privi", "proba", "probe", "probi", "proci", "proco", "proda", "prodi", "proli", "promo", "prona", "prone", "proni", "prore", "prose", "prosi", "proso", "proti", "proto", "prova", "provi", "provo", "prozi", "pruda", "prudi", "prudo", "pruna", "prune", "pruni", "psico", "psoco", "psofi", "psofo", "ptini", "ptino", "ptosi", "pucci", "puffo", "pugge", "puggi", "pugio", "pugna", "pugne", "pugno", "puina", "puine", "pulca", "pulci", "pulii", "pulka", "pulke", "pulla", "pulle", "pulli", "pullo", "pulsi", "pulso", "punci", "punga", "pungi", "pungo", "punii", "punse", "punsi", "punte", "punto", "puppa", "puppi", "puppo", "purai", "purea", "puree", "purgo", "pussa", "pussi", "pusso", "pusta", "puste", "putai", "putii", "putre", "putri", "putta", "putte", "putti", "putto", "puzza", "puzze", "puzzo", "qasba", "qasbe", "qibla", "quada", "quade", "quadi", "quado", "quali", "quare", "quark", "queta", "queto", "quici", "quija", "quije", "quiji", "quijo", "quina", "quine", "quini", "quino", "quita", "quiti", "quito", "quivi", "quote", "quoti", "quoto", "rabbi", "rabia", "racca", "racco", "racla", "racle", "radia", "radon", "raffa", "raffe", "raffi", "raffo", "rafia", "rafie", "raghe", "ragia", "ragie", "ragli", "ragna", "ragne", "ragni", "raiai", "raide", "raidi", "raino", "raita", "raiti", "raito", "ralla", "ralle", "ralli", "rallo", "ramai", "rambo", "ramea", "ramee", "ramei", "ramen", "rameo", "ramia", "ramie", "ramni", "ramno", "rampe", "rampi", "rampo", "ranca", "rance", "ranci", "ranco", "rande", "ranfi", "range", "ranni", "ranno", "rapai", "rapii", "rappa", "rappe", "rasai", "rasce", "raspe", "raspi", "rasta", "ratea", "ratei", "rateo", "ratio", "ratta", "ratte", "rauco", "razze", "razzi", "reali", "reami", "reati", "recei", "rechi", "recto", "redai", "redii", "reese", "reesi", "regga", "regge", "reggi", "regie", "regna", "regni", "reide", "reidi", "reiki", "renai", "renda", "rendi", "rendo", "renio", "renne", "rensa", "rense", "repli", "replo", "requi", "resca", "resia", "resie", "respi", "respo", "resse", "ressi", "resta", "reste", "resti", "retai", "retea", "retee", "retei", "reteo", "retri", "rette", "retti", "reuma", "reumi", "rezza", "rezze", "rezzi", "rezzo", "riale", "riali", "riama", "riami", "riamo", "riara", "riari", "riaro", "ricca", "ricce", "ridai", "ridde", "riddi", "riddo", "ridia", "rieda", "riede", "riedi", "riedo", "riera", "rieri", "riero", "rifai", "riffe", "rifui", "rigai", "rigge", "righi", "rigna", "rigni", "rigno", "rimai", "rioca", "rioco", "rioda", "riode", "riodi", "riodo", "rioni", "ripii", "risai", "risei", "risia", "risii", "risme", "rispi", "risse", "rissi", "risso", "ritma", "ritmo", "ritta", "ritte", "ritti", "riusa", "riusi", "rivai", "rizza", "rizze", "rizzi", "rizzo", "roana", "roane", "roani", "roano", "robbi", "rocco", "rochi", "rodai", "rodei", "rodia", "rodie", "rodii", "rodio", "roese", "roesi", "rogai", "roggi", "rogne", "rogni", "rogno", "rolla", "rolli", "rollo", "romba", "rombe", "rombi", "romea", "romee", "romei", "romeo", "rompe", "rompi", "rompo", "ronca", "ronco", "ronde", "rondi", "rondo", "ronfe", "ronfi", "ronfo", "ronza", "ronzi", "ronzo", "rorai", "rosai", "rosee", "rosei", "roseo", "rospi", "rosse", "rossi", "rosso", "rosta", "roste", "rosti", "rosto", "rotai", "rotea", "rotei", "roteo", "rotte", "rotti", "rotto", "rouge", "rovai", "rozze", "rozzi", "rozzo", "rubbi", "rubbo", "rubea", "rubee", "rubei", "rubeo", "rublo", "rubra", "rubre", "rubri", "rubro", "ruche", "ruese", "ruesi", "ruffa", "ruffe", "rugai", "rugby", "rughi", "rugli", "ruina", "ruini", "ruino", "rulla", "rulli", "rumai", "rumbe", "rumme", "rummi", "ruoli", "ruote", "ruoti", "ruoto", "rupie", "ruppi", "rusca", "rusco", "ruspe", "ruspi", "ruspo", "russa", "russe", "russi", "rutta", "rutti", "ruzza", "ruzze", "ruzzi", "saale", "saali", "sabbi", "sabea", "sabee", "sabei", "sabeo", "sabia", "sabie", "sabii", "sabio", "sabra", "sacca", "sacia", "sacie", "sacio", "sacra", "sacri", "sacro", "saffo", "sagge", "saghi", "sagii", "sagna", "sagni", "sagno", "sagre", "sagri", "sagro", "saiga", "saime", "saimi", "salai", "salda", "salde", "saldi", "salga", "salgo", "salii", "salio", "salme", "salmi", "salpa", "salpe", "salpi", "salse", "salsi", "salso", "salta", "salti", "salva", "salvi", "salvo", "samia", "samie", "samii", "samio", "sanai", "sanie", "sanse", "sante", "santi", "santo", "saora", "sapio", "sarai", "sarda", "sardi", "sardo", "sarge", "sargo", "sarta", "sarte", "sarto", "sassi", "saune", "saura", "saure", "sauri", "sauro", "savia", "savie", "sazia", "sazie", "sbafa", "sbafi", "sbava", "sbavo", "sboba", "sbobe", "sbora", "sbore", "sbovi", "sbovo", "sbuco", "scada", "scadi", "scado", "scafa", "scafe", "scafi", "scale", "scalo", "scana", "scane", "scapa", "scapi", "scapo", "scari", "scaro", "scasa", "scasi", "scaso", "scava", "scavi", "sceda", "scede", "scema", "sceme", "scemo", "scene", "scesa", "scese", "scesi", "schei", "scifi", "scifo", "scipa", "scipi", "scipo", "scira", "scire", "sciri", "sciro", "scita", "scite", "sciti", "scoda", "scodi", "scodo", "scoia", "scoio", "scola", "scoli", "scope", "scopi", "scora", "score", "scori", "scoro", "scota", "scote", "scoti", "scoto", "scovi", "scovo", "scuce", "scuci", "scuda", "scudi", "scuoi", "scura", "scuri", "scuro", "scuse", "scusi", "scuso", "scuti", "scuto", "sdama", "sdami", "sdamo", "sdare", "sdata", "sdate", "sdati", "sdato", "sdava", "sdavi", "sdavo", "sdazi", "sdica", "sdice", "sdici", "sdico", "sdire", "sdite", "sdoga", "sdogo", "sdora", "sdori", "sdoro", "sdrai", "sduca", "sduco", "secai", "secce", "sechi", "sedai", "sedei", "sedie", "sedio", "segai", "segga", "seggo", "seghi", "segna", "segni", "segua", "segue", "segui", "seini", "seino", "selce", "selfa", "selfi", "selfo", "selle", "selli", "sello", "selve", "semai", "senna", "senne", "senni", "senoi", "sensi", "senta", "sente", "senti", "seppe", "sepsi", "serba", "serbe", "serbi", "seria", "sermo", "serpa", "serpi", "serpo", "serre", "serri", "serti", "serto", "serva", "serve", "servo", "sesia", "sesie", "sessa", "sesse", "sessi", "sesta", "seste", "sesti", "setti", "sezza", "sezze", "sezzi", "sezzo", "sfama", "sfami", "sfare", "sfasa", "sfasi", "sfaso", "sfata", "sfate", "sfati", "sfato", "sfece", "sfeci", "sfere", "sfide", "sfidi", "sfido", "sfiga", "sfili", "sfilo", "sfina", "sfini", "sfino", "sfoca", "sfoci", "sfoco", "sfoga", "sfora", "sfori", "sforo", "sfuma", "sfumi", "sfuri", "sfusa", "sfuse", "sfusi", "sgama", "sgami", "sgamo", "sgara", "sgari", "sgaro", "sgasa", "sgasi", "sgaso", "sgela", "sgeli", "sgelo", "sgola", "sgoli", "sgolo", "sgura", "sguri", "sguro", "shake", "shara", "share", "shari", "sharo", "shina", "shire", "siano", "siate", "siche", "sicli", "siclo", "sidri", "sieda", "siede", "siedo", "siepa", "siepi", "siepo", "sieri", "siete", "sigle", "sigli", "siglo", "sigmi", "sigua", "siici", "siila", "siile", "siili", "siilo", "siimi", "siine", "siiti", "silfi", "silfo", "silli", "sillo", "silos", "silvi", "sipai", "sirma", "sirme", "sirte", "sirti", "sismi", "sismo", "sitai", "sitii", "situa", "situi", "situo", "sizio", "sizza", "sizze", "skate", "skypa", "skypi", "skypo", "slama", "slami", "slamo", "slava", "slave", "slavo", "slebi", "slebo", "slega", "slice", "slide", "sloga", "sluma", "slumi", "slumo", "smaga", "smagi", "smago", "smani", "smela", "smeli", "smelo", "smera", "smeri", "smero", "smile", "smina", "smini", "smino", "smira", "smiri", "smiro", "smisi", "smoda", "smodi", "smodo", "smoke", "smova", "smove", "smovi", "smovo", "smura", "smuri", "smuro", "smusa", "smusi", "smuso", "snasa", "snasi", "snaso", "sneva", "snevi", "snevo", "snida", "snidi", "snido", "snipe", "snoda", "snodo", "snuda", "snudi", "snudo", "soana", "soane", "soani", "soano", "soavi", "socci", "socco", "socia", "socie", "sodai", "sofia", "sofie", "soghe", "sogli", "sogna", "sogni", "solca", "solda", "soldo", "solea", "solee", "solei", "soleo", "solfe", "solfi", "solfo", "solgo", "solio", "solla", "solle", "solli", "sollo", "solta", "solte", "solti", "solto", "solva", "solve", "solvi", "solvo", "somme", "sommi", "somni", "sonai", "sonar", "sonco", "sonde", "sondi", "sondo", "songa", "songe", "songi", "songo", "sonii", "sonio", "sonni", "sopii", "sorai", "sorba", "sorbe", "sorbi", "sorca", "sorda", "sorde", "sordo", "sorga", "sorgi", "sorgo", "sorra", "sorre", "sorsa", "sorse", "sorsi", "sorta", "sorte", "sorti", "soste", "sosti", "sosto", "sotho", "sotta", "sotti", "sovra", "sozio", "sozze", "sozzi", "sozzo", "spade", "spaia", "spaio", "spala", "spali", "spalo", "spana", "spani", "spano", "spara", "spari", "spasa", "spase", "spasi", "spaso", "spata", "spate", "spati", "spato", "speco", "speda", "spedi", "spedo", "spela", "speli", "speme", "spemi", "spene", "speni", "spepa", "spepe", "spere", "speri", "spero", "spese", "spesi", "speso", "spezi", "spiai", "spica", "spigo", "spike", "spina", "spini", "spino", "spire", "spiri", "spiro", "spole", "spone", "sponi", "spora", "sposa", "spose", "sposo", "sprue", "spula", "spuli", "spulo", "spume", "spumi", "spumo", "spura", "spuri", "spuro", "sputa", "sputi", "stage", "staia", "staio", "stame", "stami", "stana", "stani", "stano", "stara", "stari", "staro", "stasa", "stasi", "staso", "stata", "state", "stati", "stava", "stavo", "steca", "stele", "steli", "steno", "steri", "stero", "stese", "stesi", "steso", "stibi", "stici", "stico", "stiga", "stigi", "stigo", "stila", "stili", "stilo", "stime", "stimi", "stimo", "stina", "stini", "stino", "stipa", "stipe", "stipi", "stipo", "stira", "stiri", "stive", "stivi", "stivo", "stoga", "stogo", "stoia", "stoio", "stole", "stoma", "stomi", "stone", "stoni", "stono", "store", "stori", "stria", "strie", "strio", "stufa", "stufe", "stufi", "stura", "sture", "sturi", "stuta", "stuti", "stuto", "style", "suari", "suave", "suavi", "subbi", "subii", "succi", "suchi", "sugai", "sugga", "sugge", "suggi", "suggo", "sugne", "suide", "suidi", "suina", "suine", "suini", "suite", "sulka", "sulla", "sulle", "sullo", "summa", "summe", "sunna", "sunne", "sunti", "suole", "suoli", "suona", "suoni", "suora", "super", "surfa", "surfi", "surfo", "surga", "surge", "surgi", "surgo", "surma", "surra", "surre", "surse", "sursi", "surta", "surte", "surti", "surto", "susci", "sushi", "sussi", "susta", "suste", "sutha", "suthe", "suthi", "sutho", "sutra", "sutri", "sutro", "suzza", "suzzi", "suzzo", "svaga", "svani", "svapa", "svapi", "svapo", "svari", "svasa", "svasi", "svela", "sveli", "svena", "sveni", "sveno", "sveva", "sveve", "svevi", "sviai", "svina", "svini", "svino", "svisa", "svisi", "sviso", "svita", "sviti", "sviva", "svivi", "svivo", "svizi", "svola", "svoli", "svolo", "svota", "svoti", "svoto", "svuoi", "swazi", "tabla", "tacce", "tacci", "taffi", "tafia", "tafie", "tafii", "tafio", "tagga", "taggo", "taide", "taidi", "taiko", "taina", "taine", "taini", "taino", "talee", "talli", "talpe", "tamia", "tanai", "tanca", "tanco", "tanfa", "tanfi", "tanga", "tange", "tanna", "tanni", "tanno", "tanta", "tante", "tanti", "tappa", "tappi", "tarai", "tarda", "tarde", "tardo", "targo", "tarla", "tarli", "tarma", "tarmi", "tarmo", "tarpa", "tarpi", "tarsi", "tasse", "tassi", "tasta", "taste", "tasti", "tatti", "tatua", "tatui", "taura", "taure", "tauri", "tauro", "tazze", "tebea", "tebee", "tebei", "tebeo", "tecca", "tedia", "tegea", "tegee", "tegei", "tegeo", "teghe", "teide", "teidi", "teina", "teine", "teita", "teite", "teiti", "telai", "temei", "tempa", "tempe", "tempi", "tendi", "tendo", "tenei", "tenga", "tenge", "tenie", "tenne", "tenno", "tensa", "tense", "tenta", "tenti", "tenui", "tenza", "tenze", "tepee", "teppe", "terbi", "terge", "tergi", "tergo", "termo", "terne", "terni", "terno", "terre", "terse", "tersi", "terso", "terza", "terze", "terzi", "tesai", "tesla", "tesle", "tessa", "tessi", "tesso", "testi", "tetra", "tetre", "tetri", "tetta", "tette", "tetti", "texta", "texte", "texti", "texto", "theta", "tiade", "tiadi", "tiara", "tiare", "tiasi", "tiaso", "tibie", "tiene", "tifai", "tigne", "tigni", "tigno", "tigra", "tigri", "tigro", "tigua", "tildi", "tilla", "tille", "tilli", "tillo", "timpa", "timpe", "tinca", "tinga", "tinge", "tingi", "tingo", "tinse", "tinsi", "tinte", "tinti", "tinto", "tioli", "tiolo", "tirsi", "tirso", "tizia", "tizie", "tizzi", "tizzo", "tmesi", "toast", "tocai", "tocco", "tochi", "toghi", "tokai", "tolde", "tolga", "tolgo", "tolla", "tolle", "tolse", "tolsi", "tolte", "tolti", "tolto", "tomai", "tombe", "tombi", "tombo", "tonai", "tonde", "tondi", "tondo", "tonfa", "tonfi", "tonia", "tonie", "tonni", "tonta", "tonte", "tonto", "topoi", "toppe", "toppi", "toppo", "toque", "torbe", "torbi", "torbo", "torca", "torci", "torco", "tordi", "torea", "torei", "toreo", "torio", "torli", "torlo", "torma", "torna", "torno", "torri", "torse", "torsi", "torte", "torti", "torva", "torvi", "torvo", "tosca", "tosco", "tossa", "tossi", "tosso", "toste", "tosti", "tosto", "tozze", "tozzi", "tozzo", "trace", "traci", "trade", "trago", "trame", "trami", "tramo", "trana", "trani", "trano", "trans", "trapa", "trape", "trare", "travi", "trema", "tremi", "trena", "treni", "trevi", "trevo", "triai", "tribi", "tribo", "tribu", "triga", "trike", "trina", "trine", "trini", "trita", "trite", "triti", "trivi", "troco", "troia", "troie", "troll", "trona", "trone", "troni", "tropi", "tropo", "trote", "trovi", "trovo", "truca", "truce", "truci", "truka", "truke", "tsuga", "tubai", "tufai", "tuffa", "tuffi", "tughe", "tulio", "tumba", "tunna", "tunne", "tunni", "tunno", "tuona", "tuoni", "turai", "turba", "turbi", "turbo", "turca", "turma", "turme", "turna", "turni", "turpi", "tusca", "tusco", "tutai", "tutor", "tutsi", "tutta", "tutti", "tutto", "tuzia", "tuzie", "ubbie", "ubera", "ubere", "uberi", "ubero", "ubica", "ubico", "ubini", "ubino", "uccia", "uccio", "udita", "udite", "uditi", "udivi", "udivo", "udrai", "udrei", "ufizi", "uggii", "uggio", "ugnai", "ugole", "ukase", "ukiyo", "ulama", "ulani", "ulano", "ulema", "ulese", "ulesi", "ulice", "ulici", "ulite", "uliti", "uliva", "ulive", "ulivi", "ultra", "ulule", "ululi", "ululo", "umane", "umani", "umano", "umata", "umate", "umati", "umato", "umbra", "umbre", "umbri", "umbro", "umica", "umici", "umico", "umide", "umidi", "umido", "umili", "unari", "unica", "unici", "unita", "unite", "uniti", "univi", "univo", "unqua", "unque", "untai", "upupe", "urali", "urati", "urato", "urese", "uresi", "urica", "urici", "urico", "urine", "urini", "urino", "urlii", "urlio", "urone", "uroni", "urtai", "usaci", "usala", "usale", "usali", "usalo", "usami", "usane", "usata", "usate", "usati", "usava", "usavo", "uscii", "usino", "usure", "usuri", "usuro", "uteri", "utese", "utesi", "uvala", "uvale", "uvina", "uvine", "uvola", "uvole", "uvosa", "uvose", "uvosi", "uvoso", "uvula", "uvule", "uxori", "vacai", "vacci", "vachi", "vacua", "vacue", "vacui", "vaffa", "vagai", "vaghi", "vagii", "vagli", "vaiai", "valga", "valla", "valli", "vallo", "valsa", "valse", "valsi", "valso", "valva", "valve", "vammi", "vampa", "vampe", "vampi", "vampo", "vanai", "vanea", "vanei", "vaneo", "vango", "vania", "vanie", "vanii", "vanio", "vanne", "vanni", "vanta", "vanti", "varai", "varca", "varea", "varee", "varia", "vario", "varva", "varve", "vasta", "vaste", "vasti", "vatti", "vauda", "vaude", "vecce", "vecia", "vecio", "vedda", "vegge", "veggi", "velia", "velie", "velli", "velma", "velme", "venai", "venda", "vende", "vendi", "vengi", "vengo", "venie", "venne", "venni", "venta", "vepre", "vepri", "vepsa", "vepse", "vepsi", "vepso", "verbi", "verdi", "verge", "vergi", "vergo", "verla", "verle", "verme", "vermo", "verna", "verne", "verni", "verno", "verri", "verro", "versa", "verse", "verta", "verte", "verti", "verto", "verve", "verze", "vesce", "vespe", "vessa", "vessi", "vesso", "vesta", "vesti", "vesto", "vetri", "vette", "vezzi", "viado", "viali", "viari", "vibri", "vibro", "vichi", "viene", "viera", "viere", "vieri", "viero", "vieta", "viete", "vieti", "vigli", "vigne", "vilai", "vilii", "ville", "villi", "villo", "vimai", "vinca", "vince", "vinci", "vinea", "vinee", "vinsi", "vinta", "vinte", "vinto", "violi", "violo", "vipla", "viple", "virai", "virei", "vireo", "virga", "virgo", "virtu", "visai", "visco", "vispe", "vispi", "vispo", "vissi", "viste", "visti", "vitae", "vitai", "vitro", "vitta", "vitte", "vitti", "vivai", "vizia", "vizza", "vizze", "vizzi", "vocai", "vochi", "vocia", "vocii", "vodka", "vogai", "voghe", "vogli", "voice", "voile", "volca", "volco", "volee", "volga", "volgi", "volgo", "volli", "volpa", "volpi", "volpo", "volse", "volsi", "volte", "volti", "volva", "volve", "volvi", "volvo", "vomii", "vorai", "vosco", "votai", "votii", "vulga", "vulgo", "vulve", "vuota", "vuote", "vuoto", "wakhi", "wasca", "wasce", "wasci", "wasco", "washa", "washe", "washi", "washo", "wayaa", "wayae", "wayai", "wayao", "white", "whiti", "widia", "xenia", "xenie", "xenon", "xhosa", "yagua", "yamea", "yamee", "yamei", "yameo", "yaqui", "yoghi", "yucca", "yuchi", "yurta", "yurte", "zabri", "zabro", "zaffa", "zaffe", "zaffi", "zaffo", "zaina", "zaine", "zaini", "zaire", "zamba", "zambo", "zamia", "zamie", "zampe", "zampi", "zampo", "zanca", "zande", "zanna", "zanni", "zanno", "zappe", "zappi", "zappo", "zarri", "zarro", "zatta", "zatte", "zebre", "zebri", "zebro", "zecco", "zelai", "zenda", "zende", "zendi", "zendo", "zenit", "zeppe", "zeppi", "zerbi", "zerbo", "zerga", "zerge", "zergi", "zergo", "zetti", "zetto", "zifio", "zigai", "zighi", "zigna", "zigni", "zigno", "zilla", "zilli", "zillo", "zinca", "zinia", "zinie", "zinna", "zinne", "zinni", "zinno", "ziona", "zione", "zioni", "zippa", "zippi", "zippo", "zirbi", "zirbo", "zirla", "zirli", "zitta", "zitte", "zitto", "zizza", "zizze", "zoeci", "zolfa", "zolfi", "zolle", "zolli", "zollo", "zomba", "zombi", "zombo", "zompa", "zompi", "zonai", "zooma", "zoomi", "zoomo", "zoppa", "zoppe", "zoppi", "zoque", "zoqui", "zozza", "zozzi", "zozzo", "zuava", "zuave", "zuavi", "zuavo", "zuffe", "zughi", "zumai", "zuppe", "zuppi", "zuppo", "zurla", "zurli", "zurlo"],
Ta = "present",
Ia = "correct",
Ca = "absent";
var Ma = {
unknown: 0,
absent: 1,
present: 2,
correct: 3
};
function Oa(e, a) {
var s = {};
return e.forEach((function(e, t) {
if (a[t])
for (var o = 0; o < e.length; o++) {
var r = e[o],
n = a[t][o],
i = s[r] || "unknown";
Ma[n] > Ma[i] && (s[r] = n)
}
})), s
}
var Ra = new Date(2022, 0, 3, 0, 0, 0, 0);
function $a(e, a) {
var s = new Date(e),
t = new Date(a).setHours(0, 0, 0, 0) - s.setHours(0, 0, 0, 0);
return Math.floor(t / 864e5)
}
function Pa(e) {
var a, s = Na(e);
return a = s % Aa.length, Aa[a]
}
function Na(e) {
return $a(Ra, e)
}
var Ha, Ga = "abcdefghijklmnopqrstuvwxyz";
function Da() {
dataLayer.push(arguments)
}
window.dataLayer = window.dataLayer || [], Da("js", new Date);
Da("config", "G-2SSGMHY3NP", {
app_version: null === (Ha = window.wordle) || void 0 === Ha ? void 0 : Ha.hash,
debug_mode: !1
});
var Ba = [].concat(g(Ga.split("").slice(13)), g(Ga.split("").slice(0, 13)));
function Fa(e) {
for (var a = "", s = 0; s < e.length; s++) {
var t = Ga.indexOf(e[s]);
a += t >= 0 ? Ba[t] : "_"
}
return a
}