array<integer> A_nextFree160
integer A_firstFree508
integer A_maxIndex139
array<any> C_x150
integer wurst_stack_depth934
array<string> wurst_stack404


integer A_firstFree508 = 0
integer A_maxIndex139 = 0
integer C_firstFree112 = 0
integer C_maxIndex178 = 0
integer wurst_stack_depth934 = 0


function initGlobals726() { 
}


function main963() { 
    local integer this205
    initGlobals726();
    wurst_stack_404[wurst_stack_depth_934] = "when calling init_Test in genericChain1, line 1";
    wurst_stack_depth_934 = (wurst_stack_depth_934 + 1);
    wurst_stack_404[wurst_stack_depth_934] = "when calling new_A in genericChain1, line 7";
    wurst_stack_depth_934 = (wurst_stack_depth_934 + 1);
    wurst_stack_404[wurst_stack_depth_934] = "when calling alloc_A in genericChain1, line 2";
    wurst_stack_depth_934 = (wurst_stack_depth_934 + 1);
    if (A_firstFree_508 == 0) {
        if (A_maxIndex_139 < 32768) {
            A_maxIndex_139 = (A_maxIndex_139 + 1);
            this_205 = A_maxIndex_139;
        } else {
            error210("Out of memory: Could not create A.", "when calling error in genericChain1, line 2");
            this_205 = 0;
        };
    } else {
        A_firstFree_508 = (A_firstFree_508 - 1);
        this_205 = A_nextFree_160[A_firstFree_508];
    };
    wurst_stack_depth_934 = ((wurst_stack_depth_934 - 1) - 1);
    C_x_150[C_x_150[C_x_150[null<integer>]]] = this_205;
    wurst_stack_depth_934 = (wurst_stack_depth_934 - 1);
}


function config204() { 
}


function error210(string msg814, string __wurst_stackPos151) { 
    local integer stacktraceIndex773
    local integer stacktraceLimit164
    wurst_stack_404[wurst_stack_depth_934] = __wurst_stackPos_151;
    wurst_stack_depth_934 = (wurst_stack_depth_934 + 1);
    __wurst_stackPos_151 = "";
    stacktraceIndex_773 = wurst_stack_depth_934;
    stacktraceLimit_164 = 0;
    loop {
        stacktraceIndex_773 = (stacktraceIndex_773 - 1);
        stacktraceLimit_164 = (stacktraceLimit_164 + 1);
        exitwhen ((stacktraceLimit_164 > 20) or (stacktraceIndex_773 < 0));
        __wurst_stackPos_151 = (__wurst_stackPos_151 + ("
   " + wurst_stack_404[stacktraceIndex_773]));
    };
    $debugPrint108((msg_814 + ("
" + __wurst_stackPos_151)));
    wurst_stack_depth_934 = (wurst_stack_depth_934 - 1);
}