<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def color_lerp( c1: Tuple[int, int, int], c2: Tuple[int, int, int], a: float ) -> Color: """Return the linear interpolation between two colors. ``a`` is the interpolation value, with 0 returing ``c1``, 1 returning ``c2``, and 0.5 returing a color halfway between both. Args: c1 (Union[Tuple[int, int, int], Sequence[int]]):
 The first color. At a=0. c2 (Union[Tuple[int, int, int], Sequence[int]]):
 The second color. At a=1. a (float):
 The interpolation value, Returns: Color: The interpolated Color. """

    return Color._new_from_cdata(lib.TCOD_color_lerp(c1, c2, a))