# Copyright 2021 The Go Authors. All rights reserved.
# Use of this source code is governed by a BSD-style
# license that can be found in the LICENSE file.

# Modules that are expected to return a 200.
github.com/apache/thrift@v0.14.1
github.com/apache/thrift@v0.14.2
github.com/creack/pty@v1.1.11
github.com/creack/pty@v1.1.13
github.com/creack/pty/v2@v2.0.1
github.com/envoyproxy/go-control-plane@v0.9.8
github.com/envoyproxy/go-control-plane@v0.9.9
github.com/hashicorp/vault/api@v1.0.3
github.com/hashicorp/vault/api@v1.1.1
github.com/hashicorp/vault/api/auth/approle@latest
github.com/hashicorp/vault/api/auth/kubernetes@latest
github.com/jackc/pgx/v4@v4.11.0
github.com/jba/bit@v0.2.0
github.com/julieqiu/api-demo@all
github.com/tendermint/tendermint@v0.34.10
github.com/tendermint/tendermint@v0.34.11
gocloud.dev@v0.22.0
gocloud.dev@v0.23.0
golang.org/x/tools@v0.1.1
golang.org/x/tools@v0.1.2
k8s.io/client-go@v0.21.3
k8s.io/client-go@v1.5.2
golang.org/x/crypto@v0.1.0
golang.org/x/tools/gopls@v0.6.11
github.com/jackc/pgx@v3.6.2+incompatible
rsc.io/quote@v0.9.9-pre1
rsc.io/quote@all
rsc.io/quote/v2@all
rsc.io/quote/v3@all
rsc.io/quote/v4@all
std@v1.0.0
std@v1.1.0
std@v1.8.0
std@v1.9.0
std@v1.10.0
std@v1.13.0
std@v1.15.0
std@v1.16.3
std@v1.16.4

# This module is expected to return a 404, so that  the path will redirect
# to github.com/jackc/pgx/v4/pgxpool.
github.com/jackc/pgx/pgxpool@v3.6.2+incompatible
