BinaryAssets & Fixes

+ Added binary assets
+ Added font Source Code Pro for the web logging viewer
+ Removed unreachable code at package static files
This commit is contained in:
Thorsten committed 2015-01-30 17:45:30 +01:00
1 parent 8f43171edf
commit f0c73c3fd5
6 files changed
+346 -4

No files matched your search

+14
View File
@@ -0,0 +1,14 @@
package BinaryAssets
import (
"github.com/SommerEngineering/Ocean/BinaryAssets/SourceCodePro"
)
func GetData(filename string) (data []byte) {
if obj, err := SourceCodePro.Asset(filename); err != nil {
return
} else {
data = obj
return
}
}
+51
View File
@@ -0,0 +1,51 @@
package BinaryAssets
import (
"fmt"
"github.com/SommerEngineering/Ocean/Log"
LM "github.com/SommerEngineering/Ocean/Log/Meta"
"github.com/SommerEngineering/Ocean/MimeTypes"
"github.com/SommerEngineering/Ocean/Shutdown"
"net/http"
"strings"
)
func HandlerBinaryAssets(response http.ResponseWriter, request *http.Request) {
if Shutdown.IsDown() {
http.NotFound(response, request)
return
}
// Prepare the path:
path := strings.Replace(request.RequestURI, `/binaryAssets/`, ``, 1)
path = strings.Replace(path, `%20`, ` `, -1)
fileType := ``
// Determine the MIME type:
if mimeType, errMime := MimeTypes.DetectType(path); errMime != nil {
Log.LogFull(senderName, LM.CategorySYSTEM, LM.LevelWARN, LM.SeverityMiddle, LM.ImpactMiddle, LM.MessageNameNOTFOUND, `Was not able to detect the MIME type of the font.`, errMime.Error(), path)
http.NotFound(response, request)
return
} else {
fileType = mimeType.MimeType
}
if fileType == `` {
Log.LogFull(senderName, LM.CategorySYSTEM, LM.LevelSECURITY, LM.SeverityCritical, LM.ImpactUnknown, LM.MessageNameNOTFOUND, `The mime type is unknown.`, path)
http.NotFound(response, request)
return
}
contentData := GetData(path)
if contentData == nil {
Log.LogFull(senderName, LM.CategorySYSTEM, LM.LevelERROR, LM.SeverityCritical, LM.ImpactCritical, LM.MessageNameDATABASE, `The desired file was not found.`, path)
http.NotFound(response, request)
return
}
fileLenText := fmt.Sprintf(`%d`, len(contentData))
response.Header().Add(`Content-Length`, fileLenText)
response.Header().Add(`Content-Type`, fileType)
response.Write(contentData)
}
+270
View File
@@ -0,0 +1,270 @@
package SourceCodePro
import (
"bytes"
"compress/gzip"
"fmt"
"io"
"io/ioutil"
"os"
"path"
"path/filepath"
"reflect"
"strings"
"time"
"unsafe"
)
func bindata_read(data, name string) ([]byte, error) {
var empty [0]byte
sx := (*reflect.StringHeader)(unsafe.Pointer(&data))
b := empty[:]
bx := (*reflect.SliceHeader)(unsafe.Pointer(&b))
bx.Data = sx.Data
bx.Len = len(data)
bx.Cap = bx.Len
gz, err := gzip.NewReader(bytes.NewBuffer(b))
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
}
type bindata_file_info struct {
name string
size int64
mode os.FileMode
modTime time.Time
}
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
}
var _sourcecodepro_black_eot = "\x1f\x8b\x08\x00\x00\x09\x6e\x88\x00\xff\xcc\xfd\x0b\x7c\x94\xd5\xb5\x3f\x0e\xef\xfd\xcc\x2d\xd7\xb9\x65\x6e\x99\x5b\xe6\x3e\x93\xc9\x4c\x32\x99\x49\x32\xb9\xdf\x09\x21\x09\x31\x02\xc6\x04\x23\x72\x13\x11\x21\x52\x44\x8a\x08\x88\x88\x88\x91\x22\xc7\x52\x6a\x3d\xd6\x52\x4b\xad\xc7\x93\x72\x52\xea\xb1\x29\x5a\x6b\xad\xb5\x3d\x1e\xeb\xc9\xb1\xd6\x5a\x4a\x2d\x20\xe2\x1d\xad\x45\xea\xa1\x71\xf2\xae\xbd\x9f\xcb\x3c\x33\x99\x41\x7b\x7e\x3d\xef\xe7\x8f\xee\x3c\xcf\x7c\x9f\x3d\xfb\x59\x7b\xed\xbd\xd7\x5a\x7b\xef\xb5\xd7\xac\xfd\x1d\x46\x9e\x57\x31\xc2\x88\x41\xe4\x1f\x93\x9f\x93\x2b\x91\x4a\x18\x46\x8a\xd1\x2e\x09\x41\xfa\x06\x14\x08\x39\xb0\x09\x09\xff\xbe\x8a\xd1\x52\x72\xfd\xa0\x62\x6c\x2e\x9a\xf5\x2f\x88\x16\xa2\x1b\xd1\xcd\x68\x03\x5a\x81\xae\x45\x0e\xd4\x01\x9f\x56\xd2\xbb\x01\xc0\x6e\x84\x6b\x3b\x5a\x8b\x96\xc1\xd3\x1b\x20\xb7\x12\x2d\x80\x67\xd7\x41\x7e\x82\x6d\x00\x64\x27\x1a\x04\x64\x03\xba\x09\x5d\x0f\xb9\x47\x21\x7f\x25\x2a\x47\x11\xf8\x1b\x47\x0d\x50\xc6\x42\x40\x32\xe7\x20\xff\x35\xa0\xd5\x80\x6d\x84\xd2\xc9\x93\x4d\xc2\xb3\x72\xf8\x36\x79\xba\x0e\xde\x72\x03\x7c\x9b\xe4\x59\x05\xe8\x5a\x28\x63\x39\x8a\xc2\x5d\x35\x4d\x75\xb4\x94\xbf\xb7\x16\xf0\x0f\x43\x2a\x82\x3f\x52\x14\x69\x6f\x5b\x38\xe7\x9e\xe2\x03\x3f\x40\xf8\xdf\xf7\x03\x5a\xdf\xb9\x70\xde\xdc\x97\x9e\x5a\x70\x13\x7c\x7e\x11\x58\x39\x34\xb7\x73\x4e\x57\xc5\xda\x88\x1a\xe1\x43\x13\xf0\xfc\x95\xb9\x03\x97\x2d\xec\xff\xe1\xcb\x3b\x10\xfe\xf6\x2e\x84\x72\x5e\x9d\xbb\xf0\x8a\xf6\x93\xdd\xe7\xff\x13\xe1\xc7\x46\x10\xca\x8f\x5e\xb6\xb0\x22\xba\xf1\xd1\xdf\x3c\x0e\x2f\x99\x84\xfc\x4b\x57\xac\x5b\xb6\xfe\xfd\x0b\xff\xa1\x45\x48\x13\x42\x28\xcf\xb1\x62\xd3\x46\x07\xd6\xe7\xbf\x80\x90\x4d\x0a\xcf\x5d\xab\xd6\x5f\xb7\x4e\x3e\xfc\x60\x1c\x21\x4b\x1f\x7c\xe7\xa6\xeb\x96\xdd\xb4\x7e\x66\x06\x49\xe0\x7d\x8f\xc2\xf3\x9c\xeb\xd6\xde\xb2\xca\x33\xfe\x4a\x00\x21\xcf\xe3\x08\xdb\x57\xaf\xbe\x76\xd9\xca\xbf\xfd\xf8\x7f\xa0\xb5\x71\x23\x3c\xaf\x21\x80\xbc\x4f\x7a\x18\x3e\x6f\x84\xcf\x9e\xd5\xeb\x36\x6e\xfe\xcd\x53\x17\x6c\xd0\x3b\xa0\x17\xa8\x74\x6b\x6f\x5c\xb1\x6c\xdf\xdd\xbf\x3d\x0b\xef\x83\x32\x14\x7b\xd7\x2d\xdb\xbc\x5e\xf6\x0e\x03\x7d\x01\xdf\x0f\xf9\x1d\xa3\xcb\xd6\x5d\xfb\xe5\x8f\x87\x4f\x20\xdc\x61\x45\xa8\x29\xb2\xfe\xc6\x9b\x36\xee\xea\x96\xfe\x0b\xc2\x3b\x80\x1e\xc7\xc8\xfa\x0d\xd7\xae\x97\xdc\xfc\xfa\x1d\x08\x59\x9f\x81\xfc\x6d\x94\x77\x58\xba\x78\xee\x58\xc5\x07\xd7\xa8\x1a\x3f\x41\xb9\x92\xb7\x09\x4b\x7f\xad\x3f\x74\x33\xbd\x1a\xd4\x17\x66\x26\x12\xeb\x99\x9f\x51\x3c\x97\xeb\xaa\x94\xe7\x92\xd7\x12\x1f\x02\x5d\x43\x33\x13\x33\x5f\x67\x7e\x46\x4b\x12\xfd\x93\xfc\x82\xe6\xf9\x05\x34\x9d\x1a\xba\x83\x9c\x7b\x9e\x07\xdf\x00\xbe\x10\x8e\x20\x09\x73\xa5\x64\x17\x92\x01\x32\xc6\x0c\xc1\xb3\x5e\xf6\x8a\x97\xa0\x28\x76\x88\xc7\x03\x7c\x80\x81\x60\x12\xde\xd0\xd6\xd9\x3e\x87\x5c\xff\xc6\x30\xe7\x66\xe4\x84\x12\xac\x59\x8a\xf0\x57\x29\x61\x27\x99\x03\x84\x13\x50\xfa\x10\xa2\x23\x87\x94\x29\x4a\x7d\x90\x62\x90\xea\x21\x0d\x42\x5a\x0e\x29\xc0\x7d\x6e\xe7\x9e\xd5\x41\x5a\xca\x61\x8d\x90\x5c\x90\x5a\x20\x95\x70\x58\x08\x92\x85\xbb\x97\x42\x62\xb8\x6b\x0e\xa4\x6a\x48\x35\x90\x5a\x21\x35\x43\x0a\x42\x8a\x42\xea\xe1\xbe\xd7\xca\xdd\x7b\xb9\x7b\x92\xd7\xcc\xdd\x07\x45\xd7\xd5\x90\xca\xb9\xfb\x5a\x52\x17\xee\x3d\x16\xee\xbe\x2b\xad\x5e\xff\xc0\x34\x33\xcd\xbd\x2b\x96\x21\xd5\x27\x13\xcd\x37\xf8\x0f\x48\x81\x4b\x24\xd1\xfb\x28\x7d\xed\x7f\x67\x12\xb7\x67\x7a\x8a\x72\xd7\x62\x51\x5b\x67\x4b\xae\xff\xc7\x44\xda\x4c\xf9\x39\x79\xea\xb3\xa4\xd0\x25\x52\x03\xc3\xf6\x89\xf4\x94\xad\xac\x7f\x44\x62\xd2\x52\xce\xe7\xa4\xea\xd4\x44\xfb\x0d\x19\x1b\xa4\x5f\xd7\xfc\x1f\x25\x35\xc3\xf6\x97\xe6\x0c\x89\x3c\x0b\x8a\x52\xf4\x1f\x90\x2e\xd1\x46\x33\x67\x18\x76\x5c\xb7\x72\x34\xf5\xfc\x2f\x92\x57\x54\x06\x5f\x47\x9c\xa5\xee\x66\x51\xde\x0c\x69\xe6\x97\x69\xf5\xff\xdf\xa6\x82\xcf\x79\x4e\x64\xd8\x35\xa2\x2b\x49\x4d\x0c\x2b\xd7\xb2\xa5\xe8\x25\xca\xab\xfd\x3f\x4c\xe9\x7d\xda\xf4\x39\xa9\x2b\x2d\xf1\xb2\x9b\x6f\x27\xfe\x73\x84\x49\xf6\x91\xa0\xa8\x7d\x22\x5c\xe2\xe5\xba\x01\x52\x1e\xb4\xcd\x05\x48\x17\xff\x41\xed\xf3\xbf\x4d\x6a\x8e\xde\x5e\x86\xed\xc3\x1e\x48\x4e\x11\xfd\x44\xe6\xd4\x8b\xea\xf6\x45\xf2\x3d\x06\xe9\x07\xdc\x15\xd2\xcc\x5f\xe0\xfa\x34\x97\x96\x30\xac\x1c\x7e\x11\x52\x1b\xa4\x23\x90\x9e\x85\xe4\x86\x14\xe7\xee\xc9\xf5\x11\x48\x93\x0c\x2b\xdf\xc2\x4c\xb2\x4f\x0f\x40\xd2\x89\xae\xe4\x1d\x3b\x19\x56\x6e\x93\xfb\x1d\x90\x7e\x0a\xe9\x06\x48\x2b\xb9\x2b\xf9\xde\x49\xd1\x95\xf4\x01\x7e\xac\x11\xcc\xc7\xb0\xf2\x9a\xa4\x65\x40\xef\x47\x90\xce\x89\xda\x9f\xe4\x21\xb6\xc4\x66\x2e\x91\xef\x1f\xe0\xde\x73\x3f\xa4\x87\x21\x7d\x93\xbb\x3e\x08\xe9\xdf\xb8\xfb\x43\x90\x5e\xe2\xea\x74\x16\xd2\x89\x7f\xc0\xf7\x0e\xfe\xff\xe9\x7d\x5f\x83\xb4\x0d\xd2\xed\xdc\xfd\x57\xb9\x36\x21\xd8\xbd\x5c\xfb\xde\xc6\x3d\xfb\x1e\xd7\x06\x5f\xe3\xf0\x75\xdc\xfd\xed\xdc\xf7\xc8\x77\xfe\x13\xd2\x3d\x90\xfe\x89\xbb\x92\x76\x59\x04\x69\x94\x7b\xfe\x0d\xae\xdc\x7b\xb9\x3c\xdb\xb8\xf4\x35\xae\x0f\x10\x9e\x13\xbb\xcc\xc8\xb0\xb6\xc2\x62\x86\xed\x17\xdd\x1c\x4e\xfa\x42\x21\x57\x26\x69\xc7\x4Line truncated
func sourcecodepro_black_eot_bytes() ([]byte, error) {
return bindata_read(
_sourcecodepro_black_eot,
"SourceCodePro-Black.eot",
)
}
func sourcecodepro_black_eot() (*asset, error) {
bytes, err := sourcecodepro_black_eot_bytes()
if err != nil {
return nil, err
}
info := bindata_file_info{name: "SourceCodePro-Black.eot", size: 120684, mode: os.FileMode(438), modTime: time.Unix(1358341200, 0)}
a := &asset{bytes: bytes, info: info}
return a, nil
}
var _sourcecodepro_black_otf = "\x1f\x8b\x08\x00\x00\x09\x6e\x88\x00\xff\xdc\xbd\x09\x7c\x53\xc5\xf7\x37\x3c\x73\xb3\xb5\xb9\x69\xda\x26\x4d\x85\x96\xa4\xa1\xec\x52\x4a\xf7\x85\xbd\x4b\x0a\xa5\xa5\x2d\x4d\xcb\x2a\x4b\x9a\xa6\x6d\xa0\x4d\xda\x2c\x2d\x69\x81\xb2\x8a\x8a\x80\x8a\x08\x08\x08\x88\x0a\x28\x08\x88\x88\x08\x08\x88\x88\x88\xb8\xa1\x82\x0a\x0a\x02\x6e\xa8\xb8\xdf\x62\xd0\xbe\xe7\xce\xdc\x34\x2d\x8b\x3f\xff\xbf\xe7\xf3\x7f\x9f\xcf\xfb\xa2\xc9\xcc\x9d\x3b\x73\xce\xf7\xac\x73\xe6\xa6\x4d\x0b\x4b\x4a\x0a\x91\x12\xcd\x41\x22\x34\x35\x33\xc3\x68\x58\xdc\xf9\xd1\x5d\x08\x0f\x38\x80\x10\x1a\x90\x95\x93\xa3\x3f\x57\x19\x26\x42\x68\x44\x0b\x42\x1f\x8d\xcf\x36\xe6\x0e\xef\xd6\x67\x4d\x0c\xdc\x87\x6b\xfd\xb8\xe1\xd9\x86\x9c\xfe\x31\xfd\xdf\x43\xb8\xc7\x39\x98\xff\xe1\xf0\xa2\x42\x63\x41\xee\x07\xe1\x08\xc7\x5f\x46\x28\xe0\xe3\xe1\xc6\xd2\xcc\xf3\x4f\xfc\xa2\x41\xb8\xe7\x4e\x84\xd8\x84\x42\x63\xff\x04\xd7\x9b\xa7\xf7\x20\x84\x8b\x60\xfe\x54\x73\x8d\xa9\xf6\xdb\x0f\xdf\x08\x44\x68\xc8\x9b\x08\xc9\x43\xaa\x2c\xa6\x72\xef\xee\x45\x33\xe0\xde\xf7\xf0\x4a\xa9\x82\x01\x69\x3e\xba\x00\xf3\xbb\xc3\x75\xf7\xaa\x1a\xd7\x8c\x99\xea\x99\xf3\x10\xd6\x95\x20\x24\xbb\xaf\xc6\x34\xa3\x56\x74\x94\x27\x85\x47\xc0\x9b\xd4\x66\xaa\xb1\xbc\xf8\x7c\xc3\x5b\x70\x0d\xfc\x06\x77\xaa\xb5\x3b\x5d\xad\x2f\xa3\x44\xc0\x7f\x16\xee\xeb\x11\xe6\xa7\x8a\x27\xac\xd0\x7e\x33\x78\x4a\xf0\xa0\xdf\x91\x48\xf4\x0d\x8c\xa0\x53\x9a\xf5\xbf\xfa\xda\xd6\x9d\x7f\xd7\x32\x47\xc8\xb8\x08\x31\x88\xfe\x83\x75\xa2\xb3\x7f\x5f\x43\x88\x19\xd7\xba\xb3\x75\x25\x73\x84\x50\x6a\xff\x0f\xae\x8b\x90\xe8\x28\xbf\x8a\x19\x27\x5a\x80\x24\x30\xf7\x01\x66\x1c\x5c\xe7\xd1\x16\x4f\x46\x09\x58\x0f\xa3\x6c\x40\xa0\x48\x2c\x62\x18\x31\x5c\xc8\x10\xea\xd4\x46\x29\x23\x3b\xd3\xc0\xa3\xf4\x32\xcc\x8f\xad\x52\x9e\x23\x0e\x9d\x8a\xf0\x72\x42\xfe\x02\xf3\x28\x91\x00\x6c\x81\x7a\xe2\x77\xda\xf8\x1b\x28\x6f\xf2\xae\x81\x2b\xda\x67\x80\xf2\x04\xa1\x2f\x42\xdd\x91\x49\xe8\x8b\xdb\xcd\x91\xa0\x74\xb4\x50\xe8\x4b\x91\x1a\xbd\x2a\xf4\x65\x68\x2a\x7a\x5f\xe8\x07\xa0\x08\x1c\x2f\xf4\x03\x91\x02\xe7\x09\x7d\x16\x75\xc6\x63\x85\x7e\x50\xe8\x27\xb8\x56\xe8\x2b\x51\x77\x75\xae\xd0\x0f\x41\xc1\xea\x1a\xa1\x1f\x8a\x24\xea\x99\xb4\x0f\x6f\xe1\xea\xb9\x42\x1f\x23\x56\xbd\x52\xe8\x33\xd0\x7f\x52\xe8\x8b\x90\x46\xbd\x1d\x90\x63\x31\xf8\x06\x7a\x40\xfd\x9a\xd0\xc7\xe8\xee\xb0\x7c\xa1\xcf\x20\x65\x58\xbd\xd0\x17\xa1\x11\x61\x0b\x84\xbe\xb8\xdd\x1c\x09\x72\x84\xbd\x2d\xf4\xa5\xa8\xa7\x66\x88\xd0\x97\xa1\xc3\x9a\x72\xa1\x1f\x80\x92\xc2\xbb\x0b\xfd\x40\xd4\x29\x7c\x9c\xd0\x67\x51\x42\x78\xad\xd0\x0f\xea\xf6\x52\xf8\x93\x42\x5f\x89\x46\x0c\xf0\xcd\x09\x41\xba\x01\x1b\x84\x7e\x28\x92\x0f\x78\x95\xf6\x41\x88\x98\x01\x6f\x0a\x7d\x8c\xc2\x07\xfc\x26\xf4\x19\x14\x3e\x50\x2e\xf4\x45\xe8\xee\x81\xfa\x2c\x7b\xad\xc7\x61\xad\xac\x72\xe9\x13\xe2\xe2\xe3\x62\xf8\xf7\x04\x7d\x46\xb9\xbd\xcc\xa2\x37\x7a\x9c\x2e\x4b\x8d\x53\x9f\x6b\x33\xdb\x1d\xb5\x76\x87\xc9\x65\x29\x8f\xd5\x67\x54\x57\xeb\x8b\xf9\x05\x4e\x7d\xb1\xc5\x69\x71\xd4\xc3\xa0\xd1\xee\x76\x98\x2d\x40\xab\xdc\xa2\x2f\x72\xd8\xf5\x99\xd5\x26\xf3\xf4\x62\x4b\xa5\xbb\xda\xe4\x88\x8f\x8d\x8b\x4f\x1d\xc8\xbb\xd6\x40\x3a\x8d\x9f\x05\x93\xfa\x91\x49\x70\xa3\x30\xd3\x30\xc6\xe2\x70\x5a\xed\x36\x3d\x9d\x5b\x64\xe4\x3b\x71\x71\x03\xab\xec\x2e\xb3\xdd\x56\xcf\x5f\xc5\xa6\xc6\x0d\xac\x31\x4d\xb7\xd8\x5d\x15\xb1\xd5\xd6\xb2\x84\xd8\xe4\xd8\xe4\xf4\xb8\xb8\xdb\x50\x14\xb0\x58\x9d\x7a\x93\xde\xe5\x30\x95\x5b\x6a\x4c\x8e\xe9\x7a\x7b\xc5\x3f\x08\xa5\xb7\xda\xf4\xae\x2a\x8b\xbe\xd4\x66\xe5\xaf\x8c\x2e\x18\x84\xe5\xb6\xf2\xfe\x76\x87\xde\x0e\x77\x1c\x7a\xb3\xdd\x6d\x73\x39\xac\x16\x67\xec\x9d\xc9\x14\x99\xdc\xd5\xfa\xec\x58\xfd\x08\x98\x5a\xe5\x72\xd5\x0e\xe8\xdf\xbf\xa1\xa1\x21\xd6\xc4\x2f\x88\x35\xdb\x6b\xfa\xbb\x3c\xb5\x96\xff\xa1\xbe\xf5\xbd\x6f\x4b\xa9\x4f\x8c\xbe\xc1\xea\xaa\x6a\xb3\x80\x3e\xc7\x6e\x73\xe9\x0b\x20\xfb\xe8\x7b\x51\x05\xf4\xba\xbd\xa5\xf4\xff\xdb\xea\x09\x92\x07\xc9\x4b\xaa\x80\x3c\x41\x64\xb4\x57\xb8\x1a\x4c\x0e\xc2\xaf\xda\x6a\xb6\xd8\x9c\x40\xc0\x6d\x2b\x87\x25\x3c\x45\x63\x6e\xbe\xbe\xb0\xd6\x62\xa3\x93\xf3\xe9\x84\x18\xbd\xdf\x1d\xe2\xfd\xf4\x84\xe5\x3c\x25\xb3\xbd\xd6\x0a\x74\xca\x2c\xd5\xf6\x86\x18\x1e\x08\x11\xa7\xda\x69\xd7\x9b\xea\x4d\xd6\x6a\x53\x59\xb5\x85\xaa\xc7\xa4\xcf\xc9\x18\xad\x37\xb9\x06\xe8\x05\x2d\x3a\xcd\x0e\x6b\xad\xcb\x19\xeb\xb4\x56\xc7\xda\x1d\x95\xfd\x0b\x73\xf2\x79\x06\xfd\xfe\xfb\x7f\x41\x72\x22\x44\x91\xa1\x40\x9f\x53\x58\x50\xa2\xcf\xcf\xcd\x32\x14\x18\x0d\xed\x65\xd0\xf7\xd3\x27\xa4\xe8\x73\x2c\x65\x0e\xb7\xc9\xe1\x01\x8b\xc7\xa5\xfe\x1f\xb2\x0c\x92\x17\x15\x1b\x32\x46\x65\xe6\x1b\x78\xe5\x58\xf4\x95\x76\x90\x9e\x37\x22\xaf\xd4\x5b\x14\xaa\xef\x0d\x62\xf6\xd1\xf3\x66\x70\xd9\xf5\x4e\x97\xb5\x06\xe2\xd2\x05\x2a\xb2\x3b\xaa\xcb\x1b\xac\x10\xb3\xe5\x96\x7a\xd0\x65\x6d\x8d\x05\x16\x01\x15\xb3\xbd\x1a\x94\xc8\x1b\xdf\x5a\x6f\xd1\x57\xf0\xa4\x6a\x1d\xf6\x69\x16\xb3\xcb\x19\x43\x48\xb8\x6b\xc1\x35\x5c\x84\x1b\xb9\x6b\x76\x58\x60\x2e\x48\x6b\xa9\xa8\x80\x1b\x04\x8a\xc9\xcc\x3b\x97\xd5\x4c\xec\x53\x6d\xb5\x55\xba\xad\xc0\xda\x0c\xc4\x6Line truncated
func sourcecodepro_black_otf_bytes() ([]byte, error) {
return bindata_read(
_sourcecodepro_black_otf,
"SourceCodePro-Black.otf",
)
}
func sourcecodepro_black_otf() (*asset, error) {
bytes, err := sourcecodepro_black_otf_bytes()
if err != nil {
return nil, err
}
info := bindata_file_info{name: "SourceCodePro-Black.otf", size: 88912, mode: os.FileMode(438), modTime: time.Unix(1358341200, 0)}
a := &asset{bytes: bytes, info: info}
return a, nil
}
var _sourcecodepro_black_ttf = "\x1f\x8b\x08\x00\x00\x09\x6e\x88\x00\xff\xcc\xfd\x0b\x7c\x54\xd5\xb9\x3f\x0e\xaf\xb5\xe7\x96\xeb\xdc\x6f\x99\x5b\xe6\x3e\x93\xc9\x4c\x32\x99\x49\x32\xb9\xdf\x09\x21\x09\x31\x06\x8c\x09\x46\xe4\x26\x22\x42\xa4\x88\x14\x11\x10\x11\x11\x23\x45\x8e\xa5\xd4\x7a\xac\xa5\x96\x5a\x8e\x27\xe5\xa4\xd4\x63\x53\xb4\xd6\x5a\x6b\x7b\x3c\xd6\x93\x63\xad\xb5\x94\x5a\x40\xc4\x1b\xa2\xb5\x48\x3d\x34\x4e\xde\xb5\xd6\x5e\x7b\xcf\xde\x93\x19\xb4\xe7\xd7\xf3\x7e\xfe\xe8\xca\xde\xf3\x9d\xbd\xd7\x7a\xd6\xb3\xd6\x7a\x9e\x67\xad\xf5\xac\x67\x00\x04\x00\xe8\xd0\x1f\x29\x88\xb6\xb5\x2e\x98\x73\x5f\xd1\xfe\x1f\x00\xf8\xef\xfb\x10\x5a\xd7\xb1\x60\xde\xdc\x97\x9f\x1e\xb8\x05\x7d\x7e\x09\x00\xe7\xd0\xdc\x8e\x39\x9d\xe5\x6b\xa2\x6a\x00\x0f\x4e\xa0\xef\x5f\x9d\xdb\x7f\xc5\x82\xbe\x1f\xbe\xb2\x1d\xc0\x6f\xef\x04\x20\xe7\xb5\xb9\x0b\xae\x6a\x3b\xd9\x75\xe1\x3f\x01\x7c\x7c\x04\x80\xfc\xd8\x15\x0b\xca\x63\x1b\x0e\xff\xe6\x09\x00\xe0\x24\x7a\x7e\xc9\xf2\xb5\x4b\xd7\x9d\xbb\xf8\x1f\x5a\x00\x34\x61\x00\xf2\x9c\xcb\x37\x6e\x70\x42\x43\xfe\x8b\x00\xd8\xa5\xe8\x7b\xf7\xca\x75\x37\xac\x95\x0f\x3f\x9c\x00\xc0\xda\x8b\xde\xb9\xe5\x86\xa5\xb7\xac\x9b\x99\x01\x12\x54\xde\x61\xf4\x7d\xce\x0d\x6b\x6e\x5b\xe9\x1d\x7f\x35\x08\x80\xf7\x09\x00\x1d\xab\x56\x5d\xbf\x74\xc5\xdf\x7e\xfc\x3f\x12\xf4\x6c\x03\xfa\xbe\x1a\x03\xf2\x5e\xe9\x21\xf4\x79\x03\xfa\xec\x5d\xb5\x76\xc3\xa6\xdf\x3c\x7d\xd1\x0e\x00\x63\x06\x40\xa5\x5f\x73\xf3\xf2\xa5\x7b\xef\xfd\xed\x59\x54\x1e\xca\x43\xb1\x67\xed\xd2\x4d\xeb\x64\xef\x32\x73\xd1\xf3\x0f\xa2\xe7\x9d\xa3\x4b\xd7\x5e\xff\xe5\x8f\x87\x4f\x00\xd8\x6e\x03\xa0\x31\xba\xee\xe6\x5b\x36\xec\xec\x92\xfe\x0b\x80\xdb\x11\x3d\xce\x91\x75\xeb\xaf\x5f\x27\xb9\xf5\x8d\xbb\x00\xb0\x3d\x8b\x9e\x6f\x25\xbc\x83\xd2\x45\x73\xc7\xca\x3f\xb8\x4e\xd5\xf0\x09\xc8\x95\xbc\x83\x10\xf0\x6b\xc3\xc1\x5b\xc9\xd5\xa8\xbe\x38\x33\x91\x5c\xc7\xfc\x8c\xe0\xb9\x80\x01\xec\x3f\xf4\x9e\xe4\xf5\xe4\x87\x88\xae\xa1\x99\x89\x99\xaf\x33\x3f\x23\x39\x09\xfe\x49\x7e\x41\x9e\xf9\x05\x58\x01\xd4\x60\x14\xc8\xe9\xf7\x79\xe8\x0d\xc4\x17\xcc\x11\x20\x61\xae\x96\xec\x04\x32\x84\x8c\x31\x43\xe8\xbb\x1e\xf6\x0a\x17\x83\x18\x74\x22\x34\x3f\x27\x57\x22\x95\x30\x8c\x14\x7d\x50\x00\x60\xe6\x4b\x68\xed\x68\x9b\x83\xaf\x7f\x63\x98\xf3\x33\x72\x4c\x09\xd4\x2c\x01\xf0\xab\x84\xb0\x93\xcc\x7e\xcc\x09\x94\xfb\x10\x30\x63\x04\xe7\x29\x48\xbd\x28\xc5\x51\xaa\x43\x69\x10\xa5\x65\x28\x05\xe9\xe7\x36\xfa\x5d\x2d\x4a\x4b\x28\xd6\x80\x92\x1b\xa5\x66\x94\x8a\x29\x16\x46\xc9\x4a\xef\xa5\x28\x31\xf4\x9a\x83\x52\x15\x4a\xd5\x28\xb5\xa0\xd4\x84\x52\x08\xa5\x18\x4a\xdd\xf4\xbd\x16\x7a\xef\xa3\xf7\xf8\x59\x0b\xbd\x0f\x09\xae\xab\x50\x2a\xa3\xf7\x35\xb8\x2e\xb4\x1c\x2b\xbd\xef\x4c\xab\xd7\x3f\x30\xcd\x4c\xd3\xb2\xe2\x19\x52\x5d\x2a\x91\xe7\x06\xff\x01\x29\x78\x99\x24\x28\x8f\xd0\xd7\xf6\x77\x26\x61\x7b\xa6\xa7\x18\xbd\x16\x09\xda\x3a\x5b\x72\xff\x3f\x26\xdc\x66\xca\xcf\x79\xa6\x2e\x4b\x0a\x5f\x26\xd5\x33\x6c\x9f\x48\x4f\xd9\xf2\xfa\x47\x24\x26\x2d\xe5\x7c\x4e\xaa\x12\x27\xd2\x6f\xf0\xd8\xc0\xfd\xba\xfa\xff\x28\xa9\x19\xb6\xbf\x34\x65\x48\xf8\xbb\x90\x20\xc5\xfe\x01\xe9\x32\x6d\x34\x73\x86\x61\xc7\x75\x0b\xa5\xa9\xfb\x7f\x91\x7c\x82\x3c\xb8\x3a\xc2\x2c\x75\xb7\x08\x9e\xcd\x90\x66\x7e\x99\x56\xff\xff\x6d\x2a\xf8\x9c\xef\xb1\x0c\xbb\x4e\x70\xc5\xa9\x91\x61\xe5\x5a\xb6\x14\xbb\x4c\x7e\x35\xff\x87\x29\xbd\x4f\x9b\x3f\x27\x75\xa6\x25\x4e\x76\x73\xed\xc4\x7d\x8e\x32\xa9\x3e\x12\x12\xb4\x4f\x94\x26\x4e\xae\x1b\x51\xca\x43\x6d\x73\x11\xa5\x4b\xff\xa0\xf6\xf9\xdf\x26\x35\xa5\xb7\x87\x61\xfb\xb0\x17\x25\x97\x80\x7e\x2c\x73\xea\x04\x75\xfb\x22\xcf\x3d\x8e\xd2\x0f\xe8\x15\xa5\x99\xbf\xa0\xeb\x33\x34\x2d\x66\x58\x39\xfc\x12\x4a\xad\x28\x1d\x41\xe9\x39\x94\x3c\x28\x25\xe8\x3d\xbe\x3e\x86\xd2\x24\xc3\xca\xb7\x08\x93\xea\xd3\xfd\x28\xe9\x05\x57\x5c\xc6\x0e\x86\x95\xdb\xf8\x7e\x3b\x4a\x3f\x45\xe9\x26\x94\x56\xd0\x2b\x7e\xef\xa4\xe0\x8a\xfb\x00\x37\xd6\x30\xe6\x67\x58\x79\x8d\xd3\x52\x44\xef\x47\x28\x9d\x17\xb4\x3f\x7e\x06\xdb\x12\x9b\x68\xc2\xef\xef\xa7\xe5\x3c\x88\xd2\xa3\x28\x7d\x93\x5e\x1f\x46\xe9\xdf\xe8\xfd\x41\x94\x5e\xa6\x75\x3a\x8b\xd2\x89\x7f\xc0\x7b\x07\xfe\xff\x54\xde\xd7\x50\xda\x8a\xd2\x9d\xf4\xfe\xab\xb4\x4d\x30\x76\x3f\x6d\xdf\x3b\xe8\x77\xdf\xa3\x6d\xf0\x35\x8a\xaf\xa5\xf7\x77\xd2\xf7\xf0\x3b\xff\x89\xd2\x7d\x28\xfd\x13\xbd\xe2\x76\x59\x88\xd2\x28\xfd\xfe\x1b\x34\xdf\xfb\xe9\x33\x5b\x69\xfa\x1a\xed\x03\x98\xe7\xd8\x2e\x33\x31\xac\xad\xb0\x88\x61\xfb\x45\x17\xc5\x71\x5f\x28\xa4\x79\xe2\x76\x6c\xa0\xdf\x5d\x89\x92\x8d\x61\xe5\x17\x97\x0a\x69\xbb\x16\x7c\x81\xc4\xf5\xbb\xf9\xf4\xfa\x38\xbd\xae\x67\xd8\xbe\x2c\x94\xb7\xbd\x4c\x4a\x1e\x70\x32\x01\xd9\x8a\x33\x1f\x52\xfa\xb1\x4e\xdc\xc9\xb0\xe3\x5f\x4e\x53\x82\xd2\x8b\xc7\x8f\x85\x96\xe9\x40\xc9\x49\xaf\x78\x7c\x6c\xa3\xf5\xc5\x7c\xd3\xd2\x54\x49\x13\xf7\x99\xd2\x3b\x73\x8a\xa6\x73\x0c\x3b\x4e\xb1\xbc\xfa\x03\x7d\x9f\x1b\x6b\x6f\xa1\xf4\x6b\x9a\xef\xab\xf4\x8a\xd3\x6b\x0c\xdb\x2f\x5e\x15\x7c\xde\xc8\xb0\x76\x33\xc6\x1f\x40\xe9\x09\x94\x0e\x31\xa9\xf1\xfc\xb2\xe0\x7d\xfc\xde\xeb\xf4\x7e\x13\x7d\x77\x13\x7d\xf7\x41\xfa\xfe\x23\xf4\xbLine truncated
func sourcecodepro_black_ttf_bytes() ([]byte, error) {
return bindata_read(
_sourcecodepro_black_ttf,
"SourceCodePro-Black.ttf",
)
}
func sourcecodepro_black_ttf() (*asset, error) {
bytes, err := sourcecodepro_black_ttf_bytes()
if err != nil {
return nil, err
}
info := bindata_file_info{name: "SourceCodePro-Black.ttf", size: 120356, mode: os.FileMode(438), modTime: time.Unix(1358341200, 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){
"SourceCodePro-Black.eot": sourcecodepro_black_eot,
"SourceCodePro-Black.otf": sourcecodepro_black_otf,
"SourceCodePro-Black.ttf": sourcecodepro_black_ttf,
}
// 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{
"SourceCodePro-Black.eot": &_bintree_t{sourcecodepro_black_eot, map[string]*_bintree_t{}},
"SourceCodePro-Black.otf": &_bintree_t{sourcecodepro_black_otf, map[string]*_bintree_t{}},
"SourceCodePro-Black.ttf": &_bintree_t{sourcecodepro_black_ttf, 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, "/")...)...)
}
+9
View File
@@ -0,0 +1,9 @@
package BinaryAssets
import (
LM "github.com/SommerEngineering/Ocean/Log/Meta"
)
var (
senderName LM.Sender = `System::BinaryAssets`
)