mmg/static.go

335 lines
130 KiB
Go
Raw Normal View History

2014-12-07 21:44:05 -08:00
package main
import (
"bytes"
"compress/gzip"
"fmt"
"io"
"strings"
"os"
"time"
"io/ioutil"
"path"
"path/filepath"
)
func bindata_read(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)
gz.Close()
if err != nil {
return nil, fmt.Errorf("Read %q: %v", name, err)
}
return buf.Bytes(), nil
}
type asset struct {
bytes []byte
info os.FileInfo
2014-12-07 21:44:05 -08:00
}
type bindata_file_info struct {
name string
size int64
mode os.FileMode
modTime time.Time
2014-12-07 21:44:05 -08:00
}
func (fi bindata_file_info) Name() string {
return fi.name
}
func (fi bindata_file_info) Size() int64 {
return fi.size
}
func (fi bindata_file_info) Mode() os.FileMode {
return fi.mode
}
func (fi bindata_file_info) ModTime() time.Time {
return fi.modTime
}
func (fi bindata_file_info) IsDir() bool {
return false
}
func (fi bindata_file_info) Sys() interface{} {
return nil
2014-12-07 21:44:05 -08:00
}
var _static_addsub_html = []byte("\x1f\x8b\x08\x00\x00\x09\x6e\x88\x00\xff\x94\x52\xb1\x92\xd4\x30\x0c\xed\xef\x2b\x8c\x1b\x0a\xb8\xf5\x41\xc9\xd8\x69\x80\xa1\xba\x81\x82\x86\xd2\x6b\x2b\x44\x8b\x63\x07\x4b\xd9\x9d\xf0\xf5\x38\xce\xce\x24\x1b\x66\x67\xb8\x34\x89\xa4\xf7\xf4\xf4\x22\xe9\x57\x9f\xbe\x7e\xfc\xfe\xe3\xdb\x67\xd1\x71\x1f\x9a\x07\x3d\xbf\x44\xb0\xf1\xa7\x91\x10\x65\xf3\x20\xca\xa3\x3b\xb0\x7e\xf9\xac\x21\x23\x07\x68\x9e\x6d\xf6\x94\xe2\x6b\x12\xcf\x96\x3b\xf1\xc5\xf6\xa0\xd5\x52\x5a\xa1\x3d\xb0\x15\xb1\x94\x8c\x3c\x23\x5c\x86\x94\x59\x0a\x97\x22\x43\x64\x23\x2f\xe8\xb9\x33\x1e\xce\xe8\xe0\xb1\x06\x6f\x05\x46\x64\xb4\xe1\x91\x9c\x0d\x60\xde\x1d\x9e\xe4\xa6\x5d\xc0\xf8\x4b\x74\x19\x5a\x23\x55\x5f\x54\x0f\x8e\x48\x8a\x0c\xc1\x48\xe2\x29\x00\x75\x00\x45\xa0\x07\x8f\xb6\xa4\x5c\x86\xd5\x84\x5a\x5d\xe8\x63\xf2\xd3\xa6\x2d\x81\x63\x4c\x51\xa0\x37\xf2\x3a\xdc\x46\x75\x81\x0c\x36\x0a\x17\x2c\x91\x91\x71\xec\x8f\x90\x65\x85\xb7\x98\xa9\x80\x9f\xb4\x9a\x11\xff\x49\x4a\x03\x64\x3b\x2b\xca\xe6\xcd\x8b\x88\x65\xd0\x14\xfd\x3d\x39\x8f\xe7\xdb\x4c\xcd\x62\x1c\x46\xae\x6c\x1b\xe9\x32\x77\xe2\x69\x80\xb5\x2f\xe1\x9f\x12\xbd\x97\x7b\x3d\x3b\x72\x6a\x93\x1b\x49\xa8\x9d\x8e\xba\x11\x2a\xa3\x2c\xbf\x6f\x93\x6a\x53\x62\xc8\xb7\x34\x72\x29\xc3\x87\xab\xb7\x6a\x66\x4e\xc8\x66\x6f\x45\xab\x3d\x5b\x97\x45\xe2\xc0\x82\xb2\x2b\x7b\x3f\xfd\x1e\x21\x4f\x87\x13\x55\x6a\xad\xdc\x83\xd6\x13\xf9\x17\xa8\xd5\xb2\xff\x72\x12\xf5\xe8\xff\x06\x00\x00\xff\xff\x21\xc2\x35\xf8\x05\x03\x00\x00")
func static_addsub_html_bytes() ([]byte, error) {
return bindata_read(
_static_addsub_html,
"static/addsub.html",
)
2014-12-07 21:44:05 -08:00
}
func static_addsub_html() (*asset, error) {
bytes, err := static_addsub_html_bytes()
if err != nil {
return nil, err
}
info := bindata_file_info{name: "static/addsub.html", size: 773, mode: os.FileMode(420), modTime: time.Unix(1421121307, 0)}
a := &asset{bytes: bytes, info: info}
return a, nil
2014-12-07 21:44:05 -08:00
}
var _static_index_html = []byte("\x1f\x8b\x08\x00\x00\x09\x6e\x88\x00\xff\x8c\x92\xb1\x52\x23\x31\x0c\x86\xfb\x3c\x85\xce\xcd\x35\x97\xf8\xe8\xed\x6d\x80\xa1\xca\x40\x41\x43\xa9\xd8\x82\xd5\xe0\xf5\x66\x6c\x25\x99\xbc\x3d\x8a\x93\x90\x40\x86\x0c\x5b\xac\xe5\xdf\xd6\xff\x49\xda\x75\x7f\xee\x1e\x6f\x9f\x5f\x9e\xee\xa1\x97\x21\x75\x13\xb7\x5b\x20\x61\x7e\xf3\x86\xb2\xe9\x26\xa0\x8f\xeb\x09\xe3\x3e\x6c\x5b\x61\x49\xd4\xcd\xb1\xc4\x3a\xe6\xbf\x15\xe6\x28\x3d\x3c\xe0\x40\xce\xee\x8f\x4e\x57\x07\x12\x84\xac\x47\xde\xac\x99\x36\xcb\xb1\x88\x81\x30\x66\xa1\x2c\xde\x6c\x38\x4a\xef\x23\xad\x39\xd0\xb4\x6d\xfe\x01\x67\x16\xc6\x34\xad\x01\x13\xf9\x9b\xd9\x7f\x73\x66\x97\x38\xbf\x43\x5f\xe8\xd5\x1b\x3b\x28\x75\x16\x6a\x35\x50\x28\x79\x53\x65\x9b\xa8\xf6\x44\x0a\x18\x28\x32\xaa\x14\x0a\x9d\x9a\xb0\xa7\x2e\xdc\x62\x8c\xdb\x33\xdb\x4a\x41\x78\xcc\xc0\xd1\x9b\x43\x71\x67\xd4\x76\x25\xf2\xfa\xab\xd2\xd4\x55\xba\x14\x0f\x85\x76\x0e\x8f\x95\x62\x8c\x75\xb5\xb0\xa6\xd3\x80\x1b\x08\x73\x04\x95\xa4\x60\x03\x3b\x8b\x9d\xb3\x9a\xf3\x0b\xb3\x61\x95\xd4\x49\xdf\xc2\xcb\xc4\x01\xaf\xe7\x3b\xfb\xbd\x44\x67\x2f\x5a\xf9\xa1\xb9\x4f\x64\xa1\x4a\xa2\xd0\xb6\x42\x0d\xa3\x06\x3b\xe4\x35\x5f\x67\x0f\x43\x3d\x4e\x7f\x3f\x72\xfd\x0a\xed\x3f\xfb\x08\x00\x00\xff\xff\xe4\x22\x36\x68\x78\x02\x00\x00")
func static_index_html_bytes() ([]byte, error) {
return bindata_read(
_static_index_html,
"static/index.html",
)
2014-12-07 21:44:05 -08:00
}
func static_index_html() (*asset, error) {
bytes, err := static_index_html_bytes()
if err != nil {
return nil, err
}
info := bindata_file_info{name: "static/index.html", size: 632, mode: os.FileMode(420), modTime: time.Unix(1421121307, 0)}
a := &asset{bytes: bytes, info: info}
return a, nil
}
var _static_jquery_js = []byte("\x1f\x8b\x08\x00\x00\x09\x6e\x88\x00\xff\xcc\xbd\x7b\x7b\xdb\xc6\xd5\x2f\xfa\xff\xfe\x14\x22\xea\x97\x01\xcc\x11\x45\x3a\x69\xcf\x5b\x30\x10\x4f\x62\xc7\x4d\x5a\x3b\x49\x63\xa7\x49\x4b\x31\x79\x70\x23\x09\x89\x37\x91\x94\x25\x47\x64\x3f\xfb\x59\xbf\xb5\x66\x06\x03\x10\xb4\xd3\x77\x9f\xfd\x3c\xbb\x8d\x45\x5c\x06\x73\x5d\xb3\x6e\xb3\x2e\x17\x4f\x5b\x67\xd7\x7f\xbf\xcb\x37\xef\xcf\xde\x3d\xeb\xf6\xbb\xfd\xb3\xfd\x99\x9f\x06\x67\xcf\x7a\xbd\x3f\x2a\xfa\xdb\xff\xcc\xbc\x7e\xb9\xba\x5b\x66\xf1\xae\x58\x2d\xd5\xd9\x37\xcb\xb4\x4b\x05\xaf\x6f\xf1\xa6\xbb\xda\x4c\x2f\xe6\x45\x9a\x2f\xb7\xf9\xd9\xd3\x8b\xff\xd5\x9a\xdc\x2d\x53\x94\xf3\x63\x95\x04\x8f\xde\x2a\xb9\xce\xd3\x9d\x17\x45\xbb\xf7\xeb\x7c\x35\x39\x5b\xac\xb2\xbb\x79\xde\x6e\x9f\x78\xd1\xcd\x1f\xd6\xab\xcd\x6e\x3b\xac\xde\x46\x71\x37\x5b\xa5\x77\x8b\x7c\xb9\x1b\x26\x54\x73\xab\x17\x84\x65\x43\xc1\x63\x31\xf1\x5b\x65\x91\x60\x37\xdb\xac\xee\xcf\x96\xf9\xfd\xd9\x57\x9b\xcd\x6a\xe3\x7b\x7a\x14\x9b\xfc\xf6\xae\xd8\xe4\xdb\xb3\xf8\xec\xbe\x58\x66\x54\xe6\xbe\xd8\xcd\xe8\xce\x7c\xe9\x05\x83\x4d\xbe\xbb\xdb\x2c\xcf\xa8\x95\xe0\x10\xf2\x5f\xdf\xa3\xb1\xe7\x93\x62\x99\x67\x5e\xcb\x74\x57\xbe\x1f\xca\x4f\xb8\x9b\x15\x5b\x55\x1d\xf9\xbb\x78\x73\x96\x46\xa3\xb1\xca\xa2\xb4\xbb\xc5\x0c\xa9\x9c\xae\xd2\xd5\x32\x8d\x77\x6a\x42\x97\xeb\xbb\xed\x4c\x4d\xe9\x82\xea\xc8\x1f\xbe\x9b\xa8\x59\xf4\x78\x50\x45\x34\xeb\xee\x56\x6f\x76\x9b\x62\x39\x55\xd7\x74\x33\x8b\xb7\xdf\xdd\x2f\xbf\xdf\xac\xd6\xf9\x66\xf7\x5e\xdd\xa0\xd0\xdc\x99\x10\xb5\x88\x3c\x5e\x3c\x4f\x2d\xa3\x6a\x1f\xf4\x58\x30\x11\xcb\xee\x64\x49\x0d\x15\x3b\x7e\x73\x50\xab\xe8\xe2\x97\xd1\xd5\xf6\xea\xee\xe5\x57\x2f\x5f\x5e\x3d\x7c\xd1\x1b\x77\xf6\xb5\xfb\x27\x17\x53\xb5\xa6\x62\xe7\x8b\xed\xf9\x85\xba\x8d\x2e\xce\xfd\xd1\x55\x16\x9f\xff\x36\x0e\x2e\xa6\x85\xda\x34\x37\x96\x50\xef\x7f\x5c\x53\x5f\x9f\xc7\xdb\xdc\x0f\x0e\x03\xb4\x1c\x2d\xbb\xeb\xcd\x6a\xb7\xc2\xe4\x45\x8f\x02\x39\xe1\x42\xd1\x64\x6c\x77\x9b\xbb\x74\xb7\xda\x84\x4b\xb5\xcd\xe7\x39\x5f\x7a\x9e\x9a\xe7\xcb\xe9\x6e\x16\xf6\xd4\x6e\xf5\xc5\x66\x13\xbf\x2f\x57\xdb\x36\x94\x75\xd3\x78\x3e\xf7\x31\xf5\x34\x9e\x69\xbe\xab\x40\x84\x19\xfa\xdd\x7c\xde\x8a\xe2\x61\xef\x32\x1e\xa2\xe4\x28\xee\xe0\xa7\x2b\xf5\x8f\x43\x79\x36\x0e\xab\x95\x61\x65\xde\xec\xe2\xf4\xa6\x52\x25\x56\x34\xa1\x91\x2c\xf2\xcd\x34\xe7\xa2\x5d\x67\x00\x7e\xa0\xe2\x12\x7a\x68\xb8\xf9\xbb\xef\x18\xc4\x23\x06\x8e\x04\x65\x77\xf9\x83\xdc\x9a\x1b\x95\x1c\x54\x1e\xa7\xb3\xb0\x79\xdd\xba\x78\xc7\x2d\x29\x59\xb5\x45\xbc\x6e\x1a\x25\x57\x69\x3b\xed\x53\x17\xe3\xb5\x5f\x85\xc9\x44\xa5\xb6\x78\x2c\x83\xa5\x47\xa8\x34\xa0\x7a\x19\x3e\x1b\xe6\xb8\x56\x71\xd6\x8d\xd7\xeb\xf9\x7b\xdd\xa3\xcd\x94\xe1\x6f\x8b\x0a\x26\xc5\x66\xbb\x3b\x55\x41\x7e\xeb\xf7\xa8\xcc\x3c\xfe\x60\x91\xf3\x3e\x95\xc9\x6f\x1b\xa6\xdc\x59\x31\x95\x46\x9d\xb8\xe3\x63\x39\x93\xb0\x67\xe7\xbb\xd6\xcf\xf4\x32\xea\xb5\xdb\xc9\x65\x3a\x1c\xf1\x02\xa7\xe3\x71\x38\x1a\xa3\xfa\x65\x76\x72\x94\x76\xc1\xf6\xfb\xa3\xb5\x05\x18\x69\xb8\x08\x27\x6a\x4b\x28\x29\xa4\x4d\x4d\x3f\x6a\xbb\xe6\xa9\xa3\x3b\xbe\x38\x28\x5a\xb4\x87\x1d\xb5\x13\xf1\x8e\xd3\xd7\x4e\x9b\x18\x12\x2d\x26\xcd\x7d\xa6\x72\x35\x21\x04\x60\x27\x72\xd4\x1b\xef\xf7\xb4\xbb\x67\x51\x9f\xd0\x80\x7d\x6c\x86\x7e\x1d\xb5\xfa\x83\x09\xd0\x59\xb2\x5a\xcd\xf3\x78\x59\x22\xcf\x69\xbb\xed\x5f\x47\xd3\x4a\x65\x33\x5d\x59\xa7\x13\xa8\x23\x6c\x3b\xdd\xef\x09\x1d\x6c\x5f\x9a\x7e\x4d\x83\xfd\xde\x9f\x12\x6a\x09\xa8\xf5\x28\x2a\xa8\xbe\xa9\x00\xee\xec\xfc\x3c\x18\x14\x97\xb3\x01\x2a\x22\x3c\x2b\x3b\xca\x8f\x2b\x2d\x05\x01\xfa\x95\x9c\x15\x04\x5c\x41\x1a\x4d\x47\x09\xf0\x5e\x8c\x9f\x69\x2b\x8a\x32\x74\xaf\xdd\xc6\x0f\x5a\xfd\x7e\x1e\x17\x4b\x99\x6b\x3f\x43\xc3\x79\x84\xc7\xbc\xd1\xe9\x41\x10\x0c\xfd\x9c\xfe\xa3\xe1\x02\x4f\xb6\xdb\xe5\xcb\x34\x18\xa6\x58\xc9\xd0\x3e\x77\xeb\xe2\xb7\x34\x64\x34\x1f\x99\xb9\xf7\xaf\x69\x92\xa9\xd2\xf0\xdd\xaa\xc8\xce\x7a\xba\x37\x5c\x84\x9e\x1a\x00\x9a\x96\x0b\xe7\x3f\x12\xd1\x89\x09\xad\x87\x9a\x6c\x78\x1d\x7f\xd1\x79\x1d\xef\x66\xdd\x0d\x1e\x2f\xfc\x20\xe8\x6e\xf2\xf5\x3c\x4e\x73\xff\xe2\xea\x05\x61\x49\xcf\x0b\x54\xb1\xfd\x21\x8f\xb3\xf7\x61\xab\xa7\x72\x1
func static_jquery_js_bytes() ([]byte, error) {
return bindata_read(
_static_jquery_js,
"static/jquery.js",
)
}
func static_jquery_js() (*asset, error) {
bytes, err := static_jquery_js_bytes()
if err != nil {
return nil, err
}
info := bindata_file_info{name: "static/jquery.js", size: 84245, mode: os.FileMode(420), modTime: time.Unix(1421121307, 0)}
a := &asset{bytes: bytes, info: info}
return a, nil
}
var _static_math_css = []byte("\x1f\x8b\x08\x00\x00\x09\x6e\x88\x00\xff\xd2\xcb\x2b\xcd\x4d\x4a\x2d\x52\xa8\xe6\x52\x00\x82\xb4\xfc\xbc\x12\xdd\xb4\xc4\xdc\xcc\x9c\x4a\x2b\x85\x8c\xd4\x9c\xb2\xd4\x92\xcc\xe4\x44\x6b\xae\x5a\x2e\x2e\xbd\xf2\xa2\xfc\xbc\x74\xa8\xba\xa4\xc4\xe4\xec\xf4\xa2\xfc\xd2\xbc\x14\x2b\x85\xa2\xd4\x14\x90\x02\x40\x00\x00\x00\xff\xff\x28\x95\xad\x73\x49\x00\x00\x00")
func static_math_css_bytes() ([]byte, error) {
return bindata_read(
_static_math_css,
"static/math.css",
)
}
func static_math_css() (*asset, error) {
bytes, err := static_math_css_bytes()
if err != nil {
return nil, err
}
info := bindata_file_info{name: "static/math.css", size: 73, mode: os.FileMode(420), modTime: time.Unix(1421121307, 0)}
a := &asset{bytes: bytes, info: info}
return a, nil
}
var _static_math_js = []byte("\x1f\x8b\x08\x00\x00\x09\x6e\x88\x00\xff\x7c\x53\xc1\x8a\xdb\x30\x10\xbd\xe7\x2b\x84\xba\xb0\x32\x6b\xec\xb6\xb9\x65\xc9\xa9\xd0\x53\xa1\xd0\xd2\xd3\x12\x82\x62\x8d\x37\xa2\x8e\x25\x24\xd9\x6e\xe8\xfa\xdf\x2b\xdb\x92\x2c\x6f\x9c\x8a\x04\x24\xbd\xd1\x9b\x79\x6f\xc6\x65\x53\x17\x86\x8b\x1a\x35\x92\x51\x03\xc7\x93\xa0\x8a\x91\x32\x45\x22\x45\xda\xfe\x0a\xa1\x20\x41\x7f\x37\xc8\xae\x07\x82\x3f\x94\x5c\x69\x83\x93\xcc\xc0\x1f\x43\xca\xe4\x39\x00\x42\x82\xa2\x03\x93\x07\x45\x04\x6a\x28\x44\xcd\x3c\xa2\x63\x64\x48\x10\x80\x31\xdb\xf3\xa6\xdf\x6c\x42\x5d\x35\x74\x47\xa9\xc4\xa9\x82\x0b\xf1\x85\xb4\x54\x21\x73\x95\x80\xf6\x88\x89\xa2\xb9\x40\x6d\xb2\x5f\x3f\xbe\x65\x5a\x56\xdc\x90\xc7\xfc\x31\x79\xd9\x1e\x5c\x8e\xec\x15\x0c\xc1\x39\x95\x3c\x6f\x3f\xe6\xf8\x69\x78\xf7\x84\x73\x47\x99\xe3\x14\xf9\x54\x84\x79\xfe\x61\x2d\xfc\x60\x2f\xf8\xeb\x28\xfc\x90\x22\xbb\xff\x1e\xb4\x4e\xe7\x9f\x93\x3c\x77\x18\x15\x1d\x9c\x46\xaf\x93\xd6\xba\x03\x65\x85\xb6\xb4\x22\x18\x3b\xb4\x4f\x16\x5a\x19\xd0\xea\xd8\x71\x73\x3e\x4e\xe1\x04\x62\xc5\xb6\x1e\x6a\x15\xcf\x25\xe2\xa9\x19\xbb\xdb\xc6\x24\xe9\x1c\x34\x37\x66\xb7\xde\xa8\x38\xd8\x35\x6a\xb7\xd2\xb5\x38\xcc\xa9\xd9\xdd\x4a\x73\x51\xbd\x77\x5f\x0a\x1d\xd9\x4f\x8d\x81\x8b\x34\x83\xeb\x83\x9a\x7b\xde\xdf\x0c\xc6\xaa\xad\xbc\x1c\xef\x0d\x35\x8d\xb6\x40\xf4\xde\x71\x9c\x04\xbb\x5a\x06\x05\x17\xd1\xc2\x97\x8a\x6a\x4d\x70\xa7\x44\xfd\x8a\x23\x96\x61\x2d\x66\x6c\x86\xfa\xb0\x83\x4a\xc3\x5d\x7e\xca\xd8\xff\xc8\xef\x77\x7f\x99\x63\x11\x57\xda\xb1\xd6\x24\x4c\xc9\xf8\x49\x3c\x90\xe0\x96\x17\xbb\x52\xf8\x82\xe6\x37\x5c\xa5\x02\x5b\x5a\x78\x09\xb1\x4f\xbc\x44\x04\xb2\xee\xcc\x8b\x33\xda\xef\xd1\xa7\x2d\x7a\x7b\x43\xd1\xc5\xf6\xf3\x7b\x57\x57\x26\xf4\xbd\x96\xb1\x5a\xfb\xff\x17\x00\x00\xff\xff\xb7\x14\xfa\x0b\x5a\x04\x00\x00")
func static_math_js_bytes() ([]byte, error) {
return bindata_read(
_static_math_js,
"static/math.js",
)
}
func static_math_js() (*asset, error) {
bytes, err := static_math_js_bytes()
if err != nil {
return nil, err
}
info := bindata_file_info{name: "static/math.js", size: 1114, mode: os.FileMode(420), modTime: time.Unix(1421121307, 0)}
a := &asset{bytes: bytes, info: info}
return a, nil
}
var _static_mul_html = []byte("\x1f\x8b\x08\x00\x00\x09\x6e\x88\x00\xff\x94\x52\xb1\x92\xd4\x30\x0c\xed\xef\x2b\x8c\x1b\x0a\xb8\xf5\x41\xc9\xd8\x69\x80\xa1\xba\x81\x82\x86\xd2\x6b\x2b\x44\x8b\x63\x07\x4b\xd9\x9d\xf0\xf5\x38\xce\xce\x24\x1b\x66\x67\xb8\x34\x89\xa4\xf7\xf4\xf4\x22\xe9\x57\x9f\xbe\x7e\xfc\xfe\xe3\xdb\x67\xd1\x71\x1f\x9a\x07\x3d\xbf\x44\xb0\xf1\xa7\x91\x10\x65\xf3\x20\xca\xa3\x3b\xb0\x7e\xf9\xac\x21\x23\x07\x68\x9e\x6d\xf6\x94\xe2\x6b\x12\xcf\x96\x3b\xf1\xc5\xf6\xa0\xd5\x52\x5a\xa1\x3d\xb0\x15\xb1\x94\x8c\x3c\x23\x5c\x86\x94\x59\x0a\x97\x22\x43\x64\x23\x2f\xe8\xb9\x33\x1e\xce\xe8\xe0\xb1\x06\x6f\x05\x46\x64\xb4\xe1\x91\x9c\x0d\x60\xde\x1d\x9e\xe4\xa6\x5d\xc0\xf8\x4b\x74\x19\x5a\x23\x55\x5f\x54\x0f\x8e\x48\x8a\x0c\xc1\x48\xe2\x29\x00\x75\x00\x45\xa0\x07\x8f\xb6\xa4\x5c\x86\xd5\x84\x5a\x5d\xe8\x63\xf2\xd3\xa6\x2d\x81\x63\x4c\x51\xa0\x37\xf2\x3a\xdc\x46\x75\x81\x0c\x36\x0a\x17\x2c\x91\x91\x71\xec\x8f\x90\x65\x85\xb7\x98\xa9\x80\x9f\xb4\x9a\x11\xff\x49\x4a\x03\x64\x3b\x2b\xca\xe6\xcd\x8b\x88\x65\xd0\x14\xfd\x3d\x39\x8f\xe7\xdb\x4c\xcd\x62\x1c\x46\xae\x6c\x1b\xe9\x32\x77\xe2\x69\x80\xb5\x2f\xe1\x9f\x12\xbd\x97\x7b\x3d\x3b\x72\x6a\x93\x1b\x49\xa8\x9d\x8e\xba\x11\x2a\xa3\x2c\xbf\x6f\x93\x6a\x53\x62\xc8\xb7\x34\x72\x29\xc3\x87\xab\xb7\x6a\x66\x4e\xc8\x66\x6f\x45\xab\x3d\x5b\x97\x45\xe2\xc0\x82\xb2\x2b\x7b\x3f\xfd\x1e\x21\x4f\x87\x13\x55\x6a\xad\xdc\x83\xd6\x13\xf9\x17\xa8\xd5\xb2\xff\x72\x12\xf5\xe8\xff\x06\x00\x00\xff\xff\x21\xc2\x35\xf8\x05\x03\x00\x00")
func static_mul_html_bytes() ([]byte, error) {
return bindata_read(
_static_mul_html,
"static/mul.html",
)
}
func static_mul_html() (*asset, error) {
bytes, err := static_mul_html_bytes()
if err != nil {
return nil, err
}
info := bindata_file_info{name: "static/mul.html", size: 773, mode: os.FileMode(420), modTime: time.Unix(1421121307, 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)
}
// 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){
"static/addsub.html": static_addsub_html,
"static/index.html": static_index_html,
"static/jquery.js": static_jquery_js,
"static/math.css": static_math_css,
"static/math.js": static_math_js,
"static/mul.html": static_mul_html,
}
// 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 name := range node.Children {
rv = append(rv, name)
}
return rv, nil
}
type _bintree_t struct {
Func func() (*asset, error)
Children map[string]*_bintree_t
}
var _bintree = &_bintree_t{nil, map[string]*_bintree_t{
"static": &_bintree_t{nil, map[string]*_bintree_t{
"addsub.html": &_bintree_t{static_addsub_html, map[string]*_bintree_t{
}},
"index.html": &_bintree_t{static_index_html, map[string]*_bintree_t{
}},
"jquery.js": &_bintree_t{static_jquery_js, map[string]*_bintree_t{
}},
"math.css": &_bintree_t{static_math_css, map[string]*_bintree_t{
}},
"math.js": &_bintree_t{static_math_js, map[string]*_bintree_t{
}},
"mul.html": &_bintree_t{static_mul_html, map[string]*_bintree_t{
}},
}},
}}
// Restore 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, path.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
}
// Restore assets under the given directory recursively
func RestoreAssets(dir, name string) error {
children, err := AssetDir(name)
if err != nil { // File
return RestoreAsset(dir, name)
} else { // Dir
for _, child := range children {
err = RestoreAssets(dir, path.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, "/")...)...)
}