// Code generated by golang.org/x/tools/cmd/bundle. DO NOT EDIT.
//   $ bundle

// The package doc comment
//

package dest

import (
	"fmt"
	. "fmt"
	_ "fmt"
	renamedfmt "fmt"
	renamedfmt2 "fmt"

	"domain.name/importdecl"
)

// init functions are not renamed
func init() { prefixfoo() }

// Type S.
type prefixS struct {
	prefixt
	u int
}

// Function bar.
func prefixbar(s *prefixS) { fmt.Println(s.prefixt, s.u) }

type prefixt int

const prefixc = 1

func prefixfoo() {
	fmt.Println(importdecl.F())
}

func prefixbaz() {
	renamedfmt.Println()
	renamedfmt2.Println()
	Println()
}
