  In the stable marriage problem, a set of men and a set of women are given,
each of whom has a strictly ordered preference list over the acceptable agents
in the opposite class. A matching is called stable if it is not blocked by any
pair of agents, who mutually prefer each other to their respective partner.
Ties in the preferences allow for three different definitions for a stable
matching: weak, strong and super-stability. Besides this, acceptable pairs in
the instance can be restricted in their ability of blocking a matching or being
part of it, which again generates three categories of restrictions on
acceptable pairs. Forced pairs must be in a stable matching, forbidden pairs
must not appear in it, and lastly, free pairs cannot block any matching.
  Our computational complexity study targets the existence of a stable solution
for each of the three stability definitions, in the presence of each of the
three types of restricted pairs. We solve all cases that were still open. As a
byproduct, we also derive that the maximum size weakly stable matching problem
is hard even in very dense graphs, which may be of independent interest.
