2016-06-28 21:56:22 +00:00
|
|
|
// Code generated by go-bindata.
|
|
|
|
// sources:
|
|
|
|
// assets/DejaVuSans.ttf
|
|
|
|
// assets/badgeTemplate.tpl
|
|
|
|
// assets/demoPage.tpl.html
|
|
|
|
// DO NOT EDIT!
|
|
|
|
|
2015-05-25 12:11:55 +00:00
|
|
|
package main
|
|
|
|
|
|
|
|
import (
|
|
|
|
"bytes"
|
|
|
|
"compress/gzip"
|
|
|
|
"fmt"
|
|
|
|
"io"
|
2016-06-28 21:56:22 +00:00
|
|
|
"io/ioutil"
|
|
|
|
"os"
|
|
|
|
"path/filepath"
|
2015-05-25 12:11:55 +00:00
|
|
|
"strings"
|
2016-06-28 21:56:22 +00:00
|
|
|
"time"
|
2015-05-25 12:11:55 +00:00
|
|
|
)
|
|
|
|
|
2016-06-28 21:56:22 +00:00
|
|
|
func bindataRead(data []byte, name string) ([]byte, error) {
|
2015-05-25 12:11:55 +00:00
|
|
|
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)
|
2016-06-28 21:56:22 +00:00
|
|
|
clErr := gz.Close()
|
2015-05-25 12:11:55 +00:00
|
|
|
|
|
|
|
if err != nil {
|
|
|
|
return nil, fmt.Errorf("Read %q: %v", name, err)
|
|
|
|
}
|
2016-06-28 21:56:22 +00:00
|
|
|
if clErr != nil {
|
|
|
|
return nil, err
|
|
|
|
}
|
2015-05-25 12:11:55 +00:00
|
|
|
|
|
|
|
return buf.Bytes(), nil
|
|
|
|
}
|
|
|
|
|
2016-06-28 21:56:22 +00:00
|
|
|
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 _assetsDejavusansTtf = []byte("\x1f\x8b\x08\x00\x00\x09\x6e\x88\x00\xff\xec\xbd\x0b\x78\x14\x45\xf6\x37\x5c\x55\x7d\x99\x9e\x6b\xe6\xd2\x49\x0f\x81\x24\x03\x81\x24\x40\x04\x44\xc4\x80\x88\x88\x11\x90\xbb\x21\x22\x22\x22\xe1\x12\x6e\x21\x60\x8c\x88\x08\x88\x2c\x22\xb2\x2c\x46\x44\x16\x11\x59\x16\x59\x40\x44\x44\x44\x60\x11\x11\x11\x59\x56\x91\x45\x50\x64\x11\x59\x16\x59\x8c\x81\x45\x84\x70\x11\x30\xf3\x9d\x3a\xd5\x93\xe9\xdc\x10\xd4\xdd\xbf\xdf\xfb\xec\xd4\x73\x7e\x75\xa6\xba\xba\xba\xaa\xce\xa9\x53\xa7\x6a\xba\x7b\x08\x25\x84\xe8\x00\x32\x69\xd7\xa1\x43\x76\xb7\xd1\xad\x16\x6e\x20\x84\x76\x85\xd4\x3a\x1d\x33\xef\xe8\x30\x27\x79\x56\x7b\xf8\x3e\x8c\x10\x36\xa7\x63\xcf\x1e\xbd\x16\x2d\x48\x39\x47\x88\x74\x99\x90\x85\x89\x1d\x7b\xdd\xdd\xfe\xcf\xef\x66\xf4\x25\x64\x71\x1d\x42\x62\x0f\x75\xbb\x2d\xbb\xd3\xb2\x40\xcb\xc9\x84\xac\x87\xe3\x6a\xdb\x1e\xbd\x9a\x36\xbf\xf7\xba\xb1\xd7\x11\xb2\xb9\x0d\x94\xd7\x7b\xd0\xa8\x9c\x31\xea\xb3\xef\x7d\x08\xdf\xe7\x10\x12\x77\x72\xd0\xd8\xc2\x10\x19\x9e\xd0\x8a\x90\xcf\xa6\xc2\x35\xca\x72\xc7\x0c\x1d\xf5\x60\x8b\xb1\x23\x08\xf9\x1c\xbe\x93\x57\x87\xe6\x3c\x34\x86\xd8\x20\x90\xfd\xcd\xe0\xbb\x6b\x68\xde\xa3\xb9\xc3\xa6\x0e\xbb\x1e\xbe\xb7\x21\xda\xa3\xfd\x86\x0d\xc9\x19\xac\xdd\xbf\xf5\x29\x62\xbf\x6b\x1e\x1c\x6f\x39\x0c\x12\xdc\x7f\x48\x7a\x17\xbe\xef\x86\xef\xf5\x87\x8d\x2a\x1c\xf7\xc1\x8d\xfb\x7f\x80\xef\xa5\x84\xe4\xe4\x8e\x1c\x52\x90\xef\x78\x47\xbd\x83\xd8\xdf\xec\x47\xc8\xad\x97\xf3\x46\x0f\xca\x19\x30\x77\xfb\x4c\x62\x3f\xd3\x07\x8e\x4f\x1f\x95\x33\x6e\x4c\x9d\x5d\xea\x83\xc4\x91\x7d\x18\xce\x0f\xe5\xe7\x8c\x1a\x92\x34\xaa\xdb\x1f\x89\xe3\x6e\xf8\x7a\x8b\x36\x66\xf4\x43\x85\x21\xdb\xb8\x59\xc4\x31\x5b\x23\xe4\xbb\xb3\x63\x0a\x86\x8c\xb9\xd9\xf6\x1d\x21\x4e\x5e\x5d\x05\xfa\x08\x7b\x93\xec\xbc\x65\xf1\xdf\x78\xfc\xc9\xc4\x1f\x4a\xcb\x63\x7e\xc4\x03\xbd\x98\xc6\x78\x5b\x18\xb9\x97\x48\x6c\x35\xa1\xec\x0d\xf6\x01\x70\xdb\xd9\x76\xe0\xff\xc2\x3e\x04\xfe\x23\xb6\x13\xf8\x8f\xd9\x27\xc0\xef\x61\x7b\x81\xff\x94\x1d\x05\xfe\x5f\xec\x1b\xe0\x4b\xd8\x19\xe0\x4b\x19\x94\xc8\xce\xb2\xb3\xc0\x9f\x63\xe7\x80\x3f\xcf\xc2\x44\x92\x88\x04\x75\x90\xa8\x24\x03\xaf\x48\x0a\xf0\xaa\xa4\x02\x6f\x93\x6c\xc0\x6b\x92\x1d\x78\x87\xe4\x00\xde\x29\xb9\x80\x77\xcb\x71\x84\xca\x86\x5c\x9b\x48\x72\x1d\xc5\x45\xa8\xe2\x56\xdc\x84\x29\x1e\x25\x06\x78\xaf\x12\x24\x92\x52\x4b\x89\x07\xbe\xb6\x92\x00\x7c\xa2\x92\x08\x7c\x92\x92\x04\x7c\x48\xa9\x0f\x7c\x03\xa5\x01\xf0\x29\x4a\x67\xe0\xbb\x28\x5d\x80\xef\xaa\x74\x07\xbe\x87\xd2\x0b\xca\xc9\x56\x0a\x80\x7f\x48\x79\x1c\xd2\x27\x2b\xcf\x00\x5f\xa4\x14\x01\xff\xac\xea\x27\x54\x0d\xa8\x70\x5d\xb5\x8e\xda\x16\xf8\x5b\xd5\x5b\x81\x6f\xa7\xde\x06\x7c\x7b\xf5\x4e\xe0\x3b\xab\x3d\x81\xbf\x4b\xed\x0d\xfc\x3d\x1a\xb4\x51\x3b\xaf\x5d\x26\x92\xf6\x83\x33\x81\x50\x67\xa2\x33\x91\x30\x67\x92\x33\x0d\xf8\x86\xce\xc6\xc0\xa7\x3b\x27\x01\xff\xb8\xf3\x71\xe0\x27\x3b\x8b\x80\x7f\xd6\xf9\x7b\x22\x39\xe7\x39\xe7\x41\xca\x0b\xce\x05\x90\xf2\x92\x73\x21\xf0\x7f\x70\xae\x03\x7e\xbd\x73\x03\xf0\x7f\x76\x7e\x02\xfc\x1e\xe7\x1e\xe0\xf7\x06\x5e\x23\x34\xb0\x2a\xb0\x91\xb0\xc0\xdb\x81\xb7\x89\x14\xd8\x14\xd8\x04\xfc\x3b\x81\x63\x90\xfe\x75\xe0\x6b\xe0\x8b\xf5\xc1\x84\xea\x43\xf4\x21\x44\xd2\x73\xf5\x5c\xe0\x87\xea\x43\x81\x1f\xa6\x8f\x20\x4c\x1f\xa9\x8f\x84\x94\x3c\x7d\x2c\xf0\x8f\xe8\xc7\x81\x3f\xa1\x9f\x01\xbe\xd4\x88\x25\xd4\x88\x33\x42\x44\x32\xea\x1a\x85\xc0\x3f\x6c\x4c\x00\x7e\xa2\xb1\x0f\xf8\xcf\x8d\xcf\x81\xdf\x1f\x1c\x00\x5a\x22\xa3\x76\x70\xf2\x82\x6e\x44\xb4\x82\x81\x3e\x7c\x0e\xb8\x9f\xed\x07\x89\xff\x9d\xfd\x9d\xc8\xec\x00\x68\x05\x03\x7d\xf8\x37\xe0\x49\xd0\x04\x8a\x9a\xc0\x40\x13\xce\x03\x7f\x81\x5d\x04\xfe\x12\xfb\x01\xf8\x32\xd0\x0d\x06\x5a\xc1\x40\xee\xf0\x01\x5e\x06\x0d\xa1\xa8\x93\x0e\x7a\x90\xf5\x23\x7a\x66\x87\xae\xd9\x64\x7c\x4e\x41\xce\x40\x32\x2d\xa7\x60\x54\x3e\x59\x3e\xb0\x20\x67\x38\x59\x3b\x28\x27\xff\x21\xb2\x65\xd0\xb0\x21\x05\x64\xe7\xa0\x47\x0b\xf2\xc8\xfe\xa1\x43\x46\x17\x90\xd2\xa1\x05\x43\x46\x52\x32\x2c\x27\x7f\x38\xf5\x0e\x1b\x32\xb0\x80\xd6\x19\x99\x93\x9f\x43\x1b\xe5\xe5\x8c\x0e\xd1\x96\x79\x39\x85\xf9\xb4\xc3\xa8\x9c\xc2\x61\x74\x5a\xfe\x48\x48\x99\x3d\x7a
|
|
|
|
|
|
|
|
func assetsDejavusansTtfBytes() ([]byte, error) {
|
|
|
|
return bindataRead(
|
|
|
|
_assetsDejavusansTtf,
|
2015-05-25 12:11:55 +00:00
|
|
|
"assets/DejaVuSans.ttf",
|
|
|
|
)
|
|
|
|
}
|
|
|
|
|
2016-06-28 21:56:22 +00:00
|
|
|
func assetsDejavusansTtf() (*asset, error) {
|
|
|
|
bytes, err := assetsDejavusansTtfBytes()
|
|
|
|
if err != nil {
|
|
|
|
return nil, err
|
|
|
|
}
|
|
|
|
|
|
|
|
info := bindataFileInfo{name: "assets/DejaVuSans.ttf", size: 756072, mode: os.FileMode(420), modTime: time.Unix(1432551573, 0)}
|
|
|
|
a := &asset{bytes: bytes, info: info}
|
|
|
|
return a, nil
|
|
|
|
}
|
|
|
|
|
|
|
|
var _assetsBadgetemplateTpl = []byte("\x1f\x8b\x08\x00\x00\x09\x6e\x88\x00\xff\x94\x54\x5f\x6f\xda\x30\x10\x7f\xef\xa7\x38\x5d\x35\x69\x95\x80\x38\x30\x5e\xa6\x18\x69\xda\xa4\xee\x65\x4f\x9b\xba\x67\x87\xd8\x89\x37\xe3\x20\xdb\x25\x69\xab\x7e\xf7\xd9\x4e\x5a\x82\x42\xd7\x60\x1e\x38\x9b\xbb\xdf\x9f\xbb\x13\x99\x3d\x94\xd0\xee\x94\xb6\x14\x2b\xe7\xf6\x9f\x93\xa4\x69\x9a\x45\xb3\x5a\xd4\xa6\x4c\x96\x84\x90\xc4\x67\x20\x34\xb2\x70\x15\xc5\xa7\x27\x58\xfc\x0e\x21\x3c\x3f\x23\x54\x5c\x96\x95\xa3\xb8\x24\xb8\xb9\x02\x80\x4c\x49\xcd\x99\xb9\x35\xac\x90\x5c\x3b\x90\x05\xc5\x1c\xa1\x5d\x52\x24\x08\x0f\xfe\x2b\x25\xe4\x43\x97\x1b\xd2\xad\xab\xf7\x50\x0b\x61\xb9\x8b\x19\xe1\x3e\xdf\xd6\xaa\x36\x14\xaf\xf3\x3c\xef\x5f\xea\x3d\xdb\x4a\xf7\x40\x71\x91\x22\x24\xe7\xab\xfd\x2f\xe3\xf3\x56\x75\x96\x9c\x0a\xed\x1e\x77\xcc\xfe\x8d\x92\xd9\x51\xa1\xe1\x5b\xf7\xae\x77\x30\x2d\xc5\x15\x82\x90\x4a\x79\xe1\x42\x88\x23\x51\x00\xed\xc2\x12\x42\x4c\xf1\xde\xa8\x8f\xd7\xec\xe6\xc8\xb1\x67\x1e\xb2\xaf\x5d\xaf\xd7\xa7\x46\xbc\x9c\x1f\x64\x64\x8c\x40\x15\xd4\xfc\x92\x4e\xf1\x17\x49\x00\x87\x25\x81\xef\xe3\xe4\xc7\x61\xd3\x86\x64\x01\xe2\x6b\xe8\x76\x34\xd4\x93\x8d\x71\x3d\xe8\xd0\x7a\x8f\x1a\xc9\xc6\xc9\x6f\x91\x45\xd7\xf9\x0d\x4e\x74\x76\x8e\xec\x3f\xce\xb2\xa4\x7c\x69\xf2\x70\x08\x8e\xb7\x6e\xce\xf4\xb6\x0a\x0b\xb5\x93\x45\xa1\xb8\x9f\x52\xad\xdd\x5c\xb0\x9d\x54\x7e\x27\xbe\xf1\x3f\xec\xee\x1e\x7e\x32\x6d\x67\x77\xdc\x14\x4c\xb3\xd9\x2d\xd7\xfc\xc0\x66\xd6\xbf\xcd\x2d\x37\x52\xf4\x35\x56\x3e\x72\xbf\x68\xe9\x71\x72\x01\x1f\xda\x6e\x33\x62\x1b\xbe\x44\xae\xd8\x4e\x0f\x9e\xae\x5f\x77\x82\xa4\xe1\xd3\x5d\x07\x1b\xb9\xc2\xcd\x6b\xad\xaf\xca\x92\x80\x38\x19\xfe\xd3\xb9\x9d\x3f\x3d\x93\xe1\x7d\x3c\x40\xbf\x4c\x7d\xc0\xb9\x18\x7d\xb2\xf8\x11\x7a\x1c\x76\x16\xfe\x96\x36\x57\xff\x02\x00\x00\xff\xff\xde\xc7\x45\x2c\xbf\x04\x00\x00")
|
|
|
|
|
|
|
|
func assetsBadgetemplateTplBytes() ([]byte, error) {
|
|
|
|
return bindataRead(
|
|
|
|
_assetsBadgetemplateTpl,
|
|
|
|
"assets/badgeTemplate.tpl",
|
|
|
|
)
|
|
|
|
}
|
|
|
|
|
|
|
|
func assetsBadgetemplateTpl() (*asset, error) {
|
|
|
|
bytes, err := assetsBadgetemplateTplBytes()
|
|
|
|
if err != nil {
|
|
|
|
return nil, err
|
|
|
|
}
|
|
|
|
|
|
|
|
info := bindataFileInfo{name: "assets/badgeTemplate.tpl", size: 1215, mode: os.FileMode(420), modTime: time.Unix(1432562639, 0)}
|
|
|
|
a := &asset{bytes: bytes, info: info}
|
|
|
|
return a, nil
|
|
|
|
}
|
|
|
|
|
2016-07-06 23:33:24 +00:00
|
|
|
var _assetsDemopageTplHtml = []byte("\x1f\x8b\x08\x00\x00\x09\x6e\x88\x00\xff\xb4\x58\x6d\x73\xdb\x36\x12\xfe\xde\x5f\xb1\x61\xa6\x6d\x9c\x11\x5f\x25\x4a\x94\x4c\x69\xea\xaa\xb9\x5e\xee\x92\x5c\x2f\x4d\xef\x2d\x93\x0f\x10\x09\x49\x70\x48\x42\x21\x20\xd9\xae\x4f\xff\xfd\x1e\x80\x94\x4c\xd9\xce\xb5\x97\x99\x9b\x8c\x9d\x05\xb0\x6f\xd8\x7d\x76\x17\x74\xfa\xe4\x87\xbf\xcc\xdf\xfd\xf3\xa7\x17\xb4\xd6\x65\x31\xfb\x2a\x35\xff\x51\xc1\xaa\xd5\xd4\xe1\x95\x33\xfb\x8a\x28\x5d\x73\x96\x1b\x02\x64\xc9\x35\xa3\x6c\xcd\x6a\xc5\xf5\xd4\xd9\xea\xa5\x9b\x38\xdd\xa3\xb5\xd6\x1b\x97\x7f\xda\x8a\xdd\xd4\xf9\x87\xfb\xcb\x85\x3b\x97\xe5\x86\x69\xb1\x28\xb8\x43\x99\xac\x34\xaf\x20\xf7\xf2\xc5\x94\xe7\x2b\x7e\x22\x59\xb1\x92\x4f\x9d\x9d\xe0\x57\x1b\x59\xeb\x0e\xf3\x95\xc8\xf5\x7a\x9a\xf3\x9d\xc8\xb8\x6b\x17\x3d\x12\x95\xd0\x82\x15\xae\xca\x58\xc1\xa7\xe1\x41\xd1\x13\xd7\xa5\x77\x6b\x4e\x6c\x21\x77\x9c\xfa\x64\x15\x6b\xb6\x52\xf4\xbc\xdc\x2a\xfd\x1c\x4a\x4b\x4e\x4b\x51\x2b\x0d\x15\xa4\xc1\x6a\xee\x76\x4e\xac\xba\x21\x89\x65\x6d\xd7\x07\xdb\x64\x84\x1a\x99\xe7\x6c\xa9\x79\xfd\xdc\x88\x28\xde\xa8\x74\xdd\xd6\xaa\x16\xba\xe0\xb3\x05\xc3\x8d\xdc\x15\xaf\xe8\x07\x5e\xca\xd4\x6f\x76\xbf\xba\x73\xec\x7b\x29\xb5\xd2\x35\xdb\xdc\x49\x16\xa2\xfa\x48\xeb\x9a\x2f\xa7\x8e\xef\x67\x79\x75\xa9\xbc\xac\x90\xdb\x7c\x59\xb0\x9a\x7b\x30\xec\xb3\x4b\x76\xed\x17\x62\xa1\x7c\x7d\x25\x34\x5c\x70\x17\x07\x35\x7e\xdf\xeb\x7b\xb1\x9f\x29\xe5\x1f\xf7\xbc\x52\x54\x1e\x76\x1c\xaa\x79\x31\x75\x94\xbe\x29\xb8\x5a\x73\xae\x9d\xc7\x2c\x5a\xb1\x2b\xa6\xb3\xb5\xb5\x05\xab\xba\xb8\xf9\x52\x65\xbf\xe1\xfe\x12\x21\x75\xd9\x15\x57\x88\xa6\x3f\xf0\x86\x5e\xdf\x7a\xde\xdd\xfe\x6f\xf6\x1a\x83\x76\xab\x31\x4e\xe4\x2d\x0a\x99\x7d\xa4\xdb\x76\x49\xb4\x60\xd9\xc7\x55\x2d\xb7\x55\xee\x66\xb2\x90\xf5\x84\x9e\x2e\xc7\xe6\xdf\xf9\x91\xa5\x64\xf5\x4a\x54\x88\xa1\xd6\xb2\x9c\x50\x3f\xd8\x5c\x3f\x38\xd4\x72\x73\xff\x64\xc3\xf2\x5c\x54\xab\x66\x9b\x82\xbb\x03\xcd\xaf\xe1\x7e\x21\x56\xd5\x84\x32\x20\x86\xd7\x87\xb3\xfd\xc1\xcb\x25\xc2\x59\x49\xcd\x3b\x8e\xda\x4b\x2b\xf1\x2b\x9f\x50\xe0\x8d\x79\xf9\x40\x66\xc7\x6b\x25\x64\xf5\x39\x91\xe4\x11\x91\x9a\xe7\x1d\xf6\xc3\xfd\xb3\x51\x14\x0f\xf8\x7d\xe6\x75\xd8\x61\xbd\x17\x92\xa8\x73\xf1\x86\x3f\xf5\xdb\xb0\xdf\x41\xf9\x8f\xef\x5e\xbf\x8a\x49\xad\x45\x89\xca\xc9\xe9\x2d\x57\x1b\x59\xe5\xde\xa5\x82\x9f\x35\xbd\x7c\x91\x90\xda\x6e\x4c\x19\x93\x5c\xb6\xcc\xbc\xe0\x25\x02\xa4\xac\x40\xc9\x73\xc1\xe8\xd3\x96\xd7\x82\x77\x0a\xc9\xa8\xfe\xfb\xc5\xdb\x37\x2f\xdf\xfc\x38\xe9\x2a\xcd\x25\x57\xd5\xb7\x9a\xae\x64\xfd\x91\xc4\x92\x6e\xe4\x96\x4c\xa3\xb0\x05\xbc\x61\x2b\x8e\x15\x43\x59\x17\x7c\xe2\xfb\x27\xea\xde\x83\xbb\xd0\xf0\x88\xc6\x1f\x0e\xb8\x49\x55\x56\x8b\x8d\x26\x55\x67\x53\xc7\xf4\x2b\x05\x29\xa9\x94\x57\xb2\x6b\x80\xd8\xe2\xd6\x34\xc1\x18\xf7\xdb\xa1\xc8\x46\x5e\x74\xb7\xb6\x18\xbd\x54\xce\x0c\x51\xb1\x6a\xfe\x17\xad\x75\x73\x25\x3f\xf4\x06\xd0\xd9\xae\x3e\xa3\x31\x7d\xf2\x9e\x57\xb9\x58\x7e\x68\xae\x93\xfa\x87\x26\x9c\x2e\x64\x7e\xd3\xf2\xe4\x62\x47\x59\xc1\x94\x9a\x3a\xa6\x65\x31\x51\xf1\xfa\x50\x2c\xa7\xc7\xb5\xbc\x72\x66\xc7\x9c\x9f\x0a\x16\x6e\x99\xbb\x09\xb5\x84\x5c\x2e\xd1\xdb\xdd\x88\x6c\x79\x75\x84\xcc\x20\x08\x67\x69\x26\xf3\x4e\xb3\x4b\x7d\xbb\x6e\x7b\x1e\xce\xbb\xec\x9b\xee\x8a\x6c\x67\xc6\x2c\x58\x1b\x90\x94\x0c\x50\x68\x7d\x56\x77\xe0\x40\x53\x6e\x0c\x7c\x53\xe8\x73\xcc\xa0\x82\x7f\xb3\xd2\xe7\x07\x23\x06\x3a\xcd\xf1\x7b\xf5\x69\x8b\x1e\xf3\xe1\x70\xb2\xa8\x51\xfb\x5c\x2b\x8f\x2e\x8a\xe2\x44\x9d\x55\x72\x3c\x27\x08\x01\xf1\x55\xce\x2a\x2d\xeb\x1b\xba\x5a\x03\x34\x80\x91\x44\x53\x07\x73\xa3\xf5\x94\x5b\x6e\x34\x4a\x91\x15\x1e\xcd\x4d\x51\x29\xaa\x38\x4a\x4d\x4b\x5a\x70\x52\x1b\x9e\x89\xa5\xc0\x9a\x29\x8c\x1b\x60\x7f\x68\x87\x23\xcb\xb4\x1d\x25\xd7\x64\xdc\x53\xf4\xcc\x94\x05\xbf\x66\xe5\x06\xd6\x9a\x1b\x0c\xb2\xf0\xe0\x3c\xce\x9a\x3d\x1e\xc4\xf9\x60\xd0\x6e\x9f\x79\xf4\x0e\xdd\xc5\x9a\x53\xad\xbd\x5f\xde\xbe\x22\x5e\x99\xe3\xdc\xeb\x06\xda\xef\x44\x3a\xf5\x91\xdc\x23\x2a\xed\xa2\xa9\x2c\xcf\x07\x08\x6c\x75\x7c\x09\x3e\xc2\xe8\x14\x0a\x9a\x61\xa4\x1f\x78\x9a\x85\xfd\xed\x62\x74\x88\x0d\xcf\x9d\xd3\xdc\xa7\xba\x9e\xa5\x7a\x3d\xfb\x99\xd7\x66\x8e\x
|
2016-06-28 21:56:22 +00:00
|
|
|
|
|
|
|
func assetsDemopageTplHtmlBytes() ([]byte, error) {
|
|
|
|
return bindataRead(
|
|
|
|
_assetsDemopageTplHtml,
|
|
|
|
"assets/demoPage.tpl.html",
|
|
|
|
)
|
|
|
|
}
|
|
|
|
|
|
|
|
func assetsDemopageTplHtml() (*asset, error) {
|
|
|
|
bytes, err := assetsDemopageTplHtmlBytes()
|
|
|
|
if err != nil {
|
|
|
|
return nil, err
|
|
|
|
}
|
|
|
|
|
2016-07-06 23:33:24 +00:00
|
|
|
info := bindataFileInfo{name: "assets/demoPage.tpl.html", size: 4809, mode: os.FileMode(420), modTime: time.Unix(1467847587, 0)}
|
2016-06-28 21:56:22 +00:00
|
|
|
a := &asset{bytes: bytes, info: info}
|
|
|
|
return a, nil
|
|
|
|
}
|
|
|
|
|
2015-05-25 12:11:55 +00:00
|
|
|
// 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 {
|
2016-06-28 21:56:22 +00:00
|
|
|
a, err := f()
|
|
|
|
if err != nil {
|
|
|
|
return nil, fmt.Errorf("Asset %s can't read by error: %v", name, err)
|
|
|
|
}
|
|
|
|
return a.bytes, nil
|
2015-05-25 12:11:55 +00:00
|
|
|
}
|
|
|
|
return nil, fmt.Errorf("Asset %s not found", name)
|
|
|
|
}
|
|
|
|
|
2016-06-28 21:56:22 +00:00
|
|
|
// 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)
|
|
|
|
}
|
|
|
|
|
2015-05-25 12:11:55 +00:00
|
|
|
// 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.
|
2016-06-28 21:56:22 +00:00
|
|
|
var _bindata = map[string]func() (*asset, error){
|
|
|
|
"assets/DejaVuSans.ttf": assetsDejavusansTtf,
|
|
|
|
"assets/badgeTemplate.tpl": assetsBadgetemplateTpl,
|
|
|
|
"assets/demoPage.tpl.html": assetsDemopageTplHtml,
|
2015-05-25 12:11:55 +00:00
|
|
|
}
|
2016-06-28 21:56:22 +00:00
|
|
|
|
2015-05-25 12:11:55 +00:00
|
|
|
// 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))
|
2016-06-28 21:56:22 +00:00
|
|
|
for childName := range node.Children {
|
|
|
|
rv = append(rv, childName)
|
2015-05-25 12:11:55 +00:00
|
|
|
}
|
|
|
|
return rv, nil
|
|
|
|
}
|
|
|
|
|
2016-06-28 21:56:22 +00:00
|
|
|
type bintree struct {
|
|
|
|
Func func() (*asset, error)
|
|
|
|
Children map[string]*bintree
|
2015-05-25 12:11:55 +00:00
|
|
|
}
|
2016-06-28 21:56:22 +00:00
|
|
|
var _bintree = &bintree{nil, map[string]*bintree{
|
|
|
|
"assets": &bintree{nil, map[string]*bintree{
|
|
|
|
"DejaVuSans.ttf": &bintree{assetsDejavusansTtf, map[string]*bintree{}},
|
|
|
|
"badgeTemplate.tpl": &bintree{assetsBadgetemplateTpl, map[string]*bintree{}},
|
|
|
|
"demoPage.tpl.html": &bintree{assetsDemopageTplHtml, map[string]*bintree{}},
|
2015-05-25 12:11:55 +00:00
|
|
|
}},
|
|
|
|
}}
|
2016-06-28 21:56:22 +00:00
|
|
|
|
|
|
|
// 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, "/")...)...)
|
|
|
|
}
|
|
|
|
|