array A_nextFree191 integer A_firstFree530 integer A_maxIndex135 array Cell_nextFree124 integer Cell_firstFree194 integer Cell_maxIndex165 integer A_firstFree530 = 0 integer A_maxIndex135 = 0 integer Cell_firstFree194 = 0 integer Cell_maxIndex165 = 0 function initGlobals128() { } function main192() { initGlobals128(); init_Test541(); } function config551() { } function init_Test541() { new_Cell884(); new_B674(); } function A_init398(integer this206) { } function construct_A935(integer this176) { A_init398(this_176); } function B_init162(integer this143) { } function new_B674() returns integer { local integer this404 this_404 = alloc_B267(); construct_B117(this_404); return this_404; } function construct_B117(integer this138) { construct_A935(this_138); B_init162(this_138); } function Cell_init196(integer this123) { } function new_Cell884() returns integer { local integer this164 this_164 = alloc_Cell507(); construct_Cell876(this_164); return this_164; } function construct_Cell876(integer this154) { Cell_init196(this_154); } function error120(string msg449) { $debugPrint886((msg_449 + (" " + #getStackTrace()))); } function alloc_B267() returns integer { local integer this175 if (A_firstFree_530 == 0) { if (A_maxIndex_135 < 32768) { A_maxIndex_135 = (A_maxIndex_135 + 1); this_175 = A_maxIndex_135; } else { error120("Out of memory: Could not create B."); this_175 = 0; }; } else { A_firstFree_530 = (A_firstFree_530 - 1); this_175 = A_nextFree_191[A_firstFree_530]; }; return this_175; } function alloc_Cell507() returns integer { local integer this174 if (Cell_firstFree_194 == 0) { if (Cell_maxIndex_165 < 32768) { Cell_maxIndex_165 = (Cell_maxIndex_165 + 1); this_174 = Cell_maxIndex_165; } else { error120("Out of memory: Could not create Cell."); this_174 = 0; }; } else { Cell_firstFree_194 = (Cell_firstFree_194 - 1); this_174 = Cell_nextFree_124[Cell_firstFree_194]; }; return this_174; }