Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore: update go.mod and remove space from copyright #3158

Merged
merged 42 commits into from May 28, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
42 commits
Select commit Hold shift + click to select a range
978ada6
Revert "Adding ppc64le architecture support on travis-ci (#2538)"
thinkerou Jan 5, 2021
24511a3
fix conflict
thinkerou Feb 9, 2021
fdb3c49
Merge remote-tracking branch 'upstream/master'
thinkerou Apr 6, 2021
f90b418
Merge remote-tracking branch 'upstream/master'
thinkerou Apr 8, 2021
198ce37
Merge remote-tracking branch 'upstream/master'
thinkerou Apr 8, 2021
7b71871
Merge remote-tracking branch 'upstream/master'
thinkerou Apr 15, 2021
bf6f527
Merge remote-tracking branch 'upstream/master'
thinkerou Apr 28, 2021
9946e37
Merge remote-tracking branch 'upstream/master'
thinkerou May 22, 2021
783f941
Merge remote-tracking branch 'upstream/master'
thinkerou May 24, 2021
a9db803
Merge remote-tracking branch 'upstream/master'
thinkerou May 26, 2021
907d629
Merge remote-tracking branch 'upstream/master'
thinkerou May 28, 2021
07fee74
Merge remote-tracking branch 'upstream/master'
thinkerou Jun 3, 2021
e348bcb
Merge remote-tracking branch 'upstream/master'
thinkerou Jun 22, 2021
5c4c256
Merge remote-tracking branch 'upstream/master'
thinkerou Jun 23, 2021
778670d
Merge remote-tracking branch 'upstream/master'
thinkerou Jun 24, 2021
34344e5
Merge remote-tracking branch 'upstream/master'
thinkerou Jun 25, 2021
e6bb2b5
Merge remote-tracking branch 'upstream/master'
thinkerou Jun 25, 2021
0132a40
Merge remote-tracking branch 'upstream/master'
thinkerou Jun 30, 2021
c8e2a99
Merge remote-tracking branch 'upstream/master'
thinkerou Aug 19, 2021
d91b5d7
Merge remote-tracking branch 'upstream/master'
thinkerou Aug 20, 2021
a904250
Merge remote-tracking branch 'upstream/master'
thinkerou Aug 24, 2021
6b294ce
Bump github.com/goccy/go-json from 0.7.6 to 0.7.7
dependabot[bot] Aug 30, 2021
2ef7a12
Merge pull request #1 from thinkerou/dependabot/go_modules/github.com…
thinkerou Aug 31, 2021
c3f1894
Merge remote-tracking branch 'upstream/master'
thinkerou Aug 31, 2021
33abbab
Merge branch 'master' of https://github.com/thinkerou/gin
thinkerou Aug 31, 2021
705adfe
Merge remote-tracking branch 'upstream/master'
thinkerou Sep 6, 2021
be736bc
Merge remote-tracking branch 'upstream/master'
thinkerou Sep 7, 2021
263d2b9
Merge remote-tracking branch 'upstream/master'
thinkerou Oct 8, 2021
c5b5321
Merge remote-tracking branch 'upstream/master'
thinkerou Oct 9, 2021
42eedd0
Merge remote-tracking branch 'upstream/master'
thinkerou Nov 1, 2021
9a9eb95
Merge remote-tracking branch 'upstream/master'
thinkerou Nov 25, 2021
25144e5
Merge remote-tracking branch 'upstream/master'
thinkerou Nov 28, 2021
1390366
Merge remote-tracking branch 'upstream/master'
thinkerou Dec 18, 2021
6d99972
Merge remote-tracking branch 'upstream/master'
thinkerou Feb 5, 2022
6093a05
Merge remote-tracking branch 'upstream/master'
thinkerou Mar 18, 2022
1cf1a82
Merge remote-tracking branch 'upstream/master'
thinkerou Mar 20, 2022
0505fb1
Merge remote-tracking branch 'upstream/master'
thinkerou Mar 21, 2022
841f8ca
Merge remote-tracking branch 'upstream/master'
thinkerou Mar 22, 2022
c4c50b0
Merge remote-tracking branch 'upstream/master'
thinkerou May 28, 2022
6d53d0f
update go-toml version
thinkerou May 28, 2022
e26ed61
remove space from copyright
thinkerou May 28, 2022
229c9c2
Delete settings.json
thinkerou May 28, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
2 changes: 1 addition & 1 deletion any.go
@@ -1,4 +1,4 @@
// Copyright 2022 Gin Core Team. All rights reserved.
// Copyright 2022 Gin Core Team. All rights reserved.
// Use of this source code is governed by a MIT style
// license that can be found in the LICENSE file.

Expand Down
2 changes: 1 addition & 1 deletion auth.go
@@ -1,4 +1,4 @@
// Copyright 2014 Manu Martinez-Almeida. All rights reserved.
// Copyright 2014 Manu Martinez-Almeida. All rights reserved.
// Use of this source code is governed by a MIT style
// license that can be found in the LICENSE file.

Expand Down
2 changes: 1 addition & 1 deletion auth_test.go
@@ -1,4 +1,4 @@
// Copyright 2014 Manu Martinez-Almeida. All rights reserved.
// Copyright 2014 Manu Martinez-Almeida. All rights reserved.
// Use of this source code is governed by a MIT style
// license that can be found in the LICENSE file.

Expand Down
2 changes: 1 addition & 1 deletion benchmarks_test.go
@@ -1,4 +1,4 @@
// Copyright 2017 Manu Martinez-Almeida. All rights reserved.
// Copyright 2017 Manu Martinez-Almeida. All rights reserved.
// Use of this source code is governed by a MIT style
// license that can be found in the LICENSE file.

Expand Down
2 changes: 1 addition & 1 deletion binding/any.go
@@ -1,4 +1,4 @@
// Copyright 2022 Gin Core Team. All rights reserved.
// Copyright 2022 Gin Core Team. All rights reserved.
// Use of this source code is governed by a MIT style
// license that can be found in the LICENSE file.

Expand Down
2 changes: 1 addition & 1 deletion binding/binding.go
@@ -1,4 +1,4 @@
// Copyright 2014 Manu Martinez-Almeida. All rights reserved.
// Copyright 2014 Manu Martinez-Almeida. All rights reserved.
// Use of this source code is governed by a MIT style
// license that can be found in the LICENSE file.

Expand Down
2 changes: 1 addition & 1 deletion binding/binding_test.go
@@ -1,4 +1,4 @@
// Copyright 2014 Manu Martinez-Almeida. All rights reserved.
// Copyright 2014 Manu Martinez-Almeida. All rights reserved.
// Use of this source code is governed by a MIT style
// license that can be found in the LICENSE file.

Expand Down
2 changes: 1 addition & 1 deletion binding/default_validator.go
@@ -1,4 +1,4 @@
// Copyright 2017 Manu Martinez-Almeida. All rights reserved.
// Copyright 2017 Manu Martinez-Almeida. All rights reserved.
// Use of this source code is governed by a MIT style
// license that can be found in the LICENSE file.

Expand Down
4 changes: 4 additions & 0 deletions binding/default_validator_benchmark_test.go
@@ -1,3 +1,7 @@
// Copyright 2022 Gin Core Team. All rights reserved.
// Use of this source code is governed by a MIT style
// license that can be found in the LICENSE file.

package binding

import (
Expand Down
2 changes: 1 addition & 1 deletion binding/form.go
@@ -1,4 +1,4 @@
// Copyright 2014 Manu Martinez-Almeida. All rights reserved.
// Copyright 2014 Manu Martinez-Almeida. All rights reserved.
// Use of this source code is governed by a MIT style
// license that can be found in the LICENSE file.

Expand Down
2 changes: 1 addition & 1 deletion binding/form_mapping.go
@@ -1,4 +1,4 @@
// Copyright 2014 Manu Martinez-Almeida. All rights reserved.
// Copyright 2014 Manu Martinez-Almeida. All rights reserved.
// Use of this source code is governed by a MIT style
// license that can be found in the LICENSE file.

Expand Down
2 changes: 1 addition & 1 deletion binding/form_mapping_benchmark_test.go
@@ -1,4 +1,4 @@
// Copyright 2019 Gin Core Team. All rights reserved.
// Copyright 2019 Gin Core Team. All rights reserved.
// Use of this source code is governed by a MIT style
// license that can be found in the LICENSE file.

Expand Down
4 changes: 4 additions & 0 deletions binding/header.go
@@ -1,3 +1,7 @@
// Copyright 2022 Gin Core Team. All rights reserved.
// Use of this source code is governed by a MIT style
// license that can be found in the LICENSE file.

package binding

import (
Expand Down
2 changes: 1 addition & 1 deletion binding/json.go
@@ -1,4 +1,4 @@
// Copyright 2014 Manu Martinez-Almeida. All rights reserved.
// Copyright 2014 Manu Martinez-Almeida. All rights reserved.
// Use of this source code is governed by a MIT style
// license that can be found in the LICENSE file.

Expand Down
2 changes: 1 addition & 1 deletion binding/msgpack.go
@@ -1,4 +1,4 @@
// Copyright 2017 Manu Martinez-Almeida. All rights reserved.
// Copyright 2017 Manu Martinez-Almeida. All rights reserved.
// Use of this source code is governed by a MIT style
// license that can be found in the LICENSE file.

Expand Down
2 changes: 1 addition & 1 deletion binding/multipart_form_mapping.go
@@ -1,4 +1,4 @@
// Copyright 2019 Gin Core Team. All rights reserved.
// Copyright 2019 Gin Core Team. All rights reserved.
// Use of this source code is governed by a MIT style
// license that can be found in the LICENSE file.

Expand Down
2 changes: 1 addition & 1 deletion binding/multipart_form_mapping_test.go
@@ -1,4 +1,4 @@
// Copyright 2019 Gin Core Team. All rights reserved.
// Copyright 2019 Gin Core Team. All rights reserved.
// Use of this source code is governed by a MIT style
// license that can be found in the LICENSE file.

Expand Down
2 changes: 1 addition & 1 deletion binding/protobuf.go
@@ -1,4 +1,4 @@
// Copyright 2014 Manu Martinez-Almeida. All rights reserved.
// Copyright 2014 Manu Martinez-Almeida. All rights reserved.
// Use of this source code is governed by a MIT style
// license that can be found in the LICENSE file.

Expand Down
2 changes: 1 addition & 1 deletion binding/query.go
@@ -1,4 +1,4 @@
// Copyright 2017 Manu Martinez-Almeida. All rights reserved.
// Copyright 2017 Manu Martinez-Almeida. All rights reserved.
// Use of this source code is governed by a MIT style
// license that can be found in the LICENSE file.

Expand Down
4 changes: 4 additions & 0 deletions binding/toml.go
@@ -1,3 +1,7 @@
// Copyright 2022 Gin Core Team. All rights reserved.
// Use of this source code is governed by a MIT style
// license that can be found in the LICENSE file.

package binding

import (
Expand Down
2 changes: 1 addition & 1 deletion binding/validate_test.go
@@ -1,4 +1,4 @@
// Copyright 2014 Manu Martinez-Almeida. All rights reserved.
// Copyright 2014 Manu Martinez-Almeida. All rights reserved.
// Use of this source code is governed by a MIT style
// license that can be found in the LICENSE file.

Expand Down
2 changes: 1 addition & 1 deletion binding/xml.go
@@ -1,4 +1,4 @@
// Copyright 2014 Manu Martinez-Almeida. All rights reserved.
// Copyright 2014 Manu Martinez-Almeida. All rights reserved.
// Use of this source code is governed by a MIT style
// license that can be found in the LICENSE file.

Expand Down
2 changes: 1 addition & 1 deletion binding/yaml.go
@@ -1,4 +1,4 @@
// Copyright 2018 Gin Core Team. All rights reserved.
// Copyright 2018 Gin Core Team. All rights reserved.
// Use of this source code is governed by a MIT style
// license that can be found in the LICENSE file.

Expand Down
2 changes: 1 addition & 1 deletion context.go
@@ -1,4 +1,4 @@
// Copyright 2014 Manu Martinez-Almeida. All rights reserved.
// Copyright 2014 Manu Martinez-Almeida. All rights reserved.
// Use of this source code is governed by a MIT style
// license that can be found in the LICENSE file.

Expand Down
2 changes: 1 addition & 1 deletion context_1.16_test.go
@@ -1,4 +1,4 @@
// Copyright 2021 Gin Core Team. All rights reserved.
// Copyright 2021 Gin Core Team. All rights reserved.
// Use of this source code is governed by a MIT style
// license that can be found in the LICENSE file.

Expand Down
41 changes: 40 additions & 1 deletion context_1.17_test.go
@@ -1,4 +1,4 @@
// Copyright 2021 Gin Core Team. All rights reserved.
// Copyright 2021 Gin Core Team. All rights reserved.
// Use of this source code is governed by a MIT style
// license that can be found in the LICENSE file.

Expand All @@ -17,6 +17,16 @@ import (
"github.com/stretchr/testify/assert"
)

type interceptedWriter struct {
ResponseWriter
b *bytes.Buffer
}

func (i interceptedWriter) WriteHeader(code int) {
i.Header().Del("X-Test")
i.ResponseWriter.WriteHeader(code)
}

func TestContextFormFileFailed17(t *testing.T) {
buf := new(bytes.Buffer)
mw := multipart.NewWriter(buf)
Expand All @@ -31,3 +41,32 @@ func TestContextFormFileFailed17(t *testing.T) {
assert.Nil(t, f)
})
}

func TestInterceptedHeader(t *testing.T) {
w := httptest.NewRecorder()
c, r := CreateTestContext(w)

r.Use(func(c *Context) {
i := interceptedWriter{
ResponseWriter: c.Writer,
b: bytes.NewBuffer(nil),
}
c.Writer = i
c.Next()
c.Header("X-Test", "overridden")
c.Writer = i.ResponseWriter
})
r.GET("/", func(c *Context) {
c.Header("X-Test", "original")
c.Header("X-Test-2", "present")
c.String(http.StatusOK, "hello world")
})
c.Request = httptest.NewRequest("GET", "/", nil)
r.HandleContext(c)
// Result() has headers frozen when WriteHeaderNow() has been called
// Compared to this time, this is when the response headers will be flushed
// As response is flushed on c.String, the Header cannot be set by the first
// middleware. Assert this
assert.Equal(t, "", w.Result().Header.Get("X-Test"))
assert.Equal(t, "present", w.Result().Header.Get("X-Test-2"))
}
2 changes: 1 addition & 1 deletion context_appengine.go
@@ -1,4 +1,4 @@
// Copyright 2017 Manu Martinez-Almeida. All rights reserved.
// Copyright 2017 Manu Martinez-Almeida. All rights reserved.
// Use of this source code is governed by a MIT style
// license that can be found in the LICENSE file.

Expand Down
50 changes: 0 additions & 50 deletions context_go17_test.go

This file was deleted.

2 changes: 1 addition & 1 deletion context_test.go
@@ -1,4 +1,4 @@
// Copyright 2014 Manu Martinez-Almeida. All rights reserved.
// Copyright 2014 Manu Martinez-Almeida. All rights reserved.
// Use of this source code is governed by a MIT style
// license that can be found in the LICENSE file.

Expand Down
2 changes: 1 addition & 1 deletion debug.go
@@ -1,4 +1,4 @@
// Copyright 2014 Manu Martinez-Almeida. All rights reserved.
// Copyright 2014 Manu Martinez-Almeida. All rights reserved.
// Use of this source code is governed by a MIT style
// license that can be found in the LICENSE file.

Expand Down
2 changes: 1 addition & 1 deletion debug_test.go
@@ -1,4 +1,4 @@
// Copyright 2014 Manu Martinez-Almeida. All rights reserved.
// Copyright 2014 Manu Martinez-Almeida. All rights reserved.
// Use of this source code is governed by a MIT style
// license that can be found in the LICENSE file.

Expand Down
2 changes: 1 addition & 1 deletion deprecated.go
@@ -1,4 +1,4 @@
// Copyright 2014 Manu Martinez-Almeida. All rights reserved.
// Copyright 2014 Manu Martinez-Almeida. All rights reserved.
// Use of this source code is governed by a MIT style
// license that can be found in the LICENSE file.

Expand Down
2 changes: 1 addition & 1 deletion deprecated_test.go
@@ -1,4 +1,4 @@
// Copyright 2014 Manu Martinez-Almeida. All rights reserved.
// Copyright 2014 Manu Martinez-Almeida. All rights reserved.
// Use of this source code is governed by a MIT style
// license that can be found in the LICENSE file.

Expand Down
2 changes: 1 addition & 1 deletion errors.go
@@ -1,4 +1,4 @@
// Copyright 2014 Manu Martinez-Almeida. All rights reserved.
// Copyright 2014 Manu Martinez-Almeida. All rights reserved.
// Use of this source code is governed by a MIT style
// license that can be found in the LICENSE file.

Expand Down
2 changes: 1 addition & 1 deletion errors_test.go
@@ -1,4 +1,4 @@
// Copyright 2014 Manu Martinez-Almeida. All rights reserved.
// Copyright 2014 Manu Martinez-Almeida. All rights reserved.
// Use of this source code is governed by a MIT style
// license that can be found in the LICENSE file.

Expand Down
2 changes: 1 addition & 1 deletion fs.go
@@ -1,4 +1,4 @@
// Copyright 2017 Manu Martinez-Almeida. All rights reserved.
// Copyright 2017 Manu Martinez-Almeida. All rights reserved.
// Use of this source code is governed by a MIT style
// license that can be found in the LICENSE file.

Expand Down
2 changes: 1 addition & 1 deletion gin.go
@@ -1,4 +1,4 @@
// Copyright 2014 Manu Martinez-Almeida. All rights reserved.
// Copyright 2014 Manu Martinez-Almeida. All rights reserved.
// Use of this source code is governed by a MIT style
// license that can be found in the LICENSE file.

Expand Down
2 changes: 1 addition & 1 deletion ginS/gins.go
@@ -1,4 +1,4 @@
// Copyright 2014 Manu Martinez-Almeida. All rights reserved.
// Copyright 2014 Manu Martinez-Almeida. All rights reserved.
// Use of this source code is governed by a MIT style
// license that can be found in the LICENSE file.

Expand Down
2 changes: 1 addition & 1 deletion gin_integration_test.go
@@ -1,4 +1,4 @@
// Copyright 2017 Manu Martinez-Almeida. All rights reserved.
// Copyright 2017 Manu Martinez-Almeida. All rights reserved.
// Use of this source code is governed by a MIT style
// license that can be found in the LICENSE file.

Expand Down
2 changes: 1 addition & 1 deletion gin_test.go
@@ -1,4 +1,4 @@
// Copyright 2014 Manu Martinez-Almeida. All rights reserved.
// Copyright 2014 Manu Martinez-Almeida. All rights reserved.
// Use of this source code is governed by a MIT style
// license that can be found in the LICENSE file.

Expand Down
2 changes: 1 addition & 1 deletion githubapi_test.go
@@ -1,4 +1,4 @@
// Copyright 2014 Manu Martinez-Almeida. All rights reserved.
// Copyright 2014 Manu Martinez-Almeida. All rights reserved.
// Use of this source code is governed by a MIT style
// license that can be found in the LICENSE file.

Expand Down
2 changes: 1 addition & 1 deletion go.mod
Expand Up @@ -8,7 +8,7 @@ require (
github.com/goccy/go-json v0.9.7
github.com/json-iterator/go v1.1.12
github.com/mattn/go-isatty v0.0.14
github.com/pelletier/go-toml/v2 v2.0.0-beta.6
github.com/pelletier/go-toml/v2 v2.0.1
github.com/stretchr/testify v1.7.1
github.com/ugorji/go/codec v1.2.7
golang.org/x/net v0.0.0-20210226172049-e18ecbb05110
Expand Down
6 changes: 2 additions & 4 deletions go.sum
Expand Up @@ -36,8 +36,8 @@ github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421 h1:ZqeYNhU3OH
github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M=
github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk=
github.com/pelletier/go-toml/v2 v2.0.0-beta.6 h1:JFNqj2afbbhCqTiyN16D7Tudc/aaDzE2FBDk+VlBQnE=
github.com/pelletier/go-toml/v2 v2.0.0-beta.6/go.mod h1:ke6xncR3W76Ba8xnVxkrZG0js6Rd2BsQEAYrfgJ6eQA=
github.com/pelletier/go-toml/v2 v2.0.1 h1:8e3L2cCQzLFi2CR4g7vGFuFxX7Jl1kKX8gW+iV0GUKU=
github.com/pelletier/go-toml/v2 v2.0.1/go.mod h1:r9LEWfGN8R5k0VXJ+0BkIe7MYkRdwZOjgMj2KwnJFUo=
github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e/go.mod h1:pJLUxLENpZxwdsKMEsNbx1VGcRFpLqf3715MtcvvzbA=
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
Expand All @@ -48,10 +48,8 @@ github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+
github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
github.com/stretchr/testify v1.7.1-0.20210427113832-6241f9ab9942/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
github.com/stretchr/testify v1.7.1 h1:5TQK59W5E3v0r2duFAb7P95B6hEeOyEnHRa8MjYSMTY=
github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
github.com/ugorji/go v1.2.7 h1:qYhyWUUd6WbiM+C6JZAUkIJt/1WrjzNHY9+KCIjVqTo=
github.com/ugorji/go v1.2.7/go.mod h1:nF9osbDWLy6bDVv/Rtoh6QgnvNDpmCalQV5urGCCS6M=
github.com/ugorji/go/codec v1.2.7 h1:YPXUKf7fYbp/y8xloBqZOw2qaVggbfwMlI8WM3wZUJ0=
github.com/ugorji/go/codec v1.2.7/go.mod h1:WGN1fab3R1fzQlVQTkfxVtIBhWDRqOviHU95kRgeqEY=
Expand Down
2 changes: 1 addition & 1 deletion internal/json/go_json.go
@@ -1,4 +1,4 @@
// Copyright 2017 Bo-Yi Wu. All rights reserved.
// Copyright 2017 Bo-Yi Wu. All rights reserved.
// Use of this source code is governed by a MIT style
// license that can be found in the LICENSE file.

Expand Down
2 changes: 1 addition & 1 deletion internal/json/json.go
@@ -1,4 +1,4 @@
// Copyright 2017 Bo-Yi Wu. All rights reserved.
// Copyright 2017 Bo-Yi Wu. All rights reserved.
// Use of this source code is governed by a MIT style
// license that can be found in the LICENSE file.

Expand Down
2 changes: 1 addition & 1 deletion internal/json/jsoniter.go
@@ -1,4 +1,4 @@
// Copyright 2017 Bo-Yi Wu. All rights reserved.
// Copyright 2017 Bo-Yi Wu. All rights reserved.
// Use of this source code is governed by a MIT style
// license that can be found in the LICENSE file.

Expand Down