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

def add_source(zone, source, permanent=True):
    '''
    Bind a source to a zone

    .. versionadded:: 2016.3.0

    CLI Example:

    .. code-block:: bash

        salt '*' firewalld.add_source zone 192.168.1.0/24
    '''
    if source in get_sources(zone, permanent):
        log.info('Source is already bound to zone.')

    cmd = '--zone={0} --add-source={1}'.format(zone, source)

    if permanent:
        cmd += ' --permanent'

    return __firewall_cmd(cmd)