// Code generated by go-bindata.
// sources:
// README.md.tmpl
// bindata.go
// courier/post-install.sh.tmpl
// dbconf.yaml.tmpl
// deploy.json.tmpl
// jenkins.groovy.tmpl
// slack.json.tmpl
// DO NOT EDIT!

package templates

import (
	"bytes"
	"compress/gzip"
	"fmt"
	"io"
	"io/ioutil"
	"os"
	"path/filepath"
	"strings"
	"time"
)

func bindataRead(data []byte, name string) ([]byte, error) {
	gz, err := gzip.NewReader(bytes.NewBuffer(data))
	if err != nil {
		return nil, fmt.Errorf("Read %q: %v", name, err)
	}

	var buf bytes.Buffer
	_, err = io.Copy(&buf, gz)
	clErr := gz.Close()

	if err != nil {
		return nil, fmt.Errorf("Read %q: %v", name, err)
	}
	if clErr != nil {
		return nil, err
	}

	return buf.Bytes(), nil
}

type asset struct {
	bytes []byte
	info  os.FileInfo
}

type bindataFileInfo struct {
	name    string
	size    int64
	mode    os.FileMode
	modTime time.Time
}

func (fi bindataFileInfo) Name() string {
	return fi.name
}
func (fi bindataFileInfo) Size() int64 {
	return fi.size
}
func (fi bindataFileInfo) Mode() os.FileMode {
	return fi.mode
}
func (fi bindataFileInfo) ModTime() time.Time {
	return fi.modTime
}
func (fi bindataFileInfo) IsDir() bool {
	return false
}
func (fi bindataFileInfo) Sys() interface{} {
	return nil
}

var _readmeMdTmpl = []byte("\x1f\x8b\x08\x00\x00\x09\x6e\x88\x00\xff\xb4\x54\x41\x8f\x1b\x37\x0f\xbd\xeb\x57\x10\xd8\xc3\xf7\x25\x58\x8f\xaf\x45\x80\x1e\xd2\x6e\x51\x14\x68\x9b\x8d\x77\x2f\x45\x50\xc0\xb4\x44\xcf\x30\x95\x44\x45\xe2\x78\x3a\x35\xfc\xdf\x0b\x8d\x66\xed\x6d\x91\x6b\xe7\x64\x58\xe4\xe3\xd3\xe3\x7b\x3a\x9f\xbb\x1d\x25\xf9\x15\x03\x5d\x2e\xe6\xdb\x57\x9f\x31\xbf\x70\x9f\x51\x59\x62\x81\xa3\x64\xd0\x81\xe0\x7c\xee\x1e\x50\xf1\x80\x85\x2e\x17\x70\xeb\x4f\x63\x0a\xe9\x98\xcc\x66\xb3\x31\xcf\x03\x17\x48\x59\x3e\x93\x55\x18\x95\x3d\xff\x45\x05\x3e\xb1\xa5\x80\xf1\xf7\xff\x0f\xaa\xa9\xbc\xdb\x6e\x7b\xd6\x0d\x4e\xa5\xe3\xa8\x94\x23\xfa\xee\xf3\x58\x94\x63\xa7\xa7\xad\xfb\x06\xb7\xad\xfc\x0d\xa8\x40\xa2\x7c\x94\x1c\x96\xf1\xe1\xca\xa8\x33\x66\x92\xfc\xc7\xd1\xcb\x54\xc7\xde\x3e\x73\x77\x77\x77\x07\xdf\x67\x42\x25\x40\x88\x34\xdd\xba\xcc\x6e\x8c\xb0\x6f\xd8\x60\x5b\xc9\xf5\x10\x9e\x24\xd0\x93\x1d\x28\xe0\xbe\xce\xc5\x51\xa5\xa7\x48\xf9\x06\x34\x63\xf0\x70\x64\x4f\x1d\xc0\x0f\x8e\x75\xe1\x34\x26\xc0\xe8\xc0\xc9\x14\x0d\x14\xb2\x4d\xb0\x89\x75\x58\x8e\x9f\x3e\xfe\x0c\x91\x2c\x95\x82\x79\x5e\x70\xad\x95\x90\x3c\x97\x01\x66\x19\x33\xf4\x82\xbe\x74\xf0\x9b\x8c\x60\x31\x02\xfa\x22\x50\x12\x59\x3e\xce\x80\xe0\xa8\x70\x26\x07\xca\x81\x64\xd4\x65\x11\x84\x76\xe8\xc0\xb4\x9b\x3e\x53\x51\x90\xd8\xb0\xbc\x58\xf4\x90\xa4\x68\x9f\xa9\x7c\xf1\xc6\xbc\x4f\xc9\xcf\xed\xd0\x0e\x18\x7b\x2a\xad\xc8\xcf\x70\x98\x21\x8f\x31\x72\xec\xaf\x9a\x8c\x69\x0f\xc7\x2c\x55\x6c\x2e\xe0\x38\x93\x55\xc9\xf3\x75\xd8\x4f\xc7\x0a\x05\x91\x2a\x23\xa9\xed\xf0\xf1\xfd\xfd\xf2\x5f\xe5\xee\x28\x79\x99\xaf\x83\x54\xa0\x28\xf6\x1c\x7b\xf3\x72\xbb\xb1\xd0\xa2\xca\xa7\xb5\x54\x45\x7c\x33\xc5\xbb\xed\xd6\x7a\xc2\xb8\x69\x27\x5f\x33\xc6\xdd\x76\x75\xeb\x87\x29\x52\xbe\x5c\xb6\xff\x30\xef\x9b\xba\x06\x03\x5a\xf5\xd0\x81\x72\x5d\xd2\xca\xd7\x49\xfc\x9f\x02\x87\x40\x8e\x51\xc9\xcf\x10\x28\xf7\x54\x09\x06\x2c\x4a\xf9\xbe\x76\xc4\xe5\x3e\xfb\xc3\xe8\xdc\x0c\xab\x20\xe7\x73\xd7\xd0\x97\xfd\xee\x0d\xf0\xaa\xf4\x7a\x31\xd8\x3d\x3c\xc1\x77\xad\x23\x16\xc5\x68\xa9\x33\x66\x47\x81\xc2\x81\x6a\x64\x50\x21\x48\xd1\x6b\xfd\x4b\x64\x0a\x58\x2f\x91\x9a\xda\x29\x8b\x1b\x17\xe3\x40\xe4\x7e\x50\x3f\xdf\x2f\x9e\xaa\xdc\x27\xf6\xfe\x26\x38\xad\xf2\x80\x43\xf6\xb7\xbd\xfc\x48\x0a\x99\x4e\x4c\x13\x39\xf3\x21\x5a\x5a\x5a\x07\x3c\xd1\xbf\x62\x73\x0f\x65\x3c\x04\x56\x40\x78\xdc\x55\xc4\x65\xd1\x99\x92\x2c\x03\x39\x9e\xb8\xba\x3d\x02\xfd\x99\x28\x33\x45\x4b\xee\xca\x19\xa6\x5c\x17\x9b\x7d\xa3\x52\xc7\x99\x05\xbf\x2d\xbc\x33\x06\xde\xc2\xa3\xa7\x5a\x9a\xb2\x9c\xd8\xbd\x40\x79\x8c\x2d\x63\x72\x7c\xd5\x00\x92\x21\x09\x47\x05\xa9\x84\x9a\xe9\xd9\xb6\xa8\xc2\x5b\x78\x1e\x68\x1d\x03\x65\x90\xd1\x3b\x38\xd0\x1a\x1f\x8c\x4c\xae\x85\xac\x60\x48\x9e\xe0\xcb\x58\xf9\x96\x55\x90\x87\x17\x7b\xbd\xd2\xd6\x34\x65\xea\xfc\xc7\x1d\x70\xa9\x50\x94\x94\xdc\xcd\xc0\xcd\x16\x55\x9e\x9a\xe8\xaf\x60\x5c\x73\x6d\xfe\x13\x0b\x77\x50\xdf\x81\xfc\xea\x51\xaa\xeb\x37\xf5\xde\xd5\x9b\xf5\x49\x0a\xa8\xbc\xe4\xb7\x33\x7f\x07\x00\x00\xff\xff\x86\xd0\x46\x9d\xbc\x05\x00\x00")

func readmeMdTmplBytes() ([]byte, error) {
	return bindataRead(
		_readmeMdTmpl,
		"README.md.tmpl",
	)
}

func readmeMdTmpl() (*asset, error) {
	bytes, err := readmeMdTmplBytes()
	if err != nil {
		return nil, err
	}

	info := bindataFileInfo{name: "README.md.tmpl", size: 1468, mode: os.FileMode(420), modTime: time.Unix(1481068655, 0)}
	a := &asset{bytes: bytes, info: info}
	return a, nil
}

var _bindataGo = []byte("\x1f\x8b\x08\x00\x00\x09\x6e\x88\x00\xff\xac\x56\x4d\x8f\xdc\xc6\x11\x3d\x0f\x7f\x45\x7b\x01\x07\x33\x80\x3c\xdb\xfc\x26\x05\xe8\x10\x4b\x1b\x40\x07\xc9\x80\xa3\x5b\x2a\x30\x9a\xfd\xb1\xa6\x35\x33\x9c\x90\x1c\xa5\x76\x0d\xfd\xf7\xe0\x75\xf5\xec\x4a\x09\x6c\x5d\x72\xe0\x70\xd8\xec\xae\x8f\x57\xef\x55\xf1\xf6\x56\xbd\x9e\x9c\x57\xf7\xfe\xe4\x67\xb3\x7a\xa7\x86\x07\x75\x3f\xfd\x30\x8c\x27\x67\x56\xb3\xcf\x6e\x6f\xd5\x32\x5d\x66\xeb\x97\x97\xf8\xff\xf3\xdd\x5f\xdf\xbc\xbb\xdb\x1f\xdd\x7e\x3d\x9e\x0f\x58\xb9\xee\xbc\x9f\xf0\x64\xa7\xcb\x3c\xfa\xf9\xf6\x3c\x2d\xeb\x0f\xe3\x69\x59\xcd\xe1\xb0\x5f\x7e\x7d\xda\xed\x06\x3b\x9d\xc2\xfe\xc1\x1c\x0f\xcf\x6b\xfe\x7c\x98\x1e\xf6\xbf\x2d\xd3\xe9\x69\xed\x37\x7f\xfa\x38\x9e\x96\xfd\xfd\x3c\x4d\x9f\x1e\x9e\x96\x97\x83\xb1\x1f\xbf\xde\xf9\xe6\x27\xf5\xfe\xa7\x0f\xea\xee\xcd\xdb\x0f\xdf\x65\xd9\xd9\xd8\x8f\xe6\xde\xab\xa3\x19\x4f\x59\x36\x1e\xcf\xd3\xbc\xaa\x6d\xb6\xb9\x19\x1e\x56\xbf\xdc\x64\x9b\x1b\x3b\x1d\xcf\xb3\x5f\x96\xdb\xfb\xc7\xf1\x8c\x85\x70\x5c\x71\x1b\x27\xf9\xbd\x1d\xa7\xcb\x3a\x1e\xf0\x30\xc5\x03\x67\xb3\xfe\x7a\x1b\xc6\x83\xc7\x1f\x2c\x2c\xeb\x3c\x9e\xee\xe3\xbb\x75\x3c\xfa\x9b\x6c\x97\x65\xe1\x72\xb2\x57\x28\x7e\xf6\xc6\x6d\xf1\x47\xfd\xe3\x9f\x70\xfb\x42\x9d\xcc\xd1\x2b\x39\xb6\x53\xdb\xeb\xaa\x9f\xe7\x69\xde\xa9\xdf\xb3\xcd\xfd\x63\x7c\x52\x2f\x5f\x29\x44\xb5\x7f\xef\xff\x0d\x23\x7e\xde\xc6\xb0\xf1\xfc\xe3\x25\x04\x3f\x47\xb3\xbb\x5d\xb6\x19\x43\x3c\xf0\xdd\x2b\x75\x1a\x0f\x30\xb1\x99\xfd\x7a\x99\x4f\x78\x7c\xa1\xc2\x71\xdd\xdf\xc1\x7a\xd8\xde\xc0\x90\xfa\xfe\x5f\x2f\xd5\xf7\x9f\x6e\x24\x92\xe8\x6b\x97\x6d\x3e\x67\xd9\xe6\x93\x99\xd5\x70\x09\x4a\xfc\x88\x93\x6c\xf3\x8b\x84\xf3\x4a\x8d\xd3\xfe\xf5\x74\x7e\xd8\xfe\x65\xb8\x84\x17\xea\xfe\x71\x97\x6d\xec\xe1\xee\x1a\xe9\xfe\xf5\x61\x5a\xfc\x76\x97\xfd\xbf\xe2\x81\x19\xb1\xff\x07\x86\xfc\x3c\x4b\xdc\x69\x71\xb8\x84\xfd\x8f\x08\x7d\xbb\x7b\x81\x1d\xd9\xe7\x2c\x5b\x1f\xce\x5e\x99\x65\xf1\x2b\x20\xbf\xd8\x15\x56\x62\x7e\xa9\x1e\xd9\x66\x3c\x85\x49\xa9\x69\xd9\xff\x6d\x3c\xf8\xb7\xa7\x30\x3d\x9d\x4b\x25\xbc\xae\x7f\x61\x21\xd6\x50\xa9\x54\xc6\x6c\xb3\x8c\x8f\xf1\x79\x3c\xad\x4d\x95\x6d\x8e\x50\x91\x7a\x32\xfa\x6e\x72\x3e\x2e\x7e\x18\x8f\x5e\x81\x26\x7b\xfc\x83\x9f\x48\x95\x6d\x18\xff\xdb\xd7\x4e\xbd\x37\x47\xbf\xdd\x25\x0f\xf0\x99\xb2\x0c\xe3\x1e\xde\xb3\xcf\x7f\x72\xf6\xef\xe3\x23\xce\xc6\x68\xbe\x3e\x8a\x40\xff\xf4\x28\x62\xdd\xee\xbe\x8c\xfc\x6b\x03\x48\xed\x5b\x06\x90\xdc\x76\xf7\x9c\xe8\xff\x58\x48\xd9\xff\xb1\x91\xb7\xcb\x9b\x71\xde\xee\xd4\x30\x4d\x87\x2f\x4f\x9b\xc3\xf2\x8d\xcc\x1f\x16\x49\xdc\xcf\xc1\x58\xff\xfb\xe7\x2f\x4e\x27\x4a\x80\xe5\xbf\xcc\xde\xb8\xa3\x7f\xe7\x3e\x1c\xcf\x07\xf5\x2a\x71\x61\x7b\x43\x9c\x07\xe2\x6e\x20\xd6\x1d\xb1\xd6\xe9\xea\x89\x1b\x4f\xdc\xa5\xb5\x10\x88\x87\x8a\xb8\xae\x88\xab\x9c\xb8\x0b\xc4\xf9\x40\x5c\xb6\xc4\x1a\xef\x1c\xb1\x1f\x88\xeb\x96\x38\xd7\xc4\xae\x23\xb6\x25\x71\x68\x89\x8b\x9a\xb8\xee\xe4\x8c\x09\xc4\x55\x4d\xdc\x69\xe2\xdc\x13\xbb\x42\xfc\xd4\x39\x71\x5e\x11\x37\x1d\x71\x3f\x10\x77\x8e\xb8\xc5\xd9\xb4\xbf\xd6\xc4\x56\x4b\x0c\x55\x45\x6c\x03\x71\xa9\x89\xfb\x5a\x9e\xb1\xc7\x17\xc4\x6d\x47\x5c\x1a\xe2\xb2\x26\x0e\x96\xd8\x05\x62\x9d\xec\x35\x0d\xb1\xc7\xdd\x11\xf7\x39\x71\x33\x10\xfb\x96\xb8\xa9\x24\x3e\x5f\x11\xfb\x92\xd8\x95\x72\x6f\x07\xb1\xd5\x23\xbf\x81\x38\x77\x92\x4b\xe8\x89\xf3\x9a\x58\x97\xc4\x35\xd6\x3c\xb1\x6f\x88\x5d\xca\x1f\xfb\xcb\x9c\x78\x08\xc4\xad\x96\x67\xe4\x57\x03\xd3\x82\xb8\xcb\x89\x4d\x29\x7e\x9d\x96\x67\xaf\x89\x5b\x4b\xec\xbd\xe0\x82\x7c\x43\x2e\x38\x75\xb5\xf8\xc8\x5b\xb1\x07\x9c\xab\x40\xdc\x94\xc4\xda\x10\xfb\x9e\xb8\x07\xde\x56\x72\x1c\x4a\xf1\x0f\x8c\x10\x23\xce\x55\x9d\xf8\x2f\x3d\x71\x8f\xb8\x6b\xe2\xbc\x13\xfc\x4a\x27\xf5\x05\x86\xba\x96\x3d\x03\x62\x4c\x75\x42\x1c\xa8\x23\xf6\xa0\xd6\xc6\x10\x9b\x9e\x78\xb0\x92\x33\xea\x07\xac\x5c\x43\xac\x1d\x71\xe5\xe5\x2c\x30\x34\xf0\x51\x11\x17\xe0\x82\x91\xfc\x42\x29\x78\x63\x1d\x39\x98\x36\x5d\x88\x03\x3c\x44\x0e\xd7\x67\x2b\x36\x61\xa7\xd2\xc4\xa6\x10\x9c\x70\x36\xc7\xbd\x91\xf8\x3c\xf2\x35\xb2\xaf\x2c\x05\x87\xbe\x90\xf3\xb6\x25\x76\x78\x3f\x08\x7f\xe3\xb3\x97\x3c\xdb\x52\x78\x76\xbd\x74\x2b\x9c\x69\x80\x59\x21\xf5\x86\x5f\xe8\xa0\x44\xbd\x1c\xf1\x60\x12\xd6\xd0\x87\x25\x1e\x34\x71\x13\x84\xf3\x8d\x26\xae\x07\x62\xdb\x13\x87\x5a\xb4\xd0\x7b\xe2\x22\xd5\x1a\xd8\x47\x1e\x75\x52\xf3\xc1\x13\x5b\x5c\xb5\x70\x04\xb8\x99\x54\x2f\xf0\x0c\x58\x94\x09\xa7\xa0\xa5\xfe\xe0\x0d\xea\x0f\x3b\xd0\x04\x6a\xd2\x21\x97\x5a\x70\xc0\xfe\xa2\x91\x77\xbe\x93\x3b\xe2\x81\xbe\x80\x25\xee\x43\x41\x5c\x39\x89\xbd\xeb\xe5\x6c\xd4\xa8\x4f\xfc\x45\x9d\x3c\xb1\xb6\xa2\x95\xc2\x0a\x57\x3a\xe0\xdf\x13\xd7\x5e\x62\x41\x8d\xb0\xde\x6b\xe2\x12\x7b\x80\x61\x2e\xf8\xe7\xbd\xd4\x22\x54\x72\x0e\xb9\xb6\x95\xe4\x11\x35\x6e\x05\x2f\x70\x55\x17\xc2\x8f\xa2\x10\xee\xe7\xc5\x33\x5f\x81\x0f\x78\x08\xbc\x50\x5f\xf8\x45\x7e\xa8\x15\x6a\x0e\xfd\x44\x2d\x01\x27\x60\x0e\xdd\x54\xc4\x6d\xf3\x9c\x3f\xfa\x06\x7c\xc2\x5e\x5d\x0a\xd6\x7d\xea\x53\xc0\x00\x5c\x46\xfe\x88\x15\xeb\xe6\xda\x8b\x82\x70\x1d\x9c\x03\xcf\x6c\x23\x7b\x81\x3f\x30\x85\xc6\xd0\x53\x50\x5b\xed\x45\x53\xd0\x42\x61\x04\x1b\xdb\xc9\x9e\xd8\x07\x3a\xe2\x22\xf5\x4e\xe4\xdc\x16\xc4\xde\x4a\x4f\xec\x4d\xc2\xa3\x97\x7a\x82\xa3\xc0\x1c\x3a\x6d\x6c\xea\x31\xc0\xaa\x7b\xd6\x6f\xe4\x58\x29\xb5\x43\x1e\x55\x3a\x87\x9e\x00\x1d\xc7\xba\x19\xd1\x1e\x72\x40\x9c\xe1\xaa\x67\x97\x2e\xe0\x8c\x1c\x6a\xd1\x26\x78\x89\xfa\xf6\xbd\xc4\xd5\x95\xa2\x19\xa3\xe5\x5d\x68\x44\x77\xc8\x31\xfa\x2e\xa4\x37\xa2\x5f\xb8\xa4\xcf\xa8\xc3\x96\x78\xa8\xd3\xbc\xa8\x05\x3f\x70\x01\x3c\xc7\xfe\x88\x59\x43\xdc\x42\x4b\xb0\xd1\x49\xee\x45\x2b\xf1\xc4\xbd\x8d\xe8\x0d\x75\x8c\xdc\x06\x67\x80\x0b\xf8\x97\xf8\x54\x43\x7f\x8d\xf4\x26\xcc\x03\x1f\xa4\xce\xd0\x28\xb4\x13\x7b\xb4\x11\x2d\x5e\x7b\x2d\x62\x46\xdf\x76\x29\x56\x07\xbd\xf5\xd2\x2b\x50\x6f\x70\x11\x7e\xa2\xee\xd3\x6c\xba\xd6\x3a\xbf\xe2\xd0\x4a\x6e\x3a\x69\x14\xb5\xaa\x8c\x68\x36\xf2\x1c\xfa\xab\x04\xd7\xa8\xa5\x41\xe6\x21\xf8\xe8\xac\xe8\xca\x80\x27\x5a\x66\x10\xfa\x10\xe2\x88\x3d\xa2\x95\xda\xa0\x1e\x3a\xd5\x0c\x3d\x17\xdc\x04\x5e\xe0\x0e\xea\x8d\xbe\x0d\xcd\xd9\x5c\x7a\x17\xf8\x86\x5a\xe7\x8d\xe0\x0c\xfe\x9a\xfe\xb9\x1f\x56\xad\xe4\x6f\xd3\x0c\x6a\x4c\x9a\x7d\x5a\x78\x89\x9e\xe3\xd2\x5c\x84\xff\x6a\x90\xf7\xe0\x13\xb4\x81\x59\x0c\x4e\x81\xab\xce\x48\x1d\xf0\xdd\x80\xef\x00\xcc\x18\xf4\x7b\x60\x86\x39\xda\xa6\x19\x56\x06\xe9\xa7\xf1\xac\x97\x3c\x90\x3f\xea\x0c\x2e\xa1\xc7\x40\xcb\xe0\xb5\x49\x7c\x84\xd6\xab\x52\xde\x63\x0e\x0c\x69\x0e\x20\x3e\xc4\x02\x6e\x62\xc6\x54\x96\x38\xc7\xac\x4b\x3a\x40\x0e\xa8\xf5\xf5\x42\x7f\x00\x3e\x2e\xcd\x62\xcc\x5e\xe0\x0c\x7d\xa1\x4f\xe0\x9d\x46\xfe\x8d\xc4\xdd\xa6\xda\x44\x6d\xa5\x5e\x82\xb3\xf0\x87\x59\x82\x1a\xeb\xe4\x0f\xb9\x80\xb3\xe0\x19\xea\x10\xfb\x97\x93\xbd\x45\x9a\x41\xe0\x3d\x30\x44\x1d\xc1\x33\xf4\x43\xd3\x08\x67\x81\x17\x78\xda\x3a\xf9\x16\x00\x9f\xa1\x5d\x9c\x87\x76\x11\x6f\xe1\xa4\xd7\xc0\x16\x38\x86\x99\x85\xda\x99\x34\x33\x91\x23\x6a\x81\x5e\xde\xdb\xd4\xcb\x5c\xca\xa5\x97\x7e\x02\x1b\x4d\xd2\x29\x34\xe8\x6a\xf9\x9e\x8b\xf9\xe4\xc2\x5f\xf0\x02\x3e\xc1\x15\xf4\xcd\x3e\x7d\x53\xb8\x5e\xb4\x85\x9e\x0b\xbf\x98\x6b\xc0\x08\xdf\x27\xe0\x16\xe6\x0f\xf0\x68\x52\xff\x07\x56\xe5\x20\xb5\x04\x8f\x73\x93\xbe\x2d\xad\xd4\xca\x78\xf9\x96\x31\xa9\xef\xa3\x9e\x7d\xea\x6b\x71\x36\xa7\x99\x87\x99\x5e\x27\x9b\xd0\x61\xfc\xee\x19\x24\x37\x68\xd6\x5d\x67\x22\x7a\x82\x79\x9e\xf1\x88\x27\xce\xa4\x5e\xb8\x87\x6f\x04\x5c\xa8\xa9\x4d\xb3\x12\xf7\xfc\x6a\xdf\x13\xff\x27\x00\x00\xff\xff\xdc\xa8\xd4\x9c\x00\x10\x00\x00")

func bindataGoBytes() ([]byte, error) {
	return bindataRead(
		_bindataGo,
		"bindata.go",
	)
}

func bindataGo() (*asset, error) {
	bytes, err := bindataGoBytes()
	if err != nil {
		return nil, err
	}

	info := bindataFileInfo{name: "bindata.go", size: 8192, mode: os.FileMode(420), modTime: time.Unix(1482181987, 0)}
	a := &asset{bytes: bytes, info: info}
	return a, nil
}

var _courierPostInstallShTmpl = []byte("\x1f\x8b\x08\x00\x00\x09\x6e\x88\x00\xff\x7c\x8f\xc1\x4e\x32\x31\x18\x45\xf7\x7d\x8a\xfb\x87\x3f\xb2\x82\x46\xb7\x80\x09\xd1\xa2\x24\x32\x10\xc7\xb8\xff\x4a\xeb\xd0\x64\x68\x6b\xbf\x16\x21\xc3\xbc\xbb\x01\x37\xae\xdc\x9f\x7b\x73\xce\xe0\x9f\xd4\xce\x4b\x4d\xbc\x13\xf5\xc3\xb3\x5a\xcd\x67\x5d\x37\x7e\xa4\x4c\x9a\xd8\xf6\xbd\x10\x5c\x4c\xc0\xa8\x40\x17\x63\x4e\xb8\x80\x98\x4e\xd5\x7a\x21\x00\x60\x80\x54\x3c\xf6\xae\x49\x94\x5d\xf0\x0c\xf2\x06\x07\x67\xbf\xc0\x99\x72\x61\x5c\x29\x7b\x8c\x21\x65\x6c\x9e\x36\xf3\xba\x5e\x2c\x5f\xd4\x4c\x1e\x28\xc9\xd6\x69\x19\x03\xe7\x26\x59\xfe\x6c\xe5\x38\x36\x91\x98\xaf\x0b\xb7\xb5\x7b\xf2\x18\x59\xfc\x57\xd5\xfb\xf2\x75\x5d\xad\x54\xf5\x86\x12\x71\x3e\xa3\x83\xdd\xee\x02\x86\x1f\xe4\x5a\x6b\x90\x03\x28\xc6\xf6\xf4\x4b\x63\x88\xfb\x9b\x3b\x4c\x60\x8f\x2e\xe3\x76\x82\xfe\xaf\xd3\x1f\x53\x71\x49\xfa\x0e\x00\x00\xff\xff\x3f\x8f\x13\xd9\x0e\x01\x00\x00")

func courierPostInstallShTmplBytes() ([]byte, error) {
	return bindataRead(
		_courierPostInstallShTmpl,
		"courier/post-install.sh.tmpl",
	)
}

func courierPostInstallShTmpl() (*asset, error) {
	bytes, err := courierPostInstallShTmplBytes()
	if err != nil {
		return nil, err
	}

	info := bindataFileInfo{name: "courier/post-install.sh.tmpl", size: 270, mode: os.FileMode(420), modTime: time.Unix(1481675476, 0)}
	a := &asset{bytes: bytes, info: info}
	return a, nil
}

var _dbconfYamlTmpl = []byte("\x1f\x8b\x08\x00\x00\x09\x6e\x88\x00\xff\x4a\x49\x2d\x4b\xcd\xc9\x2f\xc8\x4d\xcd\x2b\xb1\xe2\x52\x50\x48\x29\xca\x2c\x4b\x2d\xb2\x52\xa8\xae\xd6\x73\x01\x33\x6b\x6b\x41\xa2\x89\x25\x89\x49\x89\xc5\xa9\x10\xf1\xd4\xb4\xc4\xd2\x9c\x12\xe7\xfc\xbc\xbc\xd4\xe4\x92\xcc\xfc\xbc\xda\x5a\x2e\xae\xe2\x92\xc4\xf4\xcc\xbc\x74\x4a\x8c\x28\x28\xca\x4f\x29\x05\xf3\x28\x30\x05\x10\x00\x00\xff\xff\xac\x73\x71\x40\xcf\x00\x00\x00")

func dbconfYamlTmplBytes() ([]byte, error) {
	return bindataRead(
		_dbconfYamlTmpl,
		"dbconf.yaml.tmpl",
	)
}

func dbconfYamlTmpl() (*asset, error) {
	bytes, err := dbconfYamlTmplBytes()
	if err != nil {
		return nil, err
	}

	info := bindataFileInfo{name: "dbconf.yaml.tmpl", size: 207, mode: os.FileMode(420), modTime: time.Unix(1482175770, 0)}
	a := &asset{bytes: bytes, info: info}
	return a, nil
}

var _deployJsonTmpl = []byte("\x1f\x8b\x08\x00\x00\x09\x6e\x88\x00\xff\x54\x8e\x4d\x8a\xc3\x30\x0c\x85\xf7\x39\x85\xd1\x3a\x99\x03\xe4\x10\x33\x90\x59\x0e\x43\x71\x1d\x35\xb8\xb5\x2d\x23\x3b\x29\xc5\xe8\xee\xc5\xf9\xa1\xed\x52\xef\x7b\x9f\xa4\xd2\x28\xa5\x14\x30\x91\x87\x5e\x41\x29\x5f\xbf\x4e\x9b\xdb\x40\xe4\x45\xa0\xdd\xe8\x95\xce\x3b\x1c\x30\xd2\xcf\x3d\x20\x8b\x74\xfb\xf8\xad\x3d\x8a\x74\x23\x46\x47\x8f\xc3\x30\x14\xd2\xec\x4e\x09\x79\xb1\x06\x13\xf4\xea\x0f\x3e\xfa\xf0\xbf\x37\x35\x67\x7b\xd1\x26\xd7\x03\x59\xf3\xb1\x00\xc3\x62\x99\x82\xc7\x90\xab\xbd\xbd\xb9\x92\x11\x17\x74\x14\x2b\x81\xbe\x48\xfb\x22\x91\x69\x9c\x4d\xb6\x14\xaa\xf1\x4e\x52\xd6\x93\x0d\xd3\x1a\xaf\xa9\x34\xd2\x3c\x03\x00\x00\xff\xff\xd5\x44\x30\xae\xfb\x00\x00\x00")

func deployJsonTmplBytes() ([]byte, error) {
	return bindataRead(
		_deployJsonTmpl,
		"deploy.json.tmpl",
	)
}

func deployJsonTmpl() (*asset, error) {
	bytes, err := deployJsonTmplBytes()
	if err != nil {
		return nil, err
	}

	info := bindataFileInfo{name: "deploy.json.tmpl", size: 251, mode: os.FileMode(420), modTime: time.Unix(1481068655, 0)}
	a := &asset{bytes: bytes, info: info}
	return a, nil
}

var _jenkinsGroovyTmpl = []byte("\x1f\x8b\x08\x00\x00\x09\x6e\x88\x00\xff\x8c\x50\xdb\x8a\xe3\x30\x0c\x7d\xcf\x57\xe8\xcd\xbb\xb0\x4a\xbe\xa1\xb0\x7d\x59\x76\x2e\xcc\xf4\x07\xdc\x44\x4d\x34\x75\xec\x20\xc9\x2d\xa5\xe4\xdf\x87\xa4\x69\x61\x0a\x73\x79\x30\xb2\xac\x63\x9d\xcb\x4e\x88\x5e\xed\x14\xe8\x5f\xda\xfe\x72\xe7\x73\xf9\x42\x43\x7a\x3a\x46\x92\x71\xc4\xa5\x7d\xf4\x3d\x8d\xa3\xfb\x0d\xe7\x02\x20\x2b\xc7\x16\xdc\x66\xfd\xf0\xfc\x7f\xb5\x59\xa3\xcf\x96\xb6\x99\x43\xe3\x0a\x00\xad\xfb\x19\x04\xd0\xb2\x2d\x37\x00\xa1\x3e\x19\xdd\xda\x79\xd8\xe5\x2d\xdc\xd1\x55\x1f\xe9\xfe\x80\x53\xed\xa6\xd2\xb2\xa1\x3f\x6a\xc9\xd1\x48\xa2\x0f\xe5\x5b\x56\xe3\x58\xda\xc1\xdd\x56\xd6\x42\x0d\x45\x63\x1f\xf4\xf6\x01\x85\x7c\x83\x7b\x3a\x5d\x61\xe3\x52\xeb\x40\x3e\x82\x49\xa6\xe2\xfa\x3c\x1d\x35\x1a\x74\x91\xa9\xfe\x40\x7f\x69\x08\xe9\xb4\x12\xe3\x9d\xaf\xed\x7b\xb9\xa5\x9b\x17\x8d\x45\xf1\xf3\x54\xb1\x99\x49\x3e\x09\xf7\x32\x9c\xbc\xb8\x7b\x7d\x1d\x85\x00\xae\x4e\x59\x98\x04\x2e\x40\x40\xd4\x3d\x0f\x28\xa4\xe6\xc5\x00\x51\x68\x48\xf0\x95\x6e\x40\x6c\x58\xa0\x4a\x83\x55\x76\x64\xab\xbb\xaa\xe7\x56\xbc\x71\x8a\x3a\x41\x17\x7b\x8b\xb3\xf7\x00\x00\x00\xff\xff\xfc\x92\x1b\x47\x2f\x02\x00\x00")

func jenkinsGroovyTmplBytes() ([]byte, error) {
	return bindataRead(
		_jenkinsGroovyTmpl,
		"jenkins.groovy.tmpl",
	)
}

func jenkinsGroovyTmpl() (*asset, error) {
	bytes, err := jenkinsGroovyTmplBytes()
	if err != nil {
		return nil, err
	}

	info := bindataFileInfo{name: "jenkins.groovy.tmpl", size: 559, mode: os.FileMode(420), modTime: time.Unix(1482181970, 0)}
	a := &asset{bytes: bytes, info: info}
	return a, nil
}

var _slackJsonTmpl = []byte("\x1f\x8b\x08\x00\x00\x09\x6e\x88\x00\xff\xbc\x8f\xcd\x09\xc3\x30\x0c\x46\xef\x99\x42\xa8\xd7\xd0\x01\x32\x46\x3b\x81\x71\x94\xd4\x54\x91\x8c\x7f\x02\xc5\x78\xf7\x12\xe7\x64\x72\x2c\xf4\x66\xfc\xde\xc7\x43\x65\x00\x00\x40\xfb\x32\x22\xc4\x38\x01\xde\x4a\xb9\x3f\xd9\xd8\xf7\x43\x75\xab\x15\xc7\xd3\x98\xc9\xb3\x7e\x70\x82\x73\xd1\xfe\x48\x76\x17\x54\x36\x92\x14\x3b\xd2\xa8\x0f\x3a\x67\x9b\x9c\xca\x85\x35\x1e\xb3\xb5\x14\x8f\xe1\x62\x38\xd2\x78\x35\x16\xe3\x38\x07\xc2\x09\x52\xc8\xd4\xf1\xda\xeb\x18\x93\x59\x9d\xac\x7f\x28\xcd\xb4\x13\xab\x3f\x8e\xfe\xbd\xd6\x8c\x3e\x37\xf4\xaf\x3a\xd4\x6f\x00\x00\x00\xff\xff\x5f\x3f\xa7\xfb\xa4\x01\x00\x00")

func slackJsonTmplBytes() ([]byte, error) {
	return bindataRead(
		_slackJsonTmpl,
		"slack.json.tmpl",
	)
}

func slackJsonTmpl() (*asset, error) {
	bytes, err := slackJsonTmplBytes()
	if err != nil {
		return nil, err
	}

	info := bindataFileInfo{name: "slack.json.tmpl", size: 420, mode: os.FileMode(420), modTime: time.Unix(1481679072, 0)}
	a := &asset{bytes: bytes, info: info}
	return a, nil
}

// Asset loads and returns the asset for the given name.
// It returns an error if the asset could not be found or
// could not be loaded.
func Asset(name string) ([]byte, error) {
	cannonicalName := strings.Replace(name, "\\", "/", -1)
	if f, ok := _bindata[cannonicalName]; ok {
		a, err := f()
		if err != nil {
			return nil, fmt.Errorf("Asset %s can't read by error: %v", name, err)
		}
		return a.bytes, nil
	}
	return nil, fmt.Errorf("Asset %s not found", name)
}

// MustAsset is like Asset but panics when Asset would return an error.
// It simplifies safe initialization of global variables.
func MustAsset(name string) []byte {
	a, err := Asset(name)
	if err != nil {
		panic("asset: Asset(" + name + "): " + err.Error())
	}

	return a
}

// AssetInfo loads and returns the asset info for the given name.
// It returns an error if the asset could not be found or
// could not be loaded.
func AssetInfo(name string) (os.FileInfo, error) {
	cannonicalName := strings.Replace(name, "\\", "/", -1)
	if f, ok := _bindata[cannonicalName]; ok {
		a, err := f()
		if err != nil {
			return nil, fmt.Errorf("AssetInfo %s can't read by error: %v", name, err)
		}
		return a.info, nil
	}
	return nil, fmt.Errorf("AssetInfo %s not found", name)
}

// AssetNames returns the names of the assets.
func AssetNames() []string {
	names := make([]string, 0, len(_bindata))
	for name := range _bindata {
		names = append(names, name)
	}
	return names
}

// _bindata is a table, holding each asset generator, mapped to its name.
var _bindata = map[string]func() (*asset, error){
	"README.md.tmpl":               readmeMdTmpl,
	"bindata.go":                   bindataGo,
	"courier/post-install.sh.tmpl": courierPostInstallShTmpl,
	"dbconf.yaml.tmpl":             dbconfYamlTmpl,
	"deploy.json.tmpl":             deployJsonTmpl,
	"jenkins.groovy.tmpl":          jenkinsGroovyTmpl,
	"slack.json.tmpl":              slackJsonTmpl,
}

// AssetDir returns the file names below a certain
// directory embedded in the file by go-bindata.
// For example if you run go-bindata on data/... and data contains the
// following hierarchy:
//     data/
//       foo.txt
//       img/
//         a.png
//         b.png
// then AssetDir("data") would return []string{"foo.txt", "img"}
// AssetDir("data/img") would return []string{"a.png", "b.png"}
// AssetDir("foo.txt") and AssetDir("notexist") would return an error
// AssetDir("") will return []string{"data"}.
func AssetDir(name string) ([]string, error) {
	node := _bintree
	if len(name) != 0 {
		cannonicalName := strings.Replace(name, "\\", "/", -1)
		pathList := strings.Split(cannonicalName, "/")
		for _, p := range pathList {
			node = node.Children[p]
			if node == nil {
				return nil, fmt.Errorf("Asset %s not found", name)
			}
		}
	}
	if node.Func != nil {
		return nil, fmt.Errorf("Asset %s not found", name)
	}
	rv := make([]string, 0, len(node.Children))
	for childName := range node.Children {
		rv = append(rv, childName)
	}
	return rv, nil
}

type bintree struct {
	Func     func() (*asset, error)
	Children map[string]*bintree
}

var _bintree = &bintree{nil, map[string]*bintree{
	"README.md.tmpl": &bintree{readmeMdTmpl, map[string]*bintree{}},
	"bindata.go":     &bintree{bindataGo, map[string]*bintree{}},
	"courier": &bintree{nil, map[string]*bintree{
		"post-install.sh.tmpl": &bintree{courierPostInstallShTmpl, map[string]*bintree{}},
	}},
	"dbconf.yaml.tmpl":    &bintree{dbconfYamlTmpl, map[string]*bintree{}},
	"deploy.json.tmpl":    &bintree{deployJsonTmpl, map[string]*bintree{}},
	"jenkins.groovy.tmpl": &bintree{jenkinsGroovyTmpl, map[string]*bintree{}},
	"slack.json.tmpl":     &bintree{slackJsonTmpl, map[string]*bintree{}},
}}

// RestoreAsset restores an asset under the given directory
func RestoreAsset(dir, name string) error {
	data, err := Asset(name)
	if err != nil {
		return err
	}
	info, err := AssetInfo(name)
	if err != nil {
		return err
	}
	err = os.MkdirAll(_filePath(dir, filepath.Dir(name)), os.FileMode(0755))
	if err != nil {
		return err
	}
	err = ioutil.WriteFile(_filePath(dir, name), data, info.Mode())
	if err != nil {
		return err
	}
	err = os.Chtimes(_filePath(dir, name), info.ModTime(), info.ModTime())
	if err != nil {
		return err
	}
	return nil
}

// RestoreAssets restores an asset under the given directory recursively
func RestoreAssets(dir, name string) error {
	children, err := AssetDir(name)
	// File
	if err != nil {
		return RestoreAsset(dir, name)
	}
	// Dir
	for _, child := range children {
		err = RestoreAssets(dir, filepath.Join(name, child))
		if err != nil {
			return err
		}
	}
	return nil
}

func _filePath(dir, name string) string {
	cannonicalName := strings.Replace(name, "\\", "/", -1)
	return filepath.Join(append([]string{dir}, strings.Split(cannonicalName, "/")...)...)
}
