]> 127.0.0.1 Git - bili_danmu/.git/commitdiff
fix dep
authorqydysky <qydysky@foxmail.com>
Wed, 11 Nov 2020 23:27:18 +0000 (07:27 +0800)
committerqydysky <qydysky@foxmail.com>
Wed, 11 Nov 2020 23:28:04 +0000 (07:28 +0800)
.github/workflows/go.yml
.github/workflows/test.yml
F/api.go
Reply/F.go
Reply/Msg.go
Send/Send.go
VERSION
_msg_sample/ONLINE_RANK_V2.json [new file with mode: 0644]
demo/go.mod
demo/go.sum

index 5b942cea51a1344ef2792cc5c24463e338df6e29..0c6737aa62e3a5948871180e5084af0f366e09f7 100644 (file)
@@ -49,7 +49,7 @@ jobs:
     - name: Build
       run: |
         sudo apt-get install libgtk-3-dev libcairo2-dev libglib2.0-dev
-        go build -v -o demo/demo.run -i demo/main.go
+        go build -v -buildmode=exe -o demo/demo.run -i demo/main.go
       
     - name: zip
       run: zip -q -r release_ubuntu.zip *
index 2df02b77a3f9d1ad1c91282808e703a361c64a59..461b928e03b79a0a4e0bfbde17a4b6a197162ced 100644 (file)
@@ -27,7 +27,7 @@ jobs:
     - name: Build
       run: |
         sudo apt-get install libgtk-3-dev libcairo2-dev libglib2.0-dev
-        go build -v -o demo/demo.run -i demo/main.go
+        go build -v -buildmode=exe -o demo/demo.run -i demo/main.go
       
     - name: zip
       run: zip -q -r release_ubuntu.zip *
index bd37deec89dc07079e204806077f3442e83549f3..43f5812d3a6691d562015bb0f71d7e569d0379b0 100644 (file)
--- a/F/api.go
+++ b/F/api.go
@@ -5,6 +5,7 @@ import (
        "strings"
 
        c "github.com/qydysky/bili_danmu/CV"
+       g "github.com/qydysky/part/get"
        p "github.com/qydysky/part"
 )
 
@@ -42,7 +43,7 @@ func (i *api) Get_info() (o *api) {
        }
        Roomid := strconv.Itoa(o.Roomid)
 
-       r := p.Get(p.Rval{
+       r := g.Get(p.Rval{
                Url:"https://live.bilibili.com/" + Roomid,
        })
        //uid
@@ -78,7 +79,9 @@ func (i *api) Get_info() (o *api) {
                req := p.Req()
                if err := req.Reqf(p.Rval{
                        Url:"https://api.live.bilibili.com/room/v1/Room/room_init?id=" + Roomid,
-                       Referer:"https://live.bilibili.com/" + Roomid,
+                       Header:map[string]string{
+                               `Referer`:"https://live.bilibili.com/" + Roomid,
+                       },
                        Timeout:10,
                        Retry:2,
                });err != nil {
@@ -135,9 +138,11 @@ func (i *api) Get_live(qn ...string) (o *api) {
        }
 
        if len(qn) == 0 || qn[0] == "0" || qn[0] == "" {//html获取
-               r := p.Get(p.Rval{
+               r := g.Get(p.Rval{
                        Url:"https://live.bilibili.com/" + strconv.Itoa(o.Roomid),
-                       Cookie:Cookie,
+                       Header:map[string]string{
+                               `Cookie`:Cookie,
+                       },
                })
                if e := r.S(`"durl":[`, `]`, 0, 0).Err;e == nil {
                        if urls := p.Json().GetArrayFrom("[" + r.RS + "]", "url");urls != nil {
@@ -160,9 +165,11 @@ func (i *api) Get_live(qn ...string) (o *api) {
                req := p.Req()
                if err := req.Reqf(p.Rval{
                        Url:"https://api.live.bilibili.com/xlive/web-room/v1/index/getRoomPlayInfo?play_url=1&mask=1&qn=0&platform=web&ptype=16&room_id=" + strconv.Itoa(o.Roomid),
-                       Referer:"https://live.bilibili.com/" + strconv.Itoa(o.Roomid),
+                       Header:map[string]string{
+                               `Referer`:"https://live.bilibili.com/" + strconv.Itoa(o.Roomid),
+                               `Cookie`:Cookie,
+                       },
                        Timeout:10,
-                       Cookie:Cookie,
                        Retry:2,
                });err != nil {
                        apilog.E(err)
@@ -220,9 +227,11 @@ func (i *api) Get_live(qn ...string) (o *api) {
                        }
                        if err := req.Reqf(p.Rval{
                                Url:"https://api.live.bilibili.com/xlive/web-room/v1/playUrl/playUrl?cid=" + strconv.Itoa(o.Roomid) + "&qn=" + qn[0] + "&platform=web&https_url_req=1&ptype=16",
-                               Referer:"https://live.bilibili.com/" + strconv.Itoa(o.Roomid),
+                               Header:map[string]string{
+                                       `Cookie`:Cookie,
+                                       `Referer`:"https://live.bilibili.com/" + strconv.Itoa(o.Roomid),
+                               },
                                Timeout:10,
-                               Cookie:Cookie,
                                Retry:2,
                        });err != nil {
                                apilog.E(err)
@@ -267,7 +276,9 @@ func (i *api) Get_host_Token() (o *api) {
        req := p.Req()
        if err := req.Reqf(p.Rval{
                Url:"https://api.live.bilibili.com/xlive/web-room/v1/index/getDanmuInfo?type=0&id=" + Roomid,
-               Referer:"https://live.bilibili.com/" + Roomid,
+               Header:map[string]string{
+                       `Referer`:"https://live.bilibili.com/" + Roomid,
+               },
                Timeout:10,
                Retry:2,
        });err != nil {
@@ -311,7 +322,9 @@ func Get_face_src(uid string) (string) {
        req := p.Req()
        if err := req.Reqf(p.Rval{
                Url:"https://api.live.bilibili.com/xlive/web-room/v1/index/getDanmuMedalAnchorInfo?ruid=" + uid,
-               Referer:"https://live.bilibili.com/" + strconv.Itoa(c.Roomid),
+               Header:map[string]string{
+                       `Referer`:"https://live.bilibili.com/" + strconv.Itoa(c.Roomid),
+               },
                Timeout:10,
                Retry:2,
        });err != nil {
index d82948bc143b5d8a184237da19651ae5dc82342d..1720dcd3b7950acd53235d583f4bed8bee373fc0 100644 (file)
@@ -14,7 +14,7 @@ import (
        F "github.com/qydysky/bili_danmu/F"
        "github.com/christopher-dG/go-obs-websocket"
        p "github.com/qydysky/part"
-       s "github.com/qydysky/part/setting"
+       s "github.com/qydysky/part/buf"
 )
 
 /*
@@ -288,12 +288,14 @@ func Saveflvf(){
                                Url:c.Live[cuLinkIndex],
                                Retry:10,
                                SleepTime:5,
-                               Cookie:Cookie,
+                               Header:map[string]string{
+                                       `Cookie`:Cookie,
+                               },
                                Timeout:5,
                                JustResponseCode:true,
                        }); e != nil{l.W(e)}
 
-                       if rr.ResponseCode != 200 {
+                       if rr.Response.StatusCode != 200 {
                                saveflv.wait.Done()
                                saveflv.cancel.Done()
                                cuLinkIndex += 1
@@ -309,7 +311,9 @@ func Saveflvf(){
                        Url:c.Live[cuLinkIndex],
                        Retry:10,
                        SleepTime:5,
-                       Cookie:Cookie,
+                       Header:map[string]string{
+                               `Cookie`:Cookie,
+                       },
                        SaveToPath:saveflv.path + ".flv",
                        Timeout:-1,
                }); e != nil{l.W(e)}
index 0e92fafac44a876cc42bc642d1fc65e471afa51e..8404c4d4689e57acbbe09a55a8ea19155ea00871 100644 (file)
@@ -12,6 +12,8 @@ var msglog = p.Logf().New().Base(-1, "Msg.go").Open("danmu.log").Level(1)
 
 //Msg类型数据处理方法map
 var Msg_map = map[string]func(replyF, string) {
+       `ONLINE_RANK_COUNT`:nil,
+       `ONLINE_RANK_V2`:nil,
        "TRADING_SCORE":nil,//每日任务
        "MATCH_ROOM_CONF":nil,//赛事房间配置
        "HOT_ROOM_NOTIFY":nil,//热点房间
index 6fcdaf929181cf446993905d1014c2d91a47f1e9..9e768157259e5822dde2a0775ac1d64a0da6cca7 100644 (file)
@@ -58,8 +58,10 @@ func Danmu_s(msg,Cookie string, roomid int) {
                Url:"https://api.live.bilibili.com/msg/send",
                PostStr:PostStr,
                Timeout:5,
-               Referer:"https://live.bilibili.com/" + strconv.Itoa(roomid),
-               Cookie:Cookie,
+               Header:map[string]string{
+                       `Referer`:"https://live.bilibili.com/" + strconv.Itoa(roomid),
+                       `Cookie`:Cookie,
+               },
        })
        if err != nil {
                l.E(err)
diff --git a/VERSION b/VERSION
index c1682382623c028f2d6a8d3af5587cb3d9cf365e..152ff034e5605242b1564681156d362598ccd748 100644 (file)
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-202011110547
\ No newline at end of file
+202011120727
\ No newline at end of file
diff --git a/_msg_sample/ONLINE_RANK_V2.json b/_msg_sample/ONLINE_RANK_V2.json
new file mode 100644 (file)
index 0000000..d8a07c2
--- /dev/null
@@ -0,0 +1,56 @@
+[
+    {
+        "cmd": "ONLINE_RANK_V2",
+        "data": {
+            "list": [
+                {
+                    "uid": 272619,
+                    "face": "http://i1.hdslb.com/bfs/face/1b1f2f166339fee6e8e3de3b449b67773c64dce8.jpg",
+                    "score": "50",
+                    "uname": "菌丝奶液",
+                    "rank": 1,
+                    "guard_level": 3
+                },
+                {
+                    "uid": 1401978,
+                    "face": "http://i2.hdslb.com/bfs/face/663084232e9a70545995913eaeb8c224e8eec469.jpg",
+                    "score": "20",
+                    "uname": "阿虫虫虫虫",
+                    "rank": 2,
+                    "guard_level": 0
+                },
+                {
+                    "uid": 8660095,
+                    "face": "http://i1.hdslb.com/bfs/face/13a0007fb179db139511b087acf4d583c9454d0b.jpg",
+                    "score": "10",
+                    "uname": "有妹才有汁",
+                    "rank": 3,
+                    "guard_level": 0
+                },
+                {
+                    "uid": 1470771,
+                    "face": "http://i0.hdslb.com/bfs/face/ecee99ecf772b31e17eb62ccf68842426a429603.jpg",
+                    "score": "2",
+                    "uname": "ロリコン板载",
+                    "rank": 4,
+                    "guard_level": 0
+                },
+                {
+                    "uid": 458981,
+                    "face": "http://i1.hdslb.com/bfs/face/b3e4970a1c9023e019fd46b8cc3a02c34b431cfa.jpg",
+                    "score": "1",
+                    "uname": "海鲜王琴键",
+                    "rank": 5,
+                    "guard_level": 0
+                }
+            ],
+            "rank_type": "gold-rank"
+        }
+    },
+    {
+        "cmd": "ONLINE_RANK_COUNT",
+        "data": {
+            "count": 5
+        }
+    }
+]
\ No newline at end of file
index 3ddd0cc4970e2c974ba345d893764ed13a393b0f..8978a47d1f10f4d71c764641c47708e1199c30a8 100644 (file)
@@ -5,12 +5,14 @@ go 1.14
 require (
        github.com/christopher-dG/go-obs-websocket v0.0.0-20200720193653-c4fed10356a5 // indirect
        github.com/gopherjs/gopherjs v0.0.0-20200217142428-fce0ec30dd00 // indirect
-       github.com/gotk3/gotk3 v0.5.1-0.20201028052159-952547abf55a // indirect
-       github.com/klauspost/compress v1.11.1 // indirect
+       github.com/gotk3/gotk3 v0.5.1-0.20201111061058-cdb396edc76f // indirect
+       github.com/klauspost/compress v1.11.2 // indirect
+       github.com/miekg/dns v1.1.35 // indirect
        github.com/mitchellh/mapstructure v1.3.3 // indirect
-       github.com/qydysky/bili_danmu v0.0.0
-       github.com/qydysky/part v0.0.8 // indirect
-       github.com/shirou/gopsutil v2.20.9+incompatible // indirect
+       github.com/qydysky/bili_danmu v0.4.0
+       github.com/qydysky/gotk3 v0.0.0-20201111221012-59dd0e7ec2d7 // indirect
+       github.com/qydysky/part v0.2.1 // indirect
+       github.com/shirou/gopsutil v3.20.10+incompatible // indirect
        github.com/therecipe/env_darwin_amd64_513 v0.0.0-20190626001412-d8e92e8db4d0 // indirect
        github.com/therecipe/env_linux_amd64_513 v0.0.0-20190626000307-e137a3934da6 // indirect
        github.com/therecipe/env_windows_amd64_513 v0.0.0-20190626000028-79ec8bd06fb2 // indirect
@@ -18,8 +20,9 @@ require (
        github.com/therecipe/qt v0.0.0-20200904063919-c0c124a5770d // indirect
        github.com/therecipe/qt/internal/binding/files/docs/5.12.0 v0.0.0-20200904063919-c0c124a5770d // indirect
        github.com/therecipe/qt/internal/binding/files/docs/5.13.0 v0.0.0-20200904063919-c0c124a5770d // indirect
-       golang.org/x/crypto v0.0.0-20201002170205-7f63de1d35b0 // indirect
-       golang.org/x/net v0.0.0-20201002202402-0a1ea396d57c // indirect
+       golang.org/x/crypto v0.0.0-20201016220609-9e8e0b390897 // indirect
+       golang.org/x/net v0.0.0-20201110031124-69a78807bb2b // indirect
+       golang.org/x/sys v0.0.0-20201110211018-35f3e6cf4a65 // indirect
 )
 
 replace github.com/qydysky/bili_danmu => ../
index 7cd8b99fdc9b0f27d53c7d562d7221b9abb47c80..5aa0a62d8b21c4b347f74c4e2356ffd2e11317b0 100644 (file)
@@ -1,5 +1,7 @@
 github.com/StackExchange/wmi v0.0.0-20190523213315-cbe66965904d h1:G0m3OIz70MZUWq3EgK3CesDbo8upS2Vm9/P3FtgI+Jk=
 github.com/StackExchange/wmi v0.0.0-20190523213315-cbe66965904d/go.mod h1:3eOhrUMpNV+6aFIbp5/iudMxNCF27Vw2OZgy4xEx0Fg=
+github.com/andybalholm/brotli v1.0.1 h1:KqhlKozYbRtJvsPrrEeXcO+N2l6NYT5A2QAFmSULpEc=
+github.com/andybalholm/brotli v1.0.1/go.mod h1:loMXtMfwqflxFJPmdbJO0a3KNoPuLBgiu3qAvBg8x/Y=
 github.com/christopher-dG/go-obs-websocket v0.0.0-20200720193653-c4fed10356a5 h1:UFBgEMSPv6a2vgzowHOPphVit+ZBNQ3+4Q+dEBgwIww=
 github.com/christopher-dG/go-obs-websocket v0.0.0-20200720193653-c4fed10356a5/go.mod h1:P5w+dDqQEbCMFAkmucNcEQ6xgAt/NP+Aw58OQfY/H/o=
 github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
@@ -17,16 +19,24 @@ github.com/gotk3/gotk3 v0.5.0 h1:GOkq4cFgAfeK6YAukLi64bz8zPayZKeCSSRr4mcFReQ=
 github.com/gotk3/gotk3 v0.5.0/go.mod h1:/hqFpkNa9T3JgNAE2fLvCdov7c5bw//FHNZrZ3Uv9/Q=
 github.com/gotk3/gotk3 v0.5.1-0.20201028052159-952547abf55a h1:9O8VeGmNRqh8UPYLfjYc+W3Gu7vSVTo2uEswq4FO9xI=
 github.com/gotk3/gotk3 v0.5.1-0.20201028052159-952547abf55a/go.mod h1:/hqFpkNa9T3JgNAE2fLvCdov7c5bw//FHNZrZ3Uv9/Q=
+github.com/gotk3/gotk3 v0.5.1-0.20201111061058-cdb396edc76f h1:pqE4gan8c1ZSjo32V9QD5P41pM5Tlas9gzI+rcYUaI8=
+github.com/gotk3/gotk3 v0.5.1-0.20201111061058-cdb396edc76f/go.mod h1:/hqFpkNa9T3JgNAE2fLvCdov7c5bw//FHNZrZ3Uv9/Q=
 github.com/klauspost/compress v1.10.10/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs=
 github.com/klauspost/compress v1.11.0 h1:wJbzvpYMVGG9iTI9VxpnNZfd4DzMPoCWze3GgSqz8yg=
 github.com/klauspost/compress v1.11.0/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs=
 github.com/klauspost/compress v1.11.1 h1:bPb7nMRdOZYDrpPMTA3EInUQrdgoBinqUuSwlGdKDdE=
 github.com/klauspost/compress v1.11.1/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs=
+github.com/klauspost/compress v1.11.2 h1:MiK62aErc3gIiVEtyzKfeOHgW7atJb5g/KNX5m3c2nQ=
+github.com/klauspost/compress v1.11.2/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs=
+github.com/klauspost/pgzip v1.2.5 h1:qnWYvvKqedOF2ulHpMG72XQol4ILEJ8k2wwRl/Km8oE=
+github.com/klauspost/pgzip v1.2.5/go.mod h1:Ch1tH69qFZu15pkjo5kYi6mth2Zzwzt50oCQKQE9RUs=
 github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
 github.com/konsorten/go-windows-terminal-sequences v1.0.2 h1:DB17ag19krx9CFsz4o3enTrPXyIXCl+2iCXH/aMAp9s=
 github.com/konsorten/go-windows-terminal-sequences v1.0.2/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
 github.com/miekg/dns v1.1.31 h1:sJFOl9BgwbYAWOGEwr61FU28pqsBNdpRBnhGXtO06Oo=
 github.com/miekg/dns v1.1.31/go.mod h1:KNUDUusw/aVsxyTYZM1oqvCicbwhgbNgztCETuNZ7xM=
+github.com/miekg/dns v1.1.35 h1:oTfOaDH+mZkdcgdIjH6yBajRGtIwcwcaR+rt23ZSrJs=
+github.com/miekg/dns v1.1.35/go.mod h1:KNUDUusw/aVsxyTYZM1oqvCicbwhgbNgztCETuNZ7xM=
 github.com/mitchellh/mapstructure v1.1.2 h1:fmNYVwqnSfB9mZU6OS2O6GsXM+wcskZDuKQzvN1EDeE=
 github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y=
 github.com/mitchellh/mapstructure v1.3.3 h1:SzB1nHZ2Xi+17FP0zVQBHIZqvwRN9408fJO8h+eeNA8=
@@ -44,6 +54,10 @@ github.com/qydysky/bili_danmu v0.0.0-20200914141357-762a9f0d89cb h1:biHfTziQSldC
 github.com/qydysky/bili_danmu v0.0.0-20200914141357-762a9f0d89cb/go.mod h1:hejetn5M5YL0dZpEBtswTWEOwS9Rq8eRiN3SFco3JXA=
 github.com/qydysky/bili_danmu v0.0.0-20200914143111-fe17ba7dd5a9 h1:85K/6r/1qlW5UZ8xC4S3DoNTyF4uuHf2KNxa2Ybairo=
 github.com/qydysky/bili_danmu v0.0.0-20200914143111-fe17ba7dd5a9/go.mod h1:hejetn5M5YL0dZpEBtswTWEOwS9Rq8eRiN3SFco3JXA=
+github.com/qydysky/gotk3 v0.0.0-20201111220213-8c2f6f1efb6c h1:UDB78VOhwSTkmL+fpONkbeKx7LWFYT5sZ97/YGI5KTo=
+github.com/qydysky/gotk3 v0.0.0-20201111220213-8c2f6f1efb6c/go.mod h1:Aj03GBFp7Oa1YVWjjQLdz48wkzpfjIKARse4flQ39JY=
+github.com/qydysky/gotk3 v0.0.0-20201111221012-59dd0e7ec2d7 h1:I7B69M6Bx3Cr1LfcRSPajoxaeXOeweGhKz59fLf6bXE=
+github.com/qydysky/gotk3 v0.0.0-20201111221012-59dd0e7ec2d7/go.mod h1:Aj03GBFp7Oa1YVWjjQLdz48wkzpfjIKARse4flQ39JY=
 github.com/qydysky/part v0.0.0-20200914123330-afade058e33d h1:um1WzsGzwD6h+1W3jqGcWJPVr4kT5gmRRaXXVwO7nb4=
 github.com/qydysky/part v0.0.0-20200914123330-afade058e33d/go.mod h1:+8N3UgJBVyJj8ar31eZtucwrKpLpay854Y5qq0xk3x0=
 github.com/qydysky/part v0.0.0-20200914222559-436abc80976a h1:Wurgg5wiPemdfbO9lzOywZWst0DyEI610gUo3HV/ros=
@@ -90,11 +104,15 @@ github.com/qydysky/part v0.0.7 h1:nT7Y5WIMvKv/AhW+AyQJ+RccMO5zAML9SZZyCeWZs24=
 github.com/qydysky/part v0.0.7/go.mod h1:+8N3UgJBVyJj8ar31eZtucwrKpLpay854Y5qq0xk3x0=
 github.com/qydysky/part v0.0.8 h1:W7icXUo22y1hewPev0u/H+DL+Ks0zP58HjrhVBaRgco=
 github.com/qydysky/part v0.0.8/go.mod h1:+8N3UgJBVyJj8ar31eZtucwrKpLpay854Y5qq0xk3x0=
+github.com/qydysky/part v0.2.1 h1:D/ZZzKPYA9yFbudzu0HtR7RffEzdacvGr/D4hGNggRI=
+github.com/qydysky/part v0.2.1/go.mod h1:93s9ohLtzULet5ZPEUUWrT9BELC30oDZgRpgGSiDye4=
 github.com/shirou/gopsutil v2.20.7+incompatible/go.mod h1:5b4v6he4MtMOwMlS0TUMTu2PcXUg8+E1lC7eC3UO/RA=
 github.com/shirou/gopsutil v2.20.8+incompatible h1:8c7Atn0FAUZJo+f4wYbN0iVpdWniCQk7IYwGtgdh1mY=
 github.com/shirou/gopsutil v2.20.8+incompatible/go.mod h1:5b4v6he4MtMOwMlS0TUMTu2PcXUg8+E1lC7eC3UO/RA=
 github.com/shirou/gopsutil v2.20.9+incompatible h1:msXs2frUV+O/JLva9EDLpuJ84PrFsdCTCQex8PUdtkQ=
 github.com/shirou/gopsutil v2.20.9+incompatible/go.mod h1:5b4v6he4MtMOwMlS0TUMTu2PcXUg8+E1lC7eC3UO/RA=
+github.com/shirou/gopsutil v3.20.10+incompatible h1:kQuRhh6h6y4luXvnmtu/lJEGtdJ3q8lbu9NQY99GP+o=
+github.com/shirou/gopsutil v3.20.10+incompatible/go.mod h1:5b4v6he4MtMOwMlS0TUMTu2PcXUg8+E1lC7eC3UO/RA=
 github.com/sirupsen/logrus v1.4.1 h1:GL2rEmy6nsikmW0r8opw9JIRScdMF5hA8cOYLH7In1k=
 github.com/sirupsen/logrus v1.4.1/go.mod h1:ni0Sbl8bgC9z8RoU9G6nDWqqs/fq4eDPysMBDgk/93Q=
 github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
@@ -130,6 +148,8 @@ golang.org/x/crypto v0.0.0-20200820211705-5c72a883971a h1:vclmkQCjlDX5OydZ9wv8rB
 golang.org/x/crypto v0.0.0-20200820211705-5c72a883971a/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
 golang.org/x/crypto v0.0.0-20201002170205-7f63de1d35b0 h1:hb9wdF1z5waM+dSIICn1l0DkLVDT3hqhhQsDNUmHPRE=
 golang.org/x/crypto v0.0.0-20201002170205-7f63de1d35b0/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
+golang.org/x/crypto v0.0.0-20201016220609-9e8e0b390897 h1:pLI5jrR7OSLijeIDcmRxNmw2api+jEfxLoykJVice/E=
+golang.org/x/crypto v0.0.0-20201016220609-9e8e0b390897/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
 golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg=
 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=
@@ -145,6 +165,8 @@ golang.org/x/net v0.0.0-20200927032502-5d4f70055728 h1:5wtQIAulKU5AbLQOkjxl32Uuf
 golang.org/x/net v0.0.0-20200927032502-5d4f70055728/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA=
 golang.org/x/net v0.0.0-20201002202402-0a1ea396d57c h1:dk0ukUIHmGHqASjP0iue2261isepFCC6XRCSd1nHgDw=
 golang.org/x/net v0.0.0-20201002202402-0a1ea396d57c/go.mod h1:iQL9McJNjoIa5mjH6nYTCTZXUN6RP+XW3eib7Ya3XcI=
+golang.org/x/net v0.0.0-20201110031124-69a78807bb2b h1:uwuIcX0g4Yl1NC5XAz37xsr2lTtcqevgzYNVt49waME=
+golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
 golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
 golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
 golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
@@ -170,7 +192,11 @@ golang.org/x/sys v0.0.0-20200926100807-9d91bd62050c h1:38q6VNPWR010vN82/SB121Guj
 golang.org/x/sys v0.0.0-20200926100807-9d91bd62050c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f h1:+Nyd8tzPX9R7BWHguqsrbFdRx3WQ/1ib8I44HXV5yTA=
 golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20201110211018-35f3e6cf4a65 h1:Qo9oJ566/Sq7N4hrGftVXs8GI2CXBCuOd4S2wHE/e0M=
+golang.org/x/sys v0.0.0-20201110211018-35f3e6cf4a65/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
+golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
+golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
 golang.org/x/tools v0.0.0-20190420181800-aa740d480789/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
 golang.org/x/tools v0.0.0-20191216052735-49a3e744a425 h1:VvQyQJN0tSuecqgcIxMWnnfG5kSmgy9KZR9sW3W5QeA=
 golang.org/x/tools v0.0.0-20191216052735-49a3e744a425/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=