code: func NewDisembedderProvisioner(d Disembedder, pathAstilectron, pathElectron string) Provisioner {
  	return &defaultProvisioner{
  		moverAstilectron: func(ctx context.Context, p Paths) (err error) {
  			if err = Disembed(ctx, d, pathAstilectron, p.AstilectronDownloadDst()); err != nil {
  				return errors.Wrapf(err, "disembedding %s into %s failed", pathAstilectron, p.AstilectronDownloadDst())
  			}
  			return
  		},
  		moverElectron: func(ctx context.Context, p Paths) (err error) {
  			if err = Disembed(ctx, d, pathElectron, p.ElectronDownloadDst()); err != nil {
  				return errors.Wrapf(err, "disembedding %s into %s failed", pathElectron, p.ElectronDownloadDst())
  			}
  			return
  		},
  	}
  }
docs: // NewDisembedderProvisioner creates a provisioner that can provision based on embedded data