code: def select_eps(xmrs, nodeid=None, iv=None, label=None, pred=None):
      
      epmatch = lambda n: ((nodeid is None or n.nodeid == nodeid) and
                           (iv is None or n.iv == iv) and
                           (label is None or n.label == label) and
                           (pred is None or n.pred == pred))
      return list(filter(epmatch, xmrs.eps()))
docs: Return the list of matching elementary predications in *xmrs*.
  
      :class:`~delphin.mrs.components.ElementaryPredication` objects for
      *xmrs* match if their `nodeid` matches *nodeid*,
      `intrinsic_variable` matches *iv*, `label` matches *label*, and
      `pred` to *pred*. The *nodeid*, *iv*, *label*, and *pred* filters
      are ignored if they are `None`.
  
      Args:
          xmrs (:class:`~delphin.mrs.xmrs.Xmrs`): semantic structure to
              query
          nodeid (optional): nodeid to match
          iv (str, optional): intrinsic variable to match
          label (str, optional): label to match
          pred (str, :class:`~delphin.mrs.components.Pred`, optional):
              predicate to match
      Returns:
          list: matching elementary predications