2023-03-01 11:53:17 +00:00
|
|
|
// Code generated by go-bindata. DO NOT EDIT.
|
|
|
|
// sources:
|
2023-06-01 08:11:01 +00:00
|
|
|
// _assets/tests/qr/QRWithLogo.png (13.814kB)
|
2023-03-01 11:53:17 +00:00
|
|
|
// _assets/tests/qr/defaultQR.png (12.007kB)
|
|
|
|
// _assets/tests/qr/status.png (9.398kB)
|
|
|
|
|
|
|
|
package images
|
|
|
|
|
|
|
|
import (
|
|
|
|
"bytes"
|
|
|
|
"compress/gzip"
|
|
|
|
"crypto/sha256"
|
|
|
|
"fmt"
|
|
|
|
"io"
|
|
|
|
"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: %w", name, err)
|
|
|
|
}
|
|
|
|
|
|
|
|
var buf bytes.Buffer
|
|
|
|
_, err = io.Copy(&buf, gz)
|
|
|
|
clErr := gz.Close()
|
|
|
|
|
|
|
|
if err != nil {
|
|
|
|
return nil, fmt.Errorf("read %q: %w", name, err)
|
|
|
|
}
|
|
|
|
if clErr != nil {
|
|
|
|
return nil, err
|
|
|
|
}
|
|
|
|
|
|
|
|
return buf.Bytes(), nil
|
|
|
|
}
|
|
|
|
|
|
|
|
type asset struct {
|
|
|
|
bytes []byte
|
|
|
|
info os.FileInfo
|
|
|
|
digest [sha256.Size]byte
|
|
|
|
}
|
|
|
|
|
|
|
|
type bindataFileInfo struct {
|
|
|
|
name string
|
|
|
|
size int64
|
|
|
|
mode os.FileMode
|
|
|
|
modTime time.Time
|
|
|
|
}
|
|
|
|
|
|
|
|
func (fi bindataFileInfo) Name() string {
|
|
|
|
return fi.name
|
|
|
|
}
|
|
|
|
func (fi bindataFileInfo) Size() int64 {
|
|
|
|
return fi.size
|
|
|
|
}
|
|
|
|
func (fi bindataFileInfo) Mode() os.FileMode {
|
|
|
|
return fi.mode
|
|
|
|
}
|
|
|
|
func (fi bindataFileInfo) ModTime() time.Time {
|
|
|
|
return fi.modTime
|
|
|
|
}
|
|
|
|
func (fi bindataFileInfo) IsDir() bool {
|
|
|
|
return false
|
|
|
|
}
|
|
|
|
func (fi bindataFileInfo) Sys() interface{} {
|
|
|
|
return nil
|
|
|
|
}
|
|
|
|
|
2023-06-01 08:11:01 +00:00
|
|
|
var __assetsTestsQrQrwithlogoPng = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x8c\xfb\x55\x54\x1c\x51\xb7\x05\x0a\x23\x0d\x41\x1a\xd2\xb8\x35\xae\x41\x1b\x77\x77\x08\x10\x02\x34\x90\x40\x43\xe3\xee\xee\x34\xee\x09\x1e\x2c\x48\x02\xc1\xdd\x3d\x40\x08\x21\x58\x70\x6f\x20\xb8\xbb\xc3\x3f\xf2\x9d\xf3\x7f\xe7\xde\xb7\xfb\x50\x0f\x35\x46\x8d\x5d\x55\x6b\xcf\x35\xd7\x9a\x63\xcf\x15\xf3\x46\x53\x19\x0f\x87\x12\x07\x05\x05\x05\x4f\x55\x45\xe1\x2d\x0a\x0a\xca\xcf\x7f\x17\x16\x1a\x0a\x0a\x0a\x83\x98\xe8\x10\x0a\x8a\x60\xa7\xaa\x82\xac\xae\x4f\xce\x41\xa0\x6f\x00\xb1\xe2\x42\xf0\x5d\x96\x3f\x5f\x2b\x0b\x3d\x13\xfd\x52\x24\x87\x1b\x4e\x34\x78\x4d\xc9\x14\xc3\x22\xe6\xfb\xba\x1b\x4f\xf4\x0e\x07\x26\x31\x76\x7b\x5d\xe8\x26\xb1\xb7\x25\x19\x53\x57\x21\x9d\x82\x8c\x6c\x20\x2a\x3d\x67\x14\xee\x5f\x66\x2c\xb9\x16\xd5\x9f\xa8\xa2\x80\xe4\xd7\x89\x43\x39\x81\x4f\x52\xc5\xd7\xfa\xef\x9d\x5f\x96\x7e\x1a\xb5\x00\x7d\xe9\x0e\xfe\x2a\xa6\xa5\xaf\xaf\x27\x3d\x79\x39\xe5\x9e\x8c\xa0\x03\xbc\x7a\x33\x3e\xd5\x13\xbc\x8b\xca\x76\xe3\x29\x07\xe7\xc4\x40\x0d\xfd\x6e\x80\x83\x86\x16\x51\x4b\x0c\x00\xe0\x98\xbf\xc2\xc2\x22\xfe\xf1\x16\x04\x62\x8b\xff\x4a\x47\xf7\x86\x5c\x5d\x56\x26\x1f\x92\x8e\x08\x09\x51\x78\x6e\xaf\xaa\x3a\x5a\x68\xb4\x07\x0f\x4a\x56\x9c\x02\x3e\x8d\x6c\x5d\x1d\x2e\xde\x6b\x3a\x37\x2f\x56\xc3\x3a\x7f\xd5\x55\xcc\xf5\xbb\x4a\xd0\xd3\xd3\x0b\x08\x10\x83\x74\xa1\xd0\xad\xcd\x4d\x54\x74\x74\x45\x6d\xe3\x36\x8f\x09\xbb\x46\x0d\x41\xd3\x74\xcb\x6a\x58\xa7\x5d\xf3\x62\x6f\x5a\x4b\x4b\x0b\x29\xd7\x3b\x3a\xa7\xa1\x91\x91\xca\x8a\x0a\x87\x9d\x6e\x26\x55\xaf\xa3\x25\xc3\xea\xd9\x7b\xa9\xc8\x8e\x8e\x8e\xd8\x58\x9c\xd5\xdd\x47\x80\x2c\x28\x57\xcc\x93\x8f\x32\x01\x8b\x12\xe8\xf8\x67\x68\x74\x94\x46\xd8\x09\xdc\x61\x17\xaa\xe4\xe6\x76\x36\x48\x1b\x1c\x0f\xcf\x4c\xba\xc8\xe0\x36\xa6\x94\xf4\xf3\x70\x74\xac\x9c\xd3\x2d\xd5\x15\xf7\x3e\x02\x8b\xba\x31\xd1\xcd\x35\x3b\xaf\x5e\xec\x4e\xfa\xe6\x91\x65\xaf\xad\xad\x45\xbd\xa4\xd5\x54\x51\xb1\x29\x43\x9d\x9d\x9a\x8a\xa7\x14\xdc\xdb\x9b\x2e\x47\xfe\x5a\x1f\x88\xcb\xe0\x7a\x3f\x03\x92\x1c\x74\xe5\xb7\xfa\x3d\xd7\xec\x6c\x22\x0f\x60\x49\xd9\xed\x09\x45\x37\x6e\xf7\xba\x0c\x04\xd6\x5b\x8d\x2c\x74\xfa\x37\xe7\x68\xdf\x63\x74\xc2\x9e\x47\x84\xff\xad\xf7\x42\x76\x63\x33\x6e\xc0\x35\x67\xd9\xa9\x79\xde\x41\x43\xb2\x09\x73\xcd\xad\xd5\x62\xc2\x1d\x6c\x5d\x1e\xf5\xef\xed\xc8\x7d\x66\x84\xa5\x61\xf6\x08\x26\xb9\x7a\xd1\x44\x48\x77\x36\x00\x41\x27\x02\xc6\xf7\x89\xb1\xc9\x52\x5a\x5d\x77\x6b\x05\xa9\xab\x81\xc2\x97\x08\x0a\xc5\x81\x80\x0e\x27\xb3\xd8\xff\x86\x16\x69\xc9\x91\x8a\xd2\x07\x49\x50\xda\x68\x47\xf9\x4b\x82\xa0\x6b\x59\x76\xea\xcf\x30\x01\x01\x32\x86\x23\x40\x80\x4e\xa7\x5c\x80\xec\x8e\x87\xd8\x09\x56\x25\x74\xdf\xad\x15\x8c\xff\x62\x9d\x34\x41\x29\x6c\xe3\xf9\x76\xa8\xf5\xdf\x73\xab\x6b\x2e\xdf\x74\xd9\x73\x35\x59\x85\x78\x81\x45\x6c\x6a\x20\xc0\xaa\x7e\x0c\x1d\x56\xe3\x3b\xbc\x2c\xbf\xce\x95\x31\x92\x62\x36\xb5\xaf\x6f\x05\x0b\xe4\x89\x07\x5d\x9d\x9a\xdf\xcf\x70\x9d\xfd\xfb\xb4\x0a\xa3\xd6\xb7\xe9\x46\x31\x98\x1a\x93\xa5\xa5\xa5\xdb\x63\x9f\x9d\xa3\xf3\xdb\xda\xee\x46\x84\x57\x39\xb9\xb9\x9d\xa2\x7b\xac\xea\x0b\xc6\x48\x1f\xef\xaf\x57\xbb\x83\xa5\x0d\x2c\xa3\xfa\x6a\xad\x46\xb2\xce\xce\xce\x5e\x10\x9a\x93\xcf\xb4\x79\xee\x5f\xaf\x06\xaf\x5a\xf0\xc5\xe8\x8b\x24\xbe\x6f\x75\xdb\x2c\xd5\x29\xa1\xdc\x33\x29\x9f\xee\xba\x9c\x79\xaf\xad\xad\x8d\xc4\xb9\x53\xd9\x89\x81\x75\xfa\x71\x99\x74\xe5\x14\xb2\xd5\xaa\x82\x14\xf6\x67\x2a\x2d\x2f\xe9\x64\x9b\x9d\x96\xd3\x79\x4c\xf0\xf9\xcb\x3f\xff\x1c\x1a\x32\xac\xb3\x88\xe1\x5c\x49\x7e\x1c\xd8\x5b\x68\xb4\x7f\xfb\x36\xf9\xa1\x56\x92\x9c\x3b\x83\x83\x93\x13\x28\x2b\x33\x79\x31\x5f\x6f\xed\xee\xee\x4e\xf5\x18\xfd\xd3\x2f\xc4\x4a\x51\x71\x60\x7d\x20\xae\xda\xa4\x7b\x05\xd4\x39\x60\x16\xda\xad\x85\xa0\x33\xea\xf4\xbb\xbc\x3f\xee\x76\x8e\x96\x12\x10\xf0\xb8\xdc\x9b\x8e\x89\x89\x49\xa0\x81\x2b\x28\xf4\xe7\xcb\x86\xe9\xb2\xeb\x15\xf9\x7f\xa0\x63\x62\xb2\x40\xf6\x84\x6a\x7c\x7b\x4b\x30\x6f\x4c\xda\xc9\x60\xfe\x28\x36\x11\xbe\xae\xb6\xe1\xa7\xf3\x5f\x2c\xcb\xe4\xc5\x6f\xc6\x3c\x3c\x04\x84\x9b\xee\x63\xd7\xcf\x4b\x98\xf5\x63\xd1\x7d\x13\x42\x93\xf4\xbf\x3a\x58\x6a\xe5\xbf\x11\xd1
|
2023-03-01 11:53:17 +00:00
|
|
|
|
|
|
|
func _assetsTestsQrQrwithlogoPngBytes() ([]byte, error) {
|
|
|
|
return bindataRead(
|
|
|
|
__assetsTestsQrQrwithlogoPng,
|
|
|
|
"_assets/tests/qr/QRWithLogo.png",
|
|
|
|
)
|
|
|
|
}
|
|
|
|
|
|
|
|
func _assetsTestsQrQrwithlogoPng() (*asset, error) {
|
|
|
|
bytes, err := _assetsTestsQrQrwithlogoPngBytes()
|
|
|
|
if err != nil {
|
|
|
|
return nil, err
|
|
|
|
}
|
|
|
|
|
2023-06-01 08:11:01 +00:00
|
|
|
info := bindataFileInfo{name: "_assets/tests/qr/QRWithLogo.png", size: 13814, mode: os.FileMode(0644), modTime: time.Unix(1684560243, 0)}
|
|
|
|
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xc8, 0x9f, 0x71, 0xf7, 0x44, 0x33, 0xa3, 0x2a, 0x9c, 0xb4, 0xd7, 0x51, 0x9d, 0x1a, 0xdc, 0x36, 0x50, 0xfa, 0x17, 0x48, 0x3c, 0xa, 0xfe, 0xda, 0x6, 0x28, 0xe4, 0xef, 0x75, 0x64, 0x39, 0xf4}}
|
2023-03-01 11:53:17 +00:00
|
|
|
return a, nil
|
|
|
|
}
|
|
|
|
|
|
|
|
var __assetsTestsQrDefaultqrPng = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x74\xba\x45\x58\x1c\x61\xdb\x35\x88\x05\x1a\x77\xf7\x10\xdc\x13\x2c\xb8\xbb\x43\x70\x77\x77\x77\x27\xc1\xdd\xb5\x71\x77\x09\x8d\x3b\x01\x82\xbb\xbb\x5b\xe3\xd6\xcc\x95\x77\xde\xef\x9b\x7f\x31\xff\xa2\x36\xb5\xaa\xeb\xa9\xf3\x1c\xb9\xef\xf3\x4b\x59\x51\x0a\x15\x89\x08\x09\x0a\x0a\x0a\x55\x46\x5a\x5c\x15\x0a\x0a\x6a\xf4\xdf\x03\x80\x81\x82\x82\xfa\xcc\xfb\x7d\x0c\x0a\x8a\xa5\x56\x46\x5c\x44\xdd\x2b\xe7\xbc\xcb\xd7\x0b\xe7\x47\xd6\x93\x92\xfb\x8f\xfb\xae\x39\x19\x69\x6c\x31\x2c\xac\xe0\x30\x02\xe9\xfd\xcf\x06\xf0\xa8\xf8\x07\x34\xf5\x0c\xd1\x83\x98\xce\x03\x0a\xc6\xf0\xee\xe2\x46\xc3\x9c\x13\x21\xc1\x22\x80\xfe\x98\x89\x90\xed\x6f\xed\x6c\x41\xbb\xd4\xbb\x44\x78\xfd\x9f\xdb\x85\x17\x83\x60\xa0\xb1\x44\x4d\xb0\xc2\xbe\x10\x4f\xd6\x24\x2b\x6e\x81\xaa\x4e\x1f\xf9\x2b\xde\x73\xaf\x40\x65\x27\x73\xfa\x27\x0e\xc2\x35\x53\x86\x39\xbb\x35\x6a\x65\x95\x5b\xea\x5d\x47\x39\x8f\xfd\x80\x90\x69\x29\x49\x9a\x75\x3a\x87\x47\x28\xb3\x80\xbc\xd1\x28\x6a\x6c\x4c\xb3\xa1\xa4\x5f\x80\x46\x93\x31\x71\x38\xed\x06\xb3\xcf\x21\xd5\x5a\x5f\x31\x45\x34\x98\x32\x7f\x52\x30\xa6\xc9\x8b\x27\xe0\xca\xd1\x7c\x66\xdb\xff\xb8\xbc\xbc\xac\xad\xae\xde\xe7\xb9\xd4\x88\x2d\x8b\x1f\x33\x93\x55\x52\x42\x37\xd8\xb4\x68\xfa\xa1\xae\xee\xd5\x65\xd0\x50\xa1\x4c\xf7\xf5\xeb\x57\x13\x13\x93\x04\x61\x5d\x5d\x5d\x05\x05\xd4\x55\x23\x23\x6d\x2e\x46\x46\xb9\xa2\x99\x30\xdb\x5e\x83\xba\x36\x20\xb0\xdf\xa2\xa9\x90\x6a\x6c\x6c\x0c\x16\x1e\x85\x22\x47\x55\x5f\x7f\x63\x71\xf1\xf0\x2a\x90\x30\x82\x90\xcb\x2e\x43\xb1\x0c\x39\x00\x85\x93\x93\xb3\xa6\xa6\xa6\x6f\x3c\x12\xa0\x30\x27\x16\x89\xc6\x49\x80\x02\x47\x18\xd5\x59\xa2\xa6\xa1\xf1\xb0\x9f\xac\xd4\x5f\x86\x67\xed\xe2\xea\xba\xe5\x7b\x25\x10\x05\x0c\x49\xe9\xf1\xba\xd9\x6d\xb6\x9e\xeb\xe8\xe8\x18\x2c\x55\xad\x58\x6f\x73\xdc\x4a\xa1\x57\x4b\x10\x56\x51\x99\xe9\xf4\xbe\xf5\xca\xc3\xcf\xf6\x7f\x7d\x10\x70\xd9\x97\x96\x94\x94\x6c\x87\x5f\x5f\x59\xf9\xee\x7e\x3a\x1f\x15\x85\xe4\x66\x76\xf0\x27\xb5\x4a\xa3\x06\x4c\x3b\xe5\xbc\xfe\xf6\x7c\x1b\x1d\x15\xf5\x86\x48\x10\x3b\xbc\xbb\xbb\xbb\x33\x10\x89\x20\x14\x11\x8e\x8c\x4f\xc6\xe3\x24\xfc\xa7\x5c\x4c\xb4\x6c\x8e\x94\xdf\xeb\xba\x0f\x81\xfc\xcb\x28\x9c\x97\xa9\x33\x89\x65\xd3\x4a\xb5\x86\x6d\xfb\xc8\x21\x7e\xd9\x1c\xbd\x4c\xde\x1e\x8f\x2d\xba\x89\x5a\x85\x3a\xb0\x2d\xfd\xe7\xd2\x59\x8b\x4e\x8d\x74\xc3\xbc\x0d\xe7\x8b\xa7\x16\x06\x5c\x9f\x43\xdb\x80\xd4\xbe\x07\x68\xac\x8c\x27\x57\xb1\x9f\xaa\xc4\x5a\xe7\x14\x30\x46\x2a\x19\x12\x44\xce\xbe\x32\xfc\xdf\xb3\x0e\x83\xca\x17\x45\x89\x02\xce\xdb\xb8\x5f\xc3\x2b\x0b\xc3\x89\x38\xfd\xd6\x0b\xe3\xee\xa1\x00\x28\x96\x25\x1b\x01\xe0\xdf\xdc\x66\x39\x6a\x16\x6c\x66\xa8\x39\x88\x62\xe7\x4e\x9a\xd7\x2e\xc2\xd4\xe6\x6d\x5a\x44\x6f\x3e\x20\xfb\x7a\x2c\xf8\x3b\x93\x8e\x6d\x6b\xa9\xb2\x25\x1a\x55\xb8\xd9\x38\x12\x0d\x4c\x8c\x00\xd1\x6b\xa5\x5f\xa5\xd6\xa9\xb2\xe1\x59\xbc\xb9\x2c\x83\xb4\x13\x8d\xd5\xaa\x15\x28\x45\x62\x38\x23\xce\x2c\xe9\x72\xb3\xf4\xb3\x38\x72\x35\x1a\x75\xba\x6d\x8a\x49\xfa\x32\xc3\x17\x1e\x47\x47\x47\x81\xaf\x17\x6d\x10\xb8\x09\x8b\xdb\xaa\xba\x6e\x9f\xbd\x61\xd4\x40\x18\x8d\xaa\x54\xfe\x36\xaf\xfd\x44\xa9\xee\xa7\x5d\xe4\xbb\x94\x0b\x8f\xd7\x08\x54\x62\x1d\x1d\x1d\x07\x06\x79\x95\xf9\xde\x60\xd8\xad\x80\x57\xfb\xa2\x19\x3a\xb2\x1d\x1e\x87\x8d\x0e\xf7\x32\xc5\x5c\xf0\x52\x8f\x64\x91\xf7\x45\xcb\xd2\xee\xde\xde\x0c\x26\x38\x65\x3a\x7d\xa6\x48\xaa\x4e\xbb\x29\xc2\x5c\xbb\x41\x66\xee\xae\x37\x18\x96\xfa\x3e\x88\xdd\x64\xf0\x27\xa7\xed\xa2\xb0\x39\x6a\x22\x18\x0c\x5e\x32\x0c\xd4\x4f\x72\x90\x09\x30\x45\x25\x17\xf4\x7b\x7b\xba\x99\x1d\xf1\x70\xcd\x51\xb4\xb4\xb3\x63\x12\xe9\xbd\xf0\xc8\xff\xee\x5a\xda\xd1\xd1\xb1\x94\x7e\xbc\x04\x6b\xd3\xda\xda\x5a\xab\xf7\x1b\xfc\x27\x95\x11\xb2\xbf\xb6\xb6\xb6\xf3\x2a\x83\x11\x16\x15\x15\x55\xd7\xfd\xf2\x27\xdf\x4f\x5e\x7e\x42\xd7\xb1\x2b\x35\x37\x77\xe3\x0c\x73\x78\x68\x28\x96\x98\x5b\xb1\x42\xfd\xa1\x03\x21\xe6\xf8\xf8\xb8\xc1\x74\x24\xc2\x59\x46\x42\xdd\x53\x06\xdc\x18\x7b\x7f\xfb\x25\xe6\x50\xf6\xca\x27\xf9\x1f\x8a\xff\x03\xf6\xe2\x15\xad\xee\xf9\xc5\x45\x2c\x14\x5d\x43\x79\x9a\xb9\xfd\xb1\xe4\xc4\xc2\x55\xe4\x4b\xd0\
|
|
|
|
|
|
|
|
func _assetsTestsQrDefaultqrPngBytes() ([]byte, error) {
|
|
|
|
return bindataRead(
|
|
|
|
__assetsTestsQrDefaultqrPng,
|
|
|
|
"_assets/tests/qr/defaultQR.png",
|
|
|
|
)
|
|
|
|
}
|
|
|
|
|
|
|
|
func _assetsTestsQrDefaultqrPng() (*asset, error) {
|
|
|
|
bytes, err := _assetsTestsQrDefaultqrPngBytes()
|
|
|
|
if err != nil {
|
|
|
|
return nil, err
|
|
|
|
}
|
|
|
|
|
2023-06-01 08:11:01 +00:00
|
|
|
info := bindataFileInfo{name: "_assets/tests/qr/defaultQR.png", size: 12007, mode: os.FileMode(0644), modTime: time.Unix(1684410764, 0)}
|
2023-03-01 11:53:17 +00:00
|
|
|
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x34, 0xfd, 0xc9, 0x88, 0xce, 0xea, 0xea, 0xa5, 0x97, 0x8b, 0x82, 0x5f, 0x40, 0x68, 0x75, 0xb8, 0x8, 0x50, 0xcd, 0xea, 0x7e, 0xd8, 0xba, 0xb7, 0x30, 0xa8, 0x4, 0x64, 0xb3, 0x8f, 0x33, 0x3a}}
|
|
|
|
return a, nil
|
|
|
|
}
|
|
|
|
|
|
|
|
var __assetsTestsQrStatusPng = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x7c\xb9\x07\x50\x13\xef\xb7\xc7\xbd\x09\x2d\xf4\x22\x52\x14\x30\xd2\x6b\x42\x93\xde\xa4\x0a\x48\xaf\xd2\x23\x84\x80\xb4\xd0\x43\x0f\x4d\x50\x10\x44\x50\x90\x8e\x28\x4d\x90\x08\x8a\x74\x42\xa8\xd2\xab\x80\x48\x53\x11\x50\x7a\x0f\xf5\x1d\x7f\xf7\xff\xbb\xf7\x9d\x77\xee\x7b\x9f\x99\x9d\xd9\x3d\xfb\xfd\x9c\xe7\x3c\xe7\x3c\xb3\xbb\x67\xf6\x91\xb1\xa1\x0e\x2d\xd5\x35\x2a\x00\x00\x68\x75\xef\x68\x9a\x02\x00\x08\xf8\x7b\x40\xc8\x01\x00\xb0\xf3\x2b\x73\x05\x00\x80\x3d\x40\xcb\x3a\xc0\xcc\xc7\x35\x20\x18\xe1\x87\x04\x6e\xbb\xf8\xdc\x47\x42\x75\xbd\x10\x28\xa4\x29\x12\xe1\x12\xe2\xfb\x19\xa9\x04\x00\x24\x82\xee\xe6\xd6\x01\xd6\x06\x77\x15\x9c\x7d\xbc\x60\x88\xbf\x1a\x18\xc6\x0b\x0d\xfc\x1d\x4a\xaa\x18\x34\xc2\xd9\x03\x19\x00\xbd\x8f\x44\xb9\x7b\x2b\x73\x6f\x35\xb5\x71\x43\xdd\x5d\x94\xb9\xad\x6e\x19\x88\x1b\xa0\x35\x90\x6e\xee\x77\x42\xfd\x90\x66\xa1\x86\xe6\xce\xa1\x1e\xce\xf2\x2e\xdc\xaa\x2a\x50\x25\x8c\x02\xc6\x0b\xed\x85\x0c\x40\x40\x31\x5e\x9e\xde\xfe\x0a\x18\x65\xee\x7f\xfc\x2a\x78\xfb\x2b\xfc\x35\xc3\xb9\xa1\xff\x48\x02\x3c\x94\xb9\xff\x2b\x28\x6b\x03\x63\xa8\x86\x8f\x1f\x12\x7a\x0b\x26\x23\xe6\x2c\x21\x25\x07\x95\x95\x87\x49\xdc\x92\x97\x93\x94\x16\x85\x4a\x8a\x4b\xc8\xc0\xc5\xe5\xe1\x12\xd2\x62\xe2\x12\x0a\xe2\xf2\x0a\xe2\x12\xd0\xff\x0c\x6e\x15\xa8\x92\x9f\x8b\xab\x82\xa9\xa6\xf6\x7f\xe6\xf2\x73\x71\x55\xe6\x76\x0b\x08\x40\x2b\xc0\xe1\xc1\xc1\xc1\xb0\x60\x29\x98\x8f\x1f\x0a\x2e\x21\x2f\x2f\x0f\x17\x97\x84\x4b\x4a\x8a\xf9\xb9\xb8\x8a\xf9\x87\x78\x07\x20\x30\x62\xde\xfe\x3c\xff\x7a\xd0\x44\xfa\x3b\xfb\xb9\xa3\x03\xdc\x7d\xbc\xa1\x7f\xaf\x11\xf7\x7d\x02\x03\x94\xb9\xb9\xff\x5d\x82\x17\xda\xc0\xe0\xbf\x1d\x7b\xfb\xff\x27\x51\xce\x3e\x5e\x70\x0c\x02\x0d\x97\x80\x89\xc3\xbd\xbc\xe0\xff\xaa\xfd\x03\x4c\x91\xae\xff\xb7\xda\xdf\x3c\x04\x8d\x84\x9b\x22\xfd\x7d\x02\xfd\x9c\x91\xa6\x48\x57\x9e\xff\xd7\x54\xff\x37\xfa\x57\x88\x36\x30\x50\xd0\xf4\x71\x0e\xf4\x42\x7a\x07\xe8\x6a\x2a\x73\x63\xbc\xd0\x30\x17\x77\x17\x85\x7f\x52\x26\xab\x7e\x4b\x56\x5d\x5e\x56\x42\x42\x4b\xf6\xb6\x8c\xb8\x96\x96\xa4\xf8\x6d\x0d\x4d\x49\x4d\x59\x59\x4d\xc9\x7f\x59\x5d\x6f\xff\x00\x84\xb7\x33\xf2\x5f\xd6\xfd\x7f\x58\xe9\xff\x93\x55\xd0\xf0\x43\x22\x02\x7c\xfc\xcc\x7d\x7c\x3c\xff\xad\x9e\xb1\x9b\x4f\x80\x8f\xbf\x9b\x0f\x1a\xaa\xa1\xf1\xb7\x5a\xb2\x50\x41\x03\x84\xb3\xbb\xf7\x5f\xa3\xd0\xdf\x04\xff\x27\x5e\xa4\x9f\x7b\x10\xd2\x45\xdb\xcf\xc7\x0b\xfa\x4f\x86\x14\xdc\xff\x97\x28\xa4\xe5\xa4\x64\xc5\xd5\xe5\xa4\x64\xd5\xe5\x6f\xfd\xef\x51\xfc\x17\xeb\xf2\xbf\xac\xfe\x3f\xac\xf4\xff\x2f\x0b\x57\x81\x2a\xc1\xff\x3f\xe5\xfe\xd7\x64\xaa\xa9\xfd\xf7\xf4\xbf\x37\xaf\x0a\xf4\x7f\xb6\x3f\xd2\xdb\x45\x99\xdb\x8f\x5b\x55\x45\x43\xbf\x72\x06\x00\x6e\xf2\xea\x6a\xde\x36\xc7\x7c\x5d\xcf\x0b\x09\x7f\x3e\xf9\xb2\xa7\xe0\x9b\xa8\xec\xf5\x19\x2b\xc8\x53\x35\xc2\x0b\xe0\xf6\xab\x32\xa8\x7e\x34\xd8\xd0\x37\xd6\x32\x8e\x5e\xc1\xc6\x2b\xc1\xf0\x2d\xe7\xa7\xb5\x1b\x52\x37\x36\x06\x6e\x78\x7d\x34\xb4\x55\x94\x52\xa8\x9a\xac\xb0\xf0\xd5\xc8\xb0\xf9\xc6\x80\x1c\x17\xbc\x83\xc5\x91\xf7\xaa\xf7\xb6\x3e\x55\x3e\x72\xcd\xd9\x6b\x3e\x22\x35\x73\xe9\x6f\xd9\xba\xb8\x68\x2d\x18\xde\x6b\x90\xc0\x1e\x45\x14\xf8\xe7\x2f\x84\x0d\x85\x14\xec\xe5\x16\x7e\xfc\x53\xc7\x80\x93\x66\x24\x74\x53\xf5\x33\xbd\x80\x89\x9a\x58\x3f\x3b\xe3\x38\x93\x77\xb0\xae\xc7\x89\x23\x36\xfd\x55\xd8\xab\xc5\x87\xe5\x0b\xe6\x08\xd9\xf1\xb7\x20\x1e\x19\x32\xc7\xfe\x1f\x71\xa6\x88\x65\x42\xe3\x08\xe9\x17\x3e\x52\x18\xee\xae\xa2\x01\x83\x8c\x81\x75\x3e\xce\x57\x72\x51\x2a\xfe\x4d\x39\x2f\x37\x63\xe4\xc5\xec\x35\x04\xd2\x94\xc1\x90\x4a\x84\xa5\xce\x71\x5a\x02\xd1\xe2\xa6\x00\x01\xd8\xb8\xce\x5e\xc3\x18\x64\xf4\xc9\x95\x66\x5d\x88\x9d\x32\x3c\xee\x63\xef\x54\x56\x8e\x94\x9e\xc9\x89\x76\x61\xab\x8c\xa7\xbd\xe5\x6b\x00\x06\x00\xaa\xcb\x22\x13\x96\x38\xc8\x21\x29\xfd\x49\x52\xd4\x9a\x38\xe6\xd6\x6b\xee\x9c\x8a\xcb\xd3\xa8\xe4\xb2\xc7\xcb\xc5\xe0\xc8\x0b\x15\x8b\x08\xbf\x20\xb6\xfc\x62\xc3\x4b\x17\x8b\x42\x1d\xae\xee\x8a\x71\x07\x85\x49\x4e\xa4\x4e\xb2\xda\x54\xb6\x30\x92\xc8\x22\x9c\x5b\xfd\x4f\xd1\x90\x31\x2e\xa6\x2f\x30\xcf\x24\xe6\x58\x03\x42\xc5\x22
|
|
|
|
|
|
|
|
func _assetsTestsQrStatusPngBytes() ([]byte, error) {
|
|
|
|
return bindataRead(
|
|
|
|
__assetsTestsQrStatusPng,
|
|
|
|
"_assets/tests/qr/status.png",
|
|
|
|
)
|
|
|
|
}
|
|
|
|
|
|
|
|
func _assetsTestsQrStatusPng() (*asset, error) {
|
|
|
|
bytes, err := _assetsTestsQrStatusPngBytes()
|
|
|
|
if err != nil {
|
|
|
|
return nil, err
|
|
|
|
}
|
|
|
|
|
2023-06-01 08:11:01 +00:00
|
|
|
info := bindataFileInfo{name: "_assets/tests/qr/status.png", size: 9398, mode: os.FileMode(0644), modTime: time.Unix(1684410764, 0)}
|
2023-03-01 11:53:17 +00:00
|
|
|
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x51, 0x48, 0x2c, 0x42, 0xb2, 0x4d, 0x24, 0xbd, 0xcc, 0x98, 0x13, 0x6d, 0xbf, 0x9e, 0xb6, 0x9f, 0x26, 0x99, 0x63, 0x44, 0x60, 0x5b, 0x7, 0x42, 0x37, 0xa3, 0xff, 0x3, 0x97, 0xe, 0xeb, 0x8a}}
|
|
|
|
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) {
|
|
|
|
canonicalName := strings.Replace(name, "\\", "/", -1)
|
|
|
|
if f, ok := _bindata[canonicalName]; 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)
|
|
|
|
}
|
|
|
|
|
|
|
|
// AssetString returns the asset contents as a string (instead of a []byte).
|
|
|
|
func AssetString(name string) (string, error) {
|
|
|
|
data, err := Asset(name)
|
|
|
|
return string(data), err
|
|
|
|
}
|
|
|
|
|
|
|
|
// 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
|
|
|
|
}
|
|
|
|
|
|
|
|
// MustAssetString is like AssetString but panics when Asset would return an
|
|
|
|
// error. It simplifies safe initialization of global variables.
|
|
|
|
func MustAssetString(name string) string {
|
|
|
|
return string(MustAsset(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) {
|
|
|
|
canonicalName := strings.Replace(name, "\\", "/", -1)
|
|
|
|
if f, ok := _bindata[canonicalName]; 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)
|
|
|
|
}
|
|
|
|
|
|
|
|
// AssetDigest returns the digest of the file with the given name. It returns an
|
|
|
|
// error if the asset could not be found or the digest could not be loaded.
|
|
|
|
func AssetDigest(name string) ([sha256.Size]byte, error) {
|
|
|
|
canonicalName := strings.Replace(name, "\\", "/", -1)
|
|
|
|
if f, ok := _bindata[canonicalName]; ok {
|
|
|
|
a, err := f()
|
|
|
|
if err != nil {
|
|
|
|
return [sha256.Size]byte{}, fmt.Errorf("AssetDigest %s can't read by error: %v", name, err)
|
|
|
|
}
|
|
|
|
return a.digest, nil
|
|
|
|
}
|
|
|
|
return [sha256.Size]byte{}, fmt.Errorf("AssetDigest %s not found", name)
|
|
|
|
}
|
|
|
|
|
|
|
|
// Digests returns a map of all known files and their checksums.
|
|
|
|
func Digests() (map[string][sha256.Size]byte, error) {
|
|
|
|
mp := make(map[string][sha256.Size]byte, len(_bindata))
|
|
|
|
for name := range _bindata {
|
|
|
|
a, err := _bindata[name]()
|
|
|
|
if err != nil {
|
|
|
|
return nil, err
|
|
|
|
}
|
|
|
|
mp[name] = a.digest
|
|
|
|
}
|
|
|
|
return mp, nil
|
|
|
|
}
|
|
|
|
|
|
|
|
// 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){
|
|
|
|
"_assets/tests/qr/QRWithLogo.png": _assetsTestsQrQrwithlogoPng,
|
|
|
|
"_assets/tests/qr/defaultQR.png": _assetsTestsQrDefaultqrPng,
|
|
|
|
"_assets/tests/qr/status.png": _assetsTestsQrStatusPng,
|
|
|
|
}
|
|
|
|
|
|
|
|
// AssetDebug is true if the assets were built with the debug flag enabled.
|
|
|
|
const AssetDebug = false
|
|
|
|
|
|
|
|
// 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, and
|
|
|
|
// AssetDir("") will return []string{"data"}.
|
|
|
|
func AssetDir(name string) ([]string, error) {
|
|
|
|
node := _bintree
|
|
|
|
if len(name) != 0 {
|
|
|
|
canonicalName := strings.Replace(name, "\\", "/", -1)
|
|
|
|
pathList := strings.Split(canonicalName, "/")
|
|
|
|
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{
|
|
|
|
"_assets": {nil, map[string]*bintree{
|
|
|
|
"tests": {nil, map[string]*bintree{
|
|
|
|
"qr": {nil, map[string]*bintree{
|
|
|
|
"QRWithLogo.png": {_assetsTestsQrQrwithlogoPng, map[string]*bintree{}},
|
2023-02-07 18:22:49 +00:00
|
|
|
"defaultQR.png": {_assetsTestsQrDefaultqrPng, map[string]*bintree{}},
|
|
|
|
"status.png": {_assetsTestsQrStatusPng, map[string]*bintree{}},
|
2023-03-01 11:53:17 +00:00
|
|
|
}},
|
|
|
|
}},
|
|
|
|
}},
|
|
|
|
}}
|
|
|
|
|
|
|
|
// 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 = os.WriteFile(_filePath(dir, name), data, info.Mode())
|
|
|
|
if err != nil {
|
|
|
|
return err
|
|
|
|
}
|
|
|
|
return os.Chtimes(_filePath(dir, name), info.ModTime(), info.ModTime())
|
|
|
|
}
|
|
|
|
|
|
|
|
// RestoreAssets restores an asset under the given directory recursively.
|
|
|
|
func RestoreAssets(dir, name string) error {
|
|
|
|
children, err := AssetDir(name)
|
|
|
|
// File
|
|
|
|
if err != nil {
|
|
|
|
return RestoreAsset(dir, name)
|
|
|
|
}
|
|
|
|
// Dir
|
|
|
|
for _, child := range children {
|
|
|
|
err = RestoreAssets(dir, filepath.Join(name, child))
|
|
|
|
if err != nil {
|
|
|
|
return err
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return nil
|
|
|
|
}
|
|
|
|
|
|
|
|
func _filePath(dir, name string) string {
|
|
|
|
canonicalName := strings.Replace(name, "\\", "/", -1)
|
|
|
|
return filepath.Join(append([]string{dir}, strings.Split(canonicalName, "/")...)...)
|
|
|
|
}
|