def __init__(self, ctxt, name, config, step_addr):
<EOL>super(SensitiveDictAction, self).__init__(<EOL>ctxt, name, config, step_addr)<EOL>self.set_vars = {}<EOL>for key, value in config.get('<STR_LIT>', {}).items():<EOL><INDENT>self.set_vars[key] = ctxt.template(value)<EOL><DEDENT>self.unset_vars = set(config.get('<STR_LIT>', []))<EOL>self.sensitive_vars = set(config.get('<STR_LIT>', []))<EOL>self.files = [ctxt.template(fn) for fn in config.get('<STR_LIT>', [])]<EOL>self.dirname = os.path.dirname(step_addr.fname) or os.curdir<EOL>
Initialize a ``SensitiveDictAction`` instance.

:param ctxt: The context object.
:param name: The name of the action.
:param config: The configuration for the action.  This may be
               a scalar value (e.g., "run: command"), a list,
               or a dictionary.  If the configuration provided
               is invalid for the action, a ``ConfigError``
               should be raised.
:param step_addr: The address of the step in the test
                  configuration.  Should be passed to the
                  ``ConfigError``.