summaryrefslogtreecommitdiffstats
path: root/silpa/modules
diff options
context:
space:
mode:
authorPraveen Arimbrathodiyil <pravi.a@gmail.com>2009-05-20 18:06:11 -0700
committerPraveen Arimbrathodiyil <pravi.a@gmail.com>2009-05-20 18:06:11 -0700
commit83cdafaa88657c95f20c9d493d37ccebd86c1b80 (patch)
treef391004005fbe9a1186bdc11748d4a15c2a39d85 /silpa/modules
parent1e1a97cc8c9fddf411e6b2aca307de0b165dac48 (diff)
parent5a2dfd79178371a529053795d90b48dd96421d88 (diff)
downloadAnjaliOldLipi.git-83cdafaa88657c95f20c9d493d37ccebd86c1b80.tar.gz
AnjaliOldLipi.git-83cdafaa88657c95f20c9d493d37ccebd86c1b80.tar.xz
AnjaliOldLipi.git-83cdafaa88657c95f20c9d493d37ccebd86c1b80.zip
Merge branch 'master' of git://git.savannah.nongnu.org/smc
Diffstat (limited to 'silpa/modules')
-rw-r--r--silpa/modules/__init__.py14
-rw-r--r--silpa/modules/anagram/__init__.py4
-rw-r--r--silpa/modules/anagram/anagram.py105
-rw-r--r--silpa/modules/dictionary/dictionary.py72
-rw-r--r--silpa/modules/fortune/__init__.py4
-rw-r--r--silpa/modules/fortune/database/fortune-ml670
-rw-r--r--silpa/modules/fortune/database/fortune-ml.datbin0 -> 1364 bytes
-rw-r--r--silpa/modules/fortune/fortune.py62
-rw-r--r--silpa/modules/guesslanguages/guess_language.py562
-rw-r--r--silpa/modules/guesslanguages/trigrams/af301
-rw-r--r--silpa/modules/guesslanguages/trigrams/ar300
-rw-r--r--silpa/modules/guesslanguages/trigrams/az300
-rw-r--r--silpa/modules/guesslanguages/trigrams/bg300
-rw-r--r--silpa/modules/guesslanguages/trigrams/ca300
-rw-r--r--silpa/modules/guesslanguages/trigrams/ceb300
-rw-r--r--silpa/modules/guesslanguages/trigrams/cs300
-rw-r--r--silpa/modules/guesslanguages/trigrams/cy300
-rw-r--r--silpa/modules/guesslanguages/trigrams/da300
-rw-r--r--silpa/modules/guesslanguages/trigrams/de300
-rw-r--r--silpa/modules/guesslanguages/trigrams/en300
-rw-r--r--silpa/modules/guesslanguages/trigrams/es300
-rw-r--r--silpa/modules/guesslanguages/trigrams/et300
-rw-r--r--silpa/modules/guesslanguages/trigrams/eu300
-rw-r--r--silpa/modules/guesslanguages/trigrams/fa300
-rw-r--r--silpa/modules/guesslanguages/trigrams/fi300
-rw-r--r--silpa/modules/guesslanguages/trigrams/fr300
-rw-r--r--silpa/modules/guesslanguages/trigrams/ha300
-rw-r--r--silpa/modules/guesslanguages/trigrams/haw300
-rw-r--r--silpa/modules/guesslanguages/trigrams/hi300
-rw-r--r--silpa/modules/guesslanguages/trigrams/hr300
-rw-r--r--silpa/modules/guesslanguages/trigrams/hu300
-rw-r--r--silpa/modules/guesslanguages/trigrams/id300
-rw-r--r--silpa/modules/guesslanguages/trigrams/is300
-rw-r--r--silpa/modules/guesslanguages/trigrams/it300
-rw-r--r--silpa/modules/guesslanguages/trigrams/kk300
-rw-r--r--silpa/modules/guesslanguages/trigrams/ky300
-rw-r--r--silpa/modules/guesslanguages/trigrams/la300
-rw-r--r--silpa/modules/guesslanguages/trigrams/lt300
-rw-r--r--silpa/modules/guesslanguages/trigrams/lv300
-rw-r--r--silpa/modules/guesslanguages/trigrams/mk300
-rw-r--r--silpa/modules/guesslanguages/trigrams/mn300
-rw-r--r--silpa/modules/guesslanguages/trigrams/nb300
-rw-r--r--silpa/modules/guesslanguages/trigrams/ne300
-rw-r--r--silpa/modules/guesslanguages/trigrams/nl300
-rw-r--r--silpa/modules/guesslanguages/trigrams/nr301
-rw-r--r--silpa/modules/guesslanguages/trigrams/nso301
-rw-r--r--silpa/modules/guesslanguages/trigrams/pl300
-rw-r--r--silpa/modules/guesslanguages/trigrams/ps300
-rw-r--r--silpa/modules/guesslanguages/trigrams/pt300
-rw-r--r--silpa/modules/guesslanguages/trigrams/pt_BR300
-rw-r--r--silpa/modules/guesslanguages/trigrams/pt_PT300
-rw-r--r--silpa/modules/guesslanguages/trigrams/ro300
-rw-r--r--silpa/modules/guesslanguages/trigrams/ru300
-rw-r--r--silpa/modules/guesslanguages/trigrams/sk300
-rw-r--r--silpa/modules/guesslanguages/trigrams/sl300
-rw-r--r--silpa/modules/guesslanguages/trigrams/so300
-rw-r--r--silpa/modules/guesslanguages/trigrams/sq300
-rw-r--r--silpa/modules/guesslanguages/trigrams/sr300
-rw-r--r--silpa/modules/guesslanguages/trigrams/ss301
-rw-r--r--silpa/modules/guesslanguages/trigrams/st301
-rw-r--r--silpa/modules/guesslanguages/trigrams/sv300
-rw-r--r--silpa/modules/guesslanguages/trigrams/sw300
-rw-r--r--silpa/modules/guesslanguages/trigrams/tl300
-rw-r--r--silpa/modules/guesslanguages/trigrams/tlh300
-rw-r--r--silpa/modules/guesslanguages/trigrams/tn301
-rw-r--r--silpa/modules/guesslanguages/trigrams/tr300
-rw-r--r--silpa/modules/guesslanguages/trigrams/ts301
-rw-r--r--silpa/modules/guesslanguages/trigrams/uk300
-rw-r--r--silpa/modules/guesslanguages/trigrams/ur300
-rw-r--r--silpa/modules/guesslanguages/trigrams/uz300
-rw-r--r--silpa/modules/guesslanguages/trigrams/ve301
-rw-r--r--silpa/modules/guesslanguages/trigrams/xh301
-rw-r--r--silpa/modules/guesslanguages/trigrams/zu301
-rw-r--r--silpa/modules/hyphenator/__init__.py3
-rw-r--r--silpa/modules/hyphenator/hyphenator.py281
-rw-r--r--silpa/modules/hyphenator/rules/hyph_bn_IN.dic83
-rw-r--r--silpa/modules/hyphenator/rules/hyph_en_US.dic9784
-rw-r--r--silpa/modules/hyphenator/rules/hyph_gu_IN.dic86
-rw-r--r--silpa/modules/hyphenator/rules/hyph_hi_IN.dic92
-rw-r--r--silpa/modules/hyphenator/rules/hyph_kn_IN.dic91
-rw-r--r--silpa/modules/hyphenator/rules/hyph_ml_IN.dic93
-rw-r--r--silpa/modules/hyphenator/rules/hyph_or_IN.dic85
-rw-r--r--silpa/modules/hyphenator/rules/hyph_pa_IN.dic83
-rw-r--r--silpa/modules/hyphenator/rules/hyph_ta_IN.dic77
-rw-r--r--silpa/modules/hyphenator/rules/hyph_te_IN.dic91
-rw-r--r--silpa/modules/inexactsearch/__init__.py4
-rw-r--r--silpa/modules/inexactsearch/inexactsearch.py173
-rw-r--r--silpa/modules/lemmatizer/__init__.py4
-rw-r--r--silpa/modules/lemmatizer/lemmatizer.py131
-rw-r--r--silpa/modules/lemmatizer/lemmatizer_ml.rules193
-rw-r--r--silpa/modules/ngram/algorithm23
-rw-r--r--silpa/modules/ngram/ml.txt1
-rw-r--r--silpa/modules/ngram/ngram.py347
-rw-r--r--silpa/modules/ngram/ngram_ml.txt238
-rw-r--r--silpa/modules/ngram/sample_ngram.py82
-rw-r--r--silpa/modules/ngram/visualizer.py110
-rw-r--r--silpa/modules/paralperu/paralperu.py139
-rw-r--r--silpa/modules/payyans/maps/ambili.map191
-rw-r--r--silpa/modules/payyans/maps/indulekha.map160
-rw-r--r--silpa/modules/payyans/maps/karthika.map157
-rw-r--r--silpa/modules/payyans/maps/manorama.map113
-rw-r--r--silpa/modules/payyans/maps/revathi.map131
-rw-r--r--silpa/modules/payyans/maps/template.map189
-rw-r--r--silpa/modules/payyans/payyans.py326
-rw-r--r--silpa/modules/syllabalizer/syllabalizer.py191
-rw-r--r--silpa/modules/transliterator/transliterate.py148
106 files changed, 34603 insertions, 0 deletions
diff --git a/silpa/modules/__init__.py b/silpa/modules/__init__.py
new file mode 100644
index 0000000..78f7b19
--- /dev/null
+++ b/silpa/modules/__init__.py
@@ -0,0 +1,14 @@
+#! /usr/bin/env python
+# -*- coding: utf-8 -*-
+from stemmer import *
+from payyans import *
+from transliterator import *
+from syllabalizer import *
+from guesslanguages import *
+from hyphenator import *
+from fortune import *
+from inexactsearch import *
+from dictionary import *
+from anagram import *
+from normalizer import *
+
diff --git a/silpa/modules/anagram/__init__.py b/silpa/modules/anagram/__init__.py
new file mode 100644
index 0000000..34480c2
--- /dev/null
+++ b/silpa/modules/anagram/__init__.py
@@ -0,0 +1,4 @@
+#! /usr/bin/env python
+# -*- coding: utf-8 -*-
+import anagram
+
diff --git a/silpa/modules/anagram/anagram.py b/silpa/modules/anagram/anagram.py
new file mode 100644
index 0000000..0147c43
--- /dev/null
+++ b/silpa/modules/anagram/anagram.py
@@ -0,0 +1,105 @@
+#Anagram Maker
+import random
+import array
+import sys
+from common import *
+class Anagram(SilpaModule):
+ def getRandomWord (self):
+ words = [ i.rstrip () for i in file ('./modules/anagram/ml_IN.dic') ]
+ len_words = len (words)
+ randnum=random.randrange(0,len_words)
+ return [randnum,words[randnum].decode("utf-8")]
+
+ def syllabalize_ml(self,text):
+ signs = [
+ u'\u0d02', u'\u0d03', u'\u0d3e', u'\u0d3f', u'\u0d40', u'\u0d41',
+ u'\u0d42', u'\u0d43', u'\u0d44', u'\u0d46', u'\u0d47', u'\u0d48',
+ u'\u0d4a', u'\u0d4b', u'\u0d4c', u'\u0d4d']
+ limiters = ['.','\"','\'','`','!',';',',','?']
+
+ chandrakkala = u'\u0d4d'
+ lst_chars = []
+ for char in text:
+ if char in limiters:
+ lst_chars.append(char)
+ elif char in signs:
+ lst_chars[-1] = lst_chars[-1] + char
+ else:
+ try:
+ if lst_chars[-1][-1] == chandrakkala:
+ lst_chars[-1] = lst_chars[-1] + char
+ else:
+ lst_chars.append(char)
+ except IndexError:
+ lst_chars.append(char)
+
+ return lst_chars
+
+ def scramble(self, word):
+ newword = ""
+ randused = []
+ i=0
+ while i < len(word):
+ randnum=random.randrange(0, len(word))
+ if randnum not in randused:
+ randused.append(randnum)
+ #oldchar=word[i]
+ newword=newword+word[randnum]
+ i+=1
+ #newword[randnum]=oldchar
+ return newword
+
+ def check_answer(self,ans_hint):
+ words = [ i.rstrip () for i in file ('./modules/anagram/ml_IN.dic') ]
+ return words[ans_hint].decode("utf-8")
+
+ def anagram(self):
+ ans_hint,orig_word=self.getRandomWord()
+ scrambled_word=self.scramble(self.syllabalize_ml(orig_word))
+ return [ans_hint, scrambled_word]
+
+ def process(self, form):
+ response = """
+ <h2>Malayalam Anagram</h2></hr>
+ <p>Find out the original word from the scrambled word given below.
+ </p>
+ <form action="" method="post">
+ %s
+ <br/>
+ <input type="hidden" name="ans_hint" value="%s">
+ <input type="hidden" name="action" value="Anagram">
+ <input type="text" cols='100' name='input_text' id='input_text' value="%s"/>
+ <br/>
+ <input type="submit" id="anagram" value="Submit" style="width:12em;"/>
+ <br/>
+ </form>
+ """
+ if(form.has_key('input_text')):
+ text = form['input_text'].value .decode('utf-8')
+ ans_hint= int(form['ans_hint'].value)
+ answer=self.check_answer(ans_hint)
+ if(answer==text):
+ response = response+"<h2>You are correct!</h2></hr>"
+ response = response+"<b>Answer: "+answer+"</b>"
+ else:
+ response = response+"<h2>Your Answer is Wrong!</h2></hr>"
+ response = response+"<b>Answer: "+answer+"</b>"
+ response=response % (answer ,ans_hint,text)
+ else:
+ text=""
+ anagram_pair=self.anagram()
+ ans_hint=anagram_pair[0]
+ qn_word=anagram_pair[1]
+ response=response % (qn_word ,ans_hint,text)
+ return response
+ def get_module_name(self):
+ return "Malayalam Anagram"
+ def get_info(self):
+ return "Find out the original word from scrambled word!"
+def getInstance():
+ return Anagram()
+
+if __name__ == "__main__":
+ anagram = Anagram()
+ pair=anagram.anagram()
+ print pair[0]+"-->"+pair[1]
diff --git a/silpa/modules/dictionary/dictionary.py b/silpa/modules/dictionary/dictionary.py
new file mode 100644
index 0000000..4de0f76
--- /dev/null
+++ b/silpa/modules/dictionary/dictionary.py
@@ -0,0 +1,72 @@
+#! /usr/bin/env python
+# -*- coding: utf-8 -*-
+# English Malayalam Dictionary
+# Copyright 2008 Santhosh Thottingal <santhosh.thottingal@gmail.com>
+# http://www.smc.org.in
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Library General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+#
+# If you find any bugs or have any suggestions email: santhosh.thottingal@gmail.com
+# URL: http://www.smc.org.in
+
+
+from common import *
+import os
+import pickle
+class Dictionary(SilpaModule):
+
+ def lookup_en_ml(self, key):
+ key=key.lower()
+ self.dictFile=os.path.dirname(__file__) + "/data/dict.dat"
+ pickled_dict=open(self.dictFile,'r')
+ self.dictionary=pickle.load(pickled_dict)
+ meaning=""
+ if self.dictionary.has_key(key):
+ meaningList=self.dictionary[key]
+ for meaning_item in meaningList:
+ meaning=meaning+meaning_item.strip() +"<br/>"
+ else :
+ meaning="No Meaning found"
+ return meaning.decode('utf-8')
+ def process(self,form):
+ response = """
+ <h2>English Malayalam Dictionary</h2></hr>
+ <p>Enter the word to lookup in the dictionary
+ </p>
+ <form action="" method="post">
+ <input type="text" value="%s" name="word"/>
+ <input type="hidden" name="action" value="Dictionary">
+ <input type="submit" id="Find_Meaning" value="Find Meaning" style="width:12em;"/>
+ </br>
+ </form>
+ """
+ if(form.has_key('word')):
+ search_key = form['word'].value
+ response=response % search_key
+ response = response+"<h2>Search Results</h2></hr>"
+ if(search_key==None):
+ response = response+ "Enter a word to find meaning."
+ else:
+ response = response+ self.lookup_en_ml(search_key)
+ else:
+ response=response % ""
+ return response
+ def get_module_name(self):
+ return "English Malayalam Dictionary"
+ def get_info(self):
+ return "English Malayalam Dictionary. Dictionary is compiled by Kerala state IT Mission"
+
+def getInstance():
+ return Dictionary()
diff --git a/silpa/modules/fortune/__init__.py b/silpa/modules/fortune/__init__.py
new file mode 100644
index 0000000..f56d451
--- /dev/null
+++ b/silpa/modules/fortune/__init__.py
@@ -0,0 +1,4 @@
+#! /usr/bin/env python
+# -*- coding: utf-8 -*-
+import fortune
+
diff --git a/silpa/modules/fortune/database/fortune-ml b/silpa/modules/fortune/database/fortune-ml
new file mode 100644
index 0000000..b5fe5fd
--- /dev/null
+++ b/silpa/modules/fortune/database/fortune-ml
@@ -0,0 +1,670 @@
+ആന വലിച്ചാല്‍ ഇളാകാത്തൊരുതടി ശ്വാവിനെക്കൊണ്ട് ഗമിക്കായി വരുമൊ
+%
+അണ്ണാന്‍ കുഞ്ഞും തന്നാലയത്
+%
+കാക്ക കുളിച്ചാല്‍ കൊക്കാകുമോ
+%
+ചെമ്മീന്‍ തുള്ളിയാല്‍ മുട്ടോളം പിന്നെയും തുള്ളിയാല്‍ ചട്ടീല്
+%
+അരിയെറിഞ്ഞാല്‍ ആയിരം കാക്ക
+%
+കാക്കയ്ക്കും തന്‍കുഞ്ഞ് പൊന്‍കുഞ്ഞ്
+%
+കുറുക്കന്‍ ചത്താലും കണ്ണ് കോഴിക്കൂട്ടില്
+%
+പൂച്ചയ്ക്കെന്ത് പൊന്നുരുക്കുന്നിടത്ത് കാര്യം
+%
+പൂച്ചയ്ക്കാര് മണികെട്ടും
+%
+ആലിന്‍പഴം പഴുത്തപ്പോള്‍ കാക്കയ്ക്ക് വായപ്പുണ്ണ്
+%
+ആന മെലിഞ്ഞാല്‍ തൊഴുത്തില്‍ കെട്ടാമോ
+%
+ആളുകൂടിയാള്‍ പാമ്പ് ചാവില്ല
+%
+പട്ടിയുടെ വാല് കുഴലിലിട്ടാല്‍ പന്തീരാണ്ട് കഴിഞ്ഞാലും നിവരില്ല
+%
+വെട്ടാന്‍ വരുന്ന പോത്തിനോട് വേദമോതാന്‍ നില്‍ക്കരുത്
+%
+ആന വായില്‍ അമ്പഴങ്ങ
+%
+ആന വാ പൊളിക്കുന്നത് കണ്‍ടിട്ട് അണ്ണാന്‍ വാ പൊളിച്ചാല്‍ കാര്യമില്ല
+%
+നിത്യഭ്യാസി ആനയെ എടുക്കും
+%
+പൊന്‍മുട്ടയിടുന്ന താറാവിനെ കൊല്ലരുത്
+%
+വേലി ചാടുന്ന പശുവിനു കോലുകൊണ്ട് മരണം
+%
+പാണ്ടന്‍ നായുടെ പല്ലിനു ശൗര്യം പണേ`ട പോല ഫലിയ്‌ക്കുന്നില്ല.
+%
+വെട്ടാന്‍ വരുന്ന പോത്തിനൊടു വേദമൊതിട്ടു കാര്യമില്ല.
+%
+പട്ടി കുരച്ചാല്‍ പടിപ്പുര തുറക്കുമൊ?
+%
+നാ(നായ)നാ ആയിരുന്നാല്‍ പുലി കാട്ടം (കാഷ്ട്ം)ഇടും
+%
+ഇരിക്കേണ്ടവന്‍ ഇരിക്കേണ്ടിടത്തിരുന്നില്ലെകില്‍ അവിടെ പട്ടി കയറി ഇരിക്കും
+%
+എലിയെ പേടിച്ച് ഇല്ലം ചുട്ടു
+%
+ഇള നാ കടി അറിയുമോ ഇളംപോത്ത് വെട്ടറിയുമോ?
+%
+അരിയും തിന്നു ആശാരിച്ചിയേം കടിച്ചിട്ട്‌ പിന്നേം നായക്ക്‌ മുറുമുറുപ്പ്
+%
+പശു കിഴടായാലും പാലിന്റെ രുചിയറിയുമോ
+%
+ആടറിയുമോ അങ്ങാടിവാണിഭം
+%
+കരിമ്പുകൊണ്ടടിച്ച കഴുത കരിമ്പിന്‍ രുചിയറിയുമോ
+%
+പാണനു് ആന മൂധേവി.
+%
+പൂട്ടുന്ന കാളയെന്തിനു വിതയ്ക്കുന്ന വിത്തറിയുന്നു
+%
+ഗതികെട്ടാല്‍ പുലി പുല്ലും തിന്നും
+%
+അങ്ങാടിപ്പയ്യ് ആലയില്‍ നില്‍ക്കില്ല.
+%
+അടിതെറ്റിയാല്‍ ആനയും വീഴും
+%
+കുടല്‍ കാഞ്ഞാല്‍ കുതിരവയ്ക്കോലും തിന്നും
+%
+പാമ്പിനു പാലു കൊടുത്താലും ഛര്‍ദ്ദിക്കുന്നതു വിഷം
+%
+ഗരുഡന്‍ ആകാശത്തില്‍ പറക്കും, ഈച്ച അങ്കണത്തില്‍ പറക്കും
+%
+ഒരു വെടിക്കു രണ്ടു പക്ഷി
+%
+കുരക്കുന്ന പട്ടി കടിക്കില്ല
+%
+പട്ടിക്കു രോമം കിളിര്‍ത്തിട്ട് അമ്പട്ടനെന്ത് കാര്യം
+%
+നടുക്കടലിലും നായ നക്കിയേ കുടിക്കൂ
+%
+അച്ഛന്‍ ആനപ്പുറത്ത് കയറിയാല്‍ മകന് തഴമ്പുണ്ടാകുമോ
+%
+അണ്ണാന്‍ മൂത്താലും മരം കേറ്റം മറക്കുമോ
+%
+ഓടുന്ന പട്ടിയ്ക്കു ഒരു മുഴം മുന്‍പെ
+%
+അണാനെ മരം കയറ്റം പഠിപ്പിക്കണൊ?
+%
+വെടിക്കെട്ടുകരെന്റെ പട്ടിയെ ഉടുക്ക് കൊട്ടി പേടിപ്പിക്കരുത്
+%
+അമ്മായിയമ്മയ്ക്ക് അടുപ്പിലും തൂറാം; മരുമകള്‍ക്ക് വളപ്പിലും പാടില്ല
+%
+പെണ്ണൊരുമ്പിട്ടാല്‍ ബ്രഹ്മനും തടുക്കയില്ല
+%
+പെണ്ണായി പിറന്നാല്‍ മണ്ണായി തീരും വരെ കണ്ണീരു കുടിക്കണം‍
+%
+മകം പിറന്ന മങ്ക
+%
+പെണ്‍ചിത്തിര പൊന്‍ചിത്തിര
+%
+പെണ്‍കാര്യം വന്‍കാര്യം
+%
+പെണ്ണിനു പെണ്‍ തന്നെ സ്ത്രീധനം
+%
+പെറ്റവള്‍ക്കറിയാം പിള്ളവരുത്തം
+%
+അമ്മയോളം സ്ഥായി മക്കള്‍ക്കുണ്ടെങ്കില്‍ പേരാറ്റിലെ വെള്ളം മേല്പോട്ട്
+%
+അമ്മയില്ലെങ്കില്‍ ഐശ്വര്യമില്ല
+%
+നാരീശാപം ഇളക്കിക്കൂട
+%
+അമ്മയുടെ ശാപം അമ്മ ചത്താലും തീരുകില്ല
+%
+പെണ്‍പിറന്ന വീടു പോലെ
+%
+ഇല്ലത്തു പെണ്‍പെറ്റപോലെ
+%
+മുടിയാന്‍കാലത്തു്‌ മുന്നലപുരത്തൂന്നൊരു പെണ്ണു കെട്ടി,അവളും മുടിഞ്ഞു,ഞാനും മുടിഞ്ഞു
+%
+മണ്ണും പെണ്ണും നന്നാക്കുന്ന പോലെ
+%
+പെണ്ണിനേയും മണ്ണിനേയും ദണ്ഡിക്കുന്തോറും ഗുണമേറും
+%
+നായും നാരിയും ഇഞ്ചയും ചതയ്ക്കുന്നിടത്തോളം നന്നാവും
+%
+പെണ്ണാകുന്നതില്‍ ഭേദം മണ്ണാകുന്നതു
+%
+പെണ്‍ചിരിച്ചാല്‍ പോയി,പുകയില വിടര്‍ത്തിയാല്‍ പോയി
+%
+പാമ്പിനു തല്ലുകൊള്ളാന്‍ വാലു പെണ്ണിനു തല്ലു കൊള്ളാന്‍ നാവു്‌
+%
+അമ്മായി ഉടച്ചത്‌ മണ്‍ച്ചട്ടി ,മരുമകള്‍ ഉടച്ചത്‌ പൊന്‍ച്ചട്ടി
+%
+അറിവതു പെരുകിയാലും മുന്നറിവു പെണ്ണിനില്ല
+%
+പെണ്‍ബുദ്ധി പിന്‍ബുദ്ധി
+%
+സ്ത്രീകളുടെ മുടിക്കു നീളം കൂടും,പക്ഷേ ബുദ്ധിക്കു കുറയും
+%
+പെണ്‍ചൊല്ലു കേള്‍ക്കുന്നവനു പെരുവഴി
+%
+അച്ചിക്ക്‌ ഇഞ്ചി പക്ഷം ,നായര്‍ക്ക്‌ കൊഞ്ച്‌ പക്ഷം
+%
+പെണ്‍പട പടയല്ല്ല,മണ്‍ചിറ ചിറയല്ല
+%
+നാരി നടിച്ചിടം നാരകം വെച്ചിടം കൂവളം കെട്ടെടം നായ് പെറ്റടം
+%
+നാരി പിറന്നേടത്തും നാരകം നട്ടേടത്തും കൂവളം കെട്ടേടത്തും സൂക്ഷിച്ചു പോണം
+%
+അന്നു പെറ്റു അന്നു ചത്താലും ആണിനെപ്പെറണം
+%
+അമ്മയും മകളും പെണ്ണു തന്നെ
+%
+നാലാമത്തെ പെണ്ണു നടക്കല്ലു പൊളിക്കും
+%
+അമ്മ മതില്‍ ചാടിയാല്‍ മകള്‍ ഗോപുരം ചാടും
+%
+അമ്മയ്ക്കു പ്രസവവേദന മകള്‍ക്കു വീണവായന
+%
+വേലക്കള്ളിക്കു പിള്ളസാക്ഷി
+%
+പുത്തനച്ചി പുരപ്പുറം തൂക്കും
+%
+അരിമണിയൊന്ന് കൊറിക്കനില്ല കരിവളയിട്ട്‌ കില്ലുക്കാന്‍ മോഹം
+%
+അടുക്കളപ്പെണ്ണിനു അഴകു വേണമോ?
+%
+അടുക്കള പിണക്കം അടക്കി വയ്ക്കണം
+%
+പെണ്ണൊക്കെ കൊള്ളാം പക്ഷെ പെങ്ങളായിപ്പോയി
+%
+കറിയൊക്കെ കൊള്ളാം പക്ഷെ വിളമ്പിയത് കോളാമ്പിയില്‍ ആയിപ്പോയി
+%
+ഓണത്തപ്പാ കുടവയറാ എന്നു തീരും തിരുവോണം?
+%
+ഓണത്തേക്കാള്‍ വലിയ വാവില്ല
+%
+അത്തം പത്തോണം
+%
+ഓണം വന്നാലും ഉണ്ണി പിറന്നാലും കോരനു കുമ്പിളില്‍ തന്നെ കഞ്ഞി
+%
+കാണം വിറ്റും ഓണമുണ്ണണം
+%
+ഉള്ളതുകൊണ്ടു ഓണം പോലെ
+%
+ഓണം കേറാമൂല
+%
+തിരുവോണം തിരുതകൃതി
+%
+ഉത്രാടമുച്ച കഴിഞ്ഞാല്‍ അച്ചിമാര്‍ക്കൊക്കെയും വെപ്രാളം
+%
+തിരുവോണത്തിനില്ലാത്തതു തിരുവാതിരയ്ക്കു്‌
+%
+ഉണ്ടെങ്കിലോണം പോലെ അല്ലെങ്കിലേകാദശി
+%
+അത്തപ്പത്തോണം വന്നടുത്തെടോ നായരേ,ചോതി പുഴുങ്ങാനും നെല്ലു തായോ
+%
+ഓണമുണ്ട വയറേ ചൂള പാടുകയുള്ളൂ
+%
+ഓണം വരാനൊരു മൂലം വേണം
+%
+ഉറുമ്പു ഓണം കരുതും പോലെ
+%
+അത്തം വെളുത്താല്‍ ഓണം കറുക്കും
+%
+ഓണം കഴിഞ്ഞാല്‍ ഓലപ്പുര ഓട്ടപ്പുര
+%
+ഓണം പോലെയാണോ തിരുവാതിര?
+%
+അവിട്ടക്കട്ട ചവിട്ടി പൊട്ടിക്കണം
+%
+ഓണം മുഴക്കോലുപോലെ
+%
+ഓണത്തിനടയ്ക്കാണോ പുട്ടു കച്ചോടം?
+%
+അത്തം പത്തിനു പൊന്നോണം
+%
+ഓണത്തിനല്ലയൊ ഓണപ്പുടവ
+%
+മുളയിലേ നുള്ളണമെന്നല്ലേ
+%
+വിളയുന്ന വിത്തു മുളയിലറിയാം
+%
+കുംഭത്തില്‍ മഴ പെയ്താല്‍ കുപ്പയിലും മാണിക്യം
+%
+മീനത്തില്‍ മഴ പെയ്താല്‍ മീനിനും ഇരയില്ല
+%
+മകരത്തില്‍ മഴ പെയ്താല്‍ മലയാളം മുടിഞ്ഞു പോകും
+%
+തുലാപത്ത് കഴിഞ്ഞാല്‍ പിലാപൊത്തിലും കിടക്കാം
+%
+ഇടവംതൊട്ട് തുലാത്തോളം കുട കൂടാതിറങ്ങൊല്ല
+%
+മേടം തെറ്റിയാല്‍ മോടന്‍ തെറ്റി
+%
+വിത്തുഗുണം പത്തുഗുണം
+%
+മുളയിലറിയാം വിള
+%
+കാര്‍ത്തിക കഴിഞ്ഞാല്‍ മഴയില്ല
+%
+തിരുവാതിര ഞാറ്റുവേലയ്ക്കു വെള്ളം കേറിയാല്‍ ഓണം കഴിഞ്ഞേ ഇറങ്ങൂ
+%
+കര്‍ക്കിടകച്ചേന കട്ടിട്ടെങ്കിലും തിന്നണം
+%
+കര്‍ക്കിടക ഞാറ്റില്‍ പട്ടിണി കിടന്നതു പുത്തിരി കഴിഞ്ഞാല്‍ മറക്കരുതു്‌
+%
+കണ്ടം വിറ്റു കാളയെ വാങ്ങുമോ
+%
+വേരു വെട്ടിക്കളഞ്ഞു കൊമ്പു്‌ നനയ്ക്കുന്ന പൊലെ
+%
+ധനം നില്പതു നെല്ലില്‍, ഭയം നില്പതു തല്ലില്‍
+%
+ഉരിയരിക്കാരനു എന്നും ഉരിയരി തന്നെ
+%
+വളമേറിയാല്‍ കൂമ്പടയ്ക്കും
+%
+വിത്തുള്ളടത്തു പേരു
+%
+പതിരില്ലാത്ത കതിരില്ല
+%
+വയലു വറ്റി കക്ക വാരാനിരുന്നാലോ
+%
+വിത്താഴം ചെന്നാല്‍ പത്തായം നിറയും
+%
+ഇല്ലംനിറ വല്ലം നിറ പെട്ടി നിറ പത്തായം നിറ
+%
+കാലത്തേ വിതച്ചാല്‍ നേരത്തേ കൊയ്യാം
+%
+വേരിനു വളം വയ്ക്കാതെ തലയ്ക്കു വളം വച്ചിട്ടെന്തു കാര്യം
+%
+കാറ്റുള്ളപ്പോള്‍ തൂറ്റണം
+%
+നട്ടാലേ നേട്ടമുള്ളൂ
+%
+കാലം നോക്കി കൃഷി
+%
+മണ്ണറിഞ്ഞു വിത്തു്‌
+%
+വരമ്പു ചാരി നട്ടാല്‍ ചുവരു ചാരിയുണ്ണാം
+%
+വിളഞ്ഞ കണ്ടത്തില്‍ വെള്ളം തിരിക്കണ്ട
+%
+മുന്‍വിള പൊന്‍വിള
+%
+വിളഞ്ഞാല്‍ പിന്നെ വച്ചേക്കരുതു്‌
+%
+വര്‍ഷം പോലെ കൃഷി
+%
+മണ്ണു വിറ്റു പൊന്നു വാങ്ങരുതു്‌
+%
+ആഴത്തില്‍ ഉഴുതു അകലെ നടണം
+%
+നല്ല വിത്തോടു കള്ളവിത്തു വിതച്ചാല്‍ നല്ല വിത്തും കള്ളവിത്താകും
+%
+മത്ത കുത്തിയാല്‍ കുമ്പളം മുളക്കില്ല
+%
+നവര വിതച്ചാല്‍ തുവര കായ്ക്കുമോ
+%
+പൊക്കാളി വിതച്ചാല്‍ ആരിയന്‍ കൊയ്യുമോ?
+%
+ആരിയന്‍ വിതച്ചാ നവര കൊയ്യാമോ
+%
+പൊന്നാരം വിളഞ്ഞാല്‍ കതിരാവില്ല
+%
+വിതച്ചതു കൊയ്യും
+%
+വിത്തിനൊത്ത വിള
+%
+വിത്തൊന്നിട്ടാല്‍ മറ്റൊന്നു വിളയില്ല
+%
+വിത്തെടുത്തുണ്ണരുതു്
+%
+മുള്ളു നട്ടവന്‍ സൂക്ഷിക്കണം
+%
+തിന വിതച്ചാല്‍ തിന കൊയ്യും, വിന വിതച്ചാല്‍ വിന കൊയ്യും
+%
+കൂര വിതച്ചാല്‍ പൊക്കാളിയാവില്ല
+%
+കണ്ണീരില്‍ വിളഞ്ഞ വിദ്യയും വെണ്ണീരില്‍ വിളഞ്ഞ നെല്ലും
+%
+എളിയവരും ഏത്തവാഴയും ചവിട്ടും തോറും തഴയ്ക്കും
+%
+നല്ല തെങ്ങിനു നാല്പതു‍ മടല്‍
+%
+പൂട്ടുന്ന കാളയെന്തിനു വിതയ്ക്കുന്ന വിത്തറിയുന്നു
+%
+അടയ്ക്കയായാല്‍ മടിയില്‍ വയ്ക്കാം അടയ്ക്കാ മരമായാല്‍
+%
+അകത്ത് കത്തിയും പുറത്ത് പത്തിയും
+%
+അകലെ കൊള്ളാത്തവന്‍ അടുത്തും കൊള്ളില്ല
+%
+അകലെ പോകുന്നവനെ അരികത്തു വിളിച്ചാല്‍ അരയ്ക്കാത്തുട്ട് ചേതം
+%
+അഗ്രഹാരത്തില്‍ പിറന്നാലും നായ് വേദമോതില്ല
+%
+അഞ്ചിലേ വളയാത്തത് അമ്പതില്‍ വളയുമോ?
+%
+അടച്ചവായിലീച്ച കയറുകയില്ല
+%
+അടികൊണ്ടാലും അമ്പലത്തില്‍ കിടക്കണം
+%
+അടിച്ചതിന്മേല്‍ അടിച്ചാല്‍ അമ്മിയും പൊളിയും
+%
+അടിമേലടിച്ചാല്‍ അമ്മിയും പൊടിയും
+%
+അടിതെറ്റിയാല്‍ ആനയും വീഴും
+%
+അമ്മയ്ക്കു പ്രാണവേദന മകള്‍ക്കു വീണവായന
+%
+അമ്മയെ തല്ലിയാലും രണ്ടുണ്ട് പക്ഷം
+%
+അങ്ങാടിയില്‍ തോറ്റതിനു അമ്മയൊട്
+%
+അങ്ങാടിപ്പയ്യു്‌ ആലയില്‍ നില്കില്ല
+%
+അരമന രഹസ്യം അങ്ങാടി പാട്ട്
+%
+അളക്കുന്ന നാഴിക്കു്‌ അരിവില അറിയാമോ
+%
+അരചനില്ലാ നാട് നരകം
+%
+അരിയെത്ര ? പയറഞ്ഞാഴി
+%
+അല്പജ്ഞനേക്കാള്‍ നല്ലത് അജ്ഞന്‍
+%
+അട്ടയെപ്പിടിച്ചു മെത്തയില്‍ കിടത്തിയ പോലെ
+%
+ആരാന്റമ്മക്ക് ഭ്രാന്തായാല്‍ കാണാന്‍ നല്ല ചേല്
+%
+ആറ്റില്‍ കളഞ്ഞാലും അളന്ന് കളയണം
+%
+ഉപ്പോളം പോരുമോ ഉപ്പിലിട്ടത്?
+%
+ഉടുതുണി തന്നെ പാമ്പായാലോ?
+%
+ഉണ്ട ചോറിനു നന്ദി കാട്ടണം
+%
+ഉണ്ട ചോറില്‍ കല്ലിടരുതു
+%
+ഉണ്ണിയെ കണ്ടാല്‍ അറിയാം ഊരിലെ പഞ്ഞം
+%
+ഉണ്ണിപിറന്നാലും ഓണം വന്നാലും കേളനു കഞ്ഞി കുമ്പിളില്‍ തന്നെ
+%
+ഉള്ളതു പറഞ്ഞാല്‍ കള്ളനു തുള്ളല്‍
+%
+ഉള്ളിക്കു പാലൊഴിച്ചാല്‍ ഉള്‍നാറ്റം പോകുമോ
+%
+ഉറക്കത്തിനു പായ് വേണ്ട
+%
+എന്നെച്ചൊറി ഞാന്‍ നിന്നെച്ചൊറിയാം
+%
+എടുത്തു നടന്നവരെ മറക്കരുതു
+%
+എലിക്കു തിണ്ടാട്ടം പൂച്ചയ്ക്കു കൊണ്ടാട്ടം
+%
+എളുപ്പം പറയാം എളുപ്പം ചെയ്യാന്‍ മേലാ
+%
+ഏച്ച് കെട്ടിയാല്‍ മുഴച്ചിരിക്കും
+%
+ഏറെ കിഴക്കോട്ടു പോയാല്‍ കല്ലും മുള്ളും ചവിട്ടും
+%
+ഐകമത്യം മഹാബലം
+%
+ഒന്നെ ഒള്ളുവെങ്കിലും ഉലക്കയ്ക്കടിച്ച് വളര്‍ത്തണം
+%
+ഒന്നുകില്‍ ആശാന്റെ നെഞ്ചത്ത് അല്ലെങ്കില്‍ കളരിക്ക് പുറത്ത്
+%
+ഒരുമയുണ്ടെങ്കില്‍ ഉലക്കമേലും കിടക്കാം
+%
+ഓന്തിനു വേലി സാക്ഷി വേലിക്കു്‌ ഓന്തു സാക്ഷി
+%
+കള്ളന്‍ കപ്പലില്‍ തന്നെ
+%
+കാണം വിറ്റും ഓണം കൊള്ളണം
+%
+കേറിയിരുന്നുണ്ട പന്തലില്‍ ഇറങ്ങിയിരുന്നുണ്ണരുതു
+%
+കുറുന്തോട്ടിക്കു വാതം
+%
+കുടിക്കുന്ന വെള്ളത്തില്‍ കോലിട്ടളക്കരുതു
+%
+കണ്ടിക്കണക്കിനു വാക്കിനേക്കാള്‍ കഴഞ്ചിനു കര്‍മ്മം നന്നു
+%
+കരയുന്ന കുഞ്ഞിനേ പാലുള്ളൂ
+%
+കലത്തിനറിയാമോ കര്‍പ്പൂരത്തിന്റെ ഗന്ധം
+%
+കറിയുടെ സ്വാദു്‌ തവിയറിയില്ല
+%
+കൊല്ലം കണ്ടവനില്ലം വേണ്ടാ
+%
+കൊച്ചി കണ്ടവനച്ചി വേണ്ടാ
+%
+കാണം വിറ്റും ഓണം ഉണ്ണണം
+%
+കുളിപ്പിച്ചാലും പന്നി ചേറ്റില്‍
+%
+കാറ്റുള്ളപ്പോള്‍ തൂറ്റണം
+%
+കുന്തം പോയാല്‍ കുടത്തിലും തപ്പണം
+%
+കക്ഷത്തിലുള്ളത് പോകാനും പാടില്ല ഉത്തരത്തിലേത് ഏടുക്കുകയും വേണം
+%
+കാട്ടിലെ തടി തേവരുടെ ആന, വലിയെടാ വലി
+%
+കാഞ്ഞിരക്കുരു പാലിലിട്ടാലും കയ്പു തീരില്ല
+%
+കുന്നാണെങ്കിലും കുഴിച്ചാല്‍ കുഴിയും
+%
+കുശവനും പൂണൂലുണ്ട്
+%
+ഗതികെട്ടാല്‍ ചാമയെങ്കിലും ചെമ്മൂര്യ
+%
+ചൊല്ലും പല്ലും പതുക്കെ മതി
+%
+ചങ്ങലയ്ക്കു ഭ്രാന്തു പിടിച്ചാലോ?
+%
+ചോറു തന്ന കൈയ്ക്കു കടിക്കരുത്
+%
+ചങ്ങാതി നന്നെങ്കില്‍ കണ്ണാടി വേണ്ട
+%
+ചന്ദനം ചാരിയാല്‍ ചന്ദനം മണക്കും, ചാണകം ചാരിയാല്‍ ചാണകം മണക്കും
+%
+ചക്കിക്കൊത്ത ചങ്കരന്‍
+%
+ചട്ടുവമറിയുമോ കറിയുടെ രസം
+%
+ചങ്ങാതി നന്നായാല്‍ കണ്ണാടി വേണ്ടാ
+%
+ചുട്ട ചട്ടി അറിയുമോ അപ്പത്തിന്റെ സ്വാദു്
+%
+ചൊട്ടയിലെ ശീലം ചുടല വരെ
+%
+ചാണകക്കുഴിയും പെരുങ്കടലും തുല്യമോ?
+%
+ചാണകവറളിയെ ചന്ദ്രബിംബമാക്കരുത്
+%
+ജാത്യാലുള്ളതു തൂത്താല്‍ പോകുമോ
+%
+ഞാങ്ങണയെങ്കിലും നാലു കൂട്ടിക്കെട്ടിയാല്‍ ബലം തന്നെ
+%
+പട പേടിച്ച് പന്തളത്ത് പോയപ്പോള്‍ അവിടെ പന്തം കൊളുത്തി പട
+%
+പഴുത്ത പ്ലാവില വീഴുമ്പോള്‍ പച്ച പ്ലാവില ചിരിക്കേണ്ട
+%
+പാലം കുലുങ്ങിയാലും കേളന്‍ കുലുങ്ങില്ല
+%
+പുകഞ്ഞ കൊള്ളി പുറത്ത്
+%
+പുര കത്തുമ്പോള്‍ വാഴവെട്ടുക
+%
+പൂട്ടുമുറിച്ചവനു്‌ ഈട്ടിയറുത്തവന്‍ സാക്ഷി
+%
+പൊന്നു കായ്ക്കും മരമായലും പുരയ്ക്ക് ചാഞ്ഞാല്‍ മുറിക്കണം
+%
+പറച്ചില്‍ നിര്‍ത്തി പയറ്റി നോക്കണം
+%
+പഴഞ്ചൊല്ലില്‍ പതിരില്ല
+%
+പയ്യെ തിന്നാല്‍ പനയും തിന്നാം
+%
+പല തോടു ആറായിപ്പെരുകും
+%
+പയ്യെത്തിന്നാല്‍ പനയും തിന്നാം
+%
+പാലം കടക്കുവോളം നാരായണ, പാലം കടന്നാലോ കൂരായണ
+%
+പശിക്കുമ്പോള്‍ അച്ചി പശുക്കയറും തിന്നും
+%
+പിത്തള മിനുക്കിയാല്‍ പൊന്നാവില്ല
+%
+പലതുള്ളിപ്പെരുവെള്ളം
+%
+പാദം പാദം വച്ചാല്‍ കാതം കാതം പോകാം
+%
+മണ്‍വെട്ടി തണുപ്പറിയുമോ
+%
+മൂത്തോരുടെ വാക്കും മുതുനെല്ലിക്കയും ആദ്യം കയ്ക്കും പിന്നെ മധുരിക്കും
+%
+മിന്നുന്നതെല്ലാം പൊന്നല്ല
+%
+മുല്ലപൂമ്പൊടിയേറ്റു കിടക്കും കല്ലിനുമുണ്ടാമൊരു സൌരഭ്യം
+%
+മോങ്ങാനിരുന്ന പട്ടിയുടെ തലയില്‍ തേങ്ങ വീണു
+%
+മുറിവൈദ്യം ആപത്ത്
+%
+മെല്ലെനെ ഒഴുകും വെള്ളം കല്ലിനെ കുഴിയെ ചെല്ലും
+%
+മെല്ലെത്തിന്നാല്‍ മുള്ളും തിന്നാം
+%
+മൂത്തവര്‍ ചൊല്ലും വാക്കും മുതുനെല്ലിയ്‌ക്കയും മുമ്പേ കയ്‌ക്കും പിന്നെ മധൂരിയ്‌ക്കും
+%
+മക്കളെ കണ്ടും മാമ്പൂ കണ്ടും കൊതിക്കരുത്‌
+%
+തേനൊഴിച്ചു വളര്‍ത്തിയാലും കാഞ്ഞിരം കയ്ക്കും
+%
+തന്നോളം വളര്‍ന്നാല്‍ തനിക്കൊപ്പം
+%
+താന്‍ പാതി ദൈവം പാതി
+%
+തീയില്‍ കുരുത്തത് വെയിലത്തു വാടുമൊ?
+%
+താഴ്ന്ന നിലത്തേ നീരോടൂ
+%
+തെളിച്ച വഴിയെ നടന്നിലെങ്കില്‍ നടന്ന വഴിയെ തെളിക്കുക
+%
+തീയില്ലാതെ പുകയില്ല
+%
+തീവെട്ടിക്കാരനു കണ്ണു കണ്ടുകൂടാ
+%
+തേടിയ വള്ളി കാലില്‍ ചുറ്റി
+%
+നാടു മറന്നാലും മൂടു മറക്കാമോ?
+%
+നാക്കു നീണ്ടവനു കുറിയ കൈ
+%
+നിറകുടം തുളുമ്പില്ല
+%
+നീയെന്റെ പുറം ചൊറിയ് ഞാന്‍ നിന്റെ പുറം ചൊറിയാം
+%
+ക്ഷീരം കൊണ്ടു നനച്ചാലും വേപ്പിന്റെ കയ്പു വിടുമോ
+%
+സമ്പത്ത് കാലത്ത് തൈപത്ത് വച്ചാല്‍ ആപത്ത് കാലത്ത് കാ പത്തു തിന്നാം
+%
+വേലി തന്നെ വിളവു തിന്നുക
+%
+വന്ന വഴി മറക്കരുത്
+%
+വാക്കു കൊണ്ടു കോട്ട കെട്ടുക
+%
+വാക്കു കൊണ്ടു വയറു നിറയുകയില്ല
+%
+വല്ലഭനു പുല്ലും ആയുധം
+%
+വാദി പ്രതി ആയി
+%
+വേണമെങ്കില്‍ ചക്ക വേരിലും കായ്ക്കും
+%
+വിശപ്പിനു രുചിയില്ല
+%
+വയറവള്ളിയായാലും കൂടിപ്പിണഞ്ഞുകിടന്നാല്‍ നന്ന്‌
+%
+വെട്ടില്‍ വീഴ്ത്തിയാല്‍ വന്‍മരവും വീഴും
+%
+വെടികെട്ടുകാരന്റെ മകനെയാണോ ഉടുക്ക്‌ കൊട്ടി പേടിപ്പിക്കുന്നത്‌
+%
+ശത്രുവിന്റെ ശത്രു മിത്രം
+%
+അണ്ണാങ്കുഞ്ഞും തന്നാലായതു്
+%
+അയലത്തെല്ലാം തേങ്ങയുടയ്ക്കുന്നു, ഞാനൊരു ചിരട്ടയെങ്കിലും‌ ഉടയ്ക്കണ്ടേ?
+%
+ആനയെ വയ്ക്കേണ്ടിടത്തു പൂവെങ്കിലും വയ്ക്കണം
+%
+എല്ലാരും‌ തേങ്ങ ഉടയ്ക്കുമ്പോള്‍ ഞാനൊരു ചിരട്ടയെങ്കിലും ഉടയ്ക്കണ്ടേ?
+%
+പണം വയ്ക്കേണ്ട ദിക്കില്‍ പൂവെകിലും വച്ച് കാര്യം നടത്തണം
+%
+പൊന്നു വയ്ക്കുന്നിടത്തു ഞാനൊരു പൂവെങ്കിലും വയ്ക്കണ്ടേ?
+%
+അഞ്ചഞ്ചു ഫലം ഒന്നഞ്ചുഫലം
+%
+അമ്പലം ചെറുതാണെങ്കിലും പ്രതിഷ്ഠ വലുത്
+%
+ആളു ചെറുതു കോളു വലുതു
+%
+കുരുത്തക്കേടു് കുന്നിക്കുരുവോളം മതി
+%
+കാന്താരിമുളകെന്തിനാ അധികം
+%
+നഞ്ചെന്തിനു നാനാഴി
+%
+ശേഷിയില്ലെങ്കിലും ശേമുഷി വേണം
+%
+ആശാനു കൊടുക്കാത്തതു വൈദ്യര്‍ക്കു കൊടുക്കാം
+%
+പൊന്നു കായ്ക്കുന്ന മരമായാലും പുരയ്ക്കു ചാഞ്ഞാല്‍ മുറിയ്ക്കണം
+%
+അപ്പത്തില്‍ കല്ലും മുറ്റത്തില്‍ ഇടപാടും
+%
+അരയില്‍ പുണ്ണും അടുത്തു കടവും
+%
+ഉള്ളില്‍ കടവും ഉള്ളങ്കയ്യില്‍ ചിരങ്ങും
+%
+കടമില്ലാത്ത കഞ്ഞി ഉത്തമം
+%
+കടമൊഴിഞ്ഞാല്‍ ഭയമൊഴിഞ്ഞു
+%
+കടം അപകടം സ്നേഹത്തിനു വികടം
+%
+കടത്തിനു തുല്യം രോഗമില്ല
+%
+കടമൊരു ധനമല്ല
+%
+കടം വാങ്ങി ഉണ്ടാല്‍ മാനം വാടി വീഴാം
+%
+കടം വാങ്ങി കൂര വച്ചാല്‍ കൂര വിറ്റു കടം തീര്‍ക്കാം
+Better wise than wealthy<br>
+%
+എല്ലായിടത്തും ജ്ഞാനി; രാജാവു് രാജ്യത്തില്‍ മാത്രം രാജാവു്
+%
+എല്ലാറ്റിലും നല്ലതു വിദ്യയാം
+%
+വിദ്യാധനം സര്‍വ്വധനാല്‍ പ്രധാനം
+Money is a beautiful enemey<br>
+%
+പകയ്ക്കെന്തു വഴി പത്തു പണം കൊടുത്താല്‍ മതി
+%
+ഇഷ്ടം മുറിക്കാന്‍‍ അര്‍ത്ഥം മഴു
+%
+ദ്രവ്യാഗ്രഹം സര്‍വ്വ ദോഷകാരണം
+%
+അര്‍ത്ഥമനര്‍ത്ഥം
+%
+ധനം പെരുത്താല്‍ ഭയം പെരുക്കും
+%
+അമ്മ വേലി ചാടിയാല്‍ മകളു മതിലു ചാടും
+%
+പാലം കടക്കുവോളം നാരായണ പാലം കടന്നാലൊ കൂരായണ
+%
+കള്ളനെ കാവലേല്പിച്ചാല്‍
+
diff --git a/silpa/modules/fortune/database/fortune-ml.dat b/silpa/modules/fortune/database/fortune-ml.dat
new file mode 100644
index 0000000..b1f2137
--- /dev/null
+++ b/silpa/modules/fortune/database/fortune-ml.dat
Binary files differ
diff --git a/silpa/modules/fortune/fortune.py b/silpa/modules/fortune/fortune.py
new file mode 100644
index 0000000..bc83b51
--- /dev/null
+++ b/silpa/modules/fortune/fortune.py
@@ -0,0 +1,62 @@
+# Fortune
+# -*- coding: utf-8 -*-
+#
+# Copyright © 2009 Santhosh Thottingal <santhosh.thottingal@gmai.com>
+# Released under the GPLV3+ license
+
+import os,random
+from common import *
+class Fortune(SilpaModule):
+ def fortunes(self,infile,pattern=None):
+ """ Yield fortunes as lists of lines """
+ result = []
+ for line in infile:
+ line=line.decode("utf-8")
+ if line == "%\n":
+ continue
+ else:
+ if(pattern==None):
+ result.append(line)
+ else:
+ if(line.find(pattern)>0):
+ result.append(line)
+ if result:
+ return result
+
+
+ def fortune_ml(self, pattern):
+ filename = os.path.join(os.path.dirname(__file__), 'database/fortune-ml')
+ """ Pick a random fortune from a file """
+ fortunes_list=self.fortunes(file(filename),pattern)
+ chosen=""
+ if fortunes_list:
+ chosen= random.choice(fortunes_list)
+ return "".join(chosen)
+
+ def process(self, form):
+ response = """
+ <h2>Fortune Malayalam</h2></hr>
+ <p>Enter the text for getting a random quote with the given string in the below text area.
+ </p>
+ <form action="" method="post">
+ <input type="text" cols='100' name='input_text' id='id1' value="%s"/>
+ <input type="submit" id="Fortune" value="Fortune" name="action" style="width:12em;"/>
+ </br>
+ </form>
+ """
+ if(form.has_key('input_text')):
+ text = form['input_text'].value .decode('utf-8')
+ response=response % text
+ else:
+ text= None
+ response=response % ""
+ result = self.fortune_ml(text)
+ response = response+"<h2>Random Quote</h2></hr>"
+ response = response+"<b>"+result+"</b>"
+ return response
+ def get_module_name(self):
+ return "Fortune Malayalam"
+ def get_info(self):
+ return "Get/Search a random Malayalam quote "
+def getInstance():
+ return Fortune()
diff --git a/silpa/modules/guesslanguages/guess_language.py b/silpa/modules/guesslanguages/guess_language.py
new file mode 100644
index 0000000..158b5f5
--- /dev/null
+++ b/silpa/modules/guesslanguages/guess_language.py
@@ -0,0 +1,562 @@
+''' Guess the language of text.
+
+ Based on guesslanguage.cpp by Jacob R Rideout for KDE
+ http://websvn.kde.org/branches/work/sonnet-refactoring/common/nlp/guesslanguage.cpp?view=markup
+ which itself is based on Language::Guess by Maciej Ceglowski
+ http://languid.cantbedone.org/
+
+ Copyright (c) 2008, Kent S Johnson
+
+ C++ version is Copyright (c) 2006 Jacob R Rideout <kde@jacobrideout.net>
+ Perl version is (c) 2004-6 Maciej Ceglowski
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with this library; if not, write to the Free Software
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+
+ Note: Language::Guess is GPL-licensed. KDE developers received permission
+ from the author to distribute their port under LGPL:
+ http://lists.kde.org/?l=kde-sonnet&m=116910092228811&w=2
+
+'''
+
+import codecs, os, re, sys, unicodedata
+try:
+ from collections import defaultdict
+except:
+ class defaultdict(dict):
+ def __init__(self, default_factory=None, *a, **kw):
+ if (default_factory is not None and
+ not hasattr(default_factory, '__call__')):
+ raise TypeError('first argument must be callable')
+ dict.__init__(self, *a, **kw)
+ self.default_factory = default_factory
+ def __getitem__(self, key):
+ try:
+ return dict.__getitem__(self, key)
+ except KeyError:
+ return self.__missing__(key)
+ def __missing__(self, key):
+ if self.default_factory is None:
+ raise KeyError(key)
+ self[key] = value = self.default_factory()
+ return value
+ def __reduce__(self):
+ if self.default_factory is None:
+ args = tuple()
+ else:
+ args = self.default_factory,
+ return type(self), args, None, None, self.items()
+ def copy(self):
+ return self.__copy__()
+ def __copy__(self):
+ return type(self)(self.default_factory, self)
+ def __deepcopy__(self, memo):
+ import copy
+ return type(self)(self.default_factory,
+ copy.deepcopy(self.items()))
+ def __repr__(self):
+ return 'defaultdict(%s, %s)' % (self.default_factory,
+ dict.__repr__(self))
+
+from blocks import unicodeBlock
+from common import SilpaModule
+
+MIN_LENGTH = 20
+
+BASIC_LATIN = "en ceb ha so tlh id haw la sw eu nr nso zu xh ss st tn ts".split()
+EXTENDED_LATIN = "cs af pl hr ro sk sl tr hu az et sq ca es fr de nl it da is nb sv fi lv pt ve lt tl cy".split()
+ALL_LATIN = BASIC_LATIN + EXTENDED_LATIN
+CYRILLIC = "ru uk kk uz mn sr mk bg ky".split()
+ARABIC = "ar fa ps ur".split()
+DEVANAGARI = "hi ne".split()
+
+# NOTE mn appears twice, once for mongolian script and once for CYRILLIC
+SINGLETONS = [
+ ('Armenian', 'hy'),
+ ('Hebrew', 'he'),
+ ('Bengali', 'bn'),
+ ('Gurmukhi', 'pa'),
+ ('Greek', 'el'),
+ ('Gujarati', 'gu'),
+ ('Oriya', 'or'),
+ ('Tamil', 'ta'),
+ ('Telugu', 'te'),
+ ('Kannada', 'kn'),
+ ('Malayalam', 'ml'),
+ ('Sinhala', 'si'),
+ ('Thai', 'th'),
+ ('Lao', 'lo'),
+ ('Tibetan', 'bo'),
+ ('Burmese', 'my'),
+ ('Georgian', 'ka'),
+ ('Mongolian', 'mn-Mong'),
+ ('Khmer', 'km'),
+]
+
+PT = "pt_BR pt_PT".split()
+
+UNKNOWN = 'UNKNOWN'
+
+models = {}
+
+NAME_MAP = {
+ "ab" : "Abkhazian",
+ "af" : "Afrikaans",
+ "ar" : "Arabic",
+ "az" : "Azeri",
+ "be" : "Byelorussian",
+ "bg" : "Bulgarian",
+ "bn" : "Bengali",
+ "bo" : "Tibetan",
+ "br" : "Breton",
+ "ca" : "Catalan",
+ "ceb" : "Cebuano",
+ "cs" : "Czech",
+ "cy" : "Welsh",
+ "da" : "Danish",
+ "de" : "German",
+ "el" : "Greek",
+ "en" : "English",
+ "eo" : "Esperanto",
+ "es" : "Spanish",
+ "et" : "Estonian",
+ "eu" : "Basque",
+ "fa" : "Farsi",
+ "fi" : "Finnish",
+ "fo" : "Faroese",
+ "fr" : "French",
+ "fy" : "Frisian",
+ "gd" : "Scots Gaelic",
+ "gl" : "Galician",
+ "gu" : "Gujarati",
+ "ha" : "Hausa",
+ "haw" : "Hawaiian",
+ "he" : "Hebrew",
+ "hi" : "Hindi",
+ "hr" : "Croatian",
+ "hu" : "Hungarian",
+ "hy" : "Armenian",
+ "id" : "Indonesian",
+ "is" : "Icelandic",
+ "it" : "Italian",
+ "ja" : "Japanese",
+ "ka" : "Georgian",
+ "kk" : "Kazakh",
+ "km" : "Cambodian",
+ "ko" : "Korean",
+ "ku" : "Kurdish",
+ "ky" : "Kyrgyz",
+ "la" : "Latin",
+ "lt" : "Lithuanian",
+ "lv" : "Latvian",
+ "mg" : "Malagasy",
+ "mk" : "Macedonian",
+ "ml" : "Malayalam",
+ "mn" : "Mongolian",
+ "mr" : "Marathi",
+ "ms" : "Malay",
+ "nd" : "Ndebele",
+ "ne" : "Nepali",
+ "nl" : "Dutch",
+ "nn" : "Nynorsk",
+ "no" : "Norwegian",
+ "nso" : "Sepedi",
+ "pa" : "Punjabi",
+ "pl" : "Polish",
+ "ps" : "Pashto",
+ "pt" : "Portuguese",
+ "ro" : "Romanian",
+ "ru" : "Russian",
+ "sa" : "Sanskrit",
+ "sh" : "Serbo-Croatian",
+ "sk" : "Slovak",
+ "sl" : "Slovene",
+ "so" : "Somali",
+ "sq" : "Albanian",
+ "sr" : "Serbian",
+ "sv" : "Swedish",
+ "sw" : "Swahili",
+ "ta" : "Tamil",
+ "te" : "Telugu",
+ "th" : "Thai",
+ "tl" : "Tagalog",
+ "tlh" : "Klingon",
+ "tn" : "Setswana",
+ "tr" : "Turkish",
+ "ts" : "Tsonga",
+ "tw" : "Twi",
+ "uk" : "Ukrainian",
+ "uk" : "Ukranian",
+ "ur" : "Urdu",
+ "uz" : "Uzbek",
+ "ve" : "Venda",
+ "vi" : "Vietnamese",
+ "xh" : "Xhosa",
+ "zh" : "Chinese",
+ "zh-tw" : "Traditional Chinese (Taiwan)",
+ "zu" : "Zulu",
+}
+
+IANA_MAP = {
+ "ab" : 12026,
+ "af" : 40,
+ "ar" : 26020,
+ "az" : 26030,
+ "be" : 11890,
+ "bg" : 26050,
+ "bn" : 26040,
+ "bo" : 26601,
+ "br" : 1361,
+ "ca" : 3,
+ "ceb" : 26060,
+ "cs" : 26080,
+ "cy" : 26560,
+ "da" : 26090,
+ "de" : 26160,
+ "el" : 26165,
+ "en" : 26110,
+ "eo" : 11933,
+ "es" : 26460,
+ "et" : 26120,
+ "eu" : 1232,
+ "fa" : 26130,
+ "fi" : 26140,
+ "fo" : 11817,
+ "fr" : 26150,
+ "fy" : 1353,
+ "gd" : 65555,
+ "gl" : 1252,
+ "gu" : 26599,
+ "ha" : 26170,
+ "haw" : 26180,
+ "he" : 26592,
+ "hi" : 26190,
+ "hr" : 26070,
+ "hu" : 26200,
+ "hy" : 26597,
+ "id" : 26220,
+ "is" : 26210,
+ "it" : 26230,
+ "ja" : 26235,
+ "ka" : 26600,
+ "kk" : 26240,
+ "km" : 1222,
+ "ko" : 26255,
+ "ku" : 11815,
+ "ky" : 26260,
+ "la" : 26280,
+ "lt" : 26300,
+ "lv" : 26290,
+ "mg" : 1362,
+ "mk" : 26310,
+ "ml" : 26598,
+ "mn" : 26320,
+ "mr" : 1201,
+ "ms" : 1147,
+ "ne" : 26330,
+ "nl" : 26100,
+ "nn" : 172,
+ "no" : 26340,
+ "pa" : 65550,
+ "pl" : 26380,
+ "ps" : 26350,
+ "pt" : 26390,
+ "ro" : 26400,
+ "ru" : 26410,
+ "sa" : 1500,
+ "sh" : 1399,
+ "sk" : 26430,
+ "sl" : 26440,
+ "so" : 26450,
+ "sq" : 26010,
+ "sr" : 26420,
+ "sv" : 26480,
+ "sw" : 26470,
+ "ta" : 26595,
+ "te" : 26596,
+ "th" : 26594,
+ "tl" : 26490,
+ "tlh" : 26250,
+ "tn" : 65578,
+ "tr" : 26500,
+ "tw" : 1499,
+ "uk" : 26510,
+ "uk" : 26520,
+ "ur" : 26530,
+ "uz" : 26540,
+ "vi" : 26550,
+ "zh" : 26065,
+ "zh-tw" : 22,
+}
+
+
+def _load_models():
+ modelsDir = os.path.join(os.path.dirname(__file__), 'trigrams')
+ modelsList = os.listdir(modelsDir)
+
+ lineRe = re.compile(r"(.{3})\s+(.*)")
+ for modelFile in modelsList:
+ modelPath = os.path.join(modelsDir, modelFile)
+ if os.path.isdir(modelPath):
+ continue
+ f = codecs.open(modelPath, 'r', 'utf-8')
+ model = {} # QHash<QString,int> model
+ for line in f:
+ m = lineRe.search(line)
+ if m:
+ model[m.group(1)] = int(m.group(2))
+
+ models[modelFile.lower()] = model
+
+
+_load_models()
+
+def guessLanguage(text):
+ ''' Returns the language code, i.e. 'en' '''
+ if not text:
+ return UNKNOWN
+
+ if isinstance(text, str):
+ text = unicode(text, 'utf-8')
+
+ text = normalize(text)
+
+ return _identify(text, find_runs(text))
+
+
+def guessLanguageInfo(text):
+ """
+ Returns (tag, id, name) i.e. ('en', 26110, 'english')
+ """
+ tag = guessLanguage(text)
+
+ if tag == UNKNOWN:
+ return UNKNOWN,UNKNOWN,UNKNOWN
+
+ id = _getId(tag)
+ name = _getName(tag)
+ return tag,id,name
+
+
+# An alias for guessLanguage
+guessLanguageTag = guessLanguage
+
+
+def guessLanguageId(text):
+ """
+ Returns the language id. i.e. 26110
+ """
+ lang = guessLanguage(text)
+ return _getId(lang)
+
+
+def guessLanguageName(text):
+ """
+ Returns the language name. i.e. 'english'
+ """
+ lang = guessLanguage(text)
+ return _getName(lang)
+
+
+def _getId(iana):
+ return IANA_MAP.get(iana, UNKNOWN)
+
+def _getName(iana):
+ return NAME_MAP.get(iana, UNKNOWN)
+
+
+def find_runs(text):
+ ''' Count the number of characters in each character block '''
+ run_types = defaultdict(int)
+
+ totalCount = 0
+
+ for c in text:
+ if c.isalpha():
+ block = unicodeBlock(c)
+ run_types[block] += 1
+ totalCount += 1
+
+# pprint.pprint(run_types)
+
+ # return run types that used for 40% or more of the string
+ # always return basic latin if found more than 15%
+ # and extended additional latin if over 10% (for Vietnamese)
+ relevant_runs = []
+ for key, value in run_types.items():
+ pct = (value*100) / totalCount
+ if pct >=40:
+ relevant_runs.append(key)
+ elif key == "Basic Latin" and ( pct >=15 ):
+ relevant_runs.append(key)
+ elif key == "Latin Extended Additional" and ( pct >=10 ):
+ relevant_runs.append(key)
+
+ return relevant_runs
+
+
+def _identify(sample, scripts):
+ if len(sample) < 3:
+ return UNKNOWN
+
+ if "Hangul Syllables" in scripts or "Hangul Jamo" in scripts \
+ or "Hangul Compatibility Jamo" in scripts or "Hangul" in scripts:
+ return "ko"
+
+ if "Greek and Coptic" in scripts:
+ return "el"
+
+ if "Katakana" in scripts or "Hiragana" in scripts or "Katakana Phonetic Extensions" in scripts:
+ return "ja"
+
+ if "CJK Unified Ideographs" in scripts or "Bopomofo" in scripts \
+ or "Bopomofo Extended" in scripts or "KangXi Radicals" in scripts:
+
+# This is in both Ceglowski and Rideout
+# I can't imagine why...
+# or "Arabic Presentation Forms-A" in scripts
+ return "zh"
+
+ if "Cyrillic" in scripts:
+ return check( sample, CYRILLIC )
+
+ if "Arabic" in scripts or "Arabic Presentation Forms-A" in scripts or "Arabic Presentation Forms-B" in scripts:
+ return check( sample, ARABIC )
+
+ if "Devanagari" in scripts:
+ return check( sample, DEVANAGARI )
+
+
+ # Try languages with unique scripts
+ for blockName, langName in SINGLETONS:
+ if blockName in scripts:
+ return langName
+
+ if "Latin Extended Additional" in scripts:
+ return "vi"
+
+ if "Extended Latin" in scripts:
+ latinLang = check( sample, EXTENDED_LATIN )
+ if latinLang == "pt":
+ return check(sample, PT)
+ else:
+ return latinLang
+
+ if "Basic Latin" in scripts:
+ return check( sample, ALL_LATIN )
+
+ return UNKNOWN
+
+
+def check(sample, langs):
+ if len(sample) < MIN_LENGTH:
+ return UNKNOWN
+
+ scores = []
+ model = createOrderedModel(sample) # QMap<int,QString>
+
+ for key in langs:
+ lkey = key.lower()
+
+ if lkey in models:
+ scores.append( (distance(model, models[lkey]), key) )
+
+ if not scores:
+ return UNKNOWN
+
+ # we want the lowest score, less distance = greater chance of match
+# pprint(sorted(scores))
+ return min(scores)[1]
+
+
+def createOrderedModel(content):
+ ''' Create a list of trigrams in content sorted by frequency '''
+ trigrams = defaultdict(int) # QHash<QString,int>
+ content = content.lower()
+
+ for i in xrange(0, len(content)-2):
+ trigrams[content[i:i+3]]+=1
+
+ return sorted(trigrams.keys(), key=lambda k: (-trigrams[k], k))
+
+
+spRe = re.compile(r"\s\s", re.UNICODE)
+MAXGRAMS = 300
+
+def distance(model, knownModel):
+ dist = 0
+
+ for i, value in enumerate(model[:MAXGRAMS]):
+ if not spRe.search(value):
+ if value in knownModel:
+ dist += abs(i - knownModel[value])
+ else:
+ dist += MAXGRAMS
+
+ return dist
+
+
+def _makeNonAlphaRe():
+ nonAlpha = [u'[^']
+ for i in range(sys.maxunicode):
+ c = unichr(i)
+ if c.isalpha(): nonAlpha.append(c)
+ nonAlpha.append(u']')
+ nonAlpha = u"".join(nonAlpha)
+ return re.compile(nonAlpha)
+
+
+nonAlphaRe = _makeNonAlphaRe()
+spaceRe = re.compile('\s+', re.UNICODE)
+
+def normalize(u):
+ ''' Convert to normalized unicode.
+ Remove non-alpha chars and compress runs of spaces.
+ '''
+ u = unicodedata.normalize('NFC', u)
+ u = nonAlphaRe.sub(' ', u)
+ u = spaceRe.sub(' ', u)
+ return u
+class LangGuess(SilpaModule):
+ def process(self, form):
+ response = """
+ <h2>Guess the language</h2></hr>
+ <p>Enter the text for guessing the language in the below text area.
+ You can give the text in any language and even with mixed language
+ </p>
+ <form action="" method="post">
+ <textarea cols='100' rows='25' name='input_text' id='id1'>%s</textarea>
+ <input type="submit" id="Guess Language" value="Guess Language" name="action" style="width:12em;"/>
+ <input type="reset" value="Clear" style="width:12em;"/>
+ </br>
+ </form>
+ """
+ if(form.has_key('input_text')):
+ text = action=form['input_text'].value .decode('utf-8')
+ response=response % text
+ result = guessLanguageName(text)
+ response = response+"<h2>Guess Language Results</h2></hr>"
+ response = response+result
+ else:
+ response=response % ""
+ return response
+ def get_module_name(self):
+ return "Guess Language"
+ def get_info(self):
+ return "Guess the language of given text. This module can detect more than 50 languages. Based on Language::Guess by Maciej Ceglowski(http://languid.cantbedone.org/)"
+
+def getInstance():
+ return LangGuess()
+
+
diff --git a/silpa/modules/guesslanguages/trigrams/af b/silpa/modules/guesslanguages/trigrams/af
new file mode 100644
index 0000000..10606ef
--- /dev/null
+++ b/silpa/modules/guesslanguages/trigrams/af
@@ -0,0 +1,301 @@
+ie 0
+ di 1
+die 2
+en 3
+ing 4
+an 5
+ en 6
+van 7
+ va 8
+ng 9
+te 10
+n d 11
+ver 12
+er 13
+e v 14
+ ge 15
+ be 16
+de 17
+ ve 18
+nde 19
+ in 20
+ te 21
+le 22
+der 23
+ers 24
+et 25
+oor 26
+ 'n 27
+'n 28
+at 29
+eer 30
+ste 31
+ord 32
+aar 33
+sie 34
+ wa 35
+es 36
+e s 37
+aan 38
+ on 39
+is 40
+in 41
+e o 42
+rde 43
+e b 44
+asi 45
+rin 46
+ond 47
+e w 48
+el 49
+ is 50
+and 51
+e e 52
+eid 53
+e d 54
+om 55
+ke 56
+ om 57
+eri 58
+ wo 59
+e g 60
+r d 61
+ale 62
+wat 63
+ vo 64
+id 65
+it 66
+rd 67
+ aa 68
+lik 69
+ we 70
+t d 71
+ op 72
+e t 73
+ngs 74
+se 75
+end 76
+uit 77
+ st 78
+ le 79
+ens 80
+ter 81
+ re 82
+e a 83
+ies 84
+wor 85
+g v 86
+sta 87
+n s 88
+ na 89
+ pr 90
+n o 91
+ me 92
+al 93
+of 94
+ vi 95
+erd 96
+lee 97
+e k 98
+ de 99
+ite 100
+erk 101
+ik 102
+e r 103
+e p 104
+n v 105
+e i 106
+e n 107
+een 108
+eli 109
+wer 110
+ of 111
+ da 112
+tel 113
+nie 114
+ike 115
+s e 116
+taa 117
+ge 118
+vir 119
+hei 120
+ir 121
+reg 122
+ede 123
+s v 124
+ur 125
+pro 126
+ele 127
+ion 128
+wet 129
+e l 130
+ mo 131
+e m 132
+daa 133
+sio 134
+s d 135
+ he 136
+ to 137
+ent 138
+ard 139
+nge 140
+ oo 141
+eur 142
+lle 143
+ien 144
+n b 145
+eke 146
+lin 147
+raa 148
+ ni 149
+ont 150
+bes 151
+rdi 152
+voo 153
+ns 154
+n a 155
+del 156
+dig 157
+nas 158
+ sa 159
+ gr 160
+nis 161
+kom 162
+ ui 163
+men 164
+op 165
+ins 166
+ona 167
+ere 168
+s o 169
+ so 170
+n g 171
+ig 172
+moe 173
+ ko 174
+rs 175
+ges 176
+nal 177
+vol 178
+e h 179
+geb 180
+rui 181
+ang 182
+ige 183
+oet 184
+ar 185
+wys 186
+lig 187
+as 188
+n w 189
+ as 190
+met 191
+gs 192
+deu 193
+t v 194
+aal 195
+erw 196
+dit 197
+ken 198
+sse 199
+kel 200
+ hu 201
+ewe 202
+din 203
+n t 204
+ se 205
+est 206
+ika 207
+n p 208
+ntw 209
+t i 210
+eni 211
+ ka 212
+n e 213
+doe 214
+ali 215
+eme 216
+gro 217
+nte 218
+ ho 219
+nsi 220
+gen 221
+ier 222
+gew 223
+n h 224
+or 225
+ ma 226
+ind 227
+ne 228
+ek 229
+aat 230
+n ' 231
+ sk 232
+ide 233
+ ta 234
+dat 235
+ska 236
+ger 237
+soo 238
+n k 239
+s i 240
+ af 241
+tee 242
+nd 243
+eel 244
+hul 245
+nee 246
+woo 247
+rik 248
+d v 249
+n m 250
+re 251
+art 252
+ebr 253
+lan 254
+kke 255
+ron 256
+aam 257
+tre 258
+str 259
+kan 260
+ree 261
+lei 262
+t o 263
+gra 264
+het 265
+evo 266
+tan 267
+den 268
+ist 269
+ do 270
+bru 271
+toe 272
+olg 273
+rsk 274
+uik 275
+rwy 276
+min 277
+lge 278
+g e 279
+g o 280
+nst 281
+r v 282
+gte 283
+waa 284
+we 285
+ans 286
+esi 287
+ese 288
+voe 289
+epa 290
+gel 291
+ hi 292
+vin 293
+nse 294
+s w 295
+s t 296
+tei 297
+eit 298
+pre 299
+
diff --git a/silpa/modules/guesslanguages/trigrams/ar b/silpa/modules/guesslanguages/trigrams/ar
new file mode 100644
index 0000000..2a7bf5e
--- /dev/null
+++ b/silpa/modules/guesslanguages/trigrams/ar
@@ -0,0 +1,300 @@
+ ال 0
+الع 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
diff --git a/silpa/modules/guesslanguages/trigrams/az b/silpa/modules/guesslanguages/trigrams/az
new file mode 100644
index 0000000..9a20731
--- /dev/null
+++ b/silpa/modules/guesslanguages/trigrams/az
@@ -0,0 +1,300 @@
+lər 0
+in 1
+ın 2
+lar 3
+da 4
+an 5
+ir 6
+də 7
+ki 8
+ bi 9
+ən 10
+əri 11
+arı 12
+ər 13
+dir 14
+nda 15
+ ki 16
+rin 17
+nın 18
+əsi 19
+ini 20
+ ed 21
+ qa 22
+ tə 23
+ ba 24
+ ol 25
+ası 26
+ilə 27
+rın 28
+ ya 29
+anı 30
+ və 31
+ndə 32
+ni 33
+ara 34
+ını 35
+ınd 36
+ bu 37
+si 38
+ib 39
+aq 40
+dən 41
+iya 42
+nə 43
+rə 44
+n b 45
+sın 46
+və 47
+iri 48
+lə 49
+nin 50
+əli 51
+ de 52
+ mü 53
+bir 54
+n s 55
+ri 56
+ək 57
+ az 58
+ sə 59
+ar 60
+bil 61
+zər 62
+bu 63
+dan 64
+edi 65
+ind 66
+man 67
+un 68
+ərə 69
+ ha 70
+lan 71
+yyə 72
+iyy 73
+ il 74
+ ne 75
+r k 76
+ə b 77
+ is 78
+na 79
+nun 80
+ır 81
+ da 82
+ hə 83
+a b 84
+inə 85
+sin 86
+yan 87
+ərb 88
+ də 89
+ mə 90
+ qə 91
+dır 92
+li 93
+ola 94
+rba 95
+azə 96
+can 97
+lı 98
+nla 99
+ et 100
+ gö 101
+alı 102
+ayc 103
+bay 104
+eft 105
+ist 106
+n i 107
+nef 108
+tlə 109
+yca 110
+yət 111
+əcə 112
+ la 113
+ild 114
+nı 115
+tin 116
+ldi 117
+lik 118
+n h 119
+n m 120
+oyu 121
+raq 122
+ya 123
+əti 124
+ ar 125
+ada 126
+edə 127
+mas 128
+sı 129
+ına 130
+ə d 131
+ələ 132
+ayı 133
+iyi 134
+lma 135
+mək 136
+n d 137
+ti 138
+yin 139
+yun 140
+ət 141
+azı 142
+ft 143
+i t 144
+lli 145
+n a 146
+ra 147
+ cə 148
+ gə 149
+ ko 150
+ nə 151
+ oy 152
+a d 153
+ana 154
+cək 155
+eyi 156
+ilm 157
+irl 158
+lay 159
+liy 160
+lub 161
+n ə 162
+ril 163
+rlə 164
+unu 165
+ver 166
+ün 167
+ə o 168
+əni 169
+ he 170
+ ma 171
+ on 172
+ pa 173
+ala 174
+dey 175
+i m 176
+ima 177
+lmə 178
+mət 179
+par 180
+yə 181
+ətl 182
+ al 183
+ mi 184
+ sa 185
+ əl 186
+adı 187
+akı 188
+and 189
+ard 190
+art 191
+ayi 192
+i a 193
+i q 194
+i y 195
+ili 196
+ill 197
+isə 198
+n o 199
+n q 200
+olu 201
+rla 202
+stə 203
+sə 204
+tan 205
+tel 206
+yar 207
+ədə 208
+ me 209
+ rə 210
+ ve 211
+ ye 212
+a k 213
+at 214
+baş 215
+diy 216
+ent 217
+eti 218
+həs 219
+i i 220
+ik 221
+la 222
+miş 223
+n n 224
+nu 225
+qar 226
+ran 227
+tər 228
+xan 229
+ə a 230
+ə g 231
+ə t 232
+ dü 233
+ama 234
+b k 235
+dil 236
+era 237
+etm 238
+i b 239
+kil 240
+mil 241
+n r 242
+qla 243
+r s 244
+ras 245
+siy 246
+son 247
+tim 248
+yer 249
+ə k 250
+ gü 251
+ so 252
+ sö 253
+ te 254
+ xa 255
+ai 256
+bar 257
+cti 258
+di 259
+eri 260
+gör 261
+gün 262
+gəl 263
+hbə 264
+ihə 265
+iki 266
+isi 267
+lin 268
+mai 269
+maq 270
+n k 271
+n t 272
+n v 273
+onu 274
+qan 275
+qəz 276
+tə 277
+xal 278
+yib 279
+yih 280
+zet 281
+zır 282
+ıb 283
+ə m 284
+əze 285
+ br 286
+ in 287
+ i̇r 288
+ pr 289
+ ta 290
+ to 291
+ üç 292
+a o 293
+ali 294
+ani 295
+anl 296
+aql 297
+azi 298
+bri 299
diff --git a/silpa/modules/guesslanguages/trigrams/bg b/silpa/modules/guesslanguages/trigrams/bg
new file mode 100644
index 0000000..eeb57c7
--- /dev/null
+++ b/silpa/modules/guesslanguages/trigrams/bg
@@ -0,0 +1,300 @@
+на 0
+ на 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
diff --git a/silpa/modules/guesslanguages/trigrams/ca b/silpa/modules/guesslanguages/trigrams/ca
new file mode 100644
index 0000000..aa2da94
--- /dev/null
+++ b/silpa/modules/guesslanguages/trigrams/ca
@@ -0,0 +1,300 @@
+ de 0
+es 1
+de 2
+la 3
+ la 4
+el 5
+que 6
+ el 7
+ co 8
+ent 9
+s d 10
+ qu 11
+ i 12
+en 13
+er 14
+ a 15
+ls 16
+nt 17
+ pe 18
+e l 19
+a d 20
+ en 21
+per 22
+ci 23
+ar 24
+ue 25
+al 26
+ se 27
+est 28
+at 29
+ es 30
+ts 31
+ s 32
+ pr 33
+aci 34
+ un 35
+res 36
+men 37
+s e 38
+del 39
+s a 40
+s p 41
+ re 42
+les 43
+ l' 44
+na 45
+a l 46
+ ca 47
+ d' 48
+els 49
+a p 50
+ia 51
+ns 52
+con 53
+ le 54
+tat 55
+a c 56
+i d 57
+a a 58
+ra 59
+a e 60
+ no 61
+ant 62
+ al 63
+t d 64
+s i 65
+ di 66
+ta 67
+re 68
+a s 69
+com 70
+s c 71
+ita 72
+ons 73
+sta 74
+ica 75
+ po 76
+r a 77
+ in 78
+pro 79
+tre 80
+ pa 81
+ues 82
+amb 83
+ion 84
+des 85
+un 86
+ ma 87
+da 88
+s s 89
+a i 90
+an 91
+mb 92
+ am 93
+l d 94
+e d 95
+va 96
+pre 97
+ter 98
+e e 99
+e c 100
+a m 101
+cia 102
+una 103
+i e 104
+nci 105
+tra 106
+ te 107
+ona 108
+os 109
+t e 110
+n e 111
+l c 112
+ca 113
+cio 114
+l p 115
+ tr 116
+par 117
+r l 118
+t a 119
+e p 120
+aqu 121
+nta 122
+ so 123
+ame 124
+era 125
+r e 126
+e s 127
+ada 128
+n a 129
+s q 130
+ si 131
+ ha 132
+als 133
+tes 134
+ va 135
+ m 136
+ici 137
+nte 138
+s l 139
+s m 140
+i a 141
+or 142
+ mo 143
+ist 144
+ect 145
+lit 146
+m s 147
+ to 148
+ir 149
+a t 150
+esp 151
+ran 152
+str 153
+om 154
+l s 155
+st 156
+nts 157
+ me 158
+no 159
+r d 160
+d'a 161
+l'a 162
+ats 163
+ria 164
+s t 165
+ ta 166
+sen 167
+rs 168
+eix 169
+tar 170
+s n 171
+n l 172
+tal 173
+e a 174
+t p 175
+art 176
+ mi 177
+ ll 178
+tic 179
+ten 180
+ser 181
+ aq 182
+ina 183
+ntr 184
+a f 185
+sti 186
+ol 187
+a q 188
+for 189
+ura 190
+ers 191
+ari 192
+int 193
+act 194
+l'e 195
+ fi 196
+r s 197
+e t 198
+tor 199
+si 200
+ste 201
+rec 202
+a r 203
+ fe 204
+is 205
+em 206
+n d 207
+car 208
+bre 209
+ fo 210
+ vi 211
+ an 212
+ali 213
+i p 214
+ix 215
+ell 216
+l m 217
+pos 218
+orm 219
+l l 220
+i l 221
+ ac 222
+fer 223
+s r 224
+ess 225
+eu 226
+e m 227
+ens 228
+ara 229
+eri 230
+sa 231
+ssi 232
+us 233
+ort 234
+tot 235
+ll 236
+por 237
+ora 238
+ ci 239
+tan 240
+ass 241
+n c 242
+ost 243
+nes 244
+rac 245
+a u 246
+ver 247
+ont 248
+ha 249
+ ti 250
+itz 251
+gra 252
+t c 253
+ n 254
+a v 255
+ren 256
+cat 257
+nal 258
+ ri 259
+qua 260
+t l 261
+ do 262
+t s 263
+rma 264
+ual 265
+i s 266
+s f 267
+n p 268
+s v 269
+te 270
+t i 271
+ ba 272
+cte 273
+tam 274
+man 275
+l t 276
+ial 277
+ fa 278
+ic 279
+ ve 280
+ble 281
+a n 282
+all 283
+tza 284
+ies 285
+ s' 286
+le 287
+omp 288
+r c 289
+ nc 290
+rti 291
+it 292
+rre 293
+fic 294
+any 295
+on 296
+ sa 297
+r p 298
+tur 299
diff --git a/silpa/modules/guesslanguages/trigrams/ceb b/silpa/modules/guesslanguages/trigrams/ceb
new file mode 100644
index 0000000..a5d87f5
--- /dev/null
+++ b/silpa/modules/guesslanguages/trigrams/ceb
@@ -0,0 +1,300 @@
+ng 0
+sa 1
+ sa 2
+ang 3
+ga 4
+nga 5
+ ka 6
+ ng 7
+an 8
+ an 9
+ na 10
+ ma 11
+ ni 12
+a s 13
+a n 14
+on 15
+ pa 16
+ si 17
+a k 18
+a m 19
+ ba 20
+ong 21
+a i 22
+ila 23
+ mg 24
+mga 25
+a p 26
+iya 27
+a a 28
+ay 29
+ka 30
+ala 31
+ing 32
+g m 33
+n s 34
+g n 35
+lan 36
+ gi 37
+na 38
+ni 39
+o s 40
+g p 41
+n n 42
+ da 43
+ag 44
+pag 45
+g s 46
+yan 47
+ayo 48
+o n 49
+si 50
+ mo 51
+a b 52
+g a 53
+ail 54
+g b 55
+han 56
+a d 57
+asu 58
+nag 59
+ya 60
+man 61
+ne 62
+pan 63
+kon 64
+ il 65
+ la 66
+aka 67
+ako 68
+ana 69
+bas 70
+ko 71
+od 72
+yo 73
+ di 74
+ ko 75
+ ug 76
+a u 77
+g k 78
+kan 79
+la 80
+len 81
+sur 82
+ug 83
+ ai 84
+apa 85
+aw 86
+d s 87
+g d 88
+g g 89
+ile 90
+nin 91
+ iy 92
+ su 93
+ene 94
+og 95
+ot 96
+aba 97
+aha 98
+as 99
+imo 100
+ ki 101
+a t 102
+aga 103
+ban 104
+ero 105
+nan 106
+o k 107
+ran 108
+ron 109
+sil 110
+una 111
+usa 112
+ us 113
+a g 114
+ahi 115
+ani 116
+er 117
+ha 118
+i a 119
+rer 120
+yon 121
+ pu 122
+ini 123
+nak 124
+ro 125
+to 126
+ure 127
+ ed 128
+ og 129
+ wa 130
+ili 131
+mo 132
+n a 133
+nd 134
+o a 135
+ ad 136
+ du 137
+ pr 138
+aro 139
+i s 140
+ma 141
+n m 142
+ulo 143
+und 144
+ ta 145
+ara 146
+asa 147
+ato 148
+awa 149
+dmu 150
+e n 151
+edm 152
+ina 153
+mak 154
+mun 155
+niy 156
+san 157
+wa 158
+ tu 159
+ un 160
+a l 161
+bay 162
+iga 163
+ika 164
+ita 165
+kin 166
+lis 167
+may 168
+os 169
+ ar 170
+ad 171
+ali 172
+ama 173
+ers 174
+ipa 175
+isa 176
+mao 177
+nim 178
+t s 179
+tin 180
+ ak 181
+ ap 182
+ hi 183
+abo 184
+agp 185
+ano 186
+ata 187
+g i 188
+gan 189
+gka 190
+gpa 191
+i m 192
+iha 193
+k s 194
+law 195
+or 196
+rs 197
+siy 198
+tag 199
+ al 200
+ at 201
+ ha 202
+ hu 203
+ im 204
+a h 205
+bu 206
+e s 207
+gma 208
+kas 209
+lag 210
+mon 211
+nah 212
+ngo 213
+r s 214
+ra 215
+sab 216
+sam 217
+sul 218
+uba 219
+uha 220
+ lo 221
+ re 222
+ada 223
+aki 224
+aya 225
+bah 226
+ce 227
+d n 228
+lab 229
+pa 230
+pak 231
+s n 232
+s s 233
+tan 234
+taw 235
+te 236
+uma 237
+ura 238
+ in 239
+ lu 240
+a c 241
+abi 242
+at 243
+awo 244
+bat 245
+dal 246
+dla 247
+ele 248
+g t 249
+g u 250
+gay 251
+go 252
+hab 253
+hin 254
+i e 255
+i n 256
+kab 257
+kap 258
+lay 259
+lin 260
+nil 261
+pam 262
+pas 263
+pro 264
+pul 265
+ta 266
+ton 267
+uga 268
+ugm 269
+unt 270
+ co 271
+ gu 272
+ mi 273
+ pi 274
+ ti 275
+a o 276
+abu 277
+adl 278
+ado 279
+agh 280
+agk 281
+ao 282
+art 283
+bal 284
+cit 285
+di 286
+dto 287
+dun 288
+ent 289
+g e 290
+gon 291
+gug 292
+ia 293
+iba 294
+ice 295
+in 296
+inu 297
+it 298
+kaa 299
diff --git a/silpa/modules/guesslanguages/trigrams/cs b/silpa/modules/guesslanguages/trigrams/cs
new file mode 100644
index 0000000..951f17d
--- /dev/null
+++ b/silpa/modules/guesslanguages/trigrams/cs
@@ -0,0 +1,300 @@
+ pr 0
+ po 1
+ní 2
+pro 3
+ na 4
+na 5
+ př 6
+ch 7
+ je 8
+ ne 9
+že 10
+ že 11
+ se 12
+ do 13
+ ro 14
+ st 15
+ v 16
+ ve 17
+pře 18
+se 19
+ho 20
+sta 21
+ to 22
+ vy 23
+ za 24
+ou 25
+ a 26
+to 27
+ by 28
+la 29
+ce 30
+e v 31
+ist 32
+le 33
+pod 34
+í p 35
+ vl 36
+e n 37
+e s 38
+je 39
+ké 40
+by 41
+em 42
+ých 43
+ od 44
+ova 45
+řed 46
+dy 47
+ení 48
+kon 49
+li 50
+ně 51
+str 52
+ zá 53
+ve 54
+ ka 55
+ sv 56
+e p 57
+it 58
+lád 59
+oho 60
+rov 61
+roz 62
+ter 63
+vlá 64
+ím 65
+ ko 66
+hod 67
+nis 68
+pří 69
+ský 70
+ mi 71
+ ob 72
+ so 73
+a p 74
+ali 75
+bud 76
+edn 77
+ick 78
+kte 79
+ku 80
+o s 81
+al 82
+ci 83
+e t 84
+il 85
+ny 86
+né 87
+odl 88
+ová 89
+rot 90
+sou 91
+ání 92
+ bu 93
+ mo 94
+ o 95
+ast 96
+byl 97
+de 98
+ek 99
+ost 100
+ mí 101
+ ta 102
+es 103
+jed 104
+ky 105
+las 106
+m p 107
+nes 108
+ním 109
+ran 110
+rem 111
+ros 112
+ého 113
+ de 114
+ kt 115
+ ni 116
+ si 117
+ vý 118
+at 119
+jí 120
+ký 121
+mi 122
+pre 123
+tak 124
+tan 125
+y v 126
+řek 127
+ ch 128
+ li 129
+ ná 130
+ pa 131
+ ře 132
+da 133
+dle 134
+dne 135
+i p 136
+i v 137
+ly 138
+min 139
+o n 140
+o v 141
+pol 142
+tra 143
+val 144
+vní 145
+ích 146
+ý p 147
+řej 148
+ ce 149
+ kd 150
+ le 151
+a s 152
+a z 153
+cen 154
+e k 155
+eds 156
+ekl 157
+emi 158
+kl 159
+lat 160
+lo 161
+mié 162
+nov 163
+pra 164
+sku 165
+ské 166
+sti 167
+tav 168
+ti 169
+ty 170
+ván 171
+vé 172
+y n 173
+y s 174
+í s 175
+í v 176
+ě p 177
+ dn 178
+ ně 179
+ sp 180
+ čs 181
+a n 182
+a t 183
+ak 184
+dní 185
+doh 186
+e b 187
+e m 188
+ejn 189
+ena 190
+est 191
+ini 192
+m z 193
+nal 194
+nou 195
+ná 196
+ovi 197
+ové 198
+ový 199
+rsk 200
+stá 201
+tí 202
+tře 203
+tů 204
+ude 205
+za 206
+é p 207
+ém 208
+í d 209
+ ir 210
+ zv 211
+ale 212
+aně 213
+ave 214
+cké 215
+den 216
+e z 217
+ech 218
+en 219
+erý 220
+hla 221
+i s 222
+iér 223
+lov 224
+mu 225
+neb 226
+nic 227
+o b 228
+o m 229
+pad 230
+pot 231
+rav 232
+rop 233
+rý 234
+sed 235
+si 236
+t p 237
+tic 238
+tu 239
+tě 240
+u p 241
+u v 242
+vá 243
+výš 244
+zvý 245
+ční 246
+ří 247
+ům 248
+ bl 249
+ br 250
+ ho 251
+ ja 252
+ re 253
+ s 254
+ z 255
+ zd 256
+a v 257
+ani 258
+ato 259
+bla 260
+bri 261
+ečn 262
+eře 263
+h v 264
+i n 265
+ie 266
+ila 267
+irs 268
+ite 269
+kov 270
+nos 271
+o o 272
+o p 273
+oce 274
+ody 275
+ohl 276
+oli 277
+ovo 278
+pla 279
+poč 280
+prá 281
+ra 282
+rit 283
+rod 284
+ry 285
+sd 286
+sko 287
+ssd 288
+tel 289
+u s 290
+vat 291
+veř 292
+vit 293
+vla 294
+y p 295
+áln 296
+čss 297
+šen 298
+ al 299
diff --git a/silpa/modules/guesslanguages/trigrams/cy b/silpa/modules/guesslanguages/trigrams/cy
new file mode 100644
index 0000000..cecc555
--- /dev/null
+++ b/silpa/modules/guesslanguages/trigrams/cy
@@ -0,0 +1,300 @@
+yn 0
+dd 1
+ yn 2
+ y 3
+ydd 4
+eth 5
+th 6
+ i 7
+aet 8
+d y 9
+ch 10
+od 11
+ol 12
+edd 13
+ ga 14
+ gw 15
+'r 16
+au 17
+ddi 18
+ad 19
+ cy 20
+ gy 21
+ ei 22
+ o 23
+iad 24
+yr 25
+an 26
+bod 27
+wed 28
+ bo 29
+ dd 30
+el 31
+n y 32
+ am 33
+di 34
+edi 35
+on 36
+ we 37
+ ym 38
+ ar 39
+ rh 40
+odd 41
+ ca 42
+ ma 43
+ael 44
+oed 45
+dae 46
+n a 47
+dda 48
+er 49
+h y 50
+all 51
+ei 52
+ ll 53
+am 54
+eu 55
+fod 56
+fyd 57
+l y 58
+n g 59
+wyn 60
+d a 61
+i g 62
+mae 63
+neu 64
+os 65
+ ne 66
+d i 67
+dod 68
+dol 69
+n c 70
+r h 71
+wyd 72
+wyr 73
+ai 74
+ar 75
+in 76
+rth 77
+ fy 78
+ he 79
+ me 80
+ yr 81
+'n 82
+dia 83
+est 84
+h c 85
+hai 86
+i d 87
+id 88
+r y 89
+y b 90
+ dy 91
+ ha 92
+ada 93
+i b 94
+n i 95
+ote 96
+rot 97
+tes 98
+y g 99
+yd 100
+ ad 101
+ mr 102
+ un 103
+cyn 104
+dau 105
+ddy 106
+edo 107
+i c 108
+i w 109
+ith 110
+lae 111
+lla 112
+nd 113
+oda 114
+ryd 115
+tho 116
+ a 117
+ dr 118
+aid 119
+ain 120
+ddo 121
+dyd 122
+fyn 123
+gyn 124
+hol 125
+io 126
+o a 127
+wch 128
+wyb 129
+ybo 130
+ych 131
+ br 132
+ by 133
+ di 134
+ fe 135
+ na 136
+ o' 137
+ pe 138
+art 139
+byd 140
+dro 141
+gal 142
+l e 143
+lai 144
+mr 145
+n n 146
+r a 147
+rhy 148
+wn 149
+ynn 150
+ on 151
+ r 152
+cae 153
+d g 154
+d o 155
+d w 156
+gan 157
+gwy 158
+n d 159
+n f 160
+n o 161
+ned 162
+ni 163
+o'r 164
+r d 165
+ud 166
+wei 167
+wrt 168
+ an 169
+ cw 170
+ da 171
+ ni 172
+ pa 173
+ pr 174
+ wy 175
+d e 176
+dai 177
+dim 178
+eud 179
+gwa 180
+idd 181
+im 182
+iri 183
+lwy 184
+n b 185
+nol 186
+r o 187
+rwy 188
+ ch 189
+ er 190
+ fo 191
+ ge 192
+ hy 193
+ i' 194
+ ro 195
+ sa 196
+ tr 197
+bob 198
+cwy 199
+cyf 200
+dio 201
+dyn 202
+eit 203
+hel 204
+hyn 205
+ich 206
+ll 207
+mdd 208
+n r 209
+ond 210
+pro 211
+r c 212
+r g 213
+red 214
+rha 215
+u a 216
+u c 217
+u y 218
+y c 219
+ymd 220
+ymr 221
+yw 222
+ ac 223
+ be 224
+ bl 225
+ co 226
+ os 227
+adw 228
+ae 229
+af 230
+d p 231
+efn 232
+eic 233
+en 234
+eol 235
+es 236
+fer 237
+gel 238
+h g 239
+hod 240
+ied 241
+ir 242
+laf 243
+n h 244
+na 245
+nyd 246
+odo 247
+ofy 248
+rdd 249
+rie 250
+ros 251
+stw 252
+twy 253
+yda 254
+yng 255
+ at 256
+ de 257
+ go 258
+ id 259
+ oe 260
+ â 261
+'ch 262
+ac 263
+ach 264
+ae' 265
+al 266
+bl 267
+d c 268
+d l 269
+dan 270
+dde 271
+ddw 272
+dir 273
+dla 274
+ed 275
+ela 276
+ell 277
+ene 278
+ewn 279
+gyd 280
+hau 281
+hyw 282
+i a 283
+i f 284
+iol 285
+ion 286
+l a 287
+l i 288
+lia 289
+med 290
+mon 291
+n s 292
+no 293
+obl 294
+ola 295
+ref 296
+rn 297
+thi 298
+un 299
diff --git a/silpa/modules/guesslanguages/trigrams/da b/silpa/modules/guesslanguages/trigrams/da
new file mode 100644
index 0000000..eae5d33
--- /dev/null
+++ b/silpa/modules/guesslanguages/trigrams/da
@@ -0,0 +1,300 @@
+er 0
+en 1
+ de 2
+et 3
+der 4
+de 5
+for 6
+ fo 7
+ i 8
+at 9
+ at 10
+re 11
+det 12
+ ha 13
+nde 14
+ere 15
+ing 16
+den 17
+ me 18
+ og 19
+ger 20
+ter 21
+ er 22
+ si 23
+and 24
+ af 25
+or 26
+ st 27
+ ti 28
+ en 29
+og 30
+ar 31
+il 32
+r s 33
+ige 34
+til 35
+ke 36
+r e 37
+af 38
+kke 39
+ ma 40
+ på 41
+om 42
+på 43
+ed 44
+ge 45
+end 46
+nge 47
+t s 48
+e s 49
+ler 50
+ sk 51
+els 52
+ern 53
+sig 54
+ne 55
+lig 56
+r d 57
+ska 58
+ vi 59
+har 60
+ be 61
+ se 62
+an 63
+ikk 64
+lle 65
+gen 66
+n f 67
+ste 68
+t a 69
+t d 70
+rin 71
+ ik 72
+es 73
+ng 74
+ver 75
+r b 76
+sen 77
+ede 78
+men 79
+r i 80
+ he 81
+ et 82
+ig 83
+lan 84
+med 85
+nd 86
+rne 87
+ da 88
+ in 89
+e t 90
+mme 91
+und 92
+ om 93
+e e 94
+e m 95
+her 96
+le 97
+r f 98
+t f 99
+så 100
+te 101
+ so 102
+ele 103
+t e 104
+ ko 105
+est 106
+ske 107
+ bl 108
+e f 109
+ekt 110
+mar 111
+bru 112
+e a 113
+el 114
+ers 115
+ret 116
+som 117
+tte 118
+ve 119
+ la 120
+ ud 121
+ ve 122
+age 123
+e d 124
+e h 125
+lse 126
+man 127
+rug 128
+sel 129
+ser 130
+ fi 131
+ op 132
+ pr 133
+dt 134
+e i 135
+n m 136
+r m 137
+ an 138
+ re 139
+ sa 140
+ion 141
+ner 142
+res 143
+t i 144
+get 145
+n s 146
+one 147
+orb 148
+t h 149
+vis 150
+år 151
+ fr 152
+bil 153
+e k 154
+ens 155
+ind 156
+omm 157
+t m 158
+ hv 159
+ je 160
+dan 161
+ent 162
+fte 163
+nin 164
+ mi 165
+e o 166
+e p 167
+n o 168
+nte 169
+ ku 170
+ell 171
+nas 172
+ore 173
+r h 174
+r k 175
+sta 176
+sto 177
+dag 178
+eri 179
+kun 180
+lde 181
+mer 182
+r a 183
+r v 184
+rek 185
+rer 186
+t o 187
+tor 188
+tør 189
+ få 190
+ må 191
+ to 192
+boe 193
+che 194
+e v 195
+i d 196
+ive 197
+kab 198
+ns 199
+oel 200
+se 201
+t v 202
+ al 203
+ bo 204
+ un 205
+ans 206
+dre 207
+ire 208
+køb 209
+ors 210
+ove 211
+ren 212
+t b 213
+ør 214
+ ka 215
+ald 216
+bet 217
+gt 218
+isk 219
+kal 220
+kom 221
+lev 222
+n d 223
+n i 224
+pri 225
+r p 226
+rbr 227
+søg 228
+tel 229
+ så 230
+ te 231
+ va 232
+al 233
+dir 234
+eje 235
+fis 236
+gså 237
+isc 238
+jer 239
+ker 240
+ogs 241
+sch 242
+st 243
+t k 244
+uge 245
+ di 246
+ag 247
+d a 248
+g i 249
+ill 250
+l a 251
+lsk 252
+n a 253
+on 254
+sam 255
+str 256
+tet 257
+var 258
+ mo 259
+art 260
+ash 261
+att 262
+e b 263
+han 264
+hav 265
+kla 266
+kon 267
+n t 268
+ned 269
+r o 270
+ra 271
+rre 272
+ves 273
+vil 274
+ el 275
+ kr 276
+ ov 277
+ann 278
+e u 279
+ess 280
+fra 281
+g a 282
+g d 283
+int 284
+ngs 285
+rde 286
+tra 287
+ år 288
+akt 289
+asi 290
+em 291
+gel 292
+gym 293
+hol 294
+kan 295
+mna 296
+n h 297
+nsk 298
+old 299
diff --git a/silpa/modules/guesslanguages/trigrams/de b/silpa/modules/guesslanguages/trigrams/de
new file mode 100644
index 0000000..075a874
--- /dev/null
+++ b/silpa/modules/guesslanguages/trigrams/de
@@ -0,0 +1,300 @@
+en 0
+er 1
+ de 2
+der 3
+ie 4
+ di 5
+die 6
+sch 7
+ein 8
+che 9
+ich 10
+den 11
+in 12
+te 13
+ch 14
+ ei 15
+ung 16
+n d 17
+nd 18
+ be 19
+ver 20
+es 21
+ zu 22
+eit 23
+gen 24
+und 25
+ un 26
+ au 27
+ in 28
+cht 29
+it 30
+ten 31
+ da 32
+ent 33
+ ve 34
+and 35
+ ge 36
+ine 37
+ mi 38
+r d 39
+hen 40
+ng 41
+nde 42
+ vo 43
+e d 44
+ber 45
+men 46
+ei 47
+mit 48
+ st 49
+ter 50
+ren 51
+t d 52
+ er 53
+ere 54
+n s 55
+ste 56
+ se 57
+e s 58
+ht 59
+des 60
+ist 61
+ne 62
+auf 63
+e a 64
+isc 65
+on 66
+rte 67
+ re 68
+ we 69
+ges 70
+uch 71
+ fü 72
+ so 73
+bei 74
+e e 75
+nen 76
+r s 77
+ach 78
+für 79
+ier 80
+par 81
+ür 82
+ ha 83
+as 84
+ert 85
+ an 86
+ pa 87
+ sa 88
+ sp 89
+ wi 90
+for 91
+tag 92
+zu 93
+das 94
+rei 95
+he 96
+hre 97
+nte 98
+sen 99
+vor 100
+ sc 101
+ech 102
+etz 103
+hei 104
+lan 105
+n a 106
+pd 107
+st 108
+sta 109
+ese 110
+lic 111
+ ab 112
+ si 113
+gte 114
+ wa 115
+iti 116
+kei 117
+n e 118
+nge 119
+sei 120
+tra 121
+zen 122
+ im 123
+ la 124
+art 125
+im 126
+lle 127
+n w 128
+rde 129
+rec 130
+set 131
+str 132
+tei 133
+tte 134
+ ni 135
+e p 136
+ehe 137
+ers 138
+g d 139
+nic 140
+von 141
+ al 142
+ pr 143
+an 144
+aus 145
+erf 146
+r e 147
+tze 148
+tür 149
+uf 150
+ag 151
+als 152
+ar 153
+chs 154
+end 155
+ge 156
+ige 157
+ion 158
+ls 159
+n m 160
+ngs 161
+nis 162
+nt 163
+ord 164
+s s 165
+sse 166
+ tü 167
+ahl 168
+e b 169
+ede 170
+em 171
+len 172
+n i 173
+orm 174
+pro 175
+rke 176
+run 177
+s d 178
+wah 179
+wer 180
+ürk 181
+ me 182
+age 183
+att 184
+ell 185
+est 186
+hat 187
+n b 188
+oll 189
+raf 190
+s a 191
+tsc 192
+ es 193
+ fo 194
+ gr 195
+ ja 196
+abe 197
+auc 198
+ben 199
+e n 200
+ege 201
+lie 202
+n u 203
+r v 204
+re 205
+rit 206
+sag 207
+ am 208
+agt 209
+ahr 210
+bra 211
+de 212
+erd 213
+her 214
+ite 215
+le 216
+n p 217
+n v 218
+or 219
+rbe 220
+rt 221
+sic 222
+wie 223
+übe 224
+ is 225
+ üb 226
+cha 227
+chi 228
+e f 229
+e m 230
+eri 231
+ied 232
+mme 233
+ner 234
+r a 235
+sti 236
+t a 237
+t s 238
+tis 239
+ ko 240
+arb 241
+ds 242
+gan 243
+n z 244
+r f 245
+r w 246
+ran 247
+se 248
+t i 249
+wei 250
+wir 251
+ br 252
+ np 253
+am 254
+bes 255
+d d 256
+deu 257
+e g 258
+e k 259
+efo 260
+et 261
+eut 262
+fen 263
+hse 264
+lte 265
+n r 266
+npd 267
+r b 268
+rhe 269
+t w 270
+tz 271
+ fr 272
+ ih 273
+ ke 274
+ ma 275
+ame 276
+ang 277
+d s 278
+eil 279
+el 280
+era 281
+erh 282
+h d 283
+i d 284
+kan 285
+n f 286
+n l 287
+nts 288
+och 289
+rag 290
+rd 291
+spd 292
+spr 293
+tio 294
+ ar 295
+ en 296
+ ka 297
+ark 298
+ass 299
diff --git a/silpa/modules/guesslanguages/trigrams/en b/silpa/modules/guesslanguages/trigrams/en
new file mode 100644
index 0000000..5cbac5c
--- /dev/null
+++ b/silpa/modules/guesslanguages/trigrams/en
@@ -0,0 +1,300 @@
+ th 0
+the 1
+he 2
+ed 3
+ to 4
+ in 5
+er 6
+ing 7
+ng 8
+ an 9
+nd 10
+ of 11
+and 12
+to 13
+of 14
+ co 15
+at 16
+on 17
+in 18
+ a 19
+d t 20
+ he 21
+e t 22
+ion 23
+es 24
+ re 25
+re 26
+hat 27
+ sa 28
+ st 29
+ ha 30
+her 31
+tha 32
+tio 33
+or 34
+ '' 35
+en 36
+ wh 37
+e s 38
+ent 39
+n t 40
+s a 41
+as 42
+for 43
+is 44
+t t 45
+ be 46
+ld 47
+e a 48
+rs 49
+ wa 50
+ut 51
+ve 52
+ll 53
+al 54
+ ma 55
+e i 56
+ fo 57
+'s 58
+an 59
+est 60
+ hi 61
+ mo 62
+ se 63
+ pr 64
+s t 65
+ate 66
+st 67
+ter 68
+ere 69
+ted 70
+nt 71
+ver 72
+d a 73
+ wi 74
+se 75
+e c 76
+ect 77
+ns 78
+ on 79
+ly 80
+tol 81
+ey 82
+r t 83
+ ca 84
+ati 85
+ts 86
+all 87
+ no 88
+his 89
+s o 90
+ers 91
+con 92
+e o 93
+ear 94
+f t 95
+e w 96
+was 97
+ons 98
+sta 99
+'' 100
+sti 101
+n a 102
+sto 103
+t h 104
+ we 105
+id 106
+th 107
+ it 108
+ce 109
+ di 110
+ave 111
+d h 112
+cou 113
+pro 114
+ad 115
+oll 116
+ry 117
+d s 118
+e m 119
+ so 120
+ill 121
+cti 122
+te 123
+tor 124
+eve 125
+g t 126
+it 127
+ ch 128
+ de 129
+hav 130
+oul 131
+ty 132
+uld 133
+use 134
+ al 135
+are 136
+ch 137
+me 138
+out 139
+ove 140
+wit 141
+ys 142
+chi 143
+t a 144
+ith 145
+oth 146
+ ab 147
+ te 148
+ wo 149
+s s 150
+res 151
+t w 152
+tin 153
+e b 154
+e h 155
+nce 156
+t s 157
+y t 158
+e p 159
+ele 160
+hin 161
+s i 162
+nte 163
+ li 164
+le 165
+ do 166
+aid 167
+hey 168
+ne 169
+s w 170
+ as 171
+ fr 172
+ tr 173
+end 174
+sai 175
+ el 176
+ ne 177
+ su 178
+'t 179
+ay 180
+hou 181
+ive 182
+lec 183
+n't 184
+ ye 185
+but 186
+d o 187
+o t 188
+y o 189
+ ho 190
+ me 191
+be 192
+cal 193
+e e 194
+had 195
+ple 196
+ at 197
+ bu 198
+ la 199
+d b 200
+s h 201
+say 202
+t i 203
+ ar 204
+e f 205
+ght 206
+hil 207
+igh 208
+int 209
+not 210
+ren 211
+ is 212
+ pa 213
+ sh 214
+ays 215
+com 216
+n s 217
+r a 218
+rin 219
+y a 220
+ un 221
+n c 222
+om 223
+thi 224
+ mi 225
+by 226
+d i 227
+e d 228
+e n 229
+t o 230
+ by 231
+e r 232
+eri 233
+old 234
+ome 235
+whe 236
+yea 237
+ gr 238
+ar 239
+ity 240
+mpl 241
+oun 242
+one 243
+ow 244
+r s 245
+s f 246
+tat 247
+ ba 248
+ vo 249
+bou 250
+sam 251
+tim 252
+vot 253
+abo 254
+ant 255
+ds 256
+ial 257
+ine 258
+man 259
+men 260
+ or 261
+ po 262
+amp 263
+can 264
+der 265
+e l 266
+les 267
+ny 268
+ot 269
+rec 270
+tes 271
+tho 272
+ica 273
+ild 274
+ir 275
+nde 276
+ose 277
+ous 278
+pre 279
+ste 280
+era 281
+per 282
+r o 283
+red 284
+rie 285
+ bo 286
+ le 287
+ali 288
+ars 289
+ore 290
+ric 291
+s m 292
+str 293
+ fa 294
+ess 295
+ie 296
+ist 297
+lat 298
+uri 299
diff --git a/silpa/modules/guesslanguages/trigrams/es b/silpa/modules/guesslanguages/trigrams/es
new file mode 100644
index 0000000..e7dd7cb
--- /dev/null
+++ b/silpa/modules/guesslanguages/trigrams/es
@@ -0,0 +1,300 @@
+ de 0
+de 1
+ la 2
+os 3
+la 4
+el 5
+es 6
+ qu 7
+ co 8
+e l 9
+as 10
+que 11
+ el 12
+ue 13
+en 14
+ent 15
+ en 16
+ se 17
+nte 18
+res 19
+con 20
+est 21
+ es 22
+s d 23
+ lo 24
+ pr 25
+los 26
+ y 27
+do 28
+ón 29
+ión 30
+ un 31
+ció 32
+del 33
+o d 34
+ po 35
+a d 36
+aci 37
+sta 38
+te 39
+ado 40
+pre 41
+to 42
+par 43
+a e 44
+a l 45
+ra 46
+al 47
+e e 48
+se 49
+pro 50
+ar 51
+ia 52
+o e 53
+ re 54
+ida 55
+dad 56
+tra 57
+por 58
+s p 59
+ a 60
+a p 61
+ara 62
+cia 63
+ pa 64
+com 65
+no 66
+ di 67
+ in 68
+ien 69
+n l 70
+ad 71
+ant 72
+e s 73
+men 74
+a c 75
+on 76
+un 77
+las 78
+nci 79
+ tr 80
+cio 81
+ier 82
+nto 83
+tiv 84
+n d 85
+n e 86
+or 87
+s c 88
+enc 89
+ern 90
+io 91
+a s 92
+ici 93
+s e 94
+ ma 95
+dos 96
+e a 97
+e c 98
+emp 99
+ica 100
+ivo 101
+l p 102
+n c 103
+r e 104
+ta 105
+ter 106
+e d 107
+esa 108
+ez 109
+mpr 110
+o a 111
+s a 112
+ ca 113
+ su 114
+ion 115
+ cu 116
+ ju 117
+an 118
+da 119
+ene 120
+ero 121
+na 122
+rec 123
+ro 124
+tar 125
+ al 126
+ an 127
+bie 128
+e p 129
+er 130
+l c 131
+n p 132
+omp 133
+ten 134
+ em 135
+ist 136
+nes 137
+nta 138
+o c 139
+so 140
+tes 141
+era 142
+l d 143
+l m 144
+les 145
+ntr 146
+o s 147
+ore 148
+rá 149
+s q 150
+s y 151
+sto 152
+a a 153
+a r 154
+ari 155
+des 156
+e q 157
+ivi 158
+lic 159
+lo 160
+n a 161
+one 162
+ora 163
+per 164
+pue 165
+r l 166
+re 167
+ren 168
+una 169
+ía 170
+ada 171
+cas 172
+ere 173
+ide 174
+min 175
+n s 176
+ndo 177
+ran 178
+rno 179
+ ac 180
+ ex 181
+ go 182
+ no 183
+a t 184
+aba 185
+ble 186
+ece 187
+ect 188
+l a 189
+l g 190
+lid 191
+nsi 192
+ons 193
+rac 194
+rio 195
+str 196
+uer 197
+ust 198
+ ha 199
+ le 200
+ mi 201
+ mu 202
+ ob 203
+ pe 204
+ pu 205
+ so 206
+a i 207
+ale 208
+ca 209
+cto 210
+e i 211
+e u 212
+eso 213
+fer 214
+fic 215
+gob 216
+jo 217
+ma 218
+mpl 219
+o p 220
+obi 221
+s m 222
+sa 223
+sep 224
+ste 225
+sti 226
+tad 227
+tod 228
+y s 229
+ ci 230
+and 231
+ces 232
+có 233
+dor 234
+e m 235
+eci 236
+eco 237
+esi 238
+int 239
+iza 240
+l e 241
+lar 242
+mie 243
+ner 244
+orc 245
+rci 246
+ria 247
+tic 248
+tor 249
+ as 250
+ si 251
+ce 252
+den 253
+e r 254
+e t 255
+end 256
+eri 257
+esp 258
+ial 259
+ido 260
+ina 261
+inc 262
+mit 263
+o l 264
+ome 265
+pli 266
+ras 267
+s t 268
+sid 269
+sup 270
+tab 271
+uen 272
+ues 273
+ura 274
+vo 275
+vor 276
+ sa 277
+ ti 278
+abl 279
+ali 280
+aso 281
+ast 282
+cor 283
+cti 284
+cue 285
+div 286
+duc 287
+ens 288
+eti 289
+imi 290
+ini 291
+lec 292
+o q 293
+oce 294
+ort 295
+ral 296
+rma 297
+roc 298
+rod 299
diff --git a/silpa/modules/guesslanguages/trigrams/et b/silpa/modules/guesslanguages/trigrams/et
new file mode 100644
index 0000000..911f470
--- /dev/null
+++ b/silpa/modules/guesslanguages/trigrams/et
@@ -0,0 +1,300 @@
+st 0
+ ka 1
+on 2
+ja 3
+ va 4
+ on 5
+ ja 6
+ ko 7
+se 8
+ast 9
+le 10
+es 11
+as 12
+is 13
+ud 14
+ sa 15
+da 16
+ga 17
+ ta 18
+aja 19
+sta 20
+ ku 21
+ pe 22
+a k 23
+est 24
+ist 25
+ks 26
+ta 27
+al 28
+ava 29
+id 30
+saa 31
+mis 32
+te 33
+val 34
+ et 35
+nud 36
+ te 37
+inn 38
+ se 39
+ tu 40
+a v 41
+alu 42
+e k 43
+ise 44
+lu 45
+ma 46
+mes 47
+ mi 48
+et 49
+iku 50
+lin 51
+ad 52
+el 53
+ime 54
+ne 55
+nna 56
+ ha 57
+ in 58
+ ke 59
+ võ 60
+a s 61
+a t 62
+ab 63
+e s 64
+esi 65
+ la 66
+ li 67
+e v 68
+eks 69
+ema 70
+las 71
+les 72
+rju 73
+tle 74
+tsi 75
+tus 76
+upa 77
+use 78
+ust 79
+var 80
+ lä 81
+ali 82
+arj 83
+de 84
+ete 85
+i t 86
+iga 87
+ilm 88
+kui 89
+li 90
+tul 91
+ ei 92
+ me 93
+ sõ 94
+aal 95
+ata 96
+dus 97
+ei 98
+nik 99
+pea 100
+s k 101
+s o 102
+sal 103
+sõn 104
+ter 105
+ul 106
+või 107
+ el 108
+ ne 109
+a j 110
+ate 111
+end 112
+i k 113
+ita 114
+kar 115
+kor 116
+l o 117
+lt 118
+maa 119
+oli 120
+sti 121
+vad 122
+ään 123
+ ju 124
+ jä 125
+ kü 126
+ ma 127
+ po 128
+ üt 129
+aas 130
+aks 131
+at 132
+ed 133
+eri 134
+hoi 135
+i s 136
+ka 137
+la 138
+nni 139
+oid 140
+pai 141
+rit 142
+us 143
+ütl 144
+ aa 145
+ lo 146
+ to 147
+ ve 148
+a e 149
+ada 150
+aid 151
+ami 152
+and 153
+dla 154
+e j 155
+ega 156
+gi 157
+gu 158
+i p 159
+idl 160
+ik 161
+ini 162
+jup 163
+kal 164
+kas 165
+kes 166
+koh 167
+s e 168
+s p 169
+sel 170
+sse 171
+ui 172
+ pi 173
+ si 174
+aru 175
+eda 176
+eva 177
+fil 178
+i v 179
+ida 180
+ing 181
+lää 182
+me 183
+na 184
+nda 185
+nim 186
+ole 187
+ots 188
+ris 189
+s l 190
+sia 191
+t p 192
+ en 193
+ mu 194
+ ol 195
+ põ 196
+ su 197
+ vä 198
+ üh 199
+a l 200
+a p 201
+aga 202
+ale 203
+aps 204
+arv 205
+e a 206
+ela 207
+ika 208
+lle 209
+loo 210
+mal 211
+pet 212
+t k 213
+tee 214
+tis 215
+vat 216
+äne 217
+õnn 218
+ es 219
+ fi 220
+ vi 221
+a i 222
+a o 223
+aab 224
+aap 225
+ala 226
+alt 227
+ama 228
+anu 229
+e p 230
+e t 231
+eal 232
+eli 233
+haa 234
+hin 235
+iva 236
+kon 237
+ku 238
+lik 239
+lm 240
+min 241
+n t 242
+odu 243
+oon 244
+psa 245
+ri 246
+si 247
+stu 248
+t e 249
+t s 250
+ti 251
+ule 252
+uur 253
+vas 254
+vee 255
+ ki 256
+ ni 257
+ nä 258
+ ra 259
+aig 260
+aka 261
+all 262
+atu 263
+e e 264
+eis 265
+ers 266
+i e 267
+ii 268
+iis 269
+il 270
+ima 271
+its 272
+kka 273
+kuh 274
+l k 275
+lat 276
+maj 277
+ndu 278
+ni 279
+nii 280
+oma 281
+ool 282
+rso 283
+ru 284
+rva 285
+s t 286
+sek 287
+son 288
+ste 289
+t m 290
+taj 291
+tam 292
+ude 293
+uho 294
+vai 295
+ ag 296
+ os 297
+ pa 298
+ re 299
diff --git a/silpa/modules/guesslanguages/trigrams/eu b/silpa/modules/guesslanguages/trigrams/eu
new file mode 100644
index 0000000..e8e34a2
--- /dev/null
+++ b/silpa/modules/guesslanguages/trigrams/eu
@@ -0,0 +1,300 @@
+en 0
+an 1
+eta 2
+ta 3
+ et 4
+iza 5
+n e 6
+ko 7
+ide 8
+ ba 9
+a e 10
+giz 11
+ es 12
+ gi 13
+arr 14
+bid 15
+ren 16
+rri 17
+are 18
+la 19
+sku 20
+ be 21
+asu 22
+esk 23
+sun 24
+tas 25
+ iz 26
+ean 27
+eko 28
+ela 29
+ik 30
+kub 31
+n a 32
+n i 33
+tza 34
+ubi 35
+za 36
+zan 37
+ er 38
+a b 39
+ask 40
+era 41
+n b 42
+rre 43
+ten 44
+tze 45
+ as 46
+ ko 47
+a a 48
+a g 49
+ald 50
+ani 51
+de 52
+dee 53
+ea 54
+ek 55
+kat 56
+kon 57
+n d 58
+ont 59
+uan 60
+ du 61
+ na 62
+ata 63
+egi 64
+est 65
+k e 66
+nik 67
+ntu 68
+ntz 69
+ska 70
+tua 71
+ de 72
+ di 73
+ ez 74
+ he 75
+a d 76
+a k 77
+ak 78
+aki 79
+ako 80
+art 81
+atu 82
+azi 83
+bat 84
+ber 85
+itz 86
+kun 87
+n h 88
+o b 89
+ria 90
+rte 91
+tat 92
+une 93
+zar 94
+ al 95
+ ar 96
+ ha 97
+aku 98
+atz 99
+bai 100
+dar 101
+dea 102
+del 103
+een 104
+ema 105
+err 106
+iak 107
+iar 108
+in 109
+ina 110
+kia 111
+nar 112
+naz 113
+nea 114
+o e 115
+orr 116
+ra 117
+ste 118
+tek 119
+zak 120
+zek 121
+zio 122
+ da 123
+ em 124
+ hi 125
+ ho 126
+ ma 127
+ oi 128
+agu 129
+ate 130
+aur 131
+bes 132
+din 133
+dir 134
+dut 135
+ert 136
+ez 137
+ezi 138
+har 139
+her 140
+hit 141
+ia 142
+ien 143
+ika 144
+io 145
+ire 146
+ite 147
+k b 148
+k g 149
+kid 150
+kor 151
+lda 152
+n o 153
+nko 154
+o a 155
+oin 156
+ori 157
+rak 158
+rea 159
+rie 160
+rik 161
+rra 162
+tan 163
+tea 164
+tu 165
+una 166
+und 167
+unt 168
+urr 169
+ute 170
+z e 171
+zko 172
+ au 173
+ eg 174
+ gu 175
+ ir 176
+ ki 177
+ or 178
+a h 179
+a j 180
+abe 181
+agi 182
+ai 183
+ail 184
+ait 185
+ape 186
+ari 187
+dez 188
+e e 189
+ear 190
+eek 191
+erd 192
+ere 193
+eza 194
+ezk 195
+gir 196
+git 197
+hor 198
+i e 199
+ian 200
+iek 201
+ila 202
+ink 203
+int 204
+ira 205
+ita 206
+itu 207
+k n 208
+kap 209
+koa 210
+kum 211
+lan 212
+lde 213
+mai 214
+man 215
+men 216
+n g 217
+n u 218
+na 219
+nta 220
+o h 221
+oa 222
+oro 223
+pen 224
+rdi 225
+ri 226
+rta 227
+sta 228
+tel 229
+tet 230
+tik 231
+tue 232
+tzi 233
+ume 234
+un 235
+uzt 236
+zea 237
+zen 238
+zia 239
+zin 240
+ az 241
+ bi 242
+ bu 243
+ el 244
+ ga 245
+ jo 246
+ mu 247
+ ti 248
+ un 249
+ za 250
+ zi 251
+a n 252
+a o 253
+a s 254
+a t 255
+a z 256
+aba 257
+adi 258
+ake 259
+ala 260
+and 261
+ar 262
+aud 263
+bak 264
+bal 265
+beg 266
+beh 267
+bul 268
+dau 269
+den 270
+du 271
+dui 272
+e b 273
+e d 274
+e h 275
+e o 276
+eak 277
+eet 278
+eha 279
+elk 280
+enb 281
+ete 282
+eti 283
+gab 284
+gin 285
+go 286
+gus 287
+gut 288
+guz 289
+hau 290
+ibe 291
+inb 292
+ine 293
+ioa 294
+iru 295
+iur 296
+izi 297
+izk 298
+izo 299
diff --git a/silpa/modules/guesslanguages/trigrams/fa b/silpa/modules/guesslanguages/trigrams/fa
new file mode 100644
index 0000000..3401f72
--- /dev/null
+++ b/silpa/modules/guesslanguages/trigrams/fa
@@ -0,0 +1,300 @@
+ان 0
+ای 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
diff --git a/silpa/modules/guesslanguages/trigrams/fi b/silpa/modules/guesslanguages/trigrams/fi
new file mode 100644
index 0000000..d16172f
--- /dev/null
+++ b/silpa/modules/guesslanguages/trigrams/fi
@@ -0,0 +1,300 @@
+en 0
+in 1
+an 2
+on 3
+ist 4
+ta 5
+ja 6
+n t 7
+sa 8
+sta 9
+aan 10
+n p 11
+ on 12
+ssa 13
+tta 14
+tä 15
+ ka 16
+ pa 17
+si 18
+ ja 19
+n k 20
+lla 21
+än 22
+een 23
+n v 24
+ksi 25
+ett 26
+nen 27
+taa 28
+ttä 29
+ va 30
+ill 31
+itt 32
+ jo 33
+ ko 34
+n s 35
+ tu 36
+ia 37
+ su 38
+a p 39
+aa 40
+la 41
+lle 42
+n m 43
+le 44
+tte 45
+na 46
+ ta 47
+ ve 48
+at 49
+ vi 50
+utt 51
+ sa 52
+ise 53
+sen 54
+ ku 55
+ nä 56
+ pä 57
+ste 58
+ ol 59
+a t 60
+ais 61
+maa 62
+ti 63
+a o 64
+oit 65
+pää 66
+ pi 67
+a v 68
+ala 69
+ine 70
+isi 71
+tel 72
+tti 73
+ si 74
+a k 75
+all 76
+iin 77
+kin 78
+stä 79
+uom 80
+vii 81
+ ma 82
+ se 83
+enä 84
+ mu 85
+a s 86
+est 87
+iss 88
+llä 89
+lok 90
+lä 91
+n j 92
+n o 93
+toi 94
+ven 95
+ytt 96
+ li 97
+ain 98
+et 99
+ina 100
+n a 101
+n n 102
+oll 103
+plo 104
+ten 105
+ust 106
+äll 107
+ään 108
+ to 109
+den 110
+men 111
+oki 112
+suo 113
+sä 114
+tää 115
+uks 116
+vat 117
+ al 118
+ ke 119
+ te 120
+a e 121
+lii 122
+tai 123
+tei 124
+äis 125
+ää 126
+ pl 127
+ell 128
+i t 129
+ide 130
+ikk 131
+ki 132
+nta 133
+ova 134
+yst 135
+yt 136
+ä p 137
+äyt 138
+ ha 139
+ pe 140
+ tä 141
+a n 142
+aik 143
+i p 144
+i v 145
+nyt 146
+näy 147
+pal 148
+tee 149
+un 150
+ me 151
+a m 152
+ess 153
+kau 154
+pai 155
+stu 156
+ut 157
+voi 158
+ et 159
+a h 160
+eis 161
+hte 162
+i o 163
+iik 164
+ita 165
+jou 166
+mis 167
+nin 168
+nut 169
+sia 170
+ssä 171
+van 172
+ ty 173
+ yh 174
+aks 175
+ime 176
+loi 177
+me 178
+n e 179
+n h 180
+n l 181
+oin 182
+ome 183
+ott 184
+ouk 185
+sit 186
+sti 187
+tet 188
+tie 189
+ukk 190
+ä k 191
+ ra 192
+ ti 193
+aja 194
+asi 195
+ent 196
+iga 197
+iig 198
+ite 199
+jan 200
+kaa 201
+kse 202
+laa 203
+lan 204
+li 205
+näj 206
+ole 207
+tii 208
+usi 209
+äjä 210
+ ov 211
+a a 212
+ant 213
+ava 214
+ei 215
+eri 216
+kan 217
+kku 218
+lai 219
+lis 220
+läi 221
+mat 222
+ois 223
+pel 224
+sil 225
+sty 226
+taj 227
+tav 228
+ttu 229
+työ 230
+yös 231
+ä o 232
+ ai 233
+ pu 234
+a j 235
+a l 236
+aal 237
+arv 238
+ass 239
+ien 240
+imi 241
+imm 242
+itä 243
+ka 244
+kes 245
+kue 246
+lee 247
+lin 248
+llo 249
+one 250
+ri 251
+t o 252
+t p 253
+tu 254
+val 255
+vuo 256
+ ei 257
+ he 258
+ hy 259
+ my 260
+ vo 261
+ali 262
+alo 263
+ano 264
+ast 265
+att 266
+auk 267
+eli 268
+ely 269
+hti 270
+ika 271
+ken 272
+kki 273
+lys 274
+min 275
+myö 276
+oht 277
+oma 278
+tus 279
+umi 280
+yks 281
+ät 282
+ääl 283
+ös 284
+ ar 285
+ eu 286
+ hu 287
+ na 288
+aat 289
+alk 290
+alu 291
+ans 292
+arj 293
+enn 294
+han 295
+kuu 296
+n y 297
+set 298
+sim 299
diff --git a/silpa/modules/guesslanguages/trigrams/fr b/silpa/modules/guesslanguages/trigrams/fr
new file mode 100644
index 0000000..195f85e
--- /dev/null
+++ b/silpa/modules/guesslanguages/trigrams/fr
@@ -0,0 +1,300 @@
+es 0
+ de 1
+de 2
+ le 3
+ent 4
+le 5
+nt 6
+la 7
+s d 8
+ la 9
+ion 10
+on 11
+re 12
+ pa 13
+e l 14
+e d 15
+ l' 16
+e p 17
+ co 18
+ pr 19
+tio 20
+ns 21
+ en 22
+ne 23
+que 24
+r l 25
+les 26
+ur 27
+en 28
+ati 29
+ue 30
+ po 31
+ d' 32
+par 33
+ a 34
+et 35
+it 36
+ qu 37
+men 38
+ons 39
+te 40
+ et 41
+t d 42
+ re 43
+des 44
+ un 45
+ie 46
+s l 47
+ su 48
+pou 49
+ au 50
+ à 51
+con 52
+er 53
+ no 54
+ait 55
+e c 56
+se 57
+té 58
+du 59
+ du 60
+ dé 61
+ce 62
+e e 63
+is 64
+n d 65
+s a 66
+ so 67
+e r 68
+e s 69
+our 70
+res 71
+ssi 72
+eur 73
+ se 74
+eme 75
+est 76
+us 77
+sur 78
+ant 79
+iqu 80
+s p 81
+une 82
+uss 83
+l'a 84
+pro 85
+ter 86
+tre 87
+end 88
+rs 89
+ ce 90
+e a 91
+t p 92
+un 93
+ ma 94
+ ru 95
+ ré 96
+ous 97
+ris 98
+rus 99
+sse 100
+ans 101
+ar 102
+com 103
+e m 104
+ire 105
+nce 106
+nte 107
+t l 108
+ av 109
+ mo 110
+ te 111
+il 112
+me 113
+ont 114
+ten 115
+a p 116
+dan 117
+pas 118
+qui 119
+s e 120
+s s 121
+ in 122
+ist 123
+lle 124
+nou 125
+pré 126
+'un 127
+air 128
+d'a 129
+ir 130
+n e 131
+rop 132
+ts 133
+ da 134
+a s 135
+as 136
+au 137
+den 138
+mai 139
+mis 140
+ori 141
+out 142
+rme 143
+sio 144
+tte 145
+ux 146
+a d 147
+ien 148
+n a 149
+ntr 150
+omm 151
+ort 152
+ouv 153
+s c 154
+son 155
+tes 156
+ver 157
+ère 158
+ il 159
+ m 160
+ sa 161
+ ve 162
+a r 163
+ais 164
+ava 165
+di 166
+n p 167
+sti 168
+ven 169
+ mi 170
+ain 171
+enc 172
+for 173
+ité 174
+lar 175
+oir 176
+rem 177
+ren 178
+rro 179
+rés 180
+sie 181
+t a 182
+tur 183
+ pe 184
+ to 185
+d'u 186
+ell 187
+err 188
+ers 189
+ide 190
+ine 191
+iss 192
+mes 193
+por 194
+ran 195
+sit 196
+st 197
+t r 198
+uti 199
+vai 200
+é l 201
+ési 202
+ di 203
+ n' 204
+ ét 205
+a c 206
+ass 207
+e t 208
+in 209
+nde 210
+pre 211
+rat 212
+s m 213
+ste 214
+tai 215
+tch 216
+ui 217
+uro 218
+ès 219
+ es 220
+ fo 221
+ tr 222
+'ad 223
+app 224
+aux 225
+e à 226
+ett 227
+iti 228
+lit 229
+nal 230
+opé 231
+r d 232
+ra 233
+rai 234
+ror 235
+s r 236
+tat 237
+uté 238
+à l 239
+ af 240
+anc 241
+ara 242
+art 243
+bre 244
+ché 245
+dre 246
+e f 247
+ens 248
+lem 249
+n r 250
+n t 251
+ndr 252
+nne 253
+onn 254
+pos 255
+s t 256
+tiq 257
+ure 258
+ tu 259
+ale 260
+and 261
+ave 262
+cla 263
+cou 264
+e n 265
+emb 266
+ins 267
+jou 268
+mme 269
+rie 270
+rès 271
+sem 272
+str 273
+t i 274
+ues 275
+uni 276
+uve 277
+é d 278
+ée 279
+ ch 280
+ do 281
+ eu 282
+ fa 283
+ lo 284
+ ne 285
+ ra 286
+arl 287
+att 288
+ec 289
+ica 290
+l a 291
+l'o 292
+l'é 293
+mmi 294
+nta 295
+orm 296
+ou 297
+r u 298
+rle 299
diff --git a/silpa/modules/guesslanguages/trigrams/ha b/silpa/modules/guesslanguages/trigrams/ha
new file mode 100644
index 0000000..d789877
--- /dev/null
+++ b/silpa/modules/guesslanguages/trigrams/ha
@@ -0,0 +1,300 @@
+ da 0
+da 1
+in 2
+an 3
+ya 4
+ wa 5
+ ya 6
+na 7
+ar 8
+a d 9
+ ma 10
+wa 11
+a a 12
+a k 13
+a s 14
+ ta 15
+wan 16
+ a 17
+ ba 18
+ ka 19
+ta 20
+a y 21
+n d 22
+ ha 23
+ na 24
+ su 25
+ sa 26
+kin 27
+sa 28
+ata 29
+ ko 30
+a t 31
+su 32
+ ga 33
+ai 34
+ sh 35
+a m 36
+uwa 37
+iya 38
+ma 39
+a w 40
+asa 41
+yan 42
+ka 43
+ani 44
+shi 45
+a b 46
+a h 47
+a c 48
+ama 49
+ba 50
+nan 51
+n a 52
+ mu 53
+ana 54
+ yi 55
+a g 56
+ za 57
+i d 58
+ ku 59
+aka 60
+yi 61
+n k 62
+ann 63
+ke 64
+tar 65
+ ci 66
+iki 67
+n s 68
+ko 69
+ ra 70
+ki 71
+ne 72
+a z 73
+mat 74
+hak 75
+nin 76
+e d 77
+nna 78
+uma 79
+nda 80
+a n 81
+ada 82
+cik 83
+ni 84
+rin 85
+una 86
+ara 87
+kum 88
+akk 89
+ ce 90
+ du 91
+man 92
+n y 93
+nci 94
+sar 95
+aki 96
+awa 97
+ci 98
+kan 99
+kar 100
+ari 101
+n m 102
+and 103
+hi 104
+n t 105
+ga 106
+owa 107
+ash 108
+kam 109
+dan 110
+ewa 111
+nsa 112
+ali 113
+ami 114
+ ab 115
+ do 116
+anc 117
+n r 118
+aya 119
+i n 120
+sun 121
+uka 122
+ al 123
+ ne 124
+a'a 125
+cew 126
+cin 127
+mas 128
+tak 129
+un 130
+aba 131
+kow 132
+a r 133
+ra 134
+ ja 135
+ ƙa 136
+en 137
+r d 138
+sam 139
+tsa 140
+ ru 141
+ce 142
+i a 143
+abi 144
+ida 145
+mut 146
+n g 147
+n j 148
+san 149
+a ƙ 150
+har 151
+on 152
+i m 153
+suk 154
+ ak 155
+ ji 156
+yar 157
+'ya 158
+kwa 159
+min 160
+ 'y 161
+ane 162
+ban 163
+ins 164
+ruw 165
+i k 166
+n h 167
+ ad 168
+ake 169
+n w 170
+sha 171
+utu 172
+ ƴa 173
+bay 174
+tan 175
+ƴan 176
+bin 177
+duk 178
+e m 179
+n n 180
+oka 181
+yin 182
+ɗan 183
+ fa 184
+a i 185
+kki 186
+re 187
+za 188
+ala 189
+asu 190
+han 191
+i y 192
+mar 193
+ran 194
+ƙas 195
+add 196
+ars 197
+gab 198
+ira 199
+mma 200
+u d 201
+ ts 202
+abb 203
+abu 204
+aga 205
+gar 206
+n b 207
+ ɗa 208
+aci 209
+aik 210
+am 211
+dun 212
+e s 213
+i b 214
+i w 215
+kas 216
+kok 217
+wam 218
+ am 219
+amf 220
+bba 221
+din 222
+fan 223
+gwa 224
+i s 225
+wat 226
+ano 227
+are 228
+dai 229
+iri 230
+ma' 231
+ la 232
+all 233
+dam 234
+ika 235
+mi 236
+she 237
+tum 238
+uni 239
+ an 240
+ ai 241
+ ke 242
+ ki 243
+dag 244
+mai 245
+mfa 246
+no 247
+nsu 248
+o d 249
+sak 250
+um 251
+ bi 252
+ gw 253
+ kw 254
+jam 255
+yya 256
+a j 257
+fa 258
+uta 259
+ hu 260
+'a 261
+ans 262
+aɗa 263
+dda 264
+hin 265
+niy 266
+r s 267
+bat 268
+dar 269
+gan 270
+i t 271
+nta 272
+oki 273
+omi 274
+sal 275
+a l 276
+kac 277
+lla 278
+wad 279
+war 280
+amm 281
+dom 282
+r m 283
+ras 284
+sai 285
+ lo 286
+ats 287
+hal 288
+kat 289
+li 290
+lok 291
+n c 292
+nar 293
+tin 294
+afa 295
+bub 296
+i g 297
+isa 298
+mak 299
diff --git a/silpa/modules/guesslanguages/trigrams/haw b/silpa/modules/guesslanguages/trigrams/haw
new file mode 100644
index 0000000..40589cc
--- /dev/null
+++ b/silpa/modules/guesslanguages/trigrams/haw
@@ -0,0 +1,300 @@
+ ka 0
+na 1
+ o 2
+ka 3
+ ma 4
+ a 5
+ la 6
+a i 7
+a m 8
+ i 9
+la 10
+ana 11
+ai 12
+ia 13
+a o 14
+a k 15
+a h 16
+o k 17
+ ke 18
+a a 19
+i k 20
+ ho 21
+ ia 22
+ua 23
+ na 24
+ me 25
+e k 26
+e a 27
+au 28
+ke 29
+ma 30
+mai 31
+aku 32
+ ak 33
+ahi 34
+ ha 35
+ ko 36
+ e 37
+a l 38
+ no 39
+me 40
+ku 41
+aka 42
+kan 43
+no 44
+i a 45
+ho 46
+ou 47
+ ai 48
+i o 49
+a p 50
+o l 51
+o a 52
+ama 53
+a n 54
+ an 55
+i m 56
+han 57
+i i 58
+iho 59
+kou 60
+ne 61
+ ih 62
+o i 63
+iki 64
+ona 65
+hoo 66
+le 67
+e h 68
+ he 69
+ina 70
+ wa 71
+ea 72
+ako 73
+u i 74
+kah 75
+oe 76
+i l 77
+u a 78
+ pa 79
+hoi 80
+e i 81
+era 82
+ko 83
+u m 84
+kua 85
+mak 86
+oi 87
+kai 88
+i n 89
+a e 90
+hin 91
+ane 92
+ ol 93
+i h 94
+mea 95
+wah 96
+lak 97
+e m 98
+o n 99
+u l 100
+ika 101
+ki 102
+a w 103
+mal 104
+hi 105
+e n 106
+u o 107
+hik 108
+ ku 109
+e l 110
+ele 111
+ra 112
+ber 113
+ine 114
+abe 115
+ain 116
+ala 117
+lo 118
+ po 119
+kon 120
+ ab 121
+ole 122
+he 123
+pau 124
+mah 125
+va 126
+ela 127
+kau 128
+nak 129
+ oe 130
+kei 131
+oia 132
+ ie 133
+ram 134
+ oi 135
+oa 136
+eho 137
+hov 138
+ieh 139
+ova 140
+ ua 141
+una 142
+ara 143
+o s 144
+awa 145
+o o 146
+nau 147
+u n 148
+wa 149
+wai 150
+hel 151
+ ae 152
+ al 153
+ae 154
+ta 155
+aik 156
+ hi 157
+ale 158
+ila 159
+lel 160
+ali 161
+eik 162
+olo 163
+onu 164
+ lo 165
+aua 166
+e o 167
+ola 168
+hon 169
+mam 170
+nan 171
+ au 172
+aha 173
+lau 174
+nua 175
+oho 176
+oma 177
+ ao 178
+ii 179
+alu 180
+ima 181
+mau 182
+ike 183
+apa 184
+elo 185
+lii 186
+poe 187
+aia 188
+noa 189
+ in 190
+o m 191
+oka 192
+'u 193
+aho 194
+ei 195
+eka 196
+ha 197
+lu 198
+nei 199
+hol 200
+ino 201
+o e 202
+ema 203
+iwa 204
+olu 205
+ada 206
+naa 207
+pa 208
+u k 209
+ewa 210
+hua 211
+lam 212
+lua 213
+o h 214
+ook 215
+u h 216
+ li 217
+ahu 218
+amu 219
+ui 220
+ il 221
+ mo 222
+ se 223
+eia 224
+law 225
+ hu 226
+ ik 227
+ail 228
+e p 229
+li 230
+lun 231
+uli 232
+io 233
+kik 234
+noh 235
+u e 236
+ sa 237
+aaw 238
+awe 239
+ena 240
+hal 241
+kol 242
+lan 243
+ le 244
+ ne 245
+a'u 246
+ilo 247
+kap 248
+oko 249
+sa 250
+ pe 251
+hop 252
+loa 253
+ope 254
+pe 255
+ ad 256
+ pu 257
+ahe 258
+aol 259
+ia' 260
+lai 261
+loh 262
+na' 263
+oom 264
+aau 265
+eri 266
+kul 267
+we 268
+ake 269
+kek 270
+laa 271
+ri 272
+iku 273
+kak 274
+lim 275
+nah 276
+ner 277
+nui 278
+ono 279
+a u 280
+dam 281
+kum 282
+lok 283
+mua 284
+uma 285
+wal 286
+wi 287
+'i 288
+a'i 289
+aan 290
+alo 291
+eta 292
+mu 293
+ohe 294
+u p 295
+ula 296
+uwa 297
+ nu 298
+amo 299
diff --git a/silpa/modules/guesslanguages/trigrams/hi b/silpa/modules/guesslanguages/trigrams/hi
new file mode 100644
index 0000000..fee3b22
--- /dev/null
+++ b/silpa/modules/guesslanguages/trigrams/hi
@@ -0,0 +1,300 @@
+ें 0
+ है 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
diff --git a/silpa/modules/guesslanguages/trigrams/hr b/silpa/modules/guesslanguages/trigrams/hr
new file mode 100644
index 0000000..299c7a6
--- /dev/null
+++ b/silpa/modules/guesslanguages/trigrams/hr
@@ -0,0 +1,300 @@
+je 0
+ na 1
+ pr 2
+ po 3
+na 4
+ je 5
+ za 6
+ije 7
+ne 8
+ i 9
+ti 10
+da 11
+ ko 12
+ ne 13
+li 14
+ bi 15
+ da 16
+ u 17
+ma 18
+mo 19
+a n 20
+ih 21
+za 22
+a s 23
+ko 24
+i s 25
+a p 26
+koj 27
+pro 28
+ju 29
+se 30
+ go 31
+ost 32
+to 33
+va 34
+ do 35
+ to 36
+e n 37
+i p 38
+ od 39
+ ra 40
+no 41
+ako 42
+ka 43
+ni 44
+ ka 45
+ se 46
+ mo 47
+ st 48
+i n 49
+ima 50
+ja 51
+pri 52
+vat 53
+sta 54
+ su 55
+ati 56
+e p 57
+ta 58
+tsk 59
+e i 60
+nij 61
+ tr 62
+cij 63
+jen 64
+nos 65
+o s 66
+ iz 67
+om 68
+tro 69
+ili 70
+iti 71
+pos 72
+ al 73
+a i 74
+a o 75
+e s 76
+ija 77
+ini 78
+pre 79
+str 80
+la 81
+og 82
+ovo 83
+ sv 84
+ekt 85
+nje 86
+o p 87
+odi 88
+rva 89
+ ni 90
+ali 91
+min 92
+rij 93
+a t 94
+a z 95
+ats 96
+iva 97
+o t 98
+od 99
+oje 100
+ra 101
+ hr 102
+a m 103
+a u 104
+hrv 105
+im 106
+ke 107
+o i 108
+ovi 109
+red 110
+riv 111
+te 112
+bi 113
+e o 114
+god 115
+i d 116
+lek 117
+umi 118
+zvo 119
+din 120
+e u 121
+ene 122
+jed 123
+ji 124
+lje 125
+nog 126
+su 127
+ a 128
+ el 129
+ mi 130
+ o 131
+a d 132
+alu 133
+ele 134
+i u 135
+izv 136
+ktr 137
+lum 138
+o d 139
+ori 140
+rad 141
+sto 142
+a k 143
+anj 144
+ava 145
+e k 146
+men 147
+nic 148
+o j 149
+oj 150
+ove 151
+ski 152
+tvr 153
+una 154
+vor 155
+ di 156
+ no 157
+ s 158
+ ta 159
+ tv 160
+i i 161
+i o 162
+kak 163
+roš 164
+sko 165
+vod 166
+ sa 167
+ će 168
+a b 169
+adi 170
+amo 171
+eni 172
+gov 173
+iju 174
+ku 175
+o n 176
+ora 177
+rav 178
+ruj 179
+smo 180
+tav 181
+tru 182
+u p 183
+ve 184
+ in 185
+ pl 186
+aci 187
+bit 188
+de 189
+diš 190
+ema 191
+i m 192
+ika 193
+išt 194
+jer 195
+ki 196
+mog 197
+nik 198
+nov 199
+nu 200
+oji 201
+oli 202
+pla 203
+pod 204
+st 205
+sti 206
+tra 207
+tre 208
+vo 209
+ sm 210
+ št 211
+dan 212
+e z 213
+i t 214
+io 215
+ist 216
+kon 217
+lo 218
+stv 219
+u s 220
+uje 221
+ust 222
+će 223
+ći 224
+što 225
+ dr 226
+ im 227
+ li 228
+ada 229
+aft 230
+ani 231
+ao 232
+ars 233
+ata 234
+e t 235
+emo 236
+i k 237
+ine 238
+jem 239
+kov 240
+lik 241
+lji 242
+mje 243
+naf 244
+ner 245
+nih 246
+nja 247
+ogo 248
+oiz 249
+ome 250
+pot 251
+ran 252
+ri 253
+roi 254
+rtk 255
+ska 256
+ter 257
+u i 258
+u o 259
+vi 260
+vrt 261
+ me 262
+ ug 263
+ak 264
+ama 265
+drž 266
+e e 267
+e g 268
+e m 269
+em 270
+eme 271
+enj 272
+ent 273
+er 274
+ere 275
+erg 276
+eur 277
+go 278
+i b 279
+i z 280
+jet 281
+ksi 282
+o u 283
+oda 284
+ona 285
+pra 286
+reb 287
+rem 288
+rop 289
+tri 290
+žav 291
+ ci 292
+ eu 293
+ re 294
+ te 295
+ uv 296
+ ve 297
+aju 298
+an 299
diff --git a/silpa/modules/guesslanguages/trigrams/hu b/silpa/modules/guesslanguages/trigrams/hu
new file mode 100644
index 0000000..95a13ba
--- /dev/null
+++ b/silpa/modules/guesslanguages/trigrams/hu
@@ -0,0 +1,300 @@
+ a 0
+ az 1
+ sz 2
+az 3
+ me 4
+en 5
+ el 6
+ ho 7
+ek 8
+gy 9
+tt 10
+ett 11
+sze 12
+ fe 13
+és 14
+ ki 15
+tet 16
+ be 17
+et 18
+ter 19
+ kö 20
+ és 21
+hog 22
+meg 23
+ogy 24
+szt 25
+te 26
+t a 27
+zet 28
+a m 29
+nek 30
+nt 31
+ség 32
+szá 33
+ak 34
+ va 35
+an 36
+eze 37
+ra 38
+ta 39
+ mi 40
+int 41
+köz 42
+ is 43
+esz 44
+fel 45
+min 46
+nak 47
+ors 48
+zer 49
+ te 50
+a a 51
+a k 52
+is 53
+ cs 54
+ele 55
+er 56
+men 57
+si 58
+tek 59
+ti 60
+ ne 61
+csa 62
+ent 63
+z e 64
+a t 65
+ala 66
+ere 67
+es 68
+lom 69
+lte 70
+mon 71
+ond 72
+rsz 73
+sza 74
+tte 75
+zág 76
+ány 77
+ fo 78
+ ma 79
+ai 80
+ben 81
+el 82
+ene 83
+ik 84
+jel 85
+tás 86
+áll 87
+ ha 88
+ le 89
+ ál 90
+agy 91
+alá 92
+isz 93
+y a 94
+zte 95
+ás 96
+ al 97
+e a 98
+egy 99
+ely 100
+for 101
+lat 102
+lt 103
+n a 104
+oga 105
+on 106
+re 107
+st 108
+ság 109
+t m 110
+án 111
+ét 112
+ült 113
+ je 114
+gi 115
+k a 116
+kül 117
+lam 118
+len 119
+lás 120
+más 121
+s k 122
+vez 123
+áso 124
+özö 125
+ ta 126
+a s 127
+a v 128
+asz 129
+atá 130
+ető 131
+kez 132
+let 133
+mag 134
+nem 135
+szé 136
+z m 137
+át 138
+éte 139
+ölt 140
+ de 141
+ gy 142
+ ké 143
+ mo 144
+ vá 145
+ ér 146
+a b 147
+a f 148
+ami 149
+at 150
+ato 151
+att 152
+bef 153
+dta 154
+gya 155
+hat 156
+i s 157
+las 158
+ndt 159
+rt 160
+szo 161
+t k 162
+tár 163
+tés 164
+van 165
+ásá 166
+ól 167
+ bé 168
+ eg 169
+ or 170
+ pá 171
+ pé 172
+ ve 173
+ban 174
+eke 175
+ekü 176
+elő 177
+erv 178
+ete 179
+fog 180
+i a 181
+kis 182
+lád 183
+nte 184
+nye 185
+nyi 186
+ok 187
+omá 188
+os 189
+rán 190
+rás 191
+sal 192
+t e 193
+vál 194
+yar 195
+ágo 196
+ála 197
+ége 198
+ény 199
+ött 200
+ tá 201
+adó 202
+elh 203
+fej 204
+het 205
+hoz 206
+ill 207
+jár 208
+kés 209
+llo 210
+mi 211
+ny 212
+ont 213
+ren 214
+res 215
+rin 216
+s a 217
+s e 218
+ssz 219
+zt 220
+ ez 221
+ ka 222
+ ke 223
+ ko 224
+ re 225
+a h 226
+a n 227
+den 228
+dó 229
+efo 230
+gad 231
+gat 232
+gye 233
+hel 234
+k e 235
+ket 236
+les 237
+mán 238
+nde 239
+nis 240
+ozz 241
+t b 242
+t i 243
+t é 244
+tat 245
+tos 246
+val 247
+z o 248
+zak 249
+ád 250
+ály 251
+ára 252
+ési 253
+ész 254
+ ak 255
+ am 256
+ es 257
+ há 258
+ ny 259
+ tö 260
+aka 261
+art 262
+ató 263
+azt 264
+bbe 265
+ber 266
+ció 267
+cso 268
+em 269
+eti 270
+eté 271
+gal 272
+i t 273
+ini 274
+ist 275
+ja 276
+ker 277
+ki 278
+kor 279
+koz 280
+l é 281
+ljá 282
+lye 283
+n v 284
+ni 285
+pál 286
+ror 287
+ról 288
+rül 289
+s c 290
+s p 291
+s s 292
+s v 293
+sok 294
+t j 295
+t t 296
+tar 297
+tel 298
+vat 299
diff --git a/silpa/modules/guesslanguages/trigrams/id b/silpa/modules/guesslanguages/trigrams/id
new file mode 100644
index 0000000..7f5e77d
--- /dev/null
+++ b/silpa/modules/guesslanguages/trigrams/id
@@ -0,0 +1,300 @@
+an 0
+ me 1
+kan 2
+ang 3
+ng 4
+ pe 5
+men 6
+ di 7
+ ke 8
+ da 9
+ se 10
+eng 11
+ be 12
+nga 13
+nya 14
+ te 15
+ah 16
+ber 17
+aka 18
+ ya 19
+dan 20
+di 21
+yan 22
+n p 23
+per 24
+a m 25
+ita 26
+ pa 27
+da 28
+ata 29
+ada 30
+ya 31
+ta 32
+ in 33
+ala 34
+eri 35
+ia 36
+a d 37
+n k 38
+am 39
+ga 40
+at 41
+era 42
+n d 43
+ter 44
+ ka 45
+a p 46
+ari 47
+emb 48
+n m 49
+ri 50
+ ba 51
+aan 52
+ak 53
+ra 54
+ it 55
+ara 56
+ela 57
+ni 58
+ali 59
+ran 60
+ar 61
+eru 62
+lah 63
+a b 64
+asi 65
+awa 66
+eba 67
+gan 68
+n b 69
+ ha 70
+ini 71
+mer 72
+ la 73
+ mi 74
+and 75
+ena 76
+wan 77
+ sa 78
+aha 79
+lam 80
+n i 81
+nda 82
+ wa 83
+a i 84
+dua 85
+g m 86
+mi 87
+n a 88
+rus 89
+tel 90
+yak 91
+ an 92
+dal 93
+h d 94
+i s 95
+ing 96
+min 97
+ngg 98
+tak 99
+ami 100
+beb 101
+den 102
+gat 103
+ian 104
+ih 105
+pad 106
+rga 107
+san 108
+ua 109
+ de 110
+a t 111
+arg 112
+dar 113
+elu 114
+har 115
+i k 116
+i m 117
+i p 118
+ika 119
+in 120
+iny 121
+itu 122
+mba 123
+n t 124
+ntu 125
+pan 126
+pen 127
+sah 128
+tan 129
+tu 130
+a k 131
+ban 132
+edu 133
+eka 134
+g d 135
+ka 136
+ker 137
+nde 138
+nta 139
+ora 140
+usa 141
+ du 142
+ ma 143
+a s 144
+ai 145
+ant 146
+bas 147
+end 148
+i d 149
+ira 150
+kam 151
+lan 152
+n s 153
+uli 154
+al 155
+apa 156
+ere 157
+ert 158
+lia 159
+mem 160
+rka 161
+si 162
+tal 163
+ung 164
+ ak 165
+a a 166
+a w 167
+ani 168
+ask 169
+ent 170
+gar 171
+haa 172
+i i 173
+isa 174
+ked 175
+mbe 176
+ska 177
+tor 178
+uan 179
+uk 180
+uka 181
+ ad 182
+ to 183
+asa 184
+aya 185
+bag 186
+dia 187
+dun 188
+erj 189
+mas 190
+na 191
+rek 192
+rit 193
+sih 194
+us 195
+ bi 196
+a h 197
+ama 198
+dib 199
+ers 200
+g s 201
+han 202
+ik 203
+kem 204
+ma 205
+n l 206
+nit 207
+r b 208
+rja 209
+sa 210
+ ju 211
+ or 212
+ si 213
+ ti 214
+a y 215
+aga 216
+any 217
+as 218
+cul 219
+eme 220
+emu 221
+eny 222
+epa 223
+erb 224
+erl 225
+gi 226
+h m 227
+i a 228
+kel 229
+li 230
+mel 231
+nia 232
+opa 233
+rta 234
+sia 235
+tah 236
+ula 237
+un 238
+unt 239
+ at 240
+ bu 241
+ pu 242
+ ta 243
+agi 244
+alu 245
+amb 246
+bah 247
+bis 248
+er 249
+i t 250
+ibe 251
+ir 252
+ja 253
+k m 254
+kar 255
+lai 256
+lal 257
+lu 258
+mpa 259
+ngk 260
+nja 261
+or 262
+pa 263
+pas 264
+pem 265
+rak 266
+rik 267
+seb 268
+tam 269
+tem 270
+top 271
+tuk 272
+uni 273
+war 274
+ al 275
+ ga 276
+ ge 277
+ ir 278
+ ja 279
+ mu 280
+ na 281
+ pr 282
+ su 283
+ un 284
+ad 285
+adi 286
+akt 287
+ann 288
+apo 289
+bel 290
+bul 291
+der 292
+ega 293
+eke 294
+ema 295
+emp 296
+ene 297
+enj 298
+esa 299
diff --git a/silpa/modules/guesslanguages/trigrams/is b/silpa/modules/guesslanguages/trigrams/is
new file mode 100644
index 0000000..5e9d810
--- /dev/null
+++ b/silpa/modules/guesslanguages/trigrams/is
@@ -0,0 +1,300 @@
+að 0
+um 1
+ að 2
+ir 3
+ið 4
+ur 5
+ ve 6
+ í 7
+na 8
+ á 9
+ se 10
+ er 11
+ og 12
+ar 13
+og 14
+ver 15
+ mi 16
+inn 17
+nn 18
+ fy 19
+er 20
+fyr 21
+ ek 22
+ en 23
+ ha 24
+ he 25
+ekk 26
+ st 27
+ki 28
+st 29
+ði 30
+ ba 31
+ me 32
+ vi 33
+ig 34
+rir 35
+yri 36
+ um 37
+g f 38
+leg 39
+lei 40
+ns 41
+ð s 42
+ ei 43
+ þa 44
+in 45
+kki 46
+r h 47
+r s 48
+egi 49
+ein 50
+ga 51
+ing 52
+ra 53
+sta 54
+ va 55
+ þe 56
+ann 57
+en 58
+mil 59
+sem 60
+tjó 61
+arð 62
+di 63
+eit 64
+haf 65
+ill 66
+ins 67
+ist 68
+llj 69
+ndi 70
+r a 71
+r e 72
+seg 73
+un 74
+var 75
+ bi 76
+ el 77
+ fo 78
+ ge 79
+ yf 80
+and 81
+aug 82
+bau 83
+big 84
+ega 85
+eld 86
+erð 87
+fir 88
+foo 89
+gin 90
+itt 91
+n s 92
+ngi 93
+num 94
+od 95
+ood 96
+sin 97
+ta 98
+tt 99
+við 100
+yfi 101
+ð e 102
+ð f 103
+ hr 104
+ sé 105
+ þv 106
+a e 107
+a á 108
+em 109
+gi 110
+i f 111
+jar 112
+jór 113
+lja 114
+m e 115
+r á 116
+rei 117
+rst 118
+rða 119
+rði 120
+rðu 121
+stj 122
+und 123
+veg 124
+ví 125
+ð v 126
+það 127
+því 128
+ fj 129
+ ko 130
+ sl 131
+eik 132
+end 133
+ert 134
+ess 135
+fjá 136
+fur 137
+gir 138
+hús 139
+jár 140
+n e 141
+ri 142
+tar 143
+ð þ 144
+ðar 145
+ður 146
+þes 147
+ br 148
+ hú 149
+ kr 150
+ le 151
+ up 152
+a s 153
+egg 154
+i s 155
+irt 156
+ja 157
+kið 158
+len 159
+með 160
+mik 161
+n b 162
+nar 163
+nir 164
+nun 165
+r f 166
+r v 167
+rið 168
+rt 169
+sti 170
+t v 171
+ti 172
+una 173
+upp 174
+ða 175
+óna 176
+ al 177
+ fr 178
+ gr 179
+a v 180
+all 181
+an 182
+da 183
+eið 184
+eð 185
+fa 186
+fra 187
+g e 188
+ger 189
+gið 190
+gt 191
+han 192
+hef 193
+hel 194
+her 195
+hra 196
+i a 197
+i e 198
+i v 199
+i þ 200
+iki 201
+jón 202
+jör 203
+ka 204
+kró 205
+lík 206
+m h 207
+n a 208
+nga 209
+r l 210
+ram 211
+ru 212
+ráð 213
+rón 214
+svo 215
+vin 216
+í b 217
+í h 218
+ð h 219
+ð k 220
+ð m 221
+örð 222
+ af 223
+ fa 224
+ lí 225
+ rá 226
+ sk 227
+ sv 228
+ te 229
+a b 230
+a f 231
+a h 232
+a k 233
+a u 234
+afi 235
+agn 236
+arn 237
+ast 238
+ber 239
+efu 240
+enn 241
+erb 242
+erg 243
+fi 244
+g a 245
+gar 246
+iðs 247
+ker 248
+kke 249
+lan 250
+ljó 251
+llt 252
+ma 253
+mið 254
+n v 255
+n í 256
+nan 257
+nda 258
+ndu 259
+nið 260
+nna 261
+nnu 262
+nu 263
+r o 264
+rbe 265
+rgi 266
+slö 267
+sé 268
+t a 269
+t h 270
+til 271
+tin 272
+ugu 273
+vil 274
+ygg 275
+á s 276
+ð a 277
+ð b 278
+órn 279
+ögn 280
+öku 281
+ at 282
+ fi 283
+ fé 284
+ ka 285
+ ma 286
+ no 287
+ sa 288
+ si 289
+ ti 290
+ ák 291
+a m 292
+a t 293
+a í 294
+a þ 295
+afa 296
+afs 297
+ald 298
+arf 299
diff --git a/silpa/modules/guesslanguages/trigrams/it b/silpa/modules/guesslanguages/trigrams/it
new file mode 100644
index 0000000..67fbd7a
--- /dev/null
+++ b/silpa/modules/guesslanguages/trigrams/it
@@ -0,0 +1,300 @@
+ di 0
+to 1
+la 2
+ de 3
+di 4
+no 5
+ co 6
+re 7
+ion 8
+e d 9
+ e 10
+le 11
+del 12
+ne 13
+ti 14
+ell 15
+ la 16
+ un 17
+ni 18
+i d 19
+per 20
+ pe 21
+ent 22
+ in 23
+one 24
+he 25
+ta 26
+zio 27
+che 28
+o d 29
+a d 30
+na 31
+ato 32
+e s 33
+ so 34
+i s 35
+lla 36
+a p 37
+li 38
+te 39
+ al 40
+ ch 41
+er 42
+ pa 43
+ si 44
+con 45
+sta 46
+ pr 47
+a c 48
+ se 49
+el 50
+ia 51
+si 52
+e p 53
+ da 54
+e i 55
+i p 56
+ont 57
+ano 58
+i c 59
+all 60
+azi 61
+nte 62
+on 63
+nti 64
+o s 65
+ ri 66
+i a 67
+o a 68
+un 69
+ an 70
+are 71
+ari 72
+e a 73
+i e 74
+ita 75
+men 76
+ri 77
+ ca 78
+ il 79
+ no 80
+ po 81
+a s 82
+ant 83
+il 84
+in 85
+a l 86
+ati 87
+cia 88
+e c 89
+ro 90
+ann 91
+est 92
+gli 93
+tà 94
+ qu 95
+e l 96
+nta 97
+ a 98
+com 99
+o c 100
+ra 101
+ le 102
+ ne 103
+ali 104
+ere 105
+ist 106
+ ma 107
+ è 108
+io 109
+lle 110
+me 111
+era 112
+ica 113
+ost 114
+pro 115
+tar 116
+una 117
+ pi 118
+da 119
+tat 120
+ mi 121
+att 122
+ca 123
+mo 124
+non 125
+par 126
+sti 127
+ fa 128
+ i 129
+ re 130
+ su 131
+ess 132
+ini 133
+nto 134
+o l 135
+ssi 136
+tto 137
+a e 138
+ame 139
+col 140
+ei 141
+ma 142
+o i 143
+za 144
+ st 145
+a a 146
+ale 147
+anc 148
+ani 149
+i m 150
+ian 151
+o p 152
+oni 153
+sio 154
+tan 155
+tti 156
+ lo 157
+i r 158
+oci 159
+oli 160
+ona 161
+ono 162
+tra 163
+ l 164
+a r 165
+eri 166
+ett 167
+lo 168
+nza 169
+que 170
+str 171
+ter 172
+tta 173
+ ba 174
+ li 175
+ te 176
+ass 177
+e f 178
+enz 179
+for 180
+nno 181
+olo 182
+ori 183
+res 184
+tor 185
+ ci 186
+ vo 187
+a i 188
+al 189
+chi 190
+e n 191
+lia 192
+pre 193
+ria 194
+uni 195
+ver 196
+ sp 197
+imo 198
+l a 199
+l c 200
+ran 201
+sen 202
+soc 203
+tic 204
+ fi 205
+ mo 206
+a n 207
+ce 208
+dei 209
+ggi 210
+gio 211
+iti 212
+l s 213
+lit 214
+ll 215
+mon 216
+ola 217
+pac 218
+sim 219
+tit 220
+utt 221
+vol 222
+ ar 223
+ fo 224
+ ha 225
+ sa 226
+acc 227
+e r 228
+ire 229
+man 230
+ntr 231
+rat 232
+sco 233
+tro 234
+tut 235
+va 236
+ do 237
+ gi 238
+ me 239
+ sc 240
+ tu 241
+ ve 242
+ vi 243
+a m 244
+ber 245
+can 246
+cit 247
+i l 248
+ier 249
+ità 250
+lli 251
+min 252
+n p 253
+nat 254
+nda 255
+o e 256
+o f 257
+o u 258
+ore 259
+oro 260
+ort 261
+sto 262
+ten 263
+tiv 264
+van 265
+art 266
+cco 267
+ci 268
+cos 269
+dal 270
+e v 271
+i i 272
+ila 273
+ino 274
+l p 275
+n c 276
+nit 277
+ole 278
+ome 279
+po 280
+rio 281
+sa 282
+ ce 283
+ es 284
+ tr 285
+a b 286
+and 287
+ata 288
+der 289
+ens 290
+ers 291
+gi 292
+ial 293
+ina 294
+itt 295
+izi 296
+lan 297
+lor 298
+mil 299
diff --git a/silpa/modules/guesslanguages/trigrams/kk b/silpa/modules/guesslanguages/trigrams/kk
new file mode 100644
index 0000000..68363a6
--- /dev/null
+++ b/silpa/modules/guesslanguages/trigrams/kk
@@ -0,0 +1,300 @@
+ан 0
+ен 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
diff --git a/silpa/modules/guesslanguages/trigrams/ky b/silpa/modules/guesslanguages/trigrams/ky
new file mode 100644
index 0000000..2f26d3e
--- /dev/null
+++ b/silpa/modules/guesslanguages/trigrams/ky
@@ -0,0 +1,300 @@
+ын 0
+ан 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
diff --git a/silpa/modules/guesslanguages/trigrams/la b/silpa/modules/guesslanguages/trigrams/la
new file mode 100644
index 0000000..71ddc13
--- /dev/null
+++ b/silpa/modules/guesslanguages/trigrams/la
@@ -0,0 +1,300 @@
+um 0
+us 1
+ut 2
+et 3
+is 4
+ et 5
+ in 6
+ qu 7
+tur 8
+ pr 9
+est 10
+tio 11
+ au 12
+am 13
+em 14
+aut 15
+ di 16
+ent 17
+in 18
+dic 19
+t e 20
+ es 21
+ur 22
+ati 23
+ion 24
+st 25
+ ut 26
+ae 27
+qua 28
+ de 29
+nt 30
+ su 31
+ si 32
+itu 33
+unt 34
+rum 35
+ia 36
+es 37
+ter 38
+ re 39
+nti 40
+rae 41
+s e 42
+qui 43
+io 44
+pro 45
+it 46
+per 47
+ita 48
+one 49
+ici 50
+ius 51
+ co 52
+t d 53
+bus 54
+pra 55
+m e 56
+ no 57
+edi 58
+tia 59
+ue 60
+ibu 61
+ se 62
+ ad 63
+er 64
+ fi 65
+ili 66
+que 67
+t i 68
+de 69
+oru 70
+ te 71
+ali 72
+ pe 73
+aed 74
+cit 75
+m d 76
+t s 77
+tat 78
+tem 79
+tis 80
+t p 81
+sti 82
+te 83
+cum 84
+ere 85
+ium 86
+ ex 87
+rat 88
+ta 89
+con 90
+cti 91
+oni 92
+ra 93
+s i 94
+ cu 95
+ sa 96
+eni 97
+nis 98
+nte 99
+eri 100
+omi 101
+re 102
+s a 103
+min 104
+os 105
+ti 106
+uer 107
+ ma 108
+ ue 109
+m s 110
+nem 111
+t m 112
+ mo 113
+ po 114
+ ui 115
+gen 116
+ict 117
+m i 118
+ris 119
+s s 120
+t a 121
+uae 122
+ do 123
+m a 124
+t c 125
+ ge 126
+as 127
+e i 128
+e p 129
+ne 130
+ ca 131
+ine 132
+quo 133
+s p 134
+ al 135
+e e 136
+ntu 137
+ro 138
+tri 139
+tus 140
+uit 141
+atu 142
+ini 143
+iqu 144
+m p 145
+ost 146
+res 147
+ura 148
+ ac 149
+ fu 150
+a e 151
+ant 152
+nes 153
+nim 154
+sun 155
+tra 156
+e a 157
+s d 158
+ pa 159
+ uo 160
+ecu 161
+ om 162
+ tu 163
+ad 164
+cut 165
+omn 166
+s q 167
+ ei 168
+ex 169
+icu 170
+tor 171
+uid 172
+ ip 173
+ me 174
+e s 175
+era 176
+eru 177
+iam 178
+ide 179
+ips 180
+ iu 181
+a s 182
+do 183
+e d 184
+eiu 185
+ica 186
+im 187
+m c 188
+m u 189
+tiu 190
+ ho 191
+cat 192
+ist 193
+nat 194
+on 195
+pti 196
+reg 197
+rit 198
+s t 199
+sic 200
+spe 201
+ en 202
+ sp 203
+dis 204
+eli 205
+liq 206
+lis 207
+men 208
+mus 209
+num 210
+pos 211
+sio 212
+ an 213
+ gr 214
+abi 215
+acc 216
+ect 217
+ri 218
+uan 219
+ le 220
+ecc 221
+ete 222
+gra 223
+non 224
+se 225
+uen 226
+uis 227
+ fa 228
+ tr 229
+ate 230
+e c 231
+fil 232
+na 233
+ni 234
+pul 235
+s f 236
+ui 237
+at 238
+cce 239
+dam 240
+i e 241
+ina 242
+leg 243
+nos 244
+ori 245
+pec 246
+rop 247
+sta 248
+uia 249
+ene 250
+iue 251
+iui 252
+siu 253
+t t 254
+t u 255
+tib 256
+tit 257
+ da 258
+ ne 259
+a d 260
+and 261
+ege 262
+equ 263
+hom 264
+imu 265
+lor 266
+m m 267
+mni 268
+ndo 269
+ner 270
+o e 271
+r e 272
+sit 273
+tum 274
+utu 275
+a p 276
+bis 277
+bit 278
+cer 279
+cta 280
+dom 281
+fut 282
+i s 283
+ign 284
+int 285
+mod 286
+ndu 287
+nit 288
+rib 289
+rti 290
+tas 291
+und 292
+ ab 293
+err 294
+ers 295
+ite 296
+iti 297
+m t 298
+o p 299
diff --git a/silpa/modules/guesslanguages/trigrams/lt b/silpa/modules/guesslanguages/trigrams/lt
new file mode 100644
index 0000000..1de36d5
--- /dev/null
+++ b/silpa/modules/guesslanguages/trigrams/lt
@@ -0,0 +1,300 @@
+as 0
+ pa 1
+ ka 2
+ai 3
+us 4
+os 5
+is 6
+ ne 7
+ ir 8
+ir 9
+ti 10
+ pr 11
+aus 12
+ini 13
+s p 14
+pas 15
+ių 16
+ ta 17
+ vi 18
+iau 19
+ ko 20
+ su 21
+kai 22
+o p 23
+usi 24
+ sa 25
+vo 26
+tai 27
+ali 28
+tų 29
+io 30
+jo 31
+s k 32
+sta 33
+iai 34
+ bu 35
+ nu 36
+ius 37
+mo 38
+ po 39
+ien 40
+s s 41
+tas 42
+ me 43
+uvo 44
+kad 45
+ iš 46
+ la 47
+to 48
+ais 49
+ie 50
+kur 51
+uri 52
+ ku 53
+ijo 54
+čia 55
+au 56
+met 57
+je 58
+ va 59
+ad 60
+ ap 61
+and 62
+ gr 63
+ ti 64
+kal 65
+asi 66
+i p 67
+iči 68
+s i 69
+s v 70
+ink 71
+o n 72
+ės 73
+buv 74
+s a 75
+ ga 76
+aip 77
+avi 78
+mas 79
+pri 80
+tik 81
+ re 82
+etu 83
+jos 84
+ da 85
+ent 86
+oli 87
+par 88
+ant 89
+ara 90
+tar 91
+ama 92
+gal 93
+imo 94
+išk 95
+o s 96
+ at 97
+ be 98
+ į 99
+min 100
+tin 101
+ tu 102
+s n 103
+ jo 104
+dar 105
+ip 106
+rei 107
+ te 108
+dži 109
+kas 110
+nin 111
+tei 112
+vie 113
+ li 114
+ se 115
+cij 116
+gar 117
+lai 118
+art 119
+lau 120
+ras 121
+no 122
+o k 123
+tą 124
+ ar 125
+ėjo 126
+vič 127
+iga 128
+pra 129
+vis 130
+ na 131
+men 132
+oki 133
+raš 134
+s t 135
+iet 136
+ika 137
+int 138
+kom 139
+tam 140
+aug 141
+avo 142
+rie 143
+s b 144
+ st 145
+eim 146
+ko 147
+nus 148
+pol 149
+ria 150
+sau 151
+api 152
+me 153
+ne 154
+sik 155
+ ši 156
+i n 157
+ia 158
+ici 159
+oja 160
+sak 161
+sti 162
+ui 163
+ame 164
+lie 165
+o t 166
+pie 167
+čiu 168
+ di 169
+ pe 170
+gri 171
+ios 172
+lia 173
+lin 174
+s d 175
+s g 176
+ta 177
+uot 178
+ ja 179
+ už 180
+aut 181
+i s 182
+ino 183
+mą 184
+oje 185
+rav 186
+dėl 187
+nti 188
+o a 189
+toj 190
+ėl 191
+ to 192
+ vy 193
+ar 194
+ina 195
+lic 196
+o v 197
+sei 198
+su 199
+ mi 200
+ pi 201
+din 202
+iš 203
+lan 204
+si 205
+tus 206
+ ba 207
+asa 208
+ata 209
+kla 210
+omi 211
+tat 212
+ an 213
+ ji 214
+als 215
+ena 216
+jų 217
+nuo 218
+per 219
+rig 220
+s m 221
+val 222
+yta 223
+čio 224
+ ra 225
+i k 226
+lik 227
+net 228
+nė 229
+tis 230
+tuo 231
+yti 232
+ęs 233
+ų s 234
+ada 235
+ari 236
+do 237
+eik 238
+eis 239
+ist 240
+lst 241
+ma 242
+nes 243
+sav 244
+sio 245
+tau 246
+ ki 247
+aik 248
+aud 249
+ies 250
+ori 251
+s r 252
+ska 253
+ ge 254
+ast 255
+eig 256
+et 257
+iam 258
+isa 259
+mis 260
+nam 261
+ome 262
+žia 263
+aba 264
+aul 265
+ikr 266
+ką 267
+nta 268
+ra 269
+tur 270
+ ma 271
+die 272
+ei 273
+i t 274
+nas 275
+rin 276
+sto 277
+tie 278
+tuv 279
+vos 280
+ų p 281
+ dė 282
+are 283
+ats 284
+enė 285
+ili 286
+ima 287
+kar 288
+ms 289
+nia 290
+r p 291
+rod 292
+s l 293
+ o 294
+e p 295
+es 296
+ide 297
+ik 298
+ja 299
diff --git a/silpa/modules/guesslanguages/trigrams/lv b/silpa/modules/guesslanguages/trigrams/lv
new file mode 100644
index 0000000..472cc8e
--- /dev/null
+++ b/silpa/modules/guesslanguages/trigrams/lv
@@ -0,0 +1,300 @@
+as 0
+ la 1
+ pa 2
+ ne 3
+es 4
+ un 5
+un 6
+ ka 7
+ va 8
+ar 9
+s p 10
+ ar 11
+ vi 12
+is 13
+ai 14
+ no 15
+ja 16
+ija 17
+iem 18
+em 19
+tu 20
+tie 21
+vie 22
+lat 23
+aks 24
+ien 25
+kst 26
+ies 27
+s a 28
+rak 29
+atv 30
+tvi 31
+ ja 32
+ pi 33
+ka 34
+ ir 35
+ir 36
+ta 37
+ sa 38
+ts 39
+ kā 40
+ās 41
+ ti 42
+ot 43
+s n 44
+ ie 45
+ ta 46
+arī 47
+par 48
+pie 49
+ pr 50
+kā 51
+ at 52
+ ra 53
+am 54
+inā 55
+tā 56
+ iz 57
+jas 58
+lai 59
+ na 60
+aut 61
+ieš 62
+s s 63
+ ap 64
+ ko 65
+ st 66
+iek 67
+iet 68
+jau 69
+us 70
+rī 71
+tik 72
+ība 73
+na 74
+ ga 75
+cij 76
+s i 77
+ uz 78
+jum 79
+s v 80
+ms 81
+var 82
+ ku 83
+ ma 84
+jā 85
+sta 86
+s u 87
+ tā 88
+die 89
+kai 90
+kas 91
+ska 92
+ ci 93
+ da 94
+kur 95
+lie 96
+tas 97
+a p 98
+est 99
+stā 100
+šan 101
+nes 102
+nie 103
+s d 104
+s m 105
+val 106
+ di 107
+ es 108
+ re 109
+no 110
+to 111
+umu 112
+vai 113
+ši 114
+ vē 115
+kum 116
+nu 117
+rie 118
+s t 119
+ām 120
+ad 121
+et 122
+mu 123
+s l 124
+ be 125
+aud 126
+tur 127
+vij 128
+viņ 129
+āju 130
+bas 131
+gad 132
+i n 133
+ika 134
+os 135
+a v 136
+not 137
+oti 138
+sts 139
+aik 140
+u a 141
+ā a 142
+āk 143
+ to 144
+ied 145
+stu 146
+ti 147
+u p 148
+vēl 149
+āci 150
+ šo 151
+gi 152
+ko 153
+pro 154
+s r 155
+tāj 156
+u s 157
+u v 158
+vis 159
+aun 160
+ks 161
+str 162
+zin 163
+a a 164
+adī 165
+da 166
+dar 167
+ena 168
+ici 169
+kra 170
+nas 171
+stī 172
+šu 173
+ mē 174
+a n 175
+eci 176
+i s 177
+ie 178
+iņa 179
+ju 180
+las 181
+r t 182
+ums 183
+šie 184
+bu 185
+cit 186
+i a 187
+ina 188
+ma 189
+pus 190
+ra 191
+ au 192
+ se 193
+ sl 194
+a s 195
+ais 196
+eši 197
+iec 198
+iku 199
+pār 200
+s b 201
+s k 202
+sot 203
+ādā 204
+ in 205
+ li 206
+ tr 207
+ana 208
+eso 209
+ikr 210
+man 211
+ne 212
+u k 213
+ tu 214
+an 215
+av 216
+bet 217
+būt 218
+im 219
+isk 220
+līd 221
+nav 222
+ras 223
+ri 224
+s g 225
+sti 226
+īdz 227
+ ai 228
+arb 229
+cin 230
+das 231
+ent 232
+gal 233
+i p 234
+lik 235
+mā 236
+nek 237
+pat 238
+rēt 239
+si 240
+tra 241
+uši 242
+vei 243
+ br 244
+ pu 245
+ sk 246
+als 247
+ama 248
+edz 249
+eka 250
+ešu 251
+ieg 252
+jis 253
+kam 254
+lst 255
+nāk 256
+oli 257
+pre 258
+pēc 259
+rot 260
+tās 261
+usi 262
+ēl 263
+ēs 264
+ bi 265
+ de 266
+ me 267
+ pā 268
+a i 269
+aid 270
+ajā 271
+ikt 272
+kat 273
+lic 274
+lod 275
+mi 276
+ni 277
+pri 278
+rād 279
+rīg 280
+sim 281
+trā 282
+u l 283
+uto 284
+uz 285
+ēc 286
+ītā 287
+ ce 288
+ jā 289
+ sv 290
+a t 291
+aga 292
+aiz 293
+atu 294
+ba 295
+cie 296
+du 297
+dzi 298
+dzī 299
diff --git a/silpa/modules/guesslanguages/trigrams/mk b/silpa/modules/guesslanguages/trigrams/mk
new file mode 100644
index 0000000..dda9879
--- /dev/null
+++ b/silpa/modules/guesslanguages/trigrams/mk
@@ -0,0 +1,300 @@
+на 0
+ на 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
diff --git a/silpa/modules/guesslanguages/trigrams/mn b/silpa/modules/guesslanguages/trigrams/mn
new file mode 100644
index 0000000..fdb6fd8
--- /dev/null
+++ b/silpa/modules/guesslanguages/trigrams/mn
@@ -0,0 +1,300 @@
+ын 0
+ ба 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
+vй 58
+аа 59
+й а 60
+лын 61
+н з 62
+ аю 63
+ зє 64
+аар 65
+ад 66
+ар 67
+гvй 68
+зєв 69
+ажи 70
+ал 71
+аюу 72
+г х 73
+лгv 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
+vvл 112
+ж б 113
+тэй 114
+х х 115
+эрх 116
+ vн 117
+ нь 118
+vнд 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
+ yн 147
+ бу 148
+ дэ 149
+ ол 150
+ ту 151
+ ши 152
+yнд 153
+аши 154
+г т 155
+иг 156
+йл 157
+хар 158
+шин 159
+эг 160
+єр 161
+ их 162
+ хє 163
+ хї 164
+ам 165
+анг 166
+ин 167
+йга 168
+лса 169
+н v 170
+н е 171
+нал 172
+нд 173
+хуу 174
+цаа 175
+эд 176
+ээр 177
+єл 178
+vйл 179
+ада 180
+айн 181
+ала 182
+амт 183
+гах 184
+д х 185
+дал 186
+зар 187
+л б 188
+лан 189
+н д 190
+сэн 191
+улл 192
+х б 193
+хэр 194
+ бv 195
+ да 196
+ зо 197
+vрэ 198
+аад 199
+гээ 200
+лэн 201
+н и 202
+н э 203
+нга 204
+нэ 205
+тал 206
+тын 207
+хур 208
+эл 209
+ на 210
+ ни 211
+ он 212
+vлэ 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
+ vй 255
+ в 256
+ гэ 257
+ хv 258
+ара 259
+бvр 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
+жvv 297
+лца 298
+лэл 299
diff --git a/silpa/modules/guesslanguages/trigrams/nb b/silpa/modules/guesslanguages/trigrams/nb
new file mode 100644
index 0000000..efb098a
--- /dev/null
+++ b/silpa/modules/guesslanguages/trigrams/nb
@@ -0,0 +1,300 @@
+er 0
+en 1
+et 2
+ de 3
+det 4
+ i 5
+for 6
+il 7
+ fo 8
+ me 9
+ing 10
+om 11
+ ha 12
+ og 13
+ter 14
+ er 15
+ ti 16
+ st 17
+og 18
+til 19
+ne 20
+ vi 21
+re 22
+ en 23
+ se 24
+te 25
+or 26
+de 27
+kke 28
+ke 29
+ar 30
+ng 31
+r s 32
+ene 33
+ so 34
+e s 35
+der 36
+an 37
+som 38
+ste 39
+at 40
+ed 41
+r i 42
+ av 43
+ in 44
+men 45
+ at 46
+ ko 47
+ på 48
+har 49
+ si 50
+ere 51
+på 52
+nde 53
+and 54
+els 55
+ett 56
+tte 57
+lig 58
+t s 59
+den 60
+t i 61
+ikk 62
+med 63
+n s 64
+rt 65
+ser 66
+ska 67
+t e 68
+ker 69
+sen 70
+av 71
+ler 72
+r a 73
+ten 74
+e f 75
+r e 76
+r t 77
+ede 78
+ig 79
+ re 80
+han 81
+lle 82
+ner 83
+ bl 84
+ fr 85
+le 86
+ ve 87
+e t 88
+lan 89
+mme 90
+nge 91
+ be 92
+ ik 93
+ om 94
+ å 95
+ell 96
+sel 97
+sta 98
+ver 99
+ et 100
+ sk 101
+nte 102
+one 103
+ore 104
+r d 105
+ske 106
+ an 107
+ la 108
+del 109
+gen 110
+nin 111
+r f 112
+r v 113
+se 114
+ po 115
+ir 116
+jon 117
+mer 118
+nen 119
+omm 120
+sjo 121
+ fl 122
+ sa 123
+ern 124
+kom 125
+r m 126
+r o 127
+ren 128
+vil 129
+ale 130
+es 131
+n a 132
+t f 133
+ le 134
+bli 135
+e e 136
+e i 137
+e v 138
+het 139
+ye 140
+ ir 141
+al 142
+e o 143
+ide 144
+iti 145
+lit 146
+nne 147
+ran 148
+t o 149
+tal 150
+tat 151
+tt 152
+ ka 153
+ans 154
+asj 155
+ge 156
+inn 157
+kon 158
+lse 159
+pet 160
+t d 161
+vi 162
+ ut 163
+ent 164
+eri 165
+oli 166
+r p 167
+ret 168
+ris 169
+sto 170
+str 171
+t a 172
+ ga 173
+all 174
+ape 175
+g s 176
+ill 177
+ira 178
+kap 179
+nn 180
+opp 181
+r h 182
+rin 183
+ br 184
+ op 185
+e m 186
+ert 187
+ger 188
+ion 189
+kal 190
+lsk 191
+nes 192
+ gj 193
+ mi 194
+ pr 195
+ang 196
+e h 197
+e r 198
+elt 199
+enn 200
+i s 201
+ist 202
+jen 203
+kan 204
+lt 205
+nal 206
+res 207
+tor 208
+ass 209
+dre 210
+e b 211
+e p 212
+mel 213
+n t 214
+nse 215
+ort 216
+per 217
+reg 218
+sje 219
+t p 220
+t v 221
+ hv 222
+ nå 223
+ va 224
+ann 225
+ato 226
+e a 227
+est 228
+ise 229
+isk 230
+oil 231
+ord 232
+pol 233
+ra 234
+rak 235
+sse 236
+toi 237
+ gr 238
+ak 239
+eg 240
+ele 241
+g a 242
+ige 243
+igh 244
+m e 245
+n f 246
+n v 247
+ndr 248
+nsk 249
+rer 250
+t m 251
+und 252
+var 253
+år 254
+ he 255
+ no 256
+ ny 257
+end 258
+ete 259
+fly 260
+g i 261
+ghe 262
+ier 263
+ind 264
+int 265
+lin 266
+n d 267
+n p 268
+rne 269
+sak 270
+sie 271
+t b 272
+tid 273
+ al 274
+ pa 275
+ tr 276
+ag 277
+dig 278
+e d 279
+e k 280
+ess 281
+hol 282
+i d 283
+lag 284
+led 285
+n e 286
+n i 287
+n o 288
+pri 289
+r b 290
+st 291
+ fe 292
+ li 293
+ ry 294
+air 295
+ake 296
+d s 297
+eas 298
+egi 299
diff --git a/silpa/modules/guesslanguages/trigrams/ne b/silpa/modules/guesslanguages/trigrams/ne
new file mode 100644
index 0000000..093a1f2
--- /dev/null
+++ b/silpa/modules/guesslanguages/trigrams/ne
@@ -0,0 +1,300 @@
+को 0
+का 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
diff --git a/silpa/modules/guesslanguages/trigrams/nl b/silpa/modules/guesslanguages/trigrams/nl
new file mode 100644
index 0000000..472ce12
--- /dev/null
+++ b/silpa/modules/guesslanguages/trigrams/nl
@@ -0,0 +1,300 @@
+en 0
+de 1
+ de 2
+et 3
+an 4
+ he 5
+er 6
+ va 7
+n d 8
+van 9
+een 10
+het 11
+ ge 12
+oor 13
+ ee 14
+der 15
+ en 16
+ij 17
+aar 18
+gen 19
+te 20
+ver 21
+ in 22
+ me 23
+aan 24
+den 25
+ we 26
+at 27
+in 28
+ da 29
+ te 30
+eer 31
+nde 32
+ter 33
+ste 34
+n v 35
+ vo 36
+ zi 37
+ing 38
+n h 39
+voo 40
+is 41
+ op 42
+tie 43
+ aa 44
+ede 45
+erd 46
+ers 47
+ be 48
+eme 49
+ten 50
+ken 51
+n e 52
+ ni 53
+ ve 54
+ent 55
+ijn 56
+jn 57
+mee 58
+iet 59
+n w 60
+ng 61
+nie 62
+ is 63
+cht 64
+dat 65
+ere 66
+ie 67
+ijk 68
+n b 69
+rde 70
+ar 71
+e b 72
+e a 73
+met 74
+t d 75
+el 76
+ond 77
+t h 78
+ al 79
+e w 80
+op 81
+ren 82
+ di 83
+ on 84
+al 85
+and 86
+bij 87
+zij 88
+ bi 89
+ hi 90
+ wi 91
+or 92
+r d 93
+t v 94
+ wa 95
+e h 96
+lle 97
+rt 98
+ang 99
+hij 100
+men 101
+n a 102
+n z 103
+rs 104
+ om 105
+e o 106
+e v 107
+end 108
+est 109
+n t 110
+par 111
+ pa 112
+ pr 113
+ ze 114
+e g 115
+e p 116
+n p 117
+ord 118
+oud 119
+raa 120
+sch 121
+t e 122
+ege 123
+ich 124
+ien 125
+aat 126
+ek 127
+len 128
+n m 129
+nge 130
+nt 131
+ove 132
+rd 133
+wer 134
+ ma 135
+ mi 136
+daa 137
+e k 138
+lij 139
+mer 140
+n g 141
+n o 142
+om 143
+sen 144
+t b 145
+wij 146
+ ho 147
+e m 148
+ele 149
+gem 150
+heb 151
+pen 152
+ude 153
+ bo 154
+ ja 155
+die 156
+e e 157
+eli 158
+erk 159
+le 160
+pro 161
+rij 162
+ er 163
+ za 164
+e d 165
+ens 166
+ind 167
+ke 168
+n k 169
+nd 170
+nen 171
+nte 172
+r h 173
+s d 174
+s e 175
+t z 176
+ b 177
+ co 178
+ ik 179
+ ko 180
+ ov 181
+eke 182
+hou 183
+ik 184
+iti 185
+lan 186
+ns 187
+t g 188
+t m 189
+ do 190
+ le 191
+ zo 192
+ams 193
+e z 194
+g v 195
+it 196
+je 197
+ls 198
+maa 199
+n i 200
+nke 201
+rke 202
+uit 203
+ ha 204
+ ka 205
+ mo 206
+ re 207
+ st 208
+ to 209
+age 210
+als 211
+ark 212
+art 213
+ben 214
+e r 215
+e s 216
+ert 217
+eze 218
+ht 219
+ijd 220
+lem 221
+r v 222
+rte 223
+t p 224
+zeg 225
+zic 226
+aak 227
+aal 228
+ag 229
+ale 230
+bbe 231
+ch 232
+e t 233
+ebb 234
+erz 235
+ft 236
+ge 237
+led 238
+mst 239
+n n 240
+oek 241
+r i 242
+t o 243
+t w 244
+tel 245
+tte 246
+uur 247
+we 248
+zit 249
+ af 250
+ li 251
+ ui 252
+ak 253
+all 254
+aut 255
+doo 256
+e i 257
+ene 258
+erg 259
+ete 260
+ges 261
+hee 262
+jaa 263
+jke 264
+kee 265
+kel 266
+kom 267
+lee 268
+moe 269
+n s 270
+ort 271
+rec 272
+s o 273
+s v 274
+teg 275
+tij 276
+ven 277
+waa 278
+wel 279
+ an 280
+ au 281
+ bu 282
+ gr 283
+ pl 284
+ ti 285
+'' 286
+ade 287
+dag 288
+e l 289
+ech 290
+eel 291
+eft 292
+ger 293
+gt 294
+ig 295
+itt 296
+j d 297
+ppe 298
+rda 299
diff --git a/silpa/modules/guesslanguages/trigrams/nr b/silpa/modules/guesslanguages/trigrams/nr
new file mode 100644
index 0000000..be67870
--- /dev/null
+++ b/silpa/modules/guesslanguages/trigrams/nr
@@ -0,0 +1,301 @@
+oku 0
+la 1
+nga 2
+a n 3
+ ng 4
+na 5
+ama 6
+a i 7
+ko 8
+ uk 9
+ele 10
+lo 11
+ela 12
+ang 13
+a u 14
+a k 15
+uku 16
+aba 17
+ ku 18
+wa 19
+enz 20
+lel 21
+ho 22
+ni 23
+ngo 24
+ath 25
+pha 26
+eth 27
+kha 28
+ana 29
+isa 30
+nge 31
+ na 32
+o n 33
+tho 34
+e n 35
+the 36
+ha 37
+esi 38
+nye 39
+kwe 40
+tjh 41
+ kw 42
+ise 43
+ um 44
+a a 45
+ ne 46
+le 47
+hla 48
+a e 49
+lan 50
+ben 51
+ndl 52
+ no 53
+imi 54
+und 55
+ung 56
+thi 57
+nzi 58
+ye 59
+isi 60
+uth 61
+o e 62
+ebe 63
+het 64
+kut 65
+and 66
+sa 67
+elo 68
+fun 69
+eko 70
+seb 71
+ban 72
+ulu 73
+aka 74
+eli 75
+wen 76
+e i 77
+ am 78
+eni 79
+ba 80
+we 81
+nel 82
+ we 83
+kuf 84
+lwa 85
+i n 86
+ is 87
+zi 88
+ lo 89
+kwa 90
+lok 91
+elw 92
+gok 93
+ona 94
+lek 95
+hi 96
+li 97
+gan 98
+bon 99
+ ii 100
+ing 101
+ka 102
+o i 103
+akh 104
+ane 105
+thu 106
+ula 107
+kel 108
+mth 109
+ im 110
+ga 111
+ le 112
+nda 113
+fan 114
+nok 115
+i k 116
+end 117
+si 118
+o w 119
+aph 120
+hat 121
+e u 122
+ala 123
+kub 124
+lun 125
+ikh 126
+o l 127
+ezi 128
+a l 129
+o u 130
+sis 131
+nam 132
+emi 133
+ ab 134
+hul 135
+kus 136
+ wo 137
+sek 138
+azi 139
+kho 140
+iin 141
+i u 142
+asi 143
+lol 144
+ini 145
+uph 146
+uhl 147
+khu 148
+no 149
+o y 150
+ako 151
+a b 152
+i e 153
+o k 154
+i l 155
+ be 156
+mal 157
+ ye 158
+i i 159
+nde 160
+iph 161
+mel 162
+eke 163
+tha 164
+kun 165
+ngi 166
+e k 167
+eng 168
+o s 169
+ yo 170
+so 171
+ma 172
+mkh 173
+jha 174
+isw 175
+lwe 176
+ ez 177
+di 178
+a w 179
+e a 180
+kul 181
+uny 182
+ume 183
+za 184
+any 185
+ahl 186
+kuh 187
+een 188
+ si 189
+ili 190
+itj 191
+zok 192
+ihl 193
+ es 194
+ke 195
+hlo 196
+hak 197
+phe 198
+lul 199
+dle 200
+luk 201
+da 202
+eka 203
+amb 204
+ se 205
+zis 206
+mbi 207
+hon 208
+dla 209
+aku 210
+jen 211
+zin 212
+ ba 213
+ham 214
+i a 215
+ bo 216
+o a 217
+ali 218
+use 219
+ile 220
+sik 221
+han 222
+wok 223
+okh 224
+hlu 225
+nya 226
+sit 227
+ani 228
+kuz 229
+o o 230
+ufa 231
+swa 232
+ind 233
+zak 234
+nis 235
+lis 236
+gab 237
+mi 238
+ em 239
+ ko 240
+ano 241
+ el 242
+hwa 243
+ufu 244
+a y 245
+wo 246
+ in 247
+lim 248
+tlo 249
+kat 250
+wak 251
+kan 252
+thw 253
+o z 254
+ith 255
+ndi 256
+yok 257
+yo 258
+mit 259
+mis 260
+abo 261
+eku 262
+hab 263
+iny 264
+nan 265
+eze 266
+khe 267
+alo 268
+lu 269
+man 270
+he 271
+ezo 272
+kup 273
+ubu 274
+ zo 275
+gam 276
+hel 277
+wan 278
+omb 279
+amk 280
+nza 281
+ola 282
+hum 283
+kuk 284
+du 285
+ la 286
+kom 287
+i y 288
+obu 289
+i b 290
+odu 291
+okw 292
+gap 293
+ ka 294
+be 295
+ il 296
+alu 297
+atj 298
+e b 299
+
diff --git a/silpa/modules/guesslanguages/trigrams/nso b/silpa/modules/guesslanguages/trigrams/nso
new file mode 100644
index 0000000..cf12b54
--- /dev/null
+++ b/silpa/modules/guesslanguages/trigrams/nso
@@ -0,0 +1,301 @@
+go 0
+ go 1
+ le 2
+ a 3
+le 4
+ di 5
+a g 6
+ya 7
+lo 8
+ ya 9
+a m 10
+ka 11
+ ka 12
+la 13
+ t 14
+o y 15
+a t 16
+a k 17
+ba 18
+et 19
+wa 20
+ mo 21
+ e 22
+a b 23
+ se 24
+ ba 25
+ ma 26
+ bo 27
+e g 28
+t a 29
+ o 30
+a l 31
+o t 32
+na 33
+o l 34
+a d 35
+elo 36
+di 37
+a s 38
+o g 39
+o k 40
+ele 41
+o a 42
+ng 43
+t e 44
+o b 45
+mo 46
+e t 47
+e m 48
+ego 49
+eo 50
+e l 51
+ngw 52
+se 53
+e b 54
+kgo 55
+ela 56
+ wa 57
+ ga 58
+e k 59
+ago 60
+o m 61
+ kg 62
+ga 63
+dit 64
+olo 65
+t h 66
+e d 67
+o d 68
+ ye 69
+ane 70
+lel 71
+we 72
+ tl 73
+thu 74
+ona 75
+ th 76
+t w 77
+hut 78
+ana 79
+tla 80
+wan 81
+aba 82
+ola 83
+ me 84
+gwa 85
+re 86
+ong 87
+t o 88
+lao 89
+e s 90
+o s 91
+a y 92
+alo 93
+set 94
+a p 95
+i a 96
+eng 97
+a a 98
+o e 99
+tho 100
+ ke 101
+gwe 102
+ ha 103
+hlo 104
+edi 105
+ la 106
+ao 107
+ ts 108
+aka 109
+hla 110
+ala 111
+swa 112
+ we 113
+ bj 114
+o o 115
+gor 116
+aga 117
+hab 118
+gob 119
+let 120
+ke 121
+dik 122
+sa 123
+ i 124
+oba 125
+ hl 126
+the 127
+dir 128
+a n 129
+ith 130
+bja 131
+ye 132
+no 133
+ sa 134
+mol 135
+lwa 136
+ti 137
+man 138
+ole 139
+e e 140
+tse 141
+o w 142
+ore 143
+to 144
+at 145
+eth 146
+e y 147
+kan 148
+tsh 149
+gon 150
+net 151
+ano 152
+kar 153
+ge 154
+ho 155
+lok 156
+ sw 157
+ na 158
+i b 159
+dip 160
+i o 161
+oka 162
+ ge 163
+ om 164
+ko 165
+emo 166
+pel 167
+nt 168
+e a 169
+mel 170
+leg 171
+tlh 172
+me 173
+ete 174
+phe 175
+a e 176
+o n 177
+o i 178
+wal 179
+oko 180
+nya 181
+bol 182
+odi 183
+weg 184
+te 185
+e n 186
+ta 187
+any 188
+yeo 189
+kga 190
+pol 191
+ang 192
+ri 193
+it 194
+uto 195
+ mm 196
+iti 197
+are 198
+o f 199
+ha 200
+gat 201
+oth 202
+ika 203
+o h 204
+ it 205
+she 206
+ath 207
+ale 208
+iri 209
+pha 210
+ahl 211
+ te 212
+ohl 213
+tha 214
+ re 215
+bon 216
+lha 217
+ ph 218
+din 219
+ pe 220
+ro 221
+mi 222
+omi 223
+i t 224
+ fa 225
+aro 226
+ase 227
+i l 228
+ne 229
+lal 230
+ogo 231
+kol 232
+ wo 233
+t i 234
+omo 235
+ be 236
+mog 237
+mok 238
+len 239
+ile 240
+lwe 241
+ma 242
+uta 243
+nse 244
+amo 245
+a o 246
+ fe 247
+okg 248
+ja 249
+pan 250
+nag 251
+ekg 252
+i i 253
+apa 254
+get 255
+lon 256
+ra 257
+aem 258
+ yo 259
+atl 260
+tlo 261
+kel 262
+tel 263
+ kh 264
+ po 265
+e o 266
+a w 267
+ent 268
+i e 269
+bo 270
+gan 271
+het 272
+mal 273
+a f 274
+otl 275
+uti 276
+oga 277
+sen 278
+kwa 279
+mae 280
+eka 281
+mme 282
+kge 283
+jal 284
+a r 285
+ing 286
+lek 287
+sep 288
+lag 289
+ofe 290
+wag 291
+g y 292
+rol 293
+epe 294
+eko 295
+bok 296
+o p 297
+adi 298
+log 299
+
diff --git a/silpa/modules/guesslanguages/trigrams/pl b/silpa/modules/guesslanguages/trigrams/pl
new file mode 100644
index 0000000..4f78e30
--- /dev/null
+++ b/silpa/modules/guesslanguages/trigrams/pl
@@ -0,0 +1,300 @@
+ie 0
+nie 1
+em 2
+ ni 3
+ po 4
+ pr 5
+dzi 6
+ na 7
+że 8
+rze 9
+na 10
+łem 11
+wie 12
+ w 13
+ że 14
+go 15
+ by 16
+prz 17
+owa 18
+ię 19
+ do 20
+ si 21
+owi 22
+ pa 23
+ za 24
+ch 25
+ego 26
+ał 27
+się 28
+ej 29
+wał 30
+ym 31
+ani 32
+ałe 33
+to 34
+ i 35
+ to 36
+ te 37
+e p 38
+ je 39
+ z 40
+czy 41
+był 42
+pan 43
+sta 44
+kie 45
+ ja 46
+do 47
+ ch 48
+ cz 49
+ wi 50
+iał 51
+a p 52
+pow 53
+ mi 54
+li 55
+eni 56
+zie 57
+ ta 58
+ wa 59
+ło 60
+ać 61
+dy 62
+ak 63
+e w 64
+ a 65
+ od 66
+ st 67
+nia 68
+rzy 69
+ied 70
+ kt 71
+odz 72
+cie 73
+cze 74
+ia 75
+iel 76
+któ 77
+o p 78
+tór 79
+ści 80
+ sp 81
+ wy 82
+jak 83
+tak 84
+zy 85
+ mo 86
+ałę 87
+pro 88
+ski 89
+tem 90
+łęs 91
+ tr 92
+e m 93
+jes 94
+my 95
+ ro 96
+edz 97
+eli 98
+iej 99
+ rz 100
+a n 101
+ale 102
+an 103
+e s 104
+est 105
+le 106
+o s 107
+i p 108
+ki 109
+ co 110
+ada 111
+czn 112
+e t 113
+e z 114
+ent 115
+ny 116
+pre 117
+rzą 118
+y s 119
+ ko 120
+ o 121
+ach 122
+am 123
+e n 124
+o t 125
+oli 126
+pod 127
+zia 128
+ go 129
+ ka 130
+by 131
+ieg 132
+ier 133
+noś 134
+roz 135
+spo 136
+ych 137
+ząd 138
+ mn 139
+acz 140
+adz 141
+bie 142
+cho 143
+mni 144
+o n 145
+ost 146
+pra 147
+ze 148
+ła 149
+ so 150
+a m 151
+cza 152
+iem 153
+ić 154
+obi 155
+ył 156
+yło 157
+ mu 158
+ mó 159
+a t 160
+acj 161
+ci 162
+e b 163
+ich 164
+kan 165
+mi 166
+mie 167
+ośc 168
+row 169
+zen 170
+zyd 171
+ al 172
+ re 173
+a w 174
+den 175
+edy 176
+ił 177
+ko 178
+o w 179
+rac 180
+śmy 181
+ ma 182
+ ra 183
+ sz 184
+ ty 185
+e j 186
+isk 187
+ji 188
+ka 189
+m s 190
+no 191
+o z 192
+rez 193
+wa 194
+ów 195
+łow 196
+ść 197
+ ob 198
+ech 199
+ecz 200
+ezy 201
+i w 202
+ja 203
+kon 204
+mów 205
+ne 206
+ni 207
+now 208
+nym 209
+pol 210
+pot 211
+yde 212
+ dl 213
+ sy 214
+a s 215
+aki 216
+ali 217
+dla 218
+icz 219
+ku 220
+ocz 221
+st 222
+str 223
+szy 224
+trz 225
+wia 226
+y p 227
+za 228
+ wt 229
+chc 230
+esz 231
+iec 232
+im 233
+la 234
+o m 235
+sa 236
+wać 237
+y n 238
+zac 239
+zec 240
+ gd 241
+a z 242
+ard 243
+co 244
+dar 245
+e r 246
+ien 247
+m n 248
+m w 249
+mia 250
+moż 251
+raw 252
+rdz 253
+tan 254
+ted 255
+teg 256
+wił 257
+wte 258
+y z 259
+zna 260
+zło 261
+a r 262
+awi 263
+bar 264
+cji 265
+czą 266
+dow 267
+eż 268
+gdy 269
+iek 270
+je 271
+o d 272
+tał 273
+wal 274
+wsz 275
+zed 276
+ówi 277
+ęsa 278
+ ba 279
+ lu 280
+ wo 281
+aln 282
+arn 283
+ba 284
+dzo 285
+e c 286
+hod 287
+igi 288
+lig 289
+m p 290
+myś 291
+o c 292
+oni 293
+rel 294
+sku 295
+ste 296
+y w 297
+yst 298
+z w 299
diff --git a/silpa/modules/guesslanguages/trigrams/ps b/silpa/modules/guesslanguages/trigrams/ps
new file mode 100644
index 0000000..42a0a4a
--- /dev/null
+++ b/silpa/modules/guesslanguages/trigrams/ps
@@ -0,0 +1,300 @@
+ د 0
+اؤ 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
diff --git a/silpa/modules/guesslanguages/trigrams/pt b/silpa/modules/guesslanguages/trigrams/pt
new file mode 100644
index 0000000..3615f54
--- /dev/null
+++ b/silpa/modules/guesslanguages/trigrams/pt
@@ -0,0 +1,300 @@
+de 0
+ de 1
+os 2
+as 3
+que 4
+ co 5
+ão 6
+o d 7
+ qu 8
+ue 9
+ a 10
+do 11
+ent 12
+ se 13
+a d 14
+s d 15
+e a 16
+es 17
+ pr 18
+ra 19
+da 20
+ es 21
+ pa 22
+to 23
+ o 24
+em 25
+con 26
+o p 27
+ do 28
+est 29
+nte 30
+ção 31
+ da 32
+ re 33
+ma 34
+par 35
+ te 36
+ara 37
+ida 38
+ e 39
+ade 40
+is 41
+ um 42
+ po 43
+a a 44
+a p 45
+dad 46
+no 47
+te 48
+ no 49
+açã 50
+pro 51
+al 52
+com 53
+e d 54
+s a 55
+ as 56
+a c 57
+er 58
+men 59
+s e 60
+ais 61
+nto 62
+res 63
+a s 64
+ado 65
+ist 66
+s p 67
+tem 68
+e c 69
+e s 70
+ia 71
+o s 72
+o a 73
+o c 74
+e p 75
+sta 76
+ta 77
+tra 78
+ura 79
+ di 80
+ pe 81
+ar 82
+e e 83
+ser 84
+uma 85
+mos 86
+se 87
+ ca 88
+o e 89
+ na 90
+a e 91
+des 92
+ont 93
+por 94
+ in 95
+ ma 96
+ect 97
+o q 98
+ria 99
+s c 100
+ste 101
+ver 102
+cia 103
+dos 104
+ica 105
+str 106
+ ao 107
+ em 108
+das 109
+e t 110
+ito 111
+iza 112
+pre 113
+tos 114
+ nã 115
+ada 116
+não 117
+ess 118
+eve 119
+or 120
+ran 121
+s n 122
+s t 123
+tur 124
+ ac 125
+ fa 126
+a r 127
+ens 128
+eri 129
+na 130
+sso 131
+ si 132
+ é 133
+bra 134
+esp 135
+mo 136
+nos 137
+ro 138
+um 139
+a n 140
+ao 141
+ico 142
+liz 143
+min 144
+o n 145
+ons 146
+pri 147
+ten 148
+tic 149
+ões 150
+ tr 151
+a m 152
+aga 153
+e n 154
+ili 155
+ime 156
+m a 157
+nci 158
+nha 159
+nta 160
+spe 161
+tiv 162
+am 163
+ano 164
+arc 165
+ass 166
+cer 167
+e o 168
+ece 169
+emo 170
+ga 171
+o m 172
+rag 173
+so 174
+são 175
+ au 176
+ os 177
+ sa 178
+ali 179
+ca 180
+ema 181
+emp 182
+ici 183
+ido 184
+inh 185
+iss 186
+l d 187
+la 188
+lic 189
+m c 190
+mai 191
+onc 192
+pec 193
+ram 194
+s q 195
+ ci 196
+ en 197
+ fo 198
+a o 199
+ame 200
+car 201
+co 202
+der 203
+eir 204
+ho 205
+io 206
+om 207
+ora 208
+r a 209
+sen 210
+ter 211
+ br 212
+ ex 213
+a u 214
+cul 215
+dev 216
+e u 217
+ha 218
+mpr 219
+nce 220
+oca 221
+ove 222
+rio 223
+s o 224
+sa 225
+sem 226
+tes 227
+uni 228
+ven 229
+zaç 230
+çõe 231
+ ad 232
+ al 233
+ an 234
+ mi 235
+ mo 236
+ ve 237
+ à 238
+a i 239
+a q 240
+ala 241
+amo 242
+bli 243
+cen 244
+col 245
+cos 246
+cto 247
+e m 248
+e v 249
+ede 250
+gás 251
+ias 252
+ita 253
+iva 254
+ndo 255
+o t 256
+ore 257
+r d 258
+ral 259
+rea 260
+s f 261
+sid 262
+tro 263
+vel 264
+vid 265
+ás 266
+ ap 267
+ ar 268
+ ce 269
+ ou 270
+ pú 271
+ so 272
+ vi 273
+a f 274
+act 275
+arr 276
+bil 277
+cam 278
+e f 279
+e i 280
+el 281
+for 282
+lem 283
+lid 284
+lo 285
+m d 286
+mar 287
+nde 288
+o o 289
+omo 290
+ort 291
+per 292
+púb 293
+r u 294
+rei 295
+rem 296
+ros 297
+rre 298
+ssi 299
diff --git a/silpa/modules/guesslanguages/trigrams/pt_BR b/silpa/modules/guesslanguages/trigrams/pt_BR
new file mode 100644
index 0000000..79a446c
--- /dev/null
+++ b/silpa/modules/guesslanguages/trigrams/pt_BR
@@ -0,0 +1,300 @@
+eq 0
+ent 1
+ en 2
+q e 3
+q i 4
+g e 5
+g i 6
+ng 7
+ id 8
+ida 9
+nte 10
+te 11
+ es 12
+ in 13
+ade 14
+ag 15
+dad 16
+de 17
+ia 18
+ing 19
+ br 20
+ sa 21
+est 22
+inq 23
+lin 24
+mo 25
+nq 26
+o a 27
+seq 28
+ co 29
+ li 30
+ ni 31
+ o 32
+a a 33
+a c 34
+ado 35
+asi 36
+bra 37
+dor 38
+iq 39
+nta 40
+o b 41
+or 42
+q n 43
+ras 44
+sil 45
+str 46
+ta 47
+tre 48
+us 49
+ a 50
+ ag 51
+ an 52
+ ca 53
+ e 54
+ eq 55
+ g 56
+ i 57
+ ir 58
+ nc 59
+ q 60
+ se 61
+ ve 62
+ant 63
+ar 64
+cia 65
+con 66
+e a 67
+eir 68
+el 69
+ig 70
+ili 71
+imo 72
+io 73
+ir 74
+nci 75
+o t 76
+ro 77
+vel 78
+ ap 79
+ bo 80
+ de 81
+ fr 82
+ tr 83
+a b 84
+a e 85
+a g 86
+a v 87
+apo 88
+as 89
+bus 90
+ca 91
+cet 92
+cin 93
+des 94
+e b 95
+e s 96
+eta 97
+fre 98
+i a 99
+ibu 100
+il 101
+iro 102
+la 103
+liq 104
+nib 105
+nti 106
+o c 107
+o q 108
+os 109
+ra 110
+re 111
+req 112
+s a 113
+s s 114
+san 115
+sim 116
+tar 117
+to 118
+ult 119
+ ba 120
+ ci 121
+ el 122
+ em 123
+ fi 124
+ gr 125
+ gu 126
+ ia 127
+ mu 128
+ pe 129
+ po 130
+ re 131
+ ri 132
+ si 133
+ su 134
+ te 135
+ vi 136
+a o 137
+a s 138
+abe 139
+alc 140
+and 141
+ara 142
+arg 143
+ari 144
+ben 145
+boc 146
+car 147
+co 148
+do 149
+e f 150
+e g 151
+e l 152
+e o 153
+em 154
+emo 155
+en 156
+es 157
+esp 158
+exe 159
+fic 160
+g n 161
+g s 162
+gra 163
+gua 164
+ias 165
+ica 166
+idi 167
+ila 168
+ile 169
+inh 170
+l b 171
+l e 172
+lei 173
+loq 174
+mos 175
+mul 176
+nad 177
+nio 178
+nt 179
+nto 180
+o g 181
+o r 182
+oce 183
+ont 184
+oq 185
+pos 186
+q v 187
+r b 188
+r e 189
+r i 190
+r s 191
+rad 192
+ran 193
+rem 194
+rg 195
+ria 196
+rio 197
+s e 198
+s p 199
+sta 200
+sti 201
+tig 202
+til 203
+tra 204
+ua 205
+ue 206
+va 207
+xeq 208
+ ' 209
+ ab 210
+ ad 211
+ ae 212
+ al 213
+ am 214
+ aq 215
+ ar 216
+ b 217
+ bi 218
+ bl 219
+ bu 220
+ cc 221
+ ch 222
+ di 223
+ et 224
+ ex 225
+ fa 226
+ ic 227
+ il 228
+ im 229
+ is 230
+ it 231
+ ll 232
+ m 233
+ me 234
+ na 235
+ ne 236
+ ng 237
+ nu 238
+ ob 239
+ ou 240
+ pi 241
+ qu 242
+ ss 243
+ st 244
+ ti 245
+ ub 246
+ un 247
+ v 248
+ x 249
+' c 250
+a d 251
+a f 252
+a i 253
+a n 254
+a p 255
+a t 256
+abr 257
+aci 258
+ad 259
+ada 260
+adr 261
+aer 262
+afe 263
+alv 264
+amb 265
+amp 266
+an 267
+ana 268
+ang 269
+anh 270
+ani 271
+ano 272
+anq 273
+apa 274
+aq 275
+ati 276
+ato 277
+azi 278
+b n 279
+ban 280
+bar 281
+big 282
+bil 283
+biq 284
+bli 285
+blu 286
+bon 287
+bre 288
+bri 289
+bse 290
+buc 291
+c f 292
+c i 293
+cad 294
+caf 295
+cag 296
+cal 297
+can 298
+cc 299
diff --git a/silpa/modules/guesslanguages/trigrams/pt_PT b/silpa/modules/guesslanguages/trigrams/pt_PT
new file mode 100644
index 0000000..d3c7b33
--- /dev/null
+++ b/silpa/modules/guesslanguages/trigrams/pt_PT
@@ -0,0 +1,300 @@
+equ 0
+ent 1
+que 2
+qui 3
+gui 4
+uen 5
+ li 6
+ngu 7
+qu 8
+uid 9
+ co 10
+ ve 11
+de 12
+gue 13
+ida 14
+nte 15
+o a 16
+a a 17
+ade 18
+dad 19
+el 20
+ing 21
+mo 22
+nqu 23
+nta 24
+seq 25
+u n 26
+vel 27
+ de 28
+ o 29
+ se 30
+a c 31
+ado 32
+ar 33
+est 34
+ia 35
+inq 36
+io 37
+iqu 38
+lin 39
+o c 40
+o p 41
+ort 42
+por 43
+ta 44
+te 45
+ ag 46
+ eq 47
+ nc 48
+ pi 49
+ po 50
+ sa 51
+a d 52
+a e 53
+ant 54
+as 55
+ca 56
+cia 57
+des 58
+do 59
+gu 60
+imo 61
+l p 62
+nci 63
+ro 64
+rtu 65
+str 66
+tug 67
+u s 68
+ues 69
+ui 70
+ a 71
+ an 72
+ ap 73
+ ba 74
+ bi 75
+ ca 76
+ fr 77
+ gu 78
+ in 79
+ pe 80
+ qu 81
+agu 82
+apa 83
+con 84
+dor 85
+e f 86
+e g 87
+eir 88
+fre 89
+ho 90
+i a 91
+ica 92
+igu 93
+iro 94
+liq 95
+nti 96
+o b 97
+o l 98
+o s 99
+or 100
+r o 101
+ra 102
+req 103
+s c 104
+sim 105
+tar 106
+to 107
+ue 108
+uin 109
+ult 110
+ ci 111
+ en 112
+ ho 113
+ mu 114
+ ni 115
+ re 116
+ s 117
+ si 118
+ su 119
+a s 120
+a v 121
+abe 122
+ag 123
+al 124
+and 125
+anh 126
+apo 127
+ata 128
+ban 129
+ben 130
+bic 131
+boi 132
+cap 133
+car 134
+cin 135
+co 136
+com 137
+cto 138
+dei 139
+e b 140
+e o 141
+e s 142
+eca 143
+en 144
+er 145
+es 146
+exe 147
+fic 148
+for 149
+gal 150
+gra 151
+ias 152
+ich 153
+ico 154
+idi 155
+ili 156
+ir 157
+ira 158
+isb 159
+la 160
+lis 161
+mbo 162
+mul 163
+na 164
+nho 165
+nio 166
+nt 167
+o q 168
+o r 169
+o t 170
+oc 171
+oio 172
+omb 173
+oo 174
+os 175
+par 176
+pe 177
+r b 178
+r e 179
+r s 180
+ran 181
+re 182
+rec 183
+s a 184
+s s 185
+san 186
+sbo 187
+so 188
+sta 189
+tan 190
+tra 191
+tre 192
+u v 193
+uga 194
+ugu 195
+xeq 196
+ ab 197
+ ad 198
+ al 199
+ am 200
+ aq 201
+ ar 202
+ au 203
+ b 204
+ bo 205
+ c 206
+ ch 207
+ ct 208
+ cu 209
+ el 210
+ es 211
+ ex 212
+ fa 213
+ fi 214
+ ga 215
+ gr 216
+ id 217
+ ir 218
+ ne 219
+ ng 220
+ nu 221
+ ob 222
+ oo 223
+ pa 224
+ ps 225
+ pt 226
+ r 227
+ ra 228
+ ri 229
+ ss 230
+ st 231
+ ta 232
+ te 233
+ tr 234
+ ub 235
+ un 236
+ vi 237
+ vo 238
+a f 239
+a i 240
+a l 241
+a m 242
+a o 243
+a r 244
+ach 245
+aci 246
+act 247
+ad 248
+afa 249
+age 250
+agr 251
+alf 252
+alh 253
+am 254
+amb 255
+ami 256
+ana 257
+ang 258
+anq 259
+aqu 260
+ara 261
+arb 262
+arc 263
+arg 264
+ari 265
+arr 266
+asa 267
+ati 268
+aut 269
+azi 270
+b n 271
+bar 272
+bat 273
+ber 274
+big 275
+bil 276
+biq 277
+bli 278
+boa 279
+boe 280
+bor 281
+bse 282
+c i 283
+c l 284
+c p 285
+cad 286
+cam 287
+cas 288
+ch 289
+cha 290
+che 291
+chi 292
+cio 293
+coc 294
+coi 295
+cou 296
+ctr 297
+cue 298
+cul 299
diff --git a/silpa/modules/guesslanguages/trigrams/ro b/silpa/modules/guesslanguages/trigrams/ro
new file mode 100644
index 0000000..9fb7c59
--- /dev/null
+++ b/silpa/modules/guesslanguages/trigrams/ro
@@ -0,0 +1,300 @@
+ de 0
+ în 1
+de 2
+ a 3
+ul 4
+ co 5
+în 6
+re 7
+e d 8
+ea 9
+ di 10
+ pr 11
+le 12
+şi 13
+are 14
+at 15
+con 16
+ui 17
+ şi 18
+i d 19
+ii 20
+ cu 21
+e a 22
+lui 23
+ern 24
+te 25
+cu 26
+ la 27
+a c 28
+că 29
+din 30
+e c 31
+or 32
+ulu 33
+ne 34
+ter 35
+la 36
+să 37
+tat 38
+tre 39
+ ac 40
+ să 41
+est 42
+st 43
+tă 44
+ ca 45
+ ma 46
+ pe 47
+cur 48
+ist 49
+mân 50
+a d 51
+i c 52
+nat 53
+ ce 54
+i a 55
+ia 56
+in 57
+scu 58
+ mi 59
+ato 60
+aţi 61
+ie 62
+ re 63
+ se 64
+a a 65
+int 66
+ntr 67
+tru 68
+uri 69
+ă a 70
+ fo 71
+ pa 72
+ate 73
+ini 74
+tul 75
+ent 76
+min 77
+pre 78
+pro 79
+a p 80
+e p 81
+e s 82
+ei 83
+nă 84
+par 85
+rna 86
+rul 87
+tor 88
+ in 89
+ ro 90
+ tr 91
+ un 92
+al 93
+ale 94
+art 95
+ce 96
+e e 97
+e î 98
+fos 99
+ita 100
+nte 101
+omâ 102
+ost 103
+rom 104
+ru 105
+str 106
+ver 107
+ ex 108
+ na 109
+a f 110
+lor 111
+nis 112
+rea 113
+rit 114
+ al 115
+ eu 116
+ no 117
+ace 118
+cer 119
+ile 120
+nal 121
+pri 122
+ri 123
+sta 124
+ste 125
+ţie 126
+ au 127
+ da 128
+ ju 129
+ po 130
+ar 131
+au 132
+ele 133
+ere 134
+eri 135
+ina 136
+n a 137
+n c 138
+res 139
+se 140
+t a 141
+tea 142
+ că 143
+ do 144
+ fi 145
+a s 146
+ată 147
+com 148
+e ş 149
+eur 150
+guv 151
+i s 152
+ice 153
+ili 154
+na 155
+rec 156
+rep 157
+ril 158
+rne 159
+rti 160
+uro 161
+uve 162
+ă p 163
+ ar 164
+ o 165
+ su 166
+ vi 167
+dec 168
+dre 169
+oar 170
+ons 171
+pe 172
+rii 173
+ ad 174
+ ge 175
+a m 176
+a r 177
+ain 178
+ali 179
+car 180
+cat 181
+ecu 182
+ene 183
+ept 184
+ext 185
+ilo 186
+iu 187
+n p 188
+ori 189
+sec 190
+u p 191
+une 192
+ă c 193
+şti 194
+ţia 195
+ ch 196
+ gu 197
+ai 198
+ani 199
+cea 200
+e f 201
+isc 202
+l a 203
+lic 204
+liu 205
+mar 206
+nic 207
+nt 208
+nul 209
+ris 210
+t c 211
+t p 212
+tic 213
+tid 214
+u a 215
+ucr 216
+ as 217
+ dr 218
+ fa 219
+ nu 220
+ pu 221
+ to 222
+cra 223
+dis 224
+enţ 225
+esc 226
+gen 227
+it 228
+ivi 229
+l d 230
+n d 231
+nd 232
+nu 233
+ond 234
+pen 235
+ral 236
+riv 237
+rte 238
+sti 239
+t d 240
+ta 241
+to 242
+uni 243
+xte 244
+ând 245
+îns 246
+ă s 247
+ bl 248
+ st 249
+ uc 250
+a b 251
+a i 252
+a l 253
+air 254
+ast 255
+bla 256
+bri 257
+che 258
+duc 259
+dul 260
+e m 261
+eas 262
+edi 263
+esp 264
+i l 265
+i p 266
+ica 267
+ică 268
+ir 269
+iun 270
+jud 271
+lai 272
+lul 273
+mai 274
+men 275
+ni 276
+pus 277
+put 278
+ra 279
+rai 280
+rop 281
+sil 282
+ti 283
+tra 284
+u s 285
+ua 286
+ude 287
+urs 288
+ân 289
+înt 290
+ţă 291
+ lu 292
+ mo 293
+ s 294
+ sa 295
+ sc 296
+a u 297
+an 298
+atu 299
diff --git a/silpa/modules/guesslanguages/trigrams/ru b/silpa/modules/guesslanguages/trigrams/ru
new file mode 100644
index 0000000..a5050bb
--- /dev/null
+++ b/silpa/modules/guesslanguages/trigrams/ru
@@ -0,0 +1,300 @@
+ на 0
+ пр 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
diff --git a/silpa/modules/guesslanguages/trigrams/sk b/silpa/modules/guesslanguages/trigrams/sk
new file mode 100644
index 0000000..9db2064
--- /dev/null
+++ b/silpa/modules/guesslanguages/trigrams/sk
@@ -0,0 +1,300 @@
+ pr 0
+ po 1
+ ne 2
+ a 3
+ch 4
+ na 5
+ je 6
+ní 7
+je 8
+ do 9
+na 10
+ova 11
+ v 12
+to 13
+ho 14
+ou 15
+ to 16
+ick 17
+ter 18
+že 19
+ st 20
+ za 21
+ost 22
+ých 23
+ se 24
+pro 25
+ te 26
+e s 27
+ že 28
+a p 29
+ kt 30
+pre 31
+ by 32
+ o 33
+se 34
+kon 35
+ př 36
+a s 37
+né 38
+ně 39
+sti 40
+ako 41
+ist 42
+mu 43
+ame 44
+ent 45
+ky 46
+la 47
+pod 48
+ ve 49
+ ob 50
+om 51
+vat 52
+ ko 53
+sta 54
+em 55
+le 56
+a v 57
+by 58
+e p 59
+ko 60
+eri 61
+kte 62
+sa 63
+ého 64
+e v 65
+mer 66
+tel 67
+ ak 68
+ sv 69
+ zá 70
+hla 71
+las 72
+lo 73
+ ta 74
+a n 75
+ej 76
+li 77
+ne 78
+ sa 79
+ak 80
+ani 81
+ate 82
+ia 83
+sou 84
+ so 85
+ení 86
+ie 87
+ re 88
+ce 89
+e n 90
+ori 91
+tic 92
+ vy 93
+a t 94
+ké 95
+nos 96
+o s 97
+str 98
+ti 99
+uje 100
+ sp 101
+lov 102
+o p 103
+oli 104
+ová 105
+ ná 106
+ale 107
+den 108
+e o 109
+ku 110
+val 111
+ am 112
+ ro 113
+ si 114
+nie 115
+pol 116
+tra 117
+ al 118
+ali 119
+o v 120
+tor 121
+ mo 122
+ ni 123
+ci 124
+o n 125
+ím 126
+ le 127
+ pa 128
+ s 129
+al 130
+ati 131
+ero 132
+ove 133
+rov 134
+ván 135
+ích 136
+ ja 137
+ z 138
+cké 139
+e z 140
+ od 141
+byl 142
+de 143
+dob 144
+nep 145
+pra 146
+ric 147
+spo 148
+tak 149
+ vš 150
+a a 151
+e t 152
+lit 153
+me 154
+nej 155
+no 156
+nýc 157
+o t 158
+a j 159
+e a 160
+en 161
+est 162
+jí 163
+mi 164
+slo 165
+stá 166
+u v 167
+for 168
+nou 169
+pos 170
+pře 171
+si 172
+tom 173
+ vl 174
+a z 175
+ly 176
+orm 177
+ris 178
+za 179
+zák 180
+ k 181
+at 182
+cký 183
+dno 184
+dos 185
+dy 186
+jak 187
+kov 188
+ny 189
+res 190
+ror 191
+sto 192
+van 193
+ op 194
+da 195
+do 196
+e j 197
+hod 198
+len 199
+ný 200
+o z 201
+poz 202
+pri 203
+ran 204
+u s 205
+ ab 206
+aj 207
+ast 208
+it 209
+kto 210
+o o 211
+oby 212
+odo 213
+u p 214
+va 215
+ání 216
+í p 217
+ým 218
+ in 219
+ mi 220
+ať 221
+dov 222
+ka 223
+nsk 224
+áln 225
+ an 226
+ bu 227
+ sl 228
+ tr 229
+e m 230
+ech 231
+edn 232
+i n 233
+kýc 234
+níc 235
+ov 236
+pří 237
+í a 238
+ aj 239
+ bo 240
+a d 241
+ide 242
+o a 243
+o d 244
+och 245
+pov 246
+svo 247
+é s 248
+ kd 249
+ vo 250
+ vý 251
+bud 252
+ich 253
+il 254
+ili 255
+ni 256
+ním 257
+od 258
+osl 259
+ouh 260
+rav 261
+roz 262
+st 263
+stv 264
+tu 265
+u a 266
+vál 267
+y s 268
+í s 269
+í v 270
+ hl 271
+ li 272
+ me 273
+a m 274
+e b 275
+h s 276
+i p 277
+i s 278
+iti 279
+lád 280
+nem 281
+nov 282
+opo 283
+uhl 284
+eno 285
+ens 286
+men 287
+nes 288
+obo 289
+te 290
+ved 291
+vlá 292
+y n 293
+ ma 294
+ mu 295
+ vá 296
+bez 297
+byv 298
+cho 299
diff --git a/silpa/modules/guesslanguages/trigrams/sl b/silpa/modules/guesslanguages/trigrams/sl
new file mode 100644
index 0000000..9adb377
--- /dev/null
+++ b/silpa/modules/guesslanguages/trigrams/sl
@@ -0,0 +1,300 @@
+je 0
+ pr 1
+ po 2
+ je 3
+ v 4
+ za 5
+ na 6
+pre 7
+da 8
+ da 9
+ki 10
+ti 11
+ja 12
+ne 13
+ in 14
+in 15
+li 16
+no 17
+na 18
+ni 19
+ bi 20
+jo 21
+ ne 22
+nje 23
+e p 24
+i p 25
+pri 26
+o p 27
+red 28
+ do 29
+anj 30
+em 31
+ih 32
+ bo 33
+ ki 34
+ iz 35
+ se 36
+ so 37
+al 38
+ de 39
+e v 40
+i s 41
+ko 42
+bil 43
+ira 44
+ove 45
+ br 46
+ ob 47
+e b 48
+i n 49
+ova 50
+se 51
+za 52
+la 53
+ ja 54
+ati 55
+so 56
+ter 57
+ ta 58
+a s 59
+del 60
+e d 61
+ dr 62
+ od 63
+a n 64
+ar 65
+jal 66
+ji 67
+rit 68
+ ka 69
+ ko 70
+ pa 71
+a b 72
+ani 73
+e s 74
+er 75
+ili 76
+lov 77
+o v 78
+tov 79
+ ir 80
+ ni 81
+ vo 82
+a j 83
+bi 84
+bri 85
+iti 86
+let 87
+o n 88
+tan 89
+še 90
+ le 91
+ te 92
+eni 93
+eri 94
+ita 95
+kat 96
+por 97
+pro 98
+ali 99
+ke 100
+oli 101
+ov 102
+pra 103
+ri 104
+uar 105
+ve 106
+ to 107
+a i 108
+a v 109
+ako 110
+arj 111
+ate 112
+di 113
+do 114
+ga 115
+le 116
+lo 117
+mer 118
+o s 119
+oda 120
+oro 121
+pod 122
+ ma 123
+ mo 124
+ si 125
+a p 126
+bod 127
+e n 128
+ega 129
+ju 130
+ka 131
+lje 132
+rav 133
+ta 134
+a o 135
+e t 136
+e z 137
+i d 138
+i v 139
+ila 140
+lit 141
+nih 142
+odo 143
+sti 144
+to 145
+var 146
+ved 147
+vol 148
+ la 149
+ no 150
+ vs 151
+a d 152
+agu 153
+aja 154
+dej 155
+dnj 156
+eda 157
+gov 158
+gua 159
+jag 160
+jem 161
+kon 162
+ku 163
+nij 164
+omo 165
+oči 166
+pov 167
+rak 168
+rja 169
+sta 170
+tev 171
+a t 172
+aj 173
+ed 174
+eja 175
+ent 176
+ev 177
+i i 178
+i o 179
+ijo 180
+ist 181
+ost 182
+ske 183
+str 184
+ ra 185
+ s 186
+ tr 187
+ še 188
+arn 189
+bo 190
+drž 191
+i j 192
+ilo 193
+izv 194
+jen 195
+lja 196
+nsk 197
+o d 198
+o i 199
+om 200
+ora 201
+ovo 202
+raz 203
+rža 204
+tak 205
+va 206
+ven 207
+žav 208
+ me 209
+ če 210
+ame 211
+avi 212
+e i 213
+e o 214
+eka 215
+gre 216
+i t 217
+ija 218
+il 219
+ite 220
+kra 221
+lju 222
+mor 223
+nik 224
+o t 225
+obi 226
+odn 227
+ran 228
+re 229
+sto 230
+stv 231
+udi 232
+v i 233
+van 234
+ am 235
+ sp 236
+ st 237
+ tu 238
+ ve 239
+ že 240
+ajo 241
+ale 242
+apo 243
+dal 244
+dru 245
+e j 246
+edn 247
+ejo 248
+elo 249
+est 250
+etj 251
+eva 252
+iji 253
+ik 254
+im 255
+itv 256
+mob 257
+nap 258
+nek 259
+pol 260
+pos 261
+rat 262
+ski 263
+tič 264
+tom 265
+ton 266
+tra 267
+tud 268
+tve 269
+v b 270
+vil 271
+vse 272
+čit 273
+ av 274
+ gr 275
+a z 276
+ans 277
+ast 278
+avt 279
+dan 280
+e m 281
+eds 282
+for 283
+i z 284
+kot 285
+mi 286
+nim 287
+o b 288
+o o 289
+od 290
+odl 291
+oiz 292
+ot 293
+par 294
+pot 295
+rje 296
+roi 297
+tem 298
+val 299
diff --git a/silpa/modules/guesslanguages/trigrams/so b/silpa/modules/guesslanguages/trigrams/so
new file mode 100644
index 0000000..711fb6b
--- /dev/null
+++ b/silpa/modules/guesslanguages/trigrams/so
@@ -0,0 +1,300 @@
+ka 0
+ay 1
+da 2
+ ay 3
+aal 4
+oo 5
+aan 6
+ ka 7
+an 8
+in 9
+ in 10
+ada 11
+maa 12
+aba 13
+ so 14
+ali 15
+bad 16
+add 17
+soo 18
+ na 19
+aha 20
+ku 21
+ta 22
+ wa 23
+yo 24
+a s 25
+oma 26
+yaa 27
+ ba 28
+ ku 29
+ la 30
+ oo 31
+iya 32
+sha 33
+a a 34
+dda 35
+nab 36
+nta 37
+ da 38
+ ma 39
+nka 40
+uu 41
+y i 42
+aya 43
+ha 44
+raa 45
+ dh 46
+ qa 47
+a k 48
+ala 49
+baa 50
+doo 51
+had 52
+liy 53
+oom 54
+ ha 55
+ sh 56
+a d 57
+a i 58
+a n 59
+aar 60
+ee 61
+ey 62
+y k 63
+ya 64
+ ee 65
+ iy 66
+aa 67
+aaq 68
+gaa 69
+lam 70
+ bu 71
+a b 72
+a m 73
+ad 74
+aga 75
+ama 76
+iyo 77
+la 78
+a c 79
+a l 80
+een 81
+int 82
+she 83
+wax 84
+yee 85
+ si 86
+ uu 87
+a h 88
+aas 89
+alk 90
+dha 91
+gu 92
+hee 93
+ii 94
+ira 95
+mad 96
+o a 97
+o k 98
+qay 99
+ ah 100
+ ca 101
+ wu 102
+ank 103
+ash 104
+axa 105
+eed 106
+en 107
+ga 108
+haa 109
+n a 110
+n s 111
+naa 112
+nay 113
+o d 114
+taa 115
+u b 116
+uxu 117
+wux 118
+xuu 119
+ ci 120
+ do 121
+ ho 122
+ ta 123
+a g 124
+a u 125
+ana 126
+ayo 127
+dhi 128
+iin 129
+lag 130
+lin 131
+lka 132
+o i 133
+san 134
+u s 135
+una 136
+uun 137
+ ga 138
+ xa 139
+ xu 140
+aab 141
+abt 142
+aq 143
+aqa 144
+ara 145
+arl 146
+caa 147
+cir 148
+eeg 149
+eel 150
+isa 151
+kal 152
+lah 153
+ney 154
+qaa 155
+rla 156
+sad 157
+sii 158
+u d 159
+wad 160
+ ad 161
+ ar 162
+ di 163
+ jo 164
+ ra 165
+ sa 166
+ u 167
+ yi 168
+a j 169
+a q 170
+aad 171
+aat 172
+aay 173
+ah 174
+ale 175
+amk 176
+ari 177
+as 178
+aye 179
+bus 180
+dal 181
+ddu 182
+dii 183
+du 184
+duu 185
+ed 186
+ege 187
+gey 188
+hay 189
+hii 190
+ida 191
+ine 192
+joo 193
+laa 194
+lay 195
+mar 196
+mee 197
+n b 198
+n d 199
+n m 200
+no 201
+o b 202
+o l 203
+oog 204
+oon 205
+rga 206
+sh 207
+sid 208
+u q 209
+unk 210
+ush 211
+xa 212
+y d 213
+ bi 214
+ gu 215
+ is 216
+ ke 217
+ lo 218
+ me 219
+ mu 220
+ qo 221
+ ug 222
+a e 223
+a o 224
+a w 225
+adi 226
+ado 227
+agu 228
+al 229
+ant 230
+ark 231
+asa 232
+awi 233
+bta 234
+bul 235
+d a 236
+dag 237
+dan 238
+do 239
+e s 240
+gal 241
+gay 242
+guu 243
+h e 244
+hal 245
+iga 246
+ihi 247
+iri 248
+iye 249
+ken 250
+lad 251
+lid 252
+lsh 253
+mag 254
+mun 255
+n h 256
+n i 257
+na 258
+o n 259
+o w 260
+ood 261
+oor 262
+ora 263
+qab 264
+qor 265
+rab 266
+rit 267
+rta 268
+s o 269
+sab 270
+ska 271
+to 272
+u a 273
+u h 274
+u u 275
+ud 276
+ugu 277
+uls 278
+uud 279
+waa 280
+xus 281
+y b 282
+y q 283
+y s 284
+yad 285
+yay 286
+yih 287
+ aa 288
+ bo 289
+ br 290
+ go 291
+ ji 292
+ mi 293
+ of 294
+ ti 295
+ um 296
+ wi 297
+ xo 298
+a x 299
diff --git a/silpa/modules/guesslanguages/trigrams/sq b/silpa/modules/guesslanguages/trigrams/sq
new file mode 100644
index 0000000..106db29
--- /dev/null
+++ b/silpa/modules/guesslanguages/trigrams/sq
@@ -0,0 +1,300 @@
+të 0
+ të 1
+në 2
+për 3
+ pë 4
+ e 5
+sht 6
+ në 7
+ sh 8
+se 9
+et 10
+ë s 11
+ë t 12
+ se 13
+he 14
+jë 15
+ër 16
+dhe 17
+ pa 18
+ë n 19
+ë p 20
+ që 21
+ dh 22
+një 23
+ë m 24
+ nj 25
+ësh 26
+in 27
+ me 28
+që 29
+ po 30
+e n 31
+e t 32
+ish 33
+më 34
+së 35
+me 36
+htë 37
+ ka 38
+ si 39
+e k 40
+e p 41
+ i 42
+anë 43
+ar 44
+ nu 45
+und 46
+ve 47
+ ës 48
+e s 49
+ më 50
+nuk 51
+par 52
+uar 53
+uk 54
+jo 55
+rë 56
+ta 57
+ë f 58
+en 59
+it 60
+min 61
+het 62
+n e 63
+ri 64
+shq 65
+ë d 66
+ do 67
+ nd 68
+sh 69
+ën 70
+atë 71
+hqi 72
+ist 73
+ë q 74
+ gj 75
+ ng 76
+ th 77
+a n 78
+do 79
+end 80
+imi 81
+ndi 82
+r t 83
+rat 84
+ë b 85
+ëri 86
+ mu 87
+art 88
+ash 89
+qip 90
+ ko 91
+e m 92
+edh 93
+eri 94
+je 95
+ka 96
+nga 97
+si 98
+te 99
+ë k 100
+ësi 101
+ ma 102
+ ti 103
+eve 104
+hje 105
+ira 106
+mun 107
+on 108
+po 109
+re 110
+ pr 111
+im 112
+lit 113
+o t 114
+ur 115
+ë e 116
+ë v 117
+ët 118
+ ku 119
+ së 120
+e d 121
+es 122
+ga 123
+iti 124
+jet 125
+ndë 126
+oli 127
+shi 128
+tje 129
+ bë 130
+ z 131
+gje 132
+kan 133
+shk 134
+ënd 135
+ës 136
+ de 137
+ kj 138
+ ru 139
+ vi 140
+ara 141
+gov 142
+kjo 143
+or 144
+r p 145
+rto 146
+rug 147
+tet 148
+ugo 149
+ali 150
+arr 151
+at 152
+d t 153
+ht 154
+i p 155
+ipë 156
+izi 157
+jnë 158
+n n 159
+ohe 160
+shu 161
+shë 162
+t e 163
+tik 164
+a e 165
+arë 166
+etë 167
+hum 168
+nd 169
+ndr 170
+osh 171
+ova 172
+rim 173
+tos 174
+va 175
+ fa 176
+ fi 177
+a s 178
+hen 179
+i n 180
+mar 181
+ndo 182
+por 183
+ris 184
+sa 185
+sis 186
+tës 187
+umë 188
+viz 189
+zit 190
+ di 191
+ mb 192
+aj 193
+ana 194
+ata 195
+dër 196
+e a 197
+esh 198
+ime 199
+jes 200
+lar 201
+n s 202
+nte 203
+pol 204
+r n 205
+ran 206
+res 207
+rrë 208
+tar 209
+ë a 210
+ë i 211
+ at 212
+ jo 213
+ kë 214
+ re 215
+a k 216
+ai 217
+akt 218
+hë 219
+hën 220
+i i 221
+i m 222
+ia 223
+men 224
+nis 225
+shm 226
+str 227
+t k 228
+t n 229
+t s 230
+ë g 231
+ërk 232
+ëve 233
+ ai 234
+ ci 235
+ ed 236
+ ja 237
+ kr 238
+ qe 239
+ ta 240
+ ve 241
+a p 242
+cil 243
+el 244
+erë 245
+gji 246
+hte 247
+i t 248
+jen 249
+jit 250
+k d 251
+mën 252
+n t 253
+nyr 254
+ori 255
+pas 256
+ra 257
+rie 258
+rës 259
+tor 260
+uaj 261
+yre 262
+ëm 263
+ëny 264
+ ar 265
+ du 266
+ ga 267
+ je 268
+dës 269
+e e 270
+e z 271
+ha 272
+hme 273
+ika 274
+ini 275
+ite 276
+ith 277
+koh 278
+kra 279
+ku 280
+lim 281
+lis 282
+qën 283
+rën 284
+s s 285
+t d 286
+t t 287
+tir 288
+tën 289
+ver 290
+ë j 291
+ ba 292
+ in 293
+ tr 294
+ zg 295
+a a 296
+a m 297
+a t 298
+abr 299
diff --git a/silpa/modules/guesslanguages/trigrams/sr b/silpa/modules/guesslanguages/trigrams/sr
new file mode 100644
index 0000000..74fd6b2
--- /dev/null
+++ b/silpa/modules/guesslanguages/trigrams/sr
@@ -0,0 +1,300 @@
+ на 0
+ је 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
diff --git a/silpa/modules/guesslanguages/trigrams/ss b/silpa/modules/guesslanguages/trigrams/ss
new file mode 100644
index 0000000..95c82bc
--- /dev/null
+++ b/silpa/modules/guesslanguages/trigrams/ss
@@ -0,0 +1,301 @@
+ ku 0
+ le 1
+la 2
+eku 3
+a k 4
+nga 5
+ ng 6
+a n 7
+nge 8
+a l 9
+lo 10
+ ne 11
+eti 12
+kwe 13
+ndz 14
+e n 15
+o l 16
+ lo 17
+ela 18
+ema 19
+ent 20
+si 21
+ kw 22
+tsi 23
+i l 24
+wa 25
+lel 26
+kut 27
+e k 28
+und 29
+ni 30
+elo 31
+fun 32
+esi 33
+ si 34
+ele 35
+tin 36
+tfo 37
+ ti 38
+le 39
+kha 40
+tse 41
+e l 42
+pha 43
+ung 44
+i k 45
+ em 46
+ti 47
+sa 48
+ um 49
+isa 50
+eli 51
+ndl 52
+ing 53
+set 54
+we 55
+ise 56
+na 57
+ang 58
+etf 59
+khe 60
+and 61
+o n 62
+ we 63
+nti 64
+nye 65
+tfu 66
+ben 67
+a e 68
+uts 69
+let 70
+dza 71
+imi 72
+sek 73
+ko 74
+lok 75
+eni 76
+ye 77
+ba 78
+nkh 79
+ebe 80
+alo 81
+o k 82
+lan 83
+ga 84
+aba 85
+seb 86
+ ye 87
+he 88
+lwa 89
+kel 90
+ te 91
+ la 92
+kus 93
+wem 94
+ati 95
+ikh 96
+nek 97
+ala 98
+kuf 99
+i n 100
+oku 101
+ats 102
+mts 103
+hla 104
+wen 105
+a t 106
+ na 107
+gek 108
+uhl 109
+kub 110
+ngu 111
+ka 112
+aka 113
+fut 114
+kan 115
+kwa 116
+ li 117
+kuc 118
+onk 119
+ban 120
+ana 121
+ulu 122
+ se 123
+ im 124
+akh 125
+ume 126
+a i 127
+les 128
+tim 129
+ula 130
+ini 131
+lwe 132
+za 133
+fo 134
+hul 135
+ no 136
+han 137
+li 138
+iph 139
+a s 140
+tis 141
+khu 142
+ta 143
+dzi 144
+be 145
+emi 146
+ma 147
+end 148
+o t 149
+eke 150
+a u 151
+ ka 152
+ane 153
+lek 154
+mel 155
+elw 156
+kun 157
+sis 158
+lon 159
+utf 160
+any 161
+kho 162
+kul 163
+hlo 164
+ ba 165
+ufu 166
+aph 167
+lun 168
+e s 169
+hal 170
+ind 171
+isw 172
+o s 173
+use 174
+ekw 175
+me 176
+ndv 177
+eng 178
+uph 179
+hat 180
+ne 181
+so 182
+lul 183
+nom 184
+te 185
+lol 186
+awu 187
+nel 188
+lu 189
+ha 190
+wat 191
+men 192
+ete 193
+ lw 194
+nem 195
+ako 196
+zin 197
+kuh 198
+sha 199
+bha 200
+gab 201
+ in 202
+ale 203
+mis 204
+tem 205
+e e 206
+o e 207
+e t 208
+wek 209
+dze 210
+ome 211
+wel 212
+ lu 213
+emb 214
+nis 215
+ ek 216
+tsa 217
+u l 218
+o y 219
+dle 220
+ute 221
+len 222
+swa 223
+phe 224
+mkh 225
+ntf 226
+uke 227
+sit 228
+iny 229
+e i 230
+wo 231
+ani 232
+phi 233
+wet 234
+sin 235
+nhl 236
+mal 237
+mba 238
+mfu 239
+fu 240
+lab 241
+sik 242
+taw 243
+no 244
+hle 245
+e u 246
+eki 247
+ase 248
+ali 249
+ulw 250
+ve 251
+eka 252
+zel 253
+nta 254
+bon 255
+tek 256
+bo 257
+sig 258
+ama 259
+ile 260
+ule 261
+tfw 262
+mph 263
+uma 264
+kup 265
+emt 266
+asi 267
+dlu 268
+ish 269
+umt 270
+gen 271
+o w 272
+ike 273
+iga 274
+hak 275
+abe 276
+net 277
+gan 278
+kis 279
+nde 280
+ngi 281
+ukh 282
+bek 283
+mo 284
+phu 285
+sel 286
+elu 287
+i t 288
+ant 289
+dvo 290
+a y 291
+vo 292
+hum 293
+lis 294
+dla 295
+gam 296
+ive 297
+jen 298
+ket 299
+
diff --git a/silpa/modules/guesslanguages/trigrams/st b/silpa/modules/guesslanguages/trigrams/st
new file mode 100644
index 0000000..3ff015b
--- /dev/null
+++ b/silpa/modules/guesslanguages/trigrams/st
@@ -0,0 +1,301 @@
+ng 0
+ho 1
+ le 2
+le 3
+ ho 4
+ ts 5
+a m 6
+sa 7
+la 8
+ ka 9
+a h 10
+ di 11
+ya 12
+ka 13
+ ya 14
+a t 15
+eng 16
+ets 17
+ ba 18
+ mo 19
+a l 20
+ se 21
+lo 22
+ bo 23
+wa 24
+tsa 25
+a b 26
+na 27
+ba 28
+ e 29
+ a 30
+a k 31
+ ma 32
+ang 33
+tse 34
+se 35
+o t 36
+a d 37
+a s 38
+ha 39
+so 40
+o l 41
+e h 42
+o y 43
+e t 44
+tla 45
+tsh 46
+olo 47
+e l 48
+e m 49
+o b 50
+o e 51
+seb 52
+ebe 53
+ela 54
+thu 55
+ele 56
+e k 57
+ana 58
+e b 59
+ th 60
+ ha 61
+tso 62
+o a 63
+o k 64
+ wa 65
+kgo 66
+tsw 67
+tho 68
+o h 69
+ong 70
+ la 71
+hut 72
+dit 73
+ane 74
+ me 75
+a e 76
+ tl 77
+ola 78
+edi 79
+elo 80
+di 81
+ona 82
+ ke 83
+wan 84
+ o 85
+a p 86
+apa 87
+tjh 88
+hlo 89
+ sa 90
+she 91
+let 92
+aba 93
+lok 94
+lao 95
+eo 96
+a a 97
+o s 98
+man 99
+to 100
+ hl 101
+a n 102
+isa 103
+e d 104
+swe 105
+set 106
+pa 107
+ na 108
+o m 109
+g l 110
+het 111
+ kg 112
+got 113
+aha 114
+eth 115
+re 116
+e e 117
+jha 118
+phe 119
+lan 120
+otl 121
+g k 122
+lek 123
+its 124
+ekg 125
+sen 126
+ao 127
+dis 128
+g m 129
+oth 130
+e a 131
+ith 132
+hla 133
+e s 134
+ke 135
+mol 136
+pel 137
+g h 138
+hab 139
+bet 140
+san 141
+ats 142
+mo 143
+lwa 144
+we 145
+ala 146
+len 147
+nts 148
+dip 149
+kap 150
+iso 151
+ mm 152
+uto 153
+alo 154
+e n 155
+si 156
+ta 157
+o w 158
+emo 159
+swa 160
+tsi 161
+oke 162
+bed 163
+the 164
+ ph 165
+a y 166
+wen 167
+ken 168
+ena 169
+hwa 170
+ne 171
+ore 172
+atl 173
+ano 174
+hel 175
+mot 176
+bo 177
+g t 178
+i b 179
+kga 180
+hor 181
+ngo 182
+nan 183
+no 184
+o n 185
+tlh 186
+shw 187
+kel 188
+pha 189
+etj 190
+bon 191
+ell 192
+g s 193
+gol 194
+tha 195
+ale 196
+dik 197
+kol 198
+bak 199
+ nt 200
+ika 201
+o d 202
+ te 203
+ohl 204
+g y 205
+ lo 206
+ti 207
+his 208
+ile 209
+g b 210
+oko 211
+ et 212
+han 213
+a o 214
+mat 215
+oho 216
+odi 217
+lel 218
+mel 219
+din 220
+kar 221
+o o 222
+uo 223
+mon 224
+hah 225
+te 226
+me 227
+ it 228
+o f 229
+nen 230
+heb 231
+ing 232
+bol 233
+bel 234
+hle 235
+puo 236
+lal 237
+tlo 238
+hal 239
+oph 240
+eba 241
+hat 242
+heo 243
+aro 244
+bat 245
+ko 246
+ban 247
+leh 248
+o i 249
+ole 250
+tle 251
+ fe 252
+kge 253
+pan 254
+ake 255
+g e 256
+aka 257
+eko 258
+ pe 259
+rik 260
+e y 261
+mme 262
+ama 263
+lha 264
+eha 265
+ fa 266
+ebo 267
+moh 268
+mae 269
+ete 270
+aem 271
+ots 272
+ahi 273
+o p 274
+uta 275
+okg 276
+ntl 277
+pal 278
+get 279
+i l 280
+e f 281
+oka 282
+sep 283
+lat 284
+ahl 285
+bot 286
+ese 287
+lah 288
+lon 289
+akg 290
+a f 291
+ pu 292
+ase 293
+g a 294
+mor 295
+kan 296
+nah 297
+boh 298
+e p 299
+
diff --git a/silpa/modules/guesslanguages/trigrams/sv b/silpa/modules/guesslanguages/trigrams/sv
new file mode 100644
index 0000000..e93b335
--- /dev/null
+++ b/silpa/modules/guesslanguages/trigrams/sv
@@ -0,0 +1,300 @@
+en 0
+ de 1
+et 2
+er 3
+tt 4
+om 5
+för 6
+ar 7
+de 8
+att 9
+ fö 10
+ing 11
+ in 12
+ at 13
+ i 14
+det 15
+ch 16
+an 17
+gen 18
+ an 19
+t s 20
+som 21
+te 22
+ oc 23
+ter 24
+ ha 25
+lle 26
+och 27
+ sk 28
+ so 29
+ra 30
+r a 31
+ me 32
+var 33
+nde 34
+är 35
+ ko 36
+on 37
+ans 38
+int 39
+n s 40
+na 41
+ en 42
+ fr 43
+ på 44
+ st 45
+ va 46
+and 47
+nte 48
+på 49
+ska 50
+ta 51
+ vi 52
+der 53
+äll 54
+örs 55
+ om 56
+da 57
+kri 58
+ka 59
+nst 60
+ ho 61
+as 62
+stä 63
+r d 64
+t f 65
+upp 66
+ be 67
+nge 68
+r s 69
+tal 70
+täl 71
+ör 72
+ av 73
+ger 74
+ill 75
+ng 76
+e s 77
+ekt 78
+ade 79
+era 80
+ers 81
+har 82
+ll 83
+lld 84
+rin 85
+rna 86
+säk 87
+und 88
+inn 89
+lig 90
+ns 91
+ ma 92
+ pr 93
+ up 94
+age 95
+av 96
+iva 97
+kti 98
+lda 99
+orn 100
+son 101
+ts 102
+tta 103
+äkr 104
+ sj 105
+ ti 106
+avt 107
+ber 108
+els 109
+eta 110
+kol 111
+men 112
+n d 113
+t k 114
+vta 115
+år 116
+juk 117
+man 118
+n f 119
+nin 120
+r i 121
+rsä 122
+sju 123
+sso 124
+ är 125
+a s 126
+ach 127
+ag 128
+bac 129
+den 130
+ett 131
+fte 132
+hor 133
+nba 134
+oll 135
+rnb 136
+ste 137
+til 138
+ ef 139
+ si 140
+a a 141
+e h 142
+ed 143
+eft 144
+ga 145
+ig 146
+it 147
+ler 148
+med 149
+n i 150
+nd 151
+så 152
+tiv 153
+ bl 154
+ et 155
+ fi 156
+ sä 157
+at 158
+des 159
+e a 160
+gar 161
+get 162
+lan 163
+lss 164
+ost 165
+r b 166
+r e 167
+re 168
+ret 169
+sta 170
+t i 171
+ ge 172
+ he 173
+ re 174
+a f 175
+all 176
+bos 177
+ets 178
+lek 179
+let 180
+ner 181
+nna 182
+nne 183
+r f 184
+rit 185
+s s 186
+sen 187
+sto 188
+tor 189
+vav 190
+ygg 191
+ ka 192
+ så 193
+ tr 194
+ ut 195
+ad 196
+al 197
+are 198
+e o 199
+gon 200
+kom 201
+n a 202
+n h 203
+nga 204
+r h 205
+ren 206
+t d 207
+tag 208
+tar 209
+tre 210
+ätt 211
+ få 212
+ hä 213
+ se 214
+a d 215
+a i 216
+a p 217
+ale 218
+ann 219
+ara 220
+byg 221
+gt 222
+han 223
+igt 224
+kan 225
+la 226
+n o 227
+nom 228
+nsk 229
+omm 230
+r k 231
+r p 232
+r v 233
+s f 234
+s k 235
+t a 236
+t p 237
+ver 238
+ bo 239
+ br 240
+ ku 241
+ nå 242
+a b 243
+a e 244
+del 245
+ens 246
+es 247
+fin 248
+ige 249
+m s 250
+n p 251
+någ 252
+or 253
+r o 254
+rbe 255
+rs 256
+rt 257
+s a 258
+s n 259
+skr 260
+t o 261
+ten 262
+tio 263
+ven 264
+ al 265
+ ja 266
+ p 267
+ r 268
+ sa 269
+a h 270
+bet 271
+cke 272
+dra 273
+e f 274
+e i 275
+eda 276
+eno 277
+erä 278
+ess 279
+ion 280
+jag 281
+m f 282
+ne 283
+nns 284
+pro 285
+r t 286
+rar 287
+riv 288
+rät 289
+t e 290
+t t 291
+ust 292
+vad 293
+öre 294
+ ar 295
+ by 296
+ kr 297
+ mi 298
+arb 299
diff --git a/silpa/modules/guesslanguages/trigrams/sw b/silpa/modules/guesslanguages/trigrams/sw
new file mode 100644
index 0000000..c01b093
--- /dev/null
+++ b/silpa/modules/guesslanguages/trigrams/sw
@@ -0,0 +1,300 @@
+ wa 0
+wa 1
+a k 2
+a m 3
+ ku 4
+ ya 5
+a w 6
+ya 7
+ni 8
+ ma 9
+ka 10
+a u 11
+na 12
+za 13
+ia 14
+ na 15
+ika 16
+ma 17
+ali 18
+a n 19
+ am 20
+ili 21
+kwa 22
+ kw 23
+ini 24
+ ha 25
+ame 26
+ana 27
+i n 28
+ za 29
+a h 30
+ema 31
+i m 32
+i y 33
+kuw 34
+la 35
+o w 36
+a y 37
+ata 38
+sem 39
+ la 40
+ati 41
+chi 42
+i w 43
+uwa 44
+aki 45
+li 46
+eka 47
+ira 48
+ nc 49
+a s 50
+iki 51
+kat 52
+nch 53
+ ka 54
+ ki 55
+a b 56
+aji 57
+amb 58
+ra 59
+ri 60
+rik 61
+ada 62
+mat 63
+mba 64
+mes 65
+yo 66
+zi 67
+da 68
+hi 69
+i k 70
+ja 71
+kut 72
+tek 73
+wan 74
+ bi 75
+a a 76
+aka 77
+ao 78
+asi 79
+cha 80
+ese 81
+eza 82
+ke 83
+moj 84
+oja 85
+ hi 86
+a z 87
+end 88
+ha 89
+ji 90
+mu 91
+shi 92
+wat 93
+ bw 94
+ake 95
+ara 96
+bw 97
+i h 98
+imb 99
+tik 100
+wak 101
+wal 102
+ hu 103
+ mi 104
+ mk 105
+ ni 106
+ ra 107
+ um 108
+a l 109
+ate 110
+esh 111
+ina 112
+ish 113
+kim 114
+o k 115
+ ir 116
+a i 117
+ala 118
+ani 119
+aq 120
+azi 121
+hin 122
+i a 123
+idi 124
+ima 125
+ita 126
+rai 127
+raq 128
+sha 129
+ ms 130
+ se 131
+afr 132
+ama 133
+ano 134
+ea 135
+ele 136
+fri 137
+go 138
+i i 139
+ifa 140
+iwa 141
+iyo 142
+kus 143
+lia 144
+lio 145
+maj 146
+mku 147
+no 148
+tan 149
+uli 150
+uta 151
+wen 152
+ al 153
+a j 154
+aad 155
+aid 156
+ari 157
+awa 158
+ba 159
+fa 160
+nde 161
+nge 162
+nya 163
+o y 164
+u w 165
+ua 166
+umo 167
+waz 168
+ye 169
+ ut 170
+ vi 171
+a d 172
+a t 173
+aif 174
+di 175
+ere 176
+ing 177
+kin 178
+nda 179
+o n 180
+oa 181
+tai 182
+toa 183
+usa 184
+uto 185
+was 186
+yak 187
+zo 188
+ ji 189
+ mw 190
+a p 191
+aia 192
+amu 193
+ang 194
+bik 195
+bo 196
+del 197
+e w 198
+ene 199
+eng 200
+ich 201
+iri 202
+iti 203
+ito 204
+ki 205
+kir 206
+ko 207
+kuu 208
+mar 209
+mbo 210
+mil 211
+ngi 212
+ngo 213
+o l 214
+ong 215
+si 216
+ta 217
+tak 218
+u y 219
+umu 220
+usi 221
+uu 222
+wam 223
+ af 224
+ ba 225
+ li 226
+ si 227
+ zi 228
+a v 229
+ami 230
+atu 231
+awi 232
+eri 233
+fan 234
+fur 235
+ger 236
+i z 237
+isi 238
+izo 239
+lea 240
+mbi 241
+mwa 242
+nye 243
+o h 244
+o m 245
+oni 246
+rez 247
+saa 248
+ser 249
+sin 250
+tat 251
+tis 252
+tu 253
+uin 254
+uki 255
+ur 256
+wi 257
+yar 258
+ da 259
+ en 260
+ mp 261
+ ny 262
+ ta 263
+ ul 264
+ we 265
+a c 266
+a f 267
+ais 268
+apo 269
+ayo 270
+bar 271
+dhi 272
+e a 273
+eke 274
+eny 275
+eon 276
+hai 277
+han 278
+hiy 279
+hur 280
+i s 281
+imw 282
+kal 283
+kwe 284
+lak 285
+lam 286
+mak 287
+msa 288
+ne 289
+ngu 290
+ru 291
+sal 292
+swa 293
+te 294
+ti 295
+uku 296
+uma 297
+una 298
+uru 299
diff --git a/silpa/modules/guesslanguages/trigrams/tl b/silpa/modules/guesslanguages/trigrams/tl
new file mode 100644
index 0000000..a98aad4
--- /dev/null
+++ b/silpa/modules/guesslanguages/trigrams/tl
@@ -0,0 +1,300 @@
+ng 0
+ang 1
+ na 2
+ sa 3
+an 4
+nan 5
+sa 6
+na 7
+ ma 8
+ ca 9
+ay 10
+n g 11
+ an 12
+ong 13
+ ga 14
+at 15
+ pa 16
+ala 17
+ si 18
+a n 19
+ga 20
+g n 21
+g m 22
+ito 23
+g c 24
+man 25
+san 26
+g s 27
+ing 28
+to 29
+ila 30
+ina 31
+ di 32
+ ta 33
+aga 34
+iya 35
+aca 36
+g t 37
+ at 38
+aya 39
+ama 40
+lan 41
+a a 42
+qui 43
+a c 44
+a s 45
+nag 46
+ ba 47
+g i 48
+tan 49
+'t 50
+ cu 51
+aua 52
+g p 53
+ ni 54
+os 55
+'y 56
+a m 57
+ n 58
+la 59
+ la 60
+o n 61
+yan 62
+ ay 63
+usa 64
+cay 65
+on 66
+ya 67
+ it 68
+al 69
+apa 70
+ata 71
+t n 72
+uan 73
+aha 74
+asa 75
+pag 76
+ gu 77
+g l 78
+di 79
+mag 80
+aba 81
+g a 82
+ara 83
+a p 84
+in 85
+ana 86
+it 87
+si 88
+cus 89
+g b 90
+uin 91
+a t 92
+as 93
+n n 94
+hin 95
+ hi 96
+a't 97
+ali 98
+ bu 99
+gan 100
+uma 101
+a d 102
+agc 103
+aqu 104
+g d 105
+ tu 106
+aon 107
+ari 108
+cas 109
+i n 110
+niy 111
+pin 112
+a i 113
+gca 114
+siy 115
+a'y 116
+yao 117
+ag 118
+ca 119
+han 120
+ili 121
+pan 122
+sin 123
+ual 124
+n s 125
+nam 126
+ lu 127
+can 128
+dit 129
+gui 130
+y n 131
+gal 132
+hat 133
+nal 134
+ is 135
+bag 136
+fra 137
+ fr 138
+ su 139
+a l 140
+ co 141
+ani 142
+ bi 143
+ da 144
+alo 145
+isa 146
+ita 147
+may 148
+o s 149
+sil 150
+una 151
+ in 152
+ pi 153
+l n 154
+nil 155
+o a 156
+pat 157
+sac 158
+t s 159
+ ua 160
+agu 161
+ail 162
+bin 163
+dal 164
+g h 165
+ndi 166
+oon 167
+ua 168
+ ha 169
+ind 170
+ran 171
+s n 172
+tin 173
+ulo 174
+eng 175
+g f 176
+ini 177
+lah 178
+lo 179
+rai 180
+rin 181
+ton 182
+g u 183
+inu 184
+lon 185
+o'y 186
+t a 187
+ ar 188
+a b 189
+ad 190
+bay 191
+cal 192
+gya 193
+ile 194
+mat 195
+n a 196
+pau 197
+ra 198
+tay 199
+y m 200
+ant 201
+ban 202
+i m 203
+nas 204
+nay 205
+no 206
+sti 207
+ ti 208
+ags 209
+g g 210
+ta 211
+uit 212
+uno 213
+ ib 214
+ ya 215
+a u 216
+abi 217
+ati 218
+cap 219
+ig 220
+is 221
+la' 222
+ do 223
+ pu 224
+api 225
+ayo 226
+gos 227
+gul 228
+lal 229
+tag 230
+til 231
+tun 232
+y c 233
+y s 234
+yon 235
+ano 236
+bur 237
+iba 238
+isi 239
+lam 240
+nac 241
+nat 242
+ni 243
+nto 244
+od 245
+pa 246
+rgo 247
+urg 248
+ m 249
+adr 250
+ast 251
+cag 252
+gay 253
+gsi 254
+i p 255
+ino 256
+len 257
+lin 258
+m g 259
+mar 260
+nah 261
+to' 262
+ de 263
+a h 264
+cat 265
+cau 266
+con 267
+iqu 268
+lac 269
+mab 270
+min 271
+og 272
+par 273
+sal 274
+ za 275
+ao 276
+doo 277
+ipi 278
+nod 279
+nte 280
+uha 281
+ula 282
+ re 283
+ill 284
+lit 285
+mac 286
+nit 287
+o't 288
+or 289
+ora 290
+sum 291
+y p 292
+ al 293
+ mi 294
+ um 295
+aco 296
+ada 297
+agd 298
+cab 299
diff --git a/silpa/modules/guesslanguages/trigrams/tlh b/silpa/modules/guesslanguages/trigrams/tlh
new file mode 100644
index 0000000..e5b1a36
--- /dev/null
+++ b/silpa/modules/guesslanguages/trigrams/tlh
@@ -0,0 +1,300 @@
+tlh 0
+e' 1
+gh 2
+i' 3
+ 'e 4
+u' 5
+ vi 6
+atl 7
+a' 8
+ gh 9
+ej 10
+ ho 11
+ ch 12
+ mu 13
+ tl 14
+nga 15
+mey 16
+wi' 17
+be' 18
+an 19
+ch 20
+gan 21
+chu 22
+lh 23
+ing 24
+'e' 25
+hin 26
+jat 27
+lhi 28
+ da 29
+ ja 30
+o' 31
+ugh 32
+aq 33
+cha 34
+ po 35
+ey 36
+ 'a 37
+ je 38
+'ej 39
+ pa 40
+ng 41
+ad 42
+ qa 43
+oh 44
+eh 45
+ah 46
+gha 47
+je 48
+ lu 49
+hol 50
+aw' 51
+ ji 52
+ong 53
+pu' 54
+aj 55
+vad 56
+w' 57
+' j 58
+ha' 59
+is 60
+tah 61
+' ' 62
+ang 63
+h ' 64
+pon 65
+am 66
+law 67
+mo' 68
+qu' 69
+hbe 70
+ol 71
+vam 72
+agh 73
+mu' 74
+ahv 75
+bej 76
+ogh 77
+uch 78
+' v 79
+ach 80
+hug 81
+ lo 82
+ qu 83
+cho 84
+hva 85
+ij 86
+ la 87
+lu' 88
+vis 89
+ ne 90
+ pu 91
+ so 92
+ ta 93
+ va 94
+'ac 95
+di' 96
+hu' 97
+lah 98
+moh 99
+ 'o 100
+' m 101
+daq 102
+hah 103
+n h 104
+neh 105
+u'm 106
+ay' 107
+gho 108
+h v 109
+meh 110
+oy 111
+ ma 112
+ nu 113
+'me 114
+el 115
+ ba 116
+ be 117
+ de 118
+ ng 119
+' t 120
+h d 121
+hvi 122
+oq 123
+ wa 124
+' l 125
+'wi 126
+hme 127
+li' 128
+uq 129
+ bo 130
+bog 131
+del 132
+h p 133
+h t 134
+ich 135
+vil 136
+ qe 137
+ wi 138
+ahb 139
+ban 140
+eng 141
+haq 142
+hoh 143
+ov 144
+viq 145
+ ha 146
+ ti 147
+' n 148
+' p 149
+'a' 150
+hwi 151
+igh 152
+lo' 153
+y' 154
+ du 155
+ no 156
+ yu 157
+'mo 158
+'va 159
+daj 160
+das 161
+egh 162
+hom 163
+muc 164
+om 165
+otl 166
+us 167
+ bi 168
+ tu 169
+' h 170
+chm 171
+h q 172
+hov 173
+nis 174
+qar 175
+uj 176
+' q 177
+'ch 178
+h m 179
+hmo 180
+jih 181
+par 182
+wij 183
+ hu 184
+' d 185
+'a 186
+etl 187
+h g 188
+h j 189
+h l 190
+lod 191
+maq 192
+och 193
+wa' 194
+yuq 195
+ di 196
+ le 197
+ pe 198
+ ya 199
+'di 200
+che 201
+ech 202
+ih 203
+ija 204
+in 205
+j ' 206
+j m 207
+lhw 208
+pa' 209
+ 'i 210
+ mi 211
+ qi 212
+ ro 213
+ ru 214
+'be 215
+anp 216
+ghi 217
+ghu 218
+h b 219
+hay 220
+hch 221
+iq 222
+npu 223
+od 224
+paq 225
+qay 226
+rda 227
+soh 228
+ do 229
+ me 230
+ qo 231
+ sa 232
+' c 233
+' g 234
+' s 235
+'lu 236
+aml 237
+ard 238
+as 239
+d p 240
+gme 241
+h n 242
+hta 243
+i'v 244
+j j 245
+jij 246
+len 247
+ngm 248
+qan 249
+qme 250
+vaj 251
+wiv 252
+ mo 253
+ ni 254
+'la 255
+'pu 256
+'qu 257
+ar 258
+arm 259
+dwi 260
+g p 261
+ghd 262
+h c 263
+ham 264
+hla 265
+hqu 266
+ilo 267
+iqa 268
+iqi 269
+j p 270
+j t 271
+j v 272
+lad 273
+lho 274
+mar 275
+mug 276
+pus 277
+q s 278
+q t 279
+rgh 280
+rma 281
+sov 282
+ta' 283
+tin 284
+tu' 285
+u'd 286
+vet 287
+yli 288
+yu' 289
+ to 290
+'oh 291
+aqq 292
+art 293
+at 294
+ayl 295
+ayt 296
+et 297
+haj 298
+har 299
diff --git a/silpa/modules/guesslanguages/trigrams/tn b/silpa/modules/guesslanguages/trigrams/tn
new file mode 100644
index 0000000..338e4ed
--- /dev/null
+++ b/silpa/modules/guesslanguages/trigrams/tn
@@ -0,0 +1,301 @@
+ di 0
+ le 1
+go 2
+le 3
+ go 4
+ng 5
+ ts 6
+ya 7
+ ya 8
+sa 9
+tlh 10
+ mo 11
+ bo 12
+a m 13
+lo 14
+tsa 15
+ e 16
+o t 17
+a b 18
+wa 19
+ ka 20
+a k 21
+a t 22
+ka 23
+a g 24
+eng 25
+olo 26
+o y 27
+la 28
+ a 29
+a d 30
+ets 31
+mo 32
+se 33
+ tl 34
+ ba 35
+tsh 36
+ ma 37
+ba 38
+a l 39
+tse 40
+so 41
+na 42
+elo 43
+ se 44
+ele 45
+e d 46
+o l 47
+lho 48
+e t 49
+di 50
+e g 51
+ kg 52
+dit 53
+kgo 54
+o k 55
+ang 56
+lha 57
+e m 58
+e e 59
+we 60
+ane 61
+o m 62
+e k 63
+e l 64
+ong 65
+set 66
+wan 67
+ela 68
+tso 69
+tla 70
+o d 71
+e b 72
+ola 73
+ngw 74
+gwe 75
+o b 76
+aba 77
+atl 78
+a p 79
+ o 80
+a a 81
+o a 82
+otl 83
+a s 84
+o e 85
+dir 86
+thu 87
+ga 88
+ ga 89
+shw 90
+ots 91
+aka 92
+hab 93
+hwa 94
+aga 95
+o g 96
+gan 97
+tsw 98
+ana 99
+mol 100
+ ke 101
+hut 102
+ me 103
+ona 104
+lel 105
+its 106
+lao 107
+kga 108
+dik 109
+got 110
+ fa 111
+let 112
+ wa 113
+ose 114
+no 115
+t h 116
+swe 117
+edi 118
+ats 119
+a n 120
+e s 121
+oko 122
+oth 123
+kwa 124
+kar 125
+ th 126
+a e 127
+ala 128
+tir 129
+o n 130
+dip 131
+isa 132
+gat 133
+ti 134
+ano 135
+bot 136
+ nn 137
+ ha 138
+len 139
+alo 140
+any 141
+aro 142
+iti 143
+iri 144
+o s 145
+sen 146
+net 147
+ke 148
+ho 149
+mai 150
+ika 151
+eka 152
+to 153
+ith 154
+re 155
+g m 156
+hat 157
+bo 158
+g l 159
+et 160
+emo 161
+ama 162
+iso 163
+rol 164
+fa 165
+iwa 166
+kan 167
+she 168
+si 169
+ao 170
+g k 171
+wen 172
+lol 173
+o o 174
+bos 175
+itl 176
+a y 177
+the 178
+lwa 179
+e n 180
+ la 181
+ore 182
+ mm 183
+ko 184
+tha 185
+e a 186
+eo 187
+lhe 188
+bol 189
+ha 190
+ po 191
+isi 192
+i b 193
+lan 194
+ na 195
+i t 196
+ale 197
+ne 198
+gon 199
+ris 200
+ira 201
+bon 202
+ sa 203
+g y 204
+g g 205
+pha 206
+oga 207
+mel 208
+ro 209
+gol 210
+o w 211
+ kw 212
+i l 213
+ ti 214
+tlo 215
+log 216
+por 217
+ ja 218
+a f 219
+ ne 220
+hok 221
+lot 222
+ pu 223
+e y 224
+uto 225
+g t 226
+hom 227
+okg 228
+ ko 229
+o f 230
+ame 231
+gor 232
+ta 233
+ pe 234
+nts 235
+ kh 236
+tho 237
+gel 238
+adi 239
+are 240
+ete 241
+ase 242
+mon 243
+heo 244
+oro 245
+omo 246
+nen 247
+nel 248
+ile 249
+nng 250
+ntl 251
+abo 252
+ogo 253
+ara 254
+nse 255
+ego 256
+hel 257
+uo 258
+mog 259
+san 260
+ula 261
+rag 262
+kol 263
+te 264
+etl 265
+bat 266
+ te 267
+puo 268
+amo 269
+ofe 270
+lat 271
+ati 272
+ole 273
+rab 274
+tsi 275
+iro 276
+man 277
+ael 278
+ega 279
+lwe 280
+ra 281
+din 282
+tle 283
+sek 284
+ing 285
+yo 286
+a o 287
+ re 288
+aot 289
+uso 290
+o r 291
+ere 292
+jwa 293
+aem 294
+lam 295
+lek 296
+ jw 297
+gwa 298
+mok 299
+
diff --git a/silpa/modules/guesslanguages/trigrams/tr b/silpa/modules/guesslanguages/trigrams/tr
new file mode 100644
index 0000000..0e9ae5b
--- /dev/null
+++ b/silpa/modules/guesslanguages/trigrams/tr
@@ -0,0 +1,300 @@
+lar 0
+en 1
+ler 2
+an 3
+in 4
+ bi 5
+ ya 6
+eri 7
+de 8
+ ka 9
+ir 10
+arı 11
+ ba 12
+ de 13
+ ha 14
+ın 15
+ara 16
+bir 17
+ ve 18
+ sa 19
+ile 20
+le 21
+nde 22
+da 23
+ bu 24
+ana 25
+ini 26
+ını 27
+er 28
+ve 29
+ yı 30
+lma 31
+yıl 32
+ ol 33
+ar 34
+n b 35
+nda 36
+aya 37
+li 38
+ası 39
+ ge 40
+ind 41
+n k 42
+esi 43
+lan 44
+nla 45
+ak 46
+anı 47
+eni 48
+ni 49
+nı 50
+rın 51
+san 52
+ ko 53
+ ye 54
+maz 55
+baş 56
+ili 57
+rin 58
+alı 59
+az 60
+hal 61
+ınd 62
+ da 63
+ gü 64
+ele 65
+ılm 66
+ığı 67
+eki 68
+gün 69
+i b 70
+içi 71
+den 72
+kar 73
+si 74
+ il 75
+e y 76
+na 77
+yor 78
+ek 79
+n s 80
+ iç 81
+bu 82
+e b 83
+im 84
+ki 85
+len 86
+ri 87
+sın 88
+ so 89
+ün 90
+ ta 91
+nin 92
+iği 93
+tan 94
+yan 95
+ si 96
+nat 97
+nın 98
+kan 99
+rı 100
+çin 101
+ğı 102
+eli 103
+n a 104
+ır 105
+ an 106
+ine 107
+n y 108
+ola 109
+ ar 110
+al 111
+e s 112
+lik 113
+n d 114
+sin 115
+ al 116
+ dü 117
+anl 118
+ne 119
+ya 120
+ım 121
+ına 122
+ be 123
+ada 124
+ala 125
+ama 126
+ilm 127
+or 128
+sı 129
+yen 130
+ me 131
+atı 132
+di 133
+eti 134
+ken 135
+la 136
+lı 137
+oru 138
+ gö 139
+ in 140
+and 141
+e d 142
+men 143
+un 144
+öne 145
+a d 146
+at 147
+e a 148
+e g 149
+yar 150
+ ku 151
+ayı 152
+dan 153
+edi 154
+iri 155
+ünü 156
+ği 157
+ılı 158
+eme 159
+eği 160
+i k 161
+i y 162
+ıla 163
+ ça 164
+a y 165
+alk 166
+dı 167
+ede 168
+el 169
+ndı 170
+ra 171
+üne 172
+ sü 173
+dır 174
+e k 175
+ere 176
+ik 177
+imi 178
+işi 179
+mas 180
+n h 181
+sür 182
+yle 183
+ ad 184
+ fi 185
+ gi 186
+ se 187
+a k 188
+arl 189
+aşı 190
+iyo 191
+kla 192
+lığ 193
+nem 194
+ney 195
+rme 196
+ste 197
+tı 198
+unl 199
+ver 200
+ sı 201
+ te 202
+ to 203
+a s 204
+aşk 205
+ekl 206
+end 207
+kal 208
+liğ 209
+min 210
+tır 211
+ulu 212
+unu 213
+yap 214
+ye 215
+ı i 216
+şka 217
+ştı 218
+ bü 219
+ ke 220
+ ki 221
+ard 222
+art 223
+aşa 224
+n i 225
+ndi 226
+ti 227
+top 228
+ı b 229
+ va 230
+ ön 231
+aki 232
+cak 233
+ey 234
+fil 235
+isi 236
+kle 237
+kur 238
+man 239
+nce 240
+nle 241
+nun 242
+rak 243
+ık 244
+ en 245
+ yo 246
+a g 247
+lis 248
+mak 249
+n g 250
+tir 251
+yas 252
+ iş 253
+ yö 254
+ale 255
+bil 256
+bul 257
+et 258
+i d 259
+iye 260
+kil 261
+ma 262
+n e 263
+n t 264
+nu 265
+olu 266
+rla 267
+te 268
+yön 269
+çık 270
+ ay 271
+ mü 272
+ ço 273
+ çı 274
+a a 275
+a b 276
+ata 277
+der 278
+gel 279
+i g 280
+i i 281
+ill 282
+ist 283
+ldı 284
+lu 285
+mek 286
+mle 287
+n ç 288
+onu 289
+opl 290
+ran 291
+rat 292
+rdı 293
+rke 294
+siy 295
+son 296
+ta 297
+tçı 298
+tın 299
diff --git a/silpa/modules/guesslanguages/trigrams/ts b/silpa/modules/guesslanguages/trigrams/ts
new file mode 100644
index 0000000..14d2ca3
--- /dev/null
+++ b/silpa/modules/guesslanguages/trigrams/ts
@@ -0,0 +1,301 @@
+ ku 0
+ku 1
+na 2
+ka 3
+wa 4
+a n 5
+ sw 6
+a m 7
+ya 8
+a k 9
+ ti 10
+swi 11
+hi 12
+la 13
+ ya 14
+ le 15
+ hi 16
+a t 17
+a v 18
+ va 19
+ni 20
+ na 21
+ndz 22
+ ma 23
+a h 24
+ xi 25
+a s 26
+i n 27
+ele 28
+i k 29
+ana 30
+a l 31
+nga 32
+lo 33
+va 34
+le 35
+aka 36
+ela 37
+irh 38
+eka 39
+ vu 40
+iwa 41
+a x 42
+ ka 43
+yi 44
+ wa 45
+isa 46
+sa 47
+ko 48
+ta 49
+ga 50
+wu 51
+wi 52
+tir 53
+ ek 54
+ mi 55
+ ni 56
+o y 57
+elo 58
+awu 59
+isi 60
+swa 61
+i t 62
+hla 63
+a e 64
+ ta 65
+ ng 66
+ la 67
+a y 68
+ri 69
+eri 70
+ ri 71
+rhi 72
+eke 73
+umb 74
+u t 75
+ndl 76
+ yi 77
+lan 78
+i v 79
+esw 80
+mbe 81
+i l 82
+a r 83
+e k 84
+ang 85
+les 86
+ula 87
+ti 88
+yon 89
+o w 90
+ona 91
+law 92
+xa 93
+nel 94
+yo 95
+lel 96
+iko 97
+ lo 98
+amb 99
+ a 100
+i y 101
+ xa 102
+ane 103
+wan 104
+i s 105
+ond 106
+fan 107
+end 108
+i h 109
+o l 110
+u k 111
+mbi 112
+n'w 113
+ke 114
+dyo 115
+ fa 116
+lam 117
+nhl 118
+o s 119
+ong 120
+no 121
+ ko 122
+u n 123
+ ha 124
+ho 125
+oko 126
+u h 127
+i m 128
+o n 129
+ yo 130
+ngu 131
+o k 132
+u y 133
+ati 134
+u l 135
+van 136
+ulu 137
+and 138
+mba 139
+kum 140
+u v 141
+wo 142
+be 143
+ha 144
+riw 145
+dza 146
+si 147
+ en 148
+o h 149
+ hl 150
+o t 151
+eyi 152
+ nt 153
+ila 154
+lok 155
+dzi 156
+nge 157
+ mu 158
+ala 159
+to 160
+a w 161
+ by 162
+arh 163
+aku 164
+tsa 165
+wak 166
+rho 167
+'wa 168
+ nd 169
+min 170
+lav 171
+tim 172
+ley 173
+tik 174
+dle 175
+tin 176
+mat 177
+ler 178
+let 179
+sel 180
+his 181
+mel 182
+lu 183
+ika 184
+a a 185
+ngo 186
+eng 187
+o x 188
+ nk 189
+amu 190
+siw 191
+ani 192
+eni 193
+ma 194
+ nh 195
+mi 196
+swo 197
+eti 198
+tan 199
+mo 200
+ham 201
+iwe 202
+ kh 203
+han 204
+lek 205
+nti 206
+ung 207
+hak 208
+dzo 209
+ete 210
+ ts 211
+ava 212
+hu 213
+fum 214
+kar 215
+vul 216
+ wu 217
+kul 218
+und 219
+i x 220
+nhu 221
+yis 222
+xik 223
+bis 224
+xi 225
+e y 226
+ra 227
+hle 228
+ hu 229
+wek 230
+ano 231
+yen 232
+a d 233
+sis 234
+olo 235
+pfu 236
+i w 237
+nyi 238
+e n 239
+so 240
+ki 241
+fun 242
+iso 243
+tsh 244
+kon 245
+nku 246
+hel 247
+i b 248
+e h 249
+ari 250
+imi 251
+i e 252
+ind 253
+vum 254
+nts 255
+ime 256
+kom 257
+mfu 258
+ise 259
+ mf 260
+hin 261
+dla 262
+vut 263
+gan 264
+i r 265
+ban 266
+bya 267
+mil 268
+int 269
+ats 270
+ dy 271
+u s 272
+e x 273
+ile 274
+kel 275
+kwa 276
+ no 277
+i f 278
+asi 279
+za 280
+uri 281
+o m 282
+rha 283
+e l 284
+in' 285
+eta 286
+von 287
+i a 288
+kho 289
+ wo 290
+iki 291
+ ra 292
+u e 293
+o e 294
+zo 295
+yin 296
+ink 297
+any 298
+ket 299
+
diff --git a/silpa/modules/guesslanguages/trigrams/uk b/silpa/modules/guesslanguages/trigrams/uk
new file mode 100644
index 0000000..8bf31f3
--- /dev/null
+++ b/silpa/modules/guesslanguages/trigrams/uk
@@ -0,0 +1,300 @@
+ на 0
+ за 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
diff --git a/silpa/modules/guesslanguages/trigrams/ur b/silpa/modules/guesslanguages/trigrams/ur
new file mode 100644
index 0000000..906af4f
--- /dev/null
+++ b/silpa/modules/guesslanguages/trigrams/ur
@@ -0,0 +1,300 @@
+یں 0
+ کی 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
diff --git a/silpa/modules/guesslanguages/trigrams/uz b/silpa/modules/guesslanguages/trigrams/uz
new file mode 100644
index 0000000..647aa2e
--- /dev/null
+++ b/silpa/modules/guesslanguages/trigrams/uz
@@ -0,0 +1,300 @@
+ан 0
+ган 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
diff --git a/silpa/modules/guesslanguages/trigrams/ve b/silpa/modules/guesslanguages/trigrams/ve
new file mode 100644
index 0000000..0bd52ac
--- /dev/null
+++ b/silpa/modules/guesslanguages/trigrams/ve
@@ -0,0 +1,301 @@
+ha 0
+ vh 1
+a m 2
+na 3
+ u 4
+a n 5
+tsh 6
+wa 7
+a u 8
+ na 9
+nga 10
+vha 11
+ ts 12
+ dz 13
+ kh 14
+dza 15
+a v 16
+ya 17
+ ya 18
+a t 19
+ho 20
+la 21
+ zw 22
+ mu 23
+edz 24
+vhu 25
+ga 26
+shi 27
+za 28
+a k 29
+ ng 30
+kha 31
+ ma 32
+hum 33
+ne 34
+ nd 35
+o n 36
+lo 37
+dzi 38
+shu 39
+ ha 40
+a d 41
+o y 42
+nda 43
+ele 44
+zwi 45
+aho 46
+ang 47
+no 48
+ a 49
+ela 50
+a z 51
+hu 52
+sha 53
+i n 54
+ wa 55
+ana 56
+hi 57
+kan 58
+o d 59
+ano 60
+a h 61
+zwa 62
+ th 63
+ mi 64
+gan 65
+a l 66
+sa 67
+han 68
+di 69
+u t 70
+and 71
+ndi 72
+yo 73
+the 74
+do 75
+ri 76
+vho 77
+ni 78
+ka 79
+uri 80
+si 81
+o t 82
+mbe 83
+o w 84
+ane 85
+we 86
+zo 87
+i t 88
+e n 89
+i h 90
+she 91
+ush 92
+o k 93
+zi 94
+da 95
+a a 96
+thu 97
+ la 98
+a p 99
+zan 100
+ i 101
+a s 102
+lwa 103
+ula 104
+i d 105
+aka 106
+ do 107
+mis 108
+hed 109
+ita 110
+li 111
+ hu 112
+iwa 113
+ lu 114
+i v 115
+he 116
+ ka 117
+elo 118
+so 119
+amb 120
+avh 121
+ sh 122
+o v 123
+i k 124
+lel 125
+u v 126
+dzo 127
+u s 128
+ fh 129
+mo 130
+nwe 131
+o l 132
+umi 133
+wah 134
+isi 135
+hel 136
+a i 137
+vel 138
+adz 139
+tan 140
+i m 141
+ath 142
+thi 143
+wi 144
+ ur 145
+hat 146
+ine 147
+le 148
+vhe 149
+any 150
+a y 151
+hon 152
+isa 153
+ala 154
+o a 155
+alu 156
+udi 157
+umb 158
+ bv 159
+ash 160
+ te 161
+ li 162
+lus 163
+nya 164
+has 165
+led 166
+swa 167
+hus 168
+o i 169
+umo 170
+one 171
+nde 172
+tha 173
+ it 174
+kho 175
+ngo 176
+mus 177
+hak 178
+e y 179
+ea 180
+ivh 181
+o m 182
+u n 183
+hin 184
+tho 185
+mut 186
+ayo 187
+fhi 188
+ sa 189
+tel 190
+hul 191
+hun 192
+ulo 193
+ith 194
+ma 195
+ yo 196
+lan 197
+e v 198
+ ph 199
+go 200
+i a 201
+o u 202
+hud 203
+ pf 204
+uka 205
+zhi 206
+uvh 207
+dzw 208
+ing 209
+elw 210
+ila 211
+wo 212
+mbo 213
+u d 214
+ite 215
+isw 216
+asi 217
+e k 218
+ndu 219
+fhe 220
+o h 221
+mel 222
+u b 223
+ika 224
+bo 225
+gud 226
+dzh 227
+kon 228
+ifh 229
+ ta 230
+e d 231
+uth 232
+ ho 233
+i z 234
+wan 235
+ulu 236
+mad 237
+inw 238
+oth 239
+ani 240
+dis 241
+wit 242
+ou 243
+bve 244
+ets 245
+u i 246
+adi 247
+e m 248
+fha 249
+nah 250
+dal 251
+win 252
+ si 253
+sho 254
+ in 255
+yam 256
+lay 257
+eka 258
+a f 259
+i u 260
+end 261
+i y 262
+alo 263
+i l 264
+uso 265
+mul 266
+ta 267
+del 268
+u k 269
+ mb 270
+pha 271
+ di 272
+dad 273
+ali 274
+o s 275
+pfu 276
+khw 277
+e a 278
+ ko 279
+ ne 280
+hen 281
+mas 282
+ume 283
+ini 284
+ish 285
+udz 286
+ira 287
+oni 288
+luk 289
+nel 290
+iso 291
+mba 292
+dzu 293
+hom 294
+i s 295
+zwo 296
+ngu 297
+ara 298
+unz 299
+
diff --git a/silpa/modules/guesslanguages/trigrams/xh b/silpa/modules/guesslanguages/trigrams/xh
new file mode 100644
index 0000000..40c401b
--- /dev/null
+++ b/silpa/modules/guesslanguages/trigrams/xh
@@ -0,0 +1,301 @@
+la 0
+ ku 1
+lo 2
+nga 3
+a k 4
+ ng 5
+oku 6
+ kw 7
+ uk 8
+a n 9
+uku 10
+ye 11
+a i 12
+yo 13
+ela 14
+ele 15
+a u 16
+nye 17
+we 18
+wa 19
+ama 20
+e n 21
+ise 22
+aba 23
+ba 24
+ho 25
+enz 26
+o n 27
+ngo 28
+kub 29
+nge 30
+ath 31
+fun 32
+o e 33
+lel 34
+ung 35
+uba 36
+ko 37
+elo 38
+ezi 39
+o k 40
+the 41
+kwa 42
+na 43
+kwe 44
+ang 45
+e i 46
+le 47
+ka 48
+esi 49
+o y 50
+ na 51
+e k 52
+eth 53
+pha 54
+ in 55
+kun 56
+nzi 57
+and 58
+ni 59
+ban 60
+ ye 61
+ no 62
+lwa 63
+lun 64
+ ok 65
+any 66
+zi 67
+li 68
+ ne 69
+ulu 70
+a e 71
+eli 72
+gok 73
+o l 74
+ebe 75
+und 76
+isa 77
+seb 78
+ndo 79
+ ez 80
+tho 81
+o i 82
+do 83
+ben 84
+ing 85
+kwi 86
+ndl 87
+uny 88
+ala 89
+a a 90
+eyo 91
+e u 92
+kan 93
+ ab 94
+thi 95
+i k 96
+i n 97
+o u 98
+o z 99
+elw 100
+sa 101
+sek 102
+ayo 103
+het 104
+o o 105
+eka 106
+ um 107
+hi 108
+bo 109
+so 110
+isi 111
+wen 112
+lwe 113
+aph 114
+a l 115
+ya 116
+eko 117
+ana 118
+ yo 119
+kuf 120
+ini 121
+imi 122
+ali 123
+ha 124
+awu 125
+wan 126
+ent 127
+uth 128
+tha 129
+za 130
+ula 131
+kho 132
+ ii 133
+ane 134
+e a 135
+iso 136
+uph 137
+ le 138
+ile 139
+zin 140
+nts 141
+ si 142
+eng 143
+nok 144
+ong 145
+hla 146
+zwe 147
+ el 148
+oka 149
+eki 150
+lis 151
+azi 152
+ lo 153
+tsh 154
+ am 155
+ufu 156
+ant 157
+isw 158
+o a 159
+ngu 160
+o s 161
+ ba 162
+int 163
+eni 164
+une 165
+wul 166
+hul 167
+sel 168
+i e 169
+use 170
+lan 171
+ke 172
+nis 173
+emi 174
+ li 175
+ is 176
+iph 177
+ im 178
+a o 179
+aka 180
+mfu 181
+ zi 182
+ink 183
+mal 184
+ley 185
+man 186
+nya 187
+nek 188
+akh 189
+ume 190
+ ko 191
+alo 192
+tu 193
+i u 194
+ntu 195
+izw 196
+kel 197
+izi 198
+i i 199
+si 200
+gan 201
+ase 202
+ind 203
+i a 204
+ndi 205
+nel 206
+alu 207
+sis 208
+ubo 209
+kut 210
+mth 211
+kus 212
+lek 213
+mis 214
+nde 215
+ zo 216
+ we 217
+ani 218
+ga 219
+iko 220
+siz 221
+no 222
+phu 223
+e e 224
+hon 225
+ond 226
+ne 227
+ith 228
+kul 229
+gam 230
+gen 231
+pho 232
+ iz 233
+phe 234
+hat 235
+khu 236
+iin 237
+han 238
+zo 239
+lu 240
+ulo 241
+nda 242
+qo 243
+zik 244
+hel 245
+o m 246
+ lw 247
+zis 248
+dle 249
+uhl 250
+men 251
+olo 252
+mel 253
+del 254
+nza 255
+oko 256
+okw 257
+olu 258
+kuk 259
+nte 260
+swa 261
+law 262
+enk 263
+ ya 264
+i y 265
+gaq 266
+sha 267
+aqo 268
+e l 269
+ikh 270
+nkq 271
+ule 272
+ ka 273
+onk 274
+thu 275
+wo 276
+bon 277
+kup 278
+qub 279
+a y 280
+kqu 281
+dla 282
+ es 283
+he 284
+ano 285
+lum 286
+be 287
+iga 288
+ ze 289
+o w 290
+aku 291
+mga 292
+nke 293
+te 294
+ ol 295
+ze 296
+kum 297
+emf 298
+esh 299
+
diff --git a/silpa/modules/guesslanguages/trigrams/zu b/silpa/modules/guesslanguages/trigrams/zu
new file mode 100644
index 0000000..79494b8
--- /dev/null
+++ b/silpa/modules/guesslanguages/trigrams/zu
@@ -0,0 +1,301 @@
+oku 0
+la 1
+nga 2
+ ng 3
+a n 4
+ ku 5
+a k 6
+thi 7
+ uk 8
+ezi 9
+e n 10
+uku 11
+le 12
+lo 13
+hi 14
+wa 15
+ no 16
+a u 17
+ela 18
+we 19
+a i 20
+ni 21
+ele 22
+zin 23
+uth 24
+ama 25
+elo 26
+pha 27
+ing 28
+aba 29
+ath 30
+and 31
+enz 32
+eth 33
+esi 34
+ma 35
+lel 36
+ um 37
+ ka 38
+the 39
+ung 40
+nge 41
+ngo 42
+tho 43
+nye 44
+kwe 45
+eni 46
+izi 47
+ye 48
+ kw 49
+ndl 50
+ho 51
+a e 52
+na 53
+zi 54
+het 55
+kan 56
+e u 57
+e i 58
+und 59
+ise 60
+isi 61
+nda 62
+kha 63
+ba 64
+i k 65
+nom 66
+fun 67
+ ez 68
+ iz 69
+ke 70
+ben 71
+o e 72
+isa 73
+zwe 74
+kel 75
+ka 76
+aka 77
+nzi 78
+o n 79
+e k 80
+oma 81
+kwa 82
+ ne 83
+any 84
+ang 85
+hla 86
+i u 87
+mth 88
+kub 89
+o k 90
+ana 91
+ane 92
+ikh 93
+ebe 94
+kut 95
+ha 96
+ is 97
+azi 98
+ulu 99
+seb 100
+ala 101
+onk 102
+ban 103
+i e 104
+azw 105
+wen 106
+ ab 107
+han 108
+a a 109
+i n 110
+imi 111
+lan 112
+hat 113
+lwa 114
+ na 115
+ini 116
+akh 117
+li 118
+ngu 119
+nke 120
+nok 121
+ume 122
+eke 123
+elw 124
+yo 125
+aph 126
+kus 127
+ es 128
+ ok 129
+iph 130
+ im 131
+mel 132
+i i 133
+ lo 134
+ in 135
+ am 136
+kho 137
+za 138
+gok 139
+sek 140
+lun 141
+kun 142
+lwe 143
+sha 144
+sik 145
+kuf 146
+hak 147
+a y 148
+thu 149
+sa 150
+o u 151
+khu 152
+ayo 153
+hul 154
+e a 155
+ali 156
+eng 157
+lu 158
+ne 159
+ ko 160
+eli 161
+uba 162
+dle 163
+e e 164
+ith 165
+ yo 166
+a l 167
+nel 168
+mis 169
+ si 170
+kul 171
+a o 172
+sis 173
+lok 174
+gen 175
+o z 176
+i a 177
+emi 178
+uma 179
+eka 180
+alo 181
+man 182
+isw 183
+tha 184
+o i 185
+lon 186
+so 187
+uph 188
+uhl 189
+ntu 190
+zim 191
+mal 192
+ind 193
+wez 194
+ ba 195
+o o 196
+ yi 197
+ we 198
+ula 199
+phe 200
+o y 201
+ile 202
+o l 203
+wo 204
+wel 205
+ga 206
+tu 207
+hle 208
+okw 209
+fan 210
+ le 211
+kaz 212
+ase 213
+ani 214
+nde 215
+bo 216
+ngi 217
+ule 218
+ em 219
+men 220
+iny 221
+amb 222
+mbi 223
+gan 224
+ifu 225
+o s 226
+ant 227
+hel 228
+ika 229
+ona 230
+i l 231
+fut 232
+ fu 233
+ze 234
+u a 235
+nhl 236
+nin 237
+ zo 238
+end 239
+sig 240
+u k 241
+gab 242
+ufa 243
+ish 244
+ush 245
+kuz 246
+no 247
+gam 248
+kuh 249
+ ye 250
+nya 251
+nez 252
+zis 253
+dlu 254
+kat 255
+dla 256
+tsh 257
+ se 258
+ike 259
+kuq 260
+gu 261
+osi 262
+swa 263
+lul 264
+ zi 265
+ima 266
+e l 267
+kup 268
+mo 269
+nza 270
+asi 271
+ko 272
+kum 273
+lek 274
+she 275
+umt 276
+uny 277
+yok 278
+wan 279
+wam 280
+ame 281
+ong 282
+lis 283
+mkh 284
+ahl 285
+ale 286
+use 287
+o a 288
+alu 289
+gap 290
+si 291
+hlo 292
+nje 293
+omt 294
+o w 295
+okh 296
+he 297
+kom 298
+i s 299
+
diff --git a/silpa/modules/hyphenator/__init__.py b/silpa/modules/hyphenator/__init__.py
new file mode 100644
index 0000000..5a78503
--- /dev/null
+++ b/silpa/modules/hyphenator/__init__.py
@@ -0,0 +1,3 @@
+#! /usr/bin/env python
+# -*- coding: utf-8 -*-
+import hyphenator
diff --git a/silpa/modules/hyphenator/hyphenator.py b/silpa/modules/hyphenator/hyphenator.py
new file mode 100644
index 0000000..889aee3
--- /dev/null
+++ b/silpa/modules/hyphenator/hyphenator.py
@@ -0,0 +1,281 @@
+"""
+
+This is a Pure Python module to hyphenate text.
+
+It is inspired by Ruby's Text::Hyphen, but currently reads standard *.dic files,
+that must be installed separately.
+
+In the future it's maybe nice if dictionaries could be distributed together with
+this module, in a slightly prepared form, like in Ruby's Text::Hyphen.
+
+Wilbert Berendsen, March 2008
+info@wilbertberendsen.nl
+
+License: LGPL.
+
+"""
+
+import sys
+import re
+from common import *
+#__all__ = ("Hyphenator")
+
+# cache of per-file Hyph_dict objects
+hdcache = {}
+
+# precompile some stuff
+parse_hex = re.compile(r'\^{2}([0-9a-f]{2})').sub
+parse = re.compile(r'(\d?)(\D?)').findall
+
+def hexrepl(matchObj):
+ return unichr(int(matchObj.group(1), 16))
+
+
+class parse_alt(object):
+ """
+ Parse nonstandard hyphen pattern alternative.
+ The instance returns a special int with data about the current position
+ in the pattern when called with an odd value.
+ """
+ def __init__(self, pat, alt):
+ alt = alt.split(',')
+ self.change = alt[0]
+ if len(alt) > 2:
+ self.index = int(alt[1])
+ self.cut = int(alt[2]) + 1
+ else:
+ self.index = 1
+ self.cut = len(re.sub(r'[\d\.]', '', pat)) + 1
+ if pat.startswith('.'):
+ self.index += 1
+
+ def __call__(self, val):
+ self.index -= 1
+ val = int(val)
+ if val & 1:
+ return dint(val, (self.change, self.index, self.cut))
+ else:
+ return val
+
+
+class dint(int):
+ """
+ Just an int some other data can be stuck to in a data attribute.
+ Call with ref=other to use the data from the other dint.
+ """
+ def __new__(cls, value, data=None, ref=None):
+ obj = int.__new__(cls, value)
+ if ref and type(ref) == dint:
+ obj.data = ref.data
+ else:
+ obj.data = data
+ return obj
+
+
+class Hyph_dict(object):
+ """
+ Reads a hyph_*.dic file and stores the hyphenation patterns.
+ Parameters:
+ -filename : filename of hyph_*.dic to read
+ """
+ def __init__(self, filename):
+ self.patterns = {}
+ f = open(filename)
+ charset = f.readline().strip()
+ if charset.startswith('charset '):
+ charset = charset[8:].strip()
+
+ for pat in f:
+ pat = pat.decode(charset).strip()
+ if not pat or pat[0] == '%': continue
+ # replace ^^hh with the real character
+ pat = parse_hex(hexrepl, pat)
+ # read nonstandard hyphen alternatives
+ if '/' in pat:
+ pat, alt = pat.split('/', 1)
+ factory = parse_alt(pat, alt)
+ else:
+ factory = int
+ tag, value = zip(*[(s, factory(i or "0")) for i, s in parse(pat)])
+ # if only zeros, skip this pattern
+ if max(value) == 0: continue
+ # chop zeros from beginning and end, and store start offset.
+ start, end = 0, len(value)
+ while not value[start]: start += 1
+ while not value[end-1]: end -= 1
+ self.patterns[''.join(tag)] = start, value[start:end]
+ f.close()
+ self.cache = {}
+ self.maxlen = max(map(len, self.patterns.keys()))
+
+ def positions(self, word):
+ """
+ Returns a list of positions where the word can be hyphenated.
+ E.g. for the dutch word 'lettergrepen' this method returns
+ the list [3, 6, 9].
+
+ Each position is a 'data int' (dint) with a data attribute.
+ If the data attribute is not None, it contains a tuple with
+ information about nonstandard hyphenation at that point:
+ (change, index, cut)
+
+ change: is a string like 'ff=f', that describes how hyphenation
+ should take place.
+ index: where to substitute the change, counting from the current
+ point
+ cut: how many characters to remove while substituting the nonstandard
+ hyphenation
+ """
+ word = word.lower()
+ points = self.cache.get(word)
+ if points is None:
+ prepWord = '.%s.' % word
+ res = [0] * (len(prepWord) + 1)
+ for i in range(len(prepWord) - 1):
+ for j in range(i + 1, min(i + self.maxlen, len(prepWord)) + 1):
+ p = self.patterns.get(prepWord[i:j])
+ if p:
+ offset, value = p
+ s = slice(i + offset, i + offset + len(value))
+ res[s] = map(max, value, res[s])
+
+ points = [dint(i - 1, ref=r) for i, r in enumerate(res) if r % 2]
+ self.cache[word] = points
+ return points
+
+
+class Hyphenator(SilpaModule):
+ """
+ Reads a hyph_*.dic file and stores the hyphenation patterns.
+ Provides methods to hyphenate strings in various ways.
+ Parameters:
+ -filename : filename of hyph_*.dic to read
+ -left: make the first syllabe not shorter than this
+ -right: make the last syllabe not shorter than this
+ -cache: if true (default), use a cached copy of the dic file, if possible
+
+ left and right may also later be changed:
+ h = Hyphenator(file)
+ h.left = 1
+ """
+ #self.left=2
+ #def __init__(self, left=2, right=2, cache=True):
+ left = 2
+ right = 2
+
+ def loadHyphDict(self,lang, cache=True):
+ filename="./modules/hyphenator/rules/hyph_"+lang+".dic"
+ if not cache or filename not in hdcache:
+ hdcache[filename] = Hyph_dict(filename)
+ self.hd = hdcache[filename]
+ def positions(self, word):
+ """
+ Returns a list of positions where the word can be hyphenated.
+ See also Hyph_dict.positions. The points that are too far to
+ the left or right are removed.
+ """
+ right = len(word) - self.right
+ return [i for i in self.hd.positions(word) if self.left <= i <= right]
+
+ def iterate(self, word):
+ """
+ Iterate over all hyphenation possibilities, the longest first.
+ """
+ if isinstance(word, str):
+ word = word.decode('latin1')
+ for p in reversed(self.positions(word)):
+ if p.data:
+ # get the nonstandard hyphenation data
+ change, index, cut = p.data
+ if word.isupper():
+ change = change.upper()
+ c1, c2 = change.split('=')
+ yield word[:p+index] + c1, c2 + word[p+index+cut:]
+ else:
+ yield word[:p], word[p:]
+
+ def wrap(self, word, width, hyphen='-'):
+ """
+ Return the longest possible first part and the last part of the
+ hyphenated word. The first part has the hyphen already attached.
+ Returns None, if there is no hyphenation point before width, or
+ if the word could not be hyphenated.
+ """
+ width -= len(hyphen)
+ for w1, w2 in self.iterate(word):
+ if len(w1) <= width:
+ return w1 + hyphen, w2
+
+ def inserted(self, word, hyphen='-'):
+ """
+ Returns the word as a string with all the possible hyphens inserted.
+ E.g. for the dutch word 'lettergrepen' this method returns
+ the string 'let-ter-gre-pen'. The hyphen string to use can be
+ given as the second parameter, that defaults to '-'.
+ """
+ if isinstance(word, str):
+ word = word.decode('latin1')
+ l = list(word)
+ for p in reversed(self.positions(word)):
+ if p.data:
+ # get the nonstandard hyphenation data
+ change, index, cut = p.data
+ if word.isupper():
+ change = change.upper()
+ l[p + index : p + index + cut] = change.replace('=', hyphen)
+ else:
+ l.insert(p, hyphen)
+ return ''.join(l)
+ def process(self,form):
+ response = """
+ <h2>Hyphenate Text</h2></hr>
+ <p>Enter the text for hyphenation in the below text area.
+ Language of each word will be detected.
+ You can give the text in any language and even with mixed language
+ </p>
+ <form action="" method="post">
+ <textarea name='input_text' id='id1'>%s</textarea>
+ <input type="submit" id="Hyphenate" value="Hyphenate" name="action" style="width:12em;"/>
+ </br>
+ </form>
+ """
+ if(form.has_key('input_text')):
+ text = action=form['input_text'].value .decode('utf-8')
+ response=response % text
+ words=text.split(" ")
+ response = response+"<h2>Hyphenation Results</h2></hr>"
+ response = response+"<table class=\"table1\"><tr><th>Word</th><th>Hyphenated Word</th></tr>"
+ for word in words:
+ word=word.strip()
+ if(word>""):
+ mm=ModuleManager()
+ ld = mm.getModuleInstance("Detect Language")
+ lang=ld.detect_lang(word)[word]
+ self.loadHyphDict(lang)
+ hyph_word = self.inserted(word)
+ response = response+"<tr><td>"+word+"</td><td>"+hyph_word+"</td></tr>"
+ response = response+"</table> "
+ else:
+ response=response % ""
+ return response
+ def get_module_name(self):
+ return "Hyphentator"
+ def get_info(self):
+ return "Hyphenates each word in the text in all possible positions"
+
+def getInstance():
+ return Hyphenator()
+
+# __call__ = iterate
+
+
+if __name__ == "__main__":
+
+ dict_file = sys.argv[1]
+ word = sys.argv[2].decode('latin1')
+
+ h = Hyphenator(dict_file, left=1, right=1)
+
+ for i in h(word):
+ print i
+
diff --git a/silpa/modules/hyphenator/rules/hyph_bn_IN.dic b/silpa/modules/hyphenator/rules/hyph_bn_IN.dic
new file mode 100644
index 0000000..42dca20
--- /dev/null
+++ b/silpa/modules/hyphenator/rules/hyph_bn_IN.dic
@@ -0,0 +1,83 @@
+UTF-8
+% Hyphenation for Bengali
+% Copyright (C) 2008 Santhosh Thottingal <santhosh.thottingal@gmail.com>
+%
+% This library is free software; you can redistribute it and/or
+% modify it under the terms of the GNU General Public
+% License as published by the Free Software Foundation;
+% version 3 or later version of the License.
+%
+% This library is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+% Lesser General Public License for more details.
+%
+% You should have received a copy of the GNU General Public
+% License along with this library; if not, write to the Free Software
+% Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+%
+
+অ1
+আ1
+ই1
+ঈ1
+উ1
+ঊ1
+ঋ1
+এ1
+ঐ1
+ঔ1
+া1
+ি1
+ী1
+ু1
+ে1
+ো1
+ৈ1
+ৌ1
+ৗ1
+্2
+2ঃ1
+2ং1
+2ঁ1
+1ন
+ন্2
+2ন্‍
+1র
+র্2
+2র্‍
+1ল
+ল্2
+2ল্‍
+্2
+1ণ
+ণ্2
+2ণ্‍
+1ক
+1গ
+1খ
+1ঘ
+1ঙ
+1চ
+1ছ
+1জ
+1ঝ
+1ঞ
+1ট
+1ঠ
+1ড
+1ঢ
+1ত
+1থ
+1দ
+1ধ
+1প
+1ফ
+1ব
+1ভ
+1ম
+1য
+1শ
+1ষ
+1স
+1হ
diff --git a/silpa/modules/hyphenator/rules/hyph_en_US.dic b/silpa/modules/hyphenator/rules/hyph_en_US.dic
new file mode 100644
index 0000000..d91204b
--- /dev/null
+++ b/silpa/modules/hyphenator/rules/hyph_en_US.dic
@@ -0,0 +1,9784 @@
+ISO8859-1
+LEFTHYPHENMIN 2
+RIGHTHYPHENMIN 3
+.a2ch4
+.ad4der
+.a2d
+.ad1d4
+.a2f1t
+.a2f
+.a4l3t
+.am5at
+.4a1ma
+.an5c
+.a2n
+.2ang4
+.an1i5m
+.an1t4
+.an3te
+.anti5s
+.ant2i
+.a4r5s2
+.2a2r
+.ar4t2ie4
+.ar1ti
+.ar4ty
+.as3c
+.as1p
+.a2s1s
+.aster5
+.a2tom5
+.a1to
+.au1d
+.av4i
+.awn4
+.ba4g
+.ba5na
+.ba2n
+.bas4e
+.ber4
+.be5r1a
+.be3s1m
+.4bes4
+.b4e5s2to
+.bri2
+.but4ti
+.bu4t3t2
+.cam4pe
+.1ca
+.ca4m1p
+.can5c
+.ca2n
+.capa5b
+.ca1pa
+.car5ol
+.c2a2r
+.ca4t
+.ce4la
+.2ch4
+.chill5i
+.ch4il2
+.chil1l
+.1ci2
+.cit5r
+.2c1it
+.co3e2
+.1co
+.co4r
+.cor5n1er
+.corn2e
+.de4moi2
+.d4em
+.de1mo
+.de3o
+.de3r1a
+.de3r1i
+.de1s4c
+.des2
+.dic1t2io5
+.3di2c1t
+.do4t
+.1do
+.du4c
+.1du
+.du4m1b5
+.earth5
+.ear2t
+.e2a2r
+.eas3i
+.2e1b4
+.eer4
+.eg2
+.e2l5d
+.el3em
+.enam3
+.e1na
+.en3g
+.e2n3s2
+.eq5ui5t
+.e1q
+.equ2
+.eq2ui2
+.er4ri
+.er1r4
+.es3
+.4eu3
+.eye5
+.fes3
+.for5mer
+.1fo
+.fo2r
+.for1m
+.for2me
+.1ga2
+.ge2
+.gen3t4
+.1gen
+.ge5o2g
+.1geo
+.1g2i5a
+.gi4b
+.go4r
+.1go
+.hand5i
+.ha2n
+.h4and
+.ha4n5k2
+.he2
+.hero5i2
+.h2ero
+.h1es3
+.he4t3
+.hi3b
+.hi3er
+.h2ie4
+.hon5ey
+.ho2n
+.hon3o
+.hov5
+.id4l
+.2id
+.idol3
+.i1do
+.im3m
+.im5p1i2n
+.i4m1p
+.im2pi
+.in1
+.in3ci
+.2ine2
+.4i4n2k2
+.2i2n3s2
+.ir5r4
+.4ir
+.is4i
+.ju3r
+.la4cy
+.la4m
+.lat5er
+.l4ath5
+.le2
+.leg5e
+.len4
+.lep5
+.lev1
+.l2i4g
+.li1g5a
+.li2n
+.l2i3o
+.l1i4t
+.ma1g5a5
+.1ma
+.mal5o
+.ma1n5a
+.ma2n
+.mar5ti
+.m2a2r
+.me2
+.mer3c
+.me5ter
+.me1te
+.m2is1
+.mis4t5i
+.mon3e
+.1mo
+.mo2n
+.mo3ro
+.mo2r
+.mu5ta
+.1mu
+.mu2ta5b
+.ni4c
+.od2
+.od1d5
+.of5te
+.o2ft
+.or5a1to
+.o1ra
+.or3c
+.or1d
+.or3t
+.os3
+.os4tl
+.4oth3
+.out3
+.ou2
+.ped5al
+.2p2ed
+.p2e2d2a
+.pe5te
+.pe2t
+.pe5tit
+.p2i4e4
+.pio5n4
+.3p2i1o
+.pi2t
+.pre3m
+.pr2
+.ra4c
+.ran4t
+.ra2n
+.ratio5n1a
+.ratio2n4
+.ra1t2io
+.ree2
+.re5mit
+.res2
+.re5stat
+.res2t
+.res1ta
+.r2i4g
+.ri2t5u
+.ro4q
+.ros5t
+.row5d
+.ru4d
+.3s4c2i3e4
+.s1ci
+.5se2l2f5
+.sel1l5
+.se2n
+.se5r2ie4
+.ser1i
+.s2h2
+.si2
+.s3ing4
+.2s1in
+.st4
+.sta5b2l2
+.s1ta
+.s2tab
+.s4y2
+.1ta4
+.te4
+.3ten5a2n
+.te1na
+.th2
+.ti2
+.til4
+.ti1m5o5
+.1tim
+.ting4
+.2t1in
+.t4i4n5k2
+.to1n4a
+.1to
+.to2n
+.to4p
+.top5i
+.to2u5s
+.tou2
+.trib5ut
+.tr4ib
+.u1n1a
+.un3ce
+.under5
+.un1de
+.u2n1e
+.u4n5k2
+.un5o
+.un3u4
+.up3
+.ure3
+.us5a2
+.2us
+.ven4de
+.ve5r1a
+.wil5i
+.wi2
+.wil2
+.ye4
+4ab.
+a5bal
+a5ba2n
+abe2
+ab5erd
+ab2i5a
+ab5i2t5ab
+abi2t
+abi1ta
+ab5lat
+ab2l2
+ab5o5l1iz
+abol2i
+4abr
+ab5rog
+ab3ul
+a4c2a2r
+a1ca
+ac5ard
+ac5aro
+a5ceou2
+ac1er
+a5che4t
+a2ch
+ache2
+4a2ci
+a3c2ie4
+a2c1in
+a3c2io
+ac5rob
+act5if2
+a2c1t
+ac3ul
+ac4um
+a2d
+ad4d1in
+ad1d4
+ad5er.
+2adi
+a3d4i3a
+ad3i1ca
+adi4er
+ad2ie4
+a3d2io
+a3dit
+a5di1u
+ad4le
+ad3ow
+a1do
+ad5ra2n
+a1dr
+ad4su
+a2d1s2
+4a1du
+a3du2c
+ad5um
+ae4r
+aer2i4e4
+aer1i
+a2f
+a4f1f4
+a4gab
+a1ga
+aga4n
+ag5el1l
+a1ge4o
+4ag4eu
+ag1i
+4ag4l2
+ag1n
+a2go
+3a3g4o4g
+ag3o3ni
+ago2n2
+a5guer
+a2gue
+ag5ul
+a4gy
+a3ha
+a3he
+a4h4l4
+a3ho
+ai2
+a5i1a
+a3ic.
+ai5ly
+a4i4n
+ain5in
+a2ini
+a2i1n5o
+ait5en
+a2ite
+a1j
+ak1en
+al5ab
+al3a2d
+a4l2a2r
+4aldi4
+a2ld
+2ale
+al3end
+a4lent2i
+a1len1t
+a5le5o
+al1i
+al4ia.
+al2i1a
+al2i4e4
+al5lev
+al1l
+al2le
+4allic
+all2i
+4a2lm
+a5log.
+a4ly.
+a1ly
+4a2lys4
+5a5lys1t
+5alyt
+3alyz
+4a1ma
+a2m5ab
+am3ag
+ama5ra
+am2a2r
+am5asc
+a4ma3tis
+a4m5a1to
+am5er1a
+am3ic
+am5if
+am5i1ly
+am1in
+am2i4no
+a2mo
+a5mo2n
+amor5i
+amo2r
+amp5en
+a4m1p
+a2n
+an3age
+a1na
+3ana1ly
+a3n2a2r
+an3ar3c
+anar4i
+a3nati
+an2at
+4and
+ande4s2
+an1de
+an3dis1
+an1dl
+an4dow
+an1do
+a5nee
+a3nen
+an5e2st.
+a1nes
+a2nest
+a3n4eu
+2ang
+ang5ie4
+an1gl2
+a4n1ic
+a3nies
+an2ie4
+an3i3f
+an4ime
+an1im
+a5nim1i
+a5n2ine
+an1in
+an3i4o
+a3n2ip
+an3is2h
+an3it
+a3ni1u
+an4kli
+a4nk2
+an1k1l
+5anniz
+a4n1n2
+ano4
+an5ot
+an4oth5
+an2sa2
+a2n1s2
+an4s1co
+ans4c
+an4s1n4
+an2sp
+ans3po
+an4st
+an4su2r
+an1su
+anta2l4
+an1t
+an1ta
+an4t2ie4
+ant2i
+4an1to
+an2tr
+an4tw4
+an3u1a
+an3ul
+a5nur
+4ao
+ap2a2r4
+a1pa
+ap5at
+ap5er3o
+a3ph4er
+4aphi
+a4pilla
+apil1l
+ap5ill2a2r
+ap3i2n
+ap3i1ta
+a3pi2tu
+a2p2l2
+apo4c5
+ap5o1la
+apor5i
+a1p4or
+apos3t
+a1pos
+aps5e4s
+a2p1s2
+ap2se
+a3pu
+aque5
+aqu2
+2a2r
+ar3a2c1t
+a5rade
+ara2d
+ar5adis1
+ar2adi
+ar3al
+a5rame1te
+aram3et
+ar2an4g
+ara2n
+ara3p
+ar4at
+a5ra1t2io
+ar5a1t2iv
+a5rau
+ar5av4
+araw4
+arbal4
+ar1b
+ar4cha2n
+ar1c
+ar3cha
+ar2ch
+ar5d2ine
+ard2i
+ard1in4
+ar4dr
+ar5eas
+a3ree
+ar3en1t
+a5r2e2ss
+ar4fi
+ar1f
+ar4f4l2
+ar1i
+ar5i2al
+ar2i3a
+ar3i2a2n
+a3ri5et
+ar2ie4
+ar4im
+ar5in2at
+ar2i1na
+ar3i1o
+ar2iz
+ar2mi
+ar1m
+ar5o5d
+a5roni
+aro2n
+a3roo2
+ar2p
+ar3q
+arre4
+ar1r4
+ar4sa2
+a4rs2
+ar2s2h
+4as.
+a2s4ab
+asa2
+as3an1t
+asa2n
+ashi4
+as2h
+a5sia.
+as2i1a
+a3si1b
+a3sic
+5a5si4t
+ask3i
+ask2
+as4l2
+a4soc
+a1so
+as5ph
+as4s2h
+a2ss
+as3ten
+as1t4r
+asu1r5a
+a1su
+asu2r
+a2ta
+at3ab2l2
+a2tab
+at5ac
+at3alo
+ata2l
+at5ap
+ate5c
+at5e2ch
+at3e1go
+ateg4
+at3en.
+at3er1a
+ater5n
+a5ter1na
+at3est
+at5ev
+4ath
+ath5em
+ath2e
+a5the2n
+at4ho
+ath5om
+4ati.
+a5t2i1a
+a2t5i5b
+at1ic
+at3if2
+ation5a2r
+a1t2io
+atio2n
+atio1n1a
+at3i1tu
+a4tog
+a1to
+a2tom
+at5om2iz
+a4top
+a4tos2
+a1tr
+at5rop
+at4sk2
+a4t1s2
+at4tag
+a4t3t2
+at1ta
+at5te
+at4th
+a2tu
+at5u1a
+a4t5ue
+at3ul
+at3u1ra
+a2ty
+au4b
+augh3
+au3gu
+au4l2
+aun5d
+au3r
+au5si1b
+a2us
+a4ut5en
+au1th
+a2va
+av3ag4
+a5va2n
+av4e4no
+av3er1a
+av5ern
+av5ery
+av1i
+avi4er
+av2ie4
+av3ig
+av5oc
+a1vor
+3away
+aw3i2
+aw4ly
+aws4
+ax4i5c
+ax3i
+ax4id
+ay5al
+aye4
+ays4
+azi4er
+a2z1i
+az2ie4
+az2z5i
+a4z1z2
+5ba.
+bad5ger
+ba2d
+ba4ge
+bal1a
+ban5dag
+ba2n
+b4and
+ban1d2a
+ban4e
+ban3i
+barbi5
+b2a2r
+bar1b
+bar2i4a
+bar1i
+bas4si
+ba2ss
+1bat
+ba4z
+2b1b
+b2be
+b3ber
+bbi4na
+4b1d
+4be.
+beak4
+bea2t3
+4be2d
+b2e3d2a
+be3de
+b4e3di
+be3gi
+be5gu
+1bel
+be1l2i
+be3lo
+4be5m
+be5n2ig
+be5nu
+4bes4
+be3sp
+b2e5st4r
+3bet
+be1t5iz
+be5tr
+be3tw4
+be3w
+be5y1o4
+2bf
+4b3h
+bi2b
+b2i4d
+3b2ie4
+bi5en
+bi4er
+2b3if
+1bil
+bi3l2iz
+bil1i
+bin2a5r4
+bi1na
+b4in4d
+bi5net
+b2ine
+bi3o2gr
+b2io
+bi5ou2
+bi2t
+3b2i3t2io
+bi1ti
+bi3tr
+3bit5u1a
+bi1tu
+b5i4tz
+b1j
+bk4
+b2l2
+bl4ath5
+b4le.
+blen4
+5ble1sp
+bles2
+b3lis
+b4lo
+blun4t
+4b1m
+4b3n
+bne5g
+3bod
+bod3i
+bo4e
+bol3ic
+bol2i
+bom4bi
+bo4m1b
+bo1n4a
+bo2n
+bon5at
+3boo2
+5bor.
+4b1o1ra
+bor5d
+5bore
+5bori
+5bos4
+b5o1ta
+b4oth5
+bo4to
+boun2d3
+bou2
+4bp
+4brit
+br4oth3
+2b5s2
+bsor4
+b1so
+2bt
+b2t4l
+b4to
+b3tr
+buf4fer1
+bu4f1f
+bu4ga
+bu3l2i
+bu1mi4
+bu4n
+bunt4i
+bun1t
+bu3re
+bus5ie4
+b2us
+buss4e
+bu2ss
+5bust
+4bu1ta
+3bu1t2io
+b4u1t2i
+b5u1to
+b1v
+4b5w
+5by.
+bys4
+1ca
+cab3in
+ca1b2l2
+ca2ch4
+ca5den
+ca2d
+4cag4
+2c5ah
+ca3lat
+cal4la
+cal1l
+cal2l5in4
+call2i
+4calo
+c4an5d
+ca2n
+can4e
+ca4n4ic
+can5is
+can3iz
+can4ty
+can1t
+cany4
+ca5per
+car5om
+c2a2r
+cast5er
+cas5t2ig
+cast2i
+4cas4y
+c4a4th
+4ca1t2iv
+cav5al
+ca2va
+c3c
+ccha5
+c2ch
+c3c2i4a
+c1ci
+ccom1pa5
+c1co
+cco4m1p
+cco2n4
+ccou3t
+ccou2
+2ce.
+4ced.
+4ce1den
+3cei2
+5cel.
+3cel1l
+1cen
+3cenc
+2cen4e
+4ceni
+3cen1t
+3cep
+ce5ram
+cer1a
+4ce1s4a2
+3ces1si
+c2e2ss
+ces5si5b
+ces5t
+cet4
+c5e4ta
+cew4
+2ch
+4ch.
+4ch3ab
+5cha4n1ic
+cha2n
+ch5a5nis
+che2
+cheap3
+4ch4ed
+ch5e5lo
+3chemi
+ch5ene
+che2n
+ch3er.
+ch3e4r1s2
+4ch1in
+5chi2ne.
+ch2ine
+ch5i5n2e2ss
+chi1nes
+5ch2ini
+5ch2io
+3chit
+chi2z
+3cho2
+ch4ti
+1ci
+3c2i1a
+ci2a5b
+ci2a5r
+ci5c
+4cier
+c2ie4
+5c4i2f3ic.
+ci1fi
+4c4i5i4
+ci4la
+3cil1i
+2cim
+2cin
+c4i1na
+3cin2at
+cin3em
+c2ine
+c1ing
+c5ing.
+5c2i1no
+cio2n4
+c2io
+4cipe4
+c2ip
+ci3ph
+4cip4ic
+cip3i
+4cis1ta
+4cis1t2i
+2c1it
+ci1t3iz
+ci1ti
+5ciz
+ck1
+ck3i
+1c4l4
+4cl2a2r
+c5la5ra1t2io
+clar4at
+5clare
+cle4m
+4clic
+clim4
+c1ly4
+c5n
+1co
+co5ag
+c4oa
+coe2
+2cog
+co4gr
+coi4
+co3inc
+col5i
+5colo
+col3o4r
+com5er
+co2me
+co1n4a
+co2n
+c4one
+con3g
+con5t
+co3pa
+cop3ic
+co4p2l2
+4cor1b
+coro3n
+cos4e
+cov1
+cove4
+cow5a
+co2z5e
+co5z1i
+c1q
+cras5t
+cr2as
+5crat.
+5crat1ic
+cre3a2t
+5c2r2ed
+4c3re1ta
+cre4v2
+cri2
+cri5f
+c4rin
+cr2is4
+5cri1ti
+cro4p2l2
+crop5o
+cros4e
+cru4d
+4c3s2
+2c1t
+c2ta4b
+c1ta
+ct5ang
+cta2n
+c5tan1t
+c2te
+c3ter
+c4t4ic1u
+ctim3i
+c1tim
+ctu4r
+c1tu
+c4tw4
+cud5
+c4uf
+c4ui2
+cu5i1ty
+5cul2i
+cul4tis4
+cul1ti
+cu4lt
+3c4ul1tu2
+cu2ma
+c3ume
+cu4mi
+3cun
+cu3pi
+cu5py
+cu2r5a4b
+cu1ra
+cu5r2i3a
+1c2us
+cus1s4i
+cu2ss
+3c4ut
+cu4t2ie4
+c4u1t2i
+4c5u1t2iv
+4cutr
+1cy
+c2ze4
+1d2a
+5da.
+2d3a4b
+da2ch4
+4da2f
+2dag
+da2m2
+d2an3g
+da2n
+dard5
+d2a2r
+dark5
+4dary
+3dat
+4da1t2iv
+4da1to
+5dav4
+dav5e
+5day
+d1b
+d5c
+d1d4
+2de.
+dea2f5
+de4b5i2t
+d2e1b
+de4bo2n
+deca2n4
+de1ca
+de4cil
+de1c2i
+de5com
+de1co
+2d1ed
+4dee.
+de5if
+dei2
+del2i4e4
+del2i
+de4l5i5q
+de5lo
+d4em
+5dem.
+3demic
+dem5ic.
+de5mil
+de4mo2n3s2
+de1mo
+demo2n
+demo2r5
+1den
+de4n2a2r
+de1na
+d4e3no
+denti5f2
+den1t
+dent2i
+de3nu
+de1p
+de3pa
+depi4
+de2pu
+d3e1q
+d4er1h4
+5der3m4
+d5ern5iz
+de4r5s2
+des2
+d2es.
+de1s2c
+de2s5o
+des3t2i
+d2e3st4r
+de4su
+de1t
+de2to
+de1v
+de2v3i4l
+de1vi
+4dey
+4d1f
+d4ga
+d3ge4t
+dg1i
+d2gy
+d1h2
+5di.
+1d4i3a
+dia5b
+d4i4cam
+di1ca
+d4ice
+3di2c1t
+3d2id
+5di3en
+d2ie4
+d1if
+di3ge
+d2ig
+di4la1to
+di1la
+d1in
+1di1na
+3di2ne.
+d2ine
+5d2ini
+di5niz
+1d2io
+dio5g
+di4p2l2
+d2ip
+d4ir2
+di1re
+dir1t5i
+dis1
+5disi
+d4is3t
+d2i1ti
+1d2i1v
+d1j
+d5k2
+4d5la
+3dle.
+3dled
+3dles.
+dles2
+4d3l2e2ss
+2d3lo
+4d5lu
+2d1ly
+d1m
+4d1n4
+1do
+3do.
+do5de
+5doe
+2d5of
+d4og
+do4la
+dol2i4
+do5lo4r
+dom5iz
+do3n2at
+do2n
+do1n1a
+doni4
+doo3d
+doo2
+do4p4p
+d4or
+3dos
+4d5out
+dou2
+do4v
+3dox
+d1p
+1dr
+drag5o2n2
+dra2go
+4dr2ai2
+dre4
+dre2a5r
+5dren
+dr4i4b
+dril4
+dro4p
+4drow
+5drupli
+dru3p2l2
+4dry
+2d1s2
+ds4p
+d4sw2
+d4s4y
+d2th
+1du
+d1u1a
+du2c
+d1u3ca
+duc5er
+4duct.
+du2c1t
+4duc4t1s2
+du5el
+du4g
+d3ul4e
+dum4be
+du4m1b
+du4n
+4dup
+du4pe
+d1v
+d1w
+d2y
+5dyn
+dy4s2e
+dys5p
+e1a4b
+e3a2c1t
+ea2d1
+ead5ie4
+e2adi
+ea4ge
+ea5ger
+ea4l
+eal5er
+e2ale
+eal3ou2
+eam3er
+e5and
+ea2n
+ear3a
+e2a2r
+ear4c
+ear5es
+ear4ic
+ear1i
+ear4il
+ear5k
+ear2t
+eart3e
+ea5sp
+e3a2ss
+east3
+ea2t
+eat5en
+eath3i
+e4ath
+e5at3if2
+e4a3tu
+ea2v
+eav3en
+eav5i
+eav5o
+2e1b
+e4bel.
+e1bel
+e4be2l1s2
+e4ben
+e4bi2t
+e3br
+e4ca2d
+e1ca
+ecan5c
+eca2n
+ec1ca5
+ec3c
+e1ce
+ec5es1sa2
+ec2e2ss
+e1c2i
+e4cib
+ec5ificat
+eci1fi
+ecifi1ca
+ec5i3f2ie4
+ec5i1fy
+e2c3im
+e2c1i4t
+e5c2ite
+e4clam
+e1c4l4
+e4cl2us
+e2col
+e1co
+e4com1m
+e4compe
+eco4m1p
+e4con1c
+eco2n
+e2cor
+ec3o1ra
+eco5ro
+e1cr
+e4crem
+ec4ta2n
+e2c1t
+ec1ta
+ec4te
+e1cu
+e4cul
+ec3u1la
+2e2d2a
+4ed3d4
+e4d1er
+ede4s2
+4edi
+e3d4i3a
+ed3ib
+ed3i1ca
+ed3im
+ed1it
+edi5z
+4e1do
+e4dol
+edo2n2
+e4dri
+e1dr
+e4dul
+e1du
+ed5u1l4o
+ee2c
+e4ed3i
+ee2f
+eel3i
+ee4ly
+ee2m
+ee4na
+ee4p1
+ee2s4
+eest4
+ee4ty
+e5ex
+e1f
+e4f3ere
+efer1
+1e4f1f
+e4fic
+e1fi
+5ef2i1c4i
+efil4
+e3f2i2ne
+e2fin
+ef5i5n2ite
+ef2ini
+efin2it
+3efit
+efor5es
+e1fo
+efo2r
+e4fu4se.
+e3fu
+ef2us
+4egal
+e1ga
+eger4
+eg5ib
+eg4ic
+eg5ing
+e5git5
+eg5n
+e4go.
+e1go
+e4gos
+eg1ul
+e5gur
+5e1gy
+e1h4
+eher4
+ei2
+e5ic
+e2i5d
+e2ig2
+ei5g4l2
+e3i4m1b
+e3in3f
+e1ing
+e5inst
+e2i2n1s2
+eir4d
+e4ir
+e2it3e
+e2i3th
+e5i1ty
+e1j
+e4jud
+ej5udi
+eki4n
+ek1i
+ek4la
+ek1l
+e1la
+e4la.
+e4lac
+e3l4an4d
+ela2n
+e4l5a1t2iv
+e4law
+elax1a4
+e3le2a
+el5ebra
+el2e1b
+ele3br
+5elec
+e4led
+el3e1ga
+e5len
+e4l1er
+e1les2
+e2l2f
+el2i
+e3libe4
+e4l5ic.
+el3i1ca
+e3lier
+el2ie4
+el5i3gib
+el2ig
+el4igi
+e5lim
+e4l3ing
+e3l2io
+e2lis
+el5is2h
+e3l2iv3
+4ella
+el1l
+el4lab
+ell4o4
+e5loc
+el5og
+el3op.
+el2s2h
+e2l1s2
+el4ta
+e4lt
+e5lud
+el5ug
+e4mac
+e1ma
+e4mag
+e5ma2n
+em5a1na
+e4m5b
+e1me
+e2mel
+e4met
+em3i1ca
+em2i4e4
+em5igra
+em2ig4
+emi1gr
+em1in2
+em5ine
+em3i3ni
+e4m2is
+em5is2h
+e5m4i2s1s
+em3iz
+5emniz
+e4m1n
+emo4g
+e1mo
+emo3n2i5o
+emo2n
+em3pi
+e4m1p
+e4mul
+e1mu
+em5u1la
+emu3n2
+e3my
+en5a2mo
+e1na
+e4nan1t
+en2a2n
+ench4er
+en2ch
+enche2
+en3dic
+e5nea
+e5nee
+en3em
+en5ero
+en1er
+en5e1si
+e1nes
+e2n5est
+en3etr
+e3ne4w
+en5i4c3s2
+e5n2ie4
+e5nil
+e3n2i4o
+en3is2h
+en3it
+e5ni1u
+5eniz
+4e4n1n2
+4eno
+e4no4g
+e4nos
+en3ov
+en4sw2
+e2n1s2
+ent5age
+en1t
+en1ta
+4enth1es
+enth2e
+en3u1a
+en5uf
+e3ny.
+4e4n3z
+e5of
+eo2g
+e4oi4
+e3ol
+eop3a2r
+eo2pa
+e1or
+eo3re
+eo5rol
+eos4
+e4ot
+eo4to
+e5out
+eou2
+e5ow
+e2pa
+e3p4ai2
+ep5anc
+epa2n
+e5pel
+e3pen1t
+ep5e5t2i1t2io
+epe2t
+epeti1ti
+ephe4
+e4pli
+e1p2l2
+e1po
+e4prec
+epr2
+ep5re1ca
+e4p2r2ed
+ep3re1h4
+e3pro
+e4prob
+ep4s4h
+e2p1s2
+ep5ti5b
+e2p1t
+e4pu2t
+ep5u1ta
+e1q
+equi3l
+equ2
+eq2ui2
+e4q3ui3s
+er1a
+e2ra4b
+4er4and
+era2n
+er3a2r
+4er4ati.
+2er1b
+er4b2l2
+er3ch
+er1c
+er4che2
+2e2re.
+e3re1a4l
+ere5co
+ere3in
+erei2
+er5el.
+er3e1mo
+er5e1na
+er5ence
+4erene
+er3en1t
+ere4q
+er5e2ss
+er3es2t
+eret4
+er1h4
+er1i
+e1r2i3a4
+5erick1
+e3rien
+er2ie4
+eri4er
+er3in4e
+e1r2i1o
+4erit
+er4i1u
+er2i4v
+e4ri1va
+er3m4
+er4nis4
+4er3n2it
+5erniz
+er3no4
+2ero
+er5ob
+e5r2oc
+ero4r
+er1ou2
+e4r1s2
+er3set
+er2se
+ert3er
+4er2tl
+er3tw4
+4eru
+eru4t
+5erwau
+er1w
+e1s4a2
+e4sa2ge.
+e4sages
+es2c
+e2s1ca
+es5ca2n
+e3scr
+es5cu
+e1s2e
+e2sec
+es5e1cr
+e4s5enc
+e4sert.
+e4ser4t1s2
+e4ser1va
+4es2h
+e3sha
+esh5e2n
+e1si
+e2sic
+e2s2id
+es5i1den
+e4s5ig1n4a
+es2ig
+e2s5im
+e2s4i4n
+esis4te
+e1sis
+e5si4u
+e5skin
+esk2
+esk1i
+es4mi
+e2s1m
+e2sol
+e1so
+es3olu
+e2so2n
+es5o1n1a4
+e1sp
+e2s3per
+es5pi1ra
+esp4ir
+es4pre
+espr2
+2e2ss
+es4si4b
+es1si
+esta2n4
+es1ta
+es3t2ig
+est2i
+es5tim
+4es2to
+e3sto2n
+2est4r
+e5stro
+estruc5
+e2su2r
+e1su
+es5ur1r4
+es4w2
+e2ta4b
+e1ta
+e3ten4d
+e3teo
+ethod3
+et1ic
+e5tide
+et2id
+e2t1in4
+et2i4no
+e5t4ir
+e5t2i1t2io
+eti1ti
+et5i1t2iv
+4e2t1n2
+et5o1n1a
+e1to
+eto2n
+e3tra
+e3tre
+et3ric
+et5rif
+et3rog
+et5ros
+et3u1a
+e1tu
+et5ym
+e1ty
+e4t5z
+4eu
+e5un
+e3up
+eu3ro
+e2us4
+eute4
+euti5l
+e4u1t2i
+eu5tr
+eva2p5
+e1va
+e2vas
+ev5ast
+e5vea
+ev3el1l
+eve4l3o
+e5veng
+even4i
+ev1er
+e5v2er1b
+e1vi
+ev3id
+e2vi4l
+e4v1in
+e3v2i4v
+e5voc
+e5vu
+e1wa
+e4wag
+e5wee
+e3wh
+ewil5
+ewi2
+ew3in4g
+e3wit
+1ex3p
+5ey1c
+5eye.
+eys4
+1fa
+fa3b2l2
+f4ab3r
+fa4ce
+4fag
+fa4i4n4
+fai2
+fal2l5e
+fal1l
+4f4a4ma
+fam5is
+5f2a2r
+far5th
+fa3ta
+fa3th2e
+f4ath
+4fa1to
+fau4lt5
+fau4l2
+4f5b
+4fd
+4fe.
+feas4
+fe4ath3
+fea2t
+f2e4b
+4fe1ca
+5fe2c1t
+2fed
+fe3l2i
+fe4mo
+fen2d
+fen1d5e
+fer1
+5fer1r4
+fev4
+4f1f
+f4fes
+f4f2ie4
+f1fi
+f5f2in.
+f2fin
+f2f5is
+f4f2ly5
+ff4l2
+f2fy
+4fh
+1fi
+f2i3a
+2f3ic.
+4f3ical
+fi1ca
+f3ica2n
+4ficate
+f3i1cen
+fi3cer
+f2i1c4i
+5fi3c2i1a
+5fic2ie4
+4fi4c3s2
+fi3cu
+fi5del
+f2id
+fight5
+f2ig
+fil5i
+fil2l5in4
+fil1l
+fill2i
+4fi1ly
+2fin
+5fi1na
+f4in2d5
+f2i2ne
+f1in3g
+f2i4n4n2
+fis4t2i
+f4l2
+f5l2e2ss
+fles2
+flin4
+flo3re
+f2ly5
+4fm
+4fn
+1fo
+5fo2n
+fon4de
+f2ond
+fon4t
+fo2r
+fo5rat
+fo1ra
+for5ay
+fore5t
+for4i
+for1t5a
+fos5
+4f5p
+fra4t
+f5rea
+fres5c
+fri2
+fril4
+frol5
+2f3s
+2ft
+f4to
+f2ty
+3fu
+fu5el
+4fug
+fu4min
+fu1mi
+fu5ne
+fu3ri
+fusi4
+f2us
+fu2s4s
+4fu1ta
+1fy
+1ga
+ga2f4
+5gal.
+3gal1i
+ga3lo
+2gam
+ga5met
+g5a2mo
+gan5is
+ga2n
+ga3niz
+gani5za1
+4gano4
+gar5n4
+g2a2r
+ga2ss4
+g4ath3
+4ga1t2iv
+4gaz
+g3b
+gd4
+2ge.
+2ged
+geez4
+gel4in
+gel2i
+ge5lis
+ge5l1iz
+4ge1ly
+1gen
+ge4n2at
+ge1na
+g5e5niz
+4g4eno
+4geny
+1geo
+ge3om
+g4ery
+5ge1si
+geth5
+4ge1to
+ge4ty
+ge4v
+4g1g2
+g2ge
+g3ger
+gglu5
+ggl2
+g1go4
+gh3in
+gh5out
+ghou2
+gh4to
+5gi.
+1g2i4a
+gi2a5r
+g1ic
+5gi3c2i1a
+g2i1ci
+g4i1co
+gien5
+g2ie4
+5gies.
+gil4
+g3i1men
+3g4in.
+g4in5ge
+5g4i2n1s2
+5g2io
+3g4ir
+gir4l
+g3is1l2
+gi4u
+5g2iv
+3giz
+gl2
+gla4
+gl2ad5i
+gla2d
+5glas
+1gle
+gli4b
+g3l2ig
+3glo
+glo3r
+g1m
+g4my
+g1n4a
+g4na.
+gne4t4t2
+g1ni
+g2n1in
+g4n2i4o
+g1no
+g4no4n
+1go
+3go.
+gob5
+5goe
+3g4o4g
+go3is
+goi2
+go2n2
+4g3o3n1a
+gon5do5
+g2ond
+go3ni
+5goo2
+go5riz
+gor5ou2
+5gos.
+gov1
+g3p
+1gr
+4gra1d2a
+gra2d
+g4r2ai2
+gra2n2
+5gra4ph.
+g5ra3ph4er
+5graph1ic
+gr4aphi
+4g3ra1phy
+4gray
+gre4n
+4gress.
+gr2e2ss
+4grit
+g4ro
+gruf4
+gs2
+g5ste
+gth3
+gu4a
+3guar2d
+gu2a2r
+2gue
+5gui5t
+g2ui2
+3gun
+3g2us
+4gu4t
+g3w
+1gy
+2g5y3n
+gy5ra
+h3ab4l2
+ha2ch4
+hae4m
+hae4t
+h5agu
+ha3la
+hala3m
+ha4m
+han4ci
+ha2n
+han4cy
+5hand.
+h4and
+h2an4g
+hang5er
+han1g5o
+h5a5niz
+ha4n4k2
+han4te
+han1t
+ha2p3l2
+ha2p5t
+ha3ra2n
+h2a2r
+ha5r2as
+har2d
+hard3e
+har4le4
+har1l
+harp5en
+har2p
+har5ter
+ha2s5s
+haun4
+5haz
+haz3a1
+h1b
+1hea2d1
+3he2a2r
+he4ca2n
+he1ca
+h5ecat
+h4ed
+h4e5do5
+he3l4i
+hel4lis
+hel1l
+hell2i
+hel4ly
+h5elo
+he4m4p
+he2n
+he1na4
+hen5at
+he1o5r
+hep5
+h4er1a
+hera3p
+her4ba
+h2er1b
+here5a
+h3ern
+h5er1ou2
+h2ero
+h3ery
+h1es
+he2s5p
+he4t
+he2t4ed
+h4eu4
+h1f
+h1h
+hi5a2n
+h2i1a
+hi4co
+high5
+h2ig
+h4il2
+himer4
+h4i1na
+hion4e
+h2io
+hio2n
+h2i4p
+hir4l
+h4ir
+hi3ro
+hir4p
+hir4r4
+his3el
+h4ise
+h4i2s4s
+hith5er
+h2ith
+hith2e
+h2i2v
+4hk
+4h1l4
+hla2n4
+h2lo
+hlo3ri
+4h1m
+hmet4
+2h1n
+h5odiz
+h5o2d1s2
+ho4g
+ho1ge4
+hol5a2r
+ho1la
+3hol4e
+ho4ma
+ho2me3
+ho1n4a
+ho2n
+ho5ny
+3hood
+hoo2
+hoo2n4
+hor5at
+ho1ra
+ho5r2is
+hort3e
+ho5ru
+hos4e
+ho5sen
+hos1p
+1ho2us
+hou2
+house3
+hov5el
+4h5p
+4hr4
+hree5
+hro5niz
+hro2n
+hro3po
+4h1s2
+h4s2h
+h4t2a2r
+h1ta
+ht1en
+ht5es
+h4ty
+hu4g
+hu4min
+hu1mi
+hun5ke
+hu4nk2
+hun4t
+hus3t4
+h2us
+hu4t
+h1w
+h4war4t
+hw2a2r
+hy3pe
+hy3ph
+hy2s
+2i1a
+i2al
+iam4
+iam5e1te
+i2a2n
+4ianc
+ian3i
+4ian4t
+ia5pe
+ia2ss4
+i4a1t2iv
+ia4tric
+ia1tr
+i4a2tu
+ibe4
+ib3er1a
+ib5ert
+ib5i1a
+ib3in
+ib5it.
+ibi2t
+ib5ite
+i1b2l2
+ib3li
+i5bo
+i1br
+i2b5ri
+i5bu4n
+4icam
+i1ca
+5icap
+4ic2a2r
+i4car.
+i4cara
+icas5
+i4cay
+iccu4
+ic3c
+4iceo
+4i2ch
+2i1ci
+i5c2id
+ic5i1na
+i2cin
+i2c2ip
+ic3i1pa
+i4c1ly4
+i1c4l4
+i2c5oc
+i1co
+4i1cr
+5icra
+i4cry
+ic4te
+i2c1t
+ic1tu2
+ic4t3u1a
+ic3u1la
+ic4um
+ic5uo
+i3cur
+2id
+i4dai2
+i1d2a
+id5anc
+ida2n
+id5d4
+ide3a4l
+ide4s2
+i2di
+id5i2a2n
+i1d4i3a
+idi4a2r
+i5d2ie4
+i1d3io
+idi5ou2
+id1it
+id5i1u
+i3dle
+i4dom
+i1do
+id3ow
+i4dr
+i2du
+id5uo
+2ie4
+ied4e
+5ie5ga
+ie2ld3
+ie1n5a4
+ien4e
+i5e4n1n2
+i3ent2i
+ien1t
+i1er.
+i3es2c
+i1est
+i3et
+4if.
+if5ero
+ifer1
+iff5en
+i4f1f
+if4fr
+4i2f3ic.
+i1fi
+i3f2ie4
+i3f4l2
+4i2ft
+2ig
+iga5b
+i1ga
+ig3er1a
+ight3i
+4igi
+i3gib
+ig3il4
+ig3in
+ig3it
+i4g4l2
+i2go
+ig3or
+ig5ot
+i5gre
+i1gr
+ig2u5i2
+ig1ur
+i3h
+4i5i4
+i3j
+4ik
+i1la
+il3a4b
+i4l4ade
+ila2d
+i2l5am
+ila5ra
+il2a2r
+i3leg
+il1er
+ilev4
+i2l5f
+il1i
+il3i1a
+il2ib
+il3io
+il4ist
+2il1it
+il2iz
+ill5ab
+il1l
+4i2l1n2
+il3o1q
+il4ty
+i4lt
+il5ur
+il3v
+i4mag
+i1ma
+im3age
+ima5ry
+im2a2r
+iment2a5r
+i1men
+i3men1t
+imen1ta
+4imet
+im1i
+im5i1d4a
+im2id
+imi5le
+i5m2ini
+4imit
+im4ni
+i4m1n
+i3mo2n
+i1mo
+i2mu
+im3u1la
+2in.
+i4n3au
+i1na
+4inav
+incel4
+in3cer
+4ind
+in5dling
+2ine
+i3nee
+in4er4a2r
+in1er
+iner1a
+i5n2e2ss
+i1nes
+4in1ga
+4inge
+in5gen
+4ingi
+in5gling
+ingl2
+4in1go
+4in1gu
+2ini
+i5ni.
+i4n4i1a
+in3i4o
+in1is
+i5ni4te.
+in2it
+in2ite
+5i3n2i1t2io
+ini1ti
+in3i1ty
+4i4nk2
+4i4n1l
+2i4n1n2
+2i1no
+i4no4c
+ino4s
+i4not
+2i2n1s2
+in3se
+insu1r5a
+in1su
+insu2r
+2int.
+in1t
+2in4th
+in1u
+i5n2us
+4iny
+2io
+4io.
+io1ge4
+io2gr
+i1ol
+io4m
+ion3at
+io2n
+io1n1a
+ion4ery
+ion1er
+ion3i
+i2o5ph
+ior3i
+i4os
+i4o5th
+i5oti
+io4to
+i4our
+iou2
+2ip
+ipe4
+iphr2as4
+ip4hr4
+ip3i
+ip4ic
+ip4re4
+ipr2
+ip3ul
+i3qua
+iqu2
+iq5ue1f
+iq3u2id
+iq2ui2
+iq3ui3t
+4ir
+i1ra
+i2ra4b
+i4rac
+ird5e
+ire4de
+i2r2ed
+i4re1f
+i4rel4
+i4res
+ir5gi
+irg2
+ir1i
+iri5de
+ir2id
+ir4is
+iri3tu
+5i5r2iz
+ir4min
+ir1m
+iro4g
+5iron.
+iro2n
+ir5ul
+2is.
+is5ag
+isa2
+is3a2r
+isas5
+2is1c
+is3ch2
+4ise
+is3er
+3i4s3f
+is5ha2n
+is2h
+is3ho2n3
+isho4
+ish5op
+is3i1b
+is2i4d
+i5sis
+is5i1t2iv
+isi1ti
+4is4k2
+isla2n4
+is1l2
+4is4m1s2
+i2s1m
+i2so
+iso5mer
+i3som
+iso2me
+is1p
+is2pi
+is4py
+4i2s1s
+is4sal
+is1sa2
+issen4
+is4s1e4s
+is4ta.
+is1ta
+is1te
+is1t2i
+ist4ly
+is2tl
+4istral
+ist4r
+is1tra
+i2su
+is5us
+4i3ta.
+i1ta
+ita4bi
+i2tab
+i4tag
+4ita5m
+i3ta2n
+i3tat
+2ite
+it3er1a
+i5ter1i
+it4es
+2ith
+i1ti
+4i1t2i1a
+4i2tic
+it3i1ca
+5i5tick1
+i2t3ig
+it5il1l
+i2tim
+2i1t2io
+4itis
+i4ti2s4m
+i2t5o5m
+i1to
+4ito2n
+i4tram
+i1tra
+it5ry
+4i4t3t2
+it3u1at
+i1tu
+itu1a
+i5tud2
+it3ul
+4itz.
+i4tz
+i1u
+2iv
+iv3el1l
+iv3en.
+i4v3er.
+i4vers.
+ive4r1s2
+iv5il.
+i2vil
+iv5io
+iv1it
+i5vore
+iv3o3ro
+i4v3ot
+4i5w
+ix4o
+4iy
+4iz2a2r2
+iza1
+i2z1i4
+5izon1t
+i1zo
+izo2n
+5ja
+jac4q
+ja4p
+1je
+je4r5s2
+4jes4t2ie4
+jest2i
+4jes2ty
+jew3
+jo4p
+5judg
+3ka.
+k3ab
+k5ag
+kais4
+kai2
+kal4
+k1b
+k2ed
+1kee
+ke4g
+ke5l2i
+k3en4d
+k1er
+kes4
+k3e2st.
+ke4ty
+k3f
+kh4
+k1i
+5ki.
+5k2ic
+k4il1l
+kilo5
+k4im
+k4in.
+kin4de
+k4ind
+k5i5n2e2ss
+k2ine
+ki1nes
+kin4g
+k2i4p
+kis4
+k5is2h
+kk4
+k1l
+4k3ley
+4k1ly
+k1m
+k5nes
+1k2no
+ko5r
+kos2h4
+k3ou2
+kro5n
+4k1s2
+k4sc
+ks4l2
+k4s4y
+k5t
+k1w
+lab3ic
+l4abo
+l4a2ci4
+l4ade
+la2d
+la3d2y
+lag4n
+la2m3o
+3l4and
+la2n
+lan4dl
+lan5et
+lan4te
+lan1t
+lar4g2
+l2a2r
+lar3i
+las4e
+la5ta2n
+la2ta
+4latel2i4
+4la1t2iv
+4lav
+la4v4a
+2l1b
+lbin4
+4l1c2
+lce4
+l3ci
+2ld
+l2de
+ld4ere
+ld4er1i
+ldi4
+ld5is1
+l3dr
+l4dri
+le2a
+le4bi
+l2e1b
+le2ft5
+le1f
+5leg.
+5le4g1g2
+le4mat
+le1ma
+lem5at1ic
+4len.
+3lenc
+5le2ne.
+1len1t
+le3ph
+le4pr2
+le2ra5b
+ler1a
+ler4e
+3lerg2
+3l4er1i
+l4ero
+les2
+le5s1co
+les2c
+5lesq
+3l2e2ss
+5less.
+l3e1va
+lev4er.
+lev1er
+lev4er1a
+lev4e4r1s2
+3ley
+4leye
+2lf
+l5fr
+4l1g4
+l5ga
+lg2a2r3
+l4ges
+l1go3
+2l3h
+li4ag
+l2i1a
+li2am4
+liar5iz
+li2a2r
+liar1i
+li4as
+li4a1to
+li5bi
+5lic2io
+l2i1ci
+li4cor
+li1co
+4li4c3s2
+4lict.
+li2c1t
+l4icu
+l3i1cy
+l3i1d2a
+l2id
+lid5er
+3li2di
+lif3er1
+l4i4f1f
+li4f4l2
+5ligate
+l2ig
+li1ga
+3ligh
+li4gra
+li1gr
+3l4ik
+4l4i4l
+lim4b2l2
+li4m1b
+lim3i
+li4mo
+l4i4m4p
+l4i1na
+1l4ine
+lin3ea
+l2in3i
+link5er
+l4i4nk2
+li5og
+l2io
+4l4iq
+lis4p
+l1it
+l2it.
+5lit3i1ca
+li1ti
+l4i2tic
+l5i5ti4c3s2
+liv3er
+l2iv
+l1iz
+4lj
+lka3
+l3kal4
+lka4t
+l1l
+l4law
+l2le
+l5le2a
+l3lec
+l3leg
+l3lel
+l3le4n
+l3le4t
+ll2i
+l2lin4
+l5l4i1na
+ll4o
+lloq2ui5
+llo1q
+lloqu2
+l2l5out
+llou2
+l5low
+2lm
+l5met
+lm3ing
+l4mo2d1
+l1mo
+lmo2n4
+2l1n2
+3lo.
+lob5al
+lo4ci
+4lof
+3log1ic
+l5o1go
+3logu
+lom3er
+lo2me
+5long
+lo2n
+lon4i
+l3o3niz
+lood5
+loo2
+5lo4pe.
+lop3i
+l3o4p1m
+lo1ra4
+lo4ra1to
+lo5r2ie4
+lor5ou2
+5los.
+los5et
+5los5o3phiz
+lo2so
+los4op
+los2oph
+5los5o1phy
+los4t
+lo4ta
+loun5d
+lou2
+2lout
+4lov
+2lp
+lpa5b
+l1pa
+l3pha
+l5phi
+lp5ing
+lpi2n
+l3pit
+l4p2l2
+l5pr2
+4l1r
+2l1s2
+l4sc
+l2se
+l4s2ie4
+4lt
+lt5ag
+l1ta
+ltane5
+lta2n
+l1te
+lten4
+lter1a4
+lth3i
+l5ties.
+lt2ie4
+ltis4
+l1tr
+l1tu2
+ltu1r3a
+lu5a
+lu3br
+lu2ch4
+lu3ci
+lu3en
+luf4
+lu5id
+l2ui2
+lu4ma
+5lu1mi
+l5umn.
+lu4m1n
+5lum3n4i1a
+lu3o
+luo3r
+4lup
+lu2ss4
+l2us
+lus3te
+1lut
+l5ven
+l5vet4
+2l1w
+1ly
+4lya
+4ly1b
+ly5me4
+ly3no
+2lys4
+l5y3s2e
+1ma
+2mab
+ma2ca
+ma5ch2ine
+ma2ch
+ma4ch1in
+ma4c4l4
+mag5in
+mag1i
+5mag1n
+2mah
+ma2id5
+mai2
+4ma2ld
+ma3l2ig
+mal1i
+ma5lin
+mal4l2i
+mal1l
+mal4ty
+ma4lt
+5ma3n4i1a
+ma2n
+man5is
+man3iz
+4map
+ma5ri2ne.
+m2a2r
+mar1i
+mar2in4e
+ma5r2iz
+mar4ly
+mar1l
+mar3v
+ma5sce
+mas4e
+mas1t
+5mate
+m4ath3
+ma3tis
+4mati3za1
+ma1tiz
+4m1b
+m1ba4t5
+m5bil
+m4b3ing
+mb2i4v
+4m5c
+4me.
+2med
+4med.
+5me3d4i3a
+m4edi
+me3d2ie4
+m5e5d2y
+me2g
+mel5o2n
+me4l4t
+me2m
+me1m1o3
+1men
+me1n4a
+men5ac
+men4de
+4mene
+men4i
+me2n1s4
+men1su5
+3men1t
+men4te
+me5o2n
+m5er1sa2
+me4r1s2
+2mes
+3mest2i
+me4ta
+met3a2l
+me1te
+me5thi
+m4etr
+5met3ric
+me5tr2ie4
+me3try
+me4v
+4m1f
+2mh
+5mi.
+m2i3a
+mi1d4a
+m2id
+mid4g
+m2ig4
+3mil3i1a
+mil1i
+m5i5l2ie4
+m4il1l
+mi1n4a
+3m4ind
+m5i3nee
+m2ine
+m4ingl2
+min5gli
+m5ing1ly
+min4t
+m4in1u
+miot4
+m2io
+m2is
+mi4s4er.
+m4ise
+mis3er
+mis5l2
+mis4t2i
+m5i4stry
+mist4r
+4m2ith
+m2iz
+4mk
+4m1l
+m1m
+mma5ry
+m1ma
+mm2a2r
+4m1n
+m1n4a
+m4n1in
+mn4o
+1mo
+4mocr
+5moc5ra1tiz
+mo2d1
+mo4go
+mois2
+moi2
+mo4i5se
+4m2ok
+mo5lest
+moles2
+mo3me
+mon5et
+mo2n
+mon5ge
+mo3n4i3a
+mon4i2s1m
+mon1is
+mon4ist
+mo3niz
+monol4
+mo3ny.
+mo2r
+4mo5ra.
+mo1ra
+mos2
+mo5sey
+mo3sp
+m4oth3
+m5ouf
+mou2
+3mo2us
+mo2v
+4m1p
+mpara5
+m1pa
+mp2a2r
+mpa5rab
+mp4a4r5i
+m3pe2t
+mphas4
+m2pi
+mp2i4a
+mp5ies
+mp2ie4
+m4p1i2n
+m5p4ir
+mp5is
+mpo3ri
+m1p4or
+mpos5ite
+m1pos
+m4po2us
+mpou2
+mpov5
+mp4tr
+m2p1t
+m2py
+4m3r
+4m1s2
+m4s2h
+m5si
+4mt
+1mu
+mul2a5r4
+mu1la
+5mu4lt
+mul1ti3
+3mum
+mun2
+4mup
+mu4u
+4mw
+1na
+2n1a2b
+n4abu
+4nac.
+na4ca
+n5a2c1t
+nag5er.
+nak4
+na4l1i
+na5l2i1a
+4na4lt
+na5mit
+n2a2n
+nan1ci4
+nan4it
+na4nk4
+nar3c
+n2a2r
+4nare
+nar3i
+nar4l
+n5ar1m
+n4as
+nas4c
+nas5t2i
+n2at
+na3ta2l
+na2ta
+nat5o5m2iz
+na2tom
+na1to
+n2au
+nau3se
+na2us
+3naut
+nav4e
+4n1b4
+nc2a2r5
+n1ca
+n4ces.
+n3cha
+n2ch
+n5cheo
+nche2
+n5ch4il2
+n3chis
+n2c1in
+n1ci
+n2c4it
+ncou1r5a
+n1co
+ncou2
+n1cr
+n1cu
+n4dai2
+n1d2a
+n5da2n
+n1de
+nd5e2st.
+ndes2
+ndi4b
+n5d2if
+n1dit
+n3diz
+n5du2c
+n1du
+ndu4r
+nd2we
+nd1w
+2ne.
+n3e2a2r
+n2e2b
+neb3u
+ne2c
+5neck1
+2ned
+ne4gat
+ne1ga
+ne4g5a1t2iv
+5nege
+ne4la
+nel5iz
+nel2i
+ne5mi
+ne4mo
+1nen
+4nene
+3neo
+ne4po
+ne2q
+n1er
+ne2ra5b
+ner1a
+n4er3a2r
+n2ere
+n4er5i
+ner4r4
+1nes
+2nes.
+4ne1sp
+2nest
+4nes4w2
+3net1ic
+ne4v
+n5eve
+ne4w
+n3f
+n4gab
+n1ga
+n3gel
+nge4n4e
+n1gen
+n5gere
+n3ger1i
+ng5ha
+n3gib
+ng1in
+n5git
+n4gla4
+ngl2
+ngov4
+n1go
+ng5s2h
+ngs2
+n1gu
+n4gum
+n2gy
+4n1h4
+nha4
+nhab3
+nhe4
+3n4i1a
+ni3a2n
+ni4ap
+ni3ba
+ni4b2l2
+n2i4d
+ni5di
+ni4er
+n2ie4
+ni2fi
+ni5ficat
+nifi1ca
+n5i1gr
+n2ig
+n4ik4
+n1im
+ni3m2iz
+nim1i
+n1in
+5ni2ne.
+n2ine
+nin4g
+n2i4o
+5n2is.
+nis4ta
+n2it
+n4ith
+3n2i1t2io
+ni1ti
+n3itor
+ni1to
+ni3tr
+n1j
+4nk2
+n5k2ero
+nk1er
+n3ket
+nk3in
+nk1i
+n1k1l
+4n1l
+n5m
+nme4
+nmet4
+4n1n2
+nne4
+nni3al
+n3n4i1a
+nn2i4v
+nob4l2
+no3ble
+n5o1c4l4
+4n3o2d
+3noe
+4nog
+no1ge4
+nois5i
+noi2
+no5l4i
+5nol1o1gis
+3nomic
+n5o5m2iz
+no4mo
+no3my
+no4n
+non4ag
+no1n1a
+non5i
+n5oniz
+4nop
+5nop5o5l2i
+no2r5ab
+no1ra
+no4rary
+nor2a2r
+4nos2c
+nos4e
+nos5t
+no5ta
+1nou2
+3noun
+nov3el3
+nowl3
+n1p4
+npi4
+npre4c
+npr2
+n1q
+n1r
+nru4
+2n1s2
+n2s5ab
+nsa2
+nsati4
+ns4c
+n2se
+n4s3e4s
+ns2id1
+ns2ig4
+n2s1l2
+n2s3m
+n4soc
+n1so
+ns4pe
+n5spi
+nsta5b2l2
+ns1ta
+ns2tab
+n1t
+n2ta4b
+n1ta
+nte4r3s2
+nt2i
+n5ti2b
+nti4er
+nt2ie4
+nti2f2
+n3t2ine
+n2t1in
+n4t3ing
+nt2i4p
+ntrol5l2i
+ntrol1l
+n4t4s2
+ntu3me
+n1tu
+n3tum
+nu1a
+nu4d
+nu5en
+nuf4fe
+nu4f1f
+n3ui4n
+n2ui2
+3nu3it
+n4um
+nu1me
+n5u1mi
+3nu4n
+n3uo
+nu3tr
+n1v2
+n1w4
+nym4
+nyp4
+4nz
+n3za1
+4oa
+oa2d3
+o5a5les2
+o2ale
+oard3
+o2a2r
+oas4e
+oast5e
+oat5i
+ob3a3b
+o5b2a2r
+o1be4l
+o1bi
+o2bin
+ob5ing
+o3br
+ob3ul
+o1ce
+o2ch4
+o3che4t
+oche2
+ocif3
+o1ci
+o4cil
+o4clam
+o1c4l4
+o4cod
+o1co
+oc3rac
+oc5ra1tiz
+ocre3
+5ocrit
+ocri2
+octo2r5a
+o2c1t
+oc1to
+oc3u1la
+o5cure
+od5d1ed
+od1d4
+od3ic
+o1d2i3o
+o2do4
+od4or3
+o4d5uct.
+o1du
+odu2c
+odu2c1t
+o4d5uc4t1s2
+o4el
+o5eng
+o3er
+oe4ta
+o3ev
+o2fi
+of5ite
+of4i4t4t2
+o2g5a5r
+o1ga
+o4g5a1t2iv
+o4ga1to
+o1ge
+o5gene
+o1gen
+o5geo
+o4ger
+o3g2ie4
+1o1gis
+og3it
+o4gl2
+o5g2ly
+3ogniz
+og1ni
+o4g4ro
+o1gr
+og2u5i2
+1o1gy
+2o2g5y3n
+o1h2
+ohab5
+oi2
+oic3es
+oi3der
+o2id
+oi4f1f4
+o2ig4
+oi5let
+o3ing
+oint5er
+oin1t
+o5i2s1m
+oi5so2n
+oi2so
+oist5en
+ois1te
+oi3ter
+o2ite
+o5j
+2ok
+o3ken
+ok5ie4
+ok1i
+o1la
+o4la2n
+ola2ss4
+o2l2d
+ol2d1e
+ol3er
+o3les2c
+oles2
+o3let
+ol4fi
+o2lf
+ol2i
+o3l2i1a
+o3lice
+ol5id.
+ol2id
+o3li4f
+o5l4i4l
+ol3ing
+o5l2io
+o5l2is.
+ol3is2h
+o5l2ite
+ol1it
+o5l2i1t2io
+oli1ti
+o5l2iv
+oll2i4e4
+ol1l
+oll2i
+ol5o3giz
+olo4r
+ol5p2l2
+o2lp
+o4l2t
+ol3ub
+ol3ume
+ol3un
+o5l2us
+ol2v
+o2ly
+o2m5ah
+o1ma
+oma5l
+om5a1tiz
+om2be
+o4m1b
+om4b2l2
+o2me
+om3e1n4a
+o1men
+om5er2se
+ome4r1s2
+o4met
+om5e3try
+om4etr
+o3m2i3a
+om3ic.
+om3i1ca
+o5m2id
+om1in
+o5m2ini
+5ommend
+om1m
+om1men
+omo4ge
+o1mo
+o4mo2n
+om3pi
+o4m1p
+ompro5
+ompr2
+o2n
+o1n1a
+on4ac
+o3n2a2n
+on1c
+3oncil
+on1ci
+2ond
+on5do
+o3nen
+o2n5est
+o1nes
+on4gu
+on1ic
+o3n2i4o
+on1is
+o5ni1u
+on3key
+o4nk2
+on4odi
+o4n3o2d
+on3o3my
+o2n3s2
+on5spi4
+onspi1r5a
+onsp4ir
+on1su4
+onten4
+on1t
+on3t4i
+onti2f5
+on5um
+on1va5
+on1v2
+oo2
+ood5e
+ood5i
+o2o4k
+oop3i
+o3ord
+oost5
+o2pa
+o2p2e5d
+op1er
+3oper1a
+4op4erag
+2oph
+o5pha2n
+o5ph4er
+op3ing
+opi2n
+o3pit
+o5po2n
+o4posi
+o1pos
+o1pr2
+op1u
+opy5
+o1q
+o1ra
+o5ra.
+o4r3ag
+or5al1iz
+oral1i
+or5an4ge
+ora2n
+or2ang
+ore5a
+o5re1a4l
+or3ei2
+or4e5s2h
+or5e2st.
+ores2t
+orew4
+or4gu
+org2
+4o5r2i3a
+or3i1ca
+o5ril
+or1in
+o1r2i1o
+or3i1ty
+o3ri1u
+or2mi
+or1m
+orn2e
+o5rof
+or3oug
+orou2
+or5pe
+or1p
+3orrh4
+or1r4
+or4se
+o4rs2
+ors5en
+orst4
+or3thi
+or3thy
+or4ty
+o5rum
+o1ry
+os3al
+osa2
+os2c
+os4ce
+o3scop
+os1co
+4oscopi
+o5scr
+os4i4e4
+os5i1t2iv
+osi1ti
+os3i1to
+os3i1ty
+o5si4u
+os4l2
+o2so
+o2s4pa
+os4po
+os2ta
+o5stati
+os5til
+ost2i
+os5tit
+o4ta2n
+o1ta
+otele4g
+ot3er.
+ot5e4r1s2
+o4tes
+4oth
+oth5e1si
+oth2e
+oth1es
+oth3i4
+ot3ic.
+ot5i1ca
+o3tice
+o3tif2
+o3tis
+oto5s2
+o1to
+ou2
+ou3b2l2
+ouch5i
+ou2ch
+ou5et
+ou4l
+ounc5er
+oun2d
+ou5v2
+ov4en
+over4ne
+ove4r3s2
+ov4ert
+o3vis
+o4vi1ti4
+o5v4ol
+ow3der
+ow3el
+ow5est3
+ow1i2
+own5i
+o4wo2
+oy1a
+1pa
+pa4ca
+pa4ce
+pa2c4t
+p4a2d
+5paga4n
+pa1ga
+p3agat
+p4ai2
+pa4i4n4
+p4al
+pa1n4a
+pa2n
+pan3el
+pan4ty
+pan1t
+pa3ny
+pa1p
+pa4pu
+para5b2l2
+p2a2r
+pa2rab
+par5age
+par5d2i
+3pare
+par5el
+p4a4r1i
+par4is
+pa2te
+pa5ter
+5pathic
+p4ath
+pa5thy
+pa4tric
+pa1tr
+pav4
+3pay
+4p1b
+pd4
+4pe.
+3pe4a
+pear4l
+pe2a2r
+pe2c
+2p2ed
+3pede
+3p4edi
+pe3d4i3a4
+ped4ic
+p4ee
+pee4d
+pek4
+pe4la
+pel2i4e4
+pel2i
+pe4n2a2n
+pe1na
+p4enc
+pen4th
+pen1t
+pe5o2n
+p4era.
+per1a
+pera5b2l2
+pe2ra4b
+p4erag
+p4er1i
+peri5st
+per2is
+per4mal
+per3m4
+per1ma
+per2me5
+p4ern
+p2er3o
+per3ti
+p4e5ru
+per1v
+pe2t
+pe5ten
+pe5tiz
+4pf
+4pg
+4ph.
+phar5i
+ph2a2r
+ph4e3no
+phe2n
+ph4er
+ph4es.
+ph1es
+ph1ic
+5ph2ie4
+ph5ing
+5phis1t2i
+3phiz
+p4h2l4
+3phob
+3phone
+pho2n
+5phoni
+pho4r
+4p4h1s2
+ph3t
+5phu
+1phy
+p2i3a
+pi2a2n4
+pi4c2ie4
+p2i1ci
+pi4cy
+p4id
+p5i1d2a
+pi3de
+5pi2di
+3piec
+p2ie4
+pi3en
+pi4grap
+p2ig
+pi1gr
+pi3lo
+pi2n
+p4in.
+p4ind4
+p4i1no
+3p2i1o
+pio2n4
+p3ith
+pi5tha
+pi2tu
+2p3k2
+1p2l2
+3pla2n
+plas5t
+pl2i3a
+pli5er
+pl2ie4
+4pl2ig
+pli4n
+ploi4
+plu4m
+plu4m4b
+4p1m
+2p3n
+po4c
+5pod.
+po5em
+po3et5
+5po4g
+poin2
+poi2
+5poin1t
+poly5t
+po2ly
+po4ni
+po2n
+po4p
+1p4or
+po4ry
+1pos
+po2s1s
+p4ot
+po4ta
+5poun
+pou2
+4p1p
+ppa5ra
+p1pa
+pp2a2r
+p2pe
+p4p2ed
+p5pel
+p3pen
+p3per
+p3pe2t
+ppo5s2ite
+p1pos
+pr2
+pray4e4
+5pre1c2i
+pre5co
+pre3e2m
+pre4f5ac
+pre1f
+pre1fa
+pre4la
+pr1e3r4
+p3re1s2e
+3pr2e2ss
+pre5ten
+pre3v2
+5pr2i4e4
+prin4t3
+pr2i4s
+pri2s3o
+p3ro1ca
+pr2oc
+prof5it
+pro2fi
+pro3l
+pros3e
+pro1t
+2p1s2
+p2se
+ps4h
+p4si1b
+2p1t
+p2t5a4b
+p1ta
+p2te
+p2th
+p1ti3m
+ptu4r
+p1tu
+p4tw4
+pub3
+pue4
+puf4
+pu4l3c2
+pu4m
+pu2n
+pur4r4
+5p2us
+pu2t
+5pute
+put3er
+pu3tr
+put4t1ed
+pu4t3t2
+put4t1in
+p3w
+qu2
+qua5v4
+2que.
+3quer
+3quet
+2rab
+ra3bi
+rach4e2
+ra2ch
+r5a1c4l4
+raf5fi
+ra2f
+ra4f1f4
+ra2f4t
+r2ai2
+ra4lo
+ram3et
+r2ami
+ra3ne5o
+ra2n
+ran4ge
+r2ang
+r4ani
+ra5no4
+rap3er
+3ra1phy
+rar5c
+r2a2r
+rare4
+rar5e1f
+4raril
+rar1i
+r2as
+ratio2n4
+ra1t2io
+rau4t
+ra5vai2
+ra2va
+rav3el
+ra5z2ie4
+ra2z1i
+r1b
+r4bab
+r4bag
+rbi2
+r2b3i4f
+r2bin
+r5b2ine
+rb5ing.
+rb4o
+r1c
+r2ce
+r1cen4
+r3cha
+r2ch
+rch4er
+rche2
+r4ci4b
+r1ci
+r2c4it
+rcum3
+r4dal
+r1d2a
+rd2i
+r1d4i4a
+rdi4er
+rd2ie4
+rd1in4
+rd3ing
+2re.
+re1a4l
+re3a2n
+re5ar1r4
+re2a2r
+5rea2v
+re4aw
+r5ebrat
+r2e1b
+re3br
+rec5ol1l
+re2col
+re1co
+re4c5ompe
+reco4m1p
+re4cre
+re1cr
+2r2ed
+re1de
+re3dis1
+r4edi
+red5it
+re4fac
+re1f
+re1fa
+re2fe
+re5fer.
+refer1
+re3fi
+re4fy
+reg3is
+re5it
+rei2
+re1l2i
+re5lu
+r4en4ta
+ren1t
+ren4te
+re1o
+re5pi2n
+re4posi
+re1po
+re1pos
+re1pu
+r1er4
+r4er1i
+r2ero4
+r4e5ru
+r4es.
+re4spi
+re1sp
+res4s5i4b
+r2e2ss
+res1si
+res2t
+re5s2ta2l
+res1ta
+r2e3st4r
+re4ter
+re4ti4z
+re3tri
+r4eu2
+re5u1t2i
+rev2
+re4val
+re1va
+rev3el
+r5ev5er.
+rev1er
+re5ve4r1s2
+re5vert
+re5vi4l
+re1vi
+rev5olu
+re4wh
+r1f
+r3fu4
+r4fy
+rg2
+rg3er
+r3get
+r3g1ic
+rgi4n
+rg3ing
+r5gis
+r5git
+r1gl2
+rgo4n2
+r1go
+r3gu
+rh4
+4rh.
+4rhal
+r2i3a
+ria4b
+ri4ag
+r4ib
+rib3a
+ric5as5
+ri1ca
+r4ice
+4r2i1ci
+5ri5c2id
+ri4c2ie4
+r4i1co
+rid5er
+r2id
+ri3enc
+r2ie4
+ri3en1t
+ri1er
+ri5et
+rig5a2n
+r2ig
+ri1ga
+5r4igi
+ril3iz
+ril1i
+5rima2n
+ri1ma
+rim5i
+3ri1mo
+rim4pe
+ri4m1p
+r2i1na
+5rina.
+r4in4d
+r2in4e
+rin4g
+r2i1o
+5riph
+r2ip
+riph5e
+ri2p2l2
+rip5lic
+r4iq
+r2is
+r4is.
+r2is4c
+r3is2h
+ris4p
+ri3ta3b
+ri1ta
+r5ited.
+r2ite
+ri2t1ed
+rit5er.
+rit5e4r1s2
+r4i2t3ic
+ri1ti
+ri2tu
+rit5ur
+riv5el
+r2iv
+riv3et
+riv3i
+r3j
+r3ket
+rk4le
+rk1l
+rk4lin
+r1l
+rle4
+r2led
+r4l2ig
+r4lis
+rl5is2h
+r3lo4
+r1m
+rma5c
+r1ma
+r2me
+r3men
+rm5e4r1s2
+rm3ing
+r4ming.
+r4m2io
+r3mit
+r4my
+r4n2a2r
+r1na
+r3nel
+r4n1er
+r5net
+r3ney
+r5nic
+r1nis4
+r3n2it
+r3n2iv
+rno4
+r4nou2
+r3nu
+rob3l2
+r2oc
+ro3cr
+ro4e
+ro1fe
+ro5fil
+ro2fi
+r2ok2
+ro5k1er
+5role.
+rom5e1te
+ro2me
+ro4met
+rom4i
+ro4m4p
+ron4al
+ro2n
+ro1n1a
+ron4e
+ro5n4is
+ron4ta
+ron1t
+1room
+roo2
+5root
+ro3pel
+rop3ic
+ror3i
+ro5ro
+ro2s5per
+ro2s4s
+ro4th2e
+r4oth
+ro4ty
+ro4va
+rov5el
+rox5
+r1p
+r4pe4a
+r5pen1t
+rp5er.
+r3pe2t
+rp4h4
+rp3ing
+rpi2n
+r3po
+r1r4
+rre4c
+rre4f
+r4re1o
+rre4s2t
+rr2i4o
+rr2i4v
+rro2n4
+rros4
+rrys4
+4rs2
+r1sa2
+rsa5ti
+rs4c
+r2se
+r3sec
+rse4cr
+r4s5er.
+rs3e4s
+r5se5v2
+r1s2h
+r5sha
+r1si
+r4si4b
+rso2n3
+r1so
+r1sp
+r5sw2
+rta2ch4
+r1ta
+r4tag
+r3t2e1b
+r3ten4d
+r1te5o
+r1ti
+r2t5i2b
+rt2i4d
+r4tier
+rt2ie4
+r3t2ig
+rtil3i
+rtil4l
+r4ti1ly
+r4tist
+r4t2iv
+r3tri
+rtr2oph4
+rt4s2h4
+r4t1s2
+ru3a
+ru3e4l
+ru3en
+ru4gl2
+ru3i4n
+r2ui2
+rum3p2l2
+ru4m2p
+ru2n
+ru4nk5
+run4ty
+run1t
+r5usc2
+r2us
+ru2t1i5n
+r4u1t2i
+rv4e
+rvel4i
+r3ven
+rv5er.
+r5vest
+rv4e2s
+r3vey
+r3vic
+r3v2i4v
+r3vo
+r1w
+ry4c
+5rynge
+ryn5g
+ry3t
+sa2
+2s1ab
+5sack1
+sac3ri2
+s3a2c1t
+5sai2
+sa4l2a2r4
+s4a2l4m
+sa5lo
+sa4l4t
+3sanc
+sa2n
+san4de
+s4and
+s1ap
+sa5ta
+5sa3t2io
+sa2t3u
+sau4
+sa5vor
+5saw
+4s5b
+scan4t5
+s1ca
+sca2n
+sca4p
+scav5
+s4ced
+4s3cei2
+s4ces
+s2ch2
+s4cho2
+3s4c2ie4
+s1ci
+5sc4in4d
+s2cin
+scle5
+s1c4l4
+s4cli
+scof4
+s1co
+4scopy5
+scou1r5a
+scou2
+s1cu
+4s5d
+4se.
+se4a
+seas4
+sea5w
+se2c3o
+3se2c1t
+4s4ed
+se4d4e
+s5edl
+se2g
+se1g3r
+5sei2
+se1le
+5se2l2f
+5selv
+4se1me
+se4mol
+se1mo
+sen5at
+se1na
+4senc
+sen4d
+s5e2ned
+sen5g
+s5en1in
+4sen4t1d
+sen1t
+4sen2tl
+se2p3a3
+4s1er.
+s4er1l
+s2er4o
+4ser3vo
+s1e4s
+s4e5s2h
+ses5t
+5se5um
+s4eu
+5sev
+sev3en
+sew4i2
+5sex
+4s3f
+2s3g
+s2h
+2sh.
+sh1er
+5shev
+sh1in
+sh3io
+3sh2i4p
+sh2i2v5
+sho4
+sh5o2l2d
+sho2n3
+shor4
+short5
+4sh1w
+si1b
+s5ic3c
+3si2de.
+s2id
+5side4s2
+5si2di
+si5diz
+4sig1n4a
+s2ig
+sil4e
+4si1ly
+2s1in
+s2i1na
+5si2ne.
+s2ine
+s3ing
+1s2io
+5sio2n
+sio1n5a
+s4i2r
+si1r5a
+1sis
+3s2i1t2io
+si1ti
+5si1u
+1s2iv
+5siz
+sk2
+4ske
+s3ket
+sk5ine
+sk1i
+sk5in4g
+s1l2
+s3lat
+s2le
+sl2ith5
+sl1it
+2s1m
+s3ma
+smal1l3
+sma2n3
+smel4
+s5men
+5s4m2ith
+smo2l5d4
+s1mo
+s1n4
+1so
+so4ce
+so2ft3
+so4lab
+so1la
+so2l3d2
+so3lic
+sol2i
+5sol2v
+3som
+3s4on.
+so2n
+so1n1a4
+son4g
+s4op
+5soph1ic
+s2oph
+s5o3phiz
+s5o1phy
+sor5c
+sor5d
+4sov
+so5vi
+2s1pa
+5sp4ai2
+spa4n
+spen4d
+2s5peo
+2sper
+s2phe
+3sph4er
+spho5
+spil4
+sp5ing
+spi2n
+4s3p2i1o
+s4p1ly
+s1p2l2
+s4po2n
+s1p4or4
+4sp4ot
+squal4l
+squ2
+s1r
+2ss
+s1sa2
+ssas3
+s2s5c
+s3sel
+s5sen5g
+s4ses.
+ss1e4s
+s5set
+s1si
+s4s2ie4
+ssi4er
+s4s5i1ly
+s4s1l2
+ss4li
+s4s1n4
+sspen4d4
+ss2t
+ssu1r5a
+s1su
+ssu2r
+ss5w2
+2st.
+s2tag
+s1ta
+s2ta2l
+stam4i
+5st4and
+sta2n
+s4ta4p
+5stat.
+s4t1ed
+stern5i
+s5t2ero
+ste2w
+ste1w5a
+s3th2e
+st2i
+s4ti.
+s5t2i1a
+s1tic
+5s4tick1
+s4t2ie4
+s3tif2
+st3ing
+s2t1in
+5st4ir
+s1tle
+s2tl
+5stock1
+s1to
+sto2m3a
+5stone
+sto2n
+s4top
+3store
+st4r
+s4tra2d
+s1tra
+5stra2tu
+s4tray
+s4tr2id
+4stry
+4st3w4
+s2ty
+1su
+su1al
+su4b3
+su2g3
+su5is
+s2ui2
+suit3
+s4ul
+su2m
+su1m3i
+su2n
+su2r
+4sv
+sw2
+4s1wo2
+s4y
+4sy1c
+3syl
+syn5o
+sy5rin
+1ta
+3ta.
+2tab
+ta5bles2
+tab2l2
+5tab5o5l1iz
+tabol2i
+4t4a2ci
+ta5do
+ta2d
+4ta2f4
+tai5lo
+tai2
+ta2l
+ta5la
+tal5en
+t2ale
+tal3i
+4talk
+tal4lis
+tal1l
+tall2i
+ta5log
+ta5mo
+tan4de
+ta2n
+t4and
+1tan1ta3
+tan1t
+ta5per
+ta5p2l2
+tar4a
+t2a2r
+4tar1c
+4tare
+ta3r2iz
+tar1i
+tas4e
+ta5s4y
+4tat1ic
+ta4tur
+ta2tu
+taun4
+tav4
+2taw
+tax4is
+tax3i
+2t1b
+4tc
+t4ch
+tch5e4t
+tche2
+4t1d
+4te.
+te2ad4i
+tea2d1
+4tea2t
+te1ce4
+5te2c1t
+2t1ed
+t4e5di
+1tee
+teg4
+te5ger4
+te5gi
+3tel.
+tel2i4
+5te2l1s2
+te2ma2
+tem3at
+3ten2a2n
+te1na
+3tenc
+3tend
+4te1nes
+1ten1t
+ten4tag
+ten1ta
+1teo
+te4p
+te5pe
+ter3c
+5ter3d
+1ter1i
+ter5ies
+ter2ie4
+ter3is
+teri5za1
+5t4er3n2it
+ter5v
+4tes.
+4t2e2ss
+t3ess.
+teth5e
+3t4eu
+3tex
+4tey
+2t1f
+4t1g
+2th.
+tha2n4
+th2e
+4thea
+th3eas
+the5a2t
+the3is
+thei2
+3the4t
+th5ic.
+th5i1ca
+4th4il2
+5th4i4nk2
+4t4h1l4
+th5ode
+5thod3ic
+4thoo2
+thor5it
+tho5riz
+2t4h1s2
+1t2i1a
+ti4ab
+ti4a1to
+2ti2b
+4tick1
+t4i1co
+t4ic1u
+5ti2di
+t2id
+3tien
+t2ie4
+tif2
+ti5fy
+2t2ig
+5tigu
+til2l5in4
+til1l
+till2i
+1tim
+4ti4m1p
+tim5ul
+ti2mu
+2t1in
+t2i1na
+3ti2ne.
+t2ine
+3t2ini
+1t2io
+ti5oc
+tion5ee
+tio2n
+5tiq
+ti3sa2
+3t4ise
+ti2s4m
+ti5so
+tis4p
+5tisti1ca
+tis1t2i
+tis1tic
+ti3tl
+ti4u
+1t2iv
+ti1v4a
+1tiz
+ti3za1
+ti3ze4n
+ti2ze
+2tl
+t5la
+tla2n4
+3tle.
+3tled
+3tles.
+tles2
+t5let.
+t5lo
+4t1m
+tme4
+2t1n2
+1to
+to3b
+to5crat
+4to2do4
+2tof
+to2gr
+to5ic
+toi2
+to2ma
+to4m4b
+to3my
+ton4a4l1i
+to2n
+to1n1a
+to3n2at
+4tono
+4tony
+to2ra
+to3r2ie4
+tor5iz
+tos2
+5tour
+tou2
+4tout
+to3w2a2r
+4t1p
+1tra
+t2ra3b
+tra5ch
+tr4a2ci4
+tra2c4it
+trac4te
+tra2c1t
+tr2as4
+tra5ven
+trav5e2s5
+tre5f
+tre4m
+trem5i
+5tr2i3a
+tri5ces
+tr4ice
+5tri3c2i1a
+t4r2i1ci
+4tri4c3s2
+2trim
+tr2i4v
+tro5m4i
+tron5i
+tro2n
+4trony
+tro5phe
+tr2oph
+tro3sp
+tro3v
+tr2u5i2
+tr2us4
+4t1s2
+t4sc
+ts2h4
+t4sw2
+4t3t2
+t4tes
+t5to
+t1tu4
+1tu
+tu1a
+tu3a2r
+tu4b4i
+tud2
+4tue
+4tuf4
+5t2u3i2
+3tum
+tu4nis
+tu1ni
+2t3up.
+3ture
+5turi
+tur3is
+tur5o
+tu5ry
+3t2us
+4tv
+tw4
+4t1wa
+twis4
+twi2
+4t1wo2
+1ty
+4tya
+2tyl
+type3
+ty5ph
+4tz
+t2z4e
+4uab
+uac4
+ua5na
+ua2n
+uan4i
+uar5an1t
+u2a2r
+uara2n
+uar2d
+uar3i
+uar3t
+u1at
+uav4
+ub4e
+u4bel
+u3ber
+u4b2ero
+u1b4i
+u4b5ing
+u3b4le.
+ub2l2
+u3ca
+uci4b
+u1ci
+u2c4it
+ucle3
+u1c4l4
+u3cr
+u3cu
+u4cy
+ud5d4
+ud3er
+ud5est
+udes2
+ude1v4
+u1dic
+ud3ied
+ud2ie4
+ud3ies
+ud5is1
+u5dit
+u4do2n
+u1do
+ud4si
+u2d1s2
+u4du
+u4ene
+ue2n1s4
+uen4te
+uen1t
+uer4il
+uer1i
+3u1fa
+u3f4l2
+ugh3e2n
+ug5in
+2ui2
+uil5iz
+uil1i
+ui4n
+u1ing
+uir4m
+u4ir
+ui1ta4
+u2iv3
+ui4v4er.
+u5j
+4uk
+u1la
+ula5b
+u5lati
+ul2ch4
+u4l1c2
+5ulche2
+ul3der
+u2ld
+ul2de
+ul4e
+u1len
+ul4gi
+u4l1g4
+ul2i
+u5l2i1a
+ul3ing
+ul5is2h
+ul4l2a2r
+ul1l
+ul4li4b
+ull2i
+ul4lis
+4u2l3m
+u1l4o
+4u2l1s2
+uls5e4s
+ul2se
+ul1ti
+u4lt
+ul1tra3
+ul1tr
+4ul1tu2
+u3lu
+ul5ul
+ul5v
+u2m5ab
+u1ma
+um4bi
+u4m1b
+um4b1ly
+umb2l2
+u1mi
+u4m3ing
+umor5o
+u1mo
+umo2r
+u4m2p
+un2at4
+u1na
+u2ne
+un4er
+u1ni
+un4im
+u2n1in
+un5is2h
+un2i3v
+u2n3s4
+un4sw2
+un2t3a4b
+un1t
+un1ta
+un4ter.
+un4tes
+unu4
+un5y
+u4n5z
+u4o4rs2
+u5os
+u1ou2
+u1pe
+upe4r5s2
+u5p2i3a
+up3ing
+upi2n
+u3p2l2
+u4p3p
+upport5
+up1p4or
+up2t5i2b
+u2p1t
+up1tu4
+u1ra
+4ura.
+u4rag
+u4r2as
+ur4be
+ur1b
+ur1c4
+ur1d
+ure5a2t
+ur4fer1
+ur1f
+ur4fr
+u3rif
+uri4fic
+uri1fi
+ur1in
+u3r2i1o
+u1rit
+ur3iz
+ur2l
+url5ing.
+ur4no4
+uros4
+ur4pe
+ur1p
+ur4pi
+urs5er
+u4rs2
+ur2se
+ur5tes
+ur3th2e
+ur1ti4
+ur4t2ie4
+u3ru
+2us
+u5sa2d
+usa2
+u5sa2n
+us4ap
+usc2
+us3ci
+use5a
+u5s2i1a
+u3sic
+us4lin
+us1l2
+us1p
+us5s1l2
+u2ss
+us5tere
+us1t4r
+u2su
+usu2r4
+u2ta4b
+u1ta
+u3tat
+4u4te.
+4utel
+4uten
+uten4i
+4u1t2i
+uti5l2iz
+util1i
+u3t2ine
+u2t1in
+ut3ing
+utio1n5a
+u1t2io
+utio2n
+u4tis
+5u5tiz
+u4t1l
+u2t5of
+u1to
+uto5g
+uto5mat1ic
+uto2ma
+u5to2n
+u4tou2
+u4t1s4
+u3u
+uu4m
+u1v2
+ux1u3
+u2z4e
+1va
+5va.
+2v1a4b
+vac5il
+v4a2ci
+vac3u
+vag4
+va4ge
+va5l2i4e4
+val1i
+val5o
+val1u
+va5mo
+va5niz
+va2n
+va5pi
+var5ied
+v2a2r
+var1i
+var2ie4
+3vat
+4ve.
+4ved
+veg3
+v3el.
+vel3l2i
+vel1l
+ve4lo
+v4e1ly
+ven3om
+v4eno
+v5enue
+v4erd
+5v2e2re.
+v4erel
+v3eren
+ver5enc
+v4eres
+ver3ie4
+ver1i
+vermi4n
+ver3m4
+3ver2se
+ve4r1s2
+ver3th
+v4e2s
+4ves.
+ves4te
+ve4te
+vet3er
+ve4ty
+vi5al1i
+v2i1a
+vi2al
+5vi2a2n
+5vi2de.
+v2id
+5vi2d1ed
+4v3i1den
+5vide4s2
+5vi2di
+v3if
+vi5gn
+v2ig
+v4ik4
+2vil
+5v2il1it
+vil1i
+v3i3l2iz
+v1in
+4vi4na
+v2inc
+v4in5d
+4ving
+vi1o3l
+v2io
+v3io4r
+vi1ou2
+v2i4p
+vi5ro
+v4ir
+vis3it
+vi3so
+vi3su
+4vi1ti
+vit3r
+4vi1ty
+3v2iv
+5vo.
+voi4
+3v2ok
+vo4la
+v5ole
+5vo4l2t
+3vol2v
+vom5i
+vo2r5ab
+vo1ra
+vori4
+vo4ry
+vo4ta
+4vo1tee
+4vv4
+v4y
+w5ab2l2
+2wac
+wa5ger
+wa2g5o
+wait5
+wai2
+w5al.
+wam4
+war4t
+w2a2r
+was4t
+wa1te
+wa5ver
+w1b
+wea5r2ie4
+we2a2r
+wear1i
+we4ath3
+wea2t
+we4d4n4
+weet3
+wee5v
+wel4l
+w1er
+west3
+w3ev
+whi4
+wi2
+wil2
+wil2l5in4
+wil1l
+will2i
+win4de
+w4ind
+win4g
+w4ir4
+3w4ise
+w2ith3
+wiz5
+w4k
+wl4es2
+wl3in
+w4no
+1wo2
+wom1
+wo5v4en
+w5p
+wra4
+wri4
+wri1ta4
+w3s2h
+ws4l2
+ws4pe
+w5s4t
+4wt
+wy4
+x1a
+xac5e
+x4a2go
+xam3
+x4ap
+xas5
+x3c2
+x1e
+xe4cu1to
+xe1cu
+xe3c4ut
+x2ed
+xer4i
+x2e5ro
+x1h
+xhi2
+xh4il5
+xhu4
+x3i
+x2i5a
+xi5c
+xi5di
+x2id
+x4ime
+xi5m2iz
+xim1i
+x3o
+x4ob
+x3p
+xp4an4d
+x1pa
+xpa2n
+xpec1to5
+xpe2c
+xpe2c1t
+x2p2e3d
+x1t2
+x3ti
+x1u
+xu3a
+xx4
+y5ac
+3y2a2r4
+y5at
+y1b
+y1c
+y2ce
+yc5er
+y3ch
+ych4e2
+ycom4
+y1co
+ycot4
+y1d
+y5ee
+y1er
+y4er1f
+yes4
+ye4t
+y5gi
+4y3h
+y1i
+y3la
+ylla5b2l2
+yl1l
+y3lo
+y5lu
+ymbol5
+y4m1b
+yme4
+ym1pa3
+y4m1p
+yn3c4hr4
+yn2ch
+yn5d
+yn5g
+yn5ic
+5ynx
+y1o4
+yo5d
+y4o5g
+yom4
+yo5net
+yo2n
+y4o2n3s2
+y4os
+y4p2ed
+yper5
+yp3i
+y3po
+y4po4c
+yp2ta
+y2p1t
+y5pu
+yra5m
+yr5i3a
+y3ro
+yr4r4
+ys4c
+y3s2e
+ys3i1ca
+y1s3io
+3y1sis
+y4so
+y2ss4
+ys1t
+ys3ta
+ysu2r4
+y1su
+y3thin
+yt3ic
+y1w
+za1
+z5a2b
+z2a2r2
+4zb
+2ze
+ze4n
+ze4p
+z1er
+z2e3ro
+zet4
+2z1i
+z4il
+z4is
+5zl
+4zm
+1zo
+zo4m
+zo5ol
+zoo2
+zte4
+4z1z2
+z4zy
+.as9s8o9c8i8a8te.
+.as1so
+.asso1ci
+.asso3c2i1a
+.as9s8o9c8i8a8t8es.
+.de8c9l8i9n8a9t8i8on.
+.de1c4l4
+.decl4i1na
+.declin2at
+.declina1t2io
+.declinatio2n
+.ob8l8i8g9a9t8o8ry.
+.ob2l2
+.obl2ig
+.obli1ga
+.obliga1to
+.obligato1ry
+.ph8i8l9a8n9t8h8r8o8p8ic.
+.ph4il2
+.phi1la
+.phila2n
+.philan1t
+.philant4hr4
+.philanthrop3ic
+.pr8e8s8e8nt.
+.p3re1s2e
+.presen1t
+.pr8e8s8e8n8ts.
+.presen4t4s2
+.pr8o8j8e8ct.
+.pro5j
+.pro1je
+.proje2c1t
+.pr8o8j8e8c8ts.
+.projec4t1s2
+.re8c9i9p8r8o8c9i9t8y.
+.re1c2i
+.rec2ip
+.recipr2
+.recipr2oc
+.re1cipro1ci
+.recipro2c1it
+.reciproci1ty
+.re9c8o8g9n8i9z8a8n8ce.
+.re1co
+.re2cog
+.rec3ogniz
+.recog1ni
+.recogniza1
+.recogniza2n
+.re8f9o8r9m8a9t8i8on.
+.re1f
+.re1fo
+.refo2r
+.refor1m
+.refor1ma
+.reforma1t2io
+.reformatio2n
+.re8t9r8i9b8u9t8i8on.
+.re3tri
+.retr4ib
+.retri3bu1t2io
+.retrib4u1t2i
+.retributio2n
+.ta9b8le.
+.2tab
+.tab2l2
+.ac8a8d9e9m8y.
+.a1ca
+.aca2d
+.acad4em
+.acade3my
+.ac8a8d9e9m8i8e8s.
+.academ2i4e4
+.ac9c8u9s8a9t8i8v8e.
+.ac3c
+.ac1c2us
+.accusa2
+.accusa1t2iv
+.ac8r8o9n8y8m.
+.acro2n
+.acronym4
+.ac8r8y8l9a8m8i8d8e.
+.acry3la
+.acrylam2id
+.ac8r8y8l9a8m8i8d8e8s.
+.acrylamide4s2
+.ac8r8y8l9a8l8d8e9h8y8d8e.
+.acryla2ld
+.acrylal2de
+.acrylalde1h4
+.acrylaldehy1d
+.ad8d9a9b8l8e.
+.ad1d2a
+.ad2d3a4b
+.addab2l2
+.ad8d9i9b8l8e.
+.addi1b2l2
+.ad8r8e8n9a9l8i8n8e.
+.a1dr
+.adre4
+.a5dren
+.adre1na
+.adrena4l1i
+.adrena1l4ine
+.ae8r8o9s8p8a8c8e.
+.ae4r
+.a2ero
+.aero2s4pa
+.aerospa4ce
+.af9t8e8r9t8h8o8u8g8h8t.
+.afterthou2
+.af9t8e8r9t8h8o8u8g8h8t8s.
+.afterthough4t1s2
+.ag8r8o8n9o9m8i8s8t.
+.a1gr
+.ag4ro
+.agro2n
+.agronom2is
+.ag8r8o8n9o9m8i8s8t8s.
+.agronomis4t1s2
+.al9g8e9b8r8a9i9c8a8l9l8y.
+.a4l1g4
+.alg2e1b
+.alge3br
+.algebr2ai2
+.algebrai1ca
+.algebraical1l
+.algebraical1ly
+.am9p8h8e8t9a9m8i8n8e.
+.a4m1p
+.amphe4t
+.amphe1ta
+.amphetam1in
+.amphetam2ine
+.am9p8h8e8t9a9m8i8n8e8s.
+.amphetami1nes
+.an9a9l8y8s8e.
+.3ana1ly
+.a1na
+.an4a2lys4
+.anal5y3s2e
+.an9a9l8y8s8e8d.
+.analy4s4ed
+.an8a8l8y9s8e8s.
+.analys1e4s
+.an9i8s8o9t8r8o8p9i8c.
+.ani2so
+.anisotrop3ic
+.an9i8s8o9t8r8o8p9i9c8a8l9l8y.
+.anisotropi1ca
+.anisotropical1l
+.anisotropical1ly
+.an9i8s8o8t9r8o9p8i8s8m.
+.anisotropi2s1m
+.an9i8s8o8t9r8o8p8y.
+.anisotropy5
+.an8o8m9a8l8y.
+.ano4
+.anoma5l
+.ano1ma
+.anoma1ly
+.an8o8m9a8l8i8e8s.
+.anomal1i
+.anomal2i4e4
+.an8t8i9d8e8r8i8v9a9t8i8v8e.
+.ant2id
+.antider1i
+.antider2i4v
+.antide4ri1va
+.antideri3vat
+.antider2iva1t2iv
+.an8t8i9d8e8r8i8v9a9t8i8v8e8s.
+.antiderivativ4e2s
+.an8t8i9h8o8l8o9m8o8r9p8h8i8c.
+.anti3h
+.antiholo1mo
+.antiholomo2r
+.antiholomor1p
+.antiholomorp4h4
+.antiholomorph1ic
+.an9t8i8n9o9m8y.
+.an2t1in
+.ant2i1no
+.antino3my
+.an9t8i8n9o9m8i8e8s.
+.antinom2ie4
+.an9t8i9n8u9c8l8e8a8r.
+.antin1u
+.antinucle3
+.antinu1c4l4
+.antinucle2a
+.antinucle2a2r
+.an9t8i9n8u9c8l8e9o8n.
+.antinucleo2n
+.an9t8i9r8e8v9o9l8u9t8i8o8n9a8r8y.
+.ant4ir
+.antirev2
+.antirev5olu
+.antirevo1lut
+.antirevol4u1t2i
+.antirevolutio1n5a
+.antirevolu1t2io
+.antirevolutio2n
+.antirevolution2a2r
+.ap8o8t8h9e9o9s8e8s.
+.ap4ot
+.ap4oth
+.apoth2e
+.apotheos4
+.apotheos1e4s
+.ap8o8t8h9e9o9s8i8s.
+.apotheo1sis
+.ap9p8e8n9d8i8x.
+.a4p1p
+.ap2pe
+.ap3pen
+.ar9c8h8i9m8e9d8e8a8n.
+.ar1c
+.ar2ch
+.archi2med
+.archimedea2n
+.ar9c8h8i9p8e8l9a8g8o.
+.arch2i4p
+.archipe4
+.archipe4la
+.archipela2go
+.ar9c8h8i9p8e8l9a9g8o8s.
+.ar9c8h8i8v8e.
+.arch2i2v
+.ar9c8h8i8v8e8s.
+.archiv4e2s
+.ar9c8h8i8v9i8n8g.
+.archiv1in
+.archi4ving
+.ar9c8h8i8v9i8s8t.
+.ar9c8h8i8v9i8s8t8s.
+.archivis4t1s2
+.ar9c8h8e9t8y8p9a8l.
+.arche2
+.arche4t
+.arche1ty
+.archety1pa
+.archetyp4al
+.ar9c8h8e9t8y8p9i9c8a8l.
+.archetyp3i
+.archetypi1ca
+.ar8c9t8a8n9g8e8n8t.
+.ar2c1t
+.arct5ang
+.arc1ta
+.arcta2n
+.arctan1gen
+.arctangen1t
+.ar8c9t8a8n9g8e8n8t8s.
+.arctangen4t4s2
+.as9s8i8g8n9a9b8l8e.
+.as1si
+.as4sig1n4a
+.ass2ig
+.assig2n1a2b
+.assignab2l2
+.as9s8i8g8n9o8r.
+.assig1no
+.as9s8i8g8n9o8r8s.
+.assigno4rs2
+.as9s8i8s8t9a8n8t9s8h8i8p.
+.as1sis
+.assis1ta
+.assista2n
+.assistan1t
+.assistan4t4s2
+.assistants2h4
+.assistant3sh2i4p
+.as9s8i8s8t9a8n8t9s8h8i8p8s.
+.assistantshi2p1s2
+.as8y8m8p9t8o9m8a8t8i8c.
+.as4y
+.asy4m1p
+.asym2p1t
+.asymp1to
+.asympto2ma
+.asymptomat1ic
+.as9y8m8p9t8o8t9i8c.
+.as8y8n9c8h8r8o9n8o8u8s.
+.asyn3c4hr4
+.asyn2ch
+.asynchro2n
+.asynchro1nou2
+.asynchrono2us
+.at8h9e8r9o9s8c8l8e9r8o9s8i8s.
+.4ath
+.ath2e
+.ath2ero
+.atheros2c
+.atheroscle5
+.atheros1c4l4
+.ath2eroscl4ero
+.atherosclero1sis
+.at9m8o8s9p8h8e8r8e.
+.a4t1m
+.at1mo
+.atmos2
+.atmo3sp
+.atmos2phe
+.atmo3sph4er
+.at9m8o8s9p8h8e8r8e8s.
+.at9t8r8i8b9u8t8e8d.
+.a4t3t2
+.attr4ib
+.attribu2t1ed
+.at9t8r8i8b9u8t9a8b8l8e.
+.attri4bu1ta
+.attribu2ta4b
+.attributab2l2
+.au9t8o9m8a9t8i8o8n.
+.au1to
+.auto2ma
+.automa1t2io
+.automatio2n
+.au9t8o8m9a9t8o8n.
+.automa1to
+.automato2n
+.au9t8o8m9a9t8a.
+.automa2ta
+.au9t8o9n8u8m9b8e8r9i8n8g.
+.au5to2n
+.auton5um
+.autonu4m1b
+.autonumber1i
+.autonumberin4g
+.au9t8o8n9o9m8o8u8s.
+.au4tono
+.autono4mo
+.autono3mo2us
+.autonomou2
+.au8t8o9r8o8u8n8d9i8n8g.
+.autorou2
+.autoroun2d
+.autoround1in
+.av9o8i8r9d8u9p8o8i8s.
+.avoi4
+.avo4ir
+.avoir1du
+.avoir4dup
+.avoirdupoi2
+.ba8n8d9l8e8a8d8e8r.
+.b4and
+.ban1dl
+.bandle2a
+.bandlea2d1
+.ba8n8d9l8e8a8d8e8r8s.
+.bandleade4r5s2
+.ba8n8k9r8u8p8t.
+.ba4nk2
+.bankru2p1t
+.ba8n8k9r8u8p8t9c8y.
+.bankrup4tc
+.bankrupt1cy
+.ba8n8k9r8u8p8t9c8i8e8s.
+.bankrupt1ci
+.bankruptc2ie4
+.ba8r9o8n8i8e8s.
+.b2a2r
+.ba5roni
+.baro2n
+.baron2ie4
+.ba8s8e9l8i8n8e9s8k8i8p.
+.basel2i
+.base1l4ine
+.baseli1nes
+.baselinesk2
+.baselinesk1i
+.baselinesk2i4p
+.ba9t8h8y8m9e9t8r8y.
+.1bat
+.b4ath
+.bathyme4
+.bathym4etr
+.bathyme3try
+.ba8t8h8y9s8c8a8p8h8e.
+.bathy2s
+.bathys4c
+.bathysca4p
+.bathys1ca
+.be8a8n9i8e8s.
+.bea2n
+.bea3nies
+.bean2ie4
+.be9h8a8v9i8o8u8r.
+.be1h4
+.behav1i
+.behavi1ou2
+.behav2io
+.behavi4our
+.be9h8a8v9i8o8u8r8s.
+.behaviou4rs2
+.be8v8i8e8s.
+.be1vi
+.bev2ie4
+.bi8b9l8i9o8g9r8a9p8h8y9s8t8y8l8e.
+.bi2b
+.bi1b2l2
+.bib3li
+.bibli5og
+.bibl2io
+.biblio2gr
+.biblio4g3ra1phy
+.bibliography2s
+.bibliographys1t
+.bibliographys2ty
+.bibliographys2tyl
+.bi9d8i8f9f8e8r9e8n9t8i8a8l.
+.b2i4d
+.bi2di
+.bid1if
+.bidi4f1f
+.bidiffer1
+.bidiffer3en1t
+.bidifferent2i
+.bidifferen1t2i1a
+.bidifferenti2al
+.bi8g9g8e8s8t.
+.b2ig
+.bi4g1g2
+.big2ge
+.bi8l8l9a8b8l8e.
+.1bil
+.bill5ab
+.bil1l
+.billab2l2
+.bi8o9m8a8t8h9e9m8a8t9i8c8s.
+.b2io
+.bio4m
+.bio1ma
+.biom4ath3
+.biomath5em
+.biomath2e
+.biomathe1ma
+.biomathemat1ic
+.biomathemati4c3s2
+.bi8o9m8e8d9i9c8a8l.
+.bio2me
+.bio2med
+.biom4edi
+.biomed3i1ca
+.bi8o9m8e8d9i9c8i8n8e.
+.biomed2i1ci
+.biomedi2cin
+.biomedic2ine
+.bi8o9r8h8y8t8h8m8s.
+.biorh4
+.biorhyt4h1m
+.biorhyth4m1s2
+.bi8t9m8a8p.
+.bi2t
+.bi4t1m
+.bit1ma
+.bit4map
+.bi8t9m8a8p8s.
+.bitma2p1s2
+.bl8a8n8d9e8r.
+.b2l2
+.b3l4and
+.bla2n
+.blan1de
+.bl8a8n8d9e8s8t.
+.blande4s2
+.bl8i8n8d9e8r.
+.bl4ind
+.blin1de
+.bl8o8n8d8e8s.
+.b4lo
+.blo2n
+.bl2ond
+.blon1de
+.blondes2
+.bl8u8e9p8r8i8n8t.
+.bluepr2
+.blueprin4t3
+.bl8u8e9p8r8i8n8t8s.
+.blueprin4t4s2
+.bo9l8o8m9e9t8e8r.
+.bolo2me
+.bolo4met
+.bolome1te
+.bo8o8k9s8e8l8l9e8r.
+.3boo2
+.bo2o4k
+.boo4k1s2
+.booksel1l
+.booksel2le
+.bo8o8k9s8e8l8l9e8r8s.
+.bookselle4r1s2
+.bo8o8l9e8a8n.
+.boole2a
+.boolea2n
+.bo8o8l9e8a8n8s.
+.boolea2n1s2
+.bo8r9n8o9l8o8g9i9c8a8l.
+.borno4
+.borno3log1ic
+.bornologi1ca
+.bo8t9u9l8i8s8m.
+.bo1tu
+.botul2i
+.botuli2s1m
+.br8u8s8q8u8e8r.
+.br2us
+.brusqu2
+.brus3quer
+.bu8f9f8e8r.
+.buf4fer1
+.bu4f1f
+.bu8f9f8e8r8s.
+.buffe4r1s2
+.bu8s8i8e8r.
+.bus5ie4
+.b2us
+.bu8s8i8e8s8t.
+.busi1est
+.bu8s8s8i8n8g.
+.bu2ss
+.bus1si
+.bus2s1in
+.buss3ing
+.bu8t8t8e8d.
+.but2t1ed
+.bu8z8z9w8o8r8d.
+.bu4z1z2
+.buzz1wo2
+.bu8z8z9w8o8r8d8s.
+.buzzwor2d1s2
+.ca9c8o8p8h9o9n8y.
+.ca1co
+.cac2oph
+.cacopho5ny
+.cacopho2n
+.ca9c8o8p8h9o9n8i8e8s.
+.caco5phoni
+.cacophon2ie4
+.ca8l8l9e8r.
+.cal1l
+.cal2le
+.ca8l8l9e8r8s.
+.calle4r1s2
+.ca8m9e8r8a9m8e8n.
+.cam5er1a
+.camera1men
+.ca8r8t9w8h8e8e8l.
+.cartw4
+.ca8r8t9w8h8e8e8l8s.
+.cartwhee2l1s2
+.ca9t8a8r8r8h8s.
+.ca2ta
+.cat2a2r
+.catar1r4
+.catarrh4
+.catarr4h1s2
+.ca8t9a9s8t8r8o8p8h9i8c.
+.catas1t4r
+.catastr2oph
+.catastroph1ic
+.ca8t9a9s8t8r8o8p8h9i9c8a8l8l8y.
+.catastrophi1ca
+.catastrophical1l
+.catastrophical1ly
+.ca8t9e9n8o8i8d.
+.cat4eno
+.catenoi2
+.cateno2id
+.ca8t9e9n8o8i8d8s.
+.catenoi2d1s2
+.ca8u9l8i9f8l8o8w9e8r.
+.cau4l2
+.caul2i
+.cauli4f4l2
+.cauliflow1er
+.ch8a8p9a8r9r8a8l.
+.chap2a2r4
+.cha1pa
+.chapar1r4
+.ch8a8r9t8r8e8u8s8e.
+.ch2a2r
+.chartr4eu2
+.chartre2us4
+.ch8e8m8o9t8h8e8r9a8p8y.
+.che2
+.che1mo
+.chem4oth3
+.chemoth2e
+.chemoth4er1a
+.chemothera3p
+.ch8e8m8o9t8h8e8r9a9p8i8e8s.
+.chemotherap2ie4
+.ch8l8o8r8o9m8e8t8h9a8n8e.
+.c4h1l4
+.ch2lo
+.chloro2me
+.chloro4met
+.chlorometha2n4
+.ch8l8o8r8o9m8e8t8h9a8n8e8s.
+.chlorometha1nes
+.ch8o9l8e8s9t8e8r8i8c.
+.3cho2
+.c3hol4e
+.choles2
+.choles1ter1i
+.ci8g9a9r8e8t8t8e.
+.c2ig
+.ci1ga
+.cig2a2r
+.cigare4t3t2
+.ci8g9a9r8e8t8t8e8s.
+.cigaret4tes
+.ci8n8q8u8e9f8o8i8l.
+.2cin
+.cin1q
+.cinqu2
+.cinque1f
+.cinque1fo
+.cinquefoi2
+.co9a8s8s8o9c8i8a9t8i8v8e.
+.c4oa
+.coa2ss
+.coas1so
+.coasso1ci
+.coasso3c2i1a
+.coassoci4a1t2iv
+.co9g8n8a8c.
+.2cog
+.cog1n4a
+.co9g8n8a8c8s.
+.cogna4c3s2
+.co9k8e8r9n8e8l.
+.c2ok
+.cok1er
+.coker3nel
+.co9k8e8r9n8e8l8s.
+.cokerne2l1s2
+.co8l9l8i8n9e8a9t8i8o8n.
+.col1l
+.coll2i
+.col2lin4
+.col1l4ine
+.collin3ea
+.collinea2t
+.collinea1t2io
+.collineatio2n
+.co8l9u8m8n8s.
+.colu4m1n
+.colum2n1s2
+.co8m9p8a8r9a8n8d.
+.co4m1p
+.compara5
+.com1pa
+.comp2a2r
+.compara2n
+.compar4and
+.co8m9p8a8r9a8n8d8s.
+.comparan2d1s2
+.co8m9p8e8n9d8i8u8m.
+.compendi1u
+.co8m9p8o9n8e8n8t9w8i8s8e.
+.compo2n
+.compo3nen
+.componen1t
+.componentw4
+.componentwis4
+.componentwi2
+.component3w4ise
+.co8m8p9t8r8o8l9l8e8r.
+.comp4tr
+.com2p1t
+.comptrol1l
+.comptrol2le
+.co8m8p9t8r8o8l9l8e8r8s.
+.comptrolle4r1s2
+.co8n9f8o8r8m9a8b8l8e.
+.co2n
+.con3f
+.con1fo
+.confo2r
+.confor1m
+.confor1ma
+.confor2mab
+.conformab2l2
+.co8n9f8o8r8m9i8s8t.
+.confor2mi
+.conform2is
+.co8n9f8o8r8m9i8s8t8s.
+.conformis4t1s2
+.co8n9f8o8r8m9i8t8y.
+.confor3mit
+.conformi1ty
+.co8n9g8r8e8s8s.
+.con3g
+.con1gr
+.congr2e2ss
+.co8n9g8r8e8s8s8e8s.
+.congress1e4s
+.co8n9t8r8i8b9u8t8e.
+.con5t
+.contr4ib
+.co8n9t8r8i8b9u8t8e8s.
+.co8n9t8r8i8b9u8t8e8d.
+.contribu2t1ed
+.co9r8e9l8a9t8i8o8n.
+.core1la
+.corela1t2io
+.corelatio2n
+.co9r8e9l8a9t8i8o8n8s.
+.corelatio2n3s2
+.co9r8e9l8i9g8i8o8n9i8s8t.
+.core1l2i
+.corel2ig
+.corel4igi
+.coreli5g2io
+.coreligion3i
+.coreligio2n
+.coreligion1is
+.co9r8e9l8i9g8i8o8n9i8s8t8s.
+.coreligionis4t1s2
+.co9r8e9o8p9s8i8s.
+.core1o
+.coreo2p1s2
+.coreop1sis
+.co9r8e9s8p8o8n9d8e8n8t.
+.core1sp
+.cores4po2n
+.coresp2ond
+.corespon1de
+.corespon1den
+.coresponden1t
+.co9r8e9s8p8o8n9d8e8n8t8s.
+.coresponden4t4s2
+.co9s8e9c8a8n8t.
+.cos4e
+.cose1ca
+.coseca2n
+.cosecan1t
+.co9t8a8n9g8e8n8t.
+.co4ta2n
+.co1ta
+.cot2ang
+.cotan1gen
+.cotangen1t
+.co8u8r9s8e8s.
+.cou2
+.cou4rs2
+.cour2se
+.cours3e4s
+.co9w8o8r8k9e8r.
+.co4wo2
+.cowork1er
+.co9w8o8r8k9e8r8s.
+.coworke4r1s2
+.cr8a8n8k9c8a8s8e.
+.cra2n
+.cra4nk2
+.crank1ca
+.cr8a8n8k9s8h8a8f8t.
+.cran4k1s2
+.cranks2h
+.cranksha2f
+.cranksha2ft
+.cr8o8c9o9d8i8l8e.
+.cr2oc
+.cro4cod
+.cro1co
+.cr8o8c9o9d8i8l8e8s.
+.crocodiles2
+.cr8o8s8s9h8a8t8c8h.
+.cro2s4s
+.cross2h
+.crossha4tc
+.crosshat4ch
+.cr8o8s8s9h8a8t8c8h8e8d.
+.crosshatche2
+.crosshat4ch4ed
+.cr8o8s8s9o8v8e8r.
+.cros1so
+.cros4sov
+.cr8y8p9t8o9g8r8a8m.
+.cry2p1t
+.cryp1to
+.crypto2gr
+.cr8y8p9t8o9g8r8a8m8s.
+.cryptogra4m1s2
+.cu8f8f9l8i8n8k.
+.c4uf
+.cu4f1f
+.cuff4l2
+.cufflin4
+.cuffl4i4nk2
+.cu8f8f9l8i8n8k8s.
+.cufflin4k1s2
+.cu9n8e8i9f8o8r8m.
+.3cun
+.cu2ne
+.cunei2
+.cunei1fo
+.cuneifo2r
+.cuneifor1m
+.cu8s9t8o8m9i8z9a9b8l8e.
+.1c2us
+.cus1to
+.custom2iz
+.customiza1
+.customiz5a2b
+.customizab2l2
+.cu8s9t8o8m9i8z8e.
+.customi2ze
+.cu8s9t8o8m9i8z8e8s.
+.cu8s9t8o8m9i8z8e8d.
+.da8c8h8s9h8u8n8d.
+.1d2a
+.da2ch4
+.dac4h1s2
+.dach4s2h
+.da8m9s8e8l9f8l8y.
+.da2m2
+.da4m1s2
+.dam5se2l2f
+.damself4l2
+.damself2ly5
+.da8m9s8e8l9f8l8i8e8s.
+.damselfl2ie4
+.da8c8t8y8l9o9g8r8a8m.
+.da2c1t
+.dac1ty
+.dac2tyl
+.dacty3lo
+.dactylo1gr
+.da8c8t8y8l9o9g8r8a8p8h.
+.da8t8a9b8a8s8e.
+.3dat
+.da2ta
+.da2tab
+.da8t8a9b8a8s8e8s.
+.databas1e4s
+.da8t8a9p8a8t8h.
+.dat5ap
+.datap5at
+.data1pa
+.datap4ath
+.da8t8a9p8a8t8h8s.
+.datapa2t4h1s2
+.da8t8e9s8t8a8m8p.
+.dat3est
+.dates1ta
+.datesta4m1p
+.da8t8e9s8t8a8m8p8s.
+.datestam2p1s2
+.de9c8l8a8r9a8b8l8e.
+.de4cl2a2r
+.decla2rab
+.declarab2l2
+.de9f8i8n9i9t8i8v8e.
+.de1f
+.de1fi
+.de2fin
+.def2ini
+.defin2it
+.defini1ti
+.defini1t2iv
+.de9l8e8c9t8a9b8l8e.
+.d5elec
+.dele2c1t
+.delec2ta4b
+.delec1ta
+.delectab2l2
+.de8m8i9s8e8m8i9q8u8a9v8e8r.
+.de4m2is
+.dem4ise
+.demisemi3qua
+.demisemiqu2
+.demisemiqua5v4
+.de8m8i9s8e8m8i9q8u8a9v8e8r8s.
+.demisemiquave4r1s2
+.de9m8o8c9r8a9t8i8s8m.
+.de4mocr
+.democrati2s4m
+.de8m8o8s.
+.demos2
+.de9r8i8v9a9t8i8v8e.
+.der2i4v
+.de4ri1va
+.deri3vat
+.der2iva1t2iv
+.de9r8i8v9a9t8i8v8e8s.
+.derivativ4e2s
+.di8a9l8e8c9t8i8c.
+.1d4i3a
+.di2al
+.di2ale
+.diale2c1t
+.di8a9l8e8c9t8i8c8s.
+.dialecti4c3s2
+.di8a9l8e8c9t8i9c8i8a8n.
+.dialect2i1ci
+.d2i1alecti3c2i1a
+.dialectici2a2n
+.di8a9l8e8c9t8i9c8i8a8n8s.
+.dialecticia2n1s2
+.di9c8h8l8o8r8o9m8e8t8h9a8n8e.
+.d4i2ch
+.dic4h1l4
+.dich2lo
+.dichloro2me
+.dichloro4met
+.dichlorometha2n4
+.di8f9f8r8a8c8t.
+.d1if
+.dif4fr
+.di4f1f
+.diffra2c1t
+.di8f9f8r8a8c8t8s.
+.diffrac4t1s2
+.di8f9f8r8a8c9t8i8o8n.
+.diffrac1t2io
+.diffractio2n
+.di8f9f8r8a8c9t8i8o8n8s.
+.diffractio2n3s2
+.di8r8e8r.
+.d4ir2
+.di1re
+.dir1er4
+.di8r8e9n8e8s8s.
+.dire1nes
+.diren2e2ss
+.di8s9p8a8r9a8n8d.
+.dis1
+.dis1p
+.di2s1pa
+.disp2a2r
+.dispara2n
+.dispar4and
+.di8s9p8a8r9a8n8d8s.
+.disparan2d1s2
+.di8s9t8r8a8u8g8h8t9l8y.
+.d4is3t
+.dist4r
+.dis1tra
+.distraugh3
+.distraugh2tl
+.distraught1ly
+.di8s9t8r8i8b9u8t8e.
+.distr4ib
+.di8s9t8r8i8b9u8t8e8s.
+.di8s9t8r8i8b9u8t8e8d.
+.distribu2t1ed
+.do8u9b8l8e9s8p8a8c8e.
+.dou2
+.dou3b2l2
+.dou5ble1sp
+.doubles2
+.double2s1pa
+.doublespa4ce
+.do8u9b8l8e9s8p8a8c9i8n8g.
+.doublesp4a2ci
+.doublespa2c1in
+.doublespac1ing
+.do8l8l9i8s8h.
+.dol1l
+.doll2i
+.dollis2h
+.dr8i8f8t9a8g8e.
+.1dr
+.dr4i2ft
+.drif1ta
+.dr8i8v9e8r8s.
+.dr2iv
+.drive4r1s2
+.dr8o8m9e9d8a8r8y.
+.dro2me
+.dro2med
+.drom2e2d2a
+.drome4dary
+.dromed2a2r
+.dr8o8m9e9d8a8r8i8e8s.
+.dromedar1i
+.dromedar2ie4
+.du9o8p9o9l8i8s8t.
+.duopol2i
+.du9o8p9o9l8i8s8t8s.
+.duopolis4t1s2
+.du9o8p9o8l8y.
+.duopo2ly
+.dy8s9l8e8x8i8a.
+.d2y
+.dys1l2
+.dys2le
+.dyslex3i
+.dyslex2i5a
+.dy8s9l8e8c9t8i8c.
+.dysle2c1t
+.ea8s8t9e8n8d9e8r8s.
+.east3
+.eas3ten
+.eas3tend
+.easten1de
+.eastende4r5s2
+.ec8o9n8o8m9i8c8s.
+.e1co
+.eco2n
+.eco3nomic
+.economi4c3s2
+.ec8o8n9o9m8i8s8t.
+.econom2is
+.ec8o8n9o9m8i8s8t8s.
+.economis4t1s2
+.ei9g8e8n9c8l8a8s8s.
+.ei2
+.e2ig2
+.ei1gen
+.eigen1c4l4
+.eigencla2ss
+.ei9g8e8n9c8l8a8s8s8e8s.
+.eigenclass1e4s
+.ei9g8e8n9v8a8l9u8e.
+.eigen1v2
+.eigen1va
+.eigenval1u
+.ei9g8e8n9v8a8l9u8e8s.
+.el8e8c8t8r8o9m8e8c8h8a8n9i9c8a8l.
+.5elec
+.ele2c1t
+.electro2me
+.electrome2ch
+.electrome5cha4n1ic
+.electromecha2n
+.electromechani1ca
+.el8e8c8t8r8o9m8e8c8h8a8n8o9a8c8o8u8s8t8i8c.
+.electromechano4
+.electromechan4oa
+.electromechanoa1co
+.electromechanoacou2
+.electromechanoaco2us
+.electromechanoacoust2i
+.electromechanoacous1tic
+.el8i8t9i8s8t.
+.el2i
+.el1it
+.eli1ti
+.el4itis
+.el8i8t9i8s8t8s.
+.elitis4t1s2
+.en9t8r8e9p8r8e9n8e8u8r.
+.en1t
+.entrepr2
+.entrepren4eu
+.en9t8r8e9p8r8e9n8e8u8r9i8a8l.
+.entrepreneur2i3a
+.entrepreneuri2al
+.ep9i9n8e8p8h9r8i8n8e.
+.epi2n
+.ep2ine
+.epinep4hr4
+.ep2inephr2in4e
+.eq8u8i9v8a8r8i9a8n8t.
+.equ2iv3
+.equi1va
+.equiv2a2r
+.equivar1i
+.equivar3i2a2n
+.equivar2i3a
+.equivar4ian4t
+.eq8u8i9v8a8r8i9a8n8c8e.
+.equivar4ianc
+.et8h9a8n8e.
+.etha2n4
+.et8h9y8l9e8n8e.
+.ev8e8r9s8i9b8l8e.
+.ev1er
+.eve4r1s2
+.ever1si
+.ever4si4b
+.eversi1b2l2
+.ev8e8r8t.
+.ev8e8r8t8s.
+.ever4t1s2
+.ev8e8r8t9e8d.
+.ever2t1ed
+.ev8e8r8t9i8n8g.
+.ever1ti
+.ever2t1in
+.ex9q8u8i8s9i8t8e.
+.exqu2
+.exq2ui2
+.exquis2ite
+.ex9t8r8a9o8r9d8i9n8a8r8y.
+.ex1t2
+.ex1tra
+.extr4ao
+.extraord2i
+.extraord1in4
+.extraor1di1na
+.extraordin2a2r
+.fa8l8l9i8n8g.
+.1fa
+.fal1l
+.fall2i
+.fal2lin4
+.fe8r8m8i9o8n8s.
+.fer1
+.fer3m4
+.fer4m2io
+.fermio2n
+.fermio2n3s2
+.fi9n8i8t8e9l8y.
+.1fi
+.2fin
+.f2ini
+.fin2it
+.fin2ite
+.finite1ly
+.fl8a9g8e8l9l8u8m.
+.f4l2
+.flag5el1l
+.fl8a9g8e8l9l8a.
+.flag4ella
+.fl8a8m9m8a9b8l8e8s.
+.flam1m
+.flam1ma
+.flam2mab
+.flammab2l2
+.flammables2
+.fl8e8d8g9l8i8n8g.
+.fledgl2
+.fl8o8w9c8h8a8r8t.
+.flow2ch
+.flowch2a2r
+.fl8o8w9c8h8a8r8t8s.
+.flowchar4t1s2
+.fl8u8o8r8o9c8a8r9b8o8n.
+.flu3o
+.fluo3r
+.fluor2oc
+.fluoro1ca
+.fluoroc2a2r
+.fluorocar1b
+.fluorocarb4o
+.fluorocarbo2n
+.fo8r9m8i9d8a9b8l8e.
+.for2mi
+.formi1d4a
+.form2id
+.formi2d3a4b
+.formidab2l2
+.fo8r9m8i9d8a9b8l8y.
+.formidab1ly
+.fo8r9s8y8t8h9i8a.
+.fo4rs2
+.fors4y
+.forsyth2i1a
+.fo8r8t8h9r8i8g8h8t.
+.fort4hr4
+.forthr2ig
+.fr8e8e9l8o8a8d8e8r.
+.freel4oa
+.freeloa2d3
+.fr8e8e9l8o8a8d8e8r8s.
+.freeloade4r5s2
+.fr8i8e8n8d9l8i8e8r.
+.fri2
+.fr2ie4
+.friendl2ie4
+.fr8i9v8o8l9i8t8y.
+.fr2iv
+.frivol2i
+.frivol1it
+.frivoli1ty
+.fr8i9v8o8l9i9t8i8e8s.
+.frivoli1ti
+.frivolit2ie4
+.fr8i8v9o9l8o8u8s.
+.frivolou2
+.frivolo2us
+.ga9l8a8c9t8i8c.
+.gala2c1t
+.ga8l9a8x8y.
+.ga8l9a8x9i8e8s.
+.galax3i
+.galax2ie4
+.ga8s9o8m9e9t8e8r.
+.ga1so
+.ga3som
+.gaso2me
+.gaso4met
+.gasome1te
+.ge9o9d8e8s9i8c.
+.geodes2
+.geode1si
+.geode2sic
+.ge9o9d8e8t9i8c.
+.geode1t
+.geodet1ic
+.ge8o9m8e8t9r8i8c.
+.ge3om
+.geo2me
+.geo4met
+.geom4etr
+.geo5met3ric
+.ge8o9m8e8t9r8i8c8s.
+.geome4tri4c3s2
+.ge9o9s8t8r8o8p8h8i8c.
+.geos4
+.geost4r
+.geostr2oph
+.geostroph1ic
+.ge8o9t8h8e8r9m8a8l.
+.ge4ot
+.ge4oth
+.geoth2e
+.geother3m4
+.geother1ma
+.ge9o8t9r8o9p8i8s8m.
+.geotropi2s1m
+.gn8o9m8o8n.
+.g1no
+.gno4mo
+.gno4mo2n
+.gn8o9m8o8n8s.
+.gnomo2n3s2
+.gr8a8n8d9u8n8c8l8e.
+.1gr
+.gra2n2
+.gr4and
+.gran1du
+.grandu4n
+.grandun1c4l4
+.gr8a8n8d9u8n8c8l8e8s.
+.granduncles2
+.gr8i8e8v9a8n8c8e.
+.gr2ie4
+.grie1va
+.grieva2n
+.gr8i8e8v9a8n8c8e8s.
+.gr8i8e8v9o8u8s.
+.grievou2
+.grievo2us
+.gr8i8e8v9o8u8s9l8y.
+.grievous1l2
+.grievous1ly
+.ha8i8r9s8t8y8l8e.
+.hai2
+.ha4ir
+.hai4rs2
+.hairs2ty
+.hairs2tyl
+.ha8i8r9s8t8y8l8e8s.
+.hairstyles2
+.ha8i8r9s8t8y8l9i8s8t.
+.ha8i8r9s8t8y8l9i8s8t8s.
+.hairstylis4t1s2
+.ha8l8f9s8p8a8c8e.
+.ha2lf
+.hal2f3s
+.half2s1pa
+.halfspa4ce
+.ha8l8f9s8p8a8c8e8s.
+.ha8l8f9w8a8y.
+.ha8r9b8i8n9g8e8r.
+.h2a2r
+.har1b
+.harbi2
+.har2bin
+.harb4inge
+.ha8r9b8i8n9g8e8r8s.
+.harbinge4r1s2
+.ha8r9l8e9q8u8i8n.
+.har4le4
+.har1l
+.harle1q
+.harlequ2
+.harleq2ui2
+.harlequi4n
+.ha8r9l8e9q8u8i8n8s.
+.harlequ2i2n1s2
+.ha8t8c8h9e8r8i8e8s.
+.ha4tc
+.hat4ch
+.hatche2
+.hatcher1i
+.hatcher2ie4
+.he8m8i9d8e8m8i9s8e8m8i9q8u8a9v8e8r.
+.hem2id
+.hemid4em
+.hemide4m2is
+.hemidem4ise
+.hemidemisemi3qua
+.hemidemisemiqu2
+.hemidemisemiqua5v4
+.he8m8i9d8e8m8i9s8e8m8i9q8u8a9v8e8r8s.
+.hemidemisemiquave4r1s2
+.he9m8o9g8l8o9b8i8n.
+.hemo4g
+.he1mo
+.hemo4gl2
+.hemo3glo
+.hemoglo1bi
+.hemoglo2bin
+.he9m8o9p8h8i8l9i8a.
+.hem2oph
+.hemoph4il2
+.hemophil1i
+.hemophil3i1a
+.he9m8o9p8h8i8l9i8a8c.
+.he9m8o9p8h8i8l9i8a8c8s.
+.hemophilia4c3s2
+.he8m8o9r8h8e9o8l9o8g8y.
+.hemo2r
+.hemorh4
+.hemorhe3ol
+.hemorheol1o1gy
+.he9p8a8t9i8c.
+.hep5
+.he2pa
+.hepat1ic
+.he8r9m8a8p8h9r8o9d8i8t8e.
+.her3m4
+.her1ma
+.her4map
+.hermap4hr4
+.hermaphrod2ite
+.he8r9m8a8p8h9r8o9d8i8t9i8c.
+.hermaphrod2i1ti
+.hermaphrod4i2tic
+.he9r8o8e8s.
+.hero4e
+.he8x8a9d8e8c9i9m8a8l.
+.hex1a
+.hexa2d
+.hexade1c2i
+.hexade2c3im
+.hexadeci1ma
+.ho9l8o9n8o9m8y.
+.holo2n
+.holon3o3my
+.ho9m8e8o9m8o8r9p8h8i8c.
+.ho2me3
+.homeo1mo
+.homeomo2r
+.homeomor1p
+.homeomorp4h4
+.homeomorph1ic
+.ho9m8e8o9m8o8r9p8h8i8s8m.
+.homeomorphi2s1m
+.ho9m8o9t8h8e8t8i8c.
+.ho1mo
+.hom4oth3
+.homoth2e
+.homo3the4t
+.homothet1ic
+.ho8r8s8e9r8a8d9i8s8h.
+.hor4se
+.ho4rs2
+.horser1a
+.horsera2d
+.horser2adi
+.horseradis1
+.horseradis2h
+.ho8t9b8e8d.
+.ho2t1b
+.hot4be2d
+.ho8t9b8e8d8s.
+.hotbe2d1s2
+.hy9d8r8o9t8h8e8r9m8a8l.
+.hy1d
+.hy1dr
+.hydro4th2e
+.hydr4oth
+.hydrother3m4
+.hydrother1ma
+.hy9p8o9t8h8a8l9a9m8u8s.
+.hy3po
+.hyp4ot
+.hyp4oth
+.hypotha3la
+.hypothala3m
+.hypothala1mu
+.hypothalam2us
+.id8e8a8l8s.
+.ide3a4l
+.idea2l1s2
+.id8e8o9g8r8a8p8h8s.
+.ideo2g
+.ideo1gr
+.ideogra4p4h1s2
+.id8i8o9s8y8n9c8r8a8s8y.
+.i2di
+.i1d3io
+.idi4os
+.idios4y
+.idiosyn1cr
+.idiosyncr2as
+.idiosyncras4y
+.id8i8o9s8y8n9c8r8a9s8i8e8s.
+.idiosyncras2ie4
+.id8i8o9s8y8n9c8r8a8t8i8c.
+.idiosyn5crat1ic
+.id8i8o9s8y8n9c8r8a8t9i9c8a8l9l8y.
+.idiosyncrati1ca
+.idiosyncratical1l
+.idiosyncratical1ly
+.ig9n8i8t9e8r.
+.2ig
+.ig1ni
+.ign2it
+.ign2ite
+.ig9n8i8t9e8r8s.
+.ignite4r1s2
+.ig9n8i9t8o8r.
+.ign3itor
+.igni1to
+.ig8n8o8r8e9s8p8a8c8e8s.
+.ig1no
+.ignore1sp
+.ignore2s1pa
+.ignorespa4ce
+.im9p8e8d9a8n8c8e.
+.im2p2ed
+.imp2e2d2a
+.impeda2n
+.im9p8e8d9a8n8c8e8s.
+.in9d8u9b8i9t8a9b8l8e.
+.4ind
+.in1du
+.indu1b4i
+.indubi2t
+.indubi1ta
+.indubi2tab
+.indubitab2l2
+.in9f8i8n9i8t8e9l8y.
+.in3f
+.in1fi
+.in2fin
+.inf2ini
+.infin2it
+.infin2ite
+.infinite1ly
+.in9f8i8n9i9t8e8s9i9m8a8l.
+.infinit4es
+.infinite1si
+.infinite2s5im
+.infinitesi1ma
+.in9f8r8a9s8t8r8u8c9t8u8r8e.
+.infr2as
+.infras1t4r
+.infrastru2c1t
+.infrastructu4r
+.infrastruc1tu
+.infrastruc3ture
+.in9f8r8a9s8t8r8u8c9t8u8r8e8s.
+.in9s8t8a8l8l9e8r.
+.ins2ta2l
+.ins1ta
+.instal1l
+.instal2le
+.in9s8t8a8l8l9e8r8s.
+.installe4r1s2
+.in9t8e8r9d8i8s9c8i9p8l8i9n8a8r8y.
+.in1t
+.in5ter3d
+.interd2i
+.interdis1
+.interd2is1c
+.interdis1ci
+.interdisc2ip
+.interdisci1p2l2
+.interdiscipli4n
+.interdiscipl4i1na
+.interdisciplin2a2r
+.in9t8e8r9g8a9l8a8c9t8i8c.
+.interg2
+.inter1ga
+.intergala2c1t
+.in9u8t8i8l8e.
+.in1u
+.in4u1t2i
+.in9u8t8i8l9i9t8y.
+.inutil1i
+.inut2il1it
+.inutili1ty
+.ir9r8e9d8u8c9i8b8l8e.
+.ir2r2ed
+.irre1du
+.irredu2c
+.irreduci4b
+.irredu1ci
+.irreduci1b2l2
+.ir9r8e9d8u8c9i8b8l8y.
+.irreducib1ly
+.ir9r8e8v9o9c8a9b8l8e.
+.irrev2
+.irre5voc
+.irrevo1ca
+.irrevoca1b2l2
+.is8o8t9r8o8p8y.
+.i2so
+.isotropy5
+.is8o9t8r8o8p9i8c.
+.isotrop3ic
+.it8i8n9e8r9a8r8y.
+.i1ti
+.i2t1in
+.it2ine
+.itin4er4a2r
+.itin1er
+.itiner1a
+.it8i8n9e8r9a8r9i8e8s.
+.itinerar1i
+.itinerar2ie4
+.je9r8e9m8i9a8d8s.
+.1je
+.jerem2i3a
+.jeremia2d
+.jeremia2d1s2
+.ke8y9n8o8t8e.
+.ke8y9n8o8t8e8s.
+.keyno4tes
+.ke8y9s8t8r8o8k8e.
+.keys4
+.keys1t
+.keyst4r
+.keystr2ok2
+.ke8y9s8t8r8o8k8e8s.
+.keystrokes4
+.ki8l8n9i8n8g.
+.k1i
+.k4i2l1n2
+.kiln1in
+.kilnin4g
+.la8c9i9e8s8t.
+.l4a2ci4
+.la3c2ie4
+.laci1est
+.la8m9e8n9t8a9b8l8e.
+.la1men
+.la3men1t
+.lamen2ta4b
+.lamen1ta
+.lamentab2l2
+.la8n8d9s8c8a8p9e8r.
+.3l4and
+.la2n
+.lan2d1s2
+.landsca4p
+.lands1ca
+.landsca5per
+.la8n8d9s8c8a8p9e8r8s.
+.landscape4r1s2
+.la8r9c8e9n8y.
+.l2a2r
+.lar1c
+.lar2ce
+.lar1cen4
+.la8r9c8e9n9i8s8t.
+.lar4ceni
+.le8a8f9h8o8p9p8e8r.
+.le2a
+.lea2f
+.lea4fh
+.leafho4p1p
+.leafhop2pe
+.leafhop3per
+.le8a8f9h8o8p9p8e8r8s.
+.leafhoppe4r1s2
+.le8t9t8e8r9s8p8a8c9i8n8g.
+.le4t3t2
+.lette4r1s2
+.letter1sp
+.letter2s1pa
+.lettersp4a2ci
+.letterspa2c1in
+.letterspac1ing
+.li8f8e9s8p8a8n.
+.life1sp
+.life2s1pa
+.lifespa4n
+.li8f8e9s8p8a8n8s.
+.lifespa2n1s2
+.li8f8e9s8t8y8l8e.
+.lifes2ty
+.lifes2tyl
+.li8f8e9s8t8y8l8e8s.
+.lifestyles2
+.li8g8h8t9w8e8i8g8h8t.
+.3ligh
+.lightw4
+.lightwei2
+.l2ightwe2ig2
+.li8m9o8u9s8i8n8e8s.
+.li4mo
+.li3mo2us
+.limou2
+.limou2s1in
+.limous2ine
+.limousi1nes
+.li8n8e9b8a8c8k8e8r.
+.1l4ine
+.lin2e2b
+.lineback1
+.lineback1er
+.li8n8e9s8p8a8c8i8n8g.
+.li1nes
+.li4ne1sp
+.line2s1pa
+.linesp4a2ci
+.linespa2c1in
+.linespac1ing
+.li9o8n9e8s8s.
+.lio2n
+.lio1nes
+.lion2e2ss
+.li8t8h9o9g8r8a8p8h8e8d.
+.l2ith
+.litho4g
+.litho1gr
+.lithograph4ed
+.li8t8h9o9g8r8a8p8h8s.
+.lithogra4p4h1s2
+.lo9b8o8t9o8m8y.
+.lobo4to
+.loboto3my
+.lo9b8o8t9o8m9i8z8e.
+.lobotom2iz
+.lobotomi2ze
+.lo8g8e8s.
+.lo1ge
+.lo8n8g9e8s8t.
+.5long
+.lo2n
+.lo9q8u8a8c9i8t8y.
+.lo1q
+.loqu2
+.loquac4
+.loqu4a2ci
+.loqua2c1it
+.loquaci1ty
+.lo8v8e9s8t8r8u8c8k.
+.4lov
+.lov4e2s
+.lov2est4r
+.lovestruc5
+.lovestruck1
+.ma8c8r8o9e8c8o9n8o8m8i8c8s.
+.macro4e
+.macroe1co
+.macroeco2n
+.macroeco3nomic
+.macroeconomi4c3s2
+.ma8l9a9p8r8o8p9i8s8m.
+.malapr2
+.malapropi2s1m
+.ma8l9a9p8r8o8p9i8s8m8s.
+.malaprop4is4m1s2
+.ma8n9s8l8a8u8g8h9t8e8r.
+.ma2n1s2
+.man2s1l2
+.manslaugh3
+.ma8n9u9s8c8r8i8p8t.
+.man2us
+.manusc2
+.manuscri2
+.manuscr2ip
+.manuscri2p1t
+.ma8r9g8i8n9a8l.
+.marg2
+.margi4n
+.margi1na
+.ma8t8h9e9m8a9t8i9c8i8a8n.
+.m4ath3
+.math5em
+.math2e
+.1mathe1ma
+.mathemat1ic
+.mathemat2i1ci
+.mathemati3c2i1a
+.mathematici2a2n
+.ma8t8h9e9m8a9t8i9c8i8a8n8s.
+.mathematicia2n1s2
+.ma8t8t8e8s.
+.mat5te
+.ma4t3t2
+.mat4tes
+.me8d9i8c9a8i8d.
+.2med
+.m4edi
+.med3i1ca
+.medicai2
+.medica2id
+.me8d8i9o8c8r8e.
+.me1d2io
+.mediocre3
+.me8d8i9o8c9r8i9t8i8e8s.
+.medi5ocrit
+.mediocri2
+.medio5cri1ti
+.mediocrit2ie4
+.me8g8a9l8i8t8h.
+.me2g
+.m4egal
+.me1ga
+.me3gal1i
+.megal1it
+.megal2ith
+.me8g8a9l8i8t8h8s.
+.megali2t4h1s2
+.me8t8a9b8o8l9i8c.
+.me4ta
+.me2ta4b
+.metabol3ic
+.metabol2i
+.me9t8a8b9o9l8i8s8m.
+.metaboli2s1m
+.me9t8a8b9o9l8i8s8m8s.
+.metabol4is4m1s2
+.me9t8a8b9o9l8i8t8e.
+.metabo5l2ite
+.metabol1it
+.me9t8a8b9o9l8i8t8e8s.
+.metabolit4es
+.me8t8a9l8a8n9g8u8a8g8e.
+.met3a2l
+.meta5la
+.metala2n
+.metal2ang
+.metalan1gu
+.metalangu4a
+.me8t8a9l8a8n9g8u8a8g8e8s.
+.me8t8a9p8h8o8r9i8c.
+.metapho4r
+.me8t8h9a8n8e.
+.metha2n4
+.me9t8r8o8p9o9l8i8s.
+.m4etr
+.metropol2i
+.me9t8r8o8p9o9l8i8s8e8s.
+.metropol4ise
+.metropolis1e4s
+.me8t9r8o9p8o8l9i9t8a8n.
+.metropol1it
+.metropoli3ta2n
+.metropoli1ta
+.me8t9r8o9p8o8l9i9t8a8n8s.
+.metropolita2n1s2
+.mi8c8r8o9e8c8o9n8o8m8i8c8s.
+.m4i1cr
+.micro4e
+.microe1co
+.microeco2n
+.microeco3nomic
+.microeconomi4c3s2
+.mi9c8r8o9f8i8c8h8e.
+.micro2fi
+.microf4i2ch
+.microfiche2
+.mi9c8r8o9f8i8c8h8e8s.
+.microfich1es
+.mi8c8r8o9o8r8g8a8n9i8s8m.
+.microo2
+.microorg2
+.microor1ga
+.microorgan5is
+.microorga2n
+.microorgani2s1m
+.mi8c8r8o9o8r8g8a8n9i8s8m8s.
+.microorgan4is4m1s2
+.mi8l8l9a8g8e.
+.m4il1l
+.mi8l9l8i9l8i8t8e8r.
+.mill2i
+.mil4l4i4l
+.millil1i
+.mill2il1it
+.millil2ite
+.mi8m8e8o9g8r8a8p8h8e8d.
+.mimeo2g
+.mimeo1gr
+.mimeograph4ed
+.mi8m8e8o9g8r8a8p8h8s.
+.mimeogra4p4h1s2
+.mi8m9i8c9r8i8e8s.
+.mim1i
+.mim4i1cr
+.mimicri2
+.mimicr2ie4
+.mi8n9i8s.
+.m2ini
+.min1is
+.mi8n8i9s8y8m9p8o9s8i8u8m.
+.minis4y
+.minisy4m1p
+.minisym1pos
+.minisympo5si4u
+.mi8n8i9s8y8m9p8o9s8i8a.
+.minisympos2i1a
+.mi9n8u8t9e8r.
+.m4in1u
+.mi9n8u8t9e8s8t.
+.mi8s9c8h8i8e9v8o8u8s9l8y.
+.m2is1c
+.mis3ch2
+.misch2ie4
+.mischievou2
+.mischievo2us
+.mischievous1l2
+.mischievous1ly
+.mi9s8e8r8s.
+.m4ise
+.mis3er
+.mise4r1s2
+.mi9s8o8g9a9m8y.
+.mi2so
+.miso1ga
+.miso2gam
+.mo8d9e8l9l8i8n8g.
+.mo2d1
+.model1l
+.modell2i
+.model2lin4
+.mo8l9e9c8u8l8e.
+.mole1cu
+.mole4cul
+.molecul4e
+.mo8l9e9c8u8l8e8s.
+.molecules2
+.mo8n9a8r8c8h8s.
+.mo1n1a
+.monar3c
+.mon2a2r
+.monar2ch
+.monarc4h1s2
+.mo8n8e8y9l8e8n9d8e8r.
+.moneylen1de
+.mo8n8e8y9l8e8n9d8e8r8s.
+.moneylende4r5s2
+.mo8n8o9c8h8r8o8m8e.
+.mono2ch4
+.monoc4hr4
+.monochro2me
+.mo8n8o9e8n9e8r9g8e8t8i8c.
+.mo3noe
+.monoen1er
+.monoenerg2
+.monoener3get
+.monoenerget1ic
+.mo8n9o8i8d.
+.monoi2
+.mono2id
+.mo8n8o9p8o8l8e.
+.mo4nop
+.mo8n8o9p8o8l8e8s.
+.monopoles2
+.mo9n8o8p9o8l8y.
+.monopo2ly
+.mo8n8o9s8p8l8i8n8e.
+.monos1p2l2
+.monospli4n
+.monosp1l4ine
+.mo8n8o9s8p8l8i8n8e8s.
+.monospli1nes
+.mo8n8o9s8t8r8o8f8i8c.
+.monos5t
+.monost4r
+.monostro2fi
+.mo9n8o8t9o9n8i8e8s.
+.mono1to
+.mo2noto2n
+.monoton2ie4
+.mo9n8o8t9o9n8o8u8s.
+.mono4tono
+.monoto1nou2
+.monotono2us
+.mo9r8o8n9i8s8m.
+.moro5n4is
+.moro2n
+.moroni2s1m
+.mo8s9q8u8i9t8o.
+.mos2
+.mosqu2
+.mosq2ui2
+.mosqui1to
+.mo8s9q8u8i9t8o8s.
+.mosquitos2
+.mo8s9q8u8i9t8o8e8s.
+.mu8d9r8o8o8m.
+.mu1dr
+.mud1room
+.mudroo2
+.mu8d9r8o8o8m8s.
+.mudroo4m1s2
+.mu8l9t8i9f8a8c9e8t8e8d.
+.5mu4lt
+.mul1ti3
+.multif2
+.multi1fa
+.multifa4ce
+.multifacet4
+.multiface2t1ed
+.mu8l9t8i9p8l8i8c9a8b8l8e.
+.mult2ip
+.multi1p2l2
+.multipli1ca
+.multiplica1b2l2
+.mu8l8t8i9u8s8e8r.
+.multi4u
+.multi2us
+.ne8o9f8i8e8l8d8s.
+.3neo
+.ne5of
+.neo2fi
+.neof2ie4
+.neofie2ld3
+.neofiel2d1s2
+.ne8o9n8a8z8i.
+.neo2n
+.neo1n1a
+.neona2z1i
+.ne8o9n8a8z8i8s.
+.neonaz4is
+.ne8p8h9e8w8s.
+.nephe4
+.ne8p8h9r8i8t8e.
+.nep4hr4
+.nephr2ite
+.ne8p8h9r8i8t8i8c.
+.nephr4i2t3ic
+.nephri1ti
+.ne8w9e8s8t.
+.ne4w
+.newest3
+.ne8w8s9l8e8t9t8e8r.
+.news4l2
+.news2le
+.newsle4t3t2
+.ne8w8s9l8e8t9t8e8r8s.
+.newslette4r1s2
+.ni8t8r8o9m8e8t8h9a8n8e.
+.n2it
+.ni3tr
+.nitro2me
+.nitro4met
+.nitrometha2n4
+.no9n8a8m8e.
+.no4n
+.no1n1a
+.no8n9a8r9i8t8h9m8e8t9i8c.
+.nonar3i
+.non2a2r
+.nonar2ith
+.nonarit4h1m
+.nonarithmet4
+.nonarithmet1ic
+.no8n9e8m8e8r9g8e8n8c8y.
+.none1me
+.nonemerg2
+.nonemer1gen
+.nonemergen1cy
+.no8n9e8q8u8i9v8a8r8i9a8n8c8e.
+.none2q
+.nonequ2
+.noneq2ui2
+.nonequ2iv3
+.nonequi1va
+.nonequiv2a2r
+.nonequivar1i
+.nonequivar3i2a2n
+.nonequivar2i3a
+.nonequivar4ianc
+.no8n8e9t8h8e9l8e8s8s.
+.noneth2e
+.nonethe1les2
+.nonethe3l2e2ss
+.no8n9e8u8c8l8i8d9e8a8n.
+.non4eu
+.noneu1c4l4
+.noneucl2id
+.noneuclidea2n
+.no8n9i8s8o9m8o8r9p8h8i8c.
+.non5i
+.non1is
+.noni2so
+.noni3som
+.noniso1mo
+.nonisomo2r
+.nonisomor1p
+.nonisomorp4h4
+.nonisomorph1ic
+.no8n9p8s8e8u8d8o9c8o8m9p8a8c8t.
+.non1p4
+.non2p1s2
+.nonp2se
+.nonps4eu
+.nonpseu1do
+.nonpseudo1co
+.nonpseudoco4m1p
+.nonpseudocom1pa
+.nonpseudocompa2c4t
+.no8n9s8m8o8o8t8h.
+.no2n3s2
+.non2s3m
+.nons1mo
+.nonsmoo2
+.nonsmo4oth
+.no8n9u8n8i9f8o8r8m.
+.no3nu4n
+.nonu1ni
+.nonuni1fo
+.nonunifo2r
+.nonunifor1m
+.no8n9u8n8i9f8o8r8m9l8y.
+.nonunifor4m1l
+.nonuniform1ly
+.no8r9e8p9i9n8e8p8h9r8i8n8e.
+.nore5pi2n
+.norep2ine
+.norepinep4hr4
+.norep2inephr2in4e
+.no8t9w8i8t8h9s8t8a8n8d9i8n8g.
+.notw4
+.notwi2
+.notw2ith3
+.notwi2t4h1s2
+.notwith5st4and
+.notwiths1ta
+.notwithsta2n
+.notwithstand1in
+.nu9c8l8e8o9t8i8d8e.
+.nucle3
+.nu1c4l4
+.nucle4ot
+.nucleot2id
+.nu9c8l8e8o9t8i8d8e8s.
+.nucleotide4s2
+.nu8t9c8r8a8c8k9e8r.
+.nu4tc
+.nutcrack1
+.nutcrack1er
+.nu8t9c8r8a8c8k9e8r8s.
+.nutcracke4r1s2
+.oe8r9s8t8e8d8s.
+.o3er
+.oe4r1s2
+.oers4t1ed
+.oerste2d1s2
+.of8f9l8i8n8e.
+.o4f1f
+.off4l2
+.offlin4
+.off1l4ine
+.of8f9l8o8a8d.
+.offl4oa
+.offloa2d3
+.of8f9l8o8a8d8s.
+.offloa2d1s2
+.of8f9l8o8a8d8e8d.
+.offloa2d1ed
+.ol8i9g8o8p9o9l8i8s8t.
+.ol2i
+.ol2ig
+.oli2go
+.ol2igopol2i
+.ol8i9g8o8p9o9l8i8s8t8s.
+.oligopolis4t1s2
+.ol8i9g8o8p9o8l8y.
+.oligopo2ly
+.ol8i9g8o8p9o8l9i8e8s.
+.oligopol2ie4
+.op9e8r9a8n8d.
+.op1er
+.3oper1a
+.op4er4and
+.opera2n
+.op9e8r9a8n8d8s.
+.operan2d1s2
+.or8a8n8g9u8t8a8n.
+.ora2n
+.or2ang
+.oran1gu
+.oran4gu4t
+.orangu1ta
+.ora2nguta2n
+.or8a8n8g9u8t8a8n8s.
+.oranguta2n1s2
+.or9t8h8o9d8o8n9t8i8s8t.
+.ortho2do4
+.orthodo2n
+.orthodon3t4i
+.orthodon1t
+.or9t8h8o9d8o8n9t8i8s8t8s.
+.orthodontis4t1s2
+.or9t8h8o9k8e8r9a9t8o8l9o8g8y.
+.orth2ok
+.orthok1er
+.orthoker1a
+.orthokera1to
+.orthokeratol1o1gy
+.or8t8h8o9n8i8t8r8o9t8o8l8u8e8n8e.
+.ortho2n
+.orthon2it
+.orthoni3tr
+.orthonitro1to
+.orthonitrotolu3en
+.orthonitrotolu4ene
+.ov8e8r9v8i8e8w.
+.overv2ie4
+.ov8e8r9v8i8e8w8s.
+.ox9i8d9i8c.
+.ox3i
+.oxi5di
+.ox2id
+.pa8d9d8i8n8g.
+.1pa
+.p4a2d
+.pad4d1in
+.pad1d4
+.pa8i8n9l8e8s8s9l8y.
+.p4ai2
+.pa4i4n4
+.pa4i4n1l
+.painles2
+.pain3l2e2ss
+.painles4s1l2
+.painless1ly
+.pa8l9e8t8t8e.
+.p4al
+.p2ale
+.pale4t3t2
+.pa8l9e8t8t8e8s.
+.palet4tes
+.pa8r9a9b8o8l8a.
+.p2a2r
+.pa2rab
+.parabo1la
+.pa8r9a9b8o8l9i8c.
+.parabol3ic
+.parabol2i
+.pa9r8a8b9o9l8o8i8d.
+.paraboloi2
+.parabolo2id
+.pa8r9a9d8i8g8m.
+.para2d
+.par2adi
+.parad2ig
+.paradig1m
+.pa8r9a9d8i8g8m8s.
+.paradig4m1s2
+.pa8r8a9c8h8u8t8e.
+.para2ch
+.parachu4t
+.pa8r8a9c8h8u8t8e8s.
+.pa8r8a9d8i9m8e8t8h8y8l9b8e8n8z8e8n8e.
+.parad4imet
+.paradimethy2l1b
+.paradimethylb4e4n3z
+.paradimethylben2ze
+.paradimethylbenze4n
+.pa8r8a9f8l8u8o8r8o9t8o8l8u8e8n8e.
+.para2f
+.paraf4l2
+.paraflu3o
+.parafluo3r
+.parafluoro1to
+.parafluorotolu3en
+.parafluorotolu4ene
+.pa8r8a9g8r8a8p8h9e8r.
+.para1gr
+.parag5ra3ph4er
+.pa8r8a9l8e9g8a8l.
+.par3al
+.par2ale
+.paral4egal
+.parale1ga
+.pa8r9a8l9l8e8l9i8s8m.
+.paral1l
+.paral2le
+.paral3lel
+.parallel2i
+.paralle2lis
+.paralleli2s1m
+.pa8r8a9m8a8g9n8e8t9i8s8m.
+.par4a1ma
+.param3ag
+.para5mag1n
+.paramagneti2s4m
+.pa8r8a9m8e8d8i8c.
+.para2med
+.param4edi
+.pa8r8a9m8e8t8h8y8l9a8n8i8s8o8l8e.
+.param3et
+.paramethy3la
+.paramethyla2n
+.paramethylani2so
+.pa9r8a8m9e9t8r8i8z8e.
+.param4etr
+.parametri2ze
+.pa8r8a9m8i8l9i9t8a8r8y.
+.par2ami
+.paramil1i
+.param2il1it
+.paramili1ta
+.paramilit2a2r
+.pa8r8a9m8o8u8n8t.
+.para2mo
+.paramou2
+.paramoun1t
+.pa8t8h9o9g8e8n9i8c.
+.p4ath
+.pat4ho
+.patho4g
+.patho1ge4
+.patho1gen
+.pe8e8v9i8s8h.
+.p4ee
+.pee1vi
+.peevis2h
+.pe8e8v9i8s8h9n8e8s8s.
+.peevis2h1n
+.peevish1nes
+.peevishn2e2ss
+.pe8n9t8a9g8o8n.
+.pen1t
+.pen1ta
+.penta2go
+.pentago2n2
+.pe8n9t8a9g8o8n8s.
+.pentago2n3s2
+.pe9t8r8o9l8e9u8m.
+.petrol4eu
+.ph8e9n8o8m9e9n8o8n.
+.ph4e3no
+.phe2n
+.pheno2me
+.pheno1men
+.phenom4eno
+.phenomeno4n
+.ph8e8n8y8l9a8l8a9n8i8n8e.
+.pheny3la
+.phenylala2n
+.phenylala5n2ine
+.phenylalan1in
+.ph8i9l8a8t9e9l8i8s8t.
+.phi4latel2i4
+.philate2lis
+.ph8i9l8a8t9e9l8i8s8t8s.
+.philatelis4t1s2
+.ph8o9n8e8m8e.
+.3phone
+.pho2n
+.phone1me
+.ph8o9n8e8m8e8s.
+.phone2mes
+.ph8o9n8e9m8i8c.
+.phone5mi
+.ph8o8s9p8h8o8r9i8c.
+.phos1p
+.phospho5
+.phospho4r
+.ph8o9t8o9g8r8a8p8h8s.
+.pho1to
+.photo2gr
+.photogra4p4h1s2
+.ph8o9t8o9o8f8f9s8e8t.
+.photoo2
+.photoo4f1f
+.photoof2f3s
+.pi8c9a9d8o8r.
+.pi1ca
+.pica2d
+.pica1do
+.picad4or
+.pi8c9a9d8o8r8s.
+.picado4rs2
+.pi8p8e9l8i8n8e.
+.p2ip
+.pipe4
+.pipel2i
+.pipe1l4ine
+.pi8p8e9l8i8n8e8s.
+.pipeli1nes
+.pi8p8e9l8i8n9i8n8g.
+.pipel2in3i
+.pipelin1in
+.pipelinin4g
+.pi9r8a9n8h8a8s.
+.p4ir
+.pi1ra
+.pira2n
+.pira4n1h4
+.piranha4
+.pl8a8c8a9b8l8e.
+.1p2l2
+.pla1ca
+.placa1b2l2
+.pl8a8n8t9h8o8p9p8e8r.
+.3pla2n
+.plan1t
+.plantho4p1p
+.planthop2pe
+.planthop3per
+.pl8a8n8t9h8o8p9p8e8r8s.
+.planthoppe4r1s2
+.pl8e8a8s9a8n8c8e.
+.ple2a
+.pleasa2
+.plea3sanc
+.pleasa2n
+.pl8u8g9i8n.
+.plug5in
+.pl8u8g9i8n8s.
+.plu5g4i2n1s2
+.po8l9t8e8r9g8e8i8s8t.
+.po4l2t
+.pol1te
+.polterg2
+.poltergei2
+.po8l8y9e8n8e.
+.po2ly
+.po8l8y9e8t8h9y8l9e8n8e.
+.polye4t
+.po9l8y8g9a9m8i8s8t.
+.poly1ga
+.poly2gam
+.polygam2is
+.po9l8y8g9a9m8i8s8t8s.
+.polygamis4t1s2
+.po8l8y8g9o8n9i9z8a9t8i8o8n.
+.poly1go
+.polygo2n2
+.polygo3ni
+.polygoniza1
+.polygoniza1t2io
+.polygonizatio2n
+.po9l8y8p8h9o9n8o8u8s.
+.polypho2n
+.polypho1nou2
+.polyphono2us
+.po8l8y9s8t8y8r8e8n8e.
+.po2lys4
+.polys1t
+.polys2ty
+.po8m8e9g8r8a8n9a8t8e.
+.po2me
+.pome2g
+.pome1gr
+.pomegra2n2
+.pomegra1na
+.pomegran2at
+.po8r8o9e8l8a8s9t8i8c.
+.1p4or
+.poro4e
+.poro4el
+.poroe1la
+.poroelast2i
+.poroelas1tic
+.po8r9o8u8s.
+.porou2
+.poro2us
+.po8r9t8a9b8l8e.
+.por1ta
+.por2tab
+.portab2l2
+.po8s8t9a8m9b8l8e.
+.1pos
+.pos2ta
+.posta4m1b
+.postamb2l2
+.po8s8t9a8m9b8l8e8s.
+.postambles2
+.po8s8t9h8u9m8o8u8s.
+.posthu1mo
+.posthu3mo2us
+.posthumou2
+.po8s8t9s8c8r8i8p8t.
+.pos4t1s2
+.post4sc
+.postscri2
+.postscr2ip
+.postscri2p1t
+.po8s8t9s8c8r8i8p8t8s.
+.postscrip4t1s2
+.po8s9t8u8r9a8l.
+.pos1tu
+.postu1ra
+.pr8e9a8m9b8l8e.
+.prea4m1b
+.preamb2l2
+.pr8e9a8m9b8l8e8s.
+.preambles2
+.pr8e9l8o8a8d8e8d.
+.prel4oa
+.preloa2d3
+.preloa2d1ed
+.pr8e9p8a8r9i8n8g.
+.pre2pa
+.prep4a4r1i
+.prep2a2r
+.preparin4g
+.pr8e9p8r8i8n8t.
+.pr2epr2
+.preprin4t3
+.pr8e9p8r8i8n8t8s.
+.preprin4t4s2
+.pr8e9p8r8o8c8e8s9s8o8r.
+.pre3pro
+.prepr2oc
+.prepro1ce
+.preproc2e2ss
+.preproces1so
+.pr8e9p8r8o8c8e8s9s8o8r8s.
+.preprocesso4rs2
+.pr8e9s8p8l8i8t9t8i8n8g.
+.pre1sp
+.pres1p2l2
+.prespl1it
+.prespl4i4t3t2
+.presplit2t1in
+.pr8e9w8r8a8p.
+.prewra4
+.pr8e9w8r8a8p8p8e8d.
+.prewra4p1p
+.prewrap2pe
+.prewrap4p2ed
+.pr8i8e8s8t9e8s8s8e8s.
+.5pr2i4e4
+.pri1est
+.pries4t2e2ss
+.priestess1e4s
+.pr8e8t9t8y9p8r8i8n9t8e8r.
+.pre4t3t2
+.pret1ty
+.pr2ettypr2
+.prettyprin4t3
+.pr8e8t9t8y9p8r8i8n9t8i8n8g.
+.prettyprint2i
+.prettyprin4t3ing
+.prettyprin2t1in
+.pr8o9c8e9d8u8r9a8l.
+.pr2oc
+.pro1ce
+.proce1du
+.procedu1ra
+.pr8o8c8e8s8s.
+.proc2e2ss
+.pr8o9c8u8r9a8n8c8e.
+.procu1ra
+.procura2n
+.pr8o8g9e9n8i8e8s.
+.pro1ge
+.pro1gen
+.proge5n2ie4
+.pr8o8g9e9n8y.
+.pro4geny
+.pr8o9g8r8a8m9m8a8b8l8e.
+.pro1gr
+.program1m
+.program1ma
+.program2mab
+.programmab2l2
+.pr8o8m9i9n8e8n8t.
+.prom4i
+.prom1in
+.prom2ine
+.promi1nen
+.prominen1t
+.pr8o9m8i8s9c8u9o8u8s.
+.prom2is
+.prom2is1c
+.promis1cu
+.promiscu1ou2
+.promiscuo2us
+.pr8o8m9i8s9s8o8r8y.
+.prom4i2s1s
+.promis1so
+.promisso1ry
+.pr8o8m9i8s8e.
+.prom4ise
+.pr8o8m9i8s8e8s.
+.promis1e4s
+.pr8o9p8e8l9l8e8r.
+.pro3pel
+.propel1l
+.propel2le
+.pr8o9p8e8l9l8e8r8s.
+.propelle4r1s2
+.pr8o9p8e8l9l8i8n8g.
+.propell2i
+.propel2lin4
+.pr8o9h8i8b9i9t8i8v8e.
+.pro1h2
+.prohibi2t
+.prohibi1ti
+.prohibi1t2iv
+.pr8o9h8i8b9i9t8i8v8e9l8y.
+.prohibitiv4e1ly
+.pr8o9s8c8i8u8t9t8o.
+.pros2c
+.pros1ci
+.prosci1u
+.prosciu4t3t2
+.prosciut5to
+.pr8o9t8e8s8t9e8r.
+.pro1t
+.pro4tes
+.pr8o9t8e8s8t9e8r8s.
+.proteste4r1s2
+.pr8o9t8e8s9t8o8r.
+.prot4es2to
+.pr8o9t8e8s9t8o8r8s.
+.protesto4rs2
+.pr8o9t8o9l8a8n9g8u8a8g8e.
+.pro1to
+.proto1la
+.proto4la2n
+.protol2ang
+.protolan1gu
+.protolangu4a
+.pr8o9t8o9t8y8p9a8l.
+.proto1ty
+.prototy1pa
+.prototyp4al
+.pr8o8v9i8n8c8e.
+.prov1in
+.prov2inc
+.pr8o8v9i8n8c8e8s.
+.pr8o9v8i8n9c8i8a8l.
+.provin1ci
+.provin3c2i1a
+.provinci2al
+.pr8o8w9e8s8s.
+.prow2e2ss
+.ps8e8u9d8o9d8i8f9f8e8r9e8n9t8i8a8l.
+.2p1s2
+.p2se
+.ps4eu
+.pseu1do
+.pseudod1if
+.pseudodi4f1f
+.pseudodiffer1
+.pseudodiffer3en1t
+.pseudodifferent2i
+.pseudodifferen1t2i1a
+.pseudodifferenti2al
+.ps8e8u9d8o9f8i9n8i8t8e.
+.pseu2d5of
+.pseudo2fi
+.pseudo2fin
+.pseudof2ini
+.pseudofin2it
+.pseudofin2ite
+.ps8e8u9d8o9f8i9n8i8t8e9l8y.
+.pseudofinite1ly
+.ps8e8u9d8o9f8o8r8c8e8s.
+.pseudo1fo
+.pseudofo2r
+.pseudofor1c
+.pseudofor2ce
+.ps8e8u9d8o8g9r8a9p8h8e8r.
+.pseud4og
+.pseudo1gr
+.pseudog5ra3ph4er
+.ps8e8u9d8o9g8r8o8u8p.
+.pseudo4g4ro
+.pseudogrou2
+.ps8e8u9d8o9g8r8o8u8p8s.
+.pseudogrou2p1s2
+.ps8e8u9d8o9n8y8m.
+.pseu4do2n
+.pseudonym4
+.ps8e8u9d8o9n8y8m8s.
+.pseudony4m1s2
+.ps8e8u9d8o9w8o8r8d.
+.pseudo4wo2
+.ps8e8u9d8o9w8o8r8d8s.
+.pseudowor2d1s2
+.ps8y9c8h8e9d8e8l9i8c.
+.ps4y
+.p4sy1c
+.psy3ch
+.psych4e2
+.psy4ch4ed
+.psychedel2i
+.ps8y8c8h8s.
+.psyc4h1s2
+.pu9b8e8s9c8e8n8c8e.
+.pub3
+.pub4e
+.pu4bes4
+.pubes2c
+.pubes1cen
+.pubes3cenc
+.qu8a8d9d8i8n8g.
+.qu2
+.qua2d
+.quad4d1in
+.quad1d4
+.qu8a9d8r8a8t9i8c.
+.qua1dr
+.quadrat1ic
+.qu8a9d8r8a8t9i8c8s.
+.quadrati4c3s2
+.qu8a8d9r8a9t8u8r8e.
+.quadra2tu
+.quadra3ture
+.qu8a8d9r8i9p8l8e8g9i8c.
+.quadri2p2l2
+.quadr2ip
+.quadripleg4ic
+.qu8a8i8n8t9e8r.
+.quai2
+.qua4i4n
+.quain1t
+.qu8a8i8n8t9e8s8t.
+.qu8a9s8i9e8q8u8i8v9a9l8e8n8c8e.
+.quas2ie4
+.quasie1q
+.qu2asiequ2
+.quasieq2ui2
+.quasiequ2iv3
+.quasiequi1va
+.quasiequiv2ale
+.quasiequiva3lenc
+.qu8a9s8i9e8q8u8i8v9a9l8e8n8c8e8s.
+.qu8a9s8i9e8q8u8i8v9a9l8e8n8t.
+.quasiequiva1len1t
+.qu8a9s8i9h8y9p8o9n8o8r9m8a8l.
+.quasi3h
+.quasihy3po
+.quasihypo2n
+.quasihyponor1m
+.quasihyponor1ma
+.qu8a9s8i9r8a8d9i9c8a8l.
+.quas4i2r
+.quasi1r5a
+.quasira2d
+.quasir2adi
+.quasirad3i1ca
+.qu8a9s8i9r8e8s8i8d9u8a8l.
+.quasi4res
+.quasire1si
+.quasire2s2id
+.quasiresi2du
+.quasiresid1u1a
+.qu8a9s8i9s8m8o8o8t8h.
+.qua1sis
+.quasi2s1m
+.quasis1mo
+.quasismoo2
+.quasismo4oth
+.qu8a9s8i9s8t8a9t8i8o8n9a8r8y.
+.quasis1ta
+.quasistation5a2r
+.quasista1t2io
+.quasistatio2n
+.quasistatio1n1a
+.qu8a9s8i9t8o8p8o8s.
+.qu5a5si4t
+.quasi1to
+.quasito1pos
+.qu8a9s8i9t8r8i9a8n9g8u9l8a8r.
+.quasi5tr2i3a
+.quasitri2a2n
+.quasitri2ang
+.quasitrian1gu
+.quasitriangu1la
+.quasitriangul2a2r
+.qu8a9s8i9t8r8i8v9i8a8l.
+.quasitr2i4v
+.quasitriv3i
+.quasitriv2i1a
+.quasitrivi2al
+.qu8i8n9t8e8s9s8e8n8c8e.
+.q2ui2
+.qui4n
+.quin1t
+.quin4t2e2ss
+.quintes4senc
+.qu8i8n9t8e8s9s8e8n8c8e8s.
+.qu8i8n9t8e8s9s8e8n9t8i8a8l.
+.quintessen1t
+.quintessent2i
+.quintessen1t2i1a
+.quintessenti2al
+.ra8b9b8i8t9r8y.
+.2rab
+.ra2b1b
+.rabbi2t
+.rabbi3tr
+.rabbit5ry
+.ra9d8i9o8g9r8a9p8h8y.
+.ra2d
+.r2adi
+.ra3d2io
+.radio5g
+.radio2gr
+.radio4g3ra1phy
+.ra8f8f9i8s8h.
+.raf5fi
+.ra2f
+.ra4f1f4
+.raf2f5is
+.raffis2h
+.ra8f8f9i8s8h9l8y.
+.raffis4h1l4
+.raffish1ly
+.ra8m9s8h8a8c8k8l8e.
+.ra4m1s2
+.ram4s2h
+.ramshack1
+.ramshack1l
+.ra8v9e8n9o8u8s.
+.rav4e4no
+.rave1nou2
+.raveno2us
+.re9a8r8r8a8n8g8e9m8e8n8t.
+.re5ar1r4
+.re2a2r
+.rearran4ge
+.rearra2n
+.rearr2ang
+.rearrange1me
+.rearrange1men
+.rearrange3men1t
+.re9a8r8r8a8n8g8e9m8e8n8t8s.
+.rearrangemen4t4s2
+.re8c9i9p8r8o8c9i9t8i8e8s.
+.reciproci1ti
+.reciprocit2ie4
+.re8c9t8a8n9g8l8e.
+.rec4ta2n
+.re2c1t
+.rect5ang
+.rec1ta
+.rectan1gl2
+.rectan1gle
+.re8c9t8a8n9g8l8e8s.
+.rectangles2
+.re8c9t8a8n9g8u9l8a8r.
+.rectan1gu
+.rectangu1la
+.rectangul2a2r
+.re9d8i9r8e8c8t.
+.2r2ed
+.r4edi
+.red4ir2
+.redi1re
+.redire2c1t
+.re9d8i9r8e8c8t9i8o8n.
+.redirec1t2io
+.redirectio2n
+.re9d8u8c9i8b8l8e.
+.re1du
+.redu2c
+.reduci4b
+.redu1ci
+.reduci1b2l2
+.re9e8c8h8o.
+.ree2c
+.ree2ch
+.ree3cho2
+.re9p8h8r8a8s8e.
+.rep4hr4
+.rephr2as
+.re9p8h8r8a8s8e8s.
+.rephras1e4s
+.re9p8h8r8a8s8e8d.
+.rephra4s4ed
+.re9p8o9s8i9t8i8o8n.
+.re4posi
+.re1po
+.re1pos
+.repo3s2i1t2io
+.reposi1ti
+.repositio2n
+.re9p8o9s8i9t8i8o8n8s.
+.repositio2n3s2
+.re9p8r8i8n8t.
+.repr2
+.reprin4t3
+.re9p8r8i8n8t8s.
+.reprin4t4s2
+.re9s8t8o8r9a8b8l8e.
+.r4es2to
+.resto2ra
+.resto2rab
+.restorab2l2
+.re8t8r8o9f8i8t.
+.retro2fi
+.re8t8r8o9f8i8t9t8e8d.
+.retrof4i4t4t2
+.retrofit2t1ed
+.re9u8s9a8b8l8e.
+.r4eu2
+.re2us4
+.reusa2
+.reu2s1ab
+.reusab2l2
+.re9u8s8e.
+.re9w8i8r8e.
+.rewi2
+.rew4ir4
+.re9w8r8a8p.
+.rewra4
+.re9w8r8a8p8p8e8d.
+.rewra4p1p
+.rewrap2pe
+.rewrap4p2ed
+.re9w8r8i8t8e.
+.rewri4
+.rewr2ite
+.rh8i9n8o8c9e8r9o8s.
+.rh4
+.rh2i1no
+.rhi4no4c
+.rhino1ce
+.rhinoc2ero
+.ri8g8h8t9e8o8u8s.
+.righ1teo
+.righteou2
+.righteo2us
+.ri8g8h8t9e8o8u8s9n8e8s8s.
+.righteous1n4
+.righteous1nes
+.righteousn2e2ss
+.ri8n8g9l8e8a8d8e8r.
+.rin4g
+.ringl2
+.rin1gle
+.ringle2a
+.ringlea2d1
+.ri8n8g9l8e8a8d8e8r8s.
+.ringleade4r5s2
+.ro9b8o8t.
+.ro9b8o8t8s.
+.robo4t1s2
+.ro9b8o8t8i8c.
+.ro9b8o8t9i8c8s.
+.roboti4c3s2
+.ro8u8n8d9t8a8b8l8e.
+.rou2
+.roun2d
+.round1ta
+.round2tab
+.roundtab2l2
+.ro8u8n8d9t8a8b8l8e8s.
+.roundta5bles2
+.sa8l8e8s9c8l8e8r8k.
+.sa2
+.s2ale
+.sales2
+.sales2c
+.salescle5
+.sales1c4l4
+.sa8l8e8s9c8l8e8r8k8s.
+.salescler4k1s2
+.sa8l8e8s9w8o8m8a8n.
+.sales4w2
+.sale4s1wo2
+.saleswom1
+.saleswo1ma
+.saleswoma2n
+.sa8l8e8s9w8o8m8e8n.
+.saleswo2me
+.saleswo1men
+.sa8l9m8o9n8e8l9l8a.
+.s4a2l4m
+.salmo2n4
+.sal1mo
+.salmon4ella
+.salmonel1l
+.sa8l9t8a9t8i8o8n.
+.sa4l4t
+.sal1ta
+.salta1t2io
+.saltatio2n
+.sa8r9s8a9p8a8r9i8l9l8a.
+.s2a2r
+.sa2r4sa2
+.sa4rs2
+.sars1ap
+.s2a2rsap2a2r4
+.sarsa1pa
+.sarsap4a4r1i
+.sarsaparil1l
+.sa8u8e8r9k8r8a8u8t.
+.sau4
+.sauerkrau4t
+.sc8a8t9o9l8o8g9i9c8a8l.
+.s1ca
+.sca1to
+.scato3log1ic
+.scatologi1ca
+.sc8h8e8d9u8l9i8n8g.
+.s2ch2
+.sche2
+.s4ch4ed
+.sche4dul
+.sche1du
+.schedul2i
+.schedul3ing
+.sc8h8i8z9o9p8h8r8e8n8i8c.
+.schi2z
+.schi1zo
+.schiz2oph
+.schizop4hr4
+.sc8h8n8a8u9z8e8r.
+.sc2h1n
+.sch1na
+.schn2au
+.schnau2z4e
+.schnauz1er
+.sc8h8o8o8l9c8h8i8l8d.
+.s4cho2
+.schoo2
+.schoo4l1c2
+.s2chool2ch
+.schoolch4il2
+.schoolchi2ld
+.sc8h8o8o8l9c8h8i8l8d9r8e8n.
+.schoolchil3dr
+.schoolchildre4
+.schoolchil5dren
+.sc8h8o8o8l9t8e8a8c8h8e8r.
+.schoo4l2t
+.school1te
+.s2chooltea2ch
+.schoolteache2
+.sc8h8o8o8l9t8e8a8c8h9e8r8s.
+.schoolteach3e4r1s2
+.sc8r8u9t8i9n8y.
+.scru2t1i5n
+.scr4u1t2i
+.scrut4iny
+.sc8y8t8h9i8n8g.
+.s1cy
+.scy3thin
+.se8l8l9e8r.
+.sel2le
+.se8l8l9e8r8s.
+.selle4r1s2
+.se8c9r8e9t8a8r9i8a8t.
+.se1cr
+.se4c3re1ta
+.secret2a2r
+.secretar1i
+.secretar2i3a
+.se8c9r8e9t8a8r9i8a8t8s.
+.secretaria4t1s2
+.se8m9a9p8h8o8r8e.
+.se1ma
+.se4map
+.semapho4r
+.se8m9a9p8h8o8r8e8s.
+.se9m8e8s9t8e8r.
+.4se1me
+.se2mes
+.se8m8i9d8e8f9i9n8i8t8e.
+.sem2id
+.semide1f
+.semidef5i5n2ite
+.semide1fi
+.semide2fin
+.semidef2ini
+.semidefin2it
+.se8m8i9d8i9r8e8c8t.
+.semi2di
+.semid4ir2
+.semidi1re
+.semidire2c1t
+.se8m8i9h8o9m8o9t8h8e8t9i8c.
+.semi3h
+.semiho1mo
+.semihom4oth3
+.semihomoth2e
+.semihomo3the4t
+.semihomothet1ic
+.se8m8i9r8i8n8g.
+.sem4ir
+.semir1i
+.semirin4g
+.se8m8i9r8i8n8g8s.
+.semirings2
+.se8m8i9s8i8m9p8l8e.
+.se4m2is
+.semisi4m1p
+.semisim1p2l2
+.se8m8i9s8k8i8l8l8e8d.
+.sem4is4k2
+.semisk1i
+.semisk4il1l
+.semiskil2le
+.se8r8o9e8p8i9d8e9m8i9o9l8o8g9i9c8a8l.
+.s2er4o
+.sero4e
+.seroep4id
+.seroepi3de
+.seroepid4em
+.seroepidem2io
+.seroepidemi1ol
+.seroepidemio3log1ic
+.seroepidemiologi1ca
+.se8r9v8o9m8e8c8h9a8n8i8s8m.
+.4ser3vo
+.servo2me
+.servome2ch
+.servomech5a5nis
+.servomecha2n
+.servomechani2s1m
+.se8r9v8o9m8e8c8h9a8n8i8s8m8s.
+.servomechan4is4m1s2
+.se8s9q8u8i9p8e9d8a9l8i8a8n.
+.s1e4s
+.sesqu2
+.sesq2ui2
+.sesqu2ip
+.sesquipe4
+.sesqui2p2ed
+.sesquip2e2d2a
+.sesquipedal1i
+.sesquipedal2i1a
+.sesquipedali2a2n
+.se8t9u8p.
+.se1tu
+.se8t9u8p8s.
+.setu2p1s2
+.se9v8e8r8e9l8y.
+.5sev
+.sev1er
+.sev4erel
+.severe1ly
+.sh8a8p8e9a8b8l8e.
+.sha3pe4a
+.shape1a4b
+.shapeab2l2
+.sh8o8e9s8t8r8i8n8g.
+.sho4
+.sho2est4r
+.shoestrin4g
+.sh8o8e9s8t8r8i8n8g8s.
+.shoestrings2
+.si8d8e9s8t8e8p.
+.5side4s2
+.s2id
+.sideste4p
+.si8d8e9s8t8e8p8s.
+.sideste2p1s2
+.si8d8e9s8w8i8p8e.
+.sides4w2
+.sideswi2
+.sidesw2ip
+.sideswipe4
+.sk8y9s8c8r8a8p8e8r.
+.sk2
+.skys4c
+.skyscrap3er
+.sk8y9s8c8r8a8p8e8r8s.
+.skyscrape4r1s2
+.sm8o8k8e9s8t8a8c8k.
+.2s1m
+.s1mo
+.s4m2ok
+.smokes4
+.smokes1ta
+.smokestack1
+.sm8o8k8e9s8t8a8c8k8s.
+.smokestac4k1s2
+.sn8o8r9k8e8l9i8n8g.
+.s1n4
+.snorke5l2i
+.snorke4l3ing
+.so9l8e9n8o8i8d.
+.1so
+.sol4eno
+.solenoi2
+.soleno2id
+.so9l8e9n8o8i8d8s.
+.solenoi2d1s2
+.so8l8u8t8e.
+.so1lut
+.so8l8u8t8e8s.
+.so8v9e8r9e8i8g8n.
+.4sov
+.soverei2
+.sovere2ig2
+.so8v9e8r9e8i8g8n8s.
+.sovereig2n1s2
+.sp8a9c8e8s.
+.2s1pa
+.spa4ce
+.sp8e9c8i8o8u8s.
+.spe2c
+.spe1c2i
+.spec2io
+.speciou2
+.specio2us
+.sp8e8l8l9e8r.
+.spel1l
+.spel2le
+.sp8e8l8l9e8r8s.
+.spelle4r1s2
+.sp8e8l8l9i8n8g.
+.spell2i
+.spel2lin4
+.sp8e9l8u8n8k9e8r.
+.spelu4nk2
+.spelunk1er
+.sp8e8n8d9t8h8r8i8f8t.
+.spen4d
+.spend2th
+.spendt4hr4
+.spendthr4i2ft
+.sp8h8e8r9o8i8d.
+.s2phe
+.3sph4er
+.sph2ero
+.spheroi2
+.sphero2id
+.sp8h8e8r9o8i8d9a8l.
+.spheroi1d2a
+.sp8h8i8n9g8e8s.
+.sph5ing
+.sph4inge
+.sp8i8c9i9l8y.
+.sp2i1ci
+.spici1ly
+.sp8i8n9o8r8s.
+.spi2n
+.sp4i1no
+.spino4rs2
+.sp8o8k8e8s9w8o8m8a8n.
+.sp2ok
+.spokes4
+.spokes4w2
+.spoke4s1wo2
+.spokeswom1
+.spokeswo1ma
+.spokeswoma2n
+.sp8o8k8e8s9w8o8m8e8n.
+.spokeswo2me
+.spokeswo1men
+.sp8o8r8t8s9c8a8s8t.
+.s1p4or4
+.spor4t1s2
+.sport4sc
+.sports1ca
+.sp8o8r8t8s9c8a8s8t9e8r.
+.sportscast5er
+.sp8o8r9t8i8v8e9l8y.
+.spor1ti
+.spor4t2iv
+.sportiv4e1ly
+.sp8o8r8t8s9w8e8a8r.
+.sport4sw2
+.sportswe2a2r
+.sp8o8r8t8s9w8r8i8t8e8r.
+.sportswri4
+.sportswr2ite
+.sp8o8r8t8s9w8r8i8t8e8r8s.
+.sportswrit5e4r1s2
+.sp8r8i8g8h8t9l8i8e8r.
+.spr2
+.spr2ig
+.sprigh2tl
+.sprightl2ie4
+.sq8u8e8a9m8i8s8h.
+.squ2
+.squeam2is
+.squeamis2h
+.st8a8n8d9a8l8o8n8e.
+.5st4and
+.sta2n
+.stan1d2a
+.standalo2n
+.st8a8r9t8l8i8n8g.
+.st2a2r
+.star2tl
+.st8a8r9t8l8i8n8g9l8y.
+.startlingl2
+.startling1ly
+.st8a9t8i8s9t8i8c8s.
+.statis1t2i
+.statis1tic
+.statisti4c3s2
+.st8e8a8l8t8h9i8l8y.
+.stea4l
+.stea4lt
+.stealth3i
+.steal4th4il2
+.stealthi1ly
+.st8e8e8p8l8e9c8h8a8s8e.
+.s1tee
+.stee4p1
+.stee1p2l2
+.steeple2ch
+.st8e8r8e8o9g8r8a8p8h9i8c.
+.stere1o
+.stereo2g
+.stereo1gr
+.stereo5graph1ic
+.stereogr4aphi
+.st8o9c8h8a8s9t8i8c.
+.s1to
+.sto2ch4
+.stochast2i
+.stochas1tic
+.st8r8a8n8g8e9n8e8s8s.
+.st4r
+.s1tra
+.stran4ge
+.stra2n
+.str2ang
+.strange4n4e
+.stran1gen
+.strange1nes
+.strangen2e2ss
+.st8r8a8p9h8a8n8g8e8r.
+.straph2an4g
+.straphang5er
+.strapha2n
+.st8r8a8t9a9g8e8m.
+.stra2ta
+.st8r8a8t9a9g8e8m8s.
+.stratage4m1s2
+.st8r8e8t8c8h9i9e8r.
+.stre4tc
+.stret4ch
+.stretch2ie4
+.st8r8i8p9t8e8a8s8e.
+.str2ip
+.stri2p1t
+.strip2te
+.st8r8o8n8g9h8o8l8d.
+.stro2n
+.strongho2l2d
+.st8r8o8n8g9e8s8t.
+.st8u9p8i8d9e8r.
+.s1tu
+.stup4id
+.stupi3de
+.st8u9p8i8d9e8s8t.
+.stupide4s2
+.su8b9d8i8f9f8e8r9e8n9t8i8a8l.
+.1su
+.su4b3
+.su4b1d
+.subd1if
+.subdi4f1f
+.subdiffer1
+.subdiffer3en1t
+.subdifferent2i
+.subdifferen1t2i1a
+.subdifferenti2al
+.su8b9e8x9p8r8e8s9s8i8o8n.
+.sub4e
+.sub1ex3p
+.subexpr2
+.subex3pr2e2ss
+.subexpres1si
+.subexpres1s2io
+.subexpres5sio2n
+.su8b9e8x9p8r8e8s9s8i8o8n8s.
+.subexpressio2n3s2
+.su8m9m8a9b8l8e.
+.su2m
+.sum1m
+.sum1ma
+.sum2mab
+.summab2l2
+.su8p8e8r9e8g8o.
+.su1pe
+.supere1go
+.su8p8e8r9e8g8o8s.
+.supere4gos
+.su9p8r8e8m9a9c8i8s8t.
+.supr2
+.supre4mac
+.supre1ma
+.suprem4a2ci
+.su9p8r8e8m9a9c8i8s8t8s.
+.supremacis4t1s2
+.su8r9v8e8i8l9l8a8n8c8e.
+.su2r
+.surv4e
+.survei2
+.surveil1l
+.surveilla2n
+.sw8i8m9m8i8n8g9l8y.
+.sw2
+.swi2
+.swim1m
+.swimm4ingl2
+.swimm5ing1ly
+.sy8m8p9t8o9m8a8t8i8c.
+.sy4m1p
+.sym2p1t
+.symp1to
+.sympto2ma
+.symptomat1ic
+.sy8n9c8h8r8o9m8e8s8h.
+.syn3c4hr4
+.syn2ch
+.synchro2me
+.synchro2mes
+.synchrom4es2h
+.sy8n9c8h8r8o9n8o8u8s.
+.synchro2n
+.synchro1nou2
+.synchrono2us
+.sy8n9c8h8r8o9t8r8o8n.
+.synchrotro2n
+.ta8f8f9r8a8i8l.
+.4ta2f4
+.ta4f1f4
+.taffr2ai2
+.ta8l8k9a9t8i8v8e.
+.ta2l
+.4talk
+.talka3
+.talka4t
+.talka1t2iv
+.ta9p8e8s9t8r8y.
+.tap2est4r
+.tape4stry
+.ta9p8e8s9t8r8i8e8s.
+.tapestr2ie4
+.ta8r9p8a8u9l8i8n.
+.t2a2r
+.tar2p
+.tar1pa
+.tarpau4l2
+.tarpaul2i
+.ta8r9p8a8u9l8i8n8s.
+.tarpaul2i2n1s2
+.te9l8e8g9r8a9p8h8e8r.
+.tele1gr
+.teleg5ra3ph4er
+.te9l8e8g9r8a9p8h8e8r8s.
+.telegraphe4r1s2
+.te8l8e9k8i9n8e8t9i8c.
+.teleki4n
+.telek1i
+.telek2ine
+.teleki3net1ic
+.te8l8e9k8i9n8e8t9i8c8s.
+.telekineti4c3s2
+.te8l8e9r8o9b8o8t9i8c8s.
+.te4l1er
+.tel4ero
+.teler5ob
+.teleroboti4c3s2
+.te8l8l9e8r.
+.tel1l
+.tel2le
+.te8l8l9e8r8s.
+.telle4r1s2
+.te8m9p8o9r8a8r9i8l8y.
+.te4m1p
+.tem1p4or
+.tempo1ra
+.tempo4raril
+.tempor2a2r
+.temporar1i
+.temporari1ly
+.te8n9u8r8e.
+.te8s8t9b8e8d.
+.tes2t1b
+.test4be2d
+.te8x8t9w8i8d8t8h.
+.3tex
+.tex1t2
+.textw4
+.textwi2
+.textw2id
+.textwid2th
+.th8a8l9a9m8u8s.
+.tha3la
+.thala3m
+.thala1mu
+.thalam2us
+.th8e8r9m8o9e8l8a8s9t8i8c.
+.th2e
+.ther3m4
+.ther1mo
+.thermo4el
+.thermoe1la
+.thermoelast2i
+.thermoelas1tic
+.ti8m8e9s8t8a8m8p.
+.ti2mes
+.times1ta
+.timesta4m1p
+.ti8m8e9s8t8a8m8p8s.
+.timestam2p1s2
+.to8o8l9k8i8t.
+.too2
+.toolk1i
+.to8o8l9k8i8t8s.
+.toolki4t1s2
+.to8p8o9g8r8a8p8h9i9c8a8l.
+.to5po4g
+.topo1gr
+.topo5graph1ic
+.topogr4aphi
+.topographi1ca
+.to8q8u8e8s.
+.to1q
+.toqu2
+.tr8a8i9t8o8r9o8u8s.
+.1tra
+.tr2ai2
+.trai1to
+.traitorou2
+.traitoro2us
+.tr8a8n8s9c8e8i8v8e8r.
+.tra2n
+.tra2n1s2
+.trans4c
+.tran4s3cei2
+.transce2iv
+.tr8a8n8s9c8e8i8v8e8r8s.
+.transceive4r1s2
+.tr8a8n8s9g8r8e8s8s.
+.tran2s3g
+.trans1gr
+.transgr2e2ss
+.tr8a8n8s9v8e8r9s8a8l.
+.tran4sv
+.transve4r1s2
+.transver1sa2
+.tr8a8n8s9v8e8r9s8a8l8s.
+.transversa2l1s2
+.tr8a8n8s9v8e8s9t8i8t8e.
+.transv4e2s
+.transvest2i
+.transvest2ite
+.tr8a8n8s9v8e8s9t8i8t8e8s.
+.transvestit4es
+.tr8a9v8e8r8s9a9b8l8e.
+.trave4r1s2
+.traver1sa2
+.traver2s1ab
+.traversab2l2
+.tr8a9v8e8r9s8a8l.
+.tr8a9v8e8r9s8a8l8s.
+.traversa2l1s2
+.tr8i9e8t8h8y8l9a8m8i8n8e.
+.tri5et
+.tr2ie4
+.triethy3la
+.triethylam1in
+.triethylam2ine
+.tr8e8a8c8h9e8r8i8e8s.
+.trea2ch
+.treache2
+.treacher1i
+.treacher2ie4
+.tr8o8u9b8a9d8o8u8r.
+.trou2
+.trouba2d
+.trouba1do
+.troubadou2
+.tu8r9k8e8y.
+.1tu
+.tu8r9k8e8y8s.
+.turkeys4
+.tu8r8n9a8r8o8u8n8d.
+.tur4n2a2r
+.tur1na
+.turnarou2
+.turnaroun2d
+.tu8r8n9a8r8o8u8n8d8s.
+.turnaroun2d1s2
+.ty8p9a8l.
+.1ty
+.ty1pa
+.typ4al
+.un9a8t9t8a8c8h8e8d.
+.un2at4
+.una4t3t2
+.unat1ta
+.unatta2ch
+.unattache2
+.unatta4ch4ed
+.un9e8r8r9i8n8g9l8y.
+.un4er
+.uner4r4
+.unerrin4g
+.unerringl2
+.unerring1ly
+.un9f8r8i8e8n8d9l8y.
+.un3f
+.unfri2
+.unfr2ie4
+.unfrien2d1ly
+.un9f8r8i8e8n8d9l8i9e8r.
+.unfriendl2ie4
+.va8g8u8e8r.
+.1va
+.vag4
+.va5guer
+.va2gue
+.va8u8d8e9v8i8l8l8e.
+.vaude1v4
+.vaude2v3i4l
+.vaude1vi
+.vaudevil1l
+.vaudevil2le
+.vi8c9a8r8s.
+.v4ic2a2r
+.vi1ca
+.vica4rs2
+.vi8l9l8a8i8n9e8s8s.
+.2vil
+.vil1l
+.villai2
+.villa4i4n
+.villa2ine
+.villai5n2e2ss
+.villai1nes
+.vi8s9u8a8l.
+.vi3su
+.visu1al
+.vi8s9u8a8l9l8y.
+.visual1l
+.visual1ly
+.vi9v8i8p9a9r8o8u8s.
+.3v2iv
+.viv2i4p
+.vivi1pa
+.vivip2a2r
+.viviparou2
+.viviparo2us
+.vo8i8c8e9p8r8i8n8t.
+.voi4
+.voi3cep
+.voicepr2
+.voiceprin4t3
+.vs8p8a8c8e.
+.v2s1pa
+.vspa4ce
+.wa8d9d8i8n8g.
+.wa2d
+.wad4d1in
+.wad1d4
+.wa8l8l9f8l8o8w8e8r.
+.wal1l
+.wal2lf
+.wallf4l2
+.wallflow1er
+.wa8l8l9f8l8o8w9e8r8s.
+.wallflowe4r1s2
+.wa8r8m9e8s8t.
+.w2a2r
+.war1m
+.war2me
+.war2mes
+.wa8s8t8e9w8a8t8e8r.
+.was4t
+.waste2w
+.waste1w5a
+.wastewa1te
+.wa8v8e9g8u8i8d8e.
+.waveg3
+.waveg2ui2
+.wavegu2id
+.wa8v8e9g8u8i8d8e8s.
+.waveguide4s2
+.wa8v8e9l8e8t.
+.wa8v8e9l8e8t8s.
+.wavele4t1s2
+.we8b9l8i8k8e.
+.w2e1b
+.web2l2
+.web3l4ik
+.we8e8k9n8i8g8h8t.
+.weekn2ig
+.we8e8k9n8i8g8h8t8s.
+.weeknigh4t1s2
+.wh8e8e8l9c8h8a8i8r.
+.whee4l1c2
+.wheel2ch
+.wheelchai2
+.wheelcha4ir
+.wh8e8e8l9c8h8a8i8r8s.
+.wheelchai4rs2
+.wh8i8c8h9e8v8e8r.
+.whi4
+.wh4i2ch
+.whiche2
+.whichev1er
+.wh8i8t8e9s8i8d8e8d.
+.wh2ite
+.whit4es
+.white1si
+.white2s2id
+.whitesi2d1ed
+.wh8i8t8e9s8p8a8c8e.
+.white1sp
+.white2s1pa
+.whitespa4ce
+.wh8i8t8e9s8p8a8c8e8s.
+.wi8d8e9s8p8r8e8a8d.
+.w2id
+.wide4s2
+.wide1sp
+.wides4pre
+.widespr2
+.widesprea2d1
+.wi8n8g9s8p8a8n.
+.win4g
+.wings2
+.wing2s1pa
+.wingspa4n
+.wi8n8g9s8p8a8n8s.
+.wingspa2n1s2
+.wi8n8g9s8p8r8e8a8d.
+.wingspr2
+.wingsprea2d1
+.wi8t8c8h9c8r8a8f8t.
+.wi4tc
+.wit4ch
+.witchcra2f4t
+.witchcra2f
+.wo8r8d9s8p8a8c9i8n8g.
+.1wo2
+.wor2d1s2
+.words4p
+.word2s1pa
+.wordsp4a2ci
+.wordspa2c1in
+.wordspac1ing
+.wo8r8k9a8r8o8u8n8d.
+.work2a2r
+.workarou2
+.workaroun2d
+.wo8r8k9a8r8o8u8n8d8s.
+.workaroun2d1s2
+.wo8r8k9h8o8r8s8e.
+.workh4
+.workhor4se
+.workho4rs2
+.wo8r8k9h8o8r8s8e8s.
+.workhors3e4s
+.wr8a8p9a8r8o8u8n8d.
+.wra4
+.wrap2a2r4
+.wra1pa
+.wraparou2
+.wraparoun2d
+.wr8e8t8c8h9e8d.
+.wre4tc
+.wret4ch
+.wretche2
+.wret4ch4ed
+.wr8e8t8c8h9e8d9l8y.
+.wretche2d1ly
+.ye8s9t8e8r9y8e8a8r.
+.yes4
+.yesterye2a2r
+.al9g8e9b8r8a8i9s8c8h8e.
+.algebra2is1c
+.algebrais3ch2
+.algebraische2
+.al9l8e9g8h8e9n8y.
+.al1l
+.al2le
+.al3leg
+.alleghe2n
+.ar9k8a8n9s8a8s.
+.arka2n
+.arkan2sa2
+.arka2n1s2
+.at8p9a8s8e.
+.a4t1p
+.at1pa
+.at8p9a8s8e8s.
+.atpas1e4s
+.au8s9t8r8a8l9a8s8i8a8n.
+.a2us
+.aus1t4r
+.aus1tra
+.australas2i1a
+.australasi2a2n
+.au8t8o9m8a8t8i9s8i8e8r9t8e8r.
+.automa3tis
+.automatis2ie4
+.automatisiert3er
+.be9d8i8e9n8u8n8g.
+.4be2d
+.b4e3di
+.be5di3en
+.bed2ie4
+.bedie3nu4n
+.be8m8b8o.
+.4be5m
+.be4m5b
+.bi8b9l8i9o9g8r8a9p8h8i9s8c8h8e.
+.bibliogr4aphi
+.bibliograph2is1c
+.bibliographis3ch2
+.bibliographische2
+.bo8s9t8o8n.
+.5bos4
+.bos1to
+.bosto2n
+.br8o8w8n9i8a8n.
+.brown5i
+.brow3n4i1a
+.browni3a2n
+.br8u8n8s9w8i8c8k.
+.bru2n
+.bru2n3s4
+.brun4sw2
+.brunswi2
+.brunswick1
+.bu9d8a9p8e8s8t.
+.bu1d2a
+.ca8r9i8b9b8e8a8n.
+.car1i
+.car4ib
+.cari2b1b
+.carib2be
+.caribbea2n
+.ch8a8r8l8e8s9t8o8n.
+.char4le4
+.char1l
+.charles2
+.charl4es2to
+.charle3sto2n
+.ch8a8r9l8o8t8t8e8s9v8i8l8l8e.
+.char3lo4
+.charlo4t3t2
+.charlot4tes
+.charlotte4sv
+.charlottes2vil
+.charlottesvil1l
+.charlottesvil2le
+.co9l8u8m9b8i8a.
+.colum4bi
+.colu4m1b
+.columb2i1a
+.cz8e8c8h8o9s8l8o9v8a9k8i8a.
+.c2ze4
+.cze2ch
+.cze3cho2
+.czechos4l2
+.czechos4lov
+.czechoslo1va
+.czechoslovak1i
+.czechoslovak2i1a
+.de8l9a9w8a8r8e.
+.de1la
+.de4law
+.delaw2a2r
+.di8j8k9s8t8r8a.
+.di3j
+.dij4k1s2
+.dijkst4r
+.dijks1tra
+.du8a8n8e.
+.d1u1a
+.dua2n
+.dy9n8a9m8i9s8c8h8e.
+.5dyn
+.dy1na
+.dynam2is
+.dynam2is1c
+.dynamis3ch2
+.dynamische2
+.en8g9l8i8s8h.
+.engl2
+.englis2h
+.eu8l8e8r9i8a8n.
+.eul4e
+.eu3l4er1i
+.eule1r2i3a4
+.euleri2a2n
+.ev8a8n9s8t8o8n.
+.e1va
+.eva2n
+.evan4st
+.eva2n1s2
+.evans1to
+.evansto2n
+.fe8b9r8u9a8r8y.
+.f2e4b
+.fe3br
+.febru3a
+.febru2a2r
+.fe8s8t9s8c8h8r8i8f8t.
+.fes4t1s2
+.fest4sc
+.fests2ch2
+.festsc4hr4
+.festschr4i2ft
+.fl8o8r9i9d8a.
+.flor2id
+.flori1d2a
+.fl8o8r9i9d9i8a8n.
+.flori2di
+.florid5i2a2n
+.flori1d4i3a
+.fo8r9s8c8h8u8n8g8s9i8n9s8t8i9t8u8t.
+.fors4c
+.fors2ch2
+.forschungs2
+.forschung2s1in
+.forschungs2i2n1s2
+.forschungsinst2i
+.forschungsinsti1tu
+.fr8e8e9b8s8d.
+.fre2e1b
+.free2b5s2
+.freeb4s5d
+.fu8n8k9t8s8i8o8n8a8l.
+.3fu
+.fu4nk2
+.funk5t
+.funk4t1s2
+.funkt1s2io
+.funkt5sio2n
+.funktsio1n5a
+.ga8u8s8s9i8a8n.
+.ga2us
+.gau2ss
+.gaus1si
+.gauss2i1a
+.gaussi2a2n
+.gh8o8s8t9s8c8r8i8p8t.
+.ghos4t1s2
+.ghost4sc
+.ghostscri2
+.ghostscr2ip
+.ghostscri2p1t
+.gh8o8s8t9v8i8e8w.
+.ghos4tv
+.ghostv2ie4
+.gr8a8s8s9m8a8n8n9i8a8n.
+.gr2as
+.gra2ss
+.gras2s1m
+.grass3ma
+.grassma2n3
+.grassma4n1n2
+.grassman3n4i1a
+.grassma2nni3a2n
+.gr8e8i8f8s9w8a8l8d.
+.grei2
+.grei2f3s
+.greifsw2
+.greifswa2ld
+.gr8o8t8h8e8n9d8i8e8c8k.
+.g4ro
+.gro4th2e
+.gr4oth
+.grothe2n
+.grothend2ie4
+.grothendieck1
+.gr8u8n8d9l8e8h9r8e8n.
+.gru2n
+.grundle1h4
+.grundle4hr4
+.ha9d8a9m8a8r8d.
+.ha2d
+.ha1d2a
+.hada2m2
+.had4a1ma
+.hadam2a2r
+.ha8i9f8a.
+.hai1fa
+.ha8m8i8l9t8o8n9i8a8n.
+.ha4m
+.hami4lt
+.hamil1to
+.hamilto2n
+.hamilto3n4i1a
+.hamiltoni3a2n
+.he8l9s8i8n8k8i.
+.he2l1s2
+.hel2s1in
+.hels4i4nk2
+.helsink1i
+.he8r9m8i8t9i8a8n.
+.her3mit
+.hermi1ti
+.herm4i1t2i1a
+.hermiti2a2n
+.hi8b8b8s.
+.hi2b1b
+.hib2b5s2
+.ho8k9k8a8i9d8o.
+.h2ok
+.hokk4
+.hokkai2
+.hokka2id
+.hokkai1do
+.ja8c9k8o8w9s8k8i.
+.5ja
+.jack1
+.jackowsk2
+.jackowsk1i
+.ja8n9u9a8r8y.
+.ja2n
+.jan3u1a
+.janu2a2r
+.ja9p8a9n8e8s8e.
+.ja4p
+.ja1pa
+.japa2n
+.japa1nes
+.japane1s2e
+.ka8d9o8m9t8s8e8v.
+.ka2d
+.ka1do
+.kado4mt
+.kadom4t1s2
+.kadomt5sev
+.ka8n9s8a8s.
+.ka2n
+.kan2sa2
+.ka2n1s2
+.ka8r8l8s9r8u8h8e.
+.k2a2r
+.kar1l
+.kar2l1s2
+.karls1r
+.ko8r9t8e9w8e8g.
+.ko5r
+.kr8i8s8h8n8a.
+.kr2is
+.kr3is2h
+.kris2h1n
+.krish1na
+.kr8i8s8h9n8a9i8s8m.
+.krishnai2
+.krishnai2s1m
+.kr8i8s8h9n8a8n.
+.krishn2a2n
+.la8n9c8a8s9t8e8r.
+.lan1ca
+.lancast5er
+.le9g8e8n8d8r8e.
+.le1gen
+.legen1dr
+.legendre4
+.le8i8c8e8s9t8e8r.
+.lei2
+.le5ic
+.leices5t
+.li8p9s8c8h8i8t8z.
+.l2ip
+.li2p1s2
+.lips2ch2
+.lips3chit
+.lipschi4tz
+.li8p9s8c8h8i8t8z9i8a8n.
+.lipschit2z1i
+.lipschitz2i1a
+.lipschitzi2a2n
+.lo8j9b8a8n.
+.lo5j
+.lojba2n
+.lo8u9i9s8i9a8n8a.
+.lou2
+.lo2ui2
+.louis2i1a
+.louisi2a2n
+.louisia1na
+.ma8c9o8s.
+.ma1co
+.ma8n9c8h8e8s9t8e8r.
+.man2ch
+.manche2
+.manch1es
+.ma8r9k8o8v9i8a8n.
+.marko5vi2a2n
+.markov2i1a
+.ma8r8k8t9o8b8e8r9d8o8r8f.
+.mark5t
+.mark1to
+.markto3b
+.marktober1do
+.marktoberd4or
+.marktoberdor1f
+.ma8s8s9a9c8h8u9s8e8t8t8s.
+.ma2ss
+.mas1sa2
+.massa2ch
+.massach2us
+.massachuse4t3t2
+.massachuset4t1s2
+.ma8x9w8e8l8l.
+.maxwel4l
+.mi9c8r8o9s8o8f8t.
+.micro2so
+.microso2ft3
+.mi8n9n8e9a8p9o9l8i8s.
+.m2i4n1n2
+.minne4
+.minneapol2i
+.mi8n9n8e9s8o8t8a.
+.min1nes
+.minne1so
+.minneso1ta
+.mo8s9c8o8w.
+.mos2c
+.mos1co
+.na8c8h9r8i8c8h8t8e8n.
+.1na
+.na2ch
+.nac4hr4
+.na2chr4i2ch
+.nachricht1en
+.na8s8h9v8i8l8l8e.
+.n4as
+.nas2h
+.nash2vil
+.nashvil1l
+.nashvil2le
+.ne8t9b8s8d.
+.ne2t1b
+.net2b5s2
+.netb4s5d
+.ne8t9s8c8a8p8e.
+.ne4t1s2
+.net4sc
+.netsca4p
+.nets1ca
+.ni8j9m8e9g8e8n.
+.ni3j
+.nijme2g
+.nijme1gen
+.no8e9t8h8e8r9i8a8n.
+.3noe
+.noeth2e
+.noether1i
+.noethe1r2i3a4
+.noetheri2a2n
+.no8o8r8d9w8i8j8k8e8r9h8o8u8t.
+.noo2
+.no3ord
+.noord1w
+.noordwi2
+.noordwi3j
+.noordwijk1er
+.noordwijker1h4
+.noordwijkerhou2
+.no9v8e8m9b8e8r.
+.nove4m5b
+.op8e8n9b8s8d.
+.ope4n1b4
+.open2b5s2
+.openb4s5d
+.op8e8n9o8f8f8i8c8e.
+.op4eno
+.openo4f1f
+.openof1fi
+.pa8l8a9t8i8n8o.
+.pala2t1in
+.palat2i1no
+.pa9l8e8r9m8o.
+.paler3m4
+.paler1mo
+.pe9t8r8o8v9s8k8i.
+.petro3v
+.petrovsk2
+.petrovsk1i
+.pf8a8f8f9i8a8n.
+.4pf
+.p1fa
+.pfa2f
+.pfa4f1f4
+.pfaf1fi
+.pfaff2i3a
+.pfaffi2a2n
+.ph8i8l9a9d8e8l9p8h8i8a.
+.phi4l4ade
+.phila2d
+.philade2lp
+.philadel5phi
+.philadelph2i1a
+.ph8i8l9o9s8o8p8h9i9s8c8h8e.
+.philo2so
+.philos4op
+.philos2oph
+.philosoph2is1c
+.philosophis3ch2
+.philosophische2
+.po8i8n9c8a8r8e.
+.poin2
+.poi2
+.poinc2a2r5
+.poin1ca
+.po9t8e8n9t8i8a8l9g8l8e8i9c8h8u8n8g.
+.p4ot
+.po1ten1t
+.potent2i
+.poten1t2i1a
+.potenti2al
+.potentia4l1g4
+.potentialgl2
+.potential1gle
+.potentialglei2
+.potentialgle5ic
+.potentialgle4i2ch
+.ra9d8h8a9k8r8i8s8h9n8a8n.
+.rad1h2
+.radhakr2is
+.radhakr3is2h
+.radhakris2h1n
+.radhakrish1na
+.radhakrishn2a2n
+.ra8t8h8s9k8e8l9l8e8r.
+.r4ath
+.ra2t4h1s2
+.rathsk2
+.rath4ske
+.rathskel1l
+.rathskel2le
+.ri8e9m8a8n8n9i8a8n.
+.r2ie4
+.rie5ma2n
+.rie1ma
+.riema4n1n2
+.rieman3n4i1a
+.riema2nni3a2n
+.ry8d9b8e8r8g.
+.ry1d
+.ryd1b
+.rydberg2
+.sc8h8o8t9t8i8s8c8h8e.
+.scho4t3t2
+.schott2is1c
+.s2ch2ottis3ch2
+.schottische2
+.sc8h8r8o9d8i8n8g9e8r.
+.sc4hr4
+.schrod1in
+.schrod4inge
+.sc8h8w8a9b8a9c8h8e8r.
+.sch1w
+.schwaba2ch
+.schwabache2
+.sc8h8w8a8r8z9s8c8h8i8l8d.
+.schw2a2r
+.s2chwarzs2ch2
+.schwarzsch4il2
+.schwarzschi2ld
+.se8p9t8e8m9b8e8r.
+.se2p1t
+.sep2te
+.septe4m5b
+.st8o8k8e8s9s8c8h8e.
+.st2ok
+.stokes4
+.stok2e2ss
+.stokes2s5c
+.stokess2ch2
+.stokessche2
+.st8u8t8t9g8a8r8t.
+.stu4t3t2
+.stut4t1g
+.stutt1ga
+.stuttg2a2r
+.su8s9q8u8e9h8a8n9n8a.
+.s2us
+.susqu2
+.susque1h4
+.susqueha2n
+.susqueha4n1n2
+.susquehan1na
+.ta8u9b8e8r9i8a8n.
+.tau4b
+.taub4e
+.tau3ber
+.tauber1i
+.taube1r2i3a4
+.tauberi2a2n
+.te8c8h9n8i9s8c8h8e.
+.te2ch
+.tec2h1n
+.techn2is1c
+.te2chnis3ch2
+.technische2
+.te8n9n8e8s9s8e8e.
+.t4e4n1n2
+.tenne4
+.ten1nes
+.tenn2e2ss
+.to9m8a9s8z8e8w9s8k8i.
+.to2ma
+.tomas2ze
+.tomaszewsk2
+.tomaszewsk1i
+.ty9p8o9g8r8a8p8h8i8q8u8e.
+.ty3po
+.ty5po4g
+.typo1gr
+.typogr4aphi
+.typographiqu2
+.uk8r8a8i8n9i8a8n.
+.4uk
+.ukr2ai2
+.ukra4i4n
+.ukra2ini
+.ukrai4n4i1a
+.ukraini3a2n
+.ve8r9a8l8l9g8e9m8e8i8n9e8r8t8e.
+.veral1l
+.veral4l1g4
+.verallge1me
+.verallgemei2
+.verallgeme2ine
+.verallgemein1er
+.ve8r9e8i8n9i9g8u8n8g.
+.vere3in
+.verei2
+.vere2ini
+.verein2ig
+.vereini3gun
+.ve8r9t8e8i9l8u8n9g8e8n.
+.vertei2
+.verteilun1gen
+.vi8i8i8t8h.
+.v4i5i4
+.vi4i5i4
+.vii2ith
+.vi8i8t8h.
+.vi2ith
+.wa8h8r9s8c8h8e8i8n9l8i8c8h9k8e8i8t8s9t8h8e8o9r8i8e.
+.wa4hr4
+.wah4rs2
+.wahrs4c
+.wahrs2ch2
+.wahrsche2
+.wahrschei2
+.wahrsche4i4n1l
+.wahrs2cheinl4i2ch
+.wahrscheinlic4hk
+.wahrscheinlichkei2
+.wahrscheinlichkei4t1s2
+.wahrscheinlichkeits3th2e
+.wahrscheinlichkeitsthe1o5r
+.wahrscheinlichkeitstheor2ie4
+.we8r9n8e8r.
+.w1er
+.wer4n1er
+.we8r9t8h8e8r9i8a8n.
+.werth2e
+.werther1i
+.werthe1r2i3a4
+.wertheri2a2n
+.wi8n9c8h8e8s9t8e8r.
+.win2ch
+.winche2
+.winch1es
+.wi8r8t9s8c8h8a8f8t.
+.w4ir4
+.wir4t1s2
+.wirt4sc
+.wirts2ch2
+.wirtscha2f
+.wirtscha2ft
+.wi8s9s8e8n9s8c8h8a8f8t9l8i8c8h.
+.w4i2s1s
+.wissen4
+.wisse2n1s2
+.wissens4c
+.wissens2ch2
+.wissenscha2f
+.wissenscha2ft
+.wissenschaf2tl
+.wissens2chaftl4i2ch
+.xv8i8i8i8t8h.
+.xv4i5i4
+.xvi4i5i4
+.xvii2ith
+.xv8i8i8t8h.
+.xvi2ith
+.xx8i8i8i8r8d.
+.xx4
+.xx3i
+.xx4i5i4
+.xxi4i5i4
+.xxii4ir
+.xx8i8i8n8d.
+.xxi4ind
+.yi8n8g9y8o8n8g.
+.y1i
+.yin2gy
+.yingy1o4
+.yingyo2n
+.sh8u9x8u8e.
+.shux1u3
+.ji9s8u8a8n.
+.ji2su
+.jisua2n
+.ze8a9l8a8n8d.
+.2ze
+.zea4l
+.zea3l4and
+.zeala2n
+.ze8i8t9s8c8h8r8i8f8t.
+.zei2
+.zei4t1s2
+.zeit4sc
+.zeits2ch2
+.zeitsc4hr4
+.zeitschr4i2ft
diff --git a/silpa/modules/hyphenator/rules/hyph_gu_IN.dic b/silpa/modules/hyphenator/rules/hyph_gu_IN.dic
new file mode 100644
index 0000000..13b9b60
--- /dev/null
+++ b/silpa/modules/hyphenator/rules/hyph_gu_IN.dic
@@ -0,0 +1,86 @@
+UTF-8
+% Hyphenation for Gujarati
+% Copyright (C) 2008 Santhosh Thottingal <santhosh.thottingal@gmail.com>
+%
+% This library is free software; you can redistribute it and/or
+% modify it under the terms of the GNU General Public
+% License as published by the Free Software Foundation;
+% version 3 or later version of the License.
+%
+% This library is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+% Lesser General Public License for more details.
+%
+% You should have received a copy of the GNU General Public
+% License along with this library; if not, write to the Free Software
+% Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+%
+
+અ1
+આ1
+ઇ1
+ઈ1
+ઉ1
+ઊ1
+ઋ1
+એ1
+ઐ1
+ઔ1
+ા1
+િ1
+ી1
+ુ1
+ૂ1
+ૃ1
+ે1
+ો1
+ૈ1
+ૌ1
+્2
+ઃ1
+ં1
+1ન
+ન્2
+2ન્‍
+1ર
+ર્2
+2ર્‍
+1લ
+લ્2
+2લ્‍
+1ળ
+ળ્2
+2ળ્‍
+1ણ
+ણ્2
+2ણ્‍
+1ક
+1ગ
+1ખ
+1ઘ
+1ઙ
+1ચ
+1છ
+1જ
+1ઝ
+1ઞ
+1ટ
+1ઠ
+1ડ
+1ઢ
+1ત
+1થ
+1દ
+1ધ
+1પ
+1ફ
+1બ
+1ભ
+1મ
+1ય
+1વ
+1શ
+1ષ
+1સ
+1હ
diff --git a/silpa/modules/hyphenator/rules/hyph_hi_IN.dic b/silpa/modules/hyphenator/rules/hyph_hi_IN.dic
new file mode 100644
index 0000000..dc82fbd
--- /dev/null
+++ b/silpa/modules/hyphenator/rules/hyph_hi_IN.dic
@@ -0,0 +1,92 @@
+UTF-8
+% Hyphenation for Hindi
+% Copyright (C) 2008 Santhosh Thottingal <santhosh.thottingal@gmail.com>
+%
+% This library is free software; you can redistribute it and/or
+% modify it under the terms of the GNU General Public
+% License as published by the Free Software Foundation;
+% version 3 or later version of the License.
+%
+% This library is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+% Lesser General Public License for more details.
+%
+% You should have received a copy of the GNU General Public
+% License along with this library; if not, write to the Free Software
+% Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+%
+
+अ1
+आ1
+इ1
+ई1
+उ1
+ऊ1
+ऋ1
+ऎ1
+ए1
+ऐ1
+ऒ1
+औ1
+ा1
+ि1
+ी1
+ु1
+ू1
+ृ1
+ॆ1
+े1
+ॊ1
+ो1
+ै1
+ौ1
+्2
+ः1
+ं1
+1न
+न्2
+2न्‍
+1र
+र्2
+2र्‍
+1ल
+ल्2
+2ल्‍
+1ळ
+ळ्2
+2ळ्‍
+1ण
+ण्2
+2ण्‍
+1क
+1ग
+1ख
+1घ
+1ङ
+1च
+1छ
+1ज
+1झ
+1ञ
+1ट
+1ठ
+1ड
+1ढ
+1त
+1थ
+1द
+1ध
+1प
+1फ
+1ब
+1भ
+1म
+1य
+1व
+1श
+1ष
+1स
+1ह
+1ऴ
+1ऱ
diff --git a/silpa/modules/hyphenator/rules/hyph_kn_IN.dic b/silpa/modules/hyphenator/rules/hyph_kn_IN.dic
new file mode 100644
index 0000000..e241192
--- /dev/null
+++ b/silpa/modules/hyphenator/rules/hyph_kn_IN.dic
@@ -0,0 +1,91 @@
+UTF-8
+% Hyphenation for Kannada
+% Copyright (C) 2008 Santhosh Thottingal <santhosh.thottingal@gmail.com>
+%
+% This library is free software; you can redistribute it and/or
+% modify it under the terms of the GNU General Public
+% License as published by the Free Software Foundation;
+% version 3 or later version of the License.
+%
+% This library is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+% Lesser General Public License for more details.
+%
+% You should have received a copy of the GNU General Public
+% License along with this library; if not, write to the Free Software
+% Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+%
+
+ಅ1
+ಆ1
+ಇ1
+ಈ1
+ಉ1
+ಊ1
+ಋ1
+ಎ1
+ಏ1
+ಐ1
+ಒ1
+ಔ1
+ಾ1
+ಿ1
+ೀ1
+ು1
+ೂ1
+ೃ1
+ೆ1
+ೇ1
+ೊ1
+ೋ1
+ೈ1
+ೌ1
+್2
+ಃ1
+ಂ1
+1ನ
+ನ್2
+2ನ್‍
+1ರ
+ರ್2
+2ರ್‍
+1ಲ
+ಲ್2
+2ಲ್‍
+1ಳ
+ಳ್2
+2ಳ್‍
+1ಣ
+ಣ್2
+2ಣ್‍
+1ಕ
+1ಗ
+1ಖ
+1ಘ
+1ಙ
+1ಚ
+1ಛ
+1ಜ
+1ಝ
+1ಞ
+1ಟ
+1ಠ
+1ಡ
+1ಢ
+1ತ
+1ಥ
+1ದ
+1ಧ
+1ಪ
+1ಫ
+1ಬ
+1ಭ
+1ಮ
+1ಯ
+1ವ
+1ಶ
+1ಷ
+1ಸ
+1ಹ
+1ಱ
diff --git a/silpa/modules/hyphenator/rules/hyph_ml_IN.dic b/silpa/modules/hyphenator/rules/hyph_ml_IN.dic
new file mode 100644
index 0000000..36a70f2
--- /dev/null
+++ b/silpa/modules/hyphenator/rules/hyph_ml_IN.dic
@@ -0,0 +1,93 @@
+UTF-8
+% Hyphenation for Malayalam
+% Copyright (C) 2008 Santhosh Thottingal <santhosh.thottingal@gmail.com>
+%
+% This library is free software; you can redistribute it and/or
+% modify it under the terms of the GNU General Public
+% License as published by the Free Software Foundation;
+% version 3 or later version of the License.
+%
+% This library is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+% Lesser General Public License for more details.
+%
+% You should have received a copy of the GNU General Public
+% License along with this library; if not, write to the Free Software
+% Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+%
+
+അ1
+ആ1
+ഇ1
+ഈ1
+ഉ1
+ഊ1
+ഋ1
+എ1
+ഏ1
+ഐ1
+ഒ1
+ഔ1
+ാ1
+ി1
+ീ1
+ു1
+ൂ1
+ൃ1
+െ1
+േ1
+ൊ1
+ോ1
+ൈ1
+ൌ1
+ൗ1
+്2
+2ഃ1
+2ം1
+1ന
+ന്2
+2ന്‍
+1ര
+ര്2
+2ര്‍
+1ല
+ല്2
+2ല്‍
+1ള
+ള്2
+2ള്‍
+1ണ
+ണ്2
+2ണ്‍
+1ക
+1ഗ
+1ഖ
+1ഘ
+1ങ
+1ച
+1ഛ
+1ജ
+1ഝ
+1ഞ
+1ട
+1ഠ
+1ഡ
+1ഢ
+1ത
+1ഥ
+1ദ
+1ധ
+1പ
+1ഫ
+1ബ
+1ഭ
+1മ
+1യ
+1വ
+1ശ
+1ഷ
+1സ
+1ഹ
+1ഴ
+1റ
diff --git a/silpa/modules/hyphenator/rules/hyph_or_IN.dic b/silpa/modules/hyphenator/rules/hyph_or_IN.dic
new file mode 100644
index 0000000..c9ea024
--- /dev/null
+++ b/silpa/modules/hyphenator/rules/hyph_or_IN.dic
@@ -0,0 +1,85 @@
+UTF-8
+% Hyphenation for Oriya
+% Copyright (C) 2008 Santhosh Thottingal <santhosh.thottingal@gmail.com>
+%
+% This library is free software; you can redistribute it and/or
+% modify it under the terms of the GNU General Public
+% License as published by the Free Software Foundation;
+% version 3 or later version of the License.
+%
+% This library is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+% Lesser General Public License for more details.
+%
+% You should have received a copy of the GNU General Public
+% License along with this library; if not, write to the Free Software
+% Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+%
+
+ଅ1
+ଆ1
+ଇ1
+ଈ1
+ଉ1
+ଊ1
+ଋ1
+ଏ1
+ଐ1
+ଔ1
+ା1
+ି1
+ୀ1
+ୁ1
+େ1
+ୋ1
+ୈ1
+ୌ1
+ୗ1
+୍2
+ଃ1
+ଂ1
+1ନ
+ନ୍2
+2ନ୍‍
+1ର
+ର୍2
+2ର୍‍
+1ଲ
+ଲ୍2
+2ଲ୍‍
+1ଳ
+ଳ୍2
+2ଳ୍‍
+1ଣ
+ଣ୍2
+2ଣ୍‍
+1କ
+1ଗ
+1ଖ
+1ଘ
+1ଙ
+1ଚ
+1ଛ
+1ଜ
+1ଝ
+1ଞ
+1ଟ
+1ଠ
+1ଡ
+1ଢ
+1ତ
+1ଥ
+1ଦ
+1ଧ
+1ପ
+1ଫ
+1ବ
+1ଭ
+1ମ
+1ଯ
+1ଵ
+1ଶ
+1ଷ
+1ସ
+1ହ
diff --git a/silpa/modules/hyphenator/rules/hyph_pa_IN.dic b/silpa/modules/hyphenator/rules/hyph_pa_IN.dic
new file mode 100644
index 0000000..fcda980
--- /dev/null
+++ b/silpa/modules/hyphenator/rules/hyph_pa_IN.dic
@@ -0,0 +1,83 @@
+UTF-8
+% Hyphenation for Panjabi(Gurmughi)
+% Copyright (C) 2008 Santhosh Thottingal <santhosh.thottingal@gmail.com>
+%
+% This library is free software; you can redistribute it and/or
+% modify it under the terms of the GNU General Public
+% License as published by the Free Software Foundation;
+% version 3 or later version of the License.
+%
+% This library is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+% Lesser General Public License for more details.
+%
+% You should have received a copy of the GNU General Public
+% License along with this library; if not, write to the Free Software
+% Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+%
+
+ਅ1
+ਆ1
+ਇ1
+ਈ1
+ਉ1
+ਊ1
+ਏ1
+ਐ1
+ਔ1
+ਾ1
+ਿ1
+ੀ1
+ੁ1
+ੂ1
+ੇ1
+ੋ1
+ੈ1
+ੌ1
+੍2
+ਃ1
+ਂ1
+1ਨ
+ਨ੍2
+2ਨ੍‍
+1ਰ
+ਰ੍2
+2ਰ੍‍
+1ਲ
+ਲ੍2
+2ਲ੍‍
+1ਲ਼
+ਲ਼੍2
+2ਲ਼੍‍
+1ਣ
+ਣ੍2
+2ਣ੍‍
+1ਕ
+1ਗ
+1ਖ
+1ਘ
+1ਙ
+1ਚ
+1ਛ
+1ਜ
+1ਝ
+1ਞ
+1ਟ
+1ਠ
+1ਡ
+1ਢ
+1ਤ
+1ਥ
+1ਦ
+1ਧ
+1ਪ
+1ਫ
+1ਬ
+1ਭ
+1ਮ
+1ਯ
+1ਵ
+1ਸ਼
+1ਸ
+1ਹ
diff --git a/silpa/modules/hyphenator/rules/hyph_ta_IN.dic b/silpa/modules/hyphenator/rules/hyph_ta_IN.dic
new file mode 100644
index 0000000..298d7d1
--- /dev/null
+++ b/silpa/modules/hyphenator/rules/hyph_ta_IN.dic
@@ -0,0 +1,77 @@
+UTF-8
+% Hyphenation for Tamil
+% Copyright (C) 2008 Santhosh Thottingal <santhosh.thottingal@gmail.com>
+%
+% This library is free software; you can redistribute it and/or
+% modify it under the terms of the GNU General Public
+% License as published by the Free Software Foundation;
+% version 3 or later version of the License.
+%
+% This library is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+% Lesser General Public License for more details.
+%
+% You should have received a copy of the GNU General Public
+% License along with this library; if not, write to the Free Software
+% Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+%
+
+அ1
+ஆ1
+இ1
+ஈ1
+உ1
+ஊ1
+எ1
+ஏ1
+ஐ1
+ஒ1
+ஔ1
+ா1
+ி1
+ீ1
+ு1
+ூ1
+ெ1
+ே1
+ொ1
+ோ1
+ை1
+ௌ1
+ௗ1
+்2
+ஃ1
+ஂ1
+1ந
+ந்2
+2ந்‍
+1ர
+ர்2
+2ர்‍
+1ல
+ல்2
+2ல்‍
+1ள
+ள்2
+2ள்‍
+1ண
+ண்2
+2ண்‍
+1க
+1ங
+1ச
+1ஜ
+1ஞ
+1ட
+1த
+1ப
+1ம
+1ய
+1வ
+1ஶ
+1ஷ
+1ஸ
+1ஹ
+1ழ
+1ற
diff --git a/silpa/modules/hyphenator/rules/hyph_te_IN.dic b/silpa/modules/hyphenator/rules/hyph_te_IN.dic
new file mode 100644
index 0000000..62ddfe2
--- /dev/null
+++ b/silpa/modules/hyphenator/rules/hyph_te_IN.dic
@@ -0,0 +1,91 @@
+UTF-8
+% Hyphenation for Telugu
+% Copyright (C) 2008 Santhosh Thottingal <santhosh.thottingal@gmail.com>
+%
+% This library is free software; you can redistribute it and/or
+% modify it under the terms of the GNU General Public
+% License as published by the Free Software Foundation;
+% version 3 or later version of the License.
+%
+% This library is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+% Lesser General Public License for more details.
+%
+% You should have received a copy of the GNU General Public
+% License along with this library; if not, write to the Free Software
+% Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+%
+
+అ1
+ఆ1
+ఇ1
+ఈ1
+ఉ1
+ఊ1
+ఋ1
+ఎ1
+ఏ1
+ఐ1
+ఒ1
+ఔ1
+ా1
+ి1
+ీ1
+ు1
+ూ1
+ృ1
+ె1
+ే1
+ొ1
+ో1
+ై1
+ౌ1
+్2
+ః1
+ం1
+1న
+న్2
+2న్‍
+1ర
+ర్2
+2ర్‍
+1ల
+ల్2
+2ల్‍
+1ళ
+ళ్2
+2ళ్‍
+1ణ
+ణ్2
+2ణ్‍
+1క
+1గ
+1ఖ
+1ఘ
+1ఙ
+1చ
+1ఛ
+1జ
+1ఝ
+1ఞ
+1ట
+1ఠ
+1డ
+1ఢ
+1త
+1థ
+1ద
+1ధ
+1ప
+1ఫ
+1బ
+1భ
+1మ
+1య
+1వ
+1శ
+1ష
+1స
+1హ
+1ఱ
diff --git a/silpa/modules/inexactsearch/__init__.py b/silpa/modules/inexactsearch/__init__.py
new file mode 100644
index 0000000..d47e9c0
--- /dev/null
+++ b/silpa/modules/inexactsearch/__init__.py
@@ -0,0 +1,4 @@
+#! /usr/bin/env python
+# -*- coding: utf-8 -*-
+import inexactsearch
+
diff --git a/silpa/modules/inexactsearch/inexactsearch.py b/silpa/modules/inexactsearch/inexactsearch.py
new file mode 100644
index 0000000..0d1f35b
--- /dev/null
+++ b/silpa/modules/inexactsearch/inexactsearch.py
@@ -0,0 +1,173 @@
+#! /usr/bin/env python
+# -*- coding: utf-8 -*-
+# Paralperu
+# Copyright 2008 Santhosh Thottingal <santhosh.thottingal@gmail.com>
+# http://www.smc.org.in
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Library General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+#
+# If you find any bugs or have any suggestions email: santhosh.thottingal@gmail.com
+# URL: http://www.smc.org.in
+
+
+import sys
+import re
+from common import *
+
+class ApproximateSearch(SilpaModule):
+
+ def syllabalize_ml(self, text):
+ signs = [
+ u'\u0d02', u'\u0d03', u'\u0d3e', u'\u0d3f', u'\u0d40', u'\u0d41',
+ u'\u0d42', u'\u0d43', u'\u0d44', u'\u0d46', u'\u0d47', u'\u0d48',
+ u'\u0d4a', u'\u0d4b', u'\u0d4c', u'\u0d4d']
+ limiters = ['.','\"','\'','`','!',';',',','?']
+
+ chandrakkala = u'\u0d4d'
+ lst_chars = []
+ for char in text:
+ if char in limiters:
+ lst_chars.append(char)
+ elif char in signs:
+ lst_chars[-1] = lst_chars[-1] + char
+ else:
+ try:
+ if lst_chars[-1][-1] == chandrakkala:
+ lst_chars[-1] = lst_chars[-1] + char
+ else:
+ lst_chars.append(char)
+ except IndexError:
+ lst_chars.append(char)
+
+ return lst_chars
+
+
+ def bigram_search(self, str1, str2, syllable_search=False):
+ """Return approximate string comparator measure (between 0.0 and 1.0)
+ using bigrams.
+ USAGE:
+ score = bigram(str1, str2)
+
+ ARGUMENTS:
+ str1 The first string
+ str2 The second string
+
+ DESCRIPTION:
+ Bigrams are two-character sub-strings contained in a string. For example,
+ 'peter' contains the bigrams: pe,et,te,er.
+
+ This routine counts the number of common bigrams and divides by the
+ average number of bigrams. The resulting number is returned.
+ """
+
+ # Quick check if the strings are the same - - - - - - - - - - - - - - - - - -
+ #
+ if (str1 == str2):
+ result_string = "<div style='float: left; background-color: green;' title=\" Bigram comparator : string1: %s, string2: %s. Exact Match found" % (str1, str2)
+ result_string = result_string + "\">"+str1+ "</div>"
+ return result_string
+
+ bigr1 = []
+ bigr2 = []
+
+ # Make a list of bigrams for both strings - - - - - - - - - - - - - - - - - -
+ #
+ for i in range(1,len(str1)):
+ bigr1.append(str1[i-1:i+1])
+ for i in range(1,len(str2)):
+ bigr2.append(str2[i-1:i+1])
+
+ # Compute average number of bigrams - - - - - - - - - - - - - - - - - - - - -
+ #
+ average = (len(bigr1)+len(bigr2)) / 2.0
+ if (average == 0.0):
+ return str1
+
+ # Get common bigrams - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+ #
+ common = 0.0
+
+ if (len(bigr1) < len(bigr2)): # Count using the shorter bigram list
+ short_bigr = bigr1
+ long_bigr = bigr2
+ else:
+ short_bigr = bigr2
+ long_bigr = bigr1
+
+ for b in short_bigr:
+ if (b in long_bigr):
+ common += 1.0
+ long_bigr[long_bigr.index(b)] = [] # Mark this bigram as counted
+
+ w = common / average
+ if(w>=0.6):
+ result_string = "<div style='float: left; background-color: yellow;' title=\" Bigram comparator string 1: %s, string 2: %s" % (str1, str2)
+ else:
+ if((w>0.4) & (w<0.6)):
+ result_string = "<div style='float: left; background-color: grey;' title=\" Bigram comparator string 1: %s, string 2: %s" % (str1, str2)
+ else:
+ result_string = "<div style='float: left;' title=\" Bigram comparator string1: %s, string2: %s" % (str1, str2)
+ result_string = result_string + " Number of bigrams in String1: %i" % (len(bigr1))
+ result_string = result_string + " Number of bigrams in String2: %i" % (len(bigr2))
+ result_string = result_string + " Average: %i" % (average)
+ result_string = result_string + " Common: %i" % (common)
+ result_string = result_string + " Final approximate string weight: " + str(w)
+ result_string = result_string + "\">"+str1+ "</div>"
+ return result_string
+ def process(self,form):
+ response = """
+ <h2>Inexact Search</h2></hr>
+ <p>The search performed by search engines on Indic text is not effective.
+ It does not take care of the inflective or agglutinative nature of the language.
+ This application tries to solve that by using an inexact search algorithm based on maximum common bigram algorithm.
+
+ </p>
+ <p>Enter the text for searching in the below text area.
+ </p>
+ <form action="" method="post">
+ <textarea cols='100' rows='25' name='input_text' id='input_text'>%s</textarea>
+ <br/>
+ <input type="text" name="search_key" value="%s"/>
+ <input type="submit" id="Hyphenate" value="Approximate Search" name="action" style="width:12em;"/>
+ </br>
+ </form>
+ """
+ if(form.has_key('input_text')):
+ text = action=form['input_text'].value .decode('utf-8')
+ if(form.has_key('search_key')):
+ key = action=form['search_key'].value .decode('utf-8')
+ response=response % (text,key)
+ words=text.split(" ")
+ response = response+"<h2>Search Results</h2></hr>"
+ response = response+"<p>Words in green are with exact match. Words in Yellow are with approximate Match."
+ response = response+" Move your mouse pointer over the words to get more information on matching.</p></hr>"
+ else:
+ response = response+ "Enter a string to search."
+ return response % (text,"")
+ for word in words:
+ word=word.strip()
+ if(word>""):
+ response = response+ self.bigram_search(word, key)
+ response = response+ "<div style='float: left;'>&nbsp;</div>"
+ else:
+ response=response % ("","")
+ return response
+ def get_module_name(self):
+ return "Approximate Search"
+ def get_info(self):
+ return "Approximate Search for a string in the given text. Based on bigram search algorithm"
+
+def getInstance():
+ return ApproximateSearch()
diff --git a/silpa/modules/lemmatizer/__init__.py b/silpa/modules/lemmatizer/__init__.py
new file mode 100644
index 0000000..3e77cd8
--- /dev/null
+++ b/silpa/modules/lemmatizer/__init__.py
@@ -0,0 +1,4 @@
+#! /usr/bin/env python
+# -*- coding: utf-8 -*-
+import lemmatizer
+
diff --git a/silpa/modules/lemmatizer/lemmatizer.py b/silpa/modules/lemmatizer/lemmatizer.py
new file mode 100644
index 0000000..212cded
--- /dev/null
+++ b/silpa/modules/lemmatizer/lemmatizer.py
@@ -0,0 +1,131 @@
+#! /usr/bin/env python
+# -*- coding: utf-8 -*-
+
+import sys
+import codecs
+import os
+import string
+import curses.ascii
+from common import SilpaModule
+class Lemmatizer(SilpaModule):
+
+ def __init__(self):
+ self.rules_file = "./modules/lemmatizer/lemmatizer_ml.rules"
+ self.rulesDict = dict()
+
+ def lemmatize(self, text):
+ result = ""
+ self.rulesDict = self.LoadRules()
+ words=text.split(" ")
+ word_count=len(words)
+ result_dict = dict()
+ word_iter=0
+ word=""
+ while word_iter < word_count:
+ word = words[word_iter]
+ word = self.trim(word)
+ word_length = len(word)
+ suffix_pos_itr = 2
+ word_lemmatized=""
+ while suffix_pos_itr < word_length :
+ suffix = word[suffix_pos_itr:word_length]
+ if suffix in self.rulesDict:
+ word_lemmatized= word[0:suffix_pos_itr] + self.rulesDict[suffix]
+ break;
+ suffix_pos_itr = suffix_pos_itr+1
+ word_iter = word_iter+1
+ if(word_lemmatized==""):
+ word_lemmatized=word
+ result_dict[ word ] = word_lemmatized
+ return result_dict
+
+ def LoadRules(self):
+ print "Loading the rules..."
+ rules_dict = dict()
+ line = []
+ line_number = 0
+ rule_number = 0
+ rules_file = codecs. open(self.rules_file,encoding='utf-8', errors='ignore')
+ while 1:
+ line_number = line_number +1
+ text = unicode( rules_file.readline())
+ if text == "":
+ break
+ if text[0] == '#':
+ continue #this is a comment - ignore
+ text = text.split("#")[0] #remove the comment part of the line
+ line_number = line_number +1
+ line = text.strip() # remove unwanted space
+ if(line == ""):
+ continue
+ if(len(line.split("=")) != 2):
+ print "[Error] Syntax Error in the Rules. Line number: ", line_number
+ print "Line: "+ text
+ continue
+ lhs = line.split("=") [ 0 ] .strip()
+ rhs = line.split("=") [ 1 ] .strip()
+ if(len(rhs)>0):
+ if(lhs[0]=='"'):
+ lhs=lhs[1:len(lhs)] # if the string is "quoted"
+ if(lhs[len(lhs)-1]=='"'):
+ lhs=lhs[0:len(lhs)-1] # if the string is "quoted"
+ if(len(rhs)>0):
+ if(rhs[0]=='"'):
+ rhs=rhs[1:len(rhs)] # if the string is "quoted"
+ if(rhs[len(rhs)-1]=='"'):
+ rhs=rhs[0:len(rhs)-1] # if the string is "quoted"
+ rule_number=rule_number+1
+ rules_dict[lhs]=rhs
+ #print "[", rule_number ,"] " +lhs + " : " +rhs
+ print "Found ",rule_number, " rules."
+ return rules_dict
+
+ def trim(self,word):
+ punctuations=['~','!','@','#','$','%','^','&','*','(',')','-','+','_','=','{','}','|' ,':',';','<','>','\,','.','?']
+ word=word.strip()
+ index=len(word)-1
+ while index>0:
+ if word[index] in punctuations:
+ word=word[0:index]
+ else:
+ break
+ index=index-1
+ return word
+ def process(self, form):
+ response = """
+ <h2>Lemmatization</h2></hr>
+ <p>Enter the text for lemmatization in the below text area.
+ Language of each word will be detected.
+ You can give the text in any language and even with mixed language
+ </p>
+ <form action="" method="post">
+ <textarea cols='100' rows='25' name='input_text' id='id1'>%s</textarea>
+ <input type="submit" id="Lemmatize" value="Lemmatize" name="action" style="width:12em;"/>
+ <input type="reset" value="Clear" style="width:12em;"/>
+ </br>
+ </form>
+ """
+ if(form.has_key('input_text')):
+ text = action=form['input_text'].value .decode('utf-8')
+ response=response % text
+ result_dict = self.lemmatize(text)
+ response = response+"<h2>Lemmatization Results</h2></hr>"
+ response = response+"<table class=\"table1\"><tr><th>Word</th><th>Lemmatized form</th></tr>"
+ for key in result_dict:
+ response = response+"<tr><td>"+key+"</td><td>"+result_dict[key]+"</td></tr>"
+ response = response+"</table> "
+ else:
+ response=response % ""
+ return response
+ def get_module_name(self):
+ return "Lemmatizer"
+ def get_info(self):
+ return "Malayalam Lemmatizer(Experimental)"
+
+def getInstance():
+ return Lemmatizer()
+if __name__ == "__main__":
+ lemmatizer= Lemmatizer()
+ lemmatizer.rules_file="/home/santhosh/www/malayalam.map"
+ lemmatizer.lemmatize("മുദ്രാവാക്യവുമായി മുറ്റത്തില്‍")
+
diff --git a/silpa/modules/lemmatizer/lemmatizer_ml.rules b/silpa/modules/lemmatizer/lemmatizer_ml.rules
new file mode 100644
index 0000000..5bfc40d
--- /dev/null
+++ b/silpa/modules/lemmatizer/lemmatizer_ml.rules
@@ -0,0 +1,193 @@
+#Malayalam Prathyaya Rules
+$min_root_length=1
+$iterations=1
+#അനുസ്വാരത്തിലവസാനിക്കുന്ന ക്രിയ/നാമം
+ത്തില്‍ = ം
+ത്ത്=ം
+ത്തു്=ം
+ത്തു=ം
+ത്തെ = ം
+വുമായി = ം
+ത്തിനെ=ം
+ത്തിലെ=ം
+ത്തിലേയ്ക്ക് =ം
+ത്തിലേയ്ക്കു്= ം
+ത്തേക്ക്=ം
+ത്തിന്റെ=ം
+ത്തേയ്ക്കു്=ം
+ത്തിലായി= ം
+മാക്കി=ം
+മായും=ം
+മെങ്കില്‍=ം എങ്കില്‍
+വും=ം
+മാണു് = ം ആണു്
+മാണ്=ം ആണ്
+മല്ല = ം അല്ല
+മില്ല = ം ഇല്ല
+മേ =ം
+മാകാം = ം ആകാം
+മായിരിക്കും=ം‌ ആയിരിക്കുക
+മുണ്ടായിരുന്നതായി=ം ഉണ്ടു് ആവുക
+മുണ്ടായി=ം ഉണ്ടു് ആവുക
+മുണ്ടായിരുന്ന=ം ഉണ്ടു് ആവുക
+മുണ്ടായിരുന്നു=ം ഉണ്ടു് ആവുക
+മുള്ള=ം ഉണ്ടാവുക
+മോ = ം
+മെ = ം
+ങ്ങളില്‍= ം
+ങ്ങള്‍ = ം
+ങ്ങളെ=ം
+ങ്ങള്‍ക്ക്=ം
+ങ്ങള്‍ക്കു്=ം
+ുകള്‍ = ു്
+#ക്രിയകള്‍
+യ്ക്കുന്ന = യ്ക്കുക
+ക്കുന്ന = ക്കുക
+#ചില്ലിലവസാനിക്കുന്ന നാമങ്ങള്‍
+രില്‍ = ര്‍
+രാണു് = ര്‍ ആണു്
+രാണ് = ര്‍ ആണ്
+രല്ല = ര്‍ അല്ല
+രില്ല = ര്‍ ഇല്ല
+രുടെ = ര്‍
+രുടേ = ര്‍
+രു് = ര്‍
+രെ = ര്‍
+രോടു് = ര്‍
+രൊടു് = ര്‍
+രൊട് = ര്‍
+രോട് = ര്‍
+രാല്‍ = ര്‍
+രോ = ര്‍
+രും=ര്‍
+നില്‍ = ന്‍
+നാണു് = ന്‍ ആണു്
+നാണ്=ന്‍ ആണ്
+നല്ല = ന്‍ അല്ല
+നില്ല= ന്‍ ഇല്ല
+നുടെ = ന്‍
+നുടേ= ന്‍
+നോടു് = ന്‍
+നോട് = ന്‍
+നായി = ന്‍ ആയി
+നോ =ന്‍
+നും=ന്‍
+ലാണു്= ല്‍ ആണു്
+ലാണ് = ല്‍ ആണ്
+ലല്ല= ല്‍ അല്ല
+ലില്ല = ല്‍ ഇല്ല
+ലില്‍ = ല്‍
+ലിന്റെ = ല്‍
+ലോട് = ല്‍
+ലോടു് = ല്‍
+ലായി=ല്‍ ആയി
+ലോ= ല്‍
+ലും=ല്‍
+ണാണു്= ണ്‍ ആണു്
+ണാണ് = ണ്‍ ആണ്
+ണിന്റെ = ണ്‍
+ണല്ല = ണ്‍ അല്ല
+ണില്ല = ണ്‍ ഇല്ല
+ണോട് =ണ്‍
+ണോടു = ണ്‍
+ണോടു്= ണ്‍
+ണോ= ണ്‍
+ണും=ണ്‍
+ളാണു്= ള്‍ ആണു്
+ളാണ്=ള്‍ ആണ്
+ളല്ല = ള്‍ അല്ല
+ളില്ല= ള്‍ ഇല്ല
+ളില്‍=ള്‍
+ളോട് = ള്‍
+ളോടു് =ള്‍
+ളോടു = ള്‍
+ളോ=ള്‍
+ളുടെ =ള്‍
+ളുടേ=ള്‍
+ള്‍ക്കായി=ള്‍
+ള്‍ക്കുള്ള =ള്‍ ഉള്ള
+ളും=ള്‍
+#അ/ഇകാരത്തിലവസാനിക്കുന്ന നാമങ്ങള്‍
+യില്‍=
+യുടെ=
+യെ=
+യാണു്=
+യിലുള്ള=യില്‍ ഉള്ള
+യാണ്=
+യും=
+യ്ക്ക് =
+യ്ക്കു് =
+യോ=
+യായ=
+യ്ക്കായി=
+ക്കായി=
+#ഉകാരത്തിലവസാനിക്കുന്ന നാമങ്ങള്‍
+വിനെ=
+വിന്റെ=
+വിന്=
+വിനു്=
+വെ=
+#് എന്നതിലവസാനിക്കുന്ന നാമങ്ങള്‍
+ില്‍=ു്
+ിനെ=ു്
+ിന്റെ=ു്
+യായി=
+#അ/ഇകാരത്തിലവസാനിക്കുന്ന ക്രിയകള്‍
+താണു്=
+താണ്=
+കള്‍=
+യാകാന്‍=" ആകാന്‍"
+യുള്ള=" ഉള്ള"
+ീകരിച്ചതു്=ിയാക്കുക
+#ഉകാരത്തിലവസാനിക്കുന്ന ക്രിയകള്‍
+ുണ്ടായ= ു് ഉണ്ടായ
+ുണ്ടാവുക= ു് ഉണ്ടാവുക
+#ത്തുക എന്നതില്‍ അവസാനിക്കുന്ന ക്രിയകള്‍= ഉണര്‍ത്തുക, പകര്‍ത്തുക
+ത്താറുണ്ടു്= ത്തുക ഉണ്ടു്
+ത്താറുണ്ട്= ത്തുക ഉണ്ടു്
+ത്തിയിട്ടുണ്ടു്= ത്തുക ഉണ്ടു്
+ത്തുയിട്ടുണ്ട്=ത്തുക ഉണ്ടു്
+ത്തിയില്ല=ത്തുക ഇല്ല
+ത്തുമോ=ത്തുക
+ത്തി=ത്തുക
+#തുക എന്നതില്‍ അവസാനിക്കുന്ന ക്രിയകള്‍ = കരുതുക. പൊരുതുക
+തി=തുക
+താറുണ്ടു്=തുക ഉണ്ടു്
+താറുണ്ട്=തുക ഉണ്ടു്
+തിയില്ല=തുക ഇല്ല
+#ക്കുക എന്നതില്‍ അവസാനിക്കുന്ന ക്രിയകള്‍ = സഞ്ചരിക്കുക, ഉറക്കുക പറക്കുക
+ക്കാന്‍=ക്കുക
+ക്കാറാണു്= ക്കുക ആണു്
+ക്കാറാണ്=ക്കുക ആണു്
+ക്കി=ക്കുക
+യ്ക്കാനായി=യ്ക്കാന്‍ ആവുക
+ക്കാനായി=ക്കാന്‍ ആവുക
+ച്ചു=യ്ക്കുക
+ിച്ച്=ിയ്ക്കുക
+ിച്ചു്=ിയ്ക്കുക
+റന്നു്=റക്കുക
+റന്ന്=റക്കുക
+ന്നിട്ടുണ്ടു്=ക്കുക ഉണ്ടു്
+ന്നിട്ടുണ്ട്=ക്കുക ഉണ്ടു്
+#കുക എന്നതില്‍ അവസാനിക്കുന്ന ക്രിയകള്‍= പടരുക, തുടരുക, വിടരുക
+ര്‍ന്നു്=രുക
+ര്‍ന്നു=രുക
+ര്‍ന്നില്ല=രുക ഇല്ല
+രാനായി=രുക ആവുക
+രുന്നതിനു=രുക
+ടരും=ടരുക
+#ങ്ങുക എന്നതില്‍ അവസാനിക്കുന്ന ക്രിയകള്‍=കറങ്ങുക
+ങ്ങന്നതിനു്=ങ്ങുക
+ക്കം=ക്കുക
+#msc
+യാണിവ=" ആണു് ഇവ"
+യുള്ളവ=" ഉള്ള അവ"
+യുള്ളതു്=" ഉള്ള അതു്"
+ാക്കപ്പെടുന്ന=ു് ആക്കുക പെടുക"
+ായിരിക്കും=" ു് ആയിരിക്കും"
+യാണുണ്ടാവുക=" ഉണ്ടാവുക"
+ളാണുള്ളത്="ള്‍ ആണു് ഉള്ളതു്"
+യുപയോഗിച്ചു്=ു് ഉപയോഗിക്കുക
+ുപയോഗിച്ചു്=ു് ഉപയോഗിക്കുക
+യുപയോഗിച്ച്=ു് ഉപയോഗിക്കുക
+ുപയോഗിച്ച്=ു് ഉപയോഗിക്കുക
diff --git a/silpa/modules/ngram/algorithm b/silpa/modules/ngram/algorithm
new file mode 100644
index 0000000..495b85a
--- /dev/null
+++ b/silpa/modules/ngram/algorithm
@@ -0,0 +1,23 @@
+We have a TREE data structure. Each node in the tree is an instance of NgramNode.
+Each NgramNode objects contains a string value of the node and a Rank
+Rank is the incremented frequency of occurance of the corresponding string in the training corpus
+
+NGramNode is a super class of SyllableNgramNode and WordNgramNode
+That means, each node in the tree can be either a syllable or a word.
+We have only one tree for both words and syllables as of now
+
+In the tree, the root node is an empty node with label *. That indicates that all its childs, either syllables or words,
+are start of word or sentence respectively.
+
+Child of a node meaning:
+Y is a child ofX means , Y can follow immediately after the occurance of X in the text, Where X,Y are either syllable or word(only one time in a tree route)
+X can have any number of childs.
+The probability that a node in the list of childs occur in a given context is controlled by Rank(node)
+Rank is nothing but integer values incremented based on frequency of occurance.
+Higher the rank, higher the probability that the node can follow immediately after X
+
+Persistance of the populated tree is achieved through pickling the entire tree structure.
+
+Tree operations:
+a) Adding a syllable-ngram, n=2
+
diff --git a/silpa/modules/ngram/ml.txt b/silpa/modules/ngram/ml.txt
new file mode 100644
index 0000000..4c48980
--- /dev/null
+++ b/silpa/modules/ngram/ml.txt
@@ -0,0 +1 @@
+കടലില്‍ ജീവിക്കുന്ന ഒരു സസ്തനിയാണ് നീലത്തിമിംഗലം. ബലീന്‍ തിമിംഗലങ്ങളുടെ ഒരു ഉപജാതിയാണിവ. ലോകത്ത് ഇന്നുവരെയുള്ളതില്‍ ഏറ്റവും വലിയ ജീവിയായി കണക്കാക്കപ്പെടുന്ന നീലത്തിമിംഗലങ്ങള്‍ക്ക് 33 മീ. നീളവും 181 മെട്രിക് ടണിലധികം ഭാരവും ഉണ്ടാകാം. നീണ്ട ശരീരപ്രകൃതിയുള്ള നീലത്തിമിംഗലങ്ങളുടെ ശരീരം നീലകലര്‍ന്ന ചാരനിറത്തോടെയാണുണ്ടാവുക, ശരീരത്തിനടിഭാഗത്തേക്ക് നിറം കുറവായിരിക്കും. നീലത്തിമിംഗലങ്ങള്‍ക്ക് കുറഞ്ഞത് മൂന്നുപജാതികളെങ്കിലും ഉണ്ടെന്നു കരുതുന്നു.
diff --git a/silpa/modules/ngram/ngram.py b/silpa/modules/ngram/ngram.py
new file mode 100644
index 0000000..cab2ed9
--- /dev/null
+++ b/silpa/modules/ngram/ngram.py
@@ -0,0 +1,347 @@
+#!/usr/bin/env python
+# -*- coding: utf-8 -*-
+# Ngram
+# Copyright 2008-2009 Santhosh Thottingal <santhosh.thottingal@gmail.com>
+# http://www.smc.org.in
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Library General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+#
+
+import codecs
+import pickle
+import pydot
+import os,sys
+from optparse import OptionParser
+VERSION=0.1
+MAX_TREE_DEPTH=1000
+PICKLED_TREE="ngram.pyo"
+class NgramNode:
+ def __init__(self, node_value="*", rank=1, child_list=None):
+ self.node_value=node_value
+ self.rank=rank
+ self.child_list=child_list
+ self.desc="Start Node"
+ def setNode(self, node_value="*", rank=None,childs=None, child_list=None):
+ self.node_value=node_value
+ self.rank=rank
+ self.child_list=child_list
+ def getName(self):
+ return self.node_value
+ def getDesc(self):
+ return self.desc
+ def setDesc(self,desc):
+ self.desc = desc
+ return self.desc
+ def getRank(self):
+ return self.rank
+ def setRank(self, rank):
+ self.rank = rank
+ def incrRank(self, incr=1):
+ self.rank = self.rank + incr
+ return self.rank
+ def getChildList(self):
+ if(self.child_list!=None):
+ return self.child_list
+ else:
+ return None
+ def getChildByName(self,child_name):
+ if(self.child_list==None):
+ return None
+ for child in self.child_list:
+ if(child.getName()==child_name):
+ return child
+ def childIndex(self,childnode):
+ if(self.child_list==None):
+ return -1
+ for child in self.child_list:
+ if(child.getName()==childnode.getName()):
+ return self.child_list.index(child)
+ return -2
+ def printChildList(self):
+ if(self.child_list==None):
+ return None
+ for child in self.child_list:
+ print child,
+ def addChildNode(self, node):
+ if(node!=None):
+ if(self.child_list==None):
+ self.child_list=[]
+ #Check whether this node is already present in the Ngram Tree
+ member_index=self.childIndex(node)
+ if(member_index>=0):
+ #Node already present.Incrementing Rank
+ self.child_list[member_index].incrRank()
+ else:
+ self.child_list.append(node)
+ #Keep it sorted as per the ranks
+ self.child_list.sort()
+ def removeChildNode(self, node):
+ if(node!=None & self.child_list!=None):
+ self.child_list.remove(node)
+ def __str__(self):
+ return "Node: %s[%d]" % (self.node_value, self.rank)
+ '''Recursively traverse through the tree and print the nodes-Depth First Traversal'''
+ def toString(self):
+ print "Node: %s[%d]" % (self.node_value, self.rank)
+ child_list=self.getChildList()
+ if(child_list!=None):
+ for child_node in child_list :
+ child_node.toString()
+ '''Defining the less than operater of the object'''
+ def __lt__(self, node):
+ return self.getRank() < node.getRank()
+ '''Defining the greater than operater of the object'''
+ def __gt__(self, node):
+ return self.getRank() > node.getRank()
+ '''Defining the equal-to operater of the object'''
+ def __eq__(self, node):
+ if(node==None):
+ return False
+ return (self.getName() == node.getName()) & (self.getRank() == node.getRank())
+ '''Defining the comparison of two object instances. Required for sorting the list of objects'''
+ def __cmp__(self, node):
+ if(node==None):
+ return 1
+ if(self.getName()==node.getName()):
+ return cmp(self.getRank(), node.getRank())
+ else:
+ return 1
+
+
+#Syllable Node Class
+#Extends NgramNode class
+class SyllableNode(NgramNode):
+ def __str__(self):
+ return ("Syllable: %s[%d]" % (self.node_value, self.rank )).encode('utf-8')
+#Word Node Class
+#Extends NgramNode class
+class WordNode(NgramNode):
+ def __str__(self):
+ return ("Word: %s[%d]" % (self.node_value, self.rank )).encode('utf-8')
+
+class NGram:
+ def __init__(self, text=None, language=None):
+ self.text=None
+ self.language=None
+ try:
+ #Try loading picked tree object
+ self.ngrams=pickle.load(open(PICKLED_TREE))
+ print "Loaded the ngram from " + PICKLED_TREE
+ except:
+ #Initialize with empty node
+ self.ngrams=NgramNode()
+ print "New one"
+ self.search_depth=0
+ def getRoot(self, node_name=None):
+ if(node_name==None):
+ return self.ngrams
+ else:
+ return self.searchNode(node_name)
+
+ def searchNodeByName(self, node_name, current_node=None, depth=MAX_TREE_DEPTH):
+ if(current_node==None):
+ current_node=self.getRoot()
+ self.search_depth = 0
+ if(self.search_depth==depth):
+ return None
+ if(current_node.getName() == node_name):
+ print "Found at depth", self.search_depth
+ return current_node
+ else:
+ child_list=current_node.getChildList()
+ if(child_list==None):
+ return None
+ else:
+ child_list=child_list
+ self.search_depth = self.search_depth+1
+ for child_node in child_list :
+ result_node=self.searchNodeByName(node_name,child_node, depth)
+ if(result_node!=None):
+ return result_node
+ def printNgram(self, current_node=None):
+ if(current_node==None):
+ current_node=self.getRoot()
+ print current_node
+ child_list=current_node.getChildList()
+
+ if(child_list==None):
+ return None
+ else:
+ child_list.sort()
+ for child_node in child_list :
+ self.printNgram(child_node)
+ def toDot(self, graph , current_node=None):
+ if(current_node==None):
+ current_node=self.getRoot()
+ child_list=current_node.getChildList()
+ if(child_list!=None):
+ key=current_node.getName()
+ for child_node in child_list:
+ value=child_node.getName()
+ if((key!=None) & ord(key[len(key)-1])<=0x0901 & len(key)>1):
+ key=key[0:len(key)-1]
+ if(value!=None):
+ if((ord(value[len(value)-1])<=0x0901) & len(value)>1):
+ value=value[0:len(value)-2]
+ graph.add_edge(pydot.Edge(key.encode('utf-8'),value.encode('utf-8')))
+ self.toDot(graph,child_node)
+ def toGraph(self, output_image_file):
+ graph=pydot.Dot()
+ self.toDot(graph)
+ #print graph.to_string().encode('utf-8')
+ graph.write(output_image_file,"dot", "png" )
+
+ def addSyllables(self,text, window_size=2):
+ words=text.split(" ")
+ ngrams = []
+ for word in words:
+ #TODO-Normalize before taking ngram!!!
+ word = "*"+word+"]"
+ syllables = self.syllabalize_ml(word)
+ syllable_count = len(syllables)
+ window_start = 0
+ window_end = 0
+ while window_start + window_size <= syllable_count:
+ if(window_start + window_size < syllable_count):
+ window_end = window_start + window_size
+ else:
+ window_end = syllable_count
+ ngrams.append(syllables[window_start:window_end])
+ window_start = window_start+1
+ return ngrams
+ '''Syllabalize a given Malayalam string. Based on ml-split code by Baiju M'''
+ def syllabalize_ml(self,text):
+ signs = [
+ u'\u0d02', u'\u0d03', u'\u0d3e', u'\u0d3f', u'\u0d40', u'\u0d41',
+ u'\u0d42', u'\u0d43', u'\u0d44', u'\u0d46', u'\u0d47', u'\u0d48',
+ u'\u0d4a', u'\u0d4b', u'\u0d4c', u'\u0d4d']
+ limiters = ['.','\"','\'','`','!',';',',','?', ']']
+ chandrakkala = u'\u0d4d'
+ lst_chars = []
+ for char in text:
+ if char in limiters:
+ lst_chars.append(char)
+ elif char in signs:
+ lst_chars[-1] = lst_chars[-1] + char
+ else:
+ try:
+ if lst_chars[-1][-1] == chandrakkala :
+ lst_chars[-1] = lst_chars[-1] + char
+ else:
+ lst_chars.append(char)
+ except IndexError:
+ lst_chars.append(char)
+
+ return lst_chars
+ def addWords(self,text, window_size=2):
+ text = "* "+text+" ]"
+ words = text.split(" ")
+ ngrams = []
+ word_count = len(words)
+ window_start = 0
+ window_end = 0
+ while window_start + window_size <= word_count:
+ if(window_start + window_size < word_count):
+ window_end = window_start + window_size
+ else:
+ window_end = word_count
+ words[window_start:window_end]
+ ngrams.append(words[window_start:window_end])
+ window_start = window_start+1
+ return ngrams
+ def populateSyllableNgram(self, text):
+ ngrams = self.addSyllables(text)
+ for ngram in ngrams:
+ ngram_str=""
+ for item in ngram:
+ if(item.strip()>""):
+ if(ngram_str==""):
+ ngram_str=ngram_str+ item
+ else:
+
+ if(ngram_str=="["):
+ parent_node=self.getRoot()
+ else:
+ parent_node=self.searchNodeByName(ngram_str,self.getRoot())
+ if(parent_node==None):
+ print "Parent node not found for " + item
+ else:
+ parent_node.addChildNode(SyllableNode(item))
+ print ngram_str+ " -> "+item
+ #pickle the tree
+ pickle.dump(self.getRoot(),open(PICKLED_TREE,'w'))
+ def populateWordNgram(self, text):
+ ng = NGram ()
+ ngrams = ng.addWords(text)
+ for ngram in ngrams:
+ ngram_str=""
+ for item in ngram:
+ if(item.strip()>""):
+ if(ngram_str==""):
+ ngram_str=ngram_str+ item
+ else:
+ if(ngram_str=="*"):
+ parent_node=self.getRoot()
+ else:
+ parent_node=self.searchNodeByName(ngram_str,self.getRoot())
+ if(parent_node==None):
+ print "Parent node not found for " + item
+ else:
+ parent_node.addChildNode(WordNode(item))
+ print ngram_str+ " -> "+item
+ #pickle the tree
+ pickle.dump(self.getRoot(),open(PICKLED_TREE,'w'))
+if __name__ == "__main__":
+ usage = "usage: %prog [options] inputfile"
+ parser = OptionParser(version="%prog 0.1",description="Malayalam NGram Analyser")
+ parser.set_usage(usage)
+ parser.add_option("-g", "--generate-graph", dest="gen_graph",help="Generates a graph in png format to visualize the ngram")
+ parser.add_option("-p", "--print", action="store_true",default=False,dest="print_ngram",help="Print the Ngram")
+ parser.add_option("-i", "--input-file", dest="input_file",help="Input File for learning")
+ parser.add_option("-s", "--suggest-syllables", dest="suggest_syllables",help="Suggest next possible syllables for the given letter/syllable ")
+ parser.add_option("-w", "--suggest-words", dest="suggest_words",help="Suggest next possible words for the given word ")
+ (options, args) = parser.parse_args()
+
+ if(options.gen_graph):
+ ng = NGram ()
+ ng.toGraph(options.gen_graph)
+ if(options.input_file):
+ if not os.path.exists(options.input_file):
+ print "File Doesnot Exist"
+ sys.exit(1)
+ else:
+ corpus_file = codecs. open(options.input_file,encoding='utf-8', errors='ignore')
+ ng = NGram ()
+ while 1:
+ text = unicode( corpus_file.readline())
+ if text == "":
+ break
+ text= text + " ]"
+ ng.populateSyllableNgram(text)
+ ng.populateWordNgram(text)
+ print "Populated"
+ if(options.print_ngram):
+ ng = NGram ()
+ print ng.getRoot().toString()
+ if(options.suggest_syllables):
+ ng = NGram ()
+ print "Searching for" + options.suggest_words
+ print ng.searchNodeByName(unicode(options.suggest_syllables))
+ if(options.suggest_syllables):
+ ng = NGram ()
+ print "Searching for "+ options.suggest_words
+ print ng.searchNodeByName(unicode(options.suggest_words))
+
+
diff --git a/silpa/modules/ngram/ngram_ml.txt b/silpa/modules/ngram/ngram_ml.txt
new file mode 100644
index 0000000..a4db8f1
--- /dev/null
+++ b/silpa/modules/ngram/ngram_ml.txt
@@ -0,0 +1,238 @@
+(dp0
+V\u0d35\u0d32\u0d3f\u0d2f
+p1
+V\u0d1c\u0d40\u0d35\u0d3f\u0d2f\u0d3e\u0d2f\u0d3f -> \u0d1c\u0d40\u0d35\u0d3f\u0d2f\u0d3e\u0d2f\u0d3f
+p2
+sV\u0d2e\u0d31\u0d4d\u0d31\u0d4d
+p3
+V\u0d2c\u0d32\u0d40\u0d28\u0d4d\u200d -> \u0d2c\u0d32\u0d40\u0d28\u0d4d\u200d -> \u0d2c\u0d32\u0d40\u0d28\u0d4d\u200d
+p4
+sV\u0d28\u0d40\u0d32\u0d24\u0d4d\u0d24\u0d3f\u0d2e\u0d3f\u0d02\u0d17\u0d32\u0d19\u0d4d\u0d19\u0d33\u0d4d\u200d\u0d15\u0d4d\u0d15\u0d4d
+p5
+V33 -> \u0d15\u0d41\u0d31\u0d1e\u0d4d\u0d1e\u0d24\u0d4d -> 33 -> \u0d15\u0d41\u0d31\u0d1e\u0d4d\u0d1e\u0d24\u0d4d
+p6
+sV\u0d1c\u0d40\u0d35\u0d3f\u0d15\u0d4d\u0d15\u0d41\u0d28\u0d4d\u0d28
+p7
+V\u0d12\u0d30\u0d41 -> \u0d12\u0d30\u0d41
+p8
+sV\u0d06\u0d23\u0d41
+p9
+V\u0d2d\u0d15\u0d4d\u0d37\u0d3f\u0d15\u0d4d\u0d15\u0d41\u0d28\u0d4d\u0d28\u0d24\u0d4d -> \u0d2d\u0d15\u0d4d\u0d37\u0d3f\u0d15\u0d4d\u0d15\u0d41\u0d28\u0d4d\u0d28\u0d24\u0d4d -> \u0d2d\u0d15\u0d4d\u0d37\u0d3f\u0d15\u0d4d\u0d15\u0d41\u0d28\u0d4d\u0d28\u0d24\u0d4d
+p10
+sV\u0d05\u0d31\u0d4d\u0d31\u0d4d\u0d32\u0d3e\u0d28\u0d4d\u0d31\u0d3f\u0d15\u0d4d
+p11
+V\u0d38\u0d2e\u0d41\u0d26\u0d4d\u0d30\u0d24\u0d4d\u0d24\u0d3f\u0d32\u0d41\u0d02 -> \u0d38\u0d2e\u0d41\u0d26\u0d4d\u0d30\u0d24\u0d4d\u0d24\u0d3f\u0d32\u0d41\u0d02 -> \u0d38\u0d2e\u0d41\u0d26\u0d4d\u0d30\u0d24\u0d4d\u0d24\u0d3f\u0d32\u0d41\u0d02
+p12
+sV\u0d28\u0d40\u0d32\u0d15\u0d32\u0d30\u0d4d\u200d\u0d28\u0d4d\u0d28
+p13
+V\u0d1a\u0d3e\u0d30\u0d28\u0d3f\u0d31\u0d24\u0d4d\u0d24\u0d4b\u0d1f\u0d46\u0d2f\u0d3e\u0d23\u0d41\u0d23\u0d4d\u0d1f\u0d3e\u0d35\u0d41\u0d15 -> \u0d1a\u0d3e\u0d30\u0d28\u0d3f\u0d31\u0d24\u0d4d\u0d24\u0d4b\u0d1f\u0d46\u0d2f\u0d3e\u0d23\u0d41\u0d23\u0d4d\u0d1f\u0d3e\u0d35\u0d41\u0d15
+p14
+sV\u0d36\u0d30\u0d40\u0d30\u0d24\u0d4d\u0d24\u0d3f\u0d28\u0d1f\u0d3f\u0d2d\u0d3e\u0d17\u0d24\u0d4d\u0d24\u0d47\u0d15\u0d4d\u0d15\u0d4d
+p15
+V\u0d28\u0d3f\u0d31\u0d02 -> \u0d28\u0d3f\u0d31\u0d02
+p16
+sV\u0d28\u0d40\u0d23\u0d4d\u0d1f
+p17
+V\u0d36\u0d30\u0d40\u0d30\u0d2a\u0d4d\u0d30\u0d15\u0d43\u0d24\u0d3f\u0d2f\u0d41\u0d33\u0d4d\u0d33 -> \u0d36\u0d30\u0d40\u0d30\u0d2a\u0d4d\u0d30\u0d15\u0d43\u0d24\u0d3f\u0d2f\u0d41\u0d33\u0d4d\u0d33
+p18
+sV\u0d2e\u0d42\u0d28\u0d4d\u0d28\u0d41\u0d2a\u0d1c\u0d3e\u0d24\u0d3f\u0d15\u0d33\u0d46\u0d19\u0d4d\u0d15\u0d3f\u0d32\u0d41\u0d02
+p19
+V\u0d09\u0d23\u0d4d\u0d1f\u0d46\u0d28\u0d4d\u0d28\u0d41 -> \u0d09\u0d23\u0d4d\u0d1f\u0d46\u0d28\u0d4d\u0d28\u0d41
+p20
+sV\u0d38\u0d2e\u0d41\u0d26\u0d4d\u0d30\u0d24\u0d4d\u0d24\u0d3f\u0d32\u0d41\u0d02
+p21
+V\u0d35\u0d1f\u0d15\u0d4d\u0d15\u0d28\u0d4d\u200d -> \u0d35\u0d1f\u0d15\u0d4d\u0d15\u0d28\u0d4d\u200d -> \u0d35\u0d1f\u0d15\u0d4d\u0d15\u0d28\u0d4d\u200d
+p22
+sV\u0d28\u0d40\u0d30\u0d3e\u0d33\u0d3f\u0d15\u0d33\u0d47\u0d2f\u0d41\u0d02
+p23
+V\u0d05\u0d15\u0d24\u0d4d\u0d24\u0d3e\u0d15\u0d4d\u0d15\u0d3e\u0d31\u0d41\u0d23\u0d4d\u0d1f\u0d4d -> \u0d05\u0d15\u0d24\u0d4d\u0d24\u0d3e\u0d15\u0d4d\u0d15\u0d3e\u0d31\u0d41\u0d23\u0d4d\u0d1f\u0d4d -> \u0d05\u0d15\u0d24\u0d4d\u0d24\u0d3e\u0d15\u0d4d\u0d15\u0d3e\u0d31\u0d41\u0d23\u0d4d\u0d1f\u0d4d
+p24
+sV\u0d1a\u0d46\u0d31\u0d3f\u0d2f
+p25
+V\u0d28\u0d40\u0d30\u0d3e\u0d33\u0d3f\u0d15\u0d33\u0d47\u0d2f\u0d41\u0d02 -> \u0d28\u0d40\u0d30\u0d3e\u0d33\u0d3f\u0d15\u0d33\u0d47\u0d2f\u0d41\u0d02 -> \u0d28\u0d40\u0d30\u0d3e\u0d33\u0d3f\u0d15\u0d33\u0d47\u0d2f\u0d41\u0d02
+p26
+sV\u0d15\u0d1f\u0d32\u0d3f\u0d32\u0d4d\u200d
+p27
+V\u0d1c\u0d40\u0d35\u0d3f\u0d15\u0d4d\u0d15\u0d41\u0d28\u0d4d\u0d28 -> \u0d1c\u0d40\u0d35\u0d3f\u0d15\u0d4d\u0d15\u0d41\u0d28\u0d4d\u0d28
+p28
+sV\u0d1c\u0d40\u0d35\u0d3f\u0d2f\u0d3e\u0d2f\u0d3f
+p29
+V\u0d15\u0d23\u0d15\u0d4d\u0d15\u0d3e\u0d15\u0d4d\u0d15\u0d2a\u0d4d\u0d2a\u0d46\u0d1f\u0d41\u0d28\u0d4d\u0d28 -> \u0d15\u0d23\u0d15\u0d4d\u0d15\u0d3e\u0d15\u0d4d\u0d15\u0d2a\u0d4d\u0d2a\u0d46\u0d1f\u0d41\u0d28\u0d4d\u0d28
+p30
+sV\u0d15\u0d3e\u0d23\u0d2a\u0d4d\u0d2a\u0d46\u0d1f\u0d41\u0d28\u0d4d\u0d28
+p31
+V\u0d15\u0d41\u0d33\u0d4d\u0d33\u0d28\u0d4d\u200d -> \u0d15\u0d41\u0d33\u0d4d\u0d33\u0d28\u0d4d\u200d -> \u0d15\u0d41\u0d33\u0d4d\u0d33\u0d28\u0d4d\u200d
+p32
+sV\u0d15\u0d3e\u0d23\u0d41\u0d28\u0d4d\u0d28
+p33
+V\u0d2c\u0d3f -> \u0d2c\u0d3f -> \u0d2c\u0d3f -> \u0d2c\u0d3f -> \u0d2c\u0d3f -> \u0d2c\u0d3f
+p34
+sV\u0d15\u0d23\u0d15\u0d4d\u0d15\u0d3e\u0d15\u0d4d\u0d15\u0d2a\u0d4d\u0d2a\u0d46\u0d1f\u0d41\u0d28\u0d4d\u0d28
+p35
+V\u0d28\u0d40\u0d32\u0d24\u0d4d\u0d24\u0d3f\u0d2e\u0d3f\u0d02\u0d17\u0d32\u0d19\u0d4d\u0d19\u0d33\u0d4d\u200d\u0d15\u0d4d\u0d15\u0d4d -> \u0d28\u0d40\u0d32\u0d24\u0d4d\u0d24\u0d3f\u0d2e\u0d3f\u0d02\u0d17\u0d32\u0d19\u0d4d\u0d19\u0d33\u0d4d\u200d\u0d15\u0d4d\u0d15\u0d4d
+p36
+sV\u0d15\u0d41\u0d31\u0d1e\u0d4d\u0d1e\u0d24\u0d4d
+p37
+V\u0d2e\u0d42\u0d28\u0d4d\u0d28\u0d41\u0d2a\u0d1c\u0d3e\u0d24\u0d3f\u0d15\u0d33\u0d46\u0d19\u0d4d\u0d15\u0d3f\u0d32\u0d41\u0d02 -> \u0d2e\u0d42\u0d28\u0d4d\u0d28\u0d41\u0d2a\u0d1c\u0d3e\u0d24\u0d3f\u0d15\u0d33\u0d46\u0d19\u0d4d\u0d15\u0d3f\u0d32\u0d41\u0d02
+p38
+sV\u0d15\u0d41\u0d33\u0d4d\u0d33\u0d28\u0d4d\u200d
+p39
+V\u0d28\u0d40\u0d32\u0d24\u0d4d\u0d24\u0d3f\u0d2e\u0d3f\u0d02\u0d17\u0d32\u0d02 -> \u0d28\u0d40\u0d32\u0d24\u0d4d\u0d24\u0d3f\u0d2e\u0d3f\u0d02\u0d17\u0d32\u0d02 -> \u0d28\u0d40\u0d32\u0d24\u0d4d\u0d24\u0d3f\u0d2e\u0d3f\u0d02\u0d17\u0d32\u0d02
+p40
+sV181
+p41
+V\u0d2e\u0d46\u0d1f\u0d4d\u0d30\u0d3f\u0d15\u0d4d -> \u0d2e\u0d46\u0d1f\u0d4d\u0d30\u0d3f\u0d15\u0d4d
+p42
+sV\u0d0f\u0d31\u0d4d\u0d31\u0d35\u0d41\u0d02
+p43
+V\u0d35\u0d32\u0d3f\u0d2f -> \u0d35\u0d32\u0d3f\u0d2f
+p44
+sV\u0d36\u0d30\u0d40\u0d30\u0d2a\u0d4d\u0d30\u0d15\u0d43\u0d24\u0d3f\u0d2f\u0d41\u0d33\u0d4d\u0d33
+p45
+V\u0d28\u0d40\u0d32\u0d24\u0d4d\u0d24\u0d3f\u0d2e\u0d3f\u0d02\u0d17\u0d32\u0d19\u0d4d\u0d19\u0d33\u0d41\u0d1f\u0d46 -> \u0d28\u0d40\u0d32\u0d24\u0d4d\u0d24\u0d3f\u0d2e\u0d3f\u0d02\u0d17\u0d32\u0d19\u0d4d\u0d19\u0d33\u0d41\u0d1f\u0d46
+p46
+sV\u0d15\u0d23\u0d4d\u0d1f\u0d41
+p47
+V\u0d35\u0d30\u0d41\u0d28\u0d4d\u0d28 -> \u0d35\u0d30\u0d41\u0d28\u0d4d\u0d28 -> \u0d35\u0d30\u0d41\u0d28\u0d4d\u0d28
+p48
+sV\u0d26\u0d15\u0d4d\u0d37\u0d3f\u0d23
+p49
+V\u0d38\u0d2e\u0d41\u0d26\u0d4d\u0d30\u0d24\u0d4d\u0d24\u0d3f\u0d32\u0d4d\u200d -> \u0d38\u0d2e\u0d41\u0d26\u0d4d\u0d30\u0d24\u0d4d\u0d24\u0d3f\u0d32\u0d4d\u200d -> \u0d38\u0d2e\u0d41\u0d26\u0d4d\u0d30\u0d24\u0d4d\u0d24\u0d3f\u0d32\u0d4d\u200d
+p50
+sV\u0d38\u0d2e\u0d41\u0d26\u0d4d\u0d30\u0d24\u0d4d\u0d24\u0d3f\u0d32\u0d4d\u200d
+p51
+V\u0d15\u0d3e\u0d23\u0d41\u0d28\u0d4d\u0d28 -> \u0d15\u0d3e\u0d23\u0d41\u0d28\u0d4d\u0d28 -> \u0d15\u0d3e\u0d23\u0d41\u0d28\u0d4d\u0d28
+p52
+sV\u0d38\u0d38\u0d4d\u0d24\u0d28\u0d3f\u0d2f\u0d3e\u0d23\u0d4d
+p53
+V\u0d28\u0d40\u0d32\u0d24\u0d4d\u0d24\u0d3f\u0d2e\u0d3f\u0d02\u0d17\u0d32\u0d02 -> \u0d28\u0d40\u0d32\u0d24\u0d4d\u0d24\u0d3f\u0d2e\u0d3f\u0d02\u0d17\u0d32\u0d02
+p54
+sV\u0d07\u0d28\u0d4d\u0d28\u0d41\u0d35\u0d30\u0d46\u0d2f\u0d41\u0d33\u0d4d\u0d33\u0d24\u0d3f\u0d32\u0d4d\u200d
+p55
+V\u0d0f\u0d31\u0d4d\u0d31\u0d35\u0d41\u0d02 -> \u0d0f\u0d31\u0d4d\u0d31\u0d35\u0d41\u0d02
+p56
+sV\u0d28\u0d40\u0d32\u0d24\u0d4d\u0d24\u0d3f\u0d2e\u0d3f\u0d02\u0d17\u0d32\u0d19\u0d4d\u0d19\u0d33\u0d41\u0d1f\u0d46
+p57
+V\u0d36\u0d30\u0d40\u0d30\u0d02 -> \u0d36\u0d30\u0d40\u0d30\u0d02
+p58
+sV\u0d2d\u0d3e\u0d30\u0d35\u0d41\u0d02
+p59
+V\u0d09\u0d23\u0d4d\u0d1f\u0d3e\u0d15\u0d3e\u0d02 -> \u0d09\u0d23\u0d4d\u0d1f\u0d3e\u0d15\u0d3e\u0d02
+p60
+sV\u0d2a\u0d4b\u0d32\u0d46
+p61
+V\u0d28\u0d40\u0d32\u0d24\u0d4d\u0d24\u0d3f\u0d2e\u0d3f\u0d02\u0d17\u0d32\u0d19\u0d4d\u0d19\u0d33\u0d41\u0d02 -> \u0d28\u0d40\u0d32\u0d24\u0d4d\u0d24\u0d3f\u0d2e\u0d3f\u0d02\u0d17\u0d32\u0d19\u0d4d\u0d19\u0d33\u0d41\u0d02 -> \u0d28\u0d40\u0d32\u0d24\u0d4d\u0d24\u0d3f\u0d2e\u0d3f\u0d02\u0d17\u0d32\u0d19\u0d4d\u0d19\u0d33\u0d41\u0d02
+p62
+sV\u0d24\u0d3f\u0d2e\u0d3f\u0d02\u0d17\u0d32\u0d19\u0d4d\u0d19\u0d33\u0d41\u0d1f\u0d46
+p63
+V\u0d12\u0d30\u0d41 -> \u0d12\u0d30\u0d41
+p64
+sV\u0d2e\u0d46\u0d1f\u0d4d\u0d30\u0d3f\u0d15\u0d4d
+p65
+V\u0d1f\u0d23\u0d3f\u0d32\u0d27\u0d3f\u0d15\u0d02 -> \u0d1f\u0d23\u0d3f\u0d32\u0d27\u0d3f\u0d15\u0d02
+p66
+sV\u0d1a\u0d46\u0d31\u0d41\u0d2e\u0d24\u0d4d\u0d38\u0d4d\u0d2f\u0d19\u0d4d\u0d19\u0d33\u0d47\u0d2f\u0d41\u0d02
+p67
+V\u0d1a\u0d46\u0d31\u0d3f\u0d2f -> \u0d1a\u0d46\u0d31\u0d3f\u0d2f -> \u0d1a\u0d46\u0d31\u0d3f\u0d2f
+p68
+sV\u0d1c\u0d40\u0d35\u0d3f\u0d15\u0d33\u0d46
+p69
+V\u0d06\u0d23\u0d41 -> \u0d06\u0d23\u0d41 -> \u0d06\u0d23\u0d41
+p70
+sV\u0d2e\u0d39\u0d3e\u0d38\u0d2e\u0d41\u0d26\u0d4d\u0d30\u0d24\u0d4d\u0d24\u0d3f\u0d32\u0d4d\u200d
+p71
+V\u0d15\u0d3e\u0d23\u0d2a\u0d4d\u0d2a\u0d46\u0d1f\u0d41\u0d28\u0d4d\u0d28 -> \u0d15\u0d23\u0d4d\u0d1f\u0d41 -> \u0d15\u0d3e\u0d23\u0d2a\u0d4d\u0d2a\u0d46\u0d1f\u0d41\u0d28\u0d4d\u0d28 -> \u0d15\u0d23\u0d4d\u0d1f\u0d41 -> \u0d15\u0d3e\u0d23\u0d2a\u0d4d\u0d2a\u0d46\u0d1f\u0d41\u0d28\u0d4d\u0d28 -> \u0d15\u0d23\u0d4d\u0d1f\u0d41
+p72
+sV\u0d35\u0d1f\u0d15\u0d4d\u0d15\u0d28\u0d4d\u200d
+p73
+V\u0d05\u0d31\u0d4d\u0d31\u0d4d\u0d32\u0d3e\u0d28\u0d4d\u0d31\u0d3f\u0d15\u0d4d -> \u0d2a\u0d38\u0d2b\u0d3f\u0d15\u0d4d -> \u0d05\u0d31\u0d4d\u0d31\u0d4d\u0d32\u0d3e\u0d28\u0d4d\u0d31\u0d3f\u0d15\u0d4d -> \u0d2a\u0d38\u0d2b\u0d3f\u0d15\u0d4d -> \u0d05\u0d31\u0d4d\u0d31\u0d4d\u0d32\u0d3e\u0d28\u0d4d\u0d31\u0d3f\u0d15\u0d4d -> \u0d2a\u0d38\u0d2b\u0d3f\u0d15\u0d4d
+p74
+sV\u0d12\u0d30\u0d41
+p75
+V\u0d38\u0d38\u0d4d\u0d24\u0d28\u0d3f\u0d2f\u0d3e\u0d23\u0d4d -> \u0d09\u0d2a\u0d1c\u0d3e\u0d24\u0d3f\u0d2f\u0d3e\u0d23\u0d3f\u0d35 -> \u0d38\u0d38\u0d4d\u0d24\u0d28\u0d3f\u0d2f\u0d3e\u0d23\u0d4d -> \u0d09\u0d2a\u0d1c\u0d3e\u0d24\u0d3f\u0d2f\u0d3e\u0d23\u0d3f\u0d35
+p76
+sV\u0d28\u0d40\u0d32\u0d24\u0d4d\u0d24\u0d3f\u0d2e\u0d3f\u0d02\u0d17\u0d32\u0d02
+p77
+V\u0d0e\u0d28\u0d4d\u0d28\u0d3f\u0d35\u0d2f\u0d3e\u0d23\u0d35 -> \u0d0e\u0d28\u0d4d\u0d28\u0d3f\u0d35\u0d2f\u0d3e\u0d23\u0d35 -> \u0d0e\u0d28\u0d4d\u0d28\u0d3f\u0d35\u0d2f\u0d3e\u0d23\u0d35
+p78
+sV\u0d28\u0d40\u0d32\u0d24\u0d4d\u0d24\u0d3f\u0d2e\u0d3f\u0d02\u0d17\u0d32\u0d19\u0d4d\u0d19\u0d33\u0d41\u0d02
+p79
+V\u0d15\u0d4a\u0d1e\u0d4d\u0d1a\u0d41\u0d2a\u0d4b\u0d32\u0d41\u0d33\u0d4d\u0d33 -> \u0d15\u0d4a\u0d1e\u0d4d\u0d1a\u0d41\u0d2a\u0d4b\u0d32\u0d41\u0d33\u0d4d\u0d33 -> \u0d15\u0d4a\u0d1e\u0d4d\u0d1a\u0d41\u0d2a\u0d4b\u0d32\u0d41\u0d33\u0d4d\u0d33
+p80
+sV\u0d09\u0d23\u0d4d\u0d1f\u0d46\u0d28\u0d4d\u0d28\u0d41
+p81
+V\u0d15\u0d30\u0d41\u0d24\u0d41\u0d28\u0d4d\u0d28\u0d41 -> \u0d15\u0d30\u0d41\u0d24\u0d41\u0d28\u0d4d\u0d28\u0d41
+p82
+sV\u0d07\u0d28\u0d4d\u0d24\u0d4d\u0d2f\u0d28\u0d4d\u200d
+p83
+V\u0d2e\u0d39\u0d3e\u0d38\u0d2e\u0d41\u0d26\u0d4d\u0d30\u0d24\u0d4d\u0d24\u0d3f\u0d32\u0d4d\u200d -> \u0d2e\u0d39\u0d3e\u0d38\u0d2e\u0d41\u0d26\u0d4d\u0d30\u0d24\u0d4d\u0d24\u0d3f\u0d32\u0d4d\u200d -> \u0d2e\u0d39\u0d3e\u0d38\u0d2e\u0d41\u0d26\u0d4d\u0d30\u0d24\u0d4d\u0d24\u0d3f\u0d32\u0d4d\u200d -> \u0d2e\u0d39\u0d3e\u0d38\u0d2e\u0d41\u0d26\u0d4d\u0d30\u0d24\u0d4d\u0d24\u0d3f\u0d32\u0d4d\u200d -> \u0d2e\u0d39\u0d3e\u0d38\u0d2e\u0d41\u0d26\u0d4d\u0d30\u0d24\u0d4d\u0d24\u0d3f\u0d32\u0d4d\u200d -> \u0d2e\u0d39\u0d3e\u0d38\u0d2e\u0d41\u0d26\u0d4d\u0d30\u0d24\u0d4d\u0d24\u0d3f\u0d32\u0d4d\u200d
+p84
+sV\u0d2e\u0d38\u0d4d\u0d15\u0d41\u0d32\u0d38\u0d4d
+p85
+V(B -> (B -> (B
+p86
+sV\u0d1f\u0d23\u0d3f\u0d32\u0d27\u0d3f\u0d15\u0d02
+p87
+V\u0d2d\u0d3e\u0d30\u0d35\u0d41\u0d02 -> \u0d2d\u0d3e\u0d30\u0d35\u0d41\u0d02
+p88
+sV\u0d32\u0d4b\u0d15\u0d24\u0d4d\u0d24\u0d4d
+p89
+V\u0d07\u0d28\u0d4d\u0d28\u0d41\u0d35\u0d30\u0d46\u0d2f\u0d41\u0d33\u0d4d\u0d33\u0d24\u0d3f\u0d32\u0d4d\u200d -> \u0d07\u0d28\u0d4d\u0d28\u0d41\u0d35\u0d30\u0d46\u0d2f\u0d41\u0d33\u0d4d\u0d33\u0d24\u0d3f\u0d32\u0d4d\u200d
+p90
+sV\u0d07\u0d28\u0d4d\u200d\u0d21\u0d3f\u0d15
+p91
+V\u0d2e\u0d31\u0d4d\u0d31\u0d4a\u0d30\u0d41 -> \u0d2e\u0d31\u0d4d\u0d31\u0d4a\u0d30\u0d41 -> \u0d2e\u0d31\u0d4d\u0d31\u0d4a\u0d30\u0d41
+p92
+sV33
+p93
+V\u0d2e\u0d40 -> \u0d2e\u0d40
+p94
+sV\u0d28\u0d3f\u0d31\u0d02
+p95
+V\u0d15\u0d41\u0d31\u0d35\u0d3e\u0d2f\u0d3f\u0d30\u0d3f\u0d15\u0d4d\u0d15\u0d41\u0d02 -> \u0d15\u0d41\u0d31\u0d35\u0d3e\u0d2f\u0d3f\u0d30\u0d3f\u0d15\u0d4d\u0d15\u0d41\u0d02
+p96
+sV\u0d2a\u0d41\u0d31\u0d02\u0d24\u0d4b\u0d1f\u0d41\u0d33\u0d4d\u0d33
+p97
+V\u0d1a\u0d46\u0d31\u0d41 -> \u0d1a\u0d46\u0d31\u0d41 -> \u0d1a\u0d46\u0d31\u0d41
+p98
+sV\u0d2a\u0d38\u0d2b\u0d3f\u0d15\u0d4d
+p99
+V\u0d2e\u0d39\u0d3e\u0d38\u0d2e\u0d41\u0d26\u0d4d\u0d30\u0d24\u0d4d\u0d24\u0d3f\u0d32\u0d41\u0d02 -> \u0d2e\u0d39\u0d3e\u0d38\u0d2e\u0d41\u0d26\u0d4d\u0d30\u0d24\u0d4d\u0d24\u0d3f\u0d32\u0d41\u0d02 -> \u0d2e\u0d39\u0d3e\u0d38\u0d2e\u0d41\u0d26\u0d4d\u0d30\u0d24\u0d4d\u0d24\u0d3f\u0d32\u0d41\u0d02
+p100
+sV\u0d36\u0d30\u0d40\u0d30\u0d02
+p101
+V\u0d28\u0d40\u0d32\u0d15\u0d32\u0d30\u0d4d\u200d\u0d28\u0d4d\u0d28 -> \u0d28\u0d40\u0d32\u0d15\u0d32\u0d30\u0d4d\u200d\u0d28\u0d4d\u0d28
+p102
+sV\u0d2e\u0d39\u0d3e\u0d38\u0d2e\u0d41\u0d26\u0d4d\u0d30\u0d24\u0d4d\u0d24\u0d3f\u0d32\u0d41\u0d02
+p103
+V\u0d15\u0d3e\u0d23\u0d41\u0d28\u0d4d\u0d28 -> \u0d15\u0d3e\u0d23\u0d41\u0d28\u0d4d\u0d28 -> \u0d15\u0d3e\u0d23\u0d41\u0d28\u0d4d\u0d28
+p104
+sV\u0d15\u0d4a\u0d1e\u0d4d\u0d1a\u0d41\u0d2a\u0d4b\u0d32\u0d41\u0d33\u0d4d\u0d33
+p105
+V\u0d2a\u0d41\u0d31\u0d02\u0d24\u0d4b\u0d1f\u0d41\u0d33\u0d4d\u0d33 -> \u0d2a\u0d41\u0d31\u0d02\u0d24\u0d4b\u0d1f\u0d41\u0d33\u0d4d\u0d33 -> \u0d2a\u0d41\u0d31\u0d02\u0d24\u0d4b\u0d1f\u0d41\u0d33\u0d4d\u0d33
+p106
+sV\u0d2c\u0d32\u0d40\u0d28\u0d4d\u200d
+p107
+V\u0d24\u0d3f\u0d2e\u0d3f\u0d02\u0d17\u0d32\u0d19\u0d4d\u0d19\u0d33\u0d41\u0d1f\u0d46 -> \u0d24\u0d3f\u0d2e\u0d3f\u0d02\u0d17\u0d32\u0d19\u0d4d\u0d19\u0d33\u0d46 -> \u0d24\u0d3f\u0d2e\u0d3f\u0d02\u0d17\u0d32\u0d19\u0d4d\u0d19\u0d33\u0d46 -> \u0d24\u0d3f\u0d2e\u0d3f\u0d02\u0d17\u0d32\u0d19\u0d4d\u0d19\u0d33\u0d46 -> \u0d24\u0d3f\u0d2e\u0d3f\u0d02\u0d17\u0d32\u0d19\u0d4d\u0d19\u0d33\u0d41\u0d1f\u0d46
+p108
+sV\u0d24\u0d3f\u0d2e\u0d3f\u0d02\u0d17\u0d32\u0d19\u0d4d\u0d19\u0d33\u0d46
+p109
+V\u0d2a\u0d4b\u0d32\u0d46 -> \u0d2a\u0d4b\u0d32\u0d46 -> \u0d2a\u0d4b\u0d32\u0d46
+p110
+sV\u0d28\u0d40\u0d33\u0d35\u0d41\u0d02
+p111
+V181 -> 181
+p112
+sV\u0d2e\u0d31\u0d4d\u0d31\u0d4a\u0d30\u0d41
+p113
+V\u0d09\u0d2a\u0d1c\u0d3e\u0d24\u0d3f\u0d2f\u0d3e\u0d35\u0d3e\u0d28\u0d3f\u0d1f\u0d2f\u0d41\u0d23\u0d4d\u0d1f\u0d4d -> \u0d09\u0d2a\u0d1c\u0d3e\u0d24\u0d3f\u0d2f\u0d3e\u0d35\u0d3e\u0d28\u0d3f\u0d1f\u0d2f\u0d41\u0d23\u0d4d\u0d1f\u0d4d -> \u0d09\u0d2a\u0d1c\u0d3e\u0d24\u0d3f\u0d2f\u0d3e\u0d35\u0d3e\u0d28\u0d3f\u0d1f\u0d2f\u0d41\u0d23\u0d4d\u0d1f\u0d4d
+p114
+sV\u0d1a\u0d46\u0d31\u0d41
+p115
+V\u0d1c\u0d40\u0d35\u0d3f\u0d15\u0d33\u0d46 -> \u0d1c\u0d40\u0d35\u0d3f\u0d15\u0d33\u0d46 -> \u0d1c\u0d40\u0d35\u0d3f\u0d15\u0d33\u0d46
+p116
+sV\u0d35\u0d30\u0d41\u0d28\u0d4d\u0d28
+p117
+V\u0d2c\u0d3f -> \u0d2c\u0d3f -> \u0d2c\u0d3f
+p118
+s. \ No newline at end of file
diff --git a/silpa/modules/ngram/sample_ngram.py b/silpa/modules/ngram/sample_ngram.py
new file mode 100644
index 0000000..ec4b184
--- /dev/null
+++ b/silpa/modules/ngram/sample_ngram.py
@@ -0,0 +1,82 @@
+#! /usr/bin/env python
+# -*- coding: utf-8 -*-
+# Ngram
+# Copyright 2009 Jinesh K J <jinesh.k@gmail.com>
+# Copyright 2009 Swathantra Malayalam Computing <smc-discuss@googlegroups.com>
+# http://www.smc.org.in
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Library General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+#
+# If you find any bugs or have any suggestions email: jinesh.k@gmail.com or smc-discuss@googlegroups.com
+# URL: http://www.smc.org.in
+import pydot
+import codecs
+import pickle
+import sys
+from visualizer import NGramVisualizer
+from optparse import OptionParser
+
+def getData(new_file_name):
+ line = []
+ line_number = 0
+ rule_number = 0
+ corpus=""
+ data_file = codecs. open(new_file_name,encoding='utf-8', errors='ignore')
+ while 1:
+ line_number = line_number +1
+ text = unicode( data_file.readline())
+ if text == "":
+ break
+ if text[0] == '#':
+ continue
+ line_number = line_number +1
+ line = text.strip()
+ if(line == ""):
+ continue
+ corpus=corpus+" "+line
+ return corpus
+
+def printGraph(corpus,start_word):
+ ngv=NGramVisualizer ()
+ graph_dict=pickle.load(open(corpus))
+ graph=pydot.Dot()
+ uni_start_word = start_word.decode("utf-8")
+# print start_word
+# print uni_start_word
+ graph=ngv.generate_graph(graph_dict, graph,uni_start_word)
+ print graph.to_string().encode("utf-8")
+
+if __name__ == "__main__":
+ usage = "usage: %prog [options] INPUTDATA CORPUSFILE"
+ parser = OptionParser(version="%prog 1.0",description="Sample program to add data INPUTDATA to the corpus in CORPUSFILE")
+ parser.set_usage(usage)
+ parser.add_option("-s", "--start-word", dest="start_word",action="store_true",default=False,help="Creates a graph beginning from INPUTDATA")
+ parser.add_option("-f", "--file", action="store_true",default=False,dest="infile",help="Gets Data from file INPUTDATA")
+ (options, args) = parser.parse_args()
+ if len(args) != 2 :
+ parser.error("incorrect number of arguments")
+ if options.infile and options.start_word:
+ parser.error("options -f and -s are mutually exclusive")
+ ngv=NGramVisualizer ()
+ if options.infile:
+ data = getData(args[0])
+ # print data
+ ngv.loadCorpus(data,args[1])
+ elif options.start_word:
+ printGraph(args[1],args[0])
+ else:
+ # print args[0]
+ data = args[0].decode("utf-8")
+ ngv.loadCorpus(data,args[1])
diff --git a/silpa/modules/ngram/visualizer.py b/silpa/modules/ngram/visualizer.py
new file mode 100644
index 0000000..585c11f
--- /dev/null
+++ b/silpa/modules/ngram/visualizer.py
@@ -0,0 +1,110 @@
+#! /usr/bin/env python
+# -*- coding: utf-8 -*-
+# Ngram
+# Copyright 2008 Santhosh Thottingal <santhosh.thottingal@gmail.com>
+# http://www.smc.org.in
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Library General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+#
+# If you find any bugs or have any suggestions email: santhosh.thottingal@gmail.com
+# URL: http://www.smc.org.in
+import pydot
+import codecs
+import pickle
+
+class NGramVisualizer:
+ depth=0
+ def loadCorpus(self,corpus,corpus_file_name):
+ limiters = [".","!","?",",",";"]
+ try:
+ corpusfile = open(corpus_file_name)
+ except IOError:
+ graph_dict = dict()
+ else:
+ graph_dict = pickle.load(corpusfile)
+ # graph_dict = dict()
+ sentences=[]
+ sentence = ""
+ start = 0
+ for index in range(0,len(corpus)):
+ for delimit in limiters:
+ if corpus[index] == delimit:
+ sentence = corpus[start:index]
+ sentences.append(sentence)
+ start = index+1
+ for line in sentences:
+ words=line.split(" ")
+ word_count=len(words)
+ prev_word=""
+ for word in words:
+ #print word
+ word=word.strip()
+ if(prev_word==""):
+ prev_word=word
+ continue;
+ if(prev_word!=""):
+ if(graph_dict.has_key(prev_word)):
+ graph_dict[prev_word]=graph_dict[prev_word]+" -> "+word
+ else:
+ graph_dict[prev_word]=word
+ prev_word=word
+ prev_word=""
+
+ pickle.dump(graph_dict,open(corpus_file_name,'w'))
+ #return graph_dict
+ def generate_full_graph(self, start_word, graph_dict,outputimage):
+
+ for key in graph_dict.iterkeys():
+ values=graph_dict[key].split("->")
+ for value in values:
+ value=value.strip()
+ #print key, value
+ if(start_word>""):
+ if(key==start_word):
+ graph.add_edge(pydot.Edge(key.encode('utf-8'),value.encode('utf-8')))
+ else:
+ graph.add_edge(pydot.Edge(key.encode('utf-8'),value.encode('utf-8')))
+
+
+ def generate_graph(self, graph_dict, graph, src):
+ self.depth=self.depth+1
+ #print self.depth ,src
+ if(graph.get_node(src)!=[]):
+ return graph
+ if(self.depth>200):
+ return graph
+ values=[]
+ if(graph_dict.has_key(src)) :
+ values=graph_dict[src].split("->")
+ for dest in values:
+ dest=dest.strip()
+ #print src, dest,graph.get_edge(src,dest)
+ if(graph.get_edge(src,dest)):
+ continue
+ else:
+ graph.add_edge(pydot.Edge(src,dest))
+ graph=self.generate_graph(graph_dict, graph, dest)
+
+ return graph
+
+#if __name__ == "__main__":
+# ngv=NGramVisualizer ()
+# graph_dict = dict()
+# graph_dict=ngv.loadCorpus ("ml.txt",graph_dict)
+# pickle.dump(graph_dict,open('ngram_ml.txt','w'))
+# graph=pydot.Dot()
+# graph=ngv.generate_graph(graph_dict, graph,u"നീലത്തിമിംഗലങ്ങള്‍ക്ക്")
+# print graph.to_string().encode("utf-8")
+ #graph.write("ngvgraph-hi.png","dot", "raw" )
diff --git a/silpa/modules/paralperu/paralperu.py b/silpa/modules/paralperu/paralperu.py
new file mode 100644
index 0000000..b5398c4
--- /dev/null
+++ b/silpa/modules/paralperu/paralperu.py
@@ -0,0 +1,139 @@
+#! /usr/bin/env python
+# -*- coding: utf-8 -*-
+# Paralperu
+# Copyright 2008 Santhosh Thottingal <santhosh.thottingal@gmail.com>
+# http://www.smc.org.in
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Library General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+#
+# If you find any bugs or have any suggestions email: santhosh.thottingal@gmail.com
+# URL: http://www.smc.org.in
+
+
+class Paralperu:
+ def paralperu(self,text):
+ result = ""
+ text=unicode(text)
+ index = len(text) - 1
+ while index >= 0:
+ if ((index)>= 0 ) :
+ if (text[index]== '്'):
+ index = index - 2 #skip the letter before chandrakkala
+ continue
+ if (text[index] == u'ക'):
+ result = result + '1'
+ if (text[index]== u'ട'):
+ result = result + '1'
+ if (text[index]== u'പ'):
+ result = result + '1'
+ if (text[index]== u'യ'):
+ result = result + '1'
+ if (text[index]== u'ഖ'):
+ result = result + '2'
+ if (text[index]== u'ഠ'):
+ result = result + '2'
+ if (text[index]== u'ഫ'):
+ result = result + '2'
+ if (text[index]== u'ര'):
+ result = result + '2'
+ if (text[index]== u'ഗ'):
+ result = result + '3'
+ if (text[index]== u'ഡ'):
+ result = result + '3'
+ if (text[index]== u'ബ'):
+ result = result + '3'
+ if (text[index]== u'ല'):
+ result = result + '3'
+ if (text[index]== u'ഘ'):
+ result = result + '4'
+ if (text[index]== u'ഢ'):
+ result = result + '4'
+ if (text[index]== u'ഭ'):
+ result = result + '4'
+ if (text[index]== u'വ'):
+ result = result + '4'
+ if (text[index]== u'ങ'):
+ result = result + '5'
+ if (text[index]== u'ണ'):
+ result = result + '5'
+ if (text[index]== u'മ'):
+ result = result + '5'
+ if (text[index]== u'ശ'):
+ result = result + '5'
+ if (text[index]== u'ച'):
+ result = result + '6'
+ if (text[index]== u'ത'):
+ result = result + '6'
+ if (text[index]== u'ഷ'):
+ result = result + '6'
+ if (text[index]== u'ഛ'):
+ result = result + '7'
+ if (text[index]== u'ഥ'):
+ result = result + '7'
+ if (text[index]== u'സ'):
+ result = result + '7'
+ if (text[index]== u'ജ'):
+ result = result + '8'
+ if (text[index]== u'ദ'):
+ result = result + '8'
+ if (text[index]== u'ഹ'):
+ result = result + '8'
+ if (text[index]== u'ഝ'):
+ result = result + '9'
+ if (text[index]== u'ധ'):
+ result = result + '9'
+ if (text[index]== u'ള'):
+ result = result + '9'
+ if (text[index]== u'ഞ'):
+ result = result + '0'
+ if (text[index]== u'ന'):
+ result = result + '0'
+ if (text[index]== u'ഴ'):
+ result = result + '0'
+ if (text[index]== u'റ'):
+ result = result + '0'
+ if (text[index]== u'അ'):
+ result = result + '0'
+ if (text[index]== u'ആ'):
+ result = result + '0'
+ if (text[index]== u'ഇ'):
+ result = result + '0'
+ if (text[index]== u'ഈ'):
+ result = result + '0'
+ if (text[index]== u'ഉ'):
+ result = result + '0'
+ if (text[index]== u'ഊ'):
+ result = result + '0'
+ if (text[index]== u'ഋ'):
+ result = result + '0'
+ if (text[index]== u'ൠ'):
+ result = result + '0'
+ if (text[index]== u'ഌ'):
+ result = result + '0'
+ if (text[index]== u'ൡ'):
+ result = result + '0'
+ if (text[index]== u'എ'):
+ result = result + '0'
+ if (text[index]== u'ഏ'):
+ result = result + '0'
+ if (text[index]== u'ഒ'):
+ result = result + '0'
+ if (text[index]== u'ഓ'):
+ result = result + '0'
+ if (text[index]== u'ഔ'):
+ result = result + '0'
+ index = index-1
+ return result
+
diff --git a/silpa/modules/payyans/maps/ambili.map b/silpa/modules/payyans/maps/ambili.map
new file mode 100644
index 0000000..22fa9f0
--- /dev/null
+++ b/silpa/modules/payyans/maps/ambili.map
@@ -0,0 +1,191 @@
+#Ambili Font map for Payyans
+#http://download.savannah.gnu.org/releases/smc/payyans
+#Copyright 2009 Zyxware (www.zyxware.com)
+#Copyright 2008 SMC (www.smc.org.in)
+#Licensed under GPLv3
+#Contact smc-discuss@googlegroups.com for bug reports
+w=ം
+x=ഃ
+A=അ
+B=ആ
+C=ഇ
+Cu=ഈ
+D=ഉ
+Du=ഊ
+E=ഋ
+\p=ഌ
+F=എ
+G=ഏ
+sF=ഐ
+H=ഒ
+Hm=ഓ
+Hu=ഔ
+I=ക
+J=ഖ
+K=ഗ
+L=ഘ
+M=ങ
+N=ച
+O=ഛ
+P=ജ
+Q=ഝ
+R=ഞ
+S=ട
+T=ഠ
+U=ഡ
+V=ഢ
+W=ണ
+X=ത
+Y=ഥ
+Z=ദ
+[=ധ
+\=ന
+]=പ
+^=ഫ
+_=ബ
+`=ഭ
+a=മ
+b=യ
+c=ര
+d=റ
+e=ല
+f=ള
+g=ഴ
+h=വ
+i=ശ
+j=ഷ
+k=സ
+l=ഹ
+m=ാ
+n=ി
+o=ീ
+p=ു
+q=ൂ
+r=ൃ
+s=െ
+t=േ
+ss=ൈ
+sm=ൊ
+tm=ോ
+su=ൌ
+v=്‌
+u=ൗ
+¡=ത്ഥ
+¢=ക്ല
+£=ക്ഷ
+€=ഗ്ഗ
+¥=ഗ്ല
+Š=ങ്ക
+§=ങ്ങ
+š=ണ്‍
+©=ഞ്ച
+ª=ഞ്ഞ
+«=ട്ട
+¬=ല്‍
+­=ണ്ട
+®=ച്ച
+¯=സ്ഥ
+°=ക്ക
+±=ദ്ദ
+²=ദ്ധ
+³=ന്‍
+Ž=ന്ത
+µ=ന്ദ
+¶=ങ്ക
+·=ന്മ
+ž=പ്പ
+¹=പ്ലശ്ശ
+º=മ്പ
+»=ശ്ശ
+Œ=മ്പ
+œ=മ്മ
+Ÿ=മ്ല
+¿=ര്‍
+À=ഹ്ല
+Á=റ്റ
+Â=ണ്ണ
+Ã=സ്റ്റ
+Ä=ള്‍
+Å=ള്ള
+Æ=ണ്ണ
+Ç=ശ്ല
+È=ശ്ശ
+É=സ്ല
+Ê=സ്സ
+Ë=ഹ്ല
+Ì=സ്റ്റ
+Í=ഡ്ഡ
+Î=ക്ട
+Ï=ബ്ധ
+Ð=ബ്ദ
+Ñ=ച്ഛ
+Ò=ഹ്മ
+Ó=ഹ്ന
+Ô=ന്ധ
+Õ=ത്സ
+Ö=ജ്ജ
+×=ണ്മ
+Ø=ത്ത
+Ù=ന്ഥ
+Ú=ജ്ഞ
+Û=ത്ഭ
+Ü=ഗ്മ
+Ý=ശ്ച
+Þ=ണ്ഡ
+ß=ങ്ങ
+à=ക്ത
+á=ഗ്ന
+â=ന്റ
+ã=ഷ്ട
+ä=റ്റ
+å=ന്
+ó=ന്ന
+y=്യ
+z=്വ
+{=്ര
+ð=ല്‍
+ï=ണ്ട
+ñ=ല്ല
+ò=ന്മ
+´=ട്ട
+¸=പ്പ
+¨=ണ്‍
+¦=ങ്ക
+¼=മ്പ
+½=മ്മ
+¤=ഗ്ഗ
+ô=ഞ്ച
+þ=-
+∂=ന്ന
+-=
+≤=ദ്ധ
+≥=ന്‍
+ƒ=ള്‍
+˛=-
+Ω=മ്മ
+‰=റ്റ
+ÿ=സ്ഥ
+›=ശ്ച
+∞=ത്ഥ
+≠=ണ്ട
+‡=ക്ത
+√=ല്ല
+∏=പ്പ
+≈=ള്ള
+π=പ്ല
+ø=യ്യ
+fl=ത്മ
+∑=ന്മ
+÷=ജ്ജ
+∆=വ്വ
+™=ഞ്ഞ
+—=ച്ഛ
+‚=ന്റ
+¥=ന്ത
+ =സ്സ
+⁄=ജ്ഞ
+•=ഗ്ല
+’=ത്സ
+‘=ന്ധ
+...=സ്ല
+“=ഹ്മ
diff --git a/silpa/modules/payyans/maps/indulekha.map b/silpa/modules/payyans/maps/indulekha.map
new file mode 100644
index 0000000..126031d
--- /dev/null
+++ b/silpa/modules/payyans/maps/indulekha.map
@@ -0,0 +1,160 @@
+#Givetherulesinfollowingformat
+w=ം
+x=ഃ
+A=അ
+B=ആ
+C=ഇ
+Cu=ഈ
+D=ഉ
+Du=ഊ
+E=ഋ
+\p=ഌ
+F=എ
+G=ഏ
+sF=ഐ
+H=ഒ
+Hm=ഓ
+Hu=ഔ
+I=ക
+J=ഖ
+K=ഗ
+L=ഘ
+M=ങ
+N=ച
+O=ഛ
+P=ജ
+Q=ഝ
+R=ഞ
+S=ട
+T=ഠ
+U=ഡ
+V=ഢ
+W=ണ
+X=ത
+Y=ഥ
+Z=ദ
+[=ധ
+\=ന
+]=പ
+^=ഫ
+_=ബ
+`=ഭ
+õ=ഭ
+a=മ
+b=യ
+c=ര
+d=ല
+e=വ
+f=ശ
+g=ഷ
+h=സ
+i=ഹ
+j=ള
+k=ഴ
+l=റ
+m=്
+n=ാ
+o=ി
+p=ീ
+q=ു
+r=ൂ
+s=ൃ
+t=െ
+u=േ
+ss=ൈ
+sm=ൊ
+tm=ോ
+su=ൌ
+v=ൌ
+¡=ക്ക
+¡=ക്ക
+¢=ക്ല
+£=ക്ഷ
+€=ഗ്ഗ
+¥=ദ്ദ
+Š=ങ്ക
+§=ങ്ങ
+š=ച്ച
+©=ഞ്ച
+ª=ദ്ധ
+«=ട്ട
+¬=ണ്‍
+­=ണ്ട
+®=ണ്ണ
+¯=ത്ത
+°=ന്‍
+±=ര്‍
+²=ല്‍
+³=ള്‍
+Ž=ന്ത
+µ=ന്ദ
+¶=ന്ന
+·=ന്മ
+ž=പ്പ
+¹=ങ്ക
+º=ങ്ങ
+»=ച്ച
+Œ=മ്പ
+œ=മ്മ
+Ÿ=മ്ല
+¿=ത്ത
+À=ന്ദ
+Á=ന്ന
+Â=ന്റ
+Ã=പ്പ
+Ä=മ്പ
+Å=മ്മ
+Æ=വ്വ
+Ç=യ്യ
+È=ല്ല
+É=ള്ള
+Ê=റ്റ
+Ë=ഹ്ല
+Ì=റ്റ
+Í=ഡ്ഡ
+Î=ക്ട
+Ï=ബ്ധ
+Ð=ന്ത
+Ñ=ച്ഛ
+Ò=ഹ്മ
+Ó=ഹ്ന
+Ô=ന്ധ
+Õ=ഞ്ച
+Ö=ജ്ജ
+×=ണ്മ
+Ø=സ്ഥ
+Ù=സ്ഥ
+Ú=ജ്ഞ
+Û=ത്ഭ
+Ü=ഗ്മ
+Ý=ശ്ച
+Þ=ണ്ഡ
+ß=ത്മ
+à=ക്ത
+á=ഗ്ന
+â=ന്റ
+ã=ഷ്ട
+ä=റ്റ
+å=ന്
+ó=ന്ന
+y=്യ
+z=്വ
+{=്ര
+}=്ര
+ð=ല്‍
+ï=ണ്ട
+ñ=ല്ല
+ò=ന്മ
+´=ന്ത
+¸=ക്ഷ
+¨=ഓ
+¦=ങ്ക
+|=്വ
+¼=ഞ്ഞ
+½=ട്ട
+¤=ഈ
+ô=സ്സ
+þ=-
+¾=ണ്ട
+î=ന്മ
+$=സ്റ്റ
diff --git a/silpa/modules/payyans/maps/karthika.map b/silpa/modules/payyans/maps/karthika.map
new file mode 100644
index 0000000..c4e1765
--- /dev/null
+++ b/silpa/modules/payyans/maps/karthika.map
@@ -0,0 +1,157 @@
+#Givetherulesinfollowingformat
+w=ം
+x=ഃ
+A=അ
+B=ആ
+C=ഇ
+Cu=ഈ
+D=ഉ
+Du=ഊ
+E=ഋ
+\p=ഌ
+F=എ
+G=ഏ
+sF=ഐ
+H=ഒ
+Hm=ഓ
+Hu=ഔ
+I=ക
+J=ഖ
+K=ഗ
+L=ഘ
+M=ങ
+N=ച
+O=ഛ
+P=ജ
+Q=ഝ
+R=ഞ
+S=ട
+T=ഠ
+U=ഡ
+V=ഢ
+W=ണ
+X=ത
+Y=ഥ
+Z=ദ
+[=ധ
+\=ന
+]=പ
+^=ഫ
+_=ബ
+`=ഭ
+a=മ
+b=യ
+c=ര
+d=റ
+e=ല
+f=ള
+g=ഴ
+h=വ
+i=ശ
+j=ഷ
+k=സ
+l=ഹ
+m=ാ
+n=ി
+o=ീ
+p=ു
+q=ൂ
+r=ൃ
+s=െ
+t=േ
+ss=ൈ
+sm=ൊ
+tm=ോ
+su=ൌ
+v=്‌
+u=ൗ
+¡=ക്ക
+¡=ക്ക
+¢=ക്ല
+£=ക്ഷ
+€=ഗ്ഗ
+¥=ഗ്ല
+Š=ങ്ക
+§=ങ്ങ
+š=ച്ച
+©=ഞ്ച
+ª=ഞ്ഞ
+«=ട്ട
+¬=ണ്‍
+­=ണ്ട
+®=ണ്ണ
+¯=ത്ത
+°=ത്ഥ
+±=ദ്ദ
+²=ദ്ധ
+³=ന്‍
+Ž=ന്ത
+µ=ന്ദ
+¶=ന്ന
+·=ന്മ
+ž=പ്പ
+¹=പ്ല
+º=ബ്ബ
+»=ബ്ല
+Œ=മ്പ
+œ=മ്മ
+Ÿ=മ്ല
+¿=യ്യ
+À=ര്‍
+Á=റ്റ
+Â=ല്‍
+Ã=ല്ല
+Ä=ള്‍
+Å=ള്ള
+Æ=വ്വ
+Ç=ശ്ല
+È=ശ്ശ
+É=സ്ല
+Ê=സ്സ
+Ë=ഹ്ല
+Ì=സ്റ്റ
+Í=ഡ്ഡ
+Î=ക്ട
+Ï=ബ്ധ
+Ð=ബ്ദ
+Ñ=ച്ഛ
+Ò=ഹ്മ
+Ó=ഹ്ന
+Ô=ന്ധ
+Õ=ത്സ
+Ö=ജ്ജ
+×=ണ്മ
+Ø=സ്ഥ
+Ù=ന്ഥ
+Ú=ജ്ഞ
+Û=ത്ഭ
+Ü=ഗ്മ
+Ý=ശ്ച
+Þ=ണ്ഡ
+ß=ത്മ
+à=ക്ത
+á=ഗ്ന
+â=ന്റ
+ã=ഷ്ട
+ä=റ്റ
+å=ന്
+ó=ന്ന
+y=്യ
+z=്വ
+{=്ര
+##--fromhereaddedbynishan##
+ð=ല്‍
+ï=ണ്ട
+ñ=ല്ല
+ò=ന്മ
+´=ന്ത
+¸=പ്പ
+¨=ച്ച
+¦=ങ്ക
+¼=മ്പ
+½=മ്മ
+¤=ഗ്ഗ
+ô=ഞ്ച
+þ=-
+∂=ന്ന
+
diff --git a/silpa/modules/payyans/maps/manorama.map b/silpa/modules/payyans/maps/manorama.map
new file mode 100644
index 0000000..ed24cc9
--- /dev/null
+++ b/silpa/modules/payyans/maps/manorama.map
@@ -0,0 +1,113 @@
+@ = ഥ
+A = ക്ക
+B = ങ്ങ
+C = ങ്ക
+E = ഞ്ഞ
+F = ഞ്ച
+G = ട്ട
+H = ണ്ണ
+I = ണ്ട
+J = ത്ത
+K = ന്ന
+L = ന്ത
+M = പ്പ
+N = മ്മ
+O = മ്പ
+P = ഗ്ഗ
+T = സ്സ
+U = ള്ള
+V = ര്‍
+W = ല്‍
+X = ന്‍
+Y = ണ്‍
+Z = ള്‍
+` = ഋ
+a = ന്റ
+b = ്വ
+c = ്യ
+d = ്ര
+f = ക്ഷ
+g = ദ്ദ
+i = ദ്ധ
+j = ത്ഥ
+m = ണ്ഡ
+o = ഗ്ന
+p = ണ്മ
+q = ത്ഭ
+r = ത്സ
+s = ന്ഥ
+t = ന്ധ
+u = ഗ്മ
+v = ത്മ
+w = ന്ദ
+x = റ്റ
+y = ത്ന
+z = ന്മ
+{ = ള
+| = മ്ല
+~ = ഖ
+¡ = ്
+¢ = ം
+£ = ഃ
+€ = ശ്ശ
+¥ = ഔ
+Š = സ്ല
+§ = ഇ
+© = ഉ
+ª = ഊ
+« = ഋ
+® =എ
+¯ = ഏ
+° = ഐ
+± = ഗ്ല
+² = ഒ
+³ = ഓ
+µ = ക
+¶ = ഖ
+· = ഗ
+¹ = ങ
+º = ച
+» = ഛ
+Œ = വ്വ
+¿ = ട
+À = ഠ
+Á = ഡ
+Â = ഢ
+Ã = ണ
+Ä = ത
+Å = ഥ
+Æ = ദ
+Ç = ധ
+È = ന
+É = പ
+Ë = ഫ
+Ì = ബ
+Í = ഭ
+Î = മ
+Ï = യ
+Ð = ക്ല
+Õ = വ
+Ö = ശ
+× = ഷ
+Ø = സ
+Ù = ഹ
+Ú = റ്റ
+Û = ശ്ശ
+Ü = ല
+Ý = ഴ
+Þ = ാ
+ß = ി
+à = ീ
+á = ു
+â = ൂ
+ã = ൃ
+æ = െ
+ç = േ
+è = ൈ
+ì = ൗ
+í = ്
+ò = ി
+ó = ു
+ô = ൂ
+ø = ര
+ù = റ
diff --git a/silpa/modules/payyans/maps/revathi.map b/silpa/modules/payyans/maps/revathi.map
new file mode 100644
index 0000000..76068de
--- /dev/null
+++ b/silpa/modules/payyans/maps/revathi.map
@@ -0,0 +1,131 @@
+# ML-Revathi mapping to Unicode
+# Givetherulesinfollowingformat
+A=അ
+B=ആ
+C=ഇ
+D=ഉ
+E=ഋ
+F=എ
+G=ഏ
+H=ഒ
+I=ക
+J=ഖ
+K=ഗ
+L=ഘ
+M=ങ
+N=ച
+O=ഛ
+P=ജ
+Q=ഝ
+R=ഞ
+S=ട
+T=ഠ
+U=ഡ
+V=ഢ
+W=ണ
+X=ത
+Y=ഥ
+Z=ദ
+[=ധ
+\=ന
+]=പ
+^=ഫ
+_=ബ
+`=ഭ
+a=മ
+b=യ
+c=ര
+d=റ
+e=ല
+f=ള
+g=ഴ
+h=വ
+i=ശ
+j=ഷ
+k=സ
+l=ഹ
+m=ാ
+n=ി
+o=ീ
+p=ു
+q=ൂ
+r=ൃ
+s=െ
+t=േ
+u=ൗ
+v=്
+w=ം
+x=ഃ
+y=്യ
+z=്വ
+{=്ര
+‚=ന്റ
+ƒ=ള്‍
+„=ഷ്ട
+…=സ്ല
+‡=ക്ത
+‰=റ്റ
+‹=ഗ്മ
+Œ=ക്ട
+o=ീ
+™=ഞ്ഞ
+›=ശ്ച
+œ=ബ്ധ
+Ÿ=ന്ഥ
+¡=ററ
+¢=ക്ല
+£=ക്ഷ
+¤=ത്ഭ
+¥=ന്ത
+§=ഗ്ഗ
+¨=ണ്‍
+©=ഞ്ച
+ª=ബ്ല
+«=ശ്ല
+®=ച്ച
+°=ക്ക
+±=ദ്ദ
+´=ട്ട
+µ=ന്ദ
+·=ഗ്ന
+º=മ്പ
+»=ശ്ശ
+¿=ര്‍
+À=ഹ്ല
+Â=നു
+Ã=സ്റ്റ
+Æ=ണ്ണ
+Õ=ഡ്ഡ
+Ø=ത്ത
+ß=ങ്ങ
+æ=മ്ല
+÷=ജ്ജ
+ø=യ്യ
+ÿ=സ്ഥ
+ss=ൈ
+sm=ൊ
+tm=ോ
+su=ൌ
+’=ത്സ
+∂=ന്ന
+¬=ല്‍
+¶=ങ്ക
+Ω=മ്മ
+Δ=വ്വ
+π=പ്ല
+∏=പ്പ
+∑=ന്മ
+∕=ജ്ഞ
+√=ല്ല
+∞=ത്ഥ
+∫=ബ്ബ
+≈=ള്ള
+≠=ണ്ട
+≤=ദ്ധ
+≥=ന്‍
+–=ബ്ദ
+—=ച്ഛ
+‘=ന്ധ
+“=ഹ്മ
+”=ഹ്ന
+•=ഗ്ല
diff --git a/silpa/modules/payyans/maps/template.map b/silpa/modules/payyans/maps/template.map
new file mode 100644
index 0000000..dba911f
--- /dev/null
+++ b/silpa/modules/payyans/maps/template.map
@@ -0,0 +1,189 @@
+! = ?
+" = ?
+# = ?
+$ = ?
+% = ?
+& = ?
+' = ?
+( = ?
+) = ?
+* = ?
++ = ?
+, = ?
+- = ?
+. = ?
+/ = ?
+0 = ?
+1 = ?
+2 = ?
+3 = ?
+4 = ?
+5 = ?
+6 = ?
+7 = ?
+8 = ?
+9 = ?
+: = ?
+; = ?
+< = ?
+= = ?
+> = ?
+? = ?
+@ = ?
+A = ?
+B = ?
+C = ?
+D = ?
+E = ?
+F = ?
+G = ?
+H = ?
+I = ?
+J = ?
+K = ?
+L = ?
+M = ?
+N = ?
+O = ?
+P = ?
+Q = ?
+R = ?
+S = ?
+T = ?
+U = ?
+V = ?
+W = ?
+X = ?
+Y = ?
+Z = ?
+[ = ?
+\ = ?
+] = ?
+^ = ?
+_ = ?
+` = ?
+a = ?
+b = ?
+c = ?
+d = ?
+e = ?
+f = ?
+g = ?
+h = ?
+i = ?
+j = ?
+k = ?
+l = ?
+m = ?
+n = ?
+o = ?
+p = ?
+q = ?
+r = ?
+s = ?
+t = ?
+u = ?
+v = ?
+w = ?
+x = ?
+y = ?
+z = ?
+{ = ?
+| = ?
+} = ?
+~ = ?
+ = ?
+ = ?
+ = ?
+ = ?
+ = ?
+ = ?
+ = ?
+ = ?
+ = ?
+ = ?
+ = ?
+ = ?
+ = ?
+ = ?
+ = ?
+ = ?
+ = ?
+ = ?
+ = ?
+ = ?
+ = ?
+ = ?
+ = ?
+ = ?
+ = ?
+ = ?
+ = ?
+ = ?
+ = ?
+ = ?
+ = ?
+ = ?
+ = ?
+ = ?
+ = ?
+ = ?
+ = ?
+ = ?
+ = ?
+ = ?
+ = ?
+ = ?
+ = ?
+ = ?
+ = ?
+ = ?
+ = ?
+ = ?
+ = ?
+ = ?
+ = ?
+ = ?
+ = ?
+ = ?
+ = ?
+ = ?
+ = ?
+ = ?
+ = ?
+ = ?
+ = ?
+ = ?
+ = ?
+ = ?
+ = ?
+ = ?
+ = ?
+ = ?
+ = ?
+ = ?
+ = ?
+ = ?
+ = ?
+ = ?
+ = ?
+ = ?
+ = ?
+ = ?
+ = ?
+ = ?
+ = ?
+ = ?
+ = ?
+ = ?
+ = ?
+ = ?
+ = ?
+ = ?
+ = ?
+ = ?
+ = ?
+ = ?
+ = ?
+ = ?
+ = ?
diff --git a/silpa/modules/payyans/payyans.py b/silpa/modules/payyans/payyans.py
new file mode 100644
index 0000000..8751347
--- /dev/null
+++ b/silpa/modules/payyans/payyans.py
@@ -0,0 +1,326 @@
+#! /usr/bin/env python
+# -*- coding: utf-8 -*-
+# Payyans Ascii to Unicode Convertor
+# Copyright 2008-2009 Santhosh Thottingal <santhosh.thottingal@gmail.com>,
+# Nishan Naseer <nishan.naseer@gmail.com>, Manu S Madhav <manusmad@gmail.com>,
+# Rajeesh K Nambiar <rajeeshknambiar@gmail.com>
+# http://www.smc.org.in
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Library General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+#
+# If you find any bugs or have any suggestions email: santhosh.thottingal@gmail.com
+# URL: http://www.smc.org.in
+
+'''
+പയ്യന്‍ ആളു തരികിടയാകുന്നു. ആസ്കി വേറൊരു തരികിടയും.
+തരികിടയെ തരികിടകൊണ്ടു നേരിടുന്നതാണു് ബുദ്ധി.
+അമേരിക്കാ-ഇറാഖ് യുദ്ധം താഴെപ്പറയും വിധമാകുന്നു.
+'''
+
+'''ആവശ്യത്തിനുള്ള കോപ്പുകള്‍ കൂട്ടുക '''
+import sys #കുന്തം
+import codecs #കൊടച്ചക്രം
+import os #ശീലക്കുട
+from common import *
+'''പയ്യന്റെ ക്ലാസ് ഉന്നതകുലമാകുന്നു. ച്ചാല്‍ ആഢ്യന്‍ തന്നെ. ഏ ക്ലാസ് പയ്യന്‍...!'''
+class Payyans(SilpaModule):
+
+ def __init__(self):
+ self.input_filename =""
+ self.output_filename=""
+ self.mapping_filename=""
+ self.rulesDict=None
+ self.pdf=0
+
+ def word2ASCII(self, unicode_text):
+ index = 0
+ prebase_letter = ""
+ ascii_text=""
+ self.direction = "u2a"
+ self.rulesDict = self.LoadRules()
+ while index < len(unicode_text):
+ '''കൂട്ടക്ഷരങ്ങള്‍ക്കൊരു കുറുക്കുവഴി'''
+ for charNo in [3,2,1]:
+ letter = unicode_text[index:index+charNo]
+ if letter in self.rulesDict:
+ ascii_letter = self.rulesDict[letter]
+ letter = letter.encode('utf-8')
+ '''കിട്ടിയ അക്ഷരങ്ങളുടെ അപ്പുറത്തും ഇപ്പുറത്തും സ്വരചിഹ്നങ്ങള്‍ ഫിറ്റ് ചെയ്യാനുള്ള ബദ്ധപ്പാട്'''
+ if letter == 'ൈ': # പിറകില്‍ രണ്ടു സാധനം പിടിപ്പിക്കുക
+ ascii_text = ascii_text[:-1] + ascii_letter*2 + ascii_text[-1:]
+ elif (letter == 'ോ') | (letter == 'ൊ') | (letter == 'ൌ'): #മുമ്പിലൊന്നും പിറകിലൊന്നും
+ ascii_text = ascii_text[:-1] + ascii_letter[0] + ascii_text[-1:] + ascii_letter[1]
+ elif (letter == 'െ') | (letter == 'േ') |(letter == '്ര'): #പിറകിലൊന്നുമാത്രം
+ ascii_text = ascii_text[:-1] + ascii_letter + ascii_text[-1:]
+ else:
+ ascii_text = ascii_text + ascii_letter
+ index = index+charNo
+ break
+ else:
+ if(charNo==1):
+ index=index+1
+ ascii_text = ascii_text + letter
+ break;
+ '''നോക്കിയിട്ടു കിട്ടുന്നില്ല ബായി'''
+ ascii_letter = letter
+ #ascii_text = ascii_text + ascii_letter
+ #index = index+1
+
+ return ascii_text
+
+ def Uni2Ascii(self):
+ '''പണിതുടങ്ങട്ടെ'''
+ if self.input_filename :
+ uni_file = codecs.open(self.input_filename, encoding = 'utf-8', errors = 'ignore')
+ else :
+ uni_file = codecs.open(sys.stdin, encoding = 'utf-8', errors = 'ignore')
+ text = ""
+ if self.output_filename :
+ output_file = codecs.open(self.output_filename, encoding = 'utf-8', errors = 'ignore', mode='w+')
+ while 1:
+ text =uni_file.readline()
+ if text == "":
+ break
+ ascii_text = ""
+ # ഹീന ജാതിയിലേയ്ക്ക് തരം താഴ്ത്ത്വാ !
+ ascii_text = self.word2ASCII(text)
+
+ if self.output_filename :
+ output_file.write(ascii_text)
+ else:
+ print ascii_text.encode('utf-8')
+ ''' പയ്യന്‍ നല്ലോരു യൂണിക്കോട് ഫയലില്‍ കേറി നെരങ്ങി ആസ്ക്കിയാക്കി. ദൈവമേ, ഈ പയ്യനു നല്ലബുദ്ധി തോന്നിക്കണേ... '''
+ return 0
+
+ def word2Unicode(self, ascii_text):
+ index = 0
+ post_index = 0
+ prebase_letter = ""
+ postbase_letter = "" # "‌‌്യ", "്വ"
+ unicode_text = ""
+ next_ucode_letter = ""
+ self.direction="a2u"
+ self.rulesDict = self.LoadRules()
+ while index < len(ascii_text):
+ for charNo in [2,1]:
+ letter = ascii_text[index:index+charNo]
+ if letter in self.rulesDict:
+ unicode_letter = self.rulesDict[letter]
+ if(self.isPrebase(unicode_letter)): #സ്വരചിഹ്നമാണോ?
+ prebase_letter = unicode_letter
+ else: #സ്വരചിഹ്നമല്ല
+ #എങ്കില്‍ വ്യഞ്ജനത്തിനു ശേഷം പോസ്റ്റ്-ബേസ് ഉണ്ടോ എന്നു നോക്കൂ
+ post_index = index+charNo
+ if post_index < len(ascii_text):
+ letter = ascii_text[post_index]
+ if letter in self.rulesDict:
+ next_ucode_letter = self.rulesDict[letter]
+ if self.isPostbase(next_ucode_letter):
+ postbase_letter = next_ucode_letter
+ index = index + 1
+ if ((unicode_letter.encode('utf-8') == "എ") |
+ ( unicode_letter.encode('utf-8') == "ഒ" )):
+ unicode_text = unicode_text + postbase_letter + self.getVowelSign(prebase_letter , unicode_letter)
+ else:
+ unicode_text = unicode_text + unicode_letter + postbase_letter + prebase_letter
+ prebase_letter=""
+ postbase_letter=""
+ index = index + charNo
+ break
+ else:
+ if charNo == 1:
+ unicode_text = unicode_text + letter
+ index = index + 1
+ break
+ unicode_letter = letter
+ return unicode_text # മതം മാറ്റി തിരിച്ചു കൊടുക്ക്വാ !
+
+ def Ascii2Uni(self):
+ if self.pdf :
+ command = "pdftotext '" + self.input_filename +"'"
+ process = os.popen(command, 'r')
+ status = process.close()
+ if status:
+ print "The input file is a PDF file. To convert this the pdftotext utility is required. "
+ print "This feature is available only for GNU/Linux Operating system."
+ '''ഊഹും. കൊന്നാലും ഇനി മുന്നോട്ടില്ല. മുന്നില്‍ മറ്റവനാകുന്നു. ഏതു്? '''
+ return 1 # Error - no pdftotext !
+ else:
+ self.input_filename = os.path.splitext(self.input_filename)[0] + ".txt"
+ if self.input_filename :
+ ascii_file = codecs.open(self.input_filename, encoding = 'utf-8', errors = 'ignore')
+ else :
+ ascii_file = codecs.open(sys.stdin, encoding = 'utf-8', errors = 'ignore')
+
+ text = ""
+ if self.output_filename :
+ output_file = codecs.open(self.output_filename, encoding = 'utf-8', errors = 'ignore', mode='w+')
+
+ '''സത്യമുള്ളടത്തോളം... അതുകൊണ്ടു തന്നെ ടെര്‍മിനേഷന്‍ ഉറപ്പു്'''
+ while 1:
+ text =ascii_file.readline()
+ if text == "":
+ break
+ unicode_text = ""
+ ''' അങ്ങട്ട് മതം മാറ്റ്വാ... ആസ്കിതനും നാസ്തികനും ഒന്നന്നെ! '''
+ unicode_text = self.word2Unicode(text)
+
+ if self.output_filename :
+ output_file.write(unicode_text)
+ else:
+ print unicode_text.encode('utf-8')
+
+ ''' പയ്യന്റെ അവതാരോദ്ദേശ്യം പൂര്‍ണ്ണമായിരിക്കുന്നു. ഇനി മടക്കം. റിട്ടേണ്‍...! '''
+ return 0
+
+ def getVowelSign(self, vowel_letter, vowel_sign_letter):
+ vowel= vowel_letter.encode('utf-8')
+ vowel_sign= vowel_sign_letter.encode('utf-8')
+ if vowel == "എ":
+ if vowel_sign == "െ":
+ return "ഐ"
+ if vowel == "ഒ":
+ if vowel_sign == "ാ":
+ return "ഓ"
+ if vowel_sign =="ൗ":
+ return "ഔ"
+ return (vowel_letter+ vowel_sign_letter)
+
+ def isPrebase(self, letter):
+ '''
+ ഇതെന്തിനാന്നു ചോദിച്ചാ, ഈ അക്ഷരങ്ങളുടെ ഇടതു വശത്തെഴുതുന്ന സ്വര ചിഹ്നങ്ങളുണ്ടല്ലോ?
+ അവ ആസ്കി തരികിടയില്‍ എഴുതുന്നതു് ഇടതു വശത്തു തന്നെയാ. യൂണിക്കോഡില്‍ അക്ഷരത്തിനു ശേഷവും
+ അപ്പൊ ആ വക സംഭവങ്ങളെ തിരിച്ചറിയാനാണു് ഈ സംഭവം.
+ "തരികിട തരികിടോ ധീംതരികിട" (തരികിട തരികിടയാല്‍) എന്നു പയ്യന്റെ ഗുരു പയ്യഗുരു പയ്യെ മൊഴിഞ്ഞിട്ടുണ്ടു്.
+ '''
+ unicode_letter = letter.encode('utf-8')
+ if( ( unicode_letter == "േ" ) | ( unicode_letter == "ൈ" ) | ( unicode_letter == "ൊ" ) | ( unicode_letter == "ോ" ) | ( unicode_letter == "ൌ" )
+ | ( unicode_letter == "്ര" ) | ( unicode_letter == "െ" )
+ ):
+ return True #"ഇതു സത്യം... അ...സത്യം.... അസത്യം...!"
+ else:
+ return False
+
+ def isPostbase(self, letter):
+ '''
+ "ക്യ" എന്നതിലെ "്യ", "ക്വ" എന്നതിലെ "്വ" എന്നിവ പോസ്റ്റ്-ബേസ് ആണ്.
+ "ത്യേ" എന്നത് ആസ്കിയില്‍ "ഏ+ത+്യ" എന്നാണ് എഴുതുന്നത്. അപ്പോള്‍ വ്യഞ്ജനം കഴിഞ്ഞ് പോസ്റ്റ്-ബേസ്
+ ഉണ്ടെങ്കില്‍ വ്യഞ്ജനം+പോസ്റ്റ്-ബേസ് കഴിഞ്ഞേ പ്രീ-ബേസ് ചേര്‍ക്കാവൂ! ഹൊ, പയ്യന്‍ പാണിനീശിഷ്യനാണ്!!
+ '''
+ unicode_letter = letter.encode('utf-8')
+ if ( (unicode_letter == "്യ") | (unicode_letter == "്വ") ):
+ return True
+ else:
+ return False
+
+ def LoadRules(self):
+ '''
+ ഈ സംഭവമാണു് മാപ്പിങ്ങ് ഫയല്‍ എടുത്തു് വായിച്ചു പഠിക്കുന്നതു്.
+ '''
+ if(self.rulesDict):
+ return self.rulesDict
+ rules_dict = dict()
+ line = []
+ line_number = 0
+ rules_file = codecs. open(self.mapping_filename,encoding='utf-8', errors='ignore')
+ while 1:
+ ''' ലൈന്‍ നമ്പര്‍ , മാപ്പിങ്ങ് ഫയലില്‍ തെറ്റുണ്ടെങ്കില്‍ പറയാന്‍ ആവശ്യാണു് '''
+ line_number = line_number +1
+ text = unicode( rules_file.readline())
+ if text == "":
+ break
+ '''കമന്റടിച്ചേ മത്യാവൂന്നു വെച്ചാ ആവാം. ഒട്ടും മുഷിയില്ല്യ'''
+ if text[0] == '#':
+ continue
+ ''' കമന്റടി പതിവുപോലെ മൈന്റ് ചെയ്യണ്ട ഒന്നും കണ്ടില്യാ കേട്ടില്യാന്നു വെച്ചു നടന്നോളൂ(മനസ്സില്‍ ചിരിച്ചോളൂ) '''
+ line = text.strip()
+ if(line == ""):
+ continue
+ '''ലൈനൊന്നും ല്യാ, മോശം.. ങും പോട്ടെ. വേറെ ലൈന്‍ പിടിക്കാം'''
+ if(len(line.split("=")) != 2):
+ '''എന്തോ പ്രശ്നണ്ടു്. ന്നാ അതങ്ങടു തുറന്നു പറഞ്ഞേക്കാം'''
+ print "Error: Syntax Error in the Ascii to Unicode Map in line number ", line_number
+ print "Line: "+ text
+ '''പരിപാടി നിര്‍ത്താം '''
+ return 2 # Error - Syntax error in Mapping file
+ '''ഇടതന്‍'''
+ lhs = line.split("=") [ 0 ]
+ '''വലതന്‍'''
+ rhs = line.split("=") [ 1 ]
+ '''ഇതിനിടക്കിനി മൂന്നാമനു സ്കോപ്പിണ്ടോ? '''
+ '''മറക്കാതെ ഇരിക്കട്ടെ. ആവശ്യം വരും '''
+ if self.direction == 'a2u':
+ rules_dict[lhs]=rhs
+ else:
+ rules_dict[rhs]=lhs
+ return rules_dict
+
+ def process(self,form):
+ response = """
+ <h2>ASCII to Unicode Conversion</h2></hr>
+ <p>Enter the text for detecting the language in the below text area.
+ </p>
+ <form action="" method="post">
+ <textarea name='input_text' id='id1'>%s</textarea><br/>
+ Select Font : <select id="font" name="%s" style="width:12em;">
+ <option value="karthika">Karthika</option>
+ <option value="bhavana">Bhavana</option>
+ <option value="revathi">Revathi</option>
+ <option value="ambili">Ambili</option>
+ <option value="manorama">Manorama</option>
+ </select>
+ <input type="submit" id="Convert To Unicode" value="%s" name="action" style="width:12em;"/>
+ </br>
+ </form>
+ """
+ action=form['action'].value.decode('utf-8')
+ if(action=="To Unicode"):
+ if(form.has_key('input_text')):
+ text = form['input_text'].value .decode('utf-8')
+ response=response % (text,"a2ufont", form['action'].value.decode('utf-8') )
+ if(form.has_key('a2ufont')):
+ font = form['a2ufont'].value .decode('utf-8')
+ self.mapping_filename="./modules/payyans/maps/"+font+".map"
+ if (len(text)>0):
+ result = "<p> "+self.word2Unicode(text) .replace('\n', '<br/>') +"</p>"
+ else :
+ result=""
+ response=response+result
+ else:
+ response=response % ("","a2ufont", form['action'].value.decode('utf-8') )
+ if(action=="To ASCII"):
+ if(form.has_key('input_text')):
+ text = form['input_text'].value .decode('utf-8')
+ response=response % (text,"u2afont", form['action'].value.decode('utf-8') )
+ if(form.has_key('u2afont')):
+ font = form['u2afont'].value .decode('utf-8')
+ self.mapping_filename="./modules/payyans/maps/"+font+".map"
+ if (len(text)>0):
+ result = "<p> "+self.word2Unicode(text) .replace('\n', '<br/>') +"</p>"
+ else :
+ result=""
+ response=response+result
+ else:
+ response=response % ("","u2afont", form['action'].value.decode('utf-8') )
+ return response
+ def get_module_name(self):
+ return "Payyans Unicode-ASCII Converter"
+ def get_info(self):
+ return "ASCII data - Unicode Convertor based on font maps"
+def getInstance():
+ return Payyans()
+
+
+
diff --git a/silpa/modules/syllabalizer/syllabalizer.py b/silpa/modules/syllabalizer/syllabalizer.py
new file mode 100644
index 0000000..706ee77
--- /dev/null
+++ b/silpa/modules/syllabalizer/syllabalizer.py
@@ -0,0 +1,191 @@
+#!/usr/bin/env python
+"""mlsplit - Split Malayalam words into letters
+
+This script splits Malayalam words into letters.
+Ref: http://tinyurl.com/3v729s
+
+
+
+Copyright (C) 2008 Baiju M <baiju.m.mail AT gmail.com>
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or (at
+your option) any later version.
+
+This program is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see <http://www.gnu.org/licenses/>.
+"""
+
+import sys
+import re
+import codecs
+from common import *
+class Syllabalizer(SilpaModule):
+ def syllabalize_ml(self,text):
+ signs = [
+ u'\u0d02', u'\u0d03', u'\u0d3e', u'\u0d3f', u'\u0d40', u'\u0d41',
+ u'\u0d42', u'\u0d43', u'\u0d44', u'\u0d46', u'\u0d47', u'\u0d48',
+ u'\u0d4a', u'\u0d4b', u'\u0d4c', u'\u0d4d']
+ limiters = ['.','\"','\'','`','!',';',',','?']
+
+ chandrakkala = u'\u0d4d'
+ lst_chars = []
+ for char in text:
+ if char in limiters:
+ lst_chars.append(char)
+ elif char in signs:
+ lst_chars[-1] = lst_chars[-1] + char
+ else:
+ try:
+ if lst_chars[-1][-1] == chandrakkala:
+ lst_chars[-1] = lst_chars[-1] + char
+ else:
+ lst_chars.append(char)
+ except IndexError:
+ lst_chars.append(char)
+
+ return lst_chars
+ def syllabalize_hi(self,text):
+ signs = [
+ u'\u0902', u'\u0903', u'\u093e', u'\u093f', u'\u0940', u'\u0941',
+ u'\u0942', u'\u0943', u'\u0944', u'\u0946', u'\u0947', u'\u0948',
+ u'\u094a', u'\u094b', u'\u094c', u'\u094d']
+ limiters = ['.','\"','\'','`','!',';',',','?']
+
+ chandrakkala = u'\u094d'
+ lst_chars = []
+ for char in text:
+ if char in limiters:
+ lst_chars.append(char)
+ elif char in signs:
+ lst_chars[-1] = lst_chars[-1] + char
+ else:
+ try:
+ if lst_chars[-1][-1] == chandrakkala:
+ lst_chars[-1] = lst_chars[-1] + char
+ else:
+ lst_chars.append(char)
+ except IndexError:
+ lst_chars.append(char)
+
+ return lst_chars
+ #Source: http://www.python-forum.org/pythonforum/viewtopic.php?f=14&t=5810#p42091
+ #Author: Cabu
+ def syllabalize_en(self,text):
+ text = " " + text + " "
+ vowel_list = ['a', 'e', 'i', 'o', 'u', 'y']
+ vowel_pairs = ['ai', 'au', 'aw', 'ee','ea', 'oa', 'oi', 'ou', 'oo', 'ow', 'oy', 'uu']
+ consonant_list = ['b', 'c', 'd', 'f', 'g', 'h', 'j', 'k', 'l', 'm', 'n', 'p', 'q', 'r', 's', 't', 'v', 'w', 'x', 'z']
+ consonant_blends = ['bl', 'br', 'ch', 'chr', 'cl', 'cr', 'dr', 'fl', 'fr', 'gl', 'gr', 'kn', 'pl', 'pr',
+ 'sc', 'sh', 'sk', 'sl', 'sm', 'sn', 'sp', 'spr', 'squ', 'st', 'str', 'sw',
+ 'th', 'tr', 'thr', 'nt', 'wh']
+
+ # Cut numbers in digits
+ p = re.compile ("([0-9])([0-9])", re.IGNORECASE)
+ for i in range (2):
+ text = p.sub ("\\1#\\2", text)
+
+ # Cut i / vowel (- o) / consonant
+ p = re.compile ("i([aeiuy])([bcdfghjklmnpqrstvwxz])", re.IGNORECASE)
+ text = p.sub ("i+\\1+\\2", text)
+
+ # Cut the / vowel / consonant
+ p = re.compile ("the([aeiouy])([bcdfghjklmnpqrstvwxz])", re.IGNORECASE)
+ text = p.sub ("the+\\1+\\2", text)
+
+ # Cut vowel / vowel except for pairs
+ position = 0
+ while position < len (text)-1:
+ if text [position] in vowel_list and text [position+1] in vowel_list:
+ if not (text [position:position+2] in vowel_pairs):
+ if not (text [position-1:position+3] in ["tion", "dual", "nion", "quir", "tiou"]):
+ text = text [:position+1] + "_" + text [position+1:]
+ position = position + 1
+
+ # Cut consonant / consonant (ll, mm, ...)
+ p = re.compile ("([bcdfghjklmnpqrstvwxz])\\1([^ ])", re.IGNORECASE)
+ text = p.sub ("\\1-\\1\\2", text)
+
+ # Cut vowel / consonant vowel
+ start = 0
+ end = 0
+ while start < len (text)-1:
+ if text [start] in vowel_list and text [start+1] in consonant_list:
+ end = start + 1
+ while end <= len (text)-1 and text [end] in consonant_list:
+ end = end + 1
+ if end <= len (text)-1 and (text [start+1:end] in consonant_list or text [start+1:end] in consonant_blends) and text [end] in vowel_list and text [end:end+2] <> "e ":
+ text = text [:start+1] + "/" + text [start+1:]
+ start = start + 1
+
+ # Cut vowel consonant / consonant+ vowel (trumpet, simple, understanding, ...)
+ start = 0
+ end = 0
+ while start < len (text)-1:
+ if text [start] in vowel_list and text [start+1] in consonant_list:
+ end = start + 2
+ while end <= len (text)-1 and text [end] in consonant_list:
+ end = end + 1
+ if end <= len (text)-1 and end > start+2 and text [end] in vowel_list:
+ if not (text [start+1:end] in consonant_blends):
+ text = text [:start+2] + "-" + text [start+2:]
+ start = start + 1
+
+ # Return the words splitted
+ return text
+ def process(self, form):
+ response = """
+ <h2>Syllabalizer</h2></hr>
+ <p>Enter the text for syllabalization in the below text area.
+ Language of each word will be detected.
+ You can give the text in any language and even with mixed language
+ </p>
+ <form action="" method="post">
+ <textarea cols='100' rows='25' name='input_text' id='id1'>%s</textarea>
+ <input type="submit" id="Syllabalize" value="Syllabalize" name="action" style="width:12em;"/>
+ <input type="reset" value="Clear" style="width:12em;"/>
+ </br>
+ </form>
+ """
+ if(form.has_key('input_text')):
+ text = form['input_text'].value.decode('utf-8')
+ response=response % text
+ words = text.split(" ")
+ response = response+"<h2>Syllabalization Results</h2></hr>"
+ for word in words:
+ syllables = self.syllabalize(word)
+ syll_result=""
+ for syllable in syllables:
+ syll_result=syll_result+syllable + "-"
+ result = syll_result.replace('\n', '<br/>')
+ response = response+result
+ else:
+ response=response % ""
+ return response
+ def get_module_name(self):
+ return "Syllabalizer"
+ def get_info(self):
+ return "Syllabalize each word in the given text"
+
+ def syllabalize(self,text):
+ mm=ModuleManager()
+ ld = mm.getModuleInstance("Detect Language")
+ lang=ld.detect_lang(text)[text]
+ if(lang=="ml_IN"):
+ return self.syllabalize_ml(text)
+ if(lang=="hi_IN"):
+ return self.syllabalize_hi(text)
+ if(lang=="en_US"):
+ return self.syllabalize_en(text)
+ lst_chars=[]
+ for char in text:
+ lst_chars.append(char)
+ return lst_chars
+def getInstance():
+ return Syllabalizer()
diff --git a/silpa/modules/transliterator/transliterate.py b/silpa/modules/transliterator/transliterate.py
new file mode 100644
index 0000000..1b534cf
--- /dev/null
+++ b/silpa/modules/transliterator/transliterate.py
@@ -0,0 +1,148 @@
+#! /usr/bin/env python
+# -*- coding: utf-8 -*-
+# Any Indian Language to any other Indian language transliterator
+# Copyright 2008 Santhosh Thottingal <santhosh.thottingal@gmail.com>
+# http://www.smc.org.in
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Library General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+#
+# If you find any bugs or have any suggestions email: santhosh.thottingal@gmail.com
+# URL: http://www.smc.org.in
+
+from common import *
+class Transliterator(SilpaModule):
+ def transliterate_ml_en(self, word):
+ virama=u"്"
+ #TODO: how to make this more generic so that more languages can be handled here?
+ #idea1: transliterate any langauge to a common language say hindi and the n do conversion?
+ #existing transliterate.py can be used?
+ #idea2: Have dictionaries for each language like english_xx_dict ?
+ #TODO: complete this
+ english_ml_dict={u'അ':'a',u'ആ':'a',u'ഇ':'a',u'ഈ':'a',u'ഉ':'a',u'ഊ':'a',u'ഋ':'a',\
+ u'എ':'a',u'ഏ':'a',u'ഐ':'a',u'ഒ':'a',u'ഓ':'a',u'ഔ':'a',\
+ u'ക':'k',u'ഖ':'kh',u'ഗ':'g',u'ഘ':'gh',u'ങ്ങ':'ng',\
+ u'ച':'ch',u'ഛ':'chh',u'ജ':'j',u'ഝ':'jhh',u'ഞ':'nj',\
+ u'ട':'t',u'ഠ':'th',u'ഡ':'d',u'ഢ':'dh',u'ണ':'n',\
+ u'ത':'th',u'ഥ':'th',u'ദ':'d',u'ധ':'dh',u'ന':'n',\
+ u'പ':'p',u'ഫ':'ph',u'ബ':'b',u'ഭ':'bh',u'മ':'m',\
+ u'യ':'y',u'ര':'r',u'ല':'l', u'വ':'v', u'റ':'r',\
+ u'ശ':'sa',u'ഷ':'sh',u'സ':'s', u'ഹ':'h',u'ള':'l',u'ഴ':'zh',\
+ u'ാ':'a',u'ി':'i' ,u'ീ':'ee' ,u'ു':'u',\
+ u'ൂ':'uu',u'ൃ':'ri' ,u'െ':'e' ,u'േ':'e',\
+ u'ൈ':'ai',u'ൊ':'o' ,u'ോ':'oo' ,u'ൗ':'au'}
+ word_length =len(word)
+ index=0
+ tx_string=""
+ while index<word_length:
+ a_vowel=""
+ try:
+ if(index+1<word_length):
+ if(word[index+1]==virama):
+ a_vowel=""
+ else:
+ if(index+1<word_length):
+ if (english_ml_dict[word[index+1]] in ['a','e','i','o','u']):
+ a_vowel=""
+ else:
+ a_vowel="a"
+ if (english_ml_dict[word[index]] in ['a','e','i','o','u']):
+ a_vowel=""
+ tx_string=tx_string+ english_ml_dict[word[index]] + a_vowel
+ except:
+ tx_string=tx_string+ word[index]
+ index=index+1
+ return tx_string
+
+ def transliterate(self,text, target_lang_code):
+ mm=ModuleManager()
+ ld = mm.getModuleInstance("Detect Language")
+ tx_str=""
+ words=text.split(" ")
+ for word in words:
+ if(word.strip()>""):
+ src_lang_code=ld.detect_lang(word)[word]
+ if((target_lang_code=="en_US") and (src_lang_code=="ml_IN")):
+ tx_str=tx_str + self.transliterate_ml_en(word)
+ continue
+ for chr in word:
+ offset=ord(chr) + self.getOffset(src_lang_code, target_lang_code)
+ if(offset>0):
+ tx_str=tx_str + unichr (offset)
+ tx_str=tx_str + " "
+ else:
+ tx_str=tx_str + word
+ return tx_str
+
+ def getOffset(self,src,target):
+ lang_bases={'en_US':0,'hi_IN': 0x0901,'bn_IN': 0x0981, 'pa_IN':0x0A01,'gu_IN':0x0A81 , 'or_IN': 0x0B01,'ta_IN': 0x0B81,'te_IN' : 0x0C01, 'ka_IN' :0x0C81 ,'ml_IN': 0x0D01}
+ src_id=0
+ target_id=0
+ try:
+ src_id=lang_bases[src]
+ target_id=lang_bases[target]
+ return (target_id - src_id)
+ except:
+ return 0
+
+ def process(self, form):
+ response = """
+ <h2>Transliterator</h2></hr>
+ <p>Enter the text for transliteration in the below text area.
+ Language of each word will be detected.
+ You can give the text in any language and even with mixed language
+ </p>
+ <form action="" method="post">
+ <textarea name='input_text' id='id1'>%s</textarea></br>
+ <select id="trans-lang" name="trans-lang" style="width:12em;">
+ <option value="hi_IN">Hindi</option>
+ <option value="ml_IN">Malayalam</option>
+ <option value="bn_IN">Bengali</option>
+ <option value="ta_IN">Tamil</option>
+ <option value="te_IN">Telugu</option>
+ <option value="or_IN">Oriya</option>
+ <option value="gu_IN">Gujarai</option>
+ <option value="pa_IN">Panjabi</option>
+ <option value="ka_IN">Kannada</option>
+ <option value="en_US">English</option>
+ </select>
+ <input type="submit" id="Transliterate" value="Transliterate" name="action" style="width:12em;"/>
+ <input type="reset" value="Clear" style="width:12em;"/>
+ </br>
+ </form>
+ """
+ if(form.has_key('input_text')):
+ text = form['input_text'].value.decode('utf-8')
+ target_lang = form['trans-lang'].value.decode('utf-8')
+ response=response % text
+ response = response+"<h2>Transliterated Text</h2></hr>"
+ result = self.transliterate(text,target_lang)
+ result = result.replace('\n', '<br/>')
+ response = response+result
+ else:
+ response=response % ""
+ return response
+ def get_module_name(self):
+ return "Transliterator"
+ def get_info(self):
+ return "Transliterated the text between any Indian Language"
+
+
+def getInstance():
+ return Transliterator()
+
+
+if __name__ == "__main__":
+ t=Transliterator ()
+ print t.transliterate (u"കരയുന്നോ കരയുന്നോ?" , "ta_IN")