Jump to content

Module:eu-verb

From Wiktionary, the free dictionary

This module implements {{eu-conj-nor}}, {{eu-conj-nor-nori}} and {{eu-conj-nornork}}. Its usage will be expanded to other templates in the future.


local lang = require("Module:languages").getByCode("eu")
local m_utilities = require("Module:utilities")
local m_links = require("Module:links")
local m_table = require("Module:table")
local m_tables = require("Module:eu-verb/tables")
local export = {}

-- Generate inflections
function generate_nornori(data, base)
	--possible combinations
	local list_1 = {"hi", "hura", "zu", "zuek", "haiek"}
	local list_2 = {"ni", "hura", "gu", "haiek"}
	local list_3 = {"ni", "hi", "hura", "gu", "zu", "zuek", "haiek"}
	local nori_list = {niri = list_1, hirim = list_2, hirif = list_2, hari = list_3, guri = list_1, zuri = list_2, zuei = list_2, haiei = list_3}
	
	--general-use data
	local nor_start ={
		pres = 	{ni = "na", hi = "ha", hura = "da", gu = "ga", zu = "za", zuek = "za", haiek = "da"},
		past = 	{ni = "ninde", hi = "hinde", hura = "ze", gu = "ginde", zu = "zinde", zuek = "zinde", haiek = "ze"},
		hcons = {ni = "ninde", hi = "hinde", hura = "le", gu = "ginde", zu = "zinde", zuek = "zinde", haiek = "le"},
		potpres = {ni = "na", hi = "ha", hura = "da", gu = "ga", zu = "za", zuek = "za", haiek = "da"},
		subpres = {ni = "na", hi = "ha", hura = "da", gu = "ga", zu = "za", zuek = "za", haiek = "da"},
		imp = 	{ni = "", hi = "", hura = "be", gu = "", zu = "", zuek = "", haiek = "be"},
		clcond  = {ni = "bana", hi = "baha", hura = "bada", gu = "baga", zu = "baza", zuek = "baza", haiek = "bada"},
	}
	local infix = {ni = "", hi = "", hura = "", gu = "zki", zu = "zki", zuek = "zki", haiek = "zki"}
	local nori_end = {niri = "t", hirim = "k", hirif = "n", hari = "o", guri = "gu", zuri = "zu", zuei = "zue", haiei = "e"}
	local nor_end_final = {
		pres  = {ni = "", hi = "", hura = "", gu = "", zu = "", zuek = "te", haiek = ""},
		past  = {ni = "n", hi = "n", hura = "n", gu = "n", zu = "n", zuek = "ten", haiek = "n"},
		cond    = {ni = "", hi = "", hura = "", gu = "", zu = "", zuek = "te", haiek = ""},
		hcons = {ni = "ke", hi = "ke", hura = "ke", gu = "ke", zu = "ke", zuek = "kete", haiek = "ke"},
		pcons   = {ni = "keen", hi = "keen", hura = "keen", gu = "keen", zu = "keen", zuek = "keten", haiek = "keen"},
		potpres = {ni = "ke", hi = "ke", hura = "ke", gu = "ke", zu = "ke", zuek = "kete", haiek = "ke"},
		subpres = {ni = "n", hi = "n", hura = "n", gu = "n", zu = "n", zuek = "ten", haiek = "n"},
		imp   = {ni = "", hi = "", hura = "", gu = "", zu = "", zuek = "te", haiek = ""},
		clcond  = {ni = "", hi = "", hura = "", gu = "", zu = "", zuek = "te", haiek = ""},
	}
	local regular_changes = {tt = "dat", tn = "dan", tk = "dak", kn = "an", nn = "nan", kk = "ak", nke = "nake", ["^tz"] = "z", kla = "ala", nla = "nala", tla = "dala"}
	local plural_nor = m_table.listToSet {"gu", "zu", "zuek", "haiek"}
	
	--verb-specific data
	local pres = {jarraiki = "rrai", atxiki = "txe", jariatu = "ri", ibili = "bil", etorri = "tor", joan = "oa", egon = "go", izan = "tzai"}
	if base == "atxiki" or base == "ibili" or base == "etorri" or base == "egon" then
		infix = {ni = "ki", hi = "ki", hura = "ki", gu = "zki", zu = "zki", zuek = "zki", haiek = "zki"}
		nor_start.past = {ni = "nen", hi = "hen", hura = "ze", gu = "gen", zu = "zen", zuek = "zen", haiek = "ze"}
		nor_start.cond = {ni = "banen", hi = "bahen", hura = "bale", gu = "bagen", zu = "bazen", zuek = "bazen", haiek = "bale"}
		nor_start.hcons = {ni = "nen", hi = "hen", hura = "le", gu = "gen", zu = "zen", zuek = "zen", haiek = "le"}
		nor_start.pcons = {ni = "nen", hi = "hen", hura = "ze", gu = "gen", zu = "zen", zuek = "zen", haiek = "ze"}
		nor_start.imp     = {ni = "", hi = "ha", hura = "be", gu = "", zu = "za", zuek = "za", haiek = "be"}
	elseif base == "joan" then
		infix             = {ni = "ki", hi = "ki", hura = "ki", gu = "zki", zu = "zki", zuek = "zki", haiek = "zki"}
		nor_start.pres    = {ni = "n", hi = "h", hura = "dih", gu = "g", zu = "z", zuek = "z", haiek = "dih"}
		nor_start.past    = {ni = "nind", hi = "hind", hura = "zih", gu = "gind", zu = "zind", zuek = "zind", haiek = "zih"}
		nor_start.cond    = {ni = "banind", hi = "bahind", hura = "balih", gu = "bagind", zu = "bazind", zuek = "bazind", haiek = "balih"}
		nor_start.hcons   = {ni = "nind", hi = "hind", hura = "lih", gu = "gind", zu = "zind", zuek = "zind", haiek = "lih"}
		nor_start.pcons   = {ni = "nind", hi = "hind", hura = "zih", gu = "gind", zu = "zind", zuek = "zind", haiek = "zih"}
		nor_start.potpres = {ni = "n", hi = "h", hura = "dih", gu = "g", zu = "z", zuek = "z", haiek = "dih"}
		nor_start.subpres = {ni = "n", hi = "h", hura = "dih", gu = "g", zu = "z", zuek = "z", haiek = "dih"}
		nor_start.imp     = {ni = "", hi = "h", hura = "bih", gu = "", zu = "z", zuek = "z", haiek = "bih"}
		nor_start.clcond  = {ni = "ban", hi = "bah", hura = "badih", gu = "bag", zu = "baz", zuek = "baz", haiek = "badih"}
	elseif base == "izan" then
		nor_start.pres          = {ni = "na", hi = "ha", hura = "", gu = "ga", zu = "za", zuek = "za", haiek = ""}
		nor_start.past          = {ni = "nin", hi = "hin", hura = "zi", gu = "gin", zu = "zin", zuek = "zin", haiek = "zi"}
		nor_start.cond          = {ni = "banin", hi = "bahin", hura = "bali", gu = "bagin", zu = "bazin", zuek = "bazin", haiek = "bali"}
		nor_start.hcons         = {ni = "nin", hi = "hin", hura = "li", gu = "gin", zu = "zin", zuek = "zin", haiek = "li"}
		nor_start.pcons         = {ni = "nin", hi = "hin", hura = "zi", gu = "gin", zu = "zin", zuek = "zin", haiek = "zi"}
		nor_start.pothypo       = {ni = "nen", hi = "hen", hura = "le", gu = "gen", zu = "zen", zuek = "zen", haiek = "le"}
		nor_start.potpast       = {ni = "nen", hi = "hen", hura = "ze", gu = "gen", zu = "zen", zuek = "zen", haiek = "ze"}
		nor_end_final.pothypo   = {ni = "ke", hi = "ke", hura = "ke", gu = "ke", zu = "ke", zuek = "kete", haiek = "ke"}
		nor_end_final.potpast   = {ni = "keen", hi = "keen", hura = "keen", gu = "keen", zu = "keen", zuek = "keten", haiek = "keen"}
		nor_start.dicond        = {ni = "banen", hi = "bahen", hura = "bale", gu = "bagen", zu = "bazen", zuek = "bazen", haiek = "bale"}
		nor_end_final.dicond    = {ni = "", hi = "", hura = "", gu = "", zu = "", zuek = "te", haiek = ""}
		nor_start.subhyp        = {ni = "nen", hi = "hen", hura = "le", gu = "gen", zu = "zen", zuek = "zen", haiek = "le"}
		nor_end_final.subhyp    = {ni = "n", hi = "n", hura = "n", gu = "n", zu = "n", zuek = "ten", haiek = "n"}
		nor_start.subpresla     = {ni = "na", hi = "ha", hura = "da", gu = "ga", zu = "za", zuek = "za", haiek = "da"}
		nor_end_final.subpresla = {ni = "la", hi = "la", hura = "la", gu = "la", zu = "la", zuek = "tela", haiek = "la"}
		nor_start.subpast       = {ni = "nen", hi = "hen", hura = "ze", gu = "gen", zu = "zen", zuek = "zen", haiek = "ze"}
		nor_end_final.subpast   = {ni = "n", hi = "n", hura = "n", gu = "n", zu = "n", zuek = "ten", haiek = "n"}
		nor_start.subpastla     = {ni = "nen", hi = "hen", hura = "ze", gu = "gen", zu = "zen", zuek = "zen", haiek = "ze"}
		nor_end_final.subpastla = {ni = "la", hi = "la", hura = "la", gu = "la", zu = "la", zuek = "tela", haiek = "la"}
		nor_start.imp           = {ni = "", hi = "ha", hura = "be", gu = "", zu = "za", zuek = "za", haiek = "be"}
	end
	local edin_tenses = m_table.listToSet {"potpres", "subpres", "subpresla", "imp", "clcond", "dicond", "pothypo", "potpast", "subhyp", "subpast", "subpastla"}

	--which tenses?
	local tenses_list = {"pres", "past", "hcons", "imp"}
	if base == "ibili" or base == "etorri" or base == "joan" or base == "egon" then
		tenses_list = {"pres", "past", "cond", "hcons", "pcons", "potpres", "imp", "subpres", "clcond"}
	elseif base == "izan" then
		tenses_list = {"pres", "past", "cond", "hcons", "pcons", "potpres", "pothypo", "potpast", "imp", "subpres", "clcond", "dicond", "subhyp", "subpresla", "subpast", "subpastla"}
	end
	
	--generate the values
	local prov_form = ""
	local stem = ""
	for nori, nor_list in pairs(nori_list) do
		for _, nor in ipairs(nor_list) do
			for _, tense in ipairs(tenses_list) do
				--Handle stem alternations
				stem = pres[base]
				if base == "etorri" and plural_nor[nor] then
					stem = "to"
				elseif base == "izan" and edin_tenses[tense] then
					stem = "ki"
				end
				--Generate form
				prov_form = nor_start[tense][nor] .. stem .. infix[nor] .. nori_end[nori] .. nor_end_final[tense][nor]
				--Regular morphological changes
				for original, changed in pairs(regular_changes) do
					prov_form = mw.ustring.gsub(prov_form, original, changed)
				end
				--Store the form
				data.forms[tense .. nor .. nori] = {prov_form}
			end
		end
	end
	
	return data
end

-- Inflection functions
function export.nor(frame)
	local args = frame:getParent().args
		
	local data = {
		forms = {},
		info = "",
		categories = {},
	}
	
	-- add the lemma form
	local base = mw.title.getCurrentTitle().text
	
	data.info = m_links.full_link({lang = lang, alt = base}, "term")

	local st = ""
	local st2 = ""
	local st2b = ""
	local st3 = ""
	local st4 = ""
	local st5 = ""
	local st6 = ""
	local st5b = ""
	local st6b = ""
	
	if base == "joan" then
		st = "oa"
		st2 = "oaz"
		st2b = "oaz"
		st3 = "indoa"
		st4 = "ihoa"
		st5 = "indoaz"
		st6 = "ihoaz"
		st5b = "indoaz"
		st6b = "ihoaz"
	elseif base == "etorri" then
		st = "ator"
		st2 = "atoz"		
		st2b = "atoz"
		st3 = "entor"
		st4 = "etor"
		st5 = "entoz"
		st6 = "etoz"
		st5b = "entoz"
		st6b = "etoz"
	elseif base == "egon" then
		st = "ago"
		st2 = "aude"
		st2b = "aude"
		st3 = "engo"
		st4 = "ego"
		st5 = "eunde"
		st6 = "eude"
		st5b = "eunde"
		st6b = "eude"
	elseif base == "ibili" then
		st = "abil"
		st2 = "abiltza"
		st2b = "abilz"
		st3 = "enbil"
		st4 = "ebil"
		st5 = "enbiltza"
		st6 = "ebiltza"
		st5b = "enbilz"
		st6b = "ebilz"
	elseif base == "etzan" then
		st = "atza"
		st2 = "autza"
		st3 = "entza"
		st4 = "etza"
		st5 = "euntza"
		st6 = "eutza"
		st5b = "euntza"
		st6b = "eutza"
	end

	--endings
	local end3 = st3:sub(-1)
	local end4 = st4:sub(-1)
	local end5 = st5:sub(-1)
	local end6 = st6:sub(-1)
	
	local l3 = ""
	if end3 == "r" then
		l3 = "re"
	elseif not (end3 == "a" or end3 == "e") then
		l3 = "e"
	end
	local l4 = ""
	if end4 == "r" then
		l4 = "re"
	elseif not (end4 == "a" or end4 == "e") then
		l4 = "e"
	end	
	local l5 = ""
	if end5 == "r" then
		l5 = "re"
	elseif not (end5 == "a" or end5 == "e") then
		l5 = "e"
	end	
	local l6 = ""
	if end6 == "r" then
		l6 = "re"
	elseif not (end6 == "a" or end6 == "e") then
		l6 = "e"
	end
	
	local l1 = "e"
	local l2 = ""
	if base == "etorri" then
		l1 = "re"
		l2 = "e"
	end
	if base == "joan" then
		l1 = ""
		l2 = "e"
	end
	
	-- present indicative
	data.forms["1"] = {"n" .. st}
	data.forms["2"] = {"h" .. st}
	data.forms["3"] = {"d" .. st}
	data.forms["4"] = {"g" .. st2}
	data.forms["5"] = {"z" .. st2}
	data.forms["6"] = {"z" .. st2 .. "te"}
	data.forms["7"] = {"d" .. st2}
	
	-- past indicative and past subjunctive
	data.forms["8"] = {"n" .. st3 .. l3 .. "n"}
	data.forms["9"] = {"h" .. st3 .. l3 .. "n"}
	data.forms["10"] = {"z" .. st4 .. l4 .. "n"}
	data.forms["11"] = {"g" .. st5 .. l5 .. "n"}
	data.forms["12"] = {"z" .. st5 .. l5 .. "n"}
	data.forms["13"] = {"z" .. st5 .. "ten"}
	data.forms["14"] = {"z" .. st6 .. l6 .. "n"}
	
	if base ~= "etzan" then
		data.forms["64"] = data.forms["8"]
		data.forms["65"] = data.forms["9"]
		data.forms["66"] = data.forms["10"]
		data.forms["67"] = data.forms["11"]
		data.forms["68"] = data.forms["12"]
		data.forms["69"] = data.forms["13"]
		data.forms["70"] = data.forms["14"]
	end
	
	-- conditional indicative
	if base ~= "etzan" then
		data.forms["15"] = {"ban" .. st3}
		data.forms["16"] = {"bah" .. st3}
		data.forms["17"] = {"bal" .. st4}
		data.forms["18"] = {"bag" .. st5}
		data.forms["19"] = {"baz" .. st5}
		data.forms["20"] = {"baz" .. st5 .. "te"}
		data.forms["21"] = {"bal" .. st6}
	end
	
	-- conditional hypothetic consequence/potential future
	data.forms["22"] = {"n" .. st3 .. "ke"}
	data.forms["23"] = {"h" .. st3 .. "ke"}
	data.forms["24"] = {"l" .. st4 .. "ke"}
	data.forms["25"] = {"g" .. st5b .. "ke"}
	data.forms["26"] = {"z" .. st5b .. "ke"}
	data.forms["27"] = {"z" .. st5b .. "kete"}
	data.forms["28"] = {"l" .. st6b .. "ke"}
	
	if base ~= "etzan" then
		data.forms["43"] = data.forms["22"]
		data.forms["44"] = data.forms["23"]
		data.forms["45"] = data.forms["24"]
		data.forms["46"] = data.forms["25"]
		data.forms["47"] = data.forms["26"]
		data.forms["48"] = data.forms["27"]
		data.forms["49"] = data.forms["28"]
	end
	
	-- conditional past consequence/potential past
	if base ~= "etzan" then
		data.forms["29"] = {"n" .. st3 .. "keen"}
		data.forms["30"] = {"h" .. st3 .. "keen"}
		data.forms["31"] = {"z" .. st4 .. "keen"}
		data.forms["32"] = {"g" .. st5b .. "keen"}
		data.forms["33"] = {"z" .. st5b .. "keen"}
		data.forms["34"] = {"z" .. st5b .. "keten"}
		data.forms["35"] = {"z" .. st6b .. "keen"}
	
		data.forms["50"] = data.forms["29"]
		data.forms["51"] = data.forms["30"]
		data.forms["52"] = data.forms["31"]
		data.forms["53"] = data.forms["32"]
		data.forms["54"] = data.forms["33"]
		data.forms["55"] = data.forms["34"]
		data.forms["56"] = data.forms["35"]
	
	-- potential present
		data.forms["36"] = {"n" .. st .. "ke"}
		data.forms["37"] = {"h" .. st .. "ke"}
		data.forms["38"] = {"d" .. st .. "ke"}
		data.forms["39"] = {"g" .. st2b .. "ke"}
		data.forms["40"] = {"z" .. st2b .. "ke"}
		data.forms["41"] = {"z" .. st2b .. "kete"}
		data.forms["42"] = {"d" .. st2b .. "ke"}
	
	-- present subjunctive
		data.forms["57"] = {"n" .. st .. l1 .. "n"}
		data.forms["58"] = {"h" .. st .. l1 .. "n"}
		data.forms["59"] = {"d" .. st .. l1 .. "n"}
		data.forms["60"] = {"g" .. st2 .. l2 .. "n"}
		data.forms["61"] = {"z" .. st2 .. l2 .. "n"}
		data.forms["62"] = {"z" .. st2 .. "ten"}
		data.forms["63"] = {"d" .. st2 .. l2 .. "n"}
	end
	
	-- present imperative
	data.forms["72"] = {"h" .. st}
	data.forms["73"] = {"b" .. st4}
	data.forms["75"] = {"z" .. st2}
	data.forms["76"] = {"z" .. st2 .. "te"}
	data.forms["77"] = {"b" .. st6 .. l6}
	if base == "etorri" then
		data.forms["77"] = {"betoz"}
	elseif base == "joan" then
		data.forms["77"] = {"bihoaz"}
	end
	
	--all verb forms of izan are listed manually
	if base == "izan" then
		data.forms["1"] = {"naiz"}
		data.forms["2"] = {"haiz"}
		data.forms["3"] = {"da"}
		data.forms["4"] = {"gara"}
		data.forms["5"] = {"zara"}
		data.forms["6"] = {"zarete"}
		data.forms["7"] = {"dira"}
		
		data.forms["8"] = {"nintzen"}
		data.forms["9"] = {"hintzen"}
		data.forms["10"] = {"zen"}
		data.forms["11"] = {"ginen"}
		data.forms["12"] = {"zinen"}
		data.forms["13"] = {"zineten"}
		data.forms["14"] = {"ziren"}
		
		data.forms["15"] = {"banintz"}
		data.forms["16"] = {"bahintz"}
		data.forms["17"] = {"balitz"}
		data.forms["18"] = {"bagina"}
		data.forms["19"] = {"bazina"}
		data.forms["20"] = {"bazinete"}
		data.forms["21"] = {"balira"}
		
		data.forms["15b"] = {"banendi"}
		data.forms["16b"] = {"bahendi"}
		data.forms["17b"] = {"baledi"}
		data.forms["18b"] = {"bagintez"}
		data.forms["19b"] = {"bazintez"}
		data.forms["20b"] = {"bazintezte"}
		data.forms["21b"] = {"balitez"}
		
		data.forms["15c"] = {"banadi"}
		data.forms["16c"] = {"bahadi"}
		data.forms["17c"] = {"badadi"}
		data.forms["18c"] = {"bagaitez"}
		data.forms["19c"] = {"bazaitez"}
		data.forms["20c"] = {"bazaitezte"}
		data.forms["21c"] = {"badaitez"}
		
		data.forms["22"] = {"nintzateke"}
		data.forms["23"] = {"hintzateke"}
		data.forms["24"] = {"litzateke"}
		data.forms["25"] = {"ginateke"}
		data.forms["26"] = {"zinateke"}
		data.forms["27"] = {"zinatekete"}
		data.forms["28"] = {"lirateke"}
		
		data.forms["29"] = {"nintzatekeen"}
		data.forms["30"] = {"hintzatekeen"}
		data.forms["31"] = {"zatekeen"}
		data.forms["32"] = {"ginatekeen"}
		data.forms["33"] = {"zinatekeen"}
		data.forms["34"] = {"zinateketen"}
		data.forms["35"] = {"ziratekeen"}
		
		data.forms["36"] = {"naiteke"}
		data.forms["37"] = {"haiteke"}
		data.forms["38"] = {"daiteke"}
		data.forms["39"] = {"gaitezke"}
		data.forms["40"] = {"zaitezke"}
		data.forms["41"] = {"zaitezkete"}
		data.forms["42"] = {"daitezke"}
		data.forms["36b"] = {"naizateke"}
		data.forms["37b"] = {"haizateke"}
		data.forms["38b"] = {"dateke"}
		data.forms["39b"] = {"garateke"}
		data.forms["40b"] = {"zarateke"}
		data.forms["41b"] = {"zaratekete"}
		data.forms["42b"] = {"dirateke"}
		
		data.forms["43"] = {"ninteke"}
		data.forms["44"] = {"hinteke"}
		data.forms["45"] = {"liteke"}
		data.forms["46"] = {"gintezke"}
		data.forms["47"] = {"zintezke"}
		data.forms["48"] = {"zintezkete"}
		data.forms["49"] = {"litezke"}
		
		data.forms["50"] = {"nintekeen"}
		data.forms["51"] = {"hintekeen"}
		data.forms["52"] = {"zitekeen"}
		data.forms["53"] = {"gintezkeen"}
		data.forms["54"] = {"zintezkeen"}
		data.forms["55"] = {"zintezketen"}
		data.forms["56"] = {"zitezkeen"}
		
		data.forms["57"] = {"nadin"}
		data.forms["58"] = {"hadin"}
		data.forms["59"] = {"dadin"}
		data.forms["60"] = {"gaitezen"}
		data.forms["61"] = {"zaitezen"}
		data.forms["62"] = {"zaitezten"}
		data.forms["63"] = {"daitezen"}
		data.forms["57b"] = {"nadila"}
		data.forms["58b"] = {"hadila"}
		data.forms["59b"] = {"dadila"}
		data.forms["60b"] = {"gaitezela"}
		data.forms["61b"] = {"zaitezela"}
		data.forms["62b"] = {"zaiteztela"}
		data.forms["63b"] = {"daitezela"}
		
		data.forms["59c"] = {"ledin"}
		data.forms["63c"] = {"litezen"}

		data.forms["64"] = {"nendin"}
		data.forms["65"] = {"hendin"}
		data.forms["66"] = {"zedin"}
		data.forms["67"] = {"gintezen"}
		data.forms["68"] = {"zintezen"}
		data.forms["69"] = {"zintezten"}
		data.forms["70"] = {"zitezen"}
		data.forms["64b"] = {"nendila"}
		data.forms["65b"] = {"hendila"}
		data.forms["66b"] = {"zedila"}
		data.forms["67b"] = {"gintezela"}
		data.forms["68b"] = {"zintezela"}
		data.forms["69b"] = {"zinteztela"}
		data.forms["70b"] = {"zitezela"}
		
		data.forms["72"] = {"hadi"}
		data.forms["73"] = {"bedi"}
		data.forms["73b"] = {"biz"}
		data.forms["75"] = {"zaitez"}
		data.forms["76"] = {"zaitezte"}
		data.forms["77"] = {"bitez"}
		data.forms["77b"] = {"bira"}
	end
	
	--categories
	table.insert(data.categories, "Basque synthetic verbs")
	table.insert(data.categories, "Basque intransitive verbs")
	
	--generate the table and add categories
	if base == "etzan" then
		return make_table_nor_etzan(data) .. m_utilities.format_categories(data.categories, lang)
	elseif base == "izan" then
		return m_tables.make_table(data, "nor-izan") .. m_utilities.format_categories(data.categories, lang)
	else
		return make_table_nor(data) .. m_utilities.format_categories(data.categories, lang)
	end
end

function export.nor_allocutive(frame) -- only izan is done
	local args = frame:getParent().args
		
	local data = {
		forms = {},
		info = "",
		categories = {},
	}
	
	-- add the lemma form
	local base = mw.title.getCurrentTitle().text
	
	data.info = m_links.full_link({lang = lang, alt = base}, "term")

	--all verb forms of izan are listed manually
	if base == "izan" then
		data.forms["1m"] = {"nauk"}
		data.forms["1f"] = {"naun"}
		data.forms["3m"] = {"duk"}
		data.forms["3f"] = {"dun"}
		data.forms["4m"] = {"gaituk"}
		data.forms["4f"] = {"gaitun"}
		data.forms["7m"] = {"dituk"}
		data.forms["7f"] = {"ditun"}
		
		data.forms["8m"] = {"ninduan"}
		data.forms["8f"] = {"nindunan"}
		data.forms["10m"] = {"zuan"}
		data.forms["10f"] = {"zunan"}
		data.forms["11m"] = {"gintuan"}		
		data.forms["11f"] = {"gintunan"}
		data.forms["14m"] = {"zituan"}
		data.forms["14f"] = {"zitunan"}

		data.forms["22m"] = {"nindukek"}
		data.forms["24m"] = {"lukek"}
		data.forms["25m"] = {"gintuzkek"}
		data.forms["28m"] = {"lituzkek"}
		data.forms["22f"] = {"ninduken"}
		data.forms["24f"] = {"luken"}
		data.forms["25f"] = {"gintuzken"}
		data.forms["28f"] = {"lituzken"}
		
		data.forms["29m"] = {"nindukean"}
		data.forms["31m"] = {"zukean"}
		data.forms["32m"] = {"gintuzkean"}
		data.forms["35m"] = {"zituzkean"}
		data.forms["29f"] = {"nindukenan"}
		data.forms["31f"] = {"zukenan"}
		data.forms["32f"] = {"gintuzkenan"}
		data.forms["35f"] = {"zituzkenan"}
		
		data.forms["36m"] = {"naitekek"}
		data.forms["38m"] = {"daitekek"}
		data.forms["39m"] = {"gaitezkek"}
		data.forms["42m"] = {"daitezkek"}
		data.forms["36f"] = {"naiteken"}
		data.forms["38f"] = {"daiteken"}
		data.forms["39f"] = {"gaitezken"}
		data.forms["42f"] = {"daitezken"}
		
		data.forms["36bm"] = {"naukek"}
		data.forms["38bm"] = {"dukek"}
		data.forms["39bm"] = {"gaituzkek"}
		data.forms["42bm"] = {"dituzkek"}
		data.forms["36bf"] = {"nauken"}
		data.forms["38bf"] = {"duken"}
		data.forms["39bf"] = {"gaituzken"}
		data.forms["42bf"] = {"dituzken"}
		
		data.forms["43m"] = {"nintekek"}
		data.forms["45m"] = {"litekek"}
		data.forms["46m"] = {"gintezkek"}
		data.forms["49m"] = {"litezkek"}
		data.forms["43f"] = {"ninteken"}
		data.forms["45f"] = {"liteken"}
		data.forms["46f"] = {"gintezken"}
		data.forms["49f"] = {"litezken"}
		
		data.forms["50m"] = {"nintekean"}
		data.forms["52m"] = {"zitekean"}
		data.forms["53m"] = {"gintezkean"}
		data.forms["56m"] = {"zitezkean"}
		data.forms["50f"] = {"nintekenan"}
		data.forms["52f"] = {"zitekenan"}
		data.forms["53f"] = {"gintezkenan"}
		data.forms["56f"] = {"zitezkenan"}
	end
	
	--categories
	table.insert(data.categories, "Basque synthetic verbs")
	table.insert(data.categories, "Basque intransitive verbs")
	
	--generate the table and add categories
	if base == "izan" then
		return m_tables.make_table(data, "nor-allocutive-izan") .. m_utilities.format_categories(data.categories, lang)
	end
end

function export.nornori(frame)
	local args = frame:getParent().args
		
	local data = {
		forms = {},
		info = "",
		categories = {},
	}
	
	-- add the lemma form and generate inflections
	local base = mw.title.getCurrentTitle().text
	data.info = m_links.full_link({lang = lang, alt = base}, "term")
	data = generate_nornori(data, base)
	
	--categories
	table.insert(data.categories, "Basque synthetic verbs")
	table.insert(data.categories, "Basque intransitive verbs")

	if base == "jarraiki" or base == "atxiki" then
		return m_tables.make_table(data, "nornori-atxeki") .. m_utilities.format_categories(data.categories, lang)
	elseif base == "jariatu" then
		return m_tables.make_table(data, "nornori-jariatu") .. m_utilities.format_categories(data.categories, lang)
	elseif base == "ibili" or base == "etorri" or base == "joan" or base == "egon" then
		return m_tables.make_table(data, "nornori-ibili") .. m_utilities.format_categories(data.categories, lang)
	elseif base == "izan" then
		return m_tables.make_table(data, "nornori-izan") .. m_utilities.format_categories(data.categories, lang)
	else
		error("Unsupported verb.")
	end
end

function export.nornork(frame)
	local args = frame:getParent().args
		
	local data = {
		forms = {},
		info = "",
		categories = {},
	}
	
	-- add the lemma form
	local base = mw.title.getCurrentTitle().text
	
	data.info = m_links.full_link({lang = lang, alt = base}, "term")

	local st = ""
	local st2 = ""
	local st_imp = ""
	local v1 = ""
	local v2 = ""
	local e1 = ""
	local e2 = ""
	local e2b = "" -- only used in irudi
	local e_imp = "e"
	local z = "z" -- the plural infix -zki- becomes -ski- in erakutsi
	local z2 = "z" -- only used in egin
	local s = "" --only used in erakutsi
	local v3 = ""
	local ki = "ki" --only used in egin and eroan
	local kie = "kie" --only used in egin and eroan
	
	if base == "entzun" then
		st = "ntzu"
		v1 = "a"
		e1 = "e"
		e2 = "e"
	elseif base == "erakutsi" then
		st = "rakuts"
		v1 = "a"
		v2 = "a"
		e1 = "e"
		e2 = "a"
		z = "s"
		v3 = "a"
		s = "s"
	elseif base == "iharduki" then
		st = "iharduka"
		e_imp = ""
	elseif base == "irudi" or base == "iruditu" then
		st = "irudi"
		e2 = "e"
		e_imp = ""
	elseif base == "jardun" then
		st = "ihardu"
		e2 = "e"
		e_imp = ""
	elseif base == "iraun" then
		st = "irau"
		e2 = "e"
		e_imp = ""
	elseif base == "jakin" then
		st = "ki"
		e1 = "e"
		e2 = "e"
		v1 = "a"
		e_imp = ""
	elseif base == "egin" then
		st = "gi"
		v1 = "a"
		e1 = "e"
		e2 = "e"
		ki = ""
		kie = ""
		z = "tza"
		z2 = "tza"
	elseif base == "eroan" then
		st = "roa"
		v1 = "a"
		e1 = "e"
		ki = ""
		kie = ""
		z = "tza"
	elseif base == "ikusi" then
		st = "kus"
		v1 = "a"
		v2 = "a"
		e1 = "e"
		e2 = "a"
		z = ""
		z2 = "az"
		e_imp = "i"
	elseif base == "utzi" then
		st = "utz"
		v2 = "a"
		e_imp = ""
	elseif base == "irakatsi" then
		st = "irakats"
		v2 = "a"
		e_imp = ""
	elseif base == "erosi" then
		st = "eros"
		v2 = "a"
		e_imp = ""
	elseif base == "igorri" then
		st = "igor"
		v2 = ""
		e_imp = ""
	end
	
	if base == "erakutsi" then
		st2 = "raku"
		st_imp = st
	elseif base == "jakin" then
		st2 = st
		st_imp = "jaki"
	else
		st2 = st
		st_imp = st
	end

	--data for eduki and ezagutu
	if base == "eduki" then
		st2 = "ka"
		st1 = "u"
		kV = "ka"
		e = ""
		ke = ""
	elseif base == "ezagutu" then
		st1 = "zagu"
		st2 = ""
		kV = "ki"
		e = "e"
		ke = "ke"
	end
	
	if base == "irudi" or base == "iruditu" or base == "jardun" or base == "iraun" or base == "jakin" or base == "egin" or base == "entzun" then
		e2b = ""
	else
		e2b = e2
	end
	
	-- present indicative (hura)
	data.forms["10"] = {"d" .. v1 .. st .. v2 .. "t"}
	data.forms["11a"] = {"d" .. v1 .. st .. v2 .."k"}
	data.forms["11b"] = {"d" .. v1 .. st .. v2 .."n"}
	data.forms["12"] = {"d" .. v1 .. st .. v2}
	data.forms["13"] = {"d" .. v1 .. st .. v2 .. "gu"}
	data.forms["14"] = {"d" .. v1 .. st .. v2 .. "zu"}
	data.forms["15"] = {"d" .. v1 .. st .. v2 .. "zue"}
	data.forms["16"] = {"d" .. v1 .. st .. v2 .. "te"}
	
	-- past indicative (hura)
	data.forms["46"] = {"n" .. e1 .. st .. e2 .. "n"}
	data.forms["47"] = {"h" .. e1 .. st .. e2 .. "n"}
	data.forms["48"] = {"z" .. e1 .. st .. e2 .. "n"}
	data.forms["49"] = {"gen" .. e1 .. st .. e2 .. "n"}
	data.forms["50"] = {"zen" .. e1 .. st .. e2 .. "n"}
	data.forms["51"] = {"zen" .. e1 .. st .. e2b .. "ten"}
	data.forms["52"] = {"z" .. e1 .. st .. e2b .. "ten"}	

	-- conditional indicative (hura)
	if base ~= "eroan" then
		data.forms["82"] = {"ban" .. e1 .. st .. v2}
		data.forms["83"] = {"bah" .. e1 .. st .. v2}
		data.forms["84"] = {"bal" .. e1 .. st .. v2}
		data.forms["85"] = {"bagen" .. e1 .. st .. v2}
		data.forms["86"] = {"bazen" .. e1 .. st .. v2}
		data.forms["87"] = {"bazen" .. e1 .. st .. v2 .. "te"}
		data.forms["88"] = {"bal" .. e1 .. st .. v2 .. "te"}	
	end
	
	-- hypothetic cons. indicative (hura) (parameter s only used in erakutsi)
	data.forms["118"] = {"n" .. e1 .. st2 .. s .. "ke"}
	data.forms["119"] = {"h" .. e1 .. st2 .. s .. "ke"}
	data.forms["120"] = {"l" .. e1 .. st2 .. s .. "ke"}
	data.forms["121"] = {"gen" .. e1 .. st2 .. s .. "ke"}
	data.forms["122"] = {"zen" .. e1 .. st2 .. s .. "ke"}
	data.forms["123"] = {"zen" .. e1 .. st2 .. s .. "kete"}
	data.forms["124"] = {"l" .. e1 .. st2 .. s .. "kete"}

	-- imperative
	data.forms["227a"] = {e_imp .. st_imp .. v2 .. "k"}
	data.forms["227b"] = {e_imp .. st_imp .. v2 .. "n"}
	data.forms["230"] = {e_imp .. st_imp .. v2 .. "zu"}
	data.forms["231"] =  {e_imp .. st_imp .. v2 .. "zue"}
	
	if base == "igorri" then
		data.forms["227b"] = {"igorna"}
	end
	
	if base ~= "igorri" and base ~= "utzi" and base ~= "irakatsi" and base ~= "erosi" then
		data.forms["228"] = {"b" .. e1 .. st .. v2}
		data.forms["232"] = {"b" .. e1 .. st .. v2 .. "te"}
	end
	
	if base ~= "iharduki" and base ~= "irudi" and base ~= "iruditu" and base ~= "jardun" and base ~= "iraun" then
		-- present indicative (haiek)
 		data.forms["30"] = {"d" .. v1 .. st2 .. z .. ki .. "t"}
		data.forms["31a"] = {"d" .. v1 .. st2 .. z .. ki .. "k"}
		data.forms["31b"] = {"d" .. v1 .. st2 .. z .. ki .. "n"}
		data.forms["32"] = {"d" .. v1 .. st2 .. z .. ki}
		data.forms["33"] = {"d" .. v1 .. st2 .. z .. ki .. "gu"}
		data.forms["34"] = {"d" .. v1 .. st2 .. z .. ki .. "zu"}
		data.forms["35"] = {"d" .. v1 .. st2 .. z .. ki .. "zue"}
		data.forms["36"] = {"d" .. v1 .. st2 .. z .. ki .. "te"}
		
		-- past indicative (haiek)
		data.forms["66"] = {"n" .. e1 .. st2 .. z .. kie .. "n"}
		data.forms["67"] = {"h" .. e1 .. st2 .. z .. kie .. "n"}
		data.forms["68"] = {"z" .. e1 .. st2 .. z .. kie .. "n"}
		data.forms["69"] = {"gen" .. e1 .. st2 .. z .. kie .. "n"}
		data.forms["70"] = {"zen" .. e1 .. st2 .. z .. kie .. "n"}
		data.forms["71"] = {"zen" .. e1 .. st2 .. z .. ki .. "ten"}
		data.forms["72"] = {"z" .. e1 .. st2 .. z .. ki .. "ten"}
		
		-- conditional indicative (haiek)
		if base ~= "eroan" then
			data.forms["102"] = {"ban" .. e1 .. st2 .. z .. ki}
			data.forms["103"] = {"bah" .. e1 .. st2 .. z .. ki}
			data.forms["104"] = {"bal" .. e1 .. st2 .. z .. ki}
			data.forms["105"] = {"bagen" .. e1 .. st2 .. z .. ki}
			data.forms["106"] = {"bazen" .. e1 .. st2 .. z .. ki}
			data.forms["107"] = {"bazen" .. e1 .. st2 .. z .. ki .. "te"}
			data.forms["108"] = {"bal" .. e1 .. st2 .. z .. ki .. "te"}
		end
		
		-- hypothetic cons. indicative (haiek)
		data.forms["138"] = {"n" .. e1 .. st .. v3 .. z2 .. "ke"}
		data.forms["139"] = {"h" .. e1 .. st .. v3 .. z2 .. "ke"}
		data.forms["140"] = {"l" .. e1 .. st .. v3 .. z2 .. "ke"}
		data.forms["141"] = {"gen" .. e1 .. st .. v3 .. z2 .. "ke"}
		data.forms["142"] = {"zen" .. e1 .. st .. v3 .. z2 .. "ke"}
		data.forms["143"] = {"zen" .. e1 .. st .. v3 .. z2 .. "kete"}
		data.forms["144"] = {"l" .. e1 .. st .. v3 .. z2 .. "kete"}
		
		-- imperative
		data.forms["248"] = {"b" .. e1 .. st2 .. z .. "ki"}
		data.forms["252"] = {"b" .. e1 .. st2 .. z .. "kite"}
		if base == "egin" then
			data.forms["248"] = {"begitza"}
			data.forms["252"] = {"begitza"}
		elseif base == "eroan" then
			data.forms["248"] = {"beroatza"}
			data.forms["252"] = {"beroatzate"}		
		end
		if base == "jakin" or base == "egin" then
			data.forms["247a"] = {e_imp .. st_imp .. v2 .. "tzak"}
			data.forms["247b"] = {e_imp .. st_imp .. v2 .. "tzan"}
			data.forms["250"] = {e_imp .. st_imp .. v2 .. "tzazu"}
			data.forms["251"] =  {e_imp .. st_imp .. v2 .. "tzazue"}
		end
	end

	--eduki and ezagutu
	if base == "eduki" or base == "ezagutu" then
		-- indicative present (ni)
		data.forms["1a"] = {"na" .. st1 .. st2 .. "k"}
		data.forms["1b"] = {"na" .. st1 .. st2 .. "n"}
		data.forms["2"] = {"na" .. st1 .. st2}
		data.forms["3"] = {"na" .. st1 .. st2 .. "zu"}
		data.forms["4"] = {"na" .. st1 .. st2 .. "zue"}
		data.forms["5"] = {"na" .. st1 .. st2 .. "te"}
		-- (hi)
		data.forms["6"] = {"ha" .. st1 .. st2 .. "t"}
		data.forms["7"] = {"ha" .. st1 .. st2}
		data.forms["8"] = {"ha" .. st1 .. st2 .. "gu"}
		data.forms["9"] = {"ha" .. st1 .. st2 .. "te"}
		-- (hura)
		data.forms["10"] = {"da" .. st1 .. st2 .. "t"}
		data.forms["11a"] = {"da" .. st1 .. st2 .. "k"}
		data.forms["11b"] = {"da" .. st1 .. st2 .. "n"}
		data.forms["12"] = {"da" .. st1 .. st2}
		data.forms["13"] = {"da" .. st1 .. st2 .. "gu"}	
		data.forms["14"] = {"da" .. st1 .. st2 .. "zu"}	
		data.forms["15"] = {"da" .. st1 .. st2 .. "zue"}		
		data.forms["16"] = {"da" .. st1 .. st2 .. "te"}	
		-- (gu)
		data.forms["17a"] = {"ga" .. st1 .. "z" .. kV .. "k"}
		data.forms["17b"] = {"ga" .. st1 .. "z" .. kV .. "n"}
		data.forms["18"] = {"ga" .. st1 .. "z" .. kV}
		data.forms["19"] = {"ga" .. st1 .. "z" .. kV .. "zu"}
		data.forms["20"] = {"ga" .. st1 .. "z" .. kV .. "zue"}
		data.forms["21"] = {"ga" .. st1 .. "z" .. kV .. "te"}
		-- (zu)
		data.forms["22"] = {"za" .. st1 .. "z" .. kV .. "t"}
		data.forms["23"] = {"za" .. st1 .. "z" .. kV}
		data.forms["24"] = {"za" .. st1 .. "z" .. kV .. "gu"}
		data.forms["25"] = {"za" .. st1 .. "z" .. kV .. "te"}
		-- (zuek)
		data.forms["26"] = {"za" .. st1 .. "z" .. st2 .. "tet"}
		data.forms["27"] = {"za" .. st1 .. "z" .. st2 .. "te"}
		data.forms["28"] = {"za" .. st1 .. "z" .. st2 .. "tegu"}
		data.forms["29"] = {"za" .. st1 .. "z" .. st2 .. "tete"}
		-- (haiek)
		data.forms["30"] = {"da" .. st1 .. "z" .. kV .. "t"}
		data.forms["31a"] = {"da" .. st1 .. "z" .. kV .. "k"}
		data.forms["31b"] = {"da" .. st1 .. "z" .. kV .. "n"}
		data.forms["32"] = {"da" .. st1 .. "z" .. kV}
		data.forms["33"] = {"da" .. st1 .. "z" .. kV .. "gu"}
		data.forms["34"] = {"da" .. st1 .. "z" .. kV .. "zu"}
		data.forms["35"] = {"da" .. st1 .. "z" .. kV .. "zue"}
		data.forms["36"] = {"da" .. st1 .. "z" .. kV .. "te"}
		
		-- indicative past (ni)
		data.forms["37a"] = {"nind" .. e .. st1 .. st2 .. "an"}
		data.forms["37b"] = {"nind" .. e .. st1 .. st2 .. "nan"}
		data.forms["38"] = {"nind" .. e .. st1 .. st2 .. e .. "n"}
		data.forms["39"] = {"nind" .. e .. st1 .. st2 .. "zun"}
		data.forms["40"] = {"nind" .. e .. st1 .. st2 .. "zuen"}
		data.forms["41"] = {"nind" .. e .. st1 .. st2 .. "ten"}	
		-- (hi)
		data.forms["42"] = {"hind" .. e .. st1 .. st2 .. "dan"}
		data.forms["43"] = {"hind" .. e .. st1 .. st2 .. e .. "n"}
		data.forms["44"] = {"hind" .. e .. st1 .. st2 .. "gun"}
		data.forms["45"] = {"hind" .. e .. st1 .. st2 .. "ten"}	
		-- (hura)
		data.forms["46"] = {"ne" .. st1 .. st2 .. e .. "n"}
		data.forms["47"] = {"he" .. st1 .. st2 .. e .. "n"}
		data.forms["48"] = {"ze" .. st1 .. st2 .. e .. "n"}
		data.forms["49"] = {"gene" .. st1 .. st2 .. e .. "n"}
		data.forms["50"] = {"zene" .. st1 .. st2 .. e .. "n"}
		data.forms["51"] = {"zene" .. st1 .. st2 .. "ten"}
		data.forms["52"] = {"ze" .. st1 .. st2 .. "ten"}
		-- (gu)
		data.forms["53a"] = {"gind" .. e .. st1 .. "z" .. kV .. "an"}
		data.forms["53b"] = {"gind" .. e .. st1 .. "z" .. kV .. "nan"}
		data.forms["54"] = {"gind" .. e .. st1 .. "z" .. kV .. e .. "n"}
		data.forms["55"] = {"gind" .. e .. st1 .. "z" .. kV .. "zun"}
		data.forms["56"] = {"gind" .. e .. st1 .. "z" .. kV .. "zuen"}
		data.forms["57"] = {"gind" .. e .. st1 .. "z" .. kV .. "ten"}
		-- (zu)
		data.forms["58"] = {"zind" .. e .. st1 .. "z" .. kV .. "dan"}
		data.forms["59"] = {"zind" .. e .. st1 .. "z" .. kV .. e .. "n"}
		data.forms["60"] = {"zind" .. e .. st1 .. "z" .. kV .. "gun"}
		data.forms["61"] = {"zind" .. e .. st1 .. "z" .. kV .. "ten"}
		-- (zuek)
		data.forms["62"] = {"zind" .. e .. st1 .. "z" .. st2 .. "tedan"}
		data.forms["63"] = {"zind" .. e .. st1 .. "z" .. st2 .. "ten"}
		data.forms["64"] = {"zind" .. e .. st1 .. "z" .. st2 .. "tegun"}
		data.forms["65"] = {"zind" .. e .. st1 .. "z" .. st2 .. "teten"}
		-- (haiek)
		data.forms["66"] = {"ne" .. st1 .. "z" .. kV .. e .. "n"}
		data.forms["67"] = {"he" .. st1 .. "z" .. kV .. e .. "n"}
		data.forms["68"] = {"ze" .. st1 .. "z" .. kV .. e .. "n"}
		data.forms["69"] = {"gene" .. st1 .. "z" .. kV .. e .. "n"}
		data.forms["70"] = {"zene" .. st1 .. "z" .. kV .. e .. "n"}
		data.forms["71"] = {"zene" .. st1 .. "z" .. kV .. "ten"}
		data.forms["72"] = {"ze" .. st1 .. "z" .. kV .. "ten"}
		
		-- indicative conditional (ni)
		data.forms["73a"] = {"banind" .. e .. st1 .. st2 .. "k"}
		data.forms["73b"] = {"banind" .. e .. st1 .. st2 .. "n"}
		data.forms["74"] = {"banind" .. e .. st1 .. st2}
		data.forms["75"] = {"banind" .. e .. st1 .. st2 .. "zu"}
		data.forms["76"] = {"banind" .. e .. st1 .. st2 .. "zue"}
		data.forms["77"] = {"banind" .. e .. st1 .. st2 .. "te"}	
		-- (hi)
		data.forms["78"] = {"bahind" .. e .. st1 .. st2 .. "t"}
		data.forms["79"] = {"bahind" .. e .. st1 .. st2}
		data.forms["80"] = {"bahind" .. e .. st1 .. st2 .. "gu"}
		data.forms["81"] = {"bahind" .. e .. st1 .. st2 .. "te"}	
		-- (hura)
		data.forms["82"] = {"bane" .. st1 .. st2}
		data.forms["83"] = {"bahe" .. st1 .. st2}
		data.forms["84"] = {"bale" .. st1 .. st2}
		data.forms["85"] = {"bagene" .. st1 .. st2}
		data.forms["86"] = {"bazene" .. st1 .. st2}
		data.forms["87"] = {"bazene" .. st1 .. st2 .. "te"}
		data.forms["88"] = {"bale" .. st1 .. st2 .. "te"}
		-- (gu)
		data.forms["89a"] = {"bagind" .. e .. st1 .. "z" .. kV .. "k"}
		data.forms["89b"] = {"bagind" .. e .. st1 .. "z" .. kV .. "n"}
		data.forms["90"] = {"bagind" .. e .. st1 .. "z" .. kV}
		data.forms["91"] = {"bagind" .. e .. st1 .. "z" .. kV .. "zu"}
		data.forms["92"] = {"bagind" .. e .. st1 .. "z" .. kV .. "zue"}
		data.forms["93"] = {"bagind" .. e .. st1 .. "z" .. kV .. "te"}
		-- (zu)
		data.forms["94"] = {"bazind" .. e .. st1 .. "z" .. kV .. "t"}
		data.forms["95"] = {"bazind" .. e .. st1 .. "z" .. kV}
		data.forms["96"] = {"bazind" .. e .. st1 .. "z" .. kV .. "gu"}
		data.forms["97"] = {"bazind" .. e .. st1 .. "z" .. kV .. "te"}
		-- (zuek)
		data.forms["98"] = {"bazind" .. e .. st1 .. "z" .. st2 .. "tet"}
		data.forms["99"] = {"bazind" .. e .. st1 .. "z" .. st2 .. "te"}
		data.forms["100"] = {"bazind" .. e .. st1 .. "z" .. st2 .. "tegu"}
		data.forms["101"] = {"bazind" .. e .. st1 .. "z" .. st2 .. "tete"}
		-- (haiek)
		data.forms["102"] = {"bane" .. st1 .. "z" .. kV}
		data.forms["103"] = {"bahe" .. st1 .. "z" .. kV}
		data.forms["104"] = {"bale" .. st1 .. "z" .. kV}
		data.forms["105"] = {"bagene" .. st1 .. "z" .. kV}
		data.forms["106"] = {"bazene" .. st1 .. "z" .. kV}
		data.forms["107"] = {"bazene" .. st1 .. "z" .. kV .. "te"}
		data.forms["108"] = {"bale" .. st1 .. "z" .. kV .. "te"}

		-- indicative hypothetic consequence (ni)
		data.forms["109a"] = {"nind" .. e .. st1 .. st2 .. "kek"}
		data.forms["109b"] = {"nind" .. e .. st1 .. st2 .. "ken"}
		data.forms["110"] = {"nind" .. e .. st1 .. st2 .. "ke"}
		data.forms["111"] = {"nind" .. e .. st1 .. st2 .. "kezu"}
		data.forms["112"] = {"nind" .. e .. st1 .. st2 .. "kezue"}
		data.forms["113"] = {"nind" .. e .. st1 .. st2 .. "kete"}	
		-- (hi)
		data.forms["114"] = {"hind" .. e .. st1 .. st2 .. "ket"}
		data.forms["115"] = {"hind" .. e .. st1 .. st2 .. "ke"}
		data.forms["116"] = {"hind" .. e .. st1 .. st2 .. "kegu"}
		data.forms["117"] = {"hind" .. e .. st1 .. st2 .. "kete"}	
		-- (hura)
		data.forms["118"] = {"ne" .. st1 .. st2 .. "ke"}
		data.forms["119"] = {"he" .. st1 .. st2 .. "ke"}
		data.forms["120"] = {"le" .. st1 .. st2 .. "ke"}
		data.forms["121"] = {"gene" .. st1 .. st2 .. "ke"}
		data.forms["122"] = {"zene" .. st1 .. st2 .. "ke"}
		data.forms["123"] = {"zene" .. st1 .. st2 .. "kete"}
		data.forms["124"] = {"le" .. st1 .. st2 .. "kete"}
		-- (gu)
		data.forms["125a"] = {"gind" .. e .. st1 .. "z" .. st2 .. "kek"}
		data.forms["125b"] = {"gind" .. e .. st1 .. "z" .. st2 .. "ken"}
		data.forms["126"] = {"gind" .. e .. st1 .. "z" .. st2 .. "ke"}
		data.forms["127"] = {"gind" .. e .. st1 .. "z" .. st2 .. "kezu"}
		data.forms["128"] = {"gind" .. e .. st1 .. "z" .. st2 .. "kezue"}
		data.forms["129"] = {"gind" .. e .. st1 .. "z" .. st2 .. "kete"}
		-- (zu)
		data.forms["130"] = {"zind" .. e .. st1 .. "z" .. st2 .. "ket"}
		data.forms["131"] = {"zind" .. e .. st1 .. "z" .. st2 .. "ke"}
		data.forms["132"] = {"zind" .. e .. st1 .. "z" .. st2 .. "kegu"}
		data.forms["133"] = {"zind" .. e .. st1 .. "z" .. st2 .. "kete"}
		-- (zuek)
		data.forms["134"] = {"zind" .. e .. st1 .. "z" .. st2 .. "ketet"}
		data.forms["135"] = {"zind" .. e .. st1 .. "z" .. st2 .. "kete"}
		data.forms["136"] = {"zind" .. e .. st1 .. "z" .. st2 .. "ketegu"}
		data.forms["137"] = {"zind" .. e .. st1 .. "z" .. st2 .. "ketete"}
		-- (haiek)
		data.forms["138"] = {"ne" .. st1 .. "z" .. st2 .. "ke"}
		data.forms["139"] = {"he" .. st1 .. "z" .. st2 .. "ke"}
		data.forms["140"] = {"le" .. st1 .. "z" .. st2 .. "ke"}
		data.forms["141"] = {"gene" .. st1 .. "z" .. st2 .. "ke"}
		data.forms["142"] = {"zene" .. st1 .. "z" .. st2 .. "ke"}
		data.forms["143"] = {"zene" .. st1 .. "z" .. st2 .. "kete"}
		data.forms["144"] = {"le" .. st1 .. "z" .. st2 .. "kete"}
		
		-- (hura)
		data.forms["364a"] = {"e" .. st1 .. st2 .. "k"}
		data.forms["364b"] = {"e" .. st1 .. st2 .. "n"}
		data.forms["365"] = {"be" .. st1 .. st2}
		data.forms["366"] = {"e" .. st1 .. st2 .. "zu"}
		data.forms["367"] = {"e" .. st1 .. st2 .. "zue"}
		data.forms["368"] = {"be" .. st1 .. st2 .. "te"}

		-- (haiek)
		data.forms["373"] = {"be" .. st1 .. "z" .. kV}
		data.forms["376"] = {"be" .. st1 .. "z" .. kV .. "te"}
		if base == "eduki" then
			data.forms["372a"] = {"euzkak"}
			data.forms["372b"] = {"euzkan"}
			data.forms["374"] = {"euzkazu"}
			data.forms["375"] = {"euzkazue"}
		else
			data.forms["372b"] = {"NA"} -- placeholder
		end
	end

	--izan
	if base == "izan" then
		-- indicative present (ni)
		data.forms["1a"] = {"nauk"}
		data.forms["1b"] = {"naun"}
		data.forms["2"] = {"nau"}
		data.forms["3"] = {"nauzu"}
		data.forms["4"] = {"nauzue"}
		data.forms["5"] = {"naute"}
		-- (hi)
		data.forms["6"] = {"haut"}
		data.forms["7"] = {"hau"}
		data.forms["8"] = {"haugu"}
		data.forms["9"] = {"haute"}
		-- (hura)
		data.forms["10"] = {"dut"}
		data.forms["11a"] = {"duk"}
		data.forms["11b"] = {"dun"}
		data.forms["12"] = {"du"}
		data.forms["13"] = {"dugu"}		
		data.forms["14"] = {"duzu"}		
		data.forms["15"] = {"duzue"}		
		data.forms["16"] = {"dute"}		
		-- (gu)
		data.forms["17a"] = {"gaituk"}
		data.forms["17b"] = {"gaitun"}
		data.forms["18"] = {"gaitu"}
		data.forms["19"] = {"gaituzu"}
		data.forms["20"] = {"gaituzue"}
		data.forms["21"] = {"gaituzte"}
		-- (zu)
		data.forms["22"] = {"zaitut"}
		data.forms["23"] = {"zaitu"}
		data.forms["24"] = {"zaitugu"}
		data.forms["25"] = {"zaituzte"}
		-- (zuek)
		data.forms["26"] = {"zaituztet"}
		data.forms["27"] = {"zaituzte"}
		data.forms["28"] = {"zaituztegu"}
		data.forms["29"] = {"zaituztete"}
		-- (haiek)
		data.forms["30"] = {"ditut"}
		data.forms["31a"] = {"dituk"}
		data.forms["31b"] = {"ditun"}
		data.forms["32"] = {"ditu"}
		data.forms["33"] = {"ditugu"}
		data.forms["34"] = {"dituzu"}
		data.forms["35"] = {"dituzue"}
		data.forms["36"] = {"dituzte"}
		
		-- indicative past (ni)
		data.forms["37a"] = {"ninduan"}
		data.forms["37b"] = {"nindunan"}
		data.forms["38"] = {"ninduen"}
		data.forms["39"] = {"ninduzun"}
		data.forms["40"] = {"ninduzuen"}
		data.forms["41"] = {"ninduten"}		
		-- (hi)
		data.forms["42"] = {"hindudan"}
		data.forms["43"] = {"hinduen"}
		data.forms["44"] = {"hindugun"}
		data.forms["45"] = {"hinduten"}
		-- (hura)
		data.forms["46"] = {"nuen"}
		data.forms["47"] = {"huen"}
		data.forms["48"] = {"zuen"}
		data.forms["49"] = {"genuen"}
		data.forms["50"] = {"zenuen"}
		data.forms["51"] = {"zenuten"}
		data.forms["52"] = {"zuten"}
		-- (gu)
		data.forms["53a"] = {"gintuan"}
		data.forms["53b"] = {"gintunan"}
		data.forms["54"] = {"gintuen"}
		data.forms["55"] = {"gintuzun"}
		data.forms["56"] = {"gintuzuen"}
		data.forms["57"] = {"gintuzten"}
		-- (zu)
		data.forms["58"] = {"zintudan"}
		data.forms["59"] = {"zintuen"}
		data.forms["60"] = {"zintugun"}
		data.forms["61"] = {"zintuzten"}
		-- (zuek)
		data.forms["62"] = {"zintuztedan"}
		data.forms["63"] = {"zintuzten"}
		data.forms["64"] = {"zintuztegun"}
		data.forms["65"] = {"zintuzteten"}
		-- (haiek)
		data.forms["66"] = {"nituen"}
		data.forms["67"] = {"hituen"}
		data.forms["68"] = {"zituen"}
		data.forms["69"] = {"genituen"}
		data.forms["70"] = {"zenituen"}
		data.forms["71"] = {"zenituzten"}
		data.forms["72"] = {"zituzten"}
		
		-- indicative conditional (ni)
		data.forms["73a"] = {"baninduk"}
		data.forms["73b"] = {"banindun"}
		data.forms["74"] = {"banindu"}
		data.forms["75"] = {"baninduzu"}
		data.forms["76"] = {"baninduzue"}
		data.forms["77"] = {"banindute"}		
		-- (hi)
		data.forms["78"] = {"bahindut"}
		data.forms["79"] = {"bahindu"}
		data.forms["80"] = {"bahindugu"}
		data.forms["81"] = {"bahindute"}
		-- (hura)
		data.forms["82"] = {"banu"}
		data.forms["83"] = {"bahu"}
		data.forms["84"] = {"balu"}
		data.forms["85"] = {"bagenu"}
		data.forms["86"] = {"bazenu"}
		data.forms["87"] = {"bazenute"}
		data.forms["88"] = {"balute"}
		-- (gu)
		data.forms["89a"] = {"bagintuk"}
		data.forms["89b"] = {"bagintun"}
		data.forms["90"] = {"bagintu"}
		data.forms["91"] = {"bagintuzu"}
		data.forms["92"] = {"bagintuzue"}
		data.forms["93"] = {"bagintuzte"}
		-- (zu)
		data.forms["94"] = {"bazintut"}
		data.forms["95"] = {"bazintu"}
		data.forms["96"] = {"bazintugu"}
		data.forms["97"] = {"bazintuzte"}
		-- (zuek)
		data.forms["98"] = {"bazintuztet"}
		data.forms["99"] = {"bazintuzte"}
		data.forms["100"] = {"bazintuztegu"}
		data.forms["101"] = {"bazintuztete"}
		-- (haiek)
		data.forms["102"] = {"banitu"}
		data.forms["103"] = {"bahitu"}
		data.forms["104"] = {"balitu"}
		data.forms["105"] = {"bagenitu"}
		data.forms["106"] = {"bazenitu"}
		data.forms["107"] = {"bazenituzte"}
		data.forms["108"] = {"balituzte"}

		-- indicative hypothetic consequence (ni)
		data.forms["109a"] = {"nindukek"}
		data.forms["109b"] = {"ninduken"}
		data.forms["110"] = {"ninduke"}
		data.forms["111"] = {"nindukezu"}
		data.forms["112"] = {"nindukezue"}
		data.forms["113"] = {"nindukete"}		
		-- (hi)
		data.forms["114"] = {"hinduket"}
		data.forms["115"] = {"hinduke"}
		data.forms["116"] = {"hindukegu"}
		data.forms["117"] = {"hindukete"}
		-- (hura)
		data.forms["118"] = {"nuke"}
		data.forms["119"] = {"huke"}
		data.forms["120"] = {"luke"}
		data.forms["121"] = {"genuke"}
		data.forms["122"] = {"zenuke"}
		data.forms["123"] = {"zenukete"}
		data.forms["124"] = {"lukete"}
		-- (gu)
		data.forms["125a"] = {"gintuzkek"}
		data.forms["125b"] = {"gintuzken"}
		data.forms["126"] = {"gintuzke"}
		data.forms["127"] = {"gintuzkezu"}
		data.forms["128"] = {"gintuzkezue"}
		data.forms["129"] = {"gintuzkete"}
		-- (zu)
		data.forms["130"] = {"zintuzket"}
		data.forms["131"] = {"zintuzke"}
		data.forms["132"] = {"zintuzkegu"}
		data.forms["133"] = {"zintuzkete"}
		-- (zuek)
		data.forms["134"] = {"zintuzketet"}
		data.forms["135"] = {"zintuzkete"}
		data.forms["136"] = {"zintuzketegu"}
		data.forms["137"] = {"zintuzketete"}
		-- (haiek)
		data.forms["138"] = {"nituzke"}
		data.forms["139"] = {"hituzke"}
		data.forms["140"] = {"lituzke"}
		data.forms["141"] = {"genituzke"}
		data.forms["142"] = {"zenituzke"}
		data.forms["143"] = {"zenituzkete"}
		data.forms["144"] = {"lituzkete"}
		
		-- indicative past consequence (ni)
		data.forms["145a"] = {"nindukean"}
		data.forms["145b"] = {"nindukenan"}
		data.forms["146"] = {"nindukeen"}
		data.forms["147"] = {"nindukezun"}
		data.forms["148"] = {"nindukezuen"}
		data.forms["149"] = {"ninduketen"}		
		-- (hi)
		data.forms["150"] = {"hindukedan"}
		data.forms["151"] = {"hindukeen"}
		data.forms["152"] = {"hindukegun"}
		data.forms["153"] = {"hinduketen"}
		-- (hura)
		data.forms["154"] = {"nukeen"}
		data.forms["155"] = {"hukeen"}
		data.forms["156"] = {"zukeen"}
		data.forms["157"] = {"genukeen"}
		data.forms["158"] = {"zenukeen"}
		data.forms["159"] = {"zenuketen"}
		data.forms["160"] = {"zuketen"}
		-- (gu)
		data.forms["161a"] = {"gintuzkean"}
		data.forms["161b"] = {"gintuzkenan"}
		data.forms["162"] = {"gintuzkeen"}
		data.forms["163"] = {"gintuzkezun"}
		data.forms["164"] = {"gintuzkezuen"}
		data.forms["165"] = {"gintuzketen"}
		-- (zu)
		data.forms["166"] = {"zintuzkedan"}
		data.forms["167"] = {"zintuzkeen"}
		data.forms["168"] = {"zintuzkegun"}
		data.forms["169"] = {"zintuzketen"}
		-- (zuek)
		data.forms["170"] = {"zintuzketedan"}
		data.forms["171"] = {"zintuzketen"}
		data.forms["172"] = {"zintuzketegun"}
		data.forms["173"] = {"zintuzketeten"}
		-- (haiek)
		data.forms["174"] = {"nituzkeen"}
		data.forms["175"] = {"hituzkeen"}
		data.forms["176"] = {"zituzkeen"}
		data.forms["177"] = {"genituzkeen"}
		data.forms["178"] = {"zenituzkeen"}
		data.forms["179"] = {"zenituzketen"}
		data.forms["180"] = {"zituzketen"}
		
		-- indicative present potential (ni)
		data.forms["181a"] = {"nazakek"}
		data.forms["181b"] = {"nazaken"}
		data.forms["182"] = {"nazake"}
		data.forms["183"] = {"nazakezu"}
		data.forms["184"] = {"nazakezue"}
		data.forms["185"] = {"nazakete"}
		-- (hi)
		data.forms["186"] = {"hazaket"}
		data.forms["187"] = {"hazake"}
		data.forms["188"] = {"hazakegu"}
		data.forms["189"] = {"hazakete"}
		-- (hura)
		data.forms["190"] = {"dezaket"}
		data.forms["191a"] = {"dezakek"}
		data.forms["191b"] = {"dezaken"}
		data.forms["192"] = {"dezake"}
		data.forms["193"] = {"dezakegu"}
		data.forms["194"] = {"dezakezu"}
		data.forms["195"] = {"dezakezue"}
		data.forms["196"] = {"dezakete"}
		-- (gu)
		data.forms["197a"] = {"gaitzakek"}
		data.forms["197b"] = {"gaitzaken"}
		data.forms["198"] = {"gaitzake"}
		data.forms["199"] = {"gaitzakezu"}
		data.forms["200"] = {"gaitzakezue"}
		data.forms["201"] = {"gaitzakete"}
		-- (zu)
		data.forms["202"] = {"zaitzaket"}
		data.forms["203"] = {"zaitzake"}
		data.forms["204"] = {"zaitzakegu"}
		data.forms["205"] = {"zaitzakete"}
		-- (zuek)
		data.forms["206"] = {"zaitzaketet"}
		data.forms["207"] = {"zaitzakete"}
		data.forms["208"] = {"zaitzaketegu"}
		data.forms["209"] = {"zaitzaketete"}
		-- (haiek)
		data.forms["210"] = {"ditzaket"}
		data.forms["211a"] = {"ditzakek"}
		data.forms["211b"] = {"ditzaken"}
		data.forms["212"] = {"ditzake"}
		data.forms["213"] = {"ditzakegu"}
		data.forms["214"] = {"ditzakezu"}
		data.forms["215"] = {"ditzakezue"}
		data.forms["216"] = {"ditzakete"}
		
		-- indicative hypothetic potential (ni)
		data.forms["217a"] = {"nintzakek"}
		data.forms["217b"] = {"nintzaken"}
		data.forms["218"] = {"nintzake"}
		data.forms["219"] = {"nintzakezu"}
		data.forms["220"] = {"nintzakezue"}
		data.forms["221"] = {"nintzakete"}
		-- (hi)
		data.forms["222"] = {"hintzaket"}
		data.forms["223"] = {"hintzake"}
		data.forms["224"] = {"hintzakegu"}
		data.forms["225"] = {"hintzakete"}
		-- (hura)
		data.forms["226"] = {"nezake"}
		data.forms["227"] = {"hezake"}
		data.forms["228"] = {"lezake"}
		data.forms["229"] = {"genezake"}
		data.forms["230"] = {"zenezake"}
		data.forms["231"] = {"zenezakete"}
		data.forms["232"] = {"lezakete"}
		-- (gu)
		data.forms["233a"] = {"gintzakek"}
		data.forms["233b"] = {"gintzaken"}
		data.forms["234"] = {"gintzake"}
		data.forms["235"] = {"gintzakezu"}
		data.forms["236"] = {"gintzakezue"}
		data.forms["237"] = {"gintzakete"}
		-- (zu)
		data.forms["238"] = {"zintzaket"}
		data.forms["239"] = {"zintzake"}
		data.forms["240"] = {"zintzakegu"}
		data.forms["241"] = {"zintzakete"}
		-- (zuek)
		data.forms["242"] = {"zintzaketet"}
		data.forms["243"] = {"zintzakete"}
		data.forms["244"] = {"zintzaketegu"}
		data.forms["245"] = {"zintzaketete"}
		-- (haiek)
		data.forms["246"] = {"nitzake"}
		data.forms["247"] = {"hitzake"}
		data.forms["248"] = {"litzake"}
		data.forms["249"] = {"genitzake"}
		data.forms["250"] = {"zenitzake"}
		data.forms["251"] = {"zenitzakete"}
		data.forms["252"] = {"litzakete"}
		
		-- indicative past potential (ni)
		data.forms["253a"] = {"nintzakean"}
		data.forms["253b"] = {"nintzakenan"}
		data.forms["254"] = {"nintzakeen"}
		data.forms["255"] = {"nintzakezun"}
		data.forms["256"] = {"nintzakezuen"}
		data.forms["257"] = {"nintzaketen"}
		-- (hi)
		data.forms["258"] = {"hintzakedan"}
		data.forms["259"] = {"hintzakeen"}
		data.forms["260"] = {"hintzakegun"}
		data.forms["261"] = {"hintzaketen"}
		-- (hura)
		data.forms["262"] = {"nezakeen"}
		data.forms["263"] = {"hezakeen"}
		data.forms["264"] = {"zezakeen"}
		data.forms["265"] = {"genezakeen"}
		data.forms["266"] = {"zenezakeen"}
		data.forms["267"] = {"zenezaketen"}
		data.forms["268"] = {"zezaketen"}
		-- (gu)
		data.forms["269a"] = {"gintzakean"}
		data.forms["269b"] = {"gintzakenan"}
		data.forms["270"] = {"gintzakeen"}
		data.forms["271"] = {"gintzakezun"}
		data.forms["272"] = {"gintzakezuen"}
		data.forms["273"] = {"gintzaketen"}
		-- (zu)
		data.forms["274"] = {"zintzakedan"}
		data.forms["275"] = {"zintzakeen"}
		data.forms["276"] = {"zintzakegun"}
		data.forms["277"] = {"zintzaketen"}
		-- (zuek)
		data.forms["278"] = {"zintzaketedan"}
		data.forms["279"] = {"zintzaketen"}
		data.forms["280"] = {"zintzaketegun"}
		data.forms["281"] = {"zintzaketeten"}
		-- (haiek)
		data.forms["282"] = {"nitzakeen"}
		data.forms["283"] = {"hitzakeen"}
		data.forms["284"] = {"zitzakeen"}
		data.forms["285"] = {"genitzakeen"}
		data.forms["286"] = {"zenitzakeen"}
		data.forms["287"] = {"zenitzaketen"}
		data.forms["288"] = {"zitzaketen"}
		
		-- indicative present subjunctive (ni)
		data.forms["289a"] = {"nazaan"}
		data.forms["289b"] = {"nazanan"}
		data.forms["290"] = {"nazan"}
		data.forms["291"] = {"nazazun"}
		data.forms["292"] = {"nazazuen"}
		data.forms["293"] = {"nazaten"}
		data.forms["289ala"] = {"nazaala"}
		data.forms["289bla"] = {"nazanala"}
		data.forms["290la"] = {"nazala"}
		data.forms["291la"] = {"nazazula"}
		data.forms["292la"] = {"nazazuela"}
		data.forms["293la"] = {"nazatela"}
		-- (hi)
		data.forms["294"] = {"hazadan"}
		data.forms["295"] = {"hazan"}
		data.forms["296"] = {"hazagun"}
		data.forms["297"] = {"hazaten"}
		data.forms["294la"] = {"hazadala"}
		data.forms["295la"] = {"hazala"}
		data.forms["296la"] = {"hazagula"}
		data.forms["297la"] = {"hazatela"}
		-- (hura)
		data.forms["298"] = {"dezadan"}
		data.forms["299a"] = {"dezaan"}
		data.forms["299b"] = {"dezanan"}
		data.forms["300"] = {"dezan"}
		data.forms["301"] = {"dezagun"}
		data.forms["302"] = {"dezazun"}
		data.forms["303"] = {"dezazuen"}
		data.forms["304"] = {"dezaten"}
		data.forms["298la"] = {"dezadala"}
		data.forms["299ala"] = {"dezaala"}
		data.forms["299bla"] = {"dezanala"}
		data.forms["300la"] = {"dezala"}
		data.forms["301la"] = {"dezagula"}
		data.forms["302la"] = {"dezazula"}
		data.forms["303la"] = {"dezazuela"}
		data.forms["304la"] = {"dezatela"}
		-- (gu)
		data.forms["305a"] = {"gaitzaan"}
		data.forms["305b"] = {"gaitzanan"}
		data.forms["306"] = {"gaitzan"}
		data.forms["307"] = {"gaitzazun"}
		data.forms["308"] = {"gaitzazuen"}
		data.forms["309"] = {"gaitzaten"}
		data.forms["305ala"] = {"gaitzaala"}
		data.forms["305bla"] = {"gaitzanala"}
		data.forms["306la"] = {"gaitzala"}
		data.forms["307la"] = {"gaitzazula"}
		data.forms["308la"] = {"gaitzazuela"}
		data.forms["309la"] = {"gaitzatela"}
		-- (zu)
		data.forms["310"] = {"zaitzadan"}
		data.forms["311"] = {"zaitzan"}
		data.forms["312"] = {"zaitzagun"}
		data.forms["313"] = {"zaitzaten"}
		data.forms["310la"] = {"zaitzadala"}
		data.forms["311la"] = {"zaitzala"}
		data.forms["312la"] = {"zaitzagula"}
		data.forms["313la"] = {"zaitzatela"}
		-- (zuek)
		data.forms["314"] = {"zaitzatedan"}
		data.forms["315"] = {"zaitzaten"}
		data.forms["316"] = {"zaitzategun"}
		data.forms["317"] = {"zaitzateten"}
		data.forms["314la"] = {"zaitzatedala"}
		data.forms["315la"] = {"zaitzatela"}
		data.forms["316la"] = {"zaitzategula"}
		data.forms["317la"] = {"zaitzatetela"}
		-- (haiek)
		data.forms["318"] = {"ditzadan"}
		data.forms["319a"] = {"ditzaan"}
		data.forms["319b"] = {"ditzanan"}
		data.forms["320"] = {"ditzan"}
		data.forms["321"] = {"ditzagun"}
		data.forms["322"] = {"ditzazun"}
		data.forms["323"] = {"ditzazuen"}
		data.forms["324"] = {"ditzaten"}
		data.forms["318la"] = {"ditzadala"}
		data.forms["319ala"] = {"ditzaala"}
		data.forms["319bla"] = {"ditzanala"}
		data.forms["320la"] = {"ditzala"}
		data.forms["321la"] = {"ditzagula"}
		data.forms["322la"] = {"ditzazula"}
		data.forms["323la"] = {"ditzazuela"}
		data.forms["324la"] = {"ditzatela"}
		
		-- subjunctive past (ni)
		data.forms["325a"] = {"nintzaan"}
		data.forms["325b"] = {"nintzanan"}
		data.forms["326"] = {"nintzan"}
		data.forms["327"] = {"nintzazun"}
		data.forms["328"] = {"nintzazuen"}
		data.forms["329"] = {"nintzaten"}
		data.forms["325ala"] = {"nintzaala"}
		data.forms["325bla"] = {"nintzanala"}
		data.forms["326la"] = {"nintzala"}
		data.forms["327la"] = {"nintzazula"}
		data.forms["328la"] = {"nintzazuela"}
		data.forms["329la"] = {"nintzatela"}
		
		-- (hi)
		data.forms["330"] = {"hintzadan"}
		data.forms["331"] = {"hintzan"}
		data.forms["332"] = {"hintzagun"}
		data.forms["333"] = {"hintzaten"}
		data.forms["330la"] = {"hintzadala"}
		data.forms["331la"] = {"hintzala"}
		data.forms["332la"] = {"hintzagula"}
		data.forms["333la"] = {"hintzatela"}
		
		-- (hura)
		data.forms["334"] = {"nezan"}
		data.forms["335"] = {"hezan"}
		data.forms["336"] = {"zezan"}
		data.forms["336c"] = {"lezan"}
		data.forms["337"] = {"genezan"}		
		data.forms["338"] = {"zenezan"}		
		data.forms["339"] = {"zenezaten"}		
		data.forms["340"] = {"zezaten"}		
		data.forms["340c"] = {"lezaten"}	
		data.forms["334la"] = {"nezala"}
		data.forms["335la"] = {"hezala"}
		data.forms["336la"] = {"zezala"}
		data.forms["336cla"] = {"lezala"}
		data.forms["337la"] = {"genezala"}		
		data.forms["338la"] = {"zenezala"}		
		data.forms["339la"] = {"zenezatela"}		
		data.forms["340la"] = {"zezatela"}		
		data.forms["340cla"] = {"lezatela"}		
		
		-- (gu)
		data.forms["341a"] = {"gintzaan"}
		data.forms["341b"] = {"gintzanan"}
		data.forms["342"] = {"gintzan"}
		data.forms["343"] = {"gintzazun"}
		data.forms["344"] = {"gintzazuen"}
		data.forms["345"] = {"gintzaten"}
		data.forms["341ala"] = {"gintzaala"}
		data.forms["341bla"] = {"gintzanala"}
		data.forms["342la"] = {"gintzala"}
		data.forms["343la"] = {"gintzazula"}
		data.forms["344la"] = {"gintzazuela"}
		data.forms["345la"] = {"gintzatela"}
		-- (zu)
		data.forms["346"] = {"zintzadan"}
		data.forms["347"] = {"zintzan"}
		data.forms["348"] = {"zintzagun"}
		data.forms["349"] = {"zintzaten"}
		data.forms["346la"] = {"zintzadala"}
		data.forms["347la"] = {"zintzala"}
		data.forms["348la"] = {"zintzagula"}
		data.forms["349la"] = {"zintzatela"}
		-- (zuek)
		data.forms["350"] = {"zintzatedan"}
		data.forms["351"] = {"zintzaten"}
		data.forms["352"] = {"zintzategun"}
		data.forms["353"] = {"zintzateten"}
		data.forms["350la"] = {"zintzatedala"}
		data.forms["351la"] = {"zintzatela"}
		data.forms["352la"] = {"zintzategula"}
		data.forms["353la"] = {"zintzatetela"}
		-- (haiek)
		data.forms["354"] = {"nitzan"}
		data.forms["355"] = {"hitzan"}
		data.forms["356"] = {"zitzan"}
		data.forms["356c"] = {"litzan"}
		data.forms["357"] = {"genitzan"}
		data.forms["358"] = {"zenitzan"}
		data.forms["359"] = {"zenitzaten"}
		data.forms["360"] = {"zitzaten"}
		data.forms["360c"] = {"litzaten"}
		data.forms["354la"] = {"nitzala"}
		data.forms["355la"] = {"hitzala"}
		data.forms["356la"] = {"zitzala"}
		data.forms["356cla"] = {"litzala"}
		data.forms["357la"] = {"genitzala"}
		data.forms["358la"] = {"zenitzala"}
		data.forms["359la"] = {"zenitzatela"}
		data.forms["360la"] = {"zitzatela"}
		data.forms["360cla"] = {"litzatela"}
		
		-- imperative present (ni)
		data.forms["361a"] = {"nazak"}
		data.forms["361b"] = {"nazan"}
		data.forms["362"] = {"nazazu"}
		data.forms["363"] = {"nazazue"}

		-- (hura)
		data.forms["364a"] = {"ezak"}
		data.forms["364b"] = {"ezan"}
		data.forms["365"] = {"beza"}
		data.forms["366"] = {"ezazu"}
		data.forms["367"] = {"ezazue"}
		data.forms["368"] = {"bezate"}

		-- (gu)
		data.forms["369a"] = {"gaitzak"}
		data.forms["369b"] = {"gaitzan"}
		data.forms["370"] = {"gaitzazu"}
		data.forms["371"] = {"gaitzazue"}

		-- (haiek)
		data.forms["372a"] = {"itzak"}
		data.forms["372b"] = {"itzan"}
		data.forms["373"] = {"bitza"}
		data.forms["374"] = {"itzazu"}
		data.forms["375"] = {"itzazue"}
		data.forms["376"] = {"bitzate"}
		
		-- archaic indicative conditional (ni)
		data.forms["377a"] = {"banintzak"}
		data.forms["377b"] = {"banintzan"}
		data.forms["378"] = {"banintza"}
		data.forms["379"] = {"banintzazu"}
		data.forms["380"] = {"banintzazue"}
		data.forms["381"] = {"banintzate"}		
		-- (hi)
		data.forms["382"] = {"bahintzat"}
		data.forms["383"] = {"bahintza"}
		data.forms["384"] = {"bahintzagu"}
		data.forms["385"] = {"bahintzate"}
		-- (hura)
		data.forms["386"] = {"baneza"}
		data.forms["387"] = {"baheza"}
		data.forms["388"] = {"baleza"}
		data.forms["389"] = {"bageneza"}
		data.forms["390"] = {"bazeneza"}
		data.forms["391"] = {"bazenezate"}
		data.forms["392"] = {"balezate"}
		-- (gu)
		data.forms["393a"] = {"bagintzak"}
		data.forms["393b"] = {"bagintzan"}
		data.forms["394"] = {"bagintza"}
		data.forms["395"] = {"bagintzazu"}
		data.forms["396"] = {"bagintzazue"}
		data.forms["397"] = {"bagintzate"}
		-- (zu)
		data.forms["398"] = {"bazintzat"}
		data.forms["399"] = {"bazintza"}
		data.forms["400"] = {"bazintzagu"}
		data.forms["401"] = {"bazintzate"}
		-- (zuek)
		data.forms["402"] = {"bazintzatet"}
		data.forms["403"] = {"bazintzate"}
		data.forms["404"] = {"bazintzategu"}
		data.forms["405"] = {"bazintzatete"}
		-- (haiek)
		data.forms["406"] = {"banitza"}
		data.forms["407"] = {"bahitza"}
		data.forms["408"] = {"balitza"}
		data.forms["409"] = {"bagenitza"}
		data.forms["410"] = {"bazenitza"}
		data.forms["411"] = {"bazenitzate"}
		data.forms["412"] = {"balitzate"}
		
		-- archaic indicative present potential (ni)
		data.forms["413a"] = {"naukek"}
		data.forms["413b"] = {"nauken"}
		data.forms["414"] = {"nauke"}
		data.forms["415"] = {"naukezu"}
		data.forms["416"] = {"naukezue"}
		data.forms["417"] = {"naukete"}
		-- (hi)
		data.forms["418"] = {"hauket"}
		data.forms["419"] = {"hauke"}
		data.forms["420"] = {"haukegu"}
		data.forms["421"] = {"haukete"}
		-- (hura)
		data.forms["422"] = {"duket"}
		data.forms["423a"] = {"dukek"}
		data.forms["423b"] = {"duken"}
		data.forms["424"] = {"duke"}
		data.forms["425"] = {"dukegu"}
		data.forms["426"] = {"dukezu"}
		data.forms["427"] = {"dukezue"}
		data.forms["428"] = {"dukete"}
		-- (gu)
		data.forms["429a"] = {"gaituzkek"}
		data.forms["429b"] = {"gaituzken"}
		data.forms["430"] = {"gaituzke"}
		data.forms["431"] = {"gaituzkezu"}
		data.forms["432"] = {"gaituzkezue"}
		data.forms["433"] = {"gaituzkete"}
		-- (zu)
		data.forms["434"] = {"zaituzket"}
		data.forms["435"] = {"zaituzke"}
		data.forms["436"] = {"zaituzkegu"}
		data.forms["437"] = {"zaituzkete"}
		-- (zuek)
		data.forms["438"] = {"zaituzketet"}
		data.forms["439"] = {"zaituzkete"}
		data.forms["440"] = {"zaituzketegu"}
		data.forms["441"] = {"zaituzketete"}
		-- (haiek)
		data.forms["442"] = {"dituzket"}
		data.forms["443a"] = {"dituzkek"}
		data.forms["443b"] = {"dituzken"}
		data.forms["444"] = {"dituzke"}
		data.forms["445"] = {"dituzkegu"}
		data.forms["446"] = {"dituzkezu"}
		data.forms["447"] = {"dituzkezue"}
		data.forms["448"] = {"dituzkete"}
		
		-- archaic proximal conditional (ni)
		data.forms["449a"] = {"banazak"}
		data.forms["449b"] = {"banazan"}
		data.forms["450"] = {"banaza"}
		data.forms["451"] = {"banazazu"}
		data.forms["452"] = {"banazazue"}
		data.forms["453"] = {"banazate"}
		-- (hi)
		data.forms["454"] = {"bahazat"}
		data.forms["455"] = {"bahaza"}
		data.forms["456"] = {"bahazagu"}
		data.forms["457"] = {"bahazate"}
		-- (hura)
		data.forms["458"] = {"badezat"}
		data.forms["459a"] = {"badezak"}
		data.forms["459b"] = {"badezan"}
		data.forms["460"] = {"badeza"}
		data.forms["461"] = {"badezagu"}
		data.forms["462"] = {"badezazu"}
		data.forms["463"] = {"badezazue"}
		data.forms["464"] = {"badezate"}
		-- (gu)
		data.forms["465a"] = {"bagaitzak"}
		data.forms["465b"] = {"bagaitzan"}
		data.forms["466"] = {"bagaitza"}
		data.forms["467"] = {"bagaitzazu"}
		data.forms["468"] = {"bagaitzazue"}
		data.forms["469"] = {"bagaitzate"}
		-- (zu)
		data.forms["470"] = {"bazaitzat"}
		data.forms["471"] = {"bazaitza"}
		data.forms["472"] = {"bazaitzagu"}
		data.forms["473"] = {"bazaitzate"}
		-- (zuek)
		data.forms["474"] = {"bazaitzatet"}
		data.forms["475"] = {"bazaitzate"}
		data.forms["476"] = {"bazaitzategu"}
		data.forms["477"] = {"bazaitzatete"}
		-- (haiek)
		data.forms["478"] = {"baditzat"}
		data.forms["479a"] = {"baditzak"}
		data.forms["479b"] = {"baditzan"}
		data.forms["480"] = {"baditza"}
		data.forms["481"] = {"baditzagu"}
		data.forms["482"] = {"baditzazu"}
		data.forms["483"] = {"baditzazue"}
		data.forms["484"] = {"baditzate"}
	end
	
	--categories
	table.insert(data.categories, "Basque synthetic verbs")
	table.insert(data.categories, "Basque transitive verbs")

	if base == "eroan" then
		return m_tables.make_table(data, "nornork-eroan") .. m_utilities.format_categories(data.categories, lang)
	elseif base == "iharduki" or base == "irudi" or base == "iruditu" or base == "jardun" or base == "iraun" then
		return m_tables.make_table_nornork_sing(data) .. m_utilities.format_categories(data.categories, lang)
	elseif base == "igorri" or base == "utzi" or base == "irakatsi" or base == "erosi" then
		return m_tables.make_table_nornork_imp(data) .. m_utilities.format_categories(data.categories, lang)
	elseif base == "ezagutu" or base == "eduki" then
		return m_tables.make_table(data, "nornork-eduki") .. m_utilities.format_categories(data.categories, lang)
	elseif base == "izan" then
		return m_tables.make_table_nornork_complete(data) .. m_utilities.format_categories(data.categories, lang)
	else
		return m_tables.make_table_nornork(data) .. m_utilities.format_categories(data.categories, lang)
	end
end

function export.nornorinork(frame)
	local args = frame:getParent().args
		
	local data = {
		forms = {},
		info = "",
		categories = {},
	}
	
	-- add the lemma form
	local base = mw.title.getCurrentTitle().text
	
	data.info = m_links.full_link({lang = lang, alt = base}, "term")

	local st = ""
	local st2 = ""
	local t = "t"
	local r = ""
	local a1 = "a"
	local a2 = "a"
	local k = "k"

	if base == "utzi" then
		st = "uz"
		st2 = "utz"
	elseif base == "igorri" then
		st = "igor"
		st2 = "igor"
		t = "d"
		a1 = ""
		r = "r"
	elseif base == "erakutsi" then
		st = "erakus"
		st2 = "erakuts"
	elseif base == "irakatsi" then
		st = "irakas"
		st2 = "irakats"
	elseif base == "erosi" then
		st = "eros"
		st2 = "eros"
	end
	
	if t == "d" then
		k = "g"
	end
	
	-- imperative
	data.forms["i1sa"] = {st .. t .. "ak"}
	data.forms["i1sb"] = {st .. t .. "an"}
	data.forms["i1pa"] = {st2 .. a1 .. "zkidak"}
	data.forms["i1pb"] = {st2 .. a1 .. "zkidan"}
	data.forms["i2s"] = {st .. t .. a2 .. "zu"}
	data.forms["i2p"] = {st2 .. a1 .. "zkidazu"}
	data.forms["i3s"] = {st .. t .. a2 .. "zue"}
	data.forms["i3p"] = {st2 .. a1 .. "zkidazue"}
	data.forms["i4sa"] = {st2 .. r .. "iok"}
	data.forms["i4sb"] = {st2 .. r .. "ion"}
	data.forms["i4pa"] = {st2 .. a1 .. "zkiok"}
	data.forms["i4pb"] = {st2 .. a1 .. "zkion"}
	data.forms["i5s"] = {st2 .. r .. "iozu"}
	data.forms["i5p"] = {st2 .. a1 .. "zkiozu"}
	data.forms["i6s"] = {st2 .. r .. "iozue"}
	data.forms["i6p"] = {st2 .. a1 .. "zkiozue"}
	
	data.forms["i7sa"] = {st .. k .. "uk"}
	data.forms["i7sb"] = {st .. k .. "un"}
	data.forms["i7pa"] = {st2 .. a1 .. "zkiguk"}
	data.forms["i7pb"] = {st2 .. a1 .. "zkigun"}
	data.forms["i8s"] = {st .. k .. "uzu"}
	data.forms["i8p"] = {st2 .. a1 .. "zkiguzu"}
	data.forms["i9s"] = {st .. k .. "uzue"}
	data.forms["i9p"] = {st2 .. a1 .. "zkiguzue"}
	data.forms["i10sa"] = {st2 .. r .. "iek"}
	data.forms["i10sb"] = {st2 .. r .. "ien"}
	data.forms["i10pa"] = {st2 .. a1 .. "zkiek"}
	data.forms["i10pb"] = {st2 .. a1 .. "zkien"}
	data.forms["i11s"] = {st2 .. r .. "iezu"}
	data.forms["i11p"] = {st2 .. a1 .. "zkiezu"}
	data.forms["i12s"] = {st2 .. r .. "iezue"}
	data.forms["i12p"] = {st2 .. a1 .. "zkiezue"}
	
	--izan (NOT DONE)
	if base == "izan" then
		-- indicative present (ni)
		data.forms["1a"] = {"nauk"}
		data.forms["1b"] = {"naun"}
		data.forms["2"] = {"nau"}
		data.forms["3"] = {"nauzu"}
		data.forms["4"] = {"nauzue"}
		data.forms["5"] = {"naute"}
		-- (hi)
		data.forms["6"] = {"haut"}
		data.forms["7"] = {"hau"}
		data.forms["8"] = {"haugu"}
		data.forms["9"] = {"haute"}
		-- (hura)
		data.forms["10"] = {"dut"}
		data.forms["11a"] = {"duk"}
		data.forms["11b"] = {"dun"}
		data.forms["12"] = {"du"}
		data.forms["13"] = {"dugu"}		
		data.forms["14"] = {"duzu"}		
		data.forms["15"] = {"duzue"}		
		data.forms["16"] = {"dute"}		
		-- (gu)
		data.forms["17a"] = {"gaituk"}
		data.forms["17b"] = {"gaitun"}
		data.forms["18"] = {"gaitu"}
		data.forms["19"] = {"gaituzu"}
		data.forms["20"] = {"gaituzue"}
		data.forms["21"] = {"gaituzte"}
		-- (zu)
		data.forms["22"] = {"zaitut"}
		data.forms["23"] = {"zaitu"}
		data.forms["24"] = {"zaitugu"}
		data.forms["25"] = {"zaituzte"}
		-- (zuek)
		data.forms["26"] = {"zaituztet"}
		data.forms["27"] = {"zaituzte"}
		data.forms["28"] = {"zaituztegu"}
		data.forms["29"] = {"zaituztete"}
		-- (haiek)
		data.forms["30"] = {"ditut"}
		data.forms["31a"] = {"dituk"}
		data.forms["31b"] = {"ditun"}
		data.forms["32"] = {"ditu"}
		data.forms["33"] = {"ditugu"}
		data.forms["34"] = {"dituzu"}
		data.forms["35"] = {"dituzue"}
		data.forms["36"] = {"dituzte"}
		
		-- indicative past (ni)
		data.forms["37a"] = {"ninduan"}
		data.forms["37b"] = {"nindunan"}
		data.forms["38"] = {"ninduen"}
		data.forms["39"] = {"ninduzun"}
		data.forms["40"] = {"ninduzuen"}
		data.forms["41"] = {"ninduten"}		
		-- (hi)
		data.forms["42"] = {"hindudan"}
		data.forms["43"] = {"hinduen"}
		data.forms["44"] = {"hindugun"}
		data.forms["45"] = {"hinduten"}
		-- (hura)
		data.forms["46"] = {"nuen"}
		data.forms["47"] = {"huen"}
		data.forms["48"] = {"zuen"}
		data.forms["49"] = {"genuen"}
		data.forms["50"] = {"zenuen"}
		data.forms["51"] = {"zenuten"}
		data.forms["52"] = {"zuten"}
		-- (gu)
		data.forms["53a"] = {"gintuan"}
		data.forms["53b"] = {"gintunan"}
		data.forms["54"] = {"gintuen"}
		data.forms["55"] = {"gintuzun"}
		data.forms["56"] = {"gintuzuen"}
		data.forms["57"] = {"gintuzten"}
		-- (zu)
		data.forms["58"] = {"zintudan"}
		data.forms["59"] = {"zintuen"}
		data.forms["60"] = {"zintugun"}
		data.forms["61"] = {"zintuzten"}
		-- (zuek)
		data.forms["62"] = {"zintuztedan"}
		data.forms["63"] = {"zintuzten"}
		data.forms["64"] = {"zintuztegun"}
		data.forms["65"] = {"zintuzteten"}
		-- (haiek)
		data.forms["66"] = {"nituen"}
		data.forms["67"] = {"hituen"}
		data.forms["68"] = {"zituen"}
		data.forms["69"] = {"genituen"}
		data.forms["70"] = {"zenituen"}
		data.forms["71"] = {"zenituzten"}
		data.forms["72"] = {"zituzten"}
		
		-- indicative conditional (ni)
		data.forms["73a"] = {"baninduk"}
		data.forms["73b"] = {"banindun"}
		data.forms["74"] = {"banindu"}
		data.forms["75"] = {"baninduzu"}
		data.forms["76"] = {"baninduzue"}
		data.forms["77"] = {"banindute"}		
		-- (hi)
		data.forms["78"] = {"bahindut"}
		data.forms["79"] = {"bahindu"}
		data.forms["80"] = {"bahindugu"}
		data.forms["81"] = {"bahindute"}
		-- (hura)
		data.forms["82"] = {"banu"}
		data.forms["83"] = {"bahu"}
		data.forms["84"] = {"balu"}
		data.forms["85"] = {"bagenu"}
		data.forms["86"] = {"bazenu"}
		data.forms["87"] = {"bazenute"}
		data.forms["88"] = {"balute"}
		-- (gu)
		data.forms["89a"] = {"bagintuk"}
		data.forms["89b"] = {"bagintun"}
		data.forms["90"] = {"bagintu"}
		data.forms["91"] = {"bagintuzu"}
		data.forms["92"] = {"bagintuzue"}
		data.forms["93"] = {"bagintuzte"}
		-- (zu)
		data.forms["94"] = {"bazintut"}
		data.forms["95"] = {"bazintu"}
		data.forms["96"] = {"bazintugu"}
		data.forms["97"] = {"bazintuzte"}
		-- (zuek)
		data.forms["98"] = {"bazintuztet"}
		data.forms["99"] = {"bazintuzte"}
		data.forms["100"] = {"bazintuztegu"}
		data.forms["101"] = {"bazintuztete"}
		-- (haiek)
		data.forms["102"] = {"banitu"}
		data.forms["103"] = {"bahitu"}
		data.forms["104"] = {"balitu"}
		data.forms["105"] = {"bagenitu"}
		data.forms["106"] = {"bazenitu"}
		data.forms["107"] = {"bazenituzte"}
		data.forms["108"] = {"balituzte"}

		-- indicative hypothetic consequence (ni)
		data.forms["109a"] = {"nindukek"}
		data.forms["109b"] = {"ninduken"}
		data.forms["110"] = {"ninduke"}
		data.forms["111"] = {"nindukezu"}
		data.forms["112"] = {"nindukezue"}
		data.forms["113"] = {"nindukete"}		
		-- (hi)
		data.forms["114"] = {"hinduket"}
		data.forms["115"] = {"hinduke"}
		data.forms["116"] = {"hindukegu"}
		data.forms["117"] = {"hindukete"}
		-- (hura)
		data.forms["118"] = {"nuke"}
		data.forms["119"] = {"huke"}
		data.forms["120"] = {"luke"}
		data.forms["121"] = {"genuke"}
		data.forms["122"] = {"zenuke"}
		data.forms["123"] = {"zenukete"}
		data.forms["124"] = {"lukete"}
		-- (gu)
		data.forms["125a"] = {"gintuzkek"}
		data.forms["125b"] = {"gintuzken"}
		data.forms["126"] = {"gintuzke"}
		data.forms["127"] = {"gintuzkezu"}
		data.forms["128"] = {"gintuzkezue"}
		data.forms["129"] = {"gintuzkete"}
		-- (zu)
		data.forms["130"] = {"zintuzket"}
		data.forms["131"] = {"zintuzke"}
		data.forms["132"] = {"zintuzkegu"}
		data.forms["133"] = {"zintuzkete"}
		-- (zuek)
		data.forms["134"] = {"zintuzketet"}
		data.forms["135"] = {"zintuzkete"}
		data.forms["136"] = {"zintuzketegu"}
		data.forms["137"] = {"zintuzketete"}
		-- (haiek)
		data.forms["138"] = {"nituzke"}
		data.forms["139"] = {"hituzke"}
		data.forms["140"] = {"lituzke"}
		data.forms["141"] = {"genituzke"}
		data.forms["142"] = {"zenituzke"}
		data.forms["143"] = {"zenituzkete"}
		data.forms["144"] = {"lituzkete"}
		
		-- indicative past consequence (ni)
		data.forms["145a"] = {"nindukean"}
		data.forms["145b"] = {"nindukenan"}
		data.forms["146"] = {"nindukeen"}
		data.forms["147"] = {"nindukezun"}
		data.forms["148"] = {"nindukezuen"}
		data.forms["149"] = {"ninduketen"}		
		-- (hi)
		data.forms["150"] = {"hindukedan"}
		data.forms["151"] = {"hindukeen"}
		data.forms["152"] = {"hindukegun"}
		data.forms["153"] = {"hinduketen"}
		-- (hura)
		data.forms["154"] = {"nukeen"}
		data.forms["155"] = {"hukeen"}
		data.forms["156"] = {"zukeen"}
		data.forms["157"] = {"genukeen"}
		data.forms["158"] = {"zenukeen"}
		data.forms["159"] = {"zenuketen"}
		data.forms["160"] = {"zuketen"}
		-- (gu)
		data.forms["161a"] = {"gintuzkean"}
		data.forms["161b"] = {"gintuzkenan"}
		data.forms["162"] = {"gintuzkeen"}
		data.forms["163"] = {"gintuzkezun"}
		data.forms["164"] = {"gintuzkezuen"}
		data.forms["165"] = {"gintuzketen"}
		-- (zu)
		data.forms["166"] = {"zintuzkedan"}
		data.forms["167"] = {"zintuzkeen"}
		data.forms["168"] = {"zintuzkegun"}
		data.forms["169"] = {"zintuzketen"}
		-- (zuek)
		data.forms["170"] = {"zintuzketedan"}
		data.forms["171"] = {"zintuzketen"}
		data.forms["172"] = {"zintuzketegun"}
		data.forms["173"] = {"zintuzketeten"}
		-- (haiek)
		data.forms["174"] = {"nituzkeen"}
		data.forms["175"] = {"hituzkeen"}
		data.forms["176"] = {"zituzkeen"}
		data.forms["177"] = {"genituzkeen"}
		data.forms["178"] = {"zenituzkeen"}
		data.forms["179"] = {"zenituzketen"}
		data.forms["180"] = {"zituzketen"}
		
		-- indicative present potential (ni)
		data.forms["181a"] = {"nazakek"}
		data.forms["181b"] = {"nazaken"}
		data.forms["182"] = {"nazake"}
		data.forms["183"] = {"nazakezu"}
		data.forms["184"] = {"nazakezue"}
		data.forms["185"] = {"nazakete"}
		-- (hi)
		data.forms["186"] = {"hazaket"}
		data.forms["187"] = {"hazake"}
		data.forms["188"] = {"hazakegu"}
		data.forms["189"] = {"hazakete"}
		-- (hura)
		data.forms["190"] = {"dezaket"}
		data.forms["191a"] = {"dezakek"}
		data.forms["191b"] = {"dezaken"}
		data.forms["192"] = {"dezake"}
		data.forms["193"] = {"dezakegu"}
		data.forms["194"] = {"dezakezu"}
		data.forms["195"] = {"dezakezue"}
		data.forms["196"] = {"dezakete"}
		-- (gu)
		data.forms["197a"] = {"gaitzakek"}
		data.forms["197b"] = {"gaitzaken"}
		data.forms["198"] = {"gaitzake"}
		data.forms["199"] = {"gaitzakezu"}
		data.forms["200"] = {"gaitzakezue"}
		data.forms["201"] = {"gaitzakete"}
		-- (zu)
		data.forms["202"] = {"zaitzaket"}
		data.forms["203"] = {"zaitzake"}
		data.forms["204"] = {"zaitzakegu"}
		data.forms["205"] = {"zaitzakete"}
		-- (zuek)
		data.forms["206"] = {"zaitzaketet"}
		data.forms["207"] = {"zaitzakete"}
		data.forms["208"] = {"zaitzaketegu"}
		data.forms["209"] = {"zaitzaketete"}
		-- (haiek)
		data.forms["210"] = {"ditzaket"}
		data.forms["211a"] = {"ditzakek"}
		data.forms["211b"] = {"ditzaken"}
		data.forms["212"] = {"ditzake"}
		data.forms["213"] = {"ditzakegu"}
		data.forms["214"] = {"ditzakezu"}
		data.forms["215"] = {"ditzakezue"}
		data.forms["216"] = {"ditzakete"}
		
		-- indicative hypothetic potential (ni)
		data.forms["217a"] = {"nintzakek"}
		data.forms["217b"] = {"nintzaken"}
		data.forms["218"] = {"nintzake"}
		data.forms["219"] = {"nintzakezu"}
		data.forms["220"] = {"nintzakezue"}
		data.forms["221"] = {"nintzakete"}
		-- (hi)
		data.forms["222"] = {"hintzaket"}
		data.forms["223"] = {"hintzake"}
		data.forms["224"] = {"hintzakegu"}
		data.forms["225"] = {"hintzakete"}
		-- (hura)
		data.forms["226"] = {"nezake"}
		data.forms["227"] = {"hezake"}
		data.forms["228"] = {"lezake"}
		data.forms["229"] = {"genezake"}
		data.forms["230"] = {"zenezake"}
		data.forms["231"] = {"zenezakete"}
		data.forms["232"] = {"lezakete"}
		-- (gu)
		data.forms["233a"] = {"gintzakek"}
		data.forms["233b"] = {"gintzaken"}
		data.forms["234"] = {"gintzake"}
		data.forms["235"] = {"gintzakezu"}
		data.forms["236"] = {"gintzakezue"}
		data.forms["237"] = {"gintzakete"}
		-- (zu)
		data.forms["238"] = {"zintzaket"}
		data.forms["239"] = {"zintzake"}
		data.forms["240"] = {"zintzakegu"}
		data.forms["241"] = {"zintzakete"}
		-- (zuek)
		data.forms["242"] = {"zintzaketet"}
		data.forms["243"] = {"zintzakete"}
		data.forms["244"] = {"zintzaketegu"}
		data.forms["245"] = {"zintzaketete"}
		-- (haiek)
		data.forms["246"] = {"nitzake"}
		data.forms["247"] = {"hitzake"}
		data.forms["248"] = {"litzake"}
		data.forms["249"] = {"genitzake"}
		data.forms["250"] = {"zenitzake"}
		data.forms["251"] = {"zenitzakete"}
		data.forms["252"] = {"litzakete"}
		
		-- indicative past potential (ni)
		data.forms["253a"] = {"nintzakean"}
		data.forms["253b"] = {"nintzakenan"}
		data.forms["254"] = {"nintzakeen"}
		data.forms["255"] = {"nintzakezun"}
		data.forms["256"] = {"nintzakezuen"}
		data.forms["257"] = {"nintzaketen"}
		-- (hi)
		data.forms["258"] = {"hintzakedan"}
		data.forms["259"] = {"hintzakeen"}
		data.forms["260"] = {"hintzakegun"}
		data.forms["261"] = {"hintzaketen"}
		-- (hura)
		data.forms["262"] = {"nezakeen"}
		data.forms["263"] = {"hezakeen"}
		data.forms["264"] = {"zezakeen"}
		data.forms["265"] = {"genezakeen"}
		data.forms["266"] = {"zenezakeen"}
		data.forms["267"] = {"zenezaketen"}
		data.forms["268"] = {"zezaketen"}
		-- (gu)
		data.forms["269a"] = {"gintzakean"}
		data.forms["269b"] = {"gintzakenan"}
		data.forms["270"] = {"gintzakeen"}
		data.forms["271"] = {"gintzakezun"}
		data.forms["272"] = {"gintzakezuen"}
		data.forms["273"] = {"gintzaketen"}
		-- (zu)
		data.forms["274"] = {"zintzakedan"}
		data.forms["275"] = {"zintzakeen"}
		data.forms["276"] = {"zintzakegun"}
		data.forms["277"] = {"zintzaketen"}
		-- (zuek)
		data.forms["278"] = {"zintzaketedan"}
		data.forms["279"] = {"zintzaketen"}
		data.forms["280"] = {"zintzaketegun"}
		data.forms["281"] = {"zintzaketeten"}
		-- (haiek)
		data.forms["282"] = {"nitzakeen"}
		data.forms["283"] = {"hitzakeen"}
		data.forms["284"] = {"zitzakeen"}
		data.forms["285"] = {"genitzakeen"}
		data.forms["286"] = {"zenitzakeen"}
		data.forms["287"] = {"zenitzaketen"}
		data.forms["288"] = {"zitzaketen"}
		
		-- indicative present subjunctive (ni)
		data.forms["289a"] = {"nazaan"}
		data.forms["289b"] = {"nazanan"}
		data.forms["290"] = {"nazan"}
		data.forms["291"] = {"nazazun"}
		data.forms["292"] = {"nazazuen"}
		data.forms["293"] = {"nazaten"}
		-- (hi)
		data.forms["294"] = {"hazadan"}
		data.forms["295"] = {"hazan"}
		data.forms["296"] = {"hazagun"}
		data.forms["297"] = {"hazaten"}
		-- (hura)
		data.forms["298"] = {"dezadan"}
		data.forms["299a"] = {"dezaan"}
		data.forms["299b"] = {"dezanan"}
		data.forms["300"] = {"dezan"}
		data.forms["301"] = {"dezagun"}
		data.forms["302"] = {"dezazun"}
		data.forms["303"] = {"dezazuen"}
		data.forms["304"] = {"dezaten"}
		-- (gu)
		data.forms["305a"] = {"gaitzaan"}
		data.forms["305b"] = {"gaitzanan"}
		data.forms["306"] = {"gaitzan"}
		data.forms["307"] = {"gaitzazun"}
		data.forms["308"] = {"gaitzazuen"}
		data.forms["309"] = {"gaitzaten"}
		-- (zu)
		data.forms["310"] = {"zaitzadan"}
		data.forms["311"] = {"zaitzan"}
		data.forms["312"] = {"zaitzagun"}
		data.forms["313"] = {"zaitzaten"}
		-- (zuek)
		data.forms["314"] = {"zaitzatedan"}
		data.forms["315"] = {"zaitzaten"}
		data.forms["316"] = {"zaitzategun"}
		data.forms["317"] = {"zaitzateten"}
		-- (haiek)
		data.forms["318"] = {"ditzadan"}
		data.forms["319a"] = {"ditzaan"}
		data.forms["319b"] = {"ditzanan"}
		data.forms["320"] = {"ditzan"}
		data.forms["321"] = {"ditzagun"}
		data.forms["322"] = {"ditzazun"}
		data.forms["323"] = {"ditzazuen"}
		data.forms["324"] = {"ditzaten"}
		
		-- subjunctive past (ni)
		data.forms["325a"] = {"nintzaan"}
		data.forms["325b"] = {"nintzanan"}
		data.forms["326"] = {"nintzan"}
		data.forms["327"] = {"nintzazun"}
		data.forms["328"] = {"nintzazuen"}
		data.forms["329"] = {"nintzaten"}
		-- (hi)
		data.forms["330"] = {"hintzadan"}
		data.forms["331"] = {"hintzan"}
		data.forms["332"] = {"hintzagun"}
		data.forms["333"] = {"hintzaten"}
		-- (hura)
		data.forms["334"] = {"nezan"}
		data.forms["335"] = {"hezan"}
		data.forms["336"] = {"zezan"}
		data.forms["337"] = {"genezan"}		
		data.forms["338"] = {"zenezan"}		
		data.forms["339"] = {"zenezaten"}		
		data.forms["340"] = {"zezaten"}		
		-- (gu)
		data.forms["341a"] = {"gintzaan"}
		data.forms["341b"] = {"gintzanan"}
		data.forms["342"] = {"gintzan"}
		data.forms["343"] = {"gintzazun"}
		data.forms["344"] = {"gintzazuen"}
		data.forms["345"] = {"gintzaten"}
		-- (zu)
		data.forms["346"] = {"zintzadan"}
		data.forms["347"] = {"zintzan"}
		data.forms["348"] = {"zintzagun"}
		data.forms["349"] = {"zintzaten"}
		-- (zuek)
		data.forms["350"] = {"zintzatedan"}
		data.forms["351"] = {"zintzaten"}
		data.forms["352"] = {"zintzategun"}
		data.forms["353"] = {"zintzateten"}
		-- (haiek)
		data.forms["354"] = {"nitzan"}
		data.forms["355"] = {"hitzan"}
		data.forms["356"] = {"zitzan"}
		data.forms["357"] = {"genitzan"}
		data.forms["358"] = {"zenitzan"}
		data.forms["359"] = {"zenitzaten"}
		data.forms["360"] = {"zitzaten"}
		
		-- imperative present (ni)
		data.forms["361a"] = {"nazak"}
		data.forms["361b"] = {"nazan"}
		data.forms["362"] = {"nazazu"}
		data.forms["363"] = {"nazazue"}

		-- (hura)
		data.forms["364a"] = {"ezak"}
		data.forms["364b"] = {"ezan"}
		data.forms["365"] = {"beza"}
		data.forms["366"] = {"ezazu"}
		data.forms["367"] = {"ezazue"}
		data.forms["368"] = {"bezate"}

		-- (gu)
		data.forms["369a"] = {"gaitzak"}
		data.forms["369b"] = {"gaitzan"}
		data.forms["370"] = {"gaitzazu"}
		data.forms["371"] = {"gaitzazue"}

		-- (haiek)
		data.forms["372a"] = {"itzak"}
		data.forms["372b"] = {"itzan"}
		data.forms["373"] = {"bitza"}
		data.forms["374"] = {"itzazu"}
		data.forms["375"] = {"itzazue"}
		data.forms["376"] = {"bitzate"}
		
		-- archaic indicative conditional (ni)
		data.forms["377a"] = {"banintzak"}
		data.forms["377b"] = {"banintzan"}
		data.forms["378"] = {"banintza"}
		data.forms["379"] = {"banintzazu"}
		data.forms["380"] = {"banintzazue"}
		data.forms["381"] = {"banintzate"}		
		-- (hi)
		data.forms["382"] = {"bahintzat"}
		data.forms["383"] = {"bahintza"}
		data.forms["384"] = {"bahintzagu"}
		data.forms["385"] = {"bahintzate"}
		-- (hura)
		data.forms["386"] = {"baneza"}
		data.forms["387"] = {"baheza"}
		data.forms["388"] = {"baleza"}
		data.forms["389"] = {"bageneza"}
		data.forms["390"] = {"bazeneza"}
		data.forms["391"] = {"bazenezate"}
		data.forms["392"] = {"balezate"}
		-- (gu)
		data.forms["393a"] = {"bagintzak"}
		data.forms["393b"] = {"bagintzan"}
		data.forms["394"] = {"bagintza"}
		data.forms["395"] = {"bagintzazu"}
		data.forms["396"] = {"bagintzazue"}
		data.forms["397"] = {"bagintzate"}
		-- (zu)
		data.forms["398"] = {"bazintzat"}
		data.forms["399"] = {"bazintza"}
		data.forms["400"] = {"bazintzagu"}
		data.forms["401"] = {"bazintzate"}
		-- (zuek)
		data.forms["402"] = {"bazintzatet"}
		data.forms["403"] = {"bazintzate"}
		data.forms["404"] = {"bazintzategu"}
		data.forms["405"] = {"bazintzatete"}
		-- (haiek)
		data.forms["406"] = {"banitza"}
		data.forms["407"] = {"bahitza"}
		data.forms["408"] = {"balitza"}
		data.forms["409"] = {"bagenitza"}
		data.forms["410"] = {"bazenitza"}
		data.forms["411"] = {"bazenitzate"}
		data.forms["412"] = {"balitzate"}
		
		-- archaic indicative present potential (ni)
		data.forms["413a"] = {"naukek"}
		data.forms["413b"] = {"nauken"}
		data.forms["414"] = {"nauke"}
		data.forms["415"] = {"naukezu"}
		data.forms["416"] = {"naukezue"}
		data.forms["417"] = {"naukete"}
		-- (hi)
		data.forms["418"] = {"hauket"}
		data.forms["419"] = {"hauke"}
		data.forms["420"] = {"haukegu"}
		data.forms["421"] = {"haukete"}
		-- (hura)
		data.forms["422"] = {"duket"}
		data.forms["423a"] = {"dukek"}
		data.forms["423b"] = {"duken"}
		data.forms["424"] = {"duke"}
		data.forms["425"] = {"dukegu"}
		data.forms["426"] = {"dukezu"}
		data.forms["427"] = {"dukezue"}
		data.forms["428"] = {"dukete"}
		-- (gu)
		data.forms["429a"] = {"gaituzkek"}
		data.forms["429b"] = {"gaituzken"}
		data.forms["430"] = {"gaituzke"}
		data.forms["431"] = {"gaituzkezu"}
		data.forms["432"] = {"gaituzkezue"}
		data.forms["433"] = {"gaituzkete"}
		-- (zu)
		data.forms["434"] = {"zaituzket"}
		data.forms["435"] = {"zaituzke"}
		data.forms["436"] = {"zaituzkegu"}
		data.forms["437"] = {"zaituzkete"}
		-- (zuek)
		data.forms["438"] = {"zaituzketet"}
		data.forms["439"] = {"zaituzkete"}
		data.forms["440"] = {"zaituzketegu"}
		data.forms["441"] = {"zaituzketete"}
		-- (haiek)
		data.forms["442"] = {"dituzket"}
		data.forms["443a"] = {"dituzkek"}
		data.forms["443b"] = {"dituzken"}
		data.forms["444"] = {"dituzke"}
		data.forms["445"] = {"dituzkegu"}
		data.forms["446"] = {"dituzkezu"}
		data.forms["447"] = {"dituzkezue"}
		data.forms["448"] = {"dituzkete"}
	end
	
	--categories
	table.insert(data.categories, "Basque synthetic verbs")
	table.insert(data.categories, "Basque transitive verbs")

	if  base == "utzi" or base == "igorri" or base == "erakutsi" or base == "irakatsi" or base == "erosi" then
		return m_tables.make_table(data, "nornorinork_imp") .. m_utilities.format_categories(data.categories, lang)
	end
end

-- Make the table
function make_table_nor(data)
	local function repl(param)
		if param == "info" then
			return mw.getContentLanguage():ucfirst(data.info or "")
		end
		
		local forms = data.forms[param]
		if not forms then
			return "—"
		end
		
		local ret = {}
		for key, subform in ipairs(forms) do
			table.insert(ret, m_links.full_link({lang = lang, term = subform}))
		end
		return table.concat(ret, "<br/>")
	end
	
	local wikicode = [=[
<div class="NavFrame" style="clear:both;width:80%;">
<div class="NavHead" align=left>&nbsp;&nbsp; {{{info}}} ― NOR paradigm </div>
<div class="NavContent" align="center">
{| style="background:#F9F9F9;width:100%;border-collapse:separate;border-spacing:2px;" class="inflection-table"
|- style="background:#DEDEDE;"
! colspan="2" rowspan="3" style="width:23%;vertical-align:bottom;" | Mood / Tense
! colspan="7" style="width:77%;" | NOR (absolutive)
|- style="background:#DEDEDE;"
! style="width:11%;" | <abbr title="first-person singular">1st sg</abbr>
! style="width:11%;" | <abbr title="second-person singular informal">2nd sg inf.</abbr>
! style="width:11%;" | <abbr title="third-person singular">3rd sg</abbr>
! style="width:11%;" | <abbr title="first-person plural">1st pl</abbr>
! style="width:11%;" | <abbr title="second-person singular">2nd sg</abbr>
! style="width:11%;" | <abbr title="second-person plural">2nd pl</abbr>
! style="width:11%;" | <abbr title="third-person plural">3rd pl</abbr>
|- style="background:#ECECEC;"
! ni !! hi !! hura !! gu !! zu !! zuek !! haiek
|-
! rowspan="5" style="background:#c0cfe4;width:11.5%;" | indicative
! style="background:#ECECEC;width:11.5%;" | present
| {{{1}}}
| {{{2}}}
| {{{3}}}
| {{{4}}}
| {{{5}}}
| {{{6}}}
| {{{7}}}
|-
! style="background:#ECECEC;" | past
| {{{8}}}
| {{{9}}}
| {{{10}}}
| {{{11}}}
| {{{12}}}
| {{{13}}}
| {{{14}}}
|-
! style="background:#ECECEC;" | conditional
| {{{15}}}
| {{{16}}}
| {{{17}}}
| {{{18}}}
| {{{19}}}
| {{{20}}}
| {{{21}}}
|-
! style="background:#ECECEC;" | <abbr title="hypothetic consequence">hypothetic cons.</abbr>
| {{{22}}}
| {{{23}}}
| {{{24}}}
| {{{25}}}
| {{{26}}}
| {{{27}}}
| {{{28}}}
|-
! style="background:#ECECEC;" | <abbr title="past consequence">past cons.</abbr>
| {{{29}}}
| {{{30}}}
| {{{31}}}
| {{{32}}}
| {{{33}}}
| {{{34}}}
| {{{35}}}
|-
! style="background:#DEDEDE;height:.25em" colspan="9" | 
|-
! rowspan="3" style="background:#e2e4c0;" | potential
! style="background:#ECECEC;" | present
| {{{36}}}
| {{{37}}}
| {{{38}}}
| {{{39}}}
| {{{40}}}
| {{{41}}}
| {{{42}}}
|-
! style="background:#ECECEC;" | hypothetic
| style="background:#ECECEC;" colspan="7" | <div class="center">same as indicative hypothetic consequence</div>
|-
! style="background:#ECECEC;" | past
| style="background:#ECECEC;" colspan="7" | <div class="center">same as indicative past consequence</div>
|-
! style="background:#DEDEDE;height:.25em" colspan="9" | 
|-
! rowspan="2" style="background:#c0e4c0;" | subjunctive<sup>1</sup>
! style="background:#ECECEC;" | present
| {{{57}}}
| {{{58}}}
| {{{59}}}
| {{{60}}}
| {{{61}}}
| {{{62}}}
| {{{63}}}
|-
! style="background:#ECECEC;" | past
| style="background:#ECECEC;" colspan="7" | <div class="center">same as indicative past</div>
|-
! style="background:#DEDEDE;height:.25em" colspan="9" | 
|-
! style="background:#e4d4c0;" | imperative
! style="background:#ECECEC;" | present
| {{{71}}}
| {{{72}}}
| {{{73}}}
| {{{74}}}
| {{{75}}}
| {{{76}}}
| {{{77}}}
|-
| colspan="9" style="text-align:left" |1. Archaic or literary.
|}</div></div>]=]
	return mw.ustring.gsub(wikicode, "{{{[#!]?([a-z0-9|]+)}}}", repl)
end
function make_table_nor_etzan(data)
	local function repl(param)
		if param == "info" then
			return mw.getContentLanguage():ucfirst(data.info or "")
		end
		
		local forms = data.forms[param]
		if not forms then
			return "&mdash;"
		end
		
		local ret = {}
		for key, subform in ipairs(forms) do
			table.insert(ret, m_links.full_link({lang = lang, term = subform, accel = accel}))
		end
		return table.concat(ret, "<br/>")
	end
	
	local wikicode = [=[
<div class="NavFrame" style="clear:both;width:80%;">
<div class="NavHead" align=left>&nbsp;&nbsp; {{{info}}} ― NOR paradigm </div>
<div class="NavContent" align="center">
{| style="background:#F9F9F9;width:100%;border-collapse:separate;border-spacing:2px;" class="inflection-table"
|- style="background:#DEDEDE;"
! colspan="2" rowspan="3" style="width:23%;vertical-align:bottom;" | Mood / Tense
! colspan="7" style="width:77%;" | NOR (absolutive)
|- style="background:#DEDEDE;"
! style="width:11%;" | <abbr title="first-person singular">1st sg</abbr>
! style="width:11%;" | <abbr title="second-person singular informal">2nd sg inf.</abbr>
! style="width:11%;" | <abbr title="third-person singular">3rd sg</abbr>
! style="width:11%;" | <abbr title="first-person plural">1st pl</abbr>
! style="width:11%;" | <abbr title="second-person singular">2nd sg</abbr>
! style="width:11%;" | <abbr title="second-person plural">2nd pl</abbr>
! style="width:11%;" | <abbr title="third-person plural">3rd pl</abbr>
|- style="background:#ECECEC;"
! ni !! hi !! hura !! gu !! zu !! zuek !! haiek
|-
! rowspan="5" style="background:#c0cfe4;width:11.5%;" | indicative
! style="background:#ECECEC;width:11.5%;" | present
| {{{1}}}
| {{{2}}}
| {{{3}}}
| {{{4}}}
| {{{5}}}
| {{{6}}}
| {{{7}}}
|-
! style="background:#ECECEC;" | past
| {{{8}}}
| {{{9}}}
| {{{10}}}
| {{{11}}}
| {{{12}}}
| {{{13}}}
| {{{14}}}
|-
! style="background:#ECECEC;" | conditional
| {{{15}}}
| {{{16}}}
| {{{17}}}
| {{{18}}}
| {{{19}}}
| {{{20}}}
| {{{21}}}
|-
! style="background:#ECECEC;" | <abbr title="hypothetic consequence">hypothetic cons.</abbr>
| {{{22}}}
| {{{23}}}
| {{{24}}}
| {{{25}}}
| {{{26}}}
| {{{27}}}
| {{{28}}}
|-
! style="background:#ECECEC;" | <abbr title="past consequence">past cons.</abbr>
| {{{29}}}
| {{{30}}}
| {{{31}}}
| {{{32}}}
| {{{33}}}
| {{{34}}}
| {{{35}}}
|-
! style="background:#DEDEDE;height:.25em" colspan="9" | 
|-
! rowspan="3" style="background:#e2e4c0;" | potential
! style="background:#ECECEC;" | present
| {{{36}}}
| {{{37}}}
| {{{38}}}
| {{{39}}}
| {{{40}}}
| {{{41}}}
| {{{42}}}
|-
! style="background:#ECECEC;" | hypothetic
| {{{43}}}
| {{{44}}}
| {{{45}}}
| {{{46}}}
| {{{47}}}
| {{{48}}}
| {{{49}}}
|-
! style="background:#ECECEC;" | past
| {{{50}}}
| {{{51}}}
| {{{52}}}
| {{{53}}}
| {{{54}}}
| {{{55}}}
| {{{56}}}
|-
! style="background:#DEDEDE;height:.25em" colspan="9" | 
|-
! rowspan="2" style="background:#c0e4c0;" | subjunctive
! style="background:#ECECEC;" | present
| {{{57}}}
| {{{58}}}
| {{{59}}}
| {{{60}}}
| {{{61}}}
| {{{62}}}
| {{{63}}}
|-
! style="background:#ECECEC;" | past
| {{{64}}}
| {{{65}}}
| {{{66}}}
| {{{67}}}
| {{{68}}}
| {{{69}}}
| {{{70}}}
|-
! style="background:#DEDEDE;height:.25em" colspan="9" | 
|-
! style="background:#e4d4c0;" | imperative
! style="background:#ECECEC;" | present
| {{{71}}}
| {{{72}}}
| {{{73}}}
| {{{74}}}
| {{{75}}}
| {{{76}}}
| {{{77}}}
|}</div></div>]=]
	return mw.ustring.gsub(wikicode, "{{{[#!]?([a-z0-9|]+)}}}", repl)
end

return export