1
0
Fork 0
photos/cmd/web/bindata.go

503 lines
36 KiB
Go

// Code generated by go-bindata. (@generated) DO NOT EDIT.
//Package main generated by go-bindata.// sources:
// ../../web/shared/css/base.css
// ../../web/shared/css/enlarge.css
// ../../web/shared/css/gallery.css
// ../../web/shared/js/bleh.js
// ../../web/shared/js/enlarge.js
// ../../web/shared/js/gallery.js
// ../../web/shared/js/view.js
// ../../web/view/index.tmpl
package main
import (
"bytes"
"compress/gzip"
"fmt"
"net/http"
"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
}
// Name return file name
func (fi bindataFileInfo) Name() string {
return fi.name
}
// Size return file size
func (fi bindataFileInfo) Size() int64 {
return fi.size
}
// Mode return file mode
func (fi bindataFileInfo) Mode() os.FileMode {
return fi.mode
}
// ModTime return file modify time
func (fi bindataFileInfo) ModTime() time.Time {
return fi.modTime
}
// IsDir return file whether a directory
func (fi bindataFileInfo) IsDir() bool {
return fi.mode&os.ModeDir != 0
}
// Sys return file is sys mode
func (fi bindataFileInfo) Sys() interface{} {
return nil
}
type assetFile struct {
*bytes.Reader
name string
childInfos []os.FileInfo
childInfoOffset int
}
type assetOperator struct{}
// Open implement http.FileSystem interface
func (f *assetOperator) Open(name string) (http.File, error) {
var err error
if len(name) > 0 && name[0] == '/' {
name = name[1:]
}
content, err := Asset(name)
if err == nil {
return &assetFile{name: name, Reader: bytes.NewReader(content)}, nil
}
children, err := AssetDir(name)
if err == nil {
childInfos := make([]os.FileInfo, 0, len(children))
for _, child := range children {
childPath := filepath.Join(name, child)
info, errInfo := AssetInfo(filepath.Join(name, child))
if errInfo == nil {
childInfos = append(childInfos, info)
} else {
childInfos = append(childInfos, newDirFileInfo(childPath))
}
}
return &assetFile{name: name, childInfos: childInfos}, nil
} else {
// If the error is not found, return an error that will
// result in a 404 error. Otherwise the server returns
// a 500 error for files not found.
if strings.Contains(err.Error(), "not found") {
return nil, os.ErrNotExist
}
return nil, err
}
}
// Close no need do anything
func (f *assetFile) Close() error {
return nil
}
// Readdir read dir's children file info
func (f *assetFile) Readdir(count int) ([]os.FileInfo, error) {
if len(f.childInfos) == 0 {
return nil, os.ErrNotExist
}
if count <= 0 {
return f.childInfos, nil
}
if f.childInfoOffset+count > len(f.childInfos) {
count = len(f.childInfos) - f.childInfoOffset
}
offset := f.childInfoOffset
f.childInfoOffset += count
return f.childInfos[offset : offset+count], nil
}
// Stat read file info from asset item
func (f *assetFile) Stat() (os.FileInfo, error) {
if len(f.childInfos) != 0 {
return newDirFileInfo(f.name), nil
}
return AssetInfo(f.name)
}
// newDirFileInfo return default dir file info
func newDirFileInfo(name string) os.FileInfo {
return &bindataFileInfo{
name: name,
size: 0,
mode: os.FileMode(2147484068), // equal os.FileMode(0644)|os.ModeDir
modTime: time.Time{}}
}
// AssetFile return a http.FileSystem instance that data backend by asset
func AssetFile() http.FileSystem {
return &assetOperator{}
}
var _sharedCssBaseCss = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x74\x93\xcb\x72\xf3\x36\x0c\x85\xd7\xd6\x53\xb0\x9b\xfa\x32\xa6\x2c\x29\x71\x9c\x52\x93\x69\x56\x5d\xb5\xd3\x4d\xfb\x00\xb4\x04\x49\x48\x78\x1b\x12\xb2\x2d\x77\xfa\xee\x1d\x5d\xec\xda\x71\xfe\x9d\x46\x00\x78\x3e\xe0\x00\xef\xa8\x9d\xf5\xc4\x5a\xaf\x16\xf3\x86\xc8\x05\xb1\xd9\x54\xd6\x50\x88\x6b\x6b\x6b\x05\xd2\x61\x88\x0b\xab\x37\x45\x08\xd9\xaf\x95\xd4\xa8\xba\xb7\xdf\x64\x1b\x08\x8d\x14\xc7\xba\xa1\xf7\xe7\x24\xc9\xb7\xdb\xe4\xe7\x12\x83\x53\xb2\x7b\x0b\x47\xe9\xe6\xcb\x3c\x8a\x36\xab\x88\xad\xd8\xdf\x06\x29\x44\x6c\xb5\x89\x22\xe1\xad\x25\xf6\x4f\x34\xe3\x3c\x38\x59\xa0\xa9\x05\x4b\xe2\xa7\xdd\xd6\x83\xce\xa3\x7f\x2f\x15\x7f\x75\xce\xd6\x5e\xba\xa6\x1b\xcb\x1a\xd2\xaa\xaf\xea\xb9\xf8\x88\x20\xd8\xfc\x02\x31\x5f\xb3\x00\x1e\xab\x7c\x4a\x38\x02\xd6\x0d\x09\xd6\x63\x45\x33\x82\x13\x71\x0f\xa6\x04\x3f\xc8\x59\x47\xa8\xf1\x0c\xbf\x43\x8d\x7b\x54\x48\xdd\x20\xbc\xb7\x65\xd7\x4b\x68\xe9\x6b\x34\x82\x25\x03\xd1\xf4\x62\xc0\x33\x08\x96\x82\xce\xd9\x66\xc5\xd2\x17\x47\x3d\xd6\x4c\xa1\x01\xde\x4c\x6a\x69\x9c\xed\xb2\xe1\xa9\x26\x5d\xb3\x26\x5b\xb3\xe6\x69\xcd\x9a\xe7\x35\x6b\xb6\x6b\xd6\xbc\x5c\xf9\x2f\x78\xdb\x6d\xd2\x0b\xf0\x23\xec\x3f\x91\xf8\x28\xa4\xad\xa5\x66\xe0\x94\x86\x50\x2a\x94\x01\xca\x3c\x9a\x71\x6d\xcf\xdc\x86\xd3\x43\x5a\xed\xa1\x0b\x85\x54\x30\x49\x5f\x65\x46\xe6\x2c\x4e\xb6\xaf\xe9\x34\xdc\x26\xfb\x12\x4d\xe3\x97\xf4\xf5\x12\x7c\x7a\x08\x66\xbb\xec\x12\x7c\x6c\xe3\x31\x69\xf4\xee\x0f\xab\xa0\x68\x15\x4c\x8e\xc7\xce\x83\xb2\xb2\x84\x92\x53\xd3\xea\xbd\x91\x38\x58\x39\xed\x8a\x60\x7b\x65\x8b\xcf\x3c\x9a\x39\x1b\x90\xd0\x1a\xc1\x3c\x28\x49\x78\x18\x3a\xfa\xb6\xdc\x61\x41\xad\x07\x61\x2c\x2d\xbe\x4b\xe0\xa8\x65\x0d\xcb\x5e\xe6\xff\x57\xe5\x3e\x58\xd5\x12\xf4\x2b\x61\x9d\x60\xfd\x6e\x28\xa8\x68\xfc\x3a\x73\x34\x25\x9c\x04\x4b\x7b\x4f\xee\xe1\xd8\x4f\xe3\x8d\x48\x43\x3f\x42\x1a\x15\x19\xea\xba\x17\xb5\xfb\x0f\x28\x88\x57\x48\x82\x15\xf6\x00\xfe\x66\x3c\x7f\xfa\x5a\x1a\x0c\x7a\x1a\x8f\x91\x07\xd6\x0e\x03\x71\xb2\x2c\x07\x47\x0f\xd2\x2f\xae\xe7\xb1\xcc\x6f\x56\xb2\x47\x53\x18\x88\x07\xea\x14\x08\x66\xac\xe9\xdb\xb9\xd2\x56\x0a\x4e\x79\x34\xfb\xe8\xcf\xa2\xea\x78\x61\x0d\x81\xa1\xf1\x3f\x07\x53\x0e\x18\x93\xa2\xc2\xdb\x6d\xff\xaa\xf9\xe8\xcf\x9d\xeb\x49\xfc\x4b\xef\xf9\x4c\x01\x11\xf8\xdb\x53\x4e\x76\x43\x60\x38\x3a\xf2\xd2\x84\xca\x7a\x2d\x58\xeb\x1c\xf8\x42\x86\x69\x4b\x41\x96\xe0\xef\x9a\x4e\x3d\x68\x56\x48\x55\x2c\xee\x51\xd8\x8a\x65\xcb\xa1\xe8\xbf\x00\x00\x00\xff\xff\x65\xca\x95\x15\xa9\x04\x00\x00")
func sharedCssBaseCssBytes() ([]byte, error) {
return bindataRead(
_sharedCssBaseCss,
"shared/css/base.css",
)
}
func sharedCssBaseCss() (*asset, error) {
bytes, err := sharedCssBaseCssBytes()
if err != nil {
return nil, err
}
info := bindataFileInfo{name: "shared/css/base.css", size: 1193, mode: os.FileMode(420), modTime: time.Unix(1591002043, 0)}
a := &asset{bytes: bytes, info: info}
return a, nil
}
var _sharedCssEnlargeCss = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xac\x92\xdd\x8a\x22\x31\x10\x85\xaf\x93\xa7\xc8\xcd\x80\x2e\x46\x7a\x06\x64\x99\xce\xd3\xc4\xa4\xba\xbb\x98\x98\x0a\x49\xf9\x33\x2e\xfb\xee\x4b\xa2\xae\xab\xc2\x8e\x17\x03\xda\x74\x2a\xcd\xa9\xef\x9c\xaa\x25\xc4\x60\xf3\x08\xea\x97\x14\x89\x0a\x32\x52\xec\xd5\x80\x07\xf0\x46\x0a\xa6\xd4\xab\xce\x48\x11\x60\xe0\xd3\xdb\x1e\x3d\x4f\xbd\x7a\xed\xba\xdd\xde\x48\x31\x01\x8e\x13\x9f\xce\x93\x91\xe2\xa8\x31\x7a\x38\xb4\x82\x91\x82\x76\x90\x87\x40\xfb\x5e\x4d\xe8\x3d\x44\x23\xa5\xe0\x6c\xe3\xa5\x51\xb7\x5c\x15\x45\xc9\x3a\xe4\x4f\x23\xc5\xda\xba\x8f\x31\xd3\x36\xfa\x5e\xe5\x71\x6d\x67\xdd\x42\x9d\x7f\xcb\xf7\xd5\xdc\xc8\xdf\x52\x5e\x88\xb5\x0b\x54\x60\xa1\xfe\x9e\x8f\x44\x1b\xed\x28\x72\xa6\x50\xaa\x9f\x81\x22\xeb\x82\x47\xa8\x7d\xde\x61\xd3\x7c\x30\x43\xd6\xa5\x76\x8c\x63\xad\x77\x3f\xdb\x05\xc3\x81\x75\x23\x1b\x28\x6f\x7a\xb5\x4d\x09\xb2\xb3\x05\x1a\x71\xbd\x2c\x93\xf5\xd5\xc8\x6b\x3a\xb4\xff\x3d\x5f\xc5\x13\x8e\x02\xe5\x33\xfb\xdb\x6a\xb5\x50\xd7\xc7\xe9\x8b\x07\x03\x2d\x78\xeb\x7d\xc3\x71\x36\xb8\xd9\xce\xe6\x99\xbe\x20\xce\xd5\x0f\xf5\x36\xaf\x10\xff\x99\x4e\x3e\xcd\xa0\x7b\xc8\xff\xdf\x6e\x0f\xf1\x3c\x35\xee\x2f\xf4\x30\x2e\xee\x2a\xb4\xe5\xa7\x2d\x79\x2c\x29\xd8\xcf\x5e\x61\x0c\x18\x41\xaf\x03\xb9\x8f\x6b\x8a\x18\x27\xc8\xc8\x77\xa1\x51\x64\x88\x7c\xe7\x20\x43\xb0\x8c\x3b\x30\xe7\xf5\xaa\x43\xd4\x94\x71\xc4\xd8\x2b\xa6\xa4\xaa\xa3\x5b\xa1\x34\x11\xd3\xad\x8a\x5d\x17\x0a\x5b\x86\xaf\x36\xff\xe5\x76\xf1\x5f\xaa\xf0\x55\x37\x43\x20\xeb\xbf\x4f\xf9\x4f\x00\x00\x00\xff\xff\x70\x98\x64\x5b\xa3\x03\x00\x00")
func sharedCssEnlargeCssBytes() ([]byte, error) {
return bindataRead(
_sharedCssEnlargeCss,
"shared/css/enlarge.css",
)
}
func sharedCssEnlargeCss() (*asset, error) {
bytes, err := sharedCssEnlargeCssBytes()
if err != nil {
return nil, err
}
info := bindataFileInfo{name: "shared/css/enlarge.css", size: 931, mode: os.FileMode(420), modTime: time.Unix(1591005571, 0)}
a := &asset{bytes: bytes, info: info}
return a, nil
}
var _sharedCssGalleryCss = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x94\x91\xcd\x6e\xea\x30\x10\x85\xd7\xf1\x53\xcc\x92\xa0\x6b\x08\xdc\xcb\xad\x9a\x6c\xfa\x2a\x13\x7b\x08\x53\x9c\xd8\xb2\xcd\x5f\x2b\xde\xbd\x72\x09\x6d\x40\xa0\xd2\x8d\x2d\x4b\x67\xbe\x33\x3e\xa7\xf4\xd6\x46\x78\x17\x99\x94\x0d\x1a\x43\xfe\x20\x83\x43\xc5\x5d\x53\xc2\x16\xfd\x48\x9e\x9f\x79\x35\xd4\xd4\x18\x48\xae\x88\x9b\x55\x2c\x61\xfe\xaf\x70\xfb\x4a\x1c\x85\x78\x69\x49\x33\x42\x50\x9e\xa8\x03\xec\x34\x8c\x5a\xdc\xcb\x1d\xeb\xb8\x2a\xe1\xb9\x28\xdc\x3e\x4f\x66\x5f\xae\x77\x91\xc5\x27\x32\x3b\xfe\x4c\x7d\x7a\x9c\x3a\xfb\xff\x30\x75\xf1\x0b\xea\x7c\x40\x9d\xf4\x92\x34\xe0\x50\xeb\x41\x90\x57\xf9\xa6\x40\x7b\x85\xf4\x27\x52\x51\x09\x91\x69\x0e\xce\xe0\xa1\x84\xa5\xa1\x84\x4d\x97\xdc\x79\x74\x25\xa4\xb3\x1a\xba\x48\x8e\xd4\x26\xab\x16\x7d\xc3\xdd\x99\x23\x8b\xc9\xa2\x6f\xe4\x52\xe9\x58\xc5\x8d\xa7\xef\x89\xfb\xbb\x0d\x16\xa9\x8d\x55\xeb\x1b\x34\x6e\x9b\x44\xba\xd6\x65\xe7\x60\x14\x1a\x35\xba\xe4\x0f\x82\xcb\x61\x0c\xb3\xc9\x3c\xaf\x60\x3a\x86\xbf\x29\x43\xe0\x00\x1d\x46\xde\x12\x04\x7e\x23\xb0\x1d\x68\x0a\xeb\x68\xdd\x9f\x53\x75\x37\x04\xad\xad\xd9\x10\x8c\xa7\x22\xeb\x9b\xc3\x4d\xb4\x95\xc8\x6c\xfd\x4a\x2a\xca\x25\xa7\x45\xec\x96\x7c\xfa\xc0\x47\x00\x00\x00\xff\xff\x00\x1d\x81\x7b\xee\x02\x00\x00")
func sharedCssGalleryCssBytes() ([]byte, error) {
return bindataRead(
_sharedCssGalleryCss,
"shared/css/gallery.css",
)
}
func sharedCssGalleryCss() (*asset, error) {
bytes, err := sharedCssGalleryCssBytes()
if err != nil {
return nil, err
}
info := bindataFileInfo{name: "shared/css/gallery.css", size: 750, mode: os.FileMode(420), modTime: time.Unix(1591000814, 0)}
a := &asset{bytes: bytes, info: info}
return a, nil
}
var _sharedJsBlehJs = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x14\xc7\x31\x0e\x85\x20\x0c\x00\xd0\x9d\x53\xb0\xb1\xb5\xe1\x0f\x7f\xf8\x7f\xf1\x14\x1e\x40\xa9\x11\x62\x81\xb4\x05\xaf\x6f\x1c\x5f\xe6\xde\xc4\xfc\x3a\xc8\x1f\xd2\xd8\x87\xd3\xac\xeb\x0f\x71\x4f\x15\x8a\x26\xba\xf2\x14\xa8\x64\x58\x3b\xe3\x1c\xb4\x7c\xe0\x0b\x31\x62\xca\x6a\xaf\x81\x94\x61\x93\x76\x2b\x09\x14\x0d\x7f\xe7\x9e\x00\x00\x00\xff\xff\x84\x23\x96\x39\x54\x00\x00\x00")
func sharedJsBlehJsBytes() ([]byte, error) {
return bindataRead(
_sharedJsBlehJs,
"shared/js/bleh.js",
)
}
func sharedJsBlehJs() (*asset, error) {
bytes, err := sharedJsBlehJsBytes()
if err != nil {
return nil, err
}
info := bindataFileInfo{name: "shared/js/bleh.js", size: 84, mode: os.FileMode(420), modTime: time.Unix(1590429739, 0)}
a := &asset{bytes: bytes, info: info}
return a, nil
}
var _sharedJsEnlargeJs = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xcc\x59\xdd\x6f\xe3\xb8\x11\x7f\xb6\xff\x8a\x29\xae\x80\xe4\xc4\xb1\x9d\x2d\xee\x65\x53\x2f\x70\xc8\x06\xb8\x02\x2d\x5a\x5c\xb6\xd8\xdb\x2b\x8a\x0d\x23\x8d\x2d\xf6\x68\x52\x20\xa9\xd8\xde\x85\xff\xf7\x82\x1f\x12\x29\x99\xf6\x3a\x57\x1c\xd0\x27\x5b\xe4\x7c\xfc\xe6\x83\x33\x43\x09\x77\xb5\x90\x1a\x4a\x5c\x91\x86\x69\x28\x18\x51\x0a\x1e\x38\x23\x72\x8d\xf0\x75\x3c\x9a\x5f\x8d\x47\xb5\xc4\x15\xdd\xc1\x12\xb2\xef\x5e\x28\x6e\x6f\xb2\xbb\xf1\x08\x19\xc2\x12\x78\xc3\xd8\xdd\x78\x54\x30\xa1\xf0\xa1\xb7\x22\xb8\x46\xae\x55\x6f\xb1\xae\x84\x16\xfd\x15\x89\x4c\x90\x32\x5e\x1b\x8f\xbe\x08\xb1\x81\x25\x2c\xee\xc6\xa3\x9d\xff\xdd\xbb\xdf\xf1\x68\x23\x1a\x85\xef\xc5\x96\xc3\x12\x56\x84\x29\x34\x8b\xb5\x44\x85\xf2\x05\xcb\xc7\x42\x0a\xc6\x60\x09\x5f\x0f\x3d\xe1\xca\x2f\x8d\x47\xa2\x46\x7e\x6f\xd0\x7e\xa0\x1b\x14\x8d\x0e\x50\xae\xe6\x63\x0b\x5b\x69\xd9\x14\x5a\xc8\x1c\x19\x4e\xc1\x99\xbe\x6c\x0d\x9f\x18\x97\x8c\x74\x45\xd5\x4c\x55\x62\x4b\xf9\x3a\xe0\xf0\xeb\x9d\xb3\xdc\x9f\x6e\x3d\xb2\xca\x2d\xec\x7a\x4f\xfb\xde\x53\xc2\xcc\x20\x3e\x65\x6b\xb7\x79\x64\xb1\xdb\xe9\x0c\xfb\x28\x49\x5d\xa3\xcc\x27\x1d\xd3\x33\xe5\xe5\x2f\x42\x6c\xee\x05\xd7\x52\x30\x65\xb6\xe2\xbd\x47\xfa\x05\x07\xe4\x1f\x29\x2f\xc5\x76\x48\xf8\x41\x34\x45\x35\xa0\x7c\x2f\xc9\x7a\xb0\xe4\x80\x7b\x66\x64\x38\x33\x80\x78\x79\x5f\x51\x56\xe6\x96\x0a\x19\x1a\x96\x43\x1c\x90\x0e\x77\x88\x80\x4b\xc1\x52\x14\xcd\x06\xb9\x9e\x15\x12\x89\x36\x59\x68\x9e\xf2\xac\xa4\x2f\x59\x50\x6c\xf4\xd8\xdc\xfe\x2b\x55\x7a\x46\xca\x32\xcf\xd0\x25\xf9\x80\x48\xe9\x3d\xc3\x59\x49\x55\xcd\x88\x89\x49\xc6\x05\xc7\x2c\x41\x22\x6a\x52\x50\x6d\x49\x16\x59\x70\xc4\x97\xc8\x93\x0f\xaf\x00\x38\xe0\x3b\x01\xf6\xc6\x90\xdd\x14\x9e\x6e\x00\xfd\xc8\x8f\x03\x99\x96\x3a\xd6\xf7\x17\x7e\x1e\x21\x19\xe0\xb3\xf4\x67\x91\x51\x9e\x64\xa1\x9c\xa3\xfc\x80\x3b\x73\xdc\x32\x93\x6b\x70\x9d\x25\xc8\x2a\x89\x2b\x5b\x65\xb2\x93\x6e\x49\xda\x68\xb9\x27\xfd\x18\xfc\xbd\xd1\xaf\x33\xce\x31\x9c\xb5\x4e\x34\x3a\xcd\x74\x6c\xdf\x4d\x96\xa2\xfb\xad\x06\x3a\xf6\xc8\xc2\xa8\xe0\x5e\x62\x5f\x4b\x7e\xca\x3a\xbb\x9f\xa2\xef\x19\x66\xeb\x66\x76\x4c\x94\xb0\x2a\x99\x8e\x2d\xc3\xa4\x57\x96\xa2\x36\x71\xd9\x49\x89\x78\x4e\xda\xe3\x49\xbe\x75\x40\x22\x51\x11\xa8\x5e\x53\x3a\x85\x89\x6e\xd6\x91\xf4\xc0\x72\x0a\x92\xa7\x48\xf3\x28\x59\x18\x07\x66\x49\x1b\x8f\x50\x07\xc6\x18\x74\xe8\xad\x17\x42\xf6\x0c\x27\x01\x9b\xfd\x14\xfd\x2b\xc1\x7a\xb6\xb6\xa0\x1f\x77\x9b\x50\xd0\x43\x25\x20\x65\xf9\xf0\x82\x5c\x1b\x58\xc8\x51\xe6\x59\xc1\x68\xf1\x6b\x36\x85\x1c\x27\xb0\x7c\x67\x79\x46\x68\x5c\x61\xc8\xde\xbb\xe9\xc5\x35\x9a\x20\xeb\x07\x1d\x8e\x10\x5c\xc1\xf5\x62\xf6\xe6\xfb\x29\xd8\x25\xd3\xce\xcd\xe0\x63\x9a\xdb\x6c\x0b\x73\x78\x93\xda\xa8\xcc\x46\x24\xb4\x94\x64\xeb\x94\x1c\xa6\xae\x2f\x27\xcb\xc1\xef\x82\xfe\xe6\x77\x42\xdf\x06\xc5\xb5\xf9\x10\x8c\x28\x3d\x8f\xed\xb1\xa9\xec\x75\x36\x75\x49\x34\x5a\x8d\x46\x8e\x05\x3d\x39\x72\x4f\x97\x3e\xff\x9b\xb0\x16\x6d\x3b\x81\x58\xbc\x5b\xfb\x90\x90\x2c\x51\xd1\x2f\x68\xfc\x1e\xdc\x4e\x57\x90\xc7\x03\x9c\x13\xe1\x51\x06\xf5\x3e\x1a\x87\x13\xde\xf2\xb3\x0e\x7c\x1d\x87\x35\x37\xeb\x04\x0f\xf6\xce\xc5\x11\xb6\x5a\x50\xae\x51\x96\x62\xcb\x5f\x91\x18\xf1\x60\xa8\x65\x83\x61\x27\xd6\xe6\x26\x94\xa2\x91\x4a\x48\x73\x56\xd7\x92\x3c\x3f\x53\xbe\xce\xd2\xa9\x7b\x11\xd0\x8d\x78\xc1\xcb\x80\x76\x1e\xee\xc0\xf6\x7c\x5c\x13\x9e\xe3\xcc\x88\x33\x65\xe9\xe7\x29\x84\x87\x4f\x4e\xc0\x30\x5d\x8f\xa2\xf0\x0a\xd8\x4d\xfd\x1b\xbd\xdb\x8d\xdd\x97\xb9\xf7\xc8\xb5\xdd\xb9\xf2\xe3\x6e\x6f\x6e\x4d\xe0\xdd\x56\x88\xec\x32\xac\xf3\x39\xfc\xa0\x54\xb3\x41\x58\x35\x8c\x81\x2a\x24\x22\x1f\xd6\x0e\x9c\x95\xc8\x34\xf9\xe4\x4a\xc7\x62\xf1\x06\xae\xa0\xdb\x37\x4e\x2f\x18\x6d\xfd\xef\xfe\x7e\xba\xa8\x56\x98\x1b\xd4\x8f\x44\x55\xde\x22\x3b\xa0\x43\x45\x54\x05\x4b\xf0\x07\x91\x89\x82\x68\x2a\xf8\xcc\x2c\x1b\x19\x26\x23\xfe\x60\x1e\x66\x4a\x13\xa9\xd5\x47\xaa\xab\x3c\xba\x2d\x4d\x7c\x82\x84\x31\xc1\x5b\x2a\x51\x37\x92\x5b\x18\x9d\x2e\x5a\xc2\xd2\x2a\x9c\x49\xac\x19\x29\x30\x96\x34\x85\x2c\xea\x59\x06\x6b\x4e\xcb\x16\xfa\x96\xe8\xa2\x8a\xb0\x9f\xac\x1b\x46\x7a\x51\x11\xbe\xc6\xb6\x2e\xb5\x56\x9f\x2b\x71\xc1\x33\x5e\x9f\x42\xfd\x0f\x57\x45\x0d\x08\xab\x72\x3e\x87\x4a\xeb\x5a\xbd\x9d\xcf\x0b\xc2\x69\xa3\x70\x56\x88\xcd\xfc\xbb\x15\x12\xbd\xdc\x94\xfc\xe6\x3f\xe4\x85\xa8\x42\xd2\x5a\x7f\x16\x35\x4a\xa2\x85\x54\x9f\x45\x6d\xdc\x49\xd8\xe7\xa2\x22\x94\x53\xbe\x1e\x8f\x46\x0c\x35\xf8\x1a\x1d\x2e\xb1\xe1\xec\x45\x57\xc1\x7f\xd1\xf2\xdf\xde\xc1\x81\x21\x45\x64\x52\x5a\x22\xd7\x8f\xb2\x70\x2e\xf7\x02\x3d\x59\x1c\xa4\xa3\xe1\xc5\x2f\xdc\xa5\x28\xa2\xdb\xd4\x33\x13\xc5\xaf\xee\xac\x00\x32\x85\xe7\x44\xba\x11\xe3\x9c\xb4\xee\x6e\x76\x08\x0e\x37\x7d\xa6\x73\xf7\xab\x6e\xde\xc6\x54\xda\xb7\xb2\x3f\xf3\xd0\x32\x0d\x3c\x35\x19\x79\x44\xf3\x39\xfc\xd3\xf6\x14\xd0\x15\x82\xe9\x46\x20\x56\xf6\x3f\xdd\x90\x35\x8e\x47\x71\xc7\x49\xb7\x0e\x57\x6d\xb6\xb4\xd4\xe6\x88\x3d\xfd\xf1\xab\xeb\x5e\xb6\xf5\x1f\xea\xdd\x53\xb2\x1e\x3a\xa6\x0a\xe9\xba\xd2\x43\xae\xaa\xe5\x32\xe7\x49\x18\x8f\xe2\x73\xb3\xce\x9f\x1c\x94\xd2\xa1\xd4\x02\xfa\x9a\xa6\xd0\x97\xf1\x14\x12\xbf\x2b\x16\xc6\x62\xf7\x70\xe4\x7d\xff\x4a\xc9\x4c\x9b\x9b\xda\x0c\x80\x79\x54\x8c\xdc\xbb\x01\xa2\xf0\xb1\x20\x2c\x3a\x51\xfb\x21\xa3\x63\xda\x27\xa7\x1d\xbf\xe8\xe0\xc5\xc5\xae\xfd\x9f\x50\xb0\x4b\x2b\xd8\x25\xe7\xac\x58\xc1\xf6\x42\x05\xc7\x31\xd1\x92\x70\xb5\x12\xd2\x38\xe5\xc9\x3e\x30\xa2\xf1\x4f\x65\xee\xdd\xbb\x3b\xd4\xbb\xce\xd7\x7b\xfb\xb0\x98\x80\x32\x62\x5b\x92\xa4\xce\xc3\xe4\xc9\x47\xc0\x34\xd8\xdd\x14\xf6\x51\x10\x76\x70\xbd\x84\x5d\xe4\xd7\xeb\x25\xec\x3d\xb9\xef\x17\xcf\xfb\x29\x04\x2e\x57\x6a\x39\x6e\x7f\xf9\x66\xf8\xe0\x1a\x9e\xf7\xc9\x18\xce\xe7\x70\x6f\xab\x28\x48\xd3\x0f\x3a\xb1\xae\xb4\x96\x3f\x99\x45\x53\xbb\xbc\x96\x79\xf0\xa8\xe7\xfe\x09\xad\xdd\x80\x3b\xaa\x34\xe5\x6b\x10\xab\x95\x42\x1d\xac\xba\x5a\xf6\x84\x45\x06\x26\x76\x22\x81\xbe\x77\x0f\xc5\xdd\x2c\x21\xef\x81\xbb\x81\xdb\x09\x5c\xf5\x3c\x77\x8a\x66\xef\x55\xf8\xe3\xce\x71\x0b\xc6\x92\xc1\x31\xf0\xb6\xb6\x0d\x42\x13\x4d\x0b\xf0\x99\xe7\x73\x81\x0a\x3e\x85\x36\xf3\xa6\xf6\x34\xba\x98\x98\xfa\xd4\xae\xc3\xbb\x68\xc3\xa8\x7d\xe0\xaa\x91\x08\x05\x72\x2d\xb1\x0c\xbd\x33\x62\xb9\xf1\x2c\x73\x78\xd3\x76\x54\xdb\x2e\x82\x5e\x78\x67\x72\xad\x15\xf9\x68\x7a\x35\x28\x5a\x62\x24\x6e\x11\x95\xc0\x21\xf7\x9f\x8f\x95\xc5\x00\xcb\xa1\xac\x01\xf1\xb0\xb8\x7a\xaa\x48\x43\x5c\xea\x23\xd7\xd9\x7c\x74\x95\x24\x24\x60\xdb\x6e\xef\x49\x0d\x15\x5d\x57\x20\x51\x09\xd6\x58\xa0\x2e\x09\x88\x86\xdb\xd9\xf7\x81\x8a\x89\x6d\x4c\x64\x23\xd6\xd1\xb8\xcc\xdd\x90\x9d\x3f\x10\x7f\x23\xba\x9a\x6d\xc8\x2e\xbf\x9d\x7d\x0f\xf3\xa0\x77\x6a\xe8\x6d\xf6\x7b\xf8\x8e\x90\xf2\xbc\xe3\x70\x48\x6f\x27\xd3\x56\x5c\x5b\x3a\xd7\xa8\x83\xa0\x3c\x04\xdd\x26\x10\x51\x35\x16\xda\xa6\xdc\x8c\x48\x78\x77\xe2\x26\x98\x28\x8c\x21\x06\xb6\x39\x02\x55\xce\x6d\x58\x9a\x2a\x6f\x1b\x4b\xec\xee\xd3\x62\x5d\xe5\x1b\x86\xe9\x84\x5c\xd7\x7b\xce\x0a\xae\x7a\x82\xab\x28\xba\xc6\x13\x31\xa9\x77\x86\x97\x64\xd5\x6e\xdf\x42\x37\x4d\xbb\x73\xfc\xd1\x58\x32\x35\x7b\xd5\xd1\xde\x8f\x16\x8d\xd9\x3c\x44\xce\x8e\x7c\x9a\xd0\x40\xe4\xdb\x5e\xc5\xef\x81\x1d\x8a\x52\x01\x65\x98\xc1\xda\xc1\x80\x13\xdd\x48\xc2\x2c\xc0\xe8\x8c\xc5\xca\x3a\x7b\x92\x4c\xd6\xaa\xce\xac\x21\x49\x30\xce\x42\x4a\x1d\xa2\x81\x8e\x30\x4d\x9d\xd1\x72\x44\x74\xa4\x27\xdc\x08\xfa\x13\x57\x7f\xf0\xbd\x8b\x97\xdb\xf1\x2c\xbc\xb9\x32\xf7\xf0\x6e\x7a\xf0\xc3\x7f\x52\x94\x99\x71\x13\xc2\xfc\x72\xbb\x5e\xd1\x12\xc3\x04\x5e\x89\xde\x30\x12\x3e\xda\xb8\xcb\x73\x77\xf8\xb5\x29\x9e\xca\x7d\x52\xa9\x85\xa2\xa6\x02\x9c\xf8\xe4\x62\x87\x06\x7f\x75\x70\x1c\x3f\x9f\xfa\x3a\x63\x07\x98\x1e\xe9\xa7\x00\x34\xf9\xb5\x21\xcc\xc7\x03\x1a\x7f\x9d\xb5\x17\x15\x65\x28\x09\x63\x96\xae\x7b\xdb\xf7\x2c\xca\x7d\xfb\x6d\xe2\x05\xe5\xca\x94\xb3\x25\x64\x15\x2d\x4b\xe4\xee\x0b\x45\x97\x99\xc3\xcf\x60\x3e\x21\x0b\x86\x44\xfa\xa5\x13\x84\x6d\xe7\x48\xee\xc2\x12\x14\xea\x56\x40\xf4\xd2\x65\x60\x4c\xf4\xed\xe4\x76\xb6\x68\xaf\xce\xb7\x8b\x45\x1b\x37\x17\xc4\x33\x1f\xdb\xba\x76\xae\x45\x32\x70\x3d\xa7\x7f\x10\x79\x3a\x90\x53\x48\x47\x6d\x92\x8a\xd2\xe0\x83\xcf\xb7\x23\xd4\xdd\x4e\xbe\x15\xa2\x17\xaa\xe8\x33\xc3\xff\xaf\x18\x9d\x4c\xb8\x4b\xbe\x95\xb9\x68\x76\xe1\x94\xb8\x36\x77\x6b\x99\xd3\x72\x0a\x18\x35\xe7\x47\xba\xa9\x19\x42\xdb\x73\xed\x22\x86\x4f\x0a\xd1\xc5\x1e\xae\xfd\xf5\xcb\x70\xe1\x86\x70\xd3\xfd\x7d\xe0\xdc\xf4\x11\x09\x49\xbf\x61\x79\xc5\x4b\xd8\xd4\x8b\x8c\x13\x78\x86\xef\x47\x5a\x5b\x43\x01\x8c\x4c\x4e\xdd\xba\x61\x69\xf6\x2d\xf7\x61\xfc\xdf\x00\x00\x00\xff\xff\xea\x04\x59\xb4\x8f\x1f\x00\x00")
func sharedJsEnlargeJsBytes() ([]byte, error) {
return bindataRead(
_sharedJsEnlargeJs,
"shared/js/enlarge.js",
)
}
func sharedJsEnlargeJs() (*asset, error) {
bytes, err := sharedJsEnlargeJsBytes()
if err != nil {
return nil, err
}
info := bindataFileInfo{name: "shared/js/enlarge.js", size: 8079, mode: os.FileMode(420), modTime: time.Unix(1591003113, 0)}
a := &asset{bytes: bytes, info: info}
return a, nil
}
var _sharedJsGalleryJs = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xb4\x57\x5b\x6f\xdb\x3a\x12\x7e\x96\x7e\xc5\x6c\x51\xc0\x72\x6c\xcb\x49\x76\x17\x58\xc4\x75\x17\x6d\x37\x48\x03\xb4\xdb\x45\xd3\x76\x1f\x8a\x02\x61\xa4\xb1\x44\x94\x22\xb5\x24\xe5\x4b\x53\xff\xf7\x05\x2f\x92\x28\xdb\x39\x28\xce\xc1\x79\x31\x64\x72\x38\x97\x6f\x66\x3e\x0e\x33\x46\x94\x82\x77\x64\x27\x1a\x7d\xcd\x0b\xca\x11\x1e\xe3\x68\x7e\x16\x47\x12\x33\xad\x60\x09\x5f\xbf\x2d\xe2\x38\x2a\x48\x0d\x4b\xb8\xb8\x5c\xc4\xd1\x03\x51\xf8\x16\x69\x51\x6a\xb3\x72\x7e\xbe\x88\xa3\xf9\x1c\x2a\xb2\xed\x16\xff\x7a\x69\x16\xd7\x14\x37\xb5\x90\xfa\xbf\x34\xd7\xa5\x15\xbd\xfc\xdb\x22\x8e\xce\xe6\x71\x14\x47\x99\xe0\x4a\xcb\x26\xd3\x42\x26\x63\x63\x32\xd2\x25\x55\x69\x68\xd4\x2f\x05\x96\xdd\xc2\x09\xfb\x6e\xe3\x09\x83\xfb\xd8\x3a\xf8\x11\x0b\xaa\x34\x4a\x20\xc0\x71\x03\xc6\x12\xe1\x05\x43\xd8\x50\x5d\x02\xe1\x40\x54\x8d\x99\x06\x49\x34\x15\x20\x56\x40\x24\x10\x0d\x94\xe7\xb8\x8d\x23\xca\x15\x4a\x9d\x10\xb9\xbc\x98\xba\xb5\xe5\xec\xc2\x39\x6e\x43\xb1\xfa\x60\x69\x17\x22\x22\xaf\x80\xc8\x69\x1c\x45\x7b\xe3\x1c\x5d\x41\x62\x8f\xc0\x72\x09\xed\xa9\x20\xde\xb4\x6e\x54\x99\x98\xcf\xb1\x11\xdf\x03\x32\x85\x47\x42\xaa\x66\x34\x43\xa7\x68\x0a\xe7\x53\xe8\x0f\x74\x31\x7e\xe6\xf2\xa9\x28\xfb\x50\x6a\x51\x27\xc3\x08\xe6\x73\xf8\xf4\xe1\x5f\x1f\x3a\x35\x37\xc8\x51\x12\x8d\x40\x80\x51\xa5\x0d\x18\x39\xad\x90\x2b\x2a\xb8\x82\x95\x90\x80\x24\x2b\x7b\xe5\x71\x94\x11\x96\x35\x8c\x68\xf4\xc9\x64\xa8\xc3\x23\x6d\x15\xd9\xf5\xac\x91\x12\x79\x97\xa5\x36\xc9\x0b\xbf\xad\x34\x91\xfa\xd6\xc1\x05\xe7\xf6\xd4\x7c\x0e\xaf\xb1\x24\x6b\x04\x46\xbf\x1b\xaf\x1e\xa4\xd8\x28\x94\x57\xa0\xe5\x0e\xb4\x80\x15\xd5\x40\x14\x54\x84\xef\x80\x72\x20\x20\xc5\xc6\xe5\xb5\x2f\x96\x38\x8a\x8c\xe7\x89\xb1\x41\x3b\xf5\xfe\xf3\x05\x04\x48\x33\xe4\x85\x2e\xfd\xd6\x64\xe2\xf3\x35\x9f\xc3\xab\x3c\xb7\x72\x83\xe2\xc9\x75\x69\xb6\x5d\x15\xf8\xd8\x3e\x62\xd6\xc5\x97\x1c\x16\xed\x59\x60\xeb\xab\xb5\xf1\x2d\x25\xd2\x66\x32\x1a\x60\x33\x59\x1e\xeb\x9b\x04\x78\x99\x03\xa6\xb6\x06\x87\x5e\xc2\x71\x2f\xf8\x08\xac\x8f\x82\x61\x8a\x52\x0a\x99\x3c\x33\x39\xbf\x82\x15\xdd\x42\x46\x14\x2a\xd8\x94\x28\x11\xda\x93\xa0\x2a\xc2\x18\x4a\xd0\x25\xe1\x40\x2b\x52\xe0\x33\xe7\x64\xf4\x20\x91\x7c\xb7\x9f\xfb\xd8\x43\x73\x83\x1a\x74\x89\xc0\x71\xab\x1d\x28\x26\x2f\x24\xcf\x7b\x6c\x4a\xa2\xfe\x8d\x5b\x1b\x0b\x2c\x3d\xee\x13\xb8\x38\x89\x7d\x7f\x8a\xfb\x23\x2d\x9c\xa1\x96\x7f\xfe\x0a\xb8\x93\x0b\x0b\x2f\x5c\xc1\xf9\x09\xb5\x1f\xd6\x28\x57\x4c\x6c\x60\x39\xac\xcb\xc9\x81\xe1\x1e\xf7\x93\x08\x2f\x5a\x1c\x6e\x57\x87\x30\x50\x05\x5a\x08\xf3\x07\x4d\xcf\x2a\xc1\xd6\x68\x65\xbc\xbd\xbe\x98\x54\x9b\xd0\xbf\x84\x41\xfe\xfc\x79\xe4\x6c\x98\x4f\x0d\x05\xa9\x3f\x09\x4d\x58\xd0\x4b\x70\xd6\x32\xce\x2c\xec\xa7\x09\x5c\xfa\x0c\xda\x46\xcb\x08\xc3\xae\x40\x87\xe4\x39\xeb\xb4\x8e\x61\x7e\x50\x61\xc1\x9e\x53\x76\xe8\x72\xeb\x5e\xd4\x5a\x78\x4f\x74\x99\x56\x94\x27\x17\xe9\x3f\xa6\xce\xae\x3f\xba\x0f\xe2\x30\x38\x74\xbc\x7e\x9c\x57\x7b\x6c\x01\x16\x68\x83\xf4\x9d\x55\xde\xd4\x80\x6b\x94\x3b\xa8\x25\xae\xa9\x68\x54\xc8\x4a\x91\x6f\xf9\x45\x08\xc2\x0b\x5f\x7b\xe1\x62\xd7\xe4\x51\xd4\xb3\x96\xa3\x65\xbf\x1c\x95\x57\x81\x83\x53\xbf\xb8\x09\x17\x87\xb5\xd7\x2b\x37\xe5\xe7\x0f\xec\xc7\x61\xd4\x4f\xf3\xa0\x95\xb0\xbd\x25\x51\x37\x92\x07\x5c\xda\x5e\x68\x67\x10\x47\x70\x06\x6f\x44\x8e\x96\x91\x09\xac\x1a\xdd\x48\x04\x5a\xd5\x0c\x2b\xe4\xda\xdc\x63\xdc\x74\xaf\x06\xac\xa8\x56\x06\x28\xae\x95\xb9\x7d\x9b\x3a\xef\xb9\xba\x65\x85\x1c\x1f\x9a\x22\x19\xd9\x3d\xca\x0b\x60\x76\x28\x18\xd9\x4c\x75\x57\xc3\x5d\x56\x62\xde\x98\xfb\x84\x83\xd3\x62\x6e\x96\x8a\x6c\x69\xd5\x54\x70\x71\xfe\xf6\x47\x1c\x29\x2f\xf3\x39\xb4\x62\x8a\xc4\x86\xd8\xee\xe6\x6e\xdb\x03\xef\xe2\xf4\xb7\x59\x74\x4a\x10\x96\xa0\x50\x7f\xa2\x15\x8a\x46\x27\xc9\x18\x96\x2f\x83\x3b\xf2\x58\x98\x37\x8c\x2d\xba\xfd\x36\x62\x6b\x61\x6a\xc6\x86\xb1\x45\xd2\x8c\x23\xfb\x38\xc6\xad\xa5\xbc\x1c\x57\xa4\x61\x1a\xdc\x54\x74\x63\xf9\x6f\x67\xac\x84\xe3\x0a\x32\x0c\x26\x16\xb4\x15\x8e\x0c\xbb\x31\x84\x85\xc3\xd4\xd2\x5e\xc3\xe1\x7c\x65\x7c\xe8\x66\x1b\x49\x1e\x6e\x48\xed\xdc\xea\x56\x5e\x77\x65\x7f\xb0\xf1\x25\xec\xd1\x50\x4f\x7b\xeb\xb7\x02\xc1\xb9\x76\xeb\x96\x53\x4d\x09\x0b\x76\x72\x49\x36\xc9\xb8\x1f\x90\xae\xb7\x5a\x92\xcc\xf2\x09\xac\x09\x6b\x0c\x1f\x75\x0e\xb6\x73\xc2\x9d\x2d\xaf\xa3\x22\x13\x50\x34\xa8\x14\xac\xa4\xa8\xa0\x26\x79\x6e\x0a\xa8\x55\xe2\xfb\xbb\x36\x37\xee\x86\xf2\x5c\x6c\xd2\x02\xf5\x1b\x51\xd5\x8d\xc6\xfc\x4e\xef\x18\x26\x2d\x96\x63\xb3\xf5\x1f\x29\x6a\x94\x7a\xf7\xc5\x28\x48\x46\x5e\xdf\x8c\xe1\x4a\x8f\xc6\xa9\xc4\x9a\x91\xcc\xac\x6f\x47\x53\x18\x8d\xc6\x27\x91\xf7\x73\x63\x4d\xa4\xc2\x5b\xae\x93\x7a\x3b\x86\x33\xb8\x34\x74\x7a\x7e\x1c\x73\x38\x26\x1c\xa6\x20\x18\xf2\x7e\x77\x08\xb3\x59\xe1\x8a\x69\x66\x2c\xcd\x4a\xab\xfa\xd7\x63\x19\x8c\xbc\x83\x90\x4e\x87\xd3\xdd\xe1\x7e\x3c\x39\x51\x3c\x7d\x05\x0f\x2c\x1d\xce\xd0\x6d\x50\x69\xc6\x68\x4b\x56\xbd\xbd\x5b\xbe\x12\xb2\x02\xd1\x48\x40\x57\xef\x62\x75\x64\xfc\xb8\x38\xad\x6d\x0f\x23\xc9\xf3\x6b\xc3\x4b\xef\x8c\x0c\x47\x99\x8c\x24\x2a\xfa\x03\x47\x53\x08\x7a\xbc\x63\x8f\xdf\x72\xb6\x4b\x0d\xe5\x1c\xe5\x60\xf2\xe9\xe9\xc5\x91\x6f\x4b\xd4\x2e\x81\x9e\x16\xec\xef\x93\x6e\x31\x41\xf2\xa1\x53\x4f\x2b\x51\xa8\x6f\xb9\x46\xb9\x26\x2c\x19\x4a\xa5\x0f\x94\xe7\x76\x6d\x3c\x85\xbf\xb7\x2c\x64\x5f\x5b\xad\x9a\x3e\x33\x7f\x94\x1e\x4c\xc7\x1e\xa3\x76\x48\xcf\x4f\x12\x42\xf7\x62\xa2\x8e\x3b\x0c\xcb\x55\xee\x0a\x39\x62\x95\xa0\x49\x7c\xa5\xdf\x6a\xac\xae\x19\xaa\xb0\x88\xfe\xd7\xa0\xdc\xdd\x21\x43\x43\xa4\xaf\x18\x4b\x46\x69\xdb\x17\x54\x63\xe5\xca\xdf\x5e\xd9\x4e\x95\x21\x57\xb1\x3a\xd4\xe8\x93\xea\x44\x88\x74\xf4\x9b\xe6\x44\x13\x85\x3a\x25\xb2\x67\xfd\x41\xdc\xdd\x13\xee\xe0\xd1\xf4\xa6\x7d\xbb\x84\x2f\x16\xc2\x73\x30\x78\x98\x49\xad\x8a\x23\x07\x4d\x10\xe4\xe0\x71\x73\x6c\x2b\x78\x0f\x2d\xfe\x0c\x60\xbe\xfa\x67\x20\x32\xfc\x76\x02\xa1\x14\xb9\x96\x14\x55\x32\x1e\x60\xd5\x39\x0d\xcb\x20\x00\xff\x06\x59\x74\xd3\x67\xb7\x75\xfa\xdd\x70\xff\x9e\x2a\x65\xf8\xfd\xf0\x4d\xe8\xaa\xc3\xcc\x03\xcf\x1f\xad\xce\xfd\xbd\x1f\xf3\x0e\xdb\x2f\x88\x84\x56\xc5\xb5\xcb\xf2\x69\x1c\x68\x55\x8c\xda\x28\x22\x27\x9c\x2a\xc3\xb7\x69\xd9\x12\xe2\xfd\xf3\x47\x3b\x61\xae\x98\x10\x32\xe9\xbc\x4a\xcb\xf1\xbe\xde\xde\x2f\x8e\x4f\x6e\x3c\xb9\xdd\x3f\x7f\xec\xa5\x37\x9d\xf0\xbe\x2d\x8f\x7d\xfc\xff\x00\x00\x00\xff\xff\xe9\x8c\x26\xb5\x1f\x11\x00\x00")
func sharedJsGalleryJsBytes() ([]byte, error) {
return bindataRead(
_sharedJsGalleryJs,
"shared/js/gallery.js",
)
}
func sharedJsGalleryJs() (*asset, error) {
bytes, err := sharedJsGalleryJsBytes()
if err != nil {
return nil, err
}
info := bindataFileInfo{name: "shared/js/gallery.js", size: 4383, mode: os.FileMode(420), modTime: time.Unix(1591005342, 0)}
a := &asset{bytes: bytes, info: info}
return a, nil
}
var _sharedJsViewJs = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x94\x52\xcf\x4e\xf3\x30\x0c\x3f\x7f\x79\x0a\xdf\x9a\x4a\xdf\xb2\x07\x88\x76\x00\x31\xe0\x88\xc4\x11\x71\xc8\x5a\xb7\x2b\x72\xe3\xe1\x64\xaa\x26\xc4\xbb\xa3\x52\x77\x1b\x68\x3b\x70\x8c\x7f\x7f\xed\xb6\xeb\x77\x2c\x19\x1e\x02\x11\xca\x01\x1a\xe1\x1e\x0a\xb7\x6c\xa7\xb7\x7b\x4b\x85\x37\xca\x59\x47\x0a\xd2\xe2\x91\x83\xd3\x7b\xe2\x98\xe5\x12\x6e\xbb\x58\x03\x12\xf6\x18\x73\x32\xa6\xe2\x98\x32\xa8\xd3\x9a\x10\x56\x50\x73\xb5\x1f\x51\xf7\xbe\x47\x39\x3c\x23\x61\x95\x59\x6c\xd1\x87\x2e\x3a\x65\x16\xa5\xff\x29\x85\x15\x44\x1c\xe6\x8a\xf6\x64\x58\xfa\x39\x44\xab\xac\x09\xd3\xd5\x94\x1b\x22\x5b\xbc\xd4\x21\x87\x85\xd2\x5f\x4f\x51\x3a\xd1\x28\xdd\xd4\x1e\x8d\x36\x5c\x1f\x4a\x6f\x1a\x16\xb0\x2a\x20\x04\x6e\xce\x83\x4b\xf8\x30\xff\xe6\x9b\x08\xb6\x5d\xca\x28\x16\x09\xdd\x98\x99\x30\x3b\x05\xff\x8f\xe2\xd2\x9b\xcf\x5f\xed\x9f\x04\x89\x43\xfd\xc7\x25\x16\xbb\x49\xb6\x68\x58\xbe\x17\xba\x5a\xf2\xcc\xff\x62\x57\xc5\x2f\x55\x56\xe8\x9e\xe5\xac\xfc\xac\x1f\x42\xae\xb6\x8f\x21\x6d\x6d\x39\xfd\x07\x77\xb8\xd9\xb7\xc6\x0c\x5d\xac\x79\x70\x2d\xac\xe6\x2f\xe9\xe7\xd9\x78\x68\x95\x7b\xf3\x15\x00\x00\xff\xff\xe9\xb5\xb6\x88\x83\x02\x00\x00")
func sharedJsViewJsBytes() ([]byte, error) {
return bindataRead(
_sharedJsViewJs,
"shared/js/view.js",
)
}
func sharedJsViewJs() (*asset, error) {
bytes, err := sharedJsViewJsBytes()
if err != nil {
return nil, err
}
info := bindataFileInfo{name: "shared/js/view.js", size: 643, mode: os.FileMode(420), modTime: time.Unix(1591002757, 0)}
a := &asset{bytes: bytes, info: info}
return a, nil
}
var _viewIndexTmpl = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xb4\x56\xcd\x6e\xe3\x36\x10\x3e\xdb\x4f\x31\x61\x2f\x2d\x10\x49\x76\x12\xa4\xad\x4b\x09\x28\x9a\xf6\x50\x20\x68\x80\x7a\x0f\x7b\x1c\x4b\x63\x89\x09\x45\x09\x24\xfd\xb7\x5e\xbd\xfb\x82\xa4\xe2\x38\x5e\x27\xeb\x2c\xb2\x27\x8b\xc3\xf9\xe6\xf7\x9b\xa1\xf9\xd9\xcd\x7f\x7f\x4d\x3f\xde\xfd\x0d\x95\xad\x65\x36\xe4\xee\x07\x24\xaa\x32\x65\xa4\x98\x13\x10\x16\xd9\x70\xc0\x6b\xb2\x08\x79\x85\xda\x90\x4d\xd9\x87\xe9\x3f\xd1\x6f\x6c\x27\x57\x58\x53\xca\x96\x82\x56\x6d\xa3\x2d\x83\xbc\x51\x96\x94\x4d\xd9\x4a\x14\xb6\x4a\x0b\x5a\x8a\x9c\x22\x7f\x38\x07\xa1\x84\x15\x28\x23\x93\xa3\xa4\x74\x1c\x8f\xbc\x1d\x2b\xac\xa4\x6c\xbb\x85\xf8\x96\x2c\x16\x68\x31\x9e\x3a\x11\x74\x1d\x4f\xc2\xe5\x70\xc0\xa5\x50\x0f\xa0\x49\xa6\xcc\xd8\x8d\x24\x53\x11\x59\x06\x95\xa6\x79\xca\x1c\xf6\x4f\x63\xc8\x1a\xe8\xba\xdc\x98\x64\x86\x86\xe2\xdc\x18\xf6\x66\x64\x89\x52\x92\xde\x7c\x1f\x98\x94\x44\x5d\x3e\x79\x3e\x8b\x22\x98\x56\xc2\x40\x6f\x15\x56\x8d\x7e\x30\xb0\x12\xb6\x6a\x16\x16\xfe\xc5\x25\xfe\x9f\x6b\xd1\xda\x33\x88\x22\x07\x30\xfe\x04\x76\xd3\x52\xca\xea\xa6\x58\x48\x62\x60\x74\x7e\xe0\xeb\xde\x24\xae\xe2\xf1\xbd\x61\x50\xd0\x9c\x34\xa0\xd9\xa8\x3c\xe3\x49\x30\x90\x0d\x79\x12\xba\xc7\x67\x4d\xb1\x71\x96\x15\x2e\xb3\xe1\x60\xc0\x17\xd2\xfd\xb8\xbc\x32\x8e\x7d\x1e\x3f\x15\xcd\x4a\xc9\x06\x0b\x96\xdd\xf4\x5f\x3c\xc1\x8c\x27\x52\x7c\xad\x5c\xa3\xc2\x92\x12\x96\xdd\xfa\x8f\x7d\x45\x9e\x78\xeb\x3c\x09\xce\x3c\x81\x48\xfb\x9b\x6a\xfc\x52\x83\xab\xb1\x87\xec\x74\x79\x8d\x42\x41\x2e\xd1\x98\x94\xf5\x75\x73\xc5\x1c\x6c\xb7\xa0\x51\x95\x04\xf1\x5d\xd5\xd8\xc6\xd5\xc1\x59\x2e\xc4\xf2\x40\x3b\x12\x96\x6a\x68\x35\xb9\x44\xa8\x88\x6c\xb5\xa8\x67\x0a\x85\x64\xe0\x7c\x47\xa8\x7d\x39\x51\x43\x0c\x5d\xc7\x42\x8a\xf8\xd4\xd3\xd6\x99\x0f\x77\x01\xd0\xb7\xf5\xf0\x32\x00\x5b\x91\xdb\x85\x26\xf0\xf4\x48\x59\x21\x4c\x2b\x71\x33\x01\xd5\x28\xfa\x23\xe8\x0c\xb8\x69\x16\x3a\x27\xd7\x49\x3f\x43\xce\x8e\x26\xd7\x42\x88\xe1\xf2\x62\x04\x4c\xd4\xae\xa8\x2b\x9a\xb5\x0c\x7e\x1d\x41\xd7\xc1\xc5\xfa\x1c\x9e\xe9\x8d\xaf\x8f\xea\x8d\xd7\xac\xe7\xcb\xfe\x5d\x4d\x85\xc0\x94\xfd\x5c\xe3\x3a\x0c\xdf\x04\x7e\x1f\x8d\xda\xf5\x2f\xa7\x44\x74\x7d\x75\x5a\x44\x2f\x44\x7e\x34\xa2\xb7\x15\xe2\xbe\xa5\xf2\x94\x42\xec\xeb\x39\xb7\xef\x95\xf6\xab\xfe\x5f\x88\x73\xbc\x7e\x74\x22\xea\x72\x37\xb4\xdf\x82\x31\xf0\x98\x01\x4a\x9b\xb2\xc7\x43\xd8\x9d\x3b\x92\x7e\x86\x7a\x21\x3d\xbe\xeb\x58\xd0\xa8\x48\x94\x95\x4d\xd9\xe5\xc5\xa8\x97\x38\xb2\x0b\xb7\xbc\x25\x7e\xda\xf4\xb2\x7d\xf6\x46\xfd\x40\x44\xf3\x46\x1f\x67\x72\xd2\x53\xf9\x39\xaf\xfb\xd9\x3a\x32\x4e\x91\x4f\xe6\xa4\xce\x1e\xf0\xe4\xf2\xea\x47\x31\xf7\x74\x47\x6f\x0a\x3b\x34\xec\xc9\xda\x3b\x05\x79\x60\xf6\x75\xfa\x1c\x43\xbd\x03\x7b\x8e\xf5\x3e\xc1\xb0\xce\x0b\xb1\xec\x37\x2f\xa9\xc2\xef\x5b\x9e\xb8\xf5\xec\xde\x97\xf0\xb0\xf0\xa4\xff\xf7\xe0\x9e\xba\xa5\xa8\x27\x60\xc8\xc2\xdc\xa6\x4e\x3c\xf1\xaf\xda\x97\x00\x00\x00\xff\xff\x44\x53\xd9\x00\x69\x08\x00\x00")
func viewIndexTmplBytes() ([]byte, error) {
return bindataRead(
_viewIndexTmpl,
"view/index.tmpl",
)
}
func viewIndexTmpl() (*asset, error) {
bytes, err := viewIndexTmplBytes()
if err != nil {
return nil, err
}
info := bindataFileInfo{name: "view/index.tmpl", size: 2153, mode: os.FileMode(420), modTime: time.Unix(1591005610, 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){
"shared/css/base.css": sharedCssBaseCss,
"shared/css/enlarge.css": sharedCssEnlargeCss,
"shared/css/gallery.css": sharedCssGalleryCss,
"shared/js/bleh.js": sharedJsBlehJs,
"shared/js/enlarge.js": sharedJsEnlargeJs,
"shared/js/gallery.js": sharedJsGalleryJs,
"shared/js/view.js": sharedJsViewJs,
"view/index.tmpl": viewIndexTmpl,
}
// 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{
"shared": &bintree{nil, map[string]*bintree{
"css": &bintree{nil, map[string]*bintree{
"base.css": &bintree{sharedCssBaseCss, map[string]*bintree{}},
"enlarge.css": &bintree{sharedCssEnlargeCss, map[string]*bintree{}},
"gallery.css": &bintree{sharedCssGalleryCss, map[string]*bintree{}},
}},
"js": &bintree{nil, map[string]*bintree{
"bleh.js": &bintree{sharedJsBlehJs, map[string]*bintree{}},
"enlarge.js": &bintree{sharedJsEnlargeJs, map[string]*bintree{}},
"gallery.js": &bintree{sharedJsGalleryJs, map[string]*bintree{}},
"view.js": &bintree{sharedJsViewJs, map[string]*bintree{}},
}},
}},
"view": &bintree{nil, map[string]*bintree{
"index.tmpl": &bintree{viewIndexTmpl, 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, "/")...)...)
}