docs: def easeInOutCirc(n):
      """A circular tween function that accelerates, reaches the midpoint, and then decelerates.
  
      Args:
        n (float): The time progress, starting at 0.0 and ending at 1.0.
  
      Returns:
        (float) The line progress, starting at 0.0 and ending at 1.0. Suitable for passing to getPointOnLine().
      """
      _checkRange(n)
      n = n * 2
      if n < 1:
          return -0.5 * (math.sqrt(1 - n**2) - 1)
      else:
          n = n - 2
          return 0.5 * (math.sqrt(1 - n**2) + 1)