Merge ~athos-ribeiro/ubuntu-docker-images/+git/cortex:1.11-22.04 into ~ubuntu-docker-images/ubuntu-docker-images/+git/cortex:1.10-21.10

Proposed by Athos Ribeiro
Status: Merged
Merge reported by: Athos Ribeiro
Merged at revision: f72aa3a518d892b96a374e1f9bd8d2d2b3d1bb2e
Proposed branch: ~athos-ribeiro/ubuntu-docker-images/+git/cortex:1.11-22.04
Merge into: ~ubuntu-docker-images/ubuntu-docker-images/+git/cortex:1.10-21.10
Diff against target: 245179 lines (+111396/-21911)
1761 files modified
.errcheck-exclude (+1/-1)
.github/workflows/test-build-deploy.yml (+9/-8)
.golangci.yml (+7/-0)
CHANGELOG.md (+64/-0)
MAINTAINERS (+1/-0)
Makefile (+1/-1)
README.md (+1/-1)
VERSION (+1/-1)
build-image/Dockerfile (+1/-1)
cmd/blocksconvert/main.go (+2/-2)
cmd/cortex/main.go (+2/-2)
cmd/query-tee/main.go (+3/-2)
cmd/test-exporter/main.go (+2/-2)
dev/null (+0/-653)
docs/_index.md (+3/-0)
docs/architecture.md (+1/-1)
docs/blocks-storage/compactor.md (+6/-2)
docs/blocks-storage/querier.md (+15/-0)
docs/blocks-storage/store-gateway.md (+18/-3)
docs/chunks-storage/running-chunks-storage-with-cassandra.md (+2/-2)
docs/configuration/arguments.md (+4/-0)
docs/configuration/config-file-reference.md (+67/-34)
docs/configuration/v1-guarantees.md (+14/-0)
docs/contributing/how-to-add-a-maintainer.md (+1/-1)
docs/contributing/how-to-upgrade-golang-version.md (+1/-0)
docs/guides/authentication-and-authorisation.md (+13/-6)
docs/guides/security.md (+12/-0)
docs/guides/zone-replication.md (+1/-1)
docs/proposals/block-storage-time-series-deletion.md (+255/-0)
docs/proposals/parallel-compaction.md (+67/-0)
go.mod (+36/-33)
go.sum (+766/-174)
integration/alertmanager_test.go (+6/-0)
integration/backward_compatibility_test.go (+11/-10)
integration/e2e/composite_service.go (+3/-4)
integration/e2e/db/db.go (+8/-4)
integration/e2e/logger.go (+1/-1)
integration/e2e/scenario_test.go (+1/-1)
integration/e2e/service.go (+6/-7)
integration/e2e/service_test.go (+4/-5)
integration/e2ecortex/client.go (+5/-0)
integration/e2ecortex/storage.go (+2/-2)
integration/getting_started_with_gossiped_ring_test.go (+6/-0)
integration/integration_memberlist_single_binary_test.go (+27/-13)
integration/kv_test.go (+30/-18)
integration/ruler_test.go (+160/-0)
integration/s3_storage_client_test.go (+6/-1)
oci/Dockerfile.ubuntu (+5/-3)
oci/cortex.yaml (+95/-0)
pkg/alertmanager/alertmanager.go (+10/-6)
pkg/alertmanager/alertmanager_client.go (+1/-1)
pkg/alertmanager/alertmanager_http.go (+2/-2)
pkg/alertmanager/alertmanager_http_test.go (+2/-1)
pkg/alertmanager/alertmanager_ring.go (+5/-5)
pkg/alertmanager/alertmanager_test.go (+1/-1)
pkg/alertmanager/alertstore/bucketclient/bucket_client.go (+1/-1)
pkg/alertmanager/alertstore/objectclient/store.go (+1/-1)
pkg/alertmanager/alertstore/store.go (+1/-1)
pkg/alertmanager/alertstore/store_test.go (+1/-1)
pkg/alertmanager/api.go (+2/-2)
pkg/alertmanager/api_test.go (+7/-10)
pkg/alertmanager/distributor.go (+3/-3)
pkg/alertmanager/distributor_test.go (+14/-10)
pkg/alertmanager/multitenant.go (+18/-10)
pkg/alertmanager/multitenant_test.go (+46/-25)
pkg/alertmanager/state_persister.go (+3/-3)
pkg/alertmanager/state_persister_test.go (+2/-2)
pkg/alertmanager/state_replication.go (+3/-3)
pkg/alertmanager/state_replication_test.go (+2/-4)
pkg/api/api.go (+2/-2)
pkg/api/api_test.go (+6/-5)
pkg/api/handlers.go (+2/-2)
pkg/chunk/aws/dynamodb_index_reader.go (+2/-2)
pkg/chunk/aws/dynamodb_storage_client.go (+6/-5)
pkg/chunk/aws/dynamodb_table_client.go (+4/-4)
pkg/chunk/aws/fixtures.go (+2/-2)
pkg/chunk/aws/metrics_autoscaling.go (+1/-1)
pkg/chunk/aws/mock.go (+1/-1)
pkg/chunk/aws/retryer.go (+4/-5)
pkg/chunk/aws/s3_storage_client.go (+1/-1)
pkg/chunk/azure/blob_storage_client.go (+3/-2)
pkg/chunk/cache/cache.go (+1/-1)
pkg/chunk/cache/cache_test.go (+25/-1)
pkg/chunk/cache/fifo_cache.go (+3/-3)
pkg/chunk/cache/fifo_cache_test.go (+1/-1)
pkg/chunk/cache/memcached.go (+40/-28)
pkg/chunk/cache/memcached_client.go (+2/-2)
pkg/chunk/cache/memcached_test.go (+37/-1)
pkg/chunk/cache/redis_cache.go (+6/-6)
pkg/chunk/cache/redis_cache_test.go (+1/-1)
pkg/chunk/cache/redis_client.go (+1/-2)
pkg/chunk/cache/snappy.go (+2/-2)
pkg/chunk/cassandra/fixtures.go (+2/-1)
pkg/chunk/cassandra/storage_client.go (+3/-3)
pkg/chunk/cassandra/storage_client_test.go (+1/-2)
pkg/chunk/chunk_store.go (+2/-2)
pkg/chunk/chunk_store_test.go (+2/-2)
pkg/chunk/chunk_store_utils.go (+39/-18)
pkg/chunk/gcp/bigtable_index_client.go (+1/-1)
pkg/chunk/inmemory_storage_client.go (+1/-1)
pkg/chunk/local/boltdb_index_client.go (+1/-1)
pkg/chunk/local/fs_object_client.go (+1/-1)
pkg/chunk/purger/purger.go (+3/-3)
pkg/chunk/purger/purger_test.go (+3/-4)
pkg/chunk/purger/request_handler.go (+1/-1)
pkg/chunk/purger/tenant_deletion_api.go (+2/-2)
pkg/chunk/purger/tenant_deletion_api_test.go (+1/-1)
pkg/chunk/purger/tombstones.go (+1/-1)
pkg/chunk/schema.go (+1/-1)
pkg/chunk/schema_config.go (+1/-1)
pkg/chunk/series_store.go (+1/-1)
pkg/chunk/storage/caching_fixtures.go (+2/-2)
pkg/chunk/storage/caching_index_client.go (+2/-2)
pkg/chunk/storage/caching_index_client_test.go (+1/-1)
pkg/chunk/storage/factory.go (+2/-2)
pkg/chunk/storage/factory_test.go (+2/-2)
pkg/chunk/storage/index_client_test.go (+1/-1)
pkg/chunk/table_manager.go (+2/-2)
pkg/chunk/testutils/testutils.go (+1/-1)
pkg/compactor/blocks_cleaner.go (+3/-3)
pkg/compactor/blocks_cleaner_test.go (+2/-2)
pkg/compactor/compactor.go (+17/-10)
pkg/compactor/compactor_http.go (+2/-2)
pkg/compactor/compactor_ring.go (+13/-6)
pkg/compactor/compactor_ring_test.go (+1/-1)
pkg/compactor/compactor_test.go (+53/-16)
pkg/compactor/syncer_metrics.go (+1/-1)
pkg/configs/api/api.go (+1/-1)
pkg/configs/client/client.go (+2/-2)
pkg/configs/db/postgres/postgres.go (+1/-1)
pkg/configs/db/traced.go (+1/-1)
pkg/configs/legacy_promql/engine.go (+2/-2)
pkg/configs/legacy_promql/engine_test.go (+5/-3)
pkg/configs/legacy_promql/test.go (+1/-1)
pkg/configs/userconfig/config.go (+10/-2)
pkg/configs/userconfig/config_test.go (+2/-1)
pkg/cortex/cortex.go (+11/-11)
pkg/cortex/cortex_test.go (+14/-3)
pkg/cortex/modules.go (+21/-11)
pkg/cortex/runtime_config.go (+2/-2)
pkg/cortex/server_service.go (+2/-2)
pkg/cortex/server_service_test.go (+4/-5)
pkg/distributor/distributor.go (+19/-8)
pkg/distributor/distributor_ring.go (+5/-5)
pkg/distributor/distributor_ring_test.go (+1/-1)
pkg/distributor/distributor_test.go (+54/-14)
pkg/distributor/ha_tracker.go (+23/-11)
pkg/distributor/ha_tracker_test.go (+73/-13)
pkg/distributor/ingester_client_pool.go (+1/-1)
pkg/distributor/query.go (+10/-24)
pkg/flusher/flusher.go (+5/-5)
pkg/frontend/config.go (+2/-2)
pkg/frontend/downstream_roundtripper.go (+4/-3)
pkg/frontend/frontend_test.go (+3/-3)
pkg/frontend/transport/handler.go (+26/-4)
pkg/frontend/transport/handler_test.go (+63/-0)
pkg/frontend/transport/roundtripper.go (+11/-1)
pkg/frontend/v1/frontend.go (+3/-3)
pkg/frontend/v1/frontend_test.go (+3/-3)
pkg/frontend/v1/queue_test.go (+3/-3)
pkg/frontend/v2/frontend.go (+4/-4)
pkg/frontend/v2/frontend_scheduler_worker.go (+6/-5)
pkg/frontend/v2/frontend_test.go (+3/-3)
pkg/ingester/client/client.go (+1/-1)
pkg/ingester/flush.go (+1/-1)
pkg/ingester/flush_test.go (+3/-3)
pkg/ingester/ingester.go (+42/-36)
pkg/ingester/ingester_test.go (+26/-19)
pkg/ingester/ingester_v2.go (+46/-5)
pkg/ingester/ingester_v2_test.go (+44/-44)
pkg/ingester/lifecycle_test.go (+15/-11)
pkg/ingester/mapper.go (+2/-2)
pkg/ingester/mapper_test.go (+1/-1)
pkg/ingester/transfer.go (+3/-3)
pkg/ingester/user_metrics_metadata.go (+3/-1)
pkg/ingester/user_state.go (+2/-2)
pkg/ingester/user_state_test.go (+1/-1)
pkg/ingester/wal.go (+2/-2)
pkg/ingester/wal_test.go (+4/-4)
pkg/querier/astmapper/parallel.go (+1/-1)
pkg/querier/batch/batch_test.go (+4/-0)
pkg/querier/batch/chunk_test.go (+1/-0)
pkg/querier/batch/merge.go (+3/-4)
pkg/querier/blocks_consistency_checker.go (+2/-2)
pkg/querier/blocks_consistency_checker_test.go (+1/-1)
pkg/querier/blocks_finder_bucket_index.go (+2/-2)
pkg/querier/blocks_finder_bucket_index_test.go (+2/-2)
pkg/querier/blocks_finder_bucket_scan.go (+5/-4)
pkg/querier/blocks_finder_bucket_scan_test.go (+2/-2)
pkg/querier/blocks_store_balanced_set.go (+3/-3)
pkg/querier/blocks_store_balanced_set_test.go (+2/-3)
pkg/querier/blocks_store_queryable.go (+44/-25)
pkg/querier/blocks_store_queryable_test.go (+61/-5)
pkg/querier/blocks_store_replicated_set.go (+2/-2)
pkg/querier/blocks_store_replicated_set_test.go (+10/-6)
pkg/querier/chunk_store_queryable.go (+8/-3)
pkg/querier/chunk_tar_test.go (+1/-1)
pkg/querier/distributor_queryable.go (+44/-8)
pkg/querier/distributor_queryable_test.go (+32/-43)
pkg/querier/duplicates_test.go (+2/-2)
pkg/querier/error_translate_queryable.go (+56/-24)
pkg/querier/error_translate_queryable_test.go (+3/-3)
pkg/querier/lazyquery/lazyquery.go (+2/-2)
pkg/querier/metadata_handler_test.go (+2/-2)
pkg/querier/querier.go (+17/-15)
pkg/querier/querier_test.go (+45/-22)
pkg/querier/queryrange/instrumentation.go (+2/-2)
pkg/querier/queryrange/limits.go (+1/-1)
pkg/querier/queryrange/promql_test.go (+5/-3)
pkg/querier/queryrange/query_range.go (+28/-11)
pkg/querier/queryrange/queryable.go (+1/-1)
pkg/querier/queryrange/querysharding.go (+2/-2)
pkg/querier/queryrange/querysharding_test.go (+1/-1)
pkg/querier/queryrange/results_cache.go (+6/-4)
pkg/querier/queryrange/results_cache_test.go (+2/-2)
pkg/querier/queryrange/retry.go (+2/-2)
pkg/querier/queryrange/retry_test.go (+1/-1)
pkg/querier/queryrange/roundtrip.go (+8/-3)
pkg/querier/queryrange/roundtrip_test.go (+1/-1)
pkg/querier/queryrange/split_by_interval.go (+39/-4)
pkg/querier/queryrange/split_by_interval_test.go (+57/-6)
pkg/querier/queryrange/test_utils.go (+1/-1)
pkg/querier/remote_read.go (+2/-2)
pkg/querier/remote_read_test.go (+2/-2)
pkg/querier/stats/stats.go (+34/-0)
pkg/querier/stats/stats.pb.go (+102/-16)
pkg/querier/stats/stats.proto (+4/-0)
pkg/querier/stats/stats_test.go (+91/-0)
pkg/querier/store_gateway_client.go (+1/-1)
pkg/querier/store_gateway_client_test.go (+1/-1)
pkg/querier/tenantfederation/merge_queryable.go (+25/-27)
pkg/querier/tenantfederation/merge_queryable_test.go (+86/-3)
pkg/querier/testutils.go (+67/-0)
pkg/querier/worker/frontend_processor.go (+5/-5)
pkg/querier/worker/frontend_processor_test.go (+1/-1)
pkg/querier/worker/scheduler_processor.go (+6/-7)
pkg/querier/worker/worker.go (+5/-3)
pkg/querier/worker/worker_test.go (+45/-32)
pkg/ring/basic_lifecycler.go (+14/-13)
pkg/ring/basic_lifecycler_delegates.go (+2/-2)
pkg/ring/basic_lifecycler_delegates_test.go (+8/-8)
pkg/ring/basic_lifecycler_test.go (+22/-16)
pkg/ring/client/pool.go (+3/-3)
pkg/ring/client/pool_test.go (+2/-3)
pkg/ring/http.go (+1/-1)
pkg/ring/lifecycler.go (+28/-14)
pkg/ring/lifecycler_test.go (+143/-16)
pkg/ring/model.go (+18/-5)
pkg/ring/model_test.go (+8/-0)
pkg/ring/ring.go (+11/-6)
pkg/ring/ring_test.go (+31/-9)
pkg/ring/testutils/testutils.go (+2/-2)
pkg/ring/util.go (+4/-2)
pkg/ring/util_test.go (+115/-0)
pkg/ruler/api.go (+2/-2)
pkg/ruler/api_test.go (+19/-18)
pkg/ruler/client_pool.go (+26/-3)
pkg/ruler/client_pool_test.go (+1/-1)
pkg/ruler/compat.go (+91/-13)
pkg/ruler/compat_test.go (+15/-2)
pkg/ruler/lifecycle_test.go (+12/-8)
pkg/ruler/manager.go (+3/-3)
pkg/ruler/manager_test.go (+2/-2)
pkg/ruler/mapper.go (+2/-2)
pkg/ruler/mapper_test.go (+2/-2)
pkg/ruler/notifier.go (+2/-2)
pkg/ruler/ruler.go (+35/-17)
pkg/ruler/ruler_ring.go (+5/-4)
pkg/ruler/ruler_test.go (+418/-34)
pkg/ruler/rulestore/bucketclient/bucket_client.go (+2/-2)
pkg/ruler/rulestore/bucketclient/bucket_client_test.go (+1/-1)
pkg/ruler/rulestore/config.go (+2/-1)
pkg/ruler/rulestore/config_test.go (+1/-2)
pkg/ruler/rulestore/objectclient/rule_store.go (+2/-2)
pkg/ruler/storage.go (+1/-1)
pkg/ruler/store_mock_test.go (+2/-0)
pkg/scheduler/queue/queue.go (+1/-2)
pkg/scheduler/queue/queue_test.go (+1/-2)
pkg/scheduler/scheduler.go (+3/-3)
pkg/scheduler/scheduler_test.go (+3/-3)
pkg/storage/bucket/azure/bucket_client.go (+1/-1)
pkg/storage/bucket/azure/config.go (+1/-1)
pkg/storage/bucket/bucket_util.go (+2/-2)
pkg/storage/bucket/bucket_util_test.go (+1/-1)
pkg/storage/bucket/client.go (+1/-1)
pkg/storage/bucket/client_test.go (+1/-1)
pkg/storage/bucket/gcs/bucket_client.go (+1/-1)
pkg/storage/bucket/gcs/config.go (+1/-1)
pkg/storage/bucket/s3/bucket_client.go (+1/-1)
pkg/storage/bucket/s3/config.go (+1/-1)
pkg/storage/bucket/s3/config_test.go (+1/-2)
pkg/storage/bucket/sse_bucket_client_test.go (+2/-2)
pkg/storage/bucket/swift/bucket_client.go (+1/-1)
pkg/storage/tsdb/bucketindex/loader.go (+3/-3)
pkg/storage/tsdb/bucketindex/loader_test.go (+2/-2)
pkg/storage/tsdb/bucketindex/storage.go (+1/-1)
pkg/storage/tsdb/bucketindex/storage_test.go (+1/-1)
pkg/storage/tsdb/bucketindex/updater.go (+2/-2)
pkg/storage/tsdb/bucketindex/updater_test.go (+1/-1)
pkg/storage/tsdb/caching_bucket.go (+1/-1)
pkg/storage/tsdb/config_test.go (+1/-1)
pkg/storage/tsdb/index_cache.go (+1/-1)
pkg/storage/tsdb/index_cache_test.go (+1/-2)
pkg/storage/tsdb/memcache_client_config.go (+3/-0)
pkg/storage/tsdb/tenant_deletion_mark.go (+1/-1)
pkg/storage/tsdb/users_scanner.go (+2/-2)
pkg/storage/tsdb/users_scanner_test.go (+1/-1)
pkg/storegateway/bucket_index_metadata_fetcher.go (+2/-2)
pkg/storegateway/bucket_index_metadata_fetcher_test.go (+1/-1)
pkg/storegateway/bucket_stores.go (+4/-4)
pkg/storegateway/bucket_stores_test.go (+3/-3)
pkg/storegateway/gateway.go (+6/-5)
pkg/storegateway/gateway_http.go (+2/-2)
pkg/storegateway/gateway_ring.go (+5/-5)
pkg/storegateway/gateway_test.go (+26/-15)
pkg/storegateway/metadata_fetcher_filters.go (+1/-1)
pkg/storegateway/metadata_fetcher_filters_test.go (+1/-1)
pkg/storegateway/sharding_strategy.go (+2/-2)
pkg/storegateway/sharding_strategy_test.go (+7/-5)
pkg/testexporter/correctness/delete_series.go (+1/-1)
pkg/testexporter/correctness/runner.go (+1/-1)
pkg/testexporter/correctness/simple.go (+1/-1)
pkg/util/active_user.go (+1/-2)
pkg/util/dns_watcher.go (+1/-1)
pkg/util/events.go (+1/-1)
pkg/util/grpc/healthcheck/health_check.go (+1/-2)
pkg/util/grpc/healthcheck/health_check_test.go (+1/-2)
pkg/util/grpcclient/backoff_retry.go (+3/-4)
pkg/util/grpcclient/grpcclient.go (+5/-5)
pkg/util/http.go (+2/-2)
pkg/util/limiter/query_limiter.go (+20/-5)
pkg/util/limiter/query_limiter_test.go (+4/-4)
pkg/util/log/experimental.go (+1/-1)
pkg/util/log/log.go (+21/-4)
pkg/util/log/wrappers.go (+4/-4)
pkg/util/metrics_helper.go (+25/-7)
pkg/util/net.go (+1/-1)
pkg/util/net/firewall_dialer.go (+1/-2)
pkg/util/net/firewall_dialer_test.go (+1/-2)
pkg/util/push/push.go (+1/-1)
pkg/util/spanlogger/spanlogger.go (+2/-2)
pkg/util/spanlogger/spanlogger_test.go (+1/-1)
pkg/util/time.go (+11/-0)
pkg/util/time_test.go (+28/-0)
pkg/util/validation/limits.go (+3/-6)
pkg/util/validation/limits_test.go (+1/-2)
pkg/util/validation/notifications_limit_flag.go (+1/-1)
pkg/util/validation/validate.go (+2/-2)
tools/blocksconvert/builder/builder.go (+6/-6)
tools/blocksconvert/builder/tsdb.go (+2/-2)
tools/blocksconvert/builder/tsdb_test.go (+1/-1)
tools/blocksconvert/cleaner/cleaner.go (+5/-5)
tools/blocksconvert/planprocessor/heartbeat.go (+3/-3)
tools/blocksconvert/planprocessor/service.go (+3/-3)
tools/blocksconvert/scanner/bigtable_index_reader.go (+2/-2)
tools/blocksconvert/scanner/cassandra_index_reader.go (+2/-2)
tools/blocksconvert/scanner/scanner.go (+6/-6)
tools/blocksconvert/scanner/scanner_test.go (+1/-1)
tools/blocksconvert/scheduler/scheduler.go (+3/-3)
tools/blocksconvert/scheduler/scheduler_test.go (+1/-1)
tools/blocksconvert/shared_config.go (+1/-1)
tools/doc-generator/main.go (+3/-3)
tools/doc-generator/parser.go (+1/-2)
tools/querytee/instrumentation.go (+1/-1)
tools/querytee/proxy.go (+2/-2)
tools/querytee/proxy_endpoint.go (+8/-3)
tools/querytee/proxy_endpoint_test.go (+1/-1)
tools/querytee/proxy_test.go (+10/-2)
tools/querytee/response_comparator.go (+1/-1)
tools/thanosconvert/thanosconvert.go (+2/-2)
tools/thanosconvert/thanosconvert_test.go (+1/-1)
vendor/cloud.google.com/go/CHANGES.md (+226/-0)
vendor/cloud.google.com/go/CONTRIBUTING.md (+27/-3)
vendor/cloud.google.com/go/README.md (+4/-2)
vendor/cloud.google.com/go/SECURITY.md (+7/-0)
vendor/cloud.google.com/go/bigtable/CHANGES.md (+5/-0)
vendor/cloud.google.com/go/bigtable/admin.go (+12/-13)
vendor/cloud.google.com/go/bigtable/bigtable.go (+5/-5)
vendor/cloud.google.com/go/bigtable/go.mod (+9/-8)
vendor/cloud.google.com/go/bigtable/go.sum (+57/-8)
vendor/cloud.google.com/go/doc.go (+81/-3)
vendor/cloud.google.com/go/go.mod (+8/-14)
vendor/cloud.google.com/go/go.sum (+80/-18)
vendor/cloud.google.com/go/internal/.repo-metadata-full.json (+677/-286)
vendor/cloud.google.com/go/longrunning/autogen/doc.go (+4/-2)
vendor/cloud.google.com/go/longrunning/autogen/operations_client.go (+152/-70)
vendor/github.com/Azure/azure-pipeline-go/pipeline/error.go (+3/-0)
vendor/github.com/Azure/azure-storage-blob-go/azblob/bytes_writer.go (+24/-0)
vendor/github.com/Azure/azure-storage-blob-go/azblob/chunkwriting.go (+219/-0)
vendor/github.com/Azure/azure-storage-blob-go/azblob/common_utils.go (+1/-0)
vendor/github.com/Azure/azure-storage-blob-go/azblob/highlevel.go (+221/-198)
vendor/github.com/Azure/azure-storage-blob-go/azblob/parsing_urls.go (+20/-1)
vendor/github.com/Azure/azure-storage-blob-go/azblob/request_common.go (+33/-0)
vendor/github.com/Azure/azure-storage-blob-go/azblob/sas_service.go (+32/-4)
vendor/github.com/Azure/azure-storage-blob-go/azblob/section_writer.go (+47/-0)
vendor/github.com/Azure/azure-storage-blob-go/azblob/service_codes_blob.go (+5/-2)
vendor/github.com/Azure/azure-storage-blob-go/azblob/url_append_blob.go (+38/-8)
vendor/github.com/Azure/azure-storage-blob-go/azblob/url_blob.go (+139/-36)
vendor/github.com/Azure/azure-storage-blob-go/azblob/url_block_blob.go (+66/-69)
vendor/github.com/Azure/azure-storage-blob-go/azblob/url_container.go (+14/-2)
vendor/github.com/Azure/azure-storage-blob-go/azblob/url_page_blob.go (+67/-17)
vendor/github.com/Azure/azure-storage-blob-go/azblob/url_service.go (+32/-3)
vendor/github.com/Azure/azure-storage-blob-go/azblob/version.go (+1/-1)
vendor/github.com/Azure/azure-storage-blob-go/azblob/zc_pipeline.go (+0/-1)
vendor/github.com/Azure/azure-storage-blob-go/azblob/zc_policy_request_log.go (+14/-8)
vendor/github.com/Azure/azure-storage-blob-go/azblob/zc_policy_retry.go (+2/-0)
vendor/github.com/Azure/azure-storage-blob-go/azblob/zc_policy_unique_request_id.go (+16/-3)
vendor/github.com/Azure/azure-storage-blob-go/azblob/zc_retry_reader.go (+10/-2)
vendor/github.com/Azure/azure-storage-blob-go/azblob/zc_sas_account.go (+17/-2)
vendor/github.com/Azure/azure-storage-blob-go/azblob/zc_sas_query_params.go (+43/-7)
vendor/github.com/Azure/azure-storage-blob-go/azblob/zc_service_codes_common.go (+3/-0)
vendor/github.com/Azure/azure-storage-blob-go/azblob/zc_storage_error.go (+1/-1)
vendor/github.com/Azure/azure-storage-blob-go/azblob/zz_generated_append_blob.go (+214/-46)
vendor/github.com/Azure/azure-storage-blob-go/azblob/zz_generated_blob.go (+937/-107)
vendor/github.com/Azure/azure-storage-blob-go/azblob/zz_generated_block_blob.go (+184/-59)
vendor/github.com/Azure/azure-storage-blob-go/azblob/zz_generated_client.go (+1/-1)
vendor/github.com/Azure/azure-storage-blob-go/azblob/zz_generated_container.go (+77/-3)
vendor/github.com/Azure/azure-storage-blob-go/azblob/zz_generated_models.go (+2431/-214)
vendor/github.com/Azure/azure-storage-blob-go/azblob/zz_generated_page_blob.go (+216/-78)
vendor/github.com/Azure/azure-storage-blob-go/azblob/zz_generated_service.go (+156/-5)
vendor/github.com/Azure/azure-storage-blob-go/azblob/zz_generated_version.go (+1/-1)
vendor/github.com/Azure/azure-storage-blob-go/azblob/zz_response_helpers.go (+4/-6)
vendor/github.com/Azure/go-autorest/.gitignore (+32/-0)
vendor/github.com/Azure/go-autorest/CHANGELOG.md (+1004/-0)
vendor/github.com/Azure/go-autorest/GNUmakefile (+23/-0)
vendor/github.com/Azure/go-autorest/Gopkg.lock (+324/-0)
vendor/github.com/Azure/go-autorest/Gopkg.toml (+59/-0)
vendor/github.com/Azure/go-autorest/LICENSE (+191/-0)
vendor/github.com/Azure/go-autorest/README.md (+165/-0)
vendor/github.com/Azure/go-autorest/autorest/LICENSE (+191/-0)
vendor/github.com/Azure/go-autorest/autorest/adal/LICENSE (+191/-0)
vendor/github.com/Azure/go-autorest/autorest/adal/README.md (+292/-0)
vendor/github.com/Azure/go-autorest/autorest/adal/config.go (+151/-0)
vendor/github.com/Azure/go-autorest/autorest/adal/devicetoken.go (+273/-0)
vendor/github.com/Azure/go-autorest/autorest/adal/go.mod (+13/-0)
vendor/github.com/Azure/go-autorest/autorest/adal/go.sum (+19/-0)
vendor/github.com/Azure/go-autorest/autorest/adal/go_mod_tidy_hack.go (+25/-0)
vendor/github.com/Azure/go-autorest/autorest/adal/persist.go (+135/-0)
vendor/github.com/Azure/go-autorest/autorest/adal/sender.go (+96/-0)
vendor/github.com/Azure/go-autorest/autorest/adal/token.go (+1336/-0)
vendor/github.com/Azure/go-autorest/autorest/adal/token_1.13.go (+76/-0)
vendor/github.com/Azure/go-autorest/autorest/adal/token_legacy.go (+75/-0)
vendor/github.com/Azure/go-autorest/autorest/adal/version.go (+45/-0)
vendor/github.com/Azure/go-autorest/autorest/authorization.go (+353/-0)
vendor/github.com/Azure/go-autorest/autorest/authorization_sas.go (+66/-0)
vendor/github.com/Azure/go-autorest/autorest/authorization_storage.go (+307/-0)
vendor/github.com/Azure/go-autorest/autorest/autorest.go (+150/-0)
vendor/github.com/Azure/go-autorest/autorest/azure/async.go (+995/-0)
vendor/github.com/Azure/go-autorest/autorest/azure/auth/LICENSE (+191/-0)
vendor/github.com/Azure/go-autorest/autorest/azure/auth/auth.go (+757/-0)
vendor/github.com/Azure/go-autorest/autorest/azure/auth/go.mod (+13/-0)
vendor/github.com/Azure/go-autorest/autorest/azure/auth/go.sum (+37/-0)
vendor/github.com/Azure/go-autorest/autorest/azure/auth/go_mod_tidy_hack.go (+24/-0)
vendor/github.com/Azure/go-autorest/autorest/azure/azure.go (+388/-0)
vendor/github.com/Azure/go-autorest/autorest/azure/cli/LICENSE (+191/-0)
vendor/github.com/Azure/go-autorest/autorest/azure/cli/go.mod (+11/-0)
vendor/github.com/Azure/go-autorest/autorest/azure/cli/go.sum (+24/-0)
vendor/github.com/Azure/go-autorest/autorest/azure/cli/go_mod_tidy_hack.go (+24/-0)
vendor/github.com/Azure/go-autorest/autorest/azure/cli/profile.go (+83/-0)
vendor/github.com/Azure/go-autorest/autorest/azure/cli/token.go (+175/-0)
vendor/github.com/Azure/go-autorest/autorest/azure/environments.go (+289/-0)
vendor/github.com/Azure/go-autorest/autorest/azure/metadata_environment.go (+245/-0)
vendor/github.com/Azure/go-autorest/autorest/azure/rp.go (+204/-0)
vendor/github.com/Azure/go-autorest/autorest/client.go (+328/-0)
vendor/github.com/Azure/go-autorest/autorest/date/LICENSE (+191/-0)
vendor/github.com/Azure/go-autorest/autorest/date/date.go (+96/-0)
vendor/github.com/Azure/go-autorest/autorest/date/go.mod (+5/-0)
vendor/github.com/Azure/go-autorest/autorest/date/go.sum (+2/-0)
vendor/github.com/Azure/go-autorest/autorest/date/go_mod_tidy_hack.go (+24/-0)
vendor/github.com/Azure/go-autorest/autorest/date/time.go (+103/-0)
vendor/github.com/Azure/go-autorest/autorest/date/timerfc1123.go (+100/-0)
vendor/github.com/Azure/go-autorest/autorest/date/unixtime.go (+123/-0)
vendor/github.com/Azure/go-autorest/autorest/date/utility.go (+25/-0)
vendor/github.com/Azure/go-autorest/autorest/error.go (+103/-0)
vendor/github.com/Azure/go-autorest/autorest/go.mod (+12/-0)
vendor/github.com/Azure/go-autorest/autorest/go.sum (+23/-0)
vendor/github.com/Azure/go-autorest/autorest/go_mod_tidy_hack.go (+25/-0)
vendor/github.com/Azure/go-autorest/autorest/preparer.go (+547/-0)
vendor/github.com/Azure/go-autorest/autorest/responder.go (+269/-0)
vendor/github.com/Azure/go-autorest/autorest/retriablerequest.go (+52/-0)
vendor/github.com/Azure/go-autorest/autorest/retriablerequest_1.7.go (+55/-0)
vendor/github.com/Azure/go-autorest/autorest/retriablerequest_1.8.go (+67/-0)
vendor/github.com/Azure/go-autorest/autorest/sender.go (+454/-0)
vendor/github.com/Azure/go-autorest/autorest/utility.go (+232/-0)
vendor/github.com/Azure/go-autorest/autorest/utility_1.13.go (+30/-0)
vendor/github.com/Azure/go-autorest/autorest/utility_legacy.go (+32/-0)
vendor/github.com/Azure/go-autorest/autorest/version.go (+41/-0)
vendor/github.com/Azure/go-autorest/azure-pipelines.yml (+105/-0)
vendor/github.com/Azure/go-autorest/doc.go (+18/-0)
vendor/github.com/Azure/go-autorest/logger/LICENSE (+191/-0)
vendor/github.com/Azure/go-autorest/logger/go.mod (+5/-0)
vendor/github.com/Azure/go-autorest/logger/go.sum (+2/-0)
vendor/github.com/Azure/go-autorest/logger/go_mod_tidy_hack.go (+24/-0)
vendor/github.com/Azure/go-autorest/logger/logger.go (+337/-0)
vendor/github.com/Azure/go-autorest/tracing/LICENSE (+191/-0)
vendor/github.com/Azure/go-autorest/tracing/go.mod (+5/-0)
vendor/github.com/Azure/go-autorest/tracing/go.sum (+2/-0)
vendor/github.com/Azure/go-autorest/tracing/go_mod_tidy_hack.go (+24/-0)
vendor/github.com/Azure/go-autorest/tracing/tracing.go (+67/-0)
vendor/github.com/armon/go-metrics/inmem.go (+24/-20)
vendor/github.com/armon/go-metrics/inmem_endpoint.go (+32/-1)
vendor/github.com/armon/go-metrics/prometheus/prometheus.go (+16/-18)
vendor/github.com/aws/aws-sdk-go/aws/awsutil/prettify.go (+11/-1)
vendor/github.com/aws/aws-sdk-go/aws/awsutil/string_value.go (+2/-0)
vendor/github.com/aws/aws-sdk-go/aws/context_1_5.go (+1/-0)
vendor/github.com/aws/aws-sdk-go/aws/context_1_9.go (+1/-0)
vendor/github.com/aws/aws-sdk-go/aws/context_background_1_5.go (+1/-0)
vendor/github.com/aws/aws-sdk-go/aws/context_background_1_7.go (+1/-0)
vendor/github.com/aws/aws-sdk-go/aws/credentials/context_background_go1.5.go (+1/-0)
vendor/github.com/aws/aws-sdk-go/aws/credentials/context_background_go1.7.go (+1/-0)
vendor/github.com/aws/aws-sdk-go/aws/credentials/context_go1.5.go (+1/-0)
vendor/github.com/aws/aws-sdk-go/aws/credentials/context_go1.9.go (+1/-0)
vendor/github.com/aws/aws-sdk-go/aws/credentials/ssocreds/os.go (+1/-0)
vendor/github.com/aws/aws-sdk-go/aws/crr/sync_map.go (+1/-0)
vendor/github.com/aws/aws-sdk-go/aws/crr/sync_map_1_8.go (+1/-0)
vendor/github.com/aws/aws-sdk-go/aws/ec2metadata/service.go (+2/-2)
vendor/github.com/aws/aws-sdk-go/aws/endpoints/decode.go (+0/-14)
vendor/github.com/aws/aws-sdk-go/aws/endpoints/defaults.go (+733/-89)
vendor/github.com/aws/aws-sdk-go/aws/endpoints/endpoints.go (+53/-2)
vendor/github.com/aws/aws-sdk-go/aws/endpoints/v3model.go (+36/-0)
vendor/github.com/aws/aws-sdk-go/aws/endpoints/v3model_codegen.go (+1/-0)
vendor/github.com/aws/aws-sdk-go/aws/request/request.go (+16/-1)
vendor/github.com/aws/aws-sdk-go/aws/request/request_1_7.go (+1/-0)
vendor/github.com/aws/aws-sdk-go/aws/request/request_1_8.go (+1/-0)
vendor/github.com/aws/aws-sdk-go/aws/request/request_context.go (+1/-0)
vendor/github.com/aws/aws-sdk-go/aws/request/request_context_1_6.go (+1/-0)
vendor/github.com/aws/aws-sdk-go/aws/session/credentials.go (+7/-7)
vendor/github.com/aws/aws-sdk-go/aws/session/custom_transport.go (+1/-0)
vendor/github.com/aws/aws-sdk-go/aws/session/custom_transport_go1.12.go (+1/-0)
vendor/github.com/aws/aws-sdk-go/aws/session/custom_transport_go1.5.go (+1/-0)
vendor/github.com/aws/aws-sdk-go/aws/session/custom_transport_go1.6.go (+1/-0)
vendor/github.com/aws/aws-sdk-go/aws/session/doc.go (+1/-1)
vendor/github.com/aws/aws-sdk-go/aws/session/env_config.go (+26/-1)
vendor/github.com/aws/aws-sdk-go/aws/session/session.go (+41/-12)
vendor/github.com/aws/aws-sdk-go/aws/session/shared_config.go (+34/-1)
vendor/github.com/aws/aws-sdk-go/aws/signer/v4/header_rules.go (+8/-8)
vendor/github.com/aws/aws-sdk-go/aws/signer/v4/request_context_go1.5.go (+1/-0)
vendor/github.com/aws/aws-sdk-go/aws/signer/v4/request_context_go1.7.go (+1/-0)
vendor/github.com/aws/aws-sdk-go/aws/signer/v4/uri_path.go (+1/-0)
vendor/github.com/aws/aws-sdk-go/aws/signer/v4/v4.go (+7/-6)
vendor/github.com/aws/aws-sdk-go/aws/url.go (+1/-0)
vendor/github.com/aws/aws-sdk-go/aws/url_1_7.go (+1/-0)
vendor/github.com/aws/aws-sdk-go/aws/version.go (+1/-1)
vendor/github.com/aws/aws-sdk-go/internal/context/background_go1.5.go (+1/-0)
vendor/github.com/aws/aws-sdk-go/internal/ini/doc.go (+23/-10)
vendor/github.com/aws/aws-sdk-go/internal/ini/fuzz.go (+1/-0)
vendor/github.com/aws/aws-sdk-go/internal/ini/ini_parser.go (+22/-29)
vendor/github.com/aws/aws-sdk-go/internal/ini/visitor.go (+4/-1)
vendor/github.com/aws/aws-sdk-go/internal/s3shared/arn/arn.go (+4/-0)
vendor/github.com/aws/aws-sdk-go/internal/s3shared/endpoint_errors.go (+13/-0)
vendor/github.com/aws/aws-sdk-go/internal/s3shared/resource_request.go (+2/-0)
vendor/github.com/aws/aws-sdk-go/internal/sdkio/io_go1.6.go (+1/-0)
vendor/github.com/aws/aws-sdk-go/internal/sdkio/io_go1.7.go (+1/-0)
vendor/github.com/aws/aws-sdk-go/internal/sdkmath/floor.go (+1/-0)
vendor/github.com/aws/aws-sdk-go/internal/sdkmath/floor_go1.9.go (+1/-0)
vendor/github.com/aws/aws-sdk-go/internal/sdkrand/read.go (+1/-0)
vendor/github.com/aws/aws-sdk-go/internal/sdkrand/read_1_5.go (+1/-0)
vendor/github.com/aws/aws-sdk-go/private/protocol/rest/build.go (+1/-1)
vendor/github.com/aws/aws-sdk-go/private/protocol/timestamp.go (+55/-6)
vendor/github.com/aws/aws-sdk-go/service/s3/api.go (+762/-653)
vendor/github.com/aws/aws-sdk-go/service/s3/customizations.go (+1/-1)
vendor/github.com/aws/aws-sdk-go/service/s3/endpoint.go (+3/-2)
vendor/github.com/aws/aws-sdk-go/service/s3/errors.go (+4/-4)
vendor/github.com/aws/aws-sdk-go/service/s3/platform_handlers.go (+1/-0)
vendor/github.com/aws/aws-sdk-go/service/s3/platform_handlers_go1.6.go (+1/-0)
vendor/github.com/aws/aws-sdk-go/service/s3/statusok_error.go (+6/-1)
vendor/github.com/aws/aws-sdk-go/service/sns/api.go (+8143/-0)
vendor/github.com/aws/aws-sdk-go/service/sns/doc.go (+44/-0)
vendor/github.com/aws/aws-sdk-go/service/sns/errors.go (+186/-0)
vendor/github.com/aws/aws-sdk-go/service/sns/service.go (+98/-0)
vendor/github.com/aws/aws-sdk-go/service/sts/api.go (+331/-301)
vendor/github.com/aws/aws-sdk-go/service/sts/doc.go (+5/-5)
vendor/github.com/aws/aws-sdk-go/service/sts/errors.go (+10/-8)
vendor/github.com/blang/semver/v4/LICENSE (+22/-0)
vendor/github.com/blang/semver/v4/go.mod (+3/-0)
vendor/github.com/blang/semver/v4/json.go (+23/-0)
vendor/github.com/blang/semver/v4/range.go (+416/-0)
vendor/github.com/blang/semver/v4/semver.go (+476/-0)
vendor/github.com/blang/semver/v4/sort.go (+28/-0)
vendor/github.com/blang/semver/v4/sql.go (+30/-0)
vendor/github.com/cenkalti/backoff/v4/context.go (+1/-5)
vendor/github.com/cenkalti/backoff/v4/retry.go (+4/-0)
vendor/github.com/cespare/xxhash/v2/README.md (+4/-2)
vendor/github.com/cespare/xxhash/v2/xxhash.go (+0/-1)
vendor/github.com/cespare/xxhash/v2/xxhash_amd64.s (+31/-31)
vendor/github.com/cespare/xxhash/v2/xxhash_unsafe.go (+32/-21)
vendor/github.com/coreos/etcd/LICENSE (+202/-0)
vendor/github.com/coreos/etcd/NOTICE (+5/-0)
vendor/github.com/coreos/etcd/pkg/fileutil/dir_unix.go (+22/-0)
vendor/github.com/coreos/etcd/pkg/fileutil/dir_windows.go (+46/-0)
vendor/github.com/coreos/etcd/pkg/fileutil/fileutil.go (+122/-0)
vendor/github.com/coreos/etcd/pkg/fileutil/lock_linux.go (+97/-0)
vendor/github.com/coreos/etcd/pkg/fileutil/lock_windows.go (+125/-0)
vendor/github.com/coreos/etcd/pkg/fileutil/preallocate_darwin.go (+65/-0)
vendor/github.com/coreos/etcd/pkg/fileutil/purge.go (+78/-0)
vendor/github.com/coreos/etcd/pkg/fileutil/sync_darwin.go (+40/-0)
vendor/github.com/coreos/etcd/pkg/tlsutil/tlsutil.go (+0/-1)
vendor/github.com/coreos/go-systemd/LICENSE (+191/-0)
vendor/github.com/coreos/go-systemd/NOTICE (+5/-0)
vendor/github.com/coreos/go-systemd/journal/journal.go (+225/-0)
vendor/github.com/coreos/go-systemd/v22/journal/journal.go (+0/-179)
vendor/github.com/coreos/go-systemd/v22/journal/journal_unix.go (+210/-0)
vendor/github.com/coreos/go-systemd/v22/journal/journal_windows.go (+35/-0)
vendor/github.com/coreos/pkg/LICENSE (+202/-0)
vendor/github.com/coreos/pkg/NOTICE (+5/-0)
vendor/github.com/coreos/pkg/capnslog/README.md (+39/-0)
vendor/github.com/coreos/pkg/capnslog/formatters.go (+157/-0)
vendor/github.com/coreos/pkg/capnslog/glog_formatter.go (+96/-0)
vendor/github.com/coreos/pkg/capnslog/init.go (+49/-0)
vendor/github.com/coreos/pkg/capnslog/init_windows.go (+25/-0)
vendor/github.com/coreos/pkg/capnslog/journald_formatter.go (+68/-0)
vendor/github.com/coreos/pkg/capnslog/log_hijack.go (+39/-0)
vendor/github.com/coreos/pkg/capnslog/logmap.go (+245/-0)
vendor/github.com/coreos/pkg/capnslog/pkg_logger.go (+191/-0)
vendor/github.com/coreos/pkg/capnslog/syslog_formatter.go (+65/-0)
vendor/github.com/dennwc/varint/.gitignore (+2/-0)
vendor/github.com/dennwc/varint/.travis.yml (+7/-0)
vendor/github.com/dennwc/varint/LICENSE (+21/-0)
vendor/github.com/dennwc/varint/README.md (+47/-0)
vendor/github.com/dennwc/varint/go.mod (+3/-0)
vendor/github.com/dennwc/varint/proto.go (+244/-0)
vendor/github.com/dennwc/varint/varint.go (+270/-0)
vendor/github.com/dimchansky/utfbom/.gitignore (+37/-0)
vendor/github.com/dimchansky/utfbom/.travis.yml (+29/-0)
vendor/github.com/dimchansky/utfbom/LICENSE (+201/-0)
vendor/github.com/dimchansky/utfbom/README.md (+66/-0)
vendor/github.com/dimchansky/utfbom/go.mod (+1/-0)
vendor/github.com/dimchansky/utfbom/utfbom.go (+192/-0)
vendor/github.com/fatih/color/README.md (+13/-17)
vendor/github.com/fatih/color/color.go (+20/-5)
vendor/github.com/fatih/color/doc.go (+2/-0)
vendor/github.com/fatih/color/go.mod (+2/-2)
vendor/github.com/fatih/color/go.sum (+7/-8)
vendor/github.com/form3tech-oss/jwt-go/map_claims.go (+15/-7)
vendor/github.com/go-kit/kit/log/README.md (+9/-0)
vendor/github.com/go-kit/kit/log/doc.go (+4/-2)
vendor/github.com/go-kit/kit/log/json_logger.go (+3/-79)
vendor/github.com/go-kit/kit/log/level/doc.go (+6/-3)
vendor/github.com/go-kit/kit/log/level/level.go (+28/-113)
vendor/github.com/go-kit/kit/log/log.go (+18/-102)
vendor/github.com/go-kit/kit/log/logfmt_logger.go (+2/-49)
vendor/github.com/go-kit/kit/log/nop_logger.go (+4/-4)
vendor/github.com/go-kit/kit/log/stdlib.go (+19/-81)
vendor/github.com/go-kit/kit/log/sync.go (+5/-84)
vendor/github.com/go-kit/kit/log/value.go (+12/-70)
vendor/github.com/go-kit/log/.gitignore (+15/-0)
vendor/github.com/go-kit/log/LICENSE (+21/-0)
vendor/github.com/go-kit/log/README.md (+151/-0)
vendor/github.com/go-kit/log/doc.go (+116/-0)
vendor/github.com/go-kit/log/go.mod (+5/-0)
vendor/github.com/go-kit/log/go.sum (+2/-0)
vendor/github.com/go-kit/log/json_logger.go (+91/-0)
vendor/github.com/go-kit/log/level/doc.go (+22/-0)
vendor/github.com/go-kit/log/level/level.go (+205/-0)
vendor/github.com/go-kit/log/log.go (+179/-0)
vendor/github.com/go-kit/log/logfmt_logger.go (+62/-0)
vendor/github.com/go-kit/log/nop_logger.go (+8/-0)
vendor/github.com/go-kit/log/stdlib.go (+151/-0)
vendor/github.com/go-kit/log/sync.go (+113/-0)
vendor/github.com/go-kit/log/value.go (+110/-0)
vendor/github.com/go-logfmt/logfmt/README.md (+33/-33)
vendor/github.com/go-logfmt/logfmt/go.mod (+1/-1)
vendor/github.com/go-openapi/strfmt/bson.go (+1/-1)
vendor/github.com/gogo/googleapis/google/rpc/code.pb.go (+22/-18)
vendor/github.com/gogo/googleapis/google/rpc/code.proto (+4/-4)
vendor/github.com/gogo/googleapis/google/rpc/error_details.pb.go (+1278/-426)
vendor/github.com/gogo/googleapis/google/rpc/error_details.proto (+53/-7)
vendor/github.com/gogo/googleapis/google/rpc/status.pb.go (+121/-164)
vendor/github.com/gogo/googleapis/google/rpc/status.proto (+8/-53)
vendor/github.com/gogo/status/go.mod (+12/-0)
vendor/github.com/gogo/status/go.sum (+12/-0)
vendor/github.com/golang-jwt/jwt/v4/.gitignore (+4/-0)
vendor/github.com/golang-jwt/jwt/v4/LICENSE (+9/-0)
vendor/github.com/golang-jwt/jwt/v4/MIGRATION_GUIDE.md (+22/-0)
vendor/github.com/golang-jwt/jwt/v4/README.md (+113/-0)
vendor/github.com/golang-jwt/jwt/v4/VERSION_HISTORY.md (+135/-0)
vendor/github.com/golang-jwt/jwt/v4/claims.go (+145/-0)
vendor/github.com/golang-jwt/jwt/v4/doc.go (+4/-0)
vendor/github.com/golang-jwt/jwt/v4/ecdsa.go (+142/-0)
vendor/github.com/golang-jwt/jwt/v4/ecdsa_utils.go (+69/-0)
vendor/github.com/golang-jwt/jwt/v4/ed25519.go (+81/-0)
vendor/github.com/golang-jwt/jwt/v4/ed25519_utils.go (+64/-0)
vendor/github.com/golang-jwt/jwt/v4/errors.go (+59/-0)
vendor/github.com/golang-jwt/jwt/v4/go.mod (+3/-0)
vendor/github.com/golang-jwt/jwt/v4/go.sum (+0/-0)
vendor/github.com/golang-jwt/jwt/v4/hmac.go (+95/-0)
vendor/github.com/golang-jwt/jwt/v4/map_claims.go (+120/-0)
vendor/github.com/golang-jwt/jwt/v4/none.go (+52/-0)
vendor/github.com/golang-jwt/jwt/v4/parser.go (+148/-0)
vendor/github.com/golang-jwt/jwt/v4/rsa.go (+101/-0)
vendor/github.com/golang-jwt/jwt/v4/rsa_pss.go (+142/-0)
vendor/github.com/golang-jwt/jwt/v4/rsa_utils.go (+105/-0)
vendor/github.com/golang-jwt/jwt/v4/signing_method.go (+35/-0)
vendor/github.com/golang-jwt/jwt/v4/staticcheck.conf (+1/-0)
vendor/github.com/golang-jwt/jwt/v4/token.go (+110/-0)
vendor/github.com/golang/snappy/AUTHORS (+1/-0)
vendor/github.com/golang/snappy/CONTRIBUTORS (+2/-0)
vendor/github.com/golang/snappy/decode.go (+53/-30)
vendor/github.com/golang/snappy/encode_arm64.s (+2/-2)
vendor/github.com/google/btree/btree.go (+1/-1)
vendor/github.com/google/btree/go.mod (+17/-0)
vendor/github.com/google/go-cmp/cmp/path.go (+1/-1)
vendor/github.com/google/go-cmp/cmp/report_slices.go (+175/-27)
vendor/github.com/google/uuid/hash.go (+2/-2)
vendor/github.com/google/uuid/sql.go (+1/-1)
vendor/github.com/google/uuid/uuid.go (+8/-2)
vendor/github.com/google/uuid/version4.go (+8/-0)
vendor/github.com/googleapis/gax-go/v2/apierror/apierror.go (+296/-0)
vendor/github.com/googleapis/gax-go/v2/apierror/internal/proto/README.md (+30/-0)
vendor/github.com/googleapis/gax-go/v2/apierror/internal/proto/error.pb.go (+278/-0)
vendor/github.com/googleapis/gax-go/v2/apierror/internal/proto/error.proto (+46/-0)
vendor/github.com/googleapis/gax-go/v2/call_option.go (+37/-9)
vendor/github.com/googleapis/gax-go/v2/gax.go (+1/-1)
vendor/github.com/googleapis/gax-go/v2/go.mod (+10/-1)
vendor/github.com/googleapis/gax-go/v2/go.sum (+510/-8)
vendor/github.com/googleapis/gax-go/v2/invoke.go (+10/-5)
vendor/github.com/gorilla/mux/README.md (+89/-2)
vendor/github.com/gorilla/mux/go.mod (+2/-0)
vendor/github.com/gorilla/mux/middleware.go (+10/-15)
vendor/github.com/gorilla/mux/mux.go (+15/-16)
vendor/github.com/gorilla/mux/regexp.go (+57/-14)
vendor/github.com/gorilla/mux/route.go (+32/-6)
vendor/github.com/gorilla/mux/test_helpers.go (+1/-1)
vendor/github.com/grafana/dskit/LICENSE (+201/-0)
vendor/github.com/grafana/dskit/backoff/backoff.go (+9/-9)
vendor/github.com/grafana/dskit/closer/closer.go (+9/-0)
vendor/github.com/grafana/dskit/flagext/deprecated.go (+8/-9)
vendor/github.com/grafana/dskit/kv/client.go (+17/-16)
vendor/github.com/grafana/dskit/kv/consul/client.go (+33/-26)
vendor/github.com/grafana/dskit/kv/consul/metrics.go (+25/-20)
vendor/github.com/grafana/dskit/kv/consul/mock.go (+54/-22)
vendor/github.com/grafana/dskit/kv/etcd/etcd.go (+31/-29)
vendor/github.com/grafana/dskit/kv/etcd/mock.go (+10/-21)
vendor/github.com/grafana/dskit/kv/kvtls/tls.go (+87/-0)
vendor/github.com/grafana/dskit/kv/memberlist/broadcast.go (+3/-4)
vendor/github.com/grafana/dskit/kv/memberlist/dnsprovider.go (+15/-0)
vendor/github.com/grafana/dskit/kv/memberlist/kv_init_service.go (+75/-41)
vendor/github.com/grafana/dskit/kv/memberlist/memberlist_client.go (+105/-122)
vendor/github.com/grafana/dskit/kv/memberlist/memberlist_logger.go (+1/-1)
vendor/github.com/grafana/dskit/kv/memberlist/mergeable.go (+3/-0)
vendor/github.com/grafana/dskit/kv/memberlist/metrics.go (+21/-58)
vendor/github.com/grafana/dskit/kv/memberlist/tcp_transport.go (+17/-38)
vendor/github.com/grafana/dskit/kv/metrics.go (+3/-4)
vendor/github.com/grafana/dskit/kv/mock.go (+3/-4)
vendor/github.com/grafana/dskit/kv/multi.go (+37/-37)
vendor/github.com/grafana/dskit/modules/module_service.go (+16/-11)
vendor/github.com/grafana/dskit/modules/module_service_wrapper.go (+5/-4)
vendor/github.com/grafana/dskit/modules/modules.go (+6/-3)
vendor/github.com/grafana/dskit/runtimeconfig/manager.go (+14/-12)
vendor/github.com/grafana/dskit/services/basic_service.go (+3/-3)
vendor/github.com/grafana/dskit/services/failure_watcher.go (+1/-1)
vendor/github.com/grafana/dskit/services/manager.go (+13/-13)
vendor/github.com/grafana/dskit/services/service.go (+12/-11)
vendor/github.com/grafana/dskit/services/services.go (+3/-3)
vendor/github.com/grpc-ecosystem/go-grpc-middleware/.travis.yml (+0/-2)
vendor/github.com/grpc-ecosystem/go-grpc-middleware/README.md (+3/-2)
vendor/github.com/grpc-ecosystem/go-grpc-middleware/go.mod (+2/-5)
vendor/github.com/grpc-ecosystem/go-grpc-middleware/go.sum (+23/-41)
vendor/github.com/hashicorp/consul/api/acl.go (+94/-47)
vendor/github.com/hashicorp/consul/api/agent.go (+101/-39)
vendor/github.com/hashicorp/consul/api/api.go (+62/-7)
vendor/github.com/hashicorp/consul/api/catalog.go (+9/-9)
vendor/github.com/hashicorp/consul/api/config_entry.go (+141/-22)
vendor/github.com/hashicorp/consul/api/config_entry_cluster.go (+53/-0)
vendor/github.com/hashicorp/consul/api/connect_ca.go (+11/-4)
vendor/github.com/hashicorp/consul/api/connect_intention.go (+10/-10)
vendor/github.com/hashicorp/consul/api/coordinate.go (+4/-4)
vendor/github.com/hashicorp/consul/api/debug.go (+20/-4)
vendor/github.com/hashicorp/consul/api/discovery_chain.go (+1/-1)
vendor/github.com/hashicorp/consul/api/event.go (+3/-2)
vendor/github.com/hashicorp/consul/api/go.mod (+1/-1)
vendor/github.com/hashicorp/consul/api/go.sum (+1/-12)
vendor/github.com/hashicorp/consul/api/health.go (+5/-4)
vendor/github.com/hashicorp/consul/api/kv.go (+8/-7)
vendor/github.com/hashicorp/consul/api/namespace.go (+5/-5)
vendor/github.com/hashicorp/consul/api/operator_area.go (+4/-4)
vendor/github.com/hashicorp/consul/api/operator_autopilot.go (+19/-6)
vendor/github.com/hashicorp/consul/api/operator_keyring.go (+4/-4)
vendor/github.com/hashicorp/consul/api/operator_license.go (+8/-3)
vendor/github.com/hashicorp/consul/api/operator_raft.go (+3/-3)
vendor/github.com/hashicorp/consul/api/prepared_query.go (+2/-2)
vendor/github.com/hashicorp/consul/api/session.go (+1/-1)
vendor/github.com/hashicorp/consul/api/snapshot.go (+1/-0)
vendor/github.com/hashicorp/consul/api/status.go (+2/-2)
vendor/github.com/hashicorp/consul/api/txn.go (+1/-1)
vendor/github.com/hashicorp/go-cleanhttp/cleanhttp.go (+1/-0)
vendor/github.com/hashicorp/go-cleanhttp/go.mod (+2/-0)
vendor/github.com/hashicorp/go-hclog/exclude.go (+71/-0)
vendor/github.com/hashicorp/go-hclog/interceptlogger.go (+31/-74)
vendor/github.com/hashicorp/go-hclog/intlogger.go (+141/-57)
vendor/github.com/hashicorp/go-hclog/logger.go (+49/-3)
vendor/github.com/hashicorp/go-hclog/stdlog.go (+22/-1)
vendor/github.com/hashicorp/go-immutable-radix/CHANGELOG.md (+14/-0)
vendor/github.com/hashicorp/go-immutable-radix/iter.go (+39/-22)
vendor/github.com/hashicorp/go-immutable-radix/node.go (+30/-0)
vendor/github.com/hashicorp/go-immutable-radix/raw_iter.go (+1/-1)
vendor/github.com/hashicorp/go-immutable-radix/reverse_iter.go (+239/-0)
vendor/github.com/hashicorp/golang-lru/.gitignore (+23/-0)
vendor/github.com/hashicorp/golang-lru/2q.go (+223/-0)
vendor/github.com/hashicorp/golang-lru/README.md (+25/-0)
vendor/github.com/hashicorp/golang-lru/arc.go (+257/-0)
vendor/github.com/hashicorp/golang-lru/doc.go (+21/-0)
vendor/github.com/hashicorp/golang-lru/go.mod (+3/-0)
vendor/github.com/hashicorp/golang-lru/lru.go (+150/-0)
vendor/github.com/hashicorp/memberlist/net.go (+4/-0)
vendor/github.com/hashicorp/memberlist/transport.go (+6/-20)
vendor/github.com/hashicorp/memberlist/util.go (+4/-4)
vendor/github.com/json-iterator/go/README.md (+0/-2)
vendor/github.com/json-iterator/go/go.mod (+1/-1)
vendor/github.com/json-iterator/go/go.sum (+2/-3)
vendor/github.com/mattn/go-colorable/colorable_windows.go (+19/-9)
vendor/github.com/mattn/go-ieproxy/ieproxy_windows.go (+30/-14)
vendor/github.com/mattn/go-isatty/go.mod (+1/-1)
vendor/github.com/mattn/go-isatty/isatty_bsd.go (+1/-0)
vendor/github.com/mattn/go-isatty/isatty_others.go (+2/-1)
vendor/github.com/mattn/go-isatty/isatty_plan9.go (+1/-0)
vendor/github.com/mattn/go-isatty/isatty_solaris.go (+4/-5)
vendor/github.com/mattn/go-isatty/isatty_tcgets.go (+2/-1)
vendor/github.com/mattn/go-isatty/isatty_windows.go (+3/-3)
vendor/github.com/miekg/dns/README.md (+1/-0)
vendor/github.com/miekg/dns/acceptfunc.go (+1/-0)
vendor/github.com/miekg/dns/dnssec.go (+11/-3)
vendor/github.com/miekg/dns/doc.go (+5/-5)
vendor/github.com/miekg/dns/edns.go (+148/-2)
vendor/github.com/miekg/dns/go.mod (+1/-1)
vendor/github.com/miekg/dns/msg_helpers.go (+0/-29)
vendor/github.com/miekg/dns/privaterr.go (+1/-1)
vendor/github.com/miekg/dns/scan.go (+3/-0)
vendor/github.com/miekg/dns/scan_rr.go (+5/-1)
vendor/github.com/miekg/dns/svcb.go (+13/-2)
vendor/github.com/miekg/dns/types.go (+13/-16)
vendor/github.com/miekg/dns/version.go (+1/-1)
vendor/github.com/mitchellh/mapstructure/CHANGELOG.md (+8/-2)
vendor/github.com/mitchellh/mapstructure/decode_hooks.go (+2/-1)
vendor/github.com/mitchellh/mapstructure/mapstructure.go (+11/-2)
vendor/github.com/modern-go/reflect2/.travis.yml (+1/-1)
vendor/github.com/modern-go/reflect2/Gopkg.lock (+1/-7)
vendor/github.com/modern-go/reflect2/Gopkg.toml (+0/-4)
vendor/github.com/modern-go/reflect2/go.mod (+3/-0)
vendor/github.com/modern-go/reflect2/go_above_118.go (+23/-0)
vendor/github.com/modern-go/reflect2/go_above_19.go (+3/-0)
vendor/github.com/modern-go/reflect2/go_below_118.go (+21/-0)
vendor/github.com/modern-go/reflect2/reflect2.go (+11/-9)
vendor/github.com/modern-go/reflect2/type_map.go (+4/-47)
vendor/github.com/modern-go/reflect2/unsafe_link.go (+16/-10)
vendor/github.com/modern-go/reflect2/unsafe_map.go (+0/-8)
vendor/github.com/prometheus/alertmanager/api/api.go (+1/-1)
vendor/github.com/prometheus/alertmanager/api/v1/api.go (+2/-2)
vendor/github.com/prometheus/alertmanager/api/v2/api.go (+2/-2)
vendor/github.com/prometheus/alertmanager/asset/assets_vfsdata.go (+2/-2)
vendor/github.com/prometheus/alertmanager/cluster/channel.go (+2/-2)
vendor/github.com/prometheus/alertmanager/cluster/cluster.go (+11/-3)
vendor/github.com/prometheus/alertmanager/cluster/clusterpb/cluster.pb.go (+338/-12)
vendor/github.com/prometheus/alertmanager/cluster/clusterpb/cluster.proto (+11/-0)
vendor/github.com/prometheus/alertmanager/cluster/connection_pool.go (+84/-0)
vendor/github.com/prometheus/alertmanager/cluster/delegate.go (+2/-2)
vendor/github.com/prometheus/alertmanager/cluster/tls_config.go (+45/-0)
vendor/github.com/prometheus/alertmanager/cluster/tls_connection.go (+188/-0)
vendor/github.com/prometheus/alertmanager/cluster/tls_transport.go (+346/-0)
vendor/github.com/prometheus/alertmanager/config/config.go (+9/-0)
vendor/github.com/prometheus/alertmanager/config/coordinator.go (+2/-2)
vendor/github.com/prometheus/alertmanager/config/notifiers.go (+52/-10)
vendor/github.com/prometheus/alertmanager/dispatch/dispatch.go (+2/-2)
vendor/github.com/prometheus/alertmanager/inhibit/inhibit.go (+2/-2)
vendor/github.com/prometheus/alertmanager/nflog/nflog.go (+39/-26)
vendor/github.com/prometheus/alertmanager/notify/email/email.go (+2/-2)
vendor/github.com/prometheus/alertmanager/notify/notify.go (+4/-3)
vendor/github.com/prometheus/alertmanager/notify/opsgenie/opsgenie.go (+96/-30)
vendor/github.com/prometheus/alertmanager/notify/pagerduty/pagerduty.go (+2/-2)
vendor/github.com/prometheus/alertmanager/notify/pushover/pushover.go (+2/-2)
vendor/github.com/prometheus/alertmanager/notify/slack/slack.go (+1/-1)
vendor/github.com/prometheus/alertmanager/notify/sns/sns.go (+214/-0)
vendor/github.com/prometheus/alertmanager/notify/util.go (+2/-2)
vendor/github.com/prometheus/alertmanager/notify/victorops/victorops.go (+2/-2)
vendor/github.com/prometheus/alertmanager/notify/webhook/webhook.go (+2/-2)
vendor/github.com/prometheus/alertmanager/notify/wechat/wechat.go (+2/-2)
vendor/github.com/prometheus/alertmanager/pkg/labels/matcher.go (+4/-1)
vendor/github.com/prometheus/alertmanager/pkg/labels/parse.go (+21/-14)
vendor/github.com/prometheus/alertmanager/provider/mem/mem.go (+2/-2)
vendor/github.com/prometheus/alertmanager/silence/silence.go (+72/-50)
vendor/github.com/prometheus/alertmanager/template/default.tmpl (+12/-0)
vendor/github.com/prometheus/alertmanager/types/types.go (+37/-57)
vendor/github.com/prometheus/alertmanager/ui/web.go (+1/-1)
vendor/github.com/prometheus/client_golang/api/prometheus/v1/api.go (+87/-32)
vendor/github.com/prometheus/client_golang/prometheus/collectors/collectors.go (+16/-0)
vendor/github.com/prometheus/client_golang/prometheus/collectors/dbstats_collector.go (+119/-0)
vendor/github.com/prometheus/client_golang/prometheus/collectors/dbstats_collector_go115.go (+30/-0)
vendor/github.com/prometheus/client_golang/prometheus/collectors/dbstats_collector_pre_go115.go (+26/-0)
vendor/github.com/prometheus/client_golang/prometheus/collectors/expvar_collector.go (+57/-0)
vendor/github.com/prometheus/client_golang/prometheus/collectors/go_collector.go (+69/-0)
vendor/github.com/prometheus/client_golang/prometheus/collectors/process_collector.go (+56/-0)
vendor/github.com/prometheus/client_golang/prometheus/expvar_collector.go (+3/-36)
vendor/github.com/prometheus/client_golang/prometheus/go_collector.go (+6/-41)
vendor/github.com/prometheus/client_golang/prometheus/histogram.go (+6/-1)
vendor/github.com/prometheus/client_golang/prometheus/process_collector.go (+3/-9)
vendor/github.com/prometheus/client_golang/prometheus/summary.go (+9/-2)
vendor/github.com/prometheus/common/config/http_config.go (+28/-13)
vendor/github.com/prometheus/common/expfmt/encode.go (+1/-1)
vendor/github.com/prometheus/common/expfmt/text_parse.go (+1/-1)
vendor/github.com/prometheus/common/sigv4/LICENSE (+201/-0)
vendor/github.com/prometheus/common/sigv4/Makefile (+22/-0)
vendor/github.com/prometheus/common/sigv4/go.mod (+11/-0)
vendor/github.com/prometheus/common/sigv4/go.sum (+479/-0)
vendor/github.com/prometheus/common/sigv4/sigv4.go (+3/-4)
vendor/github.com/prometheus/common/sigv4/sigv4_config.go (+47/-0)
vendor/github.com/prometheus/exporter-toolkit/LICENSE (+201/-0)
vendor/github.com/prometheus/exporter-toolkit/web/README.md (+10/-0)
vendor/github.com/prometheus/exporter-toolkit/web/cache.go (+91/-0)
vendor/github.com/prometheus/exporter-toolkit/web/tls_config.go (+352/-0)
vendor/github.com/prometheus/exporter-toolkit/web/users.go (+98/-0)
vendor/github.com/prometheus/exporter-toolkit/web/web-config.yml (+6/-0)
vendor/github.com/prometheus/procfs/Makefile (+2/-0)
vendor/github.com/prometheus/procfs/Makefile.common (+12/-3)
vendor/github.com/prometheus/procfs/README.md (+2/-2)
vendor/github.com/prometheus/procfs/cmdline.go (+30/-0)
vendor/github.com/prometheus/procfs/doc.go (+1/-1)
vendor/github.com/prometheus/procfs/fixtures.ttar (+1193/-73)
vendor/github.com/prometheus/procfs/mdstat.go (+77/-28)
vendor/github.com/prometheus/procfs/net_ip_socket.go (+8/-2)
vendor/github.com/prometheus/procfs/netstat.go (+68/-0)
vendor/github.com/prometheus/procfs/proc_cgroup.go (+1/-1)
vendor/github.com/prometheus/procfs/proc_stat.go (+30/-2)
vendor/github.com/prometheus/procfs/zoneinfo.go (+0/-1)
vendor/github.com/prometheus/prometheus/config/config.go (+35/-16)
vendor/github.com/prometheus/prometheus/discovery/README.md (+1/-1)
vendor/github.com/prometheus/prometheus/discovery/discovery.go (+1/-1)
vendor/github.com/prometheus/prometheus/discovery/dns/dns.go (+3/-4)
vendor/github.com/prometheus/prometheus/discovery/file/file.go (+16/-23)
vendor/github.com/prometheus/prometheus/discovery/manager.go (+7/-5)
vendor/github.com/prometheus/prometheus/discovery/refresh/refresh.go (+2/-2)
vendor/github.com/prometheus/prometheus/notifier/notifier.go (+2/-2)
vendor/github.com/prometheus/prometheus/pkg/labels/matcher.go (+10/-9)
vendor/github.com/prometheus/prometheus/pkg/logging/dedupe.go (+1/-1)
vendor/github.com/prometheus/prometheus/pkg/logging/file.go (+1/-1)
vendor/github.com/prometheus/prometheus/pkg/logging/ratelimit.go (+1/-1)
vendor/github.com/prometheus/prometheus/pkg/relabel/relabel.go (+3/-0)
vendor/github.com/prometheus/prometheus/pkg/rulefmt/rulefmt.go (+2/-1)
vendor/github.com/prometheus/prometheus/pkg/textparse/openmetricsparse.go (+10/-6)
vendor/github.com/prometheus/prometheus/promql/engine.go (+11/-4)
vendor/github.com/prometheus/prometheus/promql/functions.go (+8/-0)
vendor/github.com/prometheus/prometheus/promql/fuzz.go (+1/-0)
vendor/github.com/prometheus/prometheus/promql/parser/functions.go (+5/-0)
vendor/github.com/prometheus/prometheus/promql/parser/generated_parser.y (+2/-2)
vendor/github.com/prometheus/prometheus/promql/parser/generated_parser.y.go (+270/-261)
vendor/github.com/prometheus/prometheus/promql/parser/parse.go (+2/-2)
vendor/github.com/prometheus/prometheus/promql/parser/printer.go (+4/-1)
vendor/github.com/prometheus/prometheus/promql/query_logger.go (+2/-2)
vendor/github.com/prometheus/prometheus/promql/test.go (+14/-4)
vendor/github.com/prometheus/prometheus/promql/value.go (+2/-2)
vendor/github.com/prometheus/prometheus/rules/alerting.go (+9/-16)
vendor/github.com/prometheus/prometheus/rules/manager.go (+8/-5)
vendor/github.com/prometheus/prometheus/rules/recording.go (+1/-6)
vendor/github.com/prometheus/prometheus/scrape/manager.go (+17/-52)
vendor/github.com/prometheus/prometheus/scrape/scrape.go (+134/-55)
vendor/github.com/prometheus/prometheus/scrape/target.go (+70/-4)
vendor/github.com/prometheus/prometheus/storage/fanout.go (+2/-2)
vendor/github.com/prometheus/prometheus/storage/interface.go (+5/-3)
vendor/github.com/prometheus/prometheus/storage/merge.go (+3/-3)
vendor/github.com/prometheus/prometheus/storage/noop.go (+2/-2)
vendor/github.com/prometheus/prometheus/storage/remote/client.go (+3/-3)
vendor/github.com/prometheus/prometheus/storage/remote/metadata_watcher.go (+2/-2)
vendor/github.com/prometheus/prometheus/storage/remote/queue_manager.go (+50/-53)
vendor/github.com/prometheus/prometheus/storage/remote/read.go (+1/-1)
vendor/github.com/prometheus/prometheus/storage/remote/read_handler.go (+2/-2)
vendor/github.com/prometheus/prometheus/storage/remote/storage.go (+1/-1)
vendor/github.com/prometheus/prometheus/storage/remote/write.go (+1/-1)
vendor/github.com/prometheus/prometheus/storage/remote/write_handler.go (+2/-2)
vendor/github.com/prometheus/prometheus/storage/secondary.go (+2/-2)
vendor/github.com/prometheus/prometheus/storage/series.go (+32/-5)
vendor/github.com/prometheus/prometheus/template/template.go (+3/-1)
vendor/github.com/prometheus/prometheus/tsdb/README.md (+1/-1)
vendor/github.com/prometheus/prometheus/tsdb/block.go (+22/-8)
vendor/github.com/prometheus/prometheus/tsdb/blockwriter.go (+4/-4)
vendor/github.com/prometheus/prometheus/tsdb/chunkenc/bstream.go (+1/-1)
vendor/github.com/prometheus/prometheus/tsdb/chunkenc/xor.go (+9/-9)
vendor/github.com/prometheus/prometheus/tsdb/chunks/head_chunks.go (+1/-1)
vendor/github.com/prometheus/prometheus/tsdb/chunks/head_chunks_other.go (+1/-0)
vendor/github.com/prometheus/prometheus/tsdb/compact.go (+13/-7)
vendor/github.com/prometheus/prometheus/tsdb/db.go (+139/-30)
vendor/github.com/prometheus/prometheus/tsdb/encoding/encoding.go (+26/-3)
vendor/github.com/prometheus/prometheus/tsdb/exemplar.go (+184/-55)
vendor/github.com/prometheus/prometheus/tsdb/fileutil/dir_unix.go (+1/-0)
vendor/github.com/prometheus/prometheus/tsdb/fileutil/dir_windows.go (+1/-0)
vendor/github.com/prometheus/prometheus/tsdb/fileutil/flock_solaris.go (+1/-0)
vendor/github.com/prometheus/prometheus/tsdb/fileutil/flock_unix.go (+1/-0)
vendor/github.com/prometheus/prometheus/tsdb/fileutil/mmap_386.go (+1/-0)
vendor/github.com/prometheus/prometheus/tsdb/fileutil/mmap_amd64.go (+1/-0)
vendor/github.com/prometheus/prometheus/tsdb/fileutil/mmap_unix.go (+1/-0)
vendor/github.com/prometheus/prometheus/tsdb/fileutil/preallocate_other.go (+1/-0)
vendor/github.com/prometheus/prometheus/tsdb/fileutil/sync.go (+1/-0)
vendor/github.com/prometheus/prometheus/tsdb/fileutil/sync_darwin.go (+1/-0)
vendor/github.com/prometheus/prometheus/tsdb/fileutil/sync_linux.go (+1/-0)
vendor/github.com/prometheus/prometheus/tsdb/goversion/goversion.go (+1/-0)
vendor/github.com/prometheus/prometheus/tsdb/head.go (+445/-1560)
vendor/github.com/prometheus/prometheus/tsdb/head_append.go (+593/-0)
vendor/github.com/prometheus/prometheus/tsdb/head_read.go (+513/-0)
vendor/github.com/prometheus/prometheus/tsdb/head_wal.go (+1008/-0)
vendor/github.com/prometheus/prometheus/tsdb/index/index.go (+78/-5)
vendor/github.com/prometheus/prometheus/tsdb/index/postings.go (+23/-0)
vendor/github.com/prometheus/prometheus/tsdb/isolation.go (+26/-3)
vendor/github.com/prometheus/prometheus/tsdb/querier.go (+19/-2)
vendor/github.com/prometheus/prometheus/tsdb/record/record.go (+11/-2)
vendor/github.com/prometheus/prometheus/tsdb/repair.go (+2/-2)
vendor/github.com/prometheus/prometheus/tsdb/tombstones/tombstones.go (+2/-2)
vendor/github.com/prometheus/prometheus/tsdb/tsdbblockutil.go (+1/-1)
vendor/github.com/prometheus/prometheus/tsdb/tsdbutil/chunks.go (+12/-0)
vendor/github.com/prometheus/prometheus/tsdb/wal.go (+4/-4)
vendor/github.com/prometheus/prometheus/tsdb/wal/checkpoint.go (+2/-2)
vendor/github.com/prometheus/prometheus/tsdb/wal/live_reader.go (+2/-2)
vendor/github.com/prometheus/prometheus/tsdb/wal/wal.go (+33/-2)
vendor/github.com/prometheus/prometheus/tsdb/wal/watcher.go (+52/-13)
vendor/github.com/prometheus/prometheus/util/osutil/hostname.go (+63/-0)
vendor/github.com/prometheus/prometheus/util/teststorage/storage.go (+6/-3)
vendor/github.com/prometheus/prometheus/util/testutil/logging.go (+1/-1)
vendor/github.com/prometheus/prometheus/web/api/v1/api.go (+37/-19)
vendor/github.com/rs/cors/.travis.yml (+1/-3)
vendor/github.com/rs/cors/cors.go (+11/-4)
vendor/github.com/rs/cors/go.mod (+6/-0)
vendor/github.com/rs/cors/go.sum (+25/-0)
vendor/github.com/rs/cors/utils.go (+1/-1)
vendor/github.com/sirupsen/logrus/.travis.yml (+6/-8)
vendor/github.com/sirupsen/logrus/CHANGELOG.md (+36/-0)
vendor/github.com/sirupsen/logrus/README.md (+1/-1)
vendor/github.com/sirupsen/logrus/entry.go (+41/-32)
vendor/github.com/sirupsen/logrus/go.sum (+0/-2)
vendor/github.com/sirupsen/logrus/json_formatter.go (+4/-1)
vendor/github.com/sirupsen/logrus/logger.go (+1/-1)
vendor/github.com/sirupsen/logrus/terminal_check_unix.go (+1/-1)
vendor/github.com/sirupsen/logrus/text_formatter.go (+6/-1)
vendor/github.com/spf13/afero/.gitignore (+2/-0)
vendor/github.com/spf13/afero/.travis.yml (+22/-21)
vendor/github.com/spf13/afero/README.md (+5/-27)
vendor/github.com/spf13/afero/appveyor.yml (+2/-2)
vendor/github.com/spf13/afero/basepath.go (+26/-0)
vendor/github.com/spf13/afero/const_bsds.go (+1/-1)
vendor/github.com/spf13/afero/const_win_unix.go (+1/-0)
vendor/github.com/spf13/afero/copyOnWriteFs.go (+20/-0)
vendor/github.com/spf13/afero/go.mod (+7/-1)
vendor/github.com/spf13/afero/go.sum (+27/-0)
vendor/github.com/spf13/afero/ioutil.go (+21/-11)
vendor/github.com/spf13/afero/match.go (+1/-1)
vendor/github.com/spf13/afero/mem/file.go (+7/-1)
vendor/github.com/spf13/afero/memmap.go (+36/-12)
vendor/github.com/spf13/afero/os.go (+8/-0)
vendor/github.com/spf13/afero/readonlyfs.go (+12/-0)
vendor/github.com/spf13/afero/regexpfs.go (+3/-0)
vendor/github.com/spf13/afero/symlink.go (+55/-0)
vendor/github.com/thanos-io/thanos/pkg/block/block.go (+1/-1)
vendor/github.com/thanos-io/thanos/pkg/block/fetcher.go (+52/-16)
vendor/github.com/thanos-io/thanos/pkg/block/index.go (+19/-12)
vendor/github.com/thanos-io/thanos/pkg/block/indexheader/binary_reader.go (+3/-3)
vendor/github.com/thanos-io/thanos/pkg/block/indexheader/lazy_binary_reader.go (+1/-1)
vendor/github.com/thanos-io/thanos/pkg/block/indexheader/reader_pool.go (+16/-4)
vendor/github.com/thanos-io/thanos/pkg/block/metadata/hash.go (+2/-1)
vendor/github.com/thanos-io/thanos/pkg/block/metadata/markers.go (+2/-0)
vendor/github.com/thanos-io/thanos/pkg/block/metadata/meta.go (+7/-2)
vendor/github.com/thanos-io/thanos/pkg/block/writer.go (+1/-1)
vendor/github.com/thanos-io/thanos/pkg/cache/cache.go (+2/-0)
vendor/github.com/thanos-io/thanos/pkg/cache/inmemory.go (+6/-0)
vendor/github.com/thanos-io/thanos/pkg/cache/memcached.go (+6/-0)
vendor/github.com/thanos-io/thanos/pkg/cache/tracing_cache.go (+5/-0)
vendor/github.com/thanos-io/thanos/pkg/cacheutil/memcached_client.go (+41/-16)
vendor/github.com/thanos-io/thanos/pkg/compact/blocks_cleaner.go (+1/-1)
vendor/github.com/thanos-io/thanos/pkg/compact/compact.go (+82/-25)
vendor/github.com/thanos-io/thanos/pkg/compact/downsample/downsample.go (+15/-4)
vendor/github.com/thanos-io/thanos/pkg/component/component.go (+19/-0)
vendor/github.com/thanos-io/thanos/pkg/discovery/dns/provider.go (+1/-1)
vendor/github.com/thanos-io/thanos/pkg/discovery/memcache/provider.go (+114/-0)
vendor/github.com/thanos-io/thanos/pkg/discovery/memcache/resolver.go (+111/-0)
vendor/github.com/thanos-io/thanos/pkg/exemplars/exemplarspb/custom.go (+26/-15)
vendor/github.com/thanos-io/thanos/pkg/extprom/http/instrument_client.go (+111/-0)
vendor/github.com/thanos-io/thanos/pkg/extprom/http/instrument_server.go (+166/-0)
vendor/github.com/thanos-io/thanos/pkg/gate/gate.go (+7/-0)
vendor/github.com/thanos-io/thanos/pkg/http/http.go (+15/-5)
vendor/github.com/thanos-io/thanos/pkg/objstore/azure/azure.go (+141/-47)
vendor/github.com/thanos-io/thanos/pkg/objstore/azure/helpers.go (+104/-14)
vendor/github.com/thanos-io/thanos/pkg/objstore/filesystem/filesystem.go (+2/-2)
vendor/github.com/thanos-io/thanos/pkg/objstore/objstore.go (+2/-2)
vendor/github.com/thanos-io/thanos/pkg/objstore/s3/s3.go (+1/-1)
vendor/github.com/thanos-io/thanos/pkg/objstore/swift/swift.go (+2/-2)
vendor/github.com/thanos-io/thanos/pkg/objstore/testing.go (+64/-1)
vendor/github.com/thanos-io/thanos/pkg/promclient/promclient.go (+43/-12)
vendor/github.com/thanos-io/thanos/pkg/rules/rulespb/custom.go (+1/-1)
vendor/github.com/thanos-io/thanos/pkg/shipper/shipper.go (+3/-3)
vendor/github.com/thanos-io/thanos/pkg/store/bucket.go (+61/-41)
vendor/github.com/thanos-io/thanos/pkg/store/cache/caching_bucket.go (+2/-2)
vendor/github.com/thanos-io/thanos/pkg/store/labelpb/label.go (+1/-1)
vendor/github.com/thanos-io/thanos/pkg/store/multitsdb.go (+1/-1)
vendor/github.com/thanos-io/thanos/pkg/store/prometheus.go (+129/-25)
vendor/github.com/thanos-io/thanos/pkg/store/proxy.go (+33/-10)
vendor/github.com/thanos-io/thanos/pkg/store/storepb/custom.go (+61/-1)
vendor/github.com/thanos-io/thanos/pkg/store/storepb/prompb/remote.pb.go (+98/-34)
vendor/github.com/thanos-io/thanos/pkg/store/storepb/prompb/remote.proto (+4/-0)
vendor/github.com/thanos-io/thanos/pkg/store/storepb/prompb/types.pb.go (+734/-67)
vendor/github.com/thanos-io/thanos/pkg/store/storepb/prompb/types.proto (+39/-9)
vendor/github.com/thanos-io/thanos/pkg/store/storepb/rpc.pb.go (+2/-4)
vendor/github.com/thanos-io/thanos/pkg/store/storepb/rpc.proto (+1/-2)
vendor/github.com/thanos-io/thanos/pkg/store/tsdb.go (+38/-6)
vendor/github.com/thanos-io/thanos/pkg/targets/targetspb/custom.go (+1/-1)
vendor/github.com/thanos-io/thanos/pkg/testutil/testutil.go (+116/-2)
vendor/github.com/thanos-io/thanos/pkg/tracing/tracing.go (+15/-7)
vendor/github.com/tmc/grpc-websocket-proxy/wsproxy/websocket_proxy.go (+1/-1)
vendor/github.com/uber/jaeger-client-go/CHANGELOG.md (+15/-0)
vendor/github.com/uber/jaeger-client-go/Makefile (+18/-3)
vendor/github.com/uber/jaeger-client-go/constants.go (+1/-1)
vendor/github.com/uber/jaeger-client-go/internal/baggage/remote/restriction_manager.go (+3/-2)
vendor/github.com/uber/jaeger-client-go/thrift-gen/agent/GoUnusedProtection__.go (+6/-0)
vendor/github.com/uber/jaeger-client-go/thrift-gen/agent/agent-consts.go (+8/-3)
vendor/github.com/uber/jaeger-client-go/thrift-gen/agent/agent.go (+296/-311)
vendor/github.com/uber/jaeger-client-go/thrift-gen/baggage/GoUnusedProtection__.go (+6/-0)
vendor/github.com/uber/jaeger-client-go/thrift-gen/baggage/baggage-consts.go (+8/-3)
vendor/github.com/uber/jaeger-client-go/thrift-gen/baggage/baggage.go (+565/-0)
vendor/github.com/uber/jaeger-client-go/thrift-gen/jaeger/GoUnusedProtection__.go (+6/-0)
vendor/github.com/uber/jaeger-client-go/thrift-gen/jaeger/jaeger-consts.go (+8/-3)
vendor/github.com/uber/jaeger-client-go/thrift-gen/jaeger/jaeger.go (+2698/-0)
vendor/github.com/uber/jaeger-client-go/thrift-gen/sampling/GoUnusedProtection__.go (+6/-0)
vendor/github.com/uber/jaeger-client-go/thrift-gen/sampling/sampling-consts.go (+8/-3)
vendor/github.com/uber/jaeger-client-go/thrift-gen/sampling/sampling.go (+1183/-733)
vendor/github.com/uber/jaeger-client-go/thrift-gen/zipkincore/GoUnusedProtection__.go (+6/-0)
vendor/github.com/uber/jaeger-client-go/thrift-gen/zipkincore/zipkincore-consts.go (+7/-3)
vendor/github.com/uber/jaeger-client-go/thrift-gen/zipkincore/zipkincore.go (+1853/-0)
vendor/github.com/uber/jaeger-client-go/thrift/README.md (+7/-3)
vendor/github.com/uber/jaeger-client-go/thrift/application_exception.go (+69/-31)
vendor/github.com/uber/jaeger-client-go/thrift/binary_protocol.go (+189/-148)
vendor/github.com/uber/jaeger-client-go/thrift/client.go (+109/-0)
vendor/github.com/uber/jaeger-client-go/thrift/compact_protocol.go (+133/-83)
vendor/github.com/uber/jaeger-client-go/thrift/configuration.go (+378/-0)
vendor/github.com/uber/jaeger-client-go/thrift/context.go (+2/-8)
vendor/github.com/uber/jaeger-client-go/thrift/exception.go (+79/-7)
vendor/github.com/uber/jaeger-client-go/thrift/header_context.go (+110/-0)
vendor/github.com/uber/jaeger-client-go/thrift/header_protocol.go (+351/-0)
vendor/github.com/uber/jaeger-client-go/thrift/header_transport.go (+810/-0)
vendor/github.com/uber/jaeger-client-go/thrift/logger.go (+59/-0)
vendor/github.com/uber/jaeger-client-go/thrift/memory_buffer.go (+5/-4)
vendor/github.com/uber/jaeger-client-go/thrift/numeric.go (+2/-2)
vendor/github.com/uber/jaeger-client-go/thrift/processor_factory.go (+80/-0)
vendor/github.com/uber/jaeger-client-go/thrift/protocol.go (+75/-73)
vendor/github.com/uber/jaeger-client-go/thrift/protocol_exception.go (+35/-9)
vendor/github.com/uber/jaeger-client-go/thrift/response_helper.go (+94/-0)
vendor/github.com/uber/jaeger-client-go/thrift/rich_transport.go (+5/-3)
vendor/github.com/uber/jaeger-client-go/thrift/serializer.go (+74/-13)
vendor/github.com/uber/jaeger-client-go/thrift/server_transport.go (+34/-0)
vendor/github.com/uber/jaeger-client-go/thrift/simple_json_protocol.go (+181/-145)
vendor/github.com/uber/jaeger-client-go/thrift/simple_server.go (+332/-0)
vendor/github.com/uber/jaeger-client-go/thrift/transport.go (+7/-5)
vendor/github.com/uber/jaeger-client-go/thrift/transport_exception.go (+53/-12)
vendor/github.com/uber/jaeger-client-go/thrift/transport_factory.go (+3/-3)
vendor/github.com/uber/jaeger-client-go/transport/http.go (+2/-1)
vendor/github.com/uber/jaeger-client-go/transport_udp.go (+3/-2)
vendor/github.com/uber/jaeger-client-go/utils/udp_client.go (+4/-4)
vendor/github.com/weaveworks/common/instrument/instrument.go (+24/-9)
vendor/github.com/weaveworks/common/middleware/grpc_instrumentation.go (+5/-4)
vendor/github.com/weaveworks/common/middleware/http_tracing.go (+0/-31)
vendor/github.com/weaveworks/common/middleware/instrument.go (+3/-11)
vendor/github.com/weaveworks/common/middleware/logging.go (+2/-1)
vendor/github.com/weaveworks/common/server/server.go (+24/-3)
vendor/github.com/weaveworks/common/tracing/tracing.go (+40/-4)
vendor/go.etcd.io/bbolt/.gitignore (+2/-0)
vendor/go.etcd.io/bbolt/.travis.yml (+2/-1)
vendor/go.etcd.io/bbolt/Makefile (+0/-2)
vendor/go.etcd.io/bbolt/README.md (+3/-2)
vendor/go.etcd.io/bbolt/bolt_unix.go (+5/-12)
vendor/go.etcd.io/bbolt/compact.go (+114/-0)
vendor/go.etcd.io/bbolt/db.go (+62/-4)
vendor/go.etcd.io/bbolt/freelist_hmap.go (+3/-3)
vendor/go.etcd.io/bbolt/go.mod (+1/-1)
vendor/go.etcd.io/bbolt/go.sum (+2/-2)
vendor/go.etcd.io/bbolt/mlock_unix.go (+36/-0)
vendor/go.etcd.io/bbolt/mlock_windows.go (+11/-0)
vendor/go.etcd.io/bbolt/tx.go (+1/-2)
vendor/go.etcd.io/etcd/api/v3/authpb/auth.pb.go (+4/-16)
vendor/go.etcd.io/etcd/api/v3/etcdserverpb/etcdserver.pb.go (+2/-8)
vendor/go.etcd.io/etcd/api/v3/etcdserverpb/raft_internal.pb.go (+4/-16)
vendor/go.etcd.io/etcd/api/v3/etcdserverpb/rpc.pb.go (+101/-382)
vendor/go.etcd.io/etcd/api/v3/membershippb/membership.pb.go (+6/-24)
vendor/go.etcd.io/etcd/api/v3/mvccpb/kv.pb.go (+2/-8)
vendor/go.etcd.io/etcd/api/v3/v3rpc/rpctypes/error.go (+4/-0)
vendor/go.etcd.io/etcd/api/v3/version/version.go (+1/-1)
vendor/go.etcd.io/etcd/client/pkg/v3/LICENSE (+202/-0)
vendor/go.etcd.io/etcd/client/pkg/v3/fileutil/dir_unix.go (+1/-0)
vendor/go.etcd.io/etcd/client/pkg/v3/fileutil/dir_windows.go (+1/-0)
vendor/go.etcd.io/etcd/client/pkg/v3/fileutil/fileutil.go (+38/-3)
vendor/go.etcd.io/etcd/client/pkg/v3/fileutil/lock.go (+11/-16)
vendor/go.etcd.io/etcd/client/pkg/v3/fileutil/lock_flock.go (+50/-0)
vendor/go.etcd.io/etcd/client/pkg/v3/fileutil/lock_linux.go (+1/-0)
vendor/go.etcd.io/etcd/client/pkg/v3/fileutil/lock_plan9.go (+45/-0)
vendor/go.etcd.io/etcd/client/pkg/v3/fileutil/lock_solaris.go (+63/-0)
vendor/go.etcd.io/etcd/client/pkg/v3/fileutil/lock_unix.go (+30/-0)
vendor/go.etcd.io/etcd/client/pkg/v3/fileutil/lock_windows.go (+1/-0)
vendor/go.etcd.io/etcd/client/pkg/v3/fileutil/preallocate.go (+54/-0)
vendor/go.etcd.io/etcd/client/pkg/v3/fileutil/preallocate_darwin.go (+1/-0)
vendor/go.etcd.io/etcd/client/pkg/v3/fileutil/preallocate_unix.go (+50/-0)
vendor/go.etcd.io/etcd/client/pkg/v3/fileutil/preallocate_unsupported.go (+26/-0)
vendor/go.etcd.io/etcd/client/pkg/v3/fileutil/sync.go (+30/-0)
vendor/go.etcd.io/etcd/client/pkg/v3/fileutil/sync_darwin.go (+1/-0)
vendor/go.etcd.io/etcd/client/pkg/v3/fileutil/sync_linux.go (+35/-0)
vendor/go.etcd.io/etcd/client/pkg/v3/logutil/log_level.go (+4/-20)
vendor/go.etcd.io/etcd/client/pkg/v3/logutil/zap_journal.go (+2/-1)
vendor/go.etcd.io/etcd/client/pkg/v3/srv/srv.go (+1/-1)
vendor/go.etcd.io/etcd/client/pkg/v3/transport/listener.go (+115/-18)
vendor/go.etcd.io/etcd/client/pkg/v3/transport/listener_opts.go (+76/-0)
vendor/go.etcd.io/etcd/client/pkg/v3/transport/sockopt.go (+45/-0)
vendor/go.etcd.io/etcd/client/pkg/v3/transport/sockopt_unix.go (+22/-0)
vendor/go.etcd.io/etcd/client/pkg/v3/transport/sockopt_windows.go (+19/-0)
vendor/go.etcd.io/etcd/client/pkg/v3/transport/timeout_conn.go (+6/-6)
vendor/go.etcd.io/etcd/client/pkg/v3/transport/timeout_dialer.go (+3/-3)
vendor/go.etcd.io/etcd/client/pkg/v3/transport/timeout_listener.go (+7/-19)
vendor/go.etcd.io/etcd/client/pkg/v3/transport/transport.go (+13/-7)
vendor/go.etcd.io/etcd/client/v2/client.go (+8/-1)
vendor/go.etcd.io/etcd/client/v2/discover.go (+1/-1)
vendor/go.etcd.io/etcd/client/v2/go.mod (+7/-6)
vendor/go.etcd.io/etcd/client/v2/go.sum (+83/-40)
vendor/go.etcd.io/etcd/client/v2/json.go (+3/-2)
vendor/go.etcd.io/etcd/client/v2/keys.go (+2/-1)
vendor/go.etcd.io/etcd/client/v2/members.go (+1/-1)
vendor/go.etcd.io/etcd/client/v3/README.md (+2/-2)
vendor/go.etcd.io/etcd/client/v3/client.go (+36/-13)
vendor/go.etcd.io/etcd/client/v3/cluster.go (+1/-1)
vendor/go.etcd.io/etcd/client/v3/config.go (+4/-0)
vendor/go.etcd.io/etcd/client/v3/doc.go (+1/-1)
vendor/go.etcd.io/etcd/client/v3/go.mod (+8/-7)
vendor/go.etcd.io/etcd/client/v3/go.sum (+125/-57)
vendor/go.etcd.io/etcd/client/v3/internal/endpoint/endpoint.go (+1/-1)
vendor/go.etcd.io/etcd/client/v3/lease.go (+10/-10)
vendor/go.etcd.io/etcd/client/v3/logger.go (+43/-67)
vendor/go.etcd.io/etcd/client/v3/options.go (+8/-4)
vendor/go.etcd.io/etcd/client/v3/retry_interceptor.go (+8/-8)
vendor/go.etcd.io/etcd/client/v3/watch.go (+6/-4)
vendor/go.etcd.io/etcd/pkg/transport/listener.go (+34/-179)
vendor/go.etcd.io/etcd/pkg/transport/timeout_listener.go (+1/-1)
vendor/go.etcd.io/etcd/pkg/v3/debugutil/pprof.go (+1/-1)
vendor/go.etcd.io/etcd/pkg/v3/flags/unique_urls.go (+1/-1)
vendor/go.etcd.io/etcd/pkg/v3/flags/urls.go (+1/-1)
vendor/go.etcd.io/etcd/pkg/v3/ioutil/util.go (+1/-1)
vendor/go.etcd.io/etcd/pkg/v3/netutil/netutil.go (+1/-1)
vendor/go.etcd.io/etcd/pkg/v3/netutil/routes.go (+1/-0)
vendor/go.etcd.io/etcd/pkg/v3/netutil/routes_linux.go (+1/-0)
vendor/go.etcd.io/etcd/pkg/v3/runtime/fds_other.go (+1/-0)
vendor/go.etcd.io/etcd/pkg/v3/wait/wait.go (+34/-15)
vendor/go.etcd.io/etcd/raft/v3/README.md (+1/-1)
vendor/go.etcd.io/etcd/raft/v3/confchange/confchange.go (+2/-3)
vendor/go.etcd.io/etcd/raft/v3/doc.go (+1/-1)
vendor/go.etcd.io/etcd/raft/v3/go.mod (+6/-5)
vendor/go.etcd.io/etcd/raft/v3/go.sum (+42/-69)
vendor/go.etcd.io/etcd/raft/v3/logger.go (+10/-0)
vendor/go.etcd.io/etcd/raft/v3/node.go (+2/-0)
vendor/go.etcd.io/etcd/raft/v3/raft.go (+47/-17)
vendor/go.etcd.io/etcd/raft/v3/raftpb/confstate.go (+0/-1)
vendor/go.etcd.io/etcd/raft/v3/raftpb/raft.pb.go (+113/-231)
vendor/go.etcd.io/etcd/raft/v3/raftpb/raft.proto (+3/-0)
vendor/go.etcd.io/etcd/raft/v3/status.go (+2/-3)
vendor/go.etcd.io/etcd/raft/v3/storage.go (+4/-4)
vendor/go.etcd.io/etcd/raft/v3/tracker/tracker.go (+1/-1)
vendor/go.etcd.io/etcd/server/v3/auth/metrics.go (+2/-1)
vendor/go.etcd.io/etcd/server/v3/auth/store.go (+24/-43)
vendor/go.etcd.io/etcd/server/v3/config/config.go (+41/-22)
vendor/go.etcd.io/etcd/server/v3/config/v2_deprecation.go (+50/-0)
vendor/go.etcd.io/etcd/server/v3/datadir/datadir.go (+40/-0)
vendor/go.etcd.io/etcd/server/v3/datadir/doc.go (+17/-0)
vendor/go.etcd.io/etcd/server/v3/embed/config.go (+100/-32)
vendor/go.etcd.io/etcd/server/v3/embed/config_logging.go (+101/-75)
vendor/go.etcd.io/etcd/server/v3/embed/config_logging_journal_unix.go (+2/-1)
vendor/go.etcd.io/etcd/server/v3/embed/config_logging_journal_windows.go (+1/-0)
vendor/go.etcd.io/etcd/server/v3/embed/etcd.go (+191/-67)
vendor/go.etcd.io/etcd/server/v3/embed/serve.go (+11/-2)
vendor/go.etcd.io/etcd/server/v3/etcdserver/api/cluster.go (+1/-1)
vendor/go.etcd.io/etcd/server/v3/etcdserver/api/etcdhttp/metrics.go (+40/-12)
vendor/go.etcd.io/etcd/server/v3/etcdserver/api/etcdhttp/peer.go (+1/-1)
vendor/go.etcd.io/etcd/server/v3/etcdserver/api/membership/cluster.go (+56/-25)
vendor/go.etcd.io/etcd/server/v3/etcdserver/api/membership/confstate.go (+63/-0)
vendor/go.etcd.io/etcd/server/v3/etcdserver/api/membership/member.go (+23/-18)
vendor/go.etcd.io/etcd/server/v3/etcdserver/api/membership/store.go (+116/-15)
vendor/go.etcd.io/etcd/server/v3/etcdserver/api/membership/storev2.go (+36/-0)
vendor/go.etcd.io/etcd/server/v3/etcdserver/api/rafthttp/http.go (+1/-1)
vendor/go.etcd.io/etcd/server/v3/etcdserver/api/rafthttp/msgappv2_codec.go (+1/-1)
vendor/go.etcd.io/etcd/server/v3/etcdserver/api/rafthttp/peer.go (+1/-1)
vendor/go.etcd.io/etcd/server/v3/etcdserver/api/rafthttp/peer_status.go (+1/-1)
vendor/go.etcd.io/etcd/server/v3/etcdserver/api/rafthttp/pipeline.go (+4/-2)
vendor/go.etcd.io/etcd/server/v3/etcdserver/api/rafthttp/remote.go (+1/-1)
vendor/go.etcd.io/etcd/server/v3/etcdserver/api/rafthttp/snapshot_sender.go (+1/-1)
vendor/go.etcd.io/etcd/server/v3/etcdserver/api/rafthttp/stream.go (+2/-2)
vendor/go.etcd.io/etcd/server/v3/etcdserver/api/rafthttp/transport.go (+2/-2)
vendor/go.etcd.io/etcd/server/v3/etcdserver/api/rafthttp/urlpick.go (+1/-1)
vendor/go.etcd.io/etcd/server/v3/etcdserver/api/rafthttp/util.go (+3/-3)
vendor/go.etcd.io/etcd/server/v3/etcdserver/api/snap/db.go (+1/-1)
vendor/go.etcd.io/etcd/server/v3/etcdserver/api/snap/snappb/snap.pb.go (+1/-4)
vendor/go.etcd.io/etcd/server/v3/etcdserver/api/v2auth/auth.go (+1/-1)
vendor/go.etcd.io/etcd/server/v3/etcdserver/api/v2discovery/discovery.go (+2/-2)
vendor/go.etcd.io/etcd/server/v3/etcdserver/api/v2error/error.go (+1/-1)
vendor/go.etcd.io/etcd/server/v3/etcdserver/api/v2http/client.go (+1/-1)
vendor/go.etcd.io/etcd/server/v3/etcdserver/api/v2http/httptypes/member.go (+1/-1)
vendor/go.etcd.io/etcd/server/v3/etcdserver/api/v2http/metrics.go (+1/-2)
vendor/go.etcd.io/etcd/server/v3/etcdserver/api/v2store/store.go (+1/-1)
vendor/go.etcd.io/etcd/server/v3/etcdserver/api/v2v3/cluster.go (+1/-1)
vendor/go.etcd.io/etcd/server/v3/etcdserver/api/v2v3/server.go (+1/-1)
vendor/go.etcd.io/etcd/server/v3/etcdserver/api/v3alarm/alarms.go (+6/-9)
vendor/go.etcd.io/etcd/server/v3/etcdserver/api/v3client/v3client.go (+1/-5)
vendor/go.etcd.io/etcd/server/v3/etcdserver/api/v3election/v3electionpb/v3election.pb.go (+9/-36)
vendor/go.etcd.io/etcd/server/v3/etcdserver/api/v3lock/v3lockpb/v3lock.pb.go (+4/-16)
vendor/go.etcd.io/etcd/server/v3/etcdserver/api/v3rpc/codec.go (+1/-1)
vendor/go.etcd.io/etcd/server/v3/etcdserver/api/v3rpc/grpc.go (+19/-5)
vendor/go.etcd.io/etcd/server/v3/etcdserver/api/v3rpc/interceptor.go (+3/-2)
vendor/go.etcd.io/etcd/server/v3/etcdserver/api/v3rpc/maintenance.go (+1/-1)
vendor/go.etcd.io/etcd/server/v3/etcdserver/api/v3rpc/member.go (+1/-1)
vendor/go.etcd.io/etcd/server/v3/etcdserver/api/v3rpc/quota.go (+1/-1)
vendor/go.etcd.io/etcd/server/v3/etcdserver/api/v3rpc/util.go (+5/-0)
vendor/go.etcd.io/etcd/server/v3/etcdserver/api/v3rpc/watch.go (+5/-1)
vendor/go.etcd.io/etcd/server/v3/etcdserver/apply.go (+55/-33)
vendor/go.etcd.io/etcd/server/v3/etcdserver/apply_auth.go (+3/-2)
vendor/go.etcd.io/etcd/server/v3/etcdserver/apply_v2.go (+13/-8)
vendor/go.etcd.io/etcd/server/v3/etcdserver/backend.go (+14/-12)
vendor/go.etcd.io/etcd/server/v3/etcdserver/cindex/cindex.go (+113/-38)
vendor/go.etcd.io/etcd/server/v3/etcdserver/cluster_util.go (+2/-2)
vendor/go.etcd.io/etcd/server/v3/etcdserver/corrupt.go (+6/-6)
vendor/go.etcd.io/etcd/server/v3/etcdserver/quota.go (+1/-1)
vendor/go.etcd.io/etcd/server/v3/etcdserver/raft.go (+11/-42)
vendor/go.etcd.io/etcd/server/v3/etcdserver/server.go (+307/-129)
vendor/go.etcd.io/etcd/server/v3/etcdserver/snapshot_merge.go (+1/-1)
vendor/go.etcd.io/etcd/server/v3/etcdserver/storage.go (+4/-3)
vendor/go.etcd.io/etcd/server/v3/etcdserver/util.go (+23/-17)
vendor/go.etcd.io/etcd/server/v3/etcdserver/v2_server.go (+2/-1)
vendor/go.etcd.io/etcd/server/v3/etcdserver/v3_server.go (+122/-69)
vendor/go.etcd.io/etcd/server/v3/lease/leasepb/lease.pb.go (+3/-12)
vendor/go.etcd.io/etcd/server/v3/lease/lessor.go (+10/-21)
vendor/go.etcd.io/etcd/server/v3/mvcc/backend/backend.go (+109/-33)
vendor/go.etcd.io/etcd/server/v3/mvcc/backend/batch_tx.go (+71/-34)
vendor/go.etcd.io/etcd/server/v3/mvcc/backend/config_default.go (+1/-0)
vendor/go.etcd.io/etcd/server/v3/mvcc/backend/config_windows.go (+1/-0)
vendor/go.etcd.io/etcd/server/v3/mvcc/backend/hooks.go (+36/-0)
vendor/go.etcd.io/etcd/server/v3/mvcc/backend/read_tx.go (+15/-18)
vendor/go.etcd.io/etcd/server/v3/mvcc/backend/tx_buffer.go (+44/-16)
vendor/go.etcd.io/etcd/server/v3/mvcc/buckets/bucket.go (+80/-0)
vendor/go.etcd.io/etcd/server/v3/mvcc/index.go (+10/-13)
vendor/go.etcd.io/etcd/server/v3/mvcc/kv.go (+10/-12)
vendor/go.etcd.io/etcd/server/v3/mvcc/kv_view.go (+3/-3)
vendor/go.etcd.io/etcd/server/v3/mvcc/kvstore.go (+16/-53)
vendor/go.etcd.io/etcd/server/v3/mvcc/kvstore_compaction.go (+4/-3)
vendor/go.etcd.io/etcd/server/v3/mvcc/kvstore_txn.go (+21/-13)
vendor/go.etcd.io/etcd/server/v3/mvcc/metrics.go (+0/-40)
vendor/go.etcd.io/etcd/server/v3/mvcc/metrics_txn.go (+0/-3)
vendor/go.etcd.io/etcd/server/v3/mvcc/util.go (+2/-22)
vendor/go.etcd.io/etcd/server/v3/mvcc/watchable_store.go (+7/-8)
vendor/go.etcd.io/etcd/server/v3/verify/doc.go (+20/-0)
vendor/go.etcd.io/etcd/server/v3/verify/verify.go (+148/-0)
vendor/go.etcd.io/etcd/server/v3/wal/file_pipeline.go (+1/-1)
vendor/go.etcd.io/etcd/server/v3/wal/repair.go (+1/-1)
vendor/go.etcd.io/etcd/server/v3/wal/util.go (+1/-1)
vendor/go.etcd.io/etcd/server/v3/wal/wal.go (+22/-15)
vendor/go.etcd.io/etcd/server/v3/wal/walpb/record.go (+12/-0)
vendor/go.etcd.io/etcd/server/v3/wal/walpb/record.pb.go (+79/-26)
vendor/go.etcd.io/etcd/server/v3/wal/walpb/record.proto (+4/-0)
vendor/go.opentelemetry.io/contrib/.gitignore (+13/-0)
vendor/go.opentelemetry.io/contrib/.golangci.yml (+32/-0)
vendor/go.opentelemetry.io/contrib/CHANGELOG.md (+319/-0)
vendor/go.opentelemetry.io/contrib/CODEOWNERS (+17/-0)
vendor/go.opentelemetry.io/contrib/CONTRIBUTING.md (+135/-0)
vendor/go.opentelemetry.io/contrib/LICENSE (+201/-0)
vendor/go.opentelemetry.io/contrib/Makefile (+203/-0)
vendor/go.opentelemetry.io/contrib/README.md (+25/-0)
vendor/go.opentelemetry.io/contrib/RELEASING.md (+96/-0)
vendor/go.opentelemetry.io/contrib/contrib.go (+28/-0)
vendor/go.opentelemetry.io/contrib/doc.go (+20/-0)
vendor/go.opentelemetry.io/contrib/go.mod (+3/-0)
vendor/go.opentelemetry.io/contrib/go.sum (+0/-0)
vendor/go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc/LICENSE (+201/-0)
vendor/go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc/go.mod (+16/-0)
vendor/go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc/go.sum (+122/-0)
vendor/go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc/grpctrace.go (+132/-0)
vendor/go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc/interceptor.go (+499/-0)
vendor/go.opentelemetry.io/contrib/pre_release.sh (+158/-0)
vendor/go.opentelemetry.io/contrib/tag.sh (+178/-0)
vendor/go.opentelemetry.io/otel/baggage/baggage.go (+67/-0)
vendor/go.opentelemetry.io/otel/baggage/doc.go (+24/-0)
vendor/go.opentelemetry.io/otel/exporters/otlp/LICENSE (+201/-0)
vendor/go.opentelemetry.io/otel/exporters/otlp/README.md (+31/-0)
vendor/go.opentelemetry.io/otel/exporters/otlp/doc.go (+20/-0)
vendor/go.opentelemetry.io/otel/exporters/otlp/go.mod (+62/-0)
vendor/go.opentelemetry.io/otel/exporters/otlp/go.sum (+123/-0)
vendor/go.opentelemetry.io/otel/exporters/otlp/internal/otlpconfig/envconfig.go (+196/-0)
vendor/go.opentelemetry.io/otel/exporters/otlp/internal/otlpconfig/options.go (+376/-0)
vendor/go.opentelemetry.io/otel/exporters/otlp/internal/otlpconfig/tls.go (+69/-0)
vendor/go.opentelemetry.io/otel/exporters/otlp/internal/transform/attribute.go (+141/-0)
vendor/go.opentelemetry.io/otel/exporters/otlp/internal/transform/instrumentation.go (+31/-0)
vendor/go.opentelemetry.io/otel/exporters/otlp/internal/transform/metric.go (+631/-0)
vendor/go.opentelemetry.io/otel/exporters/otlp/internal/transform/resource.go (+29/-0)
vendor/go.opentelemetry.io/otel/exporters/otlp/internal/transform/span.go (+218/-0)
vendor/go.opentelemetry.io/otel/exporters/otlp/options.go (+45/-0)
vendor/go.opentelemetry.io/otel/exporters/otlp/optiontypes.go (+38/-0)
vendor/go.opentelemetry.io/otel/exporters/otlp/otlp.go (+179/-0)
vendor/go.opentelemetry.io/otel/exporters/otlp/otlpgrpc/connection.go (+278/-0)
vendor/go.opentelemetry.io/otel/exporters/otlp/otlpgrpc/doc.go (+25/-0)
vendor/go.opentelemetry.io/otel/exporters/otlp/otlpgrpc/driver.go (+195/-0)
vendor/go.opentelemetry.io/otel/exporters/otlp/otlpgrpc/options.go (+202/-0)
vendor/go.opentelemetry.io/otel/exporters/otlp/protocoldriver.go (+145/-0)
vendor/go.opentelemetry.io/otel/internal/metric/async.go (+148/-0)
vendor/go.opentelemetry.io/otel/sdk/LICENSE (+201/-0)
vendor/go.opentelemetry.io/otel/sdk/export/metric/LICENSE (+201/-0)
vendor/go.opentelemetry.io/otel/sdk/export/metric/aggregation/aggregation.go (+154/-0)
vendor/go.opentelemetry.io/otel/sdk/export/metric/exportkind_string.go (+25/-0)
vendor/go.opentelemetry.io/otel/sdk/export/metric/go.mod (+54/-0)
vendor/go.opentelemetry.io/otel/sdk/export/metric/go.sum (+15/-0)
vendor/go.opentelemetry.io/otel/sdk/export/metric/metric.go (+445/-0)
vendor/go.opentelemetry.io/otel/sdk/instrumentation/library.go (+35/-0)
vendor/go.opentelemetry.io/otel/sdk/internal/internal.go (+37/-0)
vendor/go.opentelemetry.io/otel/sdk/internal/sanitize.go (+50/-0)
vendor/go.opentelemetry.io/otel/sdk/metric/LICENSE (+201/-0)
vendor/go.opentelemetry.io/otel/sdk/metric/aggregator/aggregator.go (+52/-0)
vendor/go.opentelemetry.io/otel/sdk/metric/aggregator/exact/exact.go (+130/-0)
vendor/go.opentelemetry.io/otel/sdk/metric/aggregator/histogram/histogram.go (+270/-0)
vendor/go.opentelemetry.io/otel/sdk/metric/aggregator/lastvalue/lastvalue.go (+135/-0)
vendor/go.opentelemetry.io/otel/sdk/metric/aggregator/minmaxsumcount/mmsc.go (+165/-0)
vendor/go.opentelemetry.io/otel/sdk/metric/aggregator/sum/sum.go (+106/-0)
vendor/go.opentelemetry.io/otel/sdk/metric/atomicfields.go (+24/-0)
vendor/go.opentelemetry.io/otel/sdk/metric/controller/basic/config.go (+122/-0)
vendor/go.opentelemetry.io/otel/sdk/metric/controller/basic/controller.go (+312/-0)
vendor/go.opentelemetry.io/otel/sdk/metric/controller/time/time.go (+59/-0)
vendor/go.opentelemetry.io/otel/sdk/metric/doc.go (+141/-0)
vendor/go.opentelemetry.io/otel/sdk/metric/go.mod (+56/-0)
vendor/go.opentelemetry.io/otel/sdk/metric/go.sum (+17/-0)
vendor/go.opentelemetry.io/otel/sdk/metric/processor/basic/basic.go (+377/-0)
vendor/go.opentelemetry.io/otel/sdk/metric/processor/basic/config.go (+42/-0)
vendor/go.opentelemetry.io/otel/sdk/metric/refcount_mapped.go (+59/-0)
vendor/go.opentelemetry.io/otel/sdk/metric/sdk.go (+555/-0)
vendor/go.opentelemetry.io/otel/sdk/metric/selector/simple/simple.go (+120/-0)
vendor/go.opentelemetry.io/otel/sdk/resource/auto.go (+64/-0)
vendor/go.opentelemetry.io/otel/sdk/resource/builtin.go (+103/-0)
vendor/go.opentelemetry.io/otel/sdk/resource/config.go (+165/-0)
vendor/go.opentelemetry.io/otel/sdk/resource/doc.go (+32/-0)
vendor/go.opentelemetry.io/otel/sdk/resource/env.go (+72/-0)
vendor/go.opentelemetry.io/otel/sdk/resource/os.go (+39/-0)
vendor/go.opentelemetry.io/otel/sdk/resource/process.go (+237/-0)
vendor/go.opentelemetry.io/otel/sdk/resource/resource.go (+196/-0)
vendor/go.opentelemetry.io/otel/sdk/trace/attributesmap.go (+91/-0)
vendor/go.opentelemetry.io/otel/sdk/trace/batch_span_processor.go (+328/-0)
vendor/go.opentelemetry.io/otel/sdk/trace/config.go (+68/-0)
vendor/go.opentelemetry.io/otel/sdk/trace/doc.go (+25/-0)
vendor/go.opentelemetry.io/otel/sdk/trace/evictedqueue.go (+38/-0)
vendor/go.opentelemetry.io/otel/sdk/trace/id_generator.go (+67/-0)
vendor/go.opentelemetry.io/otel/sdk/trace/provider.go (+324/-0)
vendor/go.opentelemetry.io/otel/sdk/trace/sampling.go (+290/-0)
vendor/go.opentelemetry.io/otel/sdk/trace/simple_span_processor.go (+80/-0)
vendor/go.opentelemetry.io/otel/sdk/trace/span.go (+617/-0)
vendor/go.opentelemetry.io/otel/sdk/trace/span_exporter.go (+39/-0)
vendor/go.opentelemetry.io/otel/sdk/trace/span_processor.go (+56/-0)
vendor/go.opentelemetry.io/otel/sdk/trace/tracer.go (+75/-0)
vendor/go.opentelemetry.io/otel/semconv/doc.go (+24/-0)
vendor/go.opentelemetry.io/otel/semconv/exception.go (+39/-0)
vendor/go.opentelemetry.io/otel/semconv/http.go (+297/-0)
vendor/go.opentelemetry.io/otel/semconv/resource.go (+257/-0)
vendor/go.opentelemetry.io/otel/semconv/trace.go (+376/-0)
vendor/go.opentelemetry.io/proto/otlp/LICENSE (+201/-0)
vendor/go.opentelemetry.io/proto/otlp/collector/metrics/v1/metrics_service.pb.go (+255/-0)
vendor/go.opentelemetry.io/proto/otlp/collector/metrics/v1/metrics_service.pb.gw.go (+169/-0)
vendor/go.opentelemetry.io/proto/otlp/collector/metrics/v1/metrics_service_grpc.pb.go (+101/-0)
vendor/go.opentelemetry.io/proto/otlp/collector/trace/v1/trace_config.pb.go (+573/-0)
vendor/go.opentelemetry.io/proto/otlp/collector/trace/v1/trace_service.pb.go (+252/-0)
vendor/go.opentelemetry.io/proto/otlp/collector/trace/v1/trace_service.pb.gw.go (+169/-0)
vendor/go.opentelemetry.io/proto/otlp/collector/trace/v1/trace_service_grpc.pb.go (+101/-0)
vendor/go.opentelemetry.io/proto/otlp/common/v1/common.pb.go (+659/-0)
vendor/go.opentelemetry.io/proto/otlp/metrics/v1/metrics.pb.go (+2469/-0)
vendor/go.opentelemetry.io/proto/otlp/resource/v1/resource.pb.go (+194/-0)
vendor/go.opentelemetry.io/proto/otlp/trace/v1/trace.pb.go (+1206/-0)
vendor/go.uber.org/atomic/.gitignore (+3/-0)
vendor/go.uber.org/atomic/CHANGELOG.md (+34/-10)
vendor/go.uber.org/atomic/Makefile (+1/-0)
vendor/go.uber.org/atomic/README.md (+2/-2)
vendor/go.uber.org/atomic/bool.go (+10/-10)
vendor/go.uber.org/atomic/bool_ext.go (+1/-1)
vendor/go.uber.org/atomic/duration.go (+10/-10)
vendor/go.uber.org/atomic/duration_ext.go (+4/-4)
vendor/go.uber.org/atomic/error.go (+6/-6)
vendor/go.uber.org/atomic/float64.go (+10/-9)
vendor/go.uber.org/atomic/float64_ext.go (+28/-6)
vendor/go.uber.org/atomic/gen.go (+1/-0)
vendor/go.uber.org/atomic/go.sum (+0/-1)
vendor/go.uber.org/atomic/int32.go (+12/-12)
vendor/go.uber.org/atomic/int64.go (+12/-12)
vendor/go.uber.org/atomic/string.go (+6/-6)
vendor/go.uber.org/atomic/string_ext.go (+2/-0)
vendor/go.uber.org/atomic/time.go (+55/-0)
vendor/go.uber.org/atomic/time_ext.go (+15/-7)
vendor/go.uber.org/atomic/uint32.go (+12/-12)
vendor/go.uber.org/atomic/uint64.go (+12/-12)
vendor/go.uber.org/atomic/uintptr.go (+102/-0)
vendor/go.uber.org/atomic/unsafe_pointer.go (+33/-27)
vendor/go.uber.org/goleak/README.md (+3/-3)
vendor/go.uber.org/goleak/go.mod (+2/-2)
vendor/go.uber.org/goleak/go.sum (+25/-7)
vendor/go.uber.org/multierr/CHANGELOG.md (+12/-0)
vendor/go.uber.org/multierr/LICENSE.txt (+1/-1)
vendor/go.uber.org/multierr/Makefile (+3/-7)
vendor/go.uber.org/multierr/README.md (+4/-4)
vendor/go.uber.org/multierr/error.go (+199/-9)
vendor/go.uber.org/multierr/go.mod (+4/-7)
vendor/go.uber.org/multierr/go.sum (+9/-38)
vendor/go.uber.org/zap/CHANGELOG.md (+84/-0)
vendor/go.uber.org/zap/CONTRIBUTING.md (+0/-6)
vendor/go.uber.org/zap/FAQ.md (+8/-0)
vendor/go.uber.org/zap/Makefile (+13/-3)
vendor/go.uber.org/zap/README.md (+4/-4)
vendor/go.uber.org/zap/buffer/buffer.go (+18/-0)
vendor/go.uber.org/zap/field.go (+10/-0)
vendor/go.uber.org/zap/go.mod (+7/-6)
vendor/go.uber.org/zap/go.sum (+34/-27)
vendor/go.uber.org/zap/http_handler.go (+75/-24)
vendor/go.uber.org/zap/logger.go (+11/-7)
vendor/go.uber.org/zap/options.go (+8/-0)
vendor/go.uber.org/zap/sugar.go (+21/-10)
vendor/go.uber.org/zap/zapcore/buffered_write_syncer.go (+188/-0)
vendor/go.uber.org/zap/zapcore/clock.go (+50/-0)
vendor/go.uber.org/zap/zapcore/console_encoder.go (+1/-1)
vendor/go.uber.org/zap/zapcore/entry.go (+4/-6)
vendor/go.uber.org/zap/zapcore/error.go (+19/-2)
vendor/go.uber.org/zap/zapcore/field.go (+7/-1)
vendor/go.uber.org/zap/zapcore/json_encoder.go (+10/-2)
vendor/go.uber.org/zap/zapcore/sampler.go (+8/-6)
vendor/go.uber.org/zap/zapcore/write_syncer.go (+1/-2)
vendor/go.uber.org/zap/zapgrpc/zapgrpc.go (+241/-0)
vendor/golang.org/x/crypto/argon2/blamka_amd64.s (+1/-0)
vendor/golang.org/x/crypto/blake2b/blake2bAVX2_amd64.s (+1/-0)
vendor/golang.org/x/crypto/blake2b/blake2b_amd64.s (+1/-0)
vendor/golang.org/x/crypto/pkcs12/bmp-string.go (+50/-0)
vendor/golang.org/x/crypto/pkcs12/crypto.go (+131/-0)
vendor/golang.org/x/crypto/pkcs12/errors.go (+23/-0)
vendor/golang.org/x/crypto/pkcs12/internal/rc2/rc2.go (+271/-0)
vendor/golang.org/x/crypto/pkcs12/mac.go (+45/-0)
vendor/golang.org/x/crypto/pkcs12/pbkdf.go (+170/-0)
vendor/golang.org/x/crypto/pkcs12/pkcs12.go (+360/-0)
vendor/golang.org/x/crypto/pkcs12/safebags.go (+57/-0)
vendor/golang.org/x/net/http2/ascii.go (+4/-0)
vendor/golang.org/x/net/http2/errors.go (+12/-0)
vendor/golang.org/x/net/http2/frame.go (+1/-1)
vendor/golang.org/x/net/http2/server.go (+79/-40)
vendor/golang.org/x/net/http2/transport.go (+289/-143)
vendor/golang.org/x/net/internal/socket/complete_dontwait.go (+26/-0)
vendor/golang.org/x/net/internal/socket/complete_nodontwait.go (+22/-0)
vendor/golang.org/x/net/internal/socket/rawconn_mmsg.go (+2/-9)
vendor/golang.org/x/net/internal/socket/rawconn_msg.go (+2/-9)
vendor/golang.org/x/oauth2/google/doc.go (+3/-3)
vendor/golang.org/x/oauth2/google/google.go (+1/-1)
vendor/golang.org/x/oauth2/google/internal/externalaccount/aws.go (+5/-1)
vendor/golang.org/x/oauth2/google/internal/externalaccount/basecredentials.go (+99/-16)
vendor/golang.org/x/oauth2/google/internal/externalaccount/clientauth.go (+5/-1)
vendor/golang.org/x/oauth2/google/internal/externalaccount/impersonate.go (+3/-2)
vendor/golang.org/x/oauth2/google/internal/externalaccount/sts_exchange.go (+3/-0)
vendor/golang.org/x/oauth2/google/internal/externalaccount/urlcredsource.go (+2/-1)
vendor/golang.org/x/oauth2/google/jwt.go (+32/-5)
vendor/golang.org/x/sys/cpu/cpu.go (+3/-3)
vendor/golang.org/x/sys/cpu/cpu_aix.go (+1/-0)
vendor/golang.org/x/sys/cpu/cpu_x86.go (+2/-0)
vendor/golang.org/x/sys/unix/README.md (+3/-3)
vendor/golang.org/x/sys/unix/asm_bsd_386.s (+2/-2)
vendor/golang.org/x/sys/unix/asm_bsd_arm.s (+2/-2)
vendor/golang.org/x/sys/unix/ifreq_linux.go (+149/-0)
vendor/golang.org/x/sys/unix/ioctl_linux.go (+39/-39)
vendor/golang.org/x/sys/unix/mkall.sh (+0/-12)
vendor/golang.org/x/sys/unix/mkerrors.sh (+12/-3)
vendor/golang.org/x/sys/unix/syscall_darwin.1_13.go (+2/-2)
vendor/golang.org/x/sys/unix/syscall_darwin.go (+33/-0)
vendor/golang.org/x/sys/unix/syscall_darwin_libSystem.go (+1/-8)
vendor/golang.org/x/sys/unix/syscall_illumos.go (+8/-0)
vendor/golang.org/x/sys/unix/syscall_linux.go (+122/-30)
vendor/golang.org/x/sys/unix/syscall_linux_386.go (+6/-30)
vendor/golang.org/x/sys/unix/syscall_linux_amd64.go (+4/-38)
vendor/golang.org/x/sys/unix/syscall_linux_arm.go (+6/-34)
vendor/golang.org/x/sys/unix/syscall_linux_arm64.go (+4/-35)
vendor/golang.org/x/sys/unix/syscall_linux_mips64x.go (+2/-27)
vendor/golang.org/x/sys/unix/syscall_linux_mipsx.go (+6/-27)
vendor/golang.org/x/sys/unix/syscall_linux_ppc.go (+5/-30)
vendor/golang.org/x/sys/unix/syscall_linux_ppc64x.go (+2/-26)
vendor/golang.org/x/sys/unix/syscall_linux_riscv64.go (+2/-33)
vendor/golang.org/x/sys/unix/syscall_linux_s390x.go (+4/-26)
vendor/golang.org/x/sys/unix/syscall_linux_sparc64.go (+2/-25)
vendor/golang.org/x/sys/unix/syscall_solaris.go (+240/-0)
vendor/golang.org/x/sys/unix/syscall_unix.go (+4/-0)
vendor/golang.org/x/sys/unix/zerrors_darwin_amd64.go (+6/-0)
vendor/golang.org/x/sys/unix/zerrors_darwin_arm64.go (+6/-0)
vendor/golang.org/x/sys/unix/zerrors_freebsd_386.go (+5/-0)
vendor/golang.org/x/sys/unix/zerrors_freebsd_amd64.go (+5/-0)
vendor/golang.org/x/sys/unix/zerrors_freebsd_arm.go (+5/-0)
vendor/golang.org/x/sys/unix/zerrors_freebsd_arm64.go (+5/-0)
vendor/golang.org/x/sys/unix/zerrors_linux.go (+152/-12)
vendor/golang.org/x/sys/unix/zerrors_linux_386.go (+21/-0)
vendor/golang.org/x/sys/unix/zerrors_linux_amd64.go (+21/-0)
vendor/golang.org/x/sys/unix/zerrors_linux_arm.go (+21/-0)
vendor/golang.org/x/sys/unix/zerrors_linux_arm64.go (+21/-0)
vendor/golang.org/x/sys/unix/zerrors_linux_mips.go (+21/-0)
vendor/golang.org/x/sys/unix/zerrors_linux_mips64.go (+21/-0)
vendor/golang.org/x/sys/unix/zerrors_linux_mips64le.go (+21/-0)
vendor/golang.org/x/sys/unix/zerrors_linux_mipsle.go (+21/-0)
vendor/golang.org/x/sys/unix/zerrors_linux_ppc.go (+21/-0)
vendor/golang.org/x/sys/unix/zerrors_linux_ppc64.go (+21/-0)
vendor/golang.org/x/sys/unix/zerrors_linux_ppc64le.go (+21/-0)
vendor/golang.org/x/sys/unix/zerrors_linux_riscv64.go (+21/-0)
vendor/golang.org/x/sys/unix/zerrors_linux_s390x.go (+21/-0)
vendor/golang.org/x/sys/unix/zerrors_linux_sparc64.go (+21/-0)
vendor/golang.org/x/sys/unix/zerrors_openbsd_386.go (+3/-0)
vendor/golang.org/x/sys/unix/zerrors_openbsd_arm.go (+3/-0)
vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.1_13.go (+4/-4)
vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.1_13.s (+15/-3)
vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.go (+286/-286)
vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.s (+710/-142)
vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.1_13.go (+4/-4)
vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.1_13.s (+15/-3)
vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.go (+286/-286)
vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.s (+710/-142)
vendor/golang.org/x/sys/unix/zsyscall_linux.go (+35/-3)
vendor/golang.org/x/sys/unix/zsyscall_linux_386.go (+0/-32)
vendor/golang.org/x/sys/unix/zsyscall_linux_amd64.go (+0/-32)
vendor/golang.org/x/sys/unix/zsyscall_linux_arm.go (+0/-32)
vendor/golang.org/x/sys/unix/zsyscall_linux_mips.go (+0/-34)
vendor/golang.org/x/sys/unix/zsyscall_linux_mips64.go (+0/-11)
vendor/golang.org/x/sys/unix/zsyscall_linux_mips64le.go (+0/-11)
vendor/golang.org/x/sys/unix/zsyscall_linux_mipsle.go (+0/-34)
vendor/golang.org/x/sys/unix/zsyscall_linux_ppc.go (+0/-32)
vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64.go (+0/-32)
vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64le.go (+0/-32)
vendor/golang.org/x/sys/unix/zsyscall_linux_s390x.go (+0/-22)
vendor/golang.org/x/sys/unix/zsyscall_linux_sparc64.go (+0/-21)
vendor/golang.org/x/sys/unix/zsyscall_solaris_amd64.go (+71/-1)
vendor/golang.org/x/sys/unix/zsysnum_linux_386.go (+5/-0)
vendor/golang.org/x/sys/unix/zsysnum_linux_amd64.go (+359/-354)
vendor/golang.org/x/sys/unix/zsysnum_linux_arm.go (+4/-0)
vendor/golang.org/x/sys/unix/zsysnum_linux_arm64.go (+304/-299)
vendor/golang.org/x/sys/unix/zsysnum_linux_mips.go (+4/-0)
vendor/golang.org/x/sys/unix/zsysnum_linux_mips64.go (+351/-347)
vendor/golang.org/x/sys/unix/zsysnum_linux_mips64le.go (+351/-347)
vendor/golang.org/x/sys/unix/zsysnum_linux_mipsle.go (+4/-0)
vendor/golang.org/x/sys/unix/zsysnum_linux_ppc.go (+4/-0)
vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64.go (+400/-396)
vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64le.go (+400/-396)
vendor/golang.org/x/sys/unix/zsysnum_linux_riscv64.go (+302/-298)
vendor/golang.org/x/sys/unix/zsysnum_linux_s390x.go (+365/-361)
vendor/golang.org/x/sys/unix/zsysnum_linux_sparc64.go (+379/-375)
vendor/golang.org/x/sys/unix/ztypes_darwin_amd64.go (+104/-0)
vendor/golang.org/x/sys/unix/ztypes_darwin_arm64.go (+104/-0)
vendor/golang.org/x/sys/unix/ztypes_dragonfly_amd64.go (+3/-0)
vendor/golang.org/x/sys/unix/ztypes_freebsd_386.go (+5/-2)
vendor/golang.org/x/sys/unix/ztypes_freebsd_amd64.go (+5/-2)
vendor/golang.org/x/sys/unix/ztypes_freebsd_arm.go (+5/-2)
vendor/golang.org/x/sys/unix/ztypes_freebsd_arm64.go (+5/-2)
vendor/golang.org/x/sys/unix/ztypes_illumos_amd64.go (+2/-0)
vendor/golang.org/x/sys/unix/ztypes_linux.go (+201/-7)
vendor/golang.org/x/sys/unix/ztypes_linux_386.go (+24/-3)
vendor/golang.org/x/sys/unix/ztypes_linux_amd64.go (+24/-3)
vendor/golang.org/x/sys/unix/ztypes_linux_arm.go (+24/-3)
vendor/golang.org/x/sys/unix/ztypes_linux_arm64.go (+24/-3)
vendor/golang.org/x/sys/unix/ztypes_linux_mips.go (+24/-3)
vendor/golang.org/x/sys/unix/ztypes_linux_mips64.go (+24/-3)
vendor/golang.org/x/sys/unix/ztypes_linux_mips64le.go (+24/-3)
vendor/golang.org/x/sys/unix/ztypes_linux_mipsle.go (+24/-3)
vendor/golang.org/x/sys/unix/ztypes_linux_ppc.go (+24/-3)
vendor/golang.org/x/sys/unix/ztypes_linux_ppc64.go (+24/-3)
vendor/golang.org/x/sys/unix/ztypes_linux_ppc64le.go (+24/-3)
vendor/golang.org/x/sys/unix/ztypes_linux_riscv64.go (+24/-3)
vendor/golang.org/x/sys/unix/ztypes_linux_s390x.go (+24/-3)
vendor/golang.org/x/sys/unix/ztypes_linux_sparc64.go (+24/-3)
vendor/golang.org/x/sys/unix/ztypes_netbsd_386.go (+3/-1)
vendor/golang.org/x/sys/unix/ztypes_netbsd_amd64.go (+3/-1)
vendor/golang.org/x/sys/unix/ztypes_netbsd_arm.go (+3/-1)
vendor/golang.org/x/sys/unix/ztypes_netbsd_arm64.go (+3/-1)
vendor/golang.org/x/sys/unix/ztypes_openbsd_386.go (+3/-1)
vendor/golang.org/x/sys/unix/ztypes_openbsd_amd64.go (+3/-1)
vendor/golang.org/x/sys/unix/ztypes_openbsd_arm.go (+3/-1)
vendor/golang.org/x/sys/unix/ztypes_openbsd_arm64.go (+3/-1)
vendor/golang.org/x/sys/unix/ztypes_openbsd_mips64.go (+3/-1)
vendor/golang.org/x/sys/unix/ztypes_solaris_amd64.go (+40/-0)
vendor/golang.org/x/sys/windows/empty.s (+1/-0)
vendor/golang.org/x/sys/windows/exec_windows.go (+72/-9)
vendor/golang.org/x/sys/windows/security_windows.go (+1/-0)
vendor/golang.org/x/sys/windows/syscall_windows.go (+1/-0)
vendor/golang.org/x/sys/windows/types_windows.go (+10/-9)
vendor/golang.org/x/sys/windows/zsyscall_windows.go (+20/-0)
vendor/golang.org/x/time/rate/rate.go (+3/-17)
vendor/google.golang.org/api/cloudresourcemanager/v1/cloudresourcemanager-api.json (+5/-5)
vendor/google.golang.org/api/cloudresourcemanager/v1/cloudresourcemanager-gen.go (+233/-231)
vendor/google.golang.org/api/googleapi/googleapi.go (+28/-0)
vendor/google.golang.org/api/internal/creds.go (+46/-30)
vendor/google.golang.org/api/internal/gensupport/params.go (+7/-1)
vendor/google.golang.org/api/internal/gensupport/retryable_linux.go (+1/-0)
vendor/google.golang.org/api/internal/settings.go (+41/-25)
vendor/google.golang.org/api/option/credentials_go19.go (+1/-0)
vendor/google.golang.org/api/option/credentials_notgo19.go (+1/-0)
vendor/google.golang.org/api/option/internaloption/internaloption.go (+40/-0)
vendor/google.golang.org/api/storage/v1/storage-gen.go (+220/-220)
vendor/google.golang.org/api/transport/grpc/dial.go (+5/-2)
vendor/google.golang.org/api/transport/grpc/dial_appengine.go (+1/-0)
vendor/google.golang.org/api/transport/grpc/dial_socketopt.go (+1/-0)
vendor/google.golang.org/api/transport/http/configure_http2_go116.go (+2/-1)
vendor/google.golang.org/api/transport/http/configure_http2_not_go116.go (+1/-0)
vendor/google.golang.org/api/transport/http/default_transport_go113.go (+1/-0)
vendor/google.golang.org/api/transport/http/default_transport_not_go113.go (+1/-0)
vendor/google.golang.org/api/transport/http/dial_appengine.go (+1/-0)
vendor/google.golang.org/api/transport/http/internal/propagation/http.go (+1/-0)
vendor/google.golang.org/api/transport/internal/dca/dca.go (+0/-2)
vendor/google.golang.org/genproto/googleapis/api/annotations/annotations.pb.go (+1/-6)
vendor/google.golang.org/genproto/googleapis/api/annotations/client.pb.go (+1/-6)
vendor/google.golang.org/genproto/googleapis/api/annotations/field_behavior.pb.go (+25/-21)
vendor/google.golang.org/genproto/googleapis/api/annotations/http.pb.go (+1/-6)
vendor/google.golang.org/genproto/googleapis/api/annotations/resource.pb.go (+1/-6)
vendor/google.golang.org/genproto/googleapis/api/httpbody/httpbody.pb.go (+1/-6)
vendor/google.golang.org/genproto/googleapis/bigtable/admin/v2/bigtable_instance_admin.pb.go (+2/-7)
vendor/google.golang.org/genproto/googleapis/bigtable/admin/v2/bigtable_table_admin.pb.go (+6/-11)
vendor/google.golang.org/genproto/googleapis/bigtable/admin/v2/common.pb.go (+2/-7)
vendor/google.golang.org/genproto/googleapis/bigtable/admin/v2/instance.pb.go (+55/-47)
vendor/google.golang.org/genproto/googleapis/bigtable/admin/v2/table.pb.go (+2/-7)
vendor/google.golang.org/genproto/googleapis/bigtable/v2/bigtable.pb.go (+2/-7)
vendor/google.golang.org/genproto/googleapis/bigtable/v2/data.pb.go (+2/-7)
vendor/google.golang.org/genproto/googleapis/iam/v1/iam_policy.pb.go (+2/-7)
vendor/google.golang.org/genproto/googleapis/iam/v1/options.pb.go (+2/-7)
vendor/google.golang.org/genproto/googleapis/iam/v1/policy.pb.go (+2/-7)
vendor/google.golang.org/genproto/googleapis/longrunning/operations.pb.go (+2/-7)
vendor/google.golang.org/genproto/googleapis/rpc/code/code.pb.go (+2/-7)
vendor/google.golang.org/genproto/googleapis/rpc/errdetails/error_details.pb.go (+1278/-0)
vendor/google.golang.org/genproto/googleapis/rpc/status/status.pb.go (+2/-7)
vendor/google.golang.org/genproto/googleapis/type/expr/expr.pb.go (+2/-7)
vendor/google.golang.org/grpc/balancer/grpclb/grpc_lb_v1/load_balancer_grpc.pb.go (+4/-0)
vendor/google.golang.org/grpc/balancer_conn_wrappers.go (+2/-2)
vendor/google.golang.org/grpc/clientconn.go (+6/-6)
vendor/google.golang.org/grpc/credentials/alts/internal/proto/grpc_gcp/handshaker_grpc.pb.go (+4/-0)
vendor/google.golang.org/grpc/credentials/credentials.go (+4/-20)
vendor/google.golang.org/grpc/credentials/google/google.go (+11/-2)
vendor/google.golang.org/grpc/credentials/google/xds.go (+90/-0)
vendor/google.golang.org/grpc/dialoptions.go (+1/-16)
vendor/google.golang.org/grpc/go.sum (+0/-3)
vendor/google.golang.org/grpc/health/grpc_health_v1/health_grpc.pb.go (+4/-0)
vendor/google.golang.org/grpc/internal/credentials/credentials.go (+49/-0)
vendor/google.golang.org/grpc/internal/internal.go (+5/-6)
vendor/google.golang.org/grpc/internal/resolver/dns/dns_resolver.go (+30/-13)
vendor/google.golang.org/grpc/internal/serviceconfig/serviceconfig.go (+16/-0)
vendor/google.golang.org/grpc/internal/transport/controlbuf.go (+32/-0)
vendor/google.golang.org/grpc/internal/transport/http2_client.go (+45/-32)
vendor/google.golang.org/grpc/internal/transport/http2_server.go (+19/-20)
vendor/google.golang.org/grpc/internal/transport/transport.go (+4/-3)
vendor/google.golang.org/grpc/internal/xds_handshake_cluster.go (+40/-0)
vendor/google.golang.org/grpc/metadata/metadata.go (+14/-12)
vendor/google.golang.org/grpc/regenerate.sh (+0/-10)
vendor/google.golang.org/grpc/resolver/resolver.go (+1/-1)
vendor/google.golang.org/grpc/resolver_conn_wrapper.go (+9/-54)
vendor/google.golang.org/grpc/rpc_util.go (+15/-4)
vendor/google.golang.org/grpc/server.go (+93/-20)
vendor/google.golang.org/grpc/stream.go (+13/-7)
vendor/google.golang.org/grpc/tap/tap.go (+8/-8)
vendor/google.golang.org/grpc/version.go (+1/-1)
vendor/google.golang.org/grpc/vet.sh (+14/-10)
vendor/google.golang.org/protobuf/encoding/prototext/decode.go (+0/-3)
vendor/google.golang.org/protobuf/internal/encoding/text/encode.go (+5/-0)
vendor/google.golang.org/protobuf/internal/impl/legacy_message.go (+7/-0)
vendor/google.golang.org/protobuf/internal/version/version.go (+2/-2)
vendor/google.golang.org/protobuf/reflect/protoregistry/registry.go (+27/-16)
vendor/google.golang.org/protobuf/types/descriptorpb/descriptor.pb.go (+0/-82)
vendor/gopkg.in/natefinch/lumberjack.v2/.gitignore (+23/-0)
vendor/gopkg.in/natefinch/lumberjack.v2/.travis.yml (+6/-0)
vendor/gopkg.in/natefinch/lumberjack.v2/LICENSE (+21/-0)
vendor/gopkg.in/natefinch/lumberjack.v2/README.md (+179/-0)
vendor/gopkg.in/natefinch/lumberjack.v2/chown.go (+11/-0)
vendor/gopkg.in/natefinch/lumberjack.v2/chown_linux.go (+19/-0)
vendor/gopkg.in/natefinch/lumberjack.v2/lumberjack.go (+541/-0)
vendor/modules.txt (+197/-123)
website/config.toml (+1/-1)
website/content/en/_index.html (+1/-1)
Reviewer Review Type Date Requested Status
Sergio Durigan Junior Approve
Bryce Harrington Pending
Canonical Server Pending
Review via email: mp+419325@code.launchpad.net

Description of the change

This is a proposal for the new 22.04 cortex OCI branch.

As usual, the proposal will not be merged into the target for this MP. Instead, a new 1.11-22.04 branch will be created in the repository.

This MP includes:

- A merge for the upstream v.1.11 tag to pull in the latest stable release;
- an update to the Dockerfile for the 22.04 release; and
- a proposal to maintain the image's cortex configuration file in the oci directory. The upstream configuration file have been changing when we need new versions of this image and, like now, the changes may not be fit for testing our images.

To post a comment you must log in.
Revision history for this message
Sergio Durigan Junior (sergiodj) wrote :

Thanks, Athos.

Built & tested fine locally. LGTM. I also like the idea of maintining our own, simplified version of the configuration file.

review: Approve
Revision history for this message
Athos Ribeiro (athos-ribeiro) wrote :

Thanks, Sergio!

Merged :)

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
diff --git a/.errcheck-exclude b/.errcheck-exclude
index cdf86dc..b8e1dc9 100644
--- a/.errcheck-exclude
+++ b/.errcheck-exclude
@@ -1,6 +1,6 @@
1io/ioutil.WriteFile1io/ioutil.WriteFile
2io/ioutil.ReadFile2io/ioutil.ReadFile
3(github.com/go-kit/kit/log.Logger).Log3(github.com/go-kit/log.Logger).Log
4io.Copy4io.Copy
5(github.com/opentracing/opentracing-go.Tracer).Inject5(github.com/opentracing/opentracing-go.Tracer).Inject
6(*github.com/cortexproject/cortex/pkg/util/spanlogger.SpanLogger).Error6(*github.com/cortexproject/cortex/pkg/util/spanlogger.SpanLogger).Error
diff --git a/.github/workflows/test-build-deploy.yml b/.github/workflows/test-build-deploy.yml
index db10325..d356243 100644
--- a/.github/workflows/test-build-deploy.yml
+++ b/.github/workflows/test-build-deploy.yml
@@ -10,7 +10,7 @@ jobs:
10 lint:10 lint:
11 runs-on: ubuntu-20.0411 runs-on: ubuntu-20.04
12 container:12 container:
13 image: quay.io/cortexproject/build-image:build-image-multiarch-1d2497ff613 image: quay.io/cortexproject/build-image:release-1.11-go-1-16-15-ebfea1212
14 steps:14 steps:
15 - name: Checkout Repo15 - name: Checkout Repo
16 uses: actions/checkout@v216 uses: actions/checkout@v2
@@ -34,7 +34,7 @@ jobs:
34 test:34 test:
35 runs-on: ubuntu-20.0435 runs-on: ubuntu-20.04
36 container:36 container:
37 image: quay.io/cortexproject/build-image:build-image-multiarch-1d2497ff637 image: quay.io/cortexproject/build-image:release-1.11-go-1-16-15-ebfea1212
38 services:38 services:
39 cassandra:39 cassandra:
40 image: cassandra:3.1140 image: cassandra:3.11
@@ -55,7 +55,7 @@ jobs:
55 build:55 build:
56 runs-on: ubuntu-20.0456 runs-on: ubuntu-20.04
57 container:57 container:
58 image: quay.io/cortexproject/build-image:build-image-multiarch-1d2497ff658 image: quay.io/cortexproject/build-image:release-1.11-go-1-16-15-ebfea1212
59 steps:59 steps:
60 - name: Checkout Repo60 - name: Checkout Repo
61 uses: actions/checkout@v261 uses: actions/checkout@v2
@@ -98,8 +98,8 @@ jobs:
98 - name: Upgrade golang98 - name: Upgrade golang
99 run: |99 run: |
100 cd /tmp100 cd /tmp
101 wget https://dl.google.com/go/go1.16.3.linux-amd64.tar.gz101 wget https://dl.google.com/go/go1.16.15.linux-amd64.tar.gz
102 tar -zxvf go1.16.3.linux-amd64.tar.gz102 tar -zxvf go1.16.15.linux-amd64.tar.gz
103 sudo rm -fr /usr/local/go103 sudo rm -fr /usr/local/go
104 sudo mv /tmp/go /usr/local/go104 sudo mv /tmp/go /usr/local/go
105 cd -105 cd -
@@ -140,6 +140,7 @@ jobs:
140 docker pull quay.io/cortexproject/cortex:v1.7.0140 docker pull quay.io/cortexproject/cortex:v1.7.0
141 docker pull quay.io/cortexproject/cortex:v1.8.0141 docker pull quay.io/cortexproject/cortex:v1.8.0
142 docker pull quay.io/cortexproject/cortex:v1.9.0142 docker pull quay.io/cortexproject/cortex:v1.9.0
143 docker pull quay.io/cortexproject/cortex:v1.10.0
143 docker pull shopify/bigtable-emulator:0.1.0144 docker pull shopify/bigtable-emulator:0.1.0
144 docker pull rinscy/cassandra:3.11.0145 docker pull rinscy/cassandra:3.11.0
145 docker pull memcached:1.6.1146 docker pull memcached:1.6.1
@@ -174,14 +175,14 @@ jobs:
174 run: |175 run: |
175 touch build-image/.uptodate176 touch build-image/.uptodate
176 MIGRATIONS_DIR=$(pwd)/cmd/cortex/migrations177 MIGRATIONS_DIR=$(pwd)/cmd/cortex/migrations
177 make BUILD_IMAGE=quay.io/cortexproject/build-image:build-image-multiarch-1d2497ff6 TTY='' configs-integration-test178 make BUILD_IMAGE=quay.io/cortexproject/build-image:release-1.11-go-1-16-15-ebfea1212 TTY='' configs-integration-test
178179
179 deploy_website:180 deploy_website:
180 needs: [build, test]181 needs: [build, test]
181 if: (github.ref == 'refs/heads/master' || startsWith(github.ref, 'refs/tags/')) && github.repository == 'cortexproject/cortex'182 if: (github.ref == 'refs/heads/master' || startsWith(github.ref, 'refs/tags/')) && github.repository == 'cortexproject/cortex'
182 runs-on: ubuntu-20.04183 runs-on: ubuntu-20.04
183 container:184 container:
184 image: quay.io/cortexproject/build-image:build-image-multiarch-1d2497ff6185 image: quay.io/cortexproject/build-image:release-1.11-go-1-16-15-ebfea1212
185 steps:186 steps:
186 - name: Checkout Repo187 - name: Checkout Repo
187 uses: actions/checkout@v2188 uses: actions/checkout@v2
@@ -218,7 +219,7 @@ jobs:
218 if: (github.ref == 'refs/heads/master' || startsWith(github.ref, 'refs/tags/')) && github.repository == 'cortexproject/cortex'219 if: (github.ref == 'refs/heads/master' || startsWith(github.ref, 'refs/tags/')) && github.repository == 'cortexproject/cortex'
219 runs-on: ubuntu-20.04220 runs-on: ubuntu-20.04
220 container:221 container:
221 image: quay.io/cortexproject/build-image:build-image-multiarch-1d2497ff6222 image: quay.io/cortexproject/build-image:release-1.11-go-1-16-15-ebfea1212
222 steps:223 steps:
223 - name: Checkout Repo224 - name: Checkout Repo
224 uses: actions/checkout@v2225 uses: actions/checkout@v2
diff --git a/.golangci.yml b/.golangci.yml
index 17a354d..38334b9 100644
--- a/.golangci.yml
+++ b/.golangci.yml
@@ -7,6 +7,7 @@ linters:
7 - golint7 - golint
8 - gofmt8 - gofmt
9 - misspell9 - misspell
10 - depguard
1011
11linters-settings:12linters-settings:
12 errcheck:13 errcheck:
@@ -16,6 +17,12 @@ linters-settings:
16 goimports:17 goimports:
17 local-prefixes: "github.com/cortexproject/cortex"18 local-prefixes: "github.com/cortexproject/cortex"
1819
20 depguard:
21 list-type: blacklist
22 include-go-root: true
23 packages-with-error-message:
24 - github.com/go-kit/kit/log: "Use github.com/go-kit/log instead of github.com/go-kit/kit/log"
25
19run:26run:
20 timeout: 5m27 timeout: 5m
2128
diff --git a/CHANGELOG.md b/CHANGELOG.md
index a0ec492..00f5fe8 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -2,6 +2,70 @@
22
3## master / unreleased3## master / unreleased
44
5
6## 1.11.1 2022-03-08
7* [ENHANCEMENT] Build with Go 1.16.15 to address CVE-2022-24921 "stack exhaustion via a deeply nested expression" #4663
8
9## 1.11.0 2021-11-25
10* [BUGFIX] Update go-kit package to fix spurious log messages #4544
11* [CHANGE] Memberlist: Expose default configuration values to the command line options. Note that setting these explicitly to zero will no longer cause the default to be used. If the default is desired, then do set the option. The following are affected: #4276
12 - `-memberlist.stream-timeout`
13 - `-memberlist.retransmit-factor`
14 - `-memberlist.pull-push-interval`
15 - `-memberlist.gossip-interval`
16 - `-memberlist.gossip-nodes`
17 - `-memberlist.gossip-to-dead-nodes-time`
18 - `-memberlist.dead-node-reclaim-time`
19* [CHANGE] `-querier.max-fetched-chunks-per-query` previously applied to chunks from ingesters and store separately; now the two combined should not exceed the limit. #4260
20* [CHANGE] Memberlist: the metric `memberlist_kv_store_value_bytes` has been removed due to values no longer being stored in-memory as encoded bytes. #4345
21* [CHANGE] Some files and directories created by Cortex components on local disk now have stricter permissions, and are only readable by owner, but not group or others. #4394
22* [CHANGE] The metric `cortex_deprecated_flags_inuse_total` has been renamed to `deprecated_flags_inuse_total` as part of using grafana/dskit functionality. #4443
23* [FEATURE] Ruler: Add new `-ruler.query-stats-enabled` which when enabled will report the `cortex_ruler_query_seconds_total` as a per-user metric that tracks the sum of the wall time of executing queries in the ruler in seconds. #4317
24* [FEATURE] Query Frontend: Add `cortex_query_fetched_series_total` and `cortex_query_fetched_chunks_bytes_total` per-user counters to expose the number of series and bytes fetched as part of queries. These metrics can be enabled with the `-frontend.query-stats-enabled` flag (or its respective YAML config option `query_stats_enabled`). #4343
25* [FEATURE] AlertManager: Add support for SNS Receiver. #4382
26* [FEATURE] Distributor: Add label `status` to metric `cortex_distributor_ingester_append_failures_total` #4442
27* [FEATURE] Queries: Added `present_over_time` PromQL function, also some TSDB optimisations. #4505
28* [ENHANCEMENT] Add timeout for waiting on compactor to become ACTIVE in the ring. #4262
29* [ENHANCEMENT] Reduce memory used by streaming queries, particularly in ruler. #4341
30* [ENHANCEMENT] Ring: allow experimental configuration of disabling of heartbeat timeouts by setting the relevant configuration value to zero. Applies to the following: #4342
31 * `-distributor.ring.heartbeat-timeout`
32 * `-ring.heartbeat-timeout`
33 * `-ruler.ring.heartbeat-timeout`
34 * `-alertmanager.sharding-ring.heartbeat-timeout`
35 * `-compactor.ring.heartbeat-timeout`
36 * `-store-gateway.sharding-ring.heartbeat-timeout`
37* [ENHANCEMENT] Ring: allow heartbeats to be explicitly disabled by setting the interval to zero. This is considered experimental. This applies to the following configuration options: #4344
38 * `-distributor.ring.heartbeat-period`
39 * `-ingester.heartbeat-period`
40 * `-ruler.ring.heartbeat-period`
41 * `-alertmanager.sharding-ring.heartbeat-period`
42 * `-compactor.ring.heartbeat-period`
43 * `-store-gateway.sharding-ring.heartbeat-period`
44* [ENHANCEMENT] Memberlist: optimized receive path for processing ring state updates, to help reduce CPU utilization in large clusters. #4345
45* [ENHANCEMENT] Memberlist: expose configuration of memberlist packet compression via `-memberlist.compression=enabled`. #4346
46* [ENHANCEMENT] Update Go version to 1.16.6. #4362
47* [ENHANCEMENT] Updated Prometheus to include changes from prometheus/prometheus#9083. Now whenever `/labels` API calls include matchers, blocks store is queried for `LabelNames` with matchers instead of `Series` calls which was inefficient. #4380
48* [ENHANCEMENT] Querier: performance improvements in socket and memory handling. #4429 #4377
49* [ENHANCEMENT] Exemplars are now emitted for all gRPC calls and many operations tracked by histograms. #4462
50* [ENHANCEMENT] New options `-server.http-listen-network` and `-server.grpc-listen-network` allow binding as 'tcp4' or 'tcp6'. #4462
51* [ENHANCEMENT] Rulers: Using shuffle sharding subring on GetRules API. #4466
52* [ENHANCEMENT] Support memcached auto-discovery via `auto-discovery` flag, introduced by thanos in https://github.com/thanos-io/thanos/pull/4487. Both AWS and Google Cloud memcached service support auto-discovery, which returns a list of nodes of the memcached cluster. #4412
53* [BUGFIX] Fixes a panic in the query-tee when comparing result. #4465
54* [BUGFIX] Frontend: Fixes @ modifier functions (start/end) when splitting queries by time. #4464
55* [BUGFIX] Compactor: compactor will no longer try to compact blocks that are already marked for deletion. Previously compactor would consider blocks marked for deletion within `-compactor.deletion-delay / 2` period as eligible for compaction. #4328
56* [BUGFIX] HA Tracker: when cleaning up obsolete elected replicas from KV store, tracker didn't update number of cluster per user correctly. #4336
57* [BUGFIX] Ruler: fixed counting of PromQL evaluation errors as user-errors when updating `cortex_ruler_queries_failed_total`. #4335
58* [BUGFIX] Ingester: When using block storage, prevent any reads or writes while the ingester is stopping. This will prevent accessing TSDB blocks once they have been already closed. #4304
59* [BUGFIX] Ingester: fixed ingester stuck on start up (LEAVING ring state) when `-ingester.heartbeat-period=0` and `-ingester.unregister-on-shutdown=false`. #4366
60* [BUGFIX] Ingester: panic during shutdown while fetching batches from cache. #4397
61* [BUGFIX] Querier: After query-frontend restart, querier may have lower than configured concurrency. #4417
62* [BUGFIX] Memberlist: forward only changes, not entire original message. #4419
63* [BUGFIX] Memberlist: don't accept old tombstones as incoming change, and don't forward such messages to other gossip members. #4420
64* [BUGFIX] Querier: fixed panic when querying exemplars and using `-distributor.shard-by-all-labels=false`. #4473
65* [BUGFIX] Querier: honor querier minT,maxT if `nil` SelectHints are passed to Select(). #4413
66* [BUGFIX] Compactor: fixed panic while collecting Prometheus metrics. #4483
67
68
5## 1.10.0 / 2021-08-0369## 1.10.0 / 2021-08-03
670
7* [CHANGE] Prevent path traversal attack from users able to control the HTTP header `X-Scope-OrgID`. #4375 (CVE-2021-36157)71* [CHANGE] Prevent path traversal attack from users able to control the HTTP header `X-Scope-OrgID`. #4375 (CVE-2021-36157)
diff --git a/MAINTAINERS b/MAINTAINERS
index f482974..f9df6c1 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -1,3 +1,4 @@
1Alvin Lin, Amazon Web Services <alvinlin123@gmail.com> (@alvinlin123)
1Bryan Boreham <bjboreham@gmail.com> (@bboreham)2Bryan Boreham <bjboreham@gmail.com> (@bboreham)
2Goutham Veeramachaneni, Grafana Labs <gouthamve@gmail.com> (@gouthamve)3Goutham Veeramachaneni, Grafana Labs <gouthamve@gmail.com> (@gouthamve)
3Jacob Lisi, Grafana Labs <jacob.t.lisi@gmail.com> (@jtlisi)4Jacob Lisi, Grafana Labs <jacob.t.lisi@gmail.com> (@jtlisi)
diff --git a/Makefile b/Makefile
index c3dc9aa..99187f8 100644
--- a/Makefile
+++ b/Makefile
@@ -119,7 +119,7 @@ build-image/$(UPTODATE): build-image/*
119SUDO := $(shell docker info >/dev/null 2>&1 || echo "sudo -E")119SUDO := $(shell docker info >/dev/null 2>&1 || echo "sudo -E")
120BUILD_IN_CONTAINER := true120BUILD_IN_CONTAINER := true
121BUILD_IMAGE ?= $(IMAGE_PREFIX)build-image121BUILD_IMAGE ?= $(IMAGE_PREFIX)build-image
122LATEST_BUILD_IMAGE_TAG ?= build-image-multiarch-1d2497ff6122LATEST_BUILD_IMAGE_TAG ?= release-1.11-go-1-16-15-ebfea1212
123123
124# TTY is parameterized to allow Google Cloud Builder to run builds,124# TTY is parameterized to allow Google Cloud Builder to run builds,
125# as it currently disallows TTY devices. This value needs to be overridden125# as it currently disallows TTY devices. This value needs to be overridden
diff --git a/README.md b/README.md
index 151a821..53e4663 100644
--- a/README.md
+++ b/README.md
@@ -132,7 +132,7 @@ For security issues see https://github.com/cortexproject/cortex/security/policy
132132
133## Community Meetings133## Community Meetings
134134
135The Cortex community call happens every three weeks on Thursday at 03:30pm – 04:15pm UTC to get calendar invite join the [google groups](https://groups.google.com/forum/#!forum/cortex-monitoring).135The Cortex community call happens every two weeks on Thursday, alternating at 1200 UTC and 1700 UTC. To get a calendar invite join the [google groups](https://groups.google.com/forum/#!forum/cortex-monitoring) or check out [the CNCF community calendar](https://www.cncf.io/calendar/).
136136
137Meeting notes are held [here](https://docs.google.com/document/d/1shtXSAqp3t7fiC-9uZcKkq3mgwsItAJlH6YW6x1joZo/edit).137Meeting notes are held [here](https://docs.google.com/document/d/1shtXSAqp3t7fiC-9uZcKkq3mgwsItAJlH6YW6x1joZo/edit).
138138
diff --git a/VERSION b/VERSION
index ed21137..720c738 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
11.10.0
2\ No newline at end of file1\ No newline at end of file
21.11.1
diff --git a/build-image/Dockerfile b/build-image/Dockerfile
index 263996f..9077fcb 100644
--- a/build-image/Dockerfile
+++ b/build-image/Dockerfile
@@ -1,4 +1,4 @@
1FROM golang:1.16.3-buster1FROM golang:1.16.15-buster
2ARG goproxyValue2ARG goproxyValue
3ENV GOPROXY=${goproxyValue}3ENV GOPROXY=${goproxyValue}
4RUN apt-get update && apt-get install -y curl python-requests python-yaml file jq unzip protobuf-compiler libprotobuf-dev && \4RUN apt-get update && apt-get install -y curl python-requests python-yaml file jq unzip protobuf-compiler libprotobuf-dev && \
diff --git a/cmd/blocksconvert/main.go b/cmd/blocksconvert/main.go
index fb5e1f3..c10180e 100644
--- a/cmd/blocksconvert/main.go
+++ b/cmd/blocksconvert/main.go
@@ -7,14 +7,14 @@ import (
7 "os"7 "os"
8 "strings"8 "strings"
99
10 "github.com/go-kit/kit/log/level"10 "github.com/go-kit/log/level"
11 "github.com/grafana/dskit/services"
11 "github.com/prometheus/client_golang/prometheus"12 "github.com/prometheus/client_golang/prometheus"
12 "github.com/weaveworks/common/server"13 "github.com/weaveworks/common/server"
13 "github.com/weaveworks/common/signals"14 "github.com/weaveworks/common/signals"
1415
15 "github.com/cortexproject/cortex/pkg/cortex"16 "github.com/cortexproject/cortex/pkg/cortex"
16 util_log "github.com/cortexproject/cortex/pkg/util/log"17 util_log "github.com/cortexproject/cortex/pkg/util/log"
17 "github.com/cortexproject/cortex/pkg/util/services"
18 "github.com/cortexproject/cortex/tools/blocksconvert"18 "github.com/cortexproject/cortex/tools/blocksconvert"
19 "github.com/cortexproject/cortex/tools/blocksconvert/builder"19 "github.com/cortexproject/cortex/tools/blocksconvert/builder"
20 "github.com/cortexproject/cortex/tools/blocksconvert/cleaner"20 "github.com/cortexproject/cortex/tools/blocksconvert/cleaner"
diff --git a/cmd/cortex/main.go b/cmd/cortex/main.go
index b67b96a..15ec60f 100644
--- a/cmd/cortex/main.go
+++ b/cmd/cortex/main.go
@@ -12,7 +12,8 @@ import (
12 "strings"12 "strings"
13 "time"13 "time"
1414
15 "github.com/go-kit/kit/log/level"15 "github.com/go-kit/log/level"
16 "github.com/grafana/dskit/flagext"
16 "github.com/pkg/errors"17 "github.com/pkg/errors"
17 "github.com/prometheus/client_golang/prometheus"18 "github.com/prometheus/client_golang/prometheus"
18 "github.com/prometheus/common/version"19 "github.com/prometheus/common/version"
@@ -21,7 +22,6 @@ import (
2122
22 "github.com/cortexproject/cortex/pkg/cortex"23 "github.com/cortexproject/cortex/pkg/cortex"
23 "github.com/cortexproject/cortex/pkg/util"24 "github.com/cortexproject/cortex/pkg/util"
24 "github.com/cortexproject/cortex/pkg/util/flagext"
25 util_log "github.com/cortexproject/cortex/pkg/util/log"25 util_log "github.com/cortexproject/cortex/pkg/util/log"
26)26)
2727
diff --git a/cmd/query-tee/main.go b/cmd/query-tee/main.go
index 87bd657..6d6b083 100644
--- a/cmd/query-tee/main.go
+++ b/cmd/query-tee/main.go
@@ -4,8 +4,9 @@ import (
4 "flag"4 "flag"
5 "os"5 "os"
66
7 "github.com/go-kit/kit/log/level"7 "github.com/go-kit/log/level"
8 "github.com/prometheus/client_golang/prometheus"8 "github.com/prometheus/client_golang/prometheus"
9 "github.com/prometheus/client_golang/prometheus/collectors"
9 "github.com/weaveworks/common/logging"10 "github.com/weaveworks/common/logging"
10 "github.com/weaveworks/common/server"11 "github.com/weaveworks/common/server"
1112
@@ -35,7 +36,7 @@ func main() {
3536
36 // Run the instrumentation server.37 // Run the instrumentation server.
37 registry := prometheus.NewRegistry()38 registry := prometheus.NewRegistry()
38 registry.MustRegister(prometheus.NewGoCollector())39 registry.MustRegister(collectors.NewGoCollector())
3940
40 i := querytee.NewInstrumentationServer(cfg.ServerMetricsPort, registry)41 i := querytee.NewInstrumentationServer(cfg.ServerMetricsPort, registry)
41 if err := i.Start(); err != nil {42 if err := i.Start(); err != nil {
diff --git a/cmd/test-exporter/main.go b/cmd/test-exporter/main.go
index 5697ef1..0094e0f 100644
--- a/cmd/test-exporter/main.go
+++ b/cmd/test-exporter/main.go
@@ -5,13 +5,13 @@ import (
5 "math"5 "math"
6 "time"6 "time"
77
8 "github.com/go-kit/kit/log/level"8 "github.com/go-kit/log/level"
9 "github.com/grafana/dskit/flagext"
9 "github.com/prometheus/client_golang/prometheus"10 "github.com/prometheus/client_golang/prometheus"
10 "github.com/weaveworks/common/server"11 "github.com/weaveworks/common/server"
11 "github.com/weaveworks/common/tracing"12 "github.com/weaveworks/common/tracing"
1213
13 "github.com/cortexproject/cortex/pkg/testexporter/correctness"14 "github.com/cortexproject/cortex/pkg/testexporter/correctness"
14 "github.com/cortexproject/cortex/pkg/util/flagext"
15 "github.com/cortexproject/cortex/pkg/util/log"15 "github.com/cortexproject/cortex/pkg/util/log"
16)16)
1717
diff --git a/docs/_index.md b/docs/_index.md
index b97ef3a..a11bead 100644
--- a/docs/_index.md
+++ b/docs/_index.md
@@ -36,6 +36,9 @@ should read:
361. [Getting started with Cortex](getting-started/_index.md)361. [Getting started with Cortex](getting-started/_index.md)
371. [Information regarding configuring Cortex](configuration/_index.md)371. [Information regarding configuring Cortex](configuration/_index.md)
3838
39There are also individual [guides](guides/_index.md) to many tasks.
40Please review the important [security advice](guides/security.md) before deploying.
41
39For a guide to contributing to Cortex, see the [contributor guidelines](contributing/).42For a guide to contributing to Cortex, see the [contributor guidelines](contributing/).
4043
41## Further reading44## Further reading
diff --git a/docs/architecture.md b/docs/architecture.md
index 0bf04bb..f5925d4 100644
--- a/docs/architecture.md
+++ b/docs/architecture.md
@@ -117,7 +117,7 @@ Cortex supports two hashing strategies:
1171. Hash the metric name and tenant ID (default)1171. Hash the metric name and tenant ID (default)
1182. Hash the metric name, labels and tenant ID (enabled with `-distributor.shard-by-all-labels=true`)1182. Hash the metric name, labels and tenant ID (enabled with `-distributor.shard-by-all-labels=true`)
119119
120The trade-off associated with the latter is that writes are more balanced across ingesters but each query needs to talk to any ingester since a metric could be spread across multiple ingesters given different label sets.120The trade-off associated with the latter is that writes are more balanced across ingesters but each query needs to talk to all ingesters since a metric could be spread across multiple ingesters given different label sets.
121121
122#### The hash ring122#### The hash ring
123123
diff --git a/docs/blocks-storage/compactor.md b/docs/blocks-storage/compactor.md
index 2134058..ca30832 100644
--- a/docs/blocks-storage/compactor.md
+++ b/docs/blocks-storage/compactor.md
@@ -209,12 +209,12 @@ compactor:
209 # CLI flag: -compactor.ring.multi.mirror-timeout209 # CLI flag: -compactor.ring.multi.mirror-timeout
210 [mirror_timeout: <duration> | default = 2s]210 [mirror_timeout: <duration> | default = 2s]
211211
212 # Period at which to heartbeat to the ring.212 # Period at which to heartbeat to the ring. 0 = disabled.
213 # CLI flag: -compactor.ring.heartbeat-period213 # CLI flag: -compactor.ring.heartbeat-period
214 [heartbeat_period: <duration> | default = 5s]214 [heartbeat_period: <duration> | default = 5s]
215215
216 # The heartbeat timeout after which compactors are considered unhealthy216 # The heartbeat timeout after which compactors are considered unhealthy
217 # within the ring.217 # within the ring. 0 = never (timeout disabled).
218 # CLI flag: -compactor.ring.heartbeat-timeout218 # CLI flag: -compactor.ring.heartbeat-timeout
219 [heartbeat_timeout: <duration> | default = 1m]219 [heartbeat_timeout: <duration> | default = 1m]
220220
@@ -230,4 +230,8 @@ compactor:
230 # Name of network interface to read address from.230 # Name of network interface to read address from.
231 # CLI flag: -compactor.ring.instance-interface-names231 # CLI flag: -compactor.ring.instance-interface-names
232 [instance_interface_names: <list of string> | default = [eth0 en0]]232 [instance_interface_names: <list of string> | default = [eth0 en0]]
233
234 # Timeout for waiting on compactor to become ACTIVE in the ring.
235 # CLI flag: -compactor.ring.wait-active-instance-timeout
236 [wait_active_instance_timeout: <duration> | default = 10m]
233```237```
diff --git a/docs/blocks-storage/querier.md b/docs/blocks-storage/querier.md
index a7080d4..9bfb2a4 100644
--- a/docs/blocks-storage/querier.md
+++ b/docs/blocks-storage/querier.md
@@ -512,6 +512,11 @@ blocks_storage:
512 # CLI flag: -blocks-storage.bucket-store.index-cache.memcached.max-item-size512 # CLI flag: -blocks-storage.bucket-store.index-cache.memcached.max-item-size
513 [max_item_size: <int> | default = 1048576]513 [max_item_size: <int> | default = 1048576]
514514
515 # Use memcached auto-discovery mechanism provided by some cloud provider
516 # like GCP and AWS
517 # CLI flag: -blocks-storage.bucket-store.index-cache.memcached.auto-discovery
518 [auto_discovery: <boolean> | default = false]
519
515 chunks_cache:520 chunks_cache:
516 # Backend for chunks cache, if not empty. Supported values: memcached.521 # Backend for chunks cache, if not empty. Supported values: memcached.
517 # CLI flag: -blocks-storage.bucket-store.chunks-cache.backend522 # CLI flag: -blocks-storage.bucket-store.chunks-cache.backend
@@ -559,6 +564,11 @@ blocks_storage:
559 # CLI flag: -blocks-storage.bucket-store.chunks-cache.memcached.max-item-size564 # CLI flag: -blocks-storage.bucket-store.chunks-cache.memcached.max-item-size
560 [max_item_size: <int> | default = 1048576]565 [max_item_size: <int> | default = 1048576]
561566
567 # Use memcached auto-discovery mechanism provided by some cloud provider
568 # like GCP and AWS
569 # CLI flag: -blocks-storage.bucket-store.chunks-cache.memcached.auto-discovery
570 [auto_discovery: <boolean> | default = false]
571
562 # Size of each subrange that bucket object is split into for better572 # Size of each subrange that bucket object is split into for better
563 # caching.573 # caching.
564 # CLI flag: -blocks-storage.bucket-store.chunks-cache.subrange-size574 # CLI flag: -blocks-storage.bucket-store.chunks-cache.subrange-size
@@ -625,6 +635,11 @@ blocks_storage:
625 # CLI flag: -blocks-storage.bucket-store.metadata-cache.memcached.max-item-size635 # CLI flag: -blocks-storage.bucket-store.metadata-cache.memcached.max-item-size
626 [max_item_size: <int> | default = 1048576]636 [max_item_size: <int> | default = 1048576]
627637
638 # Use memcached auto-discovery mechanism provided by some cloud provider
639 # like GCP and AWS
640 # CLI flag: -blocks-storage.bucket-store.metadata-cache.memcached.auto-discovery
641 [auto_discovery: <boolean> | default = false]
642
628 # How long to cache list of tenants in the bucket.643 # How long to cache list of tenants in the bucket.
629 # CLI flag: -blocks-storage.bucket-store.metadata-cache.tenants-list-ttl644 # CLI flag: -blocks-storage.bucket-store.metadata-cache.tenants-list-ttl
630 [tenants_list_ttl: <duration> | default = 15m]645 [tenants_list_ttl: <duration> | default = 15m]
diff --git a/docs/blocks-storage/store-gateway.md b/docs/blocks-storage/store-gateway.md
index d24813b..d82fdcf 100644
--- a/docs/blocks-storage/store-gateway.md
+++ b/docs/blocks-storage/store-gateway.md
@@ -232,13 +232,13 @@ store_gateway:
232 # CLI flag: -store-gateway.sharding-ring.multi.mirror-timeout232 # CLI flag: -store-gateway.sharding-ring.multi.mirror-timeout
233 [mirror_timeout: <duration> | default = 2s]233 [mirror_timeout: <duration> | default = 2s]
234234
235 # Period at which to heartbeat to the ring.235 # Period at which to heartbeat to the ring. 0 = disabled.
236 # CLI flag: -store-gateway.sharding-ring.heartbeat-period236 # CLI flag: -store-gateway.sharding-ring.heartbeat-period
237 [heartbeat_period: <duration> | default = 15s]237 [heartbeat_period: <duration> | default = 15s]
238238
239 # The heartbeat timeout after which store gateways are considered unhealthy239 # The heartbeat timeout after which store gateways are considered unhealthy
240 # within the ring. This option needs be set both on the store-gateway and240 # within the ring. 0 = never (timeout disabled). This option needs be set
241 # querier when running in microservices mode.241 # both on the store-gateway and querier when running in microservices mode.
242 # CLI flag: -store-gateway.sharding-ring.heartbeat-timeout242 # CLI flag: -store-gateway.sharding-ring.heartbeat-timeout
243 [heartbeat_timeout: <duration> | default = 1m]243 [heartbeat_timeout: <duration> | default = 1m]
244244
@@ -576,6 +576,11 @@ blocks_storage:
576 # CLI flag: -blocks-storage.bucket-store.index-cache.memcached.max-item-size576 # CLI flag: -blocks-storage.bucket-store.index-cache.memcached.max-item-size
577 [max_item_size: <int> | default = 1048576]577 [max_item_size: <int> | default = 1048576]
578578
579 # Use memcached auto-discovery mechanism provided by some cloud provider
580 # like GCP and AWS
581 # CLI flag: -blocks-storage.bucket-store.index-cache.memcached.auto-discovery
582 [auto_discovery: <boolean> | default = false]
583
579 chunks_cache:584 chunks_cache:
580 # Backend for chunks cache, if not empty. Supported values: memcached.585 # Backend for chunks cache, if not empty. Supported values: memcached.
581 # CLI flag: -blocks-storage.bucket-store.chunks-cache.backend586 # CLI flag: -blocks-storage.bucket-store.chunks-cache.backend
@@ -623,6 +628,11 @@ blocks_storage:
623 # CLI flag: -blocks-storage.bucket-store.chunks-cache.memcached.max-item-size628 # CLI flag: -blocks-storage.bucket-store.chunks-cache.memcached.max-item-size
624 [max_item_size: <int> | default = 1048576]629 [max_item_size: <int> | default = 1048576]
625630
631 # Use memcached auto-discovery mechanism provided by some cloud provider
632 # like GCP and AWS
633 # CLI flag: -blocks-storage.bucket-store.chunks-cache.memcached.auto-discovery
634 [auto_discovery: <boolean> | default = false]
635
626 # Size of each subrange that bucket object is split into for better636 # Size of each subrange that bucket object is split into for better
627 # caching.637 # caching.
628 # CLI flag: -blocks-storage.bucket-store.chunks-cache.subrange-size638 # CLI flag: -blocks-storage.bucket-store.chunks-cache.subrange-size
@@ -689,6 +699,11 @@ blocks_storage:
689 # CLI flag: -blocks-storage.bucket-store.metadata-cache.memcached.max-item-size699 # CLI flag: -blocks-storage.bucket-store.metadata-cache.memcached.max-item-size
690 [max_item_size: <int> | default = 1048576]700 [max_item_size: <int> | default = 1048576]
691701
702 # Use memcached auto-discovery mechanism provided by some cloud provider
703 # like GCP and AWS
704 # CLI flag: -blocks-storage.bucket-store.metadata-cache.memcached.auto-discovery
705 [auto_discovery: <boolean> | default = false]
706
692 # How long to cache list of tenants in the bucket.707 # How long to cache list of tenants in the bucket.
693 # CLI flag: -blocks-storage.bucket-store.metadata-cache.tenants-list-ttl708 # CLI flag: -blocks-storage.bucket-store.metadata-cache.tenants-list-ttl
694 [tenants_list_ttl: <duration> | default = 15m]709 [tenants_list_ttl: <duration> | default = 15m]
diff --git a/docs/chunks-storage/running-chunks-storage-with-cassandra.md b/docs/chunks-storage/running-chunks-storage-with-cassandra.md
index b2aac69..b0971c3 100644
--- a/docs/chunks-storage/running-chunks-storage-with-cassandra.md
+++ b/docs/chunks-storage/running-chunks-storage-with-cassandra.md
@@ -111,12 +111,12 @@ storage:
111```111```
112112
113The latest tag is not published for the Cortex docker image. Visit quay.io/repository/cortexproject/cortex113The latest tag is not published for the Cortex docker image. Visit quay.io/repository/cortexproject/cortex
114to find the latest stable version tag and use it in the command below (currently it is `v1.10.0`).114to find the latest stable version tag and use it in the command below (currently it is `v1.11.1`).
115115
116Run Cortex using the latest stable version:116Run Cortex using the latest stable version:
117117
118```118```
119docker run -d --name=cortex -v $(pwd)/single-process-config.yaml:/etc/single-process-config.yaml -p 9009:9009 quay.io/cortexproject/cortex:v1.10.0 -config.file=/etc/single-process-config.yaml119docker run -d --name=cortex -v $(pwd)/single-process-config.yaml:/etc/single-process-config.yaml -p 9009:9009 quay.io/cortexproject/cortex:v1.11.1 -config.file=/etc/single-process-config.yaml
120```120```
121In case you prefer to run the master version, please follow this [documentation](./chunks-storage-getting-started.md) on how to build Cortex from source.121In case you prefer to run the master version, please follow this [documentation](./chunks-storage-getting-started.md) on how to build Cortex from source.
122122
diff --git a/docs/configuration/arguments.md b/docs/configuration/arguments.md
index 997399b..7fdd3b7 100644
--- a/docs/configuration/arguments.md
+++ b/docs/configuration/arguments.md
@@ -142,6 +142,8 @@ The ingester query API was improved over time, but defaults to the old behaviour
142142
143 **Upgrade notes**: As this flag also makes all queries always read from all ingesters, the upgrade path is pretty trivial; just enable the flag. When you do enable it, you'll see a spike in the number of active series as the writes are "reshuffled" amongst the ingesters, but over the next stale period all the old series will be flushed, and you should end up with much better load balancing. With this flag enabled in the queriers, reads will always catch all the data from all ingesters.143 **Upgrade notes**: As this flag also makes all queries always read from all ingesters, the upgrade path is pretty trivial; just enable the flag. When you do enable it, you'll see a spike in the number of active series as the writes are "reshuffled" amongst the ingesters, but over the next stale period all the old series will be flushed, and you should end up with much better load balancing. With this flag enabled in the queriers, reads will always catch all the data from all ingesters.
144144
145 **Warning**: disabling this flag can lead to a much less balanced distribution of load among the ingesters.
146
145- `-distributor.extra-query-delay`147- `-distributor.extra-query-delay`
146 This is used by a component with an embedded distributor (Querier and Ruler) to control how long to wait until sending more than the minimum amount of queries needed for a successful response.148 This is used by a component with an embedded distributor (Querier and Ruler) to control how long to wait until sending more than the minimum amount of queries needed for a successful response.
147149
@@ -531,6 +533,8 @@ The DNS service discovery, inspired from Thanos DNS SD, supports different disco
531533
532If **no prefix** is provided, the provided IP or hostname will be used straightaway without pre-resolving it.534If **no prefix** is provided, the provided IP or hostname will be used straightaway without pre-resolving it.
533535
536If you are using a managed memcached service from [Google Cloud](https://cloud.google.com/memorystore/docs/memcached/auto-discovery-overview), or [AWS](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/AutoDiscovery.HowAutoDiscoveryWorks.html), use the [auto-discovery](./config-file-reference.md#memcached-client-config) flag instead of DNS discovery, then use the discovery/configuration endpoint as the domain name without any prefix.
537
534## Logging of IP of reverse proxy538## Logging of IP of reverse proxy
535539
536If a reverse proxy is used in front of Cortex it might be diffult to troubleshoot errors. The following 3 settings can be used to log the IP address passed along by the reverse proxy in headers like X-Forwarded-For.540If a reverse proxy is used in front of Cortex it might be diffult to troubleshoot errors. The following 3 settings can be used to log the IP address passed along by the reverse proxy in headers like X-Forwarded-For.
diff --git a/docs/configuration/config-file-reference.md b/docs/configuration/config-file-reference.md
index 801dc78..547ffdb 100644
--- a/docs/configuration/config-file-reference.md
+++ b/docs/configuration/config-file-reference.md
@@ -268,6 +268,10 @@ query_scheduler:
268The `server_config` configures the HTTP and gRPC server of the launched service(s).268The `server_config` configures the HTTP and gRPC server of the launched service(s).
269269
270```yaml270```yaml
271# HTTP server listen network, default tcp
272# CLI flag: -server.http-listen-network
273[http_listen_network: <string> | default = "tcp"]
274
271# HTTP server listen address.275# HTTP server listen address.
272# CLI flag: -server.http-listen-address276# CLI flag: -server.http-listen-address
273[http_listen_address: <string> | default = ""]277[http_listen_address: <string> | default = ""]
@@ -280,6 +284,10 @@ The `server_config` configures the HTTP and gRPC server of the launched service(
280# CLI flag: -server.http-conn-limit284# CLI flag: -server.http-conn-limit
281[http_listen_conn_limit: <int> | default = 0]285[http_listen_conn_limit: <int> | default = 0]
282286
287# gRPC server listen network
288# CLI flag: -server.grpc-listen-network
289[grpc_listen_network: <string> | default = "tcp"]
290
283# gRPC server listen address.291# gRPC server listen address.
284# CLI flag: -server.grpc-listen-address292# CLI flag: -server.grpc-listen-address
285[grpc_listen_address: <string> | default = ""]293[grpc_listen_address: <string> | default = ""]
@@ -563,12 +571,12 @@ ring:
563 # CLI flag: -distributor.ring.multi.mirror-timeout571 # CLI flag: -distributor.ring.multi.mirror-timeout
564 [mirror_timeout: <duration> | default = 2s]572 [mirror_timeout: <duration> | default = 2s]
565573
566 # Period at which to heartbeat to the ring.574 # Period at which to heartbeat to the ring. 0 = disabled.
567 # CLI flag: -distributor.ring.heartbeat-period575 # CLI flag: -distributor.ring.heartbeat-period
568 [heartbeat_period: <duration> | default = 5s]576 [heartbeat_period: <duration> | default = 5s]
569577
570 # The heartbeat timeout after which distributors are considered unhealthy578 # The heartbeat timeout after which distributors are considered unhealthy
571 # within the ring.579 # within the ring. 0 = never (timeout disabled).
572 # CLI flag: -distributor.ring.heartbeat-timeout580 # CLI flag: -distributor.ring.heartbeat-timeout
573 [heartbeat_timeout: <duration> | default = 1m]581 [heartbeat_timeout: <duration> | default = 1m]
574582
@@ -662,6 +670,7 @@ lifecycler:
662 [mirror_timeout: <duration> | default = 2s]670 [mirror_timeout: <duration> | default = 2s]
663671
664 # The heartbeat timeout after which ingesters are skipped for reads/writes.672 # The heartbeat timeout after which ingesters are skipped for reads/writes.
673 # 0 = never (timeout disabled).
665 # CLI flag: -ring.heartbeat-timeout674 # CLI flag: -ring.heartbeat-timeout
666 [heartbeat_timeout: <duration> | default = 1m]675 [heartbeat_timeout: <duration> | default = 1m]
667676
@@ -678,7 +687,7 @@ lifecycler:
678 # CLI flag: -ingester.num-tokens687 # CLI flag: -ingester.num-tokens
679 [num_tokens: <int> | default = 128]688 [num_tokens: <int> | default = 128]
680689
681 # Period at which to heartbeat to consul.690 # Period at which to heartbeat to consul. 0 = disabled.
682 # CLI flag: -ingester.heartbeat-period691 # CLI flag: -ingester.heartbeat-period
683 [heartbeat_period: <duration> | default = 5s]692 [heartbeat_period: <duration> | default = 5s]
684693
@@ -1580,12 +1589,12 @@ ring:
1580 # CLI flag: -ruler.ring.multi.mirror-timeout1589 # CLI flag: -ruler.ring.multi.mirror-timeout
1581 [mirror_timeout: <duration> | default = 2s]1590 [mirror_timeout: <duration> | default = 2s]
15821591
1583 # Period at which to heartbeat to the ring.1592 # Period at which to heartbeat to the ring. 0 = disabled.
1584 # CLI flag: -ruler.ring.heartbeat-period1593 # CLI flag: -ruler.ring.heartbeat-period
1585 [heartbeat_period: <duration> | default = 5s]1594 [heartbeat_period: <duration> | default = 5s]
15861595
1587 # The heartbeat timeout after which rulers are considered unhealthy within the1596 # The heartbeat timeout after which rulers are considered unhealthy within the
1588 # ring.1597 # ring. 0 = never (timeout disabled).
1589 # CLI flag: -ruler.ring.heartbeat-timeout1598 # CLI flag: -ruler.ring.heartbeat-timeout
1590 [heartbeat_timeout: <duration> | default = 1m]1599 [heartbeat_timeout: <duration> | default = 1m]
15911600
@@ -1616,6 +1625,11 @@ ring:
1616# processing will ignore them instead. Subject to sharding.1625# processing will ignore them instead. Subject to sharding.
1617# CLI flag: -ruler.disabled-tenants1626# CLI flag: -ruler.disabled-tenants
1618[disabled_tenants: <string> | default = ""]1627[disabled_tenants: <string> | default = ""]
1628
1629# Report the wall time for ruler queries to complete as a per user metric and as
1630# an info level log message.
1631# CLI flag: -ruler.query-stats-enabled
1632[query_stats_enabled: <boolean> | default = false]
1619```1633```
16201634
1621### `ruler_storage_config`1635### `ruler_storage_config`
@@ -1901,12 +1915,12 @@ sharding_ring:
1901 # CLI flag: -alertmanager.sharding-ring.multi.mirror-timeout1915 # CLI flag: -alertmanager.sharding-ring.multi.mirror-timeout
1902 [mirror_timeout: <duration> | default = 2s]1916 [mirror_timeout: <duration> | default = 2s]
19031917
1904 # Period at which to heartbeat to the ring.1918 # Period at which to heartbeat to the ring. 0 = disabled.
1905 # CLI flag: -alertmanager.sharding-ring.heartbeat-period1919 # CLI flag: -alertmanager.sharding-ring.heartbeat-period
1906 [heartbeat_period: <duration> | default = 15s]1920 [heartbeat_period: <duration> | default = 15s]
19071921
1908 # The heartbeat timeout after which alertmanagers are considered unhealthy1922 # The heartbeat timeout after which alertmanagers are considered unhealthy
1909 # within the ring.1923 # within the ring. 0 = never (timeout disabled).
1910 # CLI flag: -alertmanager.sharding-ring.heartbeat-timeout1924 # CLI flag: -alertmanager.sharding-ring.heartbeat-timeout
1911 [heartbeat_timeout: <duration> | default = 1m]1925 [heartbeat_timeout: <duration> | default = 1m]
19121926
@@ -3761,40 +3775,42 @@ The `memberlist_config` configures the Gossip memberlist.
3761[randomize_node_name: <boolean> | default = true]3775[randomize_node_name: <boolean> | default = true]
37623776
3763# The timeout for establishing a connection with a remote node, and for3777# The timeout for establishing a connection with a remote node, and for
3764# read/write operations. Uses memberlist LAN defaults if 0.3778# read/write operations.
3765# CLI flag: -memberlist.stream-timeout3779# CLI flag: -memberlist.stream-timeout
3766[stream_timeout: <duration> | default = 0s]3780[stream_timeout: <duration> | default = 10s]
37673781
3768# Multiplication factor used when sending out messages (factor * log(N+1)).3782# Multiplication factor used when sending out messages (factor * log(N+1)).
3769# CLI flag: -memberlist.retransmit-factor3783# CLI flag: -memberlist.retransmit-factor
3770[retransmit_factor: <int> | default = 0]3784[retransmit_factor: <int> | default = 4]
37713785
3772# How often to use pull/push sync. Uses memberlist LAN defaults if 0.3786# How often to use pull/push sync.
3773# CLI flag: -memberlist.pullpush-interval3787# CLI flag: -memberlist.pullpush-interval
3774[pull_push_interval: <duration> | default = 0s]3788[pull_push_interval: <duration> | default = 30s]
37753789
3776# How often to gossip. Uses memberlist LAN defaults if 0.3790# How often to gossip.
3777# CLI flag: -memberlist.gossip-interval3791# CLI flag: -memberlist.gossip-interval
3778[gossip_interval: <duration> | default = 0s]3792[gossip_interval: <duration> | default = 200ms]
37793793
3780# How many nodes to gossip to. Uses memberlist LAN defaults if 0.3794# How many nodes to gossip to.
3781# CLI flag: -memberlist.gossip-nodes3795# CLI flag: -memberlist.gossip-nodes
3782[gossip_nodes: <int> | default = 0]3796[gossip_nodes: <int> | default = 3]
37833797
3784# How long to keep gossiping to dead nodes, to give them chance to refute their3798# How long to keep gossiping to dead nodes, to give them chance to refute their
3785# death. Uses memberlist LAN defaults if 0.3799# death.
3786# CLI flag: -memberlist.gossip-to-dead-nodes-time3800# CLI flag: -memberlist.gossip-to-dead-nodes-time
3787[gossip_to_dead_nodes_time: <duration> | default = 0s]3801[gossip_to_dead_nodes_time: <duration> | default = 30s]
37883802
3789# How soon can dead node's name be reclaimed with new address. Defaults to 0,3803# How soon can dead node's name be reclaimed with new address. 0 to disable.
3790# which is disabled.
3791# CLI flag: -memberlist.dead-node-reclaim-time3804# CLI flag: -memberlist.dead-node-reclaim-time
3792[dead_node_reclaim_time: <duration> | default = 0s]3805[dead_node_reclaim_time: <duration> | default = 0s]
37933806
3807# Enable message compression. This can be used to reduce bandwidth usage at the
3808# cost of slightly more CPU utilization.
3809# CLI flag: -memberlist.compression-enabled
3810[compression_enabled: <boolean> | default = true]
3811
3794# Other cluster members to join. Can be specified multiple times. It can be an3812# Other cluster members to join. Can be specified multiple times. It can be an
3795# IP, hostname or an entry specified in the DNS Service Discovery format (see3813# IP, hostname or an entry specified in the DNS Service Discovery format.
3796# https://cortexmetrics.io/docs/configuration/arguments/#dns-service-discovery
3797# for more details).
3798# CLI flag: -memberlist.join3814# CLI flag: -memberlist.join
3799[join_members: <list of string> | default = []]3815[join_members: <list of string> | default = []]
38003816
@@ -4043,11 +4059,9 @@ The `limits_config` configures default and per-tenant limits imposed by Cortex s
4043[max_chunks_per_query: <int> | default = 2000000]4059[max_chunks_per_query: <int> | default = 2000000]
40444060
4045# Maximum number of chunks that can be fetched in a single query from ingesters4061# Maximum number of chunks that can be fetched in a single query from ingesters
4046# and long-term storage: the total number of actual fetched chunks could be 2x4062# and long-term storage. This limit is enforced in the querier, ruler and
4047# the limit, being independently applied when querying ingesters and long-term4063# store-gateway. Takes precedence over the deprecated -store.query-chunk-limit.
4048# storage. This limit is enforced in the ingester (if chunks streaming is4064# 0 to disable.
4049# enabled), querier, ruler and store-gateway. Takes precedence over the
4050# deprecated -store.query-chunk-limit. 0 to disable.
4051# CLI flag: -querier.max-fetched-chunks-per-query4065# CLI flag: -querier.max-fetched-chunks-per-query
4052[max_fetched_chunks_per_query: <int> | default = 0]4066[max_fetched_chunks_per_query: <int> | default = 0]
40534067
@@ -4169,7 +4183,7 @@ The `limits_config` configures default and per-tenant limits imposed by Cortex s
4169# is given in JSON format. Rate limit has the same meaning as4183# is given in JSON format. Rate limit has the same meaning as
4170# -alertmanager.notification-rate-limit, but only applies for specific4184# -alertmanager.notification-rate-limit, but only applies for specific
4171# integration. Allowed integration names: webhook, email, pagerduty, opsgenie,4185# integration. Allowed integration names: webhook, email, pagerduty, opsgenie,
4172# wechat, slack, victorops, pushover.4186# wechat, slack, victorops, pushover, sns.
4173# CLI flag: -alertmanager.notification-rate-limit-per-integration4187# CLI flag: -alertmanager.notification-rate-limit-per-integration
4174[alertmanager_notification_rate_limit_per_integration: <map of string to float64> | default = {}]4188[alertmanager_notification_rate_limit_per_integration: <map of string to float64> | default = {}]
41754189
@@ -4751,6 +4765,11 @@ bucket_store:
4751 # CLI flag: -blocks-storage.bucket-store.index-cache.memcached.max-item-size4765 # CLI flag: -blocks-storage.bucket-store.index-cache.memcached.max-item-size
4752 [max_item_size: <int> | default = 1048576]4766 [max_item_size: <int> | default = 1048576]
47534767
4768 # Use memcached auto-discovery mechanism provided by some cloud provider
4769 # like GCP and AWS
4770 # CLI flag: -blocks-storage.bucket-store.index-cache.memcached.auto-discovery
4771 [auto_discovery: <boolean> | default = false]
4772
4754 chunks_cache:4773 chunks_cache:
4755 # Backend for chunks cache, if not empty. Supported values: memcached.4774 # Backend for chunks cache, if not empty. Supported values: memcached.
4756 # CLI flag: -blocks-storage.bucket-store.chunks-cache.backend4775 # CLI flag: -blocks-storage.bucket-store.chunks-cache.backend
@@ -4798,6 +4817,11 @@ bucket_store:
4798 # CLI flag: -blocks-storage.bucket-store.chunks-cache.memcached.max-item-size4817 # CLI flag: -blocks-storage.bucket-store.chunks-cache.memcached.max-item-size
4799 [max_item_size: <int> | default = 1048576]4818 [max_item_size: <int> | default = 1048576]
48004819
4820 # Use memcached auto-discovery mechanism provided by some cloud provider
4821 # like GCP and AWS
4822 # CLI flag: -blocks-storage.bucket-store.chunks-cache.memcached.auto-discovery
4823 [auto_discovery: <boolean> | default = false]
4824
4801 # Size of each subrange that bucket object is split into for better caching.4825 # Size of each subrange that bucket object is split into for better caching.
4802 # CLI flag: -blocks-storage.bucket-store.chunks-cache.subrange-size4826 # CLI flag: -blocks-storage.bucket-store.chunks-cache.subrange-size
4803 [subrange_size: <int> | default = 16000]4827 [subrange_size: <int> | default = 16000]
@@ -4863,6 +4887,11 @@ bucket_store:
4863 # CLI flag: -blocks-storage.bucket-store.metadata-cache.memcached.max-item-size4887 # CLI flag: -blocks-storage.bucket-store.metadata-cache.memcached.max-item-size
4864 [max_item_size: <int> | default = 1048576]4888 [max_item_size: <int> | default = 1048576]
48654889
4890 # Use memcached auto-discovery mechanism provided by some cloud provider
4891 # like GCP and AWS
4892 # CLI flag: -blocks-storage.bucket-store.metadata-cache.memcached.auto-discovery
4893 [auto_discovery: <boolean> | default = false]
4894
4866 # How long to cache list of tenants in the bucket.4895 # How long to cache list of tenants in the bucket.
4867 # CLI flag: -blocks-storage.bucket-store.metadata-cache.tenants-list-ttl4896 # CLI flag: -blocks-storage.bucket-store.metadata-cache.tenants-list-ttl
4868 [tenants_list_ttl: <duration> | default = 15m]4897 [tenants_list_ttl: <duration> | default = 15m]
@@ -5176,12 +5205,12 @@ sharding_ring:
5176 # CLI flag: -compactor.ring.multi.mirror-timeout5205 # CLI flag: -compactor.ring.multi.mirror-timeout
5177 [mirror_timeout: <duration> | default = 2s]5206 [mirror_timeout: <duration> | default = 2s]
51785207
5179 # Period at which to heartbeat to the ring.5208 # Period at which to heartbeat to the ring. 0 = disabled.
5180 # CLI flag: -compactor.ring.heartbeat-period5209 # CLI flag: -compactor.ring.heartbeat-period
5181 [heartbeat_period: <duration> | default = 5s]5210 [heartbeat_period: <duration> | default = 5s]
51825211
5183 # The heartbeat timeout after which compactors are considered unhealthy within5212 # The heartbeat timeout after which compactors are considered unhealthy within
5184 # the ring.5213 # the ring. 0 = never (timeout disabled).
5185 # CLI flag: -compactor.ring.heartbeat-timeout5214 # CLI flag: -compactor.ring.heartbeat-timeout
5186 [heartbeat_timeout: <duration> | default = 1m]5215 [heartbeat_timeout: <duration> | default = 1m]
51875216
@@ -5197,6 +5226,10 @@ sharding_ring:
5197 # Name of network interface to read address from.5226 # Name of network interface to read address from.
5198 # CLI flag: -compactor.ring.instance-interface-names5227 # CLI flag: -compactor.ring.instance-interface-names
5199 [instance_interface_names: <list of string> | default = [eth0 en0]]5228 [instance_interface_names: <list of string> | default = [eth0 en0]]
5229
5230 # Timeout for waiting on compactor to become ACTIVE in the ring.
5231 # CLI flag: -compactor.ring.wait-active-instance-timeout
5232 [wait_active_instance_timeout: <duration> | default = 10m]
5200```5233```
52015234
5202### `store_gateway_config`5235### `store_gateway_config`
@@ -5250,13 +5283,13 @@ sharding_ring:
5250 # CLI flag: -store-gateway.sharding-ring.multi.mirror-timeout5283 # CLI flag: -store-gateway.sharding-ring.multi.mirror-timeout
5251 [mirror_timeout: <duration> | default = 2s]5284 [mirror_timeout: <duration> | default = 2s]
52525285
5253 # Period at which to heartbeat to the ring.5286 # Period at which to heartbeat to the ring. 0 = disabled.
5254 # CLI flag: -store-gateway.sharding-ring.heartbeat-period5287 # CLI flag: -store-gateway.sharding-ring.heartbeat-period
5255 [heartbeat_period: <duration> | default = 15s]5288 [heartbeat_period: <duration> | default = 15s]
52565289
5257 # The heartbeat timeout after which store gateways are considered unhealthy5290 # The heartbeat timeout after which store gateways are considered unhealthy
5258 # within the ring. This option needs be set both on the store-gateway and5291 # within the ring. 0 = never (timeout disabled). This option needs be set both
5259 # querier when running in microservices mode.5292 # on the store-gateway and querier when running in microservices mode.
5260 # CLI flag: -store-gateway.sharding-ring.heartbeat-timeout5293 # CLI flag: -store-gateway.sharding-ring.heartbeat-timeout
5261 [heartbeat_timeout: <duration> | default = 1m]5294 [heartbeat_timeout: <duration> | default = 1m]
52625295
diff --git a/docs/configuration/v1-guarantees.md b/docs/configuration/v1-guarantees.md
index 8c87104..3af5dd4 100644
--- a/docs/configuration/v1-guarantees.md
+++ b/docs/configuration/v1-guarantees.md
@@ -81,3 +81,17 @@ Currently experimental features are:
81 - user config size (`-alertmanager.max-config-size-bytes`)81 - user config size (`-alertmanager.max-config-size-bytes`)
82 - templates count in user config (`-alertmanager.max-templates-count`)82 - templates count in user config (`-alertmanager.max-templates-count`)
83 - max template size (`-alertmanager.max-template-size-bytes`)83 - max template size (`-alertmanager.max-template-size-bytes`)
84- Disabling ring heartbeat timeouts
85 - `-distributor.ring.heartbeat-timeout=0`
86 - `-ring.heartbeat-timeout=0`
87 - `-ruler.ring.heartbeat-timeout=0`
88 - `-alertmanager.sharding-ring.heartbeat-timeout=0`
89 - `-compactor.ring.heartbeat-timeout=0`
90 - `-store-gateway.sharding-ring.heartbeat-timeout=0`
91- Disabling ring heartbeats
92 - `-distributor.ring.heartbeat-period=0`
93 - `-ingester.heartbeat-period=0`
94 - `-ruler.ring.heartbeat-period=0`
95 - `-alertmanager.sharding-ring.heartbeat-period=0`
96 - `-compactor.ring.heartbeat-period=0`
97 - `-store-gateway.sharding-ring.heartbeat-period=0`
diff --git a/docs/contributing/how-to-add-a-maintainer.md b/docs/contributing/how-to-add-a-maintainer.md
index 0bc9407..d428bcd 100644
--- a/docs/contributing/how-to-add-a-maintainer.md
+++ b/docs/contributing/how-to-add-a-maintainer.md
@@ -5,7 +5,7 @@ weight: 10
5slug: how-to-add-a-maintainer5slug: how-to-add-a-maintainer
6---6---
77
8New maintainers are proposed by an existing maintainer and are elected by [majority vote](./_index.md#changes-in-maintainership). Once the vote passed, the following steps should be done to add a new member to the maintainers team:8New maintainers are proposed by an existing maintainer and are elected by [majority vote](./governance.md#voting). Once the vote passed, the following steps should be done to add a new member to the maintainers team:
99
101. Submit a PR to add the new member to `MAINTAINERS`101. Submit a PR to add the new member to `MAINTAINERS`
112. Invite to [GitHub organization](https://github.com/orgs/cortexproject/people)112. Invite to [GitHub organization](https://github.com/orgs/cortexproject/people)
diff --git a/docs/contributing/how-to-upgrade-golang-version.md b/docs/contributing/how-to-upgrade-golang-version.md
index f1c630d..9c700d5 100644
--- a/docs/contributing/how-to-upgrade-golang-version.md
+++ b/docs/contributing/how-to-upgrade-golang-version.md
@@ -14,6 +14,7 @@ To upgrade the Golang version:
14 - Update the Docker image tag in `.github/workflows/*`14 - Update the Docker image tag in `.github/workflows/*`
152. Upgrade integration tests version152. Upgrade integration tests version
16 - Update the Golang version installed in the `integration` job in `.github/workflows/*`16 - Update the Golang version installed in the `integration` job in `.github/workflows/*`
173. Upgrade the reference to the latest build image called `LATEST_BUILD_IMAGE_TAG` in `Makefile`
1718
18If the minimum support Golang version should be upgraded as well:19If the minimum support Golang version should be upgraded as well:
1920
diff --git a/docs/guides/authentication-and-authorisation.md b/docs/guides/authentication-and-authorisation.md
index 423a7db..7a742b8 100644
--- a/docs/guides/authentication-and-authorisation.md
+++ b/docs/guides/authentication-and-authorisation.md
@@ -15,12 +15,19 @@ of protection.
15Typically this means you run Cortex behind a reverse proxy, and you must15Typically this means you run Cortex behind a reverse proxy, and you must
16ensure that all callers, both machines sending data over the `remote_write`16ensure that all callers, both machines sending data over the `remote_write`
17interface and humans sending queries from GUIs, supply credentials17interface and humans sending queries from GUIs, supply credentials
18which identify them and confirm they are authorised.18which identify them and confirm they are authorised. When configuring the
1919`remote_write` API in Prometheus, the user and password fields of http Basic
20When configuring the `remote_write` API in Prometheus there is no way to20auth, or Bearer token, can be used to convey the tenant ID and/or credentials.
21add extra headers. The user and password fields of http Basic auth, or21See the [Cortex-Tenant](#cortex-tenant) section below for one way to solve this.
22Bearer token, can be used to convey the tenant ID and/or credentials.22
23See the **Cortex-Tenant** section below for one way to solve this.23In trusted environments, Prometheus can send the `X-Scope-OrgID` header itself
24by configuring the `headers` field in its [`remote_write` configuration](https://prometheus.io/docs/prometheus/latest/configuration/configuration/#remote_write):
25```
26remote_write:
27 - url: http://<cortex>/prometheus/api/v1/push
28 headers:
29 X-Scope-OrgID: <org>
30```
2431
25To disable the multi-tenant functionality, you can pass the argument32To disable the multi-tenant functionality, you can pass the argument
26`-auth.enabled=false` to every Cortex component, which will set the OrgID33`-auth.enabled=false` to every Cortex component, which will set the OrgID
diff --git a/docs/guides/security.md b/docs/guides/security.md
27new file mode 10064434new file mode 100644
index 0000000..9659271
--- /dev/null
+++ b/docs/guides/security.md
@@ -0,0 +1,12 @@
1---
2title: "Security"
3linkTitle: "Security"
4weight: 10
5slug: security
6---
7
8Cortex must be deployed with due care over system configuration, using principles such as "least privilege" to limit any exposure due to flaws in the source code.
9
10You must configure authorisation and authentication externally to Cortex; see [this guide](./authentication-and-authorisation.md)
11
12Information about security disclosures and mailing lists is [in the main repo](https://github.com/cortexproject/cortex/blob/master/SECURITY.md)
diff --git a/docs/guides/zone-replication.md b/docs/guides/zone-replication.md
index 56abf3a..a2254d3 100644
--- a/docs/guides/zone-replication.md
+++ b/docs/guides/zone-replication.md
@@ -30,7 +30,7 @@ The Cortex time-series replication is used to hold multiple (typically 3) replic
3030
31The `-distributor.shard-by-all-labels` setting has an impact on read availability. When enabled, a metric is sharded across all ingesters and querier needs to fetch series from all ingesters while, when disabled, a metric is sharded only across `<replication factor>` ingesters.31The `-distributor.shard-by-all-labels` setting has an impact on read availability. When enabled, a metric is sharded across all ingesters and querier needs to fetch series from all ingesters while, when disabled, a metric is sharded only across `<replication factor>` ingesters.
3232
33In the event of a large outage impacting ingesters in more than 1 zone, when `-distributor.shard-by-all-labels=true` all queries will fail, while when disabled some queries may still succeed if the ingesters holding the required metric are not impacted by the outage.33In the event of a large outage impacting ingesters in more than 1 zone, when `-distributor.shard-by-all-labels=true` all queries will fail, while when disabled some queries may still succeed if the ingesters holding the required metric are not impacted by the outage. To learn more about this flag, please refer to [distributor arguments](../configuration/arguments.md#distributor).
3434
35## Store-gateways: blocks replication35## Store-gateways: blocks replication
3636
diff --git a/docs/proposals/block-storage-time-series-deletion.md b/docs/proposals/block-storage-time-series-deletion.md
37new file mode 10064437new file mode 100644
index 0000000..20d7a34
--- /dev/null
+++ b/docs/proposals/block-storage-time-series-deletion.md
@@ -0,0 +1,255 @@
1---
2title: "Time Series Deletion from Blocks Storage"
3linkTitle: "Time Series Deletion from Blocks Storage"
4weight: 1
5slug: block-storage-time-series-deletion
6---
7
8- Author: [Ilan Gofman](https://github.com/ilangofman)
9- Date: June 2021
10- Status: Proposal
11
12## Problem
13
14Currently, Cortex only implements a time series deletion API for chunk storage. We present a design for implementing time series deletion with block storage. We would like to have the same API for deleting series as currently implemented in Prometheus and in Cortex with chunk storage.
15
16
17This can be very important for users to have as confidential or accidental data might have been incorrectly pushed and needs to be removed. As well as potentially removing high cardinality data that is causing inefficient queries.
18
19## Related works
20
21As previously mentioned, the deletion feature is already implemented with chunk storage. The main functionality is implemented through the purger service. It accepts requests for deletion and processes them. At first, when a deletion request is made, a tombstone is created. This is used to filter out the data for queries. After some time, a deletion plan is executed where the data is permanently removed from chunk storage.
22
23Can find more info here:
24
25- [Cortex documentation for chunk store deletion](https://cortexmetrics.io/docs/guides/deleting-series/)
26- [Chunk deletion proposal](https://docs.google.com/document/d/1PeKwP3aGo3xVrR-2qJdoFdzTJxT8FcAbLm2ew_6UQyQ/edit)
27
28
29
30## Background on current storage
31
32With a block-storage configuration, Cortex stores data that could be potentially deleted by a user in:
33
34- Object store (GCS, S3, etc..) for long term storage of blocks
35- Ingesters for more recent data that should be eventually transferred to the object store
36- Cache
37 - Index cache
38 - Metadata cache
39 - Chunks cache (stores the potentially to be deleted data)
40 - Query results cache (stores the potentially to be deleted data)
41- Compactor during the compaction process
42- Store-gateway
43
44
45## Proposal
46
47The deletion will not happen right away. Initially, the data will be filtered out from queries using tombstones and will be deleted afterward. This will allow the user some time to cancel the delete request.
48
49### API Endpoints
50
51The existing purger service will be used to process the incoming requests for deletion. The API will follow the same structure as the chunk storage endpoints for deletion, which is also based on the Prometheus deletion API.
52
53This will enable the following endpoints for Cortex when using block storage:
54
55`POST /api/v1/admin/tsdb/delete_series` - Accepts [Prometheus style delete request](https://prometheus.io/docs/prometheus/latest/querying/api/#delete-series) for deleting series.
56
57Parameters:
58
59- `start=<rfc3339 | unix_timestamp>`
60 - Optional. If not provided, will be set to minimum possible time.
61- `end=<rfc3339 | unix_timestamp> `
62 - Optional. If not provided, will be set to maximum possible time (time when request was made). End time cannot be greater than the current UTC time.
63- `match[]=<series_selector>`
64 - Cannot be empty, must contain at least one label matcher argument.
65
66
67`POST /api/v1/admin/tsdb/cancel_delete_request` - To cancel a request if it has not been processed yet for permanent deletion. This can only be done before the `-purger.delete-request-cancel-period` has passed.
68Parameters:
69
70- `request_id`
71
72`GET /api/v1/admin/tsdb/delete_series` - Get all delete requests id’s and their current status.
73
74Prometheus also implements a [clean_tombstones](https://prometheus.io/docs/prometheus/latest/querying/api/#clean-tombstones) API which is not included in this proposal. The tombstones will be deleted automatically once the permanent deletion has taken place which is described in the section below. By default, this should take approximately 24 hours.
75
76### Deletion Lifecycle
77
78The deletion request lifecycle can follow these 3 states:
79
801. Pending - Tombstone file is created. During this state, the queriers will be performing query time filtering. The initial time period configured by `-purger.delete-request-cancel-period`, no data will be deleted. Once this period is over, permanent deletion processing will begin and the request is no longer cancellable.
812. Processed - All requested data has been deleted. Initially, will still need to do query time filtering while waiting for the bucket index and store-gateway to pick up the new blocks. Once that period has passed, will no longer require any query time filtering.
823. Deleted - The deletion request was cancelled. A grace period configured by `-purger.delete-request-cancel-period` will allow the user some time to cancel the deletion request if it was made by mistake. The request is no longer cancelable after this period has passed.
83
84
85
86### Filtering data during queries while not yet deleted:
87
88Once a deletion request is received, a tombstone entry will be created. The object store such as S3, GCS, Azure storage, can be used to store all the deletion requests. See the section below for more detail on how the tombstones will be stored. Using the tombstones, the querier will be able to filter the to-be-deleted data initially. If a cancel delete request is made, then the tombstone file will be deleted. In addition, the existing cache will be invalidated using cache generation numbers, which are described in the later sections.
89
90The compactor's _BlocksCleaner_ service will scan for new tombstone files and will update the bucket-index with the tombstone information regarding the deletion requests. This will enable the querier to periodically check the bucket index if there are any new tombstone files that are required to be used for filtering. One drawback of this approach is the time it could take to start filtering the data. Since the compactor will update the bucket index with the new tombstones every `-compactor.cleanup-interval` (default 15 min). Then the cached bucket index is refreshed in the querier every `-blocks-storage.bucket-store.sync-interval` (default 15 min). Potentially could take almost 30 min for queriers to start filtering deleted data when using the default values. If the information requested for deletion is confidential/classified, the time delay is something that the user should be aware of, in addition to the time that the data has already been in Cortex.
91
92An additional thing to consider is that this would mean that the bucket-index would have to be enabled for this API to work. Since the plan is to make to the bucket-index mandatory in the future for block storage, this shouldn't be an issue.
93
94Similar to the chunk storage deletion implementation, the initial filtering of the deleted data will be done inside the Querier. This will allow filtering the data read from both the store gateway and the ingester. This functionality already exists for the chunk storage implementation. By implementing it in the querier, this would mean that the ruler will be supported too (ruler internally runs the querier).
95
96#### Storing tombstones in object store
97
98
99The Purger will write the new tombstone entries in a separate folder called `tombstones` in the object store (e.g. S3 bucket) in the respective tenant folder. Each tombstone can have a separate JSON file outlining all the necessary information about the deletion request such as the parameters passed in the request, as well as some meta-data such as the creation date of the file. The name of the file can be a hash of the API parameters (start, end, markers). This way if a user calls the API twice by accident with the same parameters, it will only create one tombstone. To keep track of the request state, filename extensions can be used. This will allow the tombstone files to be immutable. The 3 different file extensions will be `pending, processed, deleted`. Each time the deletion request moves to a new state, a new file will be added with the same deletion information but a different extension to indicate the new state. The file containing the previous state will be deleted once the new one is created. If a deletion request is cancelled, then a tombstone file with the `.deleted` filename extension will be created.
100
101When it is determined that the request should move to the next state, then it will first write a new file containing the tombstone information to the object store. The information inside the file will be the same except the `stateCreationTime`, which is replaced with the current timestamp. The extension of the new file will be different to reflect the new state. If the new file is successfully written, the file with the previous state is deleted. If the write of the new file fails, then the previous file is not going to be deleted. Next time the service runs to check the state of each tombstone, it will retry creating the new file with the updated state. If the write is successful but the deletion of the old file is unsuccessful then there will be 2 tombstone files with the same filename but different extension. When `BlocksCleaner` writes the tombstones to the bucket index, the compactor will check for duplicate tombstone files but with different extensions. It will use the tombstone with the most recently updated state and try to delete the file with the older state. There could be a scenario where there are two files with the same request ID but different extensions: {`.pending`, `.processed`} or {`.pending`, `.deleted`}. In this case, the `.processed` or `.deleted ` file will be selected as it is always the later state compared to the `pending` state.
102
103The tombstone will be stored in a single JSON file per request and state:
104
105- `/<tenantId>/tombstones/<request_id>.json.<state>`
106
107
108The schema of the JSON file is:
109
110
111```
112{
113 "requestId": <string>,
114 "startTime": <int>,
115 "endTime": <int>,
116 "requestCreationTime": <int>,
117 "stateCreationTime": <int>,
118 "matchers": [
119 "<string matcher 1>",
120 ..,
121 "<string matcher n>"
122 ]
123 },
124 "userID": <string>,
125}
126```
127
128
129Pros:
130- Allows deletion and un-delete to be done in a single operation.
131
132Cons:
133
134- Negative impact on query performance when there are active tombstones. As in the chunk storage implementation, all the series will have to be compared to the matchers contained in the active tombstone files. The impact on performance should be the same as the deletion would have with chunk storage.
135
136- With the default config, potential 30 minute wait for the data to begin filtering if using the default configuration.
137
138#### Invalidating cache
139
140Using block store, the different caches available are:
141- Index cache
142- Metadata cache
143- Chunks cache (stores the potentially to be deleted chunks of data)
144- Query results cache (stores the potentially to be deleted data)
145
146There are two potential caches that could contain deleted data, the chunks cache, and the query results cache. Using the tombstones, the queriers filter out the data received from the ingesters and store-gateway. The cache not being processed through the querier needs to be invalidated to prevent deleted data from coming up in queries.
147
148Firstly, the query results cache needs to be invalidated for each new delete request or a cancellation of one. This can be accomplished by utilizing cache generation numbers. For each tenant, their cache is prefixed with a cache generation number. When the query front-end discovers a cache generation number that is greater than the previous generation number, then it knows to invalidate the query results cache. However, the cache can only be invalidated once the queriers have loaded the tombstones from the bucket index and have begun filtering the data. Otherwise, to-be deleted data might show up in queries and be cached again. One of the way to guarantee that all the queriers are using the new tombstones is to wait until the bucket index staleness period has passed from the time the tombstones have been written to the bucket index. The staleness period can be configured using the following flag: `-blocks-storage.bucket-store.bucket-index.max-stale-period`. We can use the bucket index staleness period as the delay to wait before the cache generation number is increased. A query will fail inside the querier, if the bucket index last update is older the staleness period. Once this period is over, all the queriers should have the updated tombstones and the query results cache can be invalidated. Here is the proposed method for accomplishing this:
149
150
151- The cache generation number will be a timestamp. The default value will be 0.
152- The bucket index will store the cache generation number. The query front-end will periodically fetch the bucket index.
153- Inside the compactor, the _BlocksCleaner_ will load the tombstones from object store and update the bucket index accordingly. It will calculate the cache generation number by iterating through all the tombstones and their respective times (next bullet point) and selecting the maximum timestamp that is less than (current time minus `-blocks-storage.bucket-store.bucket-index.max-stale-period`). This would mean that if a deletion request is made or cancelled, the compactor will only update the cache generation number once the staleness period is over, ensuring that all queriers have the updated tombstones.
154- For requests in a pending or processed state, the `requestCreationTime` will be used when comparing the maximum timestamps. If a request is in a deleted state, it will use the `stateCreationTime` for comparing the timestamps. This means that the cache gets invalidated only once it has been created or deleted, and the bucket index staleness period has passed. The cache will not be invalidated again when a request advances from pending to processed state.
155- The query front-end will fetch the cache generation number from the bucket index. The query front end will compare it to the current cache generation number stored in the front-end. If the cache generation number from the front-end is less than the one from bucket index, then the cache is invalidated.
156
157In regards to the chunks cache, since it is retrieved from the store gateway and passed to the querier, it will be filtered out like the rest of the time series data in the querier using the tombstones, with the mechanism described in the previous section.
158
159### Permanently deleting the data
160
161The proposed approach is to perform the deletions from the compactor. A new background service inside the compactor called _DeletedSeriesCleaner_ can be created and is responsible for executing the deletion.
162
163#### Processing
164
165
166This will happen after a grace period has passed once the API request has been made. By default this should be 24 hours. A background task can be created to process the permanent deletion of time series. This background task can be executed each hour.
167
168To delete the data from the blocks, the same logic as the [Bucket Rewrite Tool](https://thanos.io/tip/components/tools.md/#bucket-rewrite
169) from Thanos can be leveraged. This tool does the following: `tools bucket rewrite rewrites chosen blocks in the bucket, while deleting or modifying series`. The tool itself is a CLI tool that we won’t be using, but instead we can utilize the logic inside it. For more information about the way this tool runs, please see the code [here](https://github.com/thanos-io/thanos/blob/d8b21e708bee6d19f46ca32b158b0509ca9b7fed/cmd/thanos/tools_bucket.go#L809).
170
171The compactor’s _DeletedSeriesCleaner_ will apply this logic on individual blocks and each time it is run, it creates a new block without the data that matched the deletion request. The original individual blocks containing the data that was requested to be deleted, need to be marked for deletion by the compactor.
172
173While deleting the data permanently from the block storage, the `meta.json` files will be used to keep track of the deletion progress. Inside each `meta.json` file, we will add a new field called `tombstonesFiltered`. This will store an array of deletion request id's that were used to create this block. Once the rewrite logic is applied to a block, the new block's `meta.json` file will append the deletion request id(s) used for the rewrite operation inside this field. This will let the _DeletedSeriesCleaner_ know that this block has already processed the particular deletions requests listed in this field. Assuming that the deletion requests are quite rare, the size of the meta.json files should remain small.
174
175The _DeletedSeriesCleaner_ can iterate through all the blocks that the deletion request could apply to. For each of these blocks, if the deletion request ID isn't inside the meta.json `tombstonesFiltered` field, then the compactor can apply the rewrite logic to this block. If there are multiple tombstones that are currently being processing for deletions and apply to a particular block, then the _DeletedSeriesCleaner_ will process both at the same time to prevent additional blocks from being created. If after iterating through all the blocks, it doesn’t find any such blocks requiring deletion, then the `Pending` state is complete and the request progresses to the `Processed` state.
176
177One important thing to note regarding this rewrite tool is that it should not be used at the same time as when another compactor is touching a block. If the tool is run at the same time as compaction on a particular block, it can cause overlap and the data marked for deletion can already be part of the compacted block. To mitigate such issues, these are some of the proposed solutions:
178
179Option 1: Only apply the deletion once the blocks are in the final state of compaction.
180
181Pros:
182- Simpler implementation as everything is contained within the DeletedSeriesCleaner.
183
184Cons:
185- Might have to wait for a longer period of time for the compaction to be finished.
186 - This would mean the earliest time to be able to run the deletion would be once the last time from the block_ranges in the [compactor_config](https://cortexmetrics.io/docs/blocks-storage/compactor/#compactor-configuration) has passed. By default this value is 24 hours, so only once 24 hours have passed and the new compacted blocks have been created, then the rewrite can be safely run.
187
188
189
190
191Option 2: For blocks that still need to be compacted further after the deletion request cancel period is over, the deletion logic can be applied before the blocks are compacted. This will generate a new block which can then be used instead for compaction with other blocks.
192
193Pros:
194- The deletion can be applied earlier than the previous options.
195 - Only applies if the deletion request cancel period is less than the last time interval for compaction is.
196Cons:
197- Added coupling between the compaction and the DeletedSeriesCleaner.
198- Might block compaction for a short time while doing the deletion.
199
200
201
202Once all the applicable blocks have been rewritten without the deleted data, the deletion request state moves to the `Processed` state. Once in this state, the queriers will still have to perform query time filtering using the tombstones until the old blocks that were marked for deletion are no longer queried by the queriers. This will mean that the query time filtering will last for an additional length of `-compactor.deletion-delay + -compactor.cleanup-interval + -blocks-storage.bucket-store.sync-interval` in the `Processed` state. Once that time period has passed, the queriers should no longer be querying any of the old blocks that were marked for deletion. The tombstone will no longer be used after this.
203
204
205#### Cancelled Delete Requests
206
207If a request was successfully cancelled, then a tombstone file a `.deleted` extension is created. This is done to help ensure that the cache generation number is updated and the query results cache is invalidated. The compactor's blocks cleaner can take care of cleaning up `.deleted` tombstones after a period of time of when they are no longer required for cache invalidation. This can be done after 10 times the bucket index max staleness time period has passed. Before removing the file from the object store, the current cache generation number must greater than or equal to when the tombstone was cancelled.
208
209#### Handling failed/unfinished delete jobs:
210
211Deletions will be completed and the tombstones will be deleted only when the DeletedSeriesCleaner iterates over all blocks that match the time interval and confirms that they have been re-written without the deleted data. Otherwise, it will keep iterating over the blocks and process the blocks that haven't been rewritten according to the information in the `meta.json` file. In case of any failure that causes the deletion to stop, any unfinished deletions will be resumed once the service is restarted. If the block rewrite was not completed on a particular block, then the original block will not be marked for deletion. The compactor will continue to iterate over the blocks and process the block again.
212
213
214#### Tenant Deletion API
215
216If a request is made to delete a tenant, then all the tombstones will be deleted for that user.
217
218
219## Current Open Questions:
220
221- If the start and end time is very far apart, it might result in a lot of the data being re-written. Since we create a new block without the deleted data and mark the old one for deletion, there may be a period of time with lots of extra blocks and space used for large deletion queries.
222- There will be a delay between the deletion request and the deleted data being filtered during queries.
223 - In Prometheus, there is no delay.
224 - One way to filter out immediately is to load the tombstones during query time but this will cause a negative performance impact.
225- Adding limits to the API such as:
226 - Max number of deletion requests allowed in the last 24 hours for a given tenent.
227 - Max number of pending tombstones for a given tenant.
228
229
230## Alternatives Considered
231
232
233#### Adding a Pre-processing State
234
235The process of permanently deleting the data can be separated into 2 stages, preprocessing and processing.
236
237Pre-processing will begin after the `-purger.delete-request-cancel-period` has passed since the API request has been made. The deletion request will move to a new state called `BuildingPlan`. The compactor will outline all the blocks that may contain data to be deleted. For each separate block that the deletion may be applicable to, the compactor will begin the process by adding a series deletion marker inside the series-deletion-marker.json file. The JSON file will contain an array of deletion request id's that need to be applied to the block, which allows the ability to handle the situation when there are multiple tombstones that could be applicable to a particular block. Then during the processing step, instead of checking the meta.json file, we only need to check if a marker file exists with a specific deletion request id. If the marker file exists, then we apply the rewrite logic.
238
239#### Alternative Permanent Deletion Processing
240
241For processing the actual deletions, an alternative approach is not to wait until the final compaction has been completed and filter out the data during compaction. If the data is marked to be deleted, then don’t include it the new bigger block during compaction. For the remaining blocks where the data wasn’t filtered during compaction, the deletion can be done the same as in the previous section.
242
243Pros:
244
245- The deletion can happen sooner.
246- The rewrite tools creates additional blocks. By filtering the metrics during compaction, the intermediary re-written block will be avoided.
247
248Cons:
249
250- A more complicated implementation requiring add more logic to the compactor
251- Slower compaction if it needs to filter all the data
252- Need to manage which blocks should be deleted with the rewrite vs which blocks already had data filtered during compaction.
253- Would need to run the rewrite logic during and outside of compaction because some blocks that might need to be deleted are already in the final compaction state. So that would mean the deletion functionality has to be implemented in multiple places.
254- Won’t be leveraging the rewrites tools from Thanos for all the deletion, so potentially more work is duplicated
255
diff --git a/docs/proposals/parallel-compaction.md b/docs/proposals/parallel-compaction.md
0new file mode 100644256new file mode 100644
index 0000000..ee20dbd
--- /dev/null
+++ b/docs/proposals/parallel-compaction.md
@@ -0,0 +1,67 @@
1---
2title: "Parallel Compaction by Time Interval"
3linkTitle: "Parallel Compaction by Time Interval"
4weight: 1
5slug: parallel-compaction
6---
7
8- Author: [Roy Chiang](https://github.com/roystchiang)
9- Date: May 2021
10- Status: Proposed
11---
12
13## Introduction
14As a part of pushing Cortex’s scaling capability at AWS, we have done performance testing with Cortex and found the compactor to be one of the main limiting factors for higher active timeseries limit per tenant. The documentation [Compactor](https://cortexmetrics.io/docs/blocks-storage/compactor/#how-compaction-works) describes the responsibilities of a compactor, and this proposal focuses on the limitations of the current compactor architecture. In the current architecture, compactor has simple sharding, meaning that a single tenant is sharded to a single compactor. The compactor generates compaction groups, which are groups of Prometheus TSDB blocks that can be compacted together, independently of another group. However, a compactor currnetly handles compaction groups of a single tenant iteratively, meaning that blocks belonging non-overlapping times are not compacted in parallel.
15
16Cortex ingesters are responsible for uploading TSDB blocks with data emitted by a tenant. These blocks are considered as level-1 blocks, as they contain duplicate timeseries for the same time interval, depending on the replication factor. [Vertical compaction](https://cortexmetrics.io/docs/blocks-storage/compactor/#how-compaction-works) is done to merge all the blocks with the same time interval and deduplicate the samples. These merged blocks are level-2 blocks. Subsequent compactions such as horizontal compaction can happen, further increasing the compaction level of the blocks.
17
18### Problem and Requirements
19Currently, a compactor is able to compact up to 20M timeseries within 2 hours for a level-2 compaction, including the time to download blocks, compact, and upload the newly compacted block. We would like to increase the timeseries limit per tenant, and compaction is one of the limiting factors. In addition, we would like to achieve the following:
20
21* Compact multiple non-overlapping time intervals concurrently, so we can achieve higher throughput for the compaction of a single tenant
22* We should be able to scale up, down compactor as needed, depending on how many compactions are pending
23* Insight into the compaction progress of a tenant, such as the number of compactions required in order to catch up to the newest blocks
24
25## Design
26
27We accept the fact that a single compaction can potentially take more than 2 hours to compact, and we achieve higher compaction throughput through horizontally scaling the compactor. To compact more blocks in parallel for a single tenant, we distribute the compaction groups to compactors, instead of introducing more parallelism within a compactor.
28
29### Parallelize Work
30
31This proposal builds heavily on top of the [GrafanaLabs approach of introducing parallelism via time intervals](https://github.com/cortexproject/cortex/pull/2616). The difference being that a single tenant is now sharded across multiple compactors instead of just a single compactor. The initial approach will be to work on distinct time intervals, but the compactor planner can be later extended to introduce parallelism within a time interval as well.
32
33The following is an example of parallelize work at each level:
34
35![Parallel Compaction Grouping](/images/proposals/parallel-compaction-grouping.png)
36
37Compactors are shuffle-sharded, meaning that 1 tenant can belong to multiple compactors, and these subset of compactors determine which blocks should be compacted together. Compactors determine amongst themselves the responsibility of the compaction blocks, by using a hash of time interval and tenant id, and putting it on the sharding ring.
38
39The benefit of this approach is that this aligns with what Cortex currently does in Ruler. The downside is that a compaction job can only be assigned to a single compactor, rather than all of the compactors sharded for the tenant. If a compaction job takes forever, other tenants sharded to the same compactor will be blocked until the issue is resolved. With the scheduler approach, any compactor assigned to a given tenant can pick up any work required.
40
41![Parallel Compaction Without Scheduler](/images/proposals/parallel-compaction-without-scheduler.png)
42
43## Scenarios
44
45### Bad block resulting in non-ideal compaction groups
46
47A Cortex operator configures the compaction block range as 2h and 6h. If a full 6-hour block cannot be compacted due to compaction failures, the compactor should not split up the group into subgroups, as this may cause suboptimal grouping of block. Cortex has full information regarding all the available blocks, so we should utilize this information to achieve the best compaction group possible.
48
49## Alternatives
50
51### Shard compaction jobs amongst compactors with a scheduler
52![Parallel Compaction Architecture](/images/proposals/parallel-compaction-design.png)
53
54We add a new component Compactor Scheduler, which is responsible for calculating the compaction plan, and distributing compaction groups to compactors. The planner is sharded by tenant id, so that we can horizontally scale the planner as needed in order to accept more tenants in the cortex cluster. A tenant will have two queues inside the planner, a compaction queue and a clean up queue, similar to how the query frontend currently holds queues of pending queries.
55
56Once a compactor scheduler pushes a job to a compactor, the job is no longer available. Every set interval, or once the compaction is done, a compactor will update the compactor schedule the current status of the compaction job. If a compactor does not provide an update to the scheduler within a timeout, the compaction job becomes available to be assigned to other compactors.
57
58#### Concurrency
59
60To achieve concurrency within a single tenant, compactor scheduler will push jobs to compactors. Compactors are shuffle-sharded by tenant id, to prevent a large tenant from impacting the compaction of other tenants. Compactor will download blocks from long term storage, compact, and upload. Compactor will also pull from the clean up queues from scheduler, and delete blocks marked for deletion.
61
62#### Consistency
63
64On resharding of compactor schedulers, a tenant might move to a different scheduler. We can either drop the current compactor job in order to prevent duplicate compaction jobs, or continue compaction. I propose that the compactor drops the compaction job if the compaction group no longer belongs to the original compactor scheduler. This way, we do not have duplicate compactions happening, and we can minimize work wasted.
65
66### Contribute to Thanos for a more scalable compactor
67Instead of introducing parallelism on the Cortex compactor level, we move the parallelism to the Thanos compactor itself. Thanos has a [proposal to make compactor more scalable](https://docs.google.com/document/d/1xi0V8DB0hE54XgkogJRnNL6yH7C5JThJywlLFoC6dCQ/), and a [PR](https://github.com/thanos-io/thanos/pull/3807). Cortex will enjoy higher throughput per tenant if Thanos is able to speed up the compaction, and we can keep the Cortex architecture the same. However, this approach means that a single tenant is still sharded to a single compactor. In order to compact more groups at once, we must scale up compactor vertically. Although vertical scaling can get us far, we should scale horizontally where we can.
diff --git a/go.mod b/go.mod
index 0b795d5..4d77a1d 100644
--- a/go.mod
+++ b/go.mod
@@ -3,39 +3,36 @@ module github.com/cortexproject/cortex
3go 1.163go 1.16
44
5require (5require (
6 cloud.google.com/go/bigtable v1.2.06 cloud.google.com/go/bigtable v1.3.0
7 cloud.google.com/go/storage v1.10.07 cloud.google.com/go/storage v1.10.0
8 github.com/Azure/azure-pipeline-go v0.2.28 github.com/Azure/azure-pipeline-go v0.2.3
9 github.com/Azure/azure-storage-blob-go v0.8.09 github.com/Azure/azure-storage-blob-go v0.13.0
10 github.com/Masterminds/squirrel v0.0.0-20161115235646-20f192218cf510 github.com/Masterminds/squirrel v0.0.0-20161115235646-20f192218cf5
11 github.com/NYTimes/gziphandler v1.1.111 github.com/NYTimes/gziphandler v1.1.1
12 github.com/alecthomas/units v0.0.0-20210208195552-ff826a37aa1512 github.com/alecthomas/units v0.0.0-20210208195552-ff826a37aa15
13 github.com/alicebob/miniredis/v2 v2.14.313 github.com/alicebob/miniredis/v2 v2.14.3
14 github.com/armon/go-metrics v0.3.614 github.com/aws/aws-sdk-go v1.40.45
15 github.com/aws/aws-sdk-go v1.38.35
16 github.com/bradfitz/gomemcache v0.0.0-20190913173617-a41fca850d0b15 github.com/bradfitz/gomemcache v0.0.0-20190913173617-a41fca850d0b
17 github.com/cespare/xxhash v1.1.016 github.com/cespare/xxhash v1.1.0
18 github.com/dustin/go-humanize v1.0.017 github.com/dustin/go-humanize v1.0.0
19 github.com/facette/natsort v0.0.0-20181210072756-2cd4dd1e2dcb18 github.com/facette/natsort v0.0.0-20181210072756-2cd4dd1e2dcb
20 github.com/felixge/fgprof v0.9.119 github.com/felixge/fgprof v0.9.1
21 github.com/fsouza/fake-gcs-server v1.7.020 github.com/fsouza/fake-gcs-server v1.7.0
22 github.com/go-kit/kit v0.10.021 github.com/go-kit/kit v0.12.0 // indirect
23 github.com/go-openapi/strfmt v0.20.122 github.com/go-kit/log v0.2.0
23 github.com/go-openapi/strfmt v0.20.2
24 github.com/go-openapi/swag v0.19.1524 github.com/go-openapi/swag v0.19.15
25 github.com/go-redis/redis/v8 v8.9.025 github.com/go-redis/redis/v8 v8.9.0
26 github.com/gocql/gocql v0.0.0-20200526081602-cd04bd7f22a726 github.com/gocql/gocql v0.0.0-20200526081602-cd04bd7f22a7
27 github.com/gogo/protobuf v1.3.227 github.com/gogo/protobuf v1.3.2
28 github.com/gogo/status v1.0.328 github.com/gogo/status v1.1.0
29 github.com/golang-migrate/migrate/v4 v4.7.029 github.com/golang-migrate/migrate/v4 v4.7.0
30 github.com/golang/protobuf v1.5.230 github.com/golang/protobuf v1.5.2
31 github.com/golang/snappy v0.0.331 github.com/golang/snappy v0.0.4
32 github.com/gorilla/mux v1.7.332 github.com/gorilla/mux v1.8.0
33 github.com/grpc-ecosystem/go-grpc-middleware v1.2.233 github.com/grafana/dskit v0.0.0-20210908150159-fcf48cb19aa4
34 github.com/hashicorp/consul/api v1.8.134 github.com/grpc-ecosystem/go-grpc-middleware v1.3.0
35 github.com/hashicorp/go-cleanhttp v0.5.135 github.com/json-iterator/go v1.1.12
36 github.com/hashicorp/go-sockaddr v1.0.2
37 github.com/hashicorp/memberlist v0.2.3
38 github.com/json-iterator/go v1.1.11
39 github.com/lib/pq v1.3.036 github.com/lib/pq v1.3.0
40 github.com/minio/minio-go/v7 v7.0.1037 github.com/minio/minio-go/v7 v7.0.10
41 github.com/mitchellh/go-wordwrap v1.0.038 github.com/mitchellh/go-wordwrap v1.0.0
@@ -45,28 +42,25 @@ require (
45 github.com/opentracing-contrib/go-stdlib v1.0.042 github.com/opentracing-contrib/go-stdlib v1.0.0
46 github.com/opentracing/opentracing-go v1.2.043 github.com/opentracing/opentracing-go v1.2.0
47 github.com/pkg/errors v0.9.144 github.com/pkg/errors v0.9.1
48 github.com/prometheus/alertmanager v0.22.1-0.20210603124511-8b584eb2265e45 github.com/prometheus/alertmanager v0.23.1-0.20210914172521-e35efbddb66a
49 github.com/prometheus/client_golang v1.10.046 github.com/prometheus/client_golang v1.11.0
50 github.com/prometheus/client_model v0.2.047 github.com/prometheus/client_model v0.2.0
51 github.com/prometheus/common v0.26.1-0.20210603143733-6ef301f414bf48 github.com/prometheus/common v0.30.0
52 github.com/prometheus/prometheus v1.8.2-0.20210510213326-e313ffa8abf649 github.com/prometheus/prometheus v1.8.2-0.20210914090109-37468d88dce8
53 github.com/segmentio/fasthash v0.0.0-20180216231524-a72b379d632e50 github.com/segmentio/fasthash v0.0.0-20180216231524-a72b379d632e
54 github.com/sony/gobreaker v0.4.151 github.com/sony/gobreaker v0.4.1
55 github.com/spf13/afero v1.2.252 github.com/spf13/afero v1.3.4
56 github.com/stretchr/testify v1.7.053 github.com/stretchr/testify v1.7.0
57 github.com/thanos-io/thanos v0.19.1-0.20210427154226-d5bd651319d254 github.com/thanos-io/thanos v0.22.0
58 github.com/uber/jaeger-client-go v2.28.0+incompatible55 github.com/uber/jaeger-client-go v2.29.1+incompatible
59 github.com/weaveworks/common v0.0.0-20210419092856-009d1eebd62456 github.com/weaveworks/common v0.0.0-20210901124008-1fa3f9fa874c
60 go.etcd.io/bbolt v1.3.557 go.etcd.io/bbolt v1.3.6
61 go.etcd.io/etcd v0.5.0-alpha.5.0.20200520232829-54ba9589114f58 go.uber.org/atomic v1.9.0
62 go.etcd.io/etcd/client/v3 v3.5.0-alpha.0.0.20210225194612-fa82d11a958a59 golang.org/x/net v0.0.0-20210917221730-978cfadd31cf
63 go.etcd.io/etcd/server/v3 v3.5.0-alpha.0.0.20210225194612-fa82d11a958a
64 go.uber.org/atomic v1.7.0
65 golang.org/x/net v0.0.0-20210525063256-abc453219eb5
66 golang.org/x/sync v0.0.0-20210220032951-036812b2e83c60 golang.org/x/sync v0.0.0-20210220032951-036812b2e83c
67 golang.org/x/time v0.0.0-20210220033141-f8bda1e9f3ba61 golang.org/x/time v0.0.0-20210723032227-1f47c861a9ac
68 google.golang.org/api v0.46.062 google.golang.org/api v0.56.0
69 google.golang.org/grpc v1.37.063 google.golang.org/grpc v1.40.0
70 gopkg.in/yaml.v2 v2.4.064 gopkg.in/yaml.v2 v2.4.0
71 gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b65 gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b
72 sigs.k8s.io/yaml v1.2.066 sigs.k8s.io/yaml v1.2.0
@@ -84,3 +78,12 @@ replace github.com/gocql/gocql => github.com/grafana/gocql v0.0.0-20200605141915
8478
85// Using a 3rd-party branch for custom dialer - see https://github.com/bradfitz/gomemcache/pull/8679// Using a 3rd-party branch for custom dialer - see https://github.com/bradfitz/gomemcache/pull/86
86replace github.com/bradfitz/gomemcache => github.com/themihai/gomemcache v0.0.0-20180902122335-24332e2d58ab80replace github.com/bradfitz/gomemcache => github.com/themihai/gomemcache v0.0.0-20180902122335-24332e2d58ab
81
82// TODO review the change introduced by https://github.com/grpc/grpc-go/pull/4416 before upgrading to 1.39.0
83replace google.golang.org/grpc => google.golang.org/grpc v1.38.0
84
85replace github.com/thanos-io/thanos v0.22.0 => github.com/thanos-io/thanos v0.19.1-0.20210923155558-c15594a03c45
86
87// Pin aws-sdk to version prior to go-kit update, to reduce the bulk of change.
88// Un-pin once Cortex 1.11 is released.
89replace github.com/aws/aws-sdk-go => github.com/aws/aws-sdk-go v1.40.37
diff --git a/go.sum b/go.sum
index 251c4c9..3ff73d9 100644
--- a/go.sum
+++ b/go.sum
@@ -1,4 +1,4 @@
1cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=1bazil.org/fuse v0.0.0-20160811212531-371fbbdaa898/go.mod h1:Xbm+BRKSBEpa4q4hTSxohYNQpsxXPbPry4JJWOB3LB8=
2cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=2cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
3cloud.google.com/go v0.37.4/go.mod h1:NHPJ89PdicEuT9hdPXMROBD91xc5uRDxsMtSB16k7hw=3cloud.google.com/go v0.37.4/go.mod h1:NHPJ89PdicEuT9hdPXMROBD91xc5uRDxsMtSB16k7hw=
4cloud.google.com/go v0.38.0/go.mod h1:990N+gfupTy94rShfmMCWGDn0LpTmnzTp2qbd1dvSRU=4cloud.google.com/go v0.38.0/go.mod h1:990N+gfupTy94rShfmMCWGDn0LpTmnzTp2qbd1dvSRU=
@@ -21,8 +21,14 @@ cloud.google.com/go v0.72.0/go.mod h1:M+5Vjvlc2wnp6tjzE102Dw08nGShTscUx2nZMufOKP
21cloud.google.com/go v0.74.0/go.mod h1:VV1xSbzvo+9QJOxLDaJfTjx5e+MePCpCWwvftOeQmWk=21cloud.google.com/go v0.74.0/go.mod h1:VV1xSbzvo+9QJOxLDaJfTjx5e+MePCpCWwvftOeQmWk=
22cloud.google.com/go v0.78.0/go.mod h1:QjdrLG0uq+YwhjoVOLsS1t7TW8fs36kLs4XO5R5ECHg=22cloud.google.com/go v0.78.0/go.mod h1:QjdrLG0uq+YwhjoVOLsS1t7TW8fs36kLs4XO5R5ECHg=
23cloud.google.com/go v0.79.0/go.mod h1:3bzgcEeQlzbuEAYu4mrWhKqWjmpprinYgKJLgKHnbb8=23cloud.google.com/go v0.79.0/go.mod h1:3bzgcEeQlzbuEAYu4mrWhKqWjmpprinYgKJLgKHnbb8=
24cloud.google.com/go v0.81.0 h1:at8Tk2zUz63cLPR0JPWm5vp77pEZmzxEQBEfRKn1VV8=
25cloud.google.com/go v0.81.0/go.mod h1:mk/AM35KwGk/Nm2YSeZbxXdrNK3KZOYHmLkOqC2V6E0=24cloud.google.com/go v0.81.0/go.mod h1:mk/AM35KwGk/Nm2YSeZbxXdrNK3KZOYHmLkOqC2V6E0=
25cloud.google.com/go v0.83.0/go.mod h1:Z7MJUsANfY0pYPdw0lbnivPx4/vhy/e2FEkSkF7vAVY=
26cloud.google.com/go v0.84.0/go.mod h1:RazrYuxIK6Kb7YrzzhPoLmCVzl7Sup4NrbKPg8KHSUM=
27cloud.google.com/go v0.87.0/go.mod h1:TpDYlFy7vuLzZMMZ+B6iRiELaY7z/gJPaqbMx6mlWcY=
28cloud.google.com/go v0.90.0/go.mod h1:kRX0mNRHe0e2rC6oNakvwQqzyDmg57xJ+SZU1eT2aDQ=
29cloud.google.com/go v0.92.2/go.mod h1:8utlLll2EF5XMAV15woO4lSbWQlk8rer9aLOfLh7+YI=
30cloud.google.com/go v0.93.3 h1:wPBktZFzYBcCZVARvwVKqH1uEj+aLXofJEtrb4oOsio=
31cloud.google.com/go v0.93.3/go.mod h1:8utlLll2EF5XMAV15woO4lSbWQlk8rer9aLOfLh7+YI=
26cloud.google.com/go/bigquery v1.0.1/go.mod h1:i/xbL2UlR5RvWAURpBYZTtm/cXjCha9lbfbpx4poX+o=32cloud.google.com/go/bigquery v1.0.1/go.mod h1:i/xbL2UlR5RvWAURpBYZTtm/cXjCha9lbfbpx4poX+o=
27cloud.google.com/go/bigquery v1.3.0/go.mod h1:PjpwJnslEMmckchkHFfq+HTD2DmtT67aNFKH1/VBDHE=33cloud.google.com/go/bigquery v1.3.0/go.mod h1:PjpwJnslEMmckchkHFfq+HTD2DmtT67aNFKH1/VBDHE=
28cloud.google.com/go/bigquery v1.4.0/go.mod h1:S8dzgnTigyfTmLBfrtrhyYhwRxG72rYxvftPBK2Dvzc=34cloud.google.com/go/bigquery v1.4.0/go.mod h1:S8dzgnTigyfTmLBfrtrhyYhwRxG72rYxvftPBK2Dvzc=
@@ -30,8 +36,9 @@ cloud.google.com/go/bigquery v1.5.0/go.mod h1:snEHRnqQbz117VIFhE8bmtwIDY80NLUZUM
30cloud.google.com/go/bigquery v1.7.0/go.mod h1://okPTzCYNXSlb24MZs83e2Do+h+VXtc4gLoIoXIAPc=36cloud.google.com/go/bigquery v1.7.0/go.mod h1://okPTzCYNXSlb24MZs83e2Do+h+VXtc4gLoIoXIAPc=
31cloud.google.com/go/bigquery v1.8.0/go.mod h1:J5hqkt3O0uAFnINi6JXValWIb1v0goeZM77hZzJN/fQ=37cloud.google.com/go/bigquery v1.8.0/go.mod h1:J5hqkt3O0uAFnINi6JXValWIb1v0goeZM77hZzJN/fQ=
32cloud.google.com/go/bigtable v1.1.0/go.mod h1:B6ByKcIdYmhoyDzmOnQxyOhN6r05qnewYIxxG6L0/b4=38cloud.google.com/go/bigtable v1.1.0/go.mod h1:B6ByKcIdYmhoyDzmOnQxyOhN6r05qnewYIxxG6L0/b4=
33cloud.google.com/go/bigtable v1.2.0 h1:F4cCmA4nuV84V5zYQ3MKY+M1Cw1avHDuf3S/LcZPA9c=
34cloud.google.com/go/bigtable v1.2.0/go.mod h1:JcVAOl45lrTmQfLj7T6TxyMzIN/3FGGcFm+2xVAli2o=39cloud.google.com/go/bigtable v1.2.0/go.mod h1:JcVAOl45lrTmQfLj7T6TxyMzIN/3FGGcFm+2xVAli2o=
40cloud.google.com/go/bigtable v1.3.0 h1:PAplkJLXheOLlK5PPyy4/HXtPzHn+1/LaYDWIeGxnio=
41cloud.google.com/go/bigtable v1.3.0/go.mod h1:z5EyKrPE8OQmeg4h5MNdKvuSnI9CCT49Ki3f23aBzio=
35cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE=42cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE=
36cloud.google.com/go/datastore v1.1.0/go.mod h1:umbIZjpQpHh4hmRpGhH4tLFup+FVzqBi1b3c64qFpCk=43cloud.google.com/go/datastore v1.1.0/go.mod h1:umbIZjpQpHh4hmRpGhH4tLFup+FVzqBi1b3c64qFpCk=
37cloud.google.com/go/firestore v1.1.0/go.mod h1:ulACoGHTpvq5r8rxGJ4ddJZBZqakUQqClKRT5SZwBmk=44cloud.google.com/go/firestore v1.1.0/go.mod h1:ulACoGHTpvq5r8rxGJ4ddJZBZqakUQqClKRT5SZwBmk=
@@ -46,14 +53,18 @@ cloud.google.com/go/storage v1.6.0/go.mod h1:N7U0C8pVQ/+NIKOBQyamJIeKQKkZ+mxpohl
46cloud.google.com/go/storage v1.8.0/go.mod h1:Wv1Oy7z6Yz3DshWRJFhqM/UCfaWIRTdp0RXyy7KQOVs=53cloud.google.com/go/storage v1.8.0/go.mod h1:Wv1Oy7z6Yz3DshWRJFhqM/UCfaWIRTdp0RXyy7KQOVs=
47cloud.google.com/go/storage v1.10.0 h1:STgFzyU5/8miMl0//zKh2aQeTyeaUH3WN9bSUiJ09bA=54cloud.google.com/go/storage v1.10.0 h1:STgFzyU5/8miMl0//zKh2aQeTyeaUH3WN9bSUiJ09bA=
48cloud.google.com/go/storage v1.10.0/go.mod h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9ullr3+Kg0=55cloud.google.com/go/storage v1.10.0/go.mod h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9ullr3+Kg0=
56cloud.google.com/go/trace v0.1.0/go.mod h1:wxEwsoeRVPbeSkt7ZC9nWCgmoKQRAoySN7XHW2AmI7g=
49collectd.org v0.3.0/go.mod h1:A/8DzQBkF6abtvrT2j/AU/4tiBgJWYyh0y/oB/4MlWE=57collectd.org v0.3.0/go.mod h1:A/8DzQBkF6abtvrT2j/AU/4tiBgJWYyh0y/oB/4MlWE=
50contrib.go.opencensus.io/exporter/ocagent v0.6.0/go.mod h1:zmKjrJcdo0aYcVS7bmEeSEBLPA9YJp5bjrofdU3pIXs=58contrib.go.opencensus.io/exporter/ocagent v0.6.0/go.mod h1:zmKjrJcdo0aYcVS7bmEeSEBLPA9YJp5bjrofdU3pIXs=
51dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU=59dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU=
52github.com/Azure/azure-pipeline-go v0.2.1/go.mod h1:UGSo8XybXnIGZ3epmeBw7Jdz+HiUVpqIlpz/HKHylF4=60github.com/Azure/azure-pipeline-go v0.2.1/go.mod h1:UGSo8XybXnIGZ3epmeBw7Jdz+HiUVpqIlpz/HKHylF4=
53github.com/Azure/azure-pipeline-go v0.2.2 h1:6oiIS9yaG6XCCzhgAgKFfIWyo4LLCiDhZot6ltoThhY=
54github.com/Azure/azure-pipeline-go v0.2.2/go.mod h1:4rQ/NZncSvGqNkkOsNpOU1tgoNuIlp9AfUH5G1tvCHc=61github.com/Azure/azure-pipeline-go v0.2.2/go.mod h1:4rQ/NZncSvGqNkkOsNpOU1tgoNuIlp9AfUH5G1tvCHc=
62github.com/Azure/azure-pipeline-go v0.2.3 h1:7U9HBg1JFK3jHl5qmo4CTZKFTVgMwdFHMVtCdfBE21U=
63github.com/Azure/azure-pipeline-go v0.2.3/go.mod h1:x841ezTBIMG6O3lAcl8ATHnsOPVl2bqk7S3ta6S6u4k=
64github.com/Azure/azure-sdk-for-go v16.2.1+incompatible/go.mod h1:9XXNKU+eRnpl9moKnB4QOLf1HestfXbmab5FXxiDBjc=
55github.com/Azure/azure-sdk-for-go v23.2.0+incompatible/go.mod h1:9XXNKU+eRnpl9moKnB4QOLf1HestfXbmab5FXxiDBjc=65github.com/Azure/azure-sdk-for-go v23.2.0+incompatible/go.mod h1:9XXNKU+eRnpl9moKnB4QOLf1HestfXbmab5FXxiDBjc=
56github.com/Azure/azure-sdk-for-go v36.1.0+incompatible/go.mod h1:9XXNKU+eRnpl9moKnB4QOLf1HestfXbmab5FXxiDBjc=66github.com/Azure/azure-sdk-for-go v36.1.0+incompatible/go.mod h1:9XXNKU+eRnpl9moKnB4QOLf1HestfXbmab5FXxiDBjc=
67github.com/Azure/azure-sdk-for-go v41.3.0+incompatible/go.mod h1:9XXNKU+eRnpl9moKnB4QOLf1HestfXbmab5FXxiDBjc=
57github.com/Azure/azure-sdk-for-go v43.0.0+incompatible/go.mod h1:9XXNKU+eRnpl9moKnB4QOLf1HestfXbmab5FXxiDBjc=68github.com/Azure/azure-sdk-for-go v43.0.0+incompatible/go.mod h1:9XXNKU+eRnpl9moKnB4QOLf1HestfXbmab5FXxiDBjc=
58github.com/Azure/azure-sdk-for-go v44.0.0+incompatible/go.mod h1:9XXNKU+eRnpl9moKnB4QOLf1HestfXbmab5FXxiDBjc=69github.com/Azure/azure-sdk-for-go v44.0.0+incompatible/go.mod h1:9XXNKU+eRnpl9moKnB4QOLf1HestfXbmab5FXxiDBjc=
59github.com/Azure/azure-sdk-for-go v44.2.0+incompatible/go.mod h1:9XXNKU+eRnpl9moKnB4QOLf1HestfXbmab5FXxiDBjc=70github.com/Azure/azure-sdk-for-go v44.2.0+incompatible/go.mod h1:9XXNKU+eRnpl9moKnB4QOLf1HestfXbmab5FXxiDBjc=
@@ -62,34 +73,55 @@ github.com/Azure/azure-sdk-for-go v46.4.0+incompatible/go.mod h1:9XXNKU+eRnpl9mo
62github.com/Azure/azure-sdk-for-go v48.2.0+incompatible/go.mod h1:9XXNKU+eRnpl9moKnB4QOLf1HestfXbmab5FXxiDBjc=73github.com/Azure/azure-sdk-for-go v48.2.0+incompatible/go.mod h1:9XXNKU+eRnpl9moKnB4QOLf1HestfXbmab5FXxiDBjc=
63github.com/Azure/azure-sdk-for-go v51.2.0+incompatible/go.mod h1:9XXNKU+eRnpl9moKnB4QOLf1HestfXbmab5FXxiDBjc=74github.com/Azure/azure-sdk-for-go v51.2.0+incompatible/go.mod h1:9XXNKU+eRnpl9moKnB4QOLf1HestfXbmab5FXxiDBjc=
64github.com/Azure/azure-sdk-for-go v52.5.0+incompatible/go.mod h1:9XXNKU+eRnpl9moKnB4QOLf1HestfXbmab5FXxiDBjc=75github.com/Azure/azure-sdk-for-go v52.5.0+incompatible/go.mod h1:9XXNKU+eRnpl9moKnB4QOLf1HestfXbmab5FXxiDBjc=
65github.com/Azure/azure-sdk-for-go v54.0.0+incompatible h1:Bq3L9LF0DHCexlT0fccwxgrOMfjHx8LGz+d+L7gGQv4=
66github.com/Azure/azure-sdk-for-go v54.0.0+incompatible/go.mod h1:9XXNKU+eRnpl9moKnB4QOLf1HestfXbmab5FXxiDBjc=76github.com/Azure/azure-sdk-for-go v54.0.0+incompatible/go.mod h1:9XXNKU+eRnpl9moKnB4QOLf1HestfXbmab5FXxiDBjc=
67github.com/Azure/azure-storage-blob-go v0.8.0 h1:53qhf0Oxa0nOjgbDeeYPUeyiNmafAFEY95rZLK0Tj6o=77github.com/Azure/azure-sdk-for-go v55.2.0+incompatible/go.mod h1:9XXNKU+eRnpl9moKnB4QOLf1HestfXbmab5FXxiDBjc=
78github.com/Azure/azure-sdk-for-go v57.1.0+incompatible h1:TKQ3ieyB0vVKkF6t9dsWbMjq56O1xU3eh3Ec09v6ajM=
79github.com/Azure/azure-sdk-for-go v57.1.0+incompatible/go.mod h1:9XXNKU+eRnpl9moKnB4QOLf1HestfXbmab5FXxiDBjc=
68github.com/Azure/azure-storage-blob-go v0.8.0/go.mod h1:lPI3aLPpuLTeUwh1sViKXFxwl2B6teiRqI0deQUvsw0=80github.com/Azure/azure-storage-blob-go v0.8.0/go.mod h1:lPI3aLPpuLTeUwh1sViKXFxwl2B6teiRqI0deQUvsw0=
81github.com/Azure/azure-storage-blob-go v0.13.0 h1:lgWHvFh+UYBNVQLFHXkvul2f6yOPA9PIH82RTG2cSwc=
82github.com/Azure/azure-storage-blob-go v0.13.0/go.mod h1:pA9kNqtjUeQF2zOSu4s//nUdBD+e64lEuc4sVnuOfNs=
69github.com/Azure/go-ansiterm v0.0.0-20170929234023-d6e3b3328b78 h1:w+iIsaOQNcT7OZ575w+acHgRric5iCyQh+xv+KJ4HB8=83github.com/Azure/go-ansiterm v0.0.0-20170929234023-d6e3b3328b78 h1:w+iIsaOQNcT7OZ575w+acHgRric5iCyQh+xv+KJ4HB8=
70github.com/Azure/go-ansiterm v0.0.0-20170929234023-d6e3b3328b78/go.mod h1:LmzpDX56iTiv29bbRTIsUNlaFfuhWRQBWjQdVyAevI8=84github.com/Azure/go-ansiterm v0.0.0-20170929234023-d6e3b3328b78/go.mod h1:LmzpDX56iTiv29bbRTIsUNlaFfuhWRQBWjQdVyAevI8=
85github.com/Azure/go-autorest v10.8.1+incompatible/go.mod h1:r+4oMnoxhatjLLJ6zxSWATqVooLgysK6ZNox3g/xq24=
71github.com/Azure/go-autorest v11.2.8+incompatible/go.mod h1:r+4oMnoxhatjLLJ6zxSWATqVooLgysK6ZNox3g/xq24=86github.com/Azure/go-autorest v11.2.8+incompatible/go.mod h1:r+4oMnoxhatjLLJ6zxSWATqVooLgysK6ZNox3g/xq24=
72github.com/Azure/go-autorest v14.2.0+incompatible h1:V5VMDjClD3GiElqLWO7mz2MxNAK/vTfRHdAubSIPRgs=87github.com/Azure/go-autorest v14.2.0+incompatible h1:V5VMDjClD3GiElqLWO7mz2MxNAK/vTfRHdAubSIPRgs=
73github.com/Azure/go-autorest v14.2.0+incompatible/go.mod h1:r+4oMnoxhatjLLJ6zxSWATqVooLgysK6ZNox3g/xq24=88github.com/Azure/go-autorest v14.2.0+incompatible/go.mod h1:r+4oMnoxhatjLLJ6zxSWATqVooLgysK6ZNox3g/xq24=
74github.com/Azure/go-autorest/autorest v0.9.0/go.mod h1:xyHB1BMZT0cuDHU7I0+g046+BFDTQ8rEZB0s4Yfa6bI=89github.com/Azure/go-autorest/autorest v0.9.0/go.mod h1:xyHB1BMZT0cuDHU7I0+g046+BFDTQ8rEZB0s4Yfa6bI=
75github.com/Azure/go-autorest/autorest v0.9.3-0.20191028180845-3492b2aff503/go.mod h1:xyHB1BMZT0cuDHU7I0+g046+BFDTQ8rEZB0s4Yfa6bI=90github.com/Azure/go-autorest/autorest v0.9.3-0.20191028180845-3492b2aff503/go.mod h1:xyHB1BMZT0cuDHU7I0+g046+BFDTQ8rEZB0s4Yfa6bI=
91github.com/Azure/go-autorest/autorest v0.9.3/go.mod h1:GsRuLYvwzLjjjRoWEIyMUaYq8GNUx2nRB378IPt/1p0=
92github.com/Azure/go-autorest/autorest v0.10.0/go.mod h1:/FALq9T/kS7b5J5qsQ+RSTUdAmGFqi0vUdVNNx8q630=
93github.com/Azure/go-autorest/autorest v0.10.1/go.mod h1:/FALq9T/kS7b5J5qsQ+RSTUdAmGFqi0vUdVNNx8q630=
76github.com/Azure/go-autorest/autorest v0.10.2/go.mod h1:/FALq9T/kS7b5J5qsQ+RSTUdAmGFqi0vUdVNNx8q630=94github.com/Azure/go-autorest/autorest v0.10.2/go.mod h1:/FALq9T/kS7b5J5qsQ+RSTUdAmGFqi0vUdVNNx8q630=
77github.com/Azure/go-autorest/autorest v0.11.1/go.mod h1:JFgpikqFJ/MleTTxwepExTKnFUKKszPS8UavbQYUMuw=95github.com/Azure/go-autorest/autorest v0.11.1/go.mod h1:JFgpikqFJ/MleTTxwepExTKnFUKKszPS8UavbQYUMuw=
78github.com/Azure/go-autorest/autorest v0.11.2/go.mod h1:JFgpikqFJ/MleTTxwepExTKnFUKKszPS8UavbQYUMuw=96github.com/Azure/go-autorest/autorest v0.11.2/go.mod h1:JFgpikqFJ/MleTTxwepExTKnFUKKszPS8UavbQYUMuw=
79github.com/Azure/go-autorest/autorest v0.11.4/go.mod h1:JFgpikqFJ/MleTTxwepExTKnFUKKszPS8UavbQYUMuw=97github.com/Azure/go-autorest/autorest v0.11.4/go.mod h1:JFgpikqFJ/MleTTxwepExTKnFUKKszPS8UavbQYUMuw=
80github.com/Azure/go-autorest/autorest v0.11.10/go.mod h1:eipySxLmqSyC5s5k1CLupqet0PSENBEDP93LQ9a8QYw=98github.com/Azure/go-autorest/autorest v0.11.10/go.mod h1:eipySxLmqSyC5s5k1CLupqet0PSENBEDP93LQ9a8QYw=
81github.com/Azure/go-autorest/autorest v0.11.11/go.mod h1:eipySxLmqSyC5s5k1CLupqet0PSENBEDP93LQ9a8QYw=99github.com/Azure/go-autorest/autorest v0.11.11/go.mod h1:eipySxLmqSyC5s5k1CLupqet0PSENBEDP93LQ9a8QYw=
82github.com/Azure/go-autorest/autorest v0.11.18 h1:90Y4srNYrwOtAgVo3ndrQkTYn6kf1Eg/AjTFJ8Is2aM=100github.com/Azure/go-autorest/autorest v0.11.17/go.mod h1:eipySxLmqSyC5s5k1CLupqet0PSENBEDP93LQ9a8QYw=
83github.com/Azure/go-autorest/autorest v0.11.18/go.mod h1:dSiJPy22c3u0OtOKDNttNgqpNFY/GeWa7GH/Pz56QRA=101github.com/Azure/go-autorest/autorest v0.11.18/go.mod h1:dSiJPy22c3u0OtOKDNttNgqpNFY/GeWa7GH/Pz56QRA=
102github.com/Azure/go-autorest/autorest v0.11.19/go.mod h1:dSiJPy22c3u0OtOKDNttNgqpNFY/GeWa7GH/Pz56QRA=
103github.com/Azure/go-autorest/autorest v0.11.20 h1:s8H1PbCZSqg/DH7JMlOz6YMig6htWLNPsjDdlLqCx3M=
104github.com/Azure/go-autorest/autorest v0.11.20/go.mod h1:o3tqFY+QR40VOlk+pV4d77mORO64jOXSgEnPQgLK6JY=
84github.com/Azure/go-autorest/autorest/adal v0.5.0/go.mod h1:8Z9fGy2MpX0PvDjB1pEgQTmVqjGhiHBW7RJJEciWzS0=105github.com/Azure/go-autorest/autorest/adal v0.5.0/go.mod h1:8Z9fGy2MpX0PvDjB1pEgQTmVqjGhiHBW7RJJEciWzS0=
106github.com/Azure/go-autorest/autorest/adal v0.8.0/go.mod h1:Z6vX6WXXuyieHAXwMj0S6HY6e6wcHn37qQMBQlvY3lc=
85github.com/Azure/go-autorest/autorest/adal v0.8.1-0.20191028180845-3492b2aff503/go.mod h1:Z6vX6WXXuyieHAXwMj0S6HY6e6wcHn37qQMBQlvY3lc=107github.com/Azure/go-autorest/autorest/adal v0.8.1-0.20191028180845-3492b2aff503/go.mod h1:Z6vX6WXXuyieHAXwMj0S6HY6e6wcHn37qQMBQlvY3lc=
108github.com/Azure/go-autorest/autorest/adal v0.8.1/go.mod h1:ZjhuQClTqx435SRJ2iMlOxPYt3d2C/T/7TiQCVZSn3Q=
86github.com/Azure/go-autorest/autorest/adal v0.8.2/go.mod h1:ZjhuQClTqx435SRJ2iMlOxPYt3d2C/T/7TiQCVZSn3Q=109github.com/Azure/go-autorest/autorest/adal v0.8.2/go.mod h1:ZjhuQClTqx435SRJ2iMlOxPYt3d2C/T/7TiQCVZSn3Q=
87github.com/Azure/go-autorest/autorest/adal v0.8.3/go.mod h1:ZjhuQClTqx435SRJ2iMlOxPYt3d2C/T/7TiQCVZSn3Q=110github.com/Azure/go-autorest/autorest/adal v0.8.3/go.mod h1:ZjhuQClTqx435SRJ2iMlOxPYt3d2C/T/7TiQCVZSn3Q=
88github.com/Azure/go-autorest/autorest/adal v0.9.0/go.mod h1:/c022QCutn2P7uY+/oQWWNcK9YU+MH96NgK+jErpbcg=111github.com/Azure/go-autorest/autorest/adal v0.9.0/go.mod h1:/c022QCutn2P7uY+/oQWWNcK9YU+MH96NgK+jErpbcg=
89github.com/Azure/go-autorest/autorest/adal v0.9.2/go.mod h1:/3SMAM86bP6wC9Ev35peQDUeqFZBMH07vvUOmg4z/fE=112github.com/Azure/go-autorest/autorest/adal v0.9.2/go.mod h1:/3SMAM86bP6wC9Ev35peQDUeqFZBMH07vvUOmg4z/fE=
90github.com/Azure/go-autorest/autorest/adal v0.9.5/go.mod h1:B7KF7jKIeC9Mct5spmyCB/A8CG/sEz1vwIRGv/bbw7A=113github.com/Azure/go-autorest/autorest/adal v0.9.5/go.mod h1:B7KF7jKIeC9Mct5spmyCB/A8CG/sEz1vwIRGv/bbw7A=
91github.com/Azure/go-autorest/autorest/adal v0.9.13 h1:Mp5hbtOePIzM8pJVRa3YLrWWmZtoxRXqUEzCfJt3+/Q=114github.com/Azure/go-autorest/autorest/adal v0.9.11/go.mod h1:nBKAnTomx8gDtl+3ZCJv2v0KACFHWTB2drffI1B68Pk=
92github.com/Azure/go-autorest/autorest/adal v0.9.13/go.mod h1:W/MM4U6nLxnIskrw4UwWzlHfGjwUS50aOsc/I3yuU8M=115github.com/Azure/go-autorest/autorest/adal v0.9.13/go.mod h1:W/MM4U6nLxnIskrw4UwWzlHfGjwUS50aOsc/I3yuU8M=
116github.com/Azure/go-autorest/autorest/adal v0.9.14/go.mod h1:W/MM4U6nLxnIskrw4UwWzlHfGjwUS50aOsc/I3yuU8M=
117github.com/Azure/go-autorest/autorest/adal v0.9.15 h1:X+p2GF0GWyOiSmqohIaEeuNFNDY4I4EOlVuUQvFdWMk=
118github.com/Azure/go-autorest/autorest/adal v0.9.15/go.mod h1:tGMin8I49Yij6AQ+rvV+Xa/zwxYQB5hmsd6DkfAx2+A=
119github.com/Azure/go-autorest/autorest/azure/auth v0.4.2/go.mod h1:90gmfKdlmKgfjUpnCEpOJzsUEjrWDSLwHIG73tSXddM=
120github.com/Azure/go-autorest/autorest/azure/auth v0.5.8 h1:TzPg6B6fTZ0G1zBf3T54aI7p3cAT6u//TOXGPmFMOXg=
121github.com/Azure/go-autorest/autorest/azure/auth v0.5.8/go.mod h1:kxyKZTSfKh8OVFWPAgOgQ/frrJgeYQJPyR5fLFmXko4=
122github.com/Azure/go-autorest/autorest/azure/cli v0.3.1/go.mod h1:ZG5p860J94/0kI9mNJVoIoLgXcirM2gF5i2kWloofxw=
123github.com/Azure/go-autorest/autorest/azure/cli v0.4.2 h1:dMOmEJfkLKW/7JsokJqkyoYSgmR08hi9KrhjZb+JALY=
124github.com/Azure/go-autorest/autorest/azure/cli v0.4.2/go.mod h1:7qkJkT+j6b+hIpzMOwPChJhTqS8VbsqqgULzMNRugoM=
93github.com/Azure/go-autorest/autorest/date v0.1.0/go.mod h1:plvfp3oPSKwf2DNjlBjWF/7vwR+cUD/ELuzDCXwHUVA=125github.com/Azure/go-autorest/autorest/date v0.1.0/go.mod h1:plvfp3oPSKwf2DNjlBjWF/7vwR+cUD/ELuzDCXwHUVA=
94github.com/Azure/go-autorest/autorest/date v0.2.0/go.mod h1:vcORJHLJEh643/Ioh9+vPmf1Ij9AEBM5FuBIXLmIy0g=126github.com/Azure/go-autorest/autorest/date v0.2.0/go.mod h1:vcORJHLJEh643/Ioh9+vPmf1Ij9AEBM5FuBIXLmIy0g=
95github.com/Azure/go-autorest/autorest/date v0.3.0 h1:7gUk1U5M/CQbp9WoqinNzJar+8KY+LPI6wiWrP/myHw=127github.com/Azure/go-autorest/autorest/date v0.3.0 h1:7gUk1U5M/CQbp9WoqinNzJar+8KY+LPI6wiWrP/myHw=
@@ -98,6 +130,7 @@ github.com/Azure/go-autorest/autorest/mocks v0.1.0/go.mod h1:OTyCOPRA2IgIlWxVYxB
98github.com/Azure/go-autorest/autorest/mocks v0.2.0/go.mod h1:OTyCOPRA2IgIlWxVYxBee2F5Gr4kF2zd2J5cFRaIDN0=130github.com/Azure/go-autorest/autorest/mocks v0.2.0/go.mod h1:OTyCOPRA2IgIlWxVYxBee2F5Gr4kF2zd2J5cFRaIDN0=
99github.com/Azure/go-autorest/autorest/mocks v0.3.0/go.mod h1:a8FDP3DYzQ4RYfVAxAN3SVSiiO77gL2j2ronKKP0syM=131github.com/Azure/go-autorest/autorest/mocks v0.3.0/go.mod h1:a8FDP3DYzQ4RYfVAxAN3SVSiiO77gL2j2ronKKP0syM=
100github.com/Azure/go-autorest/autorest/mocks v0.4.0/go.mod h1:LTp+uSrOhSkaKrUy935gNZuuIPPVsHlr9DSOxSayd+k=132github.com/Azure/go-autorest/autorest/mocks v0.4.0/go.mod h1:LTp+uSrOhSkaKrUy935gNZuuIPPVsHlr9DSOxSayd+k=
133github.com/Azure/go-autorest/autorest/mocks v0.4.1 h1:K0laFcLE6VLTOwNgSxaGbUcLPuGXlNkbVvq4cW4nIHk=
101github.com/Azure/go-autorest/autorest/mocks v0.4.1/go.mod h1:LTp+uSrOhSkaKrUy935gNZuuIPPVsHlr9DSOxSayd+k=134github.com/Azure/go-autorest/autorest/mocks v0.4.1/go.mod h1:LTp+uSrOhSkaKrUy935gNZuuIPPVsHlr9DSOxSayd+k=
102github.com/Azure/go-autorest/autorest/to v0.3.0/go.mod h1:MgwOyqaIuKdG4TL/2ywSsIWKAfJfgHDo8ObuUk3t5sA=135github.com/Azure/go-autorest/autorest/to v0.3.0/go.mod h1:MgwOyqaIuKdG4TL/2ywSsIWKAfJfgHDo8ObuUk3t5sA=
103github.com/Azure/go-autorest/autorest/to v0.3.1-0.20191028180845-3492b2aff503/go.mod h1:MgwOyqaIuKdG4TL/2ywSsIWKAfJfgHDo8ObuUk3t5sA=136github.com/Azure/go-autorest/autorest/to v0.3.1-0.20191028180845-3492b2aff503/go.mod h1:MgwOyqaIuKdG4TL/2ywSsIWKAfJfgHDo8ObuUk3t5sA=
@@ -118,18 +151,38 @@ github.com/BurntSushi/toml v0.3.1 h1:WXkYYl6Yr3qBf1K79EBnL4mak0OimBfB0XUf9Vl28OQ
118github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=151github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
119github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo=152github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo=
120github.com/DATA-DOG/go-sqlmock v1.3.3/go.mod h1:f/Ixk793poVmq4qj/V1dPUg2JEAKC73Q5eFN3EC/SaM=153github.com/DATA-DOG/go-sqlmock v1.3.3/go.mod h1:f/Ixk793poVmq4qj/V1dPUg2JEAKC73Q5eFN3EC/SaM=
154github.com/DATA-DOG/go-sqlmock v1.4.1/go.mod h1:f/Ixk793poVmq4qj/V1dPUg2JEAKC73Q5eFN3EC/SaM=
121github.com/DataDog/datadog-go v2.2.0+incompatible/go.mod h1:LButxg5PwREeZtORoXG3tL4fMGNddJ+vMq1mwgfaqoQ=155github.com/DataDog/datadog-go v2.2.0+incompatible/go.mod h1:LButxg5PwREeZtORoXG3tL4fMGNddJ+vMq1mwgfaqoQ=
122github.com/DataDog/datadog-go v3.2.0+incompatible/go.mod h1:LButxg5PwREeZtORoXG3tL4fMGNddJ+vMq1mwgfaqoQ=156github.com/DataDog/datadog-go v3.2.0+incompatible/go.mod h1:LButxg5PwREeZtORoXG3tL4fMGNddJ+vMq1mwgfaqoQ=
123github.com/HdrHistogram/hdrhistogram-go v0.9.0/go.mod h1:nxrse8/Tzg2tg3DZcZjm6qEclQKK70g0KxO61gFFZD4=157github.com/HdrHistogram/hdrhistogram-go v0.9.0/go.mod h1:nxrse8/Tzg2tg3DZcZjm6qEclQKK70g0KxO61gFFZD4=
124github.com/HdrHistogram/hdrhistogram-go v1.0.1 h1:GX8GAYDuhlFQnI2fRDHQhTlkHMz8bEn0jTI6LJU0mpw=
125github.com/HdrHistogram/hdrhistogram-go v1.0.1/go.mod h1:BWJ+nMSHY3L41Zj7CA3uXnloDp7xxV0YvstAE7nKTaM=158github.com/HdrHistogram/hdrhistogram-go v1.0.1/go.mod h1:BWJ+nMSHY3L41Zj7CA3uXnloDp7xxV0YvstAE7nKTaM=
159github.com/HdrHistogram/hdrhistogram-go v1.1.0/go.mod h1:yDgFjdqOqDEKOvasDdhWNXYg9BVp4O+o5f6V/ehm6Oo=
160github.com/HdrHistogram/hdrhistogram-go v1.1.2 h1:5IcZpTvzydCQeHzK4Ef/D5rrSqwxob0t8PQPMybUNFM=
161github.com/HdrHistogram/hdrhistogram-go v1.1.2/go.mod h1:yDgFjdqOqDEKOvasDdhWNXYg9BVp4O+o5f6V/ehm6Oo=
126github.com/Knetic/govaluate v3.0.1-0.20171022003610-9aa49832a739+incompatible/go.mod h1:r7JcOSlj0wfOMncg0iLm8Leh48TZaKVeNIfJntJ2wa0=162github.com/Knetic/govaluate v3.0.1-0.20171022003610-9aa49832a739+incompatible/go.mod h1:r7JcOSlj0wfOMncg0iLm8Leh48TZaKVeNIfJntJ2wa0=
163github.com/Masterminds/semver v1.4.2/go.mod h1:MB6lktGJrhw8PrUyiEoblNEGEQ+RzHPF078ddwwvV3Y=
164github.com/Masterminds/sprig v2.16.0+incompatible/go.mod h1:y6hNFY5UBTIWBxnzTeuNhlNS5hqE0NB0E6fgfo2Br3o=
127github.com/Masterminds/squirrel v0.0.0-20161115235646-20f192218cf5 h1:PPfYWScYacO3Q6JMCLkyh6Ea2Q/REDTMgmiTAeiV8Jg=165github.com/Masterminds/squirrel v0.0.0-20161115235646-20f192218cf5 h1:PPfYWScYacO3Q6JMCLkyh6Ea2Q/REDTMgmiTAeiV8Jg=
128github.com/Masterminds/squirrel v0.0.0-20161115235646-20f192218cf5/go.mod h1:xnKTFzjGUiZtiOagBsfnvomW+nJg2usB1ZpordQWqNM=166github.com/Masterminds/squirrel v0.0.0-20161115235646-20f192218cf5/go.mod h1:xnKTFzjGUiZtiOagBsfnvomW+nJg2usB1ZpordQWqNM=
129github.com/Microsoft/go-winio v0.4.11/go.mod h1:VhR8bwka0BXejwEJY73c50VrPtXAaKcyvVC4A4RozmA=167github.com/Microsoft/go-winio v0.4.11/go.mod h1:VhR8bwka0BXejwEJY73c50VrPtXAaKcyvVC4A4RozmA=
130github.com/Microsoft/go-winio v0.4.14/go.mod h1:qXqCSQ3Xa7+6tgxaGTIe4Kpcdsi+P8jBhyzoq1bpyYA=168github.com/Microsoft/go-winio v0.4.14/go.mod h1:qXqCSQ3Xa7+6tgxaGTIe4Kpcdsi+P8jBhyzoq1bpyYA=
131github.com/Microsoft/go-winio v0.4.16 h1:FtSW/jqD+l4ba5iPBj9CODVtgfYAD8w2wS923g/cFDk=169github.com/Microsoft/go-winio v0.4.15-0.20190919025122-fc70bd9a86b5/go.mod h1:tTuCMEN+UleMWgg9dVx4Hu52b1bJo+59jBh3ajtinzw=
170github.com/Microsoft/go-winio v0.4.16-0.20201130162521-d1ffc52c7331/go.mod h1:XB6nPKklQyQ7GC9LdcBEcBl8PF76WugXOPRXwdLnMv0=
132github.com/Microsoft/go-winio v0.4.16/go.mod h1:XB6nPKklQyQ7GC9LdcBEcBl8PF76WugXOPRXwdLnMv0=171github.com/Microsoft/go-winio v0.4.16/go.mod h1:XB6nPKklQyQ7GC9LdcBEcBl8PF76WugXOPRXwdLnMv0=
172github.com/Microsoft/go-winio v0.4.17-0.20210211115548-6eac466e5fa3/go.mod h1:JPGBdM1cNvN/6ISo+n8V5iA4v8pBzdOpzfwIujj1a84=
173github.com/Microsoft/go-winio v0.4.17-0.20210324224401-5516f17a5958/go.mod h1:JPGBdM1cNvN/6ISo+n8V5iA4v8pBzdOpzfwIujj1a84=
174github.com/Microsoft/go-winio v0.4.17 h1:iT12IBVClFevaf8PuVyi3UmZOVh4OqnaLxDTW2O6j3w=
175github.com/Microsoft/go-winio v0.4.17/go.mod h1:JPGBdM1cNvN/6ISo+n8V5iA4v8pBzdOpzfwIujj1a84=
176github.com/Microsoft/hcsshim v0.8.6/go.mod h1:Op3hHsoHPAvb6lceZHDtd9OkTew38wNoXnJs8iY7rUg=
177github.com/Microsoft/hcsshim v0.8.7-0.20190325164909-8abdbb8205e4/go.mod h1:Op3hHsoHPAvb6lceZHDtd9OkTew38wNoXnJs8iY7rUg=
178github.com/Microsoft/hcsshim v0.8.7/go.mod h1:OHd7sQqRFrYd3RmSgbgji+ctCwkbq2wbEYNSzOYtcBQ=
179github.com/Microsoft/hcsshim v0.8.9/go.mod h1:5692vkUqntj1idxauYlpoINNKeqCiG6Sg38RRsjT5y8=
180github.com/Microsoft/hcsshim v0.8.14/go.mod h1:NtVKoYxQuTLx6gEq0L96c9Ju4JbRJ4nY2ow3VK6a9Lg=
181github.com/Microsoft/hcsshim v0.8.15/go.mod h1:x38A4YbHbdxJtc0sF6oIz+RG0npwSCAvn69iY6URG00=
182github.com/Microsoft/hcsshim v0.8.16/go.mod h1:o5/SZqmR7x9JNKsW3pu+nqHm0MF8vbA+VxGOoXdC600=
183github.com/Microsoft/hcsshim v0.8.18/go.mod h1:+w2gRZ5ReXQhFOrvSQeNfhrYB/dg3oDwTOcER2fw4I4=
184github.com/Microsoft/hcsshim/test v0.0.0-20201218223536-d3e5debf77da/go.mod h1:5hlzMzRKMLyo42nCZ9oml8AdTlq/0cvIaBv6tK1RehU=
185github.com/Microsoft/hcsshim/test v0.0.0-20210227013316-43a75bb4edd3/go.mod h1:mw7qgWloBUl75W/gVH3cQszUg1+gUITj7D6NY7ywVnY=
133github.com/NYTimes/gziphandler v0.0.0-20170623195520-56545f4a5d46/go.mod h1:3wb06e3pkSAbeQ52E9H9iFoQsEEwGN64994WTCIhntQ=186github.com/NYTimes/gziphandler v0.0.0-20170623195520-56545f4a5d46/go.mod h1:3wb06e3pkSAbeQ52E9H9iFoQsEEwGN64994WTCIhntQ=
134github.com/NYTimes/gziphandler v1.1.1 h1:ZUDjpQae29j0ryrS0u/B8HZfJBtBQHjqw2rQ2cqUQ3I=187github.com/NYTimes/gziphandler v1.1.1 h1:ZUDjpQae29j0ryrS0u/B8HZfJBtBQHjqw2rQ2cqUQ3I=
135github.com/NYTimes/gziphandler v1.1.1/go.mod h1:n/CVRwUEOgIxrgPvAQhUUr9oeUtvrhMomdKFjzJNB0c=188github.com/NYTimes/gziphandler v1.1.1/go.mod h1:n/CVRwUEOgIxrgPvAQhUUr9oeUtvrhMomdKFjzJNB0c=
@@ -145,6 +198,9 @@ github.com/PuerkitoBio/purell v1.1.1/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbt
145github.com/PuerkitoBio/urlesc v0.0.0-20160726150825-5bd2802263f2/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE=198github.com/PuerkitoBio/urlesc v0.0.0-20160726150825-5bd2802263f2/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE=
146github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578 h1:d+Bc7a5rLufV/sSk/8dngufqelfh6jnri85riMAaF/M=199github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578 h1:d+Bc7a5rLufV/sSk/8dngufqelfh6jnri85riMAaF/M=
147github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE=200github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE=
201github.com/QcloudApi/qcloud_sign_golang v0.0.0-20141224014652-e4130a326409/go.mod h1:1pk82RBxDY/JZnPQrtqHlUFfCctgdorsd9M06fMynOM=
202github.com/SAP/go-hdb v0.14.1/go.mod h1:7fdQLVC2lER3urZLjZCm0AuMQfApof92n3aylBPEkMo=
203github.com/Shopify/logrus-bugsnag v0.0.0-20171204204709-577dee27f20d/go.mod h1:HI8ITrYtUY+O+ZhtlqUnD8+KwNPOyugEhfP9fdUIaEQ=
148github.com/Shopify/sarama v1.19.0/go.mod h1:FVkBWblsNy7DGZRfXLU0O9RCGt5g3g3yEuWXgklEdEo=204github.com/Shopify/sarama v1.19.0/go.mod h1:FVkBWblsNy7DGZRfXLU0O9RCGt5g3g3yEuWXgklEdEo=
149github.com/Shopify/toxiproxy v2.1.4+incompatible/go.mod h1:OXgGpZ6Cli1/URJOF1DMxUHB2q5Ap20/P/eIdh4G0pI=205github.com/Shopify/toxiproxy v2.1.4+incompatible/go.mod h1:OXgGpZ6Cli1/URJOF1DMxUHB2q5Ap20/P/eIdh4G0pI=
150github.com/VividCortex/gohistogram v1.0.0/go.mod h1:Pf5mBqqDxYaXu3hDrrU+w6nw50o/4+TcAqDqk/vUH7g=206github.com/VividCortex/gohistogram v1.0.0/go.mod h1:Pf5mBqqDxYaXu3hDrrU+w6nw50o/4+TcAqDqk/vUH7g=
@@ -159,6 +215,7 @@ github.com/alecthomas/units v0.0.0-20190717042225-c3de453c63f4/go.mod h1:ybxpYRF
159github.com/alecthomas/units v0.0.0-20190924025748-f65c72e2690d/go.mod h1:rBZYJk541a8SKzHPHnH3zbiI+7dagKZ0cgpgrD7Fyho=215github.com/alecthomas/units v0.0.0-20190924025748-f65c72e2690d/go.mod h1:rBZYJk541a8SKzHPHnH3zbiI+7dagKZ0cgpgrD7Fyho=
160github.com/alecthomas/units v0.0.0-20210208195552-ff826a37aa15 h1:AUNCr9CiJuwrRYS3XieqF+Z9B9gNxo/eANAJCF2eiN4=216github.com/alecthomas/units v0.0.0-20210208195552-ff826a37aa15 h1:AUNCr9CiJuwrRYS3XieqF+Z9B9gNxo/eANAJCF2eiN4=
161github.com/alecthomas/units v0.0.0-20210208195552-ff826a37aa15/go.mod h1:OMCwj8VM1Kc9e19TLln2VL61YJF0x1XFtfdL4JdbSyE=217github.com/alecthomas/units v0.0.0-20210208195552-ff826a37aa15/go.mod h1:OMCwj8VM1Kc9e19TLln2VL61YJF0x1XFtfdL4JdbSyE=
218github.com/alexflint/go-filemutex v0.0.0-20171022225611-72bdc8eae2ae/go.mod h1:CgnQgUtFrFz9mxFNtED3jI5tLDjKlOM+oUF/sTk6ps0=
162github.com/alicebob/gopher-json v0.0.0-20200520072559-a9ecdc9d1d3a h1:HbKu58rmZpUGpz5+4FfNmIU+FmZg2P3Xaj2v2bfNWmk=219github.com/alicebob/gopher-json v0.0.0-20200520072559-a9ecdc9d1d3a h1:HbKu58rmZpUGpz5+4FfNmIU+FmZg2P3Xaj2v2bfNWmk=
163github.com/alicebob/gopher-json v0.0.0-20200520072559-a9ecdc9d1d3a/go.mod h1:SGnFV6hVsYE877CKEZ6tDNTjaSXYUk6QqoIK6PrAtcc=220github.com/alicebob/gopher-json v0.0.0-20200520072559-a9ecdc9d1d3a/go.mod h1:SGnFV6hVsYE877CKEZ6tDNTjaSXYUk6QqoIK6PrAtcc=
164github.com/alicebob/miniredis v2.5.0+incompatible h1:yBHoLpsyjupjz3NL3MhKMVkR41j82Yjf3KFv7ApYzUI=221github.com/alicebob/miniredis v2.5.0+incompatible h1:yBHoLpsyjupjz3NL3MhKMVkR41j82Yjf3KFv7ApYzUI=
@@ -170,16 +227,20 @@ github.com/aliyun/aliyun-oss-go-sdk v2.0.4+incompatible/go.mod h1:T/Aws4fEfogEE9
170github.com/andreyvit/diff v0.0.0-20170406064948-c7f18ee00883/go.mod h1:rCTlJbsFo29Kk6CurOXKm700vrz8f0KW0JNfpkRJY/8=227github.com/andreyvit/diff v0.0.0-20170406064948-c7f18ee00883/go.mod h1:rCTlJbsFo29Kk6CurOXKm700vrz8f0KW0JNfpkRJY/8=
171github.com/antihax/optional v0.0.0-20180407024304-ca021399b1a6/go.mod h1:V8iCPQYkqmusNa815XgQio277wI47sdRh1dUOLdyC6Q=228github.com/antihax/optional v0.0.0-20180407024304-ca021399b1a6/go.mod h1:V8iCPQYkqmusNa815XgQio277wI47sdRh1dUOLdyC6Q=
172github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY=229github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY=
230github.com/aokoli/goutils v1.0.1/go.mod h1:SijmP0QR8LtwsmDs8Yii5Z/S4trXFGFC2oO5g9DP+DQ=
173github.com/apache/arrow/go/arrow v0.0.0-20191024131854-af6fa24be0db/go.mod h1:VTxUBvSJ3s3eHAg65PNgrsn5BtqCRPdmyXh6rAfdxN0=231github.com/apache/arrow/go/arrow v0.0.0-20191024131854-af6fa24be0db/go.mod h1:VTxUBvSJ3s3eHAg65PNgrsn5BtqCRPdmyXh6rAfdxN0=
232github.com/apache/arrow/go/arrow v0.0.0-20200923215132-ac86123a3f01/go.mod h1:QNYViu/X0HXDHw7m3KXzWSVXIbfUvJqBFe6Gj8/pYA0=
174github.com/apache/thrift v0.12.0/go.mod h1:cp2SuWMxlEZw2r+iP2GNCdIi4C1qmUzdZFSVb+bacwQ=233github.com/apache/thrift v0.12.0/go.mod h1:cp2SuWMxlEZw2r+iP2GNCdIi4C1qmUzdZFSVb+bacwQ=
175github.com/apache/thrift v0.13.0/go.mod h1:cp2SuWMxlEZw2r+iP2GNCdIi4C1qmUzdZFSVb+bacwQ=234github.com/apache/thrift v0.13.0/go.mod h1:cp2SuWMxlEZw2r+iP2GNCdIi4C1qmUzdZFSVb+bacwQ=
176github.com/armon/circbuf v0.0.0-20150827004946-bbbad097214e/go.mod h1:3U/XgcO3hCbHZ8TKRvWD2dDTCfh9M9ya+I9JpbB7O8o=235github.com/armon/circbuf v0.0.0-20150827004946-bbbad097214e/go.mod h1:3U/XgcO3hCbHZ8TKRvWD2dDTCfh9M9ya+I9JpbB7O8o=
236github.com/armon/consul-api v0.0.0-20180202201655-eb2c6b5be1b6/go.mod h1:grANhF5doyWs3UAsr3K4I6qtAmlQcZDesFNEHPZAzj8=
177github.com/armon/go-metrics v0.0.0-20180917152333-f0300d1749da/go.mod h1:Q73ZrmVTwzkszR9V5SSuryQ31EELlFMUz1kKyl939pY=237github.com/armon/go-metrics v0.0.0-20180917152333-f0300d1749da/go.mod h1:Q73ZrmVTwzkszR9V5SSuryQ31EELlFMUz1kKyl939pY=
178github.com/armon/go-metrics v0.0.0-20190430140413-ec5e00d3c878/go.mod h1:3AMJUQhVx52RsWOnlkpikZr01T/yAVN2gn0861vByNg=238github.com/armon/go-metrics v0.0.0-20190430140413-ec5e00d3c878/go.mod h1:3AMJUQhVx52RsWOnlkpikZr01T/yAVN2gn0861vByNg=
179github.com/armon/go-metrics v0.3.0/go.mod h1:zXjbSimjXTd7vOpY8B0/2LpvNvDoXBuplAD+gJD3GYs=239github.com/armon/go-metrics v0.3.0/go.mod h1:zXjbSimjXTd7vOpY8B0/2LpvNvDoXBuplAD+gJD3GYs=
180github.com/armon/go-metrics v0.3.3/go.mod h1:4O98XIr/9W0sxpJ8UaYkvjk10Iff7SnFrb4QAOwNTFc=240github.com/armon/go-metrics v0.3.3/go.mod h1:4O98XIr/9W0sxpJ8UaYkvjk10Iff7SnFrb4QAOwNTFc=
181github.com/armon/go-metrics v0.3.6 h1:x/tmtOF9cDBoXH7XoAGOz2qqm1DknFD1590XmD/DUJ8=
182github.com/armon/go-metrics v0.3.6/go.mod h1:4O98XIr/9W0sxpJ8UaYkvjk10Iff7SnFrb4QAOwNTFc=241github.com/armon/go-metrics v0.3.6/go.mod h1:4O98XIr/9W0sxpJ8UaYkvjk10Iff7SnFrb4QAOwNTFc=
242github.com/armon/go-metrics v0.3.9 h1:O2sNqxBdvq8Eq5xmzljcYzAORli6RWCvEym4cJf9m18=
243github.com/armon/go-metrics v0.3.9/go.mod h1:4O98XIr/9W0sxpJ8UaYkvjk10Iff7SnFrb4QAOwNTFc=
183github.com/armon/go-radix v0.0.0-20180808171621-7fddfc383310/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8=244github.com/armon/go-radix v0.0.0-20180808171621-7fddfc383310/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8=
184github.com/armon/go-radix v1.0.0/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8=245github.com/armon/go-radix v1.0.0/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8=
185github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5/go.mod h1:wHh0iHkYZB8zMSxRWpUBQtwG5a7fFgvEO+odwuTv2gs=246github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5/go.mod h1:wHh0iHkYZB8zMSxRWpUBQtwG5a7fFgvEO+odwuTv2gs=
@@ -191,25 +252,25 @@ github.com/asaskevich/govalidator v0.0.0-20200428143746-21a406dcc535/go.mod h1:o
191github.com/asaskevich/govalidator v0.0.0-20200907205600-7a23bdc65eef h1:46PFijGLmAjMPwCCCo7Jf0W6f9slllCkkv7vyc1yOSg=252github.com/asaskevich/govalidator v0.0.0-20200907205600-7a23bdc65eef h1:46PFijGLmAjMPwCCCo7Jf0W6f9slllCkkv7vyc1yOSg=
192github.com/asaskevich/govalidator v0.0.0-20200907205600-7a23bdc65eef/go.mod h1:WaHUgvxTVq04UNunO+XhnAqY/wQc+bxr74GqbsZ/Jqw=253github.com/asaskevich/govalidator v0.0.0-20200907205600-7a23bdc65eef/go.mod h1:WaHUgvxTVq04UNunO+XhnAqY/wQc+bxr74GqbsZ/Jqw=
193github.com/aws/aws-lambda-go v1.13.3/go.mod h1:4UKl9IzQMoD+QF79YdCuzCwp8VbmG4VAQwij/eHl5CU=254github.com/aws/aws-lambda-go v1.13.3/go.mod h1:4UKl9IzQMoD+QF79YdCuzCwp8VbmG4VAQwij/eHl5CU=
194github.com/aws/aws-sdk-go v1.15.78/go.mod h1:E3/ieXAlvM0XWO57iftYVDLLvQ824smPP3ATZkfNZeM=255github.com/aws/aws-sdk-go v1.40.37 h1:I+Q6cLctkFyMMrKukcDnj+i2kjrQ37LGiOM6xmsxC48=
195github.com/aws/aws-sdk-go v1.17.7/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo=256github.com/aws/aws-sdk-go v1.40.37/go.mod h1:585smgzpB/KqRA+K3y/NL/oYRqQvpNJYvLm+LY1U59Q=
196github.com/aws/aws-sdk-go v1.22.4/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo=
197github.com/aws/aws-sdk-go v1.25.48/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo=
198github.com/aws/aws-sdk-go v1.27.0/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo=
199github.com/aws/aws-sdk-go v1.31.9/go.mod h1:5zCpMtNQVjRREroY7sYe8lOMRSxkhG6MZveU8YkpAk0=
200github.com/aws/aws-sdk-go v1.33.5/go.mod h1:5zCpMtNQVjRREroY7sYe8lOMRSxkhG6MZveU8YkpAk0=
201github.com/aws/aws-sdk-go v1.33.12/go.mod h1:5zCpMtNQVjRREroY7sYe8lOMRSxkhG6MZveU8YkpAk0=
202github.com/aws/aws-sdk-go v1.34.9/go.mod h1:5zCpMtNQVjRREroY7sYe8lOMRSxkhG6MZveU8YkpAk0=
203github.com/aws/aws-sdk-go v1.34.28/go.mod h1:H7NKnBqNVzoTJpGfLrQkkD+ytBA93eiDYi/+8rV9s48=
204github.com/aws/aws-sdk-go v1.35.5/go.mod h1:tlPOdRjfxPBpNIwqDj61rmsnA85v9jc0Ps9+muhnW+k=
205github.com/aws/aws-sdk-go v1.35.31/go.mod h1:hcU610XS61/+aQV88ixoOzUoG7v3b31pl2zKMmprdro=
206github.com/aws/aws-sdk-go v1.37.8/go.mod h1:hcU610XS61/+aQV88ixoOzUoG7v3b31pl2zKMmprdro=
207github.com/aws/aws-sdk-go v1.38.3/go.mod h1:hcU610XS61/+aQV88ixoOzUoG7v3b31pl2zKMmprdro=
208github.com/aws/aws-sdk-go v1.38.35 h1:7AlAO0FC+8nFjxiGKEmq0QLpiA8/XFr6eIxgRTwkdTg=
209github.com/aws/aws-sdk-go v1.38.35/go.mod h1:hcU610XS61/+aQV88ixoOzUoG7v3b31pl2zKMmprdro=
210github.com/aws/aws-sdk-go-v2 v0.18.0/go.mod h1:JWVYvqSMppoMJC0x5wdwiImzgXTI9FuZwxzkQq9wy+g=257github.com/aws/aws-sdk-go-v2 v0.18.0/go.mod h1:JWVYvqSMppoMJC0x5wdwiImzgXTI9FuZwxzkQq9wy+g=
258github.com/aws/aws-sdk-go-v2 v1.7.0/go.mod h1:tb9wi5s61kTDA5qCkcDbt3KRVV74GGslQkl/DRdX/P4=
259github.com/aws/aws-sdk-go-v2 v1.9.1/go.mod h1:cK/D0BBs0b/oWPIcX/Z/obahJK1TT7IPVjy53i/mX/4=
260github.com/aws/aws-sdk-go-v2/service/cloudwatch v1.5.0/go.mod h1:acH3+MQoiMzozT/ivU+DbRg7Ooo2298RdRaWcOv+4vM=
261github.com/aws/aws-sdk-go-v2/service/cloudwatch v1.8.1/go.mod h1:CM+19rL1+4dFWnOQKwDc7H1KwXTz+h61oUSHyhV0b3o=
262github.com/aws/smithy-go v1.5.0/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E=
263github.com/aws/smithy-go v1.8.0/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E=
264github.com/baidubce/bce-sdk-go v0.9.81 h1:n8KfThLG9fvGv3A+RtTt/jKhg/FPPRpo+iNnS2r+iPI=
265github.com/baidubce/bce-sdk-go v0.9.81/go.mod h1:zbYJMQwE4IZuyrJiFO8tO8NbtYiKTFTbwh4eIsqjVdg=
211github.com/baiyubin/aliyun-sts-go-sdk v0.0.0-20180326062324-cfa1a18b161f/go.mod h1:AuiFmCCPBSrqvVMvuqFuk0qogytodnVFVSN5CeJB8Gc=266github.com/baiyubin/aliyun-sts-go-sdk v0.0.0-20180326062324-cfa1a18b161f/go.mod h1:AuiFmCCPBSrqvVMvuqFuk0qogytodnVFVSN5CeJB8Gc=
212github.com/beevik/ntp v0.2.0/go.mod h1:hIHWr+l3+/clUnF44zdK+CWW7fO8dR5cIylAQ76NRpg=267github.com/beevik/ntp v0.2.0/go.mod h1:hIHWr+l3+/clUnF44zdK+CWW7fO8dR5cIylAQ76NRpg=
268github.com/benbjohnson/clock v1.0.3/go.mod h1:bGMdMPoPVvcYyt1gHDf4J2KE153Yf9BuiUKYMaxlTDM=
269github.com/benbjohnson/clock v1.1.0 h1:Q92kusRqC1XV2MjkWETPvjJVqKetz1OzxZB7mHJLju8=
270github.com/benbjohnson/clock v1.1.0/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA=
271github.com/benbjohnson/immutable v0.2.1/go.mod h1:uc6OHo6PN2++n98KHLxW8ef4W42ylHiQSENghE1ezxI=
272github.com/benbjohnson/tmpl v1.0.0/go.mod h1:igT620JFIi44B6awvU9IsDhR77IXWtFigTLil/RPdps=
273github.com/beorn7/perks v0.0.0-20160804104726-4c0e84591b9a/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q=
213github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q=274github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q=
214github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8=275github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8=
215github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM=276github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM=
@@ -217,43 +278,66 @@ github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6r
217github.com/bgentry/speakeasy v0.1.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs=278github.com/bgentry/speakeasy v0.1.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs=
218github.com/bitly/go-hostpool v0.0.0-20171023180738-a3a6125de932 h1:mXoPYz/Ul5HYEDvkta6I8/rnYM5gSdSV2tJ6XbZuEtY=279github.com/bitly/go-hostpool v0.0.0-20171023180738-a3a6125de932 h1:mXoPYz/Ul5HYEDvkta6I8/rnYM5gSdSV2tJ6XbZuEtY=
219github.com/bitly/go-hostpool v0.0.0-20171023180738-a3a6125de932/go.mod h1:NOuUCSz6Q9T7+igc/hlvDOUdtWKryOrtFyIVABv/p7k=280github.com/bitly/go-hostpool v0.0.0-20171023180738-a3a6125de932/go.mod h1:NOuUCSz6Q9T7+igc/hlvDOUdtWKryOrtFyIVABv/p7k=
281github.com/bitly/go-simplejson v0.5.0/go.mod h1:cXHtHw4XUPsvGaxgjIAn8PhEWG9NfngEKAMDJEczWVA=
220github.com/bketelsen/crypt v0.0.3-0.20200106085610-5cbc8cc4026c/go.mod h1:MKsuJmJgSg28kpZDP6UIiPt0e0Oz0kqKNGyRaWEPv84=282github.com/bketelsen/crypt v0.0.3-0.20200106085610-5cbc8cc4026c/go.mod h1:MKsuJmJgSg28kpZDP6UIiPt0e0Oz0kqKNGyRaWEPv84=
283github.com/blang/semver v3.1.0+incompatible/go.mod h1:kRBLl5iJ+tD4TcOOxsy/0fnwebNt5EWlYSAyrTnjyyk=
221github.com/blang/semver v3.5.0+incompatible/go.mod h1:kRBLl5iJ+tD4TcOOxsy/0fnwebNt5EWlYSAyrTnjyyk=284github.com/blang/semver v3.5.0+incompatible/go.mod h1:kRBLl5iJ+tD4TcOOxsy/0fnwebNt5EWlYSAyrTnjyyk=
285github.com/blang/semver v3.5.1+incompatible h1:cQNTCjp13qL8KC3Nbxr/y2Bqb63oX6wdnnjpJbkM4JQ=
286github.com/blang/semver v3.5.1+incompatible/go.mod h1:kRBLl5iJ+tD4TcOOxsy/0fnwebNt5EWlYSAyrTnjyyk=
287github.com/blang/semver/v4 v4.0.0 h1:1PFHFE6yCCTv8C1TeyNNarDzntLi7wMI5i/pzqYIsAM=
288github.com/blang/semver/v4 v4.0.0/go.mod h1:IbckMUScFkM3pff0VJDNKRiT6TG/YpiHIM2yvyW5YoQ=
222github.com/bmizerany/assert v0.0.0-20160611221934-b7ed37b82869 h1:DDGfHa7BWjL4YnC6+E63dPcxHo2sUxDIu8g3QgEJdRY=289github.com/bmizerany/assert v0.0.0-20160611221934-b7ed37b82869 h1:DDGfHa7BWjL4YnC6+E63dPcxHo2sUxDIu8g3QgEJdRY=
223github.com/bmizerany/assert v0.0.0-20160611221934-b7ed37b82869/go.mod h1:Ekp36dRnpXw/yCqJaO+ZrUyxD+3VXMFFr56k5XYrpB4=290github.com/bmizerany/assert v0.0.0-20160611221934-b7ed37b82869/go.mod h1:Ekp36dRnpXw/yCqJaO+ZrUyxD+3VXMFFr56k5XYrpB4=
224github.com/bmizerany/pat v0.0.0-20170815010413-6226ea591a40/go.mod h1:8rLXio+WjiTceGBHIoTvn60HIbs7Hm7bcHjyrSqYB9c=291github.com/bmizerany/pat v0.0.0-20170815010413-6226ea591a40/go.mod h1:8rLXio+WjiTceGBHIoTvn60HIbs7Hm7bcHjyrSqYB9c=
225github.com/boltdb/bolt v1.3.1/go.mod h1:clJnj/oiGkjum5o1McbSZDSLxVThjynRyGBgiAx27Ps=292github.com/boltdb/bolt v1.3.1/go.mod h1:clJnj/oiGkjum5o1McbSZDSLxVThjynRyGBgiAx27Ps=
293github.com/bonitoo-io/go-sql-bigquery v0.3.4-1.4.0/go.mod h1:J4Y6YJm0qTWB9aFziB7cPeSyc6dOZFyJdteSeybVpXQ=
294github.com/bshuster-repo/logrus-logstash-hook v0.4.1/go.mod h1:zsTqEiSzDgAa/8GZR7E1qaXrhYNDKBYy5/dWPTIflbk=
295github.com/buger/jsonparser v0.0.0-20180808090653-f4dd9f5a6b44/go.mod h1:bbYlZJ7hK1yFx9hf58LP0zeX7UjIGs20ufpu3evjr+s=
296github.com/bugsnag/bugsnag-go v0.0.0-20141110184014-b1d153021fcd/go.mod h1:2oa8nejYd4cQ/b0hMIopN0lCRxU0bueqREvZLWFrtK8=
297github.com/bugsnag/osext v0.0.0-20130617224835-0dd3f918b21b/go.mod h1:obH5gd0BsqsP2LwDJ9aOkm/6J86V6lyAXCoQWGw3K50=
298github.com/bugsnag/panicwrap v0.0.0-20151223152923-e2c28503fcd0/go.mod h1:D/8v3kj0zr8ZAKg1AQ6crr+5VwKN5eIywRkfhyM/+dE=
226github.com/c-bata/go-prompt v0.2.2/go.mod h1:VzqtzE2ksDBcdln8G7mk2RX9QyGjH+OVqOCSiVIqS34=299github.com/c-bata/go-prompt v0.2.2/go.mod h1:VzqtzE2ksDBcdln8G7mk2RX9QyGjH+OVqOCSiVIqS34=
300github.com/cactus/go-statsd-client/statsd v0.0.0-20191106001114-12b4e2b38748/go.mod h1:l/bIBLeOl9eX+wxJAzxS4TveKRtAqlyDpHjhkfO0MEI=
227github.com/casbin/casbin/v2 v2.1.2/go.mod h1:YcPU1XXisHhLzuxH9coDNf2FbKpjGlbCg3n9yuLkIJQ=301github.com/casbin/casbin/v2 v2.1.2/go.mod h1:YcPU1XXisHhLzuxH9coDNf2FbKpjGlbCg3n9yuLkIJQ=
302github.com/casbin/casbin/v2 v2.31.6/go.mod h1:vByNa/Fchek0KZUgG5wEsl7iFsiviAYKRtgrQfcJqHg=
303github.com/casbin/casbin/v2 v2.37.0/go.mod h1:vByNa/Fchek0KZUgG5wEsl7iFsiviAYKRtgrQfcJqHg=
228github.com/cenkalti/backoff v0.0.0-20181003080854-62661b46c409/go.mod h1:90ReRw6GdpyfrHakVjL/QHaoyV4aDUVVkXQJJJ3NXXM=304github.com/cenkalti/backoff v0.0.0-20181003080854-62661b46c409/go.mod h1:90ReRw6GdpyfrHakVjL/QHaoyV4aDUVVkXQJJJ3NXXM=
229github.com/cenkalti/backoff v1.0.0/go.mod h1:90ReRw6GdpyfrHakVjL/QHaoyV4aDUVVkXQJJJ3NXXM=305github.com/cenkalti/backoff v1.0.0/go.mod h1:90ReRw6GdpyfrHakVjL/QHaoyV4aDUVVkXQJJJ3NXXM=
230github.com/cenkalti/backoff v2.2.1+incompatible h1:tNowT99t7UNflLxfYYSlKYsBpXdEet03Pg2g16Swow4=306github.com/cenkalti/backoff v2.2.1+incompatible h1:tNowT99t7UNflLxfYYSlKYsBpXdEet03Pg2g16Swow4=
231github.com/cenkalti/backoff v2.2.1+incompatible/go.mod h1:90ReRw6GdpyfrHakVjL/QHaoyV4aDUVVkXQJJJ3NXXM=307github.com/cenkalti/backoff v2.2.1+incompatible/go.mod h1:90ReRw6GdpyfrHakVjL/QHaoyV4aDUVVkXQJJJ3NXXM=
232github.com/cenkalti/backoff/v4 v4.0.2/go.mod h1:eEew/i+1Q6OrCDZh3WiXYv3+nJwBASZ8Bog/87DQnVg=308github.com/cenkalti/backoff/v4 v4.0.2/go.mod h1:eEew/i+1Q6OrCDZh3WiXYv3+nJwBASZ8Bog/87DQnVg=
233github.com/cenkalti/backoff/v4 v4.1.0 h1:c8LkOFQTzuO0WBM/ae5HdGQuZPfPxp7lqBRwQRm4fSc=
234github.com/cenkalti/backoff/v4 v4.1.0/go.mod h1:scbssz8iZGpm3xbr14ovlUdkxfGXNInqkPWOWmG2CLw=309github.com/cenkalti/backoff/v4 v4.1.0/go.mod h1:scbssz8iZGpm3xbr14ovlUdkxfGXNInqkPWOWmG2CLw=
310github.com/cenkalti/backoff/v4 v4.1.1 h1:G2HAfAmvm/GcKan2oOQpBXOd2tT2G57ZnZGWa1PxPBQ=
311github.com/cenkalti/backoff/v4 v4.1.1/go.mod h1:scbssz8iZGpm3xbr14ovlUdkxfGXNInqkPWOWmG2CLw=
235github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU=312github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU=
236github.com/certifi/gocertifi v0.0.0-20191021191039-0944d244cd40 h1:xvUo53O5MRZhVMJAxWCJcS5HHrqAiAG9SJ1LpMu6aAI=
237github.com/certifi/gocertifi v0.0.0-20191021191039-0944d244cd40/go.mod h1:sGbDF6GwGcLpkNXPUTkMRoywsNa/ol15pxFe6ERfguA=313github.com/certifi/gocertifi v0.0.0-20191021191039-0944d244cd40/go.mod h1:sGbDF6GwGcLpkNXPUTkMRoywsNa/ol15pxFe6ERfguA=
314github.com/certifi/gocertifi v0.0.0-20200922220541-2c3bb06c6054 h1:uH66TXeswKn5PW5zdZ39xEwfS9an067BirqA+P4QaLI=
315github.com/certifi/gocertifi v0.0.0-20200922220541-2c3bb06c6054/go.mod h1:sGbDF6GwGcLpkNXPUTkMRoywsNa/ol15pxFe6ERfguA=
238github.com/cespare/xxhash v0.0.0-20181017004759-096ff4a8a059/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc=316github.com/cespare/xxhash v0.0.0-20181017004759-096ff4a8a059/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc=
239github.com/cespare/xxhash v1.1.0 h1:a6HrQnmkObjyL+Gs60czilIUGqrzKutQD6XZog3p+ko=317github.com/cespare/xxhash v1.1.0 h1:a6HrQnmkObjyL+Gs60czilIUGqrzKutQD6XZog3p+ko=
240github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc=318github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc=
241github.com/cespare/xxhash/v2 v2.1.0/go.mod h1:dgIUBU3pDso/gPgZ1osOZ0iQf77oPR28Tjxl5dIMyVM=319github.com/cespare/xxhash/v2 v2.1.0/go.mod h1:dgIUBU3pDso/gPgZ1osOZ0iQf77oPR28Tjxl5dIMyVM=
242github.com/cespare/xxhash/v2 v2.1.1 h1:6MnRN8NT7+YBpUIWxHtefFZOKTAPgGjpQSxqLNn0+qY=
243github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs=320github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs=
321github.com/cespare/xxhash/v2 v2.1.2 h1:YRXhKfTDauu4ajMg1TPgFO5jnlC2HCbmLXMcTG5cbYE=
322github.com/cespare/xxhash/v2 v2.1.2/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs=
323github.com/checkpoint-restore/go-criu/v4 v4.1.0/go.mod h1:xUQBLp4RLc5zJtWY++yjOoMoB5lihDt7fai+75m+rGw=
244github.com/chromedp/cdproto v0.0.0-20200116234248-4da64dd111ac/go.mod h1:PfAWWKJqjlGFYJEidUM6aVIWPr0EpobeyVWEEmplX7g=324github.com/chromedp/cdproto v0.0.0-20200116234248-4da64dd111ac/go.mod h1:PfAWWKJqjlGFYJEidUM6aVIWPr0EpobeyVWEEmplX7g=
245github.com/chromedp/cdproto v0.0.0-20200424080200-0de008e41fa0/go.mod h1:PfAWWKJqjlGFYJEidUM6aVIWPr0EpobeyVWEEmplX7g=325github.com/chromedp/cdproto v0.0.0-20200424080200-0de008e41fa0/go.mod h1:PfAWWKJqjlGFYJEidUM6aVIWPr0EpobeyVWEEmplX7g=
246github.com/chromedp/chromedp v0.5.3/go.mod h1:YLdPtndaHQ4rCpSpBG+IPpy9JvX0VD+7aaLxYgYj28w=326github.com/chromedp/chromedp v0.5.3/go.mod h1:YLdPtndaHQ4rCpSpBG+IPpy9JvX0VD+7aaLxYgYj28w=
247github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI=327github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI=
248github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI=328github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI=
249github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU=329github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU=
330github.com/cilium/ebpf v0.0.0-20200110133405-4032b1d8aae3/go.mod h1:MA5e5Lr8slmEg9bt0VpxxWqJlO4iwu3FBdHUzV7wQVg=
331github.com/cilium/ebpf v0.0.0-20200702112145-1c8d4c9ef775/go.mod h1:7cR51M8ViRLIdUjrmSXlK9pkrsDlLHbO8jiB8X8JnOc=
332github.com/cilium/ebpf v0.2.0/go.mod h1:To2CFviqOWL/M0gIMsvSMlqe7em/l1ALkX1PyjrX2Qs=
333github.com/cilium/ebpf v0.4.0/go.mod h1:4tRaxcgiL706VnOzHOdBlY8IEAIdxINsQBcU4xJJXRs=
250github.com/circonus-labs/circonus-gometrics v2.3.1+incompatible/go.mod h1:nmEj6Dob7S7YxXgwXpfOuvO54S+tGdZdw9fuRZt25Ag=334github.com/circonus-labs/circonus-gometrics v2.3.1+incompatible/go.mod h1:nmEj6Dob7S7YxXgwXpfOuvO54S+tGdZdw9fuRZt25Ag=
251github.com/circonus-labs/circonusllhist v0.1.3/go.mod h1:kMXHVDlOchFAehlya5ePtbp5jckzBHf4XRpQvBOLI+I=335github.com/circonus-labs/circonusllhist v0.1.3/go.mod h1:kMXHVDlOchFAehlya5ePtbp5jckzBHf4XRpQvBOLI+I=
336github.com/clbanning/mxj v1.8.4/go.mod h1:BVjHeAH+rl9rs6f+QIpeRl0tfu10SXn1pUSa5PVGJng=
252github.com/clbanning/x2j v0.0.0-20191024224557-825249438eec/go.mod h1:jMjuTZXRI4dUb/I5gc9Hdhagfvm9+RyrPryS/auMzxE=337github.com/clbanning/x2j v0.0.0-20191024224557-825249438eec/go.mod h1:jMjuTZXRI4dUb/I5gc9Hdhagfvm9+RyrPryS/auMzxE=
253github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw=
254github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc=
255github.com/cncf/udpa/go v0.0.0-20200629203442-efcf912fb354/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk=
256github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk=338github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk=
339github.com/cncf/xds/go v0.0.0-20210312221358-fbca930ec8ed h1:OZmjad4L3H8ncOIR8rnb5MREYqG8ixi5+WbeUsquF0c=
340github.com/cncf/xds/go v0.0.0-20210312221358-fbca930ec8ed/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs=
257github.com/cockroachdb/apd v1.1.0/go.mod h1:8Sl8LxpKi29FqWXR16WEFZRNSz3SoPzUzeMeY4+DwBQ=341github.com/cockroachdb/apd v1.1.0/go.mod h1:8Sl8LxpKi29FqWXR16WEFZRNSz3SoPzUzeMeY4+DwBQ=
258github.com/cockroachdb/cockroach-go v0.0.0-20181001143604-e0a95dfd547c/go.mod h1:XGLbWH/ujMcbPbhZq52Nv6UrCghb1yGn//133kEsvDk=342github.com/cockroachdb/cockroach-go v0.0.0-20181001143604-e0a95dfd547c/go.mod h1:XGLbWH/ujMcbPbhZq52Nv6UrCghb1yGn//133kEsvDk=
259github.com/cockroachdb/datadriven v0.0.0-20190531201743-edce55837238/go.mod h1:zn76sxSg3SzpJ0PPJaLDCu+Bu0Lg3sKTORVIj19EIF8=343github.com/cockroachdb/datadriven v0.0.0-20190531201743-edce55837238/go.mod h1:zn76sxSg3SzpJ0PPJaLDCu+Bu0Lg3sKTORVIj19EIF8=
@@ -265,23 +349,114 @@ github.com/cockroachdb/errors v1.2.4/go.mod h1:rQD95gz6FARkaKkQXUksEje/d9a6wBJoC
265github.com/cockroachdb/logtags v0.0.0-20190617123548-eb05cc24525f h1:o/kfcElHqOiXqcou5a3rIlMc7oJbMQkeLk0VQJ7zgqY=349github.com/cockroachdb/logtags v0.0.0-20190617123548-eb05cc24525f h1:o/kfcElHqOiXqcou5a3rIlMc7oJbMQkeLk0VQJ7zgqY=
266github.com/cockroachdb/logtags v0.0.0-20190617123548-eb05cc24525f/go.mod h1:i/u985jwjWRlyHXQbwatDASoW0RMlZ/3i9yJHE2xLkI=350github.com/cockroachdb/logtags v0.0.0-20190617123548-eb05cc24525f/go.mod h1:i/u985jwjWRlyHXQbwatDASoW0RMlZ/3i9yJHE2xLkI=
267github.com/codahale/hdrhistogram v0.0.0-20161010025455-3a0bb77429bd/go.mod h1:sE/e/2PUdi/liOCUjSTXgM1o87ZssimdTWN964YiIeI=351github.com/codahale/hdrhistogram v0.0.0-20161010025455-3a0bb77429bd/go.mod h1:sE/e/2PUdi/liOCUjSTXgM1o87ZssimdTWN964YiIeI=
352github.com/containerd/aufs v0.0.0-20200908144142-dab0cbea06f4/go.mod h1:nukgQABAEopAHvB6j7cnP5zJ+/3aVcE7hCYqvIwAHyE=
353github.com/containerd/aufs v0.0.0-20201003224125-76a6863f2989/go.mod h1:AkGGQs9NM2vtYHaUen+NljV0/baGCAPELGm2q9ZXpWU=
354github.com/containerd/aufs v0.0.0-20210316121734-20793ff83c97/go.mod h1:kL5kd6KM5TzQjR79jljyi4olc1Vrx6XBlcyj3gNv2PU=
355github.com/containerd/aufs v1.0.0/go.mod h1:kL5kd6KM5TzQjR79jljyi4olc1Vrx6XBlcyj3gNv2PU=
356github.com/containerd/btrfs v0.0.0-20201111183144-404b9149801e/go.mod h1:jg2QkJcsabfHugurUvvPhS3E08Oxiuh5W/g1ybB4e0E=
357github.com/containerd/btrfs v0.0.0-20210316141732-918d888fb676/go.mod h1:zMcX3qkXTAi9GI50+0HOeuV8LU2ryCE/V2vG/ZBiTss=
358github.com/containerd/btrfs v1.0.0/go.mod h1:zMcX3qkXTAi9GI50+0HOeuV8LU2ryCE/V2vG/ZBiTss=
359github.com/containerd/cgroups v0.0.0-20190717030353-c4b9ac5c7601/go.mod h1:X9rLEHIqSf/wfK8NsPqxJmeZgW4pcfzdXITDrUSJ6uI=
360github.com/containerd/cgroups v0.0.0-20190919134610-bf292b21730f/go.mod h1:OApqhQ4XNSNC13gXIwDjhOQxjWa/NxkwZXJ1EvqT0ko=
361github.com/containerd/cgroups v0.0.0-20200531161412-0dbf7f05ba59/go.mod h1:pA0z1pT8KYB3TCXK/ocprsh7MAkoW8bZVzPdih9snmM=
362github.com/containerd/cgroups v0.0.0-20200710171044-318312a37340/go.mod h1:s5q4SojHctfxANBDvMeIaIovkq29IP48TKAxnhYRxvo=
363github.com/containerd/cgroups v0.0.0-20200824123100-0b889c03f102/go.mod h1:s5q4SojHctfxANBDvMeIaIovkq29IP48TKAxnhYRxvo=
364github.com/containerd/cgroups v0.0.0-20210114181951-8a68de567b68/go.mod h1:ZJeTFisyysqgcCdecO57Dj79RfL0LNeGiFUqLYQRYLE=
365github.com/containerd/cgroups v1.0.1/go.mod h1:0SJrPIenamHDcZhEcJMNBB85rHcUsw4f25ZfBiPYRkU=
366github.com/containerd/console v0.0.0-20180822173158-c12b1e7919c1/go.mod h1:Tj/on1eG8kiEhd0+fhSDzsPAFESxzBBvdyEgyryXffw=
367github.com/containerd/console v0.0.0-20181022165439-0650fd9eeb50/go.mod h1:Tj/on1eG8kiEhd0+fhSDzsPAFESxzBBvdyEgyryXffw=
368github.com/containerd/console v0.0.0-20191206165004-02ecf6a7291e/go.mod h1:8Pf4gM6VEbTNRIT26AyyU7hxdQU3MvAvxVI0sc00XBE=
369github.com/containerd/console v1.0.1/go.mod h1:XUsP6YE/mKtz6bxc+I8UiKKTP04qjQL4qcS3XoQ5xkw=
370github.com/containerd/console v1.0.2/go.mod h1:ytZPjGgY2oeTkAONYafi2kSj0aYggsf8acV1PGKCbzQ=
268github.com/containerd/containerd v1.2.7/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA=371github.com/containerd/containerd v1.2.7/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA=
372github.com/containerd/containerd v1.2.10/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA=
373github.com/containerd/containerd v1.3.0-beta.2.0.20190828155532-0293cbd26c69/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA=
374github.com/containerd/containerd v1.3.0/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA=
375github.com/containerd/containerd v1.3.1-0.20191213020239-082f7e3aed57/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA=
376github.com/containerd/containerd v1.3.2/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA=
269github.com/containerd/containerd v1.3.4/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA=377github.com/containerd/containerd v1.3.4/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA=
270github.com/containerd/containerd v1.4.3 h1:ijQT13JedHSHrQGWFcGEwzcNKrAGIiZ+jSD5QQG07SY=378github.com/containerd/containerd v1.4.0-beta.2.0.20200729163537-40b22ef07410/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA=
379github.com/containerd/containerd v1.4.1/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA=
271github.com/containerd/containerd v1.4.3/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA=380github.com/containerd/containerd v1.4.3/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA=
381github.com/containerd/containerd v1.5.0-beta.1/go.mod h1:5HfvG1V2FsKesEGQ17k5/T7V960Tmcumvqn8Mc+pCYQ=
382github.com/containerd/containerd v1.5.0-beta.3/go.mod h1:/wr9AVtEM7x9c+n0+stptlo/uBBoBORwEx6ardVcmKU=
383github.com/containerd/containerd v1.5.0-beta.4/go.mod h1:GmdgZd2zA2GYIBZ0w09ZvgqEq8EfBp/m3lcVZIvPHhI=
384github.com/containerd/containerd v1.5.0-rc.0/go.mod h1:V/IXoMqNGgBlabz3tHD2TWDoTJseu1FGOKuoA4nNb2s=
385github.com/containerd/containerd v1.5.1/go.mod h1:0DOxVqwDy2iZvrZp2JUx/E+hS0UNTVn7dJnIOwtYR4g=
386github.com/containerd/containerd v1.5.3/go.mod h1:sx18RgvW6ABJ4iYUw7Q5x7bgFOAB9B6G7+yO0XBc4zw=
387github.com/containerd/containerd v1.5.4 h1:uPF0og3ByFzDnaStfiQj3fVGTEtaSNyU+bW7GR/nqGA=
388github.com/containerd/containerd v1.5.4/go.mod h1:sx18RgvW6ABJ4iYUw7Q5x7bgFOAB9B6G7+yO0XBc4zw=
389github.com/containerd/continuity v0.0.0-20190426062206-aaeac12a7ffc/go.mod h1:GL3xCUCBDV3CZiTSEKksMWbLE66hEyuu9qyDOOqM47Y=
390github.com/containerd/continuity v0.0.0-20190815185530-f2a389ac0a02/go.mod h1:GL3xCUCBDV3CZiTSEKksMWbLE66hEyuu9qyDOOqM47Y=
391github.com/containerd/continuity v0.0.0-20191127005431-f65d91d395eb/go.mod h1:GL3xCUCBDV3CZiTSEKksMWbLE66hEyuu9qyDOOqM47Y=
392github.com/containerd/continuity v0.0.0-20200710164510-efbc4488d8fe/go.mod h1:cECdGN1O8G9bgKTlLhuPJimka6Xb/Gg7vYzCTNVxhvo=
393github.com/containerd/continuity v0.0.0-20201208142359-180525291bb7/go.mod h1:kR3BEg7bDFaEddKm54WSmrol1fKWDU1nKYkgrcgZT7Y=
394github.com/containerd/continuity v0.0.0-20210208174643-50096c924a4e/go.mod h1:EXlVlkqNba9rJe3j7w3Xa924itAMLgZH4UD/Q4PExuQ=
395github.com/containerd/continuity v0.1.0/go.mod h1:ICJu0PwR54nI0yPEnJ6jcS+J7CZAUXrLh8lPo2knzsM=
396github.com/containerd/fifo v0.0.0-20180307165137-3d5202aec260/go.mod h1:ODA38xgv3Kuk8dQz2ZQXpnv/UZZUHUCL7pnLehbXgQI=
397github.com/containerd/fifo v0.0.0-20190226154929-a9fb20d87448/go.mod h1:ODA38xgv3Kuk8dQz2ZQXpnv/UZZUHUCL7pnLehbXgQI=
398github.com/containerd/fifo v0.0.0-20200410184934-f15a3290365b/go.mod h1:jPQ2IAeZRCYxpS/Cm1495vGFww6ecHmMk1YJH2Q5ln0=
399github.com/containerd/fifo v0.0.0-20201026212402-0724c46b320c/go.mod h1:jPQ2IAeZRCYxpS/Cm1495vGFww6ecHmMk1YJH2Q5ln0=
400github.com/containerd/fifo v0.0.0-20210316144830-115abcc95a1d/go.mod h1:ocF/ME1SX5b1AOlWi9r677YJmCPSwwWnQ9O123vzpE4=
401github.com/containerd/fifo v1.0.0/go.mod h1:ocF/ME1SX5b1AOlWi9r677YJmCPSwwWnQ9O123vzpE4=
402github.com/containerd/go-cni v1.0.1/go.mod h1:+vUpYxKvAF72G9i1WoDOiPGRtQpqsNW/ZHtSlv++smU=
403github.com/containerd/go-cni v1.0.2/go.mod h1:nrNABBHzu0ZwCug9Ije8hL2xBCYh/pjfMb1aZGrrohk=
404github.com/containerd/go-runc v0.0.0-20180907222934-5a6d9f37cfa3/go.mod h1:IV7qH3hrUgRmyYrtgEeGWJfWbgcHL9CSRruz2Vqcph0=
405github.com/containerd/go-runc v0.0.0-20190911050354-e029b79d8cda/go.mod h1:IV7qH3hrUgRmyYrtgEeGWJfWbgcHL9CSRruz2Vqcph0=
406github.com/containerd/go-runc v0.0.0-20200220073739-7016d3ce2328/go.mod h1:PpyHrqVs8FTi9vpyHwPwiNEGaACDxT/N/pLcvMSRA9g=
407github.com/containerd/go-runc v0.0.0-20201020171139-16b287bc67d0/go.mod h1:cNU0ZbCgCQVZK4lgG3P+9tn9/PaJNmoDXPpoJhDR+Ok=
408github.com/containerd/go-runc v1.0.0/go.mod h1:cNU0ZbCgCQVZK4lgG3P+9tn9/PaJNmoDXPpoJhDR+Ok=
409github.com/containerd/imgcrypt v1.0.1/go.mod h1:mdd8cEPW7TPgNG4FpuP3sGBiQ7Yi/zak9TYCG3juvb0=
410github.com/containerd/imgcrypt v1.0.4-0.20210301171431-0ae5c75f59ba/go.mod h1:6TNsg0ctmizkrOgXRNQjAPFWpMYRWuiB6dSF4Pfa5SA=
411github.com/containerd/imgcrypt v1.1.1-0.20210312161619-7ed62a527887/go.mod h1:5AZJNI6sLHJljKuI9IHnw1pWqo/F0nGDOuR9zgTs7ow=
412github.com/containerd/imgcrypt v1.1.1/go.mod h1:xpLnwiQmEUJPvQoAapeb2SNCxz7Xr6PJrXQb0Dpc4ms=
413github.com/containerd/nri v0.0.0-20201007170849-eb1350a75164/go.mod h1:+2wGSDGFYfE5+So4M5syatU0N0f0LbWpuqyMi4/BE8c=
414github.com/containerd/nri v0.0.0-20210316161719-dbaa18c31c14/go.mod h1:lmxnXF6oMkbqs39FiCt1s0R2HSMhcLel9vNL3m4AaeY=
415github.com/containerd/nri v0.1.0/go.mod h1:lmxnXF6oMkbqs39FiCt1s0R2HSMhcLel9vNL3m4AaeY=
416github.com/containerd/ttrpc v0.0.0-20190828154514-0e0f228740de/go.mod h1:PvCDdDGpgqzQIzDW1TphrGLssLDZp2GuS+X5DkEJB8o=
417github.com/containerd/ttrpc v0.0.0-20190828172938-92c8520ef9f8/go.mod h1:PvCDdDGpgqzQIzDW1TphrGLssLDZp2GuS+X5DkEJB8o=
418github.com/containerd/ttrpc v0.0.0-20191028202541-4f1b8fe65a5c/go.mod h1:LPm1u0xBw8r8NOKoOdNMeVHSawSsltak+Ihv+etqsE8=
419github.com/containerd/ttrpc v1.0.1/go.mod h1:UAxOpgT9ziI0gJrmKvgcZivgxOp8iFPSk8httJEt98Y=
420github.com/containerd/ttrpc v1.0.2/go.mod h1:UAxOpgT9ziI0gJrmKvgcZivgxOp8iFPSk8httJEt98Y=
421github.com/containerd/typeurl v0.0.0-20180627222232-a93fcdb778cd/go.mod h1:Cm3kwCdlkCfMSHURc+r6fwoGH6/F1hH3S4sg0rLFWPc=
422github.com/containerd/typeurl v0.0.0-20190911142611-5eb25027c9fd/go.mod h1:GeKYzf2pQcqv7tJ0AoCuuhtnqhva5LNU3U+OyKxxJpk=
423github.com/containerd/typeurl v1.0.1/go.mod h1:TB1hUtrpaiO88KEK56ijojHS1+NeF0izUACaJW2mdXg=
424github.com/containerd/typeurl v1.0.2/go.mod h1:9trJWW2sRlGub4wZJRTW83VtbOLS6hwcDZXTn6oPz9s=
425github.com/containerd/zfs v0.0.0-20200918131355-0a33824f23a2/go.mod h1:8IgZOBdv8fAgXddBT4dBXJPtxyRsejFIpXoklgxgEjw=
426github.com/containerd/zfs v0.0.0-20210301145711-11e8f1707f62/go.mod h1:A9zfAbMlQwE+/is6hi0Xw8ktpL+6glmqZYtevJgaB8Y=
427github.com/containerd/zfs v0.0.0-20210315114300-dde8f0fda960/go.mod h1:m+m51S1DvAP6r3FcmYCp54bQ34pyOwTieQDNRIRHsFY=
428github.com/containerd/zfs v0.0.0-20210324211415-d5c4544f0433/go.mod h1:m+m51S1DvAP6r3FcmYCp54bQ34pyOwTieQDNRIRHsFY=
429github.com/containerd/zfs v1.0.0/go.mod h1:m+m51S1DvAP6r3FcmYCp54bQ34pyOwTieQDNRIRHsFY=
430github.com/containernetworking/cni v0.7.1/go.mod h1:LGwApLUm2FpoOfxTDEeq8T9ipbpZ61X79hmU3w8FmsY=
431github.com/containernetworking/cni v0.8.0/go.mod h1:LGwApLUm2FpoOfxTDEeq8T9ipbpZ61X79hmU3w8FmsY=
432github.com/containernetworking/cni v0.8.1/go.mod h1:LGwApLUm2FpoOfxTDEeq8T9ipbpZ61X79hmU3w8FmsY=
433github.com/containernetworking/plugins v0.8.6/go.mod h1:qnw5mN19D8fIwkqW7oHHYDHVlzhJpcY6TQxn/fUyDDM=
434github.com/containernetworking/plugins v0.9.1/go.mod h1:xP/idU2ldlzN6m4p5LmGiwRDjeJr6FLK6vuiUwoH7P8=
435github.com/containers/ocicrypt v1.0.1/go.mod h1:MeJDzk1RJHv89LjsH0Sp5KTY3ZYkjXO/C+bKAeWFIrc=
436github.com/containers/ocicrypt v1.1.0/go.mod h1:b8AOe0YR67uU8OqfVNcznfFpAzu3rdgUV4GP9qXPfu4=
437github.com/containers/ocicrypt v1.1.1/go.mod h1:Dm55fwWm1YZAjYRaJ94z2mfZikIyIN4B0oB3dj3jFxY=
272github.com/coreos/bbolt v1.3.2/go.mod h1:iRUV2dpdMOn7Bo10OQBFzIJO9kkE559Wcmn+qkEiiKk=438github.com/coreos/bbolt v1.3.2/go.mod h1:iRUV2dpdMOn7Bo10OQBFzIJO9kkE559Wcmn+qkEiiKk=
439github.com/coreos/etcd v3.3.10+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE=
440github.com/coreos/etcd v3.3.13+incompatible h1:8F3hqu9fGYLBifCmRCJsicFqDx/D68Rt3q1JMazcgBQ=
273github.com/coreos/etcd v3.3.13+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE=441github.com/coreos/etcd v3.3.13+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE=
442github.com/coreos/go-iptables v0.4.5/go.mod h1:/mVI274lEDI2ns62jHCDnCyBF9Iwsmekav8Dbxlm1MU=
443github.com/coreos/go-iptables v0.5.0/go.mod h1:/mVI274lEDI2ns62jHCDnCyBF9Iwsmekav8Dbxlm1MU=
444github.com/coreos/go-oidc v2.1.0+incompatible/go.mod h1:CgnwVTmzoESiwO9qyAFEMiHoZ1nMCKZlZ9V6mm3/LKc=
274github.com/coreos/go-semver v0.2.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk=445github.com/coreos/go-semver v0.2.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk=
275github.com/coreos/go-semver v0.3.0 h1:wkHLiw0WNATZnSG7epLsujiMCgPAc9xhjJ4tgnAxmfM=446github.com/coreos/go-semver v0.3.0 h1:wkHLiw0WNATZnSG7epLsujiMCgPAc9xhjJ4tgnAxmfM=
276github.com/coreos/go-semver v0.3.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk=447github.com/coreos/go-semver v0.3.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk=
448github.com/coreos/go-systemd v0.0.0-20161114122254-48702e0da86b/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4=
277github.com/coreos/go-systemd v0.0.0-20180511133405-39ca1b05acc7/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4=449github.com/coreos/go-systemd v0.0.0-20180511133405-39ca1b05acc7/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4=
278github.com/coreos/go-systemd v0.0.0-20181012123002-c6f51f82210d/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4=450github.com/coreos/go-systemd v0.0.0-20181012123002-c6f51f82210d/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4=
279github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4=451github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4=
280github.com/coreos/go-systemd v0.0.0-20191104093116-d3cd4ed1dbcf h1:iW4rZ826su+pqaw19uhpSCzhj44qo35pNgKFGqzDKkU=452github.com/coreos/go-systemd v0.0.0-20191104093116-d3cd4ed1dbcf h1:iW4rZ826su+pqaw19uhpSCzhj44qo35pNgKFGqzDKkU=
281github.com/coreos/go-systemd v0.0.0-20191104093116-d3cd4ed1dbcf/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4=453github.com/coreos/go-systemd v0.0.0-20191104093116-d3cd4ed1dbcf/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4=
282github.com/coreos/go-systemd/v22 v22.1.0 h1:kq/SbG2BCKLkDKkjQf5OWwKWUKj1lgs3lFI4PxnR5lg=454github.com/coreos/go-systemd/v22 v22.0.0/go.mod h1:xO0FLkIi5MaZafQlIrOotqXZ90ih+1atmu1JpKERPPk=
283github.com/coreos/go-systemd/v22 v22.1.0/go.mod h1:xO0FLkIi5MaZafQlIrOotqXZ90ih+1atmu1JpKERPPk=455github.com/coreos/go-systemd/v22 v22.1.0/go.mod h1:xO0FLkIi5MaZafQlIrOotqXZ90ih+1atmu1JpKERPPk=
456github.com/coreos/go-systemd/v22 v22.3.2 h1:D9/bQk5vlXQFZ6Kwuu6zaiXJ9oTPe68++AzAJc1DzSI=
457github.com/coreos/go-systemd/v22 v22.3.2/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc=
284github.com/coreos/pkg v0.0.0-20160727233714-3ac0863d7acf/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA=458github.com/coreos/pkg v0.0.0-20160727233714-3ac0863d7acf/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA=
459github.com/coreos/pkg v0.0.0-20180928190104-399ea9e2e55f h1:lBNOc5arjvs8E5mO2tbpBpLoyyu8B6e44T7hJy6potg=
285github.com/coreos/pkg v0.0.0-20180928190104-399ea9e2e55f/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA=460github.com/coreos/pkg v0.0.0-20180928190104-399ea9e2e55f/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA=
286github.com/cortexproject/cortex v0.6.1-0.20200228110116-92ab6cbe0995/go.mod h1:3Xa3DjJxtpXqxcMGdk850lcIRb81M0fyY1MQ6udY134=461github.com/cortexproject/cortex v0.6.1-0.20200228110116-92ab6cbe0995/go.mod h1:3Xa3DjJxtpXqxcMGdk850lcIRb81M0fyY1MQ6udY134=
287github.com/cortexproject/cortex v1.2.1-0.20200805064754-d8edc95e2c91/go.mod h1:PVPxNLrxKH+yc8asaJOxuz7TiRmMizFfnSMOnRzM6oM=462github.com/cortexproject/cortex v1.2.1-0.20200805064754-d8edc95e2c91/go.mod h1:PVPxNLrxKH+yc8asaJOxuz7TiRmMizFfnSMOnRzM6oM=
@@ -293,12 +468,15 @@ github.com/cortexproject/cortex v1.6.1-0.20210215155036-dfededd9f331/go.mod h1:8
293github.com/cortexproject/cortex v1.7.1-0.20210224085859-66d6fb5b0d42/go.mod h1:u2dxcHInYbe45wxhLoWVdlFJyDhXewsMcxtnbq/QbH4=468github.com/cortexproject/cortex v1.7.1-0.20210224085859-66d6fb5b0d42/go.mod h1:u2dxcHInYbe45wxhLoWVdlFJyDhXewsMcxtnbq/QbH4=
294github.com/cortexproject/cortex v1.7.1-0.20210316085356-3fedc1108a49/go.mod h1:/DBOW8TzYBTE/U+O7Whs7i7E2eeeZl1iRVDtIqxn5kg=469github.com/cortexproject/cortex v1.7.1-0.20210316085356-3fedc1108a49/go.mod h1:/DBOW8TzYBTE/U+O7Whs7i7E2eeeZl1iRVDtIqxn5kg=
295github.com/cortexproject/cortex v1.8.1-0.20210422151339-cf1c444e0905/go.mod h1:xxm4/CLvTmDxwE7yXwtClR4dIvkG4S09o5DygPOgc1U=470github.com/cortexproject/cortex v1.8.1-0.20210422151339-cf1c444e0905/go.mod h1:xxm4/CLvTmDxwE7yXwtClR4dIvkG4S09o5DygPOgc1U=
471github.com/cortexproject/cortex v1.10.1-0.20210820081236-70dddb6b70b8/go.mod h1:F8PX2IHaeFvqCci46Y+fhskJkCtLvh0OqCKFtWyjP7w=
296github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU=472github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU=
297github.com/cpuguy83/go-md2man/v2 v2.0.0/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU=473github.com/cpuguy83/go-md2man/v2 v2.0.0/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU=
298github.com/creack/pty v1.1.7/go.mod h1:lj5s0c3V2DBrqTV7llrYr5NG6My20zk30Fl46Y7DoTY=474github.com/creack/pty v1.1.7/go.mod h1:lj5s0c3V2DBrqTV7llrYr5NG6My20zk30Fl46Y7DoTY=
299github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E=475github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E=
300github.com/creack/pty v1.1.11/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E=476github.com/creack/pty v1.1.11/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E=
301github.com/cucumber/godog v0.8.1/go.mod h1:vSh3r/lM+psC1BPXvdkSEuNjmXfpVqrMGYAElF6hxnA=477github.com/cucumber/godog v0.8.1/go.mod h1:vSh3r/lM+psC1BPXvdkSEuNjmXfpVqrMGYAElF6hxnA=
478github.com/cyberdelia/templates v0.0.0-20141128023046-ca7fffd4298c/go.mod h1:GyV+0YP4qX0UQ7r2MoYZ+AvYDp12OF5yg4q8rGnyNh4=
479github.com/cyphar/filepath-securejoin v0.2.2/go.mod h1:FpkQEhXnPnOthhzymB7CGsFk2G9VLXONKD9G7QGMM+4=
302github.com/cznic/b v0.0.0-20180115125044-35e9bbe41f07/go.mod h1:URriBxXwVq5ijiJ12C7iIZqlA69nTlI+LgI6/pwftG8=480github.com/cznic/b v0.0.0-20180115125044-35e9bbe41f07/go.mod h1:URriBxXwVq5ijiJ12C7iIZqlA69nTlI+LgI6/pwftG8=
303github.com/cznic/fileutil v0.0.0-20180108211300-6a051e75936f/go.mod h1:8S58EK26zhXSxzv7NQFpnliaOQsmDUxvoQO3rt154Vg=481github.com/cznic/fileutil v0.0.0-20180108211300-6a051e75936f/go.mod h1:8S58EK26zhXSxzv7NQFpnliaOQsmDUxvoQO3rt154Vg=
304github.com/cznic/golex v0.0.0-20170803123110-4ab7c5e190e4/go.mod h1:+bmmJDNmKlhWNG+gwWCkaBoTy39Fs+bzRxVBzoTQbIc=482github.com/cznic/golex v0.0.0-20170803123110-4ab7c5e190e4/go.mod h1:+bmmJDNmKlhWNG+gwWCkaBoTy39Fs+bzRxVBzoTQbIc=
@@ -309,12 +487,23 @@ github.com/cznic/ql v1.2.0/go.mod h1:FbpzhyZrqr0PVlK6ury+PoW3T0ODUV22OeWIxcaOrSE
309github.com/cznic/sortutil v0.0.0-20150617083342-4c7342852e65/go.mod h1:q2w6Bg5jeox1B+QkJ6Wp/+Vn0G/bo3f1uY7Fn3vivIQ=487github.com/cznic/sortutil v0.0.0-20150617083342-4c7342852e65/go.mod h1:q2w6Bg5jeox1B+QkJ6Wp/+Vn0G/bo3f1uY7Fn3vivIQ=
310github.com/cznic/strutil v0.0.0-20171016134553-529a34b1c186/go.mod h1:AHHPPPXTw0h6pVabbcbyGRK1DckRn7r/STdZEeIDzZc=488github.com/cznic/strutil v0.0.0-20171016134553-529a34b1c186/go.mod h1:AHHPPPXTw0h6pVabbcbyGRK1DckRn7r/STdZEeIDzZc=
311github.com/cznic/zappy v0.0.0-20160723133515-2533cb5b45cc/go.mod h1:Y1SNZ4dRUOKXshKUbwUapqNncRrho4mkjQebgEHZLj8=489github.com/cznic/zappy v0.0.0-20160723133515-2533cb5b45cc/go.mod h1:Y1SNZ4dRUOKXshKUbwUapqNncRrho4mkjQebgEHZLj8=
490github.com/d2g/dhcp4 v0.0.0-20170904100407-a1d1b6c41b1c/go.mod h1:Ct2BUK8SB0YC1SMSibvLzxjeJLnrYEVLULFNiHY9YfQ=
491github.com/d2g/dhcp4client v1.0.0/go.mod h1:j0hNfjhrt2SxUOw55nL0ATM/z4Yt3t2Kd1mW34z5W5s=
492github.com/d2g/dhcp4server v0.0.0-20181031114812-7d4a0a7f59a5/go.mod h1:Eo87+Kg/IX2hfWJfwxMzLyuSZyxSoAug2nGa1G2QAi8=
493github.com/d2g/hardwareaddr v0.0.0-20190221164911-e7d9fbe030e4/go.mod h1:bMl4RjIciD2oAxI7DmWRx6gbeqrkoLqv3MV0vzNad+I=
312github.com/dave/jennifer v1.2.0/go.mod h1:fIb+770HOpJ2fmN9EPPKOqm1vMGhB+TwXKMZhrIygKg=494github.com/dave/jennifer v1.2.0/go.mod h1:fIb+770HOpJ2fmN9EPPKOqm1vMGhB+TwXKMZhrIygKg=
313github.com/davecgh/go-spew v0.0.0-20151105211317-5215b55f46b2/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=495github.com/davecgh/go-spew v0.0.0-20151105211317-5215b55f46b2/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
314github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=496github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
315github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=497github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
316github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=498github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
499github.com/deepmap/oapi-codegen v1.6.0/go.mod h1:ryDa9AgbELGeB+YEXE1dR53yAjHwFvE9iAUlWl9Al3M=
317github.com/denisenkom/go-mssqldb v0.0.0-20190515213511-eb9f6a1743f3/go.mod h1:zAg7JM8CkOJ43xKXIj7eRO9kmWm/TW578qo+oDO6tuM=500github.com/denisenkom/go-mssqldb v0.0.0-20190515213511-eb9f6a1743f3/go.mod h1:zAg7JM8CkOJ43xKXIj7eRO9kmWm/TW578qo+oDO6tuM=
501github.com/denisenkom/go-mssqldb v0.0.0-20200428022330-06a60b6afbbc/go.mod h1:xbL0rPBG9cCiLr28tMa8zpbdarY27NDyej4t/EjAShU=
502github.com/denisenkom/go-mssqldb v0.10.0/go.mod h1:xbL0rPBG9cCiLr28tMa8zpbdarY27NDyej4t/EjAShU=
503github.com/dennwc/varint v1.0.0 h1:kGNFFSSw8ToIy3obO/kKr8U9GZYUAxQEVuix4zfDWzE=
504github.com/dennwc/varint v1.0.0/go.mod h1:hnItb35rvZvJrbTALZtY/iQfDs48JKRG1RPpgziApxA=
505github.com/denverdino/aliyungo v0.0.0-20190125010748-a747050bb1ba/go.mod h1:dV8lFg6daOBZbT6/BDGIz6Y3WFGn8juu6G+CQ6LHtl0=
506github.com/dgrijalva/jwt-go v0.0.0-20170104182250-a601269ab70c/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ=
318github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ=507github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ=
319github.com/dgrijalva/jwt-go/v4 v4.0.0-preview1/go.mod h1:+hnT3ywWDTAFrW5aE+u2Sa/wT555ZqwoCS+pk3p6ry4=508github.com/dgrijalva/jwt-go/v4 v4.0.0-preview1/go.mod h1:+hnT3ywWDTAFrW5aE+u2Sa/wT555ZqwoCS+pk3p6ry4=
320github.com/dgryski/go-bitstream v0.0.0-20180413035011-3522498ce2c8/go.mod h1:VMaSuZ+SZcx/wljOQKvp5srsbCiKDEb6K2wC4+PiBmQ=509github.com/dgryski/go-bitstream v0.0.0-20180413035011-3522498ce2c8/go.mod h1:VMaSuZ+SZcx/wljOQKvp5srsbCiKDEb6K2wC4+PiBmQ=
@@ -333,10 +522,17 @@ github.com/digitalocean/godo v1.46.0/go.mod h1:p7dOjjtSBqCTUksqtA5Fd3uaKs9kyTq2x
333github.com/digitalocean/godo v1.52.0/go.mod h1:p7dOjjtSBqCTUksqtA5Fd3uaKs9kyTq2xcz76ulEJRU=522github.com/digitalocean/godo v1.52.0/go.mod h1:p7dOjjtSBqCTUksqtA5Fd3uaKs9kyTq2xcz76ulEJRU=
334github.com/digitalocean/godo v1.57.0/go.mod h1:p7dOjjtSBqCTUksqtA5Fd3uaKs9kyTq2xcz76ulEJRU=523github.com/digitalocean/godo v1.57.0/go.mod h1:p7dOjjtSBqCTUksqtA5Fd3uaKs9kyTq2xcz76ulEJRU=
335github.com/digitalocean/godo v1.58.0/go.mod h1:p7dOjjtSBqCTUksqtA5Fd3uaKs9kyTq2xcz76ulEJRU=524github.com/digitalocean/godo v1.58.0/go.mod h1:p7dOjjtSBqCTUksqtA5Fd3uaKs9kyTq2xcz76ulEJRU=
336github.com/digitalocean/godo v1.60.0 h1:o/vimtn/HKtYSakFAAZ59Zc5ASORd41S4z1X7pAXPn8=
337github.com/digitalocean/godo v1.60.0/go.mod h1:p7dOjjtSBqCTUksqtA5Fd3uaKs9kyTq2xcz76ulEJRU=525github.com/digitalocean/godo v1.60.0/go.mod h1:p7dOjjtSBqCTUksqtA5Fd3uaKs9kyTq2xcz76ulEJRU=
526github.com/digitalocean/godo v1.62.0/go.mod h1:p7dOjjtSBqCTUksqtA5Fd3uaKs9kyTq2xcz76ulEJRU=
527github.com/digitalocean/godo v1.65.0 h1:3SywGJBC18HaYtPQF+T36jYzXBi+a6eIMonSjDll7TA=
528github.com/digitalocean/godo v1.65.0/go.mod h1:p7dOjjtSBqCTUksqtA5Fd3uaKs9kyTq2xcz76ulEJRU=
529github.com/dimchansky/utfbom v1.1.0/go.mod h1:rO41eb7gLfo8SF1jd9F8HplJm1Fewwi4mQvIirEdv+8=
530github.com/dimchansky/utfbom v1.1.1 h1:vV6w1AhK4VMnhBno/TPVCoK9U/LP0PkLCS9tbxHdi/U=
531github.com/dimchansky/utfbom v1.1.1/go.mod h1:SxdoEBH5qIqFocHMyGOXVAybYJdr71b1Q/j0mACtrfE=
338github.com/dnaeon/go-vcr v1.0.1/go.mod h1:aBB1+wY4s93YsC3HHjMBMrwTj2R9FHDzUr9KyGc8n1E=532github.com/dnaeon/go-vcr v1.0.1/go.mod h1:aBB1+wY4s93YsC3HHjMBMrwTj2R9FHDzUr9KyGc8n1E=
533github.com/docker/distribution v0.0.0-20190905152932-14b96e55d84c/go.mod h1:0+TTO4EOBfRPhZXAeF1Vu+W3hHZ8eLp8PgKVZlcvtFY=
339github.com/docker/distribution v2.7.0+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w=534github.com/docker/distribution v2.7.0+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w=
535github.com/docker/distribution v2.7.1-0.20190205005809-0d3efadf0154+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w=
340github.com/docker/distribution v2.7.1+incompatible h1:a5mlkVzth6W5A4fOsS3D2EO5BUmsJpcB+cRlLU7cSug=536github.com/docker/distribution v2.7.1+incompatible h1:a5mlkVzth6W5A4fOsS3D2EO5BUmsJpcB+cRlLU7cSug=
341github.com/docker/distribution v2.7.1+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w=537github.com/docker/distribution v2.7.1+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w=
342github.com/docker/docker v0.7.3-0.20190103212154-2b7e084dc98b/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk=538github.com/docker/docker v0.7.3-0.20190103212154-2b7e084dc98b/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk=
@@ -344,13 +540,20 @@ github.com/docker/docker v0.7.3-0.20190817195342-4760db040282/go.mod h1:eEKB0N0r
344github.com/docker/docker v17.12.0-ce-rc1.0.20200706150819-a40b877fbb9e+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk=540github.com/docker/docker v17.12.0-ce-rc1.0.20200706150819-a40b877fbb9e+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk=
345github.com/docker/docker v20.10.3+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk=541github.com/docker/docker v20.10.3+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk=
346github.com/docker/docker v20.10.5+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk=542github.com/docker/docker v20.10.5+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk=
347github.com/docker/docker v20.10.6+incompatible h1:oXI3Vas8TI8Eu/EjH4srKHJBVqraSzJybhxY7Om9faQ=
348github.com/docker/docker v20.10.6+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk=543github.com/docker/docker v20.10.6+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk=
544github.com/docker/docker v20.10.7+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk=
545github.com/docker/docker v20.10.8+incompatible h1:RVqD337BgQicVCzYrrlhLDWhq6OAD2PJDUg2LsEUvKM=
546github.com/docker/docker v20.10.8+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk=
349github.com/docker/go-connections v0.4.0 h1:El9xVISelRB7BuFusrZozjnkIM5YnzCViNKohAFqRJQ=547github.com/docker/go-connections v0.4.0 h1:El9xVISelRB7BuFusrZozjnkIM5YnzCViNKohAFqRJQ=
350github.com/docker/go-connections v0.4.0/go.mod h1:Gbd7IOopHjR8Iph03tsViu4nIes5XhDvyHbTtUxmeec=548github.com/docker/go-connections v0.4.0/go.mod h1:Gbd7IOopHjR8Iph03tsViu4nIes5XhDvyHbTtUxmeec=
549github.com/docker/go-events v0.0.0-20170721190031-9461782956ad/go.mod h1:Uw6UezgYA44ePAFQYUehOuCzmy5zmg/+nl2ZfMWGkpA=
550github.com/docker/go-events v0.0.0-20190806004212-e31b211e4f1c/go.mod h1:Uw6UezgYA44ePAFQYUehOuCzmy5zmg/+nl2ZfMWGkpA=
551github.com/docker/go-metrics v0.0.0-20180209012529-399ea8c73916/go.mod h1:/u0gXw0Gay3ceNrsHubL3BtdOL2fHf93USgMTe0W5dI=
552github.com/docker/go-metrics v0.0.1/go.mod h1:cG1hvH2utMXtqgqqYE9plW6lDxS3/5ayHzueweSI3Vw=
351github.com/docker/go-units v0.3.3/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk=553github.com/docker/go-units v0.3.3/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk=
352github.com/docker/go-units v0.4.0 h1:3uh0PgVws3nIA0Q+MwDC8yjEPf9zjRfZZWXZYDct3Tw=554github.com/docker/go-units v0.4.0 h1:3uh0PgVws3nIA0Q+MwDC8yjEPf9zjRfZZWXZYDct3Tw=
353github.com/docker/go-units v0.4.0/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk=555github.com/docker/go-units v0.4.0/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk=
556github.com/docker/libtrust v0.0.0-20150114040149-fa567046d9b1/go.mod h1:cyGadeNEkKy96OOhEzfZl+yxihPEzKnqJwvfuSUqbZE=
354github.com/docker/spdystream v0.0.0-20160310174837-449fdfce4d96/go.mod h1:Qh8CwZgvJUkLughtfhJv5dyTYa91l1fOUCrgjqmcifM=557github.com/docker/spdystream v0.0.0-20160310174837-449fdfce4d96/go.mod h1:Qh8CwZgvJUkLughtfhJv5dyTYa91l1fOUCrgjqmcifM=
355github.com/docopt/docopt-go v0.0.0-20180111231733-ee0de3bc6815/go.mod h1:WwZ+bS3ebgob9U8Nd0kOddGdZWjyMGR8Wziv+TBNwSE=558github.com/docopt/docopt-go v0.0.0-20180111231733-ee0de3bc6815/go.mod h1:WwZ+bS3ebgob9U8Nd0kOddGdZWjyMGR8Wziv+TBNwSE=
356github.com/dustin/go-humanize v0.0.0-20171111073723-bb3d318650d4/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk=559github.com/dustin/go-humanize v0.0.0-20171111073723-bb3d318650d4/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk=
@@ -363,6 +566,10 @@ github.com/eclipse/paho.mqtt.golang v1.2.0/go.mod h1:H9keYFcgq3Qr5OUJm/JZI/i6U7j
363github.com/edsrzf/mmap-go v0.0.0-20170320065105-0bce6a688712/go.mod h1:YO35OhQPt3KJa3ryjFM5Bs14WD66h8eGKpfaBNrHW5M=566github.com/edsrzf/mmap-go v0.0.0-20170320065105-0bce6a688712/go.mod h1:YO35OhQPt3KJa3ryjFM5Bs14WD66h8eGKpfaBNrHW5M=
364github.com/edsrzf/mmap-go v1.0.0 h1:CEBF7HpRnUCSJgGUb5h1Gm7e3VkmVDrR8lvWVLtrOFw=567github.com/edsrzf/mmap-go v1.0.0 h1:CEBF7HpRnUCSJgGUb5h1Gm7e3VkmVDrR8lvWVLtrOFw=
365github.com/edsrzf/mmap-go v1.0.0/go.mod h1:YO35OhQPt3KJa3ryjFM5Bs14WD66h8eGKpfaBNrHW5M=568github.com/edsrzf/mmap-go v1.0.0/go.mod h1:YO35OhQPt3KJa3ryjFM5Bs14WD66h8eGKpfaBNrHW5M=
569github.com/efficientgo/e2e v0.11.1-0.20210829161758-f4cc6dbdc6ea/go.mod h1:vDnF4AAEZmO0mvyFIATeDJPFaSRM7ywaOnKd61zaSoE=
570github.com/efficientgo/tools/core v0.0.0-20210129205121-421d0828c9a6/go.mod h1:OmVcnJopJL8d3X3sSXTiypGoUSgFq1aDGmlrdi9dn/M=
571github.com/efficientgo/tools/extkingpin v0.0.0-20210609125236-d73259166f20 h1:kM/ALyvAnTrwSB+nlKqoKaDnZbInp1YImZvW+gtHwc8=
572github.com/efficientgo/tools/extkingpin v0.0.0-20210609125236-d73259166f20/go.mod h1:ZV0utlglOczUWv3ih2AbqPSoLoFzdplUYxwV62eZi6Q=
366github.com/elastic/go-sysinfo v1.0.1/go.mod h1:O/D5m1VpYLwGjCYzEt63g3Z1uO3jXfwyzzjiW90t8cY=573github.com/elastic/go-sysinfo v1.0.1/go.mod h1:O/D5m1VpYLwGjCYzEt63g3Z1uO3jXfwyzzjiW90t8cY=
367github.com/elastic/go-sysinfo v1.1.1/go.mod h1:i1ZYdU10oLNfRzq4vq62BEwD2fH8KaWh6eh0ikPT9F0=574github.com/elastic/go-sysinfo v1.1.1/go.mod h1:i1ZYdU10oLNfRzq4vq62BEwD2fH8KaWh6eh0ikPT9F0=
368github.com/elastic/go-windows v1.0.0/go.mod h1:TsU0Nrp7/y3+VwE82FoZF8gC/XFg/Elz6CcloAxnPgU=575github.com/elastic/go-windows v1.0.0/go.mod h1:TsU0Nrp7/y3+VwE82FoZF8gC/XFg/Elz6CcloAxnPgU=
@@ -371,60 +578,76 @@ github.com/elazarl/goproxy v0.0.0-20170405201442-c4fc26588b6e/go.mod h1:/Zj4wYkg
371github.com/elazarl/goproxy v0.0.0-20180725130230-947c36da3153/go.mod h1:/Zj4wYkgs4iZTTu3o/KG3Itv/qCCa8VVMlb3i9OVuzc=578github.com/elazarl/goproxy v0.0.0-20180725130230-947c36da3153/go.mod h1:/Zj4wYkgs4iZTTu3o/KG3Itv/qCCa8VVMlb3i9OVuzc=
372github.com/ema/qdisc v0.0.0-20190904071900-b82c76788043/go.mod h1:ix4kG2zvdUd8kEKSW0ZTr1XLks0epFpI4j745DXxlNE=579github.com/ema/qdisc v0.0.0-20190904071900-b82c76788043/go.mod h1:ix4kG2zvdUd8kEKSW0ZTr1XLks0epFpI4j745DXxlNE=
373github.com/emicklei/go-restful v0.0.0-20170410110728-ff4f55a20633/go.mod h1:otzb+WCGbkyDHkqmQmT5YD2WR4BBwUdeQoFo8l/7tVs=580github.com/emicklei/go-restful v0.0.0-20170410110728-ff4f55a20633/go.mod h1:otzb+WCGbkyDHkqmQmT5YD2WR4BBwUdeQoFo8l/7tVs=
374github.com/envoyproxy/go-control-plane v0.6.9/go.mod h1:SBwIajubJHhxtWwsL9s8ss4safvEdbitLhGGK48rN6g=581github.com/emicklei/go-restful v2.9.5+incompatible/go.mod h1:otzb+WCGbkyDHkqmQmT5YD2WR4BBwUdeQoFo8l/7tVs=
375github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4=
376github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4=
377github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98=
378github.com/envoyproxy/go-control-plane v0.9.7/go.mod h1:cwu0lG7PUMfa9snN8LXBig5ynNVH9qI8YYLbd1fK2po=
379github.com/envoyproxy/go-control-plane v0.9.9-0.20201210154907-fd9021fe5dad/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk=
380github.com/envoyproxy/go-control-plane v0.9.9-0.20210217033140-668b12f5399d/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk=582github.com/envoyproxy/go-control-plane v0.9.9-0.20210217033140-668b12f5399d/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk=
583github.com/envoyproxy/go-control-plane v0.9.9 h1:vQLjymTobffN2R0F8eTqw6q7iozfRO5Z0m+/4Vw+/uA=
584github.com/envoyproxy/go-control-plane v0.9.9/go.mod h1:hliV/p42l8fGbc6Y9bQ70uLwIvmJyVE5k4iMKlh8wCQ=
381github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c=585github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c=
586github.com/envoyproxy/protoc-gen-validate v0.6.1 h1:4CF52PCseTFt4bE+Yk3dIpdVi7XWuPVMhPtm4FaIJPM=
587github.com/envoyproxy/protoc-gen-validate v0.6.1/go.mod h1:txg5va2Qkip90uYoSKH+nkAAmXrb2j3iq4FLwdrCbXQ=
382github.com/evanphx/json-patch v0.0.0-20200808040245-162e5629780b/go.mod h1:NAJj0yf/KaRKURN6nyi7A9IZydMivZEm9oQLWNjfKDc=588github.com/evanphx/json-patch v0.0.0-20200808040245-162e5629780b/go.mod h1:NAJj0yf/KaRKURN6nyi7A9IZydMivZEm9oQLWNjfKDc=
383github.com/evanphx/json-patch v4.2.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk=589github.com/evanphx/json-patch v4.2.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk=
384github.com/evanphx/json-patch v4.5.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk=590github.com/evanphx/json-patch v4.5.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk=
385github.com/evanphx/json-patch v4.9.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk=591github.com/evanphx/json-patch v4.9.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk=
592github.com/evanphx/json-patch v4.11.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk=
386github.com/facette/natsort v0.0.0-20181210072756-2cd4dd1e2dcb h1:IT4JYU7k4ikYg1SCxNI1/Tieq/NFvh6dzLdgi7eu0tM=593github.com/facette/natsort v0.0.0-20181210072756-2cd4dd1e2dcb h1:IT4JYU7k4ikYg1SCxNI1/Tieq/NFvh6dzLdgi7eu0tM=
387github.com/facette/natsort v0.0.0-20181210072756-2cd4dd1e2dcb/go.mod h1:bH6Xx7IW64qjjJq8M2u4dxNaBiDfKK+z/3eGDpXEQhc=594github.com/facette/natsort v0.0.0-20181210072756-2cd4dd1e2dcb/go.mod h1:bH6Xx7IW64qjjJq8M2u4dxNaBiDfKK+z/3eGDpXEQhc=
388github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4=595github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4=
389github.com/fatih/color v1.9.0 h1:8xPHl4/q1VyqGIPif1F+1V3Y3lSmrq01EabUW3CoW5s=
390github.com/fatih/color v1.9.0/go.mod h1:eQcE1qtQxscV5RaZvpXrrb8Drkc3/DdQ+uUYCNjL+zU=596github.com/fatih/color v1.9.0/go.mod h1:eQcE1qtQxscV5RaZvpXrrb8Drkc3/DdQ+uUYCNjL+zU=
597github.com/fatih/color v1.12.0 h1:mRhaKNwANqRgUBGKmnI5ZxEk7QXmjQeCcuYFMX2bfcc=
598github.com/fatih/color v1.12.0/go.mod h1:ELkj/draVOlAH/xkhN6mQ50Qd0MPOk5AAr3maGEBuJM=
391github.com/fatih/structtag v1.1.0/go.mod h1:mBJUNpUnHmRKrKlQQlmCrh5PuhftFbNv8Ys4/aAZl94=599github.com/fatih/structtag v1.1.0/go.mod h1:mBJUNpUnHmRKrKlQQlmCrh5PuhftFbNv8Ys4/aAZl94=
392github.com/felixge/fgprof v0.9.1 h1:E6FUJ2Mlv043ipLOCFqo8+cHo9MhQ203E2cdEK/isEs=600github.com/felixge/fgprof v0.9.1 h1:E6FUJ2Mlv043ipLOCFqo8+cHo9MhQ203E2cdEK/isEs=
393github.com/felixge/fgprof v0.9.1/go.mod h1:7/HK6JFtFaARhIljgP2IV8rJLIoHDoOYoUphsnGvqxE=601github.com/felixge/fgprof v0.9.1/go.mod h1:7/HK6JFtFaARhIljgP2IV8rJLIoHDoOYoUphsnGvqxE=
394github.com/felixge/httpsnoop v1.0.1 h1:lvB5Jl89CsZtGIWuTcDM1E/vkVs49/Ml7JJe07l8SPQ=602github.com/felixge/httpsnoop v1.0.1 h1:lvB5Jl89CsZtGIWuTcDM1E/vkVs49/Ml7JJe07l8SPQ=
395github.com/felixge/httpsnoop v1.0.1/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U=603github.com/felixge/httpsnoop v1.0.1/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U=
396github.com/fogleman/gg v1.2.1-0.20190220221249-0403632d5b90/go.mod h1:R/bRT+9gY/C5z7JzPU0zXsXHKM4/ayA+zqcVNZzPa1k=604github.com/fogleman/gg v1.2.1-0.20190220221249-0403632d5b90/go.mod h1:R/bRT+9gY/C5z7JzPU0zXsXHKM4/ayA+zqcVNZzPa1k=
397github.com/form3tech-oss/jwt-go v3.2.2+incompatible h1:TcekIExNqud5crz4xD2pavyTgWiPvpYe4Xau31I0PRk=
398github.com/form3tech-oss/jwt-go v3.2.2+incompatible/go.mod h1:pbq4aXjuKjdthFRnoDwaVPLA+WlJuPGy+QneDUgJi2k=605github.com/form3tech-oss/jwt-go v3.2.2+incompatible/go.mod h1:pbq4aXjuKjdthFRnoDwaVPLA+WlJuPGy+QneDUgJi2k=
606github.com/form3tech-oss/jwt-go v3.2.3+incompatible h1:7ZaBxOI7TMoYBfyA3cQHErNNyAWIKUMIwqxEtgHOs5c=
607github.com/form3tech-oss/jwt-go v3.2.3+incompatible/go.mod h1:pbq4aXjuKjdthFRnoDwaVPLA+WlJuPGy+QneDUgJi2k=
399github.com/fortytw2/leaktest v1.3.0/go.mod h1:jDsjWgpAGjm2CA7WthBh/CdZYEPF31XHquHwclZch5g=608github.com/fortytw2/leaktest v1.3.0/go.mod h1:jDsjWgpAGjm2CA7WthBh/CdZYEPF31XHquHwclZch5g=
609github.com/foxcpp/go-mockdns v0.0.0-20201212160233-ede2f9158d15/go.mod h1:tPg4cp4nseejPd+UKxtCVQ2hUxNTZ7qQZJa7CLriIeo=
400github.com/franela/goblin v0.0.0-20200105215937-c9ffbefa60db/go.mod h1:7dvUGVsVBjqR7JHJk0brhHOZYGmfBYOrK0ZhYMEtBr4=610github.com/franela/goblin v0.0.0-20200105215937-c9ffbefa60db/go.mod h1:7dvUGVsVBjqR7JHJk0brhHOZYGmfBYOrK0ZhYMEtBr4=
611github.com/franela/goblin v0.0.0-20210519012713-85d372ac71e2/go.mod h1:VzmDKDJVZI3aJmnRI9VjAn9nJ8qPPsN1fqzr9dqInIo=
401github.com/franela/goreq v0.0.0-20171204163338-bcd34c9993f8/go.mod h1:ZhphrRTfi2rbfLwlschooIH4+wKKDR4Pdxhh+TRoA20=612github.com/franela/goreq v0.0.0-20171204163338-bcd34c9993f8/go.mod h1:ZhphrRTfi2rbfLwlschooIH4+wKKDR4Pdxhh+TRoA20=
613github.com/frankban/quicktest v1.11.3/go.mod h1:wRf/ReqHper53s+kmmSZizM8NamnL3IM0I9ntUbOk+k=
402github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo=614github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo=
403github.com/fsnotify/fsnotify v1.4.9 h1:hsms1Qyu0jgnwNXIxa+/V/PDsU6CfLf6CNO8H7IWoS4=615github.com/fsnotify/fsnotify v1.4.9 h1:hsms1Qyu0jgnwNXIxa+/V/PDsU6CfLf6CNO8H7IWoS4=
404github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ=616github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ=
405github.com/fsouza/fake-gcs-server v1.7.0 h1:Un0BXUXrRWYSmYyC1Rqm2e2WJfTPyDy/HGMz31emTi8=617github.com/fsouza/fake-gcs-server v1.7.0 h1:Un0BXUXrRWYSmYyC1Rqm2e2WJfTPyDy/HGMz31emTi8=
406github.com/fsouza/fake-gcs-server v1.7.0/go.mod h1:5XIRs4YvwNbNoz+1JF8j6KLAyDh7RHGAyAK3EP2EsNk=618github.com/fsouza/fake-gcs-server v1.7.0/go.mod h1:5XIRs4YvwNbNoz+1JF8j6KLAyDh7RHGAyAK3EP2EsNk=
619github.com/fullsailor/pkcs7 v0.0.0-20190404230743-d7302db945fa/go.mod h1:KnogPXtdwXqoenmZCw6S+25EAm2MkxbG0deNDu4cbSA=
620github.com/garyburd/redigo v0.0.0-20150301180006-535138d7bcd7/go.mod h1:NR3MbYisc3/PwhQ00EMzDiPmrwpPxAn5GI05/YaO1SY=
621github.com/getkin/kin-openapi v0.53.0/go.mod h1:7Yn5whZr5kJi6t+kShccXS8ae1APpYTW6yheSwk8Yi4=
407github.com/getsentry/raven-go v0.2.0 h1:no+xWJRb5ZI7eE8TWgIq1jLulQiIoLG0IfYxv5JYMGs=622github.com/getsentry/raven-go v0.2.0 h1:no+xWJRb5ZI7eE8TWgIq1jLulQiIoLG0IfYxv5JYMGs=
408github.com/getsentry/raven-go v0.2.0/go.mod h1:KungGk8q33+aIAZUIVWZDr2OfAEBsO49PX4NzFV5kcQ=623github.com/getsentry/raven-go v0.2.0/go.mod h1:KungGk8q33+aIAZUIVWZDr2OfAEBsO49PX4NzFV5kcQ=
409github.com/ghodss/yaml v0.0.0-20150909031657-73d445a93680/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04=624github.com/ghodss/yaml v0.0.0-20150909031657-73d445a93680/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04=
410github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04=625github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04=
626github.com/gin-contrib/sse v0.1.0/go.mod h1:RHrZQHXnP2xjPF+u1gW/2HnVO7nvIa9PG3Gm+fLHvGI=
627github.com/gin-gonic/gin v1.5.0/go.mod h1:Nd6IXA8m5kNZdNEHMBd93KT+mdY3+bewLgRvmCsR2Do=
411github.com/globalsign/mgo v0.0.0-20180905125535-1ca0a4f7cbcb/go.mod h1:xkRDCp4j0OGD1HRkm4kmhM+pmpv3AKq5SU7GMg4oO/Q=628github.com/globalsign/mgo v0.0.0-20180905125535-1ca0a4f7cbcb/go.mod h1:xkRDCp4j0OGD1HRkm4kmhM+pmpv3AKq5SU7GMg4oO/Q=
412github.com/globalsign/mgo v0.0.0-20181015135952-eeefdecb41b8/go.mod h1:xkRDCp4j0OGD1HRkm4kmhM+pmpv3AKq5SU7GMg4oO/Q=629github.com/globalsign/mgo v0.0.0-20181015135952-eeefdecb41b8/go.mod h1:xkRDCp4j0OGD1HRkm4kmhM+pmpv3AKq5SU7GMg4oO/Q=
413github.com/glycerine/go-unsnap-stream v0.0.0-20180323001048-9f0cb55181dd/go.mod h1:/20jfyN9Y5QPEAprSgKAUr+glWDY39ZiUEAYOEv5dsE=630github.com/glycerine/go-unsnap-stream v0.0.0-20180323001048-9f0cb55181dd/go.mod h1:/20jfyN9Y5QPEAprSgKAUr+glWDY39ZiUEAYOEv5dsE=
414github.com/glycerine/goconvey v0.0.0-20190410193231-58a59202ab31/go.mod h1:Ogl1Tioa0aV7gstGFO7KhffUsb9M4ydbEbbxpcEDc24=631github.com/glycerine/goconvey v0.0.0-20190410193231-58a59202ab31/go.mod h1:Ogl1Tioa0aV7gstGFO7KhffUsb9M4ydbEbbxpcEDc24=
632github.com/go-chi/chi v4.1.0+incompatible/go.mod h1:eB3wogJHnLi3x/kFX2A+IbTBlXxmMeXJVKy9tTv1XzQ=
633github.com/go-chi/chi/v5 v5.0.0/go.mod h1:BBug9lr0cqtdAhsu6R4AAdvufI0/XBzAQSsUqJpoZOs=
415github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU=634github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU=
416github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8=635github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8=
417github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8=636github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8=
418github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as=637github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as=
419github.com/go-kit/kit v0.9.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as=638github.com/go-kit/kit v0.9.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as=
420github.com/go-kit/kit v0.10.0 h1:dXFJfIHVvUcpSgDOV+Ne6t7jXri8Tfv2uOLHUZ2XNuo=
421github.com/go-kit/kit v0.10.0/go.mod h1:xUsJbQ/Fp4kEt7AFgCuvyX4a71u8h9jB8tj/ORgOZ7o=639github.com/go-kit/kit v0.10.0/go.mod h1:xUsJbQ/Fp4kEt7AFgCuvyX4a71u8h9jB8tj/ORgOZ7o=
422github.com/go-kit/log v0.1.0 h1:DGJh0Sm43HbOeYDNnVZFl8BvcYVvjD5bqYJvp0REbwQ=640github.com/go-kit/kit v0.11.0/go.mod h1:73/6Ixaufkvb5Osvkls8C79vuQ49Ba1rUEUYNSf+FUw=
641github.com/go-kit/kit v0.12.0 h1:e4o3o3IsBfAKQh5Qbbiqyfu97Ku7jrO/JbohvztANh4=
642github.com/go-kit/kit v0.12.0/go.mod h1:lHd+EkCZPIwYItmGDDRdhinkzX2A1sj+M9biaEaizzs=
423github.com/go-kit/log v0.1.0/go.mod h1:zbhenjAZHb184qTLMA9ZjW7ThYL0H2mk7Q6pNt4vbaY=643github.com/go-kit/log v0.1.0/go.mod h1:zbhenjAZHb184qTLMA9ZjW7ThYL0H2mk7Q6pNt4vbaY=
644github.com/go-kit/log v0.2.0 h1:7i2K3eKTos3Vc0enKCfnVcgHh2olr/MyfboYq7cAcFw=
645github.com/go-kit/log v0.2.0/go.mod h1:NwTd00d/i8cPZ3xOwwiv2PO5MOcx78fFErGNcVmBjv0=
424github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE=646github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE=
425github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk=647github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk=
426github.com/go-logfmt/logfmt v0.5.0 h1:TrB8swr/68K7m9CcGut2g3UOihhbcbiMAYiuTXdEih4=
427github.com/go-logfmt/logfmt v0.5.0/go.mod h1:wCYkCAKZfumFQihp8CzCvQ3paCTfi41vtzG1KdI/P7A=648github.com/go-logfmt/logfmt v0.5.0/go.mod h1:wCYkCAKZfumFQihp8CzCvQ3paCTfi41vtzG1KdI/P7A=
649github.com/go-logfmt/logfmt v0.5.1 h1:otpy5pqBCBZ1ng9RQ0dPu4PN7ba75Y/aA+UpowDyNVA=
650github.com/go-logfmt/logfmt v0.5.1/go.mod h1:WYhtIu8zTZfxdn5+rREduYbwxfcBr/Vr6KEVveWlfTs=
428github.com/go-logr/logr v0.1.0/go.mod h1:ixOQHD9gLJUVQQ2ZOR7zLEifBX6tGkNJF4QyIY7sIas=651github.com/go-logr/logr v0.1.0/go.mod h1:ixOQHD9gLJUVQQ2ZOR7zLEifBX6tGkNJF4QyIY7sIas=
429github.com/go-logr/logr v0.2.0/go.mod h1:z6/tIYblkpsD+a4lm/fGIIU9mZ+XfAiaFtq7xTgseGU=652github.com/go-logr/logr v0.2.0/go.mod h1:z6/tIYblkpsD+a4lm/fGIIU9mZ+XfAiaFtq7xTgseGU=
430github.com/go-logr/logr v0.4.0 h1:K7/B1jt6fIBQVd4Owv2MqGQClcgf0R266+7C/QjRcLc=653github.com/go-logr/logr v0.4.0 h1:K7/B1jt6fIBQVd4Owv2MqGQClcgf0R266+7C/QjRcLc=
@@ -492,8 +715,9 @@ github.com/go-openapi/runtime v0.19.15/go.mod h1:dhGWCTKRXlAfGnQG0ONViOZpjfg0m2g
492github.com/go-openapi/runtime v0.19.16/go.mod h1:5P9104EJgYcizotuXhEuUrzVc+j1RiSjahULvYmlv98=715github.com/go-openapi/runtime v0.19.16/go.mod h1:5P9104EJgYcizotuXhEuUrzVc+j1RiSjahULvYmlv98=
493github.com/go-openapi/runtime v0.19.24/go.mod h1:Lm9YGCeecBnUUkFTxPC4s1+lwrkJ0pthx8YvyjCfkgk=716github.com/go-openapi/runtime v0.19.24/go.mod h1:Lm9YGCeecBnUUkFTxPC4s1+lwrkJ0pthx8YvyjCfkgk=
494github.com/go-openapi/runtime v0.19.26/go.mod h1:BvrQtn6iVb2QmiVXRsFAm6ZCAZBpbVKFfN6QWCp582M=717github.com/go-openapi/runtime v0.19.26/go.mod h1:BvrQtn6iVb2QmiVXRsFAm6ZCAZBpbVKFfN6QWCp582M=
495github.com/go-openapi/runtime v0.19.28 h1:9lYu6axek8LJrVkMVViVirRcpoaCxXX7+sSvmizGVnA=
496github.com/go-openapi/runtime v0.19.28/go.mod h1:BvrQtn6iVb2QmiVXRsFAm6ZCAZBpbVKFfN6QWCp582M=718github.com/go-openapi/runtime v0.19.28/go.mod h1:BvrQtn6iVb2QmiVXRsFAm6ZCAZBpbVKFfN6QWCp582M=
719github.com/go-openapi/runtime v0.19.29 h1:5IIvCaIDbxetN674vX9eOxvoZ9mYGQ16fV1Q0VSG+NA=
720github.com/go-openapi/runtime v0.19.29/go.mod h1:BvrQtn6iVb2QmiVXRsFAm6ZCAZBpbVKFfN6QWCp582M=
497github.com/go-openapi/spec v0.0.0-20160808142527-6aced65f8501/go.mod h1:J8+jY1nAiCcj+friV/PDoE1/3eeccG9LYBs0tYvLOWc=721github.com/go-openapi/spec v0.0.0-20160808142527-6aced65f8501/go.mod h1:J8+jY1nAiCcj+friV/PDoE1/3eeccG9LYBs0tYvLOWc=
498github.com/go-openapi/spec v0.17.0/go.mod h1:XkF/MOi14NmjsfZ8VtAKf8pIlbZzyoTvZsdfssdxcBI=722github.com/go-openapi/spec v0.17.0/go.mod h1:XkF/MOi14NmjsfZ8VtAKf8pIlbZzyoTvZsdfssdxcBI=
499github.com/go-openapi/spec v0.17.2/go.mod h1:XkF/MOi14NmjsfZ8VtAKf8pIlbZzyoTvZsdfssdxcBI=723github.com/go-openapi/spec v0.17.2/go.mod h1:XkF/MOi14NmjsfZ8VtAKf8pIlbZzyoTvZsdfssdxcBI=
@@ -519,8 +743,9 @@ github.com/go-openapi/strfmt v0.19.4/go.mod h1:eftuHTlB/dI8Uq8JJOyRlieZf+WkkxUuk
519github.com/go-openapi/strfmt v0.19.5/go.mod h1:eftuHTlB/dI8Uq8JJOyRlieZf+WkkxUuk0dgdHXr2Qk=743github.com/go-openapi/strfmt v0.19.5/go.mod h1:eftuHTlB/dI8Uq8JJOyRlieZf+WkkxUuk0dgdHXr2Qk=
520github.com/go-openapi/strfmt v0.19.11/go.mod h1:UukAYgTaQfqJuAFlNxxMWNvMYiwiXtLsF2VwmoFtbtc=744github.com/go-openapi/strfmt v0.19.11/go.mod h1:UukAYgTaQfqJuAFlNxxMWNvMYiwiXtLsF2VwmoFtbtc=
521github.com/go-openapi/strfmt v0.20.0/go.mod h1:UukAYgTaQfqJuAFlNxxMWNvMYiwiXtLsF2VwmoFtbtc=745github.com/go-openapi/strfmt v0.20.0/go.mod h1:UukAYgTaQfqJuAFlNxxMWNvMYiwiXtLsF2VwmoFtbtc=
522github.com/go-openapi/strfmt v0.20.1 h1:1VgxvehFne1mbChGeCmZ5pc0LxUf6yaACVSIYAR91Xc=
523github.com/go-openapi/strfmt v0.20.1/go.mod h1:43urheQI9dNtE5lTZQfuFJvjYJKPrxicATpEfZwHUNk=746github.com/go-openapi/strfmt v0.20.1/go.mod h1:43urheQI9dNtE5lTZQfuFJvjYJKPrxicATpEfZwHUNk=
747github.com/go-openapi/strfmt v0.20.2 h1:6XZL+fF4VZYFxKQGLAUB358hOrRh/wS51uWEtlONADE=
748github.com/go-openapi/strfmt v0.20.2/go.mod h1:43urheQI9dNtE5lTZQfuFJvjYJKPrxicATpEfZwHUNk=
524github.com/go-openapi/swag v0.0.0-20160704191624-1d0bd113de87/go.mod h1:DXUve3Dpr1UfpPtxFw+EFuQ41HhCWZfha5jSVRG7C7I=749github.com/go-openapi/swag v0.0.0-20160704191624-1d0bd113de87/go.mod h1:DXUve3Dpr1UfpPtxFw+EFuQ41HhCWZfha5jSVRG7C7I=
525github.com/go-openapi/swag v0.17.0/go.mod h1:AByQ+nYG6gQg71GINrmuDXCPWdL640yX49/kXLo40Tg=750github.com/go-openapi/swag v0.17.0/go.mod h1:AByQ+nYG6gQg71GINrmuDXCPWdL640yX49/kXLo40Tg=
526github.com/go-openapi/swag v0.17.2/go.mod h1:AByQ+nYG6gQg71GINrmuDXCPWdL640yX49/kXLo40Tg=751github.com/go-openapi/swag v0.17.2/go.mod h1:AByQ+nYG6gQg71GINrmuDXCPWdL640yX49/kXLo40Tg=
@@ -548,15 +773,20 @@ github.com/go-openapi/validate v0.19.15/go.mod h1:tbn/fdOwYHgrhPBzidZfJC2MIVvs9G
548github.com/go-openapi/validate v0.20.1/go.mod h1:b60iJT+xNNLfaQJUqLI7946tYiFEOuE9E4k54HpKcJ0=773github.com/go-openapi/validate v0.20.1/go.mod h1:b60iJT+xNNLfaQJUqLI7946tYiFEOuE9E4k54HpKcJ0=
549github.com/go-openapi/validate v0.20.2 h1:AhqDegYV3J3iQkMPJSXkvzymHKMTw0BST3RK3hTT4ts=774github.com/go-openapi/validate v0.20.2 h1:AhqDegYV3J3iQkMPJSXkvzymHKMTw0BST3RK3hTT4ts=
550github.com/go-openapi/validate v0.20.2/go.mod h1:e7OJoKNgd0twXZwIn0A43tHbvIcr/rZIVCbJBpTUoY0=775github.com/go-openapi/validate v0.20.2/go.mod h1:e7OJoKNgd0twXZwIn0A43tHbvIcr/rZIVCbJBpTUoY0=
776github.com/go-playground/locales v0.12.1/go.mod h1:IUMDtCfWo/w/mtMfIE/IG2K+Ey3ygWanZIBtBW0W2TM=
777github.com/go-playground/universal-translator v0.16.0/go.mod h1:1AnU7NaIRDWWzGEKwgtJRd2xk99HeFyHw3yid4rvQIY=
551github.com/go-redis/redis/v8 v8.0.0-beta.10.0.20200905143926-df7fe4e2ce72/go.mod h1:CJP1ZIHwhosNYwIdaHPZK9vHsM3+roNBaZ7U9Of1DXc=778github.com/go-redis/redis/v8 v8.0.0-beta.10.0.20200905143926-df7fe4e2ce72/go.mod h1:CJP1ZIHwhosNYwIdaHPZK9vHsM3+roNBaZ7U9Of1DXc=
552github.com/go-redis/redis/v8 v8.2.3/go.mod h1:ysgGY09J/QeDYbu3HikWEIPCwaeOkuNoTgKayTEaEOw=779github.com/go-redis/redis/v8 v8.2.3/go.mod h1:ysgGY09J/QeDYbu3HikWEIPCwaeOkuNoTgKayTEaEOw=
553github.com/go-redis/redis/v8 v8.9.0 h1:FTTbB7WqlXfVNdVv0SsxA+oVi0bAwit6bMe3IUucq2o=780github.com/go-redis/redis/v8 v8.9.0 h1:FTTbB7WqlXfVNdVv0SsxA+oVi0bAwit6bMe3IUucq2o=
554github.com/go-redis/redis/v8 v8.9.0/go.mod h1:ik7vb7+gm8Izylxu6kf6wG26/t2VljgCfSQ1DM4O1uU=781github.com/go-redis/redis/v8 v8.9.0/go.mod h1:ik7vb7+gm8Izylxu6kf6wG26/t2VljgCfSQ1DM4O1uU=
782github.com/go-resty/resty/v2 v2.1.1-0.20191201195748-d7b97669fe48 h1:JVrqSeQfdhYRFk24TvhTZWU0q8lfCojxZQFi3Ou7+uY=
783github.com/go-resty/resty/v2 v2.1.1-0.20191201195748-d7b97669fe48/go.mod h1:dZGr0i9PLlaaTD4H/hoZIDjQ+r6xq8mgbRzHZf7f2J8=
555github.com/go-sql-driver/mysql v1.4.0/go.mod h1:zAC/RDZ24gD3HViQzih4MyKcchzm+sOG5ZlKdlhCg5w=784github.com/go-sql-driver/mysql v1.4.0/go.mod h1:zAC/RDZ24gD3HViQzih4MyKcchzm+sOG5ZlKdlhCg5w=
556github.com/go-sql-driver/mysql v1.4.1/go.mod h1:zAC/RDZ24gD3HViQzih4MyKcchzm+sOG5ZlKdlhCg5w=785github.com/go-sql-driver/mysql v1.4.1/go.mod h1:zAC/RDZ24gD3HViQzih4MyKcchzm+sOG5ZlKdlhCg5w=
557github.com/go-sql-driver/mysql v1.5.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg=786github.com/go-sql-driver/mysql v1.5.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg=
558github.com/go-stack/stack v1.8.0 h1:5SgMzNM5HxrEjV0ww2lTmX6E2Izsfxas4+YHWRs3Lsk=787github.com/go-stack/stack v1.8.0 h1:5SgMzNM5HxrEjV0ww2lTmX6E2Izsfxas4+YHWRs3Lsk=
559github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY=788github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY=
789github.com/go-task/slim-sprig v0.0.0-20210107165309-348f09dbbbc0/go.mod h1:fyg7847qk6SyHyPtNmDHnmrv/HOrqktSC+C9fM+CJOE=
560github.com/go-zookeeper/zk v1.0.2 h1:4mx0EYENAdX/B/rbunjlt5+4RTA/a9SMHBRuSKdGxPM=790github.com/go-zookeeper/zk v1.0.2 h1:4mx0EYENAdX/B/rbunjlt5+4RTA/a9SMHBRuSKdGxPM=
561github.com/go-zookeeper/zk v1.0.2/go.mod h1:nOB03cncLtlp4t+UAkGSV+9beXP/akpekBwL+UX1Qcw=791github.com/go-zookeeper/zk v1.0.2/go.mod h1:nOB03cncLtlp4t+UAkGSV+9beXP/akpekBwL+UX1Qcw=
562github.com/gobuffalo/attrs v0.0.0-20190224210810-a9411de4debd/go.mod h1:4duuawTqi2wkkpB4ePgWMaai6/Kc6WEz83bhFwpHzj0=792github.com/gobuffalo/attrs v0.0.0-20190224210810-a9411de4debd/go.mod h1:4duuawTqi2wkkpB4ePgWMaai6/Kc6WEz83bhFwpHzj0=
@@ -586,13 +816,20 @@ github.com/gobuffalo/syncx v0.0.0-20190224160051-33c29581e754/go.mod h1:HhnNqWY9
586github.com/gobwas/httphead v0.0.0-20180130184737-2c6c146eadee/go.mod h1:L0fX3K22YWvt/FAX9NnzrNzcI4wNYi9Yku4O0LKYflo=816github.com/gobwas/httphead v0.0.0-20180130184737-2c6c146eadee/go.mod h1:L0fX3K22YWvt/FAX9NnzrNzcI4wNYi9Yku4O0LKYflo=
587github.com/gobwas/pool v0.2.0/go.mod h1:q8bcK0KcYlCgd9e7WYLm9LpyS+YeLd8JVDW6WezmKEw=817github.com/gobwas/pool v0.2.0/go.mod h1:q8bcK0KcYlCgd9e7WYLm9LpyS+YeLd8JVDW6WezmKEw=
588github.com/gobwas/ws v1.0.2/go.mod h1:szmBTxLgaFppYjEmNtny/v3w89xOydFnnZMcgRRu/EM=818github.com/gobwas/ws v1.0.2/go.mod h1:szmBTxLgaFppYjEmNtny/v3w89xOydFnnZMcgRRu/EM=
819github.com/godbus/dbus v0.0.0-20151105175453-c7fdd8b5cd55/go.mod h1:/YcGZj5zSblfDWMMoOzV4fas9FZnQYTkDnsGvmh2Grw=
820github.com/godbus/dbus v0.0.0-20180201030542-885f9cc04c9c/go.mod h1:/YcGZj5zSblfDWMMoOzV4fas9FZnQYTkDnsGvmh2Grw=
589github.com/godbus/dbus v0.0.0-20190402143921-271e53dc4968/go.mod h1:/YcGZj5zSblfDWMMoOzV4fas9FZnQYTkDnsGvmh2Grw=821github.com/godbus/dbus v0.0.0-20190402143921-271e53dc4968/go.mod h1:/YcGZj5zSblfDWMMoOzV4fas9FZnQYTkDnsGvmh2Grw=
822github.com/godbus/dbus v0.0.0-20190422162347-ade71ed3457e/go.mod h1:bBOAhwG1umN6/6ZUMtDFBMQR8jRg9O75tm9K00oMsK4=
590github.com/godbus/dbus/v5 v5.0.3/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA=823github.com/godbus/dbus/v5 v5.0.3/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA=
824github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA=
591github.com/gofrs/uuid v3.3.0+incompatible/go.mod h1:b2aQJv3Z4Fp6yNu3cdSllBxTCLRxnplIgP/c0N/04lM=825github.com/gofrs/uuid v3.3.0+incompatible/go.mod h1:b2aQJv3Z4Fp6yNu3cdSllBxTCLRxnplIgP/c0N/04lM=
592github.com/gofrs/uuid v4.0.0+incompatible h1:1SD/1F5pU8p29ybwgQSwpQk+mwdRrXCYuPhW6m+TnJw=826github.com/gofrs/uuid v4.0.0+incompatible h1:1SD/1F5pU8p29ybwgQSwpQk+mwdRrXCYuPhW6m+TnJw=
593github.com/gofrs/uuid v4.0.0+incompatible/go.mod h1:b2aQJv3Z4Fp6yNu3cdSllBxTCLRxnplIgP/c0N/04lM=827github.com/gofrs/uuid v4.0.0+incompatible/go.mod h1:b2aQJv3Z4Fp6yNu3cdSllBxTCLRxnplIgP/c0N/04lM=
594github.com/gogo/googleapis v1.1.0 h1:kFkMAZBNAn4j7K0GiZr8cRYzejq68VbheufiV3YuyFI=828github.com/gogo/googleapis v0.0.0-20180223154316-0cd9801be74a/go.mod h1:gf4bu3Q80BeJ6H1S1vYPm8/ELATdvryBaNFGgqEef3s=
595github.com/gogo/googleapis v1.1.0/go.mod h1:gf4bu3Q80BeJ6H1S1vYPm8/ELATdvryBaNFGgqEef3s=829github.com/gogo/googleapis v1.1.0/go.mod h1:gf4bu3Q80BeJ6H1S1vYPm8/ELATdvryBaNFGgqEef3s=
830github.com/gogo/googleapis v1.2.0/go.mod h1:Njal3psf3qN6dwBtQfUmBZh2ybovJ0tlu3o/AC7HYjU=
831github.com/gogo/googleapis v1.4.0 h1:zgVt4UpGxcqVOw97aRGxT4svlcmdK35fynLNctY32zI=
832github.com/gogo/googleapis v1.4.0/go.mod h1:5YRNX2z1oM5gXdAkurHa942MDgEJyk02w4OecKY87+c=
596github.com/gogo/protobuf v1.0.0/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ=833github.com/gogo/protobuf v1.0.0/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ=
597github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ=834github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ=
598github.com/gogo/protobuf v1.2.0/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ=835github.com/gogo/protobuf v1.2.0/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ=
@@ -603,10 +840,14 @@ github.com/gogo/protobuf v1.3.0/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXP
603github.com/gogo/protobuf v1.3.1/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXPKa29o=840github.com/gogo/protobuf v1.3.1/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXPKa29o=
604github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q=841github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q=
605github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q=842github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q=
606github.com/gogo/status v1.0.3 h1:WkVBY59mw7qUNTr/bLwO7J2vesJ0rQ2C3tMXrTd3w5M=
607github.com/gogo/status v1.0.3/go.mod h1:SavQ51ycCLnc7dGyJxp8YAmudx8xqiVrRf+6IXRsugc=843github.com/gogo/status v1.0.3/go.mod h1:SavQ51ycCLnc7dGyJxp8YAmudx8xqiVrRf+6IXRsugc=
844github.com/gogo/status v1.1.0 h1:+eIkrewn5q6b30y+g/BJINVVdi2xH7je5MPJ3ZPK3JA=
845github.com/gogo/status v1.1.0/go.mod h1:BFv9nrluPLmrS0EmGVvLaPNmRosr9KapBYd5/hpY1WM=
846github.com/golang-jwt/jwt/v4 v4.0.0 h1:RAqyYixv1p7uEnocuy8P1nru5wprCh/MH2BIlW5z5/o=
847github.com/golang-jwt/jwt/v4 v4.0.0/go.mod h1:/xlHOz8bRuivTWchD4jCa+NbatV+wEUSzwAxVc6locg=
608github.com/golang-migrate/migrate/v4 v4.7.0 h1:gONcHxHApDTKXDyLH/H97gEHmpu1zcnnbAaq2zgrPrs=848github.com/golang-migrate/migrate/v4 v4.7.0 h1:gONcHxHApDTKXDyLH/H97gEHmpu1zcnnbAaq2zgrPrs=
609github.com/golang-migrate/migrate/v4 v4.7.0/go.mod h1:Qvut3N4xKWjoH3sokBccML6WyHSnggXm/DvMMnTsQIc=849github.com/golang-migrate/migrate/v4 v4.7.0/go.mod h1:Qvut3N4xKWjoH3sokBccML6WyHSnggXm/DvMMnTsQIc=
850github.com/golang-sql/civil v0.0.0-20190719163853-cb61b32ac6fe/go.mod h1:8vg3r2VgvsThLBIFL93Qb5yWzgyZWhEmBwUJWevAkK0=
610github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0/go.mod h1:E/TSTwGwJL78qG/PmXZO1EjYhfJinVAhrmmHX6Z8B9k=851github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0/go.mod h1:E/TSTwGwJL78qG/PmXZO1EjYhfJinVAhrmmHX6Z8B9k=
611github.com/golang/geo v0.0.0-20190916061304-5b978397cfec/go.mod h1:QZ0nwyI2jOfgRAoBvP+ab5aRr7c9x7lhGEJrKvBwjWI=852github.com/golang/geo v0.0.0-20190916061304-5b978397cfec/go.mod h1:QZ0nwyI2jOfgRAoBvP+ab5aRr7c9x7lhGEJrKvBwjWI=
612github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q=853github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q=
@@ -615,10 +856,10 @@ github.com/golang/groupcache v0.0.0-20190129154638-5b532d6fd5ef/go.mod h1:cIg4er
615github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=856github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
616github.com/golang/groupcache v0.0.0-20191027212112-611e8accdfc9/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=857github.com/golang/groupcache v0.0.0-20191027212112-611e8accdfc9/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
617github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=858github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
618github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e h1:1r7pUrabqp18hOBcwBwiTsbnFeTZHV9eER/QT5JVZxY=
619github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=859github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
860github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da h1:oI5xCqsCo564l8iNU+DwB5epxmsaqB+rhGL0m5jtYqE=
861github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
620github.com/golang/lint v0.0.0-20180702182130-06c8688daad7/go.mod h1:tluoj9z5200jBnyusfRPU2LqT6J+DAorxEvtC7LHB+E=862github.com/golang/lint v0.0.0-20180702182130-06c8688daad7/go.mod h1:tluoj9z5200jBnyusfRPU2LqT6J+DAorxEvtC7LHB+E=
621github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A=
622github.com/golang/mock v1.2.0/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A=863github.com/golang/mock v1.2.0/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A=
623github.com/golang/mock v1.3.1/go.mod h1:sBzyDLLjw3U8JLTeZvSv8jJB+tU5PVekmnlKIyFUx0Y=864github.com/golang/mock v1.3.1/go.mod h1:sBzyDLLjw3U8JLTeZvSv8jJB+tU5PVekmnlKIyFUx0Y=
624github.com/golang/mock v1.4.0/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw=865github.com/golang/mock v1.4.0/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw=
@@ -626,6 +867,7 @@ github.com/golang/mock v1.4.1/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt
626github.com/golang/mock v1.4.3/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw=867github.com/golang/mock v1.4.3/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw=
627github.com/golang/mock v1.4.4/go.mod h1:l3mdAwkq5BuhzHwde/uurv3sEJeZMXNpwsxVWU71h+4=868github.com/golang/mock v1.4.4/go.mod h1:l3mdAwkq5BuhzHwde/uurv3sEJeZMXNpwsxVWU71h+4=
628github.com/golang/mock v1.5.0/go.mod h1:CWnOUgYIOo4TcNZ0wHX3YZCqsaM1I1Jvs6v3mP3KVu8=869github.com/golang/mock v1.5.0/go.mod h1:CWnOUgYIOo4TcNZ0wHX3YZCqsaM1I1Jvs6v3mP3KVu8=
870github.com/golang/mock v1.6.0/go.mod h1:p6yTPP+5HYm5mzsMV8JkE6ZKdX+/wYM6Hr+LicevLPs=
629github.com/golang/protobuf v0.0.0-20161109072736-4bd1920723d7/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=871github.com/golang/protobuf v0.0.0-20161109072736-4bd1920723d7/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
630github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=872github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
631github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=873github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
@@ -649,15 +891,19 @@ github.com/golang/snappy v0.0.0-20180518054509-2e65f85255db/go.mod h1:/XxbfmMg8l
649github.com/golang/snappy v0.0.1/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q=891github.com/golang/snappy v0.0.1/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q=
650github.com/golang/snappy v0.0.2/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q=892github.com/golang/snappy v0.0.2/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q=
651github.com/golang/snappy v0.0.3-0.20201103224600-674baa8c7fc3/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q=893github.com/golang/snappy v0.0.3-0.20201103224600-674baa8c7fc3/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q=
652github.com/golang/snappy v0.0.3 h1:fHPg5GQYlCeLIPB9BZqMVR5nR9A+IM5zcgeTdjMYmLA=
653github.com/golang/snappy v0.0.3/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q=894github.com/golang/snappy v0.0.3/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q=
895github.com/golang/snappy v0.0.4 h1:yAGX7huGHXlcLOEtBnF4w7FQwA26wojNCwOYAEhLjQM=
896github.com/golang/snappy v0.0.4/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q=
897github.com/golangci/lint-1 v0.0.0-20181222135242-d2cdd8c08219/go.mod h1:/X8TswGSh1pIozq4ZwCfxS0WA5JGXguxk94ar/4c87Y=
654github.com/gomodule/redigo v1.8.4/go.mod h1:P9dn9mFrCBvWhGE1wpxx6fgq7BAeLBk+UUUzlpkBYO0=898github.com/gomodule/redigo v1.8.4/go.mod h1:P9dn9mFrCBvWhGE1wpxx6fgq7BAeLBk+UUUzlpkBYO0=
655github.com/gomodule/redigo v2.0.0+incompatible/go.mod h1:B4C85qUVwatsJoIUNIfCRsp7qO0iAmpGFZ4EELWSbC4=899github.com/gomodule/redigo v2.0.0+incompatible/go.mod h1:B4C85qUVwatsJoIUNIfCRsp7qO0iAmpGFZ4EELWSbC4=
656github.com/google/btree v0.0.0-20180124185431-e89373fe6b4a/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ=900github.com/google/btree v0.0.0-20180124185431-e89373fe6b4a/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ=
657github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ=901github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ=
658github.com/google/btree v1.0.0 h1:0udJVsspx3VBr5FwtLhQQtuAsVc79tTq0ocGIPAU6qo=
659github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ=902github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ=
903github.com/google/btree v1.0.1 h1:gK4Kx5IaGY9CD5sPJ36FHiBJ6ZXl0kilRiiCj+jdYp4=
904github.com/google/btree v1.0.1/go.mod h1:xXMiIv4Fb/0kKde4SpL7qlzvu5cMJDRkFDxJfI9uaxA=
660github.com/google/flatbuffers v1.11.0/go.mod h1:1AeVuKshWv4vARoZatz6mlQ0JxURH0Kv5+zNeJKJCa8=905github.com/google/flatbuffers v1.11.0/go.mod h1:1AeVuKshWv4vARoZatz6mlQ0JxURH0Kv5+zNeJKJCa8=
906github.com/google/flatbuffers v2.0.0+incompatible/go.mod h1:1AeVuKshWv4vARoZatz6mlQ0JxURH0Kv5+zNeJKJCa8=
661github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M=907github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M=
662github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU=908github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU=
663github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU=909github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU=
@@ -668,8 +914,9 @@ github.com/google/go-cmp v0.5.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/
668github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=914github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
669github.com/google/go-cmp v0.5.3/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=915github.com/google/go-cmp v0.5.3/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
670github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=916github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
671github.com/google/go-cmp v0.5.5 h1:Khx7svrCpmxxtHBq5j2mp/xVjsi8hQMfNLvJFAlrGgU=
672github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=917github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
918github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ=
919github.com/google/go-cmp v0.5.6/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
673github.com/google/go-github v17.0.0+incompatible/go.mod h1:zLgOLi98H3fifZn+44m+umXrS52loVEgC2AApnigrVQ=920github.com/google/go-github v17.0.0+incompatible/go.mod h1:zLgOLi98H3fifZn+44m+umXrS52loVEgC2AApnigrVQ=
674github.com/google/go-querystring v1.0.0 h1:Xkwi/a1rcvNg1PPYe5vI8GbeBY/jrVuDX5ASuANWTrk=921github.com/google/go-querystring v1.0.0 h1:Xkwi/a1rcvNg1PPYe5vI8GbeBY/jrVuDX5ASuANWTrk=
675github.com/google/go-querystring v1.0.0/go.mod h1:odCYkC5MyYFN7vkCjXpyrEuKhc/BUO6wN/zVPAxq5ck=922github.com/google/go-querystring v1.0.0/go.mod h1:odCYkC5MyYFN7vkCjXpyrEuKhc/BUO6wN/zVPAxq5ck=
@@ -680,14 +927,16 @@ github.com/google/gofuzz v1.1.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/
680github.com/google/martian v2.1.0+incompatible h1:/CP5g8u/VJHijgedC/Legn3BAbAaWPgecwXBIDzw5no=927github.com/google/martian v2.1.0+incompatible h1:/CP5g8u/VJHijgedC/Legn3BAbAaWPgecwXBIDzw5no=
681github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs=928github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs=
682github.com/google/martian/v3 v3.0.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0=929github.com/google/martian/v3 v3.0.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0=
683github.com/google/martian/v3 v3.1.0 h1:wCKgOCHuUEVfsaQLpPSJb7VdYCdTVZQAuOdYm1yc/60=
684github.com/google/martian/v3 v3.1.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0=930github.com/google/martian/v3 v3.1.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0=
931github.com/google/martian/v3 v3.2.1 h1:d8MncMlErDFTwQGBK1xhv026j9kqhvw1Qv9IbWT1VLQ=
932github.com/google/martian/v3 v3.2.1/go.mod h1:oBOf6HBosgwRXnUGWUB05QECsc6uvmMiJ3+6W4l/CUk=
685github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc=933github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc=
686github.com/google/pprof v0.0.0-20190515194954-54271f7e092f/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc=934github.com/google/pprof v0.0.0-20190515194954-54271f7e092f/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc=
687github.com/google/pprof v0.0.0-20190723021845-34ac40c74b70/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc=935github.com/google/pprof v0.0.0-20190723021845-34ac40c74b70/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc=
688github.com/google/pprof v0.0.0-20191218002539-d4f498aebedc/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM=936github.com/google/pprof v0.0.0-20191218002539-d4f498aebedc/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM=
689github.com/google/pprof v0.0.0-20200212024743-f11f1df84d12/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM=937github.com/google/pprof v0.0.0-20200212024743-f11f1df84d12/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM=
690github.com/google/pprof v0.0.0-20200229191704-1ebb73c60ed3/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM=938github.com/google/pprof v0.0.0-20200229191704-1ebb73c60ed3/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM=
939github.com/google/pprof v0.0.0-20200417002340-c6e0a841f49a/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM=
691github.com/google/pprof v0.0.0-20200430221834-fc25d7d30c6d/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM=940github.com/google/pprof v0.0.0-20200430221834-fc25d7d30c6d/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM=
692github.com/google/pprof v0.0.0-20200507031123-427632fa3b1c/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM=941github.com/google/pprof v0.0.0-20200507031123-427632fa3b1c/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM=
693github.com/google/pprof v0.0.0-20200615235658-03e1cf38a040/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM=942github.com/google/pprof v0.0.0-20200615235658-03e1cf38a040/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM=
@@ -700,57 +949,76 @@ github.com/google/pprof v0.0.0-20210122040257-d980be63207e/go.mod h1:kpwsk12EmLe
700github.com/google/pprof v0.0.0-20210208152844-1612e9be7af6/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE=949github.com/google/pprof v0.0.0-20210208152844-1612e9be7af6/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE=
701github.com/google/pprof v0.0.0-20210226084205-cbba55b83ad5/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE=950github.com/google/pprof v0.0.0-20210226084205-cbba55b83ad5/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE=
702github.com/google/pprof v0.0.0-20210323184331-8eee2492667d/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE=951github.com/google/pprof v0.0.0-20210323184331-8eee2492667d/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE=
703github.com/google/pprof v0.0.0-20210504235042-3a04a4d88a10 h1:wAh7XxYU1O92WP9JMsK0elU+haxEN0HTc2m/C89wQvk=
704github.com/google/pprof v0.0.0-20210504235042-3a04a4d88a10/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE=952github.com/google/pprof v0.0.0-20210504235042-3a04a4d88a10/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE=
953github.com/google/pprof v0.0.0-20210601050228-01bbb1931b22/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE=
954github.com/google/pprof v0.0.0-20210609004039-a478d1d731e9/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE=
955github.com/google/pprof v0.0.0-20210720184732-4bb14d4b1be1/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE=
956github.com/google/pprof v0.0.0-20210827144239-02619b876842 h1:JCrt5MIE1fHQtdy1825HwJ45oVQaqHE6lgssRhjcg/o=
957github.com/google/pprof v0.0.0-20210827144239-02619b876842/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE=
705github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI=958github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI=
706github.com/google/uuid v1.0.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=959github.com/google/uuid v1.0.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
707github.com/google/uuid v1.1.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=960github.com/google/uuid v1.1.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
708github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=961github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
709github.com/google/uuid v1.1.2 h1:EVhdT+1Kseyi1/pUmXKaFxYsDNy9RQYkMWRH68J/W7Y=
710github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=962github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
963github.com/google/uuid v1.2.0 h1:qJYtXnJRWmpe7m/3XlyhrsLrEURqHRM2kxzoxXqyUDs=
964github.com/google/uuid v1.2.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
711github.com/googleapis/gax-go v2.0.2+incompatible h1:silFMLAnr330+NRuag/VjIGF7TLp/LBrV2CJKFLWEww=965github.com/googleapis/gax-go v2.0.2+incompatible h1:silFMLAnr330+NRuag/VjIGF7TLp/LBrV2CJKFLWEww=
712github.com/googleapis/gax-go v2.0.2+incompatible/go.mod h1:SFVmujtThgffbyetf+mdk2eWhX2bMyUtNHzFKcPA9HY=966github.com/googleapis/gax-go v2.0.2+incompatible/go.mod h1:SFVmujtThgffbyetf+mdk2eWhX2bMyUtNHzFKcPA9HY=
713github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg=967github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg=
714github.com/googleapis/gax-go/v2 v2.0.5 h1:sjZBwGj9Jlw33ImPtvFviGYvseOtDM7hkSKB7+Tv3SM=
715github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk=968github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk=
969github.com/googleapis/gax-go/v2 v2.1.0 h1:6DWmvNpomjL1+3liNSZbVns3zsYzzCjm6pRBO1tLeso=
970github.com/googleapis/gax-go/v2 v2.1.0/go.mod h1:Q3nei7sK6ybPYH7twZdmQpAd1MKb7pfu6SK+H1/DsU0=
716github.com/googleapis/gnostic v0.0.0-20170426233943-68f4ded48ba9/go.mod h1:sJBsCZ4ayReDTBIg8b9dl28c5xFWyhBTVRp3pOg5EKY=971github.com/googleapis/gnostic v0.0.0-20170426233943-68f4ded48ba9/go.mod h1:sJBsCZ4ayReDTBIg8b9dl28c5xFWyhBTVRp3pOg5EKY=
717github.com/googleapis/gnostic v0.0.0-20170729233727-0c5108395e2d/go.mod h1:sJBsCZ4ayReDTBIg8b9dl28c5xFWyhBTVRp3pOg5EKY=972github.com/googleapis/gnostic v0.0.0-20170729233727-0c5108395e2d/go.mod h1:sJBsCZ4ayReDTBIg8b9dl28c5xFWyhBTVRp3pOg5EKY=
718github.com/googleapis/gnostic v0.1.0/go.mod h1:sJBsCZ4ayReDTBIg8b9dl28c5xFWyhBTVRp3pOg5EKY=973github.com/googleapis/gnostic v0.1.0/go.mod h1:sJBsCZ4ayReDTBIg8b9dl28c5xFWyhBTVRp3pOg5EKY=
719github.com/googleapis/gnostic v0.3.0/go.mod h1:sJBsCZ4ayReDTBIg8b9dl28c5xFWyhBTVRp3pOg5EKY=974github.com/googleapis/gnostic v0.3.0/go.mod h1:sJBsCZ4ayReDTBIg8b9dl28c5xFWyhBTVRp3pOg5EKY=
720github.com/googleapis/gnostic v0.3.1/go.mod h1:on+2t9HRStVgn95RSsFWFz+6Q0Snyqv1awfrALZdbtU=975github.com/googleapis/gnostic v0.3.1/go.mod h1:on+2t9HRStVgn95RSsFWFz+6Q0Snyqv1awfrALZdbtU=
721github.com/googleapis/gnostic v0.4.0/go.mod h1:on+2t9HRStVgn95RSsFWFz+6Q0Snyqv1awfrALZdbtU=976github.com/googleapis/gnostic v0.4.0/go.mod h1:on+2t9HRStVgn95RSsFWFz+6Q0Snyqv1awfrALZdbtU=
722github.com/googleapis/gnostic v0.4.1 h1:DLJCy1n/vrD4HPjOvYcT8aYQXpPIzoRZONaYwyycI+I=
723github.com/googleapis/gnostic v0.4.1/go.mod h1:LRhVm6pbyptWbWbuZ38d1eyptfvIytN3ir6b65WBswg=977github.com/googleapis/gnostic v0.4.1/go.mod h1:LRhVm6pbyptWbWbuZ38d1eyptfvIytN3ir6b65WBswg=
978github.com/googleapis/gnostic v0.5.1/go.mod h1:6U4PtQXGIEt/Z3h5MAT7FNofLnw9vXk2cUuW7uA/OeU=
979github.com/googleapis/gnostic v0.5.5 h1:9fHAtK0uDfpveeqqo1hkEZJcFvYXAiCN3UutL8F9xHw=
980github.com/googleapis/gnostic v0.5.5/go.mod h1:7+EbHbldMins07ALC74bsA81Ovc97DwqyJO1AENw9kA=
724github.com/gophercloud/gophercloud v0.3.0/go.mod h1:vxM41WHh5uqHVBMZHzuwNOHh8XEoIEcSTewFxm1c5g8=981github.com/gophercloud/gophercloud v0.3.0/go.mod h1:vxM41WHh5uqHVBMZHzuwNOHh8XEoIEcSTewFxm1c5g8=
725github.com/gophercloud/gophercloud v0.6.0/go.mod h1:GICNByuaEBibcjmjvI7QvYJSZEbGkcYwAR7EZK2WMqM=982github.com/gophercloud/gophercloud v0.6.0/go.mod h1:GICNByuaEBibcjmjvI7QvYJSZEbGkcYwAR7EZK2WMqM=
983github.com/gophercloud/gophercloud v0.10.0/go.mod h1:gmC5oQqMDOMO1t1gq5DquX/yAU808e/4mzjjDA76+Ss=
726github.com/gophercloud/gophercloud v0.11.0/go.mod h1:gmC5oQqMDOMO1t1gq5DquX/yAU808e/4mzjjDA76+Ss=984github.com/gophercloud/gophercloud v0.11.0/go.mod h1:gmC5oQqMDOMO1t1gq5DquX/yAU808e/4mzjjDA76+Ss=
727github.com/gophercloud/gophercloud v0.12.0/go.mod h1:gmC5oQqMDOMO1t1gq5DquX/yAU808e/4mzjjDA76+Ss=985github.com/gophercloud/gophercloud v0.12.0/go.mod h1:gmC5oQqMDOMO1t1gq5DquX/yAU808e/4mzjjDA76+Ss=
728github.com/gophercloud/gophercloud v0.13.0/go.mod h1:VX0Ibx85B60B5XOrZr6kaNwrmPUzcmMpwxvQ1WQIIWM=986github.com/gophercloud/gophercloud v0.13.0/go.mod h1:VX0Ibx85B60B5XOrZr6kaNwrmPUzcmMpwxvQ1WQIIWM=
729github.com/gophercloud/gophercloud v0.14.0/go.mod h1:VX0Ibx85B60B5XOrZr6kaNwrmPUzcmMpwxvQ1WQIIWM=987github.com/gophercloud/gophercloud v0.14.0/go.mod h1:VX0Ibx85B60B5XOrZr6kaNwrmPUzcmMpwxvQ1WQIIWM=
730github.com/gophercloud/gophercloud v0.15.0/go.mod h1:VX0Ibx85B60B5XOrZr6kaNwrmPUzcmMpwxvQ1WQIIWM=988github.com/gophercloud/gophercloud v0.15.0/go.mod h1:VX0Ibx85B60B5XOrZr6kaNwrmPUzcmMpwxvQ1WQIIWM=
731github.com/gophercloud/gophercloud v0.16.0/go.mod h1:wRtmUelyIIv3CSSDI47aUwbs075O6i+LY+pXsKCBsb4=989github.com/gophercloud/gophercloud v0.16.0/go.mod h1:wRtmUelyIIv3CSSDI47aUwbs075O6i+LY+pXsKCBsb4=
732github.com/gophercloud/gophercloud v0.17.0 h1:BgVw0saxyeHWH5us/SQe1ltp0GRnytjmOLXDA8pO77E=
733github.com/gophercloud/gophercloud v0.17.0/go.mod h1:wRtmUelyIIv3CSSDI47aUwbs075O6i+LY+pXsKCBsb4=990github.com/gophercloud/gophercloud v0.17.0/go.mod h1:wRtmUelyIIv3CSSDI47aUwbs075O6i+LY+pXsKCBsb4=
991github.com/gophercloud/gophercloud v0.18.0/go.mod h1:wRtmUelyIIv3CSSDI47aUwbs075O6i+LY+pXsKCBsb4=
992github.com/gophercloud/gophercloud v0.20.0 h1:1+4jrsjVhdX5omlAo4jkmFc6ftLbuXLzgFo4i6lH+Gk=
993github.com/gophercloud/gophercloud v0.20.0/go.mod h1:wRtmUelyIIv3CSSDI47aUwbs075O6i+LY+pXsKCBsb4=
734github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY=994github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY=
735github.com/gopherjs/gopherjs v0.0.0-20191106031601-ce3c9ade29de h1:F7WD09S8QB4LrkEpka0dFPLSotH11HRpCsLIbIcJ7sU=995github.com/gopherjs/gopherjs v0.0.0-20191106031601-ce3c9ade29de h1:F7WD09S8QB4LrkEpka0dFPLSotH11HRpCsLIbIcJ7sU=
736github.com/gopherjs/gopherjs v0.0.0-20191106031601-ce3c9ade29de/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY=996github.com/gopherjs/gopherjs v0.0.0-20191106031601-ce3c9ade29de/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY=
737github.com/gorilla/context v1.1.1/go.mod h1:kBGZzfjB9CEq2AlWe17Uuf7NDRt0dE0s8S51q0aT7Yg=997github.com/gorilla/context v1.1.1/go.mod h1:kBGZzfjB9CEq2AlWe17Uuf7NDRt0dE0s8S51q0aT7Yg=
998github.com/gorilla/handlers v0.0.0-20150720190736-60c7bfde3e33/go.mod h1:Qkdc/uu4tH4g6mTK6auzZ766c4CA0Ng8+o/OAirnOIQ=
738github.com/gorilla/mux v1.6.2/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs=999github.com/gorilla/mux v1.6.2/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs=
739github.com/gorilla/mux v1.7.1/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs=1000github.com/gorilla/mux v1.7.1/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs=
740github.com/gorilla/mux v1.7.3 h1:gnP5JzjVOuiZD07fKKToCAOjS0yOpj/qPETTXCCS6hw=1001github.com/gorilla/mux v1.7.2/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs=
741github.com/gorilla/mux v1.7.3/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs=1002github.com/gorilla/mux v1.7.3/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs=
1003github.com/gorilla/mux v1.8.0 h1:i40aqfkR1h2SlN9hojwV5ZA91wcXFOvkdNIeFDP5koI=
1004github.com/gorilla/mux v1.8.0/go.mod h1:DVbg23sWSpFRCP0SfiEN6jmj59UnW/n46BH5rLB71So=
742github.com/gorilla/websocket v0.0.0-20170926233335-4201258b820c/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ=1005github.com/gorilla/websocket v0.0.0-20170926233335-4201258b820c/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ=
743github.com/gorilla/websocket v1.4.0/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ=1006github.com/gorilla/websocket v1.4.0/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ=
744github.com/gorilla/websocket v1.4.2 h1:+/TMaTYc4QFitKJxsQ7Yye35DkWvkdLcvGKqM+x0Ufc=1007github.com/gorilla/websocket v1.4.2 h1:+/TMaTYc4QFitKJxsQ7Yye35DkWvkdLcvGKqM+x0Ufc=
745github.com/gorilla/websocket v1.4.2/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE=1008github.com/gorilla/websocket v1.4.2/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE=
1009github.com/grafana/dskit v0.0.0-20210818123532-6645f87e9e12/go.mod h1:QaNAQaCSFOtG/NHf6Jd/zh67H25kkrVCq36U61Y2Mhw=
1010github.com/grafana/dskit v0.0.0-20210819132858-471020752967/go.mod h1:uF46UNN1/feB1egpq8UGbBBKvJjGgZauW7pcVbeFLLM=
1011github.com/grafana/dskit v0.0.0-20210908150159-fcf48cb19aa4 h1:OwWd9nQZYfb01HTJjleuO8eOP5t6Hl2EqVjng6W1juc=
1012github.com/grafana/dskit v0.0.0-20210908150159-fcf48cb19aa4/go.mod h1:m3eHzwe5IT5eE2MI3Ena2ooU8+Hek8IiVXb9yJ1+0rs=
746github.com/grafana/gocql v0.0.0-20200605141915-ba5dc39ece85 h1:xLuzPoOzdfNb/RF/IENCw+oLVdZB4G21VPhkHBgwSHY=1013github.com/grafana/gocql v0.0.0-20200605141915-ba5dc39ece85 h1:xLuzPoOzdfNb/RF/IENCw+oLVdZB4G21VPhkHBgwSHY=
747github.com/grafana/gocql v0.0.0-20200605141915-ba5dc39ece85/go.mod h1:crI9WX6p0IhrqB+DqIUHulRW853PaNFf7o4UprV//3I=1014github.com/grafana/gocql v0.0.0-20200605141915-ba5dc39ece85/go.mod h1:crI9WX6p0IhrqB+DqIUHulRW853PaNFf7o4UprV//3I=
748github.com/gregjones/httpcache v0.0.0-20180305231024-9cad4c3443a7/go.mod h1:FecbI9+v66THATjSRHfNgh1IVFe/9kFxbXtjV0ctIMA=1015github.com/gregjones/httpcache v0.0.0-20180305231024-9cad4c3443a7/go.mod h1:FecbI9+v66THATjSRHfNgh1IVFe/9kFxbXtjV0ctIMA=
749github.com/grpc-ecosystem/go-grpc-middleware v1.0.0/go.mod h1:FiyG127CGDf3tlThmgyCl78X/SZQqEOJBCDaAfeWzPs=1016github.com/grpc-ecosystem/go-grpc-middleware v1.0.0/go.mod h1:FiyG127CGDf3tlThmgyCl78X/SZQqEOJBCDaAfeWzPs=
750github.com/grpc-ecosystem/go-grpc-middleware v1.0.1-0.20190118093823-f849b5445de4/go.mod h1:FiyG127CGDf3tlThmgyCl78X/SZQqEOJBCDaAfeWzPs=1017github.com/grpc-ecosystem/go-grpc-middleware v1.0.1-0.20190118093823-f849b5445de4/go.mod h1:FiyG127CGDf3tlThmgyCl78X/SZQqEOJBCDaAfeWzPs=
751github.com/grpc-ecosystem/go-grpc-middleware v1.1.0/go.mod h1:f5nM7jw/oeRSadq3xCzHAvxcr8HZnzsqU6ILg/0NiiE=1018github.com/grpc-ecosystem/go-grpc-middleware v1.1.0/go.mod h1:f5nM7jw/oeRSadq3xCzHAvxcr8HZnzsqU6ILg/0NiiE=
752github.com/grpc-ecosystem/go-grpc-middleware v1.2.2 h1:FlFbCRLd5Jr4iYXZufAvgWN6Ao0JrI5chLINnUXDDr0=
753github.com/grpc-ecosystem/go-grpc-middleware v1.2.2/go.mod h1:EaizFBKfUKtMIF5iaDEhniwNedqGo9FuLFzppDr3uwI=1019github.com/grpc-ecosystem/go-grpc-middleware v1.2.2/go.mod h1:EaizFBKfUKtMIF5iaDEhniwNedqGo9FuLFzppDr3uwI=
1020github.com/grpc-ecosystem/go-grpc-middleware v1.3.0 h1:+9834+KizmvFV7pXQGSXQTsaWhq2GjuNUt0aUU0YBYw=
1021github.com/grpc-ecosystem/go-grpc-middleware v1.3.0/go.mod h1:z0ButlSOZa5vEBq9m2m2hlwIgKw+rp3sdCBRoJY+30Y=
754github.com/grpc-ecosystem/go-grpc-middleware/providers/kit/v2 v2.0.0-20201002093600-73cf2ae9d891/go.mod h1:516cTXxZzi4NBUBbKcwmO4Eqbb6GHAEd3o4N+GYyCBY=1022github.com/grpc-ecosystem/go-grpc-middleware/providers/kit/v2 v2.0.0-20201002093600-73cf2ae9d891/go.mod h1:516cTXxZzi4NBUBbKcwmO4Eqbb6GHAEd3o4N+GYyCBY=
755github.com/grpc-ecosystem/go-grpc-middleware/v2 v2.0.0-20200501113911-9a95f0fdbfea/go.mod h1:GugMBs30ZSAkckqXEAIEGyYdDH6EgqowG8ppA3Zt+AY=1023github.com/grpc-ecosystem/go-grpc-middleware/v2 v2.0.0-20200501113911-9a95f0fdbfea/go.mod h1:GugMBs30ZSAkckqXEAIEGyYdDH6EgqowG8ppA3Zt+AY=
756github.com/grpc-ecosystem/go-grpc-middleware/v2 v2.0.0-rc.2.0.20201207153454-9f6bf00c00a7 h1:guQyUpELu4I0wKgdsRBZDA5blfGiUleuppRSVy9Qbi0=1024github.com/grpc-ecosystem/go-grpc-middleware/v2 v2.0.0-rc.2.0.20201207153454-9f6bf00c00a7 h1:guQyUpELu4I0wKgdsRBZDA5blfGiUleuppRSVy9Qbi0=
@@ -762,6 +1030,7 @@ github.com/grpc-ecosystem/grpc-gateway v1.9.0/go.mod h1:vNeuVxBJEsws4ogUvrchl83t
762github.com/grpc-ecosystem/grpc-gateway v1.9.4/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY=1030github.com/grpc-ecosystem/grpc-gateway v1.9.4/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY=
763github.com/grpc-ecosystem/grpc-gateway v1.9.5/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY=1031github.com/grpc-ecosystem/grpc-gateway v1.9.5/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY=
764github.com/grpc-ecosystem/grpc-gateway v1.12.1/go.mod h1:8XEsbTttt/W+VvjtQhLACqCisSPWTxCZ7sBRjU6iH9c=1032github.com/grpc-ecosystem/grpc-gateway v1.12.1/go.mod h1:8XEsbTttt/W+VvjtQhLACqCisSPWTxCZ7sBRjU6iH9c=
1033github.com/grpc-ecosystem/grpc-gateway v1.14.4/go.mod h1:6CwZWGDSPRJidgKAtJVvND6soZe6fT7iteq8wDPdhb0=
765github.com/grpc-ecosystem/grpc-gateway v1.14.6/go.mod h1:zdiPV4Yse/1gnckTHtghG4GkDEdKCRJduHpTxT3/jcw=1034github.com/grpc-ecosystem/grpc-gateway v1.14.6/go.mod h1:zdiPV4Yse/1gnckTHtghG4GkDEdKCRJduHpTxT3/jcw=
766github.com/grpc-ecosystem/grpc-gateway v1.15.0/go.mod h1:vO11I9oWA+KsxmfFQPhLnnIb1VDE24M+pdxZFiuZcA8=1035github.com/grpc-ecosystem/grpc-gateway v1.15.0/go.mod h1:vO11I9oWA+KsxmfFQPhLnnIb1VDE24M+pdxZFiuZcA8=
767github.com/grpc-ecosystem/grpc-gateway v1.16.0 h1:gmcG1KaJ57LophUzW0Hy8NmPhnMZb4M0+kPpLofRdBo=1036github.com/grpc-ecosystem/grpc-gateway v1.16.0 h1:gmcG1KaJ57LophUzW0Hy8NmPhnMZb4M0+kPpLofRdBo=
@@ -775,30 +1044,38 @@ github.com/hashicorp/consul/api v1.4.0/go.mod h1:xc8u05kyMa3Wjr9eEAsIAo3dg8+LywT
775github.com/hashicorp/consul/api v1.5.0/go.mod h1:LqwrLNW876eYSuUOo4ZLHBcdKc038txr/IMfbLPATa4=1044github.com/hashicorp/consul/api v1.5.0/go.mod h1:LqwrLNW876eYSuUOo4ZLHBcdKc038txr/IMfbLPATa4=
776github.com/hashicorp/consul/api v1.6.0/go.mod h1:1NSuaUUkFaJzMasbfq/11wKYWSR67Xn6r2DXKhuDNFg=1045github.com/hashicorp/consul/api v1.6.0/go.mod h1:1NSuaUUkFaJzMasbfq/11wKYWSR67Xn6r2DXKhuDNFg=
777github.com/hashicorp/consul/api v1.7.0/go.mod h1:1NSuaUUkFaJzMasbfq/11wKYWSR67Xn6r2DXKhuDNFg=1046github.com/hashicorp/consul/api v1.7.0/go.mod h1:1NSuaUUkFaJzMasbfq/11wKYWSR67Xn6r2DXKhuDNFg=
778github.com/hashicorp/consul/api v1.8.1 h1:BOEQaMWoGMhmQ29fC26bi0qb7/rId9JzZP2V0Xmx7m8=
779github.com/hashicorp/consul/api v1.8.1/go.mod h1:sDjTOq0yUyv5G4h+BqSea7Fn6BU+XbolEz1952UB+mk=1047github.com/hashicorp/consul/api v1.8.1/go.mod h1:sDjTOq0yUyv5G4h+BqSea7Fn6BU+XbolEz1952UB+mk=
1048github.com/hashicorp/consul/api v1.9.1/go.mod h1:XjsvQN+RJGWI2TWy1/kqaE16HrR2J/FWgkYjdZQsX9M=
1049github.com/hashicorp/consul/api v1.10.1 h1:MwZJp86nlnL+6+W1Zly4JUuVn9YHhMggBirMpHGD7kw=
1050github.com/hashicorp/consul/api v1.10.1/go.mod h1:XjsvQN+RJGWI2TWy1/kqaE16HrR2J/FWgkYjdZQsX9M=
780github.com/hashicorp/consul/sdk v0.1.1/go.mod h1:VKf9jXwCTEY1QZP2MOLRhb5i/I/ssyNV1vwHyQBF0x8=1051github.com/hashicorp/consul/sdk v0.1.1/go.mod h1:VKf9jXwCTEY1QZP2MOLRhb5i/I/ssyNV1vwHyQBF0x8=
781github.com/hashicorp/consul/sdk v0.3.0/go.mod h1:VKf9jXwCTEY1QZP2MOLRhb5i/I/ssyNV1vwHyQBF0x8=1052github.com/hashicorp/consul/sdk v0.3.0/go.mod h1:VKf9jXwCTEY1QZP2MOLRhb5i/I/ssyNV1vwHyQBF0x8=
782github.com/hashicorp/consul/sdk v0.4.0/go.mod h1:fY08Y9z5SvJqevyZNy6WWPXiG3KwBPAvlcdx16zZ0fM=1053github.com/hashicorp/consul/sdk v0.4.0/go.mod h1:fY08Y9z5SvJqevyZNy6WWPXiG3KwBPAvlcdx16zZ0fM=
783github.com/hashicorp/consul/sdk v0.5.0/go.mod h1:fY08Y9z5SvJqevyZNy6WWPXiG3KwBPAvlcdx16zZ0fM=1054github.com/hashicorp/consul/sdk v0.5.0/go.mod h1:fY08Y9z5SvJqevyZNy6WWPXiG3KwBPAvlcdx16zZ0fM=
784github.com/hashicorp/consul/sdk v0.6.0/go.mod h1:fY08Y9z5SvJqevyZNy6WWPXiG3KwBPAvlcdx16zZ0fM=1055github.com/hashicorp/consul/sdk v0.6.0/go.mod h1:fY08Y9z5SvJqevyZNy6WWPXiG3KwBPAvlcdx16zZ0fM=
785github.com/hashicorp/consul/sdk v0.7.0 h1:H6R9d008jDcHPQPAqPNuydAshJ4v5/8URdFnUvK/+sc=
786github.com/hashicorp/consul/sdk v0.7.0/go.mod h1:fY08Y9z5SvJqevyZNy6WWPXiG3KwBPAvlcdx16zZ0fM=1056github.com/hashicorp/consul/sdk v0.7.0/go.mod h1:fY08Y9z5SvJqevyZNy6WWPXiG3KwBPAvlcdx16zZ0fM=
1057github.com/hashicorp/consul/sdk v0.8.0 h1:OJtKBtEjboEZvG6AOUdh4Z1Zbyu0WcxQ0qatRrZHTVU=
1058github.com/hashicorp/consul/sdk v0.8.0/go.mod h1:GBvyrGALthsZObzUGsfgHZQDXjg4lOjagTIwIR1vPms=
1059github.com/hashicorp/errwrap v0.0.0-20141028054710-7554cd9344ce/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4=
787github.com/hashicorp/errwrap v1.0.0 h1:hLrqtEDnRye3+sgx6z4qVLNuviH3MR5aQ0ykNJa/UYA=1060github.com/hashicorp/errwrap v1.0.0 h1:hLrqtEDnRye3+sgx6z4qVLNuviH3MR5aQ0ykNJa/UYA=
788github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4=1061github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4=
789github.com/hashicorp/go-cleanhttp v0.5.0/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtngrth3wmdIIUrZ80=1062github.com/hashicorp/go-cleanhttp v0.5.0/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtngrth3wmdIIUrZ80=
790github.com/hashicorp/go-cleanhttp v0.5.1 h1:dH3aiDG9Jvb5r5+bYHsikaOUIpcM0xvgMXVoDkXMzJM=
791github.com/hashicorp/go-cleanhttp v0.5.1/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtngrth3wmdIIUrZ80=1063github.com/hashicorp/go-cleanhttp v0.5.1/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtngrth3wmdIIUrZ80=
1064github.com/hashicorp/go-cleanhttp v0.5.2 h1:035FKYIWjmULyFRBKPs8TBQoi0x6d9G4xc9neXJWAZQ=
1065github.com/hashicorp/go-cleanhttp v0.5.2/go.mod h1:kO/YDlP8L1346E6Sodw+PrpBSV4/SoxCXGY6BqNFT48=
792github.com/hashicorp/go-hclog v0.12.0/go.mod h1:whpDNt7SSdeAju8AWKIWsul05p54N/39EeqMAyrmvFQ=1066github.com/hashicorp/go-hclog v0.12.0/go.mod h1:whpDNt7SSdeAju8AWKIWsul05p54N/39EeqMAyrmvFQ=
793github.com/hashicorp/go-hclog v0.12.2 h1:F1fdYblUEsxKiailtkhCCG2g4bipEgaHiDc8vffNpD4=
794github.com/hashicorp/go-hclog v0.12.2/go.mod h1:whpDNt7SSdeAju8AWKIWsul05p54N/39EeqMAyrmvFQ=1067github.com/hashicorp/go-hclog v0.12.2/go.mod h1:whpDNt7SSdeAju8AWKIWsul05p54N/39EeqMAyrmvFQ=
1068github.com/hashicorp/go-hclog v0.16.2 h1:K4ev2ib4LdQETX5cSZBG0DVLk1jwGqSPXBjdah3veNs=
1069github.com/hashicorp/go-hclog v0.16.2/go.mod h1:whpDNt7SSdeAju8AWKIWsul05p54N/39EeqMAyrmvFQ=
795github.com/hashicorp/go-immutable-radix v1.0.0/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60=1070github.com/hashicorp/go-immutable-radix v1.0.0/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60=
796github.com/hashicorp/go-immutable-radix v1.1.0/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60=1071github.com/hashicorp/go-immutable-radix v1.1.0/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60=
797github.com/hashicorp/go-immutable-radix v1.2.0 h1:l6UW37iCXwZkZoAbEYnptSHVE/cQ5bOTPYG5W3vf9+8=
798github.com/hashicorp/go-immutable-radix v1.2.0/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60=1072github.com/hashicorp/go-immutable-radix v1.2.0/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60=
1073github.com/hashicorp/go-immutable-radix v1.3.1 h1:DKHmCUm2hRBK510BaiZlwvpD40f8bJFeZnpfm2KLowc=
1074github.com/hashicorp/go-immutable-radix v1.3.1/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60=
799github.com/hashicorp/go-msgpack v0.5.3/go.mod h1:ahLV/dePpqEmjfWmKiqvPkv/twdG7iPBM1vqhUKIvfM=1075github.com/hashicorp/go-msgpack v0.5.3/go.mod h1:ahLV/dePpqEmjfWmKiqvPkv/twdG7iPBM1vqhUKIvfM=
800github.com/hashicorp/go-msgpack v0.5.5 h1:i9R9JSrqIz0QVLz3sz+i3YJdT7TTSLcfLLzJi9aZTuI=1076github.com/hashicorp/go-msgpack v0.5.5 h1:i9R9JSrqIz0QVLz3sz+i3YJdT7TTSLcfLLzJi9aZTuI=
801github.com/hashicorp/go-msgpack v0.5.5/go.mod h1:ahLV/dePpqEmjfWmKiqvPkv/twdG7iPBM1vqhUKIvfM=1077github.com/hashicorp/go-msgpack v0.5.5/go.mod h1:ahLV/dePpqEmjfWmKiqvPkv/twdG7iPBM1vqhUKIvfM=
1078github.com/hashicorp/go-multierror v0.0.0-20161216184304-ed905158d874/go.mod h1:JMRHfdO9jKNzS/+BTlxCjKNQHg/jZAft8U7LloJvN7I=
802github.com/hashicorp/go-multierror v1.0.0/go.mod h1:dHtQlpGsu+cZNNAkkCN/P3hoUDHhCYQXV3UM06sGGrk=1079github.com/hashicorp/go-multierror v1.0.0/go.mod h1:dHtQlpGsu+cZNNAkkCN/P3hoUDHhCYQXV3UM06sGGrk=
803github.com/hashicorp/go-multierror v1.1.0 h1:B9UzwGQJehnUY1yNrnwREHc3fGbC2xefo8g4TbElacI=1080github.com/hashicorp/go-multierror v1.1.0 h1:B9UzwGQJehnUY1yNrnwREHc3fGbC2xefo8g4TbElacI=
804github.com/hashicorp/go-multierror v1.1.0/go.mod h1:spPvp8C1qA32ftKqdAHm4hHTbPw+vmowP0z+KUhOZdA=1081github.com/hashicorp/go-multierror v1.1.0/go.mod h1:spPvp8C1qA32ftKqdAHm4hHTbPw+vmowP0z+KUhOZdA=
@@ -830,8 +1107,9 @@ github.com/hashicorp/memberlist v0.1.4/go.mod h1:ajVTdAv/9Im8oMAAj5G31PhhMCZJV2p
830github.com/hashicorp/memberlist v0.1.5/go.mod h1:ajVTdAv/9Im8oMAAj5G31PhhMCZJV2pPBoIllUwCN7I=1107github.com/hashicorp/memberlist v0.1.5/go.mod h1:ajVTdAv/9Im8oMAAj5G31PhhMCZJV2pPBoIllUwCN7I=
831github.com/hashicorp/memberlist v0.2.0/go.mod h1:MS2lj3INKhZjWNqd3N0m3J+Jxf3DAOnAH9VT3Sh9MUE=1108github.com/hashicorp/memberlist v0.2.0/go.mod h1:MS2lj3INKhZjWNqd3N0m3J+Jxf3DAOnAH9VT3Sh9MUE=
832github.com/hashicorp/memberlist v0.2.2/go.mod h1:MS2lj3INKhZjWNqd3N0m3J+Jxf3DAOnAH9VT3Sh9MUE=1109github.com/hashicorp/memberlist v0.2.2/go.mod h1:MS2lj3INKhZjWNqd3N0m3J+Jxf3DAOnAH9VT3Sh9MUE=
833github.com/hashicorp/memberlist v0.2.3 h1:BwZa5IjREr75J0am7nblP+X5i95Rmp8EEbMI5vkUWdA=
834github.com/hashicorp/memberlist v0.2.3/go.mod h1:MS2lj3INKhZjWNqd3N0m3J+Jxf3DAOnAH9VT3Sh9MUE=1110github.com/hashicorp/memberlist v0.2.3/go.mod h1:MS2lj3INKhZjWNqd3N0m3J+Jxf3DAOnAH9VT3Sh9MUE=
1111github.com/hashicorp/memberlist v0.2.4 h1:OOhYzSvFnkFQXm1ysE8RjXTHsqSRDyP4emusC9K7DYg=
1112github.com/hashicorp/memberlist v0.2.4/go.mod h1:MS2lj3INKhZjWNqd3N0m3J+Jxf3DAOnAH9VT3Sh9MUE=
835github.com/hashicorp/serf v0.8.2/go.mod h1:6hOLApaqBFA1NXqRQAsxw9QxuDEvNxSQRwA/JwenrHc=1113github.com/hashicorp/serf v0.8.2/go.mod h1:6hOLApaqBFA1NXqRQAsxw9QxuDEvNxSQRwA/JwenrHc=
836github.com/hashicorp/serf v0.8.3/go.mod h1:UpNcs7fFbpKIyZaUuSW6EPiH+eZC7OuyFD+wc1oal+k=1114github.com/hashicorp/serf v0.8.3/go.mod h1:UpNcs7fFbpKIyZaUuSW6EPiH+eZC7OuyFD+wc1oal+k=
837github.com/hashicorp/serf v0.8.5/go.mod h1:UpNcs7fFbpKIyZaUuSW6EPiH+eZC7OuyFD+wc1oal+k=1115github.com/hashicorp/serf v0.8.5/go.mod h1:UpNcs7fFbpKIyZaUuSW6EPiH+eZC7OuyFD+wc1oal+k=
@@ -843,17 +1121,30 @@ github.com/hetznercloud/hcloud-go v1.21.1/go.mod h1:xng8lbDUg+xM1dgc0yGHX5EeqbwI
843github.com/hetznercloud/hcloud-go v1.22.0/go.mod h1:xng8lbDUg+xM1dgc0yGHX5EeqbwIq7UYlMWMTx3SQVg=1121github.com/hetznercloud/hcloud-go v1.22.0/go.mod h1:xng8lbDUg+xM1dgc0yGHX5EeqbwIq7UYlMWMTx3SQVg=
844github.com/hetznercloud/hcloud-go v1.23.1/go.mod h1:xng8lbDUg+xM1dgc0yGHX5EeqbwIq7UYlMWMTx3SQVg=1122github.com/hetznercloud/hcloud-go v1.23.1/go.mod h1:xng8lbDUg+xM1dgc0yGHX5EeqbwIq7UYlMWMTx3SQVg=
845github.com/hetznercloud/hcloud-go v1.24.0/go.mod h1:3YmyK8yaZZ48syie6xpm3dt26rtB6s65AisBHylXYFA=1123github.com/hetznercloud/hcloud-go v1.24.0/go.mod h1:3YmyK8yaZZ48syie6xpm3dt26rtB6s65AisBHylXYFA=
846github.com/hetznercloud/hcloud-go v1.25.0 h1:QAaFKtGKWRxjwjKJWBGMxGYUxVEQmIkb35j/WXrsazY=
847github.com/hetznercloud/hcloud-go v1.25.0/go.mod h1:2C5uMtBiMoFr3m7lBFPf7wXTdh33CevmZpQIIDPGYJI=1124github.com/hetznercloud/hcloud-go v1.25.0/go.mod h1:2C5uMtBiMoFr3m7lBFPf7wXTdh33CevmZpQIIDPGYJI=
1125github.com/hetznercloud/hcloud-go v1.26.2/go.mod h1:2C5uMtBiMoFr3m7lBFPf7wXTdh33CevmZpQIIDPGYJI=
1126github.com/hetznercloud/hcloud-go v1.32.0 h1:7zyN2V7hMlhm3HZdxOarmOtvzKvkcYKjM0hcwYMQZz0=
1127github.com/hetznercloud/hcloud-go v1.32.0/go.mod h1:XX/TQub3ge0yWR2yHWmnDVIrB+MQbda1pHxkUmDlUME=
848github.com/hodgesds/perf-utils v0.0.8/go.mod h1:F6TfvsbtrF88i++hou29dTXlI2sfsJv+gRZDtmTJkAs=1128github.com/hodgesds/perf-utils v0.0.8/go.mod h1:F6TfvsbtrF88i++hou29dTXlI2sfsJv+gRZDtmTJkAs=
849github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU=1129github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU=
1130github.com/huandu/xstrings v1.0.0/go.mod h1:4qWG/gcEcfX4z/mBDHJ++3ReCw9ibxbsNJbcucJdbSo=
850github.com/hudl/fargo v1.3.0/go.mod h1:y3CKSmjA+wD2gak7sUSXTAoopbhU08POFhmITJgmKTg=1131github.com/hudl/fargo v1.3.0/go.mod h1:y3CKSmjA+wD2gak7sUSXTAoopbhU08POFhmITJgmKTg=
1132github.com/hudl/fargo v1.4.0/go.mod h1:9Ai6uvFy5fQNq6VPKtg+Ceq1+eTY4nKUlR2JElEOcDo=
1133github.com/iancoleman/strcase v0.0.0-20180726023541-3605ed457bf7/go.mod h1:SK73tn/9oHe+/Y0h39VT4UCxmurVJkR5NA7kMEAOgSE=
851github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc=1134github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc=
852github.com/ianlancetaylor/demangle v0.0.0-20200824232613-28f6c0f3b639/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc=1135github.com/ianlancetaylor/demangle v0.0.0-20200824232613-28f6c0f3b639/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc=
1136github.com/imdario/mergo v0.3.4/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA=
853github.com/imdario/mergo v0.3.5/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA=1137github.com/imdario/mergo v0.3.5/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA=
1138github.com/imdario/mergo v0.3.8/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA=
1139github.com/imdario/mergo v0.3.10/go.mod h1:jmQim1M+e3UYxmgPu/WyfjB3N3VflVyUjjjwH0dnCYA=
1140github.com/imdario/mergo v0.3.11 h1:3tnifQM4i+fbajXKBHXWEH+KvNHqojZ778UH75j3bGA=
1141github.com/imdario/mergo v0.3.11/go.mod h1:jmQim1M+e3UYxmgPu/WyfjB3N3VflVyUjjjwH0dnCYA=
854github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8=1142github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8=
855github.com/influxdata/flux v0.65.0/go.mod h1:BwN2XG2lMszOoquQaFdPET8FRQfrXiZsWmcMO9rkaVY=1143github.com/influxdata/flux v0.65.0/go.mod h1:BwN2XG2lMszOoquQaFdPET8FRQfrXiZsWmcMO9rkaVY=
856github.com/influxdata/flux v0.65.1/go.mod h1:J754/zds0vvpfwuq7Gc2wRdVwEodfpCFM7mYlOw2LqY=1144github.com/influxdata/flux v0.65.1/go.mod h1:J754/zds0vvpfwuq7Gc2wRdVwEodfpCFM7mYlOw2LqY=
1145github.com/influxdata/flux v0.113.0/go.mod h1:3TJtvbm/Kwuo5/PEo5P6HUzwVg4bXWkb2wPQHPtQdlU=
1146github.com/influxdata/flux v0.120.1/go.mod h1:pGSAvyAA5d3et7SSzajaYShWYXmnRnJJq2qWi+WWZ2I=
1147github.com/influxdata/httprouter v1.3.1-0.20191122104820-ee83e2772f69/go.mod h1:pwymjR6SrP3gD3pRj9RJwdl1j5s3doEEV8gS4X9qSzA=
857github.com/influxdata/influxdb v1.7.7/go.mod h1:qZna6X/4elxqT3yI9iZYdZrWWdeFOOprn86kgg4+IzY=1148github.com/influxdata/influxdb v1.7.7/go.mod h1:qZna6X/4elxqT3yI9iZYdZrWWdeFOOprn86kgg4+IzY=
858github.com/influxdata/influxdb v1.8.0/go.mod h1:SIzcnsjaHRFpmlxpJ4S3NT64qtEKYweNTUMb/vh0OMQ=1149github.com/influxdata/influxdb v1.8.0/go.mod h1:SIzcnsjaHRFpmlxpJ4S3NT64qtEKYweNTUMb/vh0OMQ=
859github.com/influxdata/influxdb v1.8.1/go.mod h1:SIzcnsjaHRFpmlxpJ4S3NT64qtEKYweNTUMb/vh0OMQ=1150github.com/influxdata/influxdb v1.8.1/go.mod h1:SIzcnsjaHRFpmlxpJ4S3NT64qtEKYweNTUMb/vh0OMQ=
@@ -861,23 +1152,32 @@ github.com/influxdata/influxdb v1.8.2/go.mod h1:SIzcnsjaHRFpmlxpJ4S3NT64qtEKYweN
861github.com/influxdata/influxdb v1.8.3/go.mod h1:JugdFhsvvI8gadxOI6noqNeeBHvWNTbfYGtiAn+2jhI=1152github.com/influxdata/influxdb v1.8.3/go.mod h1:JugdFhsvvI8gadxOI6noqNeeBHvWNTbfYGtiAn+2jhI=
862github.com/influxdata/influxdb v1.8.4/go.mod h1:JugdFhsvvI8gadxOI6noqNeeBHvWNTbfYGtiAn+2jhI=1153github.com/influxdata/influxdb v1.8.4/go.mod h1:JugdFhsvvI8gadxOI6noqNeeBHvWNTbfYGtiAn+2jhI=
863github.com/influxdata/influxdb v1.8.5/go.mod h1:oFH+pbEyDln/1TKwa98oJzVrkZwdjrJOwIDGYZj7Ma0=1154github.com/influxdata/influxdb v1.8.5/go.mod h1:oFH+pbEyDln/1TKwa98oJzVrkZwdjrJOwIDGYZj7Ma0=
1155github.com/influxdata/influxdb v1.9.2/go.mod h1:UEe3MeD9AaP5rlPIes102IhYua3FhIWZuOXNHxDjSrI=
1156github.com/influxdata/influxdb v1.9.3/go.mod h1:xD4ZjAgEJQO9/bX3NhFrssKtdNPi+ki1kjrttJRDhGc=
1157github.com/influxdata/influxdb-client-go/v2 v2.3.1-0.20210518120617-5d1fff431040/go.mod h1:vLNHdxTJkIf2mSLvGrpj8TCcISApPoXkaxP8g9uRlW8=
864github.com/influxdata/influxdb1-client v0.0.0-20191209144304-8bf82d3c094d/go.mod h1:qj24IKcXYK6Iy9ceXlo3Tc+vtHo9lIhSX5JddghvEPo=1158github.com/influxdata/influxdb1-client v0.0.0-20191209144304-8bf82d3c094d/go.mod h1:qj24IKcXYK6Iy9ceXlo3Tc+vtHo9lIhSX5JddghvEPo=
1159github.com/influxdata/influxdb1-client v0.0.0-20200827194710-b269163b24ab/go.mod h1:qj24IKcXYK6Iy9ceXlo3Tc+vtHo9lIhSX5JddghvEPo=
865github.com/influxdata/influxql v1.1.0/go.mod h1:KpVI7okXjK6PRi3Z5B+mtKZli+R1DnZgb3N+tzevNgo=1160github.com/influxdata/influxql v1.1.0/go.mod h1:KpVI7okXjK6PRi3Z5B+mtKZli+R1DnZgb3N+tzevNgo=
866github.com/influxdata/influxql v1.1.1-0.20200828144457-65d3ef77d385/go.mod h1:gHp9y86a/pxhjJ+zMjNXiQAA197Xk9wLxaz+fGG+kWk=1161github.com/influxdata/influxql v1.1.1-0.20200828144457-65d3ef77d385/go.mod h1:gHp9y86a/pxhjJ+zMjNXiQAA197Xk9wLxaz+fGG+kWk=
1162github.com/influxdata/influxql v1.1.1-0.20210223160523-b6ab99450c93/go.mod h1:gHp9y86a/pxhjJ+zMjNXiQAA197Xk9wLxaz+fGG+kWk=
867github.com/influxdata/line-protocol v0.0.0-20180522152040-32c6aa80de5e/go.mod h1:4kt73NQhadE3daL3WhR5EJ/J2ocX0PZzwxQ0gXJ7oFE=1163github.com/influxdata/line-protocol v0.0.0-20180522152040-32c6aa80de5e/go.mod h1:4kt73NQhadE3daL3WhR5EJ/J2ocX0PZzwxQ0gXJ7oFE=
1164github.com/influxdata/line-protocol v0.0.0-20200327222509-2487e7298839/go.mod h1:xaLFMmpvUxqXtVkUJfg9QmT88cDaCJ3ZKgdZ78oO8Qo=
1165github.com/influxdata/pkg-config v0.2.6/go.mod h1:EMS7Ll0S4qkzDk53XS3Z72/egBsPInt+BeRxb0WeSwk=
1166github.com/influxdata/pkg-config v0.2.7/go.mod h1:EMS7Ll0S4qkzDk53XS3Z72/egBsPInt+BeRxb0WeSwk=
868github.com/influxdata/promql/v2 v2.12.0/go.mod h1:fxOPu+DY0bqCTCECchSRtWfc+0X19ybifQhZoQNF5D8=1167github.com/influxdata/promql/v2 v2.12.0/go.mod h1:fxOPu+DY0bqCTCECchSRtWfc+0X19ybifQhZoQNF5D8=
869github.com/influxdata/roaring v0.4.13-0.20180809181101-fc520f41fab6/go.mod h1:bSgUQ7q5ZLSO+bKBGqJiCBGAl+9DxyW63zLTujjUlOE=1168github.com/influxdata/roaring v0.4.13-0.20180809181101-fc520f41fab6/go.mod h1:bSgUQ7q5ZLSO+bKBGqJiCBGAl+9DxyW63zLTujjUlOE=
870github.com/influxdata/tdigest v0.0.0-20181121200506-bf2b5ad3c0a9/go.mod h1:Js0mqiSBE6Ffsg94weZZ2c+v/ciT8QRHFOap7EKDrR0=1169github.com/influxdata/tdigest v0.0.0-20181121200506-bf2b5ad3c0a9/go.mod h1:Js0mqiSBE6Ffsg94weZZ2c+v/ciT8QRHFOap7EKDrR0=
1170github.com/influxdata/tdigest v0.0.2-0.20210216194612-fc98d27c9e8b/go.mod h1:Z0kXnxzbTC2qrx4NaIzYkE1k66+6oEDQTvL95hQFh5Y=
871github.com/influxdata/usage-client v0.0.0-20160829180054-6d3895376368/go.mod h1:Wbbw6tYNvwa5dlB6304Sd+82Z3f7PmVZHVKU637d4po=1171github.com/influxdata/usage-client v0.0.0-20160829180054-6d3895376368/go.mod h1:Wbbw6tYNvwa5dlB6304Sd+82Z3f7PmVZHVKU637d4po=
1172github.com/j-keck/arping v0.0.0-20160618110441-2cf9dc699c56/go.mod h1:ymszkNOg6tORTn+6F6j+Jc8TOr5osrynvN6ivFWZ2GA=
872github.com/jackc/fake v0.0.0-20150926172116-812a484cc733/go.mod h1:WrMFNQdiFJ80sQsxDoMokWK1W5TQtxBFNpzWTD84ibQ=1173github.com/jackc/fake v0.0.0-20150926172116-812a484cc733/go.mod h1:WrMFNQdiFJ80sQsxDoMokWK1W5TQtxBFNpzWTD84ibQ=
873github.com/jackc/pgx v3.2.0+incompatible/go.mod h1:0ZGrqGqkRlliWnWB4zKnWtjbSWbGkVEFm4TeybAXq+I=1174github.com/jackc/pgx v3.2.0+incompatible/go.mod h1:0ZGrqGqkRlliWnWB4zKnWtjbSWbGkVEFm4TeybAXq+I=
874github.com/jessevdk/go-flags v0.0.0-20180331124232-1c38ed7ad0cc/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI=1175github.com/jessevdk/go-flags v0.0.0-20180331124232-1c38ed7ad0cc/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI=
875github.com/jessevdk/go-flags v1.4.0/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI=1176github.com/jessevdk/go-flags v1.4.0/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI=
876github.com/jessevdk/go-flags v1.5.0 h1:1jKYvbxEjfUl0fmqTCOfonvskHHXMjBySTLW4y9LFvc=1177github.com/jessevdk/go-flags v1.5.0 h1:1jKYvbxEjfUl0fmqTCOfonvskHHXMjBySTLW4y9LFvc=
877github.com/jessevdk/go-flags v1.5.0/go.mod h1:Fw0T6WPc1dYxT4mKEZRfG5kJhaTDP9pj1c2EWnYs/m4=1178github.com/jessevdk/go-flags v1.5.0/go.mod h1:Fw0T6WPc1dYxT4mKEZRfG5kJhaTDP9pj1c2EWnYs/m4=
878github.com/jmespath/go-jmespath v0.0.0-20160202185014-0b12d6b521d8/go.mod h1:Nht3zPeWKUH0NzdCt2Blrr5ys8VGpn0CEB0cQHVjt7k=1179github.com/jmespath/go-jmespath v0.0.0-20160803190731-bd40a432e4c7/go.mod h1:Nht3zPeWKUH0NzdCt2Blrr5ys8VGpn0CEB0cQHVjt7k=
879github.com/jmespath/go-jmespath v0.0.0-20180206201540-c2b33e8439af/go.mod h1:Nht3zPeWKUH0NzdCt2Blrr5ys8VGpn0CEB0cQHVjt7k=1180github.com/jmespath/go-jmespath v0.0.0-20180206201540-c2b33e8439af/go.mod h1:Nht3zPeWKUH0NzdCt2Blrr5ys8VGpn0CEB0cQHVjt7k=
880github.com/jmespath/go-jmespath v0.3.0/go.mod h1:9QtRXoHjLGCJ5IBSaohpXITPlowMeeYCZ7fLUTSywik=
881github.com/jmespath/go-jmespath v0.4.0 h1:BEgLn5cpjn8UN1mAw4NjwDrS35OdebyEtFe+9YPoQUg=1181github.com/jmespath/go-jmespath v0.4.0 h1:BEgLn5cpjn8UN1mAw4NjwDrS35OdebyEtFe+9YPoQUg=
882github.com/jmespath/go-jmespath v0.4.0/go.mod h1:T8mJZnbsbmF+m6zOOFylbeCJqk5+pHWvzYPziyZiYoo=1182github.com/jmespath/go-jmespath v0.4.0/go.mod h1:T8mJZnbsbmF+m6zOOFylbeCJqk5+pHWvzYPziyZiYoo=
883github.com/jmespath/go-jmespath/internal/testify v1.5.1 h1:shLQSRRSCCPj3f2gpwzGwWFoC7ycTf1rcQZHOlsJ6N8=1183github.com/jmespath/go-jmespath/internal/testify v1.5.1 h1:shLQSRRSCCPj3f2gpwzGwWFoC7ycTf1rcQZHOlsJ6N8=
@@ -902,12 +1202,13 @@ github.com/json-iterator/go v1.1.7/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/u
902github.com/json-iterator/go v1.1.8/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4=1202github.com/json-iterator/go v1.1.8/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4=
903github.com/json-iterator/go v1.1.9/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4=1203github.com/json-iterator/go v1.1.9/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4=
904github.com/json-iterator/go v1.1.10/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4=1204github.com/json-iterator/go v1.1.10/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4=
905github.com/json-iterator/go v1.1.11 h1:uVUAXhF2To8cbw/3xN3pxj6kk7TYKs98NIrTqPlMWAQ=
906github.com/json-iterator/go v1.1.11/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4=1205github.com/json-iterator/go v1.1.11/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4=
1206github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM=
1207github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo=
907github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU=1208github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU=
908github.com/jstemmer/go-junit-report v0.9.1 h1:6QPYqodiu3GuPL+7mfx+NwDdp2eTkp9IfEUpgAwUN0o=
909github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/XSXhF0NWZEnDohbsk=1209github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/XSXhF0NWZEnDohbsk=
910github.com/jsternberg/zap-logfmt v1.0.0/go.mod h1:uvPs/4X51zdkcm5jXl5SYoN+4RK21K8mysFmDaM/h+o=1210github.com/jsternberg/zap-logfmt v1.0.0/go.mod h1:uvPs/4X51zdkcm5jXl5SYoN+4RK21K8mysFmDaM/h+o=
1211github.com/jsternberg/zap-logfmt v1.2.0/go.mod h1:kz+1CUmCutPWABnNkOu9hOHKdT2q3TDYCcsFy9hpqb0=
911github.com/jtolds/gls v4.20.0+incompatible h1:xdiiI2gbIgH/gLH7ADydsJ1uDOEzR8yvV7C0MuV77Wo=1212github.com/jtolds/gls v4.20.0+incompatible h1:xdiiI2gbIgH/gLH7ADydsJ1uDOEzR8yvV7C0MuV77Wo=
912github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU=1213github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU=
913github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w=1214github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w=
@@ -924,6 +1225,13 @@ github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI
924github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck=1225github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck=
925github.com/klauspost/compress v1.4.0/go.mod h1:RyIbtBH6LamlWaDj8nUwkbUhJ87Yi3uG0guNDohfE1A=1226github.com/klauspost/compress v1.4.0/go.mod h1:RyIbtBH6LamlWaDj8nUwkbUhJ87Yi3uG0guNDohfE1A=
926github.com/klauspost/compress v1.9.5/go.mod h1:RyIbtBH6LamlWaDj8nUwkbUhJ87Yi3uG0guNDohfE1A=1227github.com/klauspost/compress v1.9.5/go.mod h1:RyIbtBH6LamlWaDj8nUwkbUhJ87Yi3uG0guNDohfE1A=
1228github.com/klauspost/compress v1.11.3/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs=
1229github.com/klauspost/compress v1.11.12/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs=
1230github.com/klauspost/compress v1.11.13/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs=
1231github.com/klauspost/compress v1.13.1/go.mod h1:8dP1Hq4DHOhN9w426knH3Rhby4rFm6D8eO+e+Dq5Gzg=
1232github.com/klauspost/compress v1.13.4/go.mod h1:8dP1Hq4DHOhN9w426knH3Rhby4rFm6D8eO+e+Dq5Gzg=
1233github.com/klauspost/compress v1.13.6 h1:P76CopJELS0TiO2mebmnzgWaajssP/EszplttgQxcgc=
1234github.com/klauspost/compress v1.13.6/go.mod h1:/3/Vjq9QcHkK5uEr5lBEmyoZ1iFhe47etQ6QUkpK6sk=
927github.com/klauspost/cpuid v0.0.0-20170728055534-ae7887de9fa5/go.mod h1:Pj4uuM528wm8OyEC2QMXAi2YiTZ96dNQPGgoMS4s3ek=1235github.com/klauspost/cpuid v0.0.0-20170728055534-ae7887de9fa5/go.mod h1:Pj4uuM528wm8OyEC2QMXAi2YiTZ96dNQPGgoMS4s3ek=
928github.com/klauspost/cpuid v1.2.3/go.mod h1:Pj4uuM528wm8OyEC2QMXAi2YiTZ96dNQPGgoMS4s3ek=1236github.com/klauspost/cpuid v1.2.3/go.mod h1:Pj4uuM528wm8OyEC2QMXAi2YiTZ96dNQPGgoMS4s3ek=
929github.com/klauspost/cpuid v1.3.1 h1:5JNjFYYQrZeKRJ0734q51WCEEn2huer72Dc7K+R/b6s=1237github.com/klauspost/cpuid v1.3.1 h1:5JNjFYYQrZeKRJ0734q51WCEEn2huer72Dc7K+R/b6s=
@@ -934,6 +1242,7 @@ github.com/knq/sysutil v0.0.0-20191005231841-15668db23d08/go.mod h1:dFWs1zEqDjFt
934github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=1242github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
935github.com/konsorten/go-windows-terminal-sequences v1.0.2/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=1243github.com/konsorten/go-windows-terminal-sequences v1.0.2/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
936github.com/konsorten/go-windows-terminal-sequences v1.0.3/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=1244github.com/konsorten/go-windows-terminal-sequences v1.0.3/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
1245github.com/kr/fs v0.1.0/go.mod h1:FFnZGqtBN9Gxj7eW1uZ42v5BccTP0vu6NEaFoC2HwRg=
937github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc=1246github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc=
938github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=1247github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
939github.com/kr/pretty v0.2.0/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI=1248github.com/kr/pretty v0.2.0/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI=
@@ -950,6 +1259,8 @@ github.com/kylelemons/godebug v0.0.0-20160406211939-eadb3ce320cb/go.mod h1:B69LE
950github.com/kylelemons/godebug v0.0.0-20170820004349-d65d576e9348/go.mod h1:B69LEHPfb2qLo0BaaOLcbitczOKLWTsrBG9LczfCD4k=1259github.com/kylelemons/godebug v0.0.0-20170820004349-d65d576e9348/go.mod h1:B69LEHPfb2qLo0BaaOLcbitczOKLWTsrBG9LczfCD4k=
951github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc=1260github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc=
952github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw=1261github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw=
1262github.com/labstack/echo/v4 v4.2.1/go.mod h1:AA49e0DZ8kk5jTOOCKNuPR6oTnBS0dYiM4FW1e6jwpg=
1263github.com/labstack/gommon v0.3.0/go.mod h1:MULnywXg0yavhxWKc+lOruYdAhDwPK9wf0OL7NoOu+k=
953github.com/lann/builder v0.0.0-20150808151131-f22ce00fd939/go.mod h1:dXGbAdH5GtBTC4WfIxhKZfyBF/HBFgRZSWwZ9g/He9o=1264github.com/lann/builder v0.0.0-20150808151131-f22ce00fd939/go.mod h1:dXGbAdH5GtBTC4WfIxhKZfyBF/HBFgRZSWwZ9g/He9o=
954github.com/lann/builder v0.0.0-20180802200727-47ae307949d0 h1:SOEGU9fKiNWd/HOJuq6+3iTQz8KNCLtVX6idSoTLdUw=1265github.com/lann/builder v0.0.0-20180802200727-47ae307949d0 h1:SOEGU9fKiNWd/HOJuq6+3iTQz8KNCLtVX6idSoTLdUw=
955github.com/lann/builder v0.0.0-20180802200727-47ae307949d0/go.mod h1:dXGbAdH5GtBTC4WfIxhKZfyBF/HBFgRZSWwZ9g/He9o=1266github.com/lann/builder v0.0.0-20180802200727-47ae307949d0/go.mod h1:dXGbAdH5GtBTC4WfIxhKZfyBF/HBFgRZSWwZ9g/He9o=
@@ -957,15 +1268,20 @@ github.com/lann/ps v0.0.0-20150810152359-62de8c46ede0 h1:P6pPBnrTSX3DEVR4fDembhR
957github.com/lann/ps v0.0.0-20150810152359-62de8c46ede0/go.mod h1:vmVJ0l/dxyfGW6FmdpVm2joNMFikkuWg0EoCKLGUMNw=1268github.com/lann/ps v0.0.0-20150810152359-62de8c46ede0/go.mod h1:vmVJ0l/dxyfGW6FmdpVm2joNMFikkuWg0EoCKLGUMNw=
958github.com/leanovate/gopter v0.2.4 h1:U4YLBggDFhJdqQsG4Na2zX7joVTky9vHaj/AGEwSuXU=1269github.com/leanovate/gopter v0.2.4 h1:U4YLBggDFhJdqQsG4Na2zX7joVTky9vHaj/AGEwSuXU=
959github.com/leanovate/gopter v0.2.4/go.mod h1:gNcbPWNEWRe4lm+bycKqxUYoH5uoVje5SkOJ3uoLer8=1270github.com/leanovate/gopter v0.2.4/go.mod h1:gNcbPWNEWRe4lm+bycKqxUYoH5uoVje5SkOJ3uoLer8=
1271github.com/leodido/go-urn v1.1.0/go.mod h1:+cyI34gQWZcE1eQU7NVgKkkzdXDQHr1dBMtdAPozLkw=
960github.com/lib/pq v1.0.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo=1272github.com/lib/pq v1.0.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo=
961github.com/lib/pq v1.3.0 h1:/qkRGz8zljWiDcFvgpwUpwIAPu3r07TDvs3Rws+o/pU=1273github.com/lib/pq v1.3.0 h1:/qkRGz8zljWiDcFvgpwUpwIAPu3r07TDvs3Rws+o/pU=
962github.com/lib/pq v1.3.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo=1274github.com/lib/pq v1.3.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo=
963github.com/lightstep/lightstep-tracer-common/golang/gogo v0.0.0-20190605223551-bc2310a04743/go.mod h1:qklhhLq1aX+mtWk9cPHPzaBjWImj5ULL6C7HFJtXQMM=1275github.com/lightstep/lightstep-tracer-common/golang/gogo v0.0.0-20190605223551-bc2310a04743/go.mod h1:qklhhLq1aX+mtWk9cPHPzaBjWImj5ULL6C7HFJtXQMM=
964github.com/lightstep/lightstep-tracer-go v0.18.0/go.mod h1:jlF1pusYV4pidLvZ+XD0UBX0ZE6WURAspgAczcDHrL4=1276github.com/lightstep/lightstep-tracer-go v0.18.0/go.mod h1:jlF1pusYV4pidLvZ+XD0UBX0ZE6WURAspgAczcDHrL4=
965github.com/lightstep/lightstep-tracer-go v0.18.1/go.mod h1:jlF1pusYV4pidLvZ+XD0UBX0ZE6WURAspgAczcDHrL4=1277github.com/lightstep/lightstep-tracer-go v0.18.1/go.mod h1:jlF1pusYV4pidLvZ+XD0UBX0ZE6WURAspgAczcDHrL4=
1278github.com/linode/linodego v0.28.5/go.mod h1:BR0gVkCJffEdIGJSl6bHR80Ty+Uvg/2jkjmrWaFectM=
1279github.com/linode/linodego v0.32.0 h1:IK04cx2b/IwAAd6XLruf1Dl/n3dRXj87Uw/5qo6afVU=
1280github.com/linode/linodego v0.32.0/go.mod h1:BR0gVkCJffEdIGJSl6bHR80Ty+Uvg/2jkjmrWaFectM=
966github.com/lovoo/gcloud-opentracing v0.3.0/go.mod h1:ZFqk2y38kMDDikZPAK7ynTTGuyt17nSPdS3K5e+ZTBY=1281github.com/lovoo/gcloud-opentracing v0.3.0/go.mod h1:ZFqk2y38kMDDikZPAK7ynTTGuyt17nSPdS3K5e+ZTBY=
967github.com/lufia/iostat v1.1.0/go.mod h1:rEPNA0xXgjHQjuI5Cy05sLlS2oRcSlWHRLrvh/AQ+Pg=1282github.com/lufia/iostat v1.1.0/go.mod h1:rEPNA0xXgjHQjuI5Cy05sLlS2oRcSlWHRLrvh/AQ+Pg=
968github.com/lyft/protoc-gen-validate v0.0.13/go.mod h1:XbGvPuh87YZc5TdIa2/I4pLk0QoUACkjt2znoq26NVQ=1283github.com/lyft/protoc-gen-star v0.5.1/go.mod h1:9toiA3cC7z5uVbODF7kEQ91Xn7XNFkVUl+SrEe+ZORU=
1284github.com/magiconair/properties v1.8.0/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ=
969github.com/magiconair/properties v1.8.1/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ=1285github.com/magiconair/properties v1.8.1/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ=
970github.com/mailru/easyjson v0.0.0-20160728113105-d5b7844b561a/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc=1286github.com/mailru/easyjson v0.0.0-20160728113105-d5b7844b561a/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc=
971github.com/mailru/easyjson v0.0.0-20180823135443-60711f1a8329/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc=1287github.com/mailru/easyjson v0.0.0-20180823135443-60711f1a8329/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc=
@@ -978,32 +1294,42 @@ github.com/mailru/easyjson v0.7.6 h1:8yTIVnZgCoiM1TgqoeTl+LfU5Jg6/xL3QhGQnimLYnA
978github.com/mailru/easyjson v0.7.6/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc=1294github.com/mailru/easyjson v0.7.6/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc=
979github.com/markbates/oncer v0.0.0-20181203154359-bf2de49a0be2/go.mod h1:Ld9puTsIW75CHf65OeIOkyKbteujpZVXDpWK6YGZbxE=1295github.com/markbates/oncer v0.0.0-20181203154359-bf2de49a0be2/go.mod h1:Ld9puTsIW75CHf65OeIOkyKbteujpZVXDpWK6YGZbxE=
980github.com/markbates/safe v1.0.1/go.mod h1:nAqgmRi7cY2nqMc92/bSEeQA+R4OheNU2T1kNSCBdG0=1296github.com/markbates/safe v1.0.1/go.mod h1:nAqgmRi7cY2nqMc92/bSEeQA+R4OheNU2T1kNSCBdG0=
1297github.com/marstr/guid v1.1.0/go.mod h1:74gB1z2wpxxInTG6yaqA7KrtM0NZ+RbrcqDvYHefzho=
1298github.com/matryer/moq v0.0.0-20190312154309-6cfb0558e1bd/go.mod h1:9ELz6aaclSIGnZBoaSLZ3NAl1VTufbOrXBPvtcy6WiQ=
981github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU=1299github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU=
1300github.com/mattn/go-colorable v0.1.2/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE=
982github.com/mattn/go-colorable v0.1.4/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE=1301github.com/mattn/go-colorable v0.1.4/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE=
983github.com/mattn/go-colorable v0.1.6 h1:6Su7aK7lXmJ/U79bYtBjLNaha4Fs1Rg9plHpcH+vvnE=
984github.com/mattn/go-colorable v0.1.6/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc=1302github.com/mattn/go-colorable v0.1.6/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc=
1303github.com/mattn/go-colorable v0.1.7/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc=
1304github.com/mattn/go-colorable v0.1.8 h1:c1ghPdyEDarC70ftn0y+A/Ee++9zz8ljHG1b13eJ0s8=
1305github.com/mattn/go-colorable v0.1.8/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc=
985github.com/mattn/go-ieproxy v0.0.0-20190610004146-91bb50d98149/go.mod h1:31jz6HNzdxOmlERGGEc4v/dMssOfmp2p5bT/okiKFFc=1306github.com/mattn/go-ieproxy v0.0.0-20190610004146-91bb50d98149/go.mod h1:31jz6HNzdxOmlERGGEc4v/dMssOfmp2p5bT/okiKFFc=
986github.com/mattn/go-ieproxy v0.0.0-20190702010315-6dee0af9227d/go.mod h1:31jz6HNzdxOmlERGGEc4v/dMssOfmp2p5bT/okiKFFc=1307github.com/mattn/go-ieproxy v0.0.0-20190702010315-6dee0af9227d/go.mod h1:31jz6HNzdxOmlERGGEc4v/dMssOfmp2p5bT/okiKFFc=
987github.com/mattn/go-ieproxy v0.0.0-20191113090002-7c0f6868bffe h1:YioO2TiJyAHWHyCRQCP8jk5IzTqmsbGc5qQPIhHo6xs=
988github.com/mattn/go-ieproxy v0.0.0-20191113090002-7c0f6868bffe/go.mod h1:pYabZ6IHcRpFh7vIaLfK7rdcWgFEb3SFJ6/gNWuh88E=1308github.com/mattn/go-ieproxy v0.0.0-20191113090002-7c0f6868bffe/go.mod h1:pYabZ6IHcRpFh7vIaLfK7rdcWgFEb3SFJ6/gNWuh88E=
1309github.com/mattn/go-ieproxy v0.0.1 h1:qiyop7gCflfhwCzGyeT0gro3sF9AIg9HU98JORTkqfI=
1310github.com/mattn/go-ieproxy v0.0.1/go.mod h1:pYabZ6IHcRpFh7vIaLfK7rdcWgFEb3SFJ6/gNWuh88E=
989github.com/mattn/go-isatty v0.0.3/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4=1311github.com/mattn/go-isatty v0.0.3/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4=
990github.com/mattn/go-isatty v0.0.4/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4=1312github.com/mattn/go-isatty v0.0.4/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4=
991github.com/mattn/go-isatty v0.0.8/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s=1313github.com/mattn/go-isatty v0.0.8/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s=
1314github.com/mattn/go-isatty v0.0.9/go.mod h1:YNRxwqDuOph6SZLI9vUUz6OYw3QyUt7WiY2yME+cCiQ=
992github.com/mattn/go-isatty v0.0.10/go.mod h1:qgIWMr58cqv1PHHyhnkY9lrL7etaEgOFcMEpPG5Rm84=1315github.com/mattn/go-isatty v0.0.10/go.mod h1:qgIWMr58cqv1PHHyhnkY9lrL7etaEgOFcMEpPG5Rm84=
993github.com/mattn/go-isatty v0.0.11/go.mod h1:PhnuNfih5lzO57/f3n+odYbM4JtupLOxQOAqxQCu2WE=1316github.com/mattn/go-isatty v0.0.11/go.mod h1:PhnuNfih5lzO57/f3n+odYbM4JtupLOxQOAqxQCu2WE=
994github.com/mattn/go-isatty v0.0.12 h1:wuysRhFDzyxgEmMf5xjvJ2M9dZoWAXNNr5LSBS7uHXY=
995github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU=1317github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU=
1318github.com/mattn/go-isatty v0.0.14 h1:yVuAays6BHfxijgZPzw+3Zlu5yQgKGP2/hcQbHb7S9Y=
1319github.com/mattn/go-isatty v0.0.14/go.mod h1:7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27kJ6hsGG94=
996github.com/mattn/go-runewidth v0.0.2/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU=1320github.com/mattn/go-runewidth v0.0.2/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU=
997github.com/mattn/go-runewidth v0.0.3/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU=1321github.com/mattn/go-runewidth v0.0.3/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU=
998github.com/mattn/go-runewidth v0.0.4/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU=1322github.com/mattn/go-runewidth v0.0.4/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU=
999github.com/mattn/go-runewidth v0.0.6/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m2gUSrubnMI=1323github.com/mattn/go-runewidth v0.0.6/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m2gUSrubnMI=
1324github.com/mattn/go-shellwords v1.0.3/go.mod h1:3xCvwCdWdlDJUrvuMn7Wuy9eWs4pE8vqg+NOMyg4B2o=
1000github.com/mattn/go-sqlite3 v1.10.0/go.mod h1:FPy6KqzDD04eiIsT53CuJW3U88zkxoIYsOqkbpncsNc=1325github.com/mattn/go-sqlite3 v1.10.0/go.mod h1:FPy6KqzDD04eiIsT53CuJW3U88zkxoIYsOqkbpncsNc=
1001github.com/mattn/go-sqlite3 v1.11.0/go.mod h1:FPy6KqzDD04eiIsT53CuJW3U88zkxoIYsOqkbpncsNc=1326github.com/mattn/go-sqlite3 v1.11.0/go.mod h1:FPy6KqzDD04eiIsT53CuJW3U88zkxoIYsOqkbpncsNc=
1002github.com/mattn/go-tty v0.0.0-20180907095812-13ff1204f104/go.mod h1:XPvLUNfbS4fJH25nqRHfWLMa1ONC8Amw+mIA639KxkE=1327github.com/mattn/go-tty v0.0.0-20180907095812-13ff1204f104/go.mod h1:XPvLUNfbS4fJH25nqRHfWLMa1ONC8Amw+mIA639KxkE=
1003github.com/mattn/go-xmlrpc v0.0.3/go.mod h1:mqc2dz7tP5x5BKlCahN/n+hs7OSZKJkS9JsHNBRlrxA=1328github.com/mattn/go-xmlrpc v0.0.3/go.mod h1:mqc2dz7tP5x5BKlCahN/n+hs7OSZKJkS9JsHNBRlrxA=
1004github.com/matttproud/golang_protobuf_extensions v1.0.0/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0=1329github.com/matttproud/golang_protobuf_extensions v1.0.0/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0=
1005github.com/matttproud/golang_protobuf_extensions v1.0.1 h1:4hp9jkHxhMHkqkrB3Ix0jegS5sx/RkqARlsWZ6pIwiU=
1006github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0=1330github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0=
1331github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369 h1:I0XW9+e1XWDxdcEniV4rQAIOPUGDq67JSCiRCgGCZLI=
1332github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369/go.mod h1:BSXmuO+STAnVfrANrmjBb36TMTDstsz7MSK+HVaYKv4=
1007github.com/mdlayher/genetlink v1.0.0/go.mod h1:0rJ0h4itni50A86M2kHcgS85ttZazNt7a8H2a2cw0Gc=1333github.com/mdlayher/genetlink v1.0.0/go.mod h1:0rJ0h4itni50A86M2kHcgS85ttZazNt7a8H2a2cw0Gc=
1008github.com/mdlayher/netlink v0.0.0-20190409211403-11939a169225/go.mod h1:eQB3mZE4aiYnlUsyGGCOpPETfdQq4Jhsgf1fk3cwQaA=1334github.com/mdlayher/netlink v0.0.0-20190409211403-11939a169225/go.mod h1:eQB3mZE4aiYnlUsyGGCOpPETfdQq4Jhsgf1fk3cwQaA=
1009github.com/mdlayher/netlink v0.0.0-20190828143259-340058475d09/go.mod h1:KxeJAFOFLG6AjpyDkQ/iIhxygIUKD+vcwqcnu43w/+M=1335github.com/mdlayher/netlink v0.0.0-20190828143259-340058475d09/go.mod h1:KxeJAFOFLG6AjpyDkQ/iIhxygIUKD+vcwqcnu43w/+M=
@@ -1020,8 +1346,14 @@ github.com/miekg/dns v1.1.30/go.mod h1:KNUDUusw/aVsxyTYZM1oqvCicbwhgbNgztCETuNZ7
1020github.com/miekg/dns v1.1.31/go.mod h1:KNUDUusw/aVsxyTYZM1oqvCicbwhgbNgztCETuNZ7xM=1346github.com/miekg/dns v1.1.31/go.mod h1:KNUDUusw/aVsxyTYZM1oqvCicbwhgbNgztCETuNZ7xM=
1021github.com/miekg/dns v1.1.35/go.mod h1:KNUDUusw/aVsxyTYZM1oqvCicbwhgbNgztCETuNZ7xM=1347github.com/miekg/dns v1.1.35/go.mod h1:KNUDUusw/aVsxyTYZM1oqvCicbwhgbNgztCETuNZ7xM=
1022github.com/miekg/dns v1.1.38/go.mod h1:KNUDUusw/aVsxyTYZM1oqvCicbwhgbNgztCETuNZ7xM=1348github.com/miekg/dns v1.1.38/go.mod h1:KNUDUusw/aVsxyTYZM1oqvCicbwhgbNgztCETuNZ7xM=
1023github.com/miekg/dns v1.1.41 h1:WMszZWJG0XmzbK9FEmzH2TVcqYzFesusSIB41b8KHxY=
1024github.com/miekg/dns v1.1.41/go.mod h1:p6aan82bvRIyn+zDIv9xYNUpwa73JcSh9BKwknJysuI=1349github.com/miekg/dns v1.1.41/go.mod h1:p6aan82bvRIyn+zDIv9xYNUpwa73JcSh9BKwknJysuI=
1350github.com/miekg/dns v1.1.42/go.mod h1:+evo5L0630/F6ca/Z9+GAqzhjGyn8/c+TBaOyfEl0V4=
1351github.com/miekg/dns v1.1.43 h1:JKfpVSCB84vrAmHzyrsxB5NAr5kLoMXZArPSw7Qlgyg=
1352github.com/miekg/dns v1.1.43/go.mod h1:+evo5L0630/F6ca/Z9+GAqzhjGyn8/c+TBaOyfEl0V4=
1353github.com/miekg/pkcs11 v1.0.3/go.mod h1:XsNlhZGX73bx86s2hdc/FuaLm2CPZJemRLMA+WTFxgs=
1354github.com/mileusna/useragent v0.0.0-20190129205925-3e331f0949a5/go.mod h1:JWhYAp2EXqUtsxTKdeGlY8Wp44M7VxThC9FEoNGi2IE=
1355github.com/minio/highwayhash v1.0.1/go.mod h1:BQskDq+xkJ12lmlUUi7U0M5Swg3EWR+dLTk+kldvVxY=
1356github.com/minio/highwayhash v1.0.2/go.mod h1:BQskDq+xkJ12lmlUUi7U0M5Swg3EWR+dLTk+kldvVxY=
1025github.com/minio/md5-simd v1.1.0 h1:QPfiOqlZH+Cj9teu0t9b1nTBfPbyTl16Of5MeuShdK4=1357github.com/minio/md5-simd v1.1.0 h1:QPfiOqlZH+Cj9teu0t9b1nTBfPbyTl16Of5MeuShdK4=
1026github.com/minio/md5-simd v1.1.0/go.mod h1:XpBqgZULrMYD3R+M28PcmP0CkI7PEMzB3U77ZrKZ0Gw=1358github.com/minio/md5-simd v1.1.0/go.mod h1:XpBqgZULrMYD3R+M28PcmP0CkI7PEMzB3U77ZrKZ0Gw=
1027github.com/minio/minio-go/v6 v6.0.44/go.mod h1:qD0lajrGW49lKZLtXKtCB4X/qkMf0a5tBvN2PaZg7Gg=1359github.com/minio/minio-go/v6 v6.0.44/go.mod h1:qD0lajrGW49lKZLtXKtCB4X/qkMf0a5tBvN2PaZg7Gg=
@@ -1031,6 +1363,7 @@ github.com/minio/minio-go/v7 v7.0.10 h1:1oUKe4EOPUEhw2qnPQaPsJ0lmVTYLFu03SiItauX
1031github.com/minio/minio-go/v7 v7.0.10/go.mod h1:td4gW1ldOsj1PbSNS+WYK43j+P1XVhX/8W8awaYlBFo=1363github.com/minio/minio-go/v7 v7.0.10/go.mod h1:td4gW1ldOsj1PbSNS+WYK43j+P1XVhX/8W8awaYlBFo=
1032github.com/minio/sha256-simd v0.1.1 h1:5QHSlgo3nt5yKOJrC7W8w7X+NFl8cMPZm96iu8kKUJU=1364github.com/minio/sha256-simd v0.1.1 h1:5QHSlgo3nt5yKOJrC7W8w7X+NFl8cMPZm96iu8kKUJU=
1033github.com/minio/sha256-simd v0.1.1/go.mod h1:B5e1o+1/KgNmWrSQK08Y6Z1Vb5pwIktudl0J58iy0KM=1365github.com/minio/sha256-simd v0.1.1/go.mod h1:B5e1o+1/KgNmWrSQK08Y6Z1Vb5pwIktudl0J58iy0KM=
1366github.com/mistifyio/go-zfs v2.1.2-0.20190413222219-f784269be439+incompatible/go.mod h1:8AuVvqP/mXw1px98n46wfvcGfQ4ci2FwoAjKYxuo3Z4=
1034github.com/mitchellh/cli v1.0.0/go.mod h1:hNIlj7HEI86fIcpObd7a0FcrxTWetlwJDGcceTlRvqc=1367github.com/mitchellh/cli v1.0.0/go.mod h1:hNIlj7HEI86fIcpObd7a0FcrxTWetlwJDGcceTlRvqc=
1035github.com/mitchellh/cli v1.1.0/go.mod h1:xcISNoH86gajksDmfB23e/pu+B+GeFRMYmoHXxx3xhI=1368github.com/mitchellh/cli v1.1.0/go.mod h1:xcISNoH86gajksDmfB23e/pu+B+GeFRMYmoHXxx3xhI=
1036github.com/mitchellh/go-homedir v1.0.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0=1369github.com/mitchellh/go-homedir v1.0.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0=
@@ -1048,9 +1381,16 @@ github.com/mitchellh/mapstructure v1.2.2/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RR
1048github.com/mitchellh/mapstructure v1.3.2/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo=1381github.com/mitchellh/mapstructure v1.3.2/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo=
1049github.com/mitchellh/mapstructure v1.3.3/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo=1382github.com/mitchellh/mapstructure v1.3.3/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo=
1050github.com/mitchellh/mapstructure v1.4.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo=1383github.com/mitchellh/mapstructure v1.4.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo=
1051github.com/mitchellh/mapstructure v1.4.1 h1:CpVNEelQCZBooIPDn+AR3NpivK/TIKU8bDxdASFVQag=
1052github.com/mitchellh/mapstructure v1.4.1/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo=1384github.com/mitchellh/mapstructure v1.4.1/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo=
1385github.com/mitchellh/mapstructure v1.4.2 h1:6h7AQ0yhTcIsmFmnAwQls75jp2Gzs4iB8W7pjMO+rqo=
1386github.com/mitchellh/mapstructure v1.4.2/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo=
1387github.com/mitchellh/osext v0.0.0-20151018003038-5e2d6d41470f/go.mod h1:OkQIRizQZAeMln+1tSwduZz7+Af5oFlKirV/MSYes2A=
1388github.com/moby/locker v1.0.1/go.mod h1:S7SDdo5zpBK84bzzVlKr2V0hz+7x9hWbYC/kq7oQppc=
1053github.com/moby/spdystream v0.2.0/go.mod h1:f7i0iNDQJ059oMTcWxx8MA/zKFIuD/lY+0GqbN2Wy8c=1389github.com/moby/spdystream v0.2.0/go.mod h1:f7i0iNDQJ059oMTcWxx8MA/zKFIuD/lY+0GqbN2Wy8c=
1390github.com/moby/sys/mountinfo v0.4.0/go.mod h1:rEr8tzG/lsIZHBtN/JjGG+LMYx9eXgW2JI+6q0qou+A=
1391github.com/moby/sys/mountinfo v0.4.1/go.mod h1:rEr8tzG/lsIZHBtN/JjGG+LMYx9eXgW2JI+6q0qou+A=
1392github.com/moby/sys/symlink v0.1.0/go.mod h1:GGDODQmbFOjFsXvfLVn3+ZRxkch54RkSiGqsZeMYowQ=
1393github.com/moby/term v0.0.0-20200312100748-672ec06f55cd/go.mod h1:DdlQx2hp0Ss5/fLikoLlEeIYiATotOjgB//nb973jeo=
1054github.com/moby/term v0.0.0-20201216013528-df9cb8a40635 h1:rzf0wL0CHVc8CEsgyygG0Mn9CNCCPZqOPaz8RiiHYQk=1394github.com/moby/term v0.0.0-20201216013528-df9cb8a40635 h1:rzf0wL0CHVc8CEsgyygG0Mn9CNCCPZqOPaz8RiiHYQk=
1055github.com/moby/term v0.0.0-20201216013528-df9cb8a40635/go.mod h1:FBS0z0QWA44HXygs7VXDUOGoN/1TV3RuWkLO04am3wc=1395github.com/moby/term v0.0.0-20201216013528-df9cb8a40635/go.mod h1:FBS0z0QWA44HXygs7VXDUOGoN/1TV3RuWkLO04am3wc=
1056github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=1396github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
@@ -1058,18 +1398,20 @@ github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w
1058github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=1398github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
1059github.com/modern-go/reflect2 v0.0.0-20180320133207-05fbef0ca5da/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0=1399github.com/modern-go/reflect2 v0.0.0-20180320133207-05fbef0ca5da/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0=
1060github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0=1400github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0=
1061github.com/modern-go/reflect2 v1.0.1 h1:9f412s+6RmYXLWZSEzVVgPGK7C2PphHj5RJrvfx9AWI=
1062github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0=1401github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0=
1402github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M=
1403github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk=
1063github.com/montanaflynn/stats v0.0.0-20171201202039-1bf9dbcd8cbe/go.mod h1:wL8QJuTMNUDYhXwkmfOly8iTdp5TEcJFWZD2D7SIkUc=1404github.com/montanaflynn/stats v0.0.0-20171201202039-1bf9dbcd8cbe/go.mod h1:wL8QJuTMNUDYhXwkmfOly8iTdp5TEcJFWZD2D7SIkUc=
1064github.com/morikuni/aec v0.0.0-20170113033406-39771216ff4c/go.mod h1:BbKIizmSmc5MMPqRYbxO4ZU0S0+P200+tUnFx7PXmsc=1405github.com/morikuni/aec v0.0.0-20170113033406-39771216ff4c/go.mod h1:BbKIizmSmc5MMPqRYbxO4ZU0S0+P200+tUnFx7PXmsc=
1065github.com/morikuni/aec v1.0.0 h1:nP9CBfwrvYnBRgY6qfDQkygYDmYwOilePFkwzv4dU8A=1406github.com/morikuni/aec v1.0.0 h1:nP9CBfwrvYnBRgY6qfDQkygYDmYwOilePFkwzv4dU8A=
1066github.com/morikuni/aec v1.0.0/go.mod h1:BbKIizmSmc5MMPqRYbxO4ZU0S0+P200+tUnFx7PXmsc=1407github.com/morikuni/aec v1.0.0/go.mod h1:BbKIizmSmc5MMPqRYbxO4ZU0S0+P200+tUnFx7PXmsc=
1067github.com/mozillazg/go-cos v0.13.0 h1:RylOpEESdWMLb13bl0ADhko12uMN3JmHqqwFu4OYGBY=
1068github.com/mozillazg/go-cos v0.13.0/go.mod h1:Zp6DvvXn0RUOXGJ2chmWt2bLEqRAnJnS3DnAZsJsoaE=1408github.com/mozillazg/go-cos v0.13.0/go.mod h1:Zp6DvvXn0RUOXGJ2chmWt2bLEqRAnJnS3DnAZsJsoaE=
1069github.com/mozillazg/go-httpheader v0.2.1 h1:geV7TrjbL8KXSyvghnFm+NyTux/hxwueTSrwhe88TQQ=1409github.com/mozillazg/go-httpheader v0.2.1 h1:geV7TrjbL8KXSyvghnFm+NyTux/hxwueTSrwhe88TQQ=
1070github.com/mozillazg/go-httpheader v0.2.1/go.mod h1:jJ8xECTlalr6ValeXYdOF8fFUISeBAdw6E61aqQma60=1410github.com/mozillazg/go-httpheader v0.2.1/go.mod h1:jJ8xECTlalr6ValeXYdOF8fFUISeBAdw6E61aqQma60=
1411github.com/mrunalp/fileutils v0.5.0/go.mod h1:M1WthSahJixYnrXQl/DFQuteStB1weuxD2QJNHXfbSQ=
1071github.com/mschoch/smat v0.0.0-20160514031455-90eadee771ae/go.mod h1:qAyveg+e4CE+eKJXWVjKXM4ck2QobLqTDytGJbLLhJg=1412github.com/mschoch/smat v0.0.0-20160514031455-90eadee771ae/go.mod h1:qAyveg+e4CE+eKJXWVjKXM4ck2QobLqTDytGJbLLhJg=
1072github.com/munnerz/goautoneg v0.0.0-20120707110453-a547fc61f48d/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ=1413github.com/munnerz/goautoneg v0.0.0-20120707110453-a547fc61f48d/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ=
1414github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ=
1073github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U=1415github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U=
1074github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f h1:KUppIJq7/+SVif2QVs3tOP0zanoHgBEVAwHxUSIzRqU=1416github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f h1:KUppIJq7/+SVif2QVs3tOP0zanoHgBEVAwHxUSIzRqU=
1075github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U=1417github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U=
@@ -1077,18 +1419,29 @@ github.com/mxk/go-flowrate v0.0.0-20140419014527-cca7078d478f/go.mod h1:ZdcZmHo+
1077github.com/nakagami/firebirdsql v0.0.0-20190310045651-3c02a58cfed8/go.mod h1:86wM1zFnC6/uDBfZGNwB65O+pR2OFi5q/YQaEUid1qA=1419github.com/nakagami/firebirdsql v0.0.0-20190310045651-3c02a58cfed8/go.mod h1:86wM1zFnC6/uDBfZGNwB65O+pR2OFi5q/YQaEUid1qA=
1078github.com/nats-io/jwt v0.3.0/go.mod h1:fRYCDE99xlTsqUzISS1Bi75UBJ6ljOJQOAAu5VglpSg=1420github.com/nats-io/jwt v0.3.0/go.mod h1:fRYCDE99xlTsqUzISS1Bi75UBJ6ljOJQOAAu5VglpSg=
1079github.com/nats-io/jwt v0.3.2/go.mod h1:/euKqTS1ZD+zzjYrY7pseZrTtWQSjujC7xjPc8wL6eU=1421github.com/nats-io/jwt v0.3.2/go.mod h1:/euKqTS1ZD+zzjYrY7pseZrTtWQSjujC7xjPc8wL6eU=
1422github.com/nats-io/jwt v1.2.2/go.mod h1:/xX356yQA6LuXI9xWW7mZNpxgF2mBmGecH+Fj34sP5Q=
1423github.com/nats-io/jwt/v2 v2.0.2/go.mod h1:VRP+deawSXyhNjXmxPCHskrR6Mq50BqpEI5SEcNiGlY=
1424github.com/nats-io/jwt/v2 v2.0.3/go.mod h1:VRP+deawSXyhNjXmxPCHskrR6Mq50BqpEI5SEcNiGlY=
1080github.com/nats-io/nats-server/v2 v2.1.2/go.mod h1:Afk+wRZqkMQs/p45uXdrVLuab3gwv3Z8C4HTBu8GD/k=1425github.com/nats-io/nats-server/v2 v2.1.2/go.mod h1:Afk+wRZqkMQs/p45uXdrVLuab3gwv3Z8C4HTBu8GD/k=
1426github.com/nats-io/nats-server/v2 v2.2.6/go.mod h1:sEnFaxqe09cDmfMgACxZbziXnhQFhwk+aKkZjBBRYrI=
1427github.com/nats-io/nats-server/v2 v2.5.0/go.mod h1:Kj86UtrXAL6LwYRA6H4RqzkHhK0Vcv2ZnKD5WbQ1t3g=
1081github.com/nats-io/nats.go v1.9.1/go.mod h1:ZjDU1L/7fJ09jvUSRVBR2e7+RnLiiIQyqyzEE/Zbp4w=1428github.com/nats-io/nats.go v1.9.1/go.mod h1:ZjDU1L/7fJ09jvUSRVBR2e7+RnLiiIQyqyzEE/Zbp4w=
1429github.com/nats-io/nats.go v1.11.0/go.mod h1:BPko4oXsySz4aSWeFgOHLZs3G4Jq4ZAyE6/zMCxRT6w=
1430github.com/nats-io/nats.go v1.12.1/go.mod h1:BPko4oXsySz4aSWeFgOHLZs3G4Jq4ZAyE6/zMCxRT6w=
1082github.com/nats-io/nkeys v0.1.0/go.mod h1:xpnFELMwJABBLVhffcfd1MZx6VsNRFpEugbxziKVo7w=1431github.com/nats-io/nkeys v0.1.0/go.mod h1:xpnFELMwJABBLVhffcfd1MZx6VsNRFpEugbxziKVo7w=
1083github.com/nats-io/nkeys v0.1.3/go.mod h1:xpnFELMwJABBLVhffcfd1MZx6VsNRFpEugbxziKVo7w=1432github.com/nats-io/nkeys v0.1.3/go.mod h1:xpnFELMwJABBLVhffcfd1MZx6VsNRFpEugbxziKVo7w=
1433github.com/nats-io/nkeys v0.2.0/go.mod h1:XdZpAbhgyyODYqjTawOnIOI7VlbKSarI9Gfy1tqEu/s=
1434github.com/nats-io/nkeys v0.3.0/go.mod h1:gvUNGjVcM2IPr5rCsRsC6Wb3Hr2CQAm08dsxtV6A5y4=
1084github.com/nats-io/nuid v1.0.1/go.mod h1:19wcPz3Ph3q0Jbyiqsd0kePYG7A95tJPxeL+1OSON2c=1435github.com/nats-io/nuid v1.0.1/go.mod h1:19wcPz3Ph3q0Jbyiqsd0kePYG7A95tJPxeL+1OSON2c=
1436github.com/ncw/swift v1.0.47/go.mod h1:23YIA4yWVnGwv2dQlN4bB7egfYX6YLn0Yo/S6zZO/ZM=
1085github.com/ncw/swift v1.0.50/go.mod h1:23YIA4yWVnGwv2dQlN4bB7egfYX6YLn0Yo/S6zZO/ZM=1437github.com/ncw/swift v1.0.50/go.mod h1:23YIA4yWVnGwv2dQlN4bB7egfYX6YLn0Yo/S6zZO/ZM=
1086github.com/ncw/swift v1.0.52 h1:ACF3JufDGgeKp/9mrDgQlEgS8kRYC4XKcuzj/8EJjQU=1438github.com/ncw/swift v1.0.52 h1:ACF3JufDGgeKp/9mrDgQlEgS8kRYC4XKcuzj/8EJjQU=
1087github.com/ncw/swift v1.0.52/go.mod h1:23YIA4yWVnGwv2dQlN4bB7egfYX6YLn0Yo/S6zZO/ZM=1439github.com/ncw/swift v1.0.52/go.mod h1:23YIA4yWVnGwv2dQlN4bB7egfYX6YLn0Yo/S6zZO/ZM=
1088github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e h1:fD57ERR4JtEqsWbfPhv4DMiApHyliiK5xCTNVSPiaAs=1440github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e h1:fD57ERR4JtEqsWbfPhv4DMiApHyliiK5xCTNVSPiaAs=
1089github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno=1441github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno=
1090github.com/nxadm/tail v1.4.4 h1:DQuhQpB1tVlglWS2hLQ5OV6B5r8aGxSrPc5Qo6uTN78=
1091github.com/nxadm/tail v1.4.4/go.mod h1:kenIhsEOeOJmVchQTgglprH7qJGnHDVpk1VPCcaMI8A=1442github.com/nxadm/tail v1.4.4/go.mod h1:kenIhsEOeOJmVchQTgglprH7qJGnHDVpk1VPCcaMI8A=
1443github.com/nxadm/tail v1.4.8 h1:nPr65rt6Y5JFSKQO7qToXr7pePgD6Gwiw05lkbyAQTE=
1444github.com/nxadm/tail v1.4.8/go.mod h1:+ncqLTQzXmGhMZNUePPaPqPvBxHAIsmXswZKocGu+AU=
1092github.com/oklog/oklog v0.3.2/go.mod h1:FCV+B7mhrz4o+ueLpx+KqkyXRGMWOYEvfiXtdGtbWGs=1445github.com/oklog/oklog v0.3.2/go.mod h1:FCV+B7mhrz4o+ueLpx+KqkyXRGMWOYEvfiXtdGtbWGs=
1093github.com/oklog/run v1.0.0/go.mod h1:dlhp/R75TPv97u0XWUtDeV/lRKWPKSdTuV0TZvrmrQA=1446github.com/oklog/run v1.0.0/go.mod h1:dlhp/R75TPv97u0XWUtDeV/lRKWPKSdTuV0TZvrmrQA=
1094github.com/oklog/run v1.1.0 h1:GEenZ1cK0+q0+wsJew9qUg/DyD8k3JzYsZAi5gYi2mA=1447github.com/oklog/run v1.1.0 h1:GEenZ1cK0+q0+wsJew9qUg/DyD8k3JzYsZAi5gYi2mA=
@@ -1099,6 +1452,7 @@ github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn
1099github.com/olekukonko/tablewriter v0.0.0-20170122224234-a0225b3f23b5/go.mod h1:vsDQFd/mU46D+Z4whnwzcISnGGzXWMclvtLoiIKAKIo=1452github.com/olekukonko/tablewriter v0.0.0-20170122224234-a0225b3f23b5/go.mod h1:vsDQFd/mU46D+Z4whnwzcISnGGzXWMclvtLoiIKAKIo=
1100github.com/olekukonko/tablewriter v0.0.1/go.mod h1:vsDQFd/mU46D+Z4whnwzcISnGGzXWMclvtLoiIKAKIo=1453github.com/olekukonko/tablewriter v0.0.1/go.mod h1:vsDQFd/mU46D+Z4whnwzcISnGGzXWMclvtLoiIKAKIo=
1101github.com/olekukonko/tablewriter v0.0.2/go.mod h1:rSAaSIOAGT9odnlyGlUfAJaoc5w2fSBUmeGDbRWPxyQ=1454github.com/olekukonko/tablewriter v0.0.2/go.mod h1:rSAaSIOAGT9odnlyGlUfAJaoc5w2fSBUmeGDbRWPxyQ=
1455github.com/onsi/ginkgo v0.0.0-20151202141238-7f8ab55aaf3b/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE=
1102github.com/onsi/ginkgo v0.0.0-20170829012221-11459a886d9c/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE=1456github.com/onsi/ginkgo v0.0.0-20170829012221-11459a886d9c/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE=
1103github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE=1457github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE=
1104github.com/onsi/ginkgo v1.7.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE=1458github.com/onsi/ginkgo v1.7.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE=
@@ -1109,8 +1463,10 @@ github.com/onsi/ginkgo v1.11.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+
1109github.com/onsi/ginkgo v1.12.1/go.mod h1:zj2OWP4+oCPe1qIXoGWkgMRwljMUYCdkwsT2108oapk=1463github.com/onsi/ginkgo v1.12.1/go.mod h1:zj2OWP4+oCPe1qIXoGWkgMRwljMUYCdkwsT2108oapk=
1110github.com/onsi/ginkgo v1.14.0/go.mod h1:iSB4RoI2tjJc9BBv4NKIKWKya62Rps+oPG/Lv9klQyY=1464github.com/onsi/ginkgo v1.14.0/go.mod h1:iSB4RoI2tjJc9BBv4NKIKWKya62Rps+oPG/Lv9klQyY=
1111github.com/onsi/ginkgo v1.14.1/go.mod h1:iSB4RoI2tjJc9BBv4NKIKWKya62Rps+oPG/Lv9klQyY=1465github.com/onsi/ginkgo v1.14.1/go.mod h1:iSB4RoI2tjJc9BBv4NKIKWKya62Rps+oPG/Lv9klQyY=
1112github.com/onsi/ginkgo v1.15.0 h1:1V1NfVQR87RtWAgp1lv9JZJ5Jap+XFGKPi00andXGi4=
1113github.com/onsi/ginkgo v1.15.0/go.mod h1:hF8qUzuuC8DJGygJH3726JnCZX4MYbRB8yFfISqnKUg=1466github.com/onsi/ginkgo v1.15.0/go.mod h1:hF8qUzuuC8DJGygJH3726JnCZX4MYbRB8yFfISqnKUg=
1467github.com/onsi/ginkgo v1.16.2 h1:HFB2fbVIlhIfCfOW81bZFbiC/RvnpXSdhbF2/DJr134=
1468github.com/onsi/ginkgo v1.16.2/go.mod h1:CObGmKUOKaSC0RjmoAK7tKyn4Azo5P2IWuoMnvwxz1E=
1469github.com/onsi/gomega v0.0.0-20151007035656-2152b45fa28a/go.mod h1:C1qb7wdrVGGVU+Z6iS04AVkA3Q65CEZX59MT0QO5uiA=
1114github.com/onsi/gomega v0.0.0-20170829124025-dcabb60a477c/go.mod h1:C1qb7wdrVGGVU+Z6iS04AVkA3Q65CEZX59MT0QO5uiA=1470github.com/onsi/gomega v0.0.0-20170829124025-dcabb60a477c/go.mod h1:C1qb7wdrVGGVU+Z6iS04AVkA3Q65CEZX59MT0QO5uiA=
1115github.com/onsi/gomega v1.4.2/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY=1471github.com/onsi/gomega v1.4.2/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY=
1116github.com/onsi/gomega v1.4.3/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY=1472github.com/onsi/gomega v1.4.3/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY=
@@ -1119,14 +1475,33 @@ github.com/onsi/gomega v1.7.0/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1Cpa
1119github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7JYyY=1475github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7JYyY=
1120github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1ybHNo=1476github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1ybHNo=
1121github.com/onsi/gomega v1.10.2/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1ybHNo=1477github.com/onsi/gomega v1.10.2/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1ybHNo=
1122github.com/onsi/gomega v1.10.5 h1:7n6FEkpFmfCoo2t+YYqXH0evK+a9ICQz0xcAy9dYcaQ=1478github.com/onsi/gomega v1.10.3/go.mod h1:V9xEwhxec5O8UDM77eCW8vLymOMltsqPVYWrpDsH8xc=
1123github.com/onsi/gomega v1.10.5/go.mod h1:gza4q3jKQJijlu05nKWRCW/GavJumGt8aNRxWg7mt48=1479github.com/onsi/gomega v1.10.5/go.mod h1:gza4q3jKQJijlu05nKWRCW/GavJumGt8aNRxWg7mt48=
1480github.com/onsi/gomega v1.13.0 h1:7lLHu94wT9Ij0o6EWWclhu0aOh32VxhkwEJvzuWPeak=
1481github.com/onsi/gomega v1.13.0/go.mod h1:lRk9szgn8TxENtWd0Tp4c3wjlRfMTMH27I+3Je41yGY=
1124github.com/op/go-logging v0.0.0-20160315200505-970db520ece7/go.mod h1:HzydrMdWErDVzsI23lYNej1Htcns9BCg93Dk0bBINWk=1482github.com/op/go-logging v0.0.0-20160315200505-970db520ece7/go.mod h1:HzydrMdWErDVzsI23lYNej1Htcns9BCg93Dk0bBINWk=
1483github.com/opencontainers/go-digest v0.0.0-20170106003457-a6d0ee40d420/go.mod h1:cMLVZDEM3+U2I4VmLI6N8jQYUd2OVphdqWwCJHrFt2s=
1484github.com/opencontainers/go-digest v0.0.0-20180430190053-c9281466c8b2/go.mod h1:cMLVZDEM3+U2I4VmLI6N8jQYUd2OVphdqWwCJHrFt2s=
1125github.com/opencontainers/go-digest v1.0.0-rc1/go.mod h1:cMLVZDEM3+U2I4VmLI6N8jQYUd2OVphdqWwCJHrFt2s=1485github.com/opencontainers/go-digest v1.0.0-rc1/go.mod h1:cMLVZDEM3+U2I4VmLI6N8jQYUd2OVphdqWwCJHrFt2s=
1486github.com/opencontainers/go-digest v1.0.0-rc1.0.20180430190053-c9281466c8b2/go.mod h1:cMLVZDEM3+U2I4VmLI6N8jQYUd2OVphdqWwCJHrFt2s=
1126github.com/opencontainers/go-digest v1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8Oi/yOhh5U=1487github.com/opencontainers/go-digest v1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8Oi/yOhh5U=
1127github.com/opencontainers/go-digest v1.0.0/go.mod h1:0JzlMkj0TRzQZfJkVvzbP0HBR3IKzErnv2BNG4W4MAM=1488github.com/opencontainers/go-digest v1.0.0/go.mod h1:0JzlMkj0TRzQZfJkVvzbP0HBR3IKzErnv2BNG4W4MAM=
1489github.com/opencontainers/image-spec v1.0.0/go.mod h1:BtxoFyWECRxE4U/7sNtV5W15zMzWCbyJoFRP3s7yZA0=
1128github.com/opencontainers/image-spec v1.0.1 h1:JMemWkRwHx4Zj+fVxWoMCFm/8sYGGrUVojFA6h/TRcI=1490github.com/opencontainers/image-spec v1.0.1 h1:JMemWkRwHx4Zj+fVxWoMCFm/8sYGGrUVojFA6h/TRcI=
1129github.com/opencontainers/image-spec v1.0.1/go.mod h1:BtxoFyWECRxE4U/7sNtV5W15zMzWCbyJoFRP3s7yZA0=1491github.com/opencontainers/image-spec v1.0.1/go.mod h1:BtxoFyWECRxE4U/7sNtV5W15zMzWCbyJoFRP3s7yZA0=
1492github.com/opencontainers/runc v0.0.0-20190115041553-12f6a991201f/go.mod h1:qT5XzbpPznkRYVz/mWwUaVBUv2rmF59PVA73FjuZG0U=
1493github.com/opencontainers/runc v0.1.1/go.mod h1:qT5XzbpPznkRYVz/mWwUaVBUv2rmF59PVA73FjuZG0U=
1494github.com/opencontainers/runc v1.0.0-rc8.0.20190926000215-3e425f80a8c9/go.mod h1:qT5XzbpPznkRYVz/mWwUaVBUv2rmF59PVA73FjuZG0U=
1495github.com/opencontainers/runc v1.0.0-rc9/go.mod h1:qT5XzbpPznkRYVz/mWwUaVBUv2rmF59PVA73FjuZG0U=
1496github.com/opencontainers/runc v1.0.0-rc93/go.mod h1:3NOsor4w32B2tC0Zbl8Knk4Wg84SM2ImC1fxBuqJ/H0=
1497github.com/opencontainers/runtime-spec v0.1.2-0.20190507144316-5b71a03e2700/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0=
1498github.com/opencontainers/runtime-spec v1.0.1/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0=
1499github.com/opencontainers/runtime-spec v1.0.2-0.20190207185410-29686dbc5559/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0=
1500github.com/opencontainers/runtime-spec v1.0.2/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0=
1501github.com/opencontainers/runtime-spec v1.0.3-0.20200929063507-e6143ca7d51d/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0=
1502github.com/opencontainers/runtime-tools v0.0.0-20181011054405-1d69bd0f9c39/go.mod h1:r3f7wjNzSs2extwzU3Y+6pKfobzPh+kKFJ3ofN+3nfs=
1503github.com/opencontainers/selinux v1.6.0/go.mod h1:VVGKuOLlE7v4PJyT6h7mNWvq1rzqiriPsEqVhc+svHE=
1504github.com/opencontainers/selinux v1.8.0/go.mod h1:RScLhm78qiWa2gbVCcGkC7tCGdgk3ogry1nUQF8Evvo=
1130github.com/opentracing-contrib/go-grpc v0.0.0-20180928155321-4b5a12d3ff02/go.mod h1:JNdpVEzCpXBgIiv4ds+TzhN1hrtxq6ClLrTlT9OQRSc=1505github.com/opentracing-contrib/go-grpc v0.0.0-20180928155321-4b5a12d3ff02/go.mod h1:JNdpVEzCpXBgIiv4ds+TzhN1hrtxq6ClLrTlT9OQRSc=
1131github.com/opentracing-contrib/go-grpc v0.0.0-20210225150812-73cb765af46e h1:4cPxUYdgaGzZIT5/j0IfqOrrXmq6bG8AwvwisMXpdrg=1506github.com/opentracing-contrib/go-grpc v0.0.0-20210225150812-73cb765af46e h1:4cPxUYdgaGzZIT5/j0IfqOrrXmq6bG8AwvwisMXpdrg=
1132github.com/opentracing-contrib/go-grpc v0.0.0-20210225150812-73cb765af46e/go.mod h1:DYR5Eij8rJl8h7gblRrOZ8g0kW1umSpKqYIBTgeDtLo=1507github.com/opentracing-contrib/go-grpc v0.0.0-20210225150812-73cb765af46e/go.mod h1:DYR5Eij8rJl8h7gblRrOZ8g0kW1umSpKqYIBTgeDtLo=
@@ -1145,6 +1520,7 @@ github.com/openzipkin-contrib/zipkin-go-opentracing v0.4.5/go.mod h1:/wsWhb9smxS
1145github.com/openzipkin/zipkin-go v0.1.6/go.mod h1:QgAqvLzwWbR/WpD4A3cGpPtJrZXNIiJc5AZX7/PBEpw=1520github.com/openzipkin/zipkin-go v0.1.6/go.mod h1:QgAqvLzwWbR/WpD4A3cGpPtJrZXNIiJc5AZX7/PBEpw=
1146github.com/openzipkin/zipkin-go v0.2.1/go.mod h1:NaW6tEwdmWMaCDZzg8sh+IBNOxHMPnhQw8ySjnjRyN4=1521github.com/openzipkin/zipkin-go v0.2.1/go.mod h1:NaW6tEwdmWMaCDZzg8sh+IBNOxHMPnhQw8ySjnjRyN4=
1147github.com/openzipkin/zipkin-go v0.2.2/go.mod h1:NaW6tEwdmWMaCDZzg8sh+IBNOxHMPnhQw8ySjnjRyN4=1522github.com/openzipkin/zipkin-go v0.2.2/go.mod h1:NaW6tEwdmWMaCDZzg8sh+IBNOxHMPnhQw8ySjnjRyN4=
1523github.com/openzipkin/zipkin-go v0.2.5/go.mod h1:KpXfKdgRDnnhsxw4pNIH9Md5lyFqKUa4YDFlwRYAMyE=
1148github.com/pact-foundation/pact-go v1.0.4/go.mod h1:uExwJY4kCzNPcHRj+hCR/HBbOOIwwtUjcrb0b5/5kLM=1524github.com/pact-foundation/pact-go v1.0.4/go.mod h1:uExwJY4kCzNPcHRj+hCR/HBbOOIwwtUjcrb0b5/5kLM=
1149github.com/pascaldekloe/goe v0.0.0-20180627143212-57f6aae5913c/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc=1525github.com/pascaldekloe/goe v0.0.0-20180627143212-57f6aae5913c/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc=
1150github.com/pascaldekloe/goe v0.1.0 h1:cBOtyMzM9HTpWjXfbbunk26uA6nG3a8n06Wieeh0MwY=1526github.com/pascaldekloe/goe v0.1.0 h1:cBOtyMzM9HTpWjXfbbunk26uA6nG3a8n06Wieeh0MwY=
@@ -1154,23 +1530,29 @@ github.com/pborman/uuid v1.2.0/go.mod h1:X/NO0urCmaxf9VXbdlT7C2Yzkj2IKimNn4k+gtP
1154github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic=1530github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic=
1155github.com/pelletier/go-toml v1.4.0/go.mod h1:PN7xzY2wHTK0K9p34ErDQMlFxa51Fk0OUruD3k1mMwo=1531github.com/pelletier/go-toml v1.4.0/go.mod h1:PN7xzY2wHTK0K9p34ErDQMlFxa51Fk0OUruD3k1mMwo=
1156github.com/pelletier/go-toml v1.7.0/go.mod h1:vwGMzjaWMwyfHwgIBhI2YUM4fB6nL6lVAvS1LBMMhTE=1532github.com/pelletier/go-toml v1.7.0/go.mod h1:vwGMzjaWMwyfHwgIBhI2YUM4fB6nL6lVAvS1LBMMhTE=
1533github.com/pelletier/go-toml v1.8.1/go.mod h1:T2/BmBdy8dvIRq1a/8aqjN41wvWlN4lrapLU/GW4pbc=
1157github.com/performancecopilot/speed v3.0.0+incompatible/go.mod h1:/CLtqpZ5gBg1M9iaPbIdPPGyKcA8hKdoy6hAWba7Yac=1534github.com/performancecopilot/speed v3.0.0+incompatible/go.mod h1:/CLtqpZ5gBg1M9iaPbIdPPGyKcA8hKdoy6hAWba7Yac=
1535github.com/performancecopilot/speed/v4 v4.0.0/go.mod h1:qxrSyuDGrTOWfV+uKRFhfxw6h/4HXRGUiZiufxo49BM=
1158github.com/peterbourgon/diskv v2.0.1+incompatible/go.mod h1:uqqh8zWWbv1HBMNONnaR/tNboyR3/BZd58JJSHlUSCU=1536github.com/peterbourgon/diskv v2.0.1+incompatible/go.mod h1:uqqh8zWWbv1HBMNONnaR/tNboyR3/BZd58JJSHlUSCU=
1159github.com/peterh/liner v1.0.1-0.20180619022028-8c1271fcf47f/go.mod h1:xIteQHvHuaLYG9IFj6mSxM0fCKrs34IrEQUhOYuGPHc=1537github.com/peterh/liner v1.0.1-0.20180619022028-8c1271fcf47f/go.mod h1:xIteQHvHuaLYG9IFj6mSxM0fCKrs34IrEQUhOYuGPHc=
1160github.com/philhofer/fwd v1.0.0/go.mod h1:gk3iGcWd9+svBvR0sR+KPcfE+RNWozjowpeBVG3ZVNU=1538github.com/philhofer/fwd v1.0.0/go.mod h1:gk3iGcWd9+svBvR0sR+KPcfE+RNWozjowpeBVG3ZVNU=
1161github.com/pierrec/lz4 v1.0.2-0.20190131084431-473cd7ce01a1/go.mod h1:3/3N9NVKO0jef7pBehbT1qWhCMrIgbYNnFAZCqQ5LRc=1539github.com/pierrec/lz4 v1.0.2-0.20190131084431-473cd7ce01a1/go.mod h1:3/3N9NVKO0jef7pBehbT1qWhCMrIgbYNnFAZCqQ5LRc=
1162github.com/pierrec/lz4 v2.0.5+incompatible/go.mod h1:pdkljMzZIN41W+lC3N2tnIh5sFi+IEE17M5jbnwPHcY=1540github.com/pierrec/lz4 v2.0.5+incompatible/go.mod h1:pdkljMzZIN41W+lC3N2tnIh5sFi+IEE17M5jbnwPHcY=
1541github.com/pkg/browser v0.0.0-20180916011732-0a3d74bf9ce4/go.mod h1:4OwLy04Bl9Ef3GJJCoec+30X3LQs/0/m4HFRt/2LUSA=
1163github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=1542github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
1543github.com/pkg/errors v0.8.1-0.20171018195549-f15c970de5b7/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
1164github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=1544github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
1165github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4=1545github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4=
1166github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=1546github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
1167github.com/pkg/profile v1.2.1/go.mod h1:hJw3o1OdXxsrSjjVksARp5W95eeEaEfptyVZyv6JUPA=1547github.com/pkg/profile v1.2.1/go.mod h1:hJw3o1OdXxsrSjjVksARp5W95eeEaEfptyVZyv6JUPA=
1548github.com/pkg/sftp v1.10.1/go.mod h1:lYOWFsE0bwd1+KfKJaKeuokY15vzFx25BLbzYYoAxZI=
1168github.com/pkg/term v0.0.0-20180730021639-bffc007b7fd5/go.mod h1:eCbImbZ95eXtAUIbLAuAVnBnwf83mjf6QIVH8SHYwqQ=1549github.com/pkg/term v0.0.0-20180730021639-bffc007b7fd5/go.mod h1:eCbImbZ95eXtAUIbLAuAVnBnwf83mjf6QIVH8SHYwqQ=
1169github.com/pmezard/go-difflib v0.0.0-20151028094244-d8ed2627bdf0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=1550github.com/pmezard/go-difflib v0.0.0-20151028094244-d8ed2627bdf0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
1170github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=1551github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
1171github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=1552github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
1172github.com/posener/complete v1.1.1/go.mod h1:em0nMJCgc9GFtwrmVmEMR/ZL6WyhyjMBndrE9hABlRI=1553github.com/posener/complete v1.1.1/go.mod h1:em0nMJCgc9GFtwrmVmEMR/ZL6WyhyjMBndrE9hABlRI=
1173github.com/posener/complete v1.2.3/go.mod h1:WZIdtGGp+qx0sLrYKtIRAruyNpv6hFCicSgv7Sy7s/s=1554github.com/posener/complete v1.2.3/go.mod h1:WZIdtGGp+qx0sLrYKtIRAruyNpv6hFCicSgv7Sy7s/s=
1555github.com/pquerna/cachecontrol v0.0.0-20171018203845-0dec1b30a021/go.mod h1:prYjPmNq4d1NPVmpShWobRqXY3q7Vp+80DqgxxUrUIA=
1174github.com/prometheus/alertmanager v0.18.0/go.mod h1:WcxHBl40VSPuOaqWae6l6HpnEOVRIycEJ7i9iYkadEE=1556github.com/prometheus/alertmanager v0.18.0/go.mod h1:WcxHBl40VSPuOaqWae6l6HpnEOVRIycEJ7i9iYkadEE=
1175github.com/prometheus/alertmanager v0.19.0/go.mod h1:Eyp94Yi/T+kdeb2qvq66E3RGuph5T/jm/RBVh4yz1xo=1557github.com/prometheus/alertmanager v0.19.0/go.mod h1:Eyp94Yi/T+kdeb2qvq66E3RGuph5T/jm/RBVh4yz1xo=
1176github.com/prometheus/alertmanager v0.20.0/go.mod h1:9g2i48FAyZW6BtbsnvHtMHQXl2aVtrORKwKVCQ+nbrg=1558github.com/prometheus/alertmanager v0.20.0/go.mod h1:9g2i48FAyZW6BtbsnvHtMHQXl2aVtrORKwKVCQ+nbrg=
@@ -1179,8 +1561,12 @@ github.com/prometheus/alertmanager v0.21.1-0.20200911160112-1fdff6b3f939/go.mod
1179github.com/prometheus/alertmanager v0.21.1-0.20201106142418-c39b78780054/go.mod h1:imXRHOP6QTsE0fFsIsAV/cXimS32m7gVZOiUj11m6Ig=1561github.com/prometheus/alertmanager v0.21.1-0.20201106142418-c39b78780054/go.mod h1:imXRHOP6QTsE0fFsIsAV/cXimS32m7gVZOiUj11m6Ig=
1180github.com/prometheus/alertmanager v0.21.1-0.20210310093010-0f9cab6991e6/go.mod h1:MTqVn+vIupE0dzdgo+sMcNCp37SCAi8vPrvKTTnTz9g=1562github.com/prometheus/alertmanager v0.21.1-0.20210310093010-0f9cab6991e6/go.mod h1:MTqVn+vIupE0dzdgo+sMcNCp37SCAi8vPrvKTTnTz9g=
1181github.com/prometheus/alertmanager v0.21.1-0.20210422101724-8176f78a70e1/go.mod h1:gsEqwD5BHHW9RNKvCuPOrrTMiP5I+faJUyLXvnivHik=1563github.com/prometheus/alertmanager v0.21.1-0.20210422101724-8176f78a70e1/go.mod h1:gsEqwD5BHHW9RNKvCuPOrrTMiP5I+faJUyLXvnivHik=
1182github.com/prometheus/alertmanager v0.22.1-0.20210603124511-8b584eb2265e h1:FNLZCG1rR9QPbkwYLMiy7TnI4WRB7TeipcxkrbszN4E=1564github.com/prometheus/alertmanager v0.22.2/go.mod h1:rYinOWxFuCnNssc3iOjn2oMTlhLaPcUuqV5yk5JKUAE=
1183github.com/prometheus/alertmanager v0.22.1-0.20210603124511-8b584eb2265e/go.mod h1:ntrorfzWQ1I9mhJK7AO71w4xMUgM4SxmwbtyQgAWZz0=1565github.com/prometheus/alertmanager v0.22.3-0.20210726110322-3d86bd709df8/go.mod h1:BBhEP06PwDGsIKsQzOeTNe2jU6tU19SzhJ41C2ib4XE=
1566github.com/prometheus/alertmanager v0.23.0/go.mod h1:0MLTrjQI8EuVmvykEhcfr/7X0xmaDAZrqMgxIq3OXHk=
1567github.com/prometheus/alertmanager v0.23.1-0.20210914172521-e35efbddb66a h1:qroc/F4ygaQ0uc2S+Pyk/exMwnSpokGyN1QjfZ1DiWU=
1568github.com/prometheus/alertmanager v0.23.1-0.20210914172521-e35efbddb66a/go.mod h1:U7pGu+z7A9ZKhK8lq1MvIOp5GdVlZjwOYk+S0h3LSbA=
1569github.com/prometheus/client_golang v0.0.0-20180209125602-c332b6f63c06/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw=
1184github.com/prometheus/client_golang v0.8.0/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw=1570github.com/prometheus/client_golang v0.8.0/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw=
1185github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw=1571github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw=
1186github.com/prometheus/client_golang v0.9.2/go.mod h1:OsXs2jCmiKlQ1lTBmv21f2mNfw4xf/QclQDMrYNZzcM=1572github.com/prometheus/client_golang v0.9.2/go.mod h1:OsXs2jCmiKlQ1lTBmv21f2mNfw4xf/QclQDMrYNZzcM=
@@ -1199,9 +1585,11 @@ github.com/prometheus/client_golang v1.6.1-0.20200604110148-03575cad4e55/go.mod
1199github.com/prometheus/client_golang v1.7.1/go.mod h1:PY5Wy2awLA44sXw4AOSfFBetzPP4j5+D6mVACh+pe2M=1585github.com/prometheus/client_golang v1.7.1/go.mod h1:PY5Wy2awLA44sXw4AOSfFBetzPP4j5+D6mVACh+pe2M=
1200github.com/prometheus/client_golang v1.8.0/go.mod h1:O9VU6huf47PktckDQfMTX0Y8tY0/7TSWwj+ITvv0TnM=1586github.com/prometheus/client_golang v1.8.0/go.mod h1:O9VU6huf47PktckDQfMTX0Y8tY0/7TSWwj+ITvv0TnM=
1201github.com/prometheus/client_golang v1.9.0/go.mod h1:FqZLKOZnGdFAhOK4nqGHa7D66IdsO+O441Eve7ptJDU=1587github.com/prometheus/client_golang v1.9.0/go.mod h1:FqZLKOZnGdFAhOK4nqGHa7D66IdsO+O441Eve7ptJDU=
1202github.com/prometheus/client_golang v1.10.0 h1:/o0BDeWzLWXNZ+4q5gXltUvaMpJqckTa+jTNoB+z4cg=
1203github.com/prometheus/client_golang v1.10.0/go.mod h1:WJM3cc3yu7XKBKa/I8WeZm+V3eltZnBwfENSU7mdogU=1588github.com/prometheus/client_golang v1.10.0/go.mod h1:WJM3cc3yu7XKBKa/I8WeZm+V3eltZnBwfENSU7mdogU=
1589github.com/prometheus/client_golang v1.11.0 h1:HNkLOAEQMIDv/K+04rukrLx6ch7msSRwf3/SASFAGtQ=
1590github.com/prometheus/client_golang v1.11.0/go.mod h1:Z6t4BnS23TR94PD6BsDNk8yVqroYurpAkEiz0P2BEV0=
1204github.com/prometheus/client_model v0.0.0-20170216185247-6f3806018612/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo=1591github.com/prometheus/client_model v0.0.0-20170216185247-6f3806018612/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo=
1592github.com/prometheus/client_model v0.0.0-20171117100541-99fa1f4be8e5/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo=
1205github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo=1593github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo=
1206github.com/prometheus/client_model v0.0.0-20190115171406-56726106282f/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo=1594github.com/prometheus/client_model v0.0.0-20190115171406-56726106282f/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo=
1207github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA=1595github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA=
@@ -1209,6 +1597,7 @@ github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:
1209github.com/prometheus/client_model v0.1.0/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA=1597github.com/prometheus/client_model v0.1.0/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA=
1210github.com/prometheus/client_model v0.2.0 h1:uq5h0d+GuxiXLJLNABMgp2qUWDPiLvgCzz2dUR+/W/M=1598github.com/prometheus/client_model v0.2.0 h1:uq5h0d+GuxiXLJLNABMgp2qUWDPiLvgCzz2dUR+/W/M=
1211github.com/prometheus/client_model v0.2.0/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA=1599github.com/prometheus/client_model v0.2.0/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA=
1600github.com/prometheus/common v0.0.0-20180110214958-89604d197083/go.mod h1:daVV7qP5qjZbuso7PdcryaAu0sAZbrN9i7WWcTMWvro=
1212github.com/prometheus/common v0.0.0-20180518154759-7600349dcfe1/go.mod h1:daVV7qP5qjZbuso7PdcryaAu0sAZbrN9i7WWcTMWvro=1601github.com/prometheus/common v0.0.0-20180518154759-7600349dcfe1/go.mod h1:daVV7qP5qjZbuso7PdcryaAu0sAZbrN9i7WWcTMWvro=
1213github.com/prometheus/common v0.0.0-20181113130724-41aa239b4cce/go.mod h1:daVV7qP5qjZbuso7PdcryaAu0sAZbrN9i7WWcTMWvro=1602github.com/prometheus/common v0.0.0-20181113130724-41aa239b4cce/go.mod h1:daVV7qP5qjZbuso7PdcryaAu0sAZbrN9i7WWcTMWvro=
1214github.com/prometheus/common v0.0.0-20181126121408-4724e9255275/go.mod h1:daVV7qP5qjZbuso7PdcryaAu0sAZbrN9i7WWcTMWvro=1603github.com/prometheus/common v0.0.0-20181126121408-4724e9255275/go.mod h1:daVV7qP5qjZbuso7PdcryaAu0sAZbrN9i7WWcTMWvro=
@@ -1228,19 +1617,27 @@ github.com/prometheus/common v0.18.0/go.mod h1:U+gB1OBLb1lF3O42bTCL+FK18tX9Oar16
1228github.com/prometheus/common v0.20.0/go.mod h1:U+gB1OBLb1lF3O42bTCL+FK18tX9Oar16Clt/msog/s=1617github.com/prometheus/common v0.20.0/go.mod h1:U+gB1OBLb1lF3O42bTCL+FK18tX9Oar16Clt/msog/s=
1229github.com/prometheus/common v0.21.0/go.mod h1:U+gB1OBLb1lF3O42bTCL+FK18tX9Oar16Clt/msog/s=1618github.com/prometheus/common v0.21.0/go.mod h1:U+gB1OBLb1lF3O42bTCL+FK18tX9Oar16Clt/msog/s=
1230github.com/prometheus/common v0.23.0/go.mod h1:H6QK/N6XVT42whUeIdI3dp36w49c+/iMDk7UAI2qm7Q=1619github.com/prometheus/common v0.23.0/go.mod h1:H6QK/N6XVT42whUeIdI3dp36w49c+/iMDk7UAI2qm7Q=
1231github.com/prometheus/common v0.24.0/go.mod h1:H6QK/N6XVT42whUeIdI3dp36w49c+/iMDk7UAI2qm7Q=1620github.com/prometheus/common v0.26.0/go.mod h1:M7rCNAaPfAosfx8veZJCuw84e35h3Cfd9VFqTh1DIvc=
1232github.com/prometheus/common v0.26.1-0.20210603143733-6ef301f414bf h1:w+U3wF/6JRY6+MNfxTodIBw6dZaE11Y+Arg3bRLqatI=1621github.com/prometheus/common v0.29.0/go.mod h1:vu+V0TpY+O6vW9J44gczi3Ap/oXXR10b+M/gUGO4Hls=
1233github.com/prometheus/common v0.26.1-0.20210603143733-6ef301f414bf/go.mod h1:LdLj/WiR+LL0ThCPrtSZbijrsxInIhizDTiPlJhPPq4=1622github.com/prometheus/common v0.30.0 h1:JEkYlQnpzrzQFxi6gnukFPdQ+ac82oRhzMcIduJu/Ug=
1623github.com/prometheus/common v0.30.0/go.mod h1:vu+V0TpY+O6vW9J44gczi3Ap/oXXR10b+M/gUGO4Hls=
1624github.com/prometheus/common/sigv4 v0.1.0 h1:qoVebwtwwEhS85Czm2dSROY5fTo2PAPEVdDeppTwGX4=
1625github.com/prometheus/common/sigv4 v0.1.0/go.mod h1:2Jkxxk9yYvCkE5G1sQT7GuEXm57JrvHu9k5YwTjsNtI=
1234github.com/prometheus/exporter-toolkit v0.5.0/go.mod h1:OCkM4805mmisBhLmVFw858QYi3v0wKdY6/UxrT0pZVg=1626github.com/prometheus/exporter-toolkit v0.5.0/go.mod h1:OCkM4805mmisBhLmVFw858QYi3v0wKdY6/UxrT0pZVg=
1235github.com/prometheus/exporter-toolkit v0.5.1/go.mod h1:OCkM4805mmisBhLmVFw858QYi3v0wKdY6/UxrT0pZVg=1627github.com/prometheus/exporter-toolkit v0.5.1/go.mod h1:OCkM4805mmisBhLmVFw858QYi3v0wKdY6/UxrT0pZVg=
1628github.com/prometheus/exporter-toolkit v0.6.0/go.mod h1:ZUBIj498ePooX9t/2xtDjeQYwvRpiPP2lh5u4iblj2g=
1629github.com/prometheus/exporter-toolkit v0.6.1 h1:Aqk75wQD92N9CqmTlZwjKwq6272nOGrWIbc8Z7+xQO0=
1630github.com/prometheus/exporter-toolkit v0.6.1/go.mod h1:ZUBIj498ePooX9t/2xtDjeQYwvRpiPP2lh5u4iblj2g=
1236github.com/prometheus/node_exporter v1.0.0-rc.0.0.20200428091818-01054558c289 h1:dTUS1vaLWq+Y6XKOTnrFpoVsQKLCbCp1OLj24TDi7oM=1631github.com/prometheus/node_exporter v1.0.0-rc.0.0.20200428091818-01054558c289 h1:dTUS1vaLWq+Y6XKOTnrFpoVsQKLCbCp1OLj24TDi7oM=
1237github.com/prometheus/node_exporter v1.0.0-rc.0.0.20200428091818-01054558c289/go.mod h1:FGbBv5OPKjch+jNUJmEQpMZytIdyW0NdBtWFcfSKusc=1632github.com/prometheus/node_exporter v1.0.0-rc.0.0.20200428091818-01054558c289/go.mod h1:FGbBv5OPKjch+jNUJmEQpMZytIdyW0NdBtWFcfSKusc=
1633github.com/prometheus/procfs v0.0.0-20180125133057-cb4147076ac7/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk=
1238github.com/prometheus/procfs v0.0.0-20180612222113-7d6f385de8be/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk=1634github.com/prometheus/procfs v0.0.0-20180612222113-7d6f385de8be/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk=
1239github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk=1635github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk=
1240github.com/prometheus/procfs v0.0.0-20181204211112-1dc9a6cbc91a/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk=1636github.com/prometheus/procfs v0.0.0-20181204211112-1dc9a6cbc91a/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk=
1241github.com/prometheus/procfs v0.0.0-20190117184657-bf6a532e95b1/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk=1637github.com/prometheus/procfs v0.0.0-20190117184657-bf6a532e95b1/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk=
1242github.com/prometheus/procfs v0.0.0-20190425082905-87a4384529e0/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA=1638github.com/prometheus/procfs v0.0.0-20190425082905-87a4384529e0/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA=
1243github.com/prometheus/procfs v0.0.0-20190507164030-5867b95ac084/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA=1639github.com/prometheus/procfs v0.0.0-20190507164030-5867b95ac084/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA=
1640github.com/prometheus/procfs v0.0.0-20190522114515-bc1a522cf7b1/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA=
1244github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA=1641github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA=
1245github.com/prometheus/procfs v0.0.3/go.mod h1:4A/X28fw3Fc593LaREMrKMqOKvUAntwMDaekg4FpcdQ=1642github.com/prometheus/procfs v0.0.3/go.mod h1:4A/X28fw3Fc593LaREMrKMqOKvUAntwMDaekg4FpcdQ=
1246github.com/prometheus/procfs v0.0.5/go.mod h1:4A/X28fw3Fc593LaREMrKMqOKvUAntwMDaekg4FpcdQ=1643github.com/prometheus/procfs v0.0.5/go.mod h1:4A/X28fw3Fc593LaREMrKMqOKvUAntwMDaekg4FpcdQ=
@@ -1249,10 +1646,12 @@ github.com/prometheus/procfs v0.0.8/go.mod h1:7Qr8sr6344vo1JqZ6HhLceV9o3AJ1Ff+Gx
1249github.com/prometheus/procfs v0.0.11/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4OA4YeYWdaU=1646github.com/prometheus/procfs v0.0.11/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4OA4YeYWdaU=
1250github.com/prometheus/procfs v0.1.3/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4OA4YeYWdaU=1647github.com/prometheus/procfs v0.1.3/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4OA4YeYWdaU=
1251github.com/prometheus/procfs v0.2.0/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4OA4YeYWdaU=1648github.com/prometheus/procfs v0.2.0/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4OA4YeYWdaU=
1252github.com/prometheus/procfs v0.6.0 h1:mxy4L2jP6qMonqmq+aTtOx1ifVWUgG/TAmntgbh3xv4=
1253github.com/prometheus/procfs v0.6.0/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA=1649github.com/prometheus/procfs v0.6.0/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA=
1650github.com/prometheus/procfs v0.7.3 h1:4jVXhlkAyzOScmCkXBTOLRLTz8EeU+eyjrwB/EPq0VU=
1651github.com/prometheus/procfs v0.7.3/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA=
1254github.com/prometheus/prometheus v0.0.0-20180315085919-58e2a31db8de/go.mod h1:oAIUtOny2rjMX0OWN5vPR5/q/twIROJvdqnQKDdil/s=1652github.com/prometheus/prometheus v0.0.0-20180315085919-58e2a31db8de/go.mod h1:oAIUtOny2rjMX0OWN5vPR5/q/twIROJvdqnQKDdil/s=
1255github.com/prometheus/prometheus v0.0.0-20190818123050-43acd0e2e93f/go.mod h1:rMTlmxGCvukf2KMu3fClMDKLLoJ5hl61MhcJ7xKakf0=1653github.com/prometheus/prometheus v0.0.0-20190818123050-43acd0e2e93f/go.mod h1:rMTlmxGCvukf2KMu3fClMDKLLoJ5hl61MhcJ7xKakf0=
1654github.com/prometheus/prometheus v0.0.0-20200609090129-a6600f564e3c/go.mod h1:S5n0C6tSgdnwWshBUceRx5G1OsjLv/EeZ9t3wIfEtsY=
1256github.com/prometheus/prometheus v1.8.2-0.20200107122003-4708915ac6ef/go.mod h1:7U90zPoLkWjEIQcy/rweQla82OCTUzxVHE51G3OhJbI=1655github.com/prometheus/prometheus v1.8.2-0.20200107122003-4708915ac6ef/go.mod h1:7U90zPoLkWjEIQcy/rweQla82OCTUzxVHE51G3OhJbI=
1257github.com/prometheus/prometheus v1.8.2-0.20200213233353-b90be6f32a33/go.mod h1:fkIPPkuZnkXyopYHmXPxf9rgiPkVgZCN8w9o8+UgBlY=1656github.com/prometheus/prometheus v1.8.2-0.20200213233353-b90be6f32a33/go.mod h1:fkIPPkuZnkXyopYHmXPxf9rgiPkVgZCN8w9o8+UgBlY=
1258github.com/prometheus/prometheus v1.8.2-0.20200707115909-30505a202a4c/go.mod h1:/kMSPIRsxr/apyHxlzYMdFnaPXUXXqILU5uzIoNhOvc=1657github.com/prometheus/prometheus v1.8.2-0.20200707115909-30505a202a4c/go.mod h1:/kMSPIRsxr/apyHxlzYMdFnaPXUXXqILU5uzIoNhOvc=
@@ -1267,9 +1666,10 @@ github.com/prometheus/prometheus v1.8.2-0.20201119181812-c8f810083d3f/go.mod h1:
1267github.com/prometheus/prometheus v1.8.2-0.20210215121130-6f488061dfb4/go.mod h1:NAYujktP0dmSSpeV155mtnwX2pndLpVVK/Ps68R01TA=1666github.com/prometheus/prometheus v1.8.2-0.20210215121130-6f488061dfb4/go.mod h1:NAYujktP0dmSSpeV155mtnwX2pndLpVVK/Ps68R01TA=
1268github.com/prometheus/prometheus v1.8.2-0.20210315220929-1cba1741828b/go.mod h1:MS/bpdil77lPbfQeKk6OqVQ9OLnpN3Rszd0hka0EOWE=1667github.com/prometheus/prometheus v1.8.2-0.20210315220929-1cba1741828b/go.mod h1:MS/bpdil77lPbfQeKk6OqVQ9OLnpN3Rszd0hka0EOWE=
1269github.com/prometheus/prometheus v1.8.2-0.20210324152458-c7a62b95cea0/go.mod h1:sf7j/iAbhZahjeC0s3wwMmp5dksrJ/Za1UKdR+j6Hmw=1668github.com/prometheus/prometheus v1.8.2-0.20210324152458-c7a62b95cea0/go.mod h1:sf7j/iAbhZahjeC0s3wwMmp5dksrJ/Za1UKdR+j6Hmw=
1270github.com/prometheus/prometheus v1.8.2-0.20210421143221-52df5ef7a3be/go.mod h1:WbIKsp4vWCoPHis5qQfd0QimLOR7qe79roXN5O8U8bs=1669github.com/prometheus/prometheus v1.8.2-0.20210519120135-d95b0972505f/go.mod h1:yUzDYX0hIYu5YVHmpj/JXLOclB6QcLNDgmagD3FUnSU=
1271github.com/prometheus/prometheus v1.8.2-0.20210510213326-e313ffa8abf6 h1:VXojCB7PbAsMMD0udzYwR2s8Uyun7jmBaRN6Gq5+HVg=1670github.com/prometheus/prometheus v1.8.2-0.20210720123808-b1ed4a0a663d/go.mod h1:o6V+A4iPEWjLG0rSEKeev3OzfBZwP+ay+4iS4dkfLI4=
1272github.com/prometheus/prometheus v1.8.2-0.20210510213326-e313ffa8abf6/go.mod h1:yUzDYX0hIYu5YVHmpj/JXLOclB6QcLNDgmagD3FUnSU=1671github.com/prometheus/prometheus v1.8.2-0.20210914090109-37468d88dce8 h1:U8ZpFGP11pZi0ZavWWGeAqck3dVT9AY6zbr4fbBftjA=
1672github.com/prometheus/prometheus v1.8.2-0.20210914090109-37468d88dce8/go.mod h1:02eURgmH1YsgJ2TtWNUGMQMCnLxmtHH9nOgvYxIjGAo=
1273github.com/prometheus/tsdb v0.7.1/go.mod h1:qhTCs0VvXwvX/y3TZrWD7rabWM+ijKTux40TwIPHuXU=1673github.com/prometheus/tsdb v0.7.1/go.mod h1:qhTCs0VvXwvX/y3TZrWD7rabWM+ijKTux40TwIPHuXU=
1274github.com/rafaeljusto/redigomock v0.0.0-20190202135759-257e089e14a1/go.mod h1:JaY6n2sDr+z2WTsXkOmNRUfDy6FN0L6Nk7x06ndm4tY=1674github.com/rafaeljusto/redigomock v0.0.0-20190202135759-257e089e14a1/go.mod h1:JaY6n2sDr+z2WTsXkOmNRUfDy6FN0L6Nk7x06ndm4tY=
1275github.com/rcrowley/go-metrics v0.0.0-20181016184325-3113b8401b8a/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4=1675github.com/rcrowley/go-metrics v0.0.0-20181016184325-3113b8401b8a/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4=
@@ -1280,13 +1680,15 @@ github.com/rogpeppe/go-internal v1.1.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFR
1280github.com/rogpeppe/go-internal v1.2.2/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4=1680github.com/rogpeppe/go-internal v1.2.2/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4=
1281github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4=1681github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4=
1282github.com/rs/cors v1.6.0/go.mod h1:gFx+x8UowdsKA9AchylcLynDq+nNFfI8FkUZdN/jGCU=1682github.com/rs/cors v1.6.0/go.mod h1:gFx+x8UowdsKA9AchylcLynDq+nNFfI8FkUZdN/jGCU=
1283github.com/rs/cors v1.7.0 h1:+88SsELBHx5r+hZ8TCkggzSstaWNbDvThkVK8H6f9ik=
1284github.com/rs/cors v1.7.0/go.mod h1:gFx+x8UowdsKA9AchylcLynDq+nNFfI8FkUZdN/jGCU=1683github.com/rs/cors v1.7.0/go.mod h1:gFx+x8UowdsKA9AchylcLynDq+nNFfI8FkUZdN/jGCU=
1684github.com/rs/cors v1.8.0 h1:P2KMzcFwrPoSjkF1WLRPsp3UMLyql8L4v9hQpVeK5so=
1685github.com/rs/cors v1.8.0/go.mod h1:EBwu+T5AvHOcXwvZIkQFjUN6s8Czyqw12GL/Y0tUyRM=
1285github.com/rs/xid v1.2.1 h1:mhH9Nq+C1fY2l1XIpgxIiUOfNpRBYH1kKcr+qfKgjRc=1686github.com/rs/xid v1.2.1 h1:mhH9Nq+C1fY2l1XIpgxIiUOfNpRBYH1kKcr+qfKgjRc=
1286github.com/rs/xid v1.2.1/go.mod h1:+uKXf+4Djp6Md1KODXJxgGQPKngRmWyn10oCKFzNHOQ=1687github.com/rs/xid v1.2.1/go.mod h1:+uKXf+4Djp6Md1KODXJxgGQPKngRmWyn10oCKFzNHOQ=
1287github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=1688github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
1288github.com/ryanuber/columnize v0.0.0-20160712163229-9b3edd62028f/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts=1689github.com/ryanuber/columnize v0.0.0-20160712163229-9b3edd62028f/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts=
1289github.com/ryanuber/columnize v2.1.0+incompatible/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts=1690github.com/ryanuber/columnize v2.1.0+incompatible/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts=
1691github.com/safchain/ethtool v0.0.0-20190326074333-42ed695e3de8/go.mod h1:Z0q5wiBQGYcxhMZ6gUqHn6pYNLypFAvaL3UvgZLR0U4=
1290github.com/samuel/go-zookeeper v0.0.0-20190810000440-0ceca61e4d75/go.mod h1:gi+0XIa01GRL2eRQVjQkKGqKF3SF9vZR/HnPullcV2E=1692github.com/samuel/go-zookeeper v0.0.0-20190810000440-0ceca61e4d75/go.mod h1:gi+0XIa01GRL2eRQVjQkKGqKF3SF9vZR/HnPullcV2E=
1291github.com/samuel/go-zookeeper v0.0.0-20190923202752-2cc03de413da/go.mod h1:gi+0XIa01GRL2eRQVjQkKGqKF3SF9vZR/HnPullcV2E=1693github.com/samuel/go-zookeeper v0.0.0-20190923202752-2cc03de413da/go.mod h1:gi+0XIa01GRL2eRQVjQkKGqKF3SF9vZR/HnPullcV2E=
1292github.com/samuel/go-zookeeper v0.0.0-20200724154423-2164a8ac840e/go.mod h1:gi+0XIa01GRL2eRQVjQkKGqKF3SF9vZR/HnPullcV2E=1694github.com/samuel/go-zookeeper v0.0.0-20200724154423-2164a8ac840e/go.mod h1:gi+0XIa01GRL2eRQVjQkKGqKF3SF9vZR/HnPullcV2E=
@@ -1299,6 +1701,7 @@ github.com/scaleway/scaleway-sdk-go v1.0.0-beta.7.0.20210223165440-c65ae3540d44
1299github.com/scaleway/scaleway-sdk-go v1.0.0-beta.7.0.20210223165440-c65ae3540d44/go.mod h1:CJJ5VAbozOl0yEw7nHB9+7BXTJbIn6h7W+f6Gau5IP8=1701github.com/scaleway/scaleway-sdk-go v1.0.0-beta.7.0.20210223165440-c65ae3540d44/go.mod h1:CJJ5VAbozOl0yEw7nHB9+7BXTJbIn6h7W+f6Gau5IP8=
1300github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529 h1:nn5Wsu0esKSJiIVhscUtVbo7ada43DJhG55ua/hjS5I=1702github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529 h1:nn5Wsu0esKSJiIVhscUtVbo7ada43DJhG55ua/hjS5I=
1301github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529/go.mod h1:DxrIzT+xaE7yg65j358z/aeFdxmN0P9QXhEzd20vsDc=1703github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529/go.mod h1:DxrIzT+xaE7yg65j358z/aeFdxmN0P9QXhEzd20vsDc=
1704github.com/seccomp/libseccomp-golang v0.9.1/go.mod h1:GbW5+tmTXfcxTToHLXlScSlAvWlF4P2Ca7zGrPiEpWo=
1302github.com/segmentio/fasthash v0.0.0-20180216231524-a72b379d632e h1:uO75wNGioszjmIzcY/tvdDYKRLVvzggtAmmJkn9j4GQ=1705github.com/segmentio/fasthash v0.0.0-20180216231524-a72b379d632e h1:uO75wNGioszjmIzcY/tvdDYKRLVvzggtAmmJkn9j4GQ=
1303github.com/segmentio/fasthash v0.0.0-20180216231524-a72b379d632e/go.mod h1:tm/wZFQ8e24NYaBGIlnO2WGCAi67re4HHuOm0sftE/M=1706github.com/segmentio/fasthash v0.0.0-20180216231524-a72b379d632e/go.mod h1:tm/wZFQ8e24NYaBGIlnO2WGCAi67re4HHuOm0sftE/M=
1304github.com/segmentio/kafka-go v0.1.0/go.mod h1:X6itGqS9L4jDletMsxZ7Dz+JFWxM6JHfPOCvTvk+EJo=1707github.com/segmentio/kafka-go v0.1.0/go.mod h1:X6itGqS9L4jDletMsxZ7Dz+JFWxM6JHfPOCvTvk+EJo=
@@ -1318,24 +1721,29 @@ github.com/shurcooL/vfsgen v0.0.0-20200627165143-92b8a710ab6c/go.mod h1:TrYk7fJV
1318github.com/shurcooL/vfsgen v0.0.0-20200824052919-0d455de96546 h1:pXY9qYc/MP5zdvqWEUH6SjNiu7VhSjuVFTFiTcphaLU=1721github.com/shurcooL/vfsgen v0.0.0-20200824052919-0d455de96546 h1:pXY9qYc/MP5zdvqWEUH6SjNiu7VhSjuVFTFiTcphaLU=
1319github.com/shurcooL/vfsgen v0.0.0-20200824052919-0d455de96546/go.mod h1:TrYk7fJVaAttu97ZZKrO9UbRa8izdowaMIZcxYMbVaw=1722github.com/shurcooL/vfsgen v0.0.0-20200824052919-0d455de96546/go.mod h1:TrYk7fJVaAttu97ZZKrO9UbRa8izdowaMIZcxYMbVaw=
1320github.com/siebenmann/go-kstat v0.0.0-20160321171754-d34789b79745/go.mod h1:G81aIFAMS9ECrwBYR9YxhlPjWgrItd+Kje78O6+uqm8=1723github.com/siebenmann/go-kstat v0.0.0-20160321171754-d34789b79745/go.mod h1:G81aIFAMS9ECrwBYR9YxhlPjWgrItd+Kje78O6+uqm8=
1724github.com/sirupsen/logrus v1.0.4-0.20170822132746-89742aefa4b2/go.mod h1:pMByvHTf9Beacp5x1UXfOR9xyW/9antXMhjMPG0dEzc=
1321github.com/sirupsen/logrus v1.0.5/go.mod h1:pMByvHTf9Beacp5x1UXfOR9xyW/9antXMhjMPG0dEzc=1725github.com/sirupsen/logrus v1.0.5/go.mod h1:pMByvHTf9Beacp5x1UXfOR9xyW/9antXMhjMPG0dEzc=
1726github.com/sirupsen/logrus v1.0.6/go.mod h1:pMByvHTf9Beacp5x1UXfOR9xyW/9antXMhjMPG0dEzc=
1322github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo=1727github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo=
1323github.com/sirupsen/logrus v1.4.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo=1728github.com/sirupsen/logrus v1.4.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo=
1324github.com/sirupsen/logrus v1.4.1/go.mod h1:ni0Sbl8bgC9z8RoU9G6nDWqqs/fq4eDPysMBDgk/93Q=1729github.com/sirupsen/logrus v1.4.1/go.mod h1:ni0Sbl8bgC9z8RoU9G6nDWqqs/fq4eDPysMBDgk/93Q=
1325github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE=1730github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE=
1326github.com/sirupsen/logrus v1.5.0/go.mod h1:+F7Ogzej0PZc/94MaYx/nvG9jOFMD2osvC3s+Squfpo=1731github.com/sirupsen/logrus v1.5.0/go.mod h1:+F7Ogzej0PZc/94MaYx/nvG9jOFMD2osvC3s+Squfpo=
1327github.com/sirupsen/logrus v1.6.0/go.mod h1:7uNnSEd1DgxDLC74fIahvMZmmYsHGZGEOFrfsX/uA88=1732github.com/sirupsen/logrus v1.6.0/go.mod h1:7uNnSEd1DgxDLC74fIahvMZmmYsHGZGEOFrfsX/uA88=
1328github.com/sirupsen/logrus v1.7.0 h1:ShrD1U9pZB12TX0cVy0DtePoCH97K8EtX+mg7ZARUtM=
1329github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0=1733github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0=
1734github.com/sirupsen/logrus v1.8.1 h1:dJKuHgqk1NNQlqoA6BTlM1Wf9DOH3NBjQyu0h9+AZZE=
1735github.com/sirupsen/logrus v1.8.1/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0=
1330github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc=1736github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc=
1331github.com/smartystreets/assertions v1.0.1 h1:voD4ITNjPL5jjBfgR/r8fPIIBrliWrWHeiJApdr3r4w=1737github.com/smartystreets/assertions v1.0.1 h1:voD4ITNjPL5jjBfgR/r8fPIIBrliWrWHeiJApdr3r4w=
1332github.com/smartystreets/assertions v1.0.1/go.mod h1:kHHU4qYBaI3q23Pp3VPrmWhuIUrLW/7eUrw0BU5VaoM=1738github.com/smartystreets/assertions v1.0.1/go.mod h1:kHHU4qYBaI3q23Pp3VPrmWhuIUrLW/7eUrw0BU5VaoM=
1333github.com/smartystreets/goconvey v0.0.0-20190330032615-68dc04aab96a/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA=1739github.com/smartystreets/goconvey v0.0.0-20190330032615-68dc04aab96a/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA=
1334github.com/smartystreets/goconvey v1.6.4 h1:fv0U8FUIMPNf1L9lnHLvLhgicrIVChEkdzIKYqbNC9s=1740github.com/smartystreets/goconvey v1.6.4 h1:fv0U8FUIMPNf1L9lnHLvLhgicrIVChEkdzIKYqbNC9s=
1335github.com/smartystreets/goconvey v1.6.4/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA=1741github.com/smartystreets/goconvey v1.6.4/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA=
1742github.com/snowflakedb/gosnowflake v1.3.4/go.mod h1:NsRq2QeiMUuoNUJhp5Q6xGC4uBrsS9g6LwZVEkTWgsE=
1336github.com/soheilhy/cmux v0.1.4/go.mod h1:IM3LyeVVIOuxMH7sFAkER9+bJ4dT7Ms6E4xg4kGIyLM=1743github.com/soheilhy/cmux v0.1.4/go.mod h1:IM3LyeVVIOuxMH7sFAkER9+bJ4dT7Ms6E4xg4kGIyLM=
1337github.com/soheilhy/cmux v0.1.5-0.20210205191134-5ec6847320e5 h1:GJTW+uNMIV1RKwox+T4aN0/sQlYRg78uHZf2H0aBcDw=
1338github.com/soheilhy/cmux v0.1.5-0.20210205191134-5ec6847320e5/go.mod h1:T7TcVDs9LWfQgPlPsdngu6I6QIoyIFZDDC6sNE1GqG0=1744github.com/soheilhy/cmux v0.1.5-0.20210205191134-5ec6847320e5/go.mod h1:T7TcVDs9LWfQgPlPsdngu6I6QIoyIFZDDC6sNE1GqG0=
1745github.com/soheilhy/cmux v0.1.5 h1:jjzc5WVemNEDTLwv9tlmemhC73tI08BNOIGwBOo10Js=
1746github.com/soheilhy/cmux v0.1.5/go.mod h1:T7TcVDs9LWfQgPlPsdngu6I6QIoyIFZDDC6sNE1GqG0=
1339github.com/sony/gobreaker v0.4.1 h1:oMnRNZXX5j85zso6xCPRNPtmAycat+WcoKbklScLDgQ=1747github.com/sony/gobreaker v0.4.1 h1:oMnRNZXX5j85zso6xCPRNPtmAycat+WcoKbklScLDgQ=
1340github.com/sony/gobreaker v0.4.1/go.mod h1:ZKptC7FHNvhBz7dN2LGjPVBz2sZJmc0/PkyDJOjmxWY=1748github.com/sony/gobreaker v0.4.1/go.mod h1:ZKptC7FHNvhBz7dN2LGjPVBz2sZJmc0/PkyDJOjmxWY=
1341github.com/soundcloud/go-runit v0.0.0-20150630195641-06ad41a06c4a/go.mod h1:LeFCbQYJ3KJlPs/FvPz2dy1tkpxyeNESVyCNNzRXFR0=1749github.com/soundcloud/go-runit v0.0.0-20150630195641-06ad41a06c4a/go.mod h1:LeFCbQYJ3KJlPs/FvPz2dy1tkpxyeNESVyCNNzRXFR0=
@@ -1343,26 +1751,39 @@ github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasO
1343github.com/spaolacci/murmur3 v1.1.0 h1:7c1g84S4BPRrfL5Xrdp6fOJ206sU9y293DDHaoy0bLI=1751github.com/spaolacci/murmur3 v1.1.0 h1:7c1g84S4BPRrfL5Xrdp6fOJ206sU9y293DDHaoy0bLI=
1344github.com/spaolacci/murmur3 v1.1.0/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA=1752github.com/spaolacci/murmur3 v1.1.0/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA=
1345github.com/spf13/afero v1.1.2/go.mod h1:j4pytiNVoe2o6bmDsKpLACNPDBIoEAkihy7loJ1B0CQ=1753github.com/spf13/afero v1.1.2/go.mod h1:j4pytiNVoe2o6bmDsKpLACNPDBIoEAkihy7loJ1B0CQ=
1346github.com/spf13/afero v1.2.2 h1:5jhuqJyZCZf2JRofRvN/nIFgIWNzPa3/Vz8mYylgbWc=
1347github.com/spf13/afero v1.2.2/go.mod h1:9ZxEEn6pIJ8Rxe320qSDBk6AsU0r9pR7Q4OcevTdifk=1754github.com/spf13/afero v1.2.2/go.mod h1:9ZxEEn6pIJ8Rxe320qSDBk6AsU0r9pR7Q4OcevTdifk=
1755github.com/spf13/afero v1.3.3/go.mod h1:5KUK8ByomD5Ti5Artl0RtHeI5pTF7MIDuXL3yY520V4=
1756github.com/spf13/afero v1.3.4 h1:8q6vk3hthlpb2SouZcnBVKboxWQWMDNF38bwholZrJc=
1757github.com/spf13/afero v1.3.4/go.mod h1:Ai8FlHk4v/PARR026UzYexafAt9roJ7LcLMAmO6Z93I=
1348github.com/spf13/cast v1.3.0/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE=1758github.com/spf13/cast v1.3.0/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE=
1759github.com/spf13/cobra v0.0.2-0.20171109065643-2da4a54c5cee/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ=
1349github.com/spf13/cobra v0.0.3/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ=1760github.com/spf13/cobra v0.0.3/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ=
1761github.com/spf13/cobra v1.0.0/go.mod h1:/6GTrnGXV9HjY+aR4k0oJ5tcvakLuG6EuKReYlHNrgE=
1350github.com/spf13/cobra v1.1.1/go.mod h1:WnodtKOvamDL/PwE2M4iKs8aMDBZ5Q5klgD3qfVJQMI=1762github.com/spf13/cobra v1.1.1/go.mod h1:WnodtKOvamDL/PwE2M4iKs8aMDBZ5Q5klgD3qfVJQMI=
1763github.com/spf13/cobra v1.1.3/go.mod h1:pGADOWyqRD/YMrPZigI/zbliZ2wVD/23d+is3pSWzOo=
1351github.com/spf13/jwalterweatherman v1.0.0/go.mod h1:cQK4TGJAtQXfYWX+Ddv3mKDzgVb68N+wFjFa4jdeBTo=1764github.com/spf13/jwalterweatherman v1.0.0/go.mod h1:cQK4TGJAtQXfYWX+Ddv3mKDzgVb68N+wFjFa4jdeBTo=
1352github.com/spf13/pflag v0.0.0-20170130214245-9ff6c6923cff/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4=1765github.com/spf13/pflag v0.0.0-20170130214245-9ff6c6923cff/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4=
1766github.com/spf13/pflag v1.0.1-0.20171106142849-4c012f6dcd95/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4=
1353github.com/spf13/pflag v1.0.1/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4=1767github.com/spf13/pflag v1.0.1/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4=
1354github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4=1768github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4=
1355github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA=1769github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA=
1356github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg=1770github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg=
1771github.com/spf13/viper v1.4.0/go.mod h1:PTJ7Z/lr49W6bUbkmS1V3by4uWynFiR9p7+dSq/yZzE=
1357github.com/spf13/viper v1.7.0/go.mod h1:8WkrPz2fc9jxqZNCJI/76HCieCp4Q8HaLFoCha5qpdg=1772github.com/spf13/viper v1.7.0/go.mod h1:8WkrPz2fc9jxqZNCJI/76HCieCp4Q8HaLFoCha5qpdg=
1773github.com/stefanberger/go-pkcs11uri v0.0.0-20201008174630-78d3cae3a980/go.mod h1:AO3tvPzVZ/ayst6UlUKUv6rcPQInYe3IknH3jYhAKu8=
1774github.com/stoewer/go-strcase v1.2.0/go.mod h1:IBiWB2sKIp3wVVQ3Y035++gc+knqhUQag1KpM8ahLw8=
1358github.com/streadway/amqp v0.0.0-20190404075320-75d898a42a94/go.mod h1:AZpEONHx3DKn8O/DFsRAY58/XVQiIPMTMB1SddzLXVw=1775github.com/streadway/amqp v0.0.0-20190404075320-75d898a42a94/go.mod h1:AZpEONHx3DKn8O/DFsRAY58/XVQiIPMTMB1SddzLXVw=
1359github.com/streadway/amqp v0.0.0-20190827072141-edfb9018d271/go.mod h1:AZpEONHx3DKn8O/DFsRAY58/XVQiIPMTMB1SddzLXVw=1776github.com/streadway/amqp v0.0.0-20190827072141-edfb9018d271/go.mod h1:AZpEONHx3DKn8O/DFsRAY58/XVQiIPMTMB1SddzLXVw=
1777github.com/streadway/amqp v1.0.0/go.mod h1:AZpEONHx3DKn8O/DFsRAY58/XVQiIPMTMB1SddzLXVw=
1360github.com/streadway/handy v0.0.0-20190108123426-d5acb3125c2a/go.mod h1:qNTQ5P5JnDBl6z3cMAg/SywNDC5ABu5ApDIw6lUbRmI=1778github.com/streadway/handy v0.0.0-20190108123426-d5acb3125c2a/go.mod h1:qNTQ5P5JnDBl6z3cMAg/SywNDC5ABu5ApDIw6lUbRmI=
1779github.com/streadway/handy v0.0.0-20200128134331-0f66f006fb2e/go.mod h1:qNTQ5P5JnDBl6z3cMAg/SywNDC5ABu5ApDIw6lUbRmI=
1780github.com/stretchr/objx v0.0.0-20180129172003-8a3f7159479f/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
1361github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=1781github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
1362github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=1782github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
1363github.com/stretchr/objx v0.2.0 h1:Hbg2NidpLE8veEBkEZTL3CvlkUIVzuU9jDplZO54c48=1783github.com/stretchr/objx v0.2.0 h1:Hbg2NidpLE8veEBkEZTL3CvlkUIVzuU9jDplZO54c48=
1364github.com/stretchr/objx v0.2.0/go.mod h1:qt09Ya8vawLte6SNmTgCsAVtYtaKzEcn8ATUoHMkEqE=1784github.com/stretchr/objx v0.2.0/go.mod h1:qt09Ya8vawLte6SNmTgCsAVtYtaKzEcn8ATUoHMkEqE=
1365github.com/stretchr/testify v0.0.0-20151208002404-e3a8ff8ce365/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=1785github.com/stretchr/testify v0.0.0-20151208002404-e3a8ff8ce365/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
1786github.com/stretchr/testify v0.0.0-20180303142811-b89eecf5ca5d/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
1366github.com/stretchr/testify v1.2.0/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=1787github.com/stretchr/testify v1.2.0/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
1367github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=1788github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
1368github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=1789github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
@@ -1372,6 +1793,14 @@ github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/
1372github.com/stretchr/testify v1.7.0 h1:nwc3DEeHmmLAfoZucVR881uASk0Mfjw8xYJ99tb5CcY=1793github.com/stretchr/testify v1.7.0 h1:nwc3DEeHmmLAfoZucVR881uASk0Mfjw8xYJ99tb5CcY=
1373github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=1794github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
1374github.com/subosito/gotenv v1.2.0/go.mod h1:N0PQaV/YGNqwC0u51sEeR/aUtSLEXKX9iv69rRypqCw=1795github.com/subosito/gotenv v1.2.0/go.mod h1:N0PQaV/YGNqwC0u51sEeR/aUtSLEXKX9iv69rRypqCw=
1796github.com/syndtr/gocapability v0.0.0-20170704070218-db04d3cc01c8/go.mod h1:hkRG7XYTFWNJGYcbNJQlaLq0fg1yr4J4t/NcTQtrfww=
1797github.com/syndtr/gocapability v0.0.0-20180916011248-d98352740cb2/go.mod h1:hkRG7XYTFWNJGYcbNJQlaLq0fg1yr4J4t/NcTQtrfww=
1798github.com/syndtr/gocapability v0.0.0-20200815063812-42c35b437635/go.mod h1:hkRG7XYTFWNJGYcbNJQlaLq0fg1yr4J4t/NcTQtrfww=
1799github.com/tchap/go-patricia v2.2.6+incompatible/go.mod h1:bmLyhP68RS6kStMGxByiQ23RP/odRBOTVjwp2cDyi6I=
1800github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.194/go.mod h1:7sCQWVkxcsR38nffDW057DRGk8mUjK1Ing/EFOK8s8Y=
1801github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/kms v1.0.194/go.mod h1:yrBKWhChnDqNz1xuXdSbWXG56XawEq0G5j1lg4VwBD4=
1802github.com/tencentyun/cos-go-sdk-v5 v0.7.31 h1:NujkkOKMJ3IFs1+trCwXOKRCIPQ8qI5Lxul9JkhTg6M=
1803github.com/tencentyun/cos-go-sdk-v5 v0.7.31/go.mod h1:4E4+bQ2gBVJcgEC9Cufwylio4mXOct2iu05WjgEBx1o=
1375github.com/thanos-io/thanos v0.8.1-0.20200109203923-552ffa4c1a0d/go.mod h1:usT/TxtJQ7DzinTt+G9kinDQmRS5sxwu0unVKZ9vdcw=1804github.com/thanos-io/thanos v0.8.1-0.20200109203923-552ffa4c1a0d/go.mod h1:usT/TxtJQ7DzinTt+G9kinDQmRS5sxwu0unVKZ9vdcw=
1376github.com/thanos-io/thanos v0.13.1-0.20200731083140-69b87607decf/go.mod h1:G8caR6G7pSDreRDvFm9wFuyjEBztmr8Ag3kBYpa/fEc=1805github.com/thanos-io/thanos v0.13.1-0.20200731083140-69b87607decf/go.mod h1:G8caR6G7pSDreRDvFm9wFuyjEBztmr8Ag3kBYpa/fEc=
1377github.com/thanos-io/thanos v0.13.1-0.20200807203500-9b578afb4763/go.mod h1:KyW0a93tsh7v4hXAwo2CVAIRYuZT1Kkf4e04gisQjAg=1806github.com/thanos-io/thanos v0.13.1-0.20200807203500-9b578afb4763/go.mod h1:KyW0a93tsh7v4hXAwo2CVAIRYuZT1Kkf4e04gisQjAg=
@@ -1382,45 +1811,71 @@ github.com/thanos-io/thanos v0.13.1-0.20210204123931-82545cdd16fe/go.mod h1:ZLDG
1382github.com/thanos-io/thanos v0.13.1-0.20210224074000-659446cab117/go.mod h1:kdqFpzdkveIKpNNECVJd75RPvgsAifQgJymwCdfev1w=1811github.com/thanos-io/thanos v0.13.1-0.20210224074000-659446cab117/go.mod h1:kdqFpzdkveIKpNNECVJd75RPvgsAifQgJymwCdfev1w=
1383github.com/thanos-io/thanos v0.13.1-0.20210226164558-03dace0a1aa1/go.mod h1:gMCy4oCteKTT7VuXVvXLTPGzzjovX1VPE5p+HgL1hyU=1812github.com/thanos-io/thanos v0.13.1-0.20210226164558-03dace0a1aa1/go.mod h1:gMCy4oCteKTT7VuXVvXLTPGzzjovX1VPE5p+HgL1hyU=
1384github.com/thanos-io/thanos v0.13.1-0.20210401085038-d7dff0c84d17/go.mod h1:zU8KqE+6A+HksK4wiep8e/3UvCZLm+Wrw9AqZGaAm9k=1813github.com/thanos-io/thanos v0.13.1-0.20210401085038-d7dff0c84d17/go.mod h1:zU8KqE+6A+HksK4wiep8e/3UvCZLm+Wrw9AqZGaAm9k=
1385github.com/thanos-io/thanos v0.19.1-0.20210427154226-d5bd651319d2 h1:L6U4VYeIConcO4GaFOAaZW4Gwr+lIVfBprW9a0+py/k=1814github.com/thanos-io/thanos v0.19.1-0.20210729154440-aa148f8fdb28/go.mod h1:Xskx78e0CYL6w0yDNOZHGdvwQMlsuzPsePmPtbp9Xuk=
1386github.com/thanos-io/thanos v0.19.1-0.20210427154226-d5bd651319d2/go.mod h1:zvSf4uKtey4KjSVcalV/5oUuGthaTzI8kVDrO42I8II=1815github.com/thanos-io/thanos v0.19.1-0.20210923155558-c15594a03c45 h1:G7KvVtPy04sXgJyF2JfWc+2jf+18OQZNk5ZqJ95cnfc=
1816github.com/thanos-io/thanos v0.19.1-0.20210923155558-c15594a03c45/go.mod h1:lQD+AiWRbxzoCviPmxdbQIUvmTEJQPxv9n6erKMsRrQ=
1387github.com/themihai/gomemcache v0.0.0-20180902122335-24332e2d58ab h1:7ZR3hmisBWw77ZpO1/o86g+JV3VKlk3d48jopJxzTjU=1817github.com/themihai/gomemcache v0.0.0-20180902122335-24332e2d58ab h1:7ZR3hmisBWw77ZpO1/o86g+JV3VKlk3d48jopJxzTjU=
1388github.com/themihai/gomemcache v0.0.0-20180902122335-24332e2d58ab/go.mod h1:eheTFp954zcWZXCU8d0AT76ftsQOTo4DTqkN/h3k1MY=1818github.com/themihai/gomemcache v0.0.0-20180902122335-24332e2d58ab/go.mod h1:eheTFp954zcWZXCU8d0AT76ftsQOTo4DTqkN/h3k1MY=
1389github.com/tidwall/pretty v0.0.0-20180105212114-65a9db5fad51/go.mod h1:XNkn88O1ChpSDQmQeStsy+sBenx6DDtFZJxhVysOjyk=1819github.com/tidwall/pretty v0.0.0-20180105212114-65a9db5fad51/go.mod h1:XNkn88O1ChpSDQmQeStsy+sBenx6DDtFZJxhVysOjyk=
1390github.com/tidwall/pretty v1.0.0 h1:HsD+QiTn7sK6flMKIvNmpqz1qrpP3Ps6jOKIKMooyg4=1820github.com/tidwall/pretty v1.0.0 h1:HsD+QiTn7sK6flMKIvNmpqz1qrpP3Ps6jOKIKMooyg4=
1391github.com/tidwall/pretty v1.0.0/go.mod h1:XNkn88O1ChpSDQmQeStsy+sBenx6DDtFZJxhVysOjyk=1821github.com/tidwall/pretty v1.0.0/go.mod h1:XNkn88O1ChpSDQmQeStsy+sBenx6DDtFZJxhVysOjyk=
1392github.com/tinylib/msgp v1.0.2/go.mod h1:+d+yLhGm8mzTaHzB+wgMYrodPfmZrzkirds8fDWklFE=1822github.com/tinylib/msgp v1.0.2/go.mod h1:+d+yLhGm8mzTaHzB+wgMYrodPfmZrzkirds8fDWklFE=
1823github.com/tinylib/msgp v1.1.0/go.mod h1:+d+yLhGm8mzTaHzB+wgMYrodPfmZrzkirds8fDWklFE=
1393github.com/tmc/grpc-websocket-proxy v0.0.0-20170815181823-89b8d40f7ca8/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U=1824github.com/tmc/grpc-websocket-proxy v0.0.0-20170815181823-89b8d40f7ca8/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U=
1394github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U=1825github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U=
1395github.com/tmc/grpc-websocket-proxy v0.0.0-20200427203606-3cfed13b9966 h1:j6JEOq5QWFker+d7mFQYOhjTZonQ7YkLTHm56dbn+yM=
1396github.com/tmc/grpc-websocket-proxy v0.0.0-20200427203606-3cfed13b9966/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U=1826github.com/tmc/grpc-websocket-proxy v0.0.0-20200427203606-3cfed13b9966/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U=
1827github.com/tmc/grpc-websocket-proxy v0.0.0-20201229170055-e5319fda7802 h1:uruHq4dN7GR16kFc5fp3d1RIYzJW5onx8Ybykw2YQFA=
1828github.com/tmc/grpc-websocket-proxy v0.0.0-20201229170055-e5319fda7802/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U=
1397github.com/tv42/httpunix v0.0.0-20150427012821-b75d8614f926/go.mod h1:9ESjWnEqriFuLhtthL60Sar/7RFoluCcXsuvEwTV5KM=1829github.com/tv42/httpunix v0.0.0-20150427012821-b75d8614f926/go.mod h1:9ESjWnEqriFuLhtthL60Sar/7RFoluCcXsuvEwTV5KM=
1830github.com/uber-go/tally v3.3.15+incompatible/go.mod h1:YDTIBxdXyOU/sCWilKB4bgyufu1cEi0jdVnRdxvjnmU=
1831github.com/uber/athenadriver v1.1.4/go.mod h1:tQjho4NzXw55LGfSZEcETuYydpY1vtmixUabHkC1K/E=
1398github.com/uber/jaeger-client-go v2.15.0+incompatible/go.mod h1:WVhlPFC8FDjOFMMWRy2pZqQJSXxYSwNYOkTr/Z6d3Kk=1832github.com/uber/jaeger-client-go v2.15.0+incompatible/go.mod h1:WVhlPFC8FDjOFMMWRy2pZqQJSXxYSwNYOkTr/Z6d3Kk=
1399github.com/uber/jaeger-client-go v2.20.1+incompatible/go.mod h1:WVhlPFC8FDjOFMMWRy2pZqQJSXxYSwNYOkTr/Z6d3Kk=1833github.com/uber/jaeger-client-go v2.20.1+incompatible/go.mod h1:WVhlPFC8FDjOFMMWRy2pZqQJSXxYSwNYOkTr/Z6d3Kk=
1400github.com/uber/jaeger-client-go v2.22.1+incompatible/go.mod h1:WVhlPFC8FDjOFMMWRy2pZqQJSXxYSwNYOkTr/Z6d3Kk=1834github.com/uber/jaeger-client-go v2.22.1+incompatible/go.mod h1:WVhlPFC8FDjOFMMWRy2pZqQJSXxYSwNYOkTr/Z6d3Kk=
1835github.com/uber/jaeger-client-go v2.23.0+incompatible/go.mod h1:WVhlPFC8FDjOFMMWRy2pZqQJSXxYSwNYOkTr/Z6d3Kk=
1401github.com/uber/jaeger-client-go v2.23.1+incompatible/go.mod h1:WVhlPFC8FDjOFMMWRy2pZqQJSXxYSwNYOkTr/Z6d3Kk=1836github.com/uber/jaeger-client-go v2.23.1+incompatible/go.mod h1:WVhlPFC8FDjOFMMWRy2pZqQJSXxYSwNYOkTr/Z6d3Kk=
1402github.com/uber/jaeger-client-go v2.24.0+incompatible/go.mod h1:WVhlPFC8FDjOFMMWRy2pZqQJSXxYSwNYOkTr/Z6d3Kk=1837github.com/uber/jaeger-client-go v2.24.0+incompatible/go.mod h1:WVhlPFC8FDjOFMMWRy2pZqQJSXxYSwNYOkTr/Z6d3Kk=
1403github.com/uber/jaeger-client-go v2.25.0+incompatible/go.mod h1:WVhlPFC8FDjOFMMWRy2pZqQJSXxYSwNYOkTr/Z6d3Kk=1838github.com/uber/jaeger-client-go v2.25.0+incompatible/go.mod h1:WVhlPFC8FDjOFMMWRy2pZqQJSXxYSwNYOkTr/Z6d3Kk=
1404github.com/uber/jaeger-client-go v2.28.0+incompatible h1:G4QSBfvPKvg5ZM2j9MrJFdfI5iSljY/WnJqOGFao6HI=
1405github.com/uber/jaeger-client-go v2.28.0+incompatible/go.mod h1:WVhlPFC8FDjOFMMWRy2pZqQJSXxYSwNYOkTr/Z6d3Kk=1839github.com/uber/jaeger-client-go v2.28.0+incompatible/go.mod h1:WVhlPFC8FDjOFMMWRy2pZqQJSXxYSwNYOkTr/Z6d3Kk=
1840github.com/uber/jaeger-client-go v2.29.1+incompatible h1:R9ec3zO3sGpzs0abd43Y+fBZRJ9uiH6lXyR/+u6brW4=
1841github.com/uber/jaeger-client-go v2.29.1+incompatible/go.mod h1:WVhlPFC8FDjOFMMWRy2pZqQJSXxYSwNYOkTr/Z6d3Kk=
1406github.com/uber/jaeger-lib v1.5.1-0.20181102163054-1fc5c315e03c/go.mod h1:ComeNDZlWwrWnDv8aPp0Ba6+uUTzImX/AauajbLI56U=1842github.com/uber/jaeger-lib v1.5.1-0.20181102163054-1fc5c315e03c/go.mod h1:ComeNDZlWwrWnDv8aPp0Ba6+uUTzImX/AauajbLI56U=
1407github.com/uber/jaeger-lib v2.2.0+incompatible/go.mod h1:ComeNDZlWwrWnDv8aPp0Ba6+uUTzImX/AauajbLI56U=1843github.com/uber/jaeger-lib v2.2.0+incompatible/go.mod h1:ComeNDZlWwrWnDv8aPp0Ba6+uUTzImX/AauajbLI56U=
1408github.com/uber/jaeger-lib v2.4.0+incompatible/go.mod h1:ComeNDZlWwrWnDv8aPp0Ba6+uUTzImX/AauajbLI56U=1844github.com/uber/jaeger-lib v2.4.0+incompatible/go.mod h1:ComeNDZlWwrWnDv8aPp0Ba6+uUTzImX/AauajbLI56U=
1409github.com/uber/jaeger-lib v2.4.1+incompatible h1:td4jdvLcExb4cBISKIpHuGoVXh+dVKhn2Um6rjCsSsg=1845github.com/uber/jaeger-lib v2.4.1+incompatible h1:td4jdvLcExb4cBISKIpHuGoVXh+dVKhn2Um6rjCsSsg=
1410github.com/uber/jaeger-lib v2.4.1+incompatible/go.mod h1:ComeNDZlWwrWnDv8aPp0Ba6+uUTzImX/AauajbLI56U=1846github.com/uber/jaeger-lib v2.4.1+incompatible/go.mod h1:ComeNDZlWwrWnDv8aPp0Ba6+uUTzImX/AauajbLI56U=
1847github.com/ugorji/go v1.1.4/go.mod h1:uQMGLiO92mf5W77hV/PUCpI3pbzQx3CRekS0kk+RGrc=
1848github.com/ugorji/go v1.1.7/go.mod h1:kZn38zHttfInRq0xu/PH0az30d+z6vm202qpg1oXVMw=
1849github.com/ugorji/go/codec v1.1.7/go.mod h1:Ax+UKWsSmolVDwsd+7N3ZtXu+yMGCf907BLYF3GoBXY=
1850github.com/urfave/cli v0.0.0-20171014202726-7bc6a0acffa5/go.mod h1:70zkFmudgCuE/ngEzBv17Jvp/497gISqfk5gWijbERA=
1411github.com/urfave/cli v1.20.0/go.mod h1:70zkFmudgCuE/ngEzBv17Jvp/497gISqfk5gWijbERA=1851github.com/urfave/cli v1.20.0/go.mod h1:70zkFmudgCuE/ngEzBv17Jvp/497gISqfk5gWijbERA=
1412github.com/urfave/cli v1.22.1/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0=1852github.com/urfave/cli v1.22.1/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0=
1853github.com/urfave/cli v1.22.2/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0=
1854github.com/valyala/bytebufferpool v1.0.0/go.mod h1:6bBcMArwyJ5K/AmCkWv1jt77kVWyCJ6HpOuEn7z0Csc=
1855github.com/valyala/fasttemplate v1.0.1/go.mod h1:UQGH1tvbgY+Nz5t2n7tXsz52dQxojPUpymEIMZ47gx8=
1856github.com/valyala/fasttemplate v1.2.1/go.mod h1:KHLXt3tVN2HBp8eijSv/kGJopbvo7S+qRAEEKiv+SiQ=
1413github.com/vektah/gqlparser v1.1.2/go.mod h1:1ycwN7Ij5njmMkPPAOaRFY4rET2Enx7IkVv3vaXspKw=1857github.com/vektah/gqlparser v1.1.2/go.mod h1:1ycwN7Ij5njmMkPPAOaRFY4rET2Enx7IkVv3vaXspKw=
1858github.com/vishvananda/netlink v0.0.0-20181108222139-023a6dafdcdf/go.mod h1:+SR5DhBJrl6ZM7CoCKvpw5BKroDKQ+PJqOg65H/2ktk=
1859github.com/vishvananda/netlink v1.1.0/go.mod h1:cTgwzPIzzgDAYoQrMm0EdrjRUBkTqKYppBueQtXaqoE=
1860github.com/vishvananda/netlink v1.1.1-0.20201029203352-d40f9887b852/go.mod h1:twkDnbuQxJYemMlGd4JFIcuhgX83tXhKS2B/PRMpOho=
1861github.com/vishvananda/netns v0.0.0-20180720170159-13995c7128cc/go.mod h1:ZjcWmFBXmLKZu9Nxj3WKYEafiSqer2rnvPr0en9UNpI=
1862github.com/vishvananda/netns v0.0.0-20191106174202-0a2b9b5464df/go.mod h1:JP3t17pCcGlemwknint6hfoeCVQrEMVwxRLRjXpq+BU=
1863github.com/vishvananda/netns v0.0.0-20200728191858-db3c7e526aae/go.mod h1:DD4vA1DwXk04H54A1oHXtwZmA0grkVMdPxx/VGLCah0=
1414github.com/weaveworks/common v0.0.0-20200206153930-760e36ae819a/go.mod h1:6enWAqfQBFrE8X/XdJwZr8IKgh1chStuFR0mjU/UOUw=1864github.com/weaveworks/common v0.0.0-20200206153930-760e36ae819a/go.mod h1:6enWAqfQBFrE8X/XdJwZr8IKgh1chStuFR0mjU/UOUw=
1415github.com/weaveworks/common v0.0.0-20200625145055-4b1847531bc9/go.mod h1:c98fKi5B9u8OsKGiWHLRKus6ToQ1Tubeow44ECO1uxY=1865github.com/weaveworks/common v0.0.0-20200625145055-4b1847531bc9/go.mod h1:c98fKi5B9u8OsKGiWHLRKus6ToQ1Tubeow44ECO1uxY=
1416github.com/weaveworks/common v0.0.0-20200914083218-61ffdd448099/go.mod h1:hz10LOsAdzC3K/iXaKoFxOKTDRgxJl+BTGX1GY+TzO4=1866github.com/weaveworks/common v0.0.0-20200914083218-61ffdd448099/go.mod h1:hz10LOsAdzC3K/iXaKoFxOKTDRgxJl+BTGX1GY+TzO4=
1417github.com/weaveworks/common v0.0.0-20201119133501-0619918236ec/go.mod h1:ykzWac1LtVfOxdCK+jD754at1Ws9dKCwFeUzkFBffPs=1867github.com/weaveworks/common v0.0.0-20201119133501-0619918236ec/go.mod h1:ykzWac1LtVfOxdCK+jD754at1Ws9dKCwFeUzkFBffPs=
1418github.com/weaveworks/common v0.0.0-20210112142934-23c8d7fa6120/go.mod h1:ykzWac1LtVfOxdCK+jD754at1Ws9dKCwFeUzkFBffPs=1868github.com/weaveworks/common v0.0.0-20210112142934-23c8d7fa6120/go.mod h1:ykzWac1LtVfOxdCK+jD754at1Ws9dKCwFeUzkFBffPs=
1419github.com/weaveworks/common v0.0.0-20210419092856-009d1eebd624 h1:rbPhNKTbWNWchMqGWKKVYUocxiAk1ii5b8D/C49v/Lg=
1420github.com/weaveworks/common v0.0.0-20210419092856-009d1eebd624/go.mod h1:ykzWac1LtVfOxdCK+jD754at1Ws9dKCwFeUzkFBffPs=1869github.com/weaveworks/common v0.0.0-20210419092856-009d1eebd624/go.mod h1:ykzWac1LtVfOxdCK+jD754at1Ws9dKCwFeUzkFBffPs=
1870github.com/weaveworks/common v0.0.0-20210722103813-e649eff5ab4a/go.mod h1:YU9FvnS7kUnRt6HY10G+2qHkwzP3n3Vb1XsXDsJTSp8=
1871github.com/weaveworks/common v0.0.0-20210901124008-1fa3f9fa874c h1:+yzwVr4/12cUgsdjbEHq6MsKB7jWBZpZccAP6xvqTzQ=
1872github.com/weaveworks/common v0.0.0-20210901124008-1fa3f9fa874c/go.mod h1:YU9FvnS7kUnRt6HY10G+2qHkwzP3n3Vb1XsXDsJTSp8=
1421github.com/weaveworks/promrus v1.2.0 h1:jOLf6pe6/vss4qGHjXmGz4oDJQA+AOCqEL3FvvZGz7M=1873github.com/weaveworks/promrus v1.2.0 h1:jOLf6pe6/vss4qGHjXmGz4oDJQA+AOCqEL3FvvZGz7M=
1422github.com/weaveworks/promrus v1.2.0/go.mod h1:SaE82+OJ91yqjrE1rsvBWVzNZKcHYFtMUyS1+Ogs/KA=1874github.com/weaveworks/promrus v1.2.0/go.mod h1:SaE82+OJ91yqjrE1rsvBWVzNZKcHYFtMUyS1+Ogs/KA=
1423github.com/willf/bitset v1.1.3/go.mod h1:RjeCKbqT1RxIR/KWY6phxZiaY1IyutSBfGjNPySAYV4=1875github.com/willf/bitset v1.1.3/go.mod h1:RjeCKbqT1RxIR/KWY6phxZiaY1IyutSBfGjNPySAYV4=
1876github.com/willf/bitset v1.1.9/go.mod h1:RjeCKbqT1RxIR/KWY6phxZiaY1IyutSBfGjNPySAYV4=
1877github.com/willf/bitset v1.1.11-0.20200630133818-d5bec3311243/go.mod h1:RjeCKbqT1RxIR/KWY6phxZiaY1IyutSBfGjNPySAYV4=
1878github.com/willf/bitset v1.1.11/go.mod h1:83CECat5yLh5zVOf4P1ErAgKA5UDvKtgyUABdr3+MjI=
1424github.com/xanzy/go-gitlab v0.15.0/go.mod h1:8zdQa/ri1dfn8eS3Ir1SyfvOKlw7WBJ8DVThkpGiXrs=1879github.com/xanzy/go-gitlab v0.15.0/go.mod h1:8zdQa/ri1dfn8eS3Ir1SyfvOKlw7WBJ8DVThkpGiXrs=
1425github.com/xdg-go/pbkdf2 v1.0.0/go.mod h1:jrpuAogTd400dnrH08LKmI/xc1MbPOebTwRqcT5RDeI=1880github.com/xdg-go/pbkdf2 v1.0.0/go.mod h1:jrpuAogTd400dnrH08LKmI/xc1MbPOebTwRqcT5RDeI=
1426github.com/xdg-go/scram v1.0.2/go.mod h1:1WAq6h33pAW+iRreB34OORO2Nf7qel3VV3fjBj+hCSs=1881github.com/xdg-go/scram v1.0.2/go.mod h1:1WAq6h33pAW+iRreB34OORO2Nf7qel3VV3fjBj+hCSs=
@@ -1428,18 +1883,26 @@ github.com/xdg-go/stringprep v1.0.2/go.mod h1:8F9zXuvzgwmyT5DUm4GUfZGDdT3W+LCvS6
1428github.com/xdg/scram v0.0.0-20180814205039-7eeb5667e42c/go.mod h1:lB8K/P019DLNhemzwFU4jHLhdvlE6uDZjXFejJXr49I=1883github.com/xdg/scram v0.0.0-20180814205039-7eeb5667e42c/go.mod h1:lB8K/P019DLNhemzwFU4jHLhdvlE6uDZjXFejJXr49I=
1429github.com/xdg/stringprep v0.0.0-20180714160509-73f8eece6fdc/go.mod h1:Jhud4/sHMO4oL310DaZAKk9ZaJ08SJfe+sJh0HrGL1Y=1884github.com/xdg/stringprep v0.0.0-20180714160509-73f8eece6fdc/go.mod h1:Jhud4/sHMO4oL310DaZAKk9ZaJ08SJfe+sJh0HrGL1Y=
1430github.com/xdg/stringprep v1.0.0/go.mod h1:Jhud4/sHMO4oL310DaZAKk9ZaJ08SJfe+sJh0HrGL1Y=1885github.com/xdg/stringprep v1.0.0/go.mod h1:Jhud4/sHMO4oL310DaZAKk9ZaJ08SJfe+sJh0HrGL1Y=
1886github.com/xeipuuv/gojsonpointer v0.0.0-20180127040702-4e3ac2762d5f/go.mod h1:N2zxlSyiKSe5eX1tZViRH5QA0qijqEDrYZiPEAiq3wU=
1887github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415/go.mod h1:GwrjFmJcFw6At/Gs6z4yjiIwzuJ1/+UwLxMQDVQXShQ=
1888github.com/xeipuuv/gojsonschema v0.0.0-20180618132009-1d523034197f/go.mod h1:5yf86TLmAcydyeJq5YvxkGPE2fm/u4myDekKRoLuqhs=
1431github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2 h1:eY9dn8+vbi4tKz5Qo6v2eYzo7kUS51QINcR5jNpbZS8=1889github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2 h1:eY9dn8+vbi4tKz5Qo6v2eYzo7kUS51QINcR5jNpbZS8=
1432github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2/go.mod h1:UETIi67q53MR2AWcXfiuqkDkRtnGDLqkBTpCHuJHxtU=1890github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2/go.mod h1:UETIi67q53MR2AWcXfiuqkDkRtnGDLqkBTpCHuJHxtU=
1433github.com/xlab/treeprint v0.0.0-20180616005107-d6fb6747feb6/go.mod h1:ce1O1j6UtZfjr22oyGxGLbauSBp2YVXpARAosm7dHBg=1891github.com/xlab/treeprint v0.0.0-20180616005107-d6fb6747feb6/go.mod h1:ce1O1j6UtZfjr22oyGxGLbauSBp2YVXpARAosm7dHBg=
1434github.com/xlab/treeprint v1.0.0/go.mod h1:IoImgRak9i3zJyuxOKUP1v4UZd1tMoKkq/Cimt1uhCg=1892github.com/xlab/treeprint v1.0.0/go.mod h1:IoImgRak9i3zJyuxOKUP1v4UZd1tMoKkq/Cimt1uhCg=
1435github.com/xlab/treeprint v1.1.0/go.mod h1:gj5Gd3gPdKtR1ikdDK6fnFLdmIS0X30kTTuNd/WEJu0=1893github.com/xlab/treeprint v1.1.0/go.mod h1:gj5Gd3gPdKtR1ikdDK6fnFLdmIS0X30kTTuNd/WEJu0=
1894github.com/xordataexchange/crypt v0.0.3-0.20170626215501-b2862e3d0a77/go.mod h1:aYKd//L2LvnjZzWKhF00oedf4jCCReLcmhLdhm1A27Q=
1436github.com/youmark/pkcs8 v0.0.0-20181117223130-1be2e3e5546d/go.mod h1:rHwXgn7JulP+udvsHwJoVG1YGAP6VLg4y9I5dyZdqmA=1895github.com/youmark/pkcs8 v0.0.0-20181117223130-1be2e3e5546d/go.mod h1:rHwXgn7JulP+udvsHwJoVG1YGAP6VLg4y9I5dyZdqmA=
1437github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=1896github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
1438github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=1897github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
1439github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=1898github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
1440github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=1899github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
1900github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k=
1441github.com/yuin/gopher-lua v0.0.0-20200816102855-ee81675732da h1:NimzV1aGyq29m5ukMK0AMWEhFaL/lrEOaephfuoiARg=1901github.com/yuin/gopher-lua v0.0.0-20200816102855-ee81675732da h1:NimzV1aGyq29m5ukMK0AMWEhFaL/lrEOaephfuoiARg=
1442github.com/yuin/gopher-lua v0.0.0-20200816102855-ee81675732da/go.mod h1:E1AXubJBdNmFERAOucpDIxNzeGfLzg0mYh+UfMWdChA=1902github.com/yuin/gopher-lua v0.0.0-20200816102855-ee81675732da/go.mod h1:E1AXubJBdNmFERAOucpDIxNzeGfLzg0mYh+UfMWdChA=
1903github.com/yvasiyarov/go-metrics v0.0.0-20140926110328-57bccd1ccd43/go.mod h1:aX5oPXxHm3bOH+xeAttToC8pqch2ScQN/JoXYupl6xs=
1904github.com/yvasiyarov/gorelic v0.0.0-20141212073537-a9bba5b9ab50/go.mod h1:NUSPSUX/bi6SeDMUh6brw0nXpxHnc96TguQh0+r/ssA=
1905github.com/yvasiyarov/newrelic_platform_go v0.0.0-20140908184405-b21fdbd4370f/go.mod h1:GlGEuHIJweS1mbCqG+7vt2nvWLzLLnRHbXz5JKd/Qbg=
1443gitlab.com/nyarla/go-crypt v0.0.0-20160106005555-d9a5dc2b789b/go.mod h1:T3BPAOm2cqquPa0MKWeNkmOM5RQsRhkrwMWonFMN7fE=1906gitlab.com/nyarla/go-crypt v0.0.0-20160106005555-d9a5dc2b789b/go.mod h1:T3BPAOm2cqquPa0MKWeNkmOM5RQsRhkrwMWonFMN7fE=
1444go.elastic.co/apm v1.5.0/go.mod h1:OdB9sPtM6Vt7oz3VXt7+KR96i9li74qrxBGHTQygFvk=1907go.elastic.co/apm v1.5.0/go.mod h1:OdB9sPtM6Vt7oz3VXt7+KR96i9li74qrxBGHTQygFvk=
1445go.elastic.co/apm v1.11.0/go.mod h1:qoOSi09pnzJDh5fKnfY7bPmQgl8yl2tULdOu03xhui0=1908go.elastic.co/apm v1.11.0/go.mod h1:qoOSi09pnzJDh5fKnfY7bPmQgl8yl2tULdOu03xhui0=
@@ -1452,25 +1915,36 @@ go.elastic.co/fastjson v1.1.0/go.mod h1:boNGISWMjQsUPy/t6yqt2/1Wx4YNPSe+mZjlyw9v
1452go.etcd.io/bbolt v1.3.2/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU=1915go.etcd.io/bbolt v1.3.2/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU=
1453go.etcd.io/bbolt v1.3.3/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU=1916go.etcd.io/bbolt v1.3.3/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU=
1454go.etcd.io/bbolt v1.3.5-0.20200615073812-232d8fc87f50/go.mod h1:G5EMThwa9y8QZGBClrRx5EY+Yw9kAhnjy3bSjsnlVTQ=1917go.etcd.io/bbolt v1.3.5-0.20200615073812-232d8fc87f50/go.mod h1:G5EMThwa9y8QZGBClrRx5EY+Yw9kAhnjy3bSjsnlVTQ=
1455go.etcd.io/bbolt v1.3.5 h1:XAzx9gjCb0Rxj7EoqcClPD1d5ZBxZJk0jbuoPHenBt0=
1456go.etcd.io/bbolt v1.3.5/go.mod h1:G5EMThwa9y8QZGBClrRx5EY+Yw9kAhnjy3bSjsnlVTQ=1918go.etcd.io/bbolt v1.3.5/go.mod h1:G5EMThwa9y8QZGBClrRx5EY+Yw9kAhnjy3bSjsnlVTQ=
1919go.etcd.io/bbolt v1.3.6 h1:/ecaJf0sk1l4l6V4awd65v2C3ILy7MSj+s/x1ADCIMU=
1920go.etcd.io/bbolt v1.3.6/go.mod h1:qXsaaIqmgQH0T+OPdb99Bf+PKfBBQVAdyD6TY9G8XM4=
1457go.etcd.io/etcd v0.0.0-20190709142735-eb7dd97135a5/go.mod h1:N0RPWo9FXJYZQI4BTkDtQylrstIigYHeR18ONnyTufk=1921go.etcd.io/etcd v0.0.0-20190709142735-eb7dd97135a5/go.mod h1:N0RPWo9FXJYZQI4BTkDtQylrstIigYHeR18ONnyTufk=
1458go.etcd.io/etcd v0.0.0-20191023171146-3cf2f69b5738/go.mod h1:dnLIgRNXwCJa5e+c6mIZCrds/GIG4ncV9HhK5PX7jPg=1922go.etcd.io/etcd v0.0.0-20191023171146-3cf2f69b5738/go.mod h1:dnLIgRNXwCJa5e+c6mIZCrds/GIG4ncV9HhK5PX7jPg=
1459go.etcd.io/etcd v0.5.0-alpha.5.0.20200520232829-54ba9589114f h1:pBCD+Z7cy5WPTq+R6MmJJvDRpn88cp7bmTypBsn91g4=
1460go.etcd.io/etcd v0.5.0-alpha.5.0.20200520232829-54ba9589114f/go.mod h1:skWido08r9w6Lq/w70DO5XYIKMu4QFu1+4VsqLQuJy8=1923go.etcd.io/etcd v0.5.0-alpha.5.0.20200520232829-54ba9589114f/go.mod h1:skWido08r9w6Lq/w70DO5XYIKMu4QFu1+4VsqLQuJy8=
1461go.etcd.io/etcd/api/v3 v3.5.0-alpha.0 h1:+e5nrluATIy3GP53znpkHMFzPTHGYyzvJGFCbuI6ZLc=1924go.etcd.io/etcd v0.5.0-alpha.5.0.20200910180754-dd1b699fc489/go.mod h1:yVHk9ub3CSBatqGNg7GRmsnfLWtoW60w4eDYfh7vHDg=
1925go.etcd.io/etcd v3.3.25+incompatible h1:V1RzkZJj9LqsJRy+TUBgpWSbZXITLB819lstuTFoZOY=
1926go.etcd.io/etcd v3.3.25+incompatible/go.mod h1:yaeTdrJi5lOmYerz05bd8+V7KubZs8YSFZfzsF9A6aI=
1462go.etcd.io/etcd/api/v3 v3.5.0-alpha.0/go.mod h1:mPcW6aZJukV6Aa81LSKpBjQXTWlXB5r74ymPoSWa3Sw=1927go.etcd.io/etcd/api/v3 v3.5.0-alpha.0/go.mod h1:mPcW6aZJukV6Aa81LSKpBjQXTWlXB5r74ymPoSWa3Sw=
1463go.etcd.io/etcd/client/v2 v2.305.0-alpha.0 h1:jZepGpOeJATxsbMNBZczDS2jHdK/QVHM1iPe9jURJ8o=1928go.etcd.io/etcd/api/v3 v3.5.0 h1:GsV3S+OfZEOCNXdtNkBSR7kgLobAa/SO6tCxRa0GAYw=
1929go.etcd.io/etcd/api/v3 v3.5.0/go.mod h1:cbVKeC6lCfl7j/8jBhAK6aIYO9XOjdptoxU/nLQcPvs=
1930go.etcd.io/etcd/client/pkg/v3 v3.5.0 h1:2aQv6F436YnN7I4VbI8PPYrBhu+SmrTaADcf8Mi/6PU=
1931go.etcd.io/etcd/client/pkg/v3 v3.5.0/go.mod h1:IJHfcCEKxYu1Os13ZdwCwIUTUVGYTSAM3YSwc9/Ac1g=
1464go.etcd.io/etcd/client/v2 v2.305.0-alpha.0/go.mod h1:kdV+xzCJ3luEBSIeQyB/OEKkWKd8Zkux4sbDeANrosU=1932go.etcd.io/etcd/client/v2 v2.305.0-alpha.0/go.mod h1:kdV+xzCJ3luEBSIeQyB/OEKkWKd8Zkux4sbDeANrosU=
1933go.etcd.io/etcd/client/v2 v2.305.0 h1:ftQ0nOOHMcbMS3KIaDQ0g5Qcd6bhaBrQT6b89DfwLTs=
1934go.etcd.io/etcd/client/v2 v2.305.0/go.mod h1:h9puh54ZTgAKtEbut2oe9P4L/oqKCVB6xsXlzd7alYQ=
1465go.etcd.io/etcd/client/v3 v3.5.0-alpha.0/go.mod h1:wKt7jgDgf/OfKiYmCq5WFGxOFAkVMLxiiXgLDFhECr8=1935go.etcd.io/etcd/client/v3 v3.5.0-alpha.0/go.mod h1:wKt7jgDgf/OfKiYmCq5WFGxOFAkVMLxiiXgLDFhECr8=
1466go.etcd.io/etcd/client/v3 v3.5.0-alpha.0.0.20210225194612-fa82d11a958a h1:GZLxiPIaZ/U1Mez9rw3BqUHKt3y3+CK4HWtGAG0Pfx0=
1467go.etcd.io/etcd/client/v3 v3.5.0-alpha.0.0.20210225194612-fa82d11a958a/go.mod h1:wKt7jgDgf/OfKiYmCq5WFGxOFAkVMLxiiXgLDFhECr8=1936go.etcd.io/etcd/client/v3 v3.5.0-alpha.0.0.20210225194612-fa82d11a958a/go.mod h1:wKt7jgDgf/OfKiYmCq5WFGxOFAkVMLxiiXgLDFhECr8=
1468go.etcd.io/etcd/pkg/v3 v3.5.0-alpha.0 h1:3yLUEC0nFCxw/RArImOyRUI4OAFbg4PFpBbAhSNzKNY=1937go.etcd.io/etcd/client/v3 v3.5.0 h1:62Eh0XOro+rDwkrypAGDfgmNh5Joq+z+W9HZdlXMzek=
1938go.etcd.io/etcd/client/v3 v3.5.0/go.mod h1:AIKXXVX/DQXtfTEqBryiLTUXwON+GuvO6Z7lLS/oTh0=
1469go.etcd.io/etcd/pkg/v3 v3.5.0-alpha.0/go.mod h1:tV31atvwzcybuqejDoY3oaNRTtlD2l/Ot78Pc9w7DMY=1939go.etcd.io/etcd/pkg/v3 v3.5.0-alpha.0/go.mod h1:tV31atvwzcybuqejDoY3oaNRTtlD2l/Ot78Pc9w7DMY=
1470go.etcd.io/etcd/raft/v3 v3.5.0-alpha.0 h1:DvYJotxV9q1Lkn7pknzAbFO/CLtCVidCr2K9qRLJ8pA=1940go.etcd.io/etcd/pkg/v3 v3.5.0 h1:ntrg6vvKRW26JRmHTE0iNlDgYK6JX3hg/4cD62X0ixk=
1941go.etcd.io/etcd/pkg/v3 v3.5.0/go.mod h1:UzJGatBQ1lXChBkQF0AuAtkRQMYnHubxAEYIrC3MSsE=
1471go.etcd.io/etcd/raft/v3 v3.5.0-alpha.0/go.mod h1:FAwse6Zlm5v4tEWZaTjmNhe17Int4Oxbu7+2r0DiD3w=1942go.etcd.io/etcd/raft/v3 v3.5.0-alpha.0/go.mod h1:FAwse6Zlm5v4tEWZaTjmNhe17Int4Oxbu7+2r0DiD3w=
1472go.etcd.io/etcd/server/v3 v3.5.0-alpha.0.0.20210225194612-fa82d11a958a h1:s40lP1ShwqY7NhqXcgAC5iq1B3EOQTpmbvOFl+o6ZxE=1943go.etcd.io/etcd/raft/v3 v3.5.0 h1:kw2TmO3yFTgE+F0mdKkG7xMxkit2duBDa2Hu6D/HMlw=
1944go.etcd.io/etcd/raft/v3 v3.5.0/go.mod h1:UFOHSIvO/nKwd4lhkwabrTD3cqW5yVyYYf/KlD00Szc=
1473go.etcd.io/etcd/server/v3 v3.5.0-alpha.0.0.20210225194612-fa82d11a958a/go.mod h1:tsKetYpt980ZTpzl/gb+UOJj9RkIyCb1u4wjzMg90BQ=1945go.etcd.io/etcd/server/v3 v3.5.0-alpha.0.0.20210225194612-fa82d11a958a/go.mod h1:tsKetYpt980ZTpzl/gb+UOJj9RkIyCb1u4wjzMg90BQ=
1946go.etcd.io/etcd/server/v3 v3.5.0 h1:jk8D/lwGEDlQU9kZXUFMSANkE22Sg5+mW27ip8xcF9E=
1947go.etcd.io/etcd/server/v3 v3.5.0/go.mod h1:3Ah5ruV+M+7RZr0+Y/5mNLwC+eQlni+mQmOVdCRJoS4=
1474go.mongodb.org/mongo-driver v1.0.3/go.mod h1:u7ryQJ+DOzQmeO7zB6MHyr8jkEQvC8vH7qLUO4lqsUM=1948go.mongodb.org/mongo-driver v1.0.3/go.mod h1:u7ryQJ+DOzQmeO7zB6MHyr8jkEQvC8vH7qLUO4lqsUM=
1475go.mongodb.org/mongo-driver v1.0.4/go.mod h1:u7ryQJ+DOzQmeO7zB6MHyr8jkEQvC8vH7qLUO4lqsUM=1949go.mongodb.org/mongo-driver v1.0.4/go.mod h1:u7ryQJ+DOzQmeO7zB6MHyr8jkEQvC8vH7qLUO4lqsUM=
1476go.mongodb.org/mongo-driver v1.1.0/go.mod h1:u7ryQJ+DOzQmeO7zB6MHyr8jkEQvC8vH7qLUO4lqsUM=1950go.mongodb.org/mongo-driver v1.1.0/go.mod h1:u7ryQJ+DOzQmeO7zB6MHyr8jkEQvC8vH7qLUO4lqsUM=
@@ -1484,6 +1958,7 @@ go.mongodb.org/mongo-driver v1.4.4/go.mod h1:WcMNYLx/IlOxLe6JRJiv2uXuCz6zBLndR4S
1484go.mongodb.org/mongo-driver v1.4.6/go.mod h1:WcMNYLx/IlOxLe6JRJiv2uXuCz6zBLndR4SoGjYphSc=1958go.mongodb.org/mongo-driver v1.4.6/go.mod h1:WcMNYLx/IlOxLe6JRJiv2uXuCz6zBLndR4SoGjYphSc=
1485go.mongodb.org/mongo-driver v1.5.1 h1:9nOVLGDfOaZ9R0tBumx/BcuqkbFpyTCU2r/Po7A2azI=1959go.mongodb.org/mongo-driver v1.5.1 h1:9nOVLGDfOaZ9R0tBumx/BcuqkbFpyTCU2r/Po7A2azI=
1486go.mongodb.org/mongo-driver v1.5.1/go.mod h1:gRXCHX4Jo7J0IJ1oDQyUxF7jfy19UfxniMS4xxMmUqw=1960go.mongodb.org/mongo-driver v1.5.1/go.mod h1:gRXCHX4Jo7J0IJ1oDQyUxF7jfy19UfxniMS4xxMmUqw=
1961go.mozilla.org/pkcs7 v0.0.0-20200128120323-432b2356ecb1/go.mod h1:SNgMg+EgDFwmvSmLRTNKC5fegJjB7v23qTQ0XLGUNHk=
1487go.opencensus.io v0.20.1/go.mod h1:6WKK9ahsWS3RSO+PY9ZHZUfv2irvY6gN279GOPZjmmk=1962go.opencensus.io v0.20.1/go.mod h1:6WKK9ahsWS3RSO+PY9ZHZUfv2irvY6gN279GOPZjmmk=
1488go.opencensus.io v0.20.2/go.mod h1:6WKK9ahsWS3RSO+PY9ZHZUfv2irvY6gN279GOPZjmmk=1963go.opencensus.io v0.20.2/go.mod h1:6WKK9ahsWS3RSO+PY9ZHZUfv2irvY6gN279GOPZjmmk=
1489go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU=1964go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU=
@@ -1494,41 +1969,66 @@ go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw=
1494go.opencensus.io v0.22.5/go.mod h1:5pWMHQbX5EPX2/62yrJeAkowc+lfs/XD7Uxpq3pI6kk=1969go.opencensus.io v0.22.5/go.mod h1:5pWMHQbX5EPX2/62yrJeAkowc+lfs/XD7Uxpq3pI6kk=
1495go.opencensus.io v0.23.0 h1:gqCw0LfLxScz8irSi8exQc7fyQ0fKQU/qnC/X8+V/1M=1970go.opencensus.io v0.23.0 h1:gqCw0LfLxScz8irSi8exQc7fyQ0fKQU/qnC/X8+V/1M=
1496go.opencensus.io v0.23.0/go.mod h1:XItmlyltB5F7CS4xOC1DcqMoFqwtC6OG2xF7mCv7P7E=1971go.opencensus.io v0.23.0/go.mod h1:XItmlyltB5F7CS4xOC1DcqMoFqwtC6OG2xF7mCv7P7E=
1972go.opentelemetry.io/contrib v0.20.0 h1:ubFQUn0VCZ0gPwIoJfBJVpeBlyRMxu8Mm/huKWYd9p0=
1973go.opentelemetry.io/contrib v0.20.0/go.mod h1:G/EtFaa6qaN7+LxqfIAT3GiZa7Wv5DTBUzl5H4LY0Kc=
1974go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.20.0 h1:sO4WKdPAudZGKPcpZT4MJn6JaDmpyLrMPDGGyA1SttE=
1975go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.20.0/go.mod h1:oVGt1LRbBOBq1A5BQLlUg9UaU/54aiHw8cgjV3aWZ/E=
1497go.opentelemetry.io/otel v0.11.0/go.mod h1:G8UCk+KooF2HLkgo8RHX9epABH/aRGYET7gQOqBVdB0=1976go.opentelemetry.io/otel v0.11.0/go.mod h1:G8UCk+KooF2HLkgo8RHX9epABH/aRGYET7gQOqBVdB0=
1498go.opentelemetry.io/otel v0.20.0 h1:eaP0Fqu7SXHwvjiqDq83zImeehOHX8doTvU9AwXON8g=1977go.opentelemetry.io/otel v0.20.0 h1:eaP0Fqu7SXHwvjiqDq83zImeehOHX8doTvU9AwXON8g=
1499go.opentelemetry.io/otel v0.20.0/go.mod h1:Y3ugLH2oa81t5QO+Lty+zXf8zC9L26ax4Nzoxm/dooo=1978go.opentelemetry.io/otel v0.20.0/go.mod h1:Y3ugLH2oa81t5QO+Lty+zXf8zC9L26ax4Nzoxm/dooo=
1979go.opentelemetry.io/otel/exporters/otlp v0.20.0 h1:PTNgq9MRmQqqJY0REVbZFvwkYOA85vbdQU/nVfxDyqg=
1980go.opentelemetry.io/otel/exporters/otlp v0.20.0/go.mod h1:YIieizyaN77rtLJra0buKiNBOm9XQfkPEKBeuhoMwAM=
1500go.opentelemetry.io/otel/metric v0.20.0 h1:4kzhXFP+btKm4jwxpjIqjs41A7MakRFUS86bqLHTIw8=1981go.opentelemetry.io/otel/metric v0.20.0 h1:4kzhXFP+btKm4jwxpjIqjs41A7MakRFUS86bqLHTIw8=
1501go.opentelemetry.io/otel/metric v0.20.0/go.mod h1:598I5tYlH1vzBjn+BTuhzTCSb/9debfNp6R3s7Pr1eU=1982go.opentelemetry.io/otel/metric v0.20.0/go.mod h1:598I5tYlH1vzBjn+BTuhzTCSb/9debfNp6R3s7Pr1eU=
1502go.opentelemetry.io/otel/oteltest v0.20.0 h1:HiITxCawalo5vQzdHfKeZurV8x7ljcqAgiWzF6Vaeaw=1983go.opentelemetry.io/otel/oteltest v0.20.0 h1:HiITxCawalo5vQzdHfKeZurV8x7ljcqAgiWzF6Vaeaw=
1503go.opentelemetry.io/otel/oteltest v0.20.0/go.mod h1:L7bgKf9ZB7qCwT9Up7i9/pn0PWIa9FqQ2IQ8LoxiGnw=1984go.opentelemetry.io/otel/oteltest v0.20.0/go.mod h1:L7bgKf9ZB7qCwT9Up7i9/pn0PWIa9FqQ2IQ8LoxiGnw=
1985go.opentelemetry.io/otel/sdk v0.20.0 h1:JsxtGXd06J8jrnya7fdI/U/MR6yXA5DtbZy+qoHQlr8=
1986go.opentelemetry.io/otel/sdk v0.20.0/go.mod h1:g/IcepuwNsoiX5Byy2nNV0ySUF1em498m7hBWC279Yc=
1987go.opentelemetry.io/otel/sdk/export/metric v0.20.0 h1:c5VRjxCXdQlx1HjzwGdQHzZaVI82b5EbBgOu2ljD92g=
1988go.opentelemetry.io/otel/sdk/export/metric v0.20.0/go.mod h1:h7RBNMsDJ5pmI1zExLi+bJK+Dr8NQCh0qGhm1KDnNlE=
1989go.opentelemetry.io/otel/sdk/metric v0.20.0 h1:7ao1wpzHRVKf0OQ7GIxiQJA6X7DLX9o14gmVon7mMK8=
1990go.opentelemetry.io/otel/sdk/metric v0.20.0/go.mod h1:knxiS8Xd4E/N+ZqKmUPf3gTTZ4/0TjTXukfxjzSTpHE=
1504go.opentelemetry.io/otel/trace v0.20.0 h1:1DL6EXUdcg95gukhuRRvLDO/4X5THh/5dIV52lqtnbw=1991go.opentelemetry.io/otel/trace v0.20.0 h1:1DL6EXUdcg95gukhuRRvLDO/4X5THh/5dIV52lqtnbw=
1505go.opentelemetry.io/otel/trace v0.20.0/go.mod h1:6GjCW8zgDjwGHGa6GkyeB8+/5vjT16gUEi0Nf1iBdgw=1992go.opentelemetry.io/otel/trace v0.20.0/go.mod h1:6GjCW8zgDjwGHGa6GkyeB8+/5vjT16gUEi0Nf1iBdgw=
1993go.opentelemetry.io/proto/otlp v0.7.0 h1:rwOQPCuKAKmwGKq2aVNnYIibI6wnV7EvzgfTCzcdGg8=
1994go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqeYNgFYFoEGnI=
1506go.uber.org/atomic v1.3.2/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE=1995go.uber.org/atomic v1.3.2/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE=
1507go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE=1996go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE=
1508go.uber.org/atomic v1.5.0/go.mod h1:sABNBOSYdrvTF6hTgEIbc7YasKWGhgEQZyfxyTvoXHQ=1997go.uber.org/atomic v1.5.0/go.mod h1:sABNBOSYdrvTF6hTgEIbc7YasKWGhgEQZyfxyTvoXHQ=
1509go.uber.org/atomic v1.5.1/go.mod h1:sABNBOSYdrvTF6hTgEIbc7YasKWGhgEQZyfxyTvoXHQ=1998go.uber.org/atomic v1.5.1/go.mod h1:sABNBOSYdrvTF6hTgEIbc7YasKWGhgEQZyfxyTvoXHQ=
1510go.uber.org/atomic v1.6.0/go.mod h1:sABNBOSYdrvTF6hTgEIbc7YasKWGhgEQZyfxyTvoXHQ=1999go.uber.org/atomic v1.6.0/go.mod h1:sABNBOSYdrvTF6hTgEIbc7YasKWGhgEQZyfxyTvoXHQ=
1511go.uber.org/atomic v1.7.0 h1:ADUqmZGgLDDfbSL9ZmPxKTybcoEYHgpYfELNoN+7hsw=
1512go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc=2000go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc=
2001go.uber.org/atomic v1.8.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc=
2002go.uber.org/atomic v1.9.0 h1:ECmE8Bn/WFTYwEW/bpKD3M8VtR/zQVbavAoalC1PYyE=
2003go.uber.org/atomic v1.9.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc=
1513go.uber.org/automaxprocs v1.2.0/go.mod h1:YfO3fm683kQpzETxlTGZhGIVmXAhaw3gxeBADbpZtnU=2004go.uber.org/automaxprocs v1.2.0/go.mod h1:YfO3fm683kQpzETxlTGZhGIVmXAhaw3gxeBADbpZtnU=
2005go.uber.org/automaxprocs v1.4.0/go.mod h1:/mTEdr7LvHhs0v7mjdxDreTz1OG5zdZGqgOnhWiR/+Q=
1514go.uber.org/goleak v1.0.0/go.mod h1:8a7PlsEVH3e/a/GLqe5IIrQx6GzcnRmZEufDUTk4A7A=2006go.uber.org/goleak v1.0.0/go.mod h1:8a7PlsEVH3e/a/GLqe5IIrQx6GzcnRmZEufDUTk4A7A=
1515go.uber.org/goleak v1.1.10 h1:z+mqJhf6ss6BSfSM671tgKyZBFPTTJM+HLxnhPC3wu0=
1516go.uber.org/goleak v1.1.10/go.mod h1:8a7PlsEVH3e/a/GLqe5IIrQx6GzcnRmZEufDUTk4A7A=2007go.uber.org/goleak v1.1.10/go.mod h1:8a7PlsEVH3e/a/GLqe5IIrQx6GzcnRmZEufDUTk4A7A=
2008go.uber.org/goleak v1.1.11-0.20210813005559-691160354723 h1:sHOAIxRGBp443oHZIPB+HsUGaksVCXVQENPxwTfQdH4=
2009go.uber.org/goleak v1.1.11-0.20210813005559-691160354723/go.mod h1:cwTWslyiVhfpKIDGSZEM2HlOvcqm+tG4zioyIeLoqMQ=
1517go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0=2010go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0=
1518go.uber.org/multierr v1.3.0/go.mod h1:VgVr7evmIr6uPjLBxg28wmKNXyqE9akIJ5XnfpiKl+4=2011go.uber.org/multierr v1.3.0/go.mod h1:VgVr7evmIr6uPjLBxg28wmKNXyqE9akIJ5XnfpiKl+4=
1519go.uber.org/multierr v1.4.0/go.mod h1:VgVr7evmIr6uPjLBxg28wmKNXyqE9akIJ5XnfpiKl+4=2012go.uber.org/multierr v1.4.0/go.mod h1:VgVr7evmIr6uPjLBxg28wmKNXyqE9akIJ5XnfpiKl+4=
1520go.uber.org/multierr v1.5.0 h1:KCa4XfM8CWFCpxXRGok+Q0SS/0XBhMDbHHGABQLvD2A=
1521go.uber.org/multierr v1.5.0/go.mod h1:FeouvMocqHpRaaGuG9EjoKcStLC43Zu/fmqdUMPcKYU=2013go.uber.org/multierr v1.5.0/go.mod h1:FeouvMocqHpRaaGuG9EjoKcStLC43Zu/fmqdUMPcKYU=
1522go.uber.org/tools v0.0.0-20190618225709-2cfd321de3ee h1:0mgffUl7nfd+FpvXMVz4IDEaUSmT1ysygQC7qYo7sG4=2014go.uber.org/multierr v1.6.0/go.mod h1:cdWPpRnG4AhwMwsgIHip0KRBQjJy5kYEpYjJxpXp9iU=
2015go.uber.org/multierr v1.7.0 h1:zaiO/rmgFjbmCXdSYJWQcdvOCsthmdaHfr3Gm2Kx4Ec=
2016go.uber.org/multierr v1.7.0/go.mod h1:7EAYxJLBy9rStEaz58O2t4Uvip6FSURkq8/ppBp95ak=
1523go.uber.org/tools v0.0.0-20190618225709-2cfd321de3ee/go.mod h1:vJERXedbb3MVM5f9Ejo0C68/HhF8uaILCdgjnY+goOA=2017go.uber.org/tools v0.0.0-20190618225709-2cfd321de3ee/go.mod h1:vJERXedbb3MVM5f9Ejo0C68/HhF8uaILCdgjnY+goOA=
1524go.uber.org/zap v1.9.1/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q=2018go.uber.org/zap v1.9.1/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q=
1525go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q=2019go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q=
1526go.uber.org/zap v1.13.0/go.mod h1:zwrFLgMcdUuIBviXEYEH1YKNaOBnKXsx2IPda5bBwHM=2020go.uber.org/zap v1.13.0/go.mod h1:zwrFLgMcdUuIBviXEYEH1YKNaOBnKXsx2IPda5bBwHM=
2021go.uber.org/zap v1.14.0/go.mod h1:zwrFLgMcdUuIBviXEYEH1YKNaOBnKXsx2IPda5bBwHM=
1527go.uber.org/zap v1.14.1/go.mod h1:Mb2vm2krFEG5DV0W9qcHBYFtp/Wku1cvYaqPsS/WYfc=2022go.uber.org/zap v1.14.1/go.mod h1:Mb2vm2krFEG5DV0W9qcHBYFtp/Wku1cvYaqPsS/WYfc=
1528go.uber.org/zap v1.16.0 h1:uFRZXykJGK9lLY4HtgSw44DnIcAM+kRBP7x5m+NpAOM=
1529go.uber.org/zap v1.16.0/go.mod h1:MA8QOfq0BHJwdXa996Y4dYkAqRKB8/1K1QMMZVaNZjQ=2023go.uber.org/zap v1.16.0/go.mod h1:MA8QOfq0BHJwdXa996Y4dYkAqRKB8/1K1QMMZVaNZjQ=
2024go.uber.org/zap v1.17.0/go.mod h1:MXVU+bhUf/A7Xi2HNOnopQOrmycQ5Ih87HtOu4q5SSo=
2025go.uber.org/zap v1.19.1 h1:ue41HOKd1vGURxrmeKIgELGb3jPW9DMUDGtsinblHwI=
2026go.uber.org/zap v1.19.1/go.mod h1:j3DNczoxDZroyBnOT1L/Q79cfUMGZxlv/9dzN7SM1rI=
2027golang.org/x/crypto v0.0.0-20171113213409-9f005a07e0d3/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
2028golang.org/x/crypto v0.0.0-20180505025534-4ec37c66abab/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
1530golang.org/x/crypto v0.0.0-20180608092829-8ac0e0d97ce4/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=2029golang.org/x/crypto v0.0.0-20180608092829-8ac0e0d97ce4/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
1531golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=2030golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
2031golang.org/x/crypto v0.0.0-20181009213950-7c1a557ab941/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
1532golang.org/x/crypto v0.0.0-20181029021203-45a5f77698d3/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=2032golang.org/x/crypto v0.0.0-20181029021203-45a5f77698d3/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
1533golang.org/x/crypto v0.0.0-20190211182817-74369b46fc67/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=2033golang.org/x/crypto v0.0.0-20190211182817-74369b46fc67/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
1534golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=2034golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
@@ -1543,21 +2043,28 @@ golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8U
1543golang.org/x/crypto v0.0.0-20190611184440-5c40567a22f8/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=2043golang.org/x/crypto v0.0.0-20190611184440-5c40567a22f8/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
1544golang.org/x/crypto v0.0.0-20190617133340-57b3e21c3d56/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=2044golang.org/x/crypto v0.0.0-20190617133340-57b3e21c3d56/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
1545golang.org/x/crypto v0.0.0-20190701094942-4def268fd1a4/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=2045golang.org/x/crypto v0.0.0-20190701094942-4def268fd1a4/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
2046golang.org/x/crypto v0.0.0-20190820162420-60c769a6c586/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
1546golang.org/x/crypto v0.0.0-20190923035154-9ee001bba392/go.mod h1:/lpIB1dKB+9EgE3H3cr1v9wB50oz8l4C4h62xy7jSTY=2047golang.org/x/crypto v0.0.0-20190923035154-9ee001bba392/go.mod h1:/lpIB1dKB+9EgE3H3cr1v9wB50oz8l4C4h62xy7jSTY=
1547golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=2048golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
1548golang.org/x/crypto v0.0.0-20191112222119-e1110fd1c708/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=2049golang.org/x/crypto v0.0.0-20191112222119-e1110fd1c708/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
1549golang.org/x/crypto v0.0.0-20191202143827-86a70503ff7e/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=2050golang.org/x/crypto v0.0.0-20191202143827-86a70503ff7e/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
1550golang.org/x/crypto v0.0.0-20191206172530-e9b2fee46413/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=2051golang.org/x/crypto v0.0.0-20191206172530-e9b2fee46413/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
1551golang.org/x/crypto v0.0.0-20200302210943-78000ba7a073/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=2052golang.org/x/crypto v0.0.0-20200302210943-78000ba7a073/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
2053golang.org/x/crypto v0.0.0-20200323165209-0ec3e9974c59/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
1552golang.org/x/crypto v0.0.0-20200422194213-44a606286825/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=2054golang.org/x/crypto v0.0.0-20200422194213-44a606286825/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
1553golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=2055golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
1554golang.org/x/crypto v0.0.0-20200709230013-948cd5f35899/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=2056golang.org/x/crypto v0.0.0-20200709230013-948cd5f35899/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
1555golang.org/x/crypto v0.0.0-20200728195943-123391ffb6de/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=2057golang.org/x/crypto v0.0.0-20200728195943-123391ffb6de/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
2058golang.org/x/crypto v0.0.0-20200820211705-5c72a883971a/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
1556golang.org/x/crypto v0.0.0-20201002170205-7f63de1d35b0/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=2059golang.org/x/crypto v0.0.0-20201002170205-7f63de1d35b0/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
1557golang.org/x/crypto v0.0.0-20201208171446-5f87f3452ae9/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I=2060golang.org/x/crypto v0.0.0-20201208171446-5f87f3452ae9/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I=
1558golang.org/x/crypto v0.0.0-20201221181555-eec23a3978ad/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I=2061golang.org/x/crypto v0.0.0-20201221181555-eec23a3978ad/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I=
1559golang.org/x/crypto v0.0.0-20210220033148-5ea612d1eb83 h1:/ZScEX8SfEmUGRHs0gxpqteO5nfNW6axyZbBdw9A12g=2062golang.org/x/crypto v0.0.0-20210314154223-e6e6c4f2bb5b/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4=
1560golang.org/x/crypto v0.0.0-20210220033148-5ea612d1eb83/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I=2063golang.org/x/crypto v0.0.0-20210322153248-0c34fe9e7dc2/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4=
2064golang.org/x/crypto v0.0.0-20210513164829-c07d793c2f9a/go.mod h1:P+XmwS30IXTQdn5tA2iutPOUgjI07+tq3H3K9MVA1s8=
2065golang.org/x/crypto v0.0.0-20210616213533-5ff15b29337e/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
2066golang.org/x/crypto v0.0.0-20210915214749-c084706c2272 h1:3erb+vDS8lU1sxfDHF4/hhWyaXnhIaO+7RgL4fDZORA=
2067golang.org/x/crypto v0.0.0-20210915214749-c084706c2272/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
1561golang.org/x/exp v0.0.0-20180321215751-8460e604b9de/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=2068golang.org/x/exp v0.0.0-20180321215751-8460e604b9de/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
1562golang.org/x/exp v0.0.0-20180807140117-3d87b88a115f/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=2069golang.org/x/exp v0.0.0-20180807140117-3d87b88a115f/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
1563golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=2070golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
@@ -1577,7 +2084,6 @@ golang.org/x/exp v0.0.0-20200821190819-94841d0725da/go.mod h1:3jZMyOhIsHpP37uCMk
1577golang.org/x/image v0.0.0-20180708004352-c73c2afc3b81/go.mod h1:ux5Hcp/YLpHSI86hEcLt0YII63i6oz57MZXIpbrjZUs=2084golang.org/x/image v0.0.0-20180708004352-c73c2afc3b81/go.mod h1:ux5Hcp/YLpHSI86hEcLt0YII63i6oz57MZXIpbrjZUs=
1578golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js=2085golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js=
1579golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0=2086golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0=
1580golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=
1581golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU=2087golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU=
1582golang.org/x/lint v0.0.0-20190301231843-5614ed5bae6f/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=2088golang.org/x/lint v0.0.0-20190301231843-5614ed5bae6f/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=
1583golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc=2089golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc=
@@ -1587,8 +2093,9 @@ golang.org/x/lint v0.0.0-20190930215403-16217165b5de/go.mod h1:6SW0HCj/g11FgYtHl
1587golang.org/x/lint v0.0.0-20191125180803-fdd1cda4f05f/go.mod h1:5qLYkcX4OjUUV8bRuDixDT3tpyyb+LUpUlRWLxfhWrs=2093golang.org/x/lint v0.0.0-20191125180803-fdd1cda4f05f/go.mod h1:5qLYkcX4OjUUV8bRuDixDT3tpyyb+LUpUlRWLxfhWrs=
1588golang.org/x/lint v0.0.0-20200130185559-910be7a94367/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY=2094golang.org/x/lint v0.0.0-20200130185559-910be7a94367/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY=
1589golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY=2095golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY=
1590golang.org/x/lint v0.0.0-20201208152925-83fdc39ff7b5 h1:2M3HP5CCK1Si9FQhwnzYhXdG6DXeebvUHFpre8QvbyI=
1591golang.org/x/lint v0.0.0-20201208152925-83fdc39ff7b5/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY=2096golang.org/x/lint v0.0.0-20201208152925-83fdc39ff7b5/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY=
2097golang.org/x/lint v0.0.0-20210508222113-6edffad5e616 h1:VLliZ0d+/avPrXXH+OakdXhpJuEoBZuwh1m2j7U6Iug=
2098golang.org/x/lint v0.0.0-20210508222113-6edffad5e616/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY=
1592golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod h1:z+o9i4GpDbdi3rU15maQ/Ox0txvL9dWGYEHz965HBQE=2099golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod h1:z+o9i4GpDbdi3rU15maQ/Ox0txvL9dWGYEHz965HBQE=
1593golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028/go.mod h1:E/iHnbuqvinMTCcRqshq8CkpyQDoeVncDDYHnLhea+o=2100golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028/go.mod h1:E/iHnbuqvinMTCcRqshq8CkpyQDoeVncDDYHnLhea+o=
1594golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod h1:mXi4GBBbnImb6dmsKGUJ2LatrhH/nqhxcFungHvyanc=2101golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod h1:mXi4GBBbnImb6dmsKGUJ2LatrhH/nqhxcFungHvyanc=
@@ -1598,13 +2105,13 @@ golang.org/x/mod v0.1.1-0.20191107180719-034126e5016b/go.mod h1:QqPTAvyqsEbceGzB
1598golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=2105golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
1599golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=2106golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
1600golang.org/x/mod v0.4.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=2107golang.org/x/mod v0.4.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
1601golang.org/x/mod v0.4.1 h1:Kvvh58BN8Y9/lBi7hTekvtMpm07eUZ0ck5pRHpsMWrY=
1602golang.org/x/mod v0.4.1/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=2108golang.org/x/mod v0.4.1/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
2109golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
1603golang.org/x/net v0.0.0-20170114055629-f2499483f923/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=2110golang.org/x/net v0.0.0-20170114055629-f2499483f923/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
1604golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=2111golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
1605golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
1606golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=2112golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
1607golang.org/x/net v0.0.0-20181005035420-146acd28ed58/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=2113golang.org/x/net v0.0.0-20181005035420-146acd28ed58/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
2114golang.org/x/net v0.0.0-20181011144130-49bb7cea24b1/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
1608golang.org/x/net v0.0.0-20181023162649-9b4f9f5ad519/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=2115golang.org/x/net v0.0.0-20181023162649-9b4f9f5ad519/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
1609golang.org/x/net v0.0.0-20181108082009-03003ca0c849/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=2116golang.org/x/net v0.0.0-20181108082009-03003ca0c849/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
1610golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=2117golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
@@ -1622,6 +2129,7 @@ golang.org/x/net v0.0.0-20190503192946-f4e77d36d62c/go.mod h1:t9HGtf8HONx5eT2rtn
1622golang.org/x/net v0.0.0-20190522155817-f3200d17e092/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks=2129golang.org/x/net v0.0.0-20190522155817-f3200d17e092/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks=
1623golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks=2130golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks=
1624golang.org/x/net v0.0.0-20190613194153-d28f0bde5980/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=2131golang.org/x/net v0.0.0-20190613194153-d28f0bde5980/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
2132golang.org/x/net v0.0.0-20190619014844-b5b0513f8c1b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
1625golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=2133golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
1626golang.org/x/net v0.0.0-20190628185345-da137c7871d7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=2134golang.org/x/net v0.0.0-20190628185345-da137c7871d7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
1627golang.org/x/net v0.0.0-20190724013045-ca1201d0de80/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=2135golang.org/x/net v0.0.0-20190724013045-ca1201d0de80/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
@@ -1663,11 +2171,19 @@ golang.org/x/net v0.0.0-20210224082022-3d97a244fca7/go.mod h1:m0MpNAwzfU5UDzcl9v
1663golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=2171golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
1664golang.org/x/net v0.0.0-20210316092652-d523dce5a7f4/go.mod h1:RBQZq4jEuRlivfhVLdyRGr576XBO4/greRjx4P4O3yc=2172golang.org/x/net v0.0.0-20210316092652-d523dce5a7f4/go.mod h1:RBQZq4jEuRlivfhVLdyRGr576XBO4/greRjx4P4O3yc=
1665golang.org/x/net v0.0.0-20210324051636-2c4c8ecb7826/go.mod h1:RBQZq4jEuRlivfhVLdyRGr576XBO4/greRjx4P4O3yc=2173golang.org/x/net v0.0.0-20210324051636-2c4c8ecb7826/go.mod h1:RBQZq4jEuRlivfhVLdyRGr576XBO4/greRjx4P4O3yc=
2174golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM=
1666golang.org/x/net v0.0.0-20210421230115-4e50805a0758/go.mod h1:72T/g9IO56b78aLF+1Kcs5dz7/ng1VjMUvfKvpfy+jM=2175golang.org/x/net v0.0.0-20210421230115-4e50805a0758/go.mod h1:72T/g9IO56b78aLF+1Kcs5dz7/ng1VjMUvfKvpfy+jM=
2176golang.org/x/net v0.0.0-20210428140749-89ef3d95e781/go.mod h1:OJAsFXCWl8Ukc7SiCT/9KSuxbyM7479/AVlXFRxuMCk=
1667golang.org/x/net v0.0.0-20210503060351-7fd8e65b6420/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=2177golang.org/x/net v0.0.0-20210503060351-7fd8e65b6420/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
1668golang.org/x/net v0.0.0-20210505214959-0714010a04ed/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=2178golang.org/x/net v0.0.0-20210505214959-0714010a04ed/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
1669golang.org/x/net v0.0.0-20210525063256-abc453219eb5 h1:wjuX4b5yYQnEQHzd+CBcrcC6OVR2J1CN6mUy0oSxIPo=2179golang.org/x/net v0.0.0-20210520170846-37e1c6afe023/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
1670golang.org/x/net v0.0.0-20210525063256-abc453219eb5/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=2180golang.org/x/net v0.0.0-20210525063256-abc453219eb5/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
2181golang.org/x/net v0.0.0-20210610132358-84b48f89b13b/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
2182golang.org/x/net v0.0.0-20210614182718-04defd469f4e/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
2183golang.org/x/net v0.0.0-20210726213435-c6fcb2dbf985/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
2184golang.org/x/net v0.0.0-20210903162142-ad29c8ab022f/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
2185golang.org/x/net v0.0.0-20210917221730-978cfadd31cf h1:R150MpwJIv1MpS0N/pc+NhTM8ajzvlmxlY5OYsrevXQ=
2186golang.org/x/net v0.0.0-20210917221730-978cfadd31cf/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
1671golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=2187golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
1672golang.org/x/oauth2 v0.0.0-20181106182150-f42d05182288/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=2188golang.org/x/oauth2 v0.0.0-20181106182150-f42d05182288/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
1673golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=2189golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
@@ -1684,8 +2200,11 @@ golang.org/x/oauth2 v0.0.0-20210220000619-9bb904979d93/go.mod h1:KelEdhl1UZF7XfJ
1684golang.org/x/oauth2 v0.0.0-20210313182246-cd4f82c27b84/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A=2200golang.org/x/oauth2 v0.0.0-20210313182246-cd4f82c27b84/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A=
1685golang.org/x/oauth2 v0.0.0-20210323180902-22b0adad7558/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A=2201golang.org/x/oauth2 v0.0.0-20210323180902-22b0adad7558/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A=
1686golang.org/x/oauth2 v0.0.0-20210427180440-81ed05c6b58c/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A=2202golang.org/x/oauth2 v0.0.0-20210427180440-81ed05c6b58c/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A=
1687golang.org/x/oauth2 v0.0.0-20210514164344-f6687ab2804c h1:pkQiBZBvdos9qq4wBAHqlzuZHEXo07pqV06ef90u1WI=
1688golang.org/x/oauth2 v0.0.0-20210514164344-f6687ab2804c/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A=2203golang.org/x/oauth2 v0.0.0-20210514164344-f6687ab2804c/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A=
2204golang.org/x/oauth2 v0.0.0-20210628180205-a41e5a781914/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A=
2205golang.org/x/oauth2 v0.0.0-20210805134026-6f1e6394065a/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A=
2206golang.org/x/oauth2 v0.0.0-20210819190943-2bc19b11175f h1:Qmd2pbz05z7z6lm0DrgQVVPuBm92jqujBKMHMOlOQEw=
2207golang.org/x/oauth2 v0.0.0-20210819190943-2bc19b11175f/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A=
1689golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=2208golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
1690golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=2209golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
1691golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=2210golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
@@ -1702,7 +2221,6 @@ golang.org/x/sync v0.0.0-20210220032951-036812b2e83c h1:5KslGYwFpkhGh+Q16bwMP3cO
1702golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=2221golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
1703golang.org/x/sys v0.0.0-20170830134202-bb24a47a89ea/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=2222golang.org/x/sys v0.0.0-20170830134202-bb24a47a89ea/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
1704golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=2223golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
1705golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
1706golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=2224golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
1707golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=2225golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
1708golang.org/x/sys v0.0.0-20181026203630-95b1ffbd15a5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=2226golang.org/x/sys v0.0.0-20181026203630-95b1ffbd15a5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
@@ -1710,6 +2228,7 @@ golang.org/x/sys v0.0.0-20181107165924-66b7b1311ac8/go.mod h1:STP8DvDyc/dI5b8T5h
1710golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=2228golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
1711golang.org/x/sys v0.0.0-20181122145206-62eef0e2fa9b/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=2229golang.org/x/sys v0.0.0-20181122145206-62eef0e2fa9b/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
1712golang.org/x/sys v0.0.0-20190102155601-82a175fd1598/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=2230golang.org/x/sys v0.0.0-20190102155601-82a175fd1598/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
2231golang.org/x/sys v0.0.0-20190130150945-aca44879d564/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
1713golang.org/x/sys v0.0.0-20190204203706-41f3e6584952/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=2232golang.org/x/sys v0.0.0-20190204203706-41f3e6584952/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
1714golang.org/x/sys v0.0.0-20190209173611-3b5209105503/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=2233golang.org/x/sys v0.0.0-20190209173611-3b5209105503/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
1715golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=2234golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
@@ -1725,13 +2244,18 @@ golang.org/x/sys v0.0.0-20190425145619-16072639606e/go.mod h1:h1NjWce9XRLGQEsW7w
1725golang.org/x/sys v0.0.0-20190426135247-a129542de9ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=2244golang.org/x/sys v0.0.0-20190426135247-a129542de9ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
1726golang.org/x/sys v0.0.0-20190502145724-3ef323f4f1fd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=2245golang.org/x/sys v0.0.0-20190502145724-3ef323f4f1fd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
1727golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=2246golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
2247golang.org/x/sys v0.0.0-20190514135907-3a4b5fb9f71f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
2248golang.org/x/sys v0.0.0-20190522044717-8097e1b27ff5/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
1728golang.org/x/sys v0.0.0-20190531175056-4c3a928424d2/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=2249golang.org/x/sys v0.0.0-20190531175056-4c3a928424d2/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
2250golang.org/x/sys v0.0.0-20190602015325-4c4f7f33c9ed/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
1729golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=2251golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
2252golang.org/x/sys v0.0.0-20190606203320-7fc4e5ec1444/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
1730golang.org/x/sys v0.0.0-20190616124812-15dcb6c0061f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=2253golang.org/x/sys v0.0.0-20190616124812-15dcb6c0061f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
1731golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=2254golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
1732golang.org/x/sys v0.0.0-20190712062909-fae7ac547cb7/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=2255golang.org/x/sys v0.0.0-20190712062909-fae7ac547cb7/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
1733golang.org/x/sys v0.0.0-20190726091711-fc99dfbffb4e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=2256golang.org/x/sys v0.0.0-20190726091711-fc99dfbffb4e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
1734golang.org/x/sys v0.0.0-20190801041406-cbf593c0f2f3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=2257golang.org/x/sys v0.0.0-20190801041406-cbf593c0f2f3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
2258golang.org/x/sys v0.0.0-20190812073006-9eafafc0a87e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
1735golang.org/x/sys v0.0.0-20190813064441-fde4db37ae7a/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=2259golang.org/x/sys v0.0.0-20190813064441-fde4db37ae7a/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
1736golang.org/x/sys v0.0.0-20190826190057-c7b8b68b1456/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=2260golang.org/x/sys v0.0.0-20190826190057-c7b8b68b1456/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
1737golang.org/x/sys v0.0.0-20190902133755-9109b7679e13/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=2261golang.org/x/sys v0.0.0-20190902133755-9109b7679e13/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
@@ -1748,15 +2272,18 @@ golang.org/x/sys v0.0.0-20191025021431-6c3a3bfe00ae/go.mod h1:h1NjWce9XRLGQEsW7w
1748golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=2272golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
1749golang.org/x/sys v0.0.0-20191112214154-59a1497f0cea/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=2273golang.org/x/sys v0.0.0-20191112214154-59a1497f0cea/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
1750golang.org/x/sys v0.0.0-20191113165036-4c7a9d0fe056/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=2274golang.org/x/sys v0.0.0-20191113165036-4c7a9d0fe056/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
2275golang.org/x/sys v0.0.0-20191115151921-52ab43148777/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
1751golang.org/x/sys v0.0.0-20191120155948-bd437916bb0e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=2276golang.org/x/sys v0.0.0-20191120155948-bd437916bb0e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
1752golang.org/x/sys v0.0.0-20191128015809-6d18c012aee9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=2277golang.org/x/sys v0.0.0-20191128015809-6d18c012aee9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
1753golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=2278golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
2279golang.org/x/sys v0.0.0-20191210023423-ac6580df4449/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
1754golang.org/x/sys v0.0.0-20191220142924-d4481acd189f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=2280golang.org/x/sys v0.0.0-20191220142924-d4481acd189f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
1755golang.org/x/sys v0.0.0-20191228213918-04cbcbbfeed8/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=2281golang.org/x/sys v0.0.0-20191228213918-04cbcbbfeed8/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
1756golang.org/x/sys v0.0.0-20200106162015-b016eb3dc98e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=2282golang.org/x/sys v0.0.0-20200106162015-b016eb3dc98e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
1757golang.org/x/sys v0.0.0-20200107162124-548cf772de50/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=2283golang.org/x/sys v0.0.0-20200107162124-548cf772de50/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
1758golang.org/x/sys v0.0.0-20200113162924-86b910548bc1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=2284golang.org/x/sys v0.0.0-20200113162924-86b910548bc1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
1759golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=2285golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
2286golang.org/x/sys v0.0.0-20200120151820-655fe14d7479/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
1760golang.org/x/sys v0.0.0-20200122134326-e047566fdf82/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=2287golang.org/x/sys v0.0.0-20200122134326-e047566fdf82/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
1761golang.org/x/sys v0.0.0-20200124204421-9fbb57f87de9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=2288golang.org/x/sys v0.0.0-20200124204421-9fbb57f87de9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
1762golang.org/x/sys v0.0.0-20200202164722-d101bd2416d5/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=2289golang.org/x/sys v0.0.0-20200202164722-d101bd2416d5/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
@@ -1778,16 +2305,25 @@ golang.org/x/sys v0.0.0-20200625212154-ddb9806d33ae/go.mod h1:h1NjWce9XRLGQEsW7w
1778golang.org/x/sys v0.0.0-20200724161237-0e2f3a69832c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=2305golang.org/x/sys v0.0.0-20200724161237-0e2f3a69832c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
1779golang.org/x/sys v0.0.0-20200728102440-3e129f6d46b1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=2306golang.org/x/sys v0.0.0-20200728102440-3e129f6d46b1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
1780golang.org/x/sys v0.0.0-20200803210538-64077c9b5642/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=2307golang.org/x/sys v0.0.0-20200803210538-64077c9b5642/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
2308golang.org/x/sys v0.0.0-20200817155316-9781c653f443/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
2309golang.org/x/sys v0.0.0-20200826173525-f9321e4c35a6/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
2310golang.org/x/sys v0.0.0-20200828194041-157a740278f4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
1781golang.org/x/sys v0.0.0-20200831180312-196b9ba8737a/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=2311golang.org/x/sys v0.0.0-20200831180312-196b9ba8737a/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
1782golang.org/x/sys v0.0.0-20200905004654-be1d3432aa8f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=2312golang.org/x/sys v0.0.0-20200905004654-be1d3432aa8f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
2313golang.org/x/sys v0.0.0-20200909081042-eff7692f9009/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
2314golang.org/x/sys v0.0.0-20200916030750-2334cc1a136f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
1783golang.org/x/sys v0.0.0-20200918174421-af09f7315aff/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=2315golang.org/x/sys v0.0.0-20200918174421-af09f7315aff/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
2316golang.org/x/sys v0.0.0-20200922070232-aee5d888a860/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
2317golang.org/x/sys v0.0.0-20200923182605-d9f96fdee20d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
1784golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=2318golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
1785golang.org/x/sys v0.0.0-20201008064518-c1f3e3309c71/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=2319golang.org/x/sys v0.0.0-20201008064518-c1f3e3309c71/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
1786golang.org/x/sys v0.0.0-20201009025420-dfb3f7c4e634/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=2320golang.org/x/sys v0.0.0-20201009025420-dfb3f7c4e634/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
1787golang.org/x/sys v0.0.0-20201015000850-e3ed0017c211/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=2321golang.org/x/sys v0.0.0-20201015000850-e3ed0017c211/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
1788golang.org/x/sys v0.0.0-20201112073958-5cba982894dd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=2322golang.org/x/sys v0.0.0-20201112073958-5cba982894dd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
2323golang.org/x/sys v0.0.0-20201117170446-d9b008d0a637/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
1789golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=2324golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
1790golang.org/x/sys v0.0.0-20201201145000-ef89a241ccb3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=2325golang.org/x/sys v0.0.0-20201201145000-ef89a241ccb3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
2326golang.org/x/sys v0.0.0-20201202213521-69691e467435/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
1791golang.org/x/sys v0.0.0-20201214210602-f9fddec55a1e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=2327golang.org/x/sys v0.0.0-20201214210602-f9fddec55a1e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
1792golang.org/x/sys v0.0.0-20210104204734-6f8348627aad/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=2328golang.org/x/sys v0.0.0-20210104204734-6f8348627aad/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
1793golang.org/x/sys v0.0.0-20210112080510-489259a85091/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=2329golang.org/x/sys v0.0.0-20210112080510-489259a85091/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
@@ -1802,11 +2338,24 @@ golang.org/x/sys v0.0.0-20210314195730-07df6a141424/go.mod h1:h1NjWce9XRLGQEsW7w
1802golang.org/x/sys v0.0.0-20210315160823-c6e025ad8005/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=2338golang.org/x/sys v0.0.0-20210315160823-c6e025ad8005/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
1803golang.org/x/sys v0.0.0-20210320140829-1e4c9ba3b0c4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=2339golang.org/x/sys v0.0.0-20210320140829-1e4c9ba3b0c4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
1804golang.org/x/sys v0.0.0-20210324051608-47abb6519492/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=2340golang.org/x/sys v0.0.0-20210324051608-47abb6519492/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
2341golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
2342golang.org/x/sys v0.0.0-20210403161142-5e06dd20ab57/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
1805golang.org/x/sys v0.0.0-20210420072515-93ed5bcd2bfe/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=2343golang.org/x/sys v0.0.0-20210420072515-93ed5bcd2bfe/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
1806golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=2344golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
1807golang.org/x/sys v0.0.0-20210503080704-8803ae5d1324/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=2345golang.org/x/sys v0.0.0-20210503080704-8803ae5d1324/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
1808golang.org/x/sys v0.0.0-20210503173754-0981d6026fa6 h1:cdsMqa2nXzqlgs183pHxtvoVwU7CyzaCTAUOg94af4c=
1809golang.org/x/sys v0.0.0-20210503173754-0981d6026fa6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=2346golang.org/x/sys v0.0.0-20210503173754-0981d6026fa6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
2347golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
2348golang.org/x/sys v0.0.0-20210514084401-e8d321eab015/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
2349golang.org/x/sys v0.0.0-20210603081109-ebe580a85c40/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
2350golang.org/x/sys v0.0.0-20210603125802-9665404d3644/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
2351golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
2352golang.org/x/sys v0.0.0-20210616094352-59db8d763f22/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
2353golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
2354golang.org/x/sys v0.0.0-20210806184541-e5e7981a1069/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
2355golang.org/x/sys v0.0.0-20210823070655-63515b42dcdf/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
2356golang.org/x/sys v0.0.0-20210906170528-6f6e22806c34/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
2357golang.org/x/sys v0.0.0-20210917161153-d61c044b1678 h1:J27LZFQBFoihqXoegpscI10HpjZ7B5WQLLKL2FZXQKw=
2358golang.org/x/sys v0.0.0-20210917161153-d61c044b1678/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
1810golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw=2359golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw=
1811golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1 h1:v+OssWQX+hTHEmOBgwxdZxK4zHq3yOs8F9J7mk0PY8E=2360golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1 h1:v+OssWQX+hTHEmOBgwxdZxK4zHq3yOs8F9J7mk0PY8E=
1812golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=2361golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
@@ -1819,8 +2368,9 @@ golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk=
1819golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=2368golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
1820golang.org/x/text v0.3.4/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=2369golang.org/x/text v0.3.4/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
1821golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=2370golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
1822golang.org/x/text v0.3.6 h1:aRYxNxv6iGQlyVaZmk6ZgYEDa+Jg18DxebPSrd6bg1M=
1823golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=2371golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
2372golang.org/x/text v0.3.7 h1:olpwvP2KacW1ZWvsR7uQhoyTYvKAupfQrRGBFM352Gk=
2373golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
1824golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=2374golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
1825golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=2375golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
1826golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=2376golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
@@ -1828,15 +2378,15 @@ golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxb
1828golang.org/x/time v0.0.0-20200416051211-89c76fbcd5d1/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=2378golang.org/x/time v0.0.0-20200416051211-89c76fbcd5d1/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
1829golang.org/x/time v0.0.0-20200630173020-3af7569d3a1e/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=2379golang.org/x/time v0.0.0-20200630173020-3af7569d3a1e/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
1830golang.org/x/time v0.0.0-20201208040808-7e3f01d25324/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=2380golang.org/x/time v0.0.0-20201208040808-7e3f01d25324/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
1831golang.org/x/time v0.0.0-20210220033141-f8bda1e9f3ba h1:O8mE0/t419eoIwhTFpKVkHiTs/Igowgfkj25AcZrtiE=
1832golang.org/x/time v0.0.0-20210220033141-f8bda1e9f3ba/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=2381golang.org/x/time v0.0.0-20210220033141-f8bda1e9f3ba/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
2382golang.org/x/time v0.0.0-20210611083556-38a9dc6acbc6/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
2383golang.org/x/time v0.0.0-20210723032227-1f47c861a9ac h1:7zkz7BUtwNFFqcowJ+RIgu2MaV/MapERkDIy+mwPyjs=
2384golang.org/x/time v0.0.0-20210723032227-1f47c861a9ac/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
1833golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=2385golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
1834golang.org/x/tools v0.0.0-20180525024113-a5b4c53f6e8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=2386golang.org/x/tools v0.0.0-20180525024113-a5b4c53f6e8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
1835golang.org/x/tools v0.0.0-20180828015842-6cd1fcedba52/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
1836golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=2387golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
1837golang.org/x/tools v0.0.0-20181011042414-1f849cf54d09/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=2388golang.org/x/tools v0.0.0-20181011042414-1f849cf54d09/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
1838golang.org/x/tools v0.0.0-20181030221726-6c7e314b6563/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=2389golang.org/x/tools v0.0.0-20181030221726-6c7e314b6563/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
1839golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
1840golang.org/x/tools v0.0.0-20190118193359-16909d206f00/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=2390golang.org/x/tools v0.0.0-20190118193359-16909d206f00/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
1841golang.org/x/tools v0.0.0-20190125232054-d66bd3c5d5a6/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=2391golang.org/x/tools v0.0.0-20190125232054-d66bd3c5d5a6/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
1842golang.org/x/tools v0.0.0-20190206041539-40960b6deb8e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=2392golang.org/x/tools v0.0.0-20190206041539-40960b6deb8e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
@@ -1890,18 +2440,22 @@ golang.org/x/tools v0.0.0-20200212150539-ea181f53ac56/go.mod h1:TB2adYChydJhpapK
1890golang.org/x/tools v0.0.0-20200216192241-b320d3a0f5a2/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=2440golang.org/x/tools v0.0.0-20200216192241-b320d3a0f5a2/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
1891golang.org/x/tools v0.0.0-20200224181240-023911ca70b2/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=2441golang.org/x/tools v0.0.0-20200224181240-023911ca70b2/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
1892golang.org/x/tools v0.0.0-20200227222343-706bc42d1f0d/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=2442golang.org/x/tools v0.0.0-20200227222343-706bc42d1f0d/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
2443golang.org/x/tools v0.0.0-20200304024140-c4206d458c3f/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw=
1893golang.org/x/tools v0.0.0-20200304193943-95d2e580d8eb/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw=2444golang.org/x/tools v0.0.0-20200304193943-95d2e580d8eb/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw=
1894golang.org/x/tools v0.0.0-20200312045724-11d5b4c81c7d/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw=2445golang.org/x/tools v0.0.0-20200312045724-11d5b4c81c7d/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw=
1895golang.org/x/tools v0.0.0-20200331025713-a30bf2db82d4/go.mod h1:Sl4aGygMT6LrqrWclx+PTx3U+LnKx/seiNR+3G19Ar8=2446golang.org/x/tools v0.0.0-20200331025713-a30bf2db82d4/go.mod h1:Sl4aGygMT6LrqrWclx+PTx3U+LnKx/seiNR+3G19Ar8=
2447golang.org/x/tools v0.0.0-20200422205258-72e4a01eba43/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
1896golang.org/x/tools v0.0.0-20200501065659-ab2804fb9c9d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=2448golang.org/x/tools v0.0.0-20200501065659-ab2804fb9c9d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
1897golang.org/x/tools v0.0.0-20200509030707-2212a7e161a5/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=2449golang.org/x/tools v0.0.0-20200509030707-2212a7e161a5/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
1898golang.org/x/tools v0.0.0-20200512131952-2bc93b1c0c88/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=2450golang.org/x/tools v0.0.0-20200512131952-2bc93b1c0c88/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
1899golang.org/x/tools v0.0.0-20200513201620-d5fe73897c97/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=2451golang.org/x/tools v0.0.0-20200513201620-d5fe73897c97/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
1900golang.org/x/tools v0.0.0-20200515010526-7d3b6ebf133d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=2452golang.org/x/tools v0.0.0-20200515010526-7d3b6ebf133d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
2453golang.org/x/tools v0.0.0-20200522201501-cb1345f3a375/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
1901golang.org/x/tools v0.0.0-20200603131246-cc40288be839/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=2454golang.org/x/tools v0.0.0-20200603131246-cc40288be839/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
1902golang.org/x/tools v0.0.0-20200618134242-20370b0cb4b2/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=2455golang.org/x/tools v0.0.0-20200618134242-20370b0cb4b2/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
1903golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=2456golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
1904golang.org/x/tools v0.0.0-20200710042808-f1c4188a97a1/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA=2457golang.org/x/tools v0.0.0-20200710042808-f1c4188a97a1/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA=
2458golang.org/x/tools v0.0.0-20200721032237-77f530d86f9a/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA=
1905golang.org/x/tools v0.0.0-20200725200936-102e7d357031/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA=2459golang.org/x/tools v0.0.0-20200725200936-102e7d357031/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA=
1906golang.org/x/tools v0.0.0-20200729194436-6467de6f59a7/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA=2460golang.org/x/tools v0.0.0-20200729194436-6467de6f59a7/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA=
1907golang.org/x/tools v0.0.0-20200804011535-6c149bb5ef0d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA=2461golang.org/x/tools v0.0.0-20200804011535-6c149bb5ef0d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA=
@@ -1917,8 +2471,13 @@ golang.org/x/tools v0.0.0-20201208233053-a543418bbed2/go.mod h1:emZCQorbCU4vsT4f
1917golang.org/x/tools v0.0.0-20201224043029-2b0845dc783e/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=2471golang.org/x/tools v0.0.0-20201224043029-2b0845dc783e/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
1918golang.org/x/tools v0.0.0-20210105154028-b0ab187a4818/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=2472golang.org/x/tools v0.0.0-20210105154028-b0ab187a4818/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
1919golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=2473golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
1920golang.org/x/tools v0.1.0 h1:po9/4sTYwZU9lPhi1tOrb4hCv3qrhiQ77LZfGa2OjwY=
1921golang.org/x/tools v0.1.0/go.mod h1:xkSsbof2nBLbhDlRMhhhyNLN/zl3eTqcnHD5viDpcZ0=2474golang.org/x/tools v0.1.0/go.mod h1:xkSsbof2nBLbhDlRMhhhyNLN/zl3eTqcnHD5viDpcZ0=
2475golang.org/x/tools v0.1.1/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk=
2476golang.org/x/tools v0.1.2/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk=
2477golang.org/x/tools v0.1.3/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk=
2478golang.org/x/tools v0.1.4/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk=
2479golang.org/x/tools v0.1.5 h1:ouewzE6p+/VEB31YYnTbEJdi8pFqKp4P4n85vwo3DHA=
2480golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk=
1922golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=2481golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
1923golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=2482golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
1924golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=2483golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
@@ -1927,9 +2486,11 @@ golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8T
1927gonum.org/v1/gonum v0.0.0-20180816165407-929014505bf4/go.mod h1:Y+Yx5eoAFn32cQvJDxZx5Dpnq+c3wtXuadVZAcxbbBo=2486gonum.org/v1/gonum v0.0.0-20180816165407-929014505bf4/go.mod h1:Y+Yx5eoAFn32cQvJDxZx5Dpnq+c3wtXuadVZAcxbbBo=
1928gonum.org/v1/gonum v0.0.0-20181121035319-3f7ecaa7e8ca/go.mod h1:Y+Yx5eoAFn32cQvJDxZx5Dpnq+c3wtXuadVZAcxbbBo=2487gonum.org/v1/gonum v0.0.0-20181121035319-3f7ecaa7e8ca/go.mod h1:Y+Yx5eoAFn32cQvJDxZx5Dpnq+c3wtXuadVZAcxbbBo=
1929gonum.org/v1/gonum v0.6.0/go.mod h1:9mxDZsDKxgMAuccQkewq682L+0eCu4dCN2yonUJTCLU=2488gonum.org/v1/gonum v0.6.0/go.mod h1:9mxDZsDKxgMAuccQkewq682L+0eCu4dCN2yonUJTCLU=
2489gonum.org/v1/gonum v0.8.2/go.mod h1:oe/vMfY3deqTw+1EZJhuvEW2iwGF1bW9wwu7XCu0+v0=
1930gonum.org/v1/netlib v0.0.0-20181029234149-ec6d1f5cefe6/go.mod h1:wa6Ws7BG/ESfp6dHfk7C6KdzKA7wR7u/rKwOGE66zvw=2490gonum.org/v1/netlib v0.0.0-20181029234149-ec6d1f5cefe6/go.mod h1:wa6Ws7BG/ESfp6dHfk7C6KdzKA7wR7u/rKwOGE66zvw=
1931gonum.org/v1/netlib v0.0.0-20190313105609-8cb42192e0e0/go.mod h1:wa6Ws7BG/ESfp6dHfk7C6KdzKA7wR7u/rKwOGE66zvw=2491gonum.org/v1/netlib v0.0.0-20190313105609-8cb42192e0e0/go.mod h1:wa6Ws7BG/ESfp6dHfk7C6KdzKA7wR7u/rKwOGE66zvw=
1932gonum.org/v1/plot v0.0.0-20190515093506-e2840ee46a6b/go.mod h1:Wt8AAjI+ypCyYX3nZBvf6cAIx93T+c/OS2HFAYskSZc=2492gonum.org/v1/plot v0.0.0-20190515093506-e2840ee46a6b/go.mod h1:Wt8AAjI+ypCyYX3nZBvf6cAIx93T+c/OS2HFAYskSZc=
2493google.golang.org/api v0.0.0-20160322025152-9bf6e6e569ff/go.mod h1:4mhQ8q/RsB7i+udVvVy5NUi08OU8ZlA0gRVgrF7VFY0=
1933google.golang.org/api v0.3.1/go.mod h1:6wY9I6uQWHQ8EM57III9mq/AjF+i8G65rmVagqKMtkk=2494google.golang.org/api v0.3.1/go.mod h1:6wY9I6uQWHQ8EM57III9mq/AjF+i8G65rmVagqKMtkk=
1934google.golang.org/api v0.3.2/go.mod h1:6wY9I6uQWHQ8EM57III9mq/AjF+i8G65rmVagqKMtkk=2495google.golang.org/api v0.3.2/go.mod h1:6wY9I6uQWHQ8EM57III9mq/AjF+i8G65rmVagqKMtkk=
1935google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE=2496google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE=
@@ -1957,9 +2518,14 @@ google.golang.org/api v0.40.0/go.mod h1:fYKFpnQN0DsDSKRVRcQSDQNtqWPfM9i+zNPxepjR
1957google.golang.org/api v0.41.0/go.mod h1:RkxM5lITDfTzmyKFPt+wGrCJbVfniCr2ool8kTBzRTU=2518google.golang.org/api v0.41.0/go.mod h1:RkxM5lITDfTzmyKFPt+wGrCJbVfniCr2ool8kTBzRTU=
1958google.golang.org/api v0.42.0/go.mod h1:+Oj4s6ch2SEGtPjGqfUfZonBH0GjQH89gTeKKAEGZKI=2519google.golang.org/api v0.42.0/go.mod h1:+Oj4s6ch2SEGtPjGqfUfZonBH0GjQH89gTeKKAEGZKI=
1959google.golang.org/api v0.43.0/go.mod h1:nQsDGjRXMo4lvh5hP0TKqF244gqhGcr/YSIykhUk/94=2520google.golang.org/api v0.43.0/go.mod h1:nQsDGjRXMo4lvh5hP0TKqF244gqhGcr/YSIykhUk/94=
1960google.golang.org/api v0.46.0 h1:jkDWHOBIoNSD0OQpq4rtBVu+Rh325MPjXG1rakAp8JU=
1961google.golang.org/api v0.46.0/go.mod h1:ceL4oozhkAiTID8XMmJBsIxID/9wMXJVVFXPg4ylg3I=2521google.golang.org/api v0.46.0/go.mod h1:ceL4oozhkAiTID8XMmJBsIxID/9wMXJVVFXPg4ylg3I=
1962google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM=2522google.golang.org/api v0.47.0/go.mod h1:Wbvgpq1HddcWVtzsVLyfLp8lDg6AA241LmgIL59tHXo=
2523google.golang.org/api v0.48.0/go.mod h1:71Pr1vy+TAZRPkPs/xlCf5SsU8WjuAWv1Pfjbtukyy4=
2524google.golang.org/api v0.50.0/go.mod h1:4bNT5pAuq5ji4SRZm+5QIkjny9JAyVD/3gaSihNefaw=
2525google.golang.org/api v0.51.0/go.mod h1:t4HdrdoNgyN5cbEfm7Lum0lcLDLiise1F8qDKX00sOU=
2526google.golang.org/api v0.54.0/go.mod h1:7C4bFFOvVDGXjfDTAsgGwDgAxRDeQ4X8NvUedIt6z3k=
2527google.golang.org/api v0.56.0 h1:08F9XVYTLOGeSQb3xI9C0gXMuQanhdGed0cWFhDozbI=
2528google.golang.org/api v0.56.0/go.mod h1:38yMfeP1kfjsl8isn0tliTjIb1rJXcQi4UXlbqivdVE=
1963google.golang.org/appengine v1.2.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=2529google.golang.org/appengine v1.2.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
1964google.golang.org/appengine v1.3.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=2530google.golang.org/appengine v1.3.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
1965google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=2531google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
@@ -1969,6 +2535,8 @@ google.golang.org/appengine v1.6.5/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCID
1969google.golang.org/appengine v1.6.6/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc=2535google.golang.org/appengine v1.6.6/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc=
1970google.golang.org/appengine v1.6.7 h1:FZR1q0exgwxzPzp/aF+VccGrSfxfPpkBqjIIEq3ru6c=2536google.golang.org/appengine v1.6.7 h1:FZR1q0exgwxzPzp/aF+VccGrSfxfPpkBqjIIEq3ru6c=
1971google.golang.org/appengine v1.6.7/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc=2537google.golang.org/appengine v1.6.7/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc=
2538google.golang.org/cloud v0.0.0-20151119220103-975617b05ea8/go.mod h1:0H1ncTHf11KCFhTc/+EFRbzSCOZx+VUbRMk55Yv5MYk=
2539google.golang.org/genproto v0.0.0-20180518175338-11a468237815/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc=
1972google.golang.org/genproto v0.0.0-20180608181217-32ee49c4dd80/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc=2540google.golang.org/genproto v0.0.0-20180608181217-32ee49c4dd80/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc=
1973google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc=2541google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc=
1974google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE=2542google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE=
@@ -1976,6 +2544,7 @@ google.golang.org/genproto v0.0.0-20190404172233-64821d5d2107/go.mod h1:VzzqZJRn
1976google.golang.org/genproto v0.0.0-20190418145605-e7d98fc518a7/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE=2544google.golang.org/genproto v0.0.0-20190418145605-e7d98fc518a7/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE=
1977google.golang.org/genproto v0.0.0-20190425155659-357c62f0e4bb/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE=2545google.golang.org/genproto v0.0.0-20190425155659-357c62f0e4bb/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE=
1978google.golang.org/genproto v0.0.0-20190502173448-54afdca5d873/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE=2546google.golang.org/genproto v0.0.0-20190502173448-54afdca5d873/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE=
2547google.golang.org/genproto v0.0.0-20190522204451-c2c4e71fbf69/go.mod h1:z3L6/3dTEVtUr6QSP8miRzeRqwQOioJ9I66odjN4I7s=
1979google.golang.org/genproto v0.0.0-20190530194941-fb225487d101/go.mod h1:z3L6/3dTEVtUr6QSP8miRzeRqwQOioJ9I66odjN4I7s=2548google.golang.org/genproto v0.0.0-20190530194941-fb225487d101/go.mod h1:z3L6/3dTEVtUr6QSP8miRzeRqwQOioJ9I66odjN4I7s=
1980google.golang.org/genproto v0.0.0-20190716160619-c506a9f90610/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc=2549google.golang.org/genproto v0.0.0-20190716160619-c506a9f90610/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc=
1981google.golang.org/genproto v0.0.0-20190801165951-fa694d86fc64/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc=2550google.golang.org/genproto v0.0.0-20190801165951-fa694d86fc64/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc=
@@ -1989,6 +2558,7 @@ google.golang.org/genproto v0.0.0-20191216164720-4f79533eabd1/go.mod h1:n3cpQtvx
1989google.golang.org/genproto v0.0.0-20191230161307-f3c370f40bfb/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc=2558google.golang.org/genproto v0.0.0-20191230161307-f3c370f40bfb/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc=
1990google.golang.org/genproto v0.0.0-20200108215221-bd8f9a0ef82f/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc=2559google.golang.org/genproto v0.0.0-20200108215221-bd8f9a0ef82f/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc=
1991google.golang.org/genproto v0.0.0-20200115191322-ca5a22157cba/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc=2560google.golang.org/genproto v0.0.0-20200115191322-ca5a22157cba/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc=
2561google.golang.org/genproto v0.0.0-20200117163144-32f20d992d24/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc=
1992google.golang.org/genproto v0.0.0-20200122232147-0452cf42e150/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc=2562google.golang.org/genproto v0.0.0-20200122232147-0452cf42e150/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc=
1993google.golang.org/genproto v0.0.0-20200204135345-fa8e72b47b90/go.mod h1:GmwEX6Z4W5gMy59cAlVYjN9JhxgbQH6Gn+gFDQe2lzA=2563google.golang.org/genproto v0.0.0-20200204135345-fa8e72b47b90/go.mod h1:GmwEX6Z4W5gMy59cAlVYjN9JhxgbQH6Gn+gFDQe2lzA=
1994google.golang.org/genproto v0.0.0-20200212174721-66ed5ce911ce/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c=2564google.golang.org/genproto v0.0.0-20200212174721-66ed5ce911ce/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c=
@@ -1997,6 +2567,7 @@ google.golang.org/genproto v0.0.0-20200228133532-8c2c7df3a383/go.mod h1:55QSHmfG
1997google.golang.org/genproto v0.0.0-20200305110556-506484158171/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c=2567google.golang.org/genproto v0.0.0-20200305110556-506484158171/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c=
1998google.golang.org/genproto v0.0.0-20200312145019-da6875a35672/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c=2568google.golang.org/genproto v0.0.0-20200312145019-da6875a35672/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c=
1999google.golang.org/genproto v0.0.0-20200331122359-1ee6d9798940/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c=2569google.golang.org/genproto v0.0.0-20200331122359-1ee6d9798940/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c=
2570google.golang.org/genproto v0.0.0-20200420144010-e5e8543f8aeb/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c=
2000google.golang.org/genproto v0.0.0-20200423170343-7949de9c1215/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c=2571google.golang.org/genproto v0.0.0-20200423170343-7949de9c1215/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c=
2001google.golang.org/genproto v0.0.0-20200430143042-b979b6f78d84/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c=2572google.golang.org/genproto v0.0.0-20200430143042-b979b6f78d84/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c=
2002google.golang.org/genproto v0.0.0-20200511104702-f5ebc3bea380/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c=2573google.golang.org/genproto v0.0.0-20200511104702-f5ebc3bea380/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c=
@@ -2012,7 +2583,9 @@ google.golang.org/genproto v0.0.0-20200804131852-c06518451d9c/go.mod h1:FWY/as6D
2012google.golang.org/genproto v0.0.0-20200815001618-f69a88009b70/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=2583google.golang.org/genproto v0.0.0-20200815001618-f69a88009b70/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
2013google.golang.org/genproto v0.0.0-20200825200019-8632dd797987/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=2584google.golang.org/genproto v0.0.0-20200825200019-8632dd797987/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
2014google.golang.org/genproto v0.0.0-20200904004341-0bd0a958aa1d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=2585google.golang.org/genproto v0.0.0-20200904004341-0bd0a958aa1d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
2586google.golang.org/genproto v0.0.0-20201019141844-1ed22bb0c154/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
2015google.golang.org/genproto v0.0.0-20201109203340-2640f1f9cdfb/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=2587google.golang.org/genproto v0.0.0-20201109203340-2640f1f9cdfb/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
2588google.golang.org/genproto v0.0.0-20201110150050-8816d57aaa9a/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
2016google.golang.org/genproto v0.0.0-20201201144952-b05cb90ed32e/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=2589google.golang.org/genproto v0.0.0-20201201144952-b05cb90ed32e/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
2017google.golang.org/genproto v0.0.0-20201210142538-e3217bee35cc/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=2590google.golang.org/genproto v0.0.0-20201210142538-e3217bee35cc/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
2018google.golang.org/genproto v0.0.0-20201214200347-8c77b98c765d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=2591google.golang.org/genproto v0.0.0-20201214200347-8c77b98c765d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
@@ -2022,38 +2595,25 @@ google.golang.org/genproto v0.0.0-20210310155132-4ce2db91004e/go.mod h1:FWY/as6D
2022google.golang.org/genproto v0.0.0-20210312152112-fc591d9ea70f/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=2595google.golang.org/genproto v0.0.0-20210312152112-fc591d9ea70f/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
2023google.golang.org/genproto v0.0.0-20210319143718-93e7006c17a6/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=2596google.golang.org/genproto v0.0.0-20210319143718-93e7006c17a6/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
2024google.golang.org/genproto v0.0.0-20210402141018-6c239bbf2bb1/go.mod h1:9lPAdzaEmUacj36I+k7YKbEc5CXzPIeORRgDAUOu28A=2597google.golang.org/genproto v0.0.0-20210402141018-6c239bbf2bb1/go.mod h1:9lPAdzaEmUacj36I+k7YKbEc5CXzPIeORRgDAUOu28A=
2025google.golang.org/genproto v0.0.0-20210429181445-86c259c2b4ab h1:dkb90hr43A2Q5as5ZBphcOF2II0+EqfCBqGp7qFSpN4=
2026google.golang.org/genproto v0.0.0-20210429181445-86c259c2b4ab/go.mod h1:P3QM42oQyzQSnHPnZ/vqoCdDmzH28fzWByN9asMeM8A=2598google.golang.org/genproto v0.0.0-20210429181445-86c259c2b4ab/go.mod h1:P3QM42oQyzQSnHPnZ/vqoCdDmzH28fzWByN9asMeM8A=
2027google.golang.org/grpc v1.14.0/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw=2599google.golang.org/genproto v0.0.0-20210513213006-bf773b8c8384/go.mod h1:P3QM42oQyzQSnHPnZ/vqoCdDmzH28fzWByN9asMeM8A=
2028google.golang.org/grpc v1.17.0/go.mod h1:6QZJwpn2B+Zp71q/5VxRsJ6NXXVCE5NRUHRo+f3cWCs=2600google.golang.org/genproto v0.0.0-20210602131652-f16073e35f0c/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0=
2029google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c=2601google.golang.org/genproto v0.0.0-20210604141403-392c879c8b08/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0=
2030google.golang.org/grpc v1.20.0/go.mod h1:chYK+tFQF0nDUGJgXMSgLCQk3phJEuONr2DCgLDdAQM=2602google.golang.org/genproto v0.0.0-20210608205507-b6d2f5bf0d7d/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0=
2031google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38=2603google.golang.org/genproto v0.0.0-20210624195500-8bfb893ecb84/go.mod h1:SzzZ/N+nwJDaO1kznhnlzqS8ocJICar6hYhVyhi++24=
2032google.golang.org/grpc v1.21.0/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM=2604google.golang.org/genproto v0.0.0-20210713002101-d411969a0d9a/go.mod h1:AxrInvYm1dci+enl5hChSFPOmmUF1+uAa/UsgNRWd7k=
2033google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM=2605google.golang.org/genproto v0.0.0-20210716133855-ce7ef5c701ea/go.mod h1:AxrInvYm1dci+enl5hChSFPOmmUF1+uAa/UsgNRWd7k=
2034google.golang.org/grpc v1.22.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg=2606google.golang.org/genproto v0.0.0-20210728212813-7823e685a01f/go.mod h1:ob2IJxKrgPT52GcgX759i1sleT07tiKowYBGbczaW48=
2035google.golang.org/grpc v1.22.1/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg=2607google.golang.org/genproto v0.0.0-20210805201207-89edb61ffb67/go.mod h1:ob2IJxKrgPT52GcgX759i1sleT07tiKowYBGbczaW48=
2036google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg=2608google.golang.org/genproto v0.0.0-20210813162853-db860fec028c/go.mod h1:cFeNkxwySK631ADgubI+/XFU/xp8FD5KIVV4rj8UC5w=
2037google.golang.org/grpc v1.23.1/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg=2609google.golang.org/genproto v0.0.0-20210821163610-241b8fcbd6c8/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY=
2038google.golang.org/grpc v1.24.0/go.mod h1:XDChyiUovWa60DnaeDeZmSW86xtLtjtZbwvSiRnRtcA=2610google.golang.org/genproto v0.0.0-20210828152312-66f60bf46e71/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY=
2039google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY=2611google.golang.org/genproto v0.0.0-20210903162649-d08c68adba83/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY=
2040google.golang.org/grpc v1.26.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk=2612google.golang.org/genproto v0.0.0-20210917145530-b395a37504d4 h1:ysnBoUyeL/H6RCvNRhWHjKoDEmguI+mPU+qHgK8qv/w=
2041google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk=2613google.golang.org/genproto v0.0.0-20210917145530-b395a37504d4/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY=
2042google.golang.org/grpc v1.27.1/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk=2614google.golang.org/grpc v1.38.0 h1:/9BgsAsa5nWe26HqOlvlgJnqBuktYOLCgjCPqsa56W0=
2043google.golang.org/grpc v1.28.0/go.mod h1:rpkK4SK4GF4Ach/+MFLZUBavHOvF2JJB5uozKKal+60=2615google.golang.org/grpc v1.38.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM=
2044google.golang.org/grpc v1.29.1/go.mod h1:itym6AZVZYACWQqET3MqgPpjcuV5QH3BxFS3IjizoKk=2616google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.1.0/go.mod h1:6Kw0yEErY5E/yWrBtf03jp27GLLJujG4z/JK95pnjjw=
2045google.golang.org/grpc v1.30.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak=
2046google.golang.org/grpc v1.31.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak=
2047google.golang.org/grpc v1.31.1/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak=
2048google.golang.org/grpc v1.32.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak=
2049google.golang.org/grpc v1.33.1/go.mod h1:fr5YgcSWrqhRRxogOsw7RzIpsmvOZ6IcH4kBYTpR3n0=
2050google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc=
2051google.golang.org/grpc v1.34.0/go.mod h1:WotjhfgOW/POjDeRt8vscBtXq+2VjORFy659qA51WJ8=
2052google.golang.org/grpc v1.35.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU=
2053google.golang.org/grpc v1.36.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU=
2054google.golang.org/grpc v1.36.1/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU=
2055google.golang.org/grpc v1.37.0 h1:uSZWeQJX5j11bIQ4AJoj+McDBo29cY1MCoC1wO3ts+c=
2056google.golang.org/grpc v1.37.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM=
2057google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8=2617google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8=
2058google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0=2618google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0=
2059google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM=2619google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM=
@@ -2065,12 +2625,14 @@ google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpAD
2065google.golang.org/protobuf v1.24.0/go.mod h1:r/3tXBNzIEhYS9I1OUVjXDlt8tc493IdKGjtUeSXeh4=2625google.golang.org/protobuf v1.24.0/go.mod h1:r/3tXBNzIEhYS9I1OUVjXDlt8tc493IdKGjtUeSXeh4=
2066google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c=2626google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c=
2067google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw=2627google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw=
2068google.golang.org/protobuf v1.26.0 h1:bxAC2xTBsZGibn2RTntX0oH50xLsqy1OxA9tTL3p/lk=
2069google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc=2628google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc=
2629google.golang.org/protobuf v1.27.1 h1:SnqbnDw1V7RiZcXPx5MEeqPv2s79L9i7BJUlG/+RurQ=
2630google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc=
2070gopkg.in/airbrake/gobrake.v2 v2.0.9/go.mod h1:/h5ZAUhDkGaJfjzjKLSjv6zCL6O0LLBxU4K+aSYdM/U=2631gopkg.in/airbrake/gobrake.v2 v2.0.9/go.mod h1:/h5ZAUhDkGaJfjzjKLSjv6zCL6O0LLBxU4K+aSYdM/U=
2071gopkg.in/alecthomas/kingpin.v2 v2.2.6 h1:jMFz6MfLP0/4fUyZle81rXUoxOBFi19VUFKVDOQfozc=2632gopkg.in/alecthomas/kingpin.v2 v2.2.6 h1:jMFz6MfLP0/4fUyZle81rXUoxOBFi19VUFKVDOQfozc=
2072gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw=2633gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw=
2073gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=2634gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
2635gopkg.in/check.v1 v1.0.0-20141024133853-64131543e789/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
2074gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=2636gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
2075gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=2637gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
2076gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f h1:BLraFXnmrev5lT+xlilqcH8XK9/i0At2xKjWk4p6zsU=2638gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f h1:BLraFXnmrev5lT+xlilqcH8XK9/i0At2xKjWk4p6zsU=
@@ -2083,6 +2645,8 @@ gopkg.in/fsnotify/fsnotify.v1 v1.4.7 h1:XNNYLJHt73EyYiCZi6+xjupS9CpvmiDgjPTAjrBl
2083gopkg.in/fsnotify/fsnotify.v1 v1.4.7/go.mod h1:Fyux9zXlo4rWoMSIzpn9fDAYjalPqJ/K1qJ27s+7ltE=2645gopkg.in/fsnotify/fsnotify.v1 v1.4.7/go.mod h1:Fyux9zXlo4rWoMSIzpn9fDAYjalPqJ/K1qJ27s+7ltE=
2084gopkg.in/gcfg.v1 v1.2.3/go.mod h1:yesOnuUOFQAhST5vPY4nbZsb/huCgGGXlipJsBn0b3o=2646gopkg.in/gcfg.v1 v1.2.3/go.mod h1:yesOnuUOFQAhST5vPY4nbZsb/huCgGGXlipJsBn0b3o=
2085gopkg.in/gemnasium/logrus-airbrake-hook.v2 v2.1.2/go.mod h1:Xk6kEKp8OKb+X14hQBKWaSkCsqBpgog8nAV2xsGOxlo=2647gopkg.in/gemnasium/logrus-airbrake-hook.v2 v2.1.2/go.mod h1:Xk6kEKp8OKb+X14hQBKWaSkCsqBpgog8nAV2xsGOxlo=
2648gopkg.in/go-playground/assert.v1 v1.2.1/go.mod h1:9RXL0bg/zibRAgZUYszZSwO/z8Y/a8bDuhia5mkpMnE=
2649gopkg.in/go-playground/validator.v9 v9.29.1/go.mod h1:+c9/zcJMFNgbLvly1L1V+PpxWdVbfP1avr/N00E2vyQ=
2086gopkg.in/inf.v0 v0.9.0/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw=2650gopkg.in/inf.v0 v0.9.0/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw=
2087gopkg.in/inf.v0 v0.9.1 h1:73M5CoZyi3ZLMOyDlQh031Cx6N9NDJ2Vvfl76EDAgDc=2651gopkg.in/inf.v0 v0.9.1 h1:73M5CoZyi3ZLMOyDlQh031Cx6N9NDJ2Vvfl76EDAgDc=
2088gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw=2652gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw=
@@ -2090,7 +2654,12 @@ gopkg.in/ini.v1 v1.42.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k=
2090gopkg.in/ini.v1 v1.51.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k=2654gopkg.in/ini.v1 v1.51.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k=
2091gopkg.in/ini.v1 v1.57.0 h1:9unxIsFcTt4I55uWluz+UmL95q4kdJ0buvQ1ZIqVQww=2655gopkg.in/ini.v1 v1.57.0 h1:9unxIsFcTt4I55uWluz+UmL95q4kdJ0buvQ1ZIqVQww=
2092gopkg.in/ini.v1 v1.57.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k=2656gopkg.in/ini.v1 v1.57.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k=
2657gopkg.in/natefinch/lumberjack.v2 v2.0.0 h1:1Lc07Kr7qY4U2YPouBjpCLxpiyxIVoxqXgkXLknAOE8=
2658gopkg.in/natefinch/lumberjack.v2 v2.0.0/go.mod h1:l0ndWWf7gzL7RNwBG7wST/UCcT4T24xpD6X8LsfU/+k=
2093gopkg.in/resty.v1 v1.12.0/go.mod h1:mDo4pnntr5jdWRML875a/NmxYqAlA73dVijT2AXvQQo=2659gopkg.in/resty.v1 v1.12.0/go.mod h1:mDo4pnntr5jdWRML875a/NmxYqAlA73dVijT2AXvQQo=
2660gopkg.in/square/go-jose.v2 v2.2.2/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI=
2661gopkg.in/square/go-jose.v2 v2.3.1/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI=
2662gopkg.in/square/go-jose.v2 v2.5.1/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI=
2094gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 h1:uRGJdciOHaEIrze2W8Q3AKkepLTh2hOroT7a+7czfdQ=2663gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 h1:uRGJdciOHaEIrze2W8Q3AKkepLTh2hOroT7a+7czfdQ=
2095gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw=2664gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw=
2096gopkg.in/warnings.v0 v0.1.2/go.mod h1:jksf8JmL6Qr/oQM2OXTHunEvvTAsrWBLb6OOjuVWRNI=2665gopkg.in/warnings.v0 v0.1.2/go.mod h1:jksf8JmL6Qr/oQM2OXTHunEvvTAsrWBLb6OOjuVWRNI=
@@ -2115,33 +2684,46 @@ gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C
2115gotest.tools v2.2.0+incompatible/go.mod h1:DsYFclhRJ6vuDpmuTbkuFWG+y2sxOXAzmJt81HFBacw=2684gotest.tools v2.2.0+incompatible/go.mod h1:DsYFclhRJ6vuDpmuTbkuFWG+y2sxOXAzmJt81HFBacw=
2116gotest.tools/v3 v3.0.2/go.mod h1:3SzNCllyD9/Y+b5r9JIKQ474KzkZyqLqEfYqMsX94Bk=2685gotest.tools/v3 v3.0.2/go.mod h1:3SzNCllyD9/Y+b5r9JIKQ474KzkZyqLqEfYqMsX94Bk=
2117gotest.tools/v3 v3.0.3/go.mod h1:Z7Lb0S5l+klDB31fvDQX8ss/FlKDxtlFlw3Oa8Ymbl8=2686gotest.tools/v3 v3.0.3/go.mod h1:Z7Lb0S5l+klDB31fvDQX8ss/FlKDxtlFlw3Oa8Ymbl8=
2118honnef.co/go/tools v0.0.0-20180728063816-88497007e858/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
2119honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=2687honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
2120honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=2688honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
2121honnef.co/go/tools v0.0.0-20190418001031-e561f6794a2a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=2689honnef.co/go/tools v0.0.0-20190418001031-e561f6794a2a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
2122honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=2690honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
2123honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg=2691honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg=
2124honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k=2692honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k=
2125honnef.co/go/tools v0.0.1-2020.1.4 h1:UoveltGrhghAA7ePc+e+QYDHXrBps2PqFZiHkGR/xK8=
2126honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k=2693honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k=
2127howett.net/plist v0.0.0-20181124034731-591f970eefbb/go.mod h1:vMygbs4qMhSZSc4lCUl2OEE+rDiIIJAIdR4m7MiMcm0=2694howett.net/plist v0.0.0-20181124034731-591f970eefbb/go.mod h1:vMygbs4qMhSZSc4lCUl2OEE+rDiIIJAIdR4m7MiMcm0=
2128k8s.io/api v0.20.4 h1:xZjKidCirayzX6tHONRQyTNDVIR55TYVqgATqo6ZULY=2695k8s.io/api v0.20.4 h1:xZjKidCirayzX6tHONRQyTNDVIR55TYVqgATqo6ZULY=
2129k8s.io/api v0.20.4/go.mod h1:++lNL1AJMkDymriNniQsWRkMDzRaX2Y/POTUi8yvqYQ=2696k8s.io/api v0.20.4/go.mod h1:++lNL1AJMkDymriNniQsWRkMDzRaX2Y/POTUi8yvqYQ=
2130k8s.io/apimachinery v0.0.0-20190809020650-423f5d784010/go.mod h1:Waf/xTS2FGRrgXCkO5FP3XxTOWh0qLf2QhL1qFZZ/R8=2697k8s.io/apimachinery v0.0.0-20190809020650-423f5d784010/go.mod h1:Waf/xTS2FGRrgXCkO5FP3XxTOWh0qLf2QhL1qFZZ/R8=
2131k8s.io/apimachinery v0.0.0-20191115015347-3c7067801da2/go.mod h1:dXFS2zaQR8fyzuvRdJDHw2Aerij/yVGJSre0bZQSVJA=2698k8s.io/apimachinery v0.0.0-20191115015347-3c7067801da2/go.mod h1:dXFS2zaQR8fyzuvRdJDHw2Aerij/yVGJSre0bZQSVJA=
2699k8s.io/apimachinery v0.17.5/go.mod h1:ioIo1G/a+uONV7Tv+ZmCbMG1/a3kVw5YcDdncd8ugQ0=
2132k8s.io/apimachinery v0.18.3/go.mod h1:OaXp26zu/5J7p0f92ASynJa1pZo06YlV9fG7BoWbCko=2700k8s.io/apimachinery v0.18.3/go.mod h1:OaXp26zu/5J7p0f92ASynJa1pZo06YlV9fG7BoWbCko=
2133k8s.io/apimachinery v0.18.5/go.mod h1:OaXp26zu/5J7p0f92ASynJa1pZo06YlV9fG7BoWbCko=2701k8s.io/apimachinery v0.18.5/go.mod h1:OaXp26zu/5J7p0f92ASynJa1pZo06YlV9fG7BoWbCko=
2134k8s.io/apimachinery v0.18.6/go.mod h1:OaXp26zu/5J7p0f92ASynJa1pZo06YlV9fG7BoWbCko=2702k8s.io/apimachinery v0.18.6/go.mod h1:OaXp26zu/5J7p0f92ASynJa1pZo06YlV9fG7BoWbCko=
2135k8s.io/apimachinery v0.18.8/go.mod h1:6sQd+iHEqmOtALqOFjSWp2KZ9F0wlU/nWm0ZgsYWMig=2703k8s.io/apimachinery v0.18.8/go.mod h1:6sQd+iHEqmOtALqOFjSWp2KZ9F0wlU/nWm0ZgsYWMig=
2136k8s.io/apimachinery v0.19.2/go.mod h1:DnPGDnARWFvYa3pMHgSxtbZb7gpzzAZ1pTfaUNDVlmA=2704k8s.io/apimachinery v0.19.2/go.mod h1:DnPGDnARWFvYa3pMHgSxtbZb7gpzzAZ1pTfaUNDVlmA=
2137k8s.io/apimachinery v0.19.4/go.mod h1:DnPGDnARWFvYa3pMHgSxtbZb7gpzzAZ1pTfaUNDVlmA=2705k8s.io/apimachinery v0.19.4/go.mod h1:DnPGDnARWFvYa3pMHgSxtbZb7gpzzAZ1pTfaUNDVlmA=
2706k8s.io/apimachinery v0.20.1/go.mod h1:WlLqWAHZGg07AeltaI0MV5uk1Omp8xaN0JGLY6gkRpU=
2138k8s.io/apimachinery v0.20.2/go.mod h1:WlLqWAHZGg07AeltaI0MV5uk1Omp8xaN0JGLY6gkRpU=2707k8s.io/apimachinery v0.20.2/go.mod h1:WlLqWAHZGg07AeltaI0MV5uk1Omp8xaN0JGLY6gkRpU=
2139k8s.io/apimachinery v0.20.4/go.mod h1:WlLqWAHZGg07AeltaI0MV5uk1Omp8xaN0JGLY6gkRpU=2708k8s.io/apimachinery v0.20.4/go.mod h1:WlLqWAHZGg07AeltaI0MV5uk1Omp8xaN0JGLY6gkRpU=
2140k8s.io/apimachinery v0.20.5/go.mod h1:WlLqWAHZGg07AeltaI0MV5uk1Omp8xaN0JGLY6gkRpU=2709k8s.io/apimachinery v0.20.5/go.mod h1:WlLqWAHZGg07AeltaI0MV5uk1Omp8xaN0JGLY6gkRpU=
2141k8s.io/apimachinery v0.21.0 h1:3Fx+41if+IRavNcKOz09FwEXDBG6ORh6iMsTSelhkMA=2710k8s.io/apimachinery v0.20.6/go.mod h1:ejZXtW1Ra6V1O5H8xPBGz+T3+4gfkTCeExAHKU57MAc=
2142k8s.io/apimachinery v0.21.0/go.mod h1:jbreFvJo3ov9rj7eWT7+sYiRx+qZuCYXwWT1bcDswPY=2711k8s.io/apimachinery v0.21.0/go.mod h1:jbreFvJo3ov9rj7eWT7+sYiRx+qZuCYXwWT1bcDswPY=
2712k8s.io/apimachinery v0.21.1/go.mod h1:jbreFvJo3ov9rj7eWT7+sYiRx+qZuCYXwWT1bcDswPY=
2713k8s.io/apimachinery v0.22.1 h1:DTARnyzmdHMz7bFWFDDm22AM4pLWTQECMpRTFu2d2OM=
2714k8s.io/apimachinery v0.22.1/go.mod h1:O3oNtNadZdeOMxHFVxOreoznohCpy0z6mocxbZr7oJ0=
2715k8s.io/apiserver v0.20.1/go.mod h1:ro5QHeQkgMS7ZGpvf4tSMx6bBOgPfE+f52KwvXfScaU=
2716k8s.io/apiserver v0.20.4/go.mod h1:Mc80thBKOyy7tbvFtB4kJv1kbdD0eIH8k8vianJcbFM=
2717k8s.io/apiserver v0.20.6/go.mod h1:QIJXNt6i6JB+0YQRNcS0hdRHJlMhflFmsBDeSgT1r8Q=
2143k8s.io/client-go v0.20.4 h1:85crgh1IotNkLpKYKZHVNI1JT86nr/iDCvq2iWKsql4=2718k8s.io/client-go v0.20.4 h1:85crgh1IotNkLpKYKZHVNI1JT86nr/iDCvq2iWKsql4=
2144k8s.io/client-go v0.20.4/go.mod h1:LiMv25ND1gLUdBeYxBIwKpkSC5IsozMMmOOeSJboP+k=2719k8s.io/client-go v0.20.4/go.mod h1:LiMv25ND1gLUdBeYxBIwKpkSC5IsozMMmOOeSJboP+k=
2720k8s.io/component-base v0.20.1/go.mod h1:guxkoJnNoh8LNrbtiQOlyp2Y2XFCZQmrcg2n/DeYNLk=
2721k8s.io/component-base v0.20.4/go.mod h1:t4p9EdiagbVCJKrQ1RsA5/V4rFQNDfRlevJajlGwgjI=
2722k8s.io/component-base v0.20.6/go.mod h1:6f1MPBAeI+mvuts3sIdtpjljHWBQ2cIy38oBIWMYnrM=
2723k8s.io/cri-api v0.17.3/go.mod h1:X1sbHmuXhwaHs9xxYffLqJogVsnI+f6cPRcgPel7ywM=
2724k8s.io/cri-api v0.20.1/go.mod h1:2JRbKt+BFLTjtrILYVqQK5jqhI+XNdF6UiGMgczeBCI=
2725k8s.io/cri-api v0.20.4/go.mod h1:2JRbKt+BFLTjtrILYVqQK5jqhI+XNdF6UiGMgczeBCI=
2726k8s.io/cri-api v0.20.6/go.mod h1:ew44AjNXwyn1s0U4xCKGodU7J1HzBeZ1MpGrpa5r8Yc=
2145k8s.io/gengo v0.0.0-20190128074634-0689ccc1d7d6/go.mod h1:ezvh/TsK7cY6rbqRK0oQQ8IAqLxYwwyPxAX1Pzy0ii0=2727k8s.io/gengo v0.0.0-20190128074634-0689ccc1d7d6/go.mod h1:ezvh/TsK7cY6rbqRK0oQQ8IAqLxYwwyPxAX1Pzy0ii0=
2146k8s.io/gengo v0.0.0-20200413195148-3a45101e95ac/go.mod h1:ezvh/TsK7cY6rbqRK0oQQ8IAqLxYwwyPxAX1Pzy0ii0=2728k8s.io/gengo v0.0.0-20200413195148-3a45101e95ac/go.mod h1:ezvh/TsK7cY6rbqRK0oQQ8IAqLxYwwyPxAX1Pzy0ii0=
2147k8s.io/klog v0.0.0-20181102134211-b9b56d5dfc92/go.mod h1:Gq+BEi5rUBO/HRz0bTSXDUcqjScdoY3a9IHpCEIOOfk=2729k8s.io/klog v0.0.0-20181102134211-b9b56d5dfc92/go.mod h1:Gq+BEi5rUBO/HRz0bTSXDUcqjScdoY3a9IHpCEIOOfk=
@@ -2155,15 +2737,20 @@ k8s.io/klog/v2 v2.2.0/go.mod h1:Od+F08eJP+W3HUb4pSrPpgp9DGU4GzlpG/TmITuYh/Y=
2155k8s.io/klog/v2 v2.3.0/go.mod h1:Od+F08eJP+W3HUb4pSrPpgp9DGU4GzlpG/TmITuYh/Y=2737k8s.io/klog/v2 v2.3.0/go.mod h1:Od+F08eJP+W3HUb4pSrPpgp9DGU4GzlpG/TmITuYh/Y=
2156k8s.io/klog/v2 v2.4.0/go.mod h1:Od+F08eJP+W3HUb4pSrPpgp9DGU4GzlpG/TmITuYh/Y=2738k8s.io/klog/v2 v2.4.0/go.mod h1:Od+F08eJP+W3HUb4pSrPpgp9DGU4GzlpG/TmITuYh/Y=
2157k8s.io/klog/v2 v2.5.0/go.mod h1:hy9LJ/NvuK+iVyP4Ehqva4HxZG/oXyIS3n3Jmire4Ec=2739k8s.io/klog/v2 v2.5.0/go.mod h1:hy9LJ/NvuK+iVyP4Ehqva4HxZG/oXyIS3n3Jmire4Ec=
2158k8s.io/klog/v2 v2.8.0 h1:Q3gmuM9hKEjefWFFYF0Mat+YyFJvsUyYuwyNNJ5C9Ts=
2159k8s.io/klog/v2 v2.8.0/go.mod h1:hy9LJ/NvuK+iVyP4Ehqva4HxZG/oXyIS3n3Jmire4Ec=2740k8s.io/klog/v2 v2.8.0/go.mod h1:hy9LJ/NvuK+iVyP4Ehqva4HxZG/oXyIS3n3Jmire4Ec=
2741k8s.io/klog/v2 v2.9.0/go.mod h1:hy9LJ/NvuK+iVyP4Ehqva4HxZG/oXyIS3n3Jmire4Ec=
2742k8s.io/klog/v2 v2.10.0 h1:R2HDMDJsHVTHA2n4RjwbeYXdOcBymXdX/JRb1v0VGhE=
2743k8s.io/klog/v2 v2.10.0/go.mod h1:hy9LJ/NvuK+iVyP4Ehqva4HxZG/oXyIS3n3Jmire4Ec=
2160k8s.io/kube-openapi v0.0.0-20190709113604-33be087ad058/go.mod h1:nfDlWeOsu3pUf4yWGL+ERqohP4YsZcBJXWMK+gkzOA4=2744k8s.io/kube-openapi v0.0.0-20190709113604-33be087ad058/go.mod h1:nfDlWeOsu3pUf4yWGL+ERqohP4YsZcBJXWMK+gkzOA4=
2161k8s.io/kube-openapi v0.0.0-20190722073852-5e22f3d471e6/go.mod h1:RZvgC8MSN6DjiMV6oIfEE9pDL9CYXokkfaCKZeHm3nc=2745k8s.io/kube-openapi v0.0.0-20190722073852-5e22f3d471e6/go.mod h1:RZvgC8MSN6DjiMV6oIfEE9pDL9CYXokkfaCKZeHm3nc=
2162k8s.io/kube-openapi v0.0.0-20191107075043-30be4d16710a/go.mod h1:1TqjTSzOxsLGIKfj0lK8EeCP7K1iUG65v09OM0/WG5E=2746k8s.io/kube-openapi v0.0.0-20191107075043-30be4d16710a/go.mod h1:1TqjTSzOxsLGIKfj0lK8EeCP7K1iUG65v09OM0/WG5E=
2747k8s.io/kube-openapi v0.0.0-20200316234421-82d701f24f9d/go.mod h1:F+5wygcW0wmRTnM3cOgIqGivxkwSWIWT5YdsDbeAOaU=
2163k8s.io/kube-openapi v0.0.0-20200410145947-61e04a5be9a6/go.mod h1:GRQhZsXIAJ1xR0C9bd8UpWHZ5plfAS9fzPjJuQ6JL3E=2748k8s.io/kube-openapi v0.0.0-20200410145947-61e04a5be9a6/go.mod h1:GRQhZsXIAJ1xR0C9bd8UpWHZ5plfAS9fzPjJuQ6JL3E=
2164k8s.io/kube-openapi v0.0.0-20200805222855-6aeccd4b50c6/go.mod h1:UuqjUnNftUyPE5H64/qeyjQoUZhGpeFDVdxjTeEVN2o=2749k8s.io/kube-openapi v0.0.0-20200805222855-6aeccd4b50c6/go.mod h1:UuqjUnNftUyPE5H64/qeyjQoUZhGpeFDVdxjTeEVN2o=
2165k8s.io/kube-openapi v0.0.0-20201113171705-d219536bb9fd/go.mod h1:WOJ3KddDSol4tAGcJo0Tvi+dK12EcqSLqcWsryKMpfM=2750k8s.io/kube-openapi v0.0.0-20201113171705-d219536bb9fd/go.mod h1:WOJ3KddDSol4tAGcJo0Tvi+dK12EcqSLqcWsryKMpfM=
2166k8s.io/kube-openapi v0.0.0-20210305001622-591a79e4bda7/go.mod h1:wXW5VT87nVfh/iLV8FpR2uDvrFyomxbtb1KivDbvPTE=2751k8s.io/kube-openapi v0.0.0-20210305001622-591a79e4bda7/go.mod h1:wXW5VT87nVfh/iLV8FpR2uDvrFyomxbtb1KivDbvPTE=
2752k8s.io/kube-openapi v0.0.0-20210421082810-95288971da7e/go.mod h1:vHXdDvt9+2spS2Rx9ql3I8tycm3H9FDfdUoIuKCefvw=
2753k8s.io/kubernetes v1.13.0/go.mod h1:ocZa8+6APFNC2tX1DZASIbocyYT5jHzqFVsY5aoB7Jk=
2167k8s.io/utils v0.0.0-20190809000727-6c36bc71fc4a/go.mod h1:sZAwmy6armz5eXlNoLmJcl4F1QuKu7sr+mFQ0byX7Ew=2754k8s.io/utils v0.0.0-20190809000727-6c36bc71fc4a/go.mod h1:sZAwmy6armz5eXlNoLmJcl4F1QuKu7sr+mFQ0byX7Ew=
2168k8s.io/utils v0.0.0-20191114200735-6ca3b61696b6/go.mod h1:sZAwmy6armz5eXlNoLmJcl4F1QuKu7sr+mFQ0byX7Ew=2755k8s.io/utils v0.0.0-20191114200735-6ca3b61696b6/go.mod h1:sZAwmy6armz5eXlNoLmJcl4F1QuKu7sr+mFQ0byX7Ew=
2169k8s.io/utils v0.0.0-20200414100711-2df71ebbae66/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA=2756k8s.io/utils v0.0.0-20200414100711-2df71ebbae66/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA=
@@ -2174,14 +2761,19 @@ rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8
2174rsc.io/pdf v0.1.1/go.mod h1:n8OzWcQ6Sp37PL01nO98y4iUCRdTGarVfzxY20ICaU4=2761rsc.io/pdf v0.1.1/go.mod h1:n8OzWcQ6Sp37PL01nO98y4iUCRdTGarVfzxY20ICaU4=
2175rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0=2762rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0=
2176rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA=2763rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA=
2764sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.0.14/go.mod h1:LEScyzhFmoF5pso/YSeBstl57mOzx9xlU9n85RGrDQg=
2765sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.0.15/go.mod h1:LEScyzhFmoF5pso/YSeBstl57mOzx9xlU9n85RGrDQg=
2177sigs.k8s.io/structured-merge-diff v0.0.0-20190525122527-15d366b2352e h1:4Z09Hglb792X0kfOBBJUPFEyvVfQWrYT/l8h5EKA6JQ=2766sigs.k8s.io/structured-merge-diff v0.0.0-20190525122527-15d366b2352e h1:4Z09Hglb792X0kfOBBJUPFEyvVfQWrYT/l8h5EKA6JQ=
2178sigs.k8s.io/structured-merge-diff v0.0.0-20190525122527-15d366b2352e/go.mod h1:wWxsB5ozmmv/SG7nM11ayaAW51xMvak/t1r0CSlcokI=2767sigs.k8s.io/structured-merge-diff v0.0.0-20190525122527-15d366b2352e/go.mod h1:wWxsB5ozmmv/SG7nM11ayaAW51xMvak/t1r0CSlcokI=
2768sigs.k8s.io/structured-merge-diff/v2 v2.0.1/go.mod h1:Wb7vfKAodbKgf6tn1Kl0VvGj7mRH6DGaRcixXEJXTsE=
2179sigs.k8s.io/structured-merge-diff/v3 v3.0.0-20200116222232-67a7b8c61874/go.mod h1:PlARxl6Hbt/+BC80dRLi1qAmnMqwqDg62YvvVkZjemw=2769sigs.k8s.io/structured-merge-diff/v3 v3.0.0-20200116222232-67a7b8c61874/go.mod h1:PlARxl6Hbt/+BC80dRLi1qAmnMqwqDg62YvvVkZjemw=
2180sigs.k8s.io/structured-merge-diff/v3 v3.0.0/go.mod h1:PlARxl6Hbt/+BC80dRLi1qAmnMqwqDg62YvvVkZjemw=2770sigs.k8s.io/structured-merge-diff/v3 v3.0.0/go.mod h1:PlARxl6Hbt/+BC80dRLi1qAmnMqwqDg62YvvVkZjemw=
2181sigs.k8s.io/structured-merge-diff/v4 v4.0.1/go.mod h1:bJZC9H9iH24zzfZ/41RGcq60oK1F7G282QMXDPYydCw=2771sigs.k8s.io/structured-merge-diff/v4 v4.0.1/go.mod h1:bJZC9H9iH24zzfZ/41RGcq60oK1F7G282QMXDPYydCw=
2182sigs.k8s.io/structured-merge-diff/v4 v4.0.2/go.mod h1:bJZC9H9iH24zzfZ/41RGcq60oK1F7G282QMXDPYydCw=2772sigs.k8s.io/structured-merge-diff/v4 v4.0.2/go.mod h1:bJZC9H9iH24zzfZ/41RGcq60oK1F7G282QMXDPYydCw=
2183sigs.k8s.io/structured-merge-diff/v4 v4.1.0 h1:C4r9BgJ98vrKnnVCjwCSXcWjWe0NKcUQkmzDXZXGwH8=2773sigs.k8s.io/structured-merge-diff/v4 v4.0.3/go.mod h1:bJZC9H9iH24zzfZ/41RGcq60oK1F7G282QMXDPYydCw=
2184sigs.k8s.io/structured-merge-diff/v4 v4.1.0/go.mod h1:bJZC9H9iH24zzfZ/41RGcq60oK1F7G282QMXDPYydCw=2774sigs.k8s.io/structured-merge-diff/v4 v4.1.0/go.mod h1:bJZC9H9iH24zzfZ/41RGcq60oK1F7G282QMXDPYydCw=
2775sigs.k8s.io/structured-merge-diff/v4 v4.1.2 h1:Hr/htKFmJEbtMgS/UD0N+gtgctAqz81t3nu+sPzynno=
2776sigs.k8s.io/structured-merge-diff/v4 v4.1.2/go.mod h1:j/nl6xW8vLS49O8YvXW1ocPhZawJtm+Yrr7PPRQ0Vg4=
2185sigs.k8s.io/yaml v1.1.0/go.mod h1:UJmg0vDUVViEyp3mgSv9WPwZCDxu4rQW1olrI1uml+o=2777sigs.k8s.io/yaml v1.1.0/go.mod h1:UJmg0vDUVViEyp3mgSv9WPwZCDxu4rQW1olrI1uml+o=
2186sigs.k8s.io/yaml v1.2.0 h1:kr/MCeFWJWTwyaHoR9c8EjH9OumOmoF9YGiZd7lFm/Q=2778sigs.k8s.io/yaml v1.2.0 h1:kr/MCeFWJWTwyaHoR9c8EjH9OumOmoF9YGiZd7lFm/Q=
2187sigs.k8s.io/yaml v1.2.0/go.mod h1:yfXDCHCao9+ENCvLSE62v9VSji2MKu5jeNfTrofGhJc=2779sigs.k8s.io/yaml v1.2.0/go.mod h1:yfXDCHCao9+ENCvLSE62v9VSji2MKu5jeNfTrofGhJc=
diff --git a/integration/alertmanager_test.go b/integration/alertmanager_test.go
index 28ad75f..79a8652 100644
--- a/integration/alertmanager_test.go
+++ b/integration/alertmanager_test.go
@@ -531,6 +531,12 @@ func TestAlertmanagerSharding(t *testing.T) {
531 require.NoError(t, err)531 require.NoError(t, err)
532 err = c3.SendAlertToAlermanager(context.Background(), alert(3, 2))532 err = c3.SendAlertToAlermanager(context.Background(), alert(3, 2))
533 require.NoError(t, err)533 require.NoError(t, err)
534
535 // Wait for the alerts to be received by every replica.
536 require.NoError(t, alertmanagers.WaitSumMetricsWithOptions(
537 e2e.Equals(float64(3*testCfg.replicationFactor)),
538 []string{"cortex_alertmanager_alerts_received_total"},
539 e2e.SkipMissingMetrics))
534 }540 }
535541
536 // Endpoint: GET /v1/alerts542 // Endpoint: GET /v1/alerts
diff --git a/integration/backward_compatibility_test.go b/integration/backward_compatibility_test.go
index 9cf29ed..9a21292 100644
--- a/integration/backward_compatibility_test.go
+++ b/integration/backward_compatibility_test.go
@@ -20,16 +20,17 @@ var (
20 // If you change the image tag, remember to update it in the preloading done20 // If you change the image tag, remember to update it in the preloading done
21 // by GitHub Actions too (see .github/workflows/test-build-deploy.yml).21 // by GitHub Actions too (see .github/workflows/test-build-deploy.yml).
22 previousVersionImages = map[string]func(map[string]string) map[string]string{22 previousVersionImages = map[string]func(map[string]string) map[string]string{
23 "quay.io/cortexproject/cortex:v1.0.0": preCortex14Flags,23 "quay.io/cortexproject/cortex:v1.0.0": preCortex14Flags,
24 "quay.io/cortexproject/cortex:v1.1.0": preCortex14Flags,24 "quay.io/cortexproject/cortex:v1.1.0": preCortex14Flags,
25 "quay.io/cortexproject/cortex:v1.2.0": preCortex14Flags,25 "quay.io/cortexproject/cortex:v1.2.0": preCortex14Flags,
26 "quay.io/cortexproject/cortex:v1.3.0": preCortex14Flags,26 "quay.io/cortexproject/cortex:v1.3.0": preCortex14Flags,
27 "quay.io/cortexproject/cortex:v1.4.0": preCortex16Flags,27 "quay.io/cortexproject/cortex:v1.4.0": preCortex16Flags,
28 "quay.io/cortexproject/cortex:v1.5.0": preCortex16Flags,28 "quay.io/cortexproject/cortex:v1.5.0": preCortex16Flags,
29 "quay.io/cortexproject/cortex:v1.6.0": preCortex110Flags,29 "quay.io/cortexproject/cortex:v1.6.0": preCortex110Flags,
30 "quay.io/cortexproject/cortex:v1.7.0": preCortex110Flags,30 "quay.io/cortexproject/cortex:v1.7.0": preCortex110Flags,
31 "quay.io/cortexproject/cortex:v1.8.0": preCortex110Flags,31 "quay.io/cortexproject/cortex:v1.8.0": preCortex110Flags,
32 "quay.io/cortexproject/cortex:v1.9.0": preCortex110Flags,32 "quay.io/cortexproject/cortex:v1.9.0": preCortex110Flags,
33 "quay.io/cortexproject/cortex:v1.10.0": nil,
33 }34 }
34)35)
3536
diff --git a/integration/e2e/composite_service.go b/integration/e2e/composite_service.go
index 4b89d45..db840ac 100644
--- a/integration/e2e/composite_service.go
+++ b/integration/e2e/composite_service.go
@@ -5,9 +5,8 @@ import (
5 "fmt"5 "fmt"
6 "time"6 "time"
77
8 "github.com/grafana/dskit/backoff"
8 "github.com/pkg/errors"9 "github.com/pkg/errors"
9
10 "github.com/cortexproject/cortex/pkg/util"
11)10)
1211
13// CompositeHTTPService abstract an higher-level service composed, under the hood,12// CompositeHTTPService abstract an higher-level service composed, under the hood,
@@ -16,13 +15,13 @@ type CompositeHTTPService struct {
16 services []*HTTPService15 services []*HTTPService
1716
18 // Generic retry backoff.17 // Generic retry backoff.
19 retryBackoff *util.Backoff18 retryBackoff *backoff.Backoff
20}19}
2120
22func NewCompositeHTTPService(services ...*HTTPService) *CompositeHTTPService {21func NewCompositeHTTPService(services ...*HTTPService) *CompositeHTTPService {
23 return &CompositeHTTPService{22 return &CompositeHTTPService{
24 services: services,23 services: services,
25 retryBackoff: util.NewBackoff(context.Background(), util.BackoffConfig{24 retryBackoff: backoff.New(context.Background(), backoff.Config{
26 MinBackoff: 300 * time.Millisecond,25 MinBackoff: 300 * time.Millisecond,
27 MaxBackoff: 600 * time.Millisecond,26 MaxBackoff: 600 * time.Millisecond,
28 MaxRetries: 50, // Sometimes the CI is slow ¯\_(ツ)_/¯27 MaxRetries: 50, // Sometimes the CI is slow ¯\_(ツ)_/¯
diff --git a/integration/e2e/db/db.go b/integration/e2e/db/db.go
index fe6de79..ed397bb 100644
--- a/integration/e2e/db/db.go
+++ b/integration/e2e/db/db.go
@@ -14,18 +14,22 @@ const (
14)14)
1515
16// NewMinio returns minio server, used as a local replacement for S3.16// NewMinio returns minio server, used as a local replacement for S3.
17func NewMinio(port int, bktName string) *e2e.HTTPService {17func NewMinio(port int, bktNames ...string) *e2e.HTTPService {
18 minioKESGithubContent := "https://raw.githubusercontent.com/minio/kes/master"18 minioKESGithubContent := "https://raw.githubusercontent.com/minio/kes/master"
19 commands := []string{19 commands := []string{
20 "curl -sSL --tlsv1.2 -O '%s/root.key' -O '%s/root.cert'",20 fmt.Sprintf("curl -sSL --tlsv1.2 -O '%s/root.key' -O '%s/root.cert'", minioKESGithubContent, minioKESGithubContent),
21 "mkdir -p /data/%s && minio server --address :%v --quiet /data",
22 }21 }
2322
23 for _, bkt := range bktNames {
24 commands = append(commands, fmt.Sprintf("mkdir -p /data/%s", bkt))
25 }
26 commands = append(commands, fmt.Sprintf("minio server --address :%v --quiet /data", port))
27
24 m := e2e.NewHTTPService(28 m := e2e.NewHTTPService(
25 fmt.Sprintf("minio-%v", port),29 fmt.Sprintf("minio-%v", port),
26 images.Minio,30 images.Minio,
27 // Create the "cortex" bucket before starting minio31 // Create the "cortex" bucket before starting minio
28 e2e.NewCommandWithoutEntrypoint("sh", "-c", fmt.Sprintf(strings.Join(commands, " && "), minioKESGithubContent, minioKESGithubContent, bktName, port)),32 e2e.NewCommandWithoutEntrypoint("sh", "-c", strings.Join(commands, " && ")),
29 e2e.NewHTTPReadinessProbe(port, "/minio/health/ready", 200, 200),33 e2e.NewHTTPReadinessProbe(port, "/minio/health/ready", 200, 200),
30 port,34 port,
31 )35 )
diff --git a/integration/e2e/logger.go b/integration/e2e/logger.go
index d4b309a..5152ed5 100644
--- a/integration/e2e/logger.go
+++ b/integration/e2e/logger.go
@@ -7,7 +7,7 @@ import (
7 "strings"7 "strings"
8 "time"8 "time"
99
10 "github.com/go-kit/kit/log"10 "github.com/go-kit/log"
11)11)
1212
13// Global logger to use in integration tests. We use a global logger to simplify13// Global logger to use in integration tests. We use a global logger to simplify
diff --git a/integration/e2e/scenario_test.go b/integration/e2e/scenario_test.go
index 2a31e19..a31ed9d 100644
--- a/integration/e2e/scenario_test.go
+++ b/integration/e2e/scenario_test.go
@@ -9,7 +9,7 @@ import (
9 "testing"9 "testing"
10 "time"10 "time"
1111
12 "github.com/go-kit/kit/log"12 "github.com/go-kit/log"
13 "github.com/stretchr/testify/assert"13 "github.com/stretchr/testify/assert"
14 "github.com/stretchr/testify/require"14 "github.com/stretchr/testify/require"
15 "github.com/thanos-io/thanos/pkg/objstore/s3"15 "github.com/thanos-io/thanos/pkg/objstore/s3"
diff --git a/integration/e2e/service.go b/integration/e2e/service.go
index cf1f4d2..cb15a1b 100644
--- a/integration/e2e/service.go
+++ b/integration/e2e/service.go
@@ -12,12 +12,11 @@ import (
12 "strings"12 "strings"
13 "time"13 "time"
1414
15 "github.com/go-kit/kit/log"15 "github.com/go-kit/log"
16 "github.com/grafana/dskit/backoff"
16 "github.com/pkg/errors"17 "github.com/pkg/errors"
17 "github.com/prometheus/common/expfmt"18 "github.com/prometheus/common/expfmt"
18 "github.com/thanos-io/thanos/pkg/runutil"19 "github.com/thanos-io/thanos/pkg/runutil"
19
20 "github.com/cortexproject/cortex/pkg/util"
21)20)
2221
23var (22var (
@@ -43,7 +42,7 @@ type ConcreteService struct {
43 networkPortsContainerToLocal map[int]int42 networkPortsContainerToLocal map[int]int
4443
45 // Generic retry backoff.44 // Generic retry backoff.
46 retryBackoff *util.Backoff45 retryBackoff *backoff.Backoff
4746
48 // docker NetworkName used to start this container.47 // docker NetworkName used to start this container.
49 // If empty it means service is stopped.48 // If empty it means service is stopped.
@@ -64,7 +63,7 @@ func NewConcreteService(
64 command: command,63 command: command,
65 networkPortsContainerToLocal: map[int]int{},64 networkPortsContainerToLocal: map[int]int{},
66 readiness: readiness,65 readiness: readiness,
67 retryBackoff: util.NewBackoff(context.Background(), util.BackoffConfig{66 retryBackoff: backoff.New(context.Background(), backoff.Config{
68 MinBackoff: 300 * time.Millisecond,67 MinBackoff: 300 * time.Millisecond,
69 MaxBackoff: 600 * time.Millisecond,68 MaxBackoff: 600 * time.Millisecond,
70 MaxRetries: 50, // Sometimes the CI is slow ¯\_(ツ)_/¯69 MaxRetries: 50, // Sometimes the CI is slow ¯\_(ツ)_/¯
@@ -80,8 +79,8 @@ func (s *ConcreteService) Name() string { return s.name }
8079
81// Less often used options.80// Less often used options.
8281
83func (s *ConcreteService) SetBackoff(cfg util.BackoffConfig) {82func (s *ConcreteService) SetBackoff(cfg backoff.Config) {
84 s.retryBackoff = util.NewBackoff(context.Background(), cfg)83 s.retryBackoff = backoff.New(context.Background(), cfg)
85}84}
8685
87func (s *ConcreteService) SetEnvVars(env map[string]string) {86func (s *ConcreteService) SetEnvVars(env map[string]string) {
diff --git a/integration/e2e/service_test.go b/integration/e2e/service_test.go
index 2589cb1..ebd3641 100644
--- a/integration/e2e/service_test.go
+++ b/integration/e2e/service_test.go
@@ -10,10 +10,9 @@ import (
10 "testing"10 "testing"
11 "time"11 "time"
1212
13 "github.com/grafana/dskit/backoff"
13 "github.com/stretchr/testify/assert"14 "github.com/stretchr/testify/assert"
14 "github.com/stretchr/testify/require"15 "github.com/stretchr/testify/require"
15
16 "github.com/cortexproject/cortex/pkg/util"
17)16)
1817
19func TestWaitSumMetric(t *testing.T) {18func TestWaitSumMetric(t *testing.T) {
@@ -80,7 +79,7 @@ metric_b_summary_count 1
80 },79 },
81 }80 }
8281
83 s.SetBackoff(util.BackoffConfig{82 s.SetBackoff(backoff.Config{
84 MinBackoff: 300 * time.Millisecond,83 MinBackoff: 300 * time.Millisecond,
85 MaxBackoff: 600 * time.Millisecond,84 MaxBackoff: 600 * time.Millisecond,
86 MaxRetries: 50,85 MaxRetries: 50,
@@ -88,7 +87,7 @@ metric_b_summary_count 1
88 require.NoError(t, s.WaitSumMetrics(Equals(221), "metric_a"))87 require.NoError(t, s.WaitSumMetrics(Equals(221), "metric_a"))
8988
90 // No retry.89 // No retry.
91 s.SetBackoff(util.BackoffConfig{90 s.SetBackoff(backoff.Config{
92 MinBackoff: 0,91 MinBackoff: 0,
93 MaxBackoff: 0,92 MaxBackoff: 0,
94 MaxRetries: 1,93 MaxRetries: 1,
@@ -164,7 +163,7 @@ metric_b 1000
164 },163 },
165 }164 }
166165
167 s.SetBackoff(util.BackoffConfig{166 s.SetBackoff(backoff.Config{
168 MinBackoff: 300 * time.Millisecond,167 MinBackoff: 300 * time.Millisecond,
169 MaxBackoff: 600 * time.Millisecond,168 MaxBackoff: 600 * time.Millisecond,
170 MaxRetries: 50,169 MaxRetries: 50,
diff --git a/integration/e2ecortex/client.go b/integration/e2ecortex/client.go
index 4b47849..72fed34 100644
--- a/integration/e2ecortex/client.go
+++ b/integration/e2ecortex/client.go
@@ -318,6 +318,11 @@ func (c *Client) SetRuleGroup(rulegroup rulefmt.RuleGroup, namespace string) err
318 }318 }
319319
320 defer res.Body.Close()320 defer res.Body.Close()
321
322 if res.StatusCode != 202 {
323 return fmt.Errorf("unexpected status code: %d", res.StatusCode)
324 }
325
321 return nil326 return nil
322}327}
323328
diff --git a/integration/e2ecortex/storage.go b/integration/e2ecortex/storage.go
index 2201a9d..f35a084 100644
--- a/integration/e2ecortex/storage.go
+++ b/integration/e2ecortex/storage.go
@@ -5,14 +5,14 @@ import (
5 "fmt"5 "fmt"
6 "strings"6 "strings"
77
8 "github.com/go-kit/kit/log"8 "github.com/go-kit/log"
9 "github.com/grafana/dskit/flagext"
9 "github.com/oklog/ulid"10 "github.com/oklog/ulid"
10 "github.com/thanos-io/thanos/pkg/objstore"11 "github.com/thanos-io/thanos/pkg/objstore"
1112
12 "github.com/cortexproject/cortex/integration/e2e"13 "github.com/cortexproject/cortex/integration/e2e"
13 e2edb "github.com/cortexproject/cortex/integration/e2e/db"14 e2edb "github.com/cortexproject/cortex/integration/e2e/db"
14 "github.com/cortexproject/cortex/pkg/storage/bucket/s3"15 "github.com/cortexproject/cortex/pkg/storage/bucket/s3"
15 "github.com/cortexproject/cortex/pkg/util/flagext"
16)16)
1717
18type S3Client struct {18type S3Client struct {
diff --git a/integration/getting_started_with_gossiped_ring_test.go b/integration/getting_started_with_gossiped_ring_test.go
index 24be49c..90e1792 100644
--- a/integration/getting_started_with_gossiped_ring_test.go
+++ b/integration/getting_started_with_gossiped_ring_test.go
@@ -125,4 +125,10 @@ func TestGettingStartedWithGossipedRing(t *testing.T) {
125 // single ingester and so we have 1 block shipped from ingesters and loaded by both store-gateways.125 // single ingester and so we have 1 block shipped from ingesters and loaded by both store-gateways.
126 require.NoError(t, cortex1.WaitSumMetrics(e2e.Equals(1), "cortex_bucket_store_blocks_loaded"))126 require.NoError(t, cortex1.WaitSumMetrics(e2e.Equals(1), "cortex_bucket_store_blocks_loaded"))
127 require.NoError(t, cortex2.WaitSumMetrics(e2e.Equals(1), "cortex_bucket_store_blocks_loaded"))127 require.NoError(t, cortex2.WaitSumMetrics(e2e.Equals(1), "cortex_bucket_store_blocks_loaded"))
128
129 // Make sure that no DNS failures occurred.
130 // No actual DNS lookups are necessarily performed, so we can't really assert on that.
131 mlMatcher := labels.MustNewMatcher(labels.MatchEqual, "name", "memberlist")
132 require.NoError(t, cortex1.WaitSumMetricsWithOptions(e2e.Equals(0), []string{"cortex_dns_failures_total"}, e2e.WithLabelMatchers(mlMatcher)))
133 require.NoError(t, cortex2.WaitSumMetricsWithOptions(e2e.Equals(0), []string{"cortex_dns_failures_total"}, e2e.WithLabelMatchers(mlMatcher)))
128}134}
diff --git a/integration/integration_memberlist_single_binary_test.go b/integration/integration_memberlist_single_binary_test.go
index 53c1a94..c641fa3 100644
--- a/integration/integration_memberlist_single_binary_test.go
+++ b/integration/integration_memberlist_single_binary_test.go
@@ -11,6 +11,7 @@ import (
11 "testing"11 "testing"
12 "time"12 "time"
1313
14 "github.com/grafana/dskit/backoff"
14 "github.com/stretchr/testify/require"15 "github.com/stretchr/testify/require"
15 "golang.org/x/sync/errgroup"16 "golang.org/x/sync/errgroup"
1617
@@ -18,20 +19,25 @@ import (
18 "github.com/cortexproject/cortex/integration/e2e"19 "github.com/cortexproject/cortex/integration/e2e"
19 e2edb "github.com/cortexproject/cortex/integration/e2e/db"20 e2edb "github.com/cortexproject/cortex/integration/e2e/db"
20 "github.com/cortexproject/cortex/integration/e2ecortex"21 "github.com/cortexproject/cortex/integration/e2ecortex"
21 "github.com/cortexproject/cortex/pkg/util"
22)22)
2323
24func TestSingleBinaryWithMemberlist(t *testing.T) {24func TestSingleBinaryWithMemberlist(t *testing.T) {
25 t.Run("default", func(t *testing.T) {25 t.Run("default", func(t *testing.T) {
26 testSingleBinaryEnv(t, false)26 testSingleBinaryEnv(t, false, nil)
27 })27 })
2828
29 t.Run("tls", func(t *testing.T) {29 t.Run("tls", func(t *testing.T) {
30 testSingleBinaryEnv(t, true)30 testSingleBinaryEnv(t, true, nil)
31 })
32
33 t.Run("compression-disabled", func(t *testing.T) {
34 testSingleBinaryEnv(t, false, map[string]string{
35 "-memberlist.compression-enabled": "false",
36 })
31 })37 })
32}38}
3339
34func testSingleBinaryEnv(t *testing.T, tlsEnabled bool) {40func testSingleBinaryEnv(t *testing.T, tlsEnabled bool, flags map[string]string) {
35 s, err := e2e.NewScenario(networkName)41 s, err := e2e.NewScenario(networkName)
36 require.NoError(t, err)42 require.NoError(t, err)
37 defer s.Close()43 defer s.Close()
@@ -65,13 +71,13 @@ func testSingleBinaryEnv(t *testing.T, tlsEnabled bool) {
65 filepath.Join(s.SharedDir(), clientKeyFile),71 filepath.Join(s.SharedDir(), clientKeyFile),
66 ))72 ))
6773
68 cortex1 = newSingleBinary("cortex-1", memberlistDNS, "")74 cortex1 = newSingleBinary("cortex-1", memberlistDNS, "", flags)
69 cortex2 = newSingleBinary("cortex-2", memberlistDNS, networkName+"-cortex-1:8000")75 cortex2 = newSingleBinary("cortex-2", memberlistDNS, networkName+"-cortex-1:8000", flags)
70 cortex3 = newSingleBinary("cortex-3", memberlistDNS, networkName+"-cortex-1:8000")76 cortex3 = newSingleBinary("cortex-3", memberlistDNS, networkName+"-cortex-1:8000", flags)
71 } else {77 } else {
72 cortex1 = newSingleBinary("cortex-1", "", "")78 cortex1 = newSingleBinary("cortex-1", "", "", flags)
73 cortex2 = newSingleBinary("cortex-2", "", networkName+"-cortex-1:8000")79 cortex2 = newSingleBinary("cortex-2", "", networkName+"-cortex-1:8000", flags)
74 cortex3 = newSingleBinary("cortex-3", "", networkName+"-cortex-1:8000")80 cortex3 = newSingleBinary("cortex-3", "", networkName+"-cortex-1:8000", flags)
75 }81 }
7682
77 // start cortex-1 first, as cortex-2 and cortex-3 both connect to cortex-183 // start cortex-1 first, as cortex-2 and cortex-3 both connect to cortex-1
@@ -109,7 +115,7 @@ func testSingleBinaryEnv(t *testing.T, tlsEnabled bool) {
109 require.NoError(t, s.Stop(cortex3))115 require.NoError(t, s.Stop(cortex3))
110}116}
111117
112func newSingleBinary(name string, servername string, join string) *e2ecortex.CortexService {118func newSingleBinary(name string, servername string, join string, testFlags map[string]string) *e2ecortex.CortexService {
113 flags := map[string]string{119 flags := map[string]string{
114 "-ingester.final-sleep": "0s",120 "-ingester.final-sleep": "0s",
115 "-ingester.join-after": "0s", // join quickly121 "-ingester.join-after": "0s", // join quickly
@@ -132,13 +138,14 @@ func newSingleBinary(name string, servername string, join string) *e2ecortex.Cor
132 mergeFlags(138 mergeFlags(
133 ChunksStorageFlags(),139 ChunksStorageFlags(),
134 flags,140 flags,
141 testFlags,
135 getTLSFlagsWithPrefix("memberlist", servername, servername == ""),142 getTLSFlagsWithPrefix("memberlist", servername, servername == ""),
136 ),143 ),
137 "",144 "",
138 8000,145 8000,
139 )146 )
140147
141 backOff := util.BackoffConfig{148 backOff := backoff.Config{
142 MinBackoff: 200 * time.Millisecond,149 MinBackoff: 200 * time.Millisecond,
143 MaxBackoff: 500 * time.Millisecond, // Bump max backoff... things take little longer with memberlist.150 MaxBackoff: 500 * time.Millisecond, // Bump max backoff... things take little longer with memberlist.
144 MaxRetries: 100,151 MaxRetries: 100,
@@ -170,7 +177,7 @@ func TestSingleBinaryWithMemberlistScaling(t *testing.T) {
170 if i > 0 {177 if i > 0 {
171 join = e2e.NetworkContainerHostPort(networkName, "cortex-1", 8000)178 join = e2e.NetworkContainerHostPort(networkName, "cortex-1", 8000)
172 }179 }
173 c := newSingleBinary(name, "", join)180 c := newSingleBinary(name, "", join, nil)
174 require.NoError(t, s.StartAndWaitReady(c))181 require.NoError(t, s.StartAndWaitReady(c))
175 instances = append(instances, c)182 instances = append(instances, c)
176 }183 }
@@ -190,6 +197,13 @@ func TestSingleBinaryWithMemberlistScaling(t *testing.T) {
190 c := instances[i]197 c := instances[i]
191 instances = instances[:i]198 instances = instances[:i]
192 stop.Go(func() error { return s.Stop(c) })199 stop.Go(func() error { return s.Stop(c) })
200
201 // TODO(#4360): Remove this when issue is resolved.
202 // Wait until memberlist for all nodes has recognised the instance left.
203 // This means that we will not gossip tombstones to leaving nodes.
204 for _, c := range instances {
205 require.NoError(t, c.WaitSumMetrics(e2e.Equals(float64(len(instances))), "memberlist_client_cluster_members_count"))
206 }
193 }207 }
194 require.NoError(t, stop.Wait())208 require.NoError(t, stop.Wait())
195209
diff --git a/integration/kv_test.go b/integration/kv_test.go
index c72548c..e1d4e5c 100644
--- a/integration/kv_test.go
+++ b/integration/kv_test.go
@@ -1,3 +1,4 @@
1//go:build requires_docker
1// +build requires_docker2// +build requires_docker
23
3package integration4package integration
@@ -10,6 +11,10 @@ import (
10 "testing"11 "testing"
11 "time"12 "time"
1213
14 "github.com/go-kit/log"
15 "github.com/grafana/dskit/kv"
16 "github.com/grafana/dskit/kv/consul"
17 "github.com/grafana/dskit/kv/etcd"
13 "github.com/prometheus/client_golang/prometheus"18 "github.com/prometheus/client_golang/prometheus"
14 dto "github.com/prometheus/client_model/go"19 dto "github.com/prometheus/client_model/go"
15 "github.com/stretchr/testify/assert"20 "github.com/stretchr/testify/assert"
@@ -17,9 +22,6 @@ import (
1722
18 "github.com/cortexproject/cortex/integration/e2e"23 "github.com/cortexproject/cortex/integration/e2e"
19 e2edb "github.com/cortexproject/cortex/integration/e2e/db"24 e2edb "github.com/cortexproject/cortex/integration/e2e/db"
20 "github.com/cortexproject/cortex/pkg/ring/kv"
21 "github.com/cortexproject/cortex/pkg/ring/kv/consul"
22 "github.com/cortexproject/cortex/pkg/ring/kv/etcd"
23)25)
2426
25func TestKVList(t *testing.T) {27func TestKVList(t *testing.T) {
@@ -39,7 +41,7 @@ func TestKVList(t *testing.T) {
39 sort.Strings(keys)41 sort.Strings(keys)
40 require.Equal(t, keysToCreate, keys, "returned key paths did not match created paths")42 require.Equal(t, keysToCreate, keys, "returned key paths did not match created paths")
4143
42 verifyClientMetrics(t, reg, map[string]uint64{44 verifyClientMetricsHistogram(t, reg, "cortex_kv_request_duration_seconds", map[string]uint64{
43 "List": 1,45 "List": 1,
44 "CAS": 3,46 "CAS": 3,
45 })47 })
@@ -63,7 +65,7 @@ func TestKVDelete(t *testing.T) {
63 require.NoError(t, err, "unexpected error")65 require.NoError(t, err, "unexpected error")
64 require.Nil(t, v, "object was not deleted")66 require.Nil(t, v, "object was not deleted")
6567
66 verifyClientMetrics(t, reg, map[string]uint64{68 verifyClientMetricsHistogram(t, reg, "cortex_kv_request_duration_seconds", map[string]uint64{
67 "Delete": 1,69 "Delete": 1,
68 "CAS": 1,70 "CAS": 1,
69 "GET": 1,71 "GET": 1,
@@ -117,7 +119,9 @@ func TestKVWatchAndDelete(t *testing.T) {
117 })119 })
118}120}
119121
120func setupEtcd(t *testing.T, scenario *e2e.Scenario, reg prometheus.Registerer) kv.Client {122func setupEtcd(t *testing.T, scenario *e2e.Scenario, reg prometheus.Registerer, logger log.Logger) kv.Client {
123 t.Helper()
124
121 etcdSvc := e2edb.NewETCD()125 etcdSvc := e2edb.NewETCD()
122 require.NoError(t, scenario.StartAndWaitReady(etcdSvc))126 require.NoError(t, scenario.StartAndWaitReady(etcdSvc))
123127
@@ -131,13 +135,15 @@ func setupEtcd(t *testing.T, scenario *e2e.Scenario, reg prometheus.Registerer)
131 MaxRetries: 5,135 MaxRetries: 5,
132 },136 },
133 },137 },
134 }, stringCodec{}, reg)138 }, stringCodec{}, reg, logger)
135 require.NoError(t, err)139 require.NoError(t, err)
136140
137 return etcdKv141 return etcdKv
138}142}
139143
140func setupConsul(t *testing.T, scenario *e2e.Scenario, reg prometheus.Registerer) kv.Client {144func setupConsul(t *testing.T, scenario *e2e.Scenario, reg prometheus.Registerer, logger log.Logger) kv.Client {
145 t.Helper()
146
141 consulSvc := e2edb.NewConsul()147 consulSvc := e2edb.NewConsul()
142 require.NoError(t, scenario.StartAndWaitReady(consulSvc))148 require.NoError(t, scenario.StartAndWaitReady(consulSvc))
143149
@@ -152,14 +158,14 @@ func setupConsul(t *testing.T, scenario *e2e.Scenario, reg prometheus.Registerer
152 WatchKeyRateLimit: 1,158 WatchKeyRateLimit: 1,
153 },159 },
154 },160 },
155 }, stringCodec{}, reg)161 }, stringCodec{}, reg, logger)
156 require.NoError(t, err)162 require.NoError(t, err)
157163
158 return consulKv164 return consulKv
159}165}
160166
161func testKVs(t *testing.T, testFn func(t *testing.T, client kv.Client, reg *prometheus.Registry)) {167func testKVs(t *testing.T, testFn func(t *testing.T, client kv.Client, reg *prometheus.Registry)) {
162 setupFns := map[string]func(t *testing.T, scenario *e2e.Scenario, reg prometheus.Registerer) kv.Client{168 setupFns := map[string]func(t *testing.T, scenario *e2e.Scenario, reg prometheus.Registerer, logger log.Logger) kv.Client{
163 "etcd": setupEtcd,169 "etcd": setupEtcd,
164 "consul": setupConsul,170 "consul": setupConsul,
165 }171 }
@@ -171,23 +177,30 @@ func testKVs(t *testing.T, testFn func(t *testing.T, client kv.Client, reg *prom
171 }177 }
172}178}
173179
174func testKVScenario(t *testing.T, kvSetupFn func(t *testing.T, scenario *e2e.Scenario, reg prometheus.Registerer) kv.Client, testFn func(t *testing.T, client kv.Client, reg *prometheus.Registry)) {180func testKVScenario(t *testing.T, kvSetupFn func(t *testing.T, scenario *e2e.Scenario, reg prometheus.Registerer, logger log.Logger) kv.Client, testFn func(t *testing.T, client kv.Client, reg *prometheus.Registry)) {
175 s, err := e2e.NewScenario(networkName)181 s, err := e2e.NewScenario(networkName)
176 require.NoError(t, err)182 require.NoError(t, err)
177 defer s.Close()183 defer s.Close()
178184
179 reg := prometheus.NewRegistry()185 reg := prometheus.NewRegistry()
180 client := kvSetupFn(t, s, reg)186 client := kvSetupFn(t, s, prometheus.WrapRegistererWithPrefix("cortex_", reg), log.NewNopLogger())
181 testFn(t, client, reg)187 testFn(t, client, reg)
182}188}
183189
184func verifyClientMetrics(t *testing.T, reg *prometheus.Registry, sampleCounts map[string]uint64) {190func verifyClientMetricsHistogram(t *testing.T, reg *prometheus.Registry, metricNameToVerify string, sampleCounts map[string]uint64) {
185 metrics, err := reg.Gather()191 metrics, err := reg.Gather()
186 require.NoError(t, err)192 require.NoError(t, err)
187193
188 require.Len(t, metrics, 1)194 var metricToVerify *dto.MetricFamily
189 require.Equal(t, "cortex_kv_request_duration_seconds", metrics[0].GetName())195 for _, metric := range metrics {
190 require.Equal(t, dto.MetricType_HISTOGRAM, metrics[0].GetType())196 if metric.GetName() != metricNameToVerify {
197 continue
198 }
199 metricToVerify = metric
200 break
201 }
202 require.NotNilf(t, metricToVerify, "Metric %s not found in registry", metricNameToVerify)
203 require.Equal(t, dto.MetricType_HISTOGRAM, metricToVerify.GetType())
191204
192 getMetricOperation := func(labels []*dto.LabelPair) (string, error) {205 getMetricOperation := func(labels []*dto.LabelPair) (string, error) {
193 for _, l := range labels {206 for _, l := range labels {
@@ -198,9 +211,8 @@ func verifyClientMetrics(t *testing.T, reg *prometheus.Registry, sampleCounts ma
198 return "", errors.New("no operation")211 return "", errors.New("no operation")
199 }212 }
200213
201 for _, metric := range metrics[0].GetMetric() {214 for _, metric := range metricToVerify.GetMetric() {
202 op, err := getMetricOperation(metric.Label)215 op, err := getMetricOperation(metric.Label)
203
204 require.NoErrorf(t, err, "No operation label found in metric %v", metric.String())216 require.NoErrorf(t, err, "No operation label found in metric %v", metric.String())
205 assert.Equal(t, sampleCounts[op], metric.GetHistogram().GetSampleCount(), op)217 assert.Equal(t, sampleCounts[op], metric.GetHistogram().GetSampleCount(), op)
206 }218 }
diff --git a/integration/ruler_test.go b/integration/ruler_test.go
index 885f84a..08dec2e 100644
--- a/integration/ruler_test.go
+++ b/integration/ruler_test.go
@@ -523,6 +523,166 @@ func TestRulerAlertmanagerTLS(t *testing.T) {
523 require.NoError(t, ruler.WaitSumMetricsWithOptions(e2e.Equals(1), []string{"cortex_prometheus_notifications_alertmanagers_discovered"}, e2e.WaitMissingMetrics))523 require.NoError(t, ruler.WaitSumMetricsWithOptions(e2e.Equals(1), []string{"cortex_prometheus_notifications_alertmanagers_discovered"}, e2e.WaitMissingMetrics))
524}524}
525525
526func TestRulerMetricsForInvalidQueries(t *testing.T) {
527 s, err := e2e.NewScenario(networkName)
528 require.NoError(t, err)
529 defer s.Close()
530
531 // Start dependencies.
532 consul := e2edb.NewConsul()
533 minio := e2edb.NewMinio(9000, bucketName, rulestoreBucketName)
534 require.NoError(t, s.StartAndWaitReady(consul, minio))
535
536 // Configure the ruler.
537 flags := mergeFlags(
538 BlocksStorageFlags(),
539 RulerFlags(false),
540 map[string]string{
541 // Since we're not going to run any rule (our only rule is invalid), we don't need the
542 // store-gateway to be configured to a valid address.
543 "-querier.store-gateway-addresses": "localhost:12345",
544 // Enable the bucket index so we can skip the initial bucket scan.
545 "-blocks-storage.bucket-store.bucket-index.enabled": "true",
546 // Evaluate rules often, so that we don't need to wait for metrics to show up.
547 "-ruler.evaluation-interval": "2s",
548 "-ruler.poll-interval": "2s",
549 // No delay
550 "-ruler.evaluation-delay-duration": "0",
551
552 "-blocks-storage.tsdb.block-ranges-period": "1h",
553 "-blocks-storage.bucket-store.sync-interval": "1s",
554 "-blocks-storage.tsdb.retention-period": "2h",
555
556 // We run single ingester only, no replication.
557 "-distributor.replication-factor": "1",
558
559 // Very low limit so that ruler hits it.
560 "-querier.max-fetched-chunks-per-query": "5",
561 // We need this to make limit work.
562 "-ingester.stream-chunks-when-using-blocks": "true",
563 },
564 )
565
566 const namespace = "test"
567 const user = "user"
568
569 distributor := e2ecortex.NewDistributor("distributor", consul.NetworkHTTPEndpoint(), flags, "")
570 ruler := e2ecortex.NewRuler("ruler", consul.NetworkHTTPEndpoint(), flags, "")
571 ingester := e2ecortex.NewIngester("ingester", consul.NetworkHTTPEndpoint(), flags, "")
572 require.NoError(t, s.StartAndWaitReady(distributor, ingester, ruler))
573
574 // Wait until both the distributor and ruler have updated the ring. The querier will also watch
575 // the store-gateway ring if blocks sharding is enabled.
576 require.NoError(t, distributor.WaitSumMetrics(e2e.Equals(512), "cortex_ring_tokens_total"))
577 require.NoError(t, ruler.WaitSumMetrics(e2e.Equals(512), "cortex_ring_tokens_total"))
578
579 c, err := e2ecortex.NewClient(distributor.HTTPEndpoint(), "", "", ruler.HTTPEndpoint(), user)
580 require.NoError(t, err)
581
582 // Push some series to Cortex -- enough so that we can hit some limits.
583 for i := 0; i < 10; i++ {
584 series, _ := generateSeries("metric", time.Now(), prompb.Label{Name: "foo", Value: fmt.Sprintf("%d", i)})
585
586 res, err := c.Push(series)
587 require.NoError(t, err)
588 require.Equal(t, 200, res.StatusCode)
589 }
590
591 totalQueries, err := ruler.SumMetrics([]string{"cortex_ruler_queries_total"})
592 require.NoError(t, err)
593
594 // Verify that user-failures don't increase cortex_ruler_queries_failed_total
595 for groupName, expression := range map[string]string{
596 // Syntactically correct expression (passes check in ruler), but failing because of invalid regex. This fails in PromQL engine.
597 "invalid_group": `label_replace(metric, "foo", "$1", "service", "[")`,
598
599 // This one fails in querier code, because of limits.
600 "too_many_chunks_group": `sum(metric)`,
601 } {
602 t.Run(groupName, func(t *testing.T) {
603 require.NoError(t, c.SetRuleGroup(ruleGroupWithRule(groupName, "rule", expression), namespace))
604 m := ruleGroupMatcher(user, namespace, groupName)
605
606 // Wait until ruler has loaded the group.
607 require.NoError(t, ruler.WaitSumMetricsWithOptions(e2e.Equals(1), []string{"cortex_prometheus_rule_group_rules"}, e2e.WithLabelMatchers(m), e2e.WaitMissingMetrics))
608
609 // Wait until rule group has tried to evaluate the rule.
610 require.NoError(t, ruler.WaitSumMetricsWithOptions(e2e.GreaterOrEqual(1), []string{"cortex_prometheus_rule_evaluations_total"}, e2e.WithLabelMatchers(m), e2e.WaitMissingMetrics))
611
612 // Verify that evaluation of the rule failed.
613 require.NoError(t, ruler.WaitSumMetricsWithOptions(e2e.GreaterOrEqual(1), []string{"cortex_prometheus_rule_evaluation_failures_total"}, e2e.WithLabelMatchers(m), e2e.WaitMissingMetrics))
614
615 // But these failures were not reported as "failed queries"
616 sum, err := ruler.SumMetrics([]string{"cortex_ruler_queries_failed_total"})
617 require.NoError(t, err)
618 require.Equal(t, float64(0), sum[0])
619
620 // Delete rule before checkin "cortex_ruler_queries_total", as we want to reuse value for next test.
621 require.NoError(t, c.DeleteRuleGroup(namespace, groupName))
622
623 // Wait until ruler has unloaded the group. We don't use any matcher, so there should be no groups (in fact, metric disappears).
624 require.NoError(t, ruler.WaitSumMetricsWithOptions(e2e.Equals(0), []string{"cortex_prometheus_rule_group_rules"}, e2e.SkipMissingMetrics))
625
626 // Check that cortex_ruler_queries_total went up since last test.
627 newTotalQueries, err := ruler.SumMetrics([]string{"cortex_ruler_queries_total"})
628 require.NoError(t, err)
629 require.Greater(t, newTotalQueries[0], totalQueries[0])
630
631 // Remember totalQueries for next test.
632 totalQueries = newTotalQueries
633 })
634 }
635
636 // Now let's upload a non-failing rule, and make sure that it works.
637 t.Run("real_error", func(t *testing.T) {
638 const groupName = "good_rule"
639 const expression = `sum(metric{foo=~"1|2"})`
640
641 require.NoError(t, c.SetRuleGroup(ruleGroupWithRule(groupName, "rule", expression), namespace))
642 m := ruleGroupMatcher(user, namespace, groupName)
643
644 // Wait until ruler has loaded the group.
645 require.NoError(t, ruler.WaitSumMetricsWithOptions(e2e.Equals(1), []string{"cortex_prometheus_rule_group_rules"}, e2e.WithLabelMatchers(m), e2e.WaitMissingMetrics))
646
647 // Wait until rule group has tried to evaluate the rule, and succeeded.
648 require.NoError(t, ruler.WaitSumMetricsWithOptions(e2e.GreaterOrEqual(1), []string{"cortex_prometheus_rule_evaluations_total"}, e2e.WithLabelMatchers(m), e2e.WaitMissingMetrics))
649 require.NoError(t, ruler.WaitSumMetricsWithOptions(e2e.Equals(0), []string{"cortex_prometheus_rule_evaluation_failures_total"}, e2e.WithLabelMatchers(m), e2e.WaitMissingMetrics))
650
651 // Still no failures.
652 sum, err := ruler.SumMetrics([]string{"cortex_ruler_queries_failed_total"})
653 require.NoError(t, err)
654 require.Equal(t, float64(0), sum[0])
655
656 // Now let's stop ingester, and recheck metrics. This should increase cortex_ruler_queries_failed_total failures.
657 require.NoError(t, s.Stop(ingester))
658
659 // We should start getting "real" failures now.
660 require.NoError(t, ruler.WaitSumMetricsWithOptions(e2e.GreaterOrEqual(1), []string{"cortex_ruler_queries_failed_total"}))
661 })
662}
663
664func ruleGroupMatcher(user, namespace, groupName string) *labels.Matcher {
665 return labels.MustNewMatcher(labels.MatchEqual, "rule_group", fmt.Sprintf("/rules/%s/%s;%s", user, namespace, groupName))
666}
667
668func ruleGroupWithRule(groupName string, ruleName string, expression string) rulefmt.RuleGroup {
669 // Prepare rule group with invalid rule.
670 var recordNode = yaml.Node{}
671 var exprNode = yaml.Node{}
672
673 recordNode.SetString(ruleName)
674 exprNode.SetString(expression)
675
676 return rulefmt.RuleGroup{
677 Name: groupName,
678 Interval: 10,
679 Rules: []rulefmt.RuleNode{{
680 Record: recordNode,
681 Expr: exprNode,
682 }},
683 }
684}
685
526func createTestRuleGroup(t *testing.T) rulefmt.RuleGroup {686func createTestRuleGroup(t *testing.T) rulefmt.RuleGroup {
527 t.Helper()687 t.Helper()
528688
diff --git a/integration/s3_storage_client_test.go b/integration/s3_storage_client_test.go
index 7d27e69..c813037 100644
--- a/integration/s3_storage_client_test.go
+++ b/integration/s3_storage_client_test.go
@@ -9,13 +9,13 @@ import (
9 "net/url"9 "net/url"
10 "testing"10 "testing"
1111
12 "github.com/grafana/dskit/flagext"
12 "github.com/stretchr/testify/require"13 "github.com/stretchr/testify/require"
1314
14 "github.com/cortexproject/cortex/integration/e2e"15 "github.com/cortexproject/cortex/integration/e2e"
15 e2edb "github.com/cortexproject/cortex/integration/e2e/db"16 e2edb "github.com/cortexproject/cortex/integration/e2e/db"
16 s3 "github.com/cortexproject/cortex/pkg/chunk/aws"17 s3 "github.com/cortexproject/cortex/pkg/chunk/aws"
17 cortex_s3 "github.com/cortexproject/cortex/pkg/storage/bucket/s3"18 cortex_s3 "github.com/cortexproject/cortex/pkg/storage/bucket/s3"
18 "github.com/cortexproject/cortex/pkg/util/flagext"
19)19)
2020
21func TestS3Client(t *testing.T) {21func TestS3Client(t *testing.T) {
@@ -94,6 +94,11 @@ func TestS3Client(t *testing.T) {
9494
95 for _, tt := range tests {95 for _, tt := range tests {
96 t.Run(tt.name, func(t *testing.T) {96 t.Run(tt.name, func(t *testing.T) {
97 switch tt.name {
98 case "config-with-deprecated-sse", "config-with-sse-s3":
99 t.Skip("TODO: Issue #4543")
100 }
101
97 client, err := s3.NewS3ObjectClient(tt.cfg)102 client, err := s3.NewS3ObjectClient(tt.cfg)
98103
99 require.NoError(t, err)104 require.NoError(t, err)
diff --git a/oci/Dockerfile.ubuntu b/oci/Dockerfile.ubuntu
index 35fe633..9fa6f16 100644
--- a/oci/Dockerfile.ubuntu
+++ b/oci/Dockerfile.ubuntu
@@ -1,4 +1,4 @@
1FROM ubuntu:impish AS builder1FROM ubuntu:jammy AS builder
22
3WORKDIR /src/cortex3WORKDIR /src/cortex
44
@@ -34,7 +34,7 @@ RUN set -eux; \
34 cat /src/cortex/manifest-upstream.txt;34 cat /src/cortex/manifest-upstream.txt;
3535
36# Prepare the final container36# Prepare the final container
37FROM ubuntu:impish37FROM ubuntu:jammy
3838
39ENV TZ UTC39ENV TZ UTC
4040
@@ -43,9 +43,11 @@ COPY --from=builder /src/cortex/cmd/query-tee/query-tee /usr/local/bin/query-tee
43COPY --from=builder /src/cortex/cmd/blocksconvert/blocksconvert /usr/local/bin/blocksconvert43COPY --from=builder /src/cortex/cmd/blocksconvert/blocksconvert /usr/local/bin/blocksconvert
44COPY --from=builder /src/cortex/LICENSE /LICENSE.cortex44COPY --from=builder /src/cortex/LICENSE /LICENSE.cortex
45COPY --from=builder /src/cortex/docs/configuration/*.yaml /etc/cortex/45COPY --from=builder /src/cortex/docs/configuration/*.yaml /etc/cortex/
46# Our own version of /etc/cortex/single-process-config-blocks.yaml
47# We do not want to use an aws backend in our examples
48COPY --from=builder /src/cortex/oci/cortex.yaml /etc/cortex/cortex.yaml
4649
47RUN set -eux; \50RUN set -eux; \
48 ln -sv /etc/cortex/single-process-config-blocks.yaml /etc/cortex/cortex.yaml; \
49 apt-get update; \51 apt-get update; \
50 DEBIAN_FRONTEND=noninteractive apt full-upgrade -y; \52 DEBIAN_FRONTEND=noninteractive apt full-upgrade -y; \
51 DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \53 DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
diff --git a/oci/cortex.yaml b/oci/cortex.yaml
52new file mode 10064454new file mode 100644
index 0000000..93ca539
--- /dev/null
+++ b/oci/cortex.yaml
@@ -0,0 +1,95 @@
1
2# Configuration for running Cortex in single-process mode.
3# This should not be used in production. It is only for getting started
4# and development.
5
6# Disable the requirement that every request to Cortex has a
7# X-Scope-OrgID header. `fake` will be substituted in instead.
8auth_enabled: false
9
10server:
11 http_listen_port: 9009
12
13 # Configure the server to allow messages up to 100MB.
14 grpc_server_max_recv_msg_size: 104857600
15 grpc_server_max_send_msg_size: 104857600
16 grpc_server_max_concurrent_streams: 1000
17
18distributor:
19 shard_by_all_labels: true
20 pool:
21 health_check_ingesters: true
22
23ingester_client:
24 grpc_client_config:
25 # Configure the client to allow messages up to 100MB.
26 max_recv_msg_size: 104857600
27 max_send_msg_size: 104857600
28 grpc_compression: gzip
29
30ingester:
31 lifecycler:
32 # The address to advertise for this ingester. Will be autodiscovered by
33 # looking up address on eth0 or en0; can be specified if this fails.
34 # address: 127.0.0.1
35
36 # We want to start immediately and flush on shutdown.
37 join_after: 0
38 min_ready_duration: 0s
39 final_sleep: 0s
40 num_tokens: 512
41
42 # Use an in memory ring store, so we don't need to launch a Consul.
43 ring:
44 kvstore:
45 store: inmemory
46 replication_factor: 1
47
48storage:
49 engine: blocks
50
51blocks_storage:
52 tsdb:
53 dir: /tmp/cortex/tsdb
54
55 bucket_store:
56 sync_dir: /tmp/cortex/tsdb-sync
57
58 # You can choose between local storage and Amazon S3, Google GCS and Azure storage. Each option requires additional configuration
59 # as shown below. All options can be configured via flags as well which might be handy for secret inputs.
60 backend: filesystem # s3, gcs, azure or filesystem are valid options
61# s3:
62# bucket_name: cortex
63# endpoint: s3.dualstack.us-east-1.amazonaws.com
64# Configure your S3 credentials below.
65# secret_access_key: "TODO"
66# access_key_id: "TODO"
67# gcs:
68# bucket_name: cortex
69# service_account: # if empty or omitted Cortex will use your default service account as per Google's fallback logic
70# azure:
71# account_name:
72# account_key:
73# container_name:
74# endpoint_suffix:
75# max_retries: # Number of retries for recoverable errors (defaults to 20)
76 filesystem:
77 dir: ./data/tsdb
78
79compactor:
80 data_dir: /tmp/cortex/compactor
81 sharding_ring:
82 kvstore:
83 store: inmemory
84
85frontend_worker:
86 match_max_concurrent: true
87
88ruler:
89 enable_api: true
90 enable_sharding: false
91
92ruler_storage:
93 backend: local
94 local:
95 directory: /tmp/cortex/rules
diff --git a/pkg/alertmanager/alertmanager.go b/pkg/alertmanager/alertmanager.go
index fe89550..43fe9e3 100644
--- a/pkg/alertmanager/alertmanager.go
+++ b/pkg/alertmanager/alertmanager.go
@@ -13,8 +13,10 @@ import (
13 "sync"13 "sync"
14 "time"14 "time"
1515
16 "github.com/go-kit/kit/log"16 "github.com/go-kit/log"
17 "github.com/go-kit/kit/log/level"17 "github.com/go-kit/log/level"
18 "github.com/grafana/dskit/flagext"
19 "github.com/grafana/dskit/services"
18 "github.com/pkg/errors"20 "github.com/pkg/errors"
19 "github.com/prometheus/alertmanager/api"21 "github.com/prometheus/alertmanager/api"
20 "github.com/prometheus/alertmanager/cluster"22 "github.com/prometheus/alertmanager/cluster"
@@ -29,6 +31,7 @@ import (
29 "github.com/prometheus/alertmanager/notify/pagerduty"31 "github.com/prometheus/alertmanager/notify/pagerduty"
30 "github.com/prometheus/alertmanager/notify/pushover"32 "github.com/prometheus/alertmanager/notify/pushover"
31 "github.com/prometheus/alertmanager/notify/slack"33 "github.com/prometheus/alertmanager/notify/slack"
34 "github.com/prometheus/alertmanager/notify/sns"
32 "github.com/prometheus/alertmanager/notify/victorops"35 "github.com/prometheus/alertmanager/notify/victorops"
33 "github.com/prometheus/alertmanager/notify/webhook"36 "github.com/prometheus/alertmanager/notify/webhook"
34 "github.com/prometheus/alertmanager/notify/wechat"37 "github.com/prometheus/alertmanager/notify/wechat"
@@ -46,9 +49,7 @@ import (
46 "golang.org/x/time/rate"49 "golang.org/x/time/rate"
4750
48 "github.com/cortexproject/cortex/pkg/alertmanager/alertstore"51 "github.com/cortexproject/cortex/pkg/alertmanager/alertstore"
49 "github.com/cortexproject/cortex/pkg/util/flagext"
50 util_net "github.com/cortexproject/cortex/pkg/util/net"52 util_net "github.com/cortexproject/cortex/pkg/util/net"
51 "github.com/cortexproject/cortex/pkg/util/services"
52)53)
5354
54const (55const (
@@ -194,7 +195,7 @@ func New(cfg *Config, reg *prometheus.Registry) (*Alertmanager, error) {
194 am.nflog, err = nflog.New(195 am.nflog, err = nflog.New(
195 nflog.WithRetention(cfg.Retention),196 nflog.WithRetention(cfg.Retention),
196 nflog.WithSnapshot(filepath.Join(cfg.TenantDataDir, notificationLogSnapshot)),197 nflog.WithSnapshot(filepath.Join(cfg.TenantDataDir, notificationLogSnapshot)),
197 nflog.WithMaintenance(maintenancePeriod, am.stop, am.wg.Done),198 nflog.WithMaintenance(maintenancePeriod, am.stop, am.wg.Done, nil),
198 nflog.WithMetrics(am.registry),199 nflog.WithMetrics(am.registry),
199 nflog.WithLogger(log.With(am.logger, "component", "nflog")),200 nflog.WithLogger(log.With(am.logger, "component", "nflog")),
200 )201 )
@@ -238,7 +239,7 @@ func New(cfg *Config, reg *prometheus.Registry) (*Alertmanager, error) {
238239
239 am.wg.Add(1)240 am.wg.Add(1)
240 go func() {241 go func() {
241 am.silences.Maintenance(maintenancePeriod, silencesFile, am.stop)242 am.silences.Maintenance(maintenancePeriod, silencesFile, am.stop, nil)
242 am.wg.Done()243 am.wg.Done()
243 }()244 }()
244245
@@ -515,6 +516,9 @@ func buildReceiverIntegrations(nc *config.Receiver, tmpl *template.Template, fir
515 for i, c := range nc.PushoverConfigs {516 for i, c := range nc.PushoverConfigs {
516 add("pushover", i, c, func(l log.Logger) (notify.Notifier, error) { return pushover.New(c, tmpl, l, httpOps...) })517 add("pushover", i, c, func(l log.Logger) (notify.Notifier, error) { return pushover.New(c, tmpl, l, httpOps...) })
517 }518 }
519 for i, c := range nc.SNSConfigs {
520 add("sns", i, c, func(l log.Logger) (notify.Notifier, error) { return sns.New(c, tmpl, l, httpOps...) })
521 }
518 // If we add support for more integrations, we need to add them to validation as well. See validation.allowedIntegrationNames field.522 // If we add support for more integrations, we need to add them to validation as well. See validation.allowedIntegrationNames field.
519 if errs.Len() > 0 {523 if errs.Len() > 0 {
520 return nil, &errs524 return nil, &errs
diff --git a/pkg/alertmanager/alertmanager_client.go b/pkg/alertmanager/alertmanager_client.go
index 963b531..e95d870 100644
--- a/pkg/alertmanager/alertmanager_client.go
+++ b/pkg/alertmanager/alertmanager_client.go
@@ -4,7 +4,7 @@ import (
4 "flag"4 "flag"
5 "time"5 "time"
66
7 "github.com/go-kit/kit/log"7 "github.com/go-kit/log"
8 "github.com/pkg/errors"8 "github.com/pkg/errors"
9 "github.com/prometheus/client_golang/prometheus"9 "github.com/prometheus/client_golang/prometheus"
10 "github.com/prometheus/client_golang/prometheus/promauto"10 "github.com/prometheus/client_golang/prometheus/promauto"
diff --git a/pkg/alertmanager/alertmanager_http.go b/pkg/alertmanager/alertmanager_http.go
index f0afeb2..01f34db 100644
--- a/pkg/alertmanager/alertmanager_http.go
+++ b/pkg/alertmanager/alertmanager_http.go
@@ -4,10 +4,10 @@ import (
4 "net/http"4 "net/http"
5 "text/template"5 "text/template"
66
7 "github.com/go-kit/kit/log/level"7 "github.com/go-kit/log/level"
8 "github.com/grafana/dskit/services"
89
9 util_log "github.com/cortexproject/cortex/pkg/util/log"10 util_log "github.com/cortexproject/cortex/pkg/util/log"
10 "github.com/cortexproject/cortex/pkg/util/services"
11)11)
1212
13var (13var (
diff --git a/pkg/alertmanager/alertmanager_http_test.go b/pkg/alertmanager/alertmanager_http_test.go
index b2e40b8..209ba33 100644
--- a/pkg/alertmanager/alertmanager_http_test.go
+++ b/pkg/alertmanager/alertmanager_http_test.go
@@ -7,7 +7,7 @@ import (
7 "testing"7 "testing"
8 "time"8 "time"
99
10 "github.com/go-kit/kit/log"10 "github.com/go-kit/log"
11 "github.com/prometheus/alertmanager/cluster"11 "github.com/prometheus/alertmanager/cluster"
12 "github.com/prometheus/client_golang/prometheus"12 "github.com/prometheus/client_golang/prometheus"
13 "github.com/stretchr/testify/require"13 "github.com/stretchr/testify/require"
@@ -32,6 +32,7 @@ func TestMultitenantAlertmanager_GetStatusHandler(t *testing.T) {
32 cluster.DefaultTcpTimeout,32 cluster.DefaultTcpTimeout,
33 cluster.DefaultProbeTimeout,33 cluster.DefaultProbeTimeout,
34 cluster.DefaultProbeInterval,34 cluster.DefaultProbeInterval,
35 nil,
35 )36 )
36 }37 }
3738
diff --git a/pkg/alertmanager/alertmanager_ring.go b/pkg/alertmanager/alertmanager_ring.go
index 04d08d2..57b3000 100644
--- a/pkg/alertmanager/alertmanager_ring.go
+++ b/pkg/alertmanager/alertmanager_ring.go
@@ -6,11 +6,11 @@ import (
6 "os"6 "os"
7 "time"7 "time"
88
9 "github.com/go-kit/kit/log/level"9 "github.com/go-kit/log/level"
10 "github.com/grafana/dskit/flagext"
11 "github.com/grafana/dskit/kv"
1012
11 "github.com/cortexproject/cortex/pkg/ring"13 "github.com/cortexproject/cortex/pkg/ring"
12 "github.com/cortexproject/cortex/pkg/ring/kv"
13 "github.com/cortexproject/cortex/pkg/util/flagext"
14 util_log "github.com/cortexproject/cortex/pkg/util/log"14 util_log "github.com/cortexproject/cortex/pkg/util/log"
15)15)
1616
@@ -76,8 +76,8 @@ func (cfg *RingConfig) RegisterFlags(f *flag.FlagSet) {
7676
77 // Ring flags77 // Ring flags
78 cfg.KVStore.RegisterFlagsWithPrefix(rfprefix, "alertmanagers/", f)78 cfg.KVStore.RegisterFlagsWithPrefix(rfprefix, "alertmanagers/", f)
79 f.DurationVar(&cfg.HeartbeatPeriod, rfprefix+"heartbeat-period", 15*time.Second, "Period at which to heartbeat to the ring.")79 f.DurationVar(&cfg.HeartbeatPeriod, rfprefix+"heartbeat-period", 15*time.Second, "Period at which to heartbeat to the ring. 0 = disabled.")
80 f.DurationVar(&cfg.HeartbeatTimeout, rfprefix+"heartbeat-timeout", time.Minute, "The heartbeat timeout after which alertmanagers are considered unhealthy within the ring.")80 f.DurationVar(&cfg.HeartbeatTimeout, rfprefix+"heartbeat-timeout", time.Minute, "The heartbeat timeout after which alertmanagers are considered unhealthy within the ring. 0 = never (timeout disabled).")
81 f.IntVar(&cfg.ReplicationFactor, rfprefix+"replication-factor", 3, "The replication factor to use when sharding the alertmanager.")81 f.IntVar(&cfg.ReplicationFactor, rfprefix+"replication-factor", 3, "The replication factor to use when sharding the alertmanager.")
82 f.BoolVar(&cfg.ZoneAwarenessEnabled, rfprefix+"zone-awareness-enabled", false, "True to enable zone-awareness and replicate alerts across different availability zones.")82 f.BoolVar(&cfg.ZoneAwarenessEnabled, rfprefix+"zone-awareness-enabled", false, "True to enable zone-awareness and replicate alerts across different availability zones.")
8383
diff --git a/pkg/alertmanager/alertmanager_test.go b/pkg/alertmanager/alertmanager_test.go
index 402ec2e..23a309f 100644
--- a/pkg/alertmanager/alertmanager_test.go
+++ b/pkg/alertmanager/alertmanager_test.go
@@ -7,7 +7,7 @@ import (
7 "testing"7 "testing"
8 "time"8 "time"
99
10 "github.com/go-kit/kit/log"10 "github.com/go-kit/log"
11 "github.com/prometheus/alertmanager/config"11 "github.com/prometheus/alertmanager/config"
12 "github.com/prometheus/alertmanager/types"12 "github.com/prometheus/alertmanager/types"
13 "github.com/prometheus/client_golang/prometheus"13 "github.com/prometheus/client_golang/prometheus"
diff --git a/pkg/alertmanager/alertstore/bucketclient/bucket_client.go b/pkg/alertmanager/alertstore/bucketclient/bucket_client.go
index a8822d5..cab4fe7 100644
--- a/pkg/alertmanager/alertstore/bucketclient/bucket_client.go
+++ b/pkg/alertmanager/alertstore/bucketclient/bucket_client.go
@@ -7,7 +7,7 @@ import (
7 "strings"7 "strings"
8 "sync"8 "sync"
99
10 "github.com/go-kit/kit/log"10 "github.com/go-kit/log"
11 "github.com/gogo/protobuf/proto"11 "github.com/gogo/protobuf/proto"
12 "github.com/pkg/errors"12 "github.com/pkg/errors"
13 "github.com/thanos-io/thanos/pkg/objstore"13 "github.com/thanos-io/thanos/pkg/objstore"
diff --git a/pkg/alertmanager/alertstore/objectclient/store.go b/pkg/alertmanager/alertstore/objectclient/store.go
index 7812806..ceab6bb 100644
--- a/pkg/alertmanager/alertstore/objectclient/store.go
+++ b/pkg/alertmanager/alertstore/objectclient/store.go
@@ -8,7 +8,7 @@ import (
8 "strings"8 "strings"
9 "sync"9 "sync"
1010
11 "github.com/go-kit/kit/log"11 "github.com/go-kit/log"
12 "github.com/pkg/errors"12 "github.com/pkg/errors"
13 "github.com/thanos-io/thanos/pkg/runutil"13 "github.com/thanos-io/thanos/pkg/runutil"
1414
diff --git a/pkg/alertmanager/alertstore/store.go b/pkg/alertmanager/alertstore/store.go
index 12bba96..7a713d0 100644
--- a/pkg/alertmanager/alertstore/store.go
+++ b/pkg/alertmanager/alertstore/store.go
@@ -4,7 +4,7 @@ import (
4 "context"4 "context"
5 "fmt"5 "fmt"
66
7 "github.com/go-kit/kit/log"7 "github.com/go-kit/log"
8 "github.com/prometheus/client_golang/prometheus"8 "github.com/prometheus/client_golang/prometheus"
99
10 "github.com/cortexproject/cortex/pkg/alertmanager/alertspb"10 "github.com/cortexproject/cortex/pkg/alertmanager/alertspb"
diff --git a/pkg/alertmanager/alertstore/store_test.go b/pkg/alertmanager/alertstore/store_test.go
index 2c87005..12016a1 100644
--- a/pkg/alertmanager/alertstore/store_test.go
+++ b/pkg/alertmanager/alertstore/store_test.go
@@ -5,7 +5,7 @@ import (
5 "errors"5 "errors"
6 "testing"6 "testing"
77
8 "github.com/go-kit/kit/log"8 "github.com/go-kit/log"
9 "github.com/prometheus/alertmanager/cluster/clusterpb"9 "github.com/prometheus/alertmanager/cluster/clusterpb"
10 "github.com/stretchr/testify/assert"10 "github.com/stretchr/testify/assert"
11 "github.com/stretchr/testify/require"11 "github.com/stretchr/testify/require"
diff --git a/pkg/alertmanager/api.go b/pkg/alertmanager/api.go
index 9d1ee0d..385d3e2 100644
--- a/pkg/alertmanager/api.go
+++ b/pkg/alertmanager/api.go
@@ -16,8 +16,8 @@ import (
16 "github.com/cortexproject/cortex/pkg/util/concurrency"16 "github.com/cortexproject/cortex/pkg/util/concurrency"
17 util_log "github.com/cortexproject/cortex/pkg/util/log"17 util_log "github.com/cortexproject/cortex/pkg/util/log"
1818
19 "github.com/go-kit/kit/log"19 "github.com/go-kit/log"
20 "github.com/go-kit/kit/log/level"20 "github.com/go-kit/log/level"
21 "github.com/pkg/errors"21 "github.com/pkg/errors"
22 "github.com/prometheus/alertmanager/config"22 "github.com/prometheus/alertmanager/config"
23 "github.com/prometheus/alertmanager/template"23 "github.com/prometheus/alertmanager/template"
diff --git a/pkg/alertmanager/api_test.go b/pkg/alertmanager/api_test.go
index 511a7f4..494120d 100644
--- a/pkg/alertmanager/api_test.go
+++ b/pkg/alertmanager/api_test.go
@@ -9,26 +9,23 @@ import (
9 "net/http/httptest"9 "net/http/httptest"
10 "testing"10 "testing"
1111
12 "github.com/go-kit/kit/log"12 "github.com/go-kit/log"
13 "github.com/gorilla/mux"13 "github.com/gorilla/mux"
14 "github.com/prometheus/client_golang/prometheus"14 "github.com/grafana/dskit/flagext"
15 "gopkg.in/yaml.v2"15 "github.com/grafana/dskit/services"
16
17 "github.com/pkg/errors"16 "github.com/pkg/errors"
18 "github.com/prometheus/alertmanager/config"17 "github.com/prometheus/alertmanager/config"
18 "github.com/prometheus/client_golang/prometheus"
19 commoncfg "github.com/prometheus/common/config"19 commoncfg "github.com/prometheus/common/config"
20 "github.com/stretchr/testify/assert"20 "github.com/stretchr/testify/assert"
21 "github.com/stretchr/testify/require"
21 "github.com/thanos-io/thanos/pkg/objstore"22 "github.com/thanos-io/thanos/pkg/objstore"
2223 "github.com/weaveworks/common/user"
23 "github.com/cortexproject/cortex/pkg/util/flagext"24 "gopkg.in/yaml.v2"
2425
25 "github.com/cortexproject/cortex/pkg/alertmanager/alertspb"26 "github.com/cortexproject/cortex/pkg/alertmanager/alertspb"
26 "github.com/cortexproject/cortex/pkg/alertmanager/alertstore/bucketclient"27 "github.com/cortexproject/cortex/pkg/alertmanager/alertstore/bucketclient"
27 util_log "github.com/cortexproject/cortex/pkg/util/log"28 util_log "github.com/cortexproject/cortex/pkg/util/log"
28 "github.com/cortexproject/cortex/pkg/util/services"
29
30 "github.com/stretchr/testify/require"
31 "github.com/weaveworks/common/user"
32)29)
3330
34func TestAMConfigValidationAPI(t *testing.T) {31func TestAMConfigValidationAPI(t *testing.T) {
diff --git a/pkg/alertmanager/distributor.go b/pkg/alertmanager/distributor.go
index 2dcfc36..5311216 100644
--- a/pkg/alertmanager/distributor.go
+++ b/pkg/alertmanager/distributor.go
@@ -10,8 +10,9 @@ import (
10 "strings"10 "strings"
11 "sync"11 "sync"
1212
13 "github.com/go-kit/kit/log"13 "github.com/go-kit/log"
14 "github.com/go-kit/kit/log/level"14 "github.com/go-kit/log/level"
15 "github.com/grafana/dskit/services"
15 "github.com/opentracing/opentracing-go"16 "github.com/opentracing/opentracing-go"
16 "github.com/pkg/errors"17 "github.com/pkg/errors"
17 "github.com/prometheus/client_golang/prometheus"18 "github.com/prometheus/client_golang/prometheus"
@@ -24,7 +25,6 @@ import (
24 "github.com/cortexproject/cortex/pkg/tenant"25 "github.com/cortexproject/cortex/pkg/tenant"
25 "github.com/cortexproject/cortex/pkg/util"26 "github.com/cortexproject/cortex/pkg/util"
26 util_log "github.com/cortexproject/cortex/pkg/util/log"27 util_log "github.com/cortexproject/cortex/pkg/util/log"
27 "github.com/cortexproject/cortex/pkg/util/services"
28)28)
2929
30// Distributor forwards requests to individual alertmanagers.30// Distributor forwards requests to individual alertmanagers.
diff --git a/pkg/alertmanager/distributor_test.go b/pkg/alertmanager/distributor_test.go
index ad69b85..6dafc36 100644
--- a/pkg/alertmanager/distributor_test.go
+++ b/pkg/alertmanager/distributor_test.go
@@ -13,21 +13,23 @@ import (
13 "testing"13 "testing"
14 "time"14 "time"
1515
16 "github.com/cortexproject/cortex/pkg/alertmanager/alertmanagerpb"16 "github.com/go-kit/log"
17 "github.com/cortexproject/cortex/pkg/ring"17 "github.com/grafana/dskit/flagext"
18 "github.com/cortexproject/cortex/pkg/ring/kv"18 "github.com/grafana/dskit/kv"
19 "github.com/cortexproject/cortex/pkg/ring/kv/consul"19 "github.com/grafana/dskit/kv/consul"
20 "github.com/cortexproject/cortex/pkg/util/flagext"20 "github.com/grafana/dskit/services"
21 util_log "github.com/cortexproject/cortex/pkg/util/log"
22 "github.com/cortexproject/cortex/pkg/util/services"
23 "github.com/cortexproject/cortex/pkg/util/test"
24
25 "github.com/prometheus/client_golang/prometheus"21 "github.com/prometheus/client_golang/prometheus"
22 "github.com/stretchr/testify/assert"
26 "github.com/stretchr/testify/require"23 "github.com/stretchr/testify/require"
27 "github.com/weaveworks/common/httpgrpc"24 "github.com/weaveworks/common/httpgrpc"
28 "github.com/weaveworks/common/user"25 "github.com/weaveworks/common/user"
29 "google.golang.org/grpc"26 "google.golang.org/grpc"
30 "google.golang.org/grpc/health/grpc_health_v1"27 "google.golang.org/grpc/health/grpc_health_v1"
28
29 "github.com/cortexproject/cortex/pkg/alertmanager/alertmanagerpb"
30 "github.com/cortexproject/cortex/pkg/ring"
31 util_log "github.com/cortexproject/cortex/pkg/util/log"
32 "github.com/cortexproject/cortex/pkg/util/test"
31)33)
3234
33func TestDistributor_DistributeRequest(t *testing.T) {35func TestDistributor_DistributeRequest(t *testing.T) {
@@ -335,7 +337,9 @@ func prepare(t *testing.T, numAM, numHappyAM, replicationFactor int, responseBod
335 amByAddr[a.myAddr] = ams[i]337 amByAddr[a.myAddr] = ams[i]
336 }338 }
337339
338 kvStore := consul.NewInMemoryClient(ring.GetCodec())340 kvStore, closer := consul.NewInMemoryClient(ring.GetCodec(), log.NewNopLogger(), nil)
341 t.Cleanup(func() { assert.NoError(t, closer.Close()) })
342
339 err := kvStore.CAS(context.Background(), RingKey,343 err := kvStore.CAS(context.Background(), RingKey,
340 func(_ interface{}) (interface{}, bool, error) {344 func(_ interface{}) (interface{}, bool, error) {
341 return &ring.Desc{345 return &ring.Desc{
diff --git a/pkg/alertmanager/multitenant.go b/pkg/alertmanager/multitenant.go
index 096f9f2..d42b5a8 100644
--- a/pkg/alertmanager/multitenant.go
+++ b/pkg/alertmanager/multitenant.go
@@ -13,8 +13,11 @@ import (
13 "sync"13 "sync"
14 "time"14 "time"
1515
16 "github.com/go-kit/kit/log"16 "github.com/go-kit/log"
17 "github.com/go-kit/kit/log/level"17 "github.com/go-kit/log/level"
18 "github.com/grafana/dskit/flagext"
19 "github.com/grafana/dskit/kv"
20 "github.com/grafana/dskit/services"
18 "github.com/pkg/errors"21 "github.com/pkg/errors"
19 "github.com/prometheus/alertmanager/cluster"22 "github.com/prometheus/alertmanager/cluster"
20 "github.com/prometheus/alertmanager/cluster/clusterpb"23 "github.com/prometheus/alertmanager/cluster/clusterpb"
@@ -32,13 +35,10 @@ import (
32 "github.com/cortexproject/cortex/pkg/alertmanager/alertstore"35 "github.com/cortexproject/cortex/pkg/alertmanager/alertstore"
33 "github.com/cortexproject/cortex/pkg/ring"36 "github.com/cortexproject/cortex/pkg/ring"
34 "github.com/cortexproject/cortex/pkg/ring/client"37 "github.com/cortexproject/cortex/pkg/ring/client"
35 "github.com/cortexproject/cortex/pkg/ring/kv"
36 "github.com/cortexproject/cortex/pkg/tenant"38 "github.com/cortexproject/cortex/pkg/tenant"
37 "github.com/cortexproject/cortex/pkg/util"39 "github.com/cortexproject/cortex/pkg/util"
38 "github.com/cortexproject/cortex/pkg/util/concurrency"40 "github.com/cortexproject/cortex/pkg/util/concurrency"
39 "github.com/cortexproject/cortex/pkg/util/flagext"
40 util_log "github.com/cortexproject/cortex/pkg/util/log"41 util_log "github.com/cortexproject/cortex/pkg/util/log"
41 "github.com/cortexproject/cortex/pkg/util/services"
42)42)
4343
44const (44const (
@@ -250,6 +250,10 @@ type MultitenantAlertmanager struct {
250 distributor *Distributor250 distributor *Distributor
251 grpcServer *server.Server251 grpcServer *server.Server
252252
253 // Last ring state. This variable is not protected with a mutex because it's always
254 // accessed by a single goroutine at a time.
255 ringLastState ring.ReplicationSet
256
253 // Subservices manager (ring, lifecycler)257 // Subservices manager (ring, lifecycler)
254 subservices *services.Manager258 subservices *services.Manager
255 subservicesWatcher *services.FailureWatcher259 subservicesWatcher *services.FailureWatcher
@@ -322,6 +326,7 @@ func NewMultitenantAlertmanager(cfg *MultitenantAlertmanagerConfig, store alerts
322 cluster.DefaultTcpTimeout,326 cluster.DefaultTcpTimeout,
323 cluster.DefaultProbeTimeout,327 cluster.DefaultProbeTimeout,
324 cluster.DefaultProbeInterval,328 cluster.DefaultProbeInterval,
329 nil,
325 )330 )
326 if err != nil {331 if err != nil {
327 return nil, errors.Wrap(err, "unable to initialize gossip mesh")332 return nil, errors.Wrap(err, "unable to initialize gossip mesh")
@@ -340,7 +345,8 @@ func NewMultitenantAlertmanager(cfg *MultitenantAlertmanagerConfig, store alerts
340 ringStore, err = kv.NewClient(345 ringStore, err = kv.NewClient(
341 cfg.ShardingRing.KVStore,346 cfg.ShardingRing.KVStore,
342 ring.GetCodec(),347 ring.GetCodec(),
343 kv.RegistererWithKVName(registerer, "alertmanager"),348 kv.RegistererWithKVName(prometheus.WrapRegistererWithPrefix("cortex_", registerer), "alertmanager"),
349 logger,
344 )350 )
345 if err != nil {351 if err != nil {
346 return nil, errors.Wrap(err, "create KV store client")352 return nil, errors.Wrap(err, "create KV store client")
@@ -488,6 +494,10 @@ func (am *MultitenantAlertmanager) starting(ctx context.Context) (err error) {
488 }494 }
489495
490 if am.cfg.ShardingEnabled {496 if am.cfg.ShardingEnabled {
497 // Store the ring state after the initial Alertmanager configs sync has been done and before we do change
498 // our state in the ring.
499 am.ringLastState, _ = am.ring.GetAllHealthy(RingOp)
500
491 // Make sure that all the alertmanagers we were initially configured with have501 // Make sure that all the alertmanagers we were initially configured with have
492 // fetched state from the replicas, before advertising as ACTIVE. This will502 // fetched state from the replicas, before advertising as ACTIVE. This will
493 // reduce the possibility that we lose state when new instances join/leave.503 // reduce the possibility that we lose state when new instances join/leave.
@@ -631,10 +641,8 @@ func (am *MultitenantAlertmanager) run(ctx context.Context) error {
631 defer tick.Stop()641 defer tick.Stop()
632642
633 var ringTickerChan <-chan time.Time643 var ringTickerChan <-chan time.Time
634 var ringLastState ring.ReplicationSet
635644
636 if am.cfg.ShardingEnabled {645 if am.cfg.ShardingEnabled {
637 ringLastState, _ = am.ring.GetAllHealthy(RingOp)
638 ringTicker := time.NewTicker(util.DurationWithJitter(am.cfg.ShardingRing.RingCheckPeriod, 0.2))646 ringTicker := time.NewTicker(util.DurationWithJitter(am.cfg.ShardingRing.RingCheckPeriod, 0.2))
639 defer ringTicker.Stop()647 defer ringTicker.Stop()
640 ringTickerChan = ringTicker.C648 ringTickerChan = ringTicker.C
@@ -656,8 +664,8 @@ func (am *MultitenantAlertmanager) run(ctx context.Context) error {
656 // replication set which we use to compare with the previous state.664 // replication set which we use to compare with the previous state.
657 currRingState, _ := am.ring.GetAllHealthy(RingOp)665 currRingState, _ := am.ring.GetAllHealthy(RingOp)
658666
659 if ring.HasReplicationSetChanged(ringLastState, currRingState) {667 if ring.HasReplicationSetChanged(am.ringLastState, currRingState) {
660 ringLastState = currRingState668 am.ringLastState = currRingState
661 if err := am.loadAndSyncConfigs(ctx, reasonRingChange); err != nil {669 if err := am.loadAndSyncConfigs(ctx, reasonRingChange); err != nil {
662 level.Warn(am.logger).Log("msg", "error while synchronizing alertmanager configs", "err", err)670 level.Warn(am.logger).Log("msg", "error while synchronizing alertmanager configs", "err", err)
663 }671 }
diff --git a/pkg/alertmanager/multitenant_test.go b/pkg/alertmanager/multitenant_test.go
index dc60301..ba1ddc7 100644
--- a/pkg/alertmanager/multitenant_test.go
+++ b/pkg/alertmanager/multitenant_test.go
@@ -19,7 +19,10 @@ import (
19 "testing"19 "testing"
20 "time"20 "time"
2121
22 "github.com/go-kit/kit/log"22 "github.com/go-kit/log"
23 "github.com/grafana/dskit/flagext"
24 "github.com/grafana/dskit/kv/consul"
25 "github.com/grafana/dskit/services"
23 "github.com/prometheus/alertmanager/cluster/clusterpb"26 "github.com/prometheus/alertmanager/cluster/clusterpb"
24 "github.com/prometheus/alertmanager/notify"27 "github.com/prometheus/alertmanager/notify"
25 "github.com/prometheus/alertmanager/pkg/labels"28 "github.com/prometheus/alertmanager/pkg/labels"
@@ -41,12 +44,9 @@ import (
41 "github.com/cortexproject/cortex/pkg/alertmanager/alertstore"44 "github.com/cortexproject/cortex/pkg/alertmanager/alertstore"
42 "github.com/cortexproject/cortex/pkg/alertmanager/alertstore/bucketclient"45 "github.com/cortexproject/cortex/pkg/alertmanager/alertstore/bucketclient"
43 "github.com/cortexproject/cortex/pkg/ring"46 "github.com/cortexproject/cortex/pkg/ring"
44 "github.com/cortexproject/cortex/pkg/ring/kv/consul"
45 "github.com/cortexproject/cortex/pkg/storage/bucket"47 "github.com/cortexproject/cortex/pkg/storage/bucket"
46 "github.com/cortexproject/cortex/pkg/util"48 "github.com/cortexproject/cortex/pkg/util"
47 "github.com/cortexproject/cortex/pkg/util/concurrency"49 "github.com/cortexproject/cortex/pkg/util/concurrency"
48 "github.com/cortexproject/cortex/pkg/util/flagext"
49 "github.com/cortexproject/cortex/pkg/util/services"
50 "github.com/cortexproject/cortex/pkg/util/test"50 "github.com/cortexproject/cortex/pkg/util/test"
51 "github.com/cortexproject/cortex/pkg/util/validation"51 "github.com/cortexproject/cortex/pkg/util/validation"
52)52)
@@ -611,7 +611,9 @@ func TestMultitenantAlertmanager_deleteUnusedLocalUserState(t *testing.T) {
611func TestMultitenantAlertmanager_zoneAwareSharding(t *testing.T) {611func TestMultitenantAlertmanager_zoneAwareSharding(t *testing.T) {
612 ctx := context.Background()612 ctx := context.Background()
613 alertStore := prepareInMemoryAlertStore()613 alertStore := prepareInMemoryAlertStore()
614 ringStore := consul.NewInMemoryClient(ring.GetCodec())614 ringStore, closer := consul.NewInMemoryClient(ring.GetCodec(), log.NewNopLogger(), nil)
615 t.Cleanup(func() { assert.NoError(t, closer.Close()) })
616
615 const (617 const (
616 user1 = "user1"618 user1 = "user1"
617 user2 = "user2"619 user2 = "user2"
@@ -689,7 +691,8 @@ func TestMultitenantAlertmanager_deleteUnusedRemoteUserState(t *testing.T) {
689 )691 )
690692
691 alertStore := prepareInMemoryAlertStore()693 alertStore := prepareInMemoryAlertStore()
692 ringStore := consul.NewInMemoryClient(ring.GetCodec())694 ringStore, closer := consul.NewInMemoryClient(ring.GetCodec(), log.NewNopLogger(), nil)
695 t.Cleanup(func() { assert.NoError(t, closer.Close()) })
693696
694 createInstance := func(i int) *MultitenantAlertmanager {697 createInstance := func(i int) *MultitenantAlertmanager {
695 reg := prometheus.NewPedanticRegistry()698 reg := prometheus.NewPedanticRegistry()
@@ -1005,7 +1008,8 @@ func TestMultitenantAlertmanager_InitialSyncWithSharding(t *testing.T) {
1005 ctx := context.Background()1008 ctx := context.Background()
1006 amConfig := mockAlertmanagerConfig(t)1009 amConfig := mockAlertmanagerConfig(t)
1007 amConfig.ShardingEnabled = true1010 amConfig.ShardingEnabled = true
1008 ringStore := consul.NewInMemoryClient(ring.GetCodec())1011 ringStore, closer := consul.NewInMemoryClient(ring.GetCodec(), log.NewNopLogger(), nil)
1012 t.Cleanup(func() { assert.NoError(t, closer.Close()) })
10091013
1010 // Use an alert store with a mocked backend.1014 // Use an alert store with a mocked backend.
1011 bkt := &bucket.ClientMock{}1015 bkt := &bucket.ClientMock{}
@@ -1109,7 +1113,9 @@ func TestMultitenantAlertmanager_PerTenantSharding(t *testing.T) {
1109 for _, tt := range tc {1113 for _, tt := range tc {
1110 t.Run(tt.name, func(t *testing.T) {1114 t.Run(tt.name, func(t *testing.T) {
1111 ctx := context.Background()1115 ctx := context.Background()
1112 ringStore := consul.NewInMemoryClient(ring.GetCodec())1116 ringStore, closer := consul.NewInMemoryClient(ring.GetCodec(), log.NewNopLogger(), nil)
1117 t.Cleanup(func() { assert.NoError(t, closer.Close()) })
1118
1113 alertStore := prepareInMemoryAlertStore()1119 alertStore := prepareInMemoryAlertStore()
11141120
1115 var instances []*MultitenantAlertmanager1121 var instances []*MultitenantAlertmanager
@@ -1296,7 +1302,9 @@ func TestMultitenantAlertmanager_SyncOnRingTopologyChanges(t *testing.T) {
1296 amConfig.ShardingRing.RingCheckPeriod = 100 * time.Millisecond1302 amConfig.ShardingRing.RingCheckPeriod = 100 * time.Millisecond
1297 amConfig.PollInterval = time.Hour // Don't trigger the periodic check.1303 amConfig.PollInterval = time.Hour // Don't trigger the periodic check.
12981304
1299 ringStore := consul.NewInMemoryClient(ring.GetCodec())1305 ringStore, closer := consul.NewInMemoryClient(ring.GetCodec(), log.NewNopLogger(), nil)
1306 t.Cleanup(func() { assert.NoError(t, closer.Close()) })
1307
1300 alertStore := prepareInMemoryAlertStore()1308 alertStore := prepareInMemoryAlertStore()
13011309
1302 reg := prometheus.NewPedanticRegistry()1310 reg := prometheus.NewPedanticRegistry()
@@ -1325,18 +1333,15 @@ func TestMultitenantAlertmanager_SyncOnRingTopologyChanges(t *testing.T) {
1325 return ringDesc, true, nil1333 return ringDesc, true, nil
1326 }))1334 }))
13271335
1328 // Assert if we expected a sync or not.1336 // Assert if we expected an additional sync or not.
1337 expectedSyncs := 1
1329 if tt.expected {1338 if tt.expected {
1330 test.Poll(t, time.Second, float64(2), func() interface{} {
1331 metrics := regs.BuildMetricFamiliesPerUser()
1332 return metrics.GetSumOfCounters("cortex_alertmanager_sync_configs_total")
1333 })
1334 } else {
1335 time.Sleep(250 * time.Millisecond)
1336
1337 metrics := regs.BuildMetricFamiliesPerUser()
The diff has been truncated for viewing.

Subscribers

People subscribed via source and target branches