// Code generated by go-bindata. // sources: // text.png // DO NOT EDIT! package assets import ( "fmt" "io/ioutil" "os" "path/filepath" "strings" "time" ) 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 _textPng = []byte("\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00\xc0\x00\x00\x00\x80\b\x03\x00\x00\x00jZ\x96Y\x00\x00\x00\x06PLTE\x00\x00\x00\xff\xff\xff\xa5\u065f\xdd\x00\x00\x00\x01tRNS\x00@\xe6\xd8f\x00\x00\a\xb2IDATx\x9c\xec\x1c\x89v#!\b\xf2\xe6\xff\u007f\x99MT\xe4\xf4\x984m\x8e\r\xbb\xb5\x13\x83\x1c\xe2\x01\x8c\xf6\x02o\x0e_\x05n\x80\x83\x9aX?j\x1b\xf1w\xda\xde\xe0\x02x\x05iu\xfd\x87\xf5\xa1\u0537\xb2}\x8b\x86<\xb6\xf2\xb9`,\x80t\xfb\xd7>\xd0\x15J)\u07d2\xd5\xe0/`\xd0G\u0497\x87\xae.\xf2\xa3\xb2g\x11\x9e|c\xaa\xa8\xfb\x12D\x1a\xbb\x90\xf0\xba}\xb8\xfep\xdda\xeb\xd9\x06\xa8x2\xeaU5E\xa8Yc\xa9\u01fd\xa2k\xeaYoq\r+\x807\xe4f\x01C\xa2\x97T\xdb\xe0\xed\u007f\xed\x17~\u0691\xc40\xdd\x05\x19\xceM\xacR\xa2\xebZ3Yqcp\x8f\u059cX\xf3\xe3U\b\xd5\a\x94\xaa\xb6\ue532Y\x80\u0298Q\x16P\x1asi\xd8R\xa7O\x9dy\xaf#%\x11\x05a)\xd3\x00\x9am\x1b\xf4QK\u00ad\xe3P\xab&e\x01QR\x9e\x9d\xea)\u05f8r\x9f]\xcbG\xad\x10\x94\x00\x00v\xd5V\xe8}\x12\xb7\xe9.\xebh\xedJ\xb7\"=\x02N\xcd\abTLF\xc0\r\x0e[\xad\xf7\x81V\xde*\u0231\xff\x912\xfb\x8d\x93\x01\xcc\xca\xf4\xe5#\xd9\a\x1c\x03Wa\xec\xf3\x03\u0631\x03\u0652T}\xdepo\x15\x9a\x8b\xf4\xe09\xf0\xf9\xf0u\xa7\x9f\r\x1f\xa6\xc0b\x0e\x87\xcd\xe5\x05\xc0x\xa3\xfd\xb1|\x90\xc2:mg\xdc\xe9\xb2b\x83P\xeb{#U\xa2\xc93\xb2+\x12\x19\xf4=\xb6\xfe\u01b8A\xa1\x0e\xb5\u063d\x13/%:^+CH\xfb\xc4EAcS\b\x02DbN\xd8\xdbO2\a\x9aWz\xf5\xed\x8a{\xe7\tu\x1f\x1d\x9c\u07d4\xc9O\xfeA>\x1a\x93\xe7h\xae\xb3\xe4K\xe5\xf3[\x05\xa8nr\xa47\xbd\x12'`\x1a\x9b\x11\xae\x03\x1aP\xa6N\xe4T\x8eqB\xd3\x18\x84*bA\xa58\xc4P?*\xa2\\\xa0G4\xde9\x8a\x86\xaf\u01b9\x18t\x18\xbbB\x9dEU\xa5\xcaS]\xf6vQ\\{\x1a\u007f\xb8\"\xab\xe3Bo\x11R\x06\xd0I\u0263g6\xc5m\xd6.g\xe2,\xa08\x1a\xfd\x17\x19\x14$L\xc2\xc8z\xeaG\xea\xb1\a\xa8\xab\x90r\x13&A\xa0\xce$\u06d0\xae\a\x8f\xa0\x03\xc3QH\xa9\xea%P\xb4!e\x8fQ;\x02\xda\xf5\xc2\u0375\x03\u0337\f\xa6\xd7\xcd\x1b\x80\u027b\xb7\xa4y\xac\xdf\fh\x14i\xc3=0;\xa4:\x9d\xcc;\x06\xdc>\x00(47[l\xa0\r&q\xa6\xf3x\xb9\x9aj\xd0]\xf4H\xbb\xbft)\x04\xf4\x04\xa0\xed\x80\xe40\u00a9x@N\x9b\x89qMrCS\xa7\xec\x8dOkK\xbe-\xd7c\xe5\xe2O\x19\xd6W\xa3\xd4\xe7\xc9\xe3\x96g\x9d\x8d1\x95\xcbV\x9b\xa8c^\x93\x9d\xf8$U\x9aWd\x8d\xceD\xe8\xe7H\u007f\x06|\x807\xfa\xe6\xf0U\xe0\xd9\xf0U\xe0\xd9\xf0U\xe0\xd9\xf0U\xe0\xd9\xf0U\xe0\xd9\xf0U\xe0\xd9\xf0U\xe0\xd9\xf0U\xe0\xd9\xf0\xbf(\xc0I\xed;\x00Cv\x01\u0359\xcaGq49x\u0535\xea\xa7f*\xfb\xddK9\xb4\xedr;\xfd~\xa6dA\x01\xd43\xba6\xe6\u0135\x88`\x9a\x9b\xd7\x03\xc3\x1e@\xc3'(\x00^\xb1(\v8l\xb4(ir\a\u047f\xbf7)`e\x8c\xbc\xc3,%\x937\x06}\x8a\x17#\xa6\x9c\xb2N\xe8\xf0\xb3b\x99\xf3\x8f\n\x18\x9bk\xeec2,\x88\x98Y\xcb\x16\xc4L\x944\u0122\x88\x88\xd1\xc0L\x17\xe3\x9d\r\xdd\xed\xde\xe0\xfaCH\xee\xf2\xab\ahw4P]\xa6\xf4I\\N\xc1\xf6\xdcv\xa9H\u04a4\xfc*\x038\x1f\uae72\u06a1Yc\xab\xef\U000d42d4\x18R\u072e\xbb3\xcb\xc5\x13\xe0\x00\xa6\x1eC\r\xa4\r\xe2\xc1\xb70z]?\xe1\xa7/\xb3\x94\xa2-\x8e\xe0\u05de\xd8\xc5\x10f\x84\xfd8Z'\x02f\xbe\fxr\xdd\x1c\xd0\x17\x8f\xda\xceZ@N|R;\x1b\xa6\xe9P j\xda\r\xbf\xe5\x8a\xcc\b\xe1\xfd\x80g\x04\xea\xc4h}\x1f\u00b7^\x16g\x8d\x12\x01~\xe1\xbcLF\xf1\xf1\\~\x11\x12a\xdfJ\xfe\a\xc0\xff\u237e.|\x82\x02z\x8d\xe7+P\xe8\xf6?\r\x11\xdf\xf8z\xa1\x1e\x00\xfc^;\xe0\xa59\f\xa9a\xb2c\xeb\x82\xcf:\x80\xf2h\x93\xfb_\xda/C\x98\u0533\x17\x97\xb7\xc5L\xd5)\x97\xfdM\x12@\xb3\xb9\xa3\xa9\xa6p\x0e}\x85\xef\xfe8\x8c>'\x1eJ\xe7:\xf6\x9b\x17\xa1\x04\xcc\x0e\xec\xf4c8\xbc\xc3\xe78\br7\xa48:\xf6\x18\x8e/A=\xaf\x0f<\xe5\x1eVR\xaac\xf3\xe6\b}\xd7`!\u0596O\x18\xe0\xd2<\xbbEy\xbf\x1b\x11or\x0ea\u01e75\u05e5o\xf7\xb4\xf7\x8e\x9c\x91u[\xc7Ce\xdctC\x83}\v \x1f#\xb9\x0e\xa1\x1as\xcdK+\u0460\\\xc1R\x83vNeE\u0179\xc9\xc7dVI\xa9\x99\xfc\x1a4\xc9N\xb2\xd8=\xb5X\xfe0\x94\x1c\xdfK\xcb\x16\xf6\u0692#\xec\"\"\xda\xf3H\xb6d\x1c\\\xe2t\x99\u039eh\xf9\vOw\x9f\xc7yi^\xccS\u007f1q\xee\x85O\xf0F\xdf\x1b>A\x81_\x8e\a\x9as|&\x1e\x98q\u044e\xb7EjE\x16\x0fd\xb4w\xe3\x01h\xa9\xdb\xedx`\xc1\x05!*0\x85\x9f&\x83\u00ab\x8b\x19\xee\x83\xf1\x1e\x05\xdb\xfcp\xb3\x81\xfe\xfeX;B\xe9\x1f\x8f\xca\u029a\xf9\x8b%\x80\xb9Q0\xf6g\xa9I\xe7\xef\x15\xf8\x12L\x00\xd45\x9a\x95\x12V\x8e\xcaqK\x80\u024d\x02]r\xca\x16\x97\x98\xaa<6\xa4W3\x99\u0198s\xd8\xf0\xba$\xfc<3\u018f\u0505t\xa5\xf1\xd3\xef\x8d\a6\xe0\x1eg\xfd\xe4%\xa0i\x02\xe01\xc0\xa4RK\xfbk\x02<\x94r\xff\xbe\x97\x9b\x93x\x9dqXLb\x11\x0e\xb0\xfd\x815_\x02\x9c\xbd\xb3n:\xe7dg\xde\x03s\x1ez\xd7\xc3%\xf69\xda\u007f\x03\xa8\xff\xbc\xdeG\xdcP\xfe\x17\x00\x00\xff\xff!o0\xc6\x16:4\xa9\x00\x00\x00\x00IEND\xaeB`\x82") func textPngBytes() ([]byte, error) { return _textPng, nil } func textPng() (*asset, error) { bytes, err := textPngBytes() if err != nil { return nil, err } info := bindataFileInfo{name: "text.png", size: 2058, mode: os.FileMode(420), modTime: time.Unix(1455644231, 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){ "text.png": textPng, } // 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{ "text.png": {textPng, 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, "/")...)...) }