func GenerateManifest(config *ocispec.Descriptor, annotations map[string]string, descs ...ocispec.Descriptor) ([]byte, ocispec.Descriptor, error) {
	if config == nil {
		_, configGen, err := GenerateConfig(nil)
		if err != nil {
			return nil, ocispec.Descriptor{}, err
		}
		config = &configGen
	}
	return pack(*config, annotations, descs)
}
GenerateManifest generates a manifest. The manifest will include the provided config,
and descs as layers. Raw bytes will be returned.
package content
import (
	"encoding/json"
	"sort"
	"github.com/opencontainers/go-digest"
	specs "github.com/opencontainers/image-spec/specs-go"
	ocispec "github.com/opencontainers/image-spec/specs-go/v1"
	artifact "oras.land/oras-go/pkg/artifact"
)