%0 Table {close.Relation File;exists.Relation String;fileReadChar.Relation File String;fileReadLine.Relation File String;fread.Relation File String;fwrite.Relation File Any;open.Relation String String Any;openBinary.Relation String String Any;read.Relation String;readFile.Relation String String;write.Relation Any;write16.Relation Any Any;write32.Relation Any Any;write8.Relation Any Any;writeFormat.Relation Any;writeToFile.Relation String String;writeln.Relation Any}
% 
% module
% 13
io_13(_name,_s,_upvals):-_upvals=[_close,_open],(call_cl(_open,[_name,"read",_f]),fread_all(_f,_s),call_cl(_close,[_f])).
% 12
io_12(_x,_upvals):-_upvals=[],(write_format(_x)).
% 11
io_11(_name,_s,_upvals):-_upvals=[_open],(call_cl(_open,[_name,"write",_f]),write(_f,_s),close(_f)).
% 10
io_10(_f,_n,_upvals):-_upvals=[],(check(_n),write32(_f,_n)).
% 9
io_9(_f,_n,_upvals):-_upvals=[],(check(_n),write16(_f,_n)).
% 8
io_8(_f,_x,_upvals):-_upvals=[],(check(_x),write8(_f,_x)).
% 7
io_7(_name,_mode,_f,_upvals):-_upvals=[],(fopen_binary(_name,_mode,_f)).
% 6
io_6(_name,_upvals):-_upvals=[],(fopen_binary(_name,_mode,_f)).
% 5
io_5(_f,_s,_upvals):-_upvals=[],(int(1.0,X1),read_string(_f,X1,_s)).
% 4
io_4(_f,_s,_upvals):-_upvals=[],(fread(_f,_s)).
% 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,"fileReadLine",clos([],io_4),T6),set_(T6,"fileReadChar",clos([],io_5),T7),set_(T7,"exists",clos([],io_6),T8),set_(T8,"openBinary",clos([],io_7),T9),set_(T9,"write8",clos([],io_8),T10),set_(T10,"write16",clos([],io_9),T11),set_(T11,"write32",clos([],io_10),T12),set_(T12,"writeToFile",clos([_open],io_11),T13),set_(T13,"writeFormat",clos([],io_12),T14),set_(T14,"readFile",clos([_close,_open],io_13),T15),set_(T15,"write",_write,T16),set_(T16,"read",_read,T17),set_(T17,"writeln",_writeln,T18),set_(T18,"open",_open,T19),set_(T19,"close",_close,T3),_t = T3,X=_t.