3 Commits
Author SHA1 Message Date
xuu 2cbd981902 chore: remove v1
Go Bump / bump (push) Successful in 34s
Deploy / deploy (push) Failing after 48s
2023-11-05 08:45:07 -07:00
xuu e531fd9493 feat: add image
Go Bump / bump (push) Successful in 41s
Deploy / deploy (push) Failing after 1m20s
2023-11-05 08:34:14 -07:00
xuu 1d5572d8d2 chore: add license
Go Bump / bump (push) Successful in 37s
2023-10-24 08:48:10 -06:00
42 changed files with 402 additions and 5576 deletions

No files matched your search

+4 -4
View File
@@ -1,8 +1,8 @@
name: Deploy name: Deploy
on: on:
# push: push:
# branches: [ "master" ] branches: [ "master" ]
release: release:
types: [ published ] types: [ published ]
@@ -16,10 +16,10 @@ jobs:
- name: Set up Go - name: Set up Go
uses: actions/setup-go@v3 uses: actions/setup-go@v3
with: with:
go-version: 1.21.1 go-version: 1.21.3
- name: Install - name: Install
run: go install -ldflags "-s -w" go.sour.is/paste/cmd/paste/v2@latest run: go install -ldflags "-s -w" go.sour.is/paste/cmd/paste/v2@master
- run: mv $(go env GOPATH)/bin/paste sour.is-paste - run: mv $(go env GOPATH)/bin/paste sour.is-paste
+11
View File
@@ -0,0 +1,11 @@
Copyright 2023 Sour.is
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS “AS IS” AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-63
View File
@@ -1,63 +0,0 @@
# Archived Makefile for v1
ROUTE_ASSET=src/routes/bindata.go
DOCS_ASSET=src/docs/bindata.go
SOURCE=$(wildcard cmd/paste/*.go) $(filter-out src/routes/bindata.go, $(wildcard src/routes/*.go))
BINARY=paste
PKG=./cmd/paste
VERSION=$(shell git describe --tags `git rev-list --tags --max-count=1`|cut -b2-)
VERSION_PAT=$(shell debian/inc_version.sh -p $(VERSION))
VERSION_MIN=$(shell debian/inc_version.sh -m $(VERSION))
VERSION_MAJ=$(shell debian/inc_version.sh -M $(VERSION))
DATE:=$(shell date -u +%FT%TZ)
define DUMMY_BINDATA
package docs
import "net/http"
func assetFS() (fs http.FileSystem) { return }
endef
export DUMMY_BINDATA
all: $(BINARY)
clean:
rm -rf $(BINARY)
setup:
go mod download
fmt:
go fmt ./...
test: $(ROUTE_ASSET) $(DOCS_ASSET)
go test ./...
go vet ./...
run:
go run \
-ldflags "-X main.AppVersion=$(VERSION_PAT) -X main.AppBuild=$(DATE)" \
$(PKG) -vv serve
$(BINARY): $(SOURCE) $(ROUTE_ASSET) $(DOCS_ASSET)
go build -v \
-ldflags "-X main.AppVersion=$(VERSION) -X main.AppBuild=$(DATE)" \
"go.sour.is/paste/cmd/paste"
clean-ui:
rm -rf $(ROUTE_ASSET) $(DOCS_ASSET)
build-ui: clean-ui $(ROUTE_ASSET) $(DOCS_ASSET)
$(ROUTE_ASSET):
cd assets; \
rm -rf build ../public; \
npm i; npm run build; \
cp -r build ../public
go generate "go.sour.is/paste/src/routes"
$(DOCS_ASSET):
echo "$$DUMMY_BINDATA" > src/docs/bindata.go
go generate "go.sour.is/paste/cmd/paste"
go generate "go.sour.is/paste/src/docs"
deploy: $(SOURCE) $(ROUTE_ASSET)
cd debian && make
.PHONEY: all clean build deploy run setup
# DO NOT DELETE
File renamed without changes.
+26
View File
@@ -0,0 +1,26 @@
package main
import (
"context"
"go.sour.is/paste/v2/image"
"go.sour.is/pkg/env"
"go.sour.is/pkg/lg"
"go.sour.is/pkg/service"
)
var _ = apps.Register(40, func(ctx context.Context, svc *service.Harness) error {
_, span := lg.Span(ctx)
defer span.End()
store := env.Default("IMAGE_STORE", "data/")
a, err := image.New(store, -1)
if err != nil {
return err
}
svc.Add(a)
span.AddEvent("register image")
return nil
})
View File
File renamed without changes.
+1 -1
View File
@@ -14,7 +14,7 @@ import (
"go.sour.is/pkg/lg" "go.sour.is/pkg/lg"
"go.sour.is/pkg/service" "go.sour.is/pkg/service"
"go.sour.is/paste/assets" "go.sour.is/paste/v2/assets"
"go.sour.is/paste/v2/paste" "go.sour.is/paste/v2/paste"
) )
@@ -23,18 +23,6 @@ import (
"github.com/gomarkdown/markdown/parser" "github.com/gomarkdown/markdown/parser"
) )
// func init() {
// a := &Artifact{}
// httpsrv.RegisterModule("artifact", a.config)
// httpsrv.HttpRegister("artifact", httpsrv.HttpRoutes{
// {Name: "get-path", Method: "GET", Pattern: "/a/{name}/{path:.*}", HandlerFunc: a.get},
// {Name: "get", Method: "GET", Pattern: "/a/{name}", HandlerFunc: a.get},
// {Name: "put", Method: "PUT", Pattern: "/a", HandlerFunc: a.put},
// {Name: "get", Method: "GET", Pattern: "/a", HandlerFunc: a.list},
// })
// }
// artifact stores items to disk // artifact stores items to disk
type artifact struct { type artifact struct {
store string store string
-125
View File
@@ -1,125 +0,0 @@
package main
import (
"bytes"
"github.com/docopt/docopt.go"
"github.com/spf13/viper"
"sour.is/x/toolbox/log"
"sour.is/x/toolbox/log/event"
_ "sour.is/x/toolbox/stats"
)
var (
// AppVersion Application Version Number
AppVersion string
// AppBuild Application Build Number
AppBuild string
)
// AppName name of the application
var AppName = "Paste API"
// AppUsage displays runtime options
var AppUsage = `Paste API
Usage:
paste version
paste [ -v | -vv ] serve
Options:
-v Log info to console.
-vv Log debug to console.
-l <ListenAddress>, --listen=<ListenAddress> Address to listen on.
-c <ConfigDir>, --config=<ConfigDir> Set Config Directory.
Config:
The config file is read from the following locations:
- <ConfigDir>
- /etc/opt/sour.is/paste/
- Working Directory
`
var defaultConfig = `
[http]
listen = ":9010"
base_url = "https//paste.dn42.us"
cors = [
"http://localhost",
"https://sour.is",
]
[module.paste]
random = "4096"
store = "data/paste"
[module.artifact]
store = "data/artifact"
[module.image]
store = "data/image"
[module.short]
index = "data/meta"
value = "data/meta"
`
var args map[string]interface{}
func init() {
var err error
viper.Set("app.name", AppName)
viper.SetDefault("app.version", "VERSION")
if AppVersion != "" {
viper.Set("app.version", AppVersion)
}
viper.SetDefault("app.build", "SNAPSHOT")
if AppBuild != "" {
viper.Set("app.build", AppBuild)
}
if args, err = docopt.ParseDoc(AppUsage); err != nil {
log.Fatal(err)
}
if args["-v"].(int) == 1 {
log.SetVerbose(event.VerbInfo)
log.Info("Verbose Logging.")
}
if args["-v"].(int) == 2 {
log.SetVerbose(event.VerbDebug)
log.Debug("Very Verbose Logging.")
}
log.Printf("%s (%s %s)\n",
viper.GetString("app.name"),
viper.GetString("app.version"),
viper.GetString("app.build"))
if args["serve"] == true {
viper.SetConfigName("config")
if args["--config"] != nil {
viper.AddConfigPath(args["--config"].(string))
}
viper.AddConfigPath("/etc/opt/sour.is/paste/")
viper.AddConfigPath(".")
viper.SetConfigType("toml")
_ = viper.ReadConfig(bytes.NewBuffer([]byte(defaultConfig)))
err = viper.MergeInConfig()
if err != nil { // Handle errors reading the config file
log.Warningf("config file not found: %s \n", err)
} else {
log.Notice("Read config from: ", viper.ConfigFileUsed())
}
if args["--listen"] != nil {
viper.Set("http.listen", args["--listen"].(string))
}
}
}
-35
View File
@@ -1,35 +0,0 @@
package main
import (
"net/http"
"sour.is/x/toolbox/httpsrv"
"sour.is/x/toolbox/ident"
)
func init() {
httpsrv.NewMiddleware("cors", doCORS).
Register(httpsrv.EventPreAuth)
}
func doCORS(_ string, w httpsrv.ResponseWriter, r *http.Request, _ ident.Ident) bool {
origin := r.Header.Get("origin")
headers := r.Header.Get("access-control-request-headers")
if origin != "" {
w.Header().Add("access-control-allow-origin", origin)
}
w.Header().Add("access-control-allow-methods", "GET, POST, PUT, DELETE, OPTIONS")
w.Header().Add("access-control-allow-credentials", "true")
w.Header().Add("access-control-max-age", "3600")
if headers != "" {
w.Header().Add("access-control-allow-headers", headers)
}
if r.Method == "OPTIONS" {
return false
}
return true
}
-55
View File
@@ -1,55 +0,0 @@
// Package Paste API.
//
// the purpose of this application is to provide an application
// that is using plain go code to define a paste API
//
// Terms Of Service:
//
// there are no TOS at this moment, use at your own risk we take no responsibility
//
// Schemes: http, https
// Host: paste.sour.is
// BasePath: /
// Version: 0.0.1
// License: MIT http://opensource.org/licenses/MIT
// Contact: Xuu <me@sour.is> https://sour.is
//
// Consumes:
// - application/json
// - text/plain
//
// Produces:
// - application/json
// - text/plain
//
//
// swagger:meta
package main // import "go.sour.is/paste/cmd/paste"
import (
"os"
"os/signal"
"syscall"
_ "go.sour.is/paste/src/docs"
_ "go.sour.is/paste/src/routes"
"sour.is/x/toolbox/httpsrv"
"sour.is/x/toolbox/log"
)
func main() {
if args["serve"] == true {
httpsrv.Run()
c := make(chan os.Signal, 1)
signal.Notify(c, syscall.SIGINT, syscall.SIGTERM)
s := <-c
log.Debugf("Got Signal %d", s)
httpsrv.Shutdown()
log.Debug("DONE")
}
}
//go:generate go run github.com/go-swagger/go-swagger/cmd/swagger generate spec -o ../../src/docs/public/swagger.json
+36 -37
View File
@@ -1,65 +1,64 @@
module go.sour.is/paste module go.sour.is/paste/v2
go 1.21 go 1.21
require ( require (
github.com/andybalholm/brotli v1.0.4
github.com/docopt/docopt.go v0.0.0-20180111231733-ee0de3bc6815
github.com/gomarkdown/markdown v0.0.0-20200824053859-8c8b3816f167 github.com/gomarkdown/markdown v0.0.0-20200824053859-8c8b3816f167
github.com/gorilla/mux v1.8.0
github.com/h2non/filetype v1.1.0 github.com/h2non/filetype v1.1.0
github.com/hashicorp/golang-lru v0.5.1 github.com/rs/cors v1.6.0
github.com/lucasb-eyer/go-colorful v1.0.3 go.opentelemetry.io/otel v1.18.0
github.com/remyoudompheng/go-liblzma v0.0.0-20190506200333-81bf2d431b96 go.opentelemetry.io/otel/trace v1.18.0
github.com/sour-is/crypto v0.0.0-20201016232853-f42a24ba5a81 go.sour.is/paste v0.0.0-20231022150928-96338f2f4441
github.com/sour-is/go-assetfs v1.0.0 go.sour.is/pkg v0.0.6
github.com/spf13/viper v1.7.1
github.com/timshannon/badgerhold v1.0.0
github.com/tv42/zbase32 v0.0.0-20190604154422-aacc64a8f915
github.com/yeqown/go-qrcode/v2 v2.2.2
github.com/yeqown/go-qrcode/writer/standard v1.2.2
go.uber.org/ratelimit v0.1.0
golang.org/x/crypto v0.14.0
golang.org/x/sys v0.13.0 golang.org/x/sys v0.13.0
sour.is/x/toolbox v0.12.17 sour.is/x/toolbox v0.12.17
) )
require ( require (
github.com/99designs/gqlgen v0.17.34 // indirect github.com/andybalholm/brotli v1.0.4 // indirect
github.com/AndreasBriese/bbloom v0.0.0-20190825152654-46b345b51c96 // indirect github.com/beorn7/perks v1.0.1 // indirect
github.com/BurntSushi/toml v1.2.1 // indirect github.com/cenkalti/backoff/v4 v4.2.1 // indirect
github.com/cespare/xxhash v1.1.0 // indirect github.com/cespare/xxhash/v2 v2.2.0 // indirect
github.com/dgraph-io/badger v1.6.2 // indirect github.com/felixge/httpsnoop v1.0.3 // indirect
github.com/dgraph-io/ristretto v0.0.3 // indirect
github.com/dgryski/go-farm v0.0.0-20200201041132-a6ae2369ad13 // indirect
github.com/dustin/go-humanize v1.0.0 // indirect
github.com/fogleman/gg v1.3.0 // indirect
github.com/fsnotify/fsnotify v1.4.9 // indirect github.com/fsnotify/fsnotify v1.4.9 // indirect
github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0 // indirect github.com/go-logr/logr v1.2.4 // indirect
github.com/golang/gddo v0.0.0-20200831202555-721e228c7686 // indirect github.com/go-logr/stdr v1.2.2 // indirect
github.com/golang/protobuf v1.5.3 // indirect github.com/golang/protobuf v1.5.3 // indirect
github.com/google/go-cmp v0.5.9 // indirect github.com/gorilla/mux v1.8.0 // indirect
github.com/grpc-ecosystem/grpc-gateway/v2 v2.16.0 // indirect
github.com/hashicorp/hcl v1.0.0 // indirect github.com/hashicorp/hcl v1.0.0 // indirect
github.com/kr/pretty v0.3.1 // indirect
github.com/magiconair/properties v1.8.1 // indirect github.com/magiconair/properties v1.8.1 // indirect
github.com/matttproud/golang_protobuf_extensions v1.0.4 // indirect
github.com/mitchellh/mapstructure v1.5.0 // indirect github.com/mitchellh/mapstructure v1.5.0 // indirect
github.com/pelletier/go-toml v1.8.0 // indirect github.com/pelletier/go-toml v1.8.0 // indirect
github.com/pkg/errors v0.9.1 // indirect github.com/prometheus/client_golang v1.17.0 // indirect
github.com/rogpeppe/go-internal v1.10.0 // indirect github.com/prometheus/client_model v0.4.1-0.20230718164431-9a2bf3000d16 // indirect
github.com/prometheus/common v0.44.0 // indirect
github.com/prometheus/procfs v0.12.0 // indirect
github.com/remyoudompheng/go-liblzma v0.0.0-20190506200333-81bf2d431b96 // indirect
github.com/spf13/afero v1.3.2 // indirect github.com/spf13/afero v1.3.2 // indirect
github.com/spf13/cast v1.3.1 // indirect github.com/spf13/cast v1.3.1 // indirect
github.com/spf13/jwalterweatherman v1.1.0 // indirect github.com/spf13/jwalterweatherman v1.1.0 // indirect
github.com/spf13/pflag v1.0.5 // indirect github.com/spf13/pflag v1.0.5 // indirect
github.com/stretchr/testify v1.8.4 // indirect github.com/spf13/viper v1.7.1 // indirect
github.com/subosito/gotenv v1.2.0 // indirect github.com/subosito/gotenv v1.2.0 // indirect
github.com/vektah/gqlparser/v2 v2.5.6 // indirect go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.44.0 // indirect
github.com/yeqown/reedsolomon v1.0.0 // indirect go.opentelemetry.io/contrib/instrumentation/runtime v0.42.0 // indirect
github.com/yosssi/gmq v0.0.1 // indirect go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.18.0 // indirect
golang.org/x/image v0.5.0 // indirect go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.18.0 // indirect
go.opentelemetry.io/otel/exporters/prometheus v0.41.0 // indirect
go.opentelemetry.io/otel/metric v1.18.0 // indirect
go.opentelemetry.io/otel/sdk v1.18.0 // indirect
go.opentelemetry.io/otel/sdk/metric v0.41.0 // indirect
go.opentelemetry.io/proto/otlp v1.0.0 // indirect
go.uber.org/multierr v1.11.0 // indirect
golang.org/x/net v0.17.0 // indirect golang.org/x/net v0.17.0 // indirect
golang.org/x/sync v0.3.0 // indirect
golang.org/x/text v0.13.0 // indirect golang.org/x/text v0.13.0 // indirect
google.golang.org/genproto/googleapis/api v0.0.0-20230711160842-782d3b101e98 // indirect
google.golang.org/genproto/googleapis/rpc v0.0.0-20230711160842-782d3b101e98 // indirect
google.golang.org/grpc v1.58.0 // indirect
google.golang.org/protobuf v1.31.0 // indirect google.golang.org/protobuf v1.31.0 // indirect
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c // indirect
gopkg.in/ini.v1 v1.57.0 // indirect gopkg.in/ini.v1 v1.57.0 // indirect
gopkg.in/yaml.v2 v2.4.0 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect
) )
+68 -126
View File
@@ -1,4 +1,3 @@
cloud.google.com/go v0.16.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
cloud.google.com/go v0.38.0/go.mod h1:990N+gfupTy94rShfmMCWGDn0LpTmnzTp2qbd1dvSRU= cloud.google.com/go v0.38.0/go.mod h1:990N+gfupTy94rShfmMCWGDn0LpTmnzTp2qbd1dvSRU=
@@ -13,100 +12,77 @@ cloud.google.com/go/pubsub v1.0.1/go.mod h1:R0Gpsv3s54REJCy4fxDixWD93lHJMoZTyQ2k
cloud.google.com/go/storage v1.0.0/go.mod h1:IhtSnM/ZTZV8YYJWCY8RULGVqBDmpoyjwiyrjsg+URw= cloud.google.com/go/storage v1.0.0/go.mod h1:IhtSnM/ZTZV8YYJWCY8RULGVqBDmpoyjwiyrjsg+URw=
dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU=
github.com/99designs/gqlgen v0.10.1/go.mod h1:IviubpnyI4gbBcj8IcxSSc/Q/+af5riwCmJmwF0uaPE= github.com/99designs/gqlgen v0.10.1/go.mod h1:IviubpnyI4gbBcj8IcxSSc/Q/+af5riwCmJmwF0uaPE=
github.com/99designs/gqlgen v0.17.34 h1:5cS5/OKFguQt+Ws56uj9FlG2xm1IlcJWNF2jrMIKYFQ=
github.com/99designs/gqlgen v0.17.34/go.mod h1:Axcd3jIFHBVcqzixujJQr1wGqE+lGTpz6u4iZBZg1G8=
github.com/AndreasBriese/bbloom v0.0.0-20190306092124-e2d15f34fcf9/go.mod h1:bOvUY6CB00SOBii9/FifXqc0awNKxLFCL/+pkDPuyl8=
github.com/AndreasBriese/bbloom v0.0.0-20190825152654-46b345b51c96 h1:cTp8I5+VIoKjsnZuH8vjyaysT/ses3EvZeaV/1UkF2M=
github.com/AndreasBriese/bbloom v0.0.0-20190825152654-46b345b51c96/go.mod h1:bOvUY6CB00SOBii9/FifXqc0awNKxLFCL/+pkDPuyl8=
github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
github.com/BurntSushi/toml v1.2.1 h1:9F2/+DoOYIOksmaJFPw1tGFy1eDnIJXg+UHjuD8lTak= github.com/BurntSushi/toml v1.2.1 h1:9F2/+DoOYIOksmaJFPw1tGFy1eDnIJXg+UHjuD8lTak=
github.com/BurntSushi/toml v1.2.1/go.mod h1:CxXYINrC8qIiEnFrOxCa7Jy5BFHlXnUU2pbicEuybxQ= github.com/BurntSushi/toml v1.2.1/go.mod h1:CxXYINrC8qIiEnFrOxCa7Jy5BFHlXnUU2pbicEuybxQ=
github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo=
github.com/DATA-DOG/go-sqlmock v1.3.3/go.mod h1:f/Ixk793poVmq4qj/V1dPUg2JEAKC73Q5eFN3EC/SaM= github.com/DATA-DOG/go-sqlmock v1.3.3/go.mod h1:f/Ixk793poVmq4qj/V1dPUg2JEAKC73Q5eFN3EC/SaM=
github.com/Masterminds/squirrel v0.0.0-20190511014652-b4b75d10d7bf/go.mod h1:yaPeOnPG5ZRwL9oKdTsO/prlkPbXWZlRVMQ/gGlzIuA= github.com/Masterminds/squirrel v0.0.0-20190511014652-b4b75d10d7bf/go.mod h1:yaPeOnPG5ZRwL9oKdTsO/prlkPbXWZlRVMQ/gGlzIuA=
github.com/OneOfOne/xxhash v1.2.2 h1:KMrpdQIwFcEqXDklaen+P1axHaj9BSKzvpUUfnHldSE=
github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU=
github.com/agnivade/levenshtein v1.0.1/go.mod h1:CURSv5d9Uaml+FovSIICkLbAUZ9S4RqaHDIsdSBg7lM= github.com/agnivade/levenshtein v1.0.1/go.mod h1:CURSv5d9Uaml+FovSIICkLbAUZ9S4RqaHDIsdSBg7lM=
github.com/agnivade/levenshtein v1.1.1/go.mod h1:veldBMzWxcCG2ZvUTKD2kJNRdCk5hVbJomOvKkmgYbo=
github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= 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/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0=
github.com/andreyvit/diff v0.0.0-20170406064948-c7f18ee00883 h1:bvNMNQO63//z+xNgfBlViaCIJKLlCJ6/fmUseuG0wVQ=
github.com/andreyvit/diff v0.0.0-20170406064948-c7f18ee00883/go.mod h1:rCTlJbsFo29Kk6CurOXKm700vrz8f0KW0JNfpkRJY/8= github.com/andreyvit/diff v0.0.0-20170406064948-c7f18ee00883/go.mod h1:rCTlJbsFo29Kk6CurOXKm700vrz8f0KW0JNfpkRJY/8=
github.com/andybalholm/brotli v1.0.4 h1:V7DdXeJtZscaqfNuAdSRuRFzuiKlHSC/Zh3zl9qY3JY= github.com/andybalholm/brotli v1.0.4 h1:V7DdXeJtZscaqfNuAdSRuRFzuiKlHSC/Zh3zl9qY3JY=
github.com/andybalholm/brotli v1.0.4/go.mod h1:fO7iG3H7G2nSZ7m0zPUDn85XEX2GTukHGRSepvi9Eig= github.com/andybalholm/brotli v1.0.4/go.mod h1:fO7iG3H7G2nSZ7m0zPUDn85XEX2GTukHGRSepvi9Eig=
github.com/arbovm/levenshtein v0.0.0-20160628152529-48b4e1c0c4d0/go.mod h1:t2tdKJDJF9BV14lnkjHmOQgcvEKgtqs5a1N3LNdJhGE=
github.com/armon/circbuf v0.0.0-20150827004946-bbbad097214e/go.mod h1:3U/XgcO3hCbHZ8TKRvWD2dDTCfh9M9ya+I9JpbB7O8o= github.com/armon/circbuf v0.0.0-20150827004946-bbbad097214e/go.mod h1:3U/XgcO3hCbHZ8TKRvWD2dDTCfh9M9ya+I9JpbB7O8o=
github.com/armon/consul-api v0.0.0-20180202201655-eb2c6b5be1b6/go.mod h1:grANhF5doyWs3UAsr3K4I6qtAmlQcZDesFNEHPZAzj8= github.com/armon/consul-api v0.0.0-20180202201655-eb2c6b5be1b6/go.mod h1:grANhF5doyWs3UAsr3K4I6qtAmlQcZDesFNEHPZAzj8=
github.com/armon/go-metrics v0.0.0-20180917152333-f0300d1749da/go.mod h1:Q73ZrmVTwzkszR9V5SSuryQ31EELlFMUz1kKyl939pY= github.com/armon/go-metrics v0.0.0-20180917152333-f0300d1749da/go.mod h1:Q73ZrmVTwzkszR9V5SSuryQ31EELlFMUz1kKyl939pY=
github.com/armon/go-radix v0.0.0-20180808171621-7fddfc383310/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= github.com/armon/go-radix v0.0.0-20180808171621-7fddfc383310/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8=
github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= 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/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8=
github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM=
github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw=
github.com/bgentry/speakeasy v0.1.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs= github.com/bgentry/speakeasy v0.1.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs=
github.com/bketelsen/crypt v0.0.3-0.20200106085610-5cbc8cc4026c/go.mod h1:MKsuJmJgSg28kpZDP6UIiPt0e0Oz0kqKNGyRaWEPv84= github.com/bketelsen/crypt v0.0.3-0.20200106085610-5cbc8cc4026c/go.mod h1:MKsuJmJgSg28kpZDP6UIiPt0e0Oz0kqKNGyRaWEPv84=
github.com/bouk/monkey v1.0.0 h1:k6z8fLlPhETfn5l9rlWVE7Q6B23DoaqosTdArvNQRdc= github.com/bouk/monkey v1.0.0 h1:k6z8fLlPhETfn5l9rlWVE7Q6B23DoaqosTdArvNQRdc=
github.com/bouk/monkey v1.0.0/go.mod h1:PG/63f4XEUlVyW1ttIeOJmJhhe1+t9EC/je3eTjvFhE= github.com/bouk/monkey v1.0.0/go.mod h1:PG/63f4XEUlVyW1ttIeOJmJhhe1+t9EC/je3eTjvFhE=
github.com/bradfitz/gomemcache v0.0.0-20170208213004-1952afaa557d/go.mod h1:PmM6Mmwb0LSuEubjR8N7PtNe1KxZLtOUHtbeikc5h60= github.com/cenkalti/backoff/v4 v4.2.1 h1:y4OZtCnogmCPw98Zjyt5a6+QwPLGkiQsYW5oUqylYbM=
github.com/cespare/xxhash v1.1.0 h1:a6HrQnmkObjyL+Gs60czilIUGqrzKutQD6XZog3p+ko= github.com/cenkalti/backoff/v4 v4.2.1/go.mod h1:Y3VNntkOUPxTVeUxJ/G5vcM//AlwfmyYozVcomhLiZE=
github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc= github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc=
github.com/cespare/xxhash/v2 v2.2.0 h1:DC2CZ1Ep5Y4k3ZQ899DldepgrayRUGE6BBZ/cd9Cj44=
github.com/cespare/xxhash/v2 v2.2.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs=
github.com/cgilling/dbstats v0.0.0-20150427045024-c9db8cf218e6/go.mod h1:fsf3+k/VvGOE9sF2B9d6PBcZOzQIlDJhn2LhBqF/4VY= github.com/cgilling/dbstats v0.0.0-20150427045024-c9db8cf218e6/go.mod h1:fsf3+k/VvGOE9sF2B9d6PBcZOzQIlDJhn2LhBqF/4VY=
github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw=
github.com/coreos/bbolt v1.3.2/go.mod h1:iRUV2dpdMOn7Bo10OQBFzIJO9kkE559Wcmn+qkEiiKk= 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/etcd v3.3.10+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE=
github.com/coreos/etcd v3.3.13+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE= github.com/coreos/etcd v3.3.13+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-semver v0.2.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk=
github.com/coreos/go-semver v0.3.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= github.com/coreos/go-semver v0.3.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk=
github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4=
github.com/coreos/pkg v0.0.0-20180928190104-399ea9e2e55f/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA= 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.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E=
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= 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 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/dgraph-io/badger v1.6.0/go.mod h1:zwt7syl517jmP8s94KqSxTlM6IMsdhYy6psNgSztDR4=
github.com/dgraph-io/badger v1.6.2 h1:mNw0qs90GVgGGWylh0umH5iag1j6n/PeJtNvL6KY/x8=
github.com/dgraph-io/badger v1.6.2/go.mod h1:JW2yswe3V058sS0kZ2h/AXeDSqFjxnZcRrVH//y2UQE=
github.com/dgraph-io/ristretto v0.0.2/go.mod h1:KPxhHT9ZxKefz+PCeOGsrHpl1qZ7i70dGTu2u+Ahh6E=
github.com/dgraph-io/ristretto v0.0.3 h1:jh22xisGBjrEVnRZ1DVTpBVQm0Xndu8sMl0CWDzSIBI=
github.com/dgraph-io/ristretto v0.0.3/go.mod h1:KPxhHT9ZxKefz+PCeOGsrHpl1qZ7i70dGTu2u+Ahh6E=
github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ= github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ=
github.com/dgryski/go-farm v0.0.0-20190423205320-6a90982ecee2/go.mod h1:SqUrOPUnsFjfmXRMNPybcSiG0BgUW2AuFH8PAnS2iTw=
github.com/dgryski/go-farm v0.0.0-20200201041132-a6ae2369ad13 h1:fAjc9m62+UWV/WAFKLNi6ZS0675eEUC9y3AlwSbQu1Y=
github.com/dgryski/go-farm v0.0.0-20200201041132-a6ae2369ad13/go.mod h1:SqUrOPUnsFjfmXRMNPybcSiG0BgUW2AuFH8PAnS2iTw=
github.com/dgryski/go-sip13 v0.0.0-20181026042036-e10d5fee7954/go.mod h1:vAd38F8PWV+bWy6jNmig1y/TA+kYO4g3RSRF0IAv0no= github.com/dgryski/go-sip13 v0.0.0-20181026042036-e10d5fee7954/go.mod h1:vAd38F8PWV+bWy6jNmig1y/TA+kYO4g3RSRF0IAv0no=
github.com/dgryski/trifles v0.0.0-20200323201526-dd97f9abfb48/go.mod h1:if7Fbed8SFyPtHLHbg49SI7NAdJiC5WIA09pe59rfAA=
github.com/docopt/docopt.go v0.0.0-20180111231733-ee0de3bc6815 h1:HMAfwOa33y82IaQEKQDfUCiwNlxtM1iw7HLM9ru0RNc=
github.com/docopt/docopt.go v0.0.0-20180111231733-ee0de3bc6815/go.mod h1:l7JNRynTRuqe45tpIyItHNqZWTxywYjp87MWTOnU5cg=
github.com/dustin/go-humanize v1.0.0 h1:VSnTsYCnlFHaM2/igO1h6X3HA71jcobQuxemgkq4zYo=
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/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4=
github.com/fogleman/gg v1.3.0 h1:/7zJX8F6AaYQc57WQCyN9cAIz+4bCJGO9B+dyW29am8= github.com/felixge/httpsnoop v1.0.3 h1:s/nj+GCswXYzN5v2DpNMuMQYe+0DDwt5WVCU6CWBdXk=
github.com/fogleman/gg v1.3.0/go.mod h1:R/bRT+9gY/C5z7JzPU0zXsXHKM4/ayA+zqcVNZzPa1k= github.com/felixge/httpsnoop v1.0.3/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U=
github.com/fsnotify/fsnotify v1.4.3-0.20170329110642-4da3e2cfbabc/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo=
github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo=
github.com/fsnotify/fsnotify v1.4.9 h1:hsms1Qyu0jgnwNXIxa+/V/PDsU6CfLf6CNO8H7IWoS4= github.com/fsnotify/fsnotify v1.4.9 h1:hsms1Qyu0jgnwNXIxa+/V/PDsU6CfLf6CNO8H7IWoS4=
github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ= github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ=
github.com/garyburd/redigo v1.1.1-0.20170914051019-70e1b1943d4f/go.mod h1:NR3MbYisc3/PwhQ00EMzDiPmrwpPxAn5GI05/YaO1SY=
github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04=
github.com/go-chi/chi v3.3.2+incompatible/go.mod h1:eB3wogJHnLi3x/kFX2A+IbTBlXxmMeXJVKy9tTv1XzQ= github.com/go-chi/chi v3.3.2+incompatible/go.mod h1:eB3wogJHnLi3x/kFX2A+IbTBlXxmMeXJVKy9tTv1XzQ=
github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU= github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU=
github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= 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.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE=
github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk= github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk=
github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A=
github.com/go-logr/logr v1.2.4 h1:g01GSCwiDw2xSZfjJ2/T9M+S6pFdcNtFYsp+Y43HYDQ=
github.com/go-logr/logr v1.2.4/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A=
github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag=
github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE=
github.com/go-sql-driver/mysql v1.4.1/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.6.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY=
github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY=
github.com/gogo/protobuf v1.0.0/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= github.com/gogo/protobuf v1.0.0/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ=
github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= 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/gogo/protobuf v1.2.1/go.mod h1:hp+jE20tsWTFYpLwKvXlhS1hjn+gTNwPg2I6zVXpSg4=
github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0 h1:DACJavvAHhabrF08vX0COfcOBJRhZ8lUbR+ZWIs0Y5g=
github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0/go.mod h1:E/TSTwGwJL78qG/PmXZO1EjYhfJinVAhrmmHX6Z8B9k=
github.com/golang/gddo v0.0.0-20190815223733-287de01127ef/go.mod h1:xEhNfoBDX1hzLm2Nf80qUvZ2sVwoMZ8d6IE2SrsQfh4= github.com/golang/gddo v0.0.0-20190815223733-287de01127ef/go.mod h1:xEhNfoBDX1hzLm2Nf80qUvZ2sVwoMZ8d6IE2SrsQfh4=
github.com/golang/gddo v0.0.0-20200831202555-721e228c7686 h1:5vu7C+63KTbsSNnLhrgB98Sqy8MNVSW8FdhkcWA/3Rk=
github.com/golang/gddo v0.0.0-20200831202555-721e228c7686/go.mod h1:sam69Hju0uq+5uvLJUMDlsKlQ21Vrs1Kd/1YFPNYdOU=
github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q=
github.com/golang/glog v1.1.0 h1:/d3pCKDPWNnvIWe0vVUpNP32qc8U3PDVxySP/y360qE=
github.com/golang/glog v1.1.0/go.mod h1:pfYeQZ3JWZoXTV5sFc986z3HTpwQs9At6P4ImfuP3NQ=
github.com/golang/groupcache v0.0.0-20190129154638-5b532d6fd5ef/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/groupcache v0.0.0-20190129154638-5b532d6fd5ef/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
github.com/golang/lint v0.0.0-20170918230701-e5d664eb928e/go.mod h1:tluoj9z5200jBnyusfRPU2LqT6J+DAorxEvtC7LHB+E=
github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= 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/mock v1.2.0/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A=
github.com/golang/mock v1.3.1/go.mod h1:sBzyDLLjw3U8JLTeZvSv8jJB+tU5PVekmnlKIyFUx0Y= github.com/golang/mock v1.3.1/go.mod h1:sBzyDLLjw3U8JLTeZvSv8jJB+tU5PVekmnlKIyFUx0Y=
@@ -116,12 +92,10 @@ github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5y
github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk=
github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg= github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg=
github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY=
github.com/golang/snappy v0.0.0-20170215233205-553a64147049/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q=
github.com/gomarkdown/markdown v0.0.0-20200824053859-8c8b3816f167 h1:LP/6EfrZ/LyCc+SXvANDrIJ4sP9u2NAtqyv6QknetNQ= github.com/gomarkdown/markdown v0.0.0-20200824053859-8c8b3816f167 h1:LP/6EfrZ/LyCc+SXvANDrIJ4sP9u2NAtqyv6QknetNQ=
github.com/gomarkdown/markdown v0.0.0-20200824053859-8c8b3816f167/go.mod h1:aii0r/K0ZnHv7G0KF7xy1v0A7s2Ljrb5byB7MO5p6TU= github.com/gomarkdown/markdown v0.0.0-20200824053859-8c8b3816f167/go.mod h1:aii0r/K0ZnHv7G0KF7xy1v0A7s2Ljrb5byB7MO5p6TU=
github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= 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/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ=
github.com/google/go-cmp v0.1.1-0.20171103154506-982329095285/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M=
github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M=
github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU=
github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
@@ -131,7 +105,6 @@ github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXi
github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc=
github.com/google/pprof v0.0.0-20190515194954-54271f7e092f/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= github.com/google/pprof v0.0.0-20190515194954-54271f7e092f/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc=
github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI=
github.com/googleapis/gax-go v2.0.0+incompatible/go.mod h1:SFVmujtThgffbyetf+mdk2eWhX2bMyUtNHzFKcPA9HY=
github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg= github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg=
github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk= github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk=
github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY= github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY=
@@ -145,10 +118,11 @@ github.com/gorilla/mux v1.8.0/go.mod h1:DVbg23sWSpFRCP0SfiEN6jmj59UnW/n46BH5rLB7
github.com/gorilla/websocket v1.2.0/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ= github.com/gorilla/websocket v1.2.0/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ=
github.com/gorilla/websocket v1.4.0/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ= github.com/gorilla/websocket v1.4.0/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ=
github.com/gorilla/websocket v1.4.2/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= github.com/gorilla/websocket v1.4.2/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE=
github.com/gregjones/httpcache v0.0.0-20170920190843-316c5e0ff04e/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-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/go-grpc-prometheus v1.2.0/go.mod h1:8NvIoxWQoOIhqOTXgfV/d3M/q6VIi02HzZEHgUlZvzk=
github.com/grpc-ecosystem/grpc-gateway v1.9.0/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY= github.com/grpc-ecosystem/grpc-gateway v1.9.0/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY=
github.com/grpc-ecosystem/grpc-gateway/v2 v2.16.0 h1:YBftPWNWd4WwGqtY2yeZL2ef8rHAxPBD8KFhJpmcqms=
github.com/grpc-ecosystem/grpc-gateway/v2 v2.16.0/go.mod h1:YN5jB8ie0yfIUg6VvR9Kz84aCaG7AsGZnLjhHbUqwPg=
github.com/h2non/filetype v1.1.0 h1:Or/gjocJrJRNK/Cri/TDEKFjAR+cfG6eK65NGYB6gBA= github.com/h2non/filetype v1.1.0 h1:Or/gjocJrJRNK/Cri/TDEKFjAR+cfG6eK65NGYB6gBA=
github.com/h2non/filetype v1.1.0/go.mod h1:319b3zT68BvV+WRj7cwy856M2ehB3HqNOt6sy1HndBY= github.com/h2non/filetype v1.1.0/go.mod h1:319b3zT68BvV+WRj7cwy856M2ehB3HqNOt6sy1HndBY=
github.com/hashicorp/consul/api v1.1.0/go.mod h1:VmuI/Lkw1nC05EYQWNKwWGbkg+FbDBtguAZLlVdkD9Q= github.com/hashicorp/consul/api v1.1.0/go.mod h1:VmuI/Lkw1nC05EYQWNKwWGbkg+FbDBtguAZLlVdkD9Q=
@@ -165,17 +139,13 @@ github.com/hashicorp/go-uuid v1.0.0/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/b
github.com/hashicorp/go-uuid v1.0.1/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= github.com/hashicorp/go-uuid v1.0.1/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro=
github.com/hashicorp/go.net v0.0.1/go.mod h1:hjKkEWcCURg++eb33jQU7oqQcI9XDCnUzHA0oac0k90= github.com/hashicorp/go.net v0.0.1/go.mod h1:hjKkEWcCURg++eb33jQU7oqQcI9XDCnUzHA0oac0k90=
github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8=
github.com/hashicorp/golang-lru v0.5.1 h1:0hERBMJE1eitiLkihrMvRVBYAkpHzc/J3QdDN+dAcgU=
github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8=
github.com/hashicorp/hcl v0.0.0-20170914154624-68e816d1c783/go.mod h1:oZtUIOe8dh44I2q6ScRibXws4Ajl+d+nod3AaR9vL5w=
github.com/hashicorp/hcl v1.0.0 h1:0Anlzjpi4vEasTeNFn2mLJgTSwt0+6sfsiTG8qcWGx4= github.com/hashicorp/hcl v1.0.0 h1:0Anlzjpi4vEasTeNFn2mLJgTSwt0+6sfsiTG8qcWGx4=
github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ= github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ=
github.com/hashicorp/logutils v1.0.0/go.mod h1:QIAnNjmIWmVIIkWDTG1z5v++HQmx9WQRO+LraFDTW64= github.com/hashicorp/logutils v1.0.0/go.mod h1:QIAnNjmIWmVIIkWDTG1z5v++HQmx9WQRO+LraFDTW64=
github.com/hashicorp/mdns v1.0.0/go.mod h1:tL+uN++7HEJ6SQLQ2/p+z2pH24WQKWjBPkE0mNTz8vQ= github.com/hashicorp/mdns v1.0.0/go.mod h1:tL+uN++7HEJ6SQLQ2/p+z2pH24WQKWjBPkE0mNTz8vQ=
github.com/hashicorp/memberlist v0.1.3/go.mod h1:ajVTdAv/9Im8oMAAj5G31PhhMCZJV2pPBoIllUwCN7I= github.com/hashicorp/memberlist v0.1.3/go.mod h1:ajVTdAv/9Im8oMAAj5G31PhhMCZJV2pPBoIllUwCN7I=
github.com/hashicorp/serf v0.8.2/go.mod h1:6hOLApaqBFA1NXqRQAsxw9QxuDEvNxSQRwA/JwenrHc= github.com/hashicorp/serf v0.8.2/go.mod h1:6hOLApaqBFA1NXqRQAsxw9QxuDEvNxSQRwA/JwenrHc=
github.com/inconshreveable/log15 v0.0.0-20170622235902-74a0988b5f80/go.mod h1:cOaXtrgN4ScfRrD9Bre7U1thNq5RtJ8ZoP4iXVGRj6o=
github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8=
github.com/jmoiron/sqlx v0.0.0-20150110152746-69738bd20981/go.mod h1:IiEW3SEiiErVyFdH8NTuWjSifiEQKUoyK3LNqr2kCHU= github.com/jmoiron/sqlx v0.0.0-20150110152746-69738bd20981/go.mod h1:IiEW3SEiiErVyFdH8NTuWjSifiEQKUoyK3LNqr2kCHU=
github.com/jonboulle/clockwork v0.1.0/go.mod h1:Ii8DK3G1RaLaWxj9trq07+26W01tbo22gdxWY5EU2bo= github.com/jonboulle/clockwork v0.1.0/go.mod h1:Ii8DK3G1RaLaWxj9trq07+26W01tbo22gdxWY5EU2bo=
github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU= github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU=
@@ -189,8 +159,6 @@ github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxv
github.com/kr/fs v0.1.0/go.mod h1:FFnZGqtBN9Gxj7eW1uZ42v5BccTP0vu6NEaFoC2HwRg= github.com/kr/fs v0.1.0/go.mod h1:FFnZGqtBN9Gxj7eW1uZ42v5BccTP0vu6NEaFoC2HwRg=
github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc= 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/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
github.com/kr/pretty v0.2.0/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI=
github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI=
github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE=
github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk=
github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
@@ -200,27 +168,24 @@ github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
github.com/lann/builder v0.0.0-20180802200727-47ae307949d0/go.mod h1:dXGbAdH5GtBTC4WfIxhKZfyBF/HBFgRZSWwZ9g/He9o= github.com/lann/builder v0.0.0-20180802200727-47ae307949d0/go.mod h1:dXGbAdH5GtBTC4WfIxhKZfyBF/HBFgRZSWwZ9g/He9o=
github.com/lann/ps v0.0.0-20150810152359-62de8c46ede0/go.mod h1:vmVJ0l/dxyfGW6FmdpVm2joNMFikkuWg0EoCKLGUMNw= github.com/lann/ps v0.0.0-20150810152359-62de8c46ede0/go.mod h1:vmVJ0l/dxyfGW6FmdpVm2joNMFikkuWg0EoCKLGUMNw=
github.com/lib/pq v1.2.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= github.com/lib/pq v1.2.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo=
github.com/lucasb-eyer/go-colorful v1.0.3 h1:QIbQXiugsb+q10B+MI+7DI1oQLdmnep86tWFlaaUAac=
github.com/lucasb-eyer/go-colorful v1.0.3/go.mod h1:R4dSotOR9KMtayYi1e77YzuveK+i7ruzyGqttikkLy0=
github.com/magiconair/properties v1.7.4-0.20170902060319-8d7837e64d3c/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ=
github.com/magiconair/properties v1.8.0/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= github.com/magiconair/properties v1.8.0/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ=
github.com/magiconair/properties v1.8.1 h1:ZC2Vc7/ZFkGmsVC9KvOjumD+G5lXy2RtTKyzRKO2BQ4= github.com/magiconair/properties v1.8.1 h1:ZC2Vc7/ZFkGmsVC9KvOjumD+G5lXy2RtTKyzRKO2BQ4=
github.com/magiconair/properties v1.8.1/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= github.com/magiconair/properties v1.8.1/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ=
github.com/matryer/is v1.4.1 h1:55ehd8zaGABKLXQUe2awZ99BD/PTc2ls+KV/dXphgEQ=
github.com/matryer/is v1.4.1/go.mod h1:8I/i5uYgLzgsgEloJE1U6xx5HkBQpAZvepWuujKwMRU=
github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU= github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU=
github.com/mattn/go-colorable v0.0.10-0.20170816031813-ad5389df28cd/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU=
github.com/mattn/go-isatty v0.0.2/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4=
github.com/mattn/go-isatty v0.0.3/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= github.com/mattn/go-isatty v0.0.3/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4=
github.com/mattn/go-sqlite3 v1.11.0/go.mod h1:FPy6KqzDD04eiIsT53CuJW3U88zkxoIYsOqkbpncsNc= github.com/mattn/go-sqlite3 v1.11.0/go.mod h1:FPy6KqzDD04eiIsT53CuJW3U88zkxoIYsOqkbpncsNc=
github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0=
github.com/matttproud/golang_protobuf_extensions v1.0.4 h1:mmDVorXM7PCGKw94cs5zkfA9PSy5pEvNWRP0ET0TIVo=
github.com/matttproud/golang_protobuf_extensions v1.0.4/go.mod h1:BSXmuO+STAnVfrANrmjBb36TMTDstsz7MSK+HVaYKv4=
github.com/miekg/dns v1.0.14/go.mod h1:W1PPwlIAgtquWBMBEV9nkV9Cazfe8ScdGz/Lj7v3Nrg= github.com/miekg/dns v1.0.14/go.mod h1:W1PPwlIAgtquWBMBEV9nkV9Cazfe8ScdGz/Lj7v3Nrg=
github.com/mitchellh/cli v1.0.0/go.mod h1:hNIlj7HEI86fIcpObd7a0FcrxTWetlwJDGcceTlRvqc= github.com/mitchellh/cli v1.0.0/go.mod h1:hNIlj7HEI86fIcpObd7a0FcrxTWetlwJDGcceTlRvqc=
github.com/mitchellh/go-homedir v1.0.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= 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/go-testing-interface v1.0.0/go.mod h1:kRemZodwjscx+RGhAo8eIhFbs2+BFgRtFPeD/KE+zxI= github.com/mitchellh/go-testing-interface v1.0.0/go.mod h1:kRemZodwjscx+RGhAo8eIhFbs2+BFgRtFPeD/KE+zxI=
github.com/mitchellh/gox v0.4.0/go.mod h1:Sd9lOJ0+aimLBi73mGofS1ycjY8lL3uZM3JPS42BGNg= github.com/mitchellh/gox v0.4.0/go.mod h1:Sd9lOJ0+aimLBi73mGofS1ycjY8lL3uZM3JPS42BGNg=
github.com/mitchellh/iochan v1.0.0/go.mod h1:JwYml1nuB7xOzsp52dPpHFffvOCDupsG0QubkSMEySY= github.com/mitchellh/iochan v1.0.0/go.mod h1:JwYml1nuB7xOzsp52dPpHFffvOCDupsG0QubkSMEySY=
github.com/mitchellh/mapstructure v0.0.0-20160808181253-ca63d7c062ee/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= github.com/mitchellh/mapstructure v0.0.0-20160808181253-ca63d7c062ee/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y=
github.com/mitchellh/mapstructure v0.0.0-20170523030023-d0303fe80992/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y=
github.com/mitchellh/mapstructure v0.0.0-20180203102830-a4e142e9c047/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= github.com/mitchellh/mapstructure v0.0.0-20180203102830-a4e142e9c047/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y=
github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y=
github.com/mitchellh/mapstructure v1.5.0 h1:jeMsZIYE/09sWLaz43PL7Gy6RuMjD2eJVyuac5Z2hdY= github.com/mitchellh/mapstructure v1.5.0 h1:jeMsZIYE/09sWLaz43PL7Gy6RuMjD2eJVyuac5Z2hdY=
@@ -234,43 +199,44 @@ github.com/opentracing/opentracing-go v1.0.2/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFSt
github.com/opentracing/opentracing-go v1.1.0/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o= github.com/opentracing/opentracing-go v1.1.0/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o=
github.com/pascaldekloe/goe v0.0.0-20180627143212-57f6aae5913c/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc= github.com/pascaldekloe/goe v0.0.0-20180627143212-57f6aae5913c/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc=
github.com/patrickmn/go-cache v2.1.0+incompatible/go.mod h1:3Qf8kWWT7OJRJbdiICTKqZju1ZixQ/KpMGzzAfe6+WQ= github.com/patrickmn/go-cache v2.1.0+incompatible/go.mod h1:3Qf8kWWT7OJRJbdiICTKqZju1ZixQ/KpMGzzAfe6+WQ=
github.com/pelletier/go-toml v1.0.1-0.20170904195809-1d6b12b7cb29/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic=
github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic= github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic=
github.com/pelletier/go-toml v1.5.0/go.mod h1:5N711Q9dKgbdkxHL+MEfF31hpT7l0S0s/t2kKREewys= github.com/pelletier/go-toml v1.5.0/go.mod h1:5N711Q9dKgbdkxHL+MEfF31hpT7l0S0s/t2kKREewys=
github.com/pelletier/go-toml v1.8.0 h1:Keo9qb7iRJs2voHvunFtuuYFsbWeOBh8/P9v/kVMFtw= github.com/pelletier/go-toml v1.8.0 h1:Keo9qb7iRJs2voHvunFtuuYFsbWeOBh8/P9v/kVMFtw=
github.com/pelletier/go-toml v1.8.0/go.mod h1:D6yutnOGMveHEPV7VQOuvI/gXY61bv+9bAOTRnLElKs= github.com/pelletier/go-toml v1.8.0/go.mod h1:D6yutnOGMveHEPV7VQOuvI/gXY61bv+9bAOTRnLElKs=
github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e/go.mod h1:pJLUxLENpZxwdsKMEsNbx1VGcRFpLqf3715MtcvvzbA=
github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= 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/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4=
github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
github.com/pkg/sftp v1.10.1/go.mod h1:lYOWFsE0bwd1+KfKJaKeuokY15vzFx25BLbzYYoAxZI= github.com/pkg/sftp v1.10.1/go.mod h1:lYOWFsE0bwd1+KfKJaKeuokY15vzFx25BLbzYYoAxZI=
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= 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/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/posener/complete v1.1.1/go.mod h1:em0nMJCgc9GFtwrmVmEMR/ZL6WyhyjMBndrE9hABlRI= github.com/posener/complete v1.1.1/go.mod h1:em0nMJCgc9GFtwrmVmEMR/ZL6WyhyjMBndrE9hABlRI=
github.com/prometheus/client_golang v0.9.1/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_golang v0.9.3/go.mod h1:/TN21ttK/J9q6uSwhBd54HahCDft0ttaMvbicHlPoso=
github.com/prometheus/client_golang v1.17.0 h1:rl2sfwZMtSthVU752MqfjQozy7blglC+1SOtjMAMh+Q=
github.com/prometheus/client_golang v1.17.0/go.mod h1:VeL+gMmOAxkS2IqfCq0ZmHSL+LjWfWDUmp1mBz9JgUY=
github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= 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/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA=
github.com/prometheus/client_model v0.4.1-0.20230718164431-9a2bf3000d16 h1:v7DLqVdK4VrYkVD5diGdl4sxJurKJEMnODWRJlxV9oM=
github.com/prometheus/client_model v0.4.1-0.20230718164431-9a2bf3000d16/go.mod h1:oMQmHW1/JoDwqLtg57MGgP/Fb1CJEYF2imWWhWtMkYU=
github.com/prometheus/common v0.0.0-20181113130724-41aa239b4cce/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/common v0.4.0/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4=
github.com/prometheus/common v0.44.0 h1:+5BrQJwiBB9xsMygAB3TNvpQKOwlkc25LbISbrdOOfY=
github.com/prometheus/common v0.44.0/go.mod h1:ofAIvZbQ1e/nugmZGz4/qCb9Ap1VoSTIO7x0VV9VvuY=
github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/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/procfs v0.0.0-20190507164030-5867b95ac084/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA=
github.com/prometheus/procfs v0.12.0 h1:jluTpSng7V9hY0O2R9DzzJHYb2xULk9VTR1V1R/k6Bo=
github.com/prometheus/procfs v0.12.0/go.mod h1:pcuDEFsWDnvcgNzo4EEweacyhjeA9Zk3cnaOZAZEfOo=
github.com/prometheus/tsdb v0.7.1/go.mod h1:qhTCs0VvXwvX/y3TZrWD7rabWM+ijKTux40TwIPHuXU= github.com/prometheus/tsdb v0.7.1/go.mod h1:qhTCs0VvXwvX/y3TZrWD7rabWM+ijKTux40TwIPHuXU=
github.com/remyoudompheng/go-liblzma v0.0.0-20190506200333-81bf2d431b96 h1:J8J/cgLDRuqXJnwIrRDBvtl+LLsdg7De74znW/BRRq4= github.com/remyoudompheng/go-liblzma v0.0.0-20190506200333-81bf2d431b96 h1:J8J/cgLDRuqXJnwIrRDBvtl+LLsdg7De74znW/BRRq4=
github.com/remyoudompheng/go-liblzma v0.0.0-20190506200333-81bf2d431b96/go.mod h1:90HvCY7+oHHUKkbeMCiHt1WuFR2/hPJ9QrljDG+v6ls= github.com/remyoudompheng/go-liblzma v0.0.0-20190506200333-81bf2d431b96/go.mod h1:90HvCY7+oHHUKkbeMCiHt1WuFR2/hPJ9QrljDG+v6ls=
github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6SoW27p1b0cqNHllgS5HIMJraePCO15w5zCzIWYg= github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6SoW27p1b0cqNHllgS5HIMJraePCO15w5zCzIWYg=
github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4=
github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs=
github.com/rogpeppe/go-internal v1.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjRBZyWFQ= github.com/rogpeppe/go-internal v1.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjRBZyWFQ=
github.com/rogpeppe/go-internal v1.10.0/go.mod h1:UQnix2H7Ngw/k4C5ijL5+65zddjncjaFoBhdsK/akog= github.com/rogpeppe/go-internal v1.10.0/go.mod h1:UQnix2H7Ngw/k4C5ijL5+65zddjncjaFoBhdsK/akog=
github.com/rs/cors v1.6.0 h1:G9tHG9lebljV9mfp9SNPDL36nCDxmo3zTlAf1YgvzmI=
github.com/rs/cors v1.6.0/go.mod h1:gFx+x8UowdsKA9AchylcLynDq+nNFfI8FkUZdN/jGCU= github.com/rs/cors v1.6.0/go.mod h1:gFx+x8UowdsKA9AchylcLynDq+nNFfI8FkUZdN/jGCU=
github.com/russross/blackfriday v1.5.2/go.mod h1:JO/DiYxRf+HjHt06OyowR9PTA263kcR/rfWxYHBV53g=
github.com/ryanuber/columnize v0.0.0-20160712163229-9b3edd62028f/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= github.com/ryanuber/columnize v0.0.0-20160712163229-9b3edd62028f/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts=
github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529/go.mod h1:DxrIzT+xaE7yg65j358z/aeFdxmN0P9QXhEzd20vsDc= github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529/go.mod h1:DxrIzT+xaE7yg65j358z/aeFdxmN0P9QXhEzd20vsDc=
github.com/sergi/go-diff v1.0.0/go.mod h1:0CfEIISq7TuYL3j771MWULgwwjU+GofnZX9QAmXWZgo= github.com/sergi/go-diff v1.0.0/go.mod h1:0CfEIISq7TuYL3j771MWULgwwjU+GofnZX9QAmXWZgo=
github.com/sergi/go-diff v1.3.1 h1:xkr+Oxo4BOQKmkn/B9eMK0g5Kg/983T9DqqPHwYqD+8=
github.com/sergi/go-diff v1.3.1/go.mod h1:aMJSSKb2lpPvRNec0+w3fl7LP9IOFzdc9Pa4NFbPK1I=
github.com/shurcooL/httpfs v0.0.0-20171119174359-809beceb2371/go.mod h1:ZY1cvUeJuFPAdZ/B6v7RHavJWZn2YPVFQ1OSXhCGOkg= github.com/shurcooL/httpfs v0.0.0-20171119174359-809beceb2371/go.mod h1:ZY1cvUeJuFPAdZ/B6v7RHavJWZn2YPVFQ1OSXhCGOkg=
github.com/shurcooL/vfsgen v0.0.0-20180121065927-ffb13db8def0/go.mod h1:TrYk7fJVaAttu97ZZKrO9UbRa8izdowaMIZcxYMbVaw= github.com/shurcooL/vfsgen v0.0.0-20180121065927-ffb13db8def0/go.mod h1:TrYk7fJVaAttu97ZZKrO9UbRa8izdowaMIZcxYMbVaw=
github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo=
@@ -281,33 +247,20 @@ github.com/smartystreets/goconvey v0.0.0-20170602164621-9e8dc3f972df/go.mod h1:X
github.com/smartystreets/goconvey v1.6.4 h1:fv0U8FUIMPNf1L9lnHLvLhgicrIVChEkdzIKYqbNC9s= github.com/smartystreets/goconvey v1.6.4 h1:fv0U8FUIMPNf1L9lnHLvLhgicrIVChEkdzIKYqbNC9s=
github.com/smartystreets/goconvey v1.6.4/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA= github.com/smartystreets/goconvey v1.6.4/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA=
github.com/soheilhy/cmux v0.1.4/go.mod h1:IM3LyeVVIOuxMH7sFAkER9+bJ4dT7Ms6E4xg4kGIyLM= github.com/soheilhy/cmux v0.1.4/go.mod h1:IM3LyeVVIOuxMH7sFAkER9+bJ4dT7Ms6E4xg4kGIyLM=
github.com/sour-is/crypto v0.0.0-20201016232853-f42a24ba5a81 h1:7LadZJfye3tq1Dr5c46uy1ign6mQr2bAOlCJeAXpB1A=
github.com/sour-is/crypto v0.0.0-20201016232853-f42a24ba5a81/go.mod h1:7/Of5cnNodFyJ6PH2C3STkdCRvqbhj9yA3BhQ/E62wA=
github.com/sour-is/go-assetfs v1.0.0 h1:84Fd12qIAdZUOKjYIgsA1J27fcQF/JiSgiflz+2hqEA=
github.com/sour-is/go-assetfs v1.0.0/go.mod h1:y4ShXMTRymi5OMvwbtfT3sxcRE72sx1ycYymT46JbRE=
github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA=
github.com/spaolacci/murmur3 v1.1.0 h1:7c1g84S4BPRrfL5Xrdp6fOJ206sU9y293DDHaoy0bLI=
github.com/spaolacci/murmur3 v1.1.0/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA=
github.com/spf13/afero v0.0.0-20170901052352-ee1bd8ee15a1/go.mod h1:j4pytiNVoe2o6bmDsKpLACNPDBIoEAkihy7loJ1B0CQ=
github.com/spf13/afero v1.1.2/go.mod h1:j4pytiNVoe2o6bmDsKpLACNPDBIoEAkihy7loJ1B0CQ= github.com/spf13/afero v1.1.2/go.mod h1:j4pytiNVoe2o6bmDsKpLACNPDBIoEAkihy7loJ1B0CQ=
github.com/spf13/afero v1.2.2/go.mod h1:9ZxEEn6pIJ8Rxe320qSDBk6AsU0r9pR7Q4OcevTdifk= github.com/spf13/afero v1.2.2/go.mod h1:9ZxEEn6pIJ8Rxe320qSDBk6AsU0r9pR7Q4OcevTdifk=
github.com/spf13/afero v1.3.2 h1:GDarE4TJQI52kYSbSAmLiId1Elfj+xgSDqrUZxFhxlU= github.com/spf13/afero v1.3.2 h1:GDarE4TJQI52kYSbSAmLiId1Elfj+xgSDqrUZxFhxlU=
github.com/spf13/afero v1.3.2/go.mod h1:5KUK8ByomD5Ti5Artl0RtHeI5pTF7MIDuXL3yY520V4= github.com/spf13/afero v1.3.2/go.mod h1:5KUK8ByomD5Ti5Artl0RtHeI5pTF7MIDuXL3yY520V4=
github.com/spf13/cast v1.1.0/go.mod h1:r2rcYCSwa1IExKTDiTfzaxqT2FNHs8hODu4LnUfgKEg=
github.com/spf13/cast v1.3.0/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= github.com/spf13/cast v1.3.0/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE=
github.com/spf13/cast v1.3.1 h1:nFm6S0SMdyzrzcmThSipiEubIDy8WEXKNZ0UOgiRpng= github.com/spf13/cast v1.3.1 h1:nFm6S0SMdyzrzcmThSipiEubIDy8WEXKNZ0UOgiRpng=
github.com/spf13/cast v1.3.1/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= github.com/spf13/cast v1.3.1/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE=
github.com/spf13/cobra v0.0.5/go.mod h1:3K3wKZymM7VvHMDS9+Akkh4K60UwM26emMESw8tLCHU=
github.com/spf13/jwalterweatherman v0.0.0-20170901151539-12bd96e66386/go.mod h1:cQK4TGJAtQXfYWX+Ddv3mKDzgVb68N+wFjFa4jdeBTo=
github.com/spf13/jwalterweatherman v1.0.0/go.mod h1:cQK4TGJAtQXfYWX+Ddv3mKDzgVb68N+wFjFa4jdeBTo= github.com/spf13/jwalterweatherman v1.0.0/go.mod h1:cQK4TGJAtQXfYWX+Ddv3mKDzgVb68N+wFjFa4jdeBTo=
github.com/spf13/jwalterweatherman v1.1.0 h1:ue6voC5bR5F8YxI5S67j9i582FU4Qvo2bmqnqMYADFk= github.com/spf13/jwalterweatherman v1.1.0 h1:ue6voC5bR5F8YxI5S67j9i582FU4Qvo2bmqnqMYADFk=
github.com/spf13/jwalterweatherman v1.1.0/go.mod h1:aNWZUN0dPAAO/Ljvb5BEdw96iTZ0EXowPYD95IqWIGo= github.com/spf13/jwalterweatherman v1.1.0/go.mod h1:aNWZUN0dPAAO/Ljvb5BEdw96iTZ0EXowPYD95IqWIGo=
github.com/spf13/pflag v1.0.1-0.20170901120850-7aff26db30c1/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4=
github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4=
github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA=
github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg=
github.com/spf13/viper v1.0.0/go.mod h1:A8kyI5cUJhb8N+3pkfONlcEcZbueH6nhAm0Fq7SrnBM=
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/spf13/viper v1.4.0/go.mod h1:PTJ7Z/lr49W6bUbkmS1V3by4uWynFiR9p7+dSq/yZzE=
github.com/spf13/viper v1.7.1 h1:pM5oEahlgWv/WnHXpgbKz7iLIxRf65tye2Ci+XFK5sk= github.com/spf13/viper v1.7.1 h1:pM5oEahlgWv/WnHXpgbKz7iLIxRf65tye2Ci+XFK5sk=
github.com/spf13/viper v1.7.1/go.mod h1:8WkrPz2fc9jxqZNCJI/76HCieCp4Q8HaLFoCha5qpdg= github.com/spf13/viper v1.7.1/go.mod h1:8WkrPz2fc9jxqZNCJI/76HCieCp4Q8HaLFoCha5qpdg=
@@ -321,49 +274,55 @@ github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcU
github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo=
github.com/subosito/gotenv v1.2.0 h1:Slr1R9HxAlEKefgq5jn9U+DnETlIUa6HfgEzj0g5d7s= github.com/subosito/gotenv v1.2.0 h1:Slr1R9HxAlEKefgq5jn9U+DnETlIUa6HfgEzj0g5d7s=
github.com/subosito/gotenv v1.2.0/go.mod h1:N0PQaV/YGNqwC0u51sEeR/aUtSLEXKX9iv69rRypqCw= github.com/subosito/gotenv v1.2.0/go.mod h1:N0PQaV/YGNqwC0u51sEeR/aUtSLEXKX9iv69rRypqCw=
github.com/timshannon/badgerhold v1.0.0 h1:LtqnDRVP7294FWRiZCIfQa6Tt0bGmlzbO8c364QC2Y8=
github.com/timshannon/badgerhold v1.0.0/go.mod h1:Vv2Jj0PAfzqViEpGvJzLP8PY07x1iXLgKRuLY7bqPOE=
github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U=
github.com/tv42/zbase32 v0.0.0-20190604154422-aacc64a8f915 h1:vX9DBbEHmrebYnVthUTzMO6Zc1vvConJdD2s0uvXrfw=
github.com/tv42/zbase32 v0.0.0-20190604154422-aacc64a8f915/go.mod h1:Y5DJgF9Eou+hSWetC39Mns8E0PU7DykCLNWiYeOINrE=
github.com/ugorji/go v1.1.4/go.mod h1:uQMGLiO92mf5W77hV/PUCpI3pbzQx3CRekS0kk+RGrc= 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/urfave/cli v1.20.0/go.mod h1:70zkFmudgCuE/ngEzBv17Jvp/497gISqfk5gWijbERA= github.com/urfave/cli v1.20.0/go.mod h1:70zkFmudgCuE/ngEzBv17Jvp/497gISqfk5gWijbERA=
github.com/vektah/dataloaden v0.2.1-0.20190515034641-a19b9a6e7c9e/go.mod h1:/HUdMve7rvxZma+2ZELQeNh88+003LL7Pf/CZ089j8U= github.com/vektah/dataloaden v0.2.1-0.20190515034641-a19b9a6e7c9e/go.mod h1:/HUdMve7rvxZma+2ZELQeNh88+003LL7Pf/CZ089j8U=
github.com/vektah/gqlparser v1.1.2/go.mod h1:1ycwN7Ij5njmMkPPAOaRFY4rET2Enx7IkVv3vaXspKw= github.com/vektah/gqlparser v1.1.2/go.mod h1:1ycwN7Ij5njmMkPPAOaRFY4rET2Enx7IkVv3vaXspKw=
github.com/vektah/gqlparser/v2 v2.5.6 h1:Ou14T0N1s191eRMZ1gARVqohcbe1e8FrcONScsq8cRU=
github.com/vektah/gqlparser/v2 v2.5.6/go.mod h1:z8xXUff237NntSuH8mLFijZ+1tjV1swDbpDqjJmk6ME=
github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2/go.mod h1:UETIi67q53MR2AWcXfiuqkDkRtnGDLqkBTpCHuJHxtU= 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/xordataexchange/crypt v0.0.3-0.20170626215501-b2862e3d0a77/go.mod h1:aYKd//L2LvnjZzWKhF00oedf4jCCReLcmhLdhm1A27Q=
github.com/yeqown/go-qrcode/v2 v2.2.2 h1:0comk6jEwi0oWNhKEmzx4JI+Q7XIneAApmFSMKWmSVc=
github.com/yeqown/go-qrcode/v2 v2.2.2/go.mod h1:2Qsk2APUCPne0TsRo40DIkI5MYnbzYKCnKGEFWrxd24=
github.com/yeqown/go-qrcode/writer/standard v1.2.2 h1:gyzunKXgC0ZUpKqQFUImbAEwewAiwNCkxFEKZV80Kt4=
github.com/yeqown/go-qrcode/writer/standard v1.2.2/go.mod h1:bbVRiBJSRPj4UBZP/biLG7JSd9kHqXjErk1eakAMnRA=
github.com/yeqown/reedsolomon v1.0.0 h1:x1h/Ej/uJnNu8jaX7GLHBWmZKCAWjEJTetkqaabr4B0=
github.com/yeqown/reedsolomon v1.0.0/go.mod h1:P76zpcn2TCuL0ul1Fso373qHRc69LKwAw/Iy6g1WiiM=
github.com/yosssi/gmq v0.0.1 h1:GhlDVaAQoi3Mvjul/qJXXGfL4JBeE0GQwbWp3eIsja8=
github.com/yosssi/gmq v0.0.1/go.mod h1:mReykazh0U1JabvuWh1PEbzzJftqOQWsjr0Lwg5jL1Y= github.com/yosssi/gmq v0.0.1/go.mod h1:mReykazh0U1JabvuWh1PEbzzJftqOQWsjr0Lwg5jL1Y=
github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY=
go.etcd.io/bbolt v1.3.2/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= go.etcd.io/bbolt v1.3.2/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU=
go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU= go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU=
go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8= go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8=
go.uber.org/atomic v1.4.0 h1:cxzIVoETapQEqDhQu3QfnvXAV4AlzcvUCxkVUFw3+EU= go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.44.0 h1:KfYpVmrjI7JuToy5k8XV3nkapjWx48k4E4JOtVstzQI=
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.44.0/go.mod h1:SeQhzAEccGVZVEy7aH87Nh0km+utSpo1pTv6eMMop48=
go.opentelemetry.io/contrib/instrumentation/runtime v0.42.0 h1:EbmAUG9hEAMXyfWEasIt2kmh/WmXUznUksChApTgBGc=
go.opentelemetry.io/contrib/instrumentation/runtime v0.42.0/go.mod h1:rD9feqRYP24P14t5kmhNMqsqm1jvKmpx2H2rKVw52V8=
go.opentelemetry.io/otel v1.18.0 h1:TgVozPGZ01nHyDZxK5WGPFB9QexeTMXEH7+tIClWfzs=
go.opentelemetry.io/otel v1.18.0/go.mod h1:9lWqYO0Db579XzVuCKFNPDl4s73Voa+zEck3wHaAYQI=
go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.18.0 h1:IAtl+7gua134xcV3NieDhJHjjOVeJhXAnYf/0hswjUY=
go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.18.0/go.mod h1:w+pXobnBzh95MNIkeIuAKcHe/Uu/CX2PKIvBP6ipKRA=
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.18.0 h1:6pu8ttx76BxHf+xz/H77AUZkPF3cwWzXqAUsXhVKI18=
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.18.0/go.mod h1:IOmXxPrxoxFMXdNy7lfDmE8MzE61YPcurbUm0SMjerI=
go.opentelemetry.io/otel/exporters/prometheus v0.41.0 h1:A3/bhjP5SmELy8dcpK+uttHeh9Qrh+YnS16/VzrztRQ=
go.opentelemetry.io/otel/exporters/prometheus v0.41.0/go.mod h1:mKuXEMi9suyyNJQ99SZCO0mpWGFe0MIALtjd3r6uo7Q=
go.opentelemetry.io/otel/metric v1.18.0 h1:JwVzw94UYmbx3ej++CwLUQZxEODDj/pOuTCvzhtRrSQ=
go.opentelemetry.io/otel/metric v1.18.0/go.mod h1:nNSpsVDjWGfb7chbRLUNW+PBNdcSTHD4Uu5pfFMOI0k=
go.opentelemetry.io/otel/sdk v1.18.0 h1:e3bAB0wB3MljH38sHzpV/qWrOTCFrdZF2ct9F8rBkcY=
go.opentelemetry.io/otel/sdk v1.18.0/go.mod h1:1RCygWV7plY2KmdskZEDDBs4tJeHG92MdHZIluiYs/M=
go.opentelemetry.io/otel/sdk/metric v0.41.0 h1:c3sAt9/pQ5fSIUfl0gPtClV3HhE18DCVzByD33R/zsk=
go.opentelemetry.io/otel/sdk/metric v0.41.0/go.mod h1:PmOmSt+iOklKtIg5O4Vz9H/ttcRFSNTgii+E1KGyn1w=
go.opentelemetry.io/otel/trace v1.18.0 h1:NY+czwbHbmndxojTEKiSMHkG2ClNH2PwmcHrdo0JY10=
go.opentelemetry.io/otel/trace v1.18.0/go.mod h1:T2+SGJGuYZY3bjj5rgh/hN7KIrlpWC5nS8Mjvzckz+0=
go.opentelemetry.io/proto/otlp v1.0.0 h1:T0TX0tmXU8a3CbNXzEKGeU5mIVOdf0oykP+u2lIVU/I=
go.opentelemetry.io/proto/otlp v1.0.0/go.mod h1:Sy6pihPLfYHkr3NkUbEhGHFhINUSI/v80hjKIs5JXpM=
go.sour.is/paste v0.0.0-20231022150928-96338f2f4441 h1:9un6JVrufqnWGBKxYKSfgQlh1rV7HztT8Bns0YdyZDc=
go.sour.is/paste v0.0.0-20231022150928-96338f2f4441/go.mod h1:ydiXZa7htkXTbifRHxUR+LppH3kXrN1XqPd19VSzPdI=
go.sour.is/pkg v0.0.6 h1:tbE3zxl0WtCn7isPBWEEjZVzDhV8lWGU6qmfVR0t5gw=
go.sour.is/pkg v0.0.6/go.mod h1:IKGL3C4IkY3HPA2txGjBi1JPOEU5PJOUzQwt+qYZBW0=
go.uber.org/atomic v1.4.0/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/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0=
go.uber.org/ratelimit v0.1.0 h1:U2AruXqeTb4Eh9sYQSTrMhH8Cb7M0Ian2ibBOnBcnAw= go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0=
go.uber.org/ratelimit v0.1.0/go.mod h1:2X8KaoNd1J0lZV+PxJk/5+DGbO/tpwLR1m++a7FnB/Y= go.uber.org/multierr v1.11.0/go.mod h1:20+QtiLqy0Nd6FdQB9TLXag12DsQkrbs3htMFfDN80Y=
go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q=
golang.org/dl v0.0.0-20190829154251-82a15e2f2ead/go.mod h1:IUMfjQLJQd4UTqG1Z90tenwKoCX93Gn3MAQJMOSBsDQ= golang.org/dl v0.0.0-20190829154251-82a15e2f2ead/go.mod h1:IUMfjQLJQd4UTqG1Z90tenwKoCX93Gn3MAQJMOSBsDQ=
golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
golang.org/x/crypto v0.0.0-20181029021203-45a5f77698d3/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20181029021203-45a5f77698d3/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
golang.org/x/crypto v0.0.0-20181203042331-505ab145d0a9/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-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
golang.org/x/crypto v0.0.0-20190820162420-60c769a6c586/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190820162420-60c769a6c586/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
golang.org/x/crypto v0.14.0 h1:wBqGXzWJW6m1XrIKlAH0Hs1JJ7+9KBwnIO8v66Q9cHc=
golang.org/x/crypto v0.14.0/go.mod h1:MVFd36DqK4CsrnJYDkBA3VC4m2GkXAM0PvzMCn4JQf4=
golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8=
@@ -371,8 +330,6 @@ golang.org/x/exp v0.0.0-20190829153037-c13cbed26979/go.mod h1:86+5VVa7VpoJ4kLfm0
golang.org/x/exp v0.0.0-20191030013958-a1ab85dbe136/go.mod h1:JXzH8nQsPlswgeRAPE3MuO9GYsAcnJvJ4vnMwN/5qkY= golang.org/x/exp v0.0.0-20191030013958-a1ab85dbe136/go.mod h1:JXzH8nQsPlswgeRAPE3MuO9GYsAcnJvJ4vnMwN/5qkY=
golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js= golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js=
golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0=
golang.org/x/image v0.5.0 h1:5JMiNunQeQw++mMOz48/ISeNu3Iweh/JaZU8ZLqHRrI=
golang.org/x/image v0.5.0/go.mod h1:FVC7BI/5Ym8R25iw5OLsgshdUBbT1h5jZTpA+mvAdZ4=
golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/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-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU=
golang.org/x/lint v0.0.0-20190301231843-5614ed5bae6f/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= golang.org/x/lint v0.0.0-20190301231843-5614ed5bae6f/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=
@@ -384,7 +341,6 @@ golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod h1:z+o9i4GpDbdi3rU
golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028/go.mod h1:E/iHnbuqvinMTCcRqshq8CkpyQDoeVncDDYHnLhea+o= golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028/go.mod h1:E/iHnbuqvinMTCcRqshq8CkpyQDoeVncDDYHnLhea+o=
golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod h1:mXi4GBBbnImb6dmsKGUJ2LatrhH/nqhxcFungHvyanc= golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod h1:mXi4GBBbnImb6dmsKGUJ2LatrhH/nqhxcFungHvyanc=
golang.org/x/mod v0.1.0/go.mod h1:0QHyrYULN0/3qlju5TqG8bIK38QM8yzMo5ekMj3DlcY= golang.org/x/mod v0.1.0/go.mod h1:0QHyrYULN0/3qlju5TqG8bIK38QM8yzMo5ekMj3DlcY=
golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4=
golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180724234803-3673e40ba225/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-20180826012351-8a410e7b638d/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-20181023162649-9b4f9f5ad519/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
@@ -400,28 +356,24 @@ golang.org/x/net v0.0.0-20190503192946-f4e77d36d62c/go.mod h1:t9HGtf8HONx5eT2rtn
golang.org/x/net v0.0.0-20190522155817-f3200d17e092/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= 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-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks=
golang.org/x/net v0.0.0-20190620200207-3b0461eec859/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-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c=
golang.org/x/net v0.17.0 h1:pVaXccu2ozPjCXewfr1S7xza/zcXTity9cCdXQYSjIM= golang.org/x/net v0.17.0 h1:pVaXccu2ozPjCXewfr1S7xza/zcXTity9cCdXQYSjIM=
golang.org/x/net v0.17.0/go.mod h1:NxSsAGuq816PNPmqtQdLE42eU2Fs7NoRIZrHJAlaCOE= golang.org/x/net v0.17.0/go.mod h1:NxSsAGuq816PNPmqtQdLE42eU2Fs7NoRIZrHJAlaCOE=
golang.org/x/oauth2 v0.0.0-20170912212905-13449ad91cb2/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
golang.org/x/sync v0.0.0-20170517211232-f52d1811a629/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= 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-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-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-20190227155943-e225da77a7e6/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-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.3.0 h1:ftCYgMx6zT/asHUrPw8BLLscYtGznsLAnjq5RH9P66E=
golang.org/x/sync v0.3.0/go.mod h1:FU7BRWz2tNW+3quACPkgCx/L+uEAv1htQ0V83Z9Rj+Y=
golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/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-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-20180905080454-ebe1bf3edb33/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-20181026203630-95b1ffbd15a5/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-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-20181116152217-5ac8a444bdc5/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-20190215142949-d0b11bdaac8a/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-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
@@ -429,26 +381,15 @@ golang.org/x/sys v0.0.0-20190502145724-3ef323f4f1fd/go.mod h1:h1NjWce9XRLGQEsW7w
golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190626221950-04f50cda93cb/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20191005200804-aed5e4c7ecf9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191005200804-aed5e4c7ecf9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20191010194322-b09406accb47/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191010194322-b09406accb47/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.13.0 h1:Af8nKPmuFypiUBjVoU9V20FiaFXOcuZI21p0ycVYYGE= golang.org/x/sys v0.13.0 h1:Af8nKPmuFypiUBjVoU9V20FiaFXOcuZI21p0ycVYYGE=
golang.org/x/sys v0.13.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.13.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= 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.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/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk=
golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
golang.org/x/text v0.13.0 h1:ablQoSUd0tRdKxZewP80B+BaqeKJuVhuRxj/dkrun3k= golang.org/x/text v0.13.0 h1:ablQoSUd0tRdKxZewP80B+BaqeKJuVhuRxj/dkrun3k=
golang.org/x/text v0.13.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= golang.org/x/text v0.13.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE=
golang.org/x/time v0.0.0-20170424234030-8be79e1e0910/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-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/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-20180221164845-07fd8470d635/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
@@ -470,11 +411,8 @@ golang.org/x/tools v0.0.0-20190816200558-6889da9d5479/go.mod h1:b+2E5dAYhXwXZwtn
golang.org/x/tools v0.0.0-20190911174233-4f2ddba30aff/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20190911174233-4f2ddba30aff/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
golang.org/x/tools v0.0.0-20191012152004-8de300cfc20a/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191012152004-8de300cfc20a/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
golang.org/x/tools v0.0.0-20191112195655-aa38f8e97acc/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191112195655-aa38f8e97acc/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc=
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
google.golang.org/api v0.0.0-20170921000349-586095a6e407/go.mod h1:4mhQ8q/RsB7i+udVvVy5NUi08OU8ZlA0gRVgrF7VFY0=
google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE= google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE=
google.golang.org/api v0.7.0/go.mod h1:WtwebWUNSVBH/HAw79HIFXZNqEvBhG+Ra+ax0hx3E3M= google.golang.org/api v0.7.0/go.mod h1:WtwebWUNSVBH/HAw79HIFXZNqEvBhG+Ra+ax0hx3E3M=
google.golang.org/api v0.8.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= google.golang.org/api v0.8.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg=
@@ -484,8 +422,6 @@ google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9Ywl
google.golang.org/appengine v1.4.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.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
google.golang.org/appengine v1.6.1/go.mod h1:i06prIuMbXzDqacNJfV5OdTW448YApPu5ww/cMBSeb0= google.golang.org/appengine v1.6.1/go.mod h1:i06prIuMbXzDqacNJfV5OdTW448YApPu5ww/cMBSeb0=
google.golang.org/appengine v1.6.5/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc=
google.golang.org/genproto v0.0.0-20170918111702-1e559d0a00ee/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc=
google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc=
google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE=
google.golang.org/genproto v0.0.0-20190418145605-e7d98fc518a7/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= google.golang.org/genproto v0.0.0-20190418145605-e7d98fc518a7/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE=
@@ -495,11 +431,18 @@ google.golang.org/genproto v0.0.0-20190801165951-fa694d86fc64/go.mod h1:DMBHOl98
google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc=
google.golang.org/genproto v0.0.0-20190911173649-1774047e7e51/go.mod h1:IbNlFCBrqXvoKpeg0TB2l7cyZUmoaFKYIwrEpbDKLA8= google.golang.org/genproto v0.0.0-20190911173649-1774047e7e51/go.mod h1:IbNlFCBrqXvoKpeg0TB2l7cyZUmoaFKYIwrEpbDKLA8=
google.golang.org/genproto v0.0.0-20191108220845-16a3f7862a1a/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= google.golang.org/genproto v0.0.0-20191108220845-16a3f7862a1a/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc=
google.golang.org/grpc v1.2.1-0.20170921194603-d4b75ebd4f9f/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw= google.golang.org/genproto v0.0.0-20230711160842-782d3b101e98 h1:Z0hjGZePRE0ZBWotvtrwxFNrNE9CUAGtplaDK5NNI/g=
google.golang.org/genproto v0.0.0-20230711160842-782d3b101e98/go.mod h1:S7mY02OqCJTD0E1OiQy1F72PWFB4bZJ87cAtLPYgDR0=
google.golang.org/genproto/googleapis/api v0.0.0-20230711160842-782d3b101e98 h1:FmF5cCW94Ij59cfpoLiwTgodWmm60eEV0CjlsVg2fuw=
google.golang.org/genproto/googleapis/api v0.0.0-20230711160842-782d3b101e98/go.mod h1:rsr7RhLuwsDKL7RmgDDCUc6yaGr1iqceVb5Wv6f6YvQ=
google.golang.org/genproto/googleapis/rpc v0.0.0-20230711160842-782d3b101e98 h1:bVf09lpb+OJbByTj913DRJioFFAjf/ZGxEz7MajTp2U=
google.golang.org/genproto/googleapis/rpc v0.0.0-20230711160842-782d3b101e98/go.mod h1:TUfxEVdsvPg18p6AslUXFoLdpED4oBnGwyqk3dV1XzM=
google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c=
google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38=
google.golang.org/grpc v1.21.0/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= google.golang.org/grpc v1.21.0/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM=
google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM=
google.golang.org/grpc v1.58.0 h1:32JY8YpPMSR45K+c3o6b8VL73V+rR8k+DeMIr4vRH8o=
google.golang.org/grpc v1.58.0/go.mod h1:tgX3ZQDlNJGU96V6yHh1T/JeoBQ2TXdr43YbYSsCJk0=
google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw=
google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc=
google.golang.org/protobuf v1.31.0 h1:g0LDEJHgrBl9N9r17Ru3sqWhkIx2NB67okBHPwC7hs8= google.golang.org/protobuf v1.31.0 h1:g0LDEJHgrBl9N9r17Ru3sqWhkIx2NB67okBHPwC7hs8=
@@ -507,7 +450,6 @@ google.golang.org/protobuf v1.31.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqw
gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= 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/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk=
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q=
gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI=
+256
View File
@@ -0,0 +1,256 @@
package image
import (
"context"
"crypto/sha256"
"encoding/base64"
"encoding/json"
"errors"
"fmt"
"io"
"net/http"
"os"
"path/filepath"
"strconv"
"strings"
"github.com/h2non/filetype"
"go.opentelemetry.io/otel/attribute"
"go.opentelemetry.io/otel/trace"
"golang.org/x/sys/unix"
"go.sour.is/paste/src/pkg/readutil"
"go.sour.is/pkg/lg"
)
type image struct {
store string
maxSize int64
}
const DefaultMaxSize = 500 * 1024 * 1024
func New(store string, maxSize int64) (a *image, err error) {
a = &image{
store: store,
maxSize: DefaultMaxSize,
}
if maxSize > 0 {
a.maxSize = maxSize
}
if !chkStore(a.store) {
return nil, fmt.Errorf("image Store location [%s] does not exist or is not writable", a.store)
}
return a, nil
}
func (a *image) RegisterHTTP(mux *http.ServeMux) {
mux.Handle("/i", http.StripPrefix("/i", a))
mux.Handle("/i/", http.StripPrefix("/i/", a))
mux.Handle("3/upload", http.StripPrefix("/3/upload", a))
}
func (a *image) ServeHTTP(w http.ResponseWriter, r *http.Request) {
ctx := r.Context()
ctx, span := lg.Span(ctx)
defer span.End()
switch r.Method {
case http.MethodGet:
name := strings.TrimPrefix(r.URL.Path, "/")
a.get(ctx, w, name)
case http.MethodPost:
length := 0
if h := r.Header.Get("Content-Length"); h != "" {
if i, err := strconv.Atoi(h); err != nil {
length = i
}
}
id, err := a.put(ctx, w, r.Body, length)
switch {
case errors.Is(err, ErrGone):
w.WriteHeader(http.StatusGone)
case errors.Is(err, ErrNotFound):
w.WriteHeader(http.StatusNotFound)
case errors.Is(err, ErrReadingContent):
w.WriteHeader(http.StatusInternalServerError)
case errors.Is(err, ErrUnsupportedType):
w.WriteHeader(http.StatusUnsupportedMediaType)
}
type data struct{
Link string `json:"link"`
DeleteHash string `json:"deletehash"`
}
var resp = struct{
Data data `json:"data"`
Success bool `json:"success"`
Status int `json:"status"`
}{
Data: data{
Link: fmt.Sprintf("https://%s/%s", r.Host, id),
},
Success: true,
Status: 200,
}
json.NewEncoder(w).Encode(resp)
default:
http.Error(w, http.StatusText(http.StatusNotFound), http.StatusNotFound)
}
}
func (a *image) get(ctx context.Context, w http.ResponseWriter, name string) error {
_, span := lg.Span(ctx)
defer span.End()
ext := filepath.Ext(name)
id := strings.TrimSuffix(name, ext)
fname := filepath.Join(a.store, id)
if !chkFile(fname) {
return fmt.Errorf("%w: %s", ErrNotFound, fname)
}
if chkGone(fname) {
return fmt.Errorf("%w: %s", ErrGone, fname)
}
f, err := os.Open(fname)
if err != nil {
return err
}
defer f.Close()
pr := readutil.NewPreviewReader(f)
mime, err := readutil.ReadMIME(pr, name)
if err != nil {
return err
}
w.Header().Set("Content-Type", mime)
w.Header().Set("X-Content-Type-Options", "nosniff")
_, _ = io.Copy(w, pr.Drain())
return nil
}
func (a *image) put(ctx context.Context, w http.ResponseWriter, r io.ReadCloser, length int) (string, error) {
_, span := lg.Span(ctx)
defer span.End()
defer r.Close()
if length > 0 {
if int64(length) > a.maxSize {
return "", ErrSizeTooLarge
}
}
rdr := io.LimitReader(r, a.maxSize)
pr := readutil.NewPreviewReader(rdr)
if !isImageOrVideo(pr) {
return "", ErrUnsupportedType
}
rdr = pr.Drain()
s256 := sha256.New()
tmp, err := os.CreateTemp(a.store, "image-")
if err != nil {
return "", fmt.Errorf("%w: %w", ErrBadInput, err)
}
defer os.Remove(tmp.Name())
m := io.MultiWriter(s256, tmp)
if _, err := io.Copy(m, rdr); err != nil {
return "", fmt.Errorf("%w: %w", ErrBadInput, err)
}
tmp.Close()
id := base64.RawURLEncoding.EncodeToString(s256.Sum(nil)[12:])
fname := filepath.Join(a.store, id)
span.AddEvent("image: moving file", trace.WithAttributes(attribute.String("src", tmp.Name()), attribute.String("dst", fname)))
_ = os.Rename(tmp.Name(), fname)
return id, nil
}
func isImageOrVideo(in io.Reader) bool {
buf := make([]byte, 320)
_, err := in.Read(buf)
if err != nil {
return false
}
return filetype.IsImage(buf) || filetype.IsVideo(buf)
}
func chkStore(path string) bool {
file, err := os.Stat(path)
if err != nil && os.IsNotExist(err) {
err = os.MkdirAll(path, 0744)
if err != nil {
return false
}
file, err = os.Stat(path)
}
if err != nil {
return false
}
if !file.IsDir() {
return false
}
if unix.Access(path, unix.W_OK&unix.R_OK) != nil {
return false
}
return true
}
func chkFile(path string) bool {
file, err := os.Stat(path)
if err != nil {
return false
}
if file.IsDir() {
return false
}
if unix.Access(path, unix.W_OK&unix.R_OK) != nil {
return false
}
return true
}
func chkGone(path string) bool {
file, err := os.Stat(path)
if err != nil {
return true
}
if file.Size() == 0 {
return true
}
return false
}
var (
ErrNotFound = errors.New("not found")
ErrGone = errors.New("gone")
ErrReadingContent = errors.New("reading content")
ErrSizeTooLarge = errors.New("size too large")
ErrBadInput = errors.New("bad input")
ErrUnsupportedType = errors.New("unsupported type")
)
View File
File renamed without changes.
File renamed without changes.
-1
View File
@@ -1 +0,0 @@
public/swagger.json
-477
View File
@@ -1,477 +0,0 @@
// Code generated by github.com/sour-is/go-assetfs, DO NOT EDIT.
// sources:
// public/favicon-16x16.png (445B)
// public/favicon-32x32.png (1.141kB)
// public/index.html (3.503kB)
// public/oauth2-redirect.html (2.388kB)
// public/swagger-ui-bundle.js (1.555MB)
// public/swagger-ui-standalone-preset.js (440.915kB)
// public/swagger-ui.css (153.54kB)
// public/swagger-ui.js (361.688kB)
// public/swagger.json (4.895kB)
package docs
import (
"github.com/sour-is/go-assetfs/pkg/assetfs"
"bytes"
"compress/gzip"
"crypto/sha256"
"fmt"
"io"
"io/ioutil"
"os"
"path/filepath"
"strings"
"time"
)
func bindataRead(data []byte, name string) ([]byte, error) {
gz, err := gzip.NewReader(bytes.NewBuffer(data))
if err != nil {
return nil, fmt.Errorf("read %q: %v", name, err)
}
var buf bytes.Buffer
_, err = io.Copy(&buf, gz)
clErr := gz.Close()
if err != nil {
return nil, fmt.Errorf("read %q: %v", name, err)
}
if clErr != nil {
return nil, err
}
return buf.Bytes(), nil
}
type asset struct {
bytes []byte
info os.FileInfo
digest [sha256.Size]byte
}
type bindataFileInfo struct {
name string
size int64
mode os.FileMode
modTime time.Time
}
func (fi bindataFileInfo) Name() string {
return fi.name
}
func (fi bindataFileInfo) Size() int64 {
return fi.size
}
func (fi bindataFileInfo) Mode() os.FileMode {
return fi.mode
}
func (fi bindataFileInfo) ModTime() time.Time {
return fi.modTime
}
func (fi bindataFileInfo) IsDir() bool {
return false
}
func (fi bindataFileInfo) Sys() interface{} {
return nil
}
var _publicFavicon16x16Png = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x00\xbd\x01\x42\xfe\x89\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\x00\x00\x10\x00\x00\x00\x10\x08\x06\x00\x00\x00\x1f\xf3\xff\x61\x00\x00\x01\x84\x49\x44\x41\x54\x78\x01\x95\x53\x03\x4c\x75\x71\x1c\xfd\x8c\xf1\xc3\xec\x30\xa7\x29\xcd\x61\xb6\x6b\x36\xb2\x9b\xf9\xb2\x6b\xc8\x35\x2f\xdb\x8d\x71\x78\xc6\x94\x6d\xcc\x7b\xef\x7f\x4f\xff\xf3\x6c\xdc\xed\xf2\xe0\xfe\xf8\xc9\xff\x50\x14\x11\x2f\x14\x5b\xa3\x50\xc4\xa1\xbc\x3f\xf1\x74\x3e\x37\x12\x73\x13\x03\x85\xca\x37\x49\x52\x09\x61\xb5\x6a\x8f\xa7\x31\xbe\x5d\x88\xf6\xb9\x4c\xf0\x1c\x93\xcf\xda\xe3\x29\x10\x93\x66\x8d\xe4\x06\x13\xcf\xde\x3c\x9b\xd1\x34\x95\x8a\x92\x81\x4f\x41\xcf\x46\x89\xdd\x3c\x9b\x20\x4d\xe6\x7d\x4c\xe4\x07\x15\xc5\xf5\xe3\xff\x49\x0c\x7b\xd6\x8d\xff\x73\x99\x34\xba\x73\x66\x68\xae\x3f\xaf\x6b\x1a\x70\x72\x77\x10\x20\x3c\xb9\xdb\xc7\x86\xa6\xd1\x19\x49\x0a\xa8\xb1\xd7\x84\x79\x33\x67\x17\x31\x54\x24\xb5\x63\x7f\x71\xfb\x62\x71\xbf\x6b\x8e\x27\x1d\x51\xb0\xc2\x2c\x92\x0b\x78\x7c\x3b\x46\xe5\xf0\xef\x00\x83\xf2\xa1\x1f\x78\x7c\x3f\x71\xbd\xcb\xc2\x16\x80\x5a\x46\xf0\xc4\x4a\xf3\xe3\xe4\x6e\x31\xcc\x17\x6b\x60\x3a\x7d\xcb\x79\xe8\x98\xcb\x42\xc7\x7c\x36\x7a\x97\x72\xd1\x34\x9d\x06\xd3\xf9\x8a\xe4\x94\x90\x8b\xb6\xd9\x0c\x50\xeb\x63\x40\xd0\x7c\xbe\x2a\xc9\x34\xc8\xa7\x98\x27\xcd\x68\x00\xe3\xd9\x32\xa6\x76\x4b\x7d\x0c\x42\xa4\xf0\x2b\x44\x0a\xc7\x81\x29\xb0\x10\x9a\xe3\xa9\xd8\x8b\x78\xe4\x28\xa2\xbb\x8d\x6c\x0d\x01\xb6\x8a\x2d\xf3\x37\x38\xbe\xdd\xc7\xa6\xb6\xc9\xd9\xc6\x64\xd8\x5c\x6d\xf4\x0c\x92\x09\x75\x51\x0e\xd2\xf5\xb3\xd1\xf1\x77\xdf\x51\x16\xb3\x34\x61\x24\xa1\xc4\xc4\x28\x56\xbc\x46\xd9\xdf\xa4\x91\xe9\xb0\x26\x2c\x12\x2b\xcd\x93\xcf\x1c\x1c\x62\xdc\xca\x00\x71\x74\xeb\xcc\x2d\x14\x89\xfe\xfc\x0f\x6d\x32\x6a\x88\xec\xcc\x73\x18\x00\x00\x00\x00\x49\x45\x4e\x44\xae\x42\x60\x82\x01\x00\x00\xff\xff\xd4\x60\x34\x74\xbd\x01\x00\x00")
func publicFavicon16x16PngBytes() ([]byte, error) {
return bindataRead(
_publicFavicon16x16Png,
"public/favicon-16x16.png",
)
}
func publicFavicon16x16Png() (*asset, error) {
bytes, err := publicFavicon16x16PngBytes()
if err != nil {
return nil, err
}
info := bindataFileInfo{name: "public/favicon-16x16.png", size: 445, mode: os.FileMode(0644), modTime: time.Unix(1603755438, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xc, 0x68, 0x7c, 0x67, 0x37, 0x47, 0x67, 0x80, 0x51, 0xf, 0x5f, 0x47, 0x4e, 0x83, 0x3b, 0xe4, 0x54, 0x78, 0xa6, 0xba, 0x9d, 0x9, 0x84, 0xd4, 0x2d, 0x9d, 0xf6, 0x13, 0x25, 0xd0, 0x83, 0x8d}}
return a, nil
}
var _publicFavicon32x32Png = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x00\x75\x04\x8a\xfb\x89\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\x00\x00\x20\x00\x00\x00\x20\x08\x06\x00\x00\x00\x73\x7a\x7a\xf4\x00\x00\x04\x3c\x49\x44\x41\x54\x78\x01\xbd\x57\x03\xcc\x65\x59\x0c\x7e\x6b\xdb\xb6\x6d\xc4\x5e\xc7\x5e\xdb\xb6\x3d\x46\xf0\xdb\xb6\x6d\xdb\xb6\x6d\xf3\xa2\xd3\x6f\xf2\xce\x33\x7f\x35\x69\xee\x61\xdb\x5b\x1f\x8d\xa3\xa0\xaa\xea\xa9\xb2\xb2\xf9\xa4\xac\x48\x3f\xf2\x37\x42\x92\xd7\xab\x78\x3c\x02\x94\xe4\x8d\x1a\xfe\x46\x61\x0f\x67\x70\x56\xb3\x53\xa0\xa8\xf2\x85\x4c\xf8\x7b\x45\x91\xfa\x88\x54\x72\x04\x70\x96\x05\xf9\x91\xef\x5e\x6c\x8f\xbe\x9d\x3f\x96\xde\x66\x22\x53\x82\x30\xaf\xd1\xf0\x74\x03\x95\xb4\x7a\x52\x62\xe5\xcf\x14\x5e\xf4\x21\x90\xc7\x3f\x51\x71\xab\x07\xef\xd5\x13\xce\x08\xc0\x5d\xa6\xf1\x2e\x68\x39\xc9\x5c\xb9\x98\xff\x20\x4e\x10\x5b\xdf\x5c\xa6\xbc\xa6\xe3\xf4\x6f\xc4\xdd\xf4\x99\xa7\xc6\x26\xfe\x13\x71\x17\xe5\x36\x1e\xe3\x3b\x4b\x3a\xa1\x59\x88\x04\xd0\x74\x94\xf9\xd5\x7c\xa1\x41\x5c\xae\xea\x0a\xa1\x5f\x82\xaf\x01\x71\xa7\xf0\x97\xa0\xab\xa9\xb2\x33\x08\x34\x84\x59\x9a\x98\xf6\xb5\x76\xff\x5c\x30\x67\xc7\xa2\x90\xfc\xb7\x41\x6c\x5b\x18\x9c\xff\x26\xb1\xc3\x1a\x08\xa1\x5e\x6c\xcb\xe6\x71\x82\xb9\x47\xc6\x2b\x20\xb0\x23\xe8\x9e\xf6\xa2\xa1\x10\x09\x16\x7d\x02\x0e\x07\x75\x01\x43\xf2\xdf\xc2\xc5\x1d\xc5\xa0\xbc\x37\x48\xd0\x87\x63\x9a\xaa\xfe\x42\xf6\xd8\x09\x62\xa8\xea\x0a\x36\xba\xf8\xb5\xcf\x39\x54\xd1\x11\x40\xab\xeb\x73\x34\x34\x55\x6b\x97\xd1\xe0\x54\x0d\xad\x6e\xcc\xc3\xfe\xf4\xb5\xef\xb9\x46\x7b\x15\x9d\x01\xba\xe8\x30\x0a\x51\xc4\xb9\xf0\x76\x53\x87\x8b\x2e\xfd\x82\x00\xe3\x73\x6d\x94\xdd\x70\xc8\xae\x00\xd9\xf5\x07\x69\x6c\xb6\x85\x00\xb1\x65\x5f\x1b\xed\xfd\x1c\x74\x95\x2e\x3a\x90\xb4\x74\xb6\x67\xbb\xf4\x60\x31\x8f\xc3\xc7\x94\x20\xa2\x00\xb0\x3f\xfa\x21\x87\xd5\xfd\x5f\xd4\x7d\x04\xa8\xed\x89\x30\xdb\xcb\x69\x38\xa2\xf5\x05\xb9\xef\xa4\x2f\x20\x75\x8a\x90\x43\x0c\x9b\x5e\x68\x19\x4c\x21\xc0\xef\xa1\x37\x39\x2c\x00\xb4\x08\x68\x1d\x4c\x33\xdb\xfb\x3b\xfc\x0e\x5d\x68\x32\xef\xa7\x35\x50\x05\x26\xc8\x62\x38\x60\x2e\x40\x1a\x01\x7e\x0b\xb9\xde\x61\x01\x7e\x0c\xbc\x1c\x4c\xa8\x75\x28\xdd\xd2\x3e\x7c\x49\x44\xc4\xcf\xd0\x40\x04\x26\x25\xad\x1e\x16\x0f\xf7\x8d\x97\x41\x52\xfa\xca\xe7\x6c\x87\x05\xf8\xd2\xfb\x0c\x84\x1d\x0d\x4c\x56\x59\xdc\x2f\x6a\x75\x13\x1a\x88\xd2\xa0\xaa\x61\x82\x7c\x6e\x7a\x70\x5f\xf4\x03\xc8\x09\xd4\x3b\x5e\x8a\x39\x7d\xee\x75\x9a\x91\x20\x60\x04\x14\x73\xec\xe1\x0c\xc6\x5d\xa3\x05\x60\x60\xd1\x77\x12\x2a\x7e\x20\x00\xf3\xae\xd3\xa0\x9c\x62\x82\xa2\x62\x78\x28\xb3\x6e\x1f\x71\x78\xd2\xf2\xda\x34\x1d\x8a\x7d\x1c\x6b\xd4\x3e\x9c\x49\x2b\xeb\xb3\xf4\x6b\xc8\x75\x60\x4c\x93\xf3\x5d\x34\xb5\xd0\xc3\xe3\x33\xd9\xee\xd7\xf2\xd9\x19\xea\x18\xc9\xc1\x59\x3a\x18\xfb\x28\x2d\xad\x4e\x82\x06\x65\xd5\x1f\x30\xa2\x1d\x56\xf8\xbe\x30\xc1\x98\x35\x01\xf8\xd2\x7e\x5c\xa6\xa5\xb5\x29\x26\xf6\x98\x56\x80\x6c\xe4\x03\xf8\x03\x04\x00\x73\x9a\x5e\xec\x85\x00\xf4\x2b\x0b\x00\xe1\x3a\x47\xf2\x70\x96\x0e\xc4\x3c\x42\x8b\xab\x13\xa0\x81\xd0\xb4\x2e\x00\xab\xd8\xaa\x09\xf6\xc7\x3c\xac\x35\x41\x09\xe6\xf4\x05\xab\xf7\x6b\x23\x13\x9c\x09\x34\x32\xc1\x17\x3a\x13\xe4\xc3\x04\x10\xde\xae\x09\x22\x30\x29\xb6\xe6\x84\x13\xc2\x09\xcf\x72\xda\x09\xfb\x27\x2b\x2d\x3b\x61\x8b\x70\x42\x29\x66\x77\xc2\x30\xc0\x66\x18\x22\x5d\x0b\x01\x10\x86\x92\x41\x22\xba\x73\x0f\x12\xd1\xed\x06\x89\x48\x7a\x5a\x9b\x8a\xe5\x3e\x2c\xe4\x36\x1e\x35\xbb\x50\xdd\x15\x4a\x80\x7d\xce\xa4\xe2\xc8\x7b\x6d\xa4\xe2\xc3\xc2\x01\x07\xc0\xdb\xa4\x18\x2d\xa1\x93\x31\xba\x10\x53\xfa\x25\xb6\x50\x60\x10\x19\x76\x99\x23\x7c\x47\x67\x9b\x09\x10\x57\xf6\x8d\x49\x31\xba\x92\xd6\x36\x17\x45\x12\xfa\xd9\xa8\xf3\x55\x54\x65\x0a\x1b\x95\x9d\x81\x66\xe5\x18\xa5\x75\x6d\x63\x81\x86\xa6\xeb\xec\x09\x80\x34\xcb\x67\x17\xa1\x39\xfa\xc6\xf7\x3c\xa3\xbd\xf2\x0e\x7f\x02\x80\x97\x59\xc7\xac\x18\x34\x24\x68\xa3\x76\xba\x21\x09\xcc\x7b\xcd\xb4\x21\xb1\xd8\x92\x25\x68\xe3\x93\xdc\xd3\x5f\xda\x31\xe6\xae\x69\xcf\x83\xa6\x70\xbc\x24\xf0\xb2\xda\x94\xa2\x71\x14\x42\x40\x13\xdb\xff\xf3\xd7\x0d\xfa\x41\xb9\xc5\x6e\x7b\x8e\xd6\x59\x08\x01\x75\xc1\x27\x7e\x16\x8e\xe9\x04\xa2\xfb\x41\x2b\xc7\x34\x0c\x98\xab\xd7\x3a\xfc\x30\xd1\x76\xaf\x24\xa2\x23\xb7\xf1\x08\xfd\x6d\x21\x4f\x58\x68\x38\x10\x6a\x7c\x67\xd1\xe0\x61\xb2\x99\x04\x9a\x5b\x79\x9a\xbd\x6b\xf2\x34\x43\x24\xa0\x9e\x23\x9f\xa3\xa8\x00\x31\xc6\x1a\x22\xc0\xe4\x69\xa6\xcc\x30\xf3\xf7\xb7\xf5\x58\x45\xb8\xe0\xa1\xc9\xc2\x0c\x90\x83\x80\x24\x83\x38\xdf\xd6\xe3\xd4\x82\x46\x4e\x47\x0f\x87\x36\x8a\xbf\x31\xa8\x64\x28\xa7\x40\x8c\x51\x58\x90\xdb\x19\x9f\xc5\x59\x47\xe9\x9e\x00\xa5\x79\x33\x5d\x9a\x4a\xe1\x22\x00\x00\x00\x00\x49\x45\x4e\x44\xae\x42\x60\x82\x01\x00\x00\xff\xff\x36\x42\xc8\xd7\x75\x04\x00\x00")
func publicFavicon32x32PngBytes() ([]byte, error) {
return bindataRead(
_publicFavicon32x32Png,
"public/favicon-32x32.png",
)
}
func publicFavicon32x32Png() (*asset, error) {
bytes, err := publicFavicon32x32PngBytes()
if err != nil {
return nil, err
}
info := bindataFileInfo{name: "public/favicon-32x32.png", size: 1141, mode: os.FileMode(0644), modTime: time.Unix(1603755438, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x16, 0x5, 0x8a, 0x65, 0x62, 0x83, 0x24, 0xec, 0xdb, 0x3d, 0xb9, 0x9e, 0x94, 0x20, 0x89, 0x8b, 0x53, 0x6e, 0x25, 0xf, 0x15, 0x89, 0x4a, 0x4a, 0x7e, 0xd0, 0x5b, 0xaf, 0x16, 0xa9, 0x57, 0xba}}
return a, nil
}
var _publicIndexHtml = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xdc\x57\xdf\x6f\xe3\x36\x12\x7e\xf7\x5f\x31\x55\x1f\xda\xde\x2e\x47\x24\xf5\x8b\xd2\xda\x3e\x60\xd3\x3b\xa4\x40\x16\x5d\x60\x77\x73\x38\x1c\x0e\x07\x59\xa2\x6d\xee\xd2\xa2\x21\x52\x76\x92\x76\xff\xf7\x03\x29\x2b\x49\x73\xde\xe0\xba\xe8\x53\xe1\x44\x9c\x70\xbe\x19\x7e\xf3\x8d\x14\x8f\xe6\xdf\x10\x02\x97\xef\xdf\x5c\xc1\xda\xf4\x60\x5d\xed\x54\x03\xad\xb2\xae\x57\xab\xc1\x29\xd3\xc1\x6a\xe8\x5a\x2d\x61\x35\x28\xdd\x02\x21\xcb\xd9\xfc\x9b\x1f\x7f\xbe\x78\xff\xcf\xb7\x7f\x83\xad\xdb\xe9\xe5\x6c\xee\x17\xd0\x75\xb7\x59\x44\xb2\x8b\xfc\x86\xac\xdb\xe5\x0c\x60\xbe\x93\xae\x86\x66\x5b\xf7\x56\xba\x45\xf4\xe1\xfd\xdf\x89\x88\x82\xc3\x29\xa7\xe5\xf2\xdd\xb1\xde\x6c\x64\x0f\x1f\x7e\x9a\xc7\xe3\x8e\xf7\x69\xd5\x7d\x82\x6d\x2f\xd7\x8b\x68\xeb\xdc\xde\x56\x71\xbc\x36\x9d\xb3\xb8\x31\x66\xa3\x65\xbd\x57\x16\x1b\xb3\x8b\x1b\x6b\xff\xba\xae\x77\x4a\xdf\x2e\x7e\xde\xcb\xee\xc5\xbb\xba\xb3\x55\x4a\xe9\xcb\x82\xd2\x5f\xdf\x99\xa1\x6f\xe4\x8b\x0b\xd3\xca\x17\x6f\x7b\x53\x25\x94\xbe\xcc\x29\xfd\xf5\xbd\x72\x4a\x6b\x35\xec\x5e\xfc\x43\xae\x02\x3a\x1f\x23\x22\xe8\xa5\x5e\x44\xd6\xdd\x6a\x69\xb7\x52\xba\xe8\x81\xcc\x53\x0f\xb8\xdb\xbd\x5c\x44\x4e\xde\x38\xcf\x22\x3a\xb1\xc5\xd8\x8e\x05\x91\x41\x61\xd8\x7f\x92\x42\x35\xa6\x9b\x82\xd5\xae\xde\xc8\x78\xdf\x6d\x1e\xa2\xd7\xf5\xc1\x23\x48\xc2\x6f\x12\x8e\xc1\x65\xd5\x9d\xb4\x8b\x28\xec\x44\x10\x7f\x5d\x3e\x96\xdf\xb0\xfc\x37\xf9\xc2\xce\x94\x2f\x14\xe6\x2d\x08\x0d\x0d\xc6\x2f\xe1\x0a\xb0\x32\x37\xc4\xaa\x3b\xd5\x6d\x2a\x58\x99\xbe\x95\x3d\x59\x99\x9b\x57\x27\xaf\x39\xc8\x7e\xad\xcd\xb1\x02\xb2\x33\x77\xc4\x36\xbd\xd1\x7a\x55\xf7\x96\x1c\x64\xef\x54\x53\xeb\xa7\x48\x72\x5b\xc1\x08\x1b\x3d\x9f\xc3\xf5\x2f\x2f\xc7\xa5\x5a\xc9\xb5\xe9\xe5\xf4\x57\xbd\x76\xb2\xff\x22\x1d\xd5\x6d\x65\xaf\xdc\x94\x67\x36\xfa\xdb\xdb\x7b\xf0\xae\xee\x37\xaa\xab\xe8\xc4\x61\x55\x37\x9f\x36\xbd\x19\xba\xb6\x82\x6f\xd7\xb5\xff\x3c\x90\x98\xc7\x27\x19\xe6\xf1\x78\xf7\xce\xe6\x3e\x99\x5f\xed\x61\x03\x37\x3b\xdd\xd9\xf1\x7e\xac\xe2\xf8\x78\x3c\xe2\x31\x41\xd3\x6f\x62\x4e\x29\x8d\xed\x61\x13\x8d\x90\xea\xc6\x77\xe7\x1c\x90\x95\x65\x19\x07\x6f\x04\xe1\xa8\x45\xb4\x37\x56\xf9\x47\xac\xaa\x57\xd6\xe8\xc1\xc9\x57\x47\xd5\xba\x6d\x45\x5f\x6d\xa5\xda\x6c\x5d\x45\xc7\x7b\xb0\x95\x6b\x3b\xf6\x67\x6e\x6f\x77\x2b\xa3\xe1\xa0\xe4\xf1\xb5\xb9\x59\x44\x14\x28\x70\xff\x13\x81\x6a\x17\xd1\xd0\x69\xd3\x7c\x92\x6d\xb4\x3c\xd5\x1c\x82\xf6\xb5\xdb\x42\xbb\x88\xde\xb0\x0c\x05\x88\x4b\x96\x5e\x67\x98\x5f\xb0\x14\x38\x16\x34\x01\xc6\x31\xcf\x33\x60\xc0\x28\x30\x28\x30\x49\x52\x60\x90\x9f\xbc\x39\x64\x98\x5f\xe7\x5b\x7e\x20\x28\x28\xbb\x10\x90\x60\x91\xa5\x20\xb0\x28\x0b\x48\x7c\x50\xd2\x30\xe4\x34\xf1\x5c\x20\xf8\x38\x70\x64\x65\x79\x2d\x2e\xd3\x86\x60\x96\x25\x40\x09\x03\xcc\xd3\x9c\x30\x60\xc1\xc5\x8a\x86\x02\x66\x69\x89\x29\x17\x7e\x2f\x29\xb1\xcc\xbc\x37\xa1\x85\xf6\x98\x02\x13\x51\x5c\x64\x98\x17\x1c\x98\x40\x91\x33\xc8\x31\xcb\x80\x95\x50\x20\x03\x56\x6e\x33\x14\x8d\x4f\x01\x14\x98\x4f\x43\x7c\x16\x60\x3e\x0f\xb9\x4f\x93\x13\x9f\xa7\xc1\x8c\xa7\x04\x59\x5e\x60\x99\x25\x04\x8b\x6c\x34\xfc\x71\xf9\x75\xe9\x29\x5d\xb0\x02\x84\xe7\x08\x2c\xc7\x24\xe3\x20\x60\x14\xec\x2e\x5a\xce\x63\x2f\xe2\xa9\x09\xf1\xd8\x85\xe5\xec\xff\xea\xc9\x93\x8e\xfc\x21\xdd\xf8\x93\xe8\xfa\x86\x71\x10\x97\xe2\x3a\x0b\xb0\xdf\x75\x63\xdd\x45\xf1\x57\x75\xa3\xd1\xc6\xca\x73\xcd\x48\x31\x49\x05\xb0\x14\x45\x5a\x36\x04\xd3\xbc\xf4\xbf\x84\x21\xe7\x93\x95\x97\x05\xd0\x2b\xdf\x16\x86\x82\x95\x9a\x70\xcc\x33\x06\x09\x52\xfe\x6c\x48\x70\x3d\xba\x04\x80\xef\x9c\x77\x6b\x8e\x45\x26\x48\x82\x2c\x23\xde\x2c\x83\xc9\x9b\x73\x41\x62\x0a\xba\xdf\x86\xb0\x3d\x99\xf7\x04\x05\x32\x91\xe8\x40\x8f\x24\x48\x13\xd6\x3c\x17\x01\x13\xf5\x7b\xff\xd8\x79\xcf\x2e\x70\xf2\x9d\x61\x99\xd7\x7e\xb2\x9b\x2f\x86\x7c\x75\x67\x74\xdd\x6f\x24\xa9\xfb\xde\x1c\xcf\xf5\x27\x41\x9e\x01\xa3\x57\x39\x32\x5a\x02\xc7\x4c\x34\x04\x79\x2e\x08\xf2\xe2\x64\x14\x34\x88\x5d\x16\xe5\xe4\xc0\x82\xb2\xb0\x96\x79\x09\x54\x17\x28\x12\x28\xb0\xa4\xa2\xf1\x08\xe4\x05\x0b\x6b\x41\x3d\x7b\x1f\xa8\xc9\x23\x0c\x99\x40\x3e\x35\x0b\xe7\x84\x3c\xd3\xb9\x5e\xd1\x27\x07\x5f\x4d\x3c\xff\x00\x15\x48\x6b\x8e\xdd\x39\x29\x0a\x4c\x99\x80\x20\x44\x83\xbc\xe0\x64\x2a\x62\x34\xca\xa2\x04\x6a\x43\x71\x05\x65\xa1\xb0\x3c\x14\x56\x52\x01\xbe\xbc\x26\x48\x32\x31\x1f\x8d\x10\x74\x02\x91\x7b\xd0\x23\x85\x43\xaa\x20\xc0\xa8\xc8\xff\x1e\x19\x9e\x0c\x5f\xbe\x0e\x04\x49\x81\x2c\x65\xe7\x74\x78\x46\x88\x14\x78\x3a\x0a\xf1\x71\xd8\xed\x89\x33\xe7\xea\x2f\xa1\x38\xa4\x97\x19\x8a\x44\x27\x18\x9e\x9d\xac\xbc\x12\x90\x6b\x92\xc3\xf8\x61\x98\x32\xe2\x2f\x57\x1e\x05\x2c\xb9\xe4\xec\xba\xf8\x7d\x3d\x79\xa0\x22\x6f\xf6\x75\x77\xf6\x3f\x38\x05\x26\xb6\xe9\x81\xf0\x2d\x49\x0f\xfc\xee\x4d\x02\xf9\x81\x6f\x99\xb8\xce\x2f\x93\xbb\x5d\x02\xc5\x96\xf1\x03\xe1\x97\xf9\x81\x9f\x3f\x7c\x1e\x8f\x5f\xee\x73\x3f\x43\xf8\x61\xa3\x55\x87\x70\xe6\xc3\x24\xe9\xbf\x7c\x5a\x75\x08\x93\x48\xd3\xab\xbd\x03\xdb\x37\xbf\x1d\x36\xc9\x38\xa3\xe3\x47\x1b\x2d\x7d\xfe\x00\x5b\x3e\x83\xb7\xae\xee\xda\x5a\x9b\x4eLine truncated
func publicIndexHtmlBytes() ([]byte, error) {
return bindataRead(
_publicIndexHtml,
"public/index.html",
)
}
func publicIndexHtml() (*asset, error) {
bytes, err := publicIndexHtmlBytes()
if err != nil {
return nil, err
}
info := bindataFileInfo{name: "public/index.html", size: 3503, mode: os.FileMode(0644), modTime: time.Unix(1603755438, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x2a, 0x7, 0x6d, 0x5, 0x69, 0x46, 0x56, 0x1e, 0xc4, 0x45, 0x1a, 0xb5, 0x1f, 0xb9, 0xc6, 0x1, 0xfc, 0x42, 0x26, 0x9a, 0xf4, 0xac, 0xae, 0xa9, 0xe9, 0x26, 0x91, 0x76, 0x3e, 0xfb, 0xee, 0xf0}}
return a, nil
}
var _publicOauth2RedirectHtml = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xc4\x56\x4d\x6f\xe3\x36\x10\xbd\xfb\x57\xbc\xf0\x10\x49\xb0\xab\xa0\x3d\x2a\x51\x82\x22\xd8\x43\x0a\x6c\xb7\xd8\x20\xbd\x04\xc1\x82\xa6\xc6\x36\x1b\x99\x94\x49\xca\x86\x6b\xfb\xbf\x17\x94\x64\x4b\xf2\x07\xea\x9e\xca\x43\x64\x0d\x67\x9e\x66\xe6\xbd\x21\xf3\x70\x93\x69\xe1\xd6\x05\x61\xe6\xe6\xf9\xe3\xe0\xc1\x3f\x90\x73\x35\x4d\x19\xa9\x9f\xde\x5e\xd9\xe3\xe0\x61\xac\xb3\x35\xb4\xca\x35\xcf\x52\x66\x4a\x15\x46\xde\x7a\xe7\xcd\xfe\xd9\x44\x5a\x61\x64\xe1\x1e\x07\x00\x10\x94\x96\x60\x9d\x91\xc2\x05\xf7\x95\x65\x52\x2a\xe1\xa4\x56\x30\xa5\x42\x18\x61\x53\x59\xfd\x5a\x72\x03\xcd\x4b\x37\xfb\x05\x29\x56\x52\x65\x7a\x15\xeb\x82\x14\x99\xd8\xae\xf8\x74\x4a\xe6\xed\xe5\x3b\x65\xd2\x90\x70\xdf\x2a\xbf\xfb\x5e\xac\x25\xe5\x5e\x1d\x77\x84\xb4\xc1\x89\xad\x7f\xed\x7b\x99\x06\xe1\xcd\xe4\xad\x5f\xc7\xd8\xf7\x96\xf6\x4f\x9e\xcb\x6c\x84\x45\x31\x02\x37\xe6\x7e\x70\xd8\x96\x13\x84\x77\x42\x67\xb4\x75\xfa\x93\xd4\x96\x8c\xd1\xe6\x2e\x76\x64\x5d\xd8\x64\x9f\x6b\xc1\x7d\xad\xf1\x8c\xdb\x59\xd4\xad\xd5\xaf\x45\xd1\xd6\xd9\xf3\x8c\x6d\x39\xf6\x3d\x53\xd3\xf0\xe7\xa8\xcd\x67\x07\xca\x2d\x9d\x03\x39\x44\x5b\xe2\x46\x5c\x8c\x6f\x73\xe7\xc6\x20\xc5\xa2\x88\x6d\x91\x4b\x17\xb2\x5b\x16\x75\xf7\xe2\x89\x36\x5f\xb8\x98\x85\x07\xb2\xc2\xe5\x48\x8e\x7e\x70\x63\x22\x6c\xe0\x9f\xef\xf2\x03\x29\x02\x16\x60\x88\x65\x6c\xa8\xc8\xb9\xa0\x30\x48\x83\x11\x02\x96\xb0\x20\xc2\xd0\xef\xde\xef\x5a\xe0\x2a\xd5\x45\x81\x27\xfc\xf6\xfa\xed\xf7\xb8\xe0\xc6\x52\x18\x6c\x3c\x82\xff\xe6\x5f\x5a\xaa\xb0\x0a\xdb\x05\xa3\x5e\x8d\x3d\xd9\x84\x9f\xb4\x1e\x61\xc9\xf3\x92\x8e\x1b\xba\x5f\x86\x5c\x69\x14\x3e\x69\x8d\x34\x4d\xc1\x18\x9e\xea\x00\x24\xc8\xc8\x53\xf6\xf6\xfd\xe5\x59\xcf\x0b\xad\x48\xb9\xb0\xc6\x3a\x41\xda\x1d\x2c\x11\x12\x6c\x3a\xdd\x6b\x44\xd1\x74\xb0\x56\x5c\x9a\xb6\xfa\xeb\x6b\x24\xec\x20\x37\x72\xf3\x7f\x63\x2b\x66\x34\xe7\xf1\x94\x5c\xc8\x26\xb9\x5e\xb1\xa8\xce\x96\x0b\x41\xd6\x3e\xeb\x8c\xd8\x76\xfb\x5f\x63\x4b\x37\xd3\x46\xfe\x5d\xa9\xa1\x82\xe8\x14\x71\x7b\x8b\x9b\x2e\x88\x6f\xc4\x71\x0b\x7d\xc2\x37\x4d\x7d\xe7\xda\xdb\xc4\x93\x31\xcf\xe3\xf0\x7c\xf7\xbd\xc7\x4b\x96\xf4\xf2\x55\x7c\x4e\xa7\x9c\xfa\x65\x75\x69\x04\x25\x75\xea\xec\xbc\x4f\x4e\x4b\xca\x13\xb0\x15\x37\x4a\xaa\xe9\x05\xaf\x39\x59\xcb\xa7\x1e\xea\xd7\x6e\x17\x30\xe7\x6b\x8c\x09\xa5\xb2\x7c\x42\x23\x14\xdc\x5a\xca\x50\xd3\xb6\xe2\x16\x62\xc6\xd5\x94\x32\x48\x05\x4b\x66\x49\x06\x7f\x1c\xb9\xa8\xc0\x35\x9a\xa2\x0c\x13\xa3\xe7\x55\x8d\x8d\x37\x3b\x15\x4e\x67\xe6\xd0\x9f\xbb\x7d\x8b\x17\xc5\xd9\xee\xfb\x95\x51\x4e\x8e\x2e\x1c\x60\x47\x34\x1c\x68\xac\xa5\xe8\x7f\x5d\xf4\x15\x3c\xcf\xc7\x5c\x7c\x86\x1b\xff\xde\xa3\x67\xd4\x3d\x14\x93\xee\xcb\x49\x29\xe7\x8e\xa0\x9a\x22\x57\x23\x7e\xf1\xa7\xe0\x57\x3b\x3d\xf1\x68\xca\xae\x4e\xc9\x4b\x83\xdb\x43\x40\x0a\xf6\xce\x86\xfb\x98\x21\xfb\x48\xc0\x30\x3c\x1b\xe8\xd7\x01\xfd\x47\x46\xf5\x15\xe4\xd9\x7f\xc2\x39\xf3\x10\x2c\x06\x43\x02\xa6\x34\xda\x81\x83\x21\x41\x72\xb9\x67\xd9\xcd\xa8\x21\x39\x06\x8b\xae\xfa\x74\x69\x24\x9e\xc0\xbe\x6a\x43\x90\x6a\xa2\x13\xb4\x15\x54\x9b\x09\x18\x8b\x4e\x49\x3a\xd2\x08\xfe\xef\x51\xab\x12\xfe\xb7\x41\xeb\xd3\xb5\xdd\x82\xbd\xf7\x47\x6f\xc2\x65\x4e\xd9\x47\x82\xeb\xba\x7c\xcd\x28\x1d\x7e\x9d\x53\xe2\x35\x52\xaf\x2e\xeb\xa4\xba\xcf\x9b\x73\x2e\x69\x6f\xf9\x6b\xe6\xa0\xcd\xa1\xb9\xbb\x45\xae\x2d\x85\x8d\xc7\x6e\xf0\x70\xb7\xff\x07\xe8\x9f\x00\x00\x00\xff\xff\x5d\x12\x72\x09\x54\x09\x00\x00")
func publicOauth2RedirectHtmlBytes() ([]byte, error) {
return bindataRead(
_publicOauth2RedirectHtml,
"public/oauth2-redirect.html",
)
}
func publicOauth2RedirectHtml() (*asset, error) {
bytes, err := publicOauth2RedirectHtmlBytes()
if err != nil {
return nil, err
}
info := bindataFileInfo{name: "public/oauth2-redirect.html", size: 2388, mode: os.FileMode(0644), modTime: time.Unix(1603755438, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x9a, 0x53, 0xfa, 0x6e, 0xf1, 0xfe, 0x72, 0x19, 0xa6, 0x82, 0xc8, 0x77, 0x99, 0xb3, 0x9d, 0x52, 0x2e, 0x51, 0xa2, 0x78, 0xd2, 0xa, 0xd4, 0xa8, 0xe9, 0xa8, 0x83, 0x64, 0xbe, 0xe9, 0xc, 0xee}}
return a, nil
}
var _publicSwaggerUiBundleJs = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xd4\xfd\x09\x77\xdb\x36\xb7\x28\x80\xfe\x15\x89\x37\x87\x1f\x50\x41\x8a\xe4\x0c\x6d\x29\xc3\x3c\x69\x9a\xb4\x69\xe2\xcc\xe9\x10\x55\xf5\xa1\x25\xc8\x42\x4d\x81\x2a\x08\x3a\x76\x4c\xbd\xdf\xfe\x16\x26\x12\xa0\x28\xd9\xc9\xf7\x9d\x7b\xdf\x5b\x2b\x2b\x16\x49\x0c\x1b\x1b\x1b\x1b\x7b\xc2\x46\x77\x51\xb0\x99\xa0\x19\x03\x04\x09\x78\x1d\x64\xa7\x7f\x93\x99\x08\x30\x16\x57\x6b\x92\x2d\x3a\xe4\x72\x9d\x71\x91\x87\xe1\xd6\x97\x55\x36\x2f\x52\x12\xeb\x3f\x03\x53\x0e\x0b\x00\xa3\xc0\xb6\x59\x17\x9e\x93\x05\x65\x24\x0c\xf5\xdf\x41\xb2\x9a\xc7\xfa\x27\x98\x4c\x91\x80\xd1\xae\x7e\x63\xf3\x77\xf0\xee\x53\x72\x76\x46\xf8\x87\x67\x3f\x14\x6c\x9e\x12\xd5\x0f\x69\x7b\xbb\x01\x62\x49\x73\x54\x0d\x0b\x5e\x73\x22\x0a\xce\x3a\xf5\x40\xe1\xb5\xfd\xdd\x11\x80\xc3\x6b\xba\x00\x6c\xc2\xa7\xd0\x14\x94\xbf\xed\x78\xc6\x17\x09\xef\x50\x2c\x5f\xe1\x6b\x1a\x71\x94\x46\xdd\x11\x32\x1f\xa3\xeb\xcd\x66\x6c\x2a\x11\x59\x69\x96\xa4\x29\xa0\xb6\x2e\xa2\xa8\xfe\x2d\x20\xa2\x83\x14\x77\x87\xf5\xbb\x8d\x6c\x9b\xe1\xeb\xaa\x0d\x31\x58\x61\x82\xc4\x60\x86\x19\x12\x03\x8a\x5d\x88\x6d\x37\x1b\x24\x06\x73\xe7\x0b\x62\x88\xc3\x6b\x31\xc8\xe4\x4f\x58\x96\xaf\x14\x1e\x07\x1a\xb9\xaf\x79\xb6\x26\x5c\x5c\xa9\x62\xd7\xb3\x8c\x2d\xe8\x59\xc1\x93\xd3\x94\xa8\x51\xb0\x62\x45\xcc\xd3\x10\x9d\x11\x11\xf1\x0d\x94\xed\x33\xaf\x67\x0d\x25\x09\x43\x32\x38\x39\x21\xf9\xb1\x9e\xf6\x6d\xfc\x12\xd9\x69\x52\xa4\x62\x13\xb5\x7c\x74\x06\x39\x07\x0c\x05\x49\x80\x18\x44\x4c\x76\x97\x61\x9f\x06\x4d\x41\x33\x92\x35\xcf\x44\x26\x89\x62\xb0\x4c\xf2\x57\x9f\x98\x1d\x93\x46\xb6\xac\x20\xdb\x58\xe3\xe0\xee\x9c\xe6\x22\x40\x02\x88\x41\x8e\x47\x07\x07\xdf\xc2\x0d\x98\xb8\x2d\x23\x06\xaf\x83\x22\x27\x9d\x5c\x70\x3a\x13\xc1\xb8\xa6\x5a\x06\xbe\xbf\x07\x37\xa8\x59\xda\x2d\x30\x1a\x0e\xbf\x85\xa0\xa5\x90\xd7\xa4\x70\x70\x24\x27\x5b\x58\xa4\x34\xc6\x48\x17\xa0\x0b\x48\x87\xb2\x5c\x24\x6c\x26\x09\x5e\x40\x28\x96\x3c\xfb\xd4\x61\xe4\x53\xe7\xfd\xd5\x9a\x3c\xe1\x3c\xe3\x20\x78\x9c\x30\x96\x89\x8e\x1c\x6d\x27\xe9\xcc\xd2\x24\xcf\x3b\x49\xde\x49\x2a\x7a\x0e\xe0\xe6\xcb\x80\x52\x34\xcd\x31\x03\xf7\xee\x3d\x84\xa8\x9d\xcc\x1a\xb3\x4d\xa2\x6b\x33\x8e\x88\x6c\x36\x80\xc3\x71\xcb\xc0\x9c\x65\x45\xf4\x28\x17\x19\x07\x9a\x7c\x86\x63\x76\x28\x06\x29\x61\x67\x62\x39\x66\xbd\x9e\x26\x2b\x8e\xc5\x84\x4d\xc7\x7c\x50\x93\x22\x76\x1f\xca\xb2\x3b\x42\x7c\xe0\x12\xae\x44\x6a\x70\x91\xa4\x05\x09\x28\xeb\xf0\x30\x04\x7c\xf0\x89\x53\x61\xbe\x41\x04\xe4\x0a\x33\xb0\x41\x40\x10\x1f\x9c\x93\x2b\xc4\xe1\x66\xd3\xe4\x03\x42\xaf\x1d\xbb\xea\xc3\x90\x00\x87\xdc\x24\x79\x72\xf5\x0e\x71\x88\xc4\x66\xd3\x36\xf7\x35\x81\x54\xf8\x61\xe0\xe1\xf0\x1e\x44\x35\xf2\xa2\xee\xf0\xa6\x09\xaa\xf0\xc6\x6f\x3d\x07\x6d\x73\x4a\x31\x03\x0f\xbe\xfd\x16\xa2\x0c\x73\x40\x21\x4a\xd4\x1c\x3f\x80\x28\xc7\x1c\x24\x10\x15\x98\x81\xfb\xdf\x41\x94\x62\x0e\x8a\xd6\x29\xb4\xb4\x59\x73\xf0\xae\x65\xc8\x22\x0c\x59\x91\xa6\x5d\x8c\x45\x3b\xa1\xbe\x2b\xd6\x84\x4b\xbe\xcd\x49\x9e\xcb\xc1\xac\x8a\x5c\x74\x08\x15\x4b\xc2\x3b\xa7\xa4\x23\x6b\x77\x32\xee\x50\x2e\xea\x48\xca\x0e\x7a\xe0\x22\xa3\xf3\xce\x10\x63\x2c\xe2\xa0\x60\x9a\x77\xcd\x83\x08\x0c\x51\x5a\x4f\xa5\x80\x10\x8e\x49\x3d\x41\x18\x0c\x51\xee\x7c\x0e\x43\x77\xf6\x24\xb7\xcb\x05\x2f\x66\x22\xe3\xd1\xb5\x22\x98\x88\x78\x2c\x6f\x84\x2c\xdd\x48\xf6\xe7\x33\xc7\xe1\x66\x03\x91\x08\x43\x90\xd9\x0e\x62\x30\x44\x99\x4b\x57\x42\xee\x3f\x27\x27\xaa\xc7\x93\x13\x2c\xbe\x7a\x15\xca\x19\xf9\xcf\x2d\xc2\x8a\xbb\x10\x67\x96\xde\x92\x05\xe1\x84\xcd\xec\x54\xc9\x1d\xb2\xb3\x4c\x72\xf6\x2f\xd1\x39\x25\x84\x75\x28\xa3\x82\x26\x29\xcd\xc9\xbc\xd3\xef\xe4\x72\x26\x01\xf4\x4a\x48\xfe\x43\xe6\x01\x34\x6c\xbc\x2b\xca\xd2\xee\xd9\x5d\x8c\xf7\xcc\x20\xf5\x66\x30\x0c\xdb\x48\x2b\x26\x91\x68\x41\x5f\xd7\x5d\xaa\x3e\x37\x86\x1b\x30\x74\xf7\xf8\xf6\xe5\x64\xd8\x90\x9c\x48\x97\x70\xcc\xce\x32\xe3\x24\x11\xde\x9a\x87\x10\x39\xe5\x06\x0e\x09\x61\xb2\x71\x64\x86\x7a\x8e\x32\x40\x60\x4c\xa2\x57\x80\xc0\xba\x80\x3b\x89\x89\x2e\x70\xec\x15\x70\x97\x79\xae\x0b\xbc\xf7\x0a\xd0\x46\x17\x61\xd8\x2d\x74\xb9\xd7\x5e\xb9\xac\x2e\xd7\x05\x5d\xc9\x2f\xc9\x24\x65\x53\xa7\x44\xd2\x52\x62\xe6\x95\xc8\x5b\x4a\xac\xbd\x12\x45\x63\x3c\x65\x99\x7b\x50\xa4\x2d\x2d\x2c\xbc\x16\x66\x2e\x59\x0f\xd4\x6a\xc4\x52\x02\xa9\x4b\xac\x65\x09\xa2\x26\xca\x7c\x1e\x3a\xf5\x17\x00\x5e\xd7\x4f\x4b\x33\xad\x58\x94\xe5\x70\x5c\x6f\x32\xc7\x89\x58\x0e\x56\xc9\x25\x18\x22\x62\xf6\x9a\xbe\x80\x88\x63\xb9\x06\x1e\x71\x9e\x5c\x01\x26\xd7\xda\x70\x4c\x0f\xd9\x98\xf6\x7a\x90\x4f\xe8\x14\x93\x09\xed\x89\xa9\x95\x4f\x78\xdd\xcf\xdc\x81\xba\x22\x70\x32\xc8\xe9\x67\x0d\xa8\xfc\x81\xe5\x12\xa5\x82\x70\x49\x4a\x17\x8a\x80\xe4\xeb\xba\x91\x55\xcd\x54\x59\xb1\x3a\x25\xdc\xa1\x7b\x2b\x5c\x89\xa3\xa3\xa3\xe1\x58\x16\x09\x7a\x4c\x72\xd8\xb2\xbc\x7f\xf0\xfd\xfd\xef\x1f\x7e\x7b\xf0\xfd\x03\x8c\x31\xb3\xa2\xe9\xcb\xe4\xe5\x58\x60\x66\xb7\x32\x71\x38\x8c\x25\x90\x3d\x11\x89\xba\xc7\x8b\x4a\xec\xea\x0e\xeb\xb7\x67\x76\x55\xe9\x4f\x40\x8d\xa5\x2c\xf5\xb8\xba\x18\xcb\xfd\xef\x10\xf7\x19\x0c\x43\x67\x35\xfb\x05\xc4Line truncated
func publicSwaggerUiBundleJsBytes() ([]byte, error) {
return bindataRead(
_publicSwaggerUiBundleJs,
"public/swagger-ui-bundle.js",
)
}
func publicSwaggerUiBundleJs() (*asset, error) {
bytes, err := publicSwaggerUiBundleJsBytes()
if err != nil {
return nil, err
}
info := bindataFileInfo{name: "public/swagger-ui-bundle.js", size: 1555141, mode: os.FileMode(0644), modTime: time.Unix(1603755438, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xc7, 0x3b, 0xa0, 0x63, 0x96, 0x6a, 0x32, 0x2e, 0x38, 0x7b, 0x1a, 0x83, 0x36, 0x51, 0xae, 0x7a, 0x6e, 0xa7, 0xe8, 0xa4, 0x7b, 0x8b, 0x1b, 0x75, 0xa1, 0x2a, 0xd3, 0xa1, 0x4b, 0x57, 0x13, 0x35}}
return a, nil
}
var _publicSwaggerUiStandalonePresetJs = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xdc\xbd\xfb\x77\xdb\xb8\x95\x38\xfe\x7b\xff\x0a\x89\xdb\x32\x40\x04\xd1\xa2\xe4\xa7\x64\x58\x9b\xc9\x24\xb3\x69\x27\x8f\xcf\x38\xd3\x6e\x57\x51\x7d\x68\x0a\xb2\xd0\x50\xa0\x06\x04\x9d\x78\x4c\xed\xdf\xfe\x3d\x78\x91\x20\x45\xd9\xce\xb4\xdd\x9e\xf3\x3d\xc7\xc7\x22\x41\x3c\x2e\x80\x8b\x8b\xfb\xc2\x45\x77\x99\xb3\x58\xd0\x94\x01\x81\x08\xbc\xf7\xd2\xeb\xbf\x93\x58\x78\x18\x8b\xbb\x0d\x49\x97\x1d\xf2\x75\x93\x72\x91\xf9\xfe\xce\x97\x75\xba\xc8\x13\x32\xd5\x3f\x81\xc9\x87\x09\x80\x63\xcf\xd6\x59\x65\x5e\x90\x25\x65\xc4\xf7\xf5\x6f\x10\xad\x17\x53\xfd\x08\x66\x73\x44\xe0\x78\x5f\xbb\x53\xf3\x1b\x5c\x7e\x89\x6e\x6e\x08\xff\xf9\xcd\xa5\x88\xd8\x22\x4a\x52\x46\x3e\x70\x92\x11\xa1\x5a\x14\x0f\x7f\xdf\x02\xb1\xa2\x19\x2a\xbb\x0a\xef\x39\x11\x39\x67\x9d\xaa\xf3\xf0\xde\x3e\x77\x08\xe0\xf0\x9e\x2e\x01\x9b\xf1\x39\x34\x19\xe5\xb3\xed\xe3\xe4\x36\xe2\x1d\x8a\x65\x12\xbe\xa7\x63\x8e\x92\x71\x37\x44\xe6\xe3\xf8\x7e\xbb\x9d\x98\x42\x42\x16\x8a\xa3\x24\x01\xd4\x96\x45\x14\x55\xcf\x04\x22\x1a\x24\xb8\x3b\xa8\xd2\xb6\xb2\x6e\x86\xef\xcb\x3a\x48\xb0\xc6\x02\x91\x20\xc6\x0c\x91\x80\x62\x17\x62\xdb\xcc\x16\x91\x60\xe1\x7c\x41\x0c\x71\x78\x4f\x82\x54\x3e\xc2\xa2\x78\xaf\xc6\x36\xd0\x03\xfe\x81\xa7\x1b\xc2\xc5\x9d\xca\x76\x1f\xa7\x6c\x49\x6f\x72\x1e\x5d\x27\x44\xf5\x82\xe5\x6b\x62\xde\x06\xe8\x86\x88\x31\xdf\x42\x59\x3f\xab\xb5\xac\xa1\x14\xbe\x2f\x82\xab\x2b\x92\xbd\xd5\xa8\xb0\x3b\xbe\xaa\xd1\x28\x4f\xc4\x76\xdc\xf2\xd1\xe9\xe4\x02\x30\xe4\x45\x1e\x62\x10\x31\xd9\x5c\x8a\xeb\x78\x69\x32\x9a\x9e\x6c\x78\x2a\x52\x89\x28\xc1\x2a\xca\xde\x7f\x61\xb6\x4f\x7a\xb0\x65\x01\x59\xc7\x06\x7b\x07\x0b\x9a\x09\x0f\x11\x40\x82\x0c\x1f\x8d\x8e\xe1\x16\xcc\xdc\x8a\x11\x83\xf7\x5e\x9e\x91\x4e\x26\x38\x8d\x85\x37\x29\x91\x80\xdb\x6e\x12\x67\x32\x58\x9e\x24\x5d\x2c\xfb\x6d\x00\xf9\x4c\xee\x32\x20\x60\xb0\x4c\xf9\xab\x28\x5e\x81\xb2\x6e\x06\xef\xc5\x8c\xcd\x77\x3f\x08\x78\x4f\x66\x97\x82\x53\x76\x03\x04\x9c\x63\xb6\x85\x5b\x88\xc8\xb6\x6c\x98\xea\x0e\xd3\x25\x20\x98\x14\xc5\xfd\x16\xb9\x6d\x91\x96\xb6\x74\xee\x7e\x88\x31\xce\x02\xca\x16\xe4\xeb\xfb\x25\x20\x10\x8a\x15\x4f\xbf\x74\x18\xf9\xd2\x49\xc1\xb3\x9f\xd9\x67\x96\x7e\x61\x9d\x74\xa3\x5a\xf1\x9e\xf5\x48\xef\x99\xd7\xa1\x59\x67\x4d\x44\x87\x32\xbd\x42\xa9\xfa\x98\x2e\xe5\x77\x21\xbf\xff\xf5\xc5\xdb\x1f\x3b\x6a\xa4\x9f\x49\x38\xe5\x32\x0a\x44\x74\x83\x85\x7e\xfc\x4c\xd9\x02\x13\xf5\x53\x14\x72\x74\x74\x32\x27\x59\x9a\xdc\x12\x4c\xec\x53\x51\xec\x4c\x7f\x77\xb0\xd5\x99\xe3\x94\x65\x82\xe7\xb1\xc0\xa4\x7a\x76\x0a\xd4\x10\x5d\x95\xa0\x2c\x13\x11\x8b\xc9\xfb\x25\x26\xce\x8b\x0b\xc1\x86\x93\x05\x8d\x23\x21\x61\x28\x9f\xeb\x20\x6e\x24\x79\x60\x42\x01\x69\x9e\xdd\x0c\x06\x71\x2f\xc5\x5d\x22\x2b\x71\x5f\xdd\x6c\x99\x4c\x78\x91\xd0\x28\x23\x19\xe6\x12\xcf\x9c\x04\x9d\x11\x22\x35\x37\x51\x39\x37\xe5\xd0\xed\x99\x23\xf9\x49\xcd\x80\xcd\x67\x66\x2a\xdb\x90\x98\x2e\x29\x59\x74\x96\x29\x6f\x9f\x22\x89\xb1\x29\x66\xe0\xf0\x14\xa2\x0c\xcf\x3c\x59\xda\x43\x9e\x99\x06\x0f\x79\xe5\x08\x7b\xc8\xab\x86\xce\x43\x5e\x39\x4a\x2a\xbb\x19\x10\x0f\x79\x6e\xc7\x3d\xe4\xb9\xdd\xf3\xe6\x28\xc2\x33\x2f\x8b\xa3\x24\xe2\xf2\x1b\xf9\x25\x27\x2c\x96\xd9\xd6\xd1\x66\x43\xd9\x8d\x37\x9f\x88\x72\x6b\xa0\x5b\xd4\x5c\x7b\x12\x5c\x8e\x19\x08\x8f\x46\x10\x78\x5f\x3e\x67\x1e\x44\x54\xbe\x0f\x4e\x21\x92\xfd\x38\x82\xc1\xe5\xdd\xfa\x3a\x4d\x50\x86\x5b\xb6\x95\x74\x02\xaa\xfa\x5b\x30\x86\xcf\xc4\xbc\x28\x80\xfc\xc1\x99\xef\xa7\xfa\x35\x9b\xa6\x63\x0a\x81\xa7\x6b\x0e\xbc\x9e\x80\x70\x0b\x83\x4c\xa4\x9c\x60\x5e\x87\xb2\xa4\x75\x65\x33\xf7\xb7\x84\x67\x34\x65\x63\x6f\x18\x1c\x05\x23\x6f\x3b\xf1\x58\xbe\xbe\x26\xbc\x02\xeb\xea\x8a\xf8\x3e\xb8\xba\x22\x98\xc1\xfd\x9d\x3e\x32\x7d\x3d\xd1\x5d\x0d\xd5\x94\x31\x30\x1a\x40\x14\x61\x06\x8e\x43\x88\x72\xdc\x56\x38\x46\x09\x5a\xa1\x25\xda\x60\xe1\xe7\xc1\x6b\xb4\x50\xbf\x3f\xa0\xb5\xfa\xbd\x44\xb7\xea\xf7\x03\xba\x53\xbf\xdf\xa1\x1b\xbc\x98\xf2\xf1\x7a\xca\x67\x44\x8f\x06\x99\xe3\xfb\x2d\x1c\x03\x9d\x70\xbf\x85\x15\x45\x45\x5f\xf1\x62\x4a\xc7\x54\x67\xa5\x26\x2b\xba\xc6\x5f\xab\x3c\x45\x01\x9c\x37\xf9\x7d\xb2\xf0\x7d\xc0\x30\x81\x93\x65\xca\x41\x2c\xe9\x09\x83\x09\xee\x6e\x7c\xff\xc6\xf7\x6f\x53\xba\xe8\x0c\xba\x18\xdf\xcc\xe2\x39\x5a\x61\x90\x4c\x6f\xc6\x0c\xca\x97\x25\xbe\xf3\xfd\x64\x1a\x81\x15\xe2\x70\x7c\xeb\xfb\x2d\x93\xbc\x9a\x46\xe0\xb5\x49\x55\x14\x1e\xad\xe0\x78\x85\x6e\x7c\x3f\x03\x37\x28\x46\x2b\x24\xbb\xf9\x33\x44\x5f\x67\xf1\xbc\x8b\x57\xbe\x9f\x82\xaf\x28\x46\x4b\x88\x6e\x7d\xff\xda\x26\x02\xf9\x84\x57\x70\x3b\xe1\x41\x2c\x67\x9a\xa2\x3c\x78\x8d\x43\x94\x07\x3f\xe0\x21\xca\x83\x4b\x7c\x88\xf2\xe0\x03\x3e\x45\x79\xf0\x1d\x0e\x8f\x51\x1e\xfc\x05\x8f\xe4\x97\x9f\xf1\xb1\xfc\xf4\x13\x0e\x87\xa7\xa8\xc2\x84\x7c\xff\xdc\x8e\xf4\xdc\x1e\x0e\xcd\xdc\x0e\xe4\xdc\x1e\x78\x07\x37\x28\x6a\x4c\xa9\xdc\xaa\x35\x43\x61\x76\x85\x14\x08\x28\x31\xc0\x3b\xf7\x7a\xc4\xec\x3c\x9e\xd7\xc5\x98\xf9\x3e\x88\x7a\xd8\xeb\x78\x3d\xd6\x7b\x86\xbd\x67\x3d\x53\x82\x43\x49\xc2\x92\x28\x26\x20\x43\x9e\xff\x4b\x9e\x8a\x89\x07\x7b\xcf\xLine truncated
func publicSwaggerUiStandalonePresetJsBytes() ([]byte, error) {
return bindataRead(
_publicSwaggerUiStandalonePresetJs,
"public/swagger-ui-standalone-preset.js",
)
}
func publicSwaggerUiStandalonePresetJs() (*asset, error) {
bytes, err := publicSwaggerUiStandalonePresetJsBytes()
if err != nil {
return nil, err
}
info := bindataFileInfo{name: "public/swagger-ui-standalone-preset.js", size: 440915, mode: os.FileMode(0644), modTime: time.Unix(1603755438, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xa9, 0xd0, 0xb, 0x24, 0x4, 0x3b, 0xa, 0x54, 0x83, 0x5c, 0x3, 0x32, 0x6f, 0x41, 0x76, 0x93, 0xe, 0x2c, 0xb0, 0xd1, 0x89, 0xb7, 0xff, 0xc4, 0x71, 0xfc, 0x33, 0x2b, 0x90, 0xe4, 0xd3, 0x79}}
return a, nil
}
var _publicSwaggerUiCss = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\xbd\x7b\x73\xdb\x38\xd2\x2f\xfc\xff\xf9\x14\x3a\xbb\x95\x9a\x99\x1d\x53\x21\x75\x97\x55\xf3\xd4\x91\x63\x27\xe3\x6c\xe4\xc4\x76\x2e\x93\x6c\x4d\x4d\x51\x24\x24\xd1\x06\x48\x3e\x24\x75\xb1\x7d\xf6\xbb\xbf\xc5\xab\x70\x69\x80\xa0\xac\xcc\xce\x79\xeb\xd9\x6c\x32\x36\xf1\xeb\x46\xa3\xbb\x01\x34\x1a\x20\xd8\x8e\xb7\xf6\x72\x89\x22\x63\xed\x3d\xfd\xaf\x56\xeb\xe5\x3f\xfe\x77\xcb\x0f\x22\x62\x63\xef\x11\xb5\x9d\x38\x6e\x6d\x86\x6d\xb3\x6d\xb6\xfe\x6f\x6b\x76\xf9\xb1\xf5\xce\x73\x90\x1f\xa3\xd6\xff\x6d\x2d\xbd\x64\xb5\x9e\xb7\x9d\x80\xbc\xf4\x91\x13\x60\x3b\x7e\xc9\xd2\xfd\xe3\xe5\x22\xf0\x13\x63\x61\x13\x0f\x3f\x9c\xbe\x0f\x91\xdf\xba\xb5\xfd\xf8\x24\xb6\xfd\xd8\x88\x51\xe4\x2d\x26\x4e\x80\x83\xe8\xf4\xef\xdd\x79\xcf\xea\x5b\xff\xa6\x24\x69\xad\x12\x82\x9f\xb0\xe7\x23\x63\x85\xbc\xe5\x2a\x39\xb5\xda\x56\x7f\x62\x90\xd8\x48\xd0\x2e\x31\x62\xef\x11\x19\xb6\x7b\xb7\x8e\x93\x53\xcb\x34\x5f\x4c\x8c\x2d\x9a\xdf\x7b\x09\x5c\xca\x70\x9e\x07\xee\xc3\x13\xb1\xa3\xa5\xe7\x9f\x9a\x4c\x89\x1d\x25\x9e\x83\xd1\x09\xf3\x2c\xf6\x5c\xf6\xc9\x22\x08\x12\x14\x31\x8f\x56\xc8\x76\xb9\x47\xbe\xbd\x61\x7e\x8f\x91\x93\x78\x81\xff\xe4\x7a\x71\x88\xed\x87\xd3\x39\x0e\x9c\x7b\xb6\xc5\xd6\x53\xa6\xaf\x54\xf8\xd3\x0e\x22\x93\x42\xc6\xf6\x60\x88\x48\x8b\x95\x74\xe1\x2d\x1d\x3b\x4c\x19\x9e\x70\x8f\xd7\x11\x2b\x2d\xb1\x3d\x55\xa5\x39\x45\xa9\x0e\x0b\x91\x56\xcf\x0c\x77\xac\x5c\xd1\x53\xa9\xdc\x79\xb0\x4b\xc5\xf3\xfc\xe5\xa9\x13\xf8\x09\xf2\xb3\x47\x13\xc9\xe3\xc2\x70\xe6\x24\xd8\xa0\x68\x81\x83\xed\xe9\xc6\x8b\xbd\x39\x46\x0c\xfb\x30\x42\x4f\xb4\x9f\x90\xc0\x0f\xe2\xd0\x76\xd0\x49\xf5\xd3\x64\xaf\x17\x0b\x11\xd6\x64\x4f\x73\xdb\xb9\x5f\x46\xc1\xda\x77\x8d\xdc\x9b\x92\xc8\xf6\xe3\xd0\x8e\x90\x9f\xb0\x5e\xe1\x22\x27\x88\xec\x54\x69\x46\x7c\xef\x85\xa7\xc1\xfc\x0e\x39\x49\xcc\xf2\x9b\xcf\xa3\x7f\x25\x5e\x82\xd1\xef\x4f\xf3\x20\x72\x51\x64\xcc\x83\x24\x09\xc8\xa9\x1f\xf8\x68\xc2\xf1\x39\x5d\xfb\x2e\x8a\x52\x2f\x95\x97\xb4\xdc\x20\x49\x90\xcb\xba\x20\xeb\x1a\x49\x14\xf8\xcb\x5c\x09\xdb\x5c\x67\x9e\xbf\x42\x91\x97\x4c\xe8\x67\xf3\x00\xbb\x28\x62\xf8\x38\x01\xe7\x9b\xf7\x73\x97\x65\x6d\x93\xf0\x19\xda\x75\x17\x7e\xe1\x93\xc9\x03\x46\xa7\x5e\x62\x63\xcf\xf9\x37\xeb\x5e\xd1\xbd\x68\x82\xbf\x2f\x16\x66\xd9\xb7\x4d\x93\x75\xdd\x98\xd8\x18\x53\x9e\x3e\xe2\xba\x67\xbc\xe6\xb4\xb3\x0e\x29\xf4\xb0\xff\x62\x42\x8f\x0a\xe6\x24\x0c\x62\x2f\xd3\x78\x84\xb0\x9d\x78\x1b\x34\xd9\xa0\xb4\x1f\xdb\xd8\xb0\xb1\xb7\xf4\x4f\xe7\x76\x8c\x52\x12\xbe\x96\xa7\xc2\xb0\x46\xbb\xd3\xe7\xda\x9d\xd6\x99\x04\xe1\xa9\xd1\xe6\x4b\xec\xb5\xeb\x05\x8c\x7c\x1b\xcf\x45\x41\xd5\xc3\x3c\x3f\x93\x4e\xec\x68\x19\xe1\xa9\x1f\x24\x3f\xfe\x2b\xed\x23\x51\x80\xe3\xdf\x7f\xaa\xc8\x32\xe7\x2a\x9b\xc4\xd0\x79\x64\x59\x3a\x62\x6e\x84\x14\xca\x0a\xbb\x59\x66\x7c\x4f\xa3\x20\x48\x7e\x7a\xaa\x3a\xdb\xca\x73\x5d\xe4\xb3\x7e\xb7\x4e\x12\x6e\xc8\xf0\xfc\x70\x9d\x30\x4f\x82\x30\x49\x8d\x19\x72\xc3\x17\x46\x0e\x8b\x4b\x3d\xde\x8e\x90\xcd\xf8\x17\x35\xb6\x53\x6e\x95\x0e\xd0\xc2\x58\x0e\x0e\xc1\x32\x09\x9f\x94\x63\x08\x40\x95\x0b\xfc\x94\x75\xcb\x6c\x44\x58\x04\x11\x11\x95\xf7\xaf\xe4\x21\x44\xbf\x44\x28\x46\xc9\xef\x27\x62\x41\xbc\x9e\x13\x8f\x2b\x01\x2a\x4b\x27\xab\x82\x22\x2f\xfd\xbd\x1a\x32\xed\x30\x44\x76\x64\xfb\x0e\x3a\xcd\x8b\x80\xea\x0b\x9a\xd3\x53\x83\x04\x8f\xc6\x22\x70\xd6\xb1\xe1\xf9\x3e\x37\xa3\xd0\xa2\x6a\x41\x0b\xe1\x6b\xb0\x79\xe5\x22\x48\xf4\xba\x49\x68\xbb\x6e\x3a\xc8\x9b\x8a\x36\xec\xd9\x44\x9e\xbf\x94\x37\xa0\x16\x57\x4a\xaf\x00\x16\xa2\xb3\x88\xa7\x60\x9d\xa4\xbe\x76\x6a\x85\xbb\x62\xec\x6d\x9d\x65\xc0\x8f\x68\x97\x70\x93\x1f\xc2\x6e\x8c\x92\xa7\xb2\x61\xed\x6e\x1f\x91\x56\x7b\x98\xfd\x3b\x10\x86\x05\x8c\x96\xc8\x77\xa1\xd9\xb0\x9a\x2a\x98\xc9\x90\x7a\x9a\x0f\x86\xe5\xb0\x5e\x76\xfb\xc4\x9e\x63\x34\x21\xf6\xce\xd8\x7a\x6e\xb2\xca\x3b\x4a\xa5\xe5\xc9\x76\xe5\x25\xc8\xc8\x06\xe9\xd3\x3c\xb4\xe2\x66\xce\x60\x19\xa1\x38\x06\x07\x1f\xad\x51\xb0\xea\xc2\x55\xef\xb2\xd7\x49\x00\x58\xd7\x59\x21\xe7\x7e\x1e\xec\xa0\x3e\x12\xd9\xae\x17\xfc\x7e\x90\x56\x54\x0e\xe5\xaf\xc9\x1c\x45\xa9\xf7\x16\x8c\x33\xaf\x34\xe2\xd0\xf3\x0d\xa0\x0b\x4a\x88\x82\x75\xc2\x12\x3d\x15\x43\x90\xa4\xa1\x31\xb2\x23\x67\x05\x76\xdf\x54\x59\x99\xc7\x4c\x0a\x0f\x33\x82\xc5\x22\x46\xc9\xa9\xd1\xe1\x22\x26\x86\xd5\x5e\x96\xfc\x81\xe1\xa4\xdc\xb0\xbc\x0d\x32\xba\x7d\x70\x01\x49\x27\x8c\x6c\x7b\xfa\x85\x87\x91\xb1\x0e\x71\x60\xbb\xa5\x12\xa4\xa3\x53\x36\x6a\x97\x7e\xca\xc6\x02\x28\xb1\x3d\x1c\xb3\xc1\x25\xf2\xd7\x8a\xe0\x32\x5e\x13\x62\x47\x0f\x15\x02\x7b\x71\x62\x78\x09\xd7\xab\x1c\xdb\xdf\xd8\xb0\x13\xb3\x5a\xcd\x27\xb4\xdf\xb9\x49\x88\x84\xd8\x4e\x10\x33\x93\x32\x64\x6d\x17\xcd\xd7\xcb\xd6\x3f\x98\x71\x21\x0e\xb0\xe7\xb6\x96\x01\x76\x01\xac\x91\xf5\x3b\x90\xe2\xef\x8b\xc5\x02\xa2\x98\x63\xdb\xb9\x87\x29\xf8\xf8\xa7\xa0\x58\x46\x9e\x4b\x05\x4e\x74\xd4\xda\x5a\x47\xf8\x47\xd7\x4e\xec\x53\x8f\xd8\x4b\xf4\x32\xf4\x97\x93\xb4\xfb\x0e\x7a\x27\xde\xe7\xb3\xf7\x37\x5b\xf3\x9f\x6f\x96\xc1\x74\x3a\x9d\x5e\xdd\x7e\x5a\x5d\x7c\x5a\xa6\x3f\x66\xff\x5c\xbe\x9a\x7e\Line truncated
func publicSwaggerUiCssBytes() ([]byte, error) {
return bindataRead(
_publicSwaggerUiCss,
"public/swagger-ui.css",
)
}
func publicSwaggerUiCss() (*asset, error) {
bytes, err := publicSwaggerUiCssBytes()
if err != nil {
return nil, err
}
info := bindataFileInfo{name: "public/swagger-ui.css", size: 153540, mode: os.FileMode(0644), modTime: time.Unix(1603755438, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x0, 0x44, 0x96, 0x15, 0x88, 0xba, 0xa, 0x54, 0xb7, 0x45, 0x18, 0x63, 0x69, 0x98, 0x6a, 0x19, 0xca, 0x51, 0x11, 0xc8, 0x22, 0x3d, 0x11, 0x31, 0x1b, 0x2c, 0x55, 0xa5, 0xa, 0xb6, 0xab, 0x2a}}
return a, nil
}
var _publicSwaggerUiJs = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\xbd\x8b\x77\xdb\xb6\x92\x30\xfe\xaf\xc8\xd8\x2e\x0b\xd4\x30\x2d\xd9\x71\x1e\x54\x50\x6d\x1e\x4e\x9b\x6e\x12\xe7\xc6\x4e\x7b\xef\x2a\xba\xfa\x60\x12\x92\xd8\x50\xa0\x0a\x82\x7e\xd4\xd4\xef\x6f\xff\x1d\x3c\x48\x82\x14\x65\x3b\x69\xef\xbd\xfb\xed\xb7\xe7\xf8\x58\x24\x88\xe7\x60\x30\x98\x19\x0c\x66\x76\x66\x39\x0f\x65\x9c\x72\xc8\xb0\x44\x37\x20\x3d\xff\x95\x85\x12\x10\x22\xaf\x57\x2c\x9d\xf5\xd8\xd5\x2a\x15\x32\xf3\xbc\x8d\x2f\xcb\x34\xca\x13\x36\x32\x3f\xbe\xcd\x47\x24\x14\xec\xb7\x3c\x16\x0c\x02\xc1\x68\x28\x01\xc2\x55\xc2\x4a\xa4\xab\x3d\x55\x3a\x73\x53\xe3\xe5\x32\x97\xf4\x3c\x61\x6e\xa2\x2e\xbb\x57\x7d\xda\x53\x45\x37\x4a\x0a\x96\xb1\x84\x35\xdb\xc8\x98\x88\x69\x12\xff\xce\xf6\x98\x10\xa9\x70\x3f\x45\x8c\xad\xf6\xd8\x95\x64\x3c\x72\x93\x7f\xcd\xf6\xae\xe9\x32\xd9\x6c\x3d\x4c\x93\x84\xae\xb2\x46\xbf\xb2\x4b\x3a\x9f\x33\xb1\x17\x26\x31\xe3\x8d\x86\xcf\x69\xc6\x1e\x3e\xd8\xfb\xb5\xd1\xc3\x30\xa1\x59\xc6\xe9\xb2\xd9\xef\x30\x5d\x2e\x53\xbe\xa4\xe2\x73\x23\x35\xcb\x7c\x96\x85\x74\xd5\x68\x30\x66\x8c\x3d\x3a\x7a\xd0\x48\xca\xa8\x10\xf4\xda\x4d\x5a\xb2\x65\x1a\xff\xce\x3a\x40\x18\xb1\xf3\x34\xe7\x21\xdb\x8b\xf9\x2a\x97\x1d\xdf\xd3\xe5\xad\x70\xcf\x05\xdb\x0b\xd3\xe5\x2a\xe5\xad\xf1\x9a\x9c\x6a\x10\x51\x7a\xc9\x37\xbf\x08\x16\xe5\x57\x9b\xc9\xd9\x2a\x89\xe5\xde\x8a\xf2\x56\x5f\x37\x32\x47\xf9\xd5\xde\x16\xd4\x98\x33\xce\x04\x95\xa9\xd8\x13\x39\x97\xf1\xb2\xf5\x59\xf5\xa9\x5d\x28\xa3\x3c\x96\x0a\x2b\x16\xb2\x39\xd5\xb9\x48\xf6\x56\x54\x34\x67\xf9\xaa\x99\xe7\x6a\x99\xec\x9d\xe7\x72\x6f\x25\x98\x94\x31\x6b\x20\x95\x42\x9d\xd6\xa4\xff\xce\x78\x16\x8a\x34\x49\x00\x42\x01\x28\xd7\x57\xbd\x70\x22\x36\x8b\x39\xf3\x3c\xf3\xeb\xd3\x65\x34\x32\x8f\x70\x6c\xd7\x0c\x76\x97\x0a\x76\x56\x08\xbe\x65\x61\xe0\x7a\x3d\xe0\x8d\x65\x80\x1b\xd8\x8f\x2b\xa4\xc7\x6d\x5c\xc7\x6d\x14\xc7\x0e\x66\x63\x17\xa1\xb1\x8b\xc7\xd8\x45\x5f\x5c\x61\x2d\xae\x90\x15\xd7\x38\x8a\xbb\x51\x13\x3b\x18\xd9\x31\xce\x26\x22\xe2\x36\xfe\xe1\x06\xda\xe1\x4d\x6c\xc3\xa0\xfe\xd4\xc4\x2d\xdc\x89\x52\xd8\xc5\x24\xdc\x42\x20\xec\xe0\x0d\xd6\xe8\x82\x37\xb1\x04\x57\xc8\x81\x1d\x9c\x98\x60\x89\x82\x6d\x64\x76\x64\x7f\xfd\x53\x33\x09\x1f\x5f\xbf\x48\x05\xfb\x5f\xa2\xfa\xbf\x44\xf5\x7f\x89\xaa\x43\x54\xd9\xc6\xfa\x60\xbe\x86\x04\x66\x63\x77\x41\x4c\x30\xf3\xab\xe1\xaa\x6f\xdb\x57\x80\xca\x5a\xa2\xbe\xca\xd9\x46\xf9\x89\x4a\x74\x91\x5d\x27\x94\x68\x3e\xa9\x2b\xaf\x10\x5c\xa7\xb5\x50\x5b\xa7\xd5\x48\xad\x1a\xad\xb1\x59\xbd\x54\x48\xac\x32\x3a\xc8\xab\x47\x62\xb0\x56\x3d\x19\x64\xc5\xcc\x2f\x71\xb4\x6e\xbf\x85\x9b\x4e\xcf\x14\x56\x4e\x3a\xa1\xd0\xc4\x47\x27\x4f\x85\x89\x4e\x9a\x41\x2b\x27\xc1\xc1\x3e\x03\xc5\x28\xbf\x32\x5f\x9b\xe8\x66\x8b\x6c\x22\x9a\x29\x55\x62\x98\x06\x5b\x03\xb3\x74\xc1\x1a\xa7\x54\xf6\xab\x65\xa2\x12\x37\x90\x48\x67\x2d\xd1\x47\x65\xac\xf0\x06\xad\xa1\x5c\xc4\x19\x76\xf9\x5d\xcc\xb1\xc0\x14\xa7\x38\xc7\x31\x4e\x70\x86\x43\x3c\xc3\x11\x5e\xe1\x05\x5e\xe2\x0b\x3c\xc7\xd7\x78\x8a\xcf\xf1\x31\x3e\xc5\x57\xf8\x05\xbe\xc4\xbf\xe2\x67\xf8\x03\x3e\xc1\xef\xf1\x19\x7e\x8b\x6e\x04\x93\xb9\xe0\xbd\xba\x4a\x74\x53\x3e\xf7\x24\x14\xe8\x26\x9e\x41\x3e\x16\x13\x64\x33\xaa\xe7\x92\x53\x1e\x5e\x50\xd1\xa3\x44\x25\x91\x9b\x38\x10\x38\x09\x76\x06\xd8\x7e\x0c\x6e\xd6\xeb\xa1\x2d\xc4\x54\xa1\x90\x26\x09\xa4\x65\x59\x4c\x71\xfd\x2c\x11\xa6\x7e\x42\x76\xfa\x75\xda\x5a\xd5\xcd\xc9\x4d\x55\x87\xf4\x97\x84\x61\xe9\x87\x84\x63\xe9\xc7\xc4\xed\x71\xd9\xcc\x1a\x4b\x3f\x72\xbe\x28\xe0\xa0\x1b\xe9\xa7\xea\x11\x15\xc5\x89\xde\xb2\x7c\xc3\xaa\xbc\x17\xe9\x8a\x09\x79\xad\xb3\xdd\x84\x29\x9f\xc5\xf3\x5c\xa8\xe9\xd3\xa3\xe0\xf9\x92\xd9\xb7\x3e\x9e\x33\x19\x88\x35\x52\xf5\xf3\x46\xcb\xa6\x97\xcc\xf3\x98\x3f\x9d\xb2\xec\xad\x11\x28\xaa\x1c\x75\xd7\x54\xa3\x34\x4f\xe4\x3a\xe8\xf8\xe8\x0c\x32\x82\x1c\x03\x0a\x30\x47\x98\xab\xe6\x52\xd2\x94\x6e\x6c\x46\x3b\x92\x95\x48\x65\xaa\x56\xbf\xbf\xa0\xd9\xc9\x25\x2f\xc7\x64\x80\xad\x0a\xa8\x3a\x56\x04\xec\x47\x71\x26\x01\x96\x50\xfa\x19\x79\xd8\x7f\x82\xd6\x70\xdc\xac\xb8\x96\x7f\xda\x1b\xf5\x1a\xdf\x99\xd3\xdd\xc1\xd7\x2d\xfc\x44\x37\x20\xcf\x58\x2f\x93\x22\x0e\x25\x18\x4a\x07\x50\x6a\xc6\x65\x09\x99\xd6\x40\xe3\x19\xdc\x81\xac\x17\xf3\x4c\x52\x1e\x2a\x06\x43\x22\x24\x17\x22\xbd\xec\x71\x76\xd9\x3b\xbb\x5e\xb1\x63\x45\xd6\x20\x78\x41\x39\x4f\x65\x4f\x0d\xb9\x47\x7b\x9a\x18\xf5\x68\xd6\xa3\x15\x52\x03\xb4\xfe\xb2\x4e\x69\xc4\x16\x84\xc3\x83\xfe\x11\xc2\xb4\x13\xd7\x5a\x53\xce\x82\x1b\x3b\x8e\x80\xad\xd7\x50\xa0\x61\xc7\xc0\x9c\xb5\xc5\xcc\x28\x67\xa9\x80\x06\x87\xfa\x43\xfe\x54\xfa\x09\xe3\x73\xb9\x18\xf2\xdd\x5d\x83\x5b\x82\xc8\x31\x9f\x0c\x85\x5f\xe3\x23\x71\x5f\x8a\x62\x67\x80\x85\xef\x62\xaf\x02\x2a\xb8\xa0\x49\xce\x40\xcc\x7b\xc2\xf3\xa0\xf0\x2f\x45\x2c\xed\x37\x84\xa1\x5a\x66\xb6\x6f\x08\x32\x2c\xfc\xcf\xec\x1a\x0b\xb4\x5e\xb7\x89\x81\x34\x0b\xa8\x5c\xfa\x9e\xc7\xa0\x83\x73\x0a\x47\x85\x4e\xc3\x02\x61\xb9\x5e\xc3\x8e\xb9\xaf\x91\xa5\x82\x0f\x87\x87\x47\x87\x08\xd7\xc0\x0b\x76\xfa\x77\x4d\x50\x05\x37\x71\xef\x39\xe8\x9a\x53\x4a\x38\x3c\x3c\x7c\x8c\x70\x4a\x04\xa4\xLine truncated
func publicSwaggerUiJsBytes() ([]byte, error) {
return bindataRead(
_publicSwaggerUiJs,
"public/swagger-ui.js",
)
}
func publicSwaggerUiJs() (*asset, error) {
bytes, err := publicSwaggerUiJsBytes()
if err != nil {
return nil, err
}
info := bindataFileInfo{name: "public/swagger-ui.js", size: 361688, mode: os.FileMode(0644), modTime: time.Unix(1603755438, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xce, 0xf9, 0x34, 0xcb, 0xf8, 0xd7, 0xb6, 0xb0, 0xed, 0xf3, 0xb, 0xfc, 0x8d, 0xec, 0x66, 0xa2, 0xe8, 0x8f, 0xcd, 0xcd, 0x8, 0x5b, 0xda, 0xcf, 0x96, 0x7e, 0x21, 0xd2, 0xdf, 0x58, 0x66, 0x29}}
return a, nil
}
var _publicSwaggerJson = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\x56\x4b\x4f\xe3\x48\x10\xbe\xe7\x57\x94\x7a\xf7\x98\xc4\x81\x63\x4e\x1b\xed\x61\x15\x69\x11\x91\xe0\xb0\xd2\x6e\x0e\x4d\xbb\x62\x37\xd8\xdd\x4d\x3f\xc2\x46\x28\xff\x7d\xd4\x6d\x27\x69\xbf\x98\x80\x06\xc1\x8c\xe0\x80\x9c\xfa\xea\xf9\x55\xb9\xca\xcf\x23\x00\xc2\xa4\x30\xae\x44\x43\xe6\xf0\xef\x08\x00\x80\x50\xa5\x0a\xce\xa8\xe5\x52\x24\xf7\x46\x0a\x32\xae\xe4\x16\xff\xb7\x89\x2a\x28\x17\x64\x04\xb0\xf6\x52\xa2\xb4\x4c\x1d\x7b\xab\xb5\x61\x39\x36\x42\xe7\xd6\xaa\x83\x81\x7f\x36\x91\xee\x13\xcd\x32\xd4\x64\x0e\xe4\x72\x3a\x0b\x4a\x84\x8b\x8d\x24\x73\x78\xae\x0c\x52\x34\x4c\x73\xe5\x23\x7b\x2d\x9b\x23\x28\xa7\x95\x34\x08\x72\x03\x36\xe7\x06\xa2\xe4\x80\x1b\xb0\x12\x94\x96\x5b\x9e\x22\x50\x11\x83\xff\x09\x9b\x53\xeb\x55\x9c\xe1\x22\x83\x90\x37\x64\x12\x98\x4c\xd1\x9b\xa5\xb8\xe1\x02\x81\x82\xa2\xc6\x22\x2c\x56\xcb\x63\x9d\xdc\x16\xe8\xe3\x2f\x56\xcb\xe9\xa9\x78\x5d\x9a\xeb\xcd\x0d\xea\x2d\x67\x58\x67\xa7\x11\xa8\x46\x10\x12\x6e\xaf\x6f\x80\xda\x2a\xc5\x52\x96\x28\xec\x18\x9c\x41\x2f\xdb\x49\xa7\x41\x3e\x09\xd0\xdc\x3c\xc0\x13\x82\xa5\x0f\xc1\x46\xa3\x51\x52\x18\x7e\xc7\x0b\x6e\x77\x87\x40\x4c\x0a\x4b\x99\x3d\x92\x02\x40\x04\x2d\x43\xc4\x7f\x9c\xab\xb5\x00\x88\xd3\x85\x97\x05\x8e\xe7\x49\x62\xa4\xd3\x53\x6e\x4e\x38\x96\x94\x07\x8d\x12\xff\x38\x80\x01\xdb\xd7\x81\x0a\xce\x50\x18\xec\x0b\x74\xb5\xbc\xed\x0d\x34\x4f\x12\xa9\x50\x78\x77\x0c\xa7\x52\x67\x49\xed\xc4\x24\xde\xa4\xe1\x7e\x8b\xda\xd4\x7d\x9c\x4d\x67\xd3\x0b\x8f\x06\x8c\xe4\xd2\xf8\xf2\x48\x20\x7e\x1a\x27\x4e\xee\xa8\xc1\x15\xb5\xb9\x87\x93\x4a\xa4\xa8\xcd\xcd\x69\x44\x12\xaa\xd4\xa4\x31\x35\x00\x24\xc3\x98\xaf\xee\x20\xfd\x85\x16\x16\x4a\xc1\xd2\xdb\x8d\x4f\x6a\x9d\xd9\xaf\xe5\x9d\x37\xe0\x08\xae\x23\x6b\x4b\xb3\x3e\xcb\x10\xa4\xd7\x40\x2a\xd4\xc1\xe9\x32\xf5\x59\x65\x68\x27\xc7\x6a\x22\xb5\x7a\x2e\xd0\x34\x6a\x02\x20\x97\xb3\x59\x4b\xd4\x2d\xf5\xc6\x31\x86\xc6\x44\xfe\x82\x56\x78\x4f\x69\xc7\xda\x57\xb1\x53\xa1\xe7\xf2\xee\x1e\x99\x6d\xd9\x55\x1c\x29\xd4\x96\x77\xd2\xa9\x71\x6e\xb1\x0c\xd0\xbe\x85\x35\x7f\xc7\xbf\x4e\xcf\x87\xa7\x7d\x63\x74\x92\xed\xc5\x2f\xd4\xe6\xed\xc5\xe4\xab\xd3\x2f\x74\xba\x44\xcd\x9c\xde\x4d\x98\x14\x1b\x9e\xbd\xb6\xdf\x57\x95\x35\xfc\x59\x59\x47\xe4\x76\xce\x62\x2d\x3f\xaf\xeb\x43\x33\x13\x1d\xc1\xf1\x90\x57\x14\x5b\xae\xe5\x0b\x0a\x5c\xf0\x61\x30\x3a\xb9\x3d\xa8\x95\x65\x71\xfe\x9c\xd6\xdc\x9e\xbd\x8e\x5a\xbd\x88\xf9\xa0\x9a\x96\x68\x51\xb7\x63\xb4\x86\xf4\x30\x64\xc6\x6a\x2e\xb2\xf6\x70\x6e\xa4\x2e\xa9\x1d\xc6\xdb\x23\xae\x28\xc3\xb6\xce\xe1\x48\x99\x3e\x90\x07\xbb\x47\x87\x71\xd1\xf1\x1c\xae\x3f\xed\xeb\x47\x8b\xe2\x7a\xd3\x22\xb7\x8f\xe2\x5a\xfd\x77\x8d\x5e\x9b\xfc\x96\x84\x2f\x19\xee\xf3\x32\x49\xc5\x58\x47\x7f\xdf\x8e\x36\xe0\xf4\x3b\x39\xc2\x19\x6b\x02\x1a\xab\xa2\x17\x8e\x02\x51\xad\xe9\xae\x37\xce\x59\x7e\x06\x79\x58\xb8\x94\xa3\xe8\xa3\xa2\xfa\x6b\xaf\xb0\x61\x69\x57\xd6\x96\xac\x5f\xb3\xfe\x8e\x9f\x55\xaa\xfa\x0a\x3a\x6b\xbb\xbd\xff\x5a\x7b\xfb\x29\x7c\xcd\x8a\xf1\x35\x7f\xb6\x1d\xb3\xa2\xbb\x42\xd2\x74\x68\xcb\xa8\x7e\xb8\xda\x33\xa1\x87\x2d\x44\xe3\xa3\xe3\x1a\x7d\xbd\x56\x3b\xfc\xa4\x4b\xa8\xa6\xe6\x87\x1c\xee\xb0\x88\xcd\x5b\x0f\x77\xd8\x58\xf0\x37\x6f\x30\xf9\x81\xc7\xfb\xfd\xa6\x3f\x3e\xb0\x35\x67\x1f\x3d\xfc\x5f\x07\xb6\x87\xe2\x5a\xfd\xeb\xc0\x56\x2a\x3f\xd9\x81\x1d\x1d\xfe\xef\x47\xfb\x6f\x01\x00\x00\xff\xff\x08\xc3\x1d\x9d\x1f\x13\x00\x00")
func publicSwaggerJsonBytes() ([]byte, error) {
return bindataRead(
_publicSwaggerJson,
"public/swagger.json",
)
}
func publicSwaggerJson() (*asset, error) {
bytes, err := publicSwaggerJsonBytes()
if err != nil {
return nil, err
}
info := bindataFileInfo{name: "public/swagger.json", size: 4895, mode: os.FileMode(0644), modTime: time.Unix(1603758903, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x71, 0xcc, 0xe, 0x5f, 0xc1, 0xe9, 0xd6, 0xa9, 0x46, 0x93, 0xde, 0x3d, 0x71, 0x10, 0x7f, 0xa9, 0x1e, 0x98, 0x11, 0x70, 0xc6, 0xcf, 0x1c, 0xa, 0x57, 0x84, 0xfc, 0x3c, 0xf7, 0x28, 0x3, 0x67}}
return a, nil
}
// Asset loads and returns the asset for the given name.
// It returns an error if the asset could not be found or
// could not be loaded.
func Asset(name string) ([]byte, error) {
canonicalName := strings.Replace(name, "\\", "/", -1)
if f, ok := _bindata[canonicalName]; ok {
a, err := f()
if err != nil {
return nil, fmt.Errorf("Asset %s can't read by error: %v", name, err)
}
return a.bytes, nil
}
return nil, fmt.Errorf("Asset %s not found", name)
}
// AssetString returns the asset contents as a string (instead of a []byte).
func AssetString(name string) (string, error) {
data, err := Asset(name)
return string(data), err
}
// MustAsset is like Asset but panics when Asset would return an error.
// It simplifies safe initialization of global variables.
func MustAsset(name string) []byte {
a, err := Asset(name)
if err != nil {
panic("asset: Asset(" + name + "): " + err.Error())
}
return a
}
// MustAssetString is like AssetString but panics when Asset would return an
// error. It simplifies safe initialization of global variables.
func MustAssetString(name string) string {
return string(MustAsset(name))
}
// AssetInfo loads and returns the asset info for the given name.
// It returns an error if the asset could not be found or
// could not be loaded.
func AssetInfo(name string) (os.FileInfo, error) {
canonicalName := strings.Replace(name, "\\", "/", -1)
if f, ok := _bindata[canonicalName]; ok {
a, err := f()
if err != nil {
return nil, fmt.Errorf("AssetInfo %s can't read by error: %v", name, err)
}
return a.info, nil
}
return nil, fmt.Errorf("AssetInfo %s not found", name)
}
// AssetDigest returns the digest of the file with the given name. It returns an
// error if the asset could not be found or the digest could not be loaded.
func AssetDigest(name string) ([sha256.Size]byte, error) {
canonicalName := strings.Replace(name, "\\", "/", -1)
if f, ok := _bindata[canonicalName]; ok {
a, err := f()
if err != nil {
return [sha256.Size]byte{}, fmt.Errorf("AssetDigest %s can't read by error: %v", name, err)
}
return a.digest, nil
}
return [sha256.Size]byte{}, fmt.Errorf("AssetDigest %s not found", name)
}
// Digests returns a map of all known files and their checksums.
func Digests() (map[string][sha256.Size]byte, error) {
mp := make(map[string][sha256.Size]byte, len(_bindata))
for name := range _bindata {
a, err := _bindata[name]()
if err != nil {
return nil, err
}
mp[name] = a.digest
}
return mp, nil
}
// AssetNames returns the names of the assets.
func AssetNames() []string {
names := make([]string, 0, len(_bindata))
for name := range _bindata {
names = append(names, name)
}
return names
}
// _bindata is a table, holding each asset generator, mapped to its name.
var _bindata = map[string]func() (*asset, error){
"public/favicon-16x16.png": publicFavicon16x16Png,
"public/favicon-32x32.png": publicFavicon32x32Png,
"public/index.html": publicIndexHtml,
"public/oauth2-redirect.html": publicOauth2RedirectHtml,
"public/swagger-ui-bundle.js": publicSwaggerUiBundleJs,
"public/swagger-ui-standalone-preset.js": publicSwaggerUiStandalonePresetJs,
"public/swagger-ui.css": publicSwaggerUiCss,
"public/swagger-ui.js": publicSwaggerUiJs,
"public/swagger.json": publicSwaggerJson,
}
// AssetDir returns the file names below a certain
// directory embedded in the file by go-bindata.
// For example if you run go-bindata on data/... and data contains the
// following hierarchy:
// data/
// foo.txt
// img/
// a.png
// b.png
// then AssetDir("data") would return []string{"foo.txt", "img"},
// AssetDir("data/img") would return []string{"a.png", "b.png"},
// AssetDir("foo.txt") and AssetDir("notexist") would return an error, and
// AssetDir("") will return []string{"data"}.
func AssetDir(name string) ([]string, error) {
node := _bintree
if len(name) != 0 {
canonicalName := strings.Replace(name, "\\", "/", -1)
pathList := strings.Split(canonicalName, "/")
for _, p := range pathList {
node = node.Children[p]
if node == nil {
return nil, fmt.Errorf("Asset %s not found", name)
}
}
}
if node.Func != nil {
return nil, fmt.Errorf("Asset %s not found", name)
}
rv := make([]string, 0, len(node.Children))
for childName := range node.Children {
rv = append(rv, childName)
}
return rv, nil
}
type bintree struct {
Func func() (*asset, error)
Children map[string]*bintree
}
var _bintree = &bintree{nil, map[string]*bintree{
"public": &bintree{nil, map[string]*bintree{
"favicon-16x16.png": &bintree{publicFavicon16x16Png, map[string]*bintree{}},
"favicon-32x32.png": &bintree{publicFavicon32x32Png, map[string]*bintree{}},
"index.html": &bintree{publicIndexHtml, map[string]*bintree{}},
"oauth2-redirect.html": &bintree{publicOauth2RedirectHtml, map[string]*bintree{}},
"swagger-ui-bundle.js": &bintree{publicSwaggerUiBundleJs, map[string]*bintree{}},
"swagger-ui-standalone-preset.js": &bintree{publicSwaggerUiStandalonePresetJs, map[string]*bintree{}},
"swagger-ui.css": &bintree{publicSwaggerUiCss, map[string]*bintree{}},
"swagger-ui.js": &bintree{publicSwaggerUiJs, map[string]*bintree{}},
"swagger.json": &bintree{publicSwaggerJson, map[string]*bintree{}},
}},
}}
// RestoreAsset restores an asset under the given directory.
func RestoreAsset(dir, name string) error {
data, err := Asset(name)
if err != nil {
return err
}
info, err := AssetInfo(name)
if err != nil {
return err
}
err = os.MkdirAll(_filePath(dir, filepath.Dir(name)), os.FileMode(0755))
if err != nil {
return err
}
err = ioutil.WriteFile(_filePath(dir, name), data, info.Mode())
if err != nil {
return err
}
return os.Chtimes(_filePath(dir, name), info.ModTime(), info.ModTime())
}
// RestoreAssets restores an asset under the given directory recursively.
func RestoreAssets(dir, name string) error {
children, err := AssetDir(name)
// File
if err != nil {
return RestoreAsset(dir, name)
}
// Dir
for _, child := range children {
err = RestoreAssets(dir, filepath.Join(name, child))
if err != nil {
return err
}
}
return nil
}
func _filePath(dir, name string) string {
canonicalName := strings.Replace(name, "\\", "/", -1)
return filepath.Join(append([]string{dir}, strings.Split(canonicalName, "/")...)...)
}
func assetFS() *assetfs.AssetFS {
assetInfo := func(path string) (os.FileInfo, error) {
return os.Stat(path)
}
for k := range _bintree.Children {
return &assetfs.AssetFS{Asset: Asset, AssetDir: AssetDir, AssetInfo: assetInfo, Prefix: k}
}
panic("unreachable")
}
-11
View File
@@ -1,11 +0,0 @@
package docs
import "sour.is/x/toolbox/httpsrv"
func init() {
httpsrv.AssetRegister("docs", httpsrv.AssetRoutes{
{Name: "Assets", Path: "/docs/", HandlerFunc: httpsrv.FsHtml5(assetFS())},
})
}
//go:generate go run github.com/sour-is/go-assetfs/cmd/assetfs -pkg docs public/
Binary file not shown.

Before

Width:  |  Height:  |  Size: 445 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

-95
View File
@@ -1,95 +0,0 @@
<!-- HTML for static distribution bundle build -->
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Swagger UI</title>
<link href="https://fonts.googleapis.com/css?family=Open+Sans:400,700|Source+Code+Pro:300,600|Titillium+Web:400,600,700" rel="stylesheet">
<link rel="stylesheet" type="text/css" href="./swagger-ui.css" >
<link rel="icon" type="image/png" href="./favicon-32x32.png" sizes="32x32" />
<link rel="icon" type="image/png" href="./favicon-16x16.png" sizes="16x16" />
<style>
html
{
box-sizing: border-box;
overflow: -moz-scrollbars-vertical;
overflow-y: scroll;
}
*,
*:before,
*:after
{
box-sizing: inherit;
}
body {
margin:0;
background: #fafafa;
}
</style>
</head>
<body>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" style="position:absolute;width:0;height:0">
<defs>
<symbol viewBox="0 0 20 20" id="unlocked">
<path d="M15.8 8H14V5.6C14 2.703 12.665 1 10 1 7.334 1 6 2.703 6 5.6V6h2v-.801C8 3.754 8.797 3 10 3c1.203 0 2 .754 2 2.199V8H4c-.553 0-1 .646-1 1.199V17c0 .549.428 1.139.951 1.307l1.197.387C5.672 18.861 6.55 19 7.1 19h5.8c.549 0 1.428-.139 1.951-.307l1.196-.387c.524-.167.953-.757.953-1.306V9.199C17 8.646 16.352 8 15.8 8z"></path>
</symbol>
<symbol viewBox="0 0 20 20" id="locked">
<path d="M15.8 8H14V5.6C14 2.703 12.665 1 10 1 7.334 1 6 2.703 6 5.6V8H4c-.553 0-1 .646-1 1.199V17c0 .549.428 1.139.951 1.307l1.197.387C5.672 18.861 6.55 19 7.1 19h5.8c.549 0 1.428-.139 1.951-.307l1.196-.387c.524-.167.953-.757.953-1.306V9.199C17 8.646 16.352 8 15.8 8zM12 8H8V5.199C8 3.754 8.797 3 10 3c1.203 0 2 .754 2 2.199V8z"/>
</symbol>
<symbol viewBox="0 0 20 20" id="close">
<path d="M14.348 14.849c-.469.469-1.229.469-1.697 0L10 11.819l-2.651 3.029c-.469.469-1.229.469-1.697 0-.469-.469-.469-1.229 0-1.697l2.758-3.15-2.759-3.152c-.469-.469-.469-1.228 0-1.697.469-.469 1.228-.469 1.697 0L10 8.183l2.651-3.031c.469-.469 1.228-.469 1.697 0 .469.469.469 1.229 0 1.697l-2.758 3.152 2.758 3.15c.469.469.469 1.229 0 1.698z"/>
</symbol>
<symbol viewBox="0 0 20 20" id="large-arrow">
<path d="M13.25 10L6.109 2.58c-.268-.27-.268-.707 0-.979.268-.27.701-.27.969 0l7.83 7.908c.268.271.268.709 0 .979l-7.83 7.908c-.268.271-.701.27-.969 0-.268-.269-.268-.707 0-.979L13.25 10z"/>
</symbol>
<symbol viewBox="0 0 20 20" id="large-arrow-down">
<path d="M17.418 6.109c.272-.268.709-.268.979 0s.271.701 0 .969l-7.908 7.83c-.27.268-.707.268-.979 0l-7.908-7.83c-.27-.268-.27-.701 0-.969.271-.268.709-.268.979 0L10 13.25l7.418-7.141z"/>
</symbol>
<symbol viewBox="0 0 24 24" id="jump-to">
<path d="M19 7v4H5.83l3.58-3.59L8 6l-6 6 6 6 1.41-1.41L5.83 13H21V7z"/>
</symbol>
<symbol viewBox="0 0 24 24" id="expand">
<path d="M10 18h4v-2h-4v2zM3 6v2h18V6H3zm3 7h12v-2H6v2z"/>
</symbol>
</defs>
</svg>
<div id="swagger-ui"></div>
<script src="./swagger-ui-bundle.js"> </script>
<script src="./swagger-ui-standalone-preset.js"> </script>
<script>
window.onload = function() {
// Build a system
const ui = SwaggerUIBundle({
url: "/docs/swagger.json",
dom_id: '#swagger-ui',
deepLinking: true,
presets: [
SwaggerUIBundle.presets.apis,
SwaggerUIStandalonePreset
],
plugins: [
SwaggerUIBundle.plugins.DownloadUrl
],
layout: "StandaloneLayout"
})
window.ui = ui
}
</script>
</body>
</html>
-67
View File
@@ -1,67 +0,0 @@
<!doctype html>
<html lang="en-US">
<body onload="run()">
</body>
</html>
<script>
'use strict';
function run () {
var oauth2 = window.opener.swaggerUIRedirectOauth2;
var sentState = oauth2.state;
var redirectUrl = oauth2.redirectUrl;
var isValid, qp, arr;
if (/code|token|error/.test(window.location.hash)) {
qp = window.location.hash.substring(1);
} else {
qp = location.search.substring(1);
}
arr = qp.split("&")
arr.forEach(function (v,i,_arr) { _arr[i] = '"' + v.replace('=', '":"') + '"';})
qp = qp ? JSON.parse('{' + arr.join() + '}',
function (key, value) {
return key === "" ? value : decodeURIComponent(value)
}
) : {}
isValid = qp.state === sentState
if ((
oauth2.auth.schema.get("flow") === "accessCode"||
oauth2.auth.schema.get("flow") === "authorizationCode"
) && !oauth2.auth.code) {
if (!isValid) {
oauth2.errCb({
authId: oauth2.auth.name,
source: "auth",
level: "warning",
message: "Authorization may be unsafe, passed state was changed in server Passed state wasn't returned from auth server"
});
}
if (qp.code) {
delete oauth2.state;
oauth2.auth.code = qp.code;
oauth2.callback({auth: oauth2.auth, redirectUrl: redirectUrl});
} else {
let oauthErrorMsg
if (qp.error) {
oauthErrorMsg = "["+qp.error+"]: " +
(qp.error_description ? qp.error_description+ ". " : "no accessCode received from the server. ") +
(qp.error_uri ? "More info: "+qp.error_uri : "");
}
oauth2.errCb({
authId: oauth2.auth.name,
source: "auth",
level: "error",
message: oauthErrorMsg || "[Authorization failed]: no accessCode received from the server"
});
}
} else {
oauth2.callback({auth: oauth2.auth, token: qp, isValid: isValid, redirectUrl: redirectUrl});
}
window.close();
}
</script>
-93
View File
@@ -1,93 +0,0 @@
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.SwaggerUIBundle=t():e.SwaggerUIBundle=t()}(this,function(){return function(e){function t(r){if(n[r])return n[r].exports;var i=n[r]={i:r,l:!1,exports:{}};return e[r].call(i.exports,i,i.exports,t),i.l=!0,i.exports}var n={};return t.m=e,t.c=n,t.i=function(e){return e},t.d=function(e,n,r){t.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:r})},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="/dist",t(t.s=1227)}([function(e,t,n){"use strict";e.exports=n(93)},function(e,t,n){e.exports=n(1007)()},function(e,t,n){"use strict";t.__esModule=!0,t.default=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}},function(e,t,n){"use strict";t.__esModule=!0;var r=n(336),i=function(e){return e&&e.__esModule?e:{default:e}}(r);t.default=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),(0,i.default)(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}()},function(e,t,n){e.exports={default:n(603),__esModule:!0}},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var i=n(577),o=r(i),a=n(335),s=r(a),u=n(48),l=r(u);t.default=function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+(void 0===t?"undefined":(0,l.default)(t)));e.prototype=(0,s.default)(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(o.default?(0,o.default)(e,t):e.__proto__=t)}},function(e,t,n){"use strict";t.__esModule=!0;var r=n(48),i=function(e){return e&&e.__esModule?e:{default:e}}(r);t.default=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!==(void 0===t?"undefined":(0,i.default)(t))&&"function"!=typeof t?e:t}},function(e,t,n){!function(t,n){e.exports=n()}(0,function(){"use strict";function e(e,t){t&&(e.prototype=Object.create(t.prototype)),e.prototype.constructor=e}function t(e){return o(e)?e:O(e)}function n(e){return a(e)?e:M(e)}function r(e){return s(e)?e:T(e)}function i(e){return o(e)&&!u(e)?e:P(e)}function o(e){return!(!e||!e[ln])}function a(e){return!(!e||!e[cn])}function s(e){return!(!e||!e[pn])}function u(e){return a(e)||s(e)}function l(e){return!(!e||!e[fn])}function c(e){return e.value=!1,e}function p(e){e&&(e.value=!0)}function f(){}function h(e,t){t=t||0;for(var n=Math.max(0,e.length-t),r=new Array(n),i=0;i<n;i++)r[i]=e[i+t];return r}function d(e){return void 0===e.size&&(e.size=e.__iterate(v)),e.size}function m(e,t){if("number"!=typeof t){var n=t>>>0;if(""+n!==t||4294967295===n)return NaN;t=n}return t<0?d(e)+t:t}function v(){return!0}function g(e,t,n){return(0===e||void 0!==n&&e<=-n)&&(void 0===t||void 0!==n&&t>=n)}function y(e,t){return b(e,t,0)}function _(e,t){return b(e,t,t)}function b(e,t,n){return void 0===e?n:e<0?Math.max(0,t+e):void 0===t?e:Math.min(t,e)}function x(e){this.next=e}function w(e,t,n,r){var i=0===e?t:1===e?n:[t,n];return r?r.value=i:r={value:i,done:!1},r}function k(){return{value:void 0,done:!0}}function E(e){return!!A(e)}function S(e){return e&&"function"==typeof e.next}function C(e){var t=A(e);return t&&t.call(e)}function A(e){var t=e&&(wn&&e[wn]||e[kn]);if("function"==typeof t)return t}function D(e){return e&&"number"==typeof e.length}function O(e){return null===e||void 0===e?B():o(e)?e.toSeq():z(e)}function M(e){return null===e||void 0===e?B().toKeyedSeq():o(e)?a(e)?e.toSeq():e.fromEntrySeq():L(e)}function T(e){return null===e||void 0===e?B():o(e)?a(e)?e.entrySeq():e.toIndexedSeq():q(e)}function P(e){return(null===e||void 0===e?B():o(e)?a(e)?e.entrySeq():e:q(e)).toSetSeq()}function I(e){this._array=e,this.size=e.length}function R(e){var t=Object.keys(e);this._object=e,this._keys=t,this.size=t.length}function j(e){this._iterable=e,this.size=e.length||e.size}function N(e){this._iterator=e,this._iteratorCache=[]}function F(e){return!(!e||!e[Sn])}function B(){return Cn||(Cn=new I([]))}function L(e){var t=Array.isArray(e)?new I(e).fromEntrySeq():S(e)?new N(e).fromEntrySeq():E(e)?new j(e).fromEntrySeq():"object"==typeof e?new R(e):void 0;if(!t)throw new TypeError("Expected Array or iterable object of [k, v] entries, or keyed object: "+e);return t}function q(e){var t=U(e);if(!t)throw new TypeError("Expected Array or iterable object of values: "+e);return t}function z(e){var t=U(e)||"object"==typeof e&&new R(e);if(!t)throw new TypeError("Expected Array or iterable object of values, or keyed object: "+e);return t}function U(e){return D(e)?new I(e):S(e)?new N(e):E(e)?new j(e):void 0}function W(e,t,n,r){var i=e._cache;if(i){for(var o=i.lengthLine truncated
object-assign
(c) Sindre Sorhus
@license MIT
*/
var i=Object.getOwnPropertySymbols,o=Object.prototype.hasOwnProperty,a=Object.prototype.propertyIsEnumerable;e.exports=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},n=0;n<10;n++)t["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(t).map(function(e){return t[e]}).join(""))return!1;var r={};return"abcdefghijklmnopqrst".split("").forEach(function(e){r[e]=e}),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},r)).join("")}catch(e){return!1}}()?Object.assign:function(e,t){for(var n,s,u=r(e),l=1;l<arguments.length;l++){n=Object(arguments[l]);for(var c in n)o.call(n,c)&&(u[c]=n[c]);if(i){s=i(n);for(var p=0;p<s.length;p++)a.call(n,s[p])&&(u[s[p]]=n[s[p]])}}return u}},function(e,t,n){"use strict";function r(e,t){return 1===e.nodeType&&e.getAttribute(d)===String(t)||8===e.nodeType&&e.nodeValue===" react-text: "+t+" "||8===e.nodeType&&e.nodeValue===" react-empty: "+t+" "}function i(e){for(var t;t=e._renderedComponent;)e=t;return e}function o(e,t){var n=i(e);n._hostNode=t,t[v]=n}function a(e){var t=e._hostNode;t&&(delete t[v],e._hostNode=null)}function s(e,t){if(!(e._flags&m.hasCachedChildNodes)){var n=e._renderedChildren,a=t.firstChild;e:for(var s in n)if(n.hasOwnProperty(s)){var u=n[s],l=i(u)._domID;if(0!==l){for(;null!==a;a=a.nextSibling)if(r(a,l)){o(u,a);continue e}p("32",l)}}e._flags|=m.hasCachedChildNodes}}function u(e){if(e[v])return e[v];for(var t=[];!e[v];){if(t.push(e),!e.parentNode)return null;e=e.parentNode}for(var n,r;e&&(r=e[v]);e=t.pop())n=r,t.length&&s(r,e);return n}function l(e){var t=u(e);return null!=t&&t._hostNode===e?t:null}function c(e){if(void 0===e._hostNode&&p("33"),e._hostNode)return e._hostNode;for(var t=[];!e._hostNode;)t.push(e),e._hostParent||p("34"),e=e._hostParent;for(;t.length;e=t.pop())s(e,e._hostNode);return e._hostNode}var p=n(11),f=n(90),h=n(463),d=(n(8),f.ID_ATTRIBUTE_NAME),m=h,v="__reactInternalInstance$"+Math.random().toString(36).slice(2),g={getClosestInstanceFromNode:u,getInstanceFromNode:l,getNodeFromInstance:c,precacheChildNodes:s,precacheNode:o,uncacheNode:a};e.exports=g},function(e,t){var n=e.exports={version:"2.5.3"};"number"==typeof __e&&(__e=n)},function(e,t){var n;n=function(){return this}();try{n=n||Function("return this")()||(0,eval)("this")}catch(e){"object"==typeof window&&(n=window)}e.exports=n},function(e,t,n){"use strict";function r(e){var t={};return null!==e&&Object.keys(e).forEach(function(n){e[n].forEach(function(e){t[String(e)]=n})}),t}function i(e,t){if(t=t||{},Object.keys(t).forEach(function(t){if(-1===a.indexOf(t))throw new o('Unknown option "'+t+'" is met in definition of "'+e+'" YAML type.')}),this.tag=e,this.kind=t.kind||null,this.resolve=t.resolve||function(){return!0},this.construct=t.construct||function(e){return e},this.instanceOf=t.instanceOf||null,this.predicate=t.predicate||null,this.represent=t.represent||null,this.defaultStyle=t.defaultStyle||null,this.styleAliases=r(t.styleAliases||null),-1===s.indexOf(this.kind))throw new o('Unknown kind "'+this.kind+'" is specified for "'+e+'" YAML type.')}var o=n(117),a=["kind","resolve","construct","instanceOf","predicate","represent","defaultStyle","styleAliases"],s=["scalar","sequence","mapping"];e.exports=i},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var i=n(576),o=r(i),a=n(96),s=r(a);t.default=function(){function e(e,t){var n=[],r=!0,i=!1,o=void 0;try{for(var a,u=(0,s.default)(e);!(r=(a=u.next()).done)&&(n.push(a.value),!t||n.length!==t);r=!0);}catch(e){i=!0,o=e}finally{try{!r&&u.return&&u.return()}finally{if(i)throw o}}return n}return function(t,n){if(Array.isArray(t))return t;if((0,o.default)(Object(t)))return e(t,n);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}()},function(e,t,n){var r=n(367)("wks"),i=n(204),o=n(32).Symbol,a="function"==typeof o;(e.exports=function(e){return r[e]||(r[e]=a&&o[e]||(a?o:i)("Symbol."+e))}).store=r},function(e,t,n){"use strict";t.__esModule=!0;var r=n(30),i=function(e){return e&&e.__esModule?e:{default:e}}(r);t.default=i.default||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}},function(e,t,n){var r=n(190)("wks"),i=n(134),o=n(24).Symbol,a="function"==typeof o;(e.exports=function(e){return r[e]||(r[e]=a&&o[e]||(a?o:i)("Symbol."+e))}).store=r},function(e,t){var n=Array.isArray;e.exports=n},function(e,t,n){var r=n(24),i=n(15),o=n(54),a=n(57),s=function(e,t,n){var u,l,c,p=e&s.F,f=e&s.G,h=e&s.S,d=e&s.P,m=e&s.B,v=e&s.W,g=f?i:i[t]||(i[t]={}),y=g.prototype,_=f?r:h?r[t]:(r[t]||{}).prototype;f&&(n=t);for(u in n)(l=!p&&_&&void 0!==_[u])&&u in g||(c=l?_[u]:n[u],g[u]=f&&"function"!=typeof _[u]?n[u]:m&&l?o(c,r):v&&_[u]==c?function(e){var t=function(t,n,r){if(this instanceof e){switch(arguments.length){case 0:return new e;case 1:return new e(t);case 2:return new e(t,n)}return new e(tLine truncated
* The buffer module from node.js, for the browser.
*
* @author Feross Aboukhadijeh <feross@feross.org> <http://feross.org>
* @license MIT
*/
var Y=n(581),$=n(776),Z=n(394);t.Buffer=o,t.SlowBuffer=m,t.INSPECT_MAX_BYTES=50,o.TYPED_ARRAY_SUPPORT=void 0!==e.TYPED_ARRAY_SUPPORT?e.TYPED_ARRAY_SUPPORT:function(){try{var e=new Uint8Array(1);return e.__proto__={__proto__:Uint8Array.prototype,foo:function(){return 42}},42===e.foo()&&"function"==typeof e.subarray&&0===e.subarray(1,1).byteLength}catch(e){return!1}}(),t.kMaxLength=r(),o.poolSize=8192,o._augment=function(e){return e.__proto__=o.prototype,e},o.from=function(e,t,n){return a(null,e,t,n)},o.TYPED_ARRAY_SUPPORT&&(o.prototype.__proto__=Uint8Array.prototype,o.__proto__=Uint8Array,"undefined"!=typeof Symbol&&Symbol.species&&o[Symbol.species]===o&&Object.defineProperty(o,Symbol.species,{value:null,configurable:!0})),o.alloc=function(e,t,n){return u(null,e,t,n)},o.allocUnsafe=function(e){return l(null,e)},o.allocUnsafeSlow=function(e){return l(null,e)},o.isBuffer=function(e){return!(null==e||!e._isBuffer)},o.compare=function(e,t){if(!o.isBuffer(e)||!o.isBuffer(t))throw new TypeError("Arguments must be Buffers");if(e===t)return 0;for(var n=e.length,r=t.length,i=0,a=Math.min(n,r);i<a;++i)if(e[i]!==t[i]){n=e[i],r=t[i];break}return n<r?-1:r<n?1:0},o.isEncoding=function(e){switch(String(e).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},o.concat=function(e,t){if(!Z(e))throw new TypeError('"list" argument must be an Array of Buffers');if(0===e.length)return o.alloc(0);var n;if(void 0===t)for(t=0,n=0;n<e.length;++n)t+=e[n].length;var r=o.allocUnsafe(t),i=0;for(n=0;n<e.length;++n){var a=e[n];if(!o.isBuffer(a))throw new TypeError('"list" argument must be an Array of Buffers');a.copy(r,i),i+=a.length}return r},o.byteLength=v,o.prototype._isBuffer=!0,o.prototype.swap16=function(){var e=this.length;if(e%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var t=0;t<e;t+=2)y(this,t,t+1);return this},o.prototype.swap32=function(){var e=this.length;if(e%4!=0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(var t=0;t<e;t+=4)y(this,t,t+3),y(this,t+1,t+2);return this},o.prototype.swap64=function(){var e=this.length;if(e%8!=0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(var t=0;t<e;t+=8)y(this,t,t+7),y(this,t+1,t+6),y(this,t+2,t+5),y(this,t+3,t+4);return this},o.prototype.toString=function(){var e=0|this.length;return 0===e?"":0===arguments.length?D(this,0,e):g.apply(this,arguments)},o.prototype.equals=function(e){if(!o.isBuffer(e))throw new TypeError("Argument must be a Buffer");return this===e||0===o.compare(this,e)},o.prototype.inspect=function(){var e="",n=t.INSPECT_MAX_BYTES;return this.length>0&&(e=this.toString("hex",0,n).match(/.{2}/g).join(" "),this.length>n&&(e+=" ... ")),"<Buffer "+e+">"},o.prototype.compare=function(e,t,n,r,i){if(!o.isBuffer(e))throw new TypeError("Argument must be a Buffer");if(void 0===t&&(t=0),void 0===n&&(n=e?e.length:0),void 0===r&&(r=0),void 0===i&&(i=this.length),t<0||n>e.length||r<0||i>this.length)throw new RangeError("out of range index");if(r>=i&&t>=n)return 0;if(r>=i)return-1;if(t>=n)return 1;if(t>>>=0,n>>>=0,r>>>=0,i>>>=0,this===e)return 0;for(var a=i-r,s=n-t,u=Math.min(a,s),l=this.slice(r,i),c=e.slice(t,n),p=0;p<u;++p)if(l[p]!==c[p]){a=l[p],s=c[p];break}return a<s?-1:s<a?1:0},o.prototype.includes=function(e,t,n){return-1!==this.indexOf(e,t,n)},o.prototype.indexOf=function(e,t,n){return _(this,e,t,n,!0)},o.prototype.lastIndexOf=function(e,t,n){return _(this,e,t,n,!1)},o.prototype.write=function(e,t,n,r){if(void 0===t)r="utf8",n=this.length,t=0;else if(void 0===n&&"string"==typeof t)r=t,n=this.length,t=0;else{if(!isFinite(t))throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");t|=0,isFinite(n)?(n|=0,void 0===r&&(r="utf8")):(r=n,n=void 0)}var i=this.length-t;if((void 0===n||n>i)&&(n=i),e.length>0&&(n<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");r||(r="utf8");for(var o=!1;;)switch(r){case"hex":return x(this,e,t,n);case"utf8":case"utf-8":return w(this,e,t,n);case"ascii":return k(this,e,t,n);case"latin1":case"binary":return E(this,e,t,n);case"base64":return S(this,e,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return C(this,e,t,n);default:if(o)throw new TypeError("Unknown encoding: "+r);r=(""+r).toLowerCase(),o=!0}},o.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var Q=4096;o.prototype.slice=function(e,t){var n=this.length;e=~~e,t=void 0===t?n:~~t,e<0?(e+=n)<0&&(e=0):e>n&&(e=n),t<0?(t+=n)<0&&(t=0):t>n&&(t=n),t<e&&(t=e);var r;if(o.TYPED_ARRAY_SUPPORT)r=this.subarray(e,t),r.__proto__=o.prototype;else{var i=t-e;r=new o(i,void 0);for(var a=0;a<i;++a)r[a]=this[a+e]}return r},o.prototype.readUIntLE=function(e,t,n){e|=0,t|=0,n||R(e,t,this.length);for(var r=this[e],i=1,o=0;++o<t&&(i*=256);)r+=this[e+o]*i;return r},o.prototype.readUIntBE=function(e,t,n){Line truncated
* @description Recursive object extending
* @author Viacheslav Lotsmanov <lotsmanov89@gmail.com>
* @license MIT
*
* The MIT License (MIT)
*
* Copyright (c) 2013-2015 Viacheslav Lotsmanov
*
* Permission is hereby granted, free of charge, to any person obtaining a copy of
* this software and associated documentation files (the "Software"), to deal in
* the Software without restriction, including without limitation the rights to
* use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
* the Software, and to permit persons to whom the Software is furnished to do so,
* subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in all
* copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
* FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
* COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
* IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*/
function n(e){return e instanceof t||e instanceof Date||e instanceof RegExp}function r(e){if(e instanceof t){var n=new t(e.length);return e.copy(n),n}if(e instanceof Date)return new Date(e.getTime());if(e instanceof RegExp)return new RegExp(e);throw new Error("Unexpected situation")}function i(e){var t=[];return e.forEach(function(e,a){"object"==typeof e&&null!==e?Array.isArray(e)?t[a]=i(e):n(e)?t[a]=r(e):t[a]=o({},e):t[a]=e}),t}var o=e.exports=function(){if(arguments.length<1||"object"!=typeof arguments[0])return!1;if(arguments.length<2)return arguments[0];var e,t,a=arguments[0],s=Array.prototype.slice.call(arguments,1);return s.forEach(function(s){"object"!=typeof s||Array.isArray(s)||Object.keys(s).forEach(function(u){return t=a[u],e=s[u],e===a?void 0:"object"!=typeof e||null===e?void(a[u]=e):Array.isArray(e)?void(a[u]=i(e)):n(e)?void(a[u]=r(e)):"object"!=typeof t||null===t||Array.isArray(t)?void(a[u]=o({},e)):void(a[u]=o(t,e))})}),a}}).call(t,n(42).Buffer)},function(e,t){e.exports={Aacute:"Á",aacute:"á",Abreve:"Ă",abreve:"ă",ac:"∾",acd:"∿",acE:"∾̳",Acirc:"Â",acirc:"â",acute:"´",Acy:"А",acy:"а",AElig:"Æ",aelig:"æ",af:"⁡",Afr:"𝔄",afr:"𝔞",Agrave:"À",agrave:"à",alefsym:"ℵ",aleph:"ℵ",Alpha:"Α",alpha:"α",Amacr:"Ā",amacr:"ā",amalg:"⨿",amp:"&",AMP:"&",andand:"⩕",And:"⩓",and:"∧",andd:"⩜",andslope:"⩘",andv:"⩚",ang:"∠",ange:"⦤",angle:"∠",angmsdaa:"⦨",angmsdab:"⦩",angmsdac:"⦪",angmsdad:"⦫",angmsdae:"⦬",angmsdaf:"⦭",angmsdag:"⦮",angmsdah:"⦯",angmsd:"∡",angrt:"∟",angrtvb:"⊾",angrtvbd:"⦝",angsph:"∢",angst:"Å",angzarr:"⍼",Aogon:"Ą",aogon:"ą",Aopf:"𝔸",aopf:"𝕒",apacir:"⩯",ap:"≈",apE:"⩰",ape:"≊",apid:"≋",apos:"'",ApplyFunction:"⁡",approx:"≈",approxeq:"≊",Aring:"Å",aring:"å",Ascr:"𝒜",ascr:"𝒶",Assign:"≔",ast:"*",asymp:"≈",asympeq:"≍",Atilde:"Ã",atilde:"ã",Auml:"Ä",auml:"ä",awconint:"∳",awint:"⨑",backcong:"≌",backepsilon:"϶",backprime:"‵",backsim:"∽",backsimeq:"⋍",Backslash:"∖",Barv:"⫧",barvee:"⊽",barwed:"⌅",Barwed:"⌆",barwedge:"⌅",bbrk:"⎵",bbrktbrk:"⎶",bcong:"≌",Bcy:"Б",bcy:"б",bdquo:"„",becaus:"∵",because:"∵",Because:"∵",bemptyv:"⦰",bepsi:"϶",bernou:"ℬ",Bernoullis:"ℬ",Beta:"Β",beta:"β",beth:"ℶ",between:"≬",Bfr:"𝔅",bfr:"𝔟",bigcap:"⋂",bigcirc:"◯",bigcup:"⋃",bigodot:"⨀",bigoplus:"⨁",bigotimes:"⨂",bigsqcup:"⨆",bigstar:"★",bigtriangledown:"▽",bigtriangleup:"△",biguplus:"⨄",bigvee:"⋁",bigwedge:"⋀",bkarow:"⤍",blacklozenge:"⧫",blacksquare:"▪",blacktriangle:"▴",blacktriangledown:"▾",blacktriangleleft:"◂",blacktriangleright:"▸",blank:"␣",blk12:"▒",blk14:"░",blk34:"▓",block:"█",bne:"=⃥",bnequiv:"≡⃥",bNot:"⫭",bnot:"⌐",Bopf:"𝔹",bopf:"𝕓",bot:"⊥",bottom:"⊥",bowtie:"⋈",boxbox:"⧉",boxdl:"┐",boxdL:"╕",boxDl:"╖",boxDL:"╗",boxdr:"┌",boxdR:"╒",boxDr:"╓",boxDR:"╔",boxh:"─",boxH:"═",boxhd:"┬",boxHd:"╤",boxhD:"╥",boxHD:"╦",boxhu:"┴",boxHu:"╧",boxhU:"╨",boxHU:"╩",boxminus:"⊟",boxplus:"⊞",boxtimes:"⊠",boxul:"┘",boxuL:"╛",boxUl:"╜",boxUL:"╝",boxur:"└",boxuR:"╘",boxUr:"╙",boxUR:"╚",boxv:"│",boxV:"║",boxvh:"┼",boxvH:"╪",boxVh:"╫",boxVH:"╬",boxvl:"┤",boxvL:"╡",boxVl:"╢",boxVL:"╣",boxvr:"├",boxvR:"╞",boxVr:"╟",boxVR:"╠",bprime:"‵",breve:"˘",Breve:"˘",brvbar:"¦",bscr:"𝒷",Bscr:"ℬ",bsemi:"⁏",bsim:"∽",bsime:"⋍",bsolb:"⧅",bsol:"\\",bsolhsub:"⟈",bull:"•",bullet:"•",bump:"≎",bumpE:"⪮",bumpe:"≏",Bumpeq:"≎",bumpeq:"≏",Cacute:"Ć",cacute:"ć",capand:"⩄",capbrcup:"⩉",capcap:"⩋",cap:"∩",Cap:"⋒",capcup:"⩇",capdot:"⩀",CapitalDifferentialD:"ⅅ",caps:"∩︀",caret:"⁁",caron:"ˇ",Cayleys:"ℭ",ccaps:"⩍",Ccaron:"Č",ccaron:"č",Ccedil:"Ç",ccedil:"ç",Ccirc:"Ĉ",ccirc:"ĉ",Cconint:"∰",ccups:"⩌",ccupssm:"⩐",Cdot:"Ċ",cdot:"ċ",cedil:"¸",Cedilla:"¸",cemptyv:"⦲",cent:"¢",centerdot:"·",CenterDot:"·",cfr:"𝔠",Cfr:"ℭ",CHcy:"Ч",chcy:"ч",check:"✓",checkmark:"✓",Chi:"Χ",chi:"χ",circ:"ˆ",circeq:"≗",circlearrowleft:"↺",circlearrowright:"↻",circledast:"⊛",circledcirc:"⊚",circleddash:"⊝",CircleDot:"⊙",circledR:"®",circledS:"Ⓢ",CircleMinus:"⊖",CirclePlus:"⊕",CircleTimes:"⊗",cir:"○",cirE:"⧃",cire:"≗",cirfnint:"⨐",cirmid:"⫯",cirscir:"⧂",ClockwiseContourIntegral:"∲",CloseCurlyDoubleQuote:"”",CloseCurlyQuote:"’",clubs:"♣",clubsuit:"♣",colon:":",Colon:"∷",Colone:"⩴",colone:"≔",coloneq:"≔",comma:",",commat:"@",comp:"∁",compfn:"∘",complement:"∁",complexes:"ℂ",cong:"≅",congdot:"⩭",Congruent:"≡",conint:"∮",Conint:"∯",ContourIntegral:"∮",copf:"𝕔",Copf:"ℂ",coprod:"∐",Coproduct:"∐",copy:"©",COPY:"©",copysr:"℗",CounterClockwiseContourIntegral:"∳",crarr:"↵",cross:"✗",Cross:"⨯",Cscr:"𝒞",cscr:"𝒸",csub:"⫏",csube:"⫑",csup:"⫐",csupe:"⫒",ctdot:"⋯",cudarrl:"⤸",cudarrr:"⤵",cLine truncated
* Checks if an event is supported in the current execution environment.
*
* NOTE: This will not work correctly for non-generic events such as `change`,
* `reset`, `load`, `error`, and `select`.
*
* Borrows from Modernizr.
*
* @param {string} eventNameSuffix Event name, e.g. "click".
* @param {?boolean} capture Check if the capture phase is supported.
* @return {boolean} True if the event is supported.
* @internal
* @license Modernizr 3.0.0pre (Custom Build) | MIT
*/
function r(e,t){if(!o.canUseDOM||t&&!("addEventListener"in document))return!1;var n="on"+e,r=n in document;if(!r){var a=document.createElement("div");a.setAttribute(n,"return;"),r="function"==typeof a[n]}return!r&&i&&"wheel"===e&&(r=document.implementation.hasFeature("Events.wheel","3.0")),r}var i,o=n(25);o.canUseDOM&&(i=document.implementation&&document.implementation.hasFeature&&!0!==document.implementation.hasFeature("","")),e.exports=r},function(e,t,n){"use strict";function r(e,t){var n=null===e||!1===e,r=null===t||!1===t;if(n||r)return n===r;var i=typeof e,o=typeof t;return"string"===i||"number"===i?"string"===o||"number"===o:"object"===o&&e.type===t.type&&e.key===t.key}e.exports=r},function(e,t,n){"use strict";var r=(n(13),n(33)),i=(n(10),r);e.exports=i},function(e,t,n){"use strict";function r(e){switch(e._type){case"Document":case"BlockQuote":case"List":case"Item":case"Paragraph":case"Heading":case"Emph":case"Strong":case"Link":case"Image":case"CustomInline":case"CustomBlock":return!0;default:return!1}}var i=function(e,t){this.current=e,this.entering=!0===t},o=function(){var e=this.current,t=this.entering;if(null===e)return null;var n=r(e);return t&&n?e._firstChild?(this.current=e._firstChild,this.entering=!0):this.entering=!1:e===this.root?this.current=null:null===e._next?(this.current=e._parent,this.entering=!1):(this.current=e._next,this.entering=!0),{entering:t,node:e}},a=function(e){return{current:e,root:e,entering:!0,next:o,resumeAt:i}},s=function(e,t){this._type=e,this._parent=null,this._firstChild=null,this._lastChild=null,this._prev=null,this._next=null,this._sourcepos=t,this._lastLineBlank=!1,this._open=!0,this._string_content=null,this._literal=null,this._listData={},this._info=null,this._destination=null,this._title=null,this._isFenced=!1,this._fenceChar=null,this._fenceLength=0,this._fenceOffset=null,this._level=null,this._onEnter=null,this._onExit=null},u=s.prototype;Object.defineProperty(u,"isContainer",{get:function(){return r(this)}}),Object.defineProperty(u,"type",{get:function(){return this._type}}),Object.defineProperty(u,"firstChild",{get:function(){return this._firstChild}}),Object.defineProperty(u,"lastChild",{get:function(){return this._lastChild}}),Object.defineProperty(u,"next",{get:function(){return this._next}}),Object.defineProperty(u,"prev",{get:function(){return this._prev}}),Object.defineProperty(u,"parent",{get:function(){return this._parent}}),Object.defineProperty(u,"sourcepos",{get:function(){return this._sourcepos}}),Object.defineProperty(u,"literal",{get:function(){return this._literal},set:function(e){this._literal=e}}),Object.defineProperty(u,"destination",{get:function(){return this._destination},set:function(e){this._destination=e}}),Object.defineProperty(u,"title",{get:function(){return this._title},set:function(e){this._title=e}}),Object.defineProperty(u,"info",{get:function(){return this._info},set:function(e){this._info=e}}),Object.defineProperty(u,"level",{get:function(){return this._level},set:function(e){this._level=e}}),Object.defineProperty(u,"listType",{get:function(){return this._listData.type},set:function(e){this._listData.type=e}}),Object.defineProperty(u,"listTight",{get:function(){return this._listData.tight},set:function(e){this._listData.tight=e}}),Object.defineProperty(u,"listStart",{get:function(){return this._listData.start},set:function(e){this._listData.start=e}}),Object.defineProperty(u,"listDelimiter",{get:function(){return this._listData.delimiter},set:function(e){this._listData.delimiter=e}}),Object.defineProperty(u,"onEnter",{get:function(){return this._onEnter},set:function(e){this._onEnter=e}}),Object.defineProperty(u,"onExit",{get:function(){return this._onExit},set:function(e){this._onExit=e}}),s.prototype.appendChild=function(e){e.unlink(),e._parent=this,this._lastChild?(this._lastChild._next=e,e._prev=this._lastChild,this._lastChild=e):(this._firstChild=e,this._lastChild=e)},s.prototype.prependChild=function(e){e.unlink(),e._parent=this,this._firstChild?(this._firstChild._prev=e,e._next=this._firstChild,this._firstChild=e):(this._firstChild=e,this._lastChild=e)},s.prototype.unlink=function(){this._prev?this._prev._next=this._next:this._parent&&(this._parent._firstChild=this._next),this._next?this._next._prev=this._prev:this._parent&&(this._parent._lastChild=this._prev),this._parent=null,this._next=null,this._prev=null},s.prototype.insertAfter=function(e){e.unlink(),e._next=this._next,e._next&&(e._next._prev=e),e._prev=this,this._next=e,e._parent=this._parent,e._next||(e._parent._lastChild=e)},s.prototype.insertBefore=function(e){e.unlink(),e._prev=this._prev,e._prev&&(e._prev._next=e),e._next=this,this._prev=e,e._parent=this._parent,e._prev||(e._parent._firstChild=e)},s.prototype.walker=function(){return new a(this)},e.exports=s},function(e,t,n){"use strict";function r(e){var t={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=0);return t}t.__esModule=!0,t.default=r,e.exports=t.default},function(e,t,n){"use Line truncated
String.prototype.repeat||function(){"use strict";var e=function(){try{var e={},t=Object.defineProperty,n=t(e,e,e)&&t}catch(e){}return n}(),t=function(e){if(null==this)throw TypeError();var t=String(this),n=e?Number(e):0;if(n!=n&&(n=0),n<0||n==1/0)throw RangeError();for(var r="";n;)n%2==1&&(r+=t),n>1&&(t+=t),n>>=1;return r};e?e(String.prototype,"repeat",{value:t,configurable:!0,writable:!0}):String.prototype.repeat=t}()},function(e,t,n){e.exports=function(e){function t(r){if(n[r])return n[r].exports;var i=n[r]={i:r,l:!1,exports:{}};return e[r].call(i.exports,i,i.exports,t),i.l=!0,i.exports}var n={};return t.m=e,t.c=n,t.i=function(e){return e},t.d=function(e,n,r){t.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:r})},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="",t(t.s=61)}([function(e,t){e.exports=n(47)},function(e,t){e.exports=n(30)},function(e,t){e.exports=n(48)},function(e,t){e.exports=n(20)},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function i(e){var t=e.openapi;return!!t&&(0,b.default)(t,"3")}function o(e){var t=e.swagger;return!!t&&(0,b.default)(t,"2")}function a(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"";return e&&"object"===(void 0===e?"undefined":(0,v.default)(e))?(e.operationId||"").replace(/\s/g,"").length?w(e.operationId):s(t,n):null}function s(e,t){return""+x(t)+w(e)}function u(e,t){return x(t)+"-"+e}function l(e,t){return e&&e.paths?c(e,function(e){var n=e.pathName,r=e.method,i=e.operation;if(!i||"object"!==(void 0===i?"undefined":(0,v.default)(i)))return!1;var o=i.operationId;return[a(i,n,r),u(n,r),o].some(function(e){return e&&e===t})}):null}function c(e,t){return p(e,t,!0)||null}function p(e,t,n){if(!e||"object"!==(void 0===e?"undefined":(0,v.default)(e))||!e.paths||"object"!==(0,v.default)(e.paths))return null;var r=e.paths;for(var i in r)for(var o in r[i])if("PARAMETERS"!==o.toUpperCase()){var a=r[i][o];if(a&&"object"===(void 0===a?"undefined":(0,v.default)(a))){var s={spec:e,pathName:i,method:o.toUpperCase(),operation:a},u=t(s);if(n&&u)return s}}}function f(e){var t=e.spec,n=t.paths,r={};if(!n)return e;for(var i in n){var o=n[i];if((0,y.default)(o)){var s=o.parameters;for(var u in o)!function(e){var n=o[e];if(!(0,y.default)(n))return"continue";var u=a(n,i,e);if(u){r[u]?r[u].push(n):r[u]=[n];var l=r[u];if(l.length>1)l.forEach(function(e,t){e.__originalOperationId=e.__originalOperationId||e.operationId,e.operationId=""+u+(t+1)});else if(void 0!==n.operationId){var c=l[0];c.__originalOperationId=c.__originalOperationId||n.operationId,c.operationId=u}}if("parameters"!==e){var p=[],f={};for(var h in t)"produces"!==h&&"consumes"!==h&&"security"!==h||(f[h]=t[h],p.push(f));if(s&&(f.parameters=s,p.push(f)),p.length){var m=!0,v=!1,g=void 0;try{for(var _,b=(0,d.default)(p);!(m=(_=b.next()).done);m=!0){var x=_.value;for(var w in x)if(n[w]){if("parameters"===w){var k=!0,E=!1,S=void 0;try{for(var C,A=(0,d.default)(x[w]);!(k=(C=A.next()).done);k=!0)!function(){var e=C.value;n[w].some(function(t){return t.name===e.name})||n[w].push(e)}()}catch(e){E=!0,S=e}finally{try{!k&&A.return&&A.return()}finally{if(E)throw S}}}}else n[w]=x[w]}}catch(e){v=!0,g=e}finally{try{!m&&b.return&&b.return()}finally{if(v)throw g}}}}}(u)}}return e}Object.defineProperty(t,"__esModule",{value:!0});var h=n(16),d=r(h),m=n(2),v=r(m);t.isOAS3=i,t.isSwagger2=o,t.opId=a,t.idFromPathMethod=s,t.legacyIdFromPathMethod=u,t.getOperationRaw=l,t.findOperation=c,t.eachOperation=p,t.normalizeSwagger=f;var g=n(54),y=r(g),_=n(21),b=r(_),x=function(e){return String.prototype.toLowerCase.call(e)},w=function(e){return e.replace(/[^\w]/gi,"_")}},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function i(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return"object"===(void 0===e?"undefined":(0,b.default)(e))&&(t=e,e=t.url),t.headers=t.headers||{},A.mergeInQueryOrForm(t),t.requestInterceptor&&(t=t.requestInterceptor(t)||t),/multipart\/form-data/i.test(t.headers["content-type"]||t.headers["Content-Type"])&&(delete t.headers["content-type"],delete t.headers["Content-Type"]),(t.userFetch||fetch)(t.url,t).then(function(n){var r=A.serializeRes(n,e,t).then(function(e){return t.responseInterceptor&&(e=t.responseInterceptor(e)||e),e});if(!n.ok){var i=new Error(n.statusText);return i.statusCode=i.status=n.status,r.then(function(e){throw i.response=e,i},function(e){throw i.responseError=e,i})}return r})}function o(e,t){return"application/json"===t?JSON.parse(e):E.default.safeLoad(e)}function a(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=n.loadSpec,i=void 0!==r&&r,a={ok:e.ok,url:e.url||t,status:e.status,statusText:e.statusText,headers:s(e.headers)},u=a.headers["content-type"],l=i||D(u);return(l?e.text:e.blob||e.buffer).call(e).then(function(e){if(a.text=e,a.data=e,lLine truncated
* Autolinker.js
* 0.15.3
*
* Copyright(c) 2015 Gregory Jacobs <greg@greg-jacobs.com>
* MIT Licensed. http://www.opensource.org/licenses/mit-license.php
*
* https://github.com/gregjacobs/Autolinker.js
*/
var e=function(t){e.Util.assign(this,t)};return e.prototype={constructor:e,urls:!0,email:!0,twitter:!0,newWindow:!0,stripPrefix:!0,truncate:void 0,className:"",htmlParser:void 0,matchParser:void 0,tagBuilder:void 0,link:function(e){for(var t=this.getHtmlParser(),n=t.parse(e),r=0,i=[],o=0,a=n.length;o<a;o++){var s=n[o],u=s.getType(),l=s.getText();if("element"===u)"a"===s.getTagName()&&(s.isClosing()?r=Math.max(r-1,0):r++),i.push(l);else if("entity"===u)i.push(l);else if(0===r){var c=this.linkifyStr(l);i.push(c)}else i.push(l)}return i.join("")},linkifyStr:function(e){return this.getMatchParser().replace(e,this.createMatchReturnVal,this)},createMatchReturnVal:function(t){var n;return this.replaceFn&&(n=this.replaceFn.call(this,this,t)),"string"==typeof n?n:!1===n?t.getMatchedText():n instanceof e.HtmlTag?n.toString():this.getTagBuilder().build(t).toString()},getHtmlParser:function(){var t=this.htmlParser;return t||(t=this.htmlParser=new e.htmlParser.HtmlParser),t},getMatchParser:function(){var t=this.matchParser;return t||(t=this.matchParser=new e.matchParser.MatchParser({urls:this.urls,email:this.email,twitter:this.twitter,stripPrefix:this.stripPrefix})),t},getTagBuilder:function(){var t=this.tagBuilder;return t||(t=this.tagBuilder=new e.AnchorTagBuilder({newWindow:this.newWindow,truncate:this.truncate,className:this.className})),t}},e.link=function(t,n){return new e(n).link(t)},e.match={},e.htmlParser={},e.matchParser={},e.Util={abstractMethod:function(){throw"abstract"},assign:function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);return e},extend:function(t,n){var r=t.prototype,i=function(){};i.prototype=r;var o;o=n.hasOwnProperty("constructor")?n.constructor:function(){r.constructor.apply(this,arguments)};var a=o.prototype=new i;return a.constructor=o,a.superclass=r,delete n.constructor,e.Util.assign(a,n),o},ellipsis:function(e,t,n){return e.length>t&&(n=null==n?"..":n,e=e.substring(0,t-n.length)+n),e},indexOf:function(e,t){if(Array.prototype.indexOf)return e.indexOf(t);for(var n=0,r=e.length;n<r;n++)if(e[n]===t)return n;return-1},splitAndCapture:function(e,t){if(!t.global)throw new Error("`splitRegex` must have the 'g' flag set");for(var n,r=[],i=0;n=t.exec(e);)r.push(e.substring(i,n.index)),r.push(n[0]),i=n.index+n[0].length;return r.push(e.substring(i)),r}},e.HtmlTag=e.Util.extend(Object,{whitespaceRegex:/\s+/,constructor:function(t){e.Util.assign(this,t),this.innerHtml=this.innerHtml||this.innerHTML},setTagName:function(e){return this.tagName=e,this},getTagName:function(){return this.tagName||""},setAttr:function(e,t){return this.getAttrs()[e]=t,this},getAttr:function(e){return this.getAttrs()[e]},setAttrs:function(t){var n=this.getAttrs();return e.Util.assign(n,t),this},getAttrs:function(){return this.attrs||(this.attrs={})},setClass:function(e){return this.setAttr("class",e)},addClass:function(t){for(var n,r=this.getClass(),i=this.whitespaceRegex,o=e.Util.indexOf,a=r?r.split(i):[],s=t.split(i);n=s.shift();)-1===o(a,n)&&a.push(n);return this.getAttrs().class=a.join(" "),this},removeClass:function(t){for(var n,r=this.getClass(),i=this.whitespaceRegex,o=e.Util.indexOf,a=r?r.split(i):[],s=t.split(i);a.length&&(n=s.shift());){var u=o(a,n);-1!==u&&a.splice(u,1)}return this.getAttrs().class=a.join(" "),this},getClass:function(){return this.getAttrs().class||""},hasClass:function(e){return-1!==(" "+this.getClass()+" ").indexOf(" "+e+" ")},setInnerHtml:function(e){return this.innerHtml=e,this},getInnerHtml:function(){return this.innerHtml||""},toString:function(){var e=this.getTagName(),t=this.buildAttrsStr();return t=t?" "+t:"",["<",e,t,">",this.getInnerHtml(),"</",e,">"].join("")},buildAttrsStr:function(){if(!this.attrs)return"";var e=this.getAttrs(),t=[];for(var n in e)e.hasOwnProperty(n)&&t.push(n+'="'+e[n]+'"');return t.join(" ")}}),e.AnchorTagBuilder=e.Util.extend(Object,{constructor:function(t){e.Util.assign(this,t)},build:function(t){return new e.HtmlTag({tagName:"a",attrs:this.createAttrs(t.getType(),t.getAnchorHref()),innerHtml:this.processAnchorText(t.getAnchorText())})},createAttrs:function(e,t){var n={href:t},r=this.createCssClass(e);return r&&(n.class=r),this.newWindow&&(n.target="_blank"),n},createCssClass:function(e){var t=this.className;return t?t+" "+t+"-"+e:""},processAnchorText:function(e){return e=this.doTruncate(e)},doTruncate:function(t){return e.Util.ellipsis(t,this.truncate||Number.POSITIVE_INFINITY)}}),e.htmlParser.HtmlParser=e.Util.extend(Object,{htmlRegex:function(){var e=/[0-9a-zA-Z][0-9a-zA-Z:]*/,t=/[^\s\0"'>\/=\x01-\x1F\x7F]+/,n=/(?:"[^"]*?"|'[^']*?'|[^'"=<>`\s]+)/,r=t.source+"(?:\\s*=\\s*"+n.source+")?";return new RegExp(["(?:","<(!DOCTYPE)","(?:","\\s+","(?:",r,"|",n.source+")",")*",">",")","|","(?:","<(/)?","("+e.source+")","(?:","\\s+",r,")*","\\s*/?",">",")"].join(""),"gi")}(),htmlCharacterEntitiesRegex:/(&nbsp;|&#160;|&lt;|&#60;|&gt;|&#62;|&quot;|&#34;|&#39;)/gi,parse:function(e){for(var t,n,r=this.htmlRegex,i=0,o=[];null!==(t=r.exec(e));){var a=t[0],s=t[1]||t[3]Line truncated
* Bowser - a browser detector
* https://github.com/ded/bowser
* MIT License | (c) Dustin Diaz 2015
*/
!function(t,r,i){void 0!==e&&e.exports?e.exports=i():n(1209)("bowser",i)}(0,0,function(){function e(e){function t(t){var n=e.match(t);return n&&n.length>1&&n[1]||""}function n(t){var n=e.match(t);return n&&n.length>1&&n[2]||""}var r,i=t(/(ipod|iphone|ipad)/i).toLowerCase(),o=/like android/i.test(e),s=!o&&/android/i.test(e),u=/nexus\s*[0-6]\s*/i.test(e),l=!u&&/nexus\s*[0-9]+/i.test(e),c=/CrOS/.test(e),p=/silk/i.test(e),f=/sailfish/i.test(e),h=/tizen/i.test(e),d=/(web|hpw)os/i.test(e),m=/windows phone/i.test(e),v=(/SamsungBrowser/i.test(e),!m&&/windows/i.test(e)),g=!i&&!p&&/macintosh/i.test(e),y=!s&&!f&&!h&&!d&&/linux/i.test(e),_=n(/edg([ea]|ios)\/(\d+(\.\d+)?)/i),b=t(/version\/(\d+(\.\d+)?)/i),x=/tablet/i.test(e)&&!/tablet pc/i.test(e),w=!x&&/[^-]mobi/i.test(e),k=/xbox/i.test(e);/opera/i.test(e)?r={name:"Opera",opera:a,version:b||t(/(?:opera|opr|opios)[\s\/](\d+(\.\d+)?)/i)}:/opr\/|opios/i.test(e)?r={name:"Opera",opera:a,version:t(/(?:opr|opios)[\s\/](\d+(\.\d+)?)/i)||b}:/SamsungBrowser/i.test(e)?r={name:"Samsung Internet for Android",samsungBrowser:a,version:b||t(/(?:SamsungBrowser)[\s\/](\d+(\.\d+)?)/i)}:/coast/i.test(e)?r={name:"Opera Coast",coast:a,version:b||t(/(?:coast)[\s\/](\d+(\.\d+)?)/i)}:/yabrowser/i.test(e)?r={name:"Yandex Browser",yandexbrowser:a,version:b||t(/(?:yabrowser)[\s\/](\d+(\.\d+)?)/i)}:/ucbrowser/i.test(e)?r={name:"UC Browser",ucbrowser:a,version:t(/(?:ucbrowser)[\s\/](\d+(?:\.\d+)+)/i)}:/mxios/i.test(e)?r={name:"Maxthon",maxthon:a,version:t(/(?:mxios)[\s\/](\d+(?:\.\d+)+)/i)}:/epiphany/i.test(e)?r={name:"Epiphany",epiphany:a,version:t(/(?:epiphany)[\s\/](\d+(?:\.\d+)+)/i)}:/puffin/i.test(e)?r={name:"Puffin",puffin:a,version:t(/(?:puffin)[\s\/](\d+(?:\.\d+)?)/i)}:/sleipnir/i.test(e)?r={name:"Sleipnir",sleipnir:a,version:t(/(?:sleipnir)[\s\/](\d+(?:\.\d+)+)/i)}:/k-meleon/i.test(e)?r={name:"K-Meleon",kMeleon:a,version:t(/(?:k-meleon)[\s\/](\d+(?:\.\d+)+)/i)}:m?(r={name:"Windows Phone",osname:"Windows Phone",windowsphone:a},_?(r.msedge=a,r.version=_):(r.msie=a,r.version=t(/iemobile\/(\d+(\.\d+)?)/i))):/msie|trident/i.test(e)?r={name:"Internet Explorer",msie:a,version:t(/(?:msie |rv:)(\d+(\.\d+)?)/i)}:c?r={name:"Chrome",osname:"Chrome OS",chromeos:a,chromeBook:a,chrome:a,version:t(/(?:chrome|crios|crmo)\/(\d+(\.\d+)?)/i)}:/edg([ea]|ios)/i.test(e)?r={name:"Microsoft Edge",msedge:a,version:_}:/vivaldi/i.test(e)?r={name:"Vivaldi",vivaldi:a,version:t(/vivaldi\/(\d+(\.\d+)?)/i)||b}:f?r={name:"Sailfish",osname:"Sailfish OS",sailfish:a,version:t(/sailfish\s?browser\/(\d+(\.\d+)?)/i)}:/seamonkey\//i.test(e)?r={name:"SeaMonkey",seamonkey:a,version:t(/seamonkey\/(\d+(\.\d+)?)/i)}:/firefox|iceweasel|fxios/i.test(e)?(r={name:"Firefox",firefox:a,version:t(/(?:firefox|iceweasel|fxios)[ \/](\d+(\.\d+)?)/i)},/\((mobile|tablet);[^\)]*rv:[\d\.]+\)/i.test(e)&&(r.firefoxos=a,r.osname="Firefox OS")):p?r={name:"Amazon Silk",silk:a,version:t(/silk\/(\d+(\.\d+)?)/i)}:/phantom/i.test(e)?r={name:"PhantomJS",phantom:a,version:t(/phantomjs\/(\d+(\.\d+)?)/i)}:/slimerjs/i.test(e)?r={name:"SlimerJS",slimer:a,version:t(/slimerjs\/(\d+(\.\d+)?)/i)}:/blackberry|\bbb\d+/i.test(e)||/rim\stablet/i.test(e)?r={name:"BlackBerry",osname:"BlackBerry OS",blackberry:a,version:b||t(/blackberry[\d]+\/(\d+(\.\d+)?)/i)}:d?(r={name:"WebOS",osname:"WebOS",webos:a,version:b||t(/w(?:eb)?osbrowser\/(\d+(\.\d+)?)/i)},/touchpad\//i.test(e)&&(r.touchpad=a)):/bada/i.test(e)?r={name:"Bada",osname:"Bada",bada:a,version:t(/dolfin\/(\d+(\.\d+)?)/i)}:h?r={name:"Tizen",osname:"Tizen",tizen:a,version:t(/(?:tizen\s?)?browser\/(\d+(\.\d+)?)/i)||b}:/qupzilla/i.test(e)?r={name:"QupZilla",qupzilla:a,version:t(/(?:qupzilla)[\s\/](\d+(?:\.\d+)+)/i)||b}:/chromium/i.test(e)?r={name:"Chromium",chromium:a,version:t(/(?:chromium)[\s\/](\d+(?:\.\d+)?)/i)||b}:/chrome|crios|crmo/i.test(e)?r={name:"Chrome",chrome:a,version:t(/(?:chrome|crios|crmo)\/(\d+(\.\d+)?)/i)}:s?r={name:"Android",version:b}:/safari|applewebkit/i.test(e)?(r={name:"Safari",safari:a},b&&(r.version=b)):i?(r={name:"iphone"==i?"iPhone":"ipad"==i?"iPad":"iPod"},b&&(r.version=b)):r=/googlebot/i.test(e)?{name:"Googlebot",googlebot:a,version:t(/googlebot\/(\d+(\.\d+))/i)||b}:{name:t(/^(.*)\/(.*) /),version:n(/^(.*)\/(.*) /)},!r.msedge&&/(apple)?webkit/i.test(e)?(/(apple)?webkit\/537\.36/i.test(e)?(r.name=r.name||"Blink",r.blink=a):(r.name=r.name||"Webkit",r.webkit=a),!r.version&&b&&(r.version=b)):!r.opera&&/gecko\//i.test(e)&&(r.name=r.name||"Gecko",r.gecko=a,r.version=r.version||t(/gecko\/(\d+(\.\d+)?)/i)),r.windowsphone||!s&&!r.silk?!r.windowsphone&&i?(r[i]=a,r.ios=a,r.osname="iOS"):g?(r.mac=a,r.osname="macOS"):k?(r.xbox=a,r.osname="Xbox"):v?(r.windows=a,r.osname="Windows"):y&&(r.linux=a,r.osname="Linux"):(r.android=a,r.osname="Android");var E="";r.windows?E=function(e){switch(e){case"NT":return"NT";case"XP":return"XP";case"NT 5.0":return"2000";case"NT 5.1":return"XP";case"NT 5.2":return"2003";case"NT 6.0":return"Vista";case"NT 6.1":return"7";case"NT 6.2":return"8";case"NT 6.3":return"8.1";case"NT 10.Line truncated
Copyright (c) 2016 Jed Watson.
Licensed under the MIT License (MIT), see
http://jedwatson.github.io/classnames
*/
!function(){"use strict";function n(){for(var e=[],t=0;t<arguments.length;t++){var r=arguments[t];if(r){var i=typeof r;if("string"===i||"number"===i)e.push(r);else if(Array.isArray(r))e.push(n.apply(null,r));else if("object"===i)for(var a in r)o.call(r,a)&&r[a]&&e.push(a)}}return e.join(" ")}var o={}.hasOwnProperty;void 0!==e&&e.exports?e.exports=n:(r=[],void 0!==(i=function(){return n}.apply(t,r))&&(e.exports=i))}()},function(e,t,n){"use strict";function r(e){return{key:e.nodeKey,className:e.className,"data-sourcepos":e["data-sourcepos"]}}function i(e){var t=e.toLowerCase(),n=w[t]||t;return void 0!==k[n]?n:e}function o(e){return Object.keys(e||{}).reduce(function(t,n){return t[i(n)]=e[n],t},{})}function a(e){var t=r(e),n=e.escapeHtml?{}:{dangerouslySetInnerHTML:{__html:e.literal}},i=e.escapeHtml?[e.literal]:null;if(e.escapeHtml||!e.skipHtml){var o=y(t,n);return l(e.isBlock?"div":"span",o,i)}}function s(e){var t=e.parent.parent;return t&&"list"===t.type.toLowerCase()&&t.listTight}function u(e,t){var n=e;do{n=n.parent}while(!n.react);n.react.children.push(t)}function l(e,t,n){var r=Array.isArray(n)&&n.reduce(c,[]),i=[e,t].concat(r||n);return g.createElement.apply(g,i)}function c(e,t){var n=e.length-1;return"string"==typeof t&&"string"==typeof e[n]?e[n]+=t:e.push(t),e}function p(e){return[e[0][0],":",e[0][1],"-",e[1][0],":",e[1][1]].map(String).join("")}function f(e,t,n,r){var o={key:t};n.sourcePos&&e.sourcepos&&(o["data-sourcepos"]=p(e.sourcepos));var a=i(e.type);switch(a){case"html_inline":case"html_block":o.isBlock="html_block"===a,o.escapeHtml=n.escapeHtml,o.skipHtml=n.skipHtml;break;case"code_block":var s=e.info?e.info.split(/ +/):[];s.length>0&&s[0].length>0&&(o.language=s[0],o.codeinfo=s);break;case"code":o.children=e.literal,o.inline=!0;break;case"heading":o.level=e.level;break;case"softbreak":o.softBreak=n.softBreak;break;case"link":o.href=n.transformLinkUri?n.transformLinkUri(e.destination):e.destination,o.title=e.title||void 0,n.linkTarget&&(o.target=n.linkTarget);break;case"image":o.src=n.transformImageUri?n.transformImageUri(e.destination):e.destination,o.title=e.title||void 0,o.alt=e.react.children.join(""),e.react.children=void 0;break;case"list":o.start=e.listStart,o.type=e.listType,o.tight=e.listTight}"string"!=typeof r&&(o.literal=e.literal);var u=o.children||e.react&&e.react.children;return Array.isArray(u)&&(o.children=u.reduce(c,[])||null),o}function h(e){return e?e.sourcepos?p(e.sourcepos):h(e.parent):null}function d(e){for(var t,n,r,o,a,l,c,p,d,m=e.walker(),v={sourcePos:this.sourcePos,escapeHtml:this.escapeHtml,skipHtml:this.skipHtml,transformLinkUri:this.transformLinkUri,transformImageUri:this.transformImageUri,softBreak:this.softBreak,linkTarget:this.linkTarget},_=0;t=m.next();){var b=h(t.node.sourcepos?t.node:t.node.parent);if(d===b?(c=b+_,_++):(c=b,_=0),d=b,r=t.entering,o=!r,n=t.node,a=i(n.type),p=null,l){if(n!==l&&!("paragraph"===a&&s(n)||this.skipHtml&&("html_block"===a||"html_inline"===a))){var w=n===l,k=-1===this.allowedTypes.indexOf(a),E=!1,S=n.isContainer&&o,C=this.renderers[a];if(this.allowNode&&(S||!n.isContainer)){var A=S?n.react.children:[];p=f(n,c,v,C),E=!this.allowNode({type:x(a),renderer:this.renderers[a],props:p,children:A})}if(w||!E&&!k){var D="text"===a||"softbreak"===a;if("function"!=typeof C&&!D&&"string"!=typeof C)throw new Error("Renderer for type `"+x(n.type)+"` not defined or is not renderable");if(n.isContainer&&r)n.react={component:C,props:{},children:[]};else{var O=p||f(n,c,v,C);if(C)O="string"==typeof C?O:y(O,{nodeKey:O.key}),u(n,g.createElement(C,O));else if("text"===a)u(n,n.literal);else if("softbreak"===a){var M="br"===this.softBreak?g.createElement("br",{key:c}):this.softBreak;u(n,M)}}}else!this.unwrapDisallowed&&r&&n.isContainer&&m.resumeAt(n,!1)}}else l=n,n.react={children:[]}}return l.react.children}function m(e){var t=e.replace(/file:\/\//g,"x-file://");return decodeURI(b.uriInDoubleQuotedAttr(t))}function v(e){var t=e||{};if(t.allowedTypes&&t.disallowedTypes)throw new Error("Only one of `allowedTypes` and `disallowedTypes` should be defined");if(t.allowedTypes&&!Array.isArray(t.allowedTypes))throw new Error("`allowedTypes` must be an array");if(t.disallowedTypes&&!Array.isArray(t.disallowedTypes))throw new Error("`disallowedTypes` must be an array");if(t.allowNode&&"function"!=typeof t.allowNode)throw new Error("`allowNode` must be a function");var n=t.transformLinkUri;if(void 0===n)n=m;else if(n&&"function"!=typeof n)throw new Error("`transformLinkUri` must either be a function, or `null` to disable");var r=t.transformImageUri;if(void 0!==r&&"function"!=typeof r)throw new Error("`transformImageUri` must be a function");if(t.renderers&&!_(t.renderers))throw new Error("`renderers` must be a plain object of `Type`: `Renderer` pairs");var a=t.allowedTypes&&t.allowedTypes.map(i)||E;if(t.disallowedTypes){var s=t.disallowedTypes.map(i);a=a.filter(function(e){return-1===s.indexOf(e)})}return{sourcePos:Boolean(t.sourcePos),softBreak:t.softBreak||"\n",rendLine truncated
if(String.fromCodePoint)e.exports=function(e){try{return String.fromCodePoint(e)}catch(e){if(e instanceof RangeError)return String.fromCharCode(65533);throw e}};else{var r=String.fromCharCode,i=Math.floor,o=function(){var e,t,n=[],o=-1,a=arguments.length;if(!a)return"";for(var s="";++o<a;){var u=Number(arguments[o]);if(!isFinite(u)||u<0||u>1114111||i(u)!==u)return String.fromCharCode(65533);u<=65535?n.push(u):(u-=65536,e=55296+(u>>10),t=u%1024+56320,n.push(e,t)),(o+1===a||n.length>16384)&&(s+=r.apply(null,n),n.length=0)}return s};e.exports=o}},function(e,t,n){"use strict";e.exports.Node=n(176),e.exports.Parser=n(586),e.exports.HtmlRenderer=n(591),e.exports.XmlRenderer=n(592)},function(e,t,n){"use strict";function r(e){return{subject:"",delimiters:null,brackets:null,pos:0,refmap:{},match:N,peek:F,spnl:B,parseBackticks:L,parseBackslash:q,parseAutolink:z,parseHtmlTag:U,scanDelims:W,handleDelim:V,parseLinkTitle:X,parseLinkDestination:K,parseLinkLabel:Y,parseOpenBracket:$,parseBang:Z,parseCloseBracket:Q,addBracket:ee,removeBracket:te,parseEntity:ne,parseString:re,parseNewline:ie,parseReference:oe,parseInline:ae,processEmphasis:J,removeDelimiter:H,options:e||{},parse:se}}var i=n(176),o=n(74),a=n(590),s=o.normalizeURI,u=o.unescapeString,l=n(587),c=n(114).decodeHTML;n(504);var p=o.ESCAPABLE,f="\\\\"+p,h=o.ENTITY,d=o.reHtmlTag,m=new RegExp(/[!"#$%&'()*+,\-.\/:;<=>?@\[\]^_`{|}~\xA1\xA7\xAB\xB6\xB7\xBB\xBF\u037E\u0387\u055A-\u055F\u0589\u058A\u05BE\u05C0\u05C3\u05C6\u05F3\u05F4\u0609\u060A\u060C\u060D\u061B\u061E\u061F\u066A-\u066D\u06D4\u0700-\u070D\u07F7-\u07F9\u0830-\u083E\u085E\u0964\u0965\u0970\u0AF0\u0DF4\u0E4F\u0E5A\u0E5B\u0F04-\u0F12\u0F14\u0F3A-\u0F3D\u0F85\u0FD0-\u0FD4\u0FD9\u0FDA\u104A-\u104F\u10FB\u1360-\u1368\u1400\u166D\u166E\u169B\u169C\u16EB-\u16ED\u1735\u1736\u17D4-\u17D6\u17D8-\u17DA\u1800-\u180A\u1944\u1945\u1A1E\u1A1F\u1AA0-\u1AA6\u1AA8-\u1AAD\u1B5A-\u1B60\u1BFC-\u1BFF\u1C3B-\u1C3F\u1C7E\u1C7F\u1CC0-\u1CC7\u1CD3\u2010-\u2027\u2030-\u2043\u2045-\u2051\u2053-\u205E\u207D\u207E\u208D\u208E\u2308-\u230B\u2329\u232A\u2768-\u2775\u27C5\u27C6\u27E6-\u27EF\u2983-\u2998\u29D8-\u29DB\u29FC\u29FD\u2CF9-\u2CFC\u2CFE\u2CFF\u2D70\u2E00-\u2E2E\u2E30-\u2E42\u3001-\u3003\u3008-\u3011\u3014-\u301F\u3030\u303D\u30A0\u30FB\uA4FE\uA4FF\uA60D-\uA60F\uA673\uA67E\uA6F2-\uA6F7\uA874-\uA877\uA8CE\uA8CF\uA8F8-\uA8FA\uA8FC\uA92E\uA92F\uA95F\uA9C1-\uA9CD\uA9DE\uA9DF\uAA5C-\uAA5F\uAADE\uAADF\uAAF0\uAAF1\uABEB\uFD3E\uFD3F\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE61\uFE63\uFE68\uFE6A\uFE6B\uFF01-\uFF03\uFF05-\uFF0A\uFF0C-\uFF0F\uFF1A\uFF1B\uFF1F\uFF20\uFF3B-\uFF3D\uFF3F\uFF5B\uFF5D\uFF5F-\uFF65]|\uD800[\uDD00-\uDD02\uDF9F\uDFD0]|\uD801\uDD6F|\uD802[\uDC57\uDD1F\uDD3F\uDE50-\uDE58\uDE7F\uDEF0-\uDEF6\uDF39-\uDF3F\uDF99-\uDF9C]|\uD804[\uDC47-\uDC4D\uDCBB\uDCBC\uDCBE-\uDCC1\uDD40-\uDD43\uDD74\uDD75\uDDC5-\uDDC9\uDDCD\uDDDB\uDDDD-\uDDDF\uDE38-\uDE3D\uDEA9]|\uD805[\uDCC6\uDDC1-\uDDD7\uDE41-\uDE43\uDF3C-\uDF3E]|\uD809[\uDC70-\uDC74]|\uD81A[\uDE6E\uDE6F\uDEF5\uDF37-\uDF3B\uDF44]|\uD82F\uDC9F|\uD836[\uDE87-\uDE8B]/),v=new RegExp('^(?:"('+f+'|[^"\\x00])*"|\'('+f+"|[^'\\x00])*'|\\(("+f+"|[^)\\x00])*\\))"),g=new RegExp("^(?:[<](?:[^ <>\\t\\n\\\\\\x00]|"+f+"|\\\\)*[>])"),y=new RegExp("^"+p),_=new RegExp("^"+h,"i"),b=/`+/,x=/^`+/,w=/\.\.\./g,k=/--+/g,E=/^<([a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*)>/,S=/^<[A-Za-z][A-Za-z0-9.+-]{1,31}:[^<>\x00-\x20]*>/i,C=/^ *(?:\n *)?/,A=/^[ \t\n\x0b\x0c\x0d]/,D=/[ \t\n\x0b\x0c\x0d]+/g,O=/^\s/,M=/ *$/,T=/^ */,P=/^ *(?:\n|$)/,I=new RegExp("^\\[(?:[^\\\\\\[\\]]|"+f+"|\\\\){0,1000}\\]"),R=/^[^\n`\[\]\\!<&*_'"]+/m,j=function(e){var t=new i("text");return t._literal=e,t},N=function(e){var t=e.exec(this.subject.slice(this.pos));return null===t?null:(this.pos+=t.index+t[0].length,t[0])},F=function(){return this.pos<this.subject.length?this.subject.charCodeAt(this.pos):-1},B=function(){return this.match(C),!0},L=function(e){var t=this.match(x);if(null===t)return!1;for(var n,r,o=this.pos;null!==(n=this.match(b));)if(n===t)return r=new i("code"),r._literal=this.subject.slice(o,this.pos-t.length).trim().replace(D," "),e.appendChild(r),!0;return this.pos=o,e.appendChild(j(t)),!0},q=function(e){var t,n=this.subject;return this.pos+=1,10===this.peek()?(this.pos+=1,t=new i("linebreak"),e.appendChild(t)):y.test(n.charAt(this.pos))?(e.appendChild(j(n.charAt(this.pos))),this.pos+=1):e.appendChild(j("\\")),!0},z=function(e){var t,n,r;return(t=this.match(E))?(n=t.slice(1,t.length-1),r=new i("link"),r._destination=s("mailto:"+n),r._title="",r.appendChild(j(n)),e.appendChild(r),!0):!!(t=this.match(S))&&(n=t.slice(1,t.length-1),r=new i("link"),r._destination=s(n),r._title="",r.appendChild(j(n)),e.appendChild(r),!0)},U=function(e){var t=this.match(d);if(null===t)return!1;var n=new i("html_inline");return n._literal=t,e.appendChild(n),!0},W=function(e){var t,n,r,i,o,a,s,u,c,p,f,h=0,d=this.pos;if(39===e||34===e)h++,this.pos++;else for(;this.peek()===eLine truncated
* cookie
* Copyright(c) 2012-2014 Roman Shtylman
* Copyright(c) 2015 Douglas Christopher Wilson
* MIT Licensed
*/
t.parse=r,t.serialize=i;var a=decodeURIComponent,s=encodeURIComponent,u=/; */,l=/^[\u0009\u0020-\u007e\u0080-\u00ff]+$/},function(e,t,n){n(690),n(694),n(701),n(372),n(685),n(686),n(691),n(695),n(697),n(681),n(682),n(683),n(684),n(687),n(688),n(689),n(692),n(693),n(696),n(698),n(699),n(700),n(677),n(678),n(679),n(680),e.exports=n(63).String},function(e,t,n){n(675),n(372),n(704),n(676),n(702),n(703),e.exports=n(63).Promise},function(e,t,n){n(103),n(632),e.exports=n(15).Array.from},function(e,t,n){n(104),n(103),e.exports=n(630)},function(e,t,n){n(104),n(103),e.exports=n(631)},function(e,t,n){var r=n(15),i=r.JSON||(r.JSON={stringify:JSON.stringify});e.exports=function(e){return i.stringify.apply(i,arguments)}},function(e,t,n){n(634),e.exports=n(15).Object.assign},function(e,t,n){n(635);var r=n(15).Object;e.exports=function(e,t){return r.create(e,t)}},function(e,t,n){n(636);var r=n(15).Object;e.exports=function(e,t,n){return r.defineProperty(e,t,n)}},function(e,t,n){n(637),e.exports=n(15).Object.getPrototypeOf},function(e,t,n){n(638),e.exports=n(15).Object.keys},function(e,t,n){n(639),e.exports=n(15).Object.setPrototypeOf},function(e,t,n){n(196),n(103),n(104),n(640),n(643),n(644),e.exports=n(15).Promise},function(e,t,n){n(641),n(196),n(645),n(646),e.exports=n(15).Symbol},function(e,t,n){n(103),n(104),e.exports=n(194).f("iterator")},function(e,t,n){n(196),n(104),n(642),n(648),n(647),e.exports=n(15).WeakMap},function(e,t){e.exports=function(){}},function(e,t,n){var r=n(76),i=n(133),o=n(629);e.exports=function(e){return function(t,n,a){var s,u=r(t),l=i(u.length),c=o(a,l);if(e&&n!=n){for(;l>c;)if((s=u[c++])!=s)return!0}else for(;l>c;c++)if((e||c in u)&&u[c]===n)return e||c||0;return!e&&-1}}},function(e,t,n){var r=n(27),i=n(343),o=n(21)("species");e.exports=function(e){var t;return i(e)&&(t=e.constructor,"function"!=typeof t||t!==Array&&!i(t.prototype)||(t=void 0),r(t)&&null===(t=t[o])&&(t=void 0)),void 0===t?Array:t}},function(e,t,n){var r=n(612);e.exports=function(e,t){return new(r(e))(t)}},function(e,t,n){"use strict";var r=n(187),i=n(131).getWeak,o=n(37),a=n(27),s=n(177),u=n(129),l=n(178),c=n(56),p=n(357),f=l(5),h=l(6),d=0,m=function(e){return e._l||(e._l=new v)},v=function(){this.a=[]},g=function(e,t){return f(e.a,function(e){return e[0]===t})};v.prototype={get:function(e){var t=g(this,e);if(t)return t[1]},has:function(e){return!!g(this,e)},set:function(e,t){var n=g(this,e);n?n[1]=t:this.a.push([e,t])},delete:function(e){var t=h(this.a,function(t){return t[0]===e});return~t&&this.a.splice(t,1),!!~t}},e.exports={getConstructor:function(e,t,n,o){var l=e(function(e,r){s(e,l,t,"_i"),e._t=t,e._i=d++,e._l=void 0,void 0!=r&&u(r,n,e[o],e)});return r(l.prototype,{delete:function(e){if(!a(e))return!1;var n=i(e);return!0===n?m(p(this,t)).delete(e):n&&c(n,this._i)&&delete n[this._i]},has:function(e){if(!a(e))return!1;var n=i(e);return!0===n?m(p(this,t)).has(e):n&&c(n,this._i)}}),l},def:function(e,t,n){var r=i(o(t),!0);return!0===r?m(e).set(t,n):r[e._i]=n,e},ufstore:m}},function(e,t,n){"use strict";var r=n(24),i=n(23),o=n(131),a=n(55),s=n(57),u=n(187),l=n(129),c=n(177),p=n(27),f=n(102),h=n(43).f,d=n(178)(0),m=n(49);e.exports=function(e,t,n,v,g,y){var _=r[e],b=_,x=g?"set":"add",w=b&&b.prototype,k={};return m&&"function"==typeof b&&(y||w.forEach&&!a(function(){(new b).entries().next()}))?(b=t(function(t,n){c(t,b,e,"_c"),t._c=new _,void 0!=n&&l(n,g,t[x],t)}),d("add,clear,delete,forEach,get,has,set,keys,values,entries,toJSON".split(","),function(e){var t="add"==e||"set"==e;e in w&&(!y||"clear"!=e)&&s(b.prototype,e,function(n,r){if(c(this,b,e),!t&&y&&!p(n))return"get"==e&&void 0;var i=this._c[e](0===n?0:n,r);return t?this:i})}),y||h(b.prototype,"size",{get:function(){return this._c.size}})):(b=v.getConstructor(t,e,g,x),u(b.prototype,n),o.NEED=!0),f(b,e),k[e]=b,i(i.G+i.W+i.F,k),y||v.setStrong(b,e,g),b}},function(e,t,n){"use strict";var r=n(43),i=n(101);e.exports=function(e,t,n){t in e?r.f(e,t,i(0,n)):e[t]=n}},function(e,t,n){var r=n(100),i=n(186),o=n(132);e.exports=function(e){var t=r(e),n=i.f;if(n)for(var a,s=n(e),u=o.f,l=0;s.length>l;)u.call(e,a=s[l++])&&t.push(a);return t}},function(e,t){e.exports=function(e,t,n){var r=void 0===n;switch(t.length){case 0:return r?e():e.call(n);case 1:return r?e(t[0]):e.call(n,t[0]);case 2:return r?e(t[0],t[1]):e.call(n,t[0],t[1]);case 3:return r?e(t[0],t[1],t[2]):e.call(n,t[0],t[1],t[2]);case 4:return r?e(t[0],t[1],t[2],t[3]):e.call(n,t[0],t[1],t[2],t[3])}return e.apply(n,t)}},function(e,t,n){"use strict";var r=n(185),i=n(101),o=n(102),a={};n(57)(a,n(21)("iterator"),function(){return this}),e.exports=function(e,t,n){e.prototype=r(a,{next:i(1,n)}),o(e,t+" Iterator")}},function(e,t){e.exports=function(e,t){return{value:t,done:!!e}}},function(e,t,n){var r=n(24),i=n(356).set,o=r.MutationObserver||r.WebKitMutationObserver,a=r.process,s=r.Promise,u="process"==n(99)(a);e.exports=function(){var e,t,n,l=function(){var r,i;for(u&&(r=a.domain)&&r.exit();e;){i=e.fn,e=e.next;try{i()}catch(r){throw e?n():t=vLine truncated
* pascalcase <https://github.com/jonschlinkert/pascalcase>
*
* Copyright (c) 2015, Jon Schlinkert.
* Licensed under the MIT License.
*/
function n(e){if("string"!=typeof e)throw new TypeError("expected a string.");return e=e.replace(/([A-Z])/g," $1"),1===e.length?e.toUpperCase():(e=e.replace(/^[\W_]+|[\W_]+$/g,"").toLowerCase(),e=e.charAt(0).toUpperCase()+e.slice(1),e.replace(/[\W_]+(\w|$)/g,function(e,t){return t.toUpperCase()}))}e.exports=n},function(e,t,n){"use strict";(function(r){function i(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}t.__esModule=!0;var a=n(452),s=i(a),u=n(233),l=i(u),c=function(){function e(t,n,r){o(this,e),this.stringify=t,this.mapOpts=r.map||{},this.root=n,this.opts=r}return e.prototype.isMap=function(){return void 0!==this.opts.map?!!this.opts.map:this.previous().length>0},e.prototype.previous=function(){var e=this;return this.previousMaps||(this.previousMaps=[],this.root.walk(function(t){if(t.source&&t.source.input.map){var n=t.source.input.map;-1===e.previousMaps.indexOf(n)&&e.previousMaps.push(n)}})),this.previousMaps},e.prototype.isInline=function(){if(void 0!==this.mapOpts.inline)return this.mapOpts.inline;var e=this.mapOpts.annotation;return(void 0===e||!0===e)&&(!this.previous().length||this.previous().some(function(e){return e.inline}))},e.prototype.isSourcesContent=function(){return void 0!==this.mapOpts.sourcesContent?this.mapOpts.sourcesContent:!this.previous().length||this.previous().some(function(e){return e.withContent()})},e.prototype.clearAnnotation=function(){if(!1!==this.mapOpts.annotation)for(var e=void 0,t=this.root.nodes.length-1;t>=0;t--)e=this.root.nodes[t],"comment"===e.type&&0===e.text.indexOf("# sourceMappingURL=")&&this.root.removeChild(t)},e.prototype.setSourcesContent=function(){var e=this,t={};this.root.walk(function(n){if(n.source){var r=n.source.input.from;if(r&&!t[r]){t[r]=!0;var i=e.relative(r);e.map.setSourceContent(i,n.source.input.css)}}})},e.prototype.applyPrevMaps=function(){for(var e=this.previous(),t=Array.isArray(e),n=0,e=t?e:e[Symbol.iterator]();;){var r;if(t){if(n>=e.length)break;r=e[n++]}else{if(n=e.next(),n.done)break;r=n.value}var i=r,o=this.relative(i.file),a=i.root||l.default.dirname(i.file),u=void 0;!1===this.mapOpts.sourcesContent?(u=new s.default.SourceMapConsumer(i.text),u.sourcesContent&&(u.sourcesContent=u.sourcesContent.map(function(){return null}))):u=i.consumer(),this.map.applySourceMap(u,o,this.relative(a))}},e.prototype.isAnnotation=function(){return!!this.isInline()||(void 0!==this.mapOpts.annotation?this.mapOpts.annotation:!this.previous().length||this.previous().some(function(e){return e.annotation}))},e.prototype.toBase64=function(e){return r?r.from&&r.from!==Uint8Array.from?r.from(e).toString("base64"):new r(e).toString("base64"):window.btoa(unescape(encodeURIComponent(e)))},e.prototype.addAnnotation=function(){var e=void 0;e=this.isInline()?"data:application/json;base64,"+this.toBase64(this.map.toString()):"string"==typeof this.mapOpts.annotation?this.mapOpts.annotation:this.outputFile()+".map";var t="\n";-1!==this.css.indexOf("\r\n")&&(t="\r\n"),this.css+=t+"/*# sourceMappingURL="+e+" */"},e.prototype.outputFile=function(){return this.opts.to?this.relative(this.opts.to):this.opts.from?this.relative(this.opts.from):"to.css"},e.prototype.generateMap=function(){return this.generateString(),this.isSourcesContent()&&this.setSourcesContent(),this.previous().length>0&&this.applyPrevMaps(),this.isAnnotation()&&this.addAnnotation(),this.isInline()?[this.css]:[this.css,this.map]},e.prototype.relative=function(e){if(0===e.indexOf("<"))return e;if(/^\w+:\/\//.test(e))return e;var t=this.opts.to?l.default.dirname(this.opts.to):".";return"string"==typeof this.mapOpts.annotation&&(t=l.default.dirname(l.default.resolve(t,this.mapOpts.annotation))),e=l.default.relative(t,e),"\\"===l.default.sep?e.replace(/\\/g,"/"):e},e.prototype.sourcePath=function(e){return this.mapOpts.from?this.mapOpts.from:this.relative(e.source.input.from)},e.prototype.generateString=function(){var e=this;this.css="",this.map=new s.default.SourceMapGenerator({file:this.outputFile()});var t=1,n=1,r=void 0,i=void 0;this.stringify(this.root,function(o,a,s){e.css+=o,a&&"end"!==s&&(a.source&&a.source.start?e.map.addMapping({source:e.sourcePath(a),generated:{line:t,column:n-1},original:{line:a.source.start.line,column:a.source.start.column-1}}):e.map.addMapping({source:"<no source>",original:{line:1,column:0},generated:{line:t,column:n-1}})),r=o.match(/\n/g),r?(t+=r.length,i=o.lastIndexOf("\n"),n=o.length-i):n+=o.length,a&&"start"!==s&&(a.source&&a.source.end?e.map.addMapping({source:e.sourcePath(a),generated:{line:t,column:n-1},original:{line:a.source.end.line,column:a.source.end.column}}):e.map.addMapping({source:"<no source>",original:{line:1,column:0},generated:{line:t,column:n-1}}))})},e.prototype.generate=function(){if(this.clearAnnotation(),this.isMap())return this.generateMap();var e="";return this.stringify(this.root,function(t){e+=t}),[e]},e}();t.default=c,e.exports=t.default}).call(t,n(42).Buffer)},Line truncated
if(String.fromCodePoint)e.exports=function(e){try{return String.fromCodePoint(e)}catch(e){if(e instanceof RangeError)return String.fromCharCode(65533);throw e}};else{var r=String.fromCharCode,i=Math.floor,o=function(){var e,t,n=[],o=-1,a=arguments.length;if(!a)return"";for(var s="";++o<a;){var u=Number(arguments[o]);if(!isFinite(u)||u<0||u>1114111||i(u)!==u)return String.fromCharCode(65533);u<=65535?n.push(u):(u-=65536,e=55296+(u>>10),t=u%1024+56320,n.push(e,t)),(o+1===a||n.length>16384)&&(s+=r.apply(null,n),n.length=0)}return s};e.exports=o}},function(e,t,n){"use strict";function r(e){return{softbreak:"\n",escape:i,options:e||{},render:c}}var i=n(92).escapeXml,o=function(e,t,n){var r="<"+e;if(t&&t.length>0)for(var i,o=0;void 0!==(i=t[o]);)r+=" "+i[0]+'="'+i[1]+'"',o++;return n&&(r+=" /"),r+=">"},a=/\<[^>]*\>/,s=/^javascript:|vbscript:|file:|data:/i,u=/^data:image\/(?:png|gif|jpeg|webp)/i,l=function(e){return s.test(e)&&!u.test(e)},c=function(e){var t,n,r,i,s,u,c,p=e.walker(),f="",h="\n",d=0,m=function(e){f+=d>0?e.replace(a,""):e,h=e},v=this.escape,g=function(){"\n"!==h&&(f+="\n",h="\n")},y=this.options;for(y.time&&console.time("rendering");i=p.next();){if(u=i.entering,s=i.node,t=[],y.sourcepos){var _=s.sourcepos;_&&t.push(["data-sourcepos",String(_[0][0])+":"+String(_[0][1])+"-"+String(_[1][0])+":"+String(_[1][1])])}switch(s.type){case"Text":m(v(s.literal,!1));break;case"Softbreak":m(this.softbreak);break;case"Hardbreak":m(o("br",[],!0)),g();break;case"Emph":m(o(u?"em":"/em"));break;case"Strong":m(o(u?"strong":"/strong"));break;case"HtmlInline":m(y.safe?"\x3c!-- raw HTML omitted --\x3e":s.literal);break;case"CustomInline":u&&s.onEnter?m(s.onEnter):!u&&s.onExit&&m(s.onExit);break;case"Link":u?(y.safe&&l(s.destination)||t.push(["href",v(s.destination,!0)]),s.title&&t.push(["title",v(s.title,!0)]),m(o("a",t))):m(o("/a"));break;case"Image":u?(0===d&&m(y.safe&&l(s.destination)?'<img src="" alt="':'<img src="'+v(s.destination,!0)+'" alt="'),d+=1):0===(d-=1)&&(s.title&&m('" title="'+v(s.title,!0)),m('" />'));break;case"Code":m(o("code")+v(s.literal,!1)+o("/code"));break;case"Document":break;case"Paragraph":if(null!==(c=s.parent.parent)&&"List"===c.type&&c.listTight)break;u?(g(),m(o("p",t))):(m(o("/p")),g());break;case"BlockQuote":u?(g(),m(o("blockquote",t)),g()):(g(),m(o("/blockquote")),g());break;case"Item":u?m(o("li",t)):(m(o("/li")),g());break;case"List":if(r="Bullet"===s.listType?"ul":"ol",u){var b=s.listStart;null!==b&&1!==b&&t.push(["start",b.toString()]),g(),m(o(r,t)),g()}else g(),m(o("/"+r)),g();break;case"Heading":r="h"+s.level,u?(g(),m(o(r,t))):(m(o("/"+r)),g());break;case"CodeBlock":n=s.info?s.info.split(/\s+/):[],n.length>0&&n[0].length>0&&t.push(["class","language-"+v(n[0],!0)]),g(),m(o("pre")+o("code",t)),m(v(s.literal,!1)),m(o("/code")+o("/pre")),g();break;case"HtmlBlock":g(),m(y.safe?"\x3c!-- raw HTML omitted --\x3e":s.literal),g();break;case"CustomBlock":g(),u&&s.onEnter?m(s.onEnter):!u&&s.onExit&&m(s.onExit),g();break;case"ThematicBreak":g(),m(o("hr",t,!0)),g();break;default:throw"Unknown node type "+s.type}}return y.time&&console.timeEnd("rendering"),f};e.exports=r},function(e,t,n){"use strict";e.exports.version="0.24.0",e.exports.Node=n(259),e.exports.Parser=n(1086),e.exports.HtmlRenderer=n(1088),e.exports.XmlRenderer=n(1092)},function(e,t,n){"use strict";function r(e){return{subject:"",delimiters:null,pos:0,refmap:{},match:F,peek:B,spnl:L,parseBackticks:q,parseBackslash:z,parseAutolink:U,parseHtmlTag:W,scanDelims:V,handleDelim:H,parseLinkTitle:K,parseLinkDestination:Y,parseLinkLabel:$,parseOpenBracket:Z,parseCloseBracket:ee,parseBang:Q,parseEntity:te,parseString:ne,parseNewline:re,parseReference:ie,parseInline:oe,processEmphasis:X,removeDelimiter:G,options:e||{},parse:ae}}var i=n(259),o=n(92),a=n(1091),s=o.normalizeURI,u=o.unescapeString,l=n(1087),c=n(114).decodeHTML;n(504);var p=o.ESCAPABLE,f="\\\\"+p,h="\\(([^\\\\()\\x00-\\x20]|"+f+"|\\\\)*\\)",d=o.ENTITY,m=o.reHtmlTag,v=new RegExp(/^[\u2000-\u206F\u2E00-\u2E7F\\'!"#\$%&\(\)\*\+,\-\.\/:;<=>\?@\[\]\^_`\{\|\}~]/),g=new RegExp('^(?:"('+f+'|[^"\\x00])*"|\'('+f+"|[^'\\x00])*'|\\(("+f+"|[^)\\x00])*\\))"),y=new RegExp("^(?:[<](?:[^ <>\\t\\n\\\\\\x00]|"+f+"|\\\\)*[>])"),_=new RegExp("^(?:[^\\\\()\\x00-\\x20]+|"+f+"|\\\\|"+h+")*"),b=new RegExp("^"+p),x=new RegExp("^"+d,"i"),w=/`+/,k=/^`+/,E=/\.\.\./g,S=/--+/g,C=/^<([a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*)>/,A=/^<[A-Za-z][A-Za-z0-9.+-]{1,31}:[^<>\x00-\x20]*>/i,D=/^ *(?:\n *)?/,O=/^\s/,M=/\s+/g,T=/ *$/,P=/^ */,I=/^ *(?:\n|$)/,R=new RegExp("^\\[(?:[^\\\\\\[\\]]|"+f+"|\\\\){0,1000}\\]"),j=/^[^\n`\[\]\\!<&*_'"]+/m,N=function(e){var t=new i("Text");return t._literal=e,t},F=function(e){var t=e.exec(this.subject.slice(this.pos));return null===t?null:(this.pos+=t.index+t[0].length,t[0])},B=function(){return this.pos<this.subject.length?this.subject.charCodeAt(this.pos):-1},L=function(){return this.match(D),!0},q=funcLine truncated
* repeat-string <https://github.com/jonschlinkert/repeat-string>
*
* Copyright (c) 2014-2015, Jon Schlinkert.
* Licensed under the MIT License.
*/
var i,o="";e.exports=r},function(e,t,n){"use strict";e.exports=function(e,t){if(t=t.split(":")[0],!(e=+e))return!1;switch(t){case"http":case"ws":return 80!==e;case"https":case"wss":return 443!==e;case"ftp":return 21!==e;case"gopher":return 70!==e;case"file":return!1}return 0!==e}},function(e,t,n){"use strict";function r(e,t){e&&Object.keys(e).forEach(function(n){t(e[n],n)})}function i(e,t){return{}.hasOwnProperty.call(e,t)}function o(e,t){var n=[];return r(e,function(e){t(e)&&n.push(e)}),n}function a(e,t,n){function _(e,t){var n=this;this.tag=e,this.attribs=t||{},this.tagPosition=C.length,this.text="",this.updateParentNodeText=function(){if(R.length){R[R.length-1].text+=n.text}}}function b(e){return"string"!=typeof e&&(e+=""),e.replace(/\&/g,"&amp;").replace(/</g,"&lt;").replace(/\>/g,"&gt;").replace(/\"/g,"&quot;")}function x(e,n){n=n.replace(/[\x00-\x20]+/g,""),n=n.replace(/<\!\-\-.*?\-\-\>/g,"");var r=n.match(/^([a-zA-Z]+)\:/);if(!r)return!!n.match(/^[\/\\]{2}/)&&!t.allowProtocolRelative;var o=r[1].toLowerCase();return i(t.allowedSchemesByTag,e)?-1===t.allowedSchemesByTag[e].indexOf(o):!t.allowedSchemes||-1===t.allowedSchemes.indexOf(o)}function w(e,t){if(!t)return e;var n,r=c(e),i=e.nodes[0];return n=t[i.selector]&&t["*"]?p(c(t[i.selector]),t["*"],function(e,t){if(Array.isArray(e))return e.concat(t)}):t[i.selector]||t["*"],n&&(r.nodes[0].nodes=i.nodes.reduce(E(n),[])),r}function k(e){return e.nodes[0].nodes.reduce(function(e,t){return e.push(t.prop+":"+t.value+";"),e},[]).join("")}function E(e){return function(t,n){if(e.hasOwnProperty(n.prop)){e[n.prop].some(function(e){return e.test(n.value)})&&t.push(n)}return t}}function S(e,t){return t?(e=e.split(/\s+/),e.filter(function(e){return-1!==t.indexOf(e)}).join(" ")):e}var C="";t?(t=u(a.defaults,t),t.parser?t.parser=u(y,t.parser):t.parser=y):(t=a.defaults,t.parser=y);var A,D,O=t.nonTextTags||["script","style","textarea"];t.allowedAttributes&&(A={},D={},r(t.allowedAttributes,function(e,t){A[t]=[];var n=[];e.forEach(function(e){f(e)&&e.indexOf("*")>=0?n.push(l(e).replace(/\\\*/g,".*")):A[t].push(e)}),D[t]=new RegExp("^("+n.join("|")+")$")}));var M={};r(t.allowedClasses,function(e,t){A&&(i(A,t)||(A[t]=[]),A[t].push("class")),M[t]=e});var T,P={};r(t.transformTags,function(e,t){var n;"function"==typeof e?n=e:"string"==typeof e&&(n=a.simpleTransform(e)),"*"===t?T=n:P[t]=n});var I=0,R=[],j={},N={},F=!1,B=0,L=new s.Parser({onopentag:function(e,n){if(F)return void B++;var a=new _(e,n);R.push(a);var s,u=!1,l=!!a.text;i(P,e)&&(s=P[e](e,n),a.attribs=n=s.attribs,void 0!==s.text&&(a.innerText=s.text),e!==s.tagName&&(a.name=e=s.tagName,N[I]=s.tagName)),T&&(s=T(e,n),a.attribs=n=s.attribs,e!==s.tagName&&(a.name=e=s.tagName,N[I]=s.tagName)),t.allowedTags&&-1===t.allowedTags.indexOf(e)&&(u=!0,-1!==O.indexOf(e)&&(F=!0,B=1),j[I]=!0),I++,u||(C+="<"+e,(!A||i(A,e)||A["*"])&&r(n,function(n,s){if(!g.test(s))return void delete a.attribs[s];var u,l=!1;if(!A||i(A,e)&&-1!==A[e].indexOf(s)||A["*"]&&-1!==A["*"].indexOf(s)||i(D,e)&&D[e].test(s)||D["*"]&&D["*"].test(s))l=!0;else if(A&&A[e]){var c=!0,p=!1,f=void 0;try{for(var y,_=A[e][Symbol.iterator]();!(c=(y=_.next()).done);c=!0){var E=y.value;if(h(E)&&E.name&&E.name===s){l=!0;var O="";if(!0===E.multiple){var T=n.split(" "),P=!0,I=!1,R=void 0;try{for(var j,N=T[Symbol.iterator]();!(P=(j=N.next()).done);P=!0){var F=j.value;-1!==E.values.indexOf(F)&&(""===O?O=F:O+=" "+F)}}catch(e){I=!0,R=e}finally{try{!P&&N.return&&N.return()}finally{if(I)throw R}}}else E.values.indexOf(n)>=0&&(O=n);n=O}}}catch(e){p=!0,f=e}finally{try{!c&&_.return&&_.return()}finally{if(p)throw f}}}if(l){if(-1!==t.allowedSchemesAppliedToAttributes.indexOf(s)&&x(e,n))return void delete a.attribs[s];if("iframe"===e&&"src"===s){if("//"===n.substring(0,2)){n="https:".concat(n)}try{if(u=v.parse(n),t.allowedIframeHostnames){if(!t.allowedIframeHostnames.find(function(e){return e===u.hostname}))return void delete a.attribs[s]}}catch(e){return void delete a.attribs[s]}}if("srcset"===s)try{if(u=d.parse(n),r(u,function(e){x("srcset",e.url)&&(e.evil=!0)}),u=o(u,function(e){return!e.evil}),!u.length)return void delete a.attribs[s];n=d.stringify(o(u,function(e){return!e.evil})),a.attribs[s]=n}catch(e){return void delete a.attribs[s]}if("class"===s&&(n=S(n,M[e]),!n.length))return void delete a.attribs[s];if("style"===s)try{if(n=k(w(m.parse(e+" {"+n+"}"),t.allowedStyles)),0===n.length)return void delete a.attribs[s]}catch(e){return void delete a.attribs[s]}C+=" "+s,n.length&&(C+='="'+b(n)+'"')}else delete a.attribs[s]}),-1!==t.selfClosing.indexOf(e)?C+=" />":(C+=">",!a.innerText||l||t.textFilter||(C+=a.innerText)))},ontext:function(e){if(!F){var n,r=R[R.length-1];if(r&&(n=r.tag,e=void 0!==r.innerText?r.innerText:e),"script"===n||"style"===n)C+=e;else{var i=b(e);t.textFilter?C+=t.textFilter(i):C+=i}if(R.length){R[R.length-1].text+=e}}},onclosetag:function(e){if(F){if(--B)return;F=!1}var n=R.pop();if(n){if(F=!1,I--,j[I])return delete j[I],void n.updateParentNodeText();if(N[I]&&(e=N[I],deleteLine truncated
//# sourceMappingURL=swagger-ui-bundle.js.map
@@ -1,13 +0,0 @@
!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.SwaggerUIStandalonePreset=e():t.SwaggerUIStandalonePreset=e()}(this,function(){return function(t){function e(r){if(n[r])return n[r].exports;var i=n[r]={i:r,l:!1,exports:{}};return t[r].call(i.exports,i,i.exports,e),i.l=!0,i.exports}var n={};return e.m=t,e.c=n,e.i=function(t){return t},e.d=function(t,n,r){e.o(t,n)||Object.defineProperty(t,n,{configurable:!1,enumerable:!0,get:r})},e.n=function(t){var n=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(n,"a",n),n},e.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},e.p="/dist",e(e.s=536)}([function(t,e,n){"use strict";function r(t){var e={};return null!==t&&Object.keys(t).forEach(function(n){t[n].forEach(function(t){e[String(t)]=n})}),e}function i(t,e){if(e=e||{},Object.keys(e).forEach(function(e){if(-1===s.indexOf(e))throw new o('Unknown option "'+e+'" is met in definition of "'+t+'" YAML type.')}),this.tag=t,this.kind=e.kind||null,this.resolve=e.resolve||function(){return!0},this.construct=e.construct||function(t){return t},this.instanceOf=e.instanceOf||null,this.predicate=e.predicate||null,this.represent=e.represent||null,this.defaultStyle=e.defaultStyle||null,this.styleAliases=r(e.styleAliases||null),-1===a.indexOf(this.kind))throw new o('Unknown kind "'+this.kind+'" is specified for "'+t+'" YAML type.')}var o=n(48),s=["kind","resolve","construct","instanceOf","predicate","represent","defaultStyle","styleAliases"],a=["scalar","sequence","mapping"];t.exports=i},function(t,e,n){var r=n(153)("wks"),i=n(108),o=n(5).Symbol,s="function"==typeof o;(t.exports=function(t){return r[t]||(r[t]=s&&o[t]||(s?o:i)("Symbol."+t))}).store=r},function(t,e){var n=t.exports={version:"2.5.3"};"number"==typeof __e&&(__e=n)},function(t,e,n){var r=n(5),i=n(17),o=n(18),s=n(30),a=n(61),u=function(t,e,n){var c,l,h,f,p=t&u.F,d=t&u.G,m=t&u.S,v=t&u.P,y=t&u.B,g=d?r:m?r[e]||(r[e]={}):(r[e]||{}).prototype,x=d?i:i[e]||(i[e]={}),b=x.prototype||(x.prototype={});d&&(n=e);for(c in n)l=!p&&g&&void 0!==g[c],h=(l?g:n)[c],f=y&&l?a(h,r):v&&"function"==typeof h?a(Function.call,h):h,g&&s(g,c,h,t&u.U),x[c]!=h&&o(x,c,f),v&&b[c]!=h&&(b[c]=h)};r.core=i,u.F=1,u.G=2,u.S=4,u.P=8,u.B=16,u.W=32,u.U=64,u.R=128,t.exports=u},function(t,e,n){var r=n(3),i=n(42),o=n(10),s=/"/g,a=function(t,e,n,r){var i=String(o(t)),a="<"+e;return""!==n&&(a+=" "+n+'="'+String(r).replace(s,"&quot;")+'"'),a+">"+i+"</"+e+">"};t.exports=function(t,e){var n={};n[t]=e(a),r(r.P+r.F*i(function(){var e=""[t]('"');return e!==e.toLowerCase()||e.split('"').length>3}),"String",n)}},function(t,e){var n=t.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=n)},function(t,e,n){var r=n(94)("wks"),i=n(59),o=n(9).Symbol,s="function"==typeof o;(t.exports=function(t){return r[t]||(r[t]=s&&o[t]||(s?o:i)("Symbol."+t))}).store=r},function(t,e,n){var r=n(177),i="object"==typeof self&&self&&self.Object===Object&&self,o=r||i||Function("return this")();t.exports=o},function(t,e){var n=Array.isArray;t.exports=n},function(t,e){var n=t.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=n)},function(t,e){t.exports=function(t){if(void 0==t)throw TypeError("Can't call method on "+t);return t}},function(t,e,n){"use strict";t.exports=function(t){if("function"!=typeof t)throw new TypeError(t+" is not a function");return t}},function(t,e,n){t.exports=!n(25)(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},function(t,e,n){var r=n(9),i=n(2),o=n(133),s=n(26),a=function(t,e,n){var u,c,l,h=t&a.F,f=t&a.G,p=t&a.S,d=t&a.P,m=t&a.B,v=t&a.W,y=f?i:i[e]||(i[e]={}),g=y.prototype,x=f?r:p?r[e]:(r[e]||{}).prototype;f&&(n=e);for(u in n)(c=!h&&x&&void 0!==x[u])&&u in y||(l=c?x[u]:n[u],y[u]=f&&"function"!=typeof x[u]?n[u]:m&&c?o(l,r):v&&x[u]==l?function(t){var e=function(e,n,r){if(this instanceof t){switch(arguments.length){case 0:return new t;case 1:return new t(e);case 2:return new t(e,n)}return new t(e,n,r)}return t.apply(this,arguments)};return e.prototype=t.prototype,e}(l):d&&"function"==typeof l?o(Function.call,l):l,d&&((y.virtual||(y.virtual={}))[u]=l,t&a.R&&g&&!g[u]&&s(g,u,l)))};a.F=1,a.G=2,a.S=4,a.P=8,a.B=16,a.W=32,a.U=64,a.R=128,t.exports=a},function(t,e){var n={}.hasOwnProperty;t.exports=function(t,e){return n.call(t,e)}},function(t,e,n){var r=n(24),i=n(135),o=n(96),s=Object.defineProperty;e.f=n(12)?Object.defineProperty:function(t,e,n){if(r(t),e=o(e,!0),r(n),i)try{return s(t,e,n)}catch(t){}if("get"in n||"set"in n)throw TypeError("Accessors not supported!");return"value"in n&&(t[e]=n.value),t}},function(t,e,n){var r=n(29);t.exports=function(t){if(!r(t))throw TypeError(t+" is not an object!");return t}},function(t,e){var n=tLine truncated
object-assign
(c) Sindre Sorhus
@license MIT
*/
var i=Object.getOwnPropertySymbols,o=Object.prototype.hasOwnProperty,s=Object.prototype.propertyIsEnumerable;t.exports=function(){try{if(!Object.assign)return!1;var t=new String("abc");if(t[5]="de","5"===Object.getOwnPropertyNames(t)[0])return!1;for(var e={},n=0;n<10;n++)e["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(e).map(function(t){return e[t]}).join(""))return!1;var r={};return"abcdefghijklmnopqrst".split("").forEach(function(t){r[t]=t}),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},r)).join("")}catch(t){return!1}}()?Object.assign:function(t,e){for(var n,a,u=r(t),c=1;c<arguments.length;c++){n=Object(arguments[c]);for(var l in n)o.call(n,l)&&(u[l]=n[l]);if(i){a=i(n);for(var h=0;h<a.length;h++)s.call(n,a[h])&&(u[a[h]]=n[a[h]])}}return u}},function(t,e,n){"use strict";(function(t){function r(){return o.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function i(t,e){if(r()<e)throw new RangeError("Invalid typed array length");return o.TYPED_ARRAY_SUPPORT?(t=new Uint8Array(e),t.__proto__=o.prototype):(null===t&&(t=new o(e)),t.length=e),t}function o(t,e,n){if(!(o.TYPED_ARRAY_SUPPORT||this instanceof o))return new o(t,e,n);if("number"==typeof t){if("string"==typeof e)throw new Error("If encoding is specified then the first argument must be a string");return c(this,t)}return s(this,t,e,n)}function s(t,e,n,r){if("number"==typeof e)throw new TypeError('"value" argument must not be a number');return"undefined"!=typeof ArrayBuffer&&e instanceof ArrayBuffer?f(t,e,n,r):"string"==typeof e?l(t,e,n):p(t,e)}function a(t){if("number"!=typeof t)throw new TypeError('"size" argument must be a number');if(t<0)throw new RangeError('"size" argument must not be negative')}function u(t,e,n,r){return a(e),e<=0?i(t,e):void 0!==n?"string"==typeof r?i(t,e).fill(n,r):i(t,e).fill(n):i(t,e)}function c(t,e){if(a(e),t=i(t,e<0?0:0|d(e)),!o.TYPED_ARRAY_SUPPORT)for(var n=0;n<e;++n)t[n]=0;return t}function l(t,e,n){if("string"==typeof n&&""!==n||(n="utf8"),!o.isEncoding(n))throw new TypeError('"encoding" must be a valid string encoding');var r=0|v(e,n);t=i(t,r);var s=t.write(e,n);return s!==r&&(t=t.slice(0,s)),t}function h(t,e){var n=e.length<0?0:0|d(e.length);t=i(t,n);for(var r=0;r<n;r+=1)t[r]=255&e[r];return t}function f(t,e,n,r){if(e.byteLength,n<0||e.byteLength<n)throw new RangeError("'offset' is out of bounds");if(e.byteLength<n+(r||0))throw new RangeError("'length' is out of bounds");return e=void 0===n&&void 0===r?new Uint8Array(e):void 0===r?new Uint8Array(e,n):new Uint8Array(e,n,r),o.TYPED_ARRAY_SUPPORT?(t=e,t.__proto__=o.prototype):t=h(t,e),t}function p(t,e){if(o.isBuffer(e)){var n=0|d(e.length);return t=i(t,n),0===t.length?t:(e.copy(t,0,0,n),t)}if(e){if("undefined"!=typeof ArrayBuffer&&e.buffer instanceof ArrayBuffer||"length"in e)return"number"!=typeof e.length||H(e.length)?i(t,0):h(t,e);if("Buffer"===e.type&&Z(e.data))return h(t,e.data)}throw new TypeError("First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.")}function d(t){if(t>=r())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+r().toString(16)+" bytes");return 0|t}function m(t){return+t!=t&&(t=0),o.alloc(+t)}function v(t,e){if(o.isBuffer(t))return t.length;if("undefined"!=typeof ArrayBuffer&&"function"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(t)||t instanceof ArrayBuffer))return t.byteLength;"string"!=typeof t&&(t=""+t);var n=t.length;if(0===n)return 0;for(var r=!1;;)switch(e){case"ascii":case"latin1":case"binary":return n;case"utf8":case"utf-8":case void 0:return q(t).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*n;case"hex":return n>>>1;case"base64":return Y(t).length;default:if(r)return q(t).length;e=(""+e).toLowerCase(),r=!0}}function y(t,e,n){var r=!1;if((void 0===e||e<0)&&(e=0),e>this.length)return"";if((void 0===n||n>this.length)&&(n=this.length),n<=0)return"";if(n>>>=0,e>>>=0,n<=e)return"";for(t||(t="utf8");;)switch(t){case"hex":return O(this,e,n);case"utf8":case"utf-8":return k(this,e,n);case"ascii":return T(this,e,n);case"latin1":case"binary":return I(this,e,n);case"base64":return C(this,e,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return M(this,e,n);default:if(r)throw new TypeError("Unknown encoding: "+t);t=(t+"").toLowerCase(),r=!0}}function g(t,e,n){var r=t[e];t[e]=t[n],t[n]=r}function x(t,e,n,r,i){if(0===t.length)return-1;if("string"==typeof n?(r=n,n=0):n>2147483647?n=2147483647:n<-2147483648&&(n=-2147483648),n=+n,isNaN(n)&&(n=i?0:t.length-1),n<0&&(n=t.length+n),n>=t.length){if(i)return-1;n=t.length-1}else if(n<0){if(!i)return-1;n=0}if("string"==typeof e&&(e=o.from(e,r)),o.isBuffer(e))return 0===e.length?-1:b(t,e,n,r,i);if("number"==typeof e)return e&=255,o.TYPED_ARRAY_SUPPORT&&"function"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(t,e,n):Uint8Array.prototype.lastIndexOf.call(t,e,n):b(t,[e],n,r,i);throw new TypeError("val must be string, number or Buffer")}function b(t,e,n,r,i){function o(t,e){returnLine truncated
* The buffer module from node.js, for the browser.
*
* @author Feross Aboukhadijeh <feross@feross.org> <http://feross.org>
* @license MIT
*/
var G=n(223),$=n(357),Z=n(168);e.Buffer=o,e.SlowBuffer=m,e.INSPECT_MAX_BYTES=50,o.TYPED_ARRAY_SUPPORT=void 0!==t.TYPED_ARRAY_SUPPORT?t.TYPED_ARRAY_SUPPORT:function(){try{var t=new Uint8Array(1);return t.__proto__={__proto__:Uint8Array.prototype,foo:function(){return 42}},42===t.foo()&&"function"==typeof t.subarray&&0===t.subarray(1,1).byteLength}catch(t){return!1}}(),e.kMaxLength=r(),o.poolSize=8192,o._augment=function(t){return t.__proto__=o.prototype,t},o.from=function(t,e,n){return s(null,t,e,n)},o.TYPED_ARRAY_SUPPORT&&(o.prototype.__proto__=Uint8Array.prototype,o.__proto__=Uint8Array,"undefined"!=typeof Symbol&&Symbol.species&&o[Symbol.species]===o&&Object.defineProperty(o,Symbol.species,{value:null,configurable:!0})),o.alloc=function(t,e,n){return u(null,t,e,n)},o.allocUnsafe=function(t){return c(null,t)},o.allocUnsafeSlow=function(t){return c(null,t)},o.isBuffer=function(t){return!(null==t||!t._isBuffer)},o.compare=function(t,e){if(!o.isBuffer(t)||!o.isBuffer(e))throw new TypeError("Arguments must be Buffers");if(t===e)return 0;for(var n=t.length,r=e.length,i=0,s=Math.min(n,r);i<s;++i)if(t[i]!==e[i]){n=t[i],r=e[i];break}return n<r?-1:r<n?1:0},o.isEncoding=function(t){switch(String(t).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},o.concat=function(t,e){if(!Z(t))throw new TypeError('"list" argument must be an Array of Buffers');if(0===t.length)return o.alloc(0);var n;if(void 0===e)for(e=0,n=0;n<t.length;++n)e+=t[n].length;var r=o.allocUnsafe(e),i=0;for(n=0;n<t.length;++n){var s=t[n];if(!o.isBuffer(s))throw new TypeError('"list" argument must be an Array of Buffers');s.copy(r,i),i+=s.length}return r},o.byteLength=v,o.prototype._isBuffer=!0,o.prototype.swap16=function(){var t=this.length;if(t%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var e=0;e<t;e+=2)g(this,e,e+1);return this},o.prototype.swap32=function(){var t=this.length;if(t%4!=0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(var e=0;e<t;e+=4)g(this,e,e+3),g(this,e+1,e+2);return this},o.prototype.swap64=function(){var t=this.length;if(t%8!=0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(var e=0;e<t;e+=8)g(this,e,e+7),g(this,e+1,e+6),g(this,e+2,e+5),g(this,e+3,e+4);return this},o.prototype.toString=function(){var t=0|this.length;return 0===t?"":0===arguments.length?k(this,0,t):y.apply(this,arguments)},o.prototype.equals=function(t){if(!o.isBuffer(t))throw new TypeError("Argument must be a Buffer");return this===t||0===o.compare(this,t)},o.prototype.inspect=function(){var t="",n=e.INSPECT_MAX_BYTES;return this.length>0&&(t=this.toString("hex",0,n).match(/.{2}/g).join(" "),this.length>n&&(t+=" ... ")),"<Buffer "+t+">"},o.prototype.compare=function(t,e,n,r,i){if(!o.isBuffer(t))throw new TypeError("Argument must be a Buffer");if(void 0===e&&(e=0),void 0===n&&(n=t?t.length:0),void 0===r&&(r=0),void 0===i&&(i=this.length),e<0||n>t.length||r<0||i>this.length)throw new RangeError("out of range index");if(r>=i&&e>=n)return 0;if(r>=i)return-1;if(e>=n)return 1;if(e>>>=0,n>>>=0,r>>>=0,i>>>=0,this===t)return 0;for(var s=i-r,a=n-e,u=Math.min(s,a),c=this.slice(r,i),l=t.slice(e,n),h=0;h<u;++h)if(c[h]!==l[h]){s=c[h],a=l[h];break}return s<a?-1:a<s?1:0},o.prototype.includes=function(t,e,n){return-1!==this.indexOf(t,e,n)},o.prototype.indexOf=function(t,e,n){return x(this,t,e,n,!0)},o.prototype.lastIndexOf=function(t,e,n){return x(this,t,e,n,!1)},o.prototype.write=function(t,e,n,r){if(void 0===e)r="utf8",n=this.length,e=0;else if(void 0===n&&"string"==typeof e)r=e,n=this.length,e=0;else{if(!isFinite(e))throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");e|=0,isFinite(n)?(n|=0,void 0===r&&(r="utf8")):(r=n,n=void 0)}var i=this.length-e;if((void 0===n||n>i)&&(n=i),t.length>0&&(n<0||e<0)||e>this.length)throw new RangeError("Attempt to write outside buffer bounds");r||(r="utf8");for(var o=!1;;)switch(r){case"hex":return D(this,t,e,n);case"utf8":case"utf-8":return w(this,t,e,n);case"ascii":return E(this,t,e,n);case"latin1":case"binary":return _(this,t,e,n);case"base64":return S(this,t,e,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return A(this,t,e,n);default:if(o)throw new TypeError("Unknown encoding: "+r);r=(""+r).toLowerCase(),o=!0}},o.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var Q=4096;o.prototype.slice=function(t,e){var n=this.length;t=~~t,e=void 0===e?n:~~e,t<0?(t+=n)<0&&(t=0):t>n&&(t=n),e<0?(e+=n)<0&&(e=0):e>n&&(e=n),e<t&&(e=t);var r;if(o.TYPED_ARRAY_SUPPORT)r=this.subarray(t,e),r.__proto__=o.prototype;else{var i=e-t;r=new o(i,void 0);for(var s=0;s<i;++s)r[s]=this[s+t]}return r},o.prototype.readUIntLE=function(t,e,n){t|=0,e|=0,n||B(t,e,this.length);for(var r=this[t],i=1,o=0;++o<e&&(i*=256);)r+=this[t+o]*i;return r},o.prototype.readUIntBE=function(t,e,n){Line truncated
//# sourceMappingURL=swagger-ui-standalone-preset.js.map
-3
View File
@@ -1,3 +0,0 @@
.swagger-ui{
/*! normalize.css v7.0.0 | MIT License | github.com/necolas/normalize.css */font-family:Open Sans,sans-serif;color:#3b4151}.swagger-ui html{line-height:1.15;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}.swagger-ui body{margin:0}.swagger-ui article,.swagger-ui aside,.swagger-ui footer,.swagger-ui header,.swagger-ui nav,.swagger-ui section{display:block}.swagger-ui h1{font-size:2em;margin:.67em 0}.swagger-ui figcaption,.swagger-ui figure,.swagger-ui main{display:block}.swagger-ui figure{margin:1em 40px}.swagger-ui hr{-webkit-box-sizing:content-box;box-sizing:content-box;height:0;overflow:visible}.swagger-ui pre{font-family:monospace,monospace;font-size:1em}.swagger-ui a{background-color:transparent;-webkit-text-decoration-skip:objects}.swagger-ui abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}.swagger-ui b,.swagger-ui strong{font-weight:inherit;font-weight:bolder}.swagger-ui code,.swagger-ui kbd,.swagger-ui samp{font-family:monospace,monospace;font-size:1em}.swagger-ui dfn{font-style:italic}.swagger-ui mark{background-color:#ff0;color:#000}.swagger-ui small{font-size:80%}.swagger-ui sub,.swagger-ui sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}.swagger-ui sub{bottom:-.25em}.swagger-ui sup{top:-.5em}.swagger-ui audio,.swagger-ui video{display:inline-block}.swagger-ui audio:not([controls]){display:none;height:0}.swagger-ui img{border-style:none}.swagger-ui svg:not(:root){overflow:hidden}.swagger-ui button,.swagger-ui input,.swagger-ui optgroup,.swagger-ui select,.swagger-ui textarea{font-family:sans-serif;font-size:100%;line-height:1.15;margin:0}.swagger-ui button,.swagger-ui input{overflow:visible}.swagger-ui button,.swagger-ui select{text-transform:none}.swagger-ui [type=reset],.swagger-ui [type=submit],.swagger-ui button,.swagger-ui html [type=button]{-webkit-appearance:button}.swagger-ui [type=button]::-moz-focus-inner,.swagger-ui [type=reset]::-moz-focus-inner,.swagger-ui [type=submit]::-moz-focus-inner,.swagger-ui button::-moz-focus-inner{border-style:none;padding:0}.swagger-ui [type=button]:-moz-focusring,.swagger-ui [type=reset]:-moz-focusring,.swagger-ui [type=submit]:-moz-focusring,.swagger-ui button:-moz-focusring{outline:1px dotted ButtonText}.swagger-ui fieldset{padding:.35em .75em .625em}.swagger-ui legend{-webkit-box-sizing:border-box;box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}.swagger-ui progress{display:inline-block;vertical-align:baseline}.swagger-ui textarea{overflow:auto}.swagger-ui [type=checkbox],.swagger-ui [type=radio]{-webkit-box-sizing:border-box;box-sizing:border-box;padding:0}.swagger-ui [type=number]::-webkit-inner-spin-button,.swagger-ui [type=number]::-webkit-outer-spin-button{height:auto}.swagger-ui [type=search]{-webkit-appearance:textfield;outline-offset:-2px}.swagger-ui [type=search]::-webkit-search-cancel-button,.swagger-ui [type=search]::-webkit-search-decoration{-webkit-appearance:none}.swagger-ui ::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}.swagger-ui details,.swagger-ui menu{display:block}.swagger-ui summary{display:list-item}.swagger-ui canvas{display:inline-block}.swagger-ui [hidden],.swagger-ui template{display:none}.swagger-ui .debug *{outline:1px solid gold}.swagger-ui .debug-white *{outline:1px solid #fff}.swagger-ui .debug-black *{outline:1px solid #000}.swagger-ui .debug-grid{background:transparent url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAYAAADED76LAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyhpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTExIDc5LjE1ODMyNSwgMjAxNS8wOS8xMC0wMToxMDoyMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MTRDOTY4N0U2N0VFMTFFNjg2MzZDQjkwNkQ4MjgwMEIiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MTRDOTY4N0Q2N0VFMTFFNjg2MzZDQjkwNkQ4MjgwMEIiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUgKE1hY2ludG9zaCkiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo3NjcyQkQ3NjY3QzUxMUU2QjJCQ0UyNDA4MTAwMjE3MSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo3NjcyQkQ3NzY3QzUxMUU2QjJCQ0UyNDA4MTAwMjE3MSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PsBS+GMAAAAjSURBVHjaYvz//z8DLsD4gcGXiYEAGBIKGBne//fFpwAgwAB98AaF2pjlUQAAAABJRU5ErkJggg==) repeat 0 0}.swagger-ui .debug-grid-16{background:transparent url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyhpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0Line truncated
/*# sourceMappingURL=swagger-ui.css.map*/
-8
View File
@@ -1,8 +0,0 @@
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("react"),require("prop-types"),require("immutable"),require("react-immutable-proptypes"),require("reselect"),require("serialize-error"),require("deep-extend"),require("js-yaml"),require("react-collapse"),require("swagger-client"),require("base64-js"),require("classnames"),require("commonmark"),require("css.escape"),require("ieee754"),require("isarray"),require("memoizee"),require("react-debounce-input"),require("react-dom"),require("react-immutable-pure-component"),require("react-markdown"),require("react-redux"),require("react-split-pane"),require("redux"),require("redux-immutable"),require("regenerator-runtime"),require("remarkable"),require("sanitize-html"),require("url-parse"),require("xml"),require("xml-but-prettier"),require("yaml-js"),require("zenscroll")):"function"==typeof define&&define.amd?define(["react","prop-types","immutable","react-immutable-proptypes","reselect","serialize-error","deep-extend","js-yaml","react-collapse","swagger-client","base64-js","classnames","commonmark","css.escape","ieee754","isarray","memoizee","react-debounce-input","react-dom","react-immutable-pure-component","react-markdown","react-redux","react-split-pane","redux","redux-immutable","regenerator-runtime","remarkable","sanitize-html","url-parse","xml","xml-but-prettier","yaml-js","zenscroll"],t):"object"==typeof exports?exports.SwaggerUICore=t(require("react"),require("prop-types"),require("immutable"),require("react-immutable-proptypes"),require("reselect"),require("serialize-error"),require("deep-extend"),require("js-yaml"),require("react-collapse"),require("swagger-client"),require("base64-js"),require("classnames"),require("commonmark"),require("css.escape"),require("ieee754"),require("isarray"),require("memoizee"),require("react-debounce-input"),require("react-dom"),require("react-immutable-pure-component"),require("react-markdown"),require("react-redux"),require("react-split-pane"),require("redux"),require("redux-immutable"),require("regenerator-runtime"),require("remarkable"),require("sanitize-html"),require("url-parse"),require("xml"),require("xml-but-prettier"),require("yaml-js"),require("zenscroll")):e.SwaggerUICore=t(e.react,e["prop-types"],e.immutable,e["react-immutable-proptypes"],e.reselect,e["serialize-error"],e["deep-extend"],e["js-yaml"],e["react-collapse"],e["swagger-client"],e["base64-js"],e.classnames,e.commonmark,e["css.escape"],e.ieee754,e.isarray,e.memoizee,e["react-debounce-input"],e["react-dom"],e["react-immutable-pure-component"],e["react-markdown"],e["react-redux"],e["react-split-pane"],e.redux,e["redux-immutable"],e["regenerator-runtime"],e.remarkable,e["sanitize-html"],e["url-parse"],e.xml,e["xml-but-prettier"],e["yaml-js"],e.zenscroll)}(this,function(e,t,n,r,a,o,u,i,l,s,c,f,d,p,h,m,v,g,y,_,b,E,S,x,C,w,j,A,R,O,P,T,M){return function(e){function t(r){if(n[r])return n[r].exports;var a=n[r]={i:r,l:!1,exports:{}};return e[r].call(a.exports,a,a.exports,t),a.l=!0,a.exports}var n={};return t.m=e,t.c=n,t.i=function(e){return e},t.d=function(e,n,r){t.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:r})},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="/dist",t(t.s=609)}([function(e,t){e.exports=require("react")},function(e,t){e.exports=require("prop-types")},function(e,t,n){"use strict";t.__esModule=!0,t.default=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}},function(e,t,n){"use strict";t.__esModule=!0;var r=n(205),a=function(e){return e&&e.__esModule?e:{default:e}}(r);t.default=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),(0,a.default)(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}()},function(e,t,n){e.exports={default:n(353),__esModule:!0}},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var a=n(338),o=r(a),u=n(337),i=r(u),l=n(32),s=r(l);t.default=function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+(void 0===t?"undefined":(0,s.default)(t)));e.prototype=(0,i.default)(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(o.default?(0,o.default)(e,t):e.__proto__=t)}},function(e,t,n){"use strict";t.__esModule=!0;var r=n(32),a=function(e){return e&&e.__esModule?e:{default:e}}(r);t.default=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!==(void 0===t?"undefined":(0,a.default)(t))&&"function"!=typeof t?e:t}},function(e,t){e.exports=require("immutable")},function(e,t,n){"use strict";(function(e){function r(e){return e&&e.__esModule?e:{default:e}}function a(e){tryLine truncated
* The buffer module from node.js, for the browser.
*
* @author Feross Aboukhadijeh <feross@feross.org> <http://feross.org>
* @license MIT
*/
var $=n(586),K=n(590),X=n(591);t.Buffer=o,t.SlowBuffer=m,t.INSPECT_MAX_BYTES=50,o.TYPED_ARRAY_SUPPORT=void 0!==e.TYPED_ARRAY_SUPPORT?e.TYPED_ARRAY_SUPPORT:function(){try{var e=new Uint8Array(1);return e.__proto__={__proto__:Uint8Array.prototype,foo:function(){return 42}},42===e.foo()&&"function"==typeof e.subarray&&0===e.subarray(1,1).byteLength}catch(e){return!1}}(),t.kMaxLength=r(),o.poolSize=8192,o._augment=function(e){return e.__proto__=o.prototype,e},o.from=function(e,t,n){return u(null,e,t,n)},o.TYPED_ARRAY_SUPPORT&&(o.prototype.__proto__=Uint8Array.prototype,o.__proto__=Uint8Array,"undefined"!=typeof Symbol&&Symbol.species&&o[Symbol.species]===o&&Object.defineProperty(o,Symbol.species,{value:null,configurable:!0})),o.alloc=function(e,t,n){return l(null,e,t,n)},o.allocUnsafe=function(e){return s(null,e)},o.allocUnsafeSlow=function(e){return s(null,e)},o.isBuffer=function(e){return!(null==e||!e._isBuffer)},o.compare=function(e,t){if(!o.isBuffer(e)||!o.isBuffer(t))throw new TypeError("Arguments must be Buffers");if(e===t)return 0;for(var n=e.length,r=t.length,a=0,u=Math.min(n,r);a<u;++a)if(e[a]!==t[a]){n=e[a],r=t[a];break}return n<r?-1:r<n?1:0},o.isEncoding=function(e){switch(String(e).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},o.concat=function(e,t){if(!X(e))throw new TypeError('"list" argument must be an Array of Buffers');if(0===e.length)return o.alloc(0);var n;if(void 0===t)for(t=0,n=0;n<e.length;++n)t+=e[n].length;var r=o.allocUnsafe(t),a=0;for(n=0;n<e.length;++n){var u=e[n];if(!o.isBuffer(u))throw new TypeError('"list" argument must be an Array of Buffers');u.copy(r,a),a+=u.length}return r},o.byteLength=v,o.prototype._isBuffer=!0,o.prototype.swap16=function(){var e=this.length;if(e%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var t=0;t<e;t+=2)y(this,t,t+1);return this},o.prototype.swap32=function(){var e=this.length;if(e%4!=0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(var t=0;t<e;t+=4)y(this,t,t+3),y(this,t+1,t+2);return this},o.prototype.swap64=function(){var e=this.length;if(e%8!=0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(var t=0;t<e;t+=8)y(this,t,t+7),y(this,t+1,t+6),y(this,t+2,t+5),y(this,t+3,t+4);return this},o.prototype.toString=function(){var e=0|this.length;return 0===e?"":0===arguments.length?R(this,0,e):g.apply(this,arguments)},o.prototype.equals=function(e){if(!o.isBuffer(e))throw new TypeError("Argument must be a Buffer");return this===e||0===o.compare(this,e)},o.prototype.inspect=function(){var e="",n=t.INSPECT_MAX_BYTES;return this.length>0&&(e=this.toString("hex",0,n).match(/.{2}/g).join(" "),this.length>n&&(e+=" ... ")),"<Buffer "+e+">"},o.prototype.compare=function(e,t,n,r,a){if(!o.isBuffer(e))throw new TypeError("Argument must be a Buffer");if(void 0===t&&(t=0),void 0===n&&(n=e?e.length:0),void 0===r&&(r=0),void 0===a&&(a=this.length),t<0||n>e.length||r<0||a>this.length)throw new RangeError("out of range index");if(r>=a&&t>=n)return 0;if(r>=a)return-1;if(t>=n)return 1;if(t>>>=0,n>>>=0,r>>>=0,a>>>=0,this===e)return 0;for(var u=a-r,i=n-t,l=Math.min(u,i),s=this.slice(r,a),c=e.slice(t,n),f=0;f<l;++f)if(s[f]!==c[f]){u=s[f],i=c[f];break}return u<i?-1:i<u?1:0},o.prototype.includes=function(e,t,n){return-1!==this.indexOf(e,t,n)},o.prototype.indexOf=function(e,t,n){return _(this,e,t,n,!0)},o.prototype.lastIndexOf=function(e,t,n){return _(this,e,t,n,!1)},o.prototype.write=function(e,t,n,r){if(void 0===t)r="utf8",n=this.length,t=0;else if(void 0===n&&"string"==typeof t)r=t,n=this.length,t=0;else{if(!isFinite(t))throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");t|=0,isFinite(n)?(n|=0,void 0===r&&(r="utf8")):(r=n,n=void 0)}var a=this.length-t;if((void 0===n||n>a)&&(n=a),e.length>0&&(n<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");r||(r="utf8");for(var o=!1;;)switch(r){case"hex":return E(this,e,t,n);case"utf8":case"utf-8":return S(this,e,t,n);case"ascii":return x(this,e,t,n);case"latin1":case"binary":return C(this,e,t,n);case"base64":return w(this,e,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return j(this,e,t,n);default:if(o)throw new TypeError("Unknown encoding: "+r);r=(""+r).toLowerCase(),o=!0}},o.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var Q=4096;o.prototype.slice=function(e,t){var n=this.length;e=~~e,t=void 0===t?n:~~t,e<0?(e+=n)<0&&(e=0):e>n&&(e=n),t<0?(t+=n)<0&&(t=0):t>n&&(t=n),t<e&&(t=e);var r;if(o.TYPED_ARRAY_SUPPORT)r=this.subarray(e,t),r.__proto__=o.prototype;else{var a=t-e;r=new o(a,void 0);for(var u=0;u<a;++u)r[u]=this[u+e]}return r},o.prototype.readUIntLE=function(e,t,n){e|=0,t|=0,n||q(e,t,this.length);for(var r=this[e],a=1,o=0;++o<t&&(a*=256);)r+=this[e+o]*a;return r},o.prototype.readUIntBE=function(e,t,n){Line truncated
//# sourceMappingURL=swagger-ui.js.map
-77
View File
@@ -1,77 +0,0 @@
package cache
import (
"time"
lru "github.com/hashicorp/golang-lru"
)
type Key interface {
Key() interface{}
}
type Value interface {
Stale() bool
Value() interface{}
}
type item struct {
key interface{}
value interface{}
expireOn time.Time
}
func NewItem(key, value interface{}, expires time.Duration) *item {
return &item{
key: key,
value: value,
expireOn: time.Now().Add(expires),
}
}
func (e *item) Stale() bool {
if e == nil || e.value == nil {
return true
}
return time.Now().After(e.expireOn)
}
func (s *item) Value() interface{} {
return s.value
}
type Cacher interface {
Add(Key, Value)
Has(Key) bool
Get(Key) (Value, bool)
Remove(Key)
}
type arcCache struct {
cache *lru.ARCCache
}
func NewARC(size int) (Cacher, error) {
arc, err := lru.NewARC(size)
if err != nil {
return nil, err
}
return &arcCache{cache: arc}, nil
}
func (c *arcCache) Add(key Key, value Value) {
c.cache.Add(key.Key(), value)
}
func (c *arcCache) Get(key Key) (Value, bool) {
if v, ok := c.cache.Get(key.Key()); ok {
if value, ok := v.(Value); ok && !value.Stale() {
return value, true
}
c.cache.Remove(key.Key())
}
return nil, false
}
func (c *arcCache) Has(key Key) bool {
_, ok := c.Get(key)
return ok
}
func (c *arcCache) Remove(key Key) {
c.cache.Remove(key.Key())
}
-225
View File
@@ -1,225 +0,0 @@
package promise
import (
"context"
"fmt"
"sync"
"time"
"go.uber.org/ratelimit"
"go.sour.is/paste/src/pkg/cache"
"sour.is/x/toolbox/log"
)
type Q interface {
Key() interface{}
Context() context.Context
Resolve(interface{})
Reject(error)
Tasker
}
type Fn func(Q)
type Key interface {
Key() interface{}
}
type qTask struct {
key Key
fn Fn
ctx context.Context
cancel func()
done chan struct{}
result interface{}
err error
Tasker
}
func (t *qTask) Key() interface{} { return t.key }
func (t *qTask) Context() context.Context { return t.ctx }
func (t *qTask) Resolve(r interface{}) { t.result = r; t.finish() }
func (t *qTask) Reject(err error) { t.err = err; t.finish() }
func (t *qTask) Await() <-chan struct{} { return t.done }
func (t *qTask) Cancel() { t.err = fmt.Errorf("task cancelled"); t.finish() }
func (t *qTask) Result() interface{} { return t.result }
func (t *qTask) Err() error { return t.err }
func (t *qTask) finish() {
if t.done == nil {
return
}
t.cancel()
close(t.done)
t.done = nil
}
type Option interface {
Apply(*qTask)
}
type OptionFn func(*qTask)
func (fn OptionFn) Apply(t *qTask) { fn(t) }
type Tasker interface {
Run(Key, Fn, ...Option) *qTask
}
type Runner struct {
defaultOpts []Option
queue map[interface{}]*qTask
mu sync.RWMutex
ctx context.Context
cancel func()
pause chan struct{}
limiter ratelimit.Limiter
}
type Timeout time.Duration
func (d Timeout) Apply(task *qTask) {
task.ctx, task.cancel = context.WithTimeout(task.ctx, time.Duration(d))
}
func (tr *Runner) Run(key Key, fn Fn, opts ...Option) *qTask {
tr.mu.RLock()
log.Infos("task to run", fmt.Sprintf("%T", key), key.Key())
if task, ok := tr.queue[key.Key()]; ok {
tr.mu.RUnlock()
log.Infos("task found running", fmt.Sprintf("%T", key), key.Key())
return task
}
tr.mu.RUnlock()
task := &qTask{
key: key,
fn: fn,
cancel: func() {},
ctx: tr.ctx,
done: make(chan struct{}),
Tasker: tr,
}
for _, opt := range tr.defaultOpts {
opt.Apply(task)
}
for _, opt := range opts {
opt.Apply(task)
}
tr.mu.Lock()
tr.queue[key.Key()] = task
tr.mu.Unlock()
log.Debug("Waiting for limiter")
tr.limiter.Take()
log.Debug("Got tag from limiter")
go func() {
defer func() {
if r := recover(); r != nil {
task.err = fmt.Errorf("PANIC: %v", r)
}
if err := task.Err(); err == nil {
log.Infos("task complete", fmt.Sprintf("%T", task.Key()), task.Key())
} else {
log.Errors("task Failed", fmt.Sprintf("%T", task.Key()), task.Key(), "err", err)
}
}()
log.Infos("task Running", fmt.Sprintf("%T", task.Key()), task.Key())
task.fn(task)
tr.mu.Lock()
delete(tr.queue, task.Key())
tr.mu.Unlock()
}()
return task
}
func NewRunner(ctx context.Context, defaultOpts ...Option) *Runner {
ctx, cancel := context.WithCancel(ctx)
tr := &Runner{
defaultOpts: defaultOpts,
queue: make(map[interface{}]*qTask),
ctx: ctx,
cancel: cancel,
pause: make(chan struct{}),
limiter: ratelimit.New(10),
}
return tr
}
func (tr *Runner) List() []*qTask {
tr.mu.RLock()
defer tr.mu.RUnlock()
lis := make([]*qTask, 0, len(tr.queue))
for _, task := range tr.queue {
lis = append(lis, task)
}
return lis
}
func (tr *Runner) Stop() {
tr.cancel()
}
func (tr *Runner) Len() int {
tr.mu.RLock()
defer tr.mu.RUnlock()
return len(tr.queue)
}
func WithCache(c cache.Cacher, expireAfter time.Duration) OptionFn {
return func(task *qTask) {
innerFn := task.fn
task.fn = func(q Q) {
cacheKey, ok := q.Key().(cache.Key)
if !ok {
log.Infos("not a cache key", fmt.Sprintf("%T", q.Key()), q.Key())
innerFn(q)
return
}
if v, ok := c.Get(cacheKey); ok {
log.Infos("value in cache", fmt.Sprintf("%T", cacheKey), cacheKey.Key())
q.Resolve(v.Value())
return
}
log.Infos("not in cache", fmt.Sprintf("%T", cacheKey), cacheKey.Key())
innerFn(q)
if err := task.Err(); err != nil {
log.Error(err)
return
}
result := cache.NewItem(cacheKey, task.Result(), expireAfter)
log.Infos("result to cache", fmt.Sprintf("%T", cacheKey), cacheKey.Key())
c.Add(cacheKey, result)
}
}
}
-43
View File
@@ -1,43 +0,0 @@
package readutil
import (
"compress/bzip2"
"compress/gzip"
"errors"
"io"
"github.com/andybalholm/brotli"
xz "github.com/remyoudompheng/go-liblzma"
"sour.is/x/toolbox/log"
)
// Decompress varius types of compression types
func Decompress(in io.Reader) (io.Reader, error) {
rdr := NewPreviewReader(in)
mime, err := ReadMIMEWithSize(rdr, "", 32768)
if err != nil {
return rdr.Drain(), err
}
r := rdr.Drain()
switch mime {
case "application/gzip":
r, err = gzip.NewReader(r)
case "application/x-bzip2":
r = bzip2.NewReader(r)
case "application/x-xz":
r, err = xz.NewReader(r)
case "application/brotli":
r = brotli.NewReader(r)
default:
return r, ErrUnsupportedType
}
log.Debugs("Decompress:", "mime", mime)
return r, err
}
var ErrUnsupportedType = errors.New("Unsupported decompression type")
-89
View File
@@ -1,89 +0,0 @@
package readutil
import (
"bytes"
"errors"
"fmt"
"io"
"sour.is/x/toolbox/log"
)
// PreviewReader allows for seeking into a stream that does not support rewind
type PreviewReader struct {
r io.Reader
buf bytes.Buffer
}
// NewPreviewReader wrapps a reader with PreviewReader
func NewPreviewReader(r io.Reader) *PreviewReader {
return &PreviewReader{r: r}
}
// ErrReaderDrained if reading from a drained PreviewReader
var ErrReaderDrained = errors.New("io.Reader has been drained")
func (pr *PreviewReader) Read(p []byte) (n int, err error) {
if pr.r == nil {
return 0, ErrReaderDrained
}
i, err := pr.r.Read(p)
log.Debugf("PreviewReader: buffer %d bytes", i)
_, berr := pr.buf.Write(p[:i])
if berr != nil {
return i, berr
}
return i, err
}
// Drain returns reader that is reset
func (pr *PreviewReader) Drain() io.Reader {
dr := &drainReader{r: pr.r, buf: &pr.buf}
pr.r = nil
return dr
}
type drainReader struct {
r io.Reader
buf *bytes.Buffer
}
var _ io.Seeker = (*drainReader)(nil)
func (dr *drainReader) Read(p []byte) (n int, err error) {
i := 0
if dr.buf.Len() > 0 {
i, err = dr.buf.Read(p)
if err != nil && err != io.EOF {
return i, err
}
if err != nil && err == io.EOF {
err = nil
}
if err != nil {
return i, err
}
}
ri, err := dr.r.Read(p[i:])
// log.Debugs("drainReader:", "drain", i, "read", ri, "cap", len(p), "err", err)
return ri + i, err
}
// Seek attempt if the underlying reader supports it.
func (dr *drainReader) Seek(offset int64, whence int) (int64, error) {
if dr.buf.Len() > 0 {
return 0, fmt.Errorf("unable to seek")
}
if r, ok := dr.r.(io.Seeker); ok {
return r.Seek(offset, whence)
}
return 0, fmt.Errorf("unable to seek")
}
File diff suppressed because it is too large. Load diff
-246
View File
@@ -1,246 +0,0 @@
package routes
import (
"archive/tar"
"crypto/sha256"
"encoding/base64"
"fmt"
"io"
"io/ioutil"
"net/http"
"os"
"path/filepath"
"strconv"
"strings"
"github.com/gorilla/mux"
"go.sour.is/paste/src/pkg/readutil"
"sour.is/x/toolbox/httpsrv"
"sour.is/x/toolbox/log"
"github.com/gomarkdown/markdown"
"github.com/gomarkdown/markdown/html"
"github.com/gomarkdown/markdown/parser"
)
func init() {
a := &Artifact{}
httpsrv.RegisterModule("artifact", a.config)
httpsrv.HttpRegister("artifact", httpsrv.HttpRoutes{
{Name: "get-path", Method: "GET", Pattern: "/a/{name}/{path:.*}", HandlerFunc: a.get},
{Name: "get", Method: "GET", Pattern: "/a/{name}", HandlerFunc: a.get},
{Name: "put", Method: "PUT", Pattern: "/a", HandlerFunc: a.put},
{Name: "get", Method: "GET", Pattern: "/a", HandlerFunc: a.list},
})
}
// Artifact stores items to disk
type Artifact struct {
store string
maxSize int64
}
func (a *Artifact) config(config map[string]string) {
a.store = "data/"
if config["store"] != "" {
a.store = config["store"]
}
if !chkStore(a.store) {
log.Criticalf("Artifact Store location [%s] does not exist or is not writable.", a.store)
}
log.Noticef("Artifact Store location set to [%s]", a.store)
a.maxSize = 50 * 1024 * 1024
if s, ok := config["max-size"]; ok {
if i, err := strconv.Atoi(s); err == nil {
a.maxSize = int64(i)
}
}
log.Noticef("Artifact: store max-size set to [%d]", a.maxSize)
}
func (a *Artifact) get(w http.ResponseWriter, r *http.Request) {
vars := mux.Vars(r)
name := vars["name"]
path, hasPath := vars["path"]
ext := filepath.Ext(name)
id := strings.TrimSuffix(name, ext)
fname := filepath.Join(a.store, id)
if !chkFile(fname) {
httpsrv.WriteError(w, http.StatusNotFound, "Not Found")
return
}
if chkGone(fname) {
httpsrv.WriteError(w, http.StatusGone, "Gone")
return
}
f, err := os.Open(fname)
if err != nil {
log.Error(err)
}
defer f.Close()
if !hasPath {
pr := readutil.NewPreviewReader(f)
mime, err := readutil.ReadMIME(pr, name)
if err != nil {
httpsrv.WriteError(w, http.StatusInternalServerError, err.Error())
return
}
w.Header().Set("Content-Type", mime)
w.Header().Set("X-Content-Type-Options", "nosniff")
_, _ = io.Copy(w, pr.Drain())
return
}
rdr, err := readutil.Decompress(f)
if err != nil && err != readutil.ErrUnsupportedType {
httpsrv.WriteError(w, http.StatusInternalServerError, err.Error())
return
}
if cl, ok := rdr.(io.ReadCloser); ok {
defer cl.Close()
}
tr := tar.NewReader(rdr)
if path == "@" {
var paths []string
for {
hdr, err := tr.Next()
if err == io.EOF {
break // End of archive
}
if err != nil {
log.Error(err)
}
paths = append(paths, hdr.Name)
}
httpsrv.WriteObject(w, http.StatusOK, paths)
return
}
for {
hdr, err := tr.Next()
if err == io.EOF {
break // End of archive
}
if err != nil {
log.Error(err)
}
if path == "~" && hdr.Name == "index.html" {
path = hdr.Name
}
if path == "~" && hdr.Name == "index.md" {
path = hdr.Name
}
if hdr.Name == path {
if strings.HasSuffix(hdr.Name, ".md") {
md, err := ioutil.ReadAll(tr)
if err != nil {
httpsrv.WriteError(w, http.StatusInternalServerError, err.Error())
return
}
w.Header().Set("Content-Type", "text/html")
extensions := parser.CommonExtensions | parser.AutoHeadingIDs
p := parser.NewWithExtensions(extensions)
htmlFlags := html.CommonFlags | html.HrefTargetBlank
opts := html.RendererOptions{Flags: htmlFlags}
renderer := html.NewRenderer(opts)
b := markdown.ToHTML(md, p, renderer)
_, _ = w.Write(b)
w.WriteHeader(http.StatusOK)
return
}
pr := readutil.NewPreviewReader(tr)
mime, err := readutil.ReadMIME(pr, hdr.Name)
if err != nil {
httpsrv.WriteError(w, http.StatusInternalServerError, err.Error())
return
}
w.Header().Set("Content-Type", mime)
if _, err := io.Copy(w, pr.Drain()); err != nil {
log.Error(err)
}
w.WriteHeader(http.StatusOK)
return
}
}
httpsrv.WriteError(w, http.StatusNotFound, "Not Found in Archive")
}
func (a *Artifact) put(w http.ResponseWriter, r *http.Request) {
defer r.Body.Close()
if h := r.Header.Get("Content-Length"); h != "" {
if i, err := strconv.Atoi(h); err == nil {
if int64(i) > a.maxSize {
http.Error(w, "ERR Size Too Large", http.StatusRequestEntityTooLarge)
return
}
}
}
rdr := io.LimitReader(r.Body, 500*1024*1024)
pr := readutil.NewPreviewReader(rdr)
rdr = pr.Drain()
s256 := sha256.New()
tmp, err := ioutil.TempFile(a.store, "arch-")
if err != nil {
httpsrv.WriteError(w, 400, err.Error())
return
}
defer os.Remove(tmp.Name())
m := io.MultiWriter(s256, tmp)
if _, err := io.Copy(m, rdr); err != nil {
httpsrv.WriteError(w, 400, err.Error())
}
tmp.Close()
id := base64.RawURLEncoding.EncodeToString(s256.Sum(nil)[12:])
fname := filepath.Join(a.store, id)
log.Debugs("Artifact: moving file", "src", tmp.Name(), "dst", fname)
_ = os.Rename(tmp.Name(), fname)
httpsrv.WriteText(w, http.StatusCreated, id)
}
func (a *Artifact) list(w http.ResponseWriter, r *http.Request) {
err := filepath.Walk(a.store, func(path string, info os.FileInfo, err error) error {
if err != nil {
return err
}
if info.IsDir() {
return nil
}
_, err = fmt.Fprintln(w, "FILE: ", info.Name())
return err
})
if err != nil {
httpsrv.WriteError(w, http.StatusInternalServerError, err.Error())
return
}
}
-699
View File
@@ -1,699 +0,0 @@
// Code generated by github.com/sour-is/go-assetfs, DO NOT EDIT.
// sources:
// ../../public/asset-manifest.json (1.274kB)
// ../../public/favicon.ico (1.406kB)
// ../../public/index.html (2.191kB)
// ../../public/manifest.json (316B)
// ../../public/paste.sh (1.6kB)
// ../../public/precache-manifest.e794d1c73b51f3f24235495e349fce44.js (773B)
// ../../public/service-worker.js (1.187kB)
// ../../public/static/css/2.1d5ea050.chunk.css (903B)
// ../../public/static/css/2.1d5ea050.chunk.css.map (1.731kB)
// ../../public/static/css/main.bea1604d.chunk.css (2.58kB)
// ../../public/static/css/main.bea1604d.chunk.css.map (5.866kB)
// ../../public/static/js/2.d33d7d47.chunk.js (2.422MB)
// ../../public/static/js/2.d33d7d47.chunk.js.LICENSE.txt (3.394kB)
// ../../public/static/js/2.d33d7d47.chunk.js.map (6.312MB)
// ../../public/static/js/main.b55c2acb.chunk.js (14.02kB)
// ../../public/static/js/main.b55c2acb.chunk.js.map (36.471kB)
// ../../public/static/js/runtime-main.a4bc2b48.js (1.554kB)
// ../../public/static/js/runtime-main.a4bc2b48.js.map (8.273kB)
package routes
import (
"github.com/sour-is/go-assetfs/pkg/assetfs"
"bytes"
"compress/gzip"
"crypto/sha256"
"fmt"
"io"
"io/ioutil"
"os"
"path/filepath"
"strings"
"time"
)
func bindataRead(data []byte, name string) ([]byte, error) {
gz, err := gzip.NewReader(bytes.NewBuffer(data))
if err != nil {
return nil, fmt.Errorf("read %q: %v", name, err)
}
var buf bytes.Buffer
_, err = io.Copy(&buf, gz)
clErr := gz.Close()
if err != nil {
return nil, fmt.Errorf("read %q: %v", name, err)
}
if clErr != nil {
return nil, err
}
return buf.Bytes(), nil
}
type asset struct {
bytes []byte
info os.FileInfo
digest [sha256.Size]byte
}
type bindataFileInfo struct {
name string
size int64
mode os.FileMode
modTime time.Time
}
func (fi bindataFileInfo) Name() string {
return fi.name
}
func (fi bindataFileInfo) Size() int64 {
return fi.size
}
func (fi bindataFileInfo) Mode() os.FileMode {
return fi.mode
}
func (fi bindataFileInfo) ModTime() time.Time {
return fi.modTime
}
func (fi bindataFileInfo) IsDir() bool {
return false
}
func (fi bindataFileInfo) Sys() interface{} {
return nil
}
var _publicAssetManifestJson = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xac\x94\x31\x4f\xc3\x30\x10\x85\xf7\xfc\x0a\x2b\x33\x75\x9a\xc4\x26\x94\x15\x75\x40\x42\x2c\x8c\x88\xc1\x39\x5f\x54\xa7\x8d\x5b\x25\x2e\x14\xa1\xfe\x77\xe4\x2a\x15\x6e\x12\x17\x0b\x31\xd6\x7e\xdf\xbb\xbb\x77\x75\xbe\x22\x42\xe2\x4a\x6d\xb0\x8b\xef\x89\xfd\x41\x48\xdc\x08\xa5\x29\x74\xf6\x24\x4e\xf6\x2a\xe9\x8c\x30\x0a\x12\xe8\xba\xe4\x74\x55\xa2\x48\x6f\xe7\x4c\x52\x58\xed\xf5\xfa\xa4\xbc\x71\xc8\x7a\x08\xd6\x67\x8e\x73\xc8\x04\x94\x3d\x57\x0f\x31\xda\x88\x5d\x28\x7a\xd2\xf6\x78\xbb\xd7\x46\x35\x38\xf3\x56\xbf\x10\x08\x56\x42\x56\xb2\x3b\xa7\xfe\xc0\x60\xba\x0f\x9f\x89\xdb\x89\x93\x54\x46\x53\xc9\x51\xcc\xf9\xdc\x89\x69\x1c\xe8\xa4\xec\xd2\xad\xb6\x2a\x99\xe7\xb2\x90\xac\xf8\xc9\x6e\xd4\xe0\x94\x28\xc4\x69\x7a\x5c\x9f\xb0\x77\x54\x5a\xe2\x81\xae\x4c\xb3\x39\xa3\xce\x49\xaf\xd9\xb5\x08\x02\x56\x36\x32\xad\x2a\xec\x0c\xc5\x62\xc1\x64\x0a\x45\x5e\xf2\xb4\xca\xab\x8c\x65\x39\x67\x0b\x8e\x39\x5b\x54\x80\x8c\x39\x73\xfd\x0d\x3e\xcf\x8b\xed\xbb\x02\x9c\x7d\x6c\xdb\x35\xb6\x6e\x5a\xa3\x8b\xb0\xcd\x4d\x64\x74\x55\x3a\x76\xf5\xbc\x1c\x8f\xf1\x35\x75\xd0\x4e\x9f\x1e\x1f\x96\xcf\x2f\x4b\x6a\x0e\x26\x6c\xb7\x2e\x10\x11\x72\xb4\x55\x62\xd4\xa6\xfd\xdc\x6d\x95\x36\x36\xc1\xd7\x61\xe1\xdf\xde\xd5\xbf\xfc\xcf\x83\xa3\x1c\xdb\x79\xbe\x3a\x11\x21\x6f\xd1\xf1\x3b\x00\x00\xff\xff\x02\x4f\x2f\xf4\xfa\x04\x00\x00")
func publicAssetManifestJsonBytes() ([]byte, error) {
return bindataRead(
_publicAssetManifestJson,
"public/asset-manifest.json",
)
}
func publicAssetManifestJson() (*asset, error) {
bytes, err := publicAssetManifestJsonBytes()
if err != nil {
return nil, err
}
info := bindataFileInfo{name: "public/asset-manifest.json", size: 1274, mode: os.FileMode(0644), modTime: time.Unix(1603758878, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xb9, 0x11, 0xc6, 0xf4, 0xc, 0x99, 0xaf, 0xe1, 0x45, 0x21, 0x1d, 0x35, 0x19, 0x80, 0x4c, 0xda, 0xe7, 0x51, 0x69, 0xa8, 0x14, 0x7, 0xf, 0x3c, 0xf3, 0x27, 0x59, 0x53, 0xbb, 0x6e, 0x80, 0x46}}
return a, nil
}
var _publicFaviconIco = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\x94\x41\x8e\xd3\x30\x14\x86\x3f\xbb\x34\xf1\xc0\x94\x14\x33\x98\x97\x04\x5a\x03\x52\xc4\x3e\x07\xf0\x05\x7a\x81\x5e\x20\x62\x05\x28\x17\x28\x3b\x58\x54\xec\x23\x81\x10\x8b\x5e\xa0\x17\xe8\x1c\x20\x07\xe8\x72\x36\x73\x07\x16\x48\x41\x4e\x19\xc1\x09\x66\xd5\x4f\x7a\x7a\xef\xff\x9f\x65\x7b\xf5\x83\x42\x31\x9f\xc7\x6e\x78\x37\x05\x07\xbc\x05\xe6\x80\xe7\xe4\x8f\x28\xfe\xf1\xdf\xdc\xb6\x2d\x21\xd4\x40\x43\x08\x1d\x9b\xcd\x86\x8f\x1f\xde\xb3\xdd\x6e\xe9\xba\x8e\xe3\xb1\x87\xb0\xa3\xaa\x2a\xea\xba\x66\xb7\xdb\xd1\xb6\x0d\xfb\xfd\x1e\xa8\x09\xa1\xe1\x70\x38\x50\xd7\x47\x18\x06\xa0\xe3\xe7\x8f\xef\x84\x10\xe8\xfb\x1e\x18\x58\xad\x56\xc0\x2d\x70\xa4\xeb\x7a\xd6\xeb\x35\x84\x81\xa6\x69\x20\xdc\x52\x55\x6b\xce\x9c\x39\x73\xdf\x48\xe4\xe5\x8b\xb2\x7c\x2a\x32\x1a\x17\x51\xe6\x79\x9e\x8f\x86\x8b\x69\xf2\xa0\xcc\x97\xcb\x65\x2e\x82\xbb\xcc\xa6\x4e\x9b\x67\xf9\xd5\x55\x5e\x02\x4e\x44\xac\x4a\x5f\x4f\x1e\xbe\x2a\x9f\x44\x6d\x0b\x2b\x92\x29\xbf\x98\x17\xe6\x11\x38\xf3\xdc\xc6\x07\x54\x61\xb2\x99\xd2\x60\xac\xd8\x22\x15\xaf\xac\xc8\x42\xc3\x42\xa6\xc6\x16\xd6\x67\x22\xe2\xd1\xe8\x74\x86\xf7\x66\xdc\x3f\x46\x83\x4f\x7d\x5a\xcc\xa4\x50\x99\x38\x1d\xff\x77\xe9\x17\x26\xde\x69\xc6\xf5\x88\xb2\xd6\x7a\x87\xd6\xa0\x93\x68\xba\x24\xe1\x24\x35\x3a\x76\x74\x92\xdc\x9d\x8e\xf3\x9d\xb8\x9e\xc0\x8d\x82\x6f\x31\x0f\xd3\xbf\x35\x39\xe5\xe3\xa7\x58\x1a\xbe\x68\xb8\x56\x70\x33\x85\xdf\x17\xf0\xb5\x86\x37\x9f\xe1\x57\x80\x3f\x01\x00\x00\xff\xff\x45\x31\xce\x2f\x7e\x05\x00\x00")
func publicFaviconIcoBytes() ([]byte, error) {
return bindataRead(
_publicFaviconIco,
"public/favicon.ico",
)
}
func publicFaviconIco() (*asset, error) {
bytes, err := publicFaviconIcoBytes()
if err != nil {
return nil, err
}
info := bindataFileInfo{name: "public/favicon.ico", size: 1406, mode: os.FileMode(0644), modTime: time.Unix(1603758878, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xa8, 0xd7, 0x88, 0x1f, 0xb2, 0xec, 0x4c, 0x44, 0x6, 0xe0, 0x9, 0xf3, 0x63, 0x66, 0x79, 0x3a, 0xde, 0x56, 0xb, 0x35, 0xe6, 0x21, 0x9, 0xe6, 0x72, 0xbc, 0xe7, 0x8c, 0xce, 0xb4, 0x3, 0xc1}}
return a, nil
}
var _publicIndexHtml = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x8c\x56\xdf\x6f\xdb\x36\x10\xfe\x57\x64\x0e\x10\x44\x84\xa6\xe5\x34\x59\x0b\x5b\xf4\x5e\xf6\x54\x60\x6b\x81\xee\x65\x10\x84\x82\xa6\x4e\x11\x13\x9a\x14\xc8\x93\xb3\xc0\xd1\xff\x3e\x50\xf2\x8f\xa4\x6b\xba\x06\x41\x44\x1d\xef\xfb\xf8\xf1\xee\x74\x97\x62\x56\x3b\x85\x4f\x1d\x24\x2d\xee\xcc\xa6\x88\x7f\x13\x23\xed\x9d\x20\x60\xc9\xa6\x68\x41\xd6\x9b\x62\x07\x28\x13\xd5\x4a\x1f\x00\x05\xe9\xb1\x99\x7f\x20\x47\xab\x95\x3b\x10\x64\xaf\xe1\xb1\x73\x1e\x49\xa2\x9c\x45\xb0\x28\xc8\xa3\xae\xb1\x15\x35\xec\xb5\x82\xf9\xf8\xc2\xb4\xd5\xa8\xa5\x99\x07\x25\x0d\x88\x25\x0b\xad\xd7\xf6\x61\x8e\x6e\xde\x68\x14\xd6\xbd\xe6\xc4\x16\x76\x30\x57\xce\x38\xff\x82\xf6\x97\x7c\xfc\x21\x9b\xc2\x68\xfb\x90\x78\x30\x82\xec\xa4\xd5\x0d\x04\x24\x49\xeb\xa1\x11\x64\xd1\xeb\xc5\xc9\xc6\xef\x83\xb3\xaf\xbc\x43\xeb\x3c\xaa\x1e\x13\xad\x9c\x7d\x09\x69\xe4\x3e\x9a\xb8\x56\x51\x09\x6a\x34\xb0\xf9\xfd\xcf\x9b\xeb\xe4\xb3\x0c\x08\xc5\x62\xb2\x4c\x4c\x17\x54\x40\x89\x5a\x2d\x54\x08\x8b\x6b\xbe\xac\x6f\x41\xe6\xb7\x39\x57\x6d\x6f\x1f\xb8\x0a\x81\x1c\x0f\xc5\x27\x03\xa1\x05\x40\xf2\x23\x86\x9d\xd4\x96\x6f\x41\x2e\x7f\xcd\x6f\xea\x1f\x93\x2c\xa6\xd4\x6c\x5d\xfd\xb4\x29\xac\x0b\xca\xeb\x0e\x37\x7f\xbb\x3e\xb1\x00\x75\x82\x2e\x01\x2b\xb7\x06\x92\x8f\x72\x2f\xbf\x8c\xbb\xd1\xe8\x7b\x9b\x60\xab\x43\x22\xbb\x8e\x17\x8b\x33\xb0\xa8\xf5\x3e\xd1\xb5\x20\xde\xb9\x91\xbe\xd6\xfb\x4d\x71\xdc\x9c\x35\xbd\x55\xa8\x9d\xcd\x80\x1e\x4e\xeb\x04\x33\xa4\x87\xc6\xf9\x6c\x2f\x7d\x62\x99\x61\x52\x60\x99\x57\x4c\x0b\x2c\x97\x15\xeb\x04\x96\xd7\x15\x53\x22\x67\x41\x94\xd5\x5a\x15\x92\x1b\xb0\x77\xd8\xae\xd5\xd5\x15\x35\x42\x96\xaa\x62\x9f\xb6\xf7\xa0\x90\x77\xde\xa1\x8b\x75\xc8\x5b\x19\x3e\x3d\xda\xcf\xde\x75\xe0\xf1\x89\x2b\x69\x4c\xe6\x98\xa1\x69\xea\x4a\x53\xa5\x69\xe0\x5d\x1f\xda\x2c\xbe\x94\x79\x45\x59\x5c\x88\x7c\x1d\x75\xd8\x44\xdb\x44\xd3\x9f\xa2\xd4\xcc\xd2\x34\xcd\xa0\xb4\x95\xd0\xa5\xad\xe8\xc8\xd0\xa4\x69\x93\x21\x5d\x87\x93\x52\x1a\x78\x68\x75\x83\x19\xcd\xe8\xda\x03\xf6\xde\x26\xfd\xa8\x80\xcb\xae\x33\x4f\x59\xcf\xba\xe7\xe7\xb2\xa2\xcc\x67\x74\x38\x87\xc6\x67\x97\xc8\x00\x43\x91\xaf\xb1\xe8\x4f\x9c\x78\x75\x75\xd9\xf5\xa2\x2f\xb1\x62\x56\xcc\x72\x26\xc5\x72\x2d\x0b\x7f\xf2\x93\xd1\x2f\xfa\x68\xe1\x4b\x59\xad\xf3\x99\x10\xae\xd4\x55\x9a\x66\x56\xcc\x96\x74\xb0\x69\x9a\xf5\x3c\x74\x46\x2b\xc8\x70\x3e\x67\x4b\xca\x40\x98\xcc\xf0\x20\x7c\x0c\x0e\x1d\x8e\x92\x61\x18\x73\x24\x0e\x03\x73\xe2\xb0\x5c\xe5\x03\xeb\x63\x4e\xce\x82\x4d\xcc\xa5\x6e\x32\x5b\x62\x45\x8f\xa0\xb8\xe6\xf0\x4f\xfc\xae\xc3\x7a\xd2\x1a\x4d\xe2\xa0\x57\xc8\xcc\x6a\xb6\x64\xc7\xcd\xd5\x61\x18\x4e\xc1\x81\x08\x1a\x23\xec\x4f\x58\xe6\xd9\x65\x6d\x28\xf3\xdc\xc4\xdb\x9e\x6d\x83\xe1\x3b\x01\xcc\x70\x25\x2c\x33\xbc\x16\x97\x6a\x63\xc8\x3c\x3d\x18\xee\xe2\x92\x3e\x3f\x1f\x53\x5b\x43\xa3\x2d\x9c\x12\x3a\xba\x1d\xc0\xf6\x3b\xf0\xb1\xe2\x57\xb3\x9c\xdd\x01\xae\xfc\x40\x07\x66\xb8\x17\x2f\xab\x97\xf4\x76\x42\xd7\x64\x26\x62\x75\xb8\x26\xf9\xf2\xb4\xdb\x3a\x93\xa6\xd3\x93\xa3\xfb\x82\x5e\xdb\xbb\xbf\xe4\x5d\x9a\xbe\x75\xe2\x7f\x7d\xd9\x61\x2f\x4d\x0f\x2b\xf2\x87\xab\x7b\x03\x64\xa0\xec\x2d\x30\xf9\xfa\x15\xc2\xd1\xed\x04\x9b\xe5\x93\x5c\x7c\x75\xfd\x31\x29\xcb\x14\x63\xa9\x0a\x93\x01\xa5\xec\x43\x8a\xa7\x0c\xc1\x5a\x37\xd9\x4d\xdc\x25\x6e\x3c\x8a\x88\xd3\x9d\x20\x4d\xe3\x2f\xbf\x9c\x74\x01\x4d\xb9\x3c\x8a\x53\x1e\x24\x42\x66\x7b\x63\x68\xa4\x33\xdc\x67\xfe\x2d\xe9\x9e\x91\x1a\x1a\xd9\x1b\x24\xdf\x46\x7c\xba\x05\x0c\x94\x5d\x8f\x82\xc2\x18\x97\x4b\x90\x81\x9e\x5b\x45\xfc\x4c\x81\x1a\x5e\x67\x9e\x59\x76\xbe\x2e\xd2\xc3\x8b\x22\x1a\xf8\x56\xdb\x7a\xd4\xc5\x2c\x3d\x7f\x7c\x3e\xc6\xc8\xbe\x4a\x69\xe4\x44\xf1\xcd\x6d\x7f\x3b\x7b\x5c\x58\xf9\x51\xfb\xb0\xfa\xce\xe6\xb9\x82\xa3\x2e\x64\x44\x12\x86\x94\x61\x3c\xce\x7d\x93\x92\xa3\xe3\x4f\xf5\x99\x08\x88\x1c\xdd\xd4\xeb\xc9\x18\x7c\x29\x62\x0b\xe6\x8f\xb0\xed\xa4\x7a\xf8\x18\x9c\xed\xba\x38\x63\xde\x30\xc7\x06\xc3\xb4\x90\x53\xdf\x19\xc3\x22\xe9\x7a\x7a\x15\xc8\xa4\x90\x3c\x8c\x3d\x60\x6a\x62\xf1\x84\x4e\xe4\xeb\xee\xd2\x70\xbb\xab\x2b\x8a\x99\x2c\xbb\x8a\x8e\x02\x1a\xa1\xd7\xb1\x61\x65\x65\x45\x8b\xc5\x69\x04\x4c\xcf\x24\x78\xf5\x6a\x30\xdd\xc7\xc9\x56\xbf\x7b\x57\xbf\xaf\x6f\xde\x1f\x87\xd2\x7d\x88\x33\xe2\xff\x81\xd3\x40\xbb\xbd\x55\xd7\x52\x6d\xbf\x8b\x5d\x4c\x13\x6c\x31\xfe\xff\xf1\x6f\x00\x00\x00\xff\xff\x67\xa6\x86\xc3\x8f\x08\x00\x00")
func publicIndexHtmlBytes() ([]byte, error) {
return bindataRead(
_publicIndexHtml,
"public/index.html",
)
}
func publicIndexHtml() (*asset, error) {
bytes, err := publicIndexHtmlBytes()
if err != nil {
return nil, err
}
info := bindataFileInfo{name: "public/index.html", size: 2191, mode: os.FileMode(0644), modTime: time.Unix(1603758878, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xf9, 0xb7, 0x8e, 0xb8, 0x45, 0xb3, 0x6f, 0xde, 0xd3, 0xb4, 0xd3, 0xfc, 0xa4, 0xe8, 0xb4, 0x85, 0x39, 0x1f, 0x42, 0x9, 0xf2, 0xe9, 0x14, 0x49, 0xe7, 0x5a, 0x88, 0x26, 0xdf, 0x46, 0x3a, 0xfc}}
return a, nil
}
var _publicManifestJson = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x64\x8f\xb1\x4e\xc3\x30\x10\x86\x77\x3f\xc5\xc9\xac\xd0\x50\xd7\xca\xd0\x99\x19\xb1\x23\x14\x1d\x8e\xdb\x58\x38\xbe\xca\xbe\x20\x97\x2a\xef\x8e\xce\x01\x31\xe0\xc1\xc3\x7d\xdf\xfd\xfe\x7d\x53\x00\xba\x4c\x94\x79\x48\x38\x7b\x7d\x04\xfd\xf4\x6c\x0d\xbc\x60\x61\xaf\xef\x85\xfe\xce\xdb\x08\x98\x28\xc2\x89\x32\x88\xb6\x09\xc1\x51\x2a\xfa\x08\xaf\x0a\x00\xe0\xd6\x6e\x49\xcd\x4e\xd6\x4e\xf8\x29\xc2\x2e\x38\x6a\xfa\xc6\xc2\x97\x97\x15\xdd\xdb\xda\x5b\x38\x98\x7a\x30\x60\x6c\x35\x16\xf6\x7d\xdd\xf7\x7f\x26\x5f\x2f\xed\xf5\x30\xe3\xd9\x77\xf5\x41\xb2\x74\x83\xab\x02\x78\x6b\x05\x0a\x63\xe6\x61\xc9\x51\xc4\x6e\x09\x5d\x48\xa3\xaf\xbb\x89\xe7\xb8\x35\x1c\x43\xb9\x44\xbc\x0a\x2e\x8c\x69\xc4\x48\xe9\xe7\x77\x3c\xf9\xd9\x0f\x8e\x22\x65\xc1\x77\x8f\xed\x6c\xec\x1d\xdd\xc7\x39\xd3\x92\xc6\xff\x82\x5a\xd5\x77\x00\x00\x00\xff\xff\x0c\x7f\x57\xd0\x3c\x01\x00\x00")
func publicManifestJsonBytes() ([]byte, error) {
return bindataRead(
_publicManifestJson,
"public/manifest.json",
)
}
func publicManifestJson() (*asset, error) {
bytes, err := publicManifestJsonBytes()
if err != nil {
return nil, err
}
info := bindataFileInfo{name: "public/manifest.json", size: 316, mode: os.FileMode(0644), modTime: time.Unix(1603758878, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x2b, 0xcf, 0x43, 0xba, 0x4a, 0x5, 0xb1, 0x8, 0xbc, 0xa7, 0x2e, 0xa5, 0x84, 0x8e, 0x4, 0x4b, 0x0, 0xf2, 0x9d, 0xc5, 0x86, 0x99, 0x41, 0xca, 0xea, 0x86, 0x31, 0x7a, 0x26, 0xdd, 0xe, 0x92}}
return a, nil
}
var _publicPasteSh = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x8c\x54\x61\x4f\xdb\x48\x14\xfc\xbe\xbf\x62\xba\xf5\xe1\x58\x65\x71\x12\x01\x1f\x42\x7d\x3a\xe0\x50\x53\xb5\x02\x44\xc2\xe9\xd4\xa3\x87\x36\xde\x97\xd8\x22\x59\xfb\xbc\xeb\xc2\xb5\xce\x7f\x3f\xad\x13\x3b\x49\xcb\xa9\xe4\x4b\xfc\xfc\xde\xcc\x7a\x67\x46\xef\xf5\xab\x70\x92\xea\x70\x22\x4d\xc2\x58\x3a\xc5\x5f\xe0\x5e\x8f\x23\x02\x17\x09\xc7\xe7\x13\xd8\x84\x34\x43\x2c\x2d\x7a\xbf\xee\xf5\xf1\xf6\xed\xc5\xd5\x47\x56\x1a\x39\xa3\x01\x28\x4e\x32\x84\x64\xe3\x30\x97\xc6\x3c\x2a\x54\x38\x70\x8f\x96\x0e\x1c\x1d\xe9\x2f\xc8\x72\x9b\x66\xda\x0c\x18\x70\x7d\x3a\x1a\x5f\xdc\xdf\xde\x7c\x04\x04\x46\x64\x1d\x35\xca\x62\x8e\x89\x34\x84\x69\x56\xa0\x86\x22\xcb\xa9\x90\x35\x0a\x1d\x45\x53\x59\xce\xed\x00\xc3\xf1\xf8\x7a\x34\x08\xd7\xec\x4a\x1f\xf6\x0f\x4a\x13\xb4\xac\xef\x3e\xbd\xbf\x86\x40\x17\x11\x2e\x33\x9c\x67\x8b\xbc\x20\x63\xd2\x4c\xef\x03\x3d\x44\xb8\x35\x84\xd9\xd7\x34\x47\xbc\x69\x6d\xb1\x77\x37\x4c\x67\xb7\x37\x97\x1b\xa6\xb3\xb2\xd0\xc8\x34\x6e\x48\xaa\xfd\x9a\xa9\x79\x53\x90\x54\x68\x7e\xcf\x32\xfd\x7e\x3a\xbe\x80\xc0\x1f\x72\x5e\x12\x6c\x86\x09\xa1\x34\xa4\xf0\x98\x90\x86\x21\x6b\x53\x3d\x03\x3d\xe5\x69\x41\x50\xd2\xd2\xc1\x2e\x93\xa6\x27\x2b\x1e\x89\x1e\x02\xe6\x24\x07\xe8\x29\xb5\x6c\x9a\x32\xd6\x0a\x19\x79\xdf\xda\x67\xc1\x13\x6b\x73\xf3\xbd\x44\x7c\xc9\x36\xf7\x6a\xe7\x5d\x21\xba\x4d\xcb\x7d\x68\xdb\x72\x85\xe0\xed\xe1\x2d\xde\x29\xdc\x0e\xb9\xc2\xe1\xdf\x7d\x3a\x7b\x7f\x19\xf1\x58\x5a\xce\x5c\x72\x36\x5d\x0e\x41\xff\x80\xf7\x38\x3e\x63\x6f\x0f\xeb\xc1\xda\x02\x11\xf3\xfa\x0e\xa3\xc8\xeb\x24\xb5\x8a\x22\xc6\x61\x17\xa1\xa2\x2f\x61\x59\x48\xad\xb2\x45\x70\xc2\xce\x87\x1f\x22\xaf\x53\x47\x0c\x10\x06\x8e\x7c\x84\xca\xc5\x43\x1b\x33\x87\x9a\x19\x0b\x61\x12\xd9\x3f\x3a\x86\x98\xa4\x5a\x16\xff\xfe\xd0\x2e\xd2\x9c\x16\xaa\x77\xdc\xdd\x9a\x70\x71\x3b\x3e\x44\x05\x5b\xc0\x0f\xdf\xf8\xf0\xef\x85\xbf\x2a\x85\x82\x1f\xf9\x41\xf3\x75\xab\xc3\x5f\x7e\xf6\x0b\x98\x87\xa7\xa3\x61\xe4\x75\x56\xd4\x82\xc0\xe9\x29\x1f\xdc\x59\xaf\xe3\x12\x80\x37\xbf\x18\x37\xb9\xed\xc5\x32\xe0\x27\xb8\x63\x4d\xd2\x5a\x5c\x9c\x3c\x38\xdc\xf9\xf0\xc3\x4e\x7f\xe3\x82\xf3\xf8\x3b\x17\x5a\xf0\xa4\x2c\xf4\xe0\xce\xda\xa2\xa4\xff\x41\x3f\xe3\x61\x8b\xfe\x9a\xe6\xcf\x81\x5d\x7f\xbb\x76\x3b\xa3\xf6\xd4\x58\x95\x6a\x54\xf0\xea\x14\x6c\xc9\x28\xc9\x88\xfe\xd1\xb1\x88\x27\x31\xc4\x42\x61\xa1\x8e\xdc\x01\x42\x42\x3c\xac\x34\x0f\x50\x6d\x33\xba\x6d\x21\x0c\xc4\x9f\xb8\xbe\x1a\x8d\xb1\x15\xff\xe5\x2a\xf6\x10\x42\x49\x2b\x1b\x4b\x7e\x13\x01\xab\x25\xbf\xbf\x6a\xc3\xe4\xb9\x1a\x15\xe2\xd2\x42\xc4\x3d\xd1\x0f\xda\xc5\xb7\x9e\xac\xd7\x9f\xfb\x6b\xd7\x1f\xd6\xb6\xfd\x48\x30\xed\x43\x28\x1f\x7e\xc0\xd8\xda\x1c\x5e\x16\xf3\xc1\xee\xa7\xbd\x0e\xbd\x6f\x0e\xb4\x7c\x55\xbf\x1e\x2d\x79\x33\x2c\x34\xb8\x49\x68\x3e\x1f\xb4\x97\xdb\x41\xca\x3c\x0d\x67\x64\x1b\x3c\x2a\xb8\x0d\xe2\xf7\xf6\xc3\xbf\xef\xbc\x50\xf9\x3f\x13\x53\x35\x62\x6e\xce\xfd\xb9\xc7\x1c\xd5\x6a\x59\x0a\x15\x73\x54\xd5\xca\xd9\xed\x0d\xb4\xd1\xe1\xbf\x00\x00\x00\xff\xff\x29\xb1\x56\x6b\x40\x06\x00\x00")
func publicPasteShBytes() ([]byte, error) {
return bindataRead(
_publicPasteSh,
"public/paste.sh",
)
}
func publicPasteSh() (*asset, error) {
bytes, err := publicPasteShBytes()
if err != nil {
return nil, err
}
info := bindataFileInfo{name: "public/paste.sh", size: 1600, mode: os.FileMode(0755), modTime: time.Unix(1603758878, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x90, 0xe0, 0xa6, 0x70, 0x30, 0x16, 0xec, 0xb8, 0xfb, 0xee, 0xdb, 0x2b, 0x2a, 0xc6, 0x95, 0x53, 0x37, 0xb3, 0xbc, 0x14, 0xd1, 0x4f, 0x13, 0x5a, 0x31, 0x9a, 0xb8, 0xb9, 0x61, 0xda, 0xda, 0x6d}}
return a, nil
}
var _publicPrecacheManifestE794d1c73b51f3f24235495e349fce44Js = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xac\xd0\xcf\xca\x13\x31\x14\x05\xf0\xfd\x3c\x45\x98\xd5\x57\xa8\x99\xfc\xcf\x44\x71\x25\x5d\x08\xea\xc6\x65\x29\xe5\xe6\x26\xa1\xa9\xed\x54\x26\x19\x29\x58\xdf\x5d\xaa\x76\x57\x87\x16\xbe\x75\x72\xcf\x8f\x73\x4a\x3c\x24\xba\xdd\x7e\x1f\x23\x02\xee\xe2\x67\x18\x72\x8a\xa5\x92\xf7\xe4\xe5\x7f\x4f\x97\x0b\x59\x6f\x16\x14\x4f\x03\x42\x7d\x59\x37\x84\xfc\x6c\x08\x21\xa4\x1d\xe3\x8f\x5c\xf2\x69\x68\xdf\x92\x16\xd0\x38\x30\x36\xf4\x3e\x0a\x63\x5d\xb2\xce\xab\xc8\x1c\x33\x82\x81\xf7\x42\xb6\xcb\xbf\x37\xd3\x78\xb8\x7e\xef\xa6\xdc\xe5\x21\xc4\x33\xdd\xd5\xe3\xa1\x6d\x08\xf9\xb5\xbc\x1f\x1c\xb9\xeb\x59\x0a\xa0\xbd\xb4\x01\x39\x7a\x95\xd2\x9d\xb0\x52\xa1\x66\xec\xb0\x94\x4e\x50\x1e\x74\x04\xa6\x19\xc5\xdd\x34\x7c\xa3\x58\xca\x9c\x80\xe0\x5c\xea\xa5\xb4\x81\x0b\x6e\x9d\x71\xca\xe1\xbc\x70\x84\x3c\x50\x1f\x81\x1b\xa6\xc2\x63\xc8\x73\x35\xf6\xd7\x16\x41\xca\x60\x83\xb2\xff\x80\xfd\x6c\xbe\x72\x21\x29\x0e\xa0\x63\xe2\x56\x38\xc1\x98\x05\x93\xa4\xd6\x32\x39\xec\xb5\x7e\xd6\xa2\x9f\x3e\x7e\x58\x7d\xf9\xba\xa2\xf5\x5c\x5f\x6f\xbc\xfd\x6d\x3b\xad\x51\x00\xfa\x87\xaa\x99\x80\x5a\xf0\xc4\x93\x93\x0a\x85\xb7\xd2\x24\x3f\x4b\x8c\xd3\x50\xf3\x31\xbe\xf9\x43\x81\xf2\x28\xbc\xea\x6f\x48\xb3\x59\xbc\xfb\x1d\x00\x00\xff\xff\x0b\xfe\x1c\x10\x05\x03\x00\x00")
func publicPrecacheManifestE794d1c73b51f3f24235495e349fce44JsBytes() ([]byte, error) {
return bindataRead(
_publicPrecacheManifestE794d1c73b51f3f24235495e349fce44Js,
"public/precache-manifest.e794d1c73b51f3f24235495e349fce44.js",
)
}
func publicPrecacheManifestE794d1c73b51f3f24235495e349fce44Js() (*asset, error) {
bytes, err := publicPrecacheManifestE794d1c73b51f3f24235495e349fce44JsBytes()
if err != nil {
return nil, err
}
info := bindataFileInfo{name: "public/precache-manifest.e794d1c73b51f3f24235495e349fce44.js", size: 773, mode: os.FileMode(0644), modTime: time.Unix(1603758878, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x65, 0x67, 0xc0, 0xb9, 0x1c, 0xdd, 0xc, 0x76, 0x72, 0x2a, 0xaa, 0xd4, 0xf2, 0xe6, 0x1d, 0xfb, 0x98, 0x8, 0xce, 0x41, 0x3c, 0xb6, 0x5, 0xd2, 0x95, 0x41, 0xfa, 0x8b, 0x4e, 0xf3, 0xfe, 0x7d}}
return a, nil
}
var _publicServiceWorkerJs = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x74\x93\x71\x6f\xdb\x36\x10\xc5\xff\xd7\xa7\xb8\x05\x43\x6d\xa7\x0e\x89\xc4\x0e\x8a\x34\xf0\x86\xa2\xdb\xba\xa0\x59\x91\xda\x29\x8c\xc1\x71\x02\x9a\x3c\x49\x9c\x29\x9e\xc6\xa3\xe2\x1a\x6d\xbf\xfb\x40\x59\x4e\xb7\xae\xfe\x53\xe4\xdd\x8f\xf7\xee\x3d\xc9\xe3\xe3\x0c\x8e\x61\x8e\x4e\x53\x85\x10\x09\xb6\xd4\x04\x98\x53\x58\xaf\xe8\xe3\x49\x4d\x1b\x0c\x68\x80\x31\x3c\x5a\x8d\xb0\xa1\xb0\xc6\xf0\x43\x06\x6d\xd7\x9f\xd4\xf4\x9c\x03\x8f\x68\x52\x67\xc0\xc2\x72\xc4\x00\xb1\xb4\x0c\xb9\x75\x08\xd6\xef\x78\x1b\x5c\x81\xaa\x6b\x50\xde\xa4\x03\xe0\x92\x1a\x67\x12\xc3\x58\x56\x2b\x87\xf0\xfb\xed\xed\x0d\x68\xa5\x4b\xeb\x0b\xc8\xe9\xdf\x90\x48\x24\x52\xe9\x0c\x11\xca\x18\x6b\x7e\x29\x65\x41\x24\x0a\x27\x7d\xf9\xbe\x7c\x53\x77\xe3\xdc\x96\x08\x01\x39\x02\xe5\x10\x4b\x04\x4d\x06\xc1\x32\xa8\x26\xd2\x49\x81\x1e\x83\x8a\x68\x04\xdc\x38\x54\x8c\x60\xc8\xf7\x22\x34\xb5\x51\x11\xbf\xbe\xb6\x9b\x29\xa0\x8e\x6e\x7b\x09\xd6\x73\x44\x65\x86\x50\xa9\x35\x82\x2e\x95\x2f\x90\xbf\xdd\x12\xac\x1a\xeb\x0c\x68\xf2\xb9\x2d\x9a\xa0\xa2\x25\x9f\x30\x49\x6c\xc0\x93\xd0\x74\x4b\xd8\x95\xd5\x81\x34\x32\x1f\x52\x74\xa6\xa6\xbf\x70\x99\xc1\xb1\xcc\x32\x5b\xd5\x14\xe2\x4c\x07\x5b\x47\xee\x1f\xed\x2b\x39\x52\x50\x05\x8a\x82\xa8\x70\xa8\x6a\xcb\x42\x53\x25\x37\x9d\x67\xda\x78\x19\xb0\xd5\xc8\x72\x2c\x46\xe2\xf4\xe9\x8a\x37\xe2\x2f\x3e\x1a\x5c\x7e\x8b\xce\x00\x8e\x64\x63\x65\x1d\x30\x59\x80\x27\x95\xf2\x36\x47\x8e\x02\x5f\x5c\x8c\xcd\xa9\x7e\x31\x5a\x9d\x9f\xe6\xa3\xfc\x6c\x7c\x36\x3a\x1f\x5f\x9c\xe3\x68\x7c\x91\x6b\x1c\x8f\x13\x2f\x4b\x40\x46\x97\x0b\x65\xcc\xaf\x8f\xe8\xe3\x75\xca\x81\xc7\xd0\xef\x55\xc8\xac\x0a\xec\x0d\xa1\x8f\xe9\x66\x00\x93\x9f\xe0\x53\x06\x60\xf3\xee\x44\x18\x15\x15\x3c\x7b\x06\x5f\xbf\x44\xdc\xd6\x08\x93\xc9\x04\x7a\xb3\xb7\x57\x37\x0f\xf3\x57\x57\xb7\x57\xef\xde\xf4\x06\x6d\x27\x40\xfb\x16\xaf\x6d\x3d\x57\x36\x5a\x5f\xf4\x07\x97\x19\xc0\x97\xec\x4b\x1a\xa4\xd3\x2a\x34\x05\x14\xda\x59\xf4\x91\x5f\x3b\x65\xab\x54\x95\x75\x79\x4f\x51\xe9\x0a\x67\x73\xb1\x97\xfd\xca\x9b\x29\x35\x11\xfb\x03\xa8\x30\x96\x64\x00\xf3\xdc\xea\x84\x70\xdb\x36\x9c\xc8\x9d\xab\x5c\x93\x37\x29\x09\x89\x16\xf0\xef\x06\x39\x72\x9b\xdb\x0f\xd3\x6b\x4e\xb9\x4f\x09\x7c\x5a\xe3\x01\xb3\x67\x17\xef\xa7\x6a\xd5\x9a\xdd\x6a\x7a\x78\xd8\x8f\xf2\x47\xd7\x09\x13\x58\x2c\x85\x26\xaf\x55\xec\x1f\xaa\xf9\xfc\x19\x16\xcb\xc1\xe5\x93\xf4\xae\xc0\xfa\xe2\xff\xd2\x0e\x30\x86\xf0\xe9\x3f\xdb\x0b\xd4\xa4\xcd\x8a\xfd\x3f\xfd\x4e\x3d\xda\xa2\x4d\xf6\x0e\xf3\x9d\xa7\x0a\x8c\xaf\x13\xf2\x2d\x6e\x7f\xa3\xf0\x61\x7a\xdd\x6f\x33\x65\xbd\xc1\x8f\xa2\x8c\x95\x3b\x1a\x0c\x5b\x03\x33\x80\x95\x53\x7a\xed\x2c\xc7\x97\xb0\x90\xf7\x77\xf2\x41\x0e\xe5\x9d\x5c\xdc\xcb\x9f\x97\xcf\xef\xc4\xe2\x5e\x2e\x9f\xff\x28\x97\xc3\xd6\xd1\x7f\x02\x00\x00\xff\xff\xba\x4e\x07\x7f\xa3\x04\x00\x00")
func publicServiceWorkerJsBytes() ([]byte, error) {
return bindataRead(
_publicServiceWorkerJs,
"public/service-worker.js",
)
}
func publicServiceWorkerJs() (*asset, error) {
bytes, err := publicServiceWorkerJsBytes()
if err != nil {
return nil, err
}
info := bindataFileInfo{name: "public/service-worker.js", size: 1187, mode: os.FileMode(0644), modTime: time.Unix(1603758878, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x9b, 0xb6, 0x48, 0x31, 0xaf, 0xd1, 0x1d, 0xb9, 0xef, 0x17, 0x7e, 0x5b, 0x6f, 0x39, 0x79, 0x68, 0x97, 0xf0, 0xd9, 0x69, 0xe6, 0xda, 0x99, 0x8d, 0xe1, 0x1a, 0xf2, 0x24, 0xa0, 0x7b, 0x2c, 0x6c}}
return a, nil
}
var _publicStaticCss21d5ea050ChunkCss = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x74\x52\x4d\x8f\xda\x30\x10\xbd\xf7\x57\x20\x71\x5b\x95\xac\x77\x81\x5d\x48\xd4\x7f\xd0\x5e\x2a\xf5\x5c\x4d\xec\x21\x4c\x33\xb6\x53\x7b\x02\x1b\x45\xfb\xdf\x2b\xc0\x26\x74\x5b\x94\x4b\xe6\xe3\xbd\x99\xf7\x3c\xc5\x9e\x7f\xc5\xd1\x50\xec\x18\x86\xb2\x66\xaf\xdb\xca\x1f\x30\xec\xd8\x1f\x17\x6f\x25\xf4\xe2\xab\x0e\x8c\x21\xd7\x94\xc5\x1a\x6d\xa5\x3d\xfb\x50\xce\x97\xcb\x65\x55\x83\x6e\x9b\xe0\x7b\x67\xca\xf9\x6e\x73\xfa\xde\xcf\x74\x0b\xed\xad\x45\x27\x9f\x2f\xd1\xef\xde\x0b\x8e\x09\xb7\xdd\x6e\xaa\x9d\x77\xb2\x88\x32\x30\x96\x24\xc0\xa4\x13\xac\xc5\xe1\xe8\x83\x49\xb0\x88\x8c\x5a\x7c\x58\x08\x34\x39\xd5\xd7\x51\xc6\x9b\x0d\xce\x4c\x47\xa4\x66\x2f\xe5\xab\x52\x89\x87\x49\x30\x00\x27\x90\xeb\x6d\x8d\x21\x05\x02\xcd\xec\xf2\x07\x22\xd7\x24\xda\x8e\x41\x70\x71\x80\x40\x50\x33\xa6\x7c\x0e\xd3\x44\x41\xe0\x34\xc1\x78\x7d\xb3\x95\x04\x72\x4d\x5e\xcb\x3c\xad\xde\xb3\x00\x2d\xe4\xdd\x47\x39\x94\x05\x0a\x09\x4f\xbe\x28\x75\x47\xcd\x45\xf4\x6d\x6d\x75\xad\x69\x86\x18\x67\x37\x74\x99\x7a\xe8\xae\xcc\xab\xf5\xe6\x0e\xf3\xc9\x02\xaa\x7b\xc9\x28\x07\x16\x27\x9f\x12\xde\xc1\x61\xa8\xfe\x3f\x9d\xc9\xb5\xa9\x3f\x60\x83\x6f\x5d\x1e\xa9\xd4\x76\xfb\xfc\x92\xba\xea\x9e\x19\xf3\x2d\xc4\xc1\xd6\x9e\xa7\x63\x50\xea\x75\x79\xed\x23\x96\x9f\x94\xfd\x3a\x87\xe4\xce\x4b\x4d\xbc\x9b\x97\x3a\xf7\x5b\x14\x98\x88\xb6\x77\x34\x1a\x64\x3c\xbd\xc2\xf8\xd7\xb1\x1a\x93\x2d\x30\x86\xfe\x29\x9b\x5d\x2e\xa3\xed\xf6\x10\x29\x8e\xf7\x4e\x36\x4a\xf0\xae\x19\x3f\xce\xfe\xf4\xf8\x30\x9f\x45\xdf\x07\x8d\xdf\xa0\xeb\xc8\x35\x3f\xbe\x7f\xfd\xf2\x5c\x3c\x99\x35\x82\x5a\xab\x42\xef\x7b\xd7\x16\x3a\xc6\xc2\x42\x37\x7b\x78\xfc\x13\x00\x00\xff\xff\x2c\x02\x00\x66\x87\x03\x00\x00")
func publicStaticCss21d5ea050ChunkCssBytes() ([]byte, error) {
return bindataRead(
_publicStaticCss21d5ea050ChunkCss,
"public/static/css/2.1d5ea050.chunk.css",
)
}
func publicStaticCss21d5ea050ChunkCss() (*asset, error) {
bytes, err := publicStaticCss21d5ea050ChunkCssBytes()
if err != nil {
return nil, err
}
info := bindataFileInfo{name: "public/static/css/2.1d5ea050.chunk.css", size: 903, mode: os.FileMode(0644), modTime: time.Unix(1603758878, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xdc, 0x80, 0x68, 0xd5, 0x10, 0x29, 0x95, 0x2e, 0x4, 0x57, 0x5, 0x3b, 0x88, 0xb3, 0xa4, 0xb2, 0xdc, 0xf7, 0x9f, 0xb4, 0x54, 0x8a, 0xe8, 0x72, 0xf6, 0x86, 0xc1, 0xa9, 0x61, 0x19, 0xa9, 0x5}}
return a, nil
}
var _publicStaticCss21d5ea050ChunkCssMap = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x8c\x54\xef\x6f\xf2\x36\x10\xfe\x57\xac\xf4\xcb\x56\x05\xea\x96\xd2\x41\x3a\x4d\x33\x11\xdd\x87\xa9\xd2\xbe\x6c\x5d\x35\xaa\xc9\x49\x8e\xe0\x17\xc7\x4e\xed\x0b\x14\x55\xfd\xdf\x5f\x39\x28\x3f\x9c\xd2\x57\x08\x09\xf9\xee\x7c\xcf\xf3\xdc\x0f\xe7\x3d\xd8\x81\xb1\x42\xab\x20\x9a\x84\x81\xd5\x95\x49\xc1\x06\xd1\x7f\x41\x2e\x70\x53\x25\xe3\xd4\xda\xe0\x25\x0c\x14\x2f\x6a\xf7\x4b\x18\x14\xbc\x2c\x85\xca\x6d\x10\x05\x8c\x3d\xb2\xf0\x91\xc5\xcb\x90\x33\x96\x86\x31\x8b\xb3\x10\x18\xcb\x17\xee\xb8\x59\x84\xcf\xad\xf7\x6f\xc6\x9e\xdc\xe9\xdf\x70\xbb\x60\xf1\x43\x18\xb3\x25\x0b\xe9\x82\x2d\x97\xbd\x90\xe8\x42\x77\x31\xfb\xa3\x1f\x82\x36\x52\x3d\xb0\x3f\x5d\x64\x08\xd2\xd8\xb7\x5f\x66\x3e\x3b\xa1\x9d\x59\xc4\x3e\x7b\x17\x79\x6d\x20\xda\x92\x9a\xc8\xbe\x26\xe3\x03\xf2\xce\xde\xc6\xbe\xfd\xe4\x28\x4f\x51\x80\xaf\xe5\x94\xd9\xeb\x06\x6f\xc2\x41\x18\xac\x85\x84\x20\x0a\x6e\xc6\xd7\xd9\x14\x38\x9d\xd2\x71\xba\xa9\xd4\xb6\x1e\x54\x3b\xc0\x58\x2b\x04\x85\x6e\x8e\x57\x97\x2b\xb5\x52\xcd\x34\x75\x41\x2c\x1e\x24\x90\x9f\xd2\x9f\xc9\x3f\xdc\x0a\x79\x20\x7f\x69\xa9\x77\xea\xa0\x77\xe4\xd7\x1d\xb7\xf8\xfb\x7e\x23\x10\xb8\x42\x3b\x56\x80\xbf\xb9\xec\xcb\x2b\xf7\x3f\xde\xc8\x6f\x96\xbc\xaf\x14\x21\x99\xb0\xa5\xe4\x87\x88\x24\x52\xa7\xdb\x7b\xe7\xd2\x3b\x30\x6b\xa9\xf7\xa3\xb7\x88\xf0\x0a\x75\xed\x2c\x79\x96\x09\x95\x47\x84\x8e\xa7\x50\xd4\xae\x54\x4b\x6d\x22\x72\x31\x99\x4c\x6a\x3b\xe1\xe9\x36\x37\xba\x52\x59\x44\x2e\xd6\x33\xf7\xbb\x5f\xa9\x8f\x96\x70\x94\xea\xa2\x00\x85\x61\x63\xbf\x56\x1a\xe1\x28\xa3\xc1\x9a\xcf\x67\x35\xd6\x5a\x2b\x1c\xd5\xf5\x45\x44\x20\x97\x22\xf5\xa1\xb6\x70\xd8\x6b\x93\xb5\x50\x16\x24\xa4\xa8\xcd\x08\x79\xde\x39\xab\xc4\xa2\x8f\xdf\x68\xad\xf1\xf7\x20\xf2\x0d\x46\x24\xd1\x32\xf3\xe1\x55\x55\x24\x60\x5a\x20\x29\x10\x0c\x97\xad\xbd\xe3\x46\xf0\x44\x42\xeb\x40\x28\x4a\xc9\x11\x4e\x44\x78\x4e\x8e\x27\x8e\x68\x7c\x31\x94\xce\xe8\x8c\xfa\xcc\x16\x8d\x50\x5d\x09\x99\x4e\x1d\x82\x97\x96\x5d\xdf\xfa\x39\x28\xb0\xc7\x68\x21\x45\xa1\xd5\xe7\xd6\x88\x6c\xd0\x6b\x4a\xcf\xe9\x45\xaf\x8b\xde\x4d\xa5\x4d\xc1\xe5\x40\xc9\xa1\xec\x84\xa4\x92\x5b\x4b\x7a\x12\x7d\xfa\xdb\xe9\xec\x1c\xfa\xfe\x40\xdd\xb7\xab\x35\x5c\x3f\x45\x52\x0d\x37\x88\x52\x7a\x6c\xea\x19\x72\x0d\xe4\xf0\x56\xf6\xc6\xac\xb6\x43\xb0\xf9\xfc\xe6\x6e\xd0\x8f\x43\x91\xe8\x6e\x17\x92\x4a\x4a\xc0\xe1\x16\x53\xfa\xcb\xc4\x4f\x4b\x2a\x21\xf1\x7f\xa1\x42\xcf\x21\x54\x5d\xd4\xa7\xbd\xb8\x4b\x06\xe9\x05\x20\x1f\x92\xcc\xcf\xe9\x5f\x06\x12\xdc\x3e\x1c\x93\xfd\x37\x9a\x0d\xee\xba\x37\xfe\xc5\xdd\x6c\x3d\xb8\x0b\x45\xb9\xe1\x56\xd8\xde\x66\xfc\xe0\xbd\x5a\x34\x5a\xe5\x27\xb6\xa8\x13\x1c\xbc\x7c\x7c\x0f\x00\x00\xff\xff\xf9\xd6\x0e\x4f\xc3\x06\x00\x00")
func publicStaticCss21d5ea050ChunkCssMapBytes() ([]byte, error) {
return bindataRead(
_publicStaticCss21d5ea050ChunkCssMap,
"public/static/css/2.1d5ea050.chunk.css.map",
)
}
func publicStaticCss21d5ea050ChunkCssMap() (*asset, error) {
bytes, err := publicStaticCss21d5ea050ChunkCssMapBytes()
if err != nil {
return nil, err
}
info := bindataFileInfo{name: "public/static/css/2.1d5ea050.chunk.css.map", size: 1731, mode: os.FileMode(0644), modTime: time.Unix(1603758878, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xda, 0x6e, 0xc3, 0x26, 0xe9, 0xa1, 0x2a, 0x1, 0x16, 0x8d, 0x4d, 0x4c, 0xce, 0x20, 0x2d, 0x5, 0x4d, 0x9, 0x23, 0xb2, 0x3a, 0xdd, 0xab, 0x97, 0x34, 0x5a, 0x1d, 0x44, 0x9d, 0x3c, 0x6d, 0xc1}}
return a, nil
}
var _publicStaticCssMainBea1604dChunkCss = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xc4\x55\xdb\x8a\xe4\x36\x10\x7d\xcf\x57\x38\xd3\x2c\xec\x6c\x6c\xaf\xda\x7d\x99\x19\x9b\x40\x96\x40\xd8\x87\x04\x42\x20\x1f\x50\x96\xca\x6d\x31\xb2\x24\x24\xf5\x65\xd6\xf8\xdf\x83\xdc\xb2\xdb\x7d\xdb\x4c\x9e\x42\x31\x43\xdb\xaa\x3a\xaa\x3a\x75\xaa\x5c\x2a\xf6\xd6\x36\x60\x36\x5c\xe6\xa4\xd0\xc0\x18\x97\x9b\x9c\x14\x95\x92\x2e\xa9\xa0\xe1\xe2\x2d\xb7\x20\x6d\x62\xd1\xf0\xaa\xf3\xee\x71\xed\x1a\xd1\x52\x25\x94\xc9\x67\x84\x90\x1f\x79\xa3\x95\x71\x20\x5d\x51\x02\x7d\xdd\x18\xb5\x95\x2c\x09\xe7\xd9\x53\x56\x2e\x26\x2e\x5d\x8d\xc0\xd0\xfc\x64\x91\x3a\xae\x64\x1b\x6e\x4c\x9c\xd2\xf9\x2a\xd3\x87\x21\x85\xa4\x54\xce\xa9\x26\xcf\xd2\x39\x36\x5d\xa5\x94\x43\xd3\x5e\xc3\x2f\x70\xb9\x5c\xd2\x42\x2b\xcb\x3d\x5c\x5e\xf1\x03\xb2\x22\xc4\x92\x62\xcf\x99\xab\xf3\x39\x21\x1f\x8a\x1a\xf9\xa6\x76\x79\x86\x4d\x51\x2a\xc3\xd0\xf4\x57\xce\xf5\x21\xb2\x4a\x70\x16\xcd\xca\xb2\x1c\xeb\x5f\xea\x43\xb8\x33\xb2\x1a\x64\x2a\xb0\x72\x6d\x25\x14\xb8\xdc\xff\x3c\x3b\x33\x1e\x37\x1c\xf6\xbf\xbb\xb4\x34\x08\x8c\x9a\x6d\x53\x46\x02\x4a\x14\xb1\x36\x38\x21\xac\x4b\x2d\x67\x58\x82\x89\x52\xc1\xad\x4b\x7c\x49\xba\xed\x19\xb7\xfc\x1b\xe6\x4f\xab\x0f\x37\x5d\x12\xee\xb0\x19\x18\xcb\x3d\x59\x27\x42\xf2\xd9\x7c\x3e\x2f\xc2\x1d\xeb\x8c\x2e\xd7\x59\xa8\x33\x27\x5d\xda\x00\x97\xf1\x7d\xc8\x69\xb3\xbf\x02\x7d\x8d\x1b\x25\x95\xd5\x40\xf1\x94\x07\x5c\x46\xa5\x40\x1d\xdf\xe1\x09\x56\xf0\x3b\x2e\x43\xe9\x3e\xc3\xeb\x16\x1e\x93\xed\x7e\x69\x90\x71\x88\x3e\x36\x5c\x26\xc7\xb6\x3d\xad\x9f\xf5\xe1\xb1\x4d\x6b\xce\x30\xb1\x4d\xcb\xb8\xd5\x02\xde\x72\xa9\x24\x4e\x04\xf5\x9d\xc8\x90\x59\xeb\x7b\x36\xaa\x21\x5b\xee\xf6\x17\x8c\xb4\x17\xfa\x19\xc5\x18\x84\xb4\x20\xfa\x50\xa8\x1d\x9a\x4a\xa8\x7d\x0e\x5b\xa7\x8e\x00\x47\xe0\x6c\xb5\xdb\x17\x7d\xe7\x73\x72\x2b\x9b\x97\x97\xec\x7f\xcb\x26\x8c\x59\x4a\x95\x74\xc0\x25\x9a\x30\xeb\xe3\x78\x61\xd3\x51\xc5\xd0\x2b\x34\x76\x78\x70\x60\x10\xce\xf4\xf0\xf0\x1b\x37\x10\xfd\xaa\x18\x3e\xc4\xb5\xd7\xc6\xc3\x17\xa9\xe4\x5b\xa3\xb6\x36\xfa\xd3\xa8\x87\x89\x56\xb4\xc1\x74\x63\xf0\xed\xc6\x9c\xb2\x85\xb7\xae\x9f\x86\xf6\xfc\x9d\x83\x52\x60\x04\xb9\xe0\xf2\x75\x38\x5a\xaf\xd7\x67\xef\xe3\xe1\x61\xc7\x2d\x77\xc8\x8e\x19\xee\x8f\x23\xfd\x44\x48\xe1\x53\x4f\x18\x52\x65\xa0\x67\xce\x6b\xa4\xbb\x0c\x0a\xe0\x2f\x2f\x2f\xe3\x51\xd0\xf0\xf0\x58\x7b\x5a\x07\xbf\x92\xad\x60\xb1\xba\x82\xde\x4a\x86\x46\xf0\x01\xff\x8c\xac\x2f\x86\x83\x88\xbf\xa2\xd8\xa1\xe3\x14\xe2\xd3\xe6\x2c\x4e\x95\x15\xa7\x49\x9f\xfb\xb6\xf6\x17\xd8\x1a\x98\xda\xf7\xfb\xc8\xff\x91\x68\x56\x55\xd5\xd9\x7c\x23\x60\x89\xb4\x08\xbb\x3a\x23\xbd\x20\xfa\x01\x9f\x2c\x31\x4a\xe9\xb0\xde\x0c\x30\xbe\xb5\xf9\xa2\xf7\x3b\x0c\x17\x90\x1e\x3e\xd3\x87\x68\xc6\xe6\xde\x02\x15\xae\x3e\x2d\x96\xde\x63\xe5\xff\x65\xe3\x25\x97\xdb\xb2\x02\x6f\xc3\x61\x50\xd3\xe4\x1c\x89\xb7\xf3\x02\x98\xb7\xe9\xab\xa4\x51\xdf\x12\x4f\x25\x98\x64\xe3\xf3\x45\xe9\x3e\x3a\xa5\xe3\xe0\x1b\xcf\xb0\xf4\xf6\x38\x26\x99\x57\xdc\x58\x97\xd0\x9a\x0b\xd6\xf6\xc4\x81\xe0\x1b\xd9\x6f\xe5\xf1\xd3\x71\x9c\x03\xa2\x0f\x43\x98\x99\x86\x5d\xa2\x9c\xea\xeb\x03\x27\xbc\xdd\x0d\x17\x70\x2b\xba\x1f\xba\x5b\xe1\xd3\x44\x29\x4a\x87\xe6\x7e\xaa\xec\xbf\x55\x38\x34\xe0\xb8\x53\x46\x90\xb1\x97\xf3\xe7\xfb\x1d\xf4\xfa\xfa\xb7\xf6\x4d\xd0\xbf\xdf\xdc\x41\x0f\xef\x69\x6e\x55\x7a\x8b\x43\xcc\xd8\x5c\x93\xe2\x0e\xa5\xcf\xfe\x0c\x78\xed\xed\x9d\xc0\xcf\xde\xe2\x10\x73\x02\x9e\x34\xac\x87\x3f\xab\x9a\xdc\x71\xbb\x25\x92\x63\xc8\x7d\x9d\x9c\x03\x5c\xcb\x24\xc4\xdf\x55\xca\x71\x01\x5d\x51\x90\x79\x7b\x27\x05\xbd\x6f\x3c\xab\x88\xb7\xc7\xee\x87\xcf\x9f\x66\x91\x55\x5b\x43\xf1\x0f\xd0\x9a\xcb\xcd\xdf\x7f\xfd\xfe\xb3\xff\x5c\xa4\x25\xc2\x7c\x4d\x96\x2c\xa5\xf5\x56\xbe\xa6\xd4\xda\xb4\x01\x1d\x7d\xfa\xfc\x4f\x00\x00\x00\xff\xff\xe8\xb1\x76\xec\x14\x0a\x00\x00")
func publicStaticCssMainBea1604dChunkCssBytes() ([]byte, error) {
return bindataRead(
_publicStaticCssMainBea1604dChunkCss,
"public/static/css/main.bea1604d.chunk.css",
)
}
func publicStaticCssMainBea1604dChunkCss() (*asset, error) {
bytes, err := publicStaticCssMainBea1604dChunkCssBytes()
if err != nil {
return nil, err
}
info := bindataFileInfo{name: "public/static/css/main.bea1604d.chunk.css", size: 2580, mode: os.FileMode(0644), modTime: time.Unix(1603758878, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x28, 0x10, 0xe6, 0x4, 0x9b, 0x9c, 0x4, 0x76, 0xe8, 0x37, 0xa, 0x90, 0xaa, 0x8, 0xc5, 0x1a, 0x7f, 0xcd, 0xd1, 0xc2, 0x22, 0x57, 0xec, 0x89, 0x36, 0x1, 0x8f, 0x15, 0x7, 0xd9, 0x20, 0xb7}}
return a, nil
}
var _publicStaticCssMainBea1604dChunkCssMap = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\x57\x6f\x6f\xdb\x38\xd2\xff\x2a\x7c\x14\x2c\xd0\xa2\xb4\xd7\x76\x12\x27\x95\xdf\x3c\x23\xc5\x6d\xd3\x45\xd1\x06\xb9\x5c\x6f\xf7\xdc\x17\x94\x44\xdb\xac\x25\x52\xa1\xe4\xc4\xae\x91\xef\x7e\x18\x92\xb2\x24\xc7\xce\xa6\x48\x71\xaf\xce\x42\x5b\x6a\x38\xfc\xcd\x6f\xfe\x52\xdd\x78\x77\x5c\x17\x42\x49\xcf\x3f\xa6\x5e\xa1\x96\x3a\xe6\x85\xe7\xff\xdb\x13\x32\xe1\xab\x6e\x5c\x14\x1e\xf5\xde\x69\x96\xf1\x7b\xa5\x17\xee\x3d\x67\x45\xc9\xcd\xfa\x1b\xf5\x24\xcb\xcc\x89\x6f\xd4\xcb\x58\x9e\x0b\x39\x2b\x3c\xdf\x03\x00\xa0\x7f\x40\x38\xa6\x57\x00\xd7\x34\x84\xf0\x1f\xf4\x1a\xe0\x06\x57\xff\xa4\x45\x00\xe1\x3b\x1a\x86\x1f\x81\xde\x00\x7c\xa5\x2a\x00\x58\x06\x34\x04\x18\xd3\x45\x08\x50\x84\xa8\xd7\x1f\x53\x0e\xa0\x02\x3a\x0b\x00\x84\xdb\x46\xd5\x02\xd7\xe1\xd9\x05\xfd\x8c\xd8\xf7\x01\xc0\xda\xed\xc6\x00\xb1\x5d\x5d\x01\x5c\xd9\x95\xb1\xb0\xb3\x5a\x07\x00\x3d\x77\xe6\x2b\x00\x43\xbc\xef\x97\x54\x04\x00\x59\x80\x7a\x46\x32\x0f\xe9\x22\x30\x0c\xbe\x5a\xdc\x71\x1a\x22\x77\x94\xdc\xd4\x92\xdb\x00\xc2\x4b\xca\x20\xfc\x88\x02\xa0\x3d\xf3\xfe\x15\xe0\x4f\x04\xf9\x0b\x9d\xe0\xb8\x9a\x52\x66\x0f\x85\x09\xbd\x82\xb1\xd3\x9e\x85\xf0\xe1\x12\xcf\xfc\xe1\x04\xb7\x63\x3c\xee\xb8\x86\xff\x42\xff\x2a\xe4\xb5\x41\xbe\xc6\xad\xa2\xf2\x20\xfc\x11\xb6\x37\x2f\x2f\xe9\x27\x80\xcf\xb8\xf5\x85\xde\x58\x3b\x21\x50\x0e\x5f\x2e\xab\xf8\x18\x02\x55\x5a\x1c\xd1\xf7\x7f\x51\x06\xd7\xa8\xfc\x05\xe8\x27\x44\xa9\xf3\xf5\xd9\xa1\x7c\xfc\x6f\x5a\x0a\xf5\x18\xaa\xf8\x0b\xfb\x4f\x08\xef\x57\x36\x27\x9f\x69\x71\x01\xb0\xbe\x30\x69\x1a\xdb\x90\x60\x21\x0c\x51\x69\xbc\x0a\x91\xd8\x15\xc6\x7b\x61\x04\xfd\x00\xf3\x13\xd2\x1b\x78\x7f\x61\x49\x0e\x03\xf8\x10\x62\x6a\x4c\x61\x85\xdf\x03\xac\xac\x4f\xb8\xf9\x11\xb0\xe0\x76\x95\xc7\x61\x23\x7b\x18\x00\xb7\xf5\x09\x35\x8b\x10\xe0\xde\xd4\xec\x0a\x8f\x55\xce\xd4\x31\xe8\x55\xd4\xc2\xb3\xc0\xf0\x37\xb4\xc2\xd4\x54\x96\xcb\xf3\x6d\x00\x70\x8b\xe2\x4b\x6d\x1d\x36\xcc\x2e\xbf\x07\xf4\xa4\x36\x77\x6d\xcc\x05\x00\x03\x03\x70\x6c\x36\xe1\xc4\xbc\x9c\x06\xf4\x4d\x00\xf0\xc6\x78\xfc\xbb\xb5\x93\x99\x17\x19\x50\x75\xb1\xc5\xb8\x35\xde\x71\x80\x99\x39\x36\x37\xd6\xaa\x4d\x15\xc2\xfb\xd0\x94\xb0\x13\x64\x46\x30\xd8\xa1\x20\x9a\x3e\x34\x8e\xef\xc5\xae\x63\xcc\xda\x28\x7f\x6e\x7b\x64\xdd\x0c\xd0\xd6\x8b\xf0\xf7\x00\x63\x0f\xe7\xc6\x8b\xb7\x87\x5d\x12\xc6\xec\xa1\xdd\xa5\x23\xd5\x76\x69\x58\xb3\x5e\x18\xc1\x79\x43\x70\x00\xcf\xa3\xde\x54\xa4\xdc\xf3\xbd\x8c\x09\xd9\x8d\x38\xeb\x0f\x7b\x27\x49\x37\x9e\x2f\x65\x35\x1d\xdd\x10\x0d\x95\x2c\xb9\x2c\x71\x96\x46\x2a\x59\x93\xcd\x44\x12\x92\x31\x3d\x13\xd2\x27\xbd\x11\xbe\xe5\x2c\x49\x84\x9c\x55\xaf\x53\x25\xcb\xce\x94\x65\x22\x5d\xfb\xa4\x60\xb2\xe8\x14\x5c\x8b\xe9\x68\x22\x1f\x26\xd2\xa3\x06\x86\xce\xcb\x2c\x25\x9b\x58\xa5\x4a\xfb\x24\x4a\x59\xbc\x20\xff\x27\xb2\x5c\xe9\x92\xc9\x72\x44\x22\x16\x2f\x66\x5a\x2d\x65\xd2\x71\x3a\x47\x83\xb3\x41\x74\xdc\x6b\x69\x3d\x4c\xe4\x9c\xb3\x84\x6b\xf2\x86\x14\x3c\x2e\x85\x92\x84\x6c\x2a\x3e\x9d\x52\xe5\x3e\x39\x1d\xe4\xab\xd1\x56\x14\xa9\xb2\x54\x99\x4f\x06\xdd\x3e\xcf\xf0\xfc\x54\xa9\x92\x6b\xb2\xd9\x67\xf1\x98\x9f\x9c\x9c\xc4\x23\x92\xab\x42\x20\xb6\x3f\x15\x2b\x9e\x8c\x88\x03\xe9\x8d\xc8\xbd\x48\xca\xb9\x4f\xfa\xbd\xde\x6f\x23\x32\xe7\x62\x36\x2f\x7d\x32\xe0\x19\xea\xe8\x84\x6b\x4b\xa1\x9f\xaf\x48\xa1\x52\x91\x90\xa3\x28\x8a\x46\x75\xbc\x4e\xf2\x55\x83\x43\x91\x33\xd9\x4d\xf9\xb4\x24\x1b\x32\x4d\x15\x2b\x7d\x82\x6f\xa3\x5d\x15\x8d\x66\x6a\x1d\xf3\x6a\x94\x72\xcd\xc9\x86\x34\x63\xfa\x30\x91\xdd\x48\x73\x96\xc4\x7a\x99\x45\x24\x65\x11\x4f\x77\x54\xcc\xc9\x89\xec\x16\x22\xe1\x11\xd3\xa4\x9b\x8a\xa2\xec\x60\x24\x72\x9b\x6b\x97\xd0\x42\xfc\xe0\x3e\x39\x3b\xfd\xcd\xe6\x71\xff\x89\x8e\x28\x79\x56\x1d\xdb\xba\x89\x19\xb0\xa2\x3a\xc8\xfe\x51\xbf\xdf\x77\xd2\x2a\xde\xc3\x41\x7c\x32\x1c\x54\xaa\x26\x80\x7e\x6f\xd4\xe0\x50\x15\xd5\x07\x16\x2f\x28\xc9\x94\x54\x45\xce\x62\x5e\x11\xc2\x5a\x6e\x71\x3e\xa0\xff\xc8\x83\x54\xec\xfa\xd0\x65\x71\x29\xee\x38\xdd\xaa\xb0\x03\x1a\x95\xbd\xca\x87\xda\xab\x3d\x05\xb5\x75\xd0\x98\xff\xff\x8c\x27\x82\x91\x57\x99\x90\x1d\x57\x48\x67\xc3\xf3\x7c\xf5\xba\xc2\xec\xce\x45\xc2\x3b\x45\x46\x36\x24\x11\x45\x9e\xb2\xb5\x4f\xa4\x92\x7c\xb7\x07\x9e\x89\x56\xb9\xe2\xde\x4d\x8a\xda\x95\x5d\x6f\xd4\xad\x53\xcb\xaa\xde\x39\xee\xb5\xc4\x58\xa3\x55\xeb\xdb\x9f\x33\x3f\x38\xb9\xbb\x6f\x48\xd5\x1d\xd7\xd3\x54\xdd\xfb\x84\x2d\x4b\xe5\x36\x1e\x1c\xb7\x66\xea\x5a\xc4\xc8\x8b\x99\x0d\x4e\x5b\x34\xb4\x6d\xd2\xde\x33\x98\x1d\x8a\xeb\xdb\xb7\x83\xff\xc5\xf5\x65\x71\xc5\xfb\xc5\x0e\xec\x6e\xac\x64\xc9\x84\x34\x43\xd8\xde\x2b\xf5\x94\xc6\x49\xfa\x30\x91\x25\x5f\x95\x4c\x73\x86\x43\xaf\xd9\xd7\x13\xef\x9d\xd0\x8c\x84\x2a\xe1\x13\x8f\xce\xb1\xcb\x27\x1e\x48\x25\xd7\x99\x5a\x16\xe4\x8b\x56\x13\x8f\xd6\x6d\x5f\xcf\xc8\x97\xa2\xc4\x2a\xf9\x15\x30\xb9\xe6\xdd\x99\xe6\xeb\xbd\xd7\x4f\x8a\x01\xc5\x5d\x37\xa1\x77\x86\xf7\xee\x76\xc9\xa2\x94\x13\xe6\xa7\x42\x2e\x30\xe3\x93\x72\x3b\x75\x86\xc3\x11\xbe\x1b\xb6\xf7\xee\x92\x8a\x54\x9a\x18\x29\xc6\xb6\x93\xf0\x58\x69\x66\x0a\Line truncated
func publicStaticCssMainBea1604dChunkCssMapBytes() ([]byte, error) {
return bindataRead(
_publicStaticCssMainBea1604dChunkCssMap,
"public/static/css/main.bea1604d.chunk.css.map",
)
}
func publicStaticCssMainBea1604dChunkCssMap() (*asset, error) {
bytes, err := publicStaticCssMainBea1604dChunkCssMapBytes()
if err != nil {
return nil, err
}
info := bindataFileInfo{name: "public/static/css/main.bea1604d.chunk.css.map", size: 5866, mode: os.FileMode(0644), modTime: time.Unix(1603758878, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x55, 0x1d, 0x6a, 0xf5, 0x4b, 0x6c, 0x61, 0x10, 0x23, 0xe2, 0xcb, 0x58, 0x45, 0x29, 0xb9, 0xf0, 0xac, 0x5, 0xe5, 0xb3, 0xfa, 0x9a, 0x90, 0x6b, 0x58, 0x88, 0x19, 0x1e, 0xad, 0xd7, 0xe3, 0xbd}}
return a, nil
}
var _publicStaticJs2D33d7d47ChunkJs = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\xfd\x7d\x73\xdb\x38\x96\x28\x0e\xff\xff\x7c\x0a\x59\x3b\xa3\x26\x42\x48\x21\x25\x59\xb6\x25\xc1\xaa\xc4\x71\xa6\xdd\x1b\x3b\xb9\xb1\x33\xb3\x33\x5a\xad\x8b\x96\x20\x0b\x63\x0a\xd4\x80\x50\x6c\xb7\xa5\xfd\xec\x4f\xe1\x85\x24\x48\x82\xb2\xd2\x3d\xf3\xdb\xad\x5b\xb7\x52\xb1\x48\x00\x04\x0e\x70\x5e\x70\x70\x00\x9c\xf3\xf6\xcd\x41\xed\x63\xc4\x6a\x21\x99\x62\x1a\xe3\x1a\xa1\xf3\x88\x2d\x03\x4e\x22\x5a\x5b\x85\x38\x88\x71\x2d\xc6\xb8\xd6\x6e\xcd\x3a\x9d\xd9\xd1\xac\x7b\xd4\x9a\x2e\xd6\xf4\xa1\xf5\xf7\xb8\xf5\xe9\xe2\xec\xfc\xea\xfa\xbc\xc5\x9f\x78\xed\xcd\xdb\xff\x9f\xc3\x17\x24\x6e\x3d\xe2\xbb\x55\x30\x7d\xf8\x25\x8e\xe8\x6a\x15\xc4\x1c\x23\x7b\xf2\x66\x33\x9e\x80\xd6\x6a\x1d\x2f\x9c\xf1\xb8\x3d\x81\xe3\xf9\x9a\x4e\x45\xab\x0e\x86\x1c\x52\xf0\x52\x5f\x8b\xa6\x39\x23\x53\x5e\x1f\xe0\x16\x7e\x5a\x45\x8c\xc7\x88\x3a\xfe\xb1\x0f\xb6\x70\x67\xf1\xcf\x77\x7f\xc7\x53\xde\x9a\xe1\x39\xa1\xf8\x0b\x8b\x56\x98\xf1\x67\x87\xc3\xfa\xed\x2d\x8e\x2f\xa3\xd9\x3a\xc4\x75\xf8\xf2\x3d\x08\xd7\xb8\x7f\xe0\x6d\x01\xe4\xad\x47\xc2\x17\xe7\xcb\x3b\x3c\x43\xea\xf9\x4b\x14\x13\x51\xbf\x7e\xfd\x18\x51\xae\x1f\xaf\x17\xc1\x2c\x7a\x4c\xd2\xc3\x28\xe0\xe9\x33\x7e\x4a\xbf\x5e\x45\xdf\x31\xd3\x6f\x37\x51\x14\x72\xb2\x4a\xbe\x9f\x32\x8c\x29\xc3\xc1\x0c\xb3\x58\xa7\x7d\x60\x51\x92\xfd\x6e\xca\xc9\x77\xac\x5f\xde\x47\x6c\x96\x56\x73\x4d\x7e\x25\xf4\x3e\x79\x59\x05\xd3\xec\xed\x5d\x48\xee\x13\x50\x3f\x90\x78\x15\x06\xcf\xfa\xed\x2c\x0a\xa3\xa4\x82\x2f\x6b\xb6\x8a\x62\x51\xf7\x12\xb3\x7b\x7c\x16\x06\x71\x7c\x15\x2c\x45\xc2\x3c\x0c\xb8\xf9\x2e\x3f\x35\xde\x67\xd1\xf2\x9a\x07\xd3\x07\xf4\x3d\x22\xb3\x9a\x07\x79\x2b\x96\xaf\x26\x1a\xc0\x0b\x99\x3b\x07\x1c\x30\xcc\xd7\x8c\xd6\xf0\x60\x1e\x31\xe7\x7b\xc0\x6a\x14\x61\xc8\x90\x37\x60\x43\xde\x0a\x31\xbd\xe7\x8b\x01\x73\x5d\x40\x11\x1f\xb3\x89\x43\xc1\x40\x7f\x41\xb7\x03\x51\x9c\x09\x24\xfb\x00\x12\x44\x9d\x5e\x1b\xc0\x08\x51\xa7\xed\xb5\x01\x0c\xe4\x43\x07\xc0\x58\x3e\x74\x01\x0c\xe5\xc3\x21\x80\x53\xf9\xd0\x03\x70\x2d\x1f\x8e\x00\x9c\xc9\x87\x63\x00\xe7\xf2\xe1\x04\xc0\x95\x78\xf0\x3d\x00\x17\xf2\xc1\x07\x70\x29\x1f\xda\x00\xde\xca\x87\x0e\x80\xf7\xf2\xa1\x0b\xe0\x9d\x7c\x38\x04\xf0\xbb\x7c\xe8\x01\xf8\x2c\x1f\x8e\x00\x3c\x97\x0f\xc7\x40\x02\x7b\x8d\xc6\x8e\x07\xa3\x6c\xac\x81\x03\xa0\xe3\xc1\xc0\xc4\x85\x4e\x8b\x33\x5c\xe9\x94\xd0\xc4\xa5\x4e\x9b\x1a\xc8\xd6\x49\x6b\x83\x18\x74\xd2\xcc\x20\x16\x9d\xb4\x2a\x93\x97\xce\x59\x9a\x44\xa9\xd3\x16\x26\x69\xea\xb4\xdb\x94\x8e\x75\xc2\x7d\x46\xe4\x3a\xe5\xce\xe0\x01\x9d\xf4\x3d\xe5\x10\x9d\xf0\x9c\xe3\x20\x9d\x78\x9e\xb1\x18\x70\xc0\x64\x60\xd0\xd4\x35\x2c\x12\x1c\xcb\xbf\xc3\x22\x81\xb2\xfc\x3b\x2c\x51\x34\x2b\x24\xc0\x3c\x07\x10\xf3\x0d\x9a\x9c\x62\x60\x12\xe6\xf9\x29\x87\x51\x68\xf2\x9d\x81\x57\x98\xe7\xce\x1c\x7e\x61\x8e\x8d\x4d\x34\xc3\x1c\xb7\x9b\xd8\x86\x39\xa1\x60\x22\x1d\x1a\x92\x63\x9e\x3e\x42\x9b\x8c\xb1\x10\x06\xcc\x4b\xa6\x1c\x31\xc0\xbc\x0c\xcb\x11\x0f\x34\x44\x5d\x46\x2d\xd0\x14\x86\x06\xcd\xc0\x9c\xc4\x34\x49\x07\x1a\x62\x35\xa3\x1f\x58\x90\xbd\x79\x42\xca\x49\x69\x83\x9c\xfe\xc9\x93\x41\x2a\x83\xda\xfe\x09\xa8\xfe\xfa\xfd\x07\xf2\xbd\x0e\x5f\x30\x5d\x2f\x31\x0b\xee\x42\xf1\x31\xbc\xc7\xbc\x9f\x02\x03\x5e\xb4\x5c\xfb\xe6\x30\x20\x6a\x08\xd6\x21\xdf\xea\x06\x84\x70\x6b\xb7\xbd\x5d\x0d\x5c\xaf\x02\xba\x77\x0b\xa4\xd4\x82\x14\x9b\x6d\x7f\x57\x0b\xef\xf6\xae\x3e\x2a\x55\x2f\x85\x71\xbb\xbd\xab\xfa\x2f\x7b\x57\x1f\x94\xaa\x97\x22\xbe\xdd\xd9\x55\xfd\xfb\x35\xe7\xd1\xfe\x23\x14\x97\xda\x90\xb3\x47\xbb\xbb\xab\x8d\x8b\xe5\xfd\xde\x0d\x84\xa5\x06\xe4\xac\xd4\x3e\xdc\xd5\xc0\x47\x72\xbf\x66\x78\xef\x36\xa6\xa5\x36\xe4\x84\xd7\xee\xbd\xde\xc6\x59\xb0\x12\xb5\xed\xdd\xd4\xba\xd4\x94\x9c\x52\xdb\x47\xbb\x9a\xfa\x1c\xee\x5d\xff\xac\x54\xbf\x9c\xa9\xdb\xc7\xbb\xea\xff\xb6\x7f\xfd\xf3\x52\xfd\x52\x01\x68\xef\x64\xea\x4f\x64\xef\xfa\x57\xa5\xfa\xa5\x5e\xd1\xd9\xc9\xd3\x1f\x23\xb6\xdc\xbb\x85\x45\xa9\x05\xa1\xb0\xf4\x76\x32\xc5\x05\x5d\xad\xf9\xde\x2d\x2c\x4b\x2d\x48\x4d\xa8\xb3\x53\x6a\x5c\xe3\x10\x4f\xf7\x6f\xe3\xb6\xd4\x86\x54\xb2\x3a\x3b\x45\xc7\x0d\x7e\xe2\x01\xc3\xc1\xde\xad\xdc\x97\x5a\x91\x1a\x5c\x67\xe7\x60\x7d\x0a\xee\xf0\xfe\x04\x75\x57\x6a\x42\xea\x86\x9d\x9d\x02\xe4\x7a\x19\x84\xfb\x37\xf1\xbd\xd4\x84\xd4\x3a\x3b\x3b\x45\xc8\xfb\x30\x9a\x3e\xfc\x63\x1d\xf1\xfd\xc5\xc8\x73\xa9\x1d\xa9\xd4\x76\x76\x8a\x91\xcb\x80\xec\x2f\x3d\xce\x4b\x2d\x5c\xcb\x16\x76\x4a\x8f\x9f\xa5\x72\xb2\x77\x1b\xd7\xa5\x36\x1e\x65\x1b\x3b\x25\xc8\xc7\x28\xe2\x3f\xd0\xc6\x63\xa9\x8d\x1b\xd9\xc6\x4e\x29\x72\x15\xec\xaf\x1a\xdc\x94\x1a\xf8\x2c\x1a\xe8\xee\x14\x23\x3f\xef\xdf\x81\xcf\xa5\xfa\xcf\x64\xfd\xbb\x59\xfc\xfb\xfe\xd3\xde\x59\xa9\x81\x4b\xd9\xc0\x4e\xfe\xbe\x5e\xdf\xed\xdd\xc0\x65\xa9\x81\xaf\xb2\x81\x9d\xac\x7d\xbd\x5e\xed\xdd\xc0\xd7\x52\x03\x4f\xb2\x81\x9d\x8c\x7d\x16\xd0\xef\x41\xbc\x77\x1b\x4f\xa5\x36\xae\x64\x1b\x3b\x39\xfb\x5d\x4c\x66\xfb\x33\xf5\x55\xa9\x89\x77\xb2\x89\x9d\x4c\xfd\x8e\x71\x32\x0d\xf7\x6f\xe4\x5d\xa9\x91\x0b\xd9\xc8\x4e\xbe\xfe\xf2\x03\x1a\xce\x45\xa9\x81\x07\Line truncated
func publicStaticJs2D33d7d47ChunkJsBytes() ([]byte, error) {
return bindataRead(
_publicStaticJs2D33d7d47ChunkJs,
"public/static/js/2.d33d7d47.chunk.js",
)
}
func publicStaticJs2D33d7d47ChunkJs() (*asset, error) {
bytes, err := publicStaticJs2D33d7d47ChunkJsBytes()
if err != nil {
return nil, err
}
info := bindataFileInfo{name: "public/static/js/2.d33d7d47.chunk.js", size: 2422900, mode: os.FileMode(0644), modTime: time.Unix(1603758878, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x3a, 0xf4, 0xdd, 0x78, 0x63, 0x6e, 0xdd, 0xba, 0x6c, 0x31, 0x18, 0xff, 0xeb, 0x44, 0xd8, 0xbb, 0xe8, 0xc8, 0xbd, 0xbe, 0xdc, 0x44, 0xbd, 0xdf, 0x68, 0x1c, 0xd5, 0x36, 0x65, 0xfa, 0xa1, 0x2f}}
return a, nil
}
var _publicStaticJs2D33d7d47ChunkJsLicenseTxt = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xe4\x55\xd1\x8e\xe3\xb6\x15\x7d\xae\xbf\xe2\x36\x4f\xbb\x03\x5b\x5a\xef\xa6\x45\x9b\x14\x8b\xc8\x12\x3d\x66\x20\x4b\x0e\x49\xcf\xac\x9f\x0a\x5a\xa2\x46\xf4\xca\xa4\x4b\x52\x9e\x0c\x90\x1f\xea\x77\xf4\xc7\x0a\xd2\xf2\x8c\x36\x19\xa0\x5b\xa0\x4f\xcd\xcb\x0c\x45\xf2\xde\x7b\xce\xb9\xc7\xbc\xf1\xcd\x44\xef\x0f\xa2\x72\x33\x6e\xad\x7c\x50\x93\x37\xd5\x5b\xa0\x52\xd5\x46\x00\xd5\xa6\xed\xed\xe4\x87\x4e\x56\x42\x59\x01\x6b\xcc\x26\x37\xf1\x64\x12\xdf\xfc\x71\x02\x00\x70\x03\x0b\xad\x9d\x75\x86\x9f\xe0\xfc\x6d\x34\x8f\x3e\xc0\x9b\xd6\xb9\x93\xfd\x2e\x8e\x1f\x84\xdb\x5f\x0f\xa3\x4a\x1f\xe3\xb7\x43\x48\xaa\x4f\x4f\x46\x3e\xb4\x0e\xde\xbf\x9b\xcf\x67\xef\xdf\xcd\xff\x02\xac\x15\xa3\x54\x49\xef\x5a\x6d\xec\x28\x97\x74\x6d\xbf\x0f\x59\xdc\xe3\xde\xc6\xcf\x89\xe3\x07\xc3\x4f\xad\x8d\x2b\xad\x9c\x91\xfb\xde\x69\x63\xaf\x75\xf2\x0b\xe8\x1a\x7a\x55\x0b\xe3\xb1\x7f\x4d\xc2\x7d\xa7\xf7\xf1\x91\x5b\x27\x4c\x9c\xe3\x14\x15\x14\x0d\x09\xaf\xbc\x6f\x20\x13\x4e\x98\xa3\x54\x02\x64\x03\x5c\xc1\x45\x3f\x90\x16\x38\x2c\xfa\xa6\x11\x66\x02\x37\xfe\xe2\x0f\x3c\x30\x01\x80\xa5\x30\xda\x5a\x48\xf6\xba\xff\xdc\xf2\x5a\x1e\x44\x0b\x7f\xbb\xa2\x69\xc2\x61\xa4\xcd\xc3\xc7\x10\x75\x95\x3b\xe8\x3d\x2e\xec\x65\xda\x87\x02\x70\xd4\x75\xdf\x09\x68\x8c\x3e\x82\xd2\xb5\x88\x0e\x76\x0a\x8d\x36\xe0\xfc\x1d\xa3\x1f\xad\x30\xd1\xd7\xc3\xf8\x6f\x50\x18\x71\x12\xdc\xcd\xac\x33\x52\x3d\xbc\xb0\x18\x69\x7a\xd0\xca\x56\x6d\x27\xd5\x67\x61\x5c\xfc\xc5\xfd\x8f\x03\xa6\x17\x17\x78\xbf\xbd\x7f\x37\xff\xd6\x3b\xe1\x4f\x53\xf8\x51\x2b\xa0\xcf\xc1\x9e\xc2\xaf\x3b\xe9\x19\xfa\x6e\x0e\xdb\xd1\x33\x38\x38\xfc\xd4\x0b\xf3\x04\xe7\x0f\xd1\x87\x68\x0e\x33\x7e\xe0\x3f\x4f\xc3\xdf\xf8\x60\xb5\x3a\x0d\xeb\x4e\xf3\x7a\x58\x9e\xb8\xb1\xe2\xd3\x3a\x1f\x3e\x6d\x65\xe4\xc9\x0d\x1f\x67\x6e\xe2\x4e\x57\xdc\x49\xad\x46\x5b\x4a\xab\x4a\x8c\xbe\xcd\x3f\x7c\xcd\x61\xe3\xe7\xd6\x4c\x67\x47\xae\xe4\xa9\xef\x42\x60\xfc\x77\x71\xe6\xdd\xd6\x74\xd3\x99\x38\x0b\xe5\xe2\x0b\x26\xd1\x34\xa2\x72\xf6\x79\x11\xb3\x47\x21\xd4\xcb\x27\x57\xf2\xc8\x9d\xa8\xa9\xe8\x44\xe5\xb4\x81\x5f\x82\x4c\x3f\x52\x58\xea\x5e\xd5\x21\x35\x70\x55\x83\x76\xad\x30\x30\xb6\x3f\xfc\x02\x87\x00\xc9\x77\x32\xbe\x36\xf1\xaa\x90\xe5\x8d\x98\x5d\x2c\x14\x7d\x21\xe2\xd7\x3a\x34\xd6\x27\xa1\xac\xee\x4d\x25\x3e\x0e\x59\x47\x5e\x21\x82\x57\x0e\xce\xef\xa2\xf9\x5f\xa3\xb9\x6f\x9d\xad\x5a\xe1\x8d\x6a\xa2\x93\xd1\x75\x5f\x79\xe0\xd1\x51\xaa\xe8\x60\x5f\x35\xc2\x92\x57\x62\xaf\xf5\xe7\x29\x60\x55\x45\x81\xa2\x74\x16\x78\xd3\xc8\x4e\x72\x27\xec\xd5\xd3\xac\x95\x16\x2e\x38\xa0\xd2\xb5\xf0\xbf\xbe\xee\x75\x9f\x5c\xc1\x35\x5e\x3a\x90\xca\x1f\x04\x5b\x5d\x7e\xde\xd0\xc8\x4e\x0c\xdb\x60\xb4\x76\x50\x4b\x13\x54\x7f\x02\xdd\x80\x1b\x15\x72\x46\xbc\xd8\xed\xb7\xb4\xe7\x7f\x8e\xe6\x1f\x2e\xbc\x8d\xdf\x99\xd5\xfa\xf8\xbb\xe4\x2d\xed\xef\x91\xf6\xff\x25\xe7\x93\x11\x56\x98\xb3\x98\xc0\xf5\xa1\x7e\x0f\xfb\x27\x48\xff\xf5\xcf\xda\xc8\x0a\xd6\xc2\x2a\xd9\x45\x90\x74\x1d\x04\x8a\x16\x86\x80\x3a\x9a\x00\xfc\x81\x88\x5a\xda\xcb\xdb\x74\x7d\xb2\x7a\x1b\xa0\x0c\xf5\xfc\xce\x5e\x2a\x6e\x9e\xfc\xf4\x3a\xda\x29\x3c\x4a\xd7\x82\x36\xe1\xbf\xee\x9d\x9f\x74\xb2\x91\xc3\x3b\x0c\xdc\x08\x38\xf9\xe9\xeb\x9c\xa8\xe1\x64\xf4\x59\xd6\xa2\x06\xd7\x72\x17\xd8\x35\xba\xeb\xf4\xa3\x1f\x4c\x95\x56\xb5\xf4\x41\x36\x04\x1d\x85\xfb\xce\x23\xf2\xb3\x7c\x06\x5f\xe2\xb2\x5e\x85\xb1\xd2\xc7\xde\x3a\x30\xc2\xf1\x41\x33\xbe\xd7\x67\x7f\x74\xed\xa3\xd2\x4e\x56\x62\x7a\x51\xae\x93\xd6\xf9\x04\xe3\x82\xaa\xfe\x15\x9a\x5a\xda\xaa\xe3\xf2\x18\xa6\x32\xbc\x0e\x42\xaa\xb1\x14\x57\x10\x17\x57\x89\xff\x39\x8e\xab\x1f\x6a\x5d\xf5\x47\xa1\xdc\xf3\x50\x89\xb5\x19\xe6\x8a\x9f\x41\x46\xf2\xce\xbe\x08\x1d\xba\x13\xc2\x46\xd0\x43\xab\xd9\x0a\x53\xa0\xe5\x92\xdd\x27\x04\x01\xa6\xb0\x21\xe5\x1d\xce\x50\x06\x8b\x1d\xb0\x15\x82\xb4\xdc\xec\x08\xbe\x5d\x31\x58\x95\x79\x86\x08\x85\xa4\xc8\x20\x2d\x0b\x46\xf0\x62\xcb\x4a\x42\xe1\x9b\x84\x02\xa6\xdf\x84\x83\xa4\xd8\x01\xfa\xb4\x21\x88\x52\x28\x09\xe0\xf5\x26\xc7\x28\x83\xfb\x84\x90\xa4\x60\x18\xd1\x29\xe0\x22\xcd\xb7\x19\x2e\x6e\xa7\xb0\xd8\x32\x28\x4a\x06\x39\x5e\x63\x86\x32\x60\xe5\x34\x14\xfd\x6d\x18\x94\x4b\x58\x23\x92\xae\x92\x82\x25\x0b\x9c\x63\xb6\x0b\xf5\x96\x98\x15\xbe\xd6\xb2\x24\x90\xc0\x26\x21\x0c\xa7\xdb\x3c\x21\xb0\xd9\x92\x4d\x49\x11\x78\x5a\x19\xa6\x69\x9e\xe0\x35\xca\x22\xc0\x05\x14\x25\xa0\x3b\x54\x30\xa0\xab\x24\xcf\x5f\x65\xe9\xb1\x7f\xc1\x71\x81\x20\xc7\xc9\x22\x47\x97\x4a\xc5\x0e\x32\x4c\x50\xca\x3c\x9d\x97\x55\x8a\x33\x54\xb0\x24\x9f\x02\xdd\xa0\x14\xfb\x05\xfa\x84\xd6\x9b\x3c\x21\xbb\xe9\x90\x93\xa2\x9f\xb6\xa8\x60\x38\xc9\x21\x4b\xd6\xc9\x2d\xa2\xf0\xe6\x3f\x48\xb2\x21\x65\xba\x25\x68\xed\x31\x97\x4b\xa0\xdb\x05\x65\x98\x6d\x19\x82\xdb\xb2\xcc\x82\xd0\x14\x91\x3b\x9c\x22\xfa\x3d\xe4\x25\x0d\x6a\x6d\x29\x9a\x42\x96\xb0\x24\x14\xde\x90\x72\x89\x19\xfd\xde\xaf\x17\x5b\x8a\x83\x68\xb8\x60\x88\x90\xed\x86\xe1\xb2\x78\x0b\xab\xf2\x1e\xdd\x21\x02\x69\xb2\xa5\x28\x0b\xea\x96\x45\xa0\xca\x56\xa8\x24\x3b\x9f\xd4\x6b\x10\xc4\x9f\xc2\xfd\x0Line truncated
func publicStaticJs2D33d7d47ChunkJsLicenseTxtBytes() ([]byte, error) {
return bindataRead(
_publicStaticJs2D33d7d47ChunkJsLicenseTxt,
"public/static/js/2.d33d7d47.chunk.js.LICENSE.txt",
)
}
func publicStaticJs2D33d7d47ChunkJsLicenseTxt() (*asset, error) {
bytes, err := publicStaticJs2D33d7d47ChunkJsLicenseTxtBytes()
if err != nil {
return nil, err
}
info := bindataFileInfo{name: "public/static/js/2.d33d7d47.chunk.js.LICENSE.txt", size: 3394, mode: os.FileMode(0644), modTime: time.Unix(1603758878, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xb0, 0x26, 0x0, 0x4a, 0x36, 0x36, 0x2e, 0x97, 0xc9, 0x7f, 0x8c, 0x33, 0xd5, 0xc7, 0x2f, 0x3, 0xe0, 0xf8, 0x3d, 0x27, 0x62, 0x4a, 0xb0, 0x3f, 0x1f, 0xc1, 0x34, 0x9b, 0x89, 0x9f, 0x1a, 0xa}}
return a, nil
}
var _publicStaticJs2D33d7d47ChunkJsMap = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xbc\xfd\x59\x77\xe3\xa8\x1a\x30\x0a\xff\x97\xac\xbe\xac\xec\xea\xa4\xba\x7b\xf7\x7e\xaf\x3e\x4f\xa9\xb8\x2b\x83\xdb\x76\x6a\xe8\x77\x7d\x4b\x0b\x4b\xd8\x22\x91\x84\x0a\x90\x93\xd4\xf9\xf3\x67\x3d\x03\x08\x3b\x91\x13\x3b\xd5\xe7\x06\x01\x62\x12\x82\x87\x67\xe6\xff\x39\x5a\x4b\x63\x95\xae\x8e\xfe\xcf\x87\x77\x47\x56\x37\x26\x95\xf6\xe8\xff\xfc\xdf\xa3\xff\xfc\xe7\x7d\xa5\x33\x99\x94\x3a\x6b\x0a\x69\xdf\x1b\x29\x52\xf7\x5e\x55\x99\x7c\xf8\xcf\xad\x3d\x7a\xf7\xa4\xc0\x42\x6b\x67\x9d\x11\xf5\xf1\x6f\xc7\x54\xb8\x50\x8b\xf7\x8d\x53\x85\x72\x4a\xda\xfd\xab\xa6\xba\xac\x75\x25\x2b\x67\xdf\x67\xba\xdc\x55\x7f\x69\x9d\xc5\x2a\x3b\xca\xa8\x2a\x97\x46\xb9\x36\x92\x2c\x8c\xbe\xb7\xd2\x3c\x5f\xdc\x8a\xa5\x3c\x5e\x34\xcb\xa5\x34\x5b\xad\xfe\xe7\x3f\xef\x7d\xa1\x73\x65\x9d\x36\x8f\x03\x5d\x39\xf9\xe0\x9e\x2b\x91\x1a\x29\x9c\xbc\x12\xa5\xdc\x51\x68\xaa\x1b\x27\xcd\x8b\x05\x9e\x7b\x73\x29\x4b\x6d\x1e\xbb\xdf\x5f\xa8\xa5\x4c\x1f\xd3\x42\x3e\xf7\xb2\x14\x2e\xcd\x27\xc2\xe5\x9d\x7d\x3e\xf7\x62\xe6\x84\x53\x69\x77\x97\xb3\x7b\xe5\xd2\x67\x9b\xcc\xb5\xbe\xb3\xcf\x4f\xf7\xff\x6f\x21\x16\xb2\x78\x6f\x9a\xca\xa9\x52\xbe\xcf\x65\x51\x4b\x63\xdf\x4b\x5b\xbe\x97\x0f\x4e\x56\x59\x47\xbd\xda\xe8\x54\x5a\xfb\x7e\xe7\xbf\x7c\xf6\x37\x6e\x94\xb8\x97\x8b\x5a\xa4\x77\xef\x17\x8d\x2a\x32\x55\xf1\x88\x0f\x5b\xe7\x69\x21\xac\x85\x3f\xfe\xba\xae\x56\x85\x5e\x88\x62\xef\x59\xf1\xab\xf8\x42\x6b\xdb\xd1\x93\x53\xd5\xe3\xb1\xaa\xd6\xc2\x28\x51\xb9\xf7\x99\xb2\x6e\x2b\xef\x3f\xd2\x96\x1d\xbb\xc5\x1e\xdf\xe7\xca\x49\x5b\x8b\x54\x1e\xa7\xb9\x30\x22\x75\xfb\xcd\xa1\x28\xb3\xe3\x4c\x2e\x55\xd5\x31\xbc\x52\x55\xaa\x14\x85\xb2\x4e\xa5\xc7\xc2\x5a\x69\x76\x82\x17\x59\x14\xaa\x76\x2a\xc5\xd9\x0e\x09\x98\xf6\x8e\xa5\x61\xa4\xd5\xc5\x5a\x1e\xd7\xc2\xe5\x95\x28\x25\x4e\xdb\x76\xe6\xf3\x55\xd7\xa2\x68\xe4\xb1\xfc\xde\x88\x02\x6b\x45\xe9\xe7\x2b\xe4\x04\x08\xb0\x30\xc7\x9f\x2f\x98\x9a\xc7\xda\xe9\xe3\x5b\xfb\x3e\xd5\xa6\x6b\x81\xc1\x4f\x3f\xae\x8d\xb4\xd2\xd1\x0a\x3b\x16\x75\xfd\xea\x95\x41\x53\x39\xcf\x95\x1d\x57\xca\x29\x51\xa8\x1f\x32\xeb\x18\xb6\xb0\xb0\x51\x71\x4a\x21\xbe\x6b\x3a\x03\x8c\x2d\xf4\x6a\xb5\x7b\x25\xbc\x08\xce\x97\xda\x94\x90\x2e\x75\xf5\x7c\x0b\xb8\xe5\xdf\xab\xb2\x6c\x9c\x58\x74\x6d\xc4\xb0\x08\x36\x3b\xaf\xfc\x17\x2d\x3a\x1a\xaf\xc5\x9d\x0e\x7b\xd6\xee\x1c\x47\xaa\xea\x5c\x9a\xe3\x85\xb0\x72\xd7\x07\x5b\x67\xa4\x28\x8f\x19\x08\xa9\xe5\xe3\x93\xa3\x33\x83\xcf\x38\xa6\x72\xd8\x77\x42\xf1\x24\x6b\xea\xa2\xab\xd9\x1d\x3f\x59\x2f\x6e\x65\xea\xbe\x28\x97\xeb\xc6\x4d\x8c\xae\xa5\x01\xe0\xb3\x0b\x1a\x18\xb5\xf3\x0c\x7d\x6e\xfb\xea\xda\x29\x5d\x75\xed\x2f\x51\x65\xba\x5c\x3c\x3a\xf9\x02\xf8\xdd\xfe\x7c\x69\x8c\x36\xf6\x78\xaf\x3a\xaf\x9d\x32\x9b\x0b\xf8\xfd\xbc\xb0\x9f\x3f\x30\xea\x63\xf7\x58\xbf\x80\x90\xbc\x71\x0b\x1a\x23\x1e\x2f\xd4\x9d\x9c\xeb\x1e\x44\xff\x95\x4e\x6c\xa1\x52\x99\xfd\x9b\x3d\xe0\x67\xc0\x1a\x3b\xd7\x85\xec\x58\x05\x6f\xec\x42\x39\x69\xe0\x3f\xf3\x67\x5c\xa8\x52\xb9\x7f\xa5\xa3\xa6\xb2\x4d\x5d\x6b\xe3\x64\x36\xde\xec\xf3\x5f\xe9\xae\xd2\x95\xef\x66\x2a\x6d\xc7\x27\x05\x90\xfa\xd7\xec\x85\x02\x43\xb9\x56\x69\xc7\xc6\x26\x14\xf3\x18\xe1\xf7\xce\x3d\x25\xd7\x08\x7c\xe9\xd1\x09\xc8\x54\xb5\x4a\x32\x99\xea\x4c\x1a\xec\x7a\x33\xab\x63\x08\xda\xc8\x63\x80\xa6\xc7\xca\x06\xc8\xba\x0b\x17\x3b\x7e\xd0\x3b\x4f\x90\x27\x07\xd3\x2e\x20\x2d\x6c\x75\xe2\x0b\x43\xfc\x3d\x82\x6b\xea\xa8\x13\xbb\xc9\x64\x0a\xd8\xc7\xae\x41\x34\x95\xb2\x8e\x3e\x6b\xad\xac\xda\x89\x9d\x30\x1e\x7a\x5c\xc9\x07\xa7\xd2\xbb\x63\x61\x56\xbb\x01\x4c\x38\x2a\x8e\x05\x7c\x42\xd7\xf6\x92\xeb\x3a\x41\x10\xeb\xf4\x9d\x7c\xdc\x1f\x3f\x4a\x1b\xb3\x96\x38\x21\x5d\x67\xa1\xb1\xf2\x18\x67\xed\xdf\x03\x87\x88\x11\x0f\x44\x51\x0c\x72\x99\xde\xfd\x3b\x5d\xe0\x26\x18\x40\x47\xff\x4a\xfb\x2b\x09\xa7\xac\xd3\x70\x72\x5c\x2f\xff\x1d\x50\x68\xaf\x84\x53\x6b\x39\x95\xcb\x42\xa6\x6e\xa0\x2b\xeb\x4c\x93\xfe\x3b\xe0\x10\xbe\x43\xff\x3b\xdf\x51\x6b\x6b\xd5\xa2\x90\xe1\x03\xb4\x99\x4a\xd7\x98\x8e\xdd\xfb\x53\x7e\xfc\xac\xa9\x3b\x89\xbf\x37\x9e\xb2\xff\x1f\xfc\x78\x26\xe5\xf6\x41\xa6\x77\x6c\xd6\x96\xc4\xe8\x84\x2a\x2f\x91\xb0\x75\x63\xea\x4e\x44\xf2\x55\xcc\x9a\x71\x55\x37\x5d\x2b\xf7\xa5\xfa\xfd\xc6\xb9\x2e\x58\xff\x3a\xd2\xe2\x4c\x9b\x12\x61\xcd\x5b\x86\xa1\xa0\xee\x47\xa3\x9b\x9a\xbe\x06\xa3\xf3\x98\x43\xf3\x0c\x24\x95\x95\x7b\x91\xdb\x65\x64\x2d\x85\x3b\xa6\x83\x75\x57\x41\x40\xd9\x8f\x9d\x11\xaa\x50\xd5\xea\xb8\x50\xd5\x4b\xed\x96\xc2\xdc\x1d\xe3\x40\xc2\x0f\x7d\xaf\x2a\x27\x8d\x69\xea\x8e\x61\x3f\x5f\xa9\xd2\xa6\x44\xc2\xb1\x13\x3b\x4f\x1d\x9c\xf5\xbb\x4e\x44\x4f\x65\xfd\x80\xa0\x94\xd6\x8a\x55\xd7\x7a\x2c\xb3\xdf\xe1\x00\xdf\xf9\x6d\x4f\xe9\x01\xfc\xb2\x4a\x14\x4c\x7e\xd9\xf7\xb2\xca\x8e\xf5\x92\x8b\x74\xb4\xa3\x6a\x59\x66\x27\x7f\xfc\xba\x93\x9c\x23\x22\xe2\xe7\x11\x7c\x21\xbd\x9b\xe5\x78\x38\x15\x79\x6f\xd4\x0e\x42\x39\xc3\x79\xc7\x0a\x59\x20\x6a\x5f\x85\x97\xec\x66\xab\x6d\x96\x2d\x75\xf6\x02\x51\x65\x34\xd0\x8c\xaf\x44\x8b\xac\x5a\x55\xaf\x65\xc9\x76\xb5\x61\xac\xd8\x1b\x65\xda\x1b\xbb\xea\x58\xd3\xLine truncated
func publicStaticJs2D33d7d47ChunkJsMapBytes() ([]byte, error) {
return bindataRead(
_publicStaticJs2D33d7d47ChunkJsMap,
"public/static/js/2.d33d7d47.chunk.js.map",
)
}
func publicStaticJs2D33d7d47ChunkJsMap() (*asset, error) {
bytes, err := publicStaticJs2D33d7d47ChunkJsMapBytes()
if err != nil {
return nil, err
}
info := bindataFileInfo{name: "public/static/js/2.d33d7d47.chunk.js.map", size: 6312587, mode: os.FileMode(0644), modTime: time.Unix(1603758878, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xc4, 0xe8, 0xa1, 0xf9, 0x9c, 0x9e, 0xfc, 0xef, 0x92, 0x88, 0xf2, 0x97, 0xab, 0x2e, 0x1e, 0x57, 0xe4, 0xbf, 0xf, 0x4f, 0xa, 0xe1, 0x82, 0x74, 0xb6, 0xb7, 0xf9, 0x1e, 0xb7, 0x56, 0x49, 0xc7}}
return a, nil
}
var _publicStaticJsMainB55c2acbChunkJs = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xbc\x3a\x6b\x73\xdb\xb6\xb2\xdf\xef\xaf\x80\xd1\x8e\x0b\x1c\x41\xb4\x28\x3f\x43\x95\xf1\x24\x4e\xda\xa6\x4d\x9c\x34\x4e\xfa\x38\x8a\x4e\x07\x22\x57\x12\x63\x0a\x60\x01\xc8\x8a\x6a\xf3\xbf\xdf\x01\x40\xea\x61\x51\x6e\x32\xf7\xf4\xfa\x83\x45\x2c\x16\x8b\xc5\x62\x9f\x00\x88\x99\x64\x3a\x98\xc3\xb0\xe0\xc9\xf5\x8f\x5a\x8a\xa2\xe0\xda\x40\xdc\x0c\xbe\xbb\xeb\x0f\x68\x50\xcc\xf4\x84\xf4\xfb\x9d\x01\xbb\x0d\xcf\x3a\xd1\x68\x26\x12\x93\x49\x41\x80\x19\x26\xe8\x2d\x04\xf0\xa9\x90\xca\xe8\x58\x90\xd3\x93\x90\x96\x2c\x3c\x3b\xde\xc2\xb2\xd0\x93\x06\xe8\xe1\xe9\x51\x03\xf4\xe4\x64\x73\x1e\x0f\x3b\x6e\x80\x9d\x6e\xc3\x4e\xcf\xb6\x61\x67\xdb\xf4\x4e\x3b\xdb\x63\x4f\x3b\x8f\xb6\x61\x61\xc3\xd8\xf0\xa4\x01\xb6\x3d\xef\xe9\x61\x03\xde\x61\x03\xde\x71\xc3\x1c\xc7\x87\xdb\xb0\x93\x70\x4b\x5a\x78\xa6\x01\x69\xa3\xb2\xc4\xe0\x9e\x08\x14\x31\xb4\x77\xc3\x15\xe2\x4c\xc5\x82\x74\x28\x93\xb1\x08\x04\x51\x94\x65\xb1\x20\xe1\x69\x48\x59\xe2\x20\x19\x65\x3a\x26\x82\x84\x67\xc7\x94\x09\x72\x7c\x4c\x29\xcb\x63\x41\x8e\x4f\x28\x9b\xd9\xdf\x33\xca\x0a\xfb\x7b\x4a\xd9\xd4\x0d\x3d\xa3\x6c\x12\x0b\x72\x42\x59\xea\x07\x9e\xd8\x81\xe1\x69\x97\x52\x36\x8a\x05\x39\x3c\xa3\x6c\x11\x0b\xd2\x0d\x29\xbb\xb1\x23\x1f\x51\x36\xb6\x98\x87\xa7\x47\x16\xf3\xf0\xf4\xd8\x0f\x38\xa4\x94\x0d\x1d\x13\x63\xca\x9e\x3b\xda\x47\x94\x7d\x72\x90\xe7\x94\xcd\x63\x41\x1e\x1d\x53\x76\xe5\x00\x73\xca\xae\x2d\xe0\x84\xb2\x4b\x07\xb8\xa6\xec\x22\xee\xf4\xc4\x2c\xcf\xe3\x38\xce\x65\xc2\xf3\x2b\x23\x15\x1f\x43\x30\x06\xf3\xc2\xc0\x94\x60\x0d\x5a\x67\x52\xb4\xb3\x14\xd3\x73\x1e\xf7\x49\x3f\x84\xd3\x41\xab\x1d\xc2\x61\xab\x7d\x64\xff\x9d\xd9\x7f\x21\x84\x21\x0d\x14\x14\x39\x4f\x80\x1c\xf4\x3b\xe1\xd9\xe0\x60\xcc\xc8\x4a\xc8\xf4\x56\x81\x99\x29\x41\x08\xfc\x27\x3c\xde\x4f\xd4\xa2\x30\xd2\xce\xf3\x96\x8b\x54\x4e\x7f\xe1\xf9\x0c\x34\x11\x30\x47\xef\x33\x61\xce\x9e\x28\xc5\x17\x24\xa4\xb4\xdf\x19\xd0\xc7\x8f\xe1\xe0\x88\x06\x46\x5e\x19\x95\x89\x31\x09\x4f\x68\x49\x29\xeb\x0c\x22\xc2\x3f\x83\xef\x40\x17\x79\x66\x08\x8e\x30\xa5\xfd\x70\x10\x93\x82\x2b\x0d\x2f\x84\x21\xbc\x1f\x0e\x58\x78\x42\x5b\xe1\x1a\xf5\xc3\x13\xbf\xf1\x1f\x63\x1e\x7c\x94\x99\x70\x03\x7b\xf5\x4a\xd0\x6b\x52\x2f\x05\xdd\x57\xa1\x1b\x99\xa5\xa8\x13\xc7\xb1\xd8\xdf\x27\x22\xbe\x2d\x29\x5b\x81\x82\x09\xf0\x14\x94\xb6\x5d\xf5\xb7\x45\xf1\x4a\x16\x6f\xd0\xe2\x4c\x31\xc9\x32\x7a\x3b\x92\x8a\xd8\xfe\x04\x65\x02\x2d\x69\xa9\xfd\x7d\xa2\x1c\x79\x45\xb3\x11\x51\xc1\x84\xeb\xd7\x73\xf1\x46\xc9\x02\x94\x59\x90\x84\xd2\x5b\x3b\x4a\xc7\x38\xc2\xad\xa4\xc7\x03\x0d\x5c\x25\x13\xa2\xe9\xe3\xce\xfe\x3e\xe1\x31\x5f\xee\x95\x66\xaa\x9f\x0c\x28\x4b\x21\x07\x03\xc8\x35\xca\x6a\x7d\x22\x98\x82\x99\xc8\x34\x36\xd5\x3a\xf6\xe2\x58\x3a\xfe\x87\x32\x5d\xc4\x58\x3b\x81\xe1\x38\x8e\xcd\xa2\x00\x39\x42\xf2\xee\x4e\xa2\x4c\x68\xc3\x45\x62\xdb\x5e\xa2\xe7\x32\xfa\xf1\xea\xf5\x65\xe0\xd1\xb3\xd1\x82\x48\x4a\x57\x14\xc1\x09\x0b\x88\xa0\x94\x2d\x25\xd3\x5f\xdf\xc1\x41\xfc\xb1\x65\x57\x42\x2e\x5a\xad\xcd\x8d\x62\x23\x30\xc9\x84\x70\x26\x68\xd9\xf3\x5c\xdf\x8e\xc1\xac\x8c\x5b\x30\xb5\xdc\x2e\x4e\x0c\xc3\xdf\x3f\x7f\x87\x19\x30\x51\xcd\x4f\x4b\x56\xcc\x36\xf1\x99\xdc\x1c\xf1\xe6\x7d\x35\x42\x59\x64\xa9\xff\x06\xfb\xf5\xd5\x3a\x3a\x37\xc9\xe4\x61\xfc\x27\xef\x2e\x7e\x58\x0d\x48\x21\x7f\x80\xf9\x67\xcf\x5f\x3e\x7f\xf7\xfc\x1e\xff\x7e\xe7\xbe\x74\x94\x82\xa9\xbc\xf9\xd2\x51\x65\x59\x6e\x98\x9b\x6e\x30\x37\xf6\xd1\xab\xf4\x1b\xe7\x8e\x8e\x29\x7b\xe7\x9c\xcd\x1b\xca\x9e\x59\xef\x73\x4a\xd9\x4b\x07\x78\x46\xd9\x13\xeb\x04\x3b\x94\xbd\x70\x80\x27\x94\xbd\xb5\x18\x47\x94\x3d\x75\x80\xb7\x94\xbd\x77\x44\x4e\x28\xfb\xcb\x41\xde\x53\xf6\x93\x83\x9c\x52\xf6\xab\x83\xfc\x44\xd9\x0f\xf1\x25\xa1\x84\xb2\x57\xf1\x6b\x42\xd9\x8f\xf1\xb6\xcf\x41\x70\xfe\x34\xe0\x6b\xfa\x07\xeb\xbe\x2a\x1e\xb4\x0e\x18\xc6\x6b\xa0\x0f\x07\x07\x63\x86\xff\xd8\x00\xb5\x2c\xa8\x8d\x69\x84\x71\xc9\xfe\x68\x9a\xe4\x47\xf2\x8e\x50\xf2\x92\x50\x02\x94\xd2\x92\xfd\xd2\x84\xb4\x0e\xaa\x8d\xdb\xc4\x18\x33\x61\x3d\xf1\xb7\x10\xe4\x20\xc6\x66\xd2\x13\xad\x16\x35\xad\x98\xe0\x0e\x6e\x41\x5f\x0c\x36\x9c\x1f\x0d\x74\x9e\x25\x40\xda\x5d\x5a\x29\x3d\xfa\x2b\xe0\x81\x73\x6b\xc4\xd0\x92\x5c\x05\x3c\x18\xff\x95\x15\x96\x93\x92\x7d\x1d\xdf\x77\x54\xd9\x88\x08\xef\x22\x78\xfc\x22\xe0\x41\x0a\xce\x1f\xbb\xf0\x58\x53\xe4\x1b\xec\x3b\x3e\x99\xb0\x9e\x29\x86\x60\x2e\x55\xaa\x6d\x40\xdc\x74\xd7\x47\xff\x52\x15\xff\x36\x48\x76\x7a\x76\x81\x7e\x5d\x35\xbc\xd7\x6a\x09\x6a\xc1\x26\x56\x7d\x31\x60\x3c\x3e\xec\xf1\xc7\x71\xa7\xd7\x6e\x73\x2a\xfb\x59\xab\x35\x88\xcd\xe3\xc7\x67\xff\xe2\xfb\xdd\xe3\xe3\x9a\x15\x59\x12\x4e\xd9\xdf\x8a\x6e\xb8\x30\xf0\x72\x25\x3e\xeb\x29\x49\xd8\x3d\xdb\xb7\xf2\xa3\xe7\xa6\x15\x7b\x09\x06\x23\x25\xa7\x17\x13\xae\x2e\x64\x0a\xc4\x75\x46\xe1\xa3\xae\xc5\xee\x76\x8f\x3c\xf6\xfe\x7e\xd8\x3d\x73\xe3\x1f\x75\x2d\xa4\x15\x0e\xe8\x39\xd9\x41\x82\x90\xc3\xd0\x0f\xfb\xf6\xdb\x13\xda\x22\x27\x87\xf5\x10\xca\x44\x2b\x0e\x69\xd4\xed\x1e\x39\xf2\x47\x9d\xdd\xe4\xb7\x60\xdd\x07\xa7\x0c\x8f\xeb\x29\xc3\x2e\x6d\x91\xLine truncated
func publicStaticJsMainB55c2acbChunkJsBytes() ([]byte, error) {
return bindataRead(
_publicStaticJsMainB55c2acbChunkJs,
"public/static/js/main.b55c2acb.chunk.js",
)
}
func publicStaticJsMainB55c2acbChunkJs() (*asset, error) {
bytes, err := publicStaticJsMainB55c2acbChunkJsBytes()
if err != nil {
return nil, err
}
info := bindataFileInfo{name: "public/static/js/main.b55c2acb.chunk.js", size: 14020, mode: os.FileMode(0644), modTime: time.Unix(1603758878, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x38, 0xa2, 0x31, 0xa6, 0x58, 0x87, 0xc1, 0x7e, 0xa3, 0x3d, 0x8a, 0x46, 0x4b, 0xfa, 0x22, 0xa2, 0xc7, 0x54, 0xb3, 0x8f, 0xb8, 0x9f, 0x41, 0x93, 0xd4, 0x29, 0xaa, 0xfa, 0xbc, 0xf1, 0xf9, 0xf8}}
return a, nil
}
var _publicStaticJsMainB55c2acbChunkJsMap = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xd4\xbd\x8b\x57\xe2\x4a\xf2\x38\xfe\xaf\xf4\xb0\xf7\x5c\xe0\x63\xe4\xe1\x7b\x1c\x75\x4e\x27\x44\x44\x44\x54\x74\x1c\x47\xfc\xec\x0d\xd0\x40\x24\x24\x99\x24\x80\x8f\xeb\xff\xfe\x3b\x55\xd5\x79\x82\xde\xb9\xbb\xfb\xd9\xef\xf9\xdd\x3d\xeb\x24\xdd\xd5\xd5\xd5\xd5\xf5\x4e\x27\xbc\xe6\xe6\xc2\xf3\x4d\xc7\xce\xed\x6f\x2a\x39\xdf\x99\x79\x7d\xe1\xe7\xf6\xef\x73\xae\xe1\x07\xa2\x7c\x25\xa6\x4e\x20\x3a\xc2\x9b\x9b\x7d\x51\x7a\xf4\x73\x8a\xec\xb8\x80\xbf\xd4\xc0\x5d\x97\x2e\x3c\x31\x32\xfd\x40\x78\x12\xfc\xd6\xf1\x26\xc2\xa3\x2e\xd3\x1e\x88\x27\xb8\x7c\x50\x72\xb6\x31\xa5\x29\xa0\x43\x6b\xdf\x9c\x5f\xeb\x57\x39\x25\x67\x39\x7d\xc3\xea\x04\x8e\x67\x8c\x44\x4e\xc9\x8d\x44\xd0\x08\xc4\x14\xd1\xba\x96\xd1\x87\xb6\x3e\xfc\xdf\x7b\x76\x03\x87\x00\xae\x0c\x7b\xe0\x4c\xbf\x19\xd6\x4c\x00\xae\x1b\xd3\x0e\xf6\xb8\xe7\x19\xcf\x39\x25\x17\x38\x9d\xc0\x33\xed\x51\x4e\xc9\xf9\xae\x65\x06\x48\xb9\xe7\x8b\x86\x0d\x97\x1d\xbd\xd3\x69\xb4\xcf\x73\x4a\xee\xd1\x31\x6d\x9c\x24\xb1\xd0\x9c\x92\x9b\x79\x56\x4e\xc9\x0d\xa1\xab\xef\xd8\x43\x13\xf0\xcc\xec\x81\x18\x9a\xb6\x18\xe4\x94\xdc\x58\x18\x03\xe1\xc1\xac\xe2\x49\xf4\x67\x01\x8c\x99\x8a\x60\xec\x40\xe7\xcf\x99\xf0\x9e\x71\xc2\x67\xcb\x31\xa0\xc5\x84\x21\x86\xdf\x5e\xd8\x17\x9e\xe3\x0a\x2f\x80\x6e\x5b\x88\x81\x05\x03\x7d\x61\x78\xfd\x71\x4e\xc9\xf5\x9c\x01\x74\x44\x94\x9f\x76\x90\x46\x1f\xef\xcd\x21\xf4\x0d\x45\x80\xa0\x23\x81\x4b\x9a\xe1\x5f\xc7\xa7\xf5\x51\xd7\x40\x58\x88\x34\x62\x20\x71\x41\x88\x81\x87\x0c\xc3\xe5\xfe\x84\xe9\x76\xb6\x72\x4a\x4e\xe5\x1d\x1d\x2f\xfa\xe3\x49\x4e\xc9\x5d\x35\x2e\xf4\x56\xad\xba\x53\x01\x42\x4e\xf8\xc6\xf6\x4e\x4e\xc9\xbd\x98\x2e\xf0\x54\x3c\xc1\x3c\x33\x03\xb6\x4b\xd8\xa3\x00\x66\xf3\x2d\xe2\xd8\x89\xfe\x3d\xe4\x31\xc0\x54\x77\x0c\xbc\x9d\xe0\x5e\xd1\xf8\x81\x80\x1d\x84\xab\x17\xc0\xf6\x04\xc2\xa3\x77\xa8\x03\xb6\x35\xa7\xe4\x16\x30\x6a\x0e\xfb\x02\x37\xf0\x7f\xc7\x1b\x00\x9b\x7b\x39\x25\x07\xe4\xcd\xf6\x00\xa2\xf7\x1c\x88\xb3\x90\x82\xa1\xe7\x4c\xb5\xb1\xe1\x69\xce\x40\x10\xb7\xf6\x50\xe4\x86\x96\x81\xfb\x72\x73\x7d\x0c\x0d\xbd\x88\x64\x20\x69\x16\x0c\xf7\xa2\x06\xdc\x66\x89\x81\x03\x19\x17\xbc\x73\xad\xff\x93\x5f\x34\x00\xdf\xb3\x1d\x18\x4f\xc0\x4b\xda\x6e\xd7\xf4\x44\x78\x87\x6a\xa0\x79\x82\x26\x12\x9e\xe7\x78\x80\xdf\xee\xcc\x7a\x53\x94\x39\xc7\xd6\xc6\x86\x8d\x12\x4d\x78\x22\x14\x40\xd1\xcc\x83\x99\x85\x1d\x78\x8e\x8b\x02\x63\x19\x28\x8d\x7d\xcb\xf0\xfd\x73\x63\x2a\x90\x23\x9e\x4d\xd2\x60\x53\xc3\x10\xe7\x30\x41\xac\xe6\x20\xfa\x20\x79\x06\x30\x75\x22\x50\xf0\x9f\x5d\x41\x3b\x3c\x33\x3d\x94\x55\xcf\x59\x00\xad\x63\x4f\x0c\x01\x9f\x69\x0f\x9c\x85\x54\xb8\x00\x34\x5f\xc9\x39\x9e\x39\xc2\x89\x07\xce\xc2\x96\x22\x8b\x4b\xfb\x66\x8a\x05\x89\xee\x38\xde\xa6\x26\xce\x43\xab\x00\xc4\x7d\xd3\x1d\x0b\x5a\xf7\x39\x82\x3b\xb6\x46\xeb\x81\x7d\x6f\xbb\x81\x4f\x6d\x96\xd9\x9f\x20\x65\xc6\xa0\x6d\x5b\x88\x03\xe8\x35\x3c\x92\x65\x5f\x58\xa2\x8f\x17\x68\x85\x42\x12\x80\x2d\x9e\xe3\x02\x0e\x7f\xd6\xf3\x23\xa5\x0e\x88\xe7\x7e\x60\x78\x81\x1e\x71\xb0\x67\xda\x40\xbc\x31\x18\xc4\x6d\xc2\x0e\xa5\x4b\xcc\x85\x8d\xd4\xf4\x9d\x19\xda\x01\xd2\x21\x5c\x9c\x6b\x8c\xc4\x77\xf9\xef\x1d\x71\x53\x0a\x54\x8d\x66\x0a\xc6\xa6\x8f\x2c\xea\xcf\xa6\x02\x47\xc3\x2c\x80\xf1\x0c\xcc\x9e\x8d\x2c\xf0\x45\xd0\x91\x94\xe1\x64\x28\x58\xa2\x3f\xc1\x8d\x70\x3d\x6c\xab\x89\xa1\x31\xb3\xa0\x6b\x6c\xfa\x81\x83\xa6\x22\x18\x0b\x3b\x32\x2b\xb0\x39\xd0\xe6\x99\xa0\xab\x03\x69\xc2\x90\x25\xe2\x09\x15\xd1\x39\x03\x6b\x29\x80\xb2\xc8\x58\x84\x8d\xd7\xe6\x34\x6e\xb4\x0c\xfc\xc7\xb4\xc9\x52\x78\xc8\x1d\x7f\x0c\x3a\x64\xa3\x14\xb4\x7b\x8f\xc4\x75\x90\x42\x13\xf7\xd3\x23\xa3\xe7\x3b\x68\x9c\x2c\x07\x10\x38\xb4\x73\xc8\x3b\x69\x66\x6c\xf1\x14\x5c\xc8\x9d\xd1\x9c\xa9\xeb\xd8\xb4\x5e\xee\x02\x89\x86\x6b\xd2\x08\xd7\xb1\xd1\x22\xf4\x0c\x5f\x48\x09\x3e\xf6\x8c\x91\x64\xa1\x6b\xa0\x02\xf6\x13\xe3\x4d\x1f\xd7\x31\x26\xa3\xa6\x3a\x8e\x25\x0c\xe4\x8d\xe3\x07\x12\xc1\x54\x92\x10\x7a\x9c\x6f\x86\x65\x0e\x3a\xb7\xb0\xb4\xc5\x0d\x5a\x6e\xdb\x98\x9b\x23\x23\x70\x68\x4f\x12\xfe\x28\x31\x2a\xba\xf4\x22\x3d\xb0\x67\xee\xc0\x08\xc4\xd0\x99\x21\xa3\x4c\xdb\x0f\x0c\xcb\x32\xed\x51\x34\x38\x6e\x42\x78\x14\xc3\x7e\xa8\xe2\x7d\x07\x84\xce\xb2\x10\xf2\x4a\x18\xfd\xa0\xd6\x6e\xe1\x34\x36\x6d\xeb\x48\x04\xba\x25\x60\xed\xea\x73\x03\x66\xb8\xb9\x3a\x23\x01\xef\x0b\xdf\x97\x62\x3d\x8b\x3c\x66\x7b\x28\xf5\xe5\x19\xdd\x4f\x8a\x70\xa9\xa6\x28\x5d\xb4\xfe\x77\x96\x99\x6e\x7f\x40\x6b\xe1\x9a\xf6\xc8\xcf\xed\xe7\x36\x04\x6f\x9a\x2a\x57\x74\x65\xe3\x9c\xf3\x9e\xa6\xe8\x9c\xdf\x28\x3a\xd7\x76\x54\xa5\xcd\xf9\x5c\xd3\x14\x83\x73\x43\x53\x2e\x39\xbf\x54\xfa\x5c\x9b\xab\x27\x00\xd3\x50\x74\x7e\x7e\xa2\x68\x9c\x6b\x4a\x8b\xf3\x96\xd2\xe4\xbc\x99\xf8\x03\x6d\x0d\x1a\x74\x03\x18\x3b\x1c\x20\xeb\xf0\xe7\x92\x6b\xdb\x1a\x07\x24\x4e\x0d\x5a\xca\x9a\x06\x53\xb5\x35\x65\xa4\x72\x3e\x52\x95\x06\xe7\x0d\x4d\xb9\xe5\xfc\x16\x2f\x01\xa1\x21\x27\xad\x73\x5e\x6f\x00\xb2\x8e\xd2\xe6\x4d\x5b\x57\x1a\x5c\xef\x5d\x63\x9f\x9e\x26\x94\xf7\xdb\x44\x58\x8b\x6b\x9b\x1a\x20\x6a\x6Line truncated
func publicStaticJsMainB55c2acbChunkJsMapBytes() ([]byte, error) {
return bindataRead(
_publicStaticJsMainB55c2acbChunkJsMap,
"public/static/js/main.b55c2acb.chunk.js.map",
)
}
func publicStaticJsMainB55c2acbChunkJsMap() (*asset, error) {
bytes, err := publicStaticJsMainB55c2acbChunkJsMapBytes()
if err != nil {
return nil, err
}
info := bindataFileInfo{name: "public/static/js/main.b55c2acb.chunk.js.map", size: 36471, mode: os.FileMode(0644), modTime: time.Unix(1603758878, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xee, 0x1e, 0x38, 0xff, 0x34, 0xcb, 0xf5, 0x1a, 0x59, 0xc4, 0xbc, 0xe7, 0xa1, 0xf, 0x44, 0x23, 0x8b, 0xf0, 0xa0, 0x9f, 0x46, 0x76, 0xf5, 0x41, 0x81, 0x7f, 0x1, 0x44, 0xa4, 0xd3, 0xbc, 0xcd}}
return a, nil
}
var _publicStaticJsRuntimeMainA4bc2b48Js = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x8c\x54\xdf\x8b\xe3\x36\x10\x7e\xef\x5f\x91\xb8\x20\x24\x32\xab\x75\x96\x7d\x38\xe2\x1d\xfa\x5e\x7a\x5c\xe9\xb5\x4f\xc6\x1c\x8a\x23\x27\xba\x2a\x92\x90\x47\x77\x5d\xbc\xfe\xdf\x8b\x9c\xd8\xb9\xdb\x76\xe1\x20\x90\xb1\x34\x3f\xbe\xf9\xbe\xd1\xac\xbb\xe4\x5a\x32\xde\x71\x2d\x86\xd9\x5e\x11\x27\x31\x74\x3e\xf2\x2f\x2a\xae\x1c\x58\x50\x48\x75\xd9\x80\x41\xaa\xb7\x0d\x04\xa4\xfa\xa1\x81\x16\x4b\xe8\xb1\x6e\xaa\xf6\x49\x49\xab\xdd\x91\x4e\x55\xbb\xd9\x08\x8b\xaa\x6e\x1b\xf8\xb0\xff\xac\x5b\x92\x21\x7a\xf2\xf4\x1c\xb4\x3c\xa9\xfe\xc3\x57\xf7\x7b\xf4\x41\x47\x7a\x96\xad\xb2\x96\x7b\xb0\x82\x31\x5f\xdb\x86\xb1\x5e\x86\xd4\x9f\x78\xfe\xa8\xcb\x46\x40\x36\xb0\xac\x32\x0e\xb7\x32\x6e\x65\xc4\x0f\xa5\x34\xe0\x04\x63\x5c\xd7\xae\x41\x53\xbb\x46\x4c\x19\x3a\xc6\x3a\x4e\xa2\xea\x67\xa4\xa2\x97\xfd\xc9\x74\xc4\x05\x17\x55\xd4\x94\xa2\x5b\xa5\x09\x81\x54\x21\xd8\x67\x9e\x20\xbc\xbc\xd4\x8d\x80\xc8\xc5\xb8\x50\x13\xf9\x8d\x19\x0d\x84\x65\x45\x4f\x69\xce\x49\x9b\xcd\xed\x36\x62\xaa\xa9\x01\x87\xeb\x12\x14\x6e\x2b\xf5\x14\x67\x3f\x95\xfd\xb2\x8f\xc1\x58\xab\xa6\x2a\xd7\x88\xbe\x36\x0d\x63\xdc\xe1\x7a\x2b\x46\xc7\x18\x4f\xb2\x0f\xd6\xb4\x9a\xd3\xdd\x1d\x6c\x05\x68\xb4\xdc\xca\x1e\x63\x26\x47\x8c\x57\xc8\x7a\x9c\x34\xc2\x61\x04\x8f\xc3\x76\x57\x8e\x90\xb2\x26\x0b\x60\x9b\xb5\x34\x1d\x77\x35\x35\xe2\x1a\x94\x6d\xa9\xff\x09\x3e\x52\x5f\x5d\xb0\xe6\x23\x1c\xcc\x8e\xc0\xee\xd6\x5b\xb8\x5e\xee\x86\x71\x9c\xc9\xd1\x39\x68\x62\x38\xce\xb1\x10\xe1\x66\x5b\x01\x51\xda\xdc\xed\x72\x36\x5a\x79\x46\x0d\x56\xb6\xe8\xc0\xca\x03\xde\xa6\x0d\x08\xa2\x18\xac\xf4\xd9\x14\x2f\x2f\x57\x69\x0f\xba\x33\x4e\xcf\x82\x4e\x6e\x83\x76\xe9\xac\xa3\xda\x5b\xbd\x5b\x97\x70\xd4\xb4\x8b\xa3\x18\xc1\xca\x88\xdf\x4e\x6f\x91\xdc\x25\xfa\x50\xac\x11\xf3\x78\xf8\x6e\xf5\xf1\xf9\xbc\xf7\x96\xb1\xcb\xbf\x24\xff\x91\xa2\x71\xc7\x3f\xd5\x91\xb1\xb7\x4a\xfe\xd7\x17\x86\x2f\xca\x26\xbd\x2b\xde\xfb\x43\xb2\xba\x18\x05\xbc\x15\x5c\x7c\xfa\xa4\xfb\xab\xdb\x1c\xb6\x2e\x2f\x78\xe9\xbb\xfe\x27\x55\xb6\x8c\xf2\xac\xa2\xe5\x5a\x08\x78\xc7\x68\x96\x48\x57\xa6\xe3\x8f\xf9\xb6\xf0\x53\xa9\x02\x97\xa6\x34\x63\xf9\x27\x6f\xa5\x6e\x51\x17\x35\xaf\xe8\xda\xa8\x15\x69\xee\x92\xb5\x22\xe7\xb3\x32\xf2\xf8\x16\xf6\x08\xc5\x41\x77\x2a\x59\x2a\x5e\x73\x7e\x69\x43\x8f\x02\x1e\x26\x44\xfd\x44\x4c\xb1\x5e\x00\x89\x65\x59\xe4\x87\xaa\x85\x95\x07\x1e\xc1\xc1\xd2\x2f\x89\xe1\x9b\x31\x1a\xe5\xde\xb8\xc3\x84\x0b\x9c\x58\x9e\x5f\xcc\x24\xb9\xef\x44\xcd\x39\x09\x5f\x75\xfb\xcb\xe2\x71\xcb\x2a\xaf\xd8\xc7\xdd\xff\x5c\x2e\x33\x9c\x71\x11\x14\xaa\x00\x12\x40\xb9\x9c\x7f\xa5\xc9\xd5\xf1\x87\x36\x4d\x0e\xc8\x39\x02\x16\xf7\xc9\xdc\x17\x13\xf9\x0a\xe9\x64\x7a\xf9\x55\xef\x83\x6a\xff\xfe\xb5\xf7\x2e\x04\xd5\x93\x7e\xe3\x38\xaf\x18\x30\xa8\x2e\x9b\x67\xa2\x45\x89\xea\xf2\x89\x04\x0a\x95\xec\xa7\x2d\x70\x59\x63\xb9\x42\xc0\xb2\x0a\xb7\x95\x1b\x36\x1b\x41\x5c\xd5\xa1\x11\x13\x80\x0e\x4d\x95\x57\x16\xaf\x1b\x51\xfd\x74\x7f\xff\xf3\xaa\xf7\x29\xb6\xfa\xbd\x0a\xc1\xb8\xe3\x5f\x7f\xfc\x86\x31\x39\x32\x67\x7d\x77\x56\xc6\x49\xf5\xb8\x6f\x1f\xf6\x8f\xef\xe4\xe7\x5e\x9e\x55\xf8\x37\x00\x00\xff\xff\xfb\x4d\x5a\xa6\x12\x06\x00\x00")
func publicStaticJsRuntimeMainA4bc2b48JsBytes() ([]byte, error) {
return bindataRead(
_publicStaticJsRuntimeMainA4bc2b48Js,
"public/static/js/runtime-main.a4bc2b48.js",
)
}
func publicStaticJsRuntimeMainA4bc2b48Js() (*asset, error) {
bytes, err := publicStaticJsRuntimeMainA4bc2b48JsBytes()
if err != nil {
return nil, err
}
info := bindataFileInfo{name: "public/static/js/runtime-main.a4bc2b48.js", size: 1554, mode: os.FileMode(0644), modTime: time.Unix(1603758878, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x1a, 0x26, 0xba, 0x1f, 0x3f, 0x83, 0x83, 0x6d, 0x2a, 0xd2, 0xf2, 0xc4, 0x3f, 0x58, 0x9b, 0x38, 0x6a, 0x1e, 0x62, 0xef, 0x38, 0x2e, 0x1b, 0xdf, 0x54, 0xf5, 0x76, 0xb8, 0x4c, 0x40, 0xb, 0xcc}}
return a, nil
}
var _publicStaticJsRuntimeMainA4bc2b48JsMap = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x94\x59\x7b\x53\xdb\x38\xb4\xff\x2a\x5a\xff\xb1\x24\xb3\x6a\x02\x94\x4e\xd9\x70\x33\x77\x64\x25\x18\x93\xd2\x34\xa4\x94\xb2\x84\x61\x9c\x44\x21\x06\xc7\x76\x6d\x85\x47\xbb\x7c\xf7\x3b\xe7\x48\xb2\xe5\xc4\xec\xee\xfd\x27\x24\xd2\x79\xfc\xce\x53\x47\xe2\x97\xf3\x28\xb2\x3c\x4c\x62\xa7\xf3\x9e\x3a\x79\xb2\xce\x66\x22\x77\x3a\xd7\x4e\xab\xd5\x7e\x12\xd3\x34\x98\x3d\xb4\xa7\x49\x22\x73\x99\x05\xa9\x73\x43\x9d\x38\x58\x29\x02\xbd\x7b\x9a\x27\x71\xca\x83\x28\x9a\x06\xb3\x07\x87\x3a\xf3\x40\x06\x0e\x75\x56\xc9\x7c\x1d\x09\x7f\xee\x50\x67\xb6\x5c\xc7\x0f\xf6\xb7\x1c\xf7\x33\x71\x86\x34\xf0\x4b\x3c\x8b\xd9\x5a\x5a\x0b\xa1\x43\x9d\x4c\xe4\x49\xf4\x88\x3f\x23\x11\xdf\xc9\xa5\x43\x9d\xe1\xf4\x5e\xcc\xa4\x43\x9d\x34\x4b\x64\x22\x5f\x52\xe1\x50\x67\x19\xe4\xc3\xa7\xf8\x4b\x96\xa4\x22\x93\x2f\xa0\x27\x88\x22\x10\x12\xe7\x32\x88\x22\x31\xe7\xa0\x17\xe4\xa4\xeb\x7c\x59\x80\xc3\x85\x20\x13\xb1\x44\x1b\x8e\xd7\xf1\x4c\x82\x23\xa8\x93\x2f\xc3\x05\x28\x99\x8b\x85\xc8\x32\x31\x2f\x71\x05\x69\x1a\xa1\x86\xa5\x98\x3d\xf4\xb6\xb6\x33\x91\xaf\xa3\x6d\x4e\x87\x3a\x8b\x75\xb4\x08\x01\x8b\x43\x9d\x7b\x24\x48\xd1\x25\x79\x1a\x85\x33\x20\xb8\xbd\xd5\x0e\xbd\xcd\xc4\x8f\x75\x98\x89\xdb\x5b\xd8\xb6\xcd\x28\xf5\xec\xa1\xcf\xd2\x24\x93\x79\x61\x0e\xb8\x09\x7e\x00\x3a\x50\xe0\xa8\x58\x39\xd4\xb9\x13\x52\x8a\xcc\xa1\x4e\xa2\x90\x85\xb1\xb0\x9c\x25\xe2\xf5\x4a\x64\xc1\x34\xd2\xa4\x60\x86\x43\x9d\xf1\xcb\x6a\x9a\x80\x40\x99\x8c\x65\x16\xc6\x77\x5f\x83\x3b\x87\x3a\x8f\x41\xb4\x06\x42\xa9\xf4\x2a\xe4\x22\x2f\xec\x8c\x01\xd0\x2c\x13\x81\x84\x5f\x0f\x02\x34\x4c\xc3\x18\xd1\x00\x02\x2b\x7e\x06\x40\x0a\x2e\x81\x08\xb0\x2c\x0b\x60\x41\x2e\x43\x90\x92\x44\xf3\xad\xc0\xa0\xb3\x6e\xa8\xb3\x0a\xd2\x34\x8c\xef\x72\xa7\xe3\x04\x8c\xf7\xe9\x98\xb1\x31\xa3\x7d\xc6\x7e\xb8\x9c\x7a\x6c\xf4\xd1\xa5\x3e\xfb\xc2\xa8\xcf\xce\x7c\x0e\xeb\x17\xf0\xf9\xf9\x1b\x7e\xbf\x3c\x81\xcf\x01\xf5\x18\x5f\xba\x3e\x7c\x9f\x9d\x16\x2b\xb1\x3b\x80\xef\xa1\xfb\xc9\x2c\xf9\x27\x67\xf0\x15\x09\x3d\x25\x00\x08\x53\xde\xc3\x65\x14\x36\x1e\xd0\x21\x63\xa3\x63\xea\x33\xfe\xd3\x3d\x2d\x34\xb2\xb1\xa7\xd4\x78\xb0\x3f\xe4\xf4\x02\x37\x04\x63\x82\xd3\x01\x63\x03\xae\x94\x7d\xa7\x3e\x63\x57\x97\xf0\xe3\x0e\x7f\xf0\xf4\x18\x71\x8c\x87\x48\xd6\x33\x3b\x1e\x63\x63\xea\xb3\xfe\x33\xbf\xb4\x96\xe0\x7b\xff\x03\xd8\xcc\xfc\x1e\x30\x5c\x79\xb4\xcf\xf8\x5f\x83\x37\xb4\x9e\x03\x6f\x70\x42\x07\x8c\xa7\xbd\x19\xfc\x18\xcd\x41\x0e\xb2\xb1\xab\x13\xea\xb3\x41\xc4\xa9\xcf\x8e\x3d\x01\xeb\x3f\x5c\x74\x6e\xe2\x2e\x5d\xea\xb1\xbe\xe4\x43\xc4\xc6\xe9\x88\xf1\x39\x62\x1b\x5f\x80\xaa\xaf\xdf\xa8\xc7\x86\x3d\x3a\x64\x27\x4c\xe3\x3b\x45\x85\x03\x7a\xc6\xd8\x59\x4f\x19\x3b\x05\x91\x0f\x80\xd6\x7b\xec\x09\xb0\xe6\x5c\x07\x10\xbf\xfa\xac\xc7\xd0\x12\xf0\x0d\xf7\x17\xa5\xf3\x11\x84\x7f\xa5\x04\x7f\x2b\x3c\xce\x06\x94\x33\xaf\x8d\x78\x15\xe7\x9d\xab\x34\x9d\x2a\xd2\xbf\x20\x06\xf7\x3c\x74\xd1\x46\x90\x7a\xce\x37\xa5\x1e\xc3\xa7\x98\xa3\xd0\x3b\xd7\x48\xe5\x7f\xf2\x02\x0a\x1b\x61\xa8\x45\x1f\xa4\x79\xb0\xfc\xde\xfd\xae\x14\x5c\x81\x91\xb3\x63\x25\xde\x63\xfd\xf7\x1c\x70\xf0\xe3\x4f\x6a\x7b\x84\x61\x48\xb5\x54\x8f\xf1\x0f\xae\x40\xa7\x9d\x29\xaf\x6a\xe7\x2a\x4c\x9f\x51\x09\x1d\x30\x5f\xf6\x91\x0f\xbc\xe6\x9f\x23\x8c\x11\xec\xad\xc0\x8c\x41\x0c\xb1\xe8\xa3\x1f\x39\xe3\x99\x1b\xe2\x2f\xc8\x36\x8f\xfd\xa5\x37\x3c\xe6\x49\x17\x5d\x3b\x56\x1a\xf6\x70\xed\x03\xfa\xc1\x3b\xd0\x4e\xc2\x9f\x3c\x76\x51\x59\x65\x91\x5d\x1c\xba\x74\xc4\xbc\xd8\x72\xc2\xf8\xc4\x26\xb8\x02\xe5\x3f\x39\xa6\xaa\x07\xd6\xf2\x93\x3b\x8e\xd2\xf1\xfb\x31\x1d\xa9\x7c\xbd\x80\x68\x7d\x66\x0a\xb2\xca\xb5\x8b\x4b\xcc\x8c\x04\x97\x86\x3d\xa4\x54\x6e\x66\xd6\xca\x29\x00\x6e\xf7\x50\xc1\x10\x25\x43\xd0\xbc\xd3\x5e\x41\x33\x58\x9c\x2a\xe3\x30\x27\xfd\x18\xe4\x79\xcf\xee\x95\x5a\x1c\x15\x3e\xf5\x9e\xdd\x63\xb5\x36\x56\xb1\x07\xbf\x7c\x2a\xc3\x70\x06\xd2\xf9\x7b\xfe\x5d\x11\x21\x7f\xff\x5c\xef\xfb\x8c\x47\xfc\x83\x72\xd1\x1f\x2e\x56\xd2\x57\x8b\x95\x72\xc6\xfa\x3e\xbd\x52\xd9\x05\xa2\x20\xd2\x90\xfa\x83\x65\x5f\x0b\x54\x39\xa9\xd4\x62\x42\x7e\xa7\x3f\x5c\xc6\xbe\x07\x60\xe7\xae\xcb\x74\xa9\x06\x8c\xef\xf1\x94\x6f\x6b\x0a\x34\xc1\x15\x63\x01\xea\xe3\x50\x53\x43\x7a\xc9\xfa\x1f\x7b\x59\x0d\x03\x0d\x18\x9b\x21\xa5\xc0\x4d\x3a\x60\xa3\xc7\x1e\xfa\x87\x25\x6e\x62\xc1\x51\xce\x84\xbc\xee\x3f\x82\x17\x7a\x17\xb0\x80\xed\x93\x5d\xa0\xd3\x46\x86\x6d\x05\x49\xcc\xdb\xf8\xeb\x4b\x1f\xfb\x1c\x0a\x07\x2a\x9e\xba\xa6\x19\xc1\x9e\xc7\xd8\xa1\x4b\x1f\x5c\xc6\xbe\x61\x65\xe4\x2e\xc3\xf6\x85\xe1\x3d\xf3\xe8\x25\x78\x0b\x78\x21\xa3\xf8\x12\x2b\xd9\xc7\x92\x1c\xfc\x54\xe6\xec\xaa\x3f\xf4\x8c\x79\x8f\x20\xfa\x98\x3d\xbb\xb6\x33\xfb\x43\xf0\xa3\x74\x7f\x56\xac\xbf\x50\x86\x5d\x00\x12\xb0\xfe\x6b\x19\x17\x6c\x43\x43\xac\x4d\xd9\x2b\x61\x1e\xb8\x34\x74\x19\xfb\x7a\xac\xcb\x0b\x80\xe0\xc7\x19\xa4\xe8\x10\x2b\x72\x68\x3c\x80\xd9\xd3\xc7\xa6\xe9\xf7\xd5\x19\xa1\x9a\x97\x07\x50\x87\x86\xfe\x0c\x92\x86\x8d\x54\xbf\x85\x8f\xb3\x1e\xa8\xfd\xd3\xd7\xee\xf2\x98\x7f\xfe\xa8\x45\xee\x5b\xb1\x90\x58\x8d\x4b\xae\Line truncated
func publicStaticJsRuntimeMainA4bc2b48JsMapBytes() ([]byte, error) {
return bindataRead(
_publicStaticJsRuntimeMainA4bc2b48JsMap,
"public/static/js/runtime-main.a4bc2b48.js.map",
)
}
func publicStaticJsRuntimeMainA4bc2b48JsMap() (*asset, error) {
bytes, err := publicStaticJsRuntimeMainA4bc2b48JsMapBytes()
if err != nil {
return nil, err
}
info := bindataFileInfo{name: "public/static/js/runtime-main.a4bc2b48.js.map", size: 8273, mode: os.FileMode(0644), modTime: time.Unix(1603758878, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xc4, 0x2c, 0x1c, 0x4e, 0xe5, 0xf2, 0x3e, 0xe3, 0x30, 0xa8, 0xf3, 0xf4, 0x8b, 0x41, 0x1c, 0xe1, 0x86, 0xb1, 0x6d, 0xa4, 0x96, 0xef, 0x83, 0x52, 0x62, 0x6c, 0xde, 0x2b, 0x9b, 0xe, 0x91, 0x63}}
return a, nil
}
// Asset loads and returns the asset for the given name.
// It returns an error if the asset could not be found or
// could not be loaded.
func Asset(name string) ([]byte, error) {
canonicalName := strings.Replace(name, "\\", "/", -1)
if f, ok := _bindata[canonicalName]; ok {
a, err := f()
if err != nil {
return nil, fmt.Errorf("Asset %s can't read by error: %v", name, err)
}
return a.bytes, nil
}
return nil, fmt.Errorf("Asset %s not found", name)
}
// AssetString returns the asset contents as a string (instead of a []byte).
func AssetString(name string) (string, error) {
data, err := Asset(name)
return string(data), err
}
// MustAsset is like Asset but panics when Asset would return an error.
// It simplifies safe initialization of global variables.
func MustAsset(name string) []byte {
a, err := Asset(name)
if err != nil {
panic("asset: Asset(" + name + "): " + err.Error())
}
return a
}
// MustAssetString is like AssetString but panics when Asset would return an
// error. It simplifies safe initialization of global variables.
func MustAssetString(name string) string {
return string(MustAsset(name))
}
// AssetInfo loads and returns the asset info for the given name.
// It returns an error if the asset could not be found or
// could not be loaded.
func AssetInfo(name string) (os.FileInfo, error) {
canonicalName := strings.Replace(name, "\\", "/", -1)
if f, ok := _bindata[canonicalName]; ok {
a, err := f()
if err != nil {
return nil, fmt.Errorf("AssetInfo %s can't read by error: %v", name, err)
}
return a.info, nil
}
return nil, fmt.Errorf("AssetInfo %s not found", name)
}
// AssetDigest returns the digest of the file with the given name. It returns an
// error if the asset could not be found or the digest could not be loaded.
func AssetDigest(name string) ([sha256.Size]byte, error) {
canonicalName := strings.Replace(name, "\\", "/", -1)
if f, ok := _bindata[canonicalName]; ok {
a, err := f()
if err != nil {
return [sha256.Size]byte{}, fmt.Errorf("AssetDigest %s can't read by error: %v", name, err)
}
return a.digest, nil
}
return [sha256.Size]byte{}, fmt.Errorf("AssetDigest %s not found", name)
}
// Digests returns a map of all known files and their checksums.
func Digests() (map[string][sha256.Size]byte, error) {
mp := make(map[string][sha256.Size]byte, len(_bindata))
for name := range _bindata {
a, err := _bindata[name]()
if err != nil {
return nil, err
}
mp[name] = a.digest
}
return mp, nil
}
// AssetNames returns the names of the assets.
func AssetNames() []string {
names := make([]string, 0, len(_bindata))
for name := range _bindata {
names = append(names, name)
}
return names
}
// _bindata is a table, holding each asset generator, mapped to its name.
var _bindata = map[string]func() (*asset, error){
"public/asset-manifest.json": publicAssetManifestJson,
"public/favicon.ico": publicFaviconIco,
"public/index.html": publicIndexHtml,
"public/manifest.json": publicManifestJson,
"public/paste.sh": publicPasteSh,
"public/precache-manifest.e794d1c73b51f3f24235495e349fce44.js": publicPrecacheManifestE794d1c73b51f3f24235495e349fce44Js,
"public/service-worker.js": publicServiceWorkerJs,
"public/static/css/2.1d5ea050.chunk.css": publicStaticCss21d5ea050ChunkCss,
"public/static/css/2.1d5ea050.chunk.css.map": publicStaticCss21d5ea050ChunkCssMap,
"public/static/css/main.bea1604d.chunk.css": publicStaticCssMainBea1604dChunkCss,
"public/static/css/main.bea1604d.chunk.css.map": publicStaticCssMainBea1604dChunkCssMap,
"public/static/js/2.d33d7d47.chunk.js": publicStaticJs2D33d7d47ChunkJs,
"public/static/js/2.d33d7d47.chunk.js.LICENSE.txt": publicStaticJs2D33d7d47ChunkJsLicenseTxt,
"public/static/js/2.d33d7d47.chunk.js.map": publicStaticJs2D33d7d47ChunkJsMap,
"public/static/js/main.b55c2acb.chunk.js": publicStaticJsMainB55c2acbChunkJs,
"public/static/js/main.b55c2acb.chunk.js.map": publicStaticJsMainB55c2acbChunkJsMap,
"public/static/js/runtime-main.a4bc2b48.js": publicStaticJsRuntimeMainA4bc2b48Js,
"public/static/js/runtime-main.a4bc2b48.js.map": publicStaticJsRuntimeMainA4bc2b48JsMap,
}
// AssetDir returns the file names below a certain
// directory embedded in the file by go-bindata.
// For example if you run go-bindata on data/... and data contains the
// following hierarchy:
// data/
// foo.txt
// img/
// a.png
// b.png
// then AssetDir("data") would return []string{"foo.txt", "img"},
// AssetDir("data/img") would return []string{"a.png", "b.png"},
// AssetDir("foo.txt") and AssetDir("notexist") would return an error, and
// AssetDir("") will return []string{"data"}.
func AssetDir(name string) ([]string, error) {
node := _bintree
if len(name) != 0 {
canonicalName := strings.Replace(name, "\\", "/", -1)
pathList := strings.Split(canonicalName, "/")
for _, p := range pathList {
node = node.Children[p]
if node == nil {
return nil, fmt.Errorf("Asset %s not found", name)
}
}
}
if node.Func != nil {
return nil, fmt.Errorf("Asset %s not found", name)
}
rv := make([]string, 0, len(node.Children))
for childName := range node.Children {
rv = append(rv, childName)
}
return rv, nil
}
type bintree struct {
Func func() (*asset, error)
Children map[string]*bintree
}
var _bintree = &bintree{nil, map[string]*bintree{
"public": &bintree{nil, map[string]*bintree{
"asset-manifest.json": &bintree{publicAssetManifestJson, map[string]*bintree{}},
"favicon.ico": &bintree{publicFaviconIco, map[string]*bintree{}},
"index.html": &bintree{publicIndexHtml, map[string]*bintree{}},
"manifest.json": &bintree{publicManifestJson, map[string]*bintree{}},
"paste.sh": &bintree{publicPasteSh, map[string]*bintree{}},
"precache-manifest.e794d1c73b51f3f24235495e349fce44.js": &bintree{publicPrecacheManifestE794d1c73b51f3f24235495e349fce44Js, map[string]*bintree{}},
"service-worker.js": &bintree{publicServiceWorkerJs, map[string]*bintree{}},
"static": &bintree{nil, map[string]*bintree{
"css": &bintree{nil, map[string]*bintree{
"2.1d5ea050.chunk.css": &bintree{publicStaticCss21d5ea050ChunkCss, map[string]*bintree{}},
"2.1d5ea050.chunk.css.map": &bintree{publicStaticCss21d5ea050ChunkCssMap, map[string]*bintree{}},
"main.bea1604d.chunk.css": &bintree{publicStaticCssMainBea1604dChunkCss, map[string]*bintree{}},
"main.bea1604d.chunk.css.map": &bintree{publicStaticCssMainBea1604dChunkCssMap, map[string]*bintree{}},
}},
"js": &bintree{nil, map[string]*bintree{
"2.d33d7d47.chunk.js": &bintree{publicStaticJs2D33d7d47ChunkJs, map[string]*bintree{}},
"2.d33d7d47.chunk.js.LICENSE.txt": &bintree{publicStaticJs2D33d7d47ChunkJsLicenseTxt, map[string]*bintree{}},
"2.d33d7d47.chunk.js.map": &bintree{publicStaticJs2D33d7d47ChunkJsMap, map[string]*bintree{}},
"main.b55c2acb.chunk.js": &bintree{publicStaticJsMainB55c2acbChunkJs, map[string]*bintree{}},
"main.b55c2acb.chunk.js.map": &bintree{publicStaticJsMainB55c2acbChunkJsMap, map[string]*bintree{}},
"runtime-main.a4bc2b48.js": &bintree{publicStaticJsRuntimeMainA4bc2b48Js, map[string]*bintree{}},
"runtime-main.a4bc2b48.js.map": &bintree{publicStaticJsRuntimeMainA4bc2b48JsMap, map[string]*bintree{}},
}},
}},
}},
}}
// RestoreAsset restores an asset under the given directory.
func RestoreAsset(dir, name string) error {
data, err := Asset(name)
if err != nil {
return err
}
info, err := AssetInfo(name)
if err != nil {
return err
}
err = os.MkdirAll(_filePath(dir, filepath.Dir(name)), os.FileMode(0755))
if err != nil {
return err
}
err = ioutil.WriteFile(_filePath(dir, name), data, info.Mode())
if err != nil {
return err
}
return os.Chtimes(_filePath(dir, name), info.ModTime(), info.ModTime())
}
// RestoreAssets restores an asset under the given directory recursively.
func RestoreAssets(dir, name string) error {
children, err := AssetDir(name)
// File
if err != nil {
return RestoreAsset(dir, name)
}
// Dir
for _, child := range children {
err = RestoreAssets(dir, filepath.Join(name, child))
if err != nil {
return err
}
}
return nil
}
func _filePath(dir, name string) string {
canonicalName := strings.Replace(name, "\\", "/", -1)
return filepath.Join(append([]string{dir}, strings.Split(canonicalName, "/")...)...)
}
func assetFS() *assetfs.AssetFS {
assetInfo := func(path string) (os.FileInfo, error) {
return os.Stat(path)
}
for k := range _bintree.Children {
return &assetfs.AssetFS{Asset: Asset, AssetDir: AssetDir, AssetInfo: assetInfo, Prefix: k}
}
panic("unreachable")
}
-698
View File
@@ -1,698 +0,0 @@
package routes
import (
"bytes"
"context"
"crypto/md5"
"crypto/sha1"
"fmt"
"io"
"net"
"net/http"
"net/mail"
"net/url"
"strings"
"text/template"
"time"
"github.com/gorilla/mux"
"github.com/lucasb-eyer/go-colorful"
"github.com/sour-is/crypto/openpgp"
"github.com/tv42/zbase32"
"golang.org/x/crypto/openpgp/armor"
"go.sour.is/paste/src/pkg/cache"
"go.sour.is/paste/src/pkg/promise"
"sour.is/x/toolbox/httpsrv"
"sour.is/x/toolbox/log"
)
var expireAfter = 20 * time.Minute
func init() {
cache, err := cache.NewARC(2048)
if err != nil {
panic(err)
}
tasker := promise.NewRunner(context.TODO(), promise.Timeout(30*time.Second), promise.WithCache(cache, expireAfter))
s := &identity{
cache: cache,
tasker: tasker,
}
httpsrv.RegisterModule("identity", s.config)
httpsrv.HttpRegister("identity", httpsrv.HttpRoutes{
{Name: "get", Method: "GET", Pattern: "/id/{id}", HandlerFunc: s.get},
})
}
var pixl = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII="
var defaultStyle = &Style{
Avatar: pixl,
Cover: pixl,
Background: pixl,
Palette: getPalette("#93CCEA"),
}
type identity struct {
cache cache.Cacher
tasker promise.Tasker
}
type page struct {
Entity *Entity
Style *Style
Proofs *Proofs
IsComplete bool
Err error
}
type Proofs map[string]*Proof
func (s *identity) config(config map[string]string) {}
// func (s *identity) runtoCache()
func (s *identity) get(w http.ResponseWriter, r *http.Request) {
secHeaders(w)
vars := mux.Vars(r)
id := vars["id"]
ctx, cancel := context.WithTimeout(r.Context(), 2*time.Second)
defer cancel()
task := s.tasker.Run(EntityKey(id), func(q promise.Q) {
ctx := q.Context()
key := q.Key().(EntityKey)
log.Infos("start task", fmt.Sprintf("%T", key), key)
entity, err := s.getOpenPGPkey(ctx, string(key))
if err != nil {
q.Reject(err)
return
}
log.Infos("Scheduling Style", "email", entity.Primary.Address)
q.Run(StyleKey(entity.Primary.Address), func(q promise.Q) {
ctx := q.Context()
key := q.Key().(StyleKey)
log.Infos("start task", fmt.Sprintf("%T", key), key)
style, err := s.getStyle(ctx, string(key))
if err != nil {
q.Reject(err)
return
}
log.Notice("Resolving Style")
q.Resolve(style)
})
go func() {
log.Infos("Scheduling Proofs", "num", len(entity.Proofs))
for i := range entity.Proofs {
q.Run(ProofKey(entity.Proofs[i]), func(q promise.Q) {
key := q.Key().(ProofKey)
proof := NewProof(string(key))
proof.Checked = true
proof.Verified = true
log.Notice("Resolving Proof")
q.Resolve(proof)
})
}
}()
log.Notice("Resolving Entity")
q.Resolve(entity)
})
page := page{Style: defaultStyle}
select {
case <-task.Await():
log.Info("Tasks Competed")
if err := task.Err(); err != nil {
page.Err = err
page.IsComplete = true
break
}
page.Entity = task.Result().(*Entity)
case <-ctx.Done():
log.Info("Deadline Timeout")
if e, ok := s.cache.Get(EntityKey(id)); ok {
page.Entity = e.Value().(*Entity)
}
}
if page.Entity != nil {
var gotStyle, gotProofs bool
if s, ok := s.cache.Get(StyleKey(page.Entity.Primary.Address)); ok {
page.Style = s.Value().(*Style)
gotStyle = true
}
// TODO: Proofs
gotProofs = true
if len(page.Entity.Proofs) > 0 {
proofs := make(Proofs, len(page.Entity.Proofs))
for i := range page.Entity.Proofs {
p := page.Entity.Proofs[i]
proofs[p] = NewProof(p)
if s, ok := s.cache.Get(ProofKey(p)); ok {
proofs[p] = s.Value().(*Proof)
} else {
log.Info("Missing proof", p)
gotProofs = false
}
}
page.Proofs = &proofs
}
page.IsComplete = gotStyle && gotProofs
}
// e := json.NewEncoder(w)
// e.SetIndent("", " ")
// e.Encode(entity)
t, err := template.New("identity").Parse(identityTPL)
if err != nil {
httpsrv.WriteText(w, 500, err.Error())
return
}
err = t.Execute(w, page)
if err != nil {
httpsrv.WriteText(w, 500, err.Error())
return
}
}
func (s *identity) getOpenPGPkey(ctx context.Context, id string) (entity *Entity, err error) {
useArmored := false
addr := ""
if isFingerprint(id) {
addr = "https://keys.openpgp.org/vks/v1/by-fingerprint/" + strings.ToUpper(id)
useArmored = true
} else if email, err := mail.ParseAddress(id); err == nil {
addr = getWKDPubKeyAddr(email)
useArmored = false
} else {
return entity, fmt.Errorf("Parse address: %w", err)
}
req, err := http.NewRequestWithContext(ctx, http.MethodGet, addr, nil)
if err != nil {
return entity, err
}
cl := http.Client{}
resp, err := cl.Do(req)
if err != nil {
return entity, fmt.Errorf("Requesting key: %w\nRemote URL: %v", err, addr)
}
if resp.StatusCode != 200 {
return entity, fmt.Errorf("bad response from remote: %s\nRemote URL: %v", resp.Status, addr)
}
defer resp.Body.Close()
if resp.Header.Get("Content-Type") == "application/pgp-keys" {
useArmored = true
}
log.Infos("getIdentity", "id", id, "useArmored", useArmored, "status", resp.Status, "addr", addr)
entity, err = ReadKey(resp.Body, useArmored)
return entity, err
}
type EntityKey string
func (k EntityKey) Key() interface{} {
return k
}
type Entity struct {
Primary *mail.Address
Emails []*mail.Address
Fingerprint string
Proofs []string
ArmorText string
}
func getEntity(lis openpgp.EntityList) (*Entity, error) {
entity := &Entity{}
var err error
for _, e := range lis {
if e == nil {
continue
}
if e.PrimaryKey == nil {
continue
}
entity.Fingerprint = fmt.Sprintf("%X", e.PrimaryKey.Fingerprint)
for name, ident := range e.Identities {
// Pick first identity
if entity.Primary == nil {
entity.Primary, err = mail.ParseAddress(name)
if err != nil {
return entity, err
}
}
// If one is marked primary use that
if ident.SelfSignature != nil && ident.SelfSignature.IsPrimaryId != nil && *ident.SelfSignature.IsPrimaryId {
entity.Primary, err = mail.ParseAddress(name)
if err != nil {
return entity, err
}
} else {
var email *mail.Address
if email, err = mail.ParseAddress(name); err != nil {
return entity, err
}
entity.Emails = append(entity.Emails, email)
}
// If identity is self signed read notation data.
if ident.SelfSignature != nil && ident.SelfSignature.NotationData != nil {
// Get proofs and append to list.
if proofs, ok := ident.SelfSignature.NotationData["proof@metacode.biz"]; ok {
entity.Proofs = append(entity.Proofs, proofs...)
}
}
}
break
}
if entity.Primary == nil {
entity.Primary, _ = mail.ParseAddress("nobody@nodomain.xyz")
}
return entity, err
}
func ReadKey(r io.Reader, useArmored bool) (e *Entity, err error) {
var buf bytes.Buffer
var w io.Writer = &buf
if !useArmored {
var aw io.WriteCloser
aw, err = armor.Encode(&buf, "PGP PUBLIC KEY BLOCK", nil)
if err != nil {
return e, fmt.Errorf("Read key: %w", err)
}
defer func() { aw.Close(); e.ArmorText = buf.String() }()
w = aw
} else {
defer func() { e.ArmorText = buf.String() }()
}
r = io.TeeReader(r, w)
var lis openpgp.EntityList
if useArmored {
lis, err = openpgp.ReadArmoredKeyRing(r)
} else {
lis, err = openpgp.ReadKeyRing(r)
}
if err != nil {
return e, fmt.Errorf("Read key: %w", err)
}
e, err = getEntity(lis)
if err != nil {
return e, fmt.Errorf("Parse key: %w", err)
}
return
}
func isFingerprint(s string) bool {
for _, r := range s {
switch r {
case '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f', 'A', 'B', 'C', 'D', 'E', 'F':
default:
return false
}
}
return true
}
func getWKDPubKeyAddr(email *mail.Address) string {
parts := strings.SplitN(email.Address, "@", 2)
hash := sha1.Sum([]byte(parts[0]))
lp := zbase32.EncodeToString(hash[:])
return fmt.Sprintf("https://%s/.well-known/openpgpkey/hu/%s", parts[1], lp)
}
type StyleKey string
func (s StyleKey) Key() interface{} {
return s
}
type Style struct {
Avatar,
Cover,
Background string
Palette []string
}
func (s *identity) getStyle(ctx context.Context, email string) (*Style, error) {
avatarHost, styleHost, err := styleSRV(ctx, email)
if err != nil {
return nil, err
}
log.Infos("getStyle", "avatar", avatarHost, "style", styleHost)
hash := md5.New()
email = strings.TrimSpace(strings.ToLower(email))
_, _ = hash.Write([]byte(email))
id := hash.Sum(nil)
style := &Style{}
style.Palette = getPalette(fmt.Sprintf("#%x", id[:3]))
style.Avatar = fmt.Sprintf("https://%s/avatar/%x", avatarHost, id)
style.Cover = pixl
style.Background = "https://lavana.sour.is/bg/52548b3dcb032882675afe1e4bcba0e9"
if styleHost != "" {
style.Cover = fmt.Sprintf("https://%s/cover/%x", styleHost, id)
style.Background = fmt.Sprintf("https://%s/bg/%x", styleHost, id)
}
return style, err
}
func styleSRV(ctx context.Context, email string) (avatar string, style string, err error) {
// Defaults
style = ""
avatar = "www.gravatar.com"
parts := strings.SplitN(email, "@", 2)
if _, srv, err := net.DefaultResolver.LookupSRV(ctx, "style-sec", "tcp", parts[1]); err == nil {
if len(srv) > 0 {
style = strings.TrimSuffix(srv[0].Target, ".")
avatar = strings.TrimSuffix(srv[0].Target, ".")
return avatar, style, err
}
}
if _, srv, err := net.DefaultResolver.LookupSRV(ctx, "avatars-sec", "tcp", parts[1]); err == nil {
if len(srv) > 0 {
avatar = strings.TrimSuffix(srv[0].Target, ".")
return avatar, style, err
}
}
return
}
// getPalette maes a complementary color palette. https://play.golang.org/p/nBXLUocGsU5
func getPalette(hex string) []string {
reference, _ := colorful.Hex(hex)
reference = sat(lum(reference, 0, .5), 0, .5)
white := colorful.Color{R: 1, G: 1, B: 1}
black := colorful.Color{R: 0, G: 0, B: 0}
accentA := hue(reference, 60)
accentB := hue(reference, -60)
accentC := hue(reference, -180)
return append(
[]string{},
white.Hex(),
lum(reference, .4, .6).Hex(),
reference.Hex(),
lum(reference, .4, 0).Hex(),
black.Hex(),
lum(accentA, .4, .6).Hex(),
accentA.Hex(),
lum(accentA, .4, 0).Hex(),
lum(accentB, .4, .6).Hex(),
accentB.Hex(),
lum(accentB, .4, 0).Hex(),
lum(accentC, .4, .6).Hex(),
accentC.Hex(),
lum(accentC, .4, 0).Hex(),
)
}
func hue(in colorful.Color, H float64) colorful.Color {
h, s, l := in.Hsl()
return colorful.Hsl(h+H, s, l)
}
func sat(in colorful.Color, S, V float64) colorful.Color {
h, s, l := in.Hsl()
return colorful.Hsl(h, V+s*S, l)
}
func lum(in colorful.Color, L, V float64) colorful.Color {
h, s, l := in.Hsl()
return colorful.Hsl(h, s, V+l*L)
}
type ProofKey string
func (k ProofKey) Key() interface{} {
return k
}
type Proof struct {
Icon string
Service string
Name string
URI string
Link string
Checked bool
Verified bool
}
func NewProof(uri string) *Proof {
p := &Proof{URI: uri}
u, err := url.Parse(uri)
if err != nil {
p.Icon = "exclamation-triangle"
p.Service = "error"
p.Name = err.Error()
return p
}
p.Service = u.Scheme
switch u.Scheme {
case "dns":
p.Icon = "fas fa-globe"
p.Name = u.Opaque
p.Link = fmt.Sprintf("https://%s", u.Hostname())
case "xmpp":
p.Icon = "fas fa-comments"
p.Name = u.Opaque
case "https":
p.Icon = "fas fa-atlas"
p.Name = u.Hostname()
p.Link = fmt.Sprintf("https://%s", u.Hostname())
switch {
case strings.HasPrefix(u.Host, "twitter.com"):
p.Icon = "fab fa-twitter"
p.Service = "Twitter"
case strings.HasPrefix(u.Host, "news.ycombinator.com"):
p.Icon = "fab fa-hacker-news"
p.Service = "HackerNews"
case strings.HasPrefix(u.Host, "dev.to"):
p.Icon = "fab fa-dev"
p.Service = "dev.to"
case strings.HasPrefix(u.Host, "reddit.com"), strings.HasPrefix(u.Host, "www.reddit.com"):
p.Icon = "fab fa-reddit"
p.Service = "Reddit"
case strings.HasPrefix(u.Host, "gist.github.com"):
p.Icon = "fab fa-github"
p.Service = "GitHub"
case strings.HasPrefix(u.Host, "lobste.rs"):
p.Icon = "fas fa-list-ul"
p.Service = "Lobsters"
case strings.HasSuffix(u.Host, "/gitlab_proof/"):
p.Icon = "fab fa-gitlab"
p.Service = "GetLab"
case strings.HasSuffix(u.Host, "/gitea_proof/"):
p.Icon = "fas fa-mug-hot"
p.Service = "Gitea"
default:
p.Icon = "fas fa-project-diagram"
p.Service = "fediverse"
}
}
return p
}
func secHeaders(w http.ResponseWriter) {
w.Header().Set("X-XSS-Protection", "1; mode=block")
w.Header().Set("X-Frame-Options", "DENY")
w.Header().Set("X-Content-Type-Options", "nosniff")
// w.Header().Set("Content-Security-Policy", "default-src 'self';")
w.Header().Set("X-Content-Type-Options", "nosniff")
}
var identityTPL = `
<html>
<head>
{{if not .IsComplete}}<meta http-equiv="refresh" content="1">{{end}}
<script src="https://pagecdn.io/lib/font-awesome/5.14.0/js/fontawesome.min.js" crossorigin="anonymous" integrity="sha256-dNZKI9qQEpJG03MLdR2Rg9Dva1o+50fN3zmlDP+3I+Y="></script>
<link href="https://pagecdn.io/lib/bootstrap/4.5.1/css/bootstrap.min.css" rel="stylesheet" crossorigin="anonymous" integrity="sha256-VoFZSlmyTXsegReQCNmbXrS4hBBUl/cexZvPmPWoJsY=" >
<link href="https://pagecdn.io/lib/font-awesome/5.14.0/css/fontawesome.min.css" rel="stylesheet" crossorigin="anonymous" integrity="sha256-7YMlwkILTJEm0TSengNDszUuNSeZu4KTN3z7XrhUQvc=" >
<link href="https://pagecdn.io/lib/font-awesome/5.14.0/css/solid.min.css" rel="stylesheet" crossorigin="anonymous" integrity="sha256-s0DhrAmIsT5gZ3X4f+9wIXUbH52CMiqFAwgqCmdPoec=" >
<link href="https://pagecdn.io/lib/font-awesome/5.14.0/css/regular.min.css" rel="stylesheet" crossorigin="anonymous" integrity="sha256-FAKIbnpfWhK6v5Re+NAi9n+5+dXanJvXVFohtH6WAuw=" >
<link href="https://pagecdn.io/lib/font-awesome/5.14.0/css/brands.min.css" rel="stylesheet" crossorigin="anonymous" integrity="sha256-xN44ju35FR+kTO/TP/UkqrVbM3LpqUI1VJCWDGbG1ew=" >
{{ with .Style }}
<style>
{{range $i, $val := .Palette}}.fg-color-{{$i}} { color: {{$val}}; }
{{end}}
{{range $i, $val := .Palette}}.bg-color-{{$i}} { background-color: {{$val}}; }
{{end}}
body {
background-image: url('{{.Background}}');
background-repeat: repeat;
background-color: {{index .Palette 7}};
padding-top: 1em;
}
.heading {
background-image: url('{{.Cover}}');
background-size: cover;
background-repeat: no-repeat;
background-color: {{index .Palette 3}};
}
.shade { background-color: {{index .Palette 3}}80; border-radius: .25rem;}
.lead { padding:0; margin:0; }
// (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px)
@media only screen and (max-width: 576px) {
.h1, .h2, .h3, .h4, .h5, h6 { font-size: 50% }
}
</style>
{{end}}
</head>
<body>
<div class="container">
<div class="card">
<div class="jumbotron heading">
<div class="container">
<div class="row shade">
{{ with .Err }}
<div class="col-xs">
<i class="fas fa-exclamation-triangle fa-4x fg-color-11"></i>
</div>
<div class="col-lg">
<h1 class="display-8 fg-color-8">Something went wrong...</h1>
<pre class="fg-color-11">{{.}}</pre>
</div>
{{else}}
{{ with .Style }}
<div class="col-xs">
<img src="{{.Avatar}}" class="img-thumbnail" alt="avatar" style="width:88px; height:88px">
</div>
{{end}}
{{with .Entity}}
<div class="col-lg">
<h1 class="display-8 fg-color-8">{{.Primary.Name}}</h1>
<p class="lead fg-color-11"><i class="fas fa-fingerprint"></i> {{.Fingerprint}}</p>
</div>
{{else}}
<div class="col-lg">
<h1 class="display-8 fg-color-8">Loading...</h1>
<p class="lead fg-color-11">Reading key from remote service.</p>
</div>
{{end}}
{{end}}
</div>
</div>
</div>
<div class="container">
{{ with .Entity }}
<div class="card">
<div class="card-header">Contact</div>
<div class="list-group list-group-flush">
{{with .Primary}}<a href="mailto:{{.Address}}" class="list-group-item list-group-item-action"><i class="fas fa-envelope"></i> <b>{{.Name}} &lt;{{.Address}}&gt;</b> <span class="badge badge-secondary">Primary</span></a>{{end}}
{{range .Emails}}<a href="mailto:{{.Address}}" class="list-group-item list-group-item-action"><i class="far fa-envelope"></i> {{.Name}} &lt;{{.Address}}&gt;</a>{{end}}
</div>
</div>
<br />
{{end}}
{{with .Proofs}}
<div class="card">
<div class="card-header">Proofs</div>
<ul class="list-group list-group-flush">
{{range .}}
<li class="list-group-item">
<i class="{{.Icon}}"></i>
<span class="badge badge-secondary">{{.Service}}</span>
{{.Name}}
{{if .Checked}}
{{if .Verified}}Verified{{else}}Invalid{{end}}
{{else}}Checking...{{end}}
</li>
{{end}}
</ul>
</div>
<br/>
{{else}}
<div class="card">
<div class="card-header">Proofs</div>
<div class="card-body">Loading...</div>
</div>
<br/>
{{end}}
</div>
<div class="card-footer text-muted text-center">
&copy; 2020 Sour.is
</div>
</div>
</div>
</body>
</html>
`
-156
View File
@@ -1,156 +0,0 @@
package routes
import (
"crypto/sha256"
"encoding/base64"
"io"
"io/ioutil"
"net/http"
"os"
"path/filepath"
"strconv"
"strings"
"github.com/gorilla/mux"
"github.com/h2non/filetype"
"sour.is/x/toolbox/httpsrv"
"sour.is/x/toolbox/log"
"go.sour.is/paste/src/pkg/readutil"
)
func init() {
a := &image{}
httpsrv.RegisterModule("image", a.config)
httpsrv.HttpRegister("image", httpsrv.HttpRoutes{
{Name: "getImage", Method: "GET", Pattern: "/i/{name}", HandlerFunc: a.get},
{Name: "putImage", Method: "PUT", Pattern: "/i", HandlerFunc: a.put},
{Name: "getStyle", Method: "GET", Pattern: "/{style:avatar|bg|cover}/", HandlerFunc: a.getStyle},
})
}
type image struct {
store string
maxSize int64
}
func (a *image) config(config map[string]string) {
a.store = "data/"
if config["store"] != "" {
a.store = config["store"]
}
if !chkStore(a.store) {
log.Criticalf("Image: store location [%s] does not exist or is not writable.", a.store)
}
log.Noticef("Image: store location set to [%s]", a.store)
a.maxSize = 10 * 1024 * 1024
if s, ok := config["max-size"]; ok {
if i, err := strconv.Atoi(s); err == nil {
a.maxSize = int64(i)
}
}
log.Noticef("Image: store max-size set to [%d]", a.maxSize)
}
func (a *image) get(w http.ResponseWriter, r *http.Request) {
vars := mux.Vars(r)
name := vars["name"]
ext := filepath.Ext(name)
id := strings.TrimSuffix(name, ext)
fname := filepath.Join(a.store, id)
if !chkFile(fname) {
httpsrv.WriteError(w, http.StatusNotFound, "Not Found")
return
}
if chkGone(fname) {
httpsrv.WriteError(w, http.StatusGone, "Gone")
return
}
f, err := os.Open(fname)
if err != nil {
log.Fatal(err)
}
defer f.Close()
pr := readutil.NewPreviewReader(f)
mime, _ := readutil.ReadMIME(pr, name)
w.Header().Set("Content-Type", mime)
w.Header().Set("X-Content-Type-Options", "nosniff")
_, _ = io.Copy(w, pr.Drain())
}
func (a *image) put(w http.ResponseWriter, r *http.Request) {
defer r.Body.Close()
if h := r.Header.Get("Content-Length"); h != "" {
log.Debugs("Artifact:", "content-length", h, "max-length", a.maxSize)
if i, err := strconv.Atoi(h); err == nil {
if int64(i) > a.maxSize {
log.Error("ERR Size Too Large")
http.Error(w, "ERR Size Too Large", http.StatusRequestEntityTooLarge)
return
}
}
}
rdr := io.LimitReader(r.Body, a.maxSize)
pr := readutil.NewPreviewReader(rdr)
if !isImageOrVideo(pr) {
httpsrv.WriteError(w, http.StatusUnsupportedMediaType, "ERR Not Image")
return
}
rdr = pr.Drain()
s256 := sha256.New()
tmp, err := ioutil.TempFile(a.store, "image-")
if err != nil {
httpsrv.WriteError(w, 400, err.Error())
return
}
defer os.Remove(tmp.Name())
m := io.MultiWriter(s256, tmp)
if _, err = io.Copy(m, rdr); err != nil {
httpsrv.WriteError(w, 400, err.Error())
return
}
tmp.Close()
id := base64.RawURLEncoding.EncodeToString(s256.Sum(nil)[12:])
fname := filepath.Join(a.store, id)
log.Debugs("Image: moving file", "src", tmp.Name(), "dst", fname)
err = os.Rename(tmp.Name(), fname)
if err != nil {
httpsrv.WriteError(w, 400, err.Error())
return
}
httpsrv.WriteText(w, http.StatusCreated, id)
}
func isImageOrVideo(in io.Reader) bool {
buf := make([]byte, 320)
_, err := in.Read(buf)
if err != nil {
return false
}
return filetype.IsImage(buf) || filetype.IsVideo(buf)
}
func (a *image) getStyle(w http.ResponseWriter, r *http.Request) {
}
-259
View File
@@ -1,259 +0,0 @@
package routes
import (
"bufio"
"crypto/rand"
"crypto/sha256"
"encoding/base64"
"fmt"
"io"
"io/ioutil"
"net/http"
"os"
"path/filepath"
"strconv"
"strings"
"time"
"github.com/gorilla/mux"
"golang.org/x/sys/unix"
"go.sour.is/paste/src/pkg/readutil"
"sour.is/x/toolbox/httpsrv"
"sour.is/x/toolbox/log"
"github.com/yeqown/go-qrcode/v2"
"github.com/yeqown/go-qrcode/writer/standard"
)
func init() {
p := &Paste{}
httpsrv.RegisterModule("paste", p.setConfig)
httpsrv.HttpRegister("paste", httpsrv.HttpRoutes{
{Name: "getRandom", Method: "GET", Pattern: "/paste/rng", HandlerFunc: p.getRandom},
{Name: "getPaste", Method: "GET", Pattern: "/paste/{id}", HandlerFunc: p.getPaste},
{Name: "getPaste", Method: "GET", Pattern: "/paste/get/{id}", HandlerFunc: p.getPaste},
{Name: "postPaste", Method: "POST", Pattern: "/paste", HandlerFunc: p.postPaste},
{Name: "getRandom", Method: "GET", Pattern: "/api/rng", HandlerFunc: p.getRandom},
{Name: "getPaste", Method: "GET", Pattern: "/api/{id}", HandlerFunc: p.getPaste},
{Name: "getPaste", Method: "GET", Pattern: "/api/get/{id}", HandlerFunc: p.getPaste},
{Name: "postPaste", Method: "POST", Pattern: "/api", HandlerFunc: p.postPaste},
})
}
type Paste struct {
store string
randBytes int
}
func (p *Paste) setConfig(config map[string]string) {
p.store = "data/"
if config["store"] != "" {
p.store = config["store"]
}
if !chkStore(p.store) {
log.Criticalf("Paste: store location [%s] does not exist or is not writable.", p.store)
}
log.Noticef("Paste: store location set to [%s]", p.store)
p.randBytes = 1024
if config["random"] != "" {
p.randBytes, _ = strconv.Atoi(config["random"])
log.Noticef("Paste: set random size to %d bytes", p.randBytes)
}
}
func chkStore(path string) bool {
file, err := os.Stat(path)
if err != nil && os.IsNotExist(err) {
err = os.MkdirAll(path, 0744)
if err != nil {
return false
}
file, err = os.Stat(path)
}
if err != nil {
return false
}
if !file.IsDir() {
return false
}
if unix.Access(path, unix.W_OK&unix.R_OK) != nil {
return false
}
return true
}
func chkFile(path string) bool {
file, err := os.Stat(path)
if err != nil {
return false
}
if file.IsDir() {
return false
}
if unix.Access(path, unix.W_OK&unix.R_OK) != nil {
return false
}
return true
}
func chkGone(path string) bool {
file, err := os.Stat(path)
if err != nil {
return true
}
if file.Size() == 0 {
return true
}
return false
}
type noop struct {
io.Writer
}
func (noop) Close() error { return nil }
func (p *Paste) qrcode(w http.ResponseWriter, r *http.Request) {
qrc, err := qrcode.New(r.URL.Query().Get("u"))
if err != nil {
w.WriteHeader(http.StatusUnprocessableEntity)
fmt.Fprintf(w, "could not generate QRCode: %v", err)
return
}
wr := standard.NewWithWriter(noop{w}, standard.WithCircleShape())
w.WriteHeader(http.StatusOK)
_ = qrc.Save(wr)
}
func (p *Paste) getRandom(w http.ResponseWriter, _ *http.Request) {
s := make([]byte, p.randBytes)
_, _ = rand.Read(s)
w.Header().Set("content-type", "application/octet-stream")
w.WriteHeader(http.StatusOK)
_, _ = w.Write(s)
}
func (p *Paste) getPaste(w http.ResponseWriter, r *http.Request) {
vars := mux.Vars(r)
id := vars["id"]
fname := filepath.Join(p.store, id)
if !chkFile(fname) {
httpsrv.WriteText(w, http.StatusNotFound, "ERR Not Found")
return
}
if chkGone(fname) {
httpsrv.WriteText(w, http.StatusGone, "ERR Gone")
return
}
f, err := os.Open(fname)
if err != nil {
log.Fatal(err)
httpsrv.WriteText(w, http.StatusInternalServerError, "ERR Reading Content")
}
defer f.Close()
pr := readutil.NewPreviewReader(f)
keep := true
scanner := bufio.NewScanner(pr)
for scanner.Scan() {
txt := scanner.Text()
log.Debug(txt)
// End of header found
if txt == "" {
break
}
if strings.HasPrefix(txt, "exp:") {
now := time.Now().Unix()
exp, err := strconv.ParseInt(strings.TrimSpace(strings.TrimPrefix(txt, "exp:")), 10, 64)
if err != nil {
log.Warning(err)
}
log.Debugf("%d > %d", now, exp)
if now > exp {
w.WriteHeader(http.StatusGone)
_, _ = w.Write([]byte("ERR Gone"))
deleteFile(fname)
return
}
}
if strings.HasPrefix(txt, "burn:") {
burn := strings.TrimSpace(strings.TrimPrefix(txt, "burn:"))
if burn == "true" {
keep = false
}
}
}
w.WriteHeader(http.StatusOK)
_, _ = io.Copy(w, pr.Drain())
if !keep {
deleteFile(fname)
}
}
func (p *Paste) postPaste(w http.ResponseWriter, r *http.Request) {
defer r.Body.Close()
rdr := io.LimitReader(r.Body, 1048576)
s256 := sha256.New()
tmp, _ := ioutil.TempFile(p.store, "arch-")
defer os.Remove(tmp.Name())
m := io.MultiWriter(s256, tmp)
if _, err := io.Copy(m, rdr); err != nil {
httpsrv.WriteError(w, 400, err.Error())
}
tmp.Close()
id := base64.RawURLEncoding.EncodeToString(s256.Sum(nil)[12:])
fname := filepath.Join(p.store, id)
_ = os.Rename(tmp.Name(), fname)
httpsrv.WriteText(w, http.StatusCreated, "OK "+id)
}
// func checkErr(err error, w http.ResponseWriter) bool {
// if err != nil {
// httpsrv.WriteObject(w, http.StatusBadRequest, err)
// return true
// }
// return false
// }
func deleteFile(path string) {
_ = ioutil.WriteFile(path, nil, 0644)
}
-26
View File
@@ -1,26 +0,0 @@
package routes
import (
"fmt"
"net/http"
"sour.is/x/toolbox/httpsrv"
)
func init() {
asset := assetFS()
fmt.Printf("%#v\n", asset)
httpsrv.HttpRegister("ui", httpsrv.HttpRoutes{
{
Name: "Assets",
Method: "GET",
Pattern: "/ui{path:.*}",
HandlerFunc: http.StripPrefix("/ui", http.FileServer(httpsrv.FsHtml5(asset))).ServeHTTP,
},
{Name: "Root", Method: "GET", Pattern: "/", HandlerFunc: http.RedirectHandler("/ui/", http.StatusFound).ServeHTTP},
})
}
//go:generate go run github.com/sour-is/go-assetfs/cmd/assetfs -pkg routes -prefix ../../ ../../public/...
-167
View File
@@ -1,167 +0,0 @@
package routes
import (
"net/http"
"net/url"
"regexp"
"github.com/gorilla/mux"
"github.com/timshannon/badgerhold"
"sour.is/x/toolbox/httpsrv"
"sour.is/x/toolbox/log"
"sour.is/x/toolbox/uuid"
)
type logger struct{}
func (logger) Errorf(s string, o ...interface{}) { log.Errorf(s, o...) }
func (logger) Warningf(s string, o ...interface{}) { log.Warningf(s, o...) }
func (logger) Infof(s string, o ...interface{}) { log.Infof(s, o...) }
func (logger) Debugf(s string, o ...interface{}) { log.Debugf(s, o...) }
func init() {
s := &shortDB{}
httpsrv.RegisterModule("short", s.config)
httpsrv.HttpRegister("short", httpsrv.HttpRoutes{
{Name: "get", Method: "GET", Pattern: "/s/{id}", HandlerFunc: s.get},
{Name: "put", Method: "PUT", Pattern: "/s/{id}", HandlerFunc: s.put},
})
}
type shortDB struct {
options badgerhold.Options
}
func (s *shortDB) config(config map[string]string) {
s.options = badgerhold.DefaultOptions
s.options.Options = s.options.WithLogger(logger{})
var ok bool
if s.options.Dir, ok = config["index"]; !ok {
s.options.Dir = "data"
}
if s.options.ValueDir, ok = config["value"]; !ok {
s.options.ValueDir = "data"
}
store, err := badgerhold.Open(s.options)
defer func() {
if err = store.Close(); err != nil {
log.Fatal(err)
}
}()
if err != nil {
log.Fatal(err)
}
}
func (s *shortDB) get(w http.ResponseWriter, r *http.Request) {
vars := mux.Vars(r)
id := vars["id"]
store, err := badgerhold.Open(s.options)
defer func() {
if err = store.Close(); err != nil {
log.Fatal(err)
}
}()
if err != nil {
httpsrv.WriteText(w, 500, err.Error())
return
}
var url shortURL
err = store.Get(id, &url)
if err != nil && err != badgerhold.ErrNotFound {
httpsrv.WriteText(w, 500, err.Error())
return
}
if err == badgerhold.ErrNotFound {
httpsrv.WriteText(w, 404, "not found")
return
}
w.Header().Set("Location", url.URL)
w.WriteHeader(http.StatusFound)
}
func (s *shortDB) put(w http.ResponseWriter, r *http.Request) {
vars := mux.Vars(r)
id := vars["id"]
secret := r.FormValue("secret")
u, err := url.Parse(r.FormValue("url"))
if err != nil {
httpsrv.WriteText(w, 400, "bad url")
return
}
store, err := badgerhold.Open(s.options)
defer func() {
if err = store.Close(); err != nil {
log.Fatal(err)
}
}()
if err != nil {
httpsrv.WriteText(w, 500, err.Error())
return
}
url := &shortURL{}
err = store.Get(id, url)
if err != nil && err != badgerhold.ErrNotFound {
httpsrv.WriteText(w, 500, err.Error())
return
}
if err == badgerhold.ErrNotFound {
url = newShortURL(id, secret, u.String())
err := store.Insert(url.ID, url)
if err != nil {
httpsrv.WriteText(w, 500, err.Error())
return
}
httpsrv.WriteObject(w, 200, url)
return
}
if secret == "" {
httpsrv.WriteError(w, 401, "no auth")
return
}
if secret != url.Secret {
httpsrv.WriteError(w, 403, "forbidden")
return
}
err = store.Upsert(url.ID, url)
if err != nil {
httpsrv.WriteText(w, 500, err.Error())
return
}
httpsrv.WriteObject(w, 200, url)
}
type shortURL struct {
ID string `badgerhold:"unique"`
URL string
Secret string
}
func newShortURL(id, secret, u string) *shortURL {
m, err := regexp.MatchString("[a-z-]{1,64}", id)
if id == "" || !m || err != nil {
id = uuid.V4()
}
m, err = regexp.MatchString("[a-z-]{1,64}", secret)
if secret == "" || !m || err != nil {
secret = uuid.V4()
}
return &shortURL{ID: id, Secret: secret, URL: u}
}
View File
File renamed without changes.
-64
View File
@@ -1,64 +0,0 @@
module go.sour.is/paste/v2
go 1.21.3
require (
github.com/gomarkdown/markdown v0.0.0-20200824053859-8c8b3816f167
github.com/rs/cors v1.6.0
go.sour.is/paste v0.0.0-20231022150928-96338f2f4441
go.sour.is/pkg v0.0.6
golang.org/x/sys v0.13.0
sour.is/x/toolbox v0.12.17
)
require (
github.com/andybalholm/brotli v1.0.4 // indirect
github.com/beorn7/perks v1.0.1 // indirect
github.com/cenkalti/backoff/v4 v4.2.1 // indirect
github.com/cespare/xxhash/v2 v2.2.0 // indirect
github.com/felixge/httpsnoop v1.0.3 // indirect
github.com/fsnotify/fsnotify v1.4.9 // indirect
github.com/go-logr/logr v1.2.4 // indirect
github.com/go-logr/stdr v1.2.2 // indirect
github.com/golang/protobuf v1.5.3 // indirect
github.com/gorilla/mux v1.8.0 // indirect
github.com/grpc-ecosystem/grpc-gateway/v2 v2.16.0 // indirect
github.com/h2non/filetype v1.1.0 // indirect
github.com/hashicorp/hcl v1.0.0 // indirect
github.com/magiconair/properties v1.8.1 // indirect
github.com/matttproud/golang_protobuf_extensions v1.0.4 // indirect
github.com/mitchellh/mapstructure v1.5.0 // indirect
github.com/pelletier/go-toml v1.8.0 // indirect
github.com/prometheus/client_golang v1.17.0 // indirect
github.com/prometheus/client_model v0.4.1-0.20230718164431-9a2bf3000d16 // indirect
github.com/prometheus/common v0.44.0 // indirect
github.com/prometheus/procfs v0.12.0 // indirect
github.com/remyoudompheng/go-liblzma v0.0.0-20190506200333-81bf2d431b96 // indirect
github.com/spf13/afero v1.3.2 // indirect
github.com/spf13/cast v1.3.1 // indirect
github.com/spf13/jwalterweatherman v1.1.0 // indirect
github.com/spf13/pflag v1.0.5 // indirect
github.com/spf13/viper v1.7.1 // indirect
github.com/subosito/gotenv v1.2.0 // indirect
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.44.0 // indirect
go.opentelemetry.io/contrib/instrumentation/runtime v0.42.0 // indirect
go.opentelemetry.io/otel v1.18.0 // indirect
go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.18.0 // indirect
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.18.0 // indirect
go.opentelemetry.io/otel/exporters/prometheus v0.41.0 // indirect
go.opentelemetry.io/otel/metric v1.18.0 // indirect
go.opentelemetry.io/otel/sdk v1.18.0 // indirect
go.opentelemetry.io/otel/sdk/metric v0.41.0 // indirect
go.opentelemetry.io/otel/trace v1.18.0 // indirect
go.opentelemetry.io/proto/otlp v1.0.0 // indirect
go.uber.org/multierr v1.11.0 // indirect
golang.org/x/net v0.17.0 // indirect
golang.org/x/sync v0.3.0 // indirect
golang.org/x/text v0.13.0 // indirect
google.golang.org/genproto/googleapis/api v0.0.0-20230711160842-782d3b101e98 // indirect
google.golang.org/genproto/googleapis/rpc v0.0.0-20230711160842-782d3b101e98 // indirect
google.golang.org/grpc v1.58.0 // indirect
google.golang.org/protobuf v1.31.0 // indirect
gopkg.in/ini.v1 v1.57.0 // indirect
gopkg.in/yaml.v2 v2.4.0 // indirect
)
-477
View File
@@ -1,477 +0,0 @@
cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
cloud.google.com/go v0.38.0/go.mod h1:990N+gfupTy94rShfmMCWGDn0LpTmnzTp2qbd1dvSRU=
cloud.google.com/go v0.44.1/go.mod h1:iSa0KzasP4Uvy3f1mN/7PiObzGgflwredwwASm/v6AU=
cloud.google.com/go v0.44.2/go.mod h1:60680Gw3Yr4ikxnPRS/oxxkBccT6SA1yMk63TGekxKY=
cloud.google.com/go v0.45.1/go.mod h1:RpBamKRgapWJb87xiFSdk4g1CME7QZg3uwTez+TSTjc=
cloud.google.com/go v0.46.3/go.mod h1:a6bKKbmY7er1mI7TEI4lsAkts/mkhTSZK8w33B4RAg0=
cloud.google.com/go/bigquery v1.0.1/go.mod h1:i/xbL2UlR5RvWAURpBYZTtm/cXjCha9lbfbpx4poX+o=
cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE=
cloud.google.com/go/firestore v1.1.0/go.mod h1:ulACoGHTpvq5r8rxGJ4ddJZBZqakUQqClKRT5SZwBmk=
cloud.google.com/go/pubsub v1.0.1/go.mod h1:R0Gpsv3s54REJCy4fxDixWD93lHJMoZTyQ2kNxGRt3I=
cloud.google.com/go/storage v1.0.0/go.mod h1:IhtSnM/ZTZV8YYJWCY8RULGVqBDmpoyjwiyrjsg+URw=
dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU=
github.com/99designs/gqlgen v0.10.1/go.mod h1:IviubpnyI4gbBcj8IcxSSc/Q/+af5riwCmJmwF0uaPE=
github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
github.com/BurntSushi/toml v1.2.1 h1:9F2/+DoOYIOksmaJFPw1tGFy1eDnIJXg+UHjuD8lTak=
github.com/BurntSushi/toml v1.2.1/go.mod h1:CxXYINrC8qIiEnFrOxCa7Jy5BFHlXnUU2pbicEuybxQ=
github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo=
github.com/DATA-DOG/go-sqlmock v1.3.3/go.mod h1:f/Ixk793poVmq4qj/V1dPUg2JEAKC73Q5eFN3EC/SaM=
github.com/Masterminds/squirrel v0.0.0-20190511014652-b4b75d10d7bf/go.mod h1:yaPeOnPG5ZRwL9oKdTsO/prlkPbXWZlRVMQ/gGlzIuA=
github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU=
github.com/agnivade/levenshtein v1.0.1/go.mod h1:CURSv5d9Uaml+FovSIICkLbAUZ9S4RqaHDIsdSBg7lM=
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/andreyvit/diff v0.0.0-20170406064948-c7f18ee00883/go.mod h1:rCTlJbsFo29Kk6CurOXKm700vrz8f0KW0JNfpkRJY/8=
github.com/andybalholm/brotli v1.0.4 h1:V7DdXeJtZscaqfNuAdSRuRFzuiKlHSC/Zh3zl9qY3JY=
github.com/andybalholm/brotli v1.0.4/go.mod h1:fO7iG3H7G2nSZ7m0zPUDn85XEX2GTukHGRSepvi9Eig=
github.com/armon/circbuf v0.0.0-20150827004946-bbbad097214e/go.mod h1:3U/XgcO3hCbHZ8TKRvWD2dDTCfh9M9ya+I9JpbB7O8o=
github.com/armon/consul-api v0.0.0-20180202201655-eb2c6b5be1b6/go.mod h1:grANhF5doyWs3UAsr3K4I6qtAmlQcZDesFNEHPZAzj8=
github.com/armon/go-metrics v0.0.0-20180917152333-f0300d1749da/go.mod h1:Q73ZrmVTwzkszR9V5SSuryQ31EELlFMUz1kKyl939pY=
github.com/armon/go-radix v0.0.0-20180808171621-7fddfc383310/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8=
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/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM=
github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw=
github.com/bgentry/speakeasy v0.1.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs=
github.com/bketelsen/crypt v0.0.3-0.20200106085610-5cbc8cc4026c/go.mod h1:MKsuJmJgSg28kpZDP6UIiPt0e0Oz0kqKNGyRaWEPv84=
github.com/bouk/monkey v1.0.0 h1:k6z8fLlPhETfn5l9rlWVE7Q6B23DoaqosTdArvNQRdc=
github.com/bouk/monkey v1.0.0/go.mod h1:PG/63f4XEUlVyW1ttIeOJmJhhe1+t9EC/je3eTjvFhE=
github.com/cenkalti/backoff/v4 v4.2.1 h1:y4OZtCnogmCPw98Zjyt5a6+QwPLGkiQsYW5oUqylYbM=
github.com/cenkalti/backoff/v4 v4.2.1/go.mod h1:Y3VNntkOUPxTVeUxJ/G5vcM//AlwfmyYozVcomhLiZE=
github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc=
github.com/cespare/xxhash/v2 v2.2.0 h1:DC2CZ1Ep5Y4k3ZQ899DldepgrayRUGE6BBZ/cd9Cj44=
github.com/cespare/xxhash/v2 v2.2.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs=
github.com/cgilling/dbstats v0.0.0-20150427045024-c9db8cf218e6/go.mod h1:fsf3+k/VvGOE9sF2B9d6PBcZOzQIlDJhn2LhBqF/4VY=
github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw=
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/etcd v3.3.13+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE=
github.com/coreos/go-semver v0.2.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk=
github.com/coreos/go-semver v0.3.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk=
github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4=
github.com/coreos/pkg v0.0.0-20180928190104-399ea9e2e55f/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA=
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/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/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4=
github.com/felixge/httpsnoop v1.0.3 h1:s/nj+GCswXYzN5v2DpNMuMQYe+0DDwt5WVCU6CWBdXk=
github.com/felixge/httpsnoop v1.0.3/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U=
github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo=
github.com/fsnotify/fsnotify v1.4.9 h1:hsms1Qyu0jgnwNXIxa+/V/PDsU6CfLf6CNO8H7IWoS4=
github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ=
github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04=
github.com/go-chi/chi v3.3.2+incompatible/go.mod h1:eB3wogJHnLi3x/kFX2A+IbTBlXxmMeXJVKy9tTv1XzQ=
github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU=
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-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A=
github.com/go-logr/logr v1.2.4 h1:g01GSCwiDw2xSZfjJ2/T9M+S6pFdcNtFYsp+Y43HYDQ=
github.com/go-logr/logr v1.2.4/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A=
github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag=
github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE=
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/gogo/protobuf v1.0.0/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ=
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/gddo v0.0.0-20190815223733-287de01127ef/go.mod h1:xEhNfoBDX1hzLm2Nf80qUvZ2sVwoMZ8d6IE2SrsQfh4=
github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q=
github.com/golang/glog v1.1.0 h1:/d3pCKDPWNnvIWe0vVUpNP32qc8U3PDVxySP/y360qE=
github.com/golang/glog v1.1.0/go.mod h1:pfYeQZ3JWZoXTV5sFc986z3HTpwQs9At6P4ImfuP3NQ=
github.com/golang/groupcache v0.0.0-20190129154638-5b532d6fd5ef/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
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/mock v1.3.1/go.mod h1:sBzyDLLjw3U8JLTeZvSv8jJB+tU5PVekmnlKIyFUx0Y=
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/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk=
github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg=
github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY=
github.com/gomarkdown/markdown v0.0.0-20200824053859-8c8b3816f167 h1:LP/6EfrZ/LyCc+SXvANDrIJ4sP9u2NAtqyv6QknetNQ=
github.com/gomarkdown/markdown v0.0.0-20200824053859-8c8b3816f167/go.mod h1:aii0r/K0ZnHv7G0KF7xy1v0A7s2Ljrb5byB7MO5p6TU=
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.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU=
github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38=
github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
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/google/pprof v0.0.0-20190515194954-54271f7e092f/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc=
github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI=
github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg=
github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk=
github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY=
github.com/gopherjs/gopherjs v0.0.0-20190812055157-5d271430af9f h1:KMlcu9X58lhTA/KrfX8Bi1LQSO4pzoVjTiL3h4Jk+Zk=
github.com/gopherjs/gopherjs v0.0.0-20190812055157-5d271430af9f/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY=
github.com/gorilla/context v0.0.0-20160226214623-1ea25387ff6f/go.mod h1:kBGZzfjB9CEq2AlWe17Uuf7NDRt0dE0s8S51q0aT7Yg=
github.com/gorilla/mux v1.6.1/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs=
github.com/gorilla/mux v1.7.3/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs=
github.com/gorilla/mux v1.8.0 h1:i40aqfkR1h2SlN9hojwV5ZA91wcXFOvkdNIeFDP5koI=
github.com/gorilla/mux v1.8.0/go.mod h1:DVbg23sWSpFRCP0SfiEN6jmj59UnW/n46BH5rLB71So=
github.com/gorilla/websocket v1.2.0/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ=
github.com/gorilla/websocket v1.4.0/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ=
github.com/gorilla/websocket v1.4.2/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE=
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.9.0/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY=
github.com/grpc-ecosystem/grpc-gateway/v2 v2.16.0 h1:YBftPWNWd4WwGqtY2yeZL2ef8rHAxPBD8KFhJpmcqms=
github.com/grpc-ecosystem/grpc-gateway/v2 v2.16.0/go.mod h1:YN5jB8ie0yfIUg6VvR9Kz84aCaG7AsGZnLjhHbUqwPg=
github.com/h2non/filetype v1.1.0 h1:Or/gjocJrJRNK/Cri/TDEKFjAR+cfG6eK65NGYB6gBA=
github.com/h2non/filetype v1.1.0/go.mod h1:319b3zT68BvV+WRj7cwy856M2ehB3HqNOt6sy1HndBY=
github.com/hashicorp/consul/api v1.1.0/go.mod h1:VmuI/Lkw1nC05EYQWNKwWGbkg+FbDBtguAZLlVdkD9Q=
github.com/hashicorp/consul/sdk v0.1.1/go.mod h1:VKf9jXwCTEY1QZP2MOLRhb5i/I/ssyNV1vwHyQBF0x8=
github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4=
github.com/hashicorp/go-cleanhttp v0.5.1/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtngrth3wmdIIUrZ80=
github.com/hashicorp/go-immutable-radix v1.0.0/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60=
github.com/hashicorp/go-msgpack v0.5.3/go.mod h1:ahLV/dePpqEmjfWmKiqvPkv/twdG7iPBM1vqhUKIvfM=
github.com/hashicorp/go-multierror v1.0.0/go.mod h1:dHtQlpGsu+cZNNAkkCN/P3hoUDHhCYQXV3UM06sGGrk=
github.com/hashicorp/go-rootcerts v1.0.0/go.mod h1:K6zTfqpRlCUIjkwsN4Z+hiSfzSTQa6eBIzfwKfwNnHU=
github.com/hashicorp/go-sockaddr v1.0.0/go.mod h1:7Xibr9yA9JjQq1JpNB2Vw7kxv8xerXegt+ozgdvDeDU=
github.com/hashicorp/go-syslog v1.0.0/go.mod h1:qPfqrKkXGihmCqbJM2mZgkZGvKG1dFdvsLplgctolz4=
github.com/hashicorp/go-uuid v1.0.0/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro=
github.com/hashicorp/go-uuid v1.0.1/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro=
github.com/hashicorp/go.net v0.0.1/go.mod h1:hjKkEWcCURg++eb33jQU7oqQcI9XDCnUzHA0oac0k90=
github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8=
github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8=
github.com/hashicorp/hcl v1.0.0 h1:0Anlzjpi4vEasTeNFn2mLJgTSwt0+6sfsiTG8qcWGx4=
github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ=
github.com/hashicorp/logutils v1.0.0/go.mod h1:QIAnNjmIWmVIIkWDTG1z5v++HQmx9WQRO+LraFDTW64=
github.com/hashicorp/mdns v1.0.0/go.mod h1:tL+uN++7HEJ6SQLQ2/p+z2pH24WQKWjBPkE0mNTz8vQ=
github.com/hashicorp/memberlist v0.1.3/go.mod h1:ajVTdAv/9Im8oMAAj5G31PhhMCZJV2pPBoIllUwCN7I=
github.com/hashicorp/serf v0.8.2/go.mod h1:6hOLApaqBFA1NXqRQAsxw9QxuDEvNxSQRwA/JwenrHc=
github.com/jmoiron/sqlx v0.0.0-20150110152746-69738bd20981/go.mod h1:IiEW3SEiiErVyFdH8NTuWjSifiEQKUoyK3LNqr2kCHU=
github.com/jonboulle/clockwork v0.1.0/go.mod h1:Ii8DK3G1RaLaWxj9trq07+26W01tbo22gdxWY5EU2bo=
github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU=
github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU=
github.com/jtolds/gls v4.20.0+incompatible h1:xdiiI2gbIgH/gLH7ADydsJ1uDOEzR8yvV7C0MuV77Wo=
github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU=
github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w=
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 v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
github.com/kr/fs v0.1.0/go.mod h1:FFnZGqtBN9Gxj7eW1uZ42v5BccTP0vu6NEaFoC2HwRg=
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/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE=
github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk=
github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
github.com/lann/builder v0.0.0-20180802200727-47ae307949d0/go.mod h1:dXGbAdH5GtBTC4WfIxhKZfyBF/HBFgRZSWwZ9g/He9o=
github.com/lann/ps v0.0.0-20150810152359-62de8c46ede0/go.mod h1:vmVJ0l/dxyfGW6FmdpVm2joNMFikkuWg0EoCKLGUMNw=
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/magiconair/properties v1.8.1 h1:ZC2Vc7/ZFkGmsVC9KvOjumD+G5lXy2RtTKyzRKO2BQ4=
github.com/magiconair/properties v1.8.1/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ=
github.com/matryer/is v1.4.1 h1:55ehd8zaGABKLXQUe2awZ99BD/PTc2ls+KV/dXphgEQ=
github.com/matryer/is v1.4.1/go.mod h1:8I/i5uYgLzgsgEloJE1U6xx5HkBQpAZvepWuujKwMRU=
github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU=
github.com/mattn/go-isatty v0.0.3/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4=
github.com/mattn/go-sqlite3 v1.11.0/go.mod h1:FPy6KqzDD04eiIsT53CuJW3U88zkxoIYsOqkbpncsNc=
github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0=
github.com/matttproud/golang_protobuf_extensions v1.0.4 h1:mmDVorXM7PCGKw94cs5zkfA9PSy5pEvNWRP0ET0TIVo=
github.com/matttproud/golang_protobuf_extensions v1.0.4/go.mod h1:BSXmuO+STAnVfrANrmjBb36TMTDstsz7MSK+HVaYKv4=
github.com/miekg/dns v1.0.14/go.mod h1:W1PPwlIAgtquWBMBEV9nkV9Cazfe8ScdGz/Lj7v3Nrg=
github.com/mitchellh/cli v1.0.0/go.mod h1:hNIlj7HEI86fIcpObd7a0FcrxTWetlwJDGcceTlRvqc=
github.com/mitchellh/go-homedir v1.0.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0=
github.com/mitchellh/go-testing-interface v1.0.0/go.mod h1:kRemZodwjscx+RGhAo8eIhFbs2+BFgRtFPeD/KE+zxI=
github.com/mitchellh/gox v0.4.0/go.mod h1:Sd9lOJ0+aimLBi73mGofS1ycjY8lL3uZM3JPS42BGNg=
github.com/mitchellh/iochan v1.0.0/go.mod h1:JwYml1nuB7xOzsp52dPpHFffvOCDupsG0QubkSMEySY=
github.com/mitchellh/mapstructure v0.0.0-20160808181253-ca63d7c062ee/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y=
github.com/mitchellh/mapstructure v0.0.0-20180203102830-a4e142e9c047/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y=
github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y=
github.com/mitchellh/mapstructure v1.5.0 h1:jeMsZIYE/09sWLaz43PL7Gy6RuMjD2eJVyuac5Z2hdY=
github.com/mitchellh/mapstructure v1.5.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo=
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0=
github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U=
github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn4U=
github.com/opentracing/basictracer-go v1.0.0/go.mod h1:QfBfYuafItcjQuMwinw9GhYKwFXS9KnPs5lxoYwgW74=
github.com/opentracing/opentracing-go v1.0.2/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o=
github.com/opentracing/opentracing-go v1.1.0/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o=
github.com/pascaldekloe/goe v0.0.0-20180627143212-57f6aae5913c/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc=
github.com/patrickmn/go-cache v2.1.0+incompatible/go.mod h1:3Qf8kWWT7OJRJbdiICTKqZju1ZixQ/KpMGzzAfe6+WQ=
github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic=
github.com/pelletier/go-toml v1.5.0/go.mod h1:5N711Q9dKgbdkxHL+MEfF31hpT7l0S0s/t2kKREewys=
github.com/pelletier/go-toml v1.8.0 h1:Keo9qb7iRJs2voHvunFtuuYFsbWeOBh8/P9v/kVMFtw=
github.com/pelletier/go-toml v1.8.0/go.mod h1:D6yutnOGMveHEPV7VQOuvI/gXY61bv+9bAOTRnLElKs=
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/pkg/sftp v1.10.1/go.mod h1:lYOWFsE0bwd1+KfKJaKeuokY15vzFx25BLbzYYoAxZI=
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/posener/complete v1.1.1/go.mod h1:em0nMJCgc9GFtwrmVmEMR/ZL6WyhyjMBndrE9hABlRI=
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_golang v1.17.0 h1:rl2sfwZMtSthVU752MqfjQozy7blglC+1SOtjMAMh+Q=
github.com/prometheus/client_golang v1.17.0/go.mod h1:VeL+gMmOAxkS2IqfCq0ZmHSL+LjWfWDUmp1mBz9JgUY=
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/client_model v0.4.1-0.20230718164431-9a2bf3000d16 h1:v7DLqVdK4VrYkVD5diGdl4sxJurKJEMnODWRJlxV9oM=
github.com/prometheus/client_model v0.4.1-0.20230718164431-9a2bf3000d16/go.mod h1:oMQmHW1/JoDwqLtg57MGgP/Fb1CJEYF2imWWhWtMkYU=
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/common v0.44.0 h1:+5BrQJwiBB9xsMygAB3TNvpQKOwlkc25LbISbrdOOfY=
github.com/prometheus/common v0.44.0/go.mod h1:ofAIvZbQ1e/nugmZGz4/qCb9Ap1VoSTIO7x0VV9VvuY=
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/procfs v0.12.0 h1:jluTpSng7V9hY0O2R9DzzJHYb2xULk9VTR1V1R/k6Bo=
github.com/prometheus/procfs v0.12.0/go.mod h1:pcuDEFsWDnvcgNzo4EEweacyhjeA9Zk3cnaOZAZEfOo=
github.com/prometheus/tsdb v0.7.1/go.mod h1:qhTCs0VvXwvX/y3TZrWD7rabWM+ijKTux40TwIPHuXU=
github.com/remyoudompheng/go-liblzma v0.0.0-20190506200333-81bf2d431b96 h1:J8J/cgLDRuqXJnwIrRDBvtl+LLsdg7De74znW/BRRq4=
github.com/remyoudompheng/go-liblzma v0.0.0-20190506200333-81bf2d431b96/go.mod h1:90HvCY7+oHHUKkbeMCiHt1WuFR2/hPJ9QrljDG+v6ls=
github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6SoW27p1b0cqNHllgS5HIMJraePCO15w5zCzIWYg=
github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4=
github.com/rogpeppe/go-internal v1.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjRBZyWFQ=
github.com/rogpeppe/go-internal v1.10.0/go.mod h1:UQnix2H7Ngw/k4C5ijL5+65zddjncjaFoBhdsK/akog=
github.com/rs/cors v1.6.0 h1:G9tHG9lebljV9mfp9SNPDL36nCDxmo3zTlAf1YgvzmI=
github.com/rs/cors v1.6.0/go.mod h1:gFx+x8UowdsKA9AchylcLynDq+nNFfI8FkUZdN/jGCU=
github.com/ryanuber/columnize v0.0.0-20160712163229-9b3edd62028f/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts=
github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529/go.mod h1:DxrIzT+xaE7yg65j358z/aeFdxmN0P9QXhEzd20vsDc=
github.com/sergi/go-diff v1.0.0/go.mod h1:0CfEIISq7TuYL3j771MWULgwwjU+GofnZX9QAmXWZgo=
github.com/shurcooL/httpfs v0.0.0-20171119174359-809beceb2371/go.mod h1:ZY1cvUeJuFPAdZ/B6v7RHavJWZn2YPVFQ1OSXhCGOkg=
github.com/shurcooL/vfsgen v0.0.0-20180121065927-ffb13db8def0/go.mod h1:TrYk7fJVaAttu97ZZKrO9UbRa8izdowaMIZcxYMbVaw=
github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo=
github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc=
github.com/smartystreets/assertions v0.0.0-20190401211740-f487f9de1cd3 h1:hBSHahWMEgzwRyS6dRpxY0XyjZsHyQ61s084wo5PJe0=
github.com/smartystreets/assertions v0.0.0-20190401211740-f487f9de1cd3/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc=
github.com/smartystreets/goconvey v0.0.0-20170602164621-9e8dc3f972df/go.mod h1:XDJAKZRPZ1CvBcN2aX5YOUTYGHki24fSF0Iv48Ibg0s=
github.com/smartystreets/goconvey v1.6.4 h1:fv0U8FUIMPNf1L9lnHLvLhgicrIVChEkdzIKYqbNC9s=
github.com/smartystreets/goconvey v1.6.4/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA=
github.com/soheilhy/cmux v0.1.4/go.mod h1:IM3LyeVVIOuxMH7sFAkER9+bJ4dT7Ms6E4xg4kGIyLM=
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.2/go.mod h1:9ZxEEn6pIJ8Rxe320qSDBk6AsU0r9pR7Q4OcevTdifk=
github.com/spf13/afero v1.3.2 h1:GDarE4TJQI52kYSbSAmLiId1Elfj+xgSDqrUZxFhxlU=
github.com/spf13/afero v1.3.2/go.mod h1:5KUK8ByomD5Ti5Artl0RtHeI5pTF7MIDuXL3yY520V4=
github.com/spf13/cast v1.3.0/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE=
github.com/spf13/cast v1.3.1 h1:nFm6S0SMdyzrzcmThSipiEubIDy8WEXKNZ0UOgiRpng=
github.com/spf13/cast v1.3.1/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE=
github.com/spf13/jwalterweatherman v1.0.0/go.mod h1:cQK4TGJAtQXfYWX+Ddv3mKDzgVb68N+wFjFa4jdeBTo=
github.com/spf13/jwalterweatherman v1.1.0 h1:ue6voC5bR5F8YxI5S67j9i582FU4Qvo2bmqnqMYADFk=
github.com/spf13/jwalterweatherman v1.1.0/go.mod h1:aNWZUN0dPAAO/Ljvb5BEdw96iTZ0EXowPYD95IqWIGo=
github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4=
github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA=
github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg=
github.com/spf13/viper v1.4.0/go.mod h1:PTJ7Z/lr49W6bUbkmS1V3by4uWynFiR9p7+dSq/yZzE=
github.com/spf13/viper v1.7.1 h1:pM5oEahlgWv/WnHXpgbKz7iLIxRf65tye2Ci+XFK5sk=
github.com/spf13/viper v1.7.1/go.mod h1:8WkrPz2fc9jxqZNCJI/76HCieCp4Q8HaLFoCha5qpdg=
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/testify v1.2.1/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
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/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk=
github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo=
github.com/subosito/gotenv v1.2.0 h1:Slr1R9HxAlEKefgq5jn9U+DnETlIUa6HfgEzj0g5d7s=
github.com/subosito/gotenv v1.2.0/go.mod h1:N0PQaV/YGNqwC0u51sEeR/aUtSLEXKX9iv69rRypqCw=
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/urfave/cli v1.20.0/go.mod h1:70zkFmudgCuE/ngEzBv17Jvp/497gISqfk5gWijbERA=
github.com/vektah/dataloaden v0.2.1-0.20190515034641-a19b9a6e7c9e/go.mod h1:/HUdMve7rvxZma+2ZELQeNh88+003LL7Pf/CZ089j8U=
github.com/vektah/gqlparser v1.1.2/go.mod h1:1ycwN7Ij5njmMkPPAOaRFY4rET2Enx7IkVv3vaXspKw=
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/yosssi/gmq v0.0.1/go.mod h1:mReykazh0U1JabvuWh1PEbzzJftqOQWsjr0Lwg5jL1Y=
go.etcd.io/bbolt v1.3.2/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU=
go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU=
go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8=
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.44.0 h1:KfYpVmrjI7JuToy5k8XV3nkapjWx48k4E4JOtVstzQI=
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.44.0/go.mod h1:SeQhzAEccGVZVEy7aH87Nh0km+utSpo1pTv6eMMop48=
go.opentelemetry.io/contrib/instrumentation/runtime v0.42.0 h1:EbmAUG9hEAMXyfWEasIt2kmh/WmXUznUksChApTgBGc=
go.opentelemetry.io/contrib/instrumentation/runtime v0.42.0/go.mod h1:rD9feqRYP24P14t5kmhNMqsqm1jvKmpx2H2rKVw52V8=
go.opentelemetry.io/otel v1.18.0 h1:TgVozPGZ01nHyDZxK5WGPFB9QexeTMXEH7+tIClWfzs=
go.opentelemetry.io/otel v1.18.0/go.mod h1:9lWqYO0Db579XzVuCKFNPDl4s73Voa+zEck3wHaAYQI=
go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.18.0 h1:IAtl+7gua134xcV3NieDhJHjjOVeJhXAnYf/0hswjUY=
go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.18.0/go.mod h1:w+pXobnBzh95MNIkeIuAKcHe/Uu/CX2PKIvBP6ipKRA=
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.18.0 h1:6pu8ttx76BxHf+xz/H77AUZkPF3cwWzXqAUsXhVKI18=
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.18.0/go.mod h1:IOmXxPrxoxFMXdNy7lfDmE8MzE61YPcurbUm0SMjerI=
go.opentelemetry.io/otel/exporters/prometheus v0.41.0 h1:A3/bhjP5SmELy8dcpK+uttHeh9Qrh+YnS16/VzrztRQ=
go.opentelemetry.io/otel/exporters/prometheus v0.41.0/go.mod h1:mKuXEMi9suyyNJQ99SZCO0mpWGFe0MIALtjd3r6uo7Q=
go.opentelemetry.io/otel/metric v1.18.0 h1:JwVzw94UYmbx3ej++CwLUQZxEODDj/pOuTCvzhtRrSQ=
go.opentelemetry.io/otel/metric v1.18.0/go.mod h1:nNSpsVDjWGfb7chbRLUNW+PBNdcSTHD4Uu5pfFMOI0k=
go.opentelemetry.io/otel/sdk v1.18.0 h1:e3bAB0wB3MljH38sHzpV/qWrOTCFrdZF2ct9F8rBkcY=
go.opentelemetry.io/otel/sdk v1.18.0/go.mod h1:1RCygWV7plY2KmdskZEDDBs4tJeHG92MdHZIluiYs/M=
go.opentelemetry.io/otel/sdk/metric v0.41.0 h1:c3sAt9/pQ5fSIUfl0gPtClV3HhE18DCVzByD33R/zsk=
go.opentelemetry.io/otel/sdk/metric v0.41.0/go.mod h1:PmOmSt+iOklKtIg5O4Vz9H/ttcRFSNTgii+E1KGyn1w=
go.opentelemetry.io/otel/trace v1.18.0 h1:NY+czwbHbmndxojTEKiSMHkG2ClNH2PwmcHrdo0JY10=
go.opentelemetry.io/otel/trace v1.18.0/go.mod h1:T2+SGJGuYZY3bjj5rgh/hN7KIrlpWC5nS8Mjvzckz+0=
go.opentelemetry.io/proto/otlp v1.0.0 h1:T0TX0tmXU8a3CbNXzEKGeU5mIVOdf0oykP+u2lIVU/I=
go.opentelemetry.io/proto/otlp v1.0.0/go.mod h1:Sy6pihPLfYHkr3NkUbEhGHFhINUSI/v80hjKIs5JXpM=
go.sour.is/paste v0.0.0-20231022150928-96338f2f4441 h1:9un6JVrufqnWGBKxYKSfgQlh1rV7HztT8Bns0YdyZDc=
go.sour.is/paste v0.0.0-20231022150928-96338f2f4441/go.mod h1:ydiXZa7htkXTbifRHxUR+LppH3kXrN1XqPd19VSzPdI=
go.sour.is/pkg v0.0.6 h1:tbE3zxl0WtCn7isPBWEEjZVzDhV8lWGU6qmfVR0t5gw=
go.sour.is/pkg v0.0.6/go.mod h1:IKGL3C4IkY3HPA2txGjBi1JPOEU5PJOUzQwt+qYZBW0=
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/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0=
go.uber.org/multierr v1.11.0/go.mod h1:20+QtiLqy0Nd6FdQB9TLXag12DsQkrbs3htMFfDN80Y=
go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q=
golang.org/dl v0.0.0-20190829154251-82a15e2f2ead/go.mod h1:IUMfjQLJQd4UTqG1Z90tenwKoCX93Gn3MAQJMOSBsDQ=
golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
golang.org/x/crypto v0.0.0-20181029021203-45a5f77698d3/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-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/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/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8=
golang.org/x/exp v0.0.0-20190829153037-c13cbed26979/go.mod h1:86+5VVa7VpoJ4kLfm080zCjGlMRFzhUhsZKEZO7MGek=
golang.org/x/exp v0.0.0-20191030013958-a1ab85dbe136/go.mod h1:JXzH8nQsPlswgeRAPE3MuO9GYsAcnJvJ4vnMwN/5qkY=
golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js=
golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0=
golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=
golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU=
golang.org/x/lint v0.0.0-20190301231843-5614ed5bae6f/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=
golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc=
golang.org/x/lint v0.0.0-20190409202823-959b441ac422/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc=
golang.org/x/lint v0.0.0-20190909230951-414d861bb4ac/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc=
golang.org/x/lint v0.0.0-20190930215403-16217165b5de/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc=
golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod h1:z+o9i4GpDbdi3rU15maQ/Ox0txvL9dWGYEHz965HBQE=
golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028/go.mod h1:E/iHnbuqvinMTCcRqshq8CkpyQDoeVncDDYHnLhea+o=
golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod h1:mXi4GBBbnImb6dmsKGUJ2LatrhH/nqhxcFungHvyanc=
golang.org/x/mod v0.1.0/go.mod h1:0QHyrYULN0/3qlju5TqG8bIK38QM8yzMo5ekMj3DlcY=
golang.org/x/net v0.0.0-20180724234803-3673e40ba225/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-20181023162649-9b4f9f5ad519/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-20181220203305-927f97764cc3/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/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-20190501004415-9ce7a6920f09/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
golang.org/x/net v0.0.0-20190503192946-f4e77d36d62c/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-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.17.0 h1:pVaXccu2ozPjCXewfr1S7xza/zcXTity9cCdXQYSjIM=
golang.org/x/net v0.17.0/go.mod h1:NxSsAGuq816PNPmqtQdLE42eU2Fs7NoRIZrHJAlaCOE=
golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
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-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.3.0 h1:ftCYgMx6zT/asHUrPw8BLLscYtGznsLAnjq5RH9P66E=
golang.org/x/sync v0.3.0/go.mod h1:FU7BRWz2tNW+3quACPkgCx/L+uEAv1htQ0V83Z9Rj+Y=
golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/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-20181026203630-95b1ffbd15a5/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-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190502145724-3ef323f4f1fd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20191005200804-aed5e4c7ecf9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20191010194322-b09406accb47/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.13.0 h1:Af8nKPmuFypiUBjVoU9V20FiaFXOcuZI21p0ycVYYGE=
golang.org/x/sys v0.13.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
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/text v0.13.0 h1:ablQoSUd0tRdKxZewP80B+BaqeKJuVhuRxj/dkrun3k=
golang.org/x/text v0.13.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE=
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-20180917221912-90fa682c2a6e/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-20190125232054-d66bd3c5d5a6/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY=
golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
golang.org/x/tools v0.0.0-20190312151545-0bb0c0a6e846/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
golang.org/x/tools v0.0.0-20190312170243-e65039ee4138/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
golang.org/x/tools v0.0.0-20190328211700-ab21143f2384/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
golang.org/x/tools v0.0.0-20190425150028-36563e24a262/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q=
golang.org/x/tools v0.0.0-20190506145303-2d16b83fe98c/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q=
golang.org/x/tools v0.0.0-20190515012406-7d7faa4812bd/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q=
golang.org/x/tools v0.0.0-20190606124116-d0a3d012864b/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-20190628153133-6cdbf07be9d0/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc=
golang.org/x/tools v0.0.0-20190816200558-6889da9d5479/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
golang.org/x/tools v0.0.0-20190911174233-4f2ddba30aff/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
golang.org/x/tools v0.0.0-20191012152004-8de300cfc20a/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
golang.org/x/tools v0.0.0-20191112195655-aa38f8e97acc/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE=
google.golang.org/api v0.7.0/go.mod h1:WtwebWUNSVBH/HAw79HIFXZNqEvBhG+Ra+ax0hx3E3M=
google.golang.org/api v0.8.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg=
google.golang.org/api v0.9.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg=
google.golang.org/api v0.13.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI=
google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM=
google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
google.golang.org/appengine v1.5.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-20190307195333-5fe7a883aa19/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE=
google.golang.org/genproto v0.0.0-20190418145605-e7d98fc518a7/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE=
google.golang.org/genproto v0.0.0-20190425155659-357c62f0e4bb/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE=
google.golang.org/genproto v0.0.0-20190502173448-54afdca5d873/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE=
google.golang.org/genproto v0.0.0-20190801165951-fa694d86fc64/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc=
google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc=
google.golang.org/genproto v0.0.0-20190911173649-1774047e7e51/go.mod h1:IbNlFCBrqXvoKpeg0TB2l7cyZUmoaFKYIwrEpbDKLA8=
google.golang.org/genproto v0.0.0-20191108220845-16a3f7862a1a/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc=
google.golang.org/genproto v0.0.0-20230711160842-782d3b101e98 h1:Z0hjGZePRE0ZBWotvtrwxFNrNE9CUAGtplaDK5NNI/g=
google.golang.org/genproto v0.0.0-20230711160842-782d3b101e98/go.mod h1:S7mY02OqCJTD0E1OiQy1F72PWFB4bZJ87cAtLPYgDR0=
google.golang.org/genproto/googleapis/api v0.0.0-20230711160842-782d3b101e98 h1:FmF5cCW94Ij59cfpoLiwTgodWmm60eEV0CjlsVg2fuw=
google.golang.org/genproto/googleapis/api v0.0.0-20230711160842-782d3b101e98/go.mod h1:rsr7RhLuwsDKL7RmgDDCUc6yaGr1iqceVb5Wv6f6YvQ=
google.golang.org/genproto/googleapis/rpc v0.0.0-20230711160842-782d3b101e98 h1:bVf09lpb+OJbByTj913DRJioFFAjf/ZGxEz7MajTp2U=
google.golang.org/genproto/googleapis/rpc v0.0.0-20230711160842-782d3b101e98/go.mod h1:TUfxEVdsvPg18p6AslUXFoLdpED4oBnGwyqk3dV1XzM=
google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c=
google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38=
google.golang.org/grpc v1.21.0/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM=
google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM=
google.golang.org/grpc v1.58.0 h1:32JY8YpPMSR45K+c3o6b8VL73V+rR8k+DeMIr4vRH8o=
google.golang.org/grpc v1.58.0/go.mod h1:tgX3ZQDlNJGU96V6yHh1T/JeoBQ2TXdr43YbYSsCJk0=
google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw=
google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc=
google.golang.org/protobuf v1.31.0 h1:g0LDEJHgrBl9N9r17Ru3sqWhkIx2NB67okBHPwC7hs8=
google.golang.org/protobuf v1.31.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I=
gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw=
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/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk=
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q=
gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI=
gopkg.in/ini.v1 v1.51.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k=
gopkg.in/ini.v1 v1.57.0 h1:9unxIsFcTt4I55uWluz+UmL95q4kdJ0buvQ1ZIqVQww=
gopkg.in/ini.v1 v1.57.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k=
gopkg.in/resty.v1 v1.12.0/go.mod h1:mDo4pnntr5jdWRML875a/NmxYqAlA73dVijT2AXvQQo=
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=
gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY=
gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ=
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
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=
honnef.co/go/tools v0.0.0-20190418001031-e561f6794a2a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg=
rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8=
sour.is/x/toolbox v0.12.17 h1:m+8fAl5dkuu2HsmkOuefb6tDFzpPq93xAAtZZvBxySk=
sour.is/x/toolbox v0.12.17/go.mod h1:DMM+aEl38izskLKuH+nDwEHH4FznK6dEiDcPR3wAq5s=
sourcegraph.com/sourcegraph/appdash v0.0.0-20180110180208-2cc67fd64755/go.mod h1:hI742Nqp5OhwiqlzhgfbWU4mW4yO10fP+LoT9WOswdU=
sourcegraph.com/sourcegraph/appdash-data v0.0.0-20151005221446-73f23eafcf67/go.mod h1:L5q+DGLGOQFpo1snNEkLOJT2d1YTW66rWNzatr3He1k=