|
@ -33,8 +33,6 @@ Pkger's API is modeled on that of the [`os`](https://godoc.org/os) package in Go
|
|||
```go
|
||||
type Pkger interface {
|
||||
Parse(p string) (Path, error)
|
||||
Abs(p string) (string, error)
|
||||
AbsPath(Path) (string, error)
|
||||
Current() (here.Info, error)
|
||||
Info(p string) (here.Info, error)
|
||||
Create(name string) (File, error)
|
||||
|
@ -48,7 +46,6 @@ type Pkger interface {
|
|||
|
||||
type File interface {
|
||||
Close() error
|
||||
Abs() (string, error)
|
||||
Info() here.Info
|
||||
Name() string
|
||||
Open(name string) (http.File, error)
|
||||
|
|
|
@ -10,11 +10,8 @@ jobs:
|
|||
vmImage: "vs2017-win2016"
|
||||
strategy:
|
||||
matrix:
|
||||
go 1.12 (on):
|
||||
go_version: "1.12.9"
|
||||
GO111MODULE: "on"
|
||||
go 1.13 (on):
|
||||
go_version: "1.13"
|
||||
go_version: "1.13.3"
|
||||
GO111MODULE: "on"
|
||||
steps:
|
||||
- template: azure-tests.yml
|
||||
|
@ -24,11 +21,8 @@ jobs:
|
|||
vmImage: "macOS-10.13"
|
||||
strategy:
|
||||
matrix:
|
||||
go 1.12 (on):
|
||||
go_version: "1.12.9"
|
||||
GO111MODULE: "on"
|
||||
go 1.13 (on):
|
||||
go_version: "1.13"
|
||||
go_version: "1.13.3"
|
||||
GO111MODULE: "on"
|
||||
steps:
|
||||
- template: azure-tests.yml
|
||||
|
@ -38,11 +32,8 @@ jobs:
|
|||
vmImage: "ubuntu-16.04"
|
||||
strategy:
|
||||
matrix:
|
||||
go 1.12 (on):
|
||||
go_version: "1.12.9"
|
||||
GO111MODULE: "on"
|
||||
go 1.13 (on):
|
||||
go_version: "1.13"
|
||||
go_version: "1.13.3"
|
||||
GO111MODULE: "on"
|
||||
steps:
|
||||
- template: azure-tests.yml
|
||||
|
|
|
@ -1,8 +0,0 @@
|
|||
// +build !skippackr
|
||||
// Code generated by github.com/gobuffalo/packr/v2. DO NOT EDIT.
|
||||
|
||||
// You can use the "packr clean" command to clean up this,
|
||||
// and any other packr generated files.
|
||||
package main
|
||||
|
||||
import _ "app/packrd"
|
|
@ -0,0 +1,7 @@
|
|||
FROM alpine
|
||||
|
||||
EXPOSE 3000
|
||||
COPY example /bin/
|
||||
|
||||
|
||||
CMD /bin/example
|
|
@ -0,0 +1,5 @@
|
|||
default:
|
||||
pkger
|
||||
GOOS=linux go build -v -o example
|
||||
docker build -t pkger:example .
|
||||
docker run -p 3000:3000 pkger:example
|
|
@ -0,0 +1,7 @@
|
|||
module app
|
||||
|
||||
go 1.13
|
||||
|
||||
require github.com/markbates/pkger v0.8.0
|
||||
|
||||
replace github.com/markbates/pkger => ../../../
|
|
@ -0,0 +1,19 @@
|
|||
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
||||
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
|
||||
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
||||
github.com/kr/pretty v0.1.0 h1:L/CwN0zerZDmRFUapSPitk6f+Q3+0za1rQkzVuMiMFI=
|
||||
github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
|
||||
github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
|
||||
github.com/kr/text v0.1.0 h1:45sCR5RtlFHMR4UwH9sdQ5TC8v0qDQCHnXt+kaKSTVE=
|
||||
github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
|
||||
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
|
||||
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
|
||||
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
|
||||
github.com/stretchr/testify v1.4.0 h1:2E4SXV/wtOkTonXsotYi4li6zVWxYlZuYNCXe9XRJyk=
|
||||
github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4=
|
||||
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
||||
gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127 h1:qIbj1fsPNlZgppZ+VLlY7N33q108Sa+fhmuc+sWQYwY=
|
||||
gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
||||
gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
|
||||
gopkg.in/yaml.v2 v2.2.4 h1:/eiJrUcujPVeJ3xlSWaiNi3uSVmDGBK1pDHUHAnao1I=
|
||||
gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
|
|
@ -0,0 +1,28 @@
|
|||
package main
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"log"
|
||||
|
||||
"github.com/markbates/pkger"
|
||||
)
|
||||
|
||||
func main() {
|
||||
if err := run(); err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
}
|
||||
|
||||
func run() error {
|
||||
info, err := pkger.Stat("/go.mod")
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
fmt.Println("Name: ", info.Name())
|
||||
fmt.Println("Size: ", info.Size())
|
||||
fmt.Println("Mode: ", info.Mode())
|
||||
fmt.Println("ModTime: ", info.ModTime())
|
||||
|
||||
return nil
|
||||
}
|
Before Width: | Height: | Size: 27 KiB After Width: | Height: | Size: 27 KiB |
Before Width: | Height: | Size: 27 KiB After Width: | Height: | Size: 27 KiB |
|
@ -0,0 +1,7 @@
|
|||
FROM alpine
|
||||
|
||||
EXPOSE 3000
|
||||
COPY example /bin/
|
||||
|
||||
|
||||
CMD /bin/example
|
|
@ -0,0 +1,4 @@
|
|||
default:
|
||||
GOOS=linux go build -v -o example
|
||||
docker build -t pkger:example .
|
||||
docker run -p 3000:3000 pkger:example
|
|
@ -0,0 +1,3 @@
|
|||
module app
|
||||
|
||||
go 1.13
|
|
@ -0,0 +1,27 @@
|
|||
package main
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"log"
|
||||
"os"
|
||||
)
|
||||
|
||||
func main() {
|
||||
if err := run(); err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
}
|
||||
|
||||
func run() error {
|
||||
info, err := os.Stat("./go.mod")
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
fmt.Println("Name: ", info.Name())
|
||||
fmt.Println("Size: ", info.Size())
|
||||
fmt.Println("Mode: ", info.Mode())
|
||||
fmt.Println("ModTime: ", info.ModTime())
|
||||
|
||||
return nil
|
||||
}
|
After Width: | Height: | Size: 27 KiB |
After Width: | Height: | Size: 27 KiB |
|
@ -0,0 +1,12 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<meta name="viewport" content="width=device-width" />
|
||||
<title>HI</title>
|
||||
</head>
|
||||
<body>
|
||||
HELLO
|
||||
<img src="/images/img1.png" alt=""/>
|
||||
</body>
|
||||
</html>
|
|
@ -1,8 +0,0 @@
|
|||
// +build !skippackr
|
||||
// Code generated by github.com/gobuffalo/packr/v2. DO NOT EDIT.
|
||||
|
||||
// You can use the "packr clean" command to clean up this,
|
||||
// and any other packr generated files.
|
||||
package main
|
||||
|
||||
import _ "app/packrd"
|
22
here/dir.go
|
@ -3,7 +3,9 @@ package here
|
|||
import (
|
||||
"encoding/json"
|
||||
"os"
|
||||
"path"
|
||||
"path/filepath"
|
||||
"strings"
|
||||
)
|
||||
|
||||
// Dir attempts to gather info for the requested directory.
|
||||
|
@ -31,6 +33,26 @@ func Dir(p string) (Info, error) {
|
|||
|
||||
b, err := run("go", "list", "-json")
|
||||
if err != nil {
|
||||
|
||||
es := err.Error()
|
||||
if !(strings.Contains(es, "cannot find module for path .") || strings.Contains(es, "no Go files")) {
|
||||
return i, err
|
||||
}
|
||||
|
||||
info, err := Dir(filepath.Dir(p))
|
||||
if err != nil {
|
||||
return info, err
|
||||
}
|
||||
i.Module = info.Module
|
||||
|
||||
ph := strings.TrimPrefix(p, info.Module.Dir)
|
||||
|
||||
i.ImportPath = path.Join(info.Module.Path, ph)
|
||||
i.Name = path.Base(i.ImportPath)
|
||||
|
||||
ph = filepath.Join(info.Module.Dir, ph)
|
||||
i.Dir = ph
|
||||
|
||||
return i, err
|
||||
}
|
||||
|
||||
|
|
|
@ -2,7 +2,7 @@ package here
|
|||
|
||||
import (
|
||||
"bytes"
|
||||
"os"
|
||||
"fmt"
|
||||
"os/exec"
|
||||
"sync"
|
||||
)
|
||||
|
@ -16,10 +16,10 @@ func run(n string, args ...string) ([]byte, error) {
|
|||
|
||||
bb := &bytes.Buffer{}
|
||||
c.Stdout = bb
|
||||
c.Stderr = os.Stderr
|
||||
c.Stderr = bb
|
||||
err := c.Run()
|
||||
if err != nil {
|
||||
return nil, err
|
||||
return nil, fmt.Errorf("%w: %s", err, bb)
|
||||
}
|
||||
|
||||
return bb.Bytes(), nil
|
||||
|
|
14
here/info.go
|
@ -6,9 +6,6 @@ import (
|
|||
"path/filepath"
|
||||
"runtime"
|
||||
"strings"
|
||||
|
||||
"github.com/markbates/pkger/internal/takeon/github.com/markbates/hepa"
|
||||
"github.com/markbates/pkger/internal/takeon/github.com/markbates/hepa/filters"
|
||||
)
|
||||
|
||||
// Info represents details about the directory/package
|
||||
|
@ -27,16 +24,7 @@ func (fi Info) MarshalJSON() ([]byte, error) {
|
|||
"Dir": fi.Dir,
|
||||
}
|
||||
|
||||
b, err := json.Marshal(mm)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
hep := hepa.New()
|
||||
hep = hepa.With(hep, filters.Home())
|
||||
hep = hepa.With(hep, filters.Golang())
|
||||
|
||||
return hep.Filter(b)
|
||||
return json.Marshal(mm)
|
||||
}
|
||||
|
||||
func (i Info) FilePath(paths ...string) string {
|
||||
|
|
|
@ -2,44 +2,14 @@ package here
|
|||
|
||||
import (
|
||||
"encoding/json"
|
||||
|
||||
"github.com/markbates/pkger/internal/takeon/github.com/markbates/hepa"
|
||||
"github.com/markbates/pkger/internal/takeon/github.com/markbates/hepa/filters"
|
||||
)
|
||||
|
||||
type Module struct {
|
||||
Path string
|
||||
Main bool
|
||||
Dir string
|
||||
GoMod string
|
||||
GoVersion string
|
||||
}
|
||||
|
||||
func (m Module) MarshalJSON() ([]byte, error) {
|
||||
mm := map[string]interface{}{
|
||||
"Main": m.Main,
|
||||
"GoVersion": m.GoVersion,
|
||||
}
|
||||
|
||||
hep := hepa.New()
|
||||
hep = hepa.With(hep, filters.Home())
|
||||
hep = hepa.With(hep, filters.Golang())
|
||||
|
||||
cm := map[string]string{
|
||||
"Path": m.Path,
|
||||
"Dir": m.Dir,
|
||||
"GoMod": m.GoMod,
|
||||
}
|
||||
|
||||
for k, v := range cm {
|
||||
b, err := hep.Filter([]byte(v))
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
mm[k] = string(b)
|
||||
}
|
||||
|
||||
return json.Marshal(mm)
|
||||
Path string `json:"path"`
|
||||
Main bool `json:"main"`
|
||||
Dir string `json:"dir"`
|
||||
GoMod string `json:"go_mod"`
|
||||
GoVersion string `json:"go_version"`
|
||||
}
|
||||
|
||||
func (i Module) String() string {
|
||||
|
|
|
@ -41,7 +41,7 @@ func (i Info) build(p, pkg, name string) (Path, error) {
|
|||
|
||||
if strings.HasPrefix(pt.Pkg, "/") || len(pt.Pkg) == 0 {
|
||||
pt.Name = pt.Pkg
|
||||
pt.Pkg = i.ImportPath
|
||||
pt.Pkg = i.Module.Path
|
||||
}
|
||||
|
||||
if len(pt.Name) == 0 {
|
||||
|
@ -49,7 +49,7 @@ func (i Info) build(p, pkg, name string) (Path, error) {
|
|||
}
|
||||
|
||||
if pt.Pkg == pt.Name {
|
||||
pt.Pkg = i.ImportPath
|
||||
pt.Pkg = i.Module.Path
|
||||
pt.Name = "/"
|
||||
}
|
||||
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
package here_test
|
||||
|
||||
import (
|
||||
"os"
|
||||
"path/filepath"
|
||||
"strings"
|
||||
"testing"
|
||||
|
@ -15,8 +16,9 @@ func Test_Info_Parse(t *testing.T) {
|
|||
|
||||
r := require.New(t)
|
||||
|
||||
app, err := pkgtest.App()
|
||||
app, err := pkgtest.NewRef()
|
||||
r.NoError(err)
|
||||
defer os.RemoveAll(app.Dir)
|
||||
|
||||
ip := app.Info.ImportPath
|
||||
ip2 := "another/app"
|
||||
|
|
|
@ -2,6 +2,8 @@ package here
|
|||
|
||||
import (
|
||||
"encoding/json"
|
||||
"path"
|
||||
"strings"
|
||||
)
|
||||
|
||||
// Package attempts to gather info for the requested package.
|
||||
|
@ -18,7 +20,12 @@ func Package(p string) (Info, error) {
|
|||
var i Info
|
||||
b, err := run("go", "list", "-json", "-find", p)
|
||||
if err != nil {
|
||||
return i, err
|
||||
if !strings.Contains(err.Error(), "can't load package: package") {
|
||||
return i, err
|
||||
}
|
||||
|
||||
p, _ = path.Split(p)
|
||||
return Package(p)
|
||||
}
|
||||
if err := json.Unmarshal(b, &i); err != nil {
|
||||
return i, err
|
||||
|
|
|
@ -10,7 +10,7 @@ var _ Decl = CreateDecl{}
|
|||
|
||||
type CreateDecl struct {
|
||||
file *File
|
||||
pos token.Pos
|
||||
pos token.Position
|
||||
value string
|
||||
}
|
||||
|
||||
|
@ -35,10 +35,7 @@ func (d CreateDecl) File() (*File, error) {
|
|||
return d.file, nil
|
||||
}
|
||||
|
||||
func (d CreateDecl) Pos() (token.Pos, error) {
|
||||
if d.pos <= 0 {
|
||||
return -1, os.ErrNotExist
|
||||
}
|
||||
func (d CreateDecl) Position() (token.Position, error) {
|
||||
return d.pos, nil
|
||||
}
|
||||
|
||||
|
|
|
@ -7,7 +7,7 @@ import (
|
|||
|
||||
type Decl interface {
|
||||
File() (*File, error)
|
||||
Pos() (token.Pos, error)
|
||||
Position() (token.Position, error)
|
||||
Value() (string, error)
|
||||
}
|
||||
|
||||
|
@ -43,7 +43,7 @@ func (decls Decls) Files() ([]*File, error) {
|
|||
}
|
||||
|
||||
for _, f := range files {
|
||||
m[f.Path.String()] = f
|
||||
m[f.Abs] = f
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -10,7 +10,7 @@ var _ Decl = HTTPDecl{}
|
|||
|
||||
type HTTPDecl struct {
|
||||
file *File
|
||||
pos token.Pos
|
||||
pos token.Position
|
||||
value string
|
||||
}
|
||||
|
||||
|
@ -35,10 +35,7 @@ func (d HTTPDecl) File() (*File, error) {
|
|||
return d.file, nil
|
||||
}
|
||||
|
||||
func (d HTTPDecl) Pos() (token.Pos, error) {
|
||||
if d.pos <= 0 {
|
||||
return -1, os.ErrNotExist
|
||||
}
|
||||
func (d HTTPDecl) Position() (token.Position, error) {
|
||||
return d.pos, nil
|
||||
}
|
||||
|
||||
|
@ -55,5 +52,6 @@ func (d HTTPDecl) Files(virtual map[string]string) ([]*File, error) {
|
|||
pos: d.pos,
|
||||
value: d.value,
|
||||
}
|
||||
|
||||
return od.Files(virtual)
|
||||
}
|
||||
|
|
|
@ -10,7 +10,7 @@ var _ Decl = MkdirAllDecl{}
|
|||
|
||||
type MkdirAllDecl struct {
|
||||
file *File
|
||||
pos token.Pos
|
||||
pos token.Position
|
||||
value string
|
||||
}
|
||||
|
||||
|
@ -35,10 +35,7 @@ func (d MkdirAllDecl) File() (*File, error) {
|
|||
return d.file, nil
|
||||
}
|
||||
|
||||
func (d MkdirAllDecl) Pos() (token.Pos, error) {
|
||||
if d.pos <= 0 {
|
||||
return -1, os.ErrNotExist
|
||||
}
|
||||
func (d MkdirAllDecl) Position() (token.Position, error) {
|
||||
return d.pos, nil
|
||||
}
|
||||
|
||||
|
|
|
@ -5,16 +5,13 @@ import (
|
|||
"go/token"
|
||||
"os"
|
||||
"path/filepath"
|
||||
|
||||
"github.com/markbates/pkger"
|
||||
"github.com/markbates/pkger/here"
|
||||
)
|
||||
|
||||
var _ Decl = OpenDecl{}
|
||||
|
||||
type OpenDecl struct {
|
||||
file *File
|
||||
pos token.Pos
|
||||
pos token.Position
|
||||
value string
|
||||
}
|
||||
|
||||
|
@ -39,10 +36,7 @@ func (d OpenDecl) File() (*File, error) {
|
|||
return d.file, nil
|
||||
}
|
||||
|
||||
func (d OpenDecl) Pos() (token.Pos, error) {
|
||||
if d.pos <= 0 {
|
||||
return -1, os.ErrNotExist
|
||||
}
|
||||
func (d OpenDecl) Position() (token.Position, error) {
|
||||
return d.pos, nil
|
||||
}
|
||||
|
||||
|
@ -58,17 +52,10 @@ func (d OpenDecl) Files(virtual map[string]string) ([]*File, error) {
|
|||
return nil, nil
|
||||
}
|
||||
|
||||
pt, err := pkger.Parse(d.value)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
her := d.file.Here
|
||||
pt := d.file.Path
|
||||
|
||||
her, err := here.Package(pt.Pkg)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
fp := filepath.Join(her.Dir, pt.Name)
|
||||
fp := filepath.Join(her.Module.Dir, pt.Name)
|
||||
|
||||
osf, err := os.Stat(fp)
|
||||
if err != nil {
|
||||
|
@ -83,10 +70,9 @@ func (d OpenDecl) Files(virtual map[string]string) ([]*File, error) {
|
|||
}
|
||||
return wd.Files(virtual)
|
||||
}
|
||||
|
||||
var files []*File
|
||||
files = append(files, &File{
|
||||
Abs: filepath.Join(her.Dir, pt.Name),
|
||||
Abs: filepath.Join(her.Module.Dir, pt.Name),
|
||||
Path: pt,
|
||||
Here: her,
|
||||
})
|
||||
|
|
|
@ -5,6 +5,7 @@ import (
|
|||
"go/parser"
|
||||
"go/token"
|
||||
"os"
|
||||
"path/filepath"
|
||||
|
||||
"github.com/markbates/pkger/here"
|
||||
)
|
||||
|
@ -30,30 +31,41 @@ func fromSource(her here.Info) (Decls, error) {
|
|||
return nil, fmt.Errorf("%q is not a directory", root)
|
||||
}
|
||||
|
||||
fset := token.NewFileSet()
|
||||
|
||||
pkgs, err := parser.ParseDir(fset, root, nil, 0)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
var decls Decls
|
||||
|
||||
for _, pkg := range pkgs {
|
||||
for name, pf := range pkg.Files {
|
||||
f := &file{
|
||||
fset: fset,
|
||||
astFile: pf,
|
||||
filename: name,
|
||||
}
|
||||
|
||||
x, err := f.find()
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
decls = append(decls, x...)
|
||||
err = filepath.Walk(root, func(path string, info os.FileInfo, err error) error {
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
return decls, nil
|
||||
fset := token.NewFileSet()
|
||||
|
||||
if !info.IsDir() {
|
||||
return nil
|
||||
}
|
||||
pkgs, err := parser.ParseDir(fset, path, nil, 0)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
for _, pkg := range pkgs {
|
||||
for name, pf := range pkg.Files {
|
||||
f := &file{
|
||||
fset: fset,
|
||||
astFile: pf,
|
||||
filename: name,
|
||||
current: her,
|
||||
}
|
||||
|
||||
x, err := f.find()
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
decls = append(decls, x...)
|
||||
}
|
||||
}
|
||||
return nil
|
||||
})
|
||||
|
||||
return decls, err
|
||||
}
|
||||
|
|
|
@ -1,93 +1,69 @@
|
|||
package parser_test
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"os"
|
||||
"path/filepath"
|
||||
"sort"
|
||||
"strings"
|
||||
"testing"
|
||||
|
||||
"github.com/markbates/pkger/here"
|
||||
"github.com/markbates/pkger/parser"
|
||||
"github.com/markbates/pkger/pkging/pkgtest"
|
||||
"github.com/markbates/pkger/pkging/stdos"
|
||||
"github.com/stretchr/testify/require"
|
||||
)
|
||||
|
||||
func Test_Parser_App(t *testing.T) {
|
||||
func Test_Parser_Ref(t *testing.T) {
|
||||
r := require.New(t)
|
||||
|
||||
app, err := pkgtest.App()
|
||||
ref, err := pkgtest.NewRef()
|
||||
r.NoError(err)
|
||||
defer os.RemoveAll(ref.Dir)
|
||||
|
||||
disk, err := stdos.New(ref.Info)
|
||||
r.NoError(err)
|
||||
|
||||
res, err := parser.Parse(app.Info)
|
||||
_, err = pkgtest.LoadFiles("/", ref, disk)
|
||||
r.NoError(err)
|
||||
|
||||
res, err := parser.Parse(ref.Info)
|
||||
|
||||
r.NoError(err)
|
||||
|
||||
files, err := res.Files()
|
||||
r.NoError(err)
|
||||
r.Len(files, 22)
|
||||
|
||||
act := make([]string, len(files))
|
||||
for i := 0; i < len(files); i++ {
|
||||
act[i] = files[i].Path.String()
|
||||
for _, f := range files {
|
||||
r.True(strings.HasPrefix(f.Abs, ref.Dir), "%q %q", f.Abs, ref.Dir)
|
||||
}
|
||||
|
||||
sort.Strings(act)
|
||||
|
||||
for _, a := range act {
|
||||
fmt.Println(a)
|
||||
}
|
||||
r.Equal(app.Paths.Parser, act)
|
||||
}
|
||||
|
||||
func Test_Parse_Dynamic_Files(t *testing.T) {
|
||||
func Test_Parser_Example_HTTP(t *testing.T) {
|
||||
r := require.New(t)
|
||||
|
||||
app, err := dynamic()
|
||||
cur, err := here.Current()
|
||||
r.NoError(err)
|
||||
|
||||
res, err := parser.Parse(app.Info)
|
||||
pwd, err := os.Getwd()
|
||||
r.NoError(err)
|
||||
defer os.Chdir(pwd)
|
||||
|
||||
root := filepath.Join(cur.Dir, "examples", "http", "pkger")
|
||||
r.NoError(os.Chdir(root))
|
||||
|
||||
her, err := here.Dir(".")
|
||||
r.NoError(err)
|
||||
|
||||
res, err := parser.Parse(her)
|
||||
r.NoError(err)
|
||||
|
||||
files, err := res.Files()
|
||||
r.NoError(err)
|
||||
r.Len(files, 5)
|
||||
|
||||
r.Len(files, 1)
|
||||
|
||||
f := files[0]
|
||||
r.Equal("/go.mod", f.Path.Name)
|
||||
}
|
||||
|
||||
// dynamic returns here.info that represents the
|
||||
// ./internal/testdata/app. This should be used
|
||||
// by tests.
|
||||
func dynamic() (pkgtest.AppDetails, error) {
|
||||
var app pkgtest.AppDetails
|
||||
|
||||
her, err := here.Package("github.com/markbates/pkger")
|
||||
if err != nil {
|
||||
return app, err
|
||||
}
|
||||
|
||||
info := here.Info{
|
||||
ImportPath: "dynamic",
|
||||
}
|
||||
|
||||
ch := filepath.Join(
|
||||
her.Dir,
|
||||
"pkging",
|
||||
"pkgtest",
|
||||
"internal",
|
||||
"testdata",
|
||||
"dynamic")
|
||||
|
||||
info.Dir = ch
|
||||
|
||||
info, err = here.Cache(info.ImportPath, func(s string) (here.Info, error) {
|
||||
return info, nil
|
||||
})
|
||||
if err != nil {
|
||||
return app, err
|
||||
}
|
||||
app.Info = info
|
||||
return app, nil
|
||||
for _, f := range files {
|
||||
r.True(strings.HasPrefix(f.Abs, her.Dir), "%q %q", f.Abs, her.Dir)
|
||||
r.True(strings.HasPrefix(f.Path.Name, "/public"), "%q %q", f.Path.Name, "/public")
|
||||
}
|
||||
}
|
||||
|
|
|
@ -4,17 +4,13 @@ import (
|
|||
"encoding/json"
|
||||
"go/token"
|
||||
"os"
|
||||
"path/filepath"
|
||||
|
||||
"github.com/markbates/pkger"
|
||||
"github.com/markbates/pkger/here"
|
||||
)
|
||||
|
||||
var _ Decl = StatDecl{}
|
||||
|
||||
type StatDecl struct {
|
||||
file *File
|
||||
pos token.Pos
|
||||
pos token.Position
|
||||
value string
|
||||
}
|
||||
|
||||
|
@ -39,10 +35,7 @@ func (d StatDecl) File() (*File, error) {
|
|||
return d.file, nil
|
||||
}
|
||||
|
||||
func (d StatDecl) Pos() (token.Pos, error) {
|
||||
if d.pos <= 0 {
|
||||
return -1, os.ErrNotExist
|
||||
}
|
||||
func (d StatDecl) Position() (token.Position, error) {
|
||||
return d.pos, nil
|
||||
}
|
||||
|
||||
|
@ -54,26 +47,11 @@ func (d StatDecl) Value() (string, error) {
|
|||
}
|
||||
|
||||
func (d StatDecl) Files(virtual map[string]string) ([]*File, error) {
|
||||
if _, ok := virtual[d.value]; ok {
|
||||
return nil, nil
|
||||
od := OpenDecl{
|
||||
file: d.file,
|
||||
pos: d.pos,
|
||||
value: d.value,
|
||||
}
|
||||
|
||||
pt, err := pkger.Parse(d.value)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
her, err := here.Package(pt.Pkg)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
var files []*File
|
||||
files = append(files, &File{
|
||||
Abs: filepath.Join(her.Dir, pt.Name),
|
||||
Path: pt,
|
||||
Here: her,
|
||||
})
|
||||
|
||||
return files, nil
|
||||
return od.Files(virtual)
|
||||
}
|
||||
|
|
|
@ -21,6 +21,7 @@ type file struct {
|
|||
astFile *ast.File
|
||||
filename string
|
||||
decls Decls
|
||||
current here.Info
|
||||
}
|
||||
|
||||
func (f *file) walk(fn func(ast.Node) bool) {
|
||||
|
@ -98,11 +99,15 @@ func (f *file) findMkdirAllCalls() error {
|
|||
pf := &File{
|
||||
Abs: f.filename,
|
||||
Here: info,
|
||||
Path: here.Path{
|
||||
Pkg: info.Module.Path,
|
||||
Name: s,
|
||||
},
|
||||
}
|
||||
|
||||
decl := MkdirAllDecl{
|
||||
file: pf,
|
||||
pos: n.Pos(),
|
||||
pos: f.fset.Position(n.Pos()),
|
||||
value: s,
|
||||
}
|
||||
|
||||
|
@ -140,11 +145,15 @@ func (f *file) findStatCalls() error {
|
|||
pf := &File{
|
||||
Abs: f.filename,
|
||||
Here: info,
|
||||
Path: here.Path{
|
||||
Pkg: info.Module.Path,
|
||||
Name: s,
|
||||
},
|
||||
}
|
||||
|
||||
decl := StatDecl{
|
||||
file: pf,
|
||||
pos: n.Pos(),
|
||||
pos: f.fset.Position(n.Pos()),
|
||||
value: s,
|
||||
}
|
||||
|
||||
|
@ -153,6 +162,7 @@ func (f *file) findStatCalls() error {
|
|||
})
|
||||
return err
|
||||
}
|
||||
|
||||
func (f *file) findCreateCalls() error {
|
||||
var err error
|
||||
f.walk(func(node ast.Node) bool {
|
||||
|
@ -181,11 +191,15 @@ func (f *file) findCreateCalls() error {
|
|||
pf := &File{
|
||||
Abs: f.filename,
|
||||
Here: info,
|
||||
Path: here.Path{
|
||||
Pkg: info.Module.Path,
|
||||
Name: s,
|
||||
},
|
||||
}
|
||||
|
||||
decl := CreateDecl{
|
||||
file: pf,
|
||||
pos: n.Pos(),
|
||||
pos: f.fset.Position(n.Pos()),
|
||||
value: s,
|
||||
}
|
||||
|
||||
|
@ -194,6 +208,7 @@ func (f *file) findCreateCalls() error {
|
|||
})
|
||||
return err
|
||||
}
|
||||
|
||||
func (f *file) findOpenCalls() error {
|
||||
var err error
|
||||
f.walk(func(node ast.Node) bool {
|
||||
|
@ -222,11 +237,15 @@ func (f *file) findOpenCalls() error {
|
|||
pf := &File{
|
||||
Abs: f.filename,
|
||||
Here: info,
|
||||
Path: here.Path{
|
||||
Pkg: info.Module.Path,
|
||||
Name: s,
|
||||
},
|
||||
}
|
||||
|
||||
decl := OpenDecl{
|
||||
file: pf,
|
||||
pos: n.Pos(),
|
||||
pos: f.fset.Position(n.Pos()),
|
||||
value: s,
|
||||
}
|
||||
|
||||
|
@ -253,22 +272,29 @@ func (f *file) findWalkCalls() error {
|
|||
|
||||
s, err := f.asValue(n)
|
||||
if err != nil {
|
||||
err = err
|
||||
return false
|
||||
}
|
||||
|
||||
info, err := here.Dir(filepath.Dir(f.filename))
|
||||
dir := filepath.Dir(f.filename)
|
||||
info, err := here.Dir(dir)
|
||||
if err != nil {
|
||||
err = err
|
||||
return false
|
||||
}
|
||||
|
||||
pf := &File{
|
||||
Abs: f.filename,
|
||||
Here: info,
|
||||
Path: here.Path{
|
||||
Pkg: info.Module.Path,
|
||||
Name: s,
|
||||
},
|
||||
}
|
||||
|
||||
decl := WalkDecl{
|
||||
file: pf,
|
||||
pos: n.Pos(),
|
||||
pos: f.fset.Position(n.Pos()),
|
||||
value: s,
|
||||
}
|
||||
|
||||
|
@ -306,11 +332,16 @@ func (f *file) findHTTPCalls() error {
|
|||
pf := &File{
|
||||
Abs: f.filename,
|
||||
Here: info,
|
||||
Path: here.Path{
|
||||
Pkg: info.Module.Path,
|
||||
Name: s,
|
||||
},
|
||||
}
|
||||
|
||||
pos := f.fset.Position(n.Pos())
|
||||
decl := HTTPDecl{
|
||||
file: pf,
|
||||
pos: n.Pos(),
|
||||
pos: pos,
|
||||
value: s,
|
||||
}
|
||||
|
||||
|
|
|
@ -7,7 +7,6 @@ import (
|
|||
"path/filepath"
|
||||
"strings"
|
||||
|
||||
"github.com/markbates/pkger"
|
||||
"github.com/markbates/pkger/here"
|
||||
)
|
||||
|
||||
|
@ -15,7 +14,7 @@ var _ Decl = WalkDecl{}
|
|||
|
||||
type WalkDecl struct {
|
||||
file *File
|
||||
pos token.Pos
|
||||
pos token.Position
|
||||
value string
|
||||
}
|
||||
|
||||
|
@ -40,10 +39,7 @@ func (d WalkDecl) File() (*File, error) {
|
|||
return d.file, nil
|
||||
}
|
||||
|
||||
func (d WalkDecl) Pos() (token.Pos, error) {
|
||||
if d.pos <= 0 {
|
||||
return -1, os.ErrNotExist
|
||||
}
|
||||
func (d WalkDecl) Position() (token.Position, error) {
|
||||
return d.pos, nil
|
||||
}
|
||||
|
||||
|
@ -55,25 +51,32 @@ func (d WalkDecl) Value() (string, error) {
|
|||
}
|
||||
|
||||
func (d WalkDecl) Files(virtual map[string]string) ([]*File, error) {
|
||||
pt, err := pkger.Parse(d.value)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
cur, err := here.Package(pt.Pkg)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
root := filepath.Join(cur.Dir, pt.Name)
|
||||
|
||||
var files []*File
|
||||
err = filepath.Walk(root, func(path string, info os.FileInfo, err error) error {
|
||||
|
||||
her := d.file.Here
|
||||
pt := d.file.Path
|
||||
|
||||
root := filepath.Join(her.Module.Dir, pt.Name)
|
||||
|
||||
err := filepath.Walk(root, func(path string, info os.FileInfo, err error) error {
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if info.IsDir() {
|
||||
her, err = here.Dir(path)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
n := strings.TrimPrefix(path, her.Module.Dir)
|
||||
|
||||
pt, err := her.Parse(n)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
n := strings.TrimPrefix(path, cur.Dir)
|
||||
if _, ok := virtual[n]; ok {
|
||||
if info.IsDir() {
|
||||
return filepath.SkipDir
|
||||
|
@ -81,16 +84,10 @@ func (d WalkDecl) Files(virtual map[string]string) ([]*File, error) {
|
|||
return nil
|
||||
}
|
||||
|
||||
pt, err := pkger.Parse(n)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
pt.Pkg = cur.ImportPath
|
||||
|
||||
files = append(files, &File{
|
||||
Abs: path,
|
||||
Path: pt,
|
||||
Here: cur,
|
||||
Here: her,
|
||||
})
|
||||
return nil
|
||||
})
|
||||
|
|
12
pkger.go
|
@ -39,7 +39,7 @@ func impl() pkging.Pkger {
|
|||
type Dir string
|
||||
|
||||
func (d Dir) Open(name string) (http.File, error) {
|
||||
f, err := Open(string(d))
|
||||
f, err := impl().Open(string(d))
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
@ -51,16 +51,6 @@ func Parse(p string) (here.Path, error) {
|
|||
return impl().Parse(p)
|
||||
}
|
||||
|
||||
// Abs returns an absolute representation of path. If the path is not absolute it will be joined with the current working directory to turn it into an absolute path. The absolute path name for a given file is not guaranteed to be unique. Abs calls Clean on the result.
|
||||
func Abs(p string) (string, error) {
|
||||
return impl().Abs(p)
|
||||
}
|
||||
|
||||
// AbsPath returns an absolute representation of here.Path. If the path is not absolute it will be joined with the current working directory to turn it into an absolute path. The absolute path name for a given file is not guaranteed to be unique. AbsPath calls Clean on the result.
|
||||
func AbsPath(p here.Path) (string, error) {
|
||||
return impl().AbsPath(p)
|
||||
}
|
||||
|
||||
// Current returns the here.Info representing the current Pkger implementation.
|
||||
func Current() (here.Info, error) {
|
||||
return impl().Current()
|
||||
|
|
|
@ -2,10 +2,8 @@ package pkger
|
|||
|
||||
import (
|
||||
"os"
|
||||
"path/filepath"
|
||||
"testing"
|
||||
|
||||
"github.com/markbates/pkger/here"
|
||||
"github.com/stretchr/testify/require"
|
||||
)
|
||||
|
||||
|
@ -18,31 +16,6 @@ func Test_Parse(t *testing.T) {
|
|||
r.Equal("/little", pt.Name)
|
||||
}
|
||||
|
||||
func Test_Abs(t *testing.T) {
|
||||
r := require.New(t)
|
||||
|
||||
s, err := Abs(":/rocket.ship")
|
||||
r.NoError(err)
|
||||
|
||||
pwd, err := os.Getwd()
|
||||
r.NoError(err)
|
||||
r.Equal(filepath.Join(pwd, "rocket.ship"), s)
|
||||
}
|
||||
|
||||
func Test_AbsPath(t *testing.T) {
|
||||
r := require.New(t)
|
||||
|
||||
s, err := AbsPath(here.Path{
|
||||
Pkg: "github.com/markbates/pkger",
|
||||
Name: "/rocket.ship",
|
||||
})
|
||||
r.NoError(err)
|
||||
|
||||
pwd, err := os.Getwd()
|
||||
r.NoError(err)
|
||||
r.Equal(filepath.Join(pwd, "rocket.ship"), s)
|
||||
}
|
||||
|
||||
func Test_Current(t *testing.T) {
|
||||
r := require.New(t)
|
||||
|
||||
|
@ -96,7 +69,7 @@ func Test_Walk(t *testing.T) {
|
|||
r := require.New(t)
|
||||
|
||||
files := map[string]os.FileInfo{}
|
||||
err := Walk("/pkging/pkgtest/internal/testdata/app", func(path string, info os.FileInfo, err error) error {
|
||||
err := Walk("/pkging/pkgtest/testdata/ref", func(path string, info os.FileInfo, err error) error {
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
|
|
@ -11,9 +11,6 @@ type File interface {
|
|||
// Close closes the File, rendering it unusable for I/O.
|
||||
Close() error
|
||||
|
||||
// Abs returns an absolute representation of the file. If the path is not absolute it will be joined with the current working directory to turn it into an absolute path. The absolute path name for a given file is not guaranteed to be unique. Abs calls Clean on the result.
|
||||
Abs() (string, error)
|
||||
|
||||
// Info returns the here.Info of the file
|
||||
Info() here.Info
|
||||
|
||||
|
|
|
@ -6,18 +6,18 @@ import (
|
|||
"testing"
|
||||
"time"
|
||||
|
||||
"github.com/markbates/pkger/here"
|
||||
"github.com/markbates/pkger/pkging"
|
||||
"github.com/markbates/pkger/pkging/pkgtest"
|
||||
"github.com/stretchr/testify/require"
|
||||
)
|
||||
|
||||
func Test_NewFileInfo(t *testing.T) {
|
||||
r := require.New(t)
|
||||
|
||||
app, err := pkgtest.App()
|
||||
her, err := here.Current()
|
||||
r.NoError(err)
|
||||
|
||||
exp, err := os.Stat(filepath.Join(app.Info.Dir, "go.mod"))
|
||||
exp, err := os.Stat(filepath.Join(her.Dir, "go.mod"))
|
||||
r.NoError(err)
|
||||
|
||||
act := pkging.NewFileInfo(exp)
|
||||
|
|
|
@ -25,7 +25,12 @@ func (fx *Pkger) Add(files ...*os.File) error {
|
|||
return err
|
||||
}
|
||||
|
||||
her, err := here.Package(pt.Pkg)
|
||||
dir := f.Name()
|
||||
if !info.IsDir() {
|
||||
dir = filepath.Dir(dir)
|
||||
}
|
||||
|
||||
her, err := here.Dir(dir)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
|
|
@ -3,31 +3,28 @@ package mem_test
|
|||
import (
|
||||
"os"
|
||||
"path/filepath"
|
||||
"sort"
|
||||
"testing"
|
||||
|
||||
"github.com/markbates/pkger/here"
|
||||
"github.com/markbates/pkger/pkging/mem"
|
||||
"github.com/markbates/pkger/pkging/pkgtest"
|
||||
"github.com/stretchr/testify/require"
|
||||
)
|
||||
|
||||
func Test_Pkger_Add(t *testing.T) {
|
||||
r := require.New(t)
|
||||
|
||||
app, err := pkgtest.App()
|
||||
cur, err := here.Package("github.com/markbates/pkger")
|
||||
r.NoError(err)
|
||||
|
||||
pkg, err := mem.New(app.Info)
|
||||
pkg, err := mem.New(cur)
|
||||
r.NoError(err)
|
||||
|
||||
root := app.Info.Dir
|
||||
|
||||
var exp []os.FileInfo
|
||||
root := filepath.Join(cur.Dir, "pkging", "pkgtest", "testdata", "ref")
|
||||
err = filepath.Walk(root, func(path string, info os.FileInfo, err error) error {
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
exp = append(exp, info)
|
||||
|
||||
f, err := os.Open(path)
|
||||
if err != nil {
|
||||
|
@ -35,16 +32,11 @@ func Test_Pkger_Add(t *testing.T) {
|
|||
}
|
||||
defer f.Close()
|
||||
|
||||
exp = append(exp, info)
|
||||
return pkg.Add(f)
|
||||
|
||||
})
|
||||
|
||||
r.NoError(err)
|
||||
|
||||
sort.Slice(exp, func(i, j int) bool {
|
||||
return exp[i].Name() < exp[j].Name()
|
||||
})
|
||||
|
||||
var act []os.FileInfo
|
||||
err = pkg.Walk("/", func(path string, info os.FileInfo, err error) error {
|
||||
if err != nil {
|
||||
|
@ -55,10 +47,6 @@ func Test_Pkger_Add(t *testing.T) {
|
|||
})
|
||||
r.NoError(err)
|
||||
|
||||
sort.Slice(act, func(i, j int) bool {
|
||||
return act[i].Name() < act[j].Name()
|
||||
})
|
||||
|
||||
r.Len(act, len(exp))
|
||||
|
||||
for i, e := range exp {
|
||||
|
|
|
@ -0,0 +1,22 @@
|
|||
package mem
|
||||
|
||||
import (
|
||||
"os"
|
||||
"testing"
|
||||
|
||||
"github.com/markbates/pkger/pkging/pkgtest"
|
||||
"github.com/stretchr/testify/require"
|
||||
)
|
||||
|
||||
func Test_Pkger_Create(t *testing.T) {
|
||||
r := require.New(t)
|
||||
|
||||
ref, err := pkgtest.NewRef()
|
||||
r.NoError(err)
|
||||
defer os.RemoveAll(ref.Dir)
|
||||
|
||||
pkg, err := New(ref.Info)
|
||||
r.NoError(err)
|
||||
|
||||
pkgtest.CreateTest(t, ref, pkg)
|
||||
}
|
|
@ -0,0 +1,22 @@
|
|||
package mem
|
||||
|
||||
import (
|
||||
"os"
|
||||
"testing"
|
||||
|
||||
"github.com/markbates/pkger/pkging/pkgtest"
|
||||
"github.com/stretchr/testify/require"
|
||||
)
|
||||
|
||||
func Test_Pkger_Current(t *testing.T) {
|
||||
r := require.New(t)
|
||||
|
||||
ref, err := pkgtest.NewRef()
|
||||
r.NoError(err)
|
||||
defer os.RemoveAll(ref.Dir)
|
||||
|
||||
pkg, err := New(ref.Info)
|
||||
r.NoError(err)
|
||||
|
||||
pkgtest.CurrentTest(t, ref, pkg)
|
||||
}
|
|
@ -104,11 +104,6 @@ func (f File) Name() string {
|
|||
return f.path.String()
|
||||
}
|
||||
|
||||
// Abs returns an absolute representation of the file. If the path is not absolute it will be joined with the current working directory to turn it into an absolute path. The absolute path name for a given file is not guaranteed to be unique. Abs calls Clean on the result.
|
||||
func (f File) Abs() (string, error) {
|
||||
return f.pkging.AbsPath(f.Path())
|
||||
}
|
||||
|
||||
// Path returns the here.Path of the file
|
||||
func (f File) Path() here.Path {
|
||||
return f.path
|
||||
|
|
|
@ -0,0 +1,22 @@
|
|||
package mem
|
||||
|
||||
import (
|
||||
"os"
|
||||
"testing"
|
||||
|
||||
"github.com/markbates/pkger/pkging/pkgtest"
|
||||
"github.com/stretchr/testify/require"
|
||||
)
|
||||
|
||||
func Test_Pkger_HTTP(t *testing.T) {
|
||||
r := require.New(t)
|
||||
|
||||
ref, err := pkgtest.NewRef()
|
||||
r.NoError(err)
|
||||
defer os.RemoveAll(ref.Dir)
|
||||
|
||||
pkg, err := New(ref.Info)
|
||||
r.NoError(err)
|
||||
|
||||
pkgtest.HTTPTest(t, ref, pkg)
|
||||
}
|
|
@ -0,0 +1,22 @@
|
|||
package mem
|
||||
|
||||
import (
|
||||
"os"
|
||||
"testing"
|
||||
|
||||
"github.com/markbates/pkger/pkging/pkgtest"
|
||||
"github.com/stretchr/testify/require"
|
||||
)
|
||||
|
||||
func Test_Pkger_Info(t *testing.T) {
|
||||
r := require.New(t)
|
||||
|
||||
ref, err := pkgtest.NewRef()
|
||||
r.NoError(err)
|
||||
defer os.RemoveAll(ref.Dir)
|
||||
|
||||
pkg, err := New(ref.Info)
|
||||
r.NoError(err)
|
||||
|
||||
pkgtest.InfoTest(t, ref, pkg)
|
||||
}
|
|
@ -32,20 +32,6 @@ type Pkger struct {
|
|||
files *maps.Files
|
||||
}
|
||||
|
||||
// Abs returns an absolute representation of path. If the path is not absolute it will be joined with the current working directory to turn it into an absolute path. The absolute path name for a given file is not guaranteed to be unique. Abs calls Clean on the result.
|
||||
func (f *Pkger) Abs(p string) (string, error) {
|
||||
pt, err := f.Parse(p)
|
||||
if err != nil {
|
||||
return "", err
|
||||
}
|
||||
return f.AbsPath(pt)
|
||||
}
|
||||
|
||||
// AbsPath returns an absolute representation of here.Path. If the path is not absolute it will be joined with the current working directory to turn it into an absolute path. The absolute path name for a given file is not guaranteed to be unique. AbsPath calls Clean on the result.
|
||||
func (f *Pkger) AbsPath(pt here.Path) (string, error) {
|
||||
return pt.String(), nil
|
||||
}
|
||||
|
||||
// Current returns the here.Info representing the current Pkger implementation.
|
||||
func (f *Pkger) Current() (here.Info, error) {
|
||||
return f.Here, nil
|
||||
|
|
|
@ -9,22 +9,7 @@ import (
|
|||
)
|
||||
|
||||
func Test_Pkger(t *testing.T) {
|
||||
suite, err := pkgtest.NewSuite("memos", func() (pkging.Pkger, error) {
|
||||
app, err := pkgtest.App()
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
pkg, err := mem.New(app.Info)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return pkg, nil
|
||||
pkgtest.All(t, func(ref *pkgtest.Ref) (pkging.Pkger, error) {
|
||||
return mem.New(ref.Info)
|
||||
})
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
suite.Test(t)
|
||||
}
|
||||
|
|
|
@ -0,0 +1,22 @@
|
|||
package mem
|
||||
|
||||
import (
|
||||
"os"
|
||||
"testing"
|
||||
|
||||
"github.com/markbates/pkger/pkging/pkgtest"
|
||||
"github.com/stretchr/testify/require"
|
||||
)
|
||||
|
||||
func Test_Pkger_MkdirAll(t *testing.T) {
|
||||
r := require.New(t)
|
||||
|
||||
ref, err := pkgtest.NewRef()
|
||||
r.NoError(err)
|
||||
defer os.RemoveAll(ref.Dir)
|
||||
|
||||
pkg, err := New(ref.Info)
|
||||
r.NoError(err)
|
||||
|
||||
pkgtest.MkdirAllTest(t, ref, pkg)
|
||||
}
|
|
@ -0,0 +1,22 @@
|
|||
package mem
|
||||
|
||||
import (
|
||||
"os"
|
||||
"testing"
|
||||
|
||||
"github.com/markbates/pkger/pkging/pkgtest"
|
||||
"github.com/stretchr/testify/require"
|
||||
)
|
||||
|
||||
func Test_Pkger_Open(t *testing.T) {
|
||||
r := require.New(t)
|
||||
|
||||
ref, err := pkgtest.NewRef()
|
||||
r.NoError(err)
|
||||
defer os.RemoveAll(ref.Dir)
|
||||
|
||||
pkg, err := New(ref.Info)
|
||||
r.NoError(err)
|
||||
|
||||
pkgtest.OpenTest(t, ref, pkg)
|
||||
}
|
|
@ -0,0 +1,22 @@
|
|||
package mem
|
||||
|
||||
import (
|
||||
"os"
|
||||
"testing"
|
||||
|
||||
"github.com/markbates/pkger/pkging/pkgtest"
|
||||
"github.com/stretchr/testify/require"
|
||||
)
|
||||
|
||||
func Test_Pkger_Remove(t *testing.T) {
|
||||
r := require.New(t)
|
||||
|
||||
ref, err := pkgtest.NewRef()
|
||||
r.NoError(err)
|
||||
defer os.RemoveAll(ref.Dir)
|
||||
|
||||
pkg, err := New(ref.Info)
|
||||
r.NoError(err)
|
||||
|
||||
pkgtest.RemoveTest(t, ref, pkg)
|
||||
}
|
|
@ -0,0 +1,22 @@
|
|||
package mem
|
||||
|
||||
import (
|
||||
"os"
|
||||
"testing"
|
||||
|
||||
"github.com/markbates/pkger/pkging/pkgtest"
|
||||
"github.com/stretchr/testify/require"
|
||||
)
|
||||
|
||||
func Test_Pkger_RemoveAll(t *testing.T) {
|
||||
r := require.New(t)
|
||||
|
||||
ref, err := pkgtest.NewRef()
|
||||
r.NoError(err)
|
||||
defer os.RemoveAll(ref.Dir)
|
||||
|
||||
pkg, err := New(ref.Info)
|
||||
r.NoError(err)
|
||||
|
||||
pkgtest.RemoveAllTest(t, ref, pkg)
|
||||
}
|
|
@ -0,0 +1,22 @@
|
|||
package mem
|
||||
|
||||
import (
|
||||
"os"
|
||||
"testing"
|
||||
|
||||
"github.com/markbates/pkger/pkging/pkgtest"
|
||||
"github.com/stretchr/testify/require"
|
||||
)
|
||||
|
||||
func Test_Pkger_Stat(t *testing.T) {
|
||||
r := require.New(t)
|
||||
|
||||
ref, err := pkgtest.NewRef()
|
||||
r.NoError(err)
|
||||
defer os.RemoveAll(ref.Dir)
|
||||
|
||||
pkg, err := New(ref.Info)
|
||||
r.NoError(err)
|
||||
|
||||
pkgtest.StatTest(t, ref, pkg)
|
||||
}
|
|
@ -0,0 +1,22 @@
|
|||
package mem
|
||||
|
||||
import (
|
||||
"os"
|
||||
"testing"
|
||||
|
||||
"github.com/markbates/pkger/pkging/pkgtest"
|
||||
"github.com/stretchr/testify/require"
|
||||
)
|
||||
|
||||
func Test_Pkger_Walk(t *testing.T) {
|
||||
r := require.New(t)
|
||||
|
||||
ref, err := pkgtest.NewRef()
|
||||
r.NoError(err)
|
||||
defer os.RemoveAll(ref.Dir)
|
||||
|
||||
pkg, err := New(ref.Info)
|
||||
r.NoError(err)
|
||||
|
||||
pkgtest.WalkTest(t, ref, pkg)
|
||||
}
|
|
@ -0,0 +1,27 @@
|
|||
package pkging
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
"testing"
|
||||
"time"
|
||||
|
||||
"github.com/stretchr/testify/require"
|
||||
)
|
||||
|
||||
func Test_ModTime(t *testing.T) {
|
||||
r := require.New(t)
|
||||
|
||||
now := time.Now()
|
||||
|
||||
mt := ModTime(now)
|
||||
|
||||
b, err := mt.MarshalJSON()
|
||||
r.NoError(err)
|
||||
|
||||
var mt2 ModTime
|
||||
r.NoError(json.Unmarshal(b, &mt2))
|
||||
|
||||
at := time.Time(mt).Format(time.RFC3339)
|
||||
bt := time.Time(mt2).Format(time.RFC3339)
|
||||
r.Equal(at, bt)
|
||||
}
|
|
@ -11,12 +11,6 @@ type Pkger interface {
|
|||
// Parse the string in here.Path format.
|
||||
Parse(p string) (here.Path, error)
|
||||
|
||||
// Abs returns an absolute representation of path. If the path is not absolute it will be joined with the current working directory to turn it into an absolute path. The absolute path name for a given file is not guaranteed to be unique. Abs calls Clean on the result.
|
||||
Abs(p string) (string, error)
|
||||
|
||||
// AbsPath returns an absolute representation of here.Path. If the path is not absolute it will be joined with the current working directory to turn it into an absolute path. The absolute path name for a given file is not guaranteed to be unique. AbsPath calls Clean on the result.
|
||||
AbsPath(here.Path) (string, error)
|
||||
|
||||
// Current returns the here.Info representing the current Pkger implementation.
|
||||
Current() (here.Info, error)
|
||||
|
||||
|
|
|
@ -1,129 +0,0 @@
|
|||
package pkgtest
|
||||
|
||||
import (
|
||||
"path/filepath"
|
||||
|
||||
"github.com/markbates/pkger/here"
|
||||
)
|
||||
|
||||
type AppDetails struct {
|
||||
here.Info
|
||||
Paths struct {
|
||||
Root []string
|
||||
Parser []string
|
||||
Public []string
|
||||
}
|
||||
}
|
||||
|
||||
// App returns here.info that represents the
|
||||
// ./internal/testdata/app. This should be used
|
||||
// by tests.
|
||||
func App() (AppDetails, error) {
|
||||
var app AppDetails
|
||||
|
||||
her, err := here.Package("github.com/markbates/pkger")
|
||||
if err != nil {
|
||||
return app, err
|
||||
}
|
||||
|
||||
info := here.Info{
|
||||
ImportPath: "app",
|
||||
}
|
||||
|
||||
x := make([]string, len(rootPaths))
|
||||
copy(x, rootPaths)
|
||||
app.Paths.Root = x
|
||||
|
||||
x = make([]string, len(parserPaths))
|
||||
copy(x, parserPaths)
|
||||
app.Paths.Parser = x
|
||||
|
||||
x = make([]string, len(publicPaths))
|
||||
copy(x, publicPaths)
|
||||
app.Paths.Public = x
|
||||
|
||||
ch := filepath.Join(
|
||||
her.Dir,
|
||||
"pkging",
|
||||
"pkgtest",
|
||||
"internal",
|
||||
"testdata",
|
||||
"app")
|
||||
|
||||
info.Dir = ch
|
||||
|
||||
info, err = here.Cache(info.ImportPath, func(s string) (here.Info, error) {
|
||||
return info, nil
|
||||
})
|
||||
if err != nil {
|
||||
return app, err
|
||||
}
|
||||
app.Info = info
|
||||
return app, nil
|
||||
}
|
||||
|
||||
var rootPaths = []string{
|
||||
"app:/",
|
||||
"app:/go.mod",
|
||||
"app:/go.sum",
|
||||
"app:/main.go",
|
||||
"app:/public",
|
||||
"app:/public/images",
|
||||
"app:/public/images/img1.png",
|
||||
"app:/public/images/img2.png",
|
||||
"app:/public/index.html",
|
||||
"app:/templates",
|
||||
"app:/templates/a.txt",
|
||||
"app:/templates/b",
|
||||
"app:/templates/b/b.txt",
|
||||
}
|
||||
|
||||
var publicPaths = []string{
|
||||
"app:/public",
|
||||
"app:/public/images",
|
||||
"app:/public/images/img1.png",
|
||||
"app:/public/images/img2.png",
|
||||
"app:/public/index.html",
|
||||
}
|
||||
|
||||
var parserPaths = []string{
|
||||
"app:/public",
|
||||
"app:/public/images",
|
||||
"app:/public/images/img1.png",
|
||||
"app:/public/images/img2.png",
|
||||
"app:/public/index.html",
|
||||
"github.com/gobuffalo/buffalo:/render",
|
||||
"github.com/gobuffalo/buffalo:/render/auto.go",
|
||||
"github.com/gobuffalo/buffalo:/render/auto_test.go",
|
||||
"github.com/gobuffalo/buffalo:/render/download.go",
|
||||
"github.com/gobuffalo/buffalo:/render/download_test.go",
|
||||
"github.com/gobuffalo/buffalo:/render/func.go",
|
||||
"github.com/gobuffalo/buffalo:/render/func_test.go",
|
||||
"github.com/gobuffalo/buffalo:/render/helpers.go",
|
||||
"github.com/gobuffalo/buffalo:/render/html.go",
|
||||
"github.com/gobuffalo/buffalo:/render/html_test.go",
|
||||
"github.com/gobuffalo/buffalo:/render/js.go",
|
||||
"github.com/gobuffalo/buffalo:/render/js_test.go",
|
||||
"github.com/gobuffalo/buffalo:/render/json.go",
|
||||
"github.com/gobuffalo/buffalo:/render/json_test.go",
|
||||
"github.com/gobuffalo/buffalo:/render/markdown_test.go",
|
||||
"github.com/gobuffalo/buffalo:/render/options.go",
|
||||
"github.com/gobuffalo/buffalo:/render/partials_test.go",
|
||||
"github.com/gobuffalo/buffalo:/render/plain.go",
|
||||
"github.com/gobuffalo/buffalo:/render/plain_test.go",
|
||||
"github.com/gobuffalo/buffalo:/render/render.go",
|
||||
"github.com/gobuffalo/buffalo:/render/render_test.go",
|
||||
"github.com/gobuffalo/buffalo:/render/renderer.go",
|
||||
"github.com/gobuffalo/buffalo:/render/sse.go",
|
||||
"github.com/gobuffalo/buffalo:/render/string.go",
|
||||
"github.com/gobuffalo/buffalo:/render/string_map.go",
|
||||
"github.com/gobuffalo/buffalo:/render/string_map_test.go",
|
||||
"github.com/gobuffalo/buffalo:/render/string_test.go",
|
||||
"github.com/gobuffalo/buffalo:/render/template.go",
|
||||
"github.com/gobuffalo/buffalo:/render/template_engine.go",
|
||||
"github.com/gobuffalo/buffalo:/render/template_helpers.go",
|
||||
"github.com/gobuffalo/buffalo:/render/template_helpers_test.go",
|
||||
"github.com/gobuffalo/buffalo:/render/template_test.go",
|
||||
"github.com/gobuffalo/buffalo:/render/xml.go",
|
||||
"github.com/gobuffalo/buffalo:/render/xml_test.go",
|
||||
}
|
|
@ -0,0 +1,42 @@
|
|||
package pkgtest
|
||||
|
||||
import (
|
||||
"io/ioutil"
|
||||
"strings"
|
||||
"testing"
|
||||
|
||||
"github.com/markbates/pkger/pkging"
|
||||
"github.com/stretchr/testify/require"
|
||||
)
|
||||
|
||||
func CreateTest(t *testing.T, ref *Ref, pkg pkging.Pkger) {
|
||||
r := require.New(t)
|
||||
|
||||
const name = "/create.test"
|
||||
|
||||
_, err := pkg.Stat(name)
|
||||
r.Error(err)
|
||||
|
||||
data := []byte(strings.ToUpper(name))
|
||||
|
||||
f, err := pkg.Create(name)
|
||||
r.NoError(err)
|
||||
|
||||
_, err = f.Write(data)
|
||||
r.NoError(err)
|
||||
r.NoError(f.Close())
|
||||
|
||||
f, err = pkg.Open(name)
|
||||
r.NoError(err)
|
||||
|
||||
info, err := f.Stat()
|
||||
r.NoError(err)
|
||||
|
||||
b, err := ioutil.ReadAll(f)
|
||||
r.NoError(err)
|
||||
r.NoError(f.Close())
|
||||
|
||||
r.Equal(data, b)
|
||||
r.Equal("create.test", info.Name())
|
||||
|
||||
}
|
|
@ -0,0 +1,16 @@
|
|||
package pkgtest
|
||||
|
||||
import (
|
||||
"testing"
|
||||
|
||||
"github.com/markbates/pkger/pkging"
|
||||
)
|
||||
|
||||
func CurrentTest(t *testing.T, ref *Ref, pkg pkging.Pkger) {
|
||||
cur, err := pkg.Current()
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
cmpHereInfo(t, ref.Info, cur)
|
||||
}
|
|
@ -1,64 +0,0 @@
|
|||
package pkgtest
|
||||
|
||||
import (
|
||||
"sort"
|
||||
"testing"
|
||||
|
||||
"github.com/stretchr/testify/require"
|
||||
)
|
||||
|
||||
func (s Suite) Test_File_Readdir(t *testing.T) {
|
||||
r := require.New(t)
|
||||
|
||||
pkg, err := s.Make()
|
||||
r.NoError(err)
|
||||
|
||||
cur, err := pkg.Current()
|
||||
r.NoError(err)
|
||||
|
||||
ip := cur.ImportPath
|
||||
table := []struct {
|
||||
in string
|
||||
}{
|
||||
{in: ":/public"},
|
||||
{in: ip + ":/public"},
|
||||
}
|
||||
|
||||
r.NoError(s.LoadFolder(pkg))
|
||||
|
||||
for _, tt := range table {
|
||||
s.Run(t, tt.in, func(st *testing.T) {
|
||||
r := require.New(st)
|
||||
|
||||
dir, err := pkg.Open(tt.in)
|
||||
r.NoError(err)
|
||||
defer dir.Close()
|
||||
|
||||
infos, err := dir.Readdir(-1)
|
||||
r.NoError(err)
|
||||
r.Len(infos, 2)
|
||||
|
||||
sort.Slice(infos, func(i, j int) bool {
|
||||
return infos[i].Name() < infos[j].Name()
|
||||
})
|
||||
|
||||
r.Equal("images", infos[0].Name())
|
||||
r.Equal("index.html", infos[1].Name())
|
||||
|
||||
dir, err = pkg.Open(tt.in + "/images")
|
||||
r.NoError(err)
|
||||
|
||||
infos, err = dir.Readdir(-1)
|
||||
r.NoError(err)
|
||||
r.Len(infos, 2)
|
||||
|
||||
sort.Slice(infos, func(i, j int) bool {
|
||||
return infos[i].Name() < infos[j].Name()
|
||||
})
|
||||
|
||||
r.Equal("img1.png", infos[0].Name())
|
||||
r.Equal("img2.png", infos[1].Name())
|
||||
|
||||
})
|
||||
}
|
||||
}
|
|
@ -1,179 +1,66 @@
|
|||
package pkgtest
|
||||
|
||||
import (
|
||||
"io"
|
||||
"io/ioutil"
|
||||
"net/http"
|
||||
"net/http/httptest"
|
||||
"os"
|
||||
"path/filepath"
|
||||
"strings"
|
||||
"testing"
|
||||
|
||||
"github.com/markbates/pkger/pkging"
|
||||
"github.com/stretchr/testify/require"
|
||||
)
|
||||
|
||||
func (s Suite) WriteFolder(root string) error {
|
||||
app, err := App()
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return filepath.Walk(app.Dir, func(path string, info os.FileInfo, err error) error {
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
if info.IsDir() {
|
||||
return nil
|
||||
}
|
||||
|
||||
of, err := os.Open(path)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
defer of.Close()
|
||||
|
||||
path = strings.TrimPrefix(path, app.Dir)
|
||||
path = filepath.Join(root, path)
|
||||
|
||||
if err := os.MkdirAll(filepath.Dir(path), 0755); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
f, err := os.Create(path)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
defer f.Close()
|
||||
|
||||
if _, err := io.Copy(f, of); err != nil {
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
})
|
||||
}
|
||||
|
||||
func (s Suite) LoadFolder(pkg pkging.Pkger) error {
|
||||
app, err := App()
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return filepath.Walk(app.Dir, func(path string, info os.FileInfo, err error) error {
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
of, err := os.Open(path)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
defer of.Close()
|
||||
|
||||
if a, ok := pkg.(pkging.Adder); ok {
|
||||
return a.Add(of)
|
||||
}
|
||||
|
||||
path = strings.TrimPrefix(path, app.Dir)
|
||||
|
||||
pt, err := pkg.Parse(path)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if err := pkg.MkdirAll(filepath.Dir(pt.Name), 0755); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if info.IsDir() {
|
||||
return nil
|
||||
}
|
||||
f, err := pkg.Create(pt.String())
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
defer f.Close()
|
||||
|
||||
if _, err := io.Copy(f, of); err != nil {
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
})
|
||||
}
|
||||
|
||||
func (s Suite) Test_HTTP(t *testing.T) {
|
||||
func HTTPTest(t *testing.T, ref *Ref, pkg pkging.Pkger) {
|
||||
r := require.New(t)
|
||||
|
||||
pkg, err := s.Make()
|
||||
_, err := LoadFiles("/public", ref, pkg)
|
||||
r.NoError(err)
|
||||
|
||||
cur, err := pkg.Current()
|
||||
r.NoError(err)
|
||||
ip := cur.ImportPath
|
||||
defer os.RemoveAll(ref.Dir)
|
||||
|
||||
table := []struct {
|
||||
in string
|
||||
}{
|
||||
{in: "/public"},
|
||||
{in: ":" + "/public"},
|
||||
{in: ip + ":" + "/public"},
|
||||
fp := filepath.Join(ref.Dir, "public")
|
||||
gots := httptest.NewServer(http.FileServer(http.Dir(fp)))
|
||||
defer gots.Close()
|
||||
|
||||
dir, err := pkg.Open("/public")
|
||||
r.NoError(err)
|
||||
|
||||
pkgts := httptest.NewServer(http.FileServer(dir))
|
||||
defer pkgts.Close()
|
||||
|
||||
paths := []string{
|
||||
"/",
|
||||
"/index.html",
|
||||
"/images",
|
||||
"/images/img1.png",
|
||||
}
|
||||
|
||||
for _, tt := range table {
|
||||
s.Run(t, tt.in, func(st *testing.T) {
|
||||
for _, path := range paths {
|
||||
t.Run(path, func(st *testing.T) {
|
||||
r := require.New(st)
|
||||
|
||||
pkg, err := s.Make()
|
||||
gores, err := http.Get(gots.URL + path)
|
||||
r.NoError(err)
|
||||
|
||||
r.NoError(s.LoadFolder(pkg))
|
||||
|
||||
tdir, err := ioutil.TempDir("", "")
|
||||
pkgres, err := http.Get(pkgts.URL + path)
|
||||
r.NoError(err)
|
||||
defer os.RemoveAll(tdir)
|
||||
r.NoError(s.WriteFolder(tdir))
|
||||
|
||||
tpub := filepath.Join(tdir, "public")
|
||||
gots := httptest.NewServer(http.FileServer(http.Dir(tpub)))
|
||||
defer gots.Close()
|
||||
r.Equal(gores.StatusCode, pkgres.StatusCode)
|
||||
|
||||
dir, err := pkg.Open(tt.in)
|
||||
gobody, err := ioutil.ReadAll(gores.Body)
|
||||
r.NoError(err)
|
||||
defer dir.Close()
|
||||
|
||||
pkgts := httptest.NewServer(http.FileServer(dir))
|
||||
defer pkgts.Close()
|
||||
pkgbody, err := ioutil.ReadAll(pkgres.Body)
|
||||
r.NoError(err)
|
||||
|
||||
paths := []string{
|
||||
"/",
|
||||
"/index.html",
|
||||
"/images",
|
||||
"/images/img1.png",
|
||||
}
|
||||
|
||||
for _, path := range paths {
|
||||
t.Run(path, func(st *testing.T) {
|
||||
r := require.New(st)
|
||||
|
||||
gores, err := http.Get(gots.URL + path)
|
||||
r.NoError(err)
|
||||
|
||||
pkgres, err := http.Get(pkgts.URL + path)
|
||||
r.NoError(err)
|
||||
|
||||
r.Equal(gores.StatusCode, pkgres.StatusCode)
|
||||
|
||||
gobody, err := ioutil.ReadAll(gores.Body)
|
||||
r.NoError(err)
|
||||
|
||||
pkgbody, err := ioutil.ReadAll(pkgres.Body)
|
||||
r.NoError(err)
|
||||
|
||||
exp := strings.ReplaceAll(string(gobody), tdir, "")
|
||||
exp = clean(exp)
|
||||
r.Equal(exp, clean(string(pkgbody)))
|
||||
})
|
||||
}
|
||||
exp := string(gobody)
|
||||
act := string(pkgbody)
|
||||
r.Equal(exp, act)
|
||||
// exp := strings.ReplaceAll(string(gobody), tdir, "")
|
||||
// exp = clean(exp)
|
||||
// r.Equal(exp, clean(string(pkgbody)))
|
||||
})
|
||||
}
|
||||
}
|
||||
|
|
|
@ -0,0 +1,17 @@
|
|||
package pkgtest
|
||||
|
||||
import (
|
||||
"testing"
|
||||
|
||||
"github.com/markbates/pkger/pkging"
|
||||
"github.com/stretchr/testify/require"
|
||||
)
|
||||
|
||||
func InfoTest(t *testing.T, ref *Ref, pkg pkging.Pkger) {
|
||||
r := require.New(t)
|
||||
|
||||
info, err := pkg.Info("app")
|
||||
r.NoError(err)
|
||||
|
||||
cmpHereInfo(t, ref.Info, info)
|
||||
}
|
|
@ -1,7 +0,0 @@
|
|||
module app
|
||||
|
||||
go 1.13
|
||||
|
||||
require github.com/markbates/pkger v0.0.0
|
||||
|
||||
replace github.com/markbates/pkger => ../../../../../
|
|
@ -1,70 +0,0 @@
|
|||
package main
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"log"
|
||||
"net/http"
|
||||
"os"
|
||||
|
||||
"github.com/markbates/pkger"
|
||||
)
|
||||
|
||||
const host = ":3000"
|
||||
|
||||
func main() {
|
||||
// get the currently running application's here.Info.
|
||||
// this contains really, really, really useful information
|
||||
// about your application, check it out. :)
|
||||
// we don't need it for this example, but i thought it could
|
||||
// be good to show.
|
||||
current, err := pkger.Current()
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
fmt.Println(current)
|
||||
|
||||
fmt.Printf("Walking files for %s\n", current.ImportPath)
|
||||
// walk the files in the github.com/gobuffalo/buffalo module.
|
||||
// "/render" is relative to where that module's `go.mod` is.
|
||||
err = pkger.Walk("github.com/gobuffalo/buffalo:/render", func(path string, info os.FileInfo, err error) error {
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
fmt.Println(">> ", path)
|
||||
return nil
|
||||
})
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
|
||||
// find the public directory with using the full pkger path <pkg:/path> to it:
|
||||
// pkg - is the module/package you want to get a file from
|
||||
// if pkg is empty then it is assumed to be current.ImportPath
|
||||
// : - seperator between the module/package name, pkg, and the "file path"
|
||||
// path - this is the ABSOLUTE path to the file/directory you want, as relative
|
||||
// to the root of the module/package's go.mod file.
|
||||
dir, err := pkger.Open("app:/public")
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
// don't forget to close the file later
|
||||
defer dir.Close()
|
||||
|
||||
fmt.Printf("\nServing %q on %s\n", dir.Path(), host)
|
||||
|
||||
// serve the public directory on the host (":3000")
|
||||
// just like using the os package you still need to use
|
||||
// http.FileServer to serve a directory.
|
||||
// you DON'T, however, need to use http.Dir all pkger files
|
||||
// already implement that interface.
|
||||
log.Fatal(http.ListenAndServe(host, logger(http.FileServer(dir))))
|
||||
}
|
||||
|
||||
// logger will print out the requests as they come in, otherwise its a blank
|
||||
// screen, and that's no fun.
|
||||
func logger(h http.Handler) http.HandlerFunc {
|
||||
return func(res http.ResponseWriter, req *http.Request) {
|
||||
log.Println(req.Method, req.URL.String())
|
||||
h.ServeHTTP(res, req)
|
||||
}
|
||||
}
|
|
@ -1 +0,0 @@
|
|||
AAAA
|
|
@ -1 +0,0 @@
|
|||
BBBBB
|
|
@ -1,7 +0,0 @@
|
|||
module dynamic
|
||||
|
||||
go 1.13
|
||||
|
||||
require github.com/markbates/pkger v0.0.0
|
||||
|
||||
replace github.com/markbates/pkger => ../../../../../
|
|
@ -1,990 +0,0 @@
|
|||
cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
|
||||
cloud.google.com/go v0.31.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
|
||||
cloud.google.com/go v0.36.0/go.mod h1:RUoy9p/M4ge0HzT8L+SDZ8jg+Q6fth0CiBuhFJpSV40=
|
||||
dmitri.shuralyov.com/app/changes v0.0.0-20180602232624-0a106ad413e3/go.mod h1:Yl+fi1br7+Rr3LqpNJf1/uxUdtRUV+Tnj0o93V2B9MU=
|
||||
dmitri.shuralyov.com/html/belt v0.0.0-20180602232347-f7d459c86be0/go.mod h1:JLBrvjyP0v+ecvNYvCpyZgu5/xkfAUhi6wJj28eUfSU=
|
||||
dmitri.shuralyov.com/service/change v0.0.0-20181023043359-a85b471d5412/go.mod h1:a1inKt/atXimZ4Mv927x+r7UpyzRUf4emIoiiSC2TN4=
|
||||
dmitri.shuralyov.com/state v0.0.0-20180228185332-28bcc343414c/go.mod h1:0PRwlb0D6DFvNNtx+9ybjezNCa8XF0xaYcETyp6rHWU=
|
||||
git.apache.org/thrift.git v0.0.0-20180902110319-2566ecd5d999/go.mod h1:fPE2ZNJGynbRyZ4dJvy6G277gSllfV2HJqblrnkyeyg=
|
||||
github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
|
||||
github.com/Masterminds/semver v1.4.2/go.mod h1:MB6lktGJrhw8PrUyiEoblNEGEQ+RzHPF078ddwwvV3Y=
|
||||
github.com/Masterminds/semver v1.5.0/go.mod h1:MB6lktGJrhw8PrUyiEoblNEGEQ+RzHPF078ddwwvV3Y=
|
||||
github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU=
|
||||
github.com/ajg/form v0.0.0-20160822230020-523a5da1a92f/go.mod h1:uL1WgH+h2mgNtvBq0339dVnzXdBETtL2LeUXaIv25UY=
|
||||
github.com/ajg/form v1.5.1/go.mod h1:uL1WgH+h2mgNtvBq0339dVnzXdBETtL2LeUXaIv25UY=
|
||||
github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc=
|
||||
github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0=
|
||||
github.com/anmitsu/go-shlex v0.0.0-20161002113705-648efa622239/go.mod h1:2FmKhYUyUczH0OGQWaF5ceTx0UBShxjsH6f8oGKYe2c=
|
||||
github.com/armon/consul-api v0.0.0-20180202201655-eb2c6b5be1b6/go.mod h1:grANhF5doyWs3UAsr3K4I6qtAmlQcZDesFNEHPZAzj8=
|
||||
github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q=
|
||||
github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8=
|
||||
github.com/blang/semver v3.5.1+incompatible/go.mod h1:kRBLl5iJ+tD4TcOOxsy/0fnwebNt5EWlYSAyrTnjyyk=
|
||||
github.com/bradfitz/go-smtpd v0.0.0-20170404230938-deb6d6237625/go.mod h1:HYsPBTaaSFSlLx/70C2HPIMNZpVV8+vt/A+FMnYP11g=
|
||||
github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc=
|
||||
github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw=
|
||||
github.com/cockroachdb/apd v1.1.0/go.mod h1:8Sl8LxpKi29FqWXR16WEFZRNSz3SoPzUzeMeY4+DwBQ=
|
||||
github.com/cockroachdb/cockroach-go v0.0.0-20181001143604-e0a95dfd547c/go.mod h1:XGLbWH/ujMcbPbhZq52Nv6UrCghb1yGn//133kEsvDk=
|
||||
github.com/cockroachdb/cockroach-go v0.0.0-20190916165215-ad57a61cc915/go.mod h1:XGLbWH/ujMcbPbhZq52Nv6UrCghb1yGn//133kEsvDk=
|
||||
github.com/codegangsta/negroni v1.0.0/go.mod h1:v0y3T5G7Y1UlFfyxFn/QLRU4a2EuNau2iZY63YTKWo0=
|
||||
github.com/coreos/bbolt v1.3.2/go.mod h1:iRUV2dpdMOn7Bo10OQBFzIJO9kkE559Wcmn+qkEiiKk=
|
||||
github.com/coreos/etcd v3.3.10+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE=
|
||||
github.com/coreos/go-etcd v2.0.0+incompatible/go.mod h1:Jez6KQU2B/sWsbdaef3ED8NzMklzPG4d5KIOhIy30Tk=
|
||||
github.com/coreos/go-semver v0.2.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk=
|
||||
github.com/coreos/go-systemd v0.0.0-20181012123002-c6f51f82210d/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4=
|
||||
github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4=
|
||||
github.com/coreos/go-systemd v0.0.0-20190719114852-fd7a80b32e1f/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4=
|
||||
github.com/coreos/pkg v0.0.0-20180928190104-399ea9e2e55f/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA=
|
||||
github.com/cpuguy83/go-md2man v1.0.10/go.mod h1:SmD6nW6nTyfqj6ABTjUi3V3JVMnlJmwcJI5acqYI6dE=
|
||||
github.com/creack/pty v1.1.7/go.mod h1:lj5s0c3V2DBrqTV7llrYr5NG6My20zk30Fl46Y7DoTY=
|
||||
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
||||
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
||||
github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ=
|
||||
github.com/dgryski/go-sip13 v0.0.0-20181026042036-e10d5fee7954/go.mod h1:vAd38F8PWV+bWy6jNmig1y/TA+kYO4g3RSRF0IAv0no=
|
||||
github.com/dustin/go-humanize v0.0.0-20180713052910-9f541cc9db5d/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk=
|
||||
github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk=
|
||||
github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4=
|
||||
github.com/fatih/structs v1.0.0/go.mod h1:9NiDSp5zOcgEDl+j00MP/WkGVPOlPRLejGD8Ga6PJ7M=
|
||||
github.com/fatih/structs v1.1.0/go.mod h1:9NiDSp5zOcgEDl+j00MP/WkGVPOlPRLejGD8Ga6PJ7M=
|
||||
github.com/flynn/go-shlex v0.0.0-20150515145356-3f9db97f8568/go.mod h1:xEzjJPgXI435gkrCt3MPfRiAkVrwSbHsst4LCFVfpJc=
|
||||
github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo=
|
||||
github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04=
|
||||
github.com/gliderlabs/ssh v0.1.1/go.mod h1:U7qILu1NlMHj9FlMhZLlkCdDnU1DBEAqr0aevW3Awn0=
|
||||
github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as=
|
||||
github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE=
|
||||
github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk=
|
||||
github.com/go-sql-driver/mysql v1.4.0/go.mod h1:zAC/RDZ24gD3HViQzih4MyKcchzm+sOG5ZlKdlhCg5w=
|
||||
github.com/go-sql-driver/mysql v1.4.1/go.mod h1:zAC/RDZ24gD3HViQzih4MyKcchzm+sOG5ZlKdlhCg5w=
|
||||
github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY=
|
||||
github.com/gobuffalo/attrs v0.0.0-20190219185331-f338c9388485/go.mod h1:4duuawTqi2wkkpB4ePgWMaai6/Kc6WEz83bhFwpHzj0=
|
||||
github.com/gobuffalo/attrs v0.0.0-20190224210810-a9411de4debd/go.mod h1:4duuawTqi2wkkpB4ePgWMaai6/Kc6WEz83bhFwpHzj0=
|
||||
github.com/gobuffalo/attrs v0.1.0/go.mod h1:fmNpaWyHM0tRm8gCZWKx8yY9fvaNLo2PyzBNSrBZ5Hw=
|
||||
github.com/gobuffalo/buffalo v0.12.8-0.20181004233540-fac9bb505aa8/go.mod h1:sLyT7/dceRXJUxSsE813JTQtA3Eb1vjxWfo/N//vXIY=
|
||||
github.com/gobuffalo/buffalo v0.13.0/go.mod h1:Mjn1Ba9wpIbpbrD+lIDMy99pQ0H0LiddMIIDGse7qT4=
|
||||
github.com/gobuffalo/buffalo v0.13.1/go.mod h1:K9c22KLfDz7obgxvHv1amvJtCQEZNiox9+q6FDJ1Zcs=
|
||||
github.com/gobuffalo/buffalo v0.13.2/go.mod h1:vA8I4Dwcfkx7RAzIRHVDZxfS3QJR7muiOjX4r8P2/GE=
|
||||
github.com/gobuffalo/buffalo v0.13.4/go.mod h1:y2jbKkO0k49OrNIOAkbWQiPBqxAFpHn5OKnkc7BDh+I=
|
||||
github.com/gobuffalo/buffalo v0.13.5/go.mod h1:hPcP12TkFSZmT3gUVHZ24KRhTX3deSgu6QSgn0nbWf4=
|
||||
github.com/gobuffalo/buffalo v0.13.6/go.mod h1:/Pm0MPLusPhWDayjRD+/vKYnelScIiv0sX9YYek0wpg=
|
||||
github.com/gobuffalo/buffalo v0.13.7/go.mod h1:3gQwZhI8DSbqmDqlFh7kfwuv/wd40rqdVxXtFWlCQHw=
|
||||
github.com/gobuffalo/buffalo v0.13.9/go.mod h1:vIItiQkTHq46D1p+bw8mFc5w3BwrtJhMvYjSIYK3yjE=
|
||||
github.com/gobuffalo/buffalo v0.13.12/go.mod h1:Y9e0p0cdo/eI+lHm7EFzlkc9YzjwGo5QeDj+FbsyqVA=
|
||||
github.com/gobuffalo/buffalo v0.13.13/go.mod h1:WAL36xBN8OkU71lNjuYv6llmgl0o8twjlY+j7oGUmYw=
|
||||
github.com/gobuffalo/buffalo v0.14.0/go.mod h1:A9JI3juErlXNrPBeJ/0Pdky9Wz+GffEg7ZN0d1B5h48=
|
||||
github.com/gobuffalo/buffalo v0.14.2/go.mod h1:VNMTzddg7bMnkVxCUXzqTS4PvUo6cDOs/imtG8Cnt/k=
|
||||
github.com/gobuffalo/buffalo v0.14.3/go.mod h1:3O9vB/a4UNb16TevehTvDCaPnb98NWvYz0msJQ6ZlVA=
|
||||
github.com/gobuffalo/buffalo v0.14.5/go.mod h1:RWK6evR4hY4nRVfw9xie9V/LYK3j0U9wU2oKgQUFZ88=
|
||||
github.com/gobuffalo/buffalo v0.14.6/go.mod h1:71Un+T2JGgwXLjBqYFdGSooz/OUjw15BJM0nbbcAM0o=
|
||||
github.com/gobuffalo/buffalo v0.14.9/go.mod h1:M8XWw+Rcotn7C4NYpCEGBg3yX+O1TeD1pBfmiILhgHw=
|
||||
github.com/gobuffalo/buffalo v0.14.10/go.mod h1:49A7/JYlsCyTkVHtvKl91w6rG35ZiywwjWMVC1zKWsQ=
|
||||
github.com/gobuffalo/buffalo v0.14.11/go.mod h1:RO5OwOJQjv6/TukzszV5ELA54lg84D1kZwla6oAkTlo=
|
||||
github.com/gobuffalo/buffalo-docker v1.0.5/go.mod h1:NZ3+21WIdqOUlOlM2onCt7cwojYp4Qwlsngoolw8zlE=
|
||||
github.com/gobuffalo/buffalo-docker v1.0.6/go.mod h1:UlqKHJD8CQvyIb+pFq+m/JQW2w2mXuhxsaKaTj1X1XI=
|
||||
github.com/gobuffalo/buffalo-docker v1.0.7/go.mod h1:BdB8AhcmjwR6Lo3rDPMzyh/+eNjYnZ1TAO0eZeLkhig=
|
||||
github.com/gobuffalo/buffalo-plugins v1.0.2/go.mod h1:pOp/uF7X3IShFHyobahTkTLZaeUXwb0GrUTb9ngJWTs=
|
||||
github.com/gobuffalo/buffalo-plugins v1.0.4/go.mod h1:pWS1vjtQ6uD17MVFWf7i3zfThrEKWlI5+PYLw/NaDB4=
|
||||
github.com/gobuffalo/buffalo-plugins v1.4.3/go.mod h1:uCzTY0woez4nDMdQjkcOYKanngeUVRO2HZi7ezmAjWY=
|
||||
github.com/gobuffalo/buffalo-plugins v1.5.1/go.mod h1:jbmwSZK5+PiAP9cC09VQOrGMZFCa/P0UMlIS3O12r5w=
|
||||
github.com/gobuffalo/buffalo-plugins v1.6.1/go.mod h1:/XZt7UuuDnx5P4v3cStK0+XoYiNOA2f0wDIsm1oLJQA=
|
||||
github.com/gobuffalo/buffalo-plugins v1.6.4/go.mod h1:/+N1aophkA2jZ1ifB2O3Y9yGwu6gKOVMtUmJnbg+OZI=
|
||||
github.com/gobuffalo/buffalo-plugins v1.6.5/go.mod h1:0HVkbgrVs/MnPZ/FOseDMVanCTm2RNcdM0PuXcL1NNI=
|
||||
github.com/gobuffalo/buffalo-plugins v1.6.6/go.mod h1:hSWAEkJyL9RENJlmanMivgnNkrQ9RC4xJARz8dQryi0=
|
||||
github.com/gobuffalo/buffalo-plugins v1.6.7/go.mod h1:ZGZRkzz2PiKWHs0z7QsPBOTo2EpcGRArMEym6ghKYgk=
|
||||
github.com/gobuffalo/buffalo-plugins v1.6.9/go.mod h1:yYlYTrPdMCz+6/+UaXg5Jm4gN3xhsvsQ2ygVatZV5vw=
|
||||
github.com/gobuffalo/buffalo-plugins v1.6.10/go.mod h1:HxzPZjAEzh9H0gnHelObxxrut9O+1dxydf7U93SYsc8=
|
||||
github.com/gobuffalo/buffalo-plugins v1.6.11/go.mod h1:eAA6xJIL8OuynJZ8amXjRmHND6YiusVAaJdHDN1Lu8Q=
|
||||
github.com/gobuffalo/buffalo-plugins v1.7.2/go.mod h1:vEbx30cLFeeZ48gBA/rkhbqC2M/2JpsKs5CoESWhkPw=
|
||||
github.com/gobuffalo/buffalo-plugins v1.8.1/go.mod h1:vu71J3fD4b7KKywJQ1tyaJGtahG837Cj6kgbxX0e4UI=
|
||||
github.com/gobuffalo/buffalo-plugins v1.8.2/go.mod h1:9te6/VjEQ7pKp7lXlDIMqzxgGpjlKoAcAANdCgoR960=
|
||||
github.com/gobuffalo/buffalo-plugins v1.8.3/go.mod h1:IAWq6vjZJVXebIq2qGTLOdlXzmpyTZ5iJG5b59fza5U=
|
||||
github.com/gobuffalo/buffalo-plugins v1.9.3/go.mod h1:BNRunDThMZKjqx6R+n14Rk3sRSOWgbMuzCKXLqbd7m0=
|
||||
github.com/gobuffalo/buffalo-plugins v1.9.4/go.mod h1:grCV6DGsQlVzQwk6XdgcL3ZPgLm9BVxlBmXPMF8oBHI=
|
||||
github.com/gobuffalo/buffalo-plugins v1.10.0/go.mod h1:4osg8d9s60txLuGwXnqH+RCjPHj9K466cDFRl3PErHI=
|
||||
github.com/gobuffalo/buffalo-plugins v1.11.0/go.mod h1:rtIvAYRjYibgmWhnjKmo7OadtnxuMG5ZQLr25ozAzjg=
|
||||
github.com/gobuffalo/buffalo-plugins v1.12.0/go.mod h1:kw4Mj2vQXqe4X5TI36PEQgswbL30heGQwJEeDKd1v+4=
|
||||
github.com/gobuffalo/buffalo-plugins v1.13.0/go.mod h1:Y9nH2VwHVkeKhmdM380ulNXmhhD5On81nRVeD+WlDTQ=
|
||||
github.com/gobuffalo/buffalo-plugins v1.13.1/go.mod h1:VcvhrgWcZLhOp8JPLckHBDtv05KepY/MxHsT2+06xX4=
|
||||
github.com/gobuffalo/buffalo-plugins v1.14.0/go.mod h1:r2lykSXBT79c3T5JK1ouivVDrHvvCZUdZBmn+lPMHU8=
|
||||
github.com/gobuffalo/buffalo-plugins v1.14.1/go.mod h1:9BRBvXuKxR0m4YttVFRtuUcAP9Rs97mGq6OleyDbIuo=
|
||||
github.com/gobuffalo/buffalo-pop v1.0.5/go.mod h1:Fw/LfFDnSmB/vvQXPvcXEjzP98Tc+AudyNWUBWKCwQ8=
|
||||
github.com/gobuffalo/buffalo-pop v1.1.2/go.mod h1:czNLXcYbg5/fjr+uht0NyjZaQ0V2W23H1jzyORgCzQ4=
|
||||
github.com/gobuffalo/buffalo-pop v1.1.5/go.mod h1:H01JIg42XwOHS4gRMhSeDZqBovNVlfBUsVXckU617s4=
|
||||
github.com/gobuffalo/buffalo-pop v1.1.8/go.mod h1:1uaxOFzzVud/zR5f1OEBr21tMVLQS3OZpQ1A5cr0svE=
|
||||
github.com/gobuffalo/buffalo-pop v1.1.13/go.mod h1:47GQoBjCMcl5Pw40iCWHQYJvd0HsT9kdaOPWgnzHzk4=
|
||||
github.com/gobuffalo/buffalo-pop v1.1.14/go.mod h1:sAMh6+s7wytCn5cHqZIuItJbAqzvs6M7FemLexl+pwc=
|
||||
github.com/gobuffalo/buffalo-pop v1.1.15/go.mod h1:vnvvxhbEFAaEbac9E2ZPjsBeL7WHkma2UyKNVA4y9Wo=
|
||||
github.com/gobuffalo/buffalo-pop v1.2.1/go.mod h1:SHqojN0bVzaAzCbQDdWtsib202FDIxqwmCO8VDdweF4=
|
||||
github.com/gobuffalo/buffalo-pop v1.3.0/go.mod h1:P0PhA225dRGyv0WkgYjYKqgoxPdDPDFZDvHj60AGF5w=
|
||||
github.com/gobuffalo/buffalo-pop v1.6.0/go.mod h1:vrEVNOBKe042HjSNMj72J4FgER/VG6lt4xW6WMpTdlY=
|
||||
github.com/gobuffalo/buffalo-pop v1.7.0/go.mod h1:UB5HHeFucJG7esTPUPjinBaJTEpVoREJHfSJJELnyeI=
|
||||
github.com/gobuffalo/buffalo-pop v1.9.0/go.mod h1:MfrkBg0iN9+RdlxdHHAqqGFAC/iyCfTiKqH7Jvt+vhE=
|
||||
github.com/gobuffalo/buffalo-pop v1.10.0/go.mod h1:C3/cFXB8Zd38XiGgHFdE7dw3Wu9MOKeD7bfELQicGPI=
|
||||
github.com/gobuffalo/buffalo-pop v1.12.0/go.mod h1:pO2ONSJOCjyroGp4BwVHfMkfd7sLg1U9BvMJqRy6Otk=
|
||||
github.com/gobuffalo/buffalo-pop v1.13.0/go.mod h1:h+zfyXCUFwihFqz6jmo9xsdsZ1Tm9n7knYpQjW0gv18=
|
||||
github.com/gobuffalo/buffalo-pop v1.16.0/go.mod h1:XYA72cNFvL6m1o7PZ+Z7Yd/WDQTPcOiuDukiHvEo2KY=
|
||||
github.com/gobuffalo/buffalo-pop v1.17.2/go.mod h1:nyOm0mtmp9/+m2NaXrp+9SqtuKZslA7Ys2DBaT/t2n4=
|
||||
github.com/gobuffalo/buffalo-pop v1.22.0/go.mod h1:S8uJpbC9PUMFA6ZWbPnbk3c32n4vJ32p5NLsREcz+H8=
|
||||
github.com/gobuffalo/clara v0.4.1/go.mod h1:3QgAPqYgPqAzhfGbNLlp4UztaZRi2SOg+ZrZwaq9L94=
|
||||
github.com/gobuffalo/clara v0.6.0/go.mod h1:RKZxkcH80pLykRi2hLkoxGMxA8T06Dc9fN/pFvutMFY=
|
||||
github.com/gobuffalo/clara v0.7.0/go.mod h1:pen7ZMmnuYUYVF/3BbnvidYVAbMEfkyO4O+Tc+FKICU=
|
||||
github.com/gobuffalo/clara v0.9.1/go.mod h1:OQ3HmSqLQJHaMmKhuTkmBCvBLL4BhgjweNpywRGulWo=
|
||||
github.com/gobuffalo/depgen v0.0.0-20190219190223-ba8c93fa0c2c/go.mod h1:CE/HUV4vDCXtJayRf6WoMWgezb1yH4QHg8GNK8FL0JI=
|
||||
github.com/gobuffalo/depgen v0.0.0-20190315122043-8442b3fa16db/go.mod h1:3STtPUQYuzV0gBVOY3vy6CfMm/ljR4pABfrTeHNLHUY=
|
||||
github.com/gobuffalo/depgen v0.0.0-20190315124901-e02f65b90669/go.mod h1:yTQe8xo5pGIDOApkeO95DjePS4ZOSSSx+ItkqJHxUG4=
|
||||
github.com/gobuffalo/depgen v0.0.0-20190329151759-d478694a28d3/go.mod h1:3STtPUQYuzV0gBVOY3vy6CfMm/ljR4pABfrTeHNLHUY=
|
||||
github.com/gobuffalo/depgen v0.1.0/go.mod h1:+ifsuy7fhi15RWncXQQKjWS9JPkdah5sZvtHc2RXGlg=
|
||||
github.com/gobuffalo/depgen v0.1.1/go.mod h1:65EOv3g7CMe4kc8J1Ds+l2bjcwrWKGXkE4/vpRRLPWY=
|
||||
github.com/gobuffalo/depgen v0.2.0/go.mod h1:3STtPUQYuzV0gBVOY3vy6CfMm/ljR4pABfrTeHNLHUY=
|
||||
github.com/gobuffalo/envy v1.6.4/go.mod h1:Abh+Jfw475/NWtYMEt+hnJWRiC8INKWibIMyNt1w2Mc=
|
||||
github.com/gobuffalo/envy v1.6.5/go.mod h1:N+GkhhZ/93bGZc6ZKhJLP6+m+tCNPKwgSpH9kaifseQ=
|
||||
github.com/gobuffalo/envy v1.6.6/go.mod h1:N+GkhhZ/93bGZc6ZKhJLP6+m+tCNPKwgSpH9kaifseQ=
|
||||
github.com/gobuffalo/envy v1.6.7/go.mod h1:N+GkhhZ/93bGZc6ZKhJLP6+m+tCNPKwgSpH9kaifseQ=
|
||||
github.com/gobuffalo/envy v1.6.8/go.mod h1:N+GkhhZ/93bGZc6ZKhJLP6+m+tCNPKwgSpH9kaifseQ=
|
||||
github.com/gobuffalo/envy v1.6.9/go.mod h1:N+GkhhZ/93bGZc6ZKhJLP6+m+tCNPKwgSpH9kaifseQ=
|
||||
github.com/gobuffalo/envy v1.6.10/go.mod h1:X0CFllQjTV5ogsnUrg+Oks2yTI+PU2dGYBJOEI2D1Uo=
|
||||
github.com/gobuffalo/envy v1.6.11/go.mod h1:Fiq52W7nrHGDggFPhn2ZCcHw4u/rqXkqo+i7FB6EAcg=
|
||||
github.com/gobuffalo/envy v1.6.12/go.mod h1:qJNrJhKkZpEW0glh5xP2syQHH5kgdmgsKss2Kk8PTP0=
|
||||
github.com/gobuffalo/envy v1.6.13/go.mod h1:w9DJppgl51JwUFWWd/M/6/otrPtWV3WYMa+NNLunqKA=
|
||||
github.com/gobuffalo/envy v1.6.15/go.mod h1:n7DRkBerg/aorDM8kbduw5dN3oXGswK5liaSCx4T5NI=
|
||||
github.com/gobuffalo/envy v1.7.0/go.mod h1:n7DRkBerg/aorDM8kbduw5dN3oXGswK5liaSCx4T5NI=
|
||||
github.com/gobuffalo/envy v1.7.1/go.mod h1:FurDp9+EDPE4aIUS3ZLyD+7/9fpx7YRt/ukY6jIHf0w=
|
||||
github.com/gobuffalo/events v1.0.3/go.mod h1:Txo8WmqScapa7zimEQIwgiJBvMECMe9gJjsKNPN3uZw=
|
||||
github.com/gobuffalo/events v1.0.7/go.mod h1:z8txf6H9jWhQ5Scr7YPLWg/cgXBRj8Q4uYI+rsVCCSQ=
|
||||
github.com/gobuffalo/events v1.0.8/go.mod h1:A5KyqT1sA+3GJiBE4QKZibse9mtOcI9nw8gGrDdqYGs=
|
||||
github.com/gobuffalo/events v1.1.1/go.mod h1:Ia9OgHMco9pEhJaPrPQJ4u4+IZlkxYVco2VbJ2XgnAE=
|
||||
github.com/gobuffalo/events v1.1.3/go.mod h1:9yPGWYv11GENtzrIRApwQRMYSbUgCsZ1w6R503fCfrk=
|
||||
github.com/gobuffalo/events v1.1.4/go.mod h1:09/YRRgZHEOts5Isov+g9X2xajxdvOAcUuAHIX/O//A=
|
||||
github.com/gobuffalo/events v1.1.5/go.mod h1:3YUSzgHfYctSjEjLCWbkXP6djH2M+MLaVRzb4ymbAK0=
|
||||
github.com/gobuffalo/events v1.1.6/go.mod h1:H/3ZB9BA+WorMb/0F79UvU6u0Cyo2hU97WA51bG2ONY=
|
||||
github.com/gobuffalo/events v1.1.7/go.mod h1:6fGqxH2ing5XMb3EYRq9LEkVlyPGs4oO/eLzh+S8CxY=
|
||||
github.com/gobuffalo/events v1.1.8/go.mod h1:UFy+W6X6VbCWS8k2iT81HYX65dMtiuVycMy04cplt/8=
|
||||
github.com/gobuffalo/events v1.1.9/go.mod h1:/0nf8lMtP5TkgNbzYxR6Bl4GzBy5s5TebgNTdRfRbPM=
|
||||
github.com/gobuffalo/events v1.2.0/go.mod h1:pxvpvsKXKZNPtHuIxUV3K+g+KP5o4forzaeFj++bh68=
|
||||
github.com/gobuffalo/events v1.3.1/go.mod h1:9JOkQVoyRtailYVE/JJ2ZQ/6i4gTjM5t2HsZK4C1cSA=
|
||||
github.com/gobuffalo/events v1.4.0/go.mod h1:gQbNh681BwO+urxPpHHBiVD8Y+2lg17Wj2xuCMMKr8E=
|
||||
github.com/gobuffalo/fizz v1.0.12/go.mod h1:C0sltPxpYK8Ftvf64kbsQa2yiCZY4RZviurNxXdAKwc=
|
||||
github.com/gobuffalo/fizz v1.0.15/go.mod h1:EI3mEpjImuji6Bwu++N2uXhljQwOhwtimZQJ89zwyF4=
|
||||
github.com/gobuffalo/fizz v1.0.16/go.mod h1:EI3mEpjImuji6Bwu++N2uXhljQwOhwtimZQJ89zwyF4=
|
||||
github.com/gobuffalo/fizz v1.1.2/go.mod h1:THqzNTlNxNaF5hq3ddp16SnEcl2m83bTeTzJEoD+kqc=
|
||||
github.com/gobuffalo/fizz v1.1.3/go.mod h1:THqzNTlNxNaF5hq3ddp16SnEcl2m83bTeTzJEoD+kqc=
|
||||
github.com/gobuffalo/fizz v1.3.0/go.mod h1:THqzNTlNxNaF5hq3ddp16SnEcl2m83bTeTzJEoD+kqc=
|
||||
github.com/gobuffalo/fizz v1.5.0/go.mod h1:Uu3ch14M4S7LDU7LAP1GQ+KNCRmZYd05Gqasc96XLa0=
|
||||
github.com/gobuffalo/fizz v1.6.0/go.mod h1:V4V6EA8eYu/L43y6gZj7mjmPkigl9m+Eu3Pe+SWQRRg=
|
||||
github.com/gobuffalo/fizz v1.6.1/go.mod h1:V4V6EA8eYu/L43y6gZj7mjmPkigl9m+Eu3Pe+SWQRRg=
|
||||
github.com/gobuffalo/fizz v1.8.0/go.mod h1:2LqJOOGUp1JpN9m54ac5jMQ1MpbNvSVbFi9BY+AEXOo=
|
||||
github.com/gobuffalo/fizz v1.9.0/go.mod h1:2LqJOOGUp1JpN9m54ac5jMQ1MpbNvSVbFi9BY+AEXOo=
|
||||
github.com/gobuffalo/fizz v1.9.2/go.mod h1:XJb7Do1keOPkaJnJ48OCjV+7ABQ7mbOqui2WfDobXTQ=
|
||||
github.com/gobuffalo/fizz v1.9.5/go.mod h1:v9cFl56oXm+hNNayTsIQHnq209bTDUbIM8GYWCJw3TE=
|
||||
github.com/gobuffalo/flect v0.0.0-20180907193754-dc14d8acaf9f/go.mod h1:rCiQgmAE4axgBNl3jZWzS5rETRYTGOsrixTRaCPzNdA=
|
||||
github.com/gobuffalo/flect v0.0.0-20181002182613-4571df4b1daf/go.mod h1:rCiQgmAE4axgBNl3jZWzS5rETRYTGOsrixTRaCPzNdA=
|
||||
github.com/gobuffalo/flect v0.0.0-20181007231023-ae7ed6bfe683/go.mod h1:rCiQgmAE4axgBNl3jZWzS5rETRYTGOsrixTRaCPzNdA=
|
||||
github.com/gobuffalo/flect v0.0.0-20181018182602-fd24a256709f/go.mod h1:rCiQgmAE4axgBNl3jZWzS5rETRYTGOsrixTRaCPzNdA=
|
||||
github.com/gobuffalo/flect v0.0.0-20181019110701-3d6f0b585514/go.mod h1:rCiQgmAE4axgBNl3jZWzS5rETRYTGOsrixTRaCPzNdA=
|
||||
github.com/gobuffalo/flect v0.0.0-20181024204909-8f6be1a8c6c2/go.mod h1:rCiQgmAE4axgBNl3jZWzS5rETRYTGOsrixTRaCPzNdA=
|
||||
github.com/gobuffalo/flect v0.0.0-20181104133451-1f6e9779237a/go.mod h1:rCiQgmAE4axgBNl3jZWzS5rETRYTGOsrixTRaCPzNdA=
|
||||
github.com/gobuffalo/flect v0.0.0-20181108195648-8fe1b44cfe32/go.mod h1:rCiQgmAE4axgBNl3jZWzS5rETRYTGOsrixTRaCPzNdA=
|
||||
github.com/gobuffalo/flect v0.0.0-20181109221320-179d36177b5b/go.mod h1:0HvNbHdfh+WOvDSIASqJOSxTOWSxCCUF++k/Y53v9rI=
|
||||
github.com/gobuffalo/flect v0.0.0-20181114183036-47375f6d8328/go.mod h1:0HvNbHdfh+WOvDSIASqJOSxTOWSxCCUF++k/Y53v9rI=
|
||||
github.com/gobuffalo/flect v0.0.0-20181210151238-24a2b68e0316/go.mod h1:en58vff74S9b99Eg42Dr+/9yPu437QjlNsO/hBYPuOk=
|
||||
github.com/gobuffalo/flect v0.0.0-20190104192022-4af577e09bf2/go.mod h1:en58vff74S9b99Eg42Dr+/9yPu437QjlNsO/hBYPuOk=
|
||||
github.com/gobuffalo/flect v0.0.0-20190117212819-a62e61d96794/go.mod h1:397QT6v05LkZkn07oJXXT6y9FCfwC8Pug0WA2/2mE9k=
|
||||
github.com/gobuffalo/flect v0.0.0-20190205211104-b2cb381e56e0/go.mod h1:397QT6v05LkZkn07oJXXT6y9FCfwC8Pug0WA2/2mE9k=
|
||||
github.com/gobuffalo/flect v0.1.0/go.mod h1:d2ehjJqGOH/Kjqcoz+F7jHTBbmDb38yXA598Hb50EGs=
|
||||
github.com/gobuffalo/flect v0.1.1/go.mod h1:8JCgGVbRjJhVgD6399mQr4fx5rRfGKVzFjbj6RE/9UI=
|
||||
github.com/gobuffalo/flect v0.1.3/go.mod h1:8JCgGVbRjJhVgD6399mQr4fx5rRfGKVzFjbj6RE/9UI=
|
||||
github.com/gobuffalo/flect v0.1.5/go.mod h1:W3K3X9ksuZfir8f/LrfVtWmCDQFfayuylOJ7sz/Fj80=
|
||||
github.com/gobuffalo/flect v0.1.6/go.mod h1:W3K3X9ksuZfir8f/LrfVtWmCDQFfayuylOJ7sz/Fj80=
|
||||
github.com/gobuffalo/genny v0.0.0-20180924032338-7af3a40f2252/go.mod h1:tUTQOogrr7tAQnhajMSH6rv1BVev34H2sa1xNHMy94g=
|
||||
github.com/gobuffalo/genny v0.0.0-20181003150629-3786a0744c5d/go.mod h1:WAd8HmjMVrnkAZbmfgH5dLBUchsZfqzp/WS5sQz+uTM=
|
||||
github.com/gobuffalo/genny v0.0.0-20181005145118-318a41a134cc/go.mod h1:WAd8HmjMVrnkAZbmfgH5dLBUchsZfqzp/WS5sQz+uTM=
|
||||
github.com/gobuffalo/genny v0.0.0-20181007153042-b8de7d566757/go.mod h1:+oG5Ljrw04czAHbPXREwaFojJbpUvcIy4DiOnbEJFTA=
|
||||
github.com/gobuffalo/genny v0.0.0-20181012161047-33e5f43d83a6/go.mod h1:+oG5Ljrw04czAHbPXREwaFojJbpUvcIy4DiOnbEJFTA=
|
||||
github.com/gobuffalo/genny v0.0.0-20181017160347-90a774534246/go.mod h1:+oG5Ljrw04czAHbPXREwaFojJbpUvcIy4DiOnbEJFTA=
|
||||
github.com/gobuffalo/genny v0.0.0-20181019144442-df0a36fdd146/go.mod h1:IyRrGrQb/sbHu/0z9i5mbpZroIsdxjCYfj+zFiFiWZQ=
|
||||
github.com/gobuffalo/genny v0.0.0-20181024195656-51392254bf53/go.mod h1:o9GEH5gn5sCKLVB5rHFC4tq40rQ3VRUzmx6WwmaqISE=
|
||||
github.com/gobuffalo/genny v0.0.0-20181025145300-af3f81d526b8/go.mod h1:uZ1fFYvdcP8mu0B/Ynarf6dsGvp7QFIpk/QACUuFUVI=
|
||||
github.com/gobuffalo/genny v0.0.0-20181027191429-94d6cfb5c7fc/go.mod h1:x7SkrQQBx204Y+O9EwRXeszLJDTaWN0GnEasxgLrQTA=
|
||||
github.com/gobuffalo/genny v0.0.0-20181027195209-3887b7171c4f/go.mod h1:JbKx8HSWICu5zyqWOa0dVV1pbbXOHusrSzQUprW6g+w=
|
||||
github.com/gobuffalo/genny v0.0.0-20181030163439-ed103521b8ec/go.mod h1:3Xm9z7/2oRxlB7PSPLxvadZ60/0UIek1YWmcC7QSaVs=
|
||||
github.com/gobuffalo/genny v0.0.0-20181106193839-7dcb0924caf1/go.mod h1:x61yHxvbDCgQ/7cOAbJCacZQuHgB0KMSzoYcw5debjU=
|
||||
github.com/gobuffalo/genny v0.0.0-20181107223128-f18346459dbe/go.mod h1:utQD3aKKEsdb03oR+Vi/6ztQb1j7pO10N3OBoowRcSU=
|
||||
github.com/gobuffalo/genny v0.0.0-20181109163038-9539921b620f/go.mod h1:118bnhJR2oviiji++mZj0IH/IaFBCzwkWHaI4OQq5hQ=
|
||||
github.com/gobuffalo/genny v0.0.0-20181110202416-7b7d8756a9e2/go.mod h1:118bnhJR2oviiji++mZj0IH/IaFBCzwkWHaI4OQq5hQ=
|
||||
github.com/gobuffalo/genny v0.0.0-20181111200257-599b33630ab4/go.mod h1:w+iD/cdtIpPDFax6LlUFuCdXFD0DLRUXsfp3IeT/Doc=
|
||||
github.com/gobuffalo/genny v0.0.0-20181114215459-0a4decd77f5d/go.mod h1:kN2KZ8VgXF9VIIOj/GM0Eo7YK+un4Q3tTreKOf0q1ng=
|
||||
github.com/gobuffalo/genny v0.0.0-20181119162812-e8ff4adce8bb/go.mod h1:BA9htSe4bZwBDJLe8CUkoqkypq3hn3+CkoHqVOW718E=
|
||||
github.com/gobuffalo/genny v0.0.0-20181127225641-2d959acc795b/go.mod h1:l54xLXNkteX/PdZ+HlgPk1qtcrgeOr3XUBBPDbH+7CQ=
|
||||
github.com/gobuffalo/genny v0.0.0-20181128191930-77e34f71ba2a/go.mod h1:FW/D9p7cEEOqxYA71/hnrkOWm62JZ5ZNxcNIVJEaWBU=
|
||||
github.com/gobuffalo/genny v0.0.0-20181203165245-fda8bcce96b1/go.mod h1:wpNSANu9UErftfiaAlz1pDZclrYzLtO5lALifODyjuM=
|
||||
github.com/gobuffalo/genny v0.0.0-20181203201232-849d2c9534ea/go.mod h1:wpNSANu9UErftfiaAlz1pDZclrYzLtO5lALifODyjuM=
|
||||
github.com/gobuffalo/genny v0.0.0-20181206121324-d6fb8a0dbe36/go.mod h1:wpNSANu9UErftfiaAlz1pDZclrYzLtO5lALifODyjuM=
|
||||
github.com/gobuffalo/genny v0.0.0-20181207164119-84844398a37d/go.mod h1:y0ysCHGGQf2T3vOhCrGHheYN54Y/REj0ayd0Suf4C/8=
|
||||
github.com/gobuffalo/genny v0.0.0-20181211165820-e26c8466f14d/go.mod h1:sHnK+ZSU4e2feXP3PA29ouij6PUEiN+RCwECjCTB3yM=
|
||||
github.com/gobuffalo/genny v0.0.0-20190104222617-a71664fc38e7/go.mod h1:QPsQ1FnhEsiU8f+O0qKWXz2RE4TiDqLVChWkBuh1WaY=
|
||||
github.com/gobuffalo/genny v0.0.0-20190112155932-f31a84fcacf5/go.mod h1:CIaHCrSIuJ4il6ka3Hub4DR4adDrGoXGEEt2FbBxoIo=
|
||||
github.com/gobuffalo/genny v0.0.0-20190124191459-3310289fa4b4/go.mod h1:yIRqxhZV2sAzb+B3iPUMLauTRrYP8tJUlZ1zV9teKik=
|
||||
github.com/gobuffalo/genny v0.0.0-20190131150032-1045e97d19fb/go.mod h1:yIRqxhZV2sAzb+B3iPUMLauTRrYP8tJUlZ1zV9teKik=
|
||||
github.com/gobuffalo/genny v0.0.0-20190131190646-008a76242145/go.mod h1:NJvPZJxb9M4z790P6N2SMZKSUYpASpEvLuUWnHGKzb4=
|
||||
github.com/gobuffalo/genny v0.0.0-20190219203444-c95082806342/go.mod h1:3BLT+Vs94EEz3fKR8WWOkYpL6c1tdJcZUNCe3LZAnvQ=
|
||||
github.com/gobuffalo/genny v0.0.0-20190315121735-8b38fb089e88/go.mod h1:rWs4Z12d1Zbf19rlsn0nurr75KqhYp52EAGGxTbBhNk=
|
||||
github.com/gobuffalo/genny v0.0.0-20190315124720-e16e52a93c79/go.mod h1:nKeefjbhYowo36ys9nG9VUvD9FRIS0p3BC2JFfcOucM=
|
||||
github.com/gobuffalo/genny v0.0.0-20190329151137-27723ad26ef9/go.mod h1:rWs4Z12d1Zbf19rlsn0nurr75KqhYp52EAGGxTbBhNk=
|
||||
github.com/gobuffalo/genny v0.0.0-20190403191548-3ca520ef0d9e/go.mod h1:80lIj3kVJWwOrXWWMRzzdhW3DsrdjILVil/SFKBzF28=
|
||||
github.com/gobuffalo/genny v0.1.0/go.mod h1:XidbUqzak3lHdS//TPu2OgiFB+51Ur5f7CSnXZ/JDvo=
|
||||
github.com/gobuffalo/genny v0.1.1/go.mod h1:5TExbEyY48pfunL4QSXxlDOmdsD44RRq4mVZ0Ex28Xk=
|
||||
github.com/gobuffalo/genny v0.2.0/go.mod h1:rWs4Z12d1Zbf19rlsn0nurr75KqhYp52EAGGxTbBhNk=
|
||||
github.com/gobuffalo/genny v0.3.0/go.mod h1:ywJ2CoXrTZj7rbS8HTbzv7uybnLKlsNSBhEQ+yFI3E8=
|
||||
github.com/gobuffalo/genny v0.4.0/go.mod h1:Kdo8wsw5zmooVvEfMkfv4JI9Ogz/PMvBNvl133soylI=
|
||||
github.com/gobuffalo/genny v0.4.1/go.mod h1:dpded+KBgICFciAb+6R5Lo+1VxzofjqHgKqFYIL8M7U=
|
||||
github.com/gobuffalo/gitgen v0.0.0-20190219185555-91c2c5f0aad5/go.mod h1:ZzGIrxBvCJEluaU4i3CN0GFlu1Qmb3yK8ziV02evJ1E=
|
||||
github.com/gobuffalo/gitgen v0.0.0-20190315122116-cc086187d211/go.mod h1:vEHJk/E9DmhejeLeNt7UVvlSGv3ziL+djtTr3yyzcOw=
|
||||
github.com/gobuffalo/github_flavored_markdown v1.0.4/go.mod h1:uRowCdK+q8d/RF0Kt3/DSalaIXbb0De/dmTqMQdkQ4I=
|
||||
github.com/gobuffalo/github_flavored_markdown v1.0.5/go.mod h1:U0643QShPF+OF2tJvYNiYDLDGDuQmJZXsf/bHOJPsMY=
|
||||
github.com/gobuffalo/github_flavored_markdown v1.0.7/go.mod h1:w93Pd9Lz6LvyQXEG6DktTPHkOtCbr+arAD5mkwMzXLI=
|
||||
github.com/gobuffalo/github_flavored_markdown v1.1.0/go.mod h1:TSpTKWcRTI0+v7W3x8dkSKMLJSUpuVitlptCkpeY8ic=
|
||||
github.com/gobuffalo/gogen v0.0.0-20190219194924-d32a17ad9761/go.mod h1:v47C8sid+ZM2qK+YpQ2MGJKssKAqyTsH1wl/pTCPdz8=
|
||||
github.com/gobuffalo/gogen v0.0.0-20190224213239-1c6076128bbc/go.mod h1:tQqPADZKflmJCR4FHRHYNPP79cXPICyxUiUHyhuXtqg=
|
||||
github.com/gobuffalo/gogen v0.0.0-20190315121717-8f38393713f5/go.mod h1:V9QVDIxsgKNZs6L2IYiGR8datgMhB577vzTDqypH360=
|
||||
github.com/gobuffalo/gogen v0.1.0/go.mod h1:8NTelM5qd8RZ15VjQTFkAW6qOMx5wBbW4dSCS3BY8gg=
|
||||
github.com/gobuffalo/gogen v0.1.1/go.mod h1:y8iBtmHmGc4qa3urIyo1shvOD8JftTtfcKi+71xfDNE=
|
||||
github.com/gobuffalo/gogen v0.2.0/go.mod h1:V9QVDIxsgKNZs6L2IYiGR8datgMhB577vzTDqypH360=
|
||||
github.com/gobuffalo/helpers v0.0.0-20190422082217-384f90c6579f/go.mod h1:g0I3qKQEyJxwnHtEmLugD75eoOiWxEtibcV62tYah9w=
|
||||
github.com/gobuffalo/helpers v0.0.0-20190506214229-8e6f634af7c3/go.mod h1:HlNpmw2+Rjx882VUf6hJfNJs5wpNRzX02KcqCXDlLGc=
|
||||
github.com/gobuffalo/helpers v0.2.1/go.mod h1:5UhA1EfGvyPZfzo9PqhKkSgmLolaTpnWYDbqCJcmiAE=
|
||||
github.com/gobuffalo/helpers v0.2.2/go.mod h1:xYbzUdCUpVzLwLnqV8HIjT6hmG0Cs7YIBCJkNM597jw=
|
||||
github.com/gobuffalo/helpers v0.2.4/go.mod h1:NX7v27yxPDOPTgUFYmJ5ow37EbxdoLraucOGvMNawyk=
|
||||
github.com/gobuffalo/helpers v0.4.0/go.mod h1:2q/ZnVxCehM4/y1bNz3+wXsvWvWUY+iTUr7mPC6QqGQ=
|
||||
github.com/gobuffalo/here v0.2.3/go.mod h1:2a6G14FaAKOGJMK/5UNa4Og/+iyFS5cq3MnlvFR7YDk=
|
||||
github.com/gobuffalo/httptest v1.0.2/go.mod h1:7T1IbSrg60ankme0aDLVnEY0h056g9M1/ZvpVThtB7E=
|
||||
github.com/gobuffalo/httptest v1.0.3/go.mod h1:7T1IbSrg60ankme0aDLVnEY0h056g9M1/ZvpVThtB7E=
|
||||
github.com/gobuffalo/httptest v1.0.4/go.mod h1:7T1IbSrg60ankme0aDLVnEY0h056g9M1/ZvpVThtB7E=
|
||||
github.com/gobuffalo/httptest v1.0.5/go.mod h1:7T1IbSrg60ankme0aDLVnEY0h056g9M1/ZvpVThtB7E=
|
||||
github.com/gobuffalo/httptest v1.0.6/go.mod h1:7T1IbSrg60ankme0aDLVnEY0h056g9M1/ZvpVThtB7E=
|
||||
github.com/gobuffalo/httptest v1.1.0/go.mod h1:BIfCgiqCOotRc5xYwCcZN7IFYag4277Ynqjar/Ra3iI=
|
||||
github.com/gobuffalo/httptest v1.2.0/go.mod h1:0KfourZCsapuvkljDMSr7YM+66kCt/rXv54YcWRWwhc=
|
||||
github.com/gobuffalo/httptest v1.3.0/go.mod h1:Y4qebOsMH91XdB0cZuS8OUdAKHGV7hVDcjgzGupoYlk=
|
||||
github.com/gobuffalo/httptest v1.4.0/go.mod h1:VDkgCFmIxAunkLNts49TC949NRLTtvyLKuN67o6hrXM=
|
||||
github.com/gobuffalo/licenser v0.0.0-20180924033006-eae28e638a42/go.mod h1:Ubo90Np8gpsSZqNScZZkVXXAo5DGhTb+WYFIjlnog8w=
|
||||
github.com/gobuffalo/licenser v0.0.0-20181025145548-437d89de4f75/go.mod h1:x3lEpYxkRG/XtGCUNkio+6RZ/dlOvLzTI9M1auIwFcw=
|
||||
github.com/gobuffalo/licenser v0.0.0-20181027200154-58051a75da95/go.mod h1:BzhaaxGd1tq1+OLKObzgdCV9kqVhbTulxOpYbvMQWS0=
|
||||
github.com/gobuffalo/licenser v0.0.0-20181109171355-91a2a7aac9a7/go.mod h1:m+Ygox92pi9bdg+gVaycvqE8RVSjZp7mWw75+K5NPHk=
|
||||
github.com/gobuffalo/licenser v0.0.0-20181116224424-1b7fd3f9cbb4/go.mod h1:icHYfF2FVDi6CpI8BK9Sy1ChkSijz/0GNN7Qzzdk6JE=
|
||||
github.com/gobuffalo/licenser v0.0.0-20181128165715-cc7305f8abed/go.mod h1:oU9F9UCE+AzI/MueCKZamsezGOOHfSirltllOVeRTAE=
|
||||
github.com/gobuffalo/licenser v0.0.0-20181128170751-82cc989582b9/go.mod h1:oU9F9UCE+AzI/MueCKZamsezGOOHfSirltllOVeRTAE=
|
||||
github.com/gobuffalo/licenser v0.0.0-20181203160806-fe900bbede07/go.mod h1:ph6VDNvOzt1CdfaWC+9XwcBnlSTBz2j49PBwum6RFaU=
|
||||
github.com/gobuffalo/licenser v0.0.0-20181211173111-f8a311c51159/go.mod h1:ve/Ue99DRuvnTaLq2zKa6F4KtHiYf7W046tDjuGYPfM=
|
||||
github.com/gobuffalo/licenser v0.0.0-20190224205124-37799bc2ebf6/go.mod h1:ve/Ue99DRuvnTaLq2zKa6F4KtHiYf7W046tDjuGYPfM=
|
||||
github.com/gobuffalo/licenser v0.0.0-20190329153211-c35c0a2813b2/go.mod h1:ZVWE6uKUE3rGf7sedUHWVjNWrEgxaUQLVFL+pQiWpfY=
|
||||
github.com/gobuffalo/licenser v1.1.0/go.mod h1:ZVWE6uKUE3rGf7sedUHWVjNWrEgxaUQLVFL+pQiWpfY=
|
||||
github.com/gobuffalo/licenser v1.2.0/go.mod h1:ZqDQ+UOqsXPovl65rbCr3Tye6+nKjT4ovwurjVxvMQM=
|
||||
github.com/gobuffalo/licenser v1.4.0/go.mod h1:YkyTh2T/d7KECTh32j65auPV876gkJJk55aAdBfDehg=
|
||||
github.com/gobuffalo/logger v0.0.0-20181022175615-46cfb361fc27/go.mod h1:8sQkgyhWipz1mIctHF4jTxmJh1Vxhp7mP8IqbljgJZo=
|
||||
github.com/gobuffalo/logger v0.0.0-20181027144941-73d08d2bb969/go.mod h1:7uGg2duHKpWnN4+YmyKBdLXfhopkAdVM6H3nKbyFbz8=
|
||||
github.com/gobuffalo/logger v0.0.0-20181027193913-9cf4dd0efe46/go.mod h1:7uGg2duHKpWnN4+YmyKBdLXfhopkAdVM6H3nKbyFbz8=
|
||||
github.com/gobuffalo/logger v0.0.0-20181109185836-3feeab578c17/go.mod h1:oNErH0xLe+utO+OW8ptXMSA5DkiSEDW1u3zGIt8F9Ew=
|
||||
github.com/gobuffalo/logger v0.0.0-20181117211126-8e9b89b7c264/go.mod h1:5etB91IE0uBlw9k756fVKZJdS+7M7ejVhmpXXiSFj0I=
|
||||
github.com/gobuffalo/logger v0.0.0-20181127160119-5b956e21995c/go.mod h1:+HxKANrR9VGw9yN3aOAppJKvhO05ctDi63w4mDnKv2U=
|
||||
github.com/gobuffalo/logger v0.0.0-20190224201004-be78ebfea0fa/go.mod h1:+HxKANrR9VGw9yN3aOAppJKvhO05ctDi63w4mDnKv2U=
|
||||
github.com/gobuffalo/logger v0.0.0-20190315122211-86e12af44bc2/go.mod h1:QdxcLw541hSGtBnhUc4gaNIXRjiDppFGaDqzbrBd3v8=
|
||||
github.com/gobuffalo/logger v1.0.0/go.mod h1:2zbswyIUa45I+c+FLXuWl9zSWEiVuthsk8ze5s8JvPs=
|
||||
github.com/gobuffalo/logger v1.0.1/go.mod h1:2zbswyIUa45I+c+FLXuWl9zSWEiVuthsk8ze5s8JvPs=
|
||||
github.com/gobuffalo/makr v1.1.5/go.mod h1:Y+o0btAH1kYAMDJW/TX3+oAXEu0bmSLLoC9mIFxtzOw=
|
||||
github.com/gobuffalo/makr v1.2.0/go.mod h1:SFQUrDtwDpmQ6BxKJqxg0emc4KkNzzvUtAtnHiVK/QQ=
|
||||
github.com/gobuffalo/mapi v1.0.0/go.mod h1:4VAGh89y6rVOvm5A8fKFxYG+wIW6LO1FMTG9hnKStFc=
|
||||
github.com/gobuffalo/mapi v1.0.1/go.mod h1:4VAGh89y6rVOvm5A8fKFxYG+wIW6LO1FMTG9hnKStFc=
|
||||
github.com/gobuffalo/mapi v1.0.2/go.mod h1:4VAGh89y6rVOvm5A8fKFxYG+wIW6LO1FMTG9hnKStFc=
|
||||
github.com/gobuffalo/mapi v1.1.0/go.mod h1:pqQ1XAqvpy/JYtRwoieNps2yU8MFiMxBUpAm2FBtQ50=
|
||||
github.com/gobuffalo/meta v0.0.0-20181018155829-df62557efcd3/go.mod h1:XTTOhwMNryif3x9LkTTBO/Llrveezd71u3quLd0u7CM=
|
||||
github.com/gobuffalo/meta v0.0.0-20181018192820-8c6cef77dab3/go.mod h1:E94EPzx9NERGCY69UWlcj6Hipf2uK/vnfrF4QD0plVE=
|
||||
github.com/gobuffalo/meta v0.0.0-20181025145500-3a985a084b0a/go.mod h1:YDAKBud2FP7NZdruCSlmTmDOZbVSa6bpK7LJ/A/nlKg=
|
||||
github.com/gobuffalo/meta v0.0.0-20181109154556-f76929ccd5fa/go.mod h1:1rYI5QsanV6cLpT1BlTAkrFi9rtCZrGkvSK8PglwfS8=
|
||||
github.com/gobuffalo/meta v0.0.0-20181114191255-b130ebedd2f7/go.mod h1:K6cRZ29ozr4Btvsqkjvg5nDFTLOgTqf03KA70Ks0ypE=
|
||||
github.com/gobuffalo/meta v0.0.0-20181116202903-8850e47774f5/go.mod h1:K6cRZ29ozr4Btvsqkjvg5nDFTLOgTqf03KA70Ks0ypE=
|
||||
github.com/gobuffalo/meta v0.0.0-20181127070345-0d7e59dd540b/go.mod h1:RLO7tMvE0IAKAM8wny1aN12pvEKn7EtkBLkUZR00Qf8=
|
||||
github.com/gobuffalo/meta v0.0.0-20190120163247-50bbb1fa260d/go.mod h1:KKsH44nIK2gA8p0PJmRT9GvWJUdphkDUA8AJEvFWiqM=
|
||||
github.com/gobuffalo/meta v0.0.0-20190121163014-ecaa953cbfb3/go.mod h1:KLfkGnS+Tucc+iTkUcAUBtxpwOJGfhw2pHRLddPxMQY=
|
||||
github.com/gobuffalo/meta v0.0.0-20190126124307-c8fb6f4eb5a9/go.mod h1:zoh6GLgkk9+iI/62dST4amAuVAczZrBXoAk/t64n7Ew=
|
||||
github.com/gobuffalo/meta v0.0.0-20190207205153-50a99e08b8cf/go.mod h1:+VGfK9Jm9I7oJyFeJzIT6omCPvrDktzAtpHJKaieugY=
|
||||
github.com/gobuffalo/meta v0.0.0-20190320152240-a5320142224a/go.mod h1:+VGfK9Jm9I7oJyFeJzIT6omCPvrDktzAtpHJKaieugY=
|
||||
github.com/gobuffalo/meta v0.0.0-20190329152330-e161e8a93e3b/go.mod h1:mCRSy5F47tjK8yaIDcJad4oe9fXxY5gLrx3Xx2spK+0=
|
||||
github.com/gobuffalo/meta v0.1.0/go.mod h1:vAgu28tKdaPIkt8j60wYv1dLuJ1UwOmAjZtYOnLJlko=
|
||||
github.com/gobuffalo/meta v0.2.0/go.mod h1:KZ9Hk/o+kFpwRhzUO95EOuxf3jXU4GleCTUDSTpe3hQ=
|
||||
github.com/gobuffalo/mw-basicauth v1.0.3/go.mod h1:dg7+ilMZOKnQFHDefUzUHufNyTswVUviCBgF244C1+0=
|
||||
github.com/gobuffalo/mw-basicauth v1.0.6/go.mod h1:RFyeGeDLZlVgp/eBflqu2eavFqyv0j0fVVP87WPYFwY=
|
||||
github.com/gobuffalo/mw-basicauth v1.0.7/go.mod h1:xJ9/OSiOWl+kZkjaSun62srODr3Cx8OB4AKr+G4FlS4=
|
||||
github.com/gobuffalo/mw-contenttype v0.0.0-20180802152300-74f5a47f4d56/go.mod h1:7EvcmzBbeCvFtQm5GqF9ys6QnCxz2UM1x0moiWLq1No=
|
||||
github.com/gobuffalo/mw-contenttype v0.0.0-20190129203934-2554e742333b/go.mod h1:7x87+mDrr9Peh7AqhOtESyJLanMd2zQNz2Hts+vtBoE=
|
||||
github.com/gobuffalo/mw-csrf v0.0.0-20180802151833-446ff26e108b/go.mod h1:sbGtb8DmDZuDUQoxjr8hG1ZbLtZboD9xsn6p77ppcHo=
|
||||
github.com/gobuffalo/mw-csrf v0.0.0-20190129204204-25460a055517/go.mod h1:o5u+nnN0Oa7LBeDYH9QP36qeMPnXV9qbVnbZ4D+Kb0Q=
|
||||
github.com/gobuffalo/mw-forcessl v0.0.0-20180802152810-73921ae7a130/go.mod h1:JvNHRj7bYNAMUr/5XMkZaDcw3jZhUZpsmzhd//FFWmQ=
|
||||
github.com/gobuffalo/mw-i18n v0.0.0-20180802152014-e3060b7e13d6/go.mod h1:91AQfukc52A6hdfIfkxzyr+kpVYDodgAeT5cjX1UIj4=
|
||||
github.com/gobuffalo/mw-i18n v0.0.0-20181027200759-09e0c99be4d3/go.mod h1:1PpGPgqP8VsfUppgBA9FrTOXjI6X9gjqhh/8dmg48lg=
|
||||
github.com/gobuffalo/mw-i18n v0.0.0-20190129204410-552713a3ebb4/go.mod h1:rBg2eHxsyxVjtYra6fGy4GSF5C8NysOvz+Znnzk42EM=
|
||||
github.com/gobuffalo/mw-paramlogger v0.0.0-20181005191442-d6ee392ec72e/go.mod h1:6OJr6VwSzgJMqWMj7TYmRUqzNe2LXu/W1rRW4MAz/ME=
|
||||
github.com/gobuffalo/mw-paramlogger v0.0.0-20190129202837-395da1998525/go.mod h1:gEo/ABCsKqvpp/KCxN2AIzDEe0OJUXbJ9293FYrXw+w=
|
||||
github.com/gobuffalo/mw-tokenauth v0.0.0-20181001105134-8545f626c189/go.mod h1:UqBF00IfKvd39ni5+yI5MLMjAf4gX7cDKN/26zDOD6c=
|
||||
github.com/gobuffalo/mw-tokenauth v0.0.0-20190129201951-95847f29c5c8/go.mod h1:n2oa93LHGD94hGI+PoJO+6cf60DNrXrAIv9L/Ke3GXc=
|
||||
github.com/gobuffalo/nulls v0.0.0-20190305142546-85f3c9250d87/go.mod h1:KhaLCW+kFA/G97tZkmVkIxhRw3gvZszJn7JjPLI3gtI=
|
||||
github.com/gobuffalo/nulls v0.1.0/go.mod h1:/HRtuDRoVoN5fABk3J6jzZaGEdcIZEMs0qczj71eKZY=
|
||||
github.com/gobuffalo/packd v0.0.0-20181027182251-01ad393492c8/go.mod h1:SmdBdhj6uhOsg1Ui4SFAyrhuc7U4VCildosO5IDJ3lc=
|
||||
github.com/gobuffalo/packd v0.0.0-20181027190505-aafc0d02c411/go.mod h1:SmdBdhj6uhOsg1Ui4SFAyrhuc7U4VCildosO5IDJ3lc=
|
||||
github.com/gobuffalo/packd v0.0.0-20181027194105-7ae579e6d213/go.mod h1:SmdBdhj6uhOsg1Ui4SFAyrhuc7U4VCildosO5IDJ3lc=
|
||||
github.com/gobuffalo/packd v0.0.0-20181028162033-6d52e0eabf41/go.mod h1:Yf2toFaISlyQrr5TfO3h6DB9pl9mZRmyvBGQb/aQ/pI=
|
||||
github.com/gobuffalo/packd v0.0.0-20181029140631-cf76bd87a5a6/go.mod h1:Yf2toFaISlyQrr5TfO3h6DB9pl9mZRmyvBGQb/aQ/pI=
|
||||
github.com/gobuffalo/packd v0.0.0-20181031195726-c82734870264/go.mod h1:Yf2toFaISlyQrr5TfO3h6DB9pl9mZRmyvBGQb/aQ/pI=
|
||||
github.com/gobuffalo/packd v0.0.0-20181103221656-16c4ed88b296/go.mod h1:Yf2toFaISlyQrr5TfO3h6DB9pl9mZRmyvBGQb/aQ/pI=
|
||||
github.com/gobuffalo/packd v0.0.0-20181104210303-d376b15f8e96/go.mod h1:Yf2toFaISlyQrr5TfO3h6DB9pl9mZRmyvBGQb/aQ/pI=
|
||||
github.com/gobuffalo/packd v0.0.0-20181111195323-b2e760a5f0ff/go.mod h1:Yf2toFaISlyQrr5TfO3h6DB9pl9mZRmyvBGQb/aQ/pI=
|
||||
github.com/gobuffalo/packd v0.0.0-20181114190715-f25c5d2471d7/go.mod h1:Yf2toFaISlyQrr5TfO3h6DB9pl9mZRmyvBGQb/aQ/pI=
|
||||
github.com/gobuffalo/packd v0.0.0-20181124090624-311c6248e5fb/go.mod h1:Foenia9ZvITEvG05ab6XpiD5EfBHPL8A6hush8SJ0o8=
|
||||
github.com/gobuffalo/packd v0.0.0-20181207120301-c49825f8f6f4/go.mod h1:LYc0TGKFBBFTRC9dg2pcRcMqGCTMD7T2BIMP7OBuQAA=
|
||||
github.com/gobuffalo/packd v0.0.0-20181212173646-eca3b8fd6687/go.mod h1:LYc0TGKFBBFTRC9dg2pcRcMqGCTMD7T2BIMP7OBuQAA=
|
||||
github.com/gobuffalo/packd v0.0.0-20190224160250-d04dd98aca5b/go.mod h1:LYc0TGKFBBFTRC9dg2pcRcMqGCTMD7T2BIMP7OBuQAA=
|
||||
github.com/gobuffalo/packd v0.0.0-20190315122247-83d601d65093/go.mod h1:LpEu7OkoplvlhztyAEePkS6JwcGgANdgGL5pB4Knxaw=
|
||||
github.com/gobuffalo/packd v0.0.0-20190315124812-a385830c7fc0/go.mod h1:M2Juc+hhDXf/PnmBANFCqx4DM3wRbgDvnVWeG2RIxq4=
|
||||
github.com/gobuffalo/packd v0.1.0/go.mod h1:M2Juc+hhDXf/PnmBANFCqx4DM3wRbgDvnVWeG2RIxq4=
|
||||
github.com/gobuffalo/packd v0.2.0/go.mod h1:k2CkHP3bjbqL2GwxwhxUy1DgnlbW644hkLC9iIUvZwY=
|
||||
github.com/gobuffalo/packd v0.3.0/go.mod h1:zC7QkmNkYVGKPw4tHpBQ+ml7W/3tIebgeo1b36chA3Q=
|
||||
github.com/gobuffalo/packr v1.13.7/go.mod h1:KkinLIn/n6+3tVXMwg6KkNvWwVsrRAz4ph+jgpk3Z24=
|
||||
github.com/gobuffalo/packr v1.15.0/go.mod h1:t5gXzEhIviQwVlNx/+3SfS07GS+cZ2hn76WLzPp6MGI=
|
||||
github.com/gobuffalo/packr v1.15.1/go.mod h1:IeqicJ7jm8182yrVmNbM6PR4g79SjN9tZLH8KduZZwE=
|
||||
github.com/gobuffalo/packr v1.16.0/go.mod h1:Yx/lcR/7mDLXhuJSzsz2MauD/HUwSc+EK6oigMRGGsM=
|
||||
github.com/gobuffalo/packr v1.19.0/go.mod h1:MstrNkfCQhd5o+Ct4IJ0skWlxN8emOq8DsoT1G98VIU=
|
||||
github.com/gobuffalo/packr v1.20.0/go.mod h1:JDytk1t2gP+my1ig7iI4NcVaXr886+N0ecUga6884zw=
|
||||
github.com/gobuffalo/packr v1.21.0/go.mod h1:H00jGfj1qFKxscFJSw8wcL4hpQtPe1PfU2wa6sg/SR0=
|
||||
github.com/gobuffalo/packr v1.21.5/go.mod h1:zCvDxrZzFmq5Xd7Jw4vaGe/OYwzuXnma31D2EbTHMWk=
|
||||
github.com/gobuffalo/packr v1.21.7/go.mod h1:73tmYjwi4Cvb1eNiAwpmrzZ0gxVA4KBqVSZ2FNeJodM=
|
||||
github.com/gobuffalo/packr v1.21.9/go.mod h1:GC76q6nMzRtR+AEN/VV4w0z2/4q7SOaEmXh3Ooa8sOE=
|
||||
github.com/gobuffalo/packr v1.22.0/go.mod h1:Qr3Wtxr3+HuQEwWqlLnNW4t1oTvK+7Gc/Rnoi/lDFvA=
|
||||
github.com/gobuffalo/packr v1.24.0/go.mod h1:p9Sgang00I1hlr1ub+tgI9AQdFd4f+WH1h62jYpzetM=
|
||||
github.com/gobuffalo/packr v1.24.1/go.mod h1:absPnW/XUUa4DmIh5ga7AipGXXg0DOcd5YWKk5RZs8Y=
|
||||
github.com/gobuffalo/packr v1.25.0/go.mod h1:NqsGg8CSB2ZD+6RBIRs18G7aZqdYDlYNNvsSqP6T4/U=
|
||||
github.com/gobuffalo/packr/v2 v2.0.0-rc.5/go.mod h1:e6gmOfhf3KmT4zl2X/NDRSfBXk2oV4TXZ+NNOM0xwt8=
|
||||
github.com/gobuffalo/packr/v2 v2.0.0-rc.7/go.mod h1:BzhceHWfF3DMAkbPUONHYWs63uacCZxygFY1b4H9N2A=
|
||||
github.com/gobuffalo/packr/v2 v2.0.0-rc.8/go.mod h1:y60QCdzwuMwO2R49fdQhsjCPv7tLQFR0ayzxxla9zes=
|
||||
github.com/gobuffalo/packr/v2 v2.0.0-rc.9/go.mod h1:fQqADRfZpEsgkc7c/K7aMew3n4aF1Kji7+lIZeR98Fc=
|
||||
github.com/gobuffalo/packr/v2 v2.0.0-rc.10/go.mod h1:4CWWn4I5T3v4c1OsJ55HbHlUEKNWMITG5iIkdr4Px4w=
|
||||
github.com/gobuffalo/packr/v2 v2.0.0-rc.11/go.mod h1:JoieH/3h3U4UmatmV93QmqyPUdf4wVM9HELaHEu+3fk=
|
||||
github.com/gobuffalo/packr/v2 v2.0.0-rc.12/go.mod h1:FV1zZTsVFi1DSCboO36Xgs4pzCZBjB/tDV9Cz/lSaR8=
|
||||
github.com/gobuffalo/packr/v2 v2.0.0-rc.13/go.mod h1:2Mp7GhBFMdJlOK8vGfl7SYtfMP3+5roE39ejlfjw0rA=
|
||||
github.com/gobuffalo/packr/v2 v2.0.0-rc.14/go.mod h1:06otbrNvDKO1eNQ3b8hst+1010UooI2MFg+B2Ze4MV8=
|
||||
github.com/gobuffalo/packr/v2 v2.0.0-rc.15/go.mod h1:IMe7H2nJvcKXSF90y4X1rjYIRlNMJYCxEhssBXNZwWs=
|
||||
github.com/gobuffalo/packr/v2 v2.0.0/go.mod h1:7McfLpSxaPUoSQm7gYpTZRQSK63mX8EKzzYSEFKvfkM=
|
||||
github.com/gobuffalo/packr/v2 v2.0.1/go.mod h1:tp5/5A2e67F1lUGTiNadtA2ToP045+mvkWzaqMCsZr4=
|
||||
github.com/gobuffalo/packr/v2 v2.0.2/go.mod h1:6Y+2NY9cHDlrz96xkJG8bfPwLlCdJVS/irhNJmwD7kM=
|
||||
github.com/gobuffalo/packr/v2 v2.0.6/go.mod h1:/TYKOjadT7P9jRWZtj4BRTgeXy2tIYntifGkD+aM2KY=
|
||||
github.com/gobuffalo/packr/v2 v2.0.7/go.mod h1:1SBFAIr3YnxYdJRyrceR7zhOrhV/YhHzOjDwA9LLZ5Y=
|
||||
github.com/gobuffalo/packr/v2 v2.0.9/go.mod h1:emmyGweYTm6Kdper+iywB6YK5YzuKchGtJQZ0Odn4pQ=
|
||||
github.com/gobuffalo/packr/v2 v2.0.10/go.mod h1:n90ZuXIc2KN2vFAOQascnPItp9A2g9QYSvYvS3AjQEM=
|
||||
github.com/gobuffalo/packr/v2 v2.1.0/go.mod h1:n90ZuXIc2KN2vFAOQascnPItp9A2g9QYSvYvS3AjQEM=
|
||||
github.com/gobuffalo/packr/v2 v2.2.0/go.mod h1:CaAwI0GPIAv+5wKLtv8Afwl+Cm78K/I/VCm/3ptBN+0=
|
||||
github.com/gobuffalo/packr/v2 v2.3.2/go.mod h1:93elRVdDhpUgox9GnXswWK5dzpVBQsnlQjnnncSLoiU=
|
||||
github.com/gobuffalo/packr/v2 v2.4.0/go.mod h1:ra341gygw9/61nSjAbfwcwh8IrYL4WmR4IsPkPBhQiY=
|
||||
github.com/gobuffalo/packr/v2 v2.5.1/go.mod h1:8f9c96ITobJlPzI44jj+4tHnEKNt0xXWSVlXRN9X1Iw=
|
||||
github.com/gobuffalo/packr/v2 v2.5.2/go.mod h1:sgEE1xNZ6G0FNN5xn9pevVu4nywaxHvgup67xisti08=
|
||||
github.com/gobuffalo/packr/v2 v2.5.3/go.mod h1:sgEE1xNZ6G0FNN5xn9pevVu4nywaxHvgup67xisti08=
|
||||
github.com/gobuffalo/packr/v2 v2.6.0/go.mod h1:sgEE1xNZ6G0FNN5xn9pevVu4nywaxHvgup67xisti08=
|
||||
github.com/gobuffalo/packr/v2 v2.7.1/go.mod h1:qYEvAazPaVxy7Y7KR0W8qYEE+RymX74kETFqjFoFlOc=
|
||||
github.com/gobuffalo/plush v3.7.16+incompatible/go.mod h1:rQ4zdtUUyZNqULlc6bqd5scsPfLKfT0+TGMChgduDvI=
|
||||
github.com/gobuffalo/plush v3.7.20+incompatible/go.mod h1:rQ4zdtUUyZNqULlc6bqd5scsPfLKfT0+TGMChgduDvI=
|
||||
github.com/gobuffalo/plush v3.7.21+incompatible/go.mod h1:rQ4zdtUUyZNqULlc6bqd5scsPfLKfT0+TGMChgduDvI=
|
||||
github.com/gobuffalo/plush v3.7.22+incompatible/go.mod h1:rQ4zdtUUyZNqULlc6bqd5scsPfLKfT0+TGMChgduDvI=
|
||||
github.com/gobuffalo/plush v3.7.23+incompatible/go.mod h1:rQ4zdtUUyZNqULlc6bqd5scsPfLKfT0+TGMChgduDvI=
|
||||
github.com/gobuffalo/plush v3.7.30+incompatible/go.mod h1:rQ4zdtUUyZNqULlc6bqd5scsPfLKfT0+TGMChgduDvI=
|
||||
github.com/gobuffalo/plush v3.7.31+incompatible/go.mod h1:rQ4zdtUUyZNqULlc6bqd5scsPfLKfT0+TGMChgduDvI=
|
||||
github.com/gobuffalo/plush v3.7.32+incompatible/go.mod h1:rQ4zdtUUyZNqULlc6bqd5scsPfLKfT0+TGMChgduDvI=
|
||||
github.com/gobuffalo/plush v3.7.33+incompatible/go.mod h1:rQ4zdtUUyZNqULlc6bqd5scsPfLKfT0+TGMChgduDvI=
|
||||
github.com/gobuffalo/plush v3.7.34+incompatible/go.mod h1:rQ4zdtUUyZNqULlc6bqd5scsPfLKfT0+TGMChgduDvI=
|
||||
github.com/gobuffalo/plush v3.8.0+incompatible/go.mod h1:rQ4zdtUUyZNqULlc6bqd5scsPfLKfT0+TGMChgduDvI=
|
||||
github.com/gobuffalo/plush v3.8.2+incompatible/go.mod h1:rQ4zdtUUyZNqULlc6bqd5scsPfLKfT0+TGMChgduDvI=
|
||||
github.com/gobuffalo/plush v3.8.3+incompatible/go.mod h1:rQ4zdtUUyZNqULlc6bqd5scsPfLKfT0+TGMChgduDvI=
|
||||
github.com/gobuffalo/plushgen v0.0.0-20181128164830-d29dcb966cb2/go.mod h1:r9QwptTFnuvSaSRjpSp4S2/4e2D3tJhARYbvEBcKSb4=
|
||||
github.com/gobuffalo/plushgen v0.0.0-20181203163832-9fc4964505c2/go.mod h1:opEdT33AA2HdrIwK1aibqnTJDVVKXC02Bar/GT1YRVs=
|
||||
github.com/gobuffalo/plushgen v0.0.0-20181207152837-eedb135bd51b/go.mod h1:Lcw7HQbEVm09sAQrCLzIxuhFbB3nAgp4c55E+UlynR0=
|
||||
github.com/gobuffalo/plushgen v0.0.0-20190104222512-177cd2b872b3/go.mod h1:tYxCozi8X62bpZyKXYHw1ncx2ZtT2nFvG42kuLwYjoc=
|
||||
github.com/gobuffalo/plushgen v0.0.0-20190224160205-347ea233336e/go.mod h1:tYxCozi8X62bpZyKXYHw1ncx2ZtT2nFvG42kuLwYjoc=
|
||||
github.com/gobuffalo/plushgen v0.0.0-20190329152458-0555238fe0d9/go.mod h1:3U71v6HWZpVER1nInTXeAwdoRNsRd4W8aeIa1Lyp+Bk=
|
||||
github.com/gobuffalo/plushgen v0.1.0/go.mod h1:NK33QLkRK/xKexiPFSxlWRT286F4yStZUa/Fbx0guvo=
|
||||
github.com/gobuffalo/plushgen v0.1.2/go.mod h1:3U71v6HWZpVER1nInTXeAwdoRNsRd4W8aeIa1Lyp+Bk=
|
||||
github.com/gobuffalo/pop v4.8.2+incompatible/go.mod h1:DwBz3SD5SsHpTZiTubcsFWcVDpJWGsxjVjMPnkiThWg=
|
||||
github.com/gobuffalo/pop v4.8.3+incompatible/go.mod h1:DwBz3SD5SsHpTZiTubcsFWcVDpJWGsxjVjMPnkiThWg=
|
||||
github.com/gobuffalo/pop v4.8.4+incompatible/go.mod h1:DwBz3SD5SsHpTZiTubcsFWcVDpJWGsxjVjMPnkiThWg=
|
||||
github.com/gobuffalo/pop v4.8.5+incompatible/go.mod h1:DwBz3SD5SsHpTZiTubcsFWcVDpJWGsxjVjMPnkiThWg=
|
||||
github.com/gobuffalo/pop v4.8.7+incompatible/go.mod h1:DwBz3SD5SsHpTZiTubcsFWcVDpJWGsxjVjMPnkiThWg=
|
||||
github.com/gobuffalo/pop v4.8.8+incompatible/go.mod h1:DwBz3SD5SsHpTZiTubcsFWcVDpJWGsxjVjMPnkiThWg=
|
||||
github.com/gobuffalo/pop v4.9.0+incompatible/go.mod h1:DwBz3SD5SsHpTZiTubcsFWcVDpJWGsxjVjMPnkiThWg=
|
||||
github.com/gobuffalo/pop v4.9.1+incompatible/go.mod h1:DwBz3SD5SsHpTZiTubcsFWcVDpJWGsxjVjMPnkiThWg=
|
||||
github.com/gobuffalo/pop v4.9.2+incompatible/go.mod h1:DwBz3SD5SsHpTZiTubcsFWcVDpJWGsxjVjMPnkiThWg=
|
||||
github.com/gobuffalo/pop v4.9.3+incompatible/go.mod h1:DwBz3SD5SsHpTZiTubcsFWcVDpJWGsxjVjMPnkiThWg=
|
||||
github.com/gobuffalo/pop v4.9.5+incompatible/go.mod h1:DwBz3SD5SsHpTZiTubcsFWcVDpJWGsxjVjMPnkiThWg=
|
||||
github.com/gobuffalo/pop v4.9.6+incompatible/go.mod h1:DwBz3SD5SsHpTZiTubcsFWcVDpJWGsxjVjMPnkiThWg=
|
||||
github.com/gobuffalo/pop v4.9.8+incompatible/go.mod h1:DwBz3SD5SsHpTZiTubcsFWcVDpJWGsxjVjMPnkiThWg=
|
||||
github.com/gobuffalo/pop v4.9.9+incompatible/go.mod h1:DwBz3SD5SsHpTZiTubcsFWcVDpJWGsxjVjMPnkiThWg=
|
||||
github.com/gobuffalo/pop v4.10.0+incompatible/go.mod h1:DwBz3SD5SsHpTZiTubcsFWcVDpJWGsxjVjMPnkiThWg=
|
||||
github.com/gobuffalo/pop v4.11.0+incompatible/go.mod h1:DwBz3SD5SsHpTZiTubcsFWcVDpJWGsxjVjMPnkiThWg=
|
||||
github.com/gobuffalo/pop v4.11.1+incompatible/go.mod h1:DwBz3SD5SsHpTZiTubcsFWcVDpJWGsxjVjMPnkiThWg=
|
||||
github.com/gobuffalo/pop v4.11.2+incompatible/go.mod h1:DwBz3SD5SsHpTZiTubcsFWcVDpJWGsxjVjMPnkiThWg=
|
||||
github.com/gobuffalo/pop v4.11.3+incompatible/go.mod h1:DwBz3SD5SsHpTZiTubcsFWcVDpJWGsxjVjMPnkiThWg=
|
||||
github.com/gobuffalo/pop v4.12.0+incompatible/go.mod h1:DwBz3SD5SsHpTZiTubcsFWcVDpJWGsxjVjMPnkiThWg=
|
||||
github.com/gobuffalo/pop v4.12.1+incompatible/go.mod h1:DwBz3SD5SsHpTZiTubcsFWcVDpJWGsxjVjMPnkiThWg=
|
||||
github.com/gobuffalo/release v1.0.35/go.mod h1:VtHFAKs61vO3wboCec5xr9JPTjYyWYcvaM3lclkc4x4=
|
||||
github.com/gobuffalo/release v1.0.38/go.mod h1:VtHFAKs61vO3wboCec5xr9JPTjYyWYcvaM3lclkc4x4=
|
||||
github.com/gobuffalo/release v1.0.42/go.mod h1:RPs7EtafH4oylgetOJpGP0yCZZUiO4vqHfTHJjSdpug=
|
||||
github.com/gobuffalo/release v1.0.51/go.mod h1:RPs7EtafH4oylgetOJpGP0yCZZUiO4vqHfTHJjSdpug=
|
||||
github.com/gobuffalo/release v1.0.52/go.mod h1:RPs7EtafH4oylgetOJpGP0yCZZUiO4vqHfTHJjSdpug=
|
||||
github.com/gobuffalo/release v1.0.53/go.mod h1:FdF257nd8rqhNaqtDWFGhxdJ/Ig4J7VcS3KL7n/a+aA=
|
||||
github.com/gobuffalo/release v1.0.54/go.mod h1:Pe5/RxRa/BE8whDpGfRqSI7D1a0evGK1T4JDm339tJc=
|
||||
github.com/gobuffalo/release v1.0.61/go.mod h1:mfIO38ujUNVDlBziIYqXquYfBF+8FDHUjKZgYC1Hj24=
|
||||
github.com/gobuffalo/release v1.0.63/go.mod h1:/7hQAikt0l8Iu/tAX7slC1qiOhD6Nb+3KMmn/htiUfc=
|
||||
github.com/gobuffalo/release v1.0.72/go.mod h1:NP5NXgg/IX3M5XmHmWR99D687/3Dt9qZtTK/Lbwc1hU=
|
||||
github.com/gobuffalo/release v1.0.74/go.mod h1:NP5NXgg/IX3M5XmHmWR99D687/3Dt9qZtTK/Lbwc1hU=
|
||||
github.com/gobuffalo/release v1.1.1/go.mod h1:Sluak1Xd6kcp6snkluR1jeXAogdJZpFFRzTYRs/2uwg=
|
||||
github.com/gobuffalo/release v1.1.3/go.mod h1:CuXc5/m+4zuq8idoDt1l4va0AXAn/OSs08uHOfMVr8E=
|
||||
github.com/gobuffalo/release v1.1.6/go.mod h1:18naWa3kBsqO0cItXZNJuefCKOENpbbUIqRL1g+p6z0=
|
||||
github.com/gobuffalo/release v1.2.2/go.mod h1:tkFFZua2N5WRxyGDk2cSwQjzkZ/apKKXl5T8P+kEO+E=
|
||||
github.com/gobuffalo/release v1.2.5/go.mod h1:tkFFZua2N5WRxyGDk2cSwQjzkZ/apKKXl5T8P+kEO+E=
|
||||
github.com/gobuffalo/release v1.4.0/go.mod h1:f4uUPnD9dxrWxVy9yy0k/mvDf3EzhFtf7/byl0tTdY4=
|
||||
github.com/gobuffalo/release v1.7.0/go.mod h1:xH2NjAueVSY89XgC4qx24ojEQ4zQ9XCGVs5eXwJTkEs=
|
||||
github.com/gobuffalo/release v1.8.3/go.mod h1:gCk/x5WD+aIGkPodO4CuLxdnhYn9Jgp7yFYxntK/8mk=
|
||||
github.com/gobuffalo/release v1.13.4/go.mod h1:5Cc4TSNxP4QFV2ZUYcgPiBBV7YyRomHecGTQuuy26G4=
|
||||
github.com/gobuffalo/shoulders v1.0.1/go.mod h1:V33CcVmaQ4gRUmHKwq1fiTXuf8Gp/qjQBUL5tHPmvbA=
|
||||
github.com/gobuffalo/shoulders v1.0.3/go.mod h1:LqMcHhKRuBPMAYElqOe3POHiZ1x7Ry0BE8ZZ84Bx+k4=
|
||||
github.com/gobuffalo/shoulders v1.0.4/go.mod h1:LqMcHhKRuBPMAYElqOe3POHiZ1x7Ry0BE8ZZ84Bx+k4=
|
||||
github.com/gobuffalo/shoulders v1.1.0/go.mod h1:kcIJs3p7VqoBJ36Mzs+x767NyzTx0pxBvzZdWTWZYF8=
|
||||
github.com/gobuffalo/shoulders v1.2.0/go.mod h1:Ia3oFybQWg4711cb2S5JkFSt9V4rMiLGusWZ6mRAdNM=
|
||||
github.com/gobuffalo/syncx v0.0.0-20181120191700-98333ab04150/go.mod h1:HhnNqWY95UYwwW3uSASeV7vtgYkT2t16hJgV3AEPUpw=
|
||||
github.com/gobuffalo/syncx v0.0.0-20181120194010-558ac7de985f/go.mod h1:HhnNqWY95UYwwW3uSASeV7vtgYkT2t16hJgV3AEPUpw=
|
||||
github.com/gobuffalo/syncx v0.0.0-20190224160051-33c29581e754/go.mod h1:HhnNqWY95UYwwW3uSASeV7vtgYkT2t16hJgV3AEPUpw=
|
||||
github.com/gobuffalo/tags v2.0.11+incompatible/go.mod h1:9XmhOkyaB7UzvuY4UoZO4s67q8/xRMVJEaakauVQYeY=
|
||||
github.com/gobuffalo/tags v2.0.14+incompatible/go.mod h1:9XmhOkyaB7UzvuY4UoZO4s67q8/xRMVJEaakauVQYeY=
|
||||
github.com/gobuffalo/tags v2.0.15+incompatible/go.mod h1:9XmhOkyaB7UzvuY4UoZO4s67q8/xRMVJEaakauVQYeY=
|
||||
github.com/gobuffalo/tags v2.0.16+incompatible/go.mod h1:9XmhOkyaB7UzvuY4UoZO4s67q8/xRMVJEaakauVQYeY=
|
||||
github.com/gobuffalo/tags v2.1.0+incompatible/go.mod h1:9XmhOkyaB7UzvuY4UoZO4s67q8/xRMVJEaakauVQYeY=
|
||||
github.com/gobuffalo/tags v2.1.5+incompatible/go.mod h1:9XmhOkyaB7UzvuY4UoZO4s67q8/xRMVJEaakauVQYeY=
|
||||
github.com/gobuffalo/uuid v2.0.3+incompatible/go.mod h1:ErhIzkRhm0FtRuiE/PeORqcw4cVi1RtSpnwYrxuvkfE=
|
||||
github.com/gobuffalo/uuid v2.0.4+incompatible/go.mod h1:ErhIzkRhm0FtRuiE/PeORqcw4cVi1RtSpnwYrxuvkfE=
|
||||
github.com/gobuffalo/uuid v2.0.5+incompatible/go.mod h1:ErhIzkRhm0FtRuiE/PeORqcw4cVi1RtSpnwYrxuvkfE=
|
||||
github.com/gobuffalo/validate v2.0.3+incompatible/go.mod h1:N+EtDe0J8252BgfzQUChBgfd6L93m9weay53EWFVsMM=
|
||||
github.com/gobuffalo/x v0.0.0-20181003152136-452098b06085/go.mod h1:WevpGD+5YOreDJznWevcn8NTmQEW5STSBgIkpkjzqXc=
|
||||
github.com/gobuffalo/x v0.0.0-20181007152206-913e47c59ca7/go.mod h1:9rDPXaB3kXdKWzMc4odGQQdG2e2DIEmANy5aSJ9yesY=
|
||||
github.com/gobuffalo/x v0.0.0-20181025165825-f204f550da9d/go.mod h1:Qh2Pb/Ak1Ko2mzHlGPigrnxkhO4WTTCI1jJM58sbgtE=
|
||||
github.com/gobuffalo/x v0.0.0-20181025192250-1ef645d63fe8/go.mod h1:AIlnMGlYXOCsoCntLPFLYtrJNS/pc2HD4IdSXH62TpU=
|
||||
github.com/gobuffalo/x v0.0.0-20181109195216-5b3131238124/go.mod h1:GpdLUY6/Ztf/3FfxfwsLkDqAGZ0brhlh7LzIibHyZp0=
|
||||
github.com/gobuffalo/x v0.0.0-20181110221217-14085ca3e1a9/go.mod h1:ig5vdn4+5IPtxgESlZWo1SSDyHKKef8EjVVKhY9kkIQ=
|
||||
github.com/gobuffalo/x v0.0.0-20190224155809-6bb134105960/go.mod h1:ig5vdn4+5IPtxgESlZWo1SSDyHKKef8EjVVKhY9kkIQ=
|
||||
github.com/gofrs/uuid v3.1.0+incompatible/go.mod h1:b2aQJv3Z4Fp6yNu3cdSllBxTCLRxnplIgP/c0N/04lM=
|
||||
github.com/gofrs/uuid v3.2.0+incompatible/go.mod h1:b2aQJv3Z4Fp6yNu3cdSllBxTCLRxnplIgP/c0N/04lM=
|
||||
github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ=
|
||||
github.com/gogo/protobuf v1.2.1/go.mod h1:hp+jE20tsWTFYpLwKvXlhS1hjn+gTNwPg2I6zVXpSg4=
|
||||
github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q=
|
||||
github.com/golang/groupcache v0.0.0-20190129154638-5b532d6fd5ef/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
|
||||
github.com/golang/lint v0.0.0-20180702182130-06c8688daad7/go.mod h1:tluoj9z5200jBnyusfRPU2LqT6J+DAorxEvtC7LHB+E=
|
||||
github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A=
|
||||
github.com/golang/mock v1.2.0/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A=
|
||||
github.com/golang/protobuf v1.1.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
|
||||
github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
|
||||
github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
|
||||
github.com/gomodule/redigo v2.0.0+incompatible/go.mod h1:B4C85qUVwatsJoIUNIfCRsp7qO0iAmpGFZ4EELWSbC4=
|
||||
github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ=
|
||||
github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ=
|
||||
github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M=
|
||||
github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU=
|
||||
github.com/google/go-github v17.0.0+incompatible/go.mod h1:zLgOLi98H3fifZn+44m+umXrS52loVEgC2AApnigrVQ=
|
||||
github.com/google/go-querystring v1.0.0/go.mod h1:odCYkC5MyYFN7vkCjXpyrEuKhc/BUO6wN/zVPAxq5ck=
|
||||
github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs=
|
||||
github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc=
|
||||
github.com/googleapis/gax-go v2.0.0+incompatible/go.mod h1:SFVmujtThgffbyetf+mdk2eWhX2bMyUtNHzFKcPA9HY=
|
||||
github.com/googleapis/gax-go/v2 v2.0.3/go.mod h1:LLvjysVCY1JZeum8Z6l8qUty8fiNwE08qbEPm1M08qg=
|
||||
github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY=
|
||||
github.com/gorilla/context v1.1.1/go.mod h1:kBGZzfjB9CEq2AlWe17Uuf7NDRt0dE0s8S51q0aT7Yg=
|
||||
github.com/gorilla/mux v1.6.2/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs=
|
||||
github.com/gorilla/mux v1.7.0/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs=
|
||||
github.com/gorilla/mux v1.7.1/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs=
|
||||
github.com/gorilla/mux v1.7.2/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs=
|
||||
github.com/gorilla/mux v1.7.3/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs=
|
||||
github.com/gorilla/pat v0.0.0-20180118222023-199c85a7f6d1/go.mod h1:YeAe0gNeiNT5hoiZRI4yiOky6jVdNvfO2N6Kav/HmxY=
|
||||
github.com/gorilla/securecookie v1.1.1/go.mod h1:ra0sb63/xPlUeL+yeDciTfxMRAA+MP+HVt/4epWDjd4=
|
||||
github.com/gorilla/sessions v1.1.2/go.mod h1:8KCfur6+4Mqcc6S0FEfKuN15Vl5MgXW92AE8ovaJD0w=
|
||||
github.com/gorilla/sessions v1.1.3/go.mod h1:8KCfur6+4Mqcc6S0FEfKuN15Vl5MgXW92AE8ovaJD0w=
|
||||
github.com/gorilla/sessions v1.2.0/go.mod h1:dk2InVEVJ0sfLlnXv9EAgkf6ecYs/i80K/zI+bUmuGM=
|
||||
github.com/gorilla/websocket v1.4.0/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ=
|
||||
github.com/gregjones/httpcache v0.0.0-20180305231024-9cad4c3443a7/go.mod h1:FecbI9+v66THATjSRHfNgh1IVFe/9kFxbXtjV0ctIMA=
|
||||
github.com/grpc-ecosystem/go-grpc-middleware v1.0.0/go.mod h1:FiyG127CGDf3tlThmgyCl78X/SZQqEOJBCDaAfeWzPs=
|
||||
github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0/go.mod h1:8NvIoxWQoOIhqOTXgfV/d3M/q6VIi02HzZEHgUlZvzk=
|
||||
github.com/grpc-ecosystem/grpc-gateway v1.5.0/go.mod h1:RSKVYQBd5MCa4OVpNdGskqpgL2+G+NZTnrVHpWWfpdw=
|
||||
github.com/grpc-ecosystem/grpc-gateway v1.9.0/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY=
|
||||
github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ=
|
||||
github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU=
|
||||
github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8=
|
||||
github.com/jackc/chunkreader v1.0.0/go.mod h1:RT6O25fNZIuasFJRyZ4R/Y2BbhasbmZXF9QQ7T3kePo=
|
||||
github.com/jackc/chunkreader/v2 v2.0.0/go.mod h1:odVSm741yZoC3dpHEUXIqA9tQRhFrgOHwnPIn9lDKlk=
|
||||
github.com/jackc/fake v0.0.0-20150926172116-812a484cc733/go.mod h1:WrMFNQdiFJ80sQsxDoMokWK1W5TQtxBFNpzWTD84ibQ=
|
||||
github.com/jackc/pgconn v0.0.0-20190420214824-7e0022ef6ba3/go.mod h1:jkELnwuX+w9qN5YIfX0fl88Ehu4XC3keFuOJJk9pcnA=
|
||||
github.com/jackc/pgconn v0.0.0-20190824142844-760dd75542eb/go.mod h1:lLjNuW/+OfW9/pnVKPazfWOgNfH2aPem8YQ7ilXGvJE=
|
||||
github.com/jackc/pgconn v0.0.0-20190831204454-2fabfa3c18b7/go.mod h1:ZJKsE/KZfsUgOEh9hBm+xYTstcNHg7UPMVJqRfQxq4s=
|
||||
github.com/jackc/pgconn v1.0.1/go.mod h1:GgY/Lbj1VonNaVdNUHs9AwWom3yP2eymFQ1C8z9r/Lk=
|
||||
github.com/jackc/pgio v1.0.0/go.mod h1:oP+2QK2wFfUWgr+gxjoBH9KGBb31Eio69xUb0w5bYf8=
|
||||
github.com/jackc/pgmock v0.0.0-20190831213851-13a1b77aafa2/go.mod h1:fGZlG77KXmcq05nJLRkk0+p82V8B8Dw8KN2/V9c/OAE=
|
||||
github.com/jackc/pgpassfile v1.0.0/go.mod h1:CEx0iS5ambNFdcRtxPj5JhEz+xB6uRky5eyVu/W2HEg=
|
||||
github.com/jackc/pgproto3 v1.1.0/go.mod h1:eR5FA3leWg7p9aeAqi37XOTgTIbkABlvcPB3E5rlc78=
|
||||
github.com/jackc/pgproto3/v2 v2.0.0-alpha1.0.20190420180111-c116219b62db/go.mod h1:bhq50y+xrl9n5mRYyCBFKkpRVTLYJVWeCc+mEAI3yXA=
|
||||
github.com/jackc/pgproto3/v2 v2.0.0-alpha1.0.20190609003834-432c2951c711/go.mod h1:uH0AWtUmuShn0bcesswc4aBTWGvw0cAxIJp+6OB//Wg=
|
||||
github.com/jackc/pgproto3/v2 v2.0.0-rc3/go.mod h1:ryONWYqW6dqSg1Lw6vXNMXoBJhpzvWKnT95C46ckYeM=
|
||||
github.com/jackc/pgproto3/v2 v2.0.0-rc3.0.20190831210041-4c03ce451f29/go.mod h1:ryONWYqW6dqSg1Lw6vXNMXoBJhpzvWKnT95C46ckYeM=
|
||||
github.com/jackc/pgproto3/v2 v2.0.0/go.mod h1:ryONWYqW6dqSg1Lw6vXNMXoBJhpzvWKnT95C46ckYeM=
|
||||
github.com/jackc/pgtype v0.0.0-20190421001408-4ed0de4755e0/go.mod h1:hdSHsc1V01CGwFsrv11mJRHWJ6aifDLfdV3aVjFF0zg=
|
||||
github.com/jackc/pgtype v0.0.0-20190824184912-ab885b375b90/go.mod h1:KcahbBH1nCMSo2DXpzsoWOAfFkdEtEJpPbVLq8eE+mc=
|
||||
github.com/jackc/pgtype v0.0.0-20190828014616-a8802b16cc59/go.mod h1:MWlu30kVJrUS8lot6TQqcg7mtthZ9T0EoIBFiJcmcyw=
|
||||
github.com/jackc/pgx v3.2.0+incompatible/go.mod h1:0ZGrqGqkRlliWnWB4zKnWtjbSWbGkVEFm4TeybAXq+I=
|
||||
github.com/jackc/pgx v3.3.0+incompatible/go.mod h1:0ZGrqGqkRlliWnWB4zKnWtjbSWbGkVEFm4TeybAXq+I=
|
||||
github.com/jackc/pgx v3.5.0+incompatible/go.mod h1:0ZGrqGqkRlliWnWB4zKnWtjbSWbGkVEFm4TeybAXq+I=
|
||||
github.com/jackc/pgx/v4 v4.0.0-20190420224344-cc3461e65d96/go.mod h1:mdxmSJJuR08CZQyj1PVQBHy9XOp5p8/SHH6a0psbY9Y=
|
||||
github.com/jackc/pgx/v4 v4.0.0-20190421002000-1b8f0016e912/go.mod h1:no/Y67Jkk/9WuGR0JG/JseM9irFbnEPbuWV2EELPNuM=
|
||||
github.com/jackc/pgx/v4 v4.0.0-pre1.0.20190824185557-6972a5742186/go.mod h1:X+GQnOEnf1dqHGpw7JmHqHc1NxDoalibchSk9/RWuDc=
|
||||
github.com/jackc/puddle v0.0.0-20190413234325-e4ced69a3a2b/go.mod h1:m4B5Dj62Y0fbyuIc15OsIqK0+JU8nkqQjsgx7dvjSWk=
|
||||
github.com/jackc/puddle v0.0.0-20190608224051-11cab39313c9/go.mod h1:m4B5Dj62Y0fbyuIc15OsIqK0+JU8nkqQjsgx7dvjSWk=
|
||||
github.com/jellevandenhooff/dkim v0.0.0-20150330215556-f50fe3d243e1/go.mod h1:E0B/fFc00Y+Rasa88328GlI/XbtyysCtTHZS8h7IrBU=
|
||||
github.com/jmoiron/sqlx v0.0.0-20180614180643-0dae4fefe7c0/go.mod h1:IiEW3SEiiErVyFdH8NTuWjSifiEQKUoyK3LNqr2kCHU=
|
||||
github.com/jmoiron/sqlx v1.2.0/go.mod h1:1FEQNm3xlJgrMD+FBdI9+xvCksHtbpVBBw5dYhBSsks=
|
||||
github.com/joho/godotenv v1.2.0/go.mod h1:7hK45KPybAkOC6peb+G5yklZfMxEjkZhHbwpqxOKXbg=
|
||||
github.com/joho/godotenv v1.3.0/go.mod h1:7hK45KPybAkOC6peb+G5yklZfMxEjkZhHbwpqxOKXbg=
|
||||
github.com/jonboulle/clockwork v0.1.0/go.mod h1:Ii8DK3G1RaLaWxj9trq07+26W01tbo22gdxWY5EU2bo=
|
||||
github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w=
|
||||
github.com/karrick/godirwalk v1.7.5/go.mod h1:2c9FRhkDxdIbgkOnCEvnSWs71Bhugbl46shStcFDJ34=
|
||||
github.com/karrick/godirwalk v1.7.7/go.mod h1:2c9FRhkDxdIbgkOnCEvnSWs71Bhugbl46shStcFDJ34=
|
||||
github.com/karrick/godirwalk v1.7.8/go.mod h1:2c9FRhkDxdIbgkOnCEvnSWs71Bhugbl46shStcFDJ34=
|
||||
github.com/karrick/godirwalk v1.8.0/go.mod h1:H5KPZjojv4lE+QYImBI8xVtrBRgYrIVsaRPx4tDPEn4=
|
||||
github.com/karrick/godirwalk v1.10.3/go.mod h1:RoGL9dQei4vP9ilrpETWE8CLOZ1kiN0LhBygSwrAsHA=
|
||||
github.com/karrick/godirwalk v1.10.12/go.mod h1:RoGL9dQei4vP9ilrpETWE8CLOZ1kiN0LhBygSwrAsHA=
|
||||
github.com/karrick/godirwalk v1.12.0/go.mod h1:H5KPZjojv4lE+QYImBI8xVtrBRgYrIVsaRPx4tDPEn4=
|
||||
github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51/go.mod h1:CzGEWj7cYgsdH8dAjBGEr58BoE7ScuLd+fwFZ44+/x8=
|
||||
github.com/kisielk/errcheck v1.1.0/go.mod h1:EZBBE59ingxPouuu3KfxchcWSUPOHkagtvWXihfKN4Q=
|
||||
github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck=
|
||||
github.com/konsorten/go-windows-terminal-sequences v0.0.0-20180402223658-b729f2633dfe/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
|
||||
github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
|
||||
github.com/konsorten/go-windows-terminal-sequences v1.0.2/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
|
||||
github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc=
|
||||
github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
|
||||
github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
|
||||
github.com/kr/pty v1.1.3/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
|
||||
github.com/kr/pty v1.1.8/go.mod h1:O1sed60cT9XZ5uDucP5qwvh+TE3NnUj51EiZO/lmSfw=
|
||||
github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
|
||||
github.com/lib/pq v1.0.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo=
|
||||
github.com/lib/pq v1.1.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo=
|
||||
github.com/lib/pq v1.2.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo=
|
||||
github.com/magiconair/properties v1.8.0/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ=
|
||||
github.com/markbates/deplist v1.0.4/go.mod h1:gRRbPbbuA8TmMiRvaOzUlRfzfjeCCBqX2A6arxN01MM=
|
||||
github.com/markbates/deplist v1.0.5/go.mod h1:gRRbPbbuA8TmMiRvaOzUlRfzfjeCCBqX2A6arxN01MM=
|
||||
github.com/markbates/deplist v1.1.3/go.mod h1:BF7ioVzAJYEtzQN/os4rt8H8Ti3h0T7EoN+7eyALktE=
|
||||
github.com/markbates/deplist v1.2.0/go.mod h1:dtsWLZ5bWoazbM0rCxZncQaAPifWbvHgBJk8UNI1Yfk=
|
||||
github.com/markbates/deplist v1.3.0/go.mod h1:dtsWLZ5bWoazbM0rCxZncQaAPifWbvHgBJk8UNI1Yfk=
|
||||
github.com/markbates/going v1.0.2/go.mod h1:UWCk3zm0UKefHZ7l8BNqi26UyiEMniznk8naLdTcy6c=
|
||||
github.com/markbates/going v1.0.3/go.mod h1:fQiT6v6yQar9UD6bd/D4Z5Afbk9J6BBVBtLiyY4gp2o=
|
||||
github.com/markbates/grift v1.0.4/go.mod h1:wbmtW74veyx+cgfwFhlnnMWqhoz55rnHR47oMXzsyVs=
|
||||
github.com/markbates/grift v1.0.5/go.mod h1:EHmVIjOQoj/OOBDzlZ8RW0ZkvOtQ4xRHjrPvmfoiFaU=
|
||||
github.com/markbates/grift v1.0.6/go.mod h1:2AUYA/+pODhwonRbYwsltPVPIztBzw5nIJEGiWgKMPM=
|
||||
github.com/markbates/grift v1.1.0/go.mod h1:8N7ybWEcnMOvtSb0kW+dLJpYii9eq/FP3Gtu/cNPDTY=
|
||||
github.com/markbates/hmax v1.0.0/go.mod h1:cOkR9dktiESxIMu+65oc/r/bdY4bE8zZw3OLhLx0X2c=
|
||||
github.com/markbates/hmax v1.1.0/go.mod h1:hhn8pJiRwNTEmNlxhfiTbL+CtEYiAX3wuhSf/kg/6wI=
|
||||
github.com/markbates/inflect v1.0.0/go.mod h1:oTeZL2KHA7CUX6X+fovmK9OvIOFuqu0TwdQrZjLTh88=
|
||||
github.com/markbates/inflect v1.0.1/go.mod h1:uv3UVNBe5qBIfCm8O8Q+DW+S1EopeyINj+Ikhc7rnCk=
|
||||
github.com/markbates/inflect v1.0.3/go.mod h1:1fR9+pO2KHEO9ZRtto13gDwwZaAKstQzferVeWqbgNs=
|
||||
github.com/markbates/inflect v1.0.4/go.mod h1:1fR9+pO2KHEO9ZRtto13gDwwZaAKstQzferVeWqbgNs=
|
||||
github.com/markbates/oncer v0.0.0-20180924031910-e862a676800b/go.mod h1:Ld9puTsIW75CHf65OeIOkyKbteujpZVXDpWK6YGZbxE=
|
||||
github.com/markbates/oncer v0.0.0-20180924034138-723ad0170a46/go.mod h1:Ld9puTsIW75CHf65OeIOkyKbteujpZVXDpWK6YGZbxE=
|
||||
github.com/markbates/oncer v0.0.0-20181014194634-05fccaae8fc4/go.mod h1:Ld9puTsIW75CHf65OeIOkyKbteujpZVXDpWK6YGZbxE=
|
||||
github.com/markbates/oncer v0.0.0-20181203154359-bf2de49a0be2/go.mod h1:Ld9puTsIW75CHf65OeIOkyKbteujpZVXDpWK6YGZbxE=
|
||||
github.com/markbates/oncer v1.0.0/go.mod h1:Z59JA581E9GP6w96jai+TGqafHPW+cPfRxz2aSZ0mcI=
|
||||
github.com/markbates/pkger v0.5.1 h1:l0s55z4X5XbwIat2LyLe0HABMBswVK1GJbzLXQbuAXs=
|
||||
github.com/markbates/pkger v0.5.1/go.mod h1:so/QD8FeTM0IilC3nRArkwOvUT+tsJsaXLFUAKmjzJk=
|
||||
github.com/markbates/refresh v1.4.10/go.mod h1:NDPHvotuZmTmesXxr95C9bjlw1/0frJwtME2dzcVKhc=
|
||||
github.com/markbates/refresh v1.4.11/go.mod h1:awpJuyo4zgexB/JaHfmBX0sRdvOjo2dXwIayWIz9i3g=
|
||||
github.com/markbates/refresh v1.5.0/go.mod h1:ZYMLkxV+x7wXQ2Xd7bXAPyF0EXiEWAMfiy/4URYb1+M=
|
||||
github.com/markbates/refresh v1.6.0/go.mod h1:p8jWGABFUaFf/cSw0pxbo0MQVujiz5NTQ0bmCHLC4ac=
|
||||
github.com/markbates/refresh v1.7.1/go.mod h1:hcGVJc3m5EeskliwSVJxcTHzUtMz2h8gBtCS0V94CgE=
|
||||
github.com/markbates/refresh v1.8.0/go.mod h1:ppl0l94oz3OKBAx3MV65vCDWPo51JQnypdtFUmps1NM=
|
||||
github.com/markbates/safe v1.0.0/go.mod h1:nAqgmRi7cY2nqMc92/bSEeQA+R4OheNU2T1kNSCBdG0=
|
||||
github.com/markbates/safe v1.0.1/go.mod h1:nAqgmRi7cY2nqMc92/bSEeQA+R4OheNU2T1kNSCBdG0=
|
||||
github.com/markbates/sigtx v1.0.0/go.mod h1:QF1Hv6Ic6Ca6W+T+DL0Y/ypborFKyvUY9HmuCD4VeTc=
|
||||
github.com/markbates/willie v1.0.9/go.mod h1:fsrFVWl91+gXpx/6dv715j7i11fYPfZ9ZGfH0DQzY7w=
|
||||
github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU=
|
||||
github.com/mattn/go-colorable v0.1.0/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU=
|
||||
github.com/mattn/go-colorable v0.1.1/go.mod h1:FuOcm+DKB9mbwrcAfNl7/TZVBZ6rcnceauSikq3lYCQ=
|
||||
github.com/mattn/go-colorable v0.1.2/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE=
|
||||
github.com/mattn/go-isatty v0.0.4/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4=
|
||||
github.com/mattn/go-isatty v0.0.5/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s=
|
||||
github.com/mattn/go-isatty v0.0.7/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s=
|
||||
github.com/mattn/go-isatty v0.0.8/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s=
|
||||
github.com/mattn/go-isatty v0.0.9/go.mod h1:YNRxwqDuOph6SZLI9vUUz6OYw3QyUt7WiY2yME+cCiQ=
|
||||
github.com/mattn/go-sqlite3 v1.9.0/go.mod h1:FPy6KqzDD04eiIsT53CuJW3U88zkxoIYsOqkbpncsNc=
|
||||
github.com/mattn/go-sqlite3 v1.10.0/go.mod h1:FPy6KqzDD04eiIsT53CuJW3U88zkxoIYsOqkbpncsNc=
|
||||
github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0=
|
||||
github.com/microcosm-cc/bluemonday v1.0.1/go.mod h1:hsXNsILzKxV+sX77C5b8FSuKF00vh2OMYv+xgHpAMF4=
|
||||
github.com/microcosm-cc/bluemonday v1.0.2/go.mod h1:iVP4YcDBq+n/5fb23BhYFvIMq/leAFZyRl6bYmGDlGc=
|
||||
github.com/mitchellh/go-homedir v1.0.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0=
|
||||
github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0=
|
||||
github.com/mitchellh/mapstructure v1.0.0/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y=
|
||||
github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y=
|
||||
github.com/monoculum/formam v0.0.0-20180901015400-4e68be1d79ba/go.mod h1:RKgILGEJq24YyJ2ban8EO0RUVSJlF1pGsEvoLEACr/Q=
|
||||
github.com/monoculum/formam v0.0.0-20190307031628-bc555adff0cd/go.mod h1:JKa2av1XVkGjhxdLS59nDoXa2JpmIHpnURWNbzCtXtc=
|
||||
github.com/monoculum/formam v0.0.0-20190730134247-0612307a4099/go.mod h1:JKa2av1XVkGjhxdLS59nDoXa2JpmIHpnURWNbzCtXtc=
|
||||
github.com/monoculum/formam v0.0.0-20190830100315-7ff9597b1407/go.mod h1:JKa2av1XVkGjhxdLS59nDoXa2JpmIHpnURWNbzCtXtc=
|
||||
github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U=
|
||||
github.com/neelance/astrewrite v0.0.0-20160511093645-99348263ae86/go.mod h1:kHJEU3ofeGjhHklVoIGuVj85JJwZ6kWPaJwCIxgnFmo=
|
||||
github.com/neelance/sourcemap v0.0.0-20151028013722-8c68805598ab/go.mod h1:Qr6/a/Q4r9LP1IltGz7tA7iOK1WonHEYhu1HRBA7ZiM=
|
||||
github.com/nicksnyder/go-i18n v1.10.0/go.mod h1:HrK7VCrbOvQoUAQ7Vpy7i87N7JZZZ7R2xBGjv0j365Q=
|
||||
github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn4U=
|
||||
github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE=
|
||||
github.com/onsi/ginkgo v1.7.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE=
|
||||
github.com/onsi/ginkgo v1.8.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE=
|
||||
github.com/onsi/ginkgo v1.9.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE=
|
||||
github.com/onsi/ginkgo v1.10.1/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE=
|
||||
github.com/onsi/gomega v1.4.1/go.mod h1:C1qb7wdrVGGVU+Z6iS04AVkA3Q65CEZX59MT0QO5uiA=
|
||||
github.com/onsi/gomega v1.4.2/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY=
|
||||
github.com/onsi/gomega v1.4.3/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY=
|
||||
github.com/onsi/gomega v1.5.0/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY=
|
||||
github.com/onsi/gomega v1.6.0/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY=
|
||||
github.com/onsi/gomega v1.7.0/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY=
|
||||
github.com/openzipkin/zipkin-go v0.1.1/go.mod h1:NtoC/o8u3JlF1lSlyPNswIbeQH9bJTmOf0Erfk+hxe8=
|
||||
github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic=
|
||||
github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
|
||||
github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
|
||||
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
|
||||
github.com/prometheus/client_golang v0.8.0/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw=
|
||||
github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw=
|
||||
github.com/prometheus/client_golang v0.9.3/go.mod h1:/TN21ttK/J9q6uSwhBd54HahCDft0ttaMvbicHlPoso=
|
||||
github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo=
|
||||
github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA=
|
||||
github.com/prometheus/common v0.0.0-20180801064454-c7de2306084e/go.mod h1:daVV7qP5qjZbuso7PdcryaAu0sAZbrN9i7WWcTMWvro=
|
||||
github.com/prometheus/common v0.0.0-20181113130724-41aa239b4cce/go.mod h1:daVV7qP5qjZbuso7PdcryaAu0sAZbrN9i7WWcTMWvro=
|
||||
github.com/prometheus/common v0.4.0/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4=
|
||||
github.com/prometheus/procfs v0.0.0-20180725123919-05ee40e3a273/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk=
|
||||
github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk=
|
||||
github.com/prometheus/procfs v0.0.0-20190507164030-5867b95ac084/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA=
|
||||
github.com/prometheus/tsdb v0.7.1/go.mod h1:qhTCs0VvXwvX/y3TZrWD7rabWM+ijKTux40TwIPHuXU=
|
||||
github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6SoW27p1b0cqNHllgS5HIMJraePCO15w5zCzIWYg=
|
||||
github.com/rogpeppe/go-internal v1.0.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4=
|
||||
github.com/rogpeppe/go-internal v1.1.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4=
|
||||
github.com/rogpeppe/go-internal v1.2.2/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4=
|
||||
github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4=
|
||||
github.com/rogpeppe/go-internal v1.3.2/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc=
|
||||
github.com/rogpeppe/go-internal v1.4.0/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc=
|
||||
github.com/rs/xid v1.2.1/go.mod h1:+uKXf+4Djp6Md1KODXJxgGQPKngRmWyn10oCKFzNHOQ=
|
||||
github.com/rs/zerolog v1.13.0/go.mod h1:YbFCdg8HfsridGWAh22vktObvhZbQsZXe4/zB0OKkWU=
|
||||
github.com/rs/zerolog v1.15.0/go.mod h1:xYTKnLHcpfU2225ny5qZjxnj9NvkumZYjJHlAThCjNc=
|
||||
github.com/russross/blackfriday v1.5.2/go.mod h1:JO/DiYxRf+HjHt06OyowR9PTA263kcR/rfWxYHBV53g=
|
||||
github.com/satori/go.uuid v1.2.0/go.mod h1:dA0hQrYB0VpLJoorglMZABFdXlWrHn1NEOzdhQKdks0=
|
||||
github.com/serenize/snaker v0.0.0-20171204205717-a683aaf2d516/go.mod h1:Yow6lPLSAXx2ifx470yD/nUe22Dv5vBvxK/UK9UUTVs=
|
||||
github.com/sergi/go-diff v1.0.0/go.mod h1:0CfEIISq7TuYL3j771MWULgwwjU+GofnZX9QAmXWZgo=
|
||||
github.com/shopspring/decimal v0.0.0-20180709203117-cd690d0c9e24/go.mod h1:M+9NzErvs504Cn4c5DxATwIqPbtswREoFCre64PpcG4=
|
||||
github.com/shurcooL/component v0.0.0-20170202220835-f88ec8f54cc4/go.mod h1:XhFIlyj5a1fBNx5aJTbKoIq0mNaPvOagO+HjB3EtxrY=
|
||||
github.com/shurcooL/events v0.0.0-20181021180414-410e4ca65f48/go.mod h1:5u70Mqkb5O5cxEA8nxTsgrgLehJeAw6Oc4Ab1c/P1HM=
|
||||
github.com/shurcooL/github_flavored_markdown v0.0.0-20181002035957-2122de532470/go.mod h1:2dOwnU2uBioM+SGy2aZoq1f/Sd1l9OkAeAUvjSyvgU0=
|
||||
github.com/shurcooL/go v0.0.0-20180423040247-9e1955d9fb6e/go.mod h1:TDJrrUr11Vxrven61rcy3hJMUqaf/CLWYhHNPmT14Lk=
|
||||
github.com/shurcooL/go-goon v0.0.0-20170922171312-37c2f522c041/go.mod h1:N5mDOmsrJOB+vfqUK+7DmDyjhSLIIBnXo9lvZJj3MWQ=
|
||||
github.com/shurcooL/gofontwoff v0.0.0-20180329035133-29b52fc0a18d/go.mod h1:05UtEgK5zq39gLST6uB0cf3NEHjETfB4Fgr3Gx5R9Vw=
|
||||
github.com/shurcooL/gopherjslib v0.0.0-20160914041154-feb6d3990c2c/go.mod h1:8d3azKNyqcHP1GaQE/c6dDgjkgSx2BZ4IoEi4F1reUI=
|
||||
github.com/shurcooL/highlight_diff v0.0.0-20170515013008-09bb4053de1b/go.mod h1:ZpfEhSmds4ytuByIcDnOLkTHGUI6KNqRNPDLHDk+mUU=
|
||||
github.com/shurcooL/highlight_go v0.0.0-20170515013102-78fb10f4a5f8/go.mod h1:UDKB5a1T23gOMUJrI+uSuH0VRDStOiUVSjBTRDVBVag=
|
||||
github.com/shurcooL/highlight_go v0.0.0-20181028180052-98c3abbbae20/go.mod h1:UDKB5a1T23gOMUJrI+uSuH0VRDStOiUVSjBTRDVBVag=
|
||||
github.com/shurcooL/home v0.0.0-20181020052607-80b7ffcb30f9/go.mod h1:+rgNQw2P9ARFAs37qieuu7ohDNQ3gds9msbT2yn85sg=
|
||||
github.com/shurcooL/htmlg v0.0.0-20170918183704-d01228ac9e50/go.mod h1:zPn1wHpTIePGnXSHpsVPWEktKXHr6+SS6x/IKRb7cpw=
|
||||
github.com/shurcooL/httperror v0.0.0-20170206035902-86b7830d14cc/go.mod h1:aYMfkZ6DWSJPJ6c4Wwz3QtW22G7mf/PEgaB9k/ik5+Y=
|
||||
github.com/shurcooL/httpfs v0.0.0-20171119174359-809beceb2371/go.mod h1:ZY1cvUeJuFPAdZ/B6v7RHavJWZn2YPVFQ1OSXhCGOkg=
|
||||
github.com/shurcooL/httpgzip v0.0.0-20180522190206-b1c53ac65af9/go.mod h1:919LwcH0M7/W4fcZ0/jy0qGght1GIhqyS/EgWGH2j5Q=
|
||||
github.com/shurcooL/issues v0.0.0-20181008053335-6292fdc1e191/go.mod h1:e2qWDig5bLteJ4fwvDAc2NHzqFEthkqn7aOZAOpj+PQ=
|
||||
github.com/shurcooL/issuesapp v0.0.0-20180602232740-048589ce2241/go.mod h1:NPpHK2TI7iSaM0buivtFUc9offApnI0Alt/K8hcHy0I=
|
||||
github.com/shurcooL/notifications v0.0.0-20181007000457-627ab5aea122/go.mod h1:b5uSkrEVM1jQUspwbixRBhaIjIzL2xazXp6kntxYle0=
|
||||
github.com/shurcooL/octicon v0.0.0-20180602230221-c42b0e3b24d9/go.mod h1:eWdoE5JD4R5UVWDucdOPg1g2fqQRq78IQa9zlOV1vpQ=
|
||||
github.com/shurcooL/octicon v0.0.0-20181028054416-fa4f57f9efb2/go.mod h1:eWdoE5JD4R5UVWDucdOPg1g2fqQRq78IQa9zlOV1vpQ=
|
||||
github.com/shurcooL/reactions v0.0.0-20181006231557-f2e0b4ca5b82/go.mod h1:TCR1lToEk4d2s07G3XGfz2QrgHXg4RJBvjrOozvoWfk=
|
||||
github.com/shurcooL/sanitized_anchor_name v0.0.0-20170918181015-86672fcb3f95/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc=
|
||||
github.com/shurcooL/users v0.0.0-20180125191416-49c67e49c537/go.mod h1:QJTqeLYEDaXHZDBsXlPCDqdhQuJkuw4NOtaxYe3xii4=
|
||||
github.com/shurcooL/webdavfs v0.0.0-20170829043945-18c3829fa133/go.mod h1:hKmq5kWdCj2z2KEozexVbfEZIWiTjhE0+UjmZgPqehw=
|
||||
github.com/sirupsen/logrus v1.0.6/go.mod h1:pMByvHTf9Beacp5x1UXfOR9xyW/9antXMhjMPG0dEzc=
|
||||
github.com/sirupsen/logrus v1.1.0/go.mod h1:zrgwTnHtNr00buQ1vSptGe8m1f/BbgsPukg8qsT7A+A=
|
||||
github.com/sirupsen/logrus v1.1.1/go.mod h1:zrgwTnHtNr00buQ1vSptGe8m1f/BbgsPukg8qsT7A+A=
|
||||
github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo=
|
||||
github.com/sirupsen/logrus v1.3.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo=
|
||||
github.com/sirupsen/logrus v1.4.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo=
|
||||
github.com/sirupsen/logrus v1.4.1/go.mod h1:ni0Sbl8bgC9z8RoU9G6nDWqqs/fq4eDPysMBDgk/93Q=
|
||||
github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE=
|
||||
github.com/soheilhy/cmux v0.1.4/go.mod h1:IM3LyeVVIOuxMH7sFAkER9+bJ4dT7Ms6E4xg4kGIyLM=
|
||||
github.com/sourcegraph/annotate v0.0.0-20160123013949-f4cad6c6324d/go.mod h1:UdhH50NIW0fCiwBSr0co2m7BnFLdv4fQTgdqdJTHFeE=
|
||||
github.com/sourcegraph/syntaxhighlight v0.0.0-20170531221838-bd320f5d308e/go.mod h1:HuIsMU8RRBOtsCgI77wP899iHVBQpCmg4ErYMZB+2IA=
|
||||
github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA=
|
||||
github.com/spf13/afero v1.1.2/go.mod h1:j4pytiNVoe2o6bmDsKpLACNPDBIoEAkihy7loJ1B0CQ=
|
||||
github.com/spf13/afero v1.2.0/go.mod h1:9ZxEEn6pIJ8Rxe320qSDBk6AsU0r9pR7Q4OcevTdifk=
|
||||
github.com/spf13/afero v1.2.1/go.mod h1:9ZxEEn6pIJ8Rxe320qSDBk6AsU0r9pR7Q4OcevTdifk=
|
||||
github.com/spf13/cast v1.2.0/go.mod h1:r2rcYCSwa1IExKTDiTfzaxqT2FNHs8hODu4LnUfgKEg=
|
||||
github.com/spf13/cast v1.3.0/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE=
|
||||
github.com/spf13/cobra v0.0.3/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ=
|
||||
github.com/spf13/cobra v0.0.4/go.mod h1:3K3wKZymM7VvHMDS9+Akkh4K60UwM26emMESw8tLCHU=
|
||||
github.com/spf13/cobra v0.0.5/go.mod h1:3K3wKZymM7VvHMDS9+Akkh4K60UwM26emMESw8tLCHU=
|
||||
github.com/spf13/jwalterweatherman v1.0.0/go.mod h1:cQK4TGJAtQXfYWX+Ddv3mKDzgVb68N+wFjFa4jdeBTo=
|
||||
github.com/spf13/pflag v1.0.2/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4=
|
||||
github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4=
|
||||
github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg=
|
||||
github.com/spf13/viper v1.2.1/go.mod h1:P4AexN0a+C9tGAnUFNwDMYYZv3pjFuvmeiMyKRaNVlI=
|
||||
github.com/spf13/viper v1.3.0/go.mod h1:ZiWeW+zYFKm7srdB9IoDzzZXaJaI5eL9QjNiN/DMA2s=
|
||||
github.com/spf13/viper v1.3.1/go.mod h1:ZiWeW+zYFKm7srdB9IoDzzZXaJaI5eL9QjNiN/DMA2s=
|
||||
github.com/spf13/viper v1.3.2/go.mod h1:ZiWeW+zYFKm7srdB9IoDzzZXaJaI5eL9QjNiN/DMA2s=
|
||||
github.com/spf13/viper v1.4.0/go.mod h1:PTJ7Z/lr49W6bUbkmS1V3by4uWynFiR9p7+dSq/yZzE=
|
||||
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
|
||||
github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
|
||||
github.com/stretchr/objx v0.2.0/go.mod h1:qt09Ya8vawLte6SNmTgCsAVtYtaKzEcn8ATUoHMkEqE=
|
||||
github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
|
||||
github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
|
||||
github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4=
|
||||
github.com/tarm/serial v0.0.0-20180830185346-98f6abe2eb07/go.mod h1:kDXzergiv9cbyO7IOYJZWg1U88JhDg3PB6klq9Hg2pA=
|
||||
github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U=
|
||||
github.com/ugorji/go v1.1.4/go.mod h1:uQMGLiO92mf5W77hV/PUCpI3pbzQx3CRekS0kk+RGrc=
|
||||
github.com/ugorji/go/codec v0.0.0-20181204163529-d75b2dcb6bc8/go.mod h1:VFNgLljTbGfSG7qAOspJ7OScBnGdDN/yBr0sguwnwf0=
|
||||
github.com/unrolled/secure v0.0.0-20180918153822-f340ee86eb8b/go.mod h1:mnPT77IAdsi/kV7+Es7y+pXALeV3h7G6dQF6mNYjcLA=
|
||||
github.com/unrolled/secure v0.0.0-20181005190816-ff9db2ff917f/go.mod h1:mnPT77IAdsi/kV7+Es7y+pXALeV3h7G6dQF6mNYjcLA=
|
||||
github.com/unrolled/secure v0.0.0-20181022170031-4b6b7cf51606/go.mod h1:mnPT77IAdsi/kV7+Es7y+pXALeV3h7G6dQF6mNYjcLA=
|
||||
github.com/unrolled/secure v0.0.0-20190103195806-76e6d4e9b90c/go.mod h1:mnPT77IAdsi/kV7+Es7y+pXALeV3h7G6dQF6mNYjcLA=
|
||||
github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2/go.mod h1:UETIi67q53MR2AWcXfiuqkDkRtnGDLqkBTpCHuJHxtU=
|
||||
github.com/xordataexchange/crypt v0.0.3-0.20170626215501-b2862e3d0a77/go.mod h1:aYKd//L2LvnjZzWKhF00oedf4jCCReLcmhLdhm1A27Q=
|
||||
github.com/zenazn/goji v0.9.0/go.mod h1:7S9M489iMyHBNxwZnk9/EHS098H4/F6TATF2mIxtB1Q=
|
||||
go.etcd.io/bbolt v1.3.2/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU=
|
||||
go.opencensus.io v0.18.0/go.mod h1:vKdFvxhtzZ9onBp9VKHK8z/sRpBMnKAsufL7wlDrCOA=
|
||||
go.uber.org/atomic v1.3.2/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE=
|
||||
go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE=
|
||||
go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0=
|
||||
go.uber.org/zap v1.9.1/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q=
|
||||
go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q=
|
||||
go4.org v0.0.0-20180809161055-417644f6feb5/go.mod h1:MkTOUMDaeVYJUOUsaDXIhWPZYa1yOyC1qaOBpL57BhE=
|
||||
golang.org/x/build v0.0.0-20190111050920-041ab4dc3f9d/go.mod h1:OWs+y06UdEOHN4y+MfF/py+xQ/tYqIWW03b70/CG9Rw=
|
||||
golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
|
||||
golang.org/x/crypto v0.0.0-20180910181607-0e37d006457b/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
|
||||
golang.org/x/crypto v0.0.0-20181001203147-e3636079e1a4/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
|
||||
golang.org/x/crypto v0.0.0-20181009213950-7c1a557ab941/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
|
||||
golang.org/x/crypto v0.0.0-20181015023909-0c41d7ab0a0e/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
|
||||
golang.org/x/crypto v0.0.0-20181024171144-74cb1d3d52f4/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
|
||||
golang.org/x/crypto v0.0.0-20181025113841-85e1b3f9139a/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
|
||||
golang.org/x/crypto v0.0.0-20181025213731-e84da0312774/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
|
||||
golang.org/x/crypto v0.0.0-20181030102418-4d3f4d9ffa16/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
|
||||
golang.org/x/crypto v0.0.0-20181106171534-e4dc69e5b2fd/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
|
||||
golang.org/x/crypto v0.0.0-20181112202954-3d3f9f413869/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
|
||||
golang.org/x/crypto v0.0.0-20181127143415-eb0de9b17e85/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
|
||||
golang.org/x/crypto v0.0.0-20181203042331-505ab145d0a9/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
|
||||
golang.org/x/crypto v0.0.0-20190102171810-8d7daa0c54b3/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
|
||||
golang.org/x/crypto v0.0.0-20190103213133-ff983b9c42bc/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
|
||||
golang.org/x/crypto v0.0.0-20190122013713-64072686203f/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
|
||||
golang.org/x/crypto v0.0.0-20190130090550-b01c7a725664/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
|
||||
golang.org/x/crypto v0.0.0-20190211182817-74369b46fc67/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
|
||||
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
|
||||
golang.org/x/crypto v0.0.0-20190313024323-a1f597ede03a/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
|
||||
golang.org/x/crypto v0.0.0-20190403202508-8e1b8d32e692/go.mod h1:WFFai1msRO1wXaEeE5yQxYXgSfI8pQAWXbQop6sCtWE=
|
||||
golang.org/x/crypto v0.0.0-20190404164418-38d8ce5564a5/go.mod h1:WFFai1msRO1wXaEeE5yQxYXgSfI8pQAWXbQop6sCtWE=
|
||||
golang.org/x/crypto v0.0.0-20190411191339-88737f569e3a/go.mod h1:WFFai1msRO1wXaEeE5yQxYXgSfI8pQAWXbQop6sCtWE=
|
||||
golang.org/x/crypto v0.0.0-20190422162423-af44ce270edf/go.mod h1:WFFai1msRO1wXaEeE5yQxYXgSfI8pQAWXbQop6sCtWE=
|
||||
golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
|
||||
golang.org/x/crypto v0.0.0-20190611184440-5c40567a22f8/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
|
||||
golang.org/x/crypto v0.0.0-20190621222207-cc06ce4a13d4/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
|
||||
golang.org/x/crypto v0.0.0-20190820162420-60c769a6c586/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
|
||||
golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
|
||||
golang.org/x/lint v0.0.0-20180702182130-06c8688daad7/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=
|
||||
golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=
|
||||
golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc=
|
||||
golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
|
||||
golang.org/x/net v0.0.0-20180816102801-aaf60122140d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
|
||||
golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
|
||||
golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
|
||||
golang.org/x/net v0.0.0-20180921000356-2f5d2388922f/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
|
||||
golang.org/x/net v0.0.0-20180926154720-4dfa2610cdf3/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
|
||||
golang.org/x/net v0.0.0-20181005035420-146acd28ed58/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
|
||||
golang.org/x/net v0.0.0-20181011144130-49bb7cea24b1/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
|
||||
golang.org/x/net v0.0.0-20181017193950-04a2e542c03f/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
|
||||
golang.org/x/net v0.0.0-20181023162649-9b4f9f5ad519/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
|
||||
golang.org/x/net v0.0.0-20181029044818-c44066c5c816/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
|
||||
golang.org/x/net v0.0.0-20181102091132-c10e9556a7bc/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
|
||||
golang.org/x/net v0.0.0-20181106065722-10aee1819953/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
|
||||
golang.org/x/net v0.0.0-20181108082009-03003ca0c849/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
|
||||
golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
|
||||
golang.org/x/net v0.0.0-20181201002055-351d144fa1fc/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
|
||||
golang.org/x/net v0.0.0-20181207154023-610586996380/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
|
||||
golang.org/x/net v0.0.0-20181213202711-891ebc4b82d6/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
|
||||
golang.org/x/net v0.0.0-20181220203305-927f97764cc3/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
|
||||
golang.org/x/net v0.0.0-20190119204137-ed066c81e75e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
|
||||
golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
|
||||
golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
|
||||
golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
|
||||
golang.org/x/net v0.0.0-20190514140710-3ec191127204/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
|
||||
golang.org/x/net v0.0.0-20190522155817-f3200d17e092/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks=
|
||||
golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks=
|
||||
golang.org/x/net v0.0.0-20190613194153-d28f0bde5980/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
|
||||
golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
|
||||
golang.org/x/net v0.0.0-20190813141303-74dc4d7220e7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
|
||||
golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
|
||||
golang.org/x/oauth2 v0.0.0-20181017192945-9dcd33a902f4/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
|
||||
golang.org/x/oauth2 v0.0.0-20181203162652-d668ce993890/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
|
||||
golang.org/x/perf v0.0.0-20180704124530-6e6d33e29852/go.mod h1:JLpeXjPJfIyPr5TlbXLkXWLhP8nz10XfvxElABhCtcw=
|
||||
golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||
golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||
golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||
golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||
golang.org/x/sync v0.0.0-20190412183630-56d357773e84/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||
golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||
golang.org/x/sys v0.0.0-20180816055513-1c9583448a9c/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||
golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||
golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||
golang.org/x/sys v0.0.0-20180906133057-8cf3aee42992/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||
golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||
golang.org/x/sys v0.0.0-20180921163948-d47a0f339242/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||
golang.org/x/sys v0.0.0-20180927150500-dad3d9fb7b6e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||
golang.org/x/sys v0.0.0-20181005133103-4497e2df6f9e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||
golang.org/x/sys v0.0.0-20181011152604-fa43e7bc11ba/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||
golang.org/x/sys v0.0.0-20181019084534-8f1d3d21f81b/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||
golang.org/x/sys v0.0.0-20181022134430-8a28ead16f52/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||
golang.org/x/sys v0.0.0-20181024145615-5cd93ef61a7c/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||
golang.org/x/sys v0.0.0-20181025063200-d989b31c8746/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||
golang.org/x/sys v0.0.0-20181026064943-731415f00dce/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||
golang.org/x/sys v0.0.0-20181026203630-95b1ffbd15a5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||
golang.org/x/sys v0.0.0-20181029174526-d69651ed3497/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||
golang.org/x/sys v0.0.0-20181030150119-7e31e0c00fa0/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||
golang.org/x/sys v0.0.0-20181106135930-3a76605856fd/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||
golang.org/x/sys v0.0.0-20181107165924-66b7b1311ac8/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||
golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||
golang.org/x/sys v0.0.0-20181122145206-62eef0e2fa9b/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||
golang.org/x/sys v0.0.0-20181128092732-4ed8d59d0b35/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||
golang.org/x/sys v0.0.0-20181205085412-a5c9d58dba9a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||
golang.org/x/sys v0.0.0-20181206074257-70b957f3b65e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||
golang.org/x/sys v0.0.0-20181213150753-586ba8c9bb14/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||
golang.org/x/sys v0.0.0-20181213200352-4d1cda033e06/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||
golang.org/x/sys v0.0.0-20190102155601-82a175fd1598/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||
golang.org/x/sys v0.0.0-20190116161447-11f53e031339/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||
golang.org/x/sys v0.0.0-20190122071731-054c452bb702/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||
golang.org/x/sys v0.0.0-20190219092855-153ac476189d/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||
golang.org/x/sys v0.0.0-20190220154126-629670e5acc5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||
golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||
golang.org/x/sys v0.0.0-20190403152447-81d4e9dc473e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20190419153524-e8e3143a4f4a/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20190515120540-06a5c4944438/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20190813064441-fde4db37ae7a/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
|
||||
golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
|
||||
golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk=
|
||||
golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
|
||||
golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
|
||||
golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
|
||||
golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
||||
golang.org/x/tools v0.0.0-20180828015842-6cd1fcedba52/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
||||
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
||||
golang.org/x/tools v0.0.0-20181003024731-2f84ea8ef872/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
||||
golang.org/x/tools v0.0.0-20181006002542-f60d9635b16a/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
||||
golang.org/x/tools v0.0.0-20181008205924-a2b3f7f249e9/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
||||
golang.org/x/tools v0.0.0-20181013182035-5e66757b835f/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
||||
golang.org/x/tools v0.0.0-20181017214349-06f26fdaaa28/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
||||
golang.org/x/tools v0.0.0-20181019005945-6adeb8aab2de/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
||||
golang.org/x/tools v0.0.0-20181024171208-a2dc47679d30/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
||||
golang.org/x/tools v0.0.0-20181026183834-f60e5f99f081/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
||||
golang.org/x/tools v0.0.0-20181030000716-a0a13e073c7b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
||||
golang.org/x/tools v0.0.0-20181030151751-bb28844c46df/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
||||
golang.org/x/tools v0.0.0-20181102223251-96e9e165b75e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
||||
golang.org/x/tools v0.0.0-20181105230042-78dc5bac0cac/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
||||
golang.org/x/tools v0.0.0-20181107215632-34b416bd17b3/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
||||
golang.org/x/tools v0.0.0-20181109152631-138c20b93253/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
||||
golang.org/x/tools v0.0.0-20181109202920-92d8274bd7b8/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
||||
golang.org/x/tools v0.0.0-20181111003725-6d71ab8aade0/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
||||
golang.org/x/tools v0.0.0-20181114190951-94339b83286c/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
||||
golang.org/x/tools v0.0.0-20181119130350-139d099f6620/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
||||
golang.org/x/tools v0.0.0-20181120060634-fc4f04983f62/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
||||
golang.org/x/tools v0.0.0-20181122213734-04b5d21e00f1/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
||||
golang.org/x/tools v0.0.0-20181127195227-b4e97c0ed882/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
||||
golang.org/x/tools v0.0.0-20181127232545-e782529d0ddd/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
||||
golang.org/x/tools v0.0.0-20181201035826-d0ca3933b724/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
||||
golang.org/x/tools v0.0.0-20181203210056-e5f3ab76ea4b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
||||
golang.org/x/tools v0.0.0-20181205224935-3576414c54a4/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
||||
golang.org/x/tools v0.0.0-20181206194817-bcd4e47d0288/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
||||
golang.org/x/tools v0.0.0-20181207183836-8bc39b988060/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
||||
golang.org/x/tools v0.0.0-20181212172921-837e80568c09/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
||||
golang.org/x/tools v0.0.0-20181213190329-bbccd8cae4a9/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
||||
golang.org/x/tools v0.0.0-20190102213336-ca9055ed7d04/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
||||
golang.org/x/tools v0.0.0-20190104182027-498d95493402/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
||||
golang.org/x/tools v0.0.0-20190111214448-fc1d57b08d7b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
||||
golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
||||
golang.org/x/tools v0.0.0-20190118193359-16909d206f00/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
||||
golang.org/x/tools v0.0.0-20190122202912-9c309ee22fab/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
||||
golang.org/x/tools v0.0.0-20190124004107-78ee07aa9465/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
||||
golang.org/x/tools v0.0.0-20190131142011-8dbcc66f33bb/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
||||
golang.org/x/tools v0.0.0-20190206221403-44bcb96178d3/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
||||
golang.org/x/tools v0.0.0-20190214204934-8dcb7bc8c7fe/go.mod h1:E6PF97AdD6v0s+fPshSmumCW1S1Ne85RbPQxELkKa44=
|
||||
golang.org/x/tools v0.0.0-20190219135230-f000d56b39dc/go.mod h1:E6PF97AdD6v0s+fPshSmumCW1S1Ne85RbPQxELkKa44=
|
||||
golang.org/x/tools v0.0.0-20190219185102-9394956cfdc5/go.mod h1:E6PF97AdD6v0s+fPshSmumCW1S1Ne85RbPQxELkKa44=
|
||||
golang.org/x/tools v0.0.0-20190221204921-83362c3779f5/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY=
|
||||
golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
|
||||
golang.org/x/tools v0.0.0-20190315044204-8b67d361bba2/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
|
||||
golang.org/x/tools v0.0.0-20190318200714-bb1270c20edf/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
|
||||
golang.org/x/tools v0.0.0-20190329151228-23e29df326fe/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
|
||||
golang.org/x/tools v0.0.0-20190404132500-923d25813098/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
|
||||
golang.org/x/tools v0.0.0-20190407030857-0fdf0c73855b/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
|
||||
golang.org/x/tools v0.0.0-20190416151739-9c9e1878f421/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
|
||||
golang.org/x/tools v0.0.0-20190420181800-aa740d480789/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
|
||||
golang.org/x/tools v0.0.0-20190425163242-31fd60d6bfdc/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q=
|
||||
golang.org/x/tools v0.0.0-20190603152906-08e0b306e832/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc=
|
||||
golang.org/x/tools v0.0.0-20190603231351-8aaa1484dc10/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc=
|
||||
golang.org/x/tools v0.0.0-20190606124116-d0a3d012864b/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc=
|
||||
golang.org/x/tools v0.0.0-20190613204242-ed0dc450797f/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc=
|
||||
golang.org/x/tools v0.0.0-20190621195816-6e04913cbbac/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc=
|
||||
golang.org/x/tools v0.0.0-20190624180213-70d37148ca0c/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc=
|
||||
golang.org/x/tools v0.0.0-20190628153133-6cdbf07be9d0/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc=
|
||||
golang.org/x/tools v0.0.0-20190809145639-6d4652c779c4/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
|
||||
golang.org/x/tools v0.0.0-20190823170909-c4a336ef6a2f/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
|
||||
golang.org/x/tools v0.0.0-20190825031127-d72b05d2b1b6/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
|
||||
golang.org/x/tools v0.0.0-20190905035308-adb45749da8e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
|
||||
golang.org/x/tools v0.0.0-20190906203814-12febf440ab1/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
|
||||
golang.org/x/tools v0.0.0-20190907020128-2ca718005c18/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
|
||||
golang.org/x/tools v0.0.0-20191004055002-72853e10c5a3/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
|
||||
golang.org/x/tools v0.0.0-20191015150414-f936694f27bf/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
|
||||
golang.org/x/xerrors v0.0.0-20190410155217-1f06c39b4373/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
||||
golang.org/x/xerrors v0.0.0-20190513163551-3ee3066db522/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
||||
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
||||
google.golang.org/api v0.0.0-20180910000450-7ca32eb868bf/go.mod h1:4mhQ8q/RsB7i+udVvVy5NUi08OU8ZlA0gRVgrF7VFY0=
|
||||
google.golang.org/api v0.0.0-20181030000543-1d582fd0359e/go.mod h1:4mhQ8q/RsB7i+udVvVy5NUi08OU8ZlA0gRVgrF7VFY0=
|
||||
google.golang.org/api v0.1.0/go.mod h1:UGEZY7KEX120AnNLIHFMKIo4obdJhkp2tPbaPlQx13Y=
|
||||
google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM=
|
||||
google.golang.org/appengine v1.2.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
|
||||
google.golang.org/appengine v1.3.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
|
||||
google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
|
||||
google.golang.org/appengine v1.6.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
|
||||
google.golang.org/appengine v1.6.1/go.mod h1:i06prIuMbXzDqacNJfV5OdTW448YApPu5ww/cMBSeb0=
|
||||
google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc=
|
||||
google.golang.org/genproto v0.0.0-20180831171423-11092d34479b/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc=
|
||||
google.golang.org/genproto v0.0.0-20181029155118-b69ba1387ce2/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc=
|
||||
google.golang.org/genproto v0.0.0-20181202183823-bd91e49a0898/go.mod h1:7Ep/1NZk928CDR8SjdVbjWNpdIf6nzjE3BTgJDr2Atg=
|
||||
google.golang.org/genproto v0.0.0-20190201180003-4b09977fb922/go.mod h1:L3J43x8/uS+qIUoksaLKe6OS3nUKxOKuIFz1sl2/jx4=
|
||||
google.golang.org/grpc v1.14.0/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw=
|
||||
google.golang.org/grpc v1.16.0/go.mod h1:0JHn/cJsOMiMfNA9+DeHDlAU7KAAB5GDlYFpa9MZMio=
|
||||
google.golang.org/grpc v1.17.0/go.mod h1:6QZJwpn2B+Zp71q/5VxRsJ6NXXVCE5NRUHRo+f3cWCs=
|
||||
google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c=
|
||||
google.golang.org/grpc v1.21.0/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM=
|
||||
gopkg.in/airbrake/gobrake.v2 v2.0.9/go.mod h1:/h5ZAUhDkGaJfjzjKLSjv6zCL6O0LLBxU4K+aSYdM/U=
|
||||
gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw=
|
||||
gopkg.in/alexcesaro/quotedprintable.v3 v3.0.0-20150716171945-2caba252f4dc/go.mod h1:m7x9LTH6d71AHyAX77c9yqWCCa3UKHcVEj9y7hAtKDk=
|
||||
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
||||
gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
||||
gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI=
|
||||
gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys=
|
||||
gopkg.in/gemnasium/logrus-airbrake-hook.v2 v2.1.2/go.mod h1:Xk6kEKp8OKb+X14hQBKWaSkCsqBpgog8nAV2xsGOxlo=
|
||||
gopkg.in/gomail.v2 v2.0.0-20160411212932-81ebce5c23df/go.mod h1:LRQQ+SO6ZHR7tOkpBDuZnXENFzX8qRjMDMyPD6BRkCw=
|
||||
gopkg.in/inconshreveable/log15.v2 v2.0.0-20180818164646-67afb5ed74ec/go.mod h1:aPpfJ7XW+gOuirDoZ8gHhLh3kZ1B08FtV2bbmy7Jv3s=
|
||||
gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw=
|
||||
gopkg.in/mail.v2 v2.0.0-20180731213649-a0242b2233b4/go.mod h1:htwXN1Qh09vZJ1NVKxQqHPBaCBbzKhp5GzuJEA4VJWw=
|
||||
gopkg.in/resty.v1 v1.12.0/go.mod h1:mDo4pnntr5jdWRML875a/NmxYqAlA73dVijT2AXvQQo=
|
||||
gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw=
|
||||
gopkg.in/yaml.v2 v2.0.0-20170812160011-eb3733d160e7/go.mod h1:JAlM8MvJe8wmxCU4Bli9HhUf9+ttbYbLASfIpnQbh74=
|
||||
gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
|
||||
gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
|
||||
gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
|
||||
grpc.go4.org v0.0.0-20170609214715-11d0a25b4919/go.mod h1:77eQGdRu53HpSqPFJFmuJdjuHRquDANNeA4x7B8WQ9o=
|
||||
honnef.co/go/tools v0.0.0-20180728063816-88497007e858/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
|
||||
honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
|
||||
honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
|
||||
sourcegraph.com/sourcegraph/go-diff v0.5.0/go.mod h1:kuch7UrkMzY0X+p9CRK03kfuPQ2zzQcaEFbx8wA8rck=
|
||||
sourcegraph.com/sqs/pbtypes v0.0.0-20180604144634-d3ebe8f20ae4/go.mod h1:ketZ/q3QxT9HOBeFhu6RdvsftgpsbFHBF5Cas6cDKZ0=
|
|
@ -0,0 +1,172 @@
|
|||
package pkgtest
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"io"
|
||||
"os"
|
||||
"path/filepath"
|
||||
"strings"
|
||||
|
||||
"github.com/markbates/pkger/here"
|
||||
"github.com/markbates/pkger/pkging"
|
||||
)
|
||||
|
||||
func LoadFile(name string, ref *Ref, pkg pkging.Pkger) (os.FileInfo, error) {
|
||||
her, err := here.Package("github.com/markbates/pkger")
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
root := filepath.Join(
|
||||
her.Module.Dir,
|
||||
"pkging",
|
||||
"pkgtest",
|
||||
"testdata",
|
||||
"ref",
|
||||
name,
|
||||
)
|
||||
|
||||
info, err := os.Stat(root)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
if info.IsDir() {
|
||||
return nil, fmt.Errorf("%s is a directory", name)
|
||||
}
|
||||
|
||||
her, err = pkg.Current()
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
af, err := os.Open(root)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
defer af.Close()
|
||||
|
||||
bf, err := pkg.Create(name)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
defer bf.Close()
|
||||
|
||||
xp := strings.TrimPrefix(root, filepath.Dir(root))
|
||||
xp = filepath.Join(ref.Dir, xp)
|
||||
|
||||
cf, err := os.Create(xp)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
defer cf.Close()
|
||||
|
||||
mw := io.MultiWriter(bf, cf)
|
||||
|
||||
_, err = io.Copy(mw, af)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return info, nil
|
||||
}
|
||||
|
||||
func LoadFiles(name string, ref *Ref, pkg pkging.Pkger) ([]os.FileInfo, error) {
|
||||
var infos []os.FileInfo
|
||||
|
||||
her, err := here.Package("github.com/markbates/pkger")
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
root := filepath.Join(
|
||||
her.Module.Dir,
|
||||
"pkging",
|
||||
"pkgtest",
|
||||
"testdata",
|
||||
"ref",
|
||||
name,
|
||||
)
|
||||
|
||||
info, err := os.Stat(root)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
if !info.IsDir() {
|
||||
return nil, fmt.Errorf("%s is not a directory", name)
|
||||
}
|
||||
|
||||
her, err = pkg.Current()
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
err = filepath.Walk(root, func(path string, info os.FileInfo, err error) error {
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if strings.HasPrefix(filepath.Base(path), ".") {
|
||||
return nil
|
||||
}
|
||||
|
||||
infos = append(infos, info)
|
||||
|
||||
xp := strings.TrimPrefix(path, root)
|
||||
xp = filepath.Join(name, xp)
|
||||
|
||||
pt, err := pkg.Parse(xp)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if info.IsDir() {
|
||||
if err := pkg.MkdirAll(pt.Name, info.Mode()); err != nil {
|
||||
return err
|
||||
}
|
||||
if err := os.MkdirAll(filepath.Join(her.Dir, xp), info.Mode()); err != nil {
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
af, err := os.Open(path)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
defer af.Close()
|
||||
|
||||
bf, err := pkg.Create(pt.Name)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
defer bf.Close()
|
||||
|
||||
xp = filepath.Join(her.Dir, xp)
|
||||
|
||||
cf, err := os.Create(xp)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
defer cf.Close()
|
||||
|
||||
mw := io.MultiWriter(bf, cf)
|
||||
|
||||
_, err = io.Copy(mw, af)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
})
|
||||
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
if len(infos) == 0 {
|
||||
return nil, fmt.Errorf("did not load any infos for %s", name)
|
||||
}
|
||||
|
||||
return infos, nil
|
||||
}
|
|
@ -0,0 +1,28 @@
|
|||
package pkgtest
|
||||
|
||||
import (
|
||||
"testing"
|
||||
|
||||
"github.com/markbates/pkger/pkging"
|
||||
"github.com/stretchr/testify/require"
|
||||
)
|
||||
|
||||
func MkdirAllTest(t *testing.T, ref *Ref, pkg pkging.Pkger) {
|
||||
r := require.New(t)
|
||||
|
||||
name := "/all/this/useless/beauty"
|
||||
|
||||
_, err := pkg.Stat(name)
|
||||
r.Error(err)
|
||||
|
||||
r.NoError(pkg.MkdirAll(name, 0755))
|
||||
|
||||
f, err := pkg.Open(name)
|
||||
r.NoError(err)
|
||||
|
||||
info, err := f.Stat()
|
||||
r.NoError(err)
|
||||
|
||||
r.Equal("app:"+name, f.Name())
|
||||
r.Equal("beauty", info.Name())
|
||||
}
|
|
@ -0,0 +1,45 @@
|
|||
package pkgtest
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"io/ioutil"
|
||||
"os"
|
||||
"path/filepath"
|
||||
"testing"
|
||||
|
||||
"github.com/markbates/pkger/pkging"
|
||||
"github.com/stretchr/testify/require"
|
||||
)
|
||||
|
||||
func OpenTest(t *testing.T, ref *Ref, pkg pkging.Pkger) {
|
||||
r := require.New(t)
|
||||
|
||||
name := "/go.mod"
|
||||
|
||||
osf, err := os.Open(filepath.Join(ref.Dir, name))
|
||||
r.NoError(err)
|
||||
|
||||
osi, err := osf.Stat()
|
||||
r.NoError(err)
|
||||
|
||||
_, err = LoadFile(name, ref, pkg)
|
||||
r.NoError(err)
|
||||
|
||||
pf, err := pkg.Open(fmt.Sprintf("/%s", name))
|
||||
r.NoError(err)
|
||||
|
||||
psi, err := pf.Stat()
|
||||
r.NoError(err)
|
||||
|
||||
CmpFileInfo(t, osi, psi)
|
||||
|
||||
osb, err := ioutil.ReadAll(osf)
|
||||
r.NoError(err)
|
||||
r.NoError(osf.Close())
|
||||
|
||||
psb, err := ioutil.ReadAll(pf)
|
||||
r.NoError(err)
|
||||
r.NoError(pf.Close())
|
||||
|
||||
r.Equal(osb, psb)
|
||||
}
|
|
@ -1,9 +1,92 @@
|
|||
package pkgtest
|
||||
|
||||
import "strings"
|
||||
import (
|
||||
"fmt"
|
||||
"os"
|
||||
"testing"
|
||||
|
||||
"github.com/markbates/pkger/here"
|
||||
"github.com/markbates/pkger/pkging"
|
||||
"github.com/stretchr/testify/require"
|
||||
)
|
||||
|
||||
type AllFn func(ref *Ref) (pkging.Pkger, error)
|
||||
|
||||
func All(t *testing.T, fn AllFn) {
|
||||
r := require.New(t)
|
||||
|
||||
type tf func(*testing.T, *Ref, pkging.Pkger)
|
||||
|
||||
tests := map[string]tf{
|
||||
"Create": CreateTest,
|
||||
"Current": CurrentTest,
|
||||
"HTTP": HTTPTest,
|
||||
"Info": InfoTest,
|
||||
"MkdirAll": MkdirAllTest,
|
||||
"Open": OpenTest,
|
||||
"Remove": RemoveTest,
|
||||
"RemoveAll": RemoveAllTest,
|
||||
"Stat": StatTest,
|
||||
"Walk": WalkTest,
|
||||
}
|
||||
|
||||
ref, err := NewRef()
|
||||
r.NoError(err)
|
||||
defer os.RemoveAll(ref.Dir)
|
||||
|
||||
pkg, err := fn(ref)
|
||||
r.NoError(err)
|
||||
|
||||
for n, tt := range tests {
|
||||
t.Run(fmt.Sprintf("%T/%s", pkg, n), func(st *testing.T) {
|
||||
st.Parallel()
|
||||
|
||||
r := require.New(st)
|
||||
|
||||
ref, err := NewRef()
|
||||
r.NoError(err)
|
||||
defer os.RemoveAll(ref.Dir)
|
||||
|
||||
pkg, err := fn(ref)
|
||||
r.NoError(err)
|
||||
|
||||
tt(st, ref, pkg)
|
||||
})
|
||||
}
|
||||
|
||||
func clean(s string) string {
|
||||
s = strings.TrimSpace(s)
|
||||
s = strings.ReplaceAll(s, "\\", "/")
|
||||
return s
|
||||
}
|
||||
|
||||
func CmpFileInfo(t *testing.T, a os.FileInfo, b os.FileInfo) {
|
||||
t.Helper()
|
||||
|
||||
r := require.New(t)
|
||||
r.Equal(a.IsDir(), b.IsDir())
|
||||
r.Equal(a.Name(), b.Name())
|
||||
r.NotZero(b.ModTime())
|
||||
|
||||
if a.IsDir() {
|
||||
r.True(b.Mode().IsDir(), b.Mode().String())
|
||||
return
|
||||
}
|
||||
|
||||
r.True(b.Mode().IsRegular(), b.Mode().String())
|
||||
}
|
||||
|
||||
func cmpHereInfo(t *testing.T, a here.Info, b here.Info) {
|
||||
t.Helper()
|
||||
|
||||
r := require.New(t)
|
||||
|
||||
r.NotZero(a)
|
||||
r.NotZero(b)
|
||||
|
||||
r.Equal(a.ImportPath, b.ImportPath)
|
||||
r.Equal(a.Name, b.Name)
|
||||
|
||||
am := a.Module
|
||||
bm := b.Module
|
||||
|
||||
r.Equal(am.Path, bm.Path)
|
||||
r.Equal(am.Main, bm.Main)
|
||||
r.Equal(am.GoVersion, bm.GoVersion)
|
||||
}
|
||||
|
|
|
@ -0,0 +1,91 @@
|
|||
package pkgtest
|
||||
|
||||
import (
|
||||
"crypto/rand"
|
||||
"encoding/hex"
|
||||
"io/ioutil"
|
||||
"os"
|
||||
"path/filepath"
|
||||
"runtime"
|
||||
|
||||
"github.com/markbates/pkger/here"
|
||||
)
|
||||
|
||||
type Ref struct {
|
||||
here.Info
|
||||
}
|
||||
|
||||
func NewRef() (*Ref, error) {
|
||||
her, err := here.Package("github.com/markbates/pkger")
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
root := filepath.Join(
|
||||
her.Module.Dir,
|
||||
"pkging",
|
||||
"pkgtest",
|
||||
"testdata",
|
||||
"ref")
|
||||
|
||||
if _, err := os.Stat(root); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
b := make([]byte, 10)
|
||||
_, err = rand.Read(b)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
dir := filepath.Dir(root)
|
||||
dir = filepath.Join(dir, hex.EncodeToString(b))
|
||||
|
||||
ref := &Ref{
|
||||
Info: here.Info{
|
||||
ImportPath: "app",
|
||||
Dir: dir,
|
||||
Name: "app",
|
||||
Module: here.Module{
|
||||
Main: true,
|
||||
Path: "app",
|
||||
Dir: dir,
|
||||
GoMod: filepath.Join(dir, "go.mod"),
|
||||
GoVersion: runtime.Version(),
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
if err := os.MkdirAll(dir, 0755); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
b, err = ioutil.ReadFile(filepath.Join(root, "go.mod"))
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
f, err := os.Create(filepath.Join(dir, "go.mod"))
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
if _, err := f.Write(b); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
if err := f.Close(); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
// c := exec.Command("cp", "-rv", root, dir)
|
||||
// fmt.Println(strings.Join(c.Args, " "))
|
||||
// c.Stdout = os.Stdout
|
||||
// c.Stderr = os.Stderr
|
||||
// c.Stdin = os.Stdin
|
||||
// if err := c.Run(); err != nil {
|
||||
// return nil, err
|
||||
// }
|
||||
|
||||
return ref, nil
|
||||
}
|
|
@ -0,0 +1,24 @@
|
|||
package pkgtest
|
||||
|
||||
import (
|
||||
"testing"
|
||||
|
||||
"github.com/markbates/pkger/pkging"
|
||||
"github.com/stretchr/testify/require"
|
||||
)
|
||||
|
||||
func RemoveTest(t *testing.T, ref *Ref, pkg pkging.Pkger) {
|
||||
r := require.New(t)
|
||||
|
||||
name := "/go.mod"
|
||||
_, err := LoadFile(name, ref, pkg)
|
||||
r.NoError(err)
|
||||
|
||||
_, err = pkg.Stat(name)
|
||||
r.NoError(err)
|
||||
|
||||
r.NoError(pkg.Remove(name))
|
||||
|
||||
_, err = pkg.Stat(name)
|
||||
r.Error(err)
|
||||
}
|
|
@ -0,0 +1,23 @@
|
|||
package pkgtest
|
||||
|
||||
import (
|
||||
"testing"
|
||||
|
||||
"github.com/markbates/pkger/pkging"
|
||||
"github.com/stretchr/testify/require"
|
||||
)
|
||||
|
||||
func RemoveAllTest(t *testing.T, ref *Ref, pkg pkging.Pkger) {
|
||||
r := require.New(t)
|
||||
|
||||
name := "/public/assets"
|
||||
r.NoError(pkg.MkdirAll(name, 0755))
|
||||
|
||||
_, err := pkg.Stat(name)
|
||||
r.NoError(err)
|
||||
|
||||
r.NoError(pkg.RemoveAll(name))
|
||||
|
||||
_, err = pkg.Stat(name)
|
||||
r.Error(err)
|
||||
}
|
|
@ -0,0 +1,25 @@
|
|||
package pkgtest
|
||||
|
||||
import (
|
||||
"os"
|
||||
"path/filepath"
|
||||
"testing"
|
||||
|
||||
"github.com/markbates/pkger/pkging"
|
||||
"github.com/stretchr/testify/require"
|
||||
)
|
||||
|
||||
func StatTest(t *testing.T, ref *Ref, pkg pkging.Pkger) {
|
||||
r := require.New(t)
|
||||
|
||||
_, err := LoadFile("/go.mod", ref, pkg)
|
||||
r.NoError(err)
|
||||
|
||||
osi, err := os.Stat(filepath.Join(ref.Dir, "go.mod"))
|
||||
r.NoError(err)
|
||||
|
||||
psi, err := pkg.Stat("/go.mod")
|
||||
r.NoError(err)
|
||||
|
||||
CmpFileInfo(t, osi, psi)
|
||||
}
|
|
@ -1,546 +0,0 @@
|
|||
package pkgtest
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"io/ioutil"
|
||||
"os"
|
||||
"path/filepath"
|
||||
"reflect"
|
||||
"runtime"
|
||||
"strings"
|
||||
"testing"
|
||||
|
||||
"github.com/markbates/pkger/here"
|
||||
"github.com/markbates/pkger/pkging"
|
||||
"github.com/markbates/pkger/pkging/pkgutil"
|
||||
"github.com/stretchr/testify/require"
|
||||
)
|
||||
|
||||
const mould = "/easy/listening/sugar.file"
|
||||
const hart = "/easy/listening/grant.hart"
|
||||
const husker = "github.com/husker/du"
|
||||
|
||||
type Suite struct {
|
||||
Name string
|
||||
gen func() (pkging.Pkger, error)
|
||||
}
|
||||
|
||||
func (s Suite) Make() (pkging.Pkger, error) {
|
||||
if s.gen == nil {
|
||||
return nil, fmt.Errorf("missing generator function")
|
||||
}
|
||||
return s.gen()
|
||||
}
|
||||
|
||||
func NewSuite(name string, fn func() (pkging.Pkger, error)) (Suite, error) {
|
||||
suite := Suite{
|
||||
Name: name,
|
||||
gen: fn,
|
||||
}
|
||||
return suite, nil
|
||||
}
|
||||
|
||||
func (s Suite) Test(t *testing.T) {
|
||||
rv := reflect.ValueOf(s)
|
||||
rt := rv.Type()
|
||||
if rt.NumMethod() == 0 {
|
||||
t.Fatalf("something went wrong wrong with %s", s.Name)
|
||||
}
|
||||
for i := 0; i < rt.NumMethod(); i++ {
|
||||
m := rt.Method(i)
|
||||
if !strings.HasPrefix(m.Name, "Test_") {
|
||||
continue
|
||||
}
|
||||
|
||||
s.sub(t, m)
|
||||
}
|
||||
}
|
||||
|
||||
func (s Suite) Run(t *testing.T, name string, fn func(t *testing.T)) {
|
||||
t.Run(name, func(st *testing.T) {
|
||||
fn(st)
|
||||
})
|
||||
}
|
||||
|
||||
func (s Suite) sub(t *testing.T, m reflect.Method) {
|
||||
name := fmt.Sprintf("%s/%s", s.Name, m.Name)
|
||||
s.Run(t, name, func(st *testing.T) {
|
||||
m.Func.Call([]reflect.Value{
|
||||
reflect.ValueOf(s),
|
||||
reflect.ValueOf(st),
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
func (s Suite) Test_Create(t *testing.T) {
|
||||
r := require.New(t)
|
||||
|
||||
pkg, err := s.Make()
|
||||
r.NoError(err)
|
||||
|
||||
cur, err := pkg.Current()
|
||||
r.NoError(err)
|
||||
|
||||
ip := cur.ImportPath
|
||||
table := []struct {
|
||||
in string
|
||||
}{
|
||||
{in: mould},
|
||||
{in: ":" + mould},
|
||||
{in: ip + ":" + mould},
|
||||
}
|
||||
|
||||
for _, tt := range table {
|
||||
s.Run(t, tt.in, func(st *testing.T) {
|
||||
r := require.New(st)
|
||||
|
||||
pt, err := pkg.Parse(tt.in)
|
||||
r.NoError(err)
|
||||
|
||||
r.NoError(pkg.MkdirAll(filepath.Dir(pt.Name), 0755))
|
||||
|
||||
f, err := pkg.Create(pt.Name)
|
||||
r.NoError(err)
|
||||
r.Equal(pt.String(), f.Name())
|
||||
|
||||
fi, err := f.Stat()
|
||||
r.NoError(err)
|
||||
r.NoError(f.Close())
|
||||
|
||||
r.Equal(filepath.Base(pt.Name), fi.Name())
|
||||
r.NotZero(fi.ModTime())
|
||||
r.NoError(pkg.RemoveAll(pt.String()))
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
func (s Suite) Test_Create_No_MkdirAll(t *testing.T) {
|
||||
r := require.New(t)
|
||||
|
||||
pkg, err := s.Make()
|
||||
r.NoError(err)
|
||||
|
||||
cur, err := pkg.Current()
|
||||
r.NoError(err)
|
||||
|
||||
ip := cur.ImportPath
|
||||
table := []struct {
|
||||
in string
|
||||
}{
|
||||
{in: mould},
|
||||
{in: ":" + mould},
|
||||
{in: ip + ":" + mould},
|
||||
{in: filepath.Dir(mould)},
|
||||
{in: ":" + filepath.Dir(mould)},
|
||||
{in: ip + ":" + filepath.Dir(mould)},
|
||||
}
|
||||
|
||||
for _, tt := range table {
|
||||
s.Run(t, tt.in, func(st *testing.T) {
|
||||
r := require.New(st)
|
||||
|
||||
pkg, err := s.Make()
|
||||
r.NoError(err)
|
||||
|
||||
pt, err := pkg.Parse(tt.in)
|
||||
r.NoError(err)
|
||||
|
||||
_, err = pkg.Create(pt.Name)
|
||||
r.Error(err)
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
func (s Suite) Test_Current(t *testing.T) {
|
||||
r := require.New(t)
|
||||
|
||||
pkg, err := s.Make()
|
||||
r.NoError(err)
|
||||
|
||||
info, err := pkg.Current()
|
||||
r.NoError(err)
|
||||
r.NotZero(info)
|
||||
}
|
||||
|
||||
func (s Suite) Test_Info(t *testing.T) {
|
||||
r := require.New(t)
|
||||
|
||||
pkg, err := s.Make()
|
||||
r.NoError(err)
|
||||
|
||||
cur, err := pkg.Current()
|
||||
r.NoError(err)
|
||||
|
||||
info, err := pkg.Info(cur.ImportPath)
|
||||
r.NoError(err)
|
||||
r.NotZero(info)
|
||||
|
||||
}
|
||||
|
||||
func (s Suite) Test_MkdirAll(t *testing.T) {
|
||||
r := require.New(t)
|
||||
|
||||
pkg, err := s.Make()
|
||||
r.NoError(err)
|
||||
|
||||
cur, err := pkg.Current()
|
||||
r.NoError(err)
|
||||
|
||||
ip := cur.ImportPath
|
||||
table := []struct {
|
||||
in string
|
||||
}{
|
||||
{in: mould},
|
||||
{in: ":" + mould},
|
||||
{in: ip + ":" + mould},
|
||||
{in: filepath.Dir(mould)},
|
||||
{in: ":" + filepath.Dir(mould)},
|
||||
{in: ip + ":" + filepath.Dir(mould)},
|
||||
}
|
||||
|
||||
for _, tt := range table {
|
||||
s.Run(t, tt.in, func(st *testing.T) {
|
||||
r := require.New(st)
|
||||
|
||||
pkg, err := s.Make()
|
||||
r.NoError(err)
|
||||
|
||||
pt, err := pkg.Parse(tt.in)
|
||||
r.NoError(err)
|
||||
|
||||
dir := filepath.Dir(pt.Name)
|
||||
r.NoError(pkg.MkdirAll(dir, 0755))
|
||||
|
||||
fi, err := pkg.Stat(dir)
|
||||
r.NoError(err)
|
||||
|
||||
if runtime.GOOS == "windows" {
|
||||
dir = strings.Replace(dir, "\\", "/", -1)
|
||||
}
|
||||
r.Equal(filepath.Base(dir), fi.Name())
|
||||
r.NotZero(fi.ModTime())
|
||||
r.NoError(pkg.RemoveAll(pt.String()))
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
func (s Suite) Test_Open_File(t *testing.T) {
|
||||
r := require.New(t)
|
||||
|
||||
pkg, err := s.Make()
|
||||
r.NoError(err)
|
||||
|
||||
cur, err := pkg.Current()
|
||||
r.NoError(err)
|
||||
|
||||
ip := cur.ImportPath
|
||||
table := []struct {
|
||||
in string
|
||||
}{
|
||||
{in: mould},
|
||||
{in: ":" + mould},
|
||||
{in: ip + ":" + mould},
|
||||
{in: hart},
|
||||
}
|
||||
|
||||
for _, tt := range table {
|
||||
s.Run(t, tt.in, func(st *testing.T) {
|
||||
r := require.New(st)
|
||||
|
||||
pkg, err := s.Make()
|
||||
r.NoError(err)
|
||||
|
||||
pt, err := pkg.Parse(tt.in)
|
||||
r.NoError(err)
|
||||
|
||||
r.NoError(pkg.RemoveAll(pt.String()))
|
||||
r.NoError(pkg.MkdirAll(filepath.Dir(pt.Name), 0755))
|
||||
|
||||
body := "!" + pt.String()
|
||||
|
||||
pkgutil.WriteFile(pkg, tt.in, []byte(body), 0644)
|
||||
|
||||
f, err := pkg.Open(tt.in)
|
||||
r.NoError(err)
|
||||
|
||||
r.Equal(pt.Name, f.Path().Name)
|
||||
b, err := ioutil.ReadAll(f)
|
||||
r.NoError(err)
|
||||
r.Equal(body, string(b))
|
||||
|
||||
b, err = pkgutil.ReadFile(pkg, tt.in)
|
||||
r.NoError(err)
|
||||
r.Equal(body, string(b))
|
||||
|
||||
r.NoError(f.Close())
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
func (s Suite) Test_Parse(t *testing.T) {
|
||||
r := require.New(t)
|
||||
|
||||
pkg, err := s.Make()
|
||||
r.NoError(err)
|
||||
|
||||
cur, err := pkg.Current()
|
||||
r.NoError(err)
|
||||
|
||||
ip := cur.ImportPath
|
||||
table := []struct {
|
||||
in string
|
||||
exp here.Path
|
||||
}{
|
||||
{in: mould, exp: here.Path{Pkg: ip, Name: mould}},
|
||||
{in: filepath.Join(cur.Dir, mould), exp: here.Path{Pkg: ip, Name: mould}},
|
||||
{in: ":" + mould, exp: here.Path{Pkg: ip, Name: mould}},
|
||||
{in: ip + ":" + mould, exp: here.Path{Pkg: ip, Name: mould}},
|
||||
{in: ip, exp: here.Path{Pkg: ip, Name: "/"}},
|
||||
{in: ":", exp: here.Path{Pkg: ip, Name: "/"}},
|
||||
{in: husker + ":" + mould, exp: here.Path{Pkg: husker, Name: mould}},
|
||||
{in: husker, exp: here.Path{Pkg: husker, Name: "/"}},
|
||||
{in: husker + ":", exp: here.Path{Pkg: husker, Name: "/"}},
|
||||
}
|
||||
|
||||
for _, tt := range table {
|
||||
s.Run(t, tt.in, func(st *testing.T) {
|
||||
r := require.New(st)
|
||||
|
||||
pt, err := pkg.Parse(tt.in)
|
||||
r.NoError(err)
|
||||
r.Equal(tt.exp, pt)
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
func (s Suite) Test_Stat_Error(t *testing.T) {
|
||||
r := require.New(t)
|
||||
|
||||
pkg, err := s.Make()
|
||||
r.NoError(err)
|
||||
|
||||
cur, err := pkg.Current()
|
||||
r.NoError(err)
|
||||
|
||||
ip := cur.ImportPath
|
||||
|
||||
table := []struct {
|
||||
in string
|
||||
}{
|
||||
{in: hart},
|
||||
{in: ":" + hart},
|
||||
{in: ip},
|
||||
{in: ip + ":"},
|
||||
{in: ip + ":" + hart},
|
||||
}
|
||||
|
||||
for _, tt := range table {
|
||||
s.Run(t, tt.in, func(st *testing.T) {
|
||||
|
||||
r := require.New(st)
|
||||
|
||||
pt, err := pkg.Parse(tt.in)
|
||||
r.NoError(err)
|
||||
|
||||
r.NoError(pkg.RemoveAll(pt.String()))
|
||||
|
||||
_, err = pkg.Stat(tt.in)
|
||||
r.Error(err)
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
func (s Suite) Test_Stat_Dir(t *testing.T) {
|
||||
r := require.New(t)
|
||||
|
||||
app, err := App()
|
||||
r.NoError(err)
|
||||
|
||||
exp, err := os.Stat(filepath.Join(app.Info.Dir, "public"))
|
||||
r.NoError(err)
|
||||
|
||||
pkg, err := s.Make()
|
||||
r.NoError(err)
|
||||
|
||||
r.NoError(s.LoadFolder(pkg))
|
||||
|
||||
act, err := pkg.Stat("/public")
|
||||
r.NoError(err)
|
||||
|
||||
r.Equal(exp.Name(), act.Name())
|
||||
r.Equal(exp.Size(), act.Size())
|
||||
r.Equal(exp.Mode(), act.Mode())
|
||||
r.Equal(exp.IsDir(), act.IsDir())
|
||||
r.NotZero(act.ModTime())
|
||||
|
||||
}
|
||||
|
||||
func (s Suite) Test_Stat_File(t *testing.T) {
|
||||
r := require.New(t)
|
||||
|
||||
app, err := App()
|
||||
r.NoError(err)
|
||||
|
||||
exp, err := os.Stat(filepath.Join(app.Info.Dir, "go.mod"))
|
||||
r.NoError(err)
|
||||
|
||||
pkg, err := s.Make()
|
||||
r.NoError(err)
|
||||
|
||||
r.NoError(s.LoadFolder(pkg))
|
||||
|
||||
act, err := pkg.Stat("/go.mod")
|
||||
r.NoError(err)
|
||||
|
||||
r.Equal(exp.Name(), act.Name())
|
||||
r.Equal(exp.Size(), act.Size())
|
||||
r.Equal(exp.Mode(), act.Mode())
|
||||
r.Equal(exp.IsDir(), act.IsDir())
|
||||
r.NotZero(act.ModTime())
|
||||
|
||||
}
|
||||
|
||||
func (s Suite) Test_Walk(t *testing.T) {
|
||||
r := require.New(t)
|
||||
|
||||
pkg, err := s.Make()
|
||||
r.NoError(err)
|
||||
|
||||
r.NoError(s.LoadFolder(pkg))
|
||||
|
||||
app, err := App()
|
||||
r.NoError(err)
|
||||
|
||||
table := []struct {
|
||||
in string
|
||||
exp []string
|
||||
}{
|
||||
{in: "/", exp: app.Paths.Root},
|
||||
{in: "/public", exp: app.Paths.Public},
|
||||
}
|
||||
|
||||
for _, tt := range table {
|
||||
s.Run(t, tt.in, func(st *testing.T) {
|
||||
|
||||
tdir, err := ioutil.TempDir("", "")
|
||||
r.NoError(err)
|
||||
defer os.RemoveAll(tdir)
|
||||
r.NoError(s.WriteFolder(tdir))
|
||||
|
||||
var goact []string
|
||||
err = filepath.Walk(filepath.Join(tdir, tt.in), func(path string, info os.FileInfo, err error) error {
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
path = strings.TrimPrefix(path, tdir)
|
||||
|
||||
if path == "" || path == "." {
|
||||
path = "/"
|
||||
}
|
||||
|
||||
pt, err := pkg.Parse(path)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
goact = append(goact, pt.String())
|
||||
return nil
|
||||
})
|
||||
r.NoError(err)
|
||||
r.Equal(tt.exp, goact)
|
||||
|
||||
r := require.New(st)
|
||||
var act []string
|
||||
err = pkg.Walk(tt.in, func(path string, info os.FileInfo, err error) error {
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
act = append(act, path)
|
||||
return nil
|
||||
})
|
||||
r.NoError(err)
|
||||
|
||||
r.Equal(tt.exp, act)
|
||||
})
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
func (s Suite) Test_Remove(t *testing.T) {
|
||||
r := require.New(t)
|
||||
|
||||
pkg, err := s.Make()
|
||||
r.NoError(err)
|
||||
|
||||
cur, err := pkg.Current()
|
||||
r.NoError(err)
|
||||
|
||||
ip := cur.ImportPath
|
||||
|
||||
table := []struct {
|
||||
in string
|
||||
}{
|
||||
{in: "/public/images/img1.png"},
|
||||
{in: ":/public/images/img1.png"},
|
||||
{in: ip + ":/public/images/img1.png"},
|
||||
}
|
||||
|
||||
for _, tt := range table {
|
||||
s.Run(t, tt.in, func(st *testing.T) {
|
||||
r := require.New(st)
|
||||
|
||||
pkg, err := s.Make()
|
||||
r.NoError(err)
|
||||
r.NoError(s.LoadFolder(pkg))
|
||||
|
||||
_, err = pkg.Stat(tt.in)
|
||||
r.NoError(err)
|
||||
|
||||
r.NoError(pkg.Remove(tt.in))
|
||||
|
||||
_, err = pkg.Stat(tt.in)
|
||||
r.Error(err)
|
||||
|
||||
r.Error(pkg.Remove("unknown"))
|
||||
})
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
func (s Suite) Test_RemoveAll(t *testing.T) {
|
||||
r := require.New(t)
|
||||
|
||||
pkg, err := s.Make()
|
||||
r.NoError(err)
|
||||
|
||||
cur, err := pkg.Current()
|
||||
r.NoError(err)
|
||||
|
||||
ip := cur.ImportPath
|
||||
|
||||
table := []struct {
|
||||
in string
|
||||
}{
|
||||
{in: "/public"},
|
||||
{in: ":/public"},
|
||||
{in: ip + ":/public"},
|
||||
}
|
||||
|
||||
for _, tt := range table {
|
||||
s.Run(t, tt.in, func(st *testing.T) {
|
||||
r := require.New(st)
|
||||
|
||||
pkg, err := s.Make()
|
||||
r.NoError(err)
|
||||
r.NoError(s.LoadFolder(pkg))
|
||||
|
||||
_, err = pkg.Stat(tt.in)
|
||||
r.NoError(err)
|
||||
|
||||
r.NoError(pkg.RemoveAll(tt.in))
|
||||
|
||||
_, err = pkg.Stat(tt.in)
|
||||
r.Error(err)
|
||||
})
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,19 @@
|
|||
package actions
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"io"
|
||||
"os"
|
||||
|
||||
"github.com/markbates/pkger"
|
||||
)
|
||||
|
||||
func WalkTemplates(w io.Writer) error {
|
||||
return pkger.Walk("/templates", func(path string, info os.FileInfo, err error) error {
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
_, err = w.Write([]byte(fmt.Sprintf("%s\n", path)))
|
||||
return err
|
||||
})
|
||||
}
|
|
@ -0,0 +1,133 @@
|
|||
.container {
|
||||
min-width: 320px;
|
||||
}
|
||||
|
||||
header {
|
||||
background-color: #62a5ee;
|
||||
padding: 10px 20px;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.logo {
|
||||
img {
|
||||
width: 80px;
|
||||
}
|
||||
}
|
||||
|
||||
.titles {
|
||||
h1 {
|
||||
font-size: 30px;
|
||||
font-weight: 300;
|
||||
color: white;
|
||||
margin-bottom: 13px;
|
||||
margin-top: 5px;
|
||||
}
|
||||
|
||||
h2 {
|
||||
font-weight: 300;
|
||||
font-size: 18px;
|
||||
display: inline-block;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
a {
|
||||
color: white;
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
i {
|
||||
margin-right: 5px;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.documentation {
|
||||
margin-left: 28px;
|
||||
}
|
||||
}
|
||||
|
||||
.subtitle {
|
||||
color: white;
|
||||
margin: 0;
|
||||
padding: 13px 0;
|
||||
background-color: #2a3543;
|
||||
margin-bottom: 20px;
|
||||
|
||||
h3 {
|
||||
font-size: 22px;
|
||||
font-weight: 400;
|
||||
margin: 0;
|
||||
}
|
||||
}
|
||||
|
||||
table {
|
||||
font-size: 14px;
|
||||
|
||||
&.table tbody tr td {
|
||||
border-top: 0;
|
||||
padding: 10px;
|
||||
}
|
||||
}
|
||||
|
||||
.foot {
|
||||
text-align: right;
|
||||
color: #c5c5c5;
|
||||
font-weight: 300;
|
||||
|
||||
a {
|
||||
color: #8b8b8b;
|
||||
text-decoration: underline;
|
||||
}
|
||||
}
|
||||
|
||||
.centered {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
@media all and (max-width: 770px) {
|
||||
.titles {
|
||||
h1 {
|
||||
font-size: 25px;
|
||||
margin: 15px 0 5px 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@media all and (max-width: 640px) {
|
||||
.titles {
|
||||
h1 {
|
||||
font-size: 23px;
|
||||
margin: 15px 0 5px 0;
|
||||
}
|
||||
|
||||
h2 {
|
||||
font-size: 15px;
|
||||
}
|
||||
|
||||
.documentation {
|
||||
margin-left: 10px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@media all and (max-width: 530px) {
|
||||
.titles {
|
||||
h1 {
|
||||
font-size: 20px;
|
||||
margin: 5px 0;
|
||||
}
|
||||
|
||||
.documentation {
|
||||
margin-left: 0px;
|
||||
margin-top: 5px;
|
||||
display: block;
|
||||
}
|
||||
}
|
||||
|
||||
.logo {
|
||||
padding: 0;
|
||||
|
||||
img {
|
||||
width: 100%
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,4 @@
|
|||
@import "~bootstrap/scss/bootstrap.scss";
|
||||
@import "~@fortawesome/fontawesome-free/css/all.min.css";
|
||||
|
||||
@import "buffalo";
|
After Width: | Height: | Size: 1.1 KiB |
|
@ -0,0 +1,721 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 21.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg version="1.1" id="Buffalo_x5F_Gopher" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px"
|
||||
y="0px" viewBox="0 0 900 900" enable-background="new 0 0 900 900" xml:space="preserve">
|
||||
<g>
|
||||
<path fill="none" stroke="#211915" stroke-width="16" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
|
||||
M168.4,188c69-72,165.9-117.3,273.3-117.3C651.2,70.7,821,240.4,821,449.8C821,659.3,651.2,829,441.7,829
|
||||
C232.3,829,62.5,659.2,62.5,449.8l-0.2,0c-0.1-1.1,0.1-2.2,0-3.2c-1.7-27.6-3.4-55.2-5.1-82.8c-0.7-11.6-1.6-23.1-2.1-34.7
|
||||
c-0.2-3.6-0.6-7.2-0.3-10.7c0.9-13.3,12.8-11,24.1-13.5c0,0,0-87.7,0-87.7s0.8-15,24.2-15L127,188h9.4l-0.5-20.2
|
||||
c0,0-7.2-0.7-7.9-6.7c0,0-0.7-5.4,1.6-6.4c0,0,2.4-1.6,2.4,5.9c0,0,1.2,2.6,3,2.6l0.2-19.4c0,0,0.2-3.2,2.7-3.2
|
||||
c0,0,3.1-0.7,3.1,2.7c0,0,0,27.4,0,27.6c0,0.2,3.1-1.6,3.3-2c0.6-1,0.4-2.4,0.5-3.5c0.1-1.8-0.1-8.4,1.6-8.8
|
||||
c2.2-0.6,2.7,3.2,2.8,4.8c0.3,3.5-0.2,8-2.6,10.9c-0.4,0.5-4.6,3.6-4.6,3.2c0,0-0.7,12.7-0.7,12.7h0.3H168.4z"/>
|
||||
<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="494.644" y1="540.6563" x2="494.644" y2="70.5313">
|
||||
<stop offset="0" style="stop-color:#D17C56"/>
|
||||
<stop offset="0.4089" style="stop-color:#D0805B"/>
|
||||
<stop offset="1" style="stop-color:#B2E6EA"/>
|
||||
</linearGradient>
|
||||
<path fill="url(#SVGID_1_)" d="M168.3,187c69-71.8,166-116.4,273.4-116.4C651.2,70.5,821,240.3,821,449.8c0,24.3-2.3,48.1-6.7,71.2
|
||||
l-151.9,7.4l-63.2,12.3L181.9,230.2L168.3,187z"/>
|
||||
<polygon fill="#AF7133" points="764.3,649 645.2,607.4 574.6,597.2 578.2,548 625.4,538.5 638.4,538.5 809.4,538.8 809.4,541.5
|
||||
805.7,556.7 798.1,579.7 788,606.2 779.7,620.5 772.9,634.6 "/>
|
||||
<polygon fill="#AF7133" points="62.3,448.3 55.2,332.5 54.7,318.3 56.1,313 58.6,309.7 64.1,307.2 75.7,305.4 78.7,304.8
|
||||
78.4,266.1 78.4,228.5 79.2,215.5 82.6,208.9 88.7,204.3 98,201.8 101.9,201.5 109.9,197.4 127,187 181.9,187.5 202.6,176.4
|
||||
217.8,175.5 248.9,173.6 258.2,173.1 268.8,178.1 275.9,183 283.2,190.4 285.2,203.6 290.3,302.5 287.4,449.8 291.4,561.8
|
||||
297.1,624.2 271.1,629.4 160.1,651.5 125.2,658.6 117.2,646.1 104.9,624.2 92.4,597.5 77.9,557.1 72.1,535 68.7,518.5 65.6,498.2
|
||||
63.5,477.8 62.8,459.5 "/>
|
||||
<polygon fill="#7B3D24" points="764.8,648.5 643.8,607.5 574.8,596.1 294.7,624.7 125.2,658.6 141.7,681.7 154.8,697.7 181.9,726
|
||||
227.5,762.7 261.6,783.5 316.2,807.7 359.8,820.1 382,824.3 412.7,827.9 439.1,829 454.4,829 482.9,826.8 518.3,821.2 543.9,815.1
|
||||
566.1,808.1 595.4,796.5 612.4,788.5 621.6,783.7 649.3,767.2 668.1,754.1 694.8,732.2 712.8,715 734.5,690.8 751.3,668.8 "/>
|
||||
<path fill="#AF7133" d="M305.9,673.9l-53.1,1.8l20.8,73.5l28.7,6l48.7,1.3h83.3l15-3c0,0,36.7-9.5,37.7-9.5
|
||||
c1,0,61.4-15.4,61.4-15.4l76.9-19.2v-19l-24.8-26.3l-49.2-6.9L305.9,673.9z"/>
|
||||
<path fill="#BC9E6C" d="M533.5,231.3l-10.1-4.3h-14.3l-25.7-6h-34.6l-39.4,6h-51.6l-25.7,3.3c-26.8,15.8-41.1,46-52.2,73.8
|
||||
c-8.9,22.4-19.3,45-21.9,69.2c-1.3,11.8-0.2,24.8,2.9,37.2l-2.1,2.1l-1.3,5.4l6.7,22.8l32.7,35.6l67.7,35.5l55.7,12.5l44.9-1.9
|
||||
l23.7-14.7l66.2-31.5l30.4-14.3l16.3-42.7v-12l0.5-0.4c9.5-45.1-4.3-80.4-24.7-118.8c-12.4-23.3-21.6-43.6-45.7-57.9"/>
|
||||
<path fill="#6AD7E5" d="M299.1,463.3c-19.8-66.4,11.8-149.6,89.2-149.4l47.1-1.4h41l-0.1,0.3c77.4-0.2,109,83,89.2,149.3l-12.4,8.4
|
||||
l-26.4,19.6l-10.2,10.4h-15.1l-24.6,11.7l-14.4,6.1l-28.5,2.7l-33.3-0.9l-28.8-11.6L332.2,490l-25.7-19.4L299.1,463.3z"/>
|
||||
<path fill="#F6D2A2" d="M406.2,438.7c4.5-2.6,10.4-5.5,15.7-5.1c5.1,0.4,10.1,1.6,15.2,2.4c4.8,0.8,9.3,0.8,13.9,2.6
|
||||
c4.6,1.8,9,4.9,12.1,8.7c3.6,4.5,1.6,11.4-3.7,14.5c-9.8,5.8-18.4-5.6-28.3-5.5c-9.5,0.1-18.1,9.1-27.3,1.3
|
||||
C397.8,452.6,400.3,442.1,406.2,438.7z"/>
|
||||
<path fill="#FFFFFF" d="M443.5,474.3c4.4-1.2,5.2-6.8,3.9-10.7c-1.6-5-8.2-8.4-13.4-5.9c-4.3,2-2.8,6.4-2.9,11.4
|
||||
C430.9,475.8,438.5,475.6,443.5,474.3z"/>
|
||||
<path fill="#FFFFFF" d="M412.3,461.6c1.7,0.5,3.6,0,5.3-0.6c3.3-1.2,9.3-5.8,11.6-3.9c2.7,2.1,1.5,15.5,0.8,15.9
|
||||
c-3.4,2-8.4,2.9-13.3,1.3c-5.9-1.9-3.6-7-3.5-10.8c0-0.6,0.4-1.1,0.3-1.7"/>
|
||||
<ellipse transform="matrix(0.128 -0.9918 0.9918 0.128 45.5048 835.4331)" fill="#FFFFFF" cx="497.8" cy="391.8" rx="49" ry="49"/>
|
||||
|
||||
<ellipse transform="matrix(0.128 -0.9918 0.9918 0.128 -72.0028 704.4983)" fill="#FFFFFF" cx="364.6" cy="393.2" rx="49" ry="49"/>
|
||||
|
||||
<ellipse transform="matrix(0.128 -0.9918 0.9918 0.128 7.9834 574.7572)" fill="#FFFFFF" cx="330.8" cy="282.8" rx="24.3" ry="24.3"/>
|
||||
<path fill="#726958" d="M294.2,271.6c-5.3-1.7-11.7-13.6-14.2-18.3c-5.1-9.2-8.4-19.4-9-30c-0.3-5.5,0.1-17.7,7.4-19.5
|
||||
c9.1-2.3,14.1,11.7,20.6,15.8c9.3,5.9,21.7,4.5,32,2.4c0,0,0.7,4.5,0.8,4.8c0.1,0.9,0.7,2.3,0.5,3.1c-0.2,1.1-2,1.6-2.9,2.1
|
||||
c-3.2,1.7-6,3.6-8.9,5.8c-1.9,1.5-3.5,3.2-5.2,5c-0.8,0.8-1.6,1.5-2.3,2.4c-0.7,0.9-1.3,1.9-2,2.8c-1.9,2.1-3.2,4.6-4.9,6.8
|
||||
c-1.4,1.7-3,3.5-4,5.5c-1,1.9-2.4,3.7-3.2,5.6c-0.5,1.3-0.7,2.5-1.8,3.5C296,270.3,295,270.9,294.2,271.6z"/>
|
||||
<path fill="#BC9E6C" d="M259.4,518c-6.9,4-17,12.8-21.8,17.6c-2.6,2.6-11.7,10.7-13,14.3c-2.5,6.8,7.5,2.5,8.8,8.6
|
||||
c1.5,6.9-5.1,11,5.3,10.7c5.8-0.2,11.4-2.1,16.7-4c8.7-3.2,20.5-5.3,30.2-10.6l0.2-4l0.2-3.6l-8.3-8.3l-10.3-17.8l-2.7-2.8H259.4z"
|
||||
/>
|
||||
<path fill="none" stroke="#211915" stroke-width="4" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
|
||||
M317.5,664.9c-8.3,6.8-16.6,13.6-20.8,23.6c-5,11.8-0.9,27.8,13.1,28.6c9.8,0.5,27-6.3,35.6-10.5c8.8-4.3,23.5-13.1,31.8-18.9"/>
|
||||
<path fill="#BC9E6C" d="M283.3,259c-6.4,0-28.9,8-30.7,14.9c-3.2,12.2,24.7,15.7,32.6,17.2l8.9-19.5L283.3,259z"/>
|
||||
|
||||
<ellipse transform="matrix(0.9918 -0.128 0.128 0.9918 -31.8144 70.6109)" fill="#FFFFFF" cx="533.5" cy="282.8" rx="24.3" ry="24.3"/>
|
||||
<path fill="#726958" d="M533.5,222.1c10.2,2.1,22.6,3.5,32-2.3c6.5-4.1,11.6-18.1,20.6-15.8c7.2,1.8,7.7,14,7.3,19.6
|
||||
c-0.6,10.5-4,20.7-9,30c-2.6,4.7-9.7,17.1-15,18.7l-10.3-13.7l-11-15.8l-12.1-10.1l-3.6-2.7L533.5,222.1"/>
|
||||
<path fill="#BC9E6C" d="M286,546.9c-2.6,33.1,6.4,70.2,20.1,100.1c6,13.2,15.1,24.5,28.5,30.6c21.6,9.8,46.8,10.5,70.1,11.8
|
||||
c9.1,0.5,21,1.2,29.2,1.4c8.3-0.2,16.6-0.9,25.7-1.4c23.3-1.4,48.5-2,70.1-11.8c13.4-6.1,22.5-17.4,28.5-30.6
|
||||
c13.7-29.9,22.6-67,20.1-100.1l-5.7,3.1l-14.7,3.2l-9.7,2.9l-6.4,17.7l-21.9,20.6l-19.4,3.1l-11.7,1.6l-7.5,7.5l-8.2-8.7l-8.4,8.4
|
||||
L454,609l-28.3-1.8l-12.5,0.4l-18.5-9.1l-8.6,2.1l-16-4.2l-38.1-12.9l-12.2-14.2l-4.4-11.7l-9.6-2.5L286,546.9z"/>
|
||||
<path fill="#BC9E6C" d="M604.9,518.3c6.9,4.3,17,12.7,21.8,17.4c2.6,2.6,11.7,10.6,13,14.2c2.5,6.8-7.5,2.4-8.8,8.5
|
||||
c-1.5,6.9,5.1,11-5.3,10.7c-5.8-0.2-11.4-2.1-16.7-4.1c-8.7-3.2-20.5-5.3-30.2-10.6l-0.5-7.6l8.2-6.1l6.7-7.4l2.5-8.9l3.1-5.8
|
||||
L604.9,518.3"/>
|
||||
<path fill="none" stroke="#211915" stroke-width="4" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
|
||||
M546.8,664.9c8.3,6.8,16.6,13.6,20.8,23.6c5,11.8,0.9,27.8-13.1,28.6c-9.8,0.5-27-6.3-35.6-10.5c-8.8-4.3-23.5-13.1-31.8-18.9"/>
|
||||
<path fill="#BC9E6C" d="M579.2,289.8c7.9-1.5,35.6-3.4,32.4-15.6c-1.8-6.9-24.2-15-30.6-15l-11.6,13L579.2,289.8z"/>
|
||||
<path fill="#493628" d="M294.8,462.1c27.8-1.2,51.6,19.5,64.3,42l-7-10.7c14.2-2.2,32.2,4.7,41.5,16c10.4-3,16.9,0.6,20.6,5.3
|
||||
c10.2-6.8,25.1-3.8,35,0c3.6-5,10.5-8.4,21.4-5.3c9.3-11.4,27.3-18.2,41.5-16l-7,10.7c12.7-22.6,36.5-43.3,64.3-42
|
||||
c18.5-14.8,29.8-30.7,33-54.6l-0.5,3c31.9-6.5,36.9,118.6-6.8,107.6l3.5,0.6c-1.8,22.1-31.5,38.1-51.5,37.4l3.2,0.1
|
||||
c-5.7,28.7-35.4,46.9-59.5,42.9c0,0.6-3.7,8.1-13,7.7c-7.4-0.3-3.8-6.7-7.3-10.7c-0.2,2.7-3.1,10.9-6.7,11.8
|
||||
c-3.7,0.9-3.9,1.4-12.4-0.9c-0.7,11.1-7.6,27.4-16.7,34.5c-8.2-5.6-18-24.8-20.4-34.8c-4.6,3.2-7.8,3.6-12.1,0.1
|
||||
c-2.4-1.9-8.3-8.2-8.5-10.8c-3.5,4,0,10.4-7.3,10.7c-4.5,0.2-9.9-5.7-10-10c-26.2-1.2-56.8-11.9-62.6-40.6l3.2-0.1
|
||||
c-20,0.7-49.7-15.3-51.5-37.4l3.5-0.6c-43.7,11-40-114.1-8.1-107.6c2.3,9.1,5.7,17.9,10.3,25.5
|
||||
C277.3,446.1,285.6,454.7,294.8,462.1z"/>
|
||||
<path fill="#6E5128" d="M432.7,288.4c9.9-0.2,20.7-0.6,29.5,3.5c10.5,4.9,17.9,23.8,13,34.9c-4.8,11-16.3,17-27.5,19.7
|
||||
c-18.9,4.5-49.7,0.8-58.7-19.7c-4.9-11.1,2.5-30,13-34.9C411.1,287.7,422.6,288.1,432.7,288.4"/>
|
||||
<polygon fill="#5B5B5F" points="234.5,539 241.6,543.7 245.8,550.9 248,556.8 248,563.5 247.4,567.7 234.4,568.9 232.8,567.7
|
||||
233.4,558.5 228.7,554.3 224.2,553.9 226.6,546.9 "/>
|
||||
<polygon fill="#5B5B5F" points="621.4,543.9 625.4,540.7 628.9,538.9 633.4,542.6 640.1,549.8 639.6,553.3 635.6,555.1
|
||||
630.8,556.7 630.2,563.4 631.5,567.7 625.6,569.2 616.7,567.7 615,564.5 615,557.5 616.4,550 "/>
|
||||
<polygon fill="#BC9E6C" points="377.2,686.7 365.7,695 342.3,707.7 323.7,715 311.4,716.8 304.9,715.7 299.6,713.1 296,705.7
|
||||
294.7,699.4 295.8,691 297.1,684.3 306,675.5 316.5,665.6 321.4,670.5 330.4,675.5 346.7,681.7 359.8,685.3 "/>
|
||||
<path fill="#BC9E6C" d="M546.8,664.9c8.3,6.8,16.6,13.6,20.8,23.6c5,11.8,0.9,27.8-13.1,28.6c-9.8,0.5-27-6.3-35.6-10.5
|
||||
c-8.8-4.3-23.5-13.1-31.8-18.9l9-1.1l18.4-3.6l17.6-6.6l11.4-8.1L546.8,664.9z"/>
|
||||
<polygon fill="#5B5B5F" points="566.1,686.2 557.7,687.4 548.1,690.5 537.1,697.7 527.8,706.3 526,709.2 533.7,712.4 547.7,716.3
|
||||
555.1,717 561.1,715.3 566.1,711.6 569.7,705.6 569,698.2 567.5,690.1 "/>
|
||||
<polygon fill="#5B5B5F" points="297.1,684.3 307.6,687.3 318.3,692.1 331.2,701.6 339.1,709.5 326.4,713.9 311.4,716.8
|
||||
304.9,715.7 299.6,713.1 294.7,701.6 293.4,695.3 296.2,688.8 "/>
|
||||
<polygon fill="#AF7133" points="722.3,673.7 706.4,665.5 685.4,665.5 680.8,691.3 693.6,691 "/>
|
||||
<polygon fill="#7B3D24" points="618.1,528.1 662.4,497.5 772.4,497.5 787.4,498 813.1,520.5 812.8,528.3 809.4,538.8 727.8,538.6
|
||||
631.4,538.6 "/>
|
||||
<polygon fill="#FFD6AC" points="647.5,608.8 808.1,548.1 806.4,554.1 654.9,611.3 "/>
|
||||
<path fill="none" stroke="#211915" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="M762.5,559v-6.2
|
||||
c0,0-2.6-0.1-2.9-2.1c0,0-0.3-1.7,0.4-2.1c0,0,0.7-0.5,0.7,2c0,0,0.4,0.9,1,0.9l0-6.4c0,0,0.4-1.1,1.3-1.1c0,0,1.4-0.2,1.4,0.9
|
||||
c0,0,0,9.1,0,9.1c0,0.1,0.6-0.5,0.7-0.7c0.2-0.3-0.1-0.8,0-1.2c0-0.6-0.1-2.8,0.4-2.9c0.7-0.2,0.8,1.1,0.9,1.6
|
||||
c0.1,1.2,0.2,2.6-0.7,3.6c-0.1,0.2-1.3,1-1.3,0.9c0,0,0,3.7,0,3.7"/>
|
||||
<path fill="none" stroke="#211915" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="M754.5,626v-6.2
|
||||
c0,0-2.6-0.1-2.9-2.1c0,0-0.3-1.7,0.4-2.1c0,0,0.7-0.5,0.7,2c0,0,0.4,0.9,1,0.9l0-6.4c0,0,0.4-1.1,1.3-1.1c0,0,1.4-0.2,1.4,0.9
|
||||
c0,0,0,9.1,0,9.1c0,0.1,0.6-0.5,0.7-0.7c0.2-0.3-0.1-0.8,0-1.2c0-0.6-0.1-2.8,0.4-2.9c0.7-0.2,0.8,1.1,0.9,1.6
|
||||
c0.1,1.2,0.2,2.6-0.7,3.6c-0.1,0.2-1.3,1-1.3,0.9c0,0,0,3.7,0,3.7"/>
|
||||
<path fill="none" stroke="#211915" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="M676.5,564v-6.2
|
||||
c0,0,2-0.1,2.2-2.1c0,0,0-1.7-0.7-2.1c0,0-0.9-0.5-0.9,2c0,0-0.4,0.9-1,0.9l-0.1-6.4c0,0,0.2-1.1-0.6-1.1c0,0-0.8-0.2-0.8,0.9
|
||||
c0,0,0,9.1,0,9.1c0,0.1-1.3-0.5-1.4-0.7c-0.2-0.3-0.3-0.8-0.3-1.2c0-0.6,0-2.8-0.6-2.9c-0.7-0.2-0.9,1.1-1,1.6
|
||||
c-0.1,1.2,0.5,2.6,1.3,3.6c0.1,0.2,1.9,1,1.9,0.9c0,0,0,3.7,0,3.7"/>
|
||||
<path fill="none" stroke="#211915" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="M593.5,590v-6.2
|
||||
c0,0,2-0.1,2.2-2.1c0,0,0-1.7-0.7-2.1c0,0-0.9-0.5-0.9,2c0,0-0.4,0.9-1,0.9l-0.1-6.4c0,0,0.2-1.1-0.6-1.1c0,0-0.8-0.2-0.8,0.9
|
||||
c0,0,0,9.1,0,9.1c0,0.1-1.3-0.5-1.4-0.7c-0.2-0.3-0.3-0.8-0.3-1.2c0-0.6,0-2.8-0.6-2.9c-0.7-0.2-0.9,1.1-1,1.6
|
||||
c-0.1,1.2,0.5,2.6,1.3,3.6c0.1,0.2,1.9,1,1.9,0.9c0,0,0,3.7,0,3.7"/>
|
||||
<path fill="none" stroke="#211915" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
|
||||
M136.4,187l-0.5-19.8c0,0-7.2-0.3-7.9-6.3c0,0-0.7-5.3,1.6-6.3c0,0,2.4-1.5,2.4,5.9c0,0,1.2,2.6,3,2.6l0.2-19.4
|
||||
c0,0,0.7-3.2,3.2-3.2c0,0,3.6-0.7,3.6,2.7c0,0,0,27.4,0,27.6c0,0.2,2.6-1.6,2.8-2c0.6-1,0.2-2.4,0.2-3.5c0.1-1.8-0.2-8.4,1.4-8.8
|
||||
c2.2-0.6,2.6,3.2,2.7,4.8c0.3,3.5-0.2,8-2.6,10.9c-0.4,0.5-4.7,3.1-4.7,2.7c0,0-0.8,11.9-0.8,11.9"/>
|
||||
<path fill="#ACDD00" d="M762,559v-6.2c0,0-2.4-0.1-2.6-2.1c0,0-0.2-1.7,0.5-2.1c0,0,0.8-0.5,0.8,2c0,0,0.4,0.9,1,0.9l0.1-6.4
|
||||
c0,0,0.2-1.1,1-1.1c0,0,1.2-0.2,1.2,0.9c0,0,0,9.1,0,9.1c0,0.1,0.9-0.5,1-0.7c0.2-0.3,0.1-0.8,0.1-1.2c0-0.6-0.1-2.8,0.5-2.9
|
||||
c0.7-0.2,0.9,1.1,0.9,1.6c0.1,1.2-0.1,2.6-0.9,3.6c-0.1,0.2-1.6,1-1.6,0.9c0,0,0,3.7,0,3.7H762z"/>
|
||||
<path fill="#ACDD00" d="M754,626v-6.2c0,0-2.4-0.1-2.6-2.1c0,0-0.2-1.7,0.5-2.1c0,0,0.8-0.5,0.8,2c0,0,0.4,0.9,1,0.9l0.1-6.4
|
||||
c0,0,0.2-1.1,1-1.1c0,0,1.2-0.2,1.2,0.9c0,0,0,9.1,0,9.1c0,0.1,0.9-0.5,1-0.7c0.2-0.3,0.1-0.8,0.1-1.2c0-0.6-0.1-2.8,0.5-2.9
|
||||
c0.7-0.2,0.9,1.1,0.9,1.6c0.1,1.2-0.1,2.6-0.9,3.6c-0.1,0.2-1.6,1-1.6,0.9c0,0,0,3.7,0,3.7H754z"/>
|
||||
<path fill="#ACDD00" d="M676,564v-6.2c0,0,2.2-0.1,2.4-2.1c0,0,0.1-1.7-0.6-2.1c0,0-0.8-0.5-0.8,2c0,0-0.4,0.9-1,0.9l-0.1-6.4
|
||||
c0,0,0-1.1-0.9-1.1c0,0-1-0.2-1,0.9c0,0,0,9.1,0,9.1c0,0.1-1.1-0.5-1.1-0.7c-0.2-0.3-0.1-0.8-0.2-1.2c0-0.6,0-2.8-0.5-2.9
|
||||
c-0.7-0.2-0.9,1.1-0.9,1.6c-0.1,1.2,0.2,2.6,1,3.6c0.1,0.2,1.7,1,1.7,0.9c0,0,0,3.7,0,3.7H676z"/>
|
||||
<path fill="#ACDD00" d="M593,590v-6.2c0,0,2.2-0.1,2.4-2.1c0,0,0.1-1.7-0.6-2.1c0,0-0.8-0.5-0.8,2c0,0-0.4,0.9-1,0.9l-0.1-6.4
|
||||
c0,0,0-1.1-0.9-1.1c0,0-1-0.2-1,0.9c0,0,0,9.1,0,9.1c0,0.1-1.1-0.5-1.1-0.7c-0.2-0.3-0.1-0.8-0.2-1.2c0-0.6,0-2.8-0.5-2.9
|
||||
c-0.7-0.2-0.9,1.1-0.9,1.6c-0.1,1.2,0.2,2.6,1,3.6c0.1,0.2,1.7,1,1.7,0.9c0,0,0,3.7,0,3.7H593z"/>
|
||||
<path fill="#ACDD00" d="M136.4,187l-0.5-19.8c0,0-7.2-0.3-7.9-6.3c0,0-0.7-5.3,1.6-6.3c0,0,2.4-1.5,2.4,5.9c0,0,1.2,2.6,3,2.6
|
||||
l0.2-19.4c0,0,0.7-3.2,3.2-3.2c0,0,3.6-0.7,3.6,2.7c0,0,0,27.4,0,27.6c0,0.2,2.6-1.6,2.8-2c0.6-1,0.2-2.4,0.2-3.5
|
||||
c0.1-1.8-0.2-8.4,1.4-8.8c2.2-0.6,2.6,3.2,2.7,4.8c0.3,3.5-0.2,8-2.6,10.9c-0.4,0.5-4.7,3.1-4.7,2.7c0,0-0.8,11.9-0.8,11.9
|
||||
L136.4,187z"/>
|
||||
|
||||
<radialGradient id="SVGID_2_" cx="737.6794" cy="406.1918" r="45.3992" gradientTransform="matrix(0.937 -0.3492 0.3492 0.937 -91.5873 282.9574)" gradientUnits="userSpaceOnUse">
|
||||
<stop offset="0" style="stop-color:#C47826"/>
|
||||
<stop offset="0" style="stop-color:#B55314"/>
|
||||
<stop offset="0.8092" style="stop-color:#C98F31"/>
|
||||
</radialGradient>
|
||||
<path fill="url(#SVGID_2_)" d="M700,424.1c-2.6-6.1-4.2-13.1-3.9-20.2c1-25,22.1-44.5,47.2-43.4c25,1,44.5,22.1,43.4,47.2
|
||||
c-0.7,16.4-11.4,32.5-25,39.3L700,424.1z"/>
|
||||
<path fill="#FFFFFF" d="M705,234.9c0-0.2,1-0.4,1.7-0.5c2.6-0.4,5.2-0.4,7.8,0c4.1,0.6,7.9,2.2,11.2,4.8c4.6,3.7,7.4,9.1,9.1,14.7
|
||||
c0,0,17.3-3,19.2,14c6.3,0,15.6-1.2,18.1,6.5c2.2,6.8-1.9,11.1-7,12.9c-2.2,0.8-4.6,1.2-6.7,1.1c-12.3-0.3-24.6-0.2-36.9,0
|
||||
c-21.3-0.2-54.4-0.6-75.7,0c-2.2,0.1-4.5-0.3-6.7-1.1c-5.1-1.9-9.2-6.1-7-12.9c2.5-7.6,11.8-6.5,18.1-6.5c1.9-17,19.5-14,19.5-14
|
||||
C676.9,229.4,705,234.9,705,234.9L705,234.9z"/>
|
||||
<path fill="#FFFFFF" d="M380.7,167.5c-0.7,0-5.5,0-6.3,0c-21.3-0.2-54.4-0.6-75.7,0c-2.2,0.1-4.5-0.3-6.7-1.1
|
||||
c-5.1-1.9-9.2-6.1-7-12.9c2.5-7.6,11.8-6.5,18.1-6.5c1.9-17,19.5-14,19.5-14c7.2-24.6,35.3-19,35.3-19v0c0-0.2,1-0.4,1.7-0.5
|
||||
c2.6-0.4,5.2-0.4,7.8,0c4.1,0.6,7.9,2.2,11.2,4.8c4.6,3.7,7.4,9.1,9.1,14.7c0,0,17.3-3,19.2,14c7.1-3.8,12.9-0.8,16.2,3.4"/>
|
||||
<path fill="#FFFFFF" d="M599.3,332.3c2.3-11.3,15-9.9,15-9.9h0c0-0.1,0.4-0.2,0.8-0.3c1.2-0.3,2.3-0.4,3.5-0.3
|
||||
c1.9,0.1,3.6,0.7,5.2,1.7c2.2,1.5,3.7,3.8,4.6,6.2c0,0,7.6-2,9.1,5.5c2.8-0.2,6.9-1.1,8.3,2.2c1.3,3-0.4,5-2.6,6.1
|
||||
c-0.9,0.4-2,0.7-3,0.8c-5.5,0.3-11,0.9-16.5,1.4c-6,0.5-14.1,1.1-21.6,1.7"/>
|
||||
<path fill="#FFFFFF" d="M661.5,433c-1.9-0.2-3.7-0.4-5.6-0.6c-3.7-0.4-9.4-1.1-13.1-1.4c-0.4,0-0.8-0.1-1.1-0.3
|
||||
c-0.9-0.4-1.5-1.2-1-2.4c0.6-1.3,2.2-0.9,3.3-0.8c0.6-2.9,3.6-2.1,3.6-2.1c1.7-4.1,6.5-2.6,6.5-2.6l0,0c0,0,0.2-0.1,0.3-0.1
|
||||
c0.5,0,0.9,0,1.4,0.2c0.7,0.2,1.3,0.5,1.8,1c0.7,0.7,1.1,1.7,1.3,2.7c0,0,2.2-0.1,2.9,1.7"/>
|
||||
<path fill="#493628" d="M508.6,255.4c0,1.2-0.3,2.8-0.5,4.2c-0.4,2.9-1.4,5.7-2.2,8.5c5.9-6.6,12.4-10.7,16.5-19.3
|
||||
c4.6-9.6,11.1-15.9,11.1-26.7c-0.9-11.9-7-31.3-22.1-31.3c-4.4-9.4-17-17.2-24.2-15.5c-0.9-15.8-22.3-25.7-38.8-21.3l-0.1,0
|
||||
c-8.3-6.8-20.1-8.6-31.2,0c-16.7-4.5-38.2,5.6-38.6,21.7c-6.9-2.6-20.9,5.2-25.5,15c-15.1,0-21.2,19.4-22.1,31.3
|
||||
c0,10.8,6.5,17.1,11.1,26.7c4.1,8.7,10.6,12.8,16.5,19.3c-0.8-2.7-1.8-5.6-2.2-8.5c-0.2-1.4-0.5-3-0.5-4.2l0,0.1
|
||||
c3.2,6.8,3.4,12.8,9.5,17.8c5.4,4.5,12,6.4,17.9,8.8c-1.2-2-2.4-10,0-13.3c1.4,7,20.1,16.5,27.3,15.3c-1.2,0-1.3-8.5-1.3-11.3
|
||||
c6.4,0,16.9,6.7,23.1,10.2c6.2-3.5,16.6-10.3,23.1-10.2c0,2.8-0.1,11.4-1.3,11.3c7.3,1.1,25.9-8.3,27.3-15.3
|
||||
c2.4,3.3,1.2,11.3,0,13.3c5.8-2.4,12.4-4.4,17.9-8.8C505.2,268.3,505.3,262.3,508.6,255.4"/>
|
||||
<polygon fill="#AF7133" points="788,500.5 787.4,498 787.4,473.5 786.9,465.5 783.4,459.5 783.4,451.5 783.4,438.5 786.4,431.5
|
||||
786.4,422.5 783.7,416.9 782.4,410.5 774.4,410.5 774.4,425.5 772.4,430.5 772.4,456.5 766.4,453.1 766.4,446.5 755.4,444.1
|
||||
755.4,405.5 754.8,402.8 752.2,400.2 745.5,398.8 735.8,392.5 711.4,392.5 702.3,387.8 679.4,386.5 676.4,386.5 669.3,390.8
|
||||
665.4,395.5 665.4,407.5 662.3,410.3 661.4,428.3 661.4,497.5 772.4,497.5 "/>
|
||||
<polygon fill="#444242" points="433.2,512 433.1,512.5 431.4,515.4 431,518.2 431.8,521.7 432.8,520.5 433.9,518.2 433.5,516.5
|
||||
433.5,513.3 433.9,512 "/>
|
||||
<polygon fill="#444242" points="437.6,513.2 438.6,515.1 439.1,517.4 438.9,520.6 438.1,522.2 436.4,518.9 437.1,517.5
|
||||
437.4,516.1 437.3,514 "/>
|
||||
<polygon fill="#5B5B5F" points="435.4,520 436.5,522.1 438,525.7 439,530.5 439,532.5 438.4,533.7 437.1,534.8 435.6,535.1
|
||||
433.9,534.7 432.7,533.5 432.2,532 432.9,526.4 433.9,523.5 435,520.9 435.3,520.6 435.1,519.7 433.9,518.3 432.1,522.2
|
||||
430.4,526.7 429.4,531.1 429.6,533.8 430.3,535.4 432.1,536.5 433.9,536.8 436.2,536.8 438.4,536.2 439.8,535.1 440.5,534
|
||||
440.7,532 440.5,529.6 439.4,525.4 436.9,519.3 436.4,518.9 "/>
|
||||
<polygon fill="#5B5B5F" points="433.7,512.9 433.5,514 433.5,516.5 434.6,519.1 435.4,520 436.4,518.9 437.1,517.5 437.4,516.1
|
||||
437.2,513.2 "/>
|
||||
<polygon fill="#726958" points="435.3,520.4 434.1,523.4 433,528.3 433,530.5 433.5,529.7 434.6,529 435.6,528.8 437.3,529.4
|
||||
438.4,530.5 438.1,528.3 437.6,525.3 436.4,522.3 "/>
|
||||
<circle fill="#444242" cx="435.4" cy="532" r="3.2"/>
|
||||
<rect x="432" y="536" fill="#727176" width="8" height="104"/>
|
||||
<path fill="#444242" d="M435,542h-3c0,0,0-5.5,0-5.5c0-0.2,0.9,0.2,0.9,0.2c0.4,0.2,0.7,0.3,1.2,0.4c0.5,0.1,0.7,0.1,0.7,0.6
|
||||
c0,0.7,0.2,1.4,0.2,2.1C435,540.6,435,542,435,542z"/>
|
||||
<rect x="437" y="542" fill="#444242" width="3" height="4"/>
|
||||
<rect x="437" y="550" fill="#444242" width="3" height="4"/>
|
||||
<rect x="432" y="546" fill="#444242" width="3" height="4"/>
|
||||
<rect x="432" y="554" fill="#444242" width="3" height="4"/>
|
||||
<rect x="437" y="558" fill="#444242" width="3" height="4"/>
|
||||
<rect x="437" y="566" fill="#444242" width="3" height="4"/>
|
||||
<rect x="432" y="562" fill="#444242" width="3" height="4"/>
|
||||
<rect x="432" y="570" fill="#444242" width="3" height="4"/>
|
||||
<rect x="437" y="574" fill="#444242" width="3" height="4"/>
|
||||
<rect x="437" y="582" fill="#444242" width="3" height="4"/>
|
||||
<rect x="432" y="578" fill="#444242" width="3" height="4"/>
|
||||
<rect x="432" y="586" fill="#444242" width="3" height="4"/>
|
||||
<rect x="437" y="590" fill="#444242" width="3" height="4"/>
|
||||
<rect x="437" y="598" fill="#444242" width="3" height="4"/>
|
||||
<rect x="432" y="594" fill="#444242" width="3" height="4"/>
|
||||
<rect x="432" y="602" fill="#444242" width="3" height="4"/>
|
||||
<rect x="437" y="606" fill="#444242" width="3" height="4"/>
|
||||
<rect x="437" y="614" fill="#444242" width="3" height="4"/>
|
||||
<rect x="432" y="610" fill="#444242" width="3" height="4"/>
|
||||
<rect x="432" y="618" fill="#444242" width="3" height="4"/>
|
||||
<rect x="437" y="622" fill="#444242" width="3" height="4"/>
|
||||
<rect x="437" y="630" fill="#444242" width="3" height="4"/>
|
||||
<rect x="432" y="626" fill="#444242" width="3" height="4"/>
|
||||
<rect x="432" y="634" fill="#444242" width="3" height="4"/>
|
||||
<path fill="none" d="M569.8,218.1c-0.3-1.4,0.2-2.7,1.3-3.3"/>
|
||||
<path fill="none" d="M197.9,758.5c-1.9,0-3.6-0.4-5.5-0.2"/>
|
||||
<path fill="none" d="M189.4,760c0.1-0.2,0.3-0.3,0.5-0.2"/>
|
||||
<path opacity="0.2" d="M693.3,673.8c0.9,1.1,2.1,2,3,3.1c0.7,0.9,1.2,2.5,2.4,2.8c1.5,0.3,2.7-0.6,4.2,0c1.4,0.6,2.9,1.3,3.9,2.4
|
||||
c-3.9,2.7-7.5,5.6-11.9,7.6c-1.4,0.6-2.5,0.5-3.9,0.8c-2.9,0.5-6.7,2.2-9.5,0.7c-0.1-1,0.2-2.2,0.2-3.3c0-3.2,0.8-6.3,1.6-9.3
|
||||
c0.6-2.3,0.6-4.7,1-7c0.2-1.2,0.6-2.4,0.9-3.6c0.2-0.6,0.1-2,1-2.2c0.9-0.2,2.8,2.4,3.2,3C690.7,670.5,691.9,672.2,693.3,673.8z"/>
|
||||
<path fill="none" stroke="#211915" stroke-width="3" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
|
||||
M154.5,242v54.4c0,0-13.7-3-13.7,25.7c0,0-7.3-3-7.3,12.1V419"/>
|
||||
|
||||
<line fill="none" stroke="#211915" stroke-width="3" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" x1="78.5" y1="461" x2="78.5" y2="555"/>
|
||||
|
||||
<line fill="none" stroke="#211915" stroke-width="3" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" x1="182.5" y1="394" x2="182.5" y2="647"/>
|
||||
<path fill="none" stroke="#211915" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
|
||||
M658.4,520.5"/>
|
||||
<path opacity="0.2" d="M754,626v7.6c0,0-2.6,0.1-2.9,2.1c0,0-0.2,1.7,0.7,2.1c0,0,1,0.5,1-2c0,0,0.5-0.9,1.2-0.9l0.1,6.4
|
||||
c0,0-0.1,1.1,0.9,1.1c0,0,1.1,0.2,1.1-0.9c0,0,0-9.1,0-9.1c0-0.1,1.4,0.5,1.4,0.7c0.2,0.3,0.2,0.8,0.3,1.2c0.1,0.6,0,2.8,0.6,2.9
|
||||
c0.9,0.2,1-1.1,1.1-1.6c0.1-1.2-0.4-2.6-1.3-3.6c-0.2-0.2-2.1-1-2.1-0.9c0,0,0-5.1,0-5.1"/>
|
||||
<path opacity="0.2" d="M673.2,564.3l-1.5,7c0,0-2.3-0.4-3,1.5c0,0-0.4,1.7,0.4,2.2c0,0,0.9,0.7,1.4-1.7c0,0,0.7-0.7,1.4-0.6
|
||||
l-1.3,6.3c0,0-0.6,1,0.4,1.2c0,0,0.7,0.4,1-0.7c0,0,1.9-8.8,2-8.9c0-0.1,1.5,0.9,1.5,1c0.2,0.4,0.2,0.9,0.1,1.2
|
||||
c-0.1,0.6-0.5,2.7,0.1,3c0.8,0.4,1.3-0.8,1.4-1.3c0.3-1.1-0.1-2.7-0.8-3.9c-0.1-0.2-2.1-1.5-2.1-1.4c0,0,1-4.5,1-4.5"/>
|
||||
<path opacity="0.2" d="M590.2,591.3c-0.5,1.2-1,2.3-1.4,3.5c-0.2,0.5-0.4,1-0.6,1.5c-0.1,0.1-0.3,0.4-0.3,0.5
|
||||
c-0.1,0.5,0.7,0.5,1,0.5c0.2,0,0.4-0.2,0.6-0.2c0.3-0.1,0.6-0.1,0.9-0.1c0.3,0,0.7,0.1,1,0.2c0.3,0.1,0.5,0.2,0.8,0.3
|
||||
c0.9,0.1-0.2-0.9-0.4-1.1c-0.1-0.1-1.1-1-1.1-0.9c0.2-0.7,0.6-1.4,0.9-2.1c0.3-0.8,0.9-1.8,1.5-2.4c0.3-0.4-1.7-0.5-1.7-0.5
|
||||
C590.5,590.6,590.5,590.5,590.2,591.3z"/>
|
||||
<path opacity="0.2" d="M762.1,559.2l-1.4,5.2c0,0-2.3-0.6-2.9,0.8c0,0-0.4,1.2,0.4,1.7c0,0,0.9,0.6,1.4-1.1c0,0,0.7-0.5,1.3-0.3
|
||||
l-1.2,4.7c0,0-0.5,0.7,0.4,0.9c0,0,0.7,0.4,0.9-0.4c0,0,1.8-6.5,1.8-6.6c0-0.1,1.5,0.8,1.5,0.9c0.2,0.3,0.2,0.7,0.2,0.9
|
||||
c-0.1,0.5-0.5,2,0.1,2.3c0.8,0.4,1.3-0.5,1.4-0.8c0.3-0.8-0.1-2.1-0.8-3c-0.1-0.2-2.1-1.4-2.1-1.3c0,0,0.9-3.3,0.9-3.3"/>
|
||||
<line fill="none" x1="845" y1="521" x2="846" y2="521"/>
|
||||
<path opacity="0.3" fill="#C47826" d="M599.4,524c6-0.9,16.9,7.9,21.1,11.9c7.3,6.8,5,15,10.4,22.4c0.7-3.5,4.2-3.7,7.4-3.4
|
||||
c1.7-11.1-12.2-19.4-18.5-26.7c-2.3-2.7-3.6-4.8-6.9-6.6c-1.3-0.7-13.7-4.3-14-1c-0.1,1.7-0.3,4.2-0.1,5.4"/>
|
||||
<path opacity="0.3" fill="#C47826" d="M686.7,269.8c2.9-0.4,5-2.5,8.1-2.6c4.2-0.1,8,2.3,12.3,2.6c7,0.5,13.8-3.3,20.7-1.9
|
||||
c3.5,0.7,3.9,2.7,6.4,3.9c2.5,1.2,5.4,0.6,8,1.4c-0.8,5.6-12.6,4.2-15.9,2.8c-2.6-1.1-4.1-3.5-7-3.3c-2.2,0.2-5.5,2.3-8,2.7
|
||||
c-2.9,0.6-6.2,0.9-9.1,1c-6.6,0.3-12.9-2.6-19.5-2.1c-4,0.3-9.8,2.8-11.7-2.7c2.7-0.1,4.9-0.9,7.4-1.4
|
||||
C680.9,269.6,683.8,270.2,686.7,269.8z"/>
|
||||
<path opacity="0.3" fill="#C47826" d="M744.8,255.3c-3.8-1.9-7-1.3-10.7,0.2c1.8,1,3.9,0.7,5.7,1.7c1.3,0.7,2.7,1.6,3.9,2.5
|
||||
c1.3,1,2.4,2.3,3.2,3.7c0.2,0.4,1.9,4.5,1.6,4.5c6.9-1.1,4.8,8.9,0.9,11.3c-5.1,3.1-11.9,2.5-17.8,2.3c-15.1-0.6-30,3.6-45,3
|
||||
c-13.3-0.5-32.7-2-37.4-17.8c-7,3.2-27.2,4.8-14.6,17.4c6.3,6.3,14.1,4.1,22.2,3.9c10.4-0.2,20.9-0.7,31.3,0.1
|
||||
c14.3,1.2,28.8,2,43.1,1.4c7.3-0.3,14.4-1.5,21.5-2c5.6-0.5,13.1,1.3,17.2-3.6c3.4-4.1,2.9-12.8-2.3-15.1c-2.3-1-6.1-0.1-8.8-0.3
|
||||
c-4.4-0.3-4.1-1.1-6.1-4.1C750.7,261.1,748.3,257,744.8,255.3z"/>
|
||||
<path opacity="0.3" fill="#C47826" d="M731.5,246.1c0.4,0.9,1.4,2.3,1,3.2c-6.6-7.7-16.1-9.9-25.9-7.8c-2.8,0.6-3.9,2.8-6.8,2
|
||||
c-4-1.1-7.9-2-12.1-1.6c-5.8,0.5-11.2,3.6-15.2,7.6c1.3-5.8,5.4-8.7,10.1-11.6c2.7-1.7,5.8-2.6,9-2.9c2.5-0.2,5.3-0.6,7.8-0.3
|
||||
c2.4,0.3,4.2,1.3,6.6,0.8c2.5-0.5,5.2-0.7,7.8-0.5c4.9,0.4,10.5,2.4,13.6,6.3C728.6,242.9,730.6,244.4,731.5,246.1z"/>
|
||||
<path opacity="0.3" fill="#C47826" d="M616.2,322.7c2.7,0,5.8,0.2,6.7,3.1c0.5,1.8,0.5,4.3,2,5.8c1.5,1.4,4.9-0.4,5.9,1.7
|
||||
c0.8,1.6-1.9,3.5-3.1,4.3c-1.5,0.9-2.5,0.8-4.1,0.6c0.9,1.3,3.5,1,4,2.2c0.9,2-4.4,2.7-5.5,2.9c-4,0.8-8.2,1.1-11.7,3.3
|
||||
c4.4-0.1,8.7-1,13-1.2c3.1-0.1,6.1,0,9.2-0.1c2.5-0.1,4.7-0.7,7.1-1c2.3-0.4,5.3,0,6.2-2.6c0.6-1.6,0.3-3.5-0.5-4.9
|
||||
c-0.9-1.8-2-1.8-3.9-1.7c-0.9,0-2.3,0.8-3.1,0.5c-1.4-0.5-2.7-3.9-3.8-5c-1.2-1.2-2.8-1.2-4.3-1c-2,0.3-1.7,0.1-2.9-1.7
|
||||
c-1.1-1.6-3.1-4-4.9-4.7c-2.1-0.9-5.6-1.7-7.4,0c0.8,0,1.7-0.4,2.5-0.1"/>
|
||||
<path opacity="0.3" fill="#C47826" d="M357.5,115.2c7.3-0.6,13,3.6,18,8.3c5.3,5,3.4,9,3.2,15.5c5.2,0.2,16.1,2.7,10,10.1
|
||||
c-4.6,5.5-11.1,3.2-16.4,1.1c4.7,3.1-4.7,7.9-7.2,9c-5.6,2.4-12.2,2.8-18.1,3.5c-5.7,0.7-11.7-0.5-17.4-1.1
|
||||
c-5.8-0.6-11-0.7-16.3-3.5c-2.7-1.5-6.1-2.8-7.9-5.4c-1.1-1.6-0.8-4.2-2.4-5.2c-2.4-1.6-8.7-1-11.5-0.2c-3.5,1-7.1,3.5-7.6,7.3
|
||||
c-2.4,17.9,26.2,11.1,35.2,12.2c14.2,1.8,28.9-0.3,43.1,0.3c4.1,0.2,10.9,1.1,14.7,0.3c4-0.9,5.4-6.8,9.2-8.9
|
||||
c9.9-5.5,22.3-4.2,33.1-6.1c6.2-1.1,1.6-5.9-2.4-6.8c-1.9-0.4-4-0.7-6-0.2c-5.8,1.5-2.8-1.2-6-5.1c-2.2-2.6-6.5-7.4-10.2-7.7
|
||||
c-2.6-0.2-5,1.6-7.2-0.3c-2.3-1.9-2.2-6.2-3.9-8.6c-1.7-2.4-4.5-5.7-6.8-7.6c-6.3-5.3-13.6-2.1-20.6-0.8c-0.1,0.4,0.2,0.4,0.2,0.8"
|
||||
/>
|
||||
<path opacity="0.3" fill="#C47826" d="M658.7,426.7c-0.4-0.1-1.3-2.1-1.6-2.5c-1-1.2-1.9-1.7-3.5-1.3c0.9,0.5,2.5,0.8,2.7,2.1
|
||||
c0.2,1.6-1.2,1.7-2.4,2c2.2,1.4-3.4,2-4,2.1c-1.5,0.2-3.8-1.4-3.8-3.2c-1,0.1-1.2,0.8-2,1.2c-0.8,0.4-1.8,0.1-2.6,0.5
|
||||
c-1.8,0.8-0.5,2.6,0.8,3.4c1.3,0.7,3,0.3,4.4,0.3c2,0,4,0.1,6,0.4c1.4,0.2,2.6,0.7,4.1,0.8c1.6,0.1,3.1,0.2,4.6,0.4
|
||||
C662.2,430.2,661.9,427.1,658.7,426.7z"/>
|
||||
<path fill="none" stroke="#211915" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
|
||||
M291.8,561.5c1.1,0,0.4,3.1,1.3,5.3"/>
|
||||
<path fill="none" stroke="#211915" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
|
||||
M293.8,573.5c1.2,0.7,1.6,1.9,1.3,3.3"/>
|
||||
|
||||
<line fill="none" stroke="#211915" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" x1="298" y1="566" x2="298" y2="570"/>
|
||||
<path fill="none" stroke="#211915" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
|
||||
M571.8,562.1c0.1,3.2-0.4,6.2-0.7,9.3"/>
|
||||
|
||||
<line fill="none" stroke="#211915" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" x1="566" y1="559" x2="566" y2="562"/>
|
||||
<path fill="none" stroke="#211915" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
|
||||
M565.1,572.8c-0.1,1.8-0.3,3.6-0.7,5.3"/>
|
||||
<path fill="none" stroke="#211915" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
|
||||
M510.4,694.1c3.1,2.4,7.4,2.4,10.7,4.7"/>
|
||||
<path fill="none" stroke="#211915" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
|
||||
M517.1,691.5c-0.1,0.5,0.2,0.7,0.7,0.7"/>
|
||||
<path fill="none" stroke="#211915" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
|
||||
M521.1,693.5c0.6,0.5,1.2,0.7,2,0.7"/>
|
||||
<path fill="none" stroke="#211915" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
|
||||
M351.8,690.1c-0.6,1.3-1.9,2.3-3.3,2.7"/>
|
||||
<path fill="none" stroke="#211915" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
|
||||
M357.8,693.5c-3.2,1.7-6.7,3.2-10,4.7"/>
|
||||
|
||||
<line fill="none" stroke="#211915" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" x1="340" y1="696" x2="342" y2="696"/>
|
||||
<path fill="none" stroke="#211915" stroke-width="4" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
|
||||
M304.4,713.5c2.8-6,7.2-18.7,14.7-20"/>
|
||||
<path fill="none" stroke="#211915" stroke-width="4" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
|
||||
M559.8,713.5c-1.7-7.4-6.1-17-12.7-21.3"/>
|
||||
<path fill="none" stroke="#211915" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
|
||||
M488,585.1c10.1,1.2,17.1-2.9,21.3-11.7c13.8,0.8,17.7-6.1,22.2-18.3"/>
|
||||
<path fill="none" stroke="#211915" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
|
||||
M348.5,571.6c1.9,5.1,7.5,7.8,13.5,7.5"/>
|
||||
<path fill="none" stroke="#211915" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
|
||||
M509,190.6c-5-3.7-12.8-1.7-13.8,5.8c-5.1-2.3-11.2-4.8-16.2,0.2"/>
|
||||
<path fill="none" stroke="#211915" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
|
||||
M353,190.6c3.7-1.6,7.8-2,11.7-1.2c3.7,11.3,19.6-11.8,24.3,2.7"/>
|
||||
<path fill="none" stroke="#211915" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
|
||||
M414.5,180.1c0-1.3,2.7-4,7.5-4.2c7.3-0.2,6.7,4.6,10.8,5.4c7.7,1.6,17.6-5.6,23.7,3.2"/>
|
||||
<path fill="none" stroke="#211915" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
|
||||
M485,244.6c6.1-2.2,10.3-5.5,17.7-4.8c0.2-0.8,0.3-1.7,0.5-2.5c7.2,1,9.8-4.9,10.2-10.8"/>
|
||||
<path fill="none" stroke="#211915" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
|
||||
M345.5,219.1c0.1,8.3,9.8,16.6,17.7,12.1c-1.7,11.8,9.6,12.2,18.3,11.8"/>
|
||||
<path fill="none" stroke="#211915" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
|
||||
M401,228.1c12.7,10,28,18.1,44.7,9.2c4.3,10.1,22.6,3.4,25.8-4.7"/>
|
||||
<path fill="none" stroke="#211915" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
|
||||
M413,210.1c5.5-2.3,11.8-1.5,18-1.5"/>
|
||||
<path fill="none" stroke="#211915" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
|
||||
M487.9,175.8c-2.7-0.3-3,1.7-4.7,3c-1.5,1.2-4.6,0.2-5.4,1.2"/>
|
||||
<path fill="none" stroke="#211915" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
|
||||
M447.8,155.6c-2.7-0.5-2.5,3-2.5,4.7"/>
|
||||
<path fill="none" stroke="#211915" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
|
||||
M380,174.1c1.8,1.3,10.1,0.1,12.3,5.7c2.2,0.3,5,0.6,7.2,0.3"/>
|
||||
<path fill="none" stroke="#211915" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
|
||||
M571.4,261.4c1.8-1.5,4.9-4.2,5.7-6.6"/>
|
||||
<path fill="none" stroke="#211915" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
|
||||
M579.7,250.3c1.1-1.3,2-3.1,2-4.7"/>
|
||||
<path fill="none" stroke="#211915" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
|
||||
M571.1,254.6c1.1-0.4,2.7-1.5,3.2-2.5"/>
|
||||
<path fill="none" stroke="#211915" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
|
||||
M543.1,228.1c0.6,0.2,1.3,0.3,2,0.2"/>
|
||||
<path fill="none" stroke="#211915" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
|
||||
M581.1,210c1.1-0.5,2.6-0.7,3.8-0.2"/>
|
||||
<path fill="none" stroke="#211915" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
|
||||
M286.9,253.5c1.9,2.6,4.3,6.2,7,8"/>
|
||||
<path fill="none" stroke="#211915" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
|
||||
M288.9,248.5c0.4,0.8,1.2,1.5,2,2"/>
|
||||
<path fill="none" stroke="#211915" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
|
||||
M294.4,256c0.8,0.2,1.7,0.3,2.5,0.5"/>
|
||||
<path fill="none" stroke="#211915" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
|
||||
M278.4,210.5c-2.2,0.8-2.8,4.2-2.5,6.5"/>
|
||||
<path fill="none" stroke="#211915" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
|
||||
M311.9,229.5c1.2,0.7,3.2,0.5,5,0.5"/>
|
||||
|
||||
<line fill="none" stroke="#211915" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" x1="322" y1="228" x2="324" y2="228"/>
|
||||
|
||||
<line fill="none" stroke="#211915" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" x1="316" y1="233" x2="317" y2="233"/>
|
||||
<path fill="none" d="M575.8,449.5c0,0,2.9-2,3.6-3"/>
|
||||
<path fill="none" stroke="#211915" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
|
||||
M569.2,464.5c-0.8,1.1-1.4,2.2-1.8,3.6"/>
|
||||
<path fill="none" stroke="#211915" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
|
||||
M617.2,457.3c3.7,18.6-2.9,38.5-15.6,52.2"/>
|
||||
<path fill="none" stroke="#211915" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
|
||||
M575.4,447.8c1.3-2.5,3.4-4.4,4.6-6.9"/>
|
||||
<path fill="none" stroke="#211915" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
|
||||
M584.6,435.7c1.8-2.1,3-4.8,3.5-7.5"/>
|
||||
<path fill="none" stroke="#211915" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
|
||||
M577.7,435.7c0.7-0.8,1.3-1.8,1.7-2.9"/>
|
||||
<path fill="none" stroke="#211915" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
|
||||
M533.4,241.8c0,0.2,1,1.2,2.3,1.7"/>
|
||||
<path fill="none" stroke="#211915" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
|
||||
M532.2,248.1c0.2,0.4,0.4,0.7,0.6,1.2"/>
|
||||
<path fill="none" stroke="#211915" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
|
||||
M539.7,246.4c2.7,0.4,5.2,2.3,7.5,4"/>
|
||||
<path fill="none" stroke="#211915" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
|
||||
M325.1,240.7c-1.7,0.8-3.5,1.7-4,3.5"/>
|
||||
<path fill="none" stroke="#211915" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
|
||||
M323.4,247.6c1.2-0.9,2.6-1.6,4-1.7"/>
|
||||
<path fill="none" stroke="#211915" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
|
||||
M314.7,253.3c0.3-0.7,0.9-1.1,1.7-1.2"/>
|
||||
<path fill="none" stroke="#211915" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
|
||||
M425.8,342.5c2,0.9,5.8,0.9,7.5,0"/>
|
||||
<path fill="none" stroke="#211915" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
|
||||
M438.4,341.9c1.6,0.2,3.1,0,4.6-0.6"/>
|
||||
|
||||
<line fill="none" stroke="#211915" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" x1="432" y1="336" x2="436" y2="336"/>
|
||||
<path fill="none" stroke="#211915" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
|
||||
M276.2,430.5c0.1,2.5,2,4.9,3.5,6.3"/>
|
||||
<path fill="none" stroke="#211915" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
|
||||
M283.1,442.6c0.3,1.5,1.3,2.8,2.9,3.5"/>
|
||||
<path fill="none" stroke="#211915" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
|
||||
M282.5,434c0,0.8,0.4,1.5,1.2,1.7"/>
|
||||
|
||||
<line fill="none" stroke="#211915" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" x1="276" y1="264" x2="277" y2="264"/>
|
||||
|
||||
<line fill="none" stroke="#211915" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" x1="280" y1="264" x2="281" y2="264"/>
|
||||
|
||||
<line fill="none" stroke="#211915" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" x1="278" y1="269" x2="280" y2="269"/>
|
||||
<path fill="none" stroke="#211915" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
|
||||
M581.1,264.8c1,0.1,2-0.1,2.9-0.6"/>
|
||||
|
||||
<line fill="none" stroke="#211915" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" x1="579" y1="270" x2="581" y2="270"/>
|
||||
|
||||
<line fill="none" stroke="#211915" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" x1="588" y1="268" x2="589" y2="268"/>
|
||||
<path fill="none" stroke="#211915" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
|
||||
M604.5,522.3c0.5,0.2,1,0.7,1.3,1.1"/>
|
||||
<path fill="none" stroke="#211915" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
|
||||
M608.4,525.6c0.5,0.5,1.1,0.9,1.6,1.3"/>
|
||||
<path fill="none" stroke="#211915" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
|
||||
M604.8,525.4c0.5,0.1,0.9,0.4,1.3,0.7"/>
|
||||
<path fill="none" stroke="#211915" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
|
||||
M618.7,560.8c0.5,0.2,1,0.3,1.5,0.5"/>
|
||||
|
||||
<line fill="none" stroke="#211915" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" x1="623" y1="562" x2="625" y2="562"/>
|
||||
<path fill="none" stroke="#211915" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
|
||||
M630.1,545.9c1.2,0.7,2.3,2.1,3,3"/>
|
||||
<path fill="none" stroke="#211915" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
|
||||
M228.5,549.8c0.7-0.8,1.8-1.6,3-2"/>
|
||||
|
||||
<line fill="none" stroke="#211915" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" x1="238" y1="565" x2="240" y2="565"/>
|
||||
<path fill="none" stroke="#211915" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
|
||||
M241.9,565.2c-0.4-0.4,0.3-0.5,1-0.5"/>
|
||||
|
||||
<line fill="none" stroke="#211915" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" x1="239" y1="562" x2="241" y2="562"/>
|
||||
<path fill="none" stroke="#211915" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
|
||||
M322.4,660.5c2.9,6.9,11.8,11.9,19,13"/>
|
||||
<path fill="none" stroke="#211915" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
|
||||
M330.4,660.5c0.5,0.7,1.2,1,2,1"/>
|
||||
|
||||
<line fill="none" stroke="#211915" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" x1="338" y1="665" x2="341" y2="665"/>
|
||||
<path fill="none" stroke="#211915" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
|
||||
M415.4,680.5c8.2,0,21.6-2.4,28,1"/>
|
||||
<path fill="none" stroke="#211915" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
|
||||
M514.4,673.5c4.8,0.7,8.8-2.2,13-4"/>
|
||||
<path fill="none" stroke="#211915" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
|
||||
M535.4,665.5c1.3-0.8,2.6-1.4,4-2"/>
|
||||
<path fill="none" stroke="#211915" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
|
||||
M526.4,661.5c1.9-0.1,3.3-0.4,5-1"/>
|
||||
|
||||
<circle fill="none" stroke="#211915" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" cx="435.4" cy="532" r="3.2"/>
|
||||
<path fill="none" stroke="#211915" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="M435.4,520.2
|
||||
c0,0,3.2,4.8,3.2,11.4"/>
|
||||
<path fill="none" stroke="#211915" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="M435.4,520.2
|
||||
c0,0-3.2,4.9-3.2,11.5"/>
|
||||
<path fill="none" stroke="#211915" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="M436.6,518.5
|
||||
c0.2,0.4,0.7,1.8,1.1,2.8c0.4,1.1,0.9,2.2,1.3,3.3c1,2.8,2.2,6.2,1.4,9.2c-0.5,1.9-2.1,2.7-3.9,2.9c-2.1,0.3-5.2,0.2-6.4-1.8
|
||||
c-0.9-1.5-0.8-3.5-0.5-5.2c0.3-1.7,0.8-3.4,1.4-5.1c0.4-1.1,0.9-2.2,1.3-3.3c0.5-1.1,1-2.2,1.5-3.3"/>
|
||||
<path fill="none" stroke="#211915" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="M433.2,512.6
|
||||
c0,0-4.1,4-1.2,9.7"/>
|
||||
<path fill="none" stroke="#211915" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="M437,512.6
|
||||
c0,0,4,4.1,1.1,9.7"/>
|
||||
<path fill="none" stroke="#211915" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="M433.9,512.9
|
||||
c0,0-1.7,3.9,1.6,7.3"/>
|
||||
<path fill="none" stroke="#211915" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="M437,512.9
|
||||
c0,0,1.7,3.9-1.6,7.3"/>
|
||||
|
||||
<line fill="none" stroke="#211915" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" x1="431.2" y1="536" x2="430.9" y2="639.5"/>
|
||||
|
||||
<line fill="none" stroke="#211915" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" x1="439.2" y1="535.7" x2="439.4" y2="639.5"/>
|
||||
<path fill="none" stroke="#211915" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
|
||||
M479,529.6c7.3-11.8,17.8-9.6,29.8-12.2c1.1-12.7,13.7-21.7,25.4-16.4c2.1-8.8,10.1-13.9,18.3-10.3"/>
|
||||
<path fill="none" stroke="#211915" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
|
||||
M273.5,483.1c6.6-1.4,18.7-5.7,25.6-3c8.5,3.4,7.8,11.6,15,15.1c4.5,2.3,13.1-2,19.8,2.5c7.2,4.8,11.4,10.9,11.9,19.6
|
||||
c13.4,0.2,34.9-0.2,37.2,16.7"/>
|
||||
<path fill="none" stroke="#211915" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
|
||||
M285.5,525.1c7.6,8.7,22.4,21.2,36,11.9c6.4,6.5,14.9,10.2,24,10.6"/>
|
||||
<path fill="none" stroke="#211915" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
|
||||
M398.4,549.5c0.3,8.1-2,12.8,5.8,16.5c-3.8,10.5,3.8,15.5,14.2,15.5"/>
|
||||
<path fill="none" stroke="#211915" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
|
||||
M476.4,545.5c2,11.4-4.8,19.2-16.3,20.1c10.5,3.5,9.7,16.9-2.9,22.4c5.8,8.1,1.6,10.7-2.8,17.5"/>
|
||||
<path fill="none" stroke="#211915" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
|
||||
M245,472.6c-3.3-5.5-2.3-12.2,4.2-15.3c-2.7-6.3-1-10.2,3.3-14.7"/>
|
||||
<path fill="none" stroke="#211915" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
|
||||
M542.4,531.5c11.1,1.5,30.3-8.1,30-24"/>
|
||||
<path fill="none" stroke="#211915" stroke-width="3" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
|
||||
M285.5,205v-5.4c0-17.4-27-26.5-27-26.5l-55.8,3.1l-20.4,10.3H127l-23.9,14.8c-23.5,0-24.2,15.5-24.2,15.5s0,87.9,0,87.9
|
||||
c-11.3,2.5-23.2,0.2-24.1,13.6c-0.2,3.5,0.2,7.2,0.3,10.8c0.5,11.6,1.4,23.1,2.1,34.7c1.7,27.6,3.4,55.2,5.1,82.8
|
||||
c0.1,1.1,0.4,1.9,0.5,3"/>
|
||||
<path fill="none" stroke="#211915" stroke-width="3" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
|
||||
M230.5,174v31.6c0,0-21,0-21,5.3c0,5.3,0,28.8,0,28.8V398"/>
|
||||
|
||||
<line fill="none" stroke="#211915" stroke-width="3" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" x1="182.5" y1="187" x2="182.5" y2="334"/>
|
||||
<path fill="none" stroke="#211915" stroke-width="3" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
|
||||
M154.5,242v54.4c0,0-13.7-3-13.7,25.7c0,0-7.3-3-7.3,12.1V419"/>
|
||||
|
||||
<polyline fill="none" stroke="#211915" stroke-width="3" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" points="
|
||||
102.5,201 102.5,276 98.3,282.9 100.4,330.5 "/>
|
||||
|
||||
<line fill="none" stroke="#211915" stroke-width="3" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" x1="78.5" y1="461" x2="78.5" y2="555"/>
|
||||
|
||||
<line fill="none" stroke="#211915" stroke-width="3" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" x1="111.5" y1="406" x2="111.5" y2="423"/>
|
||||
|
||||
<line fill="none" stroke="#211915" stroke-width="3" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" x1="249.5" y1="215" x2="249.5" y2="342"/>
|
||||
|
||||
<line fill="none" stroke="#211915" stroke-width="3" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" x1="182.5" y1="394" x2="182.5" y2="647"/>
|
||||
<path fill="none" stroke="#211915" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
|
||||
M618.4,528.1l44.6-31.6v-86.2l3-2.8v-9.7c0-7.7,11.9-11.7,11.9-11.7l24.6,1.4l9,4.5h24.3l10,6.5c10.3,0,10.2,6.9,10.2,6.9v38.7
|
||||
l11,2.3v6.7l6,3.3v-26l2-5V410h7.4l1.5,6.7l3,5.8v9l-3,7v21l4,7v32.7l25.1,20.9H659"/>
|
||||
|
||||
<polyline fill="none" stroke="#211915" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" points="
|
||||
665.8,407.1 679,417.8 679,453 "/>
|
||||
<path fill="none" stroke="#211915" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
|
||||
M681.1,386.6l0.8,13.7c0,0,9.1,0.1,9.1,2.5c0,2.3,0,12.7,0,12.7v9.5"/>
|
||||
|
||||
<line fill="none" stroke="#211915" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" x1="711" y1="392" x2="711" y2="457"/>
|
||||
<path fill="none" stroke="#211915" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
|
||||
M723,416v24.5c0,0,6.4-1.3,6.4,11.3c0,0,3.6-1.3,3.6,5.3V494"/>
|
||||
|
||||
<polyline fill="none" stroke="#211915" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" points="
|
||||
746,398 746,431.5 748.1,434.5 747.1,455.2 "/>
|
||||
|
||||
<polyline fill="none" stroke="#211915" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" points="
|
||||
772.8,456.4 777,462 777,483 "/>
|
||||
|
||||
<line fill="none" stroke="#211915" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" x1="766" y1="480" x2="766" y2="494"/>
|
||||
|
||||
<line fill="none" stroke="#211915" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" x1="757" y1="453" x2="757" y2="494"/>
|
||||
|
||||
<line fill="none" stroke="#211915" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" x1="742" y1="488" x2="742" y2="496"/>
|
||||
|
||||
<line fill="none" stroke="#211915" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" x1="670" y1="467" x2="670" y2="496"/>
|
||||
|
||||
<line fill="none" stroke="#211915" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" x1="691" y1="442" x2="691" y2="496"/>
|
||||
|
||||
<line fill="none" stroke="#211915" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" x1="711" y1="483" x2="711" y2="496"/>
|
||||
|
||||
<line fill="none" stroke="#211915" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" x1="663" y1="497" x2="773" y2="497"/>
|
||||
<path fill="none" stroke="#211915" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
|
||||
M628.8,538.8c0.6-0.6,180.6,0,180.6,0"/>
|
||||
|
||||
<polyline fill="none" stroke="#211915" stroke-width="3" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" points="
|
||||
553.4,658.4 602.3,664.8 627.5,690 627.5,709 "/>
|
||||
|
||||
<polyline fill="none" stroke="#211915" stroke-width="3" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" points="
|
||||
273.7,749.1 252.9,675.5 307.6,673.3 "/>
|
||||
<path fill="none" stroke="#211915" stroke-width="3" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
|
||||
M253.3,675.5c3.2,0,50.2,54.6,50.2,54.6v24.4l-29.4-5.4"/>
|
||||
|
||||
<polyline fill="none" stroke="#211915" stroke-width="3" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" points="
|
||||
303,754.5 441.4,754.5 627.2,709 "/>
|
||||
|
||||
<polyline fill="none" stroke="#211915" stroke-width="3" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" points="
|
||||
395.3,717.7 344.9,723.9 302.9,730.1 "/>
|
||||
|
||||
<polyline fill="none" stroke="#211915" stroke-width="3" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" points="
|
||||
543.9,729.8 412.7,730 399.5,716.8 395.3,717.7 "/>
|
||||
|
||||
<line fill="none" stroke="#211915" stroke-width="3" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" x1="399.5" y1="716.8" x2="390.1" y2="755"/>
|
||||
|
||||
<line fill="none" stroke="#211915" stroke-width="3" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" x1="412.7" y1="730" x2="412.4" y2="755"/>
|
||||
|
||||
<polyline fill="none" stroke="#211915" stroke-width="4" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" points="
|
||||
764.8,648.5 641.7,606.8 574.8,596.1 "/>
|
||||
|
||||
<line fill="none" stroke="#211915" stroke-width="4" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" x1="297.1" y1="624.2" x2="125.2" y2="658.6"/>
|
||||
<path fill="none" stroke="#211915" stroke-width="3" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
|
||||
M705.5,234.9c0-0.2,0.7-0.4,1.4-0.5c2.6-0.4,5.1-0.4,7.7,0c4.1,0.6,7.9,2.2,11.1,4.8c4.6,3.7,7.4,9.1,9,14.7c0,0,17.3-3,19.2,14
|
||||
c6.3,0,15.6-1.2,18.1,6.5c2.2,6.8-1.9,11.1-7,12.9c-2.2,0.8-4.6,1.2-6.7,1.1c-12.3-0.3-24.6-0.2-36.9,0c-21.3-0.2-54.4-0.6-75.7,0
|
||||
c-2.2,0.1-4.5-0.3-6.7-1.1c-5.1-1.9-9.2-6.1-7-12.9c2.5-7.6,11.8-6.5,18.1-6.5c1.9-17,19.8-14,19.8-14
|
||||
C677.1,229.4,705.5,234.9,705.5,234.9L705.5,234.9z"/>
|
||||
<path fill="none" stroke="#211915" stroke-width="3" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
|
||||
M670.4,271.7c3.4,2.3,6.9,4.2,11.3,3.5c1.6-0.3,3.2-1.9,4.7-2.1c1.4-0.1,0.8,0.1,2,0.5c1.9,0.6,3.6,2.2,5.7,2.8
|
||||
c2.9,0.8,6.2,1,9.2,0.8c4.7-0.4,12.7-1.7,16.1-4.9c2.9,1.9,4.8,4.5,8.6,5.2c5.1,1,10.8-1.1,15.1-2.5"/>
|
||||
<path fill="none" stroke="#211915" stroke-width="3" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
|
||||
M380.7,167.5c-0.7,0-5.5,0-6.3,0c-21.3-0.2-54.4-0.6-75.7,0c-2.2,0.1-4.5-0.3-6.7-1.1c-5.1-1.9-9.2-6.1-7-12.9
|
||||
c2.5-7.6,11.8-6.5,18.1-6.5c1.9-17,19.8-14,19.8-14c7.2-24.6,35.6-19,35.6-19v0c0-0.2,0.7-0.4,1.4-0.5c2.6-0.4,5.1-0.4,7.7,0
|
||||
c4.1,0.6,7.9,2.2,11.1,4.8c4.6,3.7,7.4,9.1,9,14.7c0,0,17.3-3,19.2,14c7.1-3.8,12.9-0.8,16.2,3.4"/>
|
||||
<path fill="none" stroke="#211915" stroke-width="3" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
|
||||
M323.4,150.7c3.4,2.3,6.9,4.2,11.3,3.5c1.6-0.3,3.2-1.9,4.7-2.1c1.4-0.1,0.8,0.1,2,0.5c1.9,0.6,3.6,2.2,5.7,2.8
|
||||
c2.9,0.8,6.2,1,9.2,0.8c4.7-0.4,12.7-1.7,16.1-4.9c2.9,1.9,4.8,4.5,8.6,5.2c2.5,0.5,8.7,0.9,11.2,0.4"/>
|
||||
<path fill="none" stroke="#211915" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
|
||||
M599.3,332.3c2.3-11.3,15-9.9,15-9.9h0c0-0.1,0.4-0.2,0.8-0.3c1.2-0.3,2.3-0.4,3.5-0.3c1.9,0.1,3.6,0.7,5.2,1.7
|
||||
c2.2,1.5,3.7,3.8,4.6,6.2c0,0,7.6-2,9.1,5.5c2.8-0.2,6.9-1.1,8.3,2.2c1.3,3-0.4,5-2.6,6.1c-0.9,0.4-2,0.7-3,0.8
|
||||
c-5.5,0.3-11,0.9-16.5,1.4c-6,0.5-14.1,1.1-21.6,1.7"/>
|
||||
|
||||
<path fill="none" stroke="#211915" stroke-width="1.3466" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
|
||||
M601.3,340.2c1.6,0.9,3.2,1.6,5.2,1.1c0.7-0.2,1.4-1,2-1.1c0.6-0.1,0.4,0,0.9,0.1c0.9,0.2,1.7,0.8,2.7,1c1.4,0.3,2.8,0.2,4.1,0
|
||||
c2.1-0.3,5.6-1.3,7-2.8c1.4,0.7,2.3,1.8,4.1,2c2.3,0.2,4.8-0.9,6.6-1.7"/>
|
||||
<path fill="none" stroke="#211915" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="M661.5,433
|
||||
c-1.9-0.2-3.7-0.4-5.6-0.6c-3.7-0.4-9.4-1.1-13.1-1.4c-0.4,0-0.8-0.1-1.1-0.3c-0.9-0.4-1.5-1.2-1-2.4c0.6-1.3,2.2-0.9,3.3-0.8
|
||||
c0.6-2.9,3.6-2.1,3.6-2.1c1.7-4.1,6.5-2.6,6.5-2.6l0,0c0,0,0.2-0.1,0.3-0.1c0.5,0,0.9,0,1.4,0.2c0.7,0.2,1.3,0.5,1.8,1
|
||||
c0.7,0.7,1.1,1.7,1.3,2.7c0,0,2.2-0.1,2.9,1.7"/>
|
||||
<path fill="none" stroke="#211915" stroke-width="0.5" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
|
||||
M647.4,428.5c0.5,0.5,1.1,0.9,1.9,0.8c0.3,0,0.6-0.3,0.9-0.3c0.2,0,0.1,0,0.3,0.1c0.3,0.1,0.6,0.4,0.9,0.6c0.5,0.2,1,0.3,1.6,0.3
|
||||
c0.8,0,2.2-0.1,2.9-0.6c0.5,0.4,0.8,0.9,1.4,1.1c0.9,0.3,1.9,0,2.7-0.2"/>
|
||||
<path fill="none" stroke="#211915" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="M762.5,559v-6.2
|
||||
c0,0-2.6-0.1-2.9-2.1c0,0-0.3-1.7,0.4-2.1c0,0,0.7-0.5,0.7,2c0,0,0.4,0.9,1,0.9l0-6.4c0,0,0.4-1.1,1.3-1.1c0,0,1.4-0.2,1.4,0.9
|
||||
c0,0,0,9.1,0,9.1c0,0.1,0.6-0.5,0.7-0.7c0.2-0.3-0.1-0.8,0-1.2c0-0.6-0.1-2.8,0.4-2.9c0.7-0.2,0.8,1.1,0.9,1.6
|
||||
c0.1,1.2,0.2,2.6-0.7,3.6c-0.1,0.2-1.3,1-1.3,0.9c0,0,0,3.7,0,3.7"/>
|
||||
|
||||
<path fill="none" stroke="#211915" stroke-width="0.7513" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
|
||||
M759.1,559.8c0.6,0,1.4,0.2,1.9,0.1c0.5-0.1,0.8-0.4,1.4-0.4c1.5,0.1,3.1,0.2,4.6,0.3c0.8,0.1,1.9-0.1,2.7,0"/>
|
||||
<path fill="none" stroke="#211915" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="M754.5,626v-6.2
|
||||
c0,0-2.6-0.1-2.9-2.1c0,0-0.3-1.7,0.4-2.1c0,0,0.7-0.5,0.7,2c0,0,0.4,0.9,1,0.9l0-6.4c0,0,0.4-1.1,1.3-1.1c0,0,1.4-0.2,1.4,0.9
|
||||
c0,0,0,9.1,0,9.1c0,0.1,0.6-0.5,0.7-0.7c0.2-0.3-0.1-0.8,0-1.2c0-0.6-0.1-2.8,0.4-2.9c0.7-0.2,0.8,1.1,0.9,1.6
|
||||
c0.1,1.2,0.2,2.6-0.7,3.6c-0.1,0.2-1.3,1-1.3,0.9c0,0,0,3.7,0,3.7"/>
|
||||
|
||||
<path fill="none" stroke="#211915" stroke-width="0.7513" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
|
||||
M751.1,626.8c0.6,0,1.4,0.2,1.9,0.1c0.5-0.1,0.8-0.4,1.4-0.4c1.5,0.1,3.1,0.2,4.6,0.3c0.8,0.1,1.9-0.1,2.7,0"/>
|
||||
<path fill="none" stroke="#211915" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="M676.5,564v-6.2
|
||||
c0,0,2-0.1,2.2-2.1c0,0,0-1.7-0.7-2.1c0,0-0.9-0.5-0.9,2c0,0-0.4,0.9-1,0.9l-0.1-6.4c0,0,0.2-1.1-0.6-1.1c0,0-0.8-0.2-0.8,0.9
|
||||
c0,0,0,9.1,0,9.1c0,0.1-1.3-0.5-1.4-0.7c-0.2-0.3-0.3-0.8-0.3-1.2c0-0.6,0-2.8-0.6-2.9c-0.7-0.2-0.9,1.1-1,1.6
|
||||
c-0.1,1.2,0.5,2.6,1.3,3.6c0.1,0.2,1.9,1,1.9,0.9c0,0,0,3.7,0,3.7"/>
|
||||
|
||||
<path fill="none" stroke="#211915" stroke-width="0.7513" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
|
||||
M678.6,564.8c-0.6,0-1.4,0.2-1.9,0.1c-0.5-0.1-0.8-0.4-1.4-0.4c-1.5,0.1-3.1,0.2-4.6,0.3c-0.8,0.1-1.9-0.1-2.7,0"/>
|
||||
<path fill="none" stroke="#211915" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="M593.5,590v-6.2
|
||||
c0,0,2-0.1,2.2-2.1c0,0,0-1.7-0.7-2.1c0,0-0.9-0.5-0.9,2c0,0-0.4,0.9-1,0.9l-0.1-6.4c0,0,0.2-1.1-0.6-1.1c0,0-0.8-0.2-0.8,0.9
|
||||
c0,0,0,9.1,0,9.1c0,0.1-1.3-0.5-1.4-0.7c-0.2-0.3-0.3-0.8-0.3-1.2c0-0.6,0-2.8-0.6-2.9c-0.7-0.2-0.9,1.1-1,1.6
|
||||
c-0.1,1.2,0.5,2.6,1.3,3.6c0.1,0.2,1.9,1,1.9,0.9c0,0,0,3.7,0,3.7"/>
|
||||
|
||||
<path fill="none" stroke="#211915" stroke-width="0.7513" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
|
||||
M595.6,590.8c-0.6,0-1.4,0.2-1.9,0.1c-0.5-0.1-0.8-0.4-1.4-0.4c-1.5,0.1-3.1,0.2-4.6,0.3c-0.8,0.1-1.9-0.1-2.7,0"/>
|
||||
|
||||
<polygon fill="none" stroke="#211915" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" points="
|
||||
706.4,665 685.4,665 680.8,691 693.6,690.9 722.3,673.4 "/>
|
||||
|
||||
<polyline fill="none" stroke="#211915" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" points="
|
||||
686.4,666 699,680 719.9,674.8 "/>
|
||||
|
||||
<line fill="none" stroke="#211915" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" x1="699" y1="680" x2="697.1" y2="688.8"/>
|
||||
|
||||
<line fill="none" stroke="#211915" stroke-width="3" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" x1="601.8" y1="664.9" x2="560.5" y2="725.8"/>
|
||||
<path fill="none" stroke="#211915" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
|
||||
M136.4,187l-0.5-19.8c0,0-7.2-0.3-7.9-6.3c0,0-0.7-5.3,1.6-6.3c0,0,2.4-1.5,2.4,5.9c0,0,1.2,2.6,3,2.6l0.2-19.4
|
||||
c0,0,0.7-3.2,3.2-3.2c0,0,3.6-0.7,3.6,2.7c0,0,0,27.4,0,27.6c0,0.2,2.6-1.6,2.8-2c0.6-1,0.2-2.4,0.2-3.5c0.1-1.8-0.2-8.4,1.4-8.8
|
||||
c2.2-0.6,2.6,3.2,2.7,4.8c0.3,3.5-0.2,8-2.6,10.9c-0.4,0.5-4.7,3.1-4.7,2.7c0,0-0.8,11.9-0.8,11.9"/>
|
||||
<ellipse transform="matrix(0.128 -0.9918 0.9918 0.128 -74.1595 701.2955)" cx="361.7" cy="392.8" rx="14.3" ry="14.3"/>
|
||||
<ellipse transform="matrix(0.128 -0.9918 0.9918 0.128 45.52 835.4486)" cx="497.8" cy="391.8" rx="14.3" ry="14.3"/>
|
||||
<path d="M438.1,441.2c-5.7,0.6-12.5-0.3-15.2-1.8c-1.6-0.9-3.2-2-4.1-3.5c-2.6-4.1,3-6.4,6.5-7.4c3.2-0.9,6.4-1.1,9.7-0.8
|
||||
c2.7,0.2,5.3,0.7,7.7,1.8c2.4,1.1,3.6,1.6,4.3,3.9C448.5,438.4,443.8,440.6,438.1,441.2z"/>
|
||||
|
||||
<ellipse transform="matrix(0.128 -0.9918 0.9918 0.128 45.5048 835.4331)" fill="none" stroke="#000000" stroke-width="3.6235" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" cx="497.8" cy="391.8" rx="49" ry="49"/>
|
||||
|
||||
<ellipse transform="matrix(0.128 -0.9918 0.9918 0.128 -72.0028 704.4983)" fill="none" stroke="#000000" stroke-width="3.6235" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" cx="364.6" cy="393.2" rx="49" ry="49"/>
|
||||
<ellipse transform="matrix(0.128 -0.9918 0.9918 0.128 -74.1595 701.2955)" cx="361.7" cy="392.8" rx="14.3" ry="14.3"/>
|
||||
<ellipse transform="matrix(0.128 -0.9918 0.9918 0.128 45.52 835.4486)" cx="497.8" cy="391.8" rx="14.3" ry="14.3"/>
|
||||
<ellipse transform="matrix(0.1279 -0.9918 0.9918 0.1279 -5.0822 559.8978)" cx="315.8" cy="282.8" rx="7.1" ry="7.1"/>
|
||||
|
||||
<ellipse transform="matrix(0.128 -0.9918 0.9918 0.128 7.9834 574.7572)" fill="none" stroke="#211915" stroke-width="4" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" cx="330.8" cy="282.8" rx="24.3" ry="24.3"/>
|
||||
|
||||
<path fill="none" stroke="#000000" stroke-width="3.6235" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
|
||||
M405.8,440c4.4-2.8,10.1-6,15.5-5.8c5.1,0.1,10.2,1.1,15.3,1.6c4.8,0.5,9.3,0.3,14,1.9c4.7,1.6,9.2,4.4,12.5,8.2
|
||||
c3.8,4.3,2.1,11.3-3,14.7c-9.6,6.3-18.6-4.7-28.5-4.1c-9.5,0.5-17.6,9.9-27.2,2.6C398,454.3,400,443.7,405.8,440z"/>
|
||||
|
||||
<path fill="none" stroke="#000000" stroke-width="3.6235" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
|
||||
M431.8,458c-0.3,3.9-0.5,9.8,0,11.9c1,3.6,5.5,3.8,10.6,3.4c6.1-0.5,5-4.5,5-5.7c0-0.8-0.4-4.6-0.3-5.5"/>
|
||||
|
||||
<path fill="none" stroke="#000000" stroke-width="3.6235" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
|
||||
M412.4,462.5c-0.3,3.9-0.3,5.8,0.2,7.9c1,3.6,5.5,3.8,10.6,3.4c6.1-0.5,7.7-1.3,7.7-2.8c0-1,0.5-12.1,0.6-13"/>
|
||||
|
||||
<path fill="none" stroke="#000000" stroke-width="3.6235" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
|
||||
M438.1,441.2c-5.7,0.6-12.5-0.3-15.2-1.8c-1.6-0.9-3.2-2-4.1-3.5c-2.6-4.1,3-6.4,6.5-7.4c3.2-0.9,6.4-1.1,9.7-0.8
|
||||
c2.7,0.2,5.3,0.7,7.7,1.8c2.4,1.1,3.6,1.6,4.3,3.9C448.5,438.4,443.8,440.6,438.1,441.2z"/>
|
||||
<path fill="none" stroke="#211915" stroke-width="4" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
|
||||
M261,410.5c-3.1-12.4-4.1-25.4-2.9-37.2c2.6-24.3,12.9-46.9,21.9-69.3c11.1-27.8,25.4-58,52.2-73.8"/>
|
||||
<path fill="none" stroke="#211915" stroke-width="4" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
|
||||
M330.9,222c-10.2,2.1-22.6,3.5-32-2.4c-6.5-4.1-11.5-18.1-20.6-15.8c-7.2,1.8-7.7,14-7.4,19.5c0.6,10.5,3.9,20.8,9,30
|
||||
c2.6,4.7,8.9,16.6,14.2,18.3"/>
|
||||
<path fill="none" stroke="#211915" stroke-width="4" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
|
||||
M286,546.9c-2.6,33.1,6.4,70.2,20.1,100.1c6,13.2,15.1,24.5,28.5,30.6c21.6,9.8,46.8,10.5,70.1,11.8c9.1,0.5,21,1.2,29.2,1.4"/>
|
||||
<path fill="none" stroke="#211915" stroke-width="4" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
|
||||
M259.4,518.3c-6.9,4.3-17,12.7-21.8,17.4c-2.6,2.6-11.7,10.6-13,14.2c-2.5,6.8,7.5,2.4,8.8,8.5c1.5,6.9-5.1,11,5.3,10.7
|
||||
c5.8-0.2,11.4-2.1,16.7-4.1c8.7-3.2,20.5-5.3,30.2-10.6"/>
|
||||
<path fill="none" stroke="#211915" stroke-width="4" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
|
||||
M317.5,664.9c-8.3,6.8-16.6,13.6-20.8,23.6c-5,11.8-0.9,27.8,13.1,28.6c9.8,0.5,27-6.3,35.6-10.5c8.8-4.3,23.5-13.1,31.8-18.9"/>
|
||||
<path fill="none" stroke="#211915" stroke-width="4" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
|
||||
M283.3,259c-6.4,0-28.9,8-30.7,14.9c-3.2,12.2,24.7,15.7,32.6,17.2"/>
|
||||
<path fill="none" stroke="#211915" stroke-width="3" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
|
||||
M234.4,538.8c6.3,2.1,10.2,8.2,12.3,12.6c2.2,4.7,3,10.8,0.9,16.2"/>
|
||||
<path fill="none" stroke="#211915" stroke-width="3" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
|
||||
M628.8,538.8c-6.3,2.1-10.2,8.2-12.3,12.6c-2.2,4.7-3,10.8-0.9,16.2"/>
|
||||
<ellipse transform="matrix(0.9918 -0.1279 0.1279 0.9918 -31.6962 72.2437)" cx="546.5" cy="282.8" rx="7.1" ry="7.1"/>
|
||||
|
||||
<ellipse transform="matrix(0.9918 -0.128 0.128 0.9918 -31.8144 70.6109)" fill="none" stroke="#211915" stroke-width="4" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" cx="533.5" cy="282.8" rx="24.3" ry="24.3"/>
|
||||
<path fill="none" stroke="#211915" stroke-width="4" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
|
||||
M476.3,312.8c77.4-0.2,109,83,89.2,149.3"/>
|
||||
<path fill="none" stroke="#211915" stroke-width="4" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
|
||||
M388.3,313.8c-77.4-0.2-109,83-89.2,149.3"/>
|
||||
<path fill="none" stroke="#211915" stroke-width="4" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
|
||||
M432.7,288.4c9.9-0.2,20.7-0.6,29.5,3.5c10.5,4.9,17.9,23.8,13,34.9c-4.8,11-16.3,17-27.5,19.7c-18.9,4.5-49.7,0.8-58.7-19.7
|
||||
c-4.9-11.1,2.5-30,13-34.9C411.1,287.7,422.6,288.1,432.7,288.4"/>
|
||||
<path fill="none" stroke="#211915" stroke-width="4" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
|
||||
M532.2,230.2c24.2,14.3,33.4,34.7,45.8,58c20.4,38.4,34.4,73.7,24.8,118.8"/>
|
||||
<path fill="none" stroke="#211915" stroke-width="4" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
|
||||
M533.5,222.1c10.2,2.1,22.6,3.5,32-2.3c6.5-4.1,11.6-18.1,20.6-15.8c7.2,1.8,7.7,14,7.3,19.6c-0.6,10.5-4,20.7-9,30
|
||||
c-2.6,4.7-9.7,17.1-15,18.7"/>
|
||||
<path fill="none" stroke="#211915" stroke-width="4" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
|
||||
M578.3,546.9c2.6,33.1-6.4,70.2-20.1,100.1c-6,13.2-15.1,24.5-28.5,30.6c-21.6,9.8-46.8,10.5-70.1,11.8c-9.1,0.5-17.4,1.2-25.7,1.4
|
||||
"/>
|
||||
<path fill="none" stroke="#211915" stroke-width="4" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
|
||||
M604.9,518.3c6.9,4.3,17,12.7,21.8,17.4c2.6,2.6,11.7,10.6,13,14.2c2.5,6.8-7.5,2.4-8.8,8.5c-1.5,6.9,5.1,11-5.3,10.7
|
||||
c-5.8-0.2-11.4-2.1-16.7-4.1c-8.7-3.2-20.5-5.3-30.2-10.6"/>
|
||||
<path fill="none" stroke="#211915" stroke-width="4" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
|
||||
M546.8,664.9c8.3,6.8,16.6,13.6,20.8,23.6c5,11.8,0.9,27.8-13.1,28.6c-9.8,0.5-27-6.3-35.6-10.5c-8.8-4.3-23.5-13.1-31.8-18.9"/>
|
||||
<path fill="none" stroke="#211915" stroke-width="4" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
|
||||
M581,259.2c6.4,0,28.9,8.1,30.6,15c3.2,12.2-24.5,14.1-32.4,15.6"/>
|
||||
<path fill="none" stroke="#211915" stroke-width="5" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
|
||||
M294.8,462.1c27.8-1.2,51.6,19.5,64.3,42l-7-10.7c14.2-2.2,32.2,4.7,41.5,16c10.4-3,16.9,0.6,20.6,5.3c10.2-6.8,25.1-3.8,35,0
|
||||
c3.6-5,10.5-8.4,21.4-5.3c9.3-11.4,27.3-18.2,41.5-16l-7,10.7c12.7-22.6,36.5-43.3,64.3-42c18.5-14.8,29.8-30.7,33-54.6l-0.5,3
|
||||
c31.9-6.5,36.9,118.6-6.8,107.6l3.5,0.6c-1.8,22.1-31.5,38.1-51.5,37.4l3.2,0.1c-5.7,28.7-35.4,46.9-59.5,42.9
|
||||
c0,0.6-3.7,8.1-13,7.7c-7.4-0.3-3.8-6.7-7.3-10.7c-0.2,2.7-3.1,10.9-6.7,11.8c-3.7,0.9-3.9,1.4-12.4-0.9
|
||||
c-0.7,11.1-7.6,27.4-16.7,34.5c-8.2-5.6-18-24.8-20.4-34.8c-4.6,3.2-7.8,3.6-12.1,0.1c-2.4-1.9-8.3-8.2-8.5-10.8
|
||||
c-3.5,4,0,10.4-7.3,10.7c-4.5,0.2-9.9-5.7-10-10c-26.2-1.2-56.8-11.9-62.6-40.6l3.2-0.1c-20,0.7-49.7-15.3-51.5-37.4l3.5-0.6
|
||||
c-43.7,11-40-114.1-8.1-107.6c2.3,9.1,5.7,17.9,10.3,25.5C277.3,446.1,285.6,454.7,294.8,462.1z"/>
|
||||
|
||||
<path fill="none" stroke="#211915" stroke-width="2.8817" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
|
||||
M168.3,187c69-71.8,166-116.4,273.4-116.4C651.2,70.5,821,240.3,821,449.8C821,659.2,651.2,829,441.7,829
|
||||
C232.3,829,62.5,659.2,62.5,449.8"/>
|
||||
<path fill="none" stroke="#211915" stroke-width="5" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
|
||||
M508.6,255.4c0,1.2-0.3,2.8-0.5,4.2c-0.4,2.9-1.4,5.7-2.2,8.5c5.9-6.6,12.4-10.7,16.5-19.3c4.6-9.6,11.1-15.9,11.1-26.7
|
||||
c-0.9-11.9-7-31.3-22.1-31.3c-4.4-9.4-17-17.2-24.2-15.5c-0.9-15.8-22.3-25.7-38.8-21.3l-0.1,0c-8.3-6.8-20.1-8.6-31.2,0
|
||||
c-16.7-4.5-38.2,5.6-38.6,21.7c-6.9-2.6-20.9,5.2-25.5,15c-15.1,0-21.2,19.4-22.1,31.3c0,10.8,6.5,17.1,11.1,26.7
|
||||
c4.1,8.7,10.6,12.8,16.5,19.3c-0.8-2.7-1.8-5.6-2.2-8.5c-0.2-1.4-0.5-3-0.5-4.2l0,0.1c3.2,6.8,3.4,12.8,9.5,17.8
|
||||
c5.4,4.5,12,6.4,17.9,8.8c-1.2-2-2.4-10,0-13.3c1.4,7,20.1,16.5,27.3,15.3c-1.2,0-1.3-8.5-1.3-11.3c6.4,0,16.9,6.7,23.1,10.2
|
||||
c6.2-3.5,16.6-10.3,23.1-10.2c0,2.8-0.1,11.4-1.3,11.3c7.3,1.1,25.9-8.3,27.3-15.3c2.4,3.3,1.2,11.3,0,13.3
|
||||
c5.8-2.4,12.4-4.4,17.9-8.8C505.2,268.3,505.3,262.3,508.6,255.4"/>
|
||||
|
||||
<path fill="none" stroke="#211915" stroke-width="2.0849" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
|
||||
M467.6,315c-6.7,0.9-6.8,7.5-6.3,12.9"/>
|
||||
|
||||
<path fill="none" stroke="#211915" stroke-width="2.0849" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
|
||||
M399.2,315c6.7,0.9,6.8,7.5,6.3,12.9"/>
|
||||
<path fill="none" stroke="#211915" stroke-width="4" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
|
||||
M572.4,277.7c0,0,24.9-1.8,28.9,2.2"/>
|
||||
<path fill="none" stroke="#211915" stroke-width="4" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
|
||||
M261.4,277.7c0,0,24.9-1.8,28.9,2.2"/>
|
||||
<path fill="none" stroke="#211915" stroke-width="4" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
|
||||
M524.6,709.2c10.4-10.9,26.9-24.7,41.5-22.8"/>
|
||||
<path fill="none" stroke="#211915" stroke-width="4" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
|
||||
M339.1,709.2c-10.4-10.9-26.9-24.7-41.5-22.8"/>
|
||||
</g>
|
||||
<path fill="none" stroke="#000000" stroke-width="3.6235" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
|
||||
M431.5,468.1"/>
|
||||
<path fill="none" stroke="#000000" stroke-width="3.6235" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
|
||||
M425.1,474.6"/>
|
||||
</svg>
|
After Width: | Height: | Size: 64 KiB |
|
@ -0,0 +1,6 @@
|
|||
require("expose-loader?$!expose-loader?jQuery!jquery");
|
||||
require("bootstrap/dist/js/bootstrap.bundle.js");
|
||||
|
||||
$(() => {
|
||||
|
||||
});
|
|
@ -0,0 +1,7 @@
|
|||
module app
|
||||
|
||||
go 1.13
|
||||
|
||||
require github.com/markbates/pkger v0.8.0
|
||||
|
||||
replace github.com/markbates/pkger => ../../../../
|
|
@ -0,0 +1,19 @@
|
|||
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
||||
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
|
||||
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
||||
github.com/kr/pretty v0.1.0 h1:L/CwN0zerZDmRFUapSPitk6f+Q3+0za1rQkzVuMiMFI=
|
||||
github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
|
||||
github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
|
||||
github.com/kr/text v0.1.0 h1:45sCR5RtlFHMR4UwH9sdQ5TC8v0qDQCHnXt+kaKSTVE=
|
||||
github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
|
||||
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
|
||||
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
|
||||
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
|
||||
github.com/stretchr/testify v1.4.0 h1:2E4SXV/wtOkTonXsotYi4li6zVWxYlZuYNCXe9XRJyk=
|
||||
github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4=
|
||||
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
||||
gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127 h1:qIbj1fsPNlZgppZ+VLlY7N33q108Sa+fhmuc+sWQYwY=
|
||||
gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
||||
gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
|
||||
gopkg.in/yaml.v2 v2.2.4 h1:/eiJrUcujPVeJ3xlSWaiNi3uSVmDGBK1pDHUHAnao1I=
|
||||
gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
|
|
@ -0,0 +1,3 @@
|
|||
# For more information on using i18n see: https://github.com/nicksnyder/go-i18n
|
||||
- id: welcome_greeting
|
||||
translation: "Welcome to Buffalo (EN)"
|
|
@ -1,6 +1,7 @@
|
|||
package main
|
||||
|
||||
import (
|
||||
"app/actions"
|
||||
"fmt"
|
||||
"io"
|
||||
"log"
|
||||
|
@ -16,6 +17,25 @@ func main() {
|
|||
}
|
||||
|
||||
func run() error {
|
||||
if err := actions.WalkTemplates(os.Stdout); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
err := pkger.Walk("/assets", func(path string, info os.FileInfo, err error) error {
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
fmt.Println(path)
|
||||
return nil
|
||||
})
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func dynamic() error {
|
||||
info, err := pkger.Stat("/go.mod")
|
||||
if err != nil {
|
||||
return err
|
|
@ -0,0 +1,21 @@
|
|||
package mod
|
||||
|
||||
import (
|
||||
"io/ioutil"
|
||||
|
||||
"github.com/markbates/pkger"
|
||||
)
|
||||
|
||||
func Mod() (string, error) {
|
||||
f, err := pkger.Open("/go.mod")
|
||||
if err != nil {
|
||||
return "", nil
|
||||
}
|
||||
defer f.Close()
|
||||
|
||||
b, err := ioutil.ReadAll(f)
|
||||
if err != nil {
|
||||
return "", nil
|
||||
}
|
||||
return string(b), nil
|
||||
}
|
|
@ -0,0 +1,7 @@
|
|||
package models
|
||||
|
||||
import "github.com/markbates/pkger"
|
||||
|
||||
func Stat() {
|
||||
pkger.Stat("/locales/all.en-us.yaml")
|
||||
}
|
|
@ -0,0 +1,3 @@
|
|||
body {
|
||||
color: red;
|
||||
}
|
After Width: | Height: | Size: 27 KiB |
|
@ -0,0 +1,12 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<meta name="viewport" content="width=device-width" />
|
||||
<title>HI</title>
|
||||
</head>
|
||||
<body>
|
||||
HELLO
|
||||
<img src="/images/img1.png" alt=""/>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,2 @@
|
|||
User-agent: *
|
||||
Disallow: /
|
|
@ -0,0 +1,14 @@
|
|||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<%= for (k, messages) in flash { %>
|
||||
<%= for (msg) in messages { %>
|
||||
<div class="alert alert-<%= k %>" role="alert">
|
||||
<%= msg %>
|
||||
<button type="button" class="close" data-dismiss="alert" aria-label="Close">
|
||||
<span aria-hidden="true">×</span>
|
||||
</button>
|
||||
</div>
|
||||
<% } %>
|
||||
<% } %>
|
||||
</div>
|
||||
</div>
|
|
@ -0,0 +1,21 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<meta charset="utf-8">
|
||||
<title>Buffalo - Coke</title>
|
||||
<%= stylesheetTag("application.css") %>
|
||||
<meta name="csrf-param" content="authenticity_token" />
|
||||
<meta name="csrf-token" content="<%= authenticity_token %>" />
|
||||
<link rel="icon" href="<%= assetPath("images/favicon.ico") %>">
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div class="container">
|
||||
<%= partial("flash.html") %>
|
||||
<%= yield %>
|
||||
</div>
|
||||
|
||||
<%= javascriptTag("application.js") %>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,64 @@
|
|||
<header>
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-md-1 col-sm-2 col-xs-2 logo">
|
||||
<a href="<%= rootPath() %>"><img src="<%= rootPath() %>assets/images/logo.svg" alt=""></a>
|
||||
</div>
|
||||
<div class="col-md-9 col-sm-9 col-xs-10 titles">
|
||||
<h1><%= t("welcome_greeting") %></h1>
|
||||
<h2>
|
||||
<a href="https://github.com/gobuffalo/buffalo"><i class="fab fa-github" aria-hidden="true"></i> https://github.com/gobuffalo/buffalo</a>
|
||||
</h2>
|
||||
<h2 class="documentation">
|
||||
<a href="http://gobuffalo.io/"><i class="fa fa-book" aria-hidden="true"></i> Documentation</a>
|
||||
</h2>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</header>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<div class="subtitle">
|
||||
<div class="container">
|
||||
<h3>Defined Routes</h3>
|
||||
</div>
|
||||
</div>
|
||||
<div class="table-responsive">
|
||||
<table class="table table-striped">
|
||||
<thead>
|
||||
<tr text-align="left">
|
||||
<th class="centered">METHOD</th>
|
||||
<th>PATH</th>
|
||||
<th>NAME</th>
|
||||
<th>HANDLER</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
|
||||
<%= for (r) in routes { %>
|
||||
<tr>
|
||||
<td class="centered">
|
||||
<%= r.Method %>
|
||||
</td>
|
||||
<td>
|
||||
<%= if (r.Method != "GET" || r.Path ~= "{") {
|
||||
return r.Path
|
||||
} else {
|
||||
return linkTo(r.Path, {body: r.Path})
|
||||
} %>
|
||||
</td>
|
||||
<td>
|
||||
<%= r.PathName %>
|
||||
</td>
|
||||
<td><code><%= r.HandlerName %></code></td>
|
||||
</tr>
|
||||
<% } %>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="foot"> <span> Powered by <a href="http://gobuffalo.io/">gobuffalo.io</a></span> </div>
|