--[[
fn x => fn y => fn z => if x then y else z
--]]
function _styx_builtin_if(c)
return function(t)
return function(f)
if c then
return t()
else
return f()
end
end
end
end
f8 = {
__call = function(self, p)
local v1 = self['c1']
local v2 = self['c2']
local v3 = self['c3']
local v6 = p
local v1 = self['c1']
local v2 = self['c2']
local v3 = self['c3']
return v2
end
}
f23 = {
__call = function(self, p)
local v1 = p
local v21 = {
c1 = v1,
}
setmetatable(v21, f20)
return v21
end
}
f17 = {
__call = function(self, p)
local v1 = self['c1']
local v2 = self['c2']
local v3 = p
local v1 = self['c1']
local v2 = self['c2']
local v4 = _styx_builtin_if
local v1 = self['c1']
local v2 = self['c2']
local v5 = v4(v1)
local v1 = self['c1']
local v2 = self['c2']
local v9 = {
c1 = v1,
c2 = v2,
c3 = v3,
}
setmetatable(v9, f8)
local v1 = self['c1']
local v2 = self['c2']
local v10 = v5(v9)
local v1 = self['c1']
local v2 = self['c2']
local v14 = {
c1 = v1,
c2 = v2,
c3 = v3,
}
setmetatable(v14, f13)
local v1 = self['c1']
local v2 = self['c2']
local v15 = v10(v14)
local v1 = self['c1']
local v2 = self['c2']
return v15
end
}
f13 = {
__call = function(self, p)
local v1 = self['c1']
local v2 = self['c2']
local v3 = self['c3']
local v11 = p
local v1 = self['c1']
local v2 = self['c2']
local v3 = self['c3']
return v3
end
}
f20 = {
__call = function(self, p)
local v1 = self['c1']
local v2 = p
local v1 = self['c1']
local v18 = {
c1 = v1,
c2 = v2,
}
setmetatable(v18, f17)
local v1 = self['c1']
return v18
end
}
local main = {}
setmetatable(main, f23)
print(main(true)(1)(2))
print(main(false)(1)(2))
LS1bWwpmbiB4ID0+IGZuIHkgPT4gZm4geiA9PiBpZiB4IHRoZW4geSBlbHNlIHoKLS1dXQpmdW5jdGlvbiBfc3R5eF9idWlsdGluX2lmKGMpCiAgICByZXR1cm4gZnVuY3Rpb24odCkKICAgICAgICByZXR1cm4gZnVuY3Rpb24oZikKICAgICAgICAgICAgaWYgYyB0aGVuCiAgICAgICAgICAgICAgICByZXR1cm4gdCgpCiAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgIHJldHVybiBmKCkKICAgICAgICAgICAgZW5kCiAgICAgICAgZW5kCiAgICBlbmQKZW5kCmY4ID0gewogICAgX19jYWxsID0gZnVuY3Rpb24oc2VsZiwgcCkKICAgICAgICBsb2NhbCB2MSA9IHNlbGZbJ2MxJ10KICAgICAgICBsb2NhbCB2MiA9IHNlbGZbJ2MyJ10KICAgICAgICBsb2NhbCB2MyA9IHNlbGZbJ2MzJ10KICAgICAgICBsb2NhbCB2NiA9IHAKICAgICAgICBsb2NhbCB2MSA9IHNlbGZbJ2MxJ10KICAgICAgICBsb2NhbCB2MiA9IHNlbGZbJ2MyJ10KICAgICAgICBsb2NhbCB2MyA9IHNlbGZbJ2MzJ10KICAgICAgICByZXR1cm4gdjIKICAgIGVuZAp9CmYyMyA9IHsKICAgIF9fY2FsbCA9IGZ1bmN0aW9uKHNlbGYsIHApCiAgICAgICAgbG9jYWwgdjEgPSBwCiAgICAgICAgbG9jYWwgdjIxID0gewogICAgICAgICAgICBjMSA9IHYxLAogICAgICAgIH0KICAgICAgICBzZXRtZXRhdGFibGUodjIxLCBmMjApCiAgICAgICAgcmV0dXJuIHYyMQogICAgZW5kCn0KZjE3ID0gewogICAgX19jYWxsID0gZnVuY3Rpb24oc2VsZiwgcCkKICAgICAgICBsb2NhbCB2MSA9IHNlbGZbJ2MxJ10KICAgICAgICBsb2NhbCB2MiA9IHNlbGZbJ2MyJ10KICAgICAgICBsb2NhbCB2MyA9IHAKICAgICAgICBsb2NhbCB2MSA9IHNlbGZbJ2MxJ10KICAgICAgICBsb2NhbCB2MiA9IHNlbGZbJ2MyJ10KICAgICAgICBsb2NhbCB2NCA9IF9zdHl4X2J1aWx0aW5faWYKICAgICAgICBsb2NhbCB2MSA9IHNlbGZbJ2MxJ10KICAgICAgICBsb2NhbCB2MiA9IHNlbGZbJ2MyJ10KICAgICAgICBsb2NhbCB2NSA9IHY0KHYxKQogICAgICAgIGxvY2FsIHYxID0gc2VsZlsnYzEnXQogICAgICAgIGxvY2FsIHYyID0gc2VsZlsnYzInXQogICAgICAgIGxvY2FsIHY5ID0gewogICAgICAgICAgICBjMSA9IHYxLAogICAgICAgICAgICBjMiA9IHYyLAogICAgICAgICAgICBjMyA9IHYzLAogICAgICAgIH0KICAgICAgICBzZXRtZXRhdGFibGUodjksIGY4KQogICAgICAgIGxvY2FsIHYxID0gc2VsZlsnYzEnXQogICAgICAgIGxvY2FsIHYyID0gc2VsZlsnYzInXQogICAgICAgIGxvY2FsIHYxMCA9IHY1KHY5KQogICAgICAgIGxvY2FsIHYxID0gc2VsZlsnYzEnXQogICAgICAgIGxvY2FsIHYyID0gc2VsZlsnYzInXQogICAgICAgIGxvY2FsIHYxNCA9IHsKICAgICAgICAgICAgYzEgPSB2MSwKICAgICAgICAgICAgYzIgPSB2MiwKICAgICAgICAgICAgYzMgPSB2MywKICAgICAgICB9CiAgICAgICAgc2V0bWV0YXRhYmxlKHYxNCwgZjEzKQogICAgICAgIGxvY2FsIHYxID0gc2VsZlsnYzEnXQogICAgICAgIGxvY2FsIHYyID0gc2VsZlsnYzInXQogICAgICAgIGxvY2FsIHYxNSA9IHYxMCh2MTQpCiAgICAgICAgbG9jYWwgdjEgPSBzZWxmWydjMSddCiAgICAgICAgbG9jYWwgdjIgPSBzZWxmWydjMiddCiAgICAgICAgcmV0dXJuIHYxNQogICAgZW5kCn0KZjEzID0gewogICAgX19jYWxsID0gZnVuY3Rpb24oc2VsZiwgcCkKICAgICAgICBsb2NhbCB2MSA9IHNlbGZbJ2MxJ10KICAgICAgICBsb2NhbCB2MiA9IHNlbGZbJ2MyJ10KICAgICAgICBsb2NhbCB2MyA9IHNlbGZbJ2MzJ10KICAgICAgICBsb2NhbCB2MTEgPSBwCiAgICAgICAgbG9jYWwgdjEgPSBzZWxmWydjMSddCiAgICAgICAgbG9jYWwgdjIgPSBzZWxmWydjMiddCiAgICAgICAgbG9jYWwgdjMgPSBzZWxmWydjMyddCiAgICAgICAgcmV0dXJuIHYzCiAgICBlbmQKfQpmMjAgPSB7CiAgICBfX2NhbGwgPSBmdW5jdGlvbihzZWxmLCBwKQogICAgICAgIGxvY2FsIHYxID0gc2VsZlsnYzEnXQogICAgICAgIGxvY2FsIHYyID0gcAogICAgICAgIGxvY2FsIHYxID0gc2VsZlsnYzEnXQogICAgICAgIGxvY2FsIHYxOCA9IHsKICAgICAgICAgICAgYzEgPSB2MSwKICAgICAgICAgICAgYzIgPSB2MiwKICAgICAgICB9CiAgICAgICAgc2V0bWV0YXRhYmxlKHYxOCwgZjE3KQogICAgICAgIGxvY2FsIHYxID0gc2VsZlsnYzEnXQogICAgICAgIHJldHVybiB2MTgKICAgIGVuZAp9Cgpsb2NhbCBtYWluID0ge30Kc2V0bWV0YXRhYmxlKG1haW4sIGYyMykKCnByaW50KG1haW4odHJ1ZSkoMSkoMikpCnByaW50KG1haW4oZmFsc2UpKDEpKDIpKQ==