input: from typing import Dict, Union
  
  def solveQuadratic(a: float, b: float, c: float) -> Dict[str, Union[bool, list]]:
      """ Solve a quadratic equation of the form ax^2 + bx + c = 0.
      The function returns a dictionary with two keys: 
      - 'status': boolean indicating if the solution exists (True) or not (False)
      - 'roots': list of roots of the equation. It can have zero, one, or two values.
      
      >>> solveQuadratic(1, 3, -4)
      {'status': True, 'roots': [-4.0, 1.0]}
      >>> solveQuadratic(1, 2, 1)
      {'status': True, 'roots': [-1.0]}
      >>> solveQuadratic(1, 0, 1)
      {'status': False, 'roots': []}
      """
output:     discriminant = b**2 - 4*a*c
      if discriminant < 0:
          return {'status': False, 'roots': []}
      elif discriminant == 0:
          root = -b / (2*a)
          return {'status': True, 'roots': [root]}
      else:
          root1 = (-b + discriminant**0.5) / (2*a)
          root2 = (-b - discriminant**0.5) / (2*a)
          return {'status': True, 'roots': [root1, root2]}