% Table *
%
% module
% 10
io_10(_name,_s,_upvals):-_upvals=[_close,_open],(call_cl(_open,[_name,"read",_f]),fread_all(_f,_s),call_cl(_close,[_f])).
% 9
io_9(_x,_upvals):-_upvals=[],(write_format(_x)).
% 8
io_8(_name,_s,_upvals):-_upvals=[_open],(call_cl(_open,[_name,"write",_f]),write(_f,_s),close(_f)).
% 7
io_7(_f,_n,_upvals):-_upvals=[],(check(_n),write32(_f,_n)).
% 6
io_6(_f,_n,_upvals):-_upvals=[],(check(_n),write16(_f,_n)).
% 5
io_5(_f,_x,_upvals):-_upvals=[],(check(_x),write8(_f,_x)).
% 4
io_4(_name,_mode,_f,_upvals):-_upvals=[],(fopen_binary(_name,_mode,_f)).
% 3
io_3(_f,_s,_upvals):-_upvals=[],(read(_f,_s)).
% 2
io_2(_f,_x,_upvals):-_upvals=[],(write(_f,_x)).
% close
io_close(_f,_upvals):-_upvals=[],(close(_f)).
% open
io_open(_name,_mode,_f,_upvals):-_upvals=[],(str(_name,T1),fopen(T1,_mode,_f)).
% readFile
io_readFile(_name,_s,_upvals):-_upvals=[],(fread_all(_f,_s)).
% read
io_read(_x,_upvals):-_upvals=[],(ioread(_x)).
% writeln
io_writeln(_x,_upvals):-_upvals=[_write,_write],(call_cl(_write,[_x]),call_cl(_write,["\n"])).
% write
io_write(_x,_upvals):-_upvals=[],(write(_x)).
% main
io(X):-_write = clos([],io_write),_writeln = clos([_write,_write],io_writeln),_read = clos([],io_read),_readFile = clos([],io_readFile),_open = clos([],io_open),_close = clos([],io_close),new(T2),set_(T2,"fwrite",clos([],io_2),T4),set_(T4,"fread",clos([],io_3),T5),set_(T5,"openBinary",clos([],io_4),T6),set_(T6,"write8",clos([],io_5),T7),set_(T7,"write16",clos([],io_6),T8),set_(T8,"write32",clos([],io_7),T9),set_(T9,"writeToFile",clos([_open],io_8),T10),set_(T10,"writeFormat",clos([],io_9),T11),set_(T11,"readFile",clos([_close,_open],io_10),T12),set_(T12,"write",_write,T13),set_(T13,"read",_read,T14),set_(T14,"writeln",_writeln,T15),set_(T15,"open",_open,T16),set_(T16,"close",_close,T3),_t = T3,X=_t.