'Return the blobnames defining the given toplevelname.
If "ilk" is given then only symbols of that ilk will be considered.
If not match is found the "default" is returned.'

def get_blobnames(self, toplevelname, default=None, ilk=None):

    self.merge_expired(time.time())
    blobnames = set()
    for (base, (timestamp, res_data, res_data_pivot)) in self._on_deck.items():
        if (res_data_pivot is None):
            res_data_pivot = self._on_deck[base][2] = self._pivot_res_data(res_data)
        if (ilk is None):
            for bft in res_data_pivot.itervalues():
                if (toplevelname in bft):
                    blobnames.update(bft[toplevelname])
        elif (ilk in res_data_pivot):
            if (toplevelname in res_data_pivot[ilk]):
                blobnames.update(res_data_pivot[ilk][toplevelname])
    if (ilk is None):
        for bft in self._data.itervalues():
            if (toplevelname in bft):
                blobnames.update(bft[toplevelname])
    elif (ilk in self._data):
        if (toplevelname in self._data[ilk]):
            blobnames.update(self._data[ilk][toplevelname])
    if blobnames:
        return blobnames
    return default
