code: def solveQuadratic(a, b, c, sqrt=sqrt):
      """Solve a quadratic equation.
  
      Solves *a*x*x + b*x + c = 0* where a, b and c are real.
  
      Args:
          a: coefficient of *x²*
          b: coefficient of *x*
          c: constant term
  
      Returns:
          A list of roots. Note that the returned list is neither guaranteed to
          be sorted nor to contain unique values!
      """
      if abs(a) < epsilon:
          if abs(b) < epsilon:
              # We have a non-equation; therefore, we have no valid solution
              roots = []
          else:
              # We have a linear equation with 1 root.
              roots = [-c / b]
      else:
          # We have a true quadratic equation.  Apply the quadratic formula to find two roots.
          DD = b * b - 4.0 * a * c
          if DD >= 0.0:
              rDD = sqrt(DD)
              roots = [(-b + rDD) / 2.0 / a, (-b - rDD) / 2.0 / a]
          else:
              # complex roots, ignore
              roots = []
      return roots
  
imports: from fontTools.misc.arrayTools import calcBounds, sectRect, rectArea
  from fontTools.misc.transform import Identity
  import math
  from collections import namedtuple
  from math import sqrt, acos, cos, pi
label_desc: Use image node_id 25 for calling a global function with example usage: solveQuadratic(a, b, c, sqrt) and returns: roots