code: def _FormatSubjectOrProcessToken(self, token_data):
      
      ip_address = self._FormatPackedIPv4Address(token_data.ip_address)
      return {
          'aid': token_data.audit_user_identifier,
          'euid': token_data.effective_user_identifier,
          'egid': token_data.effective_group_identifier,
          'uid': token_data.real_user_identifier,
          'gid': token_data.real_group_identifier,
          'pid': token_data.process_identifier,
          'session_id': token_data.session_identifier,
          'terminal_port': token_data.terminal_port,
          'terminal_ip': ip_address}
docs: Formats a subject or process token as a dictionary of values.
  
      Args:
        token_data (bsm_token_data_subject32|bsm_token_data_subject64):
            AUT_SUBJECT32, AUT_PROCESS32, AUT_SUBJECT64 or AUT_PROCESS64 token
            data.
  
      Returns:
        dict[str, str]: token values.