code: func parseHexAddresses(s string) ([]uint64, error) {
  	hexStrings := hexNumberRE.FindAllString(s, -1)
  	var addrs []uint64
  	for _, s := range hexStrings {
  		if addr, err := strconv.ParseUint(s, 0, 64); err == nil {
  			addrs = append(addrs, addr)
  		} else {
  			return nil, fmt.Errorf("failed to parse as hex 64-bit number: %s", s)
  		}
  	}
  	return addrs, nil
  }
docs: // parseHexAddresses extracts hex numbers from a string, attempts to convert
  // each to an unsigned 64-bit number and returns the resulting numbers as a
  // slice, or an error if the string contains hex numbers which are too large to
  // handle (which means a malformed profile).