@pexdoc.pcontracts.new_contract()<EOL>def touchstone_options(obj):
if (not isinstance(obj, dict)) or (<EOL>isinstance(obj, dict)<EOL>and (sorted(obj.keys()) != sorted(["<STR_LIT>", "<STR_LIT>", "<STR_LIT>", "<STR_LIT>"]))<EOL>):<EOL><INDENT>raise ValueError(pexdoc.pcontracts.get_exdesc())<EOL><DEDENT>if not (<EOL>(obj["<STR_LIT>"].lower() in ["<STR_LIT>", "<STR_LIT>", "<STR_LIT>", "<STR_LIT>"])<EOL>and (obj["<STR_LIT>"].lower() in ["<STR_LIT:s>", "<STR_LIT:y>", "<STR_LIT:z>", "<STR_LIT:h>", "<STR_LIT:g>"])<EOL>and (obj["<STR_LIT>"].lower() in ["<STR_LIT>", "<STR_LIT>", "<STR_LIT>"])<EOL>and isinstance(obj["<STR_LIT>"], float)<EOL>and (obj["<STR_LIT>"] >= <NUM_LIT:0>)<EOL>):<EOL><INDENT>raise ValueError(pexdoc.pcontracts.get_exdesc())<EOL><DEDENT>
r"""
    Validate if an object is an :ref:`TouchstoneOptions` pseudo-type object.

    :param obj: Object
    :type  obj: any

    :raises: RuntimeError (Argument \`*[argument_name]*\` is not valid). The
     token \*[argument_name]\* is replaced by the name of the argument the
     contract is attached to

    :rtype: None