<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:

def absent(name,
           user,
           enc='ssh-rsa',
           comment='',
           source='',
           options=None,
           config='.ssh/authorized_keys',
           fingerprint_hash_type=None):
    '''
    Verifies that the specified SSH key is absent

    name
        The SSH key to manage

    user
        The user who owns the SSH authorized keys file to modify

    enc
        Defines what type of key is being used; can be ed25519, ecdsa, ssh-rsa
        or ssh-dss

    comment
        The comment to be placed with the SSH public key

    options
        The options passed to the key, pass a list object

    source
        The source file for the key(s). Can contain any number of public keys,
        in standard "authorized_keys" format. If this is set, comment, enc and
        options will be ignored.

        .. versionadded:: 2015.8.0

    config
        The location of the authorized keys file relative to the user's home
        directory, defaults to ".ssh/authorized_keys". Token expansion %u and
        %h for username and home path supported.

    fingerprint_hash_type
        The public key fingerprint hash type that the public key fingerprint
        was originally hashed with. This defaults to ``sha256`` if not specified.

        .. versionadded:: 2016.11.7
    '''
    ret = {'name': name,
           'changes': {},
           'result': True,
           'comment': ''}

    if __opts__['test']:
        ret['result'], ret['comment'] = _absent_test(
                user,
                name,
                enc,
                comment,
                options or [],
                source,
                config,
                fingerprint_hash_type)
        return ret

    # Extract Key from file if source is present
    if source != '':
        key = __salt__['cp.get_file_str'](
                source,
                saltenv=__env__)
        filehasoptions = False
        # check if this is of form {options} {enc} {key} {comment}
        sshre = re.compile(r'^(ssh\-|ecds).*')
        key = key.rstrip().split('\n')
        for keyline in key:
            filehasoptions = sshre.match(keyline)
            if not filehasoptions:
                ret['comment'] = __salt__['ssh.rm_auth_key_from_file'](user,
                                                                       source,
                                                                       config,
                                                                       saltenv=__env__,
                                                                       fingerprint_hash_type=fingerprint_hash_type)
            else:
                # Split keyline to get key
                keyline = keyline.split(' ')
                ret['comment'] = __salt__['ssh.rm_auth_key'](user,
                                                             keyline[1],
                                                             config=config,
                                                             fingerprint_hash_type=fingerprint_hash_type)
    else:
        # Get just the key
        sshre = re.compile(r'^(.*?)\s?((?:ssh\-|ecds)[\w-]+\s.+)$')
        fullkey = sshre.search(name)
        # if it is {key} [comment]
        if not fullkey:
            key_and_comment = name.split(None, 1)
            name = key_and_comment[0]
            if len(key_and_comment) == 2:
                comment = key_and_comment[1]
        else:
            # if there are options, set them
            if fullkey.group(1):
                options = fullkey.group(1).split(',')
            # key is of format: {enc} {key} [comment]
            comps = fullkey.group(2).split()
            enc = comps[0]
            name = comps[1]
            if len(comps) == 3:
                comment = comps[2]
        ret['comment'] = __salt__['ssh.rm_auth_key'](user,
                                                     name,
                                                     config=config,
                                                     fingerprint_hash_type=fingerprint_hash_type)

    if ret['comment'] == 'User authorized keys file not present':
        ret['result'] = False
        return ret
    elif ret['comment'] == 'Key removed':
        ret['changes'][name] = 'Removed'

    return ret