A = (0.58, 3.08)
B = (2.66, 1.64)
c = Circle(A, B)
C = (2.58, 5.44)
D = (4.02, 3.96)
f = Line(C, D)
g = LineBisector(C, D)
E = (3.58, 3)
d = Circle(C, D, E)
F, G = Intersect(d, c)
h = Line(F, G)
H = Intersect(f, h)
i, j = Tangent(H, d)
I = Intersect(d, i)
e = Circle(H, I)
J = Intersect(c, e, 1)
K = Intersect(c, e, 2)
k = Line(J, A)
l = Line(A, K)
L = Intersect(k, g)
M = Intersect(l, g)
p = Circle(M, D)
q = Circle(L, J)