code: def shared_edges(faces_a, faces_b):
      
      e_a = np.sort(faces_to_edges(faces_a), axis=1)
      e_b = np.sort(faces_to_edges(faces_b), axis=1)
      shared = grouping.boolean_rows(e_a, e_b, operation=np.intersect1d)
      return shared
docs: Given two sets of faces, find the edges which are in both sets.
  
      Parameters
      ---------
      faces_a: (n,3) int, set of faces
      faces_b: (m,3) int, set of faces
  
      Returns
      ---------
      shared: (p, 2) int, set of edges