def recursive_index_decode(int_array, max=<NUM_LIT>, min=-<NUM_LIT>):
out_arr = []<EOL>encoded_ind = <NUM_LIT:0><EOL>while encoded_ind < len(int_array):<EOL><INDENT>decoded_val = <NUM_LIT:0><EOL>while int_array[encoded_ind]==max or int_array[encoded_ind]==min:<EOL><INDENT>decoded_val += int_array[encoded_ind]<EOL>encoded_ind+=<NUM_LIT:1><EOL>if int_array[encoded_ind]==<NUM_LIT:0>:<EOL><INDENT>break<EOL><DEDENT><DEDENT>decoded_val += int_array[encoded_ind]<EOL>encoded_ind+=<NUM_LIT:1><EOL>out_arr.append(decoded_val)<EOL><DEDENT>return out_arr<EOL>
Unpack an array of integers using recursive indexing.
    :param int_array: the input array of integers
    :param max: the maximum integer size
    :param min: the minimum integer size
    :return the array of integers after recursive index decoding