-- source: Introduction to Prakrit by A. C. Woolner, Comparative Grammar of Prakrit by Pischel

local data = {}

data['a'] = {
	m = {{'⌫o'}, {'⌫ā'}, -- nom
		 {'ṃ'}, {'⌫e', '⌫ā'}, -- acc
		 {'⌫eṇa', '⌫eṇaṃ'}, {'⌫ehi', '⌫ehiṃ'}, -- ins
		 {'⌫āa'}, {nil}, -- dat
		 {'⌫āo', '⌫āu', '⌫ā', '⌫āhi', '⌫āhiṃto'}, {nil}, --abl
		 {'ssa'}, {'⌫āṇa', '⌫āṇaṃ'}, -- gen
		 {'mmi', '⌫e'}, {'⌫esu', '⌫esuṃ'}, -- loc
		 {'', '⌫ā'}, {'⌫ā'}, -- voc
	},
	n = {{'ṃ'}, {'⌫āiṃ', '⌫āi'}, -- nom
		 {'ṃ'}, {'⌫āiṃ', '⌫āi'}, -- acc
		 {'⌫eṇa', '⌫eṇaṃ'}, {'⌫ehi', '⌫ehiṃ'}, -- ins
		 {'⌫āa'}, {nil}, -- dat
		 {'⌫āo', '⌫āu', '⌫ā', '⌫āhi', '⌫āhiṃto'}, {nil}, --abl
		 {'ssa'}, {'⌫āṇa', '⌫āṇaṃ'}, -- gen
		 {'mmi', '⌫e'}, {'⌫esu', '⌫esuṃ'}, -- loc
		 {'', '⌫ā'}, {'⌫āiṃ', '⌫āi'}, -- voc
	}
}

data['ā'] = {
	f = {{''}, {'o', 'u', ''}, -- nom
		 {'⌫aṃ'}, {'o', 'u', ''}, -- acc
		 {'e', 'i', 'a'}, {'hi', 'hiṃ'}, -- ins
		 {nil}, {nil}, -- dat
		 {'o', 'u'}, {'hiṃto'}, --abl
		 {'e', 'i', 'a'}, {'ṇa', 'ṇaṃ'}, -- gen
		 {'e', 'i', 'a'}, {'su', 'suṃ'}, -- loc
		 {'⌫e', ''}, {'o', 'u', ''}, --voc
	},
}

data['ā̈'] = data['ā']

data['i'] = { -- Only m and n are shared with -ī.
	f = {{'⌫ī'}, {'⌫īo', '⌫ī'}, -- nom
		 {'⌫iṃ'}, {'⌫īo', '⌫ī'}, -- acc
		 {'⌫īe'}, {'⌫īhi', '⌫īhiṃ'}, -- ins
		 {nil}, {nil}, -- dat
		 {'⌫īo'}, {'⌫īhiṃto'}, --abl
		 {'⌫īe'}, {'⌫īṇa', '⌫īṇaṃ'}, -- gen
		 {'⌫īe'}, {'⌫īsu', '⌫īsuṃ'}, -- loc
		 {'⌫i', '⌫ī'}, {'⌫īo', '⌫ī'}, -- voc
	},
	m = {{'⌫ī'}, {'ṇo', '⌫ī', '⌫īo', '⌫ao', '⌫a-u'}, -- nom
		 {'ṃ'}, {'ṇo', '⌫ī', '⌫ao'}, -- acc
		 {'ṇā'}, {'⌫īhi', '⌫īhiṃ'}, -- ins
		 {nil}, {nil}, -- dat
		 {'⌫īo', '⌫īu', 'ṇo', '⌫īhiṃto'}, {nil}, --abl
		 {'ssa', 'ṇo'}, {'⌫īṇa', '⌫īṇaṃ'}, -- gen
		 {'mmi'}, {'⌫īsu', '⌫īsuṃ'}, -- loc
		 {'', '⌫ī'}, {'ṇo', '⌫ī'}, -- voc
	},
	n = {{'ṃ', ''}, {'⌫īiṃ', '⌫īṇi', '⌫ī'}, -- nom
		 {'ṃ', ''}, {'⌫īiṃ', '⌫īṇi', '⌫ī'}, -- acc
		 {'ṇā'}, {'⌫īhi', '⌫īhiṃ'}, -- ins
		 {nil}, {nil}, -- dat
		 {'⌫īo', '⌫īu', 'ṇo', '⌫īhiṃto'}, {nil}, --abl
		 {'ssa', 'ṇo'}, {'⌫īṇa', '⌫īṇaṃ'}, -- gen
		 {'mmi'}, {'⌫īsu', '⌫īsuṃ'}, -- loc
		 {'', '⌫ī'}, {'⌫īiṃ', '⌫īṇi', '⌫ī'}, -- voc
	},
}

data['ï'] = data['i']
data['ī'] = {}
data['ī'].f = data['i'].f

data['u'] = { -- Only m. and n. are shared with -ū.
	f = {{'⌫ū'}, {'⌫ūo', '⌫ū'}, -- nom
		 {'⌫uṃ'}, {'⌫ūo', '⌫ū'}, -- acc
		 {'⌫ūe'}, {'⌫ūhi', '⌫ūhiṃ'}, -- ins
		 {nil}, {nil}, -- dat
		 {'⌫ūo'}, {'⌫ūhiṃto'}, --abl
		 {'⌫ūe'}, {'⌫ūṇa', '⌫ūṇaṃ'}, -- gen
		 {'⌫ūe'}, {'⌫ūsu', '⌫ūsuṃ'}, -- loc
		 {'⌫u', '⌫ū'}, {'⌫ūo', '⌫ū'}, -- voc
	},
	m = {{'⌫ū'}, {'ṇo', '⌫ū', '⌫ūo', '⌫ao', '⌫a-u'}, -- nom
		 {'ṃ'}, {'ṇo', '⌫ū'}, -- acc
		 {'ṇā'}, {'⌫ūhi', '⌫ūhiṃ'}, -- ins
		 {nil}, {nil}, --dat
		 {'⌫ūo', '⌫ūu'}, {nil}, -- abl
		 {'ṇo', 'ssa'}, {'⌫ūṇa', '⌫ūṇaṃ'}, -- gen
		 {'mmi'}, {'⌫ūsu', '⌫ūsuṃ'}, -- loc
		 {'', '⌫ū'}, {nil}, -- voc
	},
	n = {{'ṃ', ''}, {'⌫ūiṃ', '⌫ūṇi', '⌫ū'}, -- nom
		 {'ṃ', ''}, {'⌫ūiṃ', '⌫ūṇi', '⌫ū'}, -- acc
		 {'ṇā'}, {'⌫ūhi', '⌫ūhiṃ'}, -- ins
		 {nil}, {nil}, --dat
		 {'⌫ūo', '⌫ūu'}, {nil}, -- abl
		 {'ṇo', 'ssa'}, {'⌫ūṇa', '⌫ūṇaṃ'}, -- gen
		 {'mmi'}, {'⌫ūsu', '⌫ūsuṃ'}, -- loc
		 {'', '⌫ū'}, {'⌫ūiṃ', '⌫ūṇi', '⌫ū'}, -- voc
	},
}

data['ü'] = data['u']
data['ū'] = {}
data['ū'].f = data['u'].f

return data