code: func New(ctx context.Context, cfg *config.GCSCli) (*GCSBlobstore, error) {
  	if cfg == nil {
  		return nil, errors.New("expected non-nill config object")
  	}
  
  	authenticatedGCS, publicGCS, err := newStorageClients(ctx, cfg)
  	if err != nil {
  		return nil, fmt.Errorf("creating storage client: %v", err)
  	}
  
  	return &GCSBlobstore{authenticatedGCS: authenticatedGCS, publicGCS: publicGCS, config: cfg}, nil
  }
docs: // New returns a GCSBlobstore configured to operate using the given config
  //
  // non-nil error is returned on invalid Client or config. If the configuration
  // is incompatible with the GCS bucket, a non-nil error is also returned.