local p = local makeInvokeFunc = require("Module:MakeInvokeFunc")
local function notEmpty(t) return (t ~= nil and t ~= "" and t ~= 0 and t ~= false)end
p._and = function(args) local allTrue = true local top = tonumber(args['n']) or 2 for i = 1, top do if args[i]
p._or = function(args) local oneTrue = false local top = tonumber(args['n']) or 2 for i = 1, top do if args[i]
p._not = function(args) if not notEmpty(args[1]) then return args['true'] or 'true' end return args['false'] or end
p._xor = function(args) local xorResult = false local top = tonumber(args['n']) or 2 for i = 1, top do if args[i]
p._nand = function(args) local args2 = for k,v in pairs(args) do if (tonumber(k) ~= nil) then args2[tonumber(k)] = v end end mw.logObject(args2) return p._notend
p._nor = function(args) local args2 = for k,v in pairs(args) do if (tonumber(k) ~= nil) then args2[tonumber(k)] = v end end mw.logObject(args2) return p._notend
p._xnor = function(args) local args2 = for k,v in pairs(args) do if (tonumber(k) ~= nil) then args2[tonumber(k)] = v end end mw.logObject(args2) return p._notend
p._main = function(args) local args2 = for k,v in pairs(args) do if tonumber(k) ~= nil then if tonumber(k) ~= 1 then args2[tonumber(k) - 1] = v end end end args2['true'] = args['true'] args2['false'] = args['false'] return p["_" .. args[1]](args2)end
p["and"] = makeInvokeFunc(p)("_and")p.AND = p["and"]p["&&"] = p["and"]p["or"] = makeInvokeFunc(p)("_or")p.OR = p["or"]p["||"] = p["or"]p["!!"] = p["or"]p["not"] = makeInvokeFunc(p)("_not")p.NOT = p["not"]p["!"] = p["not"]p["xor"] = makeInvokeFunc(p)("_xor")p.XOR = p["xor"]p["^^"] = p["xor"]p["nand"] = makeInvokeFunc(p)("_nand")p.NAND = p["nand"]p["nor"] = makeInvokeFunc(p)("_nor")p.NOR = p["nor"]p["xnor"] = makeInvokeFunc(p)("_xnor")p.XNOR = p["xnor"]p["main"] = makeInvokeFunc(p)("_main")
return p