code: func (r *Reader) LabelValues(names ...string) (StringTuples, error) {
  
  	key := strings.Join(names, labelNameSeperator)
  	off, ok := r.labels[key]
  	if !ok {
  		// XXX(fabxc): hot fix. Should return a partial data error and handle cases
  		// where the entire block has no data gracefully.
  		return emptyStringTuples{}, nil
  		//return nil, fmt.Errorf("label index doesn't exist")
  	}
  
  	d := encoding.NewDecbufAt(r.b, int(off), castagnoliTable)
  
  	nc := d.Be32int()
  	d.Be32() // consume unused value entry count.
  
  	if d.Err() != nil {
  		return nil, errors.Wrap(d.Err(), "read label value index")
  	}
  	st := &serializedStringTuples{
  		idsCount: nc,
  		idsBytes: d.Get(),
  		lookup:   r.lookupSymbol,
  	}
  	return st, nil
  }
docs: // LabelValues returns value tuples that exist for the given label name tuples.