<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def is_valid_code_fence_indent(line: str, parser: str = 'github') -> bool: r"""Determine if the given line has valid indentation for a code block fence. :parameter line: a single markdown line to evaluate. :parameter parser: decides rules on how to generate the anchor text. Defaults to ``github``. :type line: str :type parser: str :returns: True if the given line has valid indentation or False otherwise. :rtype: bool :raises: a built-in exception. """

    if (parser == 'github' or parser == 'cmark' or parser == 'gitlab'
            or parser == 'commonmarker'):
        return len(line) - len(line.lstrip(
            ' ')) <= md_parser['github']['code fence']['min_marker_characters']
    elif parser == 'redcarpet':
        # TODO.
        return False