<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def forum_list(context, forum_visibility_contents):
 """ Renders the considered forum list. This will render the given list of forums by respecting the order and the depth of each forum in the forums tree. Usage:: {% forum_list my_forums %} """

    request = context.get('request')
    tracking_handler = TrackingHandler(request=request)

    data_dict = {
        'forum_contents': forum_visibility_contents,
        'unread_forums': tracking_handler.get_unread_forums_from_list(
            request.user, forum_visibility_contents.forums),
        'user': request.user,
        'request': request,
    }

    root_level = forum_visibility_contents.root_level
    if root_level is not None:
        data_dict['root_level'] = root_level
        data_dict['root_level_middle'] = root_level + 1
        data_dict['root_level_sub'] = root_level + 2

    return data_dict