Mô đun:TreeChart/data

local SLD = '1px solid black'
local DSH = '1px dashed black'
local DOT = '1px dotted black'

local data = {
['!'] = {
t = { { attr = { rowspan = '2' }, style = { ['border-right'] = SLD, width = '1em', height = '2em' } },
{ attr = { rowspan = '2' }, style = { width = '1em', height = '2em' } } }
},
['%'] = {
b = { { style = { ['border-right'] = DSH, width = '1em', height = '1em' } },
{ style = { width = '1em', height = '1em' } } },
t = { { style = { ['border-right'] = DSH, ['border-bottom'] = DSH, width = '1em', height = '1em' } },
{ style = { ['border-bottom'] = DSH, width = '1em', height = '1em' } } }
},
["'"] = {
b = { { style = { width = '1em', height = '1em' } } },
t = { { style = { ['border-right'] = SLD, ['border-bottom'] = SLD, width = '1em', height = '1em' } },
{ attr = { rowspan = '2' }, style = { width = '1em', height = '2em' } } }
},
['('] = {
b = { { style = { ['border-right'] = SLD, width = '1em', height = '1em' } } },
t = { { style = { ['border-right'] = SLD, ['border-bottom'] = SLD, width = '1em', height = '1em' } },
{ attr = { rowspan = '2' }, style = { width = '1em', height = '2em' } } }
},
[')'] = {
b = { { style = { width = '1em', height = '1em' } } },
t = { { attr = { rowspan = '2' }, style = { ['border-right'] = SLD, width = '1em', height = '2em' } },
{ style = { ['border-bottom'] = SLD, width = '1em', height = '1em' } } }
},
[''] = {
b = { { style = { ['border-right'] = DSH, width = '1em', height = '1em' } },
{ style = { width = '1em', height = '1em' } } },
t = { { style = { ['border-right'] = DSH, ['border-bottom'] = SLD, width = '1em', height = '1em' } },
{ style = { ['border-bottom'] = SLD, width = '1em', height = '1em' } } }
},
['+'] = {
b = { { style = { ['border-right'] = SLD, width = '1em', height = '1em' } },
{ style = { width = '1em', height = '1em' } } },
t = { { style = { ['border-right'] = SLD, ['border-bottom'] = SLD, width = '1em', height = '1em' } },
{ style = { ['border-bottom'] = SLD, width = '1em', height = '1em' } } }
},
[','] = {
b = { { style = { ['border-right'] = SLD, width = '1em', height = '1em' } },
{ style = { width = '1em', height = '1em' } } },
t = { { style = { width = '1em', height = '1em' } },
{ style = { ['border-bottom'] = SLD, width = '1em', height = '1em' } } }
},
['-'] = {
b = { { attr = { colspan = '2' }, style = { width = '2em', height = '1em' } } },
t = { { attr = { colspan = '2' }, style = { ['border-bottom'] = SLD, width = '2em', height = '1em' } } }
},
['.'] = {
b = { { style = { ['border-right'] = SLD, width = '1em', height = '1em' } } },
t = { { style = { ['border-bottom'] = SLD, width = '1em', height = '1em' } },
{ attr = { rowspan = '2' }, style = { width = '1em', height = '2em' } } }
},
['7'] = {
b = { { style = { ['border-right'] = DSH, width = '1em', height = '1em' } } },
t = { { style = { ['border-bottom'] = DSH, width = '1em', height = '1em' } },
{ attr = { rowspan = '2' }, style = { width = '1em', height = '2em' } } }
},
[':'] = {
t = { { attr = { rowspan = '2' }, style = { ['border-right'] = DSH, width = '1em', height = '2em' } },
{ attr = { rowspan = '2' }, style = { width = '1em', height = '2em' } } }
},
['A'] = {
b = { { attr = { colspan = '2' }, style = { width = '2em', height = '1em' } } },
t = { { style = { ['border-right'] = DSH, ['border-bottom'] = DSH, width = '1em', height = '1em' } },
{ style = { ['border-bottom'] = DSH, width = '1em', height = '1em' } } }
},
['C'] = {
b = { { style = { ['border-right'] = DSH, width = '1em', height = '1em' } } },
t = { { style = { ['border-right'] = DSH, ['border-bottom'] = DSH, width = '1em', height = '1em' } },
{ attr = { rowspan = '2' }, style = { width = '1em', height = '2em' } } }
},
['D'] = {
b = { { style = { width = '1em', height = '1em' } } },
t = { { attr = { rowspan = '2' }, style = { ['border-right'] = DSH, width = '1em', height = '2em' } },
{ style = { ['border-bottom'] = DSH, width = '1em', height = '1em' } } }
},
['F'] = {
b = { { style = { ['border-right'] = DSH, width = '1em', height = '1em' } },
{ style = { width = '1em', height = '1em' } } },
t = { { style = { width = '1em', height = '1em' } },
{ style = { ['border-bottom'] = DSH, width = '1em', height = '1em' } } }
},
['G'] = {
b = { { style = { ['border-right'] = DOT, width = '1em', height = '1em' } } },
t = { { style = { ['border-right'] = DOT, ['border-bottom'] = DOT, width = '1em', height = '1em' } },
{ attr = { rowspan = '2' }, style = { width = '1em', height = '2em' } } }
},
['H'] = {
b = { { style = { width = '1em', height = '1em' } } },
t = { { attr = { rowspan = '2' }, style = { ['border-right'] = DOT, width = '1em', height = '2em' } },
{ style = { ['border-bottom'] = DOT, width = '1em', height = '1em' } } }
},
['J'] = {
b = { { style = { width = '1em', height = '1em' } } },
t = { { style = { ['border-right'] = DSH, ['border-bottom'] = DSH, width = '1em', height = '1em' } },
{ attr = { rowspan = '2' }, style = { width = '1em', height = '2em' } } }
},
['L'] = {
b = { { attr = { colspan = '2' }, style = { width = '2em', height = '1em' } } },
t = { { style = { ['border-right'] = DSH, width = '1em', height = '1em' } },
{ style = { ['border-bottom'] = DSH, width = '1em', height = '1em' } } }
},
['M'] = {
b = { { style = { ['border-right'] = DOT, width = '1em', height = '1em' } },
{ style = { width = '1em', height = '1em' } } },
t = { { attr = { colspan = '2' }, style = { ['border-bottom'] = DOT, width = '2em', height = '1em' } } }
},
['P'] = {
b = { { attr = { colspan = '2' }, style = { width = '2em', height = '1em' } } },
t = { { attr = { colspan = '2' }, style = { ['border-bottom'] = DOT, width = '2em', height = '1em' } } }
},
['Q'] = {
t = { { attr = { rowspan = '2' }, style = { ['border-right'] = DOT, width = '1em', height = '2em' } },
{ attr = { rowspan = '2' }, style = { width = '1em', height = '2em' } } }
},
['R'] = {
b = { { style = { ['border-right'] = DOT, width = '1em', height = '1em' } },
{ style = { width = '1em', height = '1em' } } },
t = { { style = { ['border-right'] = DOT, ['border-bottom'] = DOT, width = '1em', height = '1em' } },
{ style = { ['border-bottom'] = DOT, width = '1em', height = '1em' } } }
},
['S'] = {
b = { { style = { ['border-right'] = DOT, width = '1em', height = '1em' } },
{ style = { width = '1em', height = '1em' } } },
t = { { style = { width = '1em', height = '1em' } },
{ style = { ['border-bottom'] = DOT, width = '1em', height = '1em' } } }
},
['T3'] = {
b = { { style = { ['border-right'] = SLD, width = '1em', height = '1em' } } },
t = { { style = { ['border-bottom'] = DOT, width = '1em', height = '1em' } },
{ attr = { rowspan = '2' }, style = { width = '1em', height = '2em' } } }
},
['T'] = {
b = { { style = { ['border-right'] = DOT, width = '1em', height = '1em' } } },
t = { { style = { ['border-bottom'] = DOT, width = '1em', height = '1em' } },
{ attr = { rowspan = '2' }, style = { width = '1em', height = '2em' } } }
},
['V'] = {
b = { { style = { ['border-right'] = DSH, width = '1em', height = '1em' } },
{ style = { width = '1em', height = '1em' } } },
t = { { attr = { colspan = '2' }, style = { ['border-bottom'] = DSH, width = '2em', height = '1em' } } }
},
['W'] = {
b = { { attr = { colspan = '2' }, style = { width = '2em', height = '1em' } } },
t = { { style = { ['border-right'] = DOT, ['border-bottom'] = DOT, width = '1em', height = '1em' } },
{ style = { ['border-bottom'] = DOT, width = '1em', height = '1em' } } }
},
['Y'] = {
b = { { attr = { colspan = '2' }, style = { width = '2em', height = '1em' } } },
t = { { style = { ['border-right'] = DOT, width = '1em', height = '1em' } },
{ style = { ['border-bottom'] = DOT, width = '1em', height = '1em' } } }
},
['Z'] = {
b = { { style = { width = '1em', height = '1em' } } },
t = { { style = { ['border-right'] = DOT, ['border-bottom'] = DOT, width = '1em', height = '1em' } },
{ attr = { rowspan = '2' }, style = { width = '1em', height = '2em' } } }
},
['^'] = {
b = { { attr = { colspan = '2' }, style = { width = '2em', height = '1em' } } },
t = { { style = { ['border-right'] = SLD, ['border-bottom'] = SLD, width = '1em', height = '1em' } },
{ style = { ['border-bottom'] = SLD, width = '1em', height = '1em' } } }
},
['$'] = {
t = { { attr = { colspan = '2', rowspan = '2'}, style = { width = '2em', height = '2em' } } }
},
['`'] = {
b = { { attr = { colspan = '2' }, style = { width = '2em', height = '1em' } } },
t = { { style = { ['border-right'] = SLD, width = '1em', height = '1em' } },
{ style = { ['border-bottom'] = SLD, width = '1em', height = '1em' } } }
},
['a2'] = {
b = { { style = { ['border-right'] = DOT, width = '1em', height = '1em' } },
{ style = { width = '1em', height = '1em' } } },
t = { { style = { ['border-right'] = DOT, ['border-bottom'] = '1px dashed 000001', width = '1em', height = '1em' } },
{ style = { ['border-bottom'] = DSH, width = '1em', height = '1em' } } }
},
['a'] = {
b = { { style = { ['border-right'] = DOT, width = '1em', height = '1em' } },
{ style = { width = '1em', height = '1em' } } },
t = { { style = { ['border-right'] = DOT, ['border-bottom'] = SLD, width = '1em', height = '1em' } },
{ style = { ['border-bottom'] = SLD, width = '1em', height = '1em' } } }
},
['b2'] = {
b = { { style = { ['border-right'] = DSH, width = '1em', height = '1em' } },
{ style = { width = '1em', height = '1em' } } },
t = { { style = { ['border-right'] = DSH, ['border-bottom'] = '1px dotted 000001', width = '1em', height = '1em' } },
{ style = { ['border-bottom'] = DOT, width = '1em', height = '1em' } } }
},
['b3'] = {
b = { { style = { ['border-right'] = SLD, width = '1em', height = '1em' } },
{ style = { width = '1em', height = '1em' } } },
t = { { style = { ['border-right'] = SLD, ['border-bottom'] = DSH, width = '1em', height = '1em' } },
{ style = { ['border-bottom'] = DOT, width = '1em', height = '1em' } } }
},
['b'] = {
b = { { style = { ['border-right'] = SLD, width = '1em', height = '1em' } },
{ style = { width = '1em', height = '1em' } } },
t = { { style = { ['border-right'] = SLD, ['border-bottom'] = DOT, width = '1em', height = '1em' } },
{ style = { ['border-bottom'] = DOT, width = '1em', height = '1em' } } }
},
['c'] = {
b = { { style = { ['border-right'] = DSH, width = '1em', height = '1em' } } },
t = { { style = { ['border-right'] = DSH, ['border-bottom'] = SLD, width = '1em', height = '1em' } },
{ attr = { rowspan = '2' }, style = { width = '1em', height = '2em' } } }
},
['d'] = {
b = { { style = { width = '1em', height = '1em' } } },
t = { { attr = { rowspan = '2' }, style = { ['border-right'] = DSH, width = '1em', height = '2em' } },
{ style = { ['border-bottom'] = SLD, width = '1em', height = '1em' } } }
},
['e'] = {
b = { { style = { ['border-right'] = SLD, width = '1em', height = '1em' } } },
t = { { style = { ['border-right'] = SLD, ['border-bottom'] = DSH, width = '1em', height = '1em' } },
{ attr = { rowspan = '2' }, style = { width = '1em', height = '2em' } } }
},
['f'] = {
b = { { style = { width = '1em', height = '1em' } } },
t = { { attr = { rowspan = '2' }, style = { ['border-right'] = SLD, width = '1em', height = '2em' } },
{ style = { ['border-bottom'] = DSH, width = '1em', height = '1em' } } }
},
['h'] = {
b = { { attr = { colspan = '2' }, style = { width = '2em', height = '1em' } } },
t = { { style = { ['border-right'] = SLD, ['border-bottom'] = DSH, width = '1em', height = '1em' } },
{ style = { ['border-bottom'] = DSH, width = '1em', height = '1em' } } }
},
['i'] = {
b = { { attr = { colspan = '2' }, style = { width = '2em', height = '1em' } } },
t = { { style = { ['border-right'] = DSH, ['border-bottom'] = SLD, width = '1em', height = '1em' } },
{ style = { ['border-bottom'] = SLD, width = '1em', height = '1em' } } }
},
['j'] = {
b = { { style = { ['border-right'] = DSH, width = '1em', height = '1em' } },
{ style = { width = '1em', height = '1em' } } },
t = { { attr = { colspan = '2' }, style = { ['border-bottom'] = SLD, width = '2em', height = '1em' } } }
},
['k2'] = {
b = { { style = { width = '1em', height = '1em' } } },
t = { { attr = { rowspan = '2' }, style = { ['border-right'] = DOT, width = '1em', height = '2em' } },
{ style = { ['border-bottom'] = DSH, width = '1em', height = '1em' } } }
},
['k3'] = {
b = { { style = { ['border-right'] = DSH, width = '1em', height = '1em' } },
{ style = { width = '1em', height = '1em' } } },
t = { { style = { ['border-right'] = SLD, width = '1em', height = '1em' } },
{ style = { ['border-bottom'] = DSH, width = '1em', height = '1em' } } }
},
['k'] = {
b = { { style = { width = '1em', height = '1em' } } },
t = { { attr = { rowspan = '2' }, style = { ['border-right'] = DOT, width = '1em', height = '2em' } },
{ style = { ['border-bottom'] = SLD, width = '1em', height = '1em' } } }
},
['l2'] = {
b = { { style = { ['border-right'] = DOT, width = '1em', height = '1em' } } },
t = { { style = { ['border-right'] = DOT, ['border-bottom'] = '1px dashed 000001', width = '1em', height = '1em' } },
{ attr = { rowspan = '2' }, style = { width = '1em', height = '2em' } } }
},
['l3'] = {
b = { { style = { ['border-right'] = DSH, width = '1em', height = '1em' } } },
t = { { style = { ['border-right'] = SLD, ['border-bottom'] = SLD, width = '1em', height = '1em' } },
{ attr = { rowspan = '2' }, style = { width = '1em', height = '2em' } } }
},
['l'] = {
b = { { style = { ['border-right'] = DOT, width = '1em', height = '1em' } } },
t = { { style = { ['border-right'] = DOT, ['border-bottom'] = SLD, width = '1em', height = '1em' } },
{ attr = { rowspan = '2' }, style = { width = '1em', height = '2em' } } }
},
['m2'] = {
b = { { style = { ['border-right'] = DSH, width = '1em', height = '1em' } },
{ style = { width = '1em', height = '1em' } } },
t = { { attr = { colspan = '2' }, style = { ['border-bottom'] = DOT, width = '2em', height = '1em' } } }
},
['m'] = {
b = { { style = { ['border-right'] = SLD, width = '1em', height = '1em' } },
{ style = { width = '1em', height = '1em' } } },
t = { { attr = { colspan = '2' }, style = { ['border-bottom'] = DOT, width = '2em', height = '1em' } } }
},
['n2'] = {
b = { { attr = { colspan = '2' }, style = { width = '2em', height = '1em' } } },
t = { { style = { ['border-right'] = DSH, ['border-bottom'] = '1px dotted 000001', width = '1em', height = '1em' } },
{ style = { ['border-bottom'] = DOT, width = '1em', height = '1em' } } }
},
['n'] = {
b = { { attr = { colspan = '2' }, style = { width = '2em', height = '1em' } } },
t = { { style = { ['border-right'] = SLD, ['border-bottom'] = DOT, width = '1em', height = '1em' } },
{ style = { ['border-bottom'] = DOT, width = '1em', height = '1em' } } }
},
['o2'] = {
b = { { style = { width = '1em', height = '1em' } } },
t = { { attr = { rowspan = '2' }, style = { ['border-right'] = DSH, width = '1em', height = '2em' } },
{ style = { ['border-bottom'] = DOT, width = '1em', height = '1em' } } }
},
['o'] = {
b = { { style = { width = '1em', height = '1em' } } },
t = { { attr = { rowspan = '2' }, style = { ['border-right'] = SLD, width = '1em', height = '2em' } },
{ style = { ['border-bottom'] = DOT, width = '1em', height = '1em' } } }
},
['p2'] = {
b = { { style = { ['border-right'] = DSH, width = '1em', height = '1em' } } },
t = { { style = { ['border-right'] = DSH, ['border-bottom'] = '1px dotted 000001', width = '1em', height = '1em' } },
{ attr = { rowspan = '2' }, style = { width = '1em', height = '2em' } } }
},
['p'] = {
b = { { style = { ['border-right'] = SLD, width = '1em', height = '1em' } } },
t = { { style = { ['border-right'] = SLD, ['border-bottom'] = DOT, width = '1em', height = '1em' } },
{ attr = { rowspan = '2' }, style = { width = '1em', height = '2em' } } }
},
['q2'] = {
b = { { attr = { colspan = '2' }, style = { width = '2em', height = '1em' } } },
t = { { style = { ['border-right'] = DOT, ['border-bottom'] = '1px dashed 000001', width = '1em', height = '1em' } },
{ style = { ['border-bottom'] = DSH, width = '1em', height = '1em' } } }
},
['q'] = {
b = { { attr = { colspan = '2' }, style = { width = '2em', height = '1em' } } },
t = { { style = { ['border-right'] = DOT, ['border-bottom'] = SLD, width = '1em', height = '1em' } },
{ style = { ['border-bottom'] = SLD, width = '1em', height = '1em' } } }
},
['r2'] = {
b = { { style = { ['border-right'] = DOT, width = '1em', height = '1em' } },
{ style = { width = '1em', height = '1em' } } },
t = { { attr = { colspan = '2' }, style = { ['border-bottom'] = DSH, width = '2em', height = '1em' } } }
},
['r'] = {
b = { { style = { ['border-right'] = DOT, width = '1em', height = '1em' } },
{ style = { width = '1em', height = '1em' } } },
t = { { attr = { colspan = '2' }, style = { ['border-bottom'] = SLD, width = '2em', height = '1em' } } }
},
['t'] = {
b = { { style = { ['border-right'] = SLD, width = '1em', height = '1em' } },
{ style = { width = '1em', height = '1em' } } },
t = { { style = { ['border-right'] = SLD, ['border-bottom'] = DSH, width = '1em', height = '1em' } },
{ style = { ['border-bottom'] = DSH, width = '1em', height = '1em' } } }
},
['v'] = {
b = { { style = { ['border-right'] = SLD, width = '1em', height = '1em' } },
{ style = { width = '1em', height = '1em' } } },
t = { { attr = { colspan = '2' }, style = { ['border-bottom'] = SLD, width = '2em', height = '1em' } } }
},
['x'] = {},
['y'] = {
b = { { style = { ['border-right'] = SLD, width = '1em', height = '1em' } },
{ style = { width = '1em', height = '1em' } } },
t = { { attr = { colspan = '2' }, style = { ['border-bottom'] = DSH, width = '2em', height = '1em' } } }
},
['~'] = {
b = { { attr = { colspan = '2' }, style = { width = '2em', height = '1em' } } },
t = { { attr = { colspan = '2' }, style = { ['border-bottom'] = DSH, width = '2em', height = '1em' } } }
}
}

local retval = {}

for k,v in pairs(data) do
retval[k] = {}
for k2,v2 in pairs(v) do
local renderedCells = mw.html.create()
for k3,v3 in ipairs(v2) do
renderedCells:tag('td'):css(v3.style or {}):attr(v3.attr or {})
end
retval[k][k2] = tostring(renderedCells)
end
end

return retval