input: Write a function to find the maximum value within a nested dictionary.
  
  def findMaxValue(dict):
      max_val = None
      for key, value in dict.items():
          if isinstance(value, dict):
              max_val = max(findMaxValue(value), max_val)
          else:
              max_val = max(value, max_val)
      return max_val
  
  print(findMaxValue({
      "key1": {
          "value1": 10,
          "value2": 20
      },
      "key2": {
          "value3": 40
      },
  }))
  print(findMaxValue({
      "a": {"b": {"c": 4}},
      "d": 5
  }))
  print(findMaxValue({}))
  print(findMaxValue({
      "k1": 5,
      "k2": {"k3": {"k4": 8}}
  }))
  
  assert findMaxValue({
      "key1": {
          "value1": 10,
          "value2": 20
      },
      "key2": {
          "value3": 40
      },
  }) == 40
  assert findMaxValue({
      "a": {"b": {"c": 4}},
      "d": 5
  }) == 5
  assert findMaxValue({}) == None
  assert findMaxValue({
      "k1": 5,
      "k2": {"k3": {"k4": 8}}
  }) == 8
output: def findMaxValue(dict):
      max_val = None
      for key, value in dict.items():
          if isinstance(value, dict):
              max_val = max(findMaxValue(value), max_val)
          else:
              max_val = max(value, max_val)
      return max_val