From 3f92f03cb2f20bf1a7f8daedbbd2481c3d8d91fa Mon Sep 17 00:00:00 2001 From: Max Date: Wed, 20 Oct 2021 15:50:16 +0800 Subject: [PATCH] + 404 --- data/bindata.go | 123 ++++++++++++++++++++++++++++++--------- share/const.go | 2 +- xfs/process.go | 35 ++++++++--- xiang/data/icons/404.png | Bin 0 -> 9342 bytes 4 files changed, 125 insertions(+), 35 deletions(-) create mode 100644 xiang/data/icons/404.png diff --git a/data/bindata.go b/data/bindata.go index 004f8965..7fcff0a3 100644 --- a/data/bindata.go +++ b/data/bindata.go @@ -3,11 +3,14 @@ // .tmp/data/ui/index.html // .tmp/data/xiang/.DS_Store // .tmp/data/xiang/apis/README.md +// .tmp/data/xiang/apis/chart.http.json +// .tmp/data/xiang/apis/storage.http.json // .tmp/data/xiang/apis/table.http.json // .tmp/data/xiang/apis/user.http.json // .tmp/data/xiang/apis/xiang.http.json // .tmp/data/xiang/data/app.json // .tmp/data/xiang/data/icons/.DS_Store +// .tmp/data/xiang/data/icons/404.png // .tmp/data/xiang/data/icons/icon.icns // .tmp/data/xiang/data/icons/icon.ico // .tmp/data/xiang/data/icons/icon.png @@ -198,7 +201,7 @@ func uiIndexHtml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "ui/index.html", size: 14, mode: os.FileMode(420), modTime: time.Unix(1633995598, 0)} + info := bindataFileInfo{name: "ui/index.html", size: 14, mode: os.FileMode(420), modTime: time.Unix(1634716134, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -218,7 +221,7 @@ func xiangDs_store() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "xiang/.DS_Store", size: 6148, mode: os.FileMode(420), modTime: time.Unix(1633995598, 0)} + info := bindataFileInfo{name: "xiang/.DS_Store", size: 6148, mode: os.FileMode(420), modTime: time.Unix(1634716134, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -238,7 +241,47 @@ func xiangApisReadmeMd() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "xiang/apis/README.md", size: 13, mode: os.FileMode(420), modTime: time.Unix(1633995598, 0)} + info := bindataFileInfo{name: "xiang/apis/README.md", size: 13, mode: os.FileMode(420), modTime: time.Unix(1634716134, 0)} + a := &asset{bytes: bytes, info: info} + return a, nil +} + +var _xiangApisChartHttpJson = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xb4\x90\x3d\x4b\xfc\x40\x10\xc6\xfb\x7c\x8a\x61\xb8\x32\xff\x4d\xfe\x96\xe9\x04\x45\xec\x04\xed\x8e\x2b\x86\xdc\x92\xac\x5c\x76\xd7\xdd\x89\x78\x1c\x69\xc5\xc6\x97\xc6\xd6\x46\x6c\xc5\x2f\x75\xf9\x1c\xb2\x9b\xdc\x1d\xbe\x60\x21\xd8\xec\xc2\xf3\xfc\xe6\xe5\x99\x55\x02\x80\x9a\x1a\x89\x05\x60\xff\xf8\xd6\xdf\xbe\xae\x6f\xae\xfb\xa7\x87\xfe\xee\x65\x7d\xff\x8c\x69\xf0\x2f\xa5\xf3\xca\xe8\x80\xfc\x17\xb9\xc8\x07\x75\x2e\x7d\xe9\x94\xe5\xd1\xf9\x5a\xbc\x7f\x72\x3c\x90\x95\x33\xad\x0d\xcc\x95\x22\x5d\x65\x65\x4d\x8e\x47\xa7\x25\x37\x0f\x8e\xd2\xff\xac\x33\xa5\xf4\x7e\x30\x2c\x71\xed\xb1\x80\x69\x02\x00\xb0\x8a\xef\x28\x07\x3c\x2b\xc2\xce\xd9\x9c\x98\x22\x1f\xcd\x46\x72\x6d\x62\xb7\xa3\xc3\xb3\x9d\xbc\xe9\xbb\x99\x2f\xe2\x7c\x71\xf0\xa1\x56\x85\x0c\x53\x9c\x58\x72\xd4\x88\x78\x90\x14\xb0\xb8\x68\xa5\x5b\xe2\x6c\x8b\x99\x96\xb1\xd8\xae\x03\x80\x9e\x89\xdb\xd0\x7b\x2f\xcf\xd3\x9d\xcc\x4b\x1b\x2f\x4a\xd6\x2e\x54\x49\xe1\x46\xd9\xb9\x37\x1a\x47\xa4\x8b\x7f\x97\xfe\x98\xce\x4b\x66\xa5\xab\xdf\x06\x3c\xfd\x5c\xfe\x7d\xc6\x49\xcc\x28\xbc\x5c\xc8\x92\xff\x2e\x6a\x02\x30\x4b\xba\xe4\x3d\x00\x00\xff\xff\x27\xa4\xa3\xb6\x70\x02\x00\x00") + +func xiangApisChartHttpJsonBytes() ([]byte, error) { + return bindataRead( + _xiangApisChartHttpJson, + "xiang/apis/chart.http.json", + ) +} + +func xiangApisChartHttpJson() (*asset, error) { + bytes, err := xiangApisChartHttpJsonBytes() + if err != nil { + return nil, err + } + + info := bindataFileInfo{name: "xiang/apis/chart.http.json", size: 624, mode: os.FileMode(420), modTime: time.Unix(1634716134, 0)} + a := &asset{bytes: bytes, info: info} + return a, nil +} + +var _xiangApisStorageHttpJson = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xc4\x91\xcf\x4e\xfa\x40\x10\xc7\xef\x7d\x8a\xc9\xe6\x77\x2c\x6d\x7f\x1e\xb9\x79\x50\x62\x62\x22\x41\x38\x11\x0e\x63\x3b\x94\x62\xd9\x5d\xf7\x8f\x4a\x08\x17\x1f\x40\xaf\xde\x8d\x89\x17\x1f\x0b\x9f\xc3\xec\x52\x8a\x18\x4c\x08\xc1\x78\xd9\xa6\xf3\x99\xfd\xee\x7c\x76\x67\x01\x00\xe3\x38\x21\xd6\x04\xb6\x78\x7f\x5e\x3c\xbc\x7d\x3c\xbe\x2e\x9e\x5e\x58\xe8\xc8\x2d\x29\x5d\x08\xee\xe0\xff\x28\x89\x92\x65\x35\x23\x9d\xaa\x42\x9a\x8a\x7c\xdd\x76\xdc\x3e\x5b\xf6\xe4\x4a\x58\xe9\xe8\x7d\x81\x3c\x8f\xb5\x11\x0a\x73\xaa\x98\x45\x95\x39\x76\x45\xa8\x48\x35\xc6\x77\x66\x09\x24\x9a\x91\x66\x4d\xe8\x07\x00\x00\x33\xbf\x56\x65\xd7\x1e\x5b\x59\x0a\xcc\x7c\xaf\x07\x13\x32\x23\xe1\x93\xda\x17\x97\xdd\x75\xbd\x3e\xa0\xb1\xae\x49\x25\x52\xd2\xba\x1e\x29\x1a\xea\xa8\xf7\x2d\xaf\x70\x3e\x7d\xf6\x6f\x58\x94\x14\xb9\x85\x0d\x6a\x26\xac\x61\xcd\x7a\x26\x00\xa6\x0d\x1a\xeb\xf2\x8e\x92\x24\x5c\x97\xcd\x54\xfa\xcb\x44\x29\xcb\x22\x45\x77\x49\xf1\x58\x0b\xce\xaa\x96\xb9\xff\xce\xc3\x1f\x14\x15\x61\xe6\x4f\xde\x22\xd9\x3a\xd9\xc3\xb1\x43\x98\x9d\x6e\x04\xae\x2c\x6f\x2c\xa9\x69\xe4\x1f\x3f\x84\xd5\x2f\xf1\x54\x64\x7f\xe0\x6d\x55\x79\x30\xe5\x16\x99\x5e\xe7\x7c\x47\x61\x3f\xf7\xfe\xba\xc5\x04\x73\x8a\x25\xcf\x77\xf4\x34\xe2\x9a\xf8\x21\x4d\xbb\x9b\x81\x5b\x5c\x7f\xed\x2d\x03\x80\x41\x30\x0f\x3e\x03\x00\x00\xff\xff\xb6\x5b\xa0\x8d\x44\x04\x00\x00") + +func xiangApisStorageHttpJsonBytes() ([]byte, error) { + return bindataRead( + _xiangApisStorageHttpJson, + "xiang/apis/storage.http.json", + ) +} + +func xiangApisStorageHttpJson() (*asset, error) { + bytes, err := xiangApisStorageHttpJsonBytes() + if err != nil { + return nil, err + } + + info := bindataFileInfo{name: "xiang/apis/storage.http.json", size: 1092, mode: os.FileMode(420), modTime: time.Unix(1634716134, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -258,12 +301,12 @@ func xiangApisTableHttpJson() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "xiang/apis/table.http.json", size: 2632, mode: os.FileMode(420), modTime: time.Unix(1633995598, 0)} + info := bindataFileInfo{name: "xiang/apis/table.http.json", size: 2632, mode: os.FileMode(420), modTime: time.Unix(1634716134, 0)} a := &asset{bytes: bytes, info: info} return a, nil } -var _xiangApisUserHttpJson = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xc4\x92\xbf\x4e\xf3\x30\x14\xc5\xf7\x3c\xc5\x95\xf5\x8d\x69\x92\x8f\x31\x1b\x42\x08\x55\x42\xa2\x82\x6e\x55\x07\x93\xde\x36\xee\x9f\xd8\xd8\x0e\x10\x55\xdd\x99\x60\x61\x67\x40\x48\xec\x0c\x0c\x7d\x1e\xda\xd7\x40\x76\x4c\x42\xab\x22\xa4\x0a\xca\x92\x28\xe7\x1c\x9f\xdc\x9f\xed\xa9\x07\x40\x32\x3a\x41\x12\x03\x59\xbe\xcc\x97\xf3\x87\xe5\xfd\xf3\xe2\xe6\x75\x71\xfb\xf4\x76\xf7\x48\x7c\xe3\x5f\xa2\x54\x8c\x67\x26\xf2\x3f\x88\x82\xa8\x54\x7b\xa8\x12\xc9\x84\x76\xce\xe7\xc5\xfb\xad\x66\x99\x19\x48\x9e\x0b\xe3\x5e\x33\x9a\x0d\xc2\x5c\xa1\x74\x46\x4e\x65\xcf\x18\xe7\x48\x25\xca\xc6\xf0\x4a\x97\x86\xa0\x3a\x55\x24\x86\x8e\x07\x00\x30\xb5\x4f\x27\x9b\x78\x98\x50\xa1\x93\x94\xda\xb0\x75\x26\xa8\x53\x6e\xab\x8e\x0e\xdb\xb5\x5c\xfd\xa0\x51\x6b\x42\xf2\x04\x95\xaa\xe6\x09\xcc\x3c\xc1\xc1\x7a\x23\x33\x3c\x1d\x12\x5f\xe4\x28\x0b\xd2\xad\x74\x9e\x6b\x12\x57\x23\x01\x10\xa5\xa9\xce\x4d\xdd\x5e\x14\xf9\xb5\xac\x0b\x61\xb7\x93\x0a\x31\x66\x09\x35\x1b\x14\x0e\x15\xcf\x88\x8b\xcc\xec\x7b\xe6\x7f\x41\x38\xe6\x03\x96\x6d\xe2\x6b\x9d\x9c\x6d\x05\x78\xbc\x5a\xf8\x81\x27\x68\x31\xe6\xb4\xb7\x7b\x40\xcd\x47\xf8\xa3\x80\xed\xd5\x42\x07\xf8\xcf\x01\x06\x23\x2c\x88\x0f\xf5\xb7\xc2\x44\xa2\xde\x3d\x37\xcb\xfa\xfc\xdb\x7b\xbb\x99\xb0\xb9\xb2\xb4\x04\xfc\x9b\x73\x0b\x25\xf6\x25\xaa\x74\x4b\x10\x7b\x54\xa7\xeb\x15\xbf\x0c\xe4\x01\x74\xbd\x99\xf7\x1e\x00\x00\xff\xff\x78\xa3\x97\x3c\xec\x04\x00\x00") +var _xiangApisUserHttpJson = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xc4\x92\xbf\x4e\xeb\x30\x14\xc6\xf7\x3c\x85\x65\xdd\x31\x4d\x72\xef\x98\xed\xea\xea\x0a\x55\x42\xa2\x82\x6e\x55\x07\x93\x9e\x36\x6e\x53\xdb\xf8\x0f\x25\xaa\xba\x33\xc1\xc2\xce\x80\x90\xd8\x19\x18\xfa\x3c\xb4\xaf\x81\xec\x84\xa4\xa9\x40\x88\x0a\xca\x92\x28\xdf\x77\xce\x97\xf3\xb3\xcf\xdc\x43\x08\x33\x32\x05\x1c\x23\xbc\x7e\x5c\xae\x97\xb7\xeb\x9b\x87\xd5\xe5\xd3\xea\xea\xfe\xf9\xfa\x0e\xfb\xd6\x3f\x07\xa9\x28\x67\xb6\xe4\x77\x10\x05\x51\xa1\x0e\x40\x25\x92\x0a\x5d\x3a\x9b\xcd\x7f\x3b\xed\xa2\x66\x24\xb9\x11\xd6\xbd\xa0\x84\x8d\x42\xa3\x40\x96\x86\x21\x72\x60\x8d\x53\x20\x12\x64\x6b\x3c\xd3\x85\x21\x88\x4e\x15\x8e\x51\xcf\x43\x08\xa1\xb9\x7b\x96\xb2\x2d\x0f\x13\x22\x74\x92\x12\x57\xec\x9c\x29\xe8\x94\xbb\xa8\x83\xff\xdd\x5a\xae\x7e\xd0\xaa\x35\x21\x79\x02\x4a\x55\xf3\x04\x76\x9e\xe0\xdf\x76\x22\xb5\x3c\x3d\x1c\x9f\x19\x90\x39\xee\x57\x3a\x37\x1a\xc7\xd5\x48\x08\x61\xa5\x89\x36\x36\xee\x4f\x14\xf9\xb5\xac\x73\xe1\x8e\x93\x08\x91\xd1\x84\xd8\x03\x0a\xc7\x8a\x33\x5c\x96\x2c\xdc\x7b\xe1\xbf\x43\x98\xf1\x11\x65\x6f\xf1\x75\x8e\x4e\x76\x02\x3c\x6c\x06\xbe\xe2\x09\x92\x67\x9c\x0c\xf6\x0f\xa8\xf9\x04\xbe\x14\xb0\xdb\x0c\x2c\x01\x7f\x95\x80\xc1\x04\x72\xec\xa3\xfa\x5b\x41\x22\x41\xef\x9f\x7b\x0a\xcc\x7c\xb8\xb7\x1b\x84\xc3\x8c\xcf\x54\x50\x70\x36\x7b\x0b\xc2\xbd\x03\x50\x36\xe4\x9f\x01\xd8\xb8\xa2\x76\xa3\xf5\x87\xe6\x77\x8b\x17\x4a\x18\x4a\x50\xe9\x8e\x20\x6e\xd7\x8e\xb7\x23\xbe\x19\xc8\x43\xa8\xef\x2d\xbc\x97\x00\x00\x00\xff\xff\xda\x70\xa2\xd7\xad\x05\x00\x00") func xiangApisUserHttpJsonBytes() ([]byte, error) { return bindataRead( @@ -278,12 +321,12 @@ func xiangApisUserHttpJson() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "xiang/apis/user.http.json", size: 1260, mode: os.FileMode(420), modTime: time.Unix(1633995598, 0)} + info := bindataFileInfo{name: "xiang/apis/user.http.json", size: 1453, mode: os.FileMode(420), modTime: time.Unix(1634716134, 0)} a := &asset{bytes: bytes, info: info} return a, nil } -var _xiangApisXiangHttpJson = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xc4\x90\x3f\x4e\xc3\x30\x14\xc6\xf7\x9c\xe2\xc9\x73\xf3\x07\xc6\x6c\x0c\x80\xd8\x3a\xb0\x55\x1d\x5e\x5d\x93\xbe\x2a\xb1\x2d\xdb\x29\x45\x55\xae\x00\x47\x60\x40\x9c\x80\xb1\xe7\x81\x5e\x03\xd9\xb1\x12\x2a\xc4\x16\x89\x25\x51\x7e\xdf\xcb\x4f\xef\x7b\x87\x04\x80\x49\x6c\x04\x2b\x81\x9d\x3e\x8e\xa7\xe3\xeb\xd7\xf3\xfb\xe7\xcb\x1b\x9b\xf9\x64\x27\x8c\x25\x25\x7d\x78\x91\x15\x59\xd1\xd3\xb5\xb0\xdc\x90\x76\x31\xf9\xf9\xdb\xd5\xfc\xae\x9f\xa9\x8c\x6a\xb5\x4f\xf7\x84\xb2\x8a\xac\x45\xb3\xf6\x6c\x25\xd0\x08\x93\x6e\x1f\x5d\x1f\x68\x74\x1b\xcb\x4a\x58\x24\x00\x00\x87\xf0\x8c\xd8\x8f\xe7\x9a\xa2\x22\xe0\x46\xb8\x8d\x0a\x9e\xdb\xeb\xfb\x11\x0f\xf6\x74\x64\xda\x28\x2e\xac\x1d\xf6\xc8\xaa\x5a\xad\xb0\xce\xe6\x67\x42\xf2\x35\x16\xcb\xe1\x5b\xb5\x8e\x95\xc3\x1a\x00\xcc\x3a\x74\xad\xb7\x5c\x16\xc5\x6c\xc4\xee\x49\x87\xbb\xa1\xd6\x35\x71\xf4\xf7\xc8\xb7\x56\x49\x16\x47\xba\xf0\xee\x66\x7f\xb4\x22\x69\xb5\xe0\x6e\xd2\x62\xbf\x9c\xff\xd4\xed\x01\x77\xc4\x95\xcc\x88\xab\x49\xfb\xdd\xf4\xde\xe9\xfa\x51\x83\x95\xc8\xf7\x69\xb0\x9e\x77\x4b\x00\x96\x49\x97\x7c\x07\x00\x00\xff\xff\x8c\x10\xa9\xc3\x23\x03\x00\x00") +var _xiangApisXiangHttpJson = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xc4\x90\x31\x4e\xc3\x30\x14\x86\xf7\x9c\xe2\xc9\x73\xe3\x04\xc6\x6c\x0c\x80\xd8\x3a\xb0\x55\x1d\x1e\xae\x49\x5f\x45\x6c\xcb\x76\x4a\x51\x95\x2b\xc0\x11\x18\x10\x27\x60\xec\x79\xa0\xd7\x40\x76\xac\x84\x0a\xb1\x45\x62\x49\x94\xef\x7f\xf9\xf4\xfe\xb7\xcf\x00\x98\xc2\x46\xb2\x0a\xd8\xf1\xe3\x70\x3c\xbc\x7e\x3d\xbf\x7f\xbe\xbc\xb1\x59\x48\xb6\xd2\x3a\xd2\x2a\x84\x67\xbc\xe4\x65\x4f\x57\xd2\x09\x4b\xc6\xa7\xe4\xe7\x6f\x17\xf3\x9b\x7e\xa6\xb6\xba\x35\x21\xdd\x11\xaa\x3a\xb1\x16\xed\x2a\xb0\x3b\x89\x56\xda\x7c\xf3\xe8\xfb\xc0\xa0\x5f\x3b\x56\xc1\x22\x03\x00\xd8\xc7\x67\xc2\x61\xbc\x30\x94\x14\x11\x37\xd2\xaf\x75\xf4\x5c\x5f\xde\x8e\x78\xb0\xe7\x23\x33\x56\x0b\xe9\xdc\xb0\x07\x6f\x90\x14\x9f\x9f\xe8\x28\x94\x58\x2c\x87\x6f\xdd\x7a\x56\x0d\x4b\x00\x30\xe7\xd1\xb7\xc1\x71\x5e\x96\xb3\x11\xfb\x27\x13\xaf\x86\xc6\x3c\x90\xc0\x70\x8d\x62\xe3\xb4\x62\x69\xa4\x8b\xef\x6e\xf6\x47\x27\x52\xce\x48\xe1\x27\xac\xf5\xcb\xf8\x4f\xcd\xee\x71\x4b\x42\x2b\x4e\x42\x4f\xd8\xee\xaa\xb7\x4e\xd7\x8e\x1a\xac\x65\xb1\xcb\xa3\xf5\xb4\x59\x06\xb0\xcc\xba\xec\x3b\x00\x00\xff\xff\x2e\xd8\xf3\xf4\x1d\x03\x00\x00") func xiangApisXiangHttpJsonBytes() ([]byte, error) { return bindataRead( @@ -298,12 +341,12 @@ func xiangApisXiangHttpJson() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "xiang/apis/xiang.http.json", size: 803, mode: os.FileMode(420), modTime: time.Unix(1633995598, 0)} + info := bindataFileInfo{name: "xiang/apis/xiang.http.json", size: 797, mode: os.FileMode(420), modTime: time.Unix(1634716134, 0)} a := &asset{bytes: bytes, info: info} return a, nil } -var _xiangDataAppJson = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xaa\xe6\x52\x50\x50\xca\x4b\xcc\x4d\x55\xb2\x52\x50\x7a\xb1\x71\xe1\x93\x3d\x0b\x9e\xee\x9a\xf2\x7c\xca\x8a\xa7\x7b\xa6\x3e\x9b\xdc\xa7\xa4\x03\x92\x2f\xce\xc8\x2f\x2a\x41\x28\x80\x08\x96\xa5\x16\x15\x67\xe6\xe7\x81\x84\x0d\xf4\xcc\xf4\x4c\x21\xa2\x29\xa9\xc5\xc9\x45\x99\x05\x25\x50\x19\x4c\x13\x9f\xaf\x5b\xf8\x7c\x42\xdb\xd3\x09\x7d\x4f\xfb\x37\x40\xb4\x64\x26\xe7\xe7\x15\x2b\x59\x29\x54\xd7\x42\x2c\x2b\xc9\x2f\x4a\x4c\x07\xb9\x07\xe4\x36\xb0\x91\x69\x89\xa5\x39\x60\xfb\x73\xf2\x93\x13\x73\xc0\xba\x14\x14\x94\xf2\x8b\x11\xba\x14\x14\x94\x92\xf3\x51\xb8\xc5\xc6\x60\x1e\x97\x82\x02\xc4\xd8\x7c\x98\x9b\xaa\x6b\xb9\x6a\xb9\x00\x01\x00\x00\xff\xff\xf3\xff\xaa\x68\xf7\x00\x00\x00") +var _xiangDataAppJson = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xaa\xe6\x52\x50\x50\xca\x4b\xcc\x4d\x55\xb2\x52\x50\x7a\xb1\x71\xe1\x93\x3d\x0b\x9e\xee\x9a\xf2\x7c\xca\x8a\xa7\x7b\xa6\x3e\x9b\xdc\xa7\xa4\x03\x92\x2f\xce\xc8\x2f\x2a\x41\x28\x80\x08\x96\xa5\x16\x15\x67\xe6\xe7\x81\x84\x0d\xf4\xcc\xf4\x4c\x21\xa2\x29\xa9\xc5\xc9\x45\x99\x05\x25\x50\x19\x4c\x13\x9f\xaf\x5b\xf8\x7c\x42\xdb\xd3\x09\x7d\x4f\xfb\x37\x40\xb4\x64\x26\xe7\xe7\x15\x2b\x59\x29\x54\xd7\x42\x2c\x2b\xc9\x2f\x4a\x4c\x07\xb9\x07\xe4\x36\xb0\x91\x69\x89\xa5\x39\x60\xfb\xf3\x8b\x8b\xc1\x7a\x14\x20\x4c\x98\x1e\x05\x05\xa5\xe4\x7c\x14\x6e\xb1\x31\x98\xc7\xa5\xa0\x00\x31\x34\x1f\xe6\xa2\xea\x5a\xae\x5a\x2e\x40\x00\x00\x00\xff\xff\x40\xbb\xee\x5e\xf5\x00\x00\x00") func xiangDataAppJsonBytes() ([]byte, error) { return bindataRead( @@ -318,7 +361,7 @@ func xiangDataAppJson() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "xiang/data/app.json", size: 247, mode: os.FileMode(420), modTime: time.Unix(1633995598, 0)} + info := bindataFileInfo{name: "xiang/data/app.json", size: 245, mode: os.FileMode(420), modTime: time.Unix(1634716134, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -338,7 +381,27 @@ func xiangDataIconsDs_store() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "xiang/data/icons/.DS_Store", size: 6148, mode: os.FileMode(420), modTime: time.Unix(1633995598, 0)} + info := bindataFileInfo{name: "xiang/data/icons/.DS_Store", size: 6148, mode: os.FileMode(420), modTime: time.Unix(1634716134, 0)} + a := &asset{bytes: bytes, info: info} + return a, nil +} + +var _xiangDataIcons404Png = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\x78\xf7\x57\x53\xe9\xf7\x6e\x42\xb1\x0c\x42\x00\x07\x90\x1e\x05\x64\x18\x9a\x4a\x95\x1a\x45\x20\x82\x82\x82\x05\x88\x80\x82\x8a\xf4\xde\x5b\x1c\x47\x14\x11\x88\x28\x22\x35\x4a\x47\x08\x48\x2f\x81\x64\xd0\x00\x02\x42\x24\xa1\x84\x8e\x09\x88\x18\x92\x10\x42\x42\x20\x10\xee\xe2\xde\xcf\xba\x77\xee\x7f\xf0\x59\xeb\xeb\x0f\xe7\x87\xf3\x9c\xfd\x3e\x7b\x9f\xbd\x9e\xbd\xdf\xfd\xbe\xa9\x57\x1c\x6c\x45\x7f\x93\xfb\x0d\x00\x00\x88\x5e\x84\x5e\x70\x02\x00\x80\x88\xfd\xe7\xd0\x01\x00\x00\x00\xc7\x1a\x7e\x01\x00\x00\xc0\x70\x27\xdb\xf3\x80\xda\x61\x85\x15\x00\x00\x0c\xb8\x78\xe1\xdc\xb5\x18\x0f\xda\xac\xc8\x5a\x90\xf3\xae\xe5\x9a\x75\xd6\x8b\x4b\x97\xdf\x79\x65\x41\x8b\x6f\x15\x87\xa6\x0e\xa8\xbd\x9a\x19\x40\x5d\x79\xf9\xe2\x56\x98\xf9\xe9\xa0\x76\xe9\x17\xf6\x87\xdc\xdf\x48\x14\x1f\x7f\xf7\xe3\xfc\xd5\xf6\x8a\x63\x4b\x67\xda\xcb\x3e\x6b\x9f\x95\x0c\xbb\xb8\x6c\x89\x5c\xde\xb4\x5c\x52\xe8\xdb\xb2\x88\x37\x8f\xaf\xf3\x09\x5c\x6e\xf6\xb9\x34\x44\xf2\x47\xe1\x59\x6e\x83\x9b\xbb\xbb\x16\xf1\x8c\x66\x9f\xfc\x33\xf7\x06\x5e\x2d\x82\x21\x70\x00\x50\x40\x54\xf8\xfe\x51\xb0\x68\x4f\x81\xc3\xfe\x8b\x20\x10\xe8\x75\x5c\x1c\x0c\x81\x43\x5e\xc3\x01\xfd\x5e\xc4\xa7\x00\xa0\x80\x90\xd0\x53\x83\xff\x6d\xe9\x2a\x20\xa0\x9a\x76\x59\x45\x40\xe8\x90\xb8\x38\x78\x7c\xff\xcb\xa1\xbb\x87\x0f\x21\xb4\x0c\xd3\x0f\x89\x83\x21\x10\xb8\x8b\xa0\xd0\x21\x71\x30\x42\x0d\x0c\x69\x20\xe9\x9f\xd8\x5f\x02\xf4\x12\xfd\x45\xf6\x8b\xec\x17\xd9\x2f\xb2\x5f\x64\xff\xc5\x64\x4e\x76\x2f\xd5\x1d\x1d\xa2\xe7\x62\x97\x17\x92\xf7\xb6\xf0\xc9\x62\xfc\xd8\xf5\x7e\x75\xe2\x6a\x23\xbe\xc8\x83\x95\x37\x51\x1a\xfb\x3d\xd7\x67\x0d\xbf\xc3\xc2\x23\xa5\x61\x01\xf5\xfa\x9b\x33\xe1\xe1\x2a\xa7\x06\x45\x0e\x21\x5c\x93\x0e\x7f\x89\x03\xe0\xcd\x58\x97\x3a\xbe\xe7\xf9\x13\xca\x72\x3c\xf2\x6a\xb1\xfc\xed\x08\xe2\x65\xa3\xb2\x27\xca\x49\x6d\x12\xb8\xe9\x39\x4e\xcb\x06\x3d\x1a\x6b\x8a\x6a\x99\xf2\xf3\x45\x35\x8f\xcb\xed\xec\x1d\x92\x3f\xf8\xd0\xf5\x22\x04\xfe\xc5\xae\xd1\x5c\x24\x79\x7c\xb9\x28\x5e\xc7\x3d\x62\xc4\x7a\xc5\x74\x7e\xcb\xa1\x63\xed\xa3\x08\x2c\xe7\x29\xd6\xa9\x85\xe4\x95\xd6\x34\x64\x38\x5d\x9a\x7d\xc3\xad\x8a\xcd\x8f\x84\xbe\xb5\x01\x02\x9d\x28\x35\x95\x55\x06\x0f\x79\x0c\xac\x65\x22\x6f\x7a\xde\x41\xbd\x30\xc2\x89\x82\x3d\x13\x96\xe6\x12\xd6\xaf\x46\xac\x45\xd3\xf3\x5a\xa6\xfc\x34\x3d\x23\x97\x4e\xf8\x4d\x88\x00\x81\x84\x34\xdf\x01\xdd\xb0\x4c\x73\x0e\xf4\xa6\x47\xec\xbd\xa4\x83\xba\x0f\xda\x97\x8b\xe2\xcb\x2f\x1b\xcd\x36\x65\x63\x3a\xe8\xaa\x7c\xb2\x31\x13\x77\x94\x48\x47\x33\xe6\xd8\x57\x74\x27\xf7\xce\x8b\x68\xbf\xc2\x30\xd3\x83\x4b\xd9\xe3\xb0\xe0\x00\x83\x51\x8b\x90\x5b\xfe\x53\x09\xac\x21\xa2\x4a\xa6\x19\xc1\xae\xca\xa7\x30\x72\x7c\x41\x2e\xbb\xe4\x39\x1c\xa0\x41\x31\x7b\x7d\xd5\xc1\x62\x6b\xb1\x89\x92\x61\xda\x62\x18\xb5\x03\x09\x6a\xc4\x8e\xff\x96\x5f\x5b\xa2\x59\xdb\x76\x22\x10\xbb\xcb\x59\x19\x87\x05\xd3\xfc\x9e\xda\xec\x06\xb5\x7d\x4b\x59\x21\x79\x67\x5e\x4e\xd3\x6a\x80\x96\x44\xe9\x6e\xbe\xac\xb8\x94\x7b\x86\x3b\xc5\x28\x08\x1f\xf6\xa5\x95\xf4\xb2\x6b\xca\x72\x3c\x3a\x9a\xf9\x11\xfa\xe1\x40\xe0\xfa\x19\xf7\xe3\x37\x3d\x13\x23\xe3\xe6\x79\x73\x13\x3f\x2b\xaa\xcd\x21\x4a\x09\x6b\xdd\x4d\x78\x0b\x5e\x29\xd1\xc1\x14\x35\x86\x9f\xbd\xe1\xf3\x44\x31\x8a\xb4\xa0\x5b\xdc\xfe\x3d\xaf\x1a\xa5\x13\x3f\x8b\x3f\xdd\xa7\xf0\xf2\xe4\xe5\xbc\xd1\x9f\x3e\xe2\x60\x54\x98\x03\x29\x17\x90\x8b\xa8\x4c\x56\x37\x5b\xfb\x47\xd0\x77\xf2\x5e\x4e\xe0\xae\xe9\x5e\x9e\xe0\xe2\xa8\xb3\xa3\xe2\x4e\x48\x46\xdd\x05\x3f\x0b\x32\x1d\xa5\x37\x6c\xac\x82\x6a\x18\xf8\xd3\x20\x67\x32\x36\x30\xc7\x33\x29\xd6\xcd\x3b\xdd\xc0\x4d\xd9\x16\xde\xe4\x60\x42\x14\x13\x86\xba\x32\x86\x6d\xd3\x18\xfc\x09\x8f\x78\xda\xc6\xa0\x27\xbf\x81\x5d\xef\x77\x04\xc1\x95\x5b\xfc\x47\x10\x74\xe9\x89\x52\xdc\x03\x2a\xb2\x75\x50\x2c\x99\xfb\x49\xb9\x9c\x3d\xe1\x89\x1d\x3c\xfe\x9e\xc6\x9b\x8b\x67\x5c\xb6\xd7\x6e\xbe\xa6\x7e\x47\x17\x32\xe0\x80\x06\x68\x50\x67\xb7\x1e\x78\x72\x3f\xca\x10\x46\x6c\x95\x67\xfb\x8d\x9b\x85\x3f\xb3\xf0\x96\xc8\xa8\xe9\xc0\xd6\x0d\x76\x5d\x72\xd7\x4b\xfc\x74\x64\x05\x33\x07\x3a\x53\x65\xa0\xa9\xe8\x68\xb9\x1b\xe1\x96\xc8\x1e\x23\x36\x4f\x78\x4c\xf7\xf7\x49\x83\x0b\x3f\x60\xee\x56\x08\x94\xd6\x44\x57\x94\x24\x32\xe2\xe7\xed\x91\x5c\x9c\xba\x89\x7c\x49\x39\x20\x15\xdb\x44\xce\x4d\xd3\xc3\x9b\x35\x36\xe2\x61\xc5\x94\x43\xd8\xc2\xa8\xa9\x2a\xdc\x95\xeb\xcf\x25\x90\x06\x41\x55\xf4\x9f\xe2\x60\xf7\xfe\xe1\x36\x4f\xa0\xd3\x38\xba\x71\x24\x08\xb3\xf5\xbd\x9b\xf8\xd5\x5d\xa9\x59\xe8\xb3\xb3\xa3\xb9\x41\x5b\xfc\xb2\xad\xe5\xf6\xd5\x1c\xe5\x56\x97\xf9\x27\x0a\x61\xd0\x6d\xb2\x0c\xd6\x25\xa0\x33\x54\x34\x62\x7b\xa5\xa2\xc2\x31\x79\x9b\x58\x28\xa6\x0b\x31\x59\x4a\xbc\xba\xbc\xef\x5b\xbd\xc4\x9c\x43\xf2\xf6\xdd\x5a\xca\x71\x8c\x9e\x4f\x8c\x56\xdf\x75\xa4\x35\xa5\x00\x52\xd7\x9e\x2e\xff\xd9\xd1\xd6\x4b\xd4\x98\x13\x2a\xec\xd3\x33\xb4\x55\x8a\x5d\x34\xb6\xff\x11\xb1\x2a\x1f\xd4\x76\xe7\x83\x0d\xda\x42\x08\x3a\xf1\x91\xc8\xd1\x85\x0c\xc4\xb5\x5a\x4c\x25\xf3\x59\xc8\xa6\xfe\x93\xf9\xa5\x2c\xbc\x25\x96\x8d\xa9\x60\x7c\x48\x01\x4c\xde\x79\xa2\x78\x00\xb4\xdc\xa5\x90\xd9\x88\xb7\x88\x5f\xcb\x19\x1b\xa4\x71\x79\xf3\x7b\x16\x6d\x9a\x6b\x18\x1e\x9d\xba\x53\x72\x18\x31\x9c\x5a\x21\x0b\x81\xbf\x62\x07\x25\x36\x7d\x02\x59\x9a\xd1\xd0\x0c\x0c\x6a\xd3\xb4\x44\xac\x4f\x11\x5c\xff\x64\xcc\x46\x3e\xf0\xda\x62\x63\x86\x37\x82\xe4\x48\xdd\xc4\xee\x25\xc6\x51\x61\xf3\x26\x19\xdf\x4c\x65\x59\xf3\x7b\xfc\xe8\xa9\xdb\x8f\x44\x09\x8e\x49\xeb\x2f\x1d\xb6\x91\x18\x67\xa0\xd3\xdf\x5b\xd8\x47\x87\x10\x0d\x73\xa8\x8c\xa8\x7e\xb5\x9c\xd2\xc8\x71\xd7\x8a\x31\x0b\x9f\xf1\x49\x63\x41\x55\x4e\x93\x9b\x57\xaa\x9a\x49\x3b\xbb\xf1\xd8\x82\xb8\x60\xcf\x27\x24\x93\x3d\xa3\x10\xfe\xe5\x34\x6e\x92\x8d\x0c\xfb\x7a\xee\x60\xd9\x23\x90\x45\x9b\xcb\x3b\x81\xd2\x63\xec\xdb\xe0\xfd\x9c\x36\x8f\xd0\xdb\x97\x8b\xba\x5f\x8b\xaa\x29\x17\xc8\xdf\x84\xe3\x26\x22\xa8\xb5\x68\xfa\x6d\x1e\xdb\xf5\x5b\x4c\xfb\xad\x6b\x99\xf9\x0a\xe4\xba\xcc\xac\x27\x00\x8d\x2a\x6d\xc8\x80\x5f\xab\xbe\xdb\x2d\x68\xc6\xe6\x15\xdc\xe3\xfe\xac\xbe\x36\x01\xd5\x22\xff\xd4\x65\xd8\xfd\x32\x95\xb9\x9b\x84\xe5\xc0\x6f\x8c\x36\x4a\x46\xb7\x35\x2b\x0b\xbb\x80\xdb\x16\x07\xdf\xdb\xd3\x64\xca\x40\x5d\x19\x37\x6c\xa6\xa3\xa6\x03\x9d\x03\x66\xaf\x6e\x1f\xb3\x85\xcf\xc4\x50\xd2\x57\xcc\x19\xb1\x8e\x2b\x99\x26\x1c\xa6\x97\xfa\x3c\x2c\xa8\x5d\x6d\xc8\x94\xd1\xe9\x5d\x57\xe6\x0b\x74\x34\x63\x5e\x70\x0b\xed\x91\xea\x6b\xc8\x2d\x03\xf8\x9a\xc0\x4a\x0a\x75\x21\x36\x2c\xcd\x39\x93\xb9\xc0\xfa\xd9\xa8\x69\x29\x65\xa3\x03\x0a\xb6\xf0\x9a\xf6\xef\x79\x2b\x0d\x83\x3a\xf2\x83\xcb\x8a\x9b\x6f\x3d\xb7\x09\x39\x84\x24\x1e\xcd\x88\x7e\x46\x2e\x5d\x19\x36\x88\x23\xb2\xeb\x51\xdb\xc6\x62\x40\xa7\x1b\xee\xf0\x57\x6c\x25\xdf\x26\x6a\x2d\x3a\xa8\xc6\xd3\xff\x95\x18\x62\x7e\x97\x1e\xed\xfb\x58\xea\xc6\xb1\xfe\x1a\x7c\x3a\xa5\xb6\x86\x74\xa7\xcd\x91\xe1\x99\xa9\x4e\xdd\xef\x95\xf5\xf5\x22\x88\x86\x8d\x7d\x9d\x70\x1e\x30\x87\xe9\x31\x84\xce\x15\x34\xba\xf1\x60\xc1\xb9\x4f\x04\xa0\xe4\x74\x03\x8e\xa3\xd5\xb8\x2e\x81\xef\x4c\xa0\x87\x23\xa9\xc2\xe7\x3a\x9f\x2c\xed\x32\x92\xf7\x5c\xfc\xa5\xc0\xf7\xb6\xf6\x0b\xac\x66\x84\xec\xb1\xdd\xe6\x1e\x3d\xe3\xb9\xf4\xea\x08\x02\x4d\xef\x18\xcc\x5f\x72\xb2\xab\xdf\xe5\x29\xef\x71\xfb\x7e\x06\x53\xd3\xa7\x6b\x72\x60\x41\xed\xf5\xfc\xbf\x8e\xee\x85\x1e\x46\xd4\x28\x9f\x9e\x4c\x17\x82\x1a\xba\xb7\xa7\xc4\x33\xba\xa2\x4d\xc8\x4f\x55\x06\x44\xb9\x92\x2a\xd9\x47\x10\xee\x51\x93\x6a\x85\x21\x1f\x0f\x7b\xef\x7d\x31\xf8\x3d\x84\xde\xbe\x2c\x16\x25\x5f\xc9\x8e\xe1\x4c\xfa\x1c\x64\x70\xda\x7e\xbe\xaf\xee\xf5\x28\x06\x68\x98\x0a\xef\x87\x4a\x19\xc1\xec\xed\x32\x6e\xb2\x94\xd6\x9d\x80\x92\x9e\x44\xed\x0f\xff\x08\xa4\xa3\x3c\x6a\x45\xc9\x3a\x4d\x6d\x4a\xd7\xa8\xf5\xd4\x5a\x74\x39\x25\xd3\x12\xf3\x6c\x5d\x08\x3a\xe9\x2b\x0e\xbe\xd7\x25\x9f\xbe\x5f\xb2\x65\x6a\x39\xb7\x1a\xae\xe6\xeb\x38\xea\x48\x81\x99\x60\xf7\x4e\x55\xbf\x82\xbe\xf8\x79\xde\x5c\xd3\x8f\xe2\xb4\xf2\xe4\x5d\xaa\xe7\x0a\x28\x99\x6b\xb5\x2c\x7f\xdd\x61\xc3\x95\x42\x1d\x8c\xc9\xb4\x09\xb4\x0d\xa8\xc0\xb2\xc7\x61\x37\x9d\x5f\x03\x34\x4c\xa5\x04\x4a\x6b\x36\xbf\x96\x98\xf3\xb9\x14\x8d\xa4\xa7\xb3\x49\x3c\x9a\x55\xeb\xca\x36\x4e\x12\x28\xd9\xfa\x70\xbf\xe5\x2a\x4c\x47\xaf\xd4\xa3\xb6\x33\x4c\xe9\xc6\x95\xdf\x1e\xf7\xd5\x25\xef\x52\xcf\x55\xa6\xfb\xcb\x2c\xec\xeb\x78\x05\x3d\xbf\x1b\x34\xe1\x3c\x53\xb9\x47\x6a\xf5\xcf\xbd\xf7\xda\x77\xb4\x9c\xfa\x52\xf8\xff\x56\x19\xc8\xc0\x6d\x47\x7c\x36\x81\x35\xe4\x9c\xb0\xe9\x4e\xbc\x7a\x02\xd2\xcb\xbe\x39\xb1\xbf\x5b\x25\x6d\x13\x91\x62\x3a\x42\xd8\x51\x09\xd8\x7b\xdc\x51\x66\x9f\x52\x7c\x00\xd3\x37\x15\x16\xe7\x3d\xcd\x9f\xf4\x41\x76\x71\x49\x7a\x72\x21\xeb\x8b\xfd\x8f\x60\x35\xe8\xa4\xc7\x10\x22\x48\x13\x92\xf7\x2c\x3d\x0a\x03\x90\x1d\xaa\x7b\x39\x6e\xab\x18\x79\xed\xd9\xa6\xd5\x68\xd4\xab\x43\x88\xb6\x40\x83\x96\x00\xdd\x58\x1c\x68\x99\x9b\xe7\xf7\xed\xb1\x8c\x92\x1f\x29\x74\x76\x54\xdc\x00\x43\x75\x67\xc8\xbd\xef\xd5\x71\x7c\x76\xf3\x70\x70\x27\xb3\xf7\x3a\xe6\xab\x3d\x3c\xe2\x2c\x4b\x97\x0e\x83\xbf\x62\x17\x85\x34\x71\x6b\x4d\x8b\x30\xb5\xcc\x3f\x24\xc0\xf9\x81\x2d\xae\x4c\x6c\xa7\x4e\xc7\x8f\xe2\x6e\xfb\xf7\x29\xe6\xe4\xc8\x8e\x7a\x7f\x3a\x7b\xc2\xd3\x32\xe0\xe5\x8d\xe1\xea\x25\x76\xeb\x7e\x5f\x35\x59\x80\x0b\xba\x6d\x5d\x0a\x8c\x3e\x01\x99\x92\x2e\x8c\x4d\xde\xcf\xda\x25\x5b\xde\xa0\x27\xff\x0c\x57\xb4\x71\xe3\x40\xc4\x27\xc9\x08\x45\x30\x33\x9f\x46\xf5\xd8\xec\x28\x46\xee\x35\x22\x77\x03\xb6\xc7\x5b\x31\x06\x5a\xdd\xc9\xf8\x34\x1f\x3d\xaf\xf8\xad\x2c\xdb\x9d\xf1\xbd\x47\xca\x3b\x6f\x17\x11\xba\x72\x9a\x73\x54\xe6\x8b\xcc\x84\xbb\x35\x06\x5f\x02\x42\x80\x4e\x51\x7e\x42\x50\x57\x46\x8e\x02\x6d\xa5\x02\xa9\x64\xd6\x03\xdb\x6e\x9d\x3a\xa9\x8c\xa5\x02\x64\xfb\x7a\x53\x4b\x76\xfe\x49\x45\x0d\xd8\x63\x72\xcc\x31\x7e\xf1\x1b\x23\xb6\x7d\x9c\x2b\x77\xcc\x66\x64\x27\x9e\xfa\xed\x0a\xab\x8f\xaf\xff\xc1\x9a\x5c\xc4\x0a\x2f\xf3\x91\x70\x40\xd5\x5d\xb5\x8d\x6f\xd7\x51\xee\x07\x3f\x4f\x60\x38\xcd\x4d\x3c\x3a\x5a\x26\xff\x45\x0c\xd2\x6e\xe7\x9f\x7e\xf3\x61\x53\x46\x27\x19\xc4\xed\xd1\x3d\x46\x21\x29\x6b\x79\x1c\xff\xb0\x3e\xa0\x09\x9a\x7b\xe3\xc2\x3a\x0e\x19\x18\xce\x00\x68\x50\xcd\x3f\x8d\x38\x98\xd2\x9a\x36\x72\xf1\x09\xe5\x7f\xd9\xdd\xf7\x38\x3f\x01\x5c\x1f\xc9\x4c\xd2\x77\x4f\x60\xf6\xf4\x28\xd8\x74\x95\x8b\xe3\x9f\xe2\x04\x33\xd5\x92\x55\x32\xe5\xb5\x4e\x5e\xce\xbb\xf6\xe5\xc1\x4f\x48\xbd\x85\x77\xe1\x78\xd2\x21\x44\x83\x9e\x2a\x64\x20\x0e\xfb\xa0\xc9\x82\x66\x3c\x1d\x09\xc7\xa1\x75\xed\xf8\xa7\x92\x7e\xbc\x7b\xe2\x34\x83\x31\x1d\x90\x30\xc5\xdb\x88\x67\x9b\x58\xf0\x99\x99\x15\xa4\xc2\xb7\x8b\xa1\xeb\xfd\xea\xa0\xa2\xf4\x95\x4f\xfb\xbe\xb3\xf6\x7d\x0f\x3d\xc8\x34\x5b\xff\xbc\x60\xba\xc4\xa3\xa3\x83\x9f\x5f\x3f\x62\x19\x91\x03\x94\xc4\x0e\xe5\xcc\xb4\x24\x7c\x12\x35\xba\x24\x73\x2b\xa4\x7b\x4d\x99\xaf\x36\xdc\xc9\x99\xf2\x3f\xe8\x49\x7b\x65\x42\xa6\xd7\x69\xd6\x75\x36\x8c\x86\xac\xfc\xac\xae\x53\x9a\x09\x1d\xcf\xb1\x82\xbf\x2a\xd4\x00\x3a\x8d\xf3\xb0\x25\x3d\x62\x68\x66\xf6\x10\x3e\x89\xd3\x78\xfa\xfa\xd7\x04\x92\x8e\xa0\x6a\x54\xb8\x7b\x48\xb7\x70\xbe\x4c\xf6\xe4\x89\x96\x05\x52\xd8\xa0\xb6\x1e\x6c\xaf\xce\x75\x45\x7d\xd9\x3b\x7a\xae\xed\x8d\x3b\x39\x66\xe1\xe1\x41\x42\xc3\xa0\x8e\x69\x8b\x3b\x30\xcc\xa2\x04\xd0\x7f\x75\x30\x58\x05\xb2\x4e\xb3\xf1\x93\xdd\x1c\xe9\xdb\xdd\x48\x34\xe9\x38\x82\x88\x81\xea\xe8\xf8\xe5\x98\x90\x5b\xb9\x2d\x49\x8d\x1e\x91\x63\xd7\xd3\x68\x17\xe4\xa3\xbd\x7a\x0c\x8d\xdc\x95\x99\x35\x83\x53\xfe\x75\xe6\x2d\x28\x58\x98\x25\x12\xd0\x9f\x3d\xe8\xaf\x0e\x59\x9f\xb1\xf1\x8b\xfc\xf6\x58\xa6\x3c\xdd\x70\xea\x41\xa9\x45\xef\x48\xdb\x20\x60\x6b\xac\x2e\x29\xdb\x82\xdb\x0d\x92\xe6\xb9\x44\xcf\x84\xda\xfa\x33\xe4\x53\x03\x7d\x86\xcf\x2e\x17\x78\x35\x5b\xb2\xbe\xe8\xf9\x0e\x9f\x5d\x5e\x8d\xe8\x24\x35\x2c\xfd\x28\xc9\xa4\x47\x3c\xd7\x31\x91\x01\xbb\x57\x62\x22\x90\xfb\x82\x5b\x58\x82\xd4\x5f\xf4\xea\x4f\xeb\x09\x4c\xc4\xe9\x08\xaa\x2a\x21\xd2\x44\x70\x65\x19\xc9\x3b\x14\x65\x0d\x9d\xa9\xd6\xd0\xd5\xfa\x3e\x25\xeb\xcd\xbe\x67\x75\xaf\xcb\xe7\x57\xeb\xd3\xf1\xa7\x9b\x33\x63\x44\xee\x76\x8a\x36\x64\x3e\x01\x68\x98\xfa\x0b\x94\xbe\xdd\x3c\xea\x68\xf6\xe2\xc6\xad\xd0\x9e\x08\x2a\xaa\x55\x5a\xa1\xb9\xeb\xdd\xfe\x6f\xc9\x75\x2e\x56\xc3\x28\x53\xd6\xb0\xbe\x9b\xd8\xed\xb1\xa6\x09\x8f\xf8\xe6\xb1\xd9\xbf\x77\x67\x12\x58\x43\xbe\x55\x65\xaf\xf3\xd6\x3a\x0b\x8e\x16\x33\x62\x22\xc3\x3c\x41\x40\xa7\xa8\xef\x42\xd0\xe3\x0c\xee\xc3\xe6\xb1\x1b\xb0\xb2\xc6\x61\x93\xea\xaf\x4f\x69\x20\xe2\x3d\xb8\x42\x14\xe9\x8e\x2f\x76\x97\xe3\x8f\xfd\x21\xbb\x41\xe2\x3c\xfe\x41\x60\xe0\x9e\xa2\x96\x6e\xc2\x02\x9b\xc7\x51\x5e\xad\xf3\x4b\x39\x9e\x98\x0e\xc5\xa8\xfc\x84\x2b\x40\xc2\x05\xff\x8d\x70\xe1\xcf\x3f\x52\xac\xd8\x21\x33\xa1\x7d\x65\xb3\x51\xd3\x81\x95\xe1\xfe\xe6\x55\x83\x00\x8d\x2d\x83\x2b\xb7\xfc\xdb\x77\xd6\x07\x61\xde\xfc\x2d\x7c\x72\x91\xc5\xc6\x3b\x50\xf3\xf8\xfc\x05\xc5\xc2\x64\xfe\x16\xca\xd3\x2a\x0d\xf5\x93\xd2\xdc\x3e\x12\x8d\xdc\x0f\x85\x23\x04\x05\x32\x08\x32\x4f\xd1\xdb\x50\xf7\x03\x9f\x5b\xa6\x83\xf2\x1d\xcc\xd9\xa3\xb5\x76\xc8\xf2\xf9\x16\xe5\x5e\xf4\x62\x96\x3d\xc1\x84\x5a\xe3\x5c\xca\x39\xa6\x6a\xa8\x7f\x2b\x7a\x36\x12\xa6\xc8\xd0\xf4\xdc\xb2\x9b\xf2\x41\x26\xba\xd1\xc2\x15\x0a\x0f\x23\x1a\x7e\x0a\x94\x7a\x33\xb0\x7c\x76\x9d\xc6\x9c\xaf\x22\x63\x8b\xce\x1b\xb9\x07\xc7\x29\xb9\xd4\xcb\xdc\x48\xf5\x4e\x37\x18\x87\x62\xb9\x3d\xba\x6e\xf2\x7f\x6e\xbb\xf9\xa3\x9a\xdd\xa8\xc1\xc5\x19\x5e\xa0\xda\xcc\xc4\x55\xef\xa3\x85\x86\x1b\x58\x5d\x45\xb8\x95\xcc\xeb\xd0\x62\x40\x3f\x44\xfe\x5d\x2a\x40\x16\x18\x5c\x5c\x1e\x8a\xbe\xd7\x39\x4d\x79\x5f\x5d\x9b\xf7\x63\xd4\x63\x87\xa7\x23\xb8\x38\xe8\xc9\x0f\x9b\x4a\xde\xdb\x4d\x33\xd6\xc2\x70\xc9\x8f\xd0\xdf\xa6\x4c\xc8\xd7\x1b\x43\x13\xab\x47\x25\x92\x47\x7a\x87\x87\x02\x15\x36\x67\xc2\xf1\x0b\x5b\xf9\x92\xd1\xc2\x3a\x4d\x5f\xcf\x17\x32\x3a\xc0\x90\x29\x17\xa9\x4f\x9b\xc7\x21\x29\xad\x7e\x09\xdf\x75\xd0\xab\x59\x0e\xc6\xdf\xfe\xee\xa5\x85\xc9\xe1\x92\x2e\xd5\x37\xc7\xe4\x38\xb6\x44\xcb\x82\xe7\x77\xbe\x1b\x11\x39\xd3\xc1\x48\xd6\x48\xe3\x54\x53\xac\xcc\x0d\x33\x5d\x09\xfc\xe5\x57\x26\x53\x71\x7a\x77\x02\x94\x8f\x82\xce\xcd\x85\x7c\x12\xb5\xb6\xcb\x2c\xfc\x9b\x22\xcd\xd1\x01\x01\x09\x65\xf4\x34\x9e\x34\x58\x31\x16\x19\xda\x2b\xbb\xe2\x8c\xdc\xbe\x66\xdb\xe5\x38\x4d\x93\x86\x05\xbc\x18\xb6\xe0\xad\x76\x6f\x92\x13\x45\x11\x24\x70\x08\xf1\xb2\x91\x36\x59\xea\x11\x2e\x78\x86\xf5\x45\xcf\x51\x93\x92\x9d\xf4\x43\x07\x23\x9d\xc8\xca\x9f\x37\x0b\xa3\xa9\xd5\x99\xf6\x54\x3f\xa3\x18\xd2\x26\xef\xe7\x07\x2e\x76\xf8\x8c\x3f\x04\xac\xbc\xda\xb4\x2e\x14\x41\x88\x75\xda\x63\x8e\x69\x60\x32\xb6\x68\xc1\xc9\xf9\x5e\x69\x69\x16\x07\xa1\x33\x52\x52\x13\x27\xed\x14\xa3\xe7\x62\x7d\xdc\x22\x46\xac\x61\xb2\x3a\x9c\xd1\x3f\x63\xe3\xa3\x76\x96\x4e\x4d\xdc\x0a\x4f\xbf\xc6\xd3\xa8\x28\xc8\x22\x07\x3e\x57\xcb\x40\xb5\xce\x99\x14\x26\x6d\xaf\x3c\x7a\x27\x04\x3d\xcc\x0c\xf3\x3e\x84\x78\x8d\xa2\xa4\x87\x32\x7d\xb6\x67\xa3\xe7\x67\xc3\xf0\x7a\x74\xfa\x63\x50\x36\xfb\x2c\x84\x6c\x6d\x3d\xa8\xd5\x78\x49\xa2\xf1\x98\x6a\xad\xfd\xfe\xa8\x8c\x7a\x2e\x33\xa1\x52\xdb\x46\x7e\x76\x63\x5b\xae\xfc\xe5\x55\x6c\x12\x9a\xde\x41\x25\xd8\x69\xa2\xf4\xbf\x5c\x51\x41\x1e\xc5\x2e\xe0\x34\x45\xca\xf9\xcd\xea\x10\x9b\x93\xa8\xf7\x82\x40\x02\x39\x02\x67\xda\xe5\x9d\xbf\xe6\xa4\x6b\x9d\x97\x64\x3b\x69\x71\x10\x9a\xa0\x7d\x54\xc6\xd5\x5e\xb1\xde\xdd\x76\xf5\xce\x58\xaf\x84\x6e\xf6\x9f\x91\x39\xb3\x95\xa0\x73\x36\x85\xcc\xd2\xd8\xaa\xb8\x60\x34\xad\xc5\x77\x4e\x51\x17\x32\xe5\x12\xca\xde\x38\x0e\x71\x2b\x48\xb3\x12\x3b\xab\xaa\x18\xb3\xf0\x50\x9b\xc3\x25\xb8\xf7\x68\x86\x38\x9a\xac\x94\xfa\x3a\xfc\x08\x87\xe3\x34\x9d\x3d\x77\x7f\xde\x94\xa9\x4f\x3b\x47\x8e\xb3\x97\x97\x07\xbf\x4e\x3a\xee\xb2\xb3\x14\x32\x64\x30\x71\xf7\x6c\x8f\xa6\x10\x39\x36\x7b\x50\x07\xad\x55\x9d\x48\xb4\xd1\xfb\xcd\x17\x48\xb8\x56\x4f\x67\x09\x43\xed\x59\x47\x93\x23\x71\x3c\x73\x3b\x05\xe6\xad\x8b\x09\xc2\x7a\xbb\x9b\x0b\x89\x62\x88\x10\xea\xf6\x93\xc1\x8d\x70\x56\x2b\x76\x57\xbb\xeb\x9b\x68\xf0\x31\xdf\x01\x3b\x0b\xac\xe4\xe3\x8c\xf5\x13\x35\x31\x57\x4e\x29\x1d\xd3\x0a\xc5\xe5\xcb\x65\x5a\xf2\xb9\x32\xa2\x63\x6c\x05\xf4\x53\x0f\xaf\xa8\x3d\xa3\x14\x80\x6f\xb7\xa9\xce\xe7\x5e\x10\x5b\x72\x93\xd0\xd7\xb3\xce\xcd\xbc\xfb\xc2\x5a\x3a\xf6\xea\x52\x22\x08\x51\x4b\x45\x2a\x69\xf1\xff\x4a\xc3\x2e\x86\x65\xc6\x0c\xfb\x60\xb6\xbe\x6b\x9e\x61\x38\xfb\x9b\xed\xac\x7d\x22\xce\xc5\x33\x66\xdb\x16\x63\xb8\xa7\x5a\xfe\xd4\x08\xc5\x19\xfc\xd3\x76\x72\xe3\xfd\xcd\x2e\x3b\xf8\x2b\x80\x32\xe5\x98\xc0\xdd\x0b\x3b\xea\xc8\x84\xb0\x90\xd3\x86\x3a\x02\x39\xc6\xfb\x9b\x65\xd3\x5c\x1c\x75\x28\xa4\xb2\x36\x19\x10\xbd\xa5\x00\x4d\x78\x4b\x40\x4f\xd9\xfc\xe8\xbb\x79\xa5\xdd\xb6\x53\x32\x9a\x92\x6e\x34\x1c\x58\x34\xa6\x83\xc1\xf8\xc5\x01\xcd\x6a\xad\xb4\xda\x17\xb3\x5c\x29\x06\x81\xbf\x63\x17\x70\xe9\x8a\xc1\xb1\x83\xb0\xfb\xa4\x51\x4f\xf0\x65\x6b\xaa\x85\x27\xfc\xb9\xb1\x25\xb3\xc6\xd6\x8c\x75\x95\x4c\x8a\x9e\x4f\x74\x36\xab\xdf\x75\xb2\x9d\x17\x5c\x34\xc2\x6e\x0d\xdd\x46\xf3\xb2\xfa\xfe\x00\x2d\xf5\xd8\x77\x93\x97\x6e\xab\x65\x96\xeb\xbe\x7c\xd6\x2a\xd3\xeb\x29\xd4\x3a\x9f\x14\xff\xe2\x8c\xfa\x54\x85\x3d\xfc\xf7\xdc\x14\xaf\x47\x87\x10\x12\x95\x14\xa3\x75\x7c\x32\x9f\xa5\xb2\x71\x2a\x81\x48\x3a\xc7\x21\xd8\xeb\x5e\x0e\xff\x72\xba\x6f\xd0\x10\x42\x3e\xb1\x5f\xf7\x03\xdf\xae\xba\x19\x87\xa3\x69\x2d\xf6\xcc\xdf\x13\x88\x2a\x2d\xe7\x5d\xbd\x52\xd5\xf2\x0c\xe5\x57\x76\xb8\x83\x7a\x7c\x01\x45\xce\xd3\xe9\x44\x8a\x43\x63\x38\xde\x3c\x9a\x74\x52\xa5\x50\xc6\x08\xa1\x10\xf1\xf5\x9c\x1e\xcd\x0a\xfe\xfc\xc2\x2d\x77\x6f\x60\xd6\x59\xb5\x50\x09\xd3\x96\x87\x7f\x84\x7e\xb1\xdc\xdb\x79\x44\x55\x3a\xda\xf5\xb8\x96\x91\xfc\xf0\xef\x25\xe3\xa4\x6a\xe4\xe4\xc4\x5f\x7a\x79\xf3\x3e\xc8\xc4\xa8\x53\x9b\xf5\x06\xb6\xfd\x14\x92\x77\x66\xe0\x86\x1d\x3c\x0b\x56\x83\x8b\xe2\x58\xf2\x99\x99\x3e\xdb\x22\x0e\x2e\x87\x11\x59\x9a\xe5\xbc\x7a\x21\x68\x0a\x73\x77\x73\x1e\xf9\x1a\x16\xd4\xee\xb5\x49\x00\xf1\x04\xde\xe5\x58\xc1\x71\x45\x1e\xa1\x07\x1d\xfb\x55\x30\xad\x99\xb3\x82\x29\x89\x67\x12\x09\xa5\x17\x57\xde\x78\x67\x68\xb8\x92\x6f\xd7\x90\x1a\xff\x1c\x9f\x3d\x65\x3b\xf3\x5e\x5e\x3e\xf6\xb5\x31\x59\xa6\x80\xfb\xe7\x29\x7e\x74\xb1\x15\xfc\x92\xea\x68\x5d\xb2\x2e\x44\x6e\x78\x22\x1c\x6f\x6e\xc4\x05\x35\x8e\xbe\xec\x0b\xbd\x13\x4b\x4a\xdf\xf6\x10\x03\x3a\x6d\xa7\x6e\x54\x11\x95\x8f\x4b\x7a\x4a\x0c\xaf\xca\x5d\x4a\xe8\x91\xfe\x26\xcd\x33\xc9\xb6\x28\xc6\xf4\xbf\x54\xaf\xb8\xd9\x49\x96\x3a\x2a\x96\xc8\xe8\xda\x14\xf3\x88\x85\x91\x6b\xff\xf9\xa3\xbc\xdf\x79\x57\xe0\xee\xc7\x15\xea\xd8\x61\x81\xd2\x6f\x11\xd9\x49\xe1\x1e\x33\x2b\x7a\xbc\xd5\x46\xd0\xf5\xa5\x29\xff\xba\xc2\xda\x2e\xce\xd4\xbb\xe1\xa1\xb3\x1a\x18\x49\xdf\x86\x64\xa7\x9d\x0f\xf9\xf1\xf4\x76\x79\x51\xa9\xe0\xde\x78\x9a\xbf\x27\x6c\xf5\xc9\xfc\x46\x4f\x0f\x4c\xc5\x5b\x66\x49\x66\xee\xa4\xe2\x84\x24\x99\x9a\xbb\x7f\x54\xe1\x4e\xdc\x70\xa6\xca\x73\xba\xfb\x2a\x90\x49\x71\x1f\xc6\xe2\xab\xea\x26\x3e\xaa\x16\x3d\x96\xe5\xbc\x89\x9e\x8b\x7d\x62\x6e\x40\xed\x6c\xb3\x47\xf5\xf3\xc8\xcb\x05\xe1\xc3\xb2\x73\x41\x05\x06\x5c\x2d\x12\x14\xae\x5f\xb0\xc1\x05\xbd\x1d\x0d\x8e\x12\xb5\xaf\xa6\x6f\xb4\xf1\xd4\xe9\x35\x7e\x71\xb8\x70\x31\x5b\x85\xd0\x0b\xc4\xfb\xa8\x22\x65\x58\x8a\x19\x13\x77\x74\x85\x16\x9c\xcc\x5b\x90\xa6\x85\xe2\xb7\x3e\x4c\xf8\x92\xa5\xa7\x48\xef\x71\xa7\x0b\x20\x35\xcd\x31\x2d\xbd\x2f\xd4\xc1\x10\xb9\x8e\xc3\x88\x6f\xdd\x61\x82\xa5\x1b\x18\x97\x4f\xc9\xc5\xcc\x02\x59\x7c\x08\xce\x20\xe5\x0e\x5f\x52\x0a\x3c\xf4\x1d\x0a\xd7\x67\xe5\xf1\x03\x80\x84\xaf\x8e\xf0\x23\xa0\xd7\xf2\xe0\xd3\xe7\xfb\xa3\xaf\x1f\xd9\x4b\xed\x0d\xbf\x6f\xe6\xa3\xbf\x2a\x0f\x12\x86\x36\x9e\x95\x04\x0f\x75\x0a\x7d\x7e\xe0\x71\x11\x7e\x04\x64\x6c\x07\x9f\x89\xa3\xa2\xd2\x31\x83\x4a\x98\xf7\x49\x85\xb2\xd1\x86\x3d\xd6\x4c\x6e\x6d\xd2\x1b\x2b\xf8\x91\x92\x0d\x6c\xb8\x10\x54\x4f\x17\x78\x26\x2f\x07\xe0\xbb\x60\x64\x07\xc7\x9d\xa2\xc4\x9c\x2c\xed\xee\xd3\x0c\xf3\x23\xfa\x58\x0a\x41\x1b\x7d\x25\xfe\xc3\x25\x50\xfa\x70\xbe\x12\xe8\xb4\x7e\x67\xe8\x80\x72\x35\xa9\x2a\x94\x4a\x4f\xdc\x9c\x35\x72\x09\xff\xa4\x24\x70\xd7\xa5\x6a\xcf\xd4\x11\xae\xcf\x92\x04\x97\xc4\x1e\x46\x1c\x48\x2a\x39\x00\x3d\xd2\xbc\x3e\xa0\x19\x1d\xe7\x1f\xf6\x28\xd3\x79\x67\x74\x77\x73\xde\x52\x31\xee\xc7\xbb\xf4\x5e\x29\x70\x7a\x9b\x10\x54\xaf\x56\xa6\x90\x76\x22\xce\x0a\x32\x01\x49\x39\xe8\xaf\x02\xb9\x3f\x86\x3d\x4f\x9e\xea\xd3\x6e\x9d\x21\x70\x13\xd5\x04\xee\x72\xd9\x2b\xba\x88\xfb\x37\xf4\x4c\x60\x70\x7d\xfd\xdf\xc1\x9f\x1e\x35\x4b\x80\x4f\xbb\x05\x7c\x95\x01\xd5\x0c\xd9\xd9\x9a\x49\x61\xc7\xdd\xfc\x0d\xf8\x9f\x05\x4a\x65\x73\xeb\x3e\xe4\xc5\x6e\xfd\xe6\xaf\xaf\xeb\x79\xc7\x60\xcd\x5f\x13\xe2\xc5\x7b\x13\xd3\xd1\x31\x58\xb1\x2a\x9f\x50\x33\xec\x38\x1b\x8e\x37\x27\xbe\xb0\x55\xca\x35\xc8\x00\xf8\xf6\x9e\x84\xe4\xc5\x1e\x46\x8c\x74\x0a\x41\x05\xb1\x2d\x02\xaa\x29\x9d\xd4\x5a\x34\xc1\x2b\x4d\x7b\xfc\xf6\x46\x52\x51\xc7\x06\xc1\x1e\x54\x34\x87\x1c\x99\xde\x49\xd9\xba\x20\x70\xf7\x58\xd9\x5e\xa1\xca\xbf\x16\x18\x0a\xaa\xa6\x98\xb3\xbe\xe8\x11\xc7\x61\xc1\xb3\x6f\xff\xe2\x17\xca\xe1\xb1\x9d\xac\x42\xc6\x17\x9d\x5b\x70\xfd\x92\xa3\xff\x2f\x4d\x9e\xd3\x40\x49\xab\xe0\xf6\xa5\xd7\x2b\x35\x8d\xc3\x7e\x57\xac\x93\x1d\xd2\x65\x60\x3d\x22\xb5\x36\x67\x85\xa0\x7a\xe6\x40\xc2\x17\x7b\xf8\xf3\xef\x6a\x10\x39\x6e\xa4\x04\x38\xd3\x9c\x43\xba\x6d\xba\x1b\x63\xd4\x3b\xb8\x42\xba\x9f\x1f\x48\xd0\xa8\x28\x38\xb3\x2e\x92\x23\x04\x6d\xbc\x7e\xfc\x5f\xce\x75\x04\x54\x53\x32\xc5\x27\x6f\x3f\x12\x7d\xd6\xf5\xb2\xac\xdb\x76\xd8\xc4\xa0\xc5\xca\xf2\x67\x65\x49\xca\x94\x56\x68\x31\x50\xe8\xf3\x85\xf3\x44\x7e\xfc\xbf\xb9\xa5\xc0\x57\x3f\x3a\x3b\x9a\x67\x1b\x4e\x07\x34\x46\x30\x7b\x64\x8c\x2a\x2b\x31\xce\x14\xce\xa2\xa0\x98\xf1\xdb\xe6\x8f\x42\x50\x3d\xbb\x7f\x5b\xcb\x82\xaf\xda\xcc\xcc\xc9\x7b\xee\xe2\x7a\xd8\x16\x4a\xcc\xed\xb9\xc2\xa8\xa9\xaa\x31\x82\x30\x54\xcf\xe1\xdf\x66\x8a\xe0\xab\x03\x2c\xbc\x25\x92\xac\xfd\x17\xf3\x53\x9b\xa3\xed\xdf\x1e\x33\xe2\x5f\x39\xc7\x21\x79\xa9\xbf\x21\xee\x7b\x08\xdc\xd5\xd7\x05\x12\xfe\xa9\xbb\x00\xbf\xa4\xad\xee\xd1\x6a\xba\x8a\xa6\xc8\x27\xfc\x3d\xee\x98\xae\x6d\x47\xde\x55\x62\x6e\x7f\xd3\x11\x03\x12\x2e\x5d\xff\x97\x50\xd4\x04\x55\x07\xb6\x59\xc8\xbd\x82\x93\x97\xf3\x5e\xed\x4f\xfd\x07\xae\xbf\x36\x8d\x9c\x4f\xdc\xbc\xcc\x5b\x6d\x74\xcc\xf3\x29\x8a\x35\x91\xbf\x06\xd7\x2f\x91\xfa\x57\x76\x57\x00\xb9\x6e\x53\x6a\x39\xb7\xb2\xa2\xe6\x62\x97\x23\x78\xb4\x56\xa3\xca\x16\xb4\xf3\x84\xab\x4f\x61\xc4\xfe\x80\x16\xdd\x49\x51\x9c\x15\x5d\xdf\x8b\x97\x06\x0f\x3d\x15\xfe\x97\xb8\x6b\x01\xa9\x92\xc8\xd8\xef\xb9\x11\x3b\xcc\xbe\x8a\x2e\xce\x54\xf5\xb9\x1e\x5a\x51\xc7\xd7\xf3\x22\xa2\x7e\xa4\x18\x4a\xfa\x34\x2d\xe6\x64\xd7\x61\xc4\xfd\x51\x81\xd2\xdc\x1c\x80\xec\x90\x3d\x5c\x7f\x4d\xde\x07\x7e\x49\x9b\xc5\xe7\x31\x94\xcd\xda\x93\x38\x93\x3e\x32\xf1\xdc\xb5\x4f\xca\xfc\xb5\x05\x69\x0a\xd7\x87\xde\xbe\x1c\x04\x36\xdc\xae\x12\x28\xcd\x7d\x07\xf0\xfd\xae\x06\xb1\x61\x49\x82\x45\x77\xfc\x0e\x21\x64\x5e\xc7\x2f\x17\x46\x97\x8b\xe8\xb4\xbd\x7d\x79\x2a\x57\x4e\x8e\x5a\x87\x4d\x8a\xdb\xa5\x7a\xce\x43\xaa\x66\x9d\x85\xa1\x7a\x8e\xff\x49\xa9\x41\xcc\xf7\x85\x49\x1f\xa4\x62\x7d\x0e\x27\xaf\xcf\x7a\xf2\x89\x72\x52\x5b\x97\x98\x0f\xc1\x79\xf5\x77\x34\xb5\x16\x2d\x66\x3e\x2e\x69\xaf\xf5\xe2\x86\xeb\xbd\xec\x77\x78\xdd\x58\xf2\xe8\xa9\x76\x66\xaf\x3c\xb1\x6b\x73\x2e\x9f\xbf\x51\x61\x29\xea\xa1\x6c\xfa\xa5\x9e\x4b\x4e\xab\x78\x2c\xe3\x61\xac\xdd\xb6\xf0\xd7\x8a\xa0\x32\x17\x22\x17\xfd\xa0\xf3\xc3\xf7\xfd\x76\xc9\xc2\x5b\x26\xbf\xc9\xbc\xba\x58\xd0\xa7\x9c\x6c\xd6\xf3\x92\x53\x96\xa1\x18\x45\x3a\x8e\xfa\xf0\xf1\x37\x2b\x50\xeb\xf6\xcf\xea\x0a\x6b\x69\xd7\xbb\x3f\x58\x85\xc6\x28\xb8\x8c\x1d\x3b\xc1\x5a\xab\x79\xd4\x49\x23\x2a\x44\x3b\xb4\x20\x86\x9c\xea\xdb\xa7\x18\xad\x75\x7a\xd4\xa5\xf7\xcd\x99\x7b\x76\x71\x1b\x23\xb6\x44\x41\x90\x19\x42\x29\x61\xad\x7b\xe3\xab\x15\xa8\xec\xec\x72\x81\xde\xfe\xa9\x7f\xe5\x72\x70\x1c\x71\x21\x39\xbf\x13\x99\xa0\xa5\x5c\xdc\x70\x4e\x39\x76\xf1\x85\xfe\x7c\x02\x4b\xaa\xfa\x67\x79\x7e\x90\x1d\x33\x2d\xe3\xff\xdc\x73\xce\x4c\xfe\x21\x50\xaa\xe7\xa6\xd8\x0a\x06\x43\xdc\x20\x35\x6d\x22\x40\x27\xe6\xe2\x11\xe7\x3c\x80\xac\x4d\xff\x59\x8a\xa4\x38\x98\x92\xa5\xab\x57\xfb\xcb\xf0\xff\x37\x9c\x3a\x99\x1f\x90\x15\x84\xa6\xb5\xdc\x71\x50\xdc\x2a\x88\xc1\x6e\xe6\xf9\xd7\x9e\x0d\xb3\x34\x79\x13\x29\x44\x16\xbe\x59\x5d\xdb\xe1\xf7\x02\x64\xd6\xa7\x10\x5e\x3a\xa8\x83\x0e\xa8\x09\xfe\x5b\x6b\xfd\x9c\xa6\xdc\x05\xf8\x35\x7d\x59\xbb\xe3\x10\x38\x04\x29\x24\x04\x45\xde\xb7\x47\x09\x1d\x12\xaf\x84\x42\x7e\xc1\xff\x53\x60\xe1\xb7\x7c\x2a\x00\x20\xa4\x75\xf1\xc2\xb9\x6b\xff\x3d\x51\xfd\x82\x7f\xc1\xbf\xe0\xff\x4e\x98\xaf\x7c\x29\xa4\xec\x4c\x80\xf9\xcf\x45\x00\x00\x00\xb8\x68\xed\x70\xa1\xf6\xfc\xed\xbf\xfe\x57\x00\x00\x00\xff\xff\xbd\xfb\x0d\x39\x7e\x24\x00\x00") + +func xiangDataIcons404PngBytes() ([]byte, error) { + return bindataRead( + _xiangDataIcons404Png, + "xiang/data/icons/404.png", + ) +} + +func xiangDataIcons404Png() (*asset, error) { + bytes, err := xiangDataIcons404PngBytes() + if err != nil { + return nil, err + } + + info := bindataFileInfo{name: "xiang/data/icons/404.png", size: 9342, mode: os.FileMode(420), modTime: time.Unix(1634716134, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -358,7 +421,7 @@ func xiangDataIconsIconIcns() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "xiang/data/icons/icon.icns", size: 75636, mode: os.FileMode(420), modTime: time.Unix(1633995598, 0)} + info := bindataFileInfo{name: "xiang/data/icons/icon.icns", size: 75636, mode: os.FileMode(420), modTime: time.Unix(1634716134, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -378,7 +441,7 @@ func xiangDataIconsIconIco() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "xiang/data/icons/icon.ico", size: 31310, mode: os.FileMode(420), modTime: time.Unix(1633995598, 0)} + info := bindataFileInfo{name: "xiang/data/icons/icon.ico", size: 31310, mode: os.FileMode(420), modTime: time.Unix(1634716134, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -398,7 +461,7 @@ func xiangDataIconsIconPng() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "xiang/data/icons/icon.png", size: 22420, mode: os.FileMode(420), modTime: time.Unix(1633995598, 0)} + info := bindataFileInfo{name: "xiang/data/icons/icon.png", size: 22420, mode: os.FileMode(420), modTime: time.Unix(1634716134, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -418,7 +481,7 @@ func xiangFlowsReadmeMd() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "xiang/flows/README.md", size: 12, mode: os.FileMode(420), modTime: time.Unix(1633995598, 0)} + info := bindataFileInfo{name: "xiang/flows/README.md", size: 12, mode: os.FileMode(420), modTime: time.Unix(1634716134, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -438,7 +501,7 @@ func xiangFlowsMenuFlowJson() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "xiang/flows/menu.flow.json", size: 1045, mode: os.FileMode(420), modTime: time.Unix(1633995598, 0)} + info := bindataFileInfo{name: "xiang/flows/menu.flow.json", size: 1045, mode: os.FileMode(420), modTime: time.Unix(1634716134, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -458,7 +521,7 @@ func xiangFlowsTableGetFlowJson() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "xiang/flows/table/get.flow.json", size: 541, mode: os.FileMode(420), modTime: time.Unix(1633995598, 0)} + info := bindataFileInfo{name: "xiang/flows/table/get.flow.json", size: 541, mode: os.FileMode(420), modTime: time.Unix(1634716134, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -478,7 +541,7 @@ func xiangModelsReadmeMd() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "xiang/models/README.md", size: 15, mode: os.FileMode(420), modTime: time.Unix(1633995598, 0)} + info := bindataFileInfo{name: "xiang/models/README.md", size: 15, mode: os.FileMode(420), modTime: time.Unix(1634716134, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -498,7 +561,7 @@ func xiangModelsMenuJson() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "xiang/models/menu.json", size: 2378, mode: os.FileMode(420), modTime: time.Unix(1633995598, 0)} + info := bindataFileInfo{name: "xiang/models/menu.json", size: 2378, mode: os.FileMode(420), modTime: time.Unix(1634716134, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -518,7 +581,7 @@ func xiangModelsUserJson() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "xiang/models/user.json", size: 8826, mode: os.FileMode(420), modTime: time.Unix(1633995598, 0)} + info := bindataFileInfo{name: "xiang/models/user.json", size: 8826, mode: os.FileMode(420), modTime: time.Unix(1634716134, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -538,7 +601,7 @@ func xiangTablesReadmeMd() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "xiang/tables/README.md", size: 15, mode: os.FileMode(420), modTime: time.Unix(1633995598, 0)} + info := bindataFileInfo{name: "xiang/tables/README.md", size: 15, mode: os.FileMode(420), modTime: time.Unix(1634716134, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -558,7 +621,7 @@ func xiangTablesMenuJson() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "xiang/tables/menu.json", size: 10382, mode: os.FileMode(420), modTime: time.Unix(1633995598, 0)} + info := bindataFileInfo{name: "xiang/tables/menu.json", size: 10382, mode: os.FileMode(420), modTime: time.Unix(1634716134, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -578,7 +641,7 @@ func xiangTablesUserJson() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "xiang/tables/user.json", size: 1422, mode: os.FileMode(420), modTime: time.Unix(1633995598, 0)} + info := bindataFileInfo{name: "xiang/tables/user.json", size: 1422, mode: os.FileMode(420), modTime: time.Unix(1634716134, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -638,11 +701,14 @@ var _bindata = map[string]func() (*asset, error){ "ui/index.html": uiIndexHtml, "xiang/.DS_Store": xiangDs_store, "xiang/apis/README.md": xiangApisReadmeMd, + "xiang/apis/chart.http.json": xiangApisChartHttpJson, + "xiang/apis/storage.http.json": xiangApisStorageHttpJson, "xiang/apis/table.http.json": xiangApisTableHttpJson, "xiang/apis/user.http.json": xiangApisUserHttpJson, "xiang/apis/xiang.http.json": xiangApisXiangHttpJson, "xiang/data/app.json": xiangDataAppJson, "xiang/data/icons/.DS_Store": xiangDataIconsDs_store, + "xiang/data/icons/404.png": xiangDataIcons404Png, "xiang/data/icons/icon.icns": xiangDataIconsIconIcns, "xiang/data/icons/icon.ico": xiangDataIconsIconIco, "xiang/data/icons/icon.png": xiangDataIconsIconPng, @@ -704,15 +770,18 @@ var _bintree = &bintree{nil, map[string]*bintree{ "xiang": {nil, map[string]*bintree{ ".DS_Store": {xiangDs_store, map[string]*bintree{}}, "apis": {nil, map[string]*bintree{ - "README.md": {xiangApisReadmeMd, map[string]*bintree{}}, - "table.http.json": {xiangApisTableHttpJson, map[string]*bintree{}}, - "user.http.json": {xiangApisUserHttpJson, map[string]*bintree{}}, - "xiang.http.json": {xiangApisXiangHttpJson, map[string]*bintree{}}, + "README.md": {xiangApisReadmeMd, map[string]*bintree{}}, + "chart.http.json": {xiangApisChartHttpJson, map[string]*bintree{}}, + "storage.http.json": {xiangApisStorageHttpJson, map[string]*bintree{}}, + "table.http.json": {xiangApisTableHttpJson, map[string]*bintree{}}, + "user.http.json": {xiangApisUserHttpJson, map[string]*bintree{}}, + "xiang.http.json": {xiangApisXiangHttpJson, map[string]*bintree{}}, }}, "data": {nil, map[string]*bintree{ "app.json": {xiangDataAppJson, map[string]*bintree{}}, "icons": {nil, map[string]*bintree{ ".DS_Store": {xiangDataIconsDs_store, map[string]*bintree{}}, + "404.png": {xiangDataIcons404Png, map[string]*bintree{}}, "icon.icns": {xiangDataIconsIconIcns, map[string]*bintree{}}, "icon.ico": {xiangDataIconsIconIco, map[string]*bintree{}}, "icon.png": {xiangDataIconsIconPng, map[string]*bintree{}}, diff --git a/share/const.go b/share/const.go index 1d59aa4b..b9226ed1 100644 --- a/share/const.go +++ b/share/const.go @@ -5,7 +5,7 @@ import ( ) // VERSION 版本号 -const VERSION = "0.8.9" +const VERSION = "0.8.10" // DOMAIN 许可域 const DOMAIN = "*.iqka.com" diff --git a/xfs/process.go b/xfs/process.go index 9a6bad59..99ad79a8 100644 --- a/xfs/process.go +++ b/xfs/process.go @@ -14,6 +14,7 @@ import ( "github.com/yaoapp/kun/any" "github.com/yaoapp/kun/exception" "github.com/yaoapp/kun/maps" + "github.com/yaoapp/xiang/data" "github.com/yaoapp/xiang/share" "github.com/yaoapp/xun" ) @@ -117,15 +118,35 @@ func processGetToken(process *gou.Process) interface{} { return res.MapStrAny } +// 临时 +const svg404 = ` + + + + Created with Fabric.js 4.2.0 + + + + + + + + + 404 + + +` + // processGetURL 返回文件CDN地址 func processGetURL(process *gou.Process) interface{} { - process.ValidateArgNums(1) + if len(process.Args) < 1 { + return string(data.MustAsset("xiang/data/icons/404.png")) + } + filename := process.ArgsString(0) - // typ := process.ArgsString(1) - // stats, err := Stor.Stat(filename) - // if err != nil { - // exception.New("读取文件信息失败 %s", 500, err.Error()).Throw() - // } - body := Stor.MustReadFile(filename) + body, err := Stor.ReadFile(filename) + if err != nil { + return string(data.MustAsset("xiang/data/icons/404.png")) + } return string(body) } diff --git a/xiang/data/icons/404.png b/xiang/data/icons/404.png new file mode 100644 index 0000000000000000000000000000000000000000..bbff85a7050f072575c09133e4c1b83c920d31fe GIT binary patch literal 9342 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 SfIk#LF6o