github.com/JFJun/bsc@v1.0.0/cmd/faucet/website.go (about) 1 // Code generated by go-bindata. DO NOT EDIT. 2 // sources: 3 // faucet.html (9.293kB) 4 5 package main 6 7 import ( 8 "bytes" 9 "compress/gzip" 10 "crypto/sha256" 11 "fmt" 12 "io" 13 "io/ioutil" 14 "os" 15 "path/filepath" 16 "strings" 17 "time" 18 ) 19 20 func bindataRead(data []byte, name string) ([]byte, error) { 21 gz, err := gzip.NewReader(bytes.NewBuffer(data)) 22 if err != nil { 23 return nil, fmt.Errorf("read %q: %v", name, err) 24 } 25 26 var buf bytes.Buffer 27 _, err = io.Copy(&buf, gz) 28 clErr := gz.Close() 29 30 if err != nil { 31 return nil, fmt.Errorf("read %q: %v", name, err) 32 } 33 if clErr != nil { 34 return nil, err 35 } 36 37 return buf.Bytes(), nil 38 } 39 40 type asset struct { 41 bytes []byte 42 info os.FileInfo 43 digest [sha256.Size]byte 44 } 45 46 type bindataFileInfo struct { 47 name string 48 size int64 49 mode os.FileMode 50 modTime time.Time 51 } 52 53 func (fi bindataFileInfo) Name() string { 54 return fi.name 55 } 56 func (fi bindataFileInfo) Size() int64 { 57 return fi.size 58 } 59 func (fi bindataFileInfo) Mode() os.FileMode { 60 return fi.mode 61 } 62 func (fi bindataFileInfo) ModTime() time.Time { 63 return fi.modTime 64 } 65 func (fi bindataFileInfo) IsDir() bool { 66 return false 67 } 68 func (fi bindataFileInfo) Sys() interface{} { 69 return nil 70 } 71 72 var _faucetHtml = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xd4\x5a\x5b\x93\xdb\x36\xb2\x7e\x96\x7f\x45\x87\xc7\x89\xa8\x33\x43\x52\xf2\xe4\x56\x12\xa9\x53\x1e\x27\x27\x35\x5b\xb5\x4e\x6a\x9d\xd4\xee\x56\x92\x07\x88\x68\x89\xf0\x80\x00\x03\x80\xd2\x28\x2a\xfd\xf7\x2d\x80\x17\x91\x94\x66\x62\xc7\xde\xda\x5a\x3f\x8c\x71\x69\x74\x7f\xe8\x6e\xa0\xbb\x41\xc5\x9f\x7c\xf3\xfd\xab\x1f\xff\xf9\xc3\xb7\x90\x99\x9c\x2f\x9f\xc5\xf6\x3f\xe0\x44\x6c\x12\x0f\x85\xb7\x7c\x36\x8a\x33\x24\x74\xf9\x6c\x34\x8a\x73\x34\x04\xd2\x8c\x28\x8d\x26\xf1\x4a\xb3\x0e\xbe\xf6\x4e\x13\x99\x31\x45\x80\xbf\x95\x6c\x9b\x78\xff\x08\x7e\x7a\x19\xbc\x92\x79\x41\x0c\x5b\x71\xf4\x20\x95\xc2\xa0\x30\x89\x77\xf7\x6d\x82\x74\x83\x9d\x75\x82\xe4\x98\x78\x5b\x86\xbb\x42\x2a\xd3\x21\xdd\x31\x6a\xb2\x84\xe2\x96\xa5\x18\xb8\xce\x35\x30\xc1\x0c\x23\x3c\xd0\x29\xe1\x98\xcc\xbc\xe5\x33\xcb\xc7\x30\xc3\x71\x79\x38\x84\xaf\xd1\xec\xa4\xba\x3f\x1e\xe7\xf0\xff\xa4\x4c\xd1\xc4\x51\x35\xe7\xc8\x38\x13\xf7\x90\x29\x5c\x27\x9e\x05\xab\xe7\x51\x94\x52\xf1\x56\x87\x29\x97\x25\x5d\x73\xa2\x30\x4c\x65\x1e\x91\xb7\xe4\x21\xe2\x6c\xa5\x23\xb3\x63\xc6\xa0\x0a\x56\x52\x1a\x6d\x14\x29\xa2\x9b\xf0\x26\xfc\x2a\x4a\xb5\x8e\xda\xb1\x30\x67\x22\x4c\xb5\xf6\x40\x21\x4f\x3c\x6d\xf6\x1c\x75\x86\x68\x3c\x88\x96\x7f\x4e\xee\x5a\x0a\x13\x90\x1d\x6a\x99\x63\xf4\x79\xf8\x55\x38\x75\x22\xbb\xc3\x4f\x4b\xb5\x62\x75\xaa\x58\x61\x40\xab\xf4\x9d\xe5\xbe\xfd\xad\x44\xb5\x8f\x6e\xc2\x59\x38\xab\x3b\x4e\xce\x5b\xed\x2d\xe3\xa8\x62\xb8\xfc\x20\xde\x81\x90\x66\x1f\xbd\x08\x3f\x0f\x67\x51\x41\xd2\x7b\xb2\x41\xda\x48\xb2\x53\x61\x33\xf8\xd1\xe4\x3e\x66\xc3\xb7\x43\x13\x7e\x0c\x61\xb9\xcc\x51\x98\xf0\xad\x8e\x5e\x84\xb3\xaf\xc3\x69\x33\x70\xce\xdf\x09\xb0\x46\xb3\xa2\x46\xe1\x16\x95\x61\x29\xe1\x41\x8a\xc2\xa0\x82\x83\x1d\x1d\xe5\x4c\x04\x19\xb2\x4d\x66\xe6\x30\x9b\x4e\x3f\x5d\x5c\x1a\xdd\x66\xd5\x30\x65\xba\xe0\x64\x3f\x87\x35\xc7\x87\x6a\x88\x70\xb6\x11\x01\x33\x98\xeb\x39\x54\x9c\xdd\xc4\xd1\xc9\x2c\x94\xdc\x28\xd4\xba\x16\x56\x48\xcd\x0c\x93\x62\x6e\x3d\x8a\x18\xb6\xc5\x4b\xb4\xba\x20\xe2\x6c\x01\x59\x69\xc9\x4b\x83\x03\x20\x2b\x2e\xd3\xfb\x6a\xcc\x9d\xdf\xee\x26\x52\xc9\xa5\x9a\xc3\x2e\x63\xf5\x32\x70\x82\xa0\x50\x58\xb3\x87\x82\x50\xca\xc4\x66\x0e\x5f\x16\xf5\x7e\x20\x27\x6a\xc3\xc4\x1c\xa6\xa7\x25\x71\xd4\xa8\x31\x8e\xaa\xab\xea\xd9\x28\x5e\x49\xba\x77\x36\xa4\x6c\x0b\x29\x27\x5a\x27\xde\x40\xc5\xee\x0a\xea\x11\xd8\x9b\x87\x30\xd1\x4c\xf5\xe6\x94\xdc\x79\xe0\x04\x25\x5e\x05\x22\x58\x49\x63\x64\x3e\x87\x99\x85\x57\x2f\x19\xf0\xe3\x01\xdf\x04\xb3\x17\xcd\xe4\x28\xce\x66\x0d\x13\x83\x0f\x26\x70\xf6\x69\x2d\xe3\x2d\x63\xd6\xac\x5d\x13\x58\x93\x60\x45\x4c\xe6\x01\x51\x8c\x04\x19\xa3\x14\x45\xe2\x19\x55\xa2\xf5\x23\xb6\x84\xee\x85\xd7\xde\x77\xd9\xac\x41\x12\x51\xb6\xad\x37\xd2\x69\x0e\xf6\xf4\x38\xec\xaf\xa1\x6e\xc8\xf5\x5a\xa3\x09\x3a\xbb\xe8\x10\x33\x51\x94\x26\xd8\x28\x59\x16\xed\xfc\x28\x76\xa3\xc0\x68\xe2\x95\x8a\x7b\xf5\x15\xef\x9a\x66\x5f\xd4\x9b\xf7\xda\xad\x4a\x95\x07\x56\xf7\x4a\x72\x0f\x0a\x4e\x52\xcc\x24\xa7\xa8\x12\xef\xce\xf1\xd9\xcb\x52\xc1\x2d\x13\x44\xa4\x08\x6f\x72\xa2\x0c\xbc\xca\x08\x13\x40\x28\xb5\x3e\x19\x86\x61\x47\xb6\x73\xd0\x73\x74\xc1\xca\x88\x13\xd5\x28\x5e\x95\xc6\xc8\x96\x70\x65\x04\xac\x8c\x08\x28\xae\x49\xc9\x0d\x50\x25\x0b\x2a\x77\x22\x30\x72\xb3\xb1\x01\xac\xc2\x5d\x2d\xf2\x80\x12\x43\xea\xa9\xc4\x6b\x68\x1b\x43\x11\x5d\xc8\xa2\x2c\x6a\x53\x55\x83\xf8\x50\x10\x41\x91\x5a\xc3\x72\x8d\xde\xf2\x3b\xb6\x45\xc8\x11\x6e\x5f\xdf\x8e\x86\x56\x4f\x89\x42\x13\x74\x59\x9e\xd9\x3e\x8e\x2a\x28\xd5\x86\xa0\xfe\x17\x97\xbc\xe1\xd4\x6e\x20\x47\x51\x42\xaf\x17\x28\x7b\x75\x78\xcb\xc3\x41\x11\xb1\x41\x78\xce\xe8\xc3\x35\x3c\x27\xb9\x2c\x85\x81\x79\x02\xe1\x4b\xd7\xd4\xc7\x63\x8f\x3b\x40\xcc\xd9\x32\x26\x4f\x79\x30\x48\x91\x72\x96\xde\x27\x9e\x61\xa8\x92\xc3\xc1\x32\x3f\x1e\x17\x7a\x9f\xaf\x24\x4f\xc6\xb7\xaf\x6f\xc7\x0b\x38\x1c\xd8\x1a\x9e\x87\x7f\xc3\x94\x14\x26\xcd\xc8\xf1\xb8\x51\x4d\x3b\xc4\x07\x4c\x4b\x83\xfe\xe4\x70\x40\xae\xf1\x78\xd4\xe5\x2a\x67\xc6\x6f\x78\xd9\x71\x41\x8f\x47\xbb\x81\x1a\xf4\xf1\x18\x47\x64\x19\x47\x9c\x2d\xeb\xc9\xbe\x5a\xa2\x92\x9f\xfc\x23\xb2\x0e\xf2\xdf\xe6\x2e\x3f\xe0\x66\xb3\x07\x23\xef\x51\xe8\xff\x90\xbb\x40\xeb\x2f\x95\x31\xaf\xe1\xf9\x0a\x8b\x17\x78\x27\xd6\xd2\x79\xcd\x6d\xd3\x6b\x1c\xc7\x29\xee\x3d\x5c\xa6\x76\x92\xc3\xa1\x96\x70\x3c\xfe\x39\x57\x71\x40\xfc\x0e\x9b\x9e\xcb\xb4\xa0\x6b\x37\x7f\x63\xd4\xf1\x08\x1d\xea\x3f\xeb\x4b\xd5\x2d\xeb\x00\x77\xf1\x5e\xb8\x34\x37\x41\xbb\x87\xda\x39\x34\x33\x78\x8f\xfb\xc4\x3b\x1c\xba\x6b\xeb\xd9\x94\x70\xbe\x22\x4e\x45\x6e\x83\xed\xa2\xdf\xd1\x3a\xed\x96\x69\x97\x65\x2f\x1b\x04\x27\xd8\xef\x18\x05\x06\x91\xcd\xc8\x62\x0e\x37\x2f\x3a\x61\xed\x52\x80\xf8\x72\x10\x20\x6e\x2e\x12\x17\x44\x20\x07\xf7\x37\xd0\x39\xe1\x4d\xbb\x3e\x3a\x9d\x8b\x7b\xb8\x28\xb0\x41\xbc\x85\xd6\x26\x03\xd3\x05\xc8\x2d\xaa\x35\x97\xbb\x39\x90\xd2\xc8\x05\xe4\xe4\xa1\x4d\x88\x6e\xa6\xd3\x2e\x6e\x5b\x1d\x90\x15\x47\x17\x8c\x14\xfe\x56\xa2\x36\xba\x0d\x3d\xd5\x94\xfb\x6b\x23\x10\x45\xa1\x91\x0e\xb4\x61\x25\x5a\xd5\x3a\xaa\x8e\xe9\x5b\x65\x5e\xc4\xbe\x96\xb2\xcd\x31\xba\x30\x6a\xd6\x9d\x74\xc8\x5b\xc6\x46\x9d\xe8\x46\xb1\xa1\xef\x95\x23\x28\x5b\x03\x3c\x96\x22\x54\xd7\x9b\xdd\x7b\x81\xa8\xaa\x04\xd4\xba\x2c\xb8\x6e\x1c\x19\xfa\x01\x92\xad\x13\xae\x88\xc6\x77\x11\xef\x52\xc1\x93\x78\xd7\xfd\x50\xf9\x19\x12\x65\x56\x48\xcc\xbb\x00\x58\x97\x82\x76\xf6\x7f\xfb\xfa\xf6\x43\xc5\x97\x82\x6d\x51\x69\x66\xf6\xef\x2a\x1f\xe9\x09\x40\xd5\xef\x43\x88\x23\xa3\x9e\xf6\xb4\x6e\xe7\xe2\xd1\x6e\x5b\x75\xe3\x54\xc7\xb8\xe9\x28\x82\xef\xb8\x5c\x11\x0e\x5b\x0b\x79\xc5\x51\x83\x91\x60\xf3\x2d\x30\x19\x42\x5a\x2a\x85\xc2\x80\x36\xc4\x94\x1a\xe4\xda\x8d\xae\x5d\x6e\x69\xd7\x6f\x89\x02\x62\x0c\xe6\x85\x81\xa4\xce\xc2\xed\x98\x46\xb5\xad\x6b\x0b\xdb\xb5\xc1\xbf\x3f\x5f\x5d\xed\x9e\xd7\x8e\x34\x67\x11\x12\xf8\xf9\xd7\xc5\xb3\x1a\xdc\x37\xb8\x66\x02\x81\x58\xf5\xa4\xb6\xb6\x00\x93\x11\x03\xa9\x42\x62\x50\x43\xca\xa5\x2e\x55\x85\xd9\x06\x29\xb0\xb8\x1b\x4e\x0d\x67\x3b\x51\x38\xf9\x0d\x13\x3f\x23\x3a\x9b\xd4\x65\x85\x42\x53\x2a\x71\x9a\x6b\xc6\x47\x6b\xa9\xc0\xb7\x0c\x58\x32\x5d\x00\x8b\x1b\xbe\x21\x47\xb1\x31\xd9\x02\xd8\xd5\x55\x4b\x3c\x62\x6b\xf0\x1b\x8a\x9f\xd9\xaf\xa1\x79\x08\xad\x14\x48\x12\xe8\x4a\x73\x02\x6b\x3e\xba\xe0\x2c\x45\x9f\x5d\xc3\x6c\xb2\x68\x66\x57\x0a\xc9\x7d\xd3\xab\x2f\xed\xea\x3f\xf7\xf7\xb8\xe8\x6b\xc6\x99\xa3\xa7\x9b\x2a\x24\x68\x20\xb0\x61\xda\x40\xa9\xb8\xd5\x8e\xa5\xab\x8c\xd2\x9a\xc0\xd1\x75\xb5\x72\x16\xaa\xea\x46\x1d\x40\x9a\x2d\x54\x6c\x42\x8d\x82\xfa\x7f\x79\xf3\xfd\xeb\x50\x1b\xc5\xc4\x86\xad\xf7\xfe\xa1\x54\x7c\x0e\xcf\x7d\xef\x7f\x6c\x72\x3f\xf9\x79\xfa\x6b\xb8\x25\xbc\xc4\xeb\xda\xe0\x73\x68\x72\x05\xeb\x11\x73\xf7\xf7\x4c\xea\x35\xd4\xcd\x39\xf4\x01\x1c\x27\x93\xc5\xe5\x70\xda\xc9\x01\x14\x6a\x34\xbe\x25\x6c\xa3\xde\x50\x67\x04\x72\x34\x99\xa4\x56\x2f\x0a\x53\x29\x04\xa6\x06\xca\x42\x8a\x5a\x45\xc0\xa5\xd6\x27\xc7\x6c\x28\x92\x73\x27\xa9\xe9\x13\x10\xb8\x83\xbf\xe3\xea\x8d\x4c\xef\xd1\xf8\xbe\xbf\x63\x82\xca\x5d\xc8\x65\x4a\xec\x02\x5b\x2f\x1b\x99\x4a\x0e\x49\x92\x40\xfd\x7a\xe0\x4d\xe0\xff\xc0\xdb\x69\x3d\x8f\x22\x0f\xe6\xb6\x69\x5b\x13\xb8\x82\xe1\xf2\x4c\x6a\x03\x57\xe0\x45\xd5\xd1\xb3\x91\x53\x99\x88\x14\xcc\x9b\x54\x67\xa5\xb1\x8a\x14\x39\x6a\x4d\x36\xd8\x45\x8b\x5b\x14\xa6\xf5\x40\xbb\xa9\x5c\x6f\x20\x01\x67\xbd\x82\x28\x8d\x15\x49\x68\x6f\xf0\xc6\x15\xad\x43\x3b\xb2\x24\x01\x51\x72\x7e\xf2\xe0\xea\xc4\x2c\x1a\xdf\xec\x91\x87\xee\x5e\x85\x4f\x92\x04\xec\x85\x66\xf5\x4d\x4f\x2b\xad\x67\x54\x17\xef\x24\xb4\x77\xea\x69\xc5\x64\xd1\x75\xf5\x1e\x37\xa4\x7f\xc4\x0e\xe9\x90\x1f\xd2\x47\x18\xba\x38\xf7\x14\xbf\x2a\x2e\x76\xd8\xb9\x81\x47\xb8\x89\x32\x5f\xa1\x7a\x8a\x5d\x15\xe7\x6a\x76\x4e\xd5\x77\xc2\x74\xd6\x5e\xc3\xec\xcb\xc9\x23\xdc\x51\x29\xf9\x28\x73\x21\xcd\xde\x3f\x70\xb2\x97\xa5\x99\xc3\xd8\xc8\xe2\x95\x0b\x4c\xe3\x6b\xb0\xb2\xe6\xd0\x72\xb8\x76\xd5\xc7\x1c\xc6\xae\x67\xe7\x59\x8e\x6e\xd5\x17\xd3\xe9\xf4\x1a\x9a\xa7\x9c\x5b\x62\x4f\xa4\x2a\xf1\xf8\x08\x1e\x5d\xa6\x29\xea\x47\xb5\xf7\x4e\x88\x6a\x1e\x2d\xa6\xba\xff\x01\xa8\xda\xc0\xd1\x83\x05\x9f\x7d\x06\x67\xb3\x7d\x37\x8e\x22\xf8\x2b\x51\xf7\xe0\x72\x50\x85\x5b\x26\x4b\x7d\x0a\x43\x39\xd3\x9a\x89\x0d\x10\x0d\x54\x0a\xac\xd7\xbc\x5f\x4c\x38\xc3\x58\x93\xc1\x12\xa6\x43\x80\xf6\xae\xec\xc4\x8c\x0b\xa1\xa4\xc3\xb7\x1f\x25\x46\xc7\xae\xbc\xde\x4a\x96\x23\x7c\x92\x80\xe7\x75\x17\x9f\x51\x58\x82\x96\xd9\x48\xa3\xf9\xb1\xb2\x85\x5f\x87\xce\x4b\x81\x6d\x72\x6d\x53\xeb\xe9\xe4\x0c\xc4\xf1\xa4\xde\x97\x45\x81\x82\x02\x11\x7b\x77\x3f\xb6\xba\x65\xc2\x48\x90\xa5\xbd\x67\x53\xc2\x6d\xd9\xc0\xd1\xdd\x54\xf5\x52\xab\xe0\x54\xe6\xb9\x14\x90\x40\x30\x5b\x5c\x08\xb1\x1d\x4d\x76\xb6\x36\x34\xcf\x05\xdd\x0f\x4d\xd4\xd7\xd9\x80\x38\x98\xf5\x8c\xd2\xb3\xd7\x65\xc3\x8c\x5a\xdc\xec\xa4\xd1\x81\xb9\x4e\xf6\x1a\xea\xac\x83\xbf\xe2\x73\x35\x7b\xc7\x6d\xb4\xd3\x45\xa9\x33\x7f\x00\x74\xb2\x38\xb7\xcd\x9d\x41\x45\x0c\xba\xda\xc9\xd9\x02\x85\x61\x0a\xcf\x4c\x02\x44\xd8\x94\x2a\x50\x28\x28\xaa\x26\xdf\xb0\xa5\x57\x55\x27\xf5\x4c\xe6\xbe\xd4\xf4\xdc\xe9\x3d\x0f\x8c\xcb\xd7\xa4\x40\x5b\x5a\x0f\x0e\x81\x73\xd4\x9e\xa7\x5a\x62\xe4\xa4\xd0\x48\x21\x81\xea\x65\xdd\x9f\x84\xa5\x60\x0f\xfe\x24\xa8\xfb\x43\x1e\xcd\x7c\x1d\x36\x9d\xc5\x2a\xd8\x57\x09\x78\xb1\x51\x36\x3b\x1f\x7b\x70\x75\xe9\x08\xda\x10\x3c\x5e\x9e\x10\x74\x97\x02\xc4\x86\x2e\x5d\xe5\x57\x55\x0d\xbf\x78\xb6\x46\xdf\x28\x59\x0a\x3a\xb7\x79\x98\x7f\xc6\x96\x6c\x89\x21\xca\x71\x9d\x2c\xe0\x44\xee\x4a\xf9\x39\xa4\xd6\x38\x0b\xa8\x8a\x43\x57\x7f\x43\x5b\xd6\xba\xde\x4a\x2a\x8a\x2a\x50\x84\xb2\x52\xcf\xe1\xf3\xe2\x61\xf1\x4b\x53\xf6\xbb\x52\xe2\x49\xa8\x85\xc2\xe5\x19\xa2\x34\x75\xcf\x7e\x57\xe0\xc5\x91\x25\xf8\x23\x36\xed\x66\xbb\x2f\xfa\x70\xa1\x60\x82\xf6\xbd\xbd\x1e\xcf\x19\xa5\x1c\x2d\xe0\x13\x7b\x7b\x18\xad\xfd\xbb\x47\xaa\x2f\x12\xea\x4a\xe9\xb4\xe6\x08\xc8\x35\x3e\xb1\xa0\x2d\xba\xc6\xd6\x01\x02\xbb\x65\xe6\x74\x5e\xd7\x6f\x6e\x58\x8d\x9d\x2e\xea\xef\x33\xb4\x54\x2e\xf1\xf2\x83\xda\xc1\xae\x61\xac\x6d\x22\x48\xf5\x78\x12\x66\x65\x4e\x04\xfb\x1d\x7d\x1b\x97\x26\x95\xae\x5c\x15\xe7\x9d\x5f\xc9\x67\x60\x4e\x4f\x03\xe3\x26\xc6\x8d\x6b\x25\x8e\x1b\xeb\x5a\x43\x76\xbe\x6d\x8c\xdf\x53\x43\x97\xa5\x04\x2b\xa2\xa0\xdb\x09\x9a\xe0\x0b\x4a\x5a\xe9\xcd\xdc\x8a\xa8\x71\x55\xc1\xba\xe4\x5d\xc8\x5d\x32\xbe\x99\xb6\x20\x2b\x43\x3b\x3b\x8f\x6b\x5f\x3b\x33\x86\x45\xd9\x1c\xcd\x25\xdc\x4c\x3f\x06\x5a\x4a\xc4\x06\x87\x3b\x30\x8a\x15\x48\x81\xa4\x86\x6d\xf1\xdf\xb0\x91\x8f\xa0\xe4\xf7\x86\x68\xfd\xb0\x51\x9e\x73\xd3\x1e\x5e\x3b\xdb\xea\xf6\x7f\xed\x79\x83\xc8\x69\xf8\x0a\xbc\x8b\x1b\x79\xd4\x13\x07\x84\x83\xa3\xfd\xf8\xb9\x77\xcf\x12\xde\x30\xa6\xd8\x6c\xb7\x7d\x50\x9b\x84\x99\xc9\xb9\xef\xc5\xc6\x7d\x79\xb3\x98\x5b\x0e\x8e\x41\x35\xdc\x4f\xe9\x8e\xfd\x42\xc6\x16\xf7\x38\x28\xba\xa0\x93\x9c\xb4\x85\x59\x93\x89\xc0\xf1\xf4\x81\x32\x8a\xe0\x8d\x21\xca\x00\x81\x9f\xee\xa0\x2c\x28\x31\x36\x7a\x49\xb0\xf1\xd1\x45\xb1\xf6\x0b\xe6\x8a\x28\x0d\x6b\xa9\x76\x44\x51\x28\x85\x61\xdc\xce\xef\x81\x28\x6c\x53\x3f\x8d\xe6\xce\xde\x62\x5b\xc2\xfd\xb3\x22\xf0\xb9\x3f\x0e\xbb\x26\x1f\x4f\x42\x24\x69\x76\x4e\xe8\x22\x56\x2b\x37\x81\xd7\xae\x04\xf0\x9f\xfb\x26\x63\x7a\x12\x12\x63\x94\x3f\xee\x39\xc3\x78\x62\xed\x3a\xeb\x94\x64\xed\xf2\xb8\x77\xac\x9e\xe2\x71\x4a\xa6\xdb\x44\xa0\x21\x4f\xb5\xf6\x2b\xbf\x1a\x5f\x77\x78\xf7\xdd\x6a\xfc\xe9\xb8\x35\xd4\xe9\x78\x9f\xf6\x91\x5c\x44\xd2\x63\x3d\xb6\xa7\x6c\x7c\x26\x9e\x50\xfa\xca\x9e\x1f\xdf\xbb\x70\xd2\x87\xde\x31\x69\x95\x5d\xdd\xd7\x4f\x6a\x99\x09\x8a\x0f\x8f\xa9\x98\xd1\xf1\x24\xd4\xe5\xaa\x7a\xb8\xf0\xbf\x68\x0b\xb0\x86\xcc\x39\xef\x30\x14\x9c\x25\x14\x56\x44\x3f\xa9\x08\x06\x49\xc8\x13\x51\xa3\x16\x59\xed\xea\x78\x6d\x15\x3e\x9d\xb4\xef\x5e\xdf\x6a\x9b\x5c\x31\x9d\x01\x81\x1d\xae\xb4\x7b\x56\x80\xda\xdf\xdd\x53\x4f\xf5\xa4\xf3\xf2\x87\xbb\xce\xb3\x4e\x7b\x22\x7c\xc7\xbd\xfd\x71\xc1\xa5\x47\x93\x8b\xbf\x66\xd8\xed\x76\xe1\x46\xca\x0d\xaf\x7e\xc7\xd0\xbe\xaa\x44\xa4\x60\xe1\x5b\xed\x01\xd1\x7b\x91\x02\xc5\x35\xaa\x65\x87\x7d\xfd\xd4\x12\x47\xd5\x77\xf6\x38\xaa\x7e\x3c\xf4\xaf\x00\x00\x00\xff\xff\xd9\xd8\xd1\x5e\x4d\x24\x00\x00") 73 74 func faucetHtmlBytes() ([]byte, error) { 75 return bindataRead( 76 _faucetHtml, 77 "faucet.html", 78 ) 79 } 80 81 func faucetHtml() (*asset, error) { 82 bytes, err := faucetHtmlBytes() 83 if err != nil { 84 return nil, err 85 } 86 87 info := bindataFileInfo{name: "faucet.html", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)} 88 a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xc0, 0x42, 0xb4, 0x67, 0xdf, 0x31, 0x8e, 0x4f, 0xcc, 0x2c, 0xe0, 0x3, 0x84, 0x98, 0xd4, 0x9a, 0x57, 0x86, 0x2f, 0x32, 0xf3, 0x4, 0x88, 0x0, 0xc2, 0x31, 0x7d, 0xea, 0x46, 0x4a, 0x1b, 0x3a}} 89 return a, nil 90 } 91 92 // Asset loads and returns the asset for the given name. 93 // It returns an error if the asset could not be found or 94 // could not be loaded. 95 func Asset(name string) ([]byte, error) { 96 canonicalName := strings.Replace(name, "\\", "/", -1) 97 if f, ok := _bindata[canonicalName]; ok { 98 a, err := f() 99 if err != nil { 100 return nil, fmt.Errorf("Asset %s can't read by error: %v", name, err) 101 } 102 return a.bytes, nil 103 } 104 return nil, fmt.Errorf("Asset %s not found", name) 105 } 106 107 // AssetString returns the asset contents as a string (instead of a []byte). 108 func AssetString(name string) (string, error) { 109 data, err := Asset(name) 110 return string(data), err 111 } 112 113 // MustAsset is like Asset but panics when Asset would return an error. 114 // It simplifies safe initialization of global variables. 115 func MustAsset(name string) []byte { 116 a, err := Asset(name) 117 if err != nil { 118 panic("asset: Asset(" + name + "): " + err.Error()) 119 } 120 121 return a 122 } 123 124 // MustAssetString is like AssetString but panics when Asset would return an 125 // error. It simplifies safe initialization of global variables. 126 func MustAssetString(name string) string { 127 return string(MustAsset(name)) 128 } 129 130 // AssetInfo loads and returns the asset info for the given name. 131 // It returns an error if the asset could not be found or 132 // could not be loaded. 133 func AssetInfo(name string) (os.FileInfo, error) { 134 canonicalName := strings.Replace(name, "\\", "/", -1) 135 if f, ok := _bindata[canonicalName]; ok { 136 a, err := f() 137 if err != nil { 138 return nil, fmt.Errorf("AssetInfo %s can't read by error: %v", name, err) 139 } 140 return a.info, nil 141 } 142 return nil, fmt.Errorf("AssetInfo %s not found", name) 143 } 144 145 // AssetDigest returns the digest of the file with the given name. It returns an 146 // error if the asset could not be found or the digest could not be loaded. 147 func AssetDigest(name string) ([sha256.Size]byte, error) { 148 canonicalName := strings.Replace(name, "\\", "/", -1) 149 if f, ok := _bindata[canonicalName]; ok { 150 a, err := f() 151 if err != nil { 152 return [sha256.Size]byte{}, fmt.Errorf("AssetDigest %s can't read by error: %v", name, err) 153 } 154 return a.digest, nil 155 } 156 return [sha256.Size]byte{}, fmt.Errorf("AssetDigest %s not found", name) 157 } 158 159 // Digests returns a map of all known files and their checksums. 160 func Digests() (map[string][sha256.Size]byte, error) { 161 mp := make(map[string][sha256.Size]byte, len(_bindata)) 162 for name := range _bindata { 163 a, err := _bindata[name]() 164 if err != nil { 165 return nil, err 166 } 167 mp[name] = a.digest 168 } 169 return mp, nil 170 } 171 172 // AssetNames returns the names of the assets. 173 func AssetNames() []string { 174 names := make([]string, 0, len(_bindata)) 175 for name := range _bindata { 176 names = append(names, name) 177 } 178 return names 179 } 180 181 // _bindata is a table, holding each asset generator, mapped to its name. 182 var _bindata = map[string]func() (*asset, error){ 183 "faucet.html": faucetHtml, 184 } 185 186 // AssetDir returns the file names below a certain 187 // directory embedded in the file by go-bindata. 188 // For example if you run go-bindata on data/... and data contains the 189 // following hierarchy: 190 // data/ 191 // foo.txt 192 // img/ 193 // a.png 194 // b.png 195 // then AssetDir("data") would return []string{"foo.txt", "img"}, 196 // AssetDir("data/img") would return []string{"a.png", "b.png"}, 197 // AssetDir("foo.txt") and AssetDir("notexist") would return an error, and 198 // AssetDir("") will return []string{"data"}. 199 func AssetDir(name string) ([]string, error) { 200 node := _bintree 201 if len(name) != 0 { 202 canonicalName := strings.Replace(name, "\\", "/", -1) 203 pathList := strings.Split(canonicalName, "/") 204 for _, p := range pathList { 205 node = node.Children[p] 206 if node == nil { 207 return nil, fmt.Errorf("Asset %s not found", name) 208 } 209 } 210 } 211 if node.Func != nil { 212 return nil, fmt.Errorf("Asset %s not found", name) 213 } 214 rv := make([]string, 0, len(node.Children)) 215 for childName := range node.Children { 216 rv = append(rv, childName) 217 } 218 return rv, nil 219 } 220 221 type bintree struct { 222 Func func() (*asset, error) 223 Children map[string]*bintree 224 } 225 226 var _bintree = &bintree{nil, map[string]*bintree{ 227 "faucet.html": &bintree{faucetHtml, map[string]*bintree{}}, 228 }} 229 230 // RestoreAsset restores an asset under the given directory. 231 func RestoreAsset(dir, name string) error { 232 data, err := Asset(name) 233 if err != nil { 234 return err 235 } 236 info, err := AssetInfo(name) 237 if err != nil { 238 return err 239 } 240 err = os.MkdirAll(_filePath(dir, filepath.Dir(name)), os.FileMode(0755)) 241 if err != nil { 242 return err 243 } 244 err = ioutil.WriteFile(_filePath(dir, name), data, info.Mode()) 245 if err != nil { 246 return err 247 } 248 return os.Chtimes(_filePath(dir, name), info.ModTime(), info.ModTime()) 249 } 250 251 // RestoreAssets restores an asset under the given directory recursively. 252 func RestoreAssets(dir, name string) error { 253 children, err := AssetDir(name) 254 // File 255 if err != nil { 256 return RestoreAsset(dir, name) 257 } 258 // Dir 259 for _, child := range children { 260 err = RestoreAssets(dir, filepath.Join(name, child)) 261 if err != nil { 262 return err 263 } 264 } 265 return nil 266 } 267 268 func _filePath(dir, name string) string { 269 canonicalName := strings.Replace(name, "\\", "/", -1) 270 return filepath.Join(append([]string{dir}, strings.Split(canonicalName, "/")...)...) 271 }