code: def category_failures(self) -> Dict:
      line_length = 40
      category_failures = {
          k: v["failed"]
          for k, v in doc_test_results.items()
          if isinstance(v, dict)
      }
  
      report = ""
      for category, failures in category_failures.items():
          if len(failures) == 0:
              continue
  
          if report != "":
              report += "\n\n"
  
          report += (
              f"*{category} failures*:".ljust(line_length // 2).rjust(
                  line_length // 2
              )
              + "\n"
          )
          report += "`"
          report += "`\n`".join(failures)
          report += "`"
  
      return {
          "type": "section",
          "text": {
              "type": "mrkdwn",
              "text": f"The following examples had failures:\n\n\n{report}\n",
          },
      }
  
imports: import collections
  import json
  import math
  import os
  import re
  import time
  from fnmatch import fnmatch
  from typing import Dict
  import requests
  from slack_sdk import WebClient
label_desc: Use image node_id 6 for calling the Message obj's underlying member method code with example usage: obj.category_failures() and returns: dict