array<integer> A_nextFree737
integer A_firstFree134
integer A_maxIndex316
array<integer> A_foo_0157
array<integer> A_foo_1435
array<integer> A_foo_2207
array<integer> A_foo_3189
array<integer> A_foo_4643


integer A_firstFree134 = 0
integer A_maxIndex316 = 0


function initGlobals151() { 
}


function main161() { 
    local integer a159
    initGlobals151();
    a_159 = new_A766();
    A_foo_set126(a_159, 3, 6);
    if (A_foo_get208(a_159, 3) == 6) {
        testSuccess738();
    } else {
    };
}


function config197() { 
}


IS_NATIVE function testSuccess738() { 
}


function new_A766() returns integer { 
    local integer this439
    if (A_firstFree_134 == 0) {
        if (A_maxIndex_316 < 32768) {
            A_maxIndex_316 = (A_maxIndex_316 + 1);
            this_439 = A_maxIndex_316;
        } else {
            error155("Out of memory: Could not create A.");
            this_439 = 0;
        };
    } else {
        A_firstFree_134 = (A_firstFree_134 - 1);
        this_439 = A_nextFree_737[A_firstFree_134];
    };
    return this_439;
}


function error155(string msg634) { 
    $debugPrint838((msg_634 + ("
" + #getStackTrace())));
}


function A_foo_set126(integer instanceId166, integer arrayIndex191, integer value969) { 
    if ((arrayIndex_191 < 0) or (arrayIndex_191 >= 5)) {
        error155("Index out of Bounds");
    } else {
        if (arrayIndex_191 <= 2) {
            if (arrayIndex_191 <= 1) {
                if (arrayIndex_191 <= 0) {
                    A_foo_0_157[instanceId_166] = value_969;
                } else {
                    A_foo_1_435[instanceId_166] = value_969;
                };
            } else {
                A_foo_2_207[instanceId_166] = value_969;
            };
        } else {
            if (arrayIndex_191 <= 3) {
                A_foo_3_189[instanceId_166] = value_969;
            } else {
                A_foo_4_643[instanceId_166] = value_969;
            };
        };
    };
}


function A_foo_get208(integer index1173, integer index2503) returns integer { 
    local integer returnVal185
    if ((index2_503 < 0) or (index2_503 >= 5)) {
        error155("Index out of Bounds");
    } else {
        if (index2_503 <= 2) {
            if (index2_503 <= 1) {
                if (index2_503 <= 0) {
                    returnVal_185 = A_foo_0_157[index1_173];
                } else {
                    returnVal_185 = A_foo_1_435[index1_173];
                };
            } else {
                returnVal_185 = A_foo_2_207[index1_173];
            };
        } else {
            if (index2_503 <= 3) {
                returnVal_185 = A_foo_3_189[index1_173];
            } else {
                returnVal_185 = A_foo_4_643[index1_173];
            };
        };
    };
    return returnVal_185;
}