2018-04-27 22:38:23 +00:00
|
|
|
// Code generated by go-bindata. DO NOT EDIT.
|
|
|
|
// sources:
|
|
|
|
// frontend/app.js
|
|
|
|
// frontend/index.html
|
|
|
|
|
|
|
|
package main
|
|
|
|
|
|
|
|
|
|
|
|
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 fileInfoEx
|
|
|
|
}
|
|
|
|
|
|
|
|
type fileInfoEx interface {
|
|
|
|
os.FileInfo
|
|
|
|
MD5Checksum() string
|
|
|
|
}
|
|
|
|
|
|
|
|
type bindataFileInfo struct {
|
|
|
|
name string
|
|
|
|
size int64
|
|
|
|
mode os.FileMode
|
|
|
|
modTime time.Time
|
|
|
|
md5checksum string
|
|
|
|
}
|
|
|
|
|
|
|
|
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) MD5Checksum() string {
|
|
|
|
return fi.md5checksum
|
|
|
|
}
|
|
|
|
func (fi bindataFileInfo) IsDir() bool {
|
|
|
|
return false
|
|
|
|
}
|
|
|
|
func (fi bindataFileInfo) Sys() interface{} {
|
|
|
|
return nil
|
|
|
|
}
|
|
|
|
|
|
|
|
var _bindataFrontendAppjs = []byte(
|
2018-04-28 16:52:30 +00:00
|
|
|
"\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x7c\x54\x41\x6f\xe3\x2c\x10\xbd\xe7\x57\x8c\xd4\x48\xe0\xca\x21\x5f\x7b" +
|
|
|
|
"\xfa\xe4\x2a\x95\xbe\x7e\x8d\xd2\x9e\x7a\xd8\x4a\x7b\x5c\x11\x33\xb6\xa9\x30\x58\x80\x93\x76\xab\xfc\xf7\x95\x31" +
|
|
|
|
"\x38\xce\x6e\xb5\xd7\x99\xc7\x9b\xc7\x9b\x07\xeb\x6b\xa8\x95\xd9\x73\x05\xcb\xa2\xe2\xca\x21\x3c\x71\x2d\x14\xee" +
|
|
|
|
"\xb9\x75\xb1\x70\xbd\x5e\x2c\x4a\xc5\x9d\x83\x1d\x57\x0a\xed\x07\x7c\x2e\x00\x4a\xa3\x9d\xb7\x7d\xe9\x8d\xa5\x59" +
|
|
|
|
"\xa8\xc0\xec\x28\xb3\x58\x4b\xe7\xd1\x3e\xa1\xea\xd0\x52\x22\xab\x9d\x27\x39\xf8\x46\x3a\xd6\x4c\xb0\x07\x59\xd7" +
|
|
|
|
"\x68\x5f\x1b\xae\xb3\xbb\xc0\x10\xfa\x68\xad\xb1\x3f\x7c\xa7\x60\x33\xa7\x2c\x4d\xdb\x49\x85\x74\x49\xc9\x55\x80" +
|
|
|
|
"\xac\x3c\xb6\x9d\xe2\x1e\x49\xc6\x1a\xdf\x2a\x9a\xcd\x59\xb8\xda\xf7\xed\xdf\x59\x02\xe4\x4b\x96\x33\x8d\xe9\xbc" +
|
|
|
|
"\x34\xda\xa1\x87\x4d\xbc\x25\xc0\x7a\x0d\x3b\xd4\x68\xb9\x82\xd8\x8e\x0d\x61\x8e\x5a\x19\x2e\x0a\x08\xd6\xe5\xb1" +
|
|
|
|
"\xec\x50\xe1\x60\x54\x01\x84\xc9\xb6\x26\xf9\x99\xe7\xb5\xe9\xdb\xbd\xe6\x52\x25\x0a\x9f\x0a\x05\x78\xdb\x4f\x14" +
|
|
|
|
"\xa1\xfc\x5d\x0a\xdf\x14\xf0\xef\x3f\xa9\x8a\xef\xe1\xfc\x73\xcb\x6b\x2c\x80\x38\x5b\x4e\xdc\xae\x31\xc7\xd0\x7c" +
|
|
|
|
"\xf8\x78\xc4\x8a\xf7\xca\x5f\x88\x3a\x0d\x4e\x9d\x86\x7b\x0a\xe9\x3a\xc5\x3f\xb6\x83\xa3\xb4\x45\xe7\x78\x8d\xb0" +
|
|
|
|
"\x01\x42\xd2\x56\x97\x94\xb0\xd2\x68\xcf\xa5\x46\xbb\xaa\x54\x2f\x05\xc9\x18\xef\x3a\xd4\x82\x5e\x2e\x8c\x26\x87" +
|
|
|
|
"\x22\x4f\x9c\x35\xee\x25\x4c\xfb\x6a\xf7\xf4\x70\x93\xc3\xe1\x36\x4f\x66\xa6\xc1\xb2\x02\x7a\xb8\x81\x7b\x38\xdc" +
|
|
|
|
"\x66\x93\xf7\x16\x7d\x6f\x75\x82\xb2\x4a\x07\x09\x71\xf1\xa7\xc5\x17\x10\xa9\x0f\x68\x1d\x9e\x71\x41\x88\xd4\xd2" +
|
|
|
|
"\x4b\xae\xe4\x4f\xa4\xbd\x95\xd3\x5d\x19\x7f\xe3\xef\x43\x25\x9f\x26\x86\xdb\x15\x40\x33\xd8\xdc\x8f\x99\xb8\xb0" +
|
|
|
|
"\x8c\xfc\x6f\x7a\x25\x40\x1b\x0f\x15\xfa\xb2\x81\x90\x2a\xc7\x48\x96\x4f\x66\xf8\xc6\x88\x02\xc8\x6e\xfb\x7a\xde" +
|
|
|
|
"\x4f\x5f\x96\xe8\x5c\x01\x54\x70\xcf\xcf\xdc\x9d\x35\x43\xfd\xbf\x40\x32\xf6\x92\x8b\x93\xf6\x4b\x4c\x98\xf7\x18" +
|
|
|
|
"\x48\x46\xc9\x0a\x7d\x14\x01\x1b\x98\xba\xe3\x83\x70\xa3\x51\x51\xa3\x33\xd6\x53\xca\x73\xd8\x07\x01\x7b\x26\x05" +
|
|
|
|
"\xac\x80\x33\x29\xd2\x1b\x88\xc0\xca\xd8\x2d\x2f\x1b\x3a\x0e\x0b\xe0\x64\xcf\x34\x6d\xab\xb0\x45\x3d\xbc\x93\x25" +
|
|
|
|
"\xbd\x7c\x81\xf1\x54\x5c\x52\x48\xd4\x55\x3d\xfe\x25\xab\xa3\xe5\xdd\x39\x4e\x73\xa2\x09\x3e\x2f\x32\x25\xeb\xc6" +
|
|
|
|
"\xc7\x8f\x68\x1c\xd3\x77\x82\x7b\x14\x2f\x61\xdd\xdf\xd0\x4f\x21\x04\x88\x43\x9e\x45\x31\x92\x30\x29\x92\xff\xa7" +
|
|
|
|
"\x24\x67\xe6\xeb\x1f\x4c\xa6\xf3\x83\x87\x9f\xa7\x64\x6d\x8c\xd6\xcb\xfe\x0d\x4b\xcf\xb8\x73\xb2\xd6\xf4\xf3\x94" +
|
|
|
|
"\xff\xf6\x57\x84\x28\xa7\xb0\x9d\x16\x8b\x25\xa5\x93\x67\x83\x5f\x51\x17\x6c\x40\xe3\x31\x7d\xab\x34\xe0\x63\x8b" +
|
|
|
|
"\xcd\xf2\x49\xe2\x12\xde\x9c\xd1\x24\xbb\x5b\x0c\x8a\x7f\x05\x00\x00\xff\xff\x96\x32\x8b\x33\xb8\x05\x00\x00")
|
2018-04-27 22:38:23 +00:00
|
|
|
|
|
|
|
func bindataFrontendAppjsBytes() ([]byte, error) {
|
|
|
|
return bindataRead(
|
|
|
|
_bindataFrontendAppjs,
|
|
|
|
"frontend/app.js",
|
|
|
|
)
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
func bindataFrontendAppjs() (*asset, error) {
|
|
|
|
bytes, err := bindataFrontendAppjsBytes()
|
|
|
|
if err != nil {
|
|
|
|
return nil, err
|
|
|
|
}
|
|
|
|
|
|
|
|
info := bindataFileInfo{
|
|
|
|
name: "frontend/app.js",
|
2018-04-28 16:52:30 +00:00
|
|
|
size: 1464,
|
2018-04-27 22:38:23 +00:00
|
|
|
md5checksum: "",
|
|
|
|
mode: os.FileMode(436),
|
|
|
|
modTime: time.Unix(1, 0),
|
|
|
|
}
|
|
|
|
|
|
|
|
a := &asset{bytes: bytes, info: info}
|
|
|
|
|
|
|
|
return a, nil
|
|
|
|
}
|
|
|
|
|
|
|
|
var _bindataFrontendIndexhtml = []byte(
|
2018-04-28 16:52:30 +00:00
|
|
|
"\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xc4\x58\x6b\x53\xdb\xba\xd3\x7f\x7f\x3e\x85\x8e\x3b\xcf\x0c\x1d\x2a\x3b" +
|
|
|
|
"\xce\x8d\x84\x26\xcc\x81\x50\x1a\x2e\xe1\x12\xa0\x85\xbe\x93\x6d\xd9\x56\x22\x4b\x46\x92\x73\x21\xc3\x77\x7f\x46" +
|
|
|
|
"\xbe\x24\x4e\x4a\x0a\xe7\x9c\x9e\xf9\xa7\x53\x62\x69\x57\xab\xfd\xed\xc5\xbb\x9b\xce\x9f\x1e\x77\xd5\x3c\xc6\x20" +
|
|
|
|
"\x54\x11\x3d\xf8\xa3\xa3\xbf\x00\x45\x2c\xe8\x1a\x98\x19\x07\x7f\x00\xd0\x09\x31\xf2\xf4\x03\x00\x9d\x3f\x21\x04" +
|
|
|
|
"\x43\xfc\x94\x10\x81\x3d\x10\x61\x85\x80\x42\x81\x04\x10\xe6\xf4\x74\xcb\x0d\x91\x90\x58\x75\x8d\x44\xf9\xb0\x65" +
|
|
|
|
"\x94\x49\xa1\x52\x31\xd4\xe7\x27\x5d\xe3\x01\xde\x1f\xc2\x1e\x8f\x62\xa4\x88\x43\xb1\x01\x5c\xce\x14\x66\xaa\x6b" +
|
|
|
|
"\x9c\x7e\xe9\x62\x2f\xc0\x6b\x27\x19\x8a\x70\xd7\x98\x10\x3c\x8d\xb9\x50\x25\xe6\x29\xf1\x54\xd8\xf5\xf0\x84\xb8" +
|
|
|
|
"\x18\xa6\x8b\x4f\x80\x30\xa2\x08\xa2\x50\xba\x88\xe2\xae\xfd\x09\xc8\x50\x10\x36\x86\x8a\x43\x9f\xa8\x2e\xe3\xc6" +
|
|
|
|
"\xc1\x1f\x2b\x40\x47\x9c\x2b\xa9\x04\x8a\x41\xef\xf6\x76\x85\x85\x12\x36\x06\x02\xd3\xae\x21\xd5\x9c\x62\x19\x62" +
|
|
|
|
"\xac\x0c\x10\x0a\xec\x77\x0d\x8d\x43\xee\x5b\x96\xeb\xb1\x91\x34\x5d\xca\x13\xcf\xa7\x48\x60\xd3\xe5\x91\x85\x46" +
|
|
|
|
"\x68\x66\x51\xe2\x48\x4b\x4d\x89\x52\x58\x40\xa7\xb8\xc1\xaa\x9b\x15\xb3\x62\xb9\x52\x5a\xcb\x3d\x33\x22\xcc\x74" +
|
|
|
|
"\xa5\x34\xd2\x6b\xb3\x0f\x61\x0a\x07\x82\xa8\x79\xd7\x90\x21\xaa\x36\x9a\xf0\xe2\xb0\xd5\x7e\xde\x1d\xb7\xfd\x51" +
|
|
|
|
"\x30\x38\xbf\xb1\xc6\x4f\xf5\xab\xab\xea\x40\xf8\xad\x6f\x54\x3d\x46\xd4\xfa\xf6\xe5\x76\x77\x18\x54\xfc\xb0\x5a" +
|
|
|
|
"\xe9\x1a\xc0\x15\x5c\x4a\x2e\x48\x40\x58\xd7\x40\x8c\xb3\x79\xc4\x13\x69\x00\xeb\xf7\x61\x4b\xf5\x9f\x22\xe5\x86" +
|
|
|
|
"\x39\x28\x0f\x89\x31\x9d\xff\x5d\x5c\x4e\x78\x5c\xb7\x8e\xbd\xde\x61\x7c\x79\xf8\x48\xaf\xe2\xc9\xb9\x94\xf7\xa8" +
|
|
|
|
"\x1a\x1e\x57\x8e\x93\xd6\x4c\x04\x57\x13\xf5\x58\x9f\x56\x1b\x32\x1c\xfc\x1a\xd7\x6f\x03\x46\x49\x10\xaa\x00\x51" +
|
|
|
|
"\x8a\xc5\xdc\xb2\xcd\xa6\xd9\x4e\xfd\x55\xde\x7e\x1f\xb4\x96\xf0\xfb\xce\x99\xd8\x1d\x25\xb5\x2b\xb7\xd2\x6e\x8f" +
|
|
|
|
"\x4e\xce\x06\x43\x7b\x76\x78\x9d\xb4\x7a\x77\xd7\xfd\xfb\x56\x72\xdd\x38\xab\x3d\x58\xdf\x0e\x1f\x7f\x17\xb4\x44" +
|
|
|
|
"\x62\xd3\xe7\x4c\xa1\x29\x96\x3c\xca\x90\x09\x4c\x31\x92\x58\x5a\x93\x86\x59\x31\xed\x2c\xfa\x10\xa5\xbf\x06\x50" +
|
|
|
|
"\x6b\xd5\xe1\xae\x57\xb9\x6e\xd5\x58\x7b\x8c\x6e\x06\xbd\xe9\xa8\x75\x52\x1f\x9e\x1d\x35\x9b\xea\xf9\x74\x7a\x75" +
|
|
|
|
"\x1e\x09\xcf\xa9\x37\x77\x63\x2e\x8e\xad\xab\x89\x38\xdb\xad\xed\x7d\x7f\x3a\x1d\xec\xdd\xf3\x23\x35\xed\x5f\x35" +
|
|
|
|
"\x2f\x69\xb0\x15\x54\x01\x29\x05\x72\x90\xeb\x60\xba\x48\x78\x60\x01\xdc\x44\x48\x2e\xf6\x41\xcc\xb5\x46\xe2\x33" +
|
|
|
|
"\x78\x59\x63\x48\xff\x42\x12\x05\x90\x4f\xb0\xa0\x68\x0e\x16\x05\x2b\xc4\x13\xcc\x94\xdc\x07\x8c\x33\xfc\x19\x3c" +
|
|
|
|
"\x43\xc2\x3c\x3c\xdb\x07\xb5\x0d\x19\x66\xee\xc6\xfd\x50\x8b\x00\x24\x0a\xc0\x62\xc5\x6d\xbf\xc9\xbd\xcf\x54\x08" +
|
|
|
|
"\xdd\x90\x50\x6f\xc7\xfe\x58\x3e\x5a\xfd\x3b\x47\xab\xfa\xa8\x12\x88\x49\x9f\x8b\x68\x1f\x08\xae\x90\xc2\x3b\xb0" +
|
|
|
|
"\xea\xe1\xe0\x63\x46\xa0\x48\xe1\xc7\x1d\xbb\x12\xcf\x4a\x1b\x0f\x3b\xd0\xae\xc6\xb3\x8f\x7f\xe7\xae\xda\xeb\x77" +
|
|
|
|
"\x81\xc6\xe6\x5d\xb0\xb5\x71\x17\x78\xed\x2e\x50\x5c\xa6\x81\x13\x17\x29\x2e\x52\x2f\x48\xa2\x08\x67\xfb\x00\x39" +
|
|
|
|
"\x92\xd3\x44\xe1\xcf\x40\xe8\xac\xd9\x07\x36\x8e\x3e\x03\x85\x67\x0a\xca\x10\x79\x7c\xba\x0f\x2a\xa0\x02\x6a\xf1" +
|
|
|
|
"\x0c\x7c\xa8\x56\xf4\xbf\xcf\x40\xf1\x38\xe7\x7b\xcb\xdf\x61\x43\x83\xf9\xa5\xb0\x75\x11\x1e\x99\x98\x99\x93\x3d" +
|
|
|
|
"\x22\x63\x8a\xe6\x45\x84\xac\xb3\xa5\x26\xe3\x6a\x67\xdf\x27\x42\xaa\xcc\x72\x1f\xb7\xe0\x5a\xba\x1c\x6e\x86\x4b" +
|
|
|
|
"\x1e\x4e\xa9\x09\xf3\x63\x4b\xc3\x03\xb3\x26\x81\x4e\x46\xc8\x13\xf5\x19\xa4\xd5\x6a\x1f\xd8\x95\xca\xff\x95\x84" +
|
|
|
|
"\x30\x34\x81\x69\xae\x13\x9d\x0c\x9c\xea\x5c\x10\x81\x83\x76\xaa\x8d\xc6\xa7\xe2\xbf\xd9\x48\x7d\x92\x9f\xf9\x2b" +
|
|
|
|
"\xc2\x1e\x41\x60\x27\x42\x33\x98\x0b\x05\x7b\xcd\x3d\xb3\x9d\x7a\x73\xdb\x67\x01\xcc\x29\x8c\x05\x77\xc1\xa2\x50" +
|
|
|
|
"\xa5\x91\x6a\xb2\xd4\xe5\x35\xb9\xed\xb6\x9d\xcb\x45\xcc\x03\x3b\x11\x61\x05\x69\xaf\x99\x5d\xf7\x8a\xdc\x5a\xed" +
|
|
|
|
"\x2d\xb9\xb6\xdd\x6e\x6f\x91\xdb\x6e\x57\xb7\xc9\xad\x36\x5e\x97\xbb\x3a\x6c\x57\x2b\x95\x5f\x19\xe1\x75\x3b\x54" +
|
|
|
|
"\xcb\x76\xe8\x58\xf9\x7b\x2a\x5b\x29\xa2\x28\x3e\xb8\x0e\xb9\xe2\xb2\x63\x65\x2b\xdd\x26\x59\x45\x9f\xd4\x71\xb8" +
|
|
|
|
"\x37\xcf\x0b\x2d\x43\x13\xe0\x52\x24\x65\xd7\x60\x68\xe2\x20\x01\xb2\x2f\x88\x67\x31\x62\x1e\xa4\x01\xf0\xc9\x0c" +
|
|
|
|
"\x7b\xd0\xe1\x4a\xf1\xa8\xa0\xa6\xc5\x06\x38\x41\xf6\x60\x14\xaf\xc8\x0e\x5a\x17\x06\x1d\x81\x98\x57\x14\x81\x0f" +
|
|
|
|
"\xc6\x52\x2b\xb4\x3c\xe1\x24\x4a\x71\xb6\x71\x4c\xf1\x20\xa0\x58\x18\x40\x77\x7e\x5d\x23\xe3\x31\x80\x87\x14\xca" +
|
|
|
|
"\x69\x5d\xc3\xe5\x94\xa2\x58\xe2\x72\x89\xd0\x9f\x8c\x09\x89\x40\x77\x78\x1f\x32\x81\xb7\x49\xac\xbb\x32\xec\xf5" +
|
|
|
|
"\xb2\xae\xcc\x00\x48\x10\x04\x75\x8f\x26\x38\x5d\xde\xfb\x13\xdb\x86\xe8\xf4\x50\x66\x18\xec\x75\x0d\x1f\x51\x89" +
|
|
|
|
"\x73\x51\x14\x39\xba\xf2\xdd\xa5\xca\x69\x2b\x91\x00\xe9\xe4\x5a\x9a\x46\x57\x93\x18\x6d\x01\x0a\x89\xab\x59\x3b" +
|
|
|
|
"\x96\x66\x59\x9a\xc6\xca\x70\x1f\x14\x59\xd4\xf1\xc8\xd2\x59\x05\xfa\xc2\x21\x4b\x6b\x00\xe2\x6d\x85\x53\xd2\x25" +
|
|
|
|
"\xa1\x1b\x9a\xe8\x40\x88\x28\x44\x89\xe2\x25\xbe\xb4\xac\x97\x38\x21\x51\x38\x32\x0e\xd6\xfc\x9c\xbe\x0c\x36\x0b" +
|
|
|
|
"\x3d\x0a\x29\x16\xd2\x8c\xb0\x65\x64\x72\xd2\x38\xec\x1a\xdf\xb1\x23\x89\xc2\xc6\x41\x67\x29\xd6\x47\x12\xf8\x08" +
|
|
|
|
"\x86\x3c\xd2\xdb\x16\x39\x00\x7d\x1e\xe1\x18\x05\x58\xc7\x49\xc7\xa2\xe4\x37\xe8\x33\x66\x89\x32\x09\x2b\x3a\x5e" +
|
|
|
|
"\xa3\xd0\xe7\x2e\x5f\xaf\xe9\xe3\x68\x7d\xd4\x92\xa2\x55\xfa\xeb\x22\x79\x26\x3e\x16\x3f\xab\xd4\xb1\x12\xba\x72" +
|
|
|
|
"\x99\x47\x26\x79\x66\x59\x0c\x4d\x8a\x94\x5c\x73\x1c\x53\x88\x30\x2c\xa0\x4f\x13\xe2\xad\x52\xa7\xc4\x23\xf8\x14" +
|
|
|
|
"\x44\x0a\xd6\x40\xe4\xc0\x46\xd9\x6b\xeb\x01\x00\x23\x0f\xda\x55\xe0\x41\x9f\xe2\x19\x18\x25\x52\x11\x7f\x0e\xf3" +
|
|
|
|
"\xc1\x03\x52\xec\x2b\xa0\x29\x70\x2a\x50\x9c\xc5\x45\x51\x15\xd3\x9d\x83\x92\xb6\x1b\xaa\xa7\x8f\xab\x01\x64\x74" +
|
|
|
|
"\x93\x60\x31\x07\x69\xd9\xf9\x04\x54\x88\x19\xb8\xe6\x71\x8c\x85\x39\x92\xf9\x7a\x35\xa3\x9c\x95\x46\x14\xe9\x0a" +
|
|
|
|
"\x12\x2b\x20\x85\xfb\xee\xee\x76\xf4\xa4\xef\xb2\x6a\x66\xcd\xb4\xf3\x45\xda\xcd\x8e\xe4\x7a\x36\xfe\xdc\xce\x9e" +
|
|
|
|
"\x04\x71\xcf\xb1\xce\xcf\x6e\xe8\xc5\xa5\x7f\x95\xb4\x6d\x85\x6a\x55\x6e\x5d\x0e\x7e\xcc\xa8\x9a\x0e\x79\xeb\x46" +
|
|
|
|
"\x45\xe3\xc1\xd0\x3b\x4c\x5a\xdb\xdb\x59\x9d\x83\xa9\xd2\xff\x1c\x41\x5c\x98\xc6\xb2\x4d\xbb\x6e\xda\xc5\xc6\xfb" +
|
|
|
|
"\x50\xdc\xde\x55\x07\xd8\x15\x0f\xe2\x0c\x1d\xca\xa7\xc8\x8f\xc7\xed\x87\xe1\xcd\xe9\x1d\x3d\xe6\xf3\x41\x74\xaf" +
|
|
|
|
"\x82\xf3\xa3\x2f\xcc\x3b\x26\xf2\xd6\xfd\x4f\x51\x6c\x1b\x0d\x47\x9b\x93\xe1\xdb\x90\x1a\xbb\x95\xea\x73\xd2\xb8" +
|
|
|
|
"\xbf\xbf\xb8\x19\x5f\xed\x4d\xed\xaf\xa7\xa2\x39\xf1\x55\x2f\x18\xf8\x27\xde\x0f\xf7\xb0\x8f\x8f\xd5\x09\x3b\xff" +
|
|
|
|
"\x21\x8f\xe4\xbb\x20\xad\x02\xf3\x42\x57\x9f\xaf\x59\x50\xff\xab\xa8\x7b\x65\xa6\x1a\xbd\x32\x52\xbd\x8d\x95\x7d" +
|
|
|
|
"\x71\x47\xde\x4d\xcb\x39\xa9\x73\x6b\x76\x7e\xd2\xbb\xfd\x7e\xd4\x3e\x1c\xff\xd8\xed\x5f\x7f\x8f\x7a\xce\xb8\x7f" +
|
|
|
|
"\xf9\x94\x84\x5f\x1a\x8f\x97\x17\xde\xfb\xb0\xfe\x63\x40\x01\x0c\x91\x0c\x2d\xdb\xac\x98\xf5\x62\xf5\x4e\x0c\xa2" +
|
|
|
|
"\xd7\x8c\x2f\xeb\x43\x9b\x47\x23\xa1\x06\xd3\x4a\x93\x9d\x0c\x7a\x87\xc3\xe7\xc7\xa7\x59\x52\x9f\xa3\x6f\x7c\x78" +
|
|
|
|
"\xd7\xff\x81\x76\xa7\x77\xcf\xd3\xff\x1a\x83\x0a\x93\xc8\x61\x88\x50\x9d\x4b\x66\x65\x6d\xeb\x9d\x68\x7a\x63\xeb" +
|
|
|
|
"\xfa\xfb\xcd\x3d\xef\x4b\xb7\xed\x55\x1f\xea\xf3\xfb\xc3\x8b\x89\x90\x7b\xf6\x0d\x6f\xb8\x72\x37\x38\xed\x1f\x7f" +
|
|
|
|
"\x3f\xa2\xd5\xaf\x81\xf3\xbe\xd7\xc2\x3f\x86\x13\x22\xe6\x51\xec\x20\x21\xf5\xbb\x41\x67\x93\x6d\x97\x37\xdf\x07" +
|
|
|
|
"\x67\xf7\x6c\xd0\x97\x0f\xc3\x39\xbe\x93\x53\x69\xa9\x67\xe7\x34\x6c\x3c\xf6\x6f\x66\x43\xef\xbc\x97\x5c\x8e\xa2" +
|
|
|
|
"\xc9\xa5\x7b\x77\xa2\x1e\x9b\xc7\x17\xef\x7b\x3f\xfc\x0c\x07\xc5\xb1\xd6\x63\x1b\x8f\xae\x23\x88\x3a\x49\x04\x15" +
|
|
|
|
"\x8e\x62\x3d\x84\x15\x6d\x9a\x1e\x79\xac\x19\x5c\x41\x5a\x71\xbc\x56\xe5\xd2\x61\xa4\x68\x21\xb3\x79\x69\x1a\x12" +
|
|
|
|
"\x85\x41\xde\xec\xfa\x94\xa3\xbc\x8c\x2d\x16\x1f\x88\xff\x55\x01\x12\xa1\x00\x4b\x93\x62\x16\xa8\x10\xd8\x2f\x2f" +
|
|
|
|
"\x79\x72\x2e\x16\x96\xa6\xbf\xbc\x94\x8a\xe5\x62\xf1\x01\x23\x37\xcc\xcf\xbc\xbc\x94\x09\xa9\xb0\xbf\xd2\x09\x09" +
|
|
|
|
"\x54\x4b\xa4\x4d\xf5\xf4\x58\x07\x1c\x2e\xbc\x6c\x60\x2d\xfb\x26\x35\xd5\x62\xb1\x8c\xc6\x97\x97\x32\x15\x51\x95" +
|
|
|
|
"\x52\x75\x93\xb1\x4e\x49\xdb\xd3\xfc\xb0\x9f\x50\x2a\xc9\xb3\xe6\x58\x2f\xc6\x5a\x49\x4c\x25\x2e\xab\xa6\x55\xf9" +
|
|
|
|
"\xdf\xa8\x56\x52\x2a\x37\x73\x79\x47\x1b\xf9\x0d\x13\xae\x26\x63\x68\x57\x2a\x45\xc3\x92\xf6\x26\x2e\xa7\x49\xc4" +
|
|
|
|
"\x7e\x6a\x5e\x30\xf3\xd6\xbb\xd0\xb0\x71\xb0\xd4\xb9\x63\x85\x8d\x32\x71\x6b\x74\x94\x05\x6c\xb6\x9b\x2e\xe5\x0c" +
|
|
|
|
"\x83\x9f\x7e\x26\xc8\xda\xbd\x35\xe1\x9b\x98\xb7\xb7\x4d\x5b\xf3\x05\x0b\xc1\xc5\xbf\xcd\x17\xdd\x15\x6e\xda\x29" +
|
|
|
|
"\xf2\xa0\x8b\x59\xda\xa6\x6e\xed\x12\x67\x12\xda\x15\x3d\xa8\x43\x19\xc1\x16\xc8\x1b\xc7\x66\xfa\x40\x03\x58\x5f" +
|
|
|
|
"\x37\x74\xe9\x30\xa2\x58\x28\x90\xfe\x85\x1e\x62\x81\xbe\x65\xb1\x88\xb0\x94\x28\x48\xdd\xb0\x16\xb1\xef\x32\x4b" +
|
|
|
|
"\xc7\xca\x66\xcf\x8e\x95\xfd\x9c\xff\xff\x01\x00\x00\xff\xff\x10\xe6\x73\x36\xdf\x17\x00\x00")
|
2018-04-27 22:38:23 +00:00
|
|
|
|
|
|
|
func bindataFrontendIndexhtmlBytes() ([]byte, error) {
|
|
|
|
return bindataRead(
|
|
|
|
_bindataFrontendIndexhtml,
|
|
|
|
"frontend/index.html",
|
|
|
|
)
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
func bindataFrontendIndexhtml() (*asset, error) {
|
|
|
|
bytes, err := bindataFrontendIndexhtmlBytes()
|
|
|
|
if err != nil {
|
|
|
|
return nil, err
|
|
|
|
}
|
|
|
|
|
|
|
|
info := bindataFileInfo{
|
|
|
|
name: "frontend/index.html",
|
2018-04-28 16:52:30 +00:00
|
|
|
size: 6111,
|
2018-04-27 22:38:23 +00:00
|
|
|
md5checksum: "",
|
|
|
|
mode: os.FileMode(436),
|
|
|
|
modTime: time.Unix(1, 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, &os.PathError{Op: "open", Path: name, Err: os.ErrNotExist}
|
|
|
|
}
|
|
|
|
|
|
|
|
//
|
|
|
|
// MustAsset is like Asset but panics when Asset would return an error.
|
|
|
|
// It simplifies safe initialization of global variables.
|
|
|
|
// nolint: deadcode
|
|
|
|
//
|
|
|
|
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, &os.PathError{Op: "open", Path: name, Err: os.ErrNotExist}
|
|
|
|
}
|
|
|
|
|
|
|
|
//
|
|
|
|
// AssetNames returns the names of the assets.
|
|
|
|
// nolint: deadcode
|
|
|
|
//
|
|
|
|
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){
|
2018-04-28 16:51:55 +00:00
|
|
|
"frontend/app.js": bindataFrontendAppjs,
|
|
|
|
"frontend/index.html": bindataFrontendIndexhtml,
|
2018-04-27 22:38:23 +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, &os.PathError{
|
|
|
|
Op: "open",
|
|
|
|
Path: name,
|
|
|
|
Err: os.ErrNotExist,
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if node.Func != nil {
|
|
|
|
return nil, &os.PathError{
|
|
|
|
Op: "open",
|
|
|
|
Path: name,
|
|
|
|
Err: os.ErrNotExist,
|
|
|
|
}
|
|
|
|
}
|
|
|
|
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{Func: nil, Children: map[string]*bintree{
|
|
|
|
"frontend": {Func: nil, Children: map[string]*bintree{
|
|
|
|
"app.js": {Func: bindataFrontendAppjs, Children: map[string]*bintree{}},
|
|
|
|
"index.html": {Func: bindataFrontendIndexhtml, Children: 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
|
|
|
|
}
|
|
|
|
return os.Chtimes(_filePath(dir, name), info.ModTime(), info.ModTime())
|
|
|
|
}
|
|
|
|
|
|
|
|
// 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, "/")...)...)
|
|
|
|
}
|