code: func parseCIMD(u *url.URL) (*cimd, error) {
  	if u.Scheme != Scheme {
  		return nil, fmt.Errorf("unsupported scheme: %q", u.Scheme)
  	}
  	parts := strings.SplitN(u.Opaque, ":", 3)
  	if len(parts) < 3 {
  		return nil, fmt.Errorf("malformed distribution uri: %q", u.String())
  	}
  	version, err := strconv.ParseUint(strings.TrimPrefix(parts[1], "v="), 10, 32)
  	if err != nil {
  		return nil, fmt.Errorf("malformed distribution version: %s", parts[1])
  	}
  	return &cimd{
  		Type:    Type(parts[0]),
  		Version: uint32(version),
  		Data:    parts[2],
  	}, nil
  }
docs: // parseCIMD parses the given url and returns a cimd.