'Return the blobnames of the given lang 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, lang, 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 (lang not in res_data):
            continue
        if (res_data_pivot is None):
            res_data_pivot = self._on_deck[base][2] = self._pivot_res_data(res_data)
        bftfi = res_data_pivot[lang]
        if (ilk is None):
            for bft in bftfi.itervalues():
                if (toplevelname in bft):
                    blobnames.update(bft[toplevelname])
        elif (ilk in bftfi):
            if (toplevelname in bftfi[ilk]):
                blobnames.update(bftfi[ilk][toplevelname])
    if (lang in self._data):
        bftfi = self._data[lang]
        if (ilk is None):
            for bft in bftfi.itervalues():
                if (toplevelname in bft):
                    blobnames.update(bft[toplevelname])
        elif (ilk in bftfi):
            if (toplevelname in bftfi[ilk]):
                blobnames.update(bftfi[ilk][toplevelname])
    if blobnames:
        return blobnames
    return default
