controls

C = (-2.9812973027548506, 9.36286071864997)
r = Line(C, xAxis)
A = (-4.32, 0.82)
B = (12.1, 0.82)
a = Line(A, B)
D = Point(a)
F = Point(a)
b: r
G = Point(b)
H = Point(b)
sun = Segment(G, H)
I = Point(b)
J = Point(b)
earth = Segment(I, J)
e = Circle(D, sun)
f = Circle(F, earth)
K = Point(e)
g = Line(D, K)
h = Line(F, g)
L = Intersect(f, h, 2)
i = Line(L, K)
M = Intersect(a, i)
N = Midpoint(M, D)
k = Circle(N, D)
O = Intersect(e, k, 2)
j = Line(M, O)
j' = Mirror(j, a)
P = Intersect(f, h, 1)
Q = Intersect(e, g, 1)
l = Line(P, Q)
R = Intersect(a, l)
m, n = Tangent(R, f)
S = Point(b)
T = Point(b)
moonOrbit = Segment(S, T)
c = Circle(F, moonOrbit)
U = Point(b)
V = Point(b)
moon = Segment(U, V)
W = Point(c)
d = Circle(W, moon)
D' = Mirror(D, F)
o = false
p, q = Tangent(F, e)
E = Intersect(c, a, 2)
s = OrthogonalLine(E, q)
Z = Intersect(s, q)
t = Circle(E, Z)