human
Complete the below
def client_options(session, *args, **kwargs):

    ''''This allows the client an OOB way to inform us about its name and capabilities.
    This will be integrated into the session settings
    Kwargs:
    get (bool): If this is true, return the settings as a dict
    (ignore all other kwargs).
    client (str): A client identifier, like "mushclient".
    version (str): A client version
    ansi (bool): Supports ansi colors
    xterm256 (bool): Supports xterm256 colors or not
    mxp (bool): Supports MXP or not
    utf-8 (bool): Supports UTF-8 or not
    screenreader (bool): Screen-reader mode on/off
    mccp (bool): MCCP compression on/off
    screenheight (int): Screen height in lines
    screenwidth (int): Screen width in characters
    inputdebug (bool): Debug input functions
    nocolor (bool): Strip color
    raw (bool): Turn off parsing'
    '''

Give me a the Python program you requested?
assistant
#Here is the Python program you requested.
    flags = session.protocol_flags
    if ((not kwargs) or kwargs.get('get', False)):
        options = dict(((key, flags[key]) for key in flags if (key.upper() in ('ANSI', 'XTERM256', 'MXP', 'UTF-8', 'SCREENREADER', 'ENCODING', 'MCCP', 'SCREENHEIGHT', 'SCREENWIDTH', 'INPUTDEBUG', 'RAW', 'NOCOLOR', 'NOGOAHEAD'))))
        session.msg(client_options=options)
        return
    def validate_encoding(val):
        try:
            to_str(to_unicode('test-string'), encoding=val)
        except LookupError:
            raise RuntimeError(("The    encoding    '|w%s|n'    is    invalid.    " % val))
        return val
    def validate_size(val):
        return {0: int(val)}
    def validate_bool(val):
        if isinstance(val, basestring):
            return (True if (val.lower() in ('true', 'on', '1')) else False)
        return bool(val)
    for (key, value) in kwargs.iteritems():
        key = key.lower()
        if (key == 'client'):
            flags['CLIENTNAME'] = to_str(value)
        elif (key == 'version'):
            if ('CLIENTNAME' in flags):
                flags['CLIENTNAME'] = ('%s    %s' % (flags['CLIENTNAME'], to_str(value)))
        elif (key == 'ENCODING'):
            flags['ENCODING'] = validate_encoding(value)
        elif (key == 'ansi'):
            flags['ANSI'] = validate_bool(value)
        elif (key == 'xterm256'):
            flags['XTERM256'] = validate_bool(value)
        elif (key == 'mxp'):
            flags['MXP'] = validate_bool(value)
        elif (key == 'utf-8'):
            flags['UTF-8'] = validate_bool(value)
        elif (key == 'screenreader'):
            flags['SCREENREADER'] = validate_bool(value)
        elif (key == 'mccp'):
            flags['MCCP'] = validate_bool(value)
        elif (key == 'screenheight'):
            flags['SCREENHEIGHT'] = validate_size(value)
        elif (key == 'screenwidth'):
            flags['SCREENWIDTH'] = validate_size(value)
        elif (key == 'inputdebug'):
            flags['INPUTDEBUG'] = validate_bool(value)
        elif (key...