2021-01-08 22:22:43 +03:00
|
|
|
|
// Code generated by vfsgen; DO NOT EDIT.
|
|
|
|
|
|
|
|
|
|
// +build !dev
|
|
|
|
|
|
|
|
|
|
package assets
|
|
|
|
|
|
|
|
|
|
import (
|
|
|
|
|
"bytes"
|
|
|
|
|
"compress/gzip"
|
|
|
|
|
"fmt"
|
|
|
|
|
"io"
|
|
|
|
|
"io/ioutil"
|
|
|
|
|
"net/http"
|
|
|
|
|
"os"
|
|
|
|
|
pathpkg "path"
|
|
|
|
|
"time"
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
// Assets statically implements the virtual filesystem provided to vfsgen.
|
|
|
|
|
var Assets = func() http.FileSystem {
|
|
|
|
|
fs := vfsgen۰FS{
|
|
|
|
|
"/": &vfsgen۰DirInfo{
|
|
|
|
|
name: "/",
|
|
|
|
|
modTime: time.Date(2021, 1, 8, 19, 16, 4, 19648059, time.UTC),
|
|
|
|
|
},
|
|
|
|
|
"/{{.File.Package}}_micro.pb.go.tmpl": &vfsgen۰CompressedFileInfo{
|
|
|
|
|
name: "{{.File.Package}}_micro.pb.go.tmpl",
|
|
|
|
|
modTime: time.Date(2021, 1, 8, 12, 40, 55, 173921701, time.UTC),
|
|
|
|
|
uncompressedSize: 4772,
|
|
|
|
|
|
|
|
|
|
compressedContent: []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x02\xff\xd4\x57\x4d\x6f\xdc\x36\x13\x3e\x5b\xbf\x62\x20\xbc\x08\xa4\x60\x2d\x1d\xde\xdb\x16\x39\x38\x46\x82\x16\xa8\x9d\x20\x2e\xda\x43\x10\x18\xb4\x34\xab\x25\xac\x25\x55\x92\x5a\xc7\x90\xf5\xdf\x0b\x7e\xe8\x8b\xab\xd5\xda\x86\x51\xa0\xbe\x58\x22\xe7\x19\xce\x0c\x9f\x99\x7d\x94\xa6\x70\xc9\x73\x84\x02\x19\x0a\xa2\x30\x87\xbb\x47\xa8\x04\x57\x3c\x3b\x2f\x90\x9d\xef\x68\x26\x78\x90\xa6\x20\x79\x2d\x32\x5c\x43\xd3\x24\x9f\x69\x89\xc9\x35\xd9\x61\xdb\x06\x15\xc9\xee\x49\x81\xd0\x34\x05\xff\x7a\x5f\xfc\x4e\xa4\xfa\x54\xe2\x0e\x99\x02\x63\x07\x4f\x20\xab\x92\xaa\x0b\x21\xc8\x23\x84\xbf\x84\xf0\x04\x25\x91\xaa\x6d\x83\x80\xee\x2a\x2e\x14\x44\xc1\x59\x98\x71\xa6\xf0\xa7\x0a\x83\xe0\xcc\x9c\x78\x4b\x2a\x0a\x61\x41\xd5\xb6\xbe\x4b\x32\xbe\x4b\x6b\x46\xa5\x22\xd9\xfd\x39\x17\x45\x6a\x4c\xd2\xfd\xff\x53\x52\xd1\x10\x00\xa0\x43\x65\x25\xd5\x27\x9f\x06\x5a\xc3\xb0\x07\x4a\x14\x7b\x14\xcf\x00\x5a\xc3\x30\x88\x83\xa0\x69\xce\xe1\x7f\x37\x28\xf6\x34\x43\x5d\x0d\x58\x7f\x80\xc4\xbd\x9b\xf2\xc0\x13\x28\x41\x77\x37\xf5\x66\x43\x7f\x42\xe8\xb6\x42\xd0\xb9\xa7\x29\x5c\xe3\x43\xd3\x8c\x1d\xb4\xed\x27\x96\x57\x9c\x32\x25\xf5\x15\xec\x69\x8e\x12\x74\x21\xb0\x5f\xde\xa1\xca\x89\x22\xb0\xe1\x02\x7c\x30\x48\xfb\x16\x6c\x6a\x96\x2d\x7a\x8f\x62\xf8\xfe\xe3\x7d\x5f\xe8\xa4\xdb\x80\x26\xd0\xd5\xdc\x13\x31\x3a\x72\xd6\x32\x30\x86\xba\x02\x82\xb0\x02\x87\xbc\xaf\x50\x6d\x79\xde\xb6\xfd\x3e\xdd\x00\x43\x88\xb6\x4a\x55\x7f\xa2\xb8\x83\x24\x86\xd0\x94\x40\x1b\x74\xa7\xe8\xd2\xbd\x3b\x3c\xc5\x86\xa3\xff\x74\x02\x6b\x08\xfd\x8c\x92\xa6\x71\x44\x0c\x57\xbd\xed\x57\xa2\xb6\x6b\xf8\xfe\x43\x2a\x41\x59\xd1\x84\x4d\xa3\x0f\xd7\xab\x90\xb4\x6d\xd8\x0e\x96\x36\xd8\x43\x5b\x1b\xe8\xd4\xd6\xcb\xe5\x23\xcf\x1f\xa7\xb9\xe8\x3f\xbd\x6a\xc2\x1c\x4c\x26\xa1\x69\x27\xc8\xf2\x11\xc2\xb9\xe5\x02\xa2\xe4\xd2\x90\xf2\x46\x09\x24\x3b\xca\x8a\x18\x22\x53\x56\x14\xc3\xd2\x08\x69\x17\xd7\xa0\x44\x8d\x4b\x27\xfc\x4a\x58\x5e\xa2\x58\x43\x28\xaa\xcc\xc5\xd2\x7a\xd7\xd7\x15\x48\x5e\xe4\x39\x55\x94\x33\x52\x7e\xa4\x2c\xa7\xac\x90\x90\xf8\x97\x95\x98\x52\x7e\x00\x52\x55\xc8\xf2\x68\xb2\xbc\xd2\xc9\xeb\x9c\xe3\xe0\x30\x9a\x81\x53\x07\x60\xb9\xea\x77\xe7\x90\xd3\x37\x81\xaa\x16\x6c\x70\x17\xd8\x7e\xf2\xc9\xe1\x5e\x80\x32\x85\x62\x43\x32\x0c\xd4\x63\x85\xa7\xcd\x4c\x17\x2c\x53\xdb\xb4\xbe\xc0\xbf\xed\x92\x69\xfc\xdf\x58\x55\xab\x3f\xf4\x01\xd3\x89\x97\x74\x13\x0f\x46\x48\x59\x8d\x90\x5f\x6a\xf5\x6c\x68\x47\x15\x9f\x17\x33\xec\x19\x63\x08\xcb\x67\x41\x8c\x2b\x98\x07\x6a\xa8\x6b\xad\xc8\x0d\xe7\xe4\xd2\xfe\x5f\xc1\xfb\xa6\x19\xb2\x6f\xdb\x15\x24\x49\x32\x1e\xc0\xc9\x25\x29\xcb\x2f\x95\x26\x52\x0c\x91\x5f\xf0\xdb\xde\xb3\x5b\x5e\x01\x0a\xc1\x45\xec\xe2\xc5\x52\xe2\xe9\x18\xde\xf6\x48\x36\xdc\xeb\xf3\x8e\x7f\x59\x09\x8c\x75\x77\xe9\xda\xfa\xf8\xe9\xe6\xb9\xd5\xbf\x2e\xc7\xe8\xf7\x1a\xf2\xf5\xb0\x17\x32\xcf\xe0\x5e\x46\xba\xd9\x26\x3b\xb8\x00\xaf\xdd\x00\x5c\x65\xa3\x18\xbc\x5a\x9b\xdd\x1b\x64\xf9\x95\x2c\xa2\x1e\xd5\xb4\xb1\x2d\xa2\xd9\xfe\x86\xd9\x7e\x61\x7b\xd2\x05\x87\x53\xd6\x74\xc1\x91\x49\xab\x3d\x5f\xb0\xfc\xb2\xe4\x12\xa3\xc5\x9b\xf4\xa7\x54\x07\x39\x08\xc3\x8f\xc0\xd9\xeb\x14\x23\x8f\x56\x3e\x7a\x3a\x11\xb5\x2f\x2f\xec\x51\xd4\xcf\x8f\xd6\x72\xc3\x3e\x0f\x4f\x69\x0a\x57\x9a\xd0\xe0\xb4\x91\x54\xf5\x66\x33\x3b\x68\xdd\x2f\x4c\x67\xb8\xb5\xaf\xf3\x44\xe8\x6c\xc7\xd7\x7f\xb6\x34\x6c\xff\x75\xb6\xbf\x7c\xc8\x0e\xe2\x60\x66\x9c\xbe\x62\x94\x2c\x34\x8f\xf1\x7a\xc0\x8a\x67\x4d\xac\x17\x7b\x1d\xf8\xf0\xba\x89\xe8\x91\xaf\xf3\x3f\xc7\x35\xfb\x03\xfe\x0d\x0b\x2a\x15\x8a\x63\x9c\x11\x6e\x5f\xfa\x4c\x33\x82\xf7\x04\x3a\x92\x30\x96\xfa\xee\x72\x57\x20\xb7\xc7\x38\xba\x02\x5e\x29\x39\x0c\x76\x07\x74\xbb\xdd\x6c\x37\x49\xb9\x19\x36\xc3\x78\xcd\x2c\xfe\x80\xe2\x33\x15\x9a\x5f\x53\xde\xff\xf7\x89\x7f\x82\x13\xd3\x8a\x4f\x68\xe6\x11\xeb\x8d\xc8\x65\x4b\x6a\x49\x35\x7e\x1e\x44\xef\xec\x54\x02\xa9\x44\x9d\x75\xdf\x3f\x36\x96\x85\x5b\x1c\xb9\xdb\x9a\x4f\x97\x45\x6b\x47\x98\x46\x6e\x2d\x44\x7f\xbb\xdd\xae\x26\xdf\x3e\x96\x03\x27\x3e\xd9\x86\xe0\x0c\x2f\x7b\x0d\xad\xdf\xba\x52\xeb\xaf\xa7\xbf\xa8\xda\x76\xb8\x5e\x60\xc7\xf1\x28\x68\x27\xa0\xa5\
|
|
|
|
|
},
|
|
|
|
|
"/{{.File.Package}}_micro_grpc.pb.go.tmpl": &vfsgen۰CompressedFileInfo{
|
|
|
|
|
name: "{{.File.Package}}_micro_grpc.pb.go.tmpl",
|
|
|
|
|
modTime: time.Date(2021, 1, 8, 12, 50, 25, 183502330, time.UTC),
|
|
|
|
|
uncompressedSize: 6715,
|
|
|
|
|
|
|
|
|
|
compressedContent: []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x02\xff\xcc\x57\x4d\x6f\xa4\x38\x13\x3e\xe3\x5f\x51\x83\x5e\x8d\xe0\x15\xa1\x0f\x7b\xcb\x28\x87\x51\xb4\xa3\x5d\x69\x93\x59\x4d\xf6\x1e\x31\xb4\x9b\xa0\x80\xe9\x18\xd3\xe9\x88\xf0\xdf\x57\x2e\x1b\x30\x6e\xa0\xbb\x43\xb2\xbb\x39\xa4\x85\xed\x72\x7d\x3e\x55\x8f\x57\x2b\xb8\x2e\xd6\x14\x12\xca\x28\x8f\x04\x5d\xc3\xcf\x17\xd8\xf2\x42\x14\xf1\x45\x42\xd9\x45\x9e\xc6\xbc\x20\xab\x15\x94\x45\xc5\x63\x7a\x09\x75\x1d\x7e\x4b\x33\x1a\xde\x46\x39\x6d\x1a\xb2\x8d\xe2\xc7\x28\xa1\x50\xd7\x49\xf1\xe7\x63\xf2\x47\x54\x8a\x5f\x33\x9a\x53\x26\x00\xcf\xc1\x2b\x94\xdb\x2c\x15\x5f\x39\x8f\x5e\xc0\xfd\xe2\xc2\x2b\x64\x51\x29\x9a\x86\x90\x34\xdf\x16\x5c\x80\x47\x1c\x37\x2e\x98\xa0\x7b\xe1\x12\xe2\xa0\xc6\xfb\x38\x4b\xe5\x1d\x6e\x92\x8a\x87\xea\x67\x18\x17\xf9\xaa\x62\x69\x29\xa2\xf8\xf1\xa2\xe0\xc9\x0a\x4f\xad\x76\xbf\xac\xd4\x41\x17\x5a\xc1\x92\xf2\x1d\xe5\x27\x08\xaa\x83\x2e\xf1\x09\xd9\x45\x1c\x3c\x02\x00\x70\x0f\xe6\x2d\xe1\xf7\xad\x48\x0b\x36\xd8\x51\xfa\xda\x1d\x9f\x90\xba\xbe\x80\xff\xa1\xab\x97\x57\xda\xe7\xa6\x51\xab\x77\x94\xef\xd2\x98\xca\x50\xe1\xa6\xfe\xc6\xd8\xc1\x2b\x08\x9e\xe6\x77\xd5\x66\x93\xee\xc1\xd5\x5b\xae\x94\x25\xe2\x65\x2b\x23\x3a\x90\x7f\x85\xac\x78\xa6\xfc\x5b\xca\x65\xf0\xf4\x0e\x94\x82\x57\xb1\x80\x1a\x4d\x8c\x87\x26\x5e\xe3\x0f\xee\x30\x79\x43\x29\x78\xca\x12\xd2\x10\x99\xce\x1b\x79\x12\x74\x94\x4b\x51\x6d\x36\xb8\x7c\x4b\x9f\x87\x7a\x7b\x55\x31\xa7\x91\xa0\xc0\xe8\x33\x94\xed\x92\xd2\xb0\xa9\x58\x3c\x23\xe9\x19\xda\x83\x71\x23\x7d\x98\xd2\xaa\x3c\xe3\x54\x54\x9c\xc1\xe7\x53\x62\x52\xc7\x97\x10\x07\xe8\xf2\x25\xfe\x6f\xa4\xcb\x75\xcd\x23\x96\xd0\x3e\x07\x37\x54\x3c\x14\xeb\x36\x53\x9c\x3e\xa9\x05\xcc\xd3\xef\x6c\x5b\x89\xbf\x64\x12\x86\xd5\x1b\x1a\xd5\xab\xc4\xca\xad\x21\xf6\xbd\x12\xa7\xc9\xa5\x1b\x88\xd8\x1a\x3c\x56\x08\xd0\x11\xb8\x13\x9c\x46\x79\xca\x12\x1f\x3c\xb4\x91\x72\x63\xe9\xa2\x69\x54\x94\xbd\x18\xfe\x7f\x4a\x10\x64\x40\x35\x44\xbd\x58\xec\x41\xe3\x2b\xbc\x56\xbf\x01\x70\xfa\x84\x37\x75\x8e\x37\x4d\x00\xc5\x56\x94\x10\x86\xe1\x30\x43\x51\x96\xa9\x6a\xf7\xc1\xb3\xd3\x74\xdf\xa9\xd1\xcb\x01\x50\xce\x0b\xee\x63\xe2\xa4\xaf\x34\x2b\xa9\x74\xd8\xf6\xf3\x03\x7c\xfa\x30\xf3\xff\x33\xe1\x47\x91\xb6\xe6\xa4\x88\x6d\x2d\x5b\xa3\xb1\xea\x2b\xdd\x40\xc1\xc7\xca\xc9\x3b\x28\x3a\x94\x01\x09\x52\x1a\xe5\x78\xad\xac\xe8\x38\x8c\x43\x75\x46\x7a\x11\xe0\xf7\x2d\x7d\xfe\x41\x9f\x2a\x5a\x0a\x2f\x0e\x25\xbc\x02\x70\xed\xb0\x86\x9d\xf7\x6e\x80\xa0\x35\xdc\xac\x1b\x5f\x79\x1a\x86\xa1\x8f\x4a\xd3\x0d\xea\xfb\x74\x05\x2c\xcd\x34\xe0\x3b\xc8\xb3\x34\x43\x73\x70\xd5\x70\x6c\x0c\x3a\xd0\x34\xf0\xcf\xfe\x99\xf6\x5f\x5e\xe9\xf0\x85\x77\x94\xad\x3d\x4e\x9f\xfc\x2f\xe7\x3a\x46\xd9\x5a\x67\xe2\xac\x8e\xd7\x46\xbb\x56\x06\x34\x81\xbc\xdd\x28\xe0\xf6\xce\x72\x2b\xad\xfc\x3c\x2c\xa2\x5a\x6d\x1a\x29\x97\x25\xb7\x20\xe1\xd2\xf3\x40\x2a\x3b\x29\xcf\xd3\x01\xe9\x76\xf0\x2a\xc3\x23\x0c\x92\xec\xa4\xe7\x15\xf8\xc8\x54\x1d\xe9\x00\x90\x32\x41\xf9\x26\xea\x66\x8f\xc6\xac\xe7\xdb\x28\xc6\x5d\x99\xeb\x9b\x32\xf1\x3a\xa9\xba\xf1\x15\x2a\x71\xfb\x07\x8d\x77\x33\xdb\xe6\x30\x18\x19\x04\x58\xe4\xb6\x73\x3a\x99\xf2\xe6\xaf\x6c\x7d\x9d\x15\x25\xf5\xa6\x5b\x43\xa7\xa6\x2f\xad\x56\xe4\xc0\x0c\xdb\x02\x7d\x1e\xcb\xd9\x6a\x56\xb6\x74\x7f\x7b\x7b\x97\x65\xb6\x61\xf5\xe9\xd6\x9e\x43\x85\xba\x3c\x0e\x39\x91\x42\xc4\x90\x73\x28\xa3\xda\x0a\x3a\x37\xf8\x6a\x10\xec\x4f\x1b\x04\x9d\x55\xfe\xa9\x09\x83\x9a\x38\xf9\x38\x4c\x1d\x8d\xd1\x7d\xd8\x96\x55\xee\x13\x47\xc3\xea\xaa\x85\x95\x83\xc7\xe4\x29\xad\x8a\x38\x0d\xe9\x8e\x7d\xea\x8f\xd9\xb8\x73\x1a\xe2\x90\x76\x35\x57\x88\x53\x7c\x45\x65\xe3\xcd\x9e\x0f\x0a\x6e\xc8\xe8\xf6\xa1\xee\x99\xad\xad\x4b\xd4\x4c\x01\x75\x4a\x65\x7b\x7e\x89\xd2\x16\xff\x39\x1c\x42\x7c\x42\x2f\xe2\x29\x5f\xa4\xb5\xcb\xff\xe9\x5a\x11\x79\x4a\x6b\x5d\x1f\x21\x64\x6f\x0b\x83\x97\xc3\x78\x97\x38\x1a\x07\xa3\xc6\xb4\x6d\x16\xee\x16\xd9\x76\xa4\xe7\xa0\x75\xf9\xd4\x60\xec\x87\xbb\x1d\xc9\x91\xe1\x7e\x38\xc9\xe4\x15\x13\x88\x02\xe5\x6e\xeb\xb9\x49\xdf\xfa\x07\x9a\x7e\xcd\xea\x07\xda\xf1\x66\xf8\x5b\xc4\xd6\x19\x0a\x74\x3d\xd0\x9e\x78\xfa\x08\x1a\x32\xfa\x26\x82\x7f\xed\x51\x74\xc6\x30\
|
|
|
|
|
},
|
|
|
|
|
"/{{.File.Package}}_micro_http.pb.go.tmpl": &vfsgen۰CompressedFileInfo{
|
|
|
|
|
name: "{{.File.Package}}_micro_http.pb.go.tmpl",
|
2021-01-10 03:33:10 +03:00
|
|
|
|
modTime: time.Date(2021, 1, 10, 0, 29, 55, 92183584, time.UTC),
|
|
|
|
|
uncompressedSize: 7027,
|
2021-01-08 22:22:43 +03:00
|
|
|
|
|
2021-01-10 03:33:10 +03:00
|
|
|
|
compressedContent: []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x02\xff\xcc\x58\x5b\x6f\x9b\xc8\x17\x7f\x66\x3e\xc5\x29\x8a\x2a\xf8\x0b\xe3\x87\xff\x5b\x2a\x3f\x54\x51\xab\xdd\xd5\xa6\xad\x92\xd5\xbe\x54\x55\x34\xc5\xc7\x36\x1b\x18\xc8\xcc\xd8\x49\x45\xe6\xbb\xaf\xe6\x02\x06\x8c\x6f\x25\xd9\xdd\x3e\x34\x66\xe6\xdc\xaf\x3f\x98\x4e\xe1\xaa\x98\x23\x2c\x91\x21\xa7\x12\xe7\xf0\xfd\x07\x94\xbc\x90\x45\x32\x59\x22\x9b\xe4\x69\xc2\x0b\x32\x9d\x82\x28\xd6\x3c\xc1\x4b\xa8\xaa\xf8\x63\x9a\x61\xfc\x89\xe6\xa8\x14\x29\x69\x72\x4f\x97\x08\x55\xb5\x2c\xbe\xdc\x2f\x7f\xa7\x42\x7e\xc8\x30\x47\x26\xc1\xd0\xc1\x33\x88\x32\x4b\xe5\x7b\xce\xe9\x0f\xf0\xdf\xf9\xf0\x0c\x19\x15\x52\x29\x42\xd2\xbc\x2c\xb8\x84\x80\x78\x7e\x52\x30\x89\x4f\xd2\x27\xc4\x33\x1a\xef\x92\x2c\xd5\x32\xfc\x65\x2a\x57\xeb\xef\x71\x52\xe4\xd3\x35\x4b\x85\xa4\xc9\xfd\xa4\xe0\xcb\xa9\xa1\x9a\x6e\xfe\x3f\xb5\x84\x3e\xd4\x8c\x02\xf9\x06\xf9\x09\x8c\x96\xd0\xef\x2a\xbc\x5b\x49\x59\x1e\x61\x9e\x58\xd2\x89\x26\xf5\x49\x48\xc8\x86\x72\x08\x08\x00\xc0\x1d\xb4\x8d\x88\x3f\x97\x32\x2d\x58\xe7\xc6\xf2\xd6\x37\x21\x21\x55\x35\x81\x0b\x13\xa9\xcb\x99\x0b\x99\x52\xf6\xf4\x16\xf9\x26\x4d\x50\x47\xda\x5c\xba\x67\x13\x7a\x78\x06\xc9\xd3\xfc\x76\xbd\x58\xa4\x4f\xe0\xbb\x2b\x5f\xf3\x12\xf9\xa3\xd4\x09\xe9\xf0\x3f\x43\x56\x3c\x22\xff\x98\x72\x1d\x7b\x77\x03\x42\xf2\x75\x22\xa1\x32\x26\x26\x5d\x13\xaf\xcc\x1f\x73\xc3\xb4\x04\x21\x79\xca\x96\x44\x11\x5d\x0d\xd7\x9a\x12\x5c\x92\x84\x5c\x2f\x16\xe6\xf8\x13\x3e\x76\xf5\x6e\x55\x25\x1c\xa9\x44\x60\xf8\x08\xa2\x3e\xb2\x1a\x16\x6b\x96\x1c\xe0\x0c\x5a\xda\xa3\x61\x23\x43\xd8\xa7\xd5\x7a\xc6\x51\xae\x39\x83\xb7\xa7\xc4\xa4\x4a\x2e\x21\x89\x8c\xcb\x97\xe6\x7f\xa5\x5d\xae\x2a\x4e\xd9\x12\xb7\x39\xb8\x46\xb9\x2a\xe6\x75\xa6\x38\x3e\xd8\x03\x93\xa7\x5f\x59\xb9\x96\x7f\xe8\x24\x74\x8b\x3f\x6e\x15\xbf\x65\x13\x65\x8b\xed\xf3\x5a\x9e\xc6\x97\x2e\x80\xb2\x39\x04\xac\x90\xe0\x22\x70\x2b\x39\xd2\x3c\x65\xcb\x10\x02\x63\x23\xf2\xd6\xd1\x44\x29\x1b\xe5\x20\x81\xff\x9d\x12\x04\x1d\x50\xd7\xe1\x41\x22\x9f\xc0\xb5\x67\x7c\x65\xff\x46\xc0\xf1\xc1\x48\x6a\x1c\x57\x2a\x82\xa2\x94\x02\xe2\x38\xee\x66\x88\x66\x99\xad\xf6\x10\x82\x7e\x9a\xee\x1a\x35\xee\x38\x02\xe4\xbc\xe0\xa1\x49\x9c\xf6\x15\x33\x81\xda\xe1\xbe\x9f\xaf\xe0\xd3\xab\x99\xff\x9f\x09\xbf\x61\xa9\x6b\x4e\xb3\xf4\xad\x65\x73\x3d\x40\x74\xcb\xb8\x3a\xd3\x25\x16\x68\xf5\x34\x65\x02\x82\xbf\x44\xc1\x20\x28\x4a\x64\xb4\x4c\xad\x58\x88\xc3\x10\x7c\xb6\xce\x32\x3f\xec\x31\xef\x10\xc6\x37\x28\xca\x82\x09\x14\x35\x25\x72\x9e\xd3\x52\x97\x7f\x4e\xef\x31\xc8\x69\xf9\xd5\x76\xfa\xb7\x94\x49\xe4\x0b\x9a\x60\xa5\x22\xa8\x2a\xc8\x90\x1d\x12\xa8\x54\xd8\xa8\xb6\xad\x7a\x71\x1f\xc1\xc5\x46\x8b\x3e\xd9\x8e\xaf\x7e\x55\x5d\xdc\x2b\xe5\x7f\x83\x99\x9e\x16\x13\x08\x96\x28\xaf\x51\x08\xba\x44\xd3\x98\x76\x52\x5f\x6c\xe2\xdb\x64\x85\x39\x8d\x7f\x13\x05\x73\x3f\x6f\x70\x11\xda\xd1\xac\x54\xb5\x8d\x43\x2f\xa6\xfb\x1f\x99\xc9\xdf\xe5\x0c\x68\x59\x22\x9b\x07\xfa\x31\x32\x37\x00\x3b\x2b\xca\xcd\x9f\xc0\xaf\x2a\xfd\xf8\x27\xf2\xef\x10\x2b\xe5\x87\x11\xec\x65\xf9\x42\xe5\xaa\x66\xd0\xbf\x1d\x83\xa3\x1f\x95\xf0\x73\x52\x3e\x64\xda\x07\x5d\x87\xd7\xb4\x0c\x6c\x1e\x3a\x46\xb5\x42\xb4\x73\x10\x92\x46\x73\xc1\x87\x26\x5f\xb0\x33\x1f\x1d\xa7\x30\x07\xa6\x03\x74\xcc\x93\x38\x89\x2d\x8d\x6e\xb8\xc8\x3c\x7f\xc2\xc7\x1b\x7c\x58\xa3\x90\x41\x12\xeb\x4d\x10\x81\xdf\x9f\x00\x71\xd3\xa8\x7e\x64\xf6\x4b\xab\x23\x2b\x15\x46\x36\xab\x71\x1c\xdb\xea\x4c\x17\x46\xe1\x9b\x19\xb0\x34\x73\xcb\xa9\x59\x4f\x2c\xcd\x8c\x3d\xe6\x54\x91\x4e\x4a\x76\xc6\x9f\x52\xf0\xcf\xfe\x6b\xdb\x7f\x39\x73\xf1\x8b\x6f\x75\xa5\x72\x7c\x08\xdf\x9d\xeb\x18\xb2\xb9\x4b\xc5\x59\xdb\xb9\x0e\x77\x65\x0d\x50\x91\x96\xde\x1a\xb6\xb5\x4c\x61\x86\xca\xdb\xee\xc0\xab\x9a\x66\xaf\x73\xae\xc7\xe3\x88\x8c\x6b\xcf\x23\xad\xec\xb4\x44\xef\x8f\x48\x73\x63\x65\x6d\x5d\x32\x51\x32\x00\xe4\xbc\x1a\x3f\x19\x03\x36\xee\x74\xc1\xa0\x0d\x6f\x17\x6c\x59\x05\x44\x59\x63\x0c\x04\x19\x80\x1f\xa6\x5c\xfb\x46\x36\x1b\xf0\xe9\xb4\x0d\xd8\x58\x15\xc2\x0d\x26\x9b\xf7\x6c\x7e\x95\x15\x02\x83\x83\x4b\xcc\xcb\x87\x73\xee\xb9\x84\x3f\xc5\x5a\xd6\xb5\x58\x06\x79\x48\x3c\x97\xa2\x59\x9d\x22\xcf\x90\x69\x2a\xa7\x8a\x78\
|
2021-01-08 22:22:43 +03:00
|
|
|
|
},
|
|
|
|
|
}
|
|
|
|
|
fs["/"].(*vfsgen۰DirInfo).entries = []os.FileInfo{
|
|
|
|
|
fs["/{{.File.Package}}_micro.pb.go.tmpl"].(os.FileInfo),
|
|
|
|
|
fs["/{{.File.Package}}_micro_grpc.pb.go.tmpl"].(os.FileInfo),
|
|
|
|
|
fs["/{{.File.Package}}_micro_http.pb.go.tmpl"].(os.FileInfo),
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return fs
|
|
|
|
|
}()
|
|
|
|
|
|
|
|
|
|
type vfsgen۰FS map[string]interface{}
|
|
|
|
|
|
|
|
|
|
func (fs vfsgen۰FS) Open(path string) (http.File, error) {
|
|
|
|
|
path = pathpkg.Clean("/" + path)
|
|
|
|
|
f, ok := fs[path]
|
|
|
|
|
if !ok {
|
|
|
|
|
return nil, &os.PathError{Op: "open", Path: path, Err: os.ErrNotExist}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
switch f := f.(type) {
|
|
|
|
|
case *vfsgen۰CompressedFileInfo:
|
|
|
|
|
gr, err := gzip.NewReader(bytes.NewReader(f.compressedContent))
|
|
|
|
|
if err != nil {
|
|
|
|
|
// This should never happen because we generate the gzip bytes such that they are always valid.
|
|
|
|
|
panic("unexpected error reading own gzip compressed bytes: " + err.Error())
|
|
|
|
|
}
|
|
|
|
|
return &vfsgen۰CompressedFile{
|
|
|
|
|
vfsgen۰CompressedFileInfo: f,
|
|
|
|
|
gr: gr,
|
|
|
|
|
}, nil
|
|
|
|
|
case *vfsgen۰DirInfo:
|
|
|
|
|
return &vfsgen۰Dir{
|
|
|
|
|
vfsgen۰DirInfo: f,
|
|
|
|
|
}, nil
|
|
|
|
|
default:
|
|
|
|
|
// This should never happen because we generate only the above types.
|
|
|
|
|
panic(fmt.Sprintf("unexpected type %T", f))
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// vfsgen۰CompressedFileInfo is a static definition of a gzip compressed file.
|
|
|
|
|
type vfsgen۰CompressedFileInfo struct {
|
|
|
|
|
name string
|
|
|
|
|
modTime time.Time
|
|
|
|
|
compressedContent []byte
|
|
|
|
|
uncompressedSize int64
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func (f *vfsgen۰CompressedFileInfo) Readdir(count int) ([]os.FileInfo, error) {
|
|
|
|
|
return nil, fmt.Errorf("cannot Readdir from file %s", f.name)
|
|
|
|
|
}
|
|
|
|
|
func (f *vfsgen۰CompressedFileInfo) Stat() (os.FileInfo, error) { return f, nil }
|
|
|
|
|
|
|
|
|
|
func (f *vfsgen۰CompressedFileInfo) GzipBytes() []byte {
|
|
|
|
|
return f.compressedContent
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func (f *vfsgen۰CompressedFileInfo) Name() string { return f.name }
|
|
|
|
|
func (f *vfsgen۰CompressedFileInfo) Size() int64 { return f.uncompressedSize }
|
|
|
|
|
func (f *vfsgen۰CompressedFileInfo) Mode() os.FileMode { return 0444 }
|
|
|
|
|
func (f *vfsgen۰CompressedFileInfo) ModTime() time.Time { return f.modTime }
|
|
|
|
|
func (f *vfsgen۰CompressedFileInfo) IsDir() bool { return false }
|
|
|
|
|
func (f *vfsgen۰CompressedFileInfo) Sys() interface{} { return nil }
|
|
|
|
|
|
|
|
|
|
// vfsgen۰CompressedFile is an opened compressedFile instance.
|
|
|
|
|
type vfsgen۰CompressedFile struct {
|
|
|
|
|
*vfsgen۰CompressedFileInfo
|
|
|
|
|
gr *gzip.Reader
|
|
|
|
|
grPos int64 // Actual gr uncompressed position.
|
|
|
|
|
seekPos int64 // Seek uncompressed position.
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func (f *vfsgen۰CompressedFile) Read(p []byte) (n int, err error) {
|
|
|
|
|
if f.grPos > f.seekPos {
|
|
|
|
|
// Rewind to beginning.
|
|
|
|
|
err = f.gr.Reset(bytes.NewReader(f.compressedContent))
|
|
|
|
|
if err != nil {
|
|
|
|
|
return 0, err
|
|
|
|
|
}
|
|
|
|
|
f.grPos = 0
|
|
|
|
|
}
|
|
|
|
|
if f.grPos < f.seekPos {
|
|
|
|
|
// Fast-forward.
|
|
|
|
|
_, err = io.CopyN(ioutil.Discard, f.gr, f.seekPos-f.grPos)
|
|
|
|
|
if err != nil {
|
|
|
|
|
return 0, err
|
|
|
|
|
}
|
|
|
|
|
f.grPos = f.seekPos
|
|
|
|
|
}
|
|
|
|
|
n, err = f.gr.Read(p)
|
|
|
|
|
f.grPos += int64(n)
|
|
|
|
|
f.seekPos = f.grPos
|
|
|
|
|
return n, err
|
|
|
|
|
}
|
|
|
|
|
func (f *vfsgen۰CompressedFile) Seek(offset int64, whence int) (int64, error) {
|
|
|
|
|
switch whence {
|
|
|
|
|
case io.SeekStart:
|
|
|
|
|
f.seekPos = 0 + offset
|
|
|
|
|
case io.SeekCurrent:
|
|
|
|
|
f.seekPos += offset
|
|
|
|
|
case io.SeekEnd:
|
|
|
|
|
f.seekPos = f.uncompressedSize + offset
|
|
|
|
|
default:
|
|
|
|
|
panic(fmt.Errorf("invalid whence value: %v", whence))
|
|
|
|
|
}
|
|
|
|
|
return f.seekPos, nil
|
|
|
|
|
}
|
|
|
|
|
func (f *vfsgen۰CompressedFile) Close() error {
|
|
|
|
|
return f.gr.Close()
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// vfsgen۰DirInfo is a static definition of a directory.
|
|
|
|
|
type vfsgen۰DirInfo struct {
|
|
|
|
|
name string
|
|
|
|
|
modTime time.Time
|
|
|
|
|
entries []os.FileInfo
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func (d *vfsgen۰DirInfo) Read([]byte) (int, error) {
|
|
|
|
|
return 0, fmt.Errorf("cannot Read from directory %s", d.name)
|
|
|
|
|
}
|
|
|
|
|
func (d *vfsgen۰DirInfo) Close() error { return nil }
|
|
|
|
|
func (d *vfsgen۰DirInfo) Stat() (os.FileInfo, error) { return d, nil }
|
|
|
|
|
|
|
|
|
|
func (d *vfsgen۰DirInfo) Name() string { return d.name }
|
|
|
|
|
func (d *vfsgen۰DirInfo) Size() int64 { return 0 }
|
|
|
|
|
func (d *vfsgen۰DirInfo) Mode() os.FileMode { return 0755 | os.ModeDir }
|
|
|
|
|
func (d *vfsgen۰DirInfo) ModTime() time.Time { return d.modTime }
|
|
|
|
|
func (d *vfsgen۰DirInfo) IsDir() bool { return true }
|
|
|
|
|
func (d *vfsgen۰DirInfo) Sys() interface{} { return nil }
|
|
|
|
|
|
|
|
|
|
// vfsgen۰Dir is an opened dir instance.
|
|
|
|
|
type vfsgen۰Dir struct {
|
|
|
|
|
*vfsgen۰DirInfo
|
|
|
|
|
pos int // Position within entries for Seek and Readdir.
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func (d *vfsgen۰Dir) Seek(offset int64, whence int) (int64, error) {
|
|
|
|
|
if offset == 0 && whence == io.SeekStart {
|
|
|
|
|
d.pos = 0
|
|
|
|
|
return 0, nil
|
|
|
|
|
}
|
|
|
|
|
return 0, fmt.Errorf("unsupported Seek in directory %s", d.name)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func (d *vfsgen۰Dir) Readdir(count int) ([]os.FileInfo, error) {
|
|
|
|
|
if d.pos >= len(d.entries) && count > 0 {
|
|
|
|
|
return nil, io.EOF
|
|
|
|
|
}
|
|
|
|
|
if count <= 0 || count > len(d.entries)-d.pos {
|
|
|
|
|
count = len(d.entries) - d.pos
|
|
|
|
|
}
|
|
|
|
|
e := d.entries[d.pos : d.pos+count]
|
|
|
|
|
d.pos += count
|
|
|
|
|
return e, nil
|
|
|
|
|
}
|